{"version":3,"sources":["../node_modules/react/index.js","../node_modules/@babel/runtime/helpers/esm/extends.js","../node_modules/prop-types/index.js","../node_modules/lodash-es/_createFind.js","../node_modules/lodash-es/findIndex.js","../node_modules/lodash-es/find.js","../node_modules/semantic-ui-react/dist/es/lib/childrenUtils.js","../node_modules/semantic-ui-react/dist/es/lib/SUI.js","../node_modules/clsx/dist/clsx.m.js","../node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/esm/classCallCheck.js","../node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/esm/createClass.js","../node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/esm/getPrototypeOf.js","../node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/esm/isNativeReflectConstruct.js","../node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/esm/typeof.js","../node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/esm/possibleConstructorReturn.js","../node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/esm/createSuper.js","../node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/esm/setPrototypeOf.js","../node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/esm/inherits.js","../node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/esm/assertThisInitialized.js","../node_modules/swiper/esm/utils/utils.js","../node_modules/lodash-es/_apply.js","../node_modules/lodash-es/last.js","../node_modules/lodash-es/_parent.js","../node_modules/lodash-es/_baseInvoke.js","../node_modules/lodash-es/_overRest.js","../node_modules/lodash-es/constant.js","../node_modules/lodash-es/_baseSetToString.js","../node_modules/lodash-es/_shortOut.js","../node_modules/lodash-es/_setToString.js","../node_modules/lodash-es/_baseRest.js","../node_modules/lodash-es/invoke.js","../node_modules/@babel/runtime/helpers/esm/inheritsLoose.js","../node_modules/@babel/runtime/helpers/esm/assertThisInitialized.js","../node_modules/ssr-window/ssr-window.esm.js","../../modules/BrowserRouter.js","../../modules/HashRouter.js","../../modules/utils/locationUtils.js","../../modules/Link.js","../../modules/NavLink.js","../node_modules/dom7/dom7.esm.js","../node_modules/swiper/esm/utils/dom.js","../node_modules/semantic-ui-react/dist/es/lib/classNameBuilders.js","../../src/constants.js","../../src/utils.js","../../src/server.js","../../src/Provider.js","../../src/client.js","../../src/Dispatcher.js","../../src/index.js","../node_modules/devise-token-client/index.js","../node_modules/lodash-es/isNil.js","../node_modules/lodash-es/isArray.js","../node_modules/uuid/index.js","../node_modules/@babel/runtime/regenerator/index.js","../node_modules/swiper/esm/react/utils.js","../node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/esm/arrayLikeToArray.js","../node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/esm/slicedToArray.js","../node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/esm/arrayWithHoles.js","../node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/esm/iterableToArrayLimit.js","../node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/esm/unsupportedIterableToArray.js","../node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/esm/nonIterableRest.js","../node_modules/deepmerge/dist/es.js","../node_modules/lodash-es/clone.js","../node_modules/lodash-es/toPath.js","../node_modules/lodash-es/cloneDeep.js","../../src/utils.ts","../../src/FormikContext.tsx","../../src/Formik.tsx","../../src/Field.tsx","../../src/Form.tsx","../../src/connect.tsx","../../src/FieldArray.tsx","../../src/ErrorMessage.tsx","../../src/FastField.tsx","../node_modules/lodash-es/isObjectLike.js","../node_modules/lodash-es/_baseMap.js","../node_modules/lodash-es/map.js","../node_modules/lodash-es/_baseHas.js","../node_modules/lodash-es/has.js","../node_modules/lodash-es/cloneDeepWith.js","../node_modules/lodash-es/_iteratorToArray.js","../node_modules/lodash-es/toArray.js","../node_modules/yup/es/util/printValue.js","../node_modules/yup/es/locale.js","../node_modules/yup/es/util/isSchema.js","../node_modules/yup/es/Condition.js","../node_modules/yup/es/ValidationError.js","../node_modules/yup/es/util/runValidations.js","../node_modules/yup/es/util/prependDeep.js","../node_modules/yup/es/Reference.js","../node_modules/yup/es/util/createValidation.js","../node_modules/yup/es/util/reach.js","../node_modules/yup/es/mixed.js","../node_modules/yup/es/util/inherits.js","../node_modules/yup/es/boolean.js","../node_modules/yup/es/util/isAbsent.js","../node_modules/yup/es/string.js","../node_modules/yup/es/number.js","../node_modules/yup/es/util/isodate.js","../node_modules/yup/es/date.js","../node_modules/@babel/runtime/helpers/esm/taggedTemplateLiteralLoose.js","../node_modules/lodash-es/snakeCase.js","../node_modules/lodash-es/capitalize.js","../node_modules/lodash-es/camelCase.js","../node_modules/lodash-es/mapKeys.js","../node_modules/yup/es/util/sortFields.js","../node_modules/yup/es/util/sortByKeyOrder.js","../node_modules/yup/es/util/makePath.js","../node_modules/yup/es/object.js","../node_modules/yup/es/array.js","../node_modules/yup/es/Lazy.js","../node_modules/yup/es/index.js","../node_modules/@babel/runtime/helpers/esm/createClass.js","../node_modules/lodash-es/_nativeKeys.js","../node_modules/lodash-es/_baseKeys.js","../node_modules/lodash-es/keys.js","../../modules/HistoryContext.js","../../modules/createNameContext.js","../../modules/RouterContext.js","../../modules/Router.js","../../modules/MemoryRouter.js","../../modules/Lifecycle.js","../../modules/matchPath.js","../../modules/Route.js","../../modules/StaticRouter.js","../../modules/Switch.js","../../modules/withRouter.js","../../modules/hooks.js","../node_modules/lodash-es/_root.js","../node_modules/@babel/runtime/helpers/esm/objectWithoutPropertiesLoose.js","../node_modules/lodash-es/_getRawTag.js","../node_modules/lodash-es/_objectToString.js","../node_modules/lodash-es/_baseGetTag.js","../node_modules/lodash-es/_Symbol.js","../node_modules/lodash-es/isObject.js","../node_modules/@recurly/react-recurly/lib-dist/index.js","../node_modules/lodash-es/isArrayLike.js","../node_modules/lodash-es/_equalArrays.js","../node_modules/lodash-es/_equalByTag.js","../node_modules/lodash-es/_equalObjects.js","../node_modules/lodash-es/_baseIsEqualDeep.js","../node_modules/lodash-es/_baseIsEqual.js","../node_modules/lodash-es/_baseIsMatch.js","../node_modules/lodash-es/_isStrictComparable.js","../node_modules/lodash-es/_getMatchData.js","../node_modules/lodash-es/_matchesStrictComparable.js","../node_modules/lodash-es/_baseMatches.js","../node_modules/lodash-es/_baseHasIn.js","../node_modules/lodash-es/hasIn.js","../node_modules/lodash-es/_baseMatchesProperty.js","../node_modules/lodash-es/_baseProperty.js","../node_modules/lodash-es/_basePropertyDeep.js","../node_modules/lodash-es/property.js","../node_modules/lodash-es/_baseIteratee.js","../node_modules/lodash-es/_coreJsData.js","../node_modules/lodash-es/_isMasked.js","../node_modules/lodash-es/_baseIsNative.js","../node_modules/lodash-es/_getValue.js","../node_modules/lodash-es/_getNative.js","../node_modules/resolve-pathname/esm/resolve-pathname.js","../node_modules/value-equal/esm/value-equal.js","../node_modules/history/esm/history.js","../node_modules/tiny-warning/dist/tiny-warning.esm.js","../node_modules/tiny-invariant/dist/tiny-invariant.esm.js","../utils.ts","../node_modules/lodash-es/_toKey.js","../node_modules/lodash-es/_baseToString.js","../node_modules/lodash-es/toString.js","../node_modules/lodash-es/get.js","../node_modules/lodash-es/_DataView.js","../node_modules/lodash-es/_Promise.js","../node_modules/lodash-es/_WeakMap.js","../node_modules/lodash-es/_getTag.js","../node_modules/lodash/_root.js","../node_modules/semantic-ui-react/dist/es/lib/numberToWord.js","../node_modules/lodash-es/isSymbol.js","../node_modules/query-string/index.js","../node_modules/lodash-es/_baseAssignValue.js","../pdfjs-dist/build/pdf/webpack/universalModuleDefinition","../pdfjs-dist/build/pdf/webpack/bootstrap","../pdfjs-dist/build/pdf/src/pdf.js","../pdfjs-dist/build/pdf/src/display/display_utils.js","../pdfjs-dist/build/pdf/src/shared/util.js","../pdfjs-dist/build/pdf/src/shared/compatibility.js","../pdfjs-dist/build/pdf/src/shared/is_node.js","../pdfjs-dist/build/pdf/src/display/api.js","../pdfjs-dist/build/pdf/src/display/font_loader.js","../pdfjs-dist/build/pdf/src/display/api_compatibility.js","../pdfjs-dist/build/pdf/src/display/canvas.js","../pdfjs-dist/build/pdf/src/display/pattern_helper.js","../pdfjs-dist/build/pdf/src/display/worker_options.js","../pdfjs-dist/build/pdf/src/shared/message_handler.js","../pdfjs-dist/build/pdf/src/display/metadata.js","../pdfjs-dist/build/pdf/src/display/xml_parser.js","../pdfjs-dist/build/pdf/src/display/transport_stream.js","../pdfjs-dist/build/pdf/src/display/webgl.js","../pdfjs-dist/build/pdf/src/display/annotation_layer.js","../pdfjs-dist/build/pdf/src/display/text_layer.js","../pdfjs-dist/build/pdf/src/display/svg.js","../pdfjs-dist/build/pdf/src/display/node_stream.js","../pdfjs-dist/build/pdf/src/display/network_utils.js","../pdfjs-dist/build/pdf/src/display/content_disposition.js","../pdfjs-dist/build/pdf/src/display/network.js","../pdfjs-dist/build/pdf/src/display/fetch_stream.js","../node_modules/make-cancellable-promise/dist/index.js","../node_modules/lodash-es/_createBaseEach.js","../node_modules/lodash-es/_baseEach.js","../node_modules/make-event-props/dist/entry.js","../node_modules/formik/node_modules/react-fast-compare/index.js","../node_modules/lodash-es/_baseValues.js","../node_modules/lodash-es/values.js","../node_modules/lodash-es/_nodeUtil.js","../node_modules/lodash-es/toFinite.js","../node_modules/lodash-es/_castFunction.js","../node_modules/lodash-es/forEach.js","../node_modules/semantic-ui-react/dist/es/elements/Icon/IconGroup.js","../node_modules/semantic-ui-react/dist/es/elements/Icon/Icon.js","../node_modules/lodash-es/_toSource.js","../node_modules/lodash-es/identity.js","../node_modules/lodash-es/_arrayMap.js","../node_modules/lodash-es/eq.js","../node_modules/lodash-es/_setToArray.js","../node_modules/property-expr/index.js","../node_modules/lodash-es/_listCacheClear.js","../node_modules/lodash-es/_assocIndexOf.js","../node_modules/lodash-es/_listCacheDelete.js","../node_modules/lodash-es/_listCacheGet.js","../node_modules/lodash-es/_listCacheHas.js","../node_modules/lodash-es/_listCacheSet.js","../node_modules/lodash-es/_ListCache.js","../node_modules/lodash-es/_Map.js","../../node_modules/tslib/tslib.es6.js","../../src/HashLink.jsx","../node_modules/lodash-es/_stackClear.js","../node_modules/lodash-es/_stackDelete.js","../node_modules/lodash-es/_stackGet.js","../node_modules/lodash-es/_stackHas.js","../node_modules/lodash-es/_stackSet.js","../node_modules/lodash-es/_Stack.js","../node_modules/semantic-ui-react/dist/es/lib/getUnhandledProps.js","../node_modules/semantic-ui-react/dist/es/lib/getElementType.js","../node_modules/lodash-es/_Set.js","../node_modules/@semantic-ui-react/event-stack/lib/index.js","../node_modules/webpack/buildin/global.js","../node_modules/lodash/_getNative.js","../node_modules/semantic-ui-react/dist/es/lib/htmlPropsUtils.js","../node_modules/react-dom/index.js","../node_modules/lodash-es/isFunction.js","../node_modules/lodash-es/isBuffer.js","../node_modules/lodash-es/isPlainObject.js","../node_modules/lodash-es/_nativeCreate.js","../node_modules/lodash-es/_hashClear.js","../node_modules/lodash-es/_hashDelete.js","../node_modules/lodash-es/_hashGet.js","../node_modules/lodash-es/_hashHas.js","../node_modules/lodash-es/_hashSet.js","../node_modules/lodash-es/_Hash.js","../node_modules/lodash-es/_mapCacheClear.js","../node_modules/lodash-es/_isKeyable.js","../node_modules/lodash-es/_getMapData.js","../node_modules/lodash-es/_mapCacheDelete.js","../node_modules/lodash-es/_mapCacheGet.js","../node_modules/lodash-es/_mapCacheHas.js","../node_modules/lodash-es/_mapCacheSet.js","../node_modules/lodash-es/_MapCache.js","../node_modules/swiper/esm/react/use-isomorphic-layout-effect.js","../node_modules/lodash-es/isLength.js","../node_modules/lodash-es/_baseUnary.js","../node_modules/lodash-es/_isIndex.js","../node_modules/lodash-es/_isPrototype.js","../node_modules/lodash-es/includes.js","../node_modules/lodash-es/isString.js","../node_modules/lodash-es/_isKey.js","../node_modules/lodash-es/_baseGet.js","../node_modules/lodash-es/_castPath.js","../node_modules/lodash-es/_getSymbols.js","../node_modules/lodash-es/_getPrototype.js","../node_modules/lodash-es/_copyArray.js","../node_modules/synchronous-promise/index.js","../node_modules/lodash-es/mapValues.js","../node_modules/lodash-es/_assignValue.js","../node_modules/lodash-es/_copyObject.js","../node_modules/lodash-es/_baseAssign.js","../node_modules/lodash-es/_nativeKeysIn.js","../node_modules/lodash-es/_baseKeysIn.js","../node_modules/lodash-es/keysIn.js","../node_modules/lodash-es/_baseAssignIn.js","../node_modules/lodash-es/_copySymbols.js","../node_modules/lodash-es/_getSymbolsIn.js","../node_modules/lodash-es/_copySymbolsIn.js","../node_modules/lodash-es/_getAllKeysIn.js","../node_modules/lodash-es/_initCloneArray.js","../node_modules/lodash-es/_cloneArrayBuffer.js","../node_modules/lodash-es/_cloneDataView.js","../node_modules/lodash-es/_cloneRegExp.js","../node_modules/lodash-es/_cloneSymbol.js","../node_modules/lodash-es/_cloneTypedArray.js","../node_modules/lodash-es/_initCloneByTag.js","../node_modules/lodash-es/_baseCreate.js","../node_modules/lodash-es/_initCloneObject.js","../node_modules/lodash-es/_baseIsMap.js","../node_modules/lodash-es/isMap.js","../node_modules/lodash-es/_baseIsSet.js","../node_modules/lodash-es/isSet.js","../node_modules/lodash-es/_baseClone.js","../node_modules/lodash-es/_arrayReduce.js","../node_modules/lodash-es/_basePropertyOf.js","../node_modules/lodash-es/_deburrLetter.js","../node_modules/lodash-es/deburr.js","../node_modules/lodash-es/_asciiWords.js","../node_modules/lodash-es/_hasUnicodeWord.js","../node_modules/lodash-es/_unicodeWords.js","../node_modules/lodash-es/words.js","../node_modules/lodash-es/_createCompounder.js","../node_modules/lodash-es/_createBaseFor.js","../node_modules/lodash-es/_baseFor.js","../node_modules/lodash-es/_baseForOwn.js","../node_modules/lodash-es/_Uint8Array.js","../node_modules/keyboard-key/src/keyboardKey.js","../node_modules/lodash-es/_defineProperty.js","../node_modules/semantic-ui-react/dist/es/collections/Grid/GridColumn.js","../node_modules/semantic-ui-react/dist/es/lib/eventStack/index.js","../node_modules/lodash-es/_arrayIncludes.js","../node_modules/lodash-es/_arrayIncludesWith.js","../node_modules/lodash-es/noop.js","../node_modules/lodash-es/_createSet.js","../node_modules/lodash-es/_baseUniq.js","../node_modules/lodash-es/uniq.js","../node_modules/lodash-es/_baseSome.js","../node_modules/lodash-es/some.js","../node_modules/@recurly/react-recurly/lib-dist/element/element.js","../node_modules/lodash/isObject.js","../node_modules/lodash/isObjectLike.js","../node_modules/lodash-es/_getAllKeys.js","../node_modules/semantic-ui-react/dist/es/lib/isBrowser.js","../node_modules/hoist-non-react-statics/dist/hoist-non-react-statics.cjs.js","../node_modules/semantic-ui-react/dist/es/elements/Label/LabelDetail.js","../node_modules/semantic-ui-react/dist/es/elements/Label/LabelGroup.js","../node_modules/semantic-ui-react/dist/es/elements/Label/Label.js","../node_modules/lodash-es/isNumber.js","../node_modules/lodash-es/isBoolean.js","../node_modules/semantic-ui-react/dist/es/lib/factories.js","../node_modules/lodash-es/startCase.js","../node_modules/semantic-ui-react/dist/es/collections/Menu/MenuItem.js","../node_modules/@babel/runtime/helpers/esm/objectWithoutProperties.js","../node_modules/@babel/runtime/helpers/esm/typeof.js","../node_modules/@babel/runtime/helpers/esm/asyncToGenerator.js","../node_modules/@babel/runtime/helpers/esm/classCallCheck.js","../node_modules/@babel/runtime/helpers/esm/inherits.js","../node_modules/@babel/runtime/helpers/esm/possibleConstructorReturn.js","../node_modules/@babel/runtime/helpers/esm/getPrototypeOf.js","../node_modules/@babel/runtime/helpers/esm/defineProperty.js","../node_modules/merge-class-names/dist/esm/index.js","../node_modules/react-pdf/dist/esm/DocumentContext.js","../node_modules/react-pdf/dist/esm/Message.js","../node_modules/react-pdf/dist/esm/LinkService.js","../node_modules/react-pdf/dist/esm/PasswordResponses.js","../node_modules/react-pdf/dist/esm/eventBus.js","../node_modules/@babel/runtime/helpers/esm/arrayLikeToArray.js","../node_modules/@babel/runtime/helpers/esm/unsupportedIterableToArray.js","../node_modules/@babel/runtime/helpers/esm/slicedToArray.js","../node_modules/@babel/runtime/helpers/esm/arrayWithHoles.js","../node_modules/@babel/runtime/helpers/esm/iterableToArrayLimit.js","../node_modules/@babel/runtime/helpers/esm/nonIterableRest.js","../node_modules/react-pdf/dist/esm/shared/utils.js","../node_modules/@babel/runtime/helpers/esm/toConsumableArray.js","../node_modules/@babel/runtime/helpers/esm/arrayWithoutHoles.js","../node_modules/@babel/runtime/helpers/esm/iterableToArray.js","../node_modules/@babel/runtime/helpers/esm/nonIterableSpread.js","../node_modules/react-pdf/dist/esm/shared/propTypes.js","../node_modules/react-pdf/dist/esm/Document.js","../node_modules/react-pdf/dist/esm/OutlineContext.js","../node_modules/react-pdf/dist/esm/Ref.js","../node_modules/react-pdf/dist/esm/OutlineItem.js","../node_modules/react-pdf/dist/esm/Outline.js","../node_modules/merge-refs/dist/esm/index.js","../node_modules/react-pdf/dist/esm/PageContext.js","../node_modules/react-pdf/dist/esm/Page/PageCanvas.js","../node_modules/react-pdf/dist/esm/Page/PageSVG.js","../node_modules/react-pdf/dist/esm/Page/TextLayerItem.js","../node_modules/react-pdf/dist/esm/Page/TextLayer.js","../node_modules/react-pdf/dist/esm/Page/AnnotationLayer.js","../node_modules/react-pdf/dist/esm/Page.js","../node_modules/react-pdf/dist/esm/entry.js","../node_modules/@recurly/react-recurly/lib-dist/provider.js","../node_modules/lodash/_ListCache.js","../node_modules/lodash/_assocIndexOf.js","../node_modules/lodash/_baseGetTag.js","../node_modules/lodash/_nativeCreate.js","../node_modules/lodash/_getMapData.js","../node_modules/lodash/_copyObject.js","../node_modules/react-is/index.js","../useEventListener.ts","../../src/google-recaptcha-provider.tsx","../../src/use-google-recaptcha.tsx","../../src/google-recaptcha.tsx","../../node_modules/react-is/cjs/react-is.production.min.js","../../node_modules/react-is/cjs/react-is.development.js","../../node_modules/react-is/index.js","../../node_modules/hoist-non-react-statics/dist/hoist-non-react-statics.cjs.js","../node_modules/lodash-es/_arrayEach.js","../node_modules/lodash-es/_freeGlobal.js","../node_modules/lodash-es/_overArg.js","../node_modules/lodash-es/toInteger.js","../node_modules/lodash-es/_baseFindIndex.js","../node_modules/lodash-es/_arraySome.js","../node_modules/lodash-es/_isIterateeCall.js","../node_modules/lodash-es/_hasPath.js","../node_modules/lodash-es/_cacheHas.js","../node_modules/lodash-es/_mapToArray.js","../node_modules/lodash-es/_baseGetAllKeys.js","../node_modules/lodash-es/_arrayPush.js","../node_modules/lodash-es/stubArray.js","../node_modules/lodash-es/_arrayFilter.js","../node_modules/@babel/runtime/helpers/esm/setPrototypeOf.js","../node_modules/lodash-es/_baseSlice.js","../node_modules/lodash-es/isUndefined.js","../node_modules/lodash-es/_hasUnicode.js","../node_modules/lodash-es/_baseIsNaN.js","../node_modules/lodash-es/_strictIndexOf.js","../node_modules/lodash-es/_baseIndexOf.js","../node_modules/lodash-es/memoize.js","../node_modules/lodash-es/_memoizeCapped.js","../node_modules/lodash-es/_stringToPath.js","../node_modules/lodash-es/_castSlice.js","../node_modules/lodash-es/_createCaseFirst.js","../node_modules/lodash-es/upperFirst.js","../node_modules/lodash-es/_trimmedEndIndex.js","../node_modules/lodash-es/_baseTrim.js","../node_modules/lodash-es/toNumber.js","../node_modules/lodash-es/_setCacheAdd.js","../node_modules/lodash-es/_setCacheHas.js","../node_modules/lodash-es/_SetCache.js","../node_modules/lodash-es/_asciiToArray.js","../node_modules/lodash-es/_unicodeToArray.js","../node_modules/lodash-es/_stringToArray.js","../node_modules/lodash-es/_baseTimes.js","../node_modules/lodash-es/_arrayLikeKeys.js","../node_modules/lodash-es/_baseIsArguments.js","../node_modules/lodash-es/isArguments.js","../node_modules/lodash-es/_baseIsTypedArray.js","../node_modules/lodash-es/isTypedArray.js","../node_modules/process/browser.js","../node_modules/webpack/buildin/harmony-module.js","../node_modules/@recurly/react-recurly/lib-dist/elements.js","../node_modules/lodash/_Map.js","../node_modules/lodash/_Symbol.js","../node_modules/lodash/keys.js","../node_modules/lodash/isArray.js","../node_modules/webpack/buildin/module.js","../node_modules/lodash/_baseUnary.js","../node_modules/lodash/_nodeUtil.js","../node_modules/lodash/_isPrototype.js","../node_modules/lodash/keysIn.js","../node_modules/lodash/_getSymbols.js","../node_modules/lodash/_getTag.js","../node_modules/lodash/_cloneArrayBuffer.js","../node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/slicedToArray.js","../node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/unsupportedIterableToArray.js","../node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/getPrototypeOf.js","../node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/classCallCheck.js","../node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/createClass.js","../node_modules/pdfjs-dist/lib/web/ui_utils.js","../node_modules/lodash-es/_baseFilter.js","../node_modules/lodash-es/filter.js","../node_modules/invariant/browser.js","../node_modules/mini-create-react-context/dist/esm/index.js","../node_modules/path-to-regexp/index.js","../node_modules/react-ga/dist/esm/utils/console/warn.js","../node_modules/react-ga/dist/esm/components/OutboundLink.js","../node_modules/react-ga/dist/esm/utils/redactEmail.js","../node_modules/react-ga/dist/esm/utils/mightBeEmail.js","../node_modules/react-ga/dist/esm/utils/trim.js","../node_modules/react-ga/dist/esm/utils/toTitleCase.js","../node_modules/react-ga/dist/esm/utils/loadGA.js","../node_modules/react-ga/dist/esm/utils/console/log.js","../node_modules/react-ga/dist/esm/utils/testModeAPI.js","../node_modules/react-ga/dist/esm/core.js","../node_modules/react-ga/dist/esm/utils/format.js","../node_modules/react-ga/dist/esm/utils/removeLeadingSlash.js","../node_modules/react-ga/dist/esm/index.js","../node_modules/semantic-ui-react/dist/es/elements/Segment/SegmentGroup.js","../node_modules/semantic-ui-react/dist/es/elements/Segment/SegmentInline.js","../node_modules/semantic-ui-react/dist/es/elements/Segment/Segment.js","../node_modules/timers-browserify/main.js","../node_modules/uuid/lib/rng-browser.js","../node_modules/uuid/lib/bytesToUuid.js","../node_modules/semantic-ui-react/dist/es/lib/ModernAutoControlledComponent.js","../node_modules/@recurly/react-recurly/lib-dist/use-recurly.js","../node_modules/lodash/eq.js","../node_modules/lodash/isFunction.js","../node_modules/lodash/_freeGlobal.js","../node_modules/lodash/_toSource.js","../node_modules/lodash/_assignValue.js","../node_modules/lodash/_baseAssignValue.js","../node_modules/lodash/_arrayLikeKeys.js","../node_modules/lodash/isBuffer.js","../node_modules/lodash/isLength.js","../node_modules/lodash/_overArg.js","../node_modules/lodash/isArrayLike.js","../node_modules/lodash/stubArray.js","../node_modules/lodash/_getSymbolsIn.js","../node_modules/lodash/_arrayPush.js","../node_modules/lodash/_getPrototype.js","../node_modules/lodash/_baseGetAllKeys.js","../node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/arrayLikeToArray.js","../node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/createForOfIteratorHelper.js","../node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/toConsumableArray.js","../node_modules/semantic-ui-react/dist/es/lib/normalizeTransitionDuration.js","../node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/assertThisInitialized.js","../node_modules/babel-preset-react-app/node_modules/@babel/runtime/regenerator/index.js","../node_modules/regenerator-runtime/runtime.js","../node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/asyncToGenerator.js","../EventListener.ts","../node_modules/lodash-es/_baseInRange.js","../node_modules/lodash-es/inRange.js","../node_modules/lodash-es/head.js","../node_modules/semantic-ui-react/dist/es/lib/doesNodeContainClick.js","../node_modules/lodash-es/stubFalse.js","../node_modules/react-fast-compare/index.js","../node_modules/shallowequal/index.js","../node_modules/lodash-es/_cloneBuffer.js","../node_modules/toposort/index.js","../../src/tags.js","../../src/attrs.js","../../src/regexp.js","../../src/purify.js","../node_modules/@babel/runtime/helpers/typeof.js","../node_modules/pdfjs-dist/lib/web/pdf_link_service.js","../node_modules/@u-wave/react-vimeo/dist/react-vimeo.es.js","../node_modules/@vimeo/player/dist/player.es.js","../index.ts","../node_modules/semantic-ui-react/dist/es/addons/Portal/PortalInner.js","../node_modules/semantic-ui-react/dist/es/addons/Portal/Portal.js","../node_modules/semantic-ui-react/dist/es/modules/Dimmer/DimmerDimmable.js","../node_modules/semantic-ui-react/dist/es/modules/Dimmer/DimmerInner.js","../node_modules/semantic-ui-react/dist/es/modules/Dimmer/Dimmer.js","../node_modules/semantic-ui-react/dist/es/elements/Image/ImageGroup.js","../node_modules/semantic-ui-react/dist/es/elements/Image/Image.js","../node_modules/semantic-ui-react/dist/es/collections/Menu/MenuHeader.js","../node_modules/semantic-ui-react/dist/es/collections/Menu/MenuMenu.js","../node_modules/semantic-ui-react/dist/es/collections/Menu/Menu.js","../node_modules/semantic-ui-react/dist/es/collections/Grid/GridRow.js","../node_modules/semantic-ui-react/dist/es/collections/Grid/Grid.js","../node_modules/react/cjs/react.production.min.js","../node_modules/react-dom/cjs/react-dom.production.min.js","../node_modules/scheduler/index.js","../node_modules/scheduler/cjs/scheduler.production.min.js","../node_modules/setimmediate/setImmediate.js","../node_modules/prop-types/factoryWithThrowingShims.js","../node_modules/prop-types/lib/ReactPropTypesSecret.js","../node_modules/uuid/v1.js","../node_modules/uuid/v4.js","../node_modules/@semantic-ui-react/event-stack/lib/cjs/event-stack.production.js","../node_modules/exenv/index.js","../node_modules/react-is/cjs/react-is.production.min.js","../node_modules/path-to-regexp/node_modules/isarray/index.js","../node_modules/@recurly/react-recurly/lib-dist/element/card.js","../node_modules/memoize-one/dist/memoize-one.esm.js","../node_modules/@recurly/react-recurly/lib-dist/element/card-number.js","../node_modules/@recurly/react-recurly/lib-dist/element/card-month.js","../node_modules/@recurly/react-recurly/lib-dist/element/card-year.js","../node_modules/@recurly/react-recurly/lib-dist/element/card-cvv.js","../node_modules/@recurly/react-recurly/lib-dist/risk-data-collector.js","../node_modules/@recurly/react-recurly/lib-dist/three-d-secure-action.js","../node_modules/@recurly/react-recurly/lib-dist/use-checkout-pricing.js","../node_modules/lodash/cloneDeep.js","../node_modules/lodash/_baseClone.js","../node_modules/lodash/_Stack.js","../node_modules/lodash/_listCacheClear.js","../node_modules/lodash/_listCacheDelete.js","../node_modules/lodash/_listCacheGet.js","../node_modules/lodash/_listCacheHas.js","../node_modules/lodash/_listCacheSet.js","../node_modules/lodash/_stackClear.js","../node_modules/lodash/_stackDelete.js","../node_modules/lodash/_stackGet.js","../node_modules/lodash/_stackHas.js","../node_modules/lodash/_stackSet.js","../node_modules/lodash/_baseIsNative.js","../node_modules/lodash/_getRawTag.js","../node_modules/lodash/_objectToString.js","../node_modules/lodash/_isMasked.js","../node_modules/lodash/_coreJsData.js","../node_modules/lodash/_getValue.js","../node_modules/lodash/_MapCache.js","../node_modules/lodash/_mapCacheClear.js","../node_modules/lodash/_Hash.js","../node_modules/lodash/_hashClear.js","../node_modules/lodash/_hashDelete.js","../node_modules/lodash/_hashGet.js","../node_modules/lodash/_hashHas.js","../node_modules/lodash/_hashSet.js","../node_modules/lodash/_mapCacheDelete.js","../node_modules/lodash/_isKeyable.js","../node_modules/lodash/_mapCacheGet.js","../node_modules/lodash/_mapCacheHas.js","../node_modules/lodash/_mapCacheSet.js","../node_modules/lodash/_arrayEach.js","../node_modules/lodash/_defineProperty.js","../node_modules/lodash/_baseAssign.js","../node_modules/lodash/_baseTimes.js","../node_modules/lodash/isArguments.js","../node_modules/lodash/_baseIsArguments.js","../node_modules/lodash/stubFalse.js","../node_modules/lodash/_isIndex.js","../node_modules/lodash/isTypedArray.js","../node_modules/lodash/_baseIsTypedArray.js","../node_modules/lodash/_baseKeys.js","../node_modules/lodash/_nativeKeys.js","../node_modules/lodash/_baseAssignIn.js","../node_modules/lodash/_baseKeysIn.js","../node_modules/lodash/_nativeKeysIn.js","../node_modules/lodash/_cloneBuffer.js","../node_modules/lodash/_copyArray.js","../node_modules/lodash/_copySymbols.js","../node_modules/lodash/_arrayFilter.js","../node_modules/lodash/_copySymbolsIn.js","../node_modules/lodash/_getAllKeys.js","../node_modules/lodash/_getAllKeysIn.js","../node_modules/lodash/_DataView.js","../node_modules/lodash/_Promise.js","../node_modules/lodash/_Set.js","../node_modules/lodash/_WeakMap.js","../node_modules/lodash/_initCloneArray.js","../node_modules/lodash/_initCloneByTag.js","../node_modules/lodash/_Uint8Array.js","../node_modules/lodash/_cloneDataView.js","../node_modules/lodash/_cloneRegExp.js","../node_modules/lodash/_cloneSymbol.js","../node_modules/lodash/_cloneTypedArray.js","../node_modules/lodash/_initCloneObject.js","../node_modules/lodash/_baseCreate.js","../node_modules/lodash/isMap.js","../node_modules/lodash/_baseIsMap.js","../node_modules/lodash/isSet.js","../node_modules/lodash/_baseIsSet.js","../node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/arrayWithHoles.js","../node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/iterableToArrayLimit.js","../node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/nonIterableRest.js","../node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/arrayWithoutHoles.js","../node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/iterableToArray.js","../node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/nonIterableSpread.js","../node_modules/strict-uri-encode/index.js","../node_modules/decode-uri-component/index.js","../node_modules/split-on-first/index.js","../node_modules/filter-obj/index.js","../node_modules/buffer/index.js","../node_modules/base64-js/index.js","../node_modules/ieee754/index.js","../node_modules/isarray/index.js","../node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/get.js","../node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/superPropBase.js","../node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/inherits.js","../node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/setPrototypeOf.js","../node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/createSuper.js","../node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/isNativeReflectConstruct.js","../node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/possibleConstructorReturn.js","../node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/typeof.js","../node_modules/semantic-ui-react/dist/es/elements/Button/ButtonContent.js","../node_modules/semantic-ui-react/dist/es/elements/Button/ButtonGroup.js","../node_modules/semantic-ui-react/dist/es/elements/Button/ButtonOr.js","../node_modules/semantic-ui-react/dist/es/elements/Button/Button.js","../node_modules/swiper/esm/components/navigation/navigation.js","../node_modules/swiper/esm/components/pagination/pagination.js","../node_modules/swiper/esm/components/scrollbar/scrollbar.js","../node_modules/swiper/esm/components/a11y/a11y.js","../node_modules/swiper/esm/react/swiper-slide.js","../node_modules/semantic-ui-react/dist/es/elements/Container/Container.js","../node_modules/semantic-ui-react/dist/es/elements/Input/Input.js","../node_modules/semantic-ui-react/dist/es/modules/Sticky/Sticky.js","../node_modules/semantic-ui-react/dist/es/elements/Loader/Loader.js","../node_modules/semantic-ui-react/dist/es/elements/Divider/Divider.js","../node_modules/swiper/esm/utils/get-support.js","../node_modules/swiper/esm/utils/get-device.js","../node_modules/swiper/esm/utils/get-browser.js","../node_modules/swiper/esm/modules/resize/resize.js","../node_modules/swiper/esm/modules/observer/observer.js","../node_modules/swiper/esm/components/core/events/onTouchStart.js","../node_modules/swiper/esm/components/core/events/onTouchMove.js","../node_modules/swiper/esm/components/core/events/onTouchEnd.js","../node_modules/swiper/esm/components/core/events/onResize.js","../node_modules/swiper/esm/components/core/events/onClick.js","../node_modules/swiper/esm/components/core/events/onScroll.js","../node_modules/swiper/esm/components/core/events/index.js","../node_modules/swiper/esm/components/core/check-overflow/index.js","../node_modules/swiper/esm/components/core/defaults.js","../node_modules/swiper/esm/components/core/core-class.js","../node_modules/swiper/esm/components/core/modular.js","../node_modules/swiper/esm/components/core/events-emitter.js","../node_modules/swiper/esm/components/core/update/index.js","../node_modules/swiper/esm/components/core/update/updateSize.js","../node_modules/swiper/esm/components/core/update/updateSlides.js","../node_modules/swiper/esm/components/core/update/updateAutoHeight.js","../node_modules/swiper/esm/components/core/update/updateSlidesOffset.js","../node_modules/swiper/esm/components/core/update/updateSlidesProgress.js","../node_modules/swiper/esm/components/core/update/updateProgress.js","../node_modules/swiper/esm/components/core/update/updateSlidesClasses.js","../node_modules/swiper/esm/components/core/update/updateActiveIndex.js","../node_modules/swiper/esm/components/core/update/updateClickedSlide.js","../node_modules/swiper/esm/components/core/translate/index.js","../node_modules/swiper/esm/components/core/translate/getTranslate.js","../node_modules/swiper/esm/components/core/translate/setTranslate.js","../node_modules/swiper/esm/components/core/translate/minTranslate.js","../node_modules/swiper/esm/components/core/translate/maxTranslate.js","../node_modules/swiper/esm/components/core/translate/translateTo.js","../node_modules/swiper/esm/components/core/transition/index.js","../node_modules/swiper/esm/components/core/transition/setTransition.js","../node_modules/swiper/esm/components/core/transition/transitionStart.js","../node_modules/swiper/esm/components/core/transition/transitionEnd.js","../node_modules/swiper/esm/components/core/slide/index.js","../node_modules/swiper/esm/components/core/slide/slideTo.js","../node_modules/swiper/esm/components/core/slide/slideToLoop.js","../node_modules/swiper/esm/components/core/slide/slideNext.js","../node_modules/swiper/esm/components/core/slide/slidePrev.js","../node_modules/swiper/esm/components/core/slide/slideReset.js","../node_modules/swiper/esm/components/core/slide/slideToClosest.js","../node_modules/swiper/esm/components/core/slide/slideToClickedSlide.js","../node_modules/swiper/esm/components/core/loop/index.js","../node_modules/swiper/esm/components/core/loop/loopCreate.js","../node_modules/swiper/esm/components/core/loop/loopFix.js","../node_modules/swiper/esm/components/core/loop/loopDestroy.js","../node_modules/swiper/esm/components/core/grab-cursor/index.js","../node_modules/swiper/esm/components/core/grab-cursor/setGrabCursor.js","../node_modules/swiper/esm/components/core/grab-cursor/unsetGrabCursor.js","../node_modules/swiper/esm/components/core/manipulation/index.js","../node_modules/swiper/esm/components/core/manipulation/appendSlide.js","../node_modules/swiper/esm/components/core/manipulation/prependSlide.js","../node_modules/swiper/esm/components/core/manipulation/addSlide.js","../node_modules/swiper/esm/components/core/manipulation/removeSlide.js","../node_modules/swiper/esm/components/core/manipulation/removeAllSlides.js","../node_modules/swiper/esm/components/core/breakpoints/index.js","../node_modules/swiper/esm/components/core/breakpoints/setBreakpoint.js","../node_modules/swiper/esm/components/core/breakpoints/getBreakpoint.js","../node_modules/swiper/esm/components/core/classes/index.js","../node_modules/swiper/esm/components/core/classes/addClasses.js","../node_modules/swiper/esm/components/core/classes/removeClasses.js","../node_modules/swiper/esm/components/core/images/index.js","../node_modules/swiper/esm/components/core/images/loadImage.js","../node_modules/swiper/esm/components/core/images/preloadImages.js","../node_modules/swiper/esm/react/params-list.js","../node_modules/swiper/esm/react/loop.js","../node_modules/swiper/esm/react/get-children.js","../node_modules/swiper/esm/react/update-swiper.js","../node_modules/swiper/esm/react/swiper.js","../node_modules/swiper/esm/react/get-params.js","../node_modules/swiper/esm/react/init-swiper.js","../node_modules/swiper/esm/react/get-changed-params.js","../node_modules/swiper/esm/react/virtual.js","../node_modules/lodash-es/_arrayAggregator.js","../node_modules/lodash-es/_baseAggregator.js","../node_modules/lodash-es/_createAggregator.js","../node_modules/lodash-es/keyBy.js","../node_modules/semantic-ui-react/dist/es/modules/Transition/utils/childMapping.js","../node_modules/semantic-ui-react/dist/es/modules/Transition/utils/wrapChild.js","../node_modules/semantic-ui-react/dist/es/modules/Transition/TransitionGroup.js","../node_modules/semantic-ui-react/dist/es/modules/Transition/utils/computeStatuses.js","../node_modules/semantic-ui-react/dist/es/modules/Transition/Transition.js","../node_modules/semantic-ui-react/dist/es/views/Item/ItemHeader.js","../node_modules/semantic-ui-react/dist/es/views/Item/ItemDescription.js","../node_modules/semantic-ui-react/dist/es/views/Item/ItemExtra.js","../node_modules/semantic-ui-react/dist/es/views/Item/ItemMeta.js","../node_modules/semantic-ui-react/dist/es/views/Item/ItemContent.js","../node_modules/semantic-ui-react/dist/es/views/Item/ItemGroup.js","../node_modules/semantic-ui-react/dist/es/views/Item/ItemImage.js","../node_modules/semantic-ui-react/dist/es/views/Item/Item.js","../node_modules/semantic-ui-react/dist/es/lib/createPaginationItems/itemFactories.js","../node_modules/lodash-es/_baseRange.js","../node_modules/lodash-es/_createRange.js","../node_modules/lodash-es/range.js","../node_modules/semantic-ui-react/dist/es/lib/createPaginationItems/suffixFactories.js","../node_modules/semantic-ui-react/dist/es/lib/createPaginationItems/rangeFactories.js","../node_modules/semantic-ui-react/dist/es/lib/createPaginationItems/createPaginationItems.js","../node_modules/semantic-ui-react/dist/es/lib/createPaginationItems/paginationUtils.js","../node_modules/semantic-ui-react/dist/es/elements/List/ListDescription.js","../node_modules/semantic-ui-react/dist/es/elements/List/ListHeader.js","../node_modules/semantic-ui-react/dist/es/elements/List/ListContent.js","../node_modules/semantic-ui-react/dist/es/elements/List/ListIcon.js","../node_modules/semantic-ui-react/dist/es/elements/List/ListItem.js","../node_modules/semantic-ui-react/dist/es/elements/List/ListList.js","../node_modules/semantic-ui-react/dist/es/elements/List/List.js","../node_modules/semantic-ui-react/dist/es/views/Card/CardDescription.js","../node_modules/semantic-ui-react/dist/es/views/Card/CardHeader.js","../node_modules/semantic-ui-react/dist/es/views/Card/CardMeta.js","../node_modules/semantic-ui-react/dist/es/views/Card/CardContent.js","../node_modules/semantic-ui-react/dist/es/views/Card/CardGroup.js","../node_modules/semantic-ui-react/dist/es/views/Card/Card.js","../node_modules/semantic-ui-react/dist/es/elements/Step/StepDescription.js","../node_modules/semantic-ui-react/dist/es/elements/Step/StepTitle.js","../node_modules/semantic-ui-react/dist/es/elements/Step/StepContent.js","../node_modules/semantic-ui-react/dist/es/elements/Step/StepGroup.js","../node_modules/semantic-ui-react/dist/es/elements/Step/Step.js","../node_modules/semantic-ui-react/dist/es/collections/Message/MessageContent.js","../node_modules/semantic-ui-react/dist/es/collections/Message/MessageHeader.js","../node_modules/semantic-ui-react/dist/es/collections/Message/MessageItem.js","../node_modules/semantic-ui-react/dist/es/collections/Message/MessageList.js","../node_modules/semantic-ui-react/dist/es/collections/Message/Message.js","../node_modules/semantic-ui-react/dist/es/elements/Placeholder/PlaceholderHeader.js","../node_modules/semantic-ui-react/dist/es/elements/Placeholder/PlaceholderImage.js","../node_modules/semantic-ui-react/dist/es/elements/Placeholder/PlaceholderLine.js","../node_modules/semantic-ui-react/dist/es/elements/Placeholder/PlaceholderParagraph.js","../node_modules/semantic-ui-react/dist/es/elements/Placeholder/Placeholder.js","../RefFindNode.tsx","../RefForward.tsx","../Ref.tsx","../node_modules/semantic-ui-react/dist/es/elements/Header/HeaderSubheader.js","../node_modules/semantic-ui-react/dist/es/elements/Header/HeaderContent.js","../node_modules/semantic-ui-react/dist/es/elements/Header/Header.js","../node_modules/semantic-ui-react/dist/es/modules/Sidebar/SidebarPushable.js","../node_modules/semantic-ui-react/dist/es/modules/Sidebar/SidebarPusher.js","../node_modules/semantic-ui-react/dist/es/modules/Sidebar/Sidebar.js","../node_modules/semantic-ui-react/dist/es/addons/Pagination/PaginationItem.js","../node_modules/semantic-ui-react/dist/es/addons/Pagination/Pagination.js","../node_modules/semantic-ui-react/dist/es/modules/Tab/TabPane.js","../node_modules/semantic-ui-react/dist/es/modules/Tab/Tab.js"],"names":["module","exports","require","_extends","Object","assign","target","i","arguments","length","source","key","prototype","hasOwnProperty","call","apply","this","createFind","findIndexFunc","collection","predicate","fromIndex","iterable","isArrayLike","iteratee","baseIteratee","keys","index","undefined","nativeMax","Math","max","findIndex","find","array","toInteger","baseFindIndex","someByType","children","type","_some","Children","toArray","findByType","_find","isNil","Array","isArray","COLORS","FLOATS","SIZES","TEXT_ALIGNMENTS","VERTICAL_ALIGNMENTS","VISIBILITY","WIDTHS","concat","_keys","numberToWordMap","map","Number","_values","DIRECTIONAL_TRANSITIONS","STATIC_TRANSITIONS","TRANSITIONS","ACCESSIBILITY","ARROWS","AUDIO_VIDEO","BUSINESS","CHESS","CODE","COMMUNICATION","COMPUTERS","CURRENCY","DATE_TIME","DESIGN","EDITORS","FILES","GENDERS","HANDS_GESTURES","HEALTH","IMAGES","INTERFACES","LOGISTICS","MAPS","MEDICAL","OBJECTS","PAYMENTS_SHOPPING","SHAPES","SPINNERS","SPORTS","STATUS","USERS_PEOPLE","VEHICLES","WRITING","BRANDS","ICONS","_uniq","ICON_ALIASES","ICONS_AND_ALIASES","COMPONENT_CONTEXT_SPECIFIC_ICONS","ALL_ICONS_IN_ALL_CONTEXTS","toVal","mix","k","y","str","tmp","x","_classCallCheck","instance","Constructor","TypeError","_defineProperties","props","descriptor","enumerable","configurable","writable","defineProperty","_createClass","protoProps","staticProps","_getPrototypeOf","o","setPrototypeOf","getPrototypeOf","__proto__","_isNativeReflectConstruct","Reflect","construct","sham","Proxy","Date","toString","e","_typeof","obj","Symbol","iterator","constructor","_possibleConstructorReturn","self","assertThisInitialized","_createSuper","Derived","result","Super","NewTarget","_setPrototypeOf","p","_inherits","subClass","superClass","create","value","_assertThisInitialized","ReferenceError","deleteProps","object","forEach","nextTick","callback","delay","setTimeout","now","getTranslate","el","axis","matrix","curTransform","transformMatrix","window","getWindow","curStyle","style","getComputedStyle","currentStyle","WebKitCSSMatrix","transform","webkitTransform","split","a","replace","join","MozTransform","OTransform","MsTransform","msTransform","getPropertyValue","m41","parseFloat","m42","isObject","slice","isNode","node","HTMLElement","nodeType","extend","to","noExtend","nextSource","keysArray","filter","indexOf","nextIndex","len","nextKey","desc","getOwnPropertyDescriptor","__swiper__","bindModuleMethods","subKey","bind","classesToSelector","classes","trim","createElementIfNotDefined","$container","params","createElements","checkProps","document","getDocument","auto","element","createElement","className","append","func","thisArg","args","last","parent","path","baseGet","baseSlice","baseInvoke","castPath","toKey","overRest","start","otherArgs","constant","baseSetToString","string","identity","nativeNow","shortOut","setToString","count","lastCalled","stamp","remaining","baseRest","invoke","_inheritsLoose","src","ssrDocument","body","addEventListener","removeEventListener","activeElement","blur","nodeName","querySelector","querySelectorAll","getElementById","createEvent","initEvent","childNodes","setAttribute","getElementsByTagName","createElementNS","importNode","location","hash","host","hostname","href","origin","pathname","protocol","search","doc","ssrWindow","navigator","userAgent","history","replaceState","pushState","go","back","CustomEvent","Image","screen","clearTimeout","matchMedia","requestAnimationFrame","cancelAnimationFrame","id","win","React","Component","resolveToLocation","currentLocation","normalizeToLocation","createLocation","forwardRefShim","C","forwardRef","LinkAnchor","innerRef","navigate","onClick","rest","event","ex","isModifiedEvent","forwardedRef","Link","component","RouterContext","context","method","NavLink","ariaCurrent","activeClassName","activeStyle","classNameProp","exact","isActiveProp","isActive","locationProp","sensitive","strict","styleProp","toLocation","escapedPath","match","matchPath","classnames","joinClassnames","_construct","Parent","Class","push","Function","_wrapNativeSuper","_cache","Map","fn","has","get","set","Wrapper","Dom7","_Array","items","_this","proto","makeReactive","arrayFlat","arr","res","arrayFilter","$","selector","html","toCreate","tempParent","innerHTML","qsa","uniqueArray","arrayUnique","noTrigger","shortcut","name","_len","_key","trigger","on","Methods","addClass","classNames","c","_el$classList","classList","add","removeClass","_len2","_key2","_el$classList2","remove","hasClass","_len4","_key4","contains","toggleClass","_len3","_key3","toggle","attr","attrs","getAttribute","attrName","removeAttr","removeAttribute","transition","duration","transitionDuration","_len5","_key5","eventType","targetSelector","listener","capture","handleLiveEvent","eventData","dom7EventData","unshift","is","_parents","parents","handleEvent","j","events","_event","dom7LiveListeners","proxyListener","dom7Listeners","off","_len6","_key6","handlers","handler","dom7proxy","splice","_len9","_key9","evt","detail","bubbles","cancelable","data","dataIndex","dispatchEvent","transitionEnd","dom","fireCallBack","outerWidth","includeMargins","_styles","styles","offsetWidth","outerHeight","_styles2","offsetHeight","offset","box","getBoundingClientRect","clientTop","clientLeft","scrollTop","scrollY","scrollLeft","scrollX","top","left","css","_prop","each","text","textContent","compareWith","matches","webkitMatchesSelector","msMatchesSelector","child","previousSibling","eq","returnIndex","newChild","tempDiv","firstChild","appendChild","prepend","insertBefore","next","nextElementSibling","nextAll","nextEls","_next","prev","previousElementSibling","prevAll","prevEls","_prev","parentNode","_parent","closest","foundElements","found","removeChild","methodName","useKeyOnly","val","useValueAndKey","useKeyOrValueAndKey","useMultipleProp","prop","useTextAlignProp","useVerticalAlignProp","useWidthProp","widthClass","canEqual","valType","numberToWord","TAG_NAMES","BASE","BODY","HEAD","HTML","LINK","META","NOSCRIPT","SCRIPT","STYLE","TITLE","FRAGMENT","VALID_TAG_NAMES","REACT_TAG_MAP","accesskey","charset","class","contenteditable","contextmenu","http-equiv","itemprop","tabindex","HTML_TAG_MAP","reduce","getInnermostProperty","propsList","property","getTitleFromPropsList","innermostTitle","innermostTemplate","innermostDefaultTitle","getOnChangeClientState","getAttributesFromPropsList","tagType","tagAttrs","current","getBaseTagFromPropsList","primaryAttributes","reverse","innermostBaseTag","tag","lowerCaseAttributeKey","toLowerCase","getTagsFromPropsList","tagName","approvedSeenTags","console","warn","approvedTags","instanceTags","instanceSeenTags","primaryAttributeKey","attributeKey","tagUnion","flattenArray","possibleArray","SELF_CLOSING_TAGS","encodeSpecialCharacters","encode","String","generateElementAttributesAsString","attributes","convertElementAttributesToReactProps","initProps","getMethodsForTag","tags","toComponent","titleAttributes","title","attributeString","flattenedTitle","mappedTag","mappedAttribute","attribute","dangerouslySetInnerHTML","__html","cssText","attributeHtml","tagContent","isSelfClosing","mapStateOnServer","bodyAttributes","htmlAttributes","linkTags","metaTags","noscriptTags","scriptTags","styleTags","base","baseTag","link","meta","noscript","script","Context","createContext","providerShape","PropTypes","shape","setHelmet","helmetInstances","canUseDOM","Provider","instances","helmet","serverState","render","propTypes","isRequired","defaultProps","displayName","updateTags","indexToDelete","headElement","head","tagNodes","oldTags","newTags","t","newElement","styleSheet","createTextNode","some","existingTag","isEqualNode","updateAttributes","elementTag","helmetAttributeString","helmetAttributes","attributesToRemove","attributeKeys","indexToSave","commitTagChanges","newState","cb","onChangeClientState","tagUpdates","addedTags","removedTags","_helmetCallback","Dispatcher","rendered","shouldComponentUpdate","nextProps","shallowEqual","componentDidUpdate","emitChange","componentWillUnmount","state","defer","init","Helmet","fastCompare","mapNestedChildrenToProps","nestedChildren","Error","flattenArrayTypeChildren","arrayTypeChildren","newChildProps","mapObjectTypeChildren","newProps","mapArrayTypeChildrenToProps","newFlattenedProps","arrayChildName","warnOnInvalidChildren","invariant","nestedChild","mapChildrenToProps","childProps","Consumer","oneOfType","arrayOf","defaultTitle","bool","titleTemplate","AUTH_FIELDS","storage","localStorage","isFunction","maybeFunc","getAuth","auth","getItem","JSON","parse","isSignedIn","token","expiryInMs","parseInt","expiry","persistToken","headers","setItem","stringify","memo","field","parseHeaders","removeToken","removeItem","requestHeaders","setStorage","customStorage","isValidStorage","v1","v4","uuid","needsNavigation","navigation","nextEl","prevEl","needsPagination","pagination","needsScrollbar","scrollbar","uniqueClasses","unique","_arrayLikeToArray","arr2","_slicedToArray","_arr","_n","_d","_e","_s","_i","done","err","minLen","n","from","test","isMergeableObject","isNonNullObject","stringValue","$$typeof","REACT_ELEMENT_TYPE","isReactElement","isSpecial","for","cloneUnlessOtherwiseSpecified","options","clone","deepmerge","defaultArrayMerge","arrayMerge","sourceIsArray","destination","mergeObject","all","deepmerge_1","baseClone","toPath","arrayMap","isSymbol","copyArray","stringToPath","cloneDeep","CLONE_DEEP_FLAG","isEmptyArray","isInteger","isString","isEmptyChildren","isPromise","getIn","def","setIn","resVal","pathArray","currentPath","currentObj","nextPath","setNestedObjectValues","visited","response","FormikContext","FormikProvider","FormikConsumer","useFormikContext","formik","formikReducer","msg","values","payload","touched","isEqual","errors","status","isSubmitting","isValidating","submitCount","emptyErrors","emptyTouched","useFormik","validateOnChange","validateOnBlur","validateOnMount","isInitialValid","enableReinitialize","onSubmit","initialValues","initialErrors","initialTouched","initialStatus","isMounted","fieldRegistry","dispatch","runValidateHandler","Promise","maybePromisedErrors","resolve","actualException","reject","runValidationSchema","validationSchema","schema","promise","sync","validateData","prepareDataForValidation","isPlainObject","abortEarly","validateYupSchema","yupError","yupToFormErrors","runSingleFieldLevelValidation","runFieldLevelValidations","fieldKeysWithValidation","f","fieldValidations","fieldErrorsList","curr","runAllValidations","fieldErrors","schemaErrors","validateErrors","validateFormWithHighPriority","useEventCallback","combinedErrors","resetForm","nextState","dispatchFn","maybePromisedOnReset","validateField","maybePromise","error","registerField","validate","unregisterField","setTouched","shouldValidate","setErrors","setValues","resolvedValues","setFieldError","setFieldValue","executeChange","eventOrTextValue","checked","multiple","maybePath","parsed","isNaN","currentValue","Boolean","currentArrayOfValues","isValueInArray","valueProp","getValueForCheckbox","getSelectedValues","handleChange","setFieldTouched","executeBlur","outerHTML","handleBlur","setFormikState","stateOrCb","setStatus","setSubmitting","submitForm","isInstanceOfError","promiseOrUndefined","executeSubmit","_errors","handleSubmit","reason","imperativeMethods","validateForm","handleReset","getFieldMeta","initialValue","initialError","getFieldHelpers","setValue","setError","getFieldProps","isAnObject","nameOrOptions","valueState","onChange","onBlur","dirty","isValid","Formik","formikbag","shouldClone","useIsomorphicLayoutEffect","ref","Field","as","legacyBag","form","asElement","Form","action","_action","onReset","connect","Comp","componentDisplayName","hoistNonReactStatics","insert","copy","copyArrayLike","arrayLike","maxIndex","FieldArrayInner","updateArrayField","updateErrors","alterErrors","updateTouched","alterTouched","prevState","fieldError","fieldTouched","handlePush","swap","indexA","handleSwap","move","handleMove","handleInsert","handleReplace","handleUnshift","handleRemove","handlePop","prevProps","pop","arrayHelpers","restOfFormik","isObjectLike","baseMap","baseEach","baseHas","hasPath","cloneDeepWith","customizer","iteratorToArray","symIterator","stringToArray","getTag","mapToArray","setToArray","errorToString","regExpToString","RegExp","symbolToString","SYMBOL_REGEXP","printSimpleValue","quoteStrings","typeOf","printNumber","getTime","toISOString","printValue","mixed","default","required","oneOf","notOneOf","notType","_ref","originalValue","isCast","defined","min","email","url","lowercase","uppercase","number","lessThan","moreThan","notEqual","positive","negative","integer","date","noUnknown","__isYupSchema__","Condition","refs","then","otherwise","check","every","branch","getValue","isSchema","strReg","_","ValidationError","inner","message","captureStackTrace","isError","formatError","label","SynchronousPromise","propagateErrors","endEarly","collectErrors","validations","sort","unwrapError","promises","fulfilled","settled","results","nestedErrors","r","_ref2","runValidations","_ref3","_objectWithoutPropertiesLoose","catch","prefixes","Reference","isContext","isValue","isSibling","prefix","getter","_proto","cast","describe","isRef","__isYupRef","createErrorFactory","opts","_temp","_ref2$path","_ref2$message","_ref2$type","oldParams","newParams","mapValues","resolveParams","createValidation","item","Ref","createError","ctx","testFn","runTest","validOrError","OPTIONS","lastPart","lastPartDebug","_part","isBracket","part","substr","innerType","idx","fields","_type","parentPath","_createForOfIteratorHelperLoose","allowArrayLike","it","_unsupportedIterableToArray","RefSet","list","Set","_step","description","_iterator","_step2","_iterator2","_toArray","delete","merge","newItems","removeItems","size","SchemaType","_deps","_conditions","_options","recursive","_exclusive","_whitelist","_blacklist","tests","transforms","withMutation","typeError","locale","_defaultDefault","_this2","_mutate","_label","_meta","before","prependDeep","sourceVal","targetVal","_default","isType","v","_nullable","_typeCheck","conditions","condition","resolvedSchema","_cast","assert","formattedValue","formattedResult","rawValue","_this3","_validate","_value","_this4","isStrict","_option","validationParams","initialTests","_typeError","_whitelistError","_blacklistError","validateSync","isValidSync","getDefault","defaultValue","_isPresent","exclusive","notRequired","nullable","isNullable","isExclusive","when","deps","dep","enums","valids","invalids","strip","_strip","overrides","_loop","_getIn","_i2","_arr2","_i3","_arr3","inherits","ctor","superCtor","spec","optional","BooleanSchema","MixedSchema","valueOf","rEmail","rUrl","rUUID","isTrimmed","isAbsent","StringSchema","_length","_min","_max","regex","excludeEmptyString","ensure","toUpperCase","NumberSchema","NaN","less","more","truncate","round","avail","isoReg","invalidDate","DateSchema","timestamp","struct","numericKeys","minutesOffset","exec","UTC","isoParse","_taggedTemplateLiteralLoose","strings","raw","limit","snakeCase","createCompounder","word","capitalize","upperFirst","camelCase","mapKeys","baseForOwn","baseAssignValue","sortFields","excludes","edges","nodes","addNode","depPath","toposort","Infinity","ii","sortByKeyOrder","b","makePath","shift","_templateObject3","_templateObject2","_templateObject","ObjectSchema","_nodes","dft","_excludedEdges","intermediateValue","innerOptions","__validating","isChanged","exists","fieldValue","_from","alias","fromGetter","newObj","noAllow","unknownKeys","known","unknown","stripUnknown","allow","transformKeys","_camelCase","_snakeCase","constantCase","ArraySchema","_subType","of","_opts","castArray","castElement","_path","original","compact","rejector","Lazy","mapFn","_resolve","validateAt","validateSyncAt","nativeKeys","overArg","baseKeys","isPrototype","arrayLikeKeys","historyContext","createNamedContext","Router","computeRootMatch","isExact","componentDidMount","_pendingLocation","unlisten","staticContext","HistoryContext","cache","cacheCount","matched","cacheKey","pathCache","regexp","pathToRegexp","compilePath","end","Route","addLeadingSlash","stripBasename","basename","createURL","createPath","staticHandler","noop","Switch","computedMatch","withRouter","wrappedComponentRef","remainingProps","hoistStatics","freeSelf","root","freeGlobal","excluded","sourceKeys","objectProto","nativeObjectToString","symToStringTag","toStringTag","getRawTag","isOwn","unmasked","objectToString","baseGetTag","_provider","_useRecurly","_elements","_card","_cardNumber","_cardMonth","_cardYear","_cardCvv","_riskDataCollector","_threeDSecureAction","_useCheckoutPricing","_interopRequireDefault","__esModule","isLength","equalArrays","other","bitmask","equalFunc","stack","isPartial","arrLength","othLength","arrStacked","othStacked","seen","SetCache","arrValue","othValue","compared","arraySome","othIndex","cacheHas","symbolProto","symbolValueOf","equalByTag","byteLength","byteOffset","buffer","Uint8Array","convert","stacked","equalObjects","objProps","getAllKeys","objLength","objStacked","skipCtor","objValue","objCtor","othCtor","objectTag","baseIsEqualDeep","objIsArr","othIsArr","objTag","othTag","objIsObj","othIsObj","isSameTag","isBuffer","Stack","isTypedArray","objIsWrapped","othIsWrapped","objUnwrapped","othUnwrapped","baseIsEqual","baseIsMatch","matchData","noCustomizer","srcValue","COMPARE_PARTIAL_FLAG","isStrictComparable","getMatchData","matchesStrictComparable","baseMatches","baseHasIn","hasIn","baseMatchesProperty","isKey","baseProperty","basePropertyDeep","coreJsData","maskSrcKey","uid","IE_PROTO","isMasked","reIsHostCtor","funcProto","funcToString","reIsNative","baseIsNative","toSource","getNative","isAbsolute","charAt","spliceOne","resolvePathname","hasTrailingSlash","toParts","fromParts","isToAbs","isFromAbs","mustEndAbs","up","valueEqual","aValue","bValue","stripLeadingSlash","hasBasename","stripTrailingSlash","hashIndex","searchIndex","parsePath","decodeURI","URIError","locationsAreEqual","createTransitionManager","prompt","listeners","setPrompt","nextPrompt","confirmTransitionTo","getUserConfirmation","appendListener","notifyListeners","getConfirmation","confirm","getHistoryState","createBrowserHistory","globalHistory","canUseHistory","ua","supportsHistory","needsHashChangeListener","_props","_props$forceRefresh","forceRefresh","_props$getUserConfirm","_props$keyLength","keyLength","getDOMLocation","historyState","_window$location","createKey","random","transitionManager","setState","handlePopState","isExtraneousPopstateEvent","handleHashChange","forceNextPop","ok","fromLocation","toIndex","allKeys","delta","revertPop","initialLocation","createHref","listenerCount","checkDOMListeners","isBlocked","prevIndex","nextKeys","goBack","goForward","block","unblock","listen","HashPathCoders","hashbang","encodePath","decodePath","noslash","slash","stripHash","getHashPath","substring","replaceHashPath","createHashHistory","_props$hashType","hashType","_HashPathCoders$hashT","ignorePath","encodedPath","prevLocation","allPaths","lastIndexOf","pushHashPath","nextPaths","clamp","lowerBound","upperBound","createMemoryHistory","_props$initialEntries","initialEntries","_props$initialIndex","initialIndex","entries","entry","nextEntries","canGo","warning","handleRef","isRefObject","baseToString","DataView","WeakMap","dataViewCtorString","mapCtorString","promiseCtorString","setCtorString","weakMapCtorString","ArrayBuffer","Ctor","ctorString","1","2","3","4","5","6","7","8","9","10","11","12","13","14","15","16","strictUriEncode","decodeComponent","splitOnFirst","filterObject","validateArrayFormatSeparator","encodeURIComponent","decode","removeHash","input","hashStart","extract","queryStart","parseValue","parseNumbers","parseBooleans","query","arrayFormat","arrayFormatSeparator","formatter","accumulator","includes","isEncodedArray","newValue","parserForArrayFormat","ret","param","keysSorter","shouldFilter","skipNull","skipEmptyString","encoderForArrayFormat","objectCopy","parseUrl","url_","parseFragmentIdentifier","fragmentIdentifier","stringifyUrl","queryFromUrl","parsedQueryFromUrl","queryString","getHash","pick","exclude","exclusionFilter","factory","PDFNodeStream","setPDFNetworkStreamFactory","PDFNetworkStream","PDFFetchStream","isValidFetchUrl","enabled","urlNullRemoved","removeNullCharacters","targetStr","LinkTarget","rel","anchor","SVG_NS","width","height","canvas","reset","canvasAndContext","destroy","baseUrl","isCompressed","compressionType","CMapCompressionType","isFetchSupported","fetch","cMapData","stringToBytes","request","XMLHttpRequest","svg","offsetX","offsetY","dontFlip","centerX","viewBox","centerY","rotation","rotateA","rotateB","rotateC","rotateD","offsetCanvasX","offsetCanvasY","scale","PageViewport","convertToViewportPoint","Util","convertToViewportRectangle","topLeft","rect","bottomRight","convertToPdfPoint","NONE","SELF","BLANK","PARENT","TOP","time","timeEnd","started","outBuf","longest","Response","ReadableStream","URL","pdfDateStringRegex","year","month","day","hour","minute","second","universalTimeRelation","offsetHour","offsetMinute","resultLength","arrayByteLength","pos","itemLength","bytes","strBuf","chunkEnd","chunk","capability","isSettled","verbosity","VerbosityLevel","arr1","otherUrl","absoluteUrl","_isValidProtocol","code","PDFStringTranslateTable","decodeURIComponent","escape","unescape","PRINT","MODIFY_CONTENTS","COPY","MODIFY_ANNOTATIONS","FILL_INTERACTIVE_FORMS","COPY_FOR_ACCESSIBILITY","ASSEMBLE","PRINT_HIGH_QUALITY","FILL","STROKE","FILL_STROKE","INVISIBLE","FILL_ADD_TO_PATH","STROKE_ADD_TO_PATH","FILL_STROKE_ADD_TO_PATH","ADD_TO_PATH","FILL_STROKE_MASK","ADD_TO_PATH_FLAG","GRAYSCALE_1BPP","RGB_24BPP","RGBA_32BPP","TEXT","FREETEXT","LINE","SQUARE","CIRCLE","POLYGON","POLYLINE","HIGHLIGHT","UNDERLINE","SQUIGGLY","STRIKEOUT","STAMP","CARET","INK","POPUP","FILEATTACHMENT","SOUND","MOVIE","WIDGET","SCREEN","PRINTERMARK","TRAPNET","WATERMARK","THREED","REDACT","MARKED","REVIEW","UNMARKED","ACCEPTED","REJECTED","CANCELLED","COMPLETED","GROUP","REPLY","HIDDEN","NOZOOM","NOROTATE","NOVIEW","READONLY","LOCKED","TOGGLENOVIEW","LOCKEDCONTENTS","REQUIRED","NOEXPORT","MULTILINE","PASSWORD","NOTOGGLETOOFF","RADIO","PUSHBUTTON","COMBO","EDIT","SORT","FILESELECT","MULTISELECT","DONOTSPELLCHECK","DONOTSCROLL","COMB","RICHTEXT","RADIOSINUNISON","COMMITONSELCHANGE","SOLID","DASHED","BEVELED","INSET","UNKNOWN","FLATE","LZW","DCT","JPX","JBIG","A85","AHX","CCF","RLX","TYPE1","TYPE1C","CIDFONTTYPE0","CIDFONTTYPE0C","TRUETYPE","CIDFONTTYPE2","TYPE3","OPENTYPE","TYPE0","MMTYPE1","ERRORS","WARNINGS","INFOS","BINARY","STREAM","dependency","setLineWidth","setLineCap","setLineJoin","setMiterLimit","setDash","setRenderingIntent","setFlatness","setGState","save","restore","moveTo","lineTo","curveTo","curveTo2","curveTo3","closePath","rectangle","stroke","closeStroke","fill","eoFill","fillStroke","eoFillStroke","closeFillStroke","closeEOFillStroke","endPath","clip","eoClip","beginText","endText","setCharSpacing","setWordSpacing","setHScale","setLeading","setFont","setTextRenderingMode","setTextRise","moveText","setLeadingMoveText","setTextMatrix","nextLine","showText","showSpacedText","nextLineShowText","nextLineSetSpacingShowText","setCharWidth","setCharWidthAndBounds","setStrokeColorSpace","setFillColorSpace","setStrokeColor","setStrokeColorN","setFillColor","setFillColorN","setStrokeGray","setFillGray","setStrokeRGBColor","setFillRGBColor","setStrokeCMYKColor","setFillCMYKColor","shadingFill","beginInlineImage","beginImageData","endInlineImage","paintXObject","markPoint","markPointProps","beginMarkedContent","beginMarkedContentProps","endMarkedContent","beginCompat","endCompat","paintFormXObjectBegin","paintFormXObjectEnd","beginGroup","endGroup","beginAnnotations","endAnnotations","beginAnnotation","endAnnotation","paintJpegXObject","paintImageMaskXObject","paintImageMaskXObjectGroup","paintImageXObject","paintInlineImageXObject","paintInlineImageXObjectGroup","paintImageXObjectRepeat","paintImageMaskXObjectRepeat","paintSolidColorImageMask","constructPath","forms","javaScript","smask","shadingPattern","font","errorTilingPattern","errorExtGState","errorXObject","errorFontLoadType3","errorFontState","errorFontMissing","errorFontTranslate","errorColorSpace","errorOperatorList","errorFontToUnicode","errorFontLoadNative","errorFontGetPath","NEED_PASSWORD","INCORRECT_PASSWORD","unreachable","BaseException","NullCharactersRegExp","IsLittleEndianCached","shadow","buffer8","Uint32Array","view32","isLittleEndian","IsEvalSupportedCached","isEvalSupported","rgbBuf","m1","m2","m","d","p1","p2","p3","applyTransform","p4","transpose","first","sx","sy","orderedX","rect1","rect2","orderedY","createObjectURL","digits","contentType","forceDataSchema","blob","Blob","b1","b2","b3","d1","d2","d3","d4","isNodeJS","process","DEFAULT_RANGE_CHUNK_SIZE","RENDERING_CANCELLED_TIMEOUT","createPDFNetworkStream","task","isArrayBuffer","range","rangeTransport","worker","pdfBytes","apiCompatibilityParams","setVerbosityLevel","workerParams","port","GlobalWorkerOptions","PDFWorker","docId","workerIdPromise","_fetchDocument","networkStreamPromise","networkStream","initialData","progressiveDone","disableRange","disableStream","httpHeaders","withCredentials","rangeChunkSize","messageHandler","transport","WorkerTransport","pdfDataRangeTransport","apiVersion","password","disableAutoFetch","maxImageSize","disableFontFace","postMessageTransfers","docBaseUrl","ignoreErrors","fontExtraProperties","workerId","PDFDocumentLoadingTask","nextDocumentId","_capability","_transport","addRangeListener","addProgressListener","addProgressiveReadListener","addProgressiveDoneListener","onDataRange","onDataProgress","onDataProgressiveRead","onDataProgressiveDone","transportReady","requestDataRange","abort","_pdfInfo","getPage","getPageIndex","getDestinations","getDestination","getPageLabels","getPageLayout","getPageMode","getViewerPreferences","getOpenAction","getOpenActionDestination","deprecated","openAction","getAttachments","getJavaScript","getOutline","getPermissions","getMetadata","getData","getDownloadInfo","downloadInfoCapability","getStats","cleanup","loadingTask","pdfBug","_pageIndex","_pageInfo","getViewport","getAnnotations","intent","annotationsIntent","enableWebGL","renderInteractiveForms","imageLayer","canvasFactory","background","renderingIntent","intentStates","intentState","canvasFactoryInstance","webGLContext","enable","fnArray","argsArray","lastChunk","pageIndex","complete","internalRenderTask","InternalRenderTask","objs","commonObjs","operatorList","useRequestAnimationFrame","renderTask","transparency","getOperatorList","opListTask","streamTextContent","normalizeWhitespace","disableCombineTextItems","TEXT_CONTENT_CHUNK_SIZE","sendWithStream","combineTextItems","highWaterMark","getTextContent","readableStream","reader","pump","_destroy","waitOn","force","renderCompleted","resetStats","_tryCleanup","_startRenderPage","_renderPageChunk","operatorListChunk","_pumpOperatorList","_abortOperatorList","postMessage","cloned","transfers","cloneValue","_listeners","terminate","PDFWorkerClosure","pdfWorkerPorts","isWorkerDisabled","nextFakeWorkerId","fallbackWorkerSrc","pdfjsFilePath","mainWorkerMessageHandler","globalThis","fakeWorkerCapability","loader","getMainThreadWorkerMessageHandler","eval","getWorkerSrc","loadScript","wrapper","_readyCapability","_initializeFromPort","_initialize","Worker","workerSrc","isSameOrigin","createCDNWrapper","terminateEarly","onWorkerError","sendTest","testObj","info","_setupFakeWorker","setupFakeWorkerGlobal","WorkerMessageHandler","workerHandler","onUnsupportedFeature","_onUnsupportedFeature","destroyCapability","page","terminated","sendWithPromise","setupMessageHandler","loaded","total","sink","headersCapability","fullReader","isStreamingSupported","isRangeSupported","contentLength","rangeReader","pdfInfo","PDFDocumentProxy","exception","exportedError","exportedData","fontRegistry","registerFont","pageProxy","imageData","fetched","builtInCMap","pageNumber","pagePromises","pageInfo","PDFPageProxy","metadata","contentDispositionFilename","startCleanup","_ensureObj","_objs","objId","resolved","clear","_internalRenderTask","cancel","canvasInRendering","RenderTask","_continue","_scheduleNext","initializeGraphics","_pdfBug","stepper","operatorListChanged","gfx","executeOperatorList","operatorListIdx","version","build","addNativeFontFace","insertRule","styleElement","nativeFontFace","featureId","UNSUPPORTED_FEATURES","rule","_queueLoadingCallback","supported","_prepareFontLoadEvent","FontLoader","requests","nextRequestId","otherRequest","atob","s","chunk1","called","loadTestFontId","checksum","int32","spliceString","string32","btoa","names","fonts","div","span","isFontReady","translatedData","createNativeFontFace","FontFace","createFontFaceRule","bytesToString","getPathGenerator","compiledGlyphs","character","cmds","loadedName","js","compatibilityParams","ad_bc","bc_ad","old","_transformStack","angle","cosValue","sinValue","CachedCanvases","getCanvas","canvasEntry","addContextCurrentTransform","CanvasExtraState","TextRenderingMode","setCurrentPoint","CanvasGraphics","ImageData","imgData","partialChunkHeight","fullChunks","totalChunks","chunkImgData","srcPos","dest","ImageKind","srcLength","dest32","dest32DataLength","fullSrcDiff","white","black","thisChunkHeight","destPos","srcDiff","kEnd","kEndUnrolled","mask","srcByte","elemsInThisChunk","elem","properties","sourceCtx","destCtx","alpha","alpha_","r0","g0","b0","maskData","transferMap","layerData","maskCtx","backdrop","composed","composeSMask","layer","layerCtx","subtype","hasBackdrop","composeFn","chunkSize","row","chunkHeight","composeSMaskBackdrop","genericComposeSMask","LINE_CAP_STYLES","LINE_JOIN_STYLES","NORMAL_CLIP","EO_CLIP","beginDrawing","transparentCanvas","cachedCanvases","compositeCtx","resetCtxToDefault","viewport","mozCurrentTransform","executionStartIdx","argsArrayLen","chunkOperations","continueCallback","endTime","steps","fnId","OPS","objsPool","depObjId","endDrawing","activeSMask","dashArray","dashPhase","states","stateStack","beginSMaskGroup","drawnWidth","drawnHeight","cacheId","scratchCanvas","currentCtx","currentTransform","groupCtx","copyCtxState","suspendSMaskGroup","groupStack","deltaTransform","resumeSMaskGroup","endSMaskGroup","ops","xw","yh","consumePath","strokeColor","getSinglePixelWidth","lineWidth","fillColor","needRestore","lineX","lineY","paths","spacing","leading","fontRefName","fontObj","bold","italic","typeface","browserFontSize","mode","rise","paintChar","textRenderingMode","fontSize","fillStrokeMode","isAddToPathSet","patternFill","addToPath","pendingTextPaths","glyphs","showType3Text","fontSizeScale","charSpacing","wordSpacing","fontDirection","textHScale","glyphsLength","vertical","spacingDir","defaultVMetrics","widthAdvanceScale","simpleFillText","pattern","patternTransform","glyph","isNum","restoreNeeded","accent","vmetric","vx","vy","scaledX","scaledY","measuredWidth","characterScaleX","scaledAccentX","scaledAccentY","fontMatrix","spacingLength","transformed","xWidth","yWidth","urx","ury","getColorN_Pattern","IR","color","baseTransform","canvasGraphicsFactory","createCanvasGraphics","getShadingPatternFromIR","g","patternIR","inv","bl","br","ul","ur","x0","y0","x1","y1","bbox","baseTransformStack","group","bounds","canvasBounds","scaleX","scaleY","smaskCounter","startTransformInverse","imageSmoothingEnabled","smaskStack","img","isPatternFill","COMPILE_TYPE3_GLYPHS","width1","points","POINT_TYPES","lineSize","data0","j0","sum","Int32Array","outlines","coords","p0","step","pp","kk","l","ll","compileType3Glyph","maskCanvas","putBinaryImageMask","positions","images","image","w","h","widthScale","heightScale","imgToPaint","tmpCtx","tmpCanvas","putBinaryImageData","paintWidth","paintHeight","tmpCanvasId","newWidth","newHeight","position","getCanvasPosition","pendingClip","_cachedGetSinglePixelWidth","inverse","shadingIR","ShadingIRs","Path2D","region","fromIR","colorStops","r1","getPattern","applyBoundingBox","grad","createMeshCanvas","colors","rowSize","c1","c2","c3","x2","y2","x3","y3","c1r","c1g","c1b","c2r","c2g","c2b","c3r","c3g","c3b","minY","maxY","xa","car","cag","cab","xb","cbr","cbg","cbb","x1_","x2_","ps","figure","cs","verticesPerRow","rows","cols","q","drawTriangle","boundsWidth","boundsHeight","combinesScale","paddedWidth","BORDER_SIZE","paddedHeight","drawFigures","backgroundColor","figures","drawFigure","owner","matrixScale","temporaryPatternCanvas","TilingPattern","PaintType","createPatternCanvas","xstep","ystep","paintType","tilingType","curMatrixScale","combinedScale","dimx","getSizeAndScale","dimy","graphics","maxSize","clipBbox","bboxWidth","bboxHeight","setFillAndStrokeStyleToContext","cssColor","CallbackKind","StreamKind","callbackId","wrapReason","cbSourceName","cbTargetName","comObj","sourceName","targetName","ah","send","streamId","controller","startCapability","startCall","pullCall","cancelCall","isClosed","desiredSize","pull","pullCapability","stream","cancelCapability","_createStreamSink","actionHandler","streamSink","enqueue","lastDesiredSize","sinkCapability","close","onPull","onCancel","isCancelled","ready","success","_processStreamMessage","streamSinks","streamControllers","allSettled","_postMessage","_repair","xmlDocument","parser","codes","chars","_parse","rdf","jj","_metadataMap","getAll","XMLParserErrorCode","ch","_resolveEntities","entity","_parseContent","isWhitespace","skipWs","attrValue","attrEndChar","attrEndIndex","_parseProcessingInstruction","attrStart","parseXml","pi","q2","complexDoctype","doctypeContent","content","onResolveEntity","onPi","onComment","onCdata","onDoctype","onText","onBeginElement","onEndElement","onError","nodeValue","hasChildNodes","parseFromString","_errorCode","isWhitespaceString","SimpleDOMNode","_stack","lastElement","_currentFragment","_onReceiveData","_rangeReaders","_fullRequestReader","_onProgress","firstReader","_onProgressiveDone","_removeRangeReader","getFullReader","queuedChunks","PDFDataTransportStreamReader","getRangeReader","PDFDataTransportStreamRangeReader","begin","cancelAllRequests","readers","_enqueue","_requests","requestCapability","_stream","_queuedChunks","requestsCapability","WebGLUtils","shader","gl","errorMsg","loadShader","program","shaders","texture","currentCanvas","currentGL","premultipliedalpha","smaskCache","figuresCache","tryInitGL","generateGL","createProgram","createVertexShader","createFragmentShader","texCoordLocation","texLayerLocation","texMaskLocation","texCoordBuffer","Float32Array","initSmaskGL","createTexture","maskTexture","initFiguresGL","coordsMap","colorsMap","pIndex","cIndex","col","coordsBuffer","colorsBuffer","parameters","AnnotationType","LinkAnnotationElement","TextAnnotationElement","TextWidgetAnnotationElement","RadioButtonWidgetAnnotationElement","CheckboxWidgetAnnotationElement","PushButtonWidgetAnnotationElement","ChoiceWidgetAnnotationElement","WidgetAnnotationElement","PopupAnnotationElement","FreeTextAnnotationElement","LineAnnotationElement","SquareAnnotationElement","CircleAnnotationElement","PolylineAnnotationElement","CaretAnnotationElement","InkAnnotationElement","PolygonAnnotationElement","HighlightAnnotationElement","UnderlineAnnotationElement","SquigglyAnnotationElement","StrikeOutAnnotationElement","StampAnnotationElement","FileAttachmentAnnotationElement","AnnotationElement","isRenderable","ignoreBorder","_createContainer","container","AnnotationBorderStyleType","horizontalRadius","verticalRadius","radius","_createPopup","popup","PopupElement","modificationDate","contents","hideWrapper","addLinkAttributes","linkService","_bindLink","getDestinationHash","_bindNamedAction","getAnchorUrl","hasPopup","imageResourcesPath","maxLen","combWidth","textAlignment","_setTextStyle","fontFamily","fallbackName","selectElement","optionElement","option","IGNORE_TYPES","parentElement","parentLeft","parentWidth","BACKGROUND_ENLIGHT","dateObject","PDFDateString","_formatContents","_toggle","_show","_hide","lines","line","pin","hideElement","hasAttribute","unpin","svgFactory","borderWidth","square","circle","coordinate","polyline","getFilenameFromUrl","stringToPDFString","_download","sortedAnnotations","popupAnnotations","AnnotationElementFactory","downloadManager","renderTextLayer","NonWhitespaceRegexp","textDiv","textDivProperties","canvasWidth","originalTransform","paddingBottom","paddingLeft","paddingRight","paddingTop","geom","tx","fontHeight","fontAscent","shouldScaleText","absScaleX","absScaleY","angleCos","angleSin","divWidth","divHeight","right","bottom","textDivs","textDivsLength","ts","expanded","boxes","x1New","x2New","expandBoundsLTR","expandBounds","divProperties","Float64Array","boxScale","findPositiveMin","horizon","boundary","maxXNew","xNew","affectedBoundary","horizonPart","changedHorizon","lastBoundary","useBoundary","used","textContentItemsStr","FontInspector","TextLayerRenderTask","_renderTimer","_processItems","appendText","_layoutText","_textDivProperties","_layoutTextCtx","measureText","_render","timeout","styleCache","textItems","_textContent","textStyles","_textContentStream","expandTextDivs","expandDivs","_bounds","expand","transformBuf","paddingBuf","_textDivs","divProps","renderParameters","textContentStream","enhanceTextSelection","SVGGraphics","pf","SVG_DEFAULTS","fontStyle","fontWeight","convertImgDataToPng","PNG_HEADER","crcTable","crc","crc32","literals","deflateBlocks","idat","adler","adler32","colorType","bitDepth","offsetLiterals","offsetBytes","kind","ihdr","deflateSyncUncompressed","Buffer","output","__non_webpack_require__","level","deflateSync","pngLength","CHUNK_WRAPPER_SIZE","writePngChunk","isMask","clipCount","maskCount","shadingCount","transformStack","extraStack","loadDependencies","getSVG","svgElement","convertOpList","operatorIdMapping","opList","opTree","opListElement","opListToTree","executeOpTree","opTreeElement","lineWidthScale","textMatrixScale","textMatrix","pm","addFontStyle","details","embedFonts","embeddedFonts","setStrokeAlpha","setFillAlpha","_makeColorN_Pattern","_makeShadingPattern","fillAlpha","_makeTilingPattern","tilingId","txstep","tystep","tiling","tx1","ty1","shadingId","point0","point1","gradient","focalPoint","circlePoint","focalRadius","circleRadius","stop","colorStop","clipId","clipPath","clipElement","_setStrokeAttributes","imgSrc","cliprect","imgEl","definitions","rootGroup","_ensureClipGroup","clipGroup","_ensureTransformGroup","fs","http","https","fileUriRegex","parsedUrl","isHttp","isFsUrl","PDFNodeStreamFsFullReader","PDFNodeStreamFullReader","PDFNodeStreamFsRangeReader","PDFNodeStreamRangeReader","_rangeRequestReaders","_headersCapability","_readCapability","_readableStream","_error","_setReadableStream","handleResponse","getResponseHeader","validateRangeRequestCapabilities","suggestedLength","extractFilenameFromHeader","createRequestOptions","stat","createReadStream","contentDisposition","filename","getFilenameFromContentDispositionHeader","returnValues","allowRangeRequests","needsEncodingFixup","toParamRegExp","rfc2616unquote","fixupEncoding","rfc2047decode","rfc5987decode","iter","quot","parts","rfc2231getparam","decoder","TextDecoder","encoding","fatal","textdecode","quotindex","encodingend","extvalue","langvalue","hex","requestRange","requestFull","xhr","xhrId","pendingRequest","pendingRequests","onStateChange","onProgress","xhrStatus","getArrayBuffer","rangeHeader","hasPendingRequests","getRequestXhr","isPendingRequest","abortAllRequests","abortRequest","NetworkManager","_onRangeRequestReaderClosed","PDFNetworkStreamFullRequestReader","PDFNetworkStreamRangeRequestReader","onHeadersReceived","_onHeadersReceived","onDone","_onDone","_onError","manager","fullRequestXhrId","fullRequestXhr","_manager","_cachedChunks","createResponseStatusError","_headersReceivedCapability","_close","_queuedChunk","signal","abortController","credentials","redirect","PDFFetchStreamReader","PDFFetchStreamRangeReader","AbortController","createHeaders","createFetchOptions","validateResponseStatus","_reader","createBaseEach","eachFunc","fromRight","focusEvents","keyboardEvents","touchEvents","mouseEvents","getArgs","eventProps","eventName","keyList","hasProp","hasElementType","Element","equal","arrA","arrB","dateA","dateB","regexpA","regexpB","baseValues","freeExports","freeModule","freeProcess","nodeUtil","types","binding","toFinite","toNumber","castFunction","arrayEach","IconGroup","cx","getUnhandledProps","ElementType","getElementType","childrenUtils","handledProps","Icon","_PureComponent","handleClick","disabled","preventDefault","_invoke","getIconAriaOptions","ariaOptions","_this$props","ariaLabel","ariaHidden","_isNil","_this$props2","bordered","circular","corner","fitted","flipped","inverted","loading","rotated","PureComponent","Group","createShorthandFactory","Cache","_maxSize","_size","SPLIT_REGEX","DIGIT_REGEX","LEAD_DIGIT_REGEX","SPEC_CHAR_REGEX","CLEAN_QUOTES_REGEX","setCache","getCache","normalizePath","isQuoted","shouldBeQuoted","hasLeadingNumber","hasSpecialChars","setter","safe","segments","listCacheClear","__data__","assocIndexOf","listCacheDelete","listCacheGet","listCacheHas","listCacheSet","ListCache","hashFragment","observer","asyncTimerId","scrollFunction","disconnect","isInteractiveElement","getElAndScroll","originalTabIndex","focus","preventScroll","genericHashLink","As","linkHash","passDownProps","filteredProps","getOwnPropertySymbols","propertyIsEnumerable","elementId","scroll","smooth","scrollIntoView","behavior","MutationObserver","observe","childList","subtree","HashLink","stackClear","stackDelete","stackGet","stackHas","stackSet","pairs","LARGE_ARRAY_SIZE","MapCache","_Component$handledPro","acc","_Component$defaultPro","computedDefault","htmlInputProps","htmlImageProps","partitionHTMLProps","_options$htmlProps","htmlProps","_options$includeAria","includeAria","inputProps","_forEach","possibleAria","_includes","checkDCE","__REACT_DEVTOOLS_GLOBAL_HOOK__","stubFalse","objectCtorString","getPrototype","nativeCreate","hashClear","hashDelete","hashGet","hashHas","hashSet","Hash","mapCacheClear","isKeyable","getMapData","mapCacheDelete","mapCacheGet","mapCacheHas","mapCacheSet","useEffect","useLayoutEffect","baseUnary","reIsUint","isIndex","guard","baseIndexOf","reIsDeepProp","reIsPlainProp","nativeGetSymbols","getSymbols","symbol","stubArray","makeArrayFrom","_continuations","_paused","_continueWith","_failWith","looksLikeAPromise","passThrough","createAggregateErrorFrom","AggregateError","nextFn","catchFn","unresolved","_setParent","_isRejected","catchResult","_chainPromiseData","_runResolutions","_isResolved","_data","_runRejections","finally","ran","runFinally","callbackResult","pause","resume","firstPaused","_findFirstPaused","_findAncestry","cur","firstPending","_findFirstPending","_setResolved","_findFirstAncestor","_isPending","matching","firstRejected","_setRejected","_takeContinuations","continuations","cont","_handleUserFunctionResult","_handleWhenResolvedDataIsPromise","_handleResolutionError","continuation","e2","nextSynchronousPromise","promiseData","newData","newError","newResult","allData","numResolved","rejected","arg","thisResult","doReject","any","allErrors","numRejected","numSettled","doSettled","RealPromise","installGlobally","__awaiter","__patched","originalAwaiter","patchAwaiterIfRequired","uninstallGlobally","assignValue","copyObject","isNew","baseAssign","nativeKeysIn","baseKeysIn","isProto","keysIn","baseAssignIn","copySymbols","getSymbolsIn","arrayPush","copySymbolsIn","getAllKeysIn","baseGetAllKeys","initCloneArray","cloneArrayBuffer","arrayBuffer","cloneDataView","dataView","isDeep","reFlags","cloneRegExp","lastIndex","cloneSymbol","cloneTypedArray","typedArray","initCloneByTag","objectCreate","baseCreate","initCloneObject","baseIsMap","nodeIsMap","isMap","baseIsSet","nodeIsSet","isSet","cloneableTags","isFlat","isFull","isArr","isFunc","cloneBuffer","subValue","keysFunc","arrayReduce","initAccum","basePropertyOf","deburrLetter","reLatin","reComboMark","deburr","reAsciiWord","asciiWords","reHasUnicodeWord","hasUnicodeWord","rsBreakRange","rsMathOpRange","rsBreak","rsDigits","rsDingbat","rsLower","rsMisc","rsRegional","rsSurrPair","rsUpper","rsMiscLower","rsMiscUpper","reOptMod","rsModifier","rsSeq","rsEmoji","reUnicodeWord","unicodeWords","words","reApos","createBaseFor","baseFor","17","18","19","20","27","28","29","30","31","32","33","34","35","36","37","38","39","40","41","42","43","44","45","46","48","49","50","51","52","53","54","55","56","57","91","93","144","145","181","182","183","186","187","188","189","190","191","192","219","220","221","222","224","225","246","247","248","249","250","251","fromCharCode","keyboardKey","getCode","eventOrKey","keyCode","which","getKey","eventOrCode","isEvent","shiftKey","Cancel","Help","Backspace","Tab","Clear","Enter","Shift","Control","Alt","Pause","CapsLock","Escape","Convert","NonConvert","Accept","ModeChange","PageUp","PageDown","End","Home","ArrowLeft","ArrowUp","ArrowRight","ArrowDown","Select","Print","Execute","PrintScreen","Insert","Delete","0","A","B","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","u","U","V","W","X","Y","z","Z","OS","ContextMenu","F1","F2","F3","F4","F5","F6","F7","F8","F9","F10","F11","F12","F13","F14","F15","F16","F17","F18","F19","F20","F21","F22","F23","F24","NumLock","ScrollLock","VolumeMute","VolumeDown","VolumeUp","Meta","AltGraph","Attn","CrSel","ExSel","EraseEof","Play","ZoomOut","Spacebar","Digit0","Digit1","Digit2","Digit3","Digit4","Digit5","Digit6","Digit7","Digit8","Digit9","Tilde","GraveAccent","ExclamationPoint","AtSign","PoundSign","PercentSign","Caret","Ampersand","PlusSign","MinusSign","EqualsSign","DivisionSign","MultiplicationSign","Comma","Decimal","Colon","Semicolon","Pipe","BackSlash","QuestionMark","SingleQuote","DoubleQuote","LeftCurlyBrace","RightCurlyBrace","LeftParenthesis","RightParenthesis","LeftAngleBracket","RightAngleBracket","LeftSquareBracket","RightSquareBracket","GridColumn","computer","floated","largeScreen","mobile","only","stretched","tablet","textAlign","verticalAlign","widescreen","arrayIncludes","arrayIncludesWith","comparator","createSet","baseUniq","isCommon","outer","computed","seenIndex","uniq","baseSome","isIterateeCall","_react","_propTypes","_memoizeOne","hasNativeReflectConstruct","_defineProperty","_objectWithoutProperties","sourceSymbolKeys","extractOptions","onFocus","onReady","_React$PureComponent","_super","configure","elementClassName","elements","_element","_container","createRef","_this$props3","_this$props4","_this$props5","attach","configureElement","tabIndex","RecurlyElementsContext","hasDocument","hasWindow","isBrowser","override","reactIs","REACT_STATICS","childContextTypes","contextType","contextTypes","getDefaultProps","getDerivedStateFromError","getDerivedStateFromProps","mixins","KNOWN_STATICS","caller","callee","arity","MEMO_STATICS","compare","TYPE_STATICS","getStatics","isMemo","ForwardRef","Memo","getOwnPropertyNames","objectPrototype","targetComponent","sourceComponent","blacklist","inheritedComponent","targetStatics","sourceStatics","LabelDetail","LabelGroup","Label","_Component","handleIconOverrides","predefinedProps","active","attached","basic","empty","floating","horizontal","icon","onRemove","pointing","removeIcon","ribbon","pointingClass","removeIconShorthand","_isUndefined","autoGenerateKey","overrideProps","Detail","isNumber","isBoolean","createShorthand","mapValueToProps","_isBoolean","valIsString","_isString","valIsNumber","_isNumber","valIsFunction","_isFunction","valIsReactElement","valIsPropsObject","_isPlainObject","valIsPrimitiveValue","_isArray","_options$defaultProps","usersProps","_options2$overridePro","mergedClassesNames","childKey","_options3$autoGenerat","createHTMLInput","createHTMLParagraph","startCase","MenuItem","header","_startCase","objectWithoutPropertiesLoose","asyncGeneratorStep","gen","_throw","_asyncToGenerator","mergeClassNames","Message","PDFLinkService","PasswordResponses","EventBus","isLocalFileSystem","isDefined","variable","isProvided","isBlob","isFile","File","isDataURI","dataURItoByteString","dataURI","dataString","consoleOnDev","warnOnDev","errorOnDev","displayCORSWarning","cancelRunningTask","runningTask","makePageCallback","view","isCancelException","loadFromFile","file","FileReader","onload","onerror","NOT_FOUND_ERR","NOT_READABLE_ERR","SECURITY_ERR","ABORT_ERR","readAsArrayBuffer","_toConsumableArray","fileTypes","instanceOf","isClassName","isLinkService","LinkService","isPage","fontLoader","isPdf","numPages","isRenderMode","isRotate","ownKeys","enumerableOnly","symbols","sym","_objectSpread","getOwnPropertyDescriptors","defineProperties","PDFDataRangeTransport","pdfjs","Document","pdf","scrollPageIntoView","onItemClick","pages","eventBus","_regeneratorRuntime","mark","_callee","onLoadProgress","onPassword","cancellable","wrap","_context","findDocumentSource","sent","onSourceSuccess","t0","onSourceError","abrupt","makeCancellable","fingerprint","onLoadSuccess","t1","onLoadError","setViewer","viewer","documentInstance","externalLinkTarget","setDocument","_callee2","fileByteString","otherParams","_fileByteString","_context2","loadDocument","setupLinkService","DocumentContext","childContext","noData","renderChildren","inputRef","renderContent","registerPage","unregisterPage","renderMode","rotate","makeEventProps","isFunctionOrNode","num","OutlineItemInternal","_destination","_callee3","_context3","_ref4","_callee4","_context4","getPageNumber","_x","otherProps","subitems","subitem","subitemIndex","renderSubitems","isDestination","OutlineItem","documentContext","OutlineContext","outlineContext","OutlineInternal","outline","loadOutline","itemIndex","renderOutline","mergeRefs","inputRefs","filteredInputRefs","PageCanvasInternal","renderer","onRenderSuccess","onRenderError","canvasLayer","_assertThisInitialize2","renderViewport","floor","renderContext","getContext","cancelRenderingTask","drawPageOnCanvas","running","canvasRef","dir","display","userSelect","pixelRatio","devicePixelRatio","PageCanvas","PageContext","PageSVGInternal","svgGfx","firstElementChild","_this$viewport","renderSVG","_this$viewport2","drawPageOnContainer","overflow","PageSVG","TextLayerItemInternal","sideways","alignTextItem","_getFontData","fontName","_alignTextItem","fontData","fallbackFontName","targetWidth","actualWidth","ascent","getFontData","getElementWidth","WebkitTransform","customTextRenderer","transformOrigin","whiteSpace","pointerEvents","unrotatedViewport","defaultSideways","_transform","fontHeightPx","fontWidthPx","_transform2","_viewport$viewBox","yMin","yMax","_transform3","xMin","TextLayerItem","TextLayerInternal","_yield$cancellable$pr","onGetTextSuccess","onGetTextError","loadTextItems","textItem","renderTextItems","TextLayer","AnnotationLayerInternal","annotations","onGetAnnotationsSuccess","onGetAnnotationsError","onRenderAnnotationLayerSuccess","onRenderAnnotationLayerError","loadAnnotations","annotationLayer","renderAnnotationLayer","AnnotationLayer","pageContext","PageInternal","loadPage","pageKeyNoScale","pageKey","renderMainLayer","pageScale","scaleWithDefault","Page","propName","componentName","RecurlyContext","_package","recurly","RecurlyProvider","_React$Component","publicKey","Recurly","_recurly","__instanceCache","fetchRecurlyInstance","hasReportedInitialization","report","currency","fraud","kount","dataCollector","braintree","deviceData","litle","sessionId","isActionSupported","useEventListener","targetRef","latestListener","eventHandler","currentEvent","conditionalHandler","GoogleRecaptchaError","cleanGoogleRecaptcha","scriptId","nodeBadge","customBadge","lastChild","cleanBadge","___grecaptcha_cfg","logWarningMessage","GoogleReCaptchaContext","executeRecaptcha","GoogleReCaptchaProvider","_a","reCaptchaKey","_b","_c","scriptProps","language","useState","greCaptchaInstance","setGreCaptchaInstance","clientId","useRef","scriptPropsJson","parametersJson","onLoadCallbackName","grecaptcha","useEnterprise","enterprise","badge","sitekey","onLoad","useRecaptchaNet","_f","_g","appendTo","googleRecaptchaSrc","nonce","async","injectGoogleReCaptchaScript","SCRIPT_NOT_AVAILABLE","useCallback","execute","googleReCaptchaContextValue","useMemo","useGoogleReCaptcha","require$$0","global","remainder","hasFunc","isArguments","symbolsFunc","resIndex","isUndefined","reHasUnicode","hasUnicode","baseIsNaN","strictIndexOf","memoize","resolver","memoized","memoizeCapped","rePropName","reEscapeChar","charCodeAt","quote","subString","castSlice","createCaseFirst","strSymbols","chr","trailing","reWhitespace","trimmedEndIndex","reTrimStart","baseTrim","reIsBadHex","reIsBinary","reIsOctal","freeParseInt","isBinary","setCacheAdd","setCacheHas","asciiToArray","rsAstral","rsCombo","rsFitz","rsNonAstral","rsSymbol","reUnicode","unicodeToArray","baseTimes","inherited","isArg","isBuff","skipIndexes","baseIsArguments","typedArrayTags","baseIsTypedArray","nodeIsTypedArray","cachedSetTimeout","cachedClearTimeout","defaultSetTimout","defaultClearTimeout","runTimeout","fun","currentQueue","queue","draining","queueIndex","cleanUpNextTick","drainQueue","run","marker","runClearTimeout","Item","browser","env","argv","versions","addListener","once","removeListener","removeAllListeners","emit","prependListener","prependOnceListener","cwd","chdir","umask","originalModule","webpackPolyfill","Elements","deprecate","arrayWithHoles","iterableToArrayLimit","unsupportedIterableToArray","nonIterableRest","arrayLikeToArray","isValidRotation","isValidScrollMode","ScrollMode","isValidSpreadMode","SpreadMode","isPortraitOrientation","getPDFFileNameFromURL","defaultFilename","isDataSchema","reURI","reFilename","splitURI","suggestedFilename","noContextMenuHandler","parseQueryString","backtrackBeforeAllVisibleElements","getVisibleElements","scrollEl","views","sortByVisibility","clientHeight","clientWidth","isElementBottomAfterViewTop","offsetTop","isElementRightAfterViewLeft","offsetLeft","visible","numViews","firstVisibleElementInd","binarySearchFirstItem","lastEdge","currentWidth","currentHeight","viewWidth","viewHeight","viewRight","viewBottom","hiddenHeight","hiddenWidth","percent","pc","abs","roundToDivide","getPageSizeInches","userUnit","changeOrientation","approximateFraction","xinv","x_","getOutputScale","backingStoreRatio","webkitBackingStorePixelRatio","mozBackingStorePixelRatio","msBackingStorePixelRatio","oBackingStorePixelRatio","backingStorePixelRatio","scaled","spot","skipOverflowHiddenElements","offsetParent","scrollHeight","scrollWidth","dataset","_scaleY","_scaleX","watchScroll","viewAreaElement","debounceScroll","rAF","currentX","lastX","currentY","lastY","down","_eventHandler","normalizeWheelEventDelta","sqrt","deltaX","deltaY","atan2","PI","deltaMode","MOUSE_PIXELS_PER_LINE","waitOnEventOrTimeout","_off","WaitOnType","EVENT","_on","timeoutHandler","TIMEOUT","moveToEndOfArray","moved","write","read","animationStarted","ProgressBar","NullL10n","TextLayerMode","RendererType","PresentationModeState","VERTICAL_PADDING","SCROLLBAR_PADDING","MAX_AUTO_SCALE","UNKNOWN_SCALE","MAX_SCALE","MIN_SCALE","DEFAULT_SCALE","DEFAULT_SCALE_VALUE","CSS_UNITS","AutoPrintRegExp","NORMAL","CHANGING","FULLSCREEN","CANVAS","SVG","DISABLE","ENABLE","ENABLE_ENHANCE","VERTICAL","HORIZONTAL","WRAPPED","ODD","EVEN","formatL10nValue","getLanguage","getDirection","fallback","translate","minIndex","currentIndex","elt","pageTop","external","eventListeners","externalListeners","units","bar","_indeterminate","progressSize","_percent","_updateBar","scrollbarWidth","baseFilter","format","argIndex","framesToPop","commonjsGlobal","createEventEmitter","changedBits","calculateChangedBits","_Provider$childContex","_Consumer$contextType","contextProp","getUniqueId","emitter","getChildContext","componentWillReceiveProps","oldValue","_Component2","onUpdate","observedBits","_proto2","isarray","compile","tokensToFunction","tokensToRegExp","PATH_REGEXP","tokens","defaultDelimiter","delimiter","escaped","modifier","asterisk","partial","repeat","escapeGroup","escapeString","encodeURIComponentPretty","encodeURI","flags","pretty","segment","attachKeys","re","route","endsWithDelimiter","groups","regexpToRegexp","arrayToRegexp","stringToRegexp","OutboundLink","eventLabel","trackerNames","eventMeta","sameTarget","normalClick","ctrlKey","metaKey","button","trackLink","redactEmail","smallWords","toTitleCase","isLoaded","log","gaCalls","calls","ga","resetCalls","_arrayWithoutHoles","_iterableToArray","_nonIterableSpread","_isNotBrowser","_debug","_titleCase","_testMode","_alwaysSendToDefaultTracker","_redactEmail","internalGa","_window","TestModeAPI","_format","titleCase","redactingEmail","_str","_gaCommand","command","gaTrackingID","debug","useExistingGa","gaOptions","addTrackers","configsOrTrackingId","config","trackingId","initialize","testMode","standardImplementation","gaAddress","loadGA","alwaysSendToDefaultTracker","fieldsObject","fieldObject","pageview","rawPath","extraFields","hitType","extraLog","modalview","rawModalName","modalName","timing","category","timingCategory","timingVar","timingValue","timingLabel","nonInteraction","eventCategory","eventAction","eventValue","exDescription","exFatal","plugin","rawName","trackerName","requireString","pluginName","actionType","outboundLink","hitCallback","safetyCallbackCalled","testModeAPI","UnboundOutboundLink","origTrackLink","Defaults","SegmentGroup","piled","raised","SegmentInline","Segment","clearing","placeholder","padded","secondary","tertiary","Inline","scope","Timeout","clearFn","_id","_clearFn","setInterval","clearInterval","unref","enroll","msecs","_idleTimeoutId","_idleTimeout","unenroll","_unrefActive","_onTimeout","setImmediate","clearImmediate","getRandomValues","crypto","msCrypto","rnds8","rnds","byteToHex","buf","bth","getAutoControlledStateValue","includeDefaults","propValue","defaultProp","initialState","ModernAutoControlledComponent","_this$constructor","autoControlledProps","getAutoControlledStateFromProps","initialAutoControlledState","newStateFromProps","computedState","elementsContext","useContext","_elements$recurly","normalCompletion","didErr","_e2","arrayWithoutHoles","iterableToArray","nonIterableSpread","runtime","Op","hasOwn","$Symbol","iteratorSymbol","asyncIteratorSymbol","asyncIterator","toStringTagSymbol","define","innerFn","outerFn","tryLocsList","protoGenerator","Generator","generator","doneResult","delegate","delegateResult","maybeInvokeDelegate","ContinueSentinel","_sent","dispatchException","record","tryCatch","makeInvokeMethod","GeneratorFunction","GeneratorFunctionPrototype","IteratorPrototype","getProto","NativeIteratorPrototype","Gp","defineIteratorMethods","AsyncIterator","PromiseImpl","previousPromise","callInvokeWithMethodAndArg","__await","unwrapped","resultName","nextLoc","pushTryEntry","locs","tryLoc","catchLoc","finallyLoc","afterLoc","tryEntries","resetTryEntry","completion","iteratorMethod","isGeneratorFunction","genFun","awrap","skipTempReset","rootRecord","rval","handle","loc","caught","hasCatch","hasFinally","finallyEntry","finish","thrown","delegateYield","regeneratorRuntime","accidentalStrictMode","EventListener","nativeMin","baseInRange","inRange","doesNodeContainClick","clientX","clientY","clientRects","getClientRects","_first2","_first","_inRange","hasMap","hasSet","hasArrayBuffer","isView","objA","objB","compareContext","keysA","keysB","bHasOwnProperty","valueA","valueB","allocUnsafe","cursor","sorted","outgoingEdges","edge","makeOutgoingEdges","nodesHash","makeNodesHash","visit","predecessors","nodeRep","outgoing","uniqueNodes","isFrozen","freeze","seal","arrayForEach","unapply","arrayPop","stringToLowerCase","stringMatch","stringReplace","stringIndexOf","stringTrim","regExpTest","typeErrorCreate","lcElement","newObject","svgFilters","svgDisallowed","mathMl","mathMlDisallowed","xml","MUSTACHE_EXPR","ERB_EXPR","DATA_ATTR","ARIA_ATTR","IS_ALLOWED_URI","IS_SCRIPT_OR_DATA","ATTR_WHITESPACE","getGlobal","_createTrustedTypesPolicy","trustedTypes","suffix","policyName","createPolicy","createHTML","DOMPurify","createDOMPurify","originalDocument","DocumentFragment","HTMLTemplateElement","Node","NodeFilter","NamedNodeMap","Text","Comment","DOMParser","ElementPrototype","cloneNode","lookupGetter","getNextSibling","getChildNodes","getParentNode","template","trustedTypesPolicy","emptyHTML","implementation","createNodeIterator","createDocumentFragment","documentMode","hooks","ALLOWED_TAGS","DEFAULT_ALLOWED_TAGS","addToSet","ALLOWED_ATTR","DEFAULT_ALLOWED_ATTR","FORBID_TAGS","FORBID_ATTR","ALLOW_ARIA_ATTR","ALLOW_DATA_ATTR","ALLOW_UNKNOWN_PROTOCOLS","SAFE_FOR_TEMPLATES","WHOLE_DOCUMENT","SET_CONFIG","FORCE_BODY","RETURN_DOM","RETURN_DOM_FRAGMENT","RETURN_DOM_IMPORT","RETURN_TRUSTED_TYPE","SANITIZE_DOM","KEEP_CONTENT","IN_PLACE","USE_PROFILES","FORBID_CONTENTS","DATA_URI_TAGS","DEFAULT_DATA_URI_TAGS","URI_SAFE_ATTRIBUTES","DEFAULT_URI_SAFE_ATTRIBUTES","CONFIG","formElement","_parseConfig","cfg","MATHML_TEXT_INTEGRATION_POINTS","HTML_INTEGRATION_POINTS","ALL_SVG_TAGS","ALL_MATHML_TAGS","MATHML_NAMESPACE","SVG_NAMESPACE","HTML_NAMESPACE","_checkValidNamespace","namespaceURI","parentTagName","commonSvgAndHTMLElements","_forceRemove","_removeAttribute","_initDocument","leadingWhitespace","dirtyPayload","_createIterator","_isClobbered","elm","_isNode","_executeHook","hook","_sanitizeElements","currentNode","allowedTags","_isValidAttribute","lcName","lcTag","_sanitizeAttributes","hookEvent","keepAttr","allowedAttributes","_sanitizeShadowDOM","shadowNode","shadowIterator","importedNode","oldNode","returnNode","nodeIterator","serializedHTML","entryPoint","hookFunction","SimpleLinkService","_ui_utils","externalLinkRel","externalLinkEnabled","ignoreDestinationZoom","_ignoreDestinationZoom","pdfDocument","pdfViewer","pdfHistory","_pagesRefCache","currentPageNumber","pagesRotation","namedDest","explicitDest","destArray","goToDestination","destRef","_cachedPageNumber","cachePageRef","pagesCount","pushCurrentPosition","phraseSearch","phrase","zoomArgs","zoom","zoomArg","zoomArgNumber","allowNegativeOffset","pagemode","navigateTo","nameddest","destLength","allowNull","isValidExplicitDestination","forward","pageNum","pageRef","refStr","isPageVisible","eventNames","play","ended","timeupdate","progress","seeked","texttrackchange","cuechange","cuepoint","volumechange","playbackratechange","Vimeo","refContainer","createPlayer","changes","updateProps","player","getInitialOptions","video","autopause","autoplay","byline","showByline","controls","loop","portrait","showPortrait","showTitle","muted","responsive","dnt","speed","propNames","setAutopause","setColor","setLoop","setVolume","getPaused","paused","loadVideo","setCurrentTime","unload","volume","Player","dmName","reactName","getMethodName","isDomElement","ownerDocument","defaultView","isFinite","isVimeoUrl","getVimeoUrl","oEmbedParameters","idOrUrl","arrayIndexOfSupport","postMessageSupport","genId","checkInstance","rand","npo_src","createCommonjsModule","definition","builtInProp","cycle","scheduling_queue","ToString","timer","schedule","drain","isThenable","_then","o_type","notify","chain","notifyIsolated","failure","triggered","def_wrapper","MakeDefWrapper","iteratePromises","rejecter","MakeDef","executor","__NPO__","PromisePrototype","msgs","callbackMap","storeCallback","playerCallbacks","getCallbacks","removeCallback","swapCallbacks","oldElement","getOEmbedParameters","defaults","createEmbed","getOEmbedData","videoUrl","XDomainRequest","open","json","responseText","domain_status_code","parseMessageData","contentWindow","ieVersion","processData","callbacks","shiftCallbacks","playerMap","readyMap","screenfull","jQuery","iframe","readyPromise","_onMessage","isReadyEvent","isPingResponse","_originalElement","isEnabled","exitFullscreen","exit","isFullscreen","callMethod","_this5","camera","currentTime","playbackRate","quality","fnMap","eventNameMap","fullscreenchange","fullscreenerror","onFullScreenEntered","returnPromise","documentElement","requestFullscreen","onFullScreenExit","fullscreenElement","fullscreenEnabled","initializeScreenfull","handleError","initializeEmbeds","VimeoPlayerResizeEmbeds_","onMessage","iframes","resizeEmbeds","documentRef","PortalInner","_this$props$mountNode","mountNode","createPortal","Portal","contentRef","triggerRef","latestDocumentMouseDownEvent","handleDocumentMouseDown","handleDocumentClick","closeOnDocumentClick","currentMouseDownEvent","handleEscape","closeOnEscape","handlePortalMouseLeave","closeOnPortalMouseLeave","mouseLeaveDelay","mouseLeaveTimer","closeWithTimeout","handlePortalMouseEnter","handleTriggerBlur","closeOnTriggerBlur","relatedTarget","didFocusPortal","handleTriggerClick","closeOnTriggerClick","openOnTriggerClick","handleTriggerFocus","openOnTriggerFocus","handleTriggerMouseLeave","mouseEnterTimer","closeOnTriggerMouseLeave","handleTriggerMouseEnter","_this$props6","mouseEnterDelay","openOnTriggerMouseEnter","openWithTimeout","eventClone","handleMount","handleUnmount","handleTriggerRef","_this$props7","eventPool","Fragment","onMount","onUnmount","EventStack","pool","cloneElement","onMouseLeave","onMouseEnter","Inner","DimmerDimmable","blurring","dimmed","DimmerInner","containerRef","toggleStyles","currentActive","setProperty","removeProperty","simple","childrenContent","Dimmer","handlePortalMount","handlePortalUnmount","Dimmable","ImageGroup","avatar","centered","dimmer","fluid","hidden","inline","rounded","spaced","wrapped","ui","_partitionHTMLProps","imgTagProps","rootProps","MenuHeader","MenuMenu","Menu","handleItemOverrides","itemProps","activeIndex","renderItems","_map","borderless","fixed","stackable","tabular","widths","Header","GridRow","columns","divided","reversed","Grid","celled","doubling","relaxed","Column","Row","enqueueForceUpdate","enqueueReplaceState","enqueueSetState","updater","isReactComponent","forceUpdate","isPureReactComponent","__self","__source","_owner","_status","_result","ReactCurrentDispatcher","ReactCurrentBatchConfig","ReactCurrentOwner","Profiler","StrictMode","Suspense","__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED","_currentValue","_currentValue2","_threadCount","_defaultValue","_globalName","createFactory","isValidElement","lazy","_payload","_init","startTransition","unstable_act","useDebugValue","useDeferredValue","useId","useImperativeHandle","useInsertionEffect","useReducer","useSyncExternalStore","useTransition","aa","ca","da","ea","fa","ha","ia","ja","ka","la","ma","acceptsBooleans","attributeName","attributeNamespace","mustUseProperty","propertyName","sanitizeURL","removeEmptyString","ra","sa","ta","pa","qa","oa","setAttributeNS","xlinkHref","va","wa","ya","za","Aa","Ba","Ca","Da","Ea","Fa","Ga","Ha","Ia","Ja","Ka","La","Ma","Na","Oa","prepareStackTrace","Pa","Ra","Qa","Sa","Ta","Va","_valueTracker","stopTracking","Ua","Wa","Xa","Ya","defaultChecked","_wrapperState","initialChecked","Za","controlled","ab","bb","db","eb","fb","selected","defaultSelected","gb","hb","ib","jb","kb","lb","mb","nb","MSApp","execUnsafeLocalFunction","ob","pb","animationIterationCount","aspectRatio","borderImageOutset","borderImageSlice","borderImageWidth","boxFlex","boxFlexGroup","boxOrdinalGroup","columnCount","flex","flexGrow","flexPositive","flexShrink","flexNegative","flexOrder","gridArea","gridRow","gridRowEnd","gridRowSpan","gridRowStart","gridColumn","gridColumnEnd","gridColumnSpan","gridColumnStart","lineClamp","lineHeight","opacity","order","orphans","tabSize","widows","zIndex","fillOpacity","floodOpacity","stopOpacity","strokeDasharray","strokeDashoffset","strokeMiterlimit","strokeOpacity","strokeWidth","qb","rb","sb","tb","menuitem","area","embed","hr","keygen","track","wbr","ub","vb","wb","srcElement","correspondingUseElement","yb","zb","Ab","Bb","Cb","stateNode","Db","Eb","Fb","Gb","Hb","Ib","Jb","Kb","Lb","Mb","Nb","Ob","Pb","Qb","Rb","Sb","Tb","Vb","alternate","return","Wb","memoizedState","dehydrated","Xb","Zb","sibling","Yb","$b","ac","unstable_scheduleCallback","bc","unstable_cancelCallback","cc","unstable_shouldYield","dc","unstable_requestPaint","unstable_now","ec","unstable_getCurrentPriorityLevel","fc","unstable_ImmediatePriority","gc","unstable_UserBlockingPriority","hc","unstable_NormalPriority","ic","unstable_LowPriority","jc","unstable_IdlePriority","kc","lc","oc","clz32","qc","LN2","rc","sc","tc","uc","pendingLanes","suspendedLanes","pingedLanes","entangledLanes","entanglements","vc","xc","yc","zc","Ac","eventTimes","Cc","Dc","Ec","Fc","Gc","Hc","Ic","Jc","Kc","Lc","Mc","Nc","Oc","Pc","Qc","Rc","Sc","pointerId","Tc","nativeEvent","blockedOn","domEventName","eventSystemFlags","targetContainers","Vc","Wc","priority","isDehydrated","containerInfo","Xc","Yc","Zc","$c","ad","bd","cd","dd","ed","fd","gd","hd","Uc","stopPropagation","jd","kd","ld","md","nd","od","charCode","pd","qd","rd","_reactName","_targetInst","currentTarget","isDefaultPrevented","defaultPrevented","returnValue","isPropagationStopped","cancelBubble","persist","isPersistent","wd","xd","yd","sd","eventPhase","timeStamp","isTrusted","td","ud","vd","Ad","screenX","screenY","pageX","pageY","altKey","getModifierState","zd","buttons","fromElement","toElement","movementX","movementY","Bd","Dd","dataTransfer","Fd","Hd","animationName","elapsedTime","pseudoElement","Jd","clipboardData","Ld","Md","Esc","Left","Up","Right","Down","Del","Win","Apps","Scroll","MozPrintableKey","Nd","112","113","114","115","116","117","118","119","120","121","122","123","Od","Pd","Rd","Td","pressure","tangentialPressure","tiltX","tiltY","twist","pointerType","isPrimary","Vd","touches","targetTouches","changedTouches","Xd","Zd","wheelDeltaX","wheelDeltaY","wheelDelta","deltaZ","$d","ae","be","ce","de","ee","fe","ge","he","ie","le","datetime","tel","week","me","ne","oe","pe","qe","se","te","ue","ve","we","xe","ye","ze","oninput","Ae","detachEvent","Be","Ce","attachEvent","De","Ee","Fe","He","Ie","Je","Ke","nextSibling","Me","HTMLIFrameElement","Ne","contentEditable","Oe","focusedElem","selectionRange","Le","compareDocumentPosition","selectionStart","selectionEnd","getSelection","rangeCount","anchorNode","anchorOffset","focusNode","focusOffset","createRange","setStart","removeAllRanges","addRange","setEnd","Pe","Qe","Re","Se","Te","Ue","Ve","We","animationend","animationiteration","animationstart","transitionend","Xe","Ye","Ze","animation","$e","af","bf","cf","df","ef","ff","gf","hf","lf","mf","nf","Ub","qf","rf","sf","passive","tf","uf","parentWindow","vf","wf","na","$a","ba","je","char","ke","xf","yf","zf","Af","Bf","Cf","Df","Ef","Ff","Gf","Hf","Jf","queueMicrotask","If","Kf","Lf","Mf","Nf","Of","Pf","Qf","Rf","Sf","Tf","Uf","Vf","Wf","Xf","Yf","__reactInternalMemoizedUnmaskedChildContext","__reactInternalMemoizedMaskedChildContext","Zf","$f","ag","bg","cg","__reactInternalMemoizedMergedChildContext","dg","eg","fg","gg","hg","jg","kg","lg","mg","ng","og","pg","qg","rg","sg","tg","ug","vg","wg","xg","yg","zg","Ag","Bg","elementType","deletions","Cg","pendingProps","treeContext","retryLane","Dg","Eg","Fg","Gg","memoizedProps","Hg","Ig","Jg","Kg","Lg","Mg","Ng","Og","Pg","Qg","Rg","Sg","childLanes","Tg","dependencies","firstContext","lanes","Ug","Vg","memoizedValue","Wg","Xg","Yg","interleaved","Zg","$g","updateQueue","baseState","firstBaseUpdate","lastBaseUpdate","shared","pending","effects","bh","eventTime","lane","dh","eh","fh","gh","hh","ih","jh","kh","nh","_reactInternals","lh","mh","oh","ph","qh","UNSAFE_componentWillReceiveProps","rh","getSnapshotBeforeUpdate","UNSAFE_componentWillMount","componentWillMount","sh","_stringRef","th","uh","vh","wh","xh","zh","Ah","Bh","Ch","Dh","Eh","Fh","Gh","Hh","Ih","Jh","Kh","Lh","Mh","revealOrder","Nh","Oh","_workInProgressVersionPrimary","Ph","Qh","Rh","Sh","Th","Uh","Vh","Wh","Xh","Yh","Zh","$h","ai","bi","ci","baseQueue","di","ei","fi","lastRenderedReducer","hasEagerState","eagerState","lastRenderedState","gi","hi","ji","ki","getSnapshot","li","mi","ni","lastEffect","stores","oi","qi","ri","si","ti","vi","wi","xi","yi","zi","Ai","Bi","Ci","Di","Ei","Fi","Gi","Hi","Ii","Ji","readContext","useMutableSource","unstable_isNewReconciler","identifierPrefix","Ki","digest","Li","Mi","Ni","Oi","Pi","Qi","Ri","componentDidCatch","Si","componentStack","Ti","pingCache","Ui","Vi","Wi","Xi","Yi","Zi","$i","aj","bj","cj","dj","ej","baseLanes","cachePool","transitions","fj","gj","hj","ij","UNSAFE_componentWillUpdate","componentWillUpdate","kj","lj","pendingContext","mj","Aj","Cj","Dj","nj","oj","pj","qj","rj","tj","dgst","uj","vj","_reactRetry","sj","subtreeFlags","wj","xj","isBackwards","rendering","renderingStartTime","tail","tailMode","yj","Ej","Fj","Gj","wasMultiple","suppressHydrationWarning","onclick","autoFocus","Hj","Ij","Jj","Kj","Lj","WeakSet","Mj","Nj","Oj","Qj","Rj","Sj","Tj","Uj","Vj","Yj","Zj","ak","onCommitFiberUnmount","bk","ck","dk","ek","fk","isHidden","gk","hk","Xj","Wj","_reactRootContainer","ik","jk","lk","__reactInternalSnapshotBeforeUpdate","Wk","mk","ceil","nk","pk","qk","rk","sk","tk","uk","vk","wk","xk","yk","zk","Ak","Bk","Ck","Dk","Ek","callbackNode","expirationTimes","expiredLanes","wc","callbackPriority","ig","Fk","Gk","Hk","Ik","Jk","Kk","Lk","Mk","Nk","Ok","Pk","finishedWork","finishedLanes","Qk","timeoutHandle","Rk","Sk","Tk","Uk","Vk","mutableReadLanes","Bc","Pj","onCommitFiberRoot","mc","onRecoverableError","Xk","onPostCommitFiberRoot","Yk","Zk","al","pendingChildren","mutableSourceEagerHydrationData","cl","pendingSuspenseBoundaries","dl","fl","hl","il","jl","zj","$k","reportError","ml","_internalRoot","nl","ol","pl","ql","sl","rl","unmount","unstable_scheduleHydration","tl","usingClientEntryPoint","Events","findFiberByHostInstance","bundleType","rendererPackageName","vl","rendererConfig","overrideHookState","overrideHookStateDeletePath","overrideHookStateRenamePath","overridePropsDeletePath","overridePropsRenamePath","setErrorHandler","setSuspenseHandler","scheduleUpdate","currentDispatcherRef","findHostInstanceByFiber","findHostInstancesForRefresh","scheduleRefresh","scheduleRoot","setRefreshHandler","getCurrentFiber","reconcilerVersion","wl","isDisabled","supportsFiber","inject","createRoot","unstable_strictMode","findDOMNode","flushSync","hydrate","hydrateRoot","hydratedSources","_getVersion","_source","unmountComponentAtNode","unstable_batchedUpdates","unstable_renderSubtreeIntoContainer","sortIndex","performance","startTime","expirationTime","priorityLevel","scheduling","isInputPending","MessageChannel","port2","port1","onmessage","unstable_Profiling","unstable_continueExecution","unstable_forceFrameRate","unstable_getFirstCallbackNode","unstable_next","unstable_pauseExecution","unstable_runWithPriority","unstable_wrapCallback","registerImmediate","nextHandle","tasksByHandle","currentlyRunningATask","attachTo","runIfPresent","importScripts","postMessageIsAsynchronous","oldOnMessage","canUsePostMessage","messagePrefix","onGlobalMessage","installPostMessageImplementation","channel","installMessageChannelImplementation","onreadystatechange","installReadyStateChangeImplementation","ReactPropTypesSecret","emptyFunction","emptyFunctionWithReset","resetWarningCache","shim","propFullName","secret","getShim","ReactPropTypes","objectOf","checkPropTypes","_nodeId","_clockseq","rng","bytesToUuid","_lastMSecs","_lastNSecs","clockseq","seedBytes","nsecs","dt","tmh","EventSet","cloneMap","normalizeHandlers","normalizeTarget","EventPool","handlerSets","poolName","addHandlers","hasHandlers","removeHandlers","EventTarget","pools","createByType","addTargetHandler","removeTargetHandler","createEmitter","targets","getTarget","removeTarget","EventStack$1","subscribe","unsubscribe","sub","unsub","ExecutionEnvironment","canUseWorkers","canUseEventListeners","canUseViewport","AsyncMode","ConcurrentMode","ContextConsumer","ContextProvider","isAsyncMode","isConcurrentMode","isContextConsumer","isContextProvider","isElement","isForwardRef","isFragment","isLazy","isPortal","isProfiler","isStrictMode","isSuspense","isValidElementType","CardElement","_Element","areInputsEqual","newInputs","lastInputs","memoizeOne","resultFn","lastThis","lastResult","lastArgs","calledOnce","newArgs","CardNumberElement","CardMonthElement","CardYearElement","CardCvvElement","RISK_STRATEGIES","RiskDataCollector","strategy","_fraud","ThreeDSecureAction","actionTokenId","_risk","Risk","_threeDSecure","ThreeDSecure","onToken","initialInputs","throwError","_useState","_useState2","setLoading","_useState3","_useState4","setInput","_useState5","Pricing","Checkout","_useState6","pricing","setPricing","_input$subscriptions","subscriptions","_input$adjustments","adjustments","restInputs","checkoutPricing","subscriptionPricings","subscriptionPricing","plan","tax","_ref2$addons","addons","quantity","Subscription","addon","addAddons","subscription","addSubscriptions","adjustment","reprice","addAdjustments","restInputsEntries","PRICING_METHODS","permittedInputs","_input","addRestInputs","pricingState","price","_cloneDeep","_arrayWithHoles","_iterableToArrayLimit","_nonIterableRest","singleMatcher","multiMatcher","decodeComponents","components","encodedURI","replaceMap","customDecodeURIComponent","separator","separatorIndex","base64","ieee754","kMaxLength","TYPED_ARRAY_SUPPORT","createBuffer","that","RangeError","encodingOrOffset","fromArrayLike","fromArrayBuffer","isEncoding","actual","fromString","fromObject","assertSize","loweredCase","utf8ToBytes","base64ToBytes","slowToString","hexSlice","utf8Slice","asciiSlice","latin1Slice","base64Slice","utf16leSlice","bidirectionalIndexOf","arrayIndexOf","indexSize","valLength","readUInt16BE","foundIndex","hexWrite","strLen","utf8Write","blitBuffer","asciiWrite","byteArray","asciiToBytes","latin1Write","base64Write","ucs2Write","lo","utf16leToBytes","fromByteArray","secondByte","thirdByte","fourthByte","tempCodePoint","firstByte","codePoint","bytesPerSequence","codePoints","decodeCodePointsArray","SlowBuffer","alloc","INSPECT_MAX_BYTES","foo","subarray","typedArraySupport","poolSize","_augment","species","allocUnsafeSlow","_isBuffer","swap16","swap32","swap64","equals","inspect","thisStart","thisEnd","thisCopy","targetCopy","toJSON","out","toHex","checkOffset","ext","checkInt","objectWriteUInt16","littleEndian","objectWriteUInt32","checkIEEE754","writeFloat","noAssert","writeDouble","newBuf","sliceLen","readUIntLE","mul","readUIntBE","readUInt8","readUInt16LE","readUInt32LE","readUInt32BE","readIntLE","pow","readIntBE","readInt8","readInt16LE","readInt16BE","readInt32LE","readInt32BE","readFloatLE","readFloatBE","readDoubleLE","readDoubleBE","writeUIntLE","writeUIntBE","writeUInt8","writeUInt16LE","writeUInt16BE","writeUInt32LE","writeUInt32BE","writeIntLE","writeIntBE","writeInt8","writeInt16LE","writeInt16BE","writeInt32LE","writeInt32BE","writeFloatLE","writeFloatBE","writeDoubleLE","writeDoubleBE","targetStart","INVALID_BASE64_RE","leadSurrogate","toByteArray","stringtrim","base64clean","dst","b64","lens","getLens","validLen","placeHoldersLen","Arr","_byteLength","curByte","revLookup","uint8","extraBytes","len2","encodeChunk","lookup","isLE","mLen","nBytes","eLen","eMax","eBias","nBits","rt","superPropBase","_get","receiver","isNativeReflectConstruct","possibleConstructorReturn","ButtonContent","ButtonGroup","labeled","primary","Button","ButtonOr","computeElementType","computeTabIndex","hasIconClass","labelPosition","computeButtonAriaRole","role","animated","baseClasses","labeledClasses","wrapperClasses","buttonClasses","containerClasses","labelElement","hasChildren","Content","Or","Navigation","toggleEl","$el","disabledClass","update","_swiper$navigation","$nextEl","$prevEl","isBeginning","watchOverflow","isLocked","lockClass","isEnd","onPrevClick","slidePrev","onNextClick","slideNext","uniqueNavElements","_swiper$navigation2","hideOnClick","hiddenClass","swiper","toEdge","fromEdge","_swiper$navigation3","click","_swiper$navigation4","targetEl","clickable","Pagination","rtl","slidesLength","virtual","slides","loopedSlides","slidesPerGroup","snapGrid","paginationType","snapIndex","bullets","firstIndex","midIndex","dynamicBullets","bulletSize","isHorizontal","dynamicMainBullets","previousIndex","dynamicBulletIndex","bulletActiveClass","bullet","$bullet","bulletIndex","$firstDisplayedBullet","$lastDisplayedBullet","dynamicBulletsLength","bulletsOffset","offsetProp","currentClass","formatFractionCurrent","totalClass","formatFractionTotal","progressbarDirection","progressbarOpposite","progressbarFillClass","renderCustom","paginationHTML","numberOfBullets","freeMode","renderBullet","bulletClass","bulletElement","renderFraction","renderProgressbar","clickableClass","modifierClass","progressbarOppositeClass","slideTo","activeIndexChange","snapIndexChange","slidesLengthChange","snapGridLengthChange","Scrollbar","setTranslate","rtlTranslate","dragSize","trackSize","$dragEl","newSize","newPos","hide","setTransition","updateSize","divider","virtualSize","moveDivider","getPointerPosition","setDragPosition","positionRatio","dragStartPos","minTranslate","maxTranslate","updateProgress","updateActiveIndex","updateSlidesClasses","onDragStart","$wrapperEl","isTouched","dragTimeout","cssMode","onDragMove","onDragEnd","snapOnRelease","slideToClosest","enableDraggable","touchEventsTouch","touchEventsDesktop","support","activeListener","passiveListener","passiveListeners","touch","disableDraggable","$swiperEl","dragClass","dragEl","draggable","resize","observerUpdate","A11y","getRandomNumber","makeElFocusable","makeElNotFocusable","addElRole","addElRoleDescription","addElControls","addElLabel","addElId","addElLive","live","disableEl","enableEl","onEnterOrSpaceKey","a11y","$targetEl","lastSlideMessage","nextSlideMessage","firstSlideMessage","prevSlideMessage","notification","liveRegion","updateNavigation","updatePagination","bulletEl","$bulletEl","paginationBulletMessage","$containerEl","containerRoleDescriptionMessage","containerMessage","wrapperId","itemRoleDescriptionMessage","slideRole","slideDuplicateClass","slideEl","$slideEl","slideIndex","ariaLabelMessage","slideLabelMessage","notificationClass","afterInit","paginationUpdate","_excluded","SwiperSlide","externalRef","slideData","_ref$tag","Tag","_ref$className","virtualIndex","slideElRef","slideClasses","setSlideClasses","updateClasses","destroyed","getSlideClasses","isVisible","isDuplicate","isPrev","isNext","Container","Input","computeIcon","select","handleChildOverrides","partitionProps","unhandled","actionPosition","iconPosition","transparent","_this$partitionProps","childElements","actionElement","Sticky","sticky","stickyRef","addListeners","scrollContext","scrollContextNode","eventStack","handleUpdate","removeListeners","pushing","ticking","assignRects","didReachStartingPoint","stickToContextTop","didTouchScreenBottom","stickToScreenBottom","stickToContextBottom","isOversized","contextRect","innerHeight","didTouchScreenTop","didReachContextBottom","stickToScreenTop","frameId","contextNode","triggerRect","stickyRect","bottomOffset","stick","bound","unstick","computeStyle","_this$state","_this$state2","elementClasses","triggerStyles","Loader","indeterminate","Divider","section","device","getSupport","DocumentTouch","PointerEvent","maxTouchPoints","supportsPassive","gestures","calcSupport","getDevice","platform","ios","android","screenWidth","screenHeight","ipad","ipod","iphone","windows","macos","os","calcDevice","getBrowser","isEdge","isSafari","isWebView","calcBrowser","createObserver","initialized","ResizeObserver","contentBoxSize","contentRect","inlineSize","blockSize","resizeHandler","removeObserver","unobserve","orientationChangeHandler","resizeObserver","Observer","WebkitMutationObserver","mutations","characterData","observers","observeParents","containerParents","observeSlideChildren","onTouchStart","touchEventsData","animating","preventInteractionOnTransition","originalEvent","touchEventsTarget","wrapperEl","isTouchEvent","isMoved","noSwipingClass","shadowRoot","noSwipingSelector","isTargetShadow","noSwiping","__closestFrom","assignedSlot","getRootNode","closestElement","allowClick","swipeHandler","startX","startY","edgeSwipeDetection","iOSEdgeSwipeDetection","edgeSwipeThreshold","iOSEdgeSwipeThreshold","innerWidth","allowTouchCallbacks","isScrolling","startMoving","touchStartTime","swipeDirection","threshold","allowThresholdMove","focusableElements","shouldPreventDefault","allowTouchMove","touchStartPreventDefault","touchStartForcePreventDefault","isContentEditable","onTouchMove","targetTouch","preventedByNestedSwiper","touchReleaseOnEdges","isVertical","diffX","diffY","touchAngle","touchMoveStopPropagation","nested","loopFix","startTranslate","allowMomentumBounce","grabCursor","allowSlideNext","allowSlidePrev","setGrabCursor","diff","touchRatio","currentTranslate","disableParentSwiper","resistanceRatio","resistance","followFinger","watchSlidesProgress","watchSlidesVisibility","velocities","onTouchEnd","slidesGrid","currentPos","touchEndTime","timeDiff","updateClickedSlide","lastClickTime","freeModeMomentum","lastMoveEvent","velocityEvent","distance","velocity","freeModeMinimumVelocity","freeModeMomentumVelocityRatio","momentumDuration","freeModeMomentumRatio","momentumDistance","newPosition","afterBouncePosition","needsLoopFix","doBounce","bounceAmount","freeModeMomentumBounceRatio","freeModeMomentumBounce","centeredSlides","freeModeSticky","nextSlide","moveDistance","currentSlideSize","slidesSizesGrid","transitionStart","longSwipesMs","stopIndex","groupSize","slidesPerGroupSkip","_increment","ratio","increment","longSwipes","longSwipesRatio","shortSwipes","onResize","breakpoints","setBreakpoint","updateSlides","slidesPerView","checkOverflow","preventClicks","preventClicksPropagation","stopImmediatePropagation","onScroll","previousTranslate","translatesDiff","dummyEventAttached","dummyEventListener","direction","initialSlide","updateOnWindowResize","autoHeight","setWrapperSize","virtualTranslate","effect","breakpointsBase","spaceBetween","slidesPerColumn","slidesPerColumnFill","centeredSlidesBounds","slidesOffsetBefore","slidesOffsetAfter","normalizeSlideIndex","centerInsufficientSlides","roundLengths","simulateTouch","slideToClickedSlide","preloadImages","updateOnImagesReady","loopAdditionalSlides","loopFillGroupWithBlank","loopPreventsSlide","containerModifierClass","slideClass","slideBlankClass","slideActiveClass","slideDuplicateActiveClass","slideVisibleClass","slideNextClass","slideDuplicateNextClass","slidePrevClass","slideDuplicatePrevClass","wrapperClass","runCallbacksOnInit","_emitClasses","prototypes","modular","useParams","instanceParams","modules","moduleName","useModules","modulesParams","moduleParams","moduleEventName","eventsEmitter","eventsListeners","onceHandler","__emitterProxy","onAny","eventsAnyListeners","offAny","eventsArray","getDirectionLabel","getDirectionPropertyValue","swiperSize","wrongRTL","isVirtual","previousSlidesLength","offsetBefore","offsetAfter","previousSnapGridLength","previousSlidesGridLength","slidePosition","prevSlideSize","slidesNumberEvenToRows","slideSize","marginLeft","marginBottom","marginTop","marginRight","newSlidesGrid","_$wrapperEl$css","_$wrapperEl$css2","slidesPerRow","numFullColumns","slide","newSlideOrderIndex","column","groupIndex","slideIndexInGroup","columnsInGroup","slideStyles","currentWebKitTransform","boxSizing","_slide$","swiperSlideSize","slidesGridItem","_slidesGridItem","_slides$filter$css","allSlidesSize","slideSizeValue","maxSnap","snap","_allSlidesSize","allSlidesOffset","updateSlidesOffset","updateAutoHeight","activeSlides","getSlideByIndex","visibleSlides","swiperSlideOffset","updateSlidesProgress","offsetCenter","visibleSlidesIndexes","slideProgress","slideBefore","slideAfter","multiplier","wasBeginning","wasEnd","activeSlide","realIndex","prevSlide","emitSlidesClasses","newActiveIndex","previousRealIndex","previousSnapIndex","skip","slideFound","clickedSlide","clickedIndex","byController","translateTo","runCallbacks","translateBounds","internal","newTranslate","_wrapperEl$scrollTo","isH","scrollTo","onTranslateToWrapperTransitionEnd","initial","indexAsNumber","normalizedTranslate","normalizedGird","normalizedGridNext","onSlideToWrapperTransitionEnd","slideToLoop","newIndex","_clientLeft","normalize","normalizedSnapGrid","prevSnap","slideReset","currentSnap","slidesPerViewDynamic","slideToIndex","loopCreate","blankSlidesNum","blankNode","prependSlides","appendSlides","loopDestroy","moving","unsetGrabCursor","manipulation","appendSlide","prependSlide","addSlide","activeIndexBuffer","baseLength","slidesBuffer","currentSlide","removeSlide","slidesIndexes","indexToRemove","removeAllSlides","attachEvents","detachEvents","_swiper$loopedSlides","breakpoint","getBreakpoint","currentBreakpoint","breakpointOnlyParams","paramValue","breakpointParams","originalParams","wasMultiRow","isMultiRow","wasEnabled","emitContainerClasses","directionChanged","needsReLoop","changeDirection","disable","containerEl","point","minRatio","_points$i","wasLocked","lastSlidePosition","addClasses","suffixes","resultClasses","prepareClasses","removeClasses","loadImage","imageEl","srcset","sizes","checkForComplete","imagesLoaded","imagesToLoad","currentSrc","extendedDefaults","Swiper","swipers","moduleParamName","swiperParams","passedParams","desktop","clickTimeout","setProgress","updates","spv","breakLoop","translateValue","newDirection","needUpdate","currentDirection","mount","mounted","getWrapperSelector","getWrapper","deleteInstance","cleanStyles","extendDefaults","newDefaults","installModule","use","prototypeGroup","protoMethod","Resize","paramsList","calcLoopedSlides","slidesPerViewParams","getChildren","slots","slot","foundSlides","processChildren","updateSwiper","needThumbsInit","needControllerInit","needPaginationInit","needScrollbarInit","needNavigationInit","changedParams","scrollbarEl","paginationEl","updateParams","currentParams","thumbs","control","mod","load","externalElRef","_ref$wrapperTag","wrapperTag","WrapperTag","onSwiper","eventsAssigned","setContainerClasses","virtualData","setVirtualData","breakpointChanged","setBreakpointChanged","initializedRef","swiperElRef","swiperRef","oldPassedParamsRef","oldSlides","nextElRef","prevElRef","paginationElRef","scrollbarElRef","_getParams","allowedParams","getParams","restProps","_getChildren","onBeforeBreakpoint","_containerClasses","initSwiper","extendWith","renderExternal","renderExternalUpdate","mountSwiper","oldChildren","addKey","oldChildrenKeys","childrenKeys","newKeys","oldKeys","newKey","oldKey","getChangedParams","parallax","renderVirtual","modifiedSlides","duplicateSlide","blankSlide","renderLoop","arrayAggregator","baseAggregator","createAggregator","keyBy","initializer","getChildMapping","_keyBy","_filter","_has","mergeChildMappings","childMapping","_getPendingKeys","nextKeysPending","pendingKeys","prevKey","getPendingKeys","pendingKey","wrapChild","onHide","directional","_options$transitionOn","transitionOnMount","_options$visible","Transition","reactKey","TransitionGroup","handleOnHide","nothing","prevMapping","_mapValues","nextMapping","hasPrev","hasNext","prevChild","isLeaving","_prevChild$props","_TRANSITION_CALLBACK_","_TRANSITION_STYLE_TYP","TRANSITION_CALLBACK_TYPE","TRANSITION_STYLE_TYPE","handleStart","nextStatus","durationType","durationValue","normalizeTransitionDuration","timeoutId","updateStatus","computeClasses","childClasses","SUI","childStyle","animationDuration","mountOnShow","unmountOnHide","computeStatuses","INITIAL","ENTERED","ENTERING","EXITED","EXITING","UNMOUNTED","ItemHeader","ItemDescription","ItemExtra","ItemMeta","ItemContent","extra","ItemGroup","unstackable","itemsJSX","finalKey","ItemImage","Description","Extra","createEllipsisItem","createPrevItem","activePage","createNextItem","totalPages","createLastItem","nativeCeil","baseRange","createInnerPrefix","firstGroupEnd","innerGroupStart","pageFactory","prefixPage","createInnerSuffix","innerGroupEnd","lastGroupStart","suffixPage","createSimpleRange","_range","createPaginationItems","rawOptions","boundaryRange","hideEllipsis","siblingRange","createPageFactory","innerRange","isSimplePagination","ellipsisSize","firstGroup","lastGroup","innerGroup","createComplexRange","ListDescription","ListHeader","ListContent","ListIcon","ListItem","iconElement","imageElement","headerElement","descriptionElement","ListList","List","bulleted","ordered","selection","CardDescription","CardHeader","CardMeta","CardContent","CardGroup","itemsPerRow","_item$key","Card","StepDescription","StepTitle","StepContent","StepGroup","Step","completed","Title","MessageContent","MessageHeader","MessageItem","MessageList","handleDismiss","onDismiss","dismissIcon","PlaceholderHeader","PlaceholderImage","rectangular","PlaceholderLine","PlaceholderParagraph","Placeholder","Line","Paragraph","RefFindNode","ReactDOM","prevNode","RefForward","handleRefOverride","ReactIs","childWithProps","HeaderSubheader","HeaderContent","dividing","subheader","subheaderElement","Subheader","SidebarPushable","SidebarPusher","Sidebar","handleAnimationStart","animationTimer","handleAnimationEnd","skipNextCallback","animationTick","tickIncrement","targetProp","Pushable","Pusher","PaginationItem","handleKeyDown","handleOverrides","onKeyDown","handleItemClick","nextActivePage","getInitialAutoControlledState","ellipsisItem","firstItem","lastItem","nextItem","pageItem","prevItem","TabPane","calculatedDefaultProps","panes","renderActiveOnly","pane","renderMenu","menu","menuPosition","renderVertical","grid","paneWidth","tabWidth","gridProps","Pane"],"mappings":"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","file":"static/js/2.35500a50.chunk.js","sourcesContent":["'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('./cjs/react.production.min.js');\n} else {\n module.exports = require('./cjs/react.development.js');\n}\n","export default function _extends() {\n _extends = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n\n return target;\n };\n\n return _extends.apply(this, arguments);\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","import baseIteratee from './_baseIteratee.js';\nimport isArrayLike from './isArrayLike.js';\nimport keys from './keys.js';\n\n/**\n * Creates a `_.find` or `_.findLast` function.\n *\n * @private\n * @param {Function} findIndexFunc The function to find the collection index.\n * @returns {Function} Returns the new find function.\n */\nfunction createFind(findIndexFunc) {\n return function(collection, predicate, fromIndex) {\n var iterable = Object(collection);\n if (!isArrayLike(collection)) {\n var iteratee = baseIteratee(predicate, 3);\n collection = keys(collection);\n predicate = function(key) { return iteratee(iterable[key], key, iterable); };\n }\n var index = findIndexFunc(collection, predicate, fromIndex);\n return index > -1 ? iterable[iteratee ? collection[index] : index] : undefined;\n };\n}\n\nexport default createFind;\n","import baseFindIndex from './_baseFindIndex.js';\nimport baseIteratee from './_baseIteratee.js';\nimport toInteger from './toInteger.js';\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeMax = Math.max;\n\n/**\n * This method is like `_.find` except that it returns the index of the first\n * element `predicate` returns truthy for instead of the element itself.\n *\n * @static\n * @memberOf _\n * @since 1.1.0\n * @category Array\n * @param {Array} array The array to inspect.\n * @param {Function} [predicate=_.identity] The function invoked per iteration.\n * @param {number} [fromIndex=0] The index to search from.\n * @returns {number} Returns the index of the found element, else `-1`.\n * @example\n *\n * var users = [\n * { 'user': 'barney', 'active': false },\n * { 'user': 'fred', 'active': false },\n * { 'user': 'pebbles', 'active': true }\n * ];\n *\n * _.findIndex(users, function(o) { return o.user == 'barney'; });\n * // => 0\n *\n * // The `_.matches` iteratee shorthand.\n * _.findIndex(users, { 'user': 'fred', 'active': false });\n * // => 1\n *\n * // The `_.matchesProperty` iteratee shorthand.\n * _.findIndex(users, ['active', false]);\n * // => 0\n *\n * // The `_.property` iteratee shorthand.\n * _.findIndex(users, 'active');\n * // => 2\n */\nfunction findIndex(array, predicate, fromIndex) {\n var length = array == null ? 0 : array.length;\n if (!length) {\n return -1;\n }\n var index = fromIndex == null ? 0 : toInteger(fromIndex);\n if (index < 0) {\n index = nativeMax(length + index, 0);\n }\n return baseFindIndex(array, baseIteratee(predicate, 3), index);\n}\n\nexport default findIndex;\n","import createFind from './_createFind.js';\nimport findIndex from './findIndex.js';\n\n/**\n * Iterates over elements of `collection`, returning the first element\n * `predicate` returns truthy for. The predicate is invoked with three\n * arguments: (value, index|key, collection).\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Collection\n * @param {Array|Object} collection The collection to inspect.\n * @param {Function} [predicate=_.identity] The function invoked per iteration.\n * @param {number} [fromIndex=0] The index to search from.\n * @returns {*} Returns the matched element, else `undefined`.\n * @example\n *\n * var users = [\n * { 'user': 'barney', 'age': 36, 'active': true },\n * { 'user': 'fred', 'age': 40, 'active': false },\n * { 'user': 'pebbles', 'age': 1, 'active': true }\n * ];\n *\n * _.find(users, function(o) { return o.age < 40; });\n * // => object for 'barney'\n *\n * // The `_.matches` iteratee shorthand.\n * _.find(users, { 'age': 1, 'active': true });\n * // => object for 'pebbles'\n *\n * // The `_.matchesProperty` iteratee shorthand.\n * _.find(users, ['active', false]);\n * // => object for 'fred'\n *\n * // The `_.property` iteratee shorthand.\n * _.find(users, 'active');\n * // => object for 'barney'\n */\nvar find = createFind(findIndex);\n\nexport default find;\n","import _find from \"lodash-es/find\";\nimport _some from \"lodash-es/some\";\nimport { Children } from 'react';\n/**\n * Determine if child by type exists in children.\n * @param {Object} children The children prop of a component.\n * @param {string|Function} type An html tag name string or React component.\n * @returns {Boolean}\n */\n\nexport var someByType = function someByType(children, type) {\n return _some(Children.toArray(children), {\n type: type\n });\n};\n/**\n * Find child by type.\n * @param {Object} children The children prop of a component.\n * @param {string|Function} type An html tag name string or React component.\n * @returns {undefined|Object}\n */\n\nexport var findByType = function findByType(children, type) {\n return _find(Children.toArray(children), {\n type: type\n });\n};\n/**\n * Tests if children are nil in React and Preact.\n * @param {Object} children The children prop of a component.\n * @returns {Boolean}\n */\n\nexport var isNil = function isNil(children) {\n return children === null || children === undefined || Array.isArray(children) && children.length === 0;\n};","import _uniq from \"lodash-es/uniq\";\nimport _values from \"lodash-es/values\";\nimport _keys from \"lodash-es/keys\";\nimport { numberToWordMap } from './numberToWord';\nexport var COLORS = ['red', 'orange', 'yellow', 'olive', 'green', 'teal', 'blue', 'violet', 'purple', 'pink', 'brown', 'grey', 'black'];\nexport var FLOATS = ['left', 'right'];\nexport var SIZES = ['mini', 'tiny', 'small', 'medium', 'large', 'big', 'huge', 'massive'];\nexport var TEXT_ALIGNMENTS = ['left', 'center', 'right', 'justified'];\nexport var VERTICAL_ALIGNMENTS = ['bottom', 'middle', 'top'];\nexport var VISIBILITY = ['mobile', 'tablet', 'computer', 'large screen', 'widescreen'];\nexport var WIDTHS = [].concat(_keys(numberToWordMap), _keys(numberToWordMap).map(Number), _values(numberToWordMap));\nexport var DIRECTIONAL_TRANSITIONS = ['browse', 'browse right', 'drop', 'fade', 'fade up', 'fade down', 'fade left', 'fade right', 'fly up', 'fly down', 'fly left', 'fly right', 'horizontal flip', 'vertical flip', 'scale', 'slide up', 'slide down', 'slide left', 'slide right', 'swing up', 'swing down', 'swing left', 'swing right', 'zoom'];\nexport var STATIC_TRANSITIONS = ['jiggle', 'flash', 'shake', 'pulse', 'tada', 'bounce', 'glow'];\nexport var TRANSITIONS = [].concat(DIRECTIONAL_TRANSITIONS, STATIC_TRANSITIONS); // Generated from:\n// https://github.com/Semantic-Org/Semantic-UI/blob/master/dist/components/icon.css\n\nexport var ACCESSIBILITY = ['american sign language interpreting', 'assistive listening systems', 'audio description', 'blind', 'braille', 'closed captioning', 'closed captioning outline', 'deaf', 'low vision', 'phone volume', 'question circle', 'question circle outline', 'sign language', 'tty', 'universal access', 'wheelchair'];\nexport var ARROWS = ['angle double down', 'angle double left', 'angle double right', 'angle double up', 'angle down', 'angle left', 'angle right', 'angle up', 'arrow alternate circle down', 'arrow alternate circle down outline', 'arrow alternate circle left', 'arrow alternate circle left outline', 'arrow alternate circle right', 'arrow alternate circle right outline', 'arrow alternate circle up', 'arrow alternate circle up outline', 'arrow circle down', 'arrow circle left', 'arrow circle right', 'arrow circle up', 'arrow down', 'arrow left', 'arrow right', 'arrow up', 'arrows alternate', 'arrows alternate horizontal', 'arrows alternate vertical', 'caret down', 'caret left', 'caret right', 'caret square down', 'caret square down outline', 'caret square left', 'caret square left outline', 'caret square right', 'caret square right outline', 'caret square up', 'caret square up outline', 'caret up', 'cart arrow down', 'chart line', 'chevron circle down', 'chevron circle left', 'chevron circle right', 'chevron circle up', 'chevron down', 'chevron left', 'chevron right', 'chevron up', 'cloud download', 'cloud upload', 'download', 'exchange', 'expand arrows alternate', 'external alternate', 'external square alternate', 'hand point down', 'hand point down outline', 'hand point left', 'hand point left outline', 'hand point right', 'hand point right outline', 'hand point up', 'hand point up outline', 'hand pointer', 'hand pointer outline', 'history', 'level down alternate', 'level up alternate', 'location arrow', 'long arrow alternate down', 'long arrow alternate left', 'long arrow alternate right', 'long arrow alternate up', 'mouse pointer', 'play', 'random', 'recycle', 'redo', 'redo alternate', 'reply', 'reply all', 'retweet', 'share', 'share square', 'share square outline', 'sign-in', 'sign-out', 'sign-in alternate', 'sign-out alternate', 'sort', 'sort alphabet down', 'sort alphabet up', 'sort amount down', 'sort amount up', 'sort down', 'sort numeric down', 'sort numeric up', 'sort up', 'sync', 'sync alternate', 'text height', 'text width', 'undo', 'undo alternate', 'upload', 'zoom-in', 'zoom-out'];\nexport var AUDIO_VIDEO = ['audio description', 'backward', 'circle', 'circle outline', 'closed captioning', 'closed captioning outline', 'compress', 'eject', 'expand', 'expand arrows alternate', 'fast backward', 'fast forward', 'file audio', 'file audio outline', 'file video', 'file video outline', 'film', 'forward', 'headphones', 'microphone', 'microphone slash', 'music', 'pause', 'pause circle', 'pause circle outline', 'phone volume', 'play', 'play circle', 'play circle outline', 'podcast', 'random', 'redo', 'redo alternate', 'rss', 'rss square', 'step backward', 'step forward', 'stop', 'stop circle', 'stop circle outline', 'sync', 'sync alternate', 'undo', 'undo alternate', 'video', 'volume down', 'volume off', 'volume up'];\nexport var BUSINESS = ['address book', 'address book outline', 'address card', 'address card outline', 'archive', 'balance scale', 'birthday cake', 'book', 'briefcase', 'building', 'building outline', 'bullhorn', 'bullseye', 'calculator', 'calendar', 'calendar outline', 'calendar alternate', 'calendar alternate outline', 'certificate', 'chart area', 'chart bar', 'chart bar outline', 'chart line', 'chart pie', 'clipboard', 'clipboard outline', 'coffee', 'columns', 'compass', 'compass outline', 'copy', 'copy outline', 'copyright', 'copyright outline', 'cut', 'edit', 'edit outline', 'envelope', 'envelope outline', 'envelope open', 'envelope open outline', 'envelope square', 'eraser', 'fax', 'file', 'file outline', 'file alternate', 'file alternate outline', 'folder', 'folder outline', 'folder open', 'folder open outline', 'globe', 'industry', 'paperclip', 'paste', 'pen square', 'pencil alternate', 'percent', 'phone', 'phone square', 'phone volume', 'registered', 'registered outline', 'save', 'save outline', 'sitemap', 'sticky note', 'sticky note outline', 'suitcase', 'table', 'tag', 'tags', 'tasks', 'thumbtack', 'trademark'];\nexport var CHESS = ['chess', 'chess bishop', 'chess board', 'chess king', 'chess knight', 'chess pawn', 'chess queen', 'chess rook', 'square full'];\nexport var CODE = ['archive', 'barcode', 'bath', 'bug', 'code', 'code branch', 'coffee', 'file', 'file outline', 'file alternate', 'file alternate outline', 'file code', 'file code outline', 'filter', 'fire extinguisher', 'folder', 'folder outline', 'folder open', 'folder open outline', 'keyboard', 'keyboard outline', 'microchip', 'qrcode', 'shield alternate', 'sitemap', 'terminal', 'user secret', 'window close', 'window close outline', 'window maximize', 'window maximize outline', 'window minimize', 'window minimize outline', 'window restore', 'window restore outline'];\nexport var COMMUNICATION = ['address book', 'address book outline', 'address card', 'address card outline', 'american sign language interpreting', 'assistive listening systems', 'at', 'bell', 'bell outline', 'bell slash', 'bell slash outline', 'bullhorn', 'comment', 'comment outline', 'comment alternate', 'comment alternate outline', 'comments', 'comments outline', 'envelope', 'envelope outline', 'envelope open', 'envelope open outline', 'envelope square', 'fax', 'inbox', 'language', 'microphone', 'microphone slash', 'mobile', 'mobile alternate', 'paper plane', 'paper plane outline', 'phone', 'phone square', 'phone volume', 'rss', 'rss square', 'tty', 'wifi'];\nexport var COMPUTERS = ['desktop', 'download', 'hdd', 'hdd outline', 'headphones', 'keyboard', 'keyboard outline', 'laptop', 'microchip', 'mobile', 'mobile alternate', 'plug', 'power off', 'print', 'save', 'save outline', 'server', 'tablet', 'tablet alternate', 'tv', 'upload'];\nexport var CURRENCY = ['dollar sign', 'euro sign', 'lira sign', 'money bill alternate', 'money bill alternate outline', 'pound sign', 'ruble sign', 'rupee sign', 'shekel sign', 'won sign', 'yen sign'];\nexport var DATE_TIME = ['bell', 'bell outline', 'bell slash', 'bell slash outline', 'calendar', 'calendar outline', 'calendar alternate', 'calendar alternate outline', 'calendar check', 'calendar check outline', 'calendar minus', 'calendar minus outline', 'calendar plus', 'calendar plus outline', 'calendar times', 'calendar times outline', 'clock', 'clock outline', 'hourglass', 'hourglass outline', 'hourglass end', 'hourglass half', 'hourglass start', 'stopwatch'];\nexport var DESIGN = ['adjust', 'clone', 'clone outline', 'copy', 'copy outline', 'crop', 'crosshairs', 'cut', 'edit', 'edit outline', 'eraser', 'eye', 'eye dropper', 'eye slash', 'eye slash outline', 'object group', 'object group outline', 'object ungroup', 'object ungroup outline', 'paint brush', 'paste', 'pencil alternate', 'save', 'save outline', 'tint'];\nexport var EDITORS = ['align center', 'align justify', 'align left', 'align right', 'bold', 'clipboard', 'clipboard outline', 'clone', 'clone outline', 'columns', 'copy', 'copy outline', 'cut', 'edit', 'edit outline', 'eraser', 'file', 'file outline', 'file alternate', 'file alternate outline', 'font', 'heading', 'i cursor', 'indent', 'italic', 'linkify', 'list', 'list alternate', 'list alternate outline', 'list ol', 'list ul', 'outdent', 'paper plane', 'paper plane outline', 'paperclip', 'paragraph', 'paste', 'pencil alternate', 'print', 'quote left', 'quote right', 'redo', 'redo alternate', 'reply', 'reply all', 'share', 'strikethrough', 'subscript', 'superscript', 'sync', 'sync alternate', 'table', 'tasks', 'text height', 'text width', 'th', 'th large', 'th list', 'trash', 'trash alternate', 'trash alternate outline', 'underline', 'undo', 'undo alternate', 'unlink'];\nexport var FILES = ['archive', 'clone', 'clone outline', 'copy', 'copy outline', 'cut', 'file', 'file outline', 'file alternate', 'file alternate outline', 'file archive', 'file archive outline', 'file audio', 'file audio outline', 'file code', 'file code outline', 'file excel', 'file excel outline', 'file image', 'file image outline', 'file pdf', 'file pdf outline', 'file powerpoint', 'file powerpoint outline', 'file video', 'file video outline', 'file word', 'file word outline', 'folder', 'folder outline', 'folder open', 'folder open outline', 'paste', 'save', 'save outline', 'sticky note', 'sticky note outline'];\nexport var GENDERS = ['genderless', 'mars', 'mars double', 'mars stroke', 'mars stroke horizontal', 'mars stroke vertical', 'mercury', 'neuter', 'transgender', 'transgender alternate', 'venus', 'venus double', 'venus mars'];\nexport var HANDS_GESTURES = ['hand lizard', 'hand lizard outline', 'hand paper', 'hand paper outline', 'hand peace', 'hand peace outline', 'hand point down', 'hand point down outline', 'hand point left', 'hand point left outline', 'hand point right', 'hand point right outline', 'hand point up', 'hand point up outline', 'hand pointer', 'hand pointer outline', 'hand rock', 'hand rock outline', 'hand scissors', 'hand scissors outline', 'hand spock', 'hand spock outline', 'handshake', 'handshake outline', 'thumbs down', 'thumbs down outline', 'thumbs up', 'thumbs up outline'];\nexport var HEALTH = ['ambulance', 'h square', 'heart', 'heart outline', 'heartbeat', 'hospital', 'hospital outline', 'medkit', 'plus square', 'plus square outline', 'stethoscope', 'user md', 'wheelchair'];\nexport var IMAGES = ['adjust', 'bolt', 'camera', 'camera retro', 'clone', 'clone outline', 'compress', 'expand', 'eye', 'eye dropper', 'eye slash', 'eye slash outline', 'file image', 'file image outline', 'film', 'id badge', 'id badge outline', 'id card', 'id card outline', 'image', 'image outline', 'images', 'images outline', 'sliders horizontal', 'tint'];\nexport var INTERFACES = ['ban', 'barcode', 'bars', 'beer', 'bell', 'bell outline', 'bell slash', 'bell slash outline', 'bug', 'bullhorn', 'bullseye', 'calculator', 'calendar', 'calendar outline', 'calendar alternate', 'calendar alternate outline', 'calendar check', 'calendar check outline', 'calendar minus', 'calendar minus outline', 'calendar plus', 'calendar plus outline', 'calendar times', 'calendar times outline', 'certificate', 'check', 'check circle', 'check circle outline', 'check square', 'check square outline', 'circle', 'circle outline', 'clipboard', 'clipboard outline', 'clone', 'clone outline', 'cloud', 'cloud download', 'cloud upload', 'coffee', 'cog', 'cogs', 'copy', 'copy outline', 'cut', 'database', 'dot circle', 'dot circle outline', 'download', 'edit', 'edit outline', 'ellipsis horizontal', 'ellipsis vertical', 'envelope', 'envelope outline', 'envelope open', 'envelope open outline', 'eraser', 'exclamation', 'exclamation circle', 'exclamation triangle', 'external alternate', 'external square alternate', 'eye', 'eye slash', 'eye slash outline', 'file', 'file outline', 'file alternate', 'file alternate outline', 'filter', 'flag', 'flag outline', 'flag checkered', 'folder', 'folder outline', 'folder open', 'folder open outline', 'frown', 'frown outline', 'hashtag', 'heart', 'heart outline', 'history', 'home', 'i cursor', 'info', 'info circle', 'language', 'magic', 'meh', 'meh outline', 'microphone', 'microphone slash', 'minus', 'minus circle', 'minus square', 'minus square outline', 'paste', 'pencil alternate', 'plus', 'plus circle', 'plus square', 'plus square outline', 'qrcode', 'question', 'question circle', 'question circle outline', 'quote left', 'quote right', 'redo', 'redo alternate', 'reply', 'reply all', 'rss', 'rss square', 'save', 'save outline', 'search', 'search minus', 'search plus', 'share', 'share alternate', 'share alternate square', 'share square', 'share square outline', 'shield alternate', 'sign-in', 'sign-out', 'signal', 'sitemap', 'sliders horizontal', 'smile', 'smile outline', 'sort', 'sort alphabet down', 'sort alphabet up', 'sort amount down', 'sort amount up', 'sort down', 'sort numeric down', 'sort numeric up', 'sort up', 'star', 'star outline', 'star half', 'star half outline', 'sync', 'sync alternate', 'thumbs down', 'thumbs down outline', 'thumbs up', 'thumbs up outline', 'times', 'times circle', 'times circle outline', 'toggle off', 'toggle on', 'trash', 'trash alternate', 'trash alternate outline', 'trophy', 'undo', 'undo alternate', 'upload', 'user', 'user outline', 'user circle', 'user circle outline', 'wifi'];\nexport var LOGISTICS = ['box', 'boxes', 'clipboard check', 'clipboard list', 'dolly', 'dolly flatbed', 'pallet', 'shipping fast', 'truck', 'warehouse'];\nexport var MAPS = ['ambulance', 'anchor', 'balance scale', 'bath', 'bed', 'beer', 'bell', 'bell outline', 'bell slash', 'bell slash outline', 'bicycle', 'binoculars', 'birthday cake', 'blind', 'bomb', 'book', 'bookmark', 'bookmark outline', 'briefcase', 'building', 'building outline', 'car', 'coffee', 'crosshairs', 'dollar sign', 'eye', 'eye slash', 'eye slash outline', 'fighter jet', 'fire', 'fire extinguisher', 'flag', 'flag outline', 'flag checkered', 'flask', 'gamepad', 'gavel', 'gift', 'glass martini', 'globe', 'graduation cap', 'h square', 'heart', 'heart outline', 'heartbeat', 'home', 'hospital', 'hospital outline', 'image', 'image outline', 'images', 'images outline', 'industry', 'info', 'info circle', 'key', 'leaf', 'lemon', 'lemon outline', 'life ring', 'life ring outline', 'lightbulb', 'lightbulb outline', 'location arrow', 'low vision', 'magnet', 'male', 'map', 'map outline', 'map marker', 'map marker alternate', 'map pin', 'map signs', 'medkit', 'money bill alternate', 'money bill alternate outline', 'motorcycle', 'music', 'newspaper', 'newspaper outline', 'paw', 'phone', 'phone square', 'phone volume', 'plane', 'plug', 'plus', 'plus square', 'plus square outline', 'print', 'recycle', 'road', 'rocket', 'search', 'search minus', 'search plus', 'ship', 'shopping bag', 'shopping basket', 'shopping cart', 'shower', 'street view', 'subway', 'suitcase', 'tag', 'tags', 'taxi', 'thumbtack', 'ticket alternate', 'tint', 'train', 'tree', 'trophy', 'truck', 'tty', 'umbrella', 'university', 'utensil spoon', 'utensils', 'wheelchair', 'wifi', 'wrench'];\nexport var MEDICAL = ['ambulance', 'band aid', 'dna', 'first aid', 'heart', 'heart outline', 'heartbeat', 'hospital', 'hospital outline', 'hospital symbol', 'pills', 'plus', 'stethoscope', 'syringe', 'thermometer', 'user md', 'weight'];\nexport var OBJECTS = ['ambulance', 'anchor', 'archive', 'balance scale', 'bath', 'bed', 'beer', 'bell', 'bell outline', 'bicycle', 'binoculars', 'birthday cake', 'bomb', 'book', 'bookmark', 'bookmark outline', 'briefcase', 'bug', 'building', 'building outline', 'bullhorn', 'bullseye', 'bus', 'calculator', 'calendar', 'calendar outline', 'calendar alternate', 'calendar alternate outline', 'camera', 'camera retro', 'car', 'clipboard', 'clipboard outline', 'cloud', 'coffee', 'cog', 'cogs', 'compass', 'compass outline', 'copy', 'copy outline', 'cube', 'cubes', 'cut', 'envelope', 'envelope outline', 'envelope open', 'envelope open outline', 'eraser', 'eye', 'eye dropper', 'fax', 'fighter jet', 'file', 'file outline', 'file alternate', 'file alternate outline', 'film', 'fire', 'fire extinguisher', 'flag', 'flag outline', 'flag checkered', 'flask', 'futbol', 'futbol outline', 'gamepad', 'gavel', 'gem', 'gem outline', 'gift', 'glass martini', 'globe', 'graduation cap', 'hdd', 'hdd outline', 'headphones', 'heart', 'heart outline', 'home', 'hospital', 'hospital outline', 'hourglass', 'hourglass outline', 'image', 'image outline', 'images', 'images outline', 'industry', 'key', 'keyboard', 'keyboard outline', 'laptop', 'leaf', 'lemon', 'lemon outline', 'life ring', 'life ring outline', 'lightbulb', 'lightbulb outline', 'lock', 'lock open', 'magic', 'magnet', 'map', 'map outline', 'map marker', 'map marker alternate', 'map pin', 'map signs', 'medkit', 'microchip', 'microphone', 'mobile', 'mobile alternate', 'money bill alternate', 'money bill alternate outline', 'moon', 'moon outline', 'motorcycle', 'newspaper', 'newspaper outline', 'paint brush', 'paper plane', 'paper plane outline', 'paperclip', 'paste', 'paw', 'pencil alternate', 'phone', 'plane', 'plug', 'print', 'puzzle piece', 'road', 'rocket', 'save', 'save outline', 'search', 'shield alternate', 'shopping bag', 'shopping basket', 'shopping cart', 'shower', 'snowflake', 'snowflake outline', 'space shuttle', 'star', 'star outline', 'sticky note', 'sticky note outline', 'stopwatch', 'subway', 'suitcase', 'sun', 'sun outline', 'tablet', 'tablet alternate', 'tachometer alternate', 'tag', 'tags', 'taxi', 'thumbtack', 'ticket alternate', 'train', 'trash', 'trash alternate', 'trash alternate outline', 'tree', 'trophy', 'truck', 'tv', 'umbrella', 'university', 'unlock', 'unlock alternate', 'utensil spoon', 'utensils', 'wheelchair', 'wrench'];\nexport var PAYMENTS_SHOPPING = ['bell', 'bell outline', 'bookmark', 'bookmark outline', 'bullhorn', 'camera', 'camera retro', 'cart arrow down', 'cart plus', 'certificate', 'credit card', 'credit card outline', 'gem', 'gem outline', 'gift', 'handshake', 'handshake outline', 'heart', 'heart outline', 'key', 'shopping bag', 'shopping basket', 'shopping cart', 'star', 'star outline', 'tag', 'tags', 'thumbs down', 'thumbs down outline', 'thumbs up', 'thumbs up outline', 'trophy'];\nexport var SHAPES = ['bookmark', 'bookmark outline', 'calendar', 'calendar outline', 'certificate', 'circle', 'circle outline', 'cloud', 'comment', 'comment outline', 'file', 'file outline', 'folder', 'folder outline', 'heart', 'heart outline', 'map marker', 'play', 'square', 'square outline', 'star', 'star outline'];\nexport var SPINNERS = ['asterisk', 'certificate', 'circle notch', 'cog', 'compass', 'compass outline', 'crosshairs', 'life ring', 'life ring outline', 'snowflake', 'snowflake outline', 'spinner', 'sun', 'sun outline', 'sync'];\nexport var SPORTS = ['baseball ball', 'basketball ball', 'bowling ball', 'football ball', 'futbol', 'futbol outline', 'golf ball', 'hockey puck', 'quidditch', 'table tennis', 'volleyball ball'];\nexport var STATUS = ['ban', 'battery empty', 'battery full', 'battery half', 'battery quarter', 'battery three quarters', 'bell', 'bell outline', 'bell slash', 'bell slash outline', 'calendar', 'calendar outline', 'calendar alternate', 'calendar alternate outline', 'calendar check', 'calendar check outline', 'calendar minus', 'calendar minus outline', 'calendar plus', 'calendar plus outline', 'calendar times', 'calendar times outline', 'cart arrow down', 'cart plus', 'exclamation', 'exclamation circle', 'exclamation triangle', 'eye', 'eye slash', 'eye slash outline', 'file', 'file outline', 'file alternate', 'file alternate outline', 'folder', 'folder outline', 'folder open', 'folder open outline', 'info', 'info circle', 'lock', 'lock open', 'minus', 'minus circle', 'minus square', 'minus square outline', 'plus', 'plus circle', 'plus square', 'plus square outline', 'question', 'question circle', 'question circle outline', 'shield alternate', 'shopping cart', 'sign in alternate', 'sign out alternate', 'thermometer empty', 'thermometer full', 'thermometer half', 'thermometer quarter', 'thermometer three quarters', 'thumbs down', 'thumbs down outline', 'thumbs up', 'thumbs up outline', 'toggle off', 'toggle on', 'unlock', 'unlock alternate'];\nexport var USERS_PEOPLE = ['address book', 'address book outline', 'address card', 'address card outline', 'bed', 'blind', 'child', 'female', 'frown', 'frown outline', 'id badge', 'id badge outline', 'id card', 'id card outline', 'male', 'meh', 'meh outline', 'power off', 'smile', 'smile outline', 'street view', 'user', 'user outline', 'user circle', 'user circle outline', 'user md', 'user plus', 'user secret', 'user times', 'users', 'wheelchair'];\nexport var VEHICLES = ['ambulance', 'bicycle', 'bus', 'car', 'fighter jet', 'motorcycle', 'paper plane', 'paper plane outline', 'plane', 'rocket', 'ship', 'shopping cart', 'space shuttle', 'subway', 'taxi', 'train', 'truck', 'wheelchair'];\nexport var WRITING = ['archive', 'book', 'bookmark', 'bookmark outline', 'edit', 'edit outline', 'envelope', 'envelope outline', 'envelope open', 'envelope open outline', 'eraser', 'file', 'file outline', 'file alternate', 'file alternate outline', 'folder', 'folder outline', 'folder open', 'folder open outline', 'keyboard', 'keyboard outline', 'newspaper', 'newspaper outline', 'paper plane', 'paper plane outline', 'paperclip', 'paragraph', 'pen square', 'pencil alternate', 'quote left', 'quote right', 'sticky note', 'sticky note outline', 'thumbtack'];\nexport var BRANDS = ['500px', 'accessible', 'accusoft', 'adn', 'adversal', 'affiliatetheme', 'algolia', 'amazon', 'amazon pay', 'amilia', 'android', 'angellist', 'angrycreative', 'angular', 'app store', 'app store ios', 'apper', 'apple', 'apple pay', 'asymmetrik', 'audible', 'autoprefixer', 'avianex', 'aviato', 'aws', 'bandcamp', 'behance', 'behance square', 'bimobject', 'bitbucket', 'bitcoin', 'bity', 'black tie', 'blackberry', 'blogger', 'blogger b', 'bluetooth', 'bluetooth b', 'btc', 'buromobelexperte', 'buysellads', 'cc amazon pay', 'cc amex', 'cc apple pay', 'cc diners club', 'cc discover', 'cc jcb', 'cc mastercard', 'cc paypal', 'cc stripe', 'cc visa', 'centercode', 'chrome', 'cloudscale', 'cloudsmith', 'cloudversify', 'codepen', 'codiepie', 'connectdevelop', 'contao', 'cpanel', 'creative commons', 'css3', 'css3 alternate', 'cuttlefish', 'd and d', 'dashcube', 'delicious', 'deploydog', 'deskpro', 'deviantart', 'digg', 'digital ocean', 'discord', 'discourse', 'dochub', 'docker', 'draft2digital', 'dribbble', 'dribbble square', 'dropbox', 'drupal', 'dyalog', 'earlybirds', 'edge', 'elementor', 'ember', 'empire', 'envira', 'erlang', 'ethereum', 'etsy', 'expeditedssl', 'facebook', 'facebook f', 'facebook messenger', 'facebook square', 'firefox', 'first order', 'firstdraft', 'flickr', 'flipboard', 'fly', 'font awesome', 'font awesome alternate', 'font awesome flag', 'fonticons', 'fonticons fi', 'fort awesome', 'fort awesome alternate', 'forumbee', 'foursquare', 'free code camp', 'freebsd', 'get pocket', 'gg', 'gg circle', 'git', 'git square', 'github', 'github alternate', 'github square', 'gitkraken', 'gitlab', 'gitter', 'glide', 'glide g', 'gofore', 'goodreads', 'goodreads g', 'google', 'google drive', 'google play', 'google plus', 'google plus g', 'google plus square', 'google wallet', 'gratipay', 'grav', 'gripfire', 'grunt', 'gulp', 'hacker news', 'hacker news square', 'hips', 'hire a helper', 'hooli', 'hotjar', 'houzz', 'html5', 'hubspot', 'imdb', 'instagram', 'internet explorer', 'ioxhost', 'itunes', 'itunes note', 'jenkins', 'joget', 'joomla', 'js', 'js square', 'jsfiddle', 'keycdn', 'kickstarter', 'kickstarter k', 'korvue', 'laravel', 'lastfm', 'lastfm square', 'leanpub', 'less', 'linechat', 'linkedin', 'linkedin alternate', 'linode', 'linux', 'lyft', 'magento', 'maxcdn', 'medapps', 'medium', 'medium m', 'medrt', 'meetup', 'microsoft', 'mix', 'mixcloud', 'mizuni', 'modx', 'monero', 'napster', 'nintendo switch', 'node', 'node js', 'npm', 'ns8', 'nutritionix', 'odnoklassniki', 'odnoklassniki square', 'opencart', 'openid', 'opera', 'optin monster', 'osi', 'page4', 'pagelines', 'palfed', 'patreon', 'paypal', 'periscope', 'phabricator', 'phoenix framework', 'php', 'pied piper', 'pied piper alternate', 'pied piper pp', 'pinterest', 'pinterest p', 'pinterest square', 'playstation', 'product hunt', 'pushed', 'python', 'qq', 'quinscape', 'quora', 'ravelry', 'react', 'rebel', 'redriver', 'reddit', 'reddit alien', 'reddit square', 'rendact', 'renren', 'replyd', 'resolving', 'rocketchat', 'rockrms', 'safari', 'sass', 'schlix', 'scribd', 'searchengin', 'sellcast', 'sellsy', 'servicestack', 'shirtsinbulk', 'simplybuilt', 'sistrix', 'skyatlas', 'skype', 'slack', 'slack hash', 'slideshare', 'snapchat', 'snapchat ghost', 'snapchat square', 'soundcloud', 'speakap', 'spotify', 'stack exchange', 'stack overflow', 'staylinked', 'steam', 'steam square', 'steam symbol', 'sticker mule', 'strava', 'stripe', 'stripe s', 'studiovinari', 'stumbleupon', 'stumbleupon circle', 'superpowers', 'supple', 'telegram', 'telegram plane', 'tencent weibo', 'themeisle', 'trello', 'tripadvisor', 'tumblr', 'tumblr square', 'twitch', 'twitter', 'twitter square', 'typo3', 'uber', 'uikit', 'uniregistry', 'untappd', 'usb', 'ussunnah', 'vaadin', 'viacoin', 'viadeo', 'viadeo square', 'viber', 'vimeo', 'vimeo square', 'vimeo v', 'vine', 'vk', 'vnv', 'vuejs', 'wechat', 'weibo', 'weixin', 'whatsapp', 'whatsapp square', 'whmcs', 'wikipedia w', 'windows', 'wordpress', 'wordpress simple', 'wpbeginner', 'wpexplorer', 'wpforms', 'xbox', 'xing', 'xing square', 'y combinator', 'yahoo', 'yandex', 'yandex international', 'yelp', 'yoast', 'youtube', 'youtube square'];\nexport var ICONS = _uniq([].concat(ACCESSIBILITY, ARROWS, AUDIO_VIDEO, BUSINESS, CHESS, CODE, COMMUNICATION, COMPUTERS, CURRENCY, DATE_TIME, DESIGN, EDITORS, FILES, GENDERS, HANDS_GESTURES, HEALTH, IMAGES, INTERFACES, LOGISTICS, MAPS, MEDICAL, OBJECTS, PAYMENTS_SHOPPING, SHAPES, SPINNERS, SPORTS, STATUS, USERS_PEOPLE, VEHICLES, WRITING, BRANDS));\nexport var ICON_ALIASES = ['chess rock', 'ordered list', 'unordered list', 'user doctor', 'shield', 'puzzle', 'add circle', 'add square', 'add to calendar', 'add to cart', 'add user', 'add', 'alarm mute', 'alarm', 'ald', 'als', 'announcement', 'area chart', 'area graph', 'arrow down cart', 'asexual', 'asl interpreting', 'asl', 'assistive listening devices', 'attach', 'attention', 'balance', 'bar', 'bathtub', 'battery four', 'battery high', 'battery low', 'battery one', 'battery three', 'battery two', 'battery zero', 'birthday', 'block layout', 'bluetooth alternative', 'broken chain', 'browser', 'call square', 'call', 'cancel', 'cart', 'cc', 'chain', 'chat', 'checked calendar', 'checkmark', 'circle notched', 'close', 'cny', 'cocktail', 'commenting', 'computer', 'configure', 'content', 'deafness', 'delete calendar', 'delete', 'detective', 'discussions', 'doctor', 'dollar', 'dont', 'drivers license', 'dropdown', 'emergency', 'envira gallery', 'erase', 'eur', 'euro', 'eyedropper', 'factory', 'favorite', 'feed', 'female homosexual', 'file text', 'file text outline', 'find', 'first aid', 'fork', 'game', 'gay', 'gbp', 'google plus circle', 'google plus official', 'grab', 'graduation', 'grid layout', 'group', 'h', 'hand victory', 'handicap', 'hard of hearing', 'header', 'help circle', 'help', 'heterosexual', 'hide', 'hotel', 'hourglass four', 'hourglass full', 'hourglass one', 'hourglass three', 'hourglass two', 'idea', 'ils', 'in cart', 'inr', 'intergender', 'intersex', 'jpy', 'krw', 'lab', 'law', 'legal', 'lesbian', 'lightning', 'like', 'line graph', 'linkedin square', 'linkify', 'lira', 'list layout', 'magnify', 'mail forward', 'mail outline', 'mail square', 'mail', 'male homosexual', 'man', 'marker', 'mars alternate', 'mars horizontal', 'mars vertical', 'microsoft edge', 'military', 'ms edge', 'mute', 'new pied piper', 'non binary transgender', 'numbered list', 'options', 'other gender horizontal', 'other gender vertical', 'other gender', 'payment', 'paypal card', 'pencil square', 'photo', 'picture', 'pie chart', 'pie graph', 'pied piper hat', 'pin', 'plus cart', 'point', 'pointing down', 'pointing left', 'pointing right', 'pointing up', 'pound', 'power cord', 'power', 'privacy', 'r circle', 'rain', 'record', 'refresh', 'remove circle', 'remove from calendar', 'remove user', 'remove', 'repeat', 'rmb', 'rouble', 'rub', 'ruble', 'rupee', 's15', 'selected radio', 'send', 'setting', 'settings', 'shekel', 'sheqel', 'shipping', 'shop', 'shuffle', 'shutdown', 'sidebar', 'signing', 'signup', 'sliders', 'soccer', 'sort alphabet ascending', 'sort alphabet descending', 'sort ascending', 'sort content ascending', 'sort content descending', 'sort descending', 'sort numeric ascending', 'sort numeric descending', 'sound', 'spy', 'stripe card', 'student', 'talk', 'target', 'teletype', 'television', 'text cursor', 'text telephone', 'theme', 'thermometer', 'thumb tack', 'time', 'tm', 'toggle down', 'toggle left', 'toggle right', 'toggle up', 'translate', 'travel', 'treatment', 'triangle down', 'triangle left', 'triangle right', 'triangle up', 'try', 'unhide', 'unlinkify', 'unmute', 'usd', 'user cancel', 'user close', 'user delete', 'user x', 'vcard', 'video camera', 'video play', 'volume control phone', 'wait', 'warning circle', 'warning sign', 'warning', 'wi-fi', 'winner', 'wizard', 'woman', 'won', 'wordpress beginner', 'wordpress forms', 'world', 'write square', 'x', 'yen', 'zip', 'zoom in', 'zoom out', 'zoom', 'bitbucket square', 'checkmark box', 'circle thin', 'cloud download', 'cloud upload', 'compose', 'conversation', 'credit card alternative', 'currency', 'dashboard', 'diamond', 'disk', 'exchange', 'external share', 'external square', 'external', 'facebook official', 'food', 'hourglass zero', 'level down', 'level up', 'log out', 'meanpath', 'money', 'move', 'pencil', 'protect', 'radio', 'remove bookmark', 'resize horizontal', 'resize vertical', 'sign in', 'sign out', 'spoon', 'star half empty', 'star half full', 'ticket', 'times rectangle', 'write', 'youtube play'];\nexport var ICONS_AND_ALIASES = _uniq([].concat(ICONS, ICON_ALIASES)); // Some icon names are not part of icons.css.\n// These are only valid as children of other components.\n// Their CSS rules are defined by a specific component's CSS.\n// We don't want to show name warnings for those usages so we add them as valid names here.\n\nexport var COMPONENT_CONTEXT_SPECIFIC_ICONS = ['left dropdown' // nested dropdown menu direction icon\n];\nexport var ALL_ICONS_IN_ALL_CONTEXTS = _uniq([].concat(ICONS_AND_ALIASES, COMPONENT_CONTEXT_SPECIFIC_ICONS));","function toVal(mix) {\n\tvar k, y, str='';\n\n\tif (typeof mix === 'string' || typeof mix === 'number') {\n\t\tstr += mix;\n\t} else if (typeof mix === 'object') {\n\t\tif (Array.isArray(mix)) {\n\t\t\tfor (k=0; k < mix.length; k++) {\n\t\t\t\tif (mix[k]) {\n\t\t\t\t\tif (y = toVal(mix[k])) {\n\t\t\t\t\t\tstr && (str += ' ');\n\t\t\t\t\t\tstr += y;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t} else {\n\t\t\tfor (k in mix) {\n\t\t\t\tif (mix[k]) {\n\t\t\t\t\tstr && (str += ' ');\n\t\t\t\t\tstr += k;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\treturn str;\n}\n\nexport default function () {\n\tvar i=0, tmp, x, str='';\n\twhile (i < arguments.length) {\n\t\tif (tmp = arguments[i++]) {\n\t\t\tif (x = toVal(tmp)) {\n\t\t\t\tstr && (str += ' ');\n\t\t\t\tstr += x\n\t\t\t}\n\t\t}\n\t}\n\treturn str;\n}\n","export default function _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n}","function _defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n}\n\nexport default function _createClass(Constructor, protoProps, staticProps) {\n if (protoProps) _defineProperties(Constructor.prototype, protoProps);\n if (staticProps) _defineProperties(Constructor, staticProps);\n return Constructor;\n}","export default function _getPrototypeOf(o) {\n _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) {\n return o.__proto__ || Object.getPrototypeOf(o);\n };\n return _getPrototypeOf(o);\n}","export default function _isNativeReflectConstruct() {\n if (typeof Reflect === \"undefined\" || !Reflect.construct) return false;\n if (Reflect.construct.sham) return false;\n if (typeof Proxy === \"function\") return true;\n\n try {\n Date.prototype.toString.call(Reflect.construct(Date, [], function () {}));\n return true;\n } catch (e) {\n return false;\n }\n}","export default function _typeof(obj) {\n \"@babel/helpers - typeof\";\n\n if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") {\n _typeof = function _typeof(obj) {\n return typeof obj;\n };\n } else {\n _typeof = function _typeof(obj) {\n return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n };\n }\n\n return _typeof(obj);\n}","import _typeof from \"../../helpers/esm/typeof\";\nimport assertThisInitialized from \"./assertThisInitialized\";\nexport default function _possibleConstructorReturn(self, call) {\n if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) {\n return call;\n }\n\n return assertThisInitialized(self);\n}","import getPrototypeOf from \"./getPrototypeOf\";\nimport isNativeReflectConstruct from \"./isNativeReflectConstruct\";\nimport possibleConstructorReturn from \"./possibleConstructorReturn\";\nexport default function _createSuper(Derived) {\n return function () {\n var Super = getPrototypeOf(Derived),\n result;\n\n if (isNativeReflectConstruct()) {\n var NewTarget = getPrototypeOf(this).constructor;\n result = Reflect.construct(Super, arguments, NewTarget);\n } else {\n result = Super.apply(this, arguments);\n }\n\n return possibleConstructorReturn(this, result);\n };\n}","export default function _setPrototypeOf(o, p) {\n _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) {\n o.__proto__ = p;\n return o;\n };\n\n return _setPrototypeOf(o, p);\n}","import setPrototypeOf from \"./setPrototypeOf\";\nexport default function _inherits(subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function\");\n }\n\n subClass.prototype = Object.create(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n writable: true,\n configurable: true\n }\n });\n if (superClass) setPrototypeOf(subClass, superClass);\n}","export default function _assertThisInitialized(self) {\n if (self === void 0) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n\n return self;\n}","import { getDocument, getWindow } from 'ssr-window';\n\nfunction deleteProps(obj) {\n var object = obj;\n Object.keys(object).forEach(function (key) {\n try {\n object[key] = null;\n } catch (e) {// no getter for object\n }\n\n try {\n delete object[key];\n } catch (e) {// something got wrong\n }\n });\n}\n\nfunction nextTick(callback, delay) {\n if (delay === void 0) {\n delay = 0;\n }\n\n return setTimeout(callback, delay);\n}\n\nfunction now() {\n return Date.now();\n}\n\nfunction getComputedStyle(el) {\n var window = getWindow();\n var style;\n\n if (window.getComputedStyle) {\n style = window.getComputedStyle(el, null);\n }\n\n if (!style && el.currentStyle) {\n style = el.currentStyle;\n }\n\n if (!style) {\n style = el.style;\n }\n\n return style;\n}\n\nfunction getTranslate(el, axis) {\n if (axis === void 0) {\n axis = 'x';\n }\n\n var window = getWindow();\n var matrix;\n var curTransform;\n var transformMatrix;\n var curStyle = getComputedStyle(el, null);\n\n if (window.WebKitCSSMatrix) {\n curTransform = curStyle.transform || curStyle.webkitTransform;\n\n if (curTransform.split(',').length > 6) {\n curTransform = curTransform.split(', ').map(function (a) {\n return a.replace(',', '.');\n }).join(', ');\n } // Some old versions of Webkit choke when 'none' is passed; pass\n // empty string instead in this case\n\n\n transformMatrix = new window.WebKitCSSMatrix(curTransform === 'none' ? '' : curTransform);\n } else {\n transformMatrix = curStyle.MozTransform || curStyle.OTransform || curStyle.MsTransform || curStyle.msTransform || curStyle.transform || curStyle.getPropertyValue('transform').replace('translate(', 'matrix(1, 0, 0, 1,');\n matrix = transformMatrix.toString().split(',');\n }\n\n if (axis === 'x') {\n // Latest Chrome and webkits Fix\n if (window.WebKitCSSMatrix) curTransform = transformMatrix.m41; // Crazy IE10 Matrix\n else if (matrix.length === 16) curTransform = parseFloat(matrix[12]); // Normal Browsers\n else curTransform = parseFloat(matrix[4]);\n }\n\n if (axis === 'y') {\n // Latest Chrome and webkits Fix\n if (window.WebKitCSSMatrix) curTransform = transformMatrix.m42; // Crazy IE10 Matrix\n else if (matrix.length === 16) curTransform = parseFloat(matrix[13]); // Normal Browsers\n else curTransform = parseFloat(matrix[5]);\n }\n\n return curTransform || 0;\n}\n\nfunction isObject(o) {\n return typeof o === 'object' && o !== null && o.constructor && Object.prototype.toString.call(o).slice(8, -1) === 'Object';\n}\n\nfunction isNode(node) {\n // eslint-disable-next-line\n if (typeof window !== 'undefined' && typeof window.HTMLElement !== 'undefined') {\n return node instanceof HTMLElement;\n }\n\n return node && (node.nodeType === 1 || node.nodeType === 11);\n}\n\nfunction extend() {\n var to = Object(arguments.length <= 0 ? undefined : arguments[0]);\n var noExtend = ['__proto__', 'constructor', 'prototype'];\n\n for (var i = 1; i < arguments.length; i += 1) {\n var nextSource = i < 0 || arguments.length <= i ? undefined : arguments[i];\n\n if (nextSource !== undefined && nextSource !== null && !isNode(nextSource)) {\n var keysArray = Object.keys(Object(nextSource)).filter(function (key) {\n return noExtend.indexOf(key) < 0;\n });\n\n for (var nextIndex = 0, len = keysArray.length; nextIndex < len; nextIndex += 1) {\n var nextKey = keysArray[nextIndex];\n var desc = Object.getOwnPropertyDescriptor(nextSource, nextKey);\n\n if (desc !== undefined && desc.enumerable) {\n if (isObject(to[nextKey]) && isObject(nextSource[nextKey])) {\n if (nextSource[nextKey].__swiper__) {\n to[nextKey] = nextSource[nextKey];\n } else {\n extend(to[nextKey], nextSource[nextKey]);\n }\n } else if (!isObject(to[nextKey]) && isObject(nextSource[nextKey])) {\n to[nextKey] = {};\n\n if (nextSource[nextKey].__swiper__) {\n to[nextKey] = nextSource[nextKey];\n } else {\n extend(to[nextKey], nextSource[nextKey]);\n }\n } else {\n to[nextKey] = nextSource[nextKey];\n }\n }\n }\n }\n }\n\n return to;\n}\n\nfunction bindModuleMethods(instance, obj) {\n Object.keys(obj).forEach(function (key) {\n if (isObject(obj[key])) {\n Object.keys(obj[key]).forEach(function (subKey) {\n if (typeof obj[key][subKey] === 'function') {\n obj[key][subKey] = obj[key][subKey].bind(instance);\n }\n });\n }\n\n instance[key] = obj[key];\n });\n}\n\nfunction classesToSelector(classes) {\n if (classes === void 0) {\n classes = '';\n }\n\n return \".\" + classes.trim().replace(/([\\.:!\\/])/g, '\\\\$1') // eslint-disable-line\n .replace(/ /g, '.');\n}\n\nfunction createElementIfNotDefined($container, params, createElements, checkProps) {\n var document = getDocument();\n\n if (createElements) {\n Object.keys(checkProps).forEach(function (key) {\n if (!params[key] && params.auto === true) {\n var element = document.createElement('div');\n element.className = checkProps[key];\n $container.append(element);\n params[key] = element;\n }\n });\n }\n\n return params;\n}\n\nexport { deleteProps, nextTick, now, getTranslate, isObject, extend, bindModuleMethods, getComputedStyle, classesToSelector, createElementIfNotDefined };","/**\n * A faster alternative to `Function#apply`, this function invokes `func`\n * with the `this` binding of `thisArg` and the arguments of `args`.\n *\n * @private\n * @param {Function} func The function to invoke.\n * @param {*} thisArg The `this` binding of `func`.\n * @param {Array} args The arguments to invoke `func` with.\n * @returns {*} Returns the result of `func`.\n */\nfunction apply(func, thisArg, args) {\n switch (args.length) {\n case 0: return func.call(thisArg);\n case 1: return func.call(thisArg, args[0]);\n case 2: return func.call(thisArg, args[0], args[1]);\n case 3: return func.call(thisArg, args[0], args[1], args[2]);\n }\n return func.apply(thisArg, args);\n}\n\nexport default apply;\n","/**\n * Gets the last element of `array`.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Array\n * @param {Array} array The array to query.\n * @returns {*} Returns the last element of `array`.\n * @example\n *\n * _.last([1, 2, 3]);\n * // => 3\n */\nfunction last(array) {\n var length = array == null ? 0 : array.length;\n return length ? array[length - 1] : undefined;\n}\n\nexport default last;\n","import baseGet from './_baseGet.js';\nimport baseSlice from './_baseSlice.js';\n\n/**\n * Gets the parent value at `path` of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {Array} path The path to get the parent value of.\n * @returns {*} Returns the parent value.\n */\nfunction parent(object, path) {\n return path.length < 2 ? object : baseGet(object, baseSlice(path, 0, -1));\n}\n\nexport default parent;\n","import apply from './_apply.js';\nimport castPath from './_castPath.js';\nimport last from './last.js';\nimport parent from './_parent.js';\nimport toKey from './_toKey.js';\n\n/**\n * The base implementation of `_.invoke` without support for individual\n * method arguments.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {Array|string} path The path of the method to invoke.\n * @param {Array} args The arguments to invoke the method with.\n * @returns {*} Returns the result of the invoked method.\n */\nfunction baseInvoke(object, path, args) {\n path = castPath(path, object);\n object = parent(object, path);\n var func = object == null ? object : object[toKey(last(path))];\n return func == null ? undefined : apply(func, object, args);\n}\n\nexport default baseInvoke;\n","import apply from './_apply.js';\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeMax = Math.max;\n\n/**\n * A specialized version of `baseRest` which transforms the rest array.\n *\n * @private\n * @param {Function} func The function to apply a rest parameter to.\n * @param {number} [start=func.length-1] The start position of the rest parameter.\n * @param {Function} transform The rest array transform.\n * @returns {Function} Returns the new function.\n */\nfunction overRest(func, start, transform) {\n start = nativeMax(start === undefined ? (func.length - 1) : start, 0);\n return function() {\n var args = arguments,\n index = -1,\n length = nativeMax(args.length - start, 0),\n array = Array(length);\n\n while (++index < length) {\n array[index] = args[start + index];\n }\n index = -1;\n var otherArgs = Array(start + 1);\n while (++index < start) {\n otherArgs[index] = args[index];\n }\n otherArgs[start] = transform(array);\n return apply(func, this, otherArgs);\n };\n}\n\nexport default overRest;\n","/**\n * Creates a function that returns `value`.\n *\n * @static\n * @memberOf _\n * @since 2.4.0\n * @category Util\n * @param {*} value The value to return from the new function.\n * @returns {Function} Returns the new constant function.\n * @example\n *\n * var objects = _.times(2, _.constant({ 'a': 1 }));\n *\n * console.log(objects);\n * // => [{ 'a': 1 }, { 'a': 1 }]\n *\n * console.log(objects[0] === objects[1]);\n * // => true\n */\nfunction constant(value) {\n return function() {\n return value;\n };\n}\n\nexport default constant;\n","import constant from './constant.js';\nimport defineProperty from './_defineProperty.js';\nimport identity from './identity.js';\n\n/**\n * The base implementation of `setToString` without support for hot loop shorting.\n *\n * @private\n * @param {Function} func The function to modify.\n * @param {Function} string The `toString` result.\n * @returns {Function} Returns `func`.\n */\nvar baseSetToString = !defineProperty ? identity : function(func, string) {\n return defineProperty(func, 'toString', {\n 'configurable': true,\n 'enumerable': false,\n 'value': constant(string),\n 'writable': true\n });\n};\n\nexport default baseSetToString;\n","/** Used to detect hot functions by number of calls within a span of milliseconds. */\nvar HOT_COUNT = 800,\n HOT_SPAN = 16;\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeNow = Date.now;\n\n/**\n * Creates a function that'll short out and invoke `identity` instead\n * of `func` when it's called `HOT_COUNT` or more times in `HOT_SPAN`\n * milliseconds.\n *\n * @private\n * @param {Function} func The function to restrict.\n * @returns {Function} Returns the new shortable function.\n */\nfunction shortOut(func) {\n var count = 0,\n lastCalled = 0;\n\n return function() {\n var stamp = nativeNow(),\n remaining = HOT_SPAN - (stamp - lastCalled);\n\n lastCalled = stamp;\n if (remaining > 0) {\n if (++count >= HOT_COUNT) {\n return arguments[0];\n }\n } else {\n count = 0;\n }\n return func.apply(undefined, arguments);\n };\n}\n\nexport default shortOut;\n","import baseSetToString from './_baseSetToString.js';\nimport shortOut from './_shortOut.js';\n\n/**\n * Sets the `toString` method of `func` to return `string`.\n *\n * @private\n * @param {Function} func The function to modify.\n * @param {Function} string The `toString` result.\n * @returns {Function} Returns `func`.\n */\nvar setToString = shortOut(baseSetToString);\n\nexport default setToString;\n","import identity from './identity.js';\nimport overRest from './_overRest.js';\nimport setToString from './_setToString.js';\n\n/**\n * The base implementation of `_.rest` which doesn't validate or coerce arguments.\n *\n * @private\n * @param {Function} func The function to apply a rest parameter to.\n * @param {number} [start=func.length-1] The start position of the rest parameter.\n * @returns {Function} Returns the new function.\n */\nfunction baseRest(func, start) {\n return setToString(overRest(func, start, identity), func + '');\n}\n\nexport default baseRest;\n","import baseInvoke from './_baseInvoke.js';\nimport baseRest from './_baseRest.js';\n\n/**\n * Invokes the method at `path` of `object`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Object\n * @param {Object} object The object to query.\n * @param {Array|string} path The path of the method to invoke.\n * @param {...*} [args] The arguments to invoke the method with.\n * @returns {*} Returns the result of the invoked method.\n * @example\n *\n * var object = { 'a': [{ 'b': { 'c': [1, 2, 3, 4] } }] };\n *\n * _.invoke(object, 'a[0].b.c.slice', 1, 3);\n * // => [2, 3]\n */\nvar invoke = baseRest(baseInvoke);\n\nexport default invoke;\n","import setPrototypeOf from \"./setPrototypeOf.js\";\nexport default function _inheritsLoose(subClass, superClass) {\n subClass.prototype = Object.create(superClass.prototype);\n subClass.prototype.constructor = subClass;\n setPrototypeOf(subClass, superClass);\n}","export default function _assertThisInitialized(self) {\n if (self === void 0) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n\n return self;\n}","/**\n * SSR Window 3.0.0\n * Better handling for window object in SSR environment\n * https://github.com/nolimits4web/ssr-window\n *\n * Copyright 2020, Vladimir Kharlampidi\n *\n * Licensed under MIT\n *\n * Released on: November 9, 2020\n */\n/* eslint-disable no-param-reassign */\nfunction isObject(obj) {\n return (obj !== null &&\n typeof obj === 'object' &&\n 'constructor' in obj &&\n obj.constructor === Object);\n}\nfunction extend(target, src) {\n if (target === void 0) { target = {}; }\n if (src === void 0) { src = {}; }\n Object.keys(src).forEach(function (key) {\n if (typeof target[key] === 'undefined')\n target[key] = src[key];\n else if (isObject(src[key]) &&\n isObject(target[key]) &&\n Object.keys(src[key]).length > 0) {\n extend(target[key], src[key]);\n }\n });\n}\n\nvar ssrDocument = {\n body: {},\n addEventListener: function () { },\n removeEventListener: function () { },\n activeElement: {\n blur: function () { },\n nodeName: '',\n },\n querySelector: function () {\n return null;\n },\n querySelectorAll: function () {\n return [];\n },\n getElementById: function () {\n return null;\n },\n createEvent: function () {\n return {\n initEvent: function () { },\n };\n },\n createElement: function () {\n return {\n children: [],\n childNodes: [],\n style: {},\n setAttribute: function () { },\n getElementsByTagName: function () {\n return [];\n },\n };\n },\n createElementNS: function () {\n return {};\n },\n importNode: function () {\n return null;\n },\n location: {\n hash: '',\n host: '',\n hostname: '',\n href: '',\n origin: '',\n pathname: '',\n protocol: '',\n search: '',\n },\n};\nfunction getDocument() {\n var doc = typeof document !== 'undefined' ? document : {};\n extend(doc, ssrDocument);\n return doc;\n}\n\nvar ssrWindow = {\n document: ssrDocument,\n navigator: {\n userAgent: '',\n },\n location: {\n hash: '',\n host: '',\n hostname: '',\n href: '',\n origin: '',\n pathname: '',\n protocol: '',\n search: '',\n },\n history: {\n replaceState: function () { },\n pushState: function () { },\n go: function () { },\n back: function () { },\n },\n CustomEvent: function CustomEvent() {\n return this;\n },\n addEventListener: function () { },\n removeEventListener: function () { },\n getComputedStyle: function () {\n return {\n getPropertyValue: function () {\n return '';\n },\n };\n },\n Image: function () { },\n Date: function () { },\n screen: {},\n setTimeout: function () { },\n clearTimeout: function () { },\n matchMedia: function () {\n return {};\n },\n requestAnimationFrame: function (callback) {\n if (typeof setTimeout === 'undefined') {\n callback();\n return null;\n }\n return setTimeout(callback, 0);\n },\n cancelAnimationFrame: function (id) {\n if (typeof setTimeout === 'undefined') {\n return;\n }\n clearTimeout(id);\n },\n};\nfunction getWindow() {\n var win = typeof window !== 'undefined' ? window : {};\n extend(win, ssrWindow);\n return win;\n}\n\nexport { extend, getDocument, getWindow, ssrDocument, ssrWindow };\n","import React from \"react\";\nimport { Router } from \"react-router\";\nimport { createBrowserHistory as createHistory } from \"history\";\nimport PropTypes from \"prop-types\";\nimport warning from \"tiny-warning\";\n\n/**\n * The public API for a <Router> that uses HTML5 history.\n */\nclass BrowserRouter extends React.Component {\n history = createHistory(this.props);\n\n render() {\n return <Router history={this.history} children={this.props.children} />;\n }\n}\n\nif (__DEV__) {\n BrowserRouter.propTypes = {\n basename: PropTypes.string,\n children: PropTypes.node,\n forceRefresh: PropTypes.bool,\n getUserConfirmation: PropTypes.func,\n keyLength: PropTypes.number\n };\n\n BrowserRouter.prototype.componentDidMount = function() {\n warning(\n !this.props.history,\n \"<BrowserRouter> ignores the history prop. To use a custom history, \" +\n \"use `import { Router }` instead of `import { BrowserRouter as Router }`.\"\n );\n };\n}\n\nexport default BrowserRouter;\n","import React from \"react\";\nimport { Router } from \"react-router\";\nimport { createHashHistory as createHistory } from \"history\";\nimport PropTypes from \"prop-types\";\nimport warning from \"tiny-warning\";\n\n/**\n * The public API for a <Router> that uses window.location.hash.\n */\nclass HashRouter extends React.Component {\n history = createHistory(this.props);\n\n render() {\n return <Router history={this.history} children={this.props.children} />;\n }\n}\n\nif (__DEV__) {\n HashRouter.propTypes = {\n basename: PropTypes.string,\n children: PropTypes.node,\n getUserConfirmation: PropTypes.func,\n hashType: PropTypes.oneOf([\"hashbang\", \"noslash\", \"slash\"])\n };\n\n HashRouter.prototype.componentDidMount = function() {\n warning(\n !this.props.history,\n \"<HashRouter> ignores the history prop. To use a custom history, \" +\n \"use `import { Router }` instead of `import { HashRouter as Router }`.\"\n );\n };\n}\n\nexport default HashRouter;\n","import { createLocation } from \"history\";\n\nexport const resolveToLocation = (to, currentLocation) =>\n typeof to === \"function\" ? to(currentLocation) : to;\n\nexport const normalizeToLocation = (to, currentLocation) => {\n return typeof to === \"string\"\n ? createLocation(to, null, null, currentLocation)\n : to;\n};\n","import React from \"react\";\nimport { __RouterContext as RouterContext } from \"react-router\";\nimport PropTypes from \"prop-types\";\nimport invariant from \"tiny-invariant\";\nimport {\n resolveToLocation,\n normalizeToLocation\n} from \"./utils/locationUtils.js\";\n\n// React 15 compat\nconst forwardRefShim = C => C;\nlet { forwardRef } = React;\nif (typeof forwardRef === \"undefined\") {\n forwardRef = forwardRefShim;\n}\n\nfunction isModifiedEvent(event) {\n return !!(event.metaKey || event.altKey || event.ctrlKey || event.shiftKey);\n}\n\nconst LinkAnchor = forwardRef(\n (\n {\n innerRef, // TODO: deprecate\n navigate,\n onClick,\n ...rest\n },\n forwardedRef\n ) => {\n const { target } = rest;\n\n let props = {\n ...rest,\n onClick: event => {\n try {\n if (onClick) onClick(event);\n } catch (ex) {\n event.preventDefault();\n throw ex;\n }\n\n if (\n !event.defaultPrevented && // onClick prevented default\n event.button === 0 && // ignore everything but left clicks\n (!target || target === \"_self\") && // let browser handle \"target=_blank\" etc.\n !isModifiedEvent(event) // ignore clicks with modifier keys\n ) {\n event.preventDefault();\n navigate();\n }\n }\n };\n\n // React 15 compat\n if (forwardRefShim !== forwardRef) {\n props.ref = forwardedRef || innerRef;\n } else {\n props.ref = innerRef;\n }\n\n /* eslint-disable-next-line jsx-a11y/anchor-has-content */\n return <a {...props} />;\n }\n);\n\nif (__DEV__) {\n LinkAnchor.displayName = \"LinkAnchor\";\n}\n\n/**\n * The public API for rendering a history-aware <a>.\n */\nconst Link = forwardRef(\n (\n {\n component = LinkAnchor,\n replace,\n to,\n innerRef, // TODO: deprecate\n ...rest\n },\n forwardedRef\n ) => {\n return (\n <RouterContext.Consumer>\n {context => {\n invariant(context, \"You should not use <Link> outside a <Router>\");\n\n const { history } = context;\n\n const location = normalizeToLocation(\n resolveToLocation(to, context.location),\n context.location\n );\n\n const href = location ? history.createHref(location) : \"\";\n const props = {\n ...rest,\n href,\n navigate() {\n const location = resolveToLocation(to, context.location);\n const method = replace ? history.replace : history.push;\n\n method(location);\n }\n };\n\n // React 15 compat\n if (forwardRefShim !== forwardRef) {\n props.ref = forwardedRef || innerRef;\n } else {\n props.innerRef = innerRef;\n }\n\n return React.createElement(component, props);\n }}\n </RouterContext.Consumer>\n );\n }\n);\n\nif (__DEV__) {\n const toType = PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.object,\n PropTypes.func\n ]);\n const refType = PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.func,\n PropTypes.shape({ current: PropTypes.any })\n ]);\n\n Link.displayName = \"Link\";\n\n Link.propTypes = {\n innerRef: refType,\n onClick: PropTypes.func,\n replace: PropTypes.bool,\n target: PropTypes.string,\n to: toType.isRequired\n };\n}\n\nexport default Link;\n","import React from \"react\";\nimport { __RouterContext as RouterContext, matchPath } from \"react-router\";\nimport PropTypes from \"prop-types\";\nimport invariant from \"tiny-invariant\";\nimport Link from \"./Link.js\";\nimport {\n resolveToLocation,\n normalizeToLocation\n} from \"./utils/locationUtils.js\";\n\n// React 15 compat\nconst forwardRefShim = C => C;\nlet { forwardRef } = React;\nif (typeof forwardRef === \"undefined\") {\n forwardRef = forwardRefShim;\n}\n\nfunction joinClassnames(...classnames) {\n return classnames.filter(i => i).join(\" \");\n}\n\n/**\n * A <Link> wrapper that knows if it's \"active\" or not.\n */\nconst NavLink = forwardRef(\n (\n {\n \"aria-current\": ariaCurrent = \"page\",\n activeClassName = \"active\",\n activeStyle,\n className: classNameProp,\n exact,\n isActive: isActiveProp,\n location: locationProp,\n sensitive,\n strict,\n style: styleProp,\n to,\n innerRef, // TODO: deprecate\n ...rest\n },\n forwardedRef\n ) => {\n return (\n <RouterContext.Consumer>\n {context => {\n invariant(context, \"You should not use <NavLink> outside a <Router>\");\n\n const currentLocation = locationProp || context.location;\n const toLocation = normalizeToLocation(\n resolveToLocation(to, currentLocation),\n currentLocation\n );\n const { pathname: path } = toLocation;\n // Regex taken from: https://github.com/pillarjs/path-to-regexp/blob/master/index.js#L202\n const escapedPath =\n path && path.replace(/([.+*?=^!:${}()[\\]|/\\\\])/g, \"\\\\$1\");\n\n const match = escapedPath\n ? matchPath(currentLocation.pathname, {\n path: escapedPath,\n exact,\n sensitive,\n strict\n })\n : null;\n const isActive = !!(isActiveProp\n ? isActiveProp(match, currentLocation)\n : match);\n\n const className = isActive\n ? joinClassnames(classNameProp, activeClassName)\n : classNameProp;\n const style = isActive ? { ...styleProp, ...activeStyle } : styleProp;\n\n const props = {\n \"aria-current\": (isActive && ariaCurrent) || null,\n className,\n style,\n to: toLocation,\n ...rest\n };\n\n // React 15 compat\n if (forwardRefShim !== forwardRef) {\n props.ref = forwardedRef || innerRef;\n } else {\n props.innerRef = innerRef;\n }\n\n return <Link {...props} />;\n }}\n </RouterContext.Consumer>\n );\n }\n);\n\nif (__DEV__) {\n NavLink.displayName = \"NavLink\";\n\n const ariaCurrentType = PropTypes.oneOf([\n \"page\",\n \"step\",\n \"location\",\n \"date\",\n \"time\",\n \"true\"\n ]);\n\n NavLink.propTypes = {\n ...Link.propTypes,\n \"aria-current\": ariaCurrentType,\n activeClassName: PropTypes.string,\n activeStyle: PropTypes.object,\n className: PropTypes.string,\n exact: PropTypes.bool,\n isActive: PropTypes.func,\n location: PropTypes.object,\n sensitive: PropTypes.bool,\n strict: PropTypes.bool,\n style: PropTypes.object\n };\n}\n\nexport default NavLink;\n","/**\n * Dom7 3.0.0\n * Minimalistic JavaScript library for DOM manipulation, with a jQuery-compatible API\n * https://framework7.io/docs/dom7.html\n *\n * Copyright 2020, Vladimir Kharlampidi\n *\n * Licensed under MIT\n *\n * Released on: November 9, 2020\n */\nimport { getWindow, getDocument } from 'ssr-window';\n\nfunction _inheritsLoose(subClass, superClass) {\n subClass.prototype = Object.create(superClass.prototype);\n subClass.prototype.constructor = subClass;\n subClass.__proto__ = superClass;\n}\n\nfunction _getPrototypeOf(o) {\n _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) {\n return o.__proto__ || Object.getPrototypeOf(o);\n };\n return _getPrototypeOf(o);\n}\n\nfunction _setPrototypeOf(o, p) {\n _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) {\n o.__proto__ = p;\n return o;\n };\n\n return _setPrototypeOf(o, p);\n}\n\nfunction _isNativeReflectConstruct() {\n if (typeof Reflect === \"undefined\" || !Reflect.construct) return false;\n if (Reflect.construct.sham) return false;\n if (typeof Proxy === \"function\") return true;\n\n try {\n Date.prototype.toString.call(Reflect.construct(Date, [], function () {}));\n return true;\n } catch (e) {\n return false;\n }\n}\n\nfunction _construct(Parent, args, Class) {\n if (_isNativeReflectConstruct()) {\n _construct = Reflect.construct;\n } else {\n _construct = function _construct(Parent, args, Class) {\n var a = [null];\n a.push.apply(a, args);\n var Constructor = Function.bind.apply(Parent, a);\n var instance = new Constructor();\n if (Class) _setPrototypeOf(instance, Class.prototype);\n return instance;\n };\n }\n\n return _construct.apply(null, arguments);\n}\n\nfunction _isNativeFunction(fn) {\n return Function.toString.call(fn).indexOf(\"[native code]\") !== -1;\n}\n\nfunction _wrapNativeSuper(Class) {\n var _cache = typeof Map === \"function\" ? new Map() : undefined;\n\n _wrapNativeSuper = function _wrapNativeSuper(Class) {\n if (Class === null || !_isNativeFunction(Class)) return Class;\n\n if (typeof Class !== \"function\") {\n throw new TypeError(\"Super expression must either be null or a function\");\n }\n\n if (typeof _cache !== \"undefined\") {\n if (_cache.has(Class)) return _cache.get(Class);\n\n _cache.set(Class, Wrapper);\n }\n\n function Wrapper() {\n return _construct(Class, arguments, _getPrototypeOf(this).constructor);\n }\n\n Wrapper.prototype = Object.create(Class.prototype, {\n constructor: {\n value: Wrapper,\n enumerable: false,\n writable: true,\n configurable: true\n }\n });\n return _setPrototypeOf(Wrapper, Class);\n };\n\n return _wrapNativeSuper(Class);\n}\n\nfunction _assertThisInitialized(self) {\n if (self === void 0) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n\n return self;\n}\n\n/* eslint-disable no-proto */\nfunction makeReactive(obj) {\n var proto = obj.__proto__;\n Object.defineProperty(obj, '__proto__', {\n get: function get() {\n return proto;\n },\n set: function set(value) {\n proto.__proto__ = value;\n }\n });\n}\n\nvar Dom7 = /*#__PURE__*/function (_Array) {\n _inheritsLoose(Dom7, _Array);\n\n function Dom7(items) {\n var _this;\n\n _this = _Array.call.apply(_Array, [this].concat(items)) || this;\n makeReactive(_assertThisInitialized(_this));\n return _this;\n }\n\n return Dom7;\n}( /*#__PURE__*/_wrapNativeSuper(Array));\n\nfunction arrayFlat(arr) {\n if (arr === void 0) {\n arr = [];\n }\n\n var res = [];\n arr.forEach(function (el) {\n if (Array.isArray(el)) {\n res.push.apply(res, arrayFlat(el));\n } else {\n res.push(el);\n }\n });\n return res;\n}\nfunction arrayFilter(arr, callback) {\n return Array.prototype.filter.call(arr, callback);\n}\nfunction arrayUnique(arr) {\n var uniqueArray = [];\n\n for (var i = 0; i < arr.length; i += 1) {\n if (uniqueArray.indexOf(arr[i]) === -1) uniqueArray.push(arr[i]);\n }\n\n return uniqueArray;\n}\nfunction toCamelCase(string) {\n return string.toLowerCase().replace(/-(.)/g, function (match, group) {\n return group.toUpperCase();\n });\n}\n\nfunction qsa(selector, context) {\n if (typeof selector !== 'string') {\n return [selector];\n }\n\n var a = [];\n var res = context.querySelectorAll(selector);\n\n for (var i = 0; i < res.length; i += 1) {\n a.push(res[i]);\n }\n\n return a;\n}\n\nfunction $(selector, context) {\n var window = getWindow();\n var document = getDocument();\n var arr = [];\n\n if (!context && selector instanceof Dom7) {\n return selector;\n }\n\n if (!selector) {\n return new Dom7(arr);\n }\n\n if (typeof selector === 'string') {\n var html = selector.trim();\n\n if (html.indexOf('<') >= 0 && html.indexOf('>') >= 0) {\n var toCreate = 'div';\n if (html.indexOf('<li') === 0) toCreate = 'ul';\n if (html.indexOf('<tr') === 0) toCreate = 'tbody';\n if (html.indexOf('<td') === 0 || html.indexOf('<th') === 0) toCreate = 'tr';\n if (html.indexOf('<tbody') === 0) toCreate = 'table';\n if (html.indexOf('<option') === 0) toCreate = 'select';\n var tempParent = document.createElement(toCreate);\n tempParent.innerHTML = html;\n\n for (var i = 0; i < tempParent.childNodes.length; i += 1) {\n arr.push(tempParent.childNodes[i]);\n }\n } else {\n arr = qsa(selector.trim(), context || document);\n } // arr = qsa(selector, document);\n\n } else if (selector.nodeType || selector === window || selector === document) {\n arr.push(selector);\n } else if (Array.isArray(selector)) {\n if (selector instanceof Dom7) return selector;\n arr = selector;\n }\n\n return new Dom7(arrayUnique(arr));\n}\n\n$.fn = Dom7.prototype;\n\nfunction addClass() {\n for (var _len = arguments.length, classes = new Array(_len), _key = 0; _key < _len; _key++) {\n classes[_key] = arguments[_key];\n }\n\n var classNames = arrayFlat(classes.map(function (c) {\n return c.split(' ');\n }));\n this.forEach(function (el) {\n var _el$classList;\n\n (_el$classList = el.classList).add.apply(_el$classList, classNames);\n });\n return this;\n}\n\nfunction removeClass() {\n for (var _len2 = arguments.length, classes = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n classes[_key2] = arguments[_key2];\n }\n\n var classNames = arrayFlat(classes.map(function (c) {\n return c.split(' ');\n }));\n this.forEach(function (el) {\n var _el$classList2;\n\n (_el$classList2 = el.classList).remove.apply(_el$classList2, classNames);\n });\n return this;\n}\n\nfunction toggleClass() {\n for (var _len3 = arguments.length, classes = new Array(_len3), _key3 = 0; _key3 < _len3; _key3++) {\n classes[_key3] = arguments[_key3];\n }\n\n var classNames = arrayFlat(classes.map(function (c) {\n return c.split(' ');\n }));\n this.forEach(function (el) {\n classNames.forEach(function (className) {\n el.classList.toggle(className);\n });\n });\n}\n\nfunction hasClass() {\n for (var _len4 = arguments.length, classes = new Array(_len4), _key4 = 0; _key4 < _len4; _key4++) {\n classes[_key4] = arguments[_key4];\n }\n\n var classNames = arrayFlat(classes.map(function (c) {\n return c.split(' ');\n }));\n return arrayFilter(this, function (el) {\n return classNames.filter(function (className) {\n return el.classList.contains(className);\n }).length > 0;\n }).length > 0;\n}\n\nfunction attr(attrs, value) {\n if (arguments.length === 1 && typeof attrs === 'string') {\n // Get attr\n if (this[0]) return this[0].getAttribute(attrs);\n return undefined;\n } // Set attrs\n\n\n for (var i = 0; i < this.length; i += 1) {\n if (arguments.length === 2) {\n // String\n this[i].setAttribute(attrs, value);\n } else {\n // Object\n for (var attrName in attrs) {\n this[i][attrName] = attrs[attrName];\n this[i].setAttribute(attrName, attrs[attrName]);\n }\n }\n }\n\n return this;\n}\n\nfunction removeAttr(attr) {\n for (var i = 0; i < this.length; i += 1) {\n this[i].removeAttribute(attr);\n }\n\n return this;\n}\n\nfunction prop(props, value) {\n if (arguments.length === 1 && typeof props === 'string') {\n // Get prop\n if (this[0]) return this[0][props];\n } else {\n // Set props\n for (var i = 0; i < this.length; i += 1) {\n if (arguments.length === 2) {\n // String\n this[i][props] = value;\n } else {\n // Object\n for (var propName in props) {\n this[i][propName] = props[propName];\n }\n }\n }\n\n return this;\n }\n\n return this;\n}\n\nfunction data(key, value) {\n var el;\n\n if (typeof value === 'undefined') {\n el = this[0];\n if (!el) return undefined; // Get value\n\n if (el.dom7ElementDataStorage && key in el.dom7ElementDataStorage) {\n return el.dom7ElementDataStorage[key];\n }\n\n var dataKey = el.getAttribute(\"data-\" + key);\n\n if (dataKey) {\n return dataKey;\n }\n\n return undefined;\n } // Set value\n\n\n for (var i = 0; i < this.length; i += 1) {\n el = this[i];\n if (!el.dom7ElementDataStorage) el.dom7ElementDataStorage = {};\n el.dom7ElementDataStorage[key] = value;\n }\n\n return this;\n}\n\nfunction removeData(key) {\n for (var i = 0; i < this.length; i += 1) {\n var el = this[i];\n\n if (el.dom7ElementDataStorage && el.dom7ElementDataStorage[key]) {\n el.dom7ElementDataStorage[key] = null;\n delete el.dom7ElementDataStorage[key];\n }\n }\n}\n\nfunction dataset() {\n var el = this[0];\n if (!el) return undefined;\n var dataset = {}; // eslint-disable-line\n\n if (el.dataset) {\n for (var dataKey in el.dataset) {\n dataset[dataKey] = el.dataset[dataKey];\n }\n } else {\n for (var i = 0; i < el.attributes.length; i += 1) {\n var _attr = el.attributes[i];\n\n if (_attr.name.indexOf('data-') >= 0) {\n dataset[toCamelCase(_attr.name.split('data-')[1])] = _attr.value;\n }\n }\n }\n\n for (var key in dataset) {\n if (dataset[key] === 'false') dataset[key] = false;else if (dataset[key] === 'true') dataset[key] = true;else if (parseFloat(dataset[key]) === dataset[key] * 1) dataset[key] *= 1;\n }\n\n return dataset;\n}\n\nfunction val(value) {\n if (typeof value === 'undefined') {\n // get value\n var el = this[0];\n if (!el) return undefined;\n\n if (el.multiple && el.nodeName.toLowerCase() === 'select') {\n var values = [];\n\n for (var i = 0; i < el.selectedOptions.length; i += 1) {\n values.push(el.selectedOptions[i].value);\n }\n\n return values;\n }\n\n return el.value;\n } // set value\n\n\n for (var _i = 0; _i < this.length; _i += 1) {\n var _el = this[_i];\n\n if (Array.isArray(value) && _el.multiple && _el.nodeName.toLowerCase() === 'select') {\n for (var j = 0; j < _el.options.length; j += 1) {\n _el.options[j].selected = value.indexOf(_el.options[j].value) >= 0;\n }\n } else {\n _el.value = value;\n }\n }\n\n return this;\n}\n\nfunction value(value) {\n return this.val(value);\n}\n\nfunction transform(transform) {\n for (var i = 0; i < this.length; i += 1) {\n this[i].style.transform = transform;\n }\n\n return this;\n}\n\nfunction transition(duration) {\n for (var i = 0; i < this.length; i += 1) {\n this[i].style.transitionDuration = typeof duration !== 'string' ? duration + \"ms\" : duration;\n }\n\n return this;\n}\n\nfunction on() {\n for (var _len5 = arguments.length, args = new Array(_len5), _key5 = 0; _key5 < _len5; _key5++) {\n args[_key5] = arguments[_key5];\n }\n\n var eventType = args[0],\n targetSelector = args[1],\n listener = args[2],\n capture = args[3];\n\n if (typeof args[1] === 'function') {\n eventType = args[0];\n listener = args[1];\n capture = args[2];\n targetSelector = undefined;\n }\n\n if (!capture) capture = false;\n\n function handleLiveEvent(e) {\n var target = e.target;\n if (!target) return;\n var eventData = e.target.dom7EventData || [];\n\n if (eventData.indexOf(e) < 0) {\n eventData.unshift(e);\n }\n\n if ($(target).is(targetSelector)) listener.apply(target, eventData);else {\n var _parents = $(target).parents(); // eslint-disable-line\n\n\n for (var k = 0; k < _parents.length; k += 1) {\n if ($(_parents[k]).is(targetSelector)) listener.apply(_parents[k], eventData);\n }\n }\n }\n\n function handleEvent(e) {\n var eventData = e && e.target ? e.target.dom7EventData || [] : [];\n\n if (eventData.indexOf(e) < 0) {\n eventData.unshift(e);\n }\n\n listener.apply(this, eventData);\n }\n\n var events = eventType.split(' ');\n var j;\n\n for (var i = 0; i < this.length; i += 1) {\n var el = this[i];\n\n if (!targetSelector) {\n for (j = 0; j < events.length; j += 1) {\n var event = events[j];\n if (!el.dom7Listeners) el.dom7Listeners = {};\n if (!el.dom7Listeners[event]) el.dom7Listeners[event] = [];\n el.dom7Listeners[event].push({\n listener: listener,\n proxyListener: handleEvent\n });\n el.addEventListener(event, handleEvent, capture);\n }\n } else {\n // Live events\n for (j = 0; j < events.length; j += 1) {\n var _event = events[j];\n if (!el.dom7LiveListeners) el.dom7LiveListeners = {};\n if (!el.dom7LiveListeners[_event]) el.dom7LiveListeners[_event] = [];\n\n el.dom7LiveListeners[_event].push({\n listener: listener,\n proxyListener: handleLiveEvent\n });\n\n el.addEventListener(_event, handleLiveEvent, capture);\n }\n }\n }\n\n return this;\n}\n\nfunction off() {\n for (var _len6 = arguments.length, args = new Array(_len6), _key6 = 0; _key6 < _len6; _key6++) {\n args[_key6] = arguments[_key6];\n }\n\n var eventType = args[0],\n targetSelector = args[1],\n listener = args[2],\n capture = args[3];\n\n if (typeof args[1] === 'function') {\n eventType = args[0];\n listener = args[1];\n capture = args[2];\n targetSelector = undefined;\n }\n\n if (!capture) capture = false;\n var events = eventType.split(' ');\n\n for (var i = 0; i < events.length; i += 1) {\n var event = events[i];\n\n for (var j = 0; j < this.length; j += 1) {\n var el = this[j];\n var handlers = void 0;\n\n if (!targetSelector && el.dom7Listeners) {\n handlers = el.dom7Listeners[event];\n } else if (targetSelector && el.dom7LiveListeners) {\n handlers = el.dom7LiveListeners[event];\n }\n\n if (handlers && handlers.length) {\n for (var k = handlers.length - 1; k >= 0; k -= 1) {\n var handler = handlers[k];\n\n if (listener && handler.listener === listener) {\n el.removeEventListener(event, handler.proxyListener, capture);\n handlers.splice(k, 1);\n } else if (listener && handler.listener && handler.listener.dom7proxy && handler.listener.dom7proxy === listener) {\n el.removeEventListener(event, handler.proxyListener, capture);\n handlers.splice(k, 1);\n } else if (!listener) {\n el.removeEventListener(event, handler.proxyListener, capture);\n handlers.splice(k, 1);\n }\n }\n }\n }\n }\n\n return this;\n}\n\nfunction once() {\n var dom = this;\n\n for (var _len7 = arguments.length, args = new Array(_len7), _key7 = 0; _key7 < _len7; _key7++) {\n args[_key7] = arguments[_key7];\n }\n\n var eventName = args[0],\n targetSelector = args[1],\n listener = args[2],\n capture = args[3];\n\n if (typeof args[1] === 'function') {\n eventName = args[0];\n listener = args[1];\n capture = args[2];\n targetSelector = undefined;\n }\n\n function onceHandler() {\n for (var _len8 = arguments.length, eventArgs = new Array(_len8), _key8 = 0; _key8 < _len8; _key8++) {\n eventArgs[_key8] = arguments[_key8];\n }\n\n listener.apply(this, eventArgs);\n dom.off(eventName, targetSelector, onceHandler, capture);\n\n if (onceHandler.dom7proxy) {\n delete onceHandler.dom7proxy;\n }\n }\n\n onceHandler.dom7proxy = listener;\n return dom.on(eventName, targetSelector, onceHandler, capture);\n}\n\nfunction trigger() {\n var window = getWindow();\n\n for (var _len9 = arguments.length, args = new Array(_len9), _key9 = 0; _key9 < _len9; _key9++) {\n args[_key9] = arguments[_key9];\n }\n\n var events = args[0].split(' ');\n var eventData = args[1];\n\n for (var i = 0; i < events.length; i += 1) {\n var event = events[i];\n\n for (var j = 0; j < this.length; j += 1) {\n var el = this[j];\n\n if (window.CustomEvent) {\n var evt = new window.CustomEvent(event, {\n detail: eventData,\n bubbles: true,\n cancelable: true\n });\n el.dom7EventData = args.filter(function (data, dataIndex) {\n return dataIndex > 0;\n });\n el.dispatchEvent(evt);\n el.dom7EventData = [];\n delete el.dom7EventData;\n }\n }\n }\n\n return this;\n}\n\nfunction transitionEnd(callback) {\n var dom = this;\n\n function fireCallBack(e) {\n if (e.target !== this) return;\n callback.call(this, e);\n dom.off('transitionend', fireCallBack);\n }\n\n if (callback) {\n dom.on('transitionend', fireCallBack);\n }\n\n return this;\n}\n\nfunction animationEnd(callback) {\n var dom = this;\n\n function fireCallBack(e) {\n if (e.target !== this) return;\n callback.call(this, e);\n dom.off('animationend', fireCallBack);\n }\n\n if (callback) {\n dom.on('animationend', fireCallBack);\n }\n\n return this;\n}\n\nfunction width() {\n var window = getWindow();\n\n if (this[0] === window) {\n return window.innerWidth;\n }\n\n if (this.length > 0) {\n return parseFloat(this.css('width'));\n }\n\n return null;\n}\n\nfunction outerWidth(includeMargins) {\n if (this.length > 0) {\n if (includeMargins) {\n var _styles = this.styles();\n\n return this[0].offsetWidth + parseFloat(_styles.getPropertyValue('margin-right')) + parseFloat(_styles.getPropertyValue('margin-left'));\n }\n\n return this[0].offsetWidth;\n }\n\n return null;\n}\n\nfunction height() {\n var window = getWindow();\n\n if (this[0] === window) {\n return window.innerHeight;\n }\n\n if (this.length > 0) {\n return parseFloat(this.css('height'));\n }\n\n return null;\n}\n\nfunction outerHeight(includeMargins) {\n if (this.length > 0) {\n if (includeMargins) {\n var _styles2 = this.styles();\n\n return this[0].offsetHeight + parseFloat(_styles2.getPropertyValue('margin-top')) + parseFloat(_styles2.getPropertyValue('margin-bottom'));\n }\n\n return this[0].offsetHeight;\n }\n\n return null;\n}\n\nfunction offset() {\n if (this.length > 0) {\n var window = getWindow();\n var document = getDocument();\n var el = this[0];\n var box = el.getBoundingClientRect();\n var body = document.body;\n var clientTop = el.clientTop || body.clientTop || 0;\n var clientLeft = el.clientLeft || body.clientLeft || 0;\n var scrollTop = el === window ? window.scrollY : el.scrollTop;\n var scrollLeft = el === window ? window.scrollX : el.scrollLeft;\n return {\n top: box.top + scrollTop - clientTop,\n left: box.left + scrollLeft - clientLeft\n };\n }\n\n return null;\n}\n\nfunction hide() {\n for (var i = 0; i < this.length; i += 1) {\n this[i].style.display = 'none';\n }\n\n return this;\n}\n\nfunction show() {\n var window = getWindow();\n\n for (var i = 0; i < this.length; i += 1) {\n var el = this[i];\n\n if (el.style.display === 'none') {\n el.style.display = '';\n }\n\n if (window.getComputedStyle(el, null).getPropertyValue('display') === 'none') {\n // Still not visible\n el.style.display = 'block';\n }\n }\n\n return this;\n}\n\nfunction styles() {\n var window = getWindow();\n if (this[0]) return window.getComputedStyle(this[0], null);\n return {};\n}\n\nfunction css(props, value) {\n var window = getWindow();\n var i;\n\n if (arguments.length === 1) {\n if (typeof props === 'string') {\n // .css('width')\n if (this[0]) return window.getComputedStyle(this[0], null).getPropertyValue(props);\n } else {\n // .css({ width: '100px' })\n for (i = 0; i < this.length; i += 1) {\n for (var _prop in props) {\n this[i].style[_prop] = props[_prop];\n }\n }\n\n return this;\n }\n }\n\n if (arguments.length === 2 && typeof props === 'string') {\n // .css('width', '100px')\n for (i = 0; i < this.length; i += 1) {\n this[i].style[props] = value;\n }\n\n return this;\n }\n\n return this;\n}\n\nfunction each(callback) {\n if (!callback) return this;\n this.forEach(function (el, index) {\n callback.apply(el, [el, index]);\n });\n return this;\n}\n\nfunction filter(callback) {\n var result = arrayFilter(this, callback);\n return $(result);\n}\n\nfunction html(html) {\n if (typeof html === 'undefined') {\n return this[0] ? this[0].innerHTML : null;\n }\n\n for (var i = 0; i < this.length; i += 1) {\n this[i].innerHTML = html;\n }\n\n return this;\n}\n\nfunction text(text) {\n if (typeof text === 'undefined') {\n return this[0] ? this[0].textContent.trim() : null;\n }\n\n for (var i = 0; i < this.length; i += 1) {\n this[i].textContent = text;\n }\n\n return this;\n}\n\nfunction is(selector) {\n var window = getWindow();\n var document = getDocument();\n var el = this[0];\n var compareWith;\n var i;\n if (!el || typeof selector === 'undefined') return false;\n\n if (typeof selector === 'string') {\n if (el.matches) return el.matches(selector);\n if (el.webkitMatchesSelector) return el.webkitMatchesSelector(selector);\n if (el.msMatchesSelector) return el.msMatchesSelector(selector);\n compareWith = $(selector);\n\n for (i = 0; i < compareWith.length; i += 1) {\n if (compareWith[i] === el) return true;\n }\n\n return false;\n }\n\n if (selector === document) {\n return el === document;\n }\n\n if (selector === window) {\n return el === window;\n }\n\n if (selector.nodeType || selector instanceof Dom7) {\n compareWith = selector.nodeType ? [selector] : selector;\n\n for (i = 0; i < compareWith.length; i += 1) {\n if (compareWith[i] === el) return true;\n }\n\n return false;\n }\n\n return false;\n}\n\nfunction index() {\n var child = this[0];\n var i;\n\n if (child) {\n i = 0; // eslint-disable-next-line\n\n while ((child = child.previousSibling) !== null) {\n if (child.nodeType === 1) i += 1;\n }\n\n return i;\n }\n\n return undefined;\n}\n\nfunction eq(index) {\n if (typeof index === 'undefined') return this;\n var length = this.length;\n\n if (index > length - 1) {\n return $([]);\n }\n\n if (index < 0) {\n var returnIndex = length + index;\n if (returnIndex < 0) return $([]);\n return $([this[returnIndex]]);\n }\n\n return $([this[index]]);\n}\n\nfunction append() {\n var newChild;\n var document = getDocument();\n\n for (var k = 0; k < arguments.length; k += 1) {\n newChild = k < 0 || arguments.length <= k ? undefined : arguments[k];\n\n for (var i = 0; i < this.length; i += 1) {\n if (typeof newChild === 'string') {\n var tempDiv = document.createElement('div');\n tempDiv.innerHTML = newChild;\n\n while (tempDiv.firstChild) {\n this[i].appendChild(tempDiv.firstChild);\n }\n } else if (newChild instanceof Dom7) {\n for (var j = 0; j < newChild.length; j += 1) {\n this[i].appendChild(newChild[j]);\n }\n } else {\n this[i].appendChild(newChild);\n }\n }\n }\n\n return this;\n}\n\nfunction appendTo(parent) {\n $(parent).append(this);\n return this;\n}\n\nfunction prepend(newChild) {\n var document = getDocument();\n var i;\n var j;\n\n for (i = 0; i < this.length; i += 1) {\n if (typeof newChild === 'string') {\n var tempDiv = document.createElement('div');\n tempDiv.innerHTML = newChild;\n\n for (j = tempDiv.childNodes.length - 1; j >= 0; j -= 1) {\n this[i].insertBefore(tempDiv.childNodes[j], this[i].childNodes[0]);\n }\n } else if (newChild instanceof Dom7) {\n for (j = 0; j < newChild.length; j += 1) {\n this[i].insertBefore(newChild[j], this[i].childNodes[0]);\n }\n } else {\n this[i].insertBefore(newChild, this[i].childNodes[0]);\n }\n }\n\n return this;\n}\n\nfunction prependTo(parent) {\n $(parent).prepend(this);\n return this;\n}\n\nfunction insertBefore(selector) {\n var before = $(selector);\n\n for (var i = 0; i < this.length; i += 1) {\n if (before.length === 1) {\n before[0].parentNode.insertBefore(this[i], before[0]);\n } else if (before.length > 1) {\n for (var j = 0; j < before.length; j += 1) {\n before[j].parentNode.insertBefore(this[i].cloneNode(true), before[j]);\n }\n }\n }\n}\n\nfunction insertAfter(selector) {\n var after = $(selector);\n\n for (var i = 0; i < this.length; i += 1) {\n if (after.length === 1) {\n after[0].parentNode.insertBefore(this[i], after[0].nextSibling);\n } else if (after.length > 1) {\n for (var j = 0; j < after.length; j += 1) {\n after[j].parentNode.insertBefore(this[i].cloneNode(true), after[j].nextSibling);\n }\n }\n }\n}\n\nfunction next(selector) {\n if (this.length > 0) {\n if (selector) {\n if (this[0].nextElementSibling && $(this[0].nextElementSibling).is(selector)) {\n return $([this[0].nextElementSibling]);\n }\n\n return $([]);\n }\n\n if (this[0].nextElementSibling) return $([this[0].nextElementSibling]);\n return $([]);\n }\n\n return $([]);\n}\n\nfunction nextAll(selector) {\n var nextEls = [];\n var el = this[0];\n if (!el) return $([]);\n\n while (el.nextElementSibling) {\n var _next = el.nextElementSibling; // eslint-disable-line\n\n if (selector) {\n if ($(_next).is(selector)) nextEls.push(_next);\n } else nextEls.push(_next);\n\n el = _next;\n }\n\n return $(nextEls);\n}\n\nfunction prev(selector) {\n if (this.length > 0) {\n var el = this[0];\n\n if (selector) {\n if (el.previousElementSibling && $(el.previousElementSibling).is(selector)) {\n return $([el.previousElementSibling]);\n }\n\n return $([]);\n }\n\n if (el.previousElementSibling) return $([el.previousElementSibling]);\n return $([]);\n }\n\n return $([]);\n}\n\nfunction prevAll(selector) {\n var prevEls = [];\n var el = this[0];\n if (!el) return $([]);\n\n while (el.previousElementSibling) {\n var _prev = el.previousElementSibling; // eslint-disable-line\n\n if (selector) {\n if ($(_prev).is(selector)) prevEls.push(_prev);\n } else prevEls.push(_prev);\n\n el = _prev;\n }\n\n return $(prevEls);\n}\n\nfunction siblings(selector) {\n return this.nextAll(selector).add(this.prevAll(selector));\n}\n\nfunction parent(selector) {\n var parents = []; // eslint-disable-line\n\n for (var i = 0; i < this.length; i += 1) {\n if (this[i].parentNode !== null) {\n if (selector) {\n if ($(this[i].parentNode).is(selector)) parents.push(this[i].parentNode);\n } else {\n parents.push(this[i].parentNode);\n }\n }\n }\n\n return $(parents);\n}\n\nfunction parents(selector) {\n var parents = []; // eslint-disable-line\n\n for (var i = 0; i < this.length; i += 1) {\n var _parent = this[i].parentNode; // eslint-disable-line\n\n while (_parent) {\n if (selector) {\n if ($(_parent).is(selector)) parents.push(_parent);\n } else {\n parents.push(_parent);\n }\n\n _parent = _parent.parentNode;\n }\n }\n\n return $(parents);\n}\n\nfunction closest(selector) {\n var closest = this; // eslint-disable-line\n\n if (typeof selector === 'undefined') {\n return $([]);\n }\n\n if (!closest.is(selector)) {\n closest = closest.parents(selector).eq(0);\n }\n\n return closest;\n}\n\nfunction find(selector) {\n var foundElements = [];\n\n for (var i = 0; i < this.length; i += 1) {\n var found = this[i].querySelectorAll(selector);\n\n for (var j = 0; j < found.length; j += 1) {\n foundElements.push(found[j]);\n }\n }\n\n return $(foundElements);\n}\n\nfunction children(selector) {\n var children = []; // eslint-disable-line\n\n for (var i = 0; i < this.length; i += 1) {\n var childNodes = this[i].children;\n\n for (var j = 0; j < childNodes.length; j += 1) {\n if (!selector || $(childNodes[j]).is(selector)) {\n children.push(childNodes[j]);\n }\n }\n }\n\n return $(children);\n}\n\nfunction remove() {\n for (var i = 0; i < this.length; i += 1) {\n if (this[i].parentNode) this[i].parentNode.removeChild(this[i]);\n }\n\n return this;\n}\n\nfunction detach() {\n return this.remove();\n}\n\nfunction add() {\n var dom = this;\n var i;\n var j;\n\n for (var _len10 = arguments.length, els = new Array(_len10), _key10 = 0; _key10 < _len10; _key10++) {\n els[_key10] = arguments[_key10];\n }\n\n for (i = 0; i < els.length; i += 1) {\n var toAdd = $(els[i]);\n\n for (j = 0; j < toAdd.length; j += 1) {\n dom.push(toAdd[j]);\n }\n }\n\n return dom;\n}\n\nfunction empty() {\n for (var i = 0; i < this.length; i += 1) {\n var el = this[i];\n\n if (el.nodeType === 1) {\n for (var j = 0; j < el.childNodes.length; j += 1) {\n if (el.childNodes[j].parentNode) {\n el.childNodes[j].parentNode.removeChild(el.childNodes[j]);\n }\n }\n\n el.textContent = '';\n }\n }\n\n return this;\n}\n\nfunction scrollTo() {\n var window = getWindow();\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n var left = args[0],\n top = args[1],\n duration = args[2],\n easing = args[3],\n callback = args[4];\n\n if (args.length === 4 && typeof easing === 'function') {\n callback = easing;\n left = args[0];\n top = args[1];\n duration = args[2];\n callback = args[3];\n easing = args[4];\n }\n\n if (typeof easing === 'undefined') easing = 'swing';\n return this.each(function animate() {\n var el = this;\n var currentTop;\n var currentLeft;\n var maxTop;\n var maxLeft;\n var newTop;\n var newLeft;\n var scrollTop; // eslint-disable-line\n\n var scrollLeft; // eslint-disable-line\n\n var animateTop = top > 0 || top === 0;\n var animateLeft = left > 0 || left === 0;\n\n if (typeof easing === 'undefined') {\n easing = 'swing';\n }\n\n if (animateTop) {\n currentTop = el.scrollTop;\n\n if (!duration) {\n el.scrollTop = top;\n }\n }\n\n if (animateLeft) {\n currentLeft = el.scrollLeft;\n\n if (!duration) {\n el.scrollLeft = left;\n }\n }\n\n if (!duration) return;\n\n if (animateTop) {\n maxTop = el.scrollHeight - el.offsetHeight;\n newTop = Math.max(Math.min(top, maxTop), 0);\n }\n\n if (animateLeft) {\n maxLeft = el.scrollWidth - el.offsetWidth;\n newLeft = Math.max(Math.min(left, maxLeft), 0);\n }\n\n var startTime = null;\n if (animateTop && newTop === currentTop) animateTop = false;\n if (animateLeft && newLeft === currentLeft) animateLeft = false;\n\n function render(time) {\n if (time === void 0) {\n time = new Date().getTime();\n }\n\n if (startTime === null) {\n startTime = time;\n }\n\n var progress = Math.max(Math.min((time - startTime) / duration, 1), 0);\n var easeProgress = easing === 'linear' ? progress : 0.5 - Math.cos(progress * Math.PI) / 2;\n var done;\n if (animateTop) scrollTop = currentTop + easeProgress * (newTop - currentTop);\n if (animateLeft) scrollLeft = currentLeft + easeProgress * (newLeft - currentLeft);\n\n if (animateTop && newTop > currentTop && scrollTop >= newTop) {\n el.scrollTop = newTop;\n done = true;\n }\n\n if (animateTop && newTop < currentTop && scrollTop <= newTop) {\n el.scrollTop = newTop;\n done = true;\n }\n\n if (animateLeft && newLeft > currentLeft && scrollLeft >= newLeft) {\n el.scrollLeft = newLeft;\n done = true;\n }\n\n if (animateLeft && newLeft < currentLeft && scrollLeft <= newLeft) {\n el.scrollLeft = newLeft;\n done = true;\n }\n\n if (done) {\n if (callback) callback();\n return;\n }\n\n if (animateTop) el.scrollTop = scrollTop;\n if (animateLeft) el.scrollLeft = scrollLeft;\n window.requestAnimationFrame(render);\n }\n\n window.requestAnimationFrame(render);\n });\n} // scrollTop(top, duration, easing, callback) {\n\n\nfunction scrollTop() {\n for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n args[_key2] = arguments[_key2];\n }\n\n var top = args[0],\n duration = args[1],\n easing = args[2],\n callback = args[3];\n\n if (args.length === 3 && typeof easing === 'function') {\n top = args[0];\n duration = args[1];\n callback = args[2];\n easing = args[3];\n }\n\n var dom = this;\n\n if (typeof top === 'undefined') {\n if (dom.length > 0) return dom[0].scrollTop;\n return null;\n }\n\n return dom.scrollTo(undefined, top, duration, easing, callback);\n}\n\nfunction scrollLeft() {\n for (var _len3 = arguments.length, args = new Array(_len3), _key3 = 0; _key3 < _len3; _key3++) {\n args[_key3] = arguments[_key3];\n }\n\n var left = args[0],\n duration = args[1],\n easing = args[2],\n callback = args[3];\n\n if (args.length === 3 && typeof easing === 'function') {\n left = args[0];\n duration = args[1];\n callback = args[2];\n easing = args[3];\n }\n\n var dom = this;\n\n if (typeof left === 'undefined') {\n if (dom.length > 0) return dom[0].scrollLeft;\n return null;\n }\n\n return dom.scrollTo(left, undefined, duration, easing, callback);\n}\n\nfunction animate(initialProps, initialParams) {\n var window = getWindow();\n var els = this;\n var a = {\n props: Object.assign({}, initialProps),\n params: Object.assign({\n duration: 300,\n easing: 'swing' // or 'linear'\n\n /* Callbacks\n begin(elements)\n complete(elements)\n progress(elements, complete, remaining, start, tweenValue)\n */\n\n }, initialParams),\n elements: els,\n animating: false,\n que: [],\n easingProgress: function easingProgress(easing, progress) {\n if (easing === 'swing') {\n return 0.5 - Math.cos(progress * Math.PI) / 2;\n }\n\n if (typeof easing === 'function') {\n return easing(progress);\n }\n\n return progress;\n },\n stop: function stop() {\n if (a.frameId) {\n window.cancelAnimationFrame(a.frameId);\n }\n\n a.animating = false;\n a.elements.each(function (el) {\n var element = el;\n delete element.dom7AnimateInstance;\n });\n a.que = [];\n },\n done: function done(complete) {\n a.animating = false;\n a.elements.each(function (el) {\n var element = el;\n delete element.dom7AnimateInstance;\n });\n if (complete) complete(els);\n\n if (a.que.length > 0) {\n var que = a.que.shift();\n a.animate(que[0], que[1]);\n }\n },\n animate: function animate(props, params) {\n if (a.animating) {\n a.que.push([props, params]);\n return a;\n }\n\n var elements = []; // Define & Cache Initials & Units\n\n a.elements.each(function (el, index) {\n var initialFullValue;\n var initialValue;\n var unit;\n var finalValue;\n var finalFullValue;\n if (!el.dom7AnimateInstance) a.elements[index].dom7AnimateInstance = a;\n elements[index] = {\n container: el\n };\n Object.keys(props).forEach(function (prop) {\n initialFullValue = window.getComputedStyle(el, null).getPropertyValue(prop).replace(',', '.');\n initialValue = parseFloat(initialFullValue);\n unit = initialFullValue.replace(initialValue, '');\n finalValue = parseFloat(props[prop]);\n finalFullValue = props[prop] + unit;\n elements[index][prop] = {\n initialFullValue: initialFullValue,\n initialValue: initialValue,\n unit: unit,\n finalValue: finalValue,\n finalFullValue: finalFullValue,\n currentValue: initialValue\n };\n });\n });\n var startTime = null;\n var time;\n var elementsDone = 0;\n var propsDone = 0;\n var done;\n var began = false;\n a.animating = true;\n\n function render() {\n time = new Date().getTime();\n var progress;\n var easeProgress; // let el;\n\n if (!began) {\n began = true;\n if (params.begin) params.begin(els);\n }\n\n if (startTime === null) {\n startTime = time;\n }\n\n if (params.progress) {\n // eslint-disable-next-line\n params.progress(els, Math.max(Math.min((time - startTime) / params.duration, 1), 0), startTime + params.duration - time < 0 ? 0 : startTime + params.duration - time, startTime);\n }\n\n elements.forEach(function (element) {\n var el = element;\n if (done || el.done) return;\n Object.keys(props).forEach(function (prop) {\n if (done || el.done) return;\n progress = Math.max(Math.min((time - startTime) / params.duration, 1), 0);\n easeProgress = a.easingProgress(params.easing, progress);\n var _el$prop = el[prop],\n initialValue = _el$prop.initialValue,\n finalValue = _el$prop.finalValue,\n unit = _el$prop.unit;\n el[prop].currentValue = initialValue + easeProgress * (finalValue - initialValue);\n var currentValue = el[prop].currentValue;\n\n if (finalValue > initialValue && currentValue >= finalValue || finalValue < initialValue && currentValue <= finalValue) {\n el.container.style[prop] = finalValue + unit;\n propsDone += 1;\n\n if (propsDone === Object.keys(props).length) {\n el.done = true;\n elementsDone += 1;\n }\n\n if (elementsDone === elements.length) {\n done = true;\n }\n }\n\n if (done) {\n a.done(params.complete);\n return;\n }\n\n el.container.style[prop] = currentValue + unit;\n });\n });\n if (done) return; // Then call\n\n a.frameId = window.requestAnimationFrame(render);\n }\n\n a.frameId = window.requestAnimationFrame(render);\n return a;\n }\n };\n\n if (a.elements.length === 0) {\n return els;\n }\n\n var animateInstance;\n\n for (var i = 0; i < a.elements.length; i += 1) {\n if (a.elements[i].dom7AnimateInstance) {\n animateInstance = a.elements[i].dom7AnimateInstance;\n } else a.elements[i].dom7AnimateInstance = a;\n }\n\n if (!animateInstance) {\n animateInstance = a;\n }\n\n if (initialProps === 'stop') {\n animateInstance.stop();\n } else {\n animateInstance.animate(a.props, a.params);\n }\n\n return els;\n}\n\nfunction stop() {\n var els = this;\n\n for (var i = 0; i < els.length; i += 1) {\n if (els[i].dom7AnimateInstance) {\n els[i].dom7AnimateInstance.stop();\n }\n }\n}\n\nvar noTrigger = 'resize scroll'.split(' ');\n\nfunction shortcut(name) {\n function eventHandler() {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n if (typeof args[0] === 'undefined') {\n for (var i = 0; i < this.length; i += 1) {\n if (noTrigger.indexOf(name) < 0) {\n if (name in this[i]) this[i][name]();else {\n $(this[i]).trigger(name);\n }\n }\n }\n\n return this;\n }\n\n return this.on.apply(this, [name].concat(args));\n }\n\n return eventHandler;\n}\n\nvar click = shortcut('click');\nvar blur = shortcut('blur');\nvar focus = shortcut('focus');\nvar focusin = shortcut('focusin');\nvar focusout = shortcut('focusout');\nvar keyup = shortcut('keyup');\nvar keydown = shortcut('keydown');\nvar keypress = shortcut('keypress');\nvar submit = shortcut('submit');\nvar change = shortcut('change');\nvar mousedown = shortcut('mousedown');\nvar mousemove = shortcut('mousemove');\nvar mouseup = shortcut('mouseup');\nvar mouseenter = shortcut('mouseenter');\nvar mouseleave = shortcut('mouseleave');\nvar mouseout = shortcut('mouseout');\nvar mouseover = shortcut('mouseover');\nvar touchstart = shortcut('touchstart');\nvar touchend = shortcut('touchend');\nvar touchmove = shortcut('touchmove');\nvar resize = shortcut('resize');\nvar scroll = shortcut('scroll');\n\nexport default $;\nexport { $, add, addClass, animate, animationEnd, append, appendTo, attr, blur, change, children, click, closest, css, data, dataset, detach, each, empty, eq, filter, find, focus, focusin, focusout, hasClass, height, hide, html, index, insertAfter, insertBefore, is, keydown, keypress, keyup, mousedown, mouseenter, mouseleave, mousemove, mouseout, mouseover, mouseup, next, nextAll, off, offset, on, once, outerHeight, outerWidth, parent, parents, prepend, prependTo, prev, prevAll, prop, remove, removeAttr, removeClass, removeData, resize, scroll, scrollLeft, scrollTo, scrollTop, show, siblings, stop, styles, submit, text, toggleClass, touchend, touchmove, touchstart, transform, transition, transitionEnd, trigger, val, value, width };\n","import { $, addClass, removeClass, hasClass, toggleClass, attr, removeAttr, transform, transition, on, off, trigger, transitionEnd, outerWidth, outerHeight, styles, offset, css, each, html, text, is, index, eq, append, prepend, next, nextAll, prev, prevAll, parent, parents, closest, find, children, filter, remove } from 'dom7';\nvar Methods = {\n addClass: addClass,\n removeClass: removeClass,\n hasClass: hasClass,\n toggleClass: toggleClass,\n attr: attr,\n removeAttr: removeAttr,\n transform: transform,\n transition: transition,\n on: on,\n off: off,\n trigger: trigger,\n transitionEnd: transitionEnd,\n outerWidth: outerWidth,\n outerHeight: outerHeight,\n styles: styles,\n offset: offset,\n css: css,\n each: each,\n html: html,\n text: text,\n is: is,\n index: index,\n eq: eq,\n append: append,\n prepend: prepend,\n next: next,\n nextAll: nextAll,\n prev: prev,\n prevAll: prevAll,\n parent: parent,\n parents: parents,\n closest: closest,\n find: find,\n children: children,\n filter: filter,\n remove: remove\n};\nObject.keys(Methods).forEach(function (methodName) {\n Object.defineProperty($.fn, methodName, {\n value: Methods[methodName],\n writable: true\n });\n});\nexport default $;","import { numberToWord } from './numberToWord';\n/*\n * There are 3 prop patterns used to build up the className for a component.\n * Each utility here is meant for use in a classnames() argument.\n *\n * There is no util for valueOnly() because it would simply return val.\n * Use the prop value inline instead.\n * <Label size='big' />\n * <div class=\"ui big label\"></div>\n */\n\n/**\n * Props where only the prop key is used in the className.\n * @param {*} val A props value\n * @param {string} key A props key\n *\n * @example\n * <Label tag />\n * <div class=\"ui tag label\"></div>\n */\n\nexport var useKeyOnly = function useKeyOnly(val, key) {\n return val && key;\n};\n/**\n * Props that require both a key and value to create a className.\n * @param {*} val A props value\n * @param {string} key A props key\n *\n * @example\n * <Label corner='left' />\n * <div class=\"ui left corner label\"></div>\n */\n\nexport var useValueAndKey = function useValueAndKey(val, key) {\n return val && val !== true && val + \" \" + key;\n};\n/**\n * Props whose key will be used in className, or value and key.\n * @param {*} val A props value\n * @param {string} key A props key\n *\n * @example Key Only\n * <Label pointing />\n * <div class=\"ui pointing label\"></div>\n *\n * @example Key and Value\n * <Label pointing='left' />\n * <div class=\"ui left pointing label\"></div>\n */\n\nexport var useKeyOrValueAndKey = function useKeyOrValueAndKey(val, key) {\n return val && (val === true ? key : val + \" \" + key);\n}; //\n// Prop to className exceptions\n//\n\n/**\n * The \"multiple\" prop implements control of visibility and reserved classes for Grid subcomponents.\n *\n * @param {*} val The value of the \"multiple\" prop\n * @param {*} key A props key\n *\n * @example\n * <Grid.Row only='mobile' />\n * <Grid.Row only='mobile tablet' />\n * <div class=\"mobile only row\"></div>\n * <div class=\"mobile only tablet only row\"></div>\n */\n\nexport var useMultipleProp = function useMultipleProp(val, key) {\n if (!val || val === true) return null;\n return val.replace('large screen', 'large-screen').replace(/ vertically/g, '-vertically').split(' ').map(function (prop) {\n return prop.replace('-', ' ') + \" \" + key;\n }).join(' ');\n};\n/**\n * The \"textAlign\" prop follows the useValueAndKey except when the value is \"justified'.\n * In this case, only the class \"justified\" is used, ignoring the \"aligned\" class.\n * @param {*} val The value of the \"textAlign\" prop\n *\n * @example\n * <Container textAlign='justified' />\n * <div class=\"ui justified container\"></div>\n *\n * @example\n * <Container textAlign='left' />\n * <div class=\"ui left aligned container\"></div>\n */\n\nexport var useTextAlignProp = function useTextAlignProp(val) {\n return val === 'justified' ? 'justified' : useValueAndKey(val, 'aligned');\n};\n/**\n * The \"verticalAlign\" prop follows the useValueAndKey.\n *\n * @param {*} val The value of the \"verticalAlign\" prop\n *\n * @example\n * <Grid verticalAlign='middle' />\n * <div class=\"ui middle aligned grid\"></div>\n */\n\nexport var useVerticalAlignProp = function useVerticalAlignProp(val) {\n return useValueAndKey(val, 'aligned');\n};\n/**\n * Create \"X\", \"X wide\" and \"equal width\" classNames.\n * \"X\" is a numberToWord value and \"wide\" is configurable.\n * @param {*} val The prop value\n * @param {string} [widthClass=''] The class\n * @param {boolean} [canEqual=false] Flag that indicates possibility of \"equal\" value\n *\n * @example\n * <Grid columns='equal' />\n * <div class=\"ui equal width grid\"></div>\n *\n * <Form widths='equal' />\n * <div class=\"ui equal width form\"></div>\n *\n * <FieldGroup widths='equal' />\n * <div class=\"equal width fields\"></div>\n *\n * @example\n * <Grid columns={4} />\n * <div class=\"ui four column grid\"></div>\n */\n\nexport var useWidthProp = function useWidthProp(val, widthClass, canEqual) {\n if (widthClass === void 0) {\n widthClass = '';\n }\n\n if (canEqual === void 0) {\n canEqual = false;\n }\n\n if (canEqual && val === 'equal') {\n return 'equal width';\n }\n\n var valType = typeof val;\n\n if ((valType === 'string' || valType === 'number') && widthClass) {\n return numberToWord(val) + \" \" + widthClass;\n }\n\n return numberToWord(val);\n};","export const TAG_PROPERTIES = {\n CHARSET: 'charset',\n CSS_TEXT: 'cssText',\n HREF: 'href',\n HTTPEQUIV: 'http-equiv',\n INNER_HTML: 'innerHTML',\n ITEM_PROP: 'itemprop',\n NAME: 'name',\n PROPERTY: 'property',\n REL: 'rel',\n SRC: 'src',\n};\n\nexport const ATTRIBUTE_NAMES = {\n BODY: 'bodyAttributes',\n HTML: 'htmlAttributes',\n TITLE: 'titleAttributes',\n};\n\nexport const TAG_NAMES = {\n BASE: 'base',\n BODY: 'body',\n HEAD: 'head',\n HTML: 'html',\n LINK: 'link',\n META: 'meta',\n NOSCRIPT: 'noscript',\n SCRIPT: 'script',\n STYLE: 'style',\n TITLE: 'title',\n FRAGMENT: 'Symbol(react.fragment)',\n};\n\nexport const VALID_TAG_NAMES = Object.keys(TAG_NAMES).map(name => TAG_NAMES[name]);\n\nexport const REACT_TAG_MAP = {\n accesskey: 'accessKey',\n charset: 'charSet',\n class: 'className',\n contenteditable: 'contentEditable',\n contextmenu: 'contextMenu',\n 'http-equiv': 'httpEquiv',\n itemprop: 'itemProp',\n tabindex: 'tabIndex',\n};\n\nexport const HTML_TAG_MAP = Object.keys(REACT_TAG_MAP).reduce((obj, key) => {\n obj[REACT_TAG_MAP[key]] = key;\n return obj;\n}, {});\n\nexport const HELMET_ATTRIBUTE = 'data-rh';\n","const {\n hasOwnProperty,\n setPrototypeOf,\n isFrozen,\n getPrototypeOf,\n getOwnPropertyDescriptor,\n} = Object;\n\nlet { freeze, seal, create } = Object; // eslint-disable-line import/no-mutable-exports\nlet { apply, construct } = typeof Reflect !== 'undefined' && Reflect;\n\nif (!apply) {\n apply = function (fun, thisValue, args) {\n return fun.apply(thisValue, args);\n };\n}\n\nif (!freeze) {\n freeze = function (x) {\n return x;\n };\n}\n\nif (!seal) {\n seal = function (x) {\n return x;\n };\n}\n\nif (!construct) {\n construct = function (Func, args) {\n return new Func(...args);\n };\n}\n\nconst arrayForEach = unapply(Array.prototype.forEach);\nconst arrayIndexOf = unapply(Array.prototype.indexOf);\nconst arrayPop = unapply(Array.prototype.pop);\nconst arrayPush = unapply(Array.prototype.push);\nconst arraySlice = unapply(Array.prototype.slice);\n\nconst stringToLowerCase = unapply(String.prototype.toLowerCase);\nconst stringMatch = unapply(String.prototype.match);\nconst stringReplace = unapply(String.prototype.replace);\nconst stringIndexOf = unapply(String.prototype.indexOf);\nconst stringTrim = unapply(String.prototype.trim);\n\nconst regExpTest = unapply(RegExp.prototype.test);\n\nconst typeErrorCreate = unconstruct(TypeError);\n\nexport function unapply(func) {\n return (thisArg, ...args) => apply(func, thisArg, args);\n}\n\nexport function unconstruct(func) {\n return (...args) => construct(func, args);\n}\n\n/* Add properties to a lookup table */\nexport function addToSet(set, array) {\n if (setPrototypeOf) {\n // Make 'in' and truthy checks like Boolean(set.constructor)\n // independent of any properties defined on Object.prototype.\n // Prevent prototype setters from intercepting set as a this value.\n setPrototypeOf(set, null);\n }\n\n let l = array.length;\n while (l--) {\n let element = array[l];\n if (typeof element === 'string') {\n const lcElement = stringToLowerCase(element);\n if (lcElement !== element) {\n // Config presets (e.g. tags.js, attrs.js) are immutable.\n if (!isFrozen(array)) {\n array[l] = lcElement;\n }\n\n element = lcElement;\n }\n }\n\n set[element] = true;\n }\n\n return set;\n}\n\n/* Shallow clone an object */\nexport function clone(object) {\n const newObject = create(null);\n\n let property;\n for (property in object) {\n if (apply(hasOwnProperty, object, [property])) {\n newObject[property] = object[property];\n }\n }\n\n return newObject;\n}\n\n/* IE10 doesn't support __lookupGetter__ so lets'\n * simulate it. It also automatically checks\n * if the prop is function or getter and behaves\n * accordingly. */\nfunction lookupGetter(object, prop) {\n while (object !== null) {\n const desc = getOwnPropertyDescriptor(object, prop);\n if (desc) {\n if (desc.get) {\n return unapply(desc.get);\n }\n\n if (typeof desc.value === 'function') {\n return unapply(desc.value);\n }\n }\n\n object = getPrototypeOf(object);\n }\n\n function fallbackValue(element) {\n console.warn('fallback value for', element);\n return null;\n }\n\n return fallbackValue;\n}\n\nexport {\n // Array\n arrayForEach,\n arrayIndexOf,\n arrayPop,\n arrayPush,\n arraySlice,\n // Object\n freeze,\n getPrototypeOf,\n getOwnPropertyDescriptor,\n hasOwnProperty,\n isFrozen,\n setPrototypeOf,\n seal,\n // RegExp\n regExpTest,\n // String\n stringIndexOf,\n stringMatch,\n stringReplace,\n stringToLowerCase,\n stringTrim,\n // Errors\n typeErrorCreate,\n // Other\n lookupGetter,\n};\n","import React from 'react';\nimport {\n HELMET_ATTRIBUTE,\n TAG_NAMES,\n REACT_TAG_MAP,\n TAG_PROPERTIES,\n ATTRIBUTE_NAMES,\n} from './constants';\nimport { flattenArray } from './utils';\n\nconst SELF_CLOSING_TAGS = [TAG_NAMES.NOSCRIPT, TAG_NAMES.SCRIPT, TAG_NAMES.STYLE];\n\nconst encodeSpecialCharacters = (str, encode = true) => {\n if (encode === false) {\n return String(str);\n }\n\n return String(str)\n .replace(/&/g, '&')\n .replace(/</g, '<')\n .replace(/>/g, '>')\n .replace(/\"/g, '"')\n .replace(/'/g, ''');\n};\n\nconst generateElementAttributesAsString = attributes =>\n Object.keys(attributes).reduce((str, key) => {\n const attr = typeof attributes[key] !== 'undefined' ? `${key}=\"${attributes[key]}\"` : `${key}`;\n return str ? `${str} ${attr}` : attr;\n }, '');\n\nconst generateTitleAsString = (type, title, attributes, encode) => {\n const attributeString = generateElementAttributesAsString(attributes);\n const flattenedTitle = flattenArray(title);\n return attributeString\n ? `<${type} ${HELMET_ATTRIBUTE}=\"true\" ${attributeString}>${encodeSpecialCharacters(\n flattenedTitle,\n encode\n )}</${type}>`\n : `<${type} ${HELMET_ATTRIBUTE}=\"true\">${encodeSpecialCharacters(\n flattenedTitle,\n encode\n )}</${type}>`;\n};\n\nconst generateTagsAsString = (type, tags, encode) =>\n tags.reduce((str, tag) => {\n const attributeHtml = Object.keys(tag)\n .filter(\n attribute =>\n !(attribute === TAG_PROPERTIES.INNER_HTML || attribute === TAG_PROPERTIES.CSS_TEXT)\n )\n .reduce((string, attribute) => {\n const attr =\n typeof tag[attribute] === 'undefined'\n ? attribute\n : `${attribute}=\"${encodeSpecialCharacters(tag[attribute], encode)}\"`;\n return string ? `${string} ${attr}` : attr;\n }, '');\n\n const tagContent = tag.innerHTML || tag.cssText || '';\n\n const isSelfClosing = SELF_CLOSING_TAGS.indexOf(type) === -1;\n\n return `${str}<${type} ${HELMET_ATTRIBUTE}=\"true\" ${attributeHtml}${\n isSelfClosing ? `/>` : `>${tagContent}</${type}>`\n }`;\n }, '');\n\nconst convertElementAttributesToReactProps = (attributes, initProps = {}) =>\n Object.keys(attributes).reduce((obj, key) => {\n obj[REACT_TAG_MAP[key] || key] = attributes[key];\n return obj;\n }, initProps);\n\nconst generateTitleAsReactComponent = (type, title, attributes) => {\n // assigning into an array to define toString function on it\n const initProps = {\n key: title,\n [HELMET_ATTRIBUTE]: true,\n };\n const props = convertElementAttributesToReactProps(attributes, initProps);\n\n return [React.createElement(TAG_NAMES.TITLE, props, title)];\n};\n\nconst generateTagsAsReactComponent = (type, tags) =>\n tags.map((tag, i) => {\n const mappedTag = {\n key: i,\n [HELMET_ATTRIBUTE]: true,\n };\n\n Object.keys(tag).forEach(attribute => {\n const mappedAttribute = REACT_TAG_MAP[attribute] || attribute;\n\n if (\n mappedAttribute === TAG_PROPERTIES.INNER_HTML ||\n mappedAttribute === TAG_PROPERTIES.CSS_TEXT\n ) {\n const content = tag.innerHTML || tag.cssText;\n mappedTag.dangerouslySetInnerHTML = { __html: content };\n } else {\n mappedTag[mappedAttribute] = tag[attribute];\n }\n });\n\n return React.createElement(type, mappedTag);\n });\n\nconst getMethodsForTag = (type, tags, encode) => {\n switch (type) {\n case TAG_NAMES.TITLE:\n return {\n toComponent: () =>\n generateTitleAsReactComponent(type, tags.title, tags.titleAttributes, encode),\n toString: () => generateTitleAsString(type, tags.title, tags.titleAttributes, encode),\n };\n case ATTRIBUTE_NAMES.BODY:\n case ATTRIBUTE_NAMES.HTML:\n return {\n toComponent: () => convertElementAttributesToReactProps(tags),\n toString: () => generateElementAttributesAsString(tags),\n };\n default:\n return {\n toComponent: () => generateTagsAsReactComponent(type, tags),\n toString: () => generateTagsAsString(type, tags, encode),\n };\n }\n};\n\nconst mapStateOnServer = ({\n baseTag,\n bodyAttributes,\n encode,\n htmlAttributes,\n linkTags,\n metaTags,\n noscriptTags,\n scriptTags,\n styleTags,\n title = '',\n titleAttributes,\n}) => ({\n base: getMethodsForTag(TAG_NAMES.BASE, baseTag, encode),\n bodyAttributes: getMethodsForTag(ATTRIBUTE_NAMES.BODY, bodyAttributes, encode),\n htmlAttributes: getMethodsForTag(ATTRIBUTE_NAMES.HTML, htmlAttributes, encode),\n link: getMethodsForTag(TAG_NAMES.LINK, linkTags, encode),\n meta: getMethodsForTag(TAG_NAMES.META, metaTags, encode),\n noscript: getMethodsForTag(TAG_NAMES.NOSCRIPT, noscriptTags, encode),\n script: getMethodsForTag(TAG_NAMES.SCRIPT, scriptTags, encode),\n style: getMethodsForTag(TAG_NAMES.STYLE, styleTags, encode),\n title: getMethodsForTag(TAG_NAMES.TITLE, { title, titleAttributes }, encode),\n});\n\nexport default mapStateOnServer;\n","import React, { Component } from 'react';\nimport PropTypes from 'prop-types';\nimport mapStateOnServer from './server';\n\nconst defaultValue = {};\n\nexport const Context = React.createContext(defaultValue);\n\nexport const providerShape = PropTypes.shape({\n setHelmet: PropTypes.func,\n helmetInstances: PropTypes.shape({\n get: PropTypes.func,\n add: PropTypes.func,\n remove: PropTypes.func,\n }),\n});\n\nconst canUseDOM = typeof document !== 'undefined';\n\nexport default class Provider extends Component {\n static canUseDOM = canUseDOM;\n\n static propTypes = {\n context: PropTypes.shape({\n helmet: PropTypes.shape(),\n }),\n children: PropTypes.node.isRequired,\n };\n\n static defaultProps = {\n context: {},\n };\n\n static displayName = 'HelmetProvider';\n\n instances = [];\n\n value = {\n setHelmet: serverState => {\n this.props.context.helmet = serverState;\n },\n helmetInstances: {\n get: () => this.instances,\n add: instance => {\n this.instances.push(instance);\n },\n remove: instance => {\n const index = this.instances.indexOf(instance);\n this.instances.splice(index, 1);\n },\n },\n };\n\n constructor(props) {\n super(props);\n\n if (!Provider.canUseDOM) {\n props.context.helmet = mapStateOnServer({\n baseTag: [],\n bodyAttributes: {},\n encodeSpecialCharacters: true,\n htmlAttributes: {},\n linkTags: [],\n metaTags: [],\n noscriptTags: [],\n scriptTags: [],\n styleTags: [],\n title: '',\n titleAttributes: {},\n });\n }\n }\n\n render() {\n return <Context.Provider value={this.value}>{this.props.children}</Context.Provider>;\n }\n}\n","import { HELMET_ATTRIBUTE, TAG_NAMES, TAG_PROPERTIES } from './constants';\nimport { flattenArray } from './utils';\n\nconst updateTags = (type, tags) => {\n const headElement = document.head || document.querySelector(TAG_NAMES.HEAD);\n const tagNodes = headElement.querySelectorAll(`${type}[${HELMET_ATTRIBUTE}]`);\n const oldTags = [].slice.call(tagNodes);\n const newTags = [];\n let indexToDelete;\n\n if (tags && tags.length) {\n tags.forEach(tag => {\n const newElement = document.createElement(type);\n\n // eslint-disable-next-line\n for (const attribute in tag) {\n if (Object.prototype.hasOwnProperty.call(tag, attribute)) {\n if (attribute === TAG_PROPERTIES.INNER_HTML) {\n newElement.innerHTML = tag.innerHTML;\n } else if (attribute === TAG_PROPERTIES.CSS_TEXT) {\n if (newElement.styleSheet) {\n newElement.styleSheet.cssText = tag.cssText;\n } else {\n newElement.appendChild(document.createTextNode(tag.cssText));\n }\n } else {\n const value = typeof tag[attribute] === 'undefined' ? '' : tag[attribute];\n newElement.setAttribute(attribute, value);\n }\n }\n }\n\n newElement.setAttribute(HELMET_ATTRIBUTE, 'true');\n\n // Remove a duplicate tag from domTagstoRemove, so it isn't cleared.\n if (\n oldTags.some((existingTag, index) => {\n indexToDelete = index;\n return newElement.isEqualNode(existingTag);\n })\n ) {\n oldTags.splice(indexToDelete, 1);\n } else {\n newTags.push(newElement);\n }\n });\n }\n\n oldTags.forEach(tag => tag.parentNode.removeChild(tag));\n newTags.forEach(tag => headElement.appendChild(tag));\n\n return {\n oldTags,\n newTags,\n };\n};\n\nconst updateAttributes = (tagName, attributes) => {\n const elementTag = document.getElementsByTagName(tagName)[0];\n\n if (!elementTag) {\n return;\n }\n\n const helmetAttributeString = elementTag.getAttribute(HELMET_ATTRIBUTE);\n const helmetAttributes = helmetAttributeString ? helmetAttributeString.split(',') : [];\n const attributesToRemove = [].concat(helmetAttributes);\n const attributeKeys = Object.keys(attributes);\n\n for (let i = 0; i < attributeKeys.length; i += 1) {\n const attribute = attributeKeys[i];\n const value = attributes[attribute] || '';\n\n if (elementTag.getAttribute(attribute) !== value) {\n elementTag.setAttribute(attribute, value);\n }\n\n if (helmetAttributes.indexOf(attribute) === -1) {\n helmetAttributes.push(attribute);\n }\n\n const indexToSave = attributesToRemove.indexOf(attribute);\n if (indexToSave !== -1) {\n attributesToRemove.splice(indexToSave, 1);\n }\n }\n\n for (let i = attributesToRemove.length - 1; i >= 0; i -= 1) {\n elementTag.removeAttribute(attributesToRemove[i]);\n }\n\n if (helmetAttributes.length === attributesToRemove.length) {\n elementTag.removeAttribute(HELMET_ATTRIBUTE);\n } else if (elementTag.getAttribute(HELMET_ATTRIBUTE) !== attributeKeys.join(',')) {\n elementTag.setAttribute(HELMET_ATTRIBUTE, attributeKeys.join(','));\n }\n};\n\nconst updateTitle = (title, attributes) => {\n if (typeof title !== 'undefined' && document.title !== title) {\n document.title = flattenArray(title);\n }\n\n updateAttributes(TAG_NAMES.TITLE, attributes);\n};\n\nconst commitTagChanges = (newState, cb) => {\n const {\n baseTag,\n bodyAttributes,\n htmlAttributes,\n linkTags,\n metaTags,\n noscriptTags,\n onChangeClientState,\n scriptTags,\n styleTags,\n title,\n titleAttributes,\n } = newState;\n updateAttributes(TAG_NAMES.BODY, bodyAttributes);\n updateAttributes(TAG_NAMES.HTML, htmlAttributes);\n\n updateTitle(title, titleAttributes);\n\n const tagUpdates = {\n baseTag: updateTags(TAG_NAMES.BASE, baseTag),\n linkTags: updateTags(TAG_NAMES.LINK, linkTags),\n metaTags: updateTags(TAG_NAMES.META, metaTags),\n noscriptTags: updateTags(TAG_NAMES.NOSCRIPT, noscriptTags),\n scriptTags: updateTags(TAG_NAMES.SCRIPT, scriptTags),\n styleTags: updateTags(TAG_NAMES.STYLE, styleTags),\n };\n\n const addedTags = {};\n const removedTags = {};\n\n Object.keys(tagUpdates).forEach(tagType => {\n const { newTags, oldTags } = tagUpdates[tagType];\n\n if (newTags.length) {\n addedTags[tagType] = newTags;\n }\n if (oldTags.length) {\n removedTags[tagType] = tagUpdates[tagType].oldTags;\n }\n });\n\n if (cb) {\n cb();\n }\n\n onChangeClientState(newState, addedTags, removedTags);\n};\n\n// eslint-disable-next-line\nlet _helmetCallback = null;\n\nconst handleStateChangeOnClient = newState => {\n if (_helmetCallback) {\n cancelAnimationFrame(_helmetCallback);\n }\n\n if (newState.defer) {\n _helmetCallback = requestAnimationFrame(() => {\n commitTagChanges(newState, () => {\n _helmetCallback = null;\n });\n });\n } else {\n commitTagChanges(newState);\n _helmetCallback = null;\n }\n};\n\nexport default handleStateChangeOnClient;\n","import { Component } from 'react';\nimport shallowEqual from 'shallowequal';\nimport handleStateChangeOnClient from './client';\nimport mapStateOnServer from './server';\nimport { reducePropsToState } from './utils';\nimport Provider, { providerShape } from './Provider';\n\nexport default class Dispatcher extends Component {\n static propTypes = {\n context: providerShape.isRequired,\n };\n\n static displayName = 'HelmetDispatcher';\n\n rendered = false;\n\n shouldComponentUpdate(nextProps) {\n return !shallowEqual(nextProps, this.props);\n }\n\n componentDidUpdate() {\n this.emitChange();\n }\n\n componentWillUnmount() {\n const { helmetInstances } = this.props.context;\n helmetInstances.remove(this);\n this.emitChange();\n }\n\n emitChange() {\n const { helmetInstances, setHelmet } = this.props.context;\n let serverState = null;\n const state = reducePropsToState(\n helmetInstances.get().map(instance => {\n const props = { ...instance.props };\n delete props.context;\n return props;\n })\n );\n if (Provider.canUseDOM) {\n handleStateChangeOnClient(state);\n } else if (mapStateOnServer) {\n serverState = mapStateOnServer(state);\n }\n setHelmet(serverState);\n }\n\n // componentWillMount will be deprecated\n // for SSR, initialize on first render\n // constructor is also unsafe in StrictMode\n init() {\n if (this.rendered) {\n return;\n }\n\n this.rendered = true;\n\n const { helmetInstances } = this.props.context;\n helmetInstances.add(this);\n this.emitChange();\n }\n\n render() {\n this.init();\n\n return null;\n }\n}\n","import React, { Component } from 'react';\nimport PropTypes from 'prop-types';\nimport fastCompare from 'react-fast-compare';\nimport invariant from 'invariant';\nimport { Context } from './Provider';\nimport Dispatcher from './Dispatcher';\nimport { TAG_NAMES, VALID_TAG_NAMES, HTML_TAG_MAP } from './constants';\n\nexport { default as HelmetProvider } from './Provider';\n\n/* eslint-disable class-methods-use-this */\n\nexport class Helmet extends Component {\n /**\n * @param {Object} base: {\"target\": \"_blank\", \"href\": \"http://mysite.com/\"}\n * @param {Object} bodyAttributes: {\"className\": \"root\"}\n * @param {String} defaultTitle: \"Default Title\"\n * @param {Boolean} defer: true\n * @param {Boolean} encodeSpecialCharacters: true\n * @param {Object} htmlAttributes: {\"lang\": \"en\", \"amp\": undefined}\n * @param {Array} link: [{\"rel\": \"canonical\", \"href\": \"http://mysite.com/example\"}]\n * @param {Array} meta: [{\"name\": \"description\", \"content\": \"Test description\"}]\n * @param {Array} noscript: [{\"innerHTML\": \"<img src='http://mysite.com/js/test.js'\"}]\n * @param {Function} onChangeClientState: \"(newState) => console.log(newState)\"\n * @param {Array} script: [{\"type\": \"text/javascript\", \"src\": \"http://mysite.com/js/test.js\"}]\n * @param {Array} style: [{\"type\": \"text/css\", \"cssText\": \"div { display: block; color: blue; }\"}]\n * @param {String} title: \"Title\"\n * @param {Object} titleAttributes: {\"itemprop\": \"name\"}\n * @param {String} titleTemplate: \"MySite.com - %s\"\n */\n /* eslint-disable react/forbid-prop-types, react/require-default-props */\n static propTypes = {\n base: PropTypes.object,\n bodyAttributes: PropTypes.object,\n children: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.node), PropTypes.node]),\n defaultTitle: PropTypes.string,\n defer: PropTypes.bool,\n encodeSpecialCharacters: PropTypes.bool,\n htmlAttributes: PropTypes.object,\n link: PropTypes.arrayOf(PropTypes.object),\n meta: PropTypes.arrayOf(PropTypes.object),\n noscript: PropTypes.arrayOf(PropTypes.object),\n onChangeClientState: PropTypes.func,\n script: PropTypes.arrayOf(PropTypes.object),\n style: PropTypes.arrayOf(PropTypes.object),\n title: PropTypes.string,\n titleAttributes: PropTypes.object,\n titleTemplate: PropTypes.string,\n };\n /* eslint-enable react/prop-types, react/forbid-prop-types, react/require-default-props */\n\n static defaultProps = {\n defer: true,\n encodeSpecialCharacters: true,\n };\n\n static displayName = 'Helmet';\n\n shouldComponentUpdate(nextProps) {\n return !fastCompare(this.props, nextProps);\n }\n\n mapNestedChildrenToProps(child, nestedChildren) {\n if (!nestedChildren) {\n return null;\n }\n\n switch (child.type) {\n case TAG_NAMES.SCRIPT:\n case TAG_NAMES.NOSCRIPT:\n return {\n innerHTML: nestedChildren,\n };\n\n case TAG_NAMES.STYLE:\n return {\n cssText: nestedChildren,\n };\n default:\n throw new Error(\n `<${child.type} /> elements are self-closing and can not contain children. Refer to our API for more information.`\n );\n }\n }\n\n flattenArrayTypeChildren({ child, arrayTypeChildren, newChildProps, nestedChildren }) {\n return {\n ...arrayTypeChildren,\n [child.type]: [\n ...(arrayTypeChildren[child.type] || []),\n {\n ...newChildProps,\n ...this.mapNestedChildrenToProps(child, nestedChildren),\n },\n ],\n };\n }\n\n mapObjectTypeChildren({ child, newProps, newChildProps, nestedChildren }) {\n switch (child.type) {\n case TAG_NAMES.TITLE:\n return {\n ...newProps,\n [child.type]: nestedChildren,\n titleAttributes: { ...newChildProps },\n };\n\n case TAG_NAMES.BODY:\n return {\n ...newProps,\n bodyAttributes: { ...newChildProps },\n };\n\n case TAG_NAMES.HTML:\n return {\n ...newProps,\n htmlAttributes: { ...newChildProps },\n };\n default:\n return {\n ...newProps,\n [child.type]: { ...newChildProps },\n };\n }\n }\n\n mapArrayTypeChildrenToProps(arrayTypeChildren, newProps) {\n let newFlattenedProps = { ...newProps };\n\n Object.keys(arrayTypeChildren).forEach(arrayChildName => {\n newFlattenedProps = {\n ...newFlattenedProps,\n [arrayChildName]: arrayTypeChildren[arrayChildName],\n };\n });\n\n return newFlattenedProps;\n }\n\n warnOnInvalidChildren(child, nestedChildren) {\n invariant(\n VALID_TAG_NAMES.some(name => child.type === name),\n typeof child.type === 'function'\n ? `You may be attempting to nest <Helmet> components within each other, which is not allowed. Refer to our API for more information.`\n : `Only elements types ${VALID_TAG_NAMES.join(\n ', '\n )} are allowed. Helmet does not support rendering <${\n child.type\n }> elements. Refer to our API for more information.`\n );\n\n invariant(\n !nestedChildren ||\n typeof nestedChildren === 'string' ||\n (Array.isArray(nestedChildren) &&\n !nestedChildren.some(nestedChild => typeof nestedChild !== 'string')),\n `Helmet expects a string as a child of <${child.type}>. Did you forget to wrap your children in braces? ( <${child.type}>{\\`\\`}</${child.type}> ) Refer to our API for more information.`\n );\n\n return true;\n }\n\n mapChildrenToProps(children, newProps) {\n let arrayTypeChildren = {};\n\n React.Children.forEach(children, child => {\n if (!child || !child.props) {\n return;\n }\n\n const { children: nestedChildren, ...childProps } = child.props;\n // convert React props to HTML attributes\n const newChildProps = Object.keys(childProps).reduce((obj, key) => {\n obj[HTML_TAG_MAP[key] || key] = childProps[key];\n return obj;\n }, {});\n\n let { type } = child;\n if (typeof type === 'symbol') {\n type = type.toString();\n } else {\n this.warnOnInvalidChildren(child, nestedChildren);\n }\n\n switch (type) {\n case TAG_NAMES.FRAGMENT:\n newProps = this.mapChildrenToProps(nestedChildren, newProps);\n break;\n\n case TAG_NAMES.LINK:\n case TAG_NAMES.META:\n case TAG_NAMES.NOSCRIPT:\n case TAG_NAMES.SCRIPT:\n case TAG_NAMES.STYLE:\n arrayTypeChildren = this.flattenArrayTypeChildren({\n child,\n arrayTypeChildren,\n newChildProps,\n nestedChildren,\n });\n break;\n\n default:\n newProps = this.mapObjectTypeChildren({\n child,\n newProps,\n newChildProps,\n nestedChildren,\n });\n break;\n }\n });\n\n return this.mapArrayTypeChildrenToProps(arrayTypeChildren, newProps);\n }\n\n render() {\n const { children, ...props } = this.props;\n let newProps = { ...props };\n\n if (children) {\n newProps = this.mapChildrenToProps(children, newProps);\n }\n\n return (\n <Context.Consumer>\n {(\n context // eslint-disable-next-line react/jsx-props-no-spreading\n ) => <Dispatcher {...newProps} context={context} />}\n </Context.Consumer>\n );\n }\n}\n","'use strict';\n\n(function() {\n var AUTH_TOKEN = 'authToken';\n var AUTH_FIELDS = ['access-token', 'client', 'expiry', 'uid'];\n var STORAGE_ERR = 'Storage must implement `getItem`, `setItem`, and `removeItem`';\n\n var storage = window.localStorage;\n\n function isFunction(maybeFunc) {\n return typeof maybeFunc === 'function';\n }\n\n function isValidStorage(customStorage) {\n customStorage = customStorage || {};\n\n return (\n isFunction(customStorage.getItem) &&\n isFunction(customStorage.setItem) &&\n isFunction(customStorage.removeItem)\n );\n }\n\n function getAuth() {\n var auth = storage.getItem(AUTH_TOKEN);\n\n if (auth) return JSON.parse(auth);\n\n return {};\n }\n\n function parseHeaders(headers) {\n return AUTH_FIELDS.reduce(function(memo, field) {\n memo[field] = headers.get(field);\n\n return memo;\n }, { 'token-type': 'Bearer' });\n }\n\n function isSignedIn() {\n var auth = getAuth();\n var token = auth['access-token'];\n var expiryInMs = parseInt(auth.expiry, 10) * 1000;\n\n return !!(token && expiryInMs && Date.now() < expiryInMs);\n }\n\n function persistToken(headers) {\n storage.setItem(AUTH_TOKEN, JSON.stringify(parseHeaders(headers)));\n }\n\n function removeToken() {\n storage.removeItem(AUTH_TOKEN);\n }\n\n function requestHeaders() {\n return getAuth();\n }\n\n function setStorage(customStorage) {\n if (!isValidStorage(customStorage)) {\n throw new Error(STORAGE_ERR)\n }\n\n storage = customStorage;\n }\n\n exports.isSignedIn = isSignedIn;\n exports.persistToken = persistToken;\n exports.removeToken = removeToken;\n exports.requestHeaders = requestHeaders;\n exports.setStorage = setStorage;\n}).call(this);\n","/**\n * Checks if `value` is `null` or `undefined`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is nullish, else `false`.\n * @example\n *\n * _.isNil(null);\n * // => true\n *\n * _.isNil(void 0);\n * // => true\n *\n * _.isNil(NaN);\n * // => false\n */\nfunction isNil(value) {\n return value == null;\n}\n\nexport default isNil;\n","/**\n * Checks if `value` is classified as an `Array` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an array, else `false`.\n * @example\n *\n * _.isArray([1, 2, 3]);\n * // => true\n *\n * _.isArray(document.body.children);\n * // => false\n *\n * _.isArray('abc');\n * // => false\n *\n * _.isArray(_.noop);\n * // => false\n */\nvar isArray = Array.isArray;\n\nexport default isArray;\n","var v1 = require('./v1');\nvar v4 = require('./v4');\n\nvar uuid = v4;\nuuid.v1 = v1;\nuuid.v4 = v4;\n\nmodule.exports = uuid;\n","module.exports = require(\"regenerator-runtime\");\n","function isObject(o) {\n return typeof o === 'object' && o !== null && o.constructor && Object.prototype.toString.call(o).slice(8, -1) === 'Object';\n}\n\nfunction extend(target, src) {\n var noExtend = ['__proto__', 'constructor', 'prototype'];\n Object.keys(src).filter(function (key) {\n return noExtend.indexOf(key) < 0;\n }).forEach(function (key) {\n if (typeof target[key] === 'undefined') target[key] = src[key];else if (isObject(src[key]) && isObject(target[key]) && Object.keys(src[key]).length > 0) {\n if (src[key].__swiper__) target[key] = src[key];else extend(target[key], src[key]);\n } else {\n target[key] = src[key];\n }\n });\n}\n\nfunction needsNavigation(params) {\n if (params === void 0) {\n params = {};\n }\n\n return params.navigation && typeof params.navigation.nextEl === 'undefined' && typeof params.navigation.prevEl === 'undefined';\n}\n\nfunction needsPagination(params) {\n if (params === void 0) {\n params = {};\n }\n\n return params.pagination && typeof params.pagination.el === 'undefined';\n}\n\nfunction needsScrollbar(params) {\n if (params === void 0) {\n params = {};\n }\n\n return params.scrollbar && typeof params.scrollbar.el === 'undefined';\n}\n\nfunction uniqueClasses(classNames) {\n if (classNames === void 0) {\n classNames = '';\n }\n\n var classes = classNames.split(' ').map(function (c) {\n return c.trim();\n }).filter(function (c) {\n return !!c;\n });\n var unique = [];\n classes.forEach(function (c) {\n if (unique.indexOf(c) < 0) unique.push(c);\n });\n return unique.join(' ');\n}\n\nexport { isObject, extend, needsNavigation, needsPagination, needsScrollbar, uniqueClasses };","export default function _arrayLikeToArray(arr, len) {\n if (len == null || len > arr.length) len = arr.length;\n\n for (var i = 0, arr2 = new Array(len); i < len; i++) {\n arr2[i] = arr[i];\n }\n\n return arr2;\n}","import arrayWithHoles from \"./arrayWithHoles\";\nimport iterableToArrayLimit from \"./iterableToArrayLimit\";\nimport unsupportedIterableToArray from \"./unsupportedIterableToArray\";\nimport nonIterableRest from \"./nonIterableRest\";\nexport default function _slicedToArray(arr, i) {\n return arrayWithHoles(arr) || iterableToArrayLimit(arr, i) || unsupportedIterableToArray(arr, i) || nonIterableRest();\n}","export default function _arrayWithHoles(arr) {\n if (Array.isArray(arr)) return arr;\n}","export default function _iterableToArrayLimit(arr, i) {\n if (typeof Symbol === \"undefined\" || !(Symbol.iterator in Object(arr))) return;\n var _arr = [];\n var _n = true;\n var _d = false;\n var _e = undefined;\n\n try {\n for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) {\n _arr.push(_s.value);\n\n if (i && _arr.length === i) break;\n }\n } catch (err) {\n _d = true;\n _e = err;\n } finally {\n try {\n if (!_n && _i[\"return\"] != null) _i[\"return\"]();\n } finally {\n if (_d) throw _e;\n }\n }\n\n return _arr;\n}","import arrayLikeToArray from \"./arrayLikeToArray\";\nexport default function _unsupportedIterableToArray(o, minLen) {\n if (!o) return;\n if (typeof o === \"string\") return arrayLikeToArray(o, minLen);\n var n = Object.prototype.toString.call(o).slice(8, -1);\n if (n === \"Object\" && o.constructor) n = o.constructor.name;\n if (n === \"Map\" || n === \"Set\") return Array.from(n);\n if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return arrayLikeToArray(o, minLen);\n}","export default function _nonIterableRest() {\n throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}","var isMergeableObject = function isMergeableObject(value) {\n\treturn isNonNullObject(value)\n\t\t&& !isSpecial(value)\n};\n\nfunction isNonNullObject(value) {\n\treturn !!value && typeof value === 'object'\n}\n\nfunction isSpecial(value) {\n\tvar stringValue = Object.prototype.toString.call(value);\n\n\treturn stringValue === '[object RegExp]'\n\t\t|| stringValue === '[object Date]'\n\t\t|| isReactElement(value)\n}\n\n// see https://github.com/facebook/react/blob/b5ac963fb791d1298e7f396236383bc955f916c1/src/isomorphic/classic/element/ReactElement.js#L21-L25\nvar canUseSymbol = typeof Symbol === 'function' && Symbol.for;\nvar REACT_ELEMENT_TYPE = canUseSymbol ? Symbol.for('react.element') : 0xeac7;\n\nfunction isReactElement(value) {\n\treturn value.$$typeof === REACT_ELEMENT_TYPE\n}\n\nfunction emptyTarget(val) {\n\treturn Array.isArray(val) ? [] : {}\n}\n\nfunction cloneUnlessOtherwiseSpecified(value, options) {\n\treturn (options.clone !== false && options.isMergeableObject(value))\n\t\t? deepmerge(emptyTarget(value), value, options)\n\t\t: value\n}\n\nfunction defaultArrayMerge(target, source, options) {\n\treturn target.concat(source).map(function(element) {\n\t\treturn cloneUnlessOtherwiseSpecified(element, options)\n\t})\n}\n\nfunction mergeObject(target, source, options) {\n\tvar destination = {};\n\tif (options.isMergeableObject(target)) {\n\t\tObject.keys(target).forEach(function(key) {\n\t\t\tdestination[key] = cloneUnlessOtherwiseSpecified(target[key], options);\n\t\t});\n\t}\n\tObject.keys(source).forEach(function(key) {\n\t\tif (!options.isMergeableObject(source[key]) || !target[key]) {\n\t\t\tdestination[key] = cloneUnlessOtherwiseSpecified(source[key], options);\n\t\t} else {\n\t\t\tdestination[key] = deepmerge(target[key], source[key], options);\n\t\t}\n\t});\n\treturn destination\n}\n\nfunction deepmerge(target, source, options) {\n\toptions = options || {};\n\toptions.arrayMerge = options.arrayMerge || defaultArrayMerge;\n\toptions.isMergeableObject = options.isMergeableObject || isMergeableObject;\n\n\tvar sourceIsArray = Array.isArray(source);\n\tvar targetIsArray = Array.isArray(target);\n\tvar sourceAndTargetTypesMatch = sourceIsArray === targetIsArray;\n\n\tif (!sourceAndTargetTypesMatch) {\n\t\treturn cloneUnlessOtherwiseSpecified(source, options)\n\t} else if (sourceIsArray) {\n\t\treturn options.arrayMerge(target, source, options)\n\t} else {\n\t\treturn mergeObject(target, source, options)\n\t}\n}\n\ndeepmerge.all = function deepmergeAll(array, options) {\n\tif (!Array.isArray(array)) {\n\t\tthrow new Error('first argument should be an array')\n\t}\n\n\treturn array.reduce(function(prev, next) {\n\t\treturn deepmerge(prev, next, options)\n\t}, {})\n};\n\nvar deepmerge_1 = deepmerge;\n\nexport default deepmerge_1;\n","import baseClone from './_baseClone.js';\n\n/** Used to compose bitmasks for cloning. */\nvar CLONE_SYMBOLS_FLAG = 4;\n\n/**\n * Creates a shallow clone of `value`.\n *\n * **Note:** This method is loosely based on the\n * [structured clone algorithm](https://mdn.io/Structured_clone_algorithm)\n * and supports cloning arrays, array buffers, booleans, date objects, maps,\n * numbers, `Object` objects, regexes, sets, strings, symbols, and typed\n * arrays. The own enumerable properties of `arguments` objects are cloned\n * as plain objects. An empty object is returned for uncloneable values such\n * as error objects, functions, DOM nodes, and WeakMaps.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to clone.\n * @returns {*} Returns the cloned value.\n * @see _.cloneDeep\n * @example\n *\n * var objects = [{ 'a': 1 }, { 'b': 2 }];\n *\n * var shallow = _.clone(objects);\n * console.log(shallow[0] === objects[0]);\n * // => true\n */\nfunction clone(value) {\n return baseClone(value, CLONE_SYMBOLS_FLAG);\n}\n\nexport default clone;\n","import arrayMap from './_arrayMap.js';\nimport copyArray from './_copyArray.js';\nimport isArray from './isArray.js';\nimport isSymbol from './isSymbol.js';\nimport stringToPath from './_stringToPath.js';\nimport toKey from './_toKey.js';\nimport toString from './toString.js';\n\n/**\n * Converts `value` to a property path array.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Util\n * @param {*} value The value to convert.\n * @returns {Array} Returns the new property path array.\n * @example\n *\n * _.toPath('a.b.c');\n * // => ['a', 'b', 'c']\n *\n * _.toPath('a[0].b.c');\n * // => ['a', '0', 'b', 'c']\n */\nfunction toPath(value) {\n if (isArray(value)) {\n return arrayMap(value, toKey);\n }\n return isSymbol(value) ? [value] : copyArray(stringToPath(toString(value)));\n}\n\nexport default toPath;\n","import baseClone from './_baseClone.js';\n\n/** Used to compose bitmasks for cloning. */\nvar CLONE_DEEP_FLAG = 1,\n CLONE_SYMBOLS_FLAG = 4;\n\n/**\n * This method is like `_.clone` except that it recursively clones `value`.\n *\n * @static\n * @memberOf _\n * @since 1.0.0\n * @category Lang\n * @param {*} value The value to recursively clone.\n * @returns {*} Returns the deep cloned value.\n * @see _.clone\n * @example\n *\n * var objects = [{ 'a': 1 }, { 'b': 2 }];\n *\n * var deep = _.cloneDeep(objects);\n * console.log(deep[0] === objects[0]);\n * // => false\n */\nfunction cloneDeep(value) {\n return baseClone(value, CLONE_DEEP_FLAG | CLONE_SYMBOLS_FLAG);\n}\n\nexport default cloneDeep;\n","interface IInjectGoogleReCaptchaScriptParams {\n render: string;\n onLoadCallbackName: string;\n useRecaptchaNet: boolean;\n useEnterprise: boolean;\n onLoad: () => void;\n onError: () => void;\n language?: string;\n scriptProps?: {\n nonce?: string;\n defer?: boolean;\n async?: boolean;\n appendTo?: 'head' | 'body';\n id?: string;\n };\n}\n\n/**\n * Function to generate the src for the script tag\n *\n * @param param0\n * @returns\n */\nconst generateGoogleRecaptchaSrc = ({\n useRecaptchaNet,\n useEnterprise\n}: {\n useRecaptchaNet: boolean;\n useEnterprise: boolean;\n}) => {\n const hostName = useRecaptchaNet ? 'recaptcha.net' : 'google.com';\n const script = useEnterprise ? 'enterprise.js' : 'api.js';\n\n return `https://www.${hostName}/recaptcha/${script}`;\n};\n\n/**\n * Function to clean the recaptcha_[language] script injected by the recaptcha.js\n */\nconst cleanGstaticRecaptchaScript = () => {\n const script = document.querySelector(\n 'script[src^=\"https://www.gstatic.com/recaptcha/releases\"]'\n );\n\n if (script) {\n script.remove();\n }\n};\n\n/**\n * Function to check if script has already been injected\n *\n * @param scriptId\n * @returns\n */\nexport const isScriptInjected = (scriptId: string) =>\n !!document.querySelector(`#${scriptId}`);\n\n/**\n * Function to remove default badge\n *\n * @returns\n */\nconst removeDefaultBadge = () => {\n const nodeBadge = document.querySelector('.grecaptcha-badge');\n if (nodeBadge && nodeBadge.parentNode) {\n document.body.removeChild(nodeBadge.parentNode);\n }\n};\n\n/**\n * Function to clear custom badge\n *\n * @returns\n */\nconst cleanCustomBadge = (customBadge: HTMLElement | null) => {\n if (!customBadge) {\n return;\n }\n\n while (customBadge.lastChild) {\n customBadge.lastChild.remove();\n }\n};\n\n/**\n * Function to clean node of badge element\n *\n * @param container\n * @returns\n */\nexport const cleanBadge = (container?: HTMLElement | string) => {\n if (!container) {\n removeDefaultBadge();\n\n return;\n }\n\n const customBadge = typeof container === 'string' ? document.getElementById(container) : container;\n\n cleanCustomBadge(customBadge);\n};\n\n/**\n * Function to clean google recaptcha script\n *\n * @param scriptId\n * @param container\n */\nexport const cleanGoogleRecaptcha = (scriptId: string, container?: HTMLElement | string) => {\n // remove badge\n cleanBadge(container);\n\n // remove old config from window\n /* eslint-disable @typescript-eslint/no-explicit-any */\n (window as any).___grecaptcha_cfg = undefined;\n\n // remove script\n const script = document.querySelector(`#${scriptId}`);\n if (script) {\n script.remove();\n }\n\n cleanGstaticRecaptchaScript();\n};\n\n/**\n * Function to inject the google recaptcha script\n *\n * @param param0\n * @returns\n */\nexport const injectGoogleReCaptchaScript = ({\n render,\n onLoadCallbackName,\n language,\n onLoad,\n useRecaptchaNet,\n useEnterprise,\n scriptProps: {\n nonce = '',\n defer = false,\n async = false,\n id = '',\n appendTo\n } = {}\n}: IInjectGoogleReCaptchaScriptParams) => {\n const scriptId = id || 'google-recaptcha-v3';\n\n // Script has already been injected, just call onLoad and does othing else\n if (isScriptInjected(scriptId)) {\n onLoad();\n\n return;\n }\n\n /**\n * Generate the js script\n */\n const googleRecaptchaSrc = generateGoogleRecaptchaSrc({\n useEnterprise,\n useRecaptchaNet\n });\n const js = document.createElement('script');\n js.id = scriptId;\n js.src = `${googleRecaptchaSrc}?render=${render}${\n render === 'explicit' ? `&onload=${onLoadCallbackName}` : ''\n }${\n language ? `&hl=${language}` : ''\n }`;\n\n if (!!nonce) {\n js.nonce = nonce;\n }\n\n js.defer = !!defer;\n js.async = !!async;\n js.onload = onLoad;\n\n /**\n * Append it to the body // head\n */\n const elementToInjectScript =\n appendTo === 'body'\n ? document.body\n : document.getElementsByTagName('head')[0];\n\n elementToInjectScript.appendChild(js);\n};\n\n/**\n * Function to log warning message if it's not in production mode\n *\n * @param message String\n * @returns\n */\nexport const logWarningMessage = (message: string) => {\n const isDevelopmentMode =\n typeof process !== 'undefined' && !!process.env && process.env.NODE_ENV !== 'production';\n\n if (isDevelopmentMode) {\n return;\n }\n\n console.warn(message);\n};\n","import * as React from 'react';\nimport { FormikContextType } from './types';\nimport invariant from 'tiny-warning';\n\nexport const FormikContext = React.createContext<FormikContextType<any>>(\n undefined as any\n);\nexport const FormikProvider = FormikContext.Provider;\nexport const FormikConsumer = FormikContext.Consumer;\n\nexport function useFormikContext<Values>() {\n const formik = React.useContext<FormikContextType<Values>>(FormikContext);\n\n invariant(\n !!formik,\n `Formik context is undefined, please verify you are calling useFormikContext() as child of a <Formik> component.`\n );\n\n return formik;\n}\n","import * as React from 'react';\nimport isEqual from 'react-fast-compare';\nimport deepmerge from 'deepmerge';\nimport isPlainObject from 'lodash/isPlainObject';\nimport {\n FormikConfig,\n FormikErrors,\n FormikState,\n FormikTouched,\n FormikValues,\n FormikProps,\n FieldMetaProps,\n FieldHelperProps,\n FieldInputProps,\n FormikHelpers,\n FormikHandlers,\n} from './types';\nimport {\n isFunction,\n isString,\n setIn,\n isEmptyChildren,\n isPromise,\n setNestedObjectValues,\n getActiveElement,\n getIn,\n isObject,\n} from './utils';\nimport { FormikProvider } from './FormikContext';\nimport invariant from 'tiny-warning';\n\ntype FormikMessage<Values> =\n | { type: 'SUBMIT_ATTEMPT' }\n | { type: 'SUBMIT_FAILURE' }\n | { type: 'SUBMIT_SUCCESS' }\n | { type: 'SET_ISVALIDATING'; payload: boolean }\n | { type: 'SET_ISSUBMITTING'; payload: boolean }\n | { type: 'SET_VALUES'; payload: Values }\n | { type: 'SET_FIELD_VALUE'; payload: { field: string; value?: any } }\n | { type: 'SET_FIELD_TOUCHED'; payload: { field: string; value?: boolean } }\n | { type: 'SET_FIELD_ERROR'; payload: { field: string; value?: string } }\n | { type: 'SET_TOUCHED'; payload: FormikTouched<Values> }\n | { type: 'SET_ERRORS'; payload: FormikErrors<Values> }\n | { type: 'SET_STATUS'; payload: any }\n | {\n type: 'SET_FORMIK_STATE';\n payload: (s: FormikState<Values>) => FormikState<Values>;\n }\n | {\n type: 'RESET_FORM';\n payload: FormikState<Values>;\n };\n\n// State reducer\nfunction formikReducer<Values>(\n state: FormikState<Values>,\n msg: FormikMessage<Values>\n) {\n switch (msg.type) {\n case 'SET_VALUES':\n return { ...state, values: msg.payload };\n case 'SET_TOUCHED':\n return { ...state, touched: msg.payload };\n case 'SET_ERRORS':\n if (isEqual(state.errors, msg.payload)) {\n return state;\n }\n\n return { ...state, errors: msg.payload };\n case 'SET_STATUS':\n return { ...state, status: msg.payload };\n case 'SET_ISSUBMITTING':\n return { ...state, isSubmitting: msg.payload };\n case 'SET_ISVALIDATING':\n return { ...state, isValidating: msg.payload };\n case 'SET_FIELD_VALUE':\n return {\n ...state,\n values: setIn(state.values, msg.payload.field, msg.payload.value),\n };\n case 'SET_FIELD_TOUCHED':\n return {\n ...state,\n touched: setIn(state.touched, msg.payload.field, msg.payload.value),\n };\n case 'SET_FIELD_ERROR':\n return {\n ...state,\n errors: setIn(state.errors, msg.payload.field, msg.payload.value),\n };\n case 'RESET_FORM':\n return { ...state, ...msg.payload };\n case 'SET_FORMIK_STATE':\n return msg.payload(state);\n case 'SUBMIT_ATTEMPT':\n return {\n ...state,\n touched: setNestedObjectValues<FormikTouched<Values>>(\n state.values,\n true\n ),\n isSubmitting: true,\n submitCount: state.submitCount + 1,\n };\n case 'SUBMIT_FAILURE':\n return {\n ...state,\n isSubmitting: false,\n };\n case 'SUBMIT_SUCCESS':\n return {\n ...state,\n isSubmitting: false,\n };\n default:\n return state;\n }\n}\n\n// Initial empty states // objects\nconst emptyErrors: FormikErrors<unknown> = {};\nconst emptyTouched: FormikTouched<unknown> = {};\n\n// This is an object that contains a map of all registered fields\n// and their validate functions\ninterface FieldRegistry {\n [field: string]: {\n validate: (value: any) => string | Promise<string> | undefined;\n };\n}\n\nexport function useFormik<Values extends FormikValues = FormikValues>({\n validateOnChange = true,\n validateOnBlur = true,\n validateOnMount = false,\n isInitialValid,\n enableReinitialize = false,\n onSubmit,\n ...rest\n}: FormikConfig<Values>) {\n const props = {\n validateOnChange,\n validateOnBlur,\n validateOnMount,\n onSubmit,\n ...rest,\n };\n const initialValues = React.useRef(props.initialValues);\n const initialErrors = React.useRef(props.initialErrors || emptyErrors);\n const initialTouched = React.useRef(props.initialTouched || emptyTouched);\n const initialStatus = React.useRef(props.initialStatus);\n const isMounted = React.useRef<boolean>(false);\n const fieldRegistry = React.useRef<FieldRegistry>({});\n if (__DEV__) {\n // eslint-disable-next-line react-hooks/rules-of-hooks\n React.useEffect(() => {\n invariant(\n typeof isInitialValid === 'undefined',\n 'isInitialValid has been deprecated and will be removed in future versions of Formik. Please use initialErrors or validateOnMount instead.'\n );\n // eslint-disable-next-line\n }, []);\n }\n\n React.useEffect(() => {\n isMounted.current = true;\n\n return () => {\n isMounted.current = false;\n };\n }, []);\n\n const [state, dispatch] = React.useReducer<\n React.Reducer<FormikState<Values>, FormikMessage<Values>>\n >(formikReducer, {\n values: props.initialValues,\n errors: props.initialErrors || emptyErrors,\n touched: props.initialTouched || emptyTouched,\n status: props.initialStatus,\n isSubmitting: false,\n isValidating: false,\n submitCount: 0,\n });\n\n const runValidateHandler = React.useCallback(\n (values: Values, field?: string): Promise<FormikErrors<Values>> => {\n return new Promise((resolve, reject) => {\n const maybePromisedErrors = (props.validate as any)(values, field);\n if (maybePromisedErrors == null) {\n // use loose null check here on purpose\n resolve(emptyErrors);\n } else if (isPromise(maybePromisedErrors)) {\n (maybePromisedErrors as Promise<any>).then(\n errors => {\n resolve(errors || emptyErrors);\n },\n actualException => {\n if (process.env.NODE_ENV !== 'production') {\n console.warn(\n `Warning: An unhandled error was caught during validation in <Formik validate />`,\n actualException\n );\n }\n\n reject(actualException);\n }\n );\n } else {\n resolve(maybePromisedErrors);\n }\n });\n },\n [props.validate]\n );\n\n /**\n * Run validation against a Yup schema and optionally run a function if successful\n */\n const runValidationSchema = React.useCallback(\n (values: Values, field?: string): Promise<FormikErrors<Values>> => {\n const validationSchema = props.validationSchema;\n const schema = isFunction(validationSchema)\n ? validationSchema(field)\n : validationSchema;\n const promise =\n field && schema.validateAt\n ? schema.validateAt(field, values)\n : validateYupSchema(values, schema);\n return new Promise((resolve, reject) => {\n promise.then(\n () => {\n resolve(emptyErrors);\n },\n (err: any) => {\n // Yup will throw a validation error if validation fails. We catch those and\n // resolve them into Formik errors. We can sniff if something is a Yup error\n // by checking error.name.\n // @see https://github.com/jquense/yup#validationerrorerrors-string--arraystring-value-any-path-string\n if (err.name === 'ValidationError') {\n resolve(yupToFormErrors(err));\n } else {\n // We throw any other errors\n if (process.env.NODE_ENV !== 'production') {\n console.warn(\n `Warning: An unhandled error was caught during validation in <Formik validationSchema />`,\n err\n );\n }\n\n reject(err);\n }\n }\n );\n });\n },\n [props.validationSchema]\n );\n\n const runSingleFieldLevelValidation = React.useCallback(\n (field: string, value: void | string): Promise<string> => {\n return new Promise(resolve =>\n resolve(fieldRegistry.current[field].validate(value) as string)\n );\n },\n []\n );\n\n const runFieldLevelValidations = React.useCallback(\n (values: Values): Promise<FormikErrors<Values>> => {\n const fieldKeysWithValidation: string[] = Object.keys(\n fieldRegistry.current\n ).filter(f => isFunction(fieldRegistry.current[f].validate));\n\n // Construct an array with all of the field validation functions\n const fieldValidations: Promise<string>[] =\n fieldKeysWithValidation.length > 0\n ? fieldKeysWithValidation.map(f =>\n runSingleFieldLevelValidation(f, getIn(values, f))\n )\n : [Promise.resolve('DO_NOT_DELETE_YOU_WILL_BE_FIRED')]; // use special case ;)\n\n return Promise.all(fieldValidations).then((fieldErrorsList: string[]) =>\n fieldErrorsList.reduce((prev, curr, index) => {\n if (curr === 'DO_NOT_DELETE_YOU_WILL_BE_FIRED') {\n return prev;\n }\n if (curr) {\n prev = setIn(prev, fieldKeysWithValidation[index], curr);\n }\n return prev;\n }, {})\n );\n },\n [runSingleFieldLevelValidation]\n );\n\n // Run all validations and return the result\n const runAllValidations = React.useCallback(\n (values: Values) => {\n return Promise.all([\n runFieldLevelValidations(values),\n props.validationSchema ? runValidationSchema(values) : {},\n props.validate ? runValidateHandler(values) : {},\n ]).then(([fieldErrors, schemaErrors, validateErrors]) => {\n const combinedErrors = deepmerge.all<FormikErrors<Values>>(\n [fieldErrors, schemaErrors, validateErrors],\n { arrayMerge }\n );\n return combinedErrors;\n });\n },\n [\n props.validate,\n props.validationSchema,\n runFieldLevelValidations,\n runValidateHandler,\n runValidationSchema,\n ]\n );\n\n // Run all validations methods and update state accordingly\n const validateFormWithHighPriority = useEventCallback(\n (values: Values = state.values) => {\n dispatch({ type: 'SET_ISVALIDATING', payload: true });\n return runAllValidations(values).then(combinedErrors => {\n if (!!isMounted.current) {\n dispatch({ type: 'SET_ISVALIDATING', payload: false });\n if (!isEqual(state.errors, combinedErrors)) {\n dispatch({ type: 'SET_ERRORS', payload: combinedErrors });\n }\n }\n return combinedErrors;\n });\n }\n );\n\n React.useEffect(() => {\n if (\n validateOnMount &&\n isMounted.current === true &&\n isEqual(initialValues.current, props.initialValues)\n ) {\n validateFormWithHighPriority(initialValues.current);\n }\n }, [validateOnMount, validateFormWithHighPriority]);\n\n const resetForm = React.useCallback(\n (nextState?: Partial<FormikState<Values>>) => {\n const values =\n nextState && nextState.values\n ? nextState.values\n : initialValues.current;\n const errors =\n nextState && nextState.errors\n ? nextState.errors\n : initialErrors.current\n ? initialErrors.current\n : props.initialErrors || {};\n const touched =\n nextState && nextState.touched\n ? nextState.touched\n : initialTouched.current\n ? initialTouched.current\n : props.initialTouched || {};\n const status =\n nextState && nextState.status\n ? nextState.status\n : initialStatus.current\n ? initialStatus.current\n : props.initialStatus;\n initialValues.current = values;\n initialErrors.current = errors;\n initialTouched.current = touched;\n initialStatus.current = status;\n\n const dispatchFn = () => {\n dispatch({\n type: 'RESET_FORM',\n payload: {\n isSubmitting: !!nextState && !!nextState.isSubmitting,\n errors,\n touched,\n status,\n values,\n isValidating: !!nextState && !!nextState.isValidating,\n submitCount:\n !!nextState &&\n !!nextState.submitCount &&\n typeof nextState.submitCount === 'number'\n ? nextState.submitCount\n : 0,\n },\n });\n };\n\n if (props.onReset) {\n const maybePromisedOnReset = (props.onReset as any)(\n state.values,\n imperativeMethods\n );\n\n if (isPromise(maybePromisedOnReset)) {\n (maybePromisedOnReset as Promise<any>).then(dispatchFn);\n } else {\n dispatchFn();\n }\n } else {\n dispatchFn();\n }\n },\n [props.initialErrors, props.initialStatus, props.initialTouched]\n );\n\n React.useEffect(() => {\n if (\n isMounted.current === true &&\n !isEqual(initialValues.current, props.initialValues)\n ) {\n if (enableReinitialize) {\n initialValues.current = props.initialValues;\n resetForm();\n }\n\n if (validateOnMount) {\n validateFormWithHighPriority(initialValues.current);\n }\n }\n }, [\n enableReinitialize,\n props.initialValues,\n resetForm,\n validateOnMount,\n validateFormWithHighPriority,\n ]);\n\n React.useEffect(() => {\n if (\n enableReinitialize &&\n isMounted.current === true &&\n !isEqual(initialErrors.current, props.initialErrors)\n ) {\n initialErrors.current = props.initialErrors || emptyErrors;\n dispatch({\n type: 'SET_ERRORS',\n payload: props.initialErrors || emptyErrors,\n });\n }\n }, [enableReinitialize, props.initialErrors]);\n\n React.useEffect(() => {\n if (\n enableReinitialize &&\n isMounted.current === true &&\n !isEqual(initialTouched.current, props.initialTouched)\n ) {\n initialTouched.current = props.initialTouched || emptyTouched;\n dispatch({\n type: 'SET_TOUCHED',\n payload: props.initialTouched || emptyTouched,\n });\n }\n }, [enableReinitialize, props.initialTouched]);\n\n React.useEffect(() => {\n if (\n enableReinitialize &&\n isMounted.current === true &&\n !isEqual(initialStatus.current, props.initialStatus)\n ) {\n initialStatus.current = props.initialStatus;\n dispatch({\n type: 'SET_STATUS',\n payload: props.initialStatus,\n });\n }\n }, [enableReinitialize, props.initialStatus, props.initialTouched]);\n\n const validateField = useEventCallback((name: string) => {\n // This will efficiently validate a single field by avoiding state\n // changes if the validation function is synchronous. It's different from\n // what is called when using validateForm.\n\n if (\n fieldRegistry.current[name] &&\n isFunction(fieldRegistry.current[name].validate)\n ) {\n const value = getIn(state.values, name);\n const maybePromise = fieldRegistry.current[name].validate(value);\n if (isPromise(maybePromise)) {\n // Only flip isValidating if the function is async.\n dispatch({ type: 'SET_ISVALIDATING', payload: true });\n return maybePromise\n .then((x: any) => x)\n .then((error: string) => {\n dispatch({\n type: 'SET_FIELD_ERROR',\n payload: { field: name, value: error },\n });\n dispatch({ type: 'SET_ISVALIDATING', payload: false });\n });\n } else {\n dispatch({\n type: 'SET_FIELD_ERROR',\n payload: {\n field: name,\n value: maybePromise as string | undefined,\n },\n });\n return Promise.resolve(maybePromise as string | undefined);\n }\n } else if (props.validationSchema) {\n dispatch({ type: 'SET_ISVALIDATING', payload: true });\n return runValidationSchema(state.values, name)\n .then((x: any) => x)\n .then((error: any) => {\n dispatch({\n type: 'SET_FIELD_ERROR',\n payload: { field: name, value: error[name] },\n });\n dispatch({ type: 'SET_ISVALIDATING', payload: false });\n });\n }\n\n return Promise.resolve();\n });\n\n const registerField = React.useCallback((name: string, { validate }: any) => {\n fieldRegistry.current[name] = {\n validate,\n };\n }, []);\n\n const unregisterField = React.useCallback((name: string) => {\n delete fieldRegistry.current[name];\n }, []);\n\n const setTouched = useEventCallback(\n (touched: FormikTouched<Values>, shouldValidate?: boolean) => {\n dispatch({ type: 'SET_TOUCHED', payload: touched });\n const willValidate =\n shouldValidate === undefined ? validateOnBlur : shouldValidate;\n return willValidate\n ? validateFormWithHighPriority(state.values)\n : Promise.resolve();\n }\n );\n\n const setErrors = React.useCallback((errors: FormikErrors<Values>) => {\n dispatch({ type: 'SET_ERRORS', payload: errors });\n }, []);\n\n const setValues = useEventCallback(\n (values: React.SetStateAction<Values>, shouldValidate?: boolean) => {\n const resolvedValues = isFunction(values) ? values(state.values) : values;\n\n dispatch({ type: 'SET_VALUES', payload: resolvedValues });\n const willValidate =\n shouldValidate === undefined ? validateOnChange : shouldValidate;\n return willValidate\n ? validateFormWithHighPriority(resolvedValues)\n : Promise.resolve();\n }\n );\n\n const setFieldError = React.useCallback(\n (field: string, value: string | undefined) => {\n dispatch({\n type: 'SET_FIELD_ERROR',\n payload: { field, value },\n });\n },\n []\n );\n\n const setFieldValue = useEventCallback(\n (field: string, value: any, shouldValidate?: boolean) => {\n dispatch({\n type: 'SET_FIELD_VALUE',\n payload: {\n field,\n value,\n },\n });\n const willValidate =\n shouldValidate === undefined ? validateOnChange : shouldValidate;\n return willValidate\n ? validateFormWithHighPriority(setIn(state.values, field, value))\n : Promise.resolve();\n }\n );\n\n const executeChange = React.useCallback(\n (eventOrTextValue: string | React.ChangeEvent<any>, maybePath?: string) => {\n // By default, assume that the first argument is a string. This allows us to use\n // handleChange with React Native and React Native Web's onChangeText prop which\n // provides just the value of the input.\n let field = maybePath;\n let val = eventOrTextValue;\n let parsed;\n // If the first argument is not a string though, it has to be a synthetic React Event (or a fake one),\n // so we handle like we would a normal HTML change event.\n if (!isString(eventOrTextValue)) {\n // If we can, persist the event\n // @see https://reactjs.org/docs/events.html#event-pooling\n if ((eventOrTextValue as any).persist) {\n (eventOrTextValue as React.ChangeEvent<any>).persist();\n }\n const target = eventOrTextValue.target\n ? (eventOrTextValue as React.ChangeEvent<any>).target\n : (eventOrTextValue as React.ChangeEvent<any>).currentTarget;\n\n const {\n type,\n name,\n id,\n value,\n checked,\n outerHTML,\n options,\n multiple,\n } = target;\n\n field = maybePath ? maybePath : name ? name : id;\n if (!field && __DEV__) {\n warnAboutMissingIdentifier({\n htmlContent: outerHTML,\n documentationAnchorLink: 'handlechange-e-reactchangeeventany--void',\n handlerName: 'handleChange',\n });\n }\n val = /number|range/.test(type)\n ? ((parsed = parseFloat(value)), isNaN(parsed) ? '' : parsed)\n : /checkbox/.test(type) // checkboxes\n ? getValueForCheckbox(getIn(state.values, field!), checked, value)\n : !!multiple // <select multiple>\n ? getSelectedValues(options)\n : value;\n }\n\n if (field) {\n // Set form fields by name\n setFieldValue(field, val);\n }\n },\n [setFieldValue, state.values]\n );\n\n const handleChange = useEventCallback<FormikHandlers['handleChange']>(\n (\n eventOrPath: string | React.ChangeEvent<any>\n ): void | ((eventOrTextValue: string | React.ChangeEvent<any>) => void) => {\n if (isString(eventOrPath)) {\n return event => executeChange(event, eventOrPath);\n } else {\n executeChange(eventOrPath);\n }\n }\n );\n\n const setFieldTouched = useEventCallback(\n (field: string, touched: boolean = true, shouldValidate?: boolean) => {\n dispatch({\n type: 'SET_FIELD_TOUCHED',\n payload: {\n field,\n value: touched,\n },\n });\n const willValidate =\n shouldValidate === undefined ? validateOnBlur : shouldValidate;\n return willValidate\n ? validateFormWithHighPriority(state.values)\n : Promise.resolve();\n }\n );\n\n const executeBlur = React.useCallback(\n (e: any, path?: string) => {\n if (e.persist) {\n e.persist();\n }\n const { name, id, outerHTML } = e.target;\n const field = path ? path : name ? name : id;\n\n if (!field && __DEV__) {\n warnAboutMissingIdentifier({\n htmlContent: outerHTML,\n documentationAnchorLink: 'handleblur-e-any--void',\n handlerName: 'handleBlur',\n });\n }\n\n setFieldTouched(field, true);\n },\n [setFieldTouched]\n );\n\n const handleBlur = useEventCallback<FormikHandlers['handleBlur']>(\n (eventOrString: any): void | ((e: any) => void) => {\n if (isString(eventOrString)) {\n return event => executeBlur(event, eventOrString);\n } else {\n executeBlur(eventOrString);\n }\n }\n );\n\n const setFormikState = React.useCallback(\n (\n stateOrCb:\n | FormikState<Values>\n | ((state: FormikState<Values>) => FormikState<Values>)\n ): void => {\n if (isFunction(stateOrCb)) {\n dispatch({ type: 'SET_FORMIK_STATE', payload: stateOrCb });\n } else {\n dispatch({ type: 'SET_FORMIK_STATE', payload: () => stateOrCb });\n }\n },\n []\n );\n\n const setStatus = React.useCallback((status: any) => {\n dispatch({ type: 'SET_STATUS', payload: status });\n }, []);\n\n const setSubmitting = React.useCallback((isSubmitting: boolean) => {\n dispatch({ type: 'SET_ISSUBMITTING', payload: isSubmitting });\n }, []);\n\n const submitForm = useEventCallback(() => {\n dispatch({ type: 'SUBMIT_ATTEMPT' });\n return validateFormWithHighPriority().then(\n (combinedErrors: FormikErrors<Values>) => {\n // In case an error was thrown and passed to the resolved Promise,\n // `combinedErrors` can be an instance of an Error. We need to check\n // that and abort the submit.\n // If we don't do that, calling `Object.keys(new Error())` yields an\n // empty array, which causes the validation to pass and the form\n // to be submitted.\n\n const isInstanceOfError = combinedErrors instanceof Error;\n const isActuallyValid =\n !isInstanceOfError && Object.keys(combinedErrors).length === 0;\n if (isActuallyValid) {\n // Proceed with submit...\n //\n // To respect sync submit fns, we can't simply wrap executeSubmit in a promise and\n // _always_ dispatch SUBMIT_SUCCESS because isSubmitting would then always be false.\n // This would be fine in simple cases, but make it impossible to disable submit\n // buttons where people use callbacks or promises as side effects (which is basically\n // all of v1 Formik code). Instead, recall that we are inside of a promise chain already,\n // so we can try/catch executeSubmit(), if it returns undefined, then just bail.\n // If there are errors, throw em. Otherwise, wrap executeSubmit in a promise and handle\n // cleanup of isSubmitting on behalf of the consumer.\n let promiseOrUndefined;\n try {\n promiseOrUndefined = executeSubmit();\n // Bail if it's sync, consumer is responsible for cleaning up\n // via setSubmitting(false)\n if (promiseOrUndefined === undefined) {\n return;\n }\n } catch (error) {\n throw error;\n }\n\n return Promise.resolve(promiseOrUndefined)\n .then(result => {\n if (!!isMounted.current) {\n dispatch({ type: 'SUBMIT_SUCCESS' });\n }\n return result;\n })\n .catch(_errors => {\n if (!!isMounted.current) {\n dispatch({ type: 'SUBMIT_FAILURE' });\n // This is a legit error rejected by the onSubmit fn\n // so we don't want to break the promise chain\n throw _errors;\n }\n });\n } else if (!!isMounted.current) {\n // ^^^ Make sure Formik is still mounted before updating state\n dispatch({ type: 'SUBMIT_FAILURE' });\n // throw combinedErrors;\n if (isInstanceOfError) {\n throw combinedErrors;\n }\n }\n return;\n }\n );\n });\n\n const handleSubmit = useEventCallback(\n (e?: React.FormEvent<HTMLFormElement>) => {\n if (e && e.preventDefault && isFunction(e.preventDefault)) {\n e.preventDefault();\n }\n\n if (e && e.stopPropagation && isFunction(e.stopPropagation)) {\n e.stopPropagation();\n }\n\n // Warn if form submission is triggered by a <button> without a\n // specified `type` attribute during development. This mitigates\n // a common gotcha in forms with both reset and submit buttons,\n // where the dev forgets to add type=\"button\" to the reset button.\n if (__DEV__ && typeof document !== 'undefined') {\n // Safely get the active element (works with IE)\n const activeElement = getActiveElement();\n if (\n activeElement !== null &&\n activeElement instanceof HTMLButtonElement\n ) {\n invariant(\n activeElement.attributes &&\n activeElement.attributes.getNamedItem('type'),\n 'You submitted a Formik form using a button with an unspecified `type` attribute. Most browsers default button elements to `type=\"submit\"`. If this is not a submit button, please add `type=\"button\"`.'\n );\n }\n }\n\n submitForm().catch(reason => {\n console.warn(\n `Warning: An unhandled error was caught from submitForm()`,\n reason\n );\n });\n }\n );\n\n const imperativeMethods: FormikHelpers<Values> = {\n resetForm,\n validateForm: validateFormWithHighPriority,\n validateField,\n setErrors,\n setFieldError,\n setFieldTouched,\n setFieldValue,\n setStatus,\n setSubmitting,\n setTouched,\n setValues,\n setFormikState,\n submitForm,\n };\n\n const executeSubmit = useEventCallback(() => {\n return onSubmit(state.values, imperativeMethods);\n });\n\n const handleReset = useEventCallback(e => {\n if (e && e.preventDefault && isFunction(e.preventDefault)) {\n e.preventDefault();\n }\n\n if (e && e.stopPropagation && isFunction(e.stopPropagation)) {\n e.stopPropagation();\n }\n\n resetForm();\n });\n\n const getFieldMeta = React.useCallback(\n (name: string): FieldMetaProps<any> => {\n return {\n value: getIn(state.values, name),\n error: getIn(state.errors, name),\n touched: !!getIn(state.touched, name),\n initialValue: getIn(initialValues.current, name),\n initialTouched: !!getIn(initialTouched.current, name),\n initialError: getIn(initialErrors.current, name),\n };\n },\n [state.errors, state.touched, state.values]\n );\n\n const getFieldHelpers = React.useCallback(\n (name: string): FieldHelperProps<any> => {\n return {\n setValue: (value: any, shouldValidate?: boolean) =>\n setFieldValue(name, value, shouldValidate),\n setTouched: (value: boolean, shouldValidate?: boolean) =>\n setFieldTouched(name, value, shouldValidate),\n setError: (value: any) => setFieldError(name, value),\n };\n },\n [setFieldValue, setFieldTouched, setFieldError]\n );\n\n const getFieldProps = React.useCallback(\n (nameOrOptions): FieldInputProps<any> => {\n const isAnObject = isObject(nameOrOptions);\n const name = isAnObject ? nameOrOptions.name : nameOrOptions;\n const valueState = getIn(state.values, name);\n\n const field: FieldInputProps<any> = {\n name,\n value: valueState,\n onChange: handleChange,\n onBlur: handleBlur,\n };\n if (isAnObject) {\n const {\n type,\n value: valueProp, // value is special for checkboxes\n as: is,\n multiple,\n } = nameOrOptions;\n\n if (type === 'checkbox') {\n if (valueProp === undefined) {\n field.checked = !!valueState;\n } else {\n field.checked = !!(\n Array.isArray(valueState) && ~valueState.indexOf(valueProp)\n );\n field.value = valueProp;\n }\n } else if (type === 'radio') {\n field.checked = valueState === valueProp;\n field.value = valueProp;\n } else if (is === 'select' && multiple) {\n field.value = field.value || [];\n field.multiple = true;\n }\n }\n return field;\n },\n [handleBlur, handleChange, state.values]\n );\n\n const dirty = React.useMemo(\n () => !isEqual(initialValues.current, state.values),\n [initialValues.current, state.values]\n );\n\n const isValid = React.useMemo(\n () =>\n typeof isInitialValid !== 'undefined'\n ? dirty\n ? state.errors && Object.keys(state.errors).length === 0\n : isInitialValid !== false && isFunction(isInitialValid)\n ? (isInitialValid as (props: FormikConfig<Values>) => boolean)(props)\n : (isInitialValid as boolean)\n : state.errors && Object.keys(state.errors).length === 0,\n [isInitialValid, dirty, state.errors, props]\n );\n\n const ctx = {\n ...state,\n initialValues: initialValues.current,\n initialErrors: initialErrors.current,\n initialTouched: initialTouched.current,\n initialStatus: initialStatus.current,\n handleBlur,\n handleChange,\n handleReset,\n handleSubmit,\n resetForm,\n setErrors,\n setFormikState,\n setFieldTouched,\n setFieldValue,\n setFieldError,\n setStatus,\n setSubmitting,\n setTouched,\n setValues,\n submitForm,\n validateForm: validateFormWithHighPriority,\n validateField,\n isValid,\n dirty,\n unregisterField,\n registerField,\n getFieldProps,\n getFieldMeta,\n getFieldHelpers,\n validateOnBlur,\n validateOnChange,\n validateOnMount,\n };\n\n return ctx;\n}\n\nexport function Formik<\n Values extends FormikValues = FormikValues,\n ExtraProps = {}\n>(props: FormikConfig<Values> & ExtraProps) {\n const formikbag = useFormik<Values>(props);\n const { component, children, render, innerRef } = props;\n\n // This allows folks to pass a ref to <Formik />\n React.useImperativeHandle(innerRef, () => formikbag);\n\n if (__DEV__) {\n // eslint-disable-next-line react-hooks/rules-of-hooks\n React.useEffect(() => {\n invariant(\n !props.render,\n `<Formik render> has been deprecated and will be removed in future versions of Formik. Please use a child callback function instead. To get rid of this warning, replace <Formik render={(props) => ...} /> with <Formik>{(props) => ...}</Formik>`\n );\n // eslint-disable-next-line\n }, []);\n }\n return (\n <FormikProvider value={formikbag}>\n {component\n ? React.createElement(component as any, formikbag)\n : render\n ? render(formikbag)\n : children // children come last, always called\n ? isFunction(children)\n ? (children as (bag: FormikProps<Values>) => React.ReactNode)(\n formikbag as FormikProps<Values>\n )\n : !isEmptyChildren(children)\n ? React.Children.only(children)\n : null\n : null}\n </FormikProvider>\n );\n}\n\nfunction warnAboutMissingIdentifier({\n htmlContent,\n documentationAnchorLink,\n handlerName,\n}: {\n htmlContent: string;\n documentationAnchorLink: string;\n handlerName: string;\n}) {\n console.warn(\n `Warning: Formik called \\`${handlerName}\\`, but you forgot to pass an \\`id\\` or \\`name\\` attribute to your input:\n ${htmlContent}\n Formik cannot determine which value to update. For more info see https://formik.org/docs/api/formik#${documentationAnchorLink}\n `\n );\n}\n\n/**\n * Transform Yup ValidationError to a more usable object\n */\nexport function yupToFormErrors<Values>(yupError: any): FormikErrors<Values> {\n let errors: FormikErrors<Values> = {};\n if (yupError.inner) {\n if (yupError.inner.length === 0) {\n return setIn(errors, yupError.path, yupError.message);\n }\n for (let err of yupError.inner) {\n if (!getIn(errors, err.path)) {\n errors = setIn(errors, err.path, err.message);\n }\n }\n }\n return errors;\n}\n\n/**\n * Validate a yup schema.\n */\nexport function validateYupSchema<T extends FormikValues>(\n values: T,\n schema: any,\n sync: boolean = false,\n context: any = {}\n): Promise<Partial<T>> {\n const validateData: FormikValues = prepareDataForValidation(values);\n return schema[sync ? 'validateSync' : 'validate'](validateData, {\n abortEarly: false,\n context: context,\n });\n}\n\n/**\n * Recursively prepare values.\n */\nexport function prepareDataForValidation<T extends FormikValues>(\n values: T\n): FormikValues {\n let data: FormikValues = Array.isArray(values) ? [] : {};\n for (let k in values) {\n if (Object.prototype.hasOwnProperty.call(values, k)) {\n const key = String(k);\n if (Array.isArray(values[key]) === true) {\n data[key] = values[key].map((value: any) => {\n if (Array.isArray(value) === true || isPlainObject(value)) {\n return prepareDataForValidation(value);\n } else {\n return value !== '' ? value : undefined;\n }\n });\n } else if (isPlainObject(values[key])) {\n data[key] = prepareDataForValidation(values[key]);\n } else {\n data[key] = values[key] !== '' ? values[key] : undefined;\n }\n }\n }\n return data;\n}\n\n/**\n * deepmerge array merging algorithm\n * https://github.com/KyleAMathews/deepmerge#combine-array\n */\nfunction arrayMerge(target: any[], source: any[], options: any): any[] {\n const destination = target.slice();\n\n source.forEach(function merge(e: any, i: number) {\n if (typeof destination[i] === 'undefined') {\n const cloneRequested = options.clone !== false;\n const shouldClone = cloneRequested && options.isMergeableObject(e);\n destination[i] = shouldClone\n ? deepmerge(Array.isArray(e) ? [] : {}, e, options)\n : e;\n } else if (options.isMergeableObject(e)) {\n destination[i] = deepmerge(target[i], e, options);\n } else if (target.indexOf(e) === -1) {\n destination.push(e);\n }\n });\n return destination;\n}\n\n/** Return multi select values based on an array of options */\nfunction getSelectedValues(options: any[]) {\n return Array.from(options)\n .filter(el => el.selected)\n .map(el => el.value);\n}\n\n/** Return the next value for a checkbox */\nfunction getValueForCheckbox(\n currentValue: string | any[],\n checked: boolean,\n valueProp: any\n) {\n // If the current value was a boolean, return a boolean\n if (typeof currentValue === 'boolean') {\n return Boolean(checked);\n }\n\n // If the currentValue was not a boolean we want to return an array\n let currentArrayOfValues = [];\n let isValueInArray = false;\n let index = -1;\n\n if (!Array.isArray(currentValue)) {\n // eslint-disable-next-line eqeqeq\n if (!valueProp || valueProp == 'true' || valueProp == 'false') {\n return Boolean(checked);\n }\n } else {\n // If the current value is already an array, use it\n currentArrayOfValues = currentValue;\n index = currentValue.indexOf(valueProp);\n isValueInArray = index >= 0;\n }\n\n // If the checkbox was checked and the value is not already present in the aray we want to add the new value to the array of values\n if (checked && valueProp && !isValueInArray) {\n return currentArrayOfValues.concat(valueProp);\n }\n\n // If the checkbox was unchecked and the value is not in the array, simply return the already existing array of values\n if (!isValueInArray) {\n return currentArrayOfValues;\n }\n\n // If the checkbox was unchecked and the value is in the array, remove the value and return the array\n return currentArrayOfValues\n .slice(0, index)\n .concat(currentArrayOfValues.slice(index + 1));\n}\n\n// React currently throws a warning when using useLayoutEffect on the server.\n// To get around it, we can conditionally useEffect on the server (no-op) and\n// useLayoutEffect in the browser.\n// @see https://gist.github.com/gaearon/e7d97cdf38a2907924ea12e4ebdf3c85\nconst useIsomorphicLayoutEffect =\n typeof window !== 'undefined' &&\n typeof window.document !== 'undefined' &&\n typeof window.document.createElement !== 'undefined'\n ? React.useLayoutEffect\n : React.useEffect;\n\nfunction useEventCallback<T extends (...args: any[]) => any>(fn: T): T {\n const ref: any = React.useRef(fn);\n\n // we copy a ref to the callback scoped to the current state/props on each render\n useIsomorphicLayoutEffect(() => {\n ref.current = fn;\n });\n\n return React.useCallback(\n (...args: any[]) => ref.current.apply(void 0, args),\n []\n ) as T;\n}\n","import * as React from 'react';\nimport {\n FormikProps,\n GenericFieldHTMLAttributes,\n FieldMetaProps,\n FieldHelperProps,\n FieldInputProps,\n FieldValidator,\n} from './types';\nimport { useFormikContext } from './FormikContext';\nimport { isFunction, isEmptyChildren, isObject } from './utils';\nimport invariant from 'tiny-warning';\n\nexport interface FieldProps<V = any, FormValues = any> {\n field: FieldInputProps<V>;\n form: FormikProps<FormValues>; // if ppl want to restrict this for a given form, let them.\n meta: FieldMetaProps<V>;\n}\n\nexport interface FieldConfig<V = any> {\n /**\n * Field component to render. Can either be a string like 'select' or a component.\n */\n component?:\n | string\n | React.ComponentType<FieldProps<V>>\n | React.ComponentType\n | React.ForwardRefExoticComponent<any>;\n\n /**\n * Component to render. Can either be a string e.g. 'select', 'input', or 'textarea', or a component.\n */\n as?:\n | React.ComponentType<FieldProps<V>['field']>\n | string\n | React.ComponentType\n | React.ForwardRefExoticComponent<any>;\n\n /**\n * Render prop (works like React router's <Route render={props =>} />)\n * @deprecated\n */\n render?: (props: FieldProps<V>) => React.ReactNode;\n\n /**\n * Children render function <Field name>{props => ...}</Field>)\n */\n children?: ((props: FieldProps<V>) => React.ReactNode) | React.ReactNode;\n\n /**\n * Validate a single field value independently\n */\n validate?: FieldValidator;\n\n /**\n * Field name\n */\n name: string;\n\n /** HTML input type */\n type?: string;\n\n /** Field value */\n value?: any;\n\n /** Inner ref */\n innerRef?: (instance: any) => void;\n}\n\nexport type FieldAttributes<T> = GenericFieldHTMLAttributes &\n FieldConfig<T> &\n T & { name: string };\n\nexport type FieldHookConfig<T> = GenericFieldHTMLAttributes & FieldConfig<T>;\n\nexport function useField<Val = any>(\n propsOrFieldName: string | FieldHookConfig<Val>\n): [FieldInputProps<Val>, FieldMetaProps<Val>, FieldHelperProps<Val>] {\n const formik = useFormikContext();\n const {\n getFieldProps,\n getFieldMeta,\n getFieldHelpers,\n registerField,\n unregisterField,\n } = formik;\n\n const isAnObject = isObject(propsOrFieldName);\n\n // Normalize propsOrFieldName to FieldHookConfig<Val>\n const props: FieldHookConfig<Val> = isAnObject\n ? (propsOrFieldName as FieldHookConfig<Val>)\n : { name: propsOrFieldName as string };\n\n const { name: fieldName, validate: validateFn } = props;\n\n React.useEffect(() => {\n if (fieldName) {\n registerField(fieldName, {\n validate: validateFn,\n });\n }\n return () => {\n if (fieldName) {\n unregisterField(fieldName);\n }\n };\n }, [registerField, unregisterField, fieldName, validateFn]);\n\n if (__DEV__) {\n invariant(\n formik,\n 'useField() / <Field /> must be used underneath a <Formik> component or withFormik() higher order component'\n );\n }\n\n invariant(\n fieldName,\n 'Invalid field name. Either pass `useField` a string or an object containing a `name` key.'\n );\n\n return [\n getFieldProps(props),\n getFieldMeta(fieldName),\n getFieldHelpers(fieldName),\n ];\n}\n\nexport function Field({\n validate,\n name,\n render,\n children,\n as: is, // `as` is reserved in typescript lol\n component,\n ...props\n}: FieldAttributes<any>) {\n const {\n validate: _validate,\n validationSchema: _validationSchema,\n\n ...formik\n } = useFormikContext();\n\n if (__DEV__) {\n // eslint-disable-next-line react-hooks/rules-of-hooks\n React.useEffect(() => {\n invariant(\n !render,\n `<Field render> has been deprecated and will be removed in future versions of Formik. Please use a child callback function instead. To get rid of this warning, replace <Field name=\"${name}\" render={({field, form}) => ...} /> with <Field name=\"${name}\">{({field, form, meta}) => ...}</Field>`\n );\n\n invariant(\n !(is && children && isFunction(children)),\n 'You should not use <Field as> and <Field children> as a function in the same <Field> component; <Field as> will be ignored.'\n );\n\n invariant(\n !(component && children && isFunction(children)),\n 'You should not use <Field component> and <Field children> as a function in the same <Field> component; <Field component> will be ignored.'\n );\n\n invariant(\n !(render && children && !isEmptyChildren(children)),\n 'You should not use <Field render> and <Field children> in the same <Field> component; <Field children> will be ignored'\n );\n // eslint-disable-next-line\n }, []);\n }\n\n // Register field and field-level validation with parent <Formik>\n const { registerField, unregisterField } = formik;\n React.useEffect(() => {\n registerField(name, {\n validate: validate,\n });\n return () => {\n unregisterField(name);\n };\n }, [registerField, unregisterField, name, validate]);\n const field = formik.getFieldProps({ name, ...props });\n const meta = formik.getFieldMeta(name);\n const legacyBag = { field, form: formik };\n\n if (render) {\n return render({ ...legacyBag, meta });\n }\n\n if (isFunction(children)) {\n return children({ ...legacyBag, meta });\n }\n\n if (component) {\n // This behavior is backwards compat with earlier Formik 0.9 to 1.x\n if (typeof component === 'string') {\n const { innerRef, ...rest } = props;\n return React.createElement(\n component,\n { ref: innerRef, ...field, ...rest },\n children\n );\n }\n // We don't pass `meta` for backwards compat\n return React.createElement(\n component,\n { field, form: formik, ...props },\n children\n );\n }\n\n // default to input here so we can check for both `as` and `children` above\n const asElement = is || 'input';\n\n if (typeof asElement === 'string') {\n const { innerRef, ...rest } = props;\n return React.createElement(\n asElement,\n { ref: innerRef, ...field, ...rest },\n children\n );\n }\n\n return React.createElement(asElement, { ...field, ...props }, children);\n}\n","import * as React from 'react';\nimport { useFormikContext } from './FormikContext';\n\nexport type FormikFormProps = Pick<\n React.FormHTMLAttributes<HTMLFormElement>,\n Exclude<\n keyof React.FormHTMLAttributes<HTMLFormElement>,\n 'onReset' | 'onSubmit'\n >\n>;\n\ntype FormProps = React.ComponentPropsWithoutRef<'form'>;\n\n// @todo tests\nexport const Form = React.forwardRef<HTMLFormElement, FormProps>(\n (props: FormikFormProps, ref) => {\n // iOS needs an \"action\" attribute for nice input: https://stackoverflow.com/a/39485162/406725\n // We default the action to \"#\" in case the preventDefault fails (just updates the URL hash)\n const { action, ...rest } = props;\n const _action = action || '#';\n const { handleReset, handleSubmit } = useFormikContext();\n return (\n <form\n onSubmit={handleSubmit}\n ref={ref}\n onReset={handleReset}\n action={_action}\n {...rest}\n />\n );\n }\n);\n\nForm.displayName = 'Form';\n","import * as React from 'react';\nimport hoistNonReactStatics from 'hoist-non-react-statics';\n\nimport { FormikContextType } from './types';\nimport { FormikConsumer } from './FormikContext';\nimport invariant from 'tiny-warning';\n\n/**\n * Connect any component to Formik context, and inject as a prop called `formik`;\n * @param Comp React Component\n */\nexport function connect<OuterProps, Values = {}>(\n Comp: React.ComponentType<OuterProps & { formik: FormikContextType<Values> }>\n) {\n const C: React.FC<OuterProps> = (props: OuterProps) => (\n <FormikConsumer>\n {formik => {\n invariant(\n !!formik,\n `Formik context is undefined, please verify you are rendering <Form>, <Field>, <FastField>, <FieldArray>, or your custom context-using component as a child of a <Formik> component. Component name: ${Comp.name}`\n );\n return <Comp {...props} formik={formik} />;\n }}\n </FormikConsumer>\n );\n const componentDisplayName =\n Comp.displayName ||\n Comp.name ||\n (Comp.constructor && Comp.constructor.name) ||\n 'Component';\n\n // Assign Comp to C.WrappedComponent so we can access the inner component in tests\n // For example, <Field.WrappedComponent /> gets us <FieldInner/>\n (C as React.FC<OuterProps> & {\n WrappedComponent: React.ReactNode;\n }).WrappedComponent = Comp;\n\n C.displayName = `FormikConnect(${componentDisplayName})`;\n\n return hoistNonReactStatics(\n C,\n Comp as React.ComponentClass<\n OuterProps & { formik: FormikContextType<Values> }\n > // cast type to ComponentClass (even if SFC)\n ) as React.ComponentType<OuterProps>;\n}\n","import * as React from 'react';\nimport cloneDeep from 'lodash/cloneDeep';\nimport { connect } from './connect';\nimport {\n FormikContextType,\n FormikState,\n SharedRenderProps,\n FormikProps,\n} from './types';\nimport {\n getIn,\n isEmptyChildren,\n isFunction,\n setIn,\n isEmptyArray,\n} from './utils';\nimport isEqual from 'react-fast-compare';\n\nexport type FieldArrayRenderProps = ArrayHelpers & {\n form: FormikProps<any>;\n name: string;\n};\n\nexport type FieldArrayConfig = {\n /** Really the path to the array field to be updated */\n name: string;\n /** Should field array validate the form AFTER array updates/changes? */\n validateOnChange?: boolean;\n} & SharedRenderProps<FieldArrayRenderProps>;\nexport interface ArrayHelpers {\n /** Imperatively add a value to the end of an array */\n push: (obj: any) => void;\n /** Curried fn to add a value to the end of an array */\n handlePush: (obj: any) => () => void;\n /** Imperatively swap two values in an array */\n swap: (indexA: number, indexB: number) => void;\n /** Curried fn to swap two values in an array */\n handleSwap: (indexA: number, indexB: number) => () => void;\n /** Imperatively move an element in an array to another index */\n move: (from: number, to: number) => void;\n /** Imperatively move an element in an array to another index */\n handleMove: (from: number, to: number) => () => void;\n /** Imperatively insert an element at a given index into the array */\n insert: (index: number, value: any) => void;\n /** Curried fn to insert an element at a given index into the array */\n handleInsert: (index: number, value: any) => () => void;\n /** Imperatively replace a value at an index of an array */\n replace: (index: number, value: any) => void;\n /** Curried fn to replace an element at a given index into the array */\n handleReplace: (index: number, value: any) => () => void;\n /** Imperatively add an element to the beginning of an array and return its length */\n unshift: (value: any) => number;\n /** Curried fn to add an element to the beginning of an array */\n handleUnshift: (value: any) => () => void;\n /** Curried fn to remove an element at an index of an array */\n handleRemove: (index: number) => () => void;\n /** Curried fn to remove a value from the end of the array */\n handlePop: () => () => void;\n /** Imperatively remove and element at an index of an array */\n remove<T>(index: number): T | undefined;\n /** Imperatively remove and return value from the end of the array */\n pop<T>(): T | undefined;\n}\n\n/**\n * Some array helpers!\n */\nexport const move = (array: any[], from: number, to: number) => {\n const copy = copyArrayLike(array);\n const value = copy[from];\n copy.splice(from, 1);\n copy.splice(to, 0, value);\n return copy;\n};\n\nexport const swap = (\n arrayLike: ArrayLike<any>,\n indexA: number,\n indexB: number\n) => {\n const copy = copyArrayLike(arrayLike);\n const a = copy[indexA];\n copy[indexA] = copy[indexB];\n copy[indexB] = a;\n return copy;\n};\n\nexport const insert = (\n arrayLike: ArrayLike<any>,\n index: number,\n value: any\n) => {\n const copy = copyArrayLike(arrayLike);\n copy.splice(index, 0, value);\n return copy;\n};\n\nexport const replace = (\n arrayLike: ArrayLike<any>,\n index: number,\n value: any\n) => {\n const copy = copyArrayLike(arrayLike);\n copy[index] = value;\n return copy;\n};\n\nconst copyArrayLike = (arrayLike: ArrayLike<any>) => {\n if (!arrayLike) {\n return [];\n } else if (Array.isArray(arrayLike)) {\n return [...arrayLike];\n } else {\n const maxIndex = Object.keys(arrayLike)\n .map(key => parseInt(key))\n .reduce((max, el) => (el > max ? el : max), 0);\n return Array.from({ ...arrayLike, length: maxIndex + 1 });\n }\n};\n\nclass FieldArrayInner<Values = {}> extends React.Component<\n FieldArrayConfig & { formik: FormikContextType<Values> },\n {}\n> {\n static defaultProps = {\n validateOnChange: true,\n };\n\n constructor(props: FieldArrayConfig & { formik: FormikContextType<Values> }) {\n super(props);\n // We need TypeScript generics on these, so we'll bind them in the constructor\n // @todo Fix TS 3.2.1\n this.remove = this.remove.bind(this) as any;\n this.pop = this.pop.bind(this) as any;\n }\n\n componentDidUpdate(\n prevProps: FieldArrayConfig & { formik: FormikContextType<Values> }\n ) {\n if (\n this.props.validateOnChange &&\n this.props.formik.validateOnChange &&\n !isEqual(\n getIn(prevProps.formik.values, prevProps.name),\n getIn(this.props.formik.values, this.props.name)\n )\n ) {\n this.props.formik.validateForm(this.props.formik.values);\n }\n }\n\n updateArrayField = (\n fn: Function,\n alterTouched: boolean | Function,\n alterErrors: boolean | Function\n ) => {\n const {\n name,\n\n formik: { setFormikState },\n } = this.props;\n setFormikState((prevState: FormikState<any>) => {\n let updateErrors = typeof alterErrors === 'function' ? alterErrors : fn;\n let updateTouched =\n typeof alterTouched === 'function' ? alterTouched : fn;\n\n // values fn should be executed before updateErrors and updateTouched,\n // otherwise it causes an error with unshift.\n let values = setIn(\n prevState.values,\n name,\n fn(getIn(prevState.values, name))\n );\n\n let fieldError = alterErrors\n ? updateErrors(getIn(prevState.errors, name))\n : undefined;\n let fieldTouched = alterTouched\n ? updateTouched(getIn(prevState.touched, name))\n : undefined;\n\n if (isEmptyArray(fieldError)) {\n fieldError = undefined;\n }\n if (isEmptyArray(fieldTouched)) {\n fieldTouched = undefined;\n }\n\n return {\n ...prevState,\n values,\n errors: alterErrors\n ? setIn(prevState.errors, name, fieldError)\n : prevState.errors,\n touched: alterTouched\n ? setIn(prevState.touched, name, fieldTouched)\n : prevState.touched,\n };\n });\n };\n\n push = (value: any) =>\n this.updateArrayField(\n (arrayLike: ArrayLike<any>) => [\n ...copyArrayLike(arrayLike),\n cloneDeep(value),\n ],\n false,\n false\n );\n\n handlePush = (value: any) => () => this.push(value);\n\n swap = (indexA: number, indexB: number) =>\n this.updateArrayField(\n (array: any[]) => swap(array, indexA, indexB),\n true,\n true\n );\n\n handleSwap = (indexA: number, indexB: number) => () =>\n this.swap(indexA, indexB);\n\n move = (from: number, to: number) =>\n this.updateArrayField((array: any[]) => move(array, from, to), true, true);\n\n handleMove = (from: number, to: number) => () => this.move(from, to);\n\n insert = (index: number, value: any) =>\n this.updateArrayField(\n (array: any[]) => insert(array, index, value),\n (array: any[]) => insert(array, index, null),\n (array: any[]) => insert(array, index, null)\n );\n\n handleInsert = (index: number, value: any) => () => this.insert(index, value);\n\n replace = (index: number, value: any) =>\n this.updateArrayField(\n (array: any[]) => replace(array, index, value),\n false,\n false\n );\n\n handleReplace = (index: number, value: any) => () =>\n this.replace(index, value);\n\n unshift = (value: any) => {\n let length = -1;\n this.updateArrayField(\n (array: any[]) => {\n const arr = array ? [value, ...array] : [value];\n if (length < 0) {\n length = arr.length;\n }\n return arr;\n },\n (array: any[]) => {\n const arr = array ? [null, ...array] : [null];\n if (length < 0) {\n length = arr.length;\n }\n return arr;\n },\n (array: any[]) => {\n const arr = array ? [null, ...array] : [null];\n if (length < 0) {\n length = arr.length;\n }\n return arr;\n }\n );\n return length;\n };\n\n handleUnshift = (value: any) => () => this.unshift(value);\n\n remove<T>(index: number): T {\n // We need to make sure we also remove relevant pieces of `touched` and `errors`\n let result: any;\n this.updateArrayField(\n // so this gets call 3 times\n (array?: any[]) => {\n const copy = array ? copyArrayLike(array) : [];\n if (!result) {\n result = copy[index];\n }\n if (isFunction(copy.splice)) {\n copy.splice(index, 1);\n }\n return copy;\n },\n true,\n true\n );\n\n return result as T;\n }\n\n handleRemove = (index: number) => () => this.remove<any>(index);\n\n pop<T>(): T {\n // Remove relevant pieces of `touched` and `errors` too!\n let result: any;\n this.updateArrayField(\n // so this gets call 3 times\n (array: any[]) => {\n const tmp = array;\n if (!result) {\n result = tmp && tmp.pop && tmp.pop();\n }\n return tmp;\n },\n true,\n true\n );\n\n return result as T;\n }\n\n handlePop = () => () => this.pop<any>();\n\n render() {\n const arrayHelpers: ArrayHelpers = {\n push: this.push,\n pop: this.pop,\n swap: this.swap,\n move: this.move,\n insert: this.insert,\n replace: this.replace,\n unshift: this.unshift,\n remove: this.remove,\n handlePush: this.handlePush,\n handlePop: this.handlePop,\n handleSwap: this.handleSwap,\n handleMove: this.handleMove,\n handleInsert: this.handleInsert,\n handleReplace: this.handleReplace,\n handleUnshift: this.handleUnshift,\n handleRemove: this.handleRemove,\n };\n\n const {\n component,\n render,\n children,\n name,\n formik: {\n validate: _validate,\n validationSchema: _validationSchema,\n ...restOfFormik\n },\n } = this.props;\n\n const props: FieldArrayRenderProps = {\n ...arrayHelpers,\n form: restOfFormik,\n name,\n };\n\n return component\n ? React.createElement(component as any, props)\n : render\n ? (render as any)(props)\n : children // children come last, always called\n ? typeof children === 'function'\n ? (children as any)(props)\n : !isEmptyChildren(children)\n ? React.Children.only(children)\n : null\n : null;\n }\n}\n\nexport const FieldArray = connect<FieldArrayConfig, any>(FieldArrayInner);\n","import * as React from 'react';\nimport { FormikContextType } from './types';\nimport { getIn, isFunction } from './utils';\nimport { connect } from './connect';\n\nexport interface ErrorMessageProps {\n name: string;\n className?: string;\n component?: string | React.ComponentType;\n children?: (errorMessage: string) => React.ReactNode;\n render?: (errorMessage: string) => React.ReactNode;\n}\n\nclass ErrorMessageImpl extends React.Component<\n ErrorMessageProps & { formik: FormikContextType<any> }\n> {\n shouldComponentUpdate(\n props: ErrorMessageProps & { formik: FormikContextType<any> }\n ) {\n if (\n getIn(this.props.formik.errors, this.props.name) !==\n getIn(props.formik.errors, this.props.name) ||\n getIn(this.props.formik.touched, this.props.name) !==\n getIn(props.formik.touched, this.props.name) ||\n Object.keys(this.props).length !== Object.keys(props).length\n ) {\n return true;\n } else {\n return false;\n }\n }\n\n render() {\n let { component, formik, render, children, name, ...rest } = this.props;\n\n const touch = getIn(formik.touched, name);\n const error = getIn(formik.errors, name);\n\n return !!touch && !!error\n ? render\n ? isFunction(render)\n ? render(error)\n : null\n : children\n ? isFunction(children)\n ? children(error)\n : null\n : component\n ? React.createElement(component, rest as any, error)\n : error\n : null;\n }\n}\n\nexport const ErrorMessage = connect<\n ErrorMessageProps,\n ErrorMessageProps & { formik: FormikContextType<any> }\n>(ErrorMessageImpl);\n","import * as React from 'react';\n\nimport {\n FormikProps,\n GenericFieldHTMLAttributes,\n FormikContextType,\n FieldMetaProps,\n FieldInputProps,\n} from './types';\nimport invariant from 'tiny-warning';\nimport { getIn, isEmptyChildren, isFunction } from './utils';\nimport { FieldConfig } from './Field';\nimport { connect } from './connect';\n\ntype $FixMe = any;\n\nexport interface FastFieldProps<V = any> {\n field: FieldInputProps<V>;\n meta: FieldMetaProps<V>;\n form: FormikProps<V>; // if ppl want to restrict this for a given form, let them.\n}\n\nexport type FastFieldConfig<T> = FieldConfig & {\n /** Override FastField's default shouldComponentUpdate */\n shouldUpdate?: (\n nextProps: T & GenericFieldHTMLAttributes,\n props: {}\n ) => boolean;\n};\n\nexport type FastFieldAttributes<T> = GenericFieldHTMLAttributes &\n FastFieldConfig<T> &\n T;\n\ntype FastFieldInnerProps<Values = {}, Props = {}> = FastFieldAttributes<\n Props\n> & { formik: FormikContextType<Values> };\n\n/**\n * Custom Field component for quickly hooking into Formik\n * context and wiring up forms.\n */\nclass FastFieldInner<Values = {}, Props = {}> extends React.Component<\n FastFieldInnerProps<Values, Props>,\n {}\n> {\n constructor(props: FastFieldInnerProps<Values, Props>) {\n super(props);\n const { render, children, component, as: is, name } = props;\n invariant(\n !render,\n `<FastField render> has been deprecated. Please use a child callback function instead: <FastField name={${name}}>{props => ...}</FastField> instead.`\n );\n invariant(\n !(component && render),\n 'You should not use <FastField component> and <FastField render> in the same <FastField> component; <FastField component> will be ignored'\n );\n\n invariant(\n !(is && children && isFunction(children)),\n 'You should not use <FastField as> and <FastField children> as a function in the same <FastField> component; <FastField as> will be ignored.'\n );\n\n invariant(\n !(component && children && isFunction(children)),\n 'You should not use <FastField component> and <FastField children> as a function in the same <FastField> component; <FastField component> will be ignored.'\n );\n\n invariant(\n !(render && children && !isEmptyChildren(children)),\n 'You should not use <FastField render> and <FastField children> in the same <FastField> component; <FastField children> will be ignored'\n );\n }\n\n shouldComponentUpdate(props: FastFieldInnerProps<Values, Props>) {\n if (this.props.shouldUpdate) {\n return this.props.shouldUpdate(props, this.props);\n } else if (\n props.name !== this.props.name ||\n getIn(props.formik.values, this.props.name) !==\n getIn(this.props.formik.values, this.props.name) ||\n getIn(props.formik.errors, this.props.name) !==\n getIn(this.props.formik.errors, this.props.name) ||\n getIn(props.formik.touched, this.props.name) !==\n getIn(this.props.formik.touched, this.props.name) ||\n Object.keys(this.props).length !== Object.keys(props).length ||\n props.formik.isSubmitting !== this.props.formik.isSubmitting\n ) {\n return true;\n } else {\n return false;\n }\n }\n\n componentDidMount() {\n // Register the Field with the parent Formik. Parent will cycle through\n // registered Field's validate fns right prior to submit\n this.props.formik.registerField(this.props.name, {\n validate: this.props.validate,\n });\n }\n\n componentDidUpdate(prevProps: FastFieldAttributes<Props>) {\n if (this.props.name !== prevProps.name) {\n this.props.formik.unregisterField(prevProps.name);\n this.props.formik.registerField(this.props.name, {\n validate: this.props.validate,\n });\n }\n\n if (this.props.validate !== prevProps.validate) {\n this.props.formik.registerField(this.props.name, {\n validate: this.props.validate,\n });\n }\n }\n\n componentWillUnmount() {\n this.props.formik.unregisterField(this.props.name);\n }\n\n render() {\n const {\n validate,\n name,\n render,\n as: is,\n children,\n component,\n shouldUpdate,\n formik,\n ...props\n } = this.props as FastFieldInnerProps<Values, Props>;\n\n const {\n validate: _validate,\n validationSchema: _validationSchema,\n ...restOfFormik\n } = formik;\n const field = formik.getFieldProps({ name, ...props });\n const meta = {\n value: getIn(formik.values, name),\n error: getIn(formik.errors, name),\n touched: !!getIn(formik.touched, name),\n initialValue: getIn(formik.initialValues, name),\n initialTouched: !!getIn(formik.initialTouched, name),\n initialError: getIn(formik.initialErrors, name),\n };\n\n const bag = { field, meta, form: restOfFormik };\n\n if (render) {\n return (render as any)(bag);\n }\n\n if (isFunction(children)) {\n return (children as (props: FastFieldProps<any>) => React.ReactNode)(bag);\n }\n\n if (component) {\n // This behavior is backwards compat with earlier Formik 0.9 to 1.x\n if (typeof component === 'string') {\n const { innerRef, ...rest } = props;\n return React.createElement(\n component,\n { ref: innerRef, ...field, ...(rest as $FixMe) },\n children\n );\n }\n // We don't pass `meta` for backwards compat\n return React.createElement(\n component as React.ComponentClass<$FixMe>,\n { field, form: formik, ...props },\n children\n );\n }\n\n // default to input here so we can check for both `as` and `children` above\n const asElement = is || 'input';\n\n if (typeof asElement === 'string') {\n const { innerRef, ...rest } = props;\n return React.createElement(\n asElement,\n { ref: innerRef, ...field, ...(rest as $FixMe) },\n children\n );\n }\n\n return React.createElement(\n asElement as React.ComponentClass,\n { ...field, ...props },\n children\n );\n }\n}\n\nexport const FastField = connect<FastFieldAttributes<any>, any>(FastFieldInner);\n","/**\n * Checks if `value` is object-like. A value is object-like if it's not `null`\n * and has a `typeof` result of \"object\".\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is object-like, else `false`.\n * @example\n *\n * _.isObjectLike({});\n * // => true\n *\n * _.isObjectLike([1, 2, 3]);\n * // => true\n *\n * _.isObjectLike(_.noop);\n * // => false\n *\n * _.isObjectLike(null);\n * // => false\n */\nfunction isObjectLike(value) {\n return value != null && typeof value == 'object';\n}\n\nexport default isObjectLike;\n","import baseEach from './_baseEach.js';\nimport isArrayLike from './isArrayLike.js';\n\n/**\n * The base implementation of `_.map` without support for iteratee shorthands.\n *\n * @private\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Array} Returns the new mapped array.\n */\nfunction baseMap(collection, iteratee) {\n var index = -1,\n result = isArrayLike(collection) ? Array(collection.length) : [];\n\n baseEach(collection, function(value, key, collection) {\n result[++index] = iteratee(value, key, collection);\n });\n return result;\n}\n\nexport default baseMap;\n","import arrayMap from './_arrayMap.js';\nimport baseIteratee from './_baseIteratee.js';\nimport baseMap from './_baseMap.js';\nimport isArray from './isArray.js';\n\n/**\n * Creates an array of values by running each element in `collection` thru\n * `iteratee`. The iteratee is invoked with three arguments:\n * (value, index|key, collection).\n *\n * Many lodash methods are guarded to work as iteratees for methods like\n * `_.every`, `_.filter`, `_.map`, `_.mapValues`, `_.reject`, and `_.some`.\n *\n * The guarded methods are:\n * `ary`, `chunk`, `curry`, `curryRight`, `drop`, `dropRight`, `every`,\n * `fill`, `invert`, `parseInt`, `random`, `range`, `rangeRight`, `repeat`,\n * `sampleSize`, `slice`, `some`, `sortBy`, `split`, `take`, `takeRight`,\n * `template`, `trim`, `trimEnd`, `trimStart`, and `words`\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Collection\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Function} [iteratee=_.identity] The function invoked per iteration.\n * @returns {Array} Returns the new mapped array.\n * @example\n *\n * function square(n) {\n * return n * n;\n * }\n *\n * _.map([4, 8], square);\n * // => [16, 64]\n *\n * _.map({ 'a': 4, 'b': 8 }, square);\n * // => [16, 64] (iteration order is not guaranteed)\n *\n * var users = [\n * { 'user': 'barney' },\n * { 'user': 'fred' }\n * ];\n *\n * // The `_.property` iteratee shorthand.\n * _.map(users, 'user');\n * // => ['barney', 'fred']\n */\nfunction map(collection, iteratee) {\n var func = isArray(collection) ? arrayMap : baseMap;\n return func(collection, baseIteratee(iteratee, 3));\n}\n\nexport default map;\n","/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * The base implementation of `_.has` without support for deep paths.\n *\n * @private\n * @param {Object} [object] The object to query.\n * @param {Array|string} key The key to check.\n * @returns {boolean} Returns `true` if `key` exists, else `false`.\n */\nfunction baseHas(object, key) {\n return object != null && hasOwnProperty.call(object, key);\n}\n\nexport default baseHas;\n","import baseHas from './_baseHas.js';\nimport hasPath from './_hasPath.js';\n\n/**\n * Checks if `path` is a direct property of `object`.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Object\n * @param {Object} object The object to query.\n * @param {Array|string} path The path to check.\n * @returns {boolean} Returns `true` if `path` exists, else `false`.\n * @example\n *\n * var object = { 'a': { 'b': 2 } };\n * var other = _.create({ 'a': _.create({ 'b': 2 }) });\n *\n * _.has(object, 'a');\n * // => true\n *\n * _.has(object, 'a.b');\n * // => true\n *\n * _.has(object, ['a', 'b']);\n * // => true\n *\n * _.has(other, 'a');\n * // => false\n */\nfunction has(object, path) {\n return object != null && hasPath(object, path, baseHas);\n}\n\nexport default has;\n","import baseClone from './_baseClone.js';\n\n/** Used to compose bitmasks for cloning. */\nvar CLONE_DEEP_FLAG = 1,\n CLONE_SYMBOLS_FLAG = 4;\n\n/**\n * This method is like `_.cloneWith` except that it recursively clones `value`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to recursively clone.\n * @param {Function} [customizer] The function to customize cloning.\n * @returns {*} Returns the deep cloned value.\n * @see _.cloneWith\n * @example\n *\n * function customizer(value) {\n * if (_.isElement(value)) {\n * return value.cloneNode(true);\n * }\n * }\n *\n * var el = _.cloneDeepWith(document.body, customizer);\n *\n * console.log(el === document.body);\n * // => false\n * console.log(el.nodeName);\n * // => 'BODY'\n * console.log(el.childNodes.length);\n * // => 20\n */\nfunction cloneDeepWith(value, customizer) {\n customizer = typeof customizer == 'function' ? customizer : undefined;\n return baseClone(value, CLONE_DEEP_FLAG | CLONE_SYMBOLS_FLAG, customizer);\n}\n\nexport default cloneDeepWith;\n","/**\n * Converts `iterator` to an array.\n *\n * @private\n * @param {Object} iterator The iterator to convert.\n * @returns {Array} Returns the converted array.\n */\nfunction iteratorToArray(iterator) {\n var data,\n result = [];\n\n while (!(data = iterator.next()).done) {\n result.push(data.value);\n }\n return result;\n}\n\nexport default iteratorToArray;\n","import Symbol from './_Symbol.js';\nimport copyArray from './_copyArray.js';\nimport getTag from './_getTag.js';\nimport isArrayLike from './isArrayLike.js';\nimport isString from './isString.js';\nimport iteratorToArray from './_iteratorToArray.js';\nimport mapToArray from './_mapToArray.js';\nimport setToArray from './_setToArray.js';\nimport stringToArray from './_stringToArray.js';\nimport values from './values.js';\n\n/** `Object#toString` result references. */\nvar mapTag = '[object Map]',\n setTag = '[object Set]';\n\n/** Built-in value references. */\nvar symIterator = Symbol ? Symbol.iterator : undefined;\n\n/**\n * Converts `value` to an array.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Lang\n * @param {*} value The value to convert.\n * @returns {Array} Returns the converted array.\n * @example\n *\n * _.toArray({ 'a': 1, 'b': 2 });\n * // => [1, 2]\n *\n * _.toArray('abc');\n * // => ['a', 'b', 'c']\n *\n * _.toArray(1);\n * // => []\n *\n * _.toArray(null);\n * // => []\n */\nfunction toArray(value) {\n if (!value) {\n return [];\n }\n if (isArrayLike(value)) {\n return isString(value) ? stringToArray(value) : copyArray(value);\n }\n if (symIterator && value[symIterator]) {\n return iteratorToArray(value[symIterator]());\n }\n var tag = getTag(value),\n func = tag == mapTag ? mapToArray : (tag == setTag ? setToArray : values);\n\n return func(value);\n}\n\nexport default toArray;\n","var toString = Object.prototype.toString;\nvar errorToString = Error.prototype.toString;\nvar regExpToString = RegExp.prototype.toString;\nvar symbolToString = typeof Symbol !== 'undefined' ? Symbol.prototype.toString : function () {\n return '';\n};\nvar SYMBOL_REGEXP = /^Symbol\\((.*)\\)(.*)$/;\n\nfunction printNumber(val) {\n if (val != +val) return 'NaN';\n var isNegativeZero = val === 0 && 1 / val < 0;\n return isNegativeZero ? '-0' : '' + val;\n}\n\nfunction printSimpleValue(val, quoteStrings) {\n if (quoteStrings === void 0) {\n quoteStrings = false;\n }\n\n if (val == null || val === true || val === false) return '' + val;\n var typeOf = typeof val;\n if (typeOf === 'number') return printNumber(val);\n if (typeOf === 'string') return quoteStrings ? \"\\\"\" + val + \"\\\"\" : val;\n if (typeOf === 'function') return '[Function ' + (val.name || 'anonymous') + ']';\n if (typeOf === 'symbol') return symbolToString.call(val).replace(SYMBOL_REGEXP, 'Symbol($1)');\n var tag = toString.call(val).slice(8, -1);\n if (tag === 'Date') return isNaN(val.getTime()) ? '' + val : val.toISOString(val);\n if (tag === 'Error' || val instanceof Error) return '[' + errorToString.call(val) + ']';\n if (tag === 'RegExp') return regExpToString.call(val);\n return null;\n}\n\nexport default function printValue(value, quoteStrings) {\n var result = printSimpleValue(value, quoteStrings);\n if (result !== null) return result;\n return JSON.stringify(value, function (key, value) {\n var result = printSimpleValue(this[key], quoteStrings);\n if (result !== null) return result;\n return value;\n }, 2);\n}","import printValue from './util/printValue';\nexport var mixed = {\n default: '${path} is invalid',\n required: '${path} is a required field',\n oneOf: '${path} must be one of the following values: ${values}',\n notOneOf: '${path} must not be one of the following values: ${values}',\n notType: function notType(_ref) {\n var path = _ref.path,\n type = _ref.type,\n value = _ref.value,\n originalValue = _ref.originalValue;\n var isCast = originalValue != null && originalValue !== value;\n var msg = path + \" must be a `\" + type + \"` type, \" + (\"but the final value was: `\" + printValue(value, true) + \"`\") + (isCast ? \" (cast from the value `\" + printValue(originalValue, true) + \"`).\" : '.');\n\n if (value === null) {\n msg += \"\\n If \\\"null\\\" is intended as an empty value be sure to mark the schema as `.nullable()`\";\n }\n\n return msg;\n },\n defined: '${path} must be defined'\n};\nexport var string = {\n length: '${path} must be exactly ${length} characters',\n min: '${path} must be at least ${min} characters',\n max: '${path} must be at most ${max} characters',\n matches: '${path} must match the following: \"${regex}\"',\n email: '${path} must be a valid email',\n url: '${path} must be a valid URL',\n uuid: '${path} must be a valid UUID',\n trim: '${path} must be a trimmed string',\n lowercase: '${path} must be a lowercase string',\n uppercase: '${path} must be a upper case string'\n};\nexport var number = {\n min: '${path} must be greater than or equal to ${min}',\n max: '${path} must be less than or equal to ${max}',\n lessThan: '${path} must be less than ${less}',\n moreThan: '${path} must be greater than ${more}',\n notEqual: '${path} must be not equal to ${notEqual}',\n positive: '${path} must be a positive number',\n negative: '${path} must be a negative number',\n integer: '${path} must be an integer'\n};\nexport var date = {\n min: '${path} field must be later than ${min}',\n max: '${path} field must be at earlier than ${max}'\n};\nexport var boolean = {};\nexport var object = {\n noUnknown: '${path} field has unspecified keys: ${unknown}'\n};\nexport var array = {\n min: '${path} field must have at least ${min} items',\n max: '${path} field must have less than or equal to ${max} items'\n};\nexport default {\n mixed: mixed,\n string: string,\n number: number,\n date: date,\n object: object,\n array: array,\n boolean: boolean\n};","export default (function (obj) {\n return obj && obj.__isYupSchema__;\n});","import has from \"lodash-es/has\";\nimport isSchema from './util/isSchema';\n\nvar Condition = /*#__PURE__*/function () {\n function Condition(refs, options) {\n this.refs = refs;\n\n if (typeof options === 'function') {\n this.fn = options;\n return;\n }\n\n if (!has(options, 'is')) throw new TypeError('`is:` is required for `when()` conditions');\n if (!options.then && !options.otherwise) throw new TypeError('either `then:` or `otherwise:` is required for `when()` conditions');\n var is = options.is,\n then = options.then,\n otherwise = options.otherwise;\n var check = typeof is === 'function' ? is : function () {\n for (var _len = arguments.length, values = new Array(_len), _key = 0; _key < _len; _key++) {\n values[_key] = arguments[_key];\n }\n\n return values.every(function (value) {\n return value === is;\n });\n };\n\n this.fn = function () {\n for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n args[_key2] = arguments[_key2];\n }\n\n var options = args.pop();\n var schema = args.pop();\n var branch = check.apply(void 0, args) ? then : otherwise;\n if (!branch) return undefined;\n if (typeof branch === 'function') return branch(schema);\n return schema.concat(branch.resolve(options));\n };\n }\n\n var _proto = Condition.prototype;\n\n _proto.resolve = function resolve(base, options) {\n var values = this.refs.map(function (ref) {\n return ref.getValue(options);\n });\n var schema = this.fn.apply(base, values.concat(base, options));\n if (schema === undefined || schema === base) return base;\n if (!isSchema(schema)) throw new TypeError('conditions must return a schema object');\n return schema.resolve(options);\n };\n\n return Condition;\n}();\n\nexport default Condition;","import printValue from './util/printValue';\nvar strReg = /\\$\\{\\s*(\\w+)\\s*\\}/g;\n\nvar replace = function replace(str) {\n return function (params) {\n return str.replace(strReg, function (_, key) {\n return printValue(params[key]);\n });\n };\n};\n\nexport default function ValidationError(errors, value, field, type) {\n var _this = this;\n\n this.name = 'ValidationError';\n this.value = value;\n this.path = field;\n this.type = type;\n this.errors = [];\n this.inner = [];\n if (errors) [].concat(errors).forEach(function (err) {\n _this.errors = _this.errors.concat(err.errors || err);\n if (err.inner) _this.inner = _this.inner.concat(err.inner.length ? err.inner : err);\n });\n this.message = this.errors.length > 1 ? this.errors.length + \" errors occurred\" : this.errors[0];\n if (Error.captureStackTrace) Error.captureStackTrace(this, ValidationError);\n}\nValidationError.prototype = Object.create(Error.prototype);\nValidationError.prototype.constructor = ValidationError;\n\nValidationError.isError = function (err) {\n return err && err.name === 'ValidationError';\n};\n\nValidationError.formatError = function (message, params) {\n if (typeof message === 'string') message = replace(message);\n\n var fn = function fn(params) {\n params.path = params.label || params.path || 'this';\n return typeof message === 'function' ? message(params) : message;\n };\n\n return arguments.length === 1 ? fn : fn(params);\n};","import _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport { SynchronousPromise } from 'synchronous-promise';\nimport ValidationError from '../ValidationError';\n\nvar promise = function promise(sync) {\n return sync ? SynchronousPromise : Promise;\n};\n\nvar unwrapError = function unwrapError(errors) {\n if (errors === void 0) {\n errors = [];\n }\n\n return errors.inner && errors.inner.length ? errors.inner : [].concat(errors);\n};\n\nfunction scopeToValue(promises, value, sync) {\n //console.log('scopeToValue', promises, value)\n var p = promise(sync).all(promises); //console.log('scopeToValue B', p)\n\n var b = p.catch(function (err) {\n if (err.name === 'ValidationError') err.value = value;\n throw err;\n }); //console.log('scopeToValue c', b)\n\n var c = b.then(function () {\n return value;\n }); //console.log('scopeToValue d', c)\n\n return c;\n}\n/**\n * If not failing on the first error, catch the errors\n * and collect them in an array\n */\n\n\nexport function propagateErrors(endEarly, errors) {\n return endEarly ? null : function (err) {\n errors.push(err);\n return err.value;\n };\n}\nexport function settled(promises, sync) {\n var Promise = promise(sync);\n return Promise.all(promises.map(function (p) {\n return Promise.resolve(p).then(function (value) {\n return {\n fulfilled: true,\n value: value\n };\n }, function (value) {\n return {\n fulfilled: false,\n value: value\n };\n });\n }));\n}\nexport function collectErrors(_ref) {\n var validations = _ref.validations,\n value = _ref.value,\n path = _ref.path,\n sync = _ref.sync,\n errors = _ref.errors,\n sort = _ref.sort;\n errors = unwrapError(errors);\n return settled(validations, sync).then(function (results) {\n var nestedErrors = results.filter(function (r) {\n return !r.fulfilled;\n }).reduce(function (arr, _ref2) {\n var error = _ref2.value;\n\n // we are only collecting validation errors\n if (!ValidationError.isError(error)) {\n throw error;\n }\n\n return arr.concat(error);\n }, []);\n if (sort) nestedErrors.sort(sort); //show parent errors after the nested ones: name.first, name\n\n errors = nestedErrors.concat(errors);\n if (errors.length) throw new ValidationError(errors, value, path);\n return value;\n });\n}\nexport default function runValidations(_ref3) {\n var endEarly = _ref3.endEarly,\n options = _objectWithoutPropertiesLoose(_ref3, [\"endEarly\"]);\n\n if (endEarly) return scopeToValue(options.validations, options.value, options.sync);\n return collectErrors(options);\n}","import has from \"lodash-es/has\";\nimport isSchema from './isSchema';\n\nvar isObject = function isObject(obj) {\n return Object.prototype.toString.call(obj) === '[object Object]';\n};\n\nexport default function prependDeep(target, source) {\n for (var key in source) {\n if (has(source, key)) {\n var sourceVal = source[key],\n targetVal = target[key];\n\n if (targetVal === undefined) {\n target[key] = sourceVal;\n } else if (targetVal === sourceVal) {\n continue;\n } else if (isSchema(targetVal)) {\n if (isSchema(sourceVal)) target[key] = sourceVal.concat(targetVal);\n } else if (isObject(targetVal)) {\n if (isObject(sourceVal)) target[key] = prependDeep(targetVal, sourceVal);\n } else if (Array.isArray(targetVal)) {\n if (Array.isArray(sourceVal)) target[key] = sourceVal.concat(targetVal);\n }\n }\n }\n\n return target;\n}","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport { getter } from 'property-expr';\nvar prefixes = {\n context: '$',\n value: '.'\n};\n\nvar Reference = /*#__PURE__*/function () {\n function Reference(key, options) {\n if (options === void 0) {\n options = {};\n }\n\n if (typeof key !== 'string') throw new TypeError('ref must be a string, got: ' + key);\n this.key = key.trim();\n if (key === '') throw new TypeError('ref must be a non-empty string');\n this.isContext = this.key[0] === prefixes.context;\n this.isValue = this.key[0] === prefixes.value;\n this.isSibling = !this.isContext && !this.isValue;\n var prefix = this.isContext ? prefixes.context : this.isValue ? prefixes.value : '';\n this.path = this.key.slice(prefix.length);\n this.getter = this.path && getter(this.path, true);\n this.map = options.map;\n }\n\n var _proto = Reference.prototype;\n\n _proto.getValue = function getValue(options) {\n var result = this.isContext ? options.context : this.isValue ? options.value : options.parent;\n if (this.getter) result = this.getter(result || {});\n if (this.map) result = this.map(result);\n return result;\n };\n\n _proto.cast = function cast(value, options) {\n return this.getValue(_extends({}, options, {\n value: value\n }));\n };\n\n _proto.resolve = function resolve() {\n return this;\n };\n\n _proto.describe = function describe() {\n return {\n type: 'ref',\n key: this.key\n };\n };\n\n _proto.toString = function toString() {\n return \"Ref(\" + this.key + \")\";\n };\n\n Reference.isRef = function isRef(value) {\n return value && value.__isYupRef;\n };\n\n return Reference;\n}();\n\nexport { Reference as default };\nReference.prototype.__isYupRef = true;","import _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nimport mapValues from \"lodash-es/mapValues\";\nimport ValidationError from '../ValidationError';\nimport Ref from '../Reference';\nimport { SynchronousPromise } from 'synchronous-promise';\nvar formatError = ValidationError.formatError;\n\nvar thenable = function thenable(p) {\n return p && typeof p.then === 'function' && typeof p.catch === 'function';\n};\n\nfunction runTest(testFn, ctx, value, sync) {\n var result = testFn.call(ctx, value);\n if (!sync) return Promise.resolve(result);\n\n if (thenable(result)) {\n throw new Error(\"Validation test of type: \\\"\" + ctx.type + \"\\\" returned a Promise during a synchronous validate. \" + \"This test will finish after the validate call has returned\");\n }\n\n return SynchronousPromise.resolve(result);\n}\n\nfunction resolveParams(oldParams, newParams, resolve) {\n return mapValues(_extends({}, oldParams, newParams), resolve);\n}\n\nexport function createErrorFactory(_ref) {\n var value = _ref.value,\n label = _ref.label,\n resolve = _ref.resolve,\n originalValue = _ref.originalValue,\n opts = _objectWithoutPropertiesLoose(_ref, [\"value\", \"label\", \"resolve\", \"originalValue\"]);\n\n return function createError(_temp) {\n var _ref2 = _temp === void 0 ? {} : _temp,\n _ref2$path = _ref2.path,\n path = _ref2$path === void 0 ? opts.path : _ref2$path,\n _ref2$message = _ref2.message,\n message = _ref2$message === void 0 ? opts.message : _ref2$message,\n _ref2$type = _ref2.type,\n type = _ref2$type === void 0 ? opts.name : _ref2$type,\n params = _ref2.params;\n\n params = _extends({\n path: path,\n value: value,\n originalValue: originalValue,\n label: label\n }, resolveParams(opts.params, params, resolve));\n return _extends(new ValidationError(formatError(message, params), value, path, type), {\n params: params\n });\n };\n}\nexport default function createValidation(options) {\n var name = options.name,\n message = options.message,\n test = options.test,\n params = options.params;\n\n function validate(_ref3) {\n var value = _ref3.value,\n path = _ref3.path,\n label = _ref3.label,\n options = _ref3.options,\n originalValue = _ref3.originalValue,\n sync = _ref3.sync,\n rest = _objectWithoutPropertiesLoose(_ref3, [\"value\", \"path\", \"label\", \"options\", \"originalValue\", \"sync\"]);\n\n var parent = options.parent;\n\n var resolve = function resolve(item) {\n return Ref.isRef(item) ? item.getValue({\n value: value,\n parent: parent,\n context: options.context\n }) : item;\n };\n\n var createError = createErrorFactory({\n message: message,\n path: path,\n value: value,\n originalValue: originalValue,\n params: params,\n label: label,\n resolve: resolve,\n name: name\n });\n\n var ctx = _extends({\n path: path,\n parent: parent,\n type: name,\n createError: createError,\n resolve: resolve,\n options: options\n }, rest);\n\n return runTest(test, ctx, value, sync).then(function (validOrError) {\n if (ValidationError.isError(validOrError)) throw validOrError;else if (!validOrError) throw createError();\n });\n }\n\n validate.OPTIONS = options;\n return validate;\n}","import { forEach } from 'property-expr';\n\nvar trim = function trim(part) {\n return part.substr(0, part.length - 1).substr(1);\n};\n\nexport function getIn(schema, path, value, context) {\n if (context === void 0) {\n context = value;\n }\n\n var parent, lastPart, lastPartDebug; // root path: ''\n\n if (!path) return {\n parent: parent,\n parentPath: path,\n schema: schema\n };\n forEach(path, function (_part, isBracket, isArray) {\n var part = isBracket ? trim(_part) : _part;\n schema = schema.resolve({\n context: context,\n parent: parent,\n value: value\n });\n\n if (schema.innerType) {\n var idx = isArray ? parseInt(part, 10) : 0;\n\n if (value && idx >= value.length) {\n throw new Error(\"Yup.reach cannot resolve an array item at index: \" + _part + \", in the path: \" + path + \". \" + \"because there is no value at that index. \");\n }\n\n parent = value;\n value = value && value[idx];\n schema = schema.innerType;\n } // sometimes the array index part of a path doesn't exist: \"nested.arr.child\"\n // in these cases the current part is the next schema and should be processed\n // in this iteration. For cases where the index signature is included this\n // check will fail and we'll handle the `child` part on the next iteration like normal\n\n\n if (!isArray) {\n if (!schema.fields || !schema.fields[part]) throw new Error(\"The schema does not contain the path: \" + path + \". \" + (\"(failed at: \" + lastPartDebug + \" which is a type: \\\"\" + schema._type + \"\\\")\"));\n parent = value;\n value = value && value[part];\n schema = schema.fields[part];\n }\n\n lastPart = part;\n lastPartDebug = isBracket ? '[' + _part + ']' : '.' + _part;\n });\n return {\n schema: schema,\n parent: parent,\n parentPath: lastPart\n };\n}\n\nvar reach = function reach(obj, path, value, context) {\n return getIn(obj, path, value, context).schema;\n};\n\nexport default reach;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _createClass from \"@babel/runtime/helpers/esm/createClass\";\n\nfunction _createForOfIteratorHelperLoose(o, allowArrayLike) { var it; if (typeof Symbol === \"undefined\" || o[Symbol.iterator] == null) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === \"number\") { if (it) o = it; var i = 0; return function () { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }; } throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); } it = o[Symbol.iterator](); return it.next.bind(it); }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\nimport has from \"lodash-es/has\";\nimport cloneDeepWith from \"lodash-es/cloneDeepWith\";\nimport _toArray from \"lodash-es/toArray\";\nimport { mixed as locale } from './locale';\nimport Condition from './Condition';\nimport runValidations from './util/runValidations';\nimport prependDeep from './util/prependDeep';\nimport isSchema from './util/isSchema';\nimport createValidation from './util/createValidation';\nimport printValue from './util/printValue';\nimport Ref from './Reference';\nimport { getIn } from './util/reach';\n\nvar RefSet = /*#__PURE__*/function () {\n function RefSet() {\n this.list = new Set();\n this.refs = new Map();\n }\n\n var _proto = RefSet.prototype;\n\n _proto.describe = function describe() {\n var description = [];\n\n for (var _iterator = _createForOfIteratorHelperLoose(this.list), _step; !(_step = _iterator()).done;) {\n var item = _step.value;\n description.push(item);\n }\n\n for (var _iterator2 = _createForOfIteratorHelperLoose(this.refs), _step2; !(_step2 = _iterator2()).done;) {\n var _step2$value = _step2.value,\n ref = _step2$value[1];\n description.push(ref.describe());\n }\n\n return description;\n };\n\n _proto.toArray = function toArray() {\n return _toArray(this.list).concat(_toArray(this.refs.values()));\n };\n\n _proto.add = function add(value) {\n Ref.isRef(value) ? this.refs.set(value.key, value) : this.list.add(value);\n };\n\n _proto.delete = function _delete(value) {\n Ref.isRef(value) ? this.refs.delete(value.key) : this.list.delete(value);\n };\n\n _proto.has = function has(value, resolve) {\n if (this.list.has(value)) return true;\n var item,\n values = this.refs.values();\n\n while (item = values.next(), !item.done) {\n if (resolve(item.value) === value) return true;\n }\n\n return false;\n };\n\n _proto.clone = function clone() {\n var next = new RefSet();\n next.list = new Set(this.list);\n next.refs = new Map(this.refs);\n return next;\n };\n\n _proto.merge = function merge(newItems, removeItems) {\n var next = this.clone();\n newItems.list.forEach(function (value) {\n return next.add(value);\n });\n newItems.refs.forEach(function (value) {\n return next.add(value);\n });\n removeItems.list.forEach(function (value) {\n return next.delete(value);\n });\n removeItems.refs.forEach(function (value) {\n return next.delete(value);\n });\n return next;\n };\n\n _createClass(RefSet, [{\n key: \"size\",\n get: function get() {\n return this.list.size + this.refs.size;\n }\n }]);\n\n return RefSet;\n}();\n\nexport default function SchemaType(options) {\n var _this = this;\n\n if (options === void 0) {\n options = {};\n }\n\n if (!(this instanceof SchemaType)) return new SchemaType();\n this._deps = [];\n this._conditions = [];\n this._options = {\n abortEarly: true,\n recursive: true\n };\n this._exclusive = Object.create(null);\n this._whitelist = new RefSet();\n this._blacklist = new RefSet();\n this.tests = [];\n this.transforms = [];\n this.withMutation(function () {\n _this.typeError(locale.notType);\n });\n if (has(options, 'default')) this._defaultDefault = options.default;\n this.type = options.type || 'mixed'; // TODO: remove\n\n this._type = options.type || 'mixed';\n}\nvar proto = SchemaType.prototype = {\n __isYupSchema__: true,\n constructor: SchemaType,\n clone: function clone() {\n var _this2 = this;\n\n if (this._mutate) return this; // if the nested value is a schema we can skip cloning, since\n // they are already immutable\n\n return cloneDeepWith(this, function (value) {\n if (isSchema(value) && value !== _this2) return value;\n });\n },\n label: function label(_label) {\n var next = this.clone();\n next._label = _label;\n return next;\n },\n meta: function meta(obj) {\n if (arguments.length === 0) return this._meta;\n var next = this.clone();\n next._meta = _extends(next._meta || {}, obj);\n return next;\n },\n withMutation: function withMutation(fn) {\n var before = this._mutate;\n this._mutate = true;\n var result = fn(this);\n this._mutate = before;\n return result;\n },\n concat: function concat(schema) {\n if (!schema || schema === this) return this;\n if (schema._type !== this._type && this._type !== 'mixed') throw new TypeError(\"You cannot `concat()` schema's of different types: \" + this._type + \" and \" + schema._type);\n var next = prependDeep(schema.clone(), this); // new undefined default is overridden by old non-undefined one, revert\n\n if (has(schema, '_default')) next._default = schema._default;\n next.tests = this.tests;\n next._exclusive = this._exclusive; // manually merge the blacklist/whitelist (the other `schema` takes\n // precedence in case of conflicts)\n\n next._whitelist = this._whitelist.merge(schema._whitelist, schema._blacklist);\n next._blacklist = this._blacklist.merge(schema._blacklist, schema._whitelist); // manually add the new tests to ensure\n // the deduping logic is consistent\n\n next.withMutation(function (next) {\n schema.tests.forEach(function (fn) {\n next.test(fn.OPTIONS);\n });\n });\n return next;\n },\n isType: function isType(v) {\n if (this._nullable && v === null) return true;\n return !this._typeCheck || this._typeCheck(v);\n },\n resolve: function resolve(options) {\n var schema = this;\n\n if (schema._conditions.length) {\n var conditions = schema._conditions;\n schema = schema.clone();\n schema._conditions = [];\n schema = conditions.reduce(function (schema, condition) {\n return condition.resolve(schema, options);\n }, schema);\n schema = schema.resolve(options);\n }\n\n return schema;\n },\n cast: function cast(value, options) {\n if (options === void 0) {\n options = {};\n }\n\n var resolvedSchema = this.resolve(_extends({}, options, {\n value: value\n }));\n\n var result = resolvedSchema._cast(value, options);\n\n if (value !== undefined && options.assert !== false && resolvedSchema.isType(result) !== true) {\n var formattedValue = printValue(value);\n var formattedResult = printValue(result);\n throw new TypeError(\"The value of \" + (options.path || 'field') + \" could not be cast to a value \" + (\"that satisfies the schema type: \\\"\" + resolvedSchema._type + \"\\\". \\n\\n\") + (\"attempted value: \" + formattedValue + \" \\n\") + (formattedResult !== formattedValue ? \"result of cast: \" + formattedResult : ''));\n }\n\n return result;\n },\n _cast: function _cast(rawValue) {\n var _this3 = this;\n\n var value = rawValue === undefined ? rawValue : this.transforms.reduce(function (value, fn) {\n return fn.call(_this3, value, rawValue);\n }, rawValue);\n\n if (value === undefined && has(this, '_default')) {\n value = this.default();\n }\n\n return value;\n },\n _validate: function _validate(_value, options) {\n var _this4 = this;\n\n if (options === void 0) {\n options = {};\n }\n\n var value = _value;\n var originalValue = options.originalValue != null ? options.originalValue : _value;\n\n var isStrict = this._option('strict', options);\n\n var endEarly = this._option('abortEarly', options);\n\n var sync = options.sync;\n var path = options.path;\n var label = this._label;\n\n if (!isStrict) {\n value = this._cast(value, _extends({\n assert: false\n }, options));\n } // value is cast, we can check if it meets type requirements\n\n\n var validationParams = {\n value: value,\n path: path,\n schema: this,\n options: options,\n label: label,\n originalValue: originalValue,\n sync: sync\n };\n\n if (options.from) {\n validationParams.from = options.from;\n }\n\n var initialTests = [];\n if (this._typeError) initialTests.push(this._typeError(validationParams));\n if (this._whitelistError) initialTests.push(this._whitelistError(validationParams));\n if (this._blacklistError) initialTests.push(this._blacklistError(validationParams));\n return runValidations({\n validations: initialTests,\n endEarly: endEarly,\n value: value,\n path: path,\n sync: sync\n }).then(function (value) {\n return runValidations({\n path: path,\n sync: sync,\n value: value,\n endEarly: endEarly,\n validations: _this4.tests.map(function (fn) {\n return fn(validationParams);\n })\n });\n });\n },\n validate: function validate(value, options) {\n if (options === void 0) {\n options = {};\n }\n\n var schema = this.resolve(_extends({}, options, {\n value: value\n }));\n return schema._validate(value, options);\n },\n validateSync: function validateSync(value, options) {\n if (options === void 0) {\n options = {};\n }\n\n var schema = this.resolve(_extends({}, options, {\n value: value\n }));\n var result, err;\n\n schema._validate(value, _extends({}, options, {\n sync: true\n })).then(function (r) {\n return result = r;\n }).catch(function (e) {\n return err = e;\n });\n\n if (err) throw err;\n return result;\n },\n isValid: function isValid(value, options) {\n return this.validate(value, options).then(function () {\n return true;\n }).catch(function (err) {\n if (err.name === 'ValidationError') return false;\n throw err;\n });\n },\n isValidSync: function isValidSync(value, options) {\n try {\n this.validateSync(value, options);\n return true;\n } catch (err) {\n if (err.name === 'ValidationError') return false;\n throw err;\n }\n },\n getDefault: function getDefault(options) {\n if (options === void 0) {\n options = {};\n }\n\n var schema = this.resolve(options);\n return schema.default();\n },\n default: function _default(def) {\n if (arguments.length === 0) {\n var defaultValue = has(this, '_default') ? this._default : this._defaultDefault;\n return typeof defaultValue === 'function' ? defaultValue.call(this) : cloneDeepWith(defaultValue);\n }\n\n var next = this.clone();\n next._default = def;\n return next;\n },\n strict: function strict(isStrict) {\n if (isStrict === void 0) {\n isStrict = true;\n }\n\n var next = this.clone();\n next._options.strict = isStrict;\n return next;\n },\n _isPresent: function _isPresent(value) {\n return value != null;\n },\n required: function required(message) {\n if (message === void 0) {\n message = locale.required;\n }\n\n return this.test({\n message: message,\n name: 'required',\n exclusive: true,\n test: function test(value) {\n return this.schema._isPresent(value);\n }\n });\n },\n notRequired: function notRequired() {\n var next = this.clone();\n next.tests = next.tests.filter(function (test) {\n return test.OPTIONS.name !== 'required';\n });\n return next;\n },\n nullable: function nullable(isNullable) {\n if (isNullable === void 0) {\n isNullable = true;\n }\n\n var next = this.clone();\n next._nullable = isNullable;\n return next;\n },\n transform: function transform(fn) {\n var next = this.clone();\n next.transforms.push(fn);\n return next;\n },\n\n /**\n * Adds a test function to the schema's queue of tests.\n * tests can be exclusive or non-exclusive.\n *\n * - exclusive tests, will replace any existing tests of the same name.\n * - non-exclusive: can be stacked\n *\n * If a non-exclusive test is added to a schema with an exclusive test of the same name\n * the exclusive test is removed and further tests of the same name will be stacked.\n *\n * If an exclusive test is added to a schema with non-exclusive tests of the same name\n * the previous tests are removed and further tests of the same name will replace each other.\n */\n test: function test() {\n var opts;\n\n if (arguments.length === 1) {\n if (typeof (arguments.length <= 0 ? undefined : arguments[0]) === 'function') {\n opts = {\n test: arguments.length <= 0 ? undefined : arguments[0]\n };\n } else {\n opts = arguments.length <= 0 ? undefined : arguments[0];\n }\n } else if (arguments.length === 2) {\n opts = {\n name: arguments.length <= 0 ? undefined : arguments[0],\n test: arguments.length <= 1 ? undefined : arguments[1]\n };\n } else {\n opts = {\n name: arguments.length <= 0 ? undefined : arguments[0],\n message: arguments.length <= 1 ? undefined : arguments[1],\n test: arguments.length <= 2 ? undefined : arguments[2]\n };\n }\n\n if (opts.message === undefined) opts.message = locale.default;\n if (typeof opts.test !== 'function') throw new TypeError('`test` is a required parameters');\n var next = this.clone();\n var validate = createValidation(opts);\n var isExclusive = opts.exclusive || opts.name && next._exclusive[opts.name] === true;\n\n if (opts.exclusive && !opts.name) {\n throw new TypeError('Exclusive tests must provide a unique `name` identifying the test');\n }\n\n next._exclusive[opts.name] = !!opts.exclusive;\n next.tests = next.tests.filter(function (fn) {\n if (fn.OPTIONS.name === opts.name) {\n if (isExclusive) return false;\n if (fn.OPTIONS.test === validate.OPTIONS.test) return false;\n }\n\n return true;\n });\n next.tests.push(validate);\n return next;\n },\n when: function when(keys, options) {\n if (arguments.length === 1) {\n options = keys;\n keys = '.';\n }\n\n var next = this.clone(),\n deps = [].concat(keys).map(function (key) {\n return new Ref(key);\n });\n deps.forEach(function (dep) {\n if (dep.isSibling) next._deps.push(dep.key);\n });\n\n next._conditions.push(new Condition(deps, options));\n\n return next;\n },\n typeError: function typeError(message) {\n var next = this.clone();\n next._typeError = createValidation({\n message: message,\n name: 'typeError',\n test: function test(value) {\n if (value !== undefined && !this.schema.isType(value)) return this.createError({\n params: {\n type: this.schema._type\n }\n });\n return true;\n }\n });\n return next;\n },\n oneOf: function oneOf(enums, message) {\n if (message === void 0) {\n message = locale.oneOf;\n }\n\n var next = this.clone();\n enums.forEach(function (val) {\n next._whitelist.add(val);\n\n next._blacklist.delete(val);\n });\n next._whitelistError = createValidation({\n message: message,\n name: 'oneOf',\n test: function test(value) {\n if (value === undefined) return true;\n var valids = this.schema._whitelist;\n return valids.has(value, this.resolve) ? true : this.createError({\n params: {\n values: valids.toArray().join(', ')\n }\n });\n }\n });\n return next;\n },\n notOneOf: function notOneOf(enums, message) {\n if (message === void 0) {\n message = locale.notOneOf;\n }\n\n var next = this.clone();\n enums.forEach(function (val) {\n next._blacklist.add(val);\n\n next._whitelist.delete(val);\n });\n next._blacklistError = createValidation({\n message: message,\n name: 'notOneOf',\n test: function test(value) {\n var invalids = this.schema._blacklist;\n if (invalids.has(value, this.resolve)) return this.createError({\n params: {\n values: invalids.toArray().join(', ')\n }\n });\n return true;\n }\n });\n return next;\n },\n strip: function strip(_strip) {\n if (_strip === void 0) {\n _strip = true;\n }\n\n var next = this.clone();\n next._strip = _strip;\n return next;\n },\n _option: function _option(key, overrides) {\n return has(overrides, key) ? overrides[key] : this._options[key];\n },\n describe: function describe() {\n var next = this.clone();\n var description = {\n type: next._type,\n meta: next._meta,\n label: next._label,\n tests: next.tests.map(function (fn) {\n return {\n name: fn.OPTIONS.name,\n params: fn.OPTIONS.params\n };\n }).filter(function (n, idx, list) {\n return list.findIndex(function (c) {\n return c.name === n.name;\n }) === idx;\n })\n };\n if (next._whitelist.size) description.oneOf = next._whitelist.describe();\n if (next._blacklist.size) description.notOneOf = next._blacklist.describe();\n return description;\n },\n defined: function defined(message) {\n if (message === void 0) {\n message = locale.defined;\n }\n\n return this.nullable().test({\n message: message,\n name: 'defined',\n exclusive: true,\n test: function test(value) {\n return value !== undefined;\n }\n });\n }\n};\n\nvar _loop = function _loop() {\n var method = _arr[_i];\n\n proto[method + \"At\"] = function (path, value, options) {\n if (options === void 0) {\n options = {};\n }\n\n var _getIn = getIn(this, path, value, options.context),\n parent = _getIn.parent,\n parentPath = _getIn.parentPath,\n schema = _getIn.schema;\n\n return schema[method](parent && parent[parentPath], _extends({}, options, {\n parent: parent,\n path: path\n }));\n };\n};\n\nfor (var _i = 0, _arr = ['validate', 'validateSync']; _i < _arr.length; _i++) {\n _loop();\n}\n\nfor (var _i2 = 0, _arr2 = ['equals', 'is']; _i2 < _arr2.length; _i2++) {\n var alias = _arr2[_i2];\n proto[alias] = proto.oneOf;\n}\n\nfor (var _i3 = 0, _arr3 = ['not', 'nope']; _i3 < _arr3.length; _i3++) {\n var _alias = _arr3[_i3];\n proto[_alias] = proto.notOneOf;\n}\n\nproto.optional = proto.notRequired;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nexport default function inherits(ctor, superCtor, spec) {\n ctor.prototype = Object.create(superCtor.prototype, {\n constructor: {\n value: ctor,\n enumerable: false,\n writable: true,\n configurable: true\n }\n });\n\n _extends(ctor.prototype, spec);\n}","import inherits from './util/inherits';\nimport MixedSchema from './mixed';\nexport default BooleanSchema;\n\nfunction BooleanSchema() {\n var _this = this;\n\n if (!(this instanceof BooleanSchema)) return new BooleanSchema();\n MixedSchema.call(this, {\n type: 'boolean'\n });\n this.withMutation(function () {\n _this.transform(function (value) {\n if (!this.isType(value)) {\n if (/^(true|1)$/i.test(value)) return true;\n if (/^(false|0)$/i.test(value)) return false;\n }\n\n return value;\n });\n });\n}\n\ninherits(BooleanSchema, MixedSchema, {\n _typeCheck: function _typeCheck(v) {\n if (v instanceof Boolean) v = v.valueOf();\n return typeof v === 'boolean';\n }\n});","export default (function (value) {\n return value == null;\n});","import inherits from './util/inherits';\nimport MixedSchema from './mixed';\nimport { string as locale } from './locale';\nimport isAbsent from './util/isAbsent'; // eslint-disable-next-line\n\nvar rEmail = /^((([a-z]|\\d|[!#\\$%&'\\*\\+\\-\\/=\\?\\^_`{\\|}~]|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])+(\\.([a-z]|\\d|[!#\\$%&'\\*\\+\\-\\/=\\?\\^_`{\\|}~]|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])+)*)|((\\x22)((((\\x20|\\x09)*(\\x0d\\x0a))?(\\x20|\\x09)+)?(([\\x01-\\x08\\x0b\\x0c\\x0e-\\x1f\\x7f]|\\x21|[\\x23-\\x5b]|[\\x5d-\\x7e]|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])|(\\\\([\\x01-\\x09\\x0b\\x0c\\x0d-\\x7f]|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF]))))*(((\\x20|\\x09)*(\\x0d\\x0a))?(\\x20|\\x09)+)?(\\x22)))@((([a-z]|\\d|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])|(([a-z]|\\d|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])([a-z]|\\d|-|\\.|_|~|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])*([a-z]|\\d|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])))\\.)+(([a-z]|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])|(([a-z]|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])([a-z]|\\d|-|\\.|_|~|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])*([a-z]|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])))$/i; // eslint-disable-next-line\n\nvar rUrl = /^((https?|ftp):)?\\/\\/(((([a-z]|\\d|-|\\.|_|~|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])|(%[\\da-f]{2})|[!\\$&'\\(\\)\\*\\+,;=]|:)*@)?(((\\d|[1-9]\\d|1\\d\\d|2[0-4]\\d|25[0-5])\\.(\\d|[1-9]\\d|1\\d\\d|2[0-4]\\d|25[0-5])\\.(\\d|[1-9]\\d|1\\d\\d|2[0-4]\\d|25[0-5])\\.(\\d|[1-9]\\d|1\\d\\d|2[0-4]\\d|25[0-5]))|((([a-z]|\\d|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])|(([a-z]|\\d|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])([a-z]|\\d|-|\\.|_|~|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])*([a-z]|\\d|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])))\\.)+(([a-z]|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])|(([a-z]|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])([a-z]|\\d|-|\\.|_|~|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])*([a-z]|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])))\\.?)(:\\d*)?)(\\/((([a-z]|\\d|-|\\.|_|~|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])|(%[\\da-f]{2})|[!\\$&'\\(\\)\\*\\+,;=]|:|@)+(\\/(([a-z]|\\d|-|\\.|_|~|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])|(%[\\da-f]{2})|[!\\$&'\\(\\)\\*\\+,;=]|:|@)*)*)?)?(\\?((([a-z]|\\d|-|\\.|_|~|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])|(%[\\da-f]{2})|[!\\$&'\\(\\)\\*\\+,;=]|:|@)|[\\uE000-\\uF8FF]|\\/|\\?)*)?(\\#((([a-z]|\\d|-|\\.|_|~|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])|(%[\\da-f]{2})|[!\\$&'\\(\\)\\*\\+,;=]|:|@)|\\/|\\?)*)?$/i; // eslint-disable-next-line\n\nvar rUUID = /^[0-9a-f]{8}-[0-9a-f]{4}-[0-5][0-9a-f]{3}-[089ab][0-9a-f]{3}-[0-9a-f]{12}$/i;\n\nvar isTrimmed = function isTrimmed(value) {\n return isAbsent(value) || value === value.trim();\n};\n\nexport default function StringSchema() {\n var _this = this;\n\n if (!(this instanceof StringSchema)) return new StringSchema();\n MixedSchema.call(this, {\n type: 'string'\n });\n this.withMutation(function () {\n _this.transform(function (value) {\n if (this.isType(value)) return value;\n return value != null && value.toString ? value.toString() : value;\n });\n });\n}\ninherits(StringSchema, MixedSchema, {\n _typeCheck: function _typeCheck(value) {\n if (value instanceof String) value = value.valueOf();\n return typeof value === 'string';\n },\n _isPresent: function _isPresent(value) {\n return MixedSchema.prototype._isPresent.call(this, value) && value.length > 0;\n },\n length: function length(_length, message) {\n if (message === void 0) {\n message = locale.length;\n }\n\n return this.test({\n message: message,\n name: 'length',\n exclusive: true,\n params: {\n length: _length\n },\n test: function test(value) {\n return isAbsent(value) || value.length === this.resolve(_length);\n }\n });\n },\n min: function min(_min, message) {\n if (message === void 0) {\n message = locale.min;\n }\n\n return this.test({\n message: message,\n name: 'min',\n exclusive: true,\n params: {\n min: _min\n },\n test: function test(value) {\n return isAbsent(value) || value.length >= this.resolve(_min);\n }\n });\n },\n max: function max(_max, message) {\n if (message === void 0) {\n message = locale.max;\n }\n\n return this.test({\n name: 'max',\n exclusive: true,\n message: message,\n params: {\n max: _max\n },\n test: function test(value) {\n return isAbsent(value) || value.length <= this.resolve(_max);\n }\n });\n },\n matches: function matches(regex, options) {\n var excludeEmptyString = false;\n var message;\n var name;\n\n if (options) {\n if (typeof options === 'object') {\n excludeEmptyString = options.excludeEmptyString;\n message = options.message;\n name = options.name;\n } else {\n message = options;\n }\n }\n\n return this.test({\n name: name || 'matches',\n message: message || locale.matches,\n params: {\n regex: regex\n },\n test: function test(value) {\n return isAbsent(value) || value === '' && excludeEmptyString || value.search(regex) !== -1;\n }\n });\n },\n email: function email(message) {\n if (message === void 0) {\n message = locale.email;\n }\n\n return this.matches(rEmail, {\n name: 'email',\n message: message,\n excludeEmptyString: true\n });\n },\n url: function url(message) {\n if (message === void 0) {\n message = locale.url;\n }\n\n return this.matches(rUrl, {\n name: 'url',\n message: message,\n excludeEmptyString: true\n });\n },\n uuid: function uuid(message) {\n if (message === void 0) {\n message = locale.uuid;\n }\n\n return this.matches(rUUID, {\n name: 'uuid',\n message: message,\n excludeEmptyString: false\n });\n },\n //-- transforms --\n ensure: function ensure() {\n return this.default('').transform(function (val) {\n return val === null ? '' : val;\n });\n },\n trim: function trim(message) {\n if (message === void 0) {\n message = locale.trim;\n }\n\n return this.transform(function (val) {\n return val != null ? val.trim() : val;\n }).test({\n message: message,\n name: 'trim',\n test: isTrimmed\n });\n },\n lowercase: function lowercase(message) {\n if (message === void 0) {\n message = locale.lowercase;\n }\n\n return this.transform(function (value) {\n return !isAbsent(value) ? value.toLowerCase() : value;\n }).test({\n message: message,\n name: 'string_case',\n exclusive: true,\n test: function test(value) {\n return isAbsent(value) || value === value.toLowerCase();\n }\n });\n },\n uppercase: function uppercase(message) {\n if (message === void 0) {\n message = locale.uppercase;\n }\n\n return this.transform(function (value) {\n return !isAbsent(value) ? value.toUpperCase() : value;\n }).test({\n message: message,\n name: 'string_case',\n exclusive: true,\n test: function test(value) {\n return isAbsent(value) || value === value.toUpperCase();\n }\n });\n }\n});","import inherits from './util/inherits';\nimport MixedSchema from './mixed';\nimport { number as locale } from './locale';\nimport isAbsent from './util/isAbsent';\n\nvar isNaN = function isNaN(value) {\n return value != +value;\n};\n\nexport default function NumberSchema() {\n var _this = this;\n\n if (!(this instanceof NumberSchema)) return new NumberSchema();\n MixedSchema.call(this, {\n type: 'number'\n });\n this.withMutation(function () {\n _this.transform(function (value) {\n var parsed = value;\n\n if (typeof parsed === 'string') {\n parsed = parsed.replace(/\\s/g, '');\n if (parsed === '') return NaN; // don't use parseFloat to avoid positives on alpha-numeric strings\n\n parsed = +parsed;\n }\n\n if (this.isType(parsed)) return parsed;\n return parseFloat(parsed);\n });\n });\n}\ninherits(NumberSchema, MixedSchema, {\n _typeCheck: function _typeCheck(value) {\n if (value instanceof Number) value = value.valueOf();\n return typeof value === 'number' && !isNaN(value);\n },\n min: function min(_min, message) {\n if (message === void 0) {\n message = locale.min;\n }\n\n return this.test({\n message: message,\n name: 'min',\n exclusive: true,\n params: {\n min: _min\n },\n test: function test(value) {\n return isAbsent(value) || value >= this.resolve(_min);\n }\n });\n },\n max: function max(_max, message) {\n if (message === void 0) {\n message = locale.max;\n }\n\n return this.test({\n message: message,\n name: 'max',\n exclusive: true,\n params: {\n max: _max\n },\n test: function test(value) {\n return isAbsent(value) || value <= this.resolve(_max);\n }\n });\n },\n lessThan: function lessThan(less, message) {\n if (message === void 0) {\n message = locale.lessThan;\n }\n\n return this.test({\n message: message,\n name: 'max',\n exclusive: true,\n params: {\n less: less\n },\n test: function test(value) {\n return isAbsent(value) || value < this.resolve(less);\n }\n });\n },\n moreThan: function moreThan(more, message) {\n if (message === void 0) {\n message = locale.moreThan;\n }\n\n return this.test({\n message: message,\n name: 'min',\n exclusive: true,\n params: {\n more: more\n },\n test: function test(value) {\n return isAbsent(value) || value > this.resolve(more);\n }\n });\n },\n positive: function positive(msg) {\n if (msg === void 0) {\n msg = locale.positive;\n }\n\n return this.moreThan(0, msg);\n },\n negative: function negative(msg) {\n if (msg === void 0) {\n msg = locale.negative;\n }\n\n return this.lessThan(0, msg);\n },\n integer: function integer(message) {\n if (message === void 0) {\n message = locale.integer;\n }\n\n return this.test({\n name: 'integer',\n message: message,\n test: function test(val) {\n return isAbsent(val) || Number.isInteger(val);\n }\n });\n },\n truncate: function truncate() {\n return this.transform(function (value) {\n return !isAbsent(value) ? value | 0 : value;\n });\n },\n round: function round(method) {\n var avail = ['ceil', 'floor', 'round', 'trunc'];\n method = method && method.toLowerCase() || 'round'; // this exists for symemtry with the new Math.trunc\n\n if (method === 'trunc') return this.truncate();\n if (avail.indexOf(method.toLowerCase()) === -1) throw new TypeError('Only valid options for round() are: ' + avail.join(', '));\n return this.transform(function (value) {\n return !isAbsent(value) ? Math[method](value) : value;\n });\n }\n});","/* eslint-disable */\n\n/**\n *\n * Date.parse with progressive enhancement for ISO 8601 <https://github.com/csnover/js-iso8601>\n * NON-CONFORMANT EDITION.\n * © 2011 Colin Snover <http://zetafleet.com>\n * Released under MIT license.\n */\n// 1 YYYY 2 MM 3 DD 4 HH 5 mm 6 ss 7 msec 8 Z 9 ± 10 tzHH 11 tzmm\nvar isoReg = /^(\\d{4}|[+\\-]\\d{6})(?:-?(\\d{2})(?:-?(\\d{2}))?)?(?:[ T]?(\\d{2}):?(\\d{2})(?::?(\\d{2})(?:[,\\.](\\d{1,}))?)?(?:(Z)|([+\\-])(\\d{2})(?::?(\\d{2}))?)?)?$/;\nexport default function parseIsoDate(date) {\n var numericKeys = [1, 4, 5, 6, 7, 10, 11],\n minutesOffset = 0,\n timestamp,\n struct;\n\n if (struct = isoReg.exec(date)) {\n // avoid NaN timestamps caused by “undefined†values being passed to Date.UTC\n for (var i = 0, k; k = numericKeys[i]; ++i) {\n struct[k] = +struct[k] || 0;\n } // allow undefined days and months\n\n\n struct[2] = (+struct[2] || 1) - 1;\n struct[3] = +struct[3] || 1; // allow arbitrary sub-second precision beyond milliseconds\n\n struct[7] = struct[7] ? String(struct[7]).substr(0, 3) : 0; // timestamps without timezone identifiers should be considered local time\n\n if ((struct[8] === undefined || struct[8] === '') && (struct[9] === undefined || struct[9] === '')) timestamp = +new Date(struct[1], struct[2], struct[3], struct[4], struct[5], struct[6], struct[7]);else {\n if (struct[8] !== 'Z' && struct[9] !== undefined) {\n minutesOffset = struct[10] * 60 + struct[11];\n if (struct[9] === '+') minutesOffset = 0 - minutesOffset;\n }\n\n timestamp = Date.UTC(struct[1], struct[2], struct[3], struct[4], struct[5] + minutesOffset, struct[6], struct[7]);\n }\n } else timestamp = Date.parse ? Date.parse(date) : NaN;\n\n return timestamp;\n}","import MixedSchema from './mixed';\nimport inherits from './util/inherits';\nimport isoParse from './util/isodate';\nimport { date as locale } from './locale';\nimport isAbsent from './util/isAbsent';\nimport Ref from './Reference';\nvar invalidDate = new Date('');\n\nvar isDate = function isDate(obj) {\n return Object.prototype.toString.call(obj) === '[object Date]';\n};\n\nexport default DateSchema;\n\nfunction DateSchema() {\n var _this = this;\n\n if (!(this instanceof DateSchema)) return new DateSchema();\n MixedSchema.call(this, {\n type: 'date'\n });\n this.withMutation(function () {\n _this.transform(function (value) {\n if (this.isType(value)) return value;\n value = isoParse(value); // 0 is a valid timestamp equivalent to 1970-01-01T00:00:00Z(unix epoch) or before.\n\n return !isNaN(value) ? new Date(value) : invalidDate;\n });\n });\n}\n\ninherits(DateSchema, MixedSchema, {\n _typeCheck: function _typeCheck(v) {\n return isDate(v) && !isNaN(v.getTime());\n },\n min: function min(_min, message) {\n if (message === void 0) {\n message = locale.min;\n }\n\n var limit = _min;\n\n if (!Ref.isRef(limit)) {\n limit = this.cast(_min);\n if (!this._typeCheck(limit)) throw new TypeError('`min` must be a Date or a value that can be `cast()` to a Date');\n }\n\n return this.test({\n message: message,\n name: 'min',\n exclusive: true,\n params: {\n min: _min\n },\n test: function test(value) {\n return isAbsent(value) || value >= this.resolve(limit);\n }\n });\n },\n max: function max(_max, message) {\n if (message === void 0) {\n message = locale.max;\n }\n\n var limit = _max;\n\n if (!Ref.isRef(limit)) {\n limit = this.cast(_max);\n if (!this._typeCheck(limit)) throw new TypeError('`max` must be a Date or a value that can be `cast()` to a Date');\n }\n\n return this.test({\n message: message,\n name: 'max',\n exclusive: true,\n params: {\n max: _max\n },\n test: function test(value) {\n return isAbsent(value) || value <= this.resolve(limit);\n }\n });\n }\n});","export default function _taggedTemplateLiteralLoose(strings, raw) {\n if (!raw) {\n raw = strings.slice(0);\n }\n\n strings.raw = raw;\n return strings;\n}","import createCompounder from './_createCompounder.js';\n\n/**\n * Converts `string` to\n * [snake case](https://en.wikipedia.org/wiki/Snake_case).\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category String\n * @param {string} [string=''] The string to convert.\n * @returns {string} Returns the snake cased string.\n * @example\n *\n * _.snakeCase('Foo Bar');\n * // => 'foo_bar'\n *\n * _.snakeCase('fooBar');\n * // => 'foo_bar'\n *\n * _.snakeCase('--FOO-BAR--');\n * // => 'foo_bar'\n */\nvar snakeCase = createCompounder(function(result, word, index) {\n return result + (index ? '_' : '') + word.toLowerCase();\n});\n\nexport default snakeCase;\n","import toString from './toString.js';\nimport upperFirst from './upperFirst.js';\n\n/**\n * Converts the first character of `string` to upper case and the remaining\n * to lower case.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category String\n * @param {string} [string=''] The string to capitalize.\n * @returns {string} Returns the capitalized string.\n * @example\n *\n * _.capitalize('FRED');\n * // => 'Fred'\n */\nfunction capitalize(string) {\n return upperFirst(toString(string).toLowerCase());\n}\n\nexport default capitalize;\n","import capitalize from './capitalize.js';\nimport createCompounder from './_createCompounder.js';\n\n/**\n * Converts `string` to [camel case](https://en.wikipedia.org/wiki/CamelCase).\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category String\n * @param {string} [string=''] The string to convert.\n * @returns {string} Returns the camel cased string.\n * @example\n *\n * _.camelCase('Foo Bar');\n * // => 'fooBar'\n *\n * _.camelCase('--foo-bar--');\n * // => 'fooBar'\n *\n * _.camelCase('__FOO_BAR__');\n * // => 'fooBar'\n */\nvar camelCase = createCompounder(function(result, word, index) {\n word = word.toLowerCase();\n return result + (index ? capitalize(word) : word);\n});\n\nexport default camelCase;\n","import baseAssignValue from './_baseAssignValue.js';\nimport baseForOwn from './_baseForOwn.js';\nimport baseIteratee from './_baseIteratee.js';\n\n/**\n * The opposite of `_.mapValues`; this method creates an object with the\n * same values as `object` and keys generated by running each own enumerable\n * string keyed property of `object` thru `iteratee`. The iteratee is invoked\n * with three arguments: (value, key, object).\n *\n * @static\n * @memberOf _\n * @since 3.8.0\n * @category Object\n * @param {Object} object The object to iterate over.\n * @param {Function} [iteratee=_.identity] The function invoked per iteration.\n * @returns {Object} Returns the new mapped object.\n * @see _.mapValues\n * @example\n *\n * _.mapKeys({ 'a': 1, 'b': 2 }, function(value, key) {\n * return key + value;\n * });\n * // => { 'a1': 1, 'b2': 2 }\n */\nfunction mapKeys(object, iteratee) {\n var result = {};\n iteratee = baseIteratee(iteratee, 3);\n\n baseForOwn(object, function(value, key, object) {\n baseAssignValue(result, iteratee(value, key, object), value);\n });\n return result;\n}\n\nexport default mapKeys;\n","import has from \"lodash-es/has\";\nimport toposort from 'toposort';\nimport { split } from 'property-expr';\nimport Ref from '../Reference';\nimport isSchema from './isSchema';\nexport default function sortFields(fields, excludes) {\n if (excludes === void 0) {\n excludes = [];\n }\n\n var edges = [],\n nodes = [];\n\n function addNode(depPath, key) {\n var node = split(depPath)[0];\n if (!~nodes.indexOf(node)) nodes.push(node);\n if (!~excludes.indexOf(key + \"-\" + node)) edges.push([key, node]);\n }\n\n for (var key in fields) {\n if (has(fields, key)) {\n var value = fields[key];\n if (!~nodes.indexOf(key)) nodes.push(key);\n if (Ref.isRef(value) && value.isSibling) addNode(value.path, key);else if (isSchema(value) && value._deps) value._deps.forEach(function (path) {\n return addNode(path, key);\n });\n }\n }\n\n return toposort.array(nodes, edges).reverse();\n}","function findIndex(arr, err) {\n var idx = Infinity;\n arr.some(function (key, ii) {\n if (err.path.indexOf(key) !== -1) {\n idx = ii;\n return true;\n }\n });\n return idx;\n}\n\nexport default function sortByKeyOrder(fields) {\n var keys = Object.keys(fields);\n return function (a, b) {\n return findIndex(keys, a) - findIndex(keys, b);\n };\n}","export default function makePath(strings) {\n for (var _len = arguments.length, values = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n values[_key - 1] = arguments[_key];\n }\n\n var path = strings.reduce(function (str, next) {\n var value = values.shift();\n return str + (value == null ? '' : value) + next;\n });\n return path.replace(/^\\./, '');\n}","import _taggedTemplateLiteralLoose from \"@babel/runtime/helpers/esm/taggedTemplateLiteralLoose\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\n\nfunction _templateObject3() {\n var data = _taggedTemplateLiteralLoose([\"\", \"[\\\"\", \"\\\"]\"]);\n\n _templateObject3 = function _templateObject3() {\n return data;\n };\n\n return data;\n}\n\nfunction _templateObject2() {\n var data = _taggedTemplateLiteralLoose([\"\", \".\", \"\"]);\n\n _templateObject2 = function _templateObject2() {\n return data;\n };\n\n return data;\n}\n\nfunction _templateObject() {\n var data = _taggedTemplateLiteralLoose([\"\", \".\", \"\"]);\n\n _templateObject = function _templateObject() {\n return data;\n };\n\n return data;\n}\n\nimport has from \"lodash-es/has\";\nimport _snakeCase from \"lodash-es/snakeCase\";\nimport _camelCase from \"lodash-es/camelCase\";\nimport mapKeys from \"lodash-es/mapKeys\";\nimport mapValues from \"lodash-es/mapValues\";\nimport { getter } from 'property-expr';\nimport MixedSchema from './mixed';\nimport { object as locale } from './locale.js';\nimport sortFields from './util/sortFields';\nimport sortByKeyOrder from './util/sortByKeyOrder';\nimport inherits from './util/inherits';\nimport makePath from './util/makePath';\nimport runValidations, { propagateErrors } from './util/runValidations';\nimport { SynchronousPromise } from 'synchronous-promise';\n\nvar isObject = function isObject(obj) {\n return Object.prototype.toString.call(obj) === '[object Object]';\n};\n\nvar promise = function promise(sync) {\n return sync ? SynchronousPromise : Promise;\n};\n\nfunction unknown(ctx, value) {\n var known = Object.keys(ctx.fields);\n return Object.keys(value).filter(function (key) {\n return known.indexOf(key) === -1;\n });\n}\n\nexport default function ObjectSchema(spec) {\n var _this2 = this;\n\n if (!(this instanceof ObjectSchema)) return new ObjectSchema(spec);\n MixedSchema.call(this, {\n type: 'object',\n default: function _default() {\n var _this = this;\n\n if (!this._nodes.length) return undefined;\n var dft = {};\n\n this._nodes.forEach(function (key) {\n dft[key] = _this.fields[key].default ? _this.fields[key].default() : undefined;\n });\n\n return dft;\n }\n });\n this.fields = Object.create(null);\n this._nodes = [];\n this._excludedEdges = [];\n this.withMutation(function () {\n _this2.transform(function coerce(value) {\n if (typeof value === 'string') {\n try {\n value = JSON.parse(value);\n } catch (err) {\n value = null;\n }\n }\n\n if (this.isType(value)) return value;\n return null;\n });\n\n if (spec) {\n _this2.shape(spec);\n }\n });\n}\ninherits(ObjectSchema, MixedSchema, {\n _typeCheck: function _typeCheck(value) {\n return isObject(value) || typeof value === 'function';\n },\n _cast: function _cast(_value, options) {\n var _this3 = this;\n\n if (options === void 0) {\n options = {};\n }\n\n var value = MixedSchema.prototype._cast.call(this, _value, options); //should ignore nulls here\n\n\n if (value === undefined) return this.default();\n if (!this._typeCheck(value)) return value;\n var fields = this.fields;\n var strip = this._option('stripUnknown', options) === true;\n\n var props = this._nodes.concat(Object.keys(value).filter(function (v) {\n return _this3._nodes.indexOf(v) === -1;\n }));\n\n var intermediateValue = {}; // is filled during the transform below\n\n var innerOptions = _extends({}, options, {\n parent: intermediateValue,\n __validating: options.__validating || false\n });\n\n var isChanged = false;\n props.forEach(function (prop) {\n var field = fields[prop];\n var exists = has(value, prop);\n\n if (field) {\n var fieldValue;\n var strict = field._options && field._options.strict; // safe to mutate since this is fired in sequence\n\n innerOptions.path = makePath(_templateObject(), options.path, prop);\n innerOptions.value = value[prop];\n field = field.resolve(innerOptions);\n\n if (field._strip === true) {\n isChanged = isChanged || prop in value;\n return;\n }\n\n fieldValue = !options.__validating || !strict ? field.cast(value[prop], innerOptions) : value[prop];\n if (fieldValue !== undefined) intermediateValue[prop] = fieldValue;\n } else if (exists && !strip) intermediateValue[prop] = value[prop];\n\n if (intermediateValue[prop] !== value[prop]) isChanged = true;\n });\n return isChanged ? intermediateValue : value;\n },\n _validate: function _validate(_value, opts) {\n var _this4 = this;\n\n if (opts === void 0) {\n opts = {};\n }\n\n var endEarly, recursive;\n var sync = opts.sync;\n var errors = [];\n var originalValue = opts.originalValue != null ? opts.originalValue : _value;\n var from = [{\n schema: this,\n value: originalValue\n }].concat(opts.from || []);\n endEarly = this._option('abortEarly', opts);\n recursive = this._option('recursive', opts);\n opts = _extends({}, opts, {\n __validating: true,\n originalValue: originalValue,\n from: from\n });\n return MixedSchema.prototype._validate.call(this, _value, opts).catch(propagateErrors(endEarly, errors)).then(function (value) {\n if (!recursive || !isObject(value)) {\n // only iterate though actual objects\n if (errors.length) throw errors[0];\n return value;\n }\n\n from = originalValue ? [].concat(from) : [{\n schema: _this4,\n value: originalValue || value\n }].concat(opts.from || []);\n originalValue = originalValue || value;\n\n var validations = _this4._nodes.map(function (key) {\n var path = key.indexOf('.') === -1 ? makePath(_templateObject2(), opts.path, key) : makePath(_templateObject3(), opts.path, key);\n var field = _this4.fields[key];\n\n var innerOptions = _extends({}, opts, {\n path: path,\n from: from,\n parent: value,\n originalValue: originalValue[key]\n });\n\n if (field && field.validate) {\n // inner fields are always strict:\n // 1. this isn't strict so the casting will also have cast inner values\n // 2. this is strict in which case the nested values weren't cast either\n innerOptions.strict = true;\n return field.validate(value[key], innerOptions);\n }\n\n return promise(sync).resolve(true);\n });\n\n return runValidations({\n sync: sync,\n validations: validations,\n value: value,\n errors: errors,\n endEarly: endEarly,\n path: opts.path,\n sort: sortByKeyOrder(_this4.fields)\n });\n });\n },\n concat: function concat(schema) {\n var next = MixedSchema.prototype.concat.call(this, schema);\n next._nodes = sortFields(next.fields, next._excludedEdges);\n return next;\n },\n shape: function shape(schema, excludes) {\n if (excludes === void 0) {\n excludes = [];\n }\n\n var next = this.clone();\n\n var fields = _extends(next.fields, schema);\n\n next.fields = fields;\n\n if (excludes.length) {\n if (!Array.isArray(excludes[0])) excludes = [excludes];\n var keys = excludes.map(function (_ref) {\n var first = _ref[0],\n second = _ref[1];\n return first + \"-\" + second;\n });\n next._excludedEdges = next._excludedEdges.concat(keys);\n }\n\n next._nodes = sortFields(fields, next._excludedEdges);\n return next;\n },\n from: function from(_from, to, alias) {\n var fromGetter = getter(_from, true);\n return this.transform(function (obj) {\n if (obj == null) return obj;\n var newObj = obj;\n\n if (has(obj, _from)) {\n newObj = _extends({}, obj);\n if (!alias) delete newObj[_from];\n newObj[to] = fromGetter(obj);\n }\n\n return newObj;\n });\n },\n noUnknown: function noUnknown(noAllow, message) {\n if (noAllow === void 0) {\n noAllow = true;\n }\n\n if (message === void 0) {\n message = locale.noUnknown;\n }\n\n if (typeof noAllow === 'string') {\n message = noAllow;\n noAllow = true;\n }\n\n var next = this.test({\n name: 'noUnknown',\n exclusive: true,\n message: message,\n test: function test(value) {\n if (value == null) return true;\n var unknownKeys = unknown(this.schema, value);\n return !noAllow || unknownKeys.length === 0 || this.createError({\n params: {\n unknown: unknownKeys.join(', ')\n }\n });\n }\n });\n next._options.stripUnknown = noAllow;\n return next;\n },\n unknown: function unknown(allow, message) {\n if (allow === void 0) {\n allow = true;\n }\n\n if (message === void 0) {\n message = locale.noUnknown;\n }\n\n return this.noUnknown(!allow, message);\n },\n transformKeys: function transformKeys(fn) {\n return this.transform(function (obj) {\n return obj && mapKeys(obj, function (_, key) {\n return fn(key);\n });\n });\n },\n camelCase: function camelCase() {\n return this.transformKeys(_camelCase);\n },\n snakeCase: function snakeCase() {\n return this.transformKeys(_snakeCase);\n },\n constantCase: function constantCase() {\n return this.transformKeys(function (key) {\n return _snakeCase(key).toUpperCase();\n });\n },\n describe: function describe() {\n var base = MixedSchema.prototype.describe.call(this);\n base.fields = mapValues(this.fields, function (value) {\n return value.describe();\n });\n return base;\n }\n});","import _taggedTemplateLiteralLoose from \"@babel/runtime/helpers/esm/taggedTemplateLiteralLoose\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\n\nfunction _templateObject2() {\n var data = _taggedTemplateLiteralLoose([\"\", \"[\", \"]\"]);\n\n _templateObject2 = function _templateObject2() {\n return data;\n };\n\n return data;\n}\n\nfunction _templateObject() {\n var data = _taggedTemplateLiteralLoose([\"\", \"[\", \"]\"]);\n\n _templateObject = function _templateObject() {\n return data;\n };\n\n return data;\n}\n\nimport inherits from './util/inherits';\nimport isAbsent from './util/isAbsent';\nimport isSchema from './util/isSchema';\nimport makePath from './util/makePath';\nimport printValue from './util/printValue';\nimport MixedSchema from './mixed';\nimport { array as locale } from './locale';\nimport runValidations, { propagateErrors } from './util/runValidations';\nexport default ArraySchema;\n\nfunction ArraySchema(type) {\n var _this = this;\n\n if (!(this instanceof ArraySchema)) return new ArraySchema(type);\n MixedSchema.call(this, {\n type: 'array'\n }); // `undefined` specifically means uninitialized, as opposed to\n // \"no subtype\"\n\n this._subType = undefined;\n this.innerType = undefined;\n this.withMutation(function () {\n _this.transform(function (values) {\n if (typeof values === 'string') try {\n values = JSON.parse(values);\n } catch (err) {\n values = null;\n }\n return this.isType(values) ? values : null;\n });\n\n if (type) _this.of(type);\n });\n}\n\ninherits(ArraySchema, MixedSchema, {\n _typeCheck: function _typeCheck(v) {\n return Array.isArray(v);\n },\n _cast: function _cast(_value, _opts) {\n var _this2 = this;\n\n var value = MixedSchema.prototype._cast.call(this, _value, _opts); //should ignore nulls here\n\n\n if (!this._typeCheck(value) || !this.innerType) return value;\n var isChanged = false;\n var castArray = value.map(function (v, idx) {\n var castElement = _this2.innerType.cast(v, _extends({}, _opts, {\n path: makePath(_templateObject(), _opts.path, idx)\n }));\n\n if (castElement !== v) {\n isChanged = true;\n }\n\n return castElement;\n });\n return isChanged ? castArray : value;\n },\n _validate: function _validate(_value, options) {\n var _this3 = this;\n\n if (options === void 0) {\n options = {};\n }\n\n var errors = [];\n var sync = options.sync;\n var path = options.path;\n var innerType = this.innerType;\n\n var endEarly = this._option('abortEarly', options);\n\n var recursive = this._option('recursive', options);\n\n var originalValue = options.originalValue != null ? options.originalValue : _value;\n return MixedSchema.prototype._validate.call(this, _value, options).catch(propagateErrors(endEarly, errors)).then(function (value) {\n if (!recursive || !innerType || !_this3._typeCheck(value)) {\n if (errors.length) throw errors[0];\n return value;\n }\n\n originalValue = originalValue || value; // #950 Ensure that sparse array empty slots are validated\n\n var validations = new Array(value.length);\n\n for (var idx = 0; idx < value.length; idx++) {\n var item = value[idx];\n\n var _path = makePath(_templateObject2(), options.path, idx); // object._validate note for isStrict explanation\n\n\n var innerOptions = _extends({}, options, {\n path: _path,\n strict: true,\n parent: value,\n index: idx,\n originalValue: originalValue[idx]\n });\n\n validations[idx] = innerType.validate ? innerType.validate(item, innerOptions) : true;\n }\n\n return runValidations({\n sync: sync,\n path: path,\n value: value,\n errors: errors,\n endEarly: endEarly,\n validations: validations\n });\n });\n },\n _isPresent: function _isPresent(value) {\n return MixedSchema.prototype._isPresent.call(this, value) && value.length > 0;\n },\n of: function of(schema) {\n var next = this.clone();\n if (schema !== false && !isSchema(schema)) throw new TypeError('`array.of()` sub-schema must be a valid yup schema, or `false` to negate a current sub-schema. ' + 'not: ' + printValue(schema));\n next._subType = schema;\n next.innerType = schema;\n return next;\n },\n min: function min(_min, message) {\n message = message || locale.min;\n return this.test({\n message: message,\n name: 'min',\n exclusive: true,\n params: {\n min: _min\n },\n test: function test(value) {\n return isAbsent(value) || value.length >= this.resolve(_min);\n }\n });\n },\n max: function max(_max, message) {\n message = message || locale.max;\n return this.test({\n message: message,\n name: 'max',\n exclusive: true,\n params: {\n max: _max\n },\n test: function test(value) {\n return isAbsent(value) || value.length <= this.resolve(_max);\n }\n });\n },\n ensure: function ensure() {\n var _this4 = this;\n\n return this.default(function () {\n return [];\n }).transform(function (val, original) {\n // We don't want to return `null` for nullable schema\n if (_this4._typeCheck(val)) return val;\n return original == null ? [] : [].concat(original);\n });\n },\n compact: function compact(rejector) {\n var reject = !rejector ? function (v) {\n return !!v;\n } : function (v, i, a) {\n return !rejector(v, i, a);\n };\n return this.transform(function (values) {\n return values != null ? values.filter(reject) : values;\n });\n },\n describe: function describe() {\n var base = MixedSchema.prototype.describe.call(this);\n if (this.innerType) base.innerType = this.innerType.describe();\n return base;\n }\n});","import isSchema from './util/isSchema';\n\nvar Lazy = /*#__PURE__*/function () {\n function Lazy(mapFn) {\n this._resolve = function (value, options) {\n var schema = mapFn(value, options);\n if (!isSchema(schema)) throw new TypeError('lazy() functions must return a valid schema');\n return schema.resolve(options);\n };\n }\n\n var _proto = Lazy.prototype;\n\n _proto.resolve = function resolve(options) {\n return this._resolve(options.value, options);\n };\n\n _proto.cast = function cast(value, options) {\n return this._resolve(value, options).cast(value, options);\n };\n\n _proto.validate = function validate(value, options) {\n return this._resolve(value, options).validate(value, options);\n };\n\n _proto.validateSync = function validateSync(value, options) {\n return this._resolve(value, options).validateSync(value, options);\n };\n\n _proto.validateAt = function validateAt(path, value, options) {\n return this._resolve(value, options).validateAt(path, value, options);\n };\n\n _proto.validateSyncAt = function validateSyncAt(path, value, options) {\n return this._resolve(value, options).validateSyncAt(path, value, options);\n };\n\n return Lazy;\n}();\n\nLazy.prototype.__isYupSchema__ = true;\nexport default Lazy;","import mixed from './mixed';\nimport bool from './boolean';\nimport string from './string';\nimport number from './number';\nimport date from './date';\nimport object from './object';\nimport array from './array';\nimport Ref from './Reference';\nimport Lazy from './Lazy';\nimport ValidationError from './ValidationError';\nimport reach from './util/reach';\nimport isSchema from './util/isSchema';\nimport setLocale from './setLocale';\nvar boolean = bool;\n\nvar ref = function ref(key, options) {\n return new Ref(key, options);\n};\n\nvar lazy = function lazy(fn) {\n return new Lazy(fn);\n};\n\nfunction addMethod(schemaType, name, fn) {\n if (!schemaType || !isSchema(schemaType.prototype)) throw new TypeError('You must provide a yup schema constructor function');\n if (typeof name !== 'string') throw new TypeError('A Method name must be provided');\n if (typeof fn !== 'function') throw new TypeError('Method function must be provided');\n schemaType.prototype[name] = fn;\n}\n\nexport { mixed, string, number, bool, boolean, date, object, array, ref, lazy, reach, isSchema, addMethod, setLocale, ValidationError };","function _defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n}\n\nexport default function _createClass(Constructor, protoProps, staticProps) {\n if (protoProps) _defineProperties(Constructor.prototype, protoProps);\n if (staticProps) _defineProperties(Constructor, staticProps);\n return Constructor;\n}","import overArg from './_overArg.js';\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeKeys = overArg(Object.keys, Object);\n\nexport default nativeKeys;\n","import isPrototype from './_isPrototype.js';\nimport nativeKeys from './_nativeKeys.js';\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * The base implementation of `_.keys` which doesn't treat sparse arrays as dense.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n */\nfunction baseKeys(object) {\n if (!isPrototype(object)) {\n return nativeKeys(object);\n }\n var result = [];\n for (var key in Object(object)) {\n if (hasOwnProperty.call(object, key) && key != 'constructor') {\n result.push(key);\n }\n }\n return result;\n}\n\nexport default baseKeys;\n","import arrayLikeKeys from './_arrayLikeKeys.js';\nimport baseKeys from './_baseKeys.js';\nimport isArrayLike from './isArrayLike.js';\n\n/**\n * Creates an array of the own enumerable property names of `object`.\n *\n * **Note:** Non-object values are coerced to objects. See the\n * [ES spec](http://ecma-international.org/ecma-262/7.0/#sec-object.keys)\n * for more details.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Object\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * this.b = 2;\n * }\n *\n * Foo.prototype.c = 3;\n *\n * _.keys(new Foo);\n * // => ['a', 'b'] (iteration order is not guaranteed)\n *\n * _.keys('hi');\n * // => ['0', '1']\n */\nfunction keys(object) {\n return isArrayLike(object) ? arrayLikeKeys(object) : baseKeys(object);\n}\n\nexport default keys;\n","import createNamedContext from \"./createNameContext\";\n\nconst historyContext = /*#__PURE__*/ createNamedContext(\"Router-History\");\nexport default historyContext;\n","// TODO: Replace with React.createContext once we can assume React 16+\nimport createContext from \"mini-create-react-context\";\n\nconst createNamedContext = name => {\n const context = createContext();\n context.displayName = name;\n\n return context;\n};\n\nexport default createNamedContext;\n","// TODO: Replace with React.createContext once we can assume React 16+\nimport createContext from \"mini-create-react-context\";\n\nconst createNamedContext = name => {\n const context = createContext();\n context.displayName = name;\n\n return context;\n};\n\nconst context = /*#__PURE__*/ createNamedContext(\"Router\");\nexport default context;\n","import React from \"react\";\nimport PropTypes from \"prop-types\";\nimport warning from \"tiny-warning\";\n\nimport HistoryContext from \"./HistoryContext.js\";\nimport RouterContext from \"./RouterContext.js\";\n\n/**\n * The public API for putting history on context.\n */\nclass Router extends React.Component {\n static computeRootMatch(pathname) {\n return { path: \"/\", url: \"/\", params: {}, isExact: pathname === \"/\" };\n }\n\n constructor(props) {\n super(props);\n\n this.state = {\n location: props.history.location\n };\n\n // This is a bit of a hack. We have to start listening for location\n // changes here in the constructor in case there are any <Redirect>s\n // on the initial render. If there are, they will replace/push when\n // they mount and since cDM fires in children before parents, we may\n // get a new location before the <Router> is mounted.\n this._isMounted = false;\n this._pendingLocation = null;\n\n if (!props.staticContext) {\n this.unlisten = props.history.listen(location => {\n if (this._isMounted) {\n this.setState({ location });\n } else {\n this._pendingLocation = location;\n }\n });\n }\n }\n\n componentDidMount() {\n this._isMounted = true;\n\n if (this._pendingLocation) {\n this.setState({ location: this._pendingLocation });\n }\n }\n\n componentWillUnmount() {\n if (this.unlisten) this.unlisten();\n }\n\n render() {\n return (\n <RouterContext.Provider\n value={{\n history: this.props.history,\n location: this.state.location,\n match: Router.computeRootMatch(this.state.location.pathname),\n staticContext: this.props.staticContext\n }}\n >\n <HistoryContext.Provider\n children={this.props.children || null}\n value={this.props.history}\n />\n </RouterContext.Provider>\n );\n }\n}\n\nif (__DEV__) {\n Router.propTypes = {\n children: PropTypes.node,\n history: PropTypes.object.isRequired,\n staticContext: PropTypes.object\n };\n\n Router.prototype.componentDidUpdate = function(prevProps) {\n warning(\n prevProps.history === this.props.history,\n \"You cannot change <Router history>\"\n );\n };\n}\n\nexport default Router;\n","import React from \"react\";\nimport PropTypes from \"prop-types\";\nimport { createMemoryHistory as createHistory } from \"history\";\nimport warning from \"tiny-warning\";\n\nimport Router from \"./Router.js\";\n\n/**\n * The public API for a <Router> that stores location in memory.\n */\nclass MemoryRouter extends React.Component {\n history = createHistory(this.props);\n\n render() {\n return <Router history={this.history} children={this.props.children} />;\n }\n}\n\nif (__DEV__) {\n MemoryRouter.propTypes = {\n initialEntries: PropTypes.array,\n initialIndex: PropTypes.number,\n getUserConfirmation: PropTypes.func,\n keyLength: PropTypes.number,\n children: PropTypes.node\n };\n\n MemoryRouter.prototype.componentDidMount = function() {\n warning(\n !this.props.history,\n \"<MemoryRouter> ignores the history prop. To use a custom history, \" +\n \"use `import { Router }` instead of `import { MemoryRouter as Router }`.\"\n );\n };\n}\n\nexport default MemoryRouter;\n","import React from \"react\";\n\nclass Lifecycle extends React.Component {\n componentDidMount() {\n if (this.props.onMount) this.props.onMount.call(this, this);\n }\n\n componentDidUpdate(prevProps) {\n if (this.props.onUpdate) this.props.onUpdate.call(this, this, prevProps);\n }\n\n componentWillUnmount() {\n if (this.props.onUnmount) this.props.onUnmount.call(this, this);\n }\n\n render() {\n return null;\n }\n}\n\nexport default Lifecycle;\n","import pathToRegexp from \"path-to-regexp\";\n\nconst cache = {};\nconst cacheLimit = 10000;\nlet cacheCount = 0;\n\nfunction compilePath(path, options) {\n const cacheKey = `${options.end}${options.strict}${options.sensitive}`;\n const pathCache = cache[cacheKey] || (cache[cacheKey] = {});\n\n if (pathCache[path]) return pathCache[path];\n\n const keys = [];\n const regexp = pathToRegexp(path, keys, options);\n const result = { regexp, keys };\n\n if (cacheCount < cacheLimit) {\n pathCache[path] = result;\n cacheCount++;\n }\n\n return result;\n}\n\n/**\n * Public API for matching a URL pathname to a path.\n */\nfunction matchPath(pathname, options = {}) {\n if (typeof options === \"string\" || Array.isArray(options)) {\n options = { path: options };\n }\n\n const { path, exact = false, strict = false, sensitive = false } = options;\n\n const paths = [].concat(path);\n\n return paths.reduce((matched, path) => {\n if (!path && path !== \"\") return null;\n if (matched) return matched;\n\n const { regexp, keys } = compilePath(path, {\n end: exact,\n strict,\n sensitive\n });\n const match = regexp.exec(pathname);\n\n if (!match) return null;\n\n const [url, ...values] = match;\n const isExact = pathname === url;\n\n if (exact && !isExact) return null;\n\n return {\n path, // the path used to match\n url: path === \"/\" && url === \"\" ? \"/\" : url, // the matched portion of the URL\n isExact, // whether or not we matched exactly\n params: keys.reduce((memo, key, index) => {\n memo[key.name] = values[index];\n return memo;\n }, {})\n };\n }, null);\n}\n\nexport default matchPath;\n","import React from \"react\";\nimport { isValidElementType } from \"react-is\";\nimport PropTypes from \"prop-types\";\nimport invariant from \"tiny-invariant\";\nimport warning from \"tiny-warning\";\n\nimport RouterContext from \"./RouterContext.js\";\nimport matchPath from \"./matchPath.js\";\n\nfunction isEmptyChildren(children) {\n return React.Children.count(children) === 0;\n}\n\nfunction evalChildrenDev(children, props, path) {\n const value = children(props);\n\n warning(\n value !== undefined,\n \"You returned `undefined` from the `children` function of \" +\n `<Route${path ? ` path=\"${path}\"` : \"\"}>, but you ` +\n \"should have returned a React element or `null`\"\n );\n\n return value || null;\n}\n\n/**\n * The public API for matching a single path and rendering.\n */\nclass Route extends React.Component {\n render() {\n return (\n <RouterContext.Consumer>\n {context => {\n invariant(context, \"You should not use <Route> outside a <Router>\");\n\n const location = this.props.location || context.location;\n const match = this.props.computedMatch\n ? this.props.computedMatch // <Switch> already computed the match for us\n : this.props.path\n ? matchPath(location.pathname, this.props)\n : context.match;\n\n const props = { ...context, location, match };\n\n let { children, component, render } = this.props;\n\n // Preact uses an empty array as children by\n // default, so use null if that's the case.\n if (Array.isArray(children) && children.length === 0) {\n children = null;\n }\n\n return (\n <RouterContext.Provider value={props}>\n {props.match\n ? children\n ? typeof children === \"function\"\n ? __DEV__\n ? evalChildrenDev(children, props, this.props.path)\n : children(props)\n : children\n : component\n ? React.createElement(component, props)\n : render\n ? render(props)\n : null\n : typeof children === \"function\"\n ? __DEV__\n ? evalChildrenDev(children, props, this.props.path)\n : children(props)\n : null}\n </RouterContext.Provider>\n );\n }}\n </RouterContext.Consumer>\n );\n }\n}\n\nif (__DEV__) {\n Route.propTypes = {\n children: PropTypes.oneOfType([PropTypes.func, PropTypes.node]),\n component: (props, propName) => {\n if (props[propName] && !isValidElementType(props[propName])) {\n return new Error(\n `Invalid prop 'component' supplied to 'Route': the prop is not a valid React component`\n );\n }\n },\n exact: PropTypes.bool,\n location: PropTypes.object,\n path: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.arrayOf(PropTypes.string)\n ]),\n render: PropTypes.func,\n sensitive: PropTypes.bool,\n strict: PropTypes.bool\n };\n\n Route.prototype.componentDidMount = function() {\n warning(\n !(\n this.props.children &&\n !isEmptyChildren(this.props.children) &&\n this.props.component\n ),\n \"You should not use <Route component> and <Route children> in the same route; <Route component> will be ignored\"\n );\n\n warning(\n !(\n this.props.children &&\n !isEmptyChildren(this.props.children) &&\n this.props.render\n ),\n \"You should not use <Route render> and <Route children> in the same route; <Route render> will be ignored\"\n );\n\n warning(\n !(this.props.component && this.props.render),\n \"You should not use <Route component> and <Route render> in the same route; <Route render> will be ignored\"\n );\n };\n\n Route.prototype.componentDidUpdate = function(prevProps) {\n warning(\n !(this.props.location && !prevProps.location),\n '<Route> elements should not change from uncontrolled to controlled (or vice versa). You initially used no \"location\" prop and then provided one on a subsequent render.'\n );\n\n warning(\n !(!this.props.location && prevProps.location),\n '<Route> elements should not change from controlled to uncontrolled (or vice versa). You provided a \"location\" prop initially but omitted it on a subsequent render.'\n );\n };\n}\n\nexport default Route;\n","import React from \"react\";\nimport PropTypes from \"prop-types\";\nimport { createLocation, createPath } from \"history\";\nimport invariant from \"tiny-invariant\";\nimport warning from \"tiny-warning\";\n\nimport Router from \"./Router.js\";\n\nfunction addLeadingSlash(path) {\n return path.charAt(0) === \"/\" ? path : \"/\" + path;\n}\n\nfunction addBasename(basename, location) {\n if (!basename) return location;\n\n return {\n ...location,\n pathname: addLeadingSlash(basename) + location.pathname\n };\n}\n\nfunction stripBasename(basename, location) {\n if (!basename) return location;\n\n const base = addLeadingSlash(basename);\n\n if (location.pathname.indexOf(base) !== 0) return location;\n\n return {\n ...location,\n pathname: location.pathname.substr(base.length)\n };\n}\n\nfunction createURL(location) {\n return typeof location === \"string\" ? location : createPath(location);\n}\n\nfunction staticHandler(methodName) {\n return () => {\n invariant(false, \"You cannot %s with <StaticRouter>\", methodName);\n };\n}\n\nfunction noop() {}\n\n/**\n * The public top-level API for a \"static\" <Router>, so-called because it\n * can't actually change the current location. Instead, it just records\n * location changes in a context object. Useful mainly in testing and\n * server-rendering scenarios.\n */\nclass StaticRouter extends React.Component {\n navigateTo(location, action) {\n const { basename = \"\", context = {} } = this.props;\n context.action = action;\n context.location = addBasename(basename, createLocation(location));\n context.url = createURL(context.location);\n }\n\n handlePush = location => this.navigateTo(location, \"PUSH\");\n handleReplace = location => this.navigateTo(location, \"REPLACE\");\n handleListen = () => noop;\n handleBlock = () => noop;\n\n render() {\n const { basename = \"\", context = {}, location = \"/\", ...rest } = this.props;\n\n const history = {\n createHref: path => addLeadingSlash(basename + createURL(path)),\n action: \"POP\",\n location: stripBasename(basename, createLocation(location)),\n push: this.handlePush,\n replace: this.handleReplace,\n go: staticHandler(\"go\"),\n goBack: staticHandler(\"goBack\"),\n goForward: staticHandler(\"goForward\"),\n listen: this.handleListen,\n block: this.handleBlock\n };\n\n return <Router {...rest} history={history} staticContext={context} />;\n }\n}\n\nif (__DEV__) {\n StaticRouter.propTypes = {\n basename: PropTypes.string,\n context: PropTypes.object,\n location: PropTypes.oneOfType([PropTypes.string, PropTypes.object])\n };\n\n StaticRouter.prototype.componentDidMount = function() {\n warning(\n !this.props.history,\n \"<StaticRouter> ignores the history prop. To use a custom history, \" +\n \"use `import { Router }` instead of `import { StaticRouter as Router }`.\"\n );\n };\n}\n\nexport default StaticRouter;\n","import React from \"react\";\nimport PropTypes from \"prop-types\";\nimport invariant from \"tiny-invariant\";\nimport warning from \"tiny-warning\";\n\nimport RouterContext from \"./RouterContext.js\";\nimport matchPath from \"./matchPath.js\";\n\n/**\n * The public API for rendering the first <Route> that matches.\n */\nclass Switch extends React.Component {\n render() {\n return (\n <RouterContext.Consumer>\n {context => {\n invariant(context, \"You should not use <Switch> outside a <Router>\");\n\n const location = this.props.location || context.location;\n\n let element, match;\n\n // We use React.Children.forEach instead of React.Children.toArray().find()\n // here because toArray adds keys to all child elements and we do not want\n // to trigger an unmount/remount for two <Route>s that render the same\n // component at different URLs.\n React.Children.forEach(this.props.children, child => {\n if (match == null && React.isValidElement(child)) {\n element = child;\n\n const path = child.props.path || child.props.from;\n\n match = path\n ? matchPath(location.pathname, { ...child.props, path })\n : context.match;\n }\n });\n\n return match\n ? React.cloneElement(element, { location, computedMatch: match })\n : null;\n }}\n </RouterContext.Consumer>\n );\n }\n}\n\nif (__DEV__) {\n Switch.propTypes = {\n children: PropTypes.node,\n location: PropTypes.object\n };\n\n Switch.prototype.componentDidUpdate = function(prevProps) {\n warning(\n !(this.props.location && !prevProps.location),\n '<Switch> elements should not change from uncontrolled to controlled (or vice versa). You initially used no \"location\" prop and then provided one on a subsequent render.'\n );\n\n warning(\n !(!this.props.location && prevProps.location),\n '<Switch> elements should not change from controlled to uncontrolled (or vice versa). You provided a \"location\" prop initially but omitted it on a subsequent render.'\n );\n };\n}\n\nexport default Switch;\n","import React from \"react\";\nimport PropTypes from \"prop-types\";\nimport hoistStatics from \"hoist-non-react-statics\";\nimport invariant from \"tiny-invariant\";\n\nimport RouterContext from \"./RouterContext.js\";\n\n/**\n * A public higher-order component to access the imperative API\n */\nfunction withRouter(Component) {\n const displayName = `withRouter(${Component.displayName || Component.name})`;\n const C = props => {\n const { wrappedComponentRef, ...remainingProps } = props;\n\n return (\n <RouterContext.Consumer>\n {context => {\n invariant(\n context,\n `You should not use <${displayName} /> outside a <Router>`\n );\n return (\n <Component\n {...remainingProps}\n {...context}\n ref={wrappedComponentRef}\n />\n );\n }}\n </RouterContext.Consumer>\n );\n };\n\n C.displayName = displayName;\n C.WrappedComponent = Component;\n\n if (__DEV__) {\n C.propTypes = {\n wrappedComponentRef: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.func,\n PropTypes.object\n ])\n };\n }\n\n return hoistStatics(C, Component);\n}\n\nexport default withRouter;\n","import React from \"react\";\nimport invariant from \"tiny-invariant\";\n\nimport Context from \"./RouterContext.js\";\nimport HistoryContext from \"./HistoryContext.js\";\nimport matchPath from \"./matchPath.js\";\n\nconst useContext = React.useContext;\n\nexport function useHistory() {\n if (__DEV__) {\n invariant(\n typeof useContext === \"function\",\n \"You must use React >= 16.8 in order to use useHistory()\"\n );\n }\n\n return useContext(HistoryContext);\n}\n\nexport function useLocation() {\n if (__DEV__) {\n invariant(\n typeof useContext === \"function\",\n \"You must use React >= 16.8 in order to use useLocation()\"\n );\n }\n\n return useContext(Context).location;\n}\n\nexport function useParams() {\n if (__DEV__) {\n invariant(\n typeof useContext === \"function\",\n \"You must use React >= 16.8 in order to use useParams()\"\n );\n }\n\n const match = useContext(Context).match;\n return match ? match.params : {};\n}\n\nexport function useRouteMatch(path) {\n if (__DEV__) {\n invariant(\n typeof useContext === \"function\",\n \"You must use React >= 16.8 in order to use useRouteMatch()\"\n );\n }\n\n const location = useLocation();\n const match = useContext(Context).match;\n\n return path ? matchPath(location.pathname, path) : match;\n}\n","import freeGlobal from './_freeGlobal.js';\n\n/** Detect free variable `self`. */\nvar freeSelf = typeof self == 'object' && self && self.Object === Object && self;\n\n/** Used as a reference to the global object. */\nvar root = freeGlobal || freeSelf || Function('return this')();\n\nexport default root;\n","export default function _objectWithoutPropertiesLoose(source, excluded) {\n if (source == null) return {};\n var target = {};\n var sourceKeys = Object.keys(source);\n var key, i;\n\n for (i = 0; i < sourceKeys.length; i++) {\n key = sourceKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n target[key] = source[key];\n }\n\n return target;\n}","import Symbol from './_Symbol.js';\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar nativeObjectToString = objectProto.toString;\n\n/** Built-in value references. */\nvar symToStringTag = Symbol ? Symbol.toStringTag : undefined;\n\n/**\n * A specialized version of `baseGetTag` which ignores `Symbol.toStringTag` values.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the raw `toStringTag`.\n */\nfunction getRawTag(value) {\n var isOwn = hasOwnProperty.call(value, symToStringTag),\n tag = value[symToStringTag];\n\n try {\n value[symToStringTag] = undefined;\n var unmasked = true;\n } catch (e) {}\n\n var result = nativeObjectToString.call(value);\n if (unmasked) {\n if (isOwn) {\n value[symToStringTag] = tag;\n } else {\n delete value[symToStringTag];\n }\n }\n return result;\n}\n\nexport default getRawTag;\n","/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar nativeObjectToString = objectProto.toString;\n\n/**\n * Converts `value` to a string using `Object.prototype.toString`.\n *\n * @private\n * @param {*} value The value to convert.\n * @returns {string} Returns the converted string.\n */\nfunction objectToString(value) {\n return nativeObjectToString.call(value);\n}\n\nexport default objectToString;\n","import Symbol from './_Symbol.js';\nimport getRawTag from './_getRawTag.js';\nimport objectToString from './_objectToString.js';\n\n/** `Object#toString` result references. */\nvar nullTag = '[object Null]',\n undefinedTag = '[object Undefined]';\n\n/** Built-in value references. */\nvar symToStringTag = Symbol ? Symbol.toStringTag : undefined;\n\n/**\n * The base implementation of `getTag` without fallbacks for buggy environments.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the `toStringTag`.\n */\nfunction baseGetTag(value) {\n if (value == null) {\n return value === undefined ? undefinedTag : nullTag;\n }\n return (symToStringTag && symToStringTag in Object(value))\n ? getRawTag(value)\n : objectToString(value);\n}\n\nexport default baseGetTag;\n","import root from './_root.js';\n\n/** Built-in value references. */\nvar Symbol = root.Symbol;\n\nexport default Symbol;\n","/**\n * Checks if `value` is the\n * [language type](http://www.ecma-international.org/ecma-262/7.0/#sec-ecmascript-language-types)\n * of `Object`. (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`)\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an object, else `false`.\n * @example\n *\n * _.isObject({});\n * // => true\n *\n * _.isObject([1, 2, 3]);\n * // => true\n *\n * _.isObject(_.noop);\n * // => true\n *\n * _.isObject(null);\n * // => false\n */\nfunction isObject(value) {\n var type = typeof value;\n return value != null && (type == 'object' || type == 'function');\n}\n\nexport default isObject;\n","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nObject.defineProperty(exports, \"RecurlyProvider\", {\n enumerable: true,\n get: function get() {\n return _provider[\"default\"];\n }\n});\nObject.defineProperty(exports, \"useRecurly\", {\n enumerable: true,\n get: function get() {\n return _useRecurly[\"default\"];\n }\n});\nObject.defineProperty(exports, \"Elements\", {\n enumerable: true,\n get: function get() {\n return _elements[\"default\"];\n }\n});\nObject.defineProperty(exports, \"CardElement\", {\n enumerable: true,\n get: function get() {\n return _card[\"default\"];\n }\n});\nObject.defineProperty(exports, \"CardNumberElement\", {\n enumerable: true,\n get: function get() {\n return _cardNumber[\"default\"];\n }\n});\nObject.defineProperty(exports, \"CardMonthElement\", {\n enumerable: true,\n get: function get() {\n return _cardMonth[\"default\"];\n }\n});\nObject.defineProperty(exports, \"CardYearElement\", {\n enumerable: true,\n get: function get() {\n return _cardYear[\"default\"];\n }\n});\nObject.defineProperty(exports, \"CardCvvElement\", {\n enumerable: true,\n get: function get() {\n return _cardCvv[\"default\"];\n }\n});\nObject.defineProperty(exports, \"RiskDataCollector\", {\n enumerable: true,\n get: function get() {\n return _riskDataCollector[\"default\"];\n }\n});\nObject.defineProperty(exports, \"ThreeDSecureAction\", {\n enumerable: true,\n get: function get() {\n return _threeDSecureAction[\"default\"];\n }\n});\nObject.defineProperty(exports, \"useCheckoutPricing\", {\n enumerable: true,\n get: function get() {\n return _useCheckoutPricing[\"default\"];\n }\n});\n\nvar _provider = _interopRequireDefault(require(\"./provider\"));\n\nvar _useRecurly = _interopRequireDefault(require(\"./use-recurly\"));\n\nvar _elements = _interopRequireDefault(require(\"./elements\"));\n\nvar _card = _interopRequireDefault(require(\"./element/card\"));\n\nvar _cardNumber = _interopRequireDefault(require(\"./element/card-number\"));\n\nvar _cardMonth = _interopRequireDefault(require(\"./element/card-month\"));\n\nvar _cardYear = _interopRequireDefault(require(\"./element/card-year\"));\n\nvar _cardCvv = _interopRequireDefault(require(\"./element/card-cvv\"));\n\nvar _riskDataCollector = _interopRequireDefault(require(\"./risk-data-collector\"));\n\nvar _threeDSecureAction = _interopRequireDefault(require(\"./three-d-secure-action\"));\n\nvar _useCheckoutPricing = _interopRequireDefault(require(\"./use-checkout-pricing\"));\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }","import isFunction from './isFunction.js';\nimport isLength from './isLength.js';\n\n/**\n * Checks if `value` is array-like. A value is considered array-like if it's\n * not a function and has a `value.length` that's an integer greater than or\n * equal to `0` and less than or equal to `Number.MAX_SAFE_INTEGER`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is array-like, else `false`.\n * @example\n *\n * _.isArrayLike([1, 2, 3]);\n * // => true\n *\n * _.isArrayLike(document.body.children);\n * // => true\n *\n * _.isArrayLike('abc');\n * // => true\n *\n * _.isArrayLike(_.noop);\n * // => false\n */\nfunction isArrayLike(value) {\n return value != null && isLength(value.length) && !isFunction(value);\n}\n\nexport default isArrayLike;\n","import SetCache from './_SetCache.js';\nimport arraySome from './_arraySome.js';\nimport cacheHas from './_cacheHas.js';\n\n/** Used to compose bitmasks for value comparisons. */\nvar COMPARE_PARTIAL_FLAG = 1,\n COMPARE_UNORDERED_FLAG = 2;\n\n/**\n * A specialized version of `baseIsEqualDeep` for arrays with support for\n * partial deep comparisons.\n *\n * @private\n * @param {Array} array The array to compare.\n * @param {Array} other The other array to compare.\n * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details.\n * @param {Function} customizer The function to customize comparisons.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Object} stack Tracks traversed `array` and `other` objects.\n * @returns {boolean} Returns `true` if the arrays are equivalent, else `false`.\n */\nfunction equalArrays(array, other, bitmask, customizer, equalFunc, stack) {\n var isPartial = bitmask & COMPARE_PARTIAL_FLAG,\n arrLength = array.length,\n othLength = other.length;\n\n if (arrLength != othLength && !(isPartial && othLength > arrLength)) {\n return false;\n }\n // Check that cyclic values are equal.\n var arrStacked = stack.get(array);\n var othStacked = stack.get(other);\n if (arrStacked && othStacked) {\n return arrStacked == other && othStacked == array;\n }\n var index = -1,\n result = true,\n seen = (bitmask & COMPARE_UNORDERED_FLAG) ? new SetCache : undefined;\n\n stack.set(array, other);\n stack.set(other, array);\n\n // Ignore non-index properties.\n while (++index < arrLength) {\n var arrValue = array[index],\n othValue = other[index];\n\n if (customizer) {\n var compared = isPartial\n ? customizer(othValue, arrValue, index, other, array, stack)\n : customizer(arrValue, othValue, index, array, other, stack);\n }\n if (compared !== undefined) {\n if (compared) {\n continue;\n }\n result = false;\n break;\n }\n // Recursively compare arrays (susceptible to call stack limits).\n if (seen) {\n if (!arraySome(other, function(othValue, othIndex) {\n if (!cacheHas(seen, othIndex) &&\n (arrValue === othValue || equalFunc(arrValue, othValue, bitmask, customizer, stack))) {\n return seen.push(othIndex);\n }\n })) {\n result = false;\n break;\n }\n } else if (!(\n arrValue === othValue ||\n equalFunc(arrValue, othValue, bitmask, customizer, stack)\n )) {\n result = false;\n break;\n }\n }\n stack['delete'](array);\n stack['delete'](other);\n return result;\n}\n\nexport default equalArrays;\n","import Symbol from './_Symbol.js';\nimport Uint8Array from './_Uint8Array.js';\nimport eq from './eq.js';\nimport equalArrays from './_equalArrays.js';\nimport mapToArray from './_mapToArray.js';\nimport setToArray from './_setToArray.js';\n\n/** Used to compose bitmasks for value comparisons. */\nvar COMPARE_PARTIAL_FLAG = 1,\n COMPARE_UNORDERED_FLAG = 2;\n\n/** `Object#toString` result references. */\nvar boolTag = '[object Boolean]',\n dateTag = '[object Date]',\n errorTag = '[object Error]',\n mapTag = '[object Map]',\n numberTag = '[object Number]',\n regexpTag = '[object RegExp]',\n setTag = '[object Set]',\n stringTag = '[object String]',\n symbolTag = '[object Symbol]';\n\nvar arrayBufferTag = '[object ArrayBuffer]',\n dataViewTag = '[object DataView]';\n\n/** Used to convert symbols to primitives and strings. */\nvar symbolProto = Symbol ? Symbol.prototype : undefined,\n symbolValueOf = symbolProto ? symbolProto.valueOf : undefined;\n\n/**\n * A specialized version of `baseIsEqualDeep` for comparing objects of\n * the same `toStringTag`.\n *\n * **Note:** This function only supports comparing values with tags of\n * `Boolean`, `Date`, `Error`, `Number`, `RegExp`, or `String`.\n *\n * @private\n * @param {Object} object The object to compare.\n * @param {Object} other The other object to compare.\n * @param {string} tag The `toStringTag` of the objects to compare.\n * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details.\n * @param {Function} customizer The function to customize comparisons.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Object} stack Tracks traversed `object` and `other` objects.\n * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.\n */\nfunction equalByTag(object, other, tag, bitmask, customizer, equalFunc, stack) {\n switch (tag) {\n case dataViewTag:\n if ((object.byteLength != other.byteLength) ||\n (object.byteOffset != other.byteOffset)) {\n return false;\n }\n object = object.buffer;\n other = other.buffer;\n\n case arrayBufferTag:\n if ((object.byteLength != other.byteLength) ||\n !equalFunc(new Uint8Array(object), new Uint8Array(other))) {\n return false;\n }\n return true;\n\n case boolTag:\n case dateTag:\n case numberTag:\n // Coerce booleans to `1` or `0` and dates to milliseconds.\n // Invalid dates are coerced to `NaN`.\n return eq(+object, +other);\n\n case errorTag:\n return object.name == other.name && object.message == other.message;\n\n case regexpTag:\n case stringTag:\n // Coerce regexes to strings and treat strings, primitives and objects,\n // as equal. See http://www.ecma-international.org/ecma-262/7.0/#sec-regexp.prototype.tostring\n // for more details.\n return object == (other + '');\n\n case mapTag:\n var convert = mapToArray;\n\n case setTag:\n var isPartial = bitmask & COMPARE_PARTIAL_FLAG;\n convert || (convert = setToArray);\n\n if (object.size != other.size && !isPartial) {\n return false;\n }\n // Assume cyclic values are equal.\n var stacked = stack.get(object);\n if (stacked) {\n return stacked == other;\n }\n bitmask |= COMPARE_UNORDERED_FLAG;\n\n // Recursively compare objects (susceptible to call stack limits).\n stack.set(object, other);\n var result = equalArrays(convert(object), convert(other), bitmask, customizer, equalFunc, stack);\n stack['delete'](object);\n return result;\n\n case symbolTag:\n if (symbolValueOf) {\n return symbolValueOf.call(object) == symbolValueOf.call(other);\n }\n }\n return false;\n}\n\nexport default equalByTag;\n","import getAllKeys from './_getAllKeys.js';\n\n/** Used to compose bitmasks for value comparisons. */\nvar COMPARE_PARTIAL_FLAG = 1;\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * A specialized version of `baseIsEqualDeep` for objects with support for\n * partial deep comparisons.\n *\n * @private\n * @param {Object} object The object to compare.\n * @param {Object} other The other object to compare.\n * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details.\n * @param {Function} customizer The function to customize comparisons.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Object} stack Tracks traversed `object` and `other` objects.\n * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.\n */\nfunction equalObjects(object, other, bitmask, customizer, equalFunc, stack) {\n var isPartial = bitmask & COMPARE_PARTIAL_FLAG,\n objProps = getAllKeys(object),\n objLength = objProps.length,\n othProps = getAllKeys(other),\n othLength = othProps.length;\n\n if (objLength != othLength && !isPartial) {\n return false;\n }\n var index = objLength;\n while (index--) {\n var key = objProps[index];\n if (!(isPartial ? key in other : hasOwnProperty.call(other, key))) {\n return false;\n }\n }\n // Check that cyclic values are equal.\n var objStacked = stack.get(object);\n var othStacked = stack.get(other);\n if (objStacked && othStacked) {\n return objStacked == other && othStacked == object;\n }\n var result = true;\n stack.set(object, other);\n stack.set(other, object);\n\n var skipCtor = isPartial;\n while (++index < objLength) {\n key = objProps[index];\n var objValue = object[key],\n othValue = other[key];\n\n if (customizer) {\n var compared = isPartial\n ? customizer(othValue, objValue, key, other, object, stack)\n : customizer(objValue, othValue, key, object, other, stack);\n }\n // Recursively compare objects (susceptible to call stack limits).\n if (!(compared === undefined\n ? (objValue === othValue || equalFunc(objValue, othValue, bitmask, customizer, stack))\n : compared\n )) {\n result = false;\n break;\n }\n skipCtor || (skipCtor = key == 'constructor');\n }\n if (result && !skipCtor) {\n var objCtor = object.constructor,\n othCtor = other.constructor;\n\n // Non `Object` object instances with different constructors are not equal.\n if (objCtor != othCtor &&\n ('constructor' in object && 'constructor' in other) &&\n !(typeof objCtor == 'function' && objCtor instanceof objCtor &&\n typeof othCtor == 'function' && othCtor instanceof othCtor)) {\n result = false;\n }\n }\n stack['delete'](object);\n stack['delete'](other);\n return result;\n}\n\nexport default equalObjects;\n","import Stack from './_Stack.js';\nimport equalArrays from './_equalArrays.js';\nimport equalByTag from './_equalByTag.js';\nimport equalObjects from './_equalObjects.js';\nimport getTag from './_getTag.js';\nimport isArray from './isArray.js';\nimport isBuffer from './isBuffer.js';\nimport isTypedArray from './isTypedArray.js';\n\n/** Used to compose bitmasks for value comparisons. */\nvar COMPARE_PARTIAL_FLAG = 1;\n\n/** `Object#toString` result references. */\nvar argsTag = '[object Arguments]',\n arrayTag = '[object Array]',\n objectTag = '[object Object]';\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * A specialized version of `baseIsEqual` for arrays and objects which performs\n * deep comparisons and tracks traversed objects enabling objects with circular\n * references to be compared.\n *\n * @private\n * @param {Object} object The object to compare.\n * @param {Object} other The other object to compare.\n * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details.\n * @param {Function} customizer The function to customize comparisons.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Object} [stack] Tracks traversed `object` and `other` objects.\n * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.\n */\nfunction baseIsEqualDeep(object, other, bitmask, customizer, equalFunc, stack) {\n var objIsArr = isArray(object),\n othIsArr = isArray(other),\n objTag = objIsArr ? arrayTag : getTag(object),\n othTag = othIsArr ? arrayTag : getTag(other);\n\n objTag = objTag == argsTag ? objectTag : objTag;\n othTag = othTag == argsTag ? objectTag : othTag;\n\n var objIsObj = objTag == objectTag,\n othIsObj = othTag == objectTag,\n isSameTag = objTag == othTag;\n\n if (isSameTag && isBuffer(object)) {\n if (!isBuffer(other)) {\n return false;\n }\n objIsArr = true;\n objIsObj = false;\n }\n if (isSameTag && !objIsObj) {\n stack || (stack = new Stack);\n return (objIsArr || isTypedArray(object))\n ? equalArrays(object, other, bitmask, customizer, equalFunc, stack)\n : equalByTag(object, other, objTag, bitmask, customizer, equalFunc, stack);\n }\n if (!(bitmask & COMPARE_PARTIAL_FLAG)) {\n var objIsWrapped = objIsObj && hasOwnProperty.call(object, '__wrapped__'),\n othIsWrapped = othIsObj && hasOwnProperty.call(other, '__wrapped__');\n\n if (objIsWrapped || othIsWrapped) {\n var objUnwrapped = objIsWrapped ? object.value() : object,\n othUnwrapped = othIsWrapped ? other.value() : other;\n\n stack || (stack = new Stack);\n return equalFunc(objUnwrapped, othUnwrapped, bitmask, customizer, stack);\n }\n }\n if (!isSameTag) {\n return false;\n }\n stack || (stack = new Stack);\n return equalObjects(object, other, bitmask, customizer, equalFunc, stack);\n}\n\nexport default baseIsEqualDeep;\n","import baseIsEqualDeep from './_baseIsEqualDeep.js';\nimport isObjectLike from './isObjectLike.js';\n\n/**\n * The base implementation of `_.isEqual` which supports partial comparisons\n * and tracks traversed objects.\n *\n * @private\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @param {boolean} bitmask The bitmask flags.\n * 1 - Unordered comparison\n * 2 - Partial comparison\n * @param {Function} [customizer] The function to customize comparisons.\n * @param {Object} [stack] Tracks traversed `value` and `other` objects.\n * @returns {boolean} Returns `true` if the values are equivalent, else `false`.\n */\nfunction baseIsEqual(value, other, bitmask, customizer, stack) {\n if (value === other) {\n return true;\n }\n if (value == null || other == null || (!isObjectLike(value) && !isObjectLike(other))) {\n return value !== value && other !== other;\n }\n return baseIsEqualDeep(value, other, bitmask, customizer, baseIsEqual, stack);\n}\n\nexport default baseIsEqual;\n","import Stack from './_Stack.js';\nimport baseIsEqual from './_baseIsEqual.js';\n\n/** Used to compose bitmasks for value comparisons. */\nvar COMPARE_PARTIAL_FLAG = 1,\n COMPARE_UNORDERED_FLAG = 2;\n\n/**\n * The base implementation of `_.isMatch` without support for iteratee shorthands.\n *\n * @private\n * @param {Object} object The object to inspect.\n * @param {Object} source The object of property values to match.\n * @param {Array} matchData The property names, values, and compare flags to match.\n * @param {Function} [customizer] The function to customize comparisons.\n * @returns {boolean} Returns `true` if `object` is a match, else `false`.\n */\nfunction baseIsMatch(object, source, matchData, customizer) {\n var index = matchData.length,\n length = index,\n noCustomizer = !customizer;\n\n if (object == null) {\n return !length;\n }\n object = Object(object);\n while (index--) {\n var data = matchData[index];\n if ((noCustomizer && data[2])\n ? data[1] !== object[data[0]]\n : !(data[0] in object)\n ) {\n return false;\n }\n }\n while (++index < length) {\n data = matchData[index];\n var key = data[0],\n objValue = object[key],\n srcValue = data[1];\n\n if (noCustomizer && data[2]) {\n if (objValue === undefined && !(key in object)) {\n return false;\n }\n } else {\n var stack = new Stack;\n if (customizer) {\n var result = customizer(objValue, srcValue, key, object, source, stack);\n }\n if (!(result === undefined\n ? baseIsEqual(srcValue, objValue, COMPARE_PARTIAL_FLAG | COMPARE_UNORDERED_FLAG, customizer, stack)\n : result\n )) {\n return false;\n }\n }\n }\n return true;\n}\n\nexport default baseIsMatch;\n","import isObject from './isObject.js';\n\n/**\n * Checks if `value` is suitable for strict equality comparisons, i.e. `===`.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` if suitable for strict\n * equality comparisons, else `false`.\n */\nfunction isStrictComparable(value) {\n return value === value && !isObject(value);\n}\n\nexport default isStrictComparable;\n","import isStrictComparable from './_isStrictComparable.js';\nimport keys from './keys.js';\n\n/**\n * Gets the property names, values, and compare flags of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the match data of `object`.\n */\nfunction getMatchData(object) {\n var result = keys(object),\n length = result.length;\n\n while (length--) {\n var key = result[length],\n value = object[key];\n\n result[length] = [key, value, isStrictComparable(value)];\n }\n return result;\n}\n\nexport default getMatchData;\n","/**\n * A specialized version of `matchesProperty` for source values suitable\n * for strict equality comparisons, i.e. `===`.\n *\n * @private\n * @param {string} key The key of the property to get.\n * @param {*} srcValue The value to match.\n * @returns {Function} Returns the new spec function.\n */\nfunction matchesStrictComparable(key, srcValue) {\n return function(object) {\n if (object == null) {\n return false;\n }\n return object[key] === srcValue &&\n (srcValue !== undefined || (key in Object(object)));\n };\n}\n\nexport default matchesStrictComparable;\n","import baseIsMatch from './_baseIsMatch.js';\nimport getMatchData from './_getMatchData.js';\nimport matchesStrictComparable from './_matchesStrictComparable.js';\n\n/**\n * The base implementation of `_.matches` which doesn't clone `source`.\n *\n * @private\n * @param {Object} source The object of property values to match.\n * @returns {Function} Returns the new spec function.\n */\nfunction baseMatches(source) {\n var matchData = getMatchData(source);\n if (matchData.length == 1 && matchData[0][2]) {\n return matchesStrictComparable(matchData[0][0], matchData[0][1]);\n }\n return function(object) {\n return object === source || baseIsMatch(object, source, matchData);\n };\n}\n\nexport default baseMatches;\n","/**\n * The base implementation of `_.hasIn` without support for deep paths.\n *\n * @private\n * @param {Object} [object] The object to query.\n * @param {Array|string} key The key to check.\n * @returns {boolean} Returns `true` if `key` exists, else `false`.\n */\nfunction baseHasIn(object, key) {\n return object != null && key in Object(object);\n}\n\nexport default baseHasIn;\n","import baseHasIn from './_baseHasIn.js';\nimport hasPath from './_hasPath.js';\n\n/**\n * Checks if `path` is a direct or inherited property of `object`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Object\n * @param {Object} object The object to query.\n * @param {Array|string} path The path to check.\n * @returns {boolean} Returns `true` if `path` exists, else `false`.\n * @example\n *\n * var object = _.create({ 'a': _.create({ 'b': 2 }) });\n *\n * _.hasIn(object, 'a');\n * // => true\n *\n * _.hasIn(object, 'a.b');\n * // => true\n *\n * _.hasIn(object, ['a', 'b']);\n * // => true\n *\n * _.hasIn(object, 'b');\n * // => false\n */\nfunction hasIn(object, path) {\n return object != null && hasPath(object, path, baseHasIn);\n}\n\nexport default hasIn;\n","import baseIsEqual from './_baseIsEqual.js';\nimport get from './get.js';\nimport hasIn from './hasIn.js';\nimport isKey from './_isKey.js';\nimport isStrictComparable from './_isStrictComparable.js';\nimport matchesStrictComparable from './_matchesStrictComparable.js';\nimport toKey from './_toKey.js';\n\n/** Used to compose bitmasks for value comparisons. */\nvar COMPARE_PARTIAL_FLAG = 1,\n COMPARE_UNORDERED_FLAG = 2;\n\n/**\n * The base implementation of `_.matchesProperty` which doesn't clone `srcValue`.\n *\n * @private\n * @param {string} path The path of the property to get.\n * @param {*} srcValue The value to match.\n * @returns {Function} Returns the new spec function.\n */\nfunction baseMatchesProperty(path, srcValue) {\n if (isKey(path) && isStrictComparable(srcValue)) {\n return matchesStrictComparable(toKey(path), srcValue);\n }\n return function(object) {\n var objValue = get(object, path);\n return (objValue === undefined && objValue === srcValue)\n ? hasIn(object, path)\n : baseIsEqual(srcValue, objValue, COMPARE_PARTIAL_FLAG | COMPARE_UNORDERED_FLAG);\n };\n}\n\nexport default baseMatchesProperty;\n","/**\n * The base implementation of `_.property` without support for deep paths.\n *\n * @private\n * @param {string} key The key of the property to get.\n * @returns {Function} Returns the new accessor function.\n */\nfunction baseProperty(key) {\n return function(object) {\n return object == null ? undefined : object[key];\n };\n}\n\nexport default baseProperty;\n","import baseGet from './_baseGet.js';\n\n/**\n * A specialized version of `baseProperty` which supports deep paths.\n *\n * @private\n * @param {Array|string} path The path of the property to get.\n * @returns {Function} Returns the new accessor function.\n */\nfunction basePropertyDeep(path) {\n return function(object) {\n return baseGet(object, path);\n };\n}\n\nexport default basePropertyDeep;\n","import baseProperty from './_baseProperty.js';\nimport basePropertyDeep from './_basePropertyDeep.js';\nimport isKey from './_isKey.js';\nimport toKey from './_toKey.js';\n\n/**\n * Creates a function that returns the value at `path` of a given object.\n *\n * @static\n * @memberOf _\n * @since 2.4.0\n * @category Util\n * @param {Array|string} path The path of the property to get.\n * @returns {Function} Returns the new accessor function.\n * @example\n *\n * var objects = [\n * { 'a': { 'b': 2 } },\n * { 'a': { 'b': 1 } }\n * ];\n *\n * _.map(objects, _.property('a.b'));\n * // => [2, 1]\n *\n * _.map(_.sortBy(objects, _.property(['a', 'b'])), 'a.b');\n * // => [1, 2]\n */\nfunction property(path) {\n return isKey(path) ? baseProperty(toKey(path)) : basePropertyDeep(path);\n}\n\nexport default property;\n","import baseMatches from './_baseMatches.js';\nimport baseMatchesProperty from './_baseMatchesProperty.js';\nimport identity from './identity.js';\nimport isArray from './isArray.js';\nimport property from './property.js';\n\n/**\n * The base implementation of `_.iteratee`.\n *\n * @private\n * @param {*} [value=_.identity] The value to convert to an iteratee.\n * @returns {Function} Returns the iteratee.\n */\nfunction baseIteratee(value) {\n // Don't store the `typeof` result in a variable to avoid a JIT bug in Safari 9.\n // See https://bugs.webkit.org/show_bug.cgi?id=156034 for more details.\n if (typeof value == 'function') {\n return value;\n }\n if (value == null) {\n return identity;\n }\n if (typeof value == 'object') {\n return isArray(value)\n ? baseMatchesProperty(value[0], value[1])\n : baseMatches(value);\n }\n return property(value);\n}\n\nexport default baseIteratee;\n","import root from './_root.js';\n\n/** Used to detect overreaching core-js shims. */\nvar coreJsData = root['__core-js_shared__'];\n\nexport default coreJsData;\n","import coreJsData from './_coreJsData.js';\n\n/** Used to detect methods masquerading as native. */\nvar maskSrcKey = (function() {\n var uid = /[^.]+$/.exec(coreJsData && coreJsData.keys && coreJsData.keys.IE_PROTO || '');\n return uid ? ('Symbol(src)_1.' + uid) : '';\n}());\n\n/**\n * Checks if `func` has its source masked.\n *\n * @private\n * @param {Function} func The function to check.\n * @returns {boolean} Returns `true` if `func` is masked, else `false`.\n */\nfunction isMasked(func) {\n return !!maskSrcKey && (maskSrcKey in func);\n}\n\nexport default isMasked;\n","import isFunction from './isFunction.js';\nimport isMasked from './_isMasked.js';\nimport isObject from './isObject.js';\nimport toSource from './_toSource.js';\n\n/**\n * Used to match `RegExp`\n * [syntax characters](http://ecma-international.org/ecma-262/7.0/#sec-patterns).\n */\nvar reRegExpChar = /[\\\\^$.*+?()[\\]{}|]/g;\n\n/** Used to detect host constructors (Safari). */\nvar reIsHostCtor = /^\\[object .+?Constructor\\]$/;\n\n/** Used for built-in method references. */\nvar funcProto = Function.prototype,\n objectProto = Object.prototype;\n\n/** Used to resolve the decompiled source of functions. */\nvar funcToString = funcProto.toString;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/** Used to detect if a method is native. */\nvar reIsNative = RegExp('^' +\n funcToString.call(hasOwnProperty).replace(reRegExpChar, '\\\\$&')\n .replace(/hasOwnProperty|(function).*?(?=\\\\\\()| for .+?(?=\\\\\\])/g, '$1.*?') + '$'\n);\n\n/**\n * The base implementation of `_.isNative` without bad shim checks.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a native function,\n * else `false`.\n */\nfunction baseIsNative(value) {\n if (!isObject(value) || isMasked(value)) {\n return false;\n }\n var pattern = isFunction(value) ? reIsNative : reIsHostCtor;\n return pattern.test(toSource(value));\n}\n\nexport default baseIsNative;\n","/**\n * Gets the value at `key` of `object`.\n *\n * @private\n * @param {Object} [object] The object to query.\n * @param {string} key The key of the property to get.\n * @returns {*} Returns the property value.\n */\nfunction getValue(object, key) {\n return object == null ? undefined : object[key];\n}\n\nexport default getValue;\n","import baseIsNative from './_baseIsNative.js';\nimport getValue from './_getValue.js';\n\n/**\n * Gets the native function at `key` of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {string} key The key of the method to get.\n * @returns {*} Returns the function if it's native, else `undefined`.\n */\nfunction getNative(object, key) {\n var value = getValue(object, key);\n return baseIsNative(value) ? value : undefined;\n}\n\nexport default getNative;\n","function isAbsolute(pathname) {\n return pathname.charAt(0) === '/';\n}\n\n// About 1.5x faster than the two-arg version of Array#splice()\nfunction spliceOne(list, index) {\n for (var i = index, k = i + 1, n = list.length; k < n; i += 1, k += 1) {\n list[i] = list[k];\n }\n\n list.pop();\n}\n\n// This implementation is based heavily on node's url.parse\nfunction resolvePathname(to, from) {\n if (from === undefined) from = '';\n\n var toParts = (to && to.split('/')) || [];\n var fromParts = (from && from.split('/')) || [];\n\n var isToAbs = to && isAbsolute(to);\n var isFromAbs = from && isAbsolute(from);\n var mustEndAbs = isToAbs || isFromAbs;\n\n if (to && isAbsolute(to)) {\n // to is absolute\n fromParts = toParts;\n } else if (toParts.length) {\n // to is relative, drop the filename\n fromParts.pop();\n fromParts = fromParts.concat(toParts);\n }\n\n if (!fromParts.length) return '/';\n\n var hasTrailingSlash;\n if (fromParts.length) {\n var last = fromParts[fromParts.length - 1];\n hasTrailingSlash = last === '.' || last === '..' || last === '';\n } else {\n hasTrailingSlash = false;\n }\n\n var up = 0;\n for (var i = fromParts.length; i >= 0; i--) {\n var part = fromParts[i];\n\n if (part === '.') {\n spliceOne(fromParts, i);\n } else if (part === '..') {\n spliceOne(fromParts, i);\n up++;\n } else if (up) {\n spliceOne(fromParts, i);\n up--;\n }\n }\n\n if (!mustEndAbs) for (; up--; up) fromParts.unshift('..');\n\n if (\n mustEndAbs &&\n fromParts[0] !== '' &&\n (!fromParts[0] || !isAbsolute(fromParts[0]))\n )\n fromParts.unshift('');\n\n var result = fromParts.join('/');\n\n if (hasTrailingSlash && result.substr(-1) !== '/') result += '/';\n\n return result;\n}\n\nexport default resolvePathname;\n","function valueOf(obj) {\n return obj.valueOf ? obj.valueOf() : Object.prototype.valueOf.call(obj);\n}\n\nfunction valueEqual(a, b) {\n // Test for strict equality first.\n if (a === b) return true;\n\n // Otherwise, if either of them == null they are not equal.\n if (a == null || b == null) return false;\n\n if (Array.isArray(a)) {\n return (\n Array.isArray(b) &&\n a.length === b.length &&\n a.every(function(item, index) {\n return valueEqual(item, b[index]);\n })\n );\n }\n\n if (typeof a === 'object' || typeof b === 'object') {\n var aValue = valueOf(a);\n var bValue = valueOf(b);\n\n if (aValue !== a || bValue !== b) return valueEqual(aValue, bValue);\n\n return Object.keys(Object.assign({}, a, b)).every(function(key) {\n return valueEqual(a[key], b[key]);\n });\n }\n\n return false;\n}\n\nexport default valueEqual;\n","import _extends from '@babel/runtime/helpers/esm/extends';\nimport resolvePathname from 'resolve-pathname';\nimport valueEqual from 'value-equal';\nimport warning from 'tiny-warning';\nimport invariant from 'tiny-invariant';\n\nfunction addLeadingSlash(path) {\n return path.charAt(0) === '/' ? path : '/' + path;\n}\nfunction stripLeadingSlash(path) {\n return path.charAt(0) === '/' ? path.substr(1) : path;\n}\nfunction hasBasename(path, prefix) {\n return path.toLowerCase().indexOf(prefix.toLowerCase()) === 0 && '/?#'.indexOf(path.charAt(prefix.length)) !== -1;\n}\nfunction stripBasename(path, prefix) {\n return hasBasename(path, prefix) ? path.substr(prefix.length) : path;\n}\nfunction stripTrailingSlash(path) {\n return path.charAt(path.length - 1) === '/' ? path.slice(0, -1) : path;\n}\nfunction parsePath(path) {\n var pathname = path || '/';\n var search = '';\n var hash = '';\n var hashIndex = pathname.indexOf('#');\n\n if (hashIndex !== -1) {\n hash = pathname.substr(hashIndex);\n pathname = pathname.substr(0, hashIndex);\n }\n\n var searchIndex = pathname.indexOf('?');\n\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}\nfunction createPath(location) {\n var pathname = location.pathname,\n search = location.search,\n hash = location.hash;\n var path = pathname || '/';\n if (search && search !== '?') path += search.charAt(0) === '?' ? search : \"?\" + search;\n if (hash && hash !== '#') path += hash.charAt(0) === '#' ? hash : \"#\" + hash;\n return path;\n}\n\nfunction createLocation(path, state, key, currentLocation) {\n var location;\n\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 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}\nfunction 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}\n\nfunction createTransitionManager() {\n var prompt = null;\n\n function setPrompt(nextPrompt) {\n process.env.NODE_ENV !== \"production\" ? warning(prompt == null, 'A history supports only one prompt at a time') : void 0;\n prompt = nextPrompt;\n return function () {\n if (prompt === nextPrompt) prompt = null;\n };\n }\n\n 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 process.env.NODE_ENV !== \"production\" ? warning(false, 'A history needs a getUserConfirmation function in order to use a prompt message') : void 0;\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 function appendListener(fn) {\n var isActive = true;\n\n function listener() {\n if (isActive) fn.apply(void 0, arguments);\n }\n\n listeners.push(listener);\n return function () {\n isActive = false;\n listeners = listeners.filter(function (item) {\n return item !== listener;\n });\n };\n }\n\n function notifyListeners() {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n listeners.forEach(function (listener) {\n return listener.apply(void 0, args);\n });\n }\n\n return {\n setPrompt: setPrompt,\n confirmTransitionTo: confirmTransitionTo,\n appendListener: appendListener,\n notifyListeners: notifyListeners\n };\n}\n\nvar canUseDOM = !!(typeof window !== 'undefined' && window.document && window.document.createElement);\nfunction getConfirmation(message, callback) {\n callback(window.confirm(message)); // 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 */\n\nfunction supportsHistory() {\n var ua = window.navigator.userAgent;\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 return window.history && 'pushState' in window.history;\n}\n/**\n * Returns true if browser fires popstate on hash change.\n * IE10 and IE11 do not.\n */\n\nfunction supportsPopStateOnHashChange() {\n return window.navigator.userAgent.indexOf('Trident') === -1;\n}\n/**\n * Returns false if using go(n) with hash history causes a full page reload.\n */\n\nfunction supportsGoWithoutReloadUsingHash() {\n return window.navigator.userAgent.indexOf('Firefox') === -1;\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 */\n\nfunction isExtraneousPopstateEvent(event) {\n return event.state === undefined && navigator.userAgent.indexOf('CriOS') === -1;\n}\n\nvar PopStateEvent = 'popstate';\nvar HashChangeEvent = 'hashchange';\n\nfunction 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 * Creates a history object that uses the HTML5 history API including\n * pushState, replaceState, and the popstate event.\n */\n\n\nfunction createBrowserHistory(props) {\n if (props === void 0) {\n props = {};\n }\n\n !canUseDOM ? process.env.NODE_ENV !== \"production\" ? invariant(false, 'Browser history needs a DOM') : invariant(false) : void 0;\n var globalHistory = window.history;\n var canUseHistory = supportsHistory();\n var needsHashChangeListener = !supportsPopStateOnHashChange();\n var _props = props,\n _props$forceRefresh = _props.forceRefresh,\n forceRefresh = _props$forceRefresh === void 0 ? false : _props$forceRefresh,\n _props$getUserConfirm = _props.getUserConfirmation,\n getUserConfirmation = _props$getUserConfirm === void 0 ? getConfirmation : _props$getUserConfirm,\n _props$keyLength = _props.keyLength,\n keyLength = _props$keyLength === void 0 ? 6 : _props$keyLength;\n var basename = props.basename ? stripTrailingSlash(addLeadingSlash(props.basename)) : '';\n\n 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 var path = pathname + search + hash;\n process.env.NODE_ENV !== \"production\" ? 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 + '\".') : void 0;\n if (basename) path = stripBasename(path, basename);\n return createLocation(path, state, key);\n }\n\n function createKey() {\n return Math.random().toString(36).substr(2, keyLength);\n }\n\n var transitionManager = createTransitionManager();\n\n function setState(nextState) {\n _extends(history, nextState);\n\n history.length = globalHistory.length;\n transitionManager.notifyListeners(history.location, history.action);\n }\n\n function handlePopState(event) {\n // Ignore extraneous popstate events in WebKit.\n if (isExtraneousPopstateEvent(event)) return;\n handlePop(getDOMLocation(event.state));\n }\n\n function handleHashChange() {\n handlePop(getDOMLocation(getHistoryState()));\n }\n\n var forceNextPop = false;\n\n function handlePop(location) {\n if (forceNextPop) {\n forceNextPop = false;\n setState();\n } else {\n var action = 'POP';\n transitionManager.confirmTransitionTo(location, action, getUserConfirmation, function (ok) {\n if (ok) {\n setState({\n action: action,\n location: location\n });\n } else {\n revertPop(location);\n }\n });\n }\n }\n\n function revertPop(fromLocation) {\n var toLocation = history.location; // 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 if (toIndex === -1) toIndex = 0;\n var fromIndex = allKeys.indexOf(fromLocation.key);\n if (fromIndex === -1) fromIndex = 0;\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]; // Public interface\n\n function createHref(location) {\n return basename + createPath(location);\n }\n\n function push(path, state) {\n process.env.NODE_ENV !== \"production\" ? warning(!(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') : void 0;\n var action = 'PUSH';\n var location = createLocation(path, state, createKey(), history.location);\n transitionManager.confirmTransitionTo(location, action, getUserConfirmation, function (ok) {\n if (!ok) return;\n var href = createHref(location);\n var key = location.key,\n state = location.state;\n\n if (canUseHistory) {\n globalHistory.pushState({\n key: key,\n state: state\n }, 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);\n nextKeys.push(location.key);\n allKeys = nextKeys;\n setState({\n action: action,\n location: location\n });\n }\n } else {\n process.env.NODE_ENV !== \"production\" ? warning(state === undefined, 'Browser history cannot push state in browsers that do not support HTML5 history') : void 0;\n window.location.href = href;\n }\n });\n }\n\n function replace(path, state) {\n process.env.NODE_ENV !== \"production\" ? warning(!(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') : void 0;\n var action = 'REPLACE';\n var location = createLocation(path, state, createKey(), history.location);\n transitionManager.confirmTransitionTo(location, action, getUserConfirmation, function (ok) {\n if (!ok) return;\n var href = createHref(location);\n var key = location.key,\n state = location.state;\n\n if (canUseHistory) {\n globalHistory.replaceState({\n key: key,\n state: state\n }, null, href);\n\n if (forceRefresh) {\n window.location.replace(href);\n } else {\n var prevIndex = allKeys.indexOf(history.location.key);\n if (prevIndex !== -1) allKeys[prevIndex] = location.key;\n setState({\n action: action,\n location: location\n });\n }\n } else {\n process.env.NODE_ENV !== \"production\" ? warning(state === undefined, 'Browser history cannot replace state in browsers that do not support HTML5 history') : void 0;\n window.location.replace(href);\n }\n });\n }\n\n function go(n) {\n globalHistory.go(n);\n }\n\n function goBack() {\n go(-1);\n }\n\n function goForward() {\n go(1);\n }\n\n var listenerCount = 0;\n\n function checkDOMListeners(delta) {\n listenerCount += delta;\n\n if (listenerCount === 1 && delta === 1) {\n window.addEventListener(PopStateEvent, handlePopState);\n if (needsHashChangeListener) window.addEventListener(HashChangeEvent, handleHashChange);\n } else if (listenerCount === 0) {\n window.removeEventListener(PopStateEvent, handlePopState);\n if (needsHashChangeListener) window.removeEventListener(HashChangeEvent, handleHashChange);\n }\n }\n\n var isBlocked = false;\n\n function block(prompt) {\n if (prompt === void 0) {\n prompt = false;\n }\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 function listen(listener) {\n var unlisten = transitionManager.appendListener(listener);\n checkDOMListeners(1);\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 return history;\n}\n\nvar HashChangeEvent$1 = 'hashchange';\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\nfunction stripHash(url) {\n var hashIndex = url.indexOf('#');\n return hashIndex === -1 ? url : url.slice(0, hashIndex);\n}\n\nfunction 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\nfunction pushHashPath(path) {\n window.location.hash = path;\n}\n\nfunction replaceHashPath(path) {\n window.location.replace(stripHash(window.location.href) + '#' + path);\n}\n\nfunction createHashHistory(props) {\n if (props === void 0) {\n props = {};\n }\n\n !canUseDOM ? process.env.NODE_ENV !== \"production\" ? invariant(false, 'Hash history needs a DOM') : invariant(false) : void 0;\n var globalHistory = window.history;\n var canGoWithoutReload = supportsGoWithoutReloadUsingHash();\n var _props = props,\n _props$getUserConfirm = _props.getUserConfirmation,\n getUserConfirmation = _props$getUserConfirm === void 0 ? getConfirmation : _props$getUserConfirm,\n _props$hashType = _props.hashType,\n hashType = _props$hashType === void 0 ? 'slash' : _props$hashType;\n var basename = props.basename ? stripTrailingSlash(addLeadingSlash(props.basename)) : '';\n var _HashPathCoders$hashT = HashPathCoders[hashType],\n encodePath = _HashPathCoders$hashT.encodePath,\n decodePath = _HashPathCoders$hashT.decodePath;\n\n function getDOMLocation() {\n var path = decodePath(getHashPath());\n process.env.NODE_ENV !== \"production\" ? 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 + '\".') : void 0;\n if (basename) path = stripBasename(path, basename);\n return createLocation(path);\n }\n\n var transitionManager = createTransitionManager();\n\n function setState(nextState) {\n _extends(history, nextState);\n\n history.length = globalHistory.length;\n transitionManager.notifyListeners(history.location, history.action);\n }\n\n var forceNextPop = false;\n var ignorePath = null;\n\n function locationsAreEqual$$1(a, b) {\n return a.pathname === b.pathname && a.search === b.search && a.hash === b.hash;\n }\n\n 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 if (!forceNextPop && locationsAreEqual$$1(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 handlePop(location);\n }\n }\n\n function handlePop(location) {\n if (forceNextPop) {\n forceNextPop = false;\n setState();\n } else {\n var action = 'POP';\n transitionManager.confirmTransitionTo(location, action, getUserConfirmation, function (ok) {\n if (ok) {\n setState({\n action: action,\n location: location\n });\n } else {\n revertPop(location);\n }\n });\n }\n }\n\n function revertPop(fromLocation) {\n var toLocation = history.location; // 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 if (toIndex === -1) toIndex = 0;\n var fromIndex = allPaths.lastIndexOf(createPath(fromLocation));\n if (fromIndex === -1) fromIndex = 0;\n var delta = toIndex - fromIndex;\n\n if (delta) {\n forceNextPop = true;\n go(delta);\n }\n } // Ensure the hash is encoded properly before doing anything else.\n\n\n var path = getHashPath();\n var encodedPath = encodePath(path);\n if (path !== encodedPath) replaceHashPath(encodedPath);\n var initialLocation = getDOMLocation();\n var allPaths = [createPath(initialLocation)]; // Public interface\n\n function createHref(location) {\n var baseTag = document.querySelector('base');\n var href = '';\n\n if (baseTag && baseTag.getAttribute('href')) {\n href = stripHash(window.location.href);\n }\n\n return href + '#' + encodePath(basename + createPath(location));\n }\n\n function push(path, state) {\n process.env.NODE_ENV !== \"production\" ? warning(state === undefined, 'Hash history cannot push state; it is ignored') : void 0;\n var action = 'PUSH';\n var location = createLocation(path, undefined, undefined, history.location);\n transitionManager.confirmTransitionTo(location, action, getUserConfirmation, function (ok) {\n if (!ok) return;\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 var prevIndex = allPaths.lastIndexOf(createPath(history.location));\n var nextPaths = allPaths.slice(0, prevIndex + 1);\n nextPaths.push(path);\n allPaths = nextPaths;\n setState({\n action: action,\n location: location\n });\n } else {\n process.env.NODE_ENV !== \"production\" ? warning(false, 'Hash history cannot PUSH the same path; a new entry will not be added to the history stack') : void 0;\n setState();\n }\n });\n }\n\n function replace(path, state) {\n process.env.NODE_ENV !== \"production\" ? warning(state === undefined, 'Hash history cannot replace state; it is ignored') : void 0;\n var action = 'REPLACE';\n var location = createLocation(path, undefined, undefined, history.location);\n transitionManager.confirmTransitionTo(location, action, getUserConfirmation, function (ok) {\n if (!ok) return;\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 if (prevIndex !== -1) allPaths[prevIndex] = path;\n setState({\n action: action,\n location: location\n });\n });\n }\n\n function go(n) {\n process.env.NODE_ENV !== \"production\" ? warning(canGoWithoutReload, 'Hash history go(n) causes a full page reload in this browser') : void 0;\n globalHistory.go(n);\n }\n\n function goBack() {\n go(-1);\n }\n\n function goForward() {\n go(1);\n }\n\n var listenerCount = 0;\n\n function checkDOMListeners(delta) {\n listenerCount += delta;\n\n if (listenerCount === 1 && delta === 1) {\n window.addEventListener(HashChangeEvent$1, handleHashChange);\n } else if (listenerCount === 0) {\n window.removeEventListener(HashChangeEvent$1, handleHashChange);\n }\n }\n\n var isBlocked = false;\n\n function block(prompt) {\n if (prompt === void 0) {\n prompt = false;\n }\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 function listen(listener) {\n var unlisten = transitionManager.appendListener(listener);\n checkDOMListeners(1);\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 return history;\n}\n\nfunction clamp(n, lowerBound, upperBound) {\n return Math.min(Math.max(n, lowerBound), upperBound);\n}\n/**\n * Creates a history object that stores locations in memory.\n */\n\n\nfunction createMemoryHistory(props) {\n if (props === void 0) {\n props = {};\n }\n\n var _props = props,\n getUserConfirmation = _props.getUserConfirmation,\n _props$initialEntries = _props.initialEntries,\n initialEntries = _props$initialEntries === void 0 ? ['/'] : _props$initialEntries,\n _props$initialIndex = _props.initialIndex,\n initialIndex = _props$initialIndex === void 0 ? 0 : _props$initialIndex,\n _props$keyLength = _props.keyLength,\n keyLength = _props$keyLength === void 0 ? 6 : _props$keyLength;\n var transitionManager = createTransitionManager();\n\n function setState(nextState) {\n _extends(history, nextState);\n\n history.length = history.entries.length;\n transitionManager.notifyListeners(history.location, history.action);\n }\n\n 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 }); // Public interface\n\n var createHref = createPath;\n\n function push(path, state) {\n process.env.NODE_ENV !== \"production\" ? warning(!(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') : void 0;\n var action = 'PUSH';\n var location = createLocation(path, state, createKey(), history.location);\n transitionManager.confirmTransitionTo(location, action, getUserConfirmation, function (ok) {\n if (!ok) return;\n var prevIndex = history.index;\n var nextIndex = prevIndex + 1;\n var nextEntries = history.entries.slice(0);\n\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 function replace(path, state) {\n process.env.NODE_ENV !== \"production\" ? warning(!(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') : void 0;\n var action = 'REPLACE';\n var location = createLocation(path, state, createKey(), history.location);\n transitionManager.confirmTransitionTo(location, action, getUserConfirmation, function (ok) {\n if (!ok) return;\n history.entries[history.index] = location;\n setState({\n action: action,\n location: location\n });\n });\n }\n\n function go(n) {\n var nextIndex = clamp(history.index + n, 0, history.entries.length - 1);\n var action = 'POP';\n var location = history.entries[nextIndex];\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 function goBack() {\n go(-1);\n }\n\n function goForward() {\n go(1);\n }\n\n function canGo(n) {\n var nextIndex = history.index + n;\n return nextIndex >= 0 && nextIndex < history.entries.length;\n }\n\n function block(prompt) {\n if (prompt === void 0) {\n prompt = false;\n }\n\n return transitionManager.setPrompt(prompt);\n }\n\n 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 return history;\n}\n\nexport { createBrowserHistory, createHashHistory, createMemoryHistory, createLocation, locationsAreEqual, parsePath, createPath };\n","var isProduction = process.env.NODE_ENV === 'production';\nfunction warning(condition, message) {\n if (!isProduction) {\n if (condition) {\n return;\n }\n\n var text = \"Warning: \" + message;\n\n if (typeof console !== 'undefined') {\n console.warn(text);\n }\n\n try {\n throw Error(text);\n } catch (x) {}\n }\n}\n\nexport default warning;\n","var isProduction = process.env.NODE_ENV === 'production';\nvar prefix = 'Invariant failed';\nfunction invariant(condition, message) {\n if (condition) {\n return;\n }\n if (isProduction) {\n throw new Error(prefix);\n }\n throw new Error(prefix + \": \" + (message || ''));\n}\n\nexport default invariant;\n","import * as React from 'react';\n\nexport interface RefProps {\n children: React.ReactElement;\n\n /**\n * Called when a child component will be mounted or updated.\n *\n * @param node - Referred node.\n */\n innerRef: React.Ref<HTMLElement>;\n}\n\n/**\n * The function that correctly handles passing refs.\n *\n * @param ref - An ref object or function\n * @param node - A node that should be passed by ref\n */\nexport const handleRef = <N>(ref: React.Ref<N> | undefined, node: N) => {\n if (process.env.NODE_ENV !== 'production') {\n if (typeof ref === 'string') {\n throw new Error(\n 'We do not support refs as string, this is a legacy API and will be likely to be removed in one of the future releases of React.',\n );\n }\n }\n\n if (typeof ref === 'function') {\n ref(node);\n return;\n }\n\n if (ref !== null && typeof ref === 'object') {\n // The `current` property is defined as readonly, however it's a valid way because\n // `ref` is a mutable object\n (ref as React.MutableRefObject<N>).current = node;\n }\n};\n\n/** Checks that the passed object is a valid React ref object. */\nexport const isRefObject = (ref: any): ref is React.RefObject<any> =>\n // https://github.com/facebook/react/blob/v16.8.2/packages/react-reconciler/src/ReactFiberCommitWork.js#L665\n ref !== null && typeof ref === 'object' && ref.hasOwnProperty('current');\n","import isSymbol from './isSymbol.js';\n\n/** Used as references for various `Number` constants. */\nvar INFINITY = 1 / 0;\n\n/**\n * Converts `value` to a string key if it's not a string or symbol.\n *\n * @private\n * @param {*} value The value to inspect.\n * @returns {string|symbol} Returns the key.\n */\nfunction toKey(value) {\n if (typeof value == 'string' || isSymbol(value)) {\n return value;\n }\n var result = (value + '');\n return (result == '0' && (1 / value) == -INFINITY) ? '-0' : result;\n}\n\nexport default toKey;\n","import Symbol from './_Symbol.js';\nimport arrayMap from './_arrayMap.js';\nimport isArray from './isArray.js';\nimport isSymbol from './isSymbol.js';\n\n/** Used as references for various `Number` constants. */\nvar INFINITY = 1 / 0;\n\n/** Used to convert symbols to primitives and strings. */\nvar symbolProto = Symbol ? Symbol.prototype : undefined,\n symbolToString = symbolProto ? symbolProto.toString : undefined;\n\n/**\n * The base implementation of `_.toString` which doesn't convert nullish\n * values to empty strings.\n *\n * @private\n * @param {*} value The value to process.\n * @returns {string} Returns the string.\n */\nfunction baseToString(value) {\n // Exit early for strings to avoid a performance hit in some environments.\n if (typeof value == 'string') {\n return value;\n }\n if (isArray(value)) {\n // Recursively convert values (susceptible to call stack limits).\n return arrayMap(value, baseToString) + '';\n }\n if (isSymbol(value)) {\n return symbolToString ? symbolToString.call(value) : '';\n }\n var result = (value + '');\n return (result == '0' && (1 / value) == -INFINITY) ? '-0' : result;\n}\n\nexport default baseToString;\n","import baseToString from './_baseToString.js';\n\n/**\n * Converts `value` to a string. An empty string is returned for `null`\n * and `undefined` values. The sign of `-0` is preserved.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to convert.\n * @returns {string} Returns the converted string.\n * @example\n *\n * _.toString(null);\n * // => ''\n *\n * _.toString(-0);\n * // => '-0'\n *\n * _.toString([1, 2, 3]);\n * // => '1,2,3'\n */\nfunction toString(value) {\n return value == null ? '' : baseToString(value);\n}\n\nexport default toString;\n","import baseGet from './_baseGet.js';\n\n/**\n * Gets the value at `path` of `object`. If the resolved value is\n * `undefined`, the `defaultValue` is returned in its place.\n *\n * @static\n * @memberOf _\n * @since 3.7.0\n * @category Object\n * @param {Object} object The object to query.\n * @param {Array|string} path The path of the property to get.\n * @param {*} [defaultValue] The value returned for `undefined` resolved values.\n * @returns {*} Returns the resolved value.\n * @example\n *\n * var object = { 'a': [{ 'b': { 'c': 3 } }] };\n *\n * _.get(object, 'a[0].b.c');\n * // => 3\n *\n * _.get(object, ['a', '0', 'b', 'c']);\n * // => 3\n *\n * _.get(object, 'a.b.c', 'default');\n * // => 'default'\n */\nfunction get(object, path, defaultValue) {\n var result = object == null ? undefined : baseGet(object, path);\n return result === undefined ? defaultValue : result;\n}\n\nexport default get;\n","import getNative from './_getNative.js';\nimport root from './_root.js';\n\n/* Built-in method references that are verified to be native. */\nvar DataView = getNative(root, 'DataView');\n\nexport default DataView;\n","import getNative from './_getNative.js';\nimport root from './_root.js';\n\n/* Built-in method references that are verified to be native. */\nvar Promise = getNative(root, 'Promise');\n\nexport default Promise;\n","import getNative from './_getNative.js';\nimport root from './_root.js';\n\n/* Built-in method references that are verified to be native. */\nvar WeakMap = getNative(root, 'WeakMap');\n\nexport default WeakMap;\n","import DataView from './_DataView.js';\nimport Map from './_Map.js';\nimport Promise from './_Promise.js';\nimport Set from './_Set.js';\nimport WeakMap from './_WeakMap.js';\nimport baseGetTag from './_baseGetTag.js';\nimport toSource from './_toSource.js';\n\n/** `Object#toString` result references. */\nvar mapTag = '[object Map]',\n objectTag = '[object Object]',\n promiseTag = '[object Promise]',\n setTag = '[object Set]',\n weakMapTag = '[object WeakMap]';\n\nvar dataViewTag = '[object DataView]';\n\n/** Used to detect maps, sets, and weakmaps. */\nvar dataViewCtorString = toSource(DataView),\n mapCtorString = toSource(Map),\n promiseCtorString = toSource(Promise),\n setCtorString = toSource(Set),\n weakMapCtorString = toSource(WeakMap);\n\n/**\n * Gets the `toStringTag` of `value`.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the `toStringTag`.\n */\nvar getTag = baseGetTag;\n\n// Fallback for data views, maps, sets, and weak maps in IE 11 and promises in Node.js < 6.\nif ((DataView && getTag(new DataView(new ArrayBuffer(1))) != dataViewTag) ||\n (Map && getTag(new Map) != mapTag) ||\n (Promise && getTag(Promise.resolve()) != promiseTag) ||\n (Set && getTag(new Set) != setTag) ||\n (WeakMap && getTag(new WeakMap) != weakMapTag)) {\n getTag = function(value) {\n var result = baseGetTag(value),\n Ctor = result == objectTag ? value.constructor : undefined,\n ctorString = Ctor ? toSource(Ctor) : '';\n\n if (ctorString) {\n switch (ctorString) {\n case dataViewCtorString: return dataViewTag;\n case mapCtorString: return mapTag;\n case promiseCtorString: return promiseTag;\n case setCtorString: return setTag;\n case weakMapCtorString: return weakMapTag;\n }\n }\n return result;\n };\n}\n\nexport default getTag;\n","var freeGlobal = require('./_freeGlobal');\n\n/** Detect free variable `self`. */\nvar freeSelf = typeof self == 'object' && self && self.Object === Object && self;\n\n/** Used as a reference to the global object. */\nvar root = freeGlobal || freeSelf || Function('return this')();\n\nmodule.exports = root;\n","export var numberToWordMap = {\n 1: 'one',\n 2: 'two',\n 3: 'three',\n 4: 'four',\n 5: 'five',\n 6: 'six',\n 7: 'seven',\n 8: 'eight',\n 9: 'nine',\n 10: 'ten',\n 11: 'eleven',\n 12: 'twelve',\n 13: 'thirteen',\n 14: 'fourteen',\n 15: 'fifteen',\n 16: 'sixteen'\n};\n/**\n * Return the number word for numbers 1-16.\n * Returns strings or numbers as is if there is no corresponding word.\n * Returns an empty string if value is not a string or number.\n * @param {string|number} value The value to convert to a word.\n * @returns {string}\n */\n\nexport function numberToWord(value) {\n var type = typeof value;\n\n if (type === 'string' || type === 'number') {\n return numberToWordMap[value] || value;\n }\n\n return '';\n}","import baseGetTag from './_baseGetTag.js';\nimport isObjectLike from './isObjectLike.js';\n\n/** `Object#toString` result references. */\nvar symbolTag = '[object Symbol]';\n\n/**\n * Checks if `value` is classified as a `Symbol` primitive or object.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a symbol, else `false`.\n * @example\n *\n * _.isSymbol(Symbol.iterator);\n * // => true\n *\n * _.isSymbol('abc');\n * // => false\n */\nfunction isSymbol(value) {\n return typeof value == 'symbol' ||\n (isObjectLike(value) && baseGetTag(value) == symbolTag);\n}\n\nexport default isSymbol;\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\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 'comma':\n\t\tcase 'separator':\n\t\t\treturn key => (result, value) => {\n\t\t\t\tif (value === null || value === undefined || value.length === 0) {\n\t\t\t\t\treturn result;\n\t\t\t\t}\n\n\t\t\t\tif (result.length === 0) {\n\t\t\t\t\treturn [[encode(key, options), '=', 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\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 '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\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'].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\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}, 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 = `#${encode(object.fragmentIdentifier, options)}`;\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}, 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","import defineProperty from './_defineProperty.js';\n\n/**\n * The base implementation of `assignValue` and `assignMergeValue` without\n * value checks.\n *\n * @private\n * @param {Object} object The object to modify.\n * @param {string} key The key of the property to assign.\n * @param {*} value The value to assign.\n */\nfunction baseAssignValue(object, key, value) {\n if (key == '__proto__' && defineProperty) {\n defineProperty(object, key, {\n 'configurable': true,\n 'enumerable': true,\n 'value': value,\n 'writable': true\n });\n } else {\n object[key] = value;\n }\n}\n\nexport default baseAssignValue;\n","(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory();\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine(\"pdfjs-dist/build/pdf\", [], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"pdfjs-dist/build/pdf\"] = factory();\n\telse\n\t\troot[\"pdfjs-dist/build/pdf\"] = factory();\n})(this, function() {\nreturn "," \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __w_pdfjs_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __w_pdfjs_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__w_pdfjs_require__.m = modules;\n\n \t// expose the module cache\n \t__w_pdfjs_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__w_pdfjs_require__.d = function(exports, name, getter) {\n \t\tif(!__w_pdfjs_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__w_pdfjs_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__w_pdfjs_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __w_pdfjs_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__w_pdfjs_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __w_pdfjs_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__w_pdfjs_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__w_pdfjs_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__w_pdfjs_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__w_pdfjs_require__.p = \"\";\n\n\n \t// Load entry module and return exports\n \treturn __w_pdfjs_require__(__w_pdfjs_require__.s = 0);\n","/* Copyright 2012 Mozilla Foundation\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {\n addLinkAttributes,\n getFilenameFromUrl,\n isFetchSupported,\n isValidFetchUrl,\n LinkTarget,\n loadScript,\n PDFDateString,\n RenderingCancelledException,\n} from \"./display/display_utils.js\";\nimport {\n build,\n getDocument,\n LoopbackPort,\n PDFDataRangeTransport,\n PDFWorker,\n setPDFNetworkStreamFactory,\n version,\n} from \"./display/api.js\";\nimport {\n CMapCompressionType,\n createObjectURL,\n createPromiseCapability,\n createValidAbsoluteUrl,\n InvalidPDFException,\n MissingPDFException,\n OPS,\n PasswordResponses,\n PermissionFlag,\n removeNullCharacters,\n shadow,\n UnexpectedResponseException,\n UNSUPPORTED_FEATURES,\n Util,\n VerbosityLevel,\n} from \"./shared/util.js\";\nimport { AnnotationLayer } from \"./display/annotation_layer.js\";\nimport { apiCompatibilityParams } from \"./display/api_compatibility.js\";\nimport { GlobalWorkerOptions } from \"./display/worker_options.js\";\nimport { renderTextLayer } from \"./display/text_layer.js\";\nimport { SVGGraphics } from \"./display/svg.js\";\n\n/* eslint-disable-next-line no-unused-vars */\nconst pdfjsVersion =\n typeof PDFJSDev !== \"undefined\" ? PDFJSDev.eval(\"BUNDLE_VERSION\") : void 0;\n/* eslint-disable-next-line no-unused-vars */\nconst pdfjsBuild =\n typeof PDFJSDev !== \"undefined\" ? PDFJSDev.eval(\"BUNDLE_BUILD\") : void 0;\n\nif (typeof PDFJSDev === \"undefined\" || !PDFJSDev.test(\"PRODUCTION\")) {\n const streamsPromise = Promise.all([\n import(\"pdfjs/display/network.js\"),\n import(\"pdfjs/display/fetch_stream.js\"),\n ]);\n setPDFNetworkStreamFactory(params => {\n return streamsPromise.then(streams => {\n const [{ PDFNetworkStream }, { PDFFetchStream }] = streams;\n if (isFetchSupported() && isValidFetchUrl(params.url)) {\n return new PDFFetchStream(params);\n }\n return new PDFNetworkStream(params);\n });\n });\n} else if (PDFJSDev.test(\"GENERIC\")) {\n const { isNodeJS } = require(\"./shared/is_node.js\");\n if (isNodeJS) {\n const PDFNodeStream = require(\"./display/node_stream.js\").PDFNodeStream;\n setPDFNetworkStreamFactory(params => {\n return new PDFNodeStream(params);\n });\n } else {\n const PDFNetworkStream = require(\"./display/network.js\").PDFNetworkStream;\n let PDFFetchStream;\n if (isFetchSupported()) {\n PDFFetchStream = require(\"./display/fetch_stream.js\").PDFFetchStream;\n }\n setPDFNetworkStreamFactory(params => {\n if (PDFFetchStream && isValidFetchUrl(params.url)) {\n return new PDFFetchStream(params);\n }\n return new PDFNetworkStream(params);\n });\n }\n} else if (PDFJSDev.test(\"CHROME\")) {\n const PDFNetworkStream = require(\"./display/network.js\").PDFNetworkStream;\n let PDFFetchStream;\n const isChromeWithFetchCredentials = function () {\n // fetch does not include credentials until Chrome 61.0.3138.0 and later.\n // https://chromium.googlesource.com/chromium/src/+/2e231cf052ca5e68e22baf0008ac9e5e29121707\n try {\n // Indexed properties on window are read-only in Chrome 61.0.3151.0+\n // https://chromium.googlesource.com/chromium/src.git/+/58ab4a971b06dec13e4edf9de8382ca6847f6190\n window[999] = 123; // should throw. Note: JS strict mode MUST be enabled.\n delete window[999];\n return false;\n } catch (e) {\n return true;\n }\n };\n if (isFetchSupported() && isChromeWithFetchCredentials()) {\n PDFFetchStream = require(\"./display/fetch_stream.js\").PDFFetchStream;\n }\n setPDFNetworkStreamFactory(params => {\n if (PDFFetchStream && isValidFetchUrl(params.url)) {\n return new PDFFetchStream(params);\n }\n return new PDFNetworkStream(params);\n });\n}\n\nexport {\n // From \"./display/display_utils.js\":\n addLinkAttributes,\n getFilenameFromUrl,\n LinkTarget,\n loadScript,\n PDFDateString,\n RenderingCancelledException,\n // From \"./display/api.js\":\n build,\n getDocument,\n LoopbackPort,\n PDFDataRangeTransport,\n PDFWorker,\n version,\n // From \"./shared/util.js\":\n CMapCompressionType,\n createObjectURL,\n createPromiseCapability,\n createValidAbsoluteUrl,\n InvalidPDFException,\n MissingPDFException,\n OPS,\n PasswordResponses,\n PermissionFlag,\n removeNullCharacters,\n shadow,\n UnexpectedResponseException,\n UNSUPPORTED_FEATURES,\n Util,\n VerbosityLevel,\n // From \"./display/annotation_layer.js\":\n AnnotationLayer,\n // From \"./display/api_compatibility.js\":\n apiCompatibilityParams,\n // From \"./display/worker_options.js\":\n GlobalWorkerOptions,\n // From \"./display/text_layer.js\":\n renderTextLayer,\n // From \"./display/svg.js\":\n SVGGraphics,\n};\n","/* Copyright 2015 Mozilla Foundation\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n/* eslint no-var: error */\n\nimport {\n assert,\n BaseException,\n CMapCompressionType,\n isString,\n removeNullCharacters,\n stringToBytes,\n Util,\n warn,\n} from \"../shared/util.js\";\n\nconst DEFAULT_LINK_REL = \"noopener noreferrer nofollow\";\nconst SVG_NS = \"http://www.w3.org/2000/svg\";\n\nclass DOMCanvasFactory {\n create(width, height) {\n if (width <= 0 || height <= 0) {\n throw new Error(\"Invalid canvas size\");\n }\n const canvas = document.createElement(\"canvas\");\n const context = canvas.getContext(\"2d\");\n canvas.width = width;\n canvas.height = height;\n return {\n canvas,\n context,\n };\n }\n\n reset(canvasAndContext, width, height) {\n if (!canvasAndContext.canvas) {\n throw new Error(\"Canvas is not specified\");\n }\n if (width <= 0 || height <= 0) {\n throw new Error(\"Invalid canvas size\");\n }\n canvasAndContext.canvas.width = width;\n canvasAndContext.canvas.height = height;\n }\n\n destroy(canvasAndContext) {\n if (!canvasAndContext.canvas) {\n throw new Error(\"Canvas is not specified\");\n }\n // Zeroing the width and height cause Firefox to release graphics\n // resources immediately, which can greatly reduce memory consumption.\n canvasAndContext.canvas.width = 0;\n canvasAndContext.canvas.height = 0;\n canvasAndContext.canvas = null;\n canvasAndContext.context = null;\n }\n}\n\nclass DOMCMapReaderFactory {\n constructor({ baseUrl = null, isCompressed = false }) {\n this.baseUrl = baseUrl;\n this.isCompressed = isCompressed;\n }\n\n async fetch({ name }) {\n if (!this.baseUrl) {\n throw new Error(\n 'The CMap \"baseUrl\" parameter must be specified, ensure that ' +\n 'the \"cMapUrl\" and \"cMapPacked\" API parameters are provided.'\n );\n }\n if (!name) {\n throw new Error(\"CMap name must be specified.\");\n }\n const url = this.baseUrl + name + (this.isCompressed ? \".bcmap\" : \"\");\n const compressionType = this.isCompressed\n ? CMapCompressionType.BINARY\n : CMapCompressionType.NONE;\n\n if (\n (typeof PDFJSDev !== \"undefined\" && PDFJSDev.test(\"MOZCENTRAL\")) ||\n (isFetchSupported() && isValidFetchUrl(url, document.baseURI))\n ) {\n return fetch(url)\n .then(async response => {\n if (!response.ok) {\n throw new Error(response.statusText);\n }\n let cMapData;\n if (this.isCompressed) {\n cMapData = new Uint8Array(await response.arrayBuffer());\n } else {\n cMapData = stringToBytes(await response.text());\n }\n return { cMapData, compressionType };\n })\n .catch(reason => {\n throw new Error(\n `Unable to load ${this.isCompressed ? \"binary \" : \"\"}` +\n `CMap at: ${url}`\n );\n });\n }\n\n // The Fetch API is not supported.\n return new Promise((resolve, reject) => {\n const request = new XMLHttpRequest();\n request.open(\"GET\", url, true);\n\n if (this.isCompressed) {\n request.responseType = \"arraybuffer\";\n }\n request.onreadystatechange = () => {\n if (request.readyState !== XMLHttpRequest.DONE) {\n return;\n }\n if (request.status === 200 || request.status === 0) {\n let cMapData;\n if (this.isCompressed && request.response) {\n cMapData = new Uint8Array(request.response);\n } else if (!this.isCompressed && request.responseText) {\n cMapData = stringToBytes(request.responseText);\n }\n if (cMapData) {\n resolve({ cMapData, compressionType });\n return;\n }\n }\n reject(new Error(request.statusText));\n };\n\n request.send(null);\n }).catch(reason => {\n throw new Error(\n `Unable to load ${this.isCompressed ? \"binary \" : \"\"}` +\n `CMap at: ${url}`\n );\n });\n }\n}\n\nclass DOMSVGFactory {\n create(width, height) {\n assert(width > 0 && height > 0, \"Invalid SVG dimensions\");\n\n const svg = document.createElementNS(SVG_NS, \"svg:svg\");\n svg.setAttribute(\"version\", \"1.1\");\n svg.setAttribute(\"width\", width + \"px\");\n svg.setAttribute(\"height\", height + \"px\");\n svg.setAttribute(\"preserveAspectRatio\", \"none\");\n svg.setAttribute(\"viewBox\", \"0 0 \" + width + \" \" + height);\n\n return svg;\n }\n\n createElement(type) {\n assert(typeof type === \"string\", \"Invalid SVG element type\");\n\n return document.createElementNS(SVG_NS, type);\n }\n}\n\n/**\n * @typedef {Object} PageViewportParameters\n * @property {Array} viewBox - The xMin, yMin, xMax and yMax coordinates.\n * @property {number} scale - The scale of the viewport.\n * @property {number} rotation - The rotation, in degrees, of the viewport.\n * @property {number} [offsetX] - The horizontal, i.e. x-axis, offset. The\n * default value is `0`.\n * @property {number} [offsetY] - The vertical, i.e. y-axis, offset. The\n * default value is `0`.\n * @property {boolean} [dontFlip] - If true, the y-axis will not be flipped.\n * The default value is `false`.\n */\n\n/**\n * @typedef {Object} PageViewportCloneParameters\n * @property {number} [scale] - The scale, overriding the one in the cloned\n * viewport. The default value is `this.scale`.\n * @property {number} [rotation] - The rotation, in degrees, overriding the one\n * in the cloned viewport. The default value is `this.rotation`.\n * @property {number} [offsetX] - The horizontal, i.e. x-axis, offset.\n * The default value is `this.offsetX`.\n * @property {number} [offsetY] - The vertical, i.e. y-axis, offset.\n * The default value is `this.offsetY`.\n * @property {boolean} [dontFlip] - If true, the x-axis will not be flipped.\n * The default value is `false`.\n */\n\n/**\n * PDF page viewport created based on scale, rotation and offset.\n */\nclass PageViewport {\n /**\n * @param {PageViewportParameters}\n */\n constructor({\n viewBox,\n scale,\n rotation,\n offsetX = 0,\n offsetY = 0,\n dontFlip = false,\n }) {\n this.viewBox = viewBox;\n this.scale = scale;\n this.rotation = rotation;\n this.offsetX = offsetX;\n this.offsetY = offsetY;\n\n // creating transform to convert pdf coordinate system to the normal\n // canvas like coordinates taking in account scale and rotation\n const centerX = (viewBox[2] + viewBox[0]) / 2;\n const centerY = (viewBox[3] + viewBox[1]) / 2;\n let rotateA, rotateB, rotateC, rotateD;\n rotation = rotation % 360;\n rotation = rotation < 0 ? rotation + 360 : rotation;\n switch (rotation) {\n case 180:\n rotateA = -1;\n rotateB = 0;\n rotateC = 0;\n rotateD = 1;\n break;\n case 90:\n rotateA = 0;\n rotateB = 1;\n rotateC = 1;\n rotateD = 0;\n break;\n case 270:\n rotateA = 0;\n rotateB = -1;\n rotateC = -1;\n rotateD = 0;\n break;\n case 0:\n rotateA = 1;\n rotateB = 0;\n rotateC = 0;\n rotateD = -1;\n break;\n default:\n throw new Error(\n \"PageViewport: Invalid rotation, must be a multiple of 90 degrees.\"\n );\n }\n\n if (dontFlip) {\n rotateC = -rotateC;\n rotateD = -rotateD;\n }\n\n let offsetCanvasX, offsetCanvasY;\n let width, height;\n if (rotateA === 0) {\n offsetCanvasX = Math.abs(centerY - viewBox[1]) * scale + offsetX;\n offsetCanvasY = Math.abs(centerX - viewBox[0]) * scale + offsetY;\n width = Math.abs(viewBox[3] - viewBox[1]) * scale;\n height = Math.abs(viewBox[2] - viewBox[0]) * scale;\n } else {\n offsetCanvasX = Math.abs(centerX - viewBox[0]) * scale + offsetX;\n offsetCanvasY = Math.abs(centerY - viewBox[1]) * scale + offsetY;\n width = Math.abs(viewBox[2] - viewBox[0]) * scale;\n height = Math.abs(viewBox[3] - viewBox[1]) * scale;\n }\n // creating transform for the following operations:\n // translate(-centerX, -centerY), rotate and flip vertically,\n // scale, and translate(offsetCanvasX, offsetCanvasY)\n this.transform = [\n rotateA * scale,\n rotateB * scale,\n rotateC * scale,\n rotateD * scale,\n offsetCanvasX - rotateA * scale * centerX - rotateC * scale * centerY,\n offsetCanvasY - rotateB * scale * centerX - rotateD * scale * centerY,\n ];\n\n this.width = width;\n this.height = height;\n }\n\n /**\n * Clones viewport, with optional additional properties.\n * @param {PageViewportCloneParameters} [params]\n * @returns {PageViewport} Cloned viewport.\n */\n clone({\n scale = this.scale,\n rotation = this.rotation,\n offsetX = this.offsetX,\n offsetY = this.offsetY,\n dontFlip = false,\n } = {}) {\n return new PageViewport({\n viewBox: this.viewBox.slice(),\n scale,\n rotation,\n offsetX,\n offsetY,\n dontFlip,\n });\n }\n\n /**\n * Converts PDF point to the viewport coordinates. For examples, useful for\n * converting PDF location into canvas pixel coordinates.\n * @param {number} x - The x-coordinate.\n * @param {number} y - The y-coordinate.\n * @returns {Object} Object containing `x` and `y` properties of the\n * point in the viewport coordinate space.\n * @see {@link convertToPdfPoint}\n * @see {@link convertToViewportRectangle}\n */\n convertToViewportPoint(x, y) {\n return Util.applyTransform([x, y], this.transform);\n }\n\n /**\n * Converts PDF rectangle to the viewport coordinates.\n * @param {Array} rect - The xMin, yMin, xMax and yMax coordinates.\n * @returns {Array} Array containing corresponding coordinates of the\n * rectangle in the viewport coordinate space.\n * @see {@link convertToViewportPoint}\n */\n convertToViewportRectangle(rect) {\n const topLeft = Util.applyTransform([rect[0], rect[1]], this.transform);\n const bottomRight = Util.applyTransform([rect[2], rect[3]], this.transform);\n return [topLeft[0], topLeft[1], bottomRight[0], bottomRight[1]];\n }\n\n /**\n * Converts viewport coordinates to the PDF location. For examples, useful\n * for converting canvas pixel location into PDF one.\n * @param {number} x - The x-coordinate.\n * @param {number} y - The y-coordinate.\n * @returns {Object} Object containing `x` and `y` properties of the\n * point in the PDF coordinate space.\n * @see {@link convertToViewportPoint}\n */\n convertToPdfPoint(x, y) {\n return Util.applyInverseTransform([x, y], this.transform);\n }\n}\n\nclass RenderingCancelledException extends BaseException {\n constructor(msg, type) {\n super(msg);\n this.type = type;\n }\n}\n\nconst LinkTarget = {\n NONE: 0, // Default value.\n SELF: 1,\n BLANK: 2,\n PARENT: 3,\n TOP: 4,\n};\n\n/**\n * @typedef ExternalLinkParameters\n * @typedef {Object} ExternalLinkParameters\n * @property {string} url - An absolute URL.\n * @property {LinkTarget} [target] - The link target. The default value is\n * `LinkTarget.NONE`.\n * @property {string} [rel] - The link relationship. The default value is\n * `DEFAULT_LINK_REL`.\n * @property {boolean} [enabled] - Whether the link should be enabled. The\n * default value is true.\n */\n\n/**\n * Adds various attributes (href, title, target, rel) to hyperlinks.\n * @param {HTMLLinkElement} link - The link element.\n * @param {ExternalLinkParameters} params\n */\nfunction addLinkAttributes(link, { url, target, rel, enabled = true } = {}) {\n assert(\n url && typeof url === \"string\",\n 'addLinkAttributes: A valid \"url\" parameter must provided.'\n );\n\n const urlNullRemoved = removeNullCharacters(url);\n if (enabled) {\n link.href = link.title = urlNullRemoved;\n } else {\n link.href = \"\";\n link.title = `Disabled: ${urlNullRemoved}`;\n link.onclick = () => {\n return false;\n };\n }\n\n let targetStr = \"\"; // LinkTarget.NONE\n switch (target) {\n case LinkTarget.NONE:\n break;\n case LinkTarget.SELF:\n targetStr = \"_self\";\n break;\n case LinkTarget.BLANK:\n targetStr = \"_blank\";\n break;\n case LinkTarget.PARENT:\n targetStr = \"_parent\";\n break;\n case LinkTarget.TOP:\n targetStr = \"_top\";\n break;\n }\n link.target = targetStr;\n\n link.rel = typeof rel === \"string\" ? rel : DEFAULT_LINK_REL;\n}\n\n// Gets the file name from a given URL.\nfunction getFilenameFromUrl(url) {\n const anchor = url.indexOf(\"#\");\n const query = url.indexOf(\"?\");\n const end = Math.min(\n anchor > 0 ? anchor : url.length,\n query > 0 ? query : url.length\n );\n return url.substring(url.lastIndexOf(\"/\", end) + 1, end);\n}\n\nclass StatTimer {\n constructor() {\n this.started = Object.create(null);\n this.times = [];\n }\n\n time(name) {\n if (name in this.started) {\n warn(`Timer is already running for ${name}`);\n }\n this.started[name] = Date.now();\n }\n\n timeEnd(name) {\n if (!(name in this.started)) {\n warn(`Timer has not been started for ${name}`);\n }\n this.times.push({\n name,\n start: this.started[name],\n end: Date.now(),\n });\n // Remove timer from started so it can be called again.\n delete this.started[name];\n }\n\n toString() {\n // Find the longest name for padding purposes.\n const outBuf = [];\n let longest = 0;\n for (const time of this.times) {\n const name = time.name;\n if (name.length > longest) {\n longest = name.length;\n }\n }\n for (const time of this.times) {\n const duration = time.end - time.start;\n outBuf.push(`${time.name.padEnd(longest)} ${duration}ms\\n`);\n }\n return outBuf.join(\"\");\n }\n}\n\nfunction isFetchSupported() {\n return (\n typeof fetch !== \"undefined\" &&\n typeof Response !== \"undefined\" &&\n \"body\" in Response.prototype &&\n typeof ReadableStream !== \"undefined\"\n );\n}\n\nfunction isValidFetchUrl(url, baseUrl) {\n try {\n const { protocol } = baseUrl ? new URL(url, baseUrl) : new URL(url);\n // The Fetch API only supports the http/https protocols, and not file/ftp.\n return protocol === \"http:\" || protocol === \"https:\";\n } catch (ex) {\n return false; // `new URL()` will throw on incorrect data.\n }\n}\n\nfunction loadScript(src) {\n return new Promise((resolve, reject) => {\n const script = document.createElement(\"script\");\n script.src = src;\n\n script.onload = resolve;\n script.onerror = function () {\n reject(new Error(`Cannot load script at: ${script.src}`));\n };\n (document.head || document.documentElement).appendChild(script);\n });\n}\n\n// Deprecated API function -- display regardless of the `verbosity` setting.\nfunction deprecated(details) {\n console.log(\"Deprecated API usage: \" + details);\n}\n\nlet pdfDateStringRegex;\n\nclass PDFDateString {\n /**\n * Convert a PDF date string to a JavaScript `Date` object.\n *\n * The PDF date string format is described in section 7.9.4 of the official\n * PDF 32000-1:2008 specification. However, in the PDF 1.7 reference (sixth\n * edition) Adobe describes the same format including a trailing apostrophe.\n * This syntax in incorrect, but Adobe Acrobat creates PDF files that contain\n * them. We ignore all apostrophes as they are not necessary for date parsing.\n *\n * Moreover, Adobe Acrobat doesn't handle changing the date to universal time\n * and doesn't use the user's time zone (effectively ignoring the HH' and mm'\n * parts of the date string).\n *\n * @param {string} input\n * @returns {Date|null}\n */\n static toDateObject(input) {\n if (!input || !isString(input)) {\n return null;\n }\n\n // Lazily initialize the regular expression.\n if (!pdfDateStringRegex) {\n pdfDateStringRegex = new RegExp(\n \"^D:\" + // Prefix (required)\n \"(\\\\d{4})\" + // Year (required)\n \"(\\\\d{2})?\" + // Month (optional)\n \"(\\\\d{2})?\" + // Day (optional)\n \"(\\\\d{2})?\" + // Hour (optional)\n \"(\\\\d{2})?\" + // Minute (optional)\n \"(\\\\d{2})?\" + // Second (optional)\n \"([Z|+|-])?\" + // Universal time relation (optional)\n \"(\\\\d{2})?\" + // Offset hour (optional)\n \"'?\" + // Splitting apostrophe (optional)\n \"(\\\\d{2})?\" + // Offset minute (optional)\n \"'?\" // Trailing apostrophe (optional)\n );\n }\n\n // Optional fields that don't satisfy the requirements from the regular\n // expression (such as incorrect digit counts or numbers that are out of\n // range) will fall back the defaults from the specification.\n const matches = pdfDateStringRegex.exec(input);\n if (!matches) {\n return null;\n }\n\n // JavaScript's `Date` object expects the month to be between 0 and 11\n // instead of 1 and 12, so we have to correct for that.\n const year = parseInt(matches[1], 10);\n let month = parseInt(matches[2], 10);\n month = month >= 1 && month <= 12 ? month - 1 : 0;\n let day = parseInt(matches[3], 10);\n day = day >= 1 && day <= 31 ? day : 1;\n let hour = parseInt(matches[4], 10);\n hour = hour >= 0 && hour <= 23 ? hour : 0;\n let minute = parseInt(matches[5], 10);\n minute = minute >= 0 && minute <= 59 ? minute : 0;\n let second = parseInt(matches[6], 10);\n second = second >= 0 && second <= 59 ? second : 0;\n const universalTimeRelation = matches[7] || \"Z\";\n let offsetHour = parseInt(matches[8], 10);\n offsetHour = offsetHour >= 0 && offsetHour <= 23 ? offsetHour : 0;\n let offsetMinute = parseInt(matches[9], 10) || 0;\n offsetMinute = offsetMinute >= 0 && offsetMinute <= 59 ? offsetMinute : 0;\n\n // Universal time relation 'Z' means that the local time is equal to the\n // universal time, whereas the relations '+'/'-' indicate that the local\n // time is later respectively earlier than the universal time. Every date\n // is normalized to universal time.\n if (universalTimeRelation === \"-\") {\n hour += offsetHour;\n minute += offsetMinute;\n } else if (universalTimeRelation === \"+\") {\n hour -= offsetHour;\n minute -= offsetMinute;\n }\n\n return new Date(Date.UTC(year, month, day, hour, minute, second));\n }\n}\n\nexport {\n PageViewport,\n RenderingCancelledException,\n addLinkAttributes,\n getFilenameFromUrl,\n LinkTarget,\n DEFAULT_LINK_REL,\n DOMCanvasFactory,\n DOMCMapReaderFactory,\n DOMSVGFactory,\n StatTimer,\n isFetchSupported,\n isValidFetchUrl,\n loadScript,\n deprecated,\n PDFDateString,\n};\n","/* Copyright 2012 Mozilla Foundation\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n/* eslint no-var: error */\n\nimport \"./compatibility.js\";\n\nconst IDENTITY_MATRIX = [1, 0, 0, 1, 0, 0];\nconst FONT_IDENTITY_MATRIX = [0.001, 0, 0, 0.001, 0, 0];\n\n// Permission flags from Table 22, Section 7.6.3.2 of the PDF specification.\nconst PermissionFlag = {\n PRINT: 0x04,\n MODIFY_CONTENTS: 0x08,\n COPY: 0x10,\n MODIFY_ANNOTATIONS: 0x20,\n FILL_INTERACTIVE_FORMS: 0x100,\n COPY_FOR_ACCESSIBILITY: 0x200,\n ASSEMBLE: 0x400,\n PRINT_HIGH_QUALITY: 0x800,\n};\n\nconst TextRenderingMode = {\n FILL: 0,\n STROKE: 1,\n FILL_STROKE: 2,\n INVISIBLE: 3,\n FILL_ADD_TO_PATH: 4,\n STROKE_ADD_TO_PATH: 5,\n FILL_STROKE_ADD_TO_PATH: 6,\n ADD_TO_PATH: 7,\n FILL_STROKE_MASK: 3,\n ADD_TO_PATH_FLAG: 4,\n};\n\nconst ImageKind = {\n GRAYSCALE_1BPP: 1,\n RGB_24BPP: 2,\n RGBA_32BPP: 3,\n};\n\nconst AnnotationType = {\n TEXT: 1,\n LINK: 2,\n FREETEXT: 3,\n LINE: 4,\n SQUARE: 5,\n CIRCLE: 6,\n POLYGON: 7,\n POLYLINE: 8,\n HIGHLIGHT: 9,\n UNDERLINE: 10,\n SQUIGGLY: 11,\n STRIKEOUT: 12,\n STAMP: 13,\n CARET: 14,\n INK: 15,\n POPUP: 16,\n FILEATTACHMENT: 17,\n SOUND: 18,\n MOVIE: 19,\n WIDGET: 20,\n SCREEN: 21,\n PRINTERMARK: 22,\n TRAPNET: 23,\n WATERMARK: 24,\n THREED: 25,\n REDACT: 26,\n};\n\nconst AnnotationStateModelType = {\n MARKED: \"Marked\",\n REVIEW: \"Review\",\n};\n\nconst AnnotationMarkedState = {\n MARKED: \"Marked\",\n UNMARKED: \"Unmarked\",\n};\n\nconst AnnotationReviewState = {\n ACCEPTED: \"Accepted\",\n REJECTED: \"Rejected\",\n CANCELLED: \"Cancelled\",\n COMPLETED: \"Completed\",\n NONE: \"None\",\n};\n\nconst AnnotationReplyType = {\n GROUP: \"Group\",\n REPLY: \"R\",\n};\n\nconst AnnotationFlag = {\n INVISIBLE: 0x01,\n HIDDEN: 0x02,\n PRINT: 0x04,\n NOZOOM: 0x08,\n NOROTATE: 0x10,\n NOVIEW: 0x20,\n READONLY: 0x40,\n LOCKED: 0x80,\n TOGGLENOVIEW: 0x100,\n LOCKEDCONTENTS: 0x200,\n};\n\nconst AnnotationFieldFlag = {\n READONLY: 0x0000001,\n REQUIRED: 0x0000002,\n NOEXPORT: 0x0000004,\n MULTILINE: 0x0001000,\n PASSWORD: 0x0002000,\n NOTOGGLETOOFF: 0x0004000,\n RADIO: 0x0008000,\n PUSHBUTTON: 0x0010000,\n COMBO: 0x0020000,\n EDIT: 0x0040000,\n SORT: 0x0080000,\n FILESELECT: 0x0100000,\n MULTISELECT: 0x0200000,\n DONOTSPELLCHECK: 0x0400000,\n DONOTSCROLL: 0x0800000,\n COMB: 0x1000000,\n RICHTEXT: 0x2000000,\n RADIOSINUNISON: 0x2000000,\n COMMITONSELCHANGE: 0x4000000,\n};\n\nconst AnnotationBorderStyleType = {\n SOLID: 1,\n DASHED: 2,\n BEVELED: 3,\n INSET: 4,\n UNDERLINE: 5,\n};\n\nconst StreamType = {\n UNKNOWN: \"UNKNOWN\",\n FLATE: \"FLATE\",\n LZW: \"LZW\",\n DCT: \"DCT\",\n JPX: \"JPX\",\n JBIG: \"JBIG\",\n A85: \"A85\",\n AHX: \"AHX\",\n CCF: \"CCF\",\n RLX: \"RLX\", // PDF short name is 'RL', but telemetry requires three chars.\n};\n\nconst FontType = {\n UNKNOWN: \"UNKNOWN\",\n TYPE1: \"TYPE1\",\n TYPE1C: \"TYPE1C\",\n CIDFONTTYPE0: \"CIDFONTTYPE0\",\n CIDFONTTYPE0C: \"CIDFONTTYPE0C\",\n TRUETYPE: \"TRUETYPE\",\n CIDFONTTYPE2: \"CIDFONTTYPE2\",\n TYPE3: \"TYPE3\",\n OPENTYPE: \"OPENTYPE\",\n TYPE0: \"TYPE0\",\n MMTYPE1: \"MMTYPE1\",\n};\n\nconst VerbosityLevel = {\n ERRORS: 0,\n WARNINGS: 1,\n INFOS: 5,\n};\n\nconst CMapCompressionType = {\n NONE: 0,\n BINARY: 1,\n STREAM: 2,\n};\n\n// All the possible operations for an operator list.\nconst OPS = {\n // Intentionally start from 1 so it is easy to spot bad operators that will be\n // 0's.\n dependency: 1,\n setLineWidth: 2,\n setLineCap: 3,\n setLineJoin: 4,\n setMiterLimit: 5,\n setDash: 6,\n setRenderingIntent: 7,\n setFlatness: 8,\n setGState: 9,\n save: 10,\n restore: 11,\n transform: 12,\n moveTo: 13,\n lineTo: 14,\n curveTo: 15,\n curveTo2: 16,\n curveTo3: 17,\n closePath: 18,\n rectangle: 19,\n stroke: 20,\n closeStroke: 21,\n fill: 22,\n eoFill: 23,\n fillStroke: 24,\n eoFillStroke: 25,\n closeFillStroke: 26,\n closeEOFillStroke: 27,\n endPath: 28,\n clip: 29,\n eoClip: 30,\n beginText: 31,\n endText: 32,\n setCharSpacing: 33,\n setWordSpacing: 34,\n setHScale: 35,\n setLeading: 36,\n setFont: 37,\n setTextRenderingMode: 38,\n setTextRise: 39,\n moveText: 40,\n setLeadingMoveText: 41,\n setTextMatrix: 42,\n nextLine: 43,\n showText: 44,\n showSpacedText: 45,\n nextLineShowText: 46,\n nextLineSetSpacingShowText: 47,\n setCharWidth: 48,\n setCharWidthAndBounds: 49,\n setStrokeColorSpace: 50,\n setFillColorSpace: 51,\n setStrokeColor: 52,\n setStrokeColorN: 53,\n setFillColor: 54,\n setFillColorN: 55,\n setStrokeGray: 56,\n setFillGray: 57,\n setStrokeRGBColor: 58,\n setFillRGBColor: 59,\n setStrokeCMYKColor: 60,\n setFillCMYKColor: 61,\n shadingFill: 62,\n beginInlineImage: 63,\n beginImageData: 64,\n endInlineImage: 65,\n paintXObject: 66,\n markPoint: 67,\n markPointProps: 68,\n beginMarkedContent: 69,\n beginMarkedContentProps: 70,\n endMarkedContent: 71,\n beginCompat: 72,\n endCompat: 73,\n paintFormXObjectBegin: 74,\n paintFormXObjectEnd: 75,\n beginGroup: 76,\n endGroup: 77,\n beginAnnotations: 78,\n endAnnotations: 79,\n beginAnnotation: 80,\n endAnnotation: 81,\n paintJpegXObject: 82,\n paintImageMaskXObject: 83,\n paintImageMaskXObjectGroup: 84,\n paintImageXObject: 85,\n paintInlineImageXObject: 86,\n paintInlineImageXObjectGroup: 87,\n paintImageXObjectRepeat: 88,\n paintImageMaskXObjectRepeat: 89,\n paintSolidColorImageMask: 90,\n constructPath: 91,\n};\n\nconst UNSUPPORTED_FEATURES = {\n /** @deprecated unused */\n unknown: \"unknown\",\n forms: \"forms\",\n javaScript: \"javaScript\",\n smask: \"smask\",\n shadingPattern: \"shadingPattern\",\n /** @deprecated unused */\n font: \"font\",\n errorTilingPattern: \"errorTilingPattern\",\n errorExtGState: \"errorExtGState\",\n errorXObject: \"errorXObject\",\n errorFontLoadType3: \"errorFontLoadType3\",\n errorFontState: \"errorFontState\",\n errorFontMissing: \"errorFontMissing\",\n errorFontTranslate: \"errorFontTranslate\",\n errorColorSpace: \"errorColorSpace\",\n errorOperatorList: \"errorOperatorList\",\n errorFontToUnicode: \"errorFontToUnicode\",\n errorFontLoadNative: \"errorFontLoadNative\",\n errorFontGetPath: \"errorFontGetPath\",\n};\n\nconst PasswordResponses = {\n NEED_PASSWORD: 1,\n INCORRECT_PASSWORD: 2,\n};\n\nlet verbosity = VerbosityLevel.WARNINGS;\n\nfunction setVerbosityLevel(level) {\n if (Number.isInteger(level)) {\n verbosity = level;\n }\n}\n\nfunction getVerbosityLevel() {\n return verbosity;\n}\n\n// A notice for devs. These are good for things that are helpful to devs, such\n// as warning that Workers were disabled, which is important to devs but not\n// end users.\nfunction info(msg) {\n if (verbosity >= VerbosityLevel.INFOS) {\n console.log(`Info: ${msg}`);\n }\n}\n\n// Non-fatal warnings.\nfunction warn(msg) {\n if (verbosity >= VerbosityLevel.WARNINGS) {\n console.log(`Warning: ${msg}`);\n }\n}\n\nfunction unreachable(msg) {\n throw new Error(msg);\n}\n\nfunction assert(cond, msg) {\n if (!cond) {\n unreachable(msg);\n }\n}\n\n// Checks if URLs have the same origin. For non-HTTP based URLs, returns false.\nfunction isSameOrigin(baseUrl, otherUrl) {\n let base;\n try {\n base = new URL(baseUrl);\n if (!base.origin || base.origin === \"null\") {\n return false; // non-HTTP url\n }\n } catch (e) {\n return false;\n }\n\n const other = new URL(otherUrl, base);\n return base.origin === other.origin;\n}\n\n// Checks if URLs use one of the whitelisted protocols, e.g. to avoid XSS.\nfunction _isValidProtocol(url) {\n if (!url) {\n return false;\n }\n switch (url.protocol) {\n case \"http:\":\n case \"https:\":\n case \"ftp:\":\n case \"mailto:\":\n case \"tel:\":\n return true;\n default:\n return false;\n }\n}\n\n/**\n * Attempts to create a valid absolute URL.\n *\n * @param {URL|string} url - An absolute, or relative, URL.\n * @param {URL|string} baseUrl - An absolute URL.\n * @returns Either a valid {URL}, or `null` otherwise.\n */\nfunction createValidAbsoluteUrl(url, baseUrl) {\n if (!url) {\n return null;\n }\n try {\n const absoluteUrl = baseUrl ? new URL(url, baseUrl) : new URL(url);\n if (_isValidProtocol(absoluteUrl)) {\n return absoluteUrl;\n }\n } catch (ex) {\n /* `new URL()` will throw on incorrect data. */\n }\n return null;\n}\n\nfunction shadow(obj, prop, value) {\n Object.defineProperty(obj, prop, {\n value,\n enumerable: true,\n configurable: true,\n writable: false,\n });\n return value;\n}\n\nconst BaseException = (function BaseExceptionClosure() {\n // eslint-disable-next-line no-shadow\n function BaseException(message) {\n if (this.constructor === BaseException) {\n unreachable(\"Cannot initialize BaseException.\");\n }\n this.message = message;\n this.name = this.constructor.name;\n }\n BaseException.prototype = new Error();\n BaseException.constructor = BaseException;\n\n return BaseException;\n})();\n\nclass PasswordException extends BaseException {\n constructor(msg, code) {\n super(msg);\n this.code = code;\n }\n}\n\nclass UnknownErrorException extends BaseException {\n constructor(msg, details) {\n super(msg);\n this.details = details;\n }\n}\n\nclass InvalidPDFException extends BaseException {}\n\nclass MissingPDFException extends BaseException {}\n\nclass UnexpectedResponseException extends BaseException {\n constructor(msg, status) {\n super(msg);\n this.status = status;\n }\n}\n\n/**\n * Error caused during parsing PDF data.\n */\nclass FormatError extends BaseException {}\n\n/**\n * Error used to indicate task cancellation.\n */\nclass AbortException extends BaseException {}\n\nconst NullCharactersRegExp = /\\x00/g;\n\nfunction removeNullCharacters(str) {\n if (typeof str !== \"string\") {\n warn(\"The argument for removeNullCharacters must be a string.\");\n return str;\n }\n return str.replace(NullCharactersRegExp, \"\");\n}\n\nfunction bytesToString(bytes) {\n assert(\n bytes !== null && typeof bytes === \"object\" && bytes.length !== undefined,\n \"Invalid argument for bytesToString\"\n );\n const length = bytes.length;\n const MAX_ARGUMENT_COUNT = 8192;\n if (length < MAX_ARGUMENT_COUNT) {\n return String.fromCharCode.apply(null, bytes);\n }\n const strBuf = [];\n for (let i = 0; i < length; i += MAX_ARGUMENT_COUNT) {\n const chunkEnd = Math.min(i + MAX_ARGUMENT_COUNT, length);\n const chunk = bytes.subarray(i, chunkEnd);\n strBuf.push(String.fromCharCode.apply(null, chunk));\n }\n return strBuf.join(\"\");\n}\n\nfunction stringToBytes(str) {\n assert(typeof str === \"string\", \"Invalid argument for stringToBytes\");\n const length = str.length;\n const bytes = new Uint8Array(length);\n for (let i = 0; i < length; ++i) {\n bytes[i] = str.charCodeAt(i) & 0xff;\n }\n return bytes;\n}\n\n/**\n * Gets length of the array (Array, Uint8Array, or string) in bytes.\n * @param {Array|Uint8Array|string} arr\n * @returns {number}\n */\nfunction arrayByteLength(arr) {\n if (arr.length !== undefined) {\n return arr.length;\n }\n assert(arr.byteLength !== undefined, \"arrayByteLength - invalid argument.\");\n return arr.byteLength;\n}\n\n/**\n * Combines array items (arrays) into single Uint8Array object.\n * @param {Array} arr - the array of the arrays (Array, Uint8Array, or string).\n * @returns {Uint8Array}\n */\nfunction arraysToBytes(arr) {\n const length = arr.length;\n // Shortcut: if first and only item is Uint8Array, return it.\n if (length === 1 && arr[0] instanceof Uint8Array) {\n return arr[0];\n }\n let resultLength = 0;\n for (let i = 0; i < length; i++) {\n resultLength += arrayByteLength(arr[i]);\n }\n let pos = 0;\n const data = new Uint8Array(resultLength);\n for (let i = 0; i < length; i++) {\n let item = arr[i];\n if (!(item instanceof Uint8Array)) {\n if (typeof item === \"string\") {\n item = stringToBytes(item);\n } else {\n item = new Uint8Array(item);\n }\n }\n const itemLength = item.byteLength;\n data.set(item, pos);\n pos += itemLength;\n }\n return data;\n}\n\nfunction string32(value) {\n return String.fromCharCode(\n (value >> 24) & 0xff,\n (value >> 16) & 0xff,\n (value >> 8) & 0xff,\n value & 0xff\n );\n}\n\n// Checks the endianness of the platform.\nfunction isLittleEndian() {\n const buffer8 = new Uint8Array(4);\n buffer8[0] = 1;\n const view32 = new Uint32Array(buffer8.buffer, 0, 1);\n return view32[0] === 1;\n}\nconst IsLittleEndianCached = {\n get value() {\n return shadow(this, \"value\", isLittleEndian());\n },\n};\n\n// Checks if it's possible to eval JS expressions.\nfunction isEvalSupported() {\n try {\n new Function(\"\"); // eslint-disable-line no-new, no-new-func\n return true;\n } catch (e) {\n return false;\n }\n}\nconst IsEvalSupportedCached = {\n get value() {\n return shadow(this, \"value\", isEvalSupported());\n },\n};\n\nconst rgbBuf = [\"rgb(\", 0, \",\", 0, \",\", 0, \")\"];\n\nclass Util {\n // makeCssRgb() can be called thousands of times. Using ´rgbBuf` avoids\n // creating many intermediate strings.\n static makeCssRgb(r, g, b) {\n rgbBuf[1] = r;\n rgbBuf[3] = g;\n rgbBuf[5] = b;\n return rgbBuf.join(\"\");\n }\n\n // Concatenates two transformation matrices together and returns the result.\n static transform(m1, m2) {\n return [\n m1[0] * m2[0] + m1[2] * m2[1],\n m1[1] * m2[0] + m1[3] * m2[1],\n m1[0] * m2[2] + m1[2] * m2[3],\n m1[1] * m2[2] + m1[3] * m2[3],\n m1[0] * m2[4] + m1[2] * m2[5] + m1[4],\n m1[1] * m2[4] + m1[3] * m2[5] + m1[5],\n ];\n }\n\n // For 2d affine transforms\n static applyTransform(p, m) {\n const xt = p[0] * m[0] + p[1] * m[2] + m[4];\n const yt = p[0] * m[1] + p[1] * m[3] + m[5];\n return [xt, yt];\n }\n\n static applyInverseTransform(p, m) {\n const d = m[0] * m[3] - m[1] * m[2];\n const xt = (p[0] * m[3] - p[1] * m[2] + m[2] * m[5] - m[4] * m[3]) / d;\n const yt = (-p[0] * m[1] + p[1] * m[0] + m[4] * m[1] - m[5] * m[0]) / d;\n return [xt, yt];\n }\n\n // Applies the transform to the rectangle and finds the minimum axially\n // aligned bounding box.\n static getAxialAlignedBoundingBox(r, m) {\n const p1 = Util.applyTransform(r, m);\n const p2 = Util.applyTransform(r.slice(2, 4), m);\n const p3 = Util.applyTransform([r[0], r[3]], m);\n const p4 = Util.applyTransform([r[2], r[1]], m);\n return [\n Math.min(p1[0], p2[0], p3[0], p4[0]),\n Math.min(p1[1], p2[1], p3[1], p4[1]),\n Math.max(p1[0], p2[0], p3[0], p4[0]),\n Math.max(p1[1], p2[1], p3[1], p4[1]),\n ];\n }\n\n static inverseTransform(m) {\n const d = m[0] * m[3] - m[1] * m[2];\n return [\n m[3] / d,\n -m[1] / d,\n -m[2] / d,\n m[0] / d,\n (m[2] * m[5] - m[4] * m[3]) / d,\n (m[4] * m[1] - m[5] * m[0]) / d,\n ];\n }\n\n // Apply a generic 3d matrix M on a 3-vector v:\n // | a b c | | X |\n // | d e f | x | Y |\n // | g h i | | Z |\n // M is assumed to be serialized as [a,b,c,d,e,f,g,h,i],\n // with v as [X,Y,Z]\n static apply3dTransform(m, v) {\n return [\n m[0] * v[0] + m[1] * v[1] + m[2] * v[2],\n m[3] * v[0] + m[4] * v[1] + m[5] * v[2],\n m[6] * v[0] + m[7] * v[1] + m[8] * v[2],\n ];\n }\n\n // This calculation uses Singular Value Decomposition.\n // The SVD can be represented with formula A = USV. We are interested in the\n // matrix S here because it represents the scale values.\n static singularValueDecompose2dScale(m) {\n const transpose = [m[0], m[2], m[1], m[3]];\n\n // Multiply matrix m with its transpose.\n const a = m[0] * transpose[0] + m[1] * transpose[2];\n const b = m[0] * transpose[1] + m[1] * transpose[3];\n const c = m[2] * transpose[0] + m[3] * transpose[2];\n const d = m[2] * transpose[1] + m[3] * transpose[3];\n\n // Solve the second degree polynomial to get roots.\n const first = (a + d) / 2;\n const second = Math.sqrt((a + d) * (a + d) - 4 * (a * d - c * b)) / 2;\n const sx = first + second || 1;\n const sy = first - second || 1;\n\n // Scale values are the square roots of the eigenvalues.\n return [Math.sqrt(sx), Math.sqrt(sy)];\n }\n\n // Normalize rectangle rect=[x1, y1, x2, y2] so that (x1,y1) < (x2,y2)\n // For coordinate systems whose origin lies in the bottom-left, this\n // means normalization to (BL,TR) ordering. For systems with origin in the\n // top-left, this means (TL,BR) ordering.\n static normalizeRect(rect) {\n const r = rect.slice(0); // clone rect\n if (rect[0] > rect[2]) {\n r[0] = rect[2];\n r[2] = rect[0];\n }\n if (rect[1] > rect[3]) {\n r[1] = rect[3];\n r[3] = rect[1];\n }\n return r;\n }\n\n // Returns a rectangle [x1, y1, x2, y2] corresponding to the\n // intersection of rect1 and rect2. If no intersection, returns 'false'\n // The rectangle coordinates of rect1, rect2 should be [x1, y1, x2, y2]\n static intersect(rect1, rect2) {\n function compare(a, b) {\n return a - b;\n }\n\n // Order points along the axes\n const orderedX = [rect1[0], rect1[2], rect2[0], rect2[2]].sort(compare);\n const orderedY = [rect1[1], rect1[3], rect2[1], rect2[3]].sort(compare);\n const result = [];\n\n rect1 = Util.normalizeRect(rect1);\n rect2 = Util.normalizeRect(rect2);\n\n // X: first and second points belong to different rectangles?\n if (\n (orderedX[0] === rect1[0] && orderedX[1] === rect2[0]) ||\n (orderedX[0] === rect2[0] && orderedX[1] === rect1[0])\n ) {\n // Intersection must be between second and third points\n result[0] = orderedX[1];\n result[2] = orderedX[2];\n } else {\n return null;\n }\n\n // Y: first and second points belong to different rectangles?\n if (\n (orderedY[0] === rect1[1] && orderedY[1] === rect2[1]) ||\n (orderedY[0] === rect2[1] && orderedY[1] === rect1[1])\n ) {\n // Intersection must be between second and third points\n result[1] = orderedY[1];\n result[3] = orderedY[2];\n } else {\n return null;\n }\n\n return result;\n }\n}\n\n// prettier-ignore\nconst PDFStringTranslateTable = [\n 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n 0x2D8, 0x2C7, 0x2C6, 0x2D9, 0x2DD, 0x2DB, 0x2DA, 0x2DC, 0, 0, 0, 0, 0, 0, 0,\n 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0x2022, 0x2020, 0x2021, 0x2026, 0x2014,\n 0x2013, 0x192, 0x2044, 0x2039, 0x203A, 0x2212, 0x2030, 0x201E, 0x201C,\n 0x201D, 0x2018, 0x2019, 0x201A, 0x2122, 0xFB01, 0xFB02, 0x141, 0x152, 0x160,\n 0x178, 0x17D, 0x131, 0x142, 0x153, 0x161, 0x17E, 0, 0x20AC\n];\n\nfunction stringToPDFString(str) {\n const length = str.length,\n strBuf = [];\n if (str[0] === \"\\xFE\" && str[1] === \"\\xFF\") {\n // UTF16BE BOM\n for (let i = 2; i < length; i += 2) {\n strBuf.push(\n String.fromCharCode((str.charCodeAt(i) << 8) | str.charCodeAt(i + 1))\n );\n }\n } else if (str[0] === \"\\xFF\" && str[1] === \"\\xFE\") {\n // UTF16LE BOM\n for (let i = 2; i < length; i += 2) {\n strBuf.push(\n String.fromCharCode((str.charCodeAt(i + 1) << 8) | str.charCodeAt(i))\n );\n }\n } else {\n for (let i = 0; i < length; ++i) {\n const code = PDFStringTranslateTable[str.charCodeAt(i)];\n strBuf.push(code ? String.fromCharCode(code) : str.charAt(i));\n }\n }\n return strBuf.join(\"\");\n}\n\nfunction stringToUTF8String(str) {\n return decodeURIComponent(escape(str));\n}\n\nfunction utf8StringToString(str) {\n return unescape(encodeURIComponent(str));\n}\n\nfunction isEmptyObj(obj) {\n for (const key in obj) {\n return false;\n }\n return true;\n}\n\nfunction isBool(v) {\n return typeof v === \"boolean\";\n}\n\nfunction isNum(v) {\n return typeof v === \"number\";\n}\n\nfunction isString(v) {\n return typeof v === \"string\";\n}\n\nfunction isArrayBuffer(v) {\n return typeof v === \"object\" && v !== null && v.byteLength !== undefined;\n}\n\nfunction isArrayEqual(arr1, arr2) {\n if (arr1.length !== arr2.length) {\n return false;\n }\n return arr1.every(function (element, index) {\n return element === arr2[index];\n });\n}\n\n/**\n * Promise Capability object.\n *\n * @typedef {Object} PromiseCapability\n * @property {Promise} promise - A Promise object.\n * @property {boolean} settled - If the Promise has been fulfilled/rejected.\n * @property {function} resolve - Fulfills the Promise.\n * @property {function} reject - Rejects the Promise.\n */\n\n/**\n * Creates a promise capability object.\n * @alias createPromiseCapability\n *\n * @returns {PromiseCapability}\n */\nfunction createPromiseCapability() {\n const capability = Object.create(null);\n let isSettled = false;\n\n Object.defineProperty(capability, \"settled\", {\n get() {\n return isSettled;\n },\n });\n capability.promise = new Promise(function (resolve, reject) {\n capability.resolve = function (data) {\n isSettled = true;\n resolve(data);\n };\n capability.reject = function (reason) {\n isSettled = true;\n reject(reason);\n };\n });\n return capability;\n}\n\nconst createObjectURL = (function createObjectURLClosure() {\n // Blob/createObjectURL is not available, falling back to data schema.\n const digits =\n \"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=\";\n\n // eslint-disable-next-line no-shadow\n return function createObjectURL(data, contentType, forceDataSchema = false) {\n if (!forceDataSchema && URL.createObjectURL) {\n const blob = new Blob([data], { type: contentType });\n return URL.createObjectURL(blob);\n }\n\n let buffer = `data:${contentType};base64,`;\n for (let i = 0, ii = data.length; i < ii; i += 3) {\n const b1 = data[i] & 0xff;\n const b2 = data[i + 1] & 0xff;\n const b3 = data[i + 2] & 0xff;\n const d1 = b1 >> 2,\n d2 = ((b1 & 3) << 4) | (b2 >> 4);\n const d3 = i + 1 < ii ? ((b2 & 0xf) << 2) | (b3 >> 6) : 64;\n const d4 = i + 2 < ii ? b3 & 0x3f : 64;\n buffer += digits[d1] + digits[d2] + digits[d3] + digits[d4];\n }\n return buffer;\n };\n})();\n\nexport {\n BaseException,\n FONT_IDENTITY_MATRIX,\n IDENTITY_MATRIX,\n OPS,\n VerbosityLevel,\n UNSUPPORTED_FEATURES,\n AnnotationBorderStyleType,\n AnnotationFieldFlag,\n AnnotationFlag,\n AnnotationMarkedState,\n AnnotationReplyType,\n AnnotationReviewState,\n AnnotationStateModelType,\n AnnotationType,\n FontType,\n ImageKind,\n CMapCompressionType,\n AbortException,\n InvalidPDFException,\n MissingPDFException,\n PasswordException,\n PasswordResponses,\n PermissionFlag,\n StreamType,\n TextRenderingMode,\n UnexpectedResponseException,\n UnknownErrorException,\n Util,\n FormatError,\n arrayByteLength,\n arraysToBytes,\n assert,\n bytesToString,\n createPromiseCapability,\n createObjectURL,\n getVerbosityLevel,\n info,\n isArrayBuffer,\n isArrayEqual,\n isBool,\n isEmptyObj,\n isNum,\n isString,\n isSameOrigin,\n createValidAbsoluteUrl,\n IsLittleEndianCached,\n IsEvalSupportedCached,\n removeNullCharacters,\n setVerbosityLevel,\n shadow,\n string32,\n stringToBytes,\n stringToPDFString,\n stringToUTF8String,\n utf8StringToString,\n warn,\n unreachable,\n};\n","/* Copyright 2017 Mozilla Foundation\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n/* eslint no-var: error */\n\nimport { isNodeJS } from \"./is_node.js\";\n\n// Skip compatibility checks for modern builds and if we already ran the module.\nif (\n (typeof PDFJSDev === \"undefined\" || !PDFJSDev.test(\"SKIP_BABEL\")) &&\n (typeof globalThis === \"undefined\" || !globalThis._pdfjsCompatibilityChecked)\n) {\n // Provides support for globalThis in legacy browsers.\n // Support: IE11/Edge, Opera\n if (typeof globalThis === \"undefined\" || globalThis.Math !== Math) {\n // eslint-disable-next-line no-global-assign\n globalThis = require(\"core-js/es/global-this\");\n }\n globalThis._pdfjsCompatibilityChecked = true;\n\n const hasDOM = typeof window === \"object\" && typeof document === \"object\";\n const userAgent =\n (typeof navigator !== \"undefined\" && navigator.userAgent) || \"\";\n const isIE = /Trident/.test(userAgent);\n\n // Support: Node.js\n (function checkNodeBtoa() {\n if (globalThis.btoa || !isNodeJS) {\n return;\n }\n globalThis.btoa = function (chars) {\n // eslint-disable-next-line no-undef\n return Buffer.from(chars, \"binary\").toString(\"base64\");\n };\n })();\n\n // Support: Node.js\n (function checkNodeAtob() {\n if (globalThis.atob || !isNodeJS) {\n return;\n }\n globalThis.atob = function (input) {\n // eslint-disable-next-line no-undef\n return Buffer.from(input, \"base64\").toString(\"binary\");\n };\n })();\n\n // Provides support for ChildNode.remove in legacy browsers.\n // Support: IE.\n (function checkChildNodeRemove() {\n if (!hasDOM) {\n return;\n }\n if (typeof Element.prototype.remove !== \"undefined\") {\n return;\n }\n Element.prototype.remove = function () {\n if (this.parentNode) {\n // eslint-disable-next-line mozilla/avoid-removeChild\n this.parentNode.removeChild(this);\n }\n };\n })();\n\n // Provides support for DOMTokenList.prototype.{add, remove}, with more than\n // one parameter, in legacy browsers.\n // Support: IE\n (function checkDOMTokenListAddRemove() {\n if (!hasDOM || isNodeJS) {\n return;\n }\n const div = document.createElement(\"div\");\n div.classList.add(\"testOne\", \"testTwo\");\n\n if (\n div.classList.contains(\"testOne\") === true &&\n div.classList.contains(\"testTwo\") === true\n ) {\n return;\n }\n const OriginalDOMTokenListAdd = DOMTokenList.prototype.add;\n const OriginalDOMTokenListRemove = DOMTokenList.prototype.remove;\n\n DOMTokenList.prototype.add = function (...tokens) {\n for (const token of tokens) {\n OriginalDOMTokenListAdd.call(this, token);\n }\n };\n DOMTokenList.prototype.remove = function (...tokens) {\n for (const token of tokens) {\n OriginalDOMTokenListRemove.call(this, token);\n }\n };\n })();\n\n // Provides support for DOMTokenList.prototype.toggle, with the optional\n // \"force\" parameter, in legacy browsers.\n // Support: IE\n (function checkDOMTokenListToggle() {\n if (!hasDOM || isNodeJS) {\n return;\n }\n const div = document.createElement(\"div\");\n if (div.classList.toggle(\"test\", 0) === false) {\n return;\n }\n\n DOMTokenList.prototype.toggle = function (token) {\n const force =\n arguments.length > 1 ? !!arguments[1] : !this.contains(token);\n return this[force ? \"add\" : \"remove\"](token), force;\n };\n })();\n\n // Provides support for window.history.{pushState, replaceState}, with the\n // `url` parameter set to `undefined`, without breaking the document URL.\n // Support: IE\n (function checkWindowHistoryPushStateReplaceState() {\n if (!hasDOM || !isIE) {\n return;\n }\n const OriginalPushState = window.history.pushState;\n const OriginalReplaceState = window.history.replaceState;\n\n window.history.pushState = function (state, title, url) {\n const args = url === undefined ? [state, title] : [state, title, url];\n OriginalPushState.apply(this, args);\n };\n window.history.replaceState = function (state, title, url) {\n const args = url === undefined ? [state, title] : [state, title, url];\n OriginalReplaceState.apply(this, args);\n };\n })();\n\n // Provides support for String.prototype.startsWith in legacy browsers.\n // Support: IE, Chrome<41\n (function checkStringStartsWith() {\n if (String.prototype.startsWith) {\n return;\n }\n require(\"core-js/es/string/starts-with.js\");\n })();\n\n // Provides support for String.prototype.endsWith in legacy browsers.\n // Support: IE, Chrome<41\n (function checkStringEndsWith() {\n if (String.prototype.endsWith) {\n return;\n }\n require(\"core-js/es/string/ends-with.js\");\n })();\n\n // Provides support for String.prototype.includes in legacy browsers.\n // Support: IE, Chrome<41\n (function checkStringIncludes() {\n if (String.prototype.includes) {\n return;\n }\n require(\"core-js/es/string/includes.js\");\n })();\n\n // Provides support for Array.prototype.includes in legacy browsers.\n // Support: IE, Chrome<47\n (function checkArrayIncludes() {\n if (Array.prototype.includes) {\n return;\n }\n require(\"core-js/es/array/includes.js\");\n })();\n\n // Provides support for Array.from in legacy browsers.\n // Support: IE\n (function checkArrayFrom() {\n if (Array.from) {\n return;\n }\n require(\"core-js/es/array/from.js\");\n })();\n\n // Provides support for Object.assign in legacy browsers.\n // Support: IE\n (function checkObjectAssign() {\n if (Object.assign) {\n return;\n }\n require(\"core-js/es/object/assign.js\");\n })();\n\n // Provides support for Math.log2 in legacy browsers.\n // Support: IE, Chrome<38\n (function checkMathLog2() {\n if (Math.log2) {\n return;\n }\n Math.log2 = require(\"core-js/es/math/log2.js\");\n })();\n\n // Provides support for Number.isNaN in legacy browsers.\n // Support: IE.\n (function checkNumberIsNaN() {\n if (Number.isNaN) {\n return;\n }\n Number.isNaN = require(\"core-js/es/number/is-nan.js\");\n })();\n\n // Provides support for Number.isInteger in legacy browsers.\n // Support: IE, Chrome<34\n (function checkNumberIsInteger() {\n if (Number.isInteger) {\n return;\n }\n Number.isInteger = require(\"core-js/es/number/is-integer.js\");\n })();\n\n // Provides support for TypedArray.prototype.slice in legacy browsers.\n // Support: IE\n (function checkTypedArraySlice() {\n if (Uint8Array.prototype.slice) {\n return;\n }\n require(\"core-js/es/typed-array/slice\");\n })();\n\n // Support: IE, Safari<11, Chrome<63\n (function checkPromise() {\n if (typeof PDFJSDev !== \"undefined\" && PDFJSDev.test(\"IMAGE_DECODERS\")) {\n // The current image decoders are synchronous, hence `Promise` shouldn't\n // need to be polyfilled for the IMAGE_DECODERS build target.\n return;\n }\n if (globalThis.Promise && globalThis.Promise.allSettled) {\n return;\n }\n globalThis.Promise = require(\"core-js/es/promise/index.js\");\n })();\n\n // Support: IE\n (function checkURL() {\n if (typeof PDFJSDev === \"undefined\" || !PDFJSDev.test(\"PRODUCTION\")) {\n // Prevent \"require is not a function\" errors in development mode,\n // since the `URL` constructor should be available in modern browers.\n return;\n } else if (!PDFJSDev.test(\"GENERIC\")) {\n // The `URL` constructor is assumed to be available in the extension\n // builds.\n return;\n } else if (PDFJSDev.test(\"IMAGE_DECODERS\")) {\n // The current image decoders don't use the `URL` constructor, so it\n // doesn't need to be polyfilled for the IMAGE_DECODERS build target.\n return;\n }\n globalThis.URL = require(\"core-js/web/url.js\");\n })();\n\n // Support: IE, Node.js\n (function checkReadableStream() {\n if (typeof PDFJSDev !== \"undefined\" && PDFJSDev.test(\"IMAGE_DECODERS\")) {\n // The current image decoders are synchronous, hence `ReadableStream`\n // shouldn't need to be polyfilled for the IMAGE_DECODERS build target.\n return;\n }\n let isReadableStreamSupported = false;\n\n if (typeof ReadableStream !== \"undefined\") {\n // MS Edge may say it has ReadableStream but they are not up to spec yet.\n try {\n // eslint-disable-next-line no-new\n new ReadableStream({\n start(controller) {\n controller.close();\n },\n });\n isReadableStreamSupported = true;\n } catch (e) {\n // The ReadableStream constructor cannot be used.\n }\n }\n if (isReadableStreamSupported) {\n return;\n }\n globalThis.ReadableStream = require(\"web-streams-polyfill/dist/ponyfill.js\").ReadableStream;\n })();\n\n // We want to support Map iteration, but it doesn't seem possible to easily\n // test for that specifically; hence using a similarly unsupported property.\n // Support: IE11\n (function checkMapEntries() {\n if (globalThis.Map && globalThis.Map.prototype.entries) {\n return;\n }\n globalThis.Map = require(\"core-js/es/map/index.js\");\n })();\n\n // We want to support Set iteration, but it doesn't seem possible to easily\n // test for that specifically; hence using a similarly unsupported property.\n // Support: IE11\n (function checkSetEntries() {\n if (globalThis.Set && globalThis.Set.prototype.entries) {\n return;\n }\n globalThis.Set = require(\"core-js/es/set/index.js\");\n })();\n\n // Support: IE<11, Safari<8, Chrome<36\n (function checkWeakMap() {\n if (globalThis.WeakMap) {\n return;\n }\n globalThis.WeakMap = require(\"core-js/es/weak-map/index.js\");\n })();\n\n // Support: IE11\n (function checkWeakSet() {\n if (globalThis.WeakSet) {\n return;\n }\n globalThis.WeakSet = require(\"core-js/es/weak-set/index.js\");\n })();\n\n // Provides support for String.codePointAt in legacy browsers.\n // Support: IE11.\n (function checkStringCodePointAt() {\n if (String.prototype.codePointAt) {\n return;\n }\n require(\"core-js/es/string/code-point-at.js\");\n })();\n\n // Provides support for String.fromCodePoint in legacy browsers.\n // Support: IE11.\n (function checkStringFromCodePoint() {\n if (String.fromCodePoint) {\n return;\n }\n String.fromCodePoint = require(\"core-js/es/string/from-code-point.js\");\n })();\n\n // Support: IE\n (function checkSymbol() {\n if (globalThis.Symbol) {\n return;\n }\n require(\"core-js/es/symbol/index.js\");\n })();\n\n // Provides support for String.prototype.padStart in legacy browsers.\n // Support: IE, Chrome<57\n (function checkStringPadStart() {\n if (String.prototype.padStart) {\n return;\n }\n require(\"core-js/es/string/pad-start.js\");\n })();\n\n // Provides support for String.prototype.padEnd in legacy browsers.\n // Support: IE, Chrome<57\n (function checkStringPadEnd() {\n if (String.prototype.padEnd) {\n return;\n }\n require(\"core-js/es/string/pad-end.js\");\n })();\n\n // Provides support for Object.values in legacy browsers.\n // Support: IE, Chrome<54\n (function checkObjectValues() {\n if (Object.values) {\n return;\n }\n Object.values = require(\"core-js/es/object/values.js\");\n })();\n}\n","/* Copyright 2018 Mozilla Foundation\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n/* globals process */\n\n// NW.js / Electron is a browser context, but copies some Node.js objects; see\n// http://docs.nwjs.io/en/latest/For%20Users/Advanced/JavaScript%20Contexts%20in%20NW.js/#access-nodejs-and-nwjs-api-in-browser-context\n// https://electronjs.org/docs/api/process#processversionselectron\nconst isNodeJS =\n typeof process === \"object\" &&\n process + \"\" === \"[object process]\" &&\n !process.versions.nw &&\n !process.versions.electron;\n\nexport { isNodeJS };\n","/* Copyright 2012 Mozilla Foundation\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n/* eslint no-var: error */\n\n/**\n * @module pdfjsLib\n */\n\nimport {\n AbortException,\n assert,\n createPromiseCapability,\n getVerbosityLevel,\n info,\n InvalidPDFException,\n isArrayBuffer,\n isSameOrigin,\n MissingPDFException,\n PasswordException,\n setVerbosityLevel,\n shadow,\n stringToBytes,\n UnexpectedResponseException,\n UnknownErrorException,\n unreachable,\n warn,\n} from \"../shared/util.js\";\nimport {\n deprecated,\n DOMCanvasFactory,\n DOMCMapReaderFactory,\n loadScript,\n PageViewport,\n RenderingCancelledException,\n StatTimer,\n} from \"./display_utils.js\";\nimport { FontFaceObject, FontLoader } from \"./font_loader.js\";\nimport { apiCompatibilityParams } from \"./api_compatibility.js\";\nimport { CanvasGraphics } from \"./canvas.js\";\nimport { GlobalWorkerOptions } from \"./worker_options.js\";\nimport { isNodeJS } from \"../shared/is_node.js\";\nimport { MessageHandler } from \"../shared/message_handler.js\";\nimport { Metadata } from \"./metadata.js\";\nimport { PDFDataTransportStream } from \"./transport_stream.js\";\nimport { WebGLContext } from \"./webgl.js\";\n\nconst DEFAULT_RANGE_CHUNK_SIZE = 65536; // 2^16 = 65536\nconst RENDERING_CANCELLED_TIMEOUT = 100; // ms\n\n/**\n * @typedef {function} IPDFStreamFactory\n * @param {DocumentInitParameters} params - The document initialization\n * parameters. The \"url\" key is always present.\n * @returns {Promise} A promise, which is resolved with an instance of\n * {IPDFStream}.\n * @ignore\n */\n\n/**\n * @type IPDFStreamFactory\n * @private\n */\nlet createPDFNetworkStream;\n\n/**\n * Sets the function that instantiates an {IPDFStream} as an alternative PDF\n * data transport.\n * @param {IPDFStreamFactory} pdfNetworkStreamFactory - The factory function\n * that takes document initialization parameters (including a \"url\") and\n * returns a promise which is resolved with an instance of {IPDFStream}.\n * @ignore\n */\nfunction setPDFNetworkStreamFactory(pdfNetworkStreamFactory) {\n createPDFNetworkStream = pdfNetworkStreamFactory;\n}\n\n/**\n * Document initialization / loading parameters object.\n *\n * @typedef {Object} DocumentInitParameters\n * @property {string} [url] - The URL of the PDF.\n * @property {TypedArray|Array|string} [data] - Binary PDF data. Use typed\n * arrays (Uint8Array) to improve the memory usage. If PDF data is\n * BASE64-encoded, use atob() to convert it to a binary string first.\n * @property {Object} [httpHeaders] - Basic authentication headers.\n * @property {boolean} [withCredentials] - Indicates whether or not\n * cross-site Access-Control requests should be made using credentials such\n * as cookies or authorization headers. The default is false.\n * @property {string} [password] - For decrypting password-protected PDFs.\n * @property {TypedArray} [initialData] - A typed array with the first portion\n * or all of the pdf data. Used by the extension since some data is already\n * loaded before the switch to range requests.\n * @property {number} [length] - The PDF file length. It's used for\n * progress reports and range requests operations.\n * @property {PDFDataRangeTransport} [range]\n * @property {number} [rangeChunkSize] - Specify maximum number of bytes\n * fetched per range request. The default value is 2^16 = 65536.\n * @property {PDFWorker} [worker] - The worker that will be used for\n * the loading and parsing of the PDF data.\n * @property {number} [verbosity] - Controls the logging level; the\n * constants from {VerbosityLevel} should be used.\n * @property {string} [docBaseUrl] - The base URL of the document,\n * used when attempting to recover valid absolute URLs for annotations, and\n * outline items, that (incorrectly) only specify relative URLs.\n * @property {string} [cMapUrl] - The URL where the predefined\n * Adobe CMaps are located. Include trailing slash.\n * @property {boolean} [cMapPacked] - Specifies if the Adobe CMaps are\n * binary packed.\n * @property {Object} [CMapReaderFactory] - The factory that will be\n * used when reading built-in CMap files. Providing a custom factory is useful\n * for environments without `XMLHttpRequest` support, such as e.g. Node.js.\n * The default value is {DOMCMapReaderFactory}.\n * @property {boolean} [stopAtErrors] - Reject certain promises, e.g.\n * `getOperatorList`, `getTextContent`, and `RenderTask`, when the associated\n * PDF data cannot be successfully parsed, instead of attempting to recover\n * whatever possible of the data. The default value is `false`.\n * @property {number} [maxImageSize] - The maximum allowed image size\n * in total pixels, i.e. width * height. Images above this value will not be\n * rendered. Use -1 for no limit, which is also the default value.\n * @property {boolean} [isEvalSupported] - Determines if we can eval\n * strings as JS. Primarily used to improve performance of font rendering,\n * and when parsing PDF functions. The default value is `true`.\n * @property {boolean} [disableFontFace] - By default fonts are\n * converted to OpenType fonts and loaded via font face rules. If disabled,\n * fonts will be rendered using a built-in font renderer that constructs the\n * glyphs with primitive path commands. The default value is `false`.\n * @property {boolean} [fontExtraProperties] - Include additional properties,\n * which are unused during rendering of PDF documents, when exporting the\n * parsed font data from the worker-thread. This may be useful for debugging\n * purposes (and backwards compatibility), but note that it will lead to\n * increased memory usage. The default value is `false`.\n * @property {boolean} [disableRange] - Disable range request loading\n * of PDF files. When enabled, and if the server supports partial content\n * requests, then the PDF will be fetched in chunks.\n * The default value is `false`.\n * @property {boolean} [disableStream] - Disable streaming of PDF file\n * data. By default PDF.js attempts to load PDFs in chunks.\n * The default value is `false`.\n * @property {boolean} [disableAutoFetch] - Disable pre-fetching of PDF\n * file data. When range requests are enabled PDF.js will automatically keep\n * fetching more data even if it isn't needed to display the current page.\n * The default value is `false`.\n * NOTE: It is also necessary to disable streaming, see above,\n * in order for disabling of pre-fetching to work correctly.\n * @property {boolean} [pdfBug] - Enables special hooks for debugging\n * PDF.js (see `web/debugger.js`). The default value is `false`.\n */\n\n/**\n * @typedef {Object} PDFDocumentStats\n * @property {Object} streamTypes - Used stream types in the document (an item\n * is set to true if specific stream ID was used in the document).\n * @property {Object} fontTypes - Used font types in the document (an item\n * is set to true if specific font ID was used in the document).\n */\n\n/**\n * This is the main entry point for loading a PDF and interacting with it.\n * NOTE: If a URL is used to fetch the PDF data a standard XMLHttpRequest(XHR)\n * is used, which means it must follow the same origin rules that any XHR does\n * e.g. No cross domain requests without CORS.\n *\n * @param {string|TypedArray|DocumentInitParameters|PDFDataRangeTransport} src\n * Can be a url to where a PDF is located, a typed array (Uint8Array)\n * already populated with data or parameter object.\n * @returns {PDFDocumentLoadingTask}\n */\nfunction getDocument(src) {\n const task = new PDFDocumentLoadingTask();\n\n let source;\n if (typeof src === \"string\") {\n source = { url: src };\n } else if (isArrayBuffer(src)) {\n source = { data: src };\n } else if (src instanceof PDFDataRangeTransport) {\n source = { range: src };\n } else {\n if (typeof src !== \"object\") {\n throw new Error(\n \"Invalid parameter in getDocument, \" +\n \"need either Uint8Array, string or a parameter object\"\n );\n }\n if (!src.url && !src.data && !src.range) {\n throw new Error(\n \"Invalid parameter object: need either .data, .range or .url\"\n );\n }\n source = src;\n }\n const params = Object.create(null);\n let rangeTransport = null,\n worker = null;\n\n for (const key in source) {\n if (key === \"url\" && typeof window !== \"undefined\") {\n // The full path is required in the 'url' field.\n params[key] = new URL(source[key], window.location).href;\n continue;\n } else if (key === \"range\") {\n rangeTransport = source[key];\n continue;\n } else if (key === \"worker\") {\n worker = source[key];\n continue;\n } else if (key === \"data\" && !(source[key] instanceof Uint8Array)) {\n // Converting string or array-like data to Uint8Array.\n const pdfBytes = source[key];\n if (typeof pdfBytes === \"string\") {\n params[key] = stringToBytes(pdfBytes);\n } else if (\n typeof pdfBytes === \"object\" &&\n pdfBytes !== null &&\n !isNaN(pdfBytes.length)\n ) {\n params[key] = new Uint8Array(pdfBytes);\n } else if (isArrayBuffer(pdfBytes)) {\n params[key] = new Uint8Array(pdfBytes);\n } else {\n throw new Error(\n \"Invalid PDF binary data: either typed array, \" +\n \"string or array-like object is expected in the \" +\n \"data property.\"\n );\n }\n continue;\n }\n params[key] = source[key];\n }\n\n params.rangeChunkSize = params.rangeChunkSize || DEFAULT_RANGE_CHUNK_SIZE;\n params.CMapReaderFactory = params.CMapReaderFactory || DOMCMapReaderFactory;\n params.ignoreErrors = params.stopAtErrors !== true;\n params.fontExtraProperties = params.fontExtraProperties === true;\n params.pdfBug = params.pdfBug === true;\n\n if (!Number.isInteger(params.maxImageSize)) {\n params.maxImageSize = -1;\n }\n if (typeof params.isEvalSupported !== \"boolean\") {\n params.isEvalSupported = true;\n }\n if (typeof params.disableFontFace !== \"boolean\") {\n params.disableFontFace = apiCompatibilityParams.disableFontFace || false;\n }\n\n if (typeof params.disableRange !== \"boolean\") {\n params.disableRange = false;\n }\n if (typeof params.disableStream !== \"boolean\") {\n params.disableStream = false;\n }\n if (typeof params.disableAutoFetch !== \"boolean\") {\n params.disableAutoFetch = false;\n }\n\n // Set the main-thread verbosity level.\n setVerbosityLevel(params.verbosity);\n\n if (!worker) {\n const workerParams = {\n verbosity: params.verbosity,\n port: GlobalWorkerOptions.workerPort,\n };\n // Worker was not provided -- creating and owning our own. If message port\n // is specified in global worker options, using it.\n worker = workerParams.port\n ? PDFWorker.fromPort(workerParams)\n : new PDFWorker(workerParams);\n task._worker = worker;\n }\n const docId = task.docId;\n worker.promise\n .then(function () {\n if (task.destroyed) {\n throw new Error(\"Loading aborted\");\n }\n\n const workerIdPromise = _fetchDocument(\n worker,\n params,\n rangeTransport,\n docId\n );\n const networkStreamPromise = new Promise(function (resolve) {\n let networkStream;\n if (rangeTransport) {\n networkStream = new PDFDataTransportStream(\n {\n length: params.length,\n initialData: params.initialData,\n progressiveDone: params.progressiveDone,\n disableRange: params.disableRange,\n disableStream: params.disableStream,\n },\n rangeTransport\n );\n } else if (!params.data) {\n networkStream = createPDFNetworkStream({\n url: params.url,\n length: params.length,\n httpHeaders: params.httpHeaders,\n withCredentials: params.withCredentials,\n rangeChunkSize: params.rangeChunkSize,\n disableRange: params.disableRange,\n disableStream: params.disableStream,\n });\n }\n resolve(networkStream);\n });\n\n return Promise.all([workerIdPromise, networkStreamPromise]).then(\n function ([workerId, networkStream]) {\n if (task.destroyed) {\n throw new Error(\"Loading aborted\");\n }\n\n const messageHandler = new MessageHandler(\n docId,\n workerId,\n worker.port\n );\n messageHandler.postMessageTransfers = worker.postMessageTransfers;\n const transport = new WorkerTransport(\n messageHandler,\n task,\n networkStream,\n params\n );\n task._transport = transport;\n messageHandler.send(\"Ready\", null);\n }\n );\n })\n .catch(task._capability.reject);\n\n return task;\n}\n\n/**\n * Starts fetching of specified PDF document/data.\n * @param {PDFWorker} worker\n * @param {Object} source\n * @param {PDFDataRangeTransport} pdfDataRangeTransport\n * @param {string} docId Unique document id, used as MessageHandler id.\n * @returns {Promise} The promise, which is resolved when worker id of\n * MessageHandler is known.\n * @private\n */\nfunction _fetchDocument(worker, source, pdfDataRangeTransport, docId) {\n if (worker.destroyed) {\n return Promise.reject(new Error(\"Worker was destroyed\"));\n }\n\n if (pdfDataRangeTransport) {\n source.length = pdfDataRangeTransport.length;\n source.initialData = pdfDataRangeTransport.initialData;\n source.progressiveDone = pdfDataRangeTransport.progressiveDone;\n }\n return worker.messageHandler\n .sendWithPromise(\"GetDocRequest\", {\n docId,\n apiVersion:\n typeof PDFJSDev !== \"undefined\" && !PDFJSDev.test(\"TESTING\")\n ? PDFJSDev.eval(\"BUNDLE_VERSION\")\n : null,\n // Only send the required properties, and *not* the entire object.\n source: {\n data: source.data,\n url: source.url,\n password: source.password,\n disableAutoFetch: source.disableAutoFetch,\n rangeChunkSize: source.rangeChunkSize,\n length: source.length,\n },\n maxImageSize: source.maxImageSize,\n disableFontFace: source.disableFontFace,\n postMessageTransfers: worker.postMessageTransfers,\n docBaseUrl: source.docBaseUrl,\n ignoreErrors: source.ignoreErrors,\n isEvalSupported: source.isEvalSupported,\n fontExtraProperties: source.fontExtraProperties,\n })\n .then(function (workerId) {\n if (worker.destroyed) {\n throw new Error(\"Worker was destroyed\");\n }\n return workerId;\n });\n}\n\nconst PDFDocumentLoadingTask = (function PDFDocumentLoadingTaskClosure() {\n let nextDocumentId = 0;\n\n /**\n * The loading task controls the operations required to load a PDF document\n * (such as network requests) and provides a way to listen for completion,\n * after which individual pages can be rendered.\n */\n // eslint-disable-next-line no-shadow\n class PDFDocumentLoadingTask {\n constructor() {\n this._capability = createPromiseCapability();\n this._transport = null;\n this._worker = null;\n\n /**\n * Unique document loading task id -- used in MessageHandlers.\n * @type {string}\n */\n this.docId = \"d\" + nextDocumentId++;\n\n /**\n * Shows if loading task is destroyed.\n * @type {boolean}\n */\n this.destroyed = false;\n\n /**\n * Callback to request a password if wrong or no password was provided.\n * The callback receives two parameters: function that needs to be called\n * with new password and reason (see {PasswordResponses}).\n */\n this.onPassword = null;\n\n /**\n * Callback to be able to monitor the loading progress of the PDF file\n * (necessary to implement e.g. a loading bar). The callback receives\n * an {Object} with the properties: {number} loaded and {number} total.\n */\n this.onProgress = null;\n\n /**\n * Callback to when unsupported feature is used. The callback receives\n * an {UNSUPPORTED_FEATURES} argument.\n */\n this.onUnsupportedFeature = null;\n }\n\n /**\n * Promise for document loading task completion.\n * @type {Promise}\n */\n get promise() {\n return this._capability.promise;\n }\n\n /**\n * Aborts all network requests and destroys worker.\n * @returns {Promise} A promise that is resolved after destruction activity\n * is completed.\n */\n destroy() {\n this.destroyed = true;\n\n const transportDestroyed = !this._transport\n ? Promise.resolve()\n : this._transport.destroy();\n return transportDestroyed.then(() => {\n this._transport = null;\n if (this._worker) {\n this._worker.destroy();\n this._worker = null;\n }\n });\n }\n }\n return PDFDocumentLoadingTask;\n})();\n\n/**\n * Abstract class to support range requests file loading.\n * @param {number} length\n * @param {Uint8Array} initialData\n * @param {boolean} progressiveDone\n */\nclass PDFDataRangeTransport {\n constructor(length, initialData, progressiveDone = false) {\n this.length = length;\n this.initialData = initialData;\n this.progressiveDone = progressiveDone;\n\n this._rangeListeners = [];\n this._progressListeners = [];\n this._progressiveReadListeners = [];\n this._progressiveDoneListeners = [];\n this._readyCapability = createPromiseCapability();\n }\n\n addRangeListener(listener) {\n this._rangeListeners.push(listener);\n }\n\n addProgressListener(listener) {\n this._progressListeners.push(listener);\n }\n\n addProgressiveReadListener(listener) {\n this._progressiveReadListeners.push(listener);\n }\n\n addProgressiveDoneListener(listener) {\n this._progressiveDoneListeners.push(listener);\n }\n\n onDataRange(begin, chunk) {\n for (const listener of this._rangeListeners) {\n listener(begin, chunk);\n }\n }\n\n onDataProgress(loaded, total) {\n this._readyCapability.promise.then(() => {\n for (const listener of this._progressListeners) {\n listener(loaded, total);\n }\n });\n }\n\n onDataProgressiveRead(chunk) {\n this._readyCapability.promise.then(() => {\n for (const listener of this._progressiveReadListeners) {\n listener(chunk);\n }\n });\n }\n\n onDataProgressiveDone() {\n this._readyCapability.promise.then(() => {\n for (const listener of this._progressiveDoneListeners) {\n listener();\n }\n });\n }\n\n transportReady() {\n this._readyCapability.resolve();\n }\n\n requestDataRange(begin, end) {\n unreachable(\"Abstract method PDFDataRangeTransport.requestDataRange\");\n }\n\n abort() {}\n}\n\n/**\n * Proxy to a PDFDocument in the worker thread. Also, contains commonly used\n * properties that can be read synchronously.\n */\nclass PDFDocumentProxy {\n constructor(pdfInfo, transport) {\n this._pdfInfo = pdfInfo;\n this._transport = transport;\n }\n\n /**\n * @type {number} Total number of pages the PDF contains.\n */\n get numPages() {\n return this._pdfInfo.numPages;\n }\n\n /**\n * @type {string} A (not guaranteed to be) unique ID to identify a PDF.\n */\n get fingerprint() {\n return this._pdfInfo.fingerprint;\n }\n\n /**\n * @param {number} pageNumber - The page number to get. The first page is 1.\n * @returns {Promise} A promise that is resolved with a {@link PDFPageProxy}\n * object.\n */\n getPage(pageNumber) {\n return this._transport.getPage(pageNumber);\n }\n\n /**\n * @param {{num: number, gen: number}} ref - The page reference. Must have\n * the `num` and `gen` properties.\n * @returns {Promise} A promise that is resolved with the page index (starting\n * from zero) that is associated with the reference.\n */\n getPageIndex(ref) {\n return this._transport.getPageIndex(ref);\n }\n\n /**\n * @returns {Promise} A promise that is resolved with a lookup table for\n * mapping named destinations to reference numbers.\n *\n * This can be slow for large documents. Use `getDestination` instead.\n */\n getDestinations() {\n return this._transport.getDestinations();\n }\n\n /**\n * @param {string} id - The named destination to get.\n * @returns {Promise} A promise that is resolved with all information\n * of the given named destination.\n */\n getDestination(id) {\n return this._transport.getDestination(id);\n }\n\n /**\n * @returns {Promise} A promise that is resolved with an {Array} containing\n * the page labels that correspond to the page indexes, or `null` when\n * no page labels are present in the PDF file.\n */\n getPageLabels() {\n return this._transport.getPageLabels();\n }\n\n /**\n * @returns {Promise} A promise that is resolved with a {string} containing\n * the page layout name.\n */\n getPageLayout() {\n return this._transport.getPageLayout();\n }\n\n /**\n * @returns {Promise} A promise that is resolved with a {string} containing\n * the page mode name.\n */\n getPageMode() {\n return this._transport.getPageMode();\n }\n\n /**\n * @returns {Promise} A promise that is resolved with an {Object} containing\n * the viewer preferences, or `null` when no viewer preferences are present\n * in the PDF file.\n */\n getViewerPreferences() {\n return this._transport.getViewerPreferences();\n }\n\n /**\n * @returns {Promise} A promise that is resolved with an {Object} containing\n * the currently supported actions, or `null` when no OpenAction exists.\n */\n getOpenAction() {\n return this._transport.getOpenAction();\n }\n\n getOpenActionDestination() {\n deprecated(\"getOpenActionDestination, use getOpenAction instead.\");\n return this.getOpenAction().then(function (openAction) {\n return openAction && openAction.dest ? openAction.dest : null;\n });\n }\n\n /**\n * @returns {Promise} A promise that is resolved with a lookup table for\n * mapping named attachments to their content.\n */\n getAttachments() {\n return this._transport.getAttachments();\n }\n\n /**\n * @returns {Promise} A promise that is resolved with an {Array} of all the\n * JavaScript strings in the name tree, or `null` if no JavaScript exists.\n */\n getJavaScript() {\n return this._transport.getJavaScript();\n }\n\n /**\n * @returns {Promise} A promise that is resolved with an {Array} that is a\n * tree outline (if it has one) of the PDF. The tree is in the format of:\n * [\n * {\n * title: string,\n * bold: boolean,\n * italic: boolean,\n * color: rgb Uint8ClampedArray,\n * count: integer or undefined,\n * dest: dest obj,\n * url: string,\n * items: array of more items like this\n * },\n * ...\n * ]\n */\n getOutline() {\n return this._transport.getOutline();\n }\n\n /**\n * @returns {Promise} A promise that is resolved with an {Array} that contains\n * the permission flags for the PDF document, or `null` when\n * no permissions are present in the PDF file.\n */\n getPermissions() {\n return this._transport.getPermissions();\n }\n\n /**\n * @returns {Promise} A promise that is resolved with an {Object} that has\n * `info` and `metadata` properties. `info` is an {Object} filled with\n * anything available in the information dictionary and similarly\n * `metadata` is a {Metadata} object with information from the metadata\n * section of the PDF.\n */\n getMetadata() {\n return this._transport.getMetadata();\n }\n\n /**\n * @returns {Promise} A promise that is resolved with a {TypedArray} that has\n * the raw data from the PDF.\n */\n getData() {\n return this._transport.getData();\n }\n\n /**\n * @returns {Promise} A promise that is resolved when the document's data\n * is loaded. It is resolved with an {Object} that contains the `length`\n * property that indicates size of the PDF data in bytes.\n */\n getDownloadInfo() {\n return this._transport.downloadInfoCapability.promise;\n }\n\n /**\n * @returns {Promise} A promise this is resolved with current statistics about\n * document structures (see {@link PDFDocumentStats}).\n */\n getStats() {\n return this._transport.getStats();\n }\n\n /**\n * Cleans up resources allocated by the document, on both the main- and\n * worker-threads.\n *\n * NOTE: Do not, under any circumstances, call this method when rendering is\n * currently ongoing since that may lead to rendering errors.\n *\n * @returns {Promise} A promise that is resolved when clean-up has finished.\n */\n cleanup() {\n return this._transport.startCleanup();\n }\n\n /**\n * Destroys the current document instance and terminates the worker.\n */\n destroy() {\n return this.loadingTask.destroy();\n }\n\n /**\n * @type {Object} A subset of the current {DocumentInitParameters}, which are\n * either needed in the viewer and/or whose default values may be affected\n * by the `apiCompatibilityParams`.\n */\n get loadingParams() {\n return this._transport.loadingParams;\n }\n\n /**\n * @type {PDFDocumentLoadingTask} The loadingTask for the current document.\n */\n get loadingTask() {\n return this._transport.loadingTask;\n }\n}\n\n/**\n * Page getViewport parameters.\n *\n * @typedef {Object} GetViewportParameters\n * @property {number} scale - The desired scale of the viewport.\n * @property {number} [rotation] - The desired rotation, in degrees, of\n * the viewport. If omitted it defaults to the page rotation.\n * @property {number} [offsetX] - The horizontal, i.e. x-axis, offset.\n * The default value is `0`.\n * @property {number} [offsetY] - The vertical, i.e. y-axis, offset.\n * The default value is `0`.\n * @property {boolean} [dontFlip] - If true, the y-axis will not be\n * flipped. The default value is `false`.\n */\n\n/**\n * Page getTextContent parameters.\n *\n * @typedef {Object} getTextContentParameters\n * @property {boolean} normalizeWhitespace - replaces all occurrences of\n * whitespace with standard spaces (0x20). The default value is `false`.\n * @property {boolean} disableCombineTextItems - do not attempt to combine\n * same line {@link TextItem}'s. The default value is `false`.\n */\n\n/**\n * Page text content.\n *\n * @typedef {Object} TextContent\n * @property {array} items - array of {@link TextItem}\n * @property {Object} styles - {@link TextStyle} objects, indexed by font name.\n */\n\n/**\n * Page text content part.\n *\n * @typedef {Object} TextItem\n * @property {string} str - text content.\n * @property {string} dir - text direction: 'ttb', 'ltr' or 'rtl'.\n * @property {array} transform - transformation matrix.\n * @property {number} width - width in device space.\n * @property {number} height - height in device space.\n * @property {string} fontName - font name used by pdf.js for converted font.\n */\n\n/**\n * Text style.\n *\n * @typedef {Object} TextStyle\n * @property {number} ascent - font ascent.\n * @property {number} descent - font descent.\n * @property {boolean} vertical - text is in vertical mode.\n * @property {string} fontFamily - possible font family\n */\n\n/**\n * Page annotation parameters.\n *\n * @typedef {Object} GetAnnotationsParameters\n * @property {string} intent - Determines the annotations that will be fetched,\n * can be either 'display' (viewable annotations) or 'print'\n * (printable annotations).\n * If the parameter is omitted, all annotations are fetched.\n */\n\n/**\n * Page render parameters.\n *\n * @typedef {Object} RenderParameters\n * @property {Object} canvasContext - A 2D context of a DOM Canvas object.\n * @property {PageViewport} viewport - Rendering viewport obtained by\n * calling the `PDFPageProxy.getViewport` method.\n * @property {string} [intent] - Rendering intent, can be 'display' or 'print'\n * (default value is 'display').\n * @property {boolean} [enableWebGL] - Enables WebGL accelerated rendering\n * for some operations. The default value is `false`.\n * @property {boolean} [renderInteractiveForms] - Whether or not\n * interactive form elements are rendered in the display\n * layer. If so, we do not render them on canvas as well.\n * @property {Array} [transform] - Additional transform, applied\n * just before viewport transform.\n * @property {Object} [imageLayer] - An object that has beginLayout,\n * endLayout and appendImage functions.\n * @property {Object} [canvasFactory] - The factory that will be used\n * when creating canvases. The default value is\n * {DOMCanvasFactory}.\n * @property {Object} [background] - Background to use for the canvas.\n * Can use any valid canvas.fillStyle: A DOMString parsed as\n * CSS <color> value, a CanvasGradient object (a linear or\n * radial gradient) or a CanvasPattern object (a repetitive\n * image). The default value is 'rgb(255,255,255)'.\n */\n\n/**\n * PDF page operator list.\n *\n * @typedef {Object} PDFOperatorList\n * @property {Array} fnArray - Array containing the operator functions.\n * @property {Array} argsArray - Array containing the arguments of the\n * functions.\n */\n\n/**\n * Proxy to a PDFPage in the worker thread.\n * @alias PDFPageProxy\n */\nclass PDFPageProxy {\n constructor(pageIndex, pageInfo, transport, pdfBug = false) {\n this._pageIndex = pageIndex;\n this._pageInfo = pageInfo;\n this._transport = transport;\n this._stats = pdfBug ? new StatTimer() : null;\n this._pdfBug = pdfBug;\n this.commonObjs = transport.commonObjs;\n this.objs = new PDFObjects();\n\n this.cleanupAfterRender = false;\n this.pendingCleanup = false;\n this.intentStates = Object.create(null);\n this.destroyed = false;\n }\n\n /**\n * @type {number} Page number of the page. First page is 1.\n */\n get pageNumber() {\n return this._pageIndex + 1;\n }\n\n /**\n * @type {number} The number of degrees the page is rotated clockwise.\n */\n get rotate() {\n return this._pageInfo.rotate;\n }\n\n /**\n * @type {Object} The reference that points to this page. It has `num` and\n * `gen` properties.\n */\n get ref() {\n return this._pageInfo.ref;\n }\n\n /**\n * @type {number} The default size of units in 1/72nds of an inch.\n */\n get userUnit() {\n return this._pageInfo.userUnit;\n }\n\n /**\n * @type {Array} An array of the visible portion of the PDF page in user\n * space units [x1, y1, x2, y2].\n */\n get view() {\n return this._pageInfo.view;\n }\n\n /**\n * @param {GetViewportParameters} params - Viewport parameters.\n * @returns {PageViewport} Contains 'width' and 'height' properties\n * along with transforms required for rendering.\n */\n getViewport({\n scale,\n rotation = this.rotate,\n offsetX = 0,\n offsetY = 0,\n dontFlip = false,\n } = {}) {\n return new PageViewport({\n viewBox: this.view,\n scale,\n rotation,\n offsetX,\n offsetY,\n dontFlip,\n });\n }\n\n /**\n * @param {GetAnnotationsParameters} params - Annotation parameters.\n * @returns {Promise} A promise that is resolved with an {Array} of the\n * annotation objects.\n */\n getAnnotations({ intent = null } = {}) {\n if (!this.annotationsPromise || this.annotationsIntent !== intent) {\n this.annotationsPromise = this._transport.getAnnotations(\n this._pageIndex,\n intent\n );\n this.annotationsIntent = intent;\n }\n return this.annotationsPromise;\n }\n\n /**\n * Begins the process of rendering a page to the desired context.\n * @param {RenderParameters} params Page render parameters.\n * @returns {RenderTask} An object that contains the promise, which\n * is resolved when the page finishes rendering.\n */\n render({\n canvasContext,\n viewport,\n intent = \"display\",\n enableWebGL = false,\n renderInteractiveForms = false,\n transform = null,\n imageLayer = null,\n canvasFactory = null,\n background = null,\n }) {\n if (this._stats) {\n this._stats.time(\"Overall\");\n }\n\n const renderingIntent = intent === \"print\" ? \"print\" : \"display\";\n // If there was a pending destroy, cancel it so no cleanup happens during\n // this call to render.\n this.pendingCleanup = false;\n\n if (!this.intentStates[renderingIntent]) {\n this.intentStates[renderingIntent] = Object.create(null);\n }\n const intentState = this.intentStates[renderingIntent];\n\n // Ensure that a pending `streamReader` cancel timeout is always aborted.\n if (intentState.streamReaderCancelTimeout) {\n clearTimeout(intentState.streamReaderCancelTimeout);\n intentState.streamReaderCancelTimeout = null;\n }\n\n const canvasFactoryInstance = canvasFactory || new DOMCanvasFactory();\n const webGLContext = new WebGLContext({\n enable: enableWebGL,\n });\n\n // If there's no displayReadyCapability yet, then the operatorList\n // was never requested before. Make the request and create the promise.\n if (!intentState.displayReadyCapability) {\n intentState.displayReadyCapability = createPromiseCapability();\n intentState.operatorList = {\n fnArray: [],\n argsArray: [],\n lastChunk: false,\n };\n\n if (this._stats) {\n this._stats.time(\"Page Request\");\n }\n this._pumpOperatorList({\n pageIndex: this._pageIndex,\n intent: renderingIntent,\n renderInteractiveForms: renderInteractiveForms === true,\n });\n }\n\n const complete = error => {\n const i = intentState.renderTasks.indexOf(internalRenderTask);\n if (i >= 0) {\n intentState.renderTasks.splice(i, 1);\n }\n\n // Attempt to reduce memory usage during *printing*, by always running\n // cleanup once rendering has finished (regardless of cleanupAfterRender).\n if (this.cleanupAfterRender || renderingIntent === \"print\") {\n this.pendingCleanup = true;\n }\n this._tryCleanup();\n\n if (error) {\n internalRenderTask.capability.reject(error);\n\n this._abortOperatorList({\n intentState,\n reason: error,\n });\n } else {\n internalRenderTask.capability.resolve();\n }\n if (this._stats) {\n this._stats.timeEnd(\"Rendering\");\n this._stats.timeEnd(\"Overall\");\n }\n };\n\n const internalRenderTask = new InternalRenderTask({\n callback: complete,\n // Only include the required properties, and *not* the entire object.\n params: {\n canvasContext,\n viewport,\n transform,\n imageLayer,\n background,\n },\n objs: this.objs,\n commonObjs: this.commonObjs,\n operatorList: intentState.operatorList,\n pageIndex: this._pageIndex,\n canvasFactory: canvasFactoryInstance,\n webGLContext,\n useRequestAnimationFrame: renderingIntent !== \"print\",\n pdfBug: this._pdfBug,\n });\n\n if (!intentState.renderTasks) {\n intentState.renderTasks = [];\n }\n intentState.renderTasks.push(internalRenderTask);\n const renderTask = internalRenderTask.task;\n\n intentState.displayReadyCapability.promise\n .then(transparency => {\n if (this.pendingCleanup) {\n complete();\n return;\n }\n if (this._stats) {\n this._stats.time(\"Rendering\");\n }\n internalRenderTask.initializeGraphics(transparency);\n internalRenderTask.operatorListChanged();\n })\n .catch(complete);\n\n return renderTask;\n }\n\n /**\n * @returns {Promise} A promise resolved with an {@link PDFOperatorList}\n * object that represents page's operator list.\n */\n getOperatorList() {\n function operatorListChanged() {\n if (intentState.operatorList.lastChunk) {\n intentState.opListReadCapability.resolve(intentState.operatorList);\n\n const i = intentState.renderTasks.indexOf(opListTask);\n if (i >= 0) {\n intentState.renderTasks.splice(i, 1);\n }\n }\n }\n\n const renderingIntent = \"oplist\";\n if (!this.intentStates[renderingIntent]) {\n this.intentStates[renderingIntent] = Object.create(null);\n }\n const intentState = this.intentStates[renderingIntent];\n let opListTask;\n\n if (!intentState.opListReadCapability) {\n opListTask = {};\n opListTask.operatorListChanged = operatorListChanged;\n intentState.opListReadCapability = createPromiseCapability();\n intentState.renderTasks = [];\n intentState.renderTasks.push(opListTask);\n intentState.operatorList = {\n fnArray: [],\n argsArray: [],\n lastChunk: false,\n };\n\n if (this._stats) {\n this._stats.time(\"Page Request\");\n }\n this._pumpOperatorList({\n pageIndex: this._pageIndex,\n intent: renderingIntent,\n });\n }\n return intentState.opListReadCapability.promise;\n }\n\n /**\n * @param {getTextContentParameters} params - getTextContent parameters.\n * @returns {ReadableStream} ReadableStream to read textContent chunks.\n */\n streamTextContent({\n normalizeWhitespace = false,\n disableCombineTextItems = false,\n } = {}) {\n const TEXT_CONTENT_CHUNK_SIZE = 100;\n\n return this._transport.messageHandler.sendWithStream(\n \"GetTextContent\",\n {\n pageIndex: this._pageIndex,\n normalizeWhitespace: normalizeWhitespace === true,\n combineTextItems: disableCombineTextItems !== true,\n },\n {\n highWaterMark: TEXT_CONTENT_CHUNK_SIZE,\n size(textContent) {\n return textContent.items.length;\n },\n }\n );\n }\n\n /**\n * @param {getTextContentParameters} params - getTextContent parameters.\n * @returns {Promise} That is resolved a {@link TextContent}\n * object that represent the page text content.\n */\n getTextContent(params = {}) {\n const readableStream = this.streamTextContent(params);\n\n return new Promise(function (resolve, reject) {\n function pump() {\n reader.read().then(function ({ value, done }) {\n if (done) {\n resolve(textContent);\n return;\n }\n Object.assign(textContent.styles, value.styles);\n textContent.items.push(...value.items);\n pump();\n }, reject);\n }\n\n const reader = readableStream.getReader();\n const textContent = {\n items: [],\n styles: Object.create(null),\n };\n pump();\n });\n }\n\n /**\n * Destroys the page object.\n * @private\n */\n _destroy() {\n this.destroyed = true;\n this._transport.pageCache[this._pageIndex] = null;\n\n const waitOn = [];\n Object.keys(this.intentStates).forEach(intent => {\n const intentState = this.intentStates[intent];\n this._abortOperatorList({\n intentState,\n reason: new Error(\"Page was destroyed.\"),\n force: true,\n });\n\n if (intent === \"oplist\") {\n // Avoid errors below, since the renderTasks are just stubs.\n return;\n }\n intentState.renderTasks.forEach(function (renderTask) {\n const renderCompleted = renderTask.capability.promise.catch(\n function () {}\n ); // ignoring failures\n waitOn.push(renderCompleted);\n renderTask.cancel();\n });\n });\n this.objs.clear();\n this.annotationsPromise = null;\n this.pendingCleanup = false;\n return Promise.all(waitOn);\n }\n\n /**\n * Cleans up resources allocated by the page.\n * @param {boolean} [resetStats] - Reset page stats, if enabled.\n * The default value is `false`.\n * @returns {boolean} Indicating if clean-up was successfully run.\n */\n cleanup(resetStats = false) {\n this.pendingCleanup = true;\n return this._tryCleanup(resetStats);\n }\n\n /**\n * Attempts to clean up if rendering is in a state where that's possible.\n * @private\n */\n _tryCleanup(resetStats = false) {\n if (\n !this.pendingCleanup ||\n Object.keys(this.intentStates).some(intent => {\n const intentState = this.intentStates[intent];\n return (\n intentState.renderTasks.length !== 0 ||\n !intentState.operatorList.lastChunk\n );\n })\n ) {\n return false;\n }\n\n Object.keys(this.intentStates).forEach(intent => {\n delete this.intentStates[intent];\n });\n this.objs.clear();\n this.annotationsPromise = null;\n if (resetStats && this._stats) {\n this._stats = new StatTimer();\n }\n this.pendingCleanup = false;\n return true;\n }\n\n /**\n * @private\n */\n _startRenderPage(transparency, intent) {\n const intentState = this.intentStates[intent];\n if (!intentState) {\n return; // Rendering was cancelled.\n }\n if (this._stats) {\n this._stats.timeEnd(\"Page Request\");\n }\n // TODO Refactor RenderPageRequest to separate rendering\n // and operator list logic\n if (intentState.displayReadyCapability) {\n intentState.displayReadyCapability.resolve(transparency);\n }\n }\n\n /**\n * @private\n */\n _renderPageChunk(operatorListChunk, intentState) {\n // Add the new chunk to the current operator list.\n for (let i = 0, ii = operatorListChunk.length; i < ii; i++) {\n intentState.operatorList.fnArray.push(operatorListChunk.fnArray[i]);\n intentState.operatorList.argsArray.push(operatorListChunk.argsArray[i]);\n }\n intentState.operatorList.lastChunk = operatorListChunk.lastChunk;\n\n // Notify all the rendering tasks there are more operators to be consumed.\n for (let i = 0; i < intentState.renderTasks.length; i++) {\n intentState.renderTasks[i].operatorListChanged();\n }\n\n if (operatorListChunk.lastChunk) {\n this._tryCleanup();\n }\n }\n\n /**\n * @private\n */\n _pumpOperatorList(args) {\n assert(\n args.intent,\n 'PDFPageProxy._pumpOperatorList: Expected \"intent\" argument.'\n );\n\n const readableStream = this._transport.messageHandler.sendWithStream(\n \"GetOperatorList\",\n args\n );\n const reader = readableStream.getReader();\n\n const intentState = this.intentStates[args.intent];\n intentState.streamReader = reader;\n\n const pump = () => {\n reader.read().then(\n ({ value, done }) => {\n if (done) {\n intentState.streamReader = null;\n return;\n }\n if (this._transport.destroyed) {\n return; // Ignore any pending requests if the worker was terminated.\n }\n this._renderPageChunk(value, intentState);\n pump();\n },\n reason => {\n intentState.streamReader = null;\n\n if (this._transport.destroyed) {\n return; // Ignore any pending requests if the worker was terminated.\n }\n if (intentState.operatorList) {\n // Mark operator list as complete.\n intentState.operatorList.lastChunk = true;\n\n for (let i = 0; i < intentState.renderTasks.length; i++) {\n intentState.renderTasks[i].operatorListChanged();\n }\n this._tryCleanup();\n }\n\n if (intentState.displayReadyCapability) {\n intentState.displayReadyCapability.reject(reason);\n } else if (intentState.opListReadCapability) {\n intentState.opListReadCapability.reject(reason);\n } else {\n throw reason;\n }\n }\n );\n };\n pump();\n }\n\n /**\n * @private\n */\n _abortOperatorList({ intentState, reason, force = false }) {\n assert(\n reason instanceof Error ||\n (typeof reason === \"object\" && reason !== null),\n 'PDFPageProxy._abortOperatorList: Expected \"reason\" argument.'\n );\n\n if (!intentState.streamReader) {\n return;\n }\n if (!force) {\n // Ensure that an Error occurring in *only* one `InternalRenderTask`, e.g.\n // multiple render() calls on the same canvas, won't break all rendering.\n if (intentState.renderTasks.length !== 0) {\n return;\n }\n // Don't immediately abort parsing on the worker-thread when rendering is\n // cancelled, since that will unnecessarily delay re-rendering when (for\n // partially parsed pages) e.g. zooming/rotation occurs in the viewer.\n if (reason instanceof RenderingCancelledException) {\n intentState.streamReaderCancelTimeout = setTimeout(() => {\n this._abortOperatorList({ intentState, reason, force: true });\n intentState.streamReaderCancelTimeout = null;\n }, RENDERING_CANCELLED_TIMEOUT);\n return;\n }\n }\n intentState.streamReader.cancel(\n new AbortException(reason && reason.message)\n );\n intentState.streamReader = null;\n\n if (this._transport.destroyed) {\n return; // Ignore any pending requests if the worker was terminated.\n }\n // Remove the current `intentState`, since a cancelled `getOperatorList`\n // call on the worker-thread cannot be re-started...\n Object.keys(this.intentStates).some(intent => {\n if (this.intentStates[intent] === intentState) {\n delete this.intentStates[intent];\n return true;\n }\n return false;\n });\n // ... and force clean-up to ensure that any old state is always removed.\n this.cleanup();\n }\n\n /**\n * @type {Object} Returns page stats, if enabled; returns `null` otherwise.\n */\n get stats() {\n return this._stats;\n }\n}\n\nclass LoopbackPort {\n constructor(defer = true) {\n this._listeners = [];\n this._defer = defer;\n this._deferred = Promise.resolve(undefined);\n }\n\n postMessage(obj, transfers) {\n function cloneValue(value) {\n // Trying to perform a structured clone close to the spec, including\n // transfers.\n if (typeof value !== \"object\" || value === null) {\n return value;\n }\n if (cloned.has(value)) {\n // already cloned the object\n return cloned.get(value);\n }\n let buffer, result;\n if ((buffer = value.buffer) && isArrayBuffer(buffer)) {\n // We found object with ArrayBuffer (typed array).\n const transferable = transfers && transfers.includes(buffer);\n if (transferable) {\n result = new value.constructor(\n buffer,\n value.byteOffset,\n value.byteLength\n );\n } else {\n result = new value.constructor(value);\n }\n cloned.set(value, result);\n return result;\n }\n result = Array.isArray(value) ? [] : {};\n cloned.set(value, result); // adding to cache now for cyclic references\n // Cloning all value and object properties, however ignoring properties\n // defined via getter.\n for (const i in value) {\n let desc,\n p = value;\n while (!(desc = Object.getOwnPropertyDescriptor(p, i))) {\n p = Object.getPrototypeOf(p);\n }\n if (typeof desc.value === \"undefined\") {\n continue;\n }\n if (typeof desc.value === \"function\") {\n if (value.hasOwnProperty && value.hasOwnProperty(i)) {\n throw new Error(\n `LoopbackPort.postMessage - cannot clone: ${value[i]}`\n );\n }\n continue;\n }\n result[i] = cloneValue(desc.value);\n }\n return result;\n }\n\n if (!this._defer) {\n this._listeners.forEach(listener => {\n listener.call(this, { data: obj });\n });\n return;\n }\n\n const cloned = new WeakMap();\n const e = { data: cloneValue(obj) };\n this._deferred.then(() => {\n this._listeners.forEach(listener => {\n listener.call(this, e);\n });\n });\n }\n\n addEventListener(name, listener) {\n this._listeners.push(listener);\n }\n\n removeEventListener(name, listener) {\n const i = this._listeners.indexOf(listener);\n this._listeners.splice(i, 1);\n }\n\n terminate() {\n this._listeners.length = 0;\n }\n}\n\n/**\n * @typedef {Object} PDFWorkerParameters\n * @property {string} [name] - The name of the worker.\n * @property {Object} [port] - The `workerPort`.\n * @property {number} [verbosity] - Controls the logging level; the\n * constants from {VerbosityLevel} should be used.\n */\n\nconst PDFWorker = (function PDFWorkerClosure() {\n const pdfWorkerPorts = new WeakMap();\n let isWorkerDisabled = false;\n let fallbackWorkerSrc;\n let nextFakeWorkerId = 0;\n let fakeWorkerCapability;\n\n if (typeof PDFJSDev !== \"undefined\" && PDFJSDev.test(\"GENERIC\")) {\n // eslint-disable-next-line no-undef\n if (isNodeJS && typeof __non_webpack_require__ === \"function\") {\n // Workers aren't supported in Node.js, force-disabling them there.\n isWorkerDisabled = true;\n\n if (typeof PDFJSDev !== \"undefined\" && PDFJSDev.test(\"LIB\")) {\n fallbackWorkerSrc = \"../pdf.worker.js\";\n } else {\n fallbackWorkerSrc = \"./pdf.worker.js\";\n }\n } else if (typeof document === \"object\" && \"currentScript\" in document) {\n const pdfjsFilePath =\n document.currentScript && document.currentScript.src;\n if (pdfjsFilePath) {\n fallbackWorkerSrc = pdfjsFilePath.replace(\n /(\\.(?:min\\.)?js)(\\?.*)?$/i,\n \".worker$1$2\"\n );\n }\n }\n }\n\n function getWorkerSrc() {\n if (GlobalWorkerOptions.workerSrc) {\n return GlobalWorkerOptions.workerSrc;\n }\n if (typeof fallbackWorkerSrc !== \"undefined\") {\n if (!isNodeJS) {\n deprecated('No \"GlobalWorkerOptions.workerSrc\" specified.');\n }\n return fallbackWorkerSrc;\n }\n throw new Error('No \"GlobalWorkerOptions.workerSrc\" specified.');\n }\n\n function getMainThreadWorkerMessageHandler() {\n let mainWorkerMessageHandler;\n try {\n mainWorkerMessageHandler =\n globalThis.pdfjsWorker && globalThis.pdfjsWorker.WorkerMessageHandler;\n } catch (ex) {\n /* Ignore errors. */\n }\n return mainWorkerMessageHandler || null;\n }\n\n // Loads worker code into main thread.\n function setupFakeWorkerGlobal() {\n if (fakeWorkerCapability) {\n return fakeWorkerCapability.promise;\n }\n fakeWorkerCapability = createPromiseCapability();\n\n const loader = async function () {\n const mainWorkerMessageHandler = getMainThreadWorkerMessageHandler();\n\n if (mainWorkerMessageHandler) {\n // The worker was already loaded using e.g. a `<script>` tag.\n return mainWorkerMessageHandler;\n }\n if (typeof PDFJSDev === \"undefined\" || !PDFJSDev.test(\"PRODUCTION\")) {\n if (typeof SystemJS !== \"object\") {\n // Manually load SystemJS, since it's only necessary for fake workers.\n await loadScript(\"../node_modules/systemjs/dist/system.js\");\n await loadScript(\"../systemjs.config.js\");\n }\n const worker = await SystemJS.import(\"pdfjs/core/worker.js\");\n return worker.WorkerMessageHandler;\n }\n if (\n PDFJSDev.test(\"GENERIC\") &&\n isNodeJS &&\n // eslint-disable-next-line no-undef\n typeof __non_webpack_require__ === \"function\"\n ) {\n // Since bundlers, such as Webpack, cannot be told to leave `require`\n // statements alone we are thus forced to jump through hoops in order\n // to prevent `Critical dependency: ...` warnings in third-party\n // deployments of the built `pdf.js`/`pdf.worker.js` files; see\n // https://github.com/webpack/webpack/issues/8826\n //\n // The following hack is based on the assumption that code running in\n // Node.js won't ever be affected by e.g. Content Security Policies that\n // prevent the use of `eval`. If that ever occurs, we should revert this\n // to a normal `__non_webpack_require__` statement and simply document\n // the Webpack warnings instead (telling users to ignore them).\n //\n // eslint-disable-next-line no-eval\n const worker = eval(\"require\")(getWorkerSrc());\n return worker.WorkerMessageHandler;\n }\n await loadScript(getWorkerSrc());\n return window.pdfjsWorker.WorkerMessageHandler;\n };\n loader().then(fakeWorkerCapability.resolve, fakeWorkerCapability.reject);\n\n return fakeWorkerCapability.promise;\n }\n\n function createCDNWrapper(url) {\n // We will rely on blob URL's property to specify origin.\n // We want this function to fail in case if createObjectURL or Blob do not\n // exist or fail for some reason -- our Worker creation will fail anyway.\n const wrapper = \"importScripts('\" + url + \"');\";\n return URL.createObjectURL(new Blob([wrapper]));\n }\n\n /**\n * PDF.js web worker abstraction, which controls the instantiation of PDF\n * documents. Message handlers are used to pass information from the main\n * thread to the worker thread and vice versa. If the creation of a web\n * worker is not possible, a \"fake\" worker will be used instead.\n */\n // eslint-disable-next-line no-shadow\n class PDFWorker {\n /**\n * @param {PDFWorkerParameters} params - Worker initialization parameters.\n */\n constructor({\n name = null,\n port = null,\n verbosity = getVerbosityLevel(),\n } = {}) {\n if (port && pdfWorkerPorts.has(port)) {\n throw new Error(\"Cannot use more than one PDFWorker per port\");\n }\n\n this.name = name;\n this.destroyed = false;\n this.postMessageTransfers = true;\n this.verbosity = verbosity;\n\n this._readyCapability = createPromiseCapability();\n this._port = null;\n this._webWorker = null;\n this._messageHandler = null;\n\n if (port) {\n pdfWorkerPorts.set(port, this);\n this._initializeFromPort(port);\n return;\n }\n this._initialize();\n }\n\n get promise() {\n return this._readyCapability.promise;\n }\n\n get port() {\n return this._port;\n }\n\n get messageHandler() {\n return this._messageHandler;\n }\n\n _initializeFromPort(port) {\n this._port = port;\n this._messageHandler = new MessageHandler(\"main\", \"worker\", port);\n this._messageHandler.on(\"ready\", function () {\n // Ignoring 'ready' event -- MessageHandler shall be already initialized\n // and ready to accept the messages.\n });\n this._readyCapability.resolve();\n }\n\n _initialize() {\n // If worker support isn't disabled explicit and the browser has worker\n // support, create a new web worker and test if it/the browser fulfills\n // all requirements to run parts of pdf.js in a web worker.\n // Right now, the requirement is, that an Uint8Array is still an\n // Uint8Array as it arrives on the worker. (Chrome added this with v.15.)\n if (\n typeof Worker !== \"undefined\" &&\n !isWorkerDisabled &&\n !getMainThreadWorkerMessageHandler()\n ) {\n let workerSrc = getWorkerSrc();\n\n try {\n // Wraps workerSrc path into blob URL, if the former does not belong\n // to the same origin.\n if (\n typeof PDFJSDev !== \"undefined\" &&\n PDFJSDev.test(\"GENERIC\") &&\n !isSameOrigin(window.location.href, workerSrc)\n ) {\n workerSrc = createCDNWrapper(\n new URL(workerSrc, window.location).href\n );\n }\n\n // Some versions of FF can't create a worker on localhost, see:\n // https://bugzilla.mozilla.org/show_bug.cgi?id=683280\n const worker = new Worker(workerSrc);\n const messageHandler = new MessageHandler(\"main\", \"worker\", worker);\n const terminateEarly = () => {\n worker.removeEventListener(\"error\", onWorkerError);\n messageHandler.destroy();\n worker.terminate();\n if (this.destroyed) {\n this._readyCapability.reject(new Error(\"Worker was destroyed\"));\n } else {\n // Fall back to fake worker if the termination is caused by an\n // error (e.g. NetworkError / SecurityError).\n this._setupFakeWorker();\n }\n };\n\n const onWorkerError = () => {\n if (!this._webWorker) {\n // Worker failed to initialize due to an error. Clean up and fall\n // back to the fake worker.\n terminateEarly();\n }\n };\n worker.addEventListener(\"error\", onWorkerError);\n\n messageHandler.on(\"test\", data => {\n worker.removeEventListener(\"error\", onWorkerError);\n if (this.destroyed) {\n terminateEarly();\n return; // worker was destroyed\n }\n if (data) {\n // supportTypedArray\n this._messageHandler = messageHandler;\n this._port = worker;\n this._webWorker = worker;\n if (!data.supportTransfers) {\n this.postMessageTransfers = false;\n }\n this._readyCapability.resolve();\n // Send global setting, e.g. verbosity level.\n messageHandler.send(\"configure\", {\n verbosity: this.verbosity,\n });\n } else {\n this._setupFakeWorker();\n messageHandler.destroy();\n worker.terminate();\n }\n });\n\n messageHandler.on(\"ready\", data => {\n worker.removeEventListener(\"error\", onWorkerError);\n if (this.destroyed) {\n terminateEarly();\n return; // worker was destroyed\n }\n try {\n sendTest();\n } catch (e) {\n // We need fallback to a faked worker.\n this._setupFakeWorker();\n }\n });\n\n const sendTest = () => {\n const testObj = new Uint8Array([\n this.postMessageTransfers ? 255 : 0,\n ]);\n // Some versions of Opera throw a DATA_CLONE_ERR on serializing the\n // typed array. Also, checking if we can use transfers.\n try {\n messageHandler.send(\"test\", testObj, [testObj.buffer]);\n } catch (ex) {\n warn(\"Cannot use postMessage transfers.\");\n testObj[0] = 0;\n messageHandler.send(\"test\", testObj);\n }\n };\n\n // It might take time for worker to initialize (especially when AMD\n // loader is used). We will try to send test immediately, and then\n // when 'ready' message will arrive. The worker shall process only\n // first received 'test'.\n sendTest();\n return;\n } catch (e) {\n info(\"The worker has been disabled.\");\n }\n }\n // Either workers are disabled, not supported or have thrown an exception.\n // Thus, we fallback to a faked worker.\n this._setupFakeWorker();\n }\n\n _setupFakeWorker() {\n if (!isWorkerDisabled) {\n warn(\"Setting up fake worker.\");\n isWorkerDisabled = true;\n }\n\n setupFakeWorkerGlobal()\n .then(WorkerMessageHandler => {\n if (this.destroyed) {\n this._readyCapability.reject(new Error(\"Worker was destroyed\"));\n return;\n }\n const port = new LoopbackPort();\n this._port = port;\n\n // All fake workers use the same port, making id unique.\n const id = \"fake\" + nextFakeWorkerId++;\n\n // If the main thread is our worker, setup the handling for the\n // messages -- the main thread sends to it self.\n const workerHandler = new MessageHandler(id + \"_worker\", id, port);\n WorkerMessageHandler.setup(workerHandler, port);\n\n const messageHandler = new MessageHandler(id, id + \"_worker\", port);\n this._messageHandler = messageHandler;\n this._readyCapability.resolve();\n // Send global setting, e.g. verbosity level.\n messageHandler.send(\"configure\", {\n verbosity: this.verbosity,\n });\n })\n .catch(reason => {\n this._readyCapability.reject(\n new Error(`Setting up fake worker failed: \"${reason.message}\".`)\n );\n });\n }\n\n /**\n * Destroys the worker instance.\n */\n destroy() {\n this.destroyed = true;\n if (this._webWorker) {\n // We need to terminate only web worker created resource.\n this._webWorker.terminate();\n this._webWorker = null;\n }\n pdfWorkerPorts.delete(this._port);\n this._port = null;\n if (this._messageHandler) {\n this._messageHandler.destroy();\n this._messageHandler = null;\n }\n }\n\n /**\n * @param {PDFWorkerParameters} params - The worker initialization\n * parameters.\n */\n static fromPort(params) {\n if (!params || !params.port) {\n throw new Error(\"PDFWorker.fromPort - invalid method signature.\");\n }\n if (pdfWorkerPorts.has(params.port)) {\n return pdfWorkerPorts.get(params.port);\n }\n return new PDFWorker(params);\n }\n\n static getWorkerSrc() {\n return getWorkerSrc();\n }\n }\n return PDFWorker;\n})();\n\n/**\n * For internal use only.\n * @ignore\n */\nclass WorkerTransport {\n constructor(messageHandler, loadingTask, networkStream, params) {\n this.messageHandler = messageHandler;\n this.loadingTask = loadingTask;\n this.commonObjs = new PDFObjects();\n this.fontLoader = new FontLoader({\n docId: loadingTask.docId,\n onUnsupportedFeature: this._onUnsupportedFeature.bind(this),\n });\n this._params = params;\n this.CMapReaderFactory = new params.CMapReaderFactory({\n baseUrl: params.cMapUrl,\n isCompressed: params.cMapPacked,\n });\n\n this.destroyed = false;\n this.destroyCapability = null;\n this._passwordCapability = null;\n\n this._networkStream = networkStream;\n this._fullReader = null;\n this._lastProgress = null;\n\n this.pageCache = [];\n this.pagePromises = [];\n this.downloadInfoCapability = createPromiseCapability();\n\n this.setupMessageHandler();\n }\n\n destroy() {\n if (this.destroyCapability) {\n return this.destroyCapability.promise;\n }\n\n this.destroyed = true;\n this.destroyCapability = createPromiseCapability();\n\n if (this._passwordCapability) {\n this._passwordCapability.reject(\n new Error(\"Worker was destroyed during onPassword callback\")\n );\n }\n\n const waitOn = [];\n // We need to wait for all renderings to be completed, e.g.\n // timeout/rAF can take a long time.\n this.pageCache.forEach(function (page) {\n if (page) {\n waitOn.push(page._destroy());\n }\n });\n this.pageCache.length = 0;\n this.pagePromises.length = 0;\n // We also need to wait for the worker to finish its long running tasks.\n const terminated = this.messageHandler.sendWithPromise(\"Terminate\", null);\n waitOn.push(terminated);\n Promise.all(waitOn).then(() => {\n this.fontLoader.clear();\n if (this._networkStream) {\n this._networkStream.cancelAllRequests(\n new AbortException(\"Worker was terminated.\")\n );\n }\n\n if (this.messageHandler) {\n this.messageHandler.destroy();\n this.messageHandler = null;\n }\n this.destroyCapability.resolve();\n }, this.destroyCapability.reject);\n return this.destroyCapability.promise;\n }\n\n setupMessageHandler() {\n const { messageHandler, loadingTask } = this;\n\n messageHandler.on(\"GetReader\", (data, sink) => {\n assert(\n this._networkStream,\n \"GetReader - no `IPDFStream` instance available.\"\n );\n this._fullReader = this._networkStream.getFullReader();\n this._fullReader.onProgress = evt => {\n this._lastProgress = {\n loaded: evt.loaded,\n total: evt.total,\n };\n };\n sink.onPull = () => {\n this._fullReader\n .read()\n .then(function ({ value, done }) {\n if (done) {\n sink.close();\n return;\n }\n assert(\n isArrayBuffer(value),\n \"GetReader - expected an ArrayBuffer.\"\n );\n // Enqueue data chunk into sink, and transfer it\n // to other side as `Transferable` object.\n sink.enqueue(new Uint8Array(value), 1, [value]);\n })\n .catch(reason => {\n sink.error(reason);\n });\n };\n\n sink.onCancel = reason => {\n this._fullReader.cancel(reason);\n };\n });\n\n messageHandler.on(\"ReaderHeadersReady\", data => {\n const headersCapability = createPromiseCapability();\n const fullReader = this._fullReader;\n fullReader.headersReady.then(() => {\n // If stream or range are disabled, it's our only way to report\n // loading progress.\n if (!fullReader.isStreamingSupported || !fullReader.isRangeSupported) {\n if (this._lastProgress && loadingTask.onProgress) {\n loadingTask.onProgress(this._lastProgress);\n }\n fullReader.onProgress = evt => {\n if (loadingTask.onProgress) {\n loadingTask.onProgress({\n loaded: evt.loaded,\n total: evt.total,\n });\n }\n };\n }\n\n headersCapability.resolve({\n isStreamingSupported: fullReader.isStreamingSupported,\n isRangeSupported: fullReader.isRangeSupported,\n contentLength: fullReader.contentLength,\n });\n }, headersCapability.reject);\n\n return headersCapability.promise;\n });\n\n messageHandler.on(\"GetRangeReader\", (data, sink) => {\n assert(\n this._networkStream,\n \"GetRangeReader - no `IPDFStream` instance available.\"\n );\n const rangeReader = this._networkStream.getRangeReader(\n data.begin,\n data.end\n );\n\n // When streaming is enabled, it's possible that the data requested here\n // has already been fetched via the `_fullRequestReader` implementation.\n // However, given that the PDF data is loaded asynchronously on the\n // main-thread and then sent via `postMessage` to the worker-thread,\n // it may not have been available during parsing (hence the attempt to\n // use range requests here).\n //\n // To avoid wasting time and resources here, we'll thus *not* dispatch\n // range requests if the data was already loaded but has not been sent to\n // the worker-thread yet (which will happen via the `_fullRequestReader`).\n if (!rangeReader) {\n sink.close();\n return;\n }\n\n sink.onPull = () => {\n rangeReader\n .read()\n .then(function ({ value, done }) {\n if (done) {\n sink.close();\n return;\n }\n assert(\n isArrayBuffer(value),\n \"GetRangeReader - expected an ArrayBuffer.\"\n );\n sink.enqueue(new Uint8Array(value), 1, [value]);\n })\n .catch(reason => {\n sink.error(reason);\n });\n };\n\n sink.onCancel = reason => {\n rangeReader.cancel(reason);\n };\n });\n\n messageHandler.on(\"GetDoc\", ({ pdfInfo }) => {\n this._numPages = pdfInfo.numPages;\n loadingTask._capability.resolve(new PDFDocumentProxy(pdfInfo, this));\n });\n\n messageHandler.on(\"DocException\", function (ex) {\n let reason;\n switch (ex.name) {\n case \"PasswordException\":\n reason = new PasswordException(ex.message, ex.code);\n break;\n case \"InvalidPDFException\":\n reason = new InvalidPDFException(ex.message);\n break;\n case \"MissingPDFException\":\n reason = new MissingPDFException(ex.message);\n break;\n case \"UnexpectedResponseException\":\n reason = new UnexpectedResponseException(ex.message, ex.status);\n break;\n case \"UnknownErrorException\":\n reason = new UnknownErrorException(ex.message, ex.details);\n break;\n }\n if (\n typeof PDFJSDev === \"undefined\" ||\n PDFJSDev.test(\"!PRODUCTION || TESTING\")\n ) {\n assert(reason instanceof Error, \"DocException: expected an Error.\");\n }\n loadingTask._capability.reject(reason);\n });\n\n messageHandler.on(\"PasswordRequest\", exception => {\n this._passwordCapability = createPromiseCapability();\n\n if (loadingTask.onPassword) {\n const updatePassword = password => {\n this._passwordCapability.resolve({\n password,\n });\n };\n try {\n loadingTask.onPassword(updatePassword, exception.code);\n } catch (ex) {\n this._passwordCapability.reject(ex);\n }\n } else {\n this._passwordCapability.reject(\n new PasswordException(exception.message, exception.code)\n );\n }\n return this._passwordCapability.promise;\n });\n\n messageHandler.on(\"DataLoaded\", data => {\n // For consistency: Ensure that progress is always reported when the\n // entire PDF file has been loaded, regardless of how it was fetched.\n if (loadingTask.onProgress) {\n loadingTask.onProgress({\n loaded: data.length,\n total: data.length,\n });\n }\n this.downloadInfoCapability.resolve(data);\n });\n\n messageHandler.on(\"StartRenderPage\", data => {\n if (this.destroyed) {\n return; // Ignore any pending requests if the worker was terminated.\n }\n\n const page = this.pageCache[data.pageIndex];\n page._startRenderPage(data.transparency, data.intent);\n });\n\n messageHandler.on(\"commonobj\", data => {\n if (this.destroyed) {\n return; // Ignore any pending requests if the worker was terminated.\n }\n\n const [id, type, exportedData] = data;\n if (this.commonObjs.has(id)) {\n return;\n }\n\n switch (type) {\n case \"Font\":\n const params = this._params;\n\n if (\"error\" in exportedData) {\n const exportedError = exportedData.error;\n warn(`Error during font loading: ${exportedError}`);\n this.commonObjs.resolve(id, exportedError);\n break;\n }\n\n let fontRegistry = null;\n if (\n params.pdfBug &&\n globalThis.FontInspector &&\n globalThis.FontInspector.enabled\n ) {\n fontRegistry = {\n registerFont(font, url) {\n globalThis.FontInspector.fontAdded(font, url);\n },\n };\n }\n const font = new FontFaceObject(exportedData, {\n isEvalSupported: params.isEvalSupported,\n disableFontFace: params.disableFontFace,\n ignoreErrors: params.ignoreErrors,\n onUnsupportedFeature: this._onUnsupportedFeature.bind(this),\n fontRegistry,\n });\n\n this.fontLoader\n .bind(font)\n .catch(reason => {\n return messageHandler.sendWithPromise(\"FontFallback\", { id });\n })\n .finally(() => {\n if (!params.fontExtraProperties && font.data) {\n // Immediately release the `font.data` property once the font\n // has been attached to the DOM, since it's no longer needed,\n // rather than waiting for a `PDFDocumentProxy.cleanup` call.\n // Since `font.data` could be very large, e.g. in some cases\n // multiple megabytes, this will help reduce memory usage.\n font.data = null;\n }\n this.commonObjs.resolve(id, font);\n });\n break;\n case \"FontPath\":\n case \"FontType3Res\":\n case \"Image\":\n this.commonObjs.resolve(id, exportedData);\n break;\n default:\n throw new Error(`Got unknown common object type ${type}`);\n }\n });\n\n messageHandler.on(\"obj\", data => {\n if (this.destroyed) {\n // Ignore any pending requests if the worker was terminated.\n return undefined;\n }\n\n const [id, pageIndex, type, imageData] = data;\n const pageProxy = this.pageCache[pageIndex];\n if (pageProxy.objs.has(id)) {\n return undefined;\n }\n\n switch (type) {\n case \"Image\":\n pageProxy.objs.resolve(id, imageData);\n\n // Heuristic that will allow us not to store large data.\n const MAX_IMAGE_SIZE_TO_STORE = 8000000;\n if (\n imageData &&\n \"data\" in imageData &&\n imageData.data.length > MAX_IMAGE_SIZE_TO_STORE\n ) {\n pageProxy.cleanupAfterRender = true;\n }\n break;\n default:\n throw new Error(`Got unknown object type ${type}`);\n }\n return undefined;\n });\n\n messageHandler.on(\"DocProgress\", data => {\n if (this.destroyed) {\n return; // Ignore any pending requests if the worker was terminated.\n }\n\n if (loadingTask.onProgress) {\n loadingTask.onProgress({\n loaded: data.loaded,\n total: data.total,\n });\n }\n });\n\n messageHandler.on(\n \"UnsupportedFeature\",\n this._onUnsupportedFeature.bind(this)\n );\n\n messageHandler.on(\"FetchBuiltInCMap\", (data, sink) => {\n if (this.destroyed) {\n sink.error(new Error(\"Worker was destroyed\"));\n return;\n }\n let fetched = false;\n\n sink.onPull = () => {\n if (fetched) {\n sink.close();\n return;\n }\n fetched = true;\n\n this.CMapReaderFactory.fetch(data)\n .then(function (builtInCMap) {\n sink.enqueue(builtInCMap, 1, [builtInCMap.cMapData.buffer]);\n })\n .catch(function (reason) {\n sink.error(reason);\n });\n };\n });\n }\n\n _onUnsupportedFeature({ featureId }) {\n if (this.destroyed) {\n return; // Ignore any pending requests if the worker was terminated.\n }\n if (this.loadingTask.onUnsupportedFeature) {\n this.loadingTask.onUnsupportedFeature(featureId);\n }\n }\n\n getData() {\n return this.messageHandler.sendWithPromise(\"GetData\", null);\n }\n\n getPage(pageNumber) {\n if (\n !Number.isInteger(pageNumber) ||\n pageNumber <= 0 ||\n pageNumber > this._numPages\n ) {\n return Promise.reject(new Error(\"Invalid page request\"));\n }\n\n const pageIndex = pageNumber - 1;\n if (pageIndex in this.pagePromises) {\n return this.pagePromises[pageIndex];\n }\n const promise = this.messageHandler\n .sendWithPromise(\"GetPage\", {\n pageIndex,\n })\n .then(pageInfo => {\n if (this.destroyed) {\n throw new Error(\"Transport destroyed\");\n }\n const page = new PDFPageProxy(\n pageIndex,\n pageInfo,\n this,\n this._params.pdfBug\n );\n this.pageCache[pageIndex] = page;\n return page;\n });\n this.pagePromises[pageIndex] = promise;\n return promise;\n }\n\n getPageIndex(ref) {\n return this.messageHandler\n .sendWithPromise(\"GetPageIndex\", {\n ref,\n })\n .catch(function (reason) {\n return Promise.reject(new Error(reason));\n });\n }\n\n getAnnotations(pageIndex, intent) {\n return this.messageHandler.sendWithPromise(\"GetAnnotations\", {\n pageIndex,\n intent,\n });\n }\n\n getDestinations() {\n return this.messageHandler.sendWithPromise(\"GetDestinations\", null);\n }\n\n getDestination(id) {\n if (typeof id !== \"string\") {\n return Promise.reject(new Error(\"Invalid destination request.\"));\n }\n return this.messageHandler.sendWithPromise(\"GetDestination\", {\n id,\n });\n }\n\n getPageLabels() {\n return this.messageHandler.sendWithPromise(\"GetPageLabels\", null);\n }\n\n getPageLayout() {\n return this.messageHandler.sendWithPromise(\"GetPageLayout\", null);\n }\n\n getPageMode() {\n return this.messageHandler.sendWithPromise(\"GetPageMode\", null);\n }\n\n getViewerPreferences() {\n return this.messageHandler.sendWithPromise(\"GetViewerPreferences\", null);\n }\n\n getOpenAction() {\n return this.messageHandler.sendWithPromise(\"GetOpenAction\", null);\n }\n\n getAttachments() {\n return this.messageHandler.sendWithPromise(\"GetAttachments\", null);\n }\n\n getJavaScript() {\n return this.messageHandler.sendWithPromise(\"GetJavaScript\", null);\n }\n\n getOutline() {\n return this.messageHandler.sendWithPromise(\"GetOutline\", null);\n }\n\n getPermissions() {\n return this.messageHandler.sendWithPromise(\"GetPermissions\", null);\n }\n\n getMetadata() {\n return this.messageHandler\n .sendWithPromise(\"GetMetadata\", null)\n .then(results => {\n return {\n info: results[0],\n metadata: results[1] ? new Metadata(results[1]) : null,\n contentDispositionFilename: this._fullReader\n ? this._fullReader.filename\n : null,\n };\n });\n }\n\n getStats() {\n return this.messageHandler.sendWithPromise(\"GetStats\", null);\n }\n\n startCleanup() {\n return this.messageHandler.sendWithPromise(\"Cleanup\", null).then(() => {\n for (let i = 0, ii = this.pageCache.length; i < ii; i++) {\n const page = this.pageCache[i];\n if (page) {\n const cleanupSuccessful = page.cleanup();\n\n if (!cleanupSuccessful) {\n throw new Error(\n `startCleanup: Page ${i + 1} is currently rendering.`\n );\n }\n }\n }\n this.commonObjs.clear();\n this.fontLoader.clear();\n });\n }\n\n get loadingParams() {\n const params = this._params;\n return shadow(this, \"loadingParams\", {\n disableAutoFetch: params.disableAutoFetch,\n disableFontFace: params.disableFontFace,\n });\n }\n}\n\n/**\n * A PDF document and page is built of many objects. E.g. there are objects for\n * fonts, images, rendering code, etc. These objects may get processed inside of\n * a worker. This class implements some basic methods to manage these objects.\n * @ignore\n */\nclass PDFObjects {\n constructor() {\n this._objs = Object.create(null);\n }\n\n /**\n * Ensures there is an object defined for `objId`.\n * @private\n */\n _ensureObj(objId) {\n if (this._objs[objId]) {\n return this._objs[objId];\n }\n return (this._objs[objId] = {\n capability: createPromiseCapability(),\n data: null,\n resolved: false,\n });\n }\n\n /**\n * If called *without* callback, this returns the data of `objId` but the\n * object needs to be resolved. If it isn't, this method throws.\n *\n * If called *with* a callback, the callback is called with the data of the\n * object once the object is resolved. That means, if you call this method\n * and the object is already resolved, the callback gets called right away.\n */\n get(objId, callback = null) {\n // If there is a callback, then the get can be async and the object is\n // not required to be resolved right now.\n if (callback) {\n this._ensureObj(objId).capability.promise.then(callback);\n return null;\n }\n // If there isn't a callback, the user expects to get the resolved data\n // directly.\n const obj = this._objs[objId];\n // If there isn't an object yet or the object isn't resolved, then the\n // data isn't ready yet!\n if (!obj || !obj.resolved) {\n throw new Error(`Requesting object that isn't resolved yet ${objId}.`);\n }\n return obj.data;\n }\n\n has(objId) {\n const obj = this._objs[objId];\n return obj ? obj.resolved : false;\n }\n\n /**\n * Resolves the object `objId` with optional `data`.\n */\n resolve(objId, data) {\n const obj = this._ensureObj(objId);\n\n obj.resolved = true;\n obj.data = data;\n obj.capability.resolve(data);\n }\n\n clear() {\n this._objs = Object.create(null);\n }\n}\n\n/**\n * Allows controlling of the rendering tasks.\n * @alias RenderTask\n */\nclass RenderTask {\n constructor(internalRenderTask) {\n this._internalRenderTask = internalRenderTask;\n\n /**\n * Callback for incremental rendering -- a function that will be called\n * each time the rendering is paused. To continue rendering call the\n * function that is the first argument to the callback.\n * @type {function}\n */\n this.onContinue = null;\n }\n\n /**\n * Promise for rendering task completion.\n * @type {Promise}\n */\n get promise() {\n return this._internalRenderTask.capability.promise;\n }\n\n /**\n * Cancels the rendering task. If the task is currently rendering it will\n * not be cancelled until graphics pauses with a timeout. The promise that\n * this object extends will be rejected when cancelled.\n */\n cancel() {\n this._internalRenderTask.cancel();\n }\n}\n\n/**\n * For internal use only.\n * @ignore\n */\nconst InternalRenderTask = (function InternalRenderTaskClosure() {\n const canvasInRendering = new WeakSet();\n\n // eslint-disable-next-line no-shadow\n class InternalRenderTask {\n constructor({\n callback,\n params,\n objs,\n commonObjs,\n operatorList,\n pageIndex,\n canvasFactory,\n webGLContext,\n useRequestAnimationFrame = false,\n pdfBug = false,\n }) {\n this.callback = callback;\n this.params = params;\n this.objs = objs;\n this.commonObjs = commonObjs;\n this.operatorListIdx = null;\n this.operatorList = operatorList;\n this._pageIndex = pageIndex;\n this.canvasFactory = canvasFactory;\n this.webGLContext = webGLContext;\n this._pdfBug = pdfBug;\n\n this.running = false;\n this.graphicsReadyCallback = null;\n this.graphicsReady = false;\n this._useRequestAnimationFrame =\n useRequestAnimationFrame === true && typeof window !== \"undefined\";\n this.cancelled = false;\n this.capability = createPromiseCapability();\n this.task = new RenderTask(this);\n // caching this-bound methods\n this._continueBound = this._continue.bind(this);\n this._scheduleNextBound = this._scheduleNext.bind(this);\n this._nextBound = this._next.bind(this);\n this._canvas = params.canvasContext.canvas;\n }\n\n initializeGraphics(transparency = false) {\n if (this.cancelled) {\n return;\n }\n if (this._canvas) {\n if (canvasInRendering.has(this._canvas)) {\n throw new Error(\n \"Cannot use the same canvas during multiple render() operations. \" +\n \"Use different canvas or ensure previous operations were \" +\n \"cancelled or completed.\"\n );\n }\n canvasInRendering.add(this._canvas);\n }\n\n if (\n this._pdfBug &&\n globalThis.StepperManager &&\n globalThis.StepperManager.enabled\n ) {\n this.stepper = globalThis.StepperManager.create(this._pageIndex);\n this.stepper.init(this.operatorList);\n this.stepper.nextBreakPoint = this.stepper.getNextBreakPoint();\n }\n const {\n canvasContext,\n viewport,\n transform,\n imageLayer,\n background,\n } = this.params;\n\n this.gfx = new CanvasGraphics(\n canvasContext,\n this.commonObjs,\n this.objs,\n this.canvasFactory,\n this.webGLContext,\n imageLayer\n );\n this.gfx.beginDrawing({\n transform,\n viewport,\n transparency,\n background,\n });\n this.operatorListIdx = 0;\n this.graphicsReady = true;\n if (this.graphicsReadyCallback) {\n this.graphicsReadyCallback();\n }\n }\n\n cancel(error = null) {\n this.running = false;\n this.cancelled = true;\n if (this.gfx) {\n this.gfx.endDrawing();\n }\n if (this._canvas) {\n canvasInRendering.delete(this._canvas);\n }\n this.callback(\n error ||\n new RenderingCancelledException(\n `Rendering cancelled, page ${this._pageIndex + 1}`,\n \"canvas\"\n )\n );\n }\n\n operatorListChanged() {\n if (!this.graphicsReady) {\n if (!this.graphicsReadyCallback) {\n this.graphicsReadyCallback = this._continueBound;\n }\n return;\n }\n\n if (this.stepper) {\n this.stepper.updateOperatorList(this.operatorList);\n }\n\n if (this.running) {\n return;\n }\n this._continue();\n }\n\n _continue() {\n this.running = true;\n if (this.cancelled) {\n return;\n }\n if (this.task.onContinue) {\n this.task.onContinue(this._scheduleNextBound);\n } else {\n this._scheduleNext();\n }\n }\n\n _scheduleNext() {\n if (this._useRequestAnimationFrame) {\n window.requestAnimationFrame(() => {\n this._nextBound().catch(this.cancel.bind(this));\n });\n } else {\n Promise.resolve().then(this._nextBound).catch(this.cancel.bind(this));\n }\n }\n\n async _next() {\n if (this.cancelled) {\n return;\n }\n this.operatorListIdx = this.gfx.executeOperatorList(\n this.operatorList,\n this.operatorListIdx,\n this._continueBound,\n this.stepper\n );\n if (this.operatorListIdx === this.operatorList.argsArray.length) {\n this.running = false;\n if (this.operatorList.lastChunk) {\n this.gfx.endDrawing();\n if (this._canvas) {\n canvasInRendering.delete(this._canvas);\n }\n this.callback();\n }\n }\n }\n }\n return InternalRenderTask;\n})();\n\nconst version =\n typeof PDFJSDev !== \"undefined\" ? PDFJSDev.eval(\"BUNDLE_VERSION\") : null;\nconst build =\n typeof PDFJSDev !== \"undefined\" ? PDFJSDev.eval(\"BUNDLE_BUILD\") : null;\n\nexport {\n getDocument,\n LoopbackPort,\n PDFDataRangeTransport,\n PDFWorker,\n PDFDocumentProxy,\n PDFPageProxy,\n setPDFNetworkStreamFactory,\n version,\n build,\n};\n","/* Copyright 2012 Mozilla Foundation\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {\n assert,\n bytesToString,\n IsEvalSupportedCached,\n shadow,\n string32,\n unreachable,\n UNSUPPORTED_FEATURES,\n warn,\n} from \"../shared/util.js\";\n\nclass BaseFontLoader {\n constructor({ docId, onUnsupportedFeature }) {\n if (this.constructor === BaseFontLoader) {\n unreachable(\"Cannot initialize BaseFontLoader.\");\n }\n this.docId = docId;\n this._onUnsupportedFeature = onUnsupportedFeature;\n\n this.nativeFontFaces = [];\n this.styleElement = null;\n }\n\n addNativeFontFace(nativeFontFace) {\n this.nativeFontFaces.push(nativeFontFace);\n document.fonts.add(nativeFontFace);\n }\n\n insertRule(rule) {\n let styleElement = this.styleElement;\n if (!styleElement) {\n styleElement = this.styleElement = document.createElement(\"style\");\n styleElement.id = `PDFJS_FONT_STYLE_TAG_${this.docId}`;\n document.documentElement\n .getElementsByTagName(\"head\")[0]\n .appendChild(styleElement);\n }\n\n const styleSheet = styleElement.sheet;\n styleSheet.insertRule(rule, styleSheet.cssRules.length);\n }\n\n clear() {\n this.nativeFontFaces.forEach(function (nativeFontFace) {\n document.fonts.delete(nativeFontFace);\n });\n this.nativeFontFaces.length = 0;\n\n if (this.styleElement) {\n // Note: ChildNode.remove doesn't throw if the parentNode is undefined.\n this.styleElement.remove();\n this.styleElement = null;\n }\n }\n\n async bind(font) {\n // Add the font to the DOM only once; skip if the font is already loaded.\n if (font.attached || font.missingFile) {\n return;\n }\n font.attached = true;\n\n if (this.isFontLoadingAPISupported) {\n const nativeFontFace = font.createNativeFontFace();\n if (nativeFontFace) {\n this.addNativeFontFace(nativeFontFace);\n try {\n await nativeFontFace.loaded;\n } catch (ex) {\n this._onUnsupportedFeature({\n featureId: UNSUPPORTED_FEATURES.errorFontLoadNative,\n });\n warn(`Failed to load font '${nativeFontFace.family}': '${ex}'.`);\n\n // When font loading failed, fall back to the built-in font renderer.\n font.disableFontFace = true;\n throw ex;\n }\n }\n return; // The font was, asynchronously, loaded.\n }\n\n // !this.isFontLoadingAPISupported\n const rule = font.createFontFaceRule();\n if (rule) {\n this.insertRule(rule);\n\n if (this.isSyncFontLoadingSupported) {\n return; // The font was, synchronously, loaded.\n }\n await new Promise(resolve => {\n const request = this._queueLoadingCallback(resolve);\n this._prepareFontLoadEvent([rule], [font], request);\n });\n // The font was, asynchronously, loaded.\n }\n }\n\n _queueLoadingCallback(callback) {\n unreachable(\"Abstract method `_queueLoadingCallback`.\");\n }\n\n get isFontLoadingAPISupported() {\n const supported = typeof document !== \"undefined\" && !!document.fonts;\n return shadow(this, \"isFontLoadingAPISupported\", supported);\n }\n\n // eslint-disable-next-line getter-return\n get isSyncFontLoadingSupported() {\n unreachable(\"Abstract method `isSyncFontLoadingSupported`.\");\n }\n\n // eslint-disable-next-line getter-return\n get _loadTestFont() {\n unreachable(\"Abstract method `_loadTestFont`.\");\n }\n\n _prepareFontLoadEvent(rules, fontsToLoad, request) {\n unreachable(\"Abstract method `_prepareFontLoadEvent`.\");\n }\n}\n\nlet FontLoader;\nif (typeof PDFJSDev !== \"undefined\" && PDFJSDev.test(\"MOZCENTRAL\")) {\n FontLoader = class MozcentralFontLoader extends BaseFontLoader {\n get isSyncFontLoadingSupported() {\n return shadow(this, \"isSyncFontLoadingSupported\", true);\n }\n };\n} else {\n // PDFJSDev.test('CHROME || GENERIC')\n\n FontLoader = class GenericFontLoader extends BaseFontLoader {\n constructor(docId) {\n super(docId);\n this.loadingContext = {\n requests: [],\n nextRequestId: 0,\n };\n this.loadTestFontId = 0;\n }\n\n get isSyncFontLoadingSupported() {\n let supported = false;\n if (typeof PDFJSDev === \"undefined\" || !PDFJSDev.test(\"CHROME\")) {\n if (typeof navigator === \"undefined\") {\n // Node.js - we can pretend that sync font loading is supported.\n supported = true;\n } else {\n // User agent string sniffing is bad, but there is no reliable way to\n // tell if the font is fully loaded and ready to be used with canvas.\n const m = /Mozilla\\/5.0.*?rv:(\\d+).*? Gecko/.exec(\n navigator.userAgent\n );\n if (m && m[1] >= 14) {\n supported = true;\n }\n // TODO - other browsers...\n }\n }\n return shadow(this, \"isSyncFontLoadingSupported\", supported);\n }\n\n _queueLoadingCallback(callback) {\n function completeRequest() {\n assert(!request.done, \"completeRequest() cannot be called twice.\");\n request.done = true;\n\n // Sending all completed requests in order of how they were queued.\n while (context.requests.length > 0 && context.requests[0].done) {\n const otherRequest = context.requests.shift();\n setTimeout(otherRequest.callback, 0);\n }\n }\n\n const context = this.loadingContext;\n const request = {\n id: `pdfjs-font-loading-${context.nextRequestId++}`,\n done: false,\n complete: completeRequest,\n callback,\n };\n context.requests.push(request);\n return request;\n }\n\n get _loadTestFont() {\n const getLoadTestFont = function () {\n // This is a CFF font with 1 glyph for '.' that fills its entire width\n // and height.\n return atob(\n \"T1RUTwALAIAAAwAwQ0ZGIDHtZg4AAAOYAAAAgUZGVE1lkzZwAAAEHAAAABxHREVGABQA\" +\n \"FQAABDgAAAAeT1MvMlYNYwkAAAEgAAAAYGNtYXABDQLUAAACNAAAAUJoZWFk/xVFDQAA\" +\n \"ALwAAAA2aGhlYQdkA+oAAAD0AAAAJGhtdHgD6AAAAAAEWAAAAAZtYXhwAAJQAAAAARgA\" +\n \"AAAGbmFtZVjmdH4AAAGAAAAAsXBvc3T/hgAzAAADeAAAACAAAQAAAAEAALZRFsRfDzz1\" +\n \"AAsD6AAAAADOBOTLAAAAAM4KHDwAAAAAA+gDIQAAAAgAAgAAAAAAAAABAAADIQAAAFoD\" +\n \"6AAAAAAD6AABAAAAAAAAAAAAAAAAAAAAAQAAUAAAAgAAAAQD6AH0AAUAAAKKArwAAACM\" +\n \"AooCvAAAAeAAMQECAAACAAYJAAAAAAAAAAAAAQAAAAAAAAAAAAAAAFBmRWQAwAAuAC4D\" +\n \"IP84AFoDIQAAAAAAAQAAAAAAAAAAACAAIAABAAAADgCuAAEAAAAAAAAAAQAAAAEAAAAA\" +\n \"AAEAAQAAAAEAAAAAAAIAAQAAAAEAAAAAAAMAAQAAAAEAAAAAAAQAAQAAAAEAAAAAAAUA\" +\n \"AQAAAAEAAAAAAAYAAQAAAAMAAQQJAAAAAgABAAMAAQQJAAEAAgABAAMAAQQJAAIAAgAB\" +\n \"AAMAAQQJAAMAAgABAAMAAQQJAAQAAgABAAMAAQQJAAUAAgABAAMAAQQJAAYAAgABWABY\" +\n \"AAAAAAAAAwAAAAMAAAAcAAEAAAAAADwAAwABAAAAHAAEACAAAAAEAAQAAQAAAC7//wAA\" +\n \"AC7////TAAEAAAAAAAABBgAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\" +\n \"AAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\" +\n \"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\" +\n \"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\" +\n \"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\" +\n \"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMAAAAAAAD/gwAyAAAAAQAAAAAAAAAAAAAAAAAA\" +\n \"AAABAAQEAAEBAQJYAAEBASH4DwD4GwHEAvgcA/gXBIwMAYuL+nz5tQXkD5j3CBLnEQAC\" +\n \"AQEBIVhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYAAABAQAADwACAQEEE/t3\" +\n \"Dov6fAH6fAT+fPp8+nwHDosMCvm1Cvm1DAz6fBQAAAAAAAABAAAAAMmJbzEAAAAAzgTj\" +\n \"FQAAAADOBOQpAAEAAAAAAAAADAAUAAQAAAABAAAAAgABAAAAAAAAAAAD6AAAAAAAAA==\"\n );\n };\n return shadow(this, \"_loadTestFont\", getLoadTestFont());\n }\n\n _prepareFontLoadEvent(rules, fonts, request) {\n /** Hack begin */\n // There's currently no event when a font has finished downloading so the\n // following code is a dirty hack to 'guess' when a font is ready.\n // It's assumed fonts are loaded in order, so add a known test font after\n // the desired fonts and then test for the loading of that test font.\n\n function int32(data, offset) {\n return (\n (data.charCodeAt(offset) << 24) |\n (data.charCodeAt(offset + 1) << 16) |\n (data.charCodeAt(offset + 2) << 8) |\n (data.charCodeAt(offset + 3) & 0xff)\n );\n }\n function spliceString(s, offset, remove, insert) {\n const chunk1 = s.substring(0, offset);\n const chunk2 = s.substring(offset + remove);\n return chunk1 + insert + chunk2;\n }\n let i, ii;\n\n // The temporary canvas is used to determine if fonts are loaded.\n const canvas = document.createElement(\"canvas\");\n canvas.width = 1;\n canvas.height = 1;\n const ctx = canvas.getContext(\"2d\");\n\n let called = 0;\n function isFontReady(name, callback) {\n called++;\n // With setTimeout clamping this gives the font ~100ms to load.\n if (called > 30) {\n warn(\"Load test font never loaded.\");\n callback();\n return;\n }\n ctx.font = \"30px \" + name;\n ctx.fillText(\".\", 0, 20);\n const imageData = ctx.getImageData(0, 0, 1, 1);\n if (imageData.data[3] > 0) {\n callback();\n return;\n }\n setTimeout(isFontReady.bind(null, name, callback));\n }\n\n const loadTestFontId = `lt${Date.now()}${this.loadTestFontId++}`;\n // Chromium seems to cache fonts based on a hash of the actual font data,\n // so the font must be modified for each load test else it will appear to\n // be loaded already.\n // TODO: This could maybe be made faster by avoiding the btoa of the full\n // font by splitting it in chunks before hand and padding the font id.\n let data = this._loadTestFont;\n const COMMENT_OFFSET = 976; // has to be on 4 byte boundary (for checksum)\n data = spliceString(\n data,\n COMMENT_OFFSET,\n loadTestFontId.length,\n loadTestFontId\n );\n // CFF checksum is important for IE, adjusting it\n const CFF_CHECKSUM_OFFSET = 16;\n const XXXX_VALUE = 0x58585858; // the \"comment\" filled with 'X'\n let checksum = int32(data, CFF_CHECKSUM_OFFSET);\n for (i = 0, ii = loadTestFontId.length - 3; i < ii; i += 4) {\n checksum = (checksum - XXXX_VALUE + int32(loadTestFontId, i)) | 0;\n }\n if (i < loadTestFontId.length) {\n // align to 4 bytes boundary\n checksum =\n (checksum - XXXX_VALUE + int32(loadTestFontId + \"XXX\", i)) | 0;\n }\n data = spliceString(data, CFF_CHECKSUM_OFFSET, 4, string32(checksum));\n\n const url = `url(data:font/opentype;base64,${btoa(data)});`;\n const rule = `@font-face {font-family:\"${loadTestFontId}\";src:${url}}`;\n this.insertRule(rule);\n\n const names = [];\n for (i = 0, ii = fonts.length; i < ii; i++) {\n names.push(fonts[i].loadedName);\n }\n names.push(loadTestFontId);\n\n const div = document.createElement(\"div\");\n div.style.visibility = \"hidden\";\n div.style.width = div.style.height = \"10px\";\n div.style.position = \"absolute\";\n div.style.top = div.style.left = \"0px\";\n\n for (i = 0, ii = names.length; i < ii; ++i) {\n const span = document.createElement(\"span\");\n span.textContent = \"Hi\";\n span.style.fontFamily = names[i];\n div.appendChild(span);\n }\n document.body.appendChild(div);\n\n isFontReady(loadTestFontId, function () {\n document.body.removeChild(div);\n request.complete();\n });\n /** Hack end */\n }\n };\n} // End of PDFJSDev.test('CHROME || GENERIC')\n\nclass FontFaceObject {\n constructor(\n translatedData,\n {\n isEvalSupported = true,\n disableFontFace = false,\n ignoreErrors = false,\n onUnsupportedFeature = null,\n fontRegistry = null,\n }\n ) {\n this.compiledGlyphs = Object.create(null);\n // importing translated data\n for (const i in translatedData) {\n this[i] = translatedData[i];\n }\n this.isEvalSupported = isEvalSupported !== false;\n this.disableFontFace = disableFontFace === true;\n this.ignoreErrors = ignoreErrors === true;\n this._onUnsupportedFeature = onUnsupportedFeature;\n this.fontRegistry = fontRegistry;\n }\n\n createNativeFontFace() {\n if (!this.data || this.disableFontFace) {\n return null;\n }\n const nativeFontFace = new FontFace(this.loadedName, this.data, {});\n\n if (this.fontRegistry) {\n this.fontRegistry.registerFont(this);\n }\n return nativeFontFace;\n }\n\n createFontFaceRule() {\n if (!this.data || this.disableFontFace) {\n return null;\n }\n const data = bytesToString(new Uint8Array(this.data));\n // Add the @font-face rule to the document.\n const url = `url(data:${this.mimetype};base64,${btoa(data)});`;\n const rule = `@font-face {font-family:\"${this.loadedName}\";src:${url}}`;\n\n if (this.fontRegistry) {\n this.fontRegistry.registerFont(this, url);\n }\n return rule;\n }\n\n getPathGenerator(objs, character) {\n if (this.compiledGlyphs[character] !== undefined) {\n return this.compiledGlyphs[character];\n }\n\n let cmds, current;\n try {\n cmds = objs.get(this.loadedName + \"_path_\" + character);\n } catch (ex) {\n if (!this.ignoreErrors) {\n throw ex;\n }\n if (this._onUnsupportedFeature) {\n this._onUnsupportedFeature({\n featureId: UNSUPPORTED_FEATURES.errorFontGetPath,\n });\n }\n warn(`getPathGenerator - ignoring character: \"${ex}\".`);\n\n return (this.compiledGlyphs[character] = function (c, size) {\n // No-op function, to allow rendering to continue.\n });\n }\n\n // If we can, compile cmds into JS for MAXIMUM SPEED...\n if (this.isEvalSupported && IsEvalSupportedCached.value) {\n let args,\n js = \"\";\n for (let i = 0, ii = cmds.length; i < ii; i++) {\n current = cmds[i];\n\n if (current.args !== undefined) {\n args = current.args.join(\",\");\n } else {\n args = \"\";\n }\n js += \"c.\" + current.cmd + \"(\" + args + \");\\n\";\n }\n // eslint-disable-next-line no-new-func\n return (this.compiledGlyphs[character] = new Function(\"c\", \"size\", js));\n }\n // ... but fall back on using Function.prototype.apply() if we're\n // blocked from using eval() for whatever reason (like CSP policies).\n return (this.compiledGlyphs[character] = function (c, size) {\n for (let i = 0, ii = cmds.length; i < ii; i++) {\n current = cmds[i];\n\n if (current.cmd === \"scale\") {\n current.args = [size, -size];\n }\n c[current.cmd].apply(c, current.args);\n }\n });\n }\n}\n\nexport { FontFaceObject, FontLoader };\n","/* Copyright 2018 Mozilla Foundation\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { isNodeJS } from \"../shared/is_node.js\";\n\nconst compatibilityParams = Object.create(null);\nif (typeof PDFJSDev === \"undefined\" || PDFJSDev.test(\"GENERIC\")) {\n // Support: Node.js\n (function checkFontFace() {\n // Node.js is missing native support for `@font-face`.\n if (isNodeJS) {\n compatibilityParams.disableFontFace = true;\n }\n })();\n}\nconst apiCompatibilityParams = Object.freeze(compatibilityParams);\n\nexport { apiCompatibilityParams };\n","/* Copyright 2012 Mozilla Foundation\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {\n FONT_IDENTITY_MATRIX,\n IDENTITY_MATRIX,\n ImageKind,\n info,\n IsLittleEndianCached,\n isNum,\n OPS,\n shadow,\n TextRenderingMode,\n unreachable,\n Util,\n warn,\n} from \"../shared/util.js\";\nimport { getShadingPatternFromIR, TilingPattern } from \"./pattern_helper.js\";\n\n// <canvas> contexts store most of the state we need natively.\n// However, PDF needs a bit more state, which we store here.\n\n// Minimal font size that would be used during canvas fillText operations.\nvar MIN_FONT_SIZE = 16;\n// Maximum font size that would be used during canvas fillText operations.\nvar MAX_FONT_SIZE = 100;\nvar MAX_GROUP_SIZE = 4096;\n\n// Heuristic value used when enforcing minimum line widths.\nvar MIN_WIDTH_FACTOR = 0.65;\n\nvar COMPILE_TYPE3_GLYPHS = true;\nvar MAX_SIZE_TO_COMPILE = 1000;\n\nvar FULL_CHUNK_HEIGHT = 16;\n\nfunction addContextCurrentTransform(ctx) {\n // If the context doesn't expose a `mozCurrentTransform`, add a JS based one.\n if (!ctx.mozCurrentTransform) {\n ctx._originalSave = ctx.save;\n ctx._originalRestore = ctx.restore;\n ctx._originalRotate = ctx.rotate;\n ctx._originalScale = ctx.scale;\n ctx._originalTranslate = ctx.translate;\n ctx._originalTransform = ctx.transform;\n ctx._originalSetTransform = ctx.setTransform;\n\n ctx._transformMatrix = ctx._transformMatrix || [1, 0, 0, 1, 0, 0];\n ctx._transformStack = [];\n\n Object.defineProperty(ctx, \"mozCurrentTransform\", {\n get: function getCurrentTransform() {\n return this._transformMatrix;\n },\n });\n\n Object.defineProperty(ctx, \"mozCurrentTransformInverse\", {\n get: function getCurrentTransformInverse() {\n // Calculation done using WolframAlpha:\n // http://www.wolframalpha.com/input/?\n // i=Inverse+{{a%2C+c%2C+e}%2C+{b%2C+d%2C+f}%2C+{0%2C+0%2C+1}}\n\n var m = this._transformMatrix;\n var a = m[0],\n b = m[1],\n c = m[2],\n d = m[3],\n e = m[4],\n f = m[5];\n\n var ad_bc = a * d - b * c;\n var bc_ad = b * c - a * d;\n\n return [\n d / ad_bc,\n b / bc_ad,\n c / bc_ad,\n a / ad_bc,\n (d * e - c * f) / bc_ad,\n (b * e - a * f) / ad_bc,\n ];\n },\n });\n\n ctx.save = function ctxSave() {\n var old = this._transformMatrix;\n this._transformStack.push(old);\n this._transformMatrix = old.slice(0, 6);\n\n this._originalSave();\n };\n\n ctx.restore = function ctxRestore() {\n var prev = this._transformStack.pop();\n if (prev) {\n this._transformMatrix = prev;\n this._originalRestore();\n }\n };\n\n ctx.translate = function ctxTranslate(x, y) {\n var m = this._transformMatrix;\n m[4] = m[0] * x + m[2] * y + m[4];\n m[5] = m[1] * x + m[3] * y + m[5];\n\n this._originalTranslate(x, y);\n };\n\n ctx.scale = function ctxScale(x, y) {\n var m = this._transformMatrix;\n m[0] = m[0] * x;\n m[1] = m[1] * x;\n m[2] = m[2] * y;\n m[3] = m[3] * y;\n\n this._originalScale(x, y);\n };\n\n ctx.transform = function ctxTransform(a, b, c, d, e, f) {\n var m = this._transformMatrix;\n this._transformMatrix = [\n m[0] * a + m[2] * b,\n m[1] * a + m[3] * b,\n m[0] * c + m[2] * d,\n m[1] * c + m[3] * d,\n m[0] * e + m[2] * f + m[4],\n m[1] * e + m[3] * f + m[5],\n ];\n\n ctx._originalTransform(a, b, c, d, e, f);\n };\n\n ctx.setTransform = function ctxSetTransform(a, b, c, d, e, f) {\n this._transformMatrix = [a, b, c, d, e, f];\n\n ctx._originalSetTransform(a, b, c, d, e, f);\n };\n\n ctx.rotate = function ctxRotate(angle) {\n var cosValue = Math.cos(angle);\n var sinValue = Math.sin(angle);\n\n var m = this._transformMatrix;\n this._transformMatrix = [\n m[0] * cosValue + m[2] * sinValue,\n m[1] * cosValue + m[3] * sinValue,\n m[0] * -sinValue + m[2] * cosValue,\n m[1] * -sinValue + m[3] * cosValue,\n m[4],\n m[5],\n ];\n\n this._originalRotate(angle);\n };\n }\n}\n\nvar CachedCanvases = (function CachedCanvasesClosure() {\n // eslint-disable-next-line no-shadow\n function CachedCanvases(canvasFactory) {\n this.canvasFactory = canvasFactory;\n this.cache = Object.create(null);\n }\n CachedCanvases.prototype = {\n getCanvas: function CachedCanvases_getCanvas(\n id,\n width,\n height,\n trackTransform\n ) {\n var canvasEntry;\n if (this.cache[id] !== undefined) {\n canvasEntry = this.cache[id];\n this.canvasFactory.reset(canvasEntry, width, height);\n // reset canvas transform for emulated mozCurrentTransform, if needed\n canvasEntry.context.setTransform(1, 0, 0, 1, 0, 0);\n } else {\n canvasEntry = this.canvasFactory.create(width, height);\n this.cache[id] = canvasEntry;\n }\n if (trackTransform) {\n addContextCurrentTransform(canvasEntry.context);\n }\n return canvasEntry;\n },\n clear() {\n for (var id in this.cache) {\n var canvasEntry = this.cache[id];\n this.canvasFactory.destroy(canvasEntry);\n delete this.cache[id];\n }\n },\n };\n return CachedCanvases;\n})();\n\nfunction compileType3Glyph(imgData) {\n var POINT_TO_PROCESS_LIMIT = 1000;\n\n var width = imgData.width,\n height = imgData.height;\n var i,\n j,\n j0,\n width1 = width + 1;\n var points = new Uint8Array(width1 * (height + 1));\n // prettier-ignore\n var POINT_TYPES =\n new Uint8Array([0, 2, 4, 0, 1, 0, 5, 4, 8, 10, 0, 8, 0, 2, 1, 0]);\n\n // decodes bit-packed mask data\n var lineSize = (width + 7) & ~7,\n data0 = imgData.data;\n var data = new Uint8Array(lineSize * height),\n pos = 0,\n ii;\n for (i = 0, ii = data0.length; i < ii; i++) {\n var mask = 128,\n elem = data0[i];\n while (mask > 0) {\n data[pos++] = elem & mask ? 0 : 255;\n mask >>= 1;\n }\n }\n\n // finding interesting points: every point is located between mask pixels,\n // so there will be points of the (width + 1)x(height + 1) grid. Every point\n // will have flags assigned based on neighboring mask pixels:\n // 4 | 8\n // --P--\n // 2 | 1\n // We are interested only in points with the flags:\n // - outside corners: 1, 2, 4, 8;\n // - inside corners: 7, 11, 13, 14;\n // - and, intersections: 5, 10.\n var count = 0;\n pos = 0;\n if (data[pos] !== 0) {\n points[0] = 1;\n ++count;\n }\n for (j = 1; j < width; j++) {\n if (data[pos] !== data[pos + 1]) {\n points[j] = data[pos] ? 2 : 1;\n ++count;\n }\n pos++;\n }\n if (data[pos] !== 0) {\n points[j] = 2;\n ++count;\n }\n for (i = 1; i < height; i++) {\n pos = i * lineSize;\n j0 = i * width1;\n if (data[pos - lineSize] !== data[pos]) {\n points[j0] = data[pos] ? 1 : 8;\n ++count;\n }\n // 'sum' is the position of the current pixel configuration in the 'TYPES'\n // array (in order 8-1-2-4, so we can use '>>2' to shift the column).\n var sum = (data[pos] ? 4 : 0) + (data[pos - lineSize] ? 8 : 0);\n for (j = 1; j < width; j++) {\n sum =\n (sum >> 2) +\n (data[pos + 1] ? 4 : 0) +\n (data[pos - lineSize + 1] ? 8 : 0);\n if (POINT_TYPES[sum]) {\n points[j0 + j] = POINT_TYPES[sum];\n ++count;\n }\n pos++;\n }\n if (data[pos - lineSize] !== data[pos]) {\n points[j0 + j] = data[pos] ? 2 : 4;\n ++count;\n }\n\n if (count > POINT_TO_PROCESS_LIMIT) {\n return null;\n }\n }\n\n pos = lineSize * (height - 1);\n j0 = i * width1;\n if (data[pos] !== 0) {\n points[j0] = 8;\n ++count;\n }\n for (j = 1; j < width; j++) {\n if (data[pos] !== data[pos + 1]) {\n points[j0 + j] = data[pos] ? 4 : 8;\n ++count;\n }\n pos++;\n }\n if (data[pos] !== 0) {\n points[j0 + j] = 4;\n ++count;\n }\n if (count > POINT_TO_PROCESS_LIMIT) {\n return null;\n }\n\n // building outlines\n var steps = new Int32Array([0, width1, -1, 0, -width1, 0, 0, 0, 1]);\n var outlines = [];\n for (i = 0; count && i <= height; i++) {\n var p = i * width1;\n var end = p + width;\n while (p < end && !points[p]) {\n p++;\n }\n if (p === end) {\n continue;\n }\n var coords = [p % width1, i];\n\n var type = points[p],\n p0 = p,\n pp;\n do {\n var step = steps[type];\n do {\n p += step;\n } while (!points[p]);\n\n pp = points[p];\n if (pp !== 5 && pp !== 10) {\n // set new direction\n type = pp;\n // delete mark\n points[p] = 0;\n } else {\n // type is 5 or 10, ie, a crossing\n // set new direction\n type = pp & ((0x33 * type) >> 4);\n // set new type for \"future hit\"\n points[p] &= (type >> 2) | (type << 2);\n }\n\n coords.push(p % width1);\n coords.push((p / width1) | 0);\n\n if (!points[p]) {\n --count;\n }\n } while (p0 !== p);\n outlines.push(coords);\n --i;\n }\n\n var drawOutline = function (c) {\n c.save();\n // the path shall be painted in [0..1]x[0..1] space\n c.scale(1 / width, -1 / height);\n c.translate(0, -height);\n c.beginPath();\n for (let k = 0, kk = outlines.length; k < kk; k++) {\n var o = outlines[k];\n c.moveTo(o[0], o[1]);\n for (let l = 2, ll = o.length; l < ll; l += 2) {\n c.lineTo(o[l], o[l + 1]);\n }\n }\n c.fill();\n c.beginPath();\n c.restore();\n };\n\n return drawOutline;\n}\n\nvar CanvasExtraState = (function CanvasExtraStateClosure() {\n // eslint-disable-next-line no-shadow\n function CanvasExtraState() {\n // Are soft masks and alpha values shapes or opacities?\n this.alphaIsShape = false;\n this.fontSize = 0;\n this.fontSizeScale = 1;\n this.textMatrix = IDENTITY_MATRIX;\n this.textMatrixScale = 1;\n this.fontMatrix = FONT_IDENTITY_MATRIX;\n this.leading = 0;\n // Current point (in user coordinates)\n this.x = 0;\n this.y = 0;\n // Start of text line (in text coordinates)\n this.lineX = 0;\n this.lineY = 0;\n // Character and word spacing\n this.charSpacing = 0;\n this.wordSpacing = 0;\n this.textHScale = 1;\n this.textRenderingMode = TextRenderingMode.FILL;\n this.textRise = 0;\n // Default fore and background colors\n this.fillColor = \"#000000\";\n this.strokeColor = \"#000000\";\n this.patternFill = false;\n // Note: fill alpha applies to all non-stroking operations\n this.fillAlpha = 1;\n this.strokeAlpha = 1;\n this.lineWidth = 1;\n this.activeSMask = null;\n this.resumeSMaskCtx = null; // nonclonable field (see the save method below)\n }\n\n CanvasExtraState.prototype = {\n clone: function CanvasExtraState_clone() {\n return Object.create(this);\n },\n setCurrentPoint: function CanvasExtraState_setCurrentPoint(x, y) {\n this.x = x;\n this.y = y;\n },\n };\n return CanvasExtraState;\n})();\n\nvar CanvasGraphics = (function CanvasGraphicsClosure() {\n // Defines the time the executeOperatorList is going to be executing\n // before it stops and shedules a continue of execution.\n var EXECUTION_TIME = 15;\n // Defines the number of steps before checking the execution time\n var EXECUTION_STEPS = 10;\n\n // eslint-disable-next-line no-shadow\n function CanvasGraphics(\n canvasCtx,\n commonObjs,\n objs,\n canvasFactory,\n webGLContext,\n imageLayer\n ) {\n this.ctx = canvasCtx;\n this.current = new CanvasExtraState();\n this.stateStack = [];\n this.pendingClip = null;\n this.pendingEOFill = false;\n this.res = null;\n this.xobjs = null;\n this.commonObjs = commonObjs;\n this.objs = objs;\n this.canvasFactory = canvasFactory;\n this.webGLContext = webGLContext;\n this.imageLayer = imageLayer;\n this.groupStack = [];\n this.processingType3 = null;\n // Patterns are painted relative to the initial page/form transform, see pdf\n // spec 8.7.2 NOTE 1.\n this.baseTransform = null;\n this.baseTransformStack = [];\n this.groupLevel = 0;\n this.smaskStack = [];\n this.smaskCounter = 0;\n this.tempSMask = null;\n this.cachedCanvases = new CachedCanvases(this.canvasFactory);\n if (canvasCtx) {\n // NOTE: if mozCurrentTransform is polyfilled, then the current state of\n // the transformation must already be set in canvasCtx._transformMatrix.\n addContextCurrentTransform(canvasCtx);\n }\n this._cachedGetSinglePixelWidth = null;\n }\n\n function putBinaryImageData(ctx, imgData) {\n if (typeof ImageData !== \"undefined\" && imgData instanceof ImageData) {\n ctx.putImageData(imgData, 0, 0);\n return;\n }\n\n // Put the image data to the canvas in chunks, rather than putting the\n // whole image at once. This saves JS memory, because the ImageData object\n // is smaller. It also possibly saves C++ memory within the implementation\n // of putImageData(). (E.g. in Firefox we make two short-lived copies of\n // the data passed to putImageData()). |n| shouldn't be too small, however,\n // because too many putImageData() calls will slow things down.\n //\n // Note: as written, if the last chunk is partial, the putImageData() call\n // will (conceptually) put pixels past the bounds of the canvas. But\n // that's ok; any such pixels are ignored.\n\n var height = imgData.height,\n width = imgData.width;\n var partialChunkHeight = height % FULL_CHUNK_HEIGHT;\n var fullChunks = (height - partialChunkHeight) / FULL_CHUNK_HEIGHT;\n var totalChunks = partialChunkHeight === 0 ? fullChunks : fullChunks + 1;\n\n var chunkImgData = ctx.createImageData(width, FULL_CHUNK_HEIGHT);\n var srcPos = 0,\n destPos;\n var src = imgData.data;\n var dest = chunkImgData.data;\n var i, j, thisChunkHeight, elemsInThisChunk;\n\n // There are multiple forms in which the pixel data can be passed, and\n // imgData.kind tells us which one this is.\n if (imgData.kind === ImageKind.GRAYSCALE_1BPP) {\n // Grayscale, 1 bit per pixel (i.e. black-and-white).\n var srcLength = src.byteLength;\n var dest32 = new Uint32Array(dest.buffer, 0, dest.byteLength >> 2);\n var dest32DataLength = dest32.length;\n var fullSrcDiff = (width + 7) >> 3;\n var white = 0xffffffff;\n var black = IsLittleEndianCached.value ? 0xff000000 : 0x000000ff;\n for (i = 0; i < totalChunks; i++) {\n thisChunkHeight =\n i < fullChunks ? FULL_CHUNK_HEIGHT : partialChunkHeight;\n destPos = 0;\n for (j = 0; j < thisChunkHeight; j++) {\n var srcDiff = srcLength - srcPos;\n var k = 0;\n var kEnd = srcDiff > fullSrcDiff ? width : srcDiff * 8 - 7;\n var kEndUnrolled = kEnd & ~7;\n var mask = 0;\n var srcByte = 0;\n for (; k < kEndUnrolled; k += 8) {\n srcByte = src[srcPos++];\n dest32[destPos++] = srcByte & 128 ? white : black;\n dest32[destPos++] = srcByte & 64 ? white : black;\n dest32[destPos++] = srcByte & 32 ? white : black;\n dest32[destPos++] = srcByte & 16 ? white : black;\n dest32[destPos++] = srcByte & 8 ? white : black;\n dest32[destPos++] = srcByte & 4 ? white : black;\n dest32[destPos++] = srcByte & 2 ? white : black;\n dest32[destPos++] = srcByte & 1 ? white : black;\n }\n for (; k < kEnd; k++) {\n if (mask === 0) {\n srcByte = src[srcPos++];\n mask = 128;\n }\n\n dest32[destPos++] = srcByte & mask ? white : black;\n mask >>= 1;\n }\n }\n // We ran out of input. Make all remaining pixels transparent.\n while (destPos < dest32DataLength) {\n dest32[destPos++] = 0;\n }\n\n ctx.putImageData(chunkImgData, 0, i * FULL_CHUNK_HEIGHT);\n }\n } else if (imgData.kind === ImageKind.RGBA_32BPP) {\n // RGBA, 32-bits per pixel.\n\n j = 0;\n elemsInThisChunk = width * FULL_CHUNK_HEIGHT * 4;\n for (i = 0; i < fullChunks; i++) {\n dest.set(src.subarray(srcPos, srcPos + elemsInThisChunk));\n srcPos += elemsInThisChunk;\n\n ctx.putImageData(chunkImgData, 0, j);\n j += FULL_CHUNK_HEIGHT;\n }\n if (i < totalChunks) {\n elemsInThisChunk = width * partialChunkHeight * 4;\n dest.set(src.subarray(srcPos, srcPos + elemsInThisChunk));\n ctx.putImageData(chunkImgData, 0, j);\n }\n } else if (imgData.kind === ImageKind.RGB_24BPP) {\n // RGB, 24-bits per pixel.\n thisChunkHeight = FULL_CHUNK_HEIGHT;\n elemsInThisChunk = width * thisChunkHeight;\n for (i = 0; i < totalChunks; i++) {\n if (i >= fullChunks) {\n thisChunkHeight = partialChunkHeight;\n elemsInThisChunk = width * thisChunkHeight;\n }\n\n destPos = 0;\n for (j = elemsInThisChunk; j--; ) {\n dest[destPos++] = src[srcPos++];\n dest[destPos++] = src[srcPos++];\n dest[destPos++] = src[srcPos++];\n dest[destPos++] = 255;\n }\n ctx.putImageData(chunkImgData, 0, i * FULL_CHUNK_HEIGHT);\n }\n } else {\n throw new Error(`bad image kind: ${imgData.kind}`);\n }\n }\n\n function putBinaryImageMask(ctx, imgData) {\n var height = imgData.height,\n width = imgData.width;\n var partialChunkHeight = height % FULL_CHUNK_HEIGHT;\n var fullChunks = (height - partialChunkHeight) / FULL_CHUNK_HEIGHT;\n var totalChunks = partialChunkHeight === 0 ? fullChunks : fullChunks + 1;\n\n var chunkImgData = ctx.createImageData(width, FULL_CHUNK_HEIGHT);\n var srcPos = 0;\n var src = imgData.data;\n var dest = chunkImgData.data;\n\n for (var i = 0; i < totalChunks; i++) {\n var thisChunkHeight =\n i < fullChunks ? FULL_CHUNK_HEIGHT : partialChunkHeight;\n\n // Expand the mask so it can be used by the canvas. Any required\n // inversion has already been handled.\n var destPos = 3; // alpha component offset\n for (var j = 0; j < thisChunkHeight; j++) {\n var mask = 0;\n for (var k = 0; k < width; k++) {\n if (!mask) {\n var elem = src[srcPos++];\n mask = 128;\n }\n dest[destPos] = elem & mask ? 0 : 255;\n destPos += 4;\n mask >>= 1;\n }\n }\n ctx.putImageData(chunkImgData, 0, i * FULL_CHUNK_HEIGHT);\n }\n }\n\n function copyCtxState(sourceCtx, destCtx) {\n var properties = [\n \"strokeStyle\",\n \"fillStyle\",\n \"fillRule\",\n \"globalAlpha\",\n \"lineWidth\",\n \"lineCap\",\n \"lineJoin\",\n \"miterLimit\",\n \"globalCompositeOperation\",\n \"font\",\n ];\n for (var i = 0, ii = properties.length; i < ii; i++) {\n var property = properties[i];\n if (sourceCtx[property] !== undefined) {\n destCtx[property] = sourceCtx[property];\n }\n }\n if (sourceCtx.setLineDash !== undefined) {\n destCtx.setLineDash(sourceCtx.getLineDash());\n destCtx.lineDashOffset = sourceCtx.lineDashOffset;\n }\n }\n\n function resetCtxToDefault(ctx) {\n ctx.strokeStyle = \"#000000\";\n ctx.fillStyle = \"#000000\";\n ctx.fillRule = \"nonzero\";\n ctx.globalAlpha = 1;\n ctx.lineWidth = 1;\n ctx.lineCap = \"butt\";\n ctx.lineJoin = \"miter\";\n ctx.miterLimit = 10;\n ctx.globalCompositeOperation = \"source-over\";\n ctx.font = \"10px sans-serif\";\n if (ctx.setLineDash !== undefined) {\n ctx.setLineDash([]);\n ctx.lineDashOffset = 0;\n }\n }\n\n function composeSMaskBackdrop(bytes, r0, g0, b0) {\n var length = bytes.length;\n for (var i = 3; i < length; i += 4) {\n var alpha = bytes[i];\n if (alpha === 0) {\n bytes[i - 3] = r0;\n bytes[i - 2] = g0;\n bytes[i - 1] = b0;\n } else if (alpha < 255) {\n var alpha_ = 255 - alpha;\n bytes[i - 3] = (bytes[i - 3] * alpha + r0 * alpha_) >> 8;\n bytes[i - 2] = (bytes[i - 2] * alpha + g0 * alpha_) >> 8;\n bytes[i - 1] = (bytes[i - 1] * alpha + b0 * alpha_) >> 8;\n }\n }\n }\n\n function composeSMaskAlpha(maskData, layerData, transferMap) {\n var length = maskData.length;\n var scale = 1 / 255;\n for (var i = 3; i < length; i += 4) {\n var alpha = transferMap ? transferMap[maskData[i]] : maskData[i];\n layerData[i] = (layerData[i] * alpha * scale) | 0;\n }\n }\n\n function composeSMaskLuminosity(maskData, layerData, transferMap) {\n var length = maskData.length;\n for (var i = 3; i < length; i += 4) {\n var y =\n maskData[i - 3] * 77 + // * 0.3 / 255 * 0x10000\n maskData[i - 2] * 152 + // * 0.59 ....\n maskData[i - 1] * 28; // * 0.11 ....\n layerData[i] = transferMap\n ? (layerData[i] * transferMap[y >> 8]) >> 8\n : (layerData[i] * y) >> 16;\n }\n }\n\n function genericComposeSMask(\n maskCtx,\n layerCtx,\n width,\n height,\n subtype,\n backdrop,\n transferMap\n ) {\n var hasBackdrop = !!backdrop;\n var r0 = hasBackdrop ? backdrop[0] : 0;\n var g0 = hasBackdrop ? backdrop[1] : 0;\n var b0 = hasBackdrop ? backdrop[2] : 0;\n\n var composeFn;\n if (subtype === \"Luminosity\") {\n composeFn = composeSMaskLuminosity;\n } else {\n composeFn = composeSMaskAlpha;\n }\n\n // processing image in chunks to save memory\n var PIXELS_TO_PROCESS = 1048576;\n var chunkSize = Math.min(height, Math.ceil(PIXELS_TO_PROCESS / width));\n for (var row = 0; row < height; row += chunkSize) {\n var chunkHeight = Math.min(chunkSize, height - row);\n var maskData = maskCtx.getImageData(0, row, width, chunkHeight);\n var layerData = layerCtx.getImageData(0, row, width, chunkHeight);\n\n if (hasBackdrop) {\n composeSMaskBackdrop(maskData.data, r0, g0, b0);\n }\n composeFn(maskData.data, layerData.data, transferMap);\n\n maskCtx.putImageData(layerData, 0, row);\n }\n }\n\n function composeSMask(ctx, smask, layerCtx, webGLContext) {\n var mask = smask.canvas;\n var maskCtx = smask.context;\n\n ctx.setTransform(\n smask.scaleX,\n 0,\n 0,\n smask.scaleY,\n smask.offsetX,\n smask.offsetY\n );\n\n var backdrop = smask.backdrop || null;\n if (!smask.transferMap && webGLContext.isEnabled) {\n const composed = webGLContext.composeSMask({\n layer: layerCtx.canvas,\n mask,\n properties: {\n subtype: smask.subtype,\n backdrop,\n },\n });\n ctx.setTransform(1, 0, 0, 1, 0, 0);\n ctx.drawImage(composed, smask.offsetX, smask.offsetY);\n return;\n }\n genericComposeSMask(\n maskCtx,\n layerCtx,\n mask.width,\n mask.height,\n smask.subtype,\n backdrop,\n smask.transferMap\n );\n ctx.drawImage(mask, 0, 0);\n }\n\n var LINE_CAP_STYLES = [\"butt\", \"round\", \"square\"];\n var LINE_JOIN_STYLES = [\"miter\", \"round\", \"bevel\"];\n var NORMAL_CLIP = {};\n var EO_CLIP = {};\n\n CanvasGraphics.prototype = {\n beginDrawing({\n transform,\n viewport,\n transparency = false,\n background = null,\n }) {\n // For pdfs that use blend modes we have to clear the canvas else certain\n // blend modes can look wrong since we'd be blending with a white\n // backdrop. The problem with a transparent backdrop though is we then\n // don't get sub pixel anti aliasing on text, creating temporary\n // transparent canvas when we have blend modes.\n var width = this.ctx.canvas.width;\n var height = this.ctx.canvas.height;\n\n this.ctx.save();\n this.ctx.fillStyle = background || \"rgb(255, 255, 255)\";\n this.ctx.fillRect(0, 0, width, height);\n this.ctx.restore();\n\n if (transparency) {\n var transparentCanvas = this.cachedCanvases.getCanvas(\n \"transparent\",\n width,\n height,\n true\n );\n this.compositeCtx = this.ctx;\n this.transparentCanvas = transparentCanvas.canvas;\n this.ctx = transparentCanvas.context;\n this.ctx.save();\n // The transform can be applied before rendering, transferring it to\n // the new canvas.\n this.ctx.transform.apply(\n this.ctx,\n this.compositeCtx.mozCurrentTransform\n );\n }\n\n this.ctx.save();\n resetCtxToDefault(this.ctx);\n if (transform) {\n this.ctx.transform.apply(this.ctx, transform);\n }\n this.ctx.transform.apply(this.ctx, viewport.transform);\n\n this.baseTransform = this.ctx.mozCurrentTransform.slice();\n\n if (this.imageLayer) {\n this.imageLayer.beginLayout();\n }\n },\n\n executeOperatorList: function CanvasGraphics_executeOperatorList(\n operatorList,\n executionStartIdx,\n continueCallback,\n stepper\n ) {\n var argsArray = operatorList.argsArray;\n var fnArray = operatorList.fnArray;\n var i = executionStartIdx || 0;\n var argsArrayLen = argsArray.length;\n\n // Sometimes the OperatorList to execute is empty.\n if (argsArrayLen === i) {\n return i;\n }\n\n var chunkOperations =\n argsArrayLen - i > EXECUTION_STEPS &&\n typeof continueCallback === \"function\";\n var endTime = chunkOperations ? Date.now() + EXECUTION_TIME : 0;\n var steps = 0;\n\n var commonObjs = this.commonObjs;\n var objs = this.objs;\n var fnId;\n\n while (true) {\n if (stepper !== undefined && i === stepper.nextBreakPoint) {\n stepper.breakIt(i, continueCallback);\n return i;\n }\n\n fnId = fnArray[i];\n\n if (fnId !== OPS.dependency) {\n this[fnId].apply(this, argsArray[i]);\n } else {\n for (const depObjId of argsArray[i]) {\n const objsPool = depObjId.startsWith(\"g_\") ? commonObjs : objs;\n\n // If the promise isn't resolved yet, add the continueCallback\n // to the promise and bail out.\n if (!objsPool.has(depObjId)) {\n objsPool.get(depObjId, continueCallback);\n return i;\n }\n }\n }\n\n i++;\n\n // If the entire operatorList was executed, stop as were done.\n if (i === argsArrayLen) {\n return i;\n }\n\n // If the execution took longer then a certain amount of time and\n // `continueCallback` is specified, interrupt the execution.\n if (chunkOperations && ++steps > EXECUTION_STEPS) {\n if (Date.now() > endTime) {\n continueCallback();\n return i;\n }\n steps = 0;\n }\n\n // If the operatorList isn't executed completely yet OR the execution\n // time was short enough, do another execution round.\n }\n },\n\n endDrawing: function CanvasGraphics_endDrawing() {\n // Finishing all opened operations such as SMask group painting.\n if (this.current.activeSMask !== null) {\n this.endSMaskGroup();\n }\n\n this.ctx.restore();\n\n if (this.transparentCanvas) {\n this.ctx = this.compositeCtx;\n this.ctx.save();\n this.ctx.setTransform(1, 0, 0, 1, 0, 0); // Avoid apply transform twice\n this.ctx.drawImage(this.transparentCanvas, 0, 0);\n this.ctx.restore();\n this.transparentCanvas = null;\n }\n\n this.cachedCanvases.clear();\n this.webGLContext.clear();\n\n if (this.imageLayer) {\n this.imageLayer.endLayout();\n }\n },\n\n // Graphics state\n setLineWidth: function CanvasGraphics_setLineWidth(width) {\n this.current.lineWidth = width;\n this.ctx.lineWidth = width;\n },\n setLineCap: function CanvasGraphics_setLineCap(style) {\n this.ctx.lineCap = LINE_CAP_STYLES[style];\n },\n setLineJoin: function CanvasGraphics_setLineJoin(style) {\n this.ctx.lineJoin = LINE_JOIN_STYLES[style];\n },\n setMiterLimit: function CanvasGraphics_setMiterLimit(limit) {\n this.ctx.miterLimit = limit;\n },\n setDash: function CanvasGraphics_setDash(dashArray, dashPhase) {\n var ctx = this.ctx;\n if (ctx.setLineDash !== undefined) {\n ctx.setLineDash(dashArray);\n ctx.lineDashOffset = dashPhase;\n }\n },\n setRenderingIntent(intent) {\n // This operation is ignored since we haven't found a use case for it yet.\n },\n setFlatness(flatness) {\n // This operation is ignored since we haven't found a use case for it yet.\n },\n setGState: function CanvasGraphics_setGState(states) {\n for (var i = 0, ii = states.length; i < ii; i++) {\n var state = states[i];\n var key = state[0];\n var value = state[1];\n\n switch (key) {\n case \"LW\":\n this.setLineWidth(value);\n break;\n case \"LC\":\n this.setLineCap(value);\n break;\n case \"LJ\":\n this.setLineJoin(value);\n break;\n case \"ML\":\n this.setMiterLimit(value);\n break;\n case \"D\":\n this.setDash(value[0], value[1]);\n break;\n case \"RI\":\n this.setRenderingIntent(value);\n break;\n case \"FL\":\n this.setFlatness(value);\n break;\n case \"Font\":\n this.setFont(value[0], value[1]);\n break;\n case \"CA\":\n this.current.strokeAlpha = state[1];\n break;\n case \"ca\":\n this.current.fillAlpha = state[1];\n this.ctx.globalAlpha = state[1];\n break;\n case \"BM\":\n this.ctx.globalCompositeOperation = value;\n break;\n case \"SMask\":\n if (this.current.activeSMask) {\n // If SMask is currrenly used, it needs to be suspended or\n // finished. Suspend only makes sense when at least one save()\n // was performed and state needs to be reverted on restore().\n if (\n this.stateStack.length > 0 &&\n this.stateStack[this.stateStack.length - 1].activeSMask ===\n this.current.activeSMask\n ) {\n this.suspendSMaskGroup();\n } else {\n this.endSMaskGroup();\n }\n }\n this.current.activeSMask = value ? this.tempSMask : null;\n if (this.current.activeSMask) {\n this.beginSMaskGroup();\n }\n this.tempSMask = null;\n break;\n }\n }\n },\n beginSMaskGroup: function CanvasGraphics_beginSMaskGroup() {\n var activeSMask = this.current.activeSMask;\n var drawnWidth = activeSMask.canvas.width;\n var drawnHeight = activeSMask.canvas.height;\n var cacheId = \"smaskGroupAt\" + this.groupLevel;\n var scratchCanvas = this.cachedCanvases.getCanvas(\n cacheId,\n drawnWidth,\n drawnHeight,\n true\n );\n\n var currentCtx = this.ctx;\n var currentTransform = currentCtx.mozCurrentTransform;\n this.ctx.save();\n\n var groupCtx = scratchCanvas.context;\n groupCtx.scale(1 / activeSMask.scaleX, 1 / activeSMask.scaleY);\n groupCtx.translate(-activeSMask.offsetX, -activeSMask.offsetY);\n groupCtx.transform.apply(groupCtx, currentTransform);\n\n activeSMask.startTransformInverse = groupCtx.mozCurrentTransformInverse;\n\n copyCtxState(currentCtx, groupCtx);\n this.ctx = groupCtx;\n this.setGState([\n [\"BM\", \"source-over\"],\n [\"ca\", 1],\n [\"CA\", 1],\n ]);\n this.groupStack.push(currentCtx);\n this.groupLevel++;\n },\n suspendSMaskGroup: function CanvasGraphics_endSMaskGroup() {\n // Similar to endSMaskGroup, the intermediate canvas has to be composed\n // and future ctx state restored.\n var groupCtx = this.ctx;\n this.groupLevel--;\n this.ctx = this.groupStack.pop();\n\n composeSMask(\n this.ctx,\n this.current.activeSMask,\n groupCtx,\n this.webGLContext\n );\n this.ctx.restore();\n this.ctx.save(); // save is needed since SMask will be resumed.\n copyCtxState(groupCtx, this.ctx);\n\n // Saving state for resuming.\n this.current.resumeSMaskCtx = groupCtx;\n // Transform was changed in the SMask canvas, reflecting this change on\n // this.ctx.\n var deltaTransform = Util.transform(\n this.current.activeSMask.startTransformInverse,\n groupCtx.mozCurrentTransform\n );\n this.ctx.transform.apply(this.ctx, deltaTransform);\n\n // SMask was composed, the results at the groupCtx can be cleared.\n groupCtx.save();\n groupCtx.setTransform(1, 0, 0, 1, 0, 0);\n groupCtx.clearRect(0, 0, groupCtx.canvas.width, groupCtx.canvas.height);\n groupCtx.restore();\n },\n resumeSMaskGroup: function CanvasGraphics_endSMaskGroup() {\n // Resuming state saved by suspendSMaskGroup. We don't need to restore\n // any groupCtx state since restore() command (the only caller) will do\n // that for us. See also beginSMaskGroup.\n var groupCtx = this.current.resumeSMaskCtx;\n var currentCtx = this.ctx;\n this.ctx = groupCtx;\n this.groupStack.push(currentCtx);\n this.groupLevel++;\n },\n endSMaskGroup: function CanvasGraphics_endSMaskGroup() {\n var groupCtx = this.ctx;\n this.groupLevel--;\n this.ctx = this.groupStack.pop();\n\n composeSMask(\n this.ctx,\n this.current.activeSMask,\n groupCtx,\n this.webGLContext\n );\n this.ctx.restore();\n copyCtxState(groupCtx, this.ctx);\n // Transform was changed in the SMask canvas, reflecting this change on\n // this.ctx.\n var deltaTransform = Util.transform(\n this.current.activeSMask.startTransformInverse,\n groupCtx.mozCurrentTransform\n );\n this.ctx.transform.apply(this.ctx, deltaTransform);\n },\n save: function CanvasGraphics_save() {\n this.ctx.save();\n var old = this.current;\n this.stateStack.push(old);\n this.current = old.clone();\n this.current.resumeSMaskCtx = null;\n },\n restore: function CanvasGraphics_restore() {\n // SMask was suspended, we just need to resume it.\n if (this.current.resumeSMaskCtx) {\n this.resumeSMaskGroup();\n }\n // SMask has to be finished once there is no states that are using the\n // same SMask.\n if (\n this.current.activeSMask !== null &&\n (this.stateStack.length === 0 ||\n this.stateStack[this.stateStack.length - 1].activeSMask !==\n this.current.activeSMask)\n ) {\n this.endSMaskGroup();\n }\n\n if (this.stateStack.length !== 0) {\n this.current = this.stateStack.pop();\n this.ctx.restore();\n\n // Ensure that the clipping path is reset (fixes issue6413.pdf).\n this.pendingClip = null;\n\n this._cachedGetSinglePixelWidth = null;\n }\n },\n transform: function CanvasGraphics_transform(a, b, c, d, e, f) {\n this.ctx.transform(a, b, c, d, e, f);\n\n this._cachedGetSinglePixelWidth = null;\n },\n\n // Path\n constructPath: function CanvasGraphics_constructPath(ops, args) {\n var ctx = this.ctx;\n var current = this.current;\n var x = current.x,\n y = current.y;\n for (var i = 0, j = 0, ii = ops.length; i < ii; i++) {\n switch (ops[i] | 0) {\n case OPS.rectangle:\n x = args[j++];\n y = args[j++];\n var width = args[j++];\n var height = args[j++];\n if (width === 0) {\n width = this.getSinglePixelWidth();\n }\n if (height === 0) {\n height = this.getSinglePixelWidth();\n }\n var xw = x + width;\n var yh = y + height;\n this.ctx.moveTo(x, y);\n this.ctx.lineTo(xw, y);\n this.ctx.lineTo(xw, yh);\n this.ctx.lineTo(x, yh);\n this.ctx.lineTo(x, y);\n this.ctx.closePath();\n break;\n case OPS.moveTo:\n x = args[j++];\n y = args[j++];\n ctx.moveTo(x, y);\n break;\n case OPS.lineTo:\n x = args[j++];\n y = args[j++];\n ctx.lineTo(x, y);\n break;\n case OPS.curveTo:\n x = args[j + 4];\n y = args[j + 5];\n ctx.bezierCurveTo(\n args[j],\n args[j + 1],\n args[j + 2],\n args[j + 3],\n x,\n y\n );\n j += 6;\n break;\n case OPS.curveTo2:\n ctx.bezierCurveTo(\n x,\n y,\n args[j],\n args[j + 1],\n args[j + 2],\n args[j + 3]\n );\n x = args[j + 2];\n y = args[j + 3];\n j += 4;\n break;\n case OPS.curveTo3:\n x = args[j + 2];\n y = args[j + 3];\n ctx.bezierCurveTo(args[j], args[j + 1], x, y, x, y);\n j += 4;\n break;\n case OPS.closePath:\n ctx.closePath();\n break;\n }\n }\n current.setCurrentPoint(x, y);\n },\n closePath: function CanvasGraphics_closePath() {\n this.ctx.closePath();\n },\n stroke: function CanvasGraphics_stroke(consumePath) {\n consumePath = typeof consumePath !== \"undefined\" ? consumePath : true;\n var ctx = this.ctx;\n var strokeColor = this.current.strokeColor;\n // For stroke we want to temporarily change the global alpha to the\n // stroking alpha.\n ctx.globalAlpha = this.current.strokeAlpha;\n if (\n strokeColor &&\n strokeColor.hasOwnProperty(\"type\") &&\n strokeColor.type === \"Pattern\"\n ) {\n // for patterns, we transform to pattern space, calculate\n // the pattern, call stroke, and restore to user space\n ctx.save();\n // The current transform will be replaced while building the pattern,\n // but the line width needs to be adjusted by the current transform, so\n // we must scale it. To properly fix this we should be using a pattern\n // transform instead (see #10955).\n const transform = ctx.mozCurrentTransform;\n const scale = Util.singularValueDecompose2dScale(transform)[0];\n ctx.strokeStyle = strokeColor.getPattern(ctx, this);\n ctx.lineWidth = Math.max(\n this.getSinglePixelWidth() * MIN_WIDTH_FACTOR,\n this.current.lineWidth * scale\n );\n ctx.stroke();\n ctx.restore();\n } else {\n // Prevent drawing too thin lines by enforcing a minimum line width.\n ctx.lineWidth = Math.max(\n this.getSinglePixelWidth() * MIN_WIDTH_FACTOR,\n this.current.lineWidth\n );\n ctx.stroke();\n }\n if (consumePath) {\n this.consumePath();\n }\n // Restore the global alpha to the fill alpha\n ctx.globalAlpha = this.current.fillAlpha;\n },\n closeStroke: function CanvasGraphics_closeStroke() {\n this.closePath();\n this.stroke();\n },\n fill: function CanvasGraphics_fill(consumePath) {\n consumePath = typeof consumePath !== \"undefined\" ? consumePath : true;\n var ctx = this.ctx;\n var fillColor = this.current.fillColor;\n var isPatternFill = this.current.patternFill;\n var needRestore = false;\n\n if (isPatternFill) {\n ctx.save();\n if (this.baseTransform) {\n ctx.setTransform.apply(ctx, this.baseTransform);\n }\n ctx.fillStyle = fillColor.getPattern(ctx, this);\n needRestore = true;\n }\n\n if (this.pendingEOFill) {\n ctx.fill(\"evenodd\");\n this.pendingEOFill = false;\n } else {\n ctx.fill();\n }\n\n if (needRestore) {\n ctx.restore();\n }\n if (consumePath) {\n this.consumePath();\n }\n },\n eoFill: function CanvasGraphics_eoFill() {\n this.pendingEOFill = true;\n this.fill();\n },\n fillStroke: function CanvasGraphics_fillStroke() {\n this.fill(false);\n this.stroke(false);\n\n this.consumePath();\n },\n eoFillStroke: function CanvasGraphics_eoFillStroke() {\n this.pendingEOFill = true;\n this.fillStroke();\n },\n closeFillStroke: function CanvasGraphics_closeFillStroke() {\n this.closePath();\n this.fillStroke();\n },\n closeEOFillStroke: function CanvasGraphics_closeEOFillStroke() {\n this.pendingEOFill = true;\n this.closePath();\n this.fillStroke();\n },\n endPath: function CanvasGraphics_endPath() {\n this.consumePath();\n },\n\n // Clipping\n clip: function CanvasGraphics_clip() {\n this.pendingClip = NORMAL_CLIP;\n },\n eoClip: function CanvasGraphics_eoClip() {\n this.pendingClip = EO_CLIP;\n },\n\n // Text\n beginText: function CanvasGraphics_beginText() {\n this.current.textMatrix = IDENTITY_MATRIX;\n this.current.textMatrixScale = 1;\n this.current.x = this.current.lineX = 0;\n this.current.y = this.current.lineY = 0;\n },\n endText: function CanvasGraphics_endText() {\n var paths = this.pendingTextPaths;\n var ctx = this.ctx;\n if (paths === undefined) {\n ctx.beginPath();\n return;\n }\n\n ctx.save();\n ctx.beginPath();\n for (var i = 0; i < paths.length; i++) {\n var path = paths[i];\n ctx.setTransform.apply(ctx, path.transform);\n ctx.translate(path.x, path.y);\n path.addToPath(ctx, path.fontSize);\n }\n ctx.restore();\n ctx.clip();\n ctx.beginPath();\n delete this.pendingTextPaths;\n },\n setCharSpacing: function CanvasGraphics_setCharSpacing(spacing) {\n this.current.charSpacing = spacing;\n },\n setWordSpacing: function CanvasGraphics_setWordSpacing(spacing) {\n this.current.wordSpacing = spacing;\n },\n setHScale: function CanvasGraphics_setHScale(scale) {\n this.current.textHScale = scale / 100;\n },\n setLeading: function CanvasGraphics_setLeading(leading) {\n this.current.leading = -leading;\n },\n setFont: function CanvasGraphics_setFont(fontRefName, size) {\n var fontObj = this.commonObjs.get(fontRefName);\n var current = this.current;\n\n if (!fontObj) {\n throw new Error(`Can't find font for ${fontRefName}`);\n }\n\n current.fontMatrix = fontObj.fontMatrix\n ? fontObj.fontMatrix\n : FONT_IDENTITY_MATRIX;\n\n // A valid matrix needs all main diagonal elements to be non-zero\n // This also ensures we bypass FF bugzilla bug #719844.\n if (current.fontMatrix[0] === 0 || current.fontMatrix[3] === 0) {\n warn(\"Invalid font matrix for font \" + fontRefName);\n }\n\n // The spec for Tf (setFont) says that 'size' specifies the font 'scale',\n // and in some docs this can be negative (inverted x-y axes).\n if (size < 0) {\n size = -size;\n current.fontDirection = -1;\n } else {\n current.fontDirection = 1;\n }\n\n this.current.font = fontObj;\n this.current.fontSize = size;\n\n if (fontObj.isType3Font) {\n return; // we don't need ctx.font for Type3 fonts\n }\n\n var name = fontObj.loadedName || \"sans-serif\";\n\n let bold = \"normal\";\n if (fontObj.black) {\n bold = \"900\";\n } else if (fontObj.bold) {\n bold = \"bold\";\n }\n var italic = fontObj.italic ? \"italic\" : \"normal\";\n var typeface = `\"${name}\", ${fontObj.fallbackName}`;\n\n // Some font backends cannot handle fonts below certain size.\n // Keeping the font at minimal size and using the fontSizeScale to change\n // the current transformation matrix before the fillText/strokeText.\n // See https://bugzilla.mozilla.org/show_bug.cgi?id=726227\n let browserFontSize = size;\n if (size < MIN_FONT_SIZE) {\n browserFontSize = MIN_FONT_SIZE;\n } else if (size > MAX_FONT_SIZE) {\n browserFontSize = MAX_FONT_SIZE;\n }\n this.current.fontSizeScale = size / browserFontSize;\n\n this.ctx.font = `${italic} ${bold} ${browserFontSize}px ${typeface}`;\n },\n setTextRenderingMode: function CanvasGraphics_setTextRenderingMode(mode) {\n this.current.textRenderingMode = mode;\n },\n setTextRise: function CanvasGraphics_setTextRise(rise) {\n this.current.textRise = rise;\n },\n moveText: function CanvasGraphics_moveText(x, y) {\n this.current.x = this.current.lineX += x;\n this.current.y = this.current.lineY += y;\n },\n setLeadingMoveText: function CanvasGraphics_setLeadingMoveText(x, y) {\n this.setLeading(-y);\n this.moveText(x, y);\n },\n setTextMatrix: function CanvasGraphics_setTextMatrix(a, b, c, d, e, f) {\n this.current.textMatrix = [a, b, c, d, e, f];\n this.current.textMatrixScale = Math.sqrt(a * a + b * b);\n\n this.current.x = this.current.lineX = 0;\n this.current.y = this.current.lineY = 0;\n },\n nextLine: function CanvasGraphics_nextLine() {\n this.moveText(0, this.current.leading);\n },\n\n paintChar(character, x, y, patternTransform) {\n var ctx = this.ctx;\n var current = this.current;\n var font = current.font;\n var textRenderingMode = current.textRenderingMode;\n var fontSize = current.fontSize / current.fontSizeScale;\n var fillStrokeMode =\n textRenderingMode & TextRenderingMode.FILL_STROKE_MASK;\n var isAddToPathSet = !!(\n textRenderingMode & TextRenderingMode.ADD_TO_PATH_FLAG\n );\n const patternFill = current.patternFill && !font.missingFile;\n\n var addToPath;\n if (font.disableFontFace || isAddToPathSet || patternFill) {\n addToPath = font.getPathGenerator(this.commonObjs, character);\n }\n\n if (font.disableFontFace || patternFill) {\n ctx.save();\n ctx.translate(x, y);\n ctx.beginPath();\n addToPath(ctx, fontSize);\n if (patternTransform) {\n ctx.setTransform.apply(ctx, patternTransform);\n }\n if (\n fillStrokeMode === TextRenderingMode.FILL ||\n fillStrokeMode === TextRenderingMode.FILL_STROKE\n ) {\n ctx.fill();\n }\n if (\n fillStrokeMode === TextRenderingMode.STROKE ||\n fillStrokeMode === TextRenderingMode.FILL_STROKE\n ) {\n ctx.stroke();\n }\n ctx.restore();\n } else {\n if (\n fillStrokeMode === TextRenderingMode.FILL ||\n fillStrokeMode === TextRenderingMode.FILL_STROKE\n ) {\n ctx.fillText(character, x, y);\n }\n if (\n fillStrokeMode === TextRenderingMode.STROKE ||\n fillStrokeMode === TextRenderingMode.FILL_STROKE\n ) {\n ctx.strokeText(character, x, y);\n }\n }\n\n if (isAddToPathSet) {\n var paths = this.pendingTextPaths || (this.pendingTextPaths = []);\n paths.push({\n transform: ctx.mozCurrentTransform,\n x,\n y,\n fontSize,\n addToPath,\n });\n }\n },\n\n get isFontSubpixelAAEnabled() {\n // Checks if anti-aliasing is enabled when scaled text is painted.\n // On Windows GDI scaled fonts looks bad.\n const { context: ctx } = this.cachedCanvases.getCanvas(\n \"isFontSubpixelAAEnabled\",\n 10,\n 10\n );\n ctx.scale(1.5, 1);\n ctx.fillText(\"I\", 0, 10);\n var data = ctx.getImageData(0, 0, 10, 10).data;\n var enabled = false;\n for (var i = 3; i < data.length; i += 4) {\n if (data[i] > 0 && data[i] < 255) {\n enabled = true;\n break;\n }\n }\n return shadow(this, \"isFontSubpixelAAEnabled\", enabled);\n },\n\n showText: function CanvasGraphics_showText(glyphs) {\n var current = this.current;\n var font = current.font;\n if (font.isType3Font) {\n return this.showType3Text(glyphs);\n }\n\n var fontSize = current.fontSize;\n if (fontSize === 0) {\n return undefined;\n }\n\n var ctx = this.ctx;\n var fontSizeScale = current.fontSizeScale;\n var charSpacing = current.charSpacing;\n var wordSpacing = current.wordSpacing;\n var fontDirection = current.fontDirection;\n var textHScale = current.textHScale * fontDirection;\n var glyphsLength = glyphs.length;\n var vertical = font.vertical;\n var spacingDir = vertical ? 1 : -1;\n var defaultVMetrics = font.defaultVMetrics;\n var widthAdvanceScale = fontSize * current.fontMatrix[0];\n\n var simpleFillText =\n current.textRenderingMode === TextRenderingMode.FILL &&\n !font.disableFontFace &&\n !current.patternFill;\n\n ctx.save();\n let patternTransform;\n if (current.patternFill) {\n // TODO: Patterns are not applied correctly to text if a non-embedded\n // font is used. E.g. issue 8111 and ShowText-ShadingPattern.pdf.\n ctx.save();\n const pattern = current.fillColor.getPattern(ctx, this);\n patternTransform = ctx.mozCurrentTransform;\n ctx.restore();\n ctx.fillStyle = pattern;\n }\n ctx.transform.apply(ctx, current.textMatrix);\n ctx.translate(current.x, current.y + current.textRise);\n\n if (fontDirection > 0) {\n ctx.scale(textHScale, -1);\n } else {\n ctx.scale(textHScale, 1);\n }\n\n var lineWidth = current.lineWidth;\n var scale = current.textMatrixScale;\n if (scale === 0 || lineWidth === 0) {\n var fillStrokeMode =\n current.textRenderingMode & TextRenderingMode.FILL_STROKE_MASK;\n if (\n fillStrokeMode === TextRenderingMode.STROKE ||\n fillStrokeMode === TextRenderingMode.FILL_STROKE\n ) {\n this._cachedGetSinglePixelWidth = null;\n lineWidth = this.getSinglePixelWidth() * MIN_WIDTH_FACTOR;\n }\n } else {\n lineWidth /= scale;\n }\n\n if (fontSizeScale !== 1.0) {\n ctx.scale(fontSizeScale, fontSizeScale);\n lineWidth /= fontSizeScale;\n }\n\n ctx.lineWidth = lineWidth;\n\n var x = 0,\n i;\n for (i = 0; i < glyphsLength; ++i) {\n var glyph = glyphs[i];\n if (isNum(glyph)) {\n x += (spacingDir * glyph * fontSize) / 1000;\n continue;\n }\n\n var restoreNeeded = false;\n var spacing = (glyph.isSpace ? wordSpacing : 0) + charSpacing;\n var character = glyph.fontChar;\n var accent = glyph.accent;\n var scaledX, scaledY, scaledAccentX, scaledAccentY;\n var width = glyph.width;\n if (vertical) {\n var vmetric, vx, vy;\n vmetric = glyph.vmetric || defaultVMetrics;\n vx = glyph.vmetric ? vmetric[1] : width * 0.5;\n vx = -vx * widthAdvanceScale;\n vy = vmetric[2] * widthAdvanceScale;\n\n width = vmetric ? -vmetric[0] : width;\n scaledX = vx / fontSizeScale;\n scaledY = (x + vy) / fontSizeScale;\n } else {\n scaledX = x / fontSizeScale;\n scaledY = 0;\n }\n\n if (font.remeasure && width > 0) {\n // Some standard fonts may not have the exact width: rescale per\n // character if measured width is greater than expected glyph width\n // and subpixel-aa is enabled, otherwise just center the glyph.\n var measuredWidth =\n ((ctx.measureText(character).width * 1000) / fontSize) *\n fontSizeScale;\n if (width < measuredWidth && this.isFontSubpixelAAEnabled) {\n var characterScaleX = width / measuredWidth;\n restoreNeeded = true;\n ctx.save();\n ctx.scale(characterScaleX, 1);\n scaledX /= characterScaleX;\n } else if (width !== measuredWidth) {\n scaledX +=\n (((width - measuredWidth) / 2000) * fontSize) / fontSizeScale;\n }\n }\n\n // Only attempt to draw the glyph if it is actually in the embedded font\n // file or if there isn't a font file so the fallback font is shown.\n if (glyph.isInFont || font.missingFile) {\n if (simpleFillText && !accent) {\n // common case\n ctx.fillText(character, scaledX, scaledY);\n } else {\n this.paintChar(character, scaledX, scaledY, patternTransform);\n if (accent) {\n scaledAccentX = scaledX + accent.offset.x / fontSizeScale;\n scaledAccentY = scaledY - accent.offset.y / fontSizeScale;\n this.paintChar(\n accent.fontChar,\n scaledAccentX,\n scaledAccentY,\n patternTransform\n );\n }\n }\n }\n\n var charWidth;\n if (vertical) {\n charWidth = width * widthAdvanceScale - spacing * fontDirection;\n } else {\n charWidth = width * widthAdvanceScale + spacing * fontDirection;\n }\n x += charWidth;\n\n if (restoreNeeded) {\n ctx.restore();\n }\n }\n if (vertical) {\n current.y -= x;\n } else {\n current.x += x * textHScale;\n }\n ctx.restore();\n },\n\n showType3Text: function CanvasGraphics_showType3Text(glyphs) {\n // Type3 fonts - each glyph is a \"mini-PDF\"\n var ctx = this.ctx;\n var current = this.current;\n var font = current.font;\n var fontSize = current.fontSize;\n var fontDirection = current.fontDirection;\n var spacingDir = font.vertical ? 1 : -1;\n var charSpacing = current.charSpacing;\n var wordSpacing = current.wordSpacing;\n var textHScale = current.textHScale * fontDirection;\n var fontMatrix = current.fontMatrix || FONT_IDENTITY_MATRIX;\n var glyphsLength = glyphs.length;\n var isTextInvisible =\n current.textRenderingMode === TextRenderingMode.INVISIBLE;\n var i, glyph, width, spacingLength;\n\n if (isTextInvisible || fontSize === 0) {\n return;\n }\n this._cachedGetSinglePixelWidth = null;\n\n ctx.save();\n ctx.transform.apply(ctx, current.textMatrix);\n ctx.translate(current.x, current.y);\n\n ctx.scale(textHScale, fontDirection);\n\n for (i = 0; i < glyphsLength; ++i) {\n glyph = glyphs[i];\n if (isNum(glyph)) {\n spacingLength = (spacingDir * glyph * fontSize) / 1000;\n this.ctx.translate(spacingLength, 0);\n current.x += spacingLength * textHScale;\n continue;\n }\n\n var spacing = (glyph.isSpace ? wordSpacing : 0) + charSpacing;\n var operatorList = font.charProcOperatorList[glyph.operatorListId];\n if (!operatorList) {\n warn(`Type3 character \"${glyph.operatorListId}\" is not available.`);\n continue;\n }\n this.processingType3 = glyph;\n this.save();\n ctx.scale(fontSize, fontSize);\n ctx.transform.apply(ctx, fontMatrix);\n this.executeOperatorList(operatorList);\n this.restore();\n\n var transformed = Util.applyTransform([glyph.width, 0], fontMatrix);\n width = transformed[0] * fontSize + spacing;\n\n ctx.translate(width, 0);\n current.x += width * textHScale;\n }\n ctx.restore();\n this.processingType3 = null;\n },\n\n // Type3 fonts\n setCharWidth: function CanvasGraphics_setCharWidth(xWidth, yWidth) {\n // We can safely ignore this since the width should be the same\n // as the width in the Widths array.\n },\n setCharWidthAndBounds: function CanvasGraphics_setCharWidthAndBounds(\n xWidth,\n yWidth,\n llx,\n lly,\n urx,\n ury\n ) {\n // TODO According to the spec we're also suppose to ignore any operators\n // that set color or include images while processing this type3 font.\n this.ctx.rect(llx, lly, urx - llx, ury - lly);\n this.clip();\n this.endPath();\n },\n\n // Color\n getColorN_Pattern: function CanvasGraphics_getColorN_Pattern(IR) {\n var pattern;\n if (IR[0] === \"TilingPattern\") {\n var color = IR[1];\n var baseTransform =\n this.baseTransform || this.ctx.mozCurrentTransform.slice();\n var canvasGraphicsFactory = {\n createCanvasGraphics: ctx => {\n return new CanvasGraphics(\n ctx,\n this.commonObjs,\n this.objs,\n this.canvasFactory,\n this.webGLContext\n );\n },\n };\n pattern = new TilingPattern(\n IR,\n color,\n this.ctx,\n canvasGraphicsFactory,\n baseTransform\n );\n } else {\n pattern = getShadingPatternFromIR(IR);\n }\n return pattern;\n },\n setStrokeColorN: function CanvasGraphics_setStrokeColorN() {\n this.current.strokeColor = this.getColorN_Pattern(arguments);\n },\n setFillColorN: function CanvasGraphics_setFillColorN() {\n this.current.fillColor = this.getColorN_Pattern(arguments);\n this.current.patternFill = true;\n },\n setStrokeRGBColor: function CanvasGraphics_setStrokeRGBColor(r, g, b) {\n var color = Util.makeCssRgb(r, g, b);\n this.ctx.strokeStyle = color;\n this.current.strokeColor = color;\n },\n setFillRGBColor: function CanvasGraphics_setFillRGBColor(r, g, b) {\n var color = Util.makeCssRgb(r, g, b);\n this.ctx.fillStyle = color;\n this.current.fillColor = color;\n this.current.patternFill = false;\n },\n\n shadingFill: function CanvasGraphics_shadingFill(patternIR) {\n var ctx = this.ctx;\n\n this.save();\n var pattern = getShadingPatternFromIR(patternIR);\n ctx.fillStyle = pattern.getPattern(ctx, this, true);\n\n var inv = ctx.mozCurrentTransformInverse;\n if (inv) {\n var canvas = ctx.canvas;\n var width = canvas.width;\n var height = canvas.height;\n\n var bl = Util.applyTransform([0, 0], inv);\n var br = Util.applyTransform([0, height], inv);\n var ul = Util.applyTransform([width, 0], inv);\n var ur = Util.applyTransform([width, height], inv);\n\n var x0 = Math.min(bl[0], br[0], ul[0], ur[0]);\n var y0 = Math.min(bl[1], br[1], ul[1], ur[1]);\n var x1 = Math.max(bl[0], br[0], ul[0], ur[0]);\n var y1 = Math.max(bl[1], br[1], ul[1], ur[1]);\n\n this.ctx.fillRect(x0, y0, x1 - x0, y1 - y0);\n } else {\n // HACK to draw the gradient onto an infinite rectangle.\n // PDF gradients are drawn across the entire image while\n // Canvas only allows gradients to be drawn in a rectangle\n // The following bug should allow us to remove this.\n // https://bugzilla.mozilla.org/show_bug.cgi?id=664884\n\n this.ctx.fillRect(-1e10, -1e10, 2e10, 2e10);\n }\n\n this.restore();\n },\n\n // Images\n beginInlineImage: function CanvasGraphics_beginInlineImage() {\n unreachable(\"Should not call beginInlineImage\");\n },\n beginImageData: function CanvasGraphics_beginImageData() {\n unreachable(\"Should not call beginImageData\");\n },\n\n paintFormXObjectBegin: function CanvasGraphics_paintFormXObjectBegin(\n matrix,\n bbox\n ) {\n this.save();\n this.baseTransformStack.push(this.baseTransform);\n\n if (Array.isArray(matrix) && matrix.length === 6) {\n this.transform.apply(this, matrix);\n }\n\n this.baseTransform = this.ctx.mozCurrentTransform;\n\n if (bbox) {\n var width = bbox[2] - bbox[0];\n var height = bbox[3] - bbox[1];\n this.ctx.rect(bbox[0], bbox[1], width, height);\n this.clip();\n this.endPath();\n }\n },\n\n paintFormXObjectEnd: function CanvasGraphics_paintFormXObjectEnd() {\n this.restore();\n this.baseTransform = this.baseTransformStack.pop();\n },\n\n beginGroup: function CanvasGraphics_beginGroup(group) {\n this.save();\n var currentCtx = this.ctx;\n // TODO non-isolated groups - according to Rik at adobe non-isolated\n // group results aren't usually that different and they even have tools\n // that ignore this setting. Notes from Rik on implementing:\n // - When you encounter an transparency group, create a new canvas with\n // the dimensions of the bbox\n // - copy the content from the previous canvas to the new canvas\n // - draw as usual\n // - remove the backdrop alpha:\n // alphaNew = 1 - (1 - alpha)/(1 - alphaBackdrop) with 'alpha' the alpha\n // value of your transparency group and 'alphaBackdrop' the alpha of the\n // backdrop\n // - remove background color:\n // colorNew = color - alphaNew *colorBackdrop /(1 - alphaNew)\n if (!group.isolated) {\n info(\"TODO: Support non-isolated groups.\");\n }\n\n // TODO knockout - supposedly possible with the clever use of compositing\n // modes.\n if (group.knockout) {\n warn(\"Knockout groups not supported.\");\n }\n\n var currentTransform = currentCtx.mozCurrentTransform;\n if (group.matrix) {\n currentCtx.transform.apply(currentCtx, group.matrix);\n }\n if (!group.bbox) {\n throw new Error(\"Bounding box is required.\");\n }\n\n // Based on the current transform figure out how big the bounding box\n // will actually be.\n var bounds = Util.getAxialAlignedBoundingBox(\n group.bbox,\n currentCtx.mozCurrentTransform\n );\n // Clip the bounding box to the current canvas.\n var canvasBounds = [\n 0,\n 0,\n currentCtx.canvas.width,\n currentCtx.canvas.height,\n ];\n bounds = Util.intersect(bounds, canvasBounds) || [0, 0, 0, 0];\n // Use ceil in case we're between sizes so we don't create canvas that is\n // too small and make the canvas at least 1x1 pixels.\n var offsetX = Math.floor(bounds[0]);\n var offsetY = Math.floor(bounds[1]);\n var drawnWidth = Math.max(Math.ceil(bounds[2]) - offsetX, 1);\n var drawnHeight = Math.max(Math.ceil(bounds[3]) - offsetY, 1);\n var scaleX = 1,\n scaleY = 1;\n if (drawnWidth > MAX_GROUP_SIZE) {\n scaleX = drawnWidth / MAX_GROUP_SIZE;\n drawnWidth = MAX_GROUP_SIZE;\n }\n if (drawnHeight > MAX_GROUP_SIZE) {\n scaleY = drawnHeight / MAX_GROUP_SIZE;\n drawnHeight = MAX_GROUP_SIZE;\n }\n\n var cacheId = \"groupAt\" + this.groupLevel;\n if (group.smask) {\n // Using two cache entries is case if masks are used one after another.\n cacheId += \"_smask_\" + (this.smaskCounter++ % 2);\n }\n var scratchCanvas = this.cachedCanvases.getCanvas(\n cacheId,\n drawnWidth,\n drawnHeight,\n true\n );\n var groupCtx = scratchCanvas.context;\n\n // Since we created a new canvas that is just the size of the bounding box\n // we have to translate the group ctx.\n groupCtx.scale(1 / scaleX, 1 / scaleY);\n groupCtx.translate(-offsetX, -offsetY);\n groupCtx.transform.apply(groupCtx, currentTransform);\n\n if (group.smask) {\n // Saving state and cached mask to be used in setGState.\n this.smaskStack.push({\n canvas: scratchCanvas.canvas,\n context: groupCtx,\n offsetX,\n offsetY,\n scaleX,\n scaleY,\n subtype: group.smask.subtype,\n backdrop: group.smask.backdrop,\n transferMap: group.smask.transferMap || null,\n startTransformInverse: null, // used during suspend operation\n });\n } else {\n // Setup the current ctx so when the group is popped we draw it at the\n // right location.\n currentCtx.setTransform(1, 0, 0, 1, 0, 0);\n currentCtx.translate(offsetX, offsetY);\n currentCtx.scale(scaleX, scaleY);\n }\n // The transparency group inherits all off the current graphics state\n // except the blend mode, soft mask, and alpha constants.\n copyCtxState(currentCtx, groupCtx);\n this.ctx = groupCtx;\n this.setGState([\n [\"BM\", \"source-over\"],\n [\"ca\", 1],\n [\"CA\", 1],\n ]);\n this.groupStack.push(currentCtx);\n this.groupLevel++;\n\n // Reseting mask state, masks will be applied on restore of the group.\n this.current.activeSMask = null;\n },\n\n endGroup: function CanvasGraphics_endGroup(group) {\n this.groupLevel--;\n var groupCtx = this.ctx;\n this.ctx = this.groupStack.pop();\n // Turn off image smoothing to avoid sub pixel interpolation which can\n // look kind of blurry for some pdfs.\n if (this.ctx.imageSmoothingEnabled !== undefined) {\n this.ctx.imageSmoothingEnabled = false;\n } else {\n this.ctx.mozImageSmoothingEnabled = false;\n }\n if (group.smask) {\n this.tempSMask = this.smaskStack.pop();\n } else {\n this.ctx.drawImage(groupCtx.canvas, 0, 0);\n }\n this.restore();\n },\n\n beginAnnotations: function CanvasGraphics_beginAnnotations() {\n this.save();\n if (this.baseTransform) {\n this.ctx.setTransform.apply(this.ctx, this.baseTransform);\n }\n },\n\n endAnnotations: function CanvasGraphics_endAnnotations() {\n this.restore();\n },\n\n beginAnnotation: function CanvasGraphics_beginAnnotation(\n rect,\n transform,\n matrix\n ) {\n this.save();\n resetCtxToDefault(this.ctx);\n this.current = new CanvasExtraState();\n\n if (Array.isArray(rect) && rect.length === 4) {\n var width = rect[2] - rect[0];\n var height = rect[3] - rect[1];\n this.ctx.rect(rect[0], rect[1], width, height);\n this.clip();\n this.endPath();\n }\n\n this.transform.apply(this, transform);\n this.transform.apply(this, matrix);\n },\n\n endAnnotation: function CanvasGraphics_endAnnotation() {\n this.restore();\n },\n\n paintImageMaskXObject: function CanvasGraphics_paintImageMaskXObject(img) {\n var ctx = this.ctx;\n var width = img.width,\n height = img.height;\n var fillColor = this.current.fillColor;\n var isPatternFill = this.current.patternFill;\n\n var glyph = this.processingType3;\n\n if (COMPILE_TYPE3_GLYPHS && glyph && glyph.compiled === undefined) {\n if (width <= MAX_SIZE_TO_COMPILE && height <= MAX_SIZE_TO_COMPILE) {\n glyph.compiled = compileType3Glyph({ data: img.data, width, height });\n } else {\n glyph.compiled = null;\n }\n }\n\n if (glyph && glyph.compiled) {\n glyph.compiled(ctx);\n return;\n }\n\n var maskCanvas = this.cachedCanvases.getCanvas(\n \"maskCanvas\",\n width,\n height\n );\n var maskCtx = maskCanvas.context;\n maskCtx.save();\n\n putBinaryImageMask(maskCtx, img);\n\n maskCtx.globalCompositeOperation = \"source-in\";\n\n maskCtx.fillStyle = isPatternFill\n ? fillColor.getPattern(maskCtx, this)\n : fillColor;\n maskCtx.fillRect(0, 0, width, height);\n\n maskCtx.restore();\n\n this.paintInlineImageXObject(maskCanvas.canvas);\n },\n\n paintImageMaskXObjectRepeat: function CanvasGraphics_paintImageMaskXObjectRepeat(\n imgData,\n scaleX,\n scaleY,\n positions\n ) {\n var width = imgData.width;\n var height = imgData.height;\n var fillColor = this.current.fillColor;\n var isPatternFill = this.current.patternFill;\n\n var maskCanvas = this.cachedCanvases.getCanvas(\n \"maskCanvas\",\n width,\n height\n );\n var maskCtx = maskCanvas.context;\n maskCtx.save();\n\n putBinaryImageMask(maskCtx, imgData);\n\n maskCtx.globalCompositeOperation = \"source-in\";\n\n maskCtx.fillStyle = isPatternFill\n ? fillColor.getPattern(maskCtx, this)\n : fillColor;\n maskCtx.fillRect(0, 0, width, height);\n\n maskCtx.restore();\n\n var ctx = this.ctx;\n for (var i = 0, ii = positions.length; i < ii; i += 2) {\n ctx.save();\n ctx.transform(scaleX, 0, 0, scaleY, positions[i], positions[i + 1]);\n ctx.scale(1, -1);\n ctx.drawImage(maskCanvas.canvas, 0, 0, width, height, 0, -1, 1, 1);\n ctx.restore();\n }\n },\n\n paintImageMaskXObjectGroup: function CanvasGraphics_paintImageMaskXObjectGroup(\n images\n ) {\n var ctx = this.ctx;\n\n var fillColor = this.current.fillColor;\n var isPatternFill = this.current.patternFill;\n for (var i = 0, ii = images.length; i < ii; i++) {\n var image = images[i];\n var width = image.width,\n height = image.height;\n\n var maskCanvas = this.cachedCanvases.getCanvas(\n \"maskCanvas\",\n width,\n height\n );\n var maskCtx = maskCanvas.context;\n maskCtx.save();\n\n putBinaryImageMask(maskCtx, image);\n\n maskCtx.globalCompositeOperation = \"source-in\";\n\n maskCtx.fillStyle = isPatternFill\n ? fillColor.getPattern(maskCtx, this)\n : fillColor;\n maskCtx.fillRect(0, 0, width, height);\n\n maskCtx.restore();\n\n ctx.save();\n ctx.transform.apply(ctx, image.transform);\n ctx.scale(1, -1);\n ctx.drawImage(maskCanvas.canvas, 0, 0, width, height, 0, -1, 1, 1);\n ctx.restore();\n }\n },\n\n paintImageXObject: function CanvasGraphics_paintImageXObject(objId) {\n const imgData = objId.startsWith(\"g_\")\n ? this.commonObjs.get(objId)\n : this.objs.get(objId);\n if (!imgData) {\n warn(\"Dependent image isn't ready yet\");\n return;\n }\n\n this.paintInlineImageXObject(imgData);\n },\n\n paintImageXObjectRepeat: function CanvasGraphics_paintImageXObjectRepeat(\n objId,\n scaleX,\n scaleY,\n positions\n ) {\n const imgData = objId.startsWith(\"g_\")\n ? this.commonObjs.get(objId)\n : this.objs.get(objId);\n if (!imgData) {\n warn(\"Dependent image isn't ready yet\");\n return;\n }\n\n var width = imgData.width;\n var height = imgData.height;\n var map = [];\n for (var i = 0, ii = positions.length; i < ii; i += 2) {\n map.push({\n transform: [scaleX, 0, 0, scaleY, positions[i], positions[i + 1]],\n x: 0,\n y: 0,\n w: width,\n h: height,\n });\n }\n this.paintInlineImageXObjectGroup(imgData, map);\n },\n\n paintInlineImageXObject: function CanvasGraphics_paintInlineImageXObject(\n imgData\n ) {\n var width = imgData.width;\n var height = imgData.height;\n var ctx = this.ctx;\n\n this.save();\n // scale the image to the unit square\n ctx.scale(1 / width, -1 / height);\n\n var currentTransform = ctx.mozCurrentTransformInverse;\n var a = currentTransform[0],\n b = currentTransform[1];\n var widthScale = Math.max(Math.sqrt(a * a + b * b), 1);\n var c = currentTransform[2],\n d = currentTransform[3];\n var heightScale = Math.max(Math.sqrt(c * c + d * d), 1);\n\n var imgToPaint, tmpCanvas;\n // typeof check is needed due to node.js support, see issue #8489\n if (\n (typeof HTMLElement === \"function\" && imgData instanceof HTMLElement) ||\n !imgData.data\n ) {\n imgToPaint = imgData;\n } else {\n tmpCanvas = this.cachedCanvases.getCanvas(\"inlineImage\", width, height);\n var tmpCtx = tmpCanvas.context;\n putBinaryImageData(tmpCtx, imgData);\n imgToPaint = tmpCanvas.canvas;\n }\n\n var paintWidth = width,\n paintHeight = height;\n var tmpCanvasId = \"prescale1\";\n // Vertical or horizontal scaling shall not be more than 2 to not lose the\n // pixels during drawImage operation, painting on the temporary canvas(es)\n // that are twice smaller in size.\n while (\n (widthScale > 2 && paintWidth > 1) ||\n (heightScale > 2 && paintHeight > 1)\n ) {\n var newWidth = paintWidth,\n newHeight = paintHeight;\n if (widthScale > 2 && paintWidth > 1) {\n newWidth = Math.ceil(paintWidth / 2);\n widthScale /= paintWidth / newWidth;\n }\n if (heightScale > 2 && paintHeight > 1) {\n newHeight = Math.ceil(paintHeight / 2);\n heightScale /= paintHeight / newHeight;\n }\n tmpCanvas = this.cachedCanvases.getCanvas(\n tmpCanvasId,\n newWidth,\n newHeight\n );\n tmpCtx = tmpCanvas.context;\n tmpCtx.clearRect(0, 0, newWidth, newHeight);\n tmpCtx.drawImage(\n imgToPaint,\n 0,\n 0,\n paintWidth,\n paintHeight,\n 0,\n 0,\n newWidth,\n newHeight\n );\n imgToPaint = tmpCanvas.canvas;\n paintWidth = newWidth;\n paintHeight = newHeight;\n tmpCanvasId = tmpCanvasId === \"prescale1\" ? \"prescale2\" : \"prescale1\";\n }\n ctx.drawImage(\n imgToPaint,\n 0,\n 0,\n paintWidth,\n paintHeight,\n 0,\n -height,\n width,\n height\n );\n\n if (this.imageLayer) {\n var position = this.getCanvasPosition(0, -height);\n this.imageLayer.appendImage({\n imgData,\n left: position[0],\n top: position[1],\n width: width / currentTransform[0],\n height: height / currentTransform[3],\n });\n }\n this.restore();\n },\n\n paintInlineImageXObjectGroup: function CanvasGraphics_paintInlineImageXObjectGroup(\n imgData,\n map\n ) {\n var ctx = this.ctx;\n var w = imgData.width;\n var h = imgData.height;\n\n var tmpCanvas = this.cachedCanvases.getCanvas(\"inlineImage\", w, h);\n var tmpCtx = tmpCanvas.context;\n putBinaryImageData(tmpCtx, imgData);\n\n for (var i = 0, ii = map.length; i < ii; i++) {\n var entry = map[i];\n ctx.save();\n ctx.transform.apply(ctx, entry.transform);\n ctx.scale(1, -1);\n ctx.drawImage(\n tmpCanvas.canvas,\n entry.x,\n entry.y,\n entry.w,\n entry.h,\n 0,\n -1,\n 1,\n 1\n );\n if (this.imageLayer) {\n var position = this.getCanvasPosition(entry.x, entry.y);\n this.imageLayer.appendImage({\n imgData,\n left: position[0],\n top: position[1],\n width: w,\n height: h,\n });\n }\n ctx.restore();\n }\n },\n\n paintSolidColorImageMask: function CanvasGraphics_paintSolidColorImageMask() {\n this.ctx.fillRect(0, 0, 1, 1);\n },\n\n paintXObject: function CanvasGraphics_paintXObject() {\n warn(\"Unsupported 'paintXObject' command.\");\n },\n\n // Marked content\n\n markPoint: function CanvasGraphics_markPoint(tag) {\n // TODO Marked content.\n },\n markPointProps: function CanvasGraphics_markPointProps(tag, properties) {\n // TODO Marked content.\n },\n beginMarkedContent: function CanvasGraphics_beginMarkedContent(tag) {\n // TODO Marked content.\n },\n beginMarkedContentProps: function CanvasGraphics_beginMarkedContentProps(\n tag,\n properties\n ) {\n // TODO Marked content.\n },\n endMarkedContent: function CanvasGraphics_endMarkedContent() {\n // TODO Marked content.\n },\n\n // Compatibility\n\n beginCompat: function CanvasGraphics_beginCompat() {\n // TODO ignore undefined operators (should we do that anyway?)\n },\n endCompat: function CanvasGraphics_endCompat() {\n // TODO stop ignoring undefined operators\n },\n\n // Helper functions\n\n consumePath: function CanvasGraphics_consumePath() {\n var ctx = this.ctx;\n if (this.pendingClip) {\n if (this.pendingClip === EO_CLIP) {\n ctx.clip(\"evenodd\");\n } else {\n ctx.clip();\n }\n this.pendingClip = null;\n }\n ctx.beginPath();\n },\n getSinglePixelWidth(scale) {\n if (this._cachedGetSinglePixelWidth === null) {\n const inverse = this.ctx.mozCurrentTransformInverse;\n // max of the current horizontal and vertical scale\n this._cachedGetSinglePixelWidth = Math.sqrt(\n Math.max(\n inverse[0] * inverse[0] + inverse[1] * inverse[1],\n inverse[2] * inverse[2] + inverse[3] * inverse[3]\n )\n );\n }\n return this._cachedGetSinglePixelWidth;\n },\n getCanvasPosition: function CanvasGraphics_getCanvasPosition(x, y) {\n var transform = this.ctx.mozCurrentTransform;\n return [\n transform[0] * x + transform[2] * y + transform[4],\n transform[1] * x + transform[3] * y + transform[5],\n ];\n },\n };\n\n for (var op in OPS) {\n CanvasGraphics.prototype[OPS[op]] = CanvasGraphics.prototype[op];\n }\n\n return CanvasGraphics;\n})();\n\nexport { CanvasGraphics };\n","/* Copyright 2014 Mozilla Foundation\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { FormatError, info, Util } from \"../shared/util.js\";\n\nvar ShadingIRs = {};\n\nfunction applyBoundingBox(ctx, bbox) {\n if (!bbox || typeof Path2D === \"undefined\") {\n return;\n }\n const width = bbox[2] - bbox[0];\n const height = bbox[3] - bbox[1];\n const region = new Path2D();\n region.rect(bbox[0], bbox[1], width, height);\n ctx.clip(region);\n}\n\nShadingIRs.RadialAxial = {\n fromIR: function RadialAxial_fromIR(raw) {\n var type = raw[1];\n var bbox = raw[2];\n var colorStops = raw[3];\n var p0 = raw[4];\n var p1 = raw[5];\n var r0 = raw[6];\n var r1 = raw[7];\n return {\n type: \"Pattern\",\n getPattern: function RadialAxial_getPattern(ctx) {\n applyBoundingBox(ctx, bbox);\n var grad;\n if (type === \"axial\") {\n grad = ctx.createLinearGradient(p0[0], p0[1], p1[0], p1[1]);\n } else if (type === \"radial\") {\n grad = ctx.createRadialGradient(p0[0], p0[1], r0, p1[0], p1[1], r1);\n }\n\n for (var i = 0, ii = colorStops.length; i < ii; ++i) {\n var c = colorStops[i];\n grad.addColorStop(c[0], c[1]);\n }\n return grad;\n },\n };\n },\n};\n\nvar createMeshCanvas = (function createMeshCanvasClosure() {\n function drawTriangle(data, context, p1, p2, p3, c1, c2, c3) {\n // Very basic Gouraud-shaded triangle rasterization algorithm.\n var coords = context.coords,\n colors = context.colors;\n var bytes = data.data,\n rowSize = data.width * 4;\n var tmp;\n if (coords[p1 + 1] > coords[p2 + 1]) {\n tmp = p1;\n p1 = p2;\n p2 = tmp;\n tmp = c1;\n c1 = c2;\n c2 = tmp;\n }\n if (coords[p2 + 1] > coords[p3 + 1]) {\n tmp = p2;\n p2 = p3;\n p3 = tmp;\n tmp = c2;\n c2 = c3;\n c3 = tmp;\n }\n if (coords[p1 + 1] > coords[p2 + 1]) {\n tmp = p1;\n p1 = p2;\n p2 = tmp;\n tmp = c1;\n c1 = c2;\n c2 = tmp;\n }\n var x1 = (coords[p1] + context.offsetX) * context.scaleX;\n var y1 = (coords[p1 + 1] + context.offsetY) * context.scaleY;\n var x2 = (coords[p2] + context.offsetX) * context.scaleX;\n var y2 = (coords[p2 + 1] + context.offsetY) * context.scaleY;\n var x3 = (coords[p3] + context.offsetX) * context.scaleX;\n var y3 = (coords[p3 + 1] + context.offsetY) * context.scaleY;\n if (y1 >= y3) {\n return;\n }\n var c1r = colors[c1],\n c1g = colors[c1 + 1],\n c1b = colors[c1 + 2];\n var c2r = colors[c2],\n c2g = colors[c2 + 1],\n c2b = colors[c2 + 2];\n var c3r = colors[c3],\n c3g = colors[c3 + 1],\n c3b = colors[c3 + 2];\n\n var minY = Math.round(y1),\n maxY = Math.round(y3);\n var xa, car, cag, cab;\n var xb, cbr, cbg, cbb;\n for (var y = minY; y <= maxY; y++) {\n if (y < y2) {\n let k;\n if (y < y1) {\n k = 0;\n } else if (y1 === y2) {\n k = 1;\n } else {\n k = (y1 - y) / (y1 - y2);\n }\n xa = x1 - (x1 - x2) * k;\n car = c1r - (c1r - c2r) * k;\n cag = c1g - (c1g - c2g) * k;\n cab = c1b - (c1b - c2b) * k;\n } else {\n let k;\n if (y > y3) {\n k = 1;\n } else if (y2 === y3) {\n k = 0;\n } else {\n k = (y2 - y) / (y2 - y3);\n }\n xa = x2 - (x2 - x3) * k;\n car = c2r - (c2r - c3r) * k;\n cag = c2g - (c2g - c3g) * k;\n cab = c2b - (c2b - c3b) * k;\n }\n\n let k;\n if (y < y1) {\n k = 0;\n } else if (y > y3) {\n k = 1;\n } else {\n k = (y1 - y) / (y1 - y3);\n }\n xb = x1 - (x1 - x3) * k;\n cbr = c1r - (c1r - c3r) * k;\n cbg = c1g - (c1g - c3g) * k;\n cbb = c1b - (c1b - c3b) * k;\n var x1_ = Math.round(Math.min(xa, xb));\n var x2_ = Math.round(Math.max(xa, xb));\n var j = rowSize * y + x1_ * 4;\n for (var x = x1_; x <= x2_; x++) {\n k = (xa - x) / (xa - xb);\n if (k < 0) {\n k = 0;\n } else if (k > 1) {\n k = 1;\n }\n bytes[j++] = (car - (car - cbr) * k) | 0;\n bytes[j++] = (cag - (cag - cbg) * k) | 0;\n bytes[j++] = (cab - (cab - cbb) * k) | 0;\n bytes[j++] = 255;\n }\n }\n }\n\n function drawFigure(data, figure, context) {\n var ps = figure.coords;\n var cs = figure.colors;\n var i, ii;\n switch (figure.type) {\n case \"lattice\":\n var verticesPerRow = figure.verticesPerRow;\n var rows = Math.floor(ps.length / verticesPerRow) - 1;\n var cols = verticesPerRow - 1;\n for (i = 0; i < rows; i++) {\n var q = i * verticesPerRow;\n for (var j = 0; j < cols; j++, q++) {\n drawTriangle(\n data,\n context,\n ps[q],\n ps[q + 1],\n ps[q + verticesPerRow],\n cs[q],\n cs[q + 1],\n cs[q + verticesPerRow]\n );\n drawTriangle(\n data,\n context,\n ps[q + verticesPerRow + 1],\n ps[q + 1],\n ps[q + verticesPerRow],\n cs[q + verticesPerRow + 1],\n cs[q + 1],\n cs[q + verticesPerRow]\n );\n }\n }\n break;\n case \"triangles\":\n for (i = 0, ii = ps.length; i < ii; i += 3) {\n drawTriangle(\n data,\n context,\n ps[i],\n ps[i + 1],\n ps[i + 2],\n cs[i],\n cs[i + 1],\n cs[i + 2]\n );\n }\n break;\n default:\n throw new Error(\"illegal figure\");\n }\n }\n\n // eslint-disable-next-line no-shadow\n function createMeshCanvas(\n bounds,\n combinesScale,\n coords,\n colors,\n figures,\n backgroundColor,\n cachedCanvases,\n webGLContext\n ) {\n // we will increase scale on some weird factor to let antialiasing take\n // care of \"rough\" edges\n var EXPECTED_SCALE = 1.1;\n // MAX_PATTERN_SIZE is used to avoid OOM situation.\n var MAX_PATTERN_SIZE = 3000; // 10in @ 300dpi shall be enough\n // We need to keep transparent border around our pattern for fill():\n // createPattern with 'no-repeat' will bleed edges across entire area.\n var BORDER_SIZE = 2;\n\n var offsetX = Math.floor(bounds[0]);\n var offsetY = Math.floor(bounds[1]);\n var boundsWidth = Math.ceil(bounds[2]) - offsetX;\n var boundsHeight = Math.ceil(bounds[3]) - offsetY;\n\n var width = Math.min(\n Math.ceil(Math.abs(boundsWidth * combinesScale[0] * EXPECTED_SCALE)),\n MAX_PATTERN_SIZE\n );\n var height = Math.min(\n Math.ceil(Math.abs(boundsHeight * combinesScale[1] * EXPECTED_SCALE)),\n MAX_PATTERN_SIZE\n );\n var scaleX = boundsWidth / width;\n var scaleY = boundsHeight / height;\n\n var context = {\n coords,\n colors,\n offsetX: -offsetX,\n offsetY: -offsetY,\n scaleX: 1 / scaleX,\n scaleY: 1 / scaleY,\n };\n\n var paddedWidth = width + BORDER_SIZE * 2;\n var paddedHeight = height + BORDER_SIZE * 2;\n\n var canvas, tmpCanvas, i, ii;\n if (webGLContext.isEnabled) {\n canvas = webGLContext.drawFigures({\n width,\n height,\n backgroundColor,\n figures,\n context,\n });\n // https://bugzilla.mozilla.org/show_bug.cgi?id=972126\n tmpCanvas = cachedCanvases.getCanvas(\n \"mesh\",\n paddedWidth,\n paddedHeight,\n false\n );\n tmpCanvas.context.drawImage(canvas, BORDER_SIZE, BORDER_SIZE);\n canvas = tmpCanvas.canvas;\n } else {\n tmpCanvas = cachedCanvases.getCanvas(\n \"mesh\",\n paddedWidth,\n paddedHeight,\n false\n );\n var tmpCtx = tmpCanvas.context;\n\n var data = tmpCtx.createImageData(width, height);\n if (backgroundColor) {\n var bytes = data.data;\n for (i = 0, ii = bytes.length; i < ii; i += 4) {\n bytes[i] = backgroundColor[0];\n bytes[i + 1] = backgroundColor[1];\n bytes[i + 2] = backgroundColor[2];\n bytes[i + 3] = 255;\n }\n }\n for (i = 0; i < figures.length; i++) {\n drawFigure(data, figures[i], context);\n }\n tmpCtx.putImageData(data, BORDER_SIZE, BORDER_SIZE);\n canvas = tmpCanvas.canvas;\n }\n\n return {\n canvas,\n offsetX: offsetX - BORDER_SIZE * scaleX,\n offsetY: offsetY - BORDER_SIZE * scaleY,\n scaleX,\n scaleY,\n };\n }\n return createMeshCanvas;\n})();\n\nShadingIRs.Mesh = {\n fromIR: function Mesh_fromIR(raw) {\n // var type = raw[1];\n var coords = raw[2];\n var colors = raw[3];\n var figures = raw[4];\n var bounds = raw[5];\n var matrix = raw[6];\n var bbox = raw[7];\n var background = raw[8];\n return {\n type: \"Pattern\",\n getPattern: function Mesh_getPattern(ctx, owner, shadingFill) {\n applyBoundingBox(ctx, bbox);\n var scale;\n if (shadingFill) {\n scale = Util.singularValueDecompose2dScale(ctx.mozCurrentTransform);\n } else {\n // Obtain scale from matrix and current transformation matrix.\n scale = Util.singularValueDecompose2dScale(owner.baseTransform);\n if (matrix) {\n var matrixScale = Util.singularValueDecompose2dScale(matrix);\n scale = [scale[0] * matrixScale[0], scale[1] * matrixScale[1]];\n }\n }\n\n // Rasterizing on the main thread since sending/queue large canvases\n // might cause OOM.\n var temporaryPatternCanvas = createMeshCanvas(\n bounds,\n scale,\n coords,\n colors,\n figures,\n shadingFill ? null : background,\n owner.cachedCanvases,\n owner.webGLContext\n );\n\n if (!shadingFill) {\n ctx.setTransform.apply(ctx, owner.baseTransform);\n if (matrix) {\n ctx.transform.apply(ctx, matrix);\n }\n }\n\n ctx.translate(\n temporaryPatternCanvas.offsetX,\n temporaryPatternCanvas.offsetY\n );\n ctx.scale(temporaryPatternCanvas.scaleX, temporaryPatternCanvas.scaleY);\n\n return ctx.createPattern(temporaryPatternCanvas.canvas, \"no-repeat\");\n },\n };\n },\n};\n\nShadingIRs.Dummy = {\n fromIR: function Dummy_fromIR() {\n return {\n type: \"Pattern\",\n getPattern: function Dummy_fromIR_getPattern() {\n return \"hotpink\";\n },\n };\n },\n};\n\nfunction getShadingPatternFromIR(raw) {\n var shadingIR = ShadingIRs[raw[0]];\n if (!shadingIR) {\n throw new Error(`Unknown IR type: ${raw[0]}`);\n }\n return shadingIR.fromIR(raw);\n}\n\nvar TilingPattern = (function TilingPatternClosure() {\n var PaintType = {\n COLORED: 1,\n UNCOLORED: 2,\n };\n\n var MAX_PATTERN_SIZE = 3000; // 10in @ 300dpi shall be enough\n\n // eslint-disable-next-line no-shadow\n function TilingPattern(IR, color, ctx, canvasGraphicsFactory, baseTransform) {\n this.operatorList = IR[2];\n this.matrix = IR[3] || [1, 0, 0, 1, 0, 0];\n this.bbox = IR[4];\n this.xstep = IR[5];\n this.ystep = IR[6];\n this.paintType = IR[7];\n this.tilingType = IR[8];\n this.color = color;\n this.canvasGraphicsFactory = canvasGraphicsFactory;\n this.baseTransform = baseTransform;\n this.type = \"Pattern\";\n this.ctx = ctx;\n }\n\n TilingPattern.prototype = {\n createPatternCanvas: function TilinPattern_createPatternCanvas(owner) {\n var operatorList = this.operatorList;\n var bbox = this.bbox;\n var xstep = this.xstep;\n var ystep = this.ystep;\n var paintType = this.paintType;\n var tilingType = this.tilingType;\n var color = this.color;\n var canvasGraphicsFactory = this.canvasGraphicsFactory;\n\n info(\"TilingType: \" + tilingType);\n\n // A tiling pattern as defined by PDF spec 8.7.2 is a cell whose size is\n // described by bbox, and may repeat regularly by shifting the cell by\n // xstep and ystep.\n // Because the HTML5 canvas API does not support pattern repetition with\n // gaps in between, we use the xstep/ystep instead of the bbox's size.\n //\n // This has the following consequences (similarly for ystep):\n //\n // - If xstep is the same as bbox, then there is no observable difference.\n //\n // - If xstep is larger than bbox, then the pattern canvas is partially\n // empty: the area bounded by bbox is painted, the outside area is void.\n //\n // - If xstep is smaller than bbox, then the pixels between xstep and the\n // bbox boundary will be missing. This is INCORRECT behavior.\n // \"Figures on adjacent tiles should not overlap\" (PDF spec 8.7.3.1),\n // but overlapping cells without common pixels are still valid.\n // TODO: Fix the implementation, to allow this scenario to be painted\n // correctly.\n\n var x0 = bbox[0],\n y0 = bbox[1],\n x1 = bbox[2],\n y1 = bbox[3];\n\n // Obtain scale from matrix and current transformation matrix.\n var matrixScale = Util.singularValueDecompose2dScale(this.matrix);\n var curMatrixScale = Util.singularValueDecompose2dScale(\n this.baseTransform\n );\n var combinedScale = [\n matrixScale[0] * curMatrixScale[0],\n matrixScale[1] * curMatrixScale[1],\n ];\n\n // Use width and height values that are as close as possible to the end\n // result when the pattern is used. Too low value makes the pattern look\n // blurry. Too large value makes it look too crispy.\n var dimx = this.getSizeAndScale(\n xstep,\n this.ctx.canvas.width,\n combinedScale[0]\n );\n var dimy = this.getSizeAndScale(\n ystep,\n this.ctx.canvas.height,\n combinedScale[1]\n );\n\n var tmpCanvas = owner.cachedCanvases.getCanvas(\n \"pattern\",\n dimx.size,\n dimy.size,\n true\n );\n var tmpCtx = tmpCanvas.context;\n var graphics = canvasGraphicsFactory.createCanvasGraphics(tmpCtx);\n graphics.groupLevel = owner.groupLevel;\n\n this.setFillAndStrokeStyleToContext(graphics, paintType, color);\n\n graphics.transform(dimx.scale, 0, 0, dimy.scale, 0, 0);\n\n // transform coordinates to pattern space\n graphics.transform(1, 0, 0, 1, -x0, -y0);\n\n this.clipBbox(graphics, bbox, x0, y0, x1, y1);\n\n graphics.executeOperatorList(operatorList);\n\n this.ctx.transform(1, 0, 0, 1, x0, y0);\n\n // Rescale canvas so that the ctx.createPattern call generates a pattern\n // with the desired size.\n this.ctx.scale(1 / dimx.scale, 1 / dimy.scale);\n return tmpCanvas.canvas;\n },\n\n getSizeAndScale: function TilingPattern_getSizeAndScale(\n step,\n realOutputSize,\n scale\n ) {\n // xstep / ystep may be negative -- normalize.\n step = Math.abs(step);\n // MAX_PATTERN_SIZE is used to avoid OOM situation.\n // Use the destination canvas's size if it is bigger than the hard-coded\n // limit of MAX_PATTERN_SIZE to avoid clipping patterns that cover the\n // whole canvas.\n var maxSize = Math.max(MAX_PATTERN_SIZE, realOutputSize);\n var size = Math.ceil(step * scale);\n if (size >= maxSize) {\n size = maxSize;\n } else {\n scale = size / step;\n }\n return { scale, size };\n },\n\n clipBbox: function clipBbox(graphics, bbox, x0, y0, x1, y1) {\n if (Array.isArray(bbox) && bbox.length === 4) {\n var bboxWidth = x1 - x0;\n var bboxHeight = y1 - y0;\n graphics.ctx.rect(x0, y0, bboxWidth, bboxHeight);\n graphics.clip();\n graphics.endPath();\n }\n },\n\n setFillAndStrokeStyleToContext: function setFillAndStrokeStyleToContext(\n graphics,\n paintType,\n color\n ) {\n const context = graphics.ctx,\n current = graphics.current;\n switch (paintType) {\n case PaintType.COLORED:\n var ctx = this.ctx;\n context.fillStyle = ctx.fillStyle;\n context.strokeStyle = ctx.strokeStyle;\n current.fillColor = ctx.fillStyle;\n current.strokeColor = ctx.strokeStyle;\n break;\n case PaintType.UNCOLORED:\n var cssColor = Util.makeCssRgb(color[0], color[1], color[2]);\n context.fillStyle = cssColor;\n context.strokeStyle = cssColor;\n // Set color needed by image masks (fixes issues 3226 and 8741).\n current.fillColor = cssColor;\n current.strokeColor = cssColor;\n break;\n default:\n throw new FormatError(`Unsupported paint type: ${paintType}`);\n }\n },\n\n getPattern: function TilingPattern_getPattern(ctx, owner) {\n ctx = this.ctx;\n // PDF spec 8.7.2 NOTE 1: pattern's matrix is relative to initial matrix.\n ctx.setTransform.apply(ctx, this.baseTransform);\n ctx.transform.apply(ctx, this.matrix);\n\n var temporaryPatternCanvas = this.createPatternCanvas(owner);\n\n return ctx.createPattern(temporaryPatternCanvas, \"repeat\");\n },\n };\n\n return TilingPattern;\n})();\n\nexport { getShadingPatternFromIR, TilingPattern };\n","/* Copyright 2018 Mozilla Foundation\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nconst GlobalWorkerOptions = Object.create(null);\n\n/**\n * Defines global port for worker process. Overrides the `workerSrc` option.\n * @var {Object}\n */\nGlobalWorkerOptions.workerPort =\n GlobalWorkerOptions.workerPort === undefined\n ? null\n : GlobalWorkerOptions.workerPort;\n\n/**\n * A string containing the path and filename of the worker file.\n *\n * NOTE: The `workerSrc` option should always be set, in order to prevent any\n * issues when using the PDF.js library.\n * @var {string}\n */\nGlobalWorkerOptions.workerSrc =\n GlobalWorkerOptions.workerSrc === undefined\n ? \"\"\n : GlobalWorkerOptions.workerSrc;\n\nexport { GlobalWorkerOptions };\n","/* Copyright 2018 Mozilla Foundation\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n/* eslint no-var: error, prefer-const: error */\n\nimport {\n AbortException,\n assert,\n createPromiseCapability,\n MissingPDFException,\n UnexpectedResponseException,\n UnknownErrorException,\n} from \"./util.js\";\n\nconst CallbackKind = {\n UNKNOWN: 0,\n DATA: 1,\n ERROR: 2,\n};\n\nconst StreamKind = {\n UNKNOWN: 0,\n CANCEL: 1,\n CANCEL_COMPLETE: 2,\n CLOSE: 3,\n ENQUEUE: 4,\n ERROR: 5,\n PULL: 6,\n PULL_COMPLETE: 7,\n START_COMPLETE: 8,\n};\n\nfunction wrapReason(reason) {\n if (\n typeof PDFJSDev === \"undefined\" ||\n PDFJSDev.test(\"!PRODUCTION || TESTING\")\n ) {\n assert(\n reason instanceof Error ||\n (typeof reason === \"object\" && reason !== null),\n 'wrapReason: Expected \"reason\" to be a (possibly cloned) Error.'\n );\n } else {\n if (typeof reason !== \"object\" || reason === null) {\n return reason;\n }\n }\n switch (reason.name) {\n case \"AbortException\":\n return new AbortException(reason.message);\n case \"MissingPDFException\":\n return new MissingPDFException(reason.message);\n case \"UnexpectedResponseException\":\n return new UnexpectedResponseException(reason.message, reason.status);\n case \"UnknownErrorException\":\n return new UnknownErrorException(reason.message, reason.details);\n default:\n return new UnknownErrorException(reason.message, reason.toString());\n }\n}\n\nclass MessageHandler {\n constructor(sourceName, targetName, comObj) {\n this.sourceName = sourceName;\n this.targetName = targetName;\n this.comObj = comObj;\n this.callbackId = 1;\n this.streamId = 1;\n this.postMessageTransfers = true;\n this.streamSinks = Object.create(null);\n this.streamControllers = Object.create(null);\n this.callbackCapabilities = Object.create(null);\n this.actionHandler = Object.create(null);\n\n this._onComObjOnMessage = event => {\n const data = event.data;\n if (data.targetName !== this.sourceName) {\n return;\n }\n if (data.stream) {\n this._processStreamMessage(data);\n return;\n }\n if (data.callback) {\n const callbackId = data.callbackId;\n const capability = this.callbackCapabilities[callbackId];\n if (!capability) {\n throw new Error(`Cannot resolve callback ${callbackId}`);\n }\n delete this.callbackCapabilities[callbackId];\n\n if (data.callback === CallbackKind.DATA) {\n capability.resolve(data.data);\n } else if (data.callback === CallbackKind.ERROR) {\n capability.reject(wrapReason(data.reason));\n } else {\n throw new Error(\"Unexpected callback case\");\n }\n return;\n }\n const action = this.actionHandler[data.action];\n if (!action) {\n throw new Error(`Unknown action from worker: ${data.action}`);\n }\n if (data.callbackId) {\n const cbSourceName = this.sourceName;\n const cbTargetName = data.sourceName;\n new Promise(function (resolve) {\n resolve(action(data.data));\n }).then(\n function (result) {\n comObj.postMessage({\n sourceName: cbSourceName,\n targetName: cbTargetName,\n callback: CallbackKind.DATA,\n callbackId: data.callbackId,\n data: result,\n });\n },\n function (reason) {\n comObj.postMessage({\n sourceName: cbSourceName,\n targetName: cbTargetName,\n callback: CallbackKind.ERROR,\n callbackId: data.callbackId,\n reason: wrapReason(reason),\n });\n }\n );\n return;\n }\n if (data.streamId) {\n this._createStreamSink(data);\n return;\n }\n action(data.data);\n };\n comObj.addEventListener(\"message\", this._onComObjOnMessage);\n }\n\n on(actionName, handler) {\n if (\n typeof PDFJSDev === \"undefined\" ||\n PDFJSDev.test(\"!PRODUCTION || TESTING\")\n ) {\n assert(\n typeof handler === \"function\",\n 'MessageHandler.on: Expected \"handler\" to be a function.'\n );\n }\n const ah = this.actionHandler;\n if (ah[actionName]) {\n throw new Error(`There is already an actionName called \"${actionName}\"`);\n }\n ah[actionName] = handler;\n }\n\n /**\n * Sends a message to the comObj to invoke the action with the supplied data.\n * @param {string} actionName - Action to call.\n * @param {JSON} data - JSON data to send.\n * @param {Array} [transfers] - List of transfers/ArrayBuffers.\n */\n send(actionName, data, transfers) {\n this._postMessage(\n {\n sourceName: this.sourceName,\n targetName: this.targetName,\n action: actionName,\n data,\n },\n transfers\n );\n }\n\n /**\n * Sends a message to the comObj to invoke the action with the supplied data.\n * Expects that the other side will callback with the response.\n * @param {string} actionName - Action to call.\n * @param {JSON} data - JSON data to send.\n * @param {Array} [transfers] - List of transfers/ArrayBuffers.\n * @returns {Promise} Promise to be resolved with response data.\n */\n sendWithPromise(actionName, data, transfers) {\n const callbackId = this.callbackId++;\n const capability = createPromiseCapability();\n this.callbackCapabilities[callbackId] = capability;\n try {\n this._postMessage(\n {\n sourceName: this.sourceName,\n targetName: this.targetName,\n action: actionName,\n callbackId,\n data,\n },\n transfers\n );\n } catch (ex) {\n capability.reject(ex);\n }\n return capability.promise;\n }\n\n /**\n * Sends a message to the comObj to invoke the action with the supplied data.\n * Expect that the other side will callback to signal 'start_complete'.\n * @param {string} actionName - Action to call.\n * @param {JSON} data - JSON data to send.\n * @param {Object} queueingStrategy - Strategy to signal backpressure based on\n * internal queue.\n * @param {Array} [transfers] - List of transfers/ArrayBuffers.\n * @returns {ReadableStream} ReadableStream to read data in chunks.\n */\n sendWithStream(actionName, data, queueingStrategy, transfers) {\n const streamId = this.streamId++;\n const sourceName = this.sourceName;\n const targetName = this.targetName;\n const comObj = this.comObj;\n\n return new ReadableStream(\n {\n start: controller => {\n const startCapability = createPromiseCapability();\n this.streamControllers[streamId] = {\n controller,\n startCall: startCapability,\n pullCall: null,\n cancelCall: null,\n isClosed: false,\n };\n this._postMessage(\n {\n sourceName,\n targetName,\n action: actionName,\n streamId,\n data,\n desiredSize: controller.desiredSize,\n },\n transfers\n );\n // Return Promise for Async process, to signal success/failure.\n return startCapability.promise;\n },\n\n pull: controller => {\n const pullCapability = createPromiseCapability();\n this.streamControllers[streamId].pullCall = pullCapability;\n comObj.postMessage({\n sourceName,\n targetName,\n stream: StreamKind.PULL,\n streamId,\n desiredSize: controller.desiredSize,\n });\n // Returning Promise will not call \"pull\"\n // again until current pull is resolved.\n return pullCapability.promise;\n },\n\n cancel: reason => {\n assert(reason instanceof Error, \"cancel must have a valid reason\");\n const cancelCapability = createPromiseCapability();\n this.streamControllers[streamId].cancelCall = cancelCapability;\n this.streamControllers[streamId].isClosed = true;\n comObj.postMessage({\n sourceName,\n targetName,\n stream: StreamKind.CANCEL,\n streamId,\n reason: wrapReason(reason),\n });\n // Return Promise to signal success or failure.\n return cancelCapability.promise;\n },\n },\n queueingStrategy\n );\n }\n\n /**\n * @private\n */\n _createStreamSink(data) {\n const self = this;\n const action = this.actionHandler[data.action];\n const streamId = data.streamId;\n const sourceName = this.sourceName;\n const targetName = data.sourceName;\n const comObj = this.comObj;\n\n const streamSink = {\n enqueue(chunk, size = 1, transfers) {\n if (this.isCancelled) {\n return;\n }\n const lastDesiredSize = this.desiredSize;\n this.desiredSize -= size;\n // Enqueue decreases the desiredSize property of sink,\n // so when it changes from positive to negative,\n // set ready as unresolved promise.\n if (lastDesiredSize > 0 && this.desiredSize <= 0) {\n this.sinkCapability = createPromiseCapability();\n this.ready = this.sinkCapability.promise;\n }\n self._postMessage(\n {\n sourceName,\n targetName,\n stream: StreamKind.ENQUEUE,\n streamId,\n chunk,\n },\n transfers\n );\n },\n\n close() {\n if (this.isCancelled) {\n return;\n }\n this.isCancelled = true;\n comObj.postMessage({\n sourceName,\n targetName,\n stream: StreamKind.CLOSE,\n streamId,\n });\n delete self.streamSinks[streamId];\n },\n\n error(reason) {\n assert(reason instanceof Error, \"error must have a valid reason\");\n if (this.isCancelled) {\n return;\n }\n this.isCancelled = true;\n comObj.postMessage({\n sourceName,\n targetName,\n stream: StreamKind.ERROR,\n streamId,\n reason: wrapReason(reason),\n });\n },\n\n sinkCapability: createPromiseCapability(),\n onPull: null,\n onCancel: null,\n isCancelled: false,\n desiredSize: data.desiredSize,\n ready: null,\n };\n\n streamSink.sinkCapability.resolve();\n streamSink.ready = streamSink.sinkCapability.promise;\n this.streamSinks[streamId] = streamSink;\n new Promise(function (resolve) {\n resolve(action(data.data, streamSink));\n }).then(\n function () {\n comObj.postMessage({\n sourceName,\n targetName,\n stream: StreamKind.START_COMPLETE,\n streamId,\n success: true,\n });\n },\n function (reason) {\n comObj.postMessage({\n sourceName,\n targetName,\n stream: StreamKind.START_COMPLETE,\n streamId,\n reason: wrapReason(reason),\n });\n }\n );\n }\n\n /**\n * @private\n */\n _processStreamMessage(data) {\n const streamId = data.streamId;\n const sourceName = this.sourceName;\n const targetName = data.sourceName;\n const comObj = this.comObj;\n\n switch (data.stream) {\n case StreamKind.START_COMPLETE:\n if (data.success) {\n this.streamControllers[streamId].startCall.resolve();\n } else {\n this.streamControllers[streamId].startCall.reject(\n wrapReason(data.reason)\n );\n }\n break;\n case StreamKind.PULL_COMPLETE:\n if (data.success) {\n this.streamControllers[streamId].pullCall.resolve();\n } else {\n this.streamControllers[streamId].pullCall.reject(\n wrapReason(data.reason)\n );\n }\n break;\n case StreamKind.PULL:\n // Ignore any pull after close is called.\n if (!this.streamSinks[streamId]) {\n comObj.postMessage({\n sourceName,\n targetName,\n stream: StreamKind.PULL_COMPLETE,\n streamId,\n success: true,\n });\n break;\n }\n // Pull increases the desiredSize property of sink,\n // so when it changes from negative to positive,\n // set ready property as resolved promise.\n if (\n this.streamSinks[streamId].desiredSize <= 0 &&\n data.desiredSize > 0\n ) {\n this.streamSinks[streamId].sinkCapability.resolve();\n }\n // Reset desiredSize property of sink on every pull.\n this.streamSinks[streamId].desiredSize = data.desiredSize;\n const { onPull } = this.streamSinks[data.streamId];\n new Promise(function (resolve) {\n resolve(onPull && onPull());\n }).then(\n function () {\n comObj.postMessage({\n sourceName,\n targetName,\n stream: StreamKind.PULL_COMPLETE,\n streamId,\n success: true,\n });\n },\n function (reason) {\n comObj.postMessage({\n sourceName,\n targetName,\n stream: StreamKind.PULL_COMPLETE,\n streamId,\n reason: wrapReason(reason),\n });\n }\n );\n break;\n case StreamKind.ENQUEUE:\n assert(\n this.streamControllers[streamId],\n \"enqueue should have stream controller\"\n );\n if (this.streamControllers[streamId].isClosed) {\n break;\n }\n this.streamControllers[streamId].controller.enqueue(data.chunk);\n break;\n case StreamKind.CLOSE:\n assert(\n this.streamControllers[streamId],\n \"close should have stream controller\"\n );\n if (this.streamControllers[streamId].isClosed) {\n break;\n }\n this.streamControllers[streamId].isClosed = true;\n this.streamControllers[streamId].controller.close();\n this._deleteStreamController(streamId);\n break;\n case StreamKind.ERROR:\n assert(\n this.streamControllers[streamId],\n \"error should have stream controller\"\n );\n this.streamControllers[streamId].controller.error(\n wrapReason(data.reason)\n );\n this._deleteStreamController(streamId);\n break;\n case StreamKind.CANCEL_COMPLETE:\n if (data.success) {\n this.streamControllers[streamId].cancelCall.resolve();\n } else {\n this.streamControllers[streamId].cancelCall.reject(\n wrapReason(data.reason)\n );\n }\n this._deleteStreamController(streamId);\n break;\n case StreamKind.CANCEL:\n if (!this.streamSinks[streamId]) {\n break;\n }\n const { onCancel } = this.streamSinks[data.streamId];\n new Promise(function (resolve) {\n resolve(onCancel && onCancel(wrapReason(data.reason)));\n }).then(\n function () {\n comObj.postMessage({\n sourceName,\n targetName,\n stream: StreamKind.CANCEL_COMPLETE,\n streamId,\n success: true,\n });\n },\n function (reason) {\n comObj.postMessage({\n sourceName,\n targetName,\n stream: StreamKind.CANCEL_COMPLETE,\n streamId,\n reason: wrapReason(reason),\n });\n }\n );\n this.streamSinks[streamId].sinkCapability.reject(\n wrapReason(data.reason)\n );\n this.streamSinks[streamId].isCancelled = true;\n delete this.streamSinks[streamId];\n break;\n default:\n throw new Error(\"Unexpected stream case\");\n }\n }\n\n /**\n * @private\n */\n async _deleteStreamController(streamId) {\n // Delete the `streamController` only when the start, pull, and cancel\n // capabilities have settled, to prevent `TypeError`s.\n await Promise.allSettled(\n [\n this.streamControllers[streamId].startCall,\n this.streamControllers[streamId].pullCall,\n this.streamControllers[streamId].cancelCall,\n ].map(function (capability) {\n return capability && capability.promise;\n })\n );\n delete this.streamControllers[streamId];\n }\n\n /**\n * Sends raw message to the comObj.\n * @param {Object} message - Raw message.\n * @param transfers List of transfers/ArrayBuffers, or undefined.\n * @private\n */\n _postMessage(message, transfers) {\n if (transfers && this.postMessageTransfers) {\n this.comObj.postMessage(message, transfers);\n } else {\n this.comObj.postMessage(message);\n }\n }\n\n destroy() {\n this.comObj.removeEventListener(\"message\", this._onComObjOnMessage);\n }\n}\n\nexport { MessageHandler };\n","/* Copyright 2012 Mozilla Foundation\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { assert } from \"../shared/util.js\";\nimport { SimpleXMLParser } from \"./xml_parser.js\";\n\nclass Metadata {\n constructor(data) {\n assert(typeof data === \"string\", \"Metadata: input is not a string\");\n\n // Ghostscript may produce invalid metadata, so try to repair that first.\n data = this._repair(data);\n\n // Convert the string to an XML document.\n const parser = new SimpleXMLParser();\n const xmlDocument = parser.parseFromString(data);\n\n this._metadataMap = new Map();\n\n if (xmlDocument) {\n this._parse(xmlDocument);\n }\n }\n\n _repair(data) {\n // Start by removing any \"junk\" before the first tag (see issue 10395).\n return data\n .replace(/^[^<]+/, \"\")\n .replace(/>\\\\376\\\\377([^<]+)/g, function (all, codes) {\n const bytes = codes\n .replace(/\\\\([0-3])([0-7])([0-7])/g, function (code, d1, d2, d3) {\n return String.fromCharCode(d1 * 64 + d2 * 8 + d3 * 1);\n })\n .replace(/&(amp|apos|gt|lt|quot);/g, function (str, name) {\n switch (name) {\n case \"amp\":\n return \"&\";\n case \"apos\":\n return \"'\";\n case \"gt\":\n return \">\";\n case \"lt\":\n return \"<\";\n case \"quot\":\n return '\"';\n }\n throw new Error(`_repair: ${name} isn't defined.`);\n });\n\n let chars = \"\";\n for (let i = 0, ii = bytes.length; i < ii; i += 2) {\n const code = bytes.charCodeAt(i) * 256 + bytes.charCodeAt(i + 1);\n if (\n code >= /* Space = */ 32 &&\n code < /* Delete = */ 127 &&\n code !== /* '<' = */ 60 &&\n code !== /* '>' = */ 62 &&\n code !== /* '&' = */ 38\n ) {\n chars += String.fromCharCode(code);\n } else {\n chars += \"&#x\" + (0x10000 + code).toString(16).substring(1) + \";\";\n }\n }\n\n return \">\" + chars;\n });\n }\n\n _parse(xmlDocument) {\n let rdf = xmlDocument.documentElement;\n\n if (rdf.nodeName.toLowerCase() !== \"rdf:rdf\") {\n // Wrapped in <xmpmeta>\n rdf = rdf.firstChild;\n while (rdf && rdf.nodeName.toLowerCase() !== \"rdf:rdf\") {\n rdf = rdf.nextSibling;\n }\n }\n\n const nodeName = rdf ? rdf.nodeName.toLowerCase() : null;\n if (!rdf || nodeName !== \"rdf:rdf\" || !rdf.hasChildNodes()) {\n return;\n }\n\n const children = rdf.childNodes;\n for (let i = 0, ii = children.length; i < ii; i++) {\n const desc = children[i];\n if (desc.nodeName.toLowerCase() !== \"rdf:description\") {\n continue;\n }\n\n for (let j = 0, jj = desc.childNodes.length; j < jj; j++) {\n if (desc.childNodes[j].nodeName.toLowerCase() !== \"#text\") {\n const entry = desc.childNodes[j];\n const name = entry.nodeName.toLowerCase();\n\n this._metadataMap.set(name, entry.textContent.trim());\n }\n }\n }\n }\n\n get(name) {\n return this._metadataMap.has(name) ? this._metadataMap.get(name) : null;\n }\n\n getAll() {\n const obj = Object.create(null);\n for (const [key, value] of this._metadataMap) {\n obj[key] = value;\n }\n return obj;\n }\n\n has(name) {\n return this._metadataMap.has(name);\n }\n}\n\nexport { Metadata };\n","/* Copyright 2018 Mozilla Foundation\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n// The code for XMLParserBase copied from\n// https://github.com/mozilla/shumway/blob/16451d8836fa85f4b16eeda8b4bda2fa9e2b22b0/src/avm2/natives/xml.ts\n\nconst XMLParserErrorCode = {\n NoError: 0,\n EndOfDocument: -1,\n UnterminatedCdat: -2,\n UnterminatedXmlDeclaration: -3,\n UnterminatedDoctypeDeclaration: -4,\n UnterminatedComment: -5,\n MalformedElement: -6,\n OutOfMemory: -7,\n UnterminatedAttributeValue: -8,\n UnterminatedElement: -9,\n ElementNeverBegun: -10,\n};\n\nfunction isWhitespace(s, index) {\n const ch = s[index];\n return ch === \" \" || ch === \"\\n\" || ch === \"\\r\" || ch === \"\\t\";\n}\n\nfunction isWhitespaceString(s) {\n for (let i = 0, ii = s.length; i < ii; i++) {\n if (!isWhitespace(s, i)) {\n return false;\n }\n }\n return true;\n}\n\nclass XMLParserBase {\n _resolveEntities(s) {\n return s.replace(/&([^;]+);/g, (all, entity) => {\n if (entity.substring(0, 2) === \"#x\") {\n return String.fromCharCode(parseInt(entity.substring(2), 16));\n } else if (entity.substring(0, 1) === \"#\") {\n return String.fromCharCode(parseInt(entity.substring(1), 10));\n }\n switch (entity) {\n case \"lt\":\n return \"<\";\n case \"gt\":\n return \">\";\n case \"amp\":\n return \"&\";\n case \"quot\":\n return '\"';\n }\n return this.onResolveEntity(entity);\n });\n }\n\n _parseContent(s, start) {\n const attributes = [];\n let pos = start;\n\n function skipWs() {\n while (pos < s.length && isWhitespace(s, pos)) {\n ++pos;\n }\n }\n\n while (\n pos < s.length &&\n !isWhitespace(s, pos) &&\n s[pos] !== \">\" &&\n s[pos] !== \"/\"\n ) {\n ++pos;\n }\n const name = s.substring(start, pos);\n skipWs();\n while (\n pos < s.length &&\n s[pos] !== \">\" &&\n s[pos] !== \"/\" &&\n s[pos] !== \"?\"\n ) {\n skipWs();\n let attrName = \"\",\n attrValue = \"\";\n while (pos < s.length && !isWhitespace(s, pos) && s[pos] !== \"=\") {\n attrName += s[pos];\n ++pos;\n }\n skipWs();\n if (s[pos] !== \"=\") {\n return null;\n }\n ++pos;\n skipWs();\n const attrEndChar = s[pos];\n if (attrEndChar !== '\"' && attrEndChar !== \"'\") {\n return null;\n }\n const attrEndIndex = s.indexOf(attrEndChar, ++pos);\n if (attrEndIndex < 0) {\n return null;\n }\n attrValue = s.substring(pos, attrEndIndex);\n attributes.push({\n name: attrName,\n value: this._resolveEntities(attrValue),\n });\n pos = attrEndIndex + 1;\n skipWs();\n }\n return {\n name,\n attributes,\n parsed: pos - start,\n };\n }\n\n _parseProcessingInstruction(s, start) {\n let pos = start;\n\n function skipWs() {\n while (pos < s.length && isWhitespace(s, pos)) {\n ++pos;\n }\n }\n\n while (\n pos < s.length &&\n !isWhitespace(s, pos) &&\n s[pos] !== \">\" &&\n s[pos] !== \"/\"\n ) {\n ++pos;\n }\n const name = s.substring(start, pos);\n skipWs();\n const attrStart = pos;\n while (pos < s.length && (s[pos] !== \"?\" || s[pos + 1] !== \">\")) {\n ++pos;\n }\n const value = s.substring(attrStart, pos);\n return {\n name,\n value,\n parsed: pos - start,\n };\n }\n\n parseXml(s) {\n let i = 0;\n while (i < s.length) {\n const ch = s[i];\n let j = i;\n if (ch === \"<\") {\n ++j;\n const ch2 = s[j];\n let q;\n switch (ch2) {\n case \"/\":\n ++j;\n q = s.indexOf(\">\", j);\n if (q < 0) {\n this.onError(XMLParserErrorCode.UnterminatedElement);\n return;\n }\n this.onEndElement(s.substring(j, q));\n j = q + 1;\n break;\n case \"?\":\n ++j;\n const pi = this._parseProcessingInstruction(s, j);\n if (s.substring(j + pi.parsed, j + pi.parsed + 2) !== \"?>\") {\n this.onError(XMLParserErrorCode.UnterminatedXmlDeclaration);\n return;\n }\n this.onPi(pi.name, pi.value);\n j += pi.parsed + 2;\n break;\n case \"!\":\n if (s.substring(j + 1, j + 3) === \"--\") {\n q = s.indexOf(\"-->\", j + 3);\n if (q < 0) {\n this.onError(XMLParserErrorCode.UnterminatedComment);\n return;\n }\n this.onComment(s.substring(j + 3, q));\n j = q + 3;\n } else if (s.substring(j + 1, j + 8) === \"[CDATA[\") {\n q = s.indexOf(\"]]>\", j + 8);\n if (q < 0) {\n this.onError(XMLParserErrorCode.UnterminatedCdat);\n return;\n }\n this.onCdata(s.substring(j + 8, q));\n j = q + 3;\n } else if (s.substring(j + 1, j + 8) === \"DOCTYPE\") {\n const q2 = s.indexOf(\"[\", j + 8);\n let complexDoctype = false;\n q = s.indexOf(\">\", j + 8);\n if (q < 0) {\n this.onError(XMLParserErrorCode.UnterminatedDoctypeDeclaration);\n return;\n }\n if (q2 > 0 && q > q2) {\n q = s.indexOf(\"]>\", j + 8);\n if (q < 0) {\n this.onError(\n XMLParserErrorCode.UnterminatedDoctypeDeclaration\n );\n return;\n }\n complexDoctype = true;\n }\n const doctypeContent = s.substring(\n j + 8,\n q + (complexDoctype ? 1 : 0)\n );\n this.onDoctype(doctypeContent);\n j = q + (complexDoctype ? 2 : 1);\n } else {\n this.onError(XMLParserErrorCode.MalformedElement);\n return;\n }\n break;\n default:\n const content = this._parseContent(s, j);\n if (content === null) {\n this.onError(XMLParserErrorCode.MalformedElement);\n return;\n }\n let isClosed = false;\n if (\n s.substring(j + content.parsed, j + content.parsed + 2) === \"/>\"\n ) {\n isClosed = true;\n } else if (\n s.substring(j + content.parsed, j + content.parsed + 1) !== \">\"\n ) {\n this.onError(XMLParserErrorCode.UnterminatedElement);\n return;\n }\n this.onBeginElement(content.name, content.attributes, isClosed);\n j += content.parsed + (isClosed ? 2 : 1);\n break;\n }\n } else {\n while (j < s.length && s[j] !== \"<\") {\n j++;\n }\n const text = s.substring(i, j);\n this.onText(this._resolveEntities(text));\n }\n i = j;\n }\n }\n\n onResolveEntity(name) {\n return `&${name};`;\n }\n\n onPi(name, value) {}\n\n onComment(text) {}\n\n onCdata(text) {}\n\n onDoctype(doctypeContent) {}\n\n onText(text) {}\n\n onBeginElement(name, attributes, isEmpty) {}\n\n onEndElement(name) {}\n\n onError(code) {}\n}\n\nclass SimpleDOMNode {\n constructor(nodeName, nodeValue) {\n this.nodeName = nodeName;\n this.nodeValue = nodeValue;\n\n Object.defineProperty(this, \"parentNode\", { value: null, writable: true });\n }\n\n get firstChild() {\n return this.childNodes && this.childNodes[0];\n }\n\n get nextSibling() {\n const childNodes = this.parentNode.childNodes;\n if (!childNodes) {\n return undefined;\n }\n const index = childNodes.indexOf(this);\n if (index === -1) {\n return undefined;\n }\n return childNodes[index + 1];\n }\n\n get textContent() {\n if (!this.childNodes) {\n return this.nodeValue || \"\";\n }\n return this.childNodes\n .map(function (child) {\n return child.textContent;\n })\n .join(\"\");\n }\n\n hasChildNodes() {\n return this.childNodes && this.childNodes.length > 0;\n }\n}\n\nclass SimpleXMLParser extends XMLParserBase {\n constructor() {\n super();\n this._currentFragment = null;\n this._stack = null;\n this._errorCode = XMLParserErrorCode.NoError;\n }\n\n parseFromString(data) {\n this._currentFragment = [];\n this._stack = [];\n this._errorCode = XMLParserErrorCode.NoError;\n\n this.parseXml(data);\n\n if (this._errorCode !== XMLParserErrorCode.NoError) {\n return undefined; // return undefined on error\n }\n\n // We should only have one root.\n const [documentElement] = this._currentFragment;\n if (!documentElement) {\n return undefined; // Return undefined if no root was found.\n }\n return { documentElement };\n }\n\n onResolveEntity(name) {\n switch (name) {\n case \"apos\":\n return \"'\";\n }\n return super.onResolveEntity(name);\n }\n\n onText(text) {\n if (isWhitespaceString(text)) {\n return;\n }\n const node = new SimpleDOMNode(\"#text\", text);\n this._currentFragment.push(node);\n }\n\n onCdata(text) {\n const node = new SimpleDOMNode(\"#text\", text);\n this._currentFragment.push(node);\n }\n\n onBeginElement(name, attributes, isEmpty) {\n const node = new SimpleDOMNode(name);\n node.childNodes = [];\n this._currentFragment.push(node);\n if (isEmpty) {\n return;\n }\n this._stack.push(this._currentFragment);\n this._currentFragment = node.childNodes;\n }\n\n onEndElement(name) {\n this._currentFragment = this._stack.pop() || [];\n const lastElement = this._currentFragment[this._currentFragment.length - 1];\n if (!lastElement) {\n return;\n }\n for (let i = 0, ii = lastElement.childNodes.length; i < ii; i++) {\n lastElement.childNodes[i].parentNode = lastElement;\n }\n }\n\n onError(code) {\n this._errorCode = code;\n }\n}\n\nexport { SimpleXMLParser };\n","/* Copyright 2012 Mozilla Foundation\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n/* eslint no-var: error */\n\nimport { assert, createPromiseCapability } from \"../shared/util.js\";\n\n/** @implements {IPDFStream} */\nclass PDFDataTransportStream {\n constructor(params, pdfDataRangeTransport) {\n assert(\n pdfDataRangeTransport,\n 'PDFDataTransportStream - missing required \"pdfDataRangeTransport\" argument.'\n );\n\n this._queuedChunks = [];\n this._progressiveDone = params.progressiveDone || false;\n\n const initialData = params.initialData;\n if (initialData && initialData.length > 0) {\n const buffer = new Uint8Array(initialData).buffer;\n this._queuedChunks.push(buffer);\n }\n\n this._pdfDataRangeTransport = pdfDataRangeTransport;\n this._isStreamingSupported = !params.disableStream;\n this._isRangeSupported = !params.disableRange;\n this._contentLength = params.length;\n\n this._fullRequestReader = null;\n this._rangeReaders = [];\n\n this._pdfDataRangeTransport.addRangeListener((begin, chunk) => {\n this._onReceiveData({ begin, chunk });\n });\n\n this._pdfDataRangeTransport.addProgressListener((loaded, total) => {\n this._onProgress({ loaded, total });\n });\n\n this._pdfDataRangeTransport.addProgressiveReadListener(chunk => {\n this._onReceiveData({ chunk });\n });\n\n this._pdfDataRangeTransport.addProgressiveDoneListener(() => {\n this._onProgressiveDone();\n });\n\n this._pdfDataRangeTransport.transportReady();\n }\n\n _onReceiveData(args) {\n const buffer = new Uint8Array(args.chunk).buffer;\n if (args.begin === undefined) {\n if (this._fullRequestReader) {\n this._fullRequestReader._enqueue(buffer);\n } else {\n this._queuedChunks.push(buffer);\n }\n } else {\n const found = this._rangeReaders.some(function (rangeReader) {\n if (rangeReader._begin !== args.begin) {\n return false;\n }\n rangeReader._enqueue(buffer);\n return true;\n });\n assert(\n found,\n \"_onReceiveData - no `PDFDataTransportStreamRangeReader` instance found.\"\n );\n }\n }\n\n get _progressiveDataLength() {\n return this._fullRequestReader ? this._fullRequestReader._loaded : 0;\n }\n\n _onProgress(evt) {\n if (evt.total === undefined) {\n // Reporting to first range reader, if it exists.\n const firstReader = this._rangeReaders[0];\n if (firstReader && firstReader.onProgress) {\n firstReader.onProgress({ loaded: evt.loaded });\n }\n } else {\n const fullReader = this._fullRequestReader;\n if (fullReader && fullReader.onProgress) {\n fullReader.onProgress({ loaded: evt.loaded, total: evt.total });\n }\n }\n }\n\n _onProgressiveDone() {\n if (this._fullRequestReader) {\n this._fullRequestReader.progressiveDone();\n }\n this._progressiveDone = true;\n }\n\n _removeRangeReader(reader) {\n const i = this._rangeReaders.indexOf(reader);\n if (i >= 0) {\n this._rangeReaders.splice(i, 1);\n }\n }\n\n getFullReader() {\n assert(\n !this._fullRequestReader,\n \"PDFDataTransportStream.getFullReader can only be called once.\"\n );\n const queuedChunks = this._queuedChunks;\n this._queuedChunks = null;\n return new PDFDataTransportStreamReader(\n this,\n queuedChunks,\n this._progressiveDone\n );\n }\n\n getRangeReader(begin, end) {\n if (end <= this._progressiveDataLength) {\n return null;\n }\n const reader = new PDFDataTransportStreamRangeReader(this, begin, end);\n this._pdfDataRangeTransport.requestDataRange(begin, end);\n this._rangeReaders.push(reader);\n return reader;\n }\n\n cancelAllRequests(reason) {\n if (this._fullRequestReader) {\n this._fullRequestReader.cancel(reason);\n }\n const readers = this._rangeReaders.slice(0);\n readers.forEach(function (rangeReader) {\n rangeReader.cancel(reason);\n });\n this._pdfDataRangeTransport.abort();\n }\n}\n\n/** @implements {IPDFStreamReader} */\nclass PDFDataTransportStreamReader {\n constructor(stream, queuedChunks, progressiveDone = false) {\n this._stream = stream;\n this._done = progressiveDone || false;\n this._filename = null;\n this._queuedChunks = queuedChunks || [];\n this._loaded = 0;\n for (const chunk of this._queuedChunks) {\n this._loaded += chunk.byteLength;\n }\n this._requests = [];\n this._headersReady = Promise.resolve();\n stream._fullRequestReader = this;\n\n this.onProgress = null;\n }\n\n _enqueue(chunk) {\n if (this._done) {\n return; // Ignore new data.\n }\n if (this._requests.length > 0) {\n const requestCapability = this._requests.shift();\n requestCapability.resolve({ value: chunk, done: false });\n } else {\n this._queuedChunks.push(chunk);\n }\n this._loaded += chunk.byteLength;\n }\n\n get headersReady() {\n return this._headersReady;\n }\n\n get filename() {\n return this._filename;\n }\n\n get isRangeSupported() {\n return this._stream._isRangeSupported;\n }\n\n get isStreamingSupported() {\n return this._stream._isStreamingSupported;\n }\n\n get contentLength() {\n return this._stream._contentLength;\n }\n\n async read() {\n if (this._queuedChunks.length > 0) {\n const chunk = this._queuedChunks.shift();\n return { value: chunk, done: false };\n }\n if (this._done) {\n return { value: undefined, done: true };\n }\n const requestCapability = createPromiseCapability();\n this._requests.push(requestCapability);\n return requestCapability.promise;\n }\n\n cancel(reason) {\n this._done = true;\n this._requests.forEach(function (requestCapability) {\n requestCapability.resolve({ value: undefined, done: true });\n });\n this._requests = [];\n }\n\n progressiveDone() {\n if (this._done) {\n return;\n }\n this._done = true;\n }\n}\n\n/** @implements {IPDFStreamRangeReader} */\nclass PDFDataTransportStreamRangeReader {\n constructor(stream, begin, end) {\n this._stream = stream;\n this._begin = begin;\n this._end = end;\n this._queuedChunk = null;\n this._requests = [];\n this._done = false;\n\n this.onProgress = null;\n }\n\n _enqueue(chunk) {\n if (this._done) {\n return; // ignore new data\n }\n if (this._requests.length === 0) {\n this._queuedChunk = chunk;\n } else {\n const requestsCapability = this._requests.shift();\n requestsCapability.resolve({ value: chunk, done: false });\n this._requests.forEach(function (requestCapability) {\n requestCapability.resolve({ value: undefined, done: true });\n });\n this._requests = [];\n }\n this._done = true;\n this._stream._removeRangeReader(this);\n }\n\n get isStreamingSupported() {\n return false;\n }\n\n async read() {\n if (this._queuedChunk) {\n const chunk = this._queuedChunk;\n this._queuedChunk = null;\n return { value: chunk, done: false };\n }\n if (this._done) {\n return { value: undefined, done: true };\n }\n const requestCapability = createPromiseCapability();\n this._requests.push(requestCapability);\n return requestCapability.promise;\n }\n\n cancel(reason) {\n this._done = true;\n this._requests.forEach(function (requestCapability) {\n requestCapability.resolve({ value: undefined, done: true });\n });\n this._requests = [];\n this._stream._removeRangeReader(this);\n }\n}\n\nexport { PDFDataTransportStream };\n","/* Copyright 2014 Mozilla Foundation\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n/* eslint-disable no-multi-str */\n\nimport { shadow } from \"../shared/util.js\";\n\nclass WebGLContext {\n constructor({ enable = false }) {\n this._enabled = enable === true;\n }\n\n get isEnabled() {\n let enabled = this._enabled;\n if (enabled) {\n enabled = WebGLUtils.tryInitGL();\n }\n return shadow(this, \"isEnabled\", enabled);\n }\n\n composeSMask({ layer, mask, properties }) {\n return WebGLUtils.composeSMask(layer, mask, properties);\n }\n\n drawFigures({ width, height, backgroundColor, figures, context }) {\n return WebGLUtils.drawFigures(\n width,\n height,\n backgroundColor,\n figures,\n context\n );\n }\n\n clear() {\n WebGLUtils.cleanup();\n }\n}\n\nvar WebGLUtils = (function WebGLUtilsClosure() {\n function loadShader(gl, code, shaderType) {\n var shader = gl.createShader(shaderType);\n gl.shaderSource(shader, code);\n gl.compileShader(shader);\n var compiled = gl.getShaderParameter(shader, gl.COMPILE_STATUS);\n if (!compiled) {\n var errorMsg = gl.getShaderInfoLog(shader);\n throw new Error(\"Error during shader compilation: \" + errorMsg);\n }\n return shader;\n }\n function createVertexShader(gl, code) {\n return loadShader(gl, code, gl.VERTEX_SHADER);\n }\n function createFragmentShader(gl, code) {\n return loadShader(gl, code, gl.FRAGMENT_SHADER);\n }\n function createProgram(gl, shaders) {\n var program = gl.createProgram();\n for (var i = 0, ii = shaders.length; i < ii; ++i) {\n gl.attachShader(program, shaders[i]);\n }\n gl.linkProgram(program);\n var linked = gl.getProgramParameter(program, gl.LINK_STATUS);\n if (!linked) {\n var errorMsg = gl.getProgramInfoLog(program);\n throw new Error(\"Error during program linking: \" + errorMsg);\n }\n return program;\n }\n function createTexture(gl, image, textureId) {\n gl.activeTexture(textureId);\n var texture = gl.createTexture();\n gl.bindTexture(gl.TEXTURE_2D, texture);\n\n // Set the parameters so we can render any size image.\n gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_WRAP_S, gl.CLAMP_TO_EDGE);\n gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_WRAP_T, gl.CLAMP_TO_EDGE);\n gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_MIN_FILTER, gl.NEAREST);\n gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_MAG_FILTER, gl.NEAREST);\n\n // Upload the image into the texture.\n gl.texImage2D(gl.TEXTURE_2D, 0, gl.RGBA, gl.RGBA, gl.UNSIGNED_BYTE, image);\n return texture;\n }\n\n var currentGL, currentCanvas;\n function generateGL() {\n if (currentGL) {\n return;\n }\n\n // The temporary canvas is used in the WebGL context.\n currentCanvas = document.createElement(\"canvas\");\n currentGL = currentCanvas.getContext(\"webgl\", {\n premultipliedalpha: false,\n });\n }\n\n var smaskVertexShaderCode =\n \"\\\n attribute vec2 a_position; \\\n attribute vec2 a_texCoord; \\\n \\\n uniform vec2 u_resolution; \\\n \\\n varying vec2 v_texCoord; \\\n \\\n void main() { \\\n vec2 clipSpace = (a_position / u_resolution) * 2.0 - 1.0; \\\n gl_Position = vec4(clipSpace * vec2(1, -1), 0, 1); \\\n \\\n v_texCoord = a_texCoord; \\\n } \";\n\n var smaskFragmentShaderCode =\n \"\\\n precision mediump float; \\\n \\\n uniform vec4 u_backdrop; \\\n uniform int u_subtype; \\\n uniform sampler2D u_image; \\\n uniform sampler2D u_mask; \\\n \\\n varying vec2 v_texCoord; \\\n \\\n void main() { \\\n vec4 imageColor = texture2D(u_image, v_texCoord); \\\n vec4 maskColor = texture2D(u_mask, v_texCoord); \\\n if (u_backdrop.a > 0.0) { \\\n maskColor.rgb = maskColor.rgb * maskColor.a + \\\n u_backdrop.rgb * (1.0 - maskColor.a); \\\n } \\\n float lum; \\\n if (u_subtype == 0) { \\\n lum = maskColor.a; \\\n } else { \\\n lum = maskColor.r * 0.3 + maskColor.g * 0.59 + \\\n maskColor.b * 0.11; \\\n } \\\n imageColor.a *= lum; \\\n imageColor.rgb *= imageColor.a; \\\n gl_FragColor = imageColor; \\\n } \";\n\n var smaskCache = null;\n\n function initSmaskGL() {\n var canvas, gl;\n\n generateGL();\n canvas = currentCanvas;\n currentCanvas = null;\n gl = currentGL;\n currentGL = null;\n\n // setup a GLSL program\n var vertexShader = createVertexShader(gl, smaskVertexShaderCode);\n var fragmentShader = createFragmentShader(gl, smaskFragmentShaderCode);\n var program = createProgram(gl, [vertexShader, fragmentShader]);\n gl.useProgram(program);\n\n var cache = {};\n cache.gl = gl;\n cache.canvas = canvas;\n cache.resolutionLocation = gl.getUniformLocation(program, \"u_resolution\");\n cache.positionLocation = gl.getAttribLocation(program, \"a_position\");\n cache.backdropLocation = gl.getUniformLocation(program, \"u_backdrop\");\n cache.subtypeLocation = gl.getUniformLocation(program, \"u_subtype\");\n\n var texCoordLocation = gl.getAttribLocation(program, \"a_texCoord\");\n var texLayerLocation = gl.getUniformLocation(program, \"u_image\");\n var texMaskLocation = gl.getUniformLocation(program, \"u_mask\");\n\n // provide texture coordinates for the rectangle.\n var texCoordBuffer = gl.createBuffer();\n gl.bindBuffer(gl.ARRAY_BUFFER, texCoordBuffer);\n // prettier-ignore\n gl.bufferData(gl.ARRAY_BUFFER, new Float32Array([\n 0.0, 0.0,\n 1.0, 0.0,\n 0.0, 1.0,\n 0.0, 1.0,\n 1.0, 0.0,\n 1.0, 1.0]), gl.STATIC_DRAW);\n gl.enableVertexAttribArray(texCoordLocation);\n gl.vertexAttribPointer(texCoordLocation, 2, gl.FLOAT, false, 0, 0);\n\n gl.uniform1i(texLayerLocation, 0);\n gl.uniform1i(texMaskLocation, 1);\n\n smaskCache = cache;\n }\n\n function composeSMask(layer, mask, properties) {\n var width = layer.width,\n height = layer.height;\n\n if (!smaskCache) {\n initSmaskGL();\n }\n var cache = smaskCache,\n canvas = cache.canvas,\n gl = cache.gl;\n canvas.width = width;\n canvas.height = height;\n gl.viewport(0, 0, gl.drawingBufferWidth, gl.drawingBufferHeight);\n gl.uniform2f(cache.resolutionLocation, width, height);\n\n if (properties.backdrop) {\n gl.uniform4f(\n cache.resolutionLocation,\n properties.backdrop[0],\n properties.backdrop[1],\n properties.backdrop[2],\n 1\n );\n } else {\n gl.uniform4f(cache.resolutionLocation, 0, 0, 0, 0);\n }\n gl.uniform1i(\n cache.subtypeLocation,\n properties.subtype === \"Luminosity\" ? 1 : 0\n );\n\n // Create a textures\n var texture = createTexture(gl, layer, gl.TEXTURE0);\n var maskTexture = createTexture(gl, mask, gl.TEXTURE1);\n\n // Create a buffer and put a single clipspace rectangle in\n // it (2 triangles)\n var buffer = gl.createBuffer();\n gl.bindBuffer(gl.ARRAY_BUFFER, buffer);\n // prettier-ignore\n gl.bufferData(gl.ARRAY_BUFFER, new Float32Array([\n 0, 0,\n width, 0,\n 0, height,\n 0, height,\n width, 0,\n width, height]), gl.STATIC_DRAW);\n gl.enableVertexAttribArray(cache.positionLocation);\n gl.vertexAttribPointer(cache.positionLocation, 2, gl.FLOAT, false, 0, 0);\n\n // draw\n gl.clearColor(0, 0, 0, 0);\n gl.enable(gl.BLEND);\n gl.blendFunc(gl.ONE, gl.ONE_MINUS_SRC_ALPHA);\n gl.clear(gl.COLOR_BUFFER_BIT);\n\n gl.drawArrays(gl.TRIANGLES, 0, 6);\n\n gl.flush();\n\n gl.deleteTexture(texture);\n gl.deleteTexture(maskTexture);\n gl.deleteBuffer(buffer);\n\n return canvas;\n }\n\n var figuresVertexShaderCode =\n \"\\\n attribute vec2 a_position; \\\n attribute vec3 a_color; \\\n \\\n uniform vec2 u_resolution; \\\n uniform vec2 u_scale; \\\n uniform vec2 u_offset; \\\n \\\n varying vec4 v_color; \\\n \\\n void main() { \\\n vec2 position = (a_position + u_offset) * u_scale; \\\n vec2 clipSpace = (position / u_resolution) * 2.0 - 1.0; \\\n gl_Position = vec4(clipSpace * vec2(1, -1), 0, 1); \\\n \\\n v_color = vec4(a_color / 255.0, 1.0); \\\n } \";\n\n var figuresFragmentShaderCode =\n \"\\\n precision mediump float; \\\n \\\n varying vec4 v_color; \\\n \\\n void main() { \\\n gl_FragColor = v_color; \\\n } \";\n\n var figuresCache = null;\n\n function initFiguresGL() {\n var canvas, gl;\n\n generateGL();\n canvas = currentCanvas;\n currentCanvas = null;\n gl = currentGL;\n currentGL = null;\n\n // setup a GLSL program\n var vertexShader = createVertexShader(gl, figuresVertexShaderCode);\n var fragmentShader = createFragmentShader(gl, figuresFragmentShaderCode);\n var program = createProgram(gl, [vertexShader, fragmentShader]);\n gl.useProgram(program);\n\n var cache = {};\n cache.gl = gl;\n cache.canvas = canvas;\n cache.resolutionLocation = gl.getUniformLocation(program, \"u_resolution\");\n cache.scaleLocation = gl.getUniformLocation(program, \"u_scale\");\n cache.offsetLocation = gl.getUniformLocation(program, \"u_offset\");\n cache.positionLocation = gl.getAttribLocation(program, \"a_position\");\n cache.colorLocation = gl.getAttribLocation(program, \"a_color\");\n\n figuresCache = cache;\n }\n\n function drawFigures(width, height, backgroundColor, figures, context) {\n if (!figuresCache) {\n initFiguresGL();\n }\n var cache = figuresCache,\n canvas = cache.canvas,\n gl = cache.gl;\n\n canvas.width = width;\n canvas.height = height;\n gl.viewport(0, 0, gl.drawingBufferWidth, gl.drawingBufferHeight);\n gl.uniform2f(cache.resolutionLocation, width, height);\n\n // count triangle points\n var count = 0;\n var i, ii, rows;\n for (i = 0, ii = figures.length; i < ii; i++) {\n switch (figures[i].type) {\n case \"lattice\":\n rows = (figures[i].coords.length / figures[i].verticesPerRow) | 0;\n count += (rows - 1) * (figures[i].verticesPerRow - 1) * 6;\n break;\n case \"triangles\":\n count += figures[i].coords.length;\n break;\n }\n }\n // transfer data\n var coords = new Float32Array(count * 2);\n var colors = new Uint8Array(count * 3);\n var coordsMap = context.coords,\n colorsMap = context.colors;\n var pIndex = 0,\n cIndex = 0;\n for (i = 0, ii = figures.length; i < ii; i++) {\n var figure = figures[i],\n ps = figure.coords,\n cs = figure.colors;\n switch (figure.type) {\n case \"lattice\":\n var cols = figure.verticesPerRow;\n rows = (ps.length / cols) | 0;\n for (var row = 1; row < rows; row++) {\n var offset = row * cols + 1;\n for (var col = 1; col < cols; col++, offset++) {\n coords[pIndex] = coordsMap[ps[offset - cols - 1]];\n coords[pIndex + 1] = coordsMap[ps[offset - cols - 1] + 1];\n coords[pIndex + 2] = coordsMap[ps[offset - cols]];\n coords[pIndex + 3] = coordsMap[ps[offset - cols] + 1];\n coords[pIndex + 4] = coordsMap[ps[offset - 1]];\n coords[pIndex + 5] = coordsMap[ps[offset - 1] + 1];\n colors[cIndex] = colorsMap[cs[offset - cols - 1]];\n colors[cIndex + 1] = colorsMap[cs[offset - cols - 1] + 1];\n colors[cIndex + 2] = colorsMap[cs[offset - cols - 1] + 2];\n colors[cIndex + 3] = colorsMap[cs[offset - cols]];\n colors[cIndex + 4] = colorsMap[cs[offset - cols] + 1];\n colors[cIndex + 5] = colorsMap[cs[offset - cols] + 2];\n colors[cIndex + 6] = colorsMap[cs[offset - 1]];\n colors[cIndex + 7] = colorsMap[cs[offset - 1] + 1];\n colors[cIndex + 8] = colorsMap[cs[offset - 1] + 2];\n\n coords[pIndex + 6] = coords[pIndex + 2];\n coords[pIndex + 7] = coords[pIndex + 3];\n coords[pIndex + 8] = coords[pIndex + 4];\n coords[pIndex + 9] = coords[pIndex + 5];\n coords[pIndex + 10] = coordsMap[ps[offset]];\n coords[pIndex + 11] = coordsMap[ps[offset] + 1];\n colors[cIndex + 9] = colors[cIndex + 3];\n colors[cIndex + 10] = colors[cIndex + 4];\n colors[cIndex + 11] = colors[cIndex + 5];\n colors[cIndex + 12] = colors[cIndex + 6];\n colors[cIndex + 13] = colors[cIndex + 7];\n colors[cIndex + 14] = colors[cIndex + 8];\n colors[cIndex + 15] = colorsMap[cs[offset]];\n colors[cIndex + 16] = colorsMap[cs[offset] + 1];\n colors[cIndex + 17] = colorsMap[cs[offset] + 2];\n pIndex += 12;\n cIndex += 18;\n }\n }\n break;\n case \"triangles\":\n for (var j = 0, jj = ps.length; j < jj; j++) {\n coords[pIndex] = coordsMap[ps[j]];\n coords[pIndex + 1] = coordsMap[ps[j] + 1];\n colors[cIndex] = colorsMap[cs[j]];\n colors[cIndex + 1] = colorsMap[cs[j] + 1];\n colors[cIndex + 2] = colorsMap[cs[j] + 2];\n pIndex += 2;\n cIndex += 3;\n }\n break;\n }\n }\n\n // draw\n if (backgroundColor) {\n gl.clearColor(\n backgroundColor[0] / 255,\n backgroundColor[1] / 255,\n backgroundColor[2] / 255,\n 1.0\n );\n } else {\n gl.clearColor(0, 0, 0, 0);\n }\n gl.clear(gl.COLOR_BUFFER_BIT);\n\n var coordsBuffer = gl.createBuffer();\n gl.bindBuffer(gl.ARRAY_BUFFER, coordsBuffer);\n gl.bufferData(gl.ARRAY_BUFFER, coords, gl.STATIC_DRAW);\n gl.enableVertexAttribArray(cache.positionLocation);\n gl.vertexAttribPointer(cache.positionLocation, 2, gl.FLOAT, false, 0, 0);\n\n var colorsBuffer = gl.createBuffer();\n gl.bindBuffer(gl.ARRAY_BUFFER, colorsBuffer);\n gl.bufferData(gl.ARRAY_BUFFER, colors, gl.STATIC_DRAW);\n gl.enableVertexAttribArray(cache.colorLocation);\n gl.vertexAttribPointer(\n cache.colorLocation,\n 3,\n gl.UNSIGNED_BYTE,\n false,\n 0,\n 0\n );\n\n gl.uniform2f(cache.scaleLocation, context.scaleX, context.scaleY);\n gl.uniform2f(cache.offsetLocation, context.offsetX, context.offsetY);\n\n gl.drawArrays(gl.TRIANGLES, 0, count);\n\n gl.flush();\n\n gl.deleteBuffer(coordsBuffer);\n gl.deleteBuffer(colorsBuffer);\n\n return canvas;\n }\n\n return {\n tryInitGL() {\n try {\n generateGL();\n return !!currentGL;\n } catch (ex) {}\n return false;\n },\n\n composeSMask,\n\n drawFigures,\n\n cleanup() {\n if (smaskCache && smaskCache.canvas) {\n smaskCache.canvas.width = 0;\n smaskCache.canvas.height = 0;\n }\n if (figuresCache && figuresCache.canvas) {\n figuresCache.canvas.width = 0;\n figuresCache.canvas.height = 0;\n }\n smaskCache = null;\n figuresCache = null;\n },\n };\n})();\n\nexport { WebGLContext };\n","/* Copyright 2014 Mozilla Foundation\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n/* eslint no-var: error */\n\nimport {\n addLinkAttributes,\n DOMSVGFactory,\n getFilenameFromUrl,\n LinkTarget,\n PDFDateString,\n} from \"./display_utils.js\";\nimport {\n AnnotationBorderStyleType,\n AnnotationType,\n stringToPDFString,\n unreachable,\n Util,\n warn,\n} from \"../shared/util.js\";\n\n/**\n * @typedef {Object} AnnotationElementParameters\n * @property {Object} data\n * @property {HTMLDivElement} layer\n * @property {PDFPage} page\n * @property {PageViewport} viewport\n * @property {IPDFLinkService} linkService\n * @property {DownloadManager} downloadManager\n * @property {string} [imageResourcesPath] - Path for image resources, mainly\n * for annotation icons. Include trailing slash.\n * @property {boolean} renderInteractiveForms\n * @property {Object} svgFactory\n */\n\nclass AnnotationElementFactory {\n /**\n * @param {AnnotationElementParameters} parameters\n * @returns {AnnotationElement}\n */\n static create(parameters) {\n const subtype = parameters.data.annotationType;\n\n switch (subtype) {\n case AnnotationType.LINK:\n return new LinkAnnotationElement(parameters);\n\n case AnnotationType.TEXT:\n return new TextAnnotationElement(parameters);\n\n case AnnotationType.WIDGET:\n const fieldType = parameters.data.fieldType;\n\n switch (fieldType) {\n case \"Tx\":\n return new TextWidgetAnnotationElement(parameters);\n case \"Btn\":\n if (parameters.data.radioButton) {\n return new RadioButtonWidgetAnnotationElement(parameters);\n } else if (parameters.data.checkBox) {\n return new CheckboxWidgetAnnotationElement(parameters);\n }\n return new PushButtonWidgetAnnotationElement(parameters);\n case \"Ch\":\n return new ChoiceWidgetAnnotationElement(parameters);\n }\n return new WidgetAnnotationElement(parameters);\n\n case AnnotationType.POPUP:\n return new PopupAnnotationElement(parameters);\n\n case AnnotationType.FREETEXT:\n return new FreeTextAnnotationElement(parameters);\n\n case AnnotationType.LINE:\n return new LineAnnotationElement(parameters);\n\n case AnnotationType.SQUARE:\n return new SquareAnnotationElement(parameters);\n\n case AnnotationType.CIRCLE:\n return new CircleAnnotationElement(parameters);\n\n case AnnotationType.POLYLINE:\n return new PolylineAnnotationElement(parameters);\n\n case AnnotationType.CARET:\n return new CaretAnnotationElement(parameters);\n\n case AnnotationType.INK:\n return new InkAnnotationElement(parameters);\n\n case AnnotationType.POLYGON:\n return new PolygonAnnotationElement(parameters);\n\n case AnnotationType.HIGHLIGHT:\n return new HighlightAnnotationElement(parameters);\n\n case AnnotationType.UNDERLINE:\n return new UnderlineAnnotationElement(parameters);\n\n case AnnotationType.SQUIGGLY:\n return new SquigglyAnnotationElement(parameters);\n\n case AnnotationType.STRIKEOUT:\n return new StrikeOutAnnotationElement(parameters);\n\n case AnnotationType.STAMP:\n return new StampAnnotationElement(parameters);\n\n case AnnotationType.FILEATTACHMENT:\n return new FileAttachmentAnnotationElement(parameters);\n\n default:\n return new AnnotationElement(parameters);\n }\n }\n}\n\nclass AnnotationElement {\n constructor(parameters, isRenderable = false, ignoreBorder = false) {\n this.isRenderable = isRenderable;\n this.data = parameters.data;\n this.layer = parameters.layer;\n this.page = parameters.page;\n this.viewport = parameters.viewport;\n this.linkService = parameters.linkService;\n this.downloadManager = parameters.downloadManager;\n this.imageResourcesPath = parameters.imageResourcesPath;\n this.renderInteractiveForms = parameters.renderInteractiveForms;\n this.svgFactory = parameters.svgFactory;\n\n if (isRenderable) {\n this.container = this._createContainer(ignoreBorder);\n }\n }\n\n /**\n * Create an empty container for the annotation's HTML element.\n *\n * @private\n * @param {boolean} ignoreBorder\n * @memberof AnnotationElement\n * @returns {HTMLSectionElement}\n */\n _createContainer(ignoreBorder = false) {\n const data = this.data,\n page = this.page,\n viewport = this.viewport;\n const container = document.createElement(\"section\");\n let width = data.rect[2] - data.rect[0];\n let height = data.rect[3] - data.rect[1];\n\n container.setAttribute(\"data-annotation-id\", data.id);\n\n // Do *not* modify `data.rect`, since that will corrupt the annotation\n // position on subsequent calls to `_createContainer` (see issue 6804).\n const rect = Util.normalizeRect([\n data.rect[0],\n page.view[3] - data.rect[1] + page.view[1],\n data.rect[2],\n page.view[3] - data.rect[3] + page.view[1],\n ]);\n\n container.style.transform = `matrix(${viewport.transform.join(\",\")})`;\n container.style.transformOrigin = `-${rect[0]}px -${rect[1]}px`;\n\n if (!ignoreBorder && data.borderStyle.width > 0) {\n container.style.borderWidth = `${data.borderStyle.width}px`;\n if (data.borderStyle.style !== AnnotationBorderStyleType.UNDERLINE) {\n // Underline styles only have a bottom border, so we do not need\n // to adjust for all borders. This yields a similar result as\n // Adobe Acrobat/Reader.\n width = width - 2 * data.borderStyle.width;\n height = height - 2 * data.borderStyle.width;\n }\n\n const horizontalRadius = data.borderStyle.horizontalCornerRadius;\n const verticalRadius = data.borderStyle.verticalCornerRadius;\n if (horizontalRadius > 0 || verticalRadius > 0) {\n const radius = `${horizontalRadius}px / ${verticalRadius}px`;\n container.style.borderRadius = radius;\n }\n\n switch (data.borderStyle.style) {\n case AnnotationBorderStyleType.SOLID:\n container.style.borderStyle = \"solid\";\n break;\n\n case AnnotationBorderStyleType.DASHED:\n container.style.borderStyle = \"dashed\";\n break;\n\n case AnnotationBorderStyleType.BEVELED:\n warn(\"Unimplemented border style: beveled\");\n break;\n\n case AnnotationBorderStyleType.INSET:\n warn(\"Unimplemented border style: inset\");\n break;\n\n case AnnotationBorderStyleType.UNDERLINE:\n container.style.borderBottomStyle = \"solid\";\n break;\n\n default:\n break;\n }\n\n if (data.color) {\n container.style.borderColor = Util.makeCssRgb(\n data.color[0] | 0,\n data.color[1] | 0,\n data.color[2] | 0\n );\n } else {\n // Transparent (invisible) border, so do not draw it at all.\n container.style.borderWidth = 0;\n }\n }\n\n container.style.left = `${rect[0]}px`;\n container.style.top = `${rect[1]}px`;\n container.style.width = `${width}px`;\n container.style.height = `${height}px`;\n return container;\n }\n\n /**\n * Create a popup for the annotation's HTML element. This is used for\n * annotations that do not have a Popup entry in the dictionary, but\n * are of a type that works with popups (such as Highlight annotations).\n *\n * @private\n * @param {HTMLSectionElement} container\n * @param {HTMLDivElement|HTMLImageElement|null} trigger\n * @param {Object} data\n * @memberof AnnotationElement\n */\n _createPopup(container, trigger, data) {\n // If no trigger element is specified, create it.\n if (!trigger) {\n trigger = document.createElement(\"div\");\n trigger.style.height = container.style.height;\n trigger.style.width = container.style.width;\n container.appendChild(trigger);\n }\n\n const popupElement = new PopupElement({\n container,\n trigger,\n color: data.color,\n title: data.title,\n modificationDate: data.modificationDate,\n contents: data.contents,\n hideWrapper: true,\n });\n const popup = popupElement.render();\n\n // Position the popup next to the annotation's container.\n popup.style.left = container.style.width;\n\n container.appendChild(popup);\n }\n\n /**\n * Render the annotation's HTML element in the empty container.\n *\n * @public\n * @memberof AnnotationElement\n */\n render() {\n unreachable(\"Abstract method `AnnotationElement.render` called\");\n }\n}\n\nclass LinkAnnotationElement extends AnnotationElement {\n constructor(parameters) {\n const isRenderable = !!(\n parameters.data.url ||\n parameters.data.dest ||\n parameters.data.action\n );\n super(parameters, isRenderable);\n }\n\n /**\n * Render the link annotation's HTML element in the empty container.\n *\n * @public\n * @memberof LinkAnnotationElement\n * @returns {HTMLSectionElement}\n */\n render() {\n this.container.className = \"linkAnnotation\";\n\n const { data, linkService } = this;\n const link = document.createElement(\"a\");\n\n if (data.url) {\n addLinkAttributes(link, {\n url: data.url,\n target: data.newWindow\n ? LinkTarget.BLANK\n : linkService.externalLinkTarget,\n rel: linkService.externalLinkRel,\n enabled: linkService.externalLinkEnabled,\n });\n } else if (data.action) {\n this._bindNamedAction(link, data.action);\n } else {\n this._bindLink(link, data.dest);\n }\n\n this.container.appendChild(link);\n return this.container;\n }\n\n /**\n * Bind internal links to the link element.\n *\n * @private\n * @param {Object} link\n * @param {Object} destination\n * @memberof LinkAnnotationElement\n */\n _bindLink(link, destination) {\n link.href = this.linkService.getDestinationHash(destination);\n link.onclick = () => {\n if (destination) {\n this.linkService.navigateTo(destination);\n }\n return false;\n };\n if (destination) {\n link.className = \"internalLink\";\n }\n }\n\n /**\n * Bind named actions to the link element.\n *\n * @private\n * @param {Object} link\n * @param {Object} action\n * @memberof LinkAnnotationElement\n */\n _bindNamedAction(link, action) {\n link.href = this.linkService.getAnchorUrl(\"\");\n link.onclick = () => {\n this.linkService.executeNamedAction(action);\n return false;\n };\n link.className = \"internalLink\";\n }\n}\n\nclass TextAnnotationElement extends AnnotationElement {\n constructor(parameters) {\n const isRenderable = !!(\n parameters.data.hasPopup ||\n parameters.data.title ||\n parameters.data.contents\n );\n super(parameters, isRenderable);\n }\n\n /**\n * Render the text annotation's HTML element in the empty container.\n *\n * @public\n * @memberof TextAnnotationElement\n * @returns {HTMLSectionElement}\n */\n render() {\n this.container.className = \"textAnnotation\";\n\n const image = document.createElement(\"img\");\n image.style.height = this.container.style.height;\n image.style.width = this.container.style.width;\n image.src =\n this.imageResourcesPath +\n \"annotation-\" +\n this.data.name.toLowerCase() +\n \".svg\";\n image.alt = \"[{{type}} Annotation]\";\n image.dataset.l10nId = \"text_annotation_type\";\n image.dataset.l10nArgs = JSON.stringify({ type: this.data.name });\n\n if (!this.data.hasPopup) {\n this._createPopup(this.container, image, this.data);\n }\n\n this.container.appendChild(image);\n return this.container;\n }\n}\n\nclass WidgetAnnotationElement extends AnnotationElement {\n /**\n * Render the widget annotation's HTML element in the empty container.\n *\n * @public\n * @memberof WidgetAnnotationElement\n * @returns {HTMLSectionElement}\n */\n render() {\n // Show only the container for unsupported field types.\n return this.container;\n }\n}\n\nclass TextWidgetAnnotationElement extends WidgetAnnotationElement {\n constructor(parameters) {\n const isRenderable =\n parameters.renderInteractiveForms ||\n (!parameters.data.hasAppearance && !!parameters.data.fieldValue);\n super(parameters, isRenderable);\n }\n\n /**\n * Render the text widget annotation's HTML element in the empty container.\n *\n * @public\n * @memberof TextWidgetAnnotationElement\n * @returns {HTMLSectionElement}\n */\n render() {\n const TEXT_ALIGNMENT = [\"left\", \"center\", \"right\"];\n\n this.container.className = \"textWidgetAnnotation\";\n\n let element = null;\n if (this.renderInteractiveForms) {\n // NOTE: We cannot set the values using `element.value` below, since it\n // prevents the AnnotationLayer rasterizer in `test/driver.js`\n // from parsing the elements correctly for the reference tests.\n if (this.data.multiLine) {\n element = document.createElement(\"textarea\");\n element.textContent = this.data.fieldValue;\n } else {\n element = document.createElement(\"input\");\n element.type = \"text\";\n element.setAttribute(\"value\", this.data.fieldValue);\n }\n\n element.disabled = this.data.readOnly;\n element.name = this.data.fieldName;\n\n if (this.data.maxLen !== null) {\n element.maxLength = this.data.maxLen;\n }\n\n if (this.data.comb) {\n const fieldWidth = this.data.rect[2] - this.data.rect[0];\n const combWidth = fieldWidth / this.data.maxLen;\n\n element.classList.add(\"comb\");\n element.style.letterSpacing = `calc(${combWidth}px - 1ch)`;\n }\n } else {\n element = document.createElement(\"div\");\n element.textContent = this.data.fieldValue;\n element.style.verticalAlign = \"middle\";\n element.style.display = \"table-cell\";\n\n let font = null;\n if (\n this.data.fontRefName &&\n this.page.commonObjs.has(this.data.fontRefName)\n ) {\n font = this.page.commonObjs.get(this.data.fontRefName);\n }\n this._setTextStyle(element, font);\n }\n\n if (this.data.textAlignment !== null) {\n element.style.textAlign = TEXT_ALIGNMENT[this.data.textAlignment];\n }\n\n this.container.appendChild(element);\n return this.container;\n }\n\n /**\n * Apply text styles to the text in the element.\n *\n * @private\n * @param {HTMLDivElement} element\n * @param {Object} font\n * @memberof TextWidgetAnnotationElement\n */\n _setTextStyle(element, font) {\n // TODO: This duplicates some of the logic in CanvasGraphics.setFont().\n const style = element.style;\n style.fontSize = `${this.data.fontSize}px`;\n style.direction = this.data.fontDirection < 0 ? \"rtl\" : \"ltr\";\n\n if (!font) {\n return;\n }\n\n let bold = \"normal\";\n if (font.black) {\n bold = \"900\";\n } else if (font.bold) {\n bold = \"bold\";\n }\n style.fontWeight = bold;\n style.fontStyle = font.italic ? \"italic\" : \"normal\";\n\n // Use a reasonable default font if the font doesn't specify a fallback.\n const fontFamily = font.loadedName ? `\"${font.loadedName}\", ` : \"\";\n const fallbackName = font.fallbackName || \"Helvetica, sans-serif\";\n style.fontFamily = fontFamily + fallbackName;\n }\n}\n\nclass CheckboxWidgetAnnotationElement extends WidgetAnnotationElement {\n constructor(parameters) {\n super(parameters, parameters.renderInteractiveForms);\n }\n\n /**\n * Render the checkbox widget annotation's HTML element\n * in the empty container.\n *\n * @public\n * @memberof CheckboxWidgetAnnotationElement\n * @returns {HTMLSectionElement}\n */\n render() {\n this.container.className = \"buttonWidgetAnnotation checkBox\";\n\n const element = document.createElement(\"input\");\n element.disabled = this.data.readOnly;\n element.type = \"checkbox\";\n element.name = this.data.fieldName;\n if (this.data.fieldValue && this.data.fieldValue !== \"Off\") {\n element.setAttribute(\"checked\", true);\n }\n\n this.container.appendChild(element);\n return this.container;\n }\n}\n\nclass RadioButtonWidgetAnnotationElement extends WidgetAnnotationElement {\n constructor(parameters) {\n super(parameters, parameters.renderInteractiveForms);\n }\n\n /**\n * Render the radio button widget annotation's HTML element\n * in the empty container.\n *\n * @public\n * @memberof RadioButtonWidgetAnnotationElement\n * @returns {HTMLSectionElement}\n */\n render() {\n this.container.className = \"buttonWidgetAnnotation radioButton\";\n\n const element = document.createElement(\"input\");\n element.disabled = this.data.readOnly;\n element.type = \"radio\";\n element.name = this.data.fieldName;\n if (this.data.fieldValue === this.data.buttonValue) {\n element.setAttribute(\"checked\", true);\n }\n\n this.container.appendChild(element);\n return this.container;\n }\n}\n\nclass PushButtonWidgetAnnotationElement extends LinkAnnotationElement {\n /**\n * Render the push button widget annotation's HTML element\n * in the empty container.\n *\n * @public\n * @memberof PushButtonWidgetAnnotationElement\n * @returns {HTMLSectionElement}\n */\n render() {\n // The rendering and functionality of a push button widget annotation is\n // equal to that of a link annotation, but may have more functionality, such\n // as performing actions on form fields (resetting, submitting, et cetera).\n const container = super.render();\n container.className = \"buttonWidgetAnnotation pushButton\";\n return container;\n }\n}\n\nclass ChoiceWidgetAnnotationElement extends WidgetAnnotationElement {\n constructor(parameters) {\n super(parameters, parameters.renderInteractiveForms);\n }\n\n /**\n * Render the choice widget annotation's HTML element in the empty\n * container.\n *\n * @public\n * @memberof ChoiceWidgetAnnotationElement\n * @returns {HTMLSectionElement}\n */\n render() {\n this.container.className = \"choiceWidgetAnnotation\";\n\n const selectElement = document.createElement(\"select\");\n selectElement.disabled = this.data.readOnly;\n selectElement.name = this.data.fieldName;\n\n if (!this.data.combo) {\n // List boxes have a size and (optionally) multiple selection.\n selectElement.size = this.data.options.length;\n if (this.data.multiSelect) {\n selectElement.multiple = true;\n }\n }\n\n // Insert the options into the choice field.\n for (const option of this.data.options) {\n const optionElement = document.createElement(\"option\");\n optionElement.textContent = option.displayValue;\n optionElement.value = option.exportValue;\n if (this.data.fieldValue.includes(option.displayValue)) {\n optionElement.setAttribute(\"selected\", true);\n }\n selectElement.appendChild(optionElement);\n }\n\n this.container.appendChild(selectElement);\n return this.container;\n }\n}\n\nclass PopupAnnotationElement extends AnnotationElement {\n constructor(parameters) {\n const isRenderable = !!(parameters.data.title || parameters.data.contents);\n super(parameters, isRenderable);\n }\n\n /**\n * Render the popup annotation's HTML element in the empty container.\n *\n * @public\n * @memberof PopupAnnotationElement\n * @returns {HTMLSectionElement}\n */\n render() {\n // Do not render popup annotations for parent elements with these types as\n // they create the popups themselves (because of custom trigger divs).\n const IGNORE_TYPES = [\n \"Line\",\n \"Square\",\n \"Circle\",\n \"PolyLine\",\n \"Polygon\",\n \"Ink\",\n ];\n\n this.container.className = \"popupAnnotation\";\n\n if (IGNORE_TYPES.includes(this.data.parentType)) {\n return this.container;\n }\n\n const selector = `[data-annotation-id=\"${this.data.parentId}\"]`;\n const parentElement = this.layer.querySelector(selector);\n if (!parentElement) {\n return this.container;\n }\n\n const popup = new PopupElement({\n container: this.container,\n trigger: parentElement,\n color: this.data.color,\n title: this.data.title,\n modificationDate: this.data.modificationDate,\n contents: this.data.contents,\n });\n\n // Position the popup next to the parent annotation's container.\n // PDF viewers ignore a popup annotation's rectangle.\n const parentLeft = parseFloat(parentElement.style.left);\n const parentWidth = parseFloat(parentElement.style.width);\n this.container.style.transformOrigin = `-${parentLeft + parentWidth}px -${\n parentElement.style.top\n }`;\n this.container.style.left = `${parentLeft + parentWidth}px`;\n\n this.container.appendChild(popup.render());\n return this.container;\n }\n}\n\nclass PopupElement {\n constructor(parameters) {\n this.container = parameters.container;\n this.trigger = parameters.trigger;\n this.color = parameters.color;\n this.title = parameters.title;\n this.modificationDate = parameters.modificationDate;\n this.contents = parameters.contents;\n this.hideWrapper = parameters.hideWrapper || false;\n\n this.pinned = false;\n }\n\n /**\n * Render the popup's HTML element.\n *\n * @public\n * @memberof PopupElement\n * @returns {HTMLSectionElement}\n */\n render() {\n const BACKGROUND_ENLIGHT = 0.7;\n\n const wrapper = document.createElement(\"div\");\n wrapper.className = \"popupWrapper\";\n\n // For Popup annotations we hide the entire section because it contains\n // only the popup. However, for Text annotations without a separate Popup\n // annotation, we cannot hide the entire container as the image would\n // disappear too. In that special case, hiding the wrapper suffices.\n this.hideElement = this.hideWrapper ? wrapper : this.container;\n this.hideElement.setAttribute(\"hidden\", true);\n\n const popup = document.createElement(\"div\");\n popup.className = \"popup\";\n\n const color = this.color;\n if (color) {\n // Enlighten the color.\n const r = BACKGROUND_ENLIGHT * (255 - color[0]) + color[0];\n const g = BACKGROUND_ENLIGHT * (255 - color[1]) + color[1];\n const b = BACKGROUND_ENLIGHT * (255 - color[2]) + color[2];\n popup.style.backgroundColor = Util.makeCssRgb(r | 0, g | 0, b | 0);\n }\n\n const title = document.createElement(\"h1\");\n title.textContent = this.title;\n popup.appendChild(title);\n\n // The modification date is shown in the popup instead of the creation\n // date if it is available and can be parsed correctly, which is\n // consistent with other viewers such as Adobe Acrobat.\n const dateObject = PDFDateString.toDateObject(this.modificationDate);\n if (dateObject) {\n const modificationDate = document.createElement(\"span\");\n modificationDate.textContent = \"{{date}}, {{time}}\";\n modificationDate.dataset.l10nId = \"annotation_date_string\";\n modificationDate.dataset.l10nArgs = JSON.stringify({\n date: dateObject.toLocaleDateString(),\n time: dateObject.toLocaleTimeString(),\n });\n popup.appendChild(modificationDate);\n }\n\n const contents = this._formatContents(this.contents);\n popup.appendChild(contents);\n\n // Attach the event listeners to the trigger element.\n this.trigger.addEventListener(\"click\", this._toggle.bind(this));\n this.trigger.addEventListener(\"mouseover\", this._show.bind(this, false));\n this.trigger.addEventListener(\"mouseout\", this._hide.bind(this, false));\n popup.addEventListener(\"click\", this._hide.bind(this, true));\n\n wrapper.appendChild(popup);\n return wrapper;\n }\n\n /**\n * Format the contents of the popup by adding newlines where necessary.\n *\n * @private\n * @param {string} contents\n * @memberof PopupElement\n * @returns {HTMLParagraphElement}\n */\n _formatContents(contents) {\n const p = document.createElement(\"p\");\n const lines = contents.split(/(?:\\r\\n?|\\n)/);\n for (let i = 0, ii = lines.length; i < ii; ++i) {\n const line = lines[i];\n p.appendChild(document.createTextNode(line));\n if (i < ii - 1) {\n p.appendChild(document.createElement(\"br\"));\n }\n }\n return p;\n }\n\n /**\n * Toggle the visibility of the popup.\n *\n * @private\n * @memberof PopupElement\n */\n _toggle() {\n if (this.pinned) {\n this._hide(true);\n } else {\n this._show(true);\n }\n }\n\n /**\n * Show the popup.\n *\n * @private\n * @param {boolean} pin\n * @memberof PopupElement\n */\n _show(pin = false) {\n if (pin) {\n this.pinned = true;\n }\n if (this.hideElement.hasAttribute(\"hidden\")) {\n this.hideElement.removeAttribute(\"hidden\");\n this.container.style.zIndex += 1;\n }\n }\n\n /**\n * Hide the popup.\n *\n * @private\n * @param {boolean} unpin\n * @memberof PopupElement\n */\n _hide(unpin = true) {\n if (unpin) {\n this.pinned = false;\n }\n if (!this.hideElement.hasAttribute(\"hidden\") && !this.pinned) {\n this.hideElement.setAttribute(\"hidden\", true);\n this.container.style.zIndex -= 1;\n }\n }\n}\n\nclass FreeTextAnnotationElement extends AnnotationElement {\n constructor(parameters) {\n const isRenderable = !!(\n parameters.data.hasPopup ||\n parameters.data.title ||\n parameters.data.contents\n );\n super(parameters, isRenderable, /* ignoreBorder = */ true);\n }\n\n /**\n * Render the free text annotation's HTML element in the empty container.\n *\n * @public\n * @memberof FreeTextAnnotationElement\n * @returns {HTMLSectionElement}\n */\n render() {\n this.container.className = \"freeTextAnnotation\";\n\n if (!this.data.hasPopup) {\n this._createPopup(this.container, null, this.data);\n }\n return this.container;\n }\n}\n\nclass LineAnnotationElement extends AnnotationElement {\n constructor(parameters) {\n const isRenderable = !!(\n parameters.data.hasPopup ||\n parameters.data.title ||\n parameters.data.contents\n );\n super(parameters, isRenderable, /* ignoreBorder = */ true);\n }\n\n /**\n * Render the line annotation's HTML element in the empty container.\n *\n * @public\n * @memberof LineAnnotationElement\n * @returns {HTMLSectionElement}\n */\n render() {\n this.container.className = \"lineAnnotation\";\n\n // Create an invisible line with the same starting and ending coordinates\n // that acts as the trigger for the popup. Only the line itself should\n // trigger the popup, not the entire container.\n const data = this.data;\n const width = data.rect[2] - data.rect[0];\n const height = data.rect[3] - data.rect[1];\n const svg = this.svgFactory.create(width, height);\n\n // PDF coordinates are calculated from a bottom left origin, so transform\n // the line coordinates to a top left origin for the SVG element.\n const line = this.svgFactory.createElement(\"svg:line\");\n line.setAttribute(\"x1\", data.rect[2] - data.lineCoordinates[0]);\n line.setAttribute(\"y1\", data.rect[3] - data.lineCoordinates[1]);\n line.setAttribute(\"x2\", data.rect[2] - data.lineCoordinates[2]);\n line.setAttribute(\"y2\", data.rect[3] - data.lineCoordinates[3]);\n // Ensure that the 'stroke-width' is always non-zero, since otherwise it\n // won't be possible to open/close the popup (note e.g. issue 11122).\n line.setAttribute(\"stroke-width\", data.borderStyle.width || 1);\n line.setAttribute(\"stroke\", \"transparent\");\n\n svg.appendChild(line);\n this.container.append(svg);\n\n // Create the popup ourselves so that we can bind it to the line instead\n // of to the entire container (which is the default).\n this._createPopup(this.container, line, data);\n\n return this.container;\n }\n}\n\nclass SquareAnnotationElement extends AnnotationElement {\n constructor(parameters) {\n const isRenderable = !!(\n parameters.data.hasPopup ||\n parameters.data.title ||\n parameters.data.contents\n );\n super(parameters, isRenderable, /* ignoreBorder = */ true);\n }\n\n /**\n * Render the square annotation's HTML element in the empty container.\n *\n * @public\n * @memberof SquareAnnotationElement\n * @returns {HTMLSectionElement}\n */\n render() {\n this.container.className = \"squareAnnotation\";\n\n // Create an invisible square with the same rectangle that acts as the\n // trigger for the popup. Only the square itself should trigger the\n // popup, not the entire container.\n const data = this.data;\n const width = data.rect[2] - data.rect[0];\n const height = data.rect[3] - data.rect[1];\n const svg = this.svgFactory.create(width, height);\n\n // The browser draws half of the borders inside the square and half of\n // the borders outside the square by default. This behavior cannot be\n // changed programmatically, so correct for that here.\n const borderWidth = data.borderStyle.width;\n const square = this.svgFactory.createElement(\"svg:rect\");\n square.setAttribute(\"x\", borderWidth / 2);\n square.setAttribute(\"y\", borderWidth / 2);\n square.setAttribute(\"width\", width - borderWidth);\n square.setAttribute(\"height\", height - borderWidth);\n // Ensure that the 'stroke-width' is always non-zero, since otherwise it\n // won't be possible to open/close the popup (note e.g. issue 11122).\n square.setAttribute(\"stroke-width\", borderWidth || 1);\n square.setAttribute(\"stroke\", \"transparent\");\n square.setAttribute(\"fill\", \"none\");\n\n svg.appendChild(square);\n this.container.append(svg);\n\n // Create the popup ourselves so that we can bind it to the square instead\n // of to the entire container (which is the default).\n this._createPopup(this.container, square, data);\n\n return this.container;\n }\n}\n\nclass CircleAnnotationElement extends AnnotationElement {\n constructor(parameters) {\n const isRenderable = !!(\n parameters.data.hasPopup ||\n parameters.data.title ||\n parameters.data.contents\n );\n super(parameters, isRenderable, /* ignoreBorder = */ true);\n }\n\n /**\n * Render the circle annotation's HTML element in the empty container.\n *\n * @public\n * @memberof CircleAnnotationElement\n * @returns {HTMLSectionElement}\n */\n render() {\n this.container.className = \"circleAnnotation\";\n\n // Create an invisible circle with the same ellipse that acts as the\n // trigger for the popup. Only the circle itself should trigger the\n // popup, not the entire container.\n const data = this.data;\n const width = data.rect[2] - data.rect[0];\n const height = data.rect[3] - data.rect[1];\n const svg = this.svgFactory.create(width, height);\n\n // The browser draws half of the borders inside the circle and half of\n // the borders outside the circle by default. This behavior cannot be\n // changed programmatically, so correct for that here.\n const borderWidth = data.borderStyle.width;\n const circle = this.svgFactory.createElement(\"svg:ellipse\");\n circle.setAttribute(\"cx\", width / 2);\n circle.setAttribute(\"cy\", height / 2);\n circle.setAttribute(\"rx\", width / 2 - borderWidth / 2);\n circle.setAttribute(\"ry\", height / 2 - borderWidth / 2);\n // Ensure that the 'stroke-width' is always non-zero, since otherwise it\n // won't be possible to open/close the popup (note e.g. issue 11122).\n circle.setAttribute(\"stroke-width\", borderWidth || 1);\n circle.setAttribute(\"stroke\", \"transparent\");\n circle.setAttribute(\"fill\", \"none\");\n\n svg.appendChild(circle);\n this.container.append(svg);\n\n // Create the popup ourselves so that we can bind it to the circle instead\n // of to the entire container (which is the default).\n this._createPopup(this.container, circle, data);\n\n return this.container;\n }\n}\n\nclass PolylineAnnotationElement extends AnnotationElement {\n constructor(parameters) {\n const isRenderable = !!(\n parameters.data.hasPopup ||\n parameters.data.title ||\n parameters.data.contents\n );\n super(parameters, isRenderable, /* ignoreBorder = */ true);\n\n this.containerClassName = \"polylineAnnotation\";\n this.svgElementName = \"svg:polyline\";\n }\n\n /**\n * Render the polyline annotation's HTML element in the empty container.\n *\n * @public\n * @memberof PolylineAnnotationElement\n * @returns {HTMLSectionElement}\n */\n render() {\n this.container.className = this.containerClassName;\n\n // Create an invisible polyline with the same points that acts as the\n // trigger for the popup. Only the polyline itself should trigger the\n // popup, not the entire container.\n const data = this.data;\n const width = data.rect[2] - data.rect[0];\n const height = data.rect[3] - data.rect[1];\n const svg = this.svgFactory.create(width, height);\n\n // Convert the vertices array to a single points string that the SVG\n // polyline element expects (\"x1,y1 x2,y2 ...\"). PDF coordinates are\n // calculated from a bottom left origin, so transform the polyline\n // coordinates to a top left origin for the SVG element.\n let points = [];\n for (const coordinate of data.vertices) {\n const x = coordinate.x - data.rect[0];\n const y = data.rect[3] - coordinate.y;\n points.push(x + \",\" + y);\n }\n points = points.join(\" \");\n\n const polyline = this.svgFactory.createElement(this.svgElementName);\n polyline.setAttribute(\"points\", points);\n // Ensure that the 'stroke-width' is always non-zero, since otherwise it\n // won't be possible to open/close the popup (note e.g. issue 11122).\n polyline.setAttribute(\"stroke-width\", data.borderStyle.width || 1);\n polyline.setAttribute(\"stroke\", \"transparent\");\n polyline.setAttribute(\"fill\", \"none\");\n\n svg.appendChild(polyline);\n this.container.append(svg);\n\n // Create the popup ourselves so that we can bind it to the polyline\n // instead of to the entire container (which is the default).\n this._createPopup(this.container, polyline, data);\n\n return this.container;\n }\n}\n\nclass PolygonAnnotationElement extends PolylineAnnotationElement {\n constructor(parameters) {\n // Polygons are specific forms of polylines, so reuse their logic.\n super(parameters);\n\n this.containerClassName = \"polygonAnnotation\";\n this.svgElementName = \"svg:polygon\";\n }\n}\n\nclass CaretAnnotationElement extends AnnotationElement {\n constructor(parameters) {\n const isRenderable = !!(\n parameters.data.hasPopup ||\n parameters.data.title ||\n parameters.data.contents\n );\n super(parameters, isRenderable, /* ignoreBorder = */ true);\n }\n\n /**\n * Render the caret annotation's HTML element in the empty container.\n *\n * @public\n * @memberof CaretAnnotationElement\n * @returns {HTMLSectionElement}\n */\n render() {\n this.container.className = \"caretAnnotation\";\n\n if (!this.data.hasPopup) {\n this._createPopup(this.container, null, this.data);\n }\n return this.container;\n }\n}\n\nclass InkAnnotationElement extends AnnotationElement {\n constructor(parameters) {\n const isRenderable = !!(\n parameters.data.hasPopup ||\n parameters.data.title ||\n parameters.data.contents\n );\n super(parameters, isRenderable, /* ignoreBorder = */ true);\n\n this.containerClassName = \"inkAnnotation\";\n\n // Use the polyline SVG element since it allows us to use coordinates\n // directly and to draw both straight lines and curves.\n this.svgElementName = \"svg:polyline\";\n }\n\n /**\n * Render the ink annotation's HTML element in the empty container.\n *\n * @public\n * @memberof InkAnnotationElement\n * @returns {HTMLSectionElement}\n */\n render() {\n this.container.className = this.containerClassName;\n\n // Create an invisible polyline with the same points that acts as the\n // trigger for the popup.\n const data = this.data;\n const width = data.rect[2] - data.rect[0];\n const height = data.rect[3] - data.rect[1];\n const svg = this.svgFactory.create(width, height);\n\n for (const inkList of data.inkLists) {\n // Convert the ink list to a single points string that the SVG\n // polyline element expects (\"x1,y1 x2,y2 ...\"). PDF coordinates are\n // calculated from a bottom left origin, so transform the polyline\n // coordinates to a top left origin for the SVG element.\n let points = [];\n for (const coordinate of inkList) {\n const x = coordinate.x - data.rect[0];\n const y = data.rect[3] - coordinate.y;\n points.push(`${x},${y}`);\n }\n points = points.join(\" \");\n\n const polyline = this.svgFactory.createElement(this.svgElementName);\n polyline.setAttribute(\"points\", points);\n // Ensure that the 'stroke-width' is always non-zero, since otherwise it\n // won't be possible to open/close the popup (note e.g. issue 11122).\n polyline.setAttribute(\"stroke-width\", data.borderStyle.width || 1);\n polyline.setAttribute(\"stroke\", \"transparent\");\n polyline.setAttribute(\"fill\", \"none\");\n\n // Create the popup ourselves so that we can bind it to the polyline\n // instead of to the entire container (which is the default).\n this._createPopup(this.container, polyline, data);\n\n svg.appendChild(polyline);\n }\n\n this.container.append(svg);\n return this.container;\n }\n}\n\nclass HighlightAnnotationElement extends AnnotationElement {\n constructor(parameters) {\n const isRenderable = !!(\n parameters.data.hasPopup ||\n parameters.data.title ||\n parameters.data.contents\n );\n super(parameters, isRenderable, /* ignoreBorder = */ true);\n }\n\n /**\n * Render the highlight annotation's HTML element in the empty container.\n *\n * @public\n * @memberof HighlightAnnotationElement\n * @returns {HTMLSectionElement}\n */\n render() {\n this.container.className = \"highlightAnnotation\";\n\n if (!this.data.hasPopup) {\n this._createPopup(this.container, null, this.data);\n }\n return this.container;\n }\n}\n\nclass UnderlineAnnotationElement extends AnnotationElement {\n constructor(parameters) {\n const isRenderable = !!(\n parameters.data.hasPopup ||\n parameters.data.title ||\n parameters.data.contents\n );\n super(parameters, isRenderable, /* ignoreBorder = */ true);\n }\n\n /**\n * Render the underline annotation's HTML element in the empty container.\n *\n * @public\n * @memberof UnderlineAnnotationElement\n * @returns {HTMLSectionElement}\n */\n render() {\n this.container.className = \"underlineAnnotation\";\n\n if (!this.data.hasPopup) {\n this._createPopup(this.container, null, this.data);\n }\n return this.container;\n }\n}\n\nclass SquigglyAnnotationElement extends AnnotationElement {\n constructor(parameters) {\n const isRenderable = !!(\n parameters.data.hasPopup ||\n parameters.data.title ||\n parameters.data.contents\n );\n super(parameters, isRenderable, /* ignoreBorder = */ true);\n }\n\n /**\n * Render the squiggly annotation's HTML element in the empty container.\n *\n * @public\n * @memberof SquigglyAnnotationElement\n * @returns {HTMLSectionElement}\n */\n render() {\n this.container.className = \"squigglyAnnotation\";\n\n if (!this.data.hasPopup) {\n this._createPopup(this.container, null, this.data);\n }\n return this.container;\n }\n}\n\nclass StrikeOutAnnotationElement extends AnnotationElement {\n constructor(parameters) {\n const isRenderable = !!(\n parameters.data.hasPopup ||\n parameters.data.title ||\n parameters.data.contents\n );\n super(parameters, isRenderable, /* ignoreBorder = */ true);\n }\n\n /**\n * Render the strikeout annotation's HTML element in the empty container.\n *\n * @public\n * @memberof StrikeOutAnnotationElement\n * @returns {HTMLSectionElement}\n */\n render() {\n this.container.className = \"strikeoutAnnotation\";\n\n if (!this.data.hasPopup) {\n this._createPopup(this.container, null, this.data);\n }\n return this.container;\n }\n}\n\nclass StampAnnotationElement extends AnnotationElement {\n constructor(parameters) {\n const isRenderable = !!(\n parameters.data.hasPopup ||\n parameters.data.title ||\n parameters.data.contents\n );\n super(parameters, isRenderable, /* ignoreBorder = */ true);\n }\n\n /**\n * Render the stamp annotation's HTML element in the empty container.\n *\n * @public\n * @memberof StampAnnotationElement\n * @returns {HTMLSectionElement}\n */\n render() {\n this.container.className = \"stampAnnotation\";\n\n if (!this.data.hasPopup) {\n this._createPopup(this.container, null, this.data);\n }\n return this.container;\n }\n}\n\nclass FileAttachmentAnnotationElement extends AnnotationElement {\n constructor(parameters) {\n super(parameters, /* isRenderable = */ true);\n\n const { filename, content } = this.data.file;\n this.filename = getFilenameFromUrl(filename);\n this.content = content;\n\n if (this.linkService.eventBus) {\n this.linkService.eventBus.dispatch(\"fileattachmentannotation\", {\n source: this,\n id: stringToPDFString(filename),\n filename,\n content,\n });\n }\n }\n\n /**\n * Render the file attachment annotation's HTML element in the empty\n * container.\n *\n * @public\n * @memberof FileAttachmentAnnotationElement\n * @returns {HTMLSectionElement}\n */\n render() {\n this.container.className = \"fileAttachmentAnnotation\";\n\n const trigger = document.createElement(\"div\");\n trigger.style.height = this.container.style.height;\n trigger.style.width = this.container.style.width;\n trigger.addEventListener(\"dblclick\", this._download.bind(this));\n\n if (!this.data.hasPopup && (this.data.title || this.data.contents)) {\n this._createPopup(this.container, trigger, this.data);\n }\n\n this.container.appendChild(trigger);\n return this.container;\n }\n\n /**\n * Download the file attachment associated with this annotation.\n *\n * @private\n * @memberof FileAttachmentAnnotationElement\n */\n _download() {\n if (!this.downloadManager) {\n warn(\"Download cannot be started due to unavailable download manager\");\n return;\n }\n this.downloadManager.downloadData(this.content, this.filename, \"\");\n }\n}\n\n/**\n * @typedef {Object} AnnotationLayerParameters\n * @property {PageViewport} viewport\n * @property {HTMLDivElement} div\n * @property {Array} annotations\n * @property {PDFPage} page\n * @property {IPDFLinkService} linkService\n * @property {DownloadManager} downloadManager\n * @property {string} [imageResourcesPath] - Path for image resources, mainly\n * for annotation icons. Include trailing slash.\n * @property {boolean} renderInteractiveForms\n */\n\nclass AnnotationLayer {\n /**\n * Render a new annotation layer with all annotation elements.\n *\n * @public\n * @param {AnnotationLayerParameters} parameters\n * @memberof AnnotationLayer\n */\n static render(parameters) {\n const sortedAnnotations = [],\n popupAnnotations = [];\n // Ensure that Popup annotations are handled last, since they're dependant\n // upon the parent annotation having already been rendered (please refer to\n // the `PopupAnnotationElement.render` method); fixes issue 11362.\n for (const data of parameters.annotations) {\n if (!data) {\n continue;\n }\n if (data.annotationType === AnnotationType.POPUP) {\n popupAnnotations.push(data);\n continue;\n }\n sortedAnnotations.push(data);\n }\n if (popupAnnotations.length) {\n sortedAnnotations.push(...popupAnnotations);\n }\n\n for (const data of sortedAnnotations) {\n const element = AnnotationElementFactory.create({\n data,\n layer: parameters.div,\n page: parameters.page,\n viewport: parameters.viewport,\n linkService: parameters.linkService,\n downloadManager: parameters.downloadManager,\n imageResourcesPath: parameters.imageResourcesPath || \"\",\n renderInteractiveForms: parameters.renderInteractiveForms || false,\n svgFactory: new DOMSVGFactory(),\n });\n if (element.isRenderable) {\n parameters.div.appendChild(element.render());\n }\n }\n }\n\n /**\n * Update the annotation elements on existing annotation layer.\n *\n * @public\n * @param {AnnotationLayerParameters} parameters\n * @memberof AnnotationLayer\n */\n static update(parameters) {\n for (const data of parameters.annotations) {\n const element = parameters.div.querySelector(\n `[data-annotation-id=\"${data.id}\"]`\n );\n if (element) {\n element.style.transform = `matrix(${parameters.viewport.transform.join(\n \",\"\n )})`;\n }\n }\n parameters.div.removeAttribute(\"hidden\");\n }\n}\n\nexport { AnnotationLayer };\n","/* Copyright 2015 Mozilla Foundation\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {\n AbortException,\n createPromiseCapability,\n Util,\n} from \"../shared/util.js\";\n\n/**\n * Text layer render parameters.\n *\n * @typedef {Object} TextLayerRenderParameters\n * @property {TextContent} [textContent] - Text content to render (the object\n * is returned by the page's `getTextContent` method).\n * @property {ReadableStream} [textContentStream] - Text content stream to\n * render (the stream is returned by the page's `streamTextContent` method).\n * @property {HTMLElement} container - HTML element that will contain text runs.\n * @property {PageViewport} viewport - The target viewport to properly\n * layout the text runs.\n * @property {Array} [textDivs] - HTML elements that are correspond to the\n * text items of the textContent input. This is output and shall be\n * initially be set to empty array.\n * @property {Array} [textContentItemsStr] - Strings that correspond to the\n * `str` property of the text items of textContent input. This is output\n * and shall be initially be set to empty array.\n * @property {number} [timeout] - Delay in milliseconds before rendering of the\n * text runs occurs.\n * @property {boolean} [enhanceTextSelection] - Whether to turn on the text\n * selection enhancement.\n */\nvar renderTextLayer = (function renderTextLayerClosure() {\n var MAX_TEXT_DIVS_TO_RENDER = 100000;\n\n var NonWhitespaceRegexp = /\\S/;\n\n function isAllWhitespace(str) {\n return !NonWhitespaceRegexp.test(str);\n }\n\n function appendText(task, geom, styles) {\n // Initialize all used properties to keep the caches monomorphic.\n var textDiv = document.createElement(\"span\");\n var textDivProperties = {\n angle: 0,\n canvasWidth: 0,\n isWhitespace: false,\n originalTransform: null,\n paddingBottom: 0,\n paddingLeft: 0,\n paddingRight: 0,\n paddingTop: 0,\n scale: 1,\n };\n\n task._textDivs.push(textDiv);\n if (isAllWhitespace(geom.str)) {\n textDivProperties.isWhitespace = true;\n task._textDivProperties.set(textDiv, textDivProperties);\n return;\n }\n\n var tx = Util.transform(task._viewport.transform, geom.transform);\n var angle = Math.atan2(tx[1], tx[0]);\n var style = styles[geom.fontName];\n if (style.vertical) {\n angle += Math.PI / 2;\n }\n var fontHeight = Math.sqrt(tx[2] * tx[2] + tx[3] * tx[3]);\n var fontAscent = fontHeight;\n if (style.ascent) {\n fontAscent = style.ascent * fontAscent;\n } else if (style.descent) {\n fontAscent = (1 + style.descent) * fontAscent;\n }\n\n let left, top;\n if (angle === 0) {\n left = tx[4];\n top = tx[5] - fontAscent;\n } else {\n left = tx[4] + fontAscent * Math.sin(angle);\n top = tx[5] - fontAscent * Math.cos(angle);\n }\n // Setting the style properties individually, rather than all at once,\n // should be OK since the `textDiv` isn't appended to the document yet.\n textDiv.style.left = `${left}px`;\n textDiv.style.top = `${top}px`;\n textDiv.style.fontSize = `${fontHeight}px`;\n textDiv.style.fontFamily = style.fontFamily;\n\n textDiv.textContent = geom.str;\n // `fontName` is only used by the FontInspector, and we only use `dataset`\n // here to make the font name available in the debugger.\n if (task._fontInspectorEnabled) {\n textDiv.dataset.fontName = geom.fontName;\n }\n if (angle !== 0) {\n textDivProperties.angle = angle * (180 / Math.PI);\n }\n // We don't bother scaling single-char text divs, because it has very\n // little effect on text highlighting. This makes scrolling on docs with\n // lots of such divs a lot faster.\n let shouldScaleText = false;\n if (geom.str.length > 1) {\n shouldScaleText = true;\n } else if (geom.transform[0] !== geom.transform[3]) {\n const absScaleX = Math.abs(geom.transform[0]),\n absScaleY = Math.abs(geom.transform[3]);\n // When the horizontal/vertical scaling differs significantly, also scale\n // even single-char text to improve highlighting (fixes issue11713.pdf).\n if (\n absScaleX !== absScaleY &&\n Math.max(absScaleX, absScaleY) / Math.min(absScaleX, absScaleY) > 1.5\n ) {\n shouldScaleText = true;\n }\n }\n if (shouldScaleText) {\n if (style.vertical) {\n textDivProperties.canvasWidth = geom.height * task._viewport.scale;\n } else {\n textDivProperties.canvasWidth = geom.width * task._viewport.scale;\n }\n }\n task._textDivProperties.set(textDiv, textDivProperties);\n if (task._textContentStream) {\n task._layoutText(textDiv);\n }\n\n if (task._enhanceTextSelection) {\n var angleCos = 1,\n angleSin = 0;\n if (angle !== 0) {\n angleCos = Math.cos(angle);\n angleSin = Math.sin(angle);\n }\n var divWidth =\n (style.vertical ? geom.height : geom.width) * task._viewport.scale;\n var divHeight = fontHeight;\n\n var m, b;\n if (angle !== 0) {\n m = [angleCos, angleSin, -angleSin, angleCos, left, top];\n b = Util.getAxialAlignedBoundingBox([0, 0, divWidth, divHeight], m);\n } else {\n b = [left, top, left + divWidth, top + divHeight];\n }\n\n task._bounds.push({\n left: b[0],\n top: b[1],\n right: b[2],\n bottom: b[3],\n div: textDiv,\n size: [divWidth, divHeight],\n m,\n });\n }\n }\n\n function render(task) {\n if (task._canceled) {\n return;\n }\n var textDivs = task._textDivs;\n var capability = task._capability;\n var textDivsLength = textDivs.length;\n\n // No point in rendering many divs as it would make the browser\n // unusable even after the divs are rendered.\n if (textDivsLength > MAX_TEXT_DIVS_TO_RENDER) {\n task._renderingDone = true;\n capability.resolve();\n return;\n }\n\n if (!task._textContentStream) {\n for (var i = 0; i < textDivsLength; i++) {\n task._layoutText(textDivs[i]);\n }\n }\n\n task._renderingDone = true;\n capability.resolve();\n }\n\n function findPositiveMin(ts, offset, count) {\n let result = 0;\n for (let i = 0; i < count; i++) {\n const t = ts[offset++];\n if (t > 0) {\n result = result ? Math.min(t, result) : t;\n }\n }\n return result;\n }\n\n function expand(task) {\n var bounds = task._bounds;\n var viewport = task._viewport;\n\n var expanded = expandBounds(viewport.width, viewport.height, bounds);\n for (var i = 0; i < expanded.length; i++) {\n var div = bounds[i].div;\n var divProperties = task._textDivProperties.get(div);\n if (divProperties.angle === 0) {\n divProperties.paddingLeft = bounds[i].left - expanded[i].left;\n divProperties.paddingTop = bounds[i].top - expanded[i].top;\n divProperties.paddingRight = expanded[i].right - bounds[i].right;\n divProperties.paddingBottom = expanded[i].bottom - bounds[i].bottom;\n task._textDivProperties.set(div, divProperties);\n continue;\n }\n // Box is rotated -- trying to find padding so rotated div will not\n // exceed its expanded bounds.\n var e = expanded[i],\n b = bounds[i];\n var m = b.m,\n c = m[0],\n s = m[1];\n // Finding intersections with expanded box.\n var points = [[0, 0], [0, b.size[1]], [b.size[0], 0], b.size];\n var ts = new Float64Array(64);\n points.forEach(function (p, j) {\n var t = Util.applyTransform(p, m);\n ts[j + 0] = c && (e.left - t[0]) / c;\n ts[j + 4] = s && (e.top - t[1]) / s;\n ts[j + 8] = c && (e.right - t[0]) / c;\n ts[j + 12] = s && (e.bottom - t[1]) / s;\n\n ts[j + 16] = s && (e.left - t[0]) / -s;\n ts[j + 20] = c && (e.top - t[1]) / c;\n ts[j + 24] = s && (e.right - t[0]) / -s;\n ts[j + 28] = c && (e.bottom - t[1]) / c;\n\n ts[j + 32] = c && (e.left - t[0]) / -c;\n ts[j + 36] = s && (e.top - t[1]) / -s;\n ts[j + 40] = c && (e.right - t[0]) / -c;\n ts[j + 44] = s && (e.bottom - t[1]) / -s;\n\n ts[j + 48] = s && (e.left - t[0]) / s;\n ts[j + 52] = c && (e.top - t[1]) / -c;\n ts[j + 56] = s && (e.right - t[0]) / s;\n ts[j + 60] = c && (e.bottom - t[1]) / -c;\n });\n // Not based on math, but to simplify calculations, using cos and sin\n // absolute values to not exceed the box (it can but insignificantly).\n var boxScale = 1 + Math.min(Math.abs(c), Math.abs(s));\n divProperties.paddingLeft = findPositiveMin(ts, 32, 16) / boxScale;\n divProperties.paddingTop = findPositiveMin(ts, 48, 16) / boxScale;\n divProperties.paddingRight = findPositiveMin(ts, 0, 16) / boxScale;\n divProperties.paddingBottom = findPositiveMin(ts, 16, 16) / boxScale;\n task._textDivProperties.set(div, divProperties);\n }\n }\n\n function expandBounds(width, height, boxes) {\n var bounds = boxes.map(function (box, i) {\n return {\n x1: box.left,\n y1: box.top,\n x2: box.right,\n y2: box.bottom,\n index: i,\n x1New: undefined,\n x2New: undefined,\n };\n });\n expandBoundsLTR(width, bounds);\n var expanded = new Array(boxes.length);\n bounds.forEach(function (b) {\n var i = b.index;\n expanded[i] = {\n left: b.x1New,\n top: 0,\n right: b.x2New,\n bottom: 0,\n };\n });\n\n // Rotating on 90 degrees and extending extended boxes. Reusing the bounds\n // array and objects.\n boxes.map(function (box, i) {\n var e = expanded[i],\n b = bounds[i];\n b.x1 = box.top;\n b.y1 = width - e.right;\n b.x2 = box.bottom;\n b.y2 = width - e.left;\n b.index = i;\n b.x1New = undefined;\n b.x2New = undefined;\n });\n expandBoundsLTR(height, bounds);\n\n bounds.forEach(function (b) {\n var i = b.index;\n expanded[i].top = b.x1New;\n expanded[i].bottom = b.x2New;\n });\n return expanded;\n }\n\n function expandBoundsLTR(width, bounds) {\n // Sorting by x1 coordinate and walk by the bounds in the same order.\n bounds.sort(function (a, b) {\n return a.x1 - b.x1 || a.index - b.index;\n });\n\n // First we see on the horizon is a fake boundary.\n var fakeBoundary = {\n x1: -Infinity,\n y1: -Infinity,\n x2: 0,\n y2: Infinity,\n index: -1,\n x1New: 0,\n x2New: 0,\n };\n var horizon = [\n {\n start: -Infinity,\n end: Infinity,\n boundary: fakeBoundary,\n },\n ];\n\n bounds.forEach(function (boundary) {\n // Searching for the affected part of horizon.\n // TODO red-black tree or simple binary search\n var i = 0;\n while (i < horizon.length && horizon[i].end <= boundary.y1) {\n i++;\n }\n var j = horizon.length - 1;\n while (j >= 0 && horizon[j].start >= boundary.y2) {\n j--;\n }\n\n var horizonPart, affectedBoundary;\n var q,\n k,\n maxXNew = -Infinity;\n for (q = i; q <= j; q++) {\n horizonPart = horizon[q];\n affectedBoundary = horizonPart.boundary;\n var xNew;\n if (affectedBoundary.x2 > boundary.x1) {\n // In the middle of the previous element, new x shall be at the\n // boundary start. Extending if further if the affected boundary\n // placed on top of the current one.\n xNew =\n affectedBoundary.index > boundary.index\n ? affectedBoundary.x1New\n : boundary.x1;\n } else if (affectedBoundary.x2New === undefined) {\n // We have some space in between, new x in middle will be a fair\n // choice.\n xNew = (affectedBoundary.x2 + boundary.x1) / 2;\n } else {\n // Affected boundary has x2new set, using it as new x.\n xNew = affectedBoundary.x2New;\n }\n if (xNew > maxXNew) {\n maxXNew = xNew;\n }\n }\n\n // Set new x1 for current boundary.\n boundary.x1New = maxXNew;\n\n // Adjusts new x2 for the affected boundaries.\n for (q = i; q <= j; q++) {\n horizonPart = horizon[q];\n affectedBoundary = horizonPart.boundary;\n if (affectedBoundary.x2New === undefined) {\n // Was not set yet, choosing new x if possible.\n if (affectedBoundary.x2 > boundary.x1) {\n // Current and affected boundaries intersect. If affected boundary\n // is placed on top of the current, shrinking the affected.\n if (affectedBoundary.index > boundary.index) {\n affectedBoundary.x2New = affectedBoundary.x2;\n }\n } else {\n affectedBoundary.x2New = maxXNew;\n }\n } else if (affectedBoundary.x2New > maxXNew) {\n // Affected boundary is touching new x, pushing it back.\n affectedBoundary.x2New = Math.max(maxXNew, affectedBoundary.x2);\n }\n }\n\n // Fixing the horizon.\n var changedHorizon = [],\n lastBoundary = null;\n for (q = i; q <= j; q++) {\n horizonPart = horizon[q];\n affectedBoundary = horizonPart.boundary;\n // Checking which boundary will be visible.\n var useBoundary =\n affectedBoundary.x2 > boundary.x2 ? affectedBoundary : boundary;\n if (lastBoundary === useBoundary) {\n // Merging with previous.\n changedHorizon[changedHorizon.length - 1].end = horizonPart.end;\n } else {\n changedHorizon.push({\n start: horizonPart.start,\n end: horizonPart.end,\n boundary: useBoundary,\n });\n lastBoundary = useBoundary;\n }\n }\n if (horizon[i].start < boundary.y1) {\n changedHorizon[0].start = boundary.y1;\n changedHorizon.unshift({\n start: horizon[i].start,\n end: boundary.y1,\n boundary: horizon[i].boundary,\n });\n }\n if (boundary.y2 < horizon[j].end) {\n changedHorizon[changedHorizon.length - 1].end = boundary.y2;\n changedHorizon.push({\n start: boundary.y2,\n end: horizon[j].end,\n boundary: horizon[j].boundary,\n });\n }\n\n // Set x2 new of boundary that is no longer visible (see overlapping case\n // above).\n // TODO more efficient, e.g. via reference counting.\n for (q = i; q <= j; q++) {\n horizonPart = horizon[q];\n affectedBoundary = horizonPart.boundary;\n if (affectedBoundary.x2New !== undefined) {\n continue;\n }\n var used = false;\n for (\n k = i - 1;\n !used && k >= 0 && horizon[k].start >= affectedBoundary.y1;\n k--\n ) {\n used = horizon[k].boundary === affectedBoundary;\n }\n for (\n k = j + 1;\n !used && k < horizon.length && horizon[k].end <= affectedBoundary.y2;\n k++\n ) {\n used = horizon[k].boundary === affectedBoundary;\n }\n for (k = 0; !used && k < changedHorizon.length; k++) {\n used = changedHorizon[k].boundary === affectedBoundary;\n }\n if (!used) {\n affectedBoundary.x2New = maxXNew;\n }\n }\n\n Array.prototype.splice.apply(\n horizon,\n [i, j - i + 1].concat(changedHorizon)\n );\n });\n\n // Set new x2 for all unset boundaries.\n horizon.forEach(function (horizonPart) {\n var affectedBoundary = horizonPart.boundary;\n if (affectedBoundary.x2New === undefined) {\n affectedBoundary.x2New = Math.max(width, affectedBoundary.x2);\n }\n });\n }\n\n /**\n * Text layer rendering task.\n *\n * @param {TextContent} textContent\n * @param {HTMLElement} container\n * @param {PageViewport} viewport\n * @param {Array} textDivs\n * @param {boolean} enhanceTextSelection\n * @private\n */\n function TextLayerRenderTask({\n textContent,\n textContentStream,\n container,\n viewport,\n textDivs,\n textContentItemsStr,\n enhanceTextSelection,\n }) {\n this._textContent = textContent;\n this._textContentStream = textContentStream;\n this._container = container;\n this._viewport = viewport;\n this._textDivs = textDivs || [];\n this._textContentItemsStr = textContentItemsStr || [];\n this._enhanceTextSelection = !!enhanceTextSelection;\n this._fontInspectorEnabled = !!(\n globalThis.FontInspector && globalThis.FontInspector.enabled\n );\n\n this._reader = null;\n this._layoutTextLastFontSize = null;\n this._layoutTextLastFontFamily = null;\n this._layoutTextCtx = null;\n this._textDivProperties = new WeakMap();\n this._renderingDone = false;\n this._canceled = false;\n this._capability = createPromiseCapability();\n this._renderTimer = null;\n this._bounds = [];\n\n // Always clean-up the temporary canvas once rendering is no longer pending.\n this._capability.promise\n .finally(() => {\n if (this._layoutTextCtx) {\n // Zeroing the width and height cause Firefox to release graphics\n // resources immediately, which can greatly reduce memory consumption.\n this._layoutTextCtx.canvas.width = 0;\n this._layoutTextCtx.canvas.height = 0;\n this._layoutTextCtx = null;\n }\n })\n .catch(() => {\n /* Avoid \"Uncaught promise\" messages in the console. */\n });\n }\n TextLayerRenderTask.prototype = {\n get promise() {\n return this._capability.promise;\n },\n\n cancel: function TextLayer_cancel() {\n this._canceled = true;\n if (this._reader) {\n this._reader.cancel(new AbortException(\"TextLayer task cancelled.\"));\n this._reader = null;\n }\n if (this._renderTimer !== null) {\n clearTimeout(this._renderTimer);\n this._renderTimer = null;\n }\n this._capability.reject(new Error(\"TextLayer task cancelled.\"));\n },\n\n _processItems(items, styleCache) {\n for (let i = 0, len = items.length; i < len; i++) {\n this._textContentItemsStr.push(items[i].str);\n appendText(this, items[i], styleCache);\n }\n },\n\n _layoutText(textDiv) {\n const textDivProperties = this._textDivProperties.get(textDiv);\n if (textDivProperties.isWhitespace) {\n return;\n }\n\n let transform = \"\";\n if (textDivProperties.canvasWidth !== 0) {\n const { fontSize, fontFamily } = textDiv.style;\n\n // Only build font string and set to context if different from last.\n if (\n fontSize !== this._layoutTextLastFontSize ||\n fontFamily !== this._layoutTextLastFontFamily\n ) {\n this._layoutTextCtx.font = `${fontSize} ${fontFamily}`;\n this._layoutTextLastFontSize = fontSize;\n this._layoutTextLastFontFamily = fontFamily;\n }\n // Only measure the width for multi-char text divs, see `appendText`.\n const { width } = this._layoutTextCtx.measureText(textDiv.textContent);\n\n if (width > 0) {\n textDivProperties.scale = textDivProperties.canvasWidth / width;\n transform = `scaleX(${textDivProperties.scale})`;\n }\n }\n if (textDivProperties.angle !== 0) {\n transform = `rotate(${textDivProperties.angle}deg) ${transform}`;\n }\n if (transform.length > 0) {\n if (this._enhanceTextSelection) {\n textDivProperties.originalTransform = transform;\n }\n textDiv.style.transform = transform;\n }\n this._textDivProperties.set(textDiv, textDivProperties);\n this._container.appendChild(textDiv);\n },\n\n _render: function TextLayer_render(timeout) {\n const capability = createPromiseCapability();\n let styleCache = Object.create(null);\n\n // The temporary canvas is used to measure text length in the DOM.\n const canvas = document.createElement(\"canvas\");\n if (\n typeof PDFJSDev === \"undefined\" ||\n PDFJSDev.test(\"MOZCENTRAL || GENERIC\")\n ) {\n canvas.mozOpaque = true;\n }\n this._layoutTextCtx = canvas.getContext(\"2d\", { alpha: false });\n\n if (this._textContent) {\n const textItems = this._textContent.items;\n const textStyles = this._textContent.styles;\n this._processItems(textItems, textStyles);\n capability.resolve();\n } else if (this._textContentStream) {\n const pump = () => {\n this._reader.read().then(({ value, done }) => {\n if (done) {\n capability.resolve();\n return;\n }\n\n Object.assign(styleCache, value.styles);\n this._processItems(value.items, styleCache);\n pump();\n }, capability.reject);\n };\n\n this._reader = this._textContentStream.getReader();\n pump();\n } else {\n throw new Error(\n 'Neither \"textContent\" nor \"textContentStream\"' +\n \" parameters specified.\"\n );\n }\n\n capability.promise.then(() => {\n styleCache = null;\n if (!timeout) {\n // Render right away\n render(this);\n } else {\n // Schedule\n this._renderTimer = setTimeout(() => {\n render(this);\n this._renderTimer = null;\n }, timeout);\n }\n }, this._capability.reject);\n },\n\n expandTextDivs: function TextLayer_expandTextDivs(expandDivs) {\n if (!this._enhanceTextSelection || !this._renderingDone) {\n return;\n }\n if (this._bounds !== null) {\n expand(this);\n this._bounds = null;\n }\n const transformBuf = [],\n paddingBuf = [];\n\n for (var i = 0, ii = this._textDivs.length; i < ii; i++) {\n const div = this._textDivs[i];\n const divProps = this._textDivProperties.get(div);\n\n if (divProps.isWhitespace) {\n continue;\n }\n if (expandDivs) {\n transformBuf.length = 0;\n paddingBuf.length = 0;\n\n if (divProps.originalTransform) {\n transformBuf.push(divProps.originalTransform);\n }\n if (divProps.paddingTop > 0) {\n paddingBuf.push(`${divProps.paddingTop}px`);\n transformBuf.push(`translateY(${-divProps.paddingTop}px)`);\n } else {\n paddingBuf.push(0);\n }\n if (divProps.paddingRight > 0) {\n paddingBuf.push(`${divProps.paddingRight / divProps.scale}px`);\n } else {\n paddingBuf.push(0);\n }\n if (divProps.paddingBottom > 0) {\n paddingBuf.push(`${divProps.paddingBottom}px`);\n } else {\n paddingBuf.push(0);\n }\n if (divProps.paddingLeft > 0) {\n paddingBuf.push(`${divProps.paddingLeft / divProps.scale}px`);\n transformBuf.push(\n `translateX(${-divProps.paddingLeft / divProps.scale}px)`\n );\n } else {\n paddingBuf.push(0);\n }\n\n div.style.padding = paddingBuf.join(\" \");\n if (transformBuf.length) {\n div.style.transform = transformBuf.join(\" \");\n }\n } else {\n div.style.padding = null;\n div.style.transform = divProps.originalTransform;\n }\n }\n },\n };\n\n /**\n * Starts rendering of the text layer.\n *\n * @param {TextLayerRenderParameters} renderParameters\n * @returns {TextLayerRenderTask}\n */\n // eslint-disable-next-line no-shadow\n function renderTextLayer(renderParameters) {\n var task = new TextLayerRenderTask({\n textContent: renderParameters.textContent,\n textContentStream: renderParameters.textContentStream,\n container: renderParameters.container,\n viewport: renderParameters.viewport,\n textDivs: renderParameters.textDivs,\n textContentItemsStr: renderParameters.textContentItemsStr,\n enhanceTextSelection: renderParameters.enhanceTextSelection,\n });\n task._render(renderParameters.timeout);\n return task;\n }\n\n return renderTextLayer;\n})();\n\nexport { renderTextLayer };\n","/* Copyright 2012 Mozilla Foundation\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n/* globals __non_webpack_require__ */\n/* eslint no-var: error */\n\nimport {\n createObjectURL,\n FONT_IDENTITY_MATRIX,\n IDENTITY_MATRIX,\n ImageKind,\n isNum,\n OPS,\n TextRenderingMode,\n Util,\n warn,\n} from \"../shared/util.js\";\nimport { DOMSVGFactory } from \"./display_utils.js\";\nimport { isNodeJS } from \"../shared/is_node.js\";\n\nlet SVGGraphics = function () {\n throw new Error(\"Not implemented: SVGGraphics\");\n};\n\nif (typeof PDFJSDev === \"undefined\" || PDFJSDev.test(\"GENERIC\")) {\n const SVG_DEFAULTS = {\n fontStyle: \"normal\",\n fontWeight: \"normal\",\n fillColor: \"#000000\",\n };\n const XML_NS = \"http://www.w3.org/XML/1998/namespace\";\n const XLINK_NS = \"http://www.w3.org/1999/xlink\";\n const LINE_CAP_STYLES = [\"butt\", \"round\", \"square\"];\n const LINE_JOIN_STYLES = [\"miter\", \"round\", \"bevel\"];\n\n const convertImgDataToPng = (function () {\n const PNG_HEADER = new Uint8Array([\n 0x89,\n 0x50,\n 0x4e,\n 0x47,\n 0x0d,\n 0x0a,\n 0x1a,\n 0x0a,\n ]);\n const CHUNK_WRAPPER_SIZE = 12;\n\n const crcTable = new Int32Array(256);\n for (let i = 0; i < 256; i++) {\n let c = i;\n for (let h = 0; h < 8; h++) {\n if (c & 1) {\n c = 0xedb88320 ^ ((c >> 1) & 0x7fffffff);\n } else {\n c = (c >> 1) & 0x7fffffff;\n }\n }\n crcTable[i] = c;\n }\n\n function crc32(data, start, end) {\n let crc = -1;\n for (let i = start; i < end; i++) {\n const a = (crc ^ data[i]) & 0xff;\n const b = crcTable[a];\n crc = (crc >>> 8) ^ b;\n }\n return crc ^ -1;\n }\n\n function writePngChunk(type, body, data, offset) {\n let p = offset;\n const len = body.length;\n\n data[p] = (len >> 24) & 0xff;\n data[p + 1] = (len >> 16) & 0xff;\n data[p + 2] = (len >> 8) & 0xff;\n data[p + 3] = len & 0xff;\n p += 4;\n\n data[p] = type.charCodeAt(0) & 0xff;\n data[p + 1] = type.charCodeAt(1) & 0xff;\n data[p + 2] = type.charCodeAt(2) & 0xff;\n data[p + 3] = type.charCodeAt(3) & 0xff;\n p += 4;\n\n data.set(body, p);\n p += body.length;\n\n const crc = crc32(data, offset + 4, p);\n data[p] = (crc >> 24) & 0xff;\n data[p + 1] = (crc >> 16) & 0xff;\n data[p + 2] = (crc >> 8) & 0xff;\n data[p + 3] = crc & 0xff;\n }\n\n function adler32(data, start, end) {\n let a = 1;\n let b = 0;\n for (let i = start; i < end; ++i) {\n a = (a + (data[i] & 0xff)) % 65521;\n b = (b + a) % 65521;\n }\n return (b << 16) | a;\n }\n\n /**\n * @param {Uint8Array} literals The input data.\n * @returns {Uint8Array} The DEFLATE-compressed data stream in zlib format.\n * This is the required format for compressed streams in the PNG format:\n * http://www.libpng.org/pub/png/spec/1.2/PNG-Compression.html\n */\n function deflateSync(literals) {\n if (!isNodeJS) {\n // zlib is certainly not available outside of Node.js. We can either use\n // the pako library for client-side DEFLATE compression, or use the\n // canvas API of the browser to obtain a more optimal PNG file.\n return deflateSyncUncompressed(literals);\n }\n try {\n // NOTE: This implementation is far from perfect, but already way better\n // than not applying any compression.\n //\n // A better algorithm will try to choose a good predictor/filter and\n // then choose a suitable zlib compression strategy (e.g. 3,Z_RLE).\n //\n // Node v0.11.12 zlib.deflateSync is introduced (and returns a Buffer).\n // Node v3.0.0 Buffer inherits from Uint8Array.\n // Node v8.0.0 zlib.deflateSync accepts Uint8Array as input.\n let input;\n // eslint-disable-next-line no-undef\n if (parseInt(process.versions.node) >= 8) {\n input = literals;\n } else {\n // eslint-disable-next-line no-undef\n input = Buffer.from(literals);\n }\n const output = __non_webpack_require__(\"zlib\").deflateSync(input, {\n level: 9,\n });\n return output instanceof Uint8Array ? output : new Uint8Array(output);\n } catch (e) {\n warn(\n \"Not compressing PNG because zlib.deflateSync is unavailable: \" + e\n );\n }\n\n return deflateSyncUncompressed(literals);\n }\n\n // An implementation of DEFLATE with compression level 0 (Z_NO_COMPRESSION).\n function deflateSyncUncompressed(literals) {\n let len = literals.length;\n const maxBlockLength = 0xffff;\n\n const deflateBlocks = Math.ceil(len / maxBlockLength);\n const idat = new Uint8Array(2 + len + deflateBlocks * 5 + 4);\n let pi = 0;\n idat[pi++] = 0x78; // compression method and flags\n idat[pi++] = 0x9c; // flags\n\n let pos = 0;\n while (len > maxBlockLength) {\n // writing non-final DEFLATE blocks type 0 and length of 65535\n idat[pi++] = 0x00;\n idat[pi++] = 0xff;\n idat[pi++] = 0xff;\n idat[pi++] = 0x00;\n idat[pi++] = 0x00;\n idat.set(literals.subarray(pos, pos + maxBlockLength), pi);\n pi += maxBlockLength;\n pos += maxBlockLength;\n len -= maxBlockLength;\n }\n\n // writing non-final DEFLATE blocks type 0\n idat[pi++] = 0x01;\n idat[pi++] = len & 0xff;\n idat[pi++] = (len >> 8) & 0xff;\n idat[pi++] = ~len & 0xffff & 0xff;\n idat[pi++] = ((~len & 0xffff) >> 8) & 0xff;\n idat.set(literals.subarray(pos), pi);\n pi += literals.length - pos;\n\n const adler = adler32(literals, 0, literals.length); // checksum\n idat[pi++] = (adler >> 24) & 0xff;\n idat[pi++] = (adler >> 16) & 0xff;\n idat[pi++] = (adler >> 8) & 0xff;\n idat[pi++] = adler & 0xff;\n return idat;\n }\n\n function encode(imgData, kind, forceDataSchema, isMask) {\n const width = imgData.width;\n const height = imgData.height;\n let bitDepth, colorType, lineSize;\n const bytes = imgData.data;\n\n switch (kind) {\n case ImageKind.GRAYSCALE_1BPP:\n colorType = 0;\n bitDepth = 1;\n lineSize = (width + 7) >> 3;\n break;\n case ImageKind.RGB_24BPP:\n colorType = 2;\n bitDepth = 8;\n lineSize = width * 3;\n break;\n case ImageKind.RGBA_32BPP:\n colorType = 6;\n bitDepth = 8;\n lineSize = width * 4;\n break;\n default:\n throw new Error(\"invalid format\");\n }\n\n // prefix every row with predictor 0\n const literals = new Uint8Array((1 + lineSize) * height);\n let offsetLiterals = 0,\n offsetBytes = 0;\n for (let y = 0; y < height; ++y) {\n literals[offsetLiterals++] = 0; // no prediction\n literals.set(\n bytes.subarray(offsetBytes, offsetBytes + lineSize),\n offsetLiterals\n );\n offsetBytes += lineSize;\n offsetLiterals += lineSize;\n }\n\n if (kind === ImageKind.GRAYSCALE_1BPP && isMask) {\n // inverting for image masks\n offsetLiterals = 0;\n for (let y = 0; y < height; y++) {\n offsetLiterals++; // skipping predictor\n for (let i = 0; i < lineSize; i++) {\n literals[offsetLiterals++] ^= 0xff;\n }\n }\n }\n\n const ihdr = new Uint8Array([\n (width >> 24) & 0xff,\n (width >> 16) & 0xff,\n (width >> 8) & 0xff,\n width & 0xff,\n (height >> 24) & 0xff,\n (height >> 16) & 0xff,\n (height >> 8) & 0xff,\n height & 0xff,\n bitDepth, // bit depth\n colorType, // color type\n 0x00, // compression method\n 0x00, // filter method\n 0x00, // interlace method\n ]);\n const idat = deflateSync(literals);\n\n // PNG consists of: header, IHDR+data, IDAT+data, and IEND.\n const pngLength =\n PNG_HEADER.length + CHUNK_WRAPPER_SIZE * 3 + ihdr.length + idat.length;\n const data = new Uint8Array(pngLength);\n let offset = 0;\n data.set(PNG_HEADER, offset);\n offset += PNG_HEADER.length;\n writePngChunk(\"IHDR\", ihdr, data, offset);\n offset += CHUNK_WRAPPER_SIZE + ihdr.length;\n writePngChunk(\"IDATA\", idat, data, offset);\n offset += CHUNK_WRAPPER_SIZE + idat.length;\n writePngChunk(\"IEND\", new Uint8Array(0), data, offset);\n\n return createObjectURL(data, \"image/png\", forceDataSchema);\n }\n\n // eslint-disable-next-line no-shadow\n return function convertImgDataToPng(imgData, forceDataSchema, isMask) {\n const kind =\n imgData.kind === undefined ? ImageKind.GRAYSCALE_1BPP : imgData.kind;\n return encode(imgData, kind, forceDataSchema, isMask);\n };\n })();\n\n class SVGExtraState {\n constructor() {\n this.fontSizeScale = 1;\n this.fontWeight = SVG_DEFAULTS.fontWeight;\n this.fontSize = 0;\n\n this.textMatrix = IDENTITY_MATRIX;\n this.fontMatrix = FONT_IDENTITY_MATRIX;\n this.leading = 0;\n this.textRenderingMode = TextRenderingMode.FILL;\n this.textMatrixScale = 1;\n\n // Current point (in user coordinates)\n this.x = 0;\n this.y = 0;\n\n // Start of text line (in text coordinates)\n this.lineX = 0;\n this.lineY = 0;\n\n // Character and word spacing\n this.charSpacing = 0;\n this.wordSpacing = 0;\n this.textHScale = 1;\n this.textRise = 0;\n\n // Default foreground and background colors\n this.fillColor = SVG_DEFAULTS.fillColor;\n this.strokeColor = \"#000000\";\n\n this.fillAlpha = 1;\n this.strokeAlpha = 1;\n this.lineWidth = 1;\n this.lineJoin = \"\";\n this.lineCap = \"\";\n this.miterLimit = 0;\n\n this.dashArray = [];\n this.dashPhase = 0;\n\n this.dependencies = [];\n\n // Clipping\n this.activeClipUrl = null;\n this.clipGroup = null;\n\n this.maskId = \"\";\n }\n\n clone() {\n return Object.create(this);\n }\n\n setCurrentPoint(x, y) {\n this.x = x;\n this.y = y;\n }\n }\n\n // eslint-disable-next-line no-inner-declarations\n function opListToTree(opList) {\n let opTree = [];\n const tmp = [];\n\n for (const opListElement of opList) {\n if (opListElement.fn === \"save\") {\n opTree.push({ fnId: 92, fn: \"group\", items: [] });\n tmp.push(opTree);\n opTree = opTree[opTree.length - 1].items;\n continue;\n }\n\n if (opListElement.fn === \"restore\") {\n opTree = tmp.pop();\n } else {\n opTree.push(opListElement);\n }\n }\n return opTree;\n }\n\n /**\n * Format a float number as a string.\n *\n * @param value {number} - The float number to format.\n * @returns {string}\n */\n // eslint-disable-next-line no-inner-declarations\n function pf(value) {\n if (Number.isInteger(value)) {\n return value.toString();\n }\n const s = value.toFixed(10);\n let i = s.length - 1;\n if (s[i] !== \"0\") {\n return s;\n }\n\n // Remove trailing zeros.\n do {\n i--;\n } while (s[i] === \"0\");\n return s.substring(0, s[i] === \".\" ? i : i + 1);\n }\n\n /**\n * Format a transform matrix as a string. The standard rotation, scale and\n * translation matrices are replaced by their shorter forms, and for\n * identity matrices an empty string is returned to save memory.\n *\n * @param m {Array} - The transform matrix to format.\n * @returns {string}\n */\n // eslint-disable-next-line no-inner-declarations\n function pm(m) {\n if (m[4] === 0 && m[5] === 0) {\n if (m[1] === 0 && m[2] === 0) {\n if (m[0] === 1 && m[3] === 1) {\n return \"\";\n }\n return `scale(${pf(m[0])} ${pf(m[3])})`;\n }\n if (m[0] === m[3] && m[1] === -m[2]) {\n const a = (Math.acos(m[0]) * 180) / Math.PI;\n return `rotate(${pf(a)})`;\n }\n } else {\n if (m[0] === 1 && m[1] === 0 && m[2] === 0 && m[3] === 1) {\n return `translate(${pf(m[4])} ${pf(m[5])})`;\n }\n }\n return (\n `matrix(${pf(m[0])} ${pf(m[1])} ${pf(m[2])} ${pf(m[3])} ${pf(m[4])} ` +\n `${pf(m[5])})`\n );\n }\n\n // The counts below are relevant for all pages, so they have to be global\n // instead of being members of `SVGGraphics` (which is recreated for\n // each page).\n let clipCount = 0;\n let maskCount = 0;\n let shadingCount = 0;\n\n // eslint-disable-next-line no-shadow\n SVGGraphics = class SVGGraphics {\n constructor(commonObjs, objs, forceDataSchema = false) {\n this.svgFactory = new DOMSVGFactory();\n\n this.current = new SVGExtraState();\n this.transformMatrix = IDENTITY_MATRIX; // Graphics state matrix\n this.transformStack = [];\n this.extraStack = [];\n this.commonObjs = commonObjs;\n this.objs = objs;\n this.pendingClip = null;\n this.pendingEOFill = false;\n\n this.embedFonts = false;\n this.embeddedFonts = Object.create(null);\n this.cssStyle = null;\n this.forceDataSchema = !!forceDataSchema;\n\n // In `src/shared/util.js` the operator names are mapped to IDs.\n // The list below represents the reverse of that, i.e., it maps IDs\n // to operator names.\n this._operatorIdMapping = [];\n for (const op in OPS) {\n this._operatorIdMapping[OPS[op]] = op;\n }\n }\n\n save() {\n this.transformStack.push(this.transformMatrix);\n const old = this.current;\n this.extraStack.push(old);\n this.current = old.clone();\n }\n\n restore() {\n this.transformMatrix = this.transformStack.pop();\n this.current = this.extraStack.pop();\n this.pendingClip = null;\n this.tgrp = null;\n }\n\n group(items) {\n this.save();\n this.executeOpTree(items);\n this.restore();\n }\n\n loadDependencies(operatorList) {\n const fnArray = operatorList.fnArray;\n const argsArray = operatorList.argsArray;\n\n for (let i = 0, ii = fnArray.length; i < ii; i++) {\n if (fnArray[i] !== OPS.dependency) {\n continue;\n }\n\n for (const obj of argsArray[i]) {\n const objsPool = obj.startsWith(\"g_\") ? this.commonObjs : this.objs;\n const promise = new Promise(resolve => {\n objsPool.get(obj, resolve);\n });\n this.current.dependencies.push(promise);\n }\n }\n return Promise.all(this.current.dependencies);\n }\n\n transform(a, b, c, d, e, f) {\n const transformMatrix = [a, b, c, d, e, f];\n this.transformMatrix = Util.transform(\n this.transformMatrix,\n transformMatrix\n );\n this.tgrp = null;\n }\n\n getSVG(operatorList, viewport) {\n this.viewport = viewport;\n\n const svgElement = this._initialize(viewport);\n return this.loadDependencies(operatorList).then(() => {\n this.transformMatrix = IDENTITY_MATRIX;\n this.executeOpTree(this.convertOpList(operatorList));\n return svgElement;\n });\n }\n\n convertOpList(operatorList) {\n const operatorIdMapping = this._operatorIdMapping;\n const argsArray = operatorList.argsArray;\n const fnArray = operatorList.fnArray;\n const opList = [];\n for (let i = 0, ii = fnArray.length; i < ii; i++) {\n const fnId = fnArray[i];\n opList.push({\n fnId,\n fn: operatorIdMapping[fnId],\n args: argsArray[i],\n });\n }\n return opListToTree(opList);\n }\n\n executeOpTree(opTree) {\n for (const opTreeElement of opTree) {\n const fn = opTreeElement.fn;\n const fnId = opTreeElement.fnId;\n const args = opTreeElement.args;\n\n switch (fnId | 0) {\n case OPS.beginText:\n this.beginText();\n break;\n case OPS.dependency:\n // Handled in `loadDependencies`, so no warning should be shown.\n break;\n case OPS.setLeading:\n this.setLeading(args);\n break;\n case OPS.setLeadingMoveText:\n this.setLeadingMoveText(args[0], args[1]);\n break;\n case OPS.setFont:\n this.setFont(args);\n break;\n case OPS.showText:\n this.showText(args[0]);\n break;\n case OPS.showSpacedText:\n this.showText(args[0]);\n break;\n case OPS.endText:\n this.endText();\n break;\n case OPS.moveText:\n this.moveText(args[0], args[1]);\n break;\n case OPS.setCharSpacing:\n this.setCharSpacing(args[0]);\n break;\n case OPS.setWordSpacing:\n this.setWordSpacing(args[0]);\n break;\n case OPS.setHScale:\n this.setHScale(args[0]);\n break;\n case OPS.setTextMatrix:\n this.setTextMatrix(\n args[0],\n args[1],\n args[2],\n args[3],\n args[4],\n args[5]\n );\n break;\n case OPS.setTextRise:\n this.setTextRise(args[0]);\n break;\n case OPS.setTextRenderingMode:\n this.setTextRenderingMode(args[0]);\n break;\n case OPS.setLineWidth:\n this.setLineWidth(args[0]);\n break;\n case OPS.setLineJoin:\n this.setLineJoin(args[0]);\n break;\n case OPS.setLineCap:\n this.setLineCap(args[0]);\n break;\n case OPS.setMiterLimit:\n this.setMiterLimit(args[0]);\n break;\n case OPS.setFillRGBColor:\n this.setFillRGBColor(args[0], args[1], args[2]);\n break;\n case OPS.setStrokeRGBColor:\n this.setStrokeRGBColor(args[0], args[1], args[2]);\n break;\n case OPS.setStrokeColorN:\n this.setStrokeColorN(args);\n break;\n case OPS.setFillColorN:\n this.setFillColorN(args);\n break;\n case OPS.shadingFill:\n this.shadingFill(args[0]);\n break;\n case OPS.setDash:\n this.setDash(args[0], args[1]);\n break;\n case OPS.setRenderingIntent:\n this.setRenderingIntent(args[0]);\n break;\n case OPS.setFlatness:\n this.setFlatness(args[0]);\n break;\n case OPS.setGState:\n this.setGState(args[0]);\n break;\n case OPS.fill:\n this.fill();\n break;\n case OPS.eoFill:\n this.eoFill();\n break;\n case OPS.stroke:\n this.stroke();\n break;\n case OPS.fillStroke:\n this.fillStroke();\n break;\n case OPS.eoFillStroke:\n this.eoFillStroke();\n break;\n case OPS.clip:\n this.clip(\"nonzero\");\n break;\n case OPS.eoClip:\n this.clip(\"evenodd\");\n break;\n case OPS.paintSolidColorImageMask:\n this.paintSolidColorImageMask();\n break;\n case OPS.paintImageXObject:\n this.paintImageXObject(args[0]);\n break;\n case OPS.paintInlineImageXObject:\n this.paintInlineImageXObject(args[0]);\n break;\n case OPS.paintImageMaskXObject:\n this.paintImageMaskXObject(args[0]);\n break;\n case OPS.paintFormXObjectBegin:\n this.paintFormXObjectBegin(args[0], args[1]);\n break;\n case OPS.paintFormXObjectEnd:\n this.paintFormXObjectEnd();\n break;\n case OPS.closePath:\n this.closePath();\n break;\n case OPS.closeStroke:\n this.closeStroke();\n break;\n case OPS.closeFillStroke:\n this.closeFillStroke();\n break;\n case OPS.closeEOFillStroke:\n this.closeEOFillStroke();\n break;\n case OPS.nextLine:\n this.nextLine();\n break;\n case OPS.transform:\n this.transform(\n args[0],\n args[1],\n args[2],\n args[3],\n args[4],\n args[5]\n );\n break;\n case OPS.constructPath:\n this.constructPath(args[0], args[1]);\n break;\n case OPS.endPath:\n this.endPath();\n break;\n case 92:\n this.group(opTreeElement.items);\n break;\n default:\n warn(`Unimplemented operator ${fn}`);\n break;\n }\n }\n }\n\n setWordSpacing(wordSpacing) {\n this.current.wordSpacing = wordSpacing;\n }\n\n setCharSpacing(charSpacing) {\n this.current.charSpacing = charSpacing;\n }\n\n nextLine() {\n this.moveText(0, this.current.leading);\n }\n\n setTextMatrix(a, b, c, d, e, f) {\n const current = this.current;\n current.textMatrix = current.lineMatrix = [a, b, c, d, e, f];\n current.textMatrixScale = Math.sqrt(a * a + b * b);\n\n current.x = current.lineX = 0;\n current.y = current.lineY = 0;\n\n current.xcoords = [];\n current.ycoords = [];\n current.tspan = this.svgFactory.createElement(\"svg:tspan\");\n current.tspan.setAttributeNS(null, \"font-family\", current.fontFamily);\n current.tspan.setAttributeNS(\n null,\n \"font-size\",\n `${pf(current.fontSize)}px`\n );\n current.tspan.setAttributeNS(null, \"y\", pf(-current.y));\n\n current.txtElement = this.svgFactory.createElement(\"svg:text\");\n current.txtElement.appendChild(current.tspan);\n }\n\n beginText() {\n const current = this.current;\n current.x = current.lineX = 0;\n current.y = current.lineY = 0;\n current.textMatrix = IDENTITY_MATRIX;\n current.lineMatrix = IDENTITY_MATRIX;\n current.textMatrixScale = 1;\n current.tspan = this.svgFactory.createElement(\"svg:tspan\");\n current.txtElement = this.svgFactory.createElement(\"svg:text\");\n current.txtgrp = this.svgFactory.createElement(\"svg:g\");\n current.xcoords = [];\n current.ycoords = [];\n }\n\n moveText(x, y) {\n const current = this.current;\n current.x = current.lineX += x;\n current.y = current.lineY += y;\n\n current.xcoords = [];\n current.ycoords = [];\n current.tspan = this.svgFactory.createElement(\"svg:tspan\");\n current.tspan.setAttributeNS(null, \"font-family\", current.fontFamily);\n current.tspan.setAttributeNS(\n null,\n \"font-size\",\n `${pf(current.fontSize)}px`\n );\n current.tspan.setAttributeNS(null, \"y\", pf(-current.y));\n }\n\n showText(glyphs) {\n const current = this.current;\n const font = current.font;\n const fontSize = current.fontSize;\n if (fontSize === 0) {\n return;\n }\n\n const fontSizeScale = current.fontSizeScale;\n const charSpacing = current.charSpacing;\n const wordSpacing = current.wordSpacing;\n const fontDirection = current.fontDirection;\n const textHScale = current.textHScale * fontDirection;\n const vertical = font.vertical;\n const spacingDir = vertical ? 1 : -1;\n const defaultVMetrics = font.defaultVMetrics;\n const widthAdvanceScale = fontSize * current.fontMatrix[0];\n\n let x = 0;\n for (const glyph of glyphs) {\n if (glyph === null) {\n // Word break\n x += fontDirection * wordSpacing;\n continue;\n } else if (isNum(glyph)) {\n x += (spacingDir * glyph * fontSize) / 1000;\n continue;\n }\n\n const spacing = (glyph.isSpace ? wordSpacing : 0) + charSpacing;\n const character = glyph.fontChar;\n let scaledX, scaledY;\n let width = glyph.width;\n if (vertical) {\n let vx;\n const vmetric = glyph.vmetric || defaultVMetrics;\n vx = glyph.vmetric ? vmetric[1] : width * 0.5;\n vx = -vx * widthAdvanceScale;\n const vy = vmetric[2] * widthAdvanceScale;\n\n width = vmetric ? -vmetric[0] : width;\n scaledX = vx / fontSizeScale;\n scaledY = (x + vy) / fontSizeScale;\n } else {\n scaledX = x / fontSizeScale;\n scaledY = 0;\n }\n\n if (glyph.isInFont || font.missingFile) {\n current.xcoords.push(current.x + scaledX);\n if (vertical) {\n current.ycoords.push(-current.y + scaledY);\n }\n current.tspan.textContent += character;\n } else {\n // TODO: To assist with text selection, we should replace the missing\n // character with a space character if charWidth is not zero.\n // But we cannot just do \"character = ' '\", because the ' ' character\n // might actually map to a different glyph.\n }\n\n let charWidth;\n if (vertical) {\n charWidth = width * widthAdvanceScale - spacing * fontDirection;\n } else {\n charWidth = width * widthAdvanceScale + spacing * fontDirection;\n }\n\n x += charWidth;\n }\n current.tspan.setAttributeNS(\n null,\n \"x\",\n current.xcoords.map(pf).join(\" \")\n );\n if (vertical) {\n current.tspan.setAttributeNS(\n null,\n \"y\",\n current.ycoords.map(pf).join(\" \")\n );\n } else {\n current.tspan.setAttributeNS(null, \"y\", pf(-current.y));\n }\n\n if (vertical) {\n current.y -= x;\n } else {\n current.x += x * textHScale;\n }\n\n current.tspan.setAttributeNS(null, \"font-family\", current.fontFamily);\n current.tspan.setAttributeNS(\n null,\n \"font-size\",\n `${pf(current.fontSize)}px`\n );\n if (current.fontStyle !== SVG_DEFAULTS.fontStyle) {\n current.tspan.setAttributeNS(null, \"font-style\", current.fontStyle);\n }\n if (current.fontWeight !== SVG_DEFAULTS.fontWeight) {\n current.tspan.setAttributeNS(null, \"font-weight\", current.fontWeight);\n }\n\n const fillStrokeMode =\n current.textRenderingMode & TextRenderingMode.FILL_STROKE_MASK;\n if (\n fillStrokeMode === TextRenderingMode.FILL ||\n fillStrokeMode === TextRenderingMode.FILL_STROKE\n ) {\n if (current.fillColor !== SVG_DEFAULTS.fillColor) {\n current.tspan.setAttributeNS(null, \"fill\", current.fillColor);\n }\n if (current.fillAlpha < 1) {\n current.tspan.setAttributeNS(null, \"fill-opacity\", current.fillAlpha);\n }\n } else if (current.textRenderingMode === TextRenderingMode.ADD_TO_PATH) {\n // Workaround for Firefox: We must set fill=\"transparent\" because\n // fill=\"none\" would generate an empty clipping path.\n current.tspan.setAttributeNS(null, \"fill\", \"transparent\");\n } else {\n current.tspan.setAttributeNS(null, \"fill\", \"none\");\n }\n\n if (\n fillStrokeMode === TextRenderingMode.STROKE ||\n fillStrokeMode === TextRenderingMode.FILL_STROKE\n ) {\n const lineWidthScale = 1 / (current.textMatrixScale || 1);\n this._setStrokeAttributes(current.tspan, lineWidthScale);\n }\n\n // Include the text rise in the text matrix since the `pm` function\n // creates the SVG element's `translate` entry (work on a copy to avoid\n // altering the original text matrix).\n let textMatrix = current.textMatrix;\n if (current.textRise !== 0) {\n textMatrix = textMatrix.slice();\n textMatrix[5] += current.textRise;\n }\n\n current.txtElement.setAttributeNS(\n null,\n \"transform\",\n `${pm(textMatrix)} scale(${pf(textHScale)}, -1)`\n );\n current.txtElement.setAttributeNS(XML_NS, \"xml:space\", \"preserve\");\n current.txtElement.appendChild(current.tspan);\n current.txtgrp.appendChild(current.txtElement);\n\n this._ensureTransformGroup().appendChild(current.txtElement);\n }\n\n setLeadingMoveText(x, y) {\n this.setLeading(-y);\n this.moveText(x, y);\n }\n\n addFontStyle(fontObj) {\n if (!fontObj.data) {\n throw new Error(\n \"addFontStyle: No font data available, \" +\n 'ensure that the \"fontExtraProperties\" API parameter is set.'\n );\n }\n if (!this.cssStyle) {\n this.cssStyle = this.svgFactory.createElement(\"svg:style\");\n this.cssStyle.setAttributeNS(null, \"type\", \"text/css\");\n this.defs.appendChild(this.cssStyle);\n }\n\n const url = createObjectURL(\n fontObj.data,\n fontObj.mimetype,\n this.forceDataSchema\n );\n this.cssStyle.textContent +=\n `@font-face { font-family: \"${fontObj.loadedName}\";` +\n ` src: url(${url}); }\\n`;\n }\n\n setFont(details) {\n const current = this.current;\n const fontObj = this.commonObjs.get(details[0]);\n let size = details[1];\n current.font = fontObj;\n\n if (\n this.embedFonts &&\n !fontObj.missingFile &&\n !this.embeddedFonts[fontObj.loadedName]\n ) {\n this.addFontStyle(fontObj);\n this.embeddedFonts[fontObj.loadedName] = fontObj;\n }\n\n current.fontMatrix = fontObj.fontMatrix\n ? fontObj.fontMatrix\n : FONT_IDENTITY_MATRIX;\n\n let bold = \"normal\";\n if (fontObj.black) {\n bold = \"900\";\n } else if (fontObj.bold) {\n bold = \"bold\";\n }\n const italic = fontObj.italic ? \"italic\" : \"normal\";\n\n if (size < 0) {\n size = -size;\n current.fontDirection = -1;\n } else {\n current.fontDirection = 1;\n }\n current.fontSize = size;\n current.fontFamily = fontObj.loadedName;\n current.fontWeight = bold;\n current.fontStyle = italic;\n\n current.tspan = this.svgFactory.createElement(\"svg:tspan\");\n current.tspan.setAttributeNS(null, \"y\", pf(-current.y));\n current.xcoords = [];\n current.ycoords = [];\n }\n\n endText() {\n const current = this.current;\n if (\n current.textRenderingMode & TextRenderingMode.ADD_TO_PATH_FLAG &&\n current.txtElement &&\n current.txtElement.hasChildNodes()\n ) {\n // If no glyphs are shown (i.e. no child nodes), no clipping occurs.\n current.element = current.txtElement;\n this.clip(\"nonzero\");\n this.endPath();\n }\n }\n\n // Path properties\n setLineWidth(width) {\n if (width > 0) {\n this.current.lineWidth = width;\n }\n }\n\n setLineCap(style) {\n this.current.lineCap = LINE_CAP_STYLES[style];\n }\n\n setLineJoin(style) {\n this.current.lineJoin = LINE_JOIN_STYLES[style];\n }\n\n setMiterLimit(limit) {\n this.current.miterLimit = limit;\n }\n\n setStrokeAlpha(strokeAlpha) {\n this.current.strokeAlpha = strokeAlpha;\n }\n\n setStrokeRGBColor(r, g, b) {\n this.current.strokeColor = Util.makeCssRgb(r, g, b);\n }\n\n setFillAlpha(fillAlpha) {\n this.current.fillAlpha = fillAlpha;\n }\n\n setFillRGBColor(r, g, b) {\n this.current.fillColor = Util.makeCssRgb(r, g, b);\n this.current.tspan = this.svgFactory.createElement(\"svg:tspan\");\n this.current.xcoords = [];\n this.current.ycoords = [];\n }\n\n setStrokeColorN(args) {\n this.current.strokeColor = this._makeColorN_Pattern(args);\n }\n\n setFillColorN(args) {\n this.current.fillColor = this._makeColorN_Pattern(args);\n }\n\n shadingFill(args) {\n const width = this.viewport.width;\n const height = this.viewport.height;\n const inv = Util.inverseTransform(this.transformMatrix);\n const bl = Util.applyTransform([0, 0], inv);\n const br = Util.applyTransform([0, height], inv);\n const ul = Util.applyTransform([width, 0], inv);\n const ur = Util.applyTransform([width, height], inv);\n const x0 = Math.min(bl[0], br[0], ul[0], ur[0]);\n const y0 = Math.min(bl[1], br[1], ul[1], ur[1]);\n const x1 = Math.max(bl[0], br[0], ul[0], ur[0]);\n const y1 = Math.max(bl[1], br[1], ul[1], ur[1]);\n\n const rect = this.svgFactory.createElement(\"svg:rect\");\n rect.setAttributeNS(null, \"x\", x0);\n rect.setAttributeNS(null, \"y\", y0);\n rect.setAttributeNS(null, \"width\", x1 - x0);\n rect.setAttributeNS(null, \"height\", y1 - y0);\n rect.setAttributeNS(null, \"fill\", this._makeShadingPattern(args));\n if (this.current.fillAlpha < 1) {\n rect.setAttributeNS(null, \"fill-opacity\", this.current.fillAlpha);\n }\n this._ensureTransformGroup().appendChild(rect);\n }\n\n /**\n * @private\n */\n _makeColorN_Pattern(args) {\n if (args[0] === \"TilingPattern\") {\n return this._makeTilingPattern(args);\n }\n return this._makeShadingPattern(args);\n }\n\n /**\n * @private\n */\n _makeTilingPattern(args) {\n const color = args[1];\n const operatorList = args[2];\n const matrix = args[3] || IDENTITY_MATRIX;\n const [x0, y0, x1, y1] = args[4];\n const xstep = args[5];\n const ystep = args[6];\n const paintType = args[7];\n\n const tilingId = `shading${shadingCount++}`;\n const [tx0, ty0] = Util.applyTransform([x0, y0], matrix);\n const [tx1, ty1] = Util.applyTransform([x1, y1], matrix);\n const [xscale, yscale] = Util.singularValueDecompose2dScale(matrix);\n const txstep = xstep * xscale;\n const tystep = ystep * yscale;\n\n const tiling = this.svgFactory.createElement(\"svg:pattern\");\n tiling.setAttributeNS(null, \"id\", tilingId);\n tiling.setAttributeNS(null, \"patternUnits\", \"userSpaceOnUse\");\n tiling.setAttributeNS(null, \"width\", txstep);\n tiling.setAttributeNS(null, \"height\", tystep);\n tiling.setAttributeNS(null, \"x\", `${tx0}`);\n tiling.setAttributeNS(null, \"y\", `${ty0}`);\n\n // Save current state.\n const svg = this.svg;\n const transformMatrix = this.transformMatrix;\n const fillColor = this.current.fillColor;\n const strokeColor = this.current.strokeColor;\n\n const bbox = this.svgFactory.create(tx1 - tx0, ty1 - ty0);\n this.svg = bbox;\n this.transformMatrix = matrix;\n if (paintType === 2) {\n const cssColor = Util.makeCssRgb(...color);\n this.current.fillColor = cssColor;\n this.current.strokeColor = cssColor;\n }\n this.executeOpTree(this.convertOpList(operatorList));\n\n // Restore saved state.\n this.svg = svg;\n this.transformMatrix = transformMatrix;\n this.current.fillColor = fillColor;\n this.current.strokeColor = strokeColor;\n\n tiling.appendChild(bbox.childNodes[0]);\n this.defs.appendChild(tiling);\n return `url(#${tilingId})`;\n }\n\n /**\n * @private\n */\n _makeShadingPattern(args) {\n switch (args[0]) {\n case \"RadialAxial\":\n const shadingId = `shading${shadingCount++}`;\n const colorStops = args[3];\n let gradient;\n\n switch (args[1]) {\n case \"axial\":\n const point0 = args[4];\n const point1 = args[5];\n gradient = this.svgFactory.createElement(\"svg:linearGradient\");\n gradient.setAttributeNS(null, \"id\", shadingId);\n gradient.setAttributeNS(null, \"gradientUnits\", \"userSpaceOnUse\");\n gradient.setAttributeNS(null, \"x1\", point0[0]);\n gradient.setAttributeNS(null, \"y1\", point0[1]);\n gradient.setAttributeNS(null, \"x2\", point1[0]);\n gradient.setAttributeNS(null, \"y2\", point1[1]);\n break;\n case \"radial\":\n const focalPoint = args[4];\n const circlePoint = args[5];\n const focalRadius = args[6];\n const circleRadius = args[7];\n gradient = this.svgFactory.createElement(\"svg:radialGradient\");\n gradient.setAttributeNS(null, \"id\", shadingId);\n gradient.setAttributeNS(null, \"gradientUnits\", \"userSpaceOnUse\");\n gradient.setAttributeNS(null, \"cx\", circlePoint[0]);\n gradient.setAttributeNS(null, \"cy\", circlePoint[1]);\n gradient.setAttributeNS(null, \"r\", circleRadius);\n gradient.setAttributeNS(null, \"fx\", focalPoint[0]);\n gradient.setAttributeNS(null, \"fy\", focalPoint[1]);\n gradient.setAttributeNS(null, \"fr\", focalRadius);\n break;\n default:\n throw new Error(`Unknown RadialAxial type: ${args[1]}`);\n }\n for (const colorStop of colorStops) {\n const stop = this.svgFactory.createElement(\"svg:stop\");\n stop.setAttributeNS(null, \"offset\", colorStop[0]);\n stop.setAttributeNS(null, \"stop-color\", colorStop[1]);\n gradient.appendChild(stop);\n }\n this.defs.appendChild(gradient);\n return `url(#${shadingId})`;\n case \"Mesh\":\n warn(\"Unimplemented pattern Mesh\");\n return null;\n case \"Dummy\":\n return \"hotpink\";\n default:\n throw new Error(`Unknown IR type: ${args[0]}`);\n }\n }\n\n setDash(dashArray, dashPhase) {\n this.current.dashArray = dashArray;\n this.current.dashPhase = dashPhase;\n }\n\n constructPath(ops, args) {\n const current = this.current;\n let x = current.x,\n y = current.y;\n let d = [];\n let j = 0;\n\n for (const op of ops) {\n switch (op | 0) {\n case OPS.rectangle:\n x = args[j++];\n y = args[j++];\n const width = args[j++];\n const height = args[j++];\n const xw = x + width;\n const yh = y + height;\n d.push(\n \"M\",\n pf(x),\n pf(y),\n \"L\",\n pf(xw),\n pf(y),\n \"L\",\n pf(xw),\n pf(yh),\n \"L\",\n pf(x),\n pf(yh),\n \"Z\"\n );\n break;\n case OPS.moveTo:\n x = args[j++];\n y = args[j++];\n d.push(\"M\", pf(x), pf(y));\n break;\n case OPS.lineTo:\n x = args[j++];\n y = args[j++];\n d.push(\"L\", pf(x), pf(y));\n break;\n case OPS.curveTo:\n x = args[j + 4];\n y = args[j + 5];\n d.push(\n \"C\",\n pf(args[j]),\n pf(args[j + 1]),\n pf(args[j + 2]),\n pf(args[j + 3]),\n pf(x),\n pf(y)\n );\n j += 6;\n break;\n case OPS.curveTo2:\n d.push(\n \"C\",\n pf(x),\n pf(y),\n pf(args[j]),\n pf(args[j + 1]),\n pf(args[j + 2]),\n pf(args[j + 3])\n );\n x = args[j + 2];\n y = args[j + 3];\n j += 4;\n break;\n case OPS.curveTo3:\n x = args[j + 2];\n y = args[j + 3];\n d.push(\n \"C\",\n pf(args[j]),\n pf(args[j + 1]),\n pf(x),\n pf(y),\n pf(x),\n pf(y)\n );\n j += 4;\n break;\n case OPS.closePath:\n d.push(\"Z\");\n break;\n }\n }\n\n d = d.join(\" \");\n\n if (\n current.path &&\n ops.length > 0 &&\n ops[0] !== OPS.rectangle &&\n ops[0] !== OPS.moveTo\n ) {\n // If a path does not start with an OPS.rectangle or OPS.moveTo, it has\n // probably been divided into two OPS.constructPath operators by\n // OperatorList. Append the commands to the previous path element.\n d = current.path.getAttributeNS(null, \"d\") + d;\n } else {\n current.path = this.svgFactory.createElement(\"svg:path\");\n this._ensureTransformGroup().appendChild(current.path);\n }\n\n current.path.setAttributeNS(null, \"d\", d);\n current.path.setAttributeNS(null, \"fill\", \"none\");\n\n // Saving a reference in current.element so that it can be addressed\n // in 'fill' and 'stroke'\n current.element = current.path;\n current.setCurrentPoint(x, y);\n }\n\n endPath() {\n const current = this.current;\n\n // Painting operators end a path.\n current.path = null;\n\n if (!this.pendingClip) {\n return;\n }\n if (!current.element) {\n this.pendingClip = null;\n return;\n }\n\n // Add the current path to a clipping path.\n const clipId = `clippath${clipCount++}`;\n const clipPath = this.svgFactory.createElement(\"svg:clipPath\");\n clipPath.setAttributeNS(null, \"id\", clipId);\n clipPath.setAttributeNS(null, \"transform\", pm(this.transformMatrix));\n\n // A deep clone is needed when text is used as a clipping path.\n const clipElement = current.element.cloneNode(true);\n if (this.pendingClip === \"evenodd\") {\n clipElement.setAttributeNS(null, \"clip-rule\", \"evenodd\");\n } else {\n clipElement.setAttributeNS(null, \"clip-rule\", \"nonzero\");\n }\n this.pendingClip = null;\n clipPath.appendChild(clipElement);\n this.defs.appendChild(clipPath);\n\n if (current.activeClipUrl) {\n // The previous clipping group content can go out of order -- resetting\n // cached clipGroups.\n current.clipGroup = null;\n this.extraStack.forEach(function (prev) {\n prev.clipGroup = null;\n });\n // Intersect with the previous clipping path.\n clipPath.setAttributeNS(null, \"clip-path\", current.activeClipUrl);\n }\n current.activeClipUrl = `url(#${clipId})`;\n\n this.tgrp = null;\n }\n\n clip(type) {\n this.pendingClip = type;\n }\n\n closePath() {\n const current = this.current;\n if (current.path) {\n const d = `${current.path.getAttributeNS(null, \"d\")}Z`;\n current.path.setAttributeNS(null, \"d\", d);\n }\n }\n\n setLeading(leading) {\n this.current.leading = -leading;\n }\n\n setTextRise(textRise) {\n this.current.textRise = textRise;\n }\n\n setTextRenderingMode(textRenderingMode) {\n this.current.textRenderingMode = textRenderingMode;\n }\n\n setHScale(scale) {\n this.current.textHScale = scale / 100;\n }\n\n setRenderingIntent(intent) {\n // This operation is ignored since we haven't found a use case for it yet.\n }\n\n setFlatness(flatness) {\n // This operation is ignored since we haven't found a use case for it yet.\n }\n\n setGState(states) {\n for (const [key, value] of states) {\n switch (key) {\n case \"LW\":\n this.setLineWidth(value);\n break;\n case \"LC\":\n this.setLineCap(value);\n break;\n case \"LJ\":\n this.setLineJoin(value);\n break;\n case \"ML\":\n this.setMiterLimit(value);\n break;\n case \"D\":\n this.setDash(value[0], value[1]);\n break;\n case \"RI\":\n this.setRenderingIntent(value);\n break;\n case \"FL\":\n this.setFlatness(value);\n break;\n case \"Font\":\n this.setFont(value);\n break;\n case \"CA\":\n this.setStrokeAlpha(value);\n break;\n case \"ca\":\n this.setFillAlpha(value);\n break;\n default:\n warn(`Unimplemented graphic state operator ${key}`);\n break;\n }\n }\n }\n\n fill() {\n const current = this.current;\n if (current.element) {\n current.element.setAttributeNS(null, \"fill\", current.fillColor);\n current.element.setAttributeNS(null, \"fill-opacity\", current.fillAlpha);\n this.endPath();\n }\n }\n\n stroke() {\n const current = this.current;\n if (current.element) {\n this._setStrokeAttributes(current.element);\n current.element.setAttributeNS(null, \"fill\", \"none\");\n this.endPath();\n }\n }\n\n /**\n * @private\n */\n _setStrokeAttributes(element, lineWidthScale = 1) {\n const current = this.current;\n let dashArray = current.dashArray;\n if (lineWidthScale !== 1 && dashArray.length > 0) {\n dashArray = dashArray.map(function (value) {\n return lineWidthScale * value;\n });\n }\n element.setAttributeNS(null, \"stroke\", current.strokeColor);\n element.setAttributeNS(null, \"stroke-opacity\", current.strokeAlpha);\n element.setAttributeNS(null, \"stroke-miterlimit\", pf(current.miterLimit));\n element.setAttributeNS(null, \"stroke-linecap\", current.lineCap);\n element.setAttributeNS(null, \"stroke-linejoin\", current.lineJoin);\n element.setAttributeNS(\n null,\n \"stroke-width\",\n pf(lineWidthScale * current.lineWidth) + \"px\"\n );\n element.setAttributeNS(\n null,\n \"stroke-dasharray\",\n dashArray.map(pf).join(\" \")\n );\n element.setAttributeNS(\n null,\n \"stroke-dashoffset\",\n pf(lineWidthScale * current.dashPhase) + \"px\"\n );\n }\n\n eoFill() {\n if (this.current.element) {\n this.current.element.setAttributeNS(null, \"fill-rule\", \"evenodd\");\n }\n this.fill();\n }\n\n fillStroke() {\n // Order is important since stroke wants fill to be none.\n // First stroke, then if fill needed, it will be overwritten.\n this.stroke();\n this.fill();\n }\n\n eoFillStroke() {\n if (this.current.element) {\n this.current.element.setAttributeNS(null, \"fill-rule\", \"evenodd\");\n }\n this.fillStroke();\n }\n\n closeStroke() {\n this.closePath();\n this.stroke();\n }\n\n closeFillStroke() {\n this.closePath();\n this.fillStroke();\n }\n\n closeEOFillStroke() {\n this.closePath();\n this.eoFillStroke();\n }\n\n paintSolidColorImageMask() {\n const rect = this.svgFactory.createElement(\"svg:rect\");\n rect.setAttributeNS(null, \"x\", \"0\");\n rect.setAttributeNS(null, \"y\", \"0\");\n rect.setAttributeNS(null, \"width\", \"1px\");\n rect.setAttributeNS(null, \"height\", \"1px\");\n rect.setAttributeNS(null, \"fill\", this.current.fillColor);\n\n this._ensureTransformGroup().appendChild(rect);\n }\n\n paintImageXObject(objId) {\n const imgData = this.objs.get(objId);\n if (!imgData) {\n warn(`Dependent image with object ID ${objId} is not ready yet`);\n return;\n }\n this.paintInlineImageXObject(imgData);\n }\n\n paintInlineImageXObject(imgData, mask) {\n const width = imgData.width;\n const height = imgData.height;\n\n const imgSrc = convertImgDataToPng(imgData, this.forceDataSchema, !!mask);\n const cliprect = this.svgFactory.createElement(\"svg:rect\");\n cliprect.setAttributeNS(null, \"x\", \"0\");\n cliprect.setAttributeNS(null, \"y\", \"0\");\n cliprect.setAttributeNS(null, \"width\", pf(width));\n cliprect.setAttributeNS(null, \"height\", pf(height));\n this.current.element = cliprect;\n this.clip(\"nonzero\");\n\n const imgEl = this.svgFactory.createElement(\"svg:image\");\n imgEl.setAttributeNS(XLINK_NS, \"xlink:href\", imgSrc);\n imgEl.setAttributeNS(null, \"x\", \"0\");\n imgEl.setAttributeNS(null, \"y\", pf(-height));\n imgEl.setAttributeNS(null, \"width\", pf(width) + \"px\");\n imgEl.setAttributeNS(null, \"height\", pf(height) + \"px\");\n imgEl.setAttributeNS(\n null,\n \"transform\",\n `scale(${pf(1 / width)} ${pf(-1 / height)})`\n );\n if (mask) {\n mask.appendChild(imgEl);\n } else {\n this._ensureTransformGroup().appendChild(imgEl);\n }\n }\n\n paintImageMaskXObject(imgData) {\n const current = this.current;\n const width = imgData.width;\n const height = imgData.height;\n const fillColor = current.fillColor;\n\n current.maskId = `mask${maskCount++}`;\n const mask = this.svgFactory.createElement(\"svg:mask\");\n mask.setAttributeNS(null, \"id\", current.maskId);\n\n const rect = this.svgFactory.createElement(\"svg:rect\");\n rect.setAttributeNS(null, \"x\", \"0\");\n rect.setAttributeNS(null, \"y\", \"0\");\n rect.setAttributeNS(null, \"width\", pf(width));\n rect.setAttributeNS(null, \"height\", pf(height));\n rect.setAttributeNS(null, \"fill\", fillColor);\n rect.setAttributeNS(null, \"mask\", `url(#${current.maskId})`);\n\n this.defs.appendChild(mask);\n this._ensureTransformGroup().appendChild(rect);\n\n this.paintInlineImageXObject(imgData, mask);\n }\n\n paintFormXObjectBegin(matrix, bbox) {\n if (Array.isArray(matrix) && matrix.length === 6) {\n this.transform(\n matrix[0],\n matrix[1],\n matrix[2],\n matrix[3],\n matrix[4],\n matrix[5]\n );\n }\n\n if (bbox) {\n const width = bbox[2] - bbox[0];\n const height = bbox[3] - bbox[1];\n\n const cliprect = this.svgFactory.createElement(\"svg:rect\");\n cliprect.setAttributeNS(null, \"x\", bbox[0]);\n cliprect.setAttributeNS(null, \"y\", bbox[1]);\n cliprect.setAttributeNS(null, \"width\", pf(width));\n cliprect.setAttributeNS(null, \"height\", pf(height));\n this.current.element = cliprect;\n this.clip(\"nonzero\");\n this.endPath();\n }\n }\n\n paintFormXObjectEnd() {}\n\n /**\n * @private\n */\n _initialize(viewport) {\n const svg = this.svgFactory.create(viewport.width, viewport.height);\n\n // Create the definitions element.\n const definitions = this.svgFactory.createElement(\"svg:defs\");\n svg.appendChild(definitions);\n this.defs = definitions;\n\n // Create the root group element, which acts a container for all other\n // groups and applies the viewport transform.\n const rootGroup = this.svgFactory.createElement(\"svg:g\");\n rootGroup.setAttributeNS(null, \"transform\", pm(viewport.transform));\n svg.appendChild(rootGroup);\n\n // For the construction of the SVG image we are only interested in the\n // root group, so we expose it as the entry point of the SVG image for\n // the other code in this class.\n this.svg = rootGroup;\n\n return svg;\n }\n\n /**\n * @private\n */\n _ensureClipGroup() {\n if (!this.current.clipGroup) {\n const clipGroup = this.svgFactory.createElement(\"svg:g\");\n clipGroup.setAttributeNS(null, \"clip-path\", this.current.activeClipUrl);\n this.svg.appendChild(clipGroup);\n this.current.clipGroup = clipGroup;\n }\n return this.current.clipGroup;\n }\n\n /**\n * @private\n */\n _ensureTransformGroup() {\n if (!this.tgrp) {\n this.tgrp = this.svgFactory.createElement(\"svg:g\");\n this.tgrp.setAttributeNS(null, \"transform\", pm(this.transformMatrix));\n if (this.current.activeClipUrl) {\n this._ensureClipGroup().appendChild(this.tgrp);\n } else {\n this.svg.appendChild(this.tgrp);\n }\n }\n return this.tgrp;\n }\n };\n}\n\nexport { SVGGraphics };\n","/* Copyright 2012 Mozilla Foundation\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n/* globals __non_webpack_require__ */\n\nimport {\n AbortException,\n assert,\n createPromiseCapability,\n MissingPDFException,\n} from \"../shared/util.js\";\nimport {\n extractFilenameFromHeader,\n validateRangeRequestCapabilities,\n} from \"./network_utils.js\";\n\nif (typeof PDFJSDev !== \"undefined\" && PDFJSDev.test(\"MOZCENTRAL\")) {\n throw new Error(\n 'Module \"./node_stream.js\" shall not be used with MOZCENTRAL builds.'\n );\n}\n\nconst fs = __non_webpack_require__(\"fs\");\nconst http = __non_webpack_require__(\"http\");\nconst https = __non_webpack_require__(\"https\");\nconst url = __non_webpack_require__(\"url\");\n\nconst fileUriRegex = /^file:\\/\\/\\/[a-zA-Z]:\\//;\n\nfunction parseUrl(sourceUrl) {\n const parsedUrl = url.parse(sourceUrl);\n if (parsedUrl.protocol === \"file:\" || parsedUrl.host) {\n return parsedUrl;\n }\n // Prepending 'file:///' to Windows absolute path.\n if (/^[a-z]:[/\\\\]/i.test(sourceUrl)) {\n return url.parse(`file:///${sourceUrl}`);\n }\n // Changes protocol to 'file:' if url refers to filesystem.\n if (!parsedUrl.host) {\n parsedUrl.protocol = \"file:\";\n }\n return parsedUrl;\n}\n\nclass PDFNodeStream {\n constructor(source) {\n this.source = source;\n this.url = parseUrl(source.url);\n this.isHttp =\n this.url.protocol === \"http:\" || this.url.protocol === \"https:\";\n // Check if url refers to filesystem.\n this.isFsUrl = this.url.protocol === \"file:\";\n this.httpHeaders = (this.isHttp && source.httpHeaders) || {};\n\n this._fullRequestReader = null;\n this._rangeRequestReaders = [];\n }\n\n get _progressiveDataLength() {\n return this._fullRequestReader ? this._fullRequestReader._loaded : 0;\n }\n\n getFullReader() {\n assert(\n !this._fullRequestReader,\n \"PDFNodeStream.getFullReader can only be called once.\"\n );\n this._fullRequestReader = this.isFsUrl\n ? new PDFNodeStreamFsFullReader(this)\n : new PDFNodeStreamFullReader(this);\n return this._fullRequestReader;\n }\n\n getRangeReader(start, end) {\n if (end <= this._progressiveDataLength) {\n return null;\n }\n const rangeReader = this.isFsUrl\n ? new PDFNodeStreamFsRangeReader(this, start, end)\n : new PDFNodeStreamRangeReader(this, start, end);\n this._rangeRequestReaders.push(rangeReader);\n return rangeReader;\n }\n\n cancelAllRequests(reason) {\n if (this._fullRequestReader) {\n this._fullRequestReader.cancel(reason);\n }\n\n const readers = this._rangeRequestReaders.slice(0);\n readers.forEach(function (reader) {\n reader.cancel(reason);\n });\n }\n}\n\nclass BaseFullReader {\n constructor(stream) {\n this._url = stream.url;\n this._done = false;\n this._storedError = null;\n this.onProgress = null;\n const source = stream.source;\n this._contentLength = source.length; // optional\n this._loaded = 0;\n this._filename = null;\n\n this._disableRange = source.disableRange || false;\n this._rangeChunkSize = source.rangeChunkSize;\n if (!this._rangeChunkSize && !this._disableRange) {\n this._disableRange = true;\n }\n\n this._isStreamingSupported = !source.disableStream;\n this._isRangeSupported = !source.disableRange;\n\n this._readableStream = null;\n this._readCapability = createPromiseCapability();\n this._headersCapability = createPromiseCapability();\n }\n\n get headersReady() {\n return this._headersCapability.promise;\n }\n\n get filename() {\n return this._filename;\n }\n\n get contentLength() {\n return this._contentLength;\n }\n\n get isRangeSupported() {\n return this._isRangeSupported;\n }\n\n get isStreamingSupported() {\n return this._isStreamingSupported;\n }\n\n async read() {\n await this._readCapability.promise;\n if (this._done) {\n return { value: undefined, done: true };\n }\n if (this._storedError) {\n throw this._storedError;\n }\n\n const chunk = this._readableStream.read();\n if (chunk === null) {\n this._readCapability = createPromiseCapability();\n return this.read();\n }\n this._loaded += chunk.length;\n if (this.onProgress) {\n this.onProgress({\n loaded: this._loaded,\n total: this._contentLength,\n });\n }\n // Ensure that `read()` method returns ArrayBuffer.\n const buffer = new Uint8Array(chunk).buffer;\n return { value: buffer, done: false };\n }\n\n cancel(reason) {\n // Call `this._error()` method when cancel is called\n // before _readableStream is set.\n if (!this._readableStream) {\n this._error(reason);\n return;\n }\n this._readableStream.destroy(reason);\n }\n\n _error(reason) {\n this._storedError = reason;\n this._readCapability.resolve();\n }\n\n _setReadableStream(readableStream) {\n this._readableStream = readableStream;\n readableStream.on(\"readable\", () => {\n this._readCapability.resolve();\n });\n\n readableStream.on(\"end\", () => {\n // Destroy readable to minimize resource usage.\n readableStream.destroy();\n this._done = true;\n this._readCapability.resolve();\n });\n\n readableStream.on(\"error\", reason => {\n this._error(reason);\n });\n\n // We need to stop reading when range is supported and streaming is\n // disabled.\n if (!this._isStreamingSupported && this._isRangeSupported) {\n this._error(new AbortException(\"streaming is disabled\"));\n }\n\n // Destroy ReadableStream if already in errored state.\n if (this._storedError) {\n this._readableStream.destroy(this._storedError);\n }\n }\n}\n\nclass BaseRangeReader {\n constructor(stream) {\n this._url = stream.url;\n this._done = false;\n this._storedError = null;\n this.onProgress = null;\n this._loaded = 0;\n this._readableStream = null;\n this._readCapability = createPromiseCapability();\n const source = stream.source;\n this._isStreamingSupported = !source.disableStream;\n }\n\n get isStreamingSupported() {\n return this._isStreamingSupported;\n }\n\n async read() {\n await this._readCapability.promise;\n if (this._done) {\n return { value: undefined, done: true };\n }\n if (this._storedError) {\n throw this._storedError;\n }\n\n const chunk = this._readableStream.read();\n if (chunk === null) {\n this._readCapability = createPromiseCapability();\n return this.read();\n }\n this._loaded += chunk.length;\n if (this.onProgress) {\n this.onProgress({ loaded: this._loaded });\n }\n // Ensure that `read()` method returns ArrayBuffer.\n const buffer = new Uint8Array(chunk).buffer;\n return { value: buffer, done: false };\n }\n\n cancel(reason) {\n // Call `this._error()` method when cancel is called\n // before _readableStream is set.\n if (!this._readableStream) {\n this._error(reason);\n return;\n }\n this._readableStream.destroy(reason);\n }\n\n _error(reason) {\n this._storedError = reason;\n this._readCapability.resolve();\n }\n\n _setReadableStream(readableStream) {\n this._readableStream = readableStream;\n readableStream.on(\"readable\", () => {\n this._readCapability.resolve();\n });\n\n readableStream.on(\"end\", () => {\n // Destroy readableStream to minimize resource usage.\n readableStream.destroy();\n this._done = true;\n this._readCapability.resolve();\n });\n\n readableStream.on(\"error\", reason => {\n this._error(reason);\n });\n\n // Destroy readableStream if already in errored state.\n if (this._storedError) {\n this._readableStream.destroy(this._storedError);\n }\n }\n}\n\nfunction createRequestOptions(parsedUrl, headers) {\n return {\n protocol: parsedUrl.protocol,\n auth: parsedUrl.auth,\n host: parsedUrl.hostname,\n port: parsedUrl.port,\n path: parsedUrl.path,\n method: \"GET\",\n headers,\n };\n}\n\nclass PDFNodeStreamFullReader extends BaseFullReader {\n constructor(stream) {\n super(stream);\n\n const handleResponse = response => {\n if (response.statusCode === 404) {\n const error = new MissingPDFException(`Missing PDF \"${this._url}\".`);\n this._storedError = error;\n this._headersCapability.reject(error);\n return;\n }\n this._headersCapability.resolve();\n this._setReadableStream(response);\n\n const getResponseHeader = name => {\n // Make sure that headers name are in lower case, as mentioned\n // here: https://nodejs.org/api/http.html#http_message_headers.\n return this._readableStream.headers[name.toLowerCase()];\n };\n const {\n allowRangeRequests,\n suggestedLength,\n } = validateRangeRequestCapabilities({\n getResponseHeader,\n isHttp: stream.isHttp,\n rangeChunkSize: this._rangeChunkSize,\n disableRange: this._disableRange,\n });\n\n this._isRangeSupported = allowRangeRequests;\n // Setting right content length.\n this._contentLength = suggestedLength || this._contentLength;\n\n this._filename = extractFilenameFromHeader(getResponseHeader);\n };\n\n this._request = null;\n if (this._url.protocol === \"http:\") {\n this._request = http.request(\n createRequestOptions(this._url, stream.httpHeaders),\n handleResponse\n );\n } else {\n this._request = https.request(\n createRequestOptions(this._url, stream.httpHeaders),\n handleResponse\n );\n }\n\n this._request.on(\"error\", reason => {\n this._storedError = reason;\n this._headersCapability.reject(reason);\n });\n // Note: `request.end(data)` is used to write `data` to request body\n // and notify end of request. But one should always call `request.end()`\n // even if there is no data to write -- (to notify the end of request).\n this._request.end();\n }\n}\n\nclass PDFNodeStreamRangeReader extends BaseRangeReader {\n constructor(stream, start, end) {\n super(stream);\n\n this._httpHeaders = {};\n for (const property in stream.httpHeaders) {\n const value = stream.httpHeaders[property];\n if (typeof value === \"undefined\") {\n continue;\n }\n this._httpHeaders[property] = value;\n }\n this._httpHeaders.Range = `bytes=${start}-${end - 1}`;\n\n const handleResponse = response => {\n if (response.statusCode === 404) {\n const error = new MissingPDFException(`Missing PDF \"${this._url}\".`);\n this._storedError = error;\n return;\n }\n this._setReadableStream(response);\n };\n\n this._request = null;\n if (this._url.protocol === \"http:\") {\n this._request = http.request(\n createRequestOptions(this._url, this._httpHeaders),\n handleResponse\n );\n } else {\n this._request = https.request(\n createRequestOptions(this._url, this._httpHeaders),\n handleResponse\n );\n }\n\n this._request.on(\"error\", reason => {\n this._storedError = reason;\n });\n this._request.end();\n }\n}\n\nclass PDFNodeStreamFsFullReader extends BaseFullReader {\n constructor(stream) {\n super(stream);\n\n let path = decodeURIComponent(this._url.path);\n\n // Remove the extra slash to get right path from url like `file:///C:/`\n if (fileUriRegex.test(this._url.href)) {\n path = path.replace(/^\\//, \"\");\n }\n\n fs.lstat(path, (error, stat) => {\n if (error) {\n if (error.code === \"ENOENT\") {\n error = new MissingPDFException(`Missing PDF \"${path}\".`);\n }\n this._storedError = error;\n this._headersCapability.reject(error);\n return;\n }\n // Setting right content length.\n this._contentLength = stat.size;\n\n this._setReadableStream(fs.createReadStream(path));\n this._headersCapability.resolve();\n });\n }\n}\n\nclass PDFNodeStreamFsRangeReader extends BaseRangeReader {\n constructor(stream, start, end) {\n super(stream);\n\n let path = decodeURIComponent(this._url.path);\n\n // Remove the extra slash to get right path from url like `file:///C:/`\n if (fileUriRegex.test(this._url.href)) {\n path = path.replace(/^\\//, \"\");\n }\n\n this._setReadableStream(fs.createReadStream(path, { start, end: end - 1 }));\n }\n}\n\nexport { PDFNodeStream };\n","/* Copyright 2012 Mozilla Foundation\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {\n assert,\n MissingPDFException,\n UnexpectedResponseException,\n} from \"../shared/util.js\";\nimport { getFilenameFromContentDispositionHeader } from \"./content_disposition.js\";\n\nfunction validateRangeRequestCapabilities({\n getResponseHeader,\n isHttp,\n rangeChunkSize,\n disableRange,\n}) {\n assert(rangeChunkSize > 0, \"Range chunk size must be larger than zero\");\n const returnValues = {\n allowRangeRequests: false,\n suggestedLength: undefined,\n };\n\n const length = parseInt(getResponseHeader(\"Content-Length\"), 10);\n if (!Number.isInteger(length)) {\n return returnValues;\n }\n\n returnValues.suggestedLength = length;\n\n if (length <= 2 * rangeChunkSize) {\n // The file size is smaller than the size of two chunks, so it does not\n // make any sense to abort the request and retry with a range request.\n return returnValues;\n }\n\n if (disableRange || !isHttp) {\n return returnValues;\n }\n if (getResponseHeader(\"Accept-Ranges\") !== \"bytes\") {\n return returnValues;\n }\n\n const contentEncoding = getResponseHeader(\"Content-Encoding\") || \"identity\";\n if (contentEncoding !== \"identity\") {\n return returnValues;\n }\n\n returnValues.allowRangeRequests = true;\n return returnValues;\n}\n\nfunction extractFilenameFromHeader(getResponseHeader) {\n const contentDisposition = getResponseHeader(\"Content-Disposition\");\n if (contentDisposition) {\n let filename = getFilenameFromContentDispositionHeader(contentDisposition);\n if (filename.includes(\"%\")) {\n try {\n filename = decodeURIComponent(filename);\n } catch (ex) {}\n }\n if (/\\.pdf$/i.test(filename)) {\n return filename;\n }\n }\n return null;\n}\n\nfunction createResponseStatusError(status, url) {\n if (status === 404 || (status === 0 && url.startsWith(\"file:\"))) {\n return new MissingPDFException('Missing PDF \"' + url + '\".');\n }\n return new UnexpectedResponseException(\n \"Unexpected server response (\" +\n status +\n ') while retrieving PDF \"' +\n url +\n '\".',\n status\n );\n}\n\nfunction validateResponseStatus(status) {\n return status === 200 || status === 206;\n}\n\nexport {\n createResponseStatusError,\n extractFilenameFromHeader,\n validateRangeRequestCapabilities,\n validateResponseStatus,\n};\n","/* Copyright 2017 Mozilla Foundation\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n// This getFilenameFromContentDispositionHeader function is adapted from\n// https://github.com/Rob--W/open-in-browser/blob/7e2e35a38b8b4e981b11da7b2f01df0149049e92/extension/content-disposition.js\n// with the following changes:\n// - Modified to conform to PDF.js's coding style.\n// - Support UTF-8 decoding when TextDecoder is unsupported.\n// - Move return to the end of the function to prevent Babel from dropping the\n// function declarations.\n\n/**\n * Extract file name from the Content-Disposition HTTP response header.\n *\n * @param {string} contentDisposition\n * @returns {string} Filename, if found in the Content-Disposition header.\n */\nfunction getFilenameFromContentDispositionHeader(contentDisposition) {\n let needsEncodingFixup = true;\n\n // filename*=ext-value (\"ext-value\" from RFC 5987, referenced by RFC 6266).\n let tmp = toParamRegExp(\"filename\\\\*\", \"i\").exec(contentDisposition);\n if (tmp) {\n tmp = tmp[1];\n let filename = rfc2616unquote(tmp);\n filename = unescape(filename);\n filename = rfc5987decode(filename);\n filename = rfc2047decode(filename);\n return fixupEncoding(filename);\n }\n\n // Continuations (RFC 2231 section 3, referenced by RFC 5987 section 3.1).\n // filename*n*=part\n // filename*n=part\n tmp = rfc2231getparam(contentDisposition);\n if (tmp) {\n // RFC 2047, section\n const filename = rfc2047decode(tmp);\n return fixupEncoding(filename);\n }\n\n // filename=value (RFC 5987, section 4.1).\n tmp = toParamRegExp(\"filename\", \"i\").exec(contentDisposition);\n if (tmp) {\n tmp = tmp[1];\n let filename = rfc2616unquote(tmp);\n filename = rfc2047decode(filename);\n return fixupEncoding(filename);\n }\n\n // After this line there are only function declarations. We cannot put\n // \"return\" here for readability because babel would then drop the function\n // declarations...\n function toParamRegExp(attributePattern, flags) {\n return new RegExp(\n \"(?:^|;)\\\\s*\" +\n attributePattern +\n \"\\\\s*=\\\\s*\" +\n // Captures: value = token | quoted-string\n // (RFC 2616, section 3.6 and referenced by RFC 6266 4.1)\n \"(\" +\n '[^\";\\\\s][^;\\\\s]*' +\n \"|\" +\n '\"(?:[^\"\\\\\\\\]|\\\\\\\\\"?)+\"?' +\n \")\",\n flags\n );\n }\n function textdecode(encoding, value) {\n if (encoding) {\n if (!/^[\\x00-\\xFF]+$/.test(value)) {\n return value;\n }\n try {\n const decoder = new TextDecoder(encoding, { fatal: true });\n const bytes = Array.from(value, function (ch) {\n return ch.charCodeAt(0) & 0xff;\n });\n value = decoder.decode(new Uint8Array(bytes));\n needsEncodingFixup = false;\n } catch (e) {\n // TextDecoder constructor threw - unrecognized encoding.\n // Or TextDecoder API is not available (in IE / Edge).\n if (/^utf-?8$/i.test(encoding)) {\n // UTF-8 is commonly used, try to support it in another way:\n try {\n value = decodeURIComponent(escape(value));\n needsEncodingFixup = false;\n } catch (err) {}\n }\n }\n }\n return value;\n }\n function fixupEncoding(value) {\n if (needsEncodingFixup && /[\\x80-\\xff]/.test(value)) {\n // Maybe multi-byte UTF-8.\n value = textdecode(\"utf-8\", value);\n if (needsEncodingFixup) {\n // Try iso-8859-1 encoding.\n value = textdecode(\"iso-8859-1\", value);\n }\n }\n return value;\n }\n function rfc2231getparam(contentDispositionStr) {\n const matches = [];\n let match;\n // Iterate over all filename*n= and filename*n*= with n being an integer\n // of at least zero. Any non-zero number must not start with '0'.\n const iter = toParamRegExp(\"filename\\\\*((?!0\\\\d)\\\\d+)(\\\\*?)\", \"ig\");\n while ((match = iter.exec(contentDispositionStr)) !== null) {\n let [, n, quot, part] = match; // eslint-disable-line prefer-const\n n = parseInt(n, 10);\n if (n in matches) {\n // Ignore anything after the invalid second filename*0.\n if (n === 0) {\n break;\n }\n continue;\n }\n matches[n] = [quot, part];\n }\n const parts = [];\n for (let n = 0; n < matches.length; ++n) {\n if (!(n in matches)) {\n // Numbers must be consecutive. Truncate when there is a hole.\n break;\n }\n let [quot, part] = matches[n]; // eslint-disable-line prefer-const\n part = rfc2616unquote(part);\n if (quot) {\n part = unescape(part);\n if (n === 0) {\n part = rfc5987decode(part);\n }\n }\n parts.push(part);\n }\n return parts.join(\"\");\n }\n function rfc2616unquote(value) {\n if (value.startsWith('\"')) {\n const parts = value.slice(1).split('\\\\\"');\n // Find the first unescaped \" and terminate there.\n for (let i = 0; i < parts.length; ++i) {\n const quotindex = parts[i].indexOf('\"');\n if (quotindex !== -1) {\n parts[i] = parts[i].slice(0, quotindex);\n parts.length = i + 1; // Truncates and stop the iteration.\n }\n parts[i] = parts[i].replace(/\\\\(.)/g, \"$1\");\n }\n value = parts.join('\"');\n }\n return value;\n }\n function rfc5987decode(extvalue) {\n // Decodes \"ext-value\" from RFC 5987.\n const encodingend = extvalue.indexOf(\"'\");\n if (encodingend === -1) {\n // Some servers send \"filename*=\" without encoding 'language' prefix,\n // e.g. in https://github.com/Rob--W/open-in-browser/issues/26\n // Let's accept the value like Firefox (57) (Chrome 62 rejects it).\n return extvalue;\n }\n const encoding = extvalue.slice(0, encodingend);\n const langvalue = extvalue.slice(encodingend + 1);\n // Ignore language (RFC 5987 section 3.2.1, and RFC 6266 section 4.1 ).\n const value = langvalue.replace(/^[^']*'/, \"\");\n return textdecode(encoding, value);\n }\n function rfc2047decode(value) {\n // RFC 2047-decode the result. Firefox tried to drop support for it, but\n // backed out because some servers use it - https://bugzil.la/875615\n // Firefox's condition for decoding is here: https://searchfox.org/mozilla-central/rev/4a590a5a15e35d88a3b23dd6ac3c471cf85b04a8/netwerk/mime/nsMIMEHeaderParamImpl.cpp#742-748\n\n // We are more strict and only recognize RFC 2047-encoding if the value\n // starts with \"=?\", since then it is likely that the full value is\n // RFC 2047-encoded.\n\n // Firefox also decodes words even where RFC 2047 section 5 states:\n // \"An 'encoded-word' MUST NOT appear within a 'quoted-string'.\"\n if (!value.startsWith(\"=?\") || /[\\x00-\\x19\\x80-\\xff]/.test(value)) {\n return value;\n }\n // RFC 2047, section 2.4\n // encoded-word = \"=?\" charset \"?\" encoding \"?\" encoded-text \"?=\"\n // charset = token (but let's restrict to characters that denote a\n // possibly valid encoding).\n // encoding = q or b\n // encoded-text = any printable ASCII character other than ? or space.\n // ... but Firefox permits ? and space.\n return value.replace(\n /=\\?([\\w-]*)\\?([QqBb])\\?((?:[^?]|\\?(?!=))*)\\?=/g,\n function (matches, charset, encoding, text) {\n if (encoding === \"q\" || encoding === \"Q\") {\n // RFC 2047 section 4.2.\n text = text.replace(/_/g, \" \");\n text = text.replace(/=([0-9a-fA-F]{2})/g, function (match, hex) {\n return String.fromCharCode(parseInt(hex, 16));\n });\n return textdecode(charset, text);\n } // else encoding is b or B - base64 (RFC 2047 section 4.1)\n try {\n text = atob(text);\n } catch (e) {}\n return textdecode(charset, text);\n }\n );\n }\n\n return \"\";\n}\n\nexport { getFilenameFromContentDispositionHeader };\n","/* Copyright 2012 Mozilla Foundation\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n/* eslint no-var: error */\n\nimport {\n assert,\n createPromiseCapability,\n stringToBytes,\n} from \"../shared/util.js\";\nimport {\n createResponseStatusError,\n extractFilenameFromHeader,\n validateRangeRequestCapabilities,\n} from \"./network_utils.js\";\n\nif (typeof PDFJSDev !== \"undefined\" && PDFJSDev.test(\"MOZCENTRAL\")) {\n throw new Error(\n 'Module \"./network.js\" shall not be used with MOZCENTRAL builds.'\n );\n}\n\nconst OK_RESPONSE = 200;\nconst PARTIAL_CONTENT_RESPONSE = 206;\n\nfunction getArrayBuffer(xhr) {\n const data = xhr.response;\n if (typeof data !== \"string\") {\n return data;\n }\n const array = stringToBytes(data);\n return array.buffer;\n}\n\nclass NetworkManager {\n constructor(url, args) {\n this.url = url;\n args = args || {};\n this.isHttp = /^https?:/i.test(url);\n this.httpHeaders = (this.isHttp && args.httpHeaders) || {};\n this.withCredentials = args.withCredentials || false;\n this.getXhr =\n args.getXhr ||\n function NetworkManager_getXhr() {\n return new XMLHttpRequest();\n };\n\n this.currXhrId = 0;\n this.pendingRequests = Object.create(null);\n }\n\n requestRange(begin, end, listeners) {\n const args = {\n begin,\n end,\n };\n for (const prop in listeners) {\n args[prop] = listeners[prop];\n }\n return this.request(args);\n }\n\n requestFull(listeners) {\n return this.request(listeners);\n }\n\n request(args) {\n const xhr = this.getXhr();\n const xhrId = this.currXhrId++;\n const pendingRequest = (this.pendingRequests[xhrId] = {\n xhr,\n });\n\n xhr.open(\"GET\", this.url);\n xhr.withCredentials = this.withCredentials;\n for (const property in this.httpHeaders) {\n const value = this.httpHeaders[property];\n if (typeof value === \"undefined\") {\n continue;\n }\n xhr.setRequestHeader(property, value);\n }\n if (this.isHttp && \"begin\" in args && \"end\" in args) {\n xhr.setRequestHeader(\"Range\", `bytes=${args.begin}-${args.end - 1}`);\n pendingRequest.expectedStatus = PARTIAL_CONTENT_RESPONSE;\n } else {\n pendingRequest.expectedStatus = OK_RESPONSE;\n }\n xhr.responseType = \"arraybuffer\";\n\n if (args.onError) {\n xhr.onerror = function (evt) {\n args.onError(xhr.status);\n };\n }\n xhr.onreadystatechange = this.onStateChange.bind(this, xhrId);\n xhr.onprogress = this.onProgress.bind(this, xhrId);\n\n pendingRequest.onHeadersReceived = args.onHeadersReceived;\n pendingRequest.onDone = args.onDone;\n pendingRequest.onError = args.onError;\n pendingRequest.onProgress = args.onProgress;\n\n xhr.send(null);\n\n return xhrId;\n }\n\n onProgress(xhrId, evt) {\n const pendingRequest = this.pendingRequests[xhrId];\n if (!pendingRequest) {\n // Maybe abortRequest was called...\n return;\n }\n\n if (pendingRequest.onProgress) {\n pendingRequest.onProgress(evt);\n }\n }\n\n onStateChange(xhrId, evt) {\n const pendingRequest = this.pendingRequests[xhrId];\n if (!pendingRequest) {\n // Maybe abortRequest was called...\n return;\n }\n\n const xhr = pendingRequest.xhr;\n if (xhr.readyState >= 2 && pendingRequest.onHeadersReceived) {\n pendingRequest.onHeadersReceived();\n delete pendingRequest.onHeadersReceived;\n }\n\n if (xhr.readyState !== 4) {\n return;\n }\n\n if (!(xhrId in this.pendingRequests)) {\n // The XHR request might have been aborted in onHeadersReceived()\n // callback, in which case we should abort request.\n return;\n }\n\n delete this.pendingRequests[xhrId];\n\n // Success status == 0 can be on ftp, file and other protocols.\n if (xhr.status === 0 && this.isHttp) {\n if (pendingRequest.onError) {\n pendingRequest.onError(xhr.status);\n }\n return;\n }\n const xhrStatus = xhr.status || OK_RESPONSE;\n\n // From http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.35.2:\n // \"A server MAY ignore the Range header\". This means it's possible to\n // get a 200 rather than a 206 response from a range request.\n const ok_response_on_range_request =\n xhrStatus === OK_RESPONSE &&\n pendingRequest.expectedStatus === PARTIAL_CONTENT_RESPONSE;\n\n if (\n !ok_response_on_range_request &&\n xhrStatus !== pendingRequest.expectedStatus\n ) {\n if (pendingRequest.onError) {\n pendingRequest.onError(xhr.status);\n }\n return;\n }\n\n const chunk = getArrayBuffer(xhr);\n if (xhrStatus === PARTIAL_CONTENT_RESPONSE) {\n const rangeHeader = xhr.getResponseHeader(\"Content-Range\");\n const matches = /bytes (\\d+)-(\\d+)\\/(\\d+)/.exec(rangeHeader);\n pendingRequest.onDone({\n begin: parseInt(matches[1], 10),\n chunk,\n });\n } else if (chunk) {\n pendingRequest.onDone({\n begin: 0,\n chunk,\n });\n } else if (pendingRequest.onError) {\n pendingRequest.onError(xhr.status);\n }\n }\n\n hasPendingRequests() {\n for (const xhrId in this.pendingRequests) {\n return true;\n }\n return false;\n }\n\n getRequestXhr(xhrId) {\n return this.pendingRequests[xhrId].xhr;\n }\n\n isPendingRequest(xhrId) {\n return xhrId in this.pendingRequests;\n }\n\n abortAllRequests() {\n for (const xhrId in this.pendingRequests) {\n this.abortRequest(xhrId | 0);\n }\n }\n\n abortRequest(xhrId) {\n const xhr = this.pendingRequests[xhrId].xhr;\n delete this.pendingRequests[xhrId];\n xhr.abort();\n }\n}\n\n/** @implements {IPDFStream} */\nclass PDFNetworkStream {\n constructor(source) {\n this._source = source;\n this._manager = new NetworkManager(source.url, {\n httpHeaders: source.httpHeaders,\n withCredentials: source.withCredentials,\n });\n this._rangeChunkSize = source.rangeChunkSize;\n this._fullRequestReader = null;\n this._rangeRequestReaders = [];\n }\n\n _onRangeRequestReaderClosed(reader) {\n const i = this._rangeRequestReaders.indexOf(reader);\n if (i >= 0) {\n this._rangeRequestReaders.splice(i, 1);\n }\n }\n\n getFullReader() {\n assert(\n !this._fullRequestReader,\n \"PDFNetworkStream.getFullReader can only be called once.\"\n );\n this._fullRequestReader = new PDFNetworkStreamFullRequestReader(\n this._manager,\n this._source\n );\n return this._fullRequestReader;\n }\n\n getRangeReader(begin, end) {\n const reader = new PDFNetworkStreamRangeRequestReader(\n this._manager,\n begin,\n end\n );\n reader.onClosed = this._onRangeRequestReaderClosed.bind(this);\n this._rangeRequestReaders.push(reader);\n return reader;\n }\n\n cancelAllRequests(reason) {\n if (this._fullRequestReader) {\n this._fullRequestReader.cancel(reason);\n }\n const readers = this._rangeRequestReaders.slice(0);\n readers.forEach(function (reader) {\n reader.cancel(reason);\n });\n }\n}\n\n/** @implements {IPDFStreamReader} */\nclass PDFNetworkStreamFullRequestReader {\n constructor(manager, source) {\n this._manager = manager;\n\n const args = {\n onHeadersReceived: this._onHeadersReceived.bind(this),\n onDone: this._onDone.bind(this),\n onError: this._onError.bind(this),\n onProgress: this._onProgress.bind(this),\n };\n this._url = source.url;\n this._fullRequestId = manager.requestFull(args);\n this._headersReceivedCapability = createPromiseCapability();\n this._disableRange = source.disableRange || false;\n this._contentLength = source.length; // Optional\n this._rangeChunkSize = source.rangeChunkSize;\n if (!this._rangeChunkSize && !this._disableRange) {\n this._disableRange = true;\n }\n\n this._isStreamingSupported = false;\n this._isRangeSupported = false;\n\n this._cachedChunks = [];\n this._requests = [];\n this._done = false;\n this._storedError = undefined;\n this._filename = null;\n\n this.onProgress = null;\n }\n\n _onHeadersReceived() {\n const fullRequestXhrId = this._fullRequestId;\n const fullRequestXhr = this._manager.getRequestXhr(fullRequestXhrId);\n\n const getResponseHeader = name => {\n return fullRequestXhr.getResponseHeader(name);\n };\n const {\n allowRangeRequests,\n suggestedLength,\n } = validateRangeRequestCapabilities({\n getResponseHeader,\n isHttp: this._manager.isHttp,\n rangeChunkSize: this._rangeChunkSize,\n disableRange: this._disableRange,\n });\n\n if (allowRangeRequests) {\n this._isRangeSupported = true;\n }\n // Setting right content length.\n this._contentLength = suggestedLength || this._contentLength;\n\n this._filename = extractFilenameFromHeader(getResponseHeader);\n\n if (this._isRangeSupported) {\n // NOTE: by cancelling the full request, and then issuing range\n // requests, there will be an issue for sites where you can only\n // request the pdf once. However, if this is the case, then the\n // server should not be returning that it can support range requests.\n this._manager.abortRequest(fullRequestXhrId);\n }\n\n this._headersReceivedCapability.resolve();\n }\n\n _onDone(args) {\n if (args) {\n if (this._requests.length > 0) {\n const requestCapability = this._requests.shift();\n requestCapability.resolve({ value: args.chunk, done: false });\n } else {\n this._cachedChunks.push(args.chunk);\n }\n }\n this._done = true;\n if (this._cachedChunks.length > 0) {\n return;\n }\n this._requests.forEach(function (requestCapability) {\n requestCapability.resolve({ value: undefined, done: true });\n });\n this._requests = [];\n }\n\n _onError(status) {\n const url = this._url;\n const exception = createResponseStatusError(status, url);\n this._storedError = exception;\n this._headersReceivedCapability.reject(exception);\n this._requests.forEach(function (requestCapability) {\n requestCapability.reject(exception);\n });\n this._requests = [];\n this._cachedChunks = [];\n }\n\n _onProgress(data) {\n if (this.onProgress) {\n this.onProgress({\n loaded: data.loaded,\n total: data.lengthComputable ? data.total : this._contentLength,\n });\n }\n }\n\n get filename() {\n return this._filename;\n }\n\n get isRangeSupported() {\n return this._isRangeSupported;\n }\n\n get isStreamingSupported() {\n return this._isStreamingSupported;\n }\n\n get contentLength() {\n return this._contentLength;\n }\n\n get headersReady() {\n return this._headersReceivedCapability.promise;\n }\n\n async read() {\n if (this._storedError) {\n throw this._storedError;\n }\n if (this._cachedChunks.length > 0) {\n const chunk = this._cachedChunks.shift();\n return { value: chunk, done: false };\n }\n if (this._done) {\n return { value: undefined, done: true };\n }\n const requestCapability = createPromiseCapability();\n this._requests.push(requestCapability);\n return requestCapability.promise;\n }\n\n cancel(reason) {\n this._done = true;\n this._headersReceivedCapability.reject(reason);\n this._requests.forEach(function (requestCapability) {\n requestCapability.resolve({ value: undefined, done: true });\n });\n this._requests = [];\n if (this._manager.isPendingRequest(this._fullRequestId)) {\n this._manager.abortRequest(this._fullRequestId);\n }\n this._fullRequestReader = null;\n }\n}\n\n/** @implements {IPDFStreamRangeReader} */\nclass PDFNetworkStreamRangeRequestReader {\n constructor(manager, begin, end) {\n this._manager = manager;\n const args = {\n onDone: this._onDone.bind(this),\n onProgress: this._onProgress.bind(this),\n };\n this._requestId = manager.requestRange(begin, end, args);\n this._requests = [];\n this._queuedChunk = null;\n this._done = false;\n\n this.onProgress = null;\n this.onClosed = null;\n }\n\n _close() {\n if (this.onClosed) {\n this.onClosed(this);\n }\n }\n\n _onDone(data) {\n const chunk = data.chunk;\n if (this._requests.length > 0) {\n const requestCapability = this._requests.shift();\n requestCapability.resolve({ value: chunk, done: false });\n } else {\n this._queuedChunk = chunk;\n }\n this._done = true;\n this._requests.forEach(function (requestCapability) {\n requestCapability.resolve({ value: undefined, done: true });\n });\n this._requests = [];\n this._close();\n }\n\n _onProgress(evt) {\n if (!this.isStreamingSupported && this.onProgress) {\n this.onProgress({\n loaded: evt.loaded,\n });\n }\n }\n\n get isStreamingSupported() {\n return false;\n }\n\n async read() {\n if (this._queuedChunk !== null) {\n const chunk = this._queuedChunk;\n this._queuedChunk = null;\n return { value: chunk, done: false };\n }\n if (this._done) {\n return { value: undefined, done: true };\n }\n const requestCapability = createPromiseCapability();\n this._requests.push(requestCapability);\n return requestCapability.promise;\n }\n\n cancel(reason) {\n this._done = true;\n this._requests.forEach(function (requestCapability) {\n requestCapability.resolve({ value: undefined, done: true });\n });\n this._requests = [];\n if (this._manager.isPendingRequest(this._requestId)) {\n this._manager.abortRequest(this._requestId);\n }\n this._close();\n }\n}\n\nexport { PDFNetworkStream };\n","/* Copyright 2012 Mozilla Foundation\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n/* eslint no-var: error */\n\nimport {\n AbortException,\n assert,\n createPromiseCapability,\n} from \"../shared/util.js\";\nimport {\n createResponseStatusError,\n extractFilenameFromHeader,\n validateRangeRequestCapabilities,\n validateResponseStatus,\n} from \"./network_utils.js\";\n\nif (typeof PDFJSDev !== \"undefined\" && PDFJSDev.test(\"MOZCENTRAL\")) {\n throw new Error(\n 'Module \"./fetch_stream.js\" shall not be used with MOZCENTRAL builds.'\n );\n}\n\nfunction createFetchOptions(headers, withCredentials, abortController) {\n return {\n method: \"GET\",\n headers,\n signal: abortController && abortController.signal,\n mode: \"cors\",\n credentials: withCredentials ? \"include\" : \"same-origin\",\n redirect: \"follow\",\n };\n}\n\nfunction createHeaders(httpHeaders) {\n const headers = new Headers();\n for (const property in httpHeaders) {\n const value = httpHeaders[property];\n if (typeof value === \"undefined\") {\n continue;\n }\n headers.append(property, value);\n }\n return headers;\n}\n\n/** @implements {IPDFStream} */\nclass PDFFetchStream {\n constructor(source) {\n this.source = source;\n this.isHttp = /^https?:/i.test(source.url);\n this.httpHeaders = (this.isHttp && source.httpHeaders) || {};\n\n this._fullRequestReader = null;\n this._rangeRequestReaders = [];\n }\n\n get _progressiveDataLength() {\n return this._fullRequestReader ? this._fullRequestReader._loaded : 0;\n }\n\n getFullReader() {\n assert(\n !this._fullRequestReader,\n \"PDFFetchStream.getFullReader can only be called once.\"\n );\n this._fullRequestReader = new PDFFetchStreamReader(this);\n return this._fullRequestReader;\n }\n\n getRangeReader(begin, end) {\n if (end <= this._progressiveDataLength) {\n return null;\n }\n const reader = new PDFFetchStreamRangeReader(this, begin, end);\n this._rangeRequestReaders.push(reader);\n return reader;\n }\n\n cancelAllRequests(reason) {\n if (this._fullRequestReader) {\n this._fullRequestReader.cancel(reason);\n }\n const readers = this._rangeRequestReaders.slice(0);\n readers.forEach(function (reader) {\n reader.cancel(reason);\n });\n }\n}\n\n/** @implements {IPDFStreamReader} */\nclass PDFFetchStreamReader {\n constructor(stream) {\n this._stream = stream;\n this._reader = null;\n this._loaded = 0;\n this._filename = null;\n const source = stream.source;\n this._withCredentials = source.withCredentials || false;\n this._contentLength = source.length;\n this._headersCapability = createPromiseCapability();\n this._disableRange = source.disableRange || false;\n this._rangeChunkSize = source.rangeChunkSize;\n if (!this._rangeChunkSize && !this._disableRange) {\n this._disableRange = true;\n }\n\n if (typeof AbortController !== \"undefined\") {\n this._abortController = new AbortController();\n }\n this._isStreamingSupported = !source.disableStream;\n this._isRangeSupported = !source.disableRange;\n\n this._headers = createHeaders(this._stream.httpHeaders);\n\n const url = source.url;\n fetch(\n url,\n createFetchOptions(\n this._headers,\n this._withCredentials,\n this._abortController\n )\n )\n .then(response => {\n if (!validateResponseStatus(response.status)) {\n throw createResponseStatusError(response.status, url);\n }\n this._reader = response.body.getReader();\n this._headersCapability.resolve();\n\n const getResponseHeader = name => {\n return response.headers.get(name);\n };\n const {\n allowRangeRequests,\n suggestedLength,\n } = validateRangeRequestCapabilities({\n getResponseHeader,\n isHttp: this._stream.isHttp,\n rangeChunkSize: this._rangeChunkSize,\n disableRange: this._disableRange,\n });\n\n this._isRangeSupported = allowRangeRequests;\n // Setting right content length.\n this._contentLength = suggestedLength || this._contentLength;\n\n this._filename = extractFilenameFromHeader(getResponseHeader);\n\n // We need to stop reading when range is supported and streaming is\n // disabled.\n if (!this._isStreamingSupported && this._isRangeSupported) {\n this.cancel(new AbortException(\"Streaming is disabled.\"));\n }\n })\n .catch(this._headersCapability.reject);\n\n this.onProgress = null;\n }\n\n get headersReady() {\n return this._headersCapability.promise;\n }\n\n get filename() {\n return this._filename;\n }\n\n get contentLength() {\n return this._contentLength;\n }\n\n get isRangeSupported() {\n return this._isRangeSupported;\n }\n\n get isStreamingSupported() {\n return this._isStreamingSupported;\n }\n\n async read() {\n await this._headersCapability.promise;\n const { value, done } = await this._reader.read();\n if (done) {\n return { value, done };\n }\n this._loaded += value.byteLength;\n if (this.onProgress) {\n this.onProgress({\n loaded: this._loaded,\n total: this._contentLength,\n });\n }\n const buffer = new Uint8Array(value).buffer;\n return { value: buffer, done: false };\n }\n\n cancel(reason) {\n if (this._reader) {\n this._reader.cancel(reason);\n }\n if (this._abortController) {\n this._abortController.abort();\n }\n }\n}\n\n/** @implements {IPDFStreamRangeReader} */\nclass PDFFetchStreamRangeReader {\n constructor(stream, begin, end) {\n this._stream = stream;\n this._reader = null;\n this._loaded = 0;\n const source = stream.source;\n this._withCredentials = source.withCredentials || false;\n this._readCapability = createPromiseCapability();\n this._isStreamingSupported = !source.disableStream;\n\n if (typeof AbortController !== \"undefined\") {\n this._abortController = new AbortController();\n }\n\n this._headers = createHeaders(this._stream.httpHeaders);\n this._headers.append(\"Range\", `bytes=${begin}-${end - 1}`);\n\n const url = source.url;\n fetch(\n url,\n createFetchOptions(\n this._headers,\n this._withCredentials,\n this._abortController\n )\n ).then(response => {\n if (!validateResponseStatus(response.status)) {\n throw createResponseStatusError(response.status, url);\n }\n this._readCapability.resolve();\n this._reader = response.body.getReader();\n });\n\n this.onProgress = null;\n }\n\n get isStreamingSupported() {\n return this._isStreamingSupported;\n }\n\n async read() {\n await this._readCapability.promise;\n const { value, done } = await this._reader.read();\n if (done) {\n return { value, done };\n }\n this._loaded += value.byteLength;\n if (this.onProgress) {\n this.onProgress({ loaded: this._loaded });\n }\n const buffer = new Uint8Array(value).buffer;\n return { value: buffer, done: false };\n }\n\n cancel(reason) {\n if (this._reader) {\n this._reader.cancel(reason);\n }\n if (this._abortController) {\n this._abortController.abort();\n }\n }\n}\n\nexport { PDFFetchStream };\n","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports[\"default\"] = makeCancellablePromise;\n\nfunction makeCancellablePromise(promise) {\n var isCancelled = false;\n var wrappedPromise = new Promise(function (resolve, reject) {\n promise.then(function () {\n return !isCancelled && resolve.apply(void 0, arguments);\n })[\"catch\"](function (error) {\n return !isCancelled && reject(error);\n });\n });\n return {\n promise: wrappedPromise,\n cancel: function cancel() {\n isCancelled = true;\n }\n };\n}","import isArrayLike from './isArrayLike.js';\n\n/**\n * Creates a `baseEach` or `baseEachRight` function.\n *\n * @private\n * @param {Function} eachFunc The function to iterate over a collection.\n * @param {boolean} [fromRight] Specify iterating from right to left.\n * @returns {Function} Returns the new base function.\n */\nfunction createBaseEach(eachFunc, fromRight) {\n return function(collection, iteratee) {\n if (collection == null) {\n return collection;\n }\n if (!isArrayLike(collection)) {\n return eachFunc(collection, iteratee);\n }\n var length = collection.length,\n index = fromRight ? length : -1,\n iterable = Object(collection);\n\n while ((fromRight ? index-- : ++index < length)) {\n if (iteratee(iterable[index], index, iterable) === false) {\n break;\n }\n }\n return collection;\n };\n}\n\nexport default createBaseEach;\n","import baseForOwn from './_baseForOwn.js';\nimport createBaseEach from './_createBaseEach.js';\n\n/**\n * The base implementation of `_.forEach` without support for iteratee shorthands.\n *\n * @private\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Array|Object} Returns `collection`.\n */\nvar baseEach = createBaseEach(baseForOwn);\n\nexport default baseEach;\n","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = exports.focusEvents = exports.keyboardEvents = exports.touchEvents = exports.mouseEvents = void 0;\n// As defined on the list of supported mouse events: https://reactjs.org/docs/events.html#mouse-events\nvar mouseEvents = ['onClick', 'onContextMenu', 'onDoubleClick', 'onDrag', 'onDragEnd', 'onDragEnter', 'onDragExit', 'onDragLeave', 'onDragOver', 'onDragStart', 'onDrop', 'onMouseDown', 'onMouseEnter', 'onMouseLeave', 'onMouseMove', 'onMouseOut', 'onMouseOver', 'onMouseUp']; // As defined on the list of supported touch events: https://reactjs.org/docs/events.html#touch-events\n\nexports.mouseEvents = mouseEvents;\nvar touchEvents = ['onTouchCancel', 'onTouchEnd', 'onTouchMove', 'onTouchStart']; // As defined on the list of supported keyboard events: https://reactjs.org/docs/events.html#keyboard-events\n\nexports.touchEvents = touchEvents;\nvar keyboardEvents = ['onKeyDown', 'onKeyPress', 'onKeyUp']; // As defined on the list of supported keyboard events: https://reactjs.org/docs/events.html#focus-events\n\nexports.keyboardEvents = keyboardEvents;\nvar focusEvents = ['onFocus', 'onBlur'];\n/**\n * Returns an object with on-event callback props curried with provided args.\n * @param {Object} props Props passed to a component.\n * @param {Function=} getArgs A function that returns argument(s) on-event callbacks\n * shall be curried with.\n */\n\nexports.focusEvents = focusEvents;\n\nvar makeEventProps = function makeEventProps(props, getArgs) {\n var eventProps = {};\n [].concat(mouseEvents, touchEvents, keyboardEvents, focusEvents).forEach(function (eventName) {\n if (props[eventName]) {\n eventProps[eventName] = function (event) {\n return getArgs ? props[eventName](event, getArgs(eventName)) : props[eventName](event);\n };\n }\n });\n return eventProps;\n};\n\nvar _default = makeEventProps;\nexports.default = _default;","'use strict';\n\nvar isArray = Array.isArray;\nvar keyList = Object.keys;\nvar hasProp = Object.prototype.hasOwnProperty;\nvar hasElementType = typeof Element !== 'undefined';\n\nfunction equal(a, b) {\n // fast-deep-equal index.js 2.0.1\n if (a === b) return true;\n\n if (a && b && typeof a == 'object' && typeof b == 'object') {\n var arrA = isArray(a)\n , arrB = isArray(b)\n , i\n , length\n , key;\n\n if (arrA && arrB) {\n length = a.length;\n if (length != b.length) return false;\n for (i = length; i-- !== 0;)\n if (!equal(a[i], b[i])) return false;\n return true;\n }\n\n if (arrA != arrB) return false;\n\n var dateA = a instanceof Date\n , dateB = b instanceof Date;\n if (dateA != dateB) return false;\n if (dateA && dateB) return a.getTime() == b.getTime();\n\n var regexpA = a instanceof RegExp\n , regexpB = b instanceof RegExp;\n if (regexpA != regexpB) return false;\n if (regexpA && regexpB) return a.toString() == b.toString();\n\n var keys = keyList(a);\n length = keys.length;\n\n if (length !== keyList(b).length)\n return false;\n\n for (i = length; i-- !== 0;)\n if (!hasProp.call(b, keys[i])) return false;\n // end fast-deep-equal\n\n // start react-fast-compare\n // custom handling for DOM elements\n if (hasElementType && a instanceof Element && b instanceof Element)\n return a === b;\n\n // custom handling for React\n for (i = length; i-- !== 0;) {\n key = keys[i];\n if (key === '_owner' && a.$$typeof) {\n // React-specific: avoid traversing React elements' _owner.\n // _owner contains circular references\n // and is not needed when comparing the actual elements (and not their owners)\n // .$$typeof and ._store on just reasonable markers of a react element\n continue;\n } else {\n // all other properties should be traversed as usual\n if (!equal(a[key], b[key])) return false;\n }\n }\n // end react-fast-compare\n\n // fast-deep-equal index.js 2.0.1\n return true;\n }\n\n return a !== a && b !== b;\n}\n// end fast-deep-equal\n\nmodule.exports = function exportedEqual(a, b) {\n try {\n return equal(a, b);\n } catch (error) {\n if ((error.message && error.message.match(/stack|recursion/i)) || (error.number === -2146828260)) {\n // warn on circular references, don't crash\n // browsers give this different errors name and messages:\n // chrome/safari: \"RangeError\", \"Maximum call stack size exceeded\"\n // firefox: \"InternalError\", too much recursion\"\n // edge: \"Error\", \"Out of stack space\"\n console.warn('Warning: react-fast-compare does not handle circular references.', error.name, error.message);\n return false;\n }\n // some other error. we should definitely know about these\n throw error;\n }\n};\n","import arrayMap from './_arrayMap.js';\n\n/**\n * The base implementation of `_.values` and `_.valuesIn` which creates an\n * array of `object` property values corresponding to the property names\n * of `props`.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {Array} props The property names to get values for.\n * @returns {Object} Returns the array of property values.\n */\nfunction baseValues(object, props) {\n return arrayMap(props, function(key) {\n return object[key];\n });\n}\n\nexport default baseValues;\n","import baseValues from './_baseValues.js';\nimport keys from './keys.js';\n\n/**\n * Creates an array of the own enumerable string keyed property values of `object`.\n *\n * **Note:** Non-object values are coerced to objects.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Object\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property values.\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * this.b = 2;\n * }\n *\n * Foo.prototype.c = 3;\n *\n * _.values(new Foo);\n * // => [1, 2] (iteration order is not guaranteed)\n *\n * _.values('hi');\n * // => ['h', 'i']\n */\nfunction values(object) {\n return object == null ? [] : baseValues(object, keys(object));\n}\n\nexport default values;\n","import freeGlobal from './_freeGlobal.js';\n\n/** Detect free variable `exports`. */\nvar freeExports = typeof exports == 'object' && exports && !exports.nodeType && exports;\n\n/** Detect free variable `module`. */\nvar freeModule = freeExports && typeof module == 'object' && module && !module.nodeType && module;\n\n/** Detect the popular CommonJS extension `module.exports`. */\nvar moduleExports = freeModule && freeModule.exports === freeExports;\n\n/** Detect free variable `process` from Node.js. */\nvar freeProcess = moduleExports && freeGlobal.process;\n\n/** Used to access faster Node.js helpers. */\nvar nodeUtil = (function() {\n try {\n // Use `util.types` for Node.js 10+.\n var types = freeModule && freeModule.require && freeModule.require('util').types;\n\n if (types) {\n return types;\n }\n\n // Legacy `process.binding('util')` for Node.js < 10.\n return freeProcess && freeProcess.binding && freeProcess.binding('util');\n } catch (e) {}\n}());\n\nexport default nodeUtil;\n","import toNumber from './toNumber.js';\n\n/** Used as references for various `Number` constants. */\nvar INFINITY = 1 / 0,\n MAX_INTEGER = 1.7976931348623157e+308;\n\n/**\n * Converts `value` to a finite number.\n *\n * @static\n * @memberOf _\n * @since 4.12.0\n * @category Lang\n * @param {*} value The value to convert.\n * @returns {number} Returns the converted number.\n * @example\n *\n * _.toFinite(3.2);\n * // => 3.2\n *\n * _.toFinite(Number.MIN_VALUE);\n * // => 5e-324\n *\n * _.toFinite(Infinity);\n * // => 1.7976931348623157e+308\n *\n * _.toFinite('3.2');\n * // => 3.2\n */\nfunction toFinite(value) {\n if (!value) {\n return value === 0 ? value : 0;\n }\n value = toNumber(value);\n if (value === INFINITY || value === -INFINITY) {\n var sign = (value < 0 ? -1 : 1);\n return sign * MAX_INTEGER;\n }\n return value === value ? value : 0;\n}\n\nexport default toFinite;\n","import identity from './identity.js';\n\n/**\n * Casts `value` to `identity` if it's not a function.\n *\n * @private\n * @param {*} value The value to inspect.\n * @returns {Function} Returns cast function.\n */\nfunction castFunction(value) {\n return typeof value == 'function' ? value : identity;\n}\n\nexport default castFunction;\n","import arrayEach from './_arrayEach.js';\nimport baseEach from './_baseEach.js';\nimport castFunction from './_castFunction.js';\nimport isArray from './isArray.js';\n\n/**\n * Iterates over elements of `collection` and invokes `iteratee` for each element.\n * The iteratee is invoked with three arguments: (value, index|key, collection).\n * Iteratee functions may exit iteration early by explicitly returning `false`.\n *\n * **Note:** As with other \"Collections\" methods, objects with a \"length\"\n * property are iterated like arrays. To avoid this behavior use `_.forIn`\n * or `_.forOwn` for object iteration.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @alias each\n * @category Collection\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Function} [iteratee=_.identity] The function invoked per iteration.\n * @returns {Array|Object} Returns `collection`.\n * @see _.forEachRight\n * @example\n *\n * _.forEach([1, 2], function(value) {\n * console.log(value);\n * });\n * // => Logs `1` then `2`.\n *\n * _.forEach({ 'a': 1, 'b': 2 }, function(value, key) {\n * console.log(key);\n * });\n * // => Logs 'a' then 'b' (iteration order is not guaranteed).\n */\nfunction forEach(collection, iteratee) {\n var func = isArray(collection) ? arrayEach : baseEach;\n return func(collection, castFunction(iteratee));\n}\n\nexport default forEach;\n","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _without from \"lodash-es/without\";\nimport cx from 'clsx';\nimport PropTypes from 'prop-types';\nimport React from 'react';\nimport { childrenUtils, customPropTypes, getElementType, getUnhandledProps, SUI } from '../../lib';\n/**\n * Several icons can be used together as a group.\n */\n\nfunction IconGroup(props) {\n var children = props.children,\n className = props.className,\n content = props.content,\n size = props.size;\n var classes = cx(size, 'icons', className);\n var rest = getUnhandledProps(IconGroup, props);\n var ElementType = getElementType(IconGroup, props);\n return /*#__PURE__*/React.createElement(ElementType, _extends({}, rest, {\n className: classes\n }), childrenUtils.isNil(children) ? content : children);\n}\n\nIconGroup.handledProps = [\"as\", \"children\", \"className\", \"content\", \"size\"];\nIconGroup.propTypes = process.env.NODE_ENV !== \"production\" ? {\n /** An element type to render as (string or function). */\n as: PropTypes.elementType,\n\n /** Primary content. */\n children: PropTypes.node,\n\n /** Additional classes. */\n className: PropTypes.string,\n\n /** Shorthand for primary content. */\n content: customPropTypes.contentShorthand,\n\n /** Size of the icon group. */\n size: PropTypes.oneOf(_without(SUI.SIZES, 'medium'))\n} : {};\nIconGroup.defaultProps = {\n as: 'i'\n};\nexport default IconGroup;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _inheritsLoose from \"@babel/runtime/helpers/esm/inheritsLoose\";\nimport _without from \"lodash-es/without\";\nimport _invoke from \"lodash-es/invoke\";\nimport _isNil from \"lodash-es/isNil\";\nimport cx from 'clsx';\nimport PropTypes from 'prop-types';\nimport React, { PureComponent } from 'react';\nimport { createShorthandFactory, customPropTypes, getElementType, getUnhandledProps, SUI, useKeyOnly, useKeyOrValueAndKey, useValueAndKey } from '../../lib';\nimport IconGroup from './IconGroup';\n/**\n * An icon is a glyph used to represent something else.\n * @see Image\n */\n\nvar Icon = /*#__PURE__*/function (_PureComponent) {\n _inheritsLoose(Icon, _PureComponent);\n\n function Icon() {\n var _this;\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 = _PureComponent.call.apply(_PureComponent, [this].concat(args)) || this;\n\n _this.handleClick = function (e) {\n var disabled = _this.props.disabled;\n\n if (disabled) {\n e.preventDefault();\n return;\n }\n\n _invoke(_this.props, 'onClick', e, _this.props);\n };\n\n return _this;\n }\n\n var _proto = Icon.prototype;\n\n _proto.getIconAriaOptions = function getIconAriaOptions() {\n var ariaOptions = {};\n var _this$props = this.props,\n ariaLabel = _this$props['aria-label'],\n ariaHidden = _this$props['aria-hidden'];\n\n if (_isNil(ariaLabel)) {\n ariaOptions['aria-hidden'] = 'true';\n } else {\n ariaOptions['aria-label'] = ariaLabel;\n }\n\n if (!_isNil(ariaHidden)) {\n ariaOptions['aria-hidden'] = ariaHidden;\n }\n\n return ariaOptions;\n };\n\n _proto.render = function render() {\n var _this$props2 = this.props,\n bordered = _this$props2.bordered,\n circular = _this$props2.circular,\n className = _this$props2.className,\n color = _this$props2.color,\n corner = _this$props2.corner,\n disabled = _this$props2.disabled,\n fitted = _this$props2.fitted,\n flipped = _this$props2.flipped,\n inverted = _this$props2.inverted,\n link = _this$props2.link,\n loading = _this$props2.loading,\n name = _this$props2.name,\n rotated = _this$props2.rotated,\n size = _this$props2.size;\n var classes = cx(color, name, size, useKeyOnly(bordered, 'bordered'), useKeyOnly(circular, 'circular'), useKeyOnly(disabled, 'disabled'), useKeyOnly(fitted, 'fitted'), useKeyOnly(inverted, 'inverted'), useKeyOnly(link, 'link'), useKeyOnly(loading, 'loading'), useKeyOrValueAndKey(corner, 'corner'), useValueAndKey(flipped, 'flipped'), useValueAndKey(rotated, 'rotated'), 'icon', className);\n var rest = getUnhandledProps(Icon, this.props);\n var ElementType = getElementType(Icon, this.props);\n var ariaOptions = this.getIconAriaOptions();\n return /*#__PURE__*/React.createElement(ElementType, _extends({}, rest, ariaOptions, {\n className: classes,\n onClick: this.handleClick\n }));\n };\n\n return Icon;\n}(PureComponent);\n\nIcon.handledProps = [\"aria-hidden\", \"aria-label\", \"as\", \"bordered\", \"circular\", \"className\", \"color\", \"corner\", \"disabled\", \"fitted\", \"flipped\", \"inverted\", \"link\", \"loading\", \"name\", \"rotated\", \"size\"];\nIcon.propTypes = process.env.NODE_ENV !== \"production\" ? {\n /** An element type to render as (string or function). */\n as: PropTypes.elementType,\n\n /** Formatted to appear bordered. */\n bordered: PropTypes.bool,\n\n /** Icon can formatted to appear circular. */\n circular: PropTypes.bool,\n\n /** Additional classes. */\n className: PropTypes.string,\n\n /** Color of the icon. */\n color: PropTypes.oneOf(SUI.COLORS),\n\n /** Icons can display a smaller corner icon. */\n corner: PropTypes.oneOfType([PropTypes.bool, PropTypes.oneOf(['top left', 'top right', 'bottom left', 'bottom right'])]),\n\n /** Show that the icon is inactive. */\n disabled: PropTypes.bool,\n\n /** Fitted, without space to left or right of Icon. */\n fitted: PropTypes.bool,\n\n /** Icon can be flipped. */\n flipped: PropTypes.oneOf(['horizontally', 'vertically']),\n\n /** Formatted to have its colors inverted for contrast. */\n inverted: PropTypes.bool,\n\n /** Icon can be formatted as a link. */\n link: PropTypes.bool,\n\n /** Icon can be used as a simple loader. */\n loading: PropTypes.bool,\n\n /** Name of the icon. */\n name: customPropTypes.suggest(SUI.ALL_ICONS_IN_ALL_CONTEXTS),\n\n /** Icon can rotated. */\n rotated: PropTypes.oneOf(['clockwise', 'counterclockwise']),\n\n /** Size of the icon. */\n size: PropTypes.oneOf(_without(SUI.SIZES, 'medium')),\n\n /** Icon can have an aria label. */\n 'aria-hidden': PropTypes.string,\n\n /** Icon can have an aria label. */\n 'aria-label': PropTypes.string\n} : {};\nIcon.defaultProps = {\n as: 'i'\n};\nIcon.Group = IconGroup;\nIcon.create = createShorthandFactory(Icon, function (value) {\n return {\n name: value\n };\n});\nexport default Icon;","/** Used for built-in method references. */\nvar funcProto = Function.prototype;\n\n/** Used to resolve the decompiled source of functions. */\nvar funcToString = funcProto.toString;\n\n/**\n * Converts `func` to its source code.\n *\n * @private\n * @param {Function} func The function to convert.\n * @returns {string} Returns the source code.\n */\nfunction toSource(func) {\n if (func != null) {\n try {\n return funcToString.call(func);\n } catch (e) {}\n try {\n return (func + '');\n } catch (e) {}\n }\n return '';\n}\n\nexport default toSource;\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\nexport default identity;\n","/**\n * A specialized version of `_.map` for arrays without support for iteratee\n * shorthands.\n *\n * @private\n * @param {Array} [array] The array to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Array} Returns the new mapped array.\n */\nfunction arrayMap(array, iteratee) {\n var index = -1,\n length = array == null ? 0 : array.length,\n result = Array(length);\n\n while (++index < length) {\n result[index] = iteratee(array[index], index, array);\n }\n return result;\n}\n\nexport default arrayMap;\n","/**\n * Performs a\n * [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)\n * comparison between two values to determine if they are equivalent.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @returns {boolean} Returns `true` if the values are equivalent, else `false`.\n * @example\n *\n * var object = { 'a': 1 };\n * var other = { 'a': 1 };\n *\n * _.eq(object, object);\n * // => true\n *\n * _.eq(object, other);\n * // => false\n *\n * _.eq('a', 'a');\n * // => true\n *\n * _.eq('a', Object('a'));\n * // => false\n *\n * _.eq(NaN, NaN);\n * // => true\n */\nfunction eq(value, other) {\n return value === other || (value !== value && other !== other);\n}\n\nexport default eq;\n","/**\n * Converts `set` to an array of its values.\n *\n * @private\n * @param {Object} set The set to convert.\n * @returns {Array} Returns the values.\n */\nfunction setToArray(set) {\n var index = -1,\n result = Array(set.size);\n\n set.forEach(function(value) {\n result[++index] = value;\n });\n return result;\n}\n\nexport default setToArray;\n","/**\n * Based on Kendo UI Core expression code <https://github.com/telerik/kendo-ui-core#license-information>\n */\n'use strict'\n\nfunction Cache(maxSize) {\n this._maxSize = maxSize\n this.clear()\n}\nCache.prototype.clear = function () {\n this._size = 0\n this._values = Object.create(null)\n}\nCache.prototype.get = function (key) {\n return this._values[key]\n}\nCache.prototype.set = function (key, value) {\n this._size >= this._maxSize && this.clear()\n if (!(key in this._values)) this._size++\n\n return (this._values[key] = value)\n}\n\nvar SPLIT_REGEX = /[^.^\\]^[]+|(?=\\[\\]|\\.\\.)/g,\n DIGIT_REGEX = /^\\d+$/,\n LEAD_DIGIT_REGEX = /^\\d/,\n SPEC_CHAR_REGEX = /[~`!#$%\\^&*+=\\-\\[\\]\\\\';,/{}|\\\\\":<>\\?]/g,\n CLEAN_QUOTES_REGEX = /^\\s*(['\"]?)(.*?)(\\1)\\s*$/,\n MAX_CACHE_SIZE = 512\n\nvar pathCache = new Cache(MAX_CACHE_SIZE),\n setCache = new Cache(MAX_CACHE_SIZE),\n getCache = new Cache(MAX_CACHE_SIZE)\n\nvar config\n\nmodule.exports = {\n Cache: Cache,\n\n split: split,\n\n normalizePath: normalizePath,\n\n setter: function (path) {\n var parts = normalizePath(path)\n\n return (\n setCache.get(path) ||\n setCache.set(path, function setter(obj, value) {\n var index = 0\n var len = parts.length\n var data = obj\n\n while (index < len - 1) {\n var part = parts[index]\n if (\n part === '__proto__' ||\n part === 'constructor' ||\n part === 'prototype'\n ) {\n return obj\n }\n\n data = data[parts[index++]]\n }\n data[parts[index]] = value\n })\n )\n },\n\n getter: function (path, safe) {\n var parts = normalizePath(path)\n return (\n getCache.get(path) ||\n getCache.set(path, function getter(data) {\n var index = 0,\n len = parts.length\n while (index < len) {\n if (data != null || !safe) data = data[parts[index++]]\n else return\n }\n return data\n })\n )\n },\n\n join: function (segments) {\n return segments.reduce(function (path, part) {\n return (\n path +\n (isQuoted(part) || DIGIT_REGEX.test(part)\n ? '[' + part + ']'\n : (path ? '.' : '') + part)\n )\n }, '')\n },\n\n forEach: function (path, cb, thisArg) {\n forEach(Array.isArray(path) ? path : split(path), cb, thisArg)\n },\n}\n\nfunction normalizePath(path) {\n return (\n pathCache.get(path) ||\n pathCache.set(\n path,\n split(path).map(function (part) {\n return part.replace(CLEAN_QUOTES_REGEX, '$2')\n })\n )\n )\n}\n\nfunction split(path) {\n return path.match(SPLIT_REGEX)\n}\n\nfunction forEach(parts, iter, thisArg) {\n var len = parts.length,\n part,\n idx,\n isArray,\n isBracket\n\n for (idx = 0; idx < len; idx++) {\n part = parts[idx]\n\n if (part) {\n if (shouldBeQuoted(part)) {\n part = '\"' + part + '\"'\n }\n\n isBracket = isQuoted(part)\n isArray = !isBracket && /^\\d+$/.test(part)\n\n iter.call(thisArg, part, isBracket, isArray, idx, parts)\n }\n }\n}\n\nfunction isQuoted(str) {\n return (\n typeof str === 'string' && str && [\"'\", '\"'].indexOf(str.charAt(0)) !== -1\n )\n}\n\nfunction hasLeadingNumber(part) {\n return part.match(LEAD_DIGIT_REGEX) && !part.match(DIGIT_REGEX)\n}\n\nfunction hasSpecialChars(part) {\n return SPEC_CHAR_REGEX.test(part)\n}\n\nfunction shouldBeQuoted(part) {\n return !isQuoted(part) && (hasLeadingNumber(part) || hasSpecialChars(part))\n}\n","/**\n * Removes all key-value entries from the list cache.\n *\n * @private\n * @name clear\n * @memberOf ListCache\n */\nfunction listCacheClear() {\n this.__data__ = [];\n this.size = 0;\n}\n\nexport default listCacheClear;\n","import eq from './eq.js';\n\n/**\n * Gets the index at which the `key` is found in `array` of key-value pairs.\n *\n * @private\n * @param {Array} array The array to inspect.\n * @param {*} key The key to search for.\n * @returns {number} Returns the index of the matched value, else `-1`.\n */\nfunction assocIndexOf(array, key) {\n var length = array.length;\n while (length--) {\n if (eq(array[length][0], key)) {\n return length;\n }\n }\n return -1;\n}\n\nexport default assocIndexOf;\n","import assocIndexOf from './_assocIndexOf.js';\n\n/** Used for built-in method references. */\nvar arrayProto = Array.prototype;\n\n/** Built-in value references. */\nvar splice = arrayProto.splice;\n\n/**\n * Removes `key` and its value from the list cache.\n *\n * @private\n * @name delete\n * @memberOf ListCache\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction listCacheDelete(key) {\n var data = this.__data__,\n index = assocIndexOf(data, key);\n\n if (index < 0) {\n return false;\n }\n var lastIndex = data.length - 1;\n if (index == lastIndex) {\n data.pop();\n } else {\n splice.call(data, index, 1);\n }\n --this.size;\n return true;\n}\n\nexport default listCacheDelete;\n","import assocIndexOf from './_assocIndexOf.js';\n\n/**\n * Gets the list cache value for `key`.\n *\n * @private\n * @name get\n * @memberOf ListCache\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction listCacheGet(key) {\n var data = this.__data__,\n index = assocIndexOf(data, key);\n\n return index < 0 ? undefined : data[index][1];\n}\n\nexport default listCacheGet;\n","import assocIndexOf from './_assocIndexOf.js';\n\n/**\n * Checks if a list cache value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf ListCache\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction listCacheHas(key) {\n return assocIndexOf(this.__data__, key) > -1;\n}\n\nexport default listCacheHas;\n","import assocIndexOf from './_assocIndexOf.js';\n\n/**\n * Sets the list cache `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf ListCache\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the list cache instance.\n */\nfunction listCacheSet(key, value) {\n var data = this.__data__,\n index = assocIndexOf(data, key);\n\n if (index < 0) {\n ++this.size;\n data.push([key, value]);\n } else {\n data[index][1] = value;\n }\n return this;\n}\n\nexport default listCacheSet;\n","import listCacheClear from './_listCacheClear.js';\nimport listCacheDelete from './_listCacheDelete.js';\nimport listCacheGet from './_listCacheGet.js';\nimport listCacheHas from './_listCacheHas.js';\nimport listCacheSet from './_listCacheSet.js';\n\n/**\n * Creates an list cache object.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction ListCache(entries) {\n var index = -1,\n length = entries == null ? 0 : entries.length;\n\n this.clear();\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\n}\n\n// Add methods to `ListCache`.\nListCache.prototype.clear = listCacheClear;\nListCache.prototype['delete'] = listCacheDelete;\nListCache.prototype.get = listCacheGet;\nListCache.prototype.has = listCacheHas;\nListCache.prototype.set = listCacheSet;\n\nexport default ListCache;\n","import getNative from './_getNative.js';\nimport root from './_root.js';\n\n/* Built-in method references that are verified to be native. */\nvar Map = getNative(root, 'Map');\n\nexport default Map;\n","/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport function __createBinding(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n}\r\n\r\nexport function __exportStar(m, exports) {\r\n for (var p in m) if (p !== \"default\" && !exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n};\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];\r\n result.default = mod;\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, privateMap) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to get private field on non-instance\");\r\n }\r\n return privateMap.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, privateMap, value) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to set private field on non-instance\");\r\n }\r\n privateMap.set(receiver, value);\r\n return value;\r\n}\r\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport { Link, NavLink } from 'react-router-dom';\n\nlet hashFragment = '';\nlet observer = null;\nlet asyncTimerId = null;\nlet scrollFunction = null;\n\nfunction reset() {\n hashFragment = '';\n if (observer !== null) observer.disconnect();\n if (asyncTimerId !== null) {\n window.clearTimeout(asyncTimerId);\n asyncTimerId = null;\n }\n}\n\nfunction isInteractiveElement(element) {\n const formTags = ['BUTTON', 'INPUT', 'SELECT', 'TEXTAREA'];\n const linkTags = ['A', 'AREA'];\n return (\n (formTags.includes(element.tagName) && !element.hasAttribute('disabled')) ||\n (linkTags.includes(element.tagName) && element.hasAttribute('href'))\n );\n}\n\nfunction getElAndScroll() {\n let element = null;\n if (hashFragment === '#') {\n // use document.body instead of document.documentElement because of a bug in smoothscroll-polyfill in safari\n // see https://github.com/iamdustan/smoothscroll/issues/138\n // while smoothscroll-polyfill is not included, it is the recommended way to implement smoothscroll\n // in browsers that don't natively support el.scrollIntoView({ behavior: 'smooth' })\n element = document.body;\n } else {\n // check for element with matching id before assume '#top' is the top of the document\n // see https://html.spec.whatwg.org/multipage/browsing-the-web.html#target-element\n const id = hashFragment.replace('#', '');\n element = document.getElementById(id);\n if (element === null && hashFragment === '#top') {\n // see above comment for why document.body instead of document.documentElement\n element = document.body;\n }\n }\n\n if (element !== null) {\n scrollFunction(element);\n\n // update focus to where the page is scrolled to\n // unfortunately this doesn't work in safari (desktop and iOS) when blur() is called\n let originalTabIndex = element.getAttribute('tabindex');\n if (originalTabIndex === null && !isInteractiveElement(element)) {\n element.setAttribute('tabindex', -1);\n }\n element.focus({ preventScroll: true });\n if (originalTabIndex === null && !isInteractiveElement(element)) {\n // for some reason calling blur() in safari resets the focus region to where it was previously,\n // if blur() is not called it works in safari, but then are stuck with default focus styles\n // on an element that otherwise might never had focus styles applied, so not an option\n element.blur();\n element.removeAttribute('tabindex');\n }\n\n reset();\n return true;\n }\n return false;\n}\n\nfunction hashLinkScroll(timeout) {\n // Push onto callback queue so it runs after the DOM is updated\n window.setTimeout(() => {\n if (getElAndScroll() === false) {\n if (observer === null) {\n observer = new MutationObserver(getElAndScroll);\n }\n observer.observe(document, {\n attributes: true,\n childList: true,\n subtree: true,\n });\n // if the element doesn't show up in specified timeout or 10 seconds, stop checking\n asyncTimerId = window.setTimeout(() => {\n reset();\n }, timeout || 10000);\n }\n }, 0);\n}\n\nexport function genericHashLink(As) {\n return React.forwardRef((props, ref) => {\n let linkHash = '';\n if (typeof props.to === 'string' && props.to.includes('#')) {\n linkHash = `#${props.to.split('#').slice(1).join('#')}`;\n } else if (\n typeof props.to === 'object' &&\n typeof props.to.hash === 'string'\n ) {\n linkHash = props.to.hash;\n }\n\n const passDownProps = {};\n if (As === NavLink) {\n passDownProps.isActive = (match, location) =>\n match && match.isExact && location.hash === linkHash;\n }\n\n function handleClick(e) {\n reset();\n hashFragment = props.elementId ? `#${props.elementId}` : linkHash;\n if (props.onClick) props.onClick(e);\n if (hashFragment !== '') {\n scrollFunction =\n props.scroll ||\n ((el) =>\n props.smooth\n ? el.scrollIntoView({ behavior: 'smooth' })\n : el.scrollIntoView());\n hashLinkScroll(props.timeout);\n }\n }\n const { scroll, smooth, timeout, elementId, ...filteredProps } = props;\n return (\n <As {...passDownProps} {...filteredProps} onClick={handleClick} ref={ref}>\n {props.children}\n </As>\n );\n });\n}\n\nexport const HashLink = genericHashLink(Link);\n\nexport const NavHashLink = genericHashLink(NavLink);\n\nif (process.env.NODE_ENV !== 'production') {\n HashLink.displayName = 'HashLink';\n NavHashLink.displayName = 'NavHashLink';\n \n const propTypes = {\n onClick: PropTypes.func,\n children: PropTypes.node,\n scroll: PropTypes.func,\n timeout: PropTypes.number,\n elementId: PropTypes.string,\n to: PropTypes.oneOfType([PropTypes.string, PropTypes.object]),\n };\n \n HashLink.propTypes = propTypes;\n NavHashLink.propTypes = propTypes;\n}\n","import ListCache from './_ListCache.js';\n\n/**\n * Removes all key-value entries from the stack.\n *\n * @private\n * @name clear\n * @memberOf Stack\n */\nfunction stackClear() {\n this.__data__ = new ListCache;\n this.size = 0;\n}\n\nexport default stackClear;\n","/**\n * Removes `key` and its value from the stack.\n *\n * @private\n * @name delete\n * @memberOf Stack\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction stackDelete(key) {\n var data = this.__data__,\n result = data['delete'](key);\n\n this.size = data.size;\n return result;\n}\n\nexport default stackDelete;\n","/**\n * Gets the stack value for `key`.\n *\n * @private\n * @name get\n * @memberOf Stack\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction stackGet(key) {\n return this.__data__.get(key);\n}\n\nexport default stackGet;\n","/**\n * Checks if a stack value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf Stack\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction stackHas(key) {\n return this.__data__.has(key);\n}\n\nexport default stackHas;\n","import ListCache from './_ListCache.js';\nimport Map from './_Map.js';\nimport MapCache from './_MapCache.js';\n\n/** Used as the size to enable large array optimizations. */\nvar LARGE_ARRAY_SIZE = 200;\n\n/**\n * Sets the stack `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf Stack\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the stack cache instance.\n */\nfunction stackSet(key, value) {\n var data = this.__data__;\n if (data instanceof ListCache) {\n var pairs = data.__data__;\n if (!Map || (pairs.length < LARGE_ARRAY_SIZE - 1)) {\n pairs.push([key, value]);\n this.size = ++data.size;\n return this;\n }\n data = this.__data__ = new MapCache(pairs);\n }\n data.set(key, value);\n this.size = data.size;\n return this;\n}\n\nexport default stackSet;\n","import ListCache from './_ListCache.js';\nimport stackClear from './_stackClear.js';\nimport stackDelete from './_stackDelete.js';\nimport stackGet from './_stackGet.js';\nimport stackHas from './_stackHas.js';\nimport stackSet from './_stackSet.js';\n\n/**\n * Creates a stack cache object to store key-value pairs.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction Stack(entries) {\n var data = this.__data__ = new ListCache(entries);\n this.size = data.size;\n}\n\n// Add methods to `Stack`.\nStack.prototype.clear = stackClear;\nStack.prototype['delete'] = stackDelete;\nStack.prototype.get = stackGet;\nStack.prototype.has = stackHas;\nStack.prototype.set = stackSet;\n\nexport default Stack;\n","/**\n * Returns an object consisting of props beyond the scope of the Component.\n * Useful for getting and spreading unknown props from the user.\n * @param {function} Component A function or ReactClass.\n * @param {object} props A ReactElement props object\n * @returns {{}} A shallow copy of the prop object\n */\nvar getUnhandledProps = function getUnhandledProps(Component, props) {\n // Note that `handledProps` are generated automatically during build with `babel-plugin-transform-react-handled-props`\n var _Component$handledPro = Component.handledProps,\n handledProps = _Component$handledPro === void 0 ? [] : _Component$handledPro;\n return Object.keys(props).reduce(function (acc, prop) {\n if (prop === 'childKey') return acc;\n if (handledProps.indexOf(prop) === -1) acc[prop] = props[prop];\n return acc;\n }, {});\n};\n\nexport default getUnhandledProps;","/**\n * Returns a createElement() type based on the props of the Component.\n * Useful for calculating what type a component should render as.\n *\n * @param {function} Component A function or ReactClass.\n * @param {object} props A ReactElement props object\n * @param {function} [getDefault] A function that returns a default element type.\n * @returns {string|function} A ReactElement type\n */\nfunction getElementType(Component, props, getDefault) {\n var _Component$defaultPro = Component.defaultProps,\n defaultProps = _Component$defaultPro === void 0 ? {} : _Component$defaultPro; // ----------------------------------------\n // user defined \"as\" element type\n\n if (props.as && props.as !== defaultProps.as) return props.as; // ----------------------------------------\n // computed default element type\n\n if (getDefault) {\n var computedDefault = getDefault();\n if (computedDefault) return computedDefault;\n } // ----------------------------------------\n // infer anchor links\n\n\n if (props.href) return 'a'; // ----------------------------------------\n // use defaultProp or 'div'\n\n return defaultProps.as || 'div';\n}\n\nexport default getElementType;","import getNative from './_getNative.js';\nimport root from './_root.js';\n\n/* Built-in method references that are verified to be native. */\nvar Set = getNative(root, 'Set');\n\nexport default Set;\n","\n'use strict';\n\nvar stack;\n\nif (process.env.NODE_ENV === 'production') {\n stack = require('./cjs/event-stack.production.js');\n} else {\n stack = require('./cjs/event-stack.development.js');\n}\n\nmodule.exports = stack.default;\nmodule.exports.instance = stack.instance;\n","var g;\n\n// This works in non-strict mode\ng = (function() {\n\treturn this;\n})();\n\ntry {\n\t// This works if eval is allowed (see CSP)\n\tg = g || new Function(\"return this\")();\n} catch (e) {\n\t// This works if the window reference is available\n\tif (typeof window === \"object\") g = window;\n}\n\n// g can still be undefined, but nothing to do about it...\n// We return undefined, instead of nothing here, so it's\n// easier to handle this case. if(!global) { ...}\n\nmodule.exports = g;\n","var baseIsNative = require('./_baseIsNative'),\n getValue = require('./_getValue');\n\n/**\n * Gets the native function at `key` of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {string} key The key of the method to get.\n * @returns {*} Returns the function if it's native, else `undefined`.\n */\nfunction getNative(object, key) {\n var value = getValue(object, key);\n return baseIsNative(value) ? value : undefined;\n}\n\nmodule.exports = getNative;\n","import _includes from \"lodash-es/includes\";\nimport _forEach from \"lodash-es/forEach\";\nexport var htmlInputAttrs = [// REACT\n'selected', 'defaultValue', 'defaultChecked', // LIMITED HTML PROPS\n'accept', 'autoCapitalize', 'autoComplete', 'autoCorrect', 'autoFocus', 'checked', 'disabled', 'form', 'id', 'inputMode', 'lang', 'list', 'max', 'maxLength', 'min', 'minLength', 'multiple', 'name', 'pattern', 'placeholder', 'readOnly', 'required', 'step', 'title', 'type', 'value'];\nexport var htmlInputEvents = [// EVENTS\n// keyboard\n'onKeyDown', 'onKeyPress', 'onKeyUp', // focus\n'onFocus', 'onBlur', // form\n'onChange', 'onInput', // mouse\n'onClick', 'onContextMenu', 'onDrag', 'onDragEnd', 'onDragEnter', 'onDragExit', 'onDragLeave', 'onDragOver', 'onDragStart', 'onDrop', 'onMouseDown', 'onMouseEnter', 'onMouseLeave', 'onMouseMove', 'onMouseOut', 'onMouseOver', 'onMouseUp', // selection\n'onSelect', // touch\n'onTouchCancel', 'onTouchEnd', 'onTouchMove', 'onTouchStart'];\nexport var htmlInputProps = [].concat(htmlInputAttrs, htmlInputEvents);\nexport var htmlImageProps = ['alt', 'height', 'src', 'srcSet', 'width', 'loading'];\n/**\n * Returns an array of objects consisting of: props of html input element and rest.\n * @param {object} props A ReactElement props object\n * @param {Object} [options={}]\n * @param {Array} [options.htmlProps] An array of html input props\n * @param {boolean} [options.includeAria] Includes all input props that starts with \"aria-\"\n * @returns {[{}, {}]} An array of objects\n */\n\nexport var partitionHTMLProps = function partitionHTMLProps(props, options) {\n if (options === void 0) {\n options = {};\n }\n\n var _options = options,\n _options$htmlProps = _options.htmlProps,\n htmlProps = _options$htmlProps === void 0 ? htmlInputProps : _options$htmlProps,\n _options$includeAria = _options.includeAria,\n includeAria = _options$includeAria === void 0 ? true : _options$includeAria;\n var inputProps = {};\n var rest = {};\n\n _forEach(props, function (val, prop) {\n var possibleAria = includeAria && (/^aria-.*$/.test(prop) || prop === 'role');\n var target = _includes(htmlProps, prop) || possibleAria ? inputProps : rest;\n target[prop] = val;\n });\n\n return [inputProps, rest];\n};","'use strict';\n\nfunction checkDCE() {\n /* global __REACT_DEVTOOLS_GLOBAL_HOOK__ */\n if (\n typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ === 'undefined' ||\n typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE !== 'function'\n ) {\n return;\n }\n if (process.env.NODE_ENV !== 'production') {\n // This branch is unreachable because this function is only called\n // in production, but the condition is true only in development.\n // Therefore if the branch is still here, dead code elimination wasn't\n // properly applied.\n // Don't change the message. React DevTools relies on it. Also make sure\n // this message doesn't occur elsewhere in this function, or it will cause\n // a false positive.\n throw new Error('^_^');\n }\n try {\n // Verify that the code above has been dead code eliminated (DCE'd).\n __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(checkDCE);\n } catch (err) {\n // DevTools shouldn't crash React, no matter what.\n // We should still report in case we break this code.\n console.error(err);\n }\n}\n\nif (process.env.NODE_ENV === 'production') {\n // DCE check should happen before ReactDOM bundle executes so that\n // DevTools can report bad minification during injection.\n checkDCE();\n module.exports = require('./cjs/react-dom.production.min.js');\n} else {\n module.exports = require('./cjs/react-dom.development.js');\n}\n","import baseGetTag from './_baseGetTag.js';\nimport isObject from './isObject.js';\n\n/** `Object#toString` result references. */\nvar asyncTag = '[object AsyncFunction]',\n funcTag = '[object Function]',\n genTag = '[object GeneratorFunction]',\n proxyTag = '[object Proxy]';\n\n/**\n * Checks if `value` is classified as a `Function` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a function, else `false`.\n * @example\n *\n * _.isFunction(_);\n * // => true\n *\n * _.isFunction(/abc/);\n * // => false\n */\nfunction isFunction(value) {\n if (!isObject(value)) {\n return false;\n }\n // The use of `Object#toString` avoids issues with the `typeof` operator\n // in Safari 9 which returns 'object' for typed arrays and other constructors.\n var tag = baseGetTag(value);\n return tag == funcTag || tag == genTag || tag == asyncTag || tag == proxyTag;\n}\n\nexport default isFunction;\n","import root from './_root.js';\nimport stubFalse from './stubFalse.js';\n\n/** Detect free variable `exports`. */\nvar freeExports = typeof exports == 'object' && exports && !exports.nodeType && exports;\n\n/** Detect free variable `module`. */\nvar freeModule = freeExports && typeof module == 'object' && module && !module.nodeType && module;\n\n/** Detect the popular CommonJS extension `module.exports`. */\nvar moduleExports = freeModule && freeModule.exports === freeExports;\n\n/** Built-in value references. */\nvar Buffer = moduleExports ? root.Buffer : undefined;\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeIsBuffer = Buffer ? Buffer.isBuffer : undefined;\n\n/**\n * Checks if `value` is a buffer.\n *\n * @static\n * @memberOf _\n * @since 4.3.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a buffer, else `false`.\n * @example\n *\n * _.isBuffer(new Buffer(2));\n * // => true\n *\n * _.isBuffer(new Uint8Array(2));\n * // => false\n */\nvar isBuffer = nativeIsBuffer || stubFalse;\n\nexport default isBuffer;\n","import baseGetTag from './_baseGetTag.js';\nimport getPrototype from './_getPrototype.js';\nimport isObjectLike from './isObjectLike.js';\n\n/** `Object#toString` result references. */\nvar objectTag = '[object Object]';\n\n/** Used for built-in method references. */\nvar funcProto = Function.prototype,\n objectProto = Object.prototype;\n\n/** Used to resolve the decompiled source of functions. */\nvar funcToString = funcProto.toString;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/** Used to infer the `Object` constructor. */\nvar objectCtorString = funcToString.call(Object);\n\n/**\n * Checks if `value` is a plain object, that is, an object created by the\n * `Object` constructor or one with a `[[Prototype]]` of `null`.\n *\n * @static\n * @memberOf _\n * @since 0.8.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a plain object, else `false`.\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * }\n *\n * _.isPlainObject(new Foo);\n * // => false\n *\n * _.isPlainObject([1, 2, 3]);\n * // => false\n *\n * _.isPlainObject({ 'x': 0, 'y': 0 });\n * // => true\n *\n * _.isPlainObject(Object.create(null));\n * // => true\n */\nfunction isPlainObject(value) {\n if (!isObjectLike(value) || baseGetTag(value) != objectTag) {\n return false;\n }\n var proto = getPrototype(value);\n if (proto === null) {\n return true;\n }\n var Ctor = hasOwnProperty.call(proto, 'constructor') && proto.constructor;\n return typeof Ctor == 'function' && Ctor instanceof Ctor &&\n funcToString.call(Ctor) == objectCtorString;\n}\n\nexport default isPlainObject;\n","import getNative from './_getNative.js';\n\n/* Built-in method references that are verified to be native. */\nvar nativeCreate = getNative(Object, 'create');\n\nexport default nativeCreate;\n","import nativeCreate from './_nativeCreate.js';\n\n/**\n * Removes all key-value entries from the hash.\n *\n * @private\n * @name clear\n * @memberOf Hash\n */\nfunction hashClear() {\n this.__data__ = nativeCreate ? nativeCreate(null) : {};\n this.size = 0;\n}\n\nexport default hashClear;\n","/**\n * Removes `key` and its value from the hash.\n *\n * @private\n * @name delete\n * @memberOf Hash\n * @param {Object} hash The hash to modify.\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction hashDelete(key) {\n var result = this.has(key) && delete this.__data__[key];\n this.size -= result ? 1 : 0;\n return result;\n}\n\nexport default hashDelete;\n","import nativeCreate from './_nativeCreate.js';\n\n/** Used to stand-in for `undefined` hash values. */\nvar HASH_UNDEFINED = '__lodash_hash_undefined__';\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Gets the hash value for `key`.\n *\n * @private\n * @name get\n * @memberOf Hash\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction hashGet(key) {\n var data = this.__data__;\n if (nativeCreate) {\n var result = data[key];\n return result === HASH_UNDEFINED ? undefined : result;\n }\n return hasOwnProperty.call(data, key) ? data[key] : undefined;\n}\n\nexport default hashGet;\n","import nativeCreate from './_nativeCreate.js';\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Checks if a hash value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf Hash\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction hashHas(key) {\n var data = this.__data__;\n return nativeCreate ? (data[key] !== undefined) : hasOwnProperty.call(data, key);\n}\n\nexport default hashHas;\n","import nativeCreate from './_nativeCreate.js';\n\n/** Used to stand-in for `undefined` hash values. */\nvar HASH_UNDEFINED = '__lodash_hash_undefined__';\n\n/**\n * Sets the hash `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf Hash\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the hash instance.\n */\nfunction hashSet(key, value) {\n var data = this.__data__;\n this.size += this.has(key) ? 0 : 1;\n data[key] = (nativeCreate && value === undefined) ? HASH_UNDEFINED : value;\n return this;\n}\n\nexport default hashSet;\n","import hashClear from './_hashClear.js';\nimport hashDelete from './_hashDelete.js';\nimport hashGet from './_hashGet.js';\nimport hashHas from './_hashHas.js';\nimport hashSet from './_hashSet.js';\n\n/**\n * Creates a hash object.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction Hash(entries) {\n var index = -1,\n length = entries == null ? 0 : entries.length;\n\n this.clear();\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\n}\n\n// Add methods to `Hash`.\nHash.prototype.clear = hashClear;\nHash.prototype['delete'] = hashDelete;\nHash.prototype.get = hashGet;\nHash.prototype.has = hashHas;\nHash.prototype.set = hashSet;\n\nexport default Hash;\n","import Hash from './_Hash.js';\nimport ListCache from './_ListCache.js';\nimport Map from './_Map.js';\n\n/**\n * Removes all key-value entries from the map.\n *\n * @private\n * @name clear\n * @memberOf MapCache\n */\nfunction mapCacheClear() {\n this.size = 0;\n this.__data__ = {\n 'hash': new Hash,\n 'map': new (Map || ListCache),\n 'string': new Hash\n };\n}\n\nexport default mapCacheClear;\n","/**\n * Checks if `value` is suitable for use as unique object key.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is suitable, else `false`.\n */\nfunction isKeyable(value) {\n var type = typeof value;\n return (type == 'string' || type == 'number' || type == 'symbol' || type == 'boolean')\n ? (value !== '__proto__')\n : (value === null);\n}\n\nexport default isKeyable;\n","import isKeyable from './_isKeyable.js';\n\n/**\n * Gets the data for `map`.\n *\n * @private\n * @param {Object} map The map to query.\n * @param {string} key The reference key.\n * @returns {*} Returns the map data.\n */\nfunction getMapData(map, key) {\n var data = map.__data__;\n return isKeyable(key)\n ? data[typeof key == 'string' ? 'string' : 'hash']\n : data.map;\n}\n\nexport default getMapData;\n","import getMapData from './_getMapData.js';\n\n/**\n * Removes `key` and its value from the map.\n *\n * @private\n * @name delete\n * @memberOf MapCache\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction mapCacheDelete(key) {\n var result = getMapData(this, key)['delete'](key);\n this.size -= result ? 1 : 0;\n return result;\n}\n\nexport default mapCacheDelete;\n","import getMapData from './_getMapData.js';\n\n/**\n * Gets the map value for `key`.\n *\n * @private\n * @name get\n * @memberOf MapCache\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction mapCacheGet(key) {\n return getMapData(this, key).get(key);\n}\n\nexport default mapCacheGet;\n","import getMapData from './_getMapData.js';\n\n/**\n * Checks if a map value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf MapCache\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction mapCacheHas(key) {\n return getMapData(this, key).has(key);\n}\n\nexport default mapCacheHas;\n","import getMapData from './_getMapData.js';\n\n/**\n * Sets the map `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf MapCache\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the map cache instance.\n */\nfunction mapCacheSet(key, value) {\n var data = getMapData(this, key),\n size = data.size;\n\n data.set(key, value);\n this.size += data.size == size ? 0 : 1;\n return this;\n}\n\nexport default mapCacheSet;\n","import mapCacheClear from './_mapCacheClear.js';\nimport mapCacheDelete from './_mapCacheDelete.js';\nimport mapCacheGet from './_mapCacheGet.js';\nimport mapCacheHas from './_mapCacheHas.js';\nimport mapCacheSet from './_mapCacheSet.js';\n\n/**\n * Creates a map cache object to store key-value pairs.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction MapCache(entries) {\n var index = -1,\n length = entries == null ? 0 : entries.length;\n\n this.clear();\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\n}\n\n// Add methods to `MapCache`.\nMapCache.prototype.clear = mapCacheClear;\nMapCache.prototype['delete'] = mapCacheDelete;\nMapCache.prototype.get = mapCacheGet;\nMapCache.prototype.has = mapCacheHas;\nMapCache.prototype.set = mapCacheSet;\n\nexport default MapCache;\n","import { useEffect, useLayoutEffect } from 'react';\n\nfunction useIsomorphicLayoutEffect(callback, deps) {\n // eslint-disable-next-line\n if (typeof window === 'undefined') return useEffect(callback, deps);\n return useLayoutEffect(callback, deps);\n}\n\nexport { useIsomorphicLayoutEffect };","/** Used as references for various `Number` constants. */\nvar MAX_SAFE_INTEGER = 9007199254740991;\n\n/**\n * Checks if `value` is a valid array-like length.\n *\n * **Note:** This method is loosely based on\n * [`ToLength`](http://ecma-international.org/ecma-262/7.0/#sec-tolength).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a valid length, else `false`.\n * @example\n *\n * _.isLength(3);\n * // => true\n *\n * _.isLength(Number.MIN_VALUE);\n * // => false\n *\n * _.isLength(Infinity);\n * // => false\n *\n * _.isLength('3');\n * // => false\n */\nfunction isLength(value) {\n return typeof value == 'number' &&\n value > -1 && value % 1 == 0 && value <= MAX_SAFE_INTEGER;\n}\n\nexport default isLength;\n","/**\n * The base implementation of `_.unary` without support for storing metadata.\n *\n * @private\n * @param {Function} func The function to cap arguments for.\n * @returns {Function} Returns the new capped function.\n */\nfunction baseUnary(func) {\n return function(value) {\n return func(value);\n };\n}\n\nexport default baseUnary;\n","/** Used as references for various `Number` constants. */\nvar MAX_SAFE_INTEGER = 9007199254740991;\n\n/** Used to detect unsigned integer values. */\nvar reIsUint = /^(?:0|[1-9]\\d*)$/;\n\n/**\n * Checks if `value` is a valid array-like index.\n *\n * @private\n * @param {*} value The value to check.\n * @param {number} [length=MAX_SAFE_INTEGER] The upper bounds of a valid index.\n * @returns {boolean} Returns `true` if `value` is a valid index, else `false`.\n */\nfunction isIndex(value, length) {\n var type = typeof value;\n length = length == null ? MAX_SAFE_INTEGER : length;\n\n return !!length &&\n (type == 'number' ||\n (type != 'symbol' && reIsUint.test(value))) &&\n (value > -1 && value % 1 == 0 && value < length);\n}\n\nexport default isIndex;\n","/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/**\n * Checks if `value` is likely a prototype object.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a prototype, else `false`.\n */\nfunction isPrototype(value) {\n var Ctor = value && value.constructor,\n proto = (typeof Ctor == 'function' && Ctor.prototype) || objectProto;\n\n return value === proto;\n}\n\nexport default isPrototype;\n","import baseIndexOf from './_baseIndexOf.js';\nimport isArrayLike from './isArrayLike.js';\nimport isString from './isString.js';\nimport toInteger from './toInteger.js';\nimport values from './values.js';\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeMax = Math.max;\n\n/**\n * Checks if `value` is in `collection`. If `collection` is a string, it's\n * checked for a substring of `value`, otherwise\n * [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)\n * is used for equality comparisons. If `fromIndex` is negative, it's used as\n * the offset from the end of `collection`.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Collection\n * @param {Array|Object|string} collection The collection to inspect.\n * @param {*} value The value to search for.\n * @param {number} [fromIndex=0] The index to search from.\n * @param- {Object} [guard] Enables use as an iteratee for methods like `_.reduce`.\n * @returns {boolean} Returns `true` if `value` is found, else `false`.\n * @example\n *\n * _.includes([1, 2, 3], 1);\n * // => true\n *\n * _.includes([1, 2, 3], 1, 2);\n * // => false\n *\n * _.includes({ 'a': 1, 'b': 2 }, 1);\n * // => true\n *\n * _.includes('abcd', 'bc');\n * // => true\n */\nfunction includes(collection, value, fromIndex, guard) {\n collection = isArrayLike(collection) ? collection : values(collection);\n fromIndex = (fromIndex && !guard) ? toInteger(fromIndex) : 0;\n\n var length = collection.length;\n if (fromIndex < 0) {\n fromIndex = nativeMax(length + fromIndex, 0);\n }\n return isString(collection)\n ? (fromIndex <= length && collection.indexOf(value, fromIndex) > -1)\n : (!!length && baseIndexOf(collection, value, fromIndex) > -1);\n}\n\nexport default includes;\n","import baseGetTag from './_baseGetTag.js';\nimport isArray from './isArray.js';\nimport isObjectLike from './isObjectLike.js';\n\n/** `Object#toString` result references. */\nvar stringTag = '[object String]';\n\n/**\n * Checks if `value` is classified as a `String` primitive or object.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a string, else `false`.\n * @example\n *\n * _.isString('abc');\n * // => true\n *\n * _.isString(1);\n * // => false\n */\nfunction isString(value) {\n return typeof value == 'string' ||\n (!isArray(value) && isObjectLike(value) && baseGetTag(value) == stringTag);\n}\n\nexport default isString;\n","import isArray from './isArray.js';\nimport isSymbol from './isSymbol.js';\n\n/** Used to match property names within property paths. */\nvar reIsDeepProp = /\\.|\\[(?:[^[\\]]*|([\"'])(?:(?!\\1)[^\\\\]|\\\\.)*?\\1)\\]/,\n reIsPlainProp = /^\\w*$/;\n\n/**\n * Checks if `value` is a property name and not a property path.\n *\n * @private\n * @param {*} value The value to check.\n * @param {Object} [object] The object to query keys on.\n * @returns {boolean} Returns `true` if `value` is a property name, else `false`.\n */\nfunction isKey(value, object) {\n if (isArray(value)) {\n return false;\n }\n var type = typeof value;\n if (type == 'number' || type == 'symbol' || type == 'boolean' ||\n value == null || isSymbol(value)) {\n return true;\n }\n return reIsPlainProp.test(value) || !reIsDeepProp.test(value) ||\n (object != null && value in Object(object));\n}\n\nexport default isKey;\n","import castPath from './_castPath.js';\nimport toKey from './_toKey.js';\n\n/**\n * The base implementation of `_.get` without support for default values.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {Array|string} path The path of the property to get.\n * @returns {*} Returns the resolved value.\n */\nfunction baseGet(object, path) {\n path = castPath(path, object);\n\n var index = 0,\n length = path.length;\n\n while (object != null && index < length) {\n object = object[toKey(path[index++])];\n }\n return (index && index == length) ? object : undefined;\n}\n\nexport default baseGet;\n","import isArray from './isArray.js';\nimport isKey from './_isKey.js';\nimport stringToPath from './_stringToPath.js';\nimport toString from './toString.js';\n\n/**\n * Casts `value` to a path array if it's not one.\n *\n * @private\n * @param {*} value The value to inspect.\n * @param {Object} [object] The object to query keys on.\n * @returns {Array} Returns the cast property path array.\n */\nfunction castPath(value, object) {\n if (isArray(value)) {\n return value;\n }\n return isKey(value, object) ? [value] : stringToPath(toString(value));\n}\n\nexport default castPath;\n","import arrayFilter from './_arrayFilter.js';\nimport stubArray from './stubArray.js';\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Built-in value references. */\nvar propertyIsEnumerable = objectProto.propertyIsEnumerable;\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeGetSymbols = Object.getOwnPropertySymbols;\n\n/**\n * Creates an array of the own enumerable symbols of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of symbols.\n */\nvar getSymbols = !nativeGetSymbols ? stubArray : function(object) {\n if (object == null) {\n return [];\n }\n object = Object(object);\n return arrayFilter(nativeGetSymbols(object), function(symbol) {\n return propertyIsEnumerable.call(object, symbol);\n });\n};\n\nexport default getSymbols;\n","import overArg from './_overArg.js';\n\n/** Built-in value references. */\nvar getPrototype = overArg(Object.getPrototypeOf, Object);\n\nexport default getPrototype;\n","/**\n * Copies the values of `source` to `array`.\n *\n * @private\n * @param {Array} source The array to copy values from.\n * @param {Array} [array=[]] The array to copy values to.\n * @returns {Array} Returns `array`.\n */\nfunction copyArray(source, array) {\n var index = -1,\n length = source.length;\n\n array || (array = Array(length));\n while (++index < length) {\n array[index] = source[index];\n }\n return array;\n}\n\nexport default copyArray;\n","/* jshint node: true */\r\n\"use strict\";\r\n\r\nfunction makeArrayFrom(obj) {\r\n return Array.prototype.slice.apply(obj);\r\n}\r\n\r\nvar\r\n PENDING = \"pending\",\r\n RESOLVED = \"resolved\",\r\n REJECTED = \"rejected\";\r\n\r\nfunction SynchronousPromise(handler) {\r\n this.status = PENDING;\r\n this._continuations = [];\r\n this._parent = null;\r\n this._paused = false;\r\n if (handler) {\r\n handler.call(\r\n this,\r\n this._continueWith.bind(this),\r\n this._failWith.bind(this)\r\n );\r\n }\r\n}\r\n\r\nfunction looksLikeAPromise(obj) {\r\n return obj && typeof (obj.then) === \"function\";\r\n}\r\n\r\nfunction passThrough(value) {\r\n return value;\r\n}\r\n\r\nSynchronousPromise.prototype = {\r\n then: function (nextFn, catchFn) {\r\n var next = SynchronousPromise.unresolved()._setParent(this);\r\n if (this._isRejected()) {\r\n if (this._paused) {\r\n this._continuations.push({\r\n promise: next,\r\n nextFn: nextFn,\r\n catchFn: catchFn\r\n });\r\n return next;\r\n }\r\n if (catchFn) {\r\n try {\r\n var catchResult = catchFn(this._error);\r\n if (looksLikeAPromise(catchResult)) {\r\n this._chainPromiseData(catchResult, next);\r\n return next;\r\n } else {\r\n return SynchronousPromise.resolve(catchResult)._setParent(this);\r\n }\r\n } catch (e) {\r\n return SynchronousPromise.reject(e)._setParent(this);\r\n }\r\n }\r\n return SynchronousPromise.reject(this._error)._setParent(this);\r\n }\r\n this._continuations.push({\r\n promise: next,\r\n nextFn: nextFn,\r\n catchFn: catchFn\r\n });\r\n this._runResolutions();\r\n return next;\r\n },\r\n catch: function (handler) {\r\n if (this._isResolved()) {\r\n return SynchronousPromise.resolve(this._data)._setParent(this);\r\n }\r\n var next = SynchronousPromise.unresolved()._setParent(this);\r\n this._continuations.push({\r\n promise: next,\r\n catchFn: handler\r\n });\r\n this._runRejections();\r\n return next;\r\n },\r\n finally: function (callback) {\r\n var ran = false;\r\n\r\n function runFinally(result, err) {\r\n if (!ran) {\r\n ran = true;\r\n if (!callback) {\r\n callback = passThrough;\r\n }\r\n var callbackResult = callback(result);\r\n if (looksLikeAPromise(callbackResult)) {\r\n return callbackResult.then(function () {\r\n if (err) {\r\n throw err;\r\n }\r\n return result;\r\n });\r\n } else {\r\n return result;\r\n }\r\n }\r\n }\r\n\r\n return this\r\n .then(function (result) {\r\n return runFinally(result);\r\n })\r\n .catch(function (err) {\r\n return runFinally(null, err);\r\n });\r\n },\r\n pause: function () {\r\n this._paused = true;\r\n return this;\r\n },\r\n resume: function () {\r\n var firstPaused = this._findFirstPaused();\r\n if (firstPaused) {\r\n firstPaused._paused = false;\r\n firstPaused._runResolutions();\r\n firstPaused._runRejections();\r\n }\r\n return this;\r\n },\r\n _findAncestry: function () {\r\n return this._continuations.reduce(function (acc, cur) {\r\n if (cur.promise) {\r\n var node = {\r\n promise: cur.promise,\r\n children: cur.promise._findAncestry()\r\n };\r\n acc.push(node);\r\n }\r\n return acc;\r\n }, []);\r\n },\r\n _setParent: function (parent) {\r\n if (this._parent) {\r\n throw new Error(\"parent already set\");\r\n }\r\n this._parent = parent;\r\n return this;\r\n },\r\n _continueWith: function (data) {\r\n var firstPending = this._findFirstPending();\r\n if (firstPending) {\r\n firstPending._data = data;\r\n firstPending._setResolved();\r\n }\r\n },\r\n _findFirstPending: function () {\r\n return this._findFirstAncestor(function (test) {\r\n return test._isPending && test._isPending();\r\n });\r\n },\r\n _findFirstPaused: function () {\r\n return this._findFirstAncestor(function (test) {\r\n return test._paused;\r\n });\r\n },\r\n _findFirstAncestor: function (matching) {\r\n var test = this;\r\n var result;\r\n while (test) {\r\n if (matching(test)) {\r\n result = test;\r\n }\r\n test = test._parent;\r\n }\r\n return result;\r\n },\r\n _failWith: function (error) {\r\n var firstRejected = this._findFirstPending();\r\n if (firstRejected) {\r\n firstRejected._error = error;\r\n firstRejected._setRejected();\r\n }\r\n },\r\n _takeContinuations: function () {\r\n return this._continuations.splice(0, this._continuations.length);\r\n },\r\n _runRejections: function () {\r\n if (this._paused || !this._isRejected()) {\r\n return;\r\n }\r\n var\r\n error = this._error,\r\n continuations = this._takeContinuations(),\r\n self = this;\r\n continuations.forEach(function (cont) {\r\n if (cont.catchFn) {\r\n try {\r\n var catchResult = cont.catchFn(error);\r\n self._handleUserFunctionResult(catchResult, cont.promise);\r\n } catch (e) {\r\n cont.promise.reject(e);\r\n }\r\n } else {\r\n cont.promise.reject(error);\r\n }\r\n });\r\n },\r\n _runResolutions: function () {\r\n if (this._paused || !this._isResolved() || this._isPending()) {\r\n return;\r\n }\r\n var continuations = this._takeContinuations();\r\n if (looksLikeAPromise(this._data)) {\r\n return this._handleWhenResolvedDataIsPromise(this._data);\r\n }\r\n var data = this._data;\r\n var self = this;\r\n continuations.forEach(function (cont) {\r\n if (cont.nextFn) {\r\n try {\r\n var result = cont.nextFn(data);\r\n self._handleUserFunctionResult(result, cont.promise);\r\n } catch (e) {\r\n self._handleResolutionError(e, cont);\r\n }\r\n } else if (cont.promise) {\r\n cont.promise.resolve(data);\r\n }\r\n });\r\n },\r\n _handleResolutionError: function (e, continuation) {\r\n this._setRejected();\r\n if (continuation.catchFn) {\r\n try {\r\n continuation.catchFn(e);\r\n return;\r\n } catch (e2) {\r\n e = e2;\r\n }\r\n }\r\n if (continuation.promise) {\r\n continuation.promise.reject(e);\r\n }\r\n },\r\n _handleWhenResolvedDataIsPromise: function (data) {\r\n var self = this;\r\n return data.then(function (result) {\r\n self._data = result;\r\n self._runResolutions();\r\n }).catch(function (error) {\r\n self._error = error;\r\n self._setRejected();\r\n self._runRejections();\r\n });\r\n },\r\n _handleUserFunctionResult: function (data, nextSynchronousPromise) {\r\n if (looksLikeAPromise(data)) {\r\n this._chainPromiseData(data, nextSynchronousPromise);\r\n } else {\r\n nextSynchronousPromise.resolve(data);\r\n }\r\n },\r\n _chainPromiseData: function (promiseData, nextSynchronousPromise) {\r\n promiseData.then(function (newData) {\r\n nextSynchronousPromise.resolve(newData);\r\n }).catch(function (newError) {\r\n nextSynchronousPromise.reject(newError);\r\n });\r\n },\r\n _setResolved: function () {\r\n this.status = RESOLVED;\r\n if (!this._paused) {\r\n this._runResolutions();\r\n }\r\n },\r\n _setRejected: function () {\r\n this.status = REJECTED;\r\n if (!this._paused) {\r\n this._runRejections();\r\n }\r\n },\r\n _isPending: function () {\r\n return this.status === PENDING;\r\n },\r\n _isResolved: function () {\r\n return this.status === RESOLVED;\r\n },\r\n _isRejected: function () {\r\n return this.status === REJECTED;\r\n }\r\n};\r\n\r\nSynchronousPromise.resolve = function (result) {\r\n return new SynchronousPromise(function (resolve, reject) {\r\n if (looksLikeAPromise(result)) {\r\n result.then(function (newResult) {\r\n resolve(newResult);\r\n }).catch(function (error) {\r\n reject(error);\r\n });\r\n } else {\r\n resolve(result);\r\n }\r\n });\r\n};\r\n\r\nSynchronousPromise.reject = function (result) {\r\n return new SynchronousPromise(function (resolve, reject) {\r\n reject(result);\r\n });\r\n};\r\n\r\nSynchronousPromise.unresolved = function () {\r\n return new SynchronousPromise(function (resolve, reject) {\r\n this.resolve = resolve;\r\n this.reject = reject;\r\n });\r\n};\r\n\r\nSynchronousPromise.all = function () {\r\n var args = makeArrayFrom(arguments);\r\n if (Array.isArray(args[0])) {\r\n args = args[0];\r\n }\r\n if (!args.length) {\r\n return SynchronousPromise.resolve([]);\r\n }\r\n return new SynchronousPromise(function (resolve, reject) {\r\n var\r\n allData = [],\r\n numResolved = 0,\r\n doResolve = function () {\r\n if (numResolved === args.length) {\r\n resolve(allData);\r\n }\r\n },\r\n rejected = false,\r\n doReject = function (err) {\r\n if (rejected) {\r\n return;\r\n }\r\n rejected = true;\r\n reject(err);\r\n };\r\n args.forEach(function (arg, idx) {\r\n SynchronousPromise.resolve(arg).then(function (thisResult) {\r\n allData[idx] = thisResult;\r\n numResolved += 1;\r\n doResolve();\r\n }).catch(function (err) {\r\n doReject(err);\r\n });\r\n });\r\n });\r\n};\r\n\r\nfunction createAggregateErrorFrom(errors) {\r\n /* jshint ignore:start */\r\n if (typeof window !== \"undefined\" && \"AggregateError\" in window) {\r\n return new window.AggregateError(errors);\r\n }\r\n /* jshint ignore:end */\r\n\r\n return { errors: errors };\r\n}\r\n\r\nSynchronousPromise.any = function () {\r\n var args = makeArrayFrom(arguments);\r\n if (Array.isArray(args[0])) {\r\n args = args[0];\r\n }\r\n if (!args.length) {\r\n return SynchronousPromise.reject(createAggregateErrorFrom([]));\r\n }\r\n return new SynchronousPromise(function (resolve, reject) {\r\n var\r\n allErrors = [],\r\n numRejected = 0,\r\n doReject = function () {\r\n if (numRejected === args.length) {\r\n reject(createAggregateErrorFrom(allErrors));\r\n }\r\n },\r\n resolved = false,\r\n doResolve = function (result) {\r\n if (resolved) {\r\n return;\r\n }\r\n resolved = true;\r\n resolve(result);\r\n };\r\n args.forEach(function (arg, idx) {\r\n SynchronousPromise.resolve(arg).then(function (thisResult) {\r\n doResolve(thisResult);\r\n }).catch(function (err) {\r\n allErrors[idx] = err;\r\n numRejected += 1;\r\n doReject();\r\n });\r\n });\r\n });\r\n};\r\n\r\nSynchronousPromise.allSettled = function () {\r\n var args = makeArrayFrom(arguments);\r\n if (Array.isArray(args[0])) {\r\n args = args[0];\r\n }\r\n if (!args.length) {\r\n return SynchronousPromise.resolve([]);\r\n }\r\n return new SynchronousPromise(function (resolve) {\r\n var\r\n allData = [],\r\n numSettled = 0,\r\n doSettled = function () {\r\n numSettled += 1;\r\n if (numSettled === args.length) {\r\n resolve(allData);\r\n }\r\n };\r\n args.forEach(function (arg, idx) {\r\n SynchronousPromise.resolve(arg).then(function (thisResult) {\r\n allData[idx] = {\r\n status: \"fulfilled\",\r\n value: thisResult\r\n };\r\n doSettled();\r\n }).catch(function (err) {\r\n allData[idx] = {\r\n status: \"rejected\",\r\n reason: err\r\n };\r\n doSettled();\r\n });\r\n });\r\n });\r\n};\r\n\r\n/* jshint ignore:start */\r\nif (Promise === SynchronousPromise) {\r\n throw new Error(\"Please use SynchronousPromise.installGlobally() to install globally\");\r\n}\r\nvar RealPromise = Promise;\r\nSynchronousPromise.installGlobally = function (__awaiter) {\r\n if (Promise === SynchronousPromise) {\r\n return __awaiter;\r\n }\r\n var result = patchAwaiterIfRequired(__awaiter);\r\n Promise = SynchronousPromise;\r\n return result;\r\n};\r\n\r\nSynchronousPromise.uninstallGlobally = function () {\r\n if (Promise === SynchronousPromise) {\r\n Promise = RealPromise;\r\n }\r\n};\r\n\r\nfunction patchAwaiterIfRequired(__awaiter) {\r\n if (typeof (__awaiter) === \"undefined\" || __awaiter.__patched) {\r\n return __awaiter;\r\n }\r\n var originalAwaiter = __awaiter;\r\n __awaiter = function () {\r\n var Promise = RealPromise;\r\n originalAwaiter.apply(this, makeArrayFrom(arguments));\r\n };\r\n __awaiter.__patched = true;\r\n return __awaiter;\r\n}\r\n\r\n/* jshint ignore:end */\r\n\r\nmodule.exports = {\r\n SynchronousPromise: SynchronousPromise\r\n};\r\n","import baseAssignValue from './_baseAssignValue.js';\nimport baseForOwn from './_baseForOwn.js';\nimport baseIteratee from './_baseIteratee.js';\n\n/**\n * Creates an object with the same keys as `object` and values generated\n * by running each own enumerable string keyed property of `object` thru\n * `iteratee`. The iteratee is invoked with three arguments:\n * (value, key, object).\n *\n * @static\n * @memberOf _\n * @since 2.4.0\n * @category Object\n * @param {Object} object The object to iterate over.\n * @param {Function} [iteratee=_.identity] The function invoked per iteration.\n * @returns {Object} Returns the new mapped object.\n * @see _.mapKeys\n * @example\n *\n * var users = {\n * 'fred': { 'user': 'fred', 'age': 40 },\n * 'pebbles': { 'user': 'pebbles', 'age': 1 }\n * };\n *\n * _.mapValues(users, function(o) { return o.age; });\n * // => { 'fred': 40, 'pebbles': 1 } (iteration order is not guaranteed)\n *\n * // The `_.property` iteratee shorthand.\n * _.mapValues(users, 'age');\n * // => { 'fred': 40, 'pebbles': 1 } (iteration order is not guaranteed)\n */\nfunction mapValues(object, iteratee) {\n var result = {};\n iteratee = baseIteratee(iteratee, 3);\n\n baseForOwn(object, function(value, key, object) {\n baseAssignValue(result, key, iteratee(value, key, object));\n });\n return result;\n}\n\nexport default mapValues;\n","import baseAssignValue from './_baseAssignValue.js';\nimport eq from './eq.js';\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Assigns `value` to `key` of `object` if the existing value is not equivalent\n * using [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)\n * for equality comparisons.\n *\n * @private\n * @param {Object} object The object to modify.\n * @param {string} key The key of the property to assign.\n * @param {*} value The value to assign.\n */\nfunction assignValue(object, key, value) {\n var objValue = object[key];\n if (!(hasOwnProperty.call(object, key) && eq(objValue, value)) ||\n (value === undefined && !(key in object))) {\n baseAssignValue(object, key, value);\n }\n}\n\nexport default assignValue;\n","import assignValue from './_assignValue.js';\nimport baseAssignValue from './_baseAssignValue.js';\n\n/**\n * Copies properties of `source` to `object`.\n *\n * @private\n * @param {Object} source The object to copy properties from.\n * @param {Array} props The property identifiers to copy.\n * @param {Object} [object={}] The object to copy properties to.\n * @param {Function} [customizer] The function to customize copied values.\n * @returns {Object} Returns `object`.\n */\nfunction copyObject(source, props, object, customizer) {\n var isNew = !object;\n object || (object = {});\n\n var index = -1,\n length = props.length;\n\n while (++index < length) {\n var key = props[index];\n\n var newValue = customizer\n ? customizer(object[key], source[key], key, object, source)\n : undefined;\n\n if (newValue === undefined) {\n newValue = source[key];\n }\n if (isNew) {\n baseAssignValue(object, key, newValue);\n } else {\n assignValue(object, key, newValue);\n }\n }\n return object;\n}\n\nexport default copyObject;\n","import copyObject from './_copyObject.js';\nimport keys from './keys.js';\n\n/**\n * The base implementation of `_.assign` without support for multiple sources\n * or `customizer` functions.\n *\n * @private\n * @param {Object} object The destination object.\n * @param {Object} source The source object.\n * @returns {Object} Returns `object`.\n */\nfunction baseAssign(object, source) {\n return object && copyObject(source, keys(source), object);\n}\n\nexport default baseAssign;\n","/**\n * This function is like\n * [`Object.keys`](http://ecma-international.org/ecma-262/7.0/#sec-object.keys)\n * except that it includes inherited enumerable properties.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n */\nfunction nativeKeysIn(object) {\n var result = [];\n if (object != null) {\n for (var key in Object(object)) {\n result.push(key);\n }\n }\n return result;\n}\n\nexport default nativeKeysIn;\n","import isObject from './isObject.js';\nimport isPrototype from './_isPrototype.js';\nimport nativeKeysIn from './_nativeKeysIn.js';\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * The base implementation of `_.keysIn` which doesn't treat sparse arrays as dense.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n */\nfunction baseKeysIn(object) {\n if (!isObject(object)) {\n return nativeKeysIn(object);\n }\n var isProto = isPrototype(object),\n result = [];\n\n for (var key in object) {\n if (!(key == 'constructor' && (isProto || !hasOwnProperty.call(object, key)))) {\n result.push(key);\n }\n }\n return result;\n}\n\nexport default baseKeysIn;\n","import arrayLikeKeys from './_arrayLikeKeys.js';\nimport baseKeysIn from './_baseKeysIn.js';\nimport isArrayLike from './isArrayLike.js';\n\n/**\n * Creates an array of the own and inherited enumerable property names of `object`.\n *\n * **Note:** Non-object values are coerced to objects.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Object\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * this.b = 2;\n * }\n *\n * Foo.prototype.c = 3;\n *\n * _.keysIn(new Foo);\n * // => ['a', 'b', 'c'] (iteration order is not guaranteed)\n */\nfunction keysIn(object) {\n return isArrayLike(object) ? arrayLikeKeys(object, true) : baseKeysIn(object);\n}\n\nexport default keysIn;\n","import copyObject from './_copyObject.js';\nimport keysIn from './keysIn.js';\n\n/**\n * The base implementation of `_.assignIn` without support for multiple sources\n * or `customizer` functions.\n *\n * @private\n * @param {Object} object The destination object.\n * @param {Object} source The source object.\n * @returns {Object} Returns `object`.\n */\nfunction baseAssignIn(object, source) {\n return object && copyObject(source, keysIn(source), object);\n}\n\nexport default baseAssignIn;\n","import copyObject from './_copyObject.js';\nimport getSymbols from './_getSymbols.js';\n\n/**\n * Copies own symbols of `source` to `object`.\n *\n * @private\n * @param {Object} source The object to copy symbols from.\n * @param {Object} [object={}] The object to copy symbols to.\n * @returns {Object} Returns `object`.\n */\nfunction copySymbols(source, object) {\n return copyObject(source, getSymbols(source), object);\n}\n\nexport default copySymbols;\n","import arrayPush from './_arrayPush.js';\nimport getPrototype from './_getPrototype.js';\nimport getSymbols from './_getSymbols.js';\nimport stubArray from './stubArray.js';\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeGetSymbols = Object.getOwnPropertySymbols;\n\n/**\n * Creates an array of the own and inherited enumerable symbols of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of symbols.\n */\nvar getSymbolsIn = !nativeGetSymbols ? stubArray : function(object) {\n var result = [];\n while (object) {\n arrayPush(result, getSymbols(object));\n object = getPrototype(object);\n }\n return result;\n};\n\nexport default getSymbolsIn;\n","import copyObject from './_copyObject.js';\nimport getSymbolsIn from './_getSymbolsIn.js';\n\n/**\n * Copies own and inherited symbols of `source` to `object`.\n *\n * @private\n * @param {Object} source The object to copy symbols from.\n * @param {Object} [object={}] The object to copy symbols to.\n * @returns {Object} Returns `object`.\n */\nfunction copySymbolsIn(source, object) {\n return copyObject(source, getSymbolsIn(source), object);\n}\n\nexport default copySymbolsIn;\n","import baseGetAllKeys from './_baseGetAllKeys.js';\nimport getSymbolsIn from './_getSymbolsIn.js';\nimport keysIn from './keysIn.js';\n\n/**\n * Creates an array of own and inherited enumerable property names and\n * symbols of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names and symbols.\n */\nfunction getAllKeysIn(object) {\n return baseGetAllKeys(object, keysIn, getSymbolsIn);\n}\n\nexport default getAllKeysIn;\n","/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Initializes an array clone.\n *\n * @private\n * @param {Array} array The array to clone.\n * @returns {Array} Returns the initialized clone.\n */\nfunction initCloneArray(array) {\n var length = array.length,\n result = new array.constructor(length);\n\n // Add properties assigned by `RegExp#exec`.\n if (length && typeof array[0] == 'string' && hasOwnProperty.call(array, 'index')) {\n result.index = array.index;\n result.input = array.input;\n }\n return result;\n}\n\nexport default initCloneArray;\n","import Uint8Array from './_Uint8Array.js';\n\n/**\n * Creates a clone of `arrayBuffer`.\n *\n * @private\n * @param {ArrayBuffer} arrayBuffer The array buffer to clone.\n * @returns {ArrayBuffer} Returns the cloned array buffer.\n */\nfunction cloneArrayBuffer(arrayBuffer) {\n var result = new arrayBuffer.constructor(arrayBuffer.byteLength);\n new Uint8Array(result).set(new Uint8Array(arrayBuffer));\n return result;\n}\n\nexport default cloneArrayBuffer;\n","import cloneArrayBuffer from './_cloneArrayBuffer.js';\n\n/**\n * Creates a clone of `dataView`.\n *\n * @private\n * @param {Object} dataView The data view to clone.\n * @param {boolean} [isDeep] Specify a deep clone.\n * @returns {Object} Returns the cloned data view.\n */\nfunction cloneDataView(dataView, isDeep) {\n var buffer = isDeep ? cloneArrayBuffer(dataView.buffer) : dataView.buffer;\n return new dataView.constructor(buffer, dataView.byteOffset, dataView.byteLength);\n}\n\nexport default cloneDataView;\n","/** Used to match `RegExp` flags from their coerced string values. */\nvar reFlags = /\\w*$/;\n\n/**\n * Creates a clone of `regexp`.\n *\n * @private\n * @param {Object} regexp The regexp to clone.\n * @returns {Object} Returns the cloned regexp.\n */\nfunction cloneRegExp(regexp) {\n var result = new regexp.constructor(regexp.source, reFlags.exec(regexp));\n result.lastIndex = regexp.lastIndex;\n return result;\n}\n\nexport default cloneRegExp;\n","import Symbol from './_Symbol.js';\n\n/** Used to convert symbols to primitives and strings. */\nvar symbolProto = Symbol ? Symbol.prototype : undefined,\n symbolValueOf = symbolProto ? symbolProto.valueOf : undefined;\n\n/**\n * Creates a clone of the `symbol` object.\n *\n * @private\n * @param {Object} symbol The symbol object to clone.\n * @returns {Object} Returns the cloned symbol object.\n */\nfunction cloneSymbol(symbol) {\n return symbolValueOf ? Object(symbolValueOf.call(symbol)) : {};\n}\n\nexport default cloneSymbol;\n","import cloneArrayBuffer from './_cloneArrayBuffer.js';\n\n/**\n * Creates a clone of `typedArray`.\n *\n * @private\n * @param {Object} typedArray The typed array to clone.\n * @param {boolean} [isDeep] Specify a deep clone.\n * @returns {Object} Returns the cloned typed array.\n */\nfunction cloneTypedArray(typedArray, isDeep) {\n var buffer = isDeep ? cloneArrayBuffer(typedArray.buffer) : typedArray.buffer;\n return new typedArray.constructor(buffer, typedArray.byteOffset, typedArray.length);\n}\n\nexport default cloneTypedArray;\n","import cloneArrayBuffer from './_cloneArrayBuffer.js';\nimport cloneDataView from './_cloneDataView.js';\nimport cloneRegExp from './_cloneRegExp.js';\nimport cloneSymbol from './_cloneSymbol.js';\nimport cloneTypedArray from './_cloneTypedArray.js';\n\n/** `Object#toString` result references. */\nvar boolTag = '[object Boolean]',\n dateTag = '[object Date]',\n mapTag = '[object Map]',\n numberTag = '[object Number]',\n regexpTag = '[object RegExp]',\n setTag = '[object Set]',\n stringTag = '[object String]',\n symbolTag = '[object Symbol]';\n\nvar arrayBufferTag = '[object ArrayBuffer]',\n dataViewTag = '[object DataView]',\n float32Tag = '[object Float32Array]',\n float64Tag = '[object Float64Array]',\n int8Tag = '[object Int8Array]',\n int16Tag = '[object Int16Array]',\n int32Tag = '[object Int32Array]',\n uint8Tag = '[object Uint8Array]',\n uint8ClampedTag = '[object Uint8ClampedArray]',\n uint16Tag = '[object Uint16Array]',\n uint32Tag = '[object Uint32Array]';\n\n/**\n * Initializes an object clone based on its `toStringTag`.\n *\n * **Note:** This function only supports cloning values with tags of\n * `Boolean`, `Date`, `Error`, `Map`, `Number`, `RegExp`, `Set`, or `String`.\n *\n * @private\n * @param {Object} object The object to clone.\n * @param {string} tag The `toStringTag` of the object to clone.\n * @param {boolean} [isDeep] Specify a deep clone.\n * @returns {Object} Returns the initialized clone.\n */\nfunction initCloneByTag(object, tag, isDeep) {\n var Ctor = object.constructor;\n switch (tag) {\n case arrayBufferTag:\n return cloneArrayBuffer(object);\n\n case boolTag:\n case dateTag:\n return new Ctor(+object);\n\n case dataViewTag:\n return cloneDataView(object, isDeep);\n\n case float32Tag: case float64Tag:\n case int8Tag: case int16Tag: case int32Tag:\n case uint8Tag: case uint8ClampedTag: case uint16Tag: case uint32Tag:\n return cloneTypedArray(object, isDeep);\n\n case mapTag:\n return new Ctor;\n\n case numberTag:\n case stringTag:\n return new Ctor(object);\n\n case regexpTag:\n return cloneRegExp(object);\n\n case setTag:\n return new Ctor;\n\n case symbolTag:\n return cloneSymbol(object);\n }\n}\n\nexport default initCloneByTag;\n","import isObject from './isObject.js';\n\n/** Built-in value references. */\nvar objectCreate = Object.create;\n\n/**\n * The base implementation of `_.create` without support for assigning\n * properties to the created object.\n *\n * @private\n * @param {Object} proto The object to inherit from.\n * @returns {Object} Returns the new object.\n */\nvar baseCreate = (function() {\n function object() {}\n return function(proto) {\n if (!isObject(proto)) {\n return {};\n }\n if (objectCreate) {\n return objectCreate(proto);\n }\n object.prototype = proto;\n var result = new object;\n object.prototype = undefined;\n return result;\n };\n}());\n\nexport default baseCreate;\n","import baseCreate from './_baseCreate.js';\nimport getPrototype from './_getPrototype.js';\nimport isPrototype from './_isPrototype.js';\n\n/**\n * Initializes an object clone.\n *\n * @private\n * @param {Object} object The object to clone.\n * @returns {Object} Returns the initialized clone.\n */\nfunction initCloneObject(object) {\n return (typeof object.constructor == 'function' && !isPrototype(object))\n ? baseCreate(getPrototype(object))\n : {};\n}\n\nexport default initCloneObject;\n","import getTag from './_getTag.js';\nimport isObjectLike from './isObjectLike.js';\n\n/** `Object#toString` result references. */\nvar mapTag = '[object Map]';\n\n/**\n * The base implementation of `_.isMap` without Node.js optimizations.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a map, else `false`.\n */\nfunction baseIsMap(value) {\n return isObjectLike(value) && getTag(value) == mapTag;\n}\n\nexport default baseIsMap;\n","import baseIsMap from './_baseIsMap.js';\nimport baseUnary from './_baseUnary.js';\nimport nodeUtil from './_nodeUtil.js';\n\n/* Node.js helper references. */\nvar nodeIsMap = nodeUtil && nodeUtil.isMap;\n\n/**\n * Checks if `value` is classified as a `Map` object.\n *\n * @static\n * @memberOf _\n * @since 4.3.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a map, else `false`.\n * @example\n *\n * _.isMap(new Map);\n * // => true\n *\n * _.isMap(new WeakMap);\n * // => false\n */\nvar isMap = nodeIsMap ? baseUnary(nodeIsMap) : baseIsMap;\n\nexport default isMap;\n","import getTag from './_getTag.js';\nimport isObjectLike from './isObjectLike.js';\n\n/** `Object#toString` result references. */\nvar setTag = '[object Set]';\n\n/**\n * The base implementation of `_.isSet` without Node.js optimizations.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a set, else `false`.\n */\nfunction baseIsSet(value) {\n return isObjectLike(value) && getTag(value) == setTag;\n}\n\nexport default baseIsSet;\n","import baseIsSet from './_baseIsSet.js';\nimport baseUnary from './_baseUnary.js';\nimport nodeUtil from './_nodeUtil.js';\n\n/* Node.js helper references. */\nvar nodeIsSet = nodeUtil && nodeUtil.isSet;\n\n/**\n * Checks if `value` is classified as a `Set` object.\n *\n * @static\n * @memberOf _\n * @since 4.3.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a set, else `false`.\n * @example\n *\n * _.isSet(new Set);\n * // => true\n *\n * _.isSet(new WeakSet);\n * // => false\n */\nvar isSet = nodeIsSet ? baseUnary(nodeIsSet) : baseIsSet;\n\nexport default isSet;\n","import Stack from './_Stack.js';\nimport arrayEach from './_arrayEach.js';\nimport assignValue from './_assignValue.js';\nimport baseAssign from './_baseAssign.js';\nimport baseAssignIn from './_baseAssignIn.js';\nimport cloneBuffer from './_cloneBuffer.js';\nimport copyArray from './_copyArray.js';\nimport copySymbols from './_copySymbols.js';\nimport copySymbolsIn from './_copySymbolsIn.js';\nimport getAllKeys from './_getAllKeys.js';\nimport getAllKeysIn from './_getAllKeysIn.js';\nimport getTag from './_getTag.js';\nimport initCloneArray from './_initCloneArray.js';\nimport initCloneByTag from './_initCloneByTag.js';\nimport initCloneObject from './_initCloneObject.js';\nimport isArray from './isArray.js';\nimport isBuffer from './isBuffer.js';\nimport isMap from './isMap.js';\nimport isObject from './isObject.js';\nimport isSet from './isSet.js';\nimport keys from './keys.js';\nimport keysIn from './keysIn.js';\n\n/** Used to compose bitmasks for cloning. */\nvar CLONE_DEEP_FLAG = 1,\n CLONE_FLAT_FLAG = 2,\n CLONE_SYMBOLS_FLAG = 4;\n\n/** `Object#toString` result references. */\nvar argsTag = '[object Arguments]',\n arrayTag = '[object Array]',\n boolTag = '[object Boolean]',\n dateTag = '[object Date]',\n errorTag = '[object Error]',\n funcTag = '[object Function]',\n genTag = '[object GeneratorFunction]',\n mapTag = '[object Map]',\n numberTag = '[object Number]',\n objectTag = '[object Object]',\n regexpTag = '[object RegExp]',\n setTag = '[object Set]',\n stringTag = '[object String]',\n symbolTag = '[object Symbol]',\n weakMapTag = '[object WeakMap]';\n\nvar arrayBufferTag = '[object ArrayBuffer]',\n dataViewTag = '[object DataView]',\n float32Tag = '[object Float32Array]',\n float64Tag = '[object Float64Array]',\n int8Tag = '[object Int8Array]',\n int16Tag = '[object Int16Array]',\n int32Tag = '[object Int32Array]',\n uint8Tag = '[object Uint8Array]',\n uint8ClampedTag = '[object Uint8ClampedArray]',\n uint16Tag = '[object Uint16Array]',\n uint32Tag = '[object Uint32Array]';\n\n/** Used to identify `toStringTag` values supported by `_.clone`. */\nvar cloneableTags = {};\ncloneableTags[argsTag] = cloneableTags[arrayTag] =\ncloneableTags[arrayBufferTag] = cloneableTags[dataViewTag] =\ncloneableTags[boolTag] = cloneableTags[dateTag] =\ncloneableTags[float32Tag] = cloneableTags[float64Tag] =\ncloneableTags[int8Tag] = cloneableTags[int16Tag] =\ncloneableTags[int32Tag] = cloneableTags[mapTag] =\ncloneableTags[numberTag] = cloneableTags[objectTag] =\ncloneableTags[regexpTag] = cloneableTags[setTag] =\ncloneableTags[stringTag] = cloneableTags[symbolTag] =\ncloneableTags[uint8Tag] = cloneableTags[uint8ClampedTag] =\ncloneableTags[uint16Tag] = cloneableTags[uint32Tag] = true;\ncloneableTags[errorTag] = cloneableTags[funcTag] =\ncloneableTags[weakMapTag] = false;\n\n/**\n * The base implementation of `_.clone` and `_.cloneDeep` which tracks\n * traversed objects.\n *\n * @private\n * @param {*} value The value to clone.\n * @param {boolean} bitmask The bitmask flags.\n * 1 - Deep clone\n * 2 - Flatten inherited properties\n * 4 - Clone symbols\n * @param {Function} [customizer] The function to customize cloning.\n * @param {string} [key] The key of `value`.\n * @param {Object} [object] The parent object of `value`.\n * @param {Object} [stack] Tracks traversed objects and their clone counterparts.\n * @returns {*} Returns the cloned value.\n */\nfunction baseClone(value, bitmask, customizer, key, object, stack) {\n var result,\n isDeep = bitmask & CLONE_DEEP_FLAG,\n isFlat = bitmask & CLONE_FLAT_FLAG,\n isFull = bitmask & CLONE_SYMBOLS_FLAG;\n\n if (customizer) {\n result = object ? customizer(value, key, object, stack) : customizer(value);\n }\n if (result !== undefined) {\n return result;\n }\n if (!isObject(value)) {\n return value;\n }\n var isArr = isArray(value);\n if (isArr) {\n result = initCloneArray(value);\n if (!isDeep) {\n return copyArray(value, result);\n }\n } else {\n var tag = getTag(value),\n isFunc = tag == funcTag || tag == genTag;\n\n if (isBuffer(value)) {\n return cloneBuffer(value, isDeep);\n }\n if (tag == objectTag || tag == argsTag || (isFunc && !object)) {\n result = (isFlat || isFunc) ? {} : initCloneObject(value);\n if (!isDeep) {\n return isFlat\n ? copySymbolsIn(value, baseAssignIn(result, value))\n : copySymbols(value, baseAssign(result, value));\n }\n } else {\n if (!cloneableTags[tag]) {\n return object ? value : {};\n }\n result = initCloneByTag(value, tag, isDeep);\n }\n }\n // Check for circular references and return its corresponding clone.\n stack || (stack = new Stack);\n var stacked = stack.get(value);\n if (stacked) {\n return stacked;\n }\n stack.set(value, result);\n\n if (isSet(value)) {\n value.forEach(function(subValue) {\n result.add(baseClone(subValue, bitmask, customizer, subValue, value, stack));\n });\n } else if (isMap(value)) {\n value.forEach(function(subValue, key) {\n result.set(key, baseClone(subValue, bitmask, customizer, key, value, stack));\n });\n }\n\n var keysFunc = isFull\n ? (isFlat ? getAllKeysIn : getAllKeys)\n : (isFlat ? keysIn : keys);\n\n var props = isArr ? undefined : keysFunc(value);\n arrayEach(props || value, function(subValue, key) {\n if (props) {\n key = subValue;\n subValue = value[key];\n }\n // Recursively populate clone (susceptible to call stack limits).\n assignValue(result, key, baseClone(subValue, bitmask, customizer, key, value, stack));\n });\n return result;\n}\n\nexport default baseClone;\n","/**\n * A specialized version of `_.reduce` for arrays without support for\n * iteratee shorthands.\n *\n * @private\n * @param {Array} [array] The array to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @param {*} [accumulator] The initial value.\n * @param {boolean} [initAccum] Specify using the first element of `array` as\n * the initial value.\n * @returns {*} Returns the accumulated value.\n */\nfunction arrayReduce(array, iteratee, accumulator, initAccum) {\n var index = -1,\n length = array == null ? 0 : array.length;\n\n if (initAccum && length) {\n accumulator = array[++index];\n }\n while (++index < length) {\n accumulator = iteratee(accumulator, array[index], index, array);\n }\n return accumulator;\n}\n\nexport default arrayReduce;\n","/**\n * The base implementation of `_.propertyOf` without support for deep paths.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Function} Returns the new accessor function.\n */\nfunction basePropertyOf(object) {\n return function(key) {\n return object == null ? undefined : object[key];\n };\n}\n\nexport default basePropertyOf;\n","import basePropertyOf from './_basePropertyOf.js';\n\n/** Used to map Latin Unicode letters to basic Latin letters. */\nvar deburredLetters = {\n // Latin-1 Supplement block.\n '\\xc0': 'A', '\\xc1': 'A', '\\xc2': 'A', '\\xc3': 'A', '\\xc4': 'A', '\\xc5': 'A',\n '\\xe0': 'a', '\\xe1': 'a', '\\xe2': 'a', '\\xe3': 'a', '\\xe4': 'a', '\\xe5': 'a',\n '\\xc7': 'C', '\\xe7': 'c',\n '\\xd0': 'D', '\\xf0': 'd',\n '\\xc8': 'E', '\\xc9': 'E', '\\xca': 'E', '\\xcb': 'E',\n '\\xe8': 'e', '\\xe9': 'e', '\\xea': 'e', '\\xeb': 'e',\n '\\xcc': 'I', '\\xcd': 'I', '\\xce': 'I', '\\xcf': 'I',\n '\\xec': 'i', '\\xed': 'i', '\\xee': 'i', '\\xef': 'i',\n '\\xd1': 'N', '\\xf1': 'n',\n '\\xd2': 'O', '\\xd3': 'O', '\\xd4': 'O', '\\xd5': 'O', '\\xd6': 'O', '\\xd8': 'O',\n '\\xf2': 'o', '\\xf3': 'o', '\\xf4': 'o', '\\xf5': 'o', '\\xf6': 'o', '\\xf8': 'o',\n '\\xd9': 'U', '\\xda': 'U', '\\xdb': 'U', '\\xdc': 'U',\n '\\xf9': 'u', '\\xfa': 'u', '\\xfb': 'u', '\\xfc': 'u',\n '\\xdd': 'Y', '\\xfd': 'y', '\\xff': 'y',\n '\\xc6': 'Ae', '\\xe6': 'ae',\n '\\xde': 'Th', '\\xfe': 'th',\n '\\xdf': 'ss',\n // Latin Extended-A block.\n '\\u0100': 'A', '\\u0102': 'A', '\\u0104': 'A',\n '\\u0101': 'a', '\\u0103': 'a', '\\u0105': 'a',\n '\\u0106': 'C', '\\u0108': 'C', '\\u010a': 'C', '\\u010c': 'C',\n '\\u0107': 'c', '\\u0109': 'c', '\\u010b': 'c', '\\u010d': 'c',\n '\\u010e': 'D', '\\u0110': 'D', '\\u010f': 'd', '\\u0111': 'd',\n '\\u0112': 'E', '\\u0114': 'E', '\\u0116': 'E', '\\u0118': 'E', '\\u011a': 'E',\n '\\u0113': 'e', '\\u0115': 'e', '\\u0117': 'e', '\\u0119': 'e', '\\u011b': 'e',\n '\\u011c': 'G', '\\u011e': 'G', '\\u0120': 'G', '\\u0122': 'G',\n '\\u011d': 'g', '\\u011f': 'g', '\\u0121': 'g', '\\u0123': 'g',\n '\\u0124': 'H', '\\u0126': 'H', '\\u0125': 'h', '\\u0127': 'h',\n '\\u0128': 'I', '\\u012a': 'I', '\\u012c': 'I', '\\u012e': 'I', '\\u0130': 'I',\n '\\u0129': 'i', '\\u012b': 'i', '\\u012d': 'i', '\\u012f': 'i', '\\u0131': 'i',\n '\\u0134': 'J', '\\u0135': 'j',\n '\\u0136': 'K', '\\u0137': 'k', '\\u0138': 'k',\n '\\u0139': 'L', '\\u013b': 'L', '\\u013d': 'L', '\\u013f': 'L', '\\u0141': 'L',\n '\\u013a': 'l', '\\u013c': 'l', '\\u013e': 'l', '\\u0140': 'l', '\\u0142': 'l',\n '\\u0143': 'N', '\\u0145': 'N', '\\u0147': 'N', '\\u014a': 'N',\n '\\u0144': 'n', '\\u0146': 'n', '\\u0148': 'n', '\\u014b': 'n',\n '\\u014c': 'O', '\\u014e': 'O', '\\u0150': 'O',\n '\\u014d': 'o', '\\u014f': 'o', '\\u0151': 'o',\n '\\u0154': 'R', '\\u0156': 'R', '\\u0158': 'R',\n '\\u0155': 'r', '\\u0157': 'r', '\\u0159': 'r',\n '\\u015a': 'S', '\\u015c': 'S', '\\u015e': 'S', '\\u0160': 'S',\n '\\u015b': 's', '\\u015d': 's', '\\u015f': 's', '\\u0161': 's',\n '\\u0162': 'T', '\\u0164': 'T', '\\u0166': 'T',\n '\\u0163': 't', '\\u0165': 't', '\\u0167': 't',\n '\\u0168': 'U', '\\u016a': 'U', '\\u016c': 'U', '\\u016e': 'U', '\\u0170': 'U', '\\u0172': 'U',\n '\\u0169': 'u', '\\u016b': 'u', '\\u016d': 'u', '\\u016f': 'u', '\\u0171': 'u', '\\u0173': 'u',\n '\\u0174': 'W', '\\u0175': 'w',\n '\\u0176': 'Y', '\\u0177': 'y', '\\u0178': 'Y',\n '\\u0179': 'Z', '\\u017b': 'Z', '\\u017d': 'Z',\n '\\u017a': 'z', '\\u017c': 'z', '\\u017e': 'z',\n '\\u0132': 'IJ', '\\u0133': 'ij',\n '\\u0152': 'Oe', '\\u0153': 'oe',\n '\\u0149': \"'n\", '\\u017f': 's'\n};\n\n/**\n * Used by `_.deburr` to convert Latin-1 Supplement and Latin Extended-A\n * letters to basic Latin letters.\n *\n * @private\n * @param {string} letter The matched letter to deburr.\n * @returns {string} Returns the deburred letter.\n */\nvar deburrLetter = basePropertyOf(deburredLetters);\n\nexport default deburrLetter;\n","import deburrLetter from './_deburrLetter.js';\nimport toString from './toString.js';\n\n/** Used to match Latin Unicode letters (excluding mathematical operators). */\nvar reLatin = /[\\xc0-\\xd6\\xd8-\\xf6\\xf8-\\xff\\u0100-\\u017f]/g;\n\n/** Used to compose unicode character classes. */\nvar rsComboMarksRange = '\\\\u0300-\\\\u036f',\n reComboHalfMarksRange = '\\\\ufe20-\\\\ufe2f',\n rsComboSymbolsRange = '\\\\u20d0-\\\\u20ff',\n rsComboRange = rsComboMarksRange + reComboHalfMarksRange + rsComboSymbolsRange;\n\n/** Used to compose unicode capture groups. */\nvar rsCombo = '[' + rsComboRange + ']';\n\n/**\n * Used to match [combining diacritical marks](https://en.wikipedia.org/wiki/Combining_Diacritical_Marks) and\n * [combining diacritical marks for symbols](https://en.wikipedia.org/wiki/Combining_Diacritical_Marks_for_Symbols).\n */\nvar reComboMark = RegExp(rsCombo, 'g');\n\n/**\n * Deburrs `string` by converting\n * [Latin-1 Supplement](https://en.wikipedia.org/wiki/Latin-1_Supplement_(Unicode_block)#Character_table)\n * and [Latin Extended-A](https://en.wikipedia.org/wiki/Latin_Extended-A)\n * letters to basic Latin letters and removing\n * [combining diacritical marks](https://en.wikipedia.org/wiki/Combining_Diacritical_Marks).\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category String\n * @param {string} [string=''] The string to deburr.\n * @returns {string} Returns the deburred string.\n * @example\n *\n * _.deburr('déjà vu');\n * // => 'deja vu'\n */\nfunction deburr(string) {\n string = toString(string);\n return string && string.replace(reLatin, deburrLetter).replace(reComboMark, '');\n}\n\nexport default deburr;\n","/** Used to match words composed of alphanumeric characters. */\nvar reAsciiWord = /[^\\x00-\\x2f\\x3a-\\x40\\x5b-\\x60\\x7b-\\x7f]+/g;\n\n/**\n * Splits an ASCII `string` into an array of its words.\n *\n * @private\n * @param {string} The string to inspect.\n * @returns {Array} Returns the words of `string`.\n */\nfunction asciiWords(string) {\n return string.match(reAsciiWord) || [];\n}\n\nexport default asciiWords;\n","/** Used to detect strings that need a more robust regexp to match words. */\nvar reHasUnicodeWord = /[a-z][A-Z]|[A-Z]{2}[a-z]|[0-9][a-zA-Z]|[a-zA-Z][0-9]|[^a-zA-Z0-9 ]/;\n\n/**\n * Checks if `string` contains a word composed of Unicode symbols.\n *\n * @private\n * @param {string} string The string to inspect.\n * @returns {boolean} Returns `true` if a word is found, else `false`.\n */\nfunction hasUnicodeWord(string) {\n return reHasUnicodeWord.test(string);\n}\n\nexport default hasUnicodeWord;\n","/** Used to compose unicode character classes. */\nvar rsAstralRange = '\\\\ud800-\\\\udfff',\n rsComboMarksRange = '\\\\u0300-\\\\u036f',\n reComboHalfMarksRange = '\\\\ufe20-\\\\ufe2f',\n rsComboSymbolsRange = '\\\\u20d0-\\\\u20ff',\n rsComboRange = rsComboMarksRange + reComboHalfMarksRange + rsComboSymbolsRange,\n rsDingbatRange = '\\\\u2700-\\\\u27bf',\n rsLowerRange = 'a-z\\\\xdf-\\\\xf6\\\\xf8-\\\\xff',\n rsMathOpRange = '\\\\xac\\\\xb1\\\\xd7\\\\xf7',\n rsNonCharRange = '\\\\x00-\\\\x2f\\\\x3a-\\\\x40\\\\x5b-\\\\x60\\\\x7b-\\\\xbf',\n rsPunctuationRange = '\\\\u2000-\\\\u206f',\n rsSpaceRange = ' \\\\t\\\\x0b\\\\f\\\\xa0\\\\ufeff\\\\n\\\\r\\\\u2028\\\\u2029\\\\u1680\\\\u180e\\\\u2000\\\\u2001\\\\u2002\\\\u2003\\\\u2004\\\\u2005\\\\u2006\\\\u2007\\\\u2008\\\\u2009\\\\u200a\\\\u202f\\\\u205f\\\\u3000',\n rsUpperRange = 'A-Z\\\\xc0-\\\\xd6\\\\xd8-\\\\xde',\n rsVarRange = '\\\\ufe0e\\\\ufe0f',\n rsBreakRange = rsMathOpRange + rsNonCharRange + rsPunctuationRange + rsSpaceRange;\n\n/** Used to compose unicode capture groups. */\nvar rsApos = \"['\\u2019]\",\n rsBreak = '[' + rsBreakRange + ']',\n rsCombo = '[' + rsComboRange + ']',\n rsDigits = '\\\\d+',\n rsDingbat = '[' + rsDingbatRange + ']',\n rsLower = '[' + rsLowerRange + ']',\n rsMisc = '[^' + rsAstralRange + rsBreakRange + rsDigits + rsDingbatRange + rsLowerRange + rsUpperRange + ']',\n rsFitz = '\\\\ud83c[\\\\udffb-\\\\udfff]',\n rsModifier = '(?:' + rsCombo + '|' + rsFitz + ')',\n rsNonAstral = '[^' + rsAstralRange + ']',\n rsRegional = '(?:\\\\ud83c[\\\\udde6-\\\\uddff]){2}',\n rsSurrPair = '[\\\\ud800-\\\\udbff][\\\\udc00-\\\\udfff]',\n rsUpper = '[' + rsUpperRange + ']',\n rsZWJ = '\\\\u200d';\n\n/** Used to compose unicode regexes. */\nvar rsMiscLower = '(?:' + rsLower + '|' + rsMisc + ')',\n rsMiscUpper = '(?:' + rsUpper + '|' + rsMisc + ')',\n rsOptContrLower = '(?:' + rsApos + '(?:d|ll|m|re|s|t|ve))?',\n rsOptContrUpper = '(?:' + rsApos + '(?:D|LL|M|RE|S|T|VE))?',\n reOptMod = rsModifier + '?',\n rsOptVar = '[' + rsVarRange + ']?',\n rsOptJoin = '(?:' + rsZWJ + '(?:' + [rsNonAstral, rsRegional, rsSurrPair].join('|') + ')' + rsOptVar + reOptMod + ')*',\n rsOrdLower = '\\\\d*(?:1st|2nd|3rd|(?![123])\\\\dth)(?=\\\\b|[A-Z_])',\n rsOrdUpper = '\\\\d*(?:1ST|2ND|3RD|(?![123])\\\\dTH)(?=\\\\b|[a-z_])',\n rsSeq = rsOptVar + reOptMod + rsOptJoin,\n rsEmoji = '(?:' + [rsDingbat, rsRegional, rsSurrPair].join('|') + ')' + rsSeq;\n\n/** Used to match complex or compound words. */\nvar reUnicodeWord = RegExp([\n rsUpper + '?' + rsLower + '+' + rsOptContrLower + '(?=' + [rsBreak, rsUpper, '$'].join('|') + ')',\n rsMiscUpper + '+' + rsOptContrUpper + '(?=' + [rsBreak, rsUpper + rsMiscLower, '$'].join('|') + ')',\n rsUpper + '?' + rsMiscLower + '+' + rsOptContrLower,\n rsUpper + '+' + rsOptContrUpper,\n rsOrdUpper,\n rsOrdLower,\n rsDigits,\n rsEmoji\n].join('|'), 'g');\n\n/**\n * Splits a Unicode `string` into an array of its words.\n *\n * @private\n * @param {string} The string to inspect.\n * @returns {Array} Returns the words of `string`.\n */\nfunction unicodeWords(string) {\n return string.match(reUnicodeWord) || [];\n}\n\nexport default unicodeWords;\n","import asciiWords from './_asciiWords.js';\nimport hasUnicodeWord from './_hasUnicodeWord.js';\nimport toString from './toString.js';\nimport unicodeWords from './_unicodeWords.js';\n\n/**\n * Splits `string` into an array of its words.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category String\n * @param {string} [string=''] The string to inspect.\n * @param {RegExp|string} [pattern] The pattern to match words.\n * @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`.\n * @returns {Array} Returns the words of `string`.\n * @example\n *\n * _.words('fred, barney, & pebbles');\n * // => ['fred', 'barney', 'pebbles']\n *\n * _.words('fred, barney, & pebbles', /[^, ]+/g);\n * // => ['fred', 'barney', '&', 'pebbles']\n */\nfunction words(string, pattern, guard) {\n string = toString(string);\n pattern = guard ? undefined : pattern;\n\n if (pattern === undefined) {\n return hasUnicodeWord(string) ? unicodeWords(string) : asciiWords(string);\n }\n return string.match(pattern) || [];\n}\n\nexport default words;\n","import arrayReduce from './_arrayReduce.js';\nimport deburr from './deburr.js';\nimport words from './words.js';\n\n/** Used to compose unicode capture groups. */\nvar rsApos = \"['\\u2019]\";\n\n/** Used to match apostrophes. */\nvar reApos = RegExp(rsApos, 'g');\n\n/**\n * Creates a function like `_.camelCase`.\n *\n * @private\n * @param {Function} callback The function to combine each word.\n * @returns {Function} Returns the new compounder function.\n */\nfunction createCompounder(callback) {\n return function(string) {\n return arrayReduce(words(deburr(string).replace(reApos, '')), callback, '');\n };\n}\n\nexport default createCompounder;\n","/**\n * Creates a base function for methods like `_.forIn` and `_.forOwn`.\n *\n * @private\n * @param {boolean} [fromRight] Specify iterating from right to left.\n * @returns {Function} Returns the new base function.\n */\nfunction createBaseFor(fromRight) {\n return function(object, iteratee, keysFunc) {\n var index = -1,\n iterable = Object(object),\n props = keysFunc(object),\n length = props.length;\n\n while (length--) {\n var key = props[fromRight ? length : ++index];\n if (iteratee(iterable[key], key, iterable) === false) {\n break;\n }\n }\n return object;\n };\n}\n\nexport default createBaseFor;\n","import createBaseFor from './_createBaseFor.js';\n\n/**\n * The base implementation of `baseForOwn` which iterates over `object`\n * properties returned by `keysFunc` and invokes `iteratee` for each property.\n * Iteratee functions may exit iteration early by explicitly returning `false`.\n *\n * @private\n * @param {Object} object The object to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @param {Function} keysFunc The function to get the keys of `object`.\n * @returns {Object} Returns `object`.\n */\nvar baseFor = createBaseFor();\n\nexport default baseFor;\n","import baseFor from './_baseFor.js';\nimport keys from './keys.js';\n\n/**\n * The base implementation of `_.forOwn` without support for iteratee shorthands.\n *\n * @private\n * @param {Object} object The object to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Object} Returns `object`.\n */\nfunction baseForOwn(object, iteratee) {\n return object && baseFor(object, iteratee, keys);\n}\n\nexport default baseForOwn;\n","import root from './_root.js';\n\n/** Built-in value references. */\nvar Uint8Array = root.Uint8Array;\n\nexport default Uint8Array;\n","'use strict'\n\nvar isObject = function isObject(val) {\n return val !== null && !Array.isArray(val) && typeof val === 'object'\n}\n\nvar codes = {\n // ----------------------------------------\n // By Code\n // ----------------------------------------\n 3: 'Cancel',\n 6: 'Help',\n 8: 'Backspace',\n 9: 'Tab',\n 12: 'Clear',\n 13: 'Enter',\n 16: 'Shift',\n 17: 'Control',\n 18: 'Alt',\n 19: 'Pause',\n 20: 'CapsLock',\n 27: 'Escape',\n 28: 'Convert',\n 29: 'NonConvert',\n 30: 'Accept',\n 31: 'ModeChange',\n 32: ' ',\n 33: 'PageUp',\n 34: 'PageDown',\n 35: 'End',\n 36: 'Home',\n 37: 'ArrowLeft',\n 38: 'ArrowUp',\n 39: 'ArrowRight',\n 40: 'ArrowDown',\n 41: 'Select',\n 42: 'Print',\n 43: 'Execute',\n 44: 'PrintScreen',\n 45: 'Insert',\n 46: 'Delete',\n 48: ['0', ')'],\n 49: ['1', '!'],\n 50: ['2', '@'],\n 51: ['3', '#'],\n 52: ['4', '$'],\n 53: ['5', '%'],\n 54: ['6', '^'],\n 55: ['7', '&'],\n 56: ['8', '*'],\n 57: ['9', '('],\n 91: 'OS',\n 93: 'ContextMenu',\n 144: 'NumLock',\n 145: 'ScrollLock',\n 181: 'VolumeMute',\n 182: 'VolumeDown',\n 183: 'VolumeUp',\n 186: [';', ':'],\n 187: ['=', '+'],\n 188: [',', '<'],\n 189: ['-', '_'],\n 190: ['.', '>'],\n 191: ['/', '?'],\n 192: ['`', '~'],\n 219: ['[', '{'],\n 220: ['\\\\', '|'],\n 221: [']', '}'],\n 222: [\"'\", '\"'],\n 224: 'Meta',\n 225: 'AltGraph',\n 246: 'Attn',\n 247: 'CrSel',\n 248: 'ExSel',\n 249: 'EraseEof',\n 250: 'Play',\n 251: 'ZoomOut',\n}\n\n// Function Keys (F1-24)\nfor (var i = 0; i < 24; i += 1) {\n codes[112 + i] = 'F' + (i + 1)\n}\n\n// Alphabet (a-Z)\nfor (var j = 0; j < 26; j += 1) {\n var n = j + 65\n codes[n] = [String.fromCharCode(n + 32), String.fromCharCode(n)]\n}\n\nvar keyboardKey = {\n codes: codes,\n\n /**\n * Get the `keyCode` or `which` value from a keyboard event or `key` name.\n * @param {string|object} eventOrKey A keyboard event-like object or `key` name.\n * @param {string} [eventOrKey.key] If object, it must have one of these keys.\n * @param {number} [eventOrKey.keyCode] If object, it must have one of these keys.\n * @param {number} [eventOrKey.which] If object, it must have one of these keys.\n * @returns {number|undefined}\n */\n getCode: function getCode(eventOrKey) {\n if (isObject(eventOrKey)) {\n return eventOrKey.keyCode || eventOrKey.which || this[eventOrKey.key]\n }\n return this[eventOrKey]\n },\n\n /**\n * Get the key name from a keyboard event, `keyCode`, or `which` value.\n * @param {number|object} eventOrCode A keyboard event-like object or key code.\n * @param {string} [eventOrCode.key] If object with a `key` name, it will be returned.\n * @param {number} [eventOrCode.keyCode] If object, it must have one of these keys.\n * @param {number} [eventOrCode.which] If object, it must have one of these keys.\n * @param {boolean} [eventOrCode.shiftKey] If object, it must have one of these keys.\n * @returns {string|undefined}\n */\n getKey: function getKey(eventOrCode) {\n var isEvent = isObject(eventOrCode)\n\n // handle events with a `key` already defined\n if (isEvent && eventOrCode.key) {\n return eventOrCode.key\n }\n\n var name = codes[isEvent ? eventOrCode.keyCode || eventOrCode.which : eventOrCode]\n\n if (Array.isArray(name)) {\n if (isEvent) {\n name = name[eventOrCode.shiftKey ? 1 : 0]\n } else {\n name = name[0]\n }\n }\n\n return name\n },\n\n // ----------------------------------------\n // By Name\n // ----------------------------------------\n // declare these manually for static analysis\n Cancel: 3,\n Help: 6,\n Backspace: 8,\n Tab: 9,\n Clear: 12,\n Enter: 13,\n Shift: 16,\n Control: 17,\n Alt: 18,\n Pause: 19,\n CapsLock: 20,\n Escape: 27,\n Convert: 28,\n NonConvert: 29,\n Accept: 30,\n ModeChange: 31,\n ' ': 32,\n PageUp: 33,\n PageDown: 34,\n End: 35,\n Home: 36,\n ArrowLeft: 37,\n ArrowUp: 38,\n ArrowRight: 39,\n ArrowDown: 40,\n Select: 41,\n Print: 42,\n Execute: 43,\n PrintScreen: 44,\n Insert: 45,\n Delete: 46,\n 0: 48,\n ')': 48,\n 1: 49,\n '!': 49,\n 2: 50,\n '@': 50,\n 3: 51,\n '#': 51,\n 4: 52,\n $: 52,\n 5: 53,\n '%': 53,\n 6: 54,\n '^': 54,\n 7: 55,\n '&': 55,\n 8: 56,\n '*': 56,\n 9: 57,\n '(': 57,\n a: 65,\n A: 65,\n b: 66,\n B: 66,\n c: 67,\n C: 67,\n d: 68,\n D: 68,\n e: 69,\n E: 69,\n f: 70,\n F: 70,\n g: 71,\n G: 71,\n h: 72,\n H: 72,\n i: 73,\n I: 73,\n j: 74,\n J: 74,\n k: 75,\n K: 75,\n l: 76,\n L: 76,\n m: 77,\n M: 77,\n n: 78,\n N: 78,\n o: 79,\n O: 79,\n p: 80,\n P: 80,\n q: 81,\n Q: 81,\n r: 82,\n R: 82,\n s: 83,\n S: 83,\n t: 84,\n T: 84,\n u: 85,\n U: 85,\n v: 86,\n V: 86,\n w: 87,\n W: 87,\n x: 88,\n X: 88,\n y: 89,\n Y: 89,\n z: 90,\n Z: 90,\n OS: 91,\n ContextMenu: 93,\n F1: 112,\n F2: 113,\n F3: 114,\n F4: 115,\n F5: 116,\n F6: 117,\n F7: 118,\n F8: 119,\n F9: 120,\n F10: 121,\n F11: 122,\n F12: 123,\n F13: 124,\n F14: 125,\n F15: 126,\n F16: 127,\n F17: 128,\n F18: 129,\n F19: 130,\n F20: 131,\n F21: 132,\n F22: 133,\n F23: 134,\n F24: 135,\n NumLock: 144,\n ScrollLock: 145,\n VolumeMute: 181,\n VolumeDown: 182,\n VolumeUp: 183,\n ';': 186,\n ':': 186,\n '=': 187,\n '+': 187,\n ',': 188,\n '<': 188,\n '-': 189,\n _: 189,\n '.': 190,\n '>': 190,\n '/': 191,\n '?': 191,\n '`': 192,\n '~': 192,\n '[': 219,\n '{': 219,\n '\\\\': 220,\n '|': 220,\n ']': 221,\n '}': 221,\n \"'\": 222,\n '\"': 222,\n Meta: 224,\n AltGraph: 225,\n Attn: 246,\n CrSel: 247,\n ExSel: 248,\n EraseEof: 249,\n Play: 250,\n ZoomOut: 251,\n}\n\n// ----------------------------------------\n// By Alias\n// ----------------------------------------\n// provide dot-notation accessible keys for all key names\nkeyboardKey.Spacebar = keyboardKey[' ']\nkeyboardKey.Digit0 = keyboardKey['0']\nkeyboardKey.Digit1 = keyboardKey['1']\nkeyboardKey.Digit2 = keyboardKey['2']\nkeyboardKey.Digit3 = keyboardKey['3']\nkeyboardKey.Digit4 = keyboardKey['4']\nkeyboardKey.Digit5 = keyboardKey['5']\nkeyboardKey.Digit6 = keyboardKey['6']\nkeyboardKey.Digit7 = keyboardKey['7']\nkeyboardKey.Digit8 = keyboardKey['8']\nkeyboardKey.Digit9 = keyboardKey['9']\nkeyboardKey.Tilde = keyboardKey['~']\nkeyboardKey.GraveAccent = keyboardKey['`']\nkeyboardKey.ExclamationPoint = keyboardKey['!']\nkeyboardKey.AtSign = keyboardKey['@']\nkeyboardKey.PoundSign = keyboardKey['#']\nkeyboardKey.PercentSign = keyboardKey['%']\nkeyboardKey.Caret = keyboardKey['^']\nkeyboardKey.Ampersand = keyboardKey['&']\nkeyboardKey.PlusSign = keyboardKey['+']\nkeyboardKey.MinusSign = keyboardKey['-']\nkeyboardKey.EqualsSign = keyboardKey['=']\nkeyboardKey.DivisionSign = keyboardKey['/']\nkeyboardKey.MultiplicationSign = keyboardKey['*']\nkeyboardKey.Comma = keyboardKey[',']\nkeyboardKey.Decimal = keyboardKey['.']\nkeyboardKey.Colon = keyboardKey[':']\nkeyboardKey.Semicolon = keyboardKey[';']\nkeyboardKey.Pipe = keyboardKey['|']\nkeyboardKey.BackSlash = keyboardKey['\\\\']\nkeyboardKey.QuestionMark = keyboardKey['?']\nkeyboardKey.SingleQuote = keyboardKey[\"'\"]\nkeyboardKey.DoubleQuote = keyboardKey['\"']\nkeyboardKey.LeftCurlyBrace = keyboardKey['{']\nkeyboardKey.RightCurlyBrace = keyboardKey['}']\nkeyboardKey.LeftParenthesis = keyboardKey['(']\nkeyboardKey.RightParenthesis = keyboardKey[')']\nkeyboardKey.LeftAngleBracket = keyboardKey['<']\nkeyboardKey.RightAngleBracket = keyboardKey['>']\nkeyboardKey.LeftSquareBracket = keyboardKey['[']\nkeyboardKey.RightSquareBracket = keyboardKey[']']\n\nmodule.exports = keyboardKey\n","import getNative from './_getNative.js';\n\nvar defineProperty = (function() {\n try {\n var func = getNative(Object, 'defineProperty');\n func({}, '', {});\n return func;\n } catch (e) {}\n}());\n\nexport default defineProperty;\n","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport cx from 'clsx';\nimport PropTypes from 'prop-types';\nimport React from 'react';\nimport { customPropTypes, createShorthandFactory, getElementType, getUnhandledProps, SUI, useKeyOnly, useMultipleProp, useTextAlignProp, useValueAndKey, useVerticalAlignProp, useWidthProp } from '../../lib';\n/**\n * A column sub-component for Grid.\n */\n\nfunction GridColumn(props) {\n var children = props.children,\n className = props.className,\n computer = props.computer,\n color = props.color,\n floated = props.floated,\n largeScreen = props.largeScreen,\n mobile = props.mobile,\n only = props.only,\n stretched = props.stretched,\n tablet = props.tablet,\n textAlign = props.textAlign,\n verticalAlign = props.verticalAlign,\n widescreen = props.widescreen,\n width = props.width;\n var classes = cx(color, useKeyOnly(stretched, 'stretched'), useMultipleProp(only, 'only'), useTextAlignProp(textAlign), useValueAndKey(floated, 'floated'), useVerticalAlignProp(verticalAlign), useWidthProp(computer, 'wide computer'), useWidthProp(largeScreen, 'wide large screen'), useWidthProp(mobile, 'wide mobile'), useWidthProp(tablet, 'wide tablet'), useWidthProp(widescreen, 'wide widescreen'), useWidthProp(width, 'wide'), 'column', className);\n var rest = getUnhandledProps(GridColumn, props);\n var ElementType = getElementType(GridColumn, props);\n return /*#__PURE__*/React.createElement(ElementType, _extends({}, rest, {\n className: classes\n }), children);\n}\n\nGridColumn.handledProps = [\"as\", \"children\", \"className\", \"color\", \"computer\", \"floated\", \"largeScreen\", \"mobile\", \"only\", \"stretched\", \"tablet\", \"textAlign\", \"verticalAlign\", \"widescreen\", \"width\"];\nGridColumn.propTypes = process.env.NODE_ENV !== \"production\" ? {\n /** An element type to render as (string or function). */\n as: PropTypes.elementType,\n\n /** Primary content. */\n children: PropTypes.node,\n\n /** Additional classes. */\n className: PropTypes.string,\n\n /** A grid column can be colored. */\n color: PropTypes.oneOf(SUI.COLORS),\n\n /** A column can specify a width for a computer. */\n computer: customPropTypes.every([customPropTypes.disallow(['width']), PropTypes.oneOf(SUI.WIDTHS)]),\n\n /** A column can sit flush against the left or right edge of a row. */\n floated: PropTypes.oneOf(SUI.FLOATS),\n\n /** A column can specify a width for a large screen device. */\n largeScreen: customPropTypes.every([customPropTypes.disallow(['width']), PropTypes.oneOf(SUI.WIDTHS)]),\n\n /** A column can specify a width for a mobile device. */\n mobile: customPropTypes.every([customPropTypes.disallow(['width']), PropTypes.oneOf(SUI.WIDTHS)]),\n\n /** A column can appear only for a specific device, or screen sizes. */\n only: customPropTypes.multipleProp(SUI.VISIBILITY),\n\n /** A column can stretch its contents to take up the entire grid or row height. */\n stretched: PropTypes.bool,\n\n /** A column can specify a width for a tablet device. */\n tablet: customPropTypes.every([customPropTypes.disallow(['width']), PropTypes.oneOf(SUI.WIDTHS)]),\n\n /** A column can specify its text alignment. */\n textAlign: PropTypes.oneOf(SUI.TEXT_ALIGNMENTS),\n\n /** A column can specify its vertical alignment to have all its columns vertically centered. */\n verticalAlign: PropTypes.oneOf(SUI.VERTICAL_ALIGNMENTS),\n\n /** A column can specify a width for a wide screen device. */\n widescreen: customPropTypes.every([customPropTypes.disallow(['width']), PropTypes.oneOf(SUI.WIDTHS)]),\n\n /** Represents width of column. */\n width: customPropTypes.every([customPropTypes.disallow(['computer', 'largeScreen', 'mobile', 'tablet', 'widescreen']), PropTypes.oneOf(SUI.WIDTHS)])\n} : {};\nGridColumn.create = createShorthandFactory(GridColumn, function (children) {\n return {\n children: children\n };\n});\nexport default GridColumn;","import { instance } from '@semantic-ui-react/event-stack';\nexport default instance;","import baseIndexOf from './_baseIndexOf.js';\n\n/**\n * A specialized version of `_.includes` for arrays without support for\n * specifying an index to search from.\n *\n * @private\n * @param {Array} [array] The array to inspect.\n * @param {*} target The value to search for.\n * @returns {boolean} Returns `true` if `target` is found, else `false`.\n */\nfunction arrayIncludes(array, value) {\n var length = array == null ? 0 : array.length;\n return !!length && baseIndexOf(array, value, 0) > -1;\n}\n\nexport default arrayIncludes;\n","/**\n * This function is like `arrayIncludes` except that it accepts a comparator.\n *\n * @private\n * @param {Array} [array] The array to inspect.\n * @param {*} target The value to search for.\n * @param {Function} comparator The comparator invoked per element.\n * @returns {boolean} Returns `true` if `target` is found, else `false`.\n */\nfunction arrayIncludesWith(array, value, comparator) {\n var index = -1,\n length = array == null ? 0 : array.length;\n\n while (++index < length) {\n if (comparator(value, array[index])) {\n return true;\n }\n }\n return false;\n}\n\nexport default arrayIncludesWith;\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\nexport default noop;\n","import Set from './_Set.js';\nimport noop from './noop.js';\nimport setToArray from './_setToArray.js';\n\n/** Used as references for various `Number` constants. */\nvar INFINITY = 1 / 0;\n\n/**\n * Creates a set object of `values`.\n *\n * @private\n * @param {Array} values The values to add to the set.\n * @returns {Object} Returns the new set.\n */\nvar createSet = !(Set && (1 / setToArray(new Set([,-0]))[1]) == INFINITY) ? noop : function(values) {\n return new Set(values);\n};\n\nexport default createSet;\n","import SetCache from './_SetCache.js';\nimport arrayIncludes from './_arrayIncludes.js';\nimport arrayIncludesWith from './_arrayIncludesWith.js';\nimport cacheHas from './_cacheHas.js';\nimport createSet from './_createSet.js';\nimport setToArray from './_setToArray.js';\n\n/** Used as the size to enable large array optimizations. */\nvar LARGE_ARRAY_SIZE = 200;\n\n/**\n * The base implementation of `_.uniqBy` without support for iteratee shorthands.\n *\n * @private\n * @param {Array} array The array to inspect.\n * @param {Function} [iteratee] The iteratee invoked per element.\n * @param {Function} [comparator] The comparator invoked per element.\n * @returns {Array} Returns the new duplicate free array.\n */\nfunction baseUniq(array, iteratee, comparator) {\n var index = -1,\n includes = arrayIncludes,\n length = array.length,\n isCommon = true,\n result = [],\n seen = result;\n\n if (comparator) {\n isCommon = false;\n includes = arrayIncludesWith;\n }\n else if (length >= LARGE_ARRAY_SIZE) {\n var set = iteratee ? null : createSet(array);\n if (set) {\n return setToArray(set);\n }\n isCommon = false;\n includes = cacheHas;\n seen = new SetCache;\n }\n else {\n seen = iteratee ? [] : result;\n }\n outer:\n while (++index < length) {\n var value = array[index],\n computed = iteratee ? iteratee(value) : value;\n\n value = (comparator || value !== 0) ? value : 0;\n if (isCommon && computed === computed) {\n var seenIndex = seen.length;\n while (seenIndex--) {\n if (seen[seenIndex] === computed) {\n continue outer;\n }\n }\n if (iteratee) {\n seen.push(computed);\n }\n result.push(value);\n }\n else if (!includes(seen, computed, comparator)) {\n if (seen !== result) {\n seen.push(computed);\n }\n result.push(value);\n }\n }\n return result;\n}\n\nexport default baseUniq;\n","import baseUniq from './_baseUniq.js';\n\n/**\n * Creates a duplicate-free version of an array, using\n * [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)\n * for equality comparisons, in which only the first occurrence of each element\n * is kept. The order of result values is determined by the order they occur\n * in the array.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Array\n * @param {Array} array The array to inspect.\n * @returns {Array} Returns the new duplicate free array.\n * @example\n *\n * _.uniq([2, 1, 2]);\n * // => [2, 1]\n */\nfunction uniq(array) {\n return (array && array.length) ? baseUniq(array) : [];\n}\n\nexport default uniq;\n","import baseEach from './_baseEach.js';\n\n/**\n * The base implementation of `_.some` without support for iteratee shorthands.\n *\n * @private\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Function} predicate The function invoked per iteration.\n * @returns {boolean} Returns `true` if any element passes the predicate check,\n * else `false`.\n */\nfunction baseSome(collection, predicate) {\n var result;\n\n baseEach(collection, function(value, index, collection) {\n result = predicate(value, index, collection);\n return !result;\n });\n return !!result;\n}\n\nexport default baseSome;\n","import arraySome from './_arraySome.js';\nimport baseIteratee from './_baseIteratee.js';\nimport baseSome from './_baseSome.js';\nimport isArray from './isArray.js';\nimport isIterateeCall from './_isIterateeCall.js';\n\n/**\n * Checks if `predicate` returns truthy for **any** element of `collection`.\n * Iteration is stopped once `predicate` returns truthy. The predicate is\n * invoked with three arguments: (value, index|key, collection).\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Collection\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Function} [predicate=_.identity] The function invoked per iteration.\n * @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`.\n * @returns {boolean} Returns `true` if any element passes the predicate check,\n * else `false`.\n * @example\n *\n * _.some([null, 0, 'yes', false], Boolean);\n * // => true\n *\n * var users = [\n * { 'user': 'barney', 'active': true },\n * { 'user': 'fred', 'active': false }\n * ];\n *\n * // The `_.matches` iteratee shorthand.\n * _.some(users, { 'user': 'barney', 'active': false });\n * // => false\n *\n * // The `_.matchesProperty` iteratee shorthand.\n * _.some(users, ['active', false]);\n * // => true\n *\n * // The `_.property` iteratee shorthand.\n * _.some(users, 'active');\n * // => true\n */\nfunction some(collection, predicate, guard) {\n var func = isArray(collection) ? arraySome : baseSome;\n if (guard && isIterateeCall(collection, predicate, guard)) {\n predicate = undefined;\n }\n return func(collection, baseIteratee(predicate, 3));\n}\n\nexport default some;\n","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports[\"default\"] = void 0;\n\nvar _react = _interopRequireDefault(require(\"react\"));\n\nvar _propTypes = _interopRequireDefault(require(\"prop-types\"));\n\nvar _memoizeOne = _interopRequireDefault(require(\"memoize-one\"));\n\nvar _elements = require(\"../elements\");\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; 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 _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 _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 _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function () { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } return _assertThisInitialized(self); }\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 _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\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\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\nvar noop = function noop() {};\n\nvar extractOptions = function extractOptions(props) {\n var id = props.id,\n className = props.className,\n onChange = props.onChange,\n onBlur = props.onBlur,\n onFocus = props.onFocus,\n onReady = props.onReady,\n onSubmit = props.onSubmit,\n options = _objectWithoutProperties(props, [\"id\", \"className\", \"onChange\", \"onBlur\", \"onFocus\", \"onReady\", \"onSubmit\"]);\n\n return options;\n};\n/**\n * An [Element](https://developers.recurly.com/reference/recurly-js/#elements)\n * component which wraps its Recurly.js analogue, passing configuration props to the underlying\n * Recurly.js Element and allowing event binding using props.\n */\n\n\nvar Element = /*#__PURE__*/function (_React$PureComponent) {\n _inherits(Element, _React$PureComponent);\n\n var _super = _createSuper(Element);\n\n function Element(props, context) {\n var _this;\n\n _classCallCheck(this, Element);\n\n _this = _super.call(this, props, context);\n\n _defineProperty(_assertThisInitialized(_this), \"configureElement\", (0, _memoizeOne[\"default\"])(function (element, options) {\n return element && Object.keys(options).length > 0 && element.configure(options);\n }));\n\n var elementClassName = _this.constructor.elementClassName;\n\n if (!context || !context.elements) {\n throw new Error(\"<\".concat(elementClassName, \"> must be within an <Elements> tree.\"));\n }\n\n var _options = extractOptions(_this.props);\n\n var _element = _this._element = context.elements[elementClassName](_options);\n\n _this._container = _react[\"default\"].createRef();\n\n _element.on('ready', function () {\n var _this$props;\n\n return (_this$props = _this.props).onReady.apply(_this$props, arguments);\n });\n\n _element.on('change', function () {\n var _this$props2;\n\n return (_this$props2 = _this.props).onChange.apply(_this$props2, arguments);\n });\n\n _element.on('blur', function () {\n var _this$props3;\n\n return (_this$props3 = _this.props).onBlur.apply(_this$props3, arguments);\n });\n\n _element.on('focus', function () {\n var _this$props4;\n\n return (_this$props4 = _this.props).onFocus.apply(_this$props4, arguments);\n });\n\n _element.on('submit', function () {\n var _this$props5;\n\n return (_this$props5 = _this.props).onSubmit.apply(_this$props5, arguments);\n });\n\n return _this;\n }\n\n _createClass(Element, [{\n key: \"componentDidMount\",\n value: function componentDidMount() {\n this._element.attach(this._container.current);\n }\n }, {\n key: \"componentWillUnmount\",\n value: function componentWillUnmount() {\n this._element.destroy();\n }\n }, {\n key: \"render\",\n value: function render() {\n var element = this._element,\n props = this.props;\n this.configureElement(element, extractOptions(props));\n return /*#__PURE__*/_react[\"default\"].createElement(\"div\", {\n id: props.id,\n className: props.className,\n ref: this._container\n });\n }\n }]);\n\n return Element;\n}(_react[\"default\"].PureComponent);\n\nexports[\"default\"] = Element;\n\n_defineProperty(Element, \"propTypes\", {\n /**\n * Applied to the container.\n */\n id: _propTypes[\"default\"].string,\n\n /**\n * Applied to the container.\n */\n className: _propTypes[\"default\"].string,\n\n /**\n * Called when the state of the Element changes.\n */\n onChange: _propTypes[\"default\"].func,\n\n /**\n * Called when a user blurs from the Element.\n */\n onBlur: _propTypes[\"default\"].func,\n\n /**\n * Called when a user focuses on the Element.\n */\n onFocus: _propTypes[\"default\"].func,\n\n /**\n * Called when the Element has finished initializing.\n */\n onReady: _propTypes[\"default\"].func,\n\n /**\n * Called when a user presses the <kbd>enter</kbd> key while focused on the Element.\n */\n onSubmit: _propTypes[\"default\"].func,\n\n /**\n * Set style attributes for the Element.\n * See [Styling Elements](https://developers.recurly.com/reference/recurly-js/#styling-elements)\n * for available options.\n */\n style: _propTypes[\"default\"].object,\n\n /**\n * [tabindex](https://developer.mozilla.org/en-US/docs/Web/HTML/Global_attributes/tabindex)\n * property to be applied to the outer iframe.\n */\n tabIndex: _propTypes[\"default\"].string\n});\n\n_defineProperty(Element, \"defaultProps\", {\n id: undefined,\n className: undefined,\n onChange: function onChange(state) {},\n onBlur: noop,\n onFocus: noop,\n onReady: noop,\n onSubmit: noop,\n style: {},\n tabIndex: undefined\n});\n\n_defineProperty(Element, \"contextType\", _elements.RecurlyElementsContext);\n\n;","/**\n * Checks if `value` is the\n * [language type](http://www.ecma-international.org/ecma-262/7.0/#sec-ecmascript-language-types)\n * of `Object`. (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`)\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an object, else `false`.\n * @example\n *\n * _.isObject({});\n * // => true\n *\n * _.isObject([1, 2, 3]);\n * // => true\n *\n * _.isObject(_.noop);\n * // => true\n *\n * _.isObject(null);\n * // => false\n */\nfunction isObject(value) {\n var type = typeof value;\n return value != null && (type == 'object' || type == 'function');\n}\n\nmodule.exports = isObject;\n","/**\n * Checks if `value` is object-like. A value is object-like if it's not `null`\n * and has a `typeof` result of \"object\".\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is object-like, else `false`.\n * @example\n *\n * _.isObjectLike({});\n * // => true\n *\n * _.isObjectLike([1, 2, 3]);\n * // => true\n *\n * _.isObjectLike(_.noop);\n * // => false\n *\n * _.isObjectLike(null);\n * // => false\n */\nfunction isObjectLike(value) {\n return value != null && typeof value == 'object';\n}\n\nmodule.exports = isObjectLike;\n","import baseGetAllKeys from './_baseGetAllKeys.js';\nimport getSymbols from './_getSymbols.js';\nimport keys from './keys.js';\n\n/**\n * Creates an array of own enumerable property names and symbols of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names and symbols.\n */\nfunction getAllKeys(object) {\n return baseGetAllKeys(object, keys, getSymbols);\n}\n\nexport default getAllKeys;\n","import _isNil from \"lodash-es/isNil\";\nvar hasDocument = typeof document === 'object' && document !== null;\nvar hasWindow = typeof window === 'object' && window !== null && window.self === window; // eslint-disable-next-line no-confusing-arrow\n\nvar isBrowser = function isBrowser() {\n return !_isNil(isBrowser.override) ? isBrowser.override : hasDocument && hasWindow;\n};\n\nexport default isBrowser;","'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","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport cx from 'clsx';\nimport PropTypes from 'prop-types';\nimport React from 'react';\nimport { childrenUtils, createShorthandFactory, customPropTypes, getElementType, getUnhandledProps } from '../../lib';\n\nfunction LabelDetail(props) {\n var children = props.children,\n className = props.className,\n content = props.content;\n var classes = cx('detail', className);\n var rest = getUnhandledProps(LabelDetail, props);\n var ElementType = getElementType(LabelDetail, props);\n return /*#__PURE__*/React.createElement(ElementType, _extends({}, rest, {\n className: classes\n }), childrenUtils.isNil(children) ? content : children);\n}\n\nLabelDetail.handledProps = [\"as\", \"children\", \"className\", \"content\"];\nLabelDetail.propTypes = process.env.NODE_ENV !== \"production\" ? {\n /** An element type to render as (string or function). */\n as: PropTypes.elementType,\n\n /** Primary content. */\n children: PropTypes.node,\n\n /** Additional classes. */\n className: PropTypes.string,\n\n /** Shorthand for primary content. */\n content: customPropTypes.contentShorthand\n} : {};\nLabelDetail.create = createShorthandFactory(LabelDetail, function (val) {\n return {\n content: val\n };\n});\nexport default LabelDetail;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport cx from 'clsx';\nimport PropTypes from 'prop-types';\nimport React from 'react';\nimport { childrenUtils, customPropTypes, getElementType, getUnhandledProps, SUI, useKeyOnly } from '../../lib';\n/**\n * A label can be grouped.\n */\n\nfunction LabelGroup(props) {\n var children = props.children,\n circular = props.circular,\n className = props.className,\n color = props.color,\n content = props.content,\n size = props.size,\n tag = props.tag;\n var classes = cx('ui', color, size, useKeyOnly(circular, 'circular'), useKeyOnly(tag, 'tag'), 'labels', className);\n var rest = getUnhandledProps(LabelGroup, props);\n var ElementType = getElementType(LabelGroup, props);\n return /*#__PURE__*/React.createElement(ElementType, _extends({}, rest, {\n className: classes\n }), childrenUtils.isNil(children) ? content : children);\n}\n\nLabelGroup.handledProps = [\"as\", \"children\", \"circular\", \"className\", \"color\", \"content\", \"size\", \"tag\"];\nLabelGroup.propTypes = process.env.NODE_ENV !== \"production\" ? {\n /** An element type to render as (string or function). */\n as: PropTypes.elementType,\n\n /** Primary content. */\n children: PropTypes.node,\n\n /** Labels can share shapes. */\n circular: PropTypes.bool,\n\n /** Additional classes. */\n className: PropTypes.string,\n\n /** Label group can share colors together. */\n color: PropTypes.oneOf(SUI.COLORS),\n\n /** Shorthand for primary content. */\n content: customPropTypes.contentShorthand,\n\n /** Label group can share sizes together. */\n size: PropTypes.oneOf(SUI.SIZES),\n\n /** Label group can share tag formatting. */\n tag: PropTypes.bool\n} : {};\nexport default LabelGroup;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _inheritsLoose from \"@babel/runtime/helpers/esm/inheritsLoose\";\nimport _isUndefined from \"lodash-es/isUndefined\";\nimport _invoke from \"lodash-es/invoke\";\nimport cx from 'clsx';\nimport PropTypes from 'prop-types';\nimport React, { Component } from 'react';\nimport { childrenUtils, createShorthandFactory, customPropTypes, getElementType, getUnhandledProps, SUI, useKeyOnly, useKeyOrValueAndKey, useValueAndKey } from '../../lib';\nimport Icon from '../Icon/Icon';\nimport Image from '../Image/Image';\nimport LabelDetail from './LabelDetail';\nimport LabelGroup from './LabelGroup';\n/**\n * A label displays content classification.\n */\n\nvar Label = /*#__PURE__*/function (_Component) {\n _inheritsLoose(Label, _Component);\n\n function Label() {\n var _this;\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 = _Component.call.apply(_Component, [this].concat(args)) || this;\n\n _this.handleClick = function (e) {\n var onClick = _this.props.onClick;\n if (onClick) onClick(e, _this.props);\n };\n\n _this.handleIconOverrides = function (predefinedProps) {\n return {\n onClick: function onClick(e) {\n _invoke(predefinedProps, 'onClick', e);\n\n _invoke(_this.props, 'onRemove', e, _this.props);\n }\n };\n };\n\n return _this;\n }\n\n var _proto = Label.prototype;\n\n _proto.render = function render() {\n var _this$props = this.props,\n active = _this$props.active,\n attached = _this$props.attached,\n basic = _this$props.basic,\n children = _this$props.children,\n circular = _this$props.circular,\n className = _this$props.className,\n color = _this$props.color,\n content = _this$props.content,\n corner = _this$props.corner,\n detail = _this$props.detail,\n empty = _this$props.empty,\n floating = _this$props.floating,\n horizontal = _this$props.horizontal,\n icon = _this$props.icon,\n image = _this$props.image,\n onRemove = _this$props.onRemove,\n pointing = _this$props.pointing,\n prompt = _this$props.prompt,\n removeIcon = _this$props.removeIcon,\n ribbon = _this$props.ribbon,\n size = _this$props.size,\n tag = _this$props.tag;\n var pointingClass = pointing === true && 'pointing' || (pointing === 'left' || pointing === 'right') && pointing + \" pointing\" || (pointing === 'above' || pointing === 'below') && \"pointing \" + pointing;\n var classes = cx('ui', color, pointingClass, size, useKeyOnly(active, 'active'), useKeyOnly(basic, 'basic'), useKeyOnly(circular, 'circular'), useKeyOnly(empty, 'empty'), useKeyOnly(floating, 'floating'), useKeyOnly(horizontal, 'horizontal'), useKeyOnly(image === true, 'image'), useKeyOnly(prompt, 'prompt'), useKeyOnly(tag, 'tag'), useKeyOrValueAndKey(corner, 'corner'), useKeyOrValueAndKey(ribbon, 'ribbon'), useValueAndKey(attached, 'attached'), 'label', className);\n var rest = getUnhandledProps(Label, this.props);\n var ElementType = getElementType(Label, this.props);\n\n if (!childrenUtils.isNil(children)) {\n return /*#__PURE__*/React.createElement(ElementType, _extends({}, rest, {\n className: classes,\n onClick: this.handleClick\n }), children);\n }\n\n var removeIconShorthand = _isUndefined(removeIcon) ? 'delete' : removeIcon;\n return /*#__PURE__*/React.createElement(ElementType, _extends({\n className: classes,\n onClick: this.handleClick\n }, rest), Icon.create(icon, {\n autoGenerateKey: false\n }), typeof image !== 'boolean' && Image.create(image, {\n autoGenerateKey: false\n }), content, LabelDetail.create(detail, {\n autoGenerateKey: false\n }), onRemove && Icon.create(removeIconShorthand, {\n autoGenerateKey: false,\n overrideProps: this.handleIconOverrides\n }));\n };\n\n return Label;\n}(Component);\n\nLabel.handledProps = [\"active\", \"as\", \"attached\", \"basic\", \"children\", \"circular\", \"className\", \"color\", \"content\", \"corner\", \"detail\", \"empty\", \"floating\", \"horizontal\", \"icon\", \"image\", \"onClick\", \"onRemove\", \"pointing\", \"prompt\", \"removeIcon\", \"ribbon\", \"size\", \"tag\"];\nexport { Label as default };\nLabel.propTypes = process.env.NODE_ENV !== \"production\" ? {\n /** An element type to render as (string or function). */\n as: PropTypes.elementType,\n\n /** A label can be active. */\n active: PropTypes.bool,\n\n /** A label can attach to a content segment. */\n attached: PropTypes.oneOf(['top', 'bottom', 'top right', 'top left', 'bottom left', 'bottom right']),\n\n /** A label can reduce its complexity. */\n basic: PropTypes.bool,\n\n /** Primary content. */\n children: PropTypes.node,\n\n /** A label can be circular. */\n circular: PropTypes.bool,\n\n /** Additional classes. */\n className: PropTypes.string,\n\n /** Color of the label. */\n color: PropTypes.oneOf(SUI.COLORS),\n\n /** Shorthand for primary content. */\n content: customPropTypes.contentShorthand,\n\n /** A label can position itself in the corner of an element. */\n corner: PropTypes.oneOfType([PropTypes.bool, PropTypes.oneOf(['left', 'right'])]),\n\n /** Shorthand for LabelDetail. */\n detail: customPropTypes.itemShorthand,\n\n /** Formats the label as a dot. */\n empty: customPropTypes.every([PropTypes.bool, customPropTypes.demand(['circular'])]),\n\n /** Float above another element in the upper right corner. */\n floating: PropTypes.bool,\n\n /** A horizontal label is formatted to label content along-side it horizontally. */\n horizontal: PropTypes.bool,\n\n /** Shorthand for Icon. */\n icon: customPropTypes.itemShorthand,\n\n /** A label can be formatted to emphasize an image or prop can be used as shorthand for Image. */\n image: PropTypes.oneOfType([PropTypes.bool, customPropTypes.itemShorthand]),\n\n /**\n * Called on click.\n *\n * @param {SyntheticEvent} event - React's original SyntheticEvent.\n * @param {object} data - All props.\n */\n onClick: PropTypes.func,\n\n /**\n * Adds an \"x\" icon, called when \"x\" is clicked.\n *\n * @param {SyntheticEvent} event - React's original SyntheticEvent.\n * @param {object} data - All props.\n */\n onRemove: PropTypes.func,\n\n /** A label can point to content next to it. */\n pointing: PropTypes.oneOfType([PropTypes.bool, PropTypes.oneOf(['above', 'below', 'left', 'right'])]),\n\n /** A label can prompt for an error in your forms. */\n prompt: PropTypes.bool,\n\n /** Shorthand for Icon to appear as the last child and trigger onRemove. */\n removeIcon: customPropTypes.itemShorthand,\n\n /** A label can appear as a ribbon attaching itself to an element. */\n ribbon: PropTypes.oneOfType([PropTypes.bool, PropTypes.oneOf(['right'])]),\n\n /** A label can have different sizes. */\n size: PropTypes.oneOf(SUI.SIZES),\n\n /** A label can appear as a tag. */\n tag: PropTypes.bool\n} : {};\nLabel.Detail = LabelDetail;\nLabel.Group = LabelGroup;\nLabel.create = createShorthandFactory(Label, function (value) {\n return {\n content: value\n };\n});","import baseGetTag from './_baseGetTag.js';\nimport isObjectLike from './isObjectLike.js';\n\n/** `Object#toString` result references. */\nvar numberTag = '[object Number]';\n\n/**\n * Checks if `value` is classified as a `Number` primitive or object.\n *\n * **Note:** To exclude `Infinity`, `-Infinity`, and `NaN`, which are\n * classified as numbers, use the `_.isFinite` method.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a number, else `false`.\n * @example\n *\n * _.isNumber(3);\n * // => true\n *\n * _.isNumber(Number.MIN_VALUE);\n * // => true\n *\n * _.isNumber(Infinity);\n * // => true\n *\n * _.isNumber('3');\n * // => false\n */\nfunction isNumber(value) {\n return typeof value == 'number' ||\n (isObjectLike(value) && baseGetTag(value) == numberTag);\n}\n\nexport default isNumber;\n","import baseGetTag from './_baseGetTag.js';\nimport isObjectLike from './isObjectLike.js';\n\n/** `Object#toString` result references. */\nvar boolTag = '[object Boolean]';\n\n/**\n * Checks if `value` is classified as a boolean primitive or object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a boolean, else `false`.\n * @example\n *\n * _.isBoolean(false);\n * // => true\n *\n * _.isBoolean(null);\n * // => false\n */\nfunction isBoolean(value) {\n return value === true || value === false ||\n (isObjectLike(value) && baseGetTag(value) == boolTag);\n}\n\nexport default isBoolean;\n","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _uniq from \"lodash-es/uniq\";\nimport _isArray from \"lodash-es/isArray\";\nimport _isPlainObject from \"lodash-es/isPlainObject\";\nimport _isFunction from \"lodash-es/isFunction\";\nimport _isNumber from \"lodash-es/isNumber\";\nimport _isString from \"lodash-es/isString\";\nimport _isBoolean from \"lodash-es/isBoolean\";\nimport _isNil from \"lodash-es/isNil\";\nimport cx from 'clsx';\nimport * as React from 'react';\nvar DEPRECATED_CALLS = {}; // ============================================================\n// Factories\n// ============================================================\n\n/**\n * A more robust React.createElement. It can create elements from primitive values.\n *\n * @param {function|string} Component A ReactClass or string\n * @param {function} mapValueToProps A function that maps a primitive value to the Component props\n * @param {string|object|function} val The value to create a ReactElement from\n * @param {Object} [options={}]\n * @param {object} [options.defaultProps={}] Default props object\n * @param {object|function} [options.overrideProps={}] Override props object or function (called with regular props)\n * @param {boolean} [options.autoGenerateKey=true] Whether or not automatic key generation is allowed\n * @returns {object|null}\n */\n\nexport function createShorthand(Component, mapValueToProps, val, options) {\n if (options === void 0) {\n options = {};\n }\n\n if (typeof Component !== 'function' && typeof Component !== 'string') {\n throw new Error('createShorthand() Component must be a string or function.');\n } // short circuit noop values\n\n\n if (_isNil(val) || _isBoolean(val)) {\n return null;\n }\n\n var valIsString = _isString(val);\n\n var valIsNumber = _isNumber(val);\n\n var valIsFunction = _isFunction(val);\n\n var valIsReactElement = /*#__PURE__*/React.isValidElement(val);\n\n var valIsPropsObject = _isPlainObject(val);\n\n var valIsPrimitiveValue = valIsString || valIsNumber || _isArray(val); // unhandled type return null\n\n /* eslint-disable no-console */\n\n\n if (!valIsFunction && !valIsReactElement && !valIsPropsObject && !valIsPrimitiveValue) {\n if (process.env.NODE_ENV !== 'production') {\n console.error(['Shorthand value must be a string|number|array|object|ReactElement|function.', ' Use null|undefined|boolean for none', \" Received \" + typeof val + \".\"].join(''));\n }\n\n return null;\n }\n /* eslint-enable no-console */\n // ----------------------------------------\n // Build up props\n // ----------------------------------------\n\n\n var _options = options,\n _options$defaultProps = _options.defaultProps,\n defaultProps = _options$defaultProps === void 0 ? {} : _options$defaultProps; // User's props\n\n var usersProps = valIsReactElement && val.props || valIsPropsObject && val || valIsPrimitiveValue && mapValueToProps(val); // Override props\n\n var _options2 = options,\n _options2$overridePro = _options2.overrideProps,\n overrideProps = _options2$overridePro === void 0 ? {} : _options2$overridePro;\n overrideProps = _isFunction(overrideProps) ? overrideProps(_extends({}, defaultProps, usersProps)) : overrideProps; // Merge props\n\n /* eslint-disable react/prop-types */\n\n var props = _extends({}, defaultProps, usersProps, overrideProps); // Merge className\n\n\n if (defaultProps.className || overrideProps.className || usersProps.className) {\n var mergedClassesNames = cx(defaultProps.className, overrideProps.className, usersProps.className);\n props.className = _uniq(mergedClassesNames.split(' ')).join(' ');\n } // Merge style\n\n\n if (defaultProps.style || overrideProps.style || usersProps.style) {\n props.style = _extends({}, defaultProps.style, usersProps.style, overrideProps.style);\n } // ----------------------------------------\n // Get key\n // ----------------------------------------\n // Use key, childKey, or generate key\n\n\n if (_isNil(props.key)) {\n var childKey = props.childKey;\n var _options3 = options,\n _options3$autoGenerat = _options3.autoGenerateKey,\n autoGenerateKey = _options3$autoGenerat === void 0 ? true : _options3$autoGenerat;\n\n if (!_isNil(childKey)) {\n // apply and consume the childKey\n props.key = typeof childKey === 'function' ? childKey(props) : childKey;\n delete props.childKey;\n } else if (autoGenerateKey && (valIsString || valIsNumber)) {\n // use string/number shorthand values as the key\n props.key = val;\n }\n } // ----------------------------------------\n // Create Element\n // ----------------------------------------\n // Clone ReactElements\n\n\n if (valIsReactElement) {\n return /*#__PURE__*/React.cloneElement(val, props);\n }\n\n if (typeof props.children === 'function') {\n return props.children(Component, _extends({}, props, {\n children: undefined\n }));\n } // Create ReactElements from built up props\n\n\n if (valIsPrimitiveValue || valIsPropsObject) {\n return /*#__PURE__*/React.createElement(Component, props);\n } // Call functions with args similar to createElement()\n // TODO: V3 remove the implementation\n\n\n if (valIsFunction) {\n if (process.env.NODE_ENV !== 'production') {\n if (!DEPRECATED_CALLS[Component]) {\n DEPRECATED_CALLS[Component] = true; // eslint-disable-next-line no-console\n\n console.warn(\"Warning: There is a deprecated shorthand function usage for \\\"\" + Component + \"\\\". It is deprecated and will be removed in v3 release. Please follow our upgrade guide: https://github.com/Semantic-Org/Semantic-UI-React/pull/4029\");\n }\n }\n\n return val(Component, props, props.children);\n }\n /* eslint-enable react/prop-types */\n\n} // ============================================================\n// Factory Creators\n// ============================================================\n\n/**\n * Creates a `createShorthand` function that is waiting for a value and options.\n *\n * @param {function|string} Component A ReactClass or string\n * @param {function} mapValueToProps A function that maps a primitive value to the Component props\n * @returns {function} A shorthand factory function waiting for `val` and `defaultProps`.\n */\n\nexport function createShorthandFactory(Component, mapValueToProps) {\n if (typeof Component !== 'function' && typeof Component !== 'string') {\n throw new Error('createShorthandFactory() Component must be a string or function.');\n }\n\n return function (val, options) {\n return createShorthand(Component, mapValueToProps, val, options);\n };\n} // ============================================================\n// HTML Factories\n// ============================================================\n\nexport var createHTMLDivision = /* #__PURE__ */createShorthandFactory('div', function (val) {\n return {\n children: val\n };\n});\nexport var createHTMLIframe = /* #__PURE__ */createShorthandFactory('iframe', function (src) {\n return {\n src: src\n };\n});\nexport var createHTMLImage = /* #__PURE__ */createShorthandFactory('img', function (val) {\n return {\n src: val\n };\n});\nexport var createHTMLInput = /* #__PURE__ */createShorthandFactory('input', function (val) {\n return {\n type: val\n };\n});\nexport var createHTMLLabel = /* #__PURE__ */createShorthandFactory('label', function (val) {\n return {\n children: val\n };\n});\nexport var createHTMLParagraph = /* #__PURE__ */createShorthandFactory('p', function (val) {\n return {\n children: val\n };\n});","import createCompounder from './_createCompounder.js';\nimport upperFirst from './upperFirst.js';\n\n/**\n * Converts `string` to\n * [start case](https://en.wikipedia.org/wiki/Letter_case#Stylistic_or_specialised_usage).\n *\n * @static\n * @memberOf _\n * @since 3.1.0\n * @category String\n * @param {string} [string=''] The string to convert.\n * @returns {string} Returns the start cased string.\n * @example\n *\n * _.startCase('--foo-bar--');\n * // => 'Foo Bar'\n *\n * _.startCase('fooBar');\n * // => 'Foo Bar'\n *\n * _.startCase('__FOO_BAR__');\n * // => 'FOO BAR'\n */\nvar startCase = createCompounder(function(result, word, index) {\n return result + (index ? ' ' : '') + upperFirst(word);\n});\n\nexport default startCase;\n","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _inheritsLoose from \"@babel/runtime/helpers/esm/inheritsLoose\";\nimport _startCase from \"lodash-es/startCase\";\nimport _invoke from \"lodash-es/invoke\";\nimport cx from 'clsx';\nimport PropTypes from 'prop-types';\nimport React, { Component } from 'react';\nimport { childrenUtils, createShorthandFactory, customPropTypes, getElementType, getUnhandledProps, SUI, useKeyOnly, useKeyOrValueAndKey } from '../../lib';\nimport Icon from '../../elements/Icon';\n/**\n * A menu can contain an item.\n */\n\nvar MenuItem = /*#__PURE__*/function (_Component) {\n _inheritsLoose(MenuItem, _Component);\n\n function MenuItem() {\n var _this;\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 = _Component.call.apply(_Component, [this].concat(args)) || this;\n\n _this.handleClick = function (e) {\n var disabled = _this.props.disabled;\n if (!disabled) _invoke(_this.props, 'onClick', e, _this.props);\n };\n\n return _this;\n }\n\n var _proto = MenuItem.prototype;\n\n _proto.render = function render() {\n var _this$props = this.props,\n active = _this$props.active,\n children = _this$props.children,\n className = _this$props.className,\n color = _this$props.color,\n content = _this$props.content,\n disabled = _this$props.disabled,\n fitted = _this$props.fitted,\n header = _this$props.header,\n icon = _this$props.icon,\n link = _this$props.link,\n name = _this$props.name,\n onClick = _this$props.onClick,\n position = _this$props.position;\n var classes = cx(color, position, useKeyOnly(active, 'active'), useKeyOnly(disabled, 'disabled'), useKeyOnly(icon === true || icon && !(name || content), 'icon'), useKeyOnly(header, 'header'), useKeyOnly(link, 'link'), useKeyOrValueAndKey(fitted, 'fitted'), 'item', className);\n var ElementType = getElementType(MenuItem, this.props, function () {\n if (onClick) return 'a';\n });\n var rest = getUnhandledProps(MenuItem, this.props);\n\n if (!childrenUtils.isNil(children)) {\n return /*#__PURE__*/React.createElement(ElementType, _extends({}, rest, {\n className: classes,\n onClick: this.handleClick\n }), children);\n }\n\n return /*#__PURE__*/React.createElement(ElementType, _extends({}, rest, {\n className: classes,\n onClick: this.handleClick\n }), Icon.create(icon, {\n autoGenerateKey: false\n }), childrenUtils.isNil(content) ? _startCase(name) : content);\n };\n\n return MenuItem;\n}(Component);\n\nMenuItem.handledProps = [\"active\", \"as\", \"children\", \"className\", \"color\", \"content\", \"disabled\", \"fitted\", \"header\", \"icon\", \"index\", \"link\", \"name\", \"onClick\", \"position\"];\nexport { MenuItem as default };\nMenuItem.propTypes = process.env.NODE_ENV !== \"production\" ? {\n /** An element type to render as (string or function). */\n as: PropTypes.elementType,\n\n /** A menu item can be active. */\n active: PropTypes.bool,\n\n /** Primary content. */\n children: PropTypes.node,\n\n /** Additional classes. */\n className: PropTypes.string,\n\n /** Additional colors can be specified. */\n color: PropTypes.oneOf(SUI.COLORS),\n\n /** Shorthand for primary content. */\n content: customPropTypes.contentShorthand,\n\n /** A menu item can be disabled. */\n disabled: PropTypes.bool,\n\n /** A menu item or menu can remove element padding, vertically or horizontally. */\n fitted: PropTypes.oneOfType([PropTypes.bool, PropTypes.oneOf(['horizontally', 'vertically'])]),\n\n /** A menu item may include a header or may itself be a header. */\n header: PropTypes.bool,\n\n /** MenuItem can be only icon. */\n icon: PropTypes.oneOfType([PropTypes.bool, customPropTypes.itemShorthand]),\n\n /** MenuItem index inside Menu. */\n index: PropTypes.number,\n\n /** A menu item can be link. */\n link: PropTypes.bool,\n\n /** Internal name of the MenuItem. */\n name: PropTypes.string,\n\n /**\n * Called on click. When passed, the component will render as an `a`\n * tag by default instead of a `div`.\n *\n * @param {SyntheticEvent} event - React's original SyntheticEvent.\n * @param {object} data - All props.\n */\n onClick: PropTypes.func,\n\n /** A menu item can take left or right position. */\n position: PropTypes.oneOf(['left', 'right'])\n} : {};\nMenuItem.create = createShorthandFactory(MenuItem, function (val) {\n return {\n content: val,\n name: val\n };\n});","import objectWithoutPropertiesLoose from \"./objectWithoutPropertiesLoose.js\";\nexport default function _objectWithoutProperties(source, excluded) {\n if (source == null) return {};\n var target = objectWithoutPropertiesLoose(source, excluded);\n var key, i;\n\n if (Object.getOwnPropertySymbols) {\n var sourceSymbolKeys = Object.getOwnPropertySymbols(source);\n\n for (i = 0; i < sourceSymbolKeys.length; i++) {\n key = sourceSymbolKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue;\n target[key] = source[key];\n }\n }\n\n return target;\n}","export default function _typeof(obj) {\n \"@babel/helpers - typeof\";\n\n if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") {\n _typeof = function _typeof(obj) {\n return typeof obj;\n };\n } else {\n _typeof = function _typeof(obj) {\n return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n };\n }\n\n return _typeof(obj);\n}","function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) {\n try {\n var info = gen[key](arg);\n var value = info.value;\n } catch (error) {\n reject(error);\n return;\n }\n\n if (info.done) {\n resolve(value);\n } else {\n Promise.resolve(value).then(_next, _throw);\n }\n}\n\nexport default function _asyncToGenerator(fn) {\n return function () {\n var self = this,\n args = arguments;\n return new Promise(function (resolve, reject) {\n var gen = fn.apply(self, args);\n\n function _next(value) {\n asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"next\", value);\n }\n\n function _throw(err) {\n asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"throw\", err);\n }\n\n _next(undefined);\n });\n };\n}","export default function _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n}","import setPrototypeOf from \"./setPrototypeOf.js\";\nexport default function _inherits(subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function\");\n }\n\n subClass.prototype = Object.create(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n writable: true,\n configurable: true\n }\n });\n if (superClass) setPrototypeOf(subClass, superClass);\n}","import _typeof from \"@babel/runtime/helpers/typeof\";\nimport assertThisInitialized from \"./assertThisInitialized.js\";\nexport default function _possibleConstructorReturn(self, call) {\n if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) {\n return call;\n }\n\n return assertThisInitialized(self);\n}","export default function _getPrototypeOf(o) {\n _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) {\n return o.__proto__ || Object.getPrototypeOf(o);\n };\n return _getPrototypeOf(o);\n}","export default function _defineProperty(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n}","export default function mergeClassNames() {\n return Array.prototype.slice.call(arguments).reduce(function (classList, arg) {\n return typeof arg === 'string' || Array.isArray(arg) ? classList.concat(arg) : classList;\n }, []).filter(Boolean).join(' ');\n}","import { createContext } from 'react';\nexport default /*#__PURE__*/createContext(null);","import React from 'react';\nimport PropTypes from 'prop-types';\nexport default function Message(_ref) {\n var children = _ref.children,\n type = _ref.type;\n return /*#__PURE__*/React.createElement(\"div\", {\n className: \"react-pdf__message react-pdf__message--\".concat(type)\n }, children);\n}\nMessage.propTypes = {\n children: PropTypes.node,\n type: PropTypes.oneOf(['error', 'loading', 'no-data']).isRequired\n};","import { PDFLinkService } from 'pdfjs-dist/lib/web/pdf_link_service';\nexport default PDFLinkService;","// As defined in https://github.com/mozilla/pdf.js/blob/master/src/shared/util.js#L378-L381\nvar PasswordResponses = {\n NEED_PASSWORD: 1,\n INCORRECT_PASSWORD: 2\n};\nexport default PasswordResponses;","import { EventBus } from 'pdfjs-dist/lib/web/ui_utils';\nexport default new EventBus();","export default function _arrayLikeToArray(arr, len) {\n if (len == null || len > arr.length) len = arr.length;\n\n for (var i = 0, arr2 = new Array(len); i < len; i++) {\n arr2[i] = arr[i];\n }\n\n return arr2;\n}","import arrayLikeToArray from \"./arrayLikeToArray.js\";\nexport default function _unsupportedIterableToArray(o, minLen) {\n if (!o) return;\n if (typeof o === \"string\") return arrayLikeToArray(o, minLen);\n var n = Object.prototype.toString.call(o).slice(8, -1);\n if (n === \"Object\" && o.constructor) n = o.constructor.name;\n if (n === \"Map\" || n === \"Set\") return Array.from(o);\n if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return arrayLikeToArray(o, minLen);\n}","import arrayWithHoles from \"./arrayWithHoles.js\";\nimport iterableToArrayLimit from \"./iterableToArrayLimit.js\";\nimport unsupportedIterableToArray from \"./unsupportedIterableToArray.js\";\nimport nonIterableRest from \"./nonIterableRest.js\";\nexport default function _slicedToArray(arr, i) {\n return arrayWithHoles(arr) || iterableToArrayLimit(arr, i) || unsupportedIterableToArray(arr, i) || nonIterableRest();\n}","export default function _arrayWithHoles(arr) {\n if (Array.isArray(arr)) return arr;\n}","export default function _iterableToArrayLimit(arr, i) {\n if (typeof Symbol === \"undefined\" || !(Symbol.iterator in Object(arr))) return;\n var _arr = [];\n var _n = true;\n var _d = false;\n var _e = undefined;\n\n try {\n for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) {\n _arr.push(_s.value);\n\n if (i && _arr.length === i) break;\n }\n } catch (err) {\n _d = true;\n _e = err;\n } finally {\n try {\n if (!_n && _i[\"return\"] != null) _i[\"return\"]();\n } finally {\n if (_d) throw _e;\n }\n }\n\n return _arr;\n}","export default function _nonIterableRest() {\n throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}","import _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\n\n/**\n * Checks if we're running in a browser environment.\n */\nexport var isBrowser = typeof window !== 'undefined';\n/**\n * Checks whether we're running from a local file system.\n */\n\nexport var isLocalFileSystem = isBrowser && window.location.protocol === 'file:';\n/**\n * Checks whether we're running on a production build or not.\n */\n\nexport var isProduction = process.env.NODE_ENV === 'production';\n/**\n * Checks whether a variable is defined.\n *\n * @param {*} variable Variable to check\n */\n\nexport var isDefined = function isDefined(variable) {\n return typeof variable !== 'undefined';\n};\n/**\n * Checks whether a variable is defined and not null.\n *\n * @param {*} variable Variable to check\n */\n\nexport var isProvided = function isProvided(variable) {\n return isDefined(variable) && variable !== null;\n};\n/**\n * Checkes whether a variable provided is a string.\n *\n * @param {*} variable Variable to check\n */\n\nexport var isString = function isString(variable) {\n return typeof variable === 'string';\n};\n/**\n * Checks whether a variable provided is an ArrayBuffer.\n *\n * @param {*} variable Variable to check\n */\n\nexport var isArrayBuffer = function isArrayBuffer(variable) {\n return variable instanceof ArrayBuffer;\n};\n/**\n * Checkes whether a variable provided is a Blob.\n *\n * @param {*} variable Variable to check\n */\n\nexport var isBlob = function isBlob(variable) {\n if (!isBrowser) {\n throw new Error('Attempted to check if a variable is a Blob on a non-browser environment.');\n }\n\n return variable instanceof Blob;\n};\n/**\n * Checkes whether a variable provided is a File.\n *\n * @param {*} variable Variable to check\n */\n\nexport var isFile = function isFile(variable) {\n if (!isBrowser) {\n throw new Error('Attempted to check if a variable is a File on a non-browser environment.');\n }\n\n return variable instanceof File;\n};\n/**\n * Checks whether a string provided is a data URI.\n *\n * @param {String} str String to check\n */\n\nexport var isDataURI = function isDataURI(str) {\n return isString(str) && /^data:/.test(str);\n};\nexport var dataURItoByteString = function dataURItoByteString(dataURI) {\n if (!isDataURI(dataURI)) {\n throw new Error('Invalid data URI.');\n }\n\n var _dataURI$split = dataURI.split(';'),\n _dataURI$split2 = _slicedToArray(_dataURI$split, 2),\n\n /* header */\n dataString = _dataURI$split2[1];\n\n if (dataString.indexOf('base64') === 0) {\n return atob(dataString.slice(7));\n }\n\n return unescape(dataString);\n};\nexport var getPixelRatio = function getPixelRatio() {\n return isBrowser && window.devicePixelRatio || 1;\n};\n\nvar consoleOnDev = function consoleOnDev(method) {\n if (!isProduction) {\n var _console;\n\n for (var _len = arguments.length, message = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n message[_key - 1] = arguments[_key];\n }\n\n // eslint-disable-next-line no-console\n (_console = console)[method].apply(_console, message);\n }\n};\n\nexport var warnOnDev = function warnOnDev() {\n for (var _len2 = arguments.length, message = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n message[_key2] = arguments[_key2];\n }\n\n return consoleOnDev.apply(void 0, ['warn'].concat(message));\n};\nexport var errorOnDev = function errorOnDev() {\n for (var _len3 = arguments.length, message = new Array(_len3), _key3 = 0; _key3 < _len3; _key3++) {\n message[_key3] = arguments[_key3];\n }\n\n return consoleOnDev.apply(void 0, ['error'].concat(message));\n};\nexport var displayCORSWarning = function displayCORSWarning() {\n if (isLocalFileSystem) {\n warnOnDev('Loading PDF as base64 strings/URLs might not work on protocols other than HTTP/HTTPS. On Google Chrome, you can use --allow-file-access-from-files flag for debugging purposes.');\n }\n};\nexport var cancelRunningTask = function cancelRunningTask(runningTask) {\n if (runningTask && runningTask.cancel) runningTask.cancel();\n};\nexport var makePageCallback = function makePageCallback(page, scale) {\n Object.defineProperty(page, 'width', {\n get: function get() {\n return this.view[2] * scale;\n },\n configurable: true\n });\n Object.defineProperty(page, 'height', {\n get: function get() {\n return this.view[3] * scale;\n },\n configurable: true\n });\n Object.defineProperty(page, 'originalWidth', {\n get: function get() {\n return this.view[2];\n },\n configurable: true\n });\n Object.defineProperty(page, 'originalHeight', {\n get: function get() {\n return this.view[3];\n },\n configurable: true\n });\n return page;\n};\nexport var isCancelException = function isCancelException(error) {\n return error.name === 'RenderingCancelledException';\n};\nexport var loadFromFile = function loadFromFile(file) {\n return new Promise(function (resolve, reject) {\n var reader = new FileReader();\n\n reader.onload = function () {\n return resolve(new Uint8Array(reader.result));\n };\n\n reader.onerror = function (event) {\n switch (event.target.error.code) {\n case event.target.error.NOT_FOUND_ERR:\n return reject(new Error('Error while reading a file: File not found.'));\n\n case event.target.error.NOT_READABLE_ERR:\n return reject(new Error('Error while reading a file: File not readable.'));\n\n case event.target.error.SECURITY_ERR:\n return reject(new Error('Error while reading a file: Security error.'));\n\n case event.target.error.ABORT_ERR:\n return reject(new Error('Error while reading a file: Aborted.'));\n\n default:\n return reject(new Error('Error while reading a file.'));\n }\n };\n\n reader.readAsArrayBuffer(file);\n return null;\n });\n};","import arrayWithoutHoles from \"./arrayWithoutHoles.js\";\nimport iterableToArray from \"./iterableToArray.js\";\nimport unsupportedIterableToArray from \"./unsupportedIterableToArray.js\";\nimport nonIterableSpread from \"./nonIterableSpread.js\";\nexport default function _toConsumableArray(arr) {\n return arrayWithoutHoles(arr) || iterableToArray(arr) || unsupportedIterableToArray(arr) || nonIterableSpread();\n}","import arrayLikeToArray from \"./arrayLikeToArray.js\";\nexport default function _arrayWithoutHoles(arr) {\n if (Array.isArray(arr)) return arrayLikeToArray(arr);\n}","export default function _iterableToArray(iter) {\n if (typeof Symbol !== \"undefined\" && Symbol.iterator in Object(iter)) return Array.from(iter);\n}","export default function _nonIterableSpread() {\n throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}","import _typeof from \"@babel/runtime/helpers/esm/typeof\";\nimport _toConsumableArray from \"@babel/runtime/helpers/esm/toConsumableArray\";\nimport PropTypes from 'prop-types';\nimport { mouseEvents, touchEvents, keyboardEvents } from 'make-event-props';\nimport { isDefined } from './utils';\nimport LinkService from '../LinkService';\nexport var eventProps = function () {\n var result = {};\n [].concat(_toConsumableArray(mouseEvents), _toConsumableArray(touchEvents), _toConsumableArray(keyboardEvents)).forEach(function (eventName) {\n result[eventName] = PropTypes.func;\n });\n return result;\n}();\n/* eslint-disable react/forbid-prop-types */\n\nvar fileTypes = [PropTypes.string, PropTypes.instanceOf(ArrayBuffer), PropTypes.shape({\n data: PropTypes.object,\n httpHeaders: PropTypes.object,\n range: PropTypes.object,\n url: PropTypes.string,\n withCredentials: PropTypes.bool\n})];\n\nif (typeof File !== 'undefined') {\n fileTypes.push(PropTypes.instanceOf(File));\n}\n\nif (typeof Blob !== 'undefined') {\n fileTypes.push(PropTypes.instanceOf(Blob));\n}\n\nexport var isClassName = PropTypes.oneOfType([PropTypes.string, PropTypes.arrayOf(PropTypes.string)]);\nexport var isFile = PropTypes.oneOfType(fileTypes);\nexport var isLinkService = PropTypes.instanceOf(LinkService);\nexport var isLinkTarget = PropTypes.oneOf(['_self', '_blank', '_parent', '_top']);\nexport var isPage = PropTypes.shape({\n _transport: PropTypes.shape({\n fontLoader: PropTypes.object.isRequired\n }).isRequired,\n commonObjs: PropTypes.shape({\n _objs: PropTypes.object.isRequired\n }).isRequired,\n getAnnotations: PropTypes.func.isRequired,\n getTextContent: PropTypes.func.isRequired,\n getViewport: PropTypes.func.isRequired,\n render: PropTypes.func.isRequired\n});\nexport var isPageIndex = function isPageIndex(props, propName, componentName) {\n var pageIndex = props[propName],\n pageNumber = props.pageNumber,\n pdf = props.pdf;\n\n if (!isDefined(pdf)) {\n return null;\n }\n\n if (isDefined(pageIndex)) {\n if (typeof pageIndex !== 'number') {\n return new Error(\"`\".concat(propName, \"` of type `\").concat(_typeof(pageIndex), \"` supplied to `\").concat(componentName, \"`, expected `number`.\"));\n }\n\n if (pageIndex < 0) {\n return new Error(\"Expected `\".concat(propName, \"` to be greater or equal to 0.\"));\n }\n\n var numPages = pdf.numPages;\n\n if (pageIndex + 1 > numPages) {\n return new Error(\"Expected `\".concat(propName, \"` to be less or equal to \").concat(numPages - 1, \".\"));\n }\n } else if (!isDefined(pageNumber)) {\n return new Error(\"`\".concat(propName, \"` not supplied. Either pageIndex or pageNumber must be supplied to `\").concat(componentName, \"`.\"));\n } // Everything is fine\n\n\n return null;\n};\nexport var isPageNumber = function isPageNumber(props, propName, componentName) {\n var pageNumber = props[propName],\n pageIndex = props.pageIndex,\n pdf = props.pdf;\n\n if (!isDefined(pdf)) {\n return null;\n }\n\n if (isDefined(pageNumber)) {\n if (typeof pageNumber !== 'number') {\n return new Error(\"`\".concat(propName, \"` of type `\").concat(_typeof(pageNumber), \"` supplied to `\").concat(componentName, \"`, expected `number`.\"));\n }\n\n if (pageNumber < 1) {\n return new Error(\"Expected `\".concat(propName, \"` to be greater or equal to 1.\"));\n }\n\n var numPages = pdf.numPages;\n\n if (pageNumber > numPages) {\n return new Error(\"Expected `\".concat(propName, \"` to be less or equal to \").concat(numPages, \".\"));\n }\n } else if (!isDefined(pageIndex)) {\n return new Error(\"`\".concat(propName, \"` not supplied. Either pageIndex or pageNumber must be supplied to `\").concat(componentName, \"`.\"));\n } // Everything is fine\n\n\n return null;\n};\nexport var isPdf = PropTypes.oneOfType([PropTypes.shape({\n getDestination: PropTypes.func.isRequired,\n getOutline: PropTypes.func.isRequired,\n getPage: PropTypes.func.isRequired,\n numPages: PropTypes.number.isRequired\n}), PropTypes.bool]);\nexport var isRef = PropTypes.oneOfType([PropTypes.func, PropTypes.shape({\n current: PropTypes.any\n})]);\nexport var isRenderMode = PropTypes.oneOf(['canvas', 'none', 'svg']);\nexport var isRotate = PropTypes.oneOf([0, 90, 180, 270]);","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/esm/objectWithoutProperties\";\nimport _typeof from \"@babel/runtime/helpers/esm/typeof\";\nimport _regeneratorRuntime from \"@babel/runtime/regenerator\";\nimport _asyncToGenerator from \"@babel/runtime/helpers/esm/asyncToGenerator\";\nimport _classCallCheck from \"@babel/runtime/helpers/esm/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/esm/createClass\";\nimport _assertThisInitialized from \"@babel/runtime/helpers/esm/assertThisInitialized\";\nimport _inherits from \"@babel/runtime/helpers/esm/inherits\";\nimport _possibleConstructorReturn from \"@babel/runtime/helpers/esm/possibleConstructorReturn\";\nimport _getPrototypeOf from \"@babel/runtime/helpers/esm/getPrototypeOf\";\nimport _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }\n\n/**\n * Loads a PDF document. Passes it to all children.\n */\nimport React, { PureComponent } from 'react';\nimport PropTypes from 'prop-types';\nimport makeEventProps from 'make-event-props';\nimport makeCancellable from 'make-cancellable-promise';\nimport mergeClassNames from 'merge-class-names';\nimport * as pdfjs from 'pdfjs-dist';\nimport DocumentContext from './DocumentContext';\nimport Message from './Message';\nimport LinkService from './LinkService';\nimport PasswordResponses from './PasswordResponses';\nimport eventBus from './eventBus';\nimport { cancelRunningTask, dataURItoByteString, displayCORSWarning, errorOnDev, isArrayBuffer, isBlob, isBrowser, isDataURI, isFile, loadFromFile, warnOnDev } from './shared/utils';\nimport { eventProps, isClassName, isRef } from './shared/propTypes';\nvar PDFDataRangeTransport = pdfjs.PDFDataRangeTransport;\n\nvar Document = /*#__PURE__*/function (_PureComponent) {\n _inherits(Document, _PureComponent);\n\n var _super = _createSuper(Document);\n\n function Document() {\n var _this;\n\n _classCallCheck(this, Document);\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n _this = _super.call.apply(_super, [this].concat(args));\n\n _defineProperty(_assertThisInitialized(_this), \"state\", {\n pdf: null\n });\n\n _defineProperty(_assertThisInitialized(_this), \"viewer\", {\n scrollPageIntoView: function scrollPageIntoView(_ref) {\n var pageNumber = _ref.pageNumber;\n // Handling jumping to internal links target\n var onItemClick = _this.props.onItemClick; // First, check if custom handling of onItemClick was provided\n\n if (onItemClick) {\n onItemClick({\n pageNumber: pageNumber\n });\n return;\n } // If not, try to look for target page within the <Document>.\n\n\n var page = _this.pages[pageNumber - 1];\n\n if (page) {\n // Scroll to the page automatically\n page.scrollIntoView();\n return;\n }\n\n warnOnDev(\"Warning: An internal link leading to page \".concat(pageNumber, \" was clicked, but neither <Document> was provided with onItemClick nor it was able to find the page within itself. Either provide onItemClick to <Document> and handle navigating by yourself or ensure that all pages are rendered within <Document>.\"));\n }\n });\n\n _defineProperty(_assertThisInitialized(_this), \"linkService\", new LinkService({\n eventBus: eventBus\n }));\n\n _defineProperty(_assertThisInitialized(_this), \"loadDocument\", /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee() {\n var source, _this$props, options, onLoadProgress, onPassword, cancellable, pdf;\n\n return _regeneratorRuntime.wrap(function _callee$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n source = null;\n _context.prev = 1;\n _context.next = 4;\n return _this.findDocumentSource();\n\n case 4:\n source = _context.sent;\n\n _this.onSourceSuccess();\n\n _context.next = 11;\n break;\n\n case 8:\n _context.prev = 8;\n _context.t0 = _context[\"catch\"](1);\n\n _this.onSourceError(_context.t0);\n\n case 11:\n if (source) {\n _context.next = 13;\n break;\n }\n\n return _context.abrupt(\"return\");\n\n case 13:\n _this.setState(function (prevState) {\n if (!prevState.pdf) {\n return null;\n }\n\n return {\n pdf: null\n };\n });\n\n _this$props = _this.props, options = _this$props.options, onLoadProgress = _this$props.onLoadProgress, onPassword = _this$props.onPassword;\n _context.prev = 15;\n // If another loading is in progress, let's cancel it\n cancelRunningTask(_this.runningTask);\n _this.loadingTask = pdfjs.getDocument(_objectSpread(_objectSpread({}, source), options));\n _this.loadingTask.onPassword = onPassword;\n\n if (onLoadProgress) {\n _this.loadingTask.onProgress = onLoadProgress;\n }\n\n cancellable = makeCancellable(_this.loadingTask.promise);\n _this.runningTask = cancellable;\n _context.next = 24;\n return cancellable.promise;\n\n case 24:\n pdf = _context.sent;\n\n _this.setState(function (prevState) {\n if (prevState.pdf && prevState.pdf.fingerprint === pdf.fingerprint) {\n return null;\n }\n\n return {\n pdf: pdf\n };\n }, _this.onLoadSuccess);\n\n _context.next = 31;\n break;\n\n case 28:\n _context.prev = 28;\n _context.t1 = _context[\"catch\"](15);\n\n _this.onLoadError(_context.t1);\n\n case 31:\n case \"end\":\n return _context.stop();\n }\n }\n }, _callee, null, [[1, 8], [15, 28]]);\n })));\n\n _defineProperty(_assertThisInitialized(_this), \"setupLinkService\", function () {\n _this.linkService.setViewer(_this.viewer);\n\n var documentInstance = _assertThisInitialized(_this);\n\n Object.defineProperty(_this.linkService, 'externalLinkTarget', {\n get: function get() {\n var externalLinkTarget = documentInstance.props.externalLinkTarget;\n\n switch (externalLinkTarget) {\n case '_self':\n return 1;\n\n case '_blank':\n return 2;\n\n case '_parent':\n return 3;\n\n case '_top':\n return 4;\n\n default:\n return 0;\n }\n }\n });\n });\n\n _defineProperty(_assertThisInitialized(_this), \"onSourceSuccess\", function () {\n var onSourceSuccess = _this.props.onSourceSuccess;\n if (onSourceSuccess) onSourceSuccess();\n });\n\n _defineProperty(_assertThisInitialized(_this), \"onSourceError\", function (error) {\n errorOnDev(error);\n var onSourceError = _this.props.onSourceError;\n if (onSourceError) onSourceError(error);\n });\n\n _defineProperty(_assertThisInitialized(_this), \"onLoadSuccess\", function () {\n var onLoadSuccess = _this.props.onLoadSuccess;\n var pdf = _this.state.pdf;\n if (onLoadSuccess) onLoadSuccess(pdf);\n _this.pages = new Array(pdf.numPages);\n\n _this.linkService.setDocument(pdf);\n });\n\n _defineProperty(_assertThisInitialized(_this), \"onLoadError\", function (error) {\n _this.setState({\n pdf: false\n });\n\n errorOnDev(error);\n var onLoadError = _this.props.onLoadError;\n if (onLoadError) onLoadError(error);\n });\n\n _defineProperty(_assertThisInitialized(_this), \"findDocumentSource\", /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee2() {\n var file, fileByteString, url, otherParams, _fileByteString;\n\n return _regeneratorRuntime.wrap(function _callee2$(_context2) {\n while (1) {\n switch (_context2.prev = _context2.next) {\n case 0:\n file = _this.props.file;\n\n if (file) {\n _context2.next = 3;\n break;\n }\n\n return _context2.abrupt(\"return\", null);\n\n case 3:\n if (!(typeof file === 'string')) {\n _context2.next = 9;\n break;\n }\n\n if (!isDataURI(file)) {\n _context2.next = 7;\n break;\n }\n\n fileByteString = dataURItoByteString(file);\n return _context2.abrupt(\"return\", {\n data: fileByteString\n });\n\n case 7:\n displayCORSWarning();\n return _context2.abrupt(\"return\", {\n url: file\n });\n\n case 9:\n if (!(file instanceof PDFDataRangeTransport)) {\n _context2.next = 11;\n break;\n }\n\n return _context2.abrupt(\"return\", {\n range: file\n });\n\n case 11:\n if (!isArrayBuffer(file)) {\n _context2.next = 13;\n break;\n }\n\n return _context2.abrupt(\"return\", {\n data: file\n });\n\n case 13:\n if (!isBrowser) {\n _context2.next = 19;\n break;\n }\n\n if (!(isBlob(file) || isFile(file))) {\n _context2.next = 19;\n break;\n }\n\n _context2.next = 17;\n return loadFromFile(file);\n\n case 17:\n _context2.t0 = _context2.sent;\n return _context2.abrupt(\"return\", {\n data: _context2.t0\n });\n\n case 19:\n if (!(_typeof(file) !== 'object')) {\n _context2.next = 21;\n break;\n }\n\n throw new Error('Invalid parameter in file, need either Uint8Array, string or a parameter object');\n\n case 21:\n if (!(!file.url && !file.data && !file.range)) {\n _context2.next = 23;\n break;\n }\n\n throw new Error('Invalid parameter object: need either .data, .range or .url');\n\n case 23:\n if (!(typeof file.url === 'string')) {\n _context2.next = 29;\n break;\n }\n\n if (!isDataURI(file.url)) {\n _context2.next = 28;\n break;\n }\n\n url = file.url, otherParams = _objectWithoutProperties(file, [\"url\"]);\n _fileByteString = dataURItoByteString(url);\n return _context2.abrupt(\"return\", _objectSpread({\n data: _fileByteString\n }, otherParams));\n\n case 28:\n displayCORSWarning();\n\n case 29:\n return _context2.abrupt(\"return\", file);\n\n case 30:\n case \"end\":\n return _context2.stop();\n }\n }\n }, _callee2);\n })));\n\n _defineProperty(_assertThisInitialized(_this), \"registerPage\", function (pageIndex, ref) {\n _this.pages[pageIndex] = ref;\n });\n\n _defineProperty(_assertThisInitialized(_this), \"unregisterPage\", function (pageIndex) {\n delete _this.pages[pageIndex];\n });\n\n return _this;\n }\n\n _createClass(Document, [{\n key: \"componentDidMount\",\n value: function componentDidMount() {\n this.loadDocument();\n this.setupLinkService();\n }\n }, {\n key: \"componentDidUpdate\",\n value: function componentDidUpdate(prevProps) {\n var file = this.props.file;\n\n if (file !== prevProps.file) {\n this.loadDocument();\n }\n }\n }, {\n key: \"componentWillUnmount\",\n value: function componentWillUnmount() {\n if (this.loadingTask) this.loadingTask.destroy();\n cancelRunningTask(this.runningTask);\n }\n }, {\n key: \"renderChildren\",\n value: function renderChildren() {\n var children = this.props.children;\n return /*#__PURE__*/React.createElement(DocumentContext.Provider, {\n value: this.childContext\n }, children);\n }\n }, {\n key: \"renderContent\",\n value: function renderContent() {\n var file = this.props.file;\n var pdf = this.state.pdf;\n\n if (!file) {\n var noData = this.props.noData;\n return /*#__PURE__*/React.createElement(Message, {\n type: \"no-data\"\n }, typeof noData === 'function' ? noData() : noData);\n }\n\n if (pdf === null) {\n var loading = this.props.loading;\n return /*#__PURE__*/React.createElement(Message, {\n type: \"loading\"\n }, typeof loading === 'function' ? loading() : loading);\n }\n\n if (pdf === false) {\n var error = this.props.error;\n return /*#__PURE__*/React.createElement(Message, {\n type: \"error\"\n }, typeof error === 'function' ? error() : error);\n }\n\n return this.renderChildren();\n }\n }, {\n key: \"render\",\n value: function render() {\n var _this$props2 = this.props,\n className = _this$props2.className,\n inputRef = _this$props2.inputRef;\n return /*#__PURE__*/React.createElement(\"div\", _extends({\n className: mergeClassNames('react-pdf__Document', className),\n ref: inputRef\n }, this.eventProps), this.renderContent());\n }\n }, {\n key: \"childContext\",\n get: function get() {\n var linkService = this.linkService,\n registerPage = this.registerPage,\n unregisterPage = this.unregisterPage;\n var _this$props3 = this.props,\n imageResourcesPath = _this$props3.imageResourcesPath,\n renderMode = _this$props3.renderMode,\n rotate = _this$props3.rotate;\n var pdf = this.state.pdf;\n return {\n imageResourcesPath: imageResourcesPath,\n linkService: linkService,\n pdf: pdf,\n registerPage: registerPage,\n renderMode: renderMode,\n rotate: rotate,\n unregisterPage: unregisterPage\n };\n }\n }, {\n key: \"eventProps\",\n get: function get() {\n var _this2 = this;\n\n // eslint-disable-next-line react/destructuring-assignment\n return makeEventProps(this.props, function () {\n return _this2.state.pdf;\n });\n }\n /**\n * Called when a document source is resolved correctly\n */\n\n }]);\n\n return Document;\n}(PureComponent);\n\nexport { Document as default };\nDocument.defaultProps = {\n error: 'Failed to load PDF file.',\n loading: 'Loading PDF…',\n noData: 'No PDF file specified.',\n onPassword: function onPassword(callback, reason) {\n switch (reason) {\n case PasswordResponses.NEED_PASSWORD:\n {\n // eslint-disable-next-line no-alert\n var password = prompt('Enter the password to open this PDF file.');\n callback(password);\n break;\n }\n\n case PasswordResponses.INCORRECT_PASSWORD:\n {\n // eslint-disable-next-line no-alert\n var _password = prompt('Invalid password. Please try again.');\n\n callback(_password);\n break;\n }\n\n default:\n }\n }\n};\nvar isFunctionOrNode = PropTypes.oneOfType([PropTypes.func, PropTypes.node]);\nDocument.propTypes = _objectSpread(_objectSpread({}, eventProps), {}, {\n children: PropTypes.node,\n className: isClassName,\n error: isFunctionOrNode,\n file: isFile,\n imageResourcesPath: PropTypes.string,\n inputRef: isRef,\n loading: isFunctionOrNode,\n noData: isFunctionOrNode,\n onItemClick: PropTypes.func,\n onLoadError: PropTypes.func,\n onLoadProgress: PropTypes.func,\n onLoadSuccess: PropTypes.func,\n onPassword: PropTypes.func,\n onSourceError: PropTypes.func,\n onSourceSuccess: PropTypes.func,\n rotate: PropTypes.number\n});","import { createContext } from 'react';\nexport default /*#__PURE__*/createContext(null);","import _classCallCheck from \"@babel/runtime/helpers/esm/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/esm/createClass\";\n\nvar Ref = /*#__PURE__*/function () {\n function Ref(_ref) {\n var num = _ref.num,\n gen = _ref.gen;\n\n _classCallCheck(this, Ref);\n\n this.num = num;\n this.gen = gen;\n }\n\n _createClass(Ref, [{\n key: \"toString\",\n value: function toString() {\n var str = \"\".concat(this.num, \"R\");\n\n if (this.gen !== 0) {\n str += this.gen;\n }\n\n return str;\n }\n }]);\n\n return Ref;\n}();\n\nexport { Ref as default };","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/esm/objectWithoutProperties\";\nimport _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nimport _regeneratorRuntime from \"@babel/runtime/regenerator\";\nimport _asyncToGenerator from \"@babel/runtime/helpers/esm/asyncToGenerator\";\nimport _classCallCheck from \"@babel/runtime/helpers/esm/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/esm/createClass\";\nimport _assertThisInitialized from \"@babel/runtime/helpers/esm/assertThisInitialized\";\nimport _inherits from \"@babel/runtime/helpers/esm/inherits\";\nimport _possibleConstructorReturn from \"@babel/runtime/helpers/esm/possibleConstructorReturn\";\nimport _getPrototypeOf from \"@babel/runtime/helpers/esm/getPrototypeOf\";\nimport _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\n\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }\n\nimport React, { PureComponent } from 'react';\nimport PropTypes from 'prop-types';\nimport DocumentContext from './DocumentContext';\nimport OutlineContext from './OutlineContext';\nimport Ref from './Ref';\nimport { isDefined } from './shared/utils';\nimport { isPdf } from './shared/propTypes';\nexport var OutlineItemInternal = /*#__PURE__*/function (_PureComponent) {\n _inherits(OutlineItemInternal, _PureComponent);\n\n var _super = _createSuper(OutlineItemInternal);\n\n function OutlineItemInternal() {\n var _this;\n\n _classCallCheck(this, OutlineItemInternal);\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n _this = _super.call.apply(_super, [this].concat(args));\n\n _defineProperty(_assertThisInitialized(_this), \"getDestination\", /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee() {\n var _this$props, item, pdf;\n\n return _regeneratorRuntime.wrap(function _callee$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n _this$props = _this.props, item = _this$props.item, pdf = _this$props.pdf;\n\n if (isDefined(_this.destination)) {\n _context.next = 9;\n break;\n }\n\n if (!(typeof item.dest === 'string')) {\n _context.next = 8;\n break;\n }\n\n _context.next = 5;\n return pdf.getDestination(item.dest);\n\n case 5:\n _this.destination = _context.sent;\n _context.next = 9;\n break;\n\n case 8:\n _this.destination = item.dest;\n\n case 9:\n return _context.abrupt(\"return\", _this.destination);\n\n case 10:\n case \"end\":\n return _context.stop();\n }\n }\n }, _callee);\n })));\n\n _defineProperty(_assertThisInitialized(_this), \"getPageIndex\", /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee2() {\n var pdf, destination, _destination, ref;\n\n return _regeneratorRuntime.wrap(function _callee2$(_context2) {\n while (1) {\n switch (_context2.prev = _context2.next) {\n case 0:\n pdf = _this.props.pdf;\n\n if (isDefined(_this.pageIndex)) {\n _context2.next = 10;\n break;\n }\n\n _context2.next = 4;\n return _this.getDestination();\n\n case 4:\n destination = _context2.sent;\n\n if (!destination) {\n _context2.next = 10;\n break;\n }\n\n _destination = _slicedToArray(destination, 1), ref = _destination[0];\n _context2.next = 9;\n return pdf.getPageIndex(new Ref(ref));\n\n case 9:\n _this.pageIndex = _context2.sent;\n\n case 10:\n return _context2.abrupt(\"return\", _this.pageIndex);\n\n case 11:\n case \"end\":\n return _context2.stop();\n }\n }\n }, _callee2);\n })));\n\n _defineProperty(_assertThisInitialized(_this), \"getPageNumber\", /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee3() {\n return _regeneratorRuntime.wrap(function _callee3$(_context3) {\n while (1) {\n switch (_context3.prev = _context3.next) {\n case 0:\n if (isDefined(_this.pageNumber)) {\n _context3.next = 5;\n break;\n }\n\n _context3.next = 3;\n return _this.getPageIndex();\n\n case 3:\n _context3.t0 = _context3.sent;\n _this.pageNumber = _context3.t0 + 1;\n\n case 5:\n return _context3.abrupt(\"return\", _this.pageNumber);\n\n case 6:\n case \"end\":\n return _context3.stop();\n }\n }\n }, _callee3);\n })));\n\n _defineProperty(_assertThisInitialized(_this), \"onClick\", /*#__PURE__*/function () {\n var _ref4 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee4(event) {\n var onClick, pageIndex, pageNumber;\n return _regeneratorRuntime.wrap(function _callee4$(_context4) {\n while (1) {\n switch (_context4.prev = _context4.next) {\n case 0:\n onClick = _this.props.onClick;\n event.preventDefault();\n _context4.next = 4;\n return _this.getPageIndex();\n\n case 4:\n pageIndex = _context4.sent;\n _context4.next = 7;\n return _this.getPageNumber();\n\n case 7:\n pageNumber = _context4.sent;\n\n if (onClick) {\n onClick({\n pageIndex: pageIndex,\n pageNumber: pageNumber\n });\n }\n\n case 9:\n case \"end\":\n return _context4.stop();\n }\n }\n }, _callee4);\n }));\n\n return function (_x) {\n return _ref4.apply(this, arguments);\n };\n }());\n\n return _this;\n }\n\n _createClass(OutlineItemInternal, [{\n key: \"renderSubitems\",\n value: function renderSubitems() {\n var _this$props2 = this.props,\n item = _this$props2.item,\n otherProps = _objectWithoutProperties(_this$props2, [\"item\"]);\n\n if (!item.items || !item.items.length) {\n return null;\n }\n\n var subitems = item.items;\n return /*#__PURE__*/React.createElement(\"ul\", null, subitems.map(function (subitem, subitemIndex) {\n return /*#__PURE__*/React.createElement(OutlineItemInternal, _extends({\n key: typeof subitem.destination === 'string' ? subitem.destination : subitemIndex,\n item: subitem\n }, otherProps));\n }));\n }\n }, {\n key: \"render\",\n value: function render() {\n var item = this.props.item;\n /* eslint-disable jsx-a11y/anchor-is-valid */\n\n return /*#__PURE__*/React.createElement(\"li\", null, /*#__PURE__*/React.createElement(\"a\", {\n href: \"#\",\n onClick: this.onClick\n }, item.title), this.renderSubitems());\n }\n }]);\n\n return OutlineItemInternal;\n}(PureComponent);\nvar isDestination = PropTypes.oneOfType([PropTypes.string, PropTypes.arrayOf(PropTypes.any)]);\nOutlineItemInternal.propTypes = {\n item: PropTypes.shape({\n dest: isDestination,\n items: PropTypes.arrayOf(PropTypes.shape({\n dest: isDestination,\n title: PropTypes.string\n })),\n title: PropTypes.string\n }).isRequired,\n onClick: PropTypes.func,\n pdf: isPdf.isRequired\n};\n\nvar OutlineItem = function OutlineItem(props) {\n return /*#__PURE__*/React.createElement(DocumentContext.Consumer, null, function (documentContext) {\n return /*#__PURE__*/React.createElement(OutlineContext.Consumer, null, function (outlineContext) {\n return /*#__PURE__*/React.createElement(OutlineItemInternal, _extends({}, documentContext, outlineContext, props));\n });\n });\n};\n\nexport default OutlineItem;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _regeneratorRuntime from \"@babel/runtime/regenerator\";\nimport _asyncToGenerator from \"@babel/runtime/helpers/esm/asyncToGenerator\";\nimport _classCallCheck from \"@babel/runtime/helpers/esm/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/esm/createClass\";\nimport _assertThisInitialized from \"@babel/runtime/helpers/esm/assertThisInitialized\";\nimport _inherits from \"@babel/runtime/helpers/esm/inherits\";\nimport _possibleConstructorReturn from \"@babel/runtime/helpers/esm/possibleConstructorReturn\";\nimport _getPrototypeOf from \"@babel/runtime/helpers/esm/getPrototypeOf\";\nimport _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }\n\nimport React, { PureComponent } from 'react';\nimport PropTypes from 'prop-types';\nimport makeCancellable from 'make-cancellable-promise';\nimport makeEventProps from 'make-event-props';\nimport mergeClassNames from 'merge-class-names';\nimport DocumentContext from './DocumentContext';\nimport OutlineContext from './OutlineContext';\nimport OutlineItem from './OutlineItem';\nimport { cancelRunningTask, errorOnDev } from './shared/utils';\nimport { eventProps, isClassName, isPdf, isRef } from './shared/propTypes';\nexport var OutlineInternal = /*#__PURE__*/function (_PureComponent) {\n _inherits(OutlineInternal, _PureComponent);\n\n var _super = _createSuper(OutlineInternal);\n\n function OutlineInternal() {\n var _this;\n\n _classCallCheck(this, OutlineInternal);\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n _this = _super.call.apply(_super, [this].concat(args));\n\n _defineProperty(_assertThisInitialized(_this), \"state\", {\n outline: null\n });\n\n _defineProperty(_assertThisInitialized(_this), \"loadOutline\", /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee() {\n var pdf, cancellable, outline;\n return _regeneratorRuntime.wrap(function _callee$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n pdf = _this.props.pdf;\n\n _this.setState(function (prevState) {\n if (!prevState.outline) {\n return null;\n }\n\n return {\n outline: null\n };\n });\n\n _context.prev = 2;\n cancellable = makeCancellable(pdf.getOutline());\n _this.runningTask = cancellable;\n _context.next = 7;\n return cancellable.promise;\n\n case 7:\n outline = _context.sent;\n\n _this.setState({\n outline: outline\n }, _this.onLoadSuccess);\n\n _context.next = 14;\n break;\n\n case 11:\n _context.prev = 11;\n _context.t0 = _context[\"catch\"](2);\n\n _this.onLoadError(_context.t0);\n\n case 14:\n case \"end\":\n return _context.stop();\n }\n }\n }, _callee, null, [[2, 11]]);\n })));\n\n _defineProperty(_assertThisInitialized(_this), \"onLoadSuccess\", function () {\n var onLoadSuccess = _this.props.onLoadSuccess;\n var outline = _this.state.outline;\n if (onLoadSuccess) onLoadSuccess(outline);\n });\n\n _defineProperty(_assertThisInitialized(_this), \"onLoadError\", function (error) {\n _this.setState({\n outline: false\n });\n\n errorOnDev(error);\n var onLoadError = _this.props.onLoadError;\n if (onLoadError) onLoadError(error);\n });\n\n _defineProperty(_assertThisInitialized(_this), \"onItemClick\", function (_ref2) {\n var pageIndex = _ref2.pageIndex,\n pageNumber = _ref2.pageNumber;\n var onItemClick = _this.props.onItemClick;\n\n if (onItemClick) {\n onItemClick({\n pageIndex: pageIndex,\n pageNumber: pageNumber\n });\n }\n });\n\n return _this;\n }\n\n _createClass(OutlineInternal, [{\n key: \"componentDidMount\",\n value: function componentDidMount() {\n var pdf = this.props.pdf;\n\n if (!pdf) {\n throw new Error('Attempted to load an outline, but no document was specified.');\n }\n\n this.loadOutline();\n }\n }, {\n key: \"componentDidUpdate\",\n value: function componentDidUpdate(prevProps) {\n var pdf = this.props.pdf;\n\n if (prevProps.pdf && pdf !== prevProps.pdf) {\n this.loadOutline();\n }\n }\n }, {\n key: \"componentWillUnmount\",\n value: function componentWillUnmount() {\n cancelRunningTask(this.runningTask);\n }\n }, {\n key: \"renderOutline\",\n value: function renderOutline() {\n var outline = this.state.outline;\n return /*#__PURE__*/React.createElement(\"ul\", null, outline.map(function (item, itemIndex) {\n return /*#__PURE__*/React.createElement(OutlineItem, {\n key: typeof item.destination === 'string' ? item.destination : itemIndex,\n item: item\n });\n }));\n }\n }, {\n key: \"render\",\n value: function render() {\n var pdf = this.props.pdf;\n var outline = this.state.outline;\n\n if (!pdf || !outline) {\n return null;\n }\n\n var _this$props = this.props,\n className = _this$props.className,\n inputRef = _this$props.inputRef;\n return /*#__PURE__*/React.createElement(\"div\", _extends({\n className: mergeClassNames('react-pdf__Outline', className),\n ref: inputRef\n }, this.eventProps), /*#__PURE__*/React.createElement(OutlineContext.Provider, {\n value: this.childContext\n }, this.renderOutline()));\n }\n }, {\n key: \"childContext\",\n get: function get() {\n return {\n onClick: this.onItemClick\n };\n }\n }, {\n key: \"eventProps\",\n get: function get() {\n var _this2 = this;\n\n // eslint-disable-next-line react/destructuring-assignment\n return makeEventProps(this.props, function () {\n return _this2.state.outline;\n });\n }\n /**\n * Called when an outline is read successfully\n */\n\n }]);\n\n return OutlineInternal;\n}(PureComponent);\nOutlineInternal.propTypes = _objectSpread({\n className: isClassName,\n inputRef: isRef,\n onItemClick: PropTypes.func,\n onLoadError: PropTypes.func,\n onLoadSuccess: PropTypes.func,\n pdf: isPdf\n}, eventProps);\n\nfunction Outline(props, ref) {\n return /*#__PURE__*/React.createElement(DocumentContext.Consumer, null, function (context) {\n return /*#__PURE__*/React.createElement(OutlineInternal, _extends({\n ref: ref\n }, context, props));\n });\n}\n\nexport default /*#__PURE__*/React.forwardRef(Outline);","/**\n * A function that merges React refs into one.\n * Supports both functions and ref objects created using createRef() and useRef().\n *\n * Usage:\n * ```jsx\n * <div ref={mergeRefs(ref1, ref2, ref3)} />\n * ```\n *\n * @param {...Array<Function|object>} inputRefs Array of refs\n * @returns {Function} Merged refs\n */\nexport default function mergeRefs() {\n for (var _len = arguments.length, inputRefs = new Array(_len), _key = 0; _key < _len; _key++) {\n inputRefs[_key] = arguments[_key];\n }\n\n var filteredInputRefs = inputRefs.filter(Boolean);\n\n if (filteredInputRefs.length <= 1) {\n return filteredInputRefs[0];\n }\n\n return function mergedRefs(ref) {\n filteredInputRefs.forEach(function (inputRef) {\n if (typeof inputRef === 'function') {\n inputRef(ref);\n } else {\n // eslint-disable-next-line no-param-reassign\n inputRef.current = ref;\n }\n });\n };\n}","import { createContext } from 'react';\nexport default /*#__PURE__*/createContext(null);","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _classCallCheck from \"@babel/runtime/helpers/esm/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/esm/createClass\";\nimport _assertThisInitialized from \"@babel/runtime/helpers/esm/assertThisInitialized\";\nimport _inherits from \"@babel/runtime/helpers/esm/inherits\";\nimport _possibleConstructorReturn from \"@babel/runtime/helpers/esm/possibleConstructorReturn\";\nimport _getPrototypeOf from \"@babel/runtime/helpers/esm/getPrototypeOf\";\nimport _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\n\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }\n\nimport React, { PureComponent } from 'react';\nimport PropTypes from 'prop-types';\nimport mergeRefs from 'merge-refs';\nimport PageContext from '../PageContext';\nimport { errorOnDev, getPixelRatio, isCancelException, makePageCallback } from '../shared/utils';\nimport { isPage, isRef, isRotate } from '../shared/propTypes';\nexport var PageCanvasInternal = /*#__PURE__*/function (_PureComponent) {\n _inherits(PageCanvasInternal, _PureComponent);\n\n var _super = _createSuper(PageCanvasInternal);\n\n function PageCanvasInternal() {\n var _this;\n\n _classCallCheck(this, PageCanvasInternal);\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n _this = _super.call.apply(_super, [this].concat(args));\n\n _defineProperty(_assertThisInitialized(_this), \"onRenderSuccess\", function () {\n _this.renderer = null;\n var _this$props = _this.props,\n onRenderSuccess = _this$props.onRenderSuccess,\n page = _this$props.page,\n scale = _this$props.scale;\n if (onRenderSuccess) onRenderSuccess(makePageCallback(page, scale));\n });\n\n _defineProperty(_assertThisInitialized(_this), \"onRenderError\", function (error) {\n if (isCancelException(error)) {\n return;\n }\n\n errorOnDev(error);\n var onRenderError = _this.props.onRenderError;\n if (onRenderError) onRenderError(error);\n });\n\n _defineProperty(_assertThisInitialized(_this), \"drawPageOnCanvas\", function () {\n var _assertThisInitialize = _assertThisInitialized(_this),\n canvas = _assertThisInitialize.canvasLayer;\n\n if (!canvas) {\n return null;\n }\n\n var _assertThisInitialize2 = _assertThisInitialized(_this),\n renderViewport = _assertThisInitialize2.renderViewport,\n viewport = _assertThisInitialize2.viewport;\n\n var _this$props2 = _this.props,\n page = _this$props2.page,\n renderInteractiveForms = _this$props2.renderInteractiveForms;\n canvas.width = renderViewport.width;\n canvas.height = renderViewport.height;\n canvas.style.width = \"\".concat(Math.floor(viewport.width), \"px\");\n canvas.style.height = \"\".concat(Math.floor(viewport.height), \"px\");\n var renderContext = {\n get canvasContext() {\n return canvas.getContext('2d');\n },\n\n viewport: renderViewport,\n renderInteractiveForms: renderInteractiveForms\n }; // If another render is in progress, let's cancel it\n\n _this.cancelRenderingTask();\n\n _this.renderer = page.render(renderContext);\n return _this.renderer.promise.then(_this.onRenderSuccess)[\"catch\"](_this.onRenderError);\n });\n\n return _this;\n }\n\n _createClass(PageCanvasInternal, [{\n key: \"componentDidMount\",\n value: function componentDidMount() {\n this.drawPageOnCanvas();\n }\n }, {\n key: \"componentDidUpdate\",\n value: function componentDidUpdate(prevProps) {\n var _this$props3 = this.props,\n page = _this$props3.page,\n renderInteractiveForms = _this$props3.renderInteractiveForms;\n\n if (renderInteractiveForms !== prevProps.renderInteractiveForms) {\n // Ensures the canvas will be re-rendered from scratch. Otherwise all form data will stay.\n page.cleanup();\n this.drawPageOnCanvas();\n }\n }\n }, {\n key: \"componentWillUnmount\",\n value: function componentWillUnmount() {\n this.cancelRenderingTask();\n /**\n * Zeroing the width and height cause most browsers to release graphics\n * resources immediately, which can greatly reduce memory consumption.\n */\n\n if (this.canvasLayer) {\n this.canvasLayer.width = 0;\n this.canvasLayer.height = 0;\n this.canvasLayer = null;\n }\n }\n }, {\n key: \"cancelRenderingTask\",\n value: function cancelRenderingTask() {\n /* eslint-disable no-underscore-dangle */\n if (this.renderer && this.renderer._internalRenderTask.running) {\n this.renderer._internalRenderTask.cancel();\n }\n /* eslint-enable no-underscore-dangle */\n\n }\n /**\n * Called when a page is rendered successfully.\n */\n\n }, {\n key: \"render\",\n value: function render() {\n var _this2 = this;\n\n var canvasRef = this.props.canvasRef;\n return /*#__PURE__*/React.createElement(\"canvas\", {\n className: \"react-pdf__Page__canvas\",\n dir: \"ltr\",\n ref: mergeRefs(canvasRef, function (ref) {\n _this2.canvasLayer = ref;\n }),\n style: {\n display: 'block',\n userSelect: 'none'\n }\n });\n }\n }, {\n key: \"renderViewport\",\n get: function get() {\n var _this$props4 = this.props,\n page = _this$props4.page,\n rotate = _this$props4.rotate,\n scale = _this$props4.scale;\n var pixelRatio = getPixelRatio();\n return page.getViewport({\n scale: scale * pixelRatio,\n rotation: rotate\n });\n }\n }, {\n key: \"viewport\",\n get: function get() {\n var _this$props5 = this.props,\n page = _this$props5.page,\n rotate = _this$props5.rotate,\n scale = _this$props5.scale;\n return page.getViewport({\n scale: scale,\n rotation: rotate\n });\n }\n }]);\n\n return PageCanvasInternal;\n}(PureComponent);\nPageCanvasInternal.propTypes = {\n canvasRef: isRef,\n onRenderError: PropTypes.func,\n onRenderSuccess: PropTypes.func,\n page: isPage.isRequired,\n renderInteractiveForms: PropTypes.bool,\n rotate: isRotate,\n scale: PropTypes.number\n};\nexport default function PageCanvas(props) {\n return /*#__PURE__*/React.createElement(PageContext.Consumer, null, function (context) {\n return /*#__PURE__*/React.createElement(PageCanvasInternal, _extends({}, context, props));\n });\n}","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _classCallCheck from \"@babel/runtime/helpers/esm/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/esm/createClass\";\nimport _assertThisInitialized from \"@babel/runtime/helpers/esm/assertThisInitialized\";\nimport _inherits from \"@babel/runtime/helpers/esm/inherits\";\nimport _possibleConstructorReturn from \"@babel/runtime/helpers/esm/possibleConstructorReturn\";\nimport _getPrototypeOf from \"@babel/runtime/helpers/esm/getPrototypeOf\";\nimport _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\n\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }\n\nimport React, { PureComponent } from 'react';\nimport PropTypes from 'prop-types';\nimport * as pdfjs from 'pdfjs-dist';\nimport PageContext from '../PageContext';\nimport { errorOnDev, isCancelException, makePageCallback } from '../shared/utils';\nimport { isPage, isRotate } from '../shared/propTypes';\nexport var PageSVGInternal = /*#__PURE__*/function (_PureComponent) {\n _inherits(PageSVGInternal, _PureComponent);\n\n var _super = _createSuper(PageSVGInternal);\n\n function PageSVGInternal() {\n var _this;\n\n _classCallCheck(this, PageSVGInternal);\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n _this = _super.call.apply(_super, [this].concat(args));\n\n _defineProperty(_assertThisInitialized(_this), \"state\", {\n svg: null\n });\n\n _defineProperty(_assertThisInitialized(_this), \"onRenderSuccess\", function () {\n _this.renderer = null;\n var _this$props = _this.props,\n onRenderSuccess = _this$props.onRenderSuccess,\n page = _this$props.page,\n scale = _this$props.scale;\n if (onRenderSuccess) onRenderSuccess(makePageCallback(page, scale));\n });\n\n _defineProperty(_assertThisInitialized(_this), \"onRenderError\", function (error) {\n if (isCancelException(error)) {\n return;\n }\n\n errorOnDev(error);\n var onRenderError = _this.props.onRenderError;\n if (onRenderError) onRenderError(error);\n });\n\n _defineProperty(_assertThisInitialized(_this), \"renderSVG\", function () {\n var page = _this.props.page;\n _this.renderer = page.getOperatorList();\n return _this.renderer.then(function (operatorList) {\n var svgGfx = new pdfjs.SVGGraphics(page.commonObjs, page.objs);\n _this.renderer = svgGfx.getSVG(operatorList, _this.viewport).then(function (svg) {\n _this.setState({\n svg: svg\n }, _this.onRenderSuccess);\n })[\"catch\"](_this.onRenderError);\n })[\"catch\"](_this.onRenderError);\n });\n\n _defineProperty(_assertThisInitialized(_this), \"drawPageOnContainer\", function (element) {\n var svg = _this.state.svg;\n\n if (!element || !svg) {\n return;\n } // Append SVG element to the main container, if this hasn't been done already\n\n\n if (!element.firstElementChild) {\n element.appendChild(svg);\n }\n\n var _this$viewport = _this.viewport,\n width = _this$viewport.width,\n height = _this$viewport.height;\n svg.setAttribute('width', width);\n svg.setAttribute('height', height);\n });\n\n return _this;\n }\n\n _createClass(PageSVGInternal, [{\n key: \"componentDidMount\",\n value: function componentDidMount() {\n this.renderSVG();\n }\n /**\n * Called when a page is rendered successfully.\n */\n\n }, {\n key: \"render\",\n value: function render() {\n var _this2 = this;\n\n var _this$viewport2 = this.viewport,\n width = _this$viewport2.width,\n height = _this$viewport2.height;\n return /*#__PURE__*/React.createElement(\"div\", {\n className: \"react-pdf__Page__svg\" // Note: This cannot be shortened, as we need this function to be called with each render.\n ,\n ref: function ref(_ref) {\n return _this2.drawPageOnContainer(_ref);\n },\n style: {\n display: 'block',\n backgroundColor: 'white',\n overflow: 'hidden',\n width: width,\n height: height,\n userSelect: 'none'\n }\n });\n }\n }, {\n key: \"viewport\",\n get: function get() {\n var _this$props2 = this.props,\n page = _this$props2.page,\n rotate = _this$props2.rotate,\n scale = _this$props2.scale;\n return page.getViewport({\n scale: scale,\n rotation: rotate\n });\n }\n }]);\n\n return PageSVGInternal;\n}(PureComponent);\nPageSVGInternal.propTypes = {\n onRenderError: PropTypes.func,\n onRenderSuccess: PropTypes.func,\n page: isPage.isRequired,\n rotate: isRotate,\n scale: PropTypes.number\n};\nexport default function PageSVG(props) {\n return /*#__PURE__*/React.createElement(PageContext.Consumer, null, function (context) {\n return /*#__PURE__*/React.createElement(PageSVGInternal, _extends({}, context, props));\n });\n}","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nimport _regeneratorRuntime from \"@babel/runtime/regenerator\";\nimport _asyncToGenerator from \"@babel/runtime/helpers/esm/asyncToGenerator\";\nimport _classCallCheck from \"@babel/runtime/helpers/esm/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/esm/createClass\";\nimport _assertThisInitialized from \"@babel/runtime/helpers/esm/assertThisInitialized\";\nimport _inherits from \"@babel/runtime/helpers/esm/inherits\";\nimport _possibleConstructorReturn from \"@babel/runtime/helpers/esm/possibleConstructorReturn\";\nimport _getPrototypeOf from \"@babel/runtime/helpers/esm/getPrototypeOf\";\nimport _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\n\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }\n\nimport React, { PureComponent } from 'react';\nimport PropTypes from 'prop-types';\nimport PageContext from '../PageContext';\nimport { isPage, isRotate } from '../shared/propTypes';\nexport var TextLayerItemInternal = /*#__PURE__*/function (_PureComponent) {\n _inherits(TextLayerItemInternal, _PureComponent);\n\n var _super = _createSuper(TextLayerItemInternal);\n\n function TextLayerItemInternal() {\n var _this;\n\n _classCallCheck(this, TextLayerItemInternal);\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n _this = _super.call.apply(_super, [this].concat(args));\n\n _defineProperty(_assertThisInitialized(_this), \"getElementWidth\", function (element) {\n var _assertThisInitialize = _assertThisInitialized(_this),\n sideways = _assertThisInitialize.sideways;\n\n return element.getBoundingClientRect()[sideways ? 'height' : 'width'];\n });\n\n return _this;\n }\n\n _createClass(TextLayerItemInternal, [{\n key: \"componentDidMount\",\n value: function componentDidMount() {\n this.alignTextItem();\n }\n }, {\n key: \"componentDidUpdate\",\n value: function componentDidUpdate() {\n this.alignTextItem();\n }\n }, {\n key: \"getFontData\",\n value: function () {\n var _getFontData = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee(fontName) {\n var page, font;\n return _regeneratorRuntime.wrap(function _callee$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n page = this.props.page;\n _context.next = 3;\n return new Promise(function (resolve) {\n page.commonObjs.get(fontName, resolve);\n });\n\n case 3:\n font = _context.sent;\n return _context.abrupt(\"return\", font);\n\n case 5:\n case \"end\":\n return _context.stop();\n }\n }\n }, _callee, this);\n }));\n\n function getFontData(_x) {\n return _getFontData.apply(this, arguments);\n }\n\n return getFontData;\n }()\n }, {\n key: \"alignTextItem\",\n value: function () {\n var _alignTextItem = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee2() {\n var element, _this$props, fontName, scale, width, fontData, fallbackFontName, targetWidth, actualWidth, transform, ascent;\n\n return _regeneratorRuntime.wrap(function _callee2$(_context2) {\n while (1) {\n switch (_context2.prev = _context2.next) {\n case 0:\n element = this.item;\n\n if (element) {\n _context2.next = 3;\n break;\n }\n\n return _context2.abrupt(\"return\");\n\n case 3:\n element.style.transform = '';\n _this$props = this.props, fontName = _this$props.fontName, scale = _this$props.scale, width = _this$props.width;\n element.style.fontFamily = \"\".concat(fontName, \", sans-serif\");\n _context2.next = 8;\n return this.getFontData(fontName);\n\n case 8:\n fontData = _context2.sent;\n fallbackFontName = fontData ? fontData.fallbackName : 'sans-serif';\n element.style.fontFamily = \"\".concat(fontName, \", \").concat(fallbackFontName);\n targetWidth = width * scale;\n actualWidth = this.getElementWidth(element);\n transform = \"scaleX(\".concat(targetWidth / actualWidth, \")\");\n ascent = fontData ? fontData.ascent : 0;\n\n if (ascent) {\n transform += \" translateY(\".concat((1 - ascent) * 100, \"%)\");\n }\n\n element.style.transform = transform;\n element.style.WebkitTransform = transform;\n\n case 18:\n case \"end\":\n return _context2.stop();\n }\n }\n }, _callee2, this);\n }));\n\n function alignTextItem() {\n return _alignTextItem.apply(this, arguments);\n }\n\n return alignTextItem;\n }()\n }, {\n key: \"render\",\n value: function render() {\n var _this2 = this;\n\n var fontSize = this.fontSize,\n top = this.top,\n left = this.left;\n var _this$props2 = this.props,\n customTextRenderer = _this$props2.customTextRenderer,\n scale = _this$props2.scale,\n text = _this$props2.str;\n return /*#__PURE__*/React.createElement(\"span\", {\n ref: function ref(_ref) {\n _this2.item = _ref;\n },\n style: {\n height: '1em',\n fontFamily: 'sans-serif',\n fontSize: \"\".concat(fontSize * scale, \"px\"),\n position: 'absolute',\n top: \"\".concat(top * scale, \"px\"),\n left: \"\".concat(left * scale, \"px\"),\n transformOrigin: 'left bottom',\n whiteSpace: 'pre',\n pointerEvents: 'all'\n }\n }, customTextRenderer ? customTextRenderer(this.props) : text);\n }\n }, {\n key: \"unrotatedViewport\",\n get: function get() {\n var _this$props3 = this.props,\n page = _this$props3.page,\n scale = _this$props3.scale;\n return page.getViewport({\n scale: scale\n });\n }\n /**\n * It might happen that the page is rotated by default. In such cases, we shouldn't rotate\n * text content.\n */\n\n }, {\n key: \"rotate\",\n get: function get() {\n var _this$props4 = this.props,\n page = _this$props4.page,\n rotate = _this$props4.rotate;\n return rotate - page.rotate;\n }\n }, {\n key: \"sideways\",\n get: function get() {\n var rotate = this.rotate;\n return rotate % 180 !== 0;\n }\n }, {\n key: \"defaultSideways\",\n get: function get() {\n var rotation = this.unrotatedViewport.rotation;\n return rotation % 180 !== 0;\n }\n }, {\n key: \"fontSize\",\n get: function get() {\n var transform = this.props.transform;\n var defaultSideways = this.defaultSideways;\n\n var _transform = _slicedToArray(transform, 2),\n fontHeightPx = _transform[0],\n fontWidthPx = _transform[1];\n\n return defaultSideways ? fontWidthPx : fontHeightPx;\n }\n }, {\n key: \"top\",\n get: function get() {\n var transform = this.props.transform;\n var viewport = this.unrotatedViewport,\n defaultSideways = this.defaultSideways;\n\n var _transform2 = _slicedToArray(transform, 6),\n\n /* fontHeightPx */\n\n /* fontWidthPx */\n offsetX = _transform2[2],\n offsetY = _transform2[3],\n x = _transform2[4],\n y = _transform2[5];\n\n var _viewport$viewBox = _slicedToArray(viewport.viewBox, 4),\n\n /* xMin */\n yMin = _viewport$viewBox[1],\n\n /* xMax */\n yMax = _viewport$viewBox[3];\n\n return defaultSideways ? x + offsetX + yMin : yMax - (y + offsetY);\n }\n }, {\n key: \"left\",\n get: function get() {\n var transform = this.props.transform;\n var viewport = this.unrotatedViewport,\n defaultSideways = this.defaultSideways;\n\n var _transform3 = _slicedToArray(transform, 6),\n\n /* fontHeightPx */\n\n /* fontWidthPx */\n\n /* offsetX */\n\n /* offsetY */\n x = _transform3[4],\n y = _transform3[5];\n\n var _viewport$viewBox2 = _slicedToArray(viewport.viewBox, 1),\n xMin = _viewport$viewBox2[0];\n\n return defaultSideways ? y - xMin : x - xMin;\n }\n }]);\n\n return TextLayerItemInternal;\n}(PureComponent);\nTextLayerItemInternal.propTypes = {\n customTextRenderer: PropTypes.func,\n fontName: PropTypes.string.isRequired,\n itemIndex: PropTypes.number.isRequired,\n // eslint-disable-line react/no-unused-prop-types\n page: isPage.isRequired,\n rotate: isRotate,\n scale: PropTypes.number,\n str: PropTypes.string.isRequired,\n transform: PropTypes.arrayOf(PropTypes.number).isRequired,\n width: PropTypes.number.isRequired\n};\nexport default function TextLayerItem(props) {\n return /*#__PURE__*/React.createElement(PageContext.Consumer, null, function (context) {\n return /*#__PURE__*/React.createElement(TextLayerItemInternal, _extends({}, context, props));\n });\n}","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _regeneratorRuntime from \"@babel/runtime/regenerator\";\nimport _asyncToGenerator from \"@babel/runtime/helpers/esm/asyncToGenerator\";\nimport _classCallCheck from \"@babel/runtime/helpers/esm/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/esm/createClass\";\nimport _assertThisInitialized from \"@babel/runtime/helpers/esm/assertThisInitialized\";\nimport _inherits from \"@babel/runtime/helpers/esm/inherits\";\nimport _possibleConstructorReturn from \"@babel/runtime/helpers/esm/possibleConstructorReturn\";\nimport _getPrototypeOf from \"@babel/runtime/helpers/esm/getPrototypeOf\";\nimport _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\n\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }\n\nimport React, { PureComponent } from 'react';\nimport PropTypes from 'prop-types';\nimport makeCancellable from 'make-cancellable-promise';\nimport PageContext from '../PageContext';\nimport TextLayerItem from './TextLayerItem';\nimport { cancelRunningTask, errorOnDev } from '../shared/utils';\nimport { isPage, isRotate } from '../shared/propTypes';\nexport var TextLayerInternal = /*#__PURE__*/function (_PureComponent) {\n _inherits(TextLayerInternal, _PureComponent);\n\n var _super = _createSuper(TextLayerInternal);\n\n function TextLayerInternal() {\n var _this;\n\n _classCallCheck(this, TextLayerInternal);\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n _this = _super.call.apply(_super, [this].concat(args));\n\n _defineProperty(_assertThisInitialized(_this), \"state\", {\n textItems: null\n });\n\n _defineProperty(_assertThisInitialized(_this), \"loadTextItems\", /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee() {\n var page, cancellable, _yield$cancellable$pr, textItems;\n\n return _regeneratorRuntime.wrap(function _callee$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n page = _this.props.page;\n _context.prev = 1;\n cancellable = makeCancellable(page.getTextContent());\n _this.runningTask = cancellable;\n _context.next = 6;\n return cancellable.promise;\n\n case 6:\n _yield$cancellable$pr = _context.sent;\n textItems = _yield$cancellable$pr.items;\n\n _this.setState({\n textItems: textItems\n }, _this.onLoadSuccess);\n\n _context.next = 14;\n break;\n\n case 11:\n _context.prev = 11;\n _context.t0 = _context[\"catch\"](1);\n\n _this.onLoadError(_context.t0);\n\n case 14:\n case \"end\":\n return _context.stop();\n }\n }\n }, _callee, null, [[1, 11]]);\n })));\n\n _defineProperty(_assertThisInitialized(_this), \"onLoadSuccess\", function () {\n var onGetTextSuccess = _this.props.onGetTextSuccess;\n var textItems = _this.state.textItems;\n if (onGetTextSuccess) onGetTextSuccess(textItems);\n });\n\n _defineProperty(_assertThisInitialized(_this), \"onLoadError\", function (error) {\n _this.setState({\n textItems: false\n });\n\n errorOnDev(error);\n var onGetTextError = _this.props.onGetTextError;\n if (onGetTextError) onGetTextError(error);\n });\n\n return _this;\n }\n\n _createClass(TextLayerInternal, [{\n key: \"componentDidMount\",\n value: function componentDidMount() {\n var page = this.props.page;\n\n if (!page) {\n throw new Error('Attempted to load page text content, but no page was specified.');\n }\n\n this.loadTextItems();\n }\n }, {\n key: \"componentDidUpdate\",\n value: function componentDidUpdate(prevProps) {\n var page = this.props.page;\n\n if (prevProps.page && page !== prevProps.page) {\n this.loadTextItems();\n }\n }\n }, {\n key: \"componentWillUnmount\",\n value: function componentWillUnmount() {\n cancelRunningTask(this.runningTask);\n }\n }, {\n key: \"renderTextItems\",\n value: function renderTextItems() {\n var textItems = this.state.textItems;\n\n if (!textItems) {\n return null;\n }\n\n return textItems.map(function (textItem, itemIndex) {\n return /*#__PURE__*/React.createElement(TextLayerItem // eslint-disable-next-line react/no-array-index-key\n , _extends({\n key: itemIndex,\n itemIndex: itemIndex\n }, textItem));\n });\n }\n }, {\n key: \"render\",\n value: function render() {\n var viewport = this.unrotatedViewport,\n rotate = this.rotate;\n return /*#__PURE__*/React.createElement(\"div\", {\n className: \"react-pdf__Page__textContent\",\n style: {\n position: 'absolute',\n top: '50%',\n left: '50%',\n width: \"\".concat(viewport.width, \"px\"),\n height: \"\".concat(viewport.height, \"px\"),\n color: 'transparent',\n transform: \"translate(-50%, -50%) rotate(\".concat(rotate, \"deg)\"),\n WebkitTransform: \"translate(-50%, -50%) rotate(\".concat(rotate, \"deg)\"),\n pointerEvents: 'none'\n }\n }, this.renderTextItems());\n }\n }, {\n key: \"unrotatedViewport\",\n get: function get() {\n var _this$props = this.props,\n page = _this$props.page,\n scale = _this$props.scale;\n return page.getViewport({\n scale: scale\n });\n }\n /**\n * It might happen that the page is rotated by default. In such cases, we shouldn't rotate\n * text content.\n */\n\n }, {\n key: \"rotate\",\n get: function get() {\n var _this$props2 = this.props,\n page = _this$props2.page,\n rotate = _this$props2.rotate;\n return rotate - page.rotate;\n }\n }]);\n\n return TextLayerInternal;\n}(PureComponent);\nTextLayerInternal.propTypes = {\n onGetTextError: PropTypes.func,\n onGetTextSuccess: PropTypes.func,\n page: isPage.isRequired,\n rotate: isRotate,\n scale: PropTypes.number\n};\nexport default function TextLayer(props) {\n return /*#__PURE__*/React.createElement(PageContext.Consumer, null, function (context) {\n return /*#__PURE__*/React.createElement(TextLayerInternal, _extends({}, context, props));\n });\n}","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _regeneratorRuntime from \"@babel/runtime/regenerator\";\nimport _asyncToGenerator from \"@babel/runtime/helpers/esm/asyncToGenerator\";\nimport _classCallCheck from \"@babel/runtime/helpers/esm/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/esm/createClass\";\nimport _assertThisInitialized from \"@babel/runtime/helpers/esm/assertThisInitialized\";\nimport _inherits from \"@babel/runtime/helpers/esm/inherits\";\nimport _possibleConstructorReturn from \"@babel/runtime/helpers/esm/possibleConstructorReturn\";\nimport _getPrototypeOf from \"@babel/runtime/helpers/esm/getPrototypeOf\";\nimport _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\n\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }\n\nimport React, { PureComponent } from 'react';\nimport PropTypes from 'prop-types';\nimport * as pdfjs from 'pdfjs-dist';\nimport makeCancellable from 'make-cancellable-promise';\nimport DocumentContext from '../DocumentContext';\nimport PageContext from '../PageContext';\nimport { cancelRunningTask, errorOnDev } from '../shared/utils';\nimport { isLinkService, isPage, isRotate } from '../shared/propTypes';\nexport var AnnotationLayerInternal = /*#__PURE__*/function (_PureComponent) {\n _inherits(AnnotationLayerInternal, _PureComponent);\n\n var _super = _createSuper(AnnotationLayerInternal);\n\n function AnnotationLayerInternal() {\n var _this;\n\n _classCallCheck(this, AnnotationLayerInternal);\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n _this = _super.call.apply(_super, [this].concat(args));\n\n _defineProperty(_assertThisInitialized(_this), \"state\", {\n annotations: null\n });\n\n _defineProperty(_assertThisInitialized(_this), \"loadAnnotations\", /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee() {\n var page, cancellable, annotations;\n return _regeneratorRuntime.wrap(function _callee$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n page = _this.props.page;\n _context.prev = 1;\n cancellable = makeCancellable(page.getAnnotations());\n _this.runningTask = cancellable;\n _context.next = 6;\n return cancellable.promise;\n\n case 6:\n annotations = _context.sent;\n\n _this.setState({\n annotations: annotations\n }, _this.onLoadSuccess);\n\n _context.next = 13;\n break;\n\n case 10:\n _context.prev = 10;\n _context.t0 = _context[\"catch\"](1);\n\n _this.onLoadError(_context.t0);\n\n case 13:\n case \"end\":\n return _context.stop();\n }\n }\n }, _callee, null, [[1, 10]]);\n })));\n\n _defineProperty(_assertThisInitialized(_this), \"onLoadSuccess\", function () {\n var onGetAnnotationsSuccess = _this.props.onGetAnnotationsSuccess;\n var annotations = _this.state.annotations;\n if (onGetAnnotationsSuccess) onGetAnnotationsSuccess(annotations);\n });\n\n _defineProperty(_assertThisInitialized(_this), \"onLoadError\", function (error) {\n _this.setState({\n annotations: false\n });\n\n errorOnDev(error);\n var onGetAnnotationsError = _this.props.onGetAnnotationsError;\n if (onGetAnnotationsError) onGetAnnotationsError(error);\n });\n\n _defineProperty(_assertThisInitialized(_this), \"onRenderSuccess\", function () {\n var onRenderAnnotationLayerSuccess = _this.props.onRenderAnnotationLayerSuccess;\n if (onRenderAnnotationLayerSuccess) onRenderAnnotationLayerSuccess();\n });\n\n _defineProperty(_assertThisInitialized(_this), \"onRenderError\", function (error) {\n errorOnDev(error);\n var onRenderAnnotationLayerError = _this.props.onRenderAnnotationLayerError;\n if (onRenderAnnotationLayerError) onRenderAnnotationLayerError(error);\n });\n\n return _this;\n }\n\n _createClass(AnnotationLayerInternal, [{\n key: \"componentDidMount\",\n value: function componentDidMount() {\n var page = this.props.page;\n\n if (!page) {\n throw new Error('Attempted to load page annotations, but no page was specified.');\n }\n\n this.loadAnnotations();\n }\n }, {\n key: \"componentDidUpdate\",\n value: function componentDidUpdate(prevProps) {\n var _this$props = this.props,\n page = _this$props.page,\n renderInteractiveForms = _this$props.renderInteractiveForms;\n\n if (prevProps.page && page !== prevProps.page || renderInteractiveForms !== prevProps.renderInteractiveForms) {\n this.loadAnnotations();\n }\n }\n }, {\n key: \"componentWillUnmount\",\n value: function componentWillUnmount() {\n cancelRunningTask(this.runningTask);\n }\n }, {\n key: \"renderAnnotationLayer\",\n value: function renderAnnotationLayer() {\n var annotations = this.state.annotations;\n\n if (!annotations) {\n return;\n }\n\n var _this$props2 = this.props,\n imageResourcesPath = _this$props2.imageResourcesPath,\n linkService = _this$props2.linkService,\n page = _this$props2.page,\n renderInteractiveForms = _this$props2.renderInteractiveForms;\n var viewport = this.viewport.clone({\n dontFlip: true\n });\n var parameters = {\n annotations: annotations,\n div: this.annotationLayer,\n imageResourcesPath: imageResourcesPath,\n linkService: linkService,\n page: page,\n renderInteractiveForms: renderInteractiveForms,\n viewport: viewport\n };\n this.annotationLayer.innerHTML = '';\n\n try {\n pdfjs.AnnotationLayer.render(parameters);\n this.onRenderSuccess();\n } catch (error) {\n this.onRenderError(error);\n }\n }\n }, {\n key: \"render\",\n value: function render() {\n var _this2 = this;\n\n return /*#__PURE__*/React.createElement(\"div\", {\n className: \"react-pdf__Page__annotations annotationLayer\",\n ref: function ref(_ref2) {\n _this2.annotationLayer = _ref2;\n }\n }, this.renderAnnotationLayer());\n }\n }, {\n key: \"viewport\",\n get: function get() {\n var _this$props3 = this.props,\n page = _this$props3.page,\n rotate = _this$props3.rotate,\n scale = _this$props3.scale;\n return page.getViewport({\n scale: scale,\n rotation: rotate\n });\n }\n }]);\n\n return AnnotationLayerInternal;\n}(PureComponent);\nAnnotationLayerInternal.propTypes = {\n imageResourcesPath: PropTypes.string,\n linkService: isLinkService.isRequired,\n onGetAnnotationsError: PropTypes.func,\n onGetAnnotationsSuccess: PropTypes.func,\n onRenderAnnotationLayerError: PropTypes.func,\n onRenderAnnotationLayerSuccess: PropTypes.func,\n page: isPage,\n renderInteractiveForms: PropTypes.bool,\n rotate: isRotate,\n scale: PropTypes.number\n};\n\nvar AnnotationLayer = function AnnotationLayer(props) {\n return /*#__PURE__*/React.createElement(DocumentContext.Consumer, null, function (documentContext) {\n return /*#__PURE__*/React.createElement(PageContext.Consumer, null, function (pageContext) {\n return /*#__PURE__*/React.createElement(AnnotationLayerInternal, _extends({}, documentContext, pageContext, props));\n });\n });\n};\n\nexport default AnnotationLayer;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _regeneratorRuntime from \"@babel/runtime/regenerator\";\nimport _asyncToGenerator from \"@babel/runtime/helpers/esm/asyncToGenerator\";\nimport _classCallCheck from \"@babel/runtime/helpers/esm/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/esm/createClass\";\nimport _assertThisInitialized from \"@babel/runtime/helpers/esm/assertThisInitialized\";\nimport _inherits from \"@babel/runtime/helpers/esm/inherits\";\nimport _possibleConstructorReturn from \"@babel/runtime/helpers/esm/possibleConstructorReturn\";\nimport _getPrototypeOf from \"@babel/runtime/helpers/esm/getPrototypeOf\";\nimport _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }\n\nimport React, { PureComponent } from 'react';\nimport PropTypes from 'prop-types';\nimport makeCancellable from 'make-cancellable-promise';\nimport makeEventProps from 'make-event-props';\nimport mergeClassNames from 'merge-class-names';\nimport mergeRefs from 'merge-refs';\nimport DocumentContext from './DocumentContext';\nimport PageContext from './PageContext';\nimport Message from './Message';\nimport PageCanvas from './Page/PageCanvas';\nimport PageSVG from './Page/PageSVG';\nimport TextLayer from './Page/TextLayer';\nimport AnnotationLayer from './Page/AnnotationLayer';\nimport { cancelRunningTask, errorOnDev, isProvided, makePageCallback } from './shared/utils';\nimport { eventProps, isClassName, isPageIndex, isPageNumber, isPdf, isRef, isRenderMode, isRotate } from './shared/propTypes';\nvar defaultScale = 1.0;\nexport var PageInternal = /*#__PURE__*/function (_PureComponent) {\n _inherits(PageInternal, _PureComponent);\n\n var _super = _createSuper(PageInternal);\n\n function PageInternal() {\n var _this;\n\n _classCallCheck(this, PageInternal);\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n _this = _super.call.apply(_super, [this].concat(args));\n\n _defineProperty(_assertThisInitialized(_this), \"state\", {\n page: null\n });\n\n _defineProperty(_assertThisInitialized(_this), \"onLoadSuccess\", function () {\n var _this$props = _this.props,\n onLoadSuccess = _this$props.onLoadSuccess,\n registerPage = _this$props.registerPage;\n var page = _this.state.page;\n if (onLoadSuccess) onLoadSuccess(makePageCallback(page, _this.scale));\n if (registerPage) registerPage(_this.pageIndex, _this.ref);\n });\n\n _defineProperty(_assertThisInitialized(_this), \"onLoadError\", function (error) {\n errorOnDev(error);\n var onLoadError = _this.props.onLoadError;\n if (onLoadError) onLoadError(error);\n });\n\n _defineProperty(_assertThisInitialized(_this), \"loadPage\", /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee() {\n var pdf, pageNumber, cancellable, page;\n return _regeneratorRuntime.wrap(function _callee$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n pdf = _this.props.pdf;\n pageNumber = _this.getPageNumber();\n\n if (pageNumber) {\n _context.next = 4;\n break;\n }\n\n return _context.abrupt(\"return\");\n\n case 4:\n _this.setState(function (prevState) {\n if (!prevState.page) {\n return null;\n }\n\n return {\n page: null\n };\n });\n\n _context.prev = 5;\n cancellable = makeCancellable(pdf.getPage(pageNumber));\n _this.runningTask = cancellable;\n _context.next = 10;\n return cancellable.promise;\n\n case 10:\n page = _context.sent;\n\n _this.setState({\n page: page\n }, _this.onLoadSuccess);\n\n _context.next = 18;\n break;\n\n case 14:\n _context.prev = 14;\n _context.t0 = _context[\"catch\"](5);\n\n _this.setState({\n page: false\n });\n\n _this.onLoadError(_context.t0);\n\n case 18:\n case \"end\":\n return _context.stop();\n }\n }\n }, _callee, null, [[5, 14]]);\n })));\n\n return _this;\n }\n\n _createClass(PageInternal, [{\n key: \"componentDidMount\",\n value: function componentDidMount() {\n var pdf = this.props.pdf;\n\n if (!pdf) {\n throw new Error('Attempted to load a page, but no document was specified.');\n }\n\n this.loadPage();\n }\n }, {\n key: \"componentDidUpdate\",\n value: function componentDidUpdate(prevProps) {\n var pdf = this.props.pdf;\n\n if (prevProps.pdf && pdf !== prevProps.pdf || this.getPageNumber() !== this.getPageNumber(prevProps)) {\n var unregisterPage = this.props.unregisterPage;\n if (unregisterPage) unregisterPage(this.getPageIndex(prevProps));\n this.loadPage();\n }\n }\n }, {\n key: \"componentWillUnmount\",\n value: function componentWillUnmount() {\n var unregisterPage = this.props.unregisterPage;\n if (unregisterPage) unregisterPage(this.pageIndex);\n cancelRunningTask(this.runningTask);\n }\n }, {\n key: \"getPageIndex\",\n value: function getPageIndex() {\n var props = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : this.props;\n\n if (isProvided(props.pageNumber)) {\n return props.pageNumber - 1;\n }\n\n if (isProvided(props.pageIndex)) {\n return props.pageIndex;\n }\n\n return null;\n }\n }, {\n key: \"getPageNumber\",\n value: function getPageNumber() {\n var props = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : this.props;\n\n if (isProvided(props.pageNumber)) {\n return props.pageNumber;\n }\n\n if (isProvided(props.pageIndex)) {\n return props.pageIndex + 1;\n }\n\n return null;\n }\n }, {\n key: \"renderMainLayer\",\n value: function renderMainLayer() {\n var _this$props2 = this.props,\n canvasRef = _this$props2.canvasRef,\n renderMode = _this$props2.renderMode;\n\n switch (renderMode) {\n case 'none':\n return null;\n\n case 'svg':\n return /*#__PURE__*/React.createElement(PageSVG, {\n key: \"\".concat(this.pageKeyNoScale, \"_svg\")\n });\n\n case 'canvas':\n default:\n return /*#__PURE__*/React.createElement(PageCanvas, {\n key: \"\".concat(this.pageKey, \"_canvas\"),\n canvasRef: canvasRef\n });\n }\n }\n }, {\n key: \"renderTextLayer\",\n value: function renderTextLayer() {\n var renderTextLayer = this.props.renderTextLayer;\n\n if (!renderTextLayer) {\n return null;\n }\n\n return /*#__PURE__*/React.createElement(TextLayer, {\n key: \"\".concat(this.pageKey, \"_text\")\n });\n }\n }, {\n key: \"renderAnnotationLayer\",\n value: function renderAnnotationLayer() {\n var renderAnnotationLayer = this.props.renderAnnotationLayer;\n\n if (!renderAnnotationLayer) {\n return null;\n }\n /**\n * As of now, PDF.js 2.0.943 returns warnings on unimplemented annotations in SVG mode.\n * Therefore, as a fallback, we render \"traditional\" AnnotationLayer component.\n */\n\n\n return /*#__PURE__*/React.createElement(AnnotationLayer, {\n key: \"\".concat(this.pageKey, \"_annotations\")\n });\n }\n }, {\n key: \"renderChildren\",\n value: function renderChildren() {\n var children = this.props.children;\n return /*#__PURE__*/React.createElement(PageContext.Provider, {\n value: this.childContext\n }, this.renderMainLayer(), this.renderTextLayer(), this.renderAnnotationLayer(), children);\n }\n }, {\n key: \"renderContent\",\n value: function renderContent() {\n var pageNumber = this.pageNumber;\n var pdf = this.props.pdf;\n var page = this.state.page;\n\n if (!pageNumber) {\n var noData = this.props.noData;\n return /*#__PURE__*/React.createElement(Message, {\n type: \"no-data\"\n }, typeof noData === 'function' ? noData() : noData);\n }\n\n if (pdf === null || page === null) {\n var loading = this.props.loading;\n return /*#__PURE__*/React.createElement(Message, {\n type: \"loading\"\n }, typeof loading === 'function' ? loading() : loading);\n }\n\n if (pdf === false || page === false) {\n var error = this.props.error;\n return /*#__PURE__*/React.createElement(Message, {\n type: \"error\"\n }, typeof error === 'function' ? error() : error);\n }\n\n return this.renderChildren();\n }\n }, {\n key: \"render\",\n value: function render() {\n var pageNumber = this.pageNumber;\n var _this$props3 = this.props,\n className = _this$props3.className,\n inputRef = _this$props3.inputRef;\n return /*#__PURE__*/React.createElement(\"div\", _extends({\n className: mergeClassNames('react-pdf__Page', className),\n \"data-page-number\": pageNumber,\n ref: mergeRefs(inputRef, this.ref),\n style: {\n position: 'relative'\n }\n }, this.eventProps), this.renderContent());\n }\n }, {\n key: \"childContext\",\n get: function get() {\n var page = this.state.page;\n\n if (!page) {\n return {};\n }\n\n var _this$props4 = this.props,\n customTextRenderer = _this$props4.customTextRenderer,\n onGetAnnotationsError = _this$props4.onGetAnnotationsError,\n onGetAnnotationsSuccess = _this$props4.onGetAnnotationsSuccess,\n onGetTextError = _this$props4.onGetTextError,\n onGetTextSuccess = _this$props4.onGetTextSuccess,\n onRenderAnnotationLayerError = _this$props4.onRenderAnnotationLayerError,\n onRenderAnnotationLayerSuccess = _this$props4.onRenderAnnotationLayerSuccess,\n onRenderError = _this$props4.onRenderError,\n onRenderSuccess = _this$props4.onRenderSuccess,\n renderInteractiveForms = _this$props4.renderInteractiveForms;\n return {\n customTextRenderer: customTextRenderer,\n onGetAnnotationsError: onGetAnnotationsError,\n onGetAnnotationsSuccess: onGetAnnotationsSuccess,\n onGetTextError: onGetTextError,\n onGetTextSuccess: onGetTextSuccess,\n onRenderAnnotationLayerError: onRenderAnnotationLayerError,\n onRenderAnnotationLayerSuccess: onRenderAnnotationLayerSuccess,\n onRenderError: onRenderError,\n onRenderSuccess: onRenderSuccess,\n page: page,\n renderInteractiveForms: renderInteractiveForms,\n rotate: this.rotate,\n scale: this.scale\n };\n }\n /**\n * Called when a page is loaded successfully\n */\n\n }, {\n key: \"pageIndex\",\n get: function get() {\n return this.getPageIndex();\n }\n }, {\n key: \"pageNumber\",\n get: function get() {\n return this.getPageNumber();\n }\n }, {\n key: \"rotate\",\n get: function get() {\n var rotate = this.props.rotate;\n\n if (isProvided(rotate)) {\n return rotate;\n }\n\n var page = this.state.page;\n\n if (!page) {\n return null;\n }\n\n return page.rotate;\n }\n }, {\n key: \"scale\",\n get: function get() {\n var page = this.state.page;\n\n if (!page) {\n return null;\n }\n\n var _this$props5 = this.props,\n scale = _this$props5.scale,\n width = _this$props5.width,\n height = _this$props5.height;\n var rotate = this.rotate; // Be default, we'll render page at 100% * scale width.\n\n var pageScale = 1; // Passing scale explicitly null would cause the page not to render\n\n var scaleWithDefault = scale === null ? defaultScale : scale; // If width/height is defined, calculate the scale of the page so it could be of desired width.\n\n if (width || height) {\n var viewport = page.getViewport({\n scale: 1,\n rotation: rotate\n });\n pageScale = width ? width / viewport.width : height / viewport.height;\n }\n\n return scaleWithDefault * pageScale;\n }\n }, {\n key: \"eventProps\",\n get: function get() {\n var _this2 = this;\n\n return makeEventProps(this.props, function () {\n var page = _this2.state.page;\n\n if (!page) {\n return page;\n }\n\n return makePageCallback(page, _this2.scale);\n });\n }\n }, {\n key: \"pageKey\",\n get: function get() {\n var page = this.state.page;\n return \"\".concat(page.pageIndex, \"@\").concat(this.scale, \"/\").concat(this.rotate);\n }\n }, {\n key: \"pageKeyNoScale\",\n get: function get() {\n var page = this.state.page;\n return \"\".concat(page.pageIndex, \"/\").concat(this.rotate);\n }\n }]);\n\n return PageInternal;\n}(PureComponent);\nPageInternal.defaultProps = {\n error: 'Failed to load the page.',\n loading: 'Loading page…',\n noData: 'No page specified.',\n renderAnnotationLayer: true,\n renderInteractiveForms: false,\n renderMode: 'canvas',\n renderTextLayer: true,\n scale: defaultScale\n};\nvar isFunctionOrNode = PropTypes.oneOfType([PropTypes.func, PropTypes.node]);\nPageInternal.propTypes = _objectSpread(_objectSpread({}, eventProps), {}, {\n children: PropTypes.node,\n className: isClassName,\n customTextRenderer: PropTypes.func,\n error: isFunctionOrNode,\n height: PropTypes.number,\n imageResourcesPath: PropTypes.string,\n inputRef: isRef,\n loading: isFunctionOrNode,\n noData: isFunctionOrNode,\n onGetTextError: PropTypes.func,\n onGetTextSuccess: PropTypes.func,\n onLoadError: PropTypes.func,\n onLoadSuccess: PropTypes.func,\n onRenderError: PropTypes.func,\n onRenderSuccess: PropTypes.func,\n pageIndex: isPageIndex,\n pageNumber: isPageNumber,\n pdf: isPdf,\n registerPage: PropTypes.func,\n renderAnnotationLayer: PropTypes.bool,\n renderInteractiveForms: PropTypes.bool,\n renderMode: isRenderMode,\n renderTextLayer: PropTypes.bool,\n rotate: isRotate,\n scale: PropTypes.number,\n unregisterPage: PropTypes.func,\n width: PropTypes.number\n});\n\nfunction Page(props, ref) {\n return /*#__PURE__*/React.createElement(DocumentContext.Consumer, null, function (context) {\n return /*#__PURE__*/React.createElement(PageInternal, _extends({\n ref: ref\n }, context, props));\n });\n}\n\nexport default /*#__PURE__*/React.forwardRef(Page);","import * as pdfjs from 'pdfjs-dist';\nimport Document from './Document';\nimport Outline from './Outline';\nimport Page from './Page';\nimport { isLocalFileSystem, warnOnDev } from './shared/utils';\n\nif (isLocalFileSystem) {\n warnOnDev('You are running React-PDF from your local file system. PDF.js Worker may fail to load due to browser\\'s security policies. If you\\'re on Google Chrome, you can use --allow-file-access-from-files flag for debugging purposes.');\n}\n\npdfjs.GlobalWorkerOptions.workerSrc = 'pdf.worker.js';\nexport { pdfjs, Document, Outline, Page };","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports[\"default\"] = exports.RecurlyContext = void 0;\n\nvar _react = _interopRequireDefault(require(\"react\"));\n\nvar _propTypes = _interopRequireDefault(require(\"prop-types\"));\n\nvar _package = require(\"../package.json\");\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; 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 _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 _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 _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function () { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } return _assertThisInitialized(self); }\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 _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\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 RecurlyContext = _react[\"default\"].createContext({\n recurly: null\n});\n\nexports.RecurlyContext = RecurlyContext;\nvar Provider = RecurlyContext.Provider;\n/**\n * This is the top-level component for `react-recurly`, and must wrap any other\n * `react-recurly` component you will use. It is responsible for creating a `Recurly.js`\n * instance for any descendant components to interact with.\n *\n * This component accepts your `publicKey` and other configuration options for Recurly.js as props.\n */\n\nvar RecurlyProvider = /*#__PURE__*/function (_React$Component) {\n _inherits(RecurlyProvider, _React$Component);\n\n var _super = _createSuper(RecurlyProvider);\n\n function RecurlyProvider(props) {\n var _this;\n\n _classCallCheck(this, RecurlyProvider);\n\n _this = _super.call(this, props);\n\n if (!_this.props.publicKey) {\n throw new Error(\"\\n Please pass your 'publicKey' value to this RecurlyProvider.\\n Example: <RecurlyProvider publicKey=\\\"MY_PUBLIC_KEY\\\">\\n \");\n } // TODO: ensure proper shape?\n\n\n if (!window.recurly || !window.recurly.Recurly) {\n throw new Error(\"\\n Please load Recurly.js (https://js.recurly.com/v4/recurly.js) on this page prior to\\n loading your React application.\\n \");\n }\n\n var _this$props = _this.props,\n children = _this$props.children,\n options = _objectWithoutProperties(_this$props, [\"children\"]);\n\n _this._recurly = fetchRecurlyInstance(options);\n\n if (!RecurlyProvider.hasReportedInitialization && _this._recurly.report) {\n _this._recurly.ready(function () {\n _this._recurly.report('react-recurly', {\n version: _package.version\n });\n });\n\n RecurlyProvider.hasReportedInitialization = true;\n }\n\n return _this;\n }\n\n _createClass(RecurlyProvider, [{\n key: \"render\",\n value: function render() {\n return /*#__PURE__*/_react[\"default\"].createElement(Provider, {\n value: {\n recurly: this._recurly\n }\n }, this.props.children);\n }\n }]);\n\n return RecurlyProvider;\n}(_react[\"default\"].Component);\n\nexports[\"default\"] = RecurlyProvider;\n\n_defineProperty(RecurlyProvider, \"propTypes\", {\n /**\n * Your Recurly public key. See\n * [API Access](https://app.recurly.com/go/developer/api_access).\n */\n publicKey: _propTypes[\"default\"].string,\n\n /**\n * Sets a default currency\n */\n currency: _propTypes[\"default\"].string,\n\n /**\n * Adds additional field requirements for tokenization. ex: ['cvv']\n */\n required: _propTypes[\"default\"].arrayOf(_propTypes[\"default\"].string),\n\n /**\n * API request timeout in ms\n */\n timeout: _propTypes[\"default\"].number,\n\n /**\n * Fraud configuration. See the\n * [Recurly-js docs on fraud configuration](https://developers.recurly.com/reference/recurly-js/index.html#fraud)\n */\n fraud: _propTypes[\"default\"].shape({\n kount: _propTypes[\"default\"].shape({\n dataCollector: _propTypes[\"default\"].bool\n }),\n braintree: _propTypes[\"default\"].shape({\n deviceData: _propTypes[\"default\"].string\n }),\n litle: _propTypes[\"default\"].shape({\n sessionId: _propTypes[\"default\"].string\n })\n })\n});\n\n_defineProperty(RecurlyProvider, \"defaultProps\", {\n publicKey: ''\n});\n\n;\n/**\n * Retrieves a recurly instance from a cache on the Recurly class, or creates one\n * if none found on the cache key. This is used when the Provider is being\n * regularly re-instantiated\n *\n * @param {object} options instance instantiation options\n * @return {Recurly}\n */\n\nfunction fetchRecurlyInstance(options) {\n var cache = window.recurly.Recurly.__instanceCache = window.recurly.Recurly.__instanceCache || {};\n var key = JSON.stringify(options);\n var recurly = cache[key] || new window.recurly.Recurly(options);\n cache[key] = recurly;\n return recurly;\n}","var listCacheClear = require('./_listCacheClear'),\n listCacheDelete = require('./_listCacheDelete'),\n listCacheGet = require('./_listCacheGet'),\n listCacheHas = require('./_listCacheHas'),\n listCacheSet = require('./_listCacheSet');\n\n/**\n * Creates an list cache object.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction ListCache(entries) {\n var index = -1,\n length = entries == null ? 0 : entries.length;\n\n this.clear();\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\n}\n\n// Add methods to `ListCache`.\nListCache.prototype.clear = listCacheClear;\nListCache.prototype['delete'] = listCacheDelete;\nListCache.prototype.get = listCacheGet;\nListCache.prototype.has = listCacheHas;\nListCache.prototype.set = listCacheSet;\n\nmodule.exports = ListCache;\n","var eq = require('./eq');\n\n/**\n * Gets the index at which the `key` is found in `array` of key-value pairs.\n *\n * @private\n * @param {Array} array The array to inspect.\n * @param {*} key The key to search for.\n * @returns {number} Returns the index of the matched value, else `-1`.\n */\nfunction assocIndexOf(array, key) {\n var length = array.length;\n while (length--) {\n if (eq(array[length][0], key)) {\n return length;\n }\n }\n return -1;\n}\n\nmodule.exports = assocIndexOf;\n","var Symbol = require('./_Symbol'),\n getRawTag = require('./_getRawTag'),\n objectToString = require('./_objectToString');\n\n/** `Object#toString` result references. */\nvar nullTag = '[object Null]',\n undefinedTag = '[object Undefined]';\n\n/** Built-in value references. */\nvar symToStringTag = Symbol ? Symbol.toStringTag : undefined;\n\n/**\n * The base implementation of `getTag` without fallbacks for buggy environments.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the `toStringTag`.\n */\nfunction baseGetTag(value) {\n if (value == null) {\n return value === undefined ? undefinedTag : nullTag;\n }\n return (symToStringTag && symToStringTag in Object(value))\n ? getRawTag(value)\n : objectToString(value);\n}\n\nmodule.exports = baseGetTag;\n","var getNative = require('./_getNative');\n\n/* Built-in method references that are verified to be native. */\nvar nativeCreate = getNative(Object, 'create');\n\nmodule.exports = nativeCreate;\n","var isKeyable = require('./_isKeyable');\n\n/**\n * Gets the data for `map`.\n *\n * @private\n * @param {Object} map The map to query.\n * @param {string} key The reference key.\n * @returns {*} Returns the map data.\n */\nfunction getMapData(map, key) {\n var data = map.__data__;\n return isKeyable(key)\n ? data[typeof key == 'string' ? 'string' : 'hash']\n : data.map;\n}\n\nmodule.exports = getMapData;\n","var assignValue = require('./_assignValue'),\n baseAssignValue = require('./_baseAssignValue');\n\n/**\n * Copies properties of `source` to `object`.\n *\n * @private\n * @param {Object} source The object to copy properties from.\n * @param {Array} props The property identifiers to copy.\n * @param {Object} [object={}] The object to copy properties to.\n * @param {Function} [customizer] The function to customize copied values.\n * @returns {Object} Returns `object`.\n */\nfunction copyObject(source, props, object, customizer) {\n var isNew = !object;\n object || (object = {});\n\n var index = -1,\n length = props.length;\n\n while (++index < length) {\n var key = props[index];\n\n var newValue = customizer\n ? customizer(object[key], source[key], key, object, source)\n : undefined;\n\n if (newValue === undefined) {\n newValue = source[key];\n }\n if (isNew) {\n baseAssignValue(object, key, newValue);\n } else {\n assignValue(object, key, newValue);\n }\n }\n return object;\n}\n\nmodule.exports = copyObject;\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","import * as React from 'react';\n\nimport { EventHandler, EventListenerOptions, EventTypes, Target } from './types';\n\nconst isActionSupported = (\n element: Target | null | undefined,\n method: 'addEventListener' | 'removeEventListener',\n): element is Target => (element ? !!element[method] : false);\n\nexport const useEventListener = <T extends EventTypes>(options: EventListenerOptions<T>): void => {\n const { capture, listener, type, target, targetRef } = options;\n\n const latestListener = React.useRef<EventHandler<T>>(listener);\n latestListener.current = listener;\n\n const eventHandler = React.useCallback((event: DocumentEventMap[T]) => {\n return latestListener.current(event);\n }, []);\n\n if (process.env.NODE_ENV !== 'production') {\n // This is fine to violate there conditional rule as environment variables will never change during component\n // lifecycle\n // eslint-disable-next-line react-hooks/rules-of-hooks\n React.useEffect(() => {\n if (typeof target !== 'undefined' && typeof targetRef !== 'undefined') {\n throw new Error('`target` and `targetRef` props are mutually exclusive, please use one of them.');\n }\n\n if (typeof target === 'undefined' && typeof targetRef === 'undefined') {\n throw new Error(\"`target` and `targetRef` props are `undefined`, it' required to use one of them.\");\n }\n }, [target, targetRef]);\n }\n\n React.useEffect(() => {\n const element: Target | null | undefined = typeof targetRef === 'undefined' ? target : targetRef.current;\n\n // Store the current event to avoid triggering handlers immediately\n // Note this depends on a deprecated but extremely well supported quirk of the web platform\n // https://github.com/facebook/react/issues/20074\n let currentEvent = window.event;\n\n const conditionalHandler = (event: DocumentEventMap[T]) => {\n // Skip if this event is the same as the one running when we added the handlers\n if (event === currentEvent) {\n currentEvent = undefined;\n return;\n }\n\n eventHandler(event);\n };\n\n if (isActionSupported(element, 'addEventListener')) {\n element.addEventListener(type, conditionalHandler, capture);\n } else if (process.env.NODE_ENV !== 'production') {\n throw new Error(\n '@fluentui/react-component-event-listener: Passed `element` is not valid or does not support `addEventListener()` method.',\n );\n }\n\n return () => {\n if (isActionSupported(element, 'removeEventListener')) {\n element.removeEventListener(type, conditionalHandler, capture);\n } else if (process.env.NODE_ENV !== 'production') {\n throw new Error(\n '@fluentui/react-component-event-listener: Passed `element` is not valid or does not support `removeEventListener()` method.',\n );\n }\n };\n }, [capture, eventHandler, target, targetRef, type]);\n};\n","import React, {\n createContext,\n ReactNode,\n useCallback,\n useEffect,\n useMemo,\n useRef,\n useState\n} from 'react';\nimport {\n cleanGoogleRecaptcha,\n injectGoogleReCaptchaScript,\n logWarningMessage\n} from './utils';\n\nenum GoogleRecaptchaError {\n SCRIPT_NOT_AVAILABLE = 'Recaptcha script is not available'\n}\n\ninterface IGoogleReCaptchaProviderProps {\n reCaptchaKey: string;\n language?: string;\n useRecaptchaNet?: boolean;\n useEnterprise?: boolean;\n scriptProps?: {\n nonce?: string;\n defer?: boolean;\n async?: boolean;\n appendTo?: 'head' | 'body';\n id?: string;\n onLoadCallbackName?: string;\n };\n container?: {\n element?: string | HTMLElement;\n parameters: {\n badge?: 'inline' | 'bottomleft' | 'bottomright';\n theme?: 'dark' | 'light';\n tabindex?: number;\n callback?: () => void;\n expiredCallback?: () => void;\n errorCallback?: () => void;\n }\n };\n children: ReactNode;\n}\n\nexport interface IGoogleReCaptchaConsumerProps {\n executeRecaptcha?: (action?: string) => Promise<string>;\n container?: string | HTMLElement;\n}\n\nconst GoogleReCaptchaContext = createContext<IGoogleReCaptchaConsumerProps>({\n executeRecaptcha: () => {\n // This default context function is not supposed to be called\n throw Error(\n 'GoogleReCaptcha Context has not yet been implemented, if you are using useGoogleReCaptcha hook, make sure the hook is called inside component wrapped by GoogleRecaptchaProvider'\n );\n }\n});\n\nconst { Consumer: GoogleReCaptchaConsumer } = GoogleReCaptchaContext;\n\nexport function GoogleReCaptchaProvider({\n reCaptchaKey,\n useEnterprise = false,\n useRecaptchaNet = false,\n scriptProps,\n language,\n container,\n children\n}: IGoogleReCaptchaProviderProps) {\n const [greCaptchaInstance, setGreCaptchaInstance] = useState<null | {\n execute: Function;\n }>(null);\n const clientId = useRef<number | string>(reCaptchaKey);\n\n const scriptPropsJson = JSON.stringify(scriptProps);\n const parametersJson = JSON.stringify(container?.parameters);\n\n useEffect(() => {\n if (!reCaptchaKey) {\n logWarningMessage(\n '<GoogleReCaptchaProvider /> recaptcha key not provided'\n );\n\n return;\n }\n\n const scriptId = scriptProps?.id || 'google-recaptcha-v3';\n const onLoadCallbackName = scriptProps?.onLoadCallbackName || 'onRecaptchaLoadCallback';\n\n ((window as unknown) as {[key: string]: () => void})[onLoadCallbackName] = () => {\n /* eslint-disable @typescript-eslint/no-explicit-any */\n const grecaptcha = useEnterprise\n ? (window as any).grecaptcha.enterprise\n : (window as any).grecaptcha;\n\n const params = {\n badge: 'inline',\n size: 'invisible',\n sitekey: reCaptchaKey,\n ...(container?.parameters || {})\n };\n clientId.current = grecaptcha.render(container?.element, params);\n };\n\n const onLoad = () => {\n if (!window || !(window as any).grecaptcha) {\n logWarningMessage(\n `<GoogleRecaptchaProvider /> ${GoogleRecaptchaError.SCRIPT_NOT_AVAILABLE}`\n );\n\n return;\n }\n\n const grecaptcha = useEnterprise\n ? (window as any).grecaptcha.enterprise\n : (window as any).grecaptcha;\n\n grecaptcha.ready(() => {\n setGreCaptchaInstance(grecaptcha);\n });\n };\n\n const onError = () => {\n logWarningMessage('Error loading google recaptcha script');\n };\n\n injectGoogleReCaptchaScript({\n render: container?.element ? 'explicit' : reCaptchaKey,\n onLoadCallbackName,\n useEnterprise,\n useRecaptchaNet,\n scriptProps,\n language,\n onLoad,\n onError\n });\n\n return () => {\n cleanGoogleRecaptcha(scriptId, container?.element);\n };\n }, [\n useEnterprise,\n useRecaptchaNet,\n scriptPropsJson,\n parametersJson,\n language,\n reCaptchaKey,\n container?.element,\n ]);\n\n const executeRecaptcha = useCallback(\n (action?: string) => {\n if (!greCaptchaInstance || !greCaptchaInstance.execute) {\n throw new Error(\n '<GoogleReCaptchaProvider /> Google Recaptcha has not been loaded'\n );\n }\n\n return greCaptchaInstance.execute(clientId.current, { action });\n },\n [greCaptchaInstance, clientId]\n );\n\n const googleReCaptchaContextValue = useMemo(\n () => ({\n executeRecaptcha: greCaptchaInstance ? executeRecaptcha : undefined,\n container: container?.element,\n }),\n [executeRecaptcha, greCaptchaInstance, container?.element]\n );\n\n return (\n <GoogleReCaptchaContext.Provider value={googleReCaptchaContextValue}>\n {children}\n </GoogleReCaptchaContext.Provider>\n );\n}\n\nexport { GoogleReCaptchaConsumer, GoogleReCaptchaContext };\n","import { useContext } from 'react';\nimport { GoogleReCaptchaContext } from './google-recaptcha-provider';\n\nexport const useGoogleReCaptcha = () => useContext(GoogleReCaptchaContext);\n","import React, { useEffect } from 'react';\nimport { useGoogleReCaptcha } from './use-google-recaptcha';\nimport { logWarningMessage } from './utils';\n\nexport interface IGoogleRecaptchaProps {\n onVerify: (token: string) => void | Promise<void>;\n action?: string;\n refreshReCaptcha?: boolean | string | number | null;\n}\n\nexport function GoogleReCaptcha({\n action,\n onVerify,\n refreshReCaptcha,\n}: IGoogleRecaptchaProps) {\n const googleRecaptchaContextValue = useGoogleReCaptcha();\n\n useEffect(() => {\n const { executeRecaptcha } = googleRecaptchaContextValue;\n\n if (!executeRecaptcha) {\n return;\n }\n\n const handleExecuteRecaptcha = async () => {\n const token = await executeRecaptcha(action);\n\n if (!onVerify) {\n logWarningMessage('Please define an onVerify function');\n\n return;\n }\n\n onVerify(token);\n };\n\n handleExecuteRecaptcha();\n }, [action, onVerify, refreshReCaptcha, googleRecaptchaContextValue]);\n\n const { container } = googleRecaptchaContextValue;\n\n if (typeof container === 'string') {\n return <div id={container} />;\n }\n\n return null;\n}\n","/** @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","/** @license React v16.13.1\n * react-is.development.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';\n\n\n\nif (process.env.NODE_ENV !== \"production\") {\n (function() {\n'use strict';\n\n// The Symbol used to tag the ReactElement-like types. If there is no native Symbol\n// nor polyfill, then a plain number is used for performance.\nvar hasSymbol = typeof Symbol === 'function' && Symbol.for;\nvar REACT_ELEMENT_TYPE = hasSymbol ? Symbol.for('react.element') : 0xeac7;\nvar REACT_PORTAL_TYPE = hasSymbol ? Symbol.for('react.portal') : 0xeaca;\nvar REACT_FRAGMENT_TYPE = hasSymbol ? Symbol.for('react.fragment') : 0xeacb;\nvar REACT_STRICT_MODE_TYPE = hasSymbol ? Symbol.for('react.strict_mode') : 0xeacc;\nvar REACT_PROFILER_TYPE = hasSymbol ? Symbol.for('react.profiler') : 0xead2;\nvar REACT_PROVIDER_TYPE = hasSymbol ? Symbol.for('react.provider') : 0xeacd;\nvar REACT_CONTEXT_TYPE = hasSymbol ? Symbol.for('react.context') : 0xeace; // TODO: We don't use AsyncMode or ConcurrentMode anymore. They were temporary\n// (unstable) APIs that have been removed. Can we remove the symbols?\n\nvar REACT_ASYNC_MODE_TYPE = hasSymbol ? Symbol.for('react.async_mode') : 0xeacf;\nvar REACT_CONCURRENT_MODE_TYPE = hasSymbol ? Symbol.for('react.concurrent_mode') : 0xeacf;\nvar REACT_FORWARD_REF_TYPE = hasSymbol ? Symbol.for('react.forward_ref') : 0xead0;\nvar REACT_SUSPENSE_TYPE = hasSymbol ? Symbol.for('react.suspense') : 0xead1;\nvar REACT_SUSPENSE_LIST_TYPE = hasSymbol ? Symbol.for('react.suspense_list') : 0xead8;\nvar REACT_MEMO_TYPE = hasSymbol ? Symbol.for('react.memo') : 0xead3;\nvar REACT_LAZY_TYPE = hasSymbol ? Symbol.for('react.lazy') : 0xead4;\nvar REACT_BLOCK_TYPE = hasSymbol ? Symbol.for('react.block') : 0xead9;\nvar REACT_FUNDAMENTAL_TYPE = hasSymbol ? Symbol.for('react.fundamental') : 0xead5;\nvar REACT_RESPONDER_TYPE = hasSymbol ? Symbol.for('react.responder') : 0xead6;\nvar REACT_SCOPE_TYPE = hasSymbol ? Symbol.for('react.scope') : 0xead7;\n\nfunction isValidElementType(type) {\n return typeof type === 'string' || typeof type === 'function' || // Note: its typeof might be other than 'symbol' or 'number' if it's a polyfill.\n type === REACT_FRAGMENT_TYPE || type === REACT_CONCURRENT_MODE_TYPE || type === REACT_PROFILER_TYPE || type === REACT_STRICT_MODE_TYPE || type === REACT_SUSPENSE_TYPE || type === REACT_SUSPENSE_LIST_TYPE || typeof type === 'object' && type !== null && (type.$$typeof === REACT_LAZY_TYPE || type.$$typeof === REACT_MEMO_TYPE || type.$$typeof === REACT_PROVIDER_TYPE || type.$$typeof === REACT_CONTEXT_TYPE || type.$$typeof === REACT_FORWARD_REF_TYPE || type.$$typeof === REACT_FUNDAMENTAL_TYPE || type.$$typeof === REACT_RESPONDER_TYPE || type.$$typeof === REACT_SCOPE_TYPE || type.$$typeof === REACT_BLOCK_TYPE);\n}\n\nfunction typeOf(object) {\n if (typeof object === 'object' && object !== null) {\n var $$typeof = object.$$typeof;\n\n switch ($$typeof) {\n case REACT_ELEMENT_TYPE:\n var type = object.type;\n\n switch (type) {\n case REACT_ASYNC_MODE_TYPE:\n case REACT_CONCURRENT_MODE_TYPE:\n case REACT_FRAGMENT_TYPE:\n case REACT_PROFILER_TYPE:\n case REACT_STRICT_MODE_TYPE:\n case REACT_SUSPENSE_TYPE:\n return type;\n\n default:\n var $$typeofType = type && type.$$typeof;\n\n switch ($$typeofType) {\n case REACT_CONTEXT_TYPE:\n case REACT_FORWARD_REF_TYPE:\n case REACT_LAZY_TYPE:\n case REACT_MEMO_TYPE:\n case REACT_PROVIDER_TYPE:\n return $$typeofType;\n\n default:\n return $$typeof;\n }\n\n }\n\n case REACT_PORTAL_TYPE:\n return $$typeof;\n }\n }\n\n return undefined;\n} // AsyncMode is deprecated along with isAsyncMode\n\nvar AsyncMode = REACT_ASYNC_MODE_TYPE;\nvar ConcurrentMode = REACT_CONCURRENT_MODE_TYPE;\nvar ContextConsumer = REACT_CONTEXT_TYPE;\nvar ContextProvider = REACT_PROVIDER_TYPE;\nvar Element = REACT_ELEMENT_TYPE;\nvar ForwardRef = REACT_FORWARD_REF_TYPE;\nvar Fragment = REACT_FRAGMENT_TYPE;\nvar Lazy = REACT_LAZY_TYPE;\nvar Memo = REACT_MEMO_TYPE;\nvar Portal = REACT_PORTAL_TYPE;\nvar Profiler = REACT_PROFILER_TYPE;\nvar StrictMode = REACT_STRICT_MODE_TYPE;\nvar Suspense = REACT_SUSPENSE_TYPE;\nvar hasWarnedAboutDeprecatedIsAsyncMode = false; // AsyncMode should be deprecated\n\nfunction isAsyncMode(object) {\n {\n if (!hasWarnedAboutDeprecatedIsAsyncMode) {\n hasWarnedAboutDeprecatedIsAsyncMode = true; // Using console['warn'] to evade Babel and ESLint\n\n console['warn']('The ReactIs.isAsyncMode() alias has been deprecated, ' + 'and will be removed in React 17+. Update your code to use ' + 'ReactIs.isConcurrentMode() instead. It has the exact same API.');\n }\n }\n\n return isConcurrentMode(object) || typeOf(object) === REACT_ASYNC_MODE_TYPE;\n}\nfunction isConcurrentMode(object) {\n return typeOf(object) === REACT_CONCURRENT_MODE_TYPE;\n}\nfunction isContextConsumer(object) {\n return typeOf(object) === REACT_CONTEXT_TYPE;\n}\nfunction isContextProvider(object) {\n return typeOf(object) === REACT_PROVIDER_TYPE;\n}\nfunction isElement(object) {\n return typeof object === 'object' && object !== null && object.$$typeof === REACT_ELEMENT_TYPE;\n}\nfunction isForwardRef(object) {\n return typeOf(object) === REACT_FORWARD_REF_TYPE;\n}\nfunction isFragment(object) {\n return typeOf(object) === REACT_FRAGMENT_TYPE;\n}\nfunction isLazy(object) {\n return typeOf(object) === REACT_LAZY_TYPE;\n}\nfunction isMemo(object) {\n return typeOf(object) === REACT_MEMO_TYPE;\n}\nfunction isPortal(object) {\n return typeOf(object) === REACT_PORTAL_TYPE;\n}\nfunction isProfiler(object) {\n return typeOf(object) === REACT_PROFILER_TYPE;\n}\nfunction isStrictMode(object) {\n return typeOf(object) === REACT_STRICT_MODE_TYPE;\n}\nfunction isSuspense(object) {\n return typeOf(object) === REACT_SUSPENSE_TYPE;\n}\n\nexports.AsyncMode = AsyncMode;\nexports.ConcurrentMode = ConcurrentMode;\nexports.ContextConsumer = ContextConsumer;\nexports.ContextProvider = ContextProvider;\nexports.Element = Element;\nexports.ForwardRef = ForwardRef;\nexports.Fragment = Fragment;\nexports.Lazy = Lazy;\nexports.Memo = Memo;\nexports.Portal = Portal;\nexports.Profiler = Profiler;\nexports.StrictMode = StrictMode;\nexports.Suspense = Suspense;\nexports.isAsyncMode = isAsyncMode;\nexports.isConcurrentMode = isConcurrentMode;\nexports.isContextConsumer = isContextConsumer;\nexports.isContextProvider = isContextProvider;\nexports.isElement = isElement;\nexports.isForwardRef = isForwardRef;\nexports.isFragment = isFragment;\nexports.isLazy = isLazy;\nexports.isMemo = isMemo;\nexports.isPortal = isPortal;\nexports.isProfiler = isProfiler;\nexports.isStrictMode = isStrictMode;\nexports.isSuspense = isSuspense;\nexports.isValidElementType = isValidElementType;\nexports.typeOf = typeOf;\n })();\n}\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","'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 * A specialized version of `_.forEach` for arrays without support for\n * iteratee shorthands.\n *\n * @private\n * @param {Array} [array] The array to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Array} Returns `array`.\n */\nfunction arrayEach(array, iteratee) {\n var index = -1,\n length = array == null ? 0 : array.length;\n\n while (++index < length) {\n if (iteratee(array[index], index, array) === false) {\n break;\n }\n }\n return array;\n}\n\nexport default arrayEach;\n","/** Detect free variable `global` from Node.js. */\nvar freeGlobal = typeof global == 'object' && global && global.Object === Object && global;\n\nexport default freeGlobal;\n","/**\n * Creates a unary function that invokes `func` with its argument transformed.\n *\n * @private\n * @param {Function} func The function to wrap.\n * @param {Function} transform The argument transform.\n * @returns {Function} Returns the new function.\n */\nfunction overArg(func, transform) {\n return function(arg) {\n return func(transform(arg));\n };\n}\n\nexport default overArg;\n","import toFinite from './toFinite.js';\n\n/**\n * Converts `value` to an integer.\n *\n * **Note:** This method is loosely based on\n * [`ToInteger`](http://www.ecma-international.org/ecma-262/7.0/#sec-tointeger).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to convert.\n * @returns {number} Returns the converted integer.\n * @example\n *\n * _.toInteger(3.2);\n * // => 3\n *\n * _.toInteger(Number.MIN_VALUE);\n * // => 0\n *\n * _.toInteger(Infinity);\n * // => 1.7976931348623157e+308\n *\n * _.toInteger('3.2');\n * // => 3\n */\nfunction toInteger(value) {\n var result = toFinite(value),\n remainder = result % 1;\n\n return result === result ? (remainder ? result - remainder : result) : 0;\n}\n\nexport default toInteger;\n","/**\n * The base implementation of `_.findIndex` and `_.findLastIndex` without\n * support for iteratee shorthands.\n *\n * @private\n * @param {Array} array The array to inspect.\n * @param {Function} predicate The function invoked per iteration.\n * @param {number} fromIndex The index to search from.\n * @param {boolean} [fromRight] Specify iterating from right to left.\n * @returns {number} Returns the index of the matched value, else `-1`.\n */\nfunction baseFindIndex(array, predicate, fromIndex, fromRight) {\n var length = array.length,\n index = fromIndex + (fromRight ? 1 : -1);\n\n while ((fromRight ? index-- : ++index < length)) {\n if (predicate(array[index], index, array)) {\n return index;\n }\n }\n return -1;\n}\n\nexport default baseFindIndex;\n","/**\n * A specialized version of `_.some` for arrays without support for iteratee\n * shorthands.\n *\n * @private\n * @param {Array} [array] The array to iterate over.\n * @param {Function} predicate The function invoked per iteration.\n * @returns {boolean} Returns `true` if any element passes the predicate check,\n * else `false`.\n */\nfunction arraySome(array, predicate) {\n var index = -1,\n length = array == null ? 0 : array.length;\n\n while (++index < length) {\n if (predicate(array[index], index, array)) {\n return true;\n }\n }\n return false;\n}\n\nexport default arraySome;\n","import eq from './eq.js';\nimport isArrayLike from './isArrayLike.js';\nimport isIndex from './_isIndex.js';\nimport isObject from './isObject.js';\n\n/**\n * Checks if the given arguments are from an iteratee call.\n *\n * @private\n * @param {*} value The potential iteratee value argument.\n * @param {*} index The potential iteratee index or key argument.\n * @param {*} object The potential iteratee object argument.\n * @returns {boolean} Returns `true` if the arguments are from an iteratee call,\n * else `false`.\n */\nfunction isIterateeCall(value, index, object) {\n if (!isObject(object)) {\n return false;\n }\n var type = typeof index;\n if (type == 'number'\n ? (isArrayLike(object) && isIndex(index, object.length))\n : (type == 'string' && index in object)\n ) {\n return eq(object[index], value);\n }\n return false;\n}\n\nexport default isIterateeCall;\n","import castPath from './_castPath.js';\nimport isArguments from './isArguments.js';\nimport isArray from './isArray.js';\nimport isIndex from './_isIndex.js';\nimport isLength from './isLength.js';\nimport toKey from './_toKey.js';\n\n/**\n * Checks if `path` exists on `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {Array|string} path The path to check.\n * @param {Function} hasFunc The function to check properties.\n * @returns {boolean} Returns `true` if `path` exists, else `false`.\n */\nfunction hasPath(object, path, hasFunc) {\n path = castPath(path, object);\n\n var index = -1,\n length = path.length,\n result = false;\n\n while (++index < length) {\n var key = toKey(path[index]);\n if (!(result = object != null && hasFunc(object, key))) {\n break;\n }\n object = object[key];\n }\n if (result || ++index != length) {\n return result;\n }\n length = object == null ? 0 : object.length;\n return !!length && isLength(length) && isIndex(key, length) &&\n (isArray(object) || isArguments(object));\n}\n\nexport default hasPath;\n","/**\n * Checks if a `cache` value for `key` exists.\n *\n * @private\n * @param {Object} cache The cache to query.\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction cacheHas(cache, key) {\n return cache.has(key);\n}\n\nexport default cacheHas;\n","/**\n * Converts `map` to its key-value pairs.\n *\n * @private\n * @param {Object} map The map to convert.\n * @returns {Array} Returns the key-value pairs.\n */\nfunction mapToArray(map) {\n var index = -1,\n result = Array(map.size);\n\n map.forEach(function(value, key) {\n result[++index] = [key, value];\n });\n return result;\n}\n\nexport default mapToArray;\n","import arrayPush from './_arrayPush.js';\nimport isArray from './isArray.js';\n\n/**\n * The base implementation of `getAllKeys` and `getAllKeysIn` which uses\n * `keysFunc` and `symbolsFunc` to get the enumerable property names and\n * symbols of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {Function} keysFunc The function to get the keys of `object`.\n * @param {Function} symbolsFunc The function to get the symbols of `object`.\n * @returns {Array} Returns the array of property names and symbols.\n */\nfunction baseGetAllKeys(object, keysFunc, symbolsFunc) {\n var result = keysFunc(object);\n return isArray(object) ? result : arrayPush(result, symbolsFunc(object));\n}\n\nexport default baseGetAllKeys;\n","/**\n * Appends the elements of `values` to `array`.\n *\n * @private\n * @param {Array} array The array to modify.\n * @param {Array} values The values to append.\n * @returns {Array} Returns `array`.\n */\nfunction arrayPush(array, values) {\n var index = -1,\n length = values.length,\n offset = array.length;\n\n while (++index < length) {\n array[offset + index] = values[index];\n }\n return array;\n}\n\nexport default arrayPush;\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\nexport default stubArray;\n","/**\n * A specialized version of `_.filter` for arrays without support for\n * iteratee shorthands.\n *\n * @private\n * @param {Array} [array] The array to iterate over.\n * @param {Function} predicate The function invoked per iteration.\n * @returns {Array} Returns the new filtered array.\n */\nfunction arrayFilter(array, predicate) {\n var index = -1,\n length = array == null ? 0 : array.length,\n resIndex = 0,\n result = [];\n\n while (++index < length) {\n var value = array[index];\n if (predicate(value, index, array)) {\n result[resIndex++] = value;\n }\n }\n return result;\n}\n\nexport default arrayFilter;\n","export default function _setPrototypeOf(o, p) {\n _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) {\n o.__proto__ = p;\n return o;\n };\n\n return _setPrototypeOf(o, p);\n}","/**\n * The base implementation of `_.slice` without an iteratee call guard.\n *\n * @private\n * @param {Array} array The array to slice.\n * @param {number} [start=0] The start position.\n * @param {number} [end=array.length] The end position.\n * @returns {Array} Returns the slice of `array`.\n */\nfunction baseSlice(array, start, end) {\n var index = -1,\n length = array.length;\n\n if (start < 0) {\n start = -start > length ? 0 : (length + start);\n }\n end = end > length ? length : end;\n if (end < 0) {\n end += length;\n }\n length = start > end ? 0 : ((end - start) >>> 0);\n start >>>= 0;\n\n var result = Array(length);\n while (++index < length) {\n result[index] = array[index + start];\n }\n return result;\n}\n\nexport default baseSlice;\n","/**\n * Checks if `value` is `undefined`.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is `undefined`, else `false`.\n * @example\n *\n * _.isUndefined(void 0);\n * // => true\n *\n * _.isUndefined(null);\n * // => false\n */\nfunction isUndefined(value) {\n return value === undefined;\n}\n\nexport default isUndefined;\n","/** Used to compose unicode character classes. */\nvar rsAstralRange = '\\\\ud800-\\\\udfff',\n rsComboMarksRange = '\\\\u0300-\\\\u036f',\n reComboHalfMarksRange = '\\\\ufe20-\\\\ufe2f',\n rsComboSymbolsRange = '\\\\u20d0-\\\\u20ff',\n rsComboRange = rsComboMarksRange + reComboHalfMarksRange + rsComboSymbolsRange,\n rsVarRange = '\\\\ufe0e\\\\ufe0f';\n\n/** Used to compose unicode capture groups. */\nvar rsZWJ = '\\\\u200d';\n\n/** Used to detect strings with [zero-width joiners or code points from the astral planes](http://eev.ee/blog/2015/09/12/dark-corners-of-unicode/). */\nvar reHasUnicode = RegExp('[' + rsZWJ + rsAstralRange + rsComboRange + rsVarRange + ']');\n\n/**\n * Checks if `string` contains Unicode symbols.\n *\n * @private\n * @param {string} string The string to inspect.\n * @returns {boolean} Returns `true` if a symbol is found, else `false`.\n */\nfunction hasUnicode(string) {\n return reHasUnicode.test(string);\n}\n\nexport default hasUnicode;\n","/**\n * The base implementation of `_.isNaN` without support for number objects.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is `NaN`, else `false`.\n */\nfunction baseIsNaN(value) {\n return value !== value;\n}\n\nexport default baseIsNaN;\n","/**\n * A specialized version of `_.indexOf` which performs strict equality\n * comparisons of values, i.e. `===`.\n *\n * @private\n * @param {Array} array The array to inspect.\n * @param {*} value The value to search for.\n * @param {number} fromIndex The index to search from.\n * @returns {number} Returns the index of the matched value, else `-1`.\n */\nfunction strictIndexOf(array, value, fromIndex) {\n var index = fromIndex - 1,\n length = array.length;\n\n while (++index < length) {\n if (array[index] === value) {\n return index;\n }\n }\n return -1;\n}\n\nexport default strictIndexOf;\n","import baseFindIndex from './_baseFindIndex.js';\nimport baseIsNaN from './_baseIsNaN.js';\nimport strictIndexOf from './_strictIndexOf.js';\n\n/**\n * The base implementation of `_.indexOf` without `fromIndex` bounds checks.\n *\n * @private\n * @param {Array} array The array to inspect.\n * @param {*} value The value to search for.\n * @param {number} fromIndex The index to search from.\n * @returns {number} Returns the index of the matched value, else `-1`.\n */\nfunction baseIndexOf(array, value, fromIndex) {\n return value === value\n ? strictIndexOf(array, value, fromIndex)\n : baseFindIndex(array, baseIsNaN, fromIndex);\n}\n\nexport default baseIndexOf;\n","import MapCache from './_MapCache.js';\n\n/** Error message constants. */\nvar FUNC_ERROR_TEXT = 'Expected a function';\n\n/**\n * Creates a function that memoizes the result of `func`. If `resolver` is\n * provided, it determines the cache key for storing the result based on the\n * arguments provided to the memoized function. By default, the first argument\n * provided to the memoized function is used as the map cache key. The `func`\n * is invoked with the `this` binding of the memoized function.\n *\n * **Note:** The cache is exposed as the `cache` property on the memoized\n * function. Its creation may be customized by replacing the `_.memoize.Cache`\n * constructor with one whose instances implement the\n * [`Map`](http://ecma-international.org/ecma-262/7.0/#sec-properties-of-the-map-prototype-object)\n * method interface of `clear`, `delete`, `get`, `has`, and `set`.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Function\n * @param {Function} func The function to have its output memoized.\n * @param {Function} [resolver] The function to resolve the cache key.\n * @returns {Function} Returns the new memoized function.\n * @example\n *\n * var object = { 'a': 1, 'b': 2 };\n * var other = { 'c': 3, 'd': 4 };\n *\n * var values = _.memoize(_.values);\n * values(object);\n * // => [1, 2]\n *\n * values(other);\n * // => [3, 4]\n *\n * object.a = 2;\n * values(object);\n * // => [1, 2]\n *\n * // Modify the result cache.\n * values.cache.set(object, ['a', 'b']);\n * values(object);\n * // => ['a', 'b']\n *\n * // Replace `_.memoize.Cache`.\n * _.memoize.Cache = WeakMap;\n */\nfunction memoize(func, resolver) {\n if (typeof func != 'function' || (resolver != null && typeof resolver != 'function')) {\n throw new TypeError(FUNC_ERROR_TEXT);\n }\n var memoized = function() {\n var args = arguments,\n key = resolver ? resolver.apply(this, args) : args[0],\n cache = memoized.cache;\n\n if (cache.has(key)) {\n return cache.get(key);\n }\n var result = func.apply(this, args);\n memoized.cache = cache.set(key, result) || cache;\n return result;\n };\n memoized.cache = new (memoize.Cache || MapCache);\n return memoized;\n}\n\n// Expose `MapCache`.\nmemoize.Cache = MapCache;\n\nexport default memoize;\n","import memoize from './memoize.js';\n\n/** Used as the maximum memoize cache size. */\nvar MAX_MEMOIZE_SIZE = 500;\n\n/**\n * A specialized version of `_.memoize` which clears the memoized function's\n * cache when it exceeds `MAX_MEMOIZE_SIZE`.\n *\n * @private\n * @param {Function} func The function to have its output memoized.\n * @returns {Function} Returns the new memoized function.\n */\nfunction memoizeCapped(func) {\n var result = memoize(func, function(key) {\n if (cache.size === MAX_MEMOIZE_SIZE) {\n cache.clear();\n }\n return key;\n });\n\n var cache = result.cache;\n return result;\n}\n\nexport default memoizeCapped;\n","import memoizeCapped from './_memoizeCapped.js';\n\n/** Used to match property names within property paths. */\nvar rePropName = /[^.[\\]]+|\\[(?:(-?\\d+(?:\\.\\d+)?)|([\"'])((?:(?!\\2)[^\\\\]|\\\\.)*?)\\2)\\]|(?=(?:\\.|\\[\\])(?:\\.|\\[\\]|$))/g;\n\n/** Used to match backslashes in property paths. */\nvar reEscapeChar = /\\\\(\\\\)?/g;\n\n/**\n * Converts `string` to a property path array.\n *\n * @private\n * @param {string} string The string to convert.\n * @returns {Array} Returns the property path array.\n */\nvar stringToPath = memoizeCapped(function(string) {\n var result = [];\n if (string.charCodeAt(0) === 46 /* . */) {\n result.push('');\n }\n string.replace(rePropName, function(match, number, quote, subString) {\n result.push(quote ? subString.replace(reEscapeChar, '$1') : (number || match));\n });\n return result;\n});\n\nexport default stringToPath;\n","import baseSlice from './_baseSlice.js';\n\n/**\n * Casts `array` to a slice if it's needed.\n *\n * @private\n * @param {Array} array The array to inspect.\n * @param {number} start The start position.\n * @param {number} [end=array.length] The end position.\n * @returns {Array} Returns the cast slice.\n */\nfunction castSlice(array, start, end) {\n var length = array.length;\n end = end === undefined ? length : end;\n return (!start && end >= length) ? array : baseSlice(array, start, end);\n}\n\nexport default castSlice;\n","import castSlice from './_castSlice.js';\nimport hasUnicode from './_hasUnicode.js';\nimport stringToArray from './_stringToArray.js';\nimport toString from './toString.js';\n\n/**\n * Creates a function like `_.lowerFirst`.\n *\n * @private\n * @param {string} methodName The name of the `String` case method to use.\n * @returns {Function} Returns the new case function.\n */\nfunction createCaseFirst(methodName) {\n return function(string) {\n string = toString(string);\n\n var strSymbols = hasUnicode(string)\n ? stringToArray(string)\n : undefined;\n\n var chr = strSymbols\n ? strSymbols[0]\n : string.charAt(0);\n\n var trailing = strSymbols\n ? castSlice(strSymbols, 1).join('')\n : string.slice(1);\n\n return chr[methodName]() + trailing;\n };\n}\n\nexport default createCaseFirst;\n","import createCaseFirst from './_createCaseFirst.js';\n\n/**\n * Converts the first character of `string` to upper case.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category String\n * @param {string} [string=''] The string to convert.\n * @returns {string} Returns the converted string.\n * @example\n *\n * _.upperFirst('fred');\n * // => 'Fred'\n *\n * _.upperFirst('FRED');\n * // => 'FRED'\n */\nvar upperFirst = createCaseFirst('toUpperCase');\n\nexport default upperFirst;\n","/** Used to match a single whitespace character. */\nvar reWhitespace = /\\s/;\n\n/**\n * Used by `_.trim` and `_.trimEnd` to get the index of the last non-whitespace\n * character of `string`.\n *\n * @private\n * @param {string} string The string to inspect.\n * @returns {number} Returns the index of the last non-whitespace character.\n */\nfunction trimmedEndIndex(string) {\n var index = string.length;\n\n while (index-- && reWhitespace.test(string.charAt(index))) {}\n return index;\n}\n\nexport default trimmedEndIndex;\n","import trimmedEndIndex from './_trimmedEndIndex.js';\n\n/** Used to match leading whitespace. */\nvar reTrimStart = /^\\s+/;\n\n/**\n * The base implementation of `_.trim`.\n *\n * @private\n * @param {string} string The string to trim.\n * @returns {string} Returns the trimmed string.\n */\nfunction baseTrim(string) {\n return string\n ? string.slice(0, trimmedEndIndex(string) + 1).replace(reTrimStart, '')\n : string;\n}\n\nexport default baseTrim;\n","import baseTrim from './_baseTrim.js';\nimport isObject from './isObject.js';\nimport isSymbol from './isSymbol.js';\n\n/** Used as references for various `Number` constants. */\nvar NAN = 0 / 0;\n\n/** Used to detect bad signed hexadecimal string values. */\nvar reIsBadHex = /^[-+]0x[0-9a-f]+$/i;\n\n/** Used to detect binary string values. */\nvar reIsBinary = /^0b[01]+$/i;\n\n/** Used to detect octal string values. */\nvar reIsOctal = /^0o[0-7]+$/i;\n\n/** Built-in method references without a dependency on `root`. */\nvar freeParseInt = parseInt;\n\n/**\n * Converts `value` to a number.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to process.\n * @returns {number} Returns the number.\n * @example\n *\n * _.toNumber(3.2);\n * // => 3.2\n *\n * _.toNumber(Number.MIN_VALUE);\n * // => 5e-324\n *\n * _.toNumber(Infinity);\n * // => Infinity\n *\n * _.toNumber('3.2');\n * // => 3.2\n */\nfunction toNumber(value) {\n if (typeof value == 'number') {\n return value;\n }\n if (isSymbol(value)) {\n return NAN;\n }\n if (isObject(value)) {\n var other = typeof value.valueOf == 'function' ? value.valueOf() : value;\n value = isObject(other) ? (other + '') : other;\n }\n if (typeof value != 'string') {\n return value === 0 ? value : +value;\n }\n value = baseTrim(value);\n var isBinary = reIsBinary.test(value);\n return (isBinary || reIsOctal.test(value))\n ? freeParseInt(value.slice(2), isBinary ? 2 : 8)\n : (reIsBadHex.test(value) ? NAN : +value);\n}\n\nexport default toNumber;\n","/** Used to stand-in for `undefined` hash values. */\nvar HASH_UNDEFINED = '__lodash_hash_undefined__';\n\n/**\n * Adds `value` to the array cache.\n *\n * @private\n * @name add\n * @memberOf SetCache\n * @alias push\n * @param {*} value The value to cache.\n * @returns {Object} Returns the cache instance.\n */\nfunction setCacheAdd(value) {\n this.__data__.set(value, HASH_UNDEFINED);\n return this;\n}\n\nexport default setCacheAdd;\n","/**\n * Checks if `value` is in the array cache.\n *\n * @private\n * @name has\n * @memberOf SetCache\n * @param {*} value The value to search for.\n * @returns {number} Returns `true` if `value` is found, else `false`.\n */\nfunction setCacheHas(value) {\n return this.__data__.has(value);\n}\n\nexport default setCacheHas;\n","import MapCache from './_MapCache.js';\nimport setCacheAdd from './_setCacheAdd.js';\nimport setCacheHas from './_setCacheHas.js';\n\n/**\n *\n * Creates an array cache object to store unique values.\n *\n * @private\n * @constructor\n * @param {Array} [values] The values to cache.\n */\nfunction SetCache(values) {\n var index = -1,\n length = values == null ? 0 : values.length;\n\n this.__data__ = new MapCache;\n while (++index < length) {\n this.add(values[index]);\n }\n}\n\n// Add methods to `SetCache`.\nSetCache.prototype.add = SetCache.prototype.push = setCacheAdd;\nSetCache.prototype.has = setCacheHas;\n\nexport default SetCache;\n","/**\n * Converts an ASCII `string` to an array.\n *\n * @private\n * @param {string} string The string to convert.\n * @returns {Array} Returns the converted array.\n */\nfunction asciiToArray(string) {\n return string.split('');\n}\n\nexport default asciiToArray;\n","/** Used to compose unicode character classes. */\nvar rsAstralRange = '\\\\ud800-\\\\udfff',\n rsComboMarksRange = '\\\\u0300-\\\\u036f',\n reComboHalfMarksRange = '\\\\ufe20-\\\\ufe2f',\n rsComboSymbolsRange = '\\\\u20d0-\\\\u20ff',\n rsComboRange = rsComboMarksRange + reComboHalfMarksRange + rsComboSymbolsRange,\n rsVarRange = '\\\\ufe0e\\\\ufe0f';\n\n/** Used to compose unicode capture groups. */\nvar rsAstral = '[' + rsAstralRange + ']',\n rsCombo = '[' + rsComboRange + ']',\n rsFitz = '\\\\ud83c[\\\\udffb-\\\\udfff]',\n rsModifier = '(?:' + rsCombo + '|' + rsFitz + ')',\n rsNonAstral = '[^' + rsAstralRange + ']',\n rsRegional = '(?:\\\\ud83c[\\\\udde6-\\\\uddff]){2}',\n rsSurrPair = '[\\\\ud800-\\\\udbff][\\\\udc00-\\\\udfff]',\n rsZWJ = '\\\\u200d';\n\n/** Used to compose unicode regexes. */\nvar reOptMod = rsModifier + '?',\n rsOptVar = '[' + rsVarRange + ']?',\n rsOptJoin = '(?:' + rsZWJ + '(?:' + [rsNonAstral, rsRegional, rsSurrPair].join('|') + ')' + rsOptVar + reOptMod + ')*',\n rsSeq = rsOptVar + reOptMod + rsOptJoin,\n rsSymbol = '(?:' + [rsNonAstral + rsCombo + '?', rsCombo, rsRegional, rsSurrPair, rsAstral].join('|') + ')';\n\n/** Used to match [string symbols](https://mathiasbynens.be/notes/javascript-unicode). */\nvar reUnicode = RegExp(rsFitz + '(?=' + rsFitz + ')|' + rsSymbol + rsSeq, 'g');\n\n/**\n * Converts a Unicode `string` to an array.\n *\n * @private\n * @param {string} string The string to convert.\n * @returns {Array} Returns the converted array.\n */\nfunction unicodeToArray(string) {\n return string.match(reUnicode) || [];\n}\n\nexport default unicodeToArray;\n","import asciiToArray from './_asciiToArray.js';\nimport hasUnicode from './_hasUnicode.js';\nimport unicodeToArray from './_unicodeToArray.js';\n\n/**\n * Converts `string` to an array.\n *\n * @private\n * @param {string} string The string to convert.\n * @returns {Array} Returns the converted array.\n */\nfunction stringToArray(string) {\n return hasUnicode(string)\n ? unicodeToArray(string)\n : asciiToArray(string);\n}\n\nexport default stringToArray;\n","/**\n * The base implementation of `_.times` without support for iteratee shorthands\n * or max array length checks.\n *\n * @private\n * @param {number} n The number of times to invoke `iteratee`.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Array} Returns the array of results.\n */\nfunction baseTimes(n, iteratee) {\n var index = -1,\n result = Array(n);\n\n while (++index < n) {\n result[index] = iteratee(index);\n }\n return result;\n}\n\nexport default baseTimes;\n","import baseTimes from './_baseTimes.js';\nimport isArguments from './isArguments.js';\nimport isArray from './isArray.js';\nimport isBuffer from './isBuffer.js';\nimport isIndex from './_isIndex.js';\nimport isTypedArray from './isTypedArray.js';\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Creates an array of the enumerable property names of the array-like `value`.\n *\n * @private\n * @param {*} value The value to query.\n * @param {boolean} inherited Specify returning inherited property names.\n * @returns {Array} Returns the array of property names.\n */\nfunction arrayLikeKeys(value, inherited) {\n var isArr = isArray(value),\n isArg = !isArr && isArguments(value),\n isBuff = !isArr && !isArg && isBuffer(value),\n isType = !isArr && !isArg && !isBuff && isTypedArray(value),\n skipIndexes = isArr || isArg || isBuff || isType,\n result = skipIndexes ? baseTimes(value.length, String) : [],\n length = result.length;\n\n for (var key in value) {\n if ((inherited || hasOwnProperty.call(value, key)) &&\n !(skipIndexes && (\n // Safari 9 has enumerable `arguments.length` in strict mode.\n key == 'length' ||\n // Node.js 0.10 has enumerable non-index properties on buffers.\n (isBuff && (key == 'offset' || key == 'parent')) ||\n // PhantomJS 2 has enumerable non-index properties on typed arrays.\n (isType && (key == 'buffer' || key == 'byteLength' || key == 'byteOffset')) ||\n // Skip index properties.\n isIndex(key, length)\n ))) {\n result.push(key);\n }\n }\n return result;\n}\n\nexport default arrayLikeKeys;\n","import baseGetTag from './_baseGetTag.js';\nimport isObjectLike from './isObjectLike.js';\n\n/** `Object#toString` result references. */\nvar argsTag = '[object Arguments]';\n\n/**\n * The base implementation of `_.isArguments`.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an `arguments` object,\n */\nfunction baseIsArguments(value) {\n return isObjectLike(value) && baseGetTag(value) == argsTag;\n}\n\nexport default baseIsArguments;\n","import baseIsArguments from './_baseIsArguments.js';\nimport isObjectLike from './isObjectLike.js';\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/** Built-in value references. */\nvar propertyIsEnumerable = objectProto.propertyIsEnumerable;\n\n/**\n * Checks if `value` is likely an `arguments` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an `arguments` object,\n * else `false`.\n * @example\n *\n * _.isArguments(function() { return arguments; }());\n * // => true\n *\n * _.isArguments([1, 2, 3]);\n * // => false\n */\nvar isArguments = baseIsArguments(function() { return arguments; }()) ? baseIsArguments : function(value) {\n return isObjectLike(value) && hasOwnProperty.call(value, 'callee') &&\n !propertyIsEnumerable.call(value, 'callee');\n};\n\nexport default isArguments;\n","import baseGetTag from './_baseGetTag.js';\nimport isLength from './isLength.js';\nimport isObjectLike from './isObjectLike.js';\n\n/** `Object#toString` result references. */\nvar argsTag = '[object Arguments]',\n arrayTag = '[object Array]',\n boolTag = '[object Boolean]',\n dateTag = '[object Date]',\n errorTag = '[object Error]',\n funcTag = '[object Function]',\n mapTag = '[object Map]',\n numberTag = '[object Number]',\n objectTag = '[object Object]',\n regexpTag = '[object RegExp]',\n setTag = '[object Set]',\n stringTag = '[object String]',\n weakMapTag = '[object WeakMap]';\n\nvar arrayBufferTag = '[object ArrayBuffer]',\n dataViewTag = '[object DataView]',\n float32Tag = '[object Float32Array]',\n float64Tag = '[object Float64Array]',\n int8Tag = '[object Int8Array]',\n int16Tag = '[object Int16Array]',\n int32Tag = '[object Int32Array]',\n uint8Tag = '[object Uint8Array]',\n uint8ClampedTag = '[object Uint8ClampedArray]',\n uint16Tag = '[object Uint16Array]',\n uint32Tag = '[object Uint32Array]';\n\n/** Used to identify `toStringTag` values of typed arrays. */\nvar typedArrayTags = {};\ntypedArrayTags[float32Tag] = typedArrayTags[float64Tag] =\ntypedArrayTags[int8Tag] = typedArrayTags[int16Tag] =\ntypedArrayTags[int32Tag] = typedArrayTags[uint8Tag] =\ntypedArrayTags[uint8ClampedTag] = typedArrayTags[uint16Tag] =\ntypedArrayTags[uint32Tag] = true;\ntypedArrayTags[argsTag] = typedArrayTags[arrayTag] =\ntypedArrayTags[arrayBufferTag] = typedArrayTags[boolTag] =\ntypedArrayTags[dataViewTag] = typedArrayTags[dateTag] =\ntypedArrayTags[errorTag] = typedArrayTags[funcTag] =\ntypedArrayTags[mapTag] = typedArrayTags[numberTag] =\ntypedArrayTags[objectTag] = typedArrayTags[regexpTag] =\ntypedArrayTags[setTag] = typedArrayTags[stringTag] =\ntypedArrayTags[weakMapTag] = false;\n\n/**\n * The base implementation of `_.isTypedArray` without Node.js optimizations.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a typed array, else `false`.\n */\nfunction baseIsTypedArray(value) {\n return isObjectLike(value) &&\n isLength(value.length) && !!typedArrayTags[baseGetTag(value)];\n}\n\nexport default baseIsTypedArray;\n","import baseIsTypedArray from './_baseIsTypedArray.js';\nimport baseUnary from './_baseUnary.js';\nimport nodeUtil from './_nodeUtil.js';\n\n/* Node.js helper references. */\nvar nodeIsTypedArray = nodeUtil && nodeUtil.isTypedArray;\n\n/**\n * Checks if `value` is classified as a typed array.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a typed array, else `false`.\n * @example\n *\n * _.isTypedArray(new Uint8Array);\n * // => true\n *\n * _.isTypedArray([]);\n * // => false\n */\nvar isTypedArray = nodeIsTypedArray ? baseUnary(nodeIsTypedArray) : baseIsTypedArray;\n\nexport default isTypedArray;\n","// shim for using process in browser\nvar process = module.exports = {};\n\n// cached from whatever global is present so that test runners that stub it\n// don't break things. But we need to wrap it in a try catch in case it is\n// wrapped in strict mode code which doesn't define any globals. It's inside a\n// function because try/catches deoptimize in certain engines.\n\nvar cachedSetTimeout;\nvar cachedClearTimeout;\n\nfunction defaultSetTimout() {\n throw new Error('setTimeout has not been defined');\n}\nfunction defaultClearTimeout () {\n throw new Error('clearTimeout has not been defined');\n}\n(function () {\n try {\n if (typeof setTimeout === 'function') {\n cachedSetTimeout = setTimeout;\n } else {\n cachedSetTimeout = defaultSetTimout;\n }\n } catch (e) {\n cachedSetTimeout = defaultSetTimout;\n }\n try {\n if (typeof clearTimeout === 'function') {\n cachedClearTimeout = clearTimeout;\n } else {\n cachedClearTimeout = defaultClearTimeout;\n }\n } catch (e) {\n cachedClearTimeout = defaultClearTimeout;\n }\n} ())\nfunction runTimeout(fun) {\n if (cachedSetTimeout === setTimeout) {\n //normal enviroments in sane situations\n return setTimeout(fun, 0);\n }\n // if setTimeout wasn't available but was latter defined\n if ((cachedSetTimeout === defaultSetTimout || !cachedSetTimeout) && setTimeout) {\n cachedSetTimeout = setTimeout;\n return setTimeout(fun, 0);\n }\n try {\n // when when somebody has screwed with setTimeout but no I.E. maddness\n return cachedSetTimeout(fun, 0);\n } catch(e){\n try {\n // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally\n return cachedSetTimeout.call(null, fun, 0);\n } catch(e){\n // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error\n return cachedSetTimeout.call(this, fun, 0);\n }\n }\n\n\n}\nfunction runClearTimeout(marker) {\n if (cachedClearTimeout === clearTimeout) {\n //normal enviroments in sane situations\n return clearTimeout(marker);\n }\n // if clearTimeout wasn't available but was latter defined\n if ((cachedClearTimeout === defaultClearTimeout || !cachedClearTimeout) && clearTimeout) {\n cachedClearTimeout = clearTimeout;\n return clearTimeout(marker);\n }\n try {\n // when when somebody has screwed with setTimeout but no I.E. maddness\n return cachedClearTimeout(marker);\n } catch (e){\n try {\n // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally\n return cachedClearTimeout.call(null, marker);\n } catch (e){\n // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error.\n // Some versions of I.E. have different rules for clearTimeout vs setTimeout\n return cachedClearTimeout.call(this, marker);\n }\n }\n\n\n\n}\nvar queue = [];\nvar draining = false;\nvar currentQueue;\nvar queueIndex = -1;\n\nfunction cleanUpNextTick() {\n if (!draining || !currentQueue) {\n return;\n }\n draining = false;\n if (currentQueue.length) {\n queue = currentQueue.concat(queue);\n } else {\n queueIndex = -1;\n }\n if (queue.length) {\n drainQueue();\n }\n}\n\nfunction drainQueue() {\n if (draining) {\n return;\n }\n var timeout = runTimeout(cleanUpNextTick);\n draining = true;\n\n var len = queue.length;\n while(len) {\n currentQueue = queue;\n queue = [];\n while (++queueIndex < len) {\n if (currentQueue) {\n currentQueue[queueIndex].run();\n }\n }\n queueIndex = -1;\n len = queue.length;\n }\n currentQueue = null;\n draining = false;\n runClearTimeout(timeout);\n}\n\nprocess.nextTick = function (fun) {\n var args = new Array(arguments.length - 1);\n if (arguments.length > 1) {\n for (var i = 1; i < arguments.length; i++) {\n args[i - 1] = arguments[i];\n }\n }\n queue.push(new Item(fun, args));\n if (queue.length === 1 && !draining) {\n runTimeout(drainQueue);\n }\n};\n\n// v8 likes predictible objects\nfunction Item(fun, array) {\n this.fun = fun;\n this.array = array;\n}\nItem.prototype.run = function () {\n this.fun.apply(null, this.array);\n};\nprocess.title = 'browser';\nprocess.browser = true;\nprocess.env = {};\nprocess.argv = [];\nprocess.version = ''; // empty string to avoid regexp issues\nprocess.versions = {};\n\nfunction noop() {}\n\nprocess.on = noop;\nprocess.addListener = noop;\nprocess.once = noop;\nprocess.off = noop;\nprocess.removeListener = noop;\nprocess.removeAllListeners = noop;\nprocess.emit = noop;\nprocess.prependListener = noop;\nprocess.prependOnceListener = noop;\n\nprocess.listeners = function (name) { return [] }\n\nprocess.binding = function (name) {\n throw new Error('process.binding is not supported');\n};\n\nprocess.cwd = function () { return '/' };\nprocess.chdir = function (dir) {\n throw new Error('process.chdir is not supported');\n};\nprocess.umask = function() { return 0; };\n","module.exports = function(originalModule) {\n\tif (!originalModule.webpackPolyfill) {\n\t\tvar module = Object.create(originalModule);\n\t\t// module.parent = undefined by default\n\t\tif (!module.children) module.children = [];\n\t\tObject.defineProperty(module, \"loaded\", {\n\t\t\tenumerable: true,\n\t\t\tget: function() {\n\t\t\t\treturn module.l;\n\t\t\t}\n\t\t});\n\t\tObject.defineProperty(module, \"id\", {\n\t\t\tenumerable: true,\n\t\t\tget: function() {\n\t\t\t\treturn module.i;\n\t\t\t}\n\t\t});\n\t\tObject.defineProperty(module, \"exports\", {\n\t\t\tenumerable: true\n\t\t});\n\t\tmodule.webpackPolyfill = 1;\n\t}\n\treturn module;\n};\n","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports[\"default\"] = exports.RecurlyElementsContext = void 0;\n\nvar _react = _interopRequireDefault(require(\"react\"));\n\nvar _propTypes = _interopRequireDefault(require(\"prop-types\"));\n\nvar _provider = require(\"./provider\");\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; 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 _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 _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 _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function () { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } return _assertThisInitialized(self); }\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 _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\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 RecurlyElementsContext = _react[\"default\"].createContext();\n\nexports.RecurlyElementsContext = RecurlyElementsContext;\nvar Provider = RecurlyElementsContext.Provider;\n\nvar Elements = /*#__PURE__*/function (_React$Component) {\n _inherits(Elements, _React$Component);\n\n var _super = _createSuper(Elements);\n\n function Elements(props, context) {\n var _this;\n\n _classCallCheck(this, Elements);\n\n _this = _super.call(this, props, context);\n\n if (!context || !context.recurly) {\n throw new Error('<Elements> must be within a <RecurlyProvider> tree.');\n }\n\n _this._elements = _this.context.recurly.Elements();\n\n _this._elements.on('submit', function (el) {\n return _this.props.onSubmit(el);\n });\n\n return _this;\n }\n\n _createClass(Elements, [{\n key: \"render\",\n value: function render() {\n var elements = this._elements;\n return /*#__PURE__*/_react[\"default\"].createElement(Provider, {\n value: {\n elements: elements\n }\n }, this.props.children);\n }\n }]);\n\n return Elements;\n}(_react[\"default\"].Component);\n\nexports[\"default\"] = Elements;\n\n_defineProperty(Elements, \"propTypes\", {\n /**\n * Called when a user presses the <kbd>enter</kbd> key while\n * focused on any descendant `*Element`.\n */\n onSubmit: _propTypes[\"default\"].func\n});\n\n_defineProperty(Elements, \"defaultProps\", {\n onSubmit: function onSubmit() {}\n});\n\n_defineProperty(Elements, \"contextType\", _provider.RecurlyContext);\n\n;","var getNative = require('./_getNative'),\n root = require('./_root');\n\n/* Built-in method references that are verified to be native. */\nvar Map = getNative(root, 'Map');\n\nmodule.exports = Map;\n","var root = require('./_root');\n\n/** Built-in value references. */\nvar Symbol = root.Symbol;\n\nmodule.exports = Symbol;\n","var arrayLikeKeys = require('./_arrayLikeKeys'),\n baseKeys = require('./_baseKeys'),\n isArrayLike = require('./isArrayLike');\n\n/**\n * Creates an array of the own enumerable property names of `object`.\n *\n * **Note:** Non-object values are coerced to objects. See the\n * [ES spec](http://ecma-international.org/ecma-262/7.0/#sec-object.keys)\n * for more details.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Object\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * this.b = 2;\n * }\n *\n * Foo.prototype.c = 3;\n *\n * _.keys(new Foo);\n * // => ['a', 'b'] (iteration order is not guaranteed)\n *\n * _.keys('hi');\n * // => ['0', '1']\n */\nfunction keys(object) {\n return isArrayLike(object) ? arrayLikeKeys(object) : baseKeys(object);\n}\n\nmodule.exports = keys;\n","/**\n * Checks if `value` is classified as an `Array` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an array, else `false`.\n * @example\n *\n * _.isArray([1, 2, 3]);\n * // => true\n *\n * _.isArray(document.body.children);\n * // => false\n *\n * _.isArray('abc');\n * // => false\n *\n * _.isArray(_.noop);\n * // => false\n */\nvar isArray = Array.isArray;\n\nmodule.exports = isArray;\n","module.exports = function(module) {\n\tif (!module.webpackPolyfill) {\n\t\tmodule.deprecate = function() {};\n\t\tmodule.paths = [];\n\t\t// module.parent = undefined by default\n\t\tif (!module.children) module.children = [];\n\t\tObject.defineProperty(module, \"loaded\", {\n\t\t\tenumerable: true,\n\t\t\tget: function() {\n\t\t\t\treturn module.l;\n\t\t\t}\n\t\t});\n\t\tObject.defineProperty(module, \"id\", {\n\t\t\tenumerable: true,\n\t\t\tget: function() {\n\t\t\t\treturn module.i;\n\t\t\t}\n\t\t});\n\t\tmodule.webpackPolyfill = 1;\n\t}\n\treturn module;\n};\n","/**\n * The base implementation of `_.unary` without support for storing metadata.\n *\n * @private\n * @param {Function} func The function to cap arguments for.\n * @returns {Function} Returns the new capped function.\n */\nfunction baseUnary(func) {\n return function(value) {\n return func(value);\n };\n}\n\nmodule.exports = baseUnary;\n","var freeGlobal = require('./_freeGlobal');\n\n/** Detect free variable `exports`. */\nvar freeExports = typeof exports == 'object' && exports && !exports.nodeType && exports;\n\n/** Detect free variable `module`. */\nvar freeModule = freeExports && typeof module == 'object' && module && !module.nodeType && module;\n\n/** Detect the popular CommonJS extension `module.exports`. */\nvar moduleExports = freeModule && freeModule.exports === freeExports;\n\n/** Detect free variable `process` from Node.js. */\nvar freeProcess = moduleExports && freeGlobal.process;\n\n/** Used to access faster Node.js helpers. */\nvar nodeUtil = (function() {\n try {\n // Use `util.types` for Node.js 10+.\n var types = freeModule && freeModule.require && freeModule.require('util').types;\n\n if (types) {\n return types;\n }\n\n // Legacy `process.binding('util')` for Node.js < 10.\n return freeProcess && freeProcess.binding && freeProcess.binding('util');\n } catch (e) {}\n}());\n\nmodule.exports = nodeUtil;\n","/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/**\n * Checks if `value` is likely a prototype object.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a prototype, else `false`.\n */\nfunction isPrototype(value) {\n var Ctor = value && value.constructor,\n proto = (typeof Ctor == 'function' && Ctor.prototype) || objectProto;\n\n return value === proto;\n}\n\nmodule.exports = isPrototype;\n","var arrayLikeKeys = require('./_arrayLikeKeys'),\n baseKeysIn = require('./_baseKeysIn'),\n isArrayLike = require('./isArrayLike');\n\n/**\n * Creates an array of the own and inherited enumerable property names of `object`.\n *\n * **Note:** Non-object values are coerced to objects.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Object\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * this.b = 2;\n * }\n *\n * Foo.prototype.c = 3;\n *\n * _.keysIn(new Foo);\n * // => ['a', 'b', 'c'] (iteration order is not guaranteed)\n */\nfunction keysIn(object) {\n return isArrayLike(object) ? arrayLikeKeys(object, true) : baseKeysIn(object);\n}\n\nmodule.exports = keysIn;\n","var arrayFilter = require('./_arrayFilter'),\n stubArray = require('./stubArray');\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Built-in value references. */\nvar propertyIsEnumerable = objectProto.propertyIsEnumerable;\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeGetSymbols = Object.getOwnPropertySymbols;\n\n/**\n * Creates an array of the own enumerable symbols of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of symbols.\n */\nvar getSymbols = !nativeGetSymbols ? stubArray : function(object) {\n if (object == null) {\n return [];\n }\n object = Object(object);\n return arrayFilter(nativeGetSymbols(object), function(symbol) {\n return propertyIsEnumerable.call(object, symbol);\n });\n};\n\nmodule.exports = getSymbols;\n","var DataView = require('./_DataView'),\n Map = require('./_Map'),\n Promise = require('./_Promise'),\n Set = require('./_Set'),\n WeakMap = require('./_WeakMap'),\n baseGetTag = require('./_baseGetTag'),\n toSource = require('./_toSource');\n\n/** `Object#toString` result references. */\nvar mapTag = '[object Map]',\n objectTag = '[object Object]',\n promiseTag = '[object Promise]',\n setTag = '[object Set]',\n weakMapTag = '[object WeakMap]';\n\nvar dataViewTag = '[object DataView]';\n\n/** Used to detect maps, sets, and weakmaps. */\nvar dataViewCtorString = toSource(DataView),\n mapCtorString = toSource(Map),\n promiseCtorString = toSource(Promise),\n setCtorString = toSource(Set),\n weakMapCtorString = toSource(WeakMap);\n\n/**\n * Gets the `toStringTag` of `value`.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the `toStringTag`.\n */\nvar getTag = baseGetTag;\n\n// Fallback for data views, maps, sets, and weak maps in IE 11 and promises in Node.js < 6.\nif ((DataView && getTag(new DataView(new ArrayBuffer(1))) != dataViewTag) ||\n (Map && getTag(new Map) != mapTag) ||\n (Promise && getTag(Promise.resolve()) != promiseTag) ||\n (Set && getTag(new Set) != setTag) ||\n (WeakMap && getTag(new WeakMap) != weakMapTag)) {\n getTag = function(value) {\n var result = baseGetTag(value),\n Ctor = result == objectTag ? value.constructor : undefined,\n ctorString = Ctor ? toSource(Ctor) : '';\n\n if (ctorString) {\n switch (ctorString) {\n case dataViewCtorString: return dataViewTag;\n case mapCtorString: return mapTag;\n case promiseCtorString: return promiseTag;\n case setCtorString: return setTag;\n case weakMapCtorString: return weakMapTag;\n }\n }\n return result;\n };\n}\n\nmodule.exports = getTag;\n","var Uint8Array = require('./_Uint8Array');\n\n/**\n * Creates a clone of `arrayBuffer`.\n *\n * @private\n * @param {ArrayBuffer} arrayBuffer The array buffer to clone.\n * @returns {ArrayBuffer} Returns the cloned array buffer.\n */\nfunction cloneArrayBuffer(arrayBuffer) {\n var result = new arrayBuffer.constructor(arrayBuffer.byteLength);\n new Uint8Array(result).set(new Uint8Array(arrayBuffer));\n return result;\n}\n\nmodule.exports = cloneArrayBuffer;\n","var arrayWithHoles = require(\"./arrayWithHoles\");\n\nvar iterableToArrayLimit = require(\"./iterableToArrayLimit\");\n\nvar unsupportedIterableToArray = require(\"./unsupportedIterableToArray\");\n\nvar nonIterableRest = require(\"./nonIterableRest\");\n\nfunction _slicedToArray(arr, i) {\n return arrayWithHoles(arr) || iterableToArrayLimit(arr, i) || unsupportedIterableToArray(arr, i) || nonIterableRest();\n}\n\nmodule.exports = _slicedToArray;","var arrayLikeToArray = require(\"./arrayLikeToArray\");\n\nfunction _unsupportedIterableToArray(o, minLen) {\n if (!o) return;\n if (typeof o === \"string\") return arrayLikeToArray(o, minLen);\n var n = Object.prototype.toString.call(o).slice(8, -1);\n if (n === \"Object\" && o.constructor) n = o.constructor.name;\n if (n === \"Map\" || n === \"Set\") return Array.from(n);\n if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return arrayLikeToArray(o, minLen);\n}\n\nmodule.exports = _unsupportedIterableToArray;","function _getPrototypeOf(o) {\n module.exports = _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) {\n return o.__proto__ || Object.getPrototypeOf(o);\n };\n return _getPrototypeOf(o);\n}\n\nmodule.exports = _getPrototypeOf;","function _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n}\n\nmodule.exports = _classCallCheck;","function _defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n}\n\nfunction _createClass(Constructor, protoProps, staticProps) {\n if (protoProps) _defineProperties(Constructor.prototype, protoProps);\n if (staticProps) _defineProperties(Constructor, staticProps);\n return Constructor;\n}\n\nmodule.exports = _createClass;","/**\n * @licstart The following is the entire license notice for the\n * Javascript code in this page\n *\n * Copyright 2020 Mozilla Foundation\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n *\n * @licend The above is the entire license notice for the\n * Javascript code in this page\n */\n\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.isValidRotation = isValidRotation;\nexports.isValidScrollMode = isValidScrollMode;\nexports.isValidSpreadMode = isValidSpreadMode;\nexports.isPortraitOrientation = isPortraitOrientation;\nexports.clamp = clamp;\nexports.getPDFFileNameFromURL = getPDFFileNameFromURL;\nexports.noContextMenuHandler = noContextMenuHandler;\nexports.parseQueryString = parseQueryString;\nexports.backtrackBeforeAllVisibleElements = backtrackBeforeAllVisibleElements;\nexports.getVisibleElements = getVisibleElements;\nexports.roundToDivide = roundToDivide;\nexports.getPageSizeInches = getPageSizeInches;\nexports.approximateFraction = approximateFraction;\nexports.getOutputScale = getOutputScale;\nexports.scrollIntoView = scrollIntoView;\nexports.watchScroll = watchScroll;\nexports.binarySearchFirstItem = binarySearchFirstItem;\nexports.normalizeWheelEventDelta = normalizeWheelEventDelta;\nexports.waitOnEventOrTimeout = waitOnEventOrTimeout;\nexports.moveToEndOfArray = moveToEndOfArray;\nexports.WaitOnType = exports.animationStarted = exports.ProgressBar = exports.EventBus = exports.NullL10n = exports.SpreadMode = exports.ScrollMode = exports.TextLayerMode = exports.RendererType = exports.PresentationModeState = exports.VERTICAL_PADDING = exports.SCROLLBAR_PADDING = exports.MAX_AUTO_SCALE = exports.UNKNOWN_SCALE = exports.MAX_SCALE = exports.MIN_SCALE = exports.DEFAULT_SCALE = exports.DEFAULT_SCALE_VALUE = exports.CSS_UNITS = exports.AutoPrintRegExp = void 0;\nconst CSS_UNITS = 96.0 / 72.0;\nexports.CSS_UNITS = CSS_UNITS;\nconst DEFAULT_SCALE_VALUE = \"auto\";\nexports.DEFAULT_SCALE_VALUE = DEFAULT_SCALE_VALUE;\nconst DEFAULT_SCALE = 1.0;\nexports.DEFAULT_SCALE = DEFAULT_SCALE;\nconst MIN_SCALE = 0.1;\nexports.MIN_SCALE = MIN_SCALE;\nconst MAX_SCALE = 10.0;\nexports.MAX_SCALE = MAX_SCALE;\nconst UNKNOWN_SCALE = 0;\nexports.UNKNOWN_SCALE = UNKNOWN_SCALE;\nconst MAX_AUTO_SCALE = 1.25;\nexports.MAX_AUTO_SCALE = MAX_AUTO_SCALE;\nconst SCROLLBAR_PADDING = 40;\nexports.SCROLLBAR_PADDING = SCROLLBAR_PADDING;\nconst VERTICAL_PADDING = 5;\nexports.VERTICAL_PADDING = VERTICAL_PADDING;\nconst PresentationModeState = {\n UNKNOWN: 0,\n NORMAL: 1,\n CHANGING: 2,\n FULLSCREEN: 3\n};\nexports.PresentationModeState = PresentationModeState;\nconst RendererType = {\n CANVAS: \"canvas\",\n SVG: \"svg\"\n};\nexports.RendererType = RendererType;\nconst TextLayerMode = {\n DISABLE: 0,\n ENABLE: 1,\n ENABLE_ENHANCE: 2\n};\nexports.TextLayerMode = TextLayerMode;\nconst ScrollMode = {\n UNKNOWN: -1,\n VERTICAL: 0,\n HORIZONTAL: 1,\n WRAPPED: 2\n};\nexports.ScrollMode = ScrollMode;\nconst SpreadMode = {\n UNKNOWN: -1,\n NONE: 0,\n ODD: 1,\n EVEN: 2\n};\nexports.SpreadMode = SpreadMode;\nconst AutoPrintRegExp = /\\bprint\\s*\\(/;\nexports.AutoPrintRegExp = AutoPrintRegExp;\n\nfunction formatL10nValue(text, args) {\n if (!args) {\n return text;\n }\n\n return text.replace(/\\{\\{\\s*(\\w+)\\s*\\}\\}/g, (all, name) => {\n return name in args ? args[name] : \"{{\" + name + \"}}\";\n });\n}\n\nconst NullL10n = {\n async getLanguage() {\n return \"en-us\";\n },\n\n async getDirection() {\n return \"ltr\";\n },\n\n async get(property, args, fallback) {\n return formatL10nValue(fallback, args);\n },\n\n async translate(element) {}\n\n};\nexports.NullL10n = NullL10n;\n\nfunction getOutputScale(ctx) {\n const devicePixelRatio = window.devicePixelRatio || 1;\n const backingStoreRatio = ctx.webkitBackingStorePixelRatio || ctx.mozBackingStorePixelRatio || ctx.msBackingStorePixelRatio || ctx.oBackingStorePixelRatio || ctx.backingStorePixelRatio || 1;\n const pixelRatio = devicePixelRatio / backingStoreRatio;\n return {\n sx: pixelRatio,\n sy: pixelRatio,\n scaled: pixelRatio !== 1\n };\n}\n\nfunction scrollIntoView(element, spot, skipOverflowHiddenElements = false) {\n let parent = element.offsetParent;\n\n if (!parent) {\n console.error(\"offsetParent is not set -- cannot scroll\");\n return;\n }\n\n let offsetY = element.offsetTop + element.clientTop;\n let offsetX = element.offsetLeft + element.clientLeft;\n\n while (parent.clientHeight === parent.scrollHeight && parent.clientWidth === parent.scrollWidth || skipOverflowHiddenElements && getComputedStyle(parent).overflow === \"hidden\") {\n if (parent.dataset._scaleY) {\n offsetY /= parent.dataset._scaleY;\n offsetX /= parent.dataset._scaleX;\n }\n\n offsetY += parent.offsetTop;\n offsetX += parent.offsetLeft;\n parent = parent.offsetParent;\n\n if (!parent) {\n return;\n }\n }\n\n if (spot) {\n if (spot.top !== undefined) {\n offsetY += spot.top;\n }\n\n if (spot.left !== undefined) {\n offsetX += spot.left;\n parent.scrollLeft = offsetX;\n }\n }\n\n parent.scrollTop = offsetY;\n}\n\nfunction watchScroll(viewAreaElement, callback) {\n const debounceScroll = function (evt) {\n if (rAF) {\n return;\n }\n\n rAF = window.requestAnimationFrame(function viewAreaElementScrolled() {\n rAF = null;\n const currentX = viewAreaElement.scrollLeft;\n const lastX = state.lastX;\n\n if (currentX !== lastX) {\n state.right = currentX > lastX;\n }\n\n state.lastX = currentX;\n const currentY = viewAreaElement.scrollTop;\n const lastY = state.lastY;\n\n if (currentY !== lastY) {\n state.down = currentY > lastY;\n }\n\n state.lastY = currentY;\n callback(state);\n });\n };\n\n const state = {\n right: true,\n down: true,\n lastX: viewAreaElement.scrollLeft,\n lastY: viewAreaElement.scrollTop,\n _eventHandler: debounceScroll\n };\n let rAF = null;\n viewAreaElement.addEventListener(\"scroll\", debounceScroll, true);\n return state;\n}\n\nfunction parseQueryString(query) {\n const parts = query.split(\"&\");\n const params = Object.create(null);\n\n for (let i = 0, ii = parts.length; i < ii; ++i) {\n const param = parts[i].split(\"=\");\n const key = param[0].toLowerCase();\n const value = param.length > 1 ? param[1] : null;\n params[decodeURIComponent(key)] = decodeURIComponent(value);\n }\n\n return params;\n}\n\nfunction binarySearchFirstItem(items, condition) {\n let minIndex = 0;\n let maxIndex = items.length - 1;\n\n if (maxIndex < 0 || !condition(items[maxIndex])) {\n return items.length;\n }\n\n if (condition(items[minIndex])) {\n return minIndex;\n }\n\n while (minIndex < maxIndex) {\n const currentIndex = minIndex + maxIndex >> 1;\n const currentItem = items[currentIndex];\n\n if (condition(currentItem)) {\n maxIndex = currentIndex;\n } else {\n minIndex = currentIndex + 1;\n }\n }\n\n return minIndex;\n}\n\nfunction approximateFraction(x) {\n if (Math.floor(x) === x) {\n return [x, 1];\n }\n\n const xinv = 1 / x;\n const limit = 8;\n\n if (xinv > limit) {\n return [1, limit];\n } else if (Math.floor(xinv) === xinv) {\n return [1, xinv];\n }\n\n const x_ = x > 1 ? xinv : x;\n let a = 0,\n b = 1,\n c = 1,\n d = 1;\n\n while (true) {\n const p = a + c,\n q = b + d;\n\n if (q > limit) {\n break;\n }\n\n if (x_ <= p / q) {\n c = p;\n d = q;\n } else {\n a = p;\n b = q;\n }\n }\n\n let result;\n\n if (x_ - a / b < c / d - x_) {\n result = x_ === x ? [a, b] : [b, a];\n } else {\n result = x_ === x ? [c, d] : [d, c];\n }\n\n return result;\n}\n\nfunction roundToDivide(x, div) {\n const r = x % div;\n return r === 0 ? x : Math.round(x - r + div);\n}\n\nfunction getPageSizeInches({\n view,\n userUnit,\n rotate\n}) {\n const [x1, y1, x2, y2] = view;\n const changeOrientation = rotate % 180 !== 0;\n const width = (x2 - x1) / 72 * userUnit;\n const height = (y2 - y1) / 72 * userUnit;\n return {\n width: changeOrientation ? height : width,\n height: changeOrientation ? width : height\n };\n}\n\nfunction backtrackBeforeAllVisibleElements(index, views, top) {\n if (index < 2) {\n return index;\n }\n\n let elt = views[index].div;\n let pageTop = elt.offsetTop + elt.clientTop;\n\n if (pageTop >= top) {\n elt = views[index - 1].div;\n pageTop = elt.offsetTop + elt.clientTop;\n }\n\n for (let i = index - 2; i >= 0; --i) {\n elt = views[i].div;\n\n if (elt.offsetTop + elt.clientTop + elt.clientHeight <= pageTop) {\n break;\n }\n\n index = i;\n }\n\n return index;\n}\n\nfunction getVisibleElements(scrollEl, views, sortByVisibility = false, horizontal = false) {\n const top = scrollEl.scrollTop,\n bottom = top + scrollEl.clientHeight;\n const left = scrollEl.scrollLeft,\n right = left + scrollEl.clientWidth;\n\n function isElementBottomAfterViewTop(view) {\n const element = view.div;\n const elementBottom = element.offsetTop + element.clientTop + element.clientHeight;\n return elementBottom > top;\n }\n\n function isElementRightAfterViewLeft(view) {\n const element = view.div;\n const elementRight = element.offsetLeft + element.clientLeft + element.clientWidth;\n return elementRight > left;\n }\n\n const visible = [],\n numViews = views.length;\n let firstVisibleElementInd = numViews === 0 ? 0 : binarySearchFirstItem(views, horizontal ? isElementRightAfterViewLeft : isElementBottomAfterViewTop);\n\n if (firstVisibleElementInd > 0 && firstVisibleElementInd < numViews && !horizontal) {\n firstVisibleElementInd = backtrackBeforeAllVisibleElements(firstVisibleElementInd, views, top);\n }\n\n let lastEdge = horizontal ? right : -1;\n\n for (let i = firstVisibleElementInd; i < numViews; i++) {\n const view = views[i],\n element = view.div;\n const currentWidth = element.offsetLeft + element.clientLeft;\n const currentHeight = element.offsetTop + element.clientTop;\n const viewWidth = element.clientWidth,\n viewHeight = element.clientHeight;\n const viewRight = currentWidth + viewWidth;\n const viewBottom = currentHeight + viewHeight;\n\n if (lastEdge === -1) {\n if (viewBottom >= bottom) {\n lastEdge = viewBottom;\n }\n } else if ((horizontal ? currentWidth : currentHeight) > lastEdge) {\n break;\n }\n\n if (viewBottom <= top || currentHeight >= bottom || viewRight <= left || currentWidth >= right) {\n continue;\n }\n\n const hiddenHeight = Math.max(0, top - currentHeight) + Math.max(0, viewBottom - bottom);\n const hiddenWidth = Math.max(0, left - currentWidth) + Math.max(0, viewRight - right);\n const percent = (viewHeight - hiddenHeight) * (viewWidth - hiddenWidth) * 100 / viewHeight / viewWidth | 0;\n visible.push({\n id: view.id,\n x: currentWidth,\n y: currentHeight,\n view,\n percent\n });\n }\n\n const first = visible[0],\n last = visible[visible.length - 1];\n\n if (sortByVisibility) {\n visible.sort(function (a, b) {\n const pc = a.percent - b.percent;\n\n if (Math.abs(pc) > 0.001) {\n return -pc;\n }\n\n return a.id - b.id;\n });\n }\n\n return {\n first,\n last,\n views: visible\n };\n}\n\nfunction noContextMenuHandler(evt) {\n evt.preventDefault();\n}\n\nfunction isDataSchema(url) {\n let i = 0;\n const ii = url.length;\n\n while (i < ii && url[i].trim() === \"\") {\n i++;\n }\n\n return url.substring(i, i + 5).toLowerCase() === \"data:\";\n}\n\nfunction getPDFFileNameFromURL(url, defaultFilename = \"document.pdf\") {\n if (typeof url !== \"string\") {\n return defaultFilename;\n }\n\n if (isDataSchema(url)) {\n console.warn(\"getPDFFileNameFromURL: \" + 'ignoring \"data:\" URL for performance reasons.');\n return defaultFilename;\n }\n\n const reURI = /^(?:(?:[^:]+:)?\\/\\/[^\\/]+)?([^?#]*)(\\?[^#]*)?(#.*)?$/;\n const reFilename = /[^\\/?#=]+\\.pdf\\b(?!.*\\.pdf\\b)/i;\n const splitURI = reURI.exec(url);\n let suggestedFilename = reFilename.exec(splitURI[1]) || reFilename.exec(splitURI[2]) || reFilename.exec(splitURI[3]);\n\n if (suggestedFilename) {\n suggestedFilename = suggestedFilename[0];\n\n if (suggestedFilename.includes(\"%\")) {\n try {\n suggestedFilename = reFilename.exec(decodeURIComponent(suggestedFilename))[0];\n } catch (ex) {}\n }\n }\n\n return suggestedFilename || defaultFilename;\n}\n\nfunction normalizeWheelEventDelta(evt) {\n let delta = Math.sqrt(evt.deltaX * evt.deltaX + evt.deltaY * evt.deltaY);\n const angle = Math.atan2(evt.deltaY, evt.deltaX);\n\n if (-0.25 * Math.PI < angle && angle < 0.75 * Math.PI) {\n delta = -delta;\n }\n\n const MOUSE_DOM_DELTA_PIXEL_MODE = 0;\n const MOUSE_DOM_DELTA_LINE_MODE = 1;\n const MOUSE_PIXELS_PER_LINE = 30;\n const MOUSE_LINES_PER_PAGE = 30;\n\n if (evt.deltaMode === MOUSE_DOM_DELTA_PIXEL_MODE) {\n delta /= MOUSE_PIXELS_PER_LINE * MOUSE_LINES_PER_PAGE;\n } else if (evt.deltaMode === MOUSE_DOM_DELTA_LINE_MODE) {\n delta /= MOUSE_LINES_PER_PAGE;\n }\n\n return delta;\n}\n\nfunction isValidRotation(angle) {\n return Number.isInteger(angle) && angle % 90 === 0;\n}\n\nfunction isValidScrollMode(mode) {\n return Number.isInteger(mode) && Object.values(ScrollMode).includes(mode) && mode !== ScrollMode.UNKNOWN;\n}\n\nfunction isValidSpreadMode(mode) {\n return Number.isInteger(mode) && Object.values(SpreadMode).includes(mode) && mode !== SpreadMode.UNKNOWN;\n}\n\nfunction isPortraitOrientation(size) {\n return size.width <= size.height;\n}\n\nconst WaitOnType = {\n EVENT: \"event\",\n TIMEOUT: \"timeout\"\n};\nexports.WaitOnType = WaitOnType;\n\nfunction waitOnEventOrTimeout({\n target,\n name,\n delay = 0\n}) {\n return new Promise(function (resolve, reject) {\n if (typeof target !== \"object\" || !(name && typeof name === \"string\") || !(Number.isInteger(delay) && delay >= 0)) {\n throw new Error(\"waitOnEventOrTimeout - invalid parameters.\");\n }\n\n function handler(type) {\n if (target instanceof EventBus) {\n target._off(name, eventHandler);\n } else {\n target.removeEventListener(name, eventHandler);\n }\n\n if (timeout) {\n clearTimeout(timeout);\n }\n\n resolve(type);\n }\n\n const eventHandler = handler.bind(null, WaitOnType.EVENT);\n\n if (target instanceof EventBus) {\n target._on(name, eventHandler);\n } else {\n target.addEventListener(name, eventHandler);\n }\n\n const timeoutHandler = handler.bind(null, WaitOnType.TIMEOUT);\n const timeout = setTimeout(timeoutHandler, delay);\n });\n}\n\nconst animationStarted = new Promise(function (resolve) {\n window.requestAnimationFrame(resolve);\n});\nexports.animationStarted = animationStarted;\n\nfunction dispatchDOMEvent(eventName, args = null) {\n throw new Error(\"Not implemented: dispatchDOMEvent\");\n}\n\nclass EventBus {\n constructor(options) {\n this._listeners = Object.create(null);\n }\n\n on(eventName, listener) {\n this._on(eventName, listener, {\n external: true\n });\n }\n\n off(eventName, listener) {\n this._off(eventName, listener, {\n external: true\n });\n }\n\n dispatch(eventName) {\n const eventListeners = this._listeners[eventName];\n\n if (!eventListeners || eventListeners.length === 0) {\n return;\n }\n\n const args = Array.prototype.slice.call(arguments, 1);\n let externalListeners;\n eventListeners.slice(0).forEach(function ({\n listener,\n external\n }) {\n if (external) {\n if (!externalListeners) {\n externalListeners = [];\n }\n\n externalListeners.push(listener);\n return;\n }\n\n listener.apply(null, args);\n });\n\n if (externalListeners) {\n externalListeners.forEach(function (listener) {\n listener.apply(null, args);\n });\n externalListeners = null;\n }\n }\n\n _on(eventName, listener, options = null) {\n let eventListeners = this._listeners[eventName];\n\n if (!eventListeners) {\n this._listeners[eventName] = eventListeners = [];\n }\n\n eventListeners.push({\n listener,\n external: (options && options.external) === true\n });\n }\n\n _off(eventName, listener, options = null) {\n const eventListeners = this._listeners[eventName];\n\n if (!eventListeners) {\n return;\n }\n\n for (let i = 0, ii = eventListeners.length; i < ii; i++) {\n if (eventListeners[i].listener === listener) {\n eventListeners.splice(i, 1);\n return;\n }\n }\n }\n\n}\n\nexports.EventBus = EventBus;\n\nfunction clamp(v, min, max) {\n return Math.min(Math.max(v, min), max);\n}\n\nclass ProgressBar {\n constructor(id, {\n height,\n width,\n units\n } = {}) {\n this.visible = true;\n this.div = document.querySelector(id + \" .progress\");\n this.bar = this.div.parentNode;\n this.height = height || 100;\n this.width = width || 100;\n this.units = units || \"%\";\n this.div.style.height = this.height + this.units;\n this.percent = 0;\n }\n\n _updateBar() {\n if (this._indeterminate) {\n this.div.classList.add(\"indeterminate\");\n this.div.style.width = this.width + this.units;\n return;\n }\n\n this.div.classList.remove(\"indeterminate\");\n const progressSize = this.width * this._percent / 100;\n this.div.style.width = progressSize + this.units;\n }\n\n get percent() {\n return this._percent;\n }\n\n set percent(val) {\n this._indeterminate = isNaN(val);\n this._percent = clamp(val, 0, 100);\n\n this._updateBar();\n }\n\n setWidth(viewer) {\n if (!viewer) {\n return;\n }\n\n const container = viewer.parentNode;\n const scrollbarWidth = container.offsetWidth - viewer.offsetWidth;\n\n if (scrollbarWidth > 0) {\n this.bar.style.width = `calc(100% - ${scrollbarWidth}px)`;\n }\n }\n\n hide() {\n if (!this.visible) {\n return;\n }\n\n this.visible = false;\n this.bar.classList.add(\"hidden\");\n document.body.classList.remove(\"loadingInProgress\");\n }\n\n show() {\n if (this.visible) {\n return;\n }\n\n this.visible = true;\n document.body.classList.add(\"loadingInProgress\");\n this.bar.classList.remove(\"hidden\");\n }\n\n}\n\nexports.ProgressBar = ProgressBar;\n\nfunction moveToEndOfArray(arr, condition) {\n const moved = [],\n len = arr.length;\n let write = 0;\n\n for (let read = 0; read < len; ++read) {\n if (condition(arr[read])) {\n moved.push(arr[read]);\n } else {\n arr[write] = arr[read];\n ++write;\n }\n }\n\n for (let read = 0; write < len; ++read, ++write) {\n arr[write] = moved[read];\n }\n}","import baseEach from './_baseEach.js';\n\n/**\n * The base implementation of `_.filter` without support for iteratee shorthands.\n *\n * @private\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Function} predicate The function invoked per iteration.\n * @returns {Array} Returns the new filtered array.\n */\nfunction baseFilter(collection, predicate) {\n var result = [];\n baseEach(collection, function(value, index, collection) {\n if (predicate(value, index, collection)) {\n result.push(value);\n }\n });\n return result;\n}\n\nexport default baseFilter;\n","import arrayFilter from './_arrayFilter.js';\nimport baseFilter from './_baseFilter.js';\nimport baseIteratee from './_baseIteratee.js';\nimport isArray from './isArray.js';\n\n/**\n * Iterates over elements of `collection`, returning an array of all elements\n * `predicate` returns truthy for. The predicate is invoked with three\n * arguments: (value, index|key, collection).\n *\n * **Note:** Unlike `_.remove`, this method returns a new array.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Collection\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Function} [predicate=_.identity] The function invoked per iteration.\n * @returns {Array} Returns the new filtered array.\n * @see _.reject\n * @example\n *\n * var users = [\n * { 'user': 'barney', 'age': 36, 'active': true },\n * { 'user': 'fred', 'age': 40, 'active': false }\n * ];\n *\n * _.filter(users, function(o) { return !o.active; });\n * // => objects for ['fred']\n *\n * // The `_.matches` iteratee shorthand.\n * _.filter(users, { 'age': 36, 'active': true });\n * // => objects for ['barney']\n *\n * // The `_.matchesProperty` iteratee shorthand.\n * _.filter(users, ['active', false]);\n * // => objects for ['fred']\n *\n * // The `_.property` iteratee shorthand.\n * _.filter(users, 'active');\n * // => objects for ['barney']\n *\n * // Combining several predicates using `_.overEvery` or `_.overSome`.\n * _.filter(users, _.overSome([{ 'age': 36 }, ['age', 40]]));\n * // => objects for ['fred', 'barney']\n */\nfunction filter(collection, predicate) {\n var func = isArray(collection) ? arrayFilter : baseFilter;\n return func(collection, baseIteratee(predicate, 3));\n}\n\nexport default filter;\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\n/**\n * Use invariant() to assert state which your program assumes to be true.\n *\n * Provide sprintf-style format (only %s is supported) and arguments\n * to provide information about what broke and what you were\n * expecting.\n *\n * The invariant message will be stripped in production, but the invariant\n * will remain to ensure logic does not differ in production.\n */\n\nvar invariant = function(condition, format, a, b, c, d, e, f) {\n if (process.env.NODE_ENV !== 'production') {\n if (format === undefined) {\n throw new Error('invariant requires an error message argument');\n }\n }\n\n if (!condition) {\n var error;\n if (format === undefined) {\n error = new Error(\n 'Minified exception occurred; use the non-minified dev environment ' +\n 'for the full error message and additional helpful warnings.'\n );\n } else {\n var args = [a, b, c, d, e, f];\n var argIndex = 0;\n error = new Error(\n format.replace(/%s/g, function() { return args[argIndex++]; })\n );\n error.name = 'Invariant Violation';\n }\n\n error.framesToPop = 1; // we don't care about invariant's own frame\n throw error;\n }\n};\n\nmodule.exports = invariant;\n","import React, { Component } from 'react';\nimport _inheritsLoose from '@babel/runtime/helpers/esm/inheritsLoose';\nimport PropTypes from 'prop-types';\nimport warning from 'tiny-warning';\n\nvar MAX_SIGNED_31_BIT_INT = 1073741823;\nvar commonjsGlobal = typeof globalThis !== 'undefined' ? globalThis : typeof window !== 'undefined' ? window : typeof global !== 'undefined' ? global : {};\n\nfunction getUniqueId() {\n var key = '__global_unique_id__';\n return commonjsGlobal[key] = (commonjsGlobal[key] || 0) + 1;\n}\n\nfunction objectIs(x, y) {\n if (x === y) {\n return x !== 0 || 1 / x === 1 / y;\n } else {\n return x !== x && y !== y;\n }\n}\n\nfunction createEventEmitter(value) {\n var handlers = [];\n return {\n on: function on(handler) {\n handlers.push(handler);\n },\n off: function off(handler) {\n handlers = handlers.filter(function (h) {\n return h !== handler;\n });\n },\n get: function get() {\n return value;\n },\n set: function set(newValue, changedBits) {\n value = newValue;\n handlers.forEach(function (handler) {\n return handler(value, changedBits);\n });\n }\n };\n}\n\nfunction onlyChild(children) {\n return Array.isArray(children) ? children[0] : children;\n}\n\nfunction createReactContext(defaultValue, calculateChangedBits) {\n var _Provider$childContex, _Consumer$contextType;\n\n var contextProp = '__create-react-context-' + getUniqueId() + '__';\n\n var Provider = /*#__PURE__*/function (_Component) {\n _inheritsLoose(Provider, _Component);\n\n function Provider() {\n var _this;\n\n _this = _Component.apply(this, arguments) || this;\n _this.emitter = createEventEmitter(_this.props.value);\n return _this;\n }\n\n var _proto = Provider.prototype;\n\n _proto.getChildContext = function getChildContext() {\n var _ref;\n\n return _ref = {}, _ref[contextProp] = this.emitter, _ref;\n };\n\n _proto.componentWillReceiveProps = function componentWillReceiveProps(nextProps) {\n if (this.props.value !== nextProps.value) {\n var oldValue = this.props.value;\n var newValue = nextProps.value;\n var changedBits;\n\n if (objectIs(oldValue, newValue)) {\n changedBits = 0;\n } else {\n changedBits = typeof calculateChangedBits === 'function' ? calculateChangedBits(oldValue, newValue) : MAX_SIGNED_31_BIT_INT;\n\n if (process.env.NODE_ENV !== 'production') {\n warning((changedBits & MAX_SIGNED_31_BIT_INT) === changedBits, 'calculateChangedBits: Expected the return value to be a ' + '31-bit integer. Instead received: ' + changedBits);\n }\n\n changedBits |= 0;\n\n if (changedBits !== 0) {\n this.emitter.set(nextProps.value, changedBits);\n }\n }\n }\n };\n\n _proto.render = function render() {\n return this.props.children;\n };\n\n return Provider;\n }(Component);\n\n Provider.childContextTypes = (_Provider$childContex = {}, _Provider$childContex[contextProp] = PropTypes.object.isRequired, _Provider$childContex);\n\n var Consumer = /*#__PURE__*/function (_Component2) {\n _inheritsLoose(Consumer, _Component2);\n\n function Consumer() {\n var _this2;\n\n _this2 = _Component2.apply(this, arguments) || this;\n _this2.state = {\n value: _this2.getValue()\n };\n\n _this2.onUpdate = function (newValue, changedBits) {\n var observedBits = _this2.observedBits | 0;\n\n if ((observedBits & changedBits) !== 0) {\n _this2.setState({\n value: _this2.getValue()\n });\n }\n };\n\n return _this2;\n }\n\n var _proto2 = Consumer.prototype;\n\n _proto2.componentWillReceiveProps = function componentWillReceiveProps(nextProps) {\n var observedBits = nextProps.observedBits;\n this.observedBits = observedBits === undefined || observedBits === null ? MAX_SIGNED_31_BIT_INT : observedBits;\n };\n\n _proto2.componentDidMount = function componentDidMount() {\n if (this.context[contextProp]) {\n this.context[contextProp].on(this.onUpdate);\n }\n\n var observedBits = this.props.observedBits;\n this.observedBits = observedBits === undefined || observedBits === null ? MAX_SIGNED_31_BIT_INT : observedBits;\n };\n\n _proto2.componentWillUnmount = function componentWillUnmount() {\n if (this.context[contextProp]) {\n this.context[contextProp].off(this.onUpdate);\n }\n };\n\n _proto2.getValue = function getValue() {\n if (this.context[contextProp]) {\n return this.context[contextProp].get();\n } else {\n return defaultValue;\n }\n };\n\n _proto2.render = function render() {\n return onlyChild(this.props.children)(this.state.value);\n };\n\n return Consumer;\n }(Component);\n\n Consumer.contextTypes = (_Consumer$contextType = {}, _Consumer$contextType[contextProp] = PropTypes.object, _Consumer$contextType);\n return {\n Provider: Provider,\n Consumer: Consumer\n };\n}\n\nvar index = React.createContext || createReactContext;\n\nexport default index;\n","var isarray = require('isarray')\n\n/**\n * Expose `pathToRegexp`.\n */\nmodule.exports = pathToRegexp\nmodule.exports.parse = parse\nmodule.exports.compile = compile\nmodule.exports.tokensToFunction = tokensToFunction\nmodule.exports.tokensToRegExp = tokensToRegExp\n\n/**\n * The main path matching regexp utility.\n *\n * @type {RegExp}\n */\nvar PATH_REGEXP = new RegExp([\n // Match escaped characters that would otherwise appear in future matches.\n // This allows the user to escape special characters that won't transform.\n '(\\\\\\\\.)',\n // Match Express-style parameters and un-named parameters with a prefix\n // and optional suffixes. Matches appear as:\n //\n // \"/:test(\\\\d+)?\" => [\"/\", \"test\", \"\\d+\", undefined, \"?\", undefined]\n // \"/route(\\\\d+)\" => [undefined, undefined, undefined, \"\\d+\", undefined, undefined]\n // \"/*\" => [\"/\", undefined, undefined, undefined, undefined, \"*\"]\n '([\\\\/.])?(?:(?:\\\\:(\\\\w+)(?:\\\\(((?:\\\\\\\\.|[^\\\\\\\\()])+)\\\\))?|\\\\(((?:\\\\\\\\.|[^\\\\\\\\()])+)\\\\))([+*?])?|(\\\\*))'\n].join('|'), 'g')\n\n/**\n * Parse a string for the raw tokens.\n *\n * @param {string} str\n * @param {Object=} options\n * @return {!Array}\n */\nfunction parse (str, options) {\n var tokens = []\n var key = 0\n var index = 0\n var path = ''\n var defaultDelimiter = options && options.delimiter || '/'\n var res\n\n while ((res = PATH_REGEXP.exec(str)) != null) {\n var m = res[0]\n var escaped = res[1]\n var offset = res.index\n path += str.slice(index, offset)\n index = offset + m.length\n\n // Ignore already escaped sequences.\n if (escaped) {\n path += escaped[1]\n continue\n }\n\n var next = str[index]\n var prefix = res[2]\n var name = res[3]\n var capture = res[4]\n var group = res[5]\n var modifier = res[6]\n var asterisk = res[7]\n\n // Push the current path onto the tokens.\n if (path) {\n tokens.push(path)\n path = ''\n }\n\n var partial = prefix != null && next != null && next !== prefix\n var repeat = modifier === '+' || modifier === '*'\n var optional = modifier === '?' || modifier === '*'\n var delimiter = res[2] || defaultDelimiter\n var pattern = capture || group\n\n tokens.push({\n name: name || key++,\n prefix: prefix || '',\n delimiter: delimiter,\n optional: optional,\n repeat: repeat,\n partial: partial,\n asterisk: !!asterisk,\n pattern: pattern ? escapeGroup(pattern) : (asterisk ? '.*' : '[^' + escapeString(delimiter) + ']+?')\n })\n }\n\n // Match any characters still remaining.\n if (index < str.length) {\n path += str.substr(index)\n }\n\n // If the path exists, push it onto the end.\n if (path) {\n tokens.push(path)\n }\n\n return tokens\n}\n\n/**\n * Compile a string to a template function for the path.\n *\n * @param {string} str\n * @param {Object=} options\n * @return {!function(Object=, Object=)}\n */\nfunction compile (str, options) {\n return tokensToFunction(parse(str, options), options)\n}\n\n/**\n * Prettier encoding of URI path segments.\n *\n * @param {string}\n * @return {string}\n */\nfunction encodeURIComponentPretty (str) {\n return encodeURI(str).replace(/[\\/?#]/g, function (c) {\n return '%' + c.charCodeAt(0).toString(16).toUpperCase()\n })\n}\n\n/**\n * Encode the asterisk parameter. Similar to `pretty`, but allows slashes.\n *\n * @param {string}\n * @return {string}\n */\nfunction encodeAsterisk (str) {\n return encodeURI(str).replace(/[?#]/g, function (c) {\n return '%' + c.charCodeAt(0).toString(16).toUpperCase()\n })\n}\n\n/**\n * Expose a method for transforming tokens into the path function.\n */\nfunction tokensToFunction (tokens, options) {\n // Compile all the tokens into regexps.\n var matches = new Array(tokens.length)\n\n // Compile all the patterns before compilation.\n for (var i = 0; i < tokens.length; i++) {\n if (typeof tokens[i] === 'object') {\n matches[i] = new RegExp('^(?:' + tokens[i].pattern + ')$', flags(options))\n }\n }\n\n return function (obj, opts) {\n var path = ''\n var data = obj || {}\n var options = opts || {}\n var encode = options.pretty ? encodeURIComponentPretty : encodeURIComponent\n\n for (var i = 0; i < tokens.length; i++) {\n var token = tokens[i]\n\n if (typeof token === 'string') {\n path += token\n\n continue\n }\n\n var value = data[token.name]\n var segment\n\n if (value == null) {\n if (token.optional) {\n // Prepend partial segment prefixes.\n if (token.partial) {\n path += token.prefix\n }\n\n continue\n } else {\n throw new TypeError('Expected \"' + token.name + '\" to be defined')\n }\n }\n\n if (isarray(value)) {\n if (!token.repeat) {\n throw new TypeError('Expected \"' + token.name + '\" to not repeat, but received `' + JSON.stringify(value) + '`')\n }\n\n if (value.length === 0) {\n if (token.optional) {\n continue\n } else {\n throw new TypeError('Expected \"' + token.name + '\" to not be empty')\n }\n }\n\n for (var j = 0; j < value.length; j++) {\n segment = encode(value[j])\n\n if (!matches[i].test(segment)) {\n throw new TypeError('Expected all \"' + token.name + '\" to match \"' + token.pattern + '\", but received `' + JSON.stringify(segment) + '`')\n }\n\n path += (j === 0 ? token.prefix : token.delimiter) + segment\n }\n\n continue\n }\n\n segment = token.asterisk ? encodeAsterisk(value) : encode(value)\n\n if (!matches[i].test(segment)) {\n throw new TypeError('Expected \"' + token.name + '\" to match \"' + token.pattern + '\", but received \"' + segment + '\"')\n }\n\n path += token.prefix + segment\n }\n\n return path\n }\n}\n\n/**\n * Escape a regular expression string.\n *\n * @param {string} str\n * @return {string}\n */\nfunction escapeString (str) {\n return str.replace(/([.+*?=^!:${}()[\\]|\\/\\\\])/g, '\\\\$1')\n}\n\n/**\n * Escape the capturing group by escaping special characters and meaning.\n *\n * @param {string} group\n * @return {string}\n */\nfunction escapeGroup (group) {\n return group.replace(/([=!:$\\/()])/g, '\\\\$1')\n}\n\n/**\n * Attach the keys as a property of the regexp.\n *\n * @param {!RegExp} re\n * @param {Array} keys\n * @return {!RegExp}\n */\nfunction attachKeys (re, keys) {\n re.keys = keys\n return re\n}\n\n/**\n * Get the flags for a regexp from the options.\n *\n * @param {Object} options\n * @return {string}\n */\nfunction flags (options) {\n return options && options.sensitive ? '' : 'i'\n}\n\n/**\n * Pull out keys from a regexp.\n *\n * @param {!RegExp} path\n * @param {!Array} keys\n * @return {!RegExp}\n */\nfunction regexpToRegexp (path, keys) {\n // Use a negative lookahead to match only capturing groups.\n var groups = path.source.match(/\\((?!\\?)/g)\n\n if (groups) {\n for (var i = 0; i < groups.length; i++) {\n keys.push({\n name: i,\n prefix: null,\n delimiter: null,\n optional: false,\n repeat: false,\n partial: false,\n asterisk: false,\n pattern: null\n })\n }\n }\n\n return attachKeys(path, keys)\n}\n\n/**\n * Transform an array into a regexp.\n *\n * @param {!Array} path\n * @param {Array} keys\n * @param {!Object} options\n * @return {!RegExp}\n */\nfunction arrayToRegexp (path, keys, options) {\n var parts = []\n\n for (var i = 0; i < path.length; i++) {\n parts.push(pathToRegexp(path[i], keys, options).source)\n }\n\n var regexp = new RegExp('(?:' + parts.join('|') + ')', flags(options))\n\n return attachKeys(regexp, keys)\n}\n\n/**\n * Create a path regexp from string input.\n *\n * @param {string} path\n * @param {!Array} keys\n * @param {!Object} options\n * @return {!RegExp}\n */\nfunction stringToRegexp (path, keys, options) {\n return tokensToRegExp(parse(path, options), keys, options)\n}\n\n/**\n * Expose a function for taking tokens and returning a RegExp.\n *\n * @param {!Array} tokens\n * @param {(Array|Object)=} keys\n * @param {Object=} options\n * @return {!RegExp}\n */\nfunction tokensToRegExp (tokens, keys, options) {\n if (!isarray(keys)) {\n options = /** @type {!Object} */ (keys || options)\n keys = []\n }\n\n options = options || {}\n\n var strict = options.strict\n var end = options.end !== false\n var route = ''\n\n // Iterate over the tokens and create our regexp string.\n for (var i = 0; i < tokens.length; i++) {\n var token = tokens[i]\n\n if (typeof token === 'string') {\n route += escapeString(token)\n } else {\n var prefix = escapeString(token.prefix)\n var capture = '(?:' + token.pattern + ')'\n\n keys.push(token)\n\n if (token.repeat) {\n capture += '(?:' + prefix + capture + ')*'\n }\n\n if (token.optional) {\n if (!token.partial) {\n capture = '(?:' + prefix + '(' + capture + '))?'\n } else {\n capture = prefix + '(' + capture + ')?'\n }\n } else {\n capture = prefix + '(' + capture + ')'\n }\n\n route += capture\n }\n }\n\n var delimiter = escapeString(options.delimiter || '/')\n var endsWithDelimiter = route.slice(-delimiter.length) === delimiter\n\n // In non-strict mode we allow a slash at the end of match. If the path to\n // match already ends with a slash, we remove it for consistency. The slash\n // is valid at the end of a path match, not in the middle. This is important\n // in non-ending mode, where \"/test/\" shouldn't match \"/test//route\".\n if (!strict) {\n route = (endsWithDelimiter ? route.slice(0, -delimiter.length) : route) + '(?:' + delimiter + '(?=$))?'\n }\n\n if (end) {\n route += '$'\n } else {\n // In non-ending mode, we need the capturing groups to match as much as\n // possible by using a positive lookahead to the end or next path segment.\n route += strict && endsWithDelimiter ? '' : '(?=' + delimiter + '|$)'\n }\n\n return attachKeys(new RegExp('^' + route, flags(options)), keys)\n}\n\n/**\n * Normalize the given path string, returning a regular expression.\n *\n * An empty array can be passed in for the keys, which will hold the\n * placeholder key descriptions. For example, using `/user/:id`, `keys` will\n * contain `[{ name: 'id', delimiter: '/', optional: false, repeat: false }]`.\n *\n * @param {(string|RegExp|Array)} path\n * @param {(Array|Object)=} keys\n * @param {Object=} options\n * @return {!RegExp}\n */\nfunction pathToRegexp (path, keys, options) {\n if (!isarray(keys)) {\n options = /** @type {!Object} */ (keys || options)\n keys = []\n }\n\n options = options || {}\n\n if (path instanceof RegExp) {\n return regexpToRegexp(path, /** @type {!Array} */ (keys))\n }\n\n if (isarray(path)) {\n return arrayToRegexp(/** @type {!Array} */ (path), /** @type {!Array} */ (keys), options)\n }\n\n return stringToRegexp(/** @type {string} */ (path), /** @type {!Array} */ (keys), options)\n}\n","export default function warn(s) {\n console.warn('[react-ga]', s);\n}","function _typeof(obj) { \"@babel/helpers - typeof\"; 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 ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction _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 _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 _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } return _assertThisInitialized(self); }\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 _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\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\nimport React, { Component } from 'react';\nimport PropTypes from 'prop-types';\nimport warn from '../utils/console/warn';\nvar NEWTAB = '_blank';\nvar MIDDLECLICK = 1;\n\nvar OutboundLink = /*#__PURE__*/function (_Component) {\n _inherits(OutboundLink, _Component);\n\n var _super = _createSuper(OutboundLink);\n\n function OutboundLink() {\n var _this;\n\n _classCallCheck(this, OutboundLink);\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n _this = _super.call.apply(_super, [this].concat(args));\n\n _defineProperty(_assertThisInitialized(_this), \"handleClick\", function (event) {\n var _this$props = _this.props,\n target = _this$props.target,\n eventLabel = _this$props.eventLabel,\n to = _this$props.to,\n onClick = _this$props.onClick,\n trackerNames = _this$props.trackerNames;\n var eventMeta = {\n label: eventLabel\n };\n var sameTarget = target !== NEWTAB;\n var normalClick = !(event.ctrlKey || event.shiftKey || event.metaKey || event.button === MIDDLECLICK);\n\n if (sameTarget && normalClick) {\n event.preventDefault();\n OutboundLink.trackLink(eventMeta, function () {\n window.location.href = to;\n }, trackerNames);\n } else {\n OutboundLink.trackLink(eventMeta, function () {}, trackerNames);\n }\n\n if (onClick) {\n onClick(event);\n }\n });\n\n return _this;\n }\n\n _createClass(OutboundLink, [{\n key: \"render\",\n value: function render() {\n var _this$props2 = this.props,\n href = _this$props2.to,\n target = _this$props2.target,\n oldProps = _objectWithoutProperties(_this$props2, [\"to\", \"target\"]);\n\n var props = _objectSpread(_objectSpread({}, oldProps), {}, {\n target: target,\n href: href,\n onClick: this.handleClick\n });\n\n if (target === NEWTAB) {\n props.rel = \"\".concat(props.rel ? props.rel : '', \" noopener noreferrer\").trim();\n }\n\n delete props.eventLabel;\n delete props.trackerNames;\n return /*#__PURE__*/React.createElement('a', props);\n }\n }]);\n\n return OutboundLink;\n}(Component);\n\n_defineProperty(OutboundLink, \"trackLink\", function () {\n warn('ga tracking not enabled');\n});\n\nexport { OutboundLink as default };\nOutboundLink.propTypes = {\n eventLabel: PropTypes.string.isRequired,\n target: PropTypes.string,\n to: PropTypes.string,\n onClick: PropTypes.func,\n trackerNames: PropTypes.arrayOf(PropTypes.string)\n};\nOutboundLink.defaultProps = {\n target: null,\n to: null,\n onClick: null,\n trackerNames: null\n};","import warn from './console/warn';\nimport mightBeEmail from './mightBeEmail';\nvar redacted = 'REDACTED (Potential Email Address)';\nexport default function redactEmail(string) {\n if (mightBeEmail(string)) {\n warn('This arg looks like an email address, redacting.');\n return redacted;\n }\n\n return string;\n}","// See if s could be an email address. We don't want to send personal data like email.\n// https://support.google.com/analytics/answer/2795983?hl=en\nexport default function mightBeEmail(s) {\n // There's no point trying to validate rfc822 fully, just look for ...@...\n return typeof s === 'string' && s.indexOf('@') !== -1;\n}","// GA strings need to have leading/trailing whitespace trimmed, and not all\n// browsers have String.prototoype.trim().\nexport default function trim(s) {\n return s && s.toString().replace(/^\\s+|\\s+$/g, '');\n}","/**\n * To Title Case 2.1 - http://individed.com/code/to-title-case/\n * Copyright 2008-2013 David Gouch. Licensed under the MIT License.\n * https://github.com/gouch/to-title-case\n */\nimport trim from './trim';\nvar smallWords = /^(a|an|and|as|at|but|by|en|for|if|in|nor|of|on|or|per|the|to|vs?\\.?|via)$/i; // test\n\nexport default function toTitleCase(string) {\n return trim(string).replace(/[A-Za-z0-9\\u00C0-\\u00FF]+[^\\s-]*/g, function (match, index, title) {\n if (index > 0 && index + match.length !== title.length && match.search(smallWords) > -1 && title.charAt(index - 2) !== ':' && (title.charAt(index + match.length) !== '-' || title.charAt(index - 1) === '-') && title.charAt(index - 1).search(/[^\\s-]/) < 0) {\n return match.toLowerCase();\n }\n\n if (match.substr(1).search(/[A-Z]|\\../) > -1) {\n return match;\n }\n\n return match.charAt(0).toUpperCase() + match.substr(1);\n });\n}","var isLoaded = false;\nexport default function (options) {\n if (isLoaded) return;\n isLoaded = true;\n var gaAddress = 'https://www.google-analytics.com/analytics.js';\n\n if (options && options.gaAddress) {\n gaAddress = options.gaAddress;\n } else if (options && options.debug) {\n gaAddress = 'https://www.google-analytics.com/analytics_debug.js';\n }\n\n var onerror = options && options.onerror; // https://developers.google.com/analytics/devguides/collection/analyticsjs/\n\n /* eslint-disable */\n\n (function (i, s, o, g, r, a, m) {\n i['GoogleAnalyticsObject'] = r;\n i[r] = i[r] || function () {\n (i[r].q = i[r].q || []).push(arguments);\n }, i[r].l = 1 * new Date();\n a = s.createElement(o), m = s.getElementsByTagName(o)[0];\n a.async = 1;\n a.src = g;\n a.onerror = onerror;\n m.parentNode.insertBefore(a, m);\n })(window, document, 'script', gaAddress, 'ga');\n /* eslint-enable */\n\n}","export default function log(s) {\n console.info('[react-ga]', s);\n}","export var gaCalls = [];\nexport default {\n calls: gaCalls,\n ga: function ga() {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n gaCalls.push([].concat(args));\n },\n resetCalls: function resetCalls() {\n gaCalls.length = 0;\n }\n};","function _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 ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction _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\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; 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 _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }\n\nfunction _nonIterableSpread() { throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _iterableToArray(iter) { if (typeof Symbol !== \"undefined\" && Symbol.iterator in Object(iter)) return Array.from(iter); }\n\nfunction _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\n/**\n * React Google Analytics Module\n *\n * @package react-ga\n * @author Adam Lofting <adam@mozillafoundation.org>\n * Atul Varma <atul@mozillafoundation.org>\n */\n\n/**\n * Utilities\n */\nimport format from './utils/format';\nimport removeLeadingSlash from './utils/removeLeadingSlash';\nimport trim from './utils/trim';\nimport loadGA from './utils/loadGA';\nimport warn from './utils/console/warn';\nimport log from './utils/console/log';\nimport TestModeAPI from './utils/testModeAPI';\n\nvar _isNotBrowser = typeof window === 'undefined' || typeof document === 'undefined';\n\nvar _debug = false;\nvar _titleCase = true;\nvar _testMode = false;\nvar _alwaysSendToDefaultTracker = true;\nvar _redactEmail = true;\n\nvar internalGa = function internalGa() {\n var _window;\n\n if (_testMode) return TestModeAPI.ga.apply(TestModeAPI, arguments);\n if (_isNotBrowser) return false;\n if (!window.ga) return warn('ReactGA.initialize must be called first or GoogleAnalytics should be loaded manually');\n return (_window = window).ga.apply(_window, arguments);\n};\n\nfunction _format(s) {\n return format(s, _titleCase, _redactEmail);\n}\n\nfunction _gaCommand(trackerNames) {\n for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n args[_key - 1] = arguments[_key];\n }\n\n var command = args[0];\n\n if (typeof internalGa === 'function') {\n if (typeof command !== 'string') {\n warn('ga command must be a string');\n return;\n }\n\n if (_alwaysSendToDefaultTracker || !Array.isArray(trackerNames)) internalGa.apply(void 0, args);\n\n if (Array.isArray(trackerNames)) {\n trackerNames.forEach(function (name) {\n internalGa.apply(void 0, _toConsumableArray([\"\".concat(name, \".\").concat(command)].concat(args.slice(1))));\n });\n }\n }\n}\n\nfunction _initialize(gaTrackingID, options) {\n if (!gaTrackingID) {\n warn('gaTrackingID is required in initialize()');\n return;\n }\n\n if (options) {\n if (options.debug && options.debug === true) {\n _debug = true;\n }\n\n if (options.titleCase === false) {\n _titleCase = false;\n }\n\n if (options.redactEmail === false) {\n _redactEmail = false;\n }\n\n if (options.useExistingGa) {\n return;\n }\n }\n\n if (options && options.gaOptions) {\n internalGa('create', gaTrackingID, options.gaOptions);\n } else {\n internalGa('create', gaTrackingID, 'auto');\n }\n}\n\nexport function addTrackers(configsOrTrackingId, options) {\n if (Array.isArray(configsOrTrackingId)) {\n configsOrTrackingId.forEach(function (config) {\n if (_typeof(config) !== 'object') {\n warn('All configs must be an object');\n return;\n }\n\n _initialize(config.trackingId, config);\n });\n } else {\n _initialize(configsOrTrackingId, options);\n }\n\n return true;\n}\nexport function initialize(configsOrTrackingId, options) {\n if (options && options.testMode === true) {\n _testMode = true;\n } else {\n if (_isNotBrowser) {\n return;\n }\n\n if (!options || options.standardImplementation !== true) loadGA(options);\n }\n\n _alwaysSendToDefaultTracker = options && typeof options.alwaysSendToDefaultTracker === 'boolean' ? options.alwaysSendToDefaultTracker : true;\n addTrackers(configsOrTrackingId, options);\n}\n/**\n * ga:\n * Returns the original GA object.\n */\n\nexport function ga() {\n for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n args[_key2] = arguments[_key2];\n }\n\n if (args.length > 0) {\n internalGa.apply(void 0, args);\n\n if (_debug) {\n log(\"called ga('arguments');\");\n log(\"with arguments: \".concat(JSON.stringify(args)));\n }\n }\n\n return window.ga;\n}\n/**\n * set:\n * GA tracker set method\n * @param {Object} fieldsObject - a field/value pair or a group of field/value pairs on the tracker\n * @param {Array} trackerNames - (optional) a list of extra trackers to run the command on\n */\n\nexport function set(fieldsObject, trackerNames) {\n if (!fieldsObject) {\n warn('`fieldsObject` is required in .set()');\n return;\n }\n\n if (_typeof(fieldsObject) !== 'object') {\n warn('Expected `fieldsObject` arg to be an Object');\n return;\n }\n\n if (Object.keys(fieldsObject).length === 0) {\n warn('empty `fieldsObject` given to .set()');\n }\n\n _gaCommand(trackerNames, 'set', fieldsObject);\n\n if (_debug) {\n log(\"called ga('set', fieldsObject);\");\n log(\"with fieldsObject: \".concat(JSON.stringify(fieldsObject)));\n }\n}\n/**\n * send:\n * Clone of the low level `ga.send` method\n * WARNING: No validations will be applied to this\n * @param {Object} fieldObject - field object for tracking different analytics\n * @param {Array} trackerNames - trackers to send the command to\n * @param {Array} trackerNames - (optional) a list of extra trackers to run the command on\n */\n\nexport function send(fieldObject, trackerNames) {\n _gaCommand(trackerNames, 'send', fieldObject);\n\n if (_debug) {\n log(\"called ga('send', fieldObject);\");\n log(\"with fieldObject: \".concat(JSON.stringify(fieldObject)));\n log(\"with trackers: \".concat(JSON.stringify(trackerNames)));\n }\n}\n/**\n * pageview:\n * Basic GA pageview tracking\n * @param {String} path - the current page page e.g. '/about'\n * @param {Array} trackerNames - (optional) a list of extra trackers to run the command on\n * @param {String} title - (optional) the page title e. g. 'My Website'\n */\n\nexport function pageview(rawPath, trackerNames, title) {\n if (!rawPath) {\n warn('path is required in .pageview()');\n return;\n }\n\n var path = trim(rawPath);\n\n if (path === '') {\n warn('path cannot be an empty string in .pageview()');\n return;\n }\n\n var extraFields = {};\n\n if (title) {\n extraFields.title = title;\n }\n\n if (typeof ga === 'function') {\n _gaCommand(trackerNames, 'send', _objectSpread({\n hitType: 'pageview',\n page: path\n }, extraFields));\n\n if (_debug) {\n log(\"called ga('send', 'pageview', path);\");\n var extraLog = '';\n\n if (title) {\n extraLog = \" and title: \".concat(title);\n }\n\n log(\"with path: \".concat(path).concat(extraLog));\n }\n }\n}\n/**\n * modalview:\n * a proxy to basic GA pageview tracking to consistently track\n * modal views that are an equivalent UX to a traditional pageview\n * @param {String} modalName e.g. 'add-or-edit-club'\n * @param {Array} trackerNames - (optional) a list of extra trackers to run the command on\n */\n\nexport function modalview(rawModalName, trackerNames) {\n if (!rawModalName) {\n warn('modalName is required in .modalview(modalName)');\n return;\n }\n\n var modalName = removeLeadingSlash(trim(rawModalName));\n\n if (modalName === '') {\n warn('modalName cannot be an empty string or a single / in .modalview()');\n return;\n }\n\n if (typeof ga === 'function') {\n var path = \"/modal/\".concat(modalName);\n\n _gaCommand(trackerNames, 'send', 'pageview', path);\n\n if (_debug) {\n log(\"called ga('send', 'pageview', path);\");\n log(\"with path: \".concat(path));\n }\n }\n}\n/**\n * timing:\n * GA timing\n * @param args.category {String} required\n * @param args.variable {String} required\n * @param args.value {Int} required\n * @param args.label {String} required\n * @param {Array} trackerNames - (optional) a list of extra trackers to run the command on\n */\n\nexport function timing() {\n var _ref = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n category = _ref.category,\n variable = _ref.variable,\n value = _ref.value,\n label = _ref.label;\n\n var trackerNames = arguments.length > 1 ? arguments[1] : undefined;\n\n if (typeof ga === 'function') {\n if (!category || !variable || typeof value !== 'number') {\n warn('args.category, args.variable ' + 'AND args.value are required in timing() ' + 'AND args.value has to be a number');\n return;\n } // Required Fields\n\n\n var fieldObject = {\n hitType: 'timing',\n timingCategory: _format(category),\n timingVar: _format(variable),\n timingValue: value\n };\n\n if (label) {\n fieldObject.timingLabel = _format(label);\n }\n\n send(fieldObject, trackerNames);\n }\n}\n/**\n * event:\n * GA event tracking\n * @param args.category {String} required\n * @param args.action {String} required\n * @param args.label {String} optional\n * @param args.value {Int} optional\n * @param args.nonInteraction {boolean} optional\n * @param args.transport {string} optional\n * @param {{action: string, category: string}} trackerNames - (optional) a list of extra trackers to run the command on\n */\n\nexport function event() {\n var _ref2 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n category = _ref2.category,\n action = _ref2.action,\n label = _ref2.label,\n value = _ref2.value,\n nonInteraction = _ref2.nonInteraction,\n transport = _ref2.transport,\n args = _objectWithoutProperties(_ref2, [\"category\", \"action\", \"label\", \"value\", \"nonInteraction\", \"transport\"]);\n\n var trackerNames = arguments.length > 1 ? arguments[1] : undefined;\n\n if (typeof ga === 'function') {\n // Simple Validation\n if (!category || !action) {\n warn('args.category AND args.action are required in event()');\n return;\n } // Required Fields\n\n\n var fieldObject = {\n hitType: 'event',\n eventCategory: _format(category),\n eventAction: _format(action)\n }; // Optional Fields\n\n if (label) {\n fieldObject.eventLabel = _format(label);\n }\n\n if (typeof value !== 'undefined') {\n if (typeof value !== 'number') {\n warn('Expected `args.value` arg to be a Number.');\n } else {\n fieldObject.eventValue = value;\n }\n }\n\n if (typeof nonInteraction !== 'undefined') {\n if (typeof nonInteraction !== 'boolean') {\n warn('`args.nonInteraction` must be a boolean.');\n } else {\n fieldObject.nonInteraction = nonInteraction;\n }\n }\n\n if (typeof transport !== 'undefined') {\n if (typeof transport !== 'string') {\n warn('`args.transport` must be a string.');\n } else {\n if (['beacon', 'xhr', 'image'].indexOf(transport) === -1) {\n warn('`args.transport` must be either one of these values: `beacon`, `xhr` or `image`');\n }\n\n fieldObject.transport = transport;\n }\n }\n\n Object.keys(args).filter(function (key) {\n return key.substr(0, 'dimension'.length) === 'dimension';\n }).forEach(function (key) {\n fieldObject[key] = args[key];\n });\n Object.keys(args).filter(function (key) {\n return key.substr(0, 'metric'.length) === 'metric';\n }).forEach(function (key) {\n fieldObject[key] = args[key];\n }); // Send to GA\n\n send(fieldObject, trackerNames);\n }\n}\n/**\n * exception:\n * GA exception tracking\n * @param args.description {String} optional\n * @param args.fatal {boolean} optional\n * @param {Array} trackerNames - (optional) a list of extra trackers to run the command on\n */\n\nexport function exception(_ref3, trackerNames) {\n var description = _ref3.description,\n fatal = _ref3.fatal;\n\n if (typeof ga === 'function') {\n // Required Fields\n var fieldObject = {\n hitType: 'exception'\n }; // Optional Fields\n\n if (description) {\n fieldObject.exDescription = _format(description);\n }\n\n if (typeof fatal !== 'undefined') {\n if (typeof fatal !== 'boolean') {\n warn('`args.fatal` must be a boolean.');\n } else {\n fieldObject.exFatal = fatal;\n }\n } // Send to GA\n\n\n send(fieldObject, trackerNames);\n }\n}\nexport var plugin = {\n /**\n * require:\n * GA requires a plugin\n * @param name {String} e.g. 'ecommerce' or 'myplugin'\n * @param options {Object} optional e.g {path: '/log', debug: true}\n * @param trackerName {String} optional e.g 'trackerName'\n */\n require: function require(rawName, options, trackerName) {\n if (typeof ga === 'function') {\n // Required Fields\n if (!rawName) {\n warn('`name` is required in .require()');\n return;\n }\n\n var name = trim(rawName);\n\n if (name === '') {\n warn('`name` cannot be an empty string in .require()');\n return;\n }\n\n var requireString = trackerName ? \"\".concat(trackerName, \".require\") : 'require'; // Optional Fields\n\n if (options) {\n if (_typeof(options) !== 'object') {\n warn('Expected `options` arg to be an Object');\n return;\n }\n\n if (Object.keys(options).length === 0) {\n warn('Empty `options` given to .require()');\n }\n\n ga(requireString, name, options);\n\n if (_debug) {\n log(\"called ga('require', '\".concat(name, \"', \").concat(JSON.stringify(options)));\n }\n } else {\n ga(requireString, name);\n\n if (_debug) {\n log(\"called ga('require', '\".concat(name, \"');\"));\n }\n }\n }\n },\n\n /**\n * execute:\n * GA execute action for plugin\n * Takes variable number of arguments\n * @param pluginName {String} e.g. 'ecommerce' or 'myplugin'\n * @param action {String} e.g. 'addItem' or 'myCustomAction'\n * @param actionType {String} optional e.g. 'detail'\n * @param payload {Object} optional e.g { id: '1x5e', name : 'My product to track' }\n */\n execute: function execute(pluginName, action) {\n var payload;\n var actionType;\n\n for (var _len3 = arguments.length, args = new Array(_len3 > 2 ? _len3 - 2 : 0), _key3 = 2; _key3 < _len3; _key3++) {\n args[_key3 - 2] = arguments[_key3];\n }\n\n if (args.length === 1) {\n payload = args[0];\n } else {\n actionType = args[0];\n payload = args[1];\n }\n\n if (typeof ga === 'function') {\n if (typeof pluginName !== 'string') {\n warn('Expected `pluginName` arg to be a String.');\n } else if (typeof action !== 'string') {\n warn('Expected `action` arg to be a String.');\n } else {\n var command = \"\".concat(pluginName, \":\").concat(action);\n payload = payload || null;\n\n if (actionType && payload) {\n ga(command, actionType, payload);\n\n if (_debug) {\n log(\"called ga('\".concat(command, \"');\"));\n log(\"actionType: \\\"\".concat(actionType, \"\\\" with payload: \").concat(JSON.stringify(payload)));\n }\n } else if (payload) {\n ga(command, payload);\n\n if (_debug) {\n log(\"called ga('\".concat(command, \"');\"));\n log(\"with payload: \".concat(JSON.stringify(payload)));\n }\n } else {\n ga(command);\n\n if (_debug) {\n log(\"called ga('\".concat(command, \"');\"));\n }\n }\n }\n }\n }\n};\n/**\n * outboundLink:\n * GA outboundLink tracking\n * @param args.label {String} e.g. url, or 'Create an Account'\n * @param {function} hitCallback - Called after processing a hit.\n */\n\nexport function outboundLink(args, hitCallback, trackerNames) {\n if (typeof hitCallback !== 'function') {\n warn('hitCallback function is required');\n return;\n }\n\n if (typeof ga === 'function') {\n // Simple Validation\n if (!args || !args.label) {\n warn('args.label is required in outboundLink()');\n return;\n } // Required Fields\n\n\n var fieldObject = {\n hitType: 'event',\n eventCategory: 'Outbound',\n eventAction: 'Click',\n eventLabel: _format(args.label)\n };\n var safetyCallbackCalled = false;\n\n var safetyCallback = function safetyCallback() {\n // This prevents a delayed response from GA\n // causing hitCallback from being fired twice\n safetyCallbackCalled = true;\n hitCallback();\n }; // Using a timeout to ensure the execution of critical application code\n // in the case when the GA server might be down\n // or an ad blocker prevents sending the data\n // register safety net timeout:\n\n\n var t = setTimeout(safetyCallback, 250);\n\n var clearableCallbackForGA = function clearableCallbackForGA() {\n clearTimeout(t);\n\n if (!safetyCallbackCalled) {\n hitCallback();\n }\n };\n\n fieldObject.hitCallback = clearableCallbackForGA; // Send to GA\n\n send(fieldObject, trackerNames);\n } else {\n // if ga is not defined, return the callback so the application\n // continues to work as expected\n setTimeout(hitCallback, 0);\n }\n}\nexport var testModeAPI = TestModeAPI;\nexport default {\n initialize: initialize,\n ga: ga,\n set: set,\n send: send,\n pageview: pageview,\n modalview: modalview,\n timing: timing,\n event: event,\n exception: exception,\n plugin: plugin,\n outboundLink: outboundLink,\n testModeAPI: TestModeAPI\n};","import redactEmail from './redactEmail';\nimport toTitleCase from './toTitleCase';\nexport default function format() {\n var s = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : '';\n var titleCase = arguments.length > 1 ? arguments[1] : undefined;\n var redactingEmail = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : true;\n\n var _str = s || '';\n\n if (titleCase) {\n _str = toTitleCase(s);\n }\n\n if (redactingEmail) {\n _str = redactEmail(_str);\n }\n\n return _str;\n}","export default function removeLeadingSlash(string) {\n if (string.substring(0, 1) === '/') {\n return string.substring(1);\n }\n\n return string;\n}","function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction _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\nimport UnboundOutboundLink from './components/OutboundLink';\nimport * as Defaults from './core';\nvar initialize = Defaults.initialize;\nexport { initialize };\nvar addTrackers = Defaults.addTrackers;\nexport { addTrackers };\nvar ga = Defaults.ga;\nexport { ga };\nvar set = Defaults.set;\nexport { set };\nvar send = Defaults.send;\nexport { send };\nvar pageview = Defaults.pageview;\nexport { pageview };\nvar modalview = Defaults.modalview;\nexport { modalview };\nvar timing = Defaults.timing;\nexport { timing };\nvar event = Defaults.event;\nexport { event };\nvar exception = Defaults.exception;\nexport { exception };\nvar plugin = Defaults.plugin;\nexport { plugin };\nvar outboundLink = Defaults.outboundLink;\nexport { outboundLink };\nvar testModeAPI = Defaults.testModeAPI;\nexport { testModeAPI };\nUnboundOutboundLink.origTrackLink = UnboundOutboundLink.trackLink;\nUnboundOutboundLink.trackLink = Defaults.outboundLink;\nexport var OutboundLink = UnboundOutboundLink;\nexport default _objectSpread(_objectSpread({}, Defaults), {}, {\n OutboundLink: OutboundLink\n});","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _without from \"lodash-es/without\";\nimport cx from 'clsx';\nimport PropTypes from 'prop-types';\nimport React from 'react';\nimport { childrenUtils, customPropTypes, getElementType, getUnhandledProps, SUI, useKeyOnly } from '../../lib';\n/**\n * A group of segments can be formatted to appear together.\n */\n\nfunction SegmentGroup(props) {\n var children = props.children,\n className = props.className,\n compact = props.compact,\n content = props.content,\n horizontal = props.horizontal,\n piled = props.piled,\n raised = props.raised,\n size = props.size,\n stacked = props.stacked;\n var classes = cx('ui', size, useKeyOnly(compact, 'compact'), useKeyOnly(horizontal, 'horizontal'), useKeyOnly(piled, 'piled'), useKeyOnly(raised, 'raised'), useKeyOnly(stacked, 'stacked'), 'segments', className);\n var rest = getUnhandledProps(SegmentGroup, props);\n var ElementType = getElementType(SegmentGroup, props);\n return /*#__PURE__*/React.createElement(ElementType, _extends({}, rest, {\n className: classes\n }), childrenUtils.isNil(children) ? content : children);\n}\n\nSegmentGroup.handledProps = [\"as\", \"children\", \"className\", \"compact\", \"content\", \"horizontal\", \"piled\", \"raised\", \"size\", \"stacked\"];\nSegmentGroup.propTypes = process.env.NODE_ENV !== \"production\" ? {\n /** An element type to render as (string or function). */\n as: PropTypes.elementType,\n\n /** Primary content. */\n children: PropTypes.node,\n\n /** Additional classes. */\n className: PropTypes.string,\n\n /** A segment may take up only as much space as is necessary. */\n compact: PropTypes.bool,\n\n /** Shorthand for primary content. */\n content: customPropTypes.contentShorthand,\n\n /** Formats content to be aligned horizontally. */\n horizontal: PropTypes.bool,\n\n /** Formatted to look like a pile of pages. */\n piled: PropTypes.bool,\n\n /** A segment group may be formatted to raise above the page. */\n raised: PropTypes.bool,\n\n /** A segment group can have different sizes. */\n size: PropTypes.oneOf(_without(SUI.SIZES, 'medium')),\n\n /** Formatted to show it contains multiple pages. */\n stacked: PropTypes.bool\n} : {};\nexport default SegmentGroup;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport cx from 'clsx';\nimport PropTypes from 'prop-types';\nimport React from 'react';\nimport { childrenUtils, customPropTypes, getElementType, getUnhandledProps } from '../../lib';\n/**\n * A placeholder segment can be inline.\n */\n\nfunction SegmentInline(props) {\n var children = props.children,\n className = props.className,\n content = props.content;\n var classes = cx('inline', className);\n var rest = getUnhandledProps(SegmentInline, props);\n var ElementType = getElementType(SegmentInline, props);\n return /*#__PURE__*/React.createElement(ElementType, _extends({}, rest, {\n className: classes\n }), childrenUtils.isNil(children) ? content : children);\n}\n\nSegmentInline.handledProps = [\"as\", \"children\", \"className\", \"content\"];\nSegmentInline.propTypes = process.env.NODE_ENV !== \"production\" ? {\n /** An element type to render as (string or function). */\n as: PropTypes.elementType,\n\n /** Primary content. */\n children: PropTypes.node,\n\n /** Additional classes. */\n className: PropTypes.string,\n\n /** Shorthand for primary content. */\n content: customPropTypes.contentShorthand\n} : {};\nexport default SegmentInline;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _without from \"lodash-es/without\";\nimport cx from 'clsx';\nimport PropTypes from 'prop-types';\nimport React from 'react';\nimport { childrenUtils, customPropTypes, getElementType, getUnhandledProps, SUI, useKeyOnly, useKeyOrValueAndKey, useTextAlignProp, useValueAndKey } from '../../lib';\nimport SegmentGroup from './SegmentGroup';\nimport SegmentInline from './SegmentInline';\n/**\n * A segment is used to create a grouping of related content.\n */\n\nfunction Segment(props) {\n var attached = props.attached,\n basic = props.basic,\n children = props.children,\n circular = props.circular,\n className = props.className,\n clearing = props.clearing,\n color = props.color,\n compact = props.compact,\n content = props.content,\n disabled = props.disabled,\n floated = props.floated,\n inverted = props.inverted,\n loading = props.loading,\n placeholder = props.placeholder,\n padded = props.padded,\n piled = props.piled,\n raised = props.raised,\n secondary = props.secondary,\n size = props.size,\n stacked = props.stacked,\n tertiary = props.tertiary,\n textAlign = props.textAlign,\n vertical = props.vertical;\n var classes = cx('ui', color, size, useKeyOnly(basic, 'basic'), useKeyOnly(circular, 'circular'), useKeyOnly(clearing, 'clearing'), useKeyOnly(compact, 'compact'), useKeyOnly(disabled, 'disabled'), useKeyOnly(inverted, 'inverted'), useKeyOnly(loading, 'loading'), useKeyOnly(placeholder, 'placeholder'), useKeyOnly(piled, 'piled'), useKeyOnly(raised, 'raised'), useKeyOnly(secondary, 'secondary'), useKeyOnly(stacked, 'stacked'), useKeyOnly(tertiary, 'tertiary'), useKeyOnly(vertical, 'vertical'), useKeyOrValueAndKey(attached, 'attached'), useKeyOrValueAndKey(padded, 'padded'), useTextAlignProp(textAlign), useValueAndKey(floated, 'floated'), 'segment', className);\n var rest = getUnhandledProps(Segment, props);\n var ElementType = getElementType(Segment, props);\n return /*#__PURE__*/React.createElement(ElementType, _extends({}, rest, {\n className: classes\n }), childrenUtils.isNil(children) ? content : children);\n}\n\nSegment.handledProps = [\"as\", \"attached\", \"basic\", \"children\", \"circular\", \"className\", \"clearing\", \"color\", \"compact\", \"content\", \"disabled\", \"floated\", \"inverted\", \"loading\", \"padded\", \"piled\", \"placeholder\", \"raised\", \"secondary\", \"size\", \"stacked\", \"tertiary\", \"textAlign\", \"vertical\"];\nSegment.Group = SegmentGroup;\nSegment.Inline = SegmentInline;\nSegment.propTypes = process.env.NODE_ENV !== \"production\" ? {\n /** An element type to render as (string or function). */\n as: PropTypes.elementType,\n\n /** Attach segment to other content, like a header. */\n attached: PropTypes.oneOfType([PropTypes.bool, PropTypes.oneOf(['top', 'bottom'])]),\n\n /** A basic segment has no special formatting. */\n basic: PropTypes.bool,\n\n /** Primary content. */\n children: PropTypes.node,\n\n /** A segment can be circular. */\n circular: PropTypes.bool,\n\n /** Additional classes. */\n className: PropTypes.string,\n\n /** A segment can clear floated content. */\n clearing: PropTypes.bool,\n\n /** Segment can be colored. */\n color: PropTypes.oneOf(SUI.COLORS),\n\n /** A segment may take up only as much space as is necessary. */\n compact: PropTypes.bool,\n\n /** Shorthand for primary content. */\n content: customPropTypes.contentShorthand,\n\n /** A segment may show its content is disabled. */\n disabled: PropTypes.bool,\n\n /** Segment content can be floated to the left or right. */\n floated: PropTypes.oneOf(SUI.FLOATS),\n\n /** A segment can have its colors inverted for contrast. */\n inverted: PropTypes.bool,\n\n /** A segment may show its content is being loaded. */\n loading: PropTypes.bool,\n\n /** A segment can increase its padding. */\n padded: PropTypes.oneOfType([PropTypes.bool, PropTypes.oneOf(['very'])]),\n\n /** A segment can be used to reserve space for conditionally displayed content. */\n placeholder: PropTypes.bool,\n\n /** Formatted to look like a pile of pages. */\n piled: PropTypes.bool,\n\n /** A segment may be formatted to raise above the page. */\n raised: PropTypes.bool,\n\n /** A segment can be formatted to appear less noticeable. */\n secondary: PropTypes.bool,\n\n /** A segment can have different sizes. */\n size: PropTypes.oneOf(_without(SUI.SIZES, 'medium')),\n\n /** Formatted to show it contains multiple pages. */\n stacked: PropTypes.bool,\n\n /** A segment can be formatted to appear even less noticeable. */\n tertiary: PropTypes.bool,\n\n /** Formats content to be aligned as part of a vertical group. */\n textAlign: PropTypes.oneOf(_without(SUI.TEXT_ALIGNMENTS, 'justified')),\n\n /** Formats content to be aligned vertically. */\n vertical: PropTypes.bool\n} : {};\nexport default Segment;","var scope = (typeof global !== \"undefined\" && global) ||\n (typeof self !== \"undefined\" && self) ||\n window;\nvar apply = Function.prototype.apply;\n\n// DOM APIs, for completeness\n\nexports.setTimeout = function() {\n return new Timeout(apply.call(setTimeout, scope, arguments), clearTimeout);\n};\nexports.setInterval = function() {\n return new Timeout(apply.call(setInterval, scope, arguments), clearInterval);\n};\nexports.clearTimeout =\nexports.clearInterval = function(timeout) {\n if (timeout) {\n timeout.close();\n }\n};\n\nfunction Timeout(id, clearFn) {\n this._id = id;\n this._clearFn = clearFn;\n}\nTimeout.prototype.unref = Timeout.prototype.ref = function() {};\nTimeout.prototype.close = function() {\n this._clearFn.call(scope, this._id);\n};\n\n// Does not start the time, just sets up the members needed.\nexports.enroll = function(item, msecs) {\n clearTimeout(item._idleTimeoutId);\n item._idleTimeout = msecs;\n};\n\nexports.unenroll = function(item) {\n clearTimeout(item._idleTimeoutId);\n item._idleTimeout = -1;\n};\n\nexports._unrefActive = exports.active = function(item) {\n clearTimeout(item._idleTimeoutId);\n\n var msecs = item._idleTimeout;\n if (msecs >= 0) {\n item._idleTimeoutId = setTimeout(function onTimeout() {\n if (item._onTimeout)\n item._onTimeout();\n }, msecs);\n }\n};\n\n// setimmediate attaches itself to the global object\nrequire(\"setimmediate\");\n// On some exotic environments, it's not clear which object `setimmediate` was\n// able to install onto. Search each possibility in the same order as the\n// `setimmediate` library.\nexports.setImmediate = (typeof self !== \"undefined\" && self.setImmediate) ||\n (typeof global !== \"undefined\" && global.setImmediate) ||\n (this && this.setImmediate);\nexports.clearImmediate = (typeof self !== \"undefined\" && self.clearImmediate) ||\n (typeof global !== \"undefined\" && global.clearImmediate) ||\n (this && this.clearImmediate);\n","// Unique ID creation requires a high quality random # generator. In the\n// browser this is a little complicated due to unknown quality of Math.random()\n// and inconsistent support for the `crypto` API. We do the best we can via\n// feature-detection\n\n// getRandomValues needs to be invoked in a context where \"this\" is a Crypto\n// implementation. Also, find the complete implementation of crypto on IE11.\nvar getRandomValues = (typeof(crypto) != 'undefined' && crypto.getRandomValues && crypto.getRandomValues.bind(crypto)) ||\n (typeof(msCrypto) != 'undefined' && typeof window.msCrypto.getRandomValues == 'function' && msCrypto.getRandomValues.bind(msCrypto));\n\nif (getRandomValues) {\n // WHATWG crypto RNG - http://wiki.whatwg.org/wiki/Crypto\n var rnds8 = new Uint8Array(16); // eslint-disable-line no-undef\n\n module.exports = function whatwgRNG() {\n getRandomValues(rnds8);\n return rnds8;\n };\n} else {\n // Math.random()-based (RNG)\n //\n // If all else fails, use Math.random(). It's fast, but is of unspecified\n // quality.\n var rnds = new Array(16);\n\n module.exports = function mathRNG() {\n for (var i = 0, r; i < 16; i++) {\n if ((i & 0x03) === 0) r = Math.random() * 0x100000000;\n rnds[i] = r >>> ((i & 0x03) << 3) & 0xff;\n }\n\n return rnds;\n };\n}\n","/**\n * Convert array of 16 byte values to UUID string format of the form:\n * XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX\n */\nvar byteToHex = [];\nfor (var i = 0; i < 256; ++i) {\n byteToHex[i] = (i + 0x100).toString(16).substr(1);\n}\n\nfunction bytesToUuid(buf, offset) {\n var i = offset || 0;\n var bth = byteToHex;\n // join used to fix memory issue caused by concatenation: https://bugs.chromium.org/p/v8/issues/detail?id=3175#c4\n return ([\n bth[buf[i++]], bth[buf[i++]],\n bth[buf[i++]], bth[buf[i++]], '-',\n bth[buf[i++]], bth[buf[i++]], '-',\n bth[buf[i++]], bth[buf[i++]], '-',\n bth[buf[i++]], bth[buf[i++]], '-',\n bth[buf[i++]], bth[buf[i++]],\n bth[buf[i++]], bth[buf[i++]],\n bth[buf[i++]], bth[buf[i++]]\n ]).join('');\n}\n\nmodule.exports = bytesToUuid;\n","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _assertThisInitialized from \"@babel/runtime/helpers/esm/assertThisInitialized\";\nimport _inheritsLoose from \"@babel/runtime/helpers/esm/inheritsLoose\";\nimport _isUndefined from \"lodash-es/isUndefined\";\nimport _startsWith from \"lodash-es/startsWith\";\nimport _filter from \"lodash-es/filter\";\nimport _isEmpty from \"lodash-es/isEmpty\";\nimport _keys from \"lodash-es/keys\";\nimport _intersection from \"lodash-es/intersection\";\nimport _has from \"lodash-es/has\";\nimport _each from \"lodash-es/each\";\nimport _invoke from \"lodash-es/invoke\";\nimport React from 'react';\n\nvar getDefaultPropName = function getDefaultPropName(prop) {\n return \"default\" + (prop[0].toUpperCase() + prop.slice(1));\n};\n/**\n * Return the auto controlled state value for a give prop. The initial value is chosen in this order:\n * - regular props\n * - then, default props\n * - then, initial state\n * - then, `checked` defaults to false\n * - then, `value` defaults to '' or [] if props.multiple\n * - else, undefined\n *\n * @param {string} propName A prop name\n * @param {object} [props] A props object\n * @param {object} [state] A state object\n * @param {boolean} [includeDefaults=false] Whether or not to heed the default props or initial state\n */\n\n\nvar getAutoControlledStateValue = function getAutoControlledStateValue(propName, props, state, includeDefaults) {\n if (includeDefaults === void 0) {\n includeDefaults = false;\n }\n\n // regular props\n var propValue = props[propName];\n if (propValue !== undefined) return propValue;\n\n if (includeDefaults) {\n // defaultProps\n var defaultProp = props[getDefaultPropName(propName)];\n if (defaultProp !== undefined) return defaultProp; // initial state - state may be null or undefined\n\n if (state) {\n var initialState = state[propName];\n if (initialState !== undefined) return initialState;\n }\n } // React doesn't allow changing from uncontrolled to controlled components,\n // default checked/value if they were not present.\n\n\n if (propName === 'checked') return false;\n if (propName === 'value') return props.multiple ? [] : ''; // otherwise, undefined\n};\n\nvar ModernAutoControlledComponent = /*#__PURE__*/function (_React$Component) {\n _inheritsLoose(ModernAutoControlledComponent, _React$Component);\n\n function ModernAutoControlledComponent() {\n var _this;\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 = _React$Component.call.apply(_React$Component, [this].concat(args)) || this;\n var _this$constructor = _this.constructor,\n autoControlledProps = _this$constructor.autoControlledProps,\n getAutoControlledStateFromProps = _this$constructor.getAutoControlledStateFromProps;\n var state = _invoke(_assertThisInitialized(_this), 'getInitialAutoControlledState', _this.props) || {};\n\n if (process.env.NODE_ENV !== 'production') {\n var _this$constructor2 = _this.constructor,\n defaultProps = _this$constructor2.defaultProps,\n name = _this$constructor2.name,\n propTypes = _this$constructor2.propTypes,\n getDerivedStateFromProps = _this$constructor2.getDerivedStateFromProps; // require usage of getAutoControlledStateFromProps()\n\n if (getDerivedStateFromProps !== ModernAutoControlledComponent.getDerivedStateFromProps) {\n /* eslint-disable-next-line no-console */\n console.error(\"Auto controlled \" + name + \" must specify a static getAutoControlledStateFromProps() instead of getDerivedStateFromProps().\");\n } // require propTypes\n\n\n _each(autoControlledProps, function (prop) {\n var defaultProp = getDefaultPropName(prop); // regular prop\n\n if (!_has(propTypes, defaultProp)) {\n console.error(name + \" is missing \\\"\" + defaultProp + \"\\\" propTypes validation for auto controlled prop \\\"\" + prop + \"\\\".\");\n } // its default prop\n\n\n if (!_has(propTypes, prop)) {\n console.error(name + \" is missing propTypes validation for auto controlled prop \\\"\" + prop + \"\\\".\");\n }\n }); // prevent autoControlledProps in defaultProps\n //\n // When setting state, auto controlled props values always win (so the parent can manage them).\n // It is not reasonable to decipher the difference between props from the parent and defaultProps.\n // Allowing defaultProps results in trySetState always deferring to the defaultProp value.\n // Auto controlled props also listed in defaultProps can never be updated.\n //\n // To set defaults for an AutoControlled prop, you can set the initial state in the\n // constructor or by using an ES7 property initializer:\n // https://babeljs.io/blog/2015/06/07/react-on-es6-plus#property-initializers\n\n\n var illegalDefaults = _intersection(autoControlledProps, _keys(defaultProps));\n\n if (!_isEmpty(illegalDefaults)) {\n console.error(['Do not set defaultProps for autoControlledProps. You can set defaults by', 'setting state in the constructor or using an ES7 property initializer', '(https://babeljs.io/blog/2015/06/07/react-on-es6-plus#property-initializers)', \"See \" + name + \" props: \\\"\" + illegalDefaults + \"\\\".\"].join(' '));\n } // prevent listing defaultProps in autoControlledProps\n //\n // Default props are automatically handled.\n // Listing defaults in autoControlledProps would result in allowing defaultDefaultValue props.\n\n\n var illegalAutoControlled = _filter(autoControlledProps, function (prop) {\n return _startsWith(prop, 'default');\n });\n\n if (!_isEmpty(illegalAutoControlled)) {\n console.error(['Do not add default props to autoControlledProps.', 'Default props are automatically handled.', \"See \" + name + \" autoControlledProps: \\\"\" + illegalAutoControlled + \"\\\".\"].join(' '));\n }\n } // Auto controlled props are copied to state.\n // Set initial state by copying auto controlled props to state.\n // Also look for the default prop for any auto controlled props (foo => defaultFoo)\n // so we can set initial values from defaults.\n\n\n var initialAutoControlledState = autoControlledProps.reduce(function (acc, prop) {\n acc[prop] = getAutoControlledStateValue(prop, _this.props, state, true);\n\n if (process.env.NODE_ENV !== 'production') {\n var defaultPropName = getDefaultPropName(prop);\n var _name = _this.constructor.name; // prevent defaultFoo={} along side foo={}\n\n if (!_isUndefined(_this.props[defaultPropName]) && !_isUndefined(_this.props[prop])) {\n console.error(_name + \" prop \\\"\" + prop + \"\\\" is auto controlled. Specify either \" + defaultPropName + \" or \" + prop + \", but not both.\");\n }\n }\n\n return acc;\n }, {});\n _this.state = _extends({}, state, initialAutoControlledState, {\n autoControlledProps: autoControlledProps,\n getAutoControlledStateFromProps: getAutoControlledStateFromProps\n });\n return _this;\n }\n\n ModernAutoControlledComponent.getDerivedStateFromProps = function getDerivedStateFromProps(props, state) {\n var autoControlledProps = state.autoControlledProps,\n getAutoControlledStateFromProps = state.getAutoControlledStateFromProps; // Solve the next state for autoControlledProps\n\n var newStateFromProps = autoControlledProps.reduce(function (acc, prop) {\n var isNextDefined = !_isUndefined(props[prop]); // if next is defined then use its value\n\n if (isNextDefined) acc[prop] = props[prop];\n return acc;\n }, {}); // Due to the inheritance of the AutoControlledComponent we should call its\n // getAutoControlledStateFromProps() and merge it with the existing state\n\n if (getAutoControlledStateFromProps) {\n var computedState = getAutoControlledStateFromProps(props, _extends({}, state, newStateFromProps), state); // We should follow the idea of getDerivedStateFromProps() and return only modified state\n\n return _extends({}, newStateFromProps, computedState);\n }\n\n return newStateFromProps;\n }\n /**\n * Override this method to use getDerivedStateFromProps() in child components.\n */\n ;\n\n ModernAutoControlledComponent.getAutoControlledStateFromProps = function getAutoControlledStateFromProps() {\n return null;\n };\n\n return ModernAutoControlledComponent;\n}(React.Component);\n\nexport { ModernAutoControlledComponent as default };","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports[\"default\"] = useRecurly;\n\nvar _react = require(\"react\");\n\nvar _elements = require(\"./elements\");\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction _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\n/**\n * Provides a recurly instance bound to the provider tree\n */\nfunction useRecurly() {\n var elementsContext = (0, _react.useContext)(_elements.RecurlyElementsContext);\n\n if (!elementsContext || !elementsContext.elements) {\n throw new Error(\"It looks like you are trying to use Recurly outside of an Elements context.\\n Please be sure the component that calls 'useRecurly' is within an <Elements> component.\");\n }\n\n var elements = elementsContext.elements;\n\n var recurly = _objectSpread(_objectSpread({}, elements.recurly), {}, {\n // Provide a curried token method to bind the elements from the closest context\n token: function token() {\n var _elements$recurly;\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return (_elements$recurly = elements.recurly).token.apply(_elements$recurly, [elements].concat(args));\n }\n });\n\n Object.setPrototypeOf(recurly, elements.recurly);\n return recurly;\n}","/**\n * Performs a\n * [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)\n * comparison between two values to determine if they are equivalent.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @returns {boolean} Returns `true` if the values are equivalent, else `false`.\n * @example\n *\n * var object = { 'a': 1 };\n * var other = { 'a': 1 };\n *\n * _.eq(object, object);\n * // => true\n *\n * _.eq(object, other);\n * // => false\n *\n * _.eq('a', 'a');\n * // => true\n *\n * _.eq('a', Object('a'));\n * // => false\n *\n * _.eq(NaN, NaN);\n * // => true\n */\nfunction eq(value, other) {\n return value === other || (value !== value && other !== other);\n}\n\nmodule.exports = eq;\n","var baseGetTag = require('./_baseGetTag'),\n isObject = require('./isObject');\n\n/** `Object#toString` result references. */\nvar asyncTag = '[object AsyncFunction]',\n funcTag = '[object Function]',\n genTag = '[object GeneratorFunction]',\n proxyTag = '[object Proxy]';\n\n/**\n * Checks if `value` is classified as a `Function` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a function, else `false`.\n * @example\n *\n * _.isFunction(_);\n * // => true\n *\n * _.isFunction(/abc/);\n * // => false\n */\nfunction isFunction(value) {\n if (!isObject(value)) {\n return false;\n }\n // The use of `Object#toString` avoids issues with the `typeof` operator\n // in Safari 9 which returns 'object' for typed arrays and other constructors.\n var tag = baseGetTag(value);\n return tag == funcTag || tag == genTag || tag == asyncTag || tag == proxyTag;\n}\n\nmodule.exports = isFunction;\n","/** Detect free variable `global` from Node.js. */\nvar freeGlobal = typeof global == 'object' && global && global.Object === Object && global;\n\nmodule.exports = freeGlobal;\n","/** Used for built-in method references. */\nvar funcProto = Function.prototype;\n\n/** Used to resolve the decompiled source of functions. */\nvar funcToString = funcProto.toString;\n\n/**\n * Converts `func` to its source code.\n *\n * @private\n * @param {Function} func The function to convert.\n * @returns {string} Returns the source code.\n */\nfunction toSource(func) {\n if (func != null) {\n try {\n return funcToString.call(func);\n } catch (e) {}\n try {\n return (func + '');\n } catch (e) {}\n }\n return '';\n}\n\nmodule.exports = toSource;\n","var baseAssignValue = require('./_baseAssignValue'),\n eq = require('./eq');\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Assigns `value` to `key` of `object` if the existing value is not equivalent\n * using [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)\n * for equality comparisons.\n *\n * @private\n * @param {Object} object The object to modify.\n * @param {string} key The key of the property to assign.\n * @param {*} value The value to assign.\n */\nfunction assignValue(object, key, value) {\n var objValue = object[key];\n if (!(hasOwnProperty.call(object, key) && eq(objValue, value)) ||\n (value === undefined && !(key in object))) {\n baseAssignValue(object, key, value);\n }\n}\n\nmodule.exports = assignValue;\n","var defineProperty = require('./_defineProperty');\n\n/**\n * The base implementation of `assignValue` and `assignMergeValue` without\n * value checks.\n *\n * @private\n * @param {Object} object The object to modify.\n * @param {string} key The key of the property to assign.\n * @param {*} value The value to assign.\n */\nfunction baseAssignValue(object, key, value) {\n if (key == '__proto__' && defineProperty) {\n defineProperty(object, key, {\n 'configurable': true,\n 'enumerable': true,\n 'value': value,\n 'writable': true\n });\n } else {\n object[key] = value;\n }\n}\n\nmodule.exports = baseAssignValue;\n","var baseTimes = require('./_baseTimes'),\n isArguments = require('./isArguments'),\n isArray = require('./isArray'),\n isBuffer = require('./isBuffer'),\n isIndex = require('./_isIndex'),\n isTypedArray = require('./isTypedArray');\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Creates an array of the enumerable property names of the array-like `value`.\n *\n * @private\n * @param {*} value The value to query.\n * @param {boolean} inherited Specify returning inherited property names.\n * @returns {Array} Returns the array of property names.\n */\nfunction arrayLikeKeys(value, inherited) {\n var isArr = isArray(value),\n isArg = !isArr && isArguments(value),\n isBuff = !isArr && !isArg && isBuffer(value),\n isType = !isArr && !isArg && !isBuff && isTypedArray(value),\n skipIndexes = isArr || isArg || isBuff || isType,\n result = skipIndexes ? baseTimes(value.length, String) : [],\n length = result.length;\n\n for (var key in value) {\n if ((inherited || hasOwnProperty.call(value, key)) &&\n !(skipIndexes && (\n // Safari 9 has enumerable `arguments.length` in strict mode.\n key == 'length' ||\n // Node.js 0.10 has enumerable non-index properties on buffers.\n (isBuff && (key == 'offset' || key == 'parent')) ||\n // PhantomJS 2 has enumerable non-index properties on typed arrays.\n (isType && (key == 'buffer' || key == 'byteLength' || key == 'byteOffset')) ||\n // Skip index properties.\n isIndex(key, length)\n ))) {\n result.push(key);\n }\n }\n return result;\n}\n\nmodule.exports = arrayLikeKeys;\n","var root = require('./_root'),\n stubFalse = require('./stubFalse');\n\n/** Detect free variable `exports`. */\nvar freeExports = typeof exports == 'object' && exports && !exports.nodeType && exports;\n\n/** Detect free variable `module`. */\nvar freeModule = freeExports && typeof module == 'object' && module && !module.nodeType && module;\n\n/** Detect the popular CommonJS extension `module.exports`. */\nvar moduleExports = freeModule && freeModule.exports === freeExports;\n\n/** Built-in value references. */\nvar Buffer = moduleExports ? root.Buffer : undefined;\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeIsBuffer = Buffer ? Buffer.isBuffer : undefined;\n\n/**\n * Checks if `value` is a buffer.\n *\n * @static\n * @memberOf _\n * @since 4.3.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a buffer, else `false`.\n * @example\n *\n * _.isBuffer(new Buffer(2));\n * // => true\n *\n * _.isBuffer(new Uint8Array(2));\n * // => false\n */\nvar isBuffer = nativeIsBuffer || stubFalse;\n\nmodule.exports = isBuffer;\n","/** Used as references for various `Number` constants. */\nvar MAX_SAFE_INTEGER = 9007199254740991;\n\n/**\n * Checks if `value` is a valid array-like length.\n *\n * **Note:** This method is loosely based on\n * [`ToLength`](http://ecma-international.org/ecma-262/7.0/#sec-tolength).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a valid length, else `false`.\n * @example\n *\n * _.isLength(3);\n * // => true\n *\n * _.isLength(Number.MIN_VALUE);\n * // => false\n *\n * _.isLength(Infinity);\n * // => false\n *\n * _.isLength('3');\n * // => false\n */\nfunction isLength(value) {\n return typeof value == 'number' &&\n value > -1 && value % 1 == 0 && value <= MAX_SAFE_INTEGER;\n}\n\nmodule.exports = isLength;\n","/**\n * Creates a unary function that invokes `func` with its argument transformed.\n *\n * @private\n * @param {Function} func The function to wrap.\n * @param {Function} transform The argument transform.\n * @returns {Function} Returns the new function.\n */\nfunction overArg(func, transform) {\n return function(arg) {\n return func(transform(arg));\n };\n}\n\nmodule.exports = overArg;\n","var isFunction = require('./isFunction'),\n isLength = require('./isLength');\n\n/**\n * Checks if `value` is array-like. A value is considered array-like if it's\n * not a function and has a `value.length` that's an integer greater than or\n * equal to `0` and less than or equal to `Number.MAX_SAFE_INTEGER`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is array-like, else `false`.\n * @example\n *\n * _.isArrayLike([1, 2, 3]);\n * // => true\n *\n * _.isArrayLike(document.body.children);\n * // => true\n *\n * _.isArrayLike('abc');\n * // => true\n *\n * _.isArrayLike(_.noop);\n * // => false\n */\nfunction isArrayLike(value) {\n return value != null && isLength(value.length) && !isFunction(value);\n}\n\nmodule.exports = isArrayLike;\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","var arrayPush = require('./_arrayPush'),\n getPrototype = require('./_getPrototype'),\n getSymbols = require('./_getSymbols'),\n stubArray = require('./stubArray');\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeGetSymbols = Object.getOwnPropertySymbols;\n\n/**\n * Creates an array of the own and inherited enumerable symbols of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of symbols.\n */\nvar getSymbolsIn = !nativeGetSymbols ? stubArray : function(object) {\n var result = [];\n while (object) {\n arrayPush(result, getSymbols(object));\n object = getPrototype(object);\n }\n return result;\n};\n\nmodule.exports = getSymbolsIn;\n","/**\n * Appends the elements of `values` to `array`.\n *\n * @private\n * @param {Array} array The array to modify.\n * @param {Array} values The values to append.\n * @returns {Array} Returns `array`.\n */\nfunction arrayPush(array, values) {\n var index = -1,\n length = values.length,\n offset = array.length;\n\n while (++index < length) {\n array[offset + index] = values[index];\n }\n return array;\n}\n\nmodule.exports = arrayPush;\n","var overArg = require('./_overArg');\n\n/** Built-in value references. */\nvar getPrototype = overArg(Object.getPrototypeOf, Object);\n\nmodule.exports = getPrototype;\n","var arrayPush = require('./_arrayPush'),\n isArray = require('./isArray');\n\n/**\n * The base implementation of `getAllKeys` and `getAllKeysIn` which uses\n * `keysFunc` and `symbolsFunc` to get the enumerable property names and\n * symbols of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {Function} keysFunc The function to get the keys of `object`.\n * @param {Function} symbolsFunc The function to get the symbols of `object`.\n * @returns {Array} Returns the array of property names and symbols.\n */\nfunction baseGetAllKeys(object, keysFunc, symbolsFunc) {\n var result = keysFunc(object);\n return isArray(object) ? result : arrayPush(result, symbolsFunc(object));\n}\n\nmodule.exports = baseGetAllKeys;\n","function _arrayLikeToArray(arr, len) {\n if (len == null || len > arr.length) len = arr.length;\n\n for (var i = 0, arr2 = new Array(len); i < len; i++) {\n arr2[i] = arr[i];\n }\n\n return arr2;\n}\n\nmodule.exports = _arrayLikeToArray;","var unsupportedIterableToArray = require(\"./unsupportedIterableToArray\");\n\nfunction _createForOfIteratorHelper(o) {\n if (typeof Symbol === \"undefined\" || o[Symbol.iterator] == null) {\n if (Array.isArray(o) || (o = unsupportedIterableToArray(o))) {\n var i = 0;\n\n var F = function F() {};\n\n return {\n s: F,\n n: function n() {\n if (i >= o.length) return {\n done: true\n };\n return {\n done: false,\n value: o[i++]\n };\n },\n e: function e(_e) {\n throw _e;\n },\n f: F\n };\n }\n\n throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n }\n\n var it,\n normalCompletion = true,\n didErr = false,\n err;\n return {\n s: function s() {\n it = o[Symbol.iterator]();\n },\n n: function n() {\n var step = it.next();\n normalCompletion = step.done;\n return step;\n },\n e: function e(_e2) {\n didErr = true;\n err = _e2;\n },\n f: function f() {\n try {\n if (!normalCompletion && it[\"return\"] != null) it[\"return\"]();\n } finally {\n if (didErr) throw err;\n }\n }\n };\n}\n\nmodule.exports = _createForOfIteratorHelper;","var arrayWithoutHoles = require(\"./arrayWithoutHoles\");\n\nvar iterableToArray = require(\"./iterableToArray\");\n\nvar unsupportedIterableToArray = require(\"./unsupportedIterableToArray\");\n\nvar nonIterableSpread = require(\"./nonIterableSpread\");\n\nfunction _toConsumableArray(arr) {\n return arrayWithoutHoles(arr) || iterableToArray(arr) || unsupportedIterableToArray(arr) || nonIterableSpread();\n}\n\nmodule.exports = _toConsumableArray;","/**\n * Normalizes the duration of a transition.\n * @param {number|object} duration The value to normalize.\n * @param {'hide'|'show'} type The type of transition.\n * @returns {number}\n */\nexport default (function (duration, type) {\n return typeof duration === 'number' || typeof duration === 'string' ? duration : duration[type];\n});","function _assertThisInitialized(self) {\n if (self === void 0) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n\n return self;\n}\n\nmodule.exports = _assertThisInitialized;","module.exports = require(\"regenerator-runtime\");\n","/**\n * Copyright (c) 2014-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nvar runtime = (function (exports) {\n \"use strict\";\n\n var Op = Object.prototype;\n var hasOwn = Op.hasOwnProperty;\n var undefined; // More compressible than void 0.\n var $Symbol = typeof Symbol === \"function\" ? Symbol : {};\n var iteratorSymbol = $Symbol.iterator || \"@@iterator\";\n var asyncIteratorSymbol = $Symbol.asyncIterator || \"@@asyncIterator\";\n var toStringTagSymbol = $Symbol.toStringTag || \"@@toStringTag\";\n\n function define(obj, key, value) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n return obj[key];\n }\n try {\n // IE 8 has a broken Object.defineProperty that only works on DOM objects.\n define({}, \"\");\n } catch (err) {\n define = function(obj, key, value) {\n return obj[key] = value;\n };\n }\n\n function wrap(innerFn, outerFn, self, tryLocsList) {\n // If outerFn provided and outerFn.prototype is a Generator, then outerFn.prototype instanceof Generator.\n var protoGenerator = outerFn && outerFn.prototype instanceof Generator ? outerFn : Generator;\n var generator = Object.create(protoGenerator.prototype);\n var context = new Context(tryLocsList || []);\n\n // The ._invoke method unifies the implementations of the .next,\n // .throw, and .return methods.\n generator._invoke = makeInvokeMethod(innerFn, self, context);\n\n return generator;\n }\n exports.wrap = wrap;\n\n // Try/catch helper to minimize deoptimizations. Returns a completion\n // record like context.tryEntries[i].completion. This interface could\n // have been (and was previously) designed to take a closure to be\n // invoked without arguments, but in all the cases we care about we\n // already have an existing method we want to call, so there's no need\n // to create a new function object. We can even get away with assuming\n // the method takes exactly one argument, since that happens to be true\n // in every case, so we don't have to touch the arguments object. The\n // only additional allocation required is the completion record, which\n // has a stable shape and so hopefully should be cheap to allocate.\n function tryCatch(fn, obj, arg) {\n try {\n return { type: \"normal\", arg: fn.call(obj, arg) };\n } catch (err) {\n return { type: \"throw\", arg: err };\n }\n }\n\n var GenStateSuspendedStart = \"suspendedStart\";\n var GenStateSuspendedYield = \"suspendedYield\";\n var GenStateExecuting = \"executing\";\n var GenStateCompleted = \"completed\";\n\n // Returning this object from the innerFn has the same effect as\n // breaking out of the dispatch switch statement.\n var ContinueSentinel = {};\n\n // Dummy constructor functions that we use as the .constructor and\n // .constructor.prototype properties for functions that return Generator\n // objects. For full spec compliance, you may wish to configure your\n // minifier not to mangle the names of these two functions.\n function Generator() {}\n function GeneratorFunction() {}\n function GeneratorFunctionPrototype() {}\n\n // This is a polyfill for %IteratorPrototype% for environments that\n // don't natively support it.\n var IteratorPrototype = {};\n IteratorPrototype[iteratorSymbol] = function () {\n return this;\n };\n\n var getProto = Object.getPrototypeOf;\n var NativeIteratorPrototype = getProto && getProto(getProto(values([])));\n if (NativeIteratorPrototype &&\n NativeIteratorPrototype !== Op &&\n hasOwn.call(NativeIteratorPrototype, iteratorSymbol)) {\n // This environment has a native %IteratorPrototype%; use it instead\n // of the polyfill.\n IteratorPrototype = NativeIteratorPrototype;\n }\n\n var Gp = GeneratorFunctionPrototype.prototype =\n Generator.prototype = Object.create(IteratorPrototype);\n GeneratorFunction.prototype = Gp.constructor = GeneratorFunctionPrototype;\n GeneratorFunctionPrototype.constructor = GeneratorFunction;\n GeneratorFunction.displayName = define(\n GeneratorFunctionPrototype,\n toStringTagSymbol,\n \"GeneratorFunction\"\n );\n\n // Helper for defining the .next, .throw, and .return methods of the\n // Iterator interface in terms of a single ._invoke method.\n function defineIteratorMethods(prototype) {\n [\"next\", \"throw\", \"return\"].forEach(function(method) {\n define(prototype, method, function(arg) {\n return this._invoke(method, arg);\n });\n });\n }\n\n exports.isGeneratorFunction = function(genFun) {\n var ctor = typeof genFun === \"function\" && genFun.constructor;\n return ctor\n ? ctor === GeneratorFunction ||\n // For the native GeneratorFunction constructor, the best we can\n // do is to check its .name property.\n (ctor.displayName || ctor.name) === \"GeneratorFunction\"\n : false;\n };\n\n exports.mark = function(genFun) {\n if (Object.setPrototypeOf) {\n Object.setPrototypeOf(genFun, GeneratorFunctionPrototype);\n } else {\n genFun.__proto__ = GeneratorFunctionPrototype;\n define(genFun, toStringTagSymbol, \"GeneratorFunction\");\n }\n genFun.prototype = Object.create(Gp);\n return genFun;\n };\n\n // Within the body of any async function, `await x` is transformed to\n // `yield regeneratorRuntime.awrap(x)`, so that the runtime can test\n // `hasOwn.call(value, \"__await\")` to determine if the yielded value is\n // meant to be awaited.\n exports.awrap = function(arg) {\n return { __await: arg };\n };\n\n function AsyncIterator(generator, PromiseImpl) {\n function invoke(method, arg, resolve, reject) {\n var record = tryCatch(generator[method], generator, arg);\n if (record.type === \"throw\") {\n reject(record.arg);\n } else {\n var result = record.arg;\n var value = result.value;\n if (value &&\n typeof value === \"object\" &&\n hasOwn.call(value, \"__await\")) {\n return PromiseImpl.resolve(value.__await).then(function(value) {\n invoke(\"next\", value, resolve, reject);\n }, function(err) {\n invoke(\"throw\", err, resolve, reject);\n });\n }\n\n return PromiseImpl.resolve(value).then(function(unwrapped) {\n // When a yielded Promise is resolved, its final value becomes\n // the .value of the Promise<{value,done}> result for the\n // current iteration.\n result.value = unwrapped;\n resolve(result);\n }, function(error) {\n // If a rejected Promise was yielded, throw the rejection back\n // into the async generator function so it can be handled there.\n return invoke(\"throw\", error, resolve, reject);\n });\n }\n }\n\n var previousPromise;\n\n function enqueue(method, arg) {\n function callInvokeWithMethodAndArg() {\n return new PromiseImpl(function(resolve, reject) {\n invoke(method, arg, resolve, reject);\n });\n }\n\n return previousPromise =\n // If enqueue has been called before, then we want to wait until\n // all previous Promises have been resolved before calling invoke,\n // so that results are always delivered in the correct order. If\n // enqueue has not been called before, then it is important to\n // call invoke immediately, without waiting on a callback to fire,\n // so that the async generator function has the opportunity to do\n // any necessary setup in a predictable way. This predictability\n // is why the Promise constructor synchronously invokes its\n // executor callback, and why async functions synchronously\n // execute code before the first await. Since we implement simple\n // async functions in terms of async generators, it is especially\n // important to get this right, even though it requires care.\n previousPromise ? previousPromise.then(\n callInvokeWithMethodAndArg,\n // Avoid propagating failures to Promises returned by later\n // invocations of the iterator.\n callInvokeWithMethodAndArg\n ) : callInvokeWithMethodAndArg();\n }\n\n // Define the unified helper method that is used to implement .next,\n // .throw, and .return (see defineIteratorMethods).\n this._invoke = enqueue;\n }\n\n defineIteratorMethods(AsyncIterator.prototype);\n AsyncIterator.prototype[asyncIteratorSymbol] = function () {\n return this;\n };\n exports.AsyncIterator = AsyncIterator;\n\n // Note that simple async functions are implemented on top of\n // AsyncIterator objects; they just return a Promise for the value of\n // the final result produced by the iterator.\n exports.async = function(innerFn, outerFn, self, tryLocsList, PromiseImpl) {\n if (PromiseImpl === void 0) PromiseImpl = Promise;\n\n var iter = new AsyncIterator(\n wrap(innerFn, outerFn, self, tryLocsList),\n PromiseImpl\n );\n\n return exports.isGeneratorFunction(outerFn)\n ? iter // If outerFn is a generator, return the full iterator.\n : iter.next().then(function(result) {\n return result.done ? result.value : iter.next();\n });\n };\n\n function makeInvokeMethod(innerFn, self, context) {\n var state = GenStateSuspendedStart;\n\n return function invoke(method, arg) {\n if (state === GenStateExecuting) {\n throw new Error(\"Generator is already running\");\n }\n\n if (state === GenStateCompleted) {\n if (method === \"throw\") {\n throw arg;\n }\n\n // Be forgiving, per 25.3.3.3.3 of the spec:\n // https://people.mozilla.org/~jorendorff/es6-draft.html#sec-generatorresume\n return doneResult();\n }\n\n context.method = method;\n context.arg = arg;\n\n while (true) {\n var delegate = context.delegate;\n if (delegate) {\n var delegateResult = maybeInvokeDelegate(delegate, context);\n if (delegateResult) {\n if (delegateResult === ContinueSentinel) continue;\n return delegateResult;\n }\n }\n\n if (context.method === \"next\") {\n // Setting context._sent for legacy support of Babel's\n // function.sent implementation.\n context.sent = context._sent = context.arg;\n\n } else if (context.method === \"throw\") {\n if (state === GenStateSuspendedStart) {\n state = GenStateCompleted;\n throw context.arg;\n }\n\n context.dispatchException(context.arg);\n\n } else if (context.method === \"return\") {\n context.abrupt(\"return\", context.arg);\n }\n\n state = GenStateExecuting;\n\n var record = tryCatch(innerFn, self, context);\n if (record.type === \"normal\") {\n // If an exception is thrown from innerFn, we leave state ===\n // GenStateExecuting and loop back for another invocation.\n state = context.done\n ? GenStateCompleted\n : GenStateSuspendedYield;\n\n if (record.arg === ContinueSentinel) {\n continue;\n }\n\n return {\n value: record.arg,\n done: context.done\n };\n\n } else if (record.type === \"throw\") {\n state = GenStateCompleted;\n // Dispatch the exception by looping back around to the\n // context.dispatchException(context.arg) call above.\n context.method = \"throw\";\n context.arg = record.arg;\n }\n }\n };\n }\n\n // Call delegate.iterator[context.method](context.arg) and handle the\n // result, either by returning a { value, done } result from the\n // delegate iterator, or by modifying context.method and context.arg,\n // setting context.delegate to null, and returning the ContinueSentinel.\n function maybeInvokeDelegate(delegate, context) {\n var method = delegate.iterator[context.method];\n if (method === undefined) {\n // A .throw or .return when the delegate iterator has no .throw\n // method always terminates the yield* loop.\n context.delegate = null;\n\n if (context.method === \"throw\") {\n // Note: [\"return\"] must be used for ES3 parsing compatibility.\n if (delegate.iterator[\"return\"]) {\n // If the delegate iterator has a return method, give it a\n // chance to clean up.\n context.method = \"return\";\n context.arg = undefined;\n maybeInvokeDelegate(delegate, context);\n\n if (context.method === \"throw\") {\n // If maybeInvokeDelegate(context) changed context.method from\n // \"return\" to \"throw\", let that override the TypeError below.\n return ContinueSentinel;\n }\n }\n\n context.method = \"throw\";\n context.arg = new TypeError(\n \"The iterator does not provide a 'throw' method\");\n }\n\n return ContinueSentinel;\n }\n\n var record = tryCatch(method, delegate.iterator, context.arg);\n\n if (record.type === \"throw\") {\n context.method = \"throw\";\n context.arg = record.arg;\n context.delegate = null;\n return ContinueSentinel;\n }\n\n var info = record.arg;\n\n if (! info) {\n context.method = \"throw\";\n context.arg = new TypeError(\"iterator result is not an object\");\n context.delegate = null;\n return ContinueSentinel;\n }\n\n if (info.done) {\n // Assign the result of the finished delegate to the temporary\n // variable specified by delegate.resultName (see delegateYield).\n context[delegate.resultName] = info.value;\n\n // Resume execution at the desired location (see delegateYield).\n context.next = delegate.nextLoc;\n\n // If context.method was \"throw\" but the delegate handled the\n // exception, let the outer generator proceed normally. If\n // context.method was \"next\", forget context.arg since it has been\n // \"consumed\" by the delegate iterator. If context.method was\n // \"return\", allow the original .return call to continue in the\n // outer generator.\n if (context.method !== \"return\") {\n context.method = \"next\";\n context.arg = undefined;\n }\n\n } else {\n // Re-yield the result returned by the delegate method.\n return info;\n }\n\n // The delegate iterator is finished, so forget it and continue with\n // the outer generator.\n context.delegate = null;\n return ContinueSentinel;\n }\n\n // Define Generator.prototype.{next,throw,return} in terms of the\n // unified ._invoke helper method.\n defineIteratorMethods(Gp);\n\n define(Gp, toStringTagSymbol, \"Generator\");\n\n // A Generator should always return itself as the iterator object when the\n // @@iterator function is called on it. Some browsers' implementations of the\n // iterator prototype chain incorrectly implement this, causing the Generator\n // object to not be returned from this call. This ensures that doesn't happen.\n // See https://github.com/facebook/regenerator/issues/274 for more details.\n Gp[iteratorSymbol] = function() {\n return this;\n };\n\n Gp.toString = function() {\n return \"[object Generator]\";\n };\n\n function pushTryEntry(locs) {\n var entry = { tryLoc: locs[0] };\n\n if (1 in locs) {\n entry.catchLoc = locs[1];\n }\n\n if (2 in locs) {\n entry.finallyLoc = locs[2];\n entry.afterLoc = locs[3];\n }\n\n this.tryEntries.push(entry);\n }\n\n function resetTryEntry(entry) {\n var record = entry.completion || {};\n record.type = \"normal\";\n delete record.arg;\n entry.completion = record;\n }\n\n function Context(tryLocsList) {\n // The root entry object (effectively a try statement without a catch\n // or a finally block) gives us a place to store values thrown from\n // locations where there is no enclosing try statement.\n this.tryEntries = [{ tryLoc: \"root\" }];\n tryLocsList.forEach(pushTryEntry, this);\n this.reset(true);\n }\n\n exports.keys = function(object) {\n var keys = [];\n for (var key in object) {\n keys.push(key);\n }\n keys.reverse();\n\n // Rather than returning an object with a next method, we keep\n // things simple and return the next function itself.\n return function next() {\n while (keys.length) {\n var key = keys.pop();\n if (key in object) {\n next.value = key;\n next.done = false;\n return next;\n }\n }\n\n // To avoid creating an additional object, we just hang the .value\n // and .done properties off the next function object itself. This\n // also ensures that the minifier will not anonymize the function.\n next.done = true;\n return next;\n };\n };\n\n function values(iterable) {\n if (iterable) {\n var iteratorMethod = iterable[iteratorSymbol];\n if (iteratorMethod) {\n return iteratorMethod.call(iterable);\n }\n\n if (typeof iterable.next === \"function\") {\n return iterable;\n }\n\n if (!isNaN(iterable.length)) {\n var i = -1, next = function next() {\n while (++i < iterable.length) {\n if (hasOwn.call(iterable, i)) {\n next.value = iterable[i];\n next.done = false;\n return next;\n }\n }\n\n next.value = undefined;\n next.done = true;\n\n return next;\n };\n\n return next.next = next;\n }\n }\n\n // Return an iterator with no values.\n return { next: doneResult };\n }\n exports.values = values;\n\n function doneResult() {\n return { value: undefined, done: true };\n }\n\n Context.prototype = {\n constructor: Context,\n\n reset: function(skipTempReset) {\n this.prev = 0;\n this.next = 0;\n // Resetting context._sent for legacy support of Babel's\n // function.sent implementation.\n this.sent = this._sent = undefined;\n this.done = false;\n this.delegate = null;\n\n this.method = \"next\";\n this.arg = undefined;\n\n this.tryEntries.forEach(resetTryEntry);\n\n if (!skipTempReset) {\n for (var name in this) {\n // Not sure about the optimal order of these conditions:\n if (name.charAt(0) === \"t\" &&\n hasOwn.call(this, name) &&\n !isNaN(+name.slice(1))) {\n this[name] = undefined;\n }\n }\n }\n },\n\n stop: function() {\n this.done = true;\n\n var rootEntry = this.tryEntries[0];\n var rootRecord = rootEntry.completion;\n if (rootRecord.type === \"throw\") {\n throw rootRecord.arg;\n }\n\n return this.rval;\n },\n\n dispatchException: function(exception) {\n if (this.done) {\n throw exception;\n }\n\n var context = this;\n function handle(loc, caught) {\n record.type = \"throw\";\n record.arg = exception;\n context.next = loc;\n\n if (caught) {\n // If the dispatched exception was caught by a catch block,\n // then let that catch block handle the exception normally.\n context.method = \"next\";\n context.arg = undefined;\n }\n\n return !! caught;\n }\n\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n var record = entry.completion;\n\n if (entry.tryLoc === \"root\") {\n // Exception thrown outside of any try block that could handle\n // it, so set the completion value of the entire function to\n // throw the exception.\n return handle(\"end\");\n }\n\n if (entry.tryLoc <= this.prev) {\n var hasCatch = hasOwn.call(entry, \"catchLoc\");\n var hasFinally = hasOwn.call(entry, \"finallyLoc\");\n\n if (hasCatch && hasFinally) {\n if (this.prev < entry.catchLoc) {\n return handle(entry.catchLoc, true);\n } else if (this.prev < entry.finallyLoc) {\n return handle(entry.finallyLoc);\n }\n\n } else if (hasCatch) {\n if (this.prev < entry.catchLoc) {\n return handle(entry.catchLoc, true);\n }\n\n } else if (hasFinally) {\n if (this.prev < entry.finallyLoc) {\n return handle(entry.finallyLoc);\n }\n\n } else {\n throw new Error(\"try statement without catch or finally\");\n }\n }\n }\n },\n\n abrupt: function(type, arg) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n if (entry.tryLoc <= this.prev &&\n hasOwn.call(entry, \"finallyLoc\") &&\n this.prev < entry.finallyLoc) {\n var finallyEntry = entry;\n break;\n }\n }\n\n if (finallyEntry &&\n (type === \"break\" ||\n type === \"continue\") &&\n finallyEntry.tryLoc <= arg &&\n arg <= finallyEntry.finallyLoc) {\n // Ignore the finally entry if control is not jumping to a\n // location outside the try/catch block.\n finallyEntry = null;\n }\n\n var record = finallyEntry ? finallyEntry.completion : {};\n record.type = type;\n record.arg = arg;\n\n if (finallyEntry) {\n this.method = \"next\";\n this.next = finallyEntry.finallyLoc;\n return ContinueSentinel;\n }\n\n return this.complete(record);\n },\n\n complete: function(record, afterLoc) {\n if (record.type === \"throw\") {\n throw record.arg;\n }\n\n if (record.type === \"break\" ||\n record.type === \"continue\") {\n this.next = record.arg;\n } else if (record.type === \"return\") {\n this.rval = this.arg = record.arg;\n this.method = \"return\";\n this.next = \"end\";\n } else if (record.type === \"normal\" && afterLoc) {\n this.next = afterLoc;\n }\n\n return ContinueSentinel;\n },\n\n finish: function(finallyLoc) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n if (entry.finallyLoc === finallyLoc) {\n this.complete(entry.completion, entry.afterLoc);\n resetTryEntry(entry);\n return ContinueSentinel;\n }\n }\n },\n\n \"catch\": function(tryLoc) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n if (entry.tryLoc === tryLoc) {\n var record = entry.completion;\n if (record.type === \"throw\") {\n var thrown = record.arg;\n resetTryEntry(entry);\n }\n return thrown;\n }\n }\n\n // The context.catch method must only be called with a location\n // argument that corresponds to a known catch block.\n throw new Error(\"illegal catch attempt\");\n },\n\n delegateYield: function(iterable, resultName, nextLoc) {\n this.delegate = {\n iterator: values(iterable),\n resultName: resultName,\n nextLoc: nextLoc\n };\n\n if (this.method === \"next\") {\n // Deliberately forget the last sent value so that we don't\n // accidentally pass it on to the delegate.\n this.arg = undefined;\n }\n\n return ContinueSentinel;\n }\n };\n\n // Regardless of whether this script is executing as a CommonJS module\n // or not, return the runtime object so that we can declare the variable\n // regeneratorRuntime in the outer scope, which allows this module to be\n // injected easily by `bin/regenerator --include-runtime script.js`.\n return exports;\n\n}(\n // If this script is executing as a CommonJS module, use module.exports\n // as the regeneratorRuntime namespace. Otherwise create a new empty\n // object. Either way, the resulting object will be used to initialize\n // the regeneratorRuntime variable at the top of this file.\n typeof module === \"object\" ? module.exports : {}\n));\n\ntry {\n regeneratorRuntime = runtime;\n} catch (accidentalStrictMode) {\n // This module should not be running in strict mode, so the above\n // assignment should always work unless something is misconfigured. Just\n // in case runtime.js accidentally runs in strict mode, we can escape\n // strict mode using a global Function call. This could conceivably fail\n // if a Content Security Policy forbids using Function, but in that case\n // the proper solution is to fix the accidental strict mode problem. If\n // you've misconfigured your bundler to force strict mode and applied a\n // CSP to forbid Function, and you're not willing to fix either of those\n // problems, please detail your unique predicament in a GitHub issue.\n Function(\"r\", \"regeneratorRuntime = r\")(runtime);\n}\n","function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) {\n try {\n var info = gen[key](arg);\n var value = info.value;\n } catch (error) {\n reject(error);\n return;\n }\n\n if (info.done) {\n resolve(value);\n } else {\n Promise.resolve(value).then(_next, _throw);\n }\n}\n\nfunction _asyncToGenerator(fn) {\n return function () {\n var self = this,\n args = arguments;\n return new Promise(function (resolve, reject) {\n var gen = fn.apply(self, args);\n\n function _next(value) {\n asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"next\", value);\n }\n\n function _throw(err) {\n asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"throw\", err);\n }\n\n _next(undefined);\n });\n };\n}\n\nmodule.exports = _asyncToGenerator;","import { useEventListener } from './useEventListener';\nimport { EventListenerOptions, EventTypes } from './types';\n\nexport function EventListener<T extends EventTypes>(props: EventListenerOptions<T>) {\n useEventListener(props);\n\n return null;\n}\n\nEventListener.defaultProps = {\n capture: false,\n};\n","/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeMax = Math.max,\n nativeMin = Math.min;\n\n/**\n * The base implementation of `_.inRange` which doesn't coerce arguments.\n *\n * @private\n * @param {number} number The number to check.\n * @param {number} start The start of the range.\n * @param {number} end The end of the range.\n * @returns {boolean} Returns `true` if `number` is in the range, else `false`.\n */\nfunction baseInRange(number, start, end) {\n return number >= nativeMin(start, end) && number < nativeMax(start, end);\n}\n\nexport default baseInRange;\n","import baseInRange from './_baseInRange.js';\nimport toFinite from './toFinite.js';\nimport toNumber from './toNumber.js';\n\n/**\n * Checks if `n` is between `start` and up to, but not including, `end`. If\n * `end` is not specified, it's set to `start` with `start` then set to `0`.\n * If `start` is greater than `end` the params are swapped to support\n * negative ranges.\n *\n * @static\n * @memberOf _\n * @since 3.3.0\n * @category Number\n * @param {number} number The number to check.\n * @param {number} [start=0] The start of the range.\n * @param {number} end The end of the range.\n * @returns {boolean} Returns `true` if `number` is in the range, else `false`.\n * @see _.range, _.rangeRight\n * @example\n *\n * _.inRange(3, 2, 4);\n * // => true\n *\n * _.inRange(4, 8);\n * // => true\n *\n * _.inRange(4, 2);\n * // => false\n *\n * _.inRange(2, 2);\n * // => false\n *\n * _.inRange(1.2, 2);\n * // => true\n *\n * _.inRange(5.2, 4);\n * // => false\n *\n * _.inRange(-3, -2, -6);\n * // => true\n */\nfunction inRange(number, start, end) {\n start = toFinite(start);\n if (end === undefined) {\n end = start;\n start = 0;\n } else {\n end = toFinite(end);\n }\n number = toNumber(number);\n return baseInRange(number, start, end);\n}\n\nexport default inRange;\n","/**\n * Gets the first element of `array`.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @alias first\n * @category Array\n * @param {Array} array The array to query.\n * @returns {*} Returns the first element of `array`.\n * @example\n *\n * _.head([1, 2, 3]);\n * // => 1\n *\n * _.head([]);\n * // => undefined\n */\nfunction head(array) {\n return (array && array.length) ? array[0] : undefined;\n}\n\nexport default head;\n","import _inRange from \"lodash-es/inRange\";\nimport _first from \"lodash-es/first\";\nimport _invoke from \"lodash-es/invoke\";\nimport _isNil from \"lodash-es/isNil\";\nimport _some from \"lodash-es/some\";\n\n/**\n * Determines if a click's coordinates are within the bounds of a node.\n *\n * @see https://github.com/Semantic-Org/Semantic-UI-React/pull/2384\n *\n * @param {object} node - A DOM node.\n * @param {object} e - A SyntheticEvent or DOM Event.\n * @returns {boolean}\n */\nvar doesNodeContainClick = function doesNodeContainClick(node, e) {\n if (_some([e, node], _isNil)) return false; // if there is an e.target and it is in the document, use a simple node.contains() check\n\n if (e.target) {\n _invoke(e.target, 'setAttribute', 'data-suir-click-target', true);\n\n if (document.querySelector('[data-suir-click-target=true]')) {\n _invoke(e.target, 'removeAttribute', 'data-suir-click-target');\n\n return node.contains(e.target);\n }\n } // Below logic handles cases where the e.target is no longer in the document.\n // The result of the click likely has removed the e.target node.\n // Instead of node.contains(), we'll identify the click by X/Y position.\n // return early if the event properties aren't available\n // prevent measuring the node and repainting if we don't need to\n\n\n var clientX = e.clientX,\n clientY = e.clientY;\n if (_some([clientX, clientY], _isNil)) return false; // false if the node is not visible\n\n var clientRects = node.getClientRects(); // Heads Up!\n // getClientRects returns a DOMRectList, not an array nor a plain object\n // We explicitly avoid _.isEmpty and check .length to cover all possible shapes\n\n if (!node.offsetWidth || !node.offsetHeight || !clientRects || !clientRects.length) return false; // false if the node doesn't have a valid bounding rect\n\n var _first2 = _first(clientRects),\n top = _first2.top,\n bottom = _first2.bottom,\n left = _first2.left,\n right = _first2.right;\n\n if (_some([top, bottom, left, right], _isNil)) return false; // we add a small decimal to the upper bound just to make it inclusive\n // don't add an whole pixel (1) as the event/node values may be decimal sensitive\n\n return _inRange(clientY, top, bottom + 0.001) && _inRange(clientX, left, right + 0.001);\n};\n\nexport default doesNodeContainClick;","/**\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\nexport default stubFalse;\n","/* global Map:readonly, Set:readonly, ArrayBuffer:readonly */\n\nvar hasElementType = typeof Element !== 'undefined';\nvar hasMap = typeof Map === 'function';\nvar hasSet = typeof Set === 'function';\nvar hasArrayBuffer = typeof ArrayBuffer === 'function' && !!ArrayBuffer.isView;\n\n// Note: We **don't** need `envHasBigInt64Array` in fde es6/index.js\n\nfunction equal(a, b) {\n // START: fast-deep-equal es6/index.js 3.1.1\n if (a === b) return true;\n\n if (a && b && typeof a == 'object' && typeof b == 'object') {\n if (a.constructor !== b.constructor) return false;\n\n var length, i, keys;\n if (Array.isArray(a)) {\n length = a.length;\n if (length != b.length) return false;\n for (i = length; i-- !== 0;)\n if (!equal(a[i], b[i])) return false;\n return true;\n }\n\n // START: Modifications:\n // 1. Extra `has<Type> &&` helpers in initial condition allow es6 code\n // to co-exist with es5.\n // 2. Replace `for of` with es5 compliant iteration using `for`.\n // Basically, take:\n //\n // ```js\n // for (i of a.entries())\n // if (!b.has(i[0])) return false;\n // ```\n //\n // ... and convert to:\n //\n // ```js\n // it = a.entries();\n // while (!(i = it.next()).done)\n // if (!b.has(i.value[0])) return false;\n // ```\n //\n // **Note**: `i` access switches to `i.value`.\n var it;\n if (hasMap && (a instanceof Map) && (b instanceof Map)) {\n if (a.size !== b.size) return false;\n it = a.entries();\n while (!(i = it.next()).done)\n if (!b.has(i.value[0])) return false;\n it = a.entries();\n while (!(i = it.next()).done)\n if (!equal(i.value[1], b.get(i.value[0]))) return false;\n return true;\n }\n\n if (hasSet && (a instanceof Set) && (b instanceof Set)) {\n if (a.size !== b.size) return false;\n it = a.entries();\n while (!(i = it.next()).done)\n if (!b.has(i.value[0])) return false;\n return true;\n }\n // END: Modifications\n\n if (hasArrayBuffer && ArrayBuffer.isView(a) && ArrayBuffer.isView(b)) {\n length = a.length;\n if (length != b.length) return false;\n for (i = length; i-- !== 0;)\n if (a[i] !== b[i]) return false;\n return true;\n }\n\n if (a.constructor === RegExp) return a.source === b.source && a.flags === b.flags;\n if (a.valueOf !== Object.prototype.valueOf) return a.valueOf() === b.valueOf();\n if (a.toString !== Object.prototype.toString) return a.toString() === b.toString();\n\n keys = Object.keys(a);\n length = keys.length;\n if (length !== Object.keys(b).length) return false;\n\n for (i = length; i-- !== 0;)\n if (!Object.prototype.hasOwnProperty.call(b, keys[i])) return false;\n // END: fast-deep-equal\n\n // START: react-fast-compare\n // custom handling for DOM elements\n if (hasElementType && a instanceof Element) return false;\n\n // custom handling for React/Preact\n for (i = length; i-- !== 0;) {\n if ((keys[i] === '_owner' || keys[i] === '__v' || keys[i] === '__o') && a.$$typeof) {\n // React-specific: avoid traversing React elements' _owner\n // Preact-specific: avoid traversing Preact elements' __v and __o\n // __v = $_original / $_vnode\n // __o = $_owner\n // These properties contain circular references and are not needed when\n // comparing the actual elements (and not their owners)\n // .$$typeof and ._store on just reasonable markers of elements\n\n continue;\n }\n\n // all other properties should be traversed as usual\n if (!equal(a[keys[i]], b[keys[i]])) return false;\n }\n // END: react-fast-compare\n\n // START: fast-deep-equal\n return true;\n }\n\n return a !== a && b !== b;\n}\n// end fast-deep-equal\n\nmodule.exports = function isEqual(a, b) {\n try {\n return equal(a, b);\n } catch (error) {\n if (((error.message || '').match(/stack|recursion/i))) {\n // warn on circular references, don't crash\n // browsers give this different errors name and messages:\n // chrome/safari: \"RangeError\", \"Maximum call stack size exceeded\"\n // firefox: \"InternalError\", too much recursion\"\n // edge: \"Error\", \"Out of stack space\"\n console.warn('react-fast-compare cannot handle circular refs');\n return false;\n }\n // some other error. we should definitely know about these\n throw error;\n }\n};\n","//\n\nmodule.exports = function shallowEqual(objA, objB, compare, compareContext) {\n var ret = compare ? compare.call(compareContext, objA, objB) : void 0;\n\n if (ret !== void 0) {\n return !!ret;\n }\n\n if (objA === objB) {\n return true;\n }\n\n if (typeof objA !== \"object\" || !objA || typeof objB !== \"object\" || !objB) {\n return false;\n }\n\n var keysA = Object.keys(objA);\n var keysB = Object.keys(objB);\n\n if (keysA.length !== keysB.length) {\n return false;\n }\n\n var bHasOwnProperty = Object.prototype.hasOwnProperty.bind(objB);\n\n // Test for A's keys different from B.\n for (var idx = 0; idx < keysA.length; idx++) {\n var key = keysA[idx];\n\n if (!bHasOwnProperty(key)) {\n return false;\n }\n\n var valueA = objA[key];\n var valueB = objB[key];\n\n ret = compare ? compare.call(compareContext, valueA, valueB, key) : void 0;\n\n if (ret === false || (ret === void 0 && valueA !== valueB)) {\n return false;\n }\n }\n\n return true;\n};\n","import root from './_root.js';\n\n/** Detect free variable `exports`. */\nvar freeExports = typeof exports == 'object' && exports && !exports.nodeType && exports;\n\n/** Detect free variable `module`. */\nvar freeModule = freeExports && typeof module == 'object' && module && !module.nodeType && module;\n\n/** Detect the popular CommonJS extension `module.exports`. */\nvar moduleExports = freeModule && freeModule.exports === freeExports;\n\n/** Built-in value references. */\nvar Buffer = moduleExports ? root.Buffer : undefined,\n allocUnsafe = Buffer ? Buffer.allocUnsafe : undefined;\n\n/**\n * Creates a clone of `buffer`.\n *\n * @private\n * @param {Buffer} buffer The buffer to clone.\n * @param {boolean} [isDeep] Specify a deep clone.\n * @returns {Buffer} Returns the cloned buffer.\n */\nfunction cloneBuffer(buffer, isDeep) {\n if (isDeep) {\n return buffer.slice();\n }\n var length = buffer.length,\n result = allocUnsafe ? allocUnsafe(length) : new buffer.constructor(length);\n\n buffer.copy(result);\n return result;\n}\n\nexport default cloneBuffer;\n","\n/**\n * Topological sorting function\n *\n * @param {Array} edges\n * @returns {Array}\n */\n\nmodule.exports = function(edges) {\n return toposort(uniqueNodes(edges), edges)\n}\n\nmodule.exports.array = toposort\n\nfunction toposort(nodes, edges) {\n var cursor = nodes.length\n , sorted = new Array(cursor)\n , visited = {}\n , i = cursor\n // Better data structures make algorithm much faster.\n , outgoingEdges = makeOutgoingEdges(edges)\n , nodesHash = makeNodesHash(nodes)\n\n // check for unknown nodes\n edges.forEach(function(edge) {\n if (!nodesHash.has(edge[0]) || !nodesHash.has(edge[1])) {\n throw new Error('Unknown node. There is an unknown node in the supplied edges.')\n }\n })\n\n while (i--) {\n if (!visited[i]) visit(nodes[i], i, new Set())\n }\n\n return sorted\n\n function visit(node, i, predecessors) {\n if(predecessors.has(node)) {\n var nodeRep\n try {\n nodeRep = \", node was:\" + JSON.stringify(node)\n } catch(e) {\n nodeRep = \"\"\n }\n throw new Error('Cyclic dependency' + nodeRep)\n }\n\n if (!nodesHash.has(node)) {\n throw new Error('Found unknown node. Make sure to provided all involved nodes. Unknown node: '+JSON.stringify(node))\n }\n\n if (visited[i]) return;\n visited[i] = true\n\n var outgoing = outgoingEdges.get(node) || new Set()\n outgoing = Array.from(outgoing)\n\n if (i = outgoing.length) {\n predecessors.add(node)\n do {\n var child = outgoing[--i]\n visit(child, nodesHash.get(child), predecessors)\n } while (i)\n predecessors.delete(node)\n }\n\n sorted[--cursor] = node\n }\n}\n\nfunction uniqueNodes(arr){\n var res = new Set()\n for (var i = 0, len = arr.length; i < len; i++) {\n var edge = arr[i]\n res.add(edge[0])\n res.add(edge[1])\n }\n return Array.from(res)\n}\n\nfunction makeOutgoingEdges(arr){\n var edges = new Map()\n for (var i = 0, len = arr.length; i < len; i++) {\n var edge = arr[i]\n if (!edges.has(edge[0])) edges.set(edge[0], new Set())\n if (!edges.has(edge[1])) edges.set(edge[1], new Set())\n edges.get(edge[0]).add(edge[1])\n }\n return edges\n}\n\nfunction makeNodesHash(arr){\n var res = new Map()\n for (var i = 0, len = arr.length; i < len; i++) {\n res.set(arr[i], i)\n }\n return res\n}\n","import { freeze } from './utils';\n\nexport const html = freeze([\n 'a',\n 'abbr',\n 'acronym',\n 'address',\n 'area',\n 'article',\n 'aside',\n 'audio',\n 'b',\n 'bdi',\n 'bdo',\n 'big',\n 'blink',\n 'blockquote',\n 'body',\n 'br',\n 'button',\n 'canvas',\n 'caption',\n 'center',\n 'cite',\n 'code',\n 'col',\n 'colgroup',\n 'content',\n 'data',\n 'datalist',\n 'dd',\n 'decorator',\n 'del',\n 'details',\n 'dfn',\n 'dialog',\n 'dir',\n 'div',\n 'dl',\n 'dt',\n 'element',\n 'em',\n 'fieldset',\n 'figcaption',\n 'figure',\n 'font',\n 'footer',\n 'form',\n 'h1',\n 'h2',\n 'h3',\n 'h4',\n 'h5',\n 'h6',\n 'head',\n 'header',\n 'hgroup',\n 'hr',\n 'html',\n 'i',\n 'img',\n 'input',\n 'ins',\n 'kbd',\n 'label',\n 'legend',\n 'li',\n 'main',\n 'map',\n 'mark',\n 'marquee',\n 'menu',\n 'menuitem',\n 'meter',\n 'nav',\n 'nobr',\n 'ol',\n 'optgroup',\n 'option',\n 'output',\n 'p',\n 'picture',\n 'pre',\n 'progress',\n 'q',\n 'rp',\n 'rt',\n 'ruby',\n 's',\n 'samp',\n 'section',\n 'select',\n 'shadow',\n 'small',\n 'source',\n 'spacer',\n 'span',\n 'strike',\n 'strong',\n 'style',\n 'sub',\n 'summary',\n 'sup',\n 'table',\n 'tbody',\n 'td',\n 'template',\n 'textarea',\n 'tfoot',\n 'th',\n 'thead',\n 'time',\n 'tr',\n 'track',\n 'tt',\n 'u',\n 'ul',\n 'var',\n 'video',\n 'wbr',\n]);\n\n// SVG\nexport const svg = freeze([\n 'svg',\n 'a',\n 'altglyph',\n 'altglyphdef',\n 'altglyphitem',\n 'animatecolor',\n 'animatemotion',\n 'animatetransform',\n 'circle',\n 'clippath',\n 'defs',\n 'desc',\n 'ellipse',\n 'filter',\n 'font',\n 'g',\n 'glyph',\n 'glyphref',\n 'hkern',\n 'image',\n 'line',\n 'lineargradient',\n 'marker',\n 'mask',\n 'metadata',\n 'mpath',\n 'path',\n 'pattern',\n 'polygon',\n 'polyline',\n 'radialgradient',\n 'rect',\n 'stop',\n 'style',\n 'switch',\n 'symbol',\n 'text',\n 'textpath',\n 'title',\n 'tref',\n 'tspan',\n 'view',\n 'vkern',\n]);\n\nexport const svgFilters = freeze([\n 'feBlend',\n 'feColorMatrix',\n 'feComponentTransfer',\n 'feComposite',\n 'feConvolveMatrix',\n 'feDiffuseLighting',\n 'feDisplacementMap',\n 'feDistantLight',\n 'feFlood',\n 'feFuncA',\n 'feFuncB',\n 'feFuncG',\n 'feFuncR',\n 'feGaussianBlur',\n 'feMerge',\n 'feMergeNode',\n 'feMorphology',\n 'feOffset',\n 'fePointLight',\n 'feSpecularLighting',\n 'feSpotLight',\n 'feTile',\n 'feTurbulence',\n]);\n\n// List of SVG elements that are disallowed by default.\n// We still need to know them so that we can do namespace\n// checks properly in case one wants to add them to\n// allow-list.\nexport const svgDisallowed = freeze([\n 'animate',\n 'color-profile',\n 'cursor',\n 'discard',\n 'fedropshadow',\n 'feimage',\n 'font-face',\n 'font-face-format',\n 'font-face-name',\n 'font-face-src',\n 'font-face-uri',\n 'foreignobject',\n 'hatch',\n 'hatchpath',\n 'mesh',\n 'meshgradient',\n 'meshpatch',\n 'meshrow',\n 'missing-glyph',\n 'script',\n 'set',\n 'solidcolor',\n 'unknown',\n 'use',\n]);\n\nexport const mathMl = freeze([\n 'math',\n 'menclose',\n 'merror',\n 'mfenced',\n 'mfrac',\n 'mglyph',\n 'mi',\n 'mlabeledtr',\n 'mmultiscripts',\n 'mn',\n 'mo',\n 'mover',\n 'mpadded',\n 'mphantom',\n 'mroot',\n 'mrow',\n 'ms',\n 'mspace',\n 'msqrt',\n 'mstyle',\n 'msub',\n 'msup',\n 'msubsup',\n 'mtable',\n 'mtd',\n 'mtext',\n 'mtr',\n 'munder',\n 'munderover',\n]);\n\n// Similarly to SVG, we want to know all MathML elements,\n// even those that we disallow by default.\nexport const mathMlDisallowed = freeze([\n 'maction',\n 'maligngroup',\n 'malignmark',\n 'mlongdiv',\n 'mscarries',\n 'mscarry',\n 'msgroup',\n 'mstack',\n 'msline',\n 'msrow',\n 'semantics',\n 'annotation',\n 'annotation-xml',\n 'mprescripts',\n 'none',\n]);\n\nexport const text = freeze(['#text']);\n","import { freeze } from './utils';\n\nexport const html = freeze([\n 'accept',\n 'action',\n 'align',\n 'alt',\n 'autocapitalize',\n 'autocomplete',\n 'autopictureinpicture',\n 'autoplay',\n 'background',\n 'bgcolor',\n 'border',\n 'capture',\n 'cellpadding',\n 'cellspacing',\n 'checked',\n 'cite',\n 'class',\n 'clear',\n 'color',\n 'cols',\n 'colspan',\n 'controls',\n 'controlslist',\n 'coords',\n 'crossorigin',\n 'datetime',\n 'decoding',\n 'default',\n 'dir',\n 'disabled',\n 'disablepictureinpicture',\n 'disableremoteplayback',\n 'download',\n 'draggable',\n 'enctype',\n 'enterkeyhint',\n 'face',\n 'for',\n 'headers',\n 'height',\n 'hidden',\n 'high',\n 'href',\n 'hreflang',\n 'id',\n 'inputmode',\n 'integrity',\n 'ismap',\n 'kind',\n 'label',\n 'lang',\n 'list',\n 'loading',\n 'loop',\n 'low',\n 'max',\n 'maxlength',\n 'media',\n 'method',\n 'min',\n 'minlength',\n 'multiple',\n 'muted',\n 'name',\n 'noshade',\n 'novalidate',\n 'nowrap',\n 'open',\n 'optimum',\n 'pattern',\n 'placeholder',\n 'playsinline',\n 'poster',\n 'preload',\n 'pubdate',\n 'radiogroup',\n 'readonly',\n 'rel',\n 'required',\n 'rev',\n 'reversed',\n 'role',\n 'rows',\n 'rowspan',\n 'spellcheck',\n 'scope',\n 'selected',\n 'shape',\n 'size',\n 'sizes',\n 'span',\n 'srclang',\n 'start',\n 'src',\n 'srcset',\n 'step',\n 'style',\n 'summary',\n 'tabindex',\n 'title',\n 'translate',\n 'type',\n 'usemap',\n 'valign',\n 'value',\n 'width',\n 'xmlns',\n]);\n\nexport const svg = freeze([\n 'accent-height',\n 'accumulate',\n 'additive',\n 'alignment-baseline',\n 'ascent',\n 'attributename',\n 'attributetype',\n 'azimuth',\n 'basefrequency',\n 'baseline-shift',\n 'begin',\n 'bias',\n 'by',\n 'class',\n 'clip',\n 'clippathunits',\n 'clip-path',\n 'clip-rule',\n 'color',\n 'color-interpolation',\n 'color-interpolation-filters',\n 'color-profile',\n 'color-rendering',\n 'cx',\n 'cy',\n 'd',\n 'dx',\n 'dy',\n 'diffuseconstant',\n 'direction',\n 'display',\n 'divisor',\n 'dur',\n 'edgemode',\n 'elevation',\n 'end',\n 'fill',\n 'fill-opacity',\n 'fill-rule',\n 'filter',\n 'filterunits',\n 'flood-color',\n 'flood-opacity',\n 'font-family',\n 'font-size',\n 'font-size-adjust',\n 'font-stretch',\n 'font-style',\n 'font-variant',\n 'font-weight',\n 'fx',\n 'fy',\n 'g1',\n 'g2',\n 'glyph-name',\n 'glyphref',\n 'gradientunits',\n 'gradienttransform',\n 'height',\n 'href',\n 'id',\n 'image-rendering',\n 'in',\n 'in2',\n 'k',\n 'k1',\n 'k2',\n 'k3',\n 'k4',\n 'kerning',\n 'keypoints',\n 'keysplines',\n 'keytimes',\n 'lang',\n 'lengthadjust',\n 'letter-spacing',\n 'kernelmatrix',\n 'kernelunitlength',\n 'lighting-color',\n 'local',\n 'marker-end',\n 'marker-mid',\n 'marker-start',\n 'markerheight',\n 'markerunits',\n 'markerwidth',\n 'maskcontentunits',\n 'maskunits',\n 'max',\n 'mask',\n 'media',\n 'method',\n 'mode',\n 'min',\n 'name',\n 'numoctaves',\n 'offset',\n 'operator',\n 'opacity',\n 'order',\n 'orient',\n 'orientation',\n 'origin',\n 'overflow',\n 'paint-order',\n 'path',\n 'pathlength',\n 'patterncontentunits',\n 'patterntransform',\n 'patternunits',\n 'points',\n 'preservealpha',\n 'preserveaspectratio',\n 'primitiveunits',\n 'r',\n 'rx',\n 'ry',\n 'radius',\n 'refx',\n 'refy',\n 'repeatcount',\n 'repeatdur',\n 'restart',\n 'result',\n 'rotate',\n 'scale',\n 'seed',\n 'shape-rendering',\n 'specularconstant',\n 'specularexponent',\n 'spreadmethod',\n 'startoffset',\n 'stddeviation',\n 'stitchtiles',\n 'stop-color',\n 'stop-opacity',\n 'stroke-dasharray',\n 'stroke-dashoffset',\n 'stroke-linecap',\n 'stroke-linejoin',\n 'stroke-miterlimit',\n 'stroke-opacity',\n 'stroke',\n 'stroke-width',\n 'style',\n 'surfacescale',\n 'systemlanguage',\n 'tabindex',\n 'targetx',\n 'targety',\n 'transform',\n 'text-anchor',\n 'text-decoration',\n 'text-rendering',\n 'textlength',\n 'type',\n 'u1',\n 'u2',\n 'unicode',\n 'values',\n 'viewbox',\n 'visibility',\n 'version',\n 'vert-adv-y',\n 'vert-origin-x',\n 'vert-origin-y',\n 'width',\n 'word-spacing',\n 'wrap',\n 'writing-mode',\n 'xchannelselector',\n 'ychannelselector',\n 'x',\n 'x1',\n 'x2',\n 'xmlns',\n 'y',\n 'y1',\n 'y2',\n 'z',\n 'zoomandpan',\n]);\n\nexport const mathMl = freeze([\n 'accent',\n 'accentunder',\n 'align',\n 'bevelled',\n 'close',\n 'columnsalign',\n 'columnlines',\n 'columnspan',\n 'denomalign',\n 'depth',\n 'dir',\n 'display',\n 'displaystyle',\n 'encoding',\n 'fence',\n 'frame',\n 'height',\n 'href',\n 'id',\n 'largeop',\n 'length',\n 'linethickness',\n 'lspace',\n 'lquote',\n 'mathbackground',\n 'mathcolor',\n 'mathsize',\n 'mathvariant',\n 'maxsize',\n 'minsize',\n 'movablelimits',\n 'notation',\n 'numalign',\n 'open',\n 'rowalign',\n 'rowlines',\n 'rowspacing',\n 'rowspan',\n 'rspace',\n 'rquote',\n 'scriptlevel',\n 'scriptminsize',\n 'scriptsizemultiplier',\n 'selection',\n 'separator',\n 'separators',\n 'stretchy',\n 'subscriptshift',\n 'supscriptshift',\n 'symmetric',\n 'voffset',\n 'width',\n 'xmlns',\n]);\n\nexport const xml = freeze([\n 'xlink:href',\n 'xml:id',\n 'xlink:title',\n 'xml:space',\n 'xmlns:xlink',\n]);\n","import { seal } from './utils';\n\n// eslint-disable-next-line unicorn/better-regex\nexport const MUSTACHE_EXPR = seal(/\\{\\{[\\s\\S]*|[\\s\\S]*\\}\\}/gm); // Specify template detection regex for SAFE_FOR_TEMPLATES mode\nexport const ERB_EXPR = seal(/<%[\\s\\S]*|[\\s\\S]*%>/gm);\nexport const DATA_ATTR = seal(/^data-[\\-\\w.\\u00B7-\\uFFFF]/); // eslint-disable-line no-useless-escape\nexport const ARIA_ATTR = seal(/^aria-[\\-\\w]+$/); // eslint-disable-line no-useless-escape\nexport const IS_ALLOWED_URI = seal(\n /^(?:(?:(?:f|ht)tps?|mailto|tel|callto|cid|xmpp):|[^a-z]|[a-z+.\\-]+(?:[^a-z+.\\-:]|$))/i // eslint-disable-line no-useless-escape\n);\nexport const IS_SCRIPT_OR_DATA = seal(/^(?:\\w+script|data):/i);\nexport const ATTR_WHITESPACE = seal(\n /[\\u0000-\\u0020\\u00A0\\u1680\\u180E\\u2000-\\u2029\\u205F\\u3000]/g // eslint-disable-line no-control-regex\n);\n","import * as TAGS from './tags';\nimport * as ATTRS from './attrs';\nimport * as EXPRESSIONS from './regexp';\nimport {\n addToSet,\n clone,\n freeze,\n arrayForEach,\n arrayPop,\n arrayPush,\n stringMatch,\n stringReplace,\n stringToLowerCase,\n stringIndexOf,\n stringTrim,\n regExpTest,\n typeErrorCreate,\n lookupGetter,\n} from './utils';\n\nconst getGlobal = () => (typeof window === 'undefined' ? null : window);\n\n/**\n * Creates a no-op policy for internal use only.\n * Don't export this function outside this module!\n * @param {?TrustedTypePolicyFactory} trustedTypes The policy factory.\n * @param {Document} document The document object (to determine policy name suffix)\n * @return {?TrustedTypePolicy} The policy created (or null, if Trusted Types\n * are not supported).\n */\nconst _createTrustedTypesPolicy = function (trustedTypes, document) {\n if (\n typeof trustedTypes !== 'object' ||\n typeof trustedTypes.createPolicy !== 'function'\n ) {\n return null;\n }\n\n // Allow the callers to control the unique policy name\n // by adding a data-tt-policy-suffix to the script element with the DOMPurify.\n // Policy creation with duplicate names throws in Trusted Types.\n let suffix = null;\n const ATTR_NAME = 'data-tt-policy-suffix';\n if (\n document.currentScript &&\n document.currentScript.hasAttribute(ATTR_NAME)\n ) {\n suffix = document.currentScript.getAttribute(ATTR_NAME);\n }\n\n const policyName = 'dompurify' + (suffix ? '#' + suffix : '');\n\n try {\n return trustedTypes.createPolicy(policyName, {\n createHTML(html) {\n return html;\n },\n });\n } catch (_) {\n // Policy creation failed (most likely another DOMPurify script has\n // already run). Skip creating the policy, as this will only cause errors\n // if TT are enforced.\n console.warn(\n 'TrustedTypes policy ' + policyName + ' could not be created.'\n );\n return null;\n }\n};\n\nfunction createDOMPurify(window = getGlobal()) {\n const DOMPurify = (root) => createDOMPurify(root);\n\n /**\n * Version label, exposed for easier checks\n * if DOMPurify is up to date or not\n */\n DOMPurify.version = VERSION;\n\n /**\n * Array of elements that DOMPurify removed during sanitation.\n * Empty if nothing was removed.\n */\n DOMPurify.removed = [];\n\n if (!window || !window.document || window.document.nodeType !== 9) {\n // Not running in a browser, provide a factory function\n // so that you can pass your own Window\n DOMPurify.isSupported = false;\n\n return DOMPurify;\n }\n\n const originalDocument = window.document;\n\n let { document } = window;\n const {\n DocumentFragment,\n HTMLTemplateElement,\n Node,\n Element,\n NodeFilter,\n NamedNodeMap = window.NamedNodeMap || window.MozNamedAttrMap,\n Text,\n Comment,\n DOMParser,\n trustedTypes,\n } = window;\n\n const ElementPrototype = Element.prototype;\n\n const cloneNode = lookupGetter(ElementPrototype, 'cloneNode');\n const getNextSibling = lookupGetter(ElementPrototype, 'nextSibling');\n const getChildNodes = lookupGetter(ElementPrototype, 'childNodes');\n const getParentNode = lookupGetter(ElementPrototype, 'parentNode');\n\n // As per issue #47, the web-components registry is inherited by a\n // new document created via createHTMLDocument. As per the spec\n // (http://w3c.github.io/webcomponents/spec/custom/#creating-and-passing-registries)\n // a new empty registry is used when creating a template contents owner\n // document, so we use that as our parent document to ensure nothing\n // is inherited.\n if (typeof HTMLTemplateElement === 'function') {\n const template = document.createElement('template');\n if (template.content && template.content.ownerDocument) {\n document = template.content.ownerDocument;\n }\n }\n\n const trustedTypesPolicy = _createTrustedTypesPolicy(\n trustedTypes,\n originalDocument\n );\n const emptyHTML =\n trustedTypesPolicy && RETURN_TRUSTED_TYPE\n ? trustedTypesPolicy.createHTML('')\n : '';\n\n const {\n implementation,\n createNodeIterator,\n getElementsByTagName,\n createDocumentFragment,\n } = document;\n const { importNode } = originalDocument;\n\n let documentMode = {};\n try {\n documentMode = clone(document).documentMode ? document.documentMode : {};\n } catch (_) {}\n\n let hooks = {};\n\n /**\n * Expose whether this browser supports running the full DOMPurify.\n */\n DOMPurify.isSupported =\n typeof getParentNode === 'function' &&\n implementation &&\n typeof implementation.createHTMLDocument !== 'undefined' &&\n documentMode !== 9;\n\n const {\n MUSTACHE_EXPR,\n ERB_EXPR,\n DATA_ATTR,\n ARIA_ATTR,\n IS_SCRIPT_OR_DATA,\n ATTR_WHITESPACE,\n } = EXPRESSIONS;\n\n let { IS_ALLOWED_URI } = EXPRESSIONS;\n\n /**\n * We consider the elements and attributes below to be safe. Ideally\n * don't add any new ones but feel free to remove unwanted ones.\n */\n\n /* allowed element names */\n let ALLOWED_TAGS = null;\n const DEFAULT_ALLOWED_TAGS = addToSet({}, [\n ...TAGS.html,\n ...TAGS.svg,\n ...TAGS.svgFilters,\n ...TAGS.mathMl,\n ...TAGS.text,\n ]);\n\n /* Allowed attribute names */\n let ALLOWED_ATTR = null;\n const DEFAULT_ALLOWED_ATTR = addToSet({}, [\n ...ATTRS.html,\n ...ATTRS.svg,\n ...ATTRS.mathMl,\n ...ATTRS.xml,\n ]);\n\n /* Explicitly forbidden tags (overrides ALLOWED_TAGS/ADD_TAGS) */\n let FORBID_TAGS = null;\n\n /* Explicitly forbidden attributes (overrides ALLOWED_ATTR/ADD_ATTR) */\n let FORBID_ATTR = null;\n\n /* Decide if ARIA attributes are okay */\n let ALLOW_ARIA_ATTR = true;\n\n /* Decide if custom data attributes are okay */\n let ALLOW_DATA_ATTR = true;\n\n /* Decide if unknown protocols are okay */\n let ALLOW_UNKNOWN_PROTOCOLS = false;\n\n /* Output should be safe for common template engines.\n * This means, DOMPurify removes data attributes, mustaches and ERB\n */\n let SAFE_FOR_TEMPLATES = false;\n\n /* Decide if document with <html>... should be returned */\n let WHOLE_DOCUMENT = false;\n\n /* Track whether config is already set on this instance of DOMPurify. */\n let SET_CONFIG = false;\n\n /* Decide if all elements (e.g. style, script) must be children of\n * document.body. By default, browsers might move them to document.head */\n let FORCE_BODY = false;\n\n /* Decide if a DOM `HTMLBodyElement` should be returned, instead of a html\n * string (or a TrustedHTML object if Trusted Types are supported).\n * If `WHOLE_DOCUMENT` is enabled a `HTMLHtmlElement` will be returned instead\n */\n let RETURN_DOM = false;\n\n /* Decide if a DOM `DocumentFragment` should be returned, instead of a html\n * string (or a TrustedHTML object if Trusted Types are supported) */\n let RETURN_DOM_FRAGMENT = false;\n\n /* If `RETURN_DOM` or `RETURN_DOM_FRAGMENT` is enabled, decide if the returned DOM\n * `Node` is imported into the current `Document`. If this flag is not enabled the\n * `Node` will belong (its ownerDocument) to a fresh `HTMLDocument`, created by\n * DOMPurify.\n *\n * This defaults to `true` starting DOMPurify 2.2.0. Note that setting it to `false`\n * might cause XSS from attacks hidden in closed shadowroots in case the browser\n * supports Declarative Shadow: DOM https://web.dev/declarative-shadow-dom/\n */\n let RETURN_DOM_IMPORT = true;\n\n /* Try to return a Trusted Type object instead of a string, return a string in\n * case Trusted Types are not supported */\n let RETURN_TRUSTED_TYPE = false;\n\n /* Output should be free from DOM clobbering attacks? */\n let SANITIZE_DOM = true;\n\n /* Keep element content when removing element? */\n let KEEP_CONTENT = true;\n\n /* If a `Node` is passed to sanitize(), then performs sanitization in-place instead\n * of importing it into a new Document and returning a sanitized copy */\n let IN_PLACE = false;\n\n /* Allow usage of profiles like html, svg and mathMl */\n let USE_PROFILES = {};\n\n /* Tags to ignore content of when KEEP_CONTENT is true */\n const FORBID_CONTENTS = addToSet({}, [\n 'annotation-xml',\n 'audio',\n 'colgroup',\n 'desc',\n 'foreignobject',\n 'head',\n 'iframe',\n 'math',\n 'mi',\n 'mn',\n 'mo',\n 'ms',\n 'mtext',\n 'noembed',\n 'noframes',\n 'noscript',\n 'plaintext',\n 'script',\n 'style',\n 'svg',\n 'template',\n 'thead',\n 'title',\n 'video',\n 'xmp',\n ]);\n\n /* Tags that are safe for data: URIs */\n let DATA_URI_TAGS = null;\n const DEFAULT_DATA_URI_TAGS = addToSet({}, [\n 'audio',\n 'video',\n 'img',\n 'source',\n 'image',\n 'track',\n ]);\n\n /* Attributes safe for values like \"javascript:\" */\n let URI_SAFE_ATTRIBUTES = null;\n const DEFAULT_URI_SAFE_ATTRIBUTES = addToSet({}, [\n 'alt',\n 'class',\n 'for',\n 'id',\n 'label',\n 'name',\n 'pattern',\n 'placeholder',\n 'summary',\n 'title',\n 'value',\n 'style',\n 'xmlns',\n ]);\n\n /* Keep a reference to config to pass to hooks */\n let CONFIG = null;\n\n /* Ideally, do not touch anything below this line */\n /* ______________________________________________ */\n\n const formElement = document.createElement('form');\n\n /**\n * _parseConfig\n *\n * @param {Object} cfg optional config literal\n */\n // eslint-disable-next-line complexity\n const _parseConfig = function (cfg) {\n if (CONFIG && CONFIG === cfg) {\n return;\n }\n\n /* Shield configuration object from tampering */\n if (!cfg || typeof cfg !== 'object') {\n cfg = {};\n }\n\n /* Shield configuration object from prototype pollution */\n cfg = clone(cfg);\n\n /* Set configuration parameters */\n ALLOWED_TAGS =\n 'ALLOWED_TAGS' in cfg\n ? addToSet({}, cfg.ALLOWED_TAGS)\n : DEFAULT_ALLOWED_TAGS;\n ALLOWED_ATTR =\n 'ALLOWED_ATTR' in cfg\n ? addToSet({}, cfg.ALLOWED_ATTR)\n : DEFAULT_ALLOWED_ATTR;\n URI_SAFE_ATTRIBUTES =\n 'ADD_URI_SAFE_ATTR' in cfg\n ? addToSet(clone(DEFAULT_URI_SAFE_ATTRIBUTES), cfg.ADD_URI_SAFE_ATTR)\n : DEFAULT_URI_SAFE_ATTRIBUTES;\n DATA_URI_TAGS =\n 'ADD_DATA_URI_TAGS' in cfg\n ? addToSet(clone(DEFAULT_DATA_URI_TAGS), cfg.ADD_DATA_URI_TAGS)\n : DEFAULT_DATA_URI_TAGS;\n FORBID_TAGS = 'FORBID_TAGS' in cfg ? addToSet({}, cfg.FORBID_TAGS) : {};\n FORBID_ATTR = 'FORBID_ATTR' in cfg ? addToSet({}, cfg.FORBID_ATTR) : {};\n USE_PROFILES = 'USE_PROFILES' in cfg ? cfg.USE_PROFILES : false;\n ALLOW_ARIA_ATTR = cfg.ALLOW_ARIA_ATTR !== false; // Default true\n ALLOW_DATA_ATTR = cfg.ALLOW_DATA_ATTR !== false; // Default true\n ALLOW_UNKNOWN_PROTOCOLS = cfg.ALLOW_UNKNOWN_PROTOCOLS || false; // Default false\n SAFE_FOR_TEMPLATES = cfg.SAFE_FOR_TEMPLATES || false; // Default false\n WHOLE_DOCUMENT = cfg.WHOLE_DOCUMENT || false; // Default false\n RETURN_DOM = cfg.RETURN_DOM || false; // Default false\n RETURN_DOM_FRAGMENT = cfg.RETURN_DOM_FRAGMENT || false; // Default false\n RETURN_DOM_IMPORT = cfg.RETURN_DOM_IMPORT !== false; // Default true\n RETURN_TRUSTED_TYPE = cfg.RETURN_TRUSTED_TYPE || false; // Default false\n FORCE_BODY = cfg.FORCE_BODY || false; // Default false\n SANITIZE_DOM = cfg.SANITIZE_DOM !== false; // Default true\n KEEP_CONTENT = cfg.KEEP_CONTENT !== false; // Default true\n IN_PLACE = cfg.IN_PLACE || false; // Default false\n IS_ALLOWED_URI = cfg.ALLOWED_URI_REGEXP || IS_ALLOWED_URI;\n if (SAFE_FOR_TEMPLATES) {\n ALLOW_DATA_ATTR = false;\n }\n\n if (RETURN_DOM_FRAGMENT) {\n RETURN_DOM = true;\n }\n\n /* Parse profile info */\n if (USE_PROFILES) {\n ALLOWED_TAGS = addToSet({}, [...TAGS.text]);\n ALLOWED_ATTR = [];\n if (USE_PROFILES.html === true) {\n addToSet(ALLOWED_TAGS, TAGS.html);\n addToSet(ALLOWED_ATTR, ATTRS.html);\n }\n\n if (USE_PROFILES.svg === true) {\n addToSet(ALLOWED_TAGS, TAGS.svg);\n addToSet(ALLOWED_ATTR, ATTRS.svg);\n addToSet(ALLOWED_ATTR, ATTRS.xml);\n }\n\n if (USE_PROFILES.svgFilters === true) {\n addToSet(ALLOWED_TAGS, TAGS.svgFilters);\n addToSet(ALLOWED_ATTR, ATTRS.svg);\n addToSet(ALLOWED_ATTR, ATTRS.xml);\n }\n\n if (USE_PROFILES.mathMl === true) {\n addToSet(ALLOWED_TAGS, TAGS.mathMl);\n addToSet(ALLOWED_ATTR, ATTRS.mathMl);\n addToSet(ALLOWED_ATTR, ATTRS.xml);\n }\n }\n\n /* Merge configuration parameters */\n if (cfg.ADD_TAGS) {\n if (ALLOWED_TAGS === DEFAULT_ALLOWED_TAGS) {\n ALLOWED_TAGS = clone(ALLOWED_TAGS);\n }\n\n addToSet(ALLOWED_TAGS, cfg.ADD_TAGS);\n }\n\n if (cfg.ADD_ATTR) {\n if (ALLOWED_ATTR === DEFAULT_ALLOWED_ATTR) {\n ALLOWED_ATTR = clone(ALLOWED_ATTR);\n }\n\n addToSet(ALLOWED_ATTR, cfg.ADD_ATTR);\n }\n\n if (cfg.ADD_URI_SAFE_ATTR) {\n addToSet(URI_SAFE_ATTRIBUTES, cfg.ADD_URI_SAFE_ATTR);\n }\n\n /* Add #text in case KEEP_CONTENT is set to true */\n if (KEEP_CONTENT) {\n ALLOWED_TAGS['#text'] = true;\n }\n\n /* Add html, head and body to ALLOWED_TAGS in case WHOLE_DOCUMENT is true */\n if (WHOLE_DOCUMENT) {\n addToSet(ALLOWED_TAGS, ['html', 'head', 'body']);\n }\n\n /* Add tbody to ALLOWED_TAGS in case tables are permitted, see #286, #365 */\n if (ALLOWED_TAGS.table) {\n addToSet(ALLOWED_TAGS, ['tbody']);\n delete FORBID_TAGS.tbody;\n }\n\n // Prevent further manipulation of configuration.\n // Not available in IE8, Safari 5, etc.\n if (freeze) {\n freeze(cfg);\n }\n\n CONFIG = cfg;\n };\n\n const MATHML_TEXT_INTEGRATION_POINTS = addToSet({}, [\n 'mi',\n 'mo',\n 'mn',\n 'ms',\n 'mtext',\n ]);\n\n const HTML_INTEGRATION_POINTS = addToSet({}, [\n 'foreignobject',\n 'desc',\n 'title',\n 'annotation-xml',\n ]);\n\n /* Keep track of all possible SVG and MathML tags\n * so that we can perform the namespace checks\n * correctly. */\n const ALL_SVG_TAGS = addToSet({}, TAGS.svg);\n addToSet(ALL_SVG_TAGS, TAGS.svgFilters);\n addToSet(ALL_SVG_TAGS, TAGS.svgDisallowed);\n\n const ALL_MATHML_TAGS = addToSet({}, TAGS.mathMl);\n addToSet(ALL_MATHML_TAGS, TAGS.mathMlDisallowed);\n\n const MATHML_NAMESPACE = 'http://www.w3.org/1998/Math/MathML';\n const SVG_NAMESPACE = 'http://www.w3.org/2000/svg';\n const HTML_NAMESPACE = 'http://www.w3.org/1999/xhtml';\n\n /**\n *\n *\n * @param {Element} element a DOM element whose namespace is being checked\n * @returns {boolean} Return false if the element has a\n * namespace that a spec-compliant parser would never\n * return. Return true otherwise.\n */\n const _checkValidNamespace = function (element) {\n let parent = getParentNode(element);\n\n // In JSDOM, if we're inside shadow DOM, then parentNode\n // can be null. We just simulate parent in this case.\n if (!parent || !parent.tagName) {\n parent = {\n namespaceURI: HTML_NAMESPACE,\n tagName: 'template',\n };\n }\n\n const tagName = stringToLowerCase(element.tagName);\n const parentTagName = stringToLowerCase(parent.tagName);\n\n if (element.namespaceURI === SVG_NAMESPACE) {\n // The only way to switch from HTML namespace to SVG\n // is via <svg>. If it happens via any other tag, then\n // it should be killed.\n if (parent.namespaceURI === HTML_NAMESPACE) {\n return tagName === 'svg';\n }\n\n // The only way to switch from MathML to SVG is via\n // svg if parent is either <annotation-xml> or MathML\n // text integration points.\n if (parent.namespaceURI === MATHML_NAMESPACE) {\n return (\n tagName === 'svg' &&\n (parentTagName === 'annotation-xml' ||\n MATHML_TEXT_INTEGRATION_POINTS[parentTagName])\n );\n }\n\n // We only allow elements that are defined in SVG\n // spec. All others are disallowed in SVG namespace.\n return Boolean(ALL_SVG_TAGS[tagName]);\n }\n\n if (element.namespaceURI === MATHML_NAMESPACE) {\n // The only way to switch from HTML namespace to MathML\n // is via <math>. If it happens via any other tag, then\n // it should be killed.\n if (parent.namespaceURI === HTML_NAMESPACE) {\n return tagName === 'math';\n }\n\n // The only way to switch from SVG to MathML is via\n // <math> and HTML integration points\n if (parent.namespaceURI === SVG_NAMESPACE) {\n return tagName === 'math' && HTML_INTEGRATION_POINTS[parentTagName];\n }\n\n // We only allow elements that are defined in MathML\n // spec. All others are disallowed in MathML namespace.\n return Boolean(ALL_MATHML_TAGS[tagName]);\n }\n\n if (element.namespaceURI === HTML_NAMESPACE) {\n // The only way to switch from SVG to HTML is via\n // HTML integration points, and from MathML to HTML\n // is via MathML text integration points\n if (\n parent.namespaceURI === SVG_NAMESPACE &&\n !HTML_INTEGRATION_POINTS[parentTagName]\n ) {\n return false;\n }\n\n if (\n parent.namespaceURI === MATHML_NAMESPACE &&\n !MATHML_TEXT_INTEGRATION_POINTS[parentTagName]\n ) {\n return false;\n }\n\n // Certain elements are allowed in both SVG and HTML\n // namespace. We need to specify them explicitly\n // so that they don't get erronously deleted from\n // HTML namespace.\n const commonSvgAndHTMLElements = addToSet({}, [\n 'title',\n 'style',\n 'font',\n 'a',\n 'script',\n ]);\n\n // We disallow tags that are specific for MathML\n // or SVG and should never appear in HTML namespace\n return (\n !ALL_MATHML_TAGS[tagName] &&\n (commonSvgAndHTMLElements[tagName] || !ALL_SVG_TAGS[tagName])\n );\n }\n\n // The code should never reach this place (this means\n // that the element somehow got namespace that is not\n // HTML, SVG or MathML). Return false just in case.\n return false;\n };\n\n /**\n * _forceRemove\n *\n * @param {Node} node a DOM node\n */\n const _forceRemove = function (node) {\n arrayPush(DOMPurify.removed, { element: node });\n try {\n node.parentNode.removeChild(node);\n } catch (_) {\n try {\n node.outerHTML = emptyHTML;\n } catch (_) {\n node.remove();\n }\n }\n };\n\n /**\n * _removeAttribute\n *\n * @param {String} name an Attribute name\n * @param {Node} node a DOM node\n */\n const _removeAttribute = function (name, node) {\n try {\n arrayPush(DOMPurify.removed, {\n attribute: node.getAttributeNode(name),\n from: node,\n });\n } catch (_) {\n arrayPush(DOMPurify.removed, {\n attribute: null,\n from: node,\n });\n }\n\n node.removeAttribute(name);\n\n // We void attribute values for unremovable \"is\"\" attributes\n if (name === 'is' && !ALLOWED_ATTR[name]) {\n if (RETURN_DOM || RETURN_DOM_FRAGMENT) {\n try {\n _forceRemove(node);\n } catch (_) {}\n } else {\n try {\n node.setAttribute(name, '');\n } catch (_) {}\n }\n }\n };\n\n /**\n * _initDocument\n *\n * @param {String} dirty a string of dirty markup\n * @return {Document} a DOM, filled with the dirty markup\n */\n const _initDocument = function (dirty) {\n /* Create a HTML document */\n let doc;\n let leadingWhitespace;\n\n if (FORCE_BODY) {\n dirty = '<remove></remove>' + dirty;\n } else {\n /* If FORCE_BODY isn't used, leading whitespace needs to be preserved manually */\n const matches = stringMatch(dirty, /^[\\r\\n\\t ]+/);\n leadingWhitespace = matches && matches[0];\n }\n\n const dirtyPayload = trustedTypesPolicy\n ? trustedTypesPolicy.createHTML(dirty)\n : dirty;\n /* Use the DOMParser API by default, fallback later if needs be */\n try {\n doc = new DOMParser().parseFromString(dirtyPayload, 'text/html');\n } catch (_) {}\n\n /* Use createHTMLDocument in case DOMParser is not available */\n if (!doc || !doc.documentElement) {\n doc = implementation.createHTMLDocument('');\n const { body } = doc;\n body.parentNode.removeChild(body.parentNode.firstElementChild);\n body.outerHTML = dirtyPayload;\n }\n\n if (dirty && leadingWhitespace) {\n doc.body.insertBefore(\n document.createTextNode(leadingWhitespace),\n doc.body.childNodes[0] || null\n );\n }\n\n /* Work on whole document or just its body */\n return getElementsByTagName.call(doc, WHOLE_DOCUMENT ? 'html' : 'body')[0];\n };\n\n /**\n * _createIterator\n *\n * @param {Document} root document/fragment to create iterator for\n * @return {Iterator} iterator instance\n */\n const _createIterator = function (root) {\n return createNodeIterator.call(\n root.ownerDocument || root,\n root,\n NodeFilter.SHOW_ELEMENT | NodeFilter.SHOW_COMMENT | NodeFilter.SHOW_TEXT,\n () => {\n return NodeFilter.FILTER_ACCEPT;\n },\n false\n );\n };\n\n /**\n * _isClobbered\n *\n * @param {Node} elm element to check for clobbering attacks\n * @return {Boolean} true if clobbered, false if safe\n */\n const _isClobbered = function (elm) {\n if (elm instanceof Text || elm instanceof Comment) {\n return false;\n }\n\n if (\n typeof elm.nodeName !== 'string' ||\n typeof elm.textContent !== 'string' ||\n typeof elm.removeChild !== 'function' ||\n !(elm.attributes instanceof NamedNodeMap) ||\n typeof elm.removeAttribute !== 'function' ||\n typeof elm.setAttribute !== 'function' ||\n typeof elm.namespaceURI !== 'string' ||\n typeof elm.insertBefore !== 'function'\n ) {\n return true;\n }\n\n return false;\n };\n\n /**\n * _isNode\n *\n * @param {Node} obj object to check whether it's a DOM node\n * @return {Boolean} true is object is a DOM node\n */\n const _isNode = function (object) {\n return typeof Node === 'object'\n ? object instanceof Node\n : object &&\n typeof object === 'object' &&\n typeof object.nodeType === 'number' &&\n typeof object.nodeName === 'string';\n };\n\n /**\n * _executeHook\n * Execute user configurable hooks\n *\n * @param {String} entryPoint Name of the hook's entry point\n * @param {Node} currentNode node to work on with the hook\n * @param {Object} data additional hook parameters\n */\n const _executeHook = function (entryPoint, currentNode, data) {\n if (!hooks[entryPoint]) {\n return;\n }\n\n arrayForEach(hooks[entryPoint], (hook) => {\n hook.call(DOMPurify, currentNode, data, CONFIG);\n });\n };\n\n /**\n * _sanitizeElements\n *\n * @protect nodeName\n * @protect textContent\n * @protect removeChild\n *\n * @param {Node} currentNode to check for permission to exist\n * @return {Boolean} true if node was killed, false if left alive\n */\n const _sanitizeElements = function (currentNode) {\n let content;\n\n /* Execute a hook if present */\n _executeHook('beforeSanitizeElements', currentNode, null);\n\n /* Check if element is clobbered or can clobber */\n if (_isClobbered(currentNode)) {\n _forceRemove(currentNode);\n return true;\n }\n\n /* Check if tagname contains Unicode */\n if (stringMatch(currentNode.nodeName, /[\\u0080-\\uFFFF]/)) {\n _forceRemove(currentNode);\n return true;\n }\n\n /* Now let's check the element's type and name */\n const tagName = stringToLowerCase(currentNode.nodeName);\n\n /* Execute a hook if present */\n _executeHook('uponSanitizeElement', currentNode, {\n tagName,\n allowedTags: ALLOWED_TAGS,\n });\n\n /* Detect mXSS attempts abusing namespace confusion */\n if (\n !_isNode(currentNode.firstElementChild) &&\n (!_isNode(currentNode.content) ||\n !_isNode(currentNode.content.firstElementChild)) &&\n regExpTest(/<[/\\w]/g, currentNode.innerHTML) &&\n regExpTest(/<[/\\w]/g, currentNode.textContent)\n ) {\n _forceRemove(currentNode);\n return true;\n }\n\n /* Remove element if anything forbids its presence */\n if (!ALLOWED_TAGS[tagName] || FORBID_TAGS[tagName]) {\n /* Keep content except for bad-listed elements */\n if (KEEP_CONTENT && !FORBID_CONTENTS[tagName]) {\n const parentNode = getParentNode(currentNode);\n const childNodes = getChildNodes(currentNode);\n\n if (childNodes && parentNode) {\n const childCount = childNodes.length;\n\n for (let i = childCount - 1; i >= 0; --i) {\n parentNode.insertBefore(\n cloneNode(childNodes[i], true),\n getNextSibling(currentNode)\n );\n }\n }\n }\n\n _forceRemove(currentNode);\n return true;\n }\n\n /* Check whether element has a valid namespace */\n if (currentNode instanceof Element && !_checkValidNamespace(currentNode)) {\n _forceRemove(currentNode);\n return true;\n }\n\n if (\n (tagName === 'noscript' || tagName === 'noembed') &&\n regExpTest(/<\\/no(script|embed)/i, currentNode.innerHTML)\n ) {\n _forceRemove(currentNode);\n return true;\n }\n\n /* Sanitize element content to be template-safe */\n if (SAFE_FOR_TEMPLATES && currentNode.nodeType === 3) {\n /* Get the element's text content */\n content = currentNode.textContent;\n content = stringReplace(content, MUSTACHE_EXPR, ' ');\n content = stringReplace(content, ERB_EXPR, ' ');\n if (currentNode.textContent !== content) {\n arrayPush(DOMPurify.removed, { element: currentNode.cloneNode() });\n currentNode.textContent = content;\n }\n }\n\n /* Execute a hook if present */\n _executeHook('afterSanitizeElements', currentNode, null);\n\n return false;\n };\n\n /**\n * _isValidAttribute\n *\n * @param {string} lcTag Lowercase tag name of containing element.\n * @param {string} lcName Lowercase attribute name.\n * @param {string} value Attribute value.\n * @return {Boolean} Returns true if `value` is valid, otherwise false.\n */\n // eslint-disable-next-line complexity\n const _isValidAttribute = function (lcTag, lcName, value) {\n /* Make sure attribute cannot clobber */\n if (\n SANITIZE_DOM &&\n (lcName === 'id' || lcName === 'name') &&\n (value in document || value in formElement)\n ) {\n return false;\n }\n\n /* Allow valid data-* attributes: At least one character after \"-\"\n (https://html.spec.whatwg.org/multipage/dom.html#embedding-custom-non-visible-data-with-the-data-*-attributes)\n XML-compatible (https://html.spec.whatwg.org/multipage/infrastructure.html#xml-compatible and http://www.w3.org/TR/xml/#d0e804)\n We don't need to check the value; it's always URI safe. */\n if (ALLOW_DATA_ATTR && regExpTest(DATA_ATTR, lcName)) {\n // This attribute is safe\n } else if (ALLOW_ARIA_ATTR && regExpTest(ARIA_ATTR, lcName)) {\n // This attribute is safe\n /* Otherwise, check the name is permitted */\n } else if (!ALLOWED_ATTR[lcName] || FORBID_ATTR[lcName]) {\n return false;\n\n /* Check value is safe. First, is attr inert? If so, is safe */\n } else if (URI_SAFE_ATTRIBUTES[lcName]) {\n // This attribute is safe\n /* Check no script, data or unknown possibly unsafe URI\n unless we know URI values are safe for that attribute */\n } else if (\n regExpTest(IS_ALLOWED_URI, stringReplace(value, ATTR_WHITESPACE, ''))\n ) {\n // This attribute is safe\n /* Keep image data URIs alive if src/xlink:href is allowed */\n /* Further prevent gadget XSS for dynamically built script tags */\n } else if (\n (lcName === 'src' || lcName === 'xlink:href' || lcName === 'href') &&\n lcTag !== 'script' &&\n stringIndexOf(value, 'data:') === 0 &&\n DATA_URI_TAGS[lcTag]\n ) {\n // This attribute is safe\n /* Allow unknown protocols: This provides support for links that\n are handled by protocol handlers which may be unknown ahead of\n time, e.g. fb:, spotify: */\n } else if (\n ALLOW_UNKNOWN_PROTOCOLS &&\n !regExpTest(IS_SCRIPT_OR_DATA, stringReplace(value, ATTR_WHITESPACE, ''))\n ) {\n // This attribute is safe\n /* Check for binary attributes */\n // eslint-disable-next-line no-negated-condition\n } else if (!value) {\n // Binary attributes are safe at this point\n /* Anything else, presume unsafe, do not add it back */\n } else {\n return false;\n }\n\n return true;\n };\n\n /**\n * _sanitizeAttributes\n *\n * @protect attributes\n * @protect nodeName\n * @protect removeAttribute\n * @protect setAttribute\n *\n * @param {Node} currentNode to sanitize\n */\n const _sanitizeAttributes = function (currentNode) {\n let attr;\n let value;\n let lcName;\n let l;\n /* Execute a hook if present */\n _executeHook('beforeSanitizeAttributes', currentNode, null);\n\n const { attributes } = currentNode;\n\n /* Check if we have attributes; if not we might have a text node */\n if (!attributes) {\n return;\n }\n\n const hookEvent = {\n attrName: '',\n attrValue: '',\n keepAttr: true,\n allowedAttributes: ALLOWED_ATTR,\n };\n l = attributes.length;\n\n /* Go backwards over all attributes; safely remove bad ones */\n while (l--) {\n attr = attributes[l];\n const { name, namespaceURI } = attr;\n value = stringTrim(attr.value);\n lcName = stringToLowerCase(name);\n\n /* Execute a hook if present */\n hookEvent.attrName = lcName;\n hookEvent.attrValue = value;\n hookEvent.keepAttr = true;\n hookEvent.forceKeepAttr = undefined; // Allows developers to see this is a property they can set\n _executeHook('uponSanitizeAttribute', currentNode, hookEvent);\n value = hookEvent.attrValue;\n /* Did the hooks approve of the attribute? */\n if (hookEvent.forceKeepAttr) {\n continue;\n }\n\n /* Remove attribute */\n _removeAttribute(name, currentNode);\n\n /* Did the hooks approve of the attribute? */\n if (!hookEvent.keepAttr) {\n continue;\n }\n\n /* Work around a security issue in jQuery 3.0 */\n if (regExpTest(/\\/>/i, value)) {\n _removeAttribute(name, currentNode);\n continue;\n }\n\n /* Sanitize attribute content to be template-safe */\n if (SAFE_FOR_TEMPLATES) {\n value = stringReplace(value, MUSTACHE_EXPR, ' ');\n value = stringReplace(value, ERB_EXPR, ' ');\n }\n\n /* Is `value` valid for this attribute? */\n const lcTag = currentNode.nodeName.toLowerCase();\n if (!_isValidAttribute(lcTag, lcName, value)) {\n continue;\n }\n\n /* Handle invalid data-* attribute set by try-catching it */\n try {\n if (namespaceURI) {\n currentNode.setAttributeNS(namespaceURI, name, value);\n } else {\n /* Fallback to setAttribute() for browser-unrecognized namespaces e.g. \"x-schema\". */\n currentNode.setAttribute(name, value);\n }\n\n arrayPop(DOMPurify.removed);\n } catch (_) {}\n }\n\n /* Execute a hook if present */\n _executeHook('afterSanitizeAttributes', currentNode, null);\n };\n\n /**\n * _sanitizeShadowDOM\n *\n * @param {DocumentFragment} fragment to iterate over recursively\n */\n const _sanitizeShadowDOM = function (fragment) {\n let shadowNode;\n const shadowIterator = _createIterator(fragment);\n\n /* Execute a hook if present */\n _executeHook('beforeSanitizeShadowDOM', fragment, null);\n\n while ((shadowNode = shadowIterator.nextNode())) {\n /* Execute a hook if present */\n _executeHook('uponSanitizeShadowNode', shadowNode, null);\n\n /* Sanitize tags and elements */\n if (_sanitizeElements(shadowNode)) {\n continue;\n }\n\n /* Deep shadow DOM detected */\n if (shadowNode.content instanceof DocumentFragment) {\n _sanitizeShadowDOM(shadowNode.content);\n }\n\n /* Check attributes, sanitize if necessary */\n _sanitizeAttributes(shadowNode);\n }\n\n /* Execute a hook if present */\n _executeHook('afterSanitizeShadowDOM', fragment, null);\n };\n\n /**\n * Sanitize\n * Public method providing core sanitation functionality\n *\n * @param {String|Node} dirty string or DOM node\n * @param {Object} configuration object\n */\n // eslint-disable-next-line complexity\n DOMPurify.sanitize = function (dirty, cfg) {\n let body;\n let importedNode;\n let currentNode;\n let oldNode;\n let returnNode;\n /* Make sure we have a string to sanitize.\n DO NOT return early, as this will return the wrong type if\n the user has requested a DOM object rather than a string */\n if (!dirty) {\n dirty = '<!-->';\n }\n\n /* Stringify, in case dirty is an object */\n if (typeof dirty !== 'string' && !_isNode(dirty)) {\n // eslint-disable-next-line no-negated-condition\n if (typeof dirty.toString !== 'function') {\n throw typeErrorCreate('toString is not a function');\n } else {\n dirty = dirty.toString();\n if (typeof dirty !== 'string') {\n throw typeErrorCreate('dirty is not a string, aborting');\n }\n }\n }\n\n /* Check we can run. Otherwise fall back or ignore */\n if (!DOMPurify.isSupported) {\n if (\n typeof window.toStaticHTML === 'object' ||\n typeof window.toStaticHTML === 'function'\n ) {\n if (typeof dirty === 'string') {\n return window.toStaticHTML(dirty);\n }\n\n if (_isNode(dirty)) {\n return window.toStaticHTML(dirty.outerHTML);\n }\n }\n\n return dirty;\n }\n\n /* Assign config vars */\n if (!SET_CONFIG) {\n _parseConfig(cfg);\n }\n\n /* Clean up removed elements */\n DOMPurify.removed = [];\n\n /* Check if dirty is correctly typed for IN_PLACE */\n if (typeof dirty === 'string') {\n IN_PLACE = false;\n }\n\n if (IN_PLACE) {\n /* No special handling necessary for in-place sanitization */\n } else if (dirty instanceof Node) {\n /* If dirty is a DOM element, append to an empty document to avoid\n elements being stripped by the parser */\n body = _initDocument('<!---->');\n importedNode = body.ownerDocument.importNode(dirty, true);\n if (importedNode.nodeType === 1 && importedNode.nodeName === 'BODY') {\n /* Node is already a body, use as is */\n body = importedNode;\n } else if (importedNode.nodeName === 'HTML') {\n body = importedNode;\n } else {\n // eslint-disable-next-line unicorn/prefer-node-append\n body.appendChild(importedNode);\n }\n } else {\n /* Exit directly if we have nothing to do */\n if (\n !RETURN_DOM &&\n !SAFE_FOR_TEMPLATES &&\n !WHOLE_DOCUMENT &&\n // eslint-disable-next-line unicorn/prefer-includes\n dirty.indexOf('<') === -1\n ) {\n return trustedTypesPolicy && RETURN_TRUSTED_TYPE\n ? trustedTypesPolicy.createHTML(dirty)\n : dirty;\n }\n\n /* Initialize the document to work on */\n body = _initDocument(dirty);\n\n /* Check we have a DOM node from the data */\n if (!body) {\n return RETURN_DOM ? null : emptyHTML;\n }\n }\n\n /* Remove first element node (ours) if FORCE_BODY is set */\n if (body && FORCE_BODY) {\n _forceRemove(body.firstChild);\n }\n\n /* Get node iterator */\n const nodeIterator = _createIterator(IN_PLACE ? dirty : body);\n\n /* Now start iterating over the created document */\n while ((currentNode = nodeIterator.nextNode())) {\n /* Fix IE's strange behavior with manipulated textNodes #89 */\n if (currentNode.nodeType === 3 && currentNode === oldNode) {\n continue;\n }\n\n /* Sanitize tags and elements */\n if (_sanitizeElements(currentNode)) {\n continue;\n }\n\n /* Shadow DOM detected, sanitize it */\n if (currentNode.content instanceof DocumentFragment) {\n _sanitizeShadowDOM(currentNode.content);\n }\n\n /* Check attributes, sanitize if necessary */\n _sanitizeAttributes(currentNode);\n\n oldNode = currentNode;\n }\n\n oldNode = null;\n\n /* If we sanitized `dirty` in-place, return it. */\n if (IN_PLACE) {\n return dirty;\n }\n\n /* Return sanitized string or DOM */\n if (RETURN_DOM) {\n if (RETURN_DOM_FRAGMENT) {\n returnNode = createDocumentFragment.call(body.ownerDocument);\n\n while (body.firstChild) {\n // eslint-disable-next-line unicorn/prefer-node-append\n returnNode.appendChild(body.firstChild);\n }\n } else {\n returnNode = body;\n }\n\n if (RETURN_DOM_IMPORT) {\n /*\n AdoptNode() is not used because internal state is not reset\n (e.g. the past names map of a HTMLFormElement), this is safe\n in theory but we would rather not risk another attack vector.\n The state that is cloned by importNode() is explicitly defined\n by the specs.\n */\n returnNode = importNode.call(originalDocument, returnNode, true);\n }\n\n return returnNode;\n }\n\n let serializedHTML = WHOLE_DOCUMENT ? body.outerHTML : body.innerHTML;\n\n /* Sanitize final string template-safe */\n if (SAFE_FOR_TEMPLATES) {\n serializedHTML = stringReplace(serializedHTML, MUSTACHE_EXPR, ' ');\n serializedHTML = stringReplace(serializedHTML, ERB_EXPR, ' ');\n }\n\n return trustedTypesPolicy && RETURN_TRUSTED_TYPE\n ? trustedTypesPolicy.createHTML(serializedHTML)\n : serializedHTML;\n };\n\n /**\n * Public method to set the configuration once\n * setConfig\n *\n * @param {Object} cfg configuration object\n */\n DOMPurify.setConfig = function (cfg) {\n _parseConfig(cfg);\n SET_CONFIG = true;\n };\n\n /**\n * Public method to remove the configuration\n * clearConfig\n *\n */\n DOMPurify.clearConfig = function () {\n CONFIG = null;\n SET_CONFIG = false;\n };\n\n /**\n * Public method to check if an attribute value is valid.\n * Uses last set config, if any. Otherwise, uses config defaults.\n * isValidAttribute\n *\n * @param {string} tag Tag name of containing element.\n * @param {string} attr Attribute name.\n * @param {string} value Attribute value.\n * @return {Boolean} Returns true if `value` is valid. Otherwise, returns false.\n */\n DOMPurify.isValidAttribute = function (tag, attr, value) {\n /* Initialize shared config vars if necessary. */\n if (!CONFIG) {\n _parseConfig({});\n }\n\n const lcTag = stringToLowerCase(tag);\n const lcName = stringToLowerCase(attr);\n return _isValidAttribute(lcTag, lcName, value);\n };\n\n /**\n * AddHook\n * Public method to add DOMPurify hooks\n *\n * @param {String} entryPoint entry point for the hook to add\n * @param {Function} hookFunction function to execute\n */\n DOMPurify.addHook = function (entryPoint, hookFunction) {\n if (typeof hookFunction !== 'function') {\n return;\n }\n\n hooks[entryPoint] = hooks[entryPoint] || [];\n arrayPush(hooks[entryPoint], hookFunction);\n };\n\n /**\n * RemoveHook\n * Public method to remove a DOMPurify hook at a given entryPoint\n * (pops it from the stack of hooks if more are present)\n *\n * @param {String} entryPoint entry point for the hook to remove\n */\n DOMPurify.removeHook = function (entryPoint) {\n if (hooks[entryPoint]) {\n arrayPop(hooks[entryPoint]);\n }\n };\n\n /**\n * RemoveHooks\n * Public method to remove all DOMPurify hooks at a given entryPoint\n *\n * @param {String} entryPoint entry point for the hooks to remove\n */\n DOMPurify.removeHooks = function (entryPoint) {\n if (hooks[entryPoint]) {\n hooks[entryPoint] = [];\n }\n };\n\n /**\n * RemoveAllHooks\n * Public method to remove all DOMPurify hooks\n *\n */\n DOMPurify.removeAllHooks = function () {\n hooks = {};\n };\n\n return DOMPurify;\n}\n\nexport default createDOMPurify();\n","function _typeof(obj) {\n \"@babel/helpers - typeof\";\n\n if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") {\n module.exports = _typeof = function _typeof(obj) {\n return typeof obj;\n };\n\n module.exports[\"default\"] = module.exports, module.exports.__esModule = true;\n } else {\n module.exports = _typeof = function _typeof(obj) {\n return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n };\n\n module.exports[\"default\"] = module.exports, module.exports.__esModule = true;\n }\n\n return _typeof(obj);\n}\n\nmodule.exports = _typeof;\nmodule.exports[\"default\"] = module.exports, module.exports.__esModule = true;","/**\n * @licstart The following is the entire license notice for the\n * Javascript code in this page\n *\n * Copyright 2020 Mozilla Foundation\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n *\n * @licend The above is the entire license notice for the\n * Javascript code in this page\n */\n\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.SimpleLinkService = exports.PDFLinkService = void 0;\n\nvar _ui_utils = require(\"./ui_utils.js\");\n\nclass PDFLinkService {\n constructor({\n eventBus,\n externalLinkTarget = null,\n externalLinkRel = null,\n externalLinkEnabled = true,\n ignoreDestinationZoom = false\n } = {}) {\n this.eventBus = eventBus;\n this.externalLinkTarget = externalLinkTarget;\n this.externalLinkRel = externalLinkRel;\n this.externalLinkEnabled = externalLinkEnabled;\n this._ignoreDestinationZoom = ignoreDestinationZoom;\n this.baseUrl = null;\n this.pdfDocument = null;\n this.pdfViewer = null;\n this.pdfHistory = null;\n this._pagesRefCache = null;\n }\n\n setDocument(pdfDocument, baseUrl = null) {\n this.baseUrl = baseUrl;\n this.pdfDocument = pdfDocument;\n this._pagesRefCache = Object.create(null);\n }\n\n setViewer(pdfViewer) {\n this.pdfViewer = pdfViewer;\n }\n\n setHistory(pdfHistory) {\n this.pdfHistory = pdfHistory;\n }\n\n get pagesCount() {\n return this.pdfDocument ? this.pdfDocument.numPages : 0;\n }\n\n get page() {\n return this.pdfViewer.currentPageNumber;\n }\n\n set page(value) {\n this.pdfViewer.currentPageNumber = value;\n }\n\n get rotation() {\n return this.pdfViewer.pagesRotation;\n }\n\n set rotation(value) {\n this.pdfViewer.pagesRotation = value;\n }\n\n navigateTo(dest) {\n const goToDestination = ({\n namedDest,\n explicitDest\n }) => {\n const destRef = explicitDest[0];\n let pageNumber;\n\n if (destRef instanceof Object) {\n pageNumber = this._cachedPageNumber(destRef);\n\n if (pageNumber === null) {\n this.pdfDocument.getPageIndex(destRef).then(pageIndex => {\n this.cachePageRef(pageIndex + 1, destRef);\n goToDestination({\n namedDest,\n explicitDest\n });\n }).catch(() => {\n console.error(`PDFLinkService.navigateTo: \"${destRef}\" is not ` + `a valid page reference, for dest=\"${dest}\".`);\n });\n return;\n }\n } else if (Number.isInteger(destRef)) {\n pageNumber = destRef + 1;\n } else {\n console.error(`PDFLinkService.navigateTo: \"${destRef}\" is not ` + `a valid destination reference, for dest=\"${dest}\".`);\n return;\n }\n\n if (!pageNumber || pageNumber < 1 || pageNumber > this.pagesCount) {\n console.error(`PDFLinkService.navigateTo: \"${pageNumber}\" is not ` + `a valid page number, for dest=\"${dest}\".`);\n return;\n }\n\n if (this.pdfHistory) {\n this.pdfHistory.pushCurrentPosition();\n this.pdfHistory.push({\n namedDest,\n explicitDest,\n pageNumber\n });\n }\n\n this.pdfViewer.scrollPageIntoView({\n pageNumber,\n destArray: explicitDest,\n ignoreDestinationZoom: this._ignoreDestinationZoom\n });\n };\n\n new Promise((resolve, reject) => {\n if (typeof dest === \"string\") {\n this.pdfDocument.getDestination(dest).then(destArray => {\n resolve({\n namedDest: dest,\n explicitDest: destArray\n });\n });\n return;\n }\n\n resolve({\n namedDest: \"\",\n explicitDest: dest\n });\n }).then(data => {\n if (!Array.isArray(data.explicitDest)) {\n console.error(`PDFLinkService.navigateTo: \"${data.explicitDest}\" is` + ` not a valid destination array, for dest=\"${dest}\".`);\n return;\n }\n\n goToDestination(data);\n });\n }\n\n getDestinationHash(dest) {\n if (typeof dest === \"string\") {\n return this.getAnchorUrl(\"#\" + escape(dest));\n }\n\n if (Array.isArray(dest)) {\n const str = JSON.stringify(dest);\n return this.getAnchorUrl(\"#\" + escape(str));\n }\n\n return this.getAnchorUrl(\"\");\n }\n\n getAnchorUrl(anchor) {\n return (this.baseUrl || \"\") + anchor;\n }\n\n setHash(hash) {\n let pageNumber, dest;\n\n if (hash.includes(\"=\")) {\n const params = (0, _ui_utils.parseQueryString)(hash);\n\n if (\"search\" in params) {\n this.eventBus.dispatch(\"findfromurlhash\", {\n source: this,\n query: params.search.replace(/\"/g, \"\"),\n phraseSearch: params.phrase === \"true\"\n });\n }\n\n if (\"page\" in params) {\n pageNumber = params.page | 0 || 1;\n }\n\n if (\"zoom\" in params) {\n const zoomArgs = params.zoom.split(\",\");\n const zoomArg = zoomArgs[0];\n const zoomArgNumber = parseFloat(zoomArg);\n\n if (!zoomArg.includes(\"Fit\")) {\n dest = [null, {\n name: \"XYZ\"\n }, zoomArgs.length > 1 ? zoomArgs[1] | 0 : null, zoomArgs.length > 2 ? zoomArgs[2] | 0 : null, zoomArgNumber ? zoomArgNumber / 100 : zoomArg];\n } else {\n if (zoomArg === \"Fit\" || zoomArg === \"FitB\") {\n dest = [null, {\n name: zoomArg\n }];\n } else if (zoomArg === \"FitH\" || zoomArg === \"FitBH\" || zoomArg === \"FitV\" || zoomArg === \"FitBV\") {\n dest = [null, {\n name: zoomArg\n }, zoomArgs.length > 1 ? zoomArgs[1] | 0 : null];\n } else if (zoomArg === \"FitR\") {\n if (zoomArgs.length !== 5) {\n console.error('PDFLinkService.setHash: Not enough parameters for \"FitR\".');\n } else {\n dest = [null, {\n name: zoomArg\n }, zoomArgs[1] | 0, zoomArgs[2] | 0, zoomArgs[3] | 0, zoomArgs[4] | 0];\n }\n } else {\n console.error(`PDFLinkService.setHash: \"${zoomArg}\" is not ` + \"a valid zoom value.\");\n }\n }\n }\n\n if (dest) {\n this.pdfViewer.scrollPageIntoView({\n pageNumber: pageNumber || this.page,\n destArray: dest,\n allowNegativeOffset: true\n });\n } else if (pageNumber) {\n this.page = pageNumber;\n }\n\n if (\"pagemode\" in params) {\n this.eventBus.dispatch(\"pagemode\", {\n source: this,\n mode: params.pagemode\n });\n }\n\n if (\"nameddest\" in params) {\n this.navigateTo(params.nameddest);\n }\n } else {\n dest = unescape(hash);\n\n try {\n dest = JSON.parse(dest);\n\n if (!Array.isArray(dest)) {\n dest = dest.toString();\n }\n } catch (ex) {}\n\n if (typeof dest === \"string\" || isValidExplicitDestination(dest)) {\n this.navigateTo(dest);\n return;\n }\n\n console.error(`PDFLinkService.setHash: \"${unescape(hash)}\" is not ` + \"a valid destination.\");\n }\n }\n\n executeNamedAction(action) {\n switch (action) {\n case \"GoBack\":\n if (this.pdfHistory) {\n this.pdfHistory.back();\n }\n\n break;\n\n case \"GoForward\":\n if (this.pdfHistory) {\n this.pdfHistory.forward();\n }\n\n break;\n\n case \"NextPage\":\n if (this.page < this.pagesCount) {\n this.page++;\n }\n\n break;\n\n case \"PrevPage\":\n if (this.page > 1) {\n this.page--;\n }\n\n break;\n\n case \"LastPage\":\n this.page = this.pagesCount;\n break;\n\n case \"FirstPage\":\n this.page = 1;\n break;\n\n default:\n break;\n }\n\n this.eventBus.dispatch(\"namedaction\", {\n source: this,\n action\n });\n }\n\n cachePageRef(pageNum, pageRef) {\n if (!pageRef) {\n return;\n }\n\n const refStr = pageRef.gen === 0 ? `${pageRef.num}R` : `${pageRef.num}R${pageRef.gen}`;\n this._pagesRefCache[refStr] = pageNum;\n }\n\n _cachedPageNumber(pageRef) {\n const refStr = pageRef.gen === 0 ? `${pageRef.num}R` : `${pageRef.num}R${pageRef.gen}`;\n return this._pagesRefCache && this._pagesRefCache[refStr] || null;\n }\n\n isPageVisible(pageNumber) {\n return this.pdfViewer.isPageVisible(pageNumber);\n }\n\n}\n\nexports.PDFLinkService = PDFLinkService;\n\nfunction isValidExplicitDestination(dest) {\n if (!Array.isArray(dest)) {\n return false;\n }\n\n const destLength = dest.length;\n\n if (destLength < 2) {\n return false;\n }\n\n const page = dest[0];\n\n if (!(typeof page === \"object\" && Number.isInteger(page.num) && Number.isInteger(page.gen)) && !(Number.isInteger(page) && page >= 0)) {\n return false;\n }\n\n const zoom = dest[1];\n\n if (!(typeof zoom === \"object\" && typeof zoom.name === \"string\")) {\n return false;\n }\n\n let allowNull = true;\n\n switch (zoom.name) {\n case \"XYZ\":\n if (destLength !== 5) {\n return false;\n }\n\n break;\n\n case \"Fit\":\n case \"FitB\":\n return destLength === 2;\n\n case \"FitH\":\n case \"FitBH\":\n case \"FitV\":\n case \"FitBV\":\n if (destLength !== 3) {\n return false;\n }\n\n break;\n\n case \"FitR\":\n if (destLength !== 6) {\n return false;\n }\n\n allowNull = false;\n break;\n\n default:\n return false;\n }\n\n for (let i = 2; i < destLength; i++) {\n const param = dest[i];\n\n if (!(typeof param === \"number\" || allowNull && param === null)) {\n return false;\n }\n }\n\n return true;\n}\n\nclass SimpleLinkService {\n constructor() {\n this.externalLinkTarget = null;\n this.externalLinkRel = null;\n this.externalLinkEnabled = true;\n this._ignoreDestinationZoom = false;\n }\n\n get pagesCount() {\n return 0;\n }\n\n get page() {\n return 0;\n }\n\n set page(value) {}\n\n get rotation() {\n return 0;\n }\n\n set rotation(value) {}\n\n navigateTo(dest) {}\n\n getDestinationHash(dest) {\n return \"#\";\n }\n\n getAnchorUrl(hash) {\n return \"#\";\n }\n\n setHash(hash) {}\n\n executeNamedAction(action) {}\n\n cachePageRef(pageNum, pageRef) {}\n\n isPageVisible(pageNumber) {\n return true;\n }\n\n}\n\nexports.SimpleLinkService = SimpleLinkService;","import React from 'react';\nimport PropTypes from 'prop-types';\nimport Player from '@vimeo/player';\n\nfunction _inheritsLoose(subClass, superClass) {\n subClass.prototype = Object.create(superClass.prototype);\n subClass.prototype.constructor = subClass;\n subClass.__proto__ = superClass;\n}\n\nfunction _assertThisInitialized(self) {\n if (self === void 0) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n\n return self;\n}\n\nvar eventNames = {\n play: 'onPlay',\n pause: 'onPause',\n ended: 'onEnd',\n timeupdate: 'onTimeUpdate',\n progress: 'onProgress',\n seeked: 'onSeeked',\n texttrackchange: 'onTextTrackChange',\n cuechange: 'onCueChange',\n cuepoint: 'onCuePoint',\n volumechange: 'onVolumeChange',\n playbackratechange: 'onPlaybackRateChange',\n error: 'onError',\n loaded: 'onLoaded'\n};\n\nvar Vimeo = /*#__PURE__*/function (_React$Component) {\n _inheritsLoose(Vimeo, _React$Component);\n\n function Vimeo(props) {\n var _this;\n\n _this = _React$Component.call(this, props) || this;\n _this.refContainer = _this.refContainer.bind(_assertThisInitialized(_this));\n return _this;\n }\n\n var _proto = Vimeo.prototype;\n\n _proto.componentDidMount = function componentDidMount() {\n this.createPlayer();\n };\n\n _proto.componentDidUpdate = function componentDidUpdate(prevProps) {\n var _this2 = this;\n\n // eslint-disable-next-line react/destructuring-assignment\n var changes = Object.keys(this.props).filter(function (name) {\n return _this2.props[name] !== prevProps[name];\n });\n this.updateProps(changes);\n };\n\n _proto.componentWillUnmount = function componentWillUnmount() {\n this.player.destroy();\n }\n /**\n * @private\n */\n ;\n\n _proto.getInitialOptions = function getInitialOptions() {\n /* eslint-disable react/destructuring-assignment */\n return {\n id: this.props.video,\n width: this.props.width,\n height: this.props.height,\n autopause: this.props.autopause,\n autoplay: this.props.autoplay,\n byline: this.props.showByline,\n color: this.props.color,\n controls: this.props.controls,\n loop: this.props.loop,\n portrait: this.props.showPortrait,\n title: this.props.showTitle,\n muted: this.props.muted,\n background: this.props.background,\n responsive: this.props.responsive,\n dnt: this.props.dnt,\n speed: this.props.speed\n };\n /* eslint-enable react/destructuring-assignment */\n }\n /**\n * @private\n */\n ;\n\n _proto.updateProps = function updateProps(propNames) {\n var _this3 = this;\n\n var player = this.player;\n propNames.forEach(function (name) {\n // eslint-disable-next-line react/destructuring-assignment\n var value = _this3.props[name];\n\n switch (name) {\n case 'autopause':\n player.setAutopause(value);\n break;\n\n case 'color':\n player.setColor(value);\n break;\n\n case 'loop':\n player.setLoop(value);\n break;\n\n case 'volume':\n player.setVolume(value);\n break;\n\n case 'paused':\n player.getPaused().then(function (paused) {\n if (value && !paused) {\n return player.pause();\n }\n\n if (!value && paused) {\n return player.play();\n }\n\n return null;\n });\n break;\n\n case 'width':\n case 'height':\n player.element[name] = value;\n break;\n\n case 'video':\n if (value) {\n var start = _this3.props.start;\n var loaded = player.loadVideo(value); // Set the start time only when loading a new video.\n // It seems like this has to be done after the video has loaded, else it just starts at\n // the beginning!\n\n if (typeof start === 'number') {\n loaded.then(function () {\n player.setCurrentTime(start);\n });\n }\n } else {\n player.unload();\n }\n\n break;\n\n }\n });\n }\n /**\n * @private\n */\n ;\n\n _proto.createPlayer = function createPlayer() {\n var _this4 = this;\n\n var _this$props = this.props,\n start = _this$props.start,\n volume = _this$props.volume;\n this.player = new Player(this.container, this.getInitialOptions());\n Object.keys(eventNames).forEach(function (dmName) {\n var reactName = eventNames[dmName];\n\n _this4.player.on(dmName, function (event) {\n // eslint-disable-next-line react/destructuring-assignment\n var handler = _this4.props[reactName];\n\n if (handler) {\n handler(event);\n }\n });\n });\n var _this$props2 = this.props,\n onError = _this$props2.onError,\n onReady = _this$props2.onReady;\n this.player.ready().then(function () {\n if (onReady) {\n onReady(_this4.player);\n }\n }, function (err) {\n if (onError) {\n onError(err);\n } else {\n throw err;\n }\n });\n\n if (typeof start === 'number') {\n this.player.setCurrentTime(start);\n }\n\n if (typeof volume === 'number') {\n this.updateProps(['volume']);\n }\n }\n /**\n * @private\n */\n ;\n\n _proto.refContainer = function refContainer(container) {\n this.container = container;\n };\n\n _proto.render = function render() {\n var _this$props3 = this.props,\n id = _this$props3.id,\n className = _this$props3.className,\n style = _this$props3.style;\n return /*#__PURE__*/React.createElement(\"div\", {\n id: id,\n className: className,\n style: style,\n ref: this.refContainer\n });\n };\n\n return Vimeo;\n}(React.Component);\n\nif (process.env.NODE_ENV !== 'production') {\n Vimeo.propTypes = {\n /**\n * A Vimeo video ID or URL.\n */\n video: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),\n\n /**\n * DOM ID for the player element.\n */\n id: PropTypes.string,\n\n /**\n * CSS className for the player element.\n */\n className: PropTypes.string,\n\n /**\n * Inline style for container element.\n */\n style: PropTypes.object,\n // eslint-disable-line react/forbid-prop-types\n\n /**\n * Width of the player element.\n */\n width: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),\n\n /**\n * Height of the player element.\n */\n height: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),\n\n /**\n * Pause the video.\n */\n paused: PropTypes.bool,\n // eslint-disable-line react/no-unused-prop-types\n\n /**\n * The playback volume as a number between 0 and 1.\n */\n volume: PropTypes.number,\n\n /**\n * The time in seconds at which to start playing the video.\n */\n start: PropTypes.number,\n // Player parameters\n\n /**\n * Pause this video automatically when another one plays.\n */\n autopause: PropTypes.bool,\n\n /**\n * Automatically start playback of the video. Note that this won’t work on\n * some devices.\n */\n autoplay: PropTypes.bool,\n\n /**\n * Show the byline on the video.\n */\n showByline: PropTypes.bool,\n\n /**\n * Specify the color of the video controls. Colors may be overridden by the\n * embed settings of the video. _(Ex: \"ef2f9f\")_\n */\n color: PropTypes.string,\n\n /**\n * Blocks the player from tracking any session data, including all cookies and analytics.\n */\n dnt: PropTypes.bool,\n // Player controls\n\n /**\n * Hide all elements in the player (play bar, sharing buttons, etc).\n */\n controls: PropTypes.bool,\n\n /**\n * Play the video again when it reaches the end.\n */\n loop: PropTypes.bool,\n\n /**\n * Show the portrait on the video.\n */\n showPortrait: PropTypes.bool,\n\n /**\n * Show the title on the video.\n */\n showTitle: PropTypes.bool,\n\n /**\n * Starts in a muted state to help with autoplay\n */\n muted: PropTypes.bool,\n\n /**\n * Starts in a background state with no controls to help with autoplay\n */\n background: PropTypes.bool,\n\n /**\n * Enable responsive mode and resize according to parent element (experimental)\n */\n responsive: PropTypes.bool,\n\n /**\n * Enable playback rate controls (requires Vimeo PRO / Business account)\n */\n speed: PropTypes.bool,\n // Events\n\n /* eslint-disable react/no-unused-prop-types */\n\n /**\n * Sent when the Vimeo player API has loaded.\n * Receives the Vimeo player object in the first parameter.\n */\n onReady: PropTypes.func,\n\n /**\n * Sent when the player triggers an error.\n */\n onError: PropTypes.func,\n\n /**\n * Triggered when the video plays.\n */\n onPlay: PropTypes.func,\n\n /**\n * Triggered when the video pauses.\n */\n onPause: PropTypes.func,\n\n /**\n * Triggered any time the video playback reaches the end.\n * Note: when `loop` is turned on, the ended event will not fire.\n */\n onEnd: PropTypes.func,\n\n /**\n * Triggered as the `currentTime` of the video updates. It generally fires\n * every 250ms, but it may vary depending on the browser.\n */\n onTimeUpdate: PropTypes.func,\n\n /**\n * Triggered as the video is loaded. Reports back the amount of the video\n * that has been buffered.\n */\n onProgress: PropTypes.func,\n\n /**\n * Triggered when the player seeks to a specific time. An `onTimeUpdate`\n * event will also be fired at the same time.\n */\n onSeeked: PropTypes.func,\n\n /**\n * Triggered when the active text track (captions/subtitles) changes. The\n * values will be `null` if text tracks are turned off.\n */\n onTextTrackChange: PropTypes.func,\n\n /**\n * Triggered when the active cue for the current text track changes. It also\n * fires when the active text track changes. There may be multiple cues\n * active.\n */\n onCueChange: PropTypes.func,\n\n /**\n * Triggered when the current time hits a registered cue point.\n */\n onCuePoint: PropTypes.func,\n\n /**\n * Triggered when the volume in the player changes. Some devices do not\n * support setting the volume of the video independently from the system\n * volume, so this event will never fire on those devices.\n */\n onVolumeChange: PropTypes.func,\n\n /**\n * Triggered when the playback rate changes.\n */\n onPlaybackRateChange: PropTypes.func,\n\n /**\n * Triggered when a new video is loaded in the player.\n */\n onLoaded: PropTypes.func\n /* eslint-enable react/no-unused-prop-types */\n\n };\n}\n\nVimeo.defaultProps = {\n autopause: true,\n autoplay: false,\n showByline: true,\n controls: true,\n loop: false,\n showPortrait: true,\n showTitle: true,\n muted: false,\n background: false,\n responsive: false,\n dnt: false,\n speed: false\n};\n\nexport default Vimeo;\n","/*! @vimeo/player v2.15.0 | (c) 2021 Vimeo | MIT License | https://github.com/vimeo/player.js */\nfunction _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n}\n\nfunction _defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n}\n\nfunction _createClass(Constructor, protoProps, staticProps) {\n if (protoProps) _defineProperties(Constructor.prototype, protoProps);\n if (staticProps) _defineProperties(Constructor, staticProps);\n return Constructor;\n}\n\n/**\n * @module lib/functions\n */\n\n/**\n * Check to see this is a node environment.\n * @type {Boolean}\n */\n\n/* global global */\nvar isNode = typeof global !== 'undefined' && {}.toString.call(global) === '[object global]';\n/**\n * Get the name of the method for a given getter or setter.\n *\n * @param {string} prop The name of the property.\n * @param {string} type Either “get†or “setâ€.\n * @return {string}\n */\n\nfunction getMethodName(prop, type) {\n if (prop.indexOf(type.toLowerCase()) === 0) {\n return prop;\n }\n\n return \"\".concat(type.toLowerCase()).concat(prop.substr(0, 1).toUpperCase()).concat(prop.substr(1));\n}\n/**\n * Check to see if the object is a DOM Element.\n *\n * @param {*} element The object to check.\n * @return {boolean}\n */\n\nfunction isDomElement(element) {\n return Boolean(element && element.nodeType === 1 && 'nodeName' in element && element.ownerDocument && element.ownerDocument.defaultView);\n}\n/**\n * Check to see whether the value is a number.\n *\n * @see http://dl.dropboxusercontent.com/u/35146/js/tests/isNumber.html\n * @param {*} value The value to check.\n * @param {boolean} integer Check if the value is an integer.\n * @return {boolean}\n */\n\nfunction isInteger(value) {\n // eslint-disable-next-line eqeqeq\n return !isNaN(parseFloat(value)) && isFinite(value) && Math.floor(value) == value;\n}\n/**\n * Check to see if the URL is a Vimeo url.\n *\n * @param {string} url The url string.\n * @return {boolean}\n */\n\nfunction isVimeoUrl(url) {\n return /^(https?:)?\\/\\/((player|www)\\.)?vimeo\\.com(?=$|\\/)/.test(url);\n}\n/**\n * Get the Vimeo URL from an element.\n * The element must have either a data-vimeo-id or data-vimeo-url attribute.\n *\n * @param {object} oEmbedParameters The oEmbed parameters.\n * @return {string}\n */\n\nfunction getVimeoUrl() {\n var oEmbedParameters = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var id = oEmbedParameters.id;\n var url = oEmbedParameters.url;\n var idOrUrl = id || url;\n\n if (!idOrUrl) {\n throw new Error('An id or url must be passed, either in an options object or as a data-vimeo-id or data-vimeo-url attribute.');\n }\n\n if (isInteger(idOrUrl)) {\n return \"https://vimeo.com/\".concat(idOrUrl);\n }\n\n if (isVimeoUrl(idOrUrl)) {\n return idOrUrl.replace('http:', 'https:');\n }\n\n if (id) {\n throw new TypeError(\"\\u201C\".concat(id, \"\\u201D is not a valid video id.\"));\n }\n\n throw new TypeError(\"\\u201C\".concat(idOrUrl, \"\\u201D is not a vimeo.com url.\"));\n}\n\nvar arrayIndexOfSupport = typeof Array.prototype.indexOf !== 'undefined';\nvar postMessageSupport = typeof window !== 'undefined' && typeof window.postMessage !== 'undefined';\n\nif (!isNode && (!arrayIndexOfSupport || !postMessageSupport)) {\n throw new Error('Sorry, the Vimeo Player API is not available in this browser.');\n}\n\nvar commonjsGlobal = typeof globalThis !== 'undefined' ? globalThis : typeof window !== 'undefined' ? window : typeof global !== 'undefined' ? global : typeof self !== 'undefined' ? self : {};\n\nfunction createCommonjsModule(fn, module) {\n\treturn module = { exports: {} }, fn(module, module.exports), module.exports;\n}\n\n/*!\n * weakmap-polyfill v2.0.1 - ECMAScript6 WeakMap polyfill\n * https://github.com/polygonplanet/weakmap-polyfill\n * Copyright (c) 2015-2020 Polygon Planet <polygon.planet.aqua@gmail.com>\n * @license MIT\n */\n(function (self) {\n\n if (self.WeakMap) {\n return;\n }\n\n var hasOwnProperty = Object.prototype.hasOwnProperty;\n\n var defineProperty = function (object, name, value) {\n if (Object.defineProperty) {\n Object.defineProperty(object, name, {\n configurable: true,\n writable: true,\n value: value\n });\n } else {\n object[name] = value;\n }\n };\n\n self.WeakMap = function () {\n // ECMA-262 23.3 WeakMap Objects\n function WeakMap() {\n if (this === void 0) {\n throw new TypeError(\"Constructor WeakMap requires 'new'\");\n }\n\n defineProperty(this, '_id', genId('_WeakMap')); // ECMA-262 23.3.1.1 WeakMap([iterable])\n\n if (arguments.length > 0) {\n // Currently, WeakMap `iterable` argument is not supported\n throw new TypeError('WeakMap iterable is not supported');\n }\n } // ECMA-262 23.3.3.2 WeakMap.prototype.delete(key)\n\n\n defineProperty(WeakMap.prototype, 'delete', function (key) {\n checkInstance(this, 'delete');\n\n if (!isObject(key)) {\n return false;\n }\n\n var entry = key[this._id];\n\n if (entry && entry[0] === key) {\n delete key[this._id];\n return true;\n }\n\n return false;\n }); // ECMA-262 23.3.3.3 WeakMap.prototype.get(key)\n\n defineProperty(WeakMap.prototype, 'get', function (key) {\n checkInstance(this, 'get');\n\n if (!isObject(key)) {\n return void 0;\n }\n\n var entry = key[this._id];\n\n if (entry && entry[0] === key) {\n return entry[1];\n }\n\n return void 0;\n }); // ECMA-262 23.3.3.4 WeakMap.prototype.has(key)\n\n defineProperty(WeakMap.prototype, 'has', function (key) {\n checkInstance(this, 'has');\n\n if (!isObject(key)) {\n return false;\n }\n\n var entry = key[this._id];\n\n if (entry && entry[0] === key) {\n return true;\n }\n\n return false;\n }); // ECMA-262 23.3.3.5 WeakMap.prototype.set(key, value)\n\n defineProperty(WeakMap.prototype, 'set', function (key, value) {\n checkInstance(this, 'set');\n\n if (!isObject(key)) {\n throw new TypeError('Invalid value used as weak map key');\n }\n\n var entry = key[this._id];\n\n if (entry && entry[0] === key) {\n entry[1] = value;\n return this;\n }\n\n defineProperty(key, this._id, [key, value]);\n return this;\n });\n\n function checkInstance(x, methodName) {\n if (!isObject(x) || !hasOwnProperty.call(x, '_id')) {\n throw new TypeError(methodName + ' method called on incompatible receiver ' + typeof x);\n }\n }\n\n function genId(prefix) {\n return prefix + '_' + rand() + '.' + rand();\n }\n\n function rand() {\n return Math.random().toString().substring(2);\n }\n\n defineProperty(WeakMap, '_polyfill', true);\n return WeakMap;\n }();\n\n function isObject(x) {\n return Object(x) === x;\n }\n})(typeof self !== 'undefined' ? self : typeof window !== 'undefined' ? window : typeof commonjsGlobal !== 'undefined' ? commonjsGlobal : commonjsGlobal);\n\nvar npo_src = createCommonjsModule(function (module) {\n/*! Native Promise Only\n v0.8.1 (c) Kyle Simpson\n MIT License: http://getify.mit-license.org\n*/\n(function UMD(name, context, definition) {\n // special form of UMD for polyfilling across evironments\n context[name] = context[name] || definition();\n\n if ( module.exports) {\n module.exports = context[name];\n }\n})(\"Promise\", typeof commonjsGlobal != \"undefined\" ? commonjsGlobal : commonjsGlobal, function DEF() {\n\n var builtInProp,\n cycle,\n scheduling_queue,\n ToString = Object.prototype.toString,\n timer = typeof setImmediate != \"undefined\" ? function timer(fn) {\n return setImmediate(fn);\n } : setTimeout; // dammit, IE8.\n\n try {\n Object.defineProperty({}, \"x\", {});\n\n builtInProp = function builtInProp(obj, name, val, config) {\n return Object.defineProperty(obj, name, {\n value: val,\n writable: true,\n configurable: config !== false\n });\n };\n } catch (err) {\n builtInProp = function builtInProp(obj, name, val) {\n obj[name] = val;\n return obj;\n };\n } // Note: using a queue instead of array for efficiency\n\n\n scheduling_queue = function Queue() {\n var first, last, item;\n\n function Item(fn, self) {\n this.fn = fn;\n this.self = self;\n this.next = void 0;\n }\n\n return {\n add: function add(fn, self) {\n item = new Item(fn, self);\n\n if (last) {\n last.next = item;\n } else {\n first = item;\n }\n\n last = item;\n item = void 0;\n },\n drain: function drain() {\n var f = first;\n first = last = cycle = void 0;\n\n while (f) {\n f.fn.call(f.self);\n f = f.next;\n }\n }\n };\n }();\n\n function schedule(fn, self) {\n scheduling_queue.add(fn, self);\n\n if (!cycle) {\n cycle = timer(scheduling_queue.drain);\n }\n } // promise duck typing\n\n\n function isThenable(o) {\n var _then,\n o_type = typeof o;\n\n if (o != null && (o_type == \"object\" || o_type == \"function\")) {\n _then = o.then;\n }\n\n return typeof _then == \"function\" ? _then : false;\n }\n\n function notify() {\n for (var i = 0; i < this.chain.length; i++) {\n notifyIsolated(this, this.state === 1 ? this.chain[i].success : this.chain[i].failure, this.chain[i]);\n }\n\n this.chain.length = 0;\n } // NOTE: This is a separate function to isolate\n // the `try..catch` so that other code can be\n // optimized better\n\n\n function notifyIsolated(self, cb, chain) {\n var ret, _then;\n\n try {\n if (cb === false) {\n chain.reject(self.msg);\n } else {\n if (cb === true) {\n ret = self.msg;\n } else {\n ret = cb.call(void 0, self.msg);\n }\n\n if (ret === chain.promise) {\n chain.reject(TypeError(\"Promise-chain cycle\"));\n } else if (_then = isThenable(ret)) {\n _then.call(ret, chain.resolve, chain.reject);\n } else {\n chain.resolve(ret);\n }\n }\n } catch (err) {\n chain.reject(err);\n }\n }\n\n function resolve(msg) {\n var _then,\n self = this; // already triggered?\n\n\n if (self.triggered) {\n return;\n }\n\n self.triggered = true; // unwrap\n\n if (self.def) {\n self = self.def;\n }\n\n try {\n if (_then = isThenable(msg)) {\n schedule(function () {\n var def_wrapper = new MakeDefWrapper(self);\n\n try {\n _then.call(msg, function $resolve$() {\n resolve.apply(def_wrapper, arguments);\n }, function $reject$() {\n reject.apply(def_wrapper, arguments);\n });\n } catch (err) {\n reject.call(def_wrapper, err);\n }\n });\n } else {\n self.msg = msg;\n self.state = 1;\n\n if (self.chain.length > 0) {\n schedule(notify, self);\n }\n }\n } catch (err) {\n reject.call(new MakeDefWrapper(self), err);\n }\n }\n\n function reject(msg) {\n var self = this; // already triggered?\n\n if (self.triggered) {\n return;\n }\n\n self.triggered = true; // unwrap\n\n if (self.def) {\n self = self.def;\n }\n\n self.msg = msg;\n self.state = 2;\n\n if (self.chain.length > 0) {\n schedule(notify, self);\n }\n }\n\n function iteratePromises(Constructor, arr, resolver, rejecter) {\n for (var idx = 0; idx < arr.length; idx++) {\n (function IIFE(idx) {\n Constructor.resolve(arr[idx]).then(function $resolver$(msg) {\n resolver(idx, msg);\n }, rejecter);\n })(idx);\n }\n }\n\n function MakeDefWrapper(self) {\n this.def = self;\n this.triggered = false;\n }\n\n function MakeDef(self) {\n this.promise = self;\n this.state = 0;\n this.triggered = false;\n this.chain = [];\n this.msg = void 0;\n }\n\n function Promise(executor) {\n if (typeof executor != \"function\") {\n throw TypeError(\"Not a function\");\n }\n\n if (this.__NPO__ !== 0) {\n throw TypeError(\"Not a promise\");\n } // instance shadowing the inherited \"brand\"\n // to signal an already \"initialized\" promise\n\n\n this.__NPO__ = 1;\n var def = new MakeDef(this);\n\n this[\"then\"] = function then(success, failure) {\n var o = {\n success: typeof success == \"function\" ? success : true,\n failure: typeof failure == \"function\" ? failure : false\n }; // Note: `then(..)` itself can be borrowed to be used against\n // a different promise constructor for making the chained promise,\n // by substituting a different `this` binding.\n\n o.promise = new this.constructor(function extractChain(resolve, reject) {\n if (typeof resolve != \"function\" || typeof reject != \"function\") {\n throw TypeError(\"Not a function\");\n }\n\n o.resolve = resolve;\n o.reject = reject;\n });\n def.chain.push(o);\n\n if (def.state !== 0) {\n schedule(notify, def);\n }\n\n return o.promise;\n };\n\n this[\"catch\"] = function $catch$(failure) {\n return this.then(void 0, failure);\n };\n\n try {\n executor.call(void 0, function publicResolve(msg) {\n resolve.call(def, msg);\n }, function publicReject(msg) {\n reject.call(def, msg);\n });\n } catch (err) {\n reject.call(def, err);\n }\n }\n\n var PromisePrototype = builtInProp({}, \"constructor\", Promise,\n /*configurable=*/\n false); // Note: Android 4 cannot use `Object.defineProperty(..)` here\n\n Promise.prototype = PromisePrototype; // built-in \"brand\" to signal an \"uninitialized\" promise\n\n builtInProp(PromisePrototype, \"__NPO__\", 0,\n /*configurable=*/\n false);\n builtInProp(Promise, \"resolve\", function Promise$resolve(msg) {\n var Constructor = this; // spec mandated checks\n // note: best \"isPromise\" check that's practical for now\n\n if (msg && typeof msg == \"object\" && msg.__NPO__ === 1) {\n return msg;\n }\n\n return new Constructor(function executor(resolve, reject) {\n if (typeof resolve != \"function\" || typeof reject != \"function\") {\n throw TypeError(\"Not a function\");\n }\n\n resolve(msg);\n });\n });\n builtInProp(Promise, \"reject\", function Promise$reject(msg) {\n return new this(function executor(resolve, reject) {\n if (typeof resolve != \"function\" || typeof reject != \"function\") {\n throw TypeError(\"Not a function\");\n }\n\n reject(msg);\n });\n });\n builtInProp(Promise, \"all\", function Promise$all(arr) {\n var Constructor = this; // spec mandated checks\n\n if (ToString.call(arr) != \"[object Array]\") {\n return Constructor.reject(TypeError(\"Not an array\"));\n }\n\n if (arr.length === 0) {\n return Constructor.resolve([]);\n }\n\n return new Constructor(function executor(resolve, reject) {\n if (typeof resolve != \"function\" || typeof reject != \"function\") {\n throw TypeError(\"Not a function\");\n }\n\n var len = arr.length,\n msgs = Array(len),\n count = 0;\n iteratePromises(Constructor, arr, function resolver(idx, msg) {\n msgs[idx] = msg;\n\n if (++count === len) {\n resolve(msgs);\n }\n }, reject);\n });\n });\n builtInProp(Promise, \"race\", function Promise$race(arr) {\n var Constructor = this; // spec mandated checks\n\n if (ToString.call(arr) != \"[object Array]\") {\n return Constructor.reject(TypeError(\"Not an array\"));\n }\n\n return new Constructor(function executor(resolve, reject) {\n if (typeof resolve != \"function\" || typeof reject != \"function\") {\n throw TypeError(\"Not a function\");\n }\n\n iteratePromises(Constructor, arr, function resolver(idx, msg) {\n resolve(msg);\n }, reject);\n });\n });\n return Promise;\n});\n});\n\n/**\n * @module lib/callbacks\n */\nvar callbackMap = new WeakMap();\n/**\n * Store a callback for a method or event for a player.\n *\n * @param {Player} player The player object.\n * @param {string} name The method or event name.\n * @param {(function(this:Player, *): void|{resolve: function, reject: function})} callback\n * The callback to call or an object with resolve and reject functions for a promise.\n * @return {void}\n */\n\nfunction storeCallback(player, name, callback) {\n var playerCallbacks = callbackMap.get(player.element) || {};\n\n if (!(name in playerCallbacks)) {\n playerCallbacks[name] = [];\n }\n\n playerCallbacks[name].push(callback);\n callbackMap.set(player.element, playerCallbacks);\n}\n/**\n * Get the callbacks for a player and event or method.\n *\n * @param {Player} player The player object.\n * @param {string} name The method or event name\n * @return {function[]}\n */\n\nfunction getCallbacks(player, name) {\n var playerCallbacks = callbackMap.get(player.element) || {};\n return playerCallbacks[name] || [];\n}\n/**\n * Remove a stored callback for a method or event for a player.\n *\n * @param {Player} player The player object.\n * @param {string} name The method or event name\n * @param {function} [callback] The specific callback to remove.\n * @return {boolean} Was this the last callback?\n */\n\nfunction removeCallback(player, name, callback) {\n var playerCallbacks = callbackMap.get(player.element) || {};\n\n if (!playerCallbacks[name]) {\n return true;\n } // If no callback is passed, remove all callbacks for the event\n\n\n if (!callback) {\n playerCallbacks[name] = [];\n callbackMap.set(player.element, playerCallbacks);\n return true;\n }\n\n var index = playerCallbacks[name].indexOf(callback);\n\n if (index !== -1) {\n playerCallbacks[name].splice(index, 1);\n }\n\n callbackMap.set(player.element, playerCallbacks);\n return playerCallbacks[name] && playerCallbacks[name].length === 0;\n}\n/**\n * Return the first stored callback for a player and event or method.\n *\n * @param {Player} player The player object.\n * @param {string} name The method or event name.\n * @return {function} The callback, or false if there were none\n */\n\nfunction shiftCallbacks(player, name) {\n var playerCallbacks = getCallbacks(player, name);\n\n if (playerCallbacks.length < 1) {\n return false;\n }\n\n var callback = playerCallbacks.shift();\n removeCallback(player, name, callback);\n return callback;\n}\n/**\n * Move callbacks associated with an element to another element.\n *\n * @param {HTMLElement} oldElement The old element.\n * @param {HTMLElement} newElement The new element.\n * @return {void}\n */\n\nfunction swapCallbacks(oldElement, newElement) {\n var playerCallbacks = callbackMap.get(oldElement);\n callbackMap.set(newElement, playerCallbacks);\n callbackMap.delete(oldElement);\n}\n\n/**\n * @module lib/embed\n */\nvar oEmbedParameters = ['autopause', 'autoplay', 'background', 'byline', 'color', 'controls', 'dnt', 'height', 'id', 'loop', 'maxheight', 'maxwidth', 'muted', 'playsinline', 'portrait', 'responsive', 'speed', 'texttrack', 'title', 'transparent', 'url', 'width'];\n/**\n * Get the 'data-vimeo'-prefixed attributes from an element as an object.\n *\n * @param {HTMLElement} element The element.\n * @param {Object} [defaults={}] The default values to use.\n * @return {Object<string, string>}\n */\n\nfunction getOEmbedParameters(element) {\n var defaults = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n return oEmbedParameters.reduce(function (params, param) {\n var value = element.getAttribute(\"data-vimeo-\".concat(param));\n\n if (value || value === '') {\n params[param] = value === '' ? 1 : value;\n }\n\n return params;\n }, defaults);\n}\n/**\n * Create an embed from oEmbed data inside an element.\n *\n * @param {object} data The oEmbed data.\n * @param {HTMLElement} element The element to put the iframe in.\n * @return {HTMLIFrameElement} The iframe embed.\n */\n\nfunction createEmbed(_ref, element) {\n var html = _ref.html;\n\n if (!element) {\n throw new TypeError('An element must be provided');\n }\n\n if (element.getAttribute('data-vimeo-initialized') !== null) {\n return element.querySelector('iframe');\n }\n\n var div = document.createElement('div');\n div.innerHTML = html;\n element.appendChild(div.firstChild);\n element.setAttribute('data-vimeo-initialized', 'true');\n return element.querySelector('iframe');\n}\n/**\n * Make an oEmbed call for the specified URL.\n *\n * @param {string} videoUrl The vimeo.com url for the video.\n * @param {Object} [params] Parameters to pass to oEmbed.\n * @param {HTMLElement} element The element.\n * @return {Promise}\n */\n\nfunction getOEmbedData(videoUrl) {\n var params = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var element = arguments.length > 2 ? arguments[2] : undefined;\n return new Promise(function (resolve, reject) {\n if (!isVimeoUrl(videoUrl)) {\n throw new TypeError(\"\\u201C\".concat(videoUrl, \"\\u201D is not a vimeo.com url.\"));\n }\n\n var url = \"https://vimeo.com/api/oembed.json?url=\".concat(encodeURIComponent(videoUrl));\n\n for (var param in params) {\n if (params.hasOwnProperty(param)) {\n url += \"&\".concat(param, \"=\").concat(encodeURIComponent(params[param]));\n }\n }\n\n var xhr = 'XDomainRequest' in window ? new XDomainRequest() : new XMLHttpRequest();\n xhr.open('GET', url, true);\n\n xhr.onload = function () {\n if (xhr.status === 404) {\n reject(new Error(\"\\u201C\".concat(videoUrl, \"\\u201D was not found.\")));\n return;\n }\n\n if (xhr.status === 403) {\n reject(new Error(\"\\u201C\".concat(videoUrl, \"\\u201D is not embeddable.\")));\n return;\n }\n\n try {\n var json = JSON.parse(xhr.responseText); // Check api response for 403 on oembed\n\n if (json.domain_status_code === 403) {\n // We still want to create the embed to give users visual feedback\n createEmbed(json, element);\n reject(new Error(\"\\u201C\".concat(videoUrl, \"\\u201D is not embeddable.\")));\n return;\n }\n\n resolve(json);\n } catch (error) {\n reject(error);\n }\n };\n\n xhr.onerror = function () {\n var status = xhr.status ? \" (\".concat(xhr.status, \")\") : '';\n reject(new Error(\"There was an error fetching the embed code from Vimeo\".concat(status, \".\")));\n };\n\n xhr.send();\n });\n}\n/**\n * Initialize all embeds within a specific element\n *\n * @param {HTMLElement} [parent=document] The parent element.\n * @return {void}\n */\n\nfunction initializeEmbeds() {\n var parent = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : document;\n var elements = [].slice.call(parent.querySelectorAll('[data-vimeo-id], [data-vimeo-url]'));\n\n var handleError = function handleError(error) {\n if ('console' in window && console.error) {\n console.error(\"There was an error creating an embed: \".concat(error));\n }\n };\n\n elements.forEach(function (element) {\n try {\n // Skip any that have data-vimeo-defer\n if (element.getAttribute('data-vimeo-defer') !== null) {\n return;\n }\n\n var params = getOEmbedParameters(element);\n var url = getVimeoUrl(params);\n getOEmbedData(url, params, element).then(function (data) {\n return createEmbed(data, element);\n }).catch(handleError);\n } catch (error) {\n handleError(error);\n }\n });\n}\n/**\n * Resize embeds when messaged by the player.\n *\n * @param {HTMLElement} [parent=document] The parent element.\n * @return {void}\n */\n\nfunction resizeEmbeds() {\n var parent = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : document;\n\n // Prevent execution if users include the player.js script multiple times.\n if (window.VimeoPlayerResizeEmbeds_) {\n return;\n }\n\n window.VimeoPlayerResizeEmbeds_ = true;\n\n var onMessage = function onMessage(event) {\n if (!isVimeoUrl(event.origin)) {\n return;\n } // 'spacechange' is fired only on embeds with cards\n\n\n if (!event.data || event.data.event !== 'spacechange') {\n return;\n }\n\n var iframes = parent.querySelectorAll('iframe');\n\n for (var i = 0; i < iframes.length; i++) {\n if (iframes[i].contentWindow !== event.source) {\n continue;\n } // Change padding-bottom of the enclosing div to accommodate\n // card carousel without distorting aspect ratio\n\n\n var space = iframes[i].parentElement;\n space.style.paddingBottom = \"\".concat(event.data.data[0].bottom, \"px\");\n break;\n }\n };\n\n window.addEventListener('message', onMessage);\n}\n\n/**\n * @module lib/postmessage\n */\n/**\n * Parse a message received from postMessage.\n *\n * @param {*} data The data received from postMessage.\n * @return {object}\n */\n\nfunction parseMessageData(data) {\n if (typeof data === 'string') {\n try {\n data = JSON.parse(data);\n } catch (error) {\n // If the message cannot be parsed, throw the error as a warning\n console.warn(error);\n return {};\n }\n }\n\n return data;\n}\n/**\n * Post a message to the specified target.\n *\n * @param {Player} player The player object to use.\n * @param {string} method The API method to call.\n * @param {object} params The parameters to send to the player.\n * @return {void}\n */\n\nfunction postMessage(player, method, params) {\n if (!player.element.contentWindow || !player.element.contentWindow.postMessage) {\n return;\n }\n\n var message = {\n method: method\n };\n\n if (params !== undefined) {\n message.value = params;\n } // IE 8 and 9 do not support passing messages, so stringify them\n\n\n var ieVersion = parseFloat(navigator.userAgent.toLowerCase().replace(/^.*msie (\\d+).*$/, '$1'));\n\n if (ieVersion >= 8 && ieVersion < 10) {\n message = JSON.stringify(message);\n }\n\n player.element.contentWindow.postMessage(message, player.origin);\n}\n/**\n * Parse the data received from a message event.\n *\n * @param {Player} player The player that received the message.\n * @param {(Object|string)} data The message data. Strings will be parsed into JSON.\n * @return {void}\n */\n\nfunction processData(player, data) {\n data = parseMessageData(data);\n var callbacks = [];\n var param;\n\n if (data.event) {\n if (data.event === 'error') {\n var promises = getCallbacks(player, data.data.method);\n promises.forEach(function (promise) {\n var error = new Error(data.data.message);\n error.name = data.data.name;\n promise.reject(error);\n removeCallback(player, data.data.method, promise);\n });\n }\n\n callbacks = getCallbacks(player, \"event:\".concat(data.event));\n param = data.data;\n } else if (data.method) {\n var callback = shiftCallbacks(player, data.method);\n\n if (callback) {\n callbacks.push(callback);\n param = data.value;\n }\n }\n\n callbacks.forEach(function (callback) {\n try {\n if (typeof callback === 'function') {\n callback.call(player, param);\n return;\n }\n\n callback.resolve(param);\n } catch (e) {// empty\n }\n });\n}\n\n/* MIT License\n\nCopyright (c) Sindre Sorhus <sindresorhus@gmail.com> (sindresorhus.com)\n\nPermission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the \"Software\"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\nTerms */\nfunction initializeScreenfull() {\n var fn = function () {\n var val;\n var fnMap = [['requestFullscreen', 'exitFullscreen', 'fullscreenElement', 'fullscreenEnabled', 'fullscreenchange', 'fullscreenerror'], // New WebKit\n ['webkitRequestFullscreen', 'webkitExitFullscreen', 'webkitFullscreenElement', 'webkitFullscreenEnabled', 'webkitfullscreenchange', 'webkitfullscreenerror'], // Old WebKit\n ['webkitRequestFullScreen', 'webkitCancelFullScreen', 'webkitCurrentFullScreenElement', 'webkitCancelFullScreen', 'webkitfullscreenchange', 'webkitfullscreenerror'], ['mozRequestFullScreen', 'mozCancelFullScreen', 'mozFullScreenElement', 'mozFullScreenEnabled', 'mozfullscreenchange', 'mozfullscreenerror'], ['msRequestFullscreen', 'msExitFullscreen', 'msFullscreenElement', 'msFullscreenEnabled', 'MSFullscreenChange', 'MSFullscreenError']];\n var i = 0;\n var l = fnMap.length;\n var ret = {};\n\n for (; i < l; i++) {\n val = fnMap[i];\n\n if (val && val[1] in document) {\n for (i = 0; i < val.length; i++) {\n ret[fnMap[0][i]] = val[i];\n }\n\n return ret;\n }\n }\n\n return false;\n }();\n\n var eventNameMap = {\n fullscreenchange: fn.fullscreenchange,\n fullscreenerror: fn.fullscreenerror\n };\n var screenfull = {\n request: function request(element) {\n return new Promise(function (resolve, reject) {\n var onFullScreenEntered = function onFullScreenEntered() {\n screenfull.off('fullscreenchange', onFullScreenEntered);\n resolve();\n };\n\n screenfull.on('fullscreenchange', onFullScreenEntered);\n element = element || document.documentElement;\n var returnPromise = element[fn.requestFullscreen]();\n\n if (returnPromise instanceof Promise) {\n returnPromise.then(onFullScreenEntered).catch(reject);\n }\n });\n },\n exit: function exit() {\n return new Promise(function (resolve, reject) {\n if (!screenfull.isFullscreen) {\n resolve();\n return;\n }\n\n var onFullScreenExit = function onFullScreenExit() {\n screenfull.off('fullscreenchange', onFullScreenExit);\n resolve();\n };\n\n screenfull.on('fullscreenchange', onFullScreenExit);\n var returnPromise = document[fn.exitFullscreen]();\n\n if (returnPromise instanceof Promise) {\n returnPromise.then(onFullScreenExit).catch(reject);\n }\n });\n },\n on: function on(event, callback) {\n var eventName = eventNameMap[event];\n\n if (eventName) {\n document.addEventListener(eventName, callback);\n }\n },\n off: function off(event, callback) {\n var eventName = eventNameMap[event];\n\n if (eventName) {\n document.removeEventListener(eventName, callback);\n }\n }\n };\n Object.defineProperties(screenfull, {\n isFullscreen: {\n get: function get() {\n return Boolean(document[fn.fullscreenElement]);\n }\n },\n element: {\n enumerable: true,\n get: function get() {\n return document[fn.fullscreenElement];\n }\n },\n isEnabled: {\n enumerable: true,\n get: function get() {\n // Coerce to boolean in case of old WebKit\n return Boolean(document[fn.fullscreenEnabled]);\n }\n }\n });\n return screenfull;\n}\n\nvar playerMap = new WeakMap();\nvar readyMap = new WeakMap();\nvar screenfull = {};\n\nvar Player = /*#__PURE__*/function () {\n /**\n * Create a Player.\n *\n * @param {(HTMLIFrameElement|HTMLElement|string|jQuery)} element A reference to the Vimeo\n * player iframe, and id, or a jQuery object.\n * @param {object} [options] oEmbed parameters to use when creating an embed in the element.\n * @return {Player}\n */\n function Player(element) {\n var _this = this;\n\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n _classCallCheck(this, Player);\n\n /* global jQuery */\n if (window.jQuery && element instanceof jQuery) {\n if (element.length > 1 && window.console && console.warn) {\n console.warn('A jQuery object with multiple elements was passed, using the first element.');\n }\n\n element = element[0];\n } // Find an element by ID\n\n\n if (typeof document !== 'undefined' && typeof element === 'string') {\n element = document.getElementById(element);\n } // Not an element!\n\n\n if (!isDomElement(element)) {\n throw new TypeError('You must pass either a valid element or a valid id.');\n } // Already initialized an embed in this div, so grab the iframe\n\n\n if (element.nodeName !== 'IFRAME') {\n var iframe = element.querySelector('iframe');\n\n if (iframe) {\n element = iframe;\n }\n } // iframe url is not a Vimeo url\n\n\n if (element.nodeName === 'IFRAME' && !isVimeoUrl(element.getAttribute('src') || '')) {\n throw new Error('The player element passed isn’t a Vimeo embed.');\n } // If there is already a player object in the map, return that\n\n\n if (playerMap.has(element)) {\n return playerMap.get(element);\n }\n\n this._window = element.ownerDocument.defaultView;\n this.element = element;\n this.origin = '*';\n var readyPromise = new npo_src(function (resolve, reject) {\n _this._onMessage = function (event) {\n if (!isVimeoUrl(event.origin) || _this.element.contentWindow !== event.source) {\n return;\n }\n\n if (_this.origin === '*') {\n _this.origin = event.origin;\n }\n\n var data = parseMessageData(event.data);\n var isError = data && data.event === 'error';\n var isReadyError = isError && data.data && data.data.method === 'ready';\n\n if (isReadyError) {\n var error = new Error(data.data.message);\n error.name = data.data.name;\n reject(error);\n return;\n }\n\n var isReadyEvent = data && data.event === 'ready';\n var isPingResponse = data && data.method === 'ping';\n\n if (isReadyEvent || isPingResponse) {\n _this.element.setAttribute('data-ready', 'true');\n\n resolve();\n return;\n }\n\n processData(_this, data);\n };\n\n _this._window.addEventListener('message', _this._onMessage);\n\n if (_this.element.nodeName !== 'IFRAME') {\n var params = getOEmbedParameters(element, options);\n var url = getVimeoUrl(params);\n getOEmbedData(url, params, element).then(function (data) {\n var iframe = createEmbed(data, element); // Overwrite element with the new iframe,\n // but store reference to the original element\n\n _this.element = iframe;\n _this._originalElement = element;\n swapCallbacks(element, iframe);\n playerMap.set(_this.element, _this);\n return data;\n }).catch(reject);\n }\n }); // Store a copy of this Player in the map\n\n readyMap.set(this, readyPromise);\n playerMap.set(this.element, this); // Send a ping to the iframe so the ready promise will be resolved if\n // the player is already ready.\n\n if (this.element.nodeName === 'IFRAME') {\n postMessage(this, 'ping');\n }\n\n if (screenfull.isEnabled) {\n var exitFullscreen = function exitFullscreen() {\n return screenfull.exit();\n };\n\n screenfull.on('fullscreenchange', function () {\n if (screenfull.isFullscreen) {\n storeCallback(_this, 'event:exitFullscreen', exitFullscreen);\n } else {\n removeCallback(_this, 'event:exitFullscreen', exitFullscreen);\n } // eslint-disable-next-line\n\n\n _this.ready().then(function () {\n postMessage(_this, 'fullscreenchange', screenfull.isFullscreen);\n });\n });\n }\n\n return this;\n }\n /**\n * Get a promise for a method.\n *\n * @param {string} name The API method to call.\n * @param {Object} [args={}] Arguments to send via postMessage.\n * @return {Promise}\n */\n\n\n _createClass(Player, [{\n key: \"callMethod\",\n value: function callMethod(name) {\n var _this2 = this;\n\n var args = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n return new npo_src(function (resolve, reject) {\n // We are storing the resolve/reject handlers to call later, so we\n // can’t return here.\n // eslint-disable-next-line promise/always-return\n return _this2.ready().then(function () {\n storeCallback(_this2, name, {\n resolve: resolve,\n reject: reject\n });\n postMessage(_this2, name, args);\n }).catch(reject);\n });\n }\n /**\n * Get a promise for the value of a player property.\n *\n * @param {string} name The property name\n * @return {Promise}\n */\n\n }, {\n key: \"get\",\n value: function get(name) {\n var _this3 = this;\n\n return new npo_src(function (resolve, reject) {\n name = getMethodName(name, 'get'); // We are storing the resolve/reject handlers to call later, so we\n // can’t return here.\n // eslint-disable-next-line promise/always-return\n\n return _this3.ready().then(function () {\n storeCallback(_this3, name, {\n resolve: resolve,\n reject: reject\n });\n postMessage(_this3, name);\n }).catch(reject);\n });\n }\n /**\n * Get a promise for setting the value of a player property.\n *\n * @param {string} name The API method to call.\n * @param {mixed} value The value to set.\n * @return {Promise}\n */\n\n }, {\n key: \"set\",\n value: function set(name, value) {\n var _this4 = this;\n\n return new npo_src(function (resolve, reject) {\n name = getMethodName(name, 'set');\n\n if (value === undefined || value === null) {\n throw new TypeError('There must be a value to set.');\n } // We are storing the resolve/reject handlers to call later, so we\n // can’t return here.\n // eslint-disable-next-line promise/always-return\n\n\n return _this4.ready().then(function () {\n storeCallback(_this4, name, {\n resolve: resolve,\n reject: reject\n });\n postMessage(_this4, name, value);\n }).catch(reject);\n });\n }\n /**\n * Add an event listener for the specified event. Will call the\n * callback with a single parameter, `data`, that contains the data for\n * that event.\n *\n * @param {string} eventName The name of the event.\n * @param {function(*)} callback The function to call when the event fires.\n * @return {void}\n */\n\n }, {\n key: \"on\",\n value: function on(eventName, callback) {\n if (!eventName) {\n throw new TypeError('You must pass an event name.');\n }\n\n if (!callback) {\n throw new TypeError('You must pass a callback function.');\n }\n\n if (typeof callback !== 'function') {\n throw new TypeError('The callback must be a function.');\n }\n\n var callbacks = getCallbacks(this, \"event:\".concat(eventName));\n\n if (callbacks.length === 0) {\n this.callMethod('addEventListener', eventName).catch(function () {// Ignore the error. There will be an error event fired that\n // will trigger the error callback if they are listening.\n });\n }\n\n storeCallback(this, \"event:\".concat(eventName), callback);\n }\n /**\n * Remove an event listener for the specified event. Will remove all\n * listeners for that event if a `callback` isn’t passed, or only that\n * specific callback if it is passed.\n *\n * @param {string} eventName The name of the event.\n * @param {function} [callback] The specific callback to remove.\n * @return {void}\n */\n\n }, {\n key: \"off\",\n value: function off(eventName, callback) {\n if (!eventName) {\n throw new TypeError('You must pass an event name.');\n }\n\n if (callback && typeof callback !== 'function') {\n throw new TypeError('The callback must be a function.');\n }\n\n var lastCallback = removeCallback(this, \"event:\".concat(eventName), callback); // If there are no callbacks left, remove the listener\n\n if (lastCallback) {\n this.callMethod('removeEventListener', eventName).catch(function (e) {// Ignore the error. There will be an error event fired that\n // will trigger the error callback if they are listening.\n });\n }\n }\n /**\n * A promise to load a new video.\n *\n * @promise LoadVideoPromise\n * @fulfill {number} The video with this id successfully loaded.\n * @reject {TypeError} The id was not a number.\n */\n\n /**\n * Load a new video into this embed. The promise will be resolved if\n * the video is successfully loaded, or it will be rejected if it could\n * not be loaded.\n *\n * @param {number|object} options The id of the video or an object with embed options.\n * @return {LoadVideoPromise}\n */\n\n }, {\n key: \"loadVideo\",\n value: function loadVideo(options) {\n return this.callMethod('loadVideo', options);\n }\n /**\n * A promise to perform an action when the Player is ready.\n *\n * @todo document errors\n * @promise LoadVideoPromise\n * @fulfill {void}\n */\n\n /**\n * Trigger a function when the player iframe has initialized. You do not\n * need to wait for `ready` to trigger to begin adding event listeners\n * or calling other methods.\n *\n * @return {ReadyPromise}\n */\n\n }, {\n key: \"ready\",\n value: function ready() {\n var readyPromise = readyMap.get(this) || new npo_src(function (resolve, reject) {\n reject(new Error('Unknown player. Probably unloaded.'));\n });\n return npo_src.resolve(readyPromise);\n }\n /**\n * A promise to add a cue point to the player.\n *\n * @promise AddCuePointPromise\n * @fulfill {string} The id of the cue point to use for removeCuePoint.\n * @reject {RangeError} the time was less than 0 or greater than the\n * video’s duration.\n * @reject {UnsupportedError} Cue points are not supported with the current\n * player or browser.\n */\n\n /**\n * Add a cue point to the player.\n *\n * @param {number} time The time for the cue point.\n * @param {object} [data] Arbitrary data to be returned with the cue point.\n * @return {AddCuePointPromise}\n */\n\n }, {\n key: \"addCuePoint\",\n value: function addCuePoint(time) {\n var data = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n return this.callMethod('addCuePoint', {\n time: time,\n data: data\n });\n }\n /**\n * A promise to remove a cue point from the player.\n *\n * @promise AddCuePointPromise\n * @fulfill {string} The id of the cue point that was removed.\n * @reject {InvalidCuePoint} The cue point with the specified id was not\n * found.\n * @reject {UnsupportedError} Cue points are not supported with the current\n * player or browser.\n */\n\n /**\n * Remove a cue point from the video.\n *\n * @param {string} id The id of the cue point to remove.\n * @return {RemoveCuePointPromise}\n */\n\n }, {\n key: \"removeCuePoint\",\n value: function removeCuePoint(id) {\n return this.callMethod('removeCuePoint', id);\n }\n /**\n * A representation of a text track on a video.\n *\n * @typedef {Object} VimeoTextTrack\n * @property {string} language The ISO language code.\n * @property {string} kind The kind of track it is (captions or subtitles).\n * @property {string} label The humanâ€readable label for the track.\n */\n\n /**\n * A promise to enable a text track.\n *\n * @promise EnableTextTrackPromise\n * @fulfill {VimeoTextTrack} The text track that was enabled.\n * @reject {InvalidTrackLanguageError} No track was available with the\n * specified language.\n * @reject {InvalidTrackError} No track was available with the specified\n * language and kind.\n */\n\n /**\n * Enable the text track with the specified language, and optionally the\n * specified kind (captions or subtitles).\n *\n * When set via the API, the track language will not change the viewer’s\n * stored preference.\n *\n * @param {string} language The twoâ€letter language code.\n * @param {string} [kind] The kind of track to enable (captions or subtitles).\n * @return {EnableTextTrackPromise}\n */\n\n }, {\n key: \"enableTextTrack\",\n value: function enableTextTrack(language, kind) {\n if (!language) {\n throw new TypeError('You must pass a language.');\n }\n\n return this.callMethod('enableTextTrack', {\n language: language,\n kind: kind\n });\n }\n /**\n * A promise to disable the active text track.\n *\n * @promise DisableTextTrackPromise\n * @fulfill {void} The track was disabled.\n */\n\n /**\n * Disable the currently-active text track.\n *\n * @return {DisableTextTrackPromise}\n */\n\n }, {\n key: \"disableTextTrack\",\n value: function disableTextTrack() {\n return this.callMethod('disableTextTrack');\n }\n /**\n * A promise to pause the video.\n *\n * @promise PausePromise\n * @fulfill {void} The video was paused.\n */\n\n /**\n * Pause the video if it’s playing.\n *\n * @return {PausePromise}\n */\n\n }, {\n key: \"pause\",\n value: function pause() {\n return this.callMethod('pause');\n }\n /**\n * A promise to play the video.\n *\n * @promise PlayPromise\n * @fulfill {void} The video was played.\n */\n\n /**\n * Play the video if it’s paused. **Note:** on iOS and some other\n * mobile devices, you cannot programmatically trigger play. Once the\n * viewer has tapped on the play button in the player, however, you\n * will be able to use this function.\n *\n * @return {PlayPromise}\n */\n\n }, {\n key: \"play\",\n value: function play() {\n return this.callMethod('play');\n }\n /**\n * Request that the player enters fullscreen.\n * @return {Promise}\n */\n\n }, {\n key: \"requestFullscreen\",\n value: function requestFullscreen() {\n if (screenfull.isEnabled) {\n return screenfull.request(this.element);\n }\n\n return this.callMethod('requestFullscreen');\n }\n /**\n * Request that the player exits fullscreen.\n * @return {Promise}\n */\n\n }, {\n key: \"exitFullscreen\",\n value: function exitFullscreen() {\n if (screenfull.isEnabled) {\n return screenfull.exit();\n }\n\n return this.callMethod('exitFullscreen');\n }\n /**\n * Returns true if the player is currently fullscreen.\n * @return {Promise}\n */\n\n }, {\n key: \"getFullscreen\",\n value: function getFullscreen() {\n if (screenfull.isEnabled) {\n return npo_src.resolve(screenfull.isFullscreen);\n }\n\n return this.get('fullscreen');\n }\n /**\n * Request that the player enters picture-in-picture.\n * @return {Promise}\n */\n\n }, {\n key: \"requestPictureInPicture\",\n value: function requestPictureInPicture() {\n return this.callMethod('requestPictureInPicture');\n }\n /**\n * Request that the player exits picture-in-picture.\n * @return {Promise}\n */\n\n }, {\n key: \"exitPictureInPicture\",\n value: function exitPictureInPicture() {\n return this.callMethod('exitPictureInPicture');\n }\n /**\n * Returns true if the player is currently picture-in-picture.\n * @return {Promise}\n */\n\n }, {\n key: \"getPictureInPicture\",\n value: function getPictureInPicture() {\n return this.get('pictureInPicture');\n }\n /**\n * A promise to unload the video.\n *\n * @promise UnloadPromise\n * @fulfill {void} The video was unloaded.\n */\n\n /**\n * Return the player to its initial state.\n *\n * @return {UnloadPromise}\n */\n\n }, {\n key: \"unload\",\n value: function unload() {\n return this.callMethod('unload');\n }\n /**\n * Cleanup the player and remove it from the DOM\n *\n * It won't be usable and a new one should be constructed\n * in order to do any operations.\n *\n * @return {Promise}\n */\n\n }, {\n key: \"destroy\",\n value: function destroy() {\n var _this5 = this;\n\n return new npo_src(function (resolve) {\n readyMap.delete(_this5);\n playerMap.delete(_this5.element);\n\n if (_this5._originalElement) {\n playerMap.delete(_this5._originalElement);\n\n _this5._originalElement.removeAttribute('data-vimeo-initialized');\n }\n\n if (_this5.element && _this5.element.nodeName === 'IFRAME' && _this5.element.parentNode) {\n _this5.element.parentNode.removeChild(_this5.element);\n } // If the clip is private there is a case where the element stays the\n // div element. Destroy should reset the div and remove the iframe child.\n\n\n if (_this5.element && _this5.element.nodeName === 'DIV' && _this5.element.parentNode) {\n _this5.element.removeAttribute('data-vimeo-initialized');\n\n var iframe = _this5.element.querySelector('iframe');\n\n if (iframe && iframe.parentNode) {\n iframe.parentNode.removeChild(iframe);\n }\n }\n\n _this5._window.removeEventListener('message', _this5._onMessage);\n\n resolve();\n });\n }\n /**\n * A promise to get the autopause behavior of the video.\n *\n * @promise GetAutopausePromise\n * @fulfill {boolean} Whether autopause is turned on or off.\n * @reject {UnsupportedError} Autopause is not supported with the current\n * player or browser.\n */\n\n /**\n * Get the autopause behavior for this player.\n *\n * @return {GetAutopausePromise}\n */\n\n }, {\n key: \"getAutopause\",\n value: function getAutopause() {\n return this.get('autopause');\n }\n /**\n * A promise to set the autopause behavior of the video.\n *\n * @promise SetAutopausePromise\n * @fulfill {boolean} Whether autopause is turned on or off.\n * @reject {UnsupportedError} Autopause is not supported with the current\n * player or browser.\n */\n\n /**\n * Enable or disable the autopause behavior of this player.\n *\n * By default, when another video is played in the same browser, this\n * player will automatically pause. Unless you have a specific reason\n * for doing so, we recommend that you leave autopause set to the\n * default (`true`).\n *\n * @param {boolean} autopause\n * @return {SetAutopausePromise}\n */\n\n }, {\n key: \"setAutopause\",\n value: function setAutopause(autopause) {\n return this.set('autopause', autopause);\n }\n /**\n * A promise to get the buffered property of the video.\n *\n * @promise GetBufferedPromise\n * @fulfill {Array} Buffered Timeranges converted to an Array.\n */\n\n /**\n * Get the buffered property of the video.\n *\n * @return {GetBufferedPromise}\n */\n\n }, {\n key: \"getBuffered\",\n value: function getBuffered() {\n return this.get('buffered');\n }\n /**\n * @typedef {Object} CameraProperties\n * @prop {number} props.yaw - Number between 0 and 360.\n * @prop {number} props.pitch - Number between -90 and 90.\n * @prop {number} props.roll - Number between -180 and 180.\n * @prop {number} props.fov - The field of view in degrees.\n */\n\n /**\n * A promise to get the camera properties of the player.\n *\n * @promise GetCameraPromise\n * @fulfill {CameraProperties} The camera properties.\n */\n\n /**\n * For 360° videos get the camera properties for this player.\n *\n * @return {GetCameraPromise}\n */\n\n }, {\n key: \"getCameraProps\",\n value: function getCameraProps() {\n return this.get('cameraProps');\n }\n /**\n * A promise to set the camera properties of the player.\n *\n * @promise SetCameraPromise\n * @fulfill {Object} The camera was successfully set.\n * @reject {RangeError} The range was out of bounds.\n */\n\n /**\n * For 360° videos set the camera properties for this player.\n *\n * @param {CameraProperties} camera The camera properties\n * @return {SetCameraPromise}\n */\n\n }, {\n key: \"setCameraProps\",\n value: function setCameraProps(camera) {\n return this.set('cameraProps', camera);\n }\n /**\n * A representation of a chapter.\n *\n * @typedef {Object} VimeoChapter\n * @property {number} startTime The start time of the chapter.\n * @property {object} title The title of the chapter.\n * @property {number} index The place in the order of Chapters. Starts at 1.\n */\n\n /**\n * A promise to get chapters for the video.\n *\n * @promise GetChaptersPromise\n * @fulfill {VimeoChapter[]} The chapters for the video.\n */\n\n /**\n * Get an array of all the chapters for the video.\n *\n * @return {GetChaptersPromise}\n */\n\n }, {\n key: \"getChapters\",\n value: function getChapters() {\n return this.get('chapters');\n }\n /**\n * A promise to get the currently active chapter.\n *\n * @promise GetCurrentChaptersPromise\n * @fulfill {VimeoChapter|undefined} The current chapter for the video.\n */\n\n /**\n * Get the currently active chapter for the video.\n *\n * @return {GetCurrentChaptersPromise}\n */\n\n }, {\n key: \"getCurrentChapter\",\n value: function getCurrentChapter() {\n return this.get('currentChapter');\n }\n /**\n * A promise to get the color of the player.\n *\n * @promise GetColorPromise\n * @fulfill {string} The hex color of the player.\n */\n\n /**\n * Get the color for this player.\n *\n * @return {GetColorPromise}\n */\n\n }, {\n key: \"getColor\",\n value: function getColor() {\n return this.get('color');\n }\n /**\n * A promise to set the color of the player.\n *\n * @promise SetColorPromise\n * @fulfill {string} The color was successfully set.\n * @reject {TypeError} The string was not a valid hex or rgb color.\n * @reject {ContrastError} The color was set, but the contrast is\n * outside of the acceptable range.\n * @reject {EmbedSettingsError} The owner of the player has chosen to\n * use a specific color.\n */\n\n /**\n * Set the color of this player to a hex or rgb string. Setting the\n * color may fail if the owner of the video has set their embed\n * preferences to force a specific color.\n *\n * @param {string} color The hex or rgb color string to set.\n * @return {SetColorPromise}\n */\n\n }, {\n key: \"setColor\",\n value: function setColor(color) {\n return this.set('color', color);\n }\n /**\n * A representation of a cue point.\n *\n * @typedef {Object} VimeoCuePoint\n * @property {number} time The time of the cue point.\n * @property {object} data The data passed when adding the cue point.\n * @property {string} id The unique id for use with removeCuePoint.\n */\n\n /**\n * A promise to get the cue points of a video.\n *\n * @promise GetCuePointsPromise\n * @fulfill {VimeoCuePoint[]} The cue points added to the video.\n * @reject {UnsupportedError} Cue points are not supported with the current\n * player or browser.\n */\n\n /**\n * Get an array of the cue points added to the video.\n *\n * @return {GetCuePointsPromise}\n */\n\n }, {\n key: \"getCuePoints\",\n value: function getCuePoints() {\n return this.get('cuePoints');\n }\n /**\n * A promise to get the current time of the video.\n *\n * @promise GetCurrentTimePromise\n * @fulfill {number} The current time in seconds.\n */\n\n /**\n * Get the current playback position in seconds.\n *\n * @return {GetCurrentTimePromise}\n */\n\n }, {\n key: \"getCurrentTime\",\n value: function getCurrentTime() {\n return this.get('currentTime');\n }\n /**\n * A promise to set the current time of the video.\n *\n * @promise SetCurrentTimePromise\n * @fulfill {number} The actual current time that was set.\n * @reject {RangeError} the time was less than 0 or greater than the\n * video’s duration.\n */\n\n /**\n * Set the current playback position in seconds. If the player was\n * paused, it will remain paused. Likewise, if the player was playing,\n * it will resume playing once the video has buffered.\n *\n * You can provide an accurate time and the player will attempt to seek\n * to as close to that time as possible. The exact time will be the\n * fulfilled value of the promise.\n *\n * @param {number} currentTime\n * @return {SetCurrentTimePromise}\n */\n\n }, {\n key: \"setCurrentTime\",\n value: function setCurrentTime(currentTime) {\n return this.set('currentTime', currentTime);\n }\n /**\n * A promise to get the duration of the video.\n *\n * @promise GetDurationPromise\n * @fulfill {number} The duration in seconds.\n */\n\n /**\n * Get the duration of the video in seconds. It will be rounded to the\n * nearest second before playback begins, and to the nearest thousandth\n * of a second after playback begins.\n *\n * @return {GetDurationPromise}\n */\n\n }, {\n key: \"getDuration\",\n value: function getDuration() {\n return this.get('duration');\n }\n /**\n * A promise to get the ended state of the video.\n *\n * @promise GetEndedPromise\n * @fulfill {boolean} Whether or not the video has ended.\n */\n\n /**\n * Get the ended state of the video. The video has ended if\n * `currentTime === duration`.\n *\n * @return {GetEndedPromise}\n */\n\n }, {\n key: \"getEnded\",\n value: function getEnded() {\n return this.get('ended');\n }\n /**\n * A promise to get the loop state of the player.\n *\n * @promise GetLoopPromise\n * @fulfill {boolean} Whether or not the player is set to loop.\n */\n\n /**\n * Get the loop state of the player.\n *\n * @return {GetLoopPromise}\n */\n\n }, {\n key: \"getLoop\",\n value: function getLoop() {\n return this.get('loop');\n }\n /**\n * A promise to set the loop state of the player.\n *\n * @promise SetLoopPromise\n * @fulfill {boolean} The loop state that was set.\n */\n\n /**\n * Set the loop state of the player. When set to `true`, the player\n * will start over immediately once playback ends.\n *\n * @param {boolean} loop\n * @return {SetLoopPromise}\n */\n\n }, {\n key: \"setLoop\",\n value: function setLoop(loop) {\n return this.set('loop', loop);\n }\n /**\n * A promise to set the muted state of the player.\n *\n * @promise SetMutedPromise\n * @fulfill {boolean} The muted state that was set.\n */\n\n /**\n * Set the muted state of the player. When set to `true`, the player\n * volume will be muted.\n *\n * @param {boolean} muted\n * @return {SetMutedPromise}\n */\n\n }, {\n key: \"setMuted\",\n value: function setMuted(muted) {\n return this.set('muted', muted);\n }\n /**\n * A promise to get the muted state of the player.\n *\n * @promise GetMutedPromise\n * @fulfill {boolean} Whether or not the player is muted.\n */\n\n /**\n * Get the muted state of the player.\n *\n * @return {GetMutedPromise}\n */\n\n }, {\n key: \"getMuted\",\n value: function getMuted() {\n return this.get('muted');\n }\n /**\n * A promise to get the paused state of the player.\n *\n * @promise GetLoopPromise\n * @fulfill {boolean} Whether or not the video is paused.\n */\n\n /**\n * Get the paused state of the player.\n *\n * @return {GetLoopPromise}\n */\n\n }, {\n key: \"getPaused\",\n value: function getPaused() {\n return this.get('paused');\n }\n /**\n * A promise to get the playback rate of the player.\n *\n * @promise GetPlaybackRatePromise\n * @fulfill {number} The playback rate of the player on a scale from 0.5 to 2.\n */\n\n /**\n * Get the playback rate of the player on a scale from `0.5` to `2`.\n *\n * @return {GetPlaybackRatePromise}\n */\n\n }, {\n key: \"getPlaybackRate\",\n value: function getPlaybackRate() {\n return this.get('playbackRate');\n }\n /**\n * A promise to set the playbackrate of the player.\n *\n * @promise SetPlaybackRatePromise\n * @fulfill {number} The playback rate was set.\n * @reject {RangeError} The playback rate was less than 0.5 or greater than 2.\n */\n\n /**\n * Set the playback rate of the player on a scale from `0.5` to `2`. When set\n * via the API, the playback rate will not be synchronized to other\n * players or stored as the viewer's preference.\n *\n * @param {number} playbackRate\n * @return {SetPlaybackRatePromise}\n */\n\n }, {\n key: \"setPlaybackRate\",\n value: function setPlaybackRate(playbackRate) {\n return this.set('playbackRate', playbackRate);\n }\n /**\n * A promise to get the played property of the video.\n *\n * @promise GetPlayedPromise\n * @fulfill {Array} Played Timeranges converted to an Array.\n */\n\n /**\n * Get the played property of the video.\n *\n * @return {GetPlayedPromise}\n */\n\n }, {\n key: \"getPlayed\",\n value: function getPlayed() {\n return this.get('played');\n }\n /**\n * A promise to get the qualities available of the current video.\n *\n * @promise GetQualitiesPromise\n * @fulfill {Array} The qualities of the video.\n */\n\n /**\n * Get the qualities of the current video.\n *\n * @return {GetQualitiesPromise}\n */\n\n }, {\n key: \"getQualities\",\n value: function getQualities() {\n return this.get('qualities');\n }\n /**\n * A promise to get the current set quality of the video.\n *\n * @promise GetQualityPromise\n * @fulfill {string} The current set quality.\n */\n\n /**\n * Get the current set quality of the video.\n *\n * @return {GetQualityPromise}\n */\n\n }, {\n key: \"getQuality\",\n value: function getQuality() {\n return this.get('quality');\n }\n /**\n * A promise to set the video quality.\n *\n * @promise SetQualityPromise\n * @fulfill {number} The quality was set.\n * @reject {RangeError} The quality is not available.\n */\n\n /**\n * Set a video quality.\n *\n * @param {string} quality\n * @return {SetQualityPromise}\n */\n\n }, {\n key: \"setQuality\",\n value: function setQuality(quality) {\n return this.set('quality', quality);\n }\n /**\n * A promise to get the seekable property of the video.\n *\n * @promise GetSeekablePromise\n * @fulfill {Array} Seekable Timeranges converted to an Array.\n */\n\n /**\n * Get the seekable property of the video.\n *\n * @return {GetSeekablePromise}\n */\n\n }, {\n key: \"getSeekable\",\n value: function getSeekable() {\n return this.get('seekable');\n }\n /**\n * A promise to get the seeking property of the player.\n *\n * @promise GetSeekingPromise\n * @fulfill {boolean} Whether or not the player is currently seeking.\n */\n\n /**\n * Get if the player is currently seeking.\n *\n * @return {GetSeekingPromise}\n */\n\n }, {\n key: \"getSeeking\",\n value: function getSeeking() {\n return this.get('seeking');\n }\n /**\n * A promise to get the text tracks of a video.\n *\n * @promise GetTextTracksPromise\n * @fulfill {VimeoTextTrack[]} The text tracks associated with the video.\n */\n\n /**\n * Get an array of the text tracks that exist for the video.\n *\n * @return {GetTextTracksPromise}\n */\n\n }, {\n key: \"getTextTracks\",\n value: function getTextTracks() {\n return this.get('textTracks');\n }\n /**\n * A promise to get the embed code for the video.\n *\n * @promise GetVideoEmbedCodePromise\n * @fulfill {string} The `<iframe>` embed code for the video.\n */\n\n /**\n * Get the `<iframe>` embed code for the video.\n *\n * @return {GetVideoEmbedCodePromise}\n */\n\n }, {\n key: \"getVideoEmbedCode\",\n value: function getVideoEmbedCode() {\n return this.get('videoEmbedCode');\n }\n /**\n * A promise to get the id of the video.\n *\n * @promise GetVideoIdPromise\n * @fulfill {number} The id of the video.\n */\n\n /**\n * Get the id of the video.\n *\n * @return {GetVideoIdPromise}\n */\n\n }, {\n key: \"getVideoId\",\n value: function getVideoId() {\n return this.get('videoId');\n }\n /**\n * A promise to get the title of the video.\n *\n * @promise GetVideoTitlePromise\n * @fulfill {number} The title of the video.\n */\n\n /**\n * Get the title of the video.\n *\n * @return {GetVideoTitlePromise}\n */\n\n }, {\n key: \"getVideoTitle\",\n value: function getVideoTitle() {\n return this.get('videoTitle');\n }\n /**\n * A promise to get the native width of the video.\n *\n * @promise GetVideoWidthPromise\n * @fulfill {number} The native width of the video.\n */\n\n /**\n * Get the native width of the currentlyâ€playing video. The width of\n * the highestâ€resolution available will be used before playback begins.\n *\n * @return {GetVideoWidthPromise}\n */\n\n }, {\n key: \"getVideoWidth\",\n value: function getVideoWidth() {\n return this.get('videoWidth');\n }\n /**\n * A promise to get the native height of the video.\n *\n * @promise GetVideoHeightPromise\n * @fulfill {number} The native height of the video.\n */\n\n /**\n * Get the native height of the currentlyâ€playing video. The height of\n * the highestâ€resolution available will be used before playback begins.\n *\n * @return {GetVideoHeightPromise}\n */\n\n }, {\n key: \"getVideoHeight\",\n value: function getVideoHeight() {\n return this.get('videoHeight');\n }\n /**\n * A promise to get the vimeo.com url for the video.\n *\n * @promise GetVideoUrlPromise\n * @fulfill {number} The vimeo.com url for the video.\n * @reject {PrivacyError} The url isn’t available because of the video’s privacy setting.\n */\n\n /**\n * Get the vimeo.com url for the video.\n *\n * @return {GetVideoUrlPromise}\n */\n\n }, {\n key: \"getVideoUrl\",\n value: function getVideoUrl() {\n return this.get('videoUrl');\n }\n /**\n * A promise to get the volume level of the player.\n *\n * @promise GetVolumePromise\n * @fulfill {number} The volume level of the player on a scale from 0 to 1.\n */\n\n /**\n * Get the current volume level of the player on a scale from `0` to `1`.\n *\n * Most mobile devices do not support an independent volume from the\n * system volume. In those cases, this method will always return `1`.\n *\n * @return {GetVolumePromise}\n */\n\n }, {\n key: \"getVolume\",\n value: function getVolume() {\n return this.get('volume');\n }\n /**\n * A promise to set the volume level of the player.\n *\n * @promise SetVolumePromise\n * @fulfill {number} The volume was set.\n * @reject {RangeError} The volume was less than 0 or greater than 1.\n */\n\n /**\n * Set the volume of the player on a scale from `0` to `1`. When set\n * via the API, the volume level will not be synchronized to other\n * players or stored as the viewer’s preference.\n *\n * Most mobile devices do not support setting the volume. An error will\n * *not* be triggered in that situation.\n *\n * @param {number} volume\n * @return {SetVolumePromise}\n */\n\n }, {\n key: \"setVolume\",\n value: function setVolume(volume) {\n return this.set('volume', volume);\n }\n }]);\n\n return Player;\n}(); // Setup embed only if this is not a node environment\n\n\nif (!isNode) {\n screenfull = initializeScreenfull();\n initializeEmbeds();\n resizeEmbeds();\n}\n\nexport default Player;\n","import { TargetRef } from './types';\n\nexport const documentRef: TargetRef = {\n current: typeof document === 'undefined' ? null : document,\n};\nexport const windowRef: TargetRef = {\n current: typeof window === 'undefined' ? null : window,\n};\n\nexport { EventListener } from './EventListener';\nexport * from './types';\nexport { useEventListener } from './useEventListener';\n","import _inheritsLoose from \"@babel/runtime/helpers/esm/inheritsLoose\";\nimport _invoke from \"lodash-es/invoke\";\nimport { handleRef, Ref } from '@fluentui/react-component-ref';\nimport PropTypes from 'prop-types';\nimport React, { Component } from 'react';\nimport { createPortal } from 'react-dom';\nimport { customPropTypes, isBrowser } from '../../lib';\n\n/**\n * An inner component that allows you to render children outside their parent.\n */\nvar PortalInner = /*#__PURE__*/function (_Component) {\n _inheritsLoose(PortalInner, _Component);\n\n function PortalInner() {\n var _this;\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 = _Component.call.apply(_Component, [this].concat(args)) || this;\n\n _this.handleRef = function (c) {\n handleRef(_this.props.innerRef, c);\n };\n\n return _this;\n }\n\n var _proto = PortalInner.prototype;\n\n _proto.componentDidMount = function componentDidMount() {\n _invoke(this.props, 'onMount', null, this.props);\n };\n\n _proto.componentWillUnmount = function componentWillUnmount() {\n _invoke(this.props, 'onUnmount', null, this.props);\n };\n\n _proto.render = function render() {\n if (!isBrowser()) return null;\n var _this$props = this.props,\n children = _this$props.children,\n _this$props$mountNode = _this$props.mountNode,\n mountNode = _this$props$mountNode === void 0 ? document.body : _this$props$mountNode;\n return /*#__PURE__*/createPortal( /*#__PURE__*/React.createElement(Ref, {\n innerRef: this.handleRef\n }, children), mountNode);\n };\n\n return PortalInner;\n}(Component);\n\nPortalInner.handledProps = [\"children\", \"innerRef\", \"mountNode\", \"onMount\", \"onUnmount\"];\nPortalInner.propTypes = process.env.NODE_ENV !== \"production\" ? {\n /** Primary content. */\n children: PropTypes.node.isRequired,\n\n /** Called with a ref to the inner node. */\n innerRef: customPropTypes.ref,\n\n /** The node where the portal should mount. */\n mountNode: PropTypes.any,\n\n /**\n * Called when the portal is mounted on the DOM\n *\n * @param {null}\n * @param {object} data - All props.\n */\n onMount: PropTypes.func,\n\n /**\n * Called when the portal is unmounted from the DOM\n *\n * @param {null}\n * @param {object} data - All props.\n */\n onUnmount: PropTypes.func\n} : {};\nexport default PortalInner;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _inheritsLoose from \"@babel/runtime/helpers/esm/inheritsLoose\";\nimport _invoke from \"lodash-es/invoke\";\nimport EventStack from '@semantic-ui-react/event-stack';\nimport { handleRef, Ref } from '@fluentui/react-component-ref';\nimport keyboardKey from 'keyboard-key';\nimport PropTypes from 'prop-types';\nimport React from 'react';\nimport { ModernAutoControlledComponent as Component, customPropTypes, doesNodeContainClick } from '../../lib';\nimport validateTrigger from './utils/validateTrigger';\nimport PortalInner from './PortalInner';\n\n/**\n * A component that allows you to render children outside their parent.\n * @see Modal\n * @see Popup\n * @see Dimmer\n * @see Confirm\n */\nvar Portal = /*#__PURE__*/function (_Component) {\n _inheritsLoose(Portal, _Component);\n\n function Portal() {\n var _this;\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 = _Component.call.apply(_Component, [this].concat(args)) || this;\n _this.contentRef = /*#__PURE__*/React.createRef();\n _this.triggerRef = /*#__PURE__*/React.createRef();\n _this.latestDocumentMouseDownEvent = null;\n\n _this.handleDocumentMouseDown = function (e) {\n _this.latestDocumentMouseDownEvent = e;\n };\n\n _this.handleDocumentClick = function (e) {\n var closeOnDocumentClick = _this.props.closeOnDocumentClick;\n var currentMouseDownEvent = _this.latestDocumentMouseDownEvent;\n _this.latestDocumentMouseDownEvent = null;\n\n if (!_this.contentRef.current || // no portal\n doesNodeContainClick(_this.triggerRef.current, e) || // event happened in trigger (delegate to trigger handlers)\n currentMouseDownEvent && doesNodeContainClick(_this.contentRef.current, currentMouseDownEvent) || // event originated in the portal but was ended outside\n doesNodeContainClick(_this.contentRef.current, e) // event happened in the portal\n ) {\n return;\n } // ignore the click\n\n\n if (closeOnDocumentClick) {\n _this.close(e);\n }\n };\n\n _this.handleEscape = function (e) {\n if (!_this.props.closeOnEscape) return;\n if (keyboardKey.getCode(e) !== keyboardKey.Escape) return;\n\n _this.close(e);\n };\n\n _this.handlePortalMouseLeave = function (e) {\n var _this$props = _this.props,\n closeOnPortalMouseLeave = _this$props.closeOnPortalMouseLeave,\n mouseLeaveDelay = _this$props.mouseLeaveDelay;\n if (!closeOnPortalMouseLeave) return; // Do not close the portal when 'mouseleave' is triggered by children\n\n if (e.target !== _this.contentRef.current) return;\n _this.mouseLeaveTimer = _this.closeWithTimeout(e, mouseLeaveDelay);\n };\n\n _this.handlePortalMouseEnter = function () {\n // In order to enable mousing from the trigger to the portal, we need to\n // clear the mouseleave timer that was set when leaving the trigger.\n var closeOnPortalMouseLeave = _this.props.closeOnPortalMouseLeave;\n if (!closeOnPortalMouseLeave) return;\n clearTimeout(_this.mouseLeaveTimer);\n };\n\n _this.handleTriggerBlur = function (e) {\n var _this$props2 = _this.props,\n trigger = _this$props2.trigger,\n closeOnTriggerBlur = _this$props2.closeOnTriggerBlur; // Call original event handler\n\n for (var _len2 = arguments.length, rest = new Array(_len2 > 1 ? _len2 - 1 : 0), _key2 = 1; _key2 < _len2; _key2++) {\n rest[_key2 - 1] = arguments[_key2];\n }\n\n _invoke.apply(void 0, [trigger, 'props.onBlur', e].concat(rest)); // IE 11 doesn't work with relatedTarget in blur events\n\n\n var target = e.relatedTarget || document.activeElement; // do not close if focus is given to the portal\n\n var didFocusPortal = _invoke(_this.contentRef.current, 'contains', target);\n\n if (!closeOnTriggerBlur || didFocusPortal) return;\n\n _this.close(e);\n };\n\n _this.handleTriggerClick = function (e) {\n var _this$props3 = _this.props,\n trigger = _this$props3.trigger,\n closeOnTriggerClick = _this$props3.closeOnTriggerClick,\n openOnTriggerClick = _this$props3.openOnTriggerClick;\n var open = _this.state.open; // Call original event handler\n\n for (var _len3 = arguments.length, rest = new Array(_len3 > 1 ? _len3 - 1 : 0), _key3 = 1; _key3 < _len3; _key3++) {\n rest[_key3 - 1] = arguments[_key3];\n }\n\n _invoke.apply(void 0, [trigger, 'props.onClick', e].concat(rest));\n\n if (open && closeOnTriggerClick) {\n _this.close(e);\n } else if (!open && openOnTriggerClick) {\n _this.open(e);\n }\n };\n\n _this.handleTriggerFocus = function (e) {\n var _this$props4 = _this.props,\n trigger = _this$props4.trigger,\n openOnTriggerFocus = _this$props4.openOnTriggerFocus; // Call original event handler\n\n for (var _len4 = arguments.length, rest = new Array(_len4 > 1 ? _len4 - 1 : 0), _key4 = 1; _key4 < _len4; _key4++) {\n rest[_key4 - 1] = arguments[_key4];\n }\n\n _invoke.apply(void 0, [trigger, 'props.onFocus', e].concat(rest));\n\n if (!openOnTriggerFocus) return;\n\n _this.open(e);\n };\n\n _this.handleTriggerMouseLeave = function (e) {\n clearTimeout(_this.mouseEnterTimer);\n var _this$props5 = _this.props,\n trigger = _this$props5.trigger,\n closeOnTriggerMouseLeave = _this$props5.closeOnTriggerMouseLeave,\n mouseLeaveDelay = _this$props5.mouseLeaveDelay; // Call original event handler\n\n for (var _len5 = arguments.length, rest = new Array(_len5 > 1 ? _len5 - 1 : 0), _key5 = 1; _key5 < _len5; _key5++) {\n rest[_key5 - 1] = arguments[_key5];\n }\n\n _invoke.apply(void 0, [trigger, 'props.onMouseLeave', e].concat(rest));\n\n if (!closeOnTriggerMouseLeave) return;\n _this.mouseLeaveTimer = _this.closeWithTimeout(e, mouseLeaveDelay);\n };\n\n _this.handleTriggerMouseEnter = function (e) {\n clearTimeout(_this.mouseLeaveTimer);\n var _this$props6 = _this.props,\n trigger = _this$props6.trigger,\n mouseEnterDelay = _this$props6.mouseEnterDelay,\n openOnTriggerMouseEnter = _this$props6.openOnTriggerMouseEnter; // Call original event handler\n\n for (var _len6 = arguments.length, rest = new Array(_len6 > 1 ? _len6 - 1 : 0), _key6 = 1; _key6 < _len6; _key6++) {\n rest[_key6 - 1] = arguments[_key6];\n }\n\n _invoke.apply(void 0, [trigger, 'props.onMouseEnter', e].concat(rest));\n\n if (!openOnTriggerMouseEnter) return;\n _this.mouseEnterTimer = _this.openWithTimeout(e, mouseEnterDelay);\n };\n\n _this.open = function (e) {\n _invoke(_this.props, 'onOpen', e, _extends({}, _this.props, {\n open: true\n }));\n\n _this.setState({\n open: true\n });\n };\n\n _this.openWithTimeout = function (e, delay) {\n // React wipes the entire event object and suggests using e.persist() if\n // you need the event for async access. However, even with e.persist\n // certain required props (e.g. currentTarget) are null so we're forced to clone.\n var eventClone = _extends({}, e);\n\n return setTimeout(function () {\n return _this.open(eventClone);\n }, delay || 0);\n };\n\n _this.close = function (e) {\n _invoke(_this.props, 'onClose', e, _extends({}, _this.props, {\n open: false\n }));\n\n _this.setState({\n open: false\n });\n };\n\n _this.closeWithTimeout = function (e, delay) {\n // React wipes the entire event object and suggests using e.persist() if\n // you need the event for async access. However, even with e.persist\n // certain required props (e.g. currentTarget) are null so we're forced to clone.\n var eventClone = _extends({}, e);\n\n return setTimeout(function () {\n return _this.close(eventClone);\n }, delay || 0);\n };\n\n _this.handleMount = function () {\n _invoke(_this.props, 'onMount', null, _this.props);\n };\n\n _this.handleUnmount = function () {\n _invoke(_this.props, 'onUnmount', null, _this.props);\n };\n\n _this.handleTriggerRef = function (c) {\n _this.triggerRef.current = c;\n handleRef(_this.props.triggerRef, c);\n };\n\n return _this;\n }\n\n var _proto = Portal.prototype;\n\n _proto.componentWillUnmount = function componentWillUnmount() {\n // Clean up timers\n clearTimeout(this.mouseEnterTimer);\n clearTimeout(this.mouseLeaveTimer);\n } // ----------------------------------------\n // Document Event Handlers\n // ----------------------------------------\n ;\n\n _proto.render = function render() {\n var _this$props7 = this.props,\n children = _this$props7.children,\n eventPool = _this$props7.eventPool,\n mountNode = _this$props7.mountNode,\n trigger = _this$props7.trigger;\n var open = this.state.open;\n /* istanbul ignore else */\n\n if (process.env.NODE_ENV !== 'production') {\n validateTrigger(trigger);\n }\n\n return /*#__PURE__*/React.createElement(React.Fragment, null, open && /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(PortalInner, {\n innerRef: this.contentRef,\n mountNode: mountNode,\n onMount: this.handleMount,\n onUnmount: this.handleUnmount\n }, children), /*#__PURE__*/React.createElement(EventStack, {\n name: \"mouseleave\",\n on: this.handlePortalMouseLeave,\n pool: eventPool,\n target: this.contentRef\n }), /*#__PURE__*/React.createElement(EventStack, {\n name: \"mouseenter\",\n on: this.handlePortalMouseEnter,\n pool: eventPool,\n target: this.contentRef\n }), /*#__PURE__*/React.createElement(EventStack, {\n name: \"mousedown\",\n on: this.handleDocumentMouseDown,\n pool: eventPool\n }), /*#__PURE__*/React.createElement(EventStack, {\n name: \"click\",\n on: this.handleDocumentClick,\n pool: eventPool\n }), /*#__PURE__*/React.createElement(EventStack, {\n name: \"keydown\",\n on: this.handleEscape,\n pool: eventPool\n })), trigger && /*#__PURE__*/React.createElement(Ref, {\n innerRef: this.handleTriggerRef\n }, /*#__PURE__*/React.cloneElement(trigger, {\n onBlur: this.handleTriggerBlur,\n onClick: this.handleTriggerClick,\n onFocus: this.handleTriggerFocus,\n onMouseLeave: this.handleTriggerMouseLeave,\n onMouseEnter: this.handleTriggerMouseEnter\n })));\n };\n\n return Portal;\n}(Component);\n\nPortal.handledProps = [\"children\", \"closeOnDocumentClick\", \"closeOnEscape\", \"closeOnPortalMouseLeave\", \"closeOnTriggerBlur\", \"closeOnTriggerClick\", \"closeOnTriggerMouseLeave\", \"defaultOpen\", \"eventPool\", \"mountNode\", \"mouseEnterDelay\", \"mouseLeaveDelay\", \"onClose\", \"onMount\", \"onOpen\", \"onUnmount\", \"open\", \"openOnTriggerClick\", \"openOnTriggerFocus\", \"openOnTriggerMouseEnter\", \"trigger\", \"triggerRef\"];\nPortal.propTypes = process.env.NODE_ENV !== \"production\" ? {\n /** Primary content. */\n children: PropTypes.node.isRequired,\n\n /** Controls whether or not the portal should close when the document is clicked. */\n closeOnDocumentClick: PropTypes.bool,\n\n /** Controls whether or not the portal should close when escape is pressed is displayed. */\n closeOnEscape: PropTypes.bool,\n\n /**\n * Controls whether or not the portal should close when mousing out of the portal.\n * NOTE: This will prevent `closeOnTriggerMouseLeave` when mousing over the\n * gap from the trigger to the portal.\n */\n closeOnPortalMouseLeave: PropTypes.bool,\n\n /** Controls whether or not the portal should close on blur of the trigger. */\n closeOnTriggerBlur: PropTypes.bool,\n\n /** Controls whether or not the portal should close on click of the trigger. */\n closeOnTriggerClick: PropTypes.bool,\n\n /** Controls whether or not the portal should close when mousing out of the trigger. */\n closeOnTriggerMouseLeave: PropTypes.bool,\n\n /** Initial value of open. */\n defaultOpen: PropTypes.bool,\n\n /** Event pool namespace that is used to handle component events */\n eventPool: PropTypes.string,\n\n /** The node where the portal should mount. */\n mountNode: PropTypes.any,\n\n /** Milliseconds to wait before opening on mouse over */\n mouseEnterDelay: PropTypes.number,\n\n /** Milliseconds to wait before closing on mouse leave */\n mouseLeaveDelay: PropTypes.number,\n\n /**\n * Called when a close event happens\n *\n * @param {SyntheticEvent} event - React's original SyntheticEvent.\n * @param {object} data - All props.\n */\n onClose: PropTypes.func,\n\n /**\n * Called when the portal is mounted on the DOM.\n *\n * @param {null}\n * @param {object} data - All props.\n */\n onMount: PropTypes.func,\n\n /**\n * Called when an open event happens\n *\n * @param {SyntheticEvent} event - React's original SyntheticEvent.\n * @param {object} data - All props.\n */\n onOpen: PropTypes.func,\n\n /**\n * Called when the portal is unmounted from the DOM.\n *\n * @param {null}\n * @param {object} data - All props.\n */\n onUnmount: PropTypes.func,\n\n /** Controls whether or not the portal is displayed. */\n open: PropTypes.bool,\n\n /** Controls whether or not the portal should open when the trigger is clicked. */\n openOnTriggerClick: PropTypes.bool,\n\n /** Controls whether or not the portal should open on focus of the trigger. */\n openOnTriggerFocus: PropTypes.bool,\n\n /** Controls whether or not the portal should open when mousing over the trigger. */\n openOnTriggerMouseEnter: PropTypes.bool,\n\n /** Element to be rendered in-place where the portal is defined. */\n trigger: PropTypes.node,\n\n /** Called with a ref to the trigger node. */\n triggerRef: customPropTypes.ref\n} : {};\nPortal.defaultProps = {\n closeOnDocumentClick: true,\n closeOnEscape: true,\n eventPool: 'default',\n openOnTriggerClick: true\n};\nPortal.autoControlledProps = ['open'];\nPortal.Inner = PortalInner;\nexport default Portal;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport cx from 'clsx';\nimport PropTypes from 'prop-types';\nimport React from 'react';\nimport { childrenUtils, customPropTypes, getElementType, getUnhandledProps, useKeyOnly } from '../../lib';\n/**\n * A dimmable sub-component for Dimmer.\n */\n\nfunction DimmerDimmable(props) {\n var blurring = props.blurring,\n className = props.className,\n children = props.children,\n content = props.content,\n dimmed = props.dimmed;\n var classes = cx(useKeyOnly(blurring, 'blurring'), useKeyOnly(dimmed, 'dimmed'), 'dimmable', className);\n var rest = getUnhandledProps(DimmerDimmable, props);\n var ElementType = getElementType(DimmerDimmable, props);\n return /*#__PURE__*/React.createElement(ElementType, _extends({}, rest, {\n className: classes\n }), childrenUtils.isNil(children) ? content : children);\n}\n\nDimmerDimmable.handledProps = [\"as\", \"blurring\", \"children\", \"className\", \"content\", \"dimmed\"];\nDimmerDimmable.propTypes = process.env.NODE_ENV !== \"production\" ? {\n /** An element type to render as (string or function). */\n as: PropTypes.elementType,\n\n /** A dimmable element can blur its contents. */\n blurring: PropTypes.bool,\n\n /** Primary content. */\n children: PropTypes.node,\n\n /** Additional classes. */\n className: PropTypes.string,\n\n /** Shorthand for primary content. */\n content: customPropTypes.contentShorthand,\n\n /** Controls whether or not the dim is displayed. */\n dimmed: PropTypes.bool\n} : {};\nexport default DimmerDimmable;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _inheritsLoose from \"@babel/runtime/helpers/esm/inheritsLoose\";\nimport _invoke from \"lodash-es/invoke\";\nimport { Ref } from '@fluentui/react-component-ref';\nimport cx from 'clsx';\nimport PropTypes from 'prop-types';\nimport React, { Component, createRef } from 'react';\nimport { childrenUtils, customPropTypes, doesNodeContainClick, getElementType, getUnhandledProps, useKeyOnly, useVerticalAlignProp } from '../../lib';\n/**\n * An inner element for a Dimmer.\n */\n\nvar DimmerInner = /*#__PURE__*/function (_Component) {\n _inheritsLoose(DimmerInner, _Component);\n\n function DimmerInner() {\n var _this;\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 = _Component.call.apply(_Component, [this].concat(args)) || this;\n _this.containerRef = /*#__PURE__*/createRef();\n _this.contentRef = /*#__PURE__*/createRef();\n\n _this.handleClick = function (e) {\n var contentRef = _this.contentRef.current;\n\n _invoke(_this.props, 'onClick', e, _this.props);\n\n if (contentRef && contentRef !== e.target && doesNodeContainClick(contentRef, e)) {\n return;\n }\n\n _invoke(_this.props, 'onClickOutside', e, _this.props);\n };\n\n return _this;\n }\n\n var _proto = DimmerInner.prototype;\n\n _proto.componentDidMount = function componentDidMount() {\n var active = this.props.active;\n this.toggleStyles(active);\n };\n\n _proto.componentDidUpdate = function componentDidUpdate(prevProps) {\n var currentActive = this.props.active;\n var prevActive = prevProps.active;\n if (prevActive !== currentActive) this.toggleStyles(currentActive);\n };\n\n _proto.toggleStyles = function toggleStyles(active) {\n var containerRef = this.containerRef.current;\n if (!containerRef || !containerRef.style) return;\n\n if (active) {\n containerRef.style.setProperty('display', 'flex', 'important');\n } else {\n containerRef.style.removeProperty('display');\n }\n };\n\n _proto.render = function render() {\n var _this$props = this.props,\n active = _this$props.active,\n children = _this$props.children,\n className = _this$props.className,\n content = _this$props.content,\n disabled = _this$props.disabled,\n inverted = _this$props.inverted,\n page = _this$props.page,\n simple = _this$props.simple,\n verticalAlign = _this$props.verticalAlign;\n var classes = cx('ui', useKeyOnly(active, 'active transition visible'), useKeyOnly(disabled, 'disabled'), useKeyOnly(inverted, 'inverted'), useKeyOnly(page, 'page'), useKeyOnly(simple, 'simple'), useVerticalAlignProp(verticalAlign), 'dimmer', className);\n var rest = getUnhandledProps(DimmerInner, this.props);\n var ElementType = getElementType(DimmerInner, this.props);\n var childrenContent = childrenUtils.isNil(children) ? content : children;\n return /*#__PURE__*/React.createElement(Ref, {\n innerRef: this.containerRef\n }, /*#__PURE__*/React.createElement(ElementType, _extends({}, rest, {\n className: classes,\n onClick: this.handleClick\n }), childrenContent && /*#__PURE__*/React.createElement(\"div\", {\n className: \"content\",\n ref: this.contentRef\n }, childrenContent)));\n };\n\n return DimmerInner;\n}(Component);\n\nDimmerInner.handledProps = [\"active\", \"as\", \"children\", \"className\", \"content\", \"disabled\", \"inverted\", \"onClick\", \"onClickOutside\", \"page\", \"simple\", \"verticalAlign\"];\nexport { DimmerInner as default };\nDimmerInner.propTypes = process.env.NODE_ENV !== \"production\" ? {\n /** An element type to render as (string or function). */\n as: PropTypes.elementType,\n\n /** An active dimmer will dim its parent container. */\n active: PropTypes.bool,\n\n /** Primary content. */\n children: PropTypes.node,\n\n /** Additional classes. */\n className: PropTypes.string,\n\n /** Shorthand for primary content. */\n content: customPropTypes.contentShorthand,\n\n /** A disabled dimmer cannot be activated */\n disabled: PropTypes.bool,\n\n /**\n * Called on click.\n *\n * @param {SyntheticEvent} event - React's original SyntheticEvent.\n * @param {object} data - All props.\n */\n onClick: PropTypes.func,\n\n /**\n * Handles click outside Dimmer's content, but inside Dimmer area.\n *\n * @param {SyntheticEvent} event - React's original SyntheticEvent.\n * @param {object} data - All props.\n */\n onClickOutside: PropTypes.func,\n\n /** A dimmer can be formatted to have its colors inverted. */\n inverted: PropTypes.bool,\n\n /** A dimmer can be formatted to be fixed to the page. */\n page: PropTypes.bool,\n\n /** A dimmer can be controlled with simple prop. */\n simple: PropTypes.bool,\n\n /** A dimmer can have its content top or bottom aligned. */\n verticalAlign: PropTypes.oneOf(['bottom', 'top'])\n} : {};","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _inheritsLoose from \"@babel/runtime/helpers/esm/inheritsLoose\";\nimport PropTypes from 'prop-types';\nimport React, { Component } from 'react';\nimport { createShorthandFactory, getUnhandledProps, isBrowser } from '../../lib';\nimport Portal from '../../addons/Portal';\nimport DimmerDimmable from './DimmerDimmable';\nimport DimmerInner from './DimmerInner';\n/**\n * A dimmer hides distractions to focus attention on particular content.\n */\n\nvar Dimmer = /*#__PURE__*/function (_Component) {\n _inheritsLoose(Dimmer, _Component);\n\n function Dimmer() {\n var _this;\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 = _Component.call.apply(_Component, [this].concat(args)) || this;\n\n _this.handlePortalMount = function () {\n if (!isBrowser()) return; // Heads up, IE doesn't support second argument in add()\n\n document.body.classList.add('dimmed');\n document.body.classList.add('dimmable');\n };\n\n _this.handlePortalUnmount = function () {\n if (!isBrowser()) return; // Heads up, IE doesn't support second argument in add()\n\n document.body.classList.remove('dimmed');\n document.body.classList.remove('dimmable');\n };\n\n return _this;\n }\n\n var _proto = Dimmer.prototype;\n\n _proto.render = function render() {\n var _this$props = this.props,\n active = _this$props.active,\n page = _this$props.page;\n var rest = getUnhandledProps(Dimmer, this.props);\n\n if (page) {\n return /*#__PURE__*/React.createElement(Portal, {\n closeOnEscape: false,\n closeOnDocumentClick: false,\n onMount: this.handlePortalMount,\n onUnmount: this.handlePortalUnmount,\n open: active,\n openOnTriggerClick: false\n }, /*#__PURE__*/React.createElement(DimmerInner, _extends({}, rest, {\n active: active,\n page: page\n })));\n }\n\n return /*#__PURE__*/React.createElement(DimmerInner, _extends({}, rest, {\n active: active,\n page: page\n }));\n };\n\n return Dimmer;\n}(Component);\n\nDimmer.handledProps = [\"active\", \"page\"];\nexport { Dimmer as default };\nDimmer.propTypes = process.env.NODE_ENV !== \"production\" ? {\n /** An active dimmer will dim its parent container. */\n active: PropTypes.bool,\n\n /** A dimmer can be formatted to be fixed to the page. */\n page: PropTypes.bool\n} : {};\nDimmer.Dimmable = DimmerDimmable;\nDimmer.Inner = DimmerInner;\nDimmer.create = createShorthandFactory(Dimmer, function (value) {\n return {\n content: value\n };\n});","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport cx from 'clsx';\nimport PropTypes from 'prop-types';\nimport React from 'react';\nimport { childrenUtils, customPropTypes, getElementType, getUnhandledProps, SUI } from '../../lib';\n/**\n * A group of images.\n */\n\nfunction ImageGroup(props) {\n var children = props.children,\n className = props.className,\n content = props.content,\n size = props.size;\n var classes = cx('ui', size, className, 'images');\n var rest = getUnhandledProps(ImageGroup, props);\n var ElementType = getElementType(ImageGroup, props);\n return /*#__PURE__*/React.createElement(ElementType, _extends({}, rest, {\n className: classes\n }), childrenUtils.isNil(children) ? content : children);\n}\n\nImageGroup.handledProps = [\"as\", \"children\", \"className\", \"content\", \"size\"];\nImageGroup.propTypes = process.env.NODE_ENV !== \"production\" ? {\n /** An element type to render as (string or function). */\n as: PropTypes.elementType,\n\n /** Primary content. */\n children: PropTypes.node,\n\n /** Additional classes. */\n className: PropTypes.string,\n\n /** Shorthand for primary content. */\n content: customPropTypes.contentShorthand,\n\n /** A group of images can be formatted to have the same size. */\n size: PropTypes.oneOf(SUI.SIZES)\n} : {};\nexport default ImageGroup;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _isNil from \"lodash-es/isNil\";\nimport cx from 'clsx';\nimport PropTypes from 'prop-types';\nimport React from 'react';\nimport { childrenUtils, createShorthandFactory, customPropTypes, getElementType, getUnhandledProps, htmlImageProps, partitionHTMLProps, SUI, useKeyOnly, useKeyOrValueAndKey, useValueAndKey, useVerticalAlignProp } from '../../lib';\nimport Dimmer from '../../modules/Dimmer';\nimport Label from '../Label/Label';\nimport ImageGroup from './ImageGroup';\n/**\n * An image is a graphic representation of something.\n * @see Icon\n */\n\nfunction Image(props) {\n var avatar = props.avatar,\n bordered = props.bordered,\n centered = props.centered,\n children = props.children,\n circular = props.circular,\n className = props.className,\n content = props.content,\n dimmer = props.dimmer,\n disabled = props.disabled,\n floated = props.floated,\n fluid = props.fluid,\n hidden = props.hidden,\n href = props.href,\n inline = props.inline,\n label = props.label,\n rounded = props.rounded,\n size = props.size,\n spaced = props.spaced,\n verticalAlign = props.verticalAlign,\n wrapped = props.wrapped,\n ui = props.ui;\n var classes = cx(useKeyOnly(ui, 'ui'), size, useKeyOnly(avatar, 'avatar'), useKeyOnly(bordered, 'bordered'), useKeyOnly(circular, 'circular'), useKeyOnly(centered, 'centered'), useKeyOnly(disabled, 'disabled'), useKeyOnly(fluid, 'fluid'), useKeyOnly(hidden, 'hidden'), useKeyOnly(inline, 'inline'), useKeyOnly(rounded, 'rounded'), useKeyOrValueAndKey(spaced, 'spaced'), useValueAndKey(floated, 'floated'), useVerticalAlignProp(verticalAlign, 'aligned'), 'image', className);\n var rest = getUnhandledProps(Image, props);\n\n var _partitionHTMLProps = partitionHTMLProps(rest, {\n htmlProps: htmlImageProps\n }),\n imgTagProps = _partitionHTMLProps[0],\n rootProps = _partitionHTMLProps[1];\n\n var ElementType = getElementType(Image, props, function () {\n if (!_isNil(dimmer) || !_isNil(label) || !_isNil(wrapped) || !childrenUtils.isNil(children)) {\n return 'div';\n }\n });\n\n if (!childrenUtils.isNil(children)) {\n return /*#__PURE__*/React.createElement(ElementType, _extends({}, rest, {\n className: classes\n }), children);\n }\n\n if (!childrenUtils.isNil(content)) {\n return /*#__PURE__*/React.createElement(ElementType, _extends({}, rest, {\n className: classes\n }), content);\n }\n\n if (ElementType === 'img') {\n return /*#__PURE__*/React.createElement(ElementType, _extends({}, rootProps, imgTagProps, {\n className: classes\n }));\n }\n\n return /*#__PURE__*/React.createElement(ElementType, _extends({}, rootProps, {\n className: classes,\n href: href\n }), Dimmer.create(dimmer, {\n autoGenerateKey: false\n }), Label.create(label, {\n autoGenerateKey: false\n }), /*#__PURE__*/React.createElement(\"img\", imgTagProps));\n}\n\nImage.handledProps = [\"as\", \"avatar\", \"bordered\", \"centered\", \"children\", \"circular\", \"className\", \"content\", \"dimmer\", \"disabled\", \"floated\", \"fluid\", \"hidden\", \"href\", \"inline\", \"label\", \"rounded\", \"size\", \"spaced\", \"ui\", \"verticalAlign\", \"wrapped\"];\nImage.Group = ImageGroup;\nImage.propTypes = process.env.NODE_ENV !== \"production\" ? {\n /** An element type to render as (string or function). */\n as: PropTypes.elementType,\n\n /** An image may be formatted to appear inline with text as an avatar. */\n avatar: PropTypes.bool,\n\n /** An image may include a border to emphasize the edges of white or transparent content. */\n bordered: PropTypes.bool,\n\n /** An image can appear centered in a content block. */\n centered: PropTypes.bool,\n\n /** Primary content. */\n children: PropTypes.node,\n\n /** An image may appear circular. */\n circular: PropTypes.bool,\n\n /** Additional classes. */\n className: PropTypes.string,\n\n /** Shorthand for primary content. */\n content: customPropTypes.contentShorthand,\n\n /** An image can show that it is disabled and cannot be selected. */\n disabled: PropTypes.bool,\n\n /** Shorthand for Dimmer. */\n dimmer: customPropTypes.itemShorthand,\n\n /** An image can sit to the left or right of other content. */\n floated: PropTypes.oneOf(SUI.FLOATS),\n\n /** An image can take up the width of its container. */\n fluid: customPropTypes.every([PropTypes.bool, customPropTypes.disallow(['size'])]),\n\n /** An image can be hidden. */\n hidden: PropTypes.bool,\n\n /** Renders the Image as an <a> tag with this href. */\n href: PropTypes.string,\n\n /** An image may appear inline. */\n inline: PropTypes.bool,\n\n /** Shorthand for Label. */\n label: customPropTypes.itemShorthand,\n\n /** An image may appear rounded. */\n rounded: PropTypes.bool,\n\n /** An image may appear at different sizes. */\n size: PropTypes.oneOf(SUI.SIZES),\n\n /** An image can specify that it needs an additional spacing to separate it from nearby content. */\n spaced: PropTypes.oneOfType([PropTypes.bool, PropTypes.oneOf(['left', 'right'])]),\n\n /** Whether or not to add the ui className. */\n ui: PropTypes.bool,\n\n /** An image can specify its vertical alignment. */\n verticalAlign: PropTypes.oneOf(SUI.VERTICAL_ALIGNMENTS),\n\n /** An image can render wrapped in a `div.ui.image` as alternative HTML markup. */\n wrapped: PropTypes.bool\n} : {};\nImage.defaultProps = {\n as: 'img',\n ui: true\n};\nImage.create = createShorthandFactory(Image, function (value) {\n return {\n src: value\n };\n});\nexport default Image;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport cx from 'clsx';\nimport PropTypes from 'prop-types';\nimport React from 'react';\nimport { childrenUtils, customPropTypes, getElementType, getUnhandledProps } from '../../lib';\n/**\n * A menu item may include a header or may itself be a header.\n */\n\nfunction MenuHeader(props) {\n var children = props.children,\n className = props.className,\n content = props.content;\n var classes = cx('header', className);\n var rest = getUnhandledProps(MenuHeader, props);\n var ElementType = getElementType(MenuHeader, props);\n return /*#__PURE__*/React.createElement(ElementType, _extends({}, rest, {\n className: classes\n }), childrenUtils.isNil(children) ? content : children);\n}\n\nMenuHeader.handledProps = [\"as\", \"children\", \"className\", \"content\"];\nMenuHeader.propTypes = process.env.NODE_ENV !== \"production\" ? {\n /** An element type to render as (string or function). */\n as: PropTypes.elementType,\n\n /** Primary content. */\n children: PropTypes.node,\n\n /** Additional classes. */\n className: PropTypes.string,\n\n /** Shorthand for primary content. */\n content: customPropTypes.contentShorthand\n} : {};\nexport default MenuHeader;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport cx from 'clsx';\nimport PropTypes from 'prop-types';\nimport React from 'react';\nimport { childrenUtils, customPropTypes, getElementType, getUnhandledProps } from '../../lib';\n/**\n * A menu can contain a sub menu.\n */\n\nfunction MenuMenu(props) {\n var children = props.children,\n className = props.className,\n content = props.content,\n position = props.position;\n var classes = cx(position, 'menu', className);\n var rest = getUnhandledProps(MenuMenu, props);\n var ElementType = getElementType(MenuMenu, props);\n return /*#__PURE__*/React.createElement(ElementType, _extends({}, rest, {\n className: classes\n }), childrenUtils.isNil(children) ? content : children);\n}\n\nMenuMenu.handledProps = [\"as\", \"children\", \"className\", \"content\", \"position\"];\nMenuMenu.propTypes = process.env.NODE_ENV !== \"production\" ? {\n /** An element type to render as (string or function). */\n as: PropTypes.elementType,\n\n /** Primary content. */\n children: PropTypes.node,\n\n /** Additional classes. */\n className: PropTypes.string,\n\n /** Shorthand for primary content. */\n content: customPropTypes.contentShorthand,\n\n /** A sub menu can take left or right position. */\n position: PropTypes.oneOf(['left', 'right'])\n} : {};\nexport default MenuMenu;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _inheritsLoose from \"@babel/runtime/helpers/esm/inheritsLoose\";\nimport _without from \"lodash-es/without\";\nimport _map from \"lodash-es/map\";\nimport _invoke from \"lodash-es/invoke\";\nimport cx from 'clsx';\nimport PropTypes from 'prop-types';\nimport React from 'react';\nimport { ModernAutoControlledComponent as Component, childrenUtils, customPropTypes, createShorthandFactory, getElementType, getUnhandledProps, SUI, useKeyOnly, useKeyOrValueAndKey, useValueAndKey, useWidthProp } from '../../lib';\nimport MenuHeader from './MenuHeader';\nimport MenuItem from './MenuItem';\nimport MenuMenu from './MenuMenu';\n/**\n * A menu displays grouped navigation actions.\n * @see Dropdown\n */\n\nvar Menu = /*#__PURE__*/function (_Component) {\n _inheritsLoose(Menu, _Component);\n\n function Menu() {\n var _this;\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 = _Component.call.apply(_Component, [this].concat(args)) || this;\n\n _this.handleItemOverrides = function (predefinedProps) {\n return {\n onClick: function onClick(e, itemProps) {\n var index = itemProps.index;\n\n _this.setState({\n activeIndex: index\n });\n\n _invoke(predefinedProps, 'onClick', e, itemProps);\n\n _invoke(_this.props, 'onItemClick', e, itemProps);\n }\n };\n };\n\n return _this;\n }\n\n var _proto = Menu.prototype;\n\n _proto.renderItems = function renderItems() {\n var _this2 = this;\n\n var items = this.props.items;\n var activeIndex = this.state.activeIndex;\n return _map(items, function (item, index) {\n return MenuItem.create(item, {\n defaultProps: {\n active: parseInt(activeIndex, 10) === index,\n index: index\n },\n overrideProps: _this2.handleItemOverrides\n });\n });\n };\n\n _proto.render = function render() {\n var _this$props = this.props,\n attached = _this$props.attached,\n borderless = _this$props.borderless,\n children = _this$props.children,\n className = _this$props.className,\n color = _this$props.color,\n compact = _this$props.compact,\n fixed = _this$props.fixed,\n floated = _this$props.floated,\n fluid = _this$props.fluid,\n icon = _this$props.icon,\n inverted = _this$props.inverted,\n pagination = _this$props.pagination,\n pointing = _this$props.pointing,\n secondary = _this$props.secondary,\n size = _this$props.size,\n stackable = _this$props.stackable,\n tabular = _this$props.tabular,\n text = _this$props.text,\n vertical = _this$props.vertical,\n widths = _this$props.widths;\n var classes = cx('ui', color, size, useKeyOnly(borderless, 'borderless'), useKeyOnly(compact, 'compact'), useKeyOnly(fluid, 'fluid'), useKeyOnly(inverted, 'inverted'), useKeyOnly(pagination, 'pagination'), useKeyOnly(pointing, 'pointing'), useKeyOnly(secondary, 'secondary'), useKeyOnly(stackable, 'stackable'), useKeyOnly(text, 'text'), useKeyOnly(vertical, 'vertical'), useKeyOrValueAndKey(attached, 'attached'), useKeyOrValueAndKey(floated, 'floated'), useKeyOrValueAndKey(icon, 'icon'), useKeyOrValueAndKey(tabular, 'tabular'), useValueAndKey(fixed, 'fixed'), useWidthProp(widths, 'item'), className, 'menu');\n var rest = getUnhandledProps(Menu, this.props);\n var ElementType = getElementType(Menu, this.props);\n return /*#__PURE__*/React.createElement(ElementType, _extends({}, rest, {\n className: classes\n }), childrenUtils.isNil(children) ? this.renderItems() : children);\n };\n\n return Menu;\n}(Component);\n\nMenu.handledProps = [\"activeIndex\", \"as\", \"attached\", \"borderless\", \"children\", \"className\", \"color\", \"compact\", \"defaultActiveIndex\", \"fixed\", \"floated\", \"fluid\", \"icon\", \"inverted\", \"items\", \"onItemClick\", \"pagination\", \"pointing\", \"secondary\", \"size\", \"stackable\", \"tabular\", \"text\", \"vertical\", \"widths\"];\nMenu.propTypes = process.env.NODE_ENV !== \"production\" ? {\n /** An element type to render as (string or function). */\n as: PropTypes.elementType,\n\n /** Index of the currently active item. */\n activeIndex: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),\n\n /** A menu may be attached to other content segments. */\n attached: PropTypes.oneOfType([PropTypes.bool, PropTypes.oneOf(['top', 'bottom'])]),\n\n /** A menu item or menu can have no borders. */\n borderless: PropTypes.bool,\n\n /** Primary content. */\n children: PropTypes.node,\n\n /** Additional classes. */\n className: PropTypes.string,\n\n /** Additional colors can be specified. */\n color: PropTypes.oneOf(SUI.COLORS),\n\n /** A menu can take up only the space necessary to fit its content. */\n compact: PropTypes.bool,\n\n /** Initial activeIndex value. */\n defaultActiveIndex: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),\n\n /** A menu can be fixed to a side of its context. */\n fixed: PropTypes.oneOf(['left', 'right', 'bottom', 'top']),\n\n /** A menu can be floated. */\n floated: PropTypes.oneOfType([PropTypes.bool, PropTypes.oneOf(['right'])]),\n\n /** A vertical menu may take the size of its container. */\n fluid: PropTypes.bool,\n\n /** A menu may have just icons (bool) or labeled icons. */\n icon: PropTypes.oneOfType([PropTypes.bool, PropTypes.oneOf(['labeled'])]),\n\n /** A menu may have its colors inverted to show greater contrast. */\n inverted: PropTypes.bool,\n\n /** Shorthand array of props for Menu. */\n items: customPropTypes.collectionShorthand,\n\n /**\n * onClick handler for MenuItem. Mutually exclusive with children.\n *\n * @param {SyntheticEvent} event - React's original SyntheticEvent.\n * @param {object} data - All item props.\n */\n onItemClick: customPropTypes.every([customPropTypes.disallow(['children']), PropTypes.func]),\n\n /** A pagination menu is specially formatted to present links to pages of content. */\n pagination: PropTypes.bool,\n\n /** A menu can point to show its relationship to nearby content. */\n pointing: PropTypes.bool,\n\n /** A menu can adjust its appearance to de-emphasize its contents. */\n secondary: PropTypes.bool,\n\n /** A menu can vary in size. */\n size: PropTypes.oneOf(_without(SUI.SIZES, 'medium', 'big')),\n\n /** A menu can stack at mobile resolutions. */\n stackable: PropTypes.bool,\n\n /** A menu can be formatted to show tabs of information. */\n tabular: PropTypes.oneOfType([PropTypes.bool, PropTypes.oneOf(['right'])]),\n\n /** A menu can be formatted for text content. */\n text: PropTypes.bool,\n\n /** A vertical menu displays elements vertically. */\n vertical: PropTypes.bool,\n\n /** A menu can have its items divided evenly. */\n widths: PropTypes.oneOf(SUI.WIDTHS)\n} : {};\nMenu.autoControlledProps = ['activeIndex'];\nMenu.Header = MenuHeader;\nMenu.Item = MenuItem;\nMenu.Menu = MenuMenu;\nMenu.create = createShorthandFactory(Menu, function (items) {\n return {\n items: items\n };\n});\nexport default Menu;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport cx from 'clsx';\nimport PropTypes from 'prop-types';\nimport React from 'react';\nimport { customPropTypes, getElementType, getUnhandledProps, SUI, useKeyOnly, useMultipleProp, useTextAlignProp, useVerticalAlignProp, useWidthProp } from '../../lib';\n/**\n * A row sub-component for Grid.\n */\n\nfunction GridRow(props) {\n var centered = props.centered,\n children = props.children,\n className = props.className,\n color = props.color,\n columns = props.columns,\n divided = props.divided,\n only = props.only,\n reversed = props.reversed,\n stretched = props.stretched,\n textAlign = props.textAlign,\n verticalAlign = props.verticalAlign;\n var classes = cx(color, useKeyOnly(centered, 'centered'), useKeyOnly(divided, 'divided'), useKeyOnly(stretched, 'stretched'), useMultipleProp(only, 'only'), useMultipleProp(reversed, 'reversed'), useTextAlignProp(textAlign), useVerticalAlignProp(verticalAlign), useWidthProp(columns, 'column', true), 'row', className);\n var rest = getUnhandledProps(GridRow, props);\n var ElementType = getElementType(GridRow, props);\n return /*#__PURE__*/React.createElement(ElementType, _extends({}, rest, {\n className: classes\n }), children);\n}\n\nGridRow.handledProps = [\"as\", \"centered\", \"children\", \"className\", \"color\", \"columns\", \"divided\", \"only\", \"reversed\", \"stretched\", \"textAlign\", \"verticalAlign\"];\nGridRow.propTypes = process.env.NODE_ENV !== \"production\" ? {\n /** An element type to render as (string or function). */\n as: PropTypes.elementType,\n\n /** A row can have its columns centered. */\n centered: PropTypes.bool,\n\n /** Primary content. */\n children: PropTypes.node,\n\n /** Additional classes. */\n className: PropTypes.string,\n\n /** A grid row can be colored. */\n color: PropTypes.oneOf(SUI.COLORS),\n\n /** Represents column count per line in Row. */\n columns: PropTypes.oneOf([].concat(SUI.WIDTHS, ['equal'])),\n\n /** A row can have dividers between its columns. */\n divided: PropTypes.bool,\n\n /** A row can appear only for a specific device, or screen sizes. */\n only: customPropTypes.multipleProp(SUI.VISIBILITY),\n\n /** A row can specify that its columns should reverse order at different device sizes. */\n reversed: customPropTypes.multipleProp(['computer', 'computer vertically', 'mobile', 'mobile vertically', 'tablet', 'tablet vertically']),\n\n /** A row can stretch its contents to take up the entire column height. */\n stretched: PropTypes.bool,\n\n /** A row can specify its text alignment. */\n textAlign: PropTypes.oneOf(SUI.TEXT_ALIGNMENTS),\n\n /** A row can specify its vertical alignment to have all its columns vertically centered. */\n verticalAlign: PropTypes.oneOf(SUI.VERTICAL_ALIGNMENTS)\n} : {};\nexport default GridRow;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport cx from 'clsx';\nimport PropTypes from 'prop-types';\nimport React from 'react';\nimport { customPropTypes, getElementType, getUnhandledProps, SUI, useKeyOnly, useKeyOrValueAndKey, useMultipleProp, useTextAlignProp, useVerticalAlignProp, useWidthProp } from '../../lib';\nimport GridColumn from './GridColumn';\nimport GridRow from './GridRow';\n/**\n * A grid is used to harmonize negative space in a layout.\n */\n\nfunction Grid(props) {\n var celled = props.celled,\n centered = props.centered,\n children = props.children,\n className = props.className,\n columns = props.columns,\n container = props.container,\n divided = props.divided,\n doubling = props.doubling,\n inverted = props.inverted,\n padded = props.padded,\n relaxed = props.relaxed,\n reversed = props.reversed,\n stackable = props.stackable,\n stretched = props.stretched,\n textAlign = props.textAlign,\n verticalAlign = props.verticalAlign;\n var classes = cx('ui', useKeyOnly(centered, 'centered'), useKeyOnly(container, 'container'), useKeyOnly(doubling, 'doubling'), useKeyOnly(inverted, 'inverted'), useKeyOnly(stackable, 'stackable'), useKeyOnly(stretched, 'stretched'), useKeyOrValueAndKey(celled, 'celled'), useKeyOrValueAndKey(divided, 'divided'), useKeyOrValueAndKey(padded, 'padded'), useKeyOrValueAndKey(relaxed, 'relaxed'), useMultipleProp(reversed, 'reversed'), useTextAlignProp(textAlign), useVerticalAlignProp(verticalAlign), useWidthProp(columns, 'column', true), 'grid', className);\n var rest = getUnhandledProps(Grid, props);\n var ElementType = getElementType(Grid, props);\n return /*#__PURE__*/React.createElement(ElementType, _extends({}, rest, {\n className: classes\n }), children);\n}\n\nGrid.handledProps = [\"as\", \"celled\", \"centered\", \"children\", \"className\", \"columns\", \"container\", \"divided\", \"doubling\", \"inverted\", \"padded\", \"relaxed\", \"reversed\", \"stackable\", \"stretched\", \"textAlign\", \"verticalAlign\"];\nGrid.Column = GridColumn;\nGrid.Row = GridRow;\nGrid.propTypes = process.env.NODE_ENV !== \"production\" ? {\n /** An element type to render as (string or function). */\n as: PropTypes.elementType,\n\n /** A grid can have rows divided into cells. */\n celled: PropTypes.oneOfType([PropTypes.bool, PropTypes.oneOf(['internally'])]),\n\n /** A grid can have its columns centered. */\n centered: PropTypes.bool,\n\n /** Primary content. */\n children: PropTypes.node,\n\n /** Additional classes. */\n className: PropTypes.string,\n\n /** Represents column count per row in Grid. */\n columns: PropTypes.oneOf([].concat(SUI.WIDTHS, ['equal'])),\n\n /** A grid can be combined with a container to use the available layout and alignment. */\n container: PropTypes.bool,\n\n /** A grid can have dividers between its columns. */\n divided: PropTypes.oneOfType([PropTypes.bool, PropTypes.oneOf(['vertically'])]),\n\n /** A grid can double its column width on tablet and mobile sizes. */\n doubling: PropTypes.bool,\n\n /** A grid's colors can be inverted. */\n inverted: PropTypes.bool,\n\n /** A grid can preserve its vertical and horizontal gutters on first and last columns. */\n padded: PropTypes.oneOfType([PropTypes.bool, PropTypes.oneOf(['horizontally', 'vertically'])]),\n\n /** A grid can increase its gutters to allow for more negative space. */\n relaxed: PropTypes.oneOfType([PropTypes.bool, PropTypes.oneOf(['very'])]),\n\n /** A grid can specify that its columns should reverse order at different device sizes. */\n reversed: customPropTypes.multipleProp(['computer', 'computer vertically', 'mobile', 'mobile vertically', 'tablet', 'tablet vertically']),\n\n /** A grid can have its columns stack on-top of each other after reaching mobile breakpoints. */\n stackable: PropTypes.bool,\n\n /** A grid can stretch its contents to take up the entire grid height. */\n stretched: PropTypes.bool,\n\n /** A grid can specify its text alignment. */\n textAlign: PropTypes.oneOf(SUI.TEXT_ALIGNMENTS),\n\n /** A grid can specify its vertical alignment to have all its columns vertically centered. */\n verticalAlign: PropTypes.oneOf(SUI.VERTICAL_ALIGNMENTS)\n} : {};\nexport default Grid;","/**\n * @license React\n * react.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'use strict';var l=Symbol.for(\"react.element\"),n=Symbol.for(\"react.portal\"),p=Symbol.for(\"react.fragment\"),q=Symbol.for(\"react.strict_mode\"),r=Symbol.for(\"react.profiler\"),t=Symbol.for(\"react.provider\"),u=Symbol.for(\"react.context\"),v=Symbol.for(\"react.forward_ref\"),w=Symbol.for(\"react.suspense\"),x=Symbol.for(\"react.memo\"),y=Symbol.for(\"react.lazy\"),z=Symbol.iterator;function A(a){if(null===a||\"object\"!==typeof a)return null;a=z&&a[z]||a[\"@@iterator\"];return\"function\"===typeof a?a:null}\nvar B={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},C=Object.assign,D={};function E(a,b,e){this.props=a;this.context=b;this.refs=D;this.updater=e||B}E.prototype.isReactComponent={};\nE.prototype.setState=function(a,b){if(\"object\"!==typeof a&&\"function\"!==typeof a&&null!=a)throw Error(\"setState(...): takes an object of state variables to update or a function which returns an object of state variables.\");this.updater.enqueueSetState(this,a,b,\"setState\")};E.prototype.forceUpdate=function(a){this.updater.enqueueForceUpdate(this,a,\"forceUpdate\")};function F(){}F.prototype=E.prototype;function G(a,b,e){this.props=a;this.context=b;this.refs=D;this.updater=e||B}var H=G.prototype=new F;\nH.constructor=G;C(H,E.prototype);H.isPureReactComponent=!0;var I=Array.isArray,J=Object.prototype.hasOwnProperty,K={current:null},L={key:!0,ref:!0,__self:!0,__source:!0};\nfunction M(a,b,e){var d,c={},k=null,h=null;if(null!=b)for(d in void 0!==b.ref&&(h=b.ref),void 0!==b.key&&(k=\"\"+b.key),b)J.call(b,d)&&!L.hasOwnProperty(d)&&(c[d]=b[d]);var g=arguments.length-2;if(1===g)c.children=e;else if(1<g){for(var f=Array(g),m=0;m<g;m++)f[m]=arguments[m+2];c.children=f}if(a&&a.defaultProps)for(d in g=a.defaultProps,g)void 0===c[d]&&(c[d]=g[d]);return{$$typeof:l,type:a,key:k,ref:h,props:c,_owner:K.current}}\nfunction N(a,b){return{$$typeof:l,type:a.type,key:b,ref:a.ref,props:a.props,_owner:a._owner}}function O(a){return\"object\"===typeof a&&null!==a&&a.$$typeof===l}function escape(a){var b={\"=\":\"=0\",\":\":\"=2\"};return\"$\"+a.replace(/[=:]/g,function(a){return b[a]})}var P=/\\/+/g;function Q(a,b){return\"object\"===typeof a&&null!==a&&null!=a.key?escape(\"\"+a.key):b.toString(36)}\nfunction R(a,b,e,d,c){var k=typeof a;if(\"undefined\"===k||\"boolean\"===k)a=null;var h=!1;if(null===a)h=!0;else switch(k){case \"string\":case \"number\":h=!0;break;case \"object\":switch(a.$$typeof){case l:case n:h=!0}}if(h)return h=a,c=c(h),a=\"\"===d?\".\"+Q(h,0):d,I(c)?(e=\"\",null!=a&&(e=a.replace(P,\"$&/\")+\"/\"),R(c,b,e,\"\",function(a){return a})):null!=c&&(O(c)&&(c=N(c,e+(!c.key||h&&h.key===c.key?\"\":(\"\"+c.key).replace(P,\"$&/\")+\"/\")+a)),b.push(c)),1;h=0;d=\"\"===d?\".\":d+\":\";if(I(a))for(var g=0;g<a.length;g++){k=\na[g];var f=d+Q(k,g);h+=R(k,b,e,f,c)}else if(f=A(a),\"function\"===typeof f)for(a=f.call(a),g=0;!(k=a.next()).done;)k=k.value,f=d+Q(k,g++),h+=R(k,b,e,f,c);else if(\"object\"===k)throw b=String(a),Error(\"Objects are not valid as a React child (found: \"+(\"[object Object]\"===b?\"object with keys {\"+Object.keys(a).join(\", \")+\"}\":b)+\"). If you meant to render a collection of children, use an array instead.\");return h}\nfunction S(a,b,e){if(null==a)return a;var d=[],c=0;R(a,d,\"\",\"\",function(a){return b.call(e,a,c++)});return d}function T(a){if(-1===a._status){var b=a._result;b=b();b.then(function(b){if(0===a._status||-1===a._status)a._status=1,a._result=b},function(b){if(0===a._status||-1===a._status)a._status=2,a._result=b});-1===a._status&&(a._status=0,a._result=b)}if(1===a._status)return a._result.default;throw a._result;}\nvar U={current:null},V={transition:null},W={ReactCurrentDispatcher:U,ReactCurrentBatchConfig:V,ReactCurrentOwner:K};exports.Children={map:S,forEach:function(a,b,e){S(a,function(){b.apply(this,arguments)},e)},count:function(a){var b=0;S(a,function(){b++});return b},toArray:function(a){return S(a,function(a){return a})||[]},only:function(a){if(!O(a))throw Error(\"React.Children.only expected to receive a single React element child.\");return a}};exports.Component=E;exports.Fragment=p;\nexports.Profiler=r;exports.PureComponent=G;exports.StrictMode=q;exports.Suspense=w;exports.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED=W;\nexports.cloneElement=function(a,b,e){if(null===a||void 0===a)throw Error(\"React.cloneElement(...): The argument must be a React element, but you passed \"+a+\".\");var d=C({},a.props),c=a.key,k=a.ref,h=a._owner;if(null!=b){void 0!==b.ref&&(k=b.ref,h=K.current);void 0!==b.key&&(c=\"\"+b.key);if(a.type&&a.type.defaultProps)var g=a.type.defaultProps;for(f in b)J.call(b,f)&&!L.hasOwnProperty(f)&&(d[f]=void 0===b[f]&&void 0!==g?g[f]:b[f])}var f=arguments.length-2;if(1===f)d.children=e;else if(1<f){g=Array(f);\nfor(var m=0;m<f;m++)g[m]=arguments[m+2];d.children=g}return{$$typeof:l,type:a.type,key:c,ref:k,props:d,_owner:h}};exports.createContext=function(a){a={$$typeof:u,_currentValue:a,_currentValue2:a,_threadCount:0,Provider:null,Consumer:null,_defaultValue:null,_globalName:null};a.Provider={$$typeof:t,_context:a};return a.Consumer=a};exports.createElement=M;exports.createFactory=function(a){var b=M.bind(null,a);b.type=a;return b};exports.createRef=function(){return{current:null}};\nexports.forwardRef=function(a){return{$$typeof:v,render:a}};exports.isValidElement=O;exports.lazy=function(a){return{$$typeof:y,_payload:{_status:-1,_result:a},_init:T}};exports.memo=function(a,b){return{$$typeof:x,type:a,compare:void 0===b?null:b}};exports.startTransition=function(a){var b=V.transition;V.transition={};try{a()}finally{V.transition=b}};exports.unstable_act=function(){throw Error(\"act(...) is not supported in production builds of React.\");};\nexports.useCallback=function(a,b){return U.current.useCallback(a,b)};exports.useContext=function(a){return U.current.useContext(a)};exports.useDebugValue=function(){};exports.useDeferredValue=function(a){return U.current.useDeferredValue(a)};exports.useEffect=function(a,b){return U.current.useEffect(a,b)};exports.useId=function(){return U.current.useId()};exports.useImperativeHandle=function(a,b,e){return U.current.useImperativeHandle(a,b,e)};\nexports.useInsertionEffect=function(a,b){return U.current.useInsertionEffect(a,b)};exports.useLayoutEffect=function(a,b){return U.current.useLayoutEffect(a,b)};exports.useMemo=function(a,b){return U.current.useMemo(a,b)};exports.useReducer=function(a,b,e){return U.current.useReducer(a,b,e)};exports.useRef=function(a){return U.current.useRef(a)};exports.useState=function(a){return U.current.useState(a)};exports.useSyncExternalStore=function(a,b,e){return U.current.useSyncExternalStore(a,b,e)};\nexports.useTransition=function(){return U.current.useTransition()};exports.version=\"18.2.0\";\n","/**\n * @license React\n * react-dom.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 Modernizr 3.0.0pre (Custom Build) | MIT\n*/\n'use strict';var aa=require(\"react\"),ca=require(\"scheduler\");function p(a){for(var b=\"https://reactjs.org/docs/error-decoder.html?invariant=\"+a,c=1;c<arguments.length;c++)b+=\"&args[]=\"+encodeURIComponent(arguments[c]);return\"Minified React error #\"+a+\"; visit \"+b+\" for the full message or use the non-minified dev environment for full errors and additional helpful warnings.\"}var da=new Set,ea={};function fa(a,b){ha(a,b);ha(a+\"Capture\",b)}\nfunction ha(a,b){ea[a]=b;for(a=0;a<b.length;a++)da.add(b[a])}\nvar ia=!(\"undefined\"===typeof window||\"undefined\"===typeof window.document||\"undefined\"===typeof window.document.createElement),ja=Object.prototype.hasOwnProperty,ka=/^[:A-Z_a-z\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD][:A-Z_a-z\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD\\-.0-9\\u00B7\\u0300-\\u036F\\u203F-\\u2040]*$/,la=\n{},ma={};function oa(a){if(ja.call(ma,a))return!0;if(ja.call(la,a))return!1;if(ka.test(a))return ma[a]=!0;la[a]=!0;return!1}function pa(a,b,c,d){if(null!==c&&0===c.type)return!1;switch(typeof b){case \"function\":case \"symbol\":return!0;case \"boolean\":if(d)return!1;if(null!==c)return!c.acceptsBooleans;a=a.toLowerCase().slice(0,5);return\"data-\"!==a&&\"aria-\"!==a;default:return!1}}\nfunction qa(a,b,c,d){if(null===b||\"undefined\"===typeof b||pa(a,b,c,d))return!0;if(d)return!1;if(null!==c)switch(c.type){case 3:return!b;case 4:return!1===b;case 5:return isNaN(b);case 6:return isNaN(b)||1>b}return!1}function v(a,b,c,d,e,f,g){this.acceptsBooleans=2===b||3===b||4===b;this.attributeName=d;this.attributeNamespace=e;this.mustUseProperty=c;this.propertyName=a;this.type=b;this.sanitizeURL=f;this.removeEmptyString=g}var z={};\n\"children dangerouslySetInnerHTML defaultValue defaultChecked innerHTML suppressContentEditableWarning suppressHydrationWarning style\".split(\" \").forEach(function(a){z[a]=new v(a,0,!1,a,null,!1,!1)});[[\"acceptCharset\",\"accept-charset\"],[\"className\",\"class\"],[\"htmlFor\",\"for\"],[\"httpEquiv\",\"http-equiv\"]].forEach(function(a){var b=a[0];z[b]=new v(b,1,!1,a[1],null,!1,!1)});[\"contentEditable\",\"draggable\",\"spellCheck\",\"value\"].forEach(function(a){z[a]=new v(a,2,!1,a.toLowerCase(),null,!1,!1)});\n[\"autoReverse\",\"externalResourcesRequired\",\"focusable\",\"preserveAlpha\"].forEach(function(a){z[a]=new v(a,2,!1,a,null,!1,!1)});\"allowFullScreen async autoFocus autoPlay controls default defer disabled disablePictureInPicture disableRemotePlayback formNoValidate hidden loop noModule noValidate open playsInline readOnly required reversed scoped seamless itemScope\".split(\" \").forEach(function(a){z[a]=new v(a,3,!1,a.toLowerCase(),null,!1,!1)});\n[\"checked\",\"multiple\",\"muted\",\"selected\"].forEach(function(a){z[a]=new v(a,3,!0,a,null,!1,!1)});[\"capture\",\"download\"].forEach(function(a){z[a]=new v(a,4,!1,a,null,!1,!1)});[\"cols\",\"rows\",\"size\",\"span\"].forEach(function(a){z[a]=new v(a,6,!1,a,null,!1,!1)});[\"rowSpan\",\"start\"].forEach(function(a){z[a]=new v(a,5,!1,a.toLowerCase(),null,!1,!1)});var ra=/[\\-:]([a-z])/g;function sa(a){return a[1].toUpperCase()}\n\"accent-height alignment-baseline arabic-form baseline-shift cap-height clip-path clip-rule color-interpolation color-interpolation-filters color-profile color-rendering dominant-baseline enable-background fill-opacity fill-rule flood-color flood-opacity font-family font-size font-size-adjust font-stretch font-style font-variant font-weight glyph-name glyph-orientation-horizontal glyph-orientation-vertical horiz-adv-x horiz-origin-x image-rendering letter-spacing lighting-color marker-end marker-mid marker-start overline-position overline-thickness paint-order panose-1 pointer-events rendering-intent shape-rendering stop-color stop-opacity strikethrough-position strikethrough-thickness stroke-dasharray stroke-dashoffset stroke-linecap stroke-linejoin stroke-miterlimit stroke-opacity stroke-width text-anchor text-decoration text-rendering underline-position underline-thickness unicode-bidi unicode-range units-per-em v-alphabetic v-hanging v-ideographic v-mathematical vector-effect vert-adv-y vert-origin-x vert-origin-y word-spacing writing-mode xmlns:xlink x-height\".split(\" \").forEach(function(a){var b=a.replace(ra,\nsa);z[b]=new v(b,1,!1,a,null,!1,!1)});\"xlink:actuate xlink:arcrole xlink:role xlink:show xlink:title xlink:type\".split(\" \").forEach(function(a){var b=a.replace(ra,sa);z[b]=new v(b,1,!1,a,\"http://www.w3.org/1999/xlink\",!1,!1)});[\"xml:base\",\"xml:lang\",\"xml:space\"].forEach(function(a){var b=a.replace(ra,sa);z[b]=new v(b,1,!1,a,\"http://www.w3.org/XML/1998/namespace\",!1,!1)});[\"tabIndex\",\"crossOrigin\"].forEach(function(a){z[a]=new v(a,1,!1,a.toLowerCase(),null,!1,!1)});\nz.xlinkHref=new v(\"xlinkHref\",1,!1,\"xlink:href\",\"http://www.w3.org/1999/xlink\",!0,!1);[\"src\",\"href\",\"action\",\"formAction\"].forEach(function(a){z[a]=new v(a,1,!1,a.toLowerCase(),null,!0,!0)});\nfunction ta(a,b,c,d){var e=z.hasOwnProperty(b)?z[b]:null;if(null!==e?0!==e.type:d||!(2<b.length)||\"o\"!==b[0]&&\"O\"!==b[0]||\"n\"!==b[1]&&\"N\"!==b[1])qa(b,c,e,d)&&(c=null),d||null===e?oa(b)&&(null===c?a.removeAttribute(b):a.setAttribute(b,\"\"+c)):e.mustUseProperty?a[e.propertyName]=null===c?3===e.type?!1:\"\":c:(b=e.attributeName,d=e.attributeNamespace,null===c?a.removeAttribute(b):(e=e.type,c=3===e||4===e&&!0===c?\"\":\"\"+c,d?a.setAttributeNS(d,b,c):a.setAttribute(b,c)))}\nvar ua=aa.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED,va=Symbol.for(\"react.element\"),wa=Symbol.for(\"react.portal\"),ya=Symbol.for(\"react.fragment\"),za=Symbol.for(\"react.strict_mode\"),Aa=Symbol.for(\"react.profiler\"),Ba=Symbol.for(\"react.provider\"),Ca=Symbol.for(\"react.context\"),Da=Symbol.for(\"react.forward_ref\"),Ea=Symbol.for(\"react.suspense\"),Fa=Symbol.for(\"react.suspense_list\"),Ga=Symbol.for(\"react.memo\"),Ha=Symbol.for(\"react.lazy\");Symbol.for(\"react.scope\");Symbol.for(\"react.debug_trace_mode\");\nvar Ia=Symbol.for(\"react.offscreen\");Symbol.for(\"react.legacy_hidden\");Symbol.for(\"react.cache\");Symbol.for(\"react.tracing_marker\");var Ja=Symbol.iterator;function Ka(a){if(null===a||\"object\"!==typeof a)return null;a=Ja&&a[Ja]||a[\"@@iterator\"];return\"function\"===typeof a?a:null}var A=Object.assign,La;function Ma(a){if(void 0===La)try{throw Error();}catch(c){var b=c.stack.trim().match(/\\n( *(at )?)/);La=b&&b[1]||\"\"}return\"\\n\"+La+a}var Na=!1;\nfunction Oa(a,b){if(!a||Na)return\"\";Na=!0;var c=Error.prepareStackTrace;Error.prepareStackTrace=void 0;try{if(b)if(b=function(){throw Error();},Object.defineProperty(b.prototype,\"props\",{set:function(){throw Error();}}),\"object\"===typeof Reflect&&Reflect.construct){try{Reflect.construct(b,[])}catch(l){var d=l}Reflect.construct(a,[],b)}else{try{b.call()}catch(l){d=l}a.call(b.prototype)}else{try{throw Error();}catch(l){d=l}a()}}catch(l){if(l&&d&&\"string\"===typeof l.stack){for(var e=l.stack.split(\"\\n\"),\nf=d.stack.split(\"\\n\"),g=e.length-1,h=f.length-1;1<=g&&0<=h&&e[g]!==f[h];)h--;for(;1<=g&&0<=h;g--,h--)if(e[g]!==f[h]){if(1!==g||1!==h){do if(g--,h--,0>h||e[g]!==f[h]){var k=\"\\n\"+e[g].replace(\" at new \",\" at \");a.displayName&&k.includes(\"<anonymous>\")&&(k=k.replace(\"<anonymous>\",a.displayName));return k}while(1<=g&&0<=h)}break}}}finally{Na=!1,Error.prepareStackTrace=c}return(a=a?a.displayName||a.name:\"\")?Ma(a):\"\"}\nfunction Pa(a){switch(a.tag){case 5:return Ma(a.type);case 16:return Ma(\"Lazy\");case 13:return Ma(\"Suspense\");case 19:return Ma(\"SuspenseList\");case 0:case 2:case 15:return a=Oa(a.type,!1),a;case 11:return a=Oa(a.type.render,!1),a;case 1:return a=Oa(a.type,!0),a;default:return\"\"}}\nfunction Qa(a){if(null==a)return null;if(\"function\"===typeof a)return a.displayName||a.name||null;if(\"string\"===typeof a)return a;switch(a){case ya:return\"Fragment\";case wa:return\"Portal\";case Aa:return\"Profiler\";case za:return\"StrictMode\";case Ea:return\"Suspense\";case Fa:return\"SuspenseList\"}if(\"object\"===typeof a)switch(a.$$typeof){case Ca:return(a.displayName||\"Context\")+\".Consumer\";case Ba:return(a._context.displayName||\"Context\")+\".Provider\";case Da:var b=a.render;a=a.displayName;a||(a=b.displayName||\nb.name||\"\",a=\"\"!==a?\"ForwardRef(\"+a+\")\":\"ForwardRef\");return a;case Ga:return b=a.displayName||null,null!==b?b:Qa(a.type)||\"Memo\";case Ha:b=a._payload;a=a._init;try{return Qa(a(b))}catch(c){}}return null}\nfunction Ra(a){var b=a.type;switch(a.tag){case 24:return\"Cache\";case 9:return(b.displayName||\"Context\")+\".Consumer\";case 10:return(b._context.displayName||\"Context\")+\".Provider\";case 18:return\"DehydratedFragment\";case 11:return a=b.render,a=a.displayName||a.name||\"\",b.displayName||(\"\"!==a?\"ForwardRef(\"+a+\")\":\"ForwardRef\");case 7:return\"Fragment\";case 5:return b;case 4:return\"Portal\";case 3:return\"Root\";case 6:return\"Text\";case 16:return Qa(b);case 8:return b===za?\"StrictMode\":\"Mode\";case 22:return\"Offscreen\";\ncase 12:return\"Profiler\";case 21:return\"Scope\";case 13:return\"Suspense\";case 19:return\"SuspenseList\";case 25:return\"TracingMarker\";case 1:case 0:case 17:case 2:case 14:case 15:if(\"function\"===typeof b)return b.displayName||b.name||null;if(\"string\"===typeof b)return b}return null}function Sa(a){switch(typeof a){case \"boolean\":case \"number\":case \"string\":case \"undefined\":return a;case \"object\":return a;default:return\"\"}}\nfunction Ta(a){var b=a.type;return(a=a.nodeName)&&\"input\"===a.toLowerCase()&&(\"checkbox\"===b||\"radio\"===b)}\nfunction Ua(a){var b=Ta(a)?\"checked\":\"value\",c=Object.getOwnPropertyDescriptor(a.constructor.prototype,b),d=\"\"+a[b];if(!a.hasOwnProperty(b)&&\"undefined\"!==typeof c&&\"function\"===typeof c.get&&\"function\"===typeof c.set){var e=c.get,f=c.set;Object.defineProperty(a,b,{configurable:!0,get:function(){return e.call(this)},set:function(a){d=\"\"+a;f.call(this,a)}});Object.defineProperty(a,b,{enumerable:c.enumerable});return{getValue:function(){return d},setValue:function(a){d=\"\"+a},stopTracking:function(){a._valueTracker=\nnull;delete a[b]}}}}function Va(a){a._valueTracker||(a._valueTracker=Ua(a))}function Wa(a){if(!a)return!1;var b=a._valueTracker;if(!b)return!0;var c=b.getValue();var d=\"\";a&&(d=Ta(a)?a.checked?\"true\":\"false\":a.value);a=d;return a!==c?(b.setValue(a),!0):!1}function Xa(a){a=a||(\"undefined\"!==typeof document?document:void 0);if(\"undefined\"===typeof a)return null;try{return a.activeElement||a.body}catch(b){return a.body}}\nfunction Ya(a,b){var c=b.checked;return A({},b,{defaultChecked:void 0,defaultValue:void 0,value:void 0,checked:null!=c?c:a._wrapperState.initialChecked})}function Za(a,b){var c=null==b.defaultValue?\"\":b.defaultValue,d=null!=b.checked?b.checked:b.defaultChecked;c=Sa(null!=b.value?b.value:c);a._wrapperState={initialChecked:d,initialValue:c,controlled:\"checkbox\"===b.type||\"radio\"===b.type?null!=b.checked:null!=b.value}}function ab(a,b){b=b.checked;null!=b&&ta(a,\"checked\",b,!1)}\nfunction bb(a,b){ab(a,b);var c=Sa(b.value),d=b.type;if(null!=c)if(\"number\"===d){if(0===c&&\"\"===a.value||a.value!=c)a.value=\"\"+c}else a.value!==\"\"+c&&(a.value=\"\"+c);else if(\"submit\"===d||\"reset\"===d){a.removeAttribute(\"value\");return}b.hasOwnProperty(\"value\")?cb(a,b.type,c):b.hasOwnProperty(\"defaultValue\")&&cb(a,b.type,Sa(b.defaultValue));null==b.checked&&null!=b.defaultChecked&&(a.defaultChecked=!!b.defaultChecked)}\nfunction db(a,b,c){if(b.hasOwnProperty(\"value\")||b.hasOwnProperty(\"defaultValue\")){var d=b.type;if(!(\"submit\"!==d&&\"reset\"!==d||void 0!==b.value&&null!==b.value))return;b=\"\"+a._wrapperState.initialValue;c||b===a.value||(a.value=b);a.defaultValue=b}c=a.name;\"\"!==c&&(a.name=\"\");a.defaultChecked=!!a._wrapperState.initialChecked;\"\"!==c&&(a.name=c)}\nfunction cb(a,b,c){if(\"number\"!==b||Xa(a.ownerDocument)!==a)null==c?a.defaultValue=\"\"+a._wrapperState.initialValue:a.defaultValue!==\"\"+c&&(a.defaultValue=\"\"+c)}var eb=Array.isArray;\nfunction fb(a,b,c,d){a=a.options;if(b){b={};for(var e=0;e<c.length;e++)b[\"$\"+c[e]]=!0;for(c=0;c<a.length;c++)e=b.hasOwnProperty(\"$\"+a[c].value),a[c].selected!==e&&(a[c].selected=e),e&&d&&(a[c].defaultSelected=!0)}else{c=\"\"+Sa(c);b=null;for(e=0;e<a.length;e++){if(a[e].value===c){a[e].selected=!0;d&&(a[e].defaultSelected=!0);return}null!==b||a[e].disabled||(b=a[e])}null!==b&&(b.selected=!0)}}\nfunction gb(a,b){if(null!=b.dangerouslySetInnerHTML)throw Error(p(91));return A({},b,{value:void 0,defaultValue:void 0,children:\"\"+a._wrapperState.initialValue})}function hb(a,b){var c=b.value;if(null==c){c=b.children;b=b.defaultValue;if(null!=c){if(null!=b)throw Error(p(92));if(eb(c)){if(1<c.length)throw Error(p(93));c=c[0]}b=c}null==b&&(b=\"\");c=b}a._wrapperState={initialValue:Sa(c)}}\nfunction ib(a,b){var c=Sa(b.value),d=Sa(b.defaultValue);null!=c&&(c=\"\"+c,c!==a.value&&(a.value=c),null==b.defaultValue&&a.defaultValue!==c&&(a.defaultValue=c));null!=d&&(a.defaultValue=\"\"+d)}function jb(a){var b=a.textContent;b===a._wrapperState.initialValue&&\"\"!==b&&null!==b&&(a.value=b)}function kb(a){switch(a){case \"svg\":return\"http://www.w3.org/2000/svg\";case \"math\":return\"http://www.w3.org/1998/Math/MathML\";default:return\"http://www.w3.org/1999/xhtml\"}}\nfunction lb(a,b){return null==a||\"http://www.w3.org/1999/xhtml\"===a?kb(b):\"http://www.w3.org/2000/svg\"===a&&\"foreignObject\"===b?\"http://www.w3.org/1999/xhtml\":a}\nvar mb,nb=function(a){return\"undefined\"!==typeof MSApp&&MSApp.execUnsafeLocalFunction?function(b,c,d,e){MSApp.execUnsafeLocalFunction(function(){return a(b,c,d,e)})}:a}(function(a,b){if(\"http://www.w3.org/2000/svg\"!==a.namespaceURI||\"innerHTML\"in a)a.innerHTML=b;else{mb=mb||document.createElement(\"div\");mb.innerHTML=\"<svg>\"+b.valueOf().toString()+\"</svg>\";for(b=mb.firstChild;a.firstChild;)a.removeChild(a.firstChild);for(;b.firstChild;)a.appendChild(b.firstChild)}});\nfunction ob(a,b){if(b){var c=a.firstChild;if(c&&c===a.lastChild&&3===c.nodeType){c.nodeValue=b;return}}a.textContent=b}\nvar pb={animationIterationCount:!0,aspectRatio:!0,borderImageOutset:!0,borderImageSlice:!0,borderImageWidth:!0,boxFlex:!0,boxFlexGroup:!0,boxOrdinalGroup:!0,columnCount:!0,columns:!0,flex:!0,flexGrow:!0,flexPositive:!0,flexShrink:!0,flexNegative:!0,flexOrder:!0,gridArea:!0,gridRow:!0,gridRowEnd:!0,gridRowSpan:!0,gridRowStart:!0,gridColumn:!0,gridColumnEnd:!0,gridColumnSpan:!0,gridColumnStart:!0,fontWeight:!0,lineClamp:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,tabSize:!0,widows:!0,zIndex:!0,\nzoom:!0,fillOpacity:!0,floodOpacity:!0,stopOpacity:!0,strokeDasharray:!0,strokeDashoffset:!0,strokeMiterlimit:!0,strokeOpacity:!0,strokeWidth:!0},qb=[\"Webkit\",\"ms\",\"Moz\",\"O\"];Object.keys(pb).forEach(function(a){qb.forEach(function(b){b=b+a.charAt(0).toUpperCase()+a.substring(1);pb[b]=pb[a]})});function rb(a,b,c){return null==b||\"boolean\"===typeof b||\"\"===b?\"\":c||\"number\"!==typeof b||0===b||pb.hasOwnProperty(a)&&pb[a]?(\"\"+b).trim():b+\"px\"}\nfunction sb(a,b){a=a.style;for(var c in b)if(b.hasOwnProperty(c)){var d=0===c.indexOf(\"--\"),e=rb(c,b[c],d);\"float\"===c&&(c=\"cssFloat\");d?a.setProperty(c,e):a[c]=e}}var tb=A({menuitem:!0},{area:!0,base:!0,br:!0,col:!0,embed:!0,hr:!0,img:!0,input:!0,keygen:!0,link:!0,meta:!0,param:!0,source:!0,track:!0,wbr:!0});\nfunction ub(a,b){if(b){if(tb[a]&&(null!=b.children||null!=b.dangerouslySetInnerHTML))throw Error(p(137,a));if(null!=b.dangerouslySetInnerHTML){if(null!=b.children)throw Error(p(60));if(\"object\"!==typeof b.dangerouslySetInnerHTML||!(\"__html\"in b.dangerouslySetInnerHTML))throw Error(p(61));}if(null!=b.style&&\"object\"!==typeof b.style)throw Error(p(62));}}\nfunction vb(a,b){if(-1===a.indexOf(\"-\"))return\"string\"===typeof b.is;switch(a){case \"annotation-xml\":case \"color-profile\":case \"font-face\":case \"font-face-src\":case \"font-face-uri\":case \"font-face-format\":case \"font-face-name\":case \"missing-glyph\":return!1;default:return!0}}var wb=null;function xb(a){a=a.target||a.srcElement||window;a.correspondingUseElement&&(a=a.correspondingUseElement);return 3===a.nodeType?a.parentNode:a}var yb=null,zb=null,Ab=null;\nfunction Bb(a){if(a=Cb(a)){if(\"function\"!==typeof yb)throw Error(p(280));var b=a.stateNode;b&&(b=Db(b),yb(a.stateNode,a.type,b))}}function Eb(a){zb?Ab?Ab.push(a):Ab=[a]:zb=a}function Fb(){if(zb){var a=zb,b=Ab;Ab=zb=null;Bb(a);if(b)for(a=0;a<b.length;a++)Bb(b[a])}}function Gb(a,b){return a(b)}function Hb(){}var Ib=!1;function Jb(a,b,c){if(Ib)return a(b,c);Ib=!0;try{return Gb(a,b,c)}finally{if(Ib=!1,null!==zb||null!==Ab)Hb(),Fb()}}\nfunction Kb(a,b){var c=a.stateNode;if(null===c)return null;var d=Db(c);if(null===d)return null;c=d[b];a:switch(b){case \"onClick\":case \"onClickCapture\":case \"onDoubleClick\":case \"onDoubleClickCapture\":case \"onMouseDown\":case \"onMouseDownCapture\":case \"onMouseMove\":case \"onMouseMoveCapture\":case \"onMouseUp\":case \"onMouseUpCapture\":case \"onMouseEnter\":(d=!d.disabled)||(a=a.type,d=!(\"button\"===a||\"input\"===a||\"select\"===a||\"textarea\"===a));a=!d;break a;default:a=!1}if(a)return null;if(c&&\"function\"!==\ntypeof c)throw Error(p(231,b,typeof c));return c}var Lb=!1;if(ia)try{var Mb={};Object.defineProperty(Mb,\"passive\",{get:function(){Lb=!0}});window.addEventListener(\"test\",Mb,Mb);window.removeEventListener(\"test\",Mb,Mb)}catch(a){Lb=!1}function Nb(a,b,c,d,e,f,g,h,k){var l=Array.prototype.slice.call(arguments,3);try{b.apply(c,l)}catch(m){this.onError(m)}}var Ob=!1,Pb=null,Qb=!1,Rb=null,Sb={onError:function(a){Ob=!0;Pb=a}};function Tb(a,b,c,d,e,f,g,h,k){Ob=!1;Pb=null;Nb.apply(Sb,arguments)}\nfunction Ub(a,b,c,d,e,f,g,h,k){Tb.apply(this,arguments);if(Ob){if(Ob){var l=Pb;Ob=!1;Pb=null}else throw Error(p(198));Qb||(Qb=!0,Rb=l)}}function Vb(a){var b=a,c=a;if(a.alternate)for(;b.return;)b=b.return;else{a=b;do b=a,0!==(b.flags&4098)&&(c=b.return),a=b.return;while(a)}return 3===b.tag?c:null}function Wb(a){if(13===a.tag){var b=a.memoizedState;null===b&&(a=a.alternate,null!==a&&(b=a.memoizedState));if(null!==b)return b.dehydrated}return null}function Xb(a){if(Vb(a)!==a)throw Error(p(188));}\nfunction Yb(a){var b=a.alternate;if(!b){b=Vb(a);if(null===b)throw Error(p(188));return b!==a?null:a}for(var c=a,d=b;;){var e=c.return;if(null===e)break;var f=e.alternate;if(null===f){d=e.return;if(null!==d){c=d;continue}break}if(e.child===f.child){for(f=e.child;f;){if(f===c)return Xb(e),a;if(f===d)return Xb(e),b;f=f.sibling}throw Error(p(188));}if(c.return!==d.return)c=e,d=f;else{for(var g=!1,h=e.child;h;){if(h===c){g=!0;c=e;d=f;break}if(h===d){g=!0;d=e;c=f;break}h=h.sibling}if(!g){for(h=f.child;h;){if(h===\nc){g=!0;c=f;d=e;break}if(h===d){g=!0;d=f;c=e;break}h=h.sibling}if(!g)throw Error(p(189));}}if(c.alternate!==d)throw Error(p(190));}if(3!==c.tag)throw Error(p(188));return c.stateNode.current===c?a:b}function Zb(a){a=Yb(a);return null!==a?$b(a):null}function $b(a){if(5===a.tag||6===a.tag)return a;for(a=a.child;null!==a;){var b=$b(a);if(null!==b)return b;a=a.sibling}return null}\nvar ac=ca.unstable_scheduleCallback,bc=ca.unstable_cancelCallback,cc=ca.unstable_shouldYield,dc=ca.unstable_requestPaint,B=ca.unstable_now,ec=ca.unstable_getCurrentPriorityLevel,fc=ca.unstable_ImmediatePriority,gc=ca.unstable_UserBlockingPriority,hc=ca.unstable_NormalPriority,ic=ca.unstable_LowPriority,jc=ca.unstable_IdlePriority,kc=null,lc=null;function mc(a){if(lc&&\"function\"===typeof lc.onCommitFiberRoot)try{lc.onCommitFiberRoot(kc,a,void 0,128===(a.current.flags&128))}catch(b){}}\nvar oc=Math.clz32?Math.clz32:nc,pc=Math.log,qc=Math.LN2;function nc(a){a>>>=0;return 0===a?32:31-(pc(a)/qc|0)|0}var rc=64,sc=4194304;\nfunction tc(a){switch(a&-a){case 1:return 1;case 2:return 2;case 4:return 4;case 8:return 8;case 16:return 16;case 32:return 32;case 64:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return a&4194240;case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:return a&130023424;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 1073741824;\ndefault:return a}}function uc(a,b){var c=a.pendingLanes;if(0===c)return 0;var d=0,e=a.suspendedLanes,f=a.pingedLanes,g=c&268435455;if(0!==g){var h=g&~e;0!==h?d=tc(h):(f&=g,0!==f&&(d=tc(f)))}else g=c&~e,0!==g?d=tc(g):0!==f&&(d=tc(f));if(0===d)return 0;if(0!==b&&b!==d&&0===(b&e)&&(e=d&-d,f=b&-b,e>=f||16===e&&0!==(f&4194240)))return b;0!==(d&4)&&(d|=c&16);b=a.entangledLanes;if(0!==b)for(a=a.entanglements,b&=d;0<b;)c=31-oc(b),e=1<<c,d|=a[c],b&=~e;return d}\nfunction vc(a,b){switch(a){case 1:case 2:case 4:return b+250;case 8:case 16:case 32:case 64:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return b+5E3;case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:return-1;case 134217728:case 268435456:case 536870912:case 1073741824:return-1;default:return-1}}\nfunction wc(a,b){for(var c=a.suspendedLanes,d=a.pingedLanes,e=a.expirationTimes,f=a.pendingLanes;0<f;){var g=31-oc(f),h=1<<g,k=e[g];if(-1===k){if(0===(h&c)||0!==(h&d))e[g]=vc(h,b)}else k<=b&&(a.expiredLanes|=h);f&=~h}}function xc(a){a=a.pendingLanes&-1073741825;return 0!==a?a:a&1073741824?1073741824:0}function yc(){var a=rc;rc<<=1;0===(rc&4194240)&&(rc=64);return a}function zc(a){for(var b=[],c=0;31>c;c++)b.push(a);return b}\nfunction Ac(a,b,c){a.pendingLanes|=b;536870912!==b&&(a.suspendedLanes=0,a.pingedLanes=0);a=a.eventTimes;b=31-oc(b);a[b]=c}function Bc(a,b){var c=a.pendingLanes&~b;a.pendingLanes=b;a.suspendedLanes=0;a.pingedLanes=0;a.expiredLanes&=b;a.mutableReadLanes&=b;a.entangledLanes&=b;b=a.entanglements;var d=a.eventTimes;for(a=a.expirationTimes;0<c;){var e=31-oc(c),f=1<<e;b[e]=0;d[e]=-1;a[e]=-1;c&=~f}}\nfunction Cc(a,b){var c=a.entangledLanes|=b;for(a=a.entanglements;c;){var d=31-oc(c),e=1<<d;e&b|a[d]&b&&(a[d]|=b);c&=~e}}var C=0;function Dc(a){a&=-a;return 1<a?4<a?0!==(a&268435455)?16:536870912:4:1}var Ec,Fc,Gc,Hc,Ic,Jc=!1,Kc=[],Lc=null,Mc=null,Nc=null,Oc=new Map,Pc=new Map,Qc=[],Rc=\"mousedown mouseup touchcancel touchend touchstart auxclick dblclick pointercancel pointerdown pointerup dragend dragstart drop compositionend compositionstart keydown keypress keyup input textInput copy cut paste click change contextmenu reset submit\".split(\" \");\nfunction Sc(a,b){switch(a){case \"focusin\":case \"focusout\":Lc=null;break;case \"dragenter\":case \"dragleave\":Mc=null;break;case \"mouseover\":case \"mouseout\":Nc=null;break;case \"pointerover\":case \"pointerout\":Oc.delete(b.pointerId);break;case \"gotpointercapture\":case \"lostpointercapture\":Pc.delete(b.pointerId)}}\nfunction Tc(a,b,c,d,e,f){if(null===a||a.nativeEvent!==f)return a={blockedOn:b,domEventName:c,eventSystemFlags:d,nativeEvent:f,targetContainers:[e]},null!==b&&(b=Cb(b),null!==b&&Fc(b)),a;a.eventSystemFlags|=d;b=a.targetContainers;null!==e&&-1===b.indexOf(e)&&b.push(e);return a}\nfunction Uc(a,b,c,d,e){switch(b){case \"focusin\":return Lc=Tc(Lc,a,b,c,d,e),!0;case \"dragenter\":return Mc=Tc(Mc,a,b,c,d,e),!0;case \"mouseover\":return Nc=Tc(Nc,a,b,c,d,e),!0;case \"pointerover\":var f=e.pointerId;Oc.set(f,Tc(Oc.get(f)||null,a,b,c,d,e));return!0;case \"gotpointercapture\":return f=e.pointerId,Pc.set(f,Tc(Pc.get(f)||null,a,b,c,d,e)),!0}return!1}\nfunction Vc(a){var b=Wc(a.target);if(null!==b){var c=Vb(b);if(null!==c)if(b=c.tag,13===b){if(b=Wb(c),null!==b){a.blockedOn=b;Ic(a.priority,function(){Gc(c)});return}}else if(3===b&&c.stateNode.current.memoizedState.isDehydrated){a.blockedOn=3===c.tag?c.stateNode.containerInfo:null;return}}a.blockedOn=null}\nfunction Xc(a){if(null!==a.blockedOn)return!1;for(var b=a.targetContainers;0<b.length;){var c=Yc(a.domEventName,a.eventSystemFlags,b[0],a.nativeEvent);if(null===c){c=a.nativeEvent;var d=new c.constructor(c.type,c);wb=d;c.target.dispatchEvent(d);wb=null}else return b=Cb(c),null!==b&&Fc(b),a.blockedOn=c,!1;b.shift()}return!0}function Zc(a,b,c){Xc(a)&&c.delete(b)}function $c(){Jc=!1;null!==Lc&&Xc(Lc)&&(Lc=null);null!==Mc&&Xc(Mc)&&(Mc=null);null!==Nc&&Xc(Nc)&&(Nc=null);Oc.forEach(Zc);Pc.forEach(Zc)}\nfunction ad(a,b){a.blockedOn===b&&(a.blockedOn=null,Jc||(Jc=!0,ca.unstable_scheduleCallback(ca.unstable_NormalPriority,$c)))}\nfunction bd(a){function b(b){return ad(b,a)}if(0<Kc.length){ad(Kc[0],a);for(var c=1;c<Kc.length;c++){var d=Kc[c];d.blockedOn===a&&(d.blockedOn=null)}}null!==Lc&&ad(Lc,a);null!==Mc&&ad(Mc,a);null!==Nc&&ad(Nc,a);Oc.forEach(b);Pc.forEach(b);for(c=0;c<Qc.length;c++)d=Qc[c],d.blockedOn===a&&(d.blockedOn=null);for(;0<Qc.length&&(c=Qc[0],null===c.blockedOn);)Vc(c),null===c.blockedOn&&Qc.shift()}var cd=ua.ReactCurrentBatchConfig,dd=!0;\nfunction ed(a,b,c,d){var e=C,f=cd.transition;cd.transition=null;try{C=1,fd(a,b,c,d)}finally{C=e,cd.transition=f}}function gd(a,b,c,d){var e=C,f=cd.transition;cd.transition=null;try{C=4,fd(a,b,c,d)}finally{C=e,cd.transition=f}}\nfunction fd(a,b,c,d){if(dd){var e=Yc(a,b,c,d);if(null===e)hd(a,b,d,id,c),Sc(a,d);else if(Uc(e,a,b,c,d))d.stopPropagation();else if(Sc(a,d),b&4&&-1<Rc.indexOf(a)){for(;null!==e;){var f=Cb(e);null!==f&&Ec(f);f=Yc(a,b,c,d);null===f&&hd(a,b,d,id,c);if(f===e)break;e=f}null!==e&&d.stopPropagation()}else hd(a,b,d,null,c)}}var id=null;\nfunction Yc(a,b,c,d){id=null;a=xb(d);a=Wc(a);if(null!==a)if(b=Vb(a),null===b)a=null;else if(c=b.tag,13===c){a=Wb(b);if(null!==a)return a;a=null}else if(3===c){if(b.stateNode.current.memoizedState.isDehydrated)return 3===b.tag?b.stateNode.containerInfo:null;a=null}else b!==a&&(a=null);id=a;return null}\nfunction jd(a){switch(a){case \"cancel\":case \"click\":case \"close\":case \"contextmenu\":case \"copy\":case \"cut\":case \"auxclick\":case \"dblclick\":case \"dragend\":case \"dragstart\":case \"drop\":case \"focusin\":case \"focusout\":case \"input\":case \"invalid\":case \"keydown\":case \"keypress\":case \"keyup\":case \"mousedown\":case \"mouseup\":case \"paste\":case \"pause\":case \"play\":case \"pointercancel\":case \"pointerdown\":case \"pointerup\":case \"ratechange\":case \"reset\":case \"resize\":case \"seeked\":case \"submit\":case \"touchcancel\":case \"touchend\":case \"touchstart\":case \"volumechange\":case \"change\":case \"selectionchange\":case \"textInput\":case \"compositionstart\":case \"compositionend\":case \"compositionupdate\":case \"beforeblur\":case \"afterblur\":case \"beforeinput\":case \"blur\":case \"fullscreenchange\":case \"focus\":case \"hashchange\":case \"popstate\":case \"select\":case \"selectstart\":return 1;case \"drag\":case \"dragenter\":case \"dragexit\":case \"dragleave\":case \"dragover\":case \"mousemove\":case \"mouseout\":case \"mouseover\":case \"pointermove\":case \"pointerout\":case \"pointerover\":case \"scroll\":case \"toggle\":case \"touchmove\":case \"wheel\":case \"mouseenter\":case \"mouseleave\":case \"pointerenter\":case \"pointerleave\":return 4;\ncase \"message\":switch(ec()){case fc:return 1;case gc:return 4;case hc:case ic:return 16;case jc:return 536870912;default:return 16}default:return 16}}var kd=null,ld=null,md=null;function nd(){if(md)return md;var a,b=ld,c=b.length,d,e=\"value\"in kd?kd.value:kd.textContent,f=e.length;for(a=0;a<c&&b[a]===e[a];a++);var g=c-a;for(d=1;d<=g&&b[c-d]===e[f-d];d++);return md=e.slice(a,1<d?1-d:void 0)}\nfunction od(a){var b=a.keyCode;\"charCode\"in a?(a=a.charCode,0===a&&13===b&&(a=13)):a=b;10===a&&(a=13);return 32<=a||13===a?a:0}function pd(){return!0}function qd(){return!1}\nfunction rd(a){function b(b,d,e,f,g){this._reactName=b;this._targetInst=e;this.type=d;this.nativeEvent=f;this.target=g;this.currentTarget=null;for(var c in a)a.hasOwnProperty(c)&&(b=a[c],this[c]=b?b(f):f[c]);this.isDefaultPrevented=(null!=f.defaultPrevented?f.defaultPrevented:!1===f.returnValue)?pd:qd;this.isPropagationStopped=qd;return this}A(b.prototype,{preventDefault:function(){this.defaultPrevented=!0;var a=this.nativeEvent;a&&(a.preventDefault?a.preventDefault():\"unknown\"!==typeof a.returnValue&&\n(a.returnValue=!1),this.isDefaultPrevented=pd)},stopPropagation:function(){var a=this.nativeEvent;a&&(a.stopPropagation?a.stopPropagation():\"unknown\"!==typeof a.cancelBubble&&(a.cancelBubble=!0),this.isPropagationStopped=pd)},persist:function(){},isPersistent:pd});return b}\nvar sd={eventPhase:0,bubbles:0,cancelable:0,timeStamp:function(a){return a.timeStamp||Date.now()},defaultPrevented:0,isTrusted:0},td=rd(sd),ud=A({},sd,{view:0,detail:0}),vd=rd(ud),wd,xd,yd,Ad=A({},ud,{screenX:0,screenY:0,clientX:0,clientY:0,pageX:0,pageY:0,ctrlKey:0,shiftKey:0,altKey:0,metaKey:0,getModifierState:zd,button:0,buttons:0,relatedTarget:function(a){return void 0===a.relatedTarget?a.fromElement===a.srcElement?a.toElement:a.fromElement:a.relatedTarget},movementX:function(a){if(\"movementX\"in\na)return a.movementX;a!==yd&&(yd&&\"mousemove\"===a.type?(wd=a.screenX-yd.screenX,xd=a.screenY-yd.screenY):xd=wd=0,yd=a);return wd},movementY:function(a){return\"movementY\"in a?a.movementY:xd}}),Bd=rd(Ad),Cd=A({},Ad,{dataTransfer:0}),Dd=rd(Cd),Ed=A({},ud,{relatedTarget:0}),Fd=rd(Ed),Gd=A({},sd,{animationName:0,elapsedTime:0,pseudoElement:0}),Hd=rd(Gd),Id=A({},sd,{clipboardData:function(a){return\"clipboardData\"in a?a.clipboardData:window.clipboardData}}),Jd=rd(Id),Kd=A({},sd,{data:0}),Ld=rd(Kd),Md={Esc:\"Escape\",\nSpacebar:\" \",Left:\"ArrowLeft\",Up:\"ArrowUp\",Right:\"ArrowRight\",Down:\"ArrowDown\",Del:\"Delete\",Win:\"OS\",Menu:\"ContextMenu\",Apps:\"ContextMenu\",Scroll:\"ScrollLock\",MozPrintableKey:\"Unidentified\"},Nd={8:\"Backspace\",9:\"Tab\",12:\"Clear\",13:\"Enter\",16:\"Shift\",17:\"Control\",18:\"Alt\",19:\"Pause\",20:\"CapsLock\",27:\"Escape\",32:\" \",33:\"PageUp\",34:\"PageDown\",35:\"End\",36:\"Home\",37:\"ArrowLeft\",38:\"ArrowUp\",39:\"ArrowRight\",40:\"ArrowDown\",45:\"Insert\",46:\"Delete\",112:\"F1\",113:\"F2\",114:\"F3\",115:\"F4\",116:\"F5\",117:\"F6\",118:\"F7\",\n119:\"F8\",120:\"F9\",121:\"F10\",122:\"F11\",123:\"F12\",144:\"NumLock\",145:\"ScrollLock\",224:\"Meta\"},Od={Alt:\"altKey\",Control:\"ctrlKey\",Meta:\"metaKey\",Shift:\"shiftKey\"};function Pd(a){var b=this.nativeEvent;return b.getModifierState?b.getModifierState(a):(a=Od[a])?!!b[a]:!1}function zd(){return Pd}\nvar Qd=A({},ud,{key:function(a){if(a.key){var b=Md[a.key]||a.key;if(\"Unidentified\"!==b)return b}return\"keypress\"===a.type?(a=od(a),13===a?\"Enter\":String.fromCharCode(a)):\"keydown\"===a.type||\"keyup\"===a.type?Nd[a.keyCode]||\"Unidentified\":\"\"},code:0,location:0,ctrlKey:0,shiftKey:0,altKey:0,metaKey:0,repeat:0,locale:0,getModifierState:zd,charCode:function(a){return\"keypress\"===a.type?od(a):0},keyCode:function(a){return\"keydown\"===a.type||\"keyup\"===a.type?a.keyCode:0},which:function(a){return\"keypress\"===\na.type?od(a):\"keydown\"===a.type||\"keyup\"===a.type?a.keyCode:0}}),Rd=rd(Qd),Sd=A({},Ad,{pointerId:0,width:0,height:0,pressure:0,tangentialPressure:0,tiltX:0,tiltY:0,twist:0,pointerType:0,isPrimary:0}),Td=rd(Sd),Ud=A({},ud,{touches:0,targetTouches:0,changedTouches:0,altKey:0,metaKey:0,ctrlKey:0,shiftKey:0,getModifierState:zd}),Vd=rd(Ud),Wd=A({},sd,{propertyName:0,elapsedTime:0,pseudoElement:0}),Xd=rd(Wd),Yd=A({},Ad,{deltaX:function(a){return\"deltaX\"in a?a.deltaX:\"wheelDeltaX\"in a?-a.wheelDeltaX:0},\ndeltaY:function(a){return\"deltaY\"in a?a.deltaY:\"wheelDeltaY\"in a?-a.wheelDeltaY:\"wheelDelta\"in a?-a.wheelDelta:0},deltaZ:0,deltaMode:0}),Zd=rd(Yd),$d=[9,13,27,32],ae=ia&&\"CompositionEvent\"in window,be=null;ia&&\"documentMode\"in document&&(be=document.documentMode);var ce=ia&&\"TextEvent\"in window&&!be,de=ia&&(!ae||be&&8<be&&11>=be),ee=String.fromCharCode(32),fe=!1;\nfunction ge(a,b){switch(a){case \"keyup\":return-1!==$d.indexOf(b.keyCode);case \"keydown\":return 229!==b.keyCode;case \"keypress\":case \"mousedown\":case \"focusout\":return!0;default:return!1}}function he(a){a=a.detail;return\"object\"===typeof a&&\"data\"in a?a.data:null}var ie=!1;function je(a,b){switch(a){case \"compositionend\":return he(b);case \"keypress\":if(32!==b.which)return null;fe=!0;return ee;case \"textInput\":return a=b.data,a===ee&&fe?null:a;default:return null}}\nfunction ke(a,b){if(ie)return\"compositionend\"===a||!ae&&ge(a,b)?(a=nd(),md=ld=kd=null,ie=!1,a):null;switch(a){case \"paste\":return null;case \"keypress\":if(!(b.ctrlKey||b.altKey||b.metaKey)||b.ctrlKey&&b.altKey){if(b.char&&1<b.char.length)return b.char;if(b.which)return String.fromCharCode(b.which)}return null;case \"compositionend\":return de&&\"ko\"!==b.locale?null:b.data;default:return null}}\nvar le={color:!0,date:!0,datetime:!0,\"datetime-local\":!0,email:!0,month:!0,number:!0,password:!0,range:!0,search:!0,tel:!0,text:!0,time:!0,url:!0,week:!0};function me(a){var b=a&&a.nodeName&&a.nodeName.toLowerCase();return\"input\"===b?!!le[a.type]:\"textarea\"===b?!0:!1}function ne(a,b,c,d){Eb(d);b=oe(b,\"onChange\");0<b.length&&(c=new td(\"onChange\",\"change\",null,c,d),a.push({event:c,listeners:b}))}var pe=null,qe=null;function re(a){se(a,0)}function te(a){var b=ue(a);if(Wa(b))return a}\nfunction ve(a,b){if(\"change\"===a)return b}var we=!1;if(ia){var xe;if(ia){var ye=\"oninput\"in document;if(!ye){var ze=document.createElement(\"div\");ze.setAttribute(\"oninput\",\"return;\");ye=\"function\"===typeof ze.oninput}xe=ye}else xe=!1;we=xe&&(!document.documentMode||9<document.documentMode)}function Ae(){pe&&(pe.detachEvent(\"onpropertychange\",Be),qe=pe=null)}function Be(a){if(\"value\"===a.propertyName&&te(qe)){var b=[];ne(b,qe,a,xb(a));Jb(re,b)}}\nfunction Ce(a,b,c){\"focusin\"===a?(Ae(),pe=b,qe=c,pe.attachEvent(\"onpropertychange\",Be)):\"focusout\"===a&&Ae()}function De(a){if(\"selectionchange\"===a||\"keyup\"===a||\"keydown\"===a)return te(qe)}function Ee(a,b){if(\"click\"===a)return te(b)}function Fe(a,b){if(\"input\"===a||\"change\"===a)return te(b)}function Ge(a,b){return a===b&&(0!==a||1/a===1/b)||a!==a&&b!==b}var He=\"function\"===typeof Object.is?Object.is:Ge;\nfunction Ie(a,b){if(He(a,b))return!0;if(\"object\"!==typeof a||null===a||\"object\"!==typeof b||null===b)return!1;var c=Object.keys(a),d=Object.keys(b);if(c.length!==d.length)return!1;for(d=0;d<c.length;d++){var e=c[d];if(!ja.call(b,e)||!He(a[e],b[e]))return!1}return!0}function Je(a){for(;a&&a.firstChild;)a=a.firstChild;return a}\nfunction Ke(a,b){var c=Je(a);a=0;for(var d;c;){if(3===c.nodeType){d=a+c.textContent.length;if(a<=b&&d>=b)return{node:c,offset:b-a};a=d}a:{for(;c;){if(c.nextSibling){c=c.nextSibling;break a}c=c.parentNode}c=void 0}c=Je(c)}}function Le(a,b){return a&&b?a===b?!0:a&&3===a.nodeType?!1:b&&3===b.nodeType?Le(a,b.parentNode):\"contains\"in a?a.contains(b):a.compareDocumentPosition?!!(a.compareDocumentPosition(b)&16):!1:!1}\nfunction Me(){for(var a=window,b=Xa();b instanceof a.HTMLIFrameElement;){try{var c=\"string\"===typeof b.contentWindow.location.href}catch(d){c=!1}if(c)a=b.contentWindow;else break;b=Xa(a.document)}return b}function Ne(a){var b=a&&a.nodeName&&a.nodeName.toLowerCase();return b&&(\"input\"===b&&(\"text\"===a.type||\"search\"===a.type||\"tel\"===a.type||\"url\"===a.type||\"password\"===a.type)||\"textarea\"===b||\"true\"===a.contentEditable)}\nfunction Oe(a){var b=Me(),c=a.focusedElem,d=a.selectionRange;if(b!==c&&c&&c.ownerDocument&&Le(c.ownerDocument.documentElement,c)){if(null!==d&&Ne(c))if(b=d.start,a=d.end,void 0===a&&(a=b),\"selectionStart\"in c)c.selectionStart=b,c.selectionEnd=Math.min(a,c.value.length);else if(a=(b=c.ownerDocument||document)&&b.defaultView||window,a.getSelection){a=a.getSelection();var e=c.textContent.length,f=Math.min(d.start,e);d=void 0===d.end?f:Math.min(d.end,e);!a.extend&&f>d&&(e=d,d=f,f=e);e=Ke(c,f);var g=Ke(c,\nd);e&&g&&(1!==a.rangeCount||a.anchorNode!==e.node||a.anchorOffset!==e.offset||a.focusNode!==g.node||a.focusOffset!==g.offset)&&(b=b.createRange(),b.setStart(e.node,e.offset),a.removeAllRanges(),f>d?(a.addRange(b),a.extend(g.node,g.offset)):(b.setEnd(g.node,g.offset),a.addRange(b)))}b=[];for(a=c;a=a.parentNode;)1===a.nodeType&&b.push({element:a,left:a.scrollLeft,top:a.scrollTop});\"function\"===typeof c.focus&&c.focus();for(c=0;c<b.length;c++)a=b[c],a.element.scrollLeft=a.left,a.element.scrollTop=a.top}}\nvar Pe=ia&&\"documentMode\"in document&&11>=document.documentMode,Qe=null,Re=null,Se=null,Te=!1;\nfunction Ue(a,b,c){var d=c.window===c?c.document:9===c.nodeType?c:c.ownerDocument;Te||null==Qe||Qe!==Xa(d)||(d=Qe,\"selectionStart\"in d&&Ne(d)?d={start:d.selectionStart,end:d.selectionEnd}:(d=(d.ownerDocument&&d.ownerDocument.defaultView||window).getSelection(),d={anchorNode:d.anchorNode,anchorOffset:d.anchorOffset,focusNode:d.focusNode,focusOffset:d.focusOffset}),Se&&Ie(Se,d)||(Se=d,d=oe(Re,\"onSelect\"),0<d.length&&(b=new td(\"onSelect\",\"select\",null,b,c),a.push({event:b,listeners:d}),b.target=Qe)))}\nfunction Ve(a,b){var c={};c[a.toLowerCase()]=b.toLowerCase();c[\"Webkit\"+a]=\"webkit\"+b;c[\"Moz\"+a]=\"moz\"+b;return c}var We={animationend:Ve(\"Animation\",\"AnimationEnd\"),animationiteration:Ve(\"Animation\",\"AnimationIteration\"),animationstart:Ve(\"Animation\",\"AnimationStart\"),transitionend:Ve(\"Transition\",\"TransitionEnd\")},Xe={},Ye={};\nia&&(Ye=document.createElement(\"div\").style,\"AnimationEvent\"in window||(delete We.animationend.animation,delete We.animationiteration.animation,delete We.animationstart.animation),\"TransitionEvent\"in window||delete We.transitionend.transition);function Ze(a){if(Xe[a])return Xe[a];if(!We[a])return a;var b=We[a],c;for(c in b)if(b.hasOwnProperty(c)&&c in Ye)return Xe[a]=b[c];return a}var $e=Ze(\"animationend\"),af=Ze(\"animationiteration\"),bf=Ze(\"animationstart\"),cf=Ze(\"transitionend\"),df=new Map,ef=\"abort auxClick cancel canPlay canPlayThrough click close contextMenu copy cut drag dragEnd dragEnter dragExit dragLeave dragOver dragStart drop durationChange emptied encrypted ended error gotPointerCapture input invalid keyDown keyPress keyUp load loadedData loadedMetadata loadStart lostPointerCapture mouseDown mouseMove mouseOut mouseOver mouseUp paste pause play playing pointerCancel pointerDown pointerMove pointerOut pointerOver pointerUp progress rateChange reset resize seeked seeking stalled submit suspend timeUpdate touchCancel touchEnd touchStart volumeChange scroll toggle touchMove waiting wheel\".split(\" \");\nfunction ff(a,b){df.set(a,b);fa(b,[a])}for(var gf=0;gf<ef.length;gf++){var hf=ef[gf],jf=hf.toLowerCase(),kf=hf[0].toUpperCase()+hf.slice(1);ff(jf,\"on\"+kf)}ff($e,\"onAnimationEnd\");ff(af,\"onAnimationIteration\");ff(bf,\"onAnimationStart\");ff(\"dblclick\",\"onDoubleClick\");ff(\"focusin\",\"onFocus\");ff(\"focusout\",\"onBlur\");ff(cf,\"onTransitionEnd\");ha(\"onMouseEnter\",[\"mouseout\",\"mouseover\"]);ha(\"onMouseLeave\",[\"mouseout\",\"mouseover\"]);ha(\"onPointerEnter\",[\"pointerout\",\"pointerover\"]);\nha(\"onPointerLeave\",[\"pointerout\",\"pointerover\"]);fa(\"onChange\",\"change click focusin focusout input keydown keyup selectionchange\".split(\" \"));fa(\"onSelect\",\"focusout contextmenu dragend focusin keydown keyup mousedown mouseup selectionchange\".split(\" \"));fa(\"onBeforeInput\",[\"compositionend\",\"keypress\",\"textInput\",\"paste\"]);fa(\"onCompositionEnd\",\"compositionend focusout keydown keypress keyup mousedown\".split(\" \"));fa(\"onCompositionStart\",\"compositionstart focusout keydown keypress keyup mousedown\".split(\" \"));\nfa(\"onCompositionUpdate\",\"compositionupdate focusout keydown keypress keyup mousedown\".split(\" \"));var lf=\"abort canplay canplaythrough durationchange emptied encrypted ended error loadeddata loadedmetadata loadstart pause play playing progress ratechange resize seeked seeking stalled suspend timeupdate volumechange waiting\".split(\" \"),mf=new Set(\"cancel close invalid load scroll toggle\".split(\" \").concat(lf));\nfunction nf(a,b,c){var d=a.type||\"unknown-event\";a.currentTarget=c;Ub(d,b,void 0,a);a.currentTarget=null}\nfunction se(a,b){b=0!==(b&4);for(var c=0;c<a.length;c++){var d=a[c],e=d.event;d=d.listeners;a:{var f=void 0;if(b)for(var g=d.length-1;0<=g;g--){var h=d[g],k=h.instance,l=h.currentTarget;h=h.listener;if(k!==f&&e.isPropagationStopped())break a;nf(e,h,l);f=k}else for(g=0;g<d.length;g++){h=d[g];k=h.instance;l=h.currentTarget;h=h.listener;if(k!==f&&e.isPropagationStopped())break a;nf(e,h,l);f=k}}}if(Qb)throw a=Rb,Qb=!1,Rb=null,a;}\nfunction D(a,b){var c=b[of];void 0===c&&(c=b[of]=new Set);var d=a+\"__bubble\";c.has(d)||(pf(b,a,2,!1),c.add(d))}function qf(a,b,c){var d=0;b&&(d|=4);pf(c,a,d,b)}var rf=\"_reactListening\"+Math.random().toString(36).slice(2);function sf(a){if(!a[rf]){a[rf]=!0;da.forEach(function(b){\"selectionchange\"!==b&&(mf.has(b)||qf(b,!1,a),qf(b,!0,a))});var b=9===a.nodeType?a:a.ownerDocument;null===b||b[rf]||(b[rf]=!0,qf(\"selectionchange\",!1,b))}}\nfunction pf(a,b,c,d){switch(jd(b)){case 1:var e=ed;break;case 4:e=gd;break;default:e=fd}c=e.bind(null,b,c,a);e=void 0;!Lb||\"touchstart\"!==b&&\"touchmove\"!==b&&\"wheel\"!==b||(e=!0);d?void 0!==e?a.addEventListener(b,c,{capture:!0,passive:e}):a.addEventListener(b,c,!0):void 0!==e?a.addEventListener(b,c,{passive:e}):a.addEventListener(b,c,!1)}\nfunction hd(a,b,c,d,e){var f=d;if(0===(b&1)&&0===(b&2)&&null!==d)a:for(;;){if(null===d)return;var g=d.tag;if(3===g||4===g){var h=d.stateNode.containerInfo;if(h===e||8===h.nodeType&&h.parentNode===e)break;if(4===g)for(g=d.return;null!==g;){var k=g.tag;if(3===k||4===k)if(k=g.stateNode.containerInfo,k===e||8===k.nodeType&&k.parentNode===e)return;g=g.return}for(;null!==h;){g=Wc(h);if(null===g)return;k=g.tag;if(5===k||6===k){d=f=g;continue a}h=h.parentNode}}d=d.return}Jb(function(){var d=f,e=xb(c),g=[];\na:{var h=df.get(a);if(void 0!==h){var k=td,n=a;switch(a){case \"keypress\":if(0===od(c))break a;case \"keydown\":case \"keyup\":k=Rd;break;case \"focusin\":n=\"focus\";k=Fd;break;case \"focusout\":n=\"blur\";k=Fd;break;case \"beforeblur\":case \"afterblur\":k=Fd;break;case \"click\":if(2===c.button)break a;case \"auxclick\":case \"dblclick\":case \"mousedown\":case \"mousemove\":case \"mouseup\":case \"mouseout\":case \"mouseover\":case \"contextmenu\":k=Bd;break;case \"drag\":case \"dragend\":case \"dragenter\":case \"dragexit\":case \"dragleave\":case \"dragover\":case \"dragstart\":case \"drop\":k=\nDd;break;case \"touchcancel\":case \"touchend\":case \"touchmove\":case \"touchstart\":k=Vd;break;case $e:case af:case bf:k=Hd;break;case cf:k=Xd;break;case \"scroll\":k=vd;break;case \"wheel\":k=Zd;break;case \"copy\":case \"cut\":case \"paste\":k=Jd;break;case \"gotpointercapture\":case \"lostpointercapture\":case \"pointercancel\":case \"pointerdown\":case \"pointermove\":case \"pointerout\":case \"pointerover\":case \"pointerup\":k=Td}var t=0!==(b&4),J=!t&&\"scroll\"===a,x=t?null!==h?h+\"Capture\":null:h;t=[];for(var w=d,u;null!==\nw;){u=w;var F=u.stateNode;5===u.tag&&null!==F&&(u=F,null!==x&&(F=Kb(w,x),null!=F&&t.push(tf(w,F,u))));if(J)break;w=w.return}0<t.length&&(h=new k(h,n,null,c,e),g.push({event:h,listeners:t}))}}if(0===(b&7)){a:{h=\"mouseover\"===a||\"pointerover\"===a;k=\"mouseout\"===a||\"pointerout\"===a;if(h&&c!==wb&&(n=c.relatedTarget||c.fromElement)&&(Wc(n)||n[uf]))break a;if(k||h){h=e.window===e?e:(h=e.ownerDocument)?h.defaultView||h.parentWindow:window;if(k){if(n=c.relatedTarget||c.toElement,k=d,n=n?Wc(n):null,null!==\nn&&(J=Vb(n),n!==J||5!==n.tag&&6!==n.tag))n=null}else k=null,n=d;if(k!==n){t=Bd;F=\"onMouseLeave\";x=\"onMouseEnter\";w=\"mouse\";if(\"pointerout\"===a||\"pointerover\"===a)t=Td,F=\"onPointerLeave\",x=\"onPointerEnter\",w=\"pointer\";J=null==k?h:ue(k);u=null==n?h:ue(n);h=new t(F,w+\"leave\",k,c,e);h.target=J;h.relatedTarget=u;F=null;Wc(e)===d&&(t=new t(x,w+\"enter\",n,c,e),t.target=u,t.relatedTarget=J,F=t);J=F;if(k&&n)b:{t=k;x=n;w=0;for(u=t;u;u=vf(u))w++;u=0;for(F=x;F;F=vf(F))u++;for(;0<w-u;)t=vf(t),w--;for(;0<u-w;)x=\nvf(x),u--;for(;w--;){if(t===x||null!==x&&t===x.alternate)break b;t=vf(t);x=vf(x)}t=null}else t=null;null!==k&&wf(g,h,k,t,!1);null!==n&&null!==J&&wf(g,J,n,t,!0)}}}a:{h=d?ue(d):window;k=h.nodeName&&h.nodeName.toLowerCase();if(\"select\"===k||\"input\"===k&&\"file\"===h.type)var na=ve;else if(me(h))if(we)na=Fe;else{na=De;var xa=Ce}else(k=h.nodeName)&&\"input\"===k.toLowerCase()&&(\"checkbox\"===h.type||\"radio\"===h.type)&&(na=Ee);if(na&&(na=na(a,d))){ne(g,na,c,e);break a}xa&&xa(a,h,d);\"focusout\"===a&&(xa=h._wrapperState)&&\nxa.controlled&&\"number\"===h.type&&cb(h,\"number\",h.value)}xa=d?ue(d):window;switch(a){case \"focusin\":if(me(xa)||\"true\"===xa.contentEditable)Qe=xa,Re=d,Se=null;break;case \"focusout\":Se=Re=Qe=null;break;case \"mousedown\":Te=!0;break;case \"contextmenu\":case \"mouseup\":case \"dragend\":Te=!1;Ue(g,c,e);break;case \"selectionchange\":if(Pe)break;case \"keydown\":case \"keyup\":Ue(g,c,e)}var $a;if(ae)b:{switch(a){case \"compositionstart\":var ba=\"onCompositionStart\";break b;case \"compositionend\":ba=\"onCompositionEnd\";\nbreak b;case \"compositionupdate\":ba=\"onCompositionUpdate\";break b}ba=void 0}else ie?ge(a,c)&&(ba=\"onCompositionEnd\"):\"keydown\"===a&&229===c.keyCode&&(ba=\"onCompositionStart\");ba&&(de&&\"ko\"!==c.locale&&(ie||\"onCompositionStart\"!==ba?\"onCompositionEnd\"===ba&&ie&&($a=nd()):(kd=e,ld=\"value\"in kd?kd.value:kd.textContent,ie=!0)),xa=oe(d,ba),0<xa.length&&(ba=new Ld(ba,a,null,c,e),g.push({event:ba,listeners:xa}),$a?ba.data=$a:($a=he(c),null!==$a&&(ba.data=$a))));if($a=ce?je(a,c):ke(a,c))d=oe(d,\"onBeforeInput\"),\n0<d.length&&(e=new Ld(\"onBeforeInput\",\"beforeinput\",null,c,e),g.push({event:e,listeners:d}),e.data=$a)}se(g,b)})}function tf(a,b,c){return{instance:a,listener:b,currentTarget:c}}function oe(a,b){for(var c=b+\"Capture\",d=[];null!==a;){var e=a,f=e.stateNode;5===e.tag&&null!==f&&(e=f,f=Kb(a,c),null!=f&&d.unshift(tf(a,f,e)),f=Kb(a,b),null!=f&&d.push(tf(a,f,e)));a=a.return}return d}function vf(a){if(null===a)return null;do a=a.return;while(a&&5!==a.tag);return a?a:null}\nfunction wf(a,b,c,d,e){for(var f=b._reactName,g=[];null!==c&&c!==d;){var h=c,k=h.alternate,l=h.stateNode;if(null!==k&&k===d)break;5===h.tag&&null!==l&&(h=l,e?(k=Kb(c,f),null!=k&&g.unshift(tf(c,k,h))):e||(k=Kb(c,f),null!=k&&g.push(tf(c,k,h))));c=c.return}0!==g.length&&a.push({event:b,listeners:g})}var xf=/\\r\\n?/g,yf=/\\u0000|\\uFFFD/g;function zf(a){return(\"string\"===typeof a?a:\"\"+a).replace(xf,\"\\n\").replace(yf,\"\")}function Af(a,b,c){b=zf(b);if(zf(a)!==b&&c)throw Error(p(425));}function Bf(){}\nvar Cf=null,Df=null;function Ef(a,b){return\"textarea\"===a||\"noscript\"===a||\"string\"===typeof b.children||\"number\"===typeof b.children||\"object\"===typeof b.dangerouslySetInnerHTML&&null!==b.dangerouslySetInnerHTML&&null!=b.dangerouslySetInnerHTML.__html}\nvar Ff=\"function\"===typeof setTimeout?setTimeout:void 0,Gf=\"function\"===typeof clearTimeout?clearTimeout:void 0,Hf=\"function\"===typeof Promise?Promise:void 0,Jf=\"function\"===typeof queueMicrotask?queueMicrotask:\"undefined\"!==typeof Hf?function(a){return Hf.resolve(null).then(a).catch(If)}:Ff;function If(a){setTimeout(function(){throw a;})}\nfunction Kf(a,b){var c=b,d=0;do{var e=c.nextSibling;a.removeChild(c);if(e&&8===e.nodeType)if(c=e.data,\"/$\"===c){if(0===d){a.removeChild(e);bd(b);return}d--}else\"$\"!==c&&\"$?\"!==c&&\"$!\"!==c||d++;c=e}while(c);bd(b)}function Lf(a){for(;null!=a;a=a.nextSibling){var b=a.nodeType;if(1===b||3===b)break;if(8===b){b=a.data;if(\"$\"===b||\"$!\"===b||\"$?\"===b)break;if(\"/$\"===b)return null}}return a}\nfunction Mf(a){a=a.previousSibling;for(var b=0;a;){if(8===a.nodeType){var c=a.data;if(\"$\"===c||\"$!\"===c||\"$?\"===c){if(0===b)return a;b--}else\"/$\"===c&&b++}a=a.previousSibling}return null}var Nf=Math.random().toString(36).slice(2),Of=\"__reactFiber$\"+Nf,Pf=\"__reactProps$\"+Nf,uf=\"__reactContainer$\"+Nf,of=\"__reactEvents$\"+Nf,Qf=\"__reactListeners$\"+Nf,Rf=\"__reactHandles$\"+Nf;\nfunction Wc(a){var b=a[Of];if(b)return b;for(var c=a.parentNode;c;){if(b=c[uf]||c[Of]){c=b.alternate;if(null!==b.child||null!==c&&null!==c.child)for(a=Mf(a);null!==a;){if(c=a[Of])return c;a=Mf(a)}return b}a=c;c=a.parentNode}return null}function Cb(a){a=a[Of]||a[uf];return!a||5!==a.tag&&6!==a.tag&&13!==a.tag&&3!==a.tag?null:a}function ue(a){if(5===a.tag||6===a.tag)return a.stateNode;throw Error(p(33));}function Db(a){return a[Pf]||null}var Sf=[],Tf=-1;function Uf(a){return{current:a}}\nfunction E(a){0>Tf||(a.current=Sf[Tf],Sf[Tf]=null,Tf--)}function G(a,b){Tf++;Sf[Tf]=a.current;a.current=b}var Vf={},H=Uf(Vf),Wf=Uf(!1),Xf=Vf;function Yf(a,b){var c=a.type.contextTypes;if(!c)return Vf;var d=a.stateNode;if(d&&d.__reactInternalMemoizedUnmaskedChildContext===b)return d.__reactInternalMemoizedMaskedChildContext;var e={},f;for(f in c)e[f]=b[f];d&&(a=a.stateNode,a.__reactInternalMemoizedUnmaskedChildContext=b,a.__reactInternalMemoizedMaskedChildContext=e);return e}\nfunction Zf(a){a=a.childContextTypes;return null!==a&&void 0!==a}function $f(){E(Wf);E(H)}function ag(a,b,c){if(H.current!==Vf)throw Error(p(168));G(H,b);G(Wf,c)}function bg(a,b,c){var d=a.stateNode;b=b.childContextTypes;if(\"function\"!==typeof d.getChildContext)return c;d=d.getChildContext();for(var e in d)if(!(e in b))throw Error(p(108,Ra(a)||\"Unknown\",e));return A({},c,d)}\nfunction cg(a){a=(a=a.stateNode)&&a.__reactInternalMemoizedMergedChildContext||Vf;Xf=H.current;G(H,a);G(Wf,Wf.current);return!0}function dg(a,b,c){var d=a.stateNode;if(!d)throw Error(p(169));c?(a=bg(a,b,Xf),d.__reactInternalMemoizedMergedChildContext=a,E(Wf),E(H),G(H,a)):E(Wf);G(Wf,c)}var eg=null,fg=!1,gg=!1;function hg(a){null===eg?eg=[a]:eg.push(a)}function ig(a){fg=!0;hg(a)}\nfunction jg(){if(!gg&&null!==eg){gg=!0;var a=0,b=C;try{var c=eg;for(C=1;a<c.length;a++){var d=c[a];do d=d(!0);while(null!==d)}eg=null;fg=!1}catch(e){throw null!==eg&&(eg=eg.slice(a+1)),ac(fc,jg),e;}finally{C=b,gg=!1}}return null}var kg=[],lg=0,mg=null,ng=0,og=[],pg=0,qg=null,rg=1,sg=\"\";function tg(a,b){kg[lg++]=ng;kg[lg++]=mg;mg=a;ng=b}\nfunction ug(a,b,c){og[pg++]=rg;og[pg++]=sg;og[pg++]=qg;qg=a;var d=rg;a=sg;var e=32-oc(d)-1;d&=~(1<<e);c+=1;var f=32-oc(b)+e;if(30<f){var g=e-e%5;f=(d&(1<<g)-1).toString(32);d>>=g;e-=g;rg=1<<32-oc(b)+e|c<<e|d;sg=f+a}else rg=1<<f|c<<e|d,sg=a}function vg(a){null!==a.return&&(tg(a,1),ug(a,1,0))}function wg(a){for(;a===mg;)mg=kg[--lg],kg[lg]=null,ng=kg[--lg],kg[lg]=null;for(;a===qg;)qg=og[--pg],og[pg]=null,sg=og[--pg],og[pg]=null,rg=og[--pg],og[pg]=null}var xg=null,yg=null,I=!1,zg=null;\nfunction Ag(a,b){var c=Bg(5,null,null,0);c.elementType=\"DELETED\";c.stateNode=b;c.return=a;b=a.deletions;null===b?(a.deletions=[c],a.flags|=16):b.push(c)}\nfunction Cg(a,b){switch(a.tag){case 5:var c=a.type;b=1!==b.nodeType||c.toLowerCase()!==b.nodeName.toLowerCase()?null:b;return null!==b?(a.stateNode=b,xg=a,yg=Lf(b.firstChild),!0):!1;case 6:return b=\"\"===a.pendingProps||3!==b.nodeType?null:b,null!==b?(a.stateNode=b,xg=a,yg=null,!0):!1;case 13:return b=8!==b.nodeType?null:b,null!==b?(c=null!==qg?{id:rg,overflow:sg}:null,a.memoizedState={dehydrated:b,treeContext:c,retryLane:1073741824},c=Bg(18,null,null,0),c.stateNode=b,c.return=a,a.child=c,xg=a,yg=\nnull,!0):!1;default:return!1}}function Dg(a){return 0!==(a.mode&1)&&0===(a.flags&128)}function Eg(a){if(I){var b=yg;if(b){var c=b;if(!Cg(a,b)){if(Dg(a))throw Error(p(418));b=Lf(c.nextSibling);var d=xg;b&&Cg(a,b)?Ag(d,c):(a.flags=a.flags&-4097|2,I=!1,xg=a)}}else{if(Dg(a))throw Error(p(418));a.flags=a.flags&-4097|2;I=!1;xg=a}}}function Fg(a){for(a=a.return;null!==a&&5!==a.tag&&3!==a.tag&&13!==a.tag;)a=a.return;xg=a}\nfunction Gg(a){if(a!==xg)return!1;if(!I)return Fg(a),I=!0,!1;var b;(b=3!==a.tag)&&!(b=5!==a.tag)&&(b=a.type,b=\"head\"!==b&&\"body\"!==b&&!Ef(a.type,a.memoizedProps));if(b&&(b=yg)){if(Dg(a))throw Hg(),Error(p(418));for(;b;)Ag(a,b),b=Lf(b.nextSibling)}Fg(a);if(13===a.tag){a=a.memoizedState;a=null!==a?a.dehydrated:null;if(!a)throw Error(p(317));a:{a=a.nextSibling;for(b=0;a;){if(8===a.nodeType){var c=a.data;if(\"/$\"===c){if(0===b){yg=Lf(a.nextSibling);break a}b--}else\"$\"!==c&&\"$!\"!==c&&\"$?\"!==c||b++}a=a.nextSibling}yg=\nnull}}else yg=xg?Lf(a.stateNode.nextSibling):null;return!0}function Hg(){for(var a=yg;a;)a=Lf(a.nextSibling)}function Ig(){yg=xg=null;I=!1}function Jg(a){null===zg?zg=[a]:zg.push(a)}var Kg=ua.ReactCurrentBatchConfig;function Lg(a,b){if(a&&a.defaultProps){b=A({},b);a=a.defaultProps;for(var c in a)void 0===b[c]&&(b[c]=a[c]);return b}return b}var Mg=Uf(null),Ng=null,Og=null,Pg=null;function Qg(){Pg=Og=Ng=null}function Rg(a){var b=Mg.current;E(Mg);a._currentValue=b}\nfunction Sg(a,b,c){for(;null!==a;){var d=a.alternate;(a.childLanes&b)!==b?(a.childLanes|=b,null!==d&&(d.childLanes|=b)):null!==d&&(d.childLanes&b)!==b&&(d.childLanes|=b);if(a===c)break;a=a.return}}function Tg(a,b){Ng=a;Pg=Og=null;a=a.dependencies;null!==a&&null!==a.firstContext&&(0!==(a.lanes&b)&&(Ug=!0),a.firstContext=null)}\nfunction Vg(a){var b=a._currentValue;if(Pg!==a)if(a={context:a,memoizedValue:b,next:null},null===Og){if(null===Ng)throw Error(p(308));Og=a;Ng.dependencies={lanes:0,firstContext:a}}else Og=Og.next=a;return b}var Wg=null;function Xg(a){null===Wg?Wg=[a]:Wg.push(a)}function Yg(a,b,c,d){var e=b.interleaved;null===e?(c.next=c,Xg(b)):(c.next=e.next,e.next=c);b.interleaved=c;return Zg(a,d)}\nfunction Zg(a,b){a.lanes|=b;var c=a.alternate;null!==c&&(c.lanes|=b);c=a;for(a=a.return;null!==a;)a.childLanes|=b,c=a.alternate,null!==c&&(c.childLanes|=b),c=a,a=a.return;return 3===c.tag?c.stateNode:null}var $g=!1;function ah(a){a.updateQueue={baseState:a.memoizedState,firstBaseUpdate:null,lastBaseUpdate:null,shared:{pending:null,interleaved:null,lanes:0},effects:null}}\nfunction bh(a,b){a=a.updateQueue;b.updateQueue===a&&(b.updateQueue={baseState:a.baseState,firstBaseUpdate:a.firstBaseUpdate,lastBaseUpdate:a.lastBaseUpdate,shared:a.shared,effects:a.effects})}function ch(a,b){return{eventTime:a,lane:b,tag:0,payload:null,callback:null,next:null}}\nfunction dh(a,b,c){var d=a.updateQueue;if(null===d)return null;d=d.shared;if(0!==(K&2)){var e=d.pending;null===e?b.next=b:(b.next=e.next,e.next=b);d.pending=b;return Zg(a,c)}e=d.interleaved;null===e?(b.next=b,Xg(d)):(b.next=e.next,e.next=b);d.interleaved=b;return Zg(a,c)}function eh(a,b,c){b=b.updateQueue;if(null!==b&&(b=b.shared,0!==(c&4194240))){var d=b.lanes;d&=a.pendingLanes;c|=d;b.lanes=c;Cc(a,c)}}\nfunction fh(a,b){var c=a.updateQueue,d=a.alternate;if(null!==d&&(d=d.updateQueue,c===d)){var e=null,f=null;c=c.firstBaseUpdate;if(null!==c){do{var g={eventTime:c.eventTime,lane:c.lane,tag:c.tag,payload:c.payload,callback:c.callback,next:null};null===f?e=f=g:f=f.next=g;c=c.next}while(null!==c);null===f?e=f=b:f=f.next=b}else e=f=b;c={baseState:d.baseState,firstBaseUpdate:e,lastBaseUpdate:f,shared:d.shared,effects:d.effects};a.updateQueue=c;return}a=c.lastBaseUpdate;null===a?c.firstBaseUpdate=b:a.next=\nb;c.lastBaseUpdate=b}\nfunction gh(a,b,c,d){var e=a.updateQueue;$g=!1;var f=e.firstBaseUpdate,g=e.lastBaseUpdate,h=e.shared.pending;if(null!==h){e.shared.pending=null;var k=h,l=k.next;k.next=null;null===g?f=l:g.next=l;g=k;var m=a.alternate;null!==m&&(m=m.updateQueue,h=m.lastBaseUpdate,h!==g&&(null===h?m.firstBaseUpdate=l:h.next=l,m.lastBaseUpdate=k))}if(null!==f){var q=e.baseState;g=0;m=l=k=null;h=f;do{var r=h.lane,y=h.eventTime;if((d&r)===r){null!==m&&(m=m.next={eventTime:y,lane:0,tag:h.tag,payload:h.payload,callback:h.callback,\nnext:null});a:{var n=a,t=h;r=b;y=c;switch(t.tag){case 1:n=t.payload;if(\"function\"===typeof n){q=n.call(y,q,r);break a}q=n;break a;case 3:n.flags=n.flags&-65537|128;case 0:n=t.payload;r=\"function\"===typeof n?n.call(y,q,r):n;if(null===r||void 0===r)break a;q=A({},q,r);break a;case 2:$g=!0}}null!==h.callback&&0!==h.lane&&(a.flags|=64,r=e.effects,null===r?e.effects=[h]:r.push(h))}else y={eventTime:y,lane:r,tag:h.tag,payload:h.payload,callback:h.callback,next:null},null===m?(l=m=y,k=q):m=m.next=y,g|=r;\nh=h.next;if(null===h)if(h=e.shared.pending,null===h)break;else r=h,h=r.next,r.next=null,e.lastBaseUpdate=r,e.shared.pending=null}while(1);null===m&&(k=q);e.baseState=k;e.firstBaseUpdate=l;e.lastBaseUpdate=m;b=e.shared.interleaved;if(null!==b){e=b;do g|=e.lane,e=e.next;while(e!==b)}else null===f&&(e.shared.lanes=0);hh|=g;a.lanes=g;a.memoizedState=q}}\nfunction ih(a,b,c){a=b.effects;b.effects=null;if(null!==a)for(b=0;b<a.length;b++){var d=a[b],e=d.callback;if(null!==e){d.callback=null;d=c;if(\"function\"!==typeof e)throw Error(p(191,e));e.call(d)}}}var jh=(new aa.Component).refs;function kh(a,b,c,d){b=a.memoizedState;c=c(d,b);c=null===c||void 0===c?b:A({},b,c);a.memoizedState=c;0===a.lanes&&(a.updateQueue.baseState=c)}\nvar nh={isMounted:function(a){return(a=a._reactInternals)?Vb(a)===a:!1},enqueueSetState:function(a,b,c){a=a._reactInternals;var d=L(),e=lh(a),f=ch(d,e);f.payload=b;void 0!==c&&null!==c&&(f.callback=c);b=dh(a,f,e);null!==b&&(mh(b,a,e,d),eh(b,a,e))},enqueueReplaceState:function(a,b,c){a=a._reactInternals;var d=L(),e=lh(a),f=ch(d,e);f.tag=1;f.payload=b;void 0!==c&&null!==c&&(f.callback=c);b=dh(a,f,e);null!==b&&(mh(b,a,e,d),eh(b,a,e))},enqueueForceUpdate:function(a,b){a=a._reactInternals;var c=L(),d=\nlh(a),e=ch(c,d);e.tag=2;void 0!==b&&null!==b&&(e.callback=b);b=dh(a,e,d);null!==b&&(mh(b,a,d,c),eh(b,a,d))}};function oh(a,b,c,d,e,f,g){a=a.stateNode;return\"function\"===typeof a.shouldComponentUpdate?a.shouldComponentUpdate(d,f,g):b.prototype&&b.prototype.isPureReactComponent?!Ie(c,d)||!Ie(e,f):!0}\nfunction ph(a,b,c){var d=!1,e=Vf;var f=b.contextType;\"object\"===typeof f&&null!==f?f=Vg(f):(e=Zf(b)?Xf:H.current,d=b.contextTypes,f=(d=null!==d&&void 0!==d)?Yf(a,e):Vf);b=new b(c,f);a.memoizedState=null!==b.state&&void 0!==b.state?b.state:null;b.updater=nh;a.stateNode=b;b._reactInternals=a;d&&(a=a.stateNode,a.__reactInternalMemoizedUnmaskedChildContext=e,a.__reactInternalMemoizedMaskedChildContext=f);return b}\nfunction qh(a,b,c,d){a=b.state;\"function\"===typeof b.componentWillReceiveProps&&b.componentWillReceiveProps(c,d);\"function\"===typeof b.UNSAFE_componentWillReceiveProps&&b.UNSAFE_componentWillReceiveProps(c,d);b.state!==a&&nh.enqueueReplaceState(b,b.state,null)}\nfunction rh(a,b,c,d){var e=a.stateNode;e.props=c;e.state=a.memoizedState;e.refs=jh;ah(a);var f=b.contextType;\"object\"===typeof f&&null!==f?e.context=Vg(f):(f=Zf(b)?Xf:H.current,e.context=Yf(a,f));e.state=a.memoizedState;f=b.getDerivedStateFromProps;\"function\"===typeof f&&(kh(a,b,f,c),e.state=a.memoizedState);\"function\"===typeof b.getDerivedStateFromProps||\"function\"===typeof e.getSnapshotBeforeUpdate||\"function\"!==typeof e.UNSAFE_componentWillMount&&\"function\"!==typeof e.componentWillMount||(b=e.state,\n\"function\"===typeof e.componentWillMount&&e.componentWillMount(),\"function\"===typeof e.UNSAFE_componentWillMount&&e.UNSAFE_componentWillMount(),b!==e.state&&nh.enqueueReplaceState(e,e.state,null),gh(a,c,e,d),e.state=a.memoizedState);\"function\"===typeof e.componentDidMount&&(a.flags|=4194308)}\nfunction sh(a,b,c){a=c.ref;if(null!==a&&\"function\"!==typeof a&&\"object\"!==typeof a){if(c._owner){c=c._owner;if(c){if(1!==c.tag)throw Error(p(309));var d=c.stateNode}if(!d)throw Error(p(147,a));var e=d,f=\"\"+a;if(null!==b&&null!==b.ref&&\"function\"===typeof b.ref&&b.ref._stringRef===f)return b.ref;b=function(a){var b=e.refs;b===jh&&(b=e.refs={});null===a?delete b[f]:b[f]=a};b._stringRef=f;return b}if(\"string\"!==typeof a)throw Error(p(284));if(!c._owner)throw Error(p(290,a));}return a}\nfunction th(a,b){a=Object.prototype.toString.call(b);throw Error(p(31,\"[object Object]\"===a?\"object with keys {\"+Object.keys(b).join(\", \")+\"}\":a));}function uh(a){var b=a._init;return b(a._payload)}\nfunction vh(a){function b(b,c){if(a){var d=b.deletions;null===d?(b.deletions=[c],b.flags|=16):d.push(c)}}function c(c,d){if(!a)return null;for(;null!==d;)b(c,d),d=d.sibling;return null}function d(a,b){for(a=new Map;null!==b;)null!==b.key?a.set(b.key,b):a.set(b.index,b),b=b.sibling;return a}function e(a,b){a=wh(a,b);a.index=0;a.sibling=null;return a}function f(b,c,d){b.index=d;if(!a)return b.flags|=1048576,c;d=b.alternate;if(null!==d)return d=d.index,d<c?(b.flags|=2,c):d;b.flags|=2;return c}function g(b){a&&\nnull===b.alternate&&(b.flags|=2);return b}function h(a,b,c,d){if(null===b||6!==b.tag)return b=xh(c,a.mode,d),b.return=a,b;b=e(b,c);b.return=a;return b}function k(a,b,c,d){var f=c.type;if(f===ya)return m(a,b,c.props.children,d,c.key);if(null!==b&&(b.elementType===f||\"object\"===typeof f&&null!==f&&f.$$typeof===Ha&&uh(f)===b.type))return d=e(b,c.props),d.ref=sh(a,b,c),d.return=a,d;d=yh(c.type,c.key,c.props,null,a.mode,d);d.ref=sh(a,b,c);d.return=a;return d}function l(a,b,c,d){if(null===b||4!==b.tag||\nb.stateNode.containerInfo!==c.containerInfo||b.stateNode.implementation!==c.implementation)return b=zh(c,a.mode,d),b.return=a,b;b=e(b,c.children||[]);b.return=a;return b}function m(a,b,c,d,f){if(null===b||7!==b.tag)return b=Ah(c,a.mode,d,f),b.return=a,b;b=e(b,c);b.return=a;return b}function q(a,b,c){if(\"string\"===typeof b&&\"\"!==b||\"number\"===typeof b)return b=xh(\"\"+b,a.mode,c),b.return=a,b;if(\"object\"===typeof b&&null!==b){switch(b.$$typeof){case va:return c=yh(b.type,b.key,b.props,null,a.mode,c),\nc.ref=sh(a,null,b),c.return=a,c;case wa:return b=zh(b,a.mode,c),b.return=a,b;case Ha:var d=b._init;return q(a,d(b._payload),c)}if(eb(b)||Ka(b))return b=Ah(b,a.mode,c,null),b.return=a,b;th(a,b)}return null}function r(a,b,c,d){var e=null!==b?b.key:null;if(\"string\"===typeof c&&\"\"!==c||\"number\"===typeof c)return null!==e?null:h(a,b,\"\"+c,d);if(\"object\"===typeof c&&null!==c){switch(c.$$typeof){case va:return c.key===e?k(a,b,c,d):null;case wa:return c.key===e?l(a,b,c,d):null;case Ha:return e=c._init,r(a,\nb,e(c._payload),d)}if(eb(c)||Ka(c))return null!==e?null:m(a,b,c,d,null);th(a,c)}return null}function y(a,b,c,d,e){if(\"string\"===typeof d&&\"\"!==d||\"number\"===typeof d)return a=a.get(c)||null,h(b,a,\"\"+d,e);if(\"object\"===typeof d&&null!==d){switch(d.$$typeof){case va:return a=a.get(null===d.key?c:d.key)||null,k(b,a,d,e);case wa:return a=a.get(null===d.key?c:d.key)||null,l(b,a,d,e);case Ha:var f=d._init;return y(a,b,c,f(d._payload),e)}if(eb(d)||Ka(d))return a=a.get(c)||null,m(b,a,d,e,null);th(b,d)}return null}\nfunction n(e,g,h,k){for(var l=null,m=null,u=g,w=g=0,x=null;null!==u&&w<h.length;w++){u.index>w?(x=u,u=null):x=u.sibling;var n=r(e,u,h[w],k);if(null===n){null===u&&(u=x);break}a&&u&&null===n.alternate&&b(e,u);g=f(n,g,w);null===m?l=n:m.sibling=n;m=n;u=x}if(w===h.length)return c(e,u),I&&tg(e,w),l;if(null===u){for(;w<h.length;w++)u=q(e,h[w],k),null!==u&&(g=f(u,g,w),null===m?l=u:m.sibling=u,m=u);I&&tg(e,w);return l}for(u=d(e,u);w<h.length;w++)x=y(u,e,w,h[w],k),null!==x&&(a&&null!==x.alternate&&u.delete(null===\nx.key?w:x.key),g=f(x,g,w),null===m?l=x:m.sibling=x,m=x);a&&u.forEach(function(a){return b(e,a)});I&&tg(e,w);return l}function t(e,g,h,k){var l=Ka(h);if(\"function\"!==typeof l)throw Error(p(150));h=l.call(h);if(null==h)throw Error(p(151));for(var u=l=null,m=g,w=g=0,x=null,n=h.next();null!==m&&!n.done;w++,n=h.next()){m.index>w?(x=m,m=null):x=m.sibling;var t=r(e,m,n.value,k);if(null===t){null===m&&(m=x);break}a&&m&&null===t.alternate&&b(e,m);g=f(t,g,w);null===u?l=t:u.sibling=t;u=t;m=x}if(n.done)return c(e,\nm),I&&tg(e,w),l;if(null===m){for(;!n.done;w++,n=h.next())n=q(e,n.value,k),null!==n&&(g=f(n,g,w),null===u?l=n:u.sibling=n,u=n);I&&tg(e,w);return l}for(m=d(e,m);!n.done;w++,n=h.next())n=y(m,e,w,n.value,k),null!==n&&(a&&null!==n.alternate&&m.delete(null===n.key?w:n.key),g=f(n,g,w),null===u?l=n:u.sibling=n,u=n);a&&m.forEach(function(a){return b(e,a)});I&&tg(e,w);return l}function J(a,d,f,h){\"object\"===typeof f&&null!==f&&f.type===ya&&null===f.key&&(f=f.props.children);if(\"object\"===typeof f&&null!==f){switch(f.$$typeof){case va:a:{for(var k=\nf.key,l=d;null!==l;){if(l.key===k){k=f.type;if(k===ya){if(7===l.tag){c(a,l.sibling);d=e(l,f.props.children);d.return=a;a=d;break a}}else if(l.elementType===k||\"object\"===typeof k&&null!==k&&k.$$typeof===Ha&&uh(k)===l.type){c(a,l.sibling);d=e(l,f.props);d.ref=sh(a,l,f);d.return=a;a=d;break a}c(a,l);break}else b(a,l);l=l.sibling}f.type===ya?(d=Ah(f.props.children,a.mode,h,f.key),d.return=a,a=d):(h=yh(f.type,f.key,f.props,null,a.mode,h),h.ref=sh(a,d,f),h.return=a,a=h)}return g(a);case wa:a:{for(l=f.key;null!==\nd;){if(d.key===l)if(4===d.tag&&d.stateNode.containerInfo===f.containerInfo&&d.stateNode.implementation===f.implementation){c(a,d.sibling);d=e(d,f.children||[]);d.return=a;a=d;break a}else{c(a,d);break}else b(a,d);d=d.sibling}d=zh(f,a.mode,h);d.return=a;a=d}return g(a);case Ha:return l=f._init,J(a,d,l(f._payload),h)}if(eb(f))return n(a,d,f,h);if(Ka(f))return t(a,d,f,h);th(a,f)}return\"string\"===typeof f&&\"\"!==f||\"number\"===typeof f?(f=\"\"+f,null!==d&&6===d.tag?(c(a,d.sibling),d=e(d,f),d.return=a,a=d):\n(c(a,d),d=xh(f,a.mode,h),d.return=a,a=d),g(a)):c(a,d)}return J}var Bh=vh(!0),Ch=vh(!1),Dh={},Eh=Uf(Dh),Fh=Uf(Dh),Gh=Uf(Dh);function Hh(a){if(a===Dh)throw Error(p(174));return a}function Ih(a,b){G(Gh,b);G(Fh,a);G(Eh,Dh);a=b.nodeType;switch(a){case 9:case 11:b=(b=b.documentElement)?b.namespaceURI:lb(null,\"\");break;default:a=8===a?b.parentNode:b,b=a.namespaceURI||null,a=a.tagName,b=lb(b,a)}E(Eh);G(Eh,b)}function Jh(){E(Eh);E(Fh);E(Gh)}\nfunction Kh(a){Hh(Gh.current);var b=Hh(Eh.current);var c=lb(b,a.type);b!==c&&(G(Fh,a),G(Eh,c))}function Lh(a){Fh.current===a&&(E(Eh),E(Fh))}var M=Uf(0);\nfunction Mh(a){for(var b=a;null!==b;){if(13===b.tag){var c=b.memoizedState;if(null!==c&&(c=c.dehydrated,null===c||\"$?\"===c.data||\"$!\"===c.data))return b}else if(19===b.tag&&void 0!==b.memoizedProps.revealOrder){if(0!==(b.flags&128))return b}else if(null!==b.child){b.child.return=b;b=b.child;continue}if(b===a)break;for(;null===b.sibling;){if(null===b.return||b.return===a)return null;b=b.return}b.sibling.return=b.return;b=b.sibling}return null}var Nh=[];\nfunction Oh(){for(var a=0;a<Nh.length;a++)Nh[a]._workInProgressVersionPrimary=null;Nh.length=0}var Ph=ua.ReactCurrentDispatcher,Qh=ua.ReactCurrentBatchConfig,Rh=0,N=null,O=null,P=null,Sh=!1,Th=!1,Uh=0,Vh=0;function Q(){throw Error(p(321));}function Wh(a,b){if(null===b)return!1;for(var c=0;c<b.length&&c<a.length;c++)if(!He(a[c],b[c]))return!1;return!0}\nfunction Xh(a,b,c,d,e,f){Rh=f;N=b;b.memoizedState=null;b.updateQueue=null;b.lanes=0;Ph.current=null===a||null===a.memoizedState?Yh:Zh;a=c(d,e);if(Th){f=0;do{Th=!1;Uh=0;if(25<=f)throw Error(p(301));f+=1;P=O=null;b.updateQueue=null;Ph.current=$h;a=c(d,e)}while(Th)}Ph.current=ai;b=null!==O&&null!==O.next;Rh=0;P=O=N=null;Sh=!1;if(b)throw Error(p(300));return a}function bi(){var a=0!==Uh;Uh=0;return a}\nfunction ci(){var a={memoizedState:null,baseState:null,baseQueue:null,queue:null,next:null};null===P?N.memoizedState=P=a:P=P.next=a;return P}function di(){if(null===O){var a=N.alternate;a=null!==a?a.memoizedState:null}else a=O.next;var b=null===P?N.memoizedState:P.next;if(null!==b)P=b,O=a;else{if(null===a)throw Error(p(310));O=a;a={memoizedState:O.memoizedState,baseState:O.baseState,baseQueue:O.baseQueue,queue:O.queue,next:null};null===P?N.memoizedState=P=a:P=P.next=a}return P}\nfunction ei(a,b){return\"function\"===typeof b?b(a):b}\nfunction fi(a){var b=di(),c=b.queue;if(null===c)throw Error(p(311));c.lastRenderedReducer=a;var d=O,e=d.baseQueue,f=c.pending;if(null!==f){if(null!==e){var g=e.next;e.next=f.next;f.next=g}d.baseQueue=e=f;c.pending=null}if(null!==e){f=e.next;d=d.baseState;var h=g=null,k=null,l=f;do{var m=l.lane;if((Rh&m)===m)null!==k&&(k=k.next={lane:0,action:l.action,hasEagerState:l.hasEagerState,eagerState:l.eagerState,next:null}),d=l.hasEagerState?l.eagerState:a(d,l.action);else{var q={lane:m,action:l.action,hasEagerState:l.hasEagerState,\neagerState:l.eagerState,next:null};null===k?(h=k=q,g=d):k=k.next=q;N.lanes|=m;hh|=m}l=l.next}while(null!==l&&l!==f);null===k?g=d:k.next=h;He(d,b.memoizedState)||(Ug=!0);b.memoizedState=d;b.baseState=g;b.baseQueue=k;c.lastRenderedState=d}a=c.interleaved;if(null!==a){e=a;do f=e.lane,N.lanes|=f,hh|=f,e=e.next;while(e!==a)}else null===e&&(c.lanes=0);return[b.memoizedState,c.dispatch]}\nfunction gi(a){var b=di(),c=b.queue;if(null===c)throw Error(p(311));c.lastRenderedReducer=a;var d=c.dispatch,e=c.pending,f=b.memoizedState;if(null!==e){c.pending=null;var g=e=e.next;do f=a(f,g.action),g=g.next;while(g!==e);He(f,b.memoizedState)||(Ug=!0);b.memoizedState=f;null===b.baseQueue&&(b.baseState=f);c.lastRenderedState=f}return[f,d]}function hi(){}\nfunction ii(a,b){var c=N,d=di(),e=b(),f=!He(d.memoizedState,e);f&&(d.memoizedState=e,Ug=!0);d=d.queue;ji(ki.bind(null,c,d,a),[a]);if(d.getSnapshot!==b||f||null!==P&&P.memoizedState.tag&1){c.flags|=2048;li(9,mi.bind(null,c,d,e,b),void 0,null);if(null===R)throw Error(p(349));0!==(Rh&30)||ni(c,b,e)}return e}function ni(a,b,c){a.flags|=16384;a={getSnapshot:b,value:c};b=N.updateQueue;null===b?(b={lastEffect:null,stores:null},N.updateQueue=b,b.stores=[a]):(c=b.stores,null===c?b.stores=[a]:c.push(a))}\nfunction mi(a,b,c,d){b.value=c;b.getSnapshot=d;oi(b)&&pi(a)}function ki(a,b,c){return c(function(){oi(b)&&pi(a)})}function oi(a){var b=a.getSnapshot;a=a.value;try{var c=b();return!He(a,c)}catch(d){return!0}}function pi(a){var b=Zg(a,1);null!==b&&mh(b,a,1,-1)}\nfunction qi(a){var b=ci();\"function\"===typeof a&&(a=a());b.memoizedState=b.baseState=a;a={pending:null,interleaved:null,lanes:0,dispatch:null,lastRenderedReducer:ei,lastRenderedState:a};b.queue=a;a=a.dispatch=ri.bind(null,N,a);return[b.memoizedState,a]}\nfunction li(a,b,c,d){a={tag:a,create:b,destroy:c,deps:d,next:null};b=N.updateQueue;null===b?(b={lastEffect:null,stores:null},N.updateQueue=b,b.lastEffect=a.next=a):(c=b.lastEffect,null===c?b.lastEffect=a.next=a:(d=c.next,c.next=a,a.next=d,b.lastEffect=a));return a}function si(){return di().memoizedState}function ti(a,b,c,d){var e=ci();N.flags|=a;e.memoizedState=li(1|b,c,void 0,void 0===d?null:d)}\nfunction ui(a,b,c,d){var e=di();d=void 0===d?null:d;var f=void 0;if(null!==O){var g=O.memoizedState;f=g.destroy;if(null!==d&&Wh(d,g.deps)){e.memoizedState=li(b,c,f,d);return}}N.flags|=a;e.memoizedState=li(1|b,c,f,d)}function vi(a,b){return ti(8390656,8,a,b)}function ji(a,b){return ui(2048,8,a,b)}function wi(a,b){return ui(4,2,a,b)}function xi(a,b){return ui(4,4,a,b)}\nfunction yi(a,b){if(\"function\"===typeof b)return a=a(),b(a),function(){b(null)};if(null!==b&&void 0!==b)return a=a(),b.current=a,function(){b.current=null}}function zi(a,b,c){c=null!==c&&void 0!==c?c.concat([a]):null;return ui(4,4,yi.bind(null,b,a),c)}function Ai(){}function Bi(a,b){var c=di();b=void 0===b?null:b;var d=c.memoizedState;if(null!==d&&null!==b&&Wh(b,d[1]))return d[0];c.memoizedState=[a,b];return a}\nfunction Ci(a,b){var c=di();b=void 0===b?null:b;var d=c.memoizedState;if(null!==d&&null!==b&&Wh(b,d[1]))return d[0];a=a();c.memoizedState=[a,b];return a}function Di(a,b,c){if(0===(Rh&21))return a.baseState&&(a.baseState=!1,Ug=!0),a.memoizedState=c;He(c,b)||(c=yc(),N.lanes|=c,hh|=c,a.baseState=!0);return b}function Ei(a,b){var c=C;C=0!==c&&4>c?c:4;a(!0);var d=Qh.transition;Qh.transition={};try{a(!1),b()}finally{C=c,Qh.transition=d}}function Fi(){return di().memoizedState}\nfunction Gi(a,b,c){var d=lh(a);c={lane:d,action:c,hasEagerState:!1,eagerState:null,next:null};if(Hi(a))Ii(b,c);else if(c=Yg(a,b,c,d),null!==c){var e=L();mh(c,a,d,e);Ji(c,b,d)}}\nfunction ri(a,b,c){var d=lh(a),e={lane:d,action:c,hasEagerState:!1,eagerState:null,next:null};if(Hi(a))Ii(b,e);else{var f=a.alternate;if(0===a.lanes&&(null===f||0===f.lanes)&&(f=b.lastRenderedReducer,null!==f))try{var g=b.lastRenderedState,h=f(g,c);e.hasEagerState=!0;e.eagerState=h;if(He(h,g)){var k=b.interleaved;null===k?(e.next=e,Xg(b)):(e.next=k.next,k.next=e);b.interleaved=e;return}}catch(l){}finally{}c=Yg(a,b,e,d);null!==c&&(e=L(),mh(c,a,d,e),Ji(c,b,d))}}\nfunction Hi(a){var b=a.alternate;return a===N||null!==b&&b===N}function Ii(a,b){Th=Sh=!0;var c=a.pending;null===c?b.next=b:(b.next=c.next,c.next=b);a.pending=b}function Ji(a,b,c){if(0!==(c&4194240)){var d=b.lanes;d&=a.pendingLanes;c|=d;b.lanes=c;Cc(a,c)}}\nvar ai={readContext:Vg,useCallback:Q,useContext:Q,useEffect:Q,useImperativeHandle:Q,useInsertionEffect:Q,useLayoutEffect:Q,useMemo:Q,useReducer:Q,useRef:Q,useState:Q,useDebugValue:Q,useDeferredValue:Q,useTransition:Q,useMutableSource:Q,useSyncExternalStore:Q,useId:Q,unstable_isNewReconciler:!1},Yh={readContext:Vg,useCallback:function(a,b){ci().memoizedState=[a,void 0===b?null:b];return a},useContext:Vg,useEffect:vi,useImperativeHandle:function(a,b,c){c=null!==c&&void 0!==c?c.concat([a]):null;return ti(4194308,\n4,yi.bind(null,b,a),c)},useLayoutEffect:function(a,b){return ti(4194308,4,a,b)},useInsertionEffect:function(a,b){return ti(4,2,a,b)},useMemo:function(a,b){var c=ci();b=void 0===b?null:b;a=a();c.memoizedState=[a,b];return a},useReducer:function(a,b,c){var d=ci();b=void 0!==c?c(b):b;d.memoizedState=d.baseState=b;a={pending:null,interleaved:null,lanes:0,dispatch:null,lastRenderedReducer:a,lastRenderedState:b};d.queue=a;a=a.dispatch=Gi.bind(null,N,a);return[d.memoizedState,a]},useRef:function(a){var b=\nci();a={current:a};return b.memoizedState=a},useState:qi,useDebugValue:Ai,useDeferredValue:function(a){return ci().memoizedState=a},useTransition:function(){var a=qi(!1),b=a[0];a=Ei.bind(null,a[1]);ci().memoizedState=a;return[b,a]},useMutableSource:function(){},useSyncExternalStore:function(a,b,c){var d=N,e=ci();if(I){if(void 0===c)throw Error(p(407));c=c()}else{c=b();if(null===R)throw Error(p(349));0!==(Rh&30)||ni(d,b,c)}e.memoizedState=c;var f={value:c,getSnapshot:b};e.queue=f;vi(ki.bind(null,d,\nf,a),[a]);d.flags|=2048;li(9,mi.bind(null,d,f,c,b),void 0,null);return c},useId:function(){var a=ci(),b=R.identifierPrefix;if(I){var c=sg;var d=rg;c=(d&~(1<<32-oc(d)-1)).toString(32)+c;b=\":\"+b+\"R\"+c;c=Uh++;0<c&&(b+=\"H\"+c.toString(32));b+=\":\"}else c=Vh++,b=\":\"+b+\"r\"+c.toString(32)+\":\";return a.memoizedState=b},unstable_isNewReconciler:!1},Zh={readContext:Vg,useCallback:Bi,useContext:Vg,useEffect:ji,useImperativeHandle:zi,useInsertionEffect:wi,useLayoutEffect:xi,useMemo:Ci,useReducer:fi,useRef:si,useState:function(){return fi(ei)},\nuseDebugValue:Ai,useDeferredValue:function(a){var b=di();return Di(b,O.memoizedState,a)},useTransition:function(){var a=fi(ei)[0],b=di().memoizedState;return[a,b]},useMutableSource:hi,useSyncExternalStore:ii,useId:Fi,unstable_isNewReconciler:!1},$h={readContext:Vg,useCallback:Bi,useContext:Vg,useEffect:ji,useImperativeHandle:zi,useInsertionEffect:wi,useLayoutEffect:xi,useMemo:Ci,useReducer:gi,useRef:si,useState:function(){return gi(ei)},useDebugValue:Ai,useDeferredValue:function(a){var b=di();return null===\nO?b.memoizedState=a:Di(b,O.memoizedState,a)},useTransition:function(){var a=gi(ei)[0],b=di().memoizedState;return[a,b]},useMutableSource:hi,useSyncExternalStore:ii,useId:Fi,unstable_isNewReconciler:!1};function Ki(a,b){try{var c=\"\",d=b;do c+=Pa(d),d=d.return;while(d);var e=c}catch(f){e=\"\\nError generating stack: \"+f.message+\"\\n\"+f.stack}return{value:a,source:b,stack:e,digest:null}}function Li(a,b,c){return{value:a,source:null,stack:null!=c?c:null,digest:null!=b?b:null}}\nfunction Mi(a,b){try{console.error(b.value)}catch(c){setTimeout(function(){throw c;})}}var Ni=\"function\"===typeof WeakMap?WeakMap:Map;function Oi(a,b,c){c=ch(-1,c);c.tag=3;c.payload={element:null};var d=b.value;c.callback=function(){Pi||(Pi=!0,Qi=d);Mi(a,b)};return c}\nfunction Ri(a,b,c){c=ch(-1,c);c.tag=3;var d=a.type.getDerivedStateFromError;if(\"function\"===typeof d){var e=b.value;c.payload=function(){return d(e)};c.callback=function(){Mi(a,b)}}var f=a.stateNode;null!==f&&\"function\"===typeof f.componentDidCatch&&(c.callback=function(){Mi(a,b);\"function\"!==typeof d&&(null===Si?Si=new Set([this]):Si.add(this));var c=b.stack;this.componentDidCatch(b.value,{componentStack:null!==c?c:\"\"})});return c}\nfunction Ti(a,b,c){var d=a.pingCache;if(null===d){d=a.pingCache=new Ni;var e=new Set;d.set(b,e)}else e=d.get(b),void 0===e&&(e=new Set,d.set(b,e));e.has(c)||(e.add(c),a=Ui.bind(null,a,b,c),b.then(a,a))}function Vi(a){do{var b;if(b=13===a.tag)b=a.memoizedState,b=null!==b?null!==b.dehydrated?!0:!1:!0;if(b)return a;a=a.return}while(null!==a);return null}\nfunction Wi(a,b,c,d,e){if(0===(a.mode&1))return a===b?a.flags|=65536:(a.flags|=128,c.flags|=131072,c.flags&=-52805,1===c.tag&&(null===c.alternate?c.tag=17:(b=ch(-1,1),b.tag=2,dh(c,b,1))),c.lanes|=1),a;a.flags|=65536;a.lanes=e;return a}var Xi=ua.ReactCurrentOwner,Ug=!1;function Yi(a,b,c,d){b.child=null===a?Ch(b,null,c,d):Bh(b,a.child,c,d)}\nfunction Zi(a,b,c,d,e){c=c.render;var f=b.ref;Tg(b,e);d=Xh(a,b,c,d,f,e);c=bi();if(null!==a&&!Ug)return b.updateQueue=a.updateQueue,b.flags&=-2053,a.lanes&=~e,$i(a,b,e);I&&c&&vg(b);b.flags|=1;Yi(a,b,d,e);return b.child}\nfunction aj(a,b,c,d,e){if(null===a){var f=c.type;if(\"function\"===typeof f&&!bj(f)&&void 0===f.defaultProps&&null===c.compare&&void 0===c.defaultProps)return b.tag=15,b.type=f,cj(a,b,f,d,e);a=yh(c.type,null,d,b,b.mode,e);a.ref=b.ref;a.return=b;return b.child=a}f=a.child;if(0===(a.lanes&e)){var g=f.memoizedProps;c=c.compare;c=null!==c?c:Ie;if(c(g,d)&&a.ref===b.ref)return $i(a,b,e)}b.flags|=1;a=wh(f,d);a.ref=b.ref;a.return=b;return b.child=a}\nfunction cj(a,b,c,d,e){if(null!==a){var f=a.memoizedProps;if(Ie(f,d)&&a.ref===b.ref)if(Ug=!1,b.pendingProps=d=f,0!==(a.lanes&e))0!==(a.flags&131072)&&(Ug=!0);else return b.lanes=a.lanes,$i(a,b,e)}return dj(a,b,c,d,e)}\nfunction ej(a,b,c){var d=b.pendingProps,e=d.children,f=null!==a?a.memoizedState:null;if(\"hidden\"===d.mode)if(0===(b.mode&1))b.memoizedState={baseLanes:0,cachePool:null,transitions:null},G(fj,gj),gj|=c;else{if(0===(c&1073741824))return a=null!==f?f.baseLanes|c:c,b.lanes=b.childLanes=1073741824,b.memoizedState={baseLanes:a,cachePool:null,transitions:null},b.updateQueue=null,G(fj,gj),gj|=a,null;b.memoizedState={baseLanes:0,cachePool:null,transitions:null};d=null!==f?f.baseLanes:c;G(fj,gj);gj|=d}else null!==\nf?(d=f.baseLanes|c,b.memoizedState=null):d=c,G(fj,gj),gj|=d;Yi(a,b,e,c);return b.child}function hj(a,b){var c=b.ref;if(null===a&&null!==c||null!==a&&a.ref!==c)b.flags|=512,b.flags|=2097152}function dj(a,b,c,d,e){var f=Zf(c)?Xf:H.current;f=Yf(b,f);Tg(b,e);c=Xh(a,b,c,d,f,e);d=bi();if(null!==a&&!Ug)return b.updateQueue=a.updateQueue,b.flags&=-2053,a.lanes&=~e,$i(a,b,e);I&&d&&vg(b);b.flags|=1;Yi(a,b,c,e);return b.child}\nfunction ij(a,b,c,d,e){if(Zf(c)){var f=!0;cg(b)}else f=!1;Tg(b,e);if(null===b.stateNode)jj(a,b),ph(b,c,d),rh(b,c,d,e),d=!0;else if(null===a){var g=b.stateNode,h=b.memoizedProps;g.props=h;var k=g.context,l=c.contextType;\"object\"===typeof l&&null!==l?l=Vg(l):(l=Zf(c)?Xf:H.current,l=Yf(b,l));var m=c.getDerivedStateFromProps,q=\"function\"===typeof m||\"function\"===typeof g.getSnapshotBeforeUpdate;q||\"function\"!==typeof g.UNSAFE_componentWillReceiveProps&&\"function\"!==typeof g.componentWillReceiveProps||\n(h!==d||k!==l)&&qh(b,g,d,l);$g=!1;var r=b.memoizedState;g.state=r;gh(b,d,g,e);k=b.memoizedState;h!==d||r!==k||Wf.current||$g?(\"function\"===typeof m&&(kh(b,c,m,d),k=b.memoizedState),(h=$g||oh(b,c,h,d,r,k,l))?(q||\"function\"!==typeof g.UNSAFE_componentWillMount&&\"function\"!==typeof g.componentWillMount||(\"function\"===typeof g.componentWillMount&&g.componentWillMount(),\"function\"===typeof g.UNSAFE_componentWillMount&&g.UNSAFE_componentWillMount()),\"function\"===typeof g.componentDidMount&&(b.flags|=4194308)):\n(\"function\"===typeof g.componentDidMount&&(b.flags|=4194308),b.memoizedProps=d,b.memoizedState=k),g.props=d,g.state=k,g.context=l,d=h):(\"function\"===typeof g.componentDidMount&&(b.flags|=4194308),d=!1)}else{g=b.stateNode;bh(a,b);h=b.memoizedProps;l=b.type===b.elementType?h:Lg(b.type,h);g.props=l;q=b.pendingProps;r=g.context;k=c.contextType;\"object\"===typeof k&&null!==k?k=Vg(k):(k=Zf(c)?Xf:H.current,k=Yf(b,k));var y=c.getDerivedStateFromProps;(m=\"function\"===typeof y||\"function\"===typeof g.getSnapshotBeforeUpdate)||\n\"function\"!==typeof g.UNSAFE_componentWillReceiveProps&&\"function\"!==typeof g.componentWillReceiveProps||(h!==q||r!==k)&&qh(b,g,d,k);$g=!1;r=b.memoizedState;g.state=r;gh(b,d,g,e);var n=b.memoizedState;h!==q||r!==n||Wf.current||$g?(\"function\"===typeof y&&(kh(b,c,y,d),n=b.memoizedState),(l=$g||oh(b,c,l,d,r,n,k)||!1)?(m||\"function\"!==typeof g.UNSAFE_componentWillUpdate&&\"function\"!==typeof g.componentWillUpdate||(\"function\"===typeof g.componentWillUpdate&&g.componentWillUpdate(d,n,k),\"function\"===typeof g.UNSAFE_componentWillUpdate&&\ng.UNSAFE_componentWillUpdate(d,n,k)),\"function\"===typeof g.componentDidUpdate&&(b.flags|=4),\"function\"===typeof g.getSnapshotBeforeUpdate&&(b.flags|=1024)):(\"function\"!==typeof g.componentDidUpdate||h===a.memoizedProps&&r===a.memoizedState||(b.flags|=4),\"function\"!==typeof g.getSnapshotBeforeUpdate||h===a.memoizedProps&&r===a.memoizedState||(b.flags|=1024),b.memoizedProps=d,b.memoizedState=n),g.props=d,g.state=n,g.context=k,d=l):(\"function\"!==typeof g.componentDidUpdate||h===a.memoizedProps&&r===\na.memoizedState||(b.flags|=4),\"function\"!==typeof g.getSnapshotBeforeUpdate||h===a.memoizedProps&&r===a.memoizedState||(b.flags|=1024),d=!1)}return kj(a,b,c,d,f,e)}\nfunction kj(a,b,c,d,e,f){hj(a,b);var g=0!==(b.flags&128);if(!d&&!g)return e&&dg(b,c,!1),$i(a,b,f);d=b.stateNode;Xi.current=b;var h=g&&\"function\"!==typeof c.getDerivedStateFromError?null:d.render();b.flags|=1;null!==a&&g?(b.child=Bh(b,a.child,null,f),b.child=Bh(b,null,h,f)):Yi(a,b,h,f);b.memoizedState=d.state;e&&dg(b,c,!0);return b.child}function lj(a){var b=a.stateNode;b.pendingContext?ag(a,b.pendingContext,b.pendingContext!==b.context):b.context&&ag(a,b.context,!1);Ih(a,b.containerInfo)}\nfunction mj(a,b,c,d,e){Ig();Jg(e);b.flags|=256;Yi(a,b,c,d);return b.child}var nj={dehydrated:null,treeContext:null,retryLane:0};function oj(a){return{baseLanes:a,cachePool:null,transitions:null}}\nfunction pj(a,b,c){var d=b.pendingProps,e=M.current,f=!1,g=0!==(b.flags&128),h;(h=g)||(h=null!==a&&null===a.memoizedState?!1:0!==(e&2));if(h)f=!0,b.flags&=-129;else if(null===a||null!==a.memoizedState)e|=1;G(M,e&1);if(null===a){Eg(b);a=b.memoizedState;if(null!==a&&(a=a.dehydrated,null!==a))return 0===(b.mode&1)?b.lanes=1:\"$!\"===a.data?b.lanes=8:b.lanes=1073741824,null;g=d.children;a=d.fallback;return f?(d=b.mode,f=b.child,g={mode:\"hidden\",children:g},0===(d&1)&&null!==f?(f.childLanes=0,f.pendingProps=\ng):f=qj(g,d,0,null),a=Ah(a,d,c,null),f.return=b,a.return=b,f.sibling=a,b.child=f,b.child.memoizedState=oj(c),b.memoizedState=nj,a):rj(b,g)}e=a.memoizedState;if(null!==e&&(h=e.dehydrated,null!==h))return sj(a,b,g,d,h,e,c);if(f){f=d.fallback;g=b.mode;e=a.child;h=e.sibling;var k={mode:\"hidden\",children:d.children};0===(g&1)&&b.child!==e?(d=b.child,d.childLanes=0,d.pendingProps=k,b.deletions=null):(d=wh(e,k),d.subtreeFlags=e.subtreeFlags&14680064);null!==h?f=wh(h,f):(f=Ah(f,g,c,null),f.flags|=2);f.return=\nb;d.return=b;d.sibling=f;b.child=d;d=f;f=b.child;g=a.child.memoizedState;g=null===g?oj(c):{baseLanes:g.baseLanes|c,cachePool:null,transitions:g.transitions};f.memoizedState=g;f.childLanes=a.childLanes&~c;b.memoizedState=nj;return d}f=a.child;a=f.sibling;d=wh(f,{mode:\"visible\",children:d.children});0===(b.mode&1)&&(d.lanes=c);d.return=b;d.sibling=null;null!==a&&(c=b.deletions,null===c?(b.deletions=[a],b.flags|=16):c.push(a));b.child=d;b.memoizedState=null;return d}\nfunction rj(a,b){b=qj({mode:\"visible\",children:b},a.mode,0,null);b.return=a;return a.child=b}function tj(a,b,c,d){null!==d&&Jg(d);Bh(b,a.child,null,c);a=rj(b,b.pendingProps.children);a.flags|=2;b.memoizedState=null;return a}\nfunction sj(a,b,c,d,e,f,g){if(c){if(b.flags&256)return b.flags&=-257,d=Li(Error(p(422))),tj(a,b,g,d);if(null!==b.memoizedState)return b.child=a.child,b.flags|=128,null;f=d.fallback;e=b.mode;d=qj({mode:\"visible\",children:d.children},e,0,null);f=Ah(f,e,g,null);f.flags|=2;d.return=b;f.return=b;d.sibling=f;b.child=d;0!==(b.mode&1)&&Bh(b,a.child,null,g);b.child.memoizedState=oj(g);b.memoizedState=nj;return f}if(0===(b.mode&1))return tj(a,b,g,null);if(\"$!\"===e.data){d=e.nextSibling&&e.nextSibling.dataset;\nif(d)var h=d.dgst;d=h;f=Error(p(419));d=Li(f,d,void 0);return tj(a,b,g,d)}h=0!==(g&a.childLanes);if(Ug||h){d=R;if(null!==d){switch(g&-g){case 4:e=2;break;case 16:e=8;break;case 64:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:e=32;break;case 536870912:e=268435456;break;default:e=0}e=0!==(e&(d.suspendedLanes|g))?0:e;\n0!==e&&e!==f.retryLane&&(f.retryLane=e,Zg(a,e),mh(d,a,e,-1))}uj();d=Li(Error(p(421)));return tj(a,b,g,d)}if(\"$?\"===e.data)return b.flags|=128,b.child=a.child,b=vj.bind(null,a),e._reactRetry=b,null;a=f.treeContext;yg=Lf(e.nextSibling);xg=b;I=!0;zg=null;null!==a&&(og[pg++]=rg,og[pg++]=sg,og[pg++]=qg,rg=a.id,sg=a.overflow,qg=b);b=rj(b,d.children);b.flags|=4096;return b}function wj(a,b,c){a.lanes|=b;var d=a.alternate;null!==d&&(d.lanes|=b);Sg(a.return,b,c)}\nfunction xj(a,b,c,d,e){var f=a.memoizedState;null===f?a.memoizedState={isBackwards:b,rendering:null,renderingStartTime:0,last:d,tail:c,tailMode:e}:(f.isBackwards=b,f.rendering=null,f.renderingStartTime=0,f.last=d,f.tail=c,f.tailMode=e)}\nfunction yj(a,b,c){var d=b.pendingProps,e=d.revealOrder,f=d.tail;Yi(a,b,d.children,c);d=M.current;if(0!==(d&2))d=d&1|2,b.flags|=128;else{if(null!==a&&0!==(a.flags&128))a:for(a=b.child;null!==a;){if(13===a.tag)null!==a.memoizedState&&wj(a,c,b);else if(19===a.tag)wj(a,c,b);else if(null!==a.child){a.child.return=a;a=a.child;continue}if(a===b)break a;for(;null===a.sibling;){if(null===a.return||a.return===b)break a;a=a.return}a.sibling.return=a.return;a=a.sibling}d&=1}G(M,d);if(0===(b.mode&1))b.memoizedState=\nnull;else switch(e){case \"forwards\":c=b.child;for(e=null;null!==c;)a=c.alternate,null!==a&&null===Mh(a)&&(e=c),c=c.sibling;c=e;null===c?(e=b.child,b.child=null):(e=c.sibling,c.sibling=null);xj(b,!1,e,c,f);break;case \"backwards\":c=null;e=b.child;for(b.child=null;null!==e;){a=e.alternate;if(null!==a&&null===Mh(a)){b.child=e;break}a=e.sibling;e.sibling=c;c=e;e=a}xj(b,!0,c,null,f);break;case \"together\":xj(b,!1,null,null,void 0);break;default:b.memoizedState=null}return b.child}\nfunction jj(a,b){0===(b.mode&1)&&null!==a&&(a.alternate=null,b.alternate=null,b.flags|=2)}function $i(a,b,c){null!==a&&(b.dependencies=a.dependencies);hh|=b.lanes;if(0===(c&b.childLanes))return null;if(null!==a&&b.child!==a.child)throw Error(p(153));if(null!==b.child){a=b.child;c=wh(a,a.pendingProps);b.child=c;for(c.return=b;null!==a.sibling;)a=a.sibling,c=c.sibling=wh(a,a.pendingProps),c.return=b;c.sibling=null}return b.child}\nfunction zj(a,b,c){switch(b.tag){case 3:lj(b);Ig();break;case 5:Kh(b);break;case 1:Zf(b.type)&&cg(b);break;case 4:Ih(b,b.stateNode.containerInfo);break;case 10:var d=b.type._context,e=b.memoizedProps.value;G(Mg,d._currentValue);d._currentValue=e;break;case 13:d=b.memoizedState;if(null!==d){if(null!==d.dehydrated)return G(M,M.current&1),b.flags|=128,null;if(0!==(c&b.child.childLanes))return pj(a,b,c);G(M,M.current&1);a=$i(a,b,c);return null!==a?a.sibling:null}G(M,M.current&1);break;case 19:d=0!==(c&\nb.childLanes);if(0!==(a.flags&128)){if(d)return yj(a,b,c);b.flags|=128}e=b.memoizedState;null!==e&&(e.rendering=null,e.tail=null,e.lastEffect=null);G(M,M.current);if(d)break;else return null;case 22:case 23:return b.lanes=0,ej(a,b,c)}return $i(a,b,c)}var Aj,Bj,Cj,Dj;\nAj=function(a,b){for(var c=b.child;null!==c;){if(5===c.tag||6===c.tag)a.appendChild(c.stateNode);else if(4!==c.tag&&null!==c.child){c.child.return=c;c=c.child;continue}if(c===b)break;for(;null===c.sibling;){if(null===c.return||c.return===b)return;c=c.return}c.sibling.return=c.return;c=c.sibling}};Bj=function(){};\nCj=function(a,b,c,d){var e=a.memoizedProps;if(e!==d){a=b.stateNode;Hh(Eh.current);var f=null;switch(c){case \"input\":e=Ya(a,e);d=Ya(a,d);f=[];break;case \"select\":e=A({},e,{value:void 0});d=A({},d,{value:void 0});f=[];break;case \"textarea\":e=gb(a,e);d=gb(a,d);f=[];break;default:\"function\"!==typeof e.onClick&&\"function\"===typeof d.onClick&&(a.onclick=Bf)}ub(c,d);var g;c=null;for(l in e)if(!d.hasOwnProperty(l)&&e.hasOwnProperty(l)&&null!=e[l])if(\"style\"===l){var h=e[l];for(g in h)h.hasOwnProperty(g)&&\n(c||(c={}),c[g]=\"\")}else\"dangerouslySetInnerHTML\"!==l&&\"children\"!==l&&\"suppressContentEditableWarning\"!==l&&\"suppressHydrationWarning\"!==l&&\"autoFocus\"!==l&&(ea.hasOwnProperty(l)?f||(f=[]):(f=f||[]).push(l,null));for(l in d){var k=d[l];h=null!=e?e[l]:void 0;if(d.hasOwnProperty(l)&&k!==h&&(null!=k||null!=h))if(\"style\"===l)if(h){for(g in h)!h.hasOwnProperty(g)||k&&k.hasOwnProperty(g)||(c||(c={}),c[g]=\"\");for(g in k)k.hasOwnProperty(g)&&h[g]!==k[g]&&(c||(c={}),c[g]=k[g])}else c||(f||(f=[]),f.push(l,\nc)),c=k;else\"dangerouslySetInnerHTML\"===l?(k=k?k.__html:void 0,h=h?h.__html:void 0,null!=k&&h!==k&&(f=f||[]).push(l,k)):\"children\"===l?\"string\"!==typeof k&&\"number\"!==typeof k||(f=f||[]).push(l,\"\"+k):\"suppressContentEditableWarning\"!==l&&\"suppressHydrationWarning\"!==l&&(ea.hasOwnProperty(l)?(null!=k&&\"onScroll\"===l&&D(\"scroll\",a),f||h===k||(f=[])):(f=f||[]).push(l,k))}c&&(f=f||[]).push(\"style\",c);var l=f;if(b.updateQueue=l)b.flags|=4}};Dj=function(a,b,c,d){c!==d&&(b.flags|=4)};\nfunction Ej(a,b){if(!I)switch(a.tailMode){case \"hidden\":b=a.tail;for(var c=null;null!==b;)null!==b.alternate&&(c=b),b=b.sibling;null===c?a.tail=null:c.sibling=null;break;case \"collapsed\":c=a.tail;for(var d=null;null!==c;)null!==c.alternate&&(d=c),c=c.sibling;null===d?b||null===a.tail?a.tail=null:a.tail.sibling=null:d.sibling=null}}\nfunction S(a){var b=null!==a.alternate&&a.alternate.child===a.child,c=0,d=0;if(b)for(var e=a.child;null!==e;)c|=e.lanes|e.childLanes,d|=e.subtreeFlags&14680064,d|=e.flags&14680064,e.return=a,e=e.sibling;else for(e=a.child;null!==e;)c|=e.lanes|e.childLanes,d|=e.subtreeFlags,d|=e.flags,e.return=a,e=e.sibling;a.subtreeFlags|=d;a.childLanes=c;return b}\nfunction Fj(a,b,c){var d=b.pendingProps;wg(b);switch(b.tag){case 2:case 16:case 15:case 0:case 11:case 7:case 8:case 12:case 9:case 14:return S(b),null;case 1:return Zf(b.type)&&$f(),S(b),null;case 3:d=b.stateNode;Jh();E(Wf);E(H);Oh();d.pendingContext&&(d.context=d.pendingContext,d.pendingContext=null);if(null===a||null===a.child)Gg(b)?b.flags|=4:null===a||a.memoizedState.isDehydrated&&0===(b.flags&256)||(b.flags|=1024,null!==zg&&(Gj(zg),zg=null));Bj(a,b);S(b);return null;case 5:Lh(b);var e=Hh(Gh.current);\nc=b.type;if(null!==a&&null!=b.stateNode)Cj(a,b,c,d,e),a.ref!==b.ref&&(b.flags|=512,b.flags|=2097152);else{if(!d){if(null===b.stateNode)throw Error(p(166));S(b);return null}a=Hh(Eh.current);if(Gg(b)){d=b.stateNode;c=b.type;var f=b.memoizedProps;d[Of]=b;d[Pf]=f;a=0!==(b.mode&1);switch(c){case \"dialog\":D(\"cancel\",d);D(\"close\",d);break;case \"iframe\":case \"object\":case \"embed\":D(\"load\",d);break;case \"video\":case \"audio\":for(e=0;e<lf.length;e++)D(lf[e],d);break;case \"source\":D(\"error\",d);break;case \"img\":case \"image\":case \"link\":D(\"error\",\nd);D(\"load\",d);break;case \"details\":D(\"toggle\",d);break;case \"input\":Za(d,f);D(\"invalid\",d);break;case \"select\":d._wrapperState={wasMultiple:!!f.multiple};D(\"invalid\",d);break;case \"textarea\":hb(d,f),D(\"invalid\",d)}ub(c,f);e=null;for(var g in f)if(f.hasOwnProperty(g)){var h=f[g];\"children\"===g?\"string\"===typeof h?d.textContent!==h&&(!0!==f.suppressHydrationWarning&&Af(d.textContent,h,a),e=[\"children\",h]):\"number\"===typeof h&&d.textContent!==\"\"+h&&(!0!==f.suppressHydrationWarning&&Af(d.textContent,\nh,a),e=[\"children\",\"\"+h]):ea.hasOwnProperty(g)&&null!=h&&\"onScroll\"===g&&D(\"scroll\",d)}switch(c){case \"input\":Va(d);db(d,f,!0);break;case \"textarea\":Va(d);jb(d);break;case \"select\":case \"option\":break;default:\"function\"===typeof f.onClick&&(d.onclick=Bf)}d=e;b.updateQueue=d;null!==d&&(b.flags|=4)}else{g=9===e.nodeType?e:e.ownerDocument;\"http://www.w3.org/1999/xhtml\"===a&&(a=kb(c));\"http://www.w3.org/1999/xhtml\"===a?\"script\"===c?(a=g.createElement(\"div\"),a.innerHTML=\"<script>\\x3c/script>\",a=a.removeChild(a.firstChild)):\n\"string\"===typeof d.is?a=g.createElement(c,{is:d.is}):(a=g.createElement(c),\"select\"===c&&(g=a,d.multiple?g.multiple=!0:d.size&&(g.size=d.size))):a=g.createElementNS(a,c);a[Of]=b;a[Pf]=d;Aj(a,b,!1,!1);b.stateNode=a;a:{g=vb(c,d);switch(c){case \"dialog\":D(\"cancel\",a);D(\"close\",a);e=d;break;case \"iframe\":case \"object\":case \"embed\":D(\"load\",a);e=d;break;case \"video\":case \"audio\":for(e=0;e<lf.length;e++)D(lf[e],a);e=d;break;case \"source\":D(\"error\",a);e=d;break;case \"img\":case \"image\":case \"link\":D(\"error\",\na);D(\"load\",a);e=d;break;case \"details\":D(\"toggle\",a);e=d;break;case \"input\":Za(a,d);e=Ya(a,d);D(\"invalid\",a);break;case \"option\":e=d;break;case \"select\":a._wrapperState={wasMultiple:!!d.multiple};e=A({},d,{value:void 0});D(\"invalid\",a);break;case \"textarea\":hb(a,d);e=gb(a,d);D(\"invalid\",a);break;default:e=d}ub(c,e);h=e;for(f in h)if(h.hasOwnProperty(f)){var k=h[f];\"style\"===f?sb(a,k):\"dangerouslySetInnerHTML\"===f?(k=k?k.__html:void 0,null!=k&&nb(a,k)):\"children\"===f?\"string\"===typeof k?(\"textarea\"!==\nc||\"\"!==k)&&ob(a,k):\"number\"===typeof k&&ob(a,\"\"+k):\"suppressContentEditableWarning\"!==f&&\"suppressHydrationWarning\"!==f&&\"autoFocus\"!==f&&(ea.hasOwnProperty(f)?null!=k&&\"onScroll\"===f&&D(\"scroll\",a):null!=k&&ta(a,f,k,g))}switch(c){case \"input\":Va(a);db(a,d,!1);break;case \"textarea\":Va(a);jb(a);break;case \"option\":null!=d.value&&a.setAttribute(\"value\",\"\"+Sa(d.value));break;case \"select\":a.multiple=!!d.multiple;f=d.value;null!=f?fb(a,!!d.multiple,f,!1):null!=d.defaultValue&&fb(a,!!d.multiple,d.defaultValue,\n!0);break;default:\"function\"===typeof e.onClick&&(a.onclick=Bf)}switch(c){case \"button\":case \"input\":case \"select\":case \"textarea\":d=!!d.autoFocus;break a;case \"img\":d=!0;break a;default:d=!1}}d&&(b.flags|=4)}null!==b.ref&&(b.flags|=512,b.flags|=2097152)}S(b);return null;case 6:if(a&&null!=b.stateNode)Dj(a,b,a.memoizedProps,d);else{if(\"string\"!==typeof d&&null===b.stateNode)throw Error(p(166));c=Hh(Gh.current);Hh(Eh.current);if(Gg(b)){d=b.stateNode;c=b.memoizedProps;d[Of]=b;if(f=d.nodeValue!==c)if(a=\nxg,null!==a)switch(a.tag){case 3:Af(d.nodeValue,c,0!==(a.mode&1));break;case 5:!0!==a.memoizedProps.suppressHydrationWarning&&Af(d.nodeValue,c,0!==(a.mode&1))}f&&(b.flags|=4)}else d=(9===c.nodeType?c:c.ownerDocument).createTextNode(d),d[Of]=b,b.stateNode=d}S(b);return null;case 13:E(M);d=b.memoizedState;if(null===a||null!==a.memoizedState&&null!==a.memoizedState.dehydrated){if(I&&null!==yg&&0!==(b.mode&1)&&0===(b.flags&128))Hg(),Ig(),b.flags|=98560,f=!1;else if(f=Gg(b),null!==d&&null!==d.dehydrated){if(null===\na){if(!f)throw Error(p(318));f=b.memoizedState;f=null!==f?f.dehydrated:null;if(!f)throw Error(p(317));f[Of]=b}else Ig(),0===(b.flags&128)&&(b.memoizedState=null),b.flags|=4;S(b);f=!1}else null!==zg&&(Gj(zg),zg=null),f=!0;if(!f)return b.flags&65536?b:null}if(0!==(b.flags&128))return b.lanes=c,b;d=null!==d;d!==(null!==a&&null!==a.memoizedState)&&d&&(b.child.flags|=8192,0!==(b.mode&1)&&(null===a||0!==(M.current&1)?0===T&&(T=3):uj()));null!==b.updateQueue&&(b.flags|=4);S(b);return null;case 4:return Jh(),\nBj(a,b),null===a&&sf(b.stateNode.containerInfo),S(b),null;case 10:return Rg(b.type._context),S(b),null;case 17:return Zf(b.type)&&$f(),S(b),null;case 19:E(M);f=b.memoizedState;if(null===f)return S(b),null;d=0!==(b.flags&128);g=f.rendering;if(null===g)if(d)Ej(f,!1);else{if(0!==T||null!==a&&0!==(a.flags&128))for(a=b.child;null!==a;){g=Mh(a);if(null!==g){b.flags|=128;Ej(f,!1);d=g.updateQueue;null!==d&&(b.updateQueue=d,b.flags|=4);b.subtreeFlags=0;d=c;for(c=b.child;null!==c;)f=c,a=d,f.flags&=14680066,\ng=f.alternate,null===g?(f.childLanes=0,f.lanes=a,f.child=null,f.subtreeFlags=0,f.memoizedProps=null,f.memoizedState=null,f.updateQueue=null,f.dependencies=null,f.stateNode=null):(f.childLanes=g.childLanes,f.lanes=g.lanes,f.child=g.child,f.subtreeFlags=0,f.deletions=null,f.memoizedProps=g.memoizedProps,f.memoizedState=g.memoizedState,f.updateQueue=g.updateQueue,f.type=g.type,a=g.dependencies,f.dependencies=null===a?null:{lanes:a.lanes,firstContext:a.firstContext}),c=c.sibling;G(M,M.current&1|2);return b.child}a=\na.sibling}null!==f.tail&&B()>Hj&&(b.flags|=128,d=!0,Ej(f,!1),b.lanes=4194304)}else{if(!d)if(a=Mh(g),null!==a){if(b.flags|=128,d=!0,c=a.updateQueue,null!==c&&(b.updateQueue=c,b.flags|=4),Ej(f,!0),null===f.tail&&\"hidden\"===f.tailMode&&!g.alternate&&!I)return S(b),null}else 2*B()-f.renderingStartTime>Hj&&1073741824!==c&&(b.flags|=128,d=!0,Ej(f,!1),b.lanes=4194304);f.isBackwards?(g.sibling=b.child,b.child=g):(c=f.last,null!==c?c.sibling=g:b.child=g,f.last=g)}if(null!==f.tail)return b=f.tail,f.rendering=\nb,f.tail=b.sibling,f.renderingStartTime=B(),b.sibling=null,c=M.current,G(M,d?c&1|2:c&1),b;S(b);return null;case 22:case 23:return Ij(),d=null!==b.memoizedState,null!==a&&null!==a.memoizedState!==d&&(b.flags|=8192),d&&0!==(b.mode&1)?0!==(gj&1073741824)&&(S(b),b.subtreeFlags&6&&(b.flags|=8192)):S(b),null;case 24:return null;case 25:return null}throw Error(p(156,b.tag));}\nfunction Jj(a,b){wg(b);switch(b.tag){case 1:return Zf(b.type)&&$f(),a=b.flags,a&65536?(b.flags=a&-65537|128,b):null;case 3:return Jh(),E(Wf),E(H),Oh(),a=b.flags,0!==(a&65536)&&0===(a&128)?(b.flags=a&-65537|128,b):null;case 5:return Lh(b),null;case 13:E(M);a=b.memoizedState;if(null!==a&&null!==a.dehydrated){if(null===b.alternate)throw Error(p(340));Ig()}a=b.flags;return a&65536?(b.flags=a&-65537|128,b):null;case 19:return E(M),null;case 4:return Jh(),null;case 10:return Rg(b.type._context),null;case 22:case 23:return Ij(),\nnull;case 24:return null;default:return null}}var Kj=!1,U=!1,Lj=\"function\"===typeof WeakSet?WeakSet:Set,V=null;function Mj(a,b){var c=a.ref;if(null!==c)if(\"function\"===typeof c)try{c(null)}catch(d){W(a,b,d)}else c.current=null}function Nj(a,b,c){try{c()}catch(d){W(a,b,d)}}var Oj=!1;\nfunction Pj(a,b){Cf=dd;a=Me();if(Ne(a)){if(\"selectionStart\"in a)var c={start:a.selectionStart,end:a.selectionEnd};else a:{c=(c=a.ownerDocument)&&c.defaultView||window;var d=c.getSelection&&c.getSelection();if(d&&0!==d.rangeCount){c=d.anchorNode;var e=d.anchorOffset,f=d.focusNode;d=d.focusOffset;try{c.nodeType,f.nodeType}catch(F){c=null;break a}var g=0,h=-1,k=-1,l=0,m=0,q=a,r=null;b:for(;;){for(var y;;){q!==c||0!==e&&3!==q.nodeType||(h=g+e);q!==f||0!==d&&3!==q.nodeType||(k=g+d);3===q.nodeType&&(g+=\nq.nodeValue.length);if(null===(y=q.firstChild))break;r=q;q=y}for(;;){if(q===a)break b;r===c&&++l===e&&(h=g);r===f&&++m===d&&(k=g);if(null!==(y=q.nextSibling))break;q=r;r=q.parentNode}q=y}c=-1===h||-1===k?null:{start:h,end:k}}else c=null}c=c||{start:0,end:0}}else c=null;Df={focusedElem:a,selectionRange:c};dd=!1;for(V=b;null!==V;)if(b=V,a=b.child,0!==(b.subtreeFlags&1028)&&null!==a)a.return=b,V=a;else for(;null!==V;){b=V;try{var n=b.alternate;if(0!==(b.flags&1024))switch(b.tag){case 0:case 11:case 15:break;\ncase 1:if(null!==n){var t=n.memoizedProps,J=n.memoizedState,x=b.stateNode,w=x.getSnapshotBeforeUpdate(b.elementType===b.type?t:Lg(b.type,t),J);x.__reactInternalSnapshotBeforeUpdate=w}break;case 3:var u=b.stateNode.containerInfo;1===u.nodeType?u.textContent=\"\":9===u.nodeType&&u.documentElement&&u.removeChild(u.documentElement);break;case 5:case 6:case 4:case 17:break;default:throw Error(p(163));}}catch(F){W(b,b.return,F)}a=b.sibling;if(null!==a){a.return=b.return;V=a;break}V=b.return}n=Oj;Oj=!1;return n}\nfunction Qj(a,b,c){var d=b.updateQueue;d=null!==d?d.lastEffect:null;if(null!==d){var e=d=d.next;do{if((e.tag&a)===a){var f=e.destroy;e.destroy=void 0;void 0!==f&&Nj(b,c,f)}e=e.next}while(e!==d)}}function Rj(a,b){b=b.updateQueue;b=null!==b?b.lastEffect:null;if(null!==b){var c=b=b.next;do{if((c.tag&a)===a){var d=c.create;c.destroy=d()}c=c.next}while(c!==b)}}function Sj(a){var b=a.ref;if(null!==b){var c=a.stateNode;switch(a.tag){case 5:a=c;break;default:a=c}\"function\"===typeof b?b(a):b.current=a}}\nfunction Tj(a){var b=a.alternate;null!==b&&(a.alternate=null,Tj(b));a.child=null;a.deletions=null;a.sibling=null;5===a.tag&&(b=a.stateNode,null!==b&&(delete b[Of],delete b[Pf],delete b[of],delete b[Qf],delete b[Rf]));a.stateNode=null;a.return=null;a.dependencies=null;a.memoizedProps=null;a.memoizedState=null;a.pendingProps=null;a.stateNode=null;a.updateQueue=null}function Uj(a){return 5===a.tag||3===a.tag||4===a.tag}\nfunction Vj(a){a:for(;;){for(;null===a.sibling;){if(null===a.return||Uj(a.return))return null;a=a.return}a.sibling.return=a.return;for(a=a.sibling;5!==a.tag&&6!==a.tag&&18!==a.tag;){if(a.flags&2)continue a;if(null===a.child||4===a.tag)continue a;else a.child.return=a,a=a.child}if(!(a.flags&2))return a.stateNode}}\nfunction Wj(a,b,c){var d=a.tag;if(5===d||6===d)a=a.stateNode,b?8===c.nodeType?c.parentNode.insertBefore(a,b):c.insertBefore(a,b):(8===c.nodeType?(b=c.parentNode,b.insertBefore(a,c)):(b=c,b.appendChild(a)),c=c._reactRootContainer,null!==c&&void 0!==c||null!==b.onclick||(b.onclick=Bf));else if(4!==d&&(a=a.child,null!==a))for(Wj(a,b,c),a=a.sibling;null!==a;)Wj(a,b,c),a=a.sibling}\nfunction Xj(a,b,c){var d=a.tag;if(5===d||6===d)a=a.stateNode,b?c.insertBefore(a,b):c.appendChild(a);else if(4!==d&&(a=a.child,null!==a))for(Xj(a,b,c),a=a.sibling;null!==a;)Xj(a,b,c),a=a.sibling}var X=null,Yj=!1;function Zj(a,b,c){for(c=c.child;null!==c;)ak(a,b,c),c=c.sibling}\nfunction ak(a,b,c){if(lc&&\"function\"===typeof lc.onCommitFiberUnmount)try{lc.onCommitFiberUnmount(kc,c)}catch(h){}switch(c.tag){case 5:U||Mj(c,b);case 6:var d=X,e=Yj;X=null;Zj(a,b,c);X=d;Yj=e;null!==X&&(Yj?(a=X,c=c.stateNode,8===a.nodeType?a.parentNode.removeChild(c):a.removeChild(c)):X.removeChild(c.stateNode));break;case 18:null!==X&&(Yj?(a=X,c=c.stateNode,8===a.nodeType?Kf(a.parentNode,c):1===a.nodeType&&Kf(a,c),bd(a)):Kf(X,c.stateNode));break;case 4:d=X;e=Yj;X=c.stateNode.containerInfo;Yj=!0;\nZj(a,b,c);X=d;Yj=e;break;case 0:case 11:case 14:case 15:if(!U&&(d=c.updateQueue,null!==d&&(d=d.lastEffect,null!==d))){e=d=d.next;do{var f=e,g=f.destroy;f=f.tag;void 0!==g&&(0!==(f&2)?Nj(c,b,g):0!==(f&4)&&Nj(c,b,g));e=e.next}while(e!==d)}Zj(a,b,c);break;case 1:if(!U&&(Mj(c,b),d=c.stateNode,\"function\"===typeof d.componentWillUnmount))try{d.props=c.memoizedProps,d.state=c.memoizedState,d.componentWillUnmount()}catch(h){W(c,b,h)}Zj(a,b,c);break;case 21:Zj(a,b,c);break;case 22:c.mode&1?(U=(d=U)||null!==\nc.memoizedState,Zj(a,b,c),U=d):Zj(a,b,c);break;default:Zj(a,b,c)}}function bk(a){var b=a.updateQueue;if(null!==b){a.updateQueue=null;var c=a.stateNode;null===c&&(c=a.stateNode=new Lj);b.forEach(function(b){var d=ck.bind(null,a,b);c.has(b)||(c.add(b),b.then(d,d))})}}\nfunction dk(a,b){var c=b.deletions;if(null!==c)for(var d=0;d<c.length;d++){var e=c[d];try{var f=a,g=b,h=g;a:for(;null!==h;){switch(h.tag){case 5:X=h.stateNode;Yj=!1;break a;case 3:X=h.stateNode.containerInfo;Yj=!0;break a;case 4:X=h.stateNode.containerInfo;Yj=!0;break a}h=h.return}if(null===X)throw Error(p(160));ak(f,g,e);X=null;Yj=!1;var k=e.alternate;null!==k&&(k.return=null);e.return=null}catch(l){W(e,b,l)}}if(b.subtreeFlags&12854)for(b=b.child;null!==b;)ek(b,a),b=b.sibling}\nfunction ek(a,b){var c=a.alternate,d=a.flags;switch(a.tag){case 0:case 11:case 14:case 15:dk(b,a);fk(a);if(d&4){try{Qj(3,a,a.return),Rj(3,a)}catch(t){W(a,a.return,t)}try{Qj(5,a,a.return)}catch(t){W(a,a.return,t)}}break;case 1:dk(b,a);fk(a);d&512&&null!==c&&Mj(c,c.return);break;case 5:dk(b,a);fk(a);d&512&&null!==c&&Mj(c,c.return);if(a.flags&32){var e=a.stateNode;try{ob(e,\"\")}catch(t){W(a,a.return,t)}}if(d&4&&(e=a.stateNode,null!=e)){var f=a.memoizedProps,g=null!==c?c.memoizedProps:f,h=a.type,k=a.updateQueue;\na.updateQueue=null;if(null!==k)try{\"input\"===h&&\"radio\"===f.type&&null!=f.name&&ab(e,f);vb(h,g);var l=vb(h,f);for(g=0;g<k.length;g+=2){var m=k[g],q=k[g+1];\"style\"===m?sb(e,q):\"dangerouslySetInnerHTML\"===m?nb(e,q):\"children\"===m?ob(e,q):ta(e,m,q,l)}switch(h){case \"input\":bb(e,f);break;case \"textarea\":ib(e,f);break;case \"select\":var r=e._wrapperState.wasMultiple;e._wrapperState.wasMultiple=!!f.multiple;var y=f.value;null!=y?fb(e,!!f.multiple,y,!1):r!==!!f.multiple&&(null!=f.defaultValue?fb(e,!!f.multiple,\nf.defaultValue,!0):fb(e,!!f.multiple,f.multiple?[]:\"\",!1))}e[Pf]=f}catch(t){W(a,a.return,t)}}break;case 6:dk(b,a);fk(a);if(d&4){if(null===a.stateNode)throw Error(p(162));e=a.stateNode;f=a.memoizedProps;try{e.nodeValue=f}catch(t){W(a,a.return,t)}}break;case 3:dk(b,a);fk(a);if(d&4&&null!==c&&c.memoizedState.isDehydrated)try{bd(b.containerInfo)}catch(t){W(a,a.return,t)}break;case 4:dk(b,a);fk(a);break;case 13:dk(b,a);fk(a);e=a.child;e.flags&8192&&(f=null!==e.memoizedState,e.stateNode.isHidden=f,!f||\nnull!==e.alternate&&null!==e.alternate.memoizedState||(gk=B()));d&4&&bk(a);break;case 22:m=null!==c&&null!==c.memoizedState;a.mode&1?(U=(l=U)||m,dk(b,a),U=l):dk(b,a);fk(a);if(d&8192){l=null!==a.memoizedState;if((a.stateNode.isHidden=l)&&!m&&0!==(a.mode&1))for(V=a,m=a.child;null!==m;){for(q=V=m;null!==V;){r=V;y=r.child;switch(r.tag){case 0:case 11:case 14:case 15:Qj(4,r,r.return);break;case 1:Mj(r,r.return);var n=r.stateNode;if(\"function\"===typeof n.componentWillUnmount){d=r;c=r.return;try{b=d,n.props=\nb.memoizedProps,n.state=b.memoizedState,n.componentWillUnmount()}catch(t){W(d,c,t)}}break;case 5:Mj(r,r.return);break;case 22:if(null!==r.memoizedState){hk(q);continue}}null!==y?(y.return=r,V=y):hk(q)}m=m.sibling}a:for(m=null,q=a;;){if(5===q.tag){if(null===m){m=q;try{e=q.stateNode,l?(f=e.style,\"function\"===typeof f.setProperty?f.setProperty(\"display\",\"none\",\"important\"):f.display=\"none\"):(h=q.stateNode,k=q.memoizedProps.style,g=void 0!==k&&null!==k&&k.hasOwnProperty(\"display\")?k.display:null,h.style.display=\nrb(\"display\",g))}catch(t){W(a,a.return,t)}}}else if(6===q.tag){if(null===m)try{q.stateNode.nodeValue=l?\"\":q.memoizedProps}catch(t){W(a,a.return,t)}}else if((22!==q.tag&&23!==q.tag||null===q.memoizedState||q===a)&&null!==q.child){q.child.return=q;q=q.child;continue}if(q===a)break a;for(;null===q.sibling;){if(null===q.return||q.return===a)break a;m===q&&(m=null);q=q.return}m===q&&(m=null);q.sibling.return=q.return;q=q.sibling}}break;case 19:dk(b,a);fk(a);d&4&&bk(a);break;case 21:break;default:dk(b,\na),fk(a)}}function fk(a){var b=a.flags;if(b&2){try{a:{for(var c=a.return;null!==c;){if(Uj(c)){var d=c;break a}c=c.return}throw Error(p(160));}switch(d.tag){case 5:var e=d.stateNode;d.flags&32&&(ob(e,\"\"),d.flags&=-33);var f=Vj(a);Xj(a,f,e);break;case 3:case 4:var g=d.stateNode.containerInfo,h=Vj(a);Wj(a,h,g);break;default:throw Error(p(161));}}catch(k){W(a,a.return,k)}a.flags&=-3}b&4096&&(a.flags&=-4097)}function ik(a,b,c){V=a;jk(a,b,c)}\nfunction jk(a,b,c){for(var d=0!==(a.mode&1);null!==V;){var e=V,f=e.child;if(22===e.tag&&d){var g=null!==e.memoizedState||Kj;if(!g){var h=e.alternate,k=null!==h&&null!==h.memoizedState||U;h=Kj;var l=U;Kj=g;if((U=k)&&!l)for(V=e;null!==V;)g=V,k=g.child,22===g.tag&&null!==g.memoizedState?kk(e):null!==k?(k.return=g,V=k):kk(e);for(;null!==f;)V=f,jk(f,b,c),f=f.sibling;V=e;Kj=h;U=l}lk(a,b,c)}else 0!==(e.subtreeFlags&8772)&&null!==f?(f.return=e,V=f):lk(a,b,c)}}\nfunction lk(a){for(;null!==V;){var b=V;if(0!==(b.flags&8772)){var c=b.alternate;try{if(0!==(b.flags&8772))switch(b.tag){case 0:case 11:case 15:U||Rj(5,b);break;case 1:var d=b.stateNode;if(b.flags&4&&!U)if(null===c)d.componentDidMount();else{var e=b.elementType===b.type?c.memoizedProps:Lg(b.type,c.memoizedProps);d.componentDidUpdate(e,c.memoizedState,d.__reactInternalSnapshotBeforeUpdate)}var f=b.updateQueue;null!==f&&ih(b,f,d);break;case 3:var g=b.updateQueue;if(null!==g){c=null;if(null!==b.child)switch(b.child.tag){case 5:c=\nb.child.stateNode;break;case 1:c=b.child.stateNode}ih(b,g,c)}break;case 5:var h=b.stateNode;if(null===c&&b.flags&4){c=h;var k=b.memoizedProps;switch(b.type){case \"button\":case \"input\":case \"select\":case \"textarea\":k.autoFocus&&c.focus();break;case \"img\":k.src&&(c.src=k.src)}}break;case 6:break;case 4:break;case 12:break;case 13:if(null===b.memoizedState){var l=b.alternate;if(null!==l){var m=l.memoizedState;if(null!==m){var q=m.dehydrated;null!==q&&bd(q)}}}break;case 19:case 17:case 21:case 22:case 23:case 25:break;\ndefault:throw Error(p(163));}U||b.flags&512&&Sj(b)}catch(r){W(b,b.return,r)}}if(b===a){V=null;break}c=b.sibling;if(null!==c){c.return=b.return;V=c;break}V=b.return}}function hk(a){for(;null!==V;){var b=V;if(b===a){V=null;break}var c=b.sibling;if(null!==c){c.return=b.return;V=c;break}V=b.return}}\nfunction kk(a){for(;null!==V;){var b=V;try{switch(b.tag){case 0:case 11:case 15:var c=b.return;try{Rj(4,b)}catch(k){W(b,c,k)}break;case 1:var d=b.stateNode;if(\"function\"===typeof d.componentDidMount){var e=b.return;try{d.componentDidMount()}catch(k){W(b,e,k)}}var f=b.return;try{Sj(b)}catch(k){W(b,f,k)}break;case 5:var g=b.return;try{Sj(b)}catch(k){W(b,g,k)}}}catch(k){W(b,b.return,k)}if(b===a){V=null;break}var h=b.sibling;if(null!==h){h.return=b.return;V=h;break}V=b.return}}\nvar mk=Math.ceil,nk=ua.ReactCurrentDispatcher,ok=ua.ReactCurrentOwner,pk=ua.ReactCurrentBatchConfig,K=0,R=null,Y=null,Z=0,gj=0,fj=Uf(0),T=0,qk=null,hh=0,rk=0,sk=0,tk=null,uk=null,gk=0,Hj=Infinity,vk=null,Pi=!1,Qi=null,Si=null,wk=!1,xk=null,yk=0,zk=0,Ak=null,Bk=-1,Ck=0;function L(){return 0!==(K&6)?B():-1!==Bk?Bk:Bk=B()}\nfunction lh(a){if(0===(a.mode&1))return 1;if(0!==(K&2)&&0!==Z)return Z&-Z;if(null!==Kg.transition)return 0===Ck&&(Ck=yc()),Ck;a=C;if(0!==a)return a;a=window.event;a=void 0===a?16:jd(a.type);return a}function mh(a,b,c,d){if(50<zk)throw zk=0,Ak=null,Error(p(185));Ac(a,c,d);if(0===(K&2)||a!==R)a===R&&(0===(K&2)&&(rk|=c),4===T&&Dk(a,Z)),Ek(a,d),1===c&&0===K&&0===(b.mode&1)&&(Hj=B()+500,fg&&jg())}\nfunction Ek(a,b){var c=a.callbackNode;wc(a,b);var d=uc(a,a===R?Z:0);if(0===d)null!==c&&bc(c),a.callbackNode=null,a.callbackPriority=0;else if(b=d&-d,a.callbackPriority!==b){null!=c&&bc(c);if(1===b)0===a.tag?ig(Fk.bind(null,a)):hg(Fk.bind(null,a)),Jf(function(){0===(K&6)&&jg()}),c=null;else{switch(Dc(d)){case 1:c=fc;break;case 4:c=gc;break;case 16:c=hc;break;case 536870912:c=jc;break;default:c=hc}c=Gk(c,Hk.bind(null,a))}a.callbackPriority=b;a.callbackNode=c}}\nfunction Hk(a,b){Bk=-1;Ck=0;if(0!==(K&6))throw Error(p(327));var c=a.callbackNode;if(Ik()&&a.callbackNode!==c)return null;var d=uc(a,a===R?Z:0);if(0===d)return null;if(0!==(d&30)||0!==(d&a.expiredLanes)||b)b=Jk(a,d);else{b=d;var e=K;K|=2;var f=Kk();if(R!==a||Z!==b)vk=null,Hj=B()+500,Lk(a,b);do try{Mk();break}catch(h){Nk(a,h)}while(1);Qg();nk.current=f;K=e;null!==Y?b=0:(R=null,Z=0,b=T)}if(0!==b){2===b&&(e=xc(a),0!==e&&(d=e,b=Ok(a,e)));if(1===b)throw c=qk,Lk(a,0),Dk(a,d),Ek(a,B()),c;if(6===b)Dk(a,d);\nelse{e=a.current.alternate;if(0===(d&30)&&!Pk(e)&&(b=Jk(a,d),2===b&&(f=xc(a),0!==f&&(d=f,b=Ok(a,f))),1===b))throw c=qk,Lk(a,0),Dk(a,d),Ek(a,B()),c;a.finishedWork=e;a.finishedLanes=d;switch(b){case 0:case 1:throw Error(p(345));case 2:Qk(a,uk,vk);break;case 3:Dk(a,d);if((d&130023424)===d&&(b=gk+500-B(),10<b)){if(0!==uc(a,0))break;e=a.suspendedLanes;if((e&d)!==d){L();a.pingedLanes|=a.suspendedLanes&e;break}a.timeoutHandle=Ff(Qk.bind(null,a,uk,vk),b);break}Qk(a,uk,vk);break;case 4:Dk(a,d);if((d&4194240)===\nd)break;b=a.eventTimes;for(e=-1;0<d;){var g=31-oc(d);f=1<<g;g=b[g];g>e&&(e=g);d&=~f}d=e;d=B()-d;d=(120>d?120:480>d?480:1080>d?1080:1920>d?1920:3E3>d?3E3:4320>d?4320:1960*mk(d/1960))-d;if(10<d){a.timeoutHandle=Ff(Qk.bind(null,a,uk,vk),d);break}Qk(a,uk,vk);break;case 5:Qk(a,uk,vk);break;default:throw Error(p(329));}}}Ek(a,B());return a.callbackNode===c?Hk.bind(null,a):null}\nfunction Ok(a,b){var c=tk;a.current.memoizedState.isDehydrated&&(Lk(a,b).flags|=256);a=Jk(a,b);2!==a&&(b=uk,uk=c,null!==b&&Gj(b));return a}function Gj(a){null===uk?uk=a:uk.push.apply(uk,a)}\nfunction Pk(a){for(var b=a;;){if(b.flags&16384){var c=b.updateQueue;if(null!==c&&(c=c.stores,null!==c))for(var d=0;d<c.length;d++){var e=c[d],f=e.getSnapshot;e=e.value;try{if(!He(f(),e))return!1}catch(g){return!1}}}c=b.child;if(b.subtreeFlags&16384&&null!==c)c.return=b,b=c;else{if(b===a)break;for(;null===b.sibling;){if(null===b.return||b.return===a)return!0;b=b.return}b.sibling.return=b.return;b=b.sibling}}return!0}\nfunction Dk(a,b){b&=~sk;b&=~rk;a.suspendedLanes|=b;a.pingedLanes&=~b;for(a=a.expirationTimes;0<b;){var c=31-oc(b),d=1<<c;a[c]=-1;b&=~d}}function Fk(a){if(0!==(K&6))throw Error(p(327));Ik();var b=uc(a,0);if(0===(b&1))return Ek(a,B()),null;var c=Jk(a,b);if(0!==a.tag&&2===c){var d=xc(a);0!==d&&(b=d,c=Ok(a,d))}if(1===c)throw c=qk,Lk(a,0),Dk(a,b),Ek(a,B()),c;if(6===c)throw Error(p(345));a.finishedWork=a.current.alternate;a.finishedLanes=b;Qk(a,uk,vk);Ek(a,B());return null}\nfunction Rk(a,b){var c=K;K|=1;try{return a(b)}finally{K=c,0===K&&(Hj=B()+500,fg&&jg())}}function Sk(a){null!==xk&&0===xk.tag&&0===(K&6)&&Ik();var b=K;K|=1;var c=pk.transition,d=C;try{if(pk.transition=null,C=1,a)return a()}finally{C=d,pk.transition=c,K=b,0===(K&6)&&jg()}}function Ij(){gj=fj.current;E(fj)}\nfunction Lk(a,b){a.finishedWork=null;a.finishedLanes=0;var c=a.timeoutHandle;-1!==c&&(a.timeoutHandle=-1,Gf(c));if(null!==Y)for(c=Y.return;null!==c;){var d=c;wg(d);switch(d.tag){case 1:d=d.type.childContextTypes;null!==d&&void 0!==d&&$f();break;case 3:Jh();E(Wf);E(H);Oh();break;case 5:Lh(d);break;case 4:Jh();break;case 13:E(M);break;case 19:E(M);break;case 10:Rg(d.type._context);break;case 22:case 23:Ij()}c=c.return}R=a;Y=a=wh(a.current,null);Z=gj=b;T=0;qk=null;sk=rk=hh=0;uk=tk=null;if(null!==Wg){for(b=\n0;b<Wg.length;b++)if(c=Wg[b],d=c.interleaved,null!==d){c.interleaved=null;var e=d.next,f=c.pending;if(null!==f){var g=f.next;f.next=e;d.next=g}c.pending=d}Wg=null}return a}\nfunction Nk(a,b){do{var c=Y;try{Qg();Ph.current=ai;if(Sh){for(var d=N.memoizedState;null!==d;){var e=d.queue;null!==e&&(e.pending=null);d=d.next}Sh=!1}Rh=0;P=O=N=null;Th=!1;Uh=0;ok.current=null;if(null===c||null===c.return){T=1;qk=b;Y=null;break}a:{var f=a,g=c.return,h=c,k=b;b=Z;h.flags|=32768;if(null!==k&&\"object\"===typeof k&&\"function\"===typeof k.then){var l=k,m=h,q=m.tag;if(0===(m.mode&1)&&(0===q||11===q||15===q)){var r=m.alternate;r?(m.updateQueue=r.updateQueue,m.memoizedState=r.memoizedState,\nm.lanes=r.lanes):(m.updateQueue=null,m.memoizedState=null)}var y=Vi(g);if(null!==y){y.flags&=-257;Wi(y,g,h,f,b);y.mode&1&&Ti(f,l,b);b=y;k=l;var n=b.updateQueue;if(null===n){var t=new Set;t.add(k);b.updateQueue=t}else n.add(k);break a}else{if(0===(b&1)){Ti(f,l,b);uj();break a}k=Error(p(426))}}else if(I&&h.mode&1){var J=Vi(g);if(null!==J){0===(J.flags&65536)&&(J.flags|=256);Wi(J,g,h,f,b);Jg(Ki(k,h));break a}}f=k=Ki(k,h);4!==T&&(T=2);null===tk?tk=[f]:tk.push(f);f=g;do{switch(f.tag){case 3:f.flags|=65536;\nb&=-b;f.lanes|=b;var x=Oi(f,k,b);fh(f,x);break a;case 1:h=k;var w=f.type,u=f.stateNode;if(0===(f.flags&128)&&(\"function\"===typeof w.getDerivedStateFromError||null!==u&&\"function\"===typeof u.componentDidCatch&&(null===Si||!Si.has(u)))){f.flags|=65536;b&=-b;f.lanes|=b;var F=Ri(f,h,b);fh(f,F);break a}}f=f.return}while(null!==f)}Tk(c)}catch(na){b=na;Y===c&&null!==c&&(Y=c=c.return);continue}break}while(1)}function Kk(){var a=nk.current;nk.current=ai;return null===a?ai:a}\nfunction uj(){if(0===T||3===T||2===T)T=4;null===R||0===(hh&268435455)&&0===(rk&268435455)||Dk(R,Z)}function Jk(a,b){var c=K;K|=2;var d=Kk();if(R!==a||Z!==b)vk=null,Lk(a,b);do try{Uk();break}catch(e){Nk(a,e)}while(1);Qg();K=c;nk.current=d;if(null!==Y)throw Error(p(261));R=null;Z=0;return T}function Uk(){for(;null!==Y;)Vk(Y)}function Mk(){for(;null!==Y&&!cc();)Vk(Y)}function Vk(a){var b=Wk(a.alternate,a,gj);a.memoizedProps=a.pendingProps;null===b?Tk(a):Y=b;ok.current=null}\nfunction Tk(a){var b=a;do{var c=b.alternate;a=b.return;if(0===(b.flags&32768)){if(c=Fj(c,b,gj),null!==c){Y=c;return}}else{c=Jj(c,b);if(null!==c){c.flags&=32767;Y=c;return}if(null!==a)a.flags|=32768,a.subtreeFlags=0,a.deletions=null;else{T=6;Y=null;return}}b=b.sibling;if(null!==b){Y=b;return}Y=b=a}while(null!==b);0===T&&(T=5)}function Qk(a,b,c){var d=C,e=pk.transition;try{pk.transition=null,C=1,Xk(a,b,c,d)}finally{pk.transition=e,C=d}return null}\nfunction Xk(a,b,c,d){do Ik();while(null!==xk);if(0!==(K&6))throw Error(p(327));c=a.finishedWork;var e=a.finishedLanes;if(null===c)return null;a.finishedWork=null;a.finishedLanes=0;if(c===a.current)throw Error(p(177));a.callbackNode=null;a.callbackPriority=0;var f=c.lanes|c.childLanes;Bc(a,f);a===R&&(Y=R=null,Z=0);0===(c.subtreeFlags&2064)&&0===(c.flags&2064)||wk||(wk=!0,Gk(hc,function(){Ik();return null}));f=0!==(c.flags&15990);if(0!==(c.subtreeFlags&15990)||f){f=pk.transition;pk.transition=null;\nvar g=C;C=1;var h=K;K|=4;ok.current=null;Pj(a,c);ek(c,a);Oe(Df);dd=!!Cf;Df=Cf=null;a.current=c;ik(c,a,e);dc();K=h;C=g;pk.transition=f}else a.current=c;wk&&(wk=!1,xk=a,yk=e);f=a.pendingLanes;0===f&&(Si=null);mc(c.stateNode,d);Ek(a,B());if(null!==b)for(d=a.onRecoverableError,c=0;c<b.length;c++)e=b[c],d(e.value,{componentStack:e.stack,digest:e.digest});if(Pi)throw Pi=!1,a=Qi,Qi=null,a;0!==(yk&1)&&0!==a.tag&&Ik();f=a.pendingLanes;0!==(f&1)?a===Ak?zk++:(zk=0,Ak=a):zk=0;jg();return null}\nfunction Ik(){if(null!==xk){var a=Dc(yk),b=pk.transition,c=C;try{pk.transition=null;C=16>a?16:a;if(null===xk)var d=!1;else{a=xk;xk=null;yk=0;if(0!==(K&6))throw Error(p(331));var e=K;K|=4;for(V=a.current;null!==V;){var f=V,g=f.child;if(0!==(V.flags&16)){var h=f.deletions;if(null!==h){for(var k=0;k<h.length;k++){var l=h[k];for(V=l;null!==V;){var m=V;switch(m.tag){case 0:case 11:case 15:Qj(8,m,f)}var q=m.child;if(null!==q)q.return=m,V=q;else for(;null!==V;){m=V;var r=m.sibling,y=m.return;Tj(m);if(m===\nl){V=null;break}if(null!==r){r.return=y;V=r;break}V=y}}}var n=f.alternate;if(null!==n){var t=n.child;if(null!==t){n.child=null;do{var J=t.sibling;t.sibling=null;t=J}while(null!==t)}}V=f}}if(0!==(f.subtreeFlags&2064)&&null!==g)g.return=f,V=g;else b:for(;null!==V;){f=V;if(0!==(f.flags&2048))switch(f.tag){case 0:case 11:case 15:Qj(9,f,f.return)}var x=f.sibling;if(null!==x){x.return=f.return;V=x;break b}V=f.return}}var w=a.current;for(V=w;null!==V;){g=V;var u=g.child;if(0!==(g.subtreeFlags&2064)&&null!==\nu)u.return=g,V=u;else b:for(g=w;null!==V;){h=V;if(0!==(h.flags&2048))try{switch(h.tag){case 0:case 11:case 15:Rj(9,h)}}catch(na){W(h,h.return,na)}if(h===g){V=null;break b}var F=h.sibling;if(null!==F){F.return=h.return;V=F;break b}V=h.return}}K=e;jg();if(lc&&\"function\"===typeof lc.onPostCommitFiberRoot)try{lc.onPostCommitFiberRoot(kc,a)}catch(na){}d=!0}return d}finally{C=c,pk.transition=b}}return!1}function Yk(a,b,c){b=Ki(c,b);b=Oi(a,b,1);a=dh(a,b,1);b=L();null!==a&&(Ac(a,1,b),Ek(a,b))}\nfunction W(a,b,c){if(3===a.tag)Yk(a,a,c);else for(;null!==b;){if(3===b.tag){Yk(b,a,c);break}else if(1===b.tag){var d=b.stateNode;if(\"function\"===typeof b.type.getDerivedStateFromError||\"function\"===typeof d.componentDidCatch&&(null===Si||!Si.has(d))){a=Ki(c,a);a=Ri(b,a,1);b=dh(b,a,1);a=L();null!==b&&(Ac(b,1,a),Ek(b,a));break}}b=b.return}}\nfunction Ui(a,b,c){var d=a.pingCache;null!==d&&d.delete(b);b=L();a.pingedLanes|=a.suspendedLanes&c;R===a&&(Z&c)===c&&(4===T||3===T&&(Z&130023424)===Z&&500>B()-gk?Lk(a,0):sk|=c);Ek(a,b)}function Zk(a,b){0===b&&(0===(a.mode&1)?b=1:(b=sc,sc<<=1,0===(sc&130023424)&&(sc=4194304)));var c=L();a=Zg(a,b);null!==a&&(Ac(a,b,c),Ek(a,c))}function vj(a){var b=a.memoizedState,c=0;null!==b&&(c=b.retryLane);Zk(a,c)}\nfunction ck(a,b){var c=0;switch(a.tag){case 13:var d=a.stateNode;var e=a.memoizedState;null!==e&&(c=e.retryLane);break;case 19:d=a.stateNode;break;default:throw Error(p(314));}null!==d&&d.delete(b);Zk(a,c)}var Wk;\nWk=function(a,b,c){if(null!==a)if(a.memoizedProps!==b.pendingProps||Wf.current)Ug=!0;else{if(0===(a.lanes&c)&&0===(b.flags&128))return Ug=!1,zj(a,b,c);Ug=0!==(a.flags&131072)?!0:!1}else Ug=!1,I&&0!==(b.flags&1048576)&&ug(b,ng,b.index);b.lanes=0;switch(b.tag){case 2:var d=b.type;jj(a,b);a=b.pendingProps;var e=Yf(b,H.current);Tg(b,c);e=Xh(null,b,d,a,e,c);var f=bi();b.flags|=1;\"object\"===typeof e&&null!==e&&\"function\"===typeof e.render&&void 0===e.$$typeof?(b.tag=1,b.memoizedState=null,b.updateQueue=\nnull,Zf(d)?(f=!0,cg(b)):f=!1,b.memoizedState=null!==e.state&&void 0!==e.state?e.state:null,ah(b),e.updater=nh,b.stateNode=e,e._reactInternals=b,rh(b,d,a,c),b=kj(null,b,d,!0,f,c)):(b.tag=0,I&&f&&vg(b),Yi(null,b,e,c),b=b.child);return b;case 16:d=b.elementType;a:{jj(a,b);a=b.pendingProps;e=d._init;d=e(d._payload);b.type=d;e=b.tag=$k(d);a=Lg(d,a);switch(e){case 0:b=dj(null,b,d,a,c);break a;case 1:b=ij(null,b,d,a,c);break a;case 11:b=Zi(null,b,d,a,c);break a;case 14:b=aj(null,b,d,Lg(d.type,a),c);break a}throw Error(p(306,\nd,\"\"));}return b;case 0:return d=b.type,e=b.pendingProps,e=b.elementType===d?e:Lg(d,e),dj(a,b,d,e,c);case 1:return d=b.type,e=b.pendingProps,e=b.elementType===d?e:Lg(d,e),ij(a,b,d,e,c);case 3:a:{lj(b);if(null===a)throw Error(p(387));d=b.pendingProps;f=b.memoizedState;e=f.element;bh(a,b);gh(b,d,null,c);var g=b.memoizedState;d=g.element;if(f.isDehydrated)if(f={element:d,isDehydrated:!1,cache:g.cache,pendingSuspenseBoundaries:g.pendingSuspenseBoundaries,transitions:g.transitions},b.updateQueue.baseState=\nf,b.memoizedState=f,b.flags&256){e=Ki(Error(p(423)),b);b=mj(a,b,d,c,e);break a}else if(d!==e){e=Ki(Error(p(424)),b);b=mj(a,b,d,c,e);break a}else for(yg=Lf(b.stateNode.containerInfo.firstChild),xg=b,I=!0,zg=null,c=Ch(b,null,d,c),b.child=c;c;)c.flags=c.flags&-3|4096,c=c.sibling;else{Ig();if(d===e){b=$i(a,b,c);break a}Yi(a,b,d,c)}b=b.child}return b;case 5:return Kh(b),null===a&&Eg(b),d=b.type,e=b.pendingProps,f=null!==a?a.memoizedProps:null,g=e.children,Ef(d,e)?g=null:null!==f&&Ef(d,f)&&(b.flags|=32),\nhj(a,b),Yi(a,b,g,c),b.child;case 6:return null===a&&Eg(b),null;case 13:return pj(a,b,c);case 4:return Ih(b,b.stateNode.containerInfo),d=b.pendingProps,null===a?b.child=Bh(b,null,d,c):Yi(a,b,d,c),b.child;case 11:return d=b.type,e=b.pendingProps,e=b.elementType===d?e:Lg(d,e),Zi(a,b,d,e,c);case 7:return Yi(a,b,b.pendingProps,c),b.child;case 8:return Yi(a,b,b.pendingProps.children,c),b.child;case 12:return Yi(a,b,b.pendingProps.children,c),b.child;case 10:a:{d=b.type._context;e=b.pendingProps;f=b.memoizedProps;\ng=e.value;G(Mg,d._currentValue);d._currentValue=g;if(null!==f)if(He(f.value,g)){if(f.children===e.children&&!Wf.current){b=$i(a,b,c);break a}}else for(f=b.child,null!==f&&(f.return=b);null!==f;){var h=f.dependencies;if(null!==h){g=f.child;for(var k=h.firstContext;null!==k;){if(k.context===d){if(1===f.tag){k=ch(-1,c&-c);k.tag=2;var l=f.updateQueue;if(null!==l){l=l.shared;var m=l.pending;null===m?k.next=k:(k.next=m.next,m.next=k);l.pending=k}}f.lanes|=c;k=f.alternate;null!==k&&(k.lanes|=c);Sg(f.return,\nc,b);h.lanes|=c;break}k=k.next}}else if(10===f.tag)g=f.type===b.type?null:f.child;else if(18===f.tag){g=f.return;if(null===g)throw Error(p(341));g.lanes|=c;h=g.alternate;null!==h&&(h.lanes|=c);Sg(g,c,b);g=f.sibling}else g=f.child;if(null!==g)g.return=f;else for(g=f;null!==g;){if(g===b){g=null;break}f=g.sibling;if(null!==f){f.return=g.return;g=f;break}g=g.return}f=g}Yi(a,b,e.children,c);b=b.child}return b;case 9:return e=b.type,d=b.pendingProps.children,Tg(b,c),e=Vg(e),d=d(e),b.flags|=1,Yi(a,b,d,c),\nb.child;case 14:return d=b.type,e=Lg(d,b.pendingProps),e=Lg(d.type,e),aj(a,b,d,e,c);case 15:return cj(a,b,b.type,b.pendingProps,c);case 17:return d=b.type,e=b.pendingProps,e=b.elementType===d?e:Lg(d,e),jj(a,b),b.tag=1,Zf(d)?(a=!0,cg(b)):a=!1,Tg(b,c),ph(b,d,e),rh(b,d,e,c),kj(null,b,d,!0,a,c);case 19:return yj(a,b,c);case 22:return ej(a,b,c)}throw Error(p(156,b.tag));};function Gk(a,b){return ac(a,b)}\nfunction al(a,b,c,d){this.tag=a;this.key=c;this.sibling=this.child=this.return=this.stateNode=this.type=this.elementType=null;this.index=0;this.ref=null;this.pendingProps=b;this.dependencies=this.memoizedState=this.updateQueue=this.memoizedProps=null;this.mode=d;this.subtreeFlags=this.flags=0;this.deletions=null;this.childLanes=this.lanes=0;this.alternate=null}function Bg(a,b,c,d){return new al(a,b,c,d)}function bj(a){a=a.prototype;return!(!a||!a.isReactComponent)}\nfunction $k(a){if(\"function\"===typeof a)return bj(a)?1:0;if(void 0!==a&&null!==a){a=a.$$typeof;if(a===Da)return 11;if(a===Ga)return 14}return 2}\nfunction wh(a,b){var c=a.alternate;null===c?(c=Bg(a.tag,b,a.key,a.mode),c.elementType=a.elementType,c.type=a.type,c.stateNode=a.stateNode,c.alternate=a,a.alternate=c):(c.pendingProps=b,c.type=a.type,c.flags=0,c.subtreeFlags=0,c.deletions=null);c.flags=a.flags&14680064;c.childLanes=a.childLanes;c.lanes=a.lanes;c.child=a.child;c.memoizedProps=a.memoizedProps;c.memoizedState=a.memoizedState;c.updateQueue=a.updateQueue;b=a.dependencies;c.dependencies=null===b?null:{lanes:b.lanes,firstContext:b.firstContext};\nc.sibling=a.sibling;c.index=a.index;c.ref=a.ref;return c}\nfunction yh(a,b,c,d,e,f){var g=2;d=a;if(\"function\"===typeof a)bj(a)&&(g=1);else if(\"string\"===typeof a)g=5;else a:switch(a){case ya:return Ah(c.children,e,f,b);case za:g=8;e|=8;break;case Aa:return a=Bg(12,c,b,e|2),a.elementType=Aa,a.lanes=f,a;case Ea:return a=Bg(13,c,b,e),a.elementType=Ea,a.lanes=f,a;case Fa:return a=Bg(19,c,b,e),a.elementType=Fa,a.lanes=f,a;case Ia:return qj(c,e,f,b);default:if(\"object\"===typeof a&&null!==a)switch(a.$$typeof){case Ba:g=10;break a;case Ca:g=9;break a;case Da:g=11;\nbreak a;case Ga:g=14;break a;case Ha:g=16;d=null;break a}throw Error(p(130,null==a?a:typeof a,\"\"));}b=Bg(g,c,b,e);b.elementType=a;b.type=d;b.lanes=f;return b}function Ah(a,b,c,d){a=Bg(7,a,d,b);a.lanes=c;return a}function qj(a,b,c,d){a=Bg(22,a,d,b);a.elementType=Ia;a.lanes=c;a.stateNode={isHidden:!1};return a}function xh(a,b,c){a=Bg(6,a,null,b);a.lanes=c;return a}\nfunction zh(a,b,c){b=Bg(4,null!==a.children?a.children:[],a.key,b);b.lanes=c;b.stateNode={containerInfo:a.containerInfo,pendingChildren:null,implementation:a.implementation};return b}\nfunction bl(a,b,c,d,e){this.tag=b;this.containerInfo=a;this.finishedWork=this.pingCache=this.current=this.pendingChildren=null;this.timeoutHandle=-1;this.callbackNode=this.pendingContext=this.context=null;this.callbackPriority=0;this.eventTimes=zc(0);this.expirationTimes=zc(-1);this.entangledLanes=this.finishedLanes=this.mutableReadLanes=this.expiredLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0;this.entanglements=zc(0);this.identifierPrefix=d;this.onRecoverableError=e;this.mutableSourceEagerHydrationData=\nnull}function cl(a,b,c,d,e,f,g,h,k){a=new bl(a,b,c,h,k);1===b?(b=1,!0===f&&(b|=8)):b=0;f=Bg(3,null,null,b);a.current=f;f.stateNode=a;f.memoizedState={element:d,isDehydrated:c,cache:null,transitions:null,pendingSuspenseBoundaries:null};ah(f);return a}function dl(a,b,c){var d=3<arguments.length&&void 0!==arguments[3]?arguments[3]:null;return{$$typeof:wa,key:null==d?null:\"\"+d,children:a,containerInfo:b,implementation:c}}\nfunction el(a){if(!a)return Vf;a=a._reactInternals;a:{if(Vb(a)!==a||1!==a.tag)throw Error(p(170));var b=a;do{switch(b.tag){case 3:b=b.stateNode.context;break a;case 1:if(Zf(b.type)){b=b.stateNode.__reactInternalMemoizedMergedChildContext;break a}}b=b.return}while(null!==b);throw Error(p(171));}if(1===a.tag){var c=a.type;if(Zf(c))return bg(a,c,b)}return b}\nfunction fl(a,b,c,d,e,f,g,h,k){a=cl(c,d,!0,a,e,f,g,h,k);a.context=el(null);c=a.current;d=L();e=lh(c);f=ch(d,e);f.callback=void 0!==b&&null!==b?b:null;dh(c,f,e);a.current.lanes=e;Ac(a,e,d);Ek(a,d);return a}function gl(a,b,c,d){var e=b.current,f=L(),g=lh(e);c=el(c);null===b.context?b.context=c:b.pendingContext=c;b=ch(f,g);b.payload={element:a};d=void 0===d?null:d;null!==d&&(b.callback=d);a=dh(e,b,g);null!==a&&(mh(a,e,g,f),eh(a,e,g));return g}\nfunction hl(a){a=a.current;if(!a.child)return null;switch(a.child.tag){case 5:return a.child.stateNode;default:return a.child.stateNode}}function il(a,b){a=a.memoizedState;if(null!==a&&null!==a.dehydrated){var c=a.retryLane;a.retryLane=0!==c&&c<b?c:b}}function jl(a,b){il(a,b);(a=a.alternate)&&il(a,b)}function kl(){return null}var ll=\"function\"===typeof reportError?reportError:function(a){console.error(a)};function ml(a){this._internalRoot=a}\nnl.prototype.render=ml.prototype.render=function(a){var b=this._internalRoot;if(null===b)throw Error(p(409));gl(a,b,null,null)};nl.prototype.unmount=ml.prototype.unmount=function(){var a=this._internalRoot;if(null!==a){this._internalRoot=null;var b=a.containerInfo;Sk(function(){gl(null,a,null,null)});b[uf]=null}};function nl(a){this._internalRoot=a}\nnl.prototype.unstable_scheduleHydration=function(a){if(a){var b=Hc();a={blockedOn:null,target:a,priority:b};for(var c=0;c<Qc.length&&0!==b&&b<Qc[c].priority;c++);Qc.splice(c,0,a);0===c&&Vc(a)}};function ol(a){return!(!a||1!==a.nodeType&&9!==a.nodeType&&11!==a.nodeType)}function pl(a){return!(!a||1!==a.nodeType&&9!==a.nodeType&&11!==a.nodeType&&(8!==a.nodeType||\" react-mount-point-unstable \"!==a.nodeValue))}function ql(){}\nfunction rl(a,b,c,d,e){if(e){if(\"function\"===typeof d){var f=d;d=function(){var a=hl(g);f.call(a)}}var g=fl(b,d,a,0,null,!1,!1,\"\",ql);a._reactRootContainer=g;a[uf]=g.current;sf(8===a.nodeType?a.parentNode:a);Sk();return g}for(;e=a.lastChild;)a.removeChild(e);if(\"function\"===typeof d){var h=d;d=function(){var a=hl(k);h.call(a)}}var k=cl(a,0,!1,null,null,!1,!1,\"\",ql);a._reactRootContainer=k;a[uf]=k.current;sf(8===a.nodeType?a.parentNode:a);Sk(function(){gl(b,k,c,d)});return k}\nfunction sl(a,b,c,d,e){var f=c._reactRootContainer;if(f){var g=f;if(\"function\"===typeof e){var h=e;e=function(){var a=hl(g);h.call(a)}}gl(b,g,a,e)}else g=rl(c,b,a,e,d);return hl(g)}Ec=function(a){switch(a.tag){case 3:var b=a.stateNode;if(b.current.memoizedState.isDehydrated){var c=tc(b.pendingLanes);0!==c&&(Cc(b,c|1),Ek(b,B()),0===(K&6)&&(Hj=B()+500,jg()))}break;case 13:Sk(function(){var b=Zg(a,1);if(null!==b){var c=L();mh(b,a,1,c)}}),jl(a,1)}};\nFc=function(a){if(13===a.tag){var b=Zg(a,134217728);if(null!==b){var c=L();mh(b,a,134217728,c)}jl(a,134217728)}};Gc=function(a){if(13===a.tag){var b=lh(a),c=Zg(a,b);if(null!==c){var d=L();mh(c,a,b,d)}jl(a,b)}};Hc=function(){return C};Ic=function(a,b){var c=C;try{return C=a,b()}finally{C=c}};\nyb=function(a,b,c){switch(b){case \"input\":bb(a,c);b=c.name;if(\"radio\"===c.type&&null!=b){for(c=a;c.parentNode;)c=c.parentNode;c=c.querySelectorAll(\"input[name=\"+JSON.stringify(\"\"+b)+'][type=\"radio\"]');for(b=0;b<c.length;b++){var d=c[b];if(d!==a&&d.form===a.form){var e=Db(d);if(!e)throw Error(p(90));Wa(d);bb(d,e)}}}break;case \"textarea\":ib(a,c);break;case \"select\":b=c.value,null!=b&&fb(a,!!c.multiple,b,!1)}};Gb=Rk;Hb=Sk;\nvar tl={usingClientEntryPoint:!1,Events:[Cb,ue,Db,Eb,Fb,Rk]},ul={findFiberByHostInstance:Wc,bundleType:0,version:\"18.2.0\",rendererPackageName:\"react-dom\"};\nvar vl={bundleType:ul.bundleType,version:ul.version,rendererPackageName:ul.rendererPackageName,rendererConfig:ul.rendererConfig,overrideHookState:null,overrideHookStateDeletePath:null,overrideHookStateRenamePath:null,overrideProps:null,overridePropsDeletePath:null,overridePropsRenamePath:null,setErrorHandler:null,setSuspenseHandler:null,scheduleUpdate:null,currentDispatcherRef:ua.ReactCurrentDispatcher,findHostInstanceByFiber:function(a){a=Zb(a);return null===a?null:a.stateNode},findFiberByHostInstance:ul.findFiberByHostInstance||\nkl,findHostInstancesForRefresh:null,scheduleRefresh:null,scheduleRoot:null,setRefreshHandler:null,getCurrentFiber:null,reconcilerVersion:\"18.2.0-next-9e3b772b8-20220608\"};if(\"undefined\"!==typeof __REACT_DEVTOOLS_GLOBAL_HOOK__){var wl=__REACT_DEVTOOLS_GLOBAL_HOOK__;if(!wl.isDisabled&&wl.supportsFiber)try{kc=wl.inject(vl),lc=wl}catch(a){}}exports.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED=tl;\nexports.createPortal=function(a,b){var c=2<arguments.length&&void 0!==arguments[2]?arguments[2]:null;if(!ol(b))throw Error(p(200));return dl(a,b,null,c)};exports.createRoot=function(a,b){if(!ol(a))throw Error(p(299));var c=!1,d=\"\",e=ll;null!==b&&void 0!==b&&(!0===b.unstable_strictMode&&(c=!0),void 0!==b.identifierPrefix&&(d=b.identifierPrefix),void 0!==b.onRecoverableError&&(e=b.onRecoverableError));b=cl(a,1,!1,null,null,c,!1,d,e);a[uf]=b.current;sf(8===a.nodeType?a.parentNode:a);return new ml(b)};\nexports.findDOMNode=function(a){if(null==a)return null;if(1===a.nodeType)return a;var b=a._reactInternals;if(void 0===b){if(\"function\"===typeof a.render)throw Error(p(188));a=Object.keys(a).join(\",\");throw Error(p(268,a));}a=Zb(b);a=null===a?null:a.stateNode;return a};exports.flushSync=function(a){return Sk(a)};exports.hydrate=function(a,b,c){if(!pl(b))throw Error(p(200));return sl(null,a,b,!0,c)};\nexports.hydrateRoot=function(a,b,c){if(!ol(a))throw Error(p(405));var d=null!=c&&c.hydratedSources||null,e=!1,f=\"\",g=ll;null!==c&&void 0!==c&&(!0===c.unstable_strictMode&&(e=!0),void 0!==c.identifierPrefix&&(f=c.identifierPrefix),void 0!==c.onRecoverableError&&(g=c.onRecoverableError));b=fl(b,null,a,1,null!=c?c:null,e,!1,f,g);a[uf]=b.current;sf(a);if(d)for(a=0;a<d.length;a++)c=d[a],e=c._getVersion,e=e(c._source),null==b.mutableSourceEagerHydrationData?b.mutableSourceEagerHydrationData=[c,e]:b.mutableSourceEagerHydrationData.push(c,\ne);return new nl(b)};exports.render=function(a,b,c){if(!pl(b))throw Error(p(200));return sl(null,a,b,!1,c)};exports.unmountComponentAtNode=function(a){if(!pl(a))throw Error(p(40));return a._reactRootContainer?(Sk(function(){sl(null,null,a,!1,function(){a._reactRootContainer=null;a[uf]=null})}),!0):!1};exports.unstable_batchedUpdates=Rk;\nexports.unstable_renderSubtreeIntoContainer=function(a,b,c,d){if(!pl(c))throw Error(p(200));if(null==a||void 0===a._reactInternals)throw Error(p(38));return sl(a,b,c,!1,d)};exports.version=\"18.2.0-next-9e3b772b8-20220608\";\n","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('./cjs/scheduler.production.min.js');\n} else {\n module.exports = require('./cjs/scheduler.development.js');\n}\n","/**\n * @license React\n * scheduler.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'use strict';function f(a,b){var c=a.length;a.push(b);a:for(;0<c;){var d=c-1>>>1,e=a[d];if(0<g(e,b))a[d]=b,a[c]=e,c=d;else break a}}function h(a){return 0===a.length?null:a[0]}function k(a){if(0===a.length)return null;var b=a[0],c=a.pop();if(c!==b){a[0]=c;a:for(var d=0,e=a.length,w=e>>>1;d<w;){var m=2*(d+1)-1,C=a[m],n=m+1,x=a[n];if(0>g(C,c))n<e&&0>g(x,C)?(a[d]=x,a[n]=c,d=n):(a[d]=C,a[m]=c,d=m);else if(n<e&&0>g(x,c))a[d]=x,a[n]=c,d=n;else break a}}return b}\nfunction g(a,b){var c=a.sortIndex-b.sortIndex;return 0!==c?c:a.id-b.id}if(\"object\"===typeof performance&&\"function\"===typeof performance.now){var l=performance;exports.unstable_now=function(){return l.now()}}else{var p=Date,q=p.now();exports.unstable_now=function(){return p.now()-q}}var r=[],t=[],u=1,v=null,y=3,z=!1,A=!1,B=!1,D=\"function\"===typeof setTimeout?setTimeout:null,E=\"function\"===typeof clearTimeout?clearTimeout:null,F=\"undefined\"!==typeof setImmediate?setImmediate:null;\n\"undefined\"!==typeof navigator&&void 0!==navigator.scheduling&&void 0!==navigator.scheduling.isInputPending&&navigator.scheduling.isInputPending.bind(navigator.scheduling);function G(a){for(var b=h(t);null!==b;){if(null===b.callback)k(t);else if(b.startTime<=a)k(t),b.sortIndex=b.expirationTime,f(r,b);else break;b=h(t)}}function H(a){B=!1;G(a);if(!A)if(null!==h(r))A=!0,I(J);else{var b=h(t);null!==b&&K(H,b.startTime-a)}}\nfunction J(a,b){A=!1;B&&(B=!1,E(L),L=-1);z=!0;var c=y;try{G(b);for(v=h(r);null!==v&&(!(v.expirationTime>b)||a&&!M());){var d=v.callback;if(\"function\"===typeof d){v.callback=null;y=v.priorityLevel;var e=d(v.expirationTime<=b);b=exports.unstable_now();\"function\"===typeof e?v.callback=e:v===h(r)&&k(r);G(b)}else k(r);v=h(r)}if(null!==v)var w=!0;else{var m=h(t);null!==m&&K(H,m.startTime-b);w=!1}return w}finally{v=null,y=c,z=!1}}var N=!1,O=null,L=-1,P=5,Q=-1;\nfunction M(){return exports.unstable_now()-Q<P?!1:!0}function R(){if(null!==O){var a=exports.unstable_now();Q=a;var b=!0;try{b=O(!0,a)}finally{b?S():(N=!1,O=null)}}else N=!1}var S;if(\"function\"===typeof F)S=function(){F(R)};else if(\"undefined\"!==typeof MessageChannel){var T=new MessageChannel,U=T.port2;T.port1.onmessage=R;S=function(){U.postMessage(null)}}else S=function(){D(R,0)};function I(a){O=a;N||(N=!0,S())}function K(a,b){L=D(function(){a(exports.unstable_now())},b)}\nexports.unstable_IdlePriority=5;exports.unstable_ImmediatePriority=1;exports.unstable_LowPriority=4;exports.unstable_NormalPriority=3;exports.unstable_Profiling=null;exports.unstable_UserBlockingPriority=2;exports.unstable_cancelCallback=function(a){a.callback=null};exports.unstable_continueExecution=function(){A||z||(A=!0,I(J))};\nexports.unstable_forceFrameRate=function(a){0>a||125<a?console.error(\"forceFrameRate takes a positive int between 0 and 125, forcing frame rates higher than 125 fps is not supported\"):P=0<a?Math.floor(1E3/a):5};exports.unstable_getCurrentPriorityLevel=function(){return y};exports.unstable_getFirstCallbackNode=function(){return h(r)};exports.unstable_next=function(a){switch(y){case 1:case 2:case 3:var b=3;break;default:b=y}var c=y;y=b;try{return a()}finally{y=c}};exports.unstable_pauseExecution=function(){};\nexports.unstable_requestPaint=function(){};exports.unstable_runWithPriority=function(a,b){switch(a){case 1:case 2:case 3:case 4:case 5:break;default:a=3}var c=y;y=a;try{return b()}finally{y=c}};\nexports.unstable_scheduleCallback=function(a,b,c){var d=exports.unstable_now();\"object\"===typeof c&&null!==c?(c=c.delay,c=\"number\"===typeof c&&0<c?d+c:d):c=d;switch(a){case 1:var e=-1;break;case 2:e=250;break;case 5:e=1073741823;break;case 4:e=1E4;break;default:e=5E3}e=c+e;a={id:u++,callback:b,priorityLevel:a,startTime:c,expirationTime:e,sortIndex:-1};c>d?(a.sortIndex=c,f(t,a),null===h(r)&&a===h(t)&&(B?(E(L),L=-1):B=!0,K(H,c-d))):(a.sortIndex=e,f(r,a),A||z||(A=!0,I(J)));return a};\nexports.unstable_shouldYield=M;exports.unstable_wrapCallback=function(a){var b=y;return function(){var c=y;y=b;try{return a.apply(this,arguments)}finally{y=c}}};\n","(function (global, undefined) {\n \"use strict\";\n\n if (global.setImmediate) {\n return;\n }\n\n var nextHandle = 1; // Spec says greater than zero\n var tasksByHandle = {};\n var currentlyRunningATask = false;\n var doc = global.document;\n var registerImmediate;\n\n function setImmediate(callback) {\n // Callback can either be a function or a string\n if (typeof callback !== \"function\") {\n callback = new Function(\"\" + callback);\n }\n // Copy function arguments\n var args = new Array(arguments.length - 1);\n for (var i = 0; i < args.length; i++) {\n args[i] = arguments[i + 1];\n }\n // Store and register the task\n var task = { callback: callback, args: args };\n tasksByHandle[nextHandle] = task;\n registerImmediate(nextHandle);\n return nextHandle++;\n }\n\n function clearImmediate(handle) {\n delete tasksByHandle[handle];\n }\n\n function run(task) {\n var callback = task.callback;\n var args = task.args;\n switch (args.length) {\n case 0:\n callback();\n break;\n case 1:\n callback(args[0]);\n break;\n case 2:\n callback(args[0], args[1]);\n break;\n case 3:\n callback(args[0], args[1], args[2]);\n break;\n default:\n callback.apply(undefined, args);\n break;\n }\n }\n\n function runIfPresent(handle) {\n // From the spec: \"Wait until any invocations of this algorithm started before this one have completed.\"\n // So if we're currently running a task, we'll need to delay this invocation.\n if (currentlyRunningATask) {\n // Delay by doing a setTimeout. setImmediate was tried instead, but in Firefox 7 it generated a\n // \"too much recursion\" error.\n setTimeout(runIfPresent, 0, handle);\n } else {\n var task = tasksByHandle[handle];\n if (task) {\n currentlyRunningATask = true;\n try {\n run(task);\n } finally {\n clearImmediate(handle);\n currentlyRunningATask = false;\n }\n }\n }\n }\n\n function installNextTickImplementation() {\n registerImmediate = function(handle) {\n process.nextTick(function () { runIfPresent(handle); });\n };\n }\n\n function canUsePostMessage() {\n // The test against `importScripts` prevents this implementation from being installed inside a web worker,\n // where `global.postMessage` means something completely different and can't be used for this purpose.\n if (global.postMessage && !global.importScripts) {\n var postMessageIsAsynchronous = true;\n var oldOnMessage = global.onmessage;\n global.onmessage = function() {\n postMessageIsAsynchronous = false;\n };\n global.postMessage(\"\", \"*\");\n global.onmessage = oldOnMessage;\n return postMessageIsAsynchronous;\n }\n }\n\n function installPostMessageImplementation() {\n // Installs an event handler on `global` for the `message` event: see\n // * https://developer.mozilla.org/en/DOM/window.postMessage\n // * http://www.whatwg.org/specs/web-apps/current-work/multipage/comms.html#crossDocumentMessages\n\n var messagePrefix = \"setImmediate$\" + Math.random() + \"$\";\n var onGlobalMessage = function(event) {\n if (event.source === global &&\n typeof event.data === \"string\" &&\n event.data.indexOf(messagePrefix) === 0) {\n runIfPresent(+event.data.slice(messagePrefix.length));\n }\n };\n\n if (global.addEventListener) {\n global.addEventListener(\"message\", onGlobalMessage, false);\n } else {\n global.attachEvent(\"onmessage\", onGlobalMessage);\n }\n\n registerImmediate = function(handle) {\n global.postMessage(messagePrefix + handle, \"*\");\n };\n }\n\n function installMessageChannelImplementation() {\n var channel = new MessageChannel();\n channel.port1.onmessage = function(event) {\n var handle = event.data;\n runIfPresent(handle);\n };\n\n registerImmediate = function(handle) {\n channel.port2.postMessage(handle);\n };\n }\n\n function installReadyStateChangeImplementation() {\n var html = doc.documentElement;\n registerImmediate = function(handle) {\n // Create a <script> element; its readystatechange event will be fired asynchronously once it is inserted\n // into the document. Do so, thus queuing up the task. Remember to clean up once it's been called.\n var script = doc.createElement(\"script\");\n script.onreadystatechange = function () {\n runIfPresent(handle);\n script.onreadystatechange = null;\n html.removeChild(script);\n script = null;\n };\n html.appendChild(script);\n };\n }\n\n function installSetTimeoutImplementation() {\n registerImmediate = function(handle) {\n setTimeout(runIfPresent, 0, handle);\n };\n }\n\n // If supported, we should attach to the prototype of global, since that is where setTimeout et al. live.\n var attachTo = Object.getPrototypeOf && Object.getPrototypeOf(global);\n attachTo = attachTo && attachTo.setTimeout ? attachTo : global;\n\n // Don't get fooled by e.g. browserify environments.\n if ({}.toString.call(global.process) === \"[object process]\") {\n // For Node.js before 0.9\n installNextTickImplementation();\n\n } else if (canUsePostMessage()) {\n // For non-IE10 modern browsers\n installPostMessageImplementation();\n\n } else if (global.MessageChannel) {\n // For web workers, where supported\n installMessageChannelImplementation();\n\n } else if (doc && \"onreadystatechange\" in doc.createElement(\"script\")) {\n // For IE 6–8\n installReadyStateChangeImplementation();\n\n } else {\n // For older browsers\n installSetTimeoutImplementation();\n }\n\n attachTo.setImmediate = setImmediate;\n attachTo.clearImmediate = clearImmediate;\n}(typeof self === \"undefined\" ? typeof global === \"undefined\" ? this : global : self));\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\n'use strict';\n\nvar ReactPropTypesSecret = 'SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED';\n\nmodule.exports = ReactPropTypesSecret;\n","var rng = require('./lib/rng');\nvar bytesToUuid = require('./lib/bytesToUuid');\n\n// **`v1()` - Generate time-based UUID**\n//\n// Inspired by https://github.com/LiosK/UUID.js\n// and http://docs.python.org/library/uuid.html\n\nvar _nodeId;\nvar _clockseq;\n\n// Previous uuid creation time\nvar _lastMSecs = 0;\nvar _lastNSecs = 0;\n\n// See https://github.com/uuidjs/uuid for API details\nfunction v1(options, buf, offset) {\n var i = buf && offset || 0;\n var b = buf || [];\n\n options = options || {};\n var node = options.node || _nodeId;\n var clockseq = options.clockseq !== undefined ? options.clockseq : _clockseq;\n\n // node and clockseq need to be initialized to random values if they're not\n // specified. We do this lazily to minimize issues related to insufficient\n // system entropy. See #189\n if (node == null || clockseq == null) {\n var seedBytes = rng();\n if (node == null) {\n // Per 4.5, create and 48-bit node id, (47 random bits + multicast bit = 1)\n node = _nodeId = [\n seedBytes[0] | 0x01,\n seedBytes[1], seedBytes[2], seedBytes[3], seedBytes[4], seedBytes[5]\n ];\n }\n if (clockseq == null) {\n // Per 4.2.2, randomize (14 bit) clockseq\n clockseq = _clockseq = (seedBytes[6] << 8 | seedBytes[7]) & 0x3fff;\n }\n }\n\n // UUID timestamps are 100 nano-second units since the Gregorian epoch,\n // (1582-10-15 00:00). JSNumbers aren't precise enough for this, so\n // time is handled internally as 'msecs' (integer milliseconds) and 'nsecs'\n // (100-nanoseconds offset from msecs) since unix epoch, 1970-01-01 00:00.\n var msecs = options.msecs !== undefined ? options.msecs : new Date().getTime();\n\n // Per 4.2.1.2, use count of uuid's generated during the current clock\n // cycle to simulate higher resolution clock\n var nsecs = options.nsecs !== undefined ? options.nsecs : _lastNSecs + 1;\n\n // Time since last uuid creation (in msecs)\n var dt = (msecs - _lastMSecs) + (nsecs - _lastNSecs)/10000;\n\n // Per 4.2.1.2, Bump clockseq on clock regression\n if (dt < 0 && options.clockseq === undefined) {\n clockseq = clockseq + 1 & 0x3fff;\n }\n\n // Reset nsecs if clock regresses (new clockseq) or we've moved onto a new\n // time interval\n if ((dt < 0 || msecs > _lastMSecs) && options.nsecs === undefined) {\n nsecs = 0;\n }\n\n // Per 4.2.1.2 Throw error if too many uuids are requested\n if (nsecs >= 10000) {\n throw new Error('uuid.v1(): Can\\'t create more than 10M uuids/sec');\n }\n\n _lastMSecs = msecs;\n _lastNSecs = nsecs;\n _clockseq = clockseq;\n\n // Per 4.1.4 - Convert from unix epoch to Gregorian epoch\n msecs += 12219292800000;\n\n // `time_low`\n var tl = ((msecs & 0xfffffff) * 10000 + nsecs) % 0x100000000;\n b[i++] = tl >>> 24 & 0xff;\n b[i++] = tl >>> 16 & 0xff;\n b[i++] = tl >>> 8 & 0xff;\n b[i++] = tl & 0xff;\n\n // `time_mid`\n var tmh = (msecs / 0x100000000 * 10000) & 0xfffffff;\n b[i++] = tmh >>> 8 & 0xff;\n b[i++] = tmh & 0xff;\n\n // `time_high_and_version`\n b[i++] = tmh >>> 24 & 0xf | 0x10; // include version\n b[i++] = tmh >>> 16 & 0xff;\n\n // `clock_seq_hi_and_reserved` (Per 4.2.2 - include variant)\n b[i++] = clockseq >>> 8 | 0x80;\n\n // `clock_seq_low`\n b[i++] = clockseq & 0xff;\n\n // `node`\n for (var n = 0; n < 6; ++n) {\n b[i + n] = node[n];\n }\n\n return buf ? buf : bytesToUuid(b);\n}\n\nmodule.exports = v1;\n","var rng = require('./lib/rng');\nvar bytesToUuid = require('./lib/bytesToUuid');\n\nfunction v4(options, buf, offset) {\n var i = buf && offset || 0;\n\n if (typeof(options) == 'string') {\n buf = options === 'binary' ? new Array(16) : null;\n options = null;\n }\n options = options || {};\n\n var rnds = options.random || (options.rng || rng)();\n\n // Per 4.4, set bits for version and `clock_seq_hi_and_reserved`\n rnds[6] = (rnds[6] & 0x0f) | 0x40;\n rnds[8] = (rnds[8] & 0x3f) | 0x80;\n\n // Copy bytes to buffer, if provided\n if (buf) {\n for (var ii = 0; ii < 16; ++ii) {\n buf[i + ii] = rnds[ii];\n }\n }\n\n return buf || bytesToUuid(rnds);\n}\n\nmodule.exports = v4;\n","\"use strict\";Object.defineProperty(exports,\"__esModule\",{value:!0});var env=require(\"exenv\");require(\"prop-types\");var React=require(\"react\");function _typeof(e){return(_typeof=\"function\"==typeof Symbol&&\"symbol\"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&\"function\"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?\"symbol\":typeof e})(e)}function _classCallCheck(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}function _defineProperties(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,\"value\"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}function _createClass(e,t,n){return t&&_defineProperties(e.prototype,t),n&&_defineProperties(e,n),e}function _defineProperty(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function _inherits(e,t){if(\"function\"!=typeof t&&null!==t)throw new TypeError(\"Super expression must either be null or a function\");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&_setPrototypeOf(e,t)}function _getPrototypeOf(e){return(_getPrototypeOf=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function _setPrototypeOf(e,t){return(_setPrototypeOf=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function _assertThisInitialized(e){if(void 0===e)throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return e}function _possibleConstructorReturn(e,t){return!t||\"object\"!=typeof t&&\"function\"!=typeof t?_assertThisInitialized(e):t}var EventSet=function(){function e(t){_classCallCheck(this,e),_defineProperty(this,\"handlers\",void 0),this.handlers=t.slice(0)}return _createClass(e,[{key:\"addHandlers\",value:function(t){for(var n=this.handlers.slice(0),r=t.length,o=0;o<r;o+=1)n.push(t[o]);return new e(n)}},{key:\"dispatchEvent\",value:function(e,t){var n=this.handlers.length-1;if(t){for(var r=n;r>=0;r-=1)this.handlers[r].called||(this.handlers[r].called=!0,this.handlers[r](e));for(var o=n;o>=0;o-=1)this.handlers[o].called=!1}else{(0,this.handlers[n])(e)}}},{key:\"hasHandlers\",value:function(){return this.handlers.length>0}},{key:\"removeHandlers\",value:function(t){for(var n=[],r=this.handlers.length,o=0;o<r;o+=1){var a=this.handlers[o];-1===t.indexOf(a)&&n.push(a)}return new e(n)}}]),e}();function cloneMap(e){var t=new Map;return e.forEach(function(e,n){t.set(n,e)}),t}function normalizeHandlers(e){return Array.isArray(e)?e:[e]}var isRefObject=function(e){return null!==e&&\"object\"===_typeof(e)&&e.hasOwnProperty(\"current\")};function normalizeTarget(e){return\"document\"===e?document:\"window\"===e?window:isRefObject(e)?e.current||document:e||document}var EventPool=function(){function e(t,n){_classCallCheck(this,e),_defineProperty(this,\"handlerSets\",void 0),_defineProperty(this,\"poolName\",void 0),this.handlerSets=n,this.poolName=t}return _createClass(e,[{key:\"addHandlers\",value:function(t,n){var r=cloneMap(this.handlerSets);if(r.has(t)){var o=r.get(t);r.set(t,o.addHandlers(n))}else r.set(t,new EventSet(n));return new e(this.poolName,r)}},{key:\"dispatchEvent\",value:function(e,t){var n=this.handlerSets.get(e),r=\"default\"===this.poolName;n&&n.dispatchEvent(t,r)}},{key:\"hasHandlers\",value:function(e){if(!e)return this.handlerSets.size>0;var t=this.handlerSets.get(e);return!!t&&t.hasHandlers()}},{key:\"removeHandlers\",value:function(t,n){var r=cloneMap(this.handlerSets);if(!r.has(t))return new e(this.poolName,r);var o=r.get(t).removeHandlers(n);return o.hasHandlers()?r.set(t,o):r.delete(t),new e(this.poolName,r)}}]),e}();_defineProperty(EventPool,\"createByType\",function(e,t,n){var r=new Map;return r.set(t,new EventSet(n)),new EventPool(e,r)});var EventTarget=function(){function e(t){var n=this;_classCallCheck(this,e),_defineProperty(this,\"handlers\",new Map),_defineProperty(this,\"pools\",new Map),_defineProperty(this,\"target\",void 0),_defineProperty(this,\"createEmitter\",function(e){return function(t){n.pools.forEach(function(n){n.dispatchEvent(e,t)})}}),this.target=t}return _createClass(e,[{key:\"addHandlers\",value:function(e,t,n){if(this.pools.has(e)){var r=this.pools.get(e);this.pools.set(e,r.addHandlers(t,n))}else this.pools.set(e,EventPool.createByType(e,t,n));this.handlers.has(t)||this.addTargetHandler(t)}},{key:\"hasHandlers\",value:function(){return this.handlers.size>0}},{key:\"removeHandlers\",value:function(e,t,n){if(this.pools.has(e)){var r=this.pools.get(e).removeHandlers(t,n);r.hasHandlers()?this.pools.set(e,r):this.pools.delete(e);var o=!1;this.pools.forEach(function(e){return o=o||e.hasHandlers(t)}),o||this.removeTargetHandler(t)}}},{key:\"addTargetHandler\",value:function(e){var t=this.createEmitter(e);this.handlers.set(e,t),this.target.addEventListener(e,t,!0)}},{key:\"removeTargetHandler\",value:function(e){this.handlers.has(e)&&(this.target.removeEventListener(e,this.handlers.get(e),!0),this.handlers.delete(e))}}]),e}(),EventStack=function(){function e(){var t=this;_classCallCheck(this,e),_defineProperty(this,\"targets\",new Map),_defineProperty(this,\"getTarget\",function(e){var n=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],r=normalizeTarget(e);if(t.targets.has(r))return t.targets.get(r);if(!n)return null;var o=new EventTarget(r);return t.targets.set(r,o),o}),_defineProperty(this,\"removeTarget\",function(e){t.targets.delete(normalizeTarget(e))})}return _createClass(e,[{key:\"sub\",value:function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};if(env.canUseDOM){var r=n.target,o=void 0===r?document:r,a=n.pool,s=void 0===a?\"default\":a;this.getTarget(o).addHandlers(s,e,normalizeHandlers(t))}}},{key:\"unsub\",value:function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};if(env.canUseDOM){var r=n.target,o=void 0===r?document:r,a=n.pool,s=void 0===a?\"default\":a,i=this.getTarget(o,!1);i&&(i.removeHandlers(s,e,normalizeHandlers(t)),i.hasHandlers()||this.removeTarget(o))}}}]),e}(),instance=new EventStack,EventStack$1=function(e){function t(){return _classCallCheck(this,t),_possibleConstructorReturn(this,_getPrototypeOf(t).apply(this,arguments))}return _inherits(t,React.PureComponent),_createClass(t,[{key:\"componentDidMount\",value:function(){this.subscribe(this.props)}},{key:\"componentDidUpdate\",value:function(e){this.unsubscribe(e),this.subscribe(this.props)}},{key:\"componentWillUnmount\",value:function(){this.unsubscribe(this.props)}},{key:\"subscribe\",value:function(e){var t=e.name,n=e.on,r=e.pool,o=e.target;instance.sub(t,n,{pool:r,target:o})}},{key:\"unsubscribe\",value:function(e){var t=e.name,n=e.on,r=e.pool,o=e.target;instance.unsub(t,n,{pool:r,target:o})}},{key:\"render\",value:function(){return null}}]),t}();_defineProperty(EventStack$1,\"defaultProps\",{pool:\"default\",target:\"document\"}),EventStack$1.propTypes={},exports.instance=instance,exports.default=EventStack$1;\n","/*!\n Copyright (c) 2015 Jed Watson.\n Based on code that is Copyright 2013-2015, Facebook, Inc.\n All rights reserved.\n*/\n/* global define */\n\n(function () {\n\t'use strict';\n\n\tvar canUseDOM = !!(\n\t\ttypeof window !== 'undefined' &&\n\t\twindow.document &&\n\t\twindow.document.createElement\n\t);\n\n\tvar ExecutionEnvironment = {\n\n\t\tcanUseDOM: canUseDOM,\n\n\t\tcanUseWorkers: typeof Worker !== 'undefined',\n\n\t\tcanUseEventListeners:\n\t\t\tcanUseDOM && !!(window.addEventListener || window.attachEvent),\n\n\t\tcanUseViewport: canUseDOM && !!window.screen\n\n\t};\n\n\tif (typeof define === 'function' && typeof define.amd === 'object' && define.amd) {\n\t\tdefine(function () {\n\t\t\treturn ExecutionEnvironment;\n\t\t});\n\t} else if (typeof module !== 'undefined' && module.exports) {\n\t\tmodule.exports = ExecutionEnvironment;\n\t} else {\n\t\twindow.ExecutionEnvironment = ExecutionEnvironment;\n\t}\n\n}());\n","/** @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","module.exports = Array.isArray || function (arr) {\n return Object.prototype.toString.call(arr) == '[object Array]';\n};\n","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports[\"default\"] = void 0;\n\nvar _element = _interopRequireDefault(require(\"./element\"));\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; 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 _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\"); } 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 _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function () { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } return _assertThisInitialized(self); }\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 _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\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 CardElement = /*#__PURE__*/function (_Element) {\n _inherits(CardElement, _Element);\n\n var _super = _createSuper(CardElement);\n\n function CardElement() {\n _classCallCheck(this, CardElement);\n\n return _super.apply(this, arguments);\n }\n\n return CardElement;\n}(_element[\"default\"]);\n\nexports[\"default\"] = CardElement;\n\n_defineProperty(CardElement, \"elementClassName\", 'CardElement');\n\n;","function areInputsEqual(newInputs, lastInputs) {\n if (newInputs.length !== lastInputs.length) {\n return false;\n }\n for (var i = 0; i < newInputs.length; i++) {\n if (newInputs[i] !== lastInputs[i]) {\n return false;\n }\n }\n return true;\n}\n\nfunction memoizeOne(resultFn, isEqual) {\n if (isEqual === void 0) { isEqual = areInputsEqual; }\n var lastThis;\n var lastArgs = [];\n var lastResult;\n var calledOnce = false;\n function memoized() {\n var newArgs = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n newArgs[_i] = arguments[_i];\n }\n if (calledOnce && lastThis === this && isEqual(newArgs, lastArgs)) {\n return lastResult;\n }\n lastResult = resultFn.apply(this, newArgs);\n calledOnce = true;\n lastThis = this;\n lastArgs = newArgs;\n return lastResult;\n }\n return memoized;\n}\n\nexport default memoizeOne;\n","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports[\"default\"] = void 0;\n\nvar _element = _interopRequireDefault(require(\"./element\"));\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; 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 _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\"); } 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 _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function () { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } return _assertThisInitialized(self); }\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 _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\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 CardNumberElement = /*#__PURE__*/function (_Element) {\n _inherits(CardNumberElement, _Element);\n\n var _super = _createSuper(CardNumberElement);\n\n function CardNumberElement() {\n _classCallCheck(this, CardNumberElement);\n\n return _super.apply(this, arguments);\n }\n\n return CardNumberElement;\n}(_element[\"default\"]);\n\nexports[\"default\"] = CardNumberElement;\n\n_defineProperty(CardNumberElement, \"elementClassName\", 'CardNumberElement');\n\n;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports[\"default\"] = void 0;\n\nvar _element = _interopRequireDefault(require(\"./element\"));\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; 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 _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\"); } 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 _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function () { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } return _assertThisInitialized(self); }\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 _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\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 CardMonthElement = /*#__PURE__*/function (_Element) {\n _inherits(CardMonthElement, _Element);\n\n var _super = _createSuper(CardMonthElement);\n\n function CardMonthElement() {\n _classCallCheck(this, CardMonthElement);\n\n return _super.apply(this, arguments);\n }\n\n return CardMonthElement;\n}(_element[\"default\"]);\n\nexports[\"default\"] = CardMonthElement;\n\n_defineProperty(CardMonthElement, \"elementClassName\", 'CardMonthElement');\n\n;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports[\"default\"] = void 0;\n\nvar _element = _interopRequireDefault(require(\"./element\"));\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; 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 _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\"); } 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 _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function () { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } return _assertThisInitialized(self); }\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 _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\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 CardYearElement = /*#__PURE__*/function (_Element) {\n _inherits(CardYearElement, _Element);\n\n var _super = _createSuper(CardYearElement);\n\n function CardYearElement() {\n _classCallCheck(this, CardYearElement);\n\n return _super.apply(this, arguments);\n }\n\n return CardYearElement;\n}(_element[\"default\"]);\n\nexports[\"default\"] = CardYearElement;\n\n_defineProperty(CardYearElement, \"elementClassName\", 'CardYearElement');\n\n;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports[\"default\"] = void 0;\n\nvar _element = _interopRequireDefault(require(\"./element\"));\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; 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 _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\"); } 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 _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function () { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } return _assertThisInitialized(self); }\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 _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\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 CardCvvElement = /*#__PURE__*/function (_Element) {\n _inherits(CardCvvElement, _Element);\n\n var _super = _createSuper(CardCvvElement);\n\n function CardCvvElement() {\n _classCallCheck(this, CardCvvElement);\n\n return _super.apply(this, arguments);\n }\n\n return CardCvvElement;\n}(_element[\"default\"]);\n\nexports[\"default\"] = CardCvvElement;\n\n_defineProperty(CardCvvElement, \"elementClassName\", 'CardCvvElement');\n\n;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports[\"default\"] = exports.RISK_STRATEGIES = void 0;\n\nvar _react = _interopRequireDefault(require(\"react\"));\n\nvar _propTypes = _interopRequireDefault(require(\"prop-types\"));\n\nvar _provider = require(\"./provider\");\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; 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 _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 _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 _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function () { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } return _assertThisInitialized(self); }\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 _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\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 RISK_STRATEGIES = ['kount'];\n/**\n * Injects risk data collection point in your checkout.\n *\n * <https://docs.recurly.com/docs/kount>\n */\n\nexports.RISK_STRATEGIES = RISK_STRATEGIES;\n\nvar RiskDataCollector = /*#__PURE__*/function (_React$Component) {\n _inherits(RiskDataCollector, _React$Component);\n\n var _super = _createSuper(RiskDataCollector);\n\n function RiskDataCollector(props, context) {\n var _this;\n\n _classCallCheck(this, RiskDataCollector);\n\n _this = _super.call(this, props, context);\n\n if (!context || !context.recurly) {\n throw new Error('<RiskDataCollector> must be within a <RecurlyProvider> tree.');\n }\n /**\n * TODO\n * Once recurly.Fraud is decommissioned in favor of recurly.Risk.FraudConcern,\n * this will change to consume a RiskProvider.\n */\n\n\n _this._container = _react[\"default\"].createRef();\n _this._recurly = _this.context.recurly;\n return _this;\n }\n\n _createClass(RiskDataCollector, [{\n key: \"componentDidMount\",\n value: function componentDidMount() {\n var container = this._container,\n recurly = this._recurly;\n var _this$props = this.props,\n strategy = _this$props.strategy,\n onError = _this$props.onError;\n recurly.configure({\n fraud: _defineProperty({}, strategy, {\n dataCollector: true,\n form: container\n })\n });\n var fraud = this._fraud = recurly.fraud;\n fraud.on('error', function () {\n return onError.apply(void 0, arguments);\n });\n }\n }, {\n key: \"render\",\n value: function render() {\n return /*#__PURE__*/_react[\"default\"].createElement(\"div\", {\n id: this.props.id,\n className: this.props.className,\n ref: this._container\n });\n }\n }]);\n\n return RiskDataCollector;\n}(_react[\"default\"].Component);\n\nexports[\"default\"] = RiskDataCollector;\n\n_defineProperty(RiskDataCollector, \"propTypes\", {\n /**\n * Applied to the container.\n */\n id: _propTypes[\"default\"].string,\n\n /**\n * Applied to the container.\n */\n className: _propTypes[\"default\"].string,\n\n /**\n * Risk data collection strategy.\n *\n * Possible values: 'kount'\n */\n strategy: _propTypes[\"default\"].oneOf(RISK_STRATEGIES),\n\n /**\n * Called when an error is encountered\n * @type {FraudDataCollector~onError}\n */\n\n /**\n * @callback FraudDataCollector~onError\n * @param {RecurlyError}\n */\n onError: _propTypes[\"default\"].func\n});\n\n_defineProperty(RiskDataCollector, \"defaultProps\", {\n id: undefined,\n className: undefined,\n strategy: RISK_STRATEGIES[0],\n onError: function onError(e) {\n throw e;\n }\n});\n\n_defineProperty(RiskDataCollector, \"contextType\", _provider.RecurlyContext);\n\n;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports[\"default\"] = void 0;\n\nvar _react = _interopRequireDefault(require(\"react\"));\n\nvar _propTypes = _interopRequireDefault(require(\"prop-types\"));\n\nvar _provider = require(\"./provider\");\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; 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 _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 _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 _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function () { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } return _assertThisInitialized(self); }\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 _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\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 ThreeDSecureAction = /*#__PURE__*/function (_React$PureComponent) {\n _inherits(ThreeDSecureAction, _React$PureComponent);\n\n var _super = _createSuper(ThreeDSecureAction);\n\n function ThreeDSecureAction(props, context) {\n var _this;\n\n _classCallCheck(this, ThreeDSecureAction);\n\n _this = _super.call(this, props, context);\n\n if (!context || !context.recurly) {\n throw new Error('<ThreeDSecureAction> must be within a <RecurlyProvider> tree.');\n }\n\n var actionTokenId = props.actionTokenId;\n _this._container = _react[\"default\"].createRef();\n _this._risk = _this.context.recurly.Risk();\n _this._threeDSecure = _this._risk.ThreeDSecure({\n actionTokenId: actionTokenId\n });\n\n _this._threeDSecure.on('token', function () {\n var _this$props;\n\n return (_this$props = _this.props).onToken.apply(_this$props, arguments);\n });\n\n _this._threeDSecure.on('error', function () {\n var _this$props2;\n\n return (_this$props2 = _this.props).onError.apply(_this$props2, arguments);\n });\n\n return _this;\n }\n\n _createClass(ThreeDSecureAction, [{\n key: \"componentDidMount\",\n value: function componentDidMount() {\n this._threeDSecure.attach(this._container.current);\n }\n }, {\n key: \"render\",\n value: function render() {\n return /*#__PURE__*/_react[\"default\"].createElement(\"div\", {\n id: this.props.id,\n className: this.props.className,\n ref: this._container\n });\n }\n }]);\n\n return ThreeDSecureAction;\n}(_react[\"default\"].PureComponent);\n\nexports[\"default\"] = ThreeDSecureAction;\n\n_defineProperty(ThreeDSecureAction, \"propTypes\", {\n /**\n * Applied to the container.\n */\n id: _propTypes[\"default\"].string,\n\n /**\n * Applied to the container.\n */\n className: _propTypes[\"default\"].string,\n\n /**\n * `three_d_secure_action_token_id` returned by the Recurly API when 3-D Secure\n * authentication is required for a transaction.\n */\n actionTokenId: _propTypes[\"default\"].string,\n\n /**\n * Called when the user has completed the 3D Secure flow\n * @type {ThreeDSecureAction~onToken}\n */\n\n /**\n * @callback ThreeDSecureAction~onToken\n * @param {ThreeDSecureActionResultToken}\n */\n onToken: _propTypes[\"default\"].func,\n\n /**\n * Called when an error is encountered\n * @type {ThreeDSecureAction~onError}\n */\n\n /**\n * @callback ThreeDSecureAction~onError\n * @param {RecurlyError}\n */\n onError: _propTypes[\"default\"].func\n});\n\n_defineProperty(ThreeDSecureAction, \"defaultProps\", {\n id: undefined,\n className: undefined,\n actionTokenId: '',\n onToken: function onToken() {},\n onError: function onError(e) {\n throw e;\n }\n});\n\n_defineProperty(ThreeDSecureAction, \"contextType\", _provider.RecurlyContext);\n\n;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports[\"default\"] = useCheckoutPricing;\nexports.throwError = throwError;\n\nvar _react = require(\"react\");\n\nvar _useRecurly = _interopRequireDefault(require(\"./use-recurly\"));\n\nvar _cloneDeep = _interopRequireDefault(require(\"lodash/cloneDeep\"));\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }\n\nfunction _nonIterableSpread() { throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\n\nfunction _iterableToArray(iter) { if (typeof Symbol !== \"undefined\" && Symbol.iterator in Object(iter)) return Array.from(iter); }\n\nfunction _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }\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 _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }\n\nfunction _nonIterableRest() { throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\nfunction _iterableToArrayLimit(arr, i) { if (typeof Symbol === \"undefined\" || !(Symbol.iterator in Object(arr))) return; 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\"] != null) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; }\n\nfunction _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }\n\n/**\n * @typedef {Object} address\n * @property {String} country\n * @property {String} postalCode\n * @property {String} vatNumber\n */\n\n/**\n * useCheckoutPricing interface\n * @typedef {Object} useCheckoutPricingInterface\n * @property {Array} subscriptions\n * @property {Array} adjustments\n * @property {String} currency\n * @property {address} address\n * @property {address} shippingAddress\n * @property {String} coupon\n * @property {String} giftCard\n * @property {Object} tax\n */\n\n/**\n * A custom hook for interfacing with recurly.js' checkoutPricing API meant to mimic the call signature, return\n * type, and behavior of `react.useState`.\n *\n * Accepts an `initialInputs` param (same as useState) and an error handling function.\n *\n * Returns a tuple with an output object and an update function similar to useState.\n *\n * @typedef {Object} output\n * @property {Object} price\n * @property {Object} pricing\n * @property {Boolean} loading\n *\n * @typedef {Function} setPricing\n * @typedef {[output, setPricing]} useCheckoutPricingInstance\n *\n * @param {PricingInput} useCheckoutPricingInterface\n * @param {function} handleError\n * @returns {useCheckoutPricingInstance} useCheckoutPricingInstance\n */\nfunction useCheckoutPricing(initialInputs) {\n var handleError = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : throwError;\n var recurly = (0, _useRecurly[\"default\"])();\n\n var _useState = (0, _react.useState)(true),\n _useState2 = _slicedToArray(_useState, 2),\n loading = _useState2[0],\n setLoading = _useState2[1];\n\n var _useState3 = (0, _react.useState)(initialInputs || {}),\n _useState4 = _slicedToArray(_useState3, 2),\n input = _useState4[0],\n setInput = _useState4[1];\n\n var _useState5 = (0, _react.useState)(recurly.Pricing.Checkout()),\n _useState6 = _slicedToArray(_useState5, 2),\n pricing = _useState6[0],\n setPricing = _useState6[1];\n\n (0, _react.useEffect)(function () {\n setLoading(true);\n\n var _input$subscriptions = input.subscriptions,\n subscriptions = _input$subscriptions === void 0 ? [] : _input$subscriptions,\n _input$adjustments = input.adjustments,\n adjustments = _input$adjustments === void 0 ? [] : _input$adjustments,\n restInputs = _objectWithoutProperties(input, [\"subscriptions\", \"adjustments\"]);\n\n var checkoutPricing = recurly.Pricing.Checkout();\n addSubscriptions(subscriptions, checkoutPricing).then(function () {\n checkoutPricing = addAdjustments(adjustments, checkoutPricing);\n checkoutPricing = addRestInputs(restInputs, checkoutPricing);\n checkoutPricing = checkoutPricing.reprice().done(function () {\n setPricing(checkoutPricing);\n setLoading(false);\n });\n });\n\n function addAdjustments(adjustments, checkoutPricing) {\n if (!adjustments.length) return checkoutPricing.reprice();\n return adjustments.reduce(function (checkoutPricing, adjustment) {\n return checkoutPricing.adjustment(adjustment)[\"catch\"](handleError);\n }, checkoutPricing);\n }\n\n ;\n\n function addRestInputs(restInputs, checkoutPricing) {\n var restInputsEntries = Object.entries(restInputs);\n if (!restInputsEntries.length) return checkoutPricing.reprice();\n var PRICING_METHODS = checkoutPricing.pricing.PRICING_METHODS;\n var exclude = ['reset', 'remove', 'reprice', 'subscription', 'adjustment', 'addon', 'plan'];\n var permittedInputs = PRICING_METHODS.filter(function (method) {\n return !exclude.includes(method);\n });\n return restInputsEntries.reduce(function (acc, input) {\n var _input = _slicedToArray(input, 2),\n method = _input[0],\n value = _input[1];\n\n var shouldCallPricingMethod = value && permittedInputs.includes(method);\n return shouldCallPricingMethod ? acc[method](value)[\"catch\"](handleError) : acc;\n }, checkoutPricing);\n }\n\n ;\n\n function addSubscriptions(subscriptions, checkoutPricing) {\n var _subscriptions$reduce = subscriptions.reduce(function (_ref, _ref2) {\n var checkoutPricing = _ref.checkoutPricing,\n subscriptionPricings = _ref.subscriptionPricings;\n var plan = _ref2.plan,\n tax = _ref2.tax,\n _ref2$addons = _ref2.addons,\n addons = _ref2$addons === void 0 ? [] : _ref2$addons,\n quantity = _ref2.quantity;\n var subscriptionPricing;\n\n if (restInputs.currency) {\n subscriptionPricing = recurly.Pricing.Subscription().currency(restInputs.currency).plan(plan, {\n quantity: quantity\n });\n } else {\n subscriptionPricing = recurly.Pricing.Subscription().plan(plan, {\n quantity: quantity\n });\n }\n\n if (addons.length) {\n subscriptionPricing = addAddons(addons, subscriptionPricing);\n }\n\n if (tax) {\n subscriptionPricing = subscriptionPricing.tax(tax);\n }\n\n subscriptionPricing = subscriptionPricing[\"catch\"](handleError);\n return {\n checkoutPricing: checkoutPricing.subscription(subscriptionPricing.done())[\"catch\"](handleError),\n subscriptionPricings: [].concat(_toConsumableArray(subscriptionPricings), [subscriptionPricing])\n };\n }, {\n checkoutPricing: checkoutPricing,\n subscriptionPricings: []\n }),\n subscriptionPricings = _subscriptions$reduce.subscriptionPricings;\n\n return Promise.all(subscriptionPricings);\n }\n\n ;\n\n function addAddons() {\n var addons = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];\n var subscriptionPricing = arguments.length > 1 ? arguments[1] : undefined;\n return addons.reduce(function (subscriptionPricing, _ref3) {\n var code = _ref3.code,\n quantity = _ref3.quantity;\n return subscriptionPricing.addon(code, {\n quantity: quantity\n });\n }, subscriptionPricing)[\"catch\"](handleError);\n }\n\n ;\n }, [input, handleError, recurly.Pricing]);\n var pricingState = {\n price: pricing && (0, _cloneDeep[\"default\"])(pricing.price) || {},\n loading: loading\n };\n return [pricingState, setInput, pricing];\n}\n\n;\n\nfunction throwError(err) {\n throw err;\n}\n\n;","var baseClone = require('./_baseClone');\n\n/** Used to compose bitmasks for cloning. */\nvar CLONE_DEEP_FLAG = 1,\n CLONE_SYMBOLS_FLAG = 4;\n\n/**\n * This method is like `_.clone` except that it recursively clones `value`.\n *\n * @static\n * @memberOf _\n * @since 1.0.0\n * @category Lang\n * @param {*} value The value to recursively clone.\n * @returns {*} Returns the deep cloned value.\n * @see _.clone\n * @example\n *\n * var objects = [{ 'a': 1 }, { 'b': 2 }];\n *\n * var deep = _.cloneDeep(objects);\n * console.log(deep[0] === objects[0]);\n * // => false\n */\nfunction cloneDeep(value) {\n return baseClone(value, CLONE_DEEP_FLAG | CLONE_SYMBOLS_FLAG);\n}\n\nmodule.exports = cloneDeep;\n","var Stack = require('./_Stack'),\n arrayEach = require('./_arrayEach'),\n assignValue = require('./_assignValue'),\n baseAssign = require('./_baseAssign'),\n baseAssignIn = require('./_baseAssignIn'),\n cloneBuffer = require('./_cloneBuffer'),\n copyArray = require('./_copyArray'),\n copySymbols = require('./_copySymbols'),\n copySymbolsIn = require('./_copySymbolsIn'),\n getAllKeys = require('./_getAllKeys'),\n getAllKeysIn = require('./_getAllKeysIn'),\n getTag = require('./_getTag'),\n initCloneArray = require('./_initCloneArray'),\n initCloneByTag = require('./_initCloneByTag'),\n initCloneObject = require('./_initCloneObject'),\n isArray = require('./isArray'),\n isBuffer = require('./isBuffer'),\n isMap = require('./isMap'),\n isObject = require('./isObject'),\n isSet = require('./isSet'),\n keys = require('./keys'),\n keysIn = require('./keysIn');\n\n/** Used to compose bitmasks for cloning. */\nvar CLONE_DEEP_FLAG = 1,\n CLONE_FLAT_FLAG = 2,\n CLONE_SYMBOLS_FLAG = 4;\n\n/** `Object#toString` result references. */\nvar argsTag = '[object Arguments]',\n arrayTag = '[object Array]',\n boolTag = '[object Boolean]',\n dateTag = '[object Date]',\n errorTag = '[object Error]',\n funcTag = '[object Function]',\n genTag = '[object GeneratorFunction]',\n mapTag = '[object Map]',\n numberTag = '[object Number]',\n objectTag = '[object Object]',\n regexpTag = '[object RegExp]',\n setTag = '[object Set]',\n stringTag = '[object String]',\n symbolTag = '[object Symbol]',\n weakMapTag = '[object WeakMap]';\n\nvar arrayBufferTag = '[object ArrayBuffer]',\n dataViewTag = '[object DataView]',\n float32Tag = '[object Float32Array]',\n float64Tag = '[object Float64Array]',\n int8Tag = '[object Int8Array]',\n int16Tag = '[object Int16Array]',\n int32Tag = '[object Int32Array]',\n uint8Tag = '[object Uint8Array]',\n uint8ClampedTag = '[object Uint8ClampedArray]',\n uint16Tag = '[object Uint16Array]',\n uint32Tag = '[object Uint32Array]';\n\n/** Used to identify `toStringTag` values supported by `_.clone`. */\nvar cloneableTags = {};\ncloneableTags[argsTag] = cloneableTags[arrayTag] =\ncloneableTags[arrayBufferTag] = cloneableTags[dataViewTag] =\ncloneableTags[boolTag] = cloneableTags[dateTag] =\ncloneableTags[float32Tag] = cloneableTags[float64Tag] =\ncloneableTags[int8Tag] = cloneableTags[int16Tag] =\ncloneableTags[int32Tag] = cloneableTags[mapTag] =\ncloneableTags[numberTag] = cloneableTags[objectTag] =\ncloneableTags[regexpTag] = cloneableTags[setTag] =\ncloneableTags[stringTag] = cloneableTags[symbolTag] =\ncloneableTags[uint8Tag] = cloneableTags[uint8ClampedTag] =\ncloneableTags[uint16Tag] = cloneableTags[uint32Tag] = true;\ncloneableTags[errorTag] = cloneableTags[funcTag] =\ncloneableTags[weakMapTag] = false;\n\n/**\n * The base implementation of `_.clone` and `_.cloneDeep` which tracks\n * traversed objects.\n *\n * @private\n * @param {*} value The value to clone.\n * @param {boolean} bitmask The bitmask flags.\n * 1 - Deep clone\n * 2 - Flatten inherited properties\n * 4 - Clone symbols\n * @param {Function} [customizer] The function to customize cloning.\n * @param {string} [key] The key of `value`.\n * @param {Object} [object] The parent object of `value`.\n * @param {Object} [stack] Tracks traversed objects and their clone counterparts.\n * @returns {*} Returns the cloned value.\n */\nfunction baseClone(value, bitmask, customizer, key, object, stack) {\n var result,\n isDeep = bitmask & CLONE_DEEP_FLAG,\n isFlat = bitmask & CLONE_FLAT_FLAG,\n isFull = bitmask & CLONE_SYMBOLS_FLAG;\n\n if (customizer) {\n result = object ? customizer(value, key, object, stack) : customizer(value);\n }\n if (result !== undefined) {\n return result;\n }\n if (!isObject(value)) {\n return value;\n }\n var isArr = isArray(value);\n if (isArr) {\n result = initCloneArray(value);\n if (!isDeep) {\n return copyArray(value, result);\n }\n } else {\n var tag = getTag(value),\n isFunc = tag == funcTag || tag == genTag;\n\n if (isBuffer(value)) {\n return cloneBuffer(value, isDeep);\n }\n if (tag == objectTag || tag == argsTag || (isFunc && !object)) {\n result = (isFlat || isFunc) ? {} : initCloneObject(value);\n if (!isDeep) {\n return isFlat\n ? copySymbolsIn(value, baseAssignIn(result, value))\n : copySymbols(value, baseAssign(result, value));\n }\n } else {\n if (!cloneableTags[tag]) {\n return object ? value : {};\n }\n result = initCloneByTag(value, tag, isDeep);\n }\n }\n // Check for circular references and return its corresponding clone.\n stack || (stack = new Stack);\n var stacked = stack.get(value);\n if (stacked) {\n return stacked;\n }\n stack.set(value, result);\n\n if (isSet(value)) {\n value.forEach(function(subValue) {\n result.add(baseClone(subValue, bitmask, customizer, subValue, value, stack));\n });\n } else if (isMap(value)) {\n value.forEach(function(subValue, key) {\n result.set(key, baseClone(subValue, bitmask, customizer, key, value, stack));\n });\n }\n\n var keysFunc = isFull\n ? (isFlat ? getAllKeysIn : getAllKeys)\n : (isFlat ? keysIn : keys);\n\n var props = isArr ? undefined : keysFunc(value);\n arrayEach(props || value, function(subValue, key) {\n if (props) {\n key = subValue;\n subValue = value[key];\n }\n // Recursively populate clone (susceptible to call stack limits).\n assignValue(result, key, baseClone(subValue, bitmask, customizer, key, value, stack));\n });\n return result;\n}\n\nmodule.exports = baseClone;\n","var ListCache = require('./_ListCache'),\n stackClear = require('./_stackClear'),\n stackDelete = require('./_stackDelete'),\n stackGet = require('./_stackGet'),\n stackHas = require('./_stackHas'),\n stackSet = require('./_stackSet');\n\n/**\n * Creates a stack cache object to store key-value pairs.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction Stack(entries) {\n var data = this.__data__ = new ListCache(entries);\n this.size = data.size;\n}\n\n// Add methods to `Stack`.\nStack.prototype.clear = stackClear;\nStack.prototype['delete'] = stackDelete;\nStack.prototype.get = stackGet;\nStack.prototype.has = stackHas;\nStack.prototype.set = stackSet;\n\nmodule.exports = Stack;\n","/**\n * Removes all key-value entries from the list cache.\n *\n * @private\n * @name clear\n * @memberOf ListCache\n */\nfunction listCacheClear() {\n this.__data__ = [];\n this.size = 0;\n}\n\nmodule.exports = listCacheClear;\n","var assocIndexOf = require('./_assocIndexOf');\n\n/** Used for built-in method references. */\nvar arrayProto = Array.prototype;\n\n/** Built-in value references. */\nvar splice = arrayProto.splice;\n\n/**\n * Removes `key` and its value from the list cache.\n *\n * @private\n * @name delete\n * @memberOf ListCache\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction listCacheDelete(key) {\n var data = this.__data__,\n index = assocIndexOf(data, key);\n\n if (index < 0) {\n return false;\n }\n var lastIndex = data.length - 1;\n if (index == lastIndex) {\n data.pop();\n } else {\n splice.call(data, index, 1);\n }\n --this.size;\n return true;\n}\n\nmodule.exports = listCacheDelete;\n","var assocIndexOf = require('./_assocIndexOf');\n\n/**\n * Gets the list cache value for `key`.\n *\n * @private\n * @name get\n * @memberOf ListCache\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction listCacheGet(key) {\n var data = this.__data__,\n index = assocIndexOf(data, key);\n\n return index < 0 ? undefined : data[index][1];\n}\n\nmodule.exports = listCacheGet;\n","var assocIndexOf = require('./_assocIndexOf');\n\n/**\n * Checks if a list cache value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf ListCache\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction listCacheHas(key) {\n return assocIndexOf(this.__data__, key) > -1;\n}\n\nmodule.exports = listCacheHas;\n","var assocIndexOf = require('./_assocIndexOf');\n\n/**\n * Sets the list cache `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf ListCache\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the list cache instance.\n */\nfunction listCacheSet(key, value) {\n var data = this.__data__,\n index = assocIndexOf(data, key);\n\n if (index < 0) {\n ++this.size;\n data.push([key, value]);\n } else {\n data[index][1] = value;\n }\n return this;\n}\n\nmodule.exports = listCacheSet;\n","var ListCache = require('./_ListCache');\n\n/**\n * Removes all key-value entries from the stack.\n *\n * @private\n * @name clear\n * @memberOf Stack\n */\nfunction stackClear() {\n this.__data__ = new ListCache;\n this.size = 0;\n}\n\nmodule.exports = stackClear;\n","/**\n * Removes `key` and its value from the stack.\n *\n * @private\n * @name delete\n * @memberOf Stack\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction stackDelete(key) {\n var data = this.__data__,\n result = data['delete'](key);\n\n this.size = data.size;\n return result;\n}\n\nmodule.exports = stackDelete;\n","/**\n * Gets the stack value for `key`.\n *\n * @private\n * @name get\n * @memberOf Stack\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction stackGet(key) {\n return this.__data__.get(key);\n}\n\nmodule.exports = stackGet;\n","/**\n * Checks if a stack value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf Stack\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction stackHas(key) {\n return this.__data__.has(key);\n}\n\nmodule.exports = stackHas;\n","var ListCache = require('./_ListCache'),\n Map = require('./_Map'),\n MapCache = require('./_MapCache');\n\n/** Used as the size to enable large array optimizations. */\nvar LARGE_ARRAY_SIZE = 200;\n\n/**\n * Sets the stack `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf Stack\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the stack cache instance.\n */\nfunction stackSet(key, value) {\n var data = this.__data__;\n if (data instanceof ListCache) {\n var pairs = data.__data__;\n if (!Map || (pairs.length < LARGE_ARRAY_SIZE - 1)) {\n pairs.push([key, value]);\n this.size = ++data.size;\n return this;\n }\n data = this.__data__ = new MapCache(pairs);\n }\n data.set(key, value);\n this.size = data.size;\n return this;\n}\n\nmodule.exports = stackSet;\n","var isFunction = require('./isFunction'),\n isMasked = require('./_isMasked'),\n isObject = require('./isObject'),\n toSource = require('./_toSource');\n\n/**\n * Used to match `RegExp`\n * [syntax characters](http://ecma-international.org/ecma-262/7.0/#sec-patterns).\n */\nvar reRegExpChar = /[\\\\^$.*+?()[\\]{}|]/g;\n\n/** Used to detect host constructors (Safari). */\nvar reIsHostCtor = /^\\[object .+?Constructor\\]$/;\n\n/** Used for built-in method references. */\nvar funcProto = Function.prototype,\n objectProto = Object.prototype;\n\n/** Used to resolve the decompiled source of functions. */\nvar funcToString = funcProto.toString;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/** Used to detect if a method is native. */\nvar reIsNative = RegExp('^' +\n funcToString.call(hasOwnProperty).replace(reRegExpChar, '\\\\$&')\n .replace(/hasOwnProperty|(function).*?(?=\\\\\\()| for .+?(?=\\\\\\])/g, '$1.*?') + '$'\n);\n\n/**\n * The base implementation of `_.isNative` without bad shim checks.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a native function,\n * else `false`.\n */\nfunction baseIsNative(value) {\n if (!isObject(value) || isMasked(value)) {\n return false;\n }\n var pattern = isFunction(value) ? reIsNative : reIsHostCtor;\n return pattern.test(toSource(value));\n}\n\nmodule.exports = baseIsNative;\n","var Symbol = require('./_Symbol');\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar nativeObjectToString = objectProto.toString;\n\n/** Built-in value references. */\nvar symToStringTag = Symbol ? Symbol.toStringTag : undefined;\n\n/**\n * A specialized version of `baseGetTag` which ignores `Symbol.toStringTag` values.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the raw `toStringTag`.\n */\nfunction getRawTag(value) {\n var isOwn = hasOwnProperty.call(value, symToStringTag),\n tag = value[symToStringTag];\n\n try {\n value[symToStringTag] = undefined;\n var unmasked = true;\n } catch (e) {}\n\n var result = nativeObjectToString.call(value);\n if (unmasked) {\n if (isOwn) {\n value[symToStringTag] = tag;\n } else {\n delete value[symToStringTag];\n }\n }\n return result;\n}\n\nmodule.exports = getRawTag;\n","/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar nativeObjectToString = objectProto.toString;\n\n/**\n * Converts `value` to a string using `Object.prototype.toString`.\n *\n * @private\n * @param {*} value The value to convert.\n * @returns {string} Returns the converted string.\n */\nfunction objectToString(value) {\n return nativeObjectToString.call(value);\n}\n\nmodule.exports = objectToString;\n","var coreJsData = require('./_coreJsData');\n\n/** Used to detect methods masquerading as native. */\nvar maskSrcKey = (function() {\n var uid = /[^.]+$/.exec(coreJsData && coreJsData.keys && coreJsData.keys.IE_PROTO || '');\n return uid ? ('Symbol(src)_1.' + uid) : '';\n}());\n\n/**\n * Checks if `func` has its source masked.\n *\n * @private\n * @param {Function} func The function to check.\n * @returns {boolean} Returns `true` if `func` is masked, else `false`.\n */\nfunction isMasked(func) {\n return !!maskSrcKey && (maskSrcKey in func);\n}\n\nmodule.exports = isMasked;\n","var root = require('./_root');\n\n/** Used to detect overreaching core-js shims. */\nvar coreJsData = root['__core-js_shared__'];\n\nmodule.exports = coreJsData;\n","/**\n * Gets the value at `key` of `object`.\n *\n * @private\n * @param {Object} [object] The object to query.\n * @param {string} key The key of the property to get.\n * @returns {*} Returns the property value.\n */\nfunction getValue(object, key) {\n return object == null ? undefined : object[key];\n}\n\nmodule.exports = getValue;\n","var mapCacheClear = require('./_mapCacheClear'),\n mapCacheDelete = require('./_mapCacheDelete'),\n mapCacheGet = require('./_mapCacheGet'),\n mapCacheHas = require('./_mapCacheHas'),\n mapCacheSet = require('./_mapCacheSet');\n\n/**\n * Creates a map cache object to store key-value pairs.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction MapCache(entries) {\n var index = -1,\n length = entries == null ? 0 : entries.length;\n\n this.clear();\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\n}\n\n// Add methods to `MapCache`.\nMapCache.prototype.clear = mapCacheClear;\nMapCache.prototype['delete'] = mapCacheDelete;\nMapCache.prototype.get = mapCacheGet;\nMapCache.prototype.has = mapCacheHas;\nMapCache.prototype.set = mapCacheSet;\n\nmodule.exports = MapCache;\n","var Hash = require('./_Hash'),\n ListCache = require('./_ListCache'),\n Map = require('./_Map');\n\n/**\n * Removes all key-value entries from the map.\n *\n * @private\n * @name clear\n * @memberOf MapCache\n */\nfunction mapCacheClear() {\n this.size = 0;\n this.__data__ = {\n 'hash': new Hash,\n 'map': new (Map || ListCache),\n 'string': new Hash\n };\n}\n\nmodule.exports = mapCacheClear;\n","var hashClear = require('./_hashClear'),\n hashDelete = require('./_hashDelete'),\n hashGet = require('./_hashGet'),\n hashHas = require('./_hashHas'),\n hashSet = require('./_hashSet');\n\n/**\n * Creates a hash object.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction Hash(entries) {\n var index = -1,\n length = entries == null ? 0 : entries.length;\n\n this.clear();\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\n}\n\n// Add methods to `Hash`.\nHash.prototype.clear = hashClear;\nHash.prototype['delete'] = hashDelete;\nHash.prototype.get = hashGet;\nHash.prototype.has = hashHas;\nHash.prototype.set = hashSet;\n\nmodule.exports = Hash;\n","var nativeCreate = require('./_nativeCreate');\n\n/**\n * Removes all key-value entries from the hash.\n *\n * @private\n * @name clear\n * @memberOf Hash\n */\nfunction hashClear() {\n this.__data__ = nativeCreate ? nativeCreate(null) : {};\n this.size = 0;\n}\n\nmodule.exports = hashClear;\n","/**\n * Removes `key` and its value from the hash.\n *\n * @private\n * @name delete\n * @memberOf Hash\n * @param {Object} hash The hash to modify.\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction hashDelete(key) {\n var result = this.has(key) && delete this.__data__[key];\n this.size -= result ? 1 : 0;\n return result;\n}\n\nmodule.exports = hashDelete;\n","var nativeCreate = require('./_nativeCreate');\n\n/** Used to stand-in for `undefined` hash values. */\nvar HASH_UNDEFINED = '__lodash_hash_undefined__';\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Gets the hash value for `key`.\n *\n * @private\n * @name get\n * @memberOf Hash\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction hashGet(key) {\n var data = this.__data__;\n if (nativeCreate) {\n var result = data[key];\n return result === HASH_UNDEFINED ? undefined : result;\n }\n return hasOwnProperty.call(data, key) ? data[key] : undefined;\n}\n\nmodule.exports = hashGet;\n","var nativeCreate = require('./_nativeCreate');\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Checks if a hash value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf Hash\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction hashHas(key) {\n var data = this.__data__;\n return nativeCreate ? (data[key] !== undefined) : hasOwnProperty.call(data, key);\n}\n\nmodule.exports = hashHas;\n","var nativeCreate = require('./_nativeCreate');\n\n/** Used to stand-in for `undefined` hash values. */\nvar HASH_UNDEFINED = '__lodash_hash_undefined__';\n\n/**\n * Sets the hash `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf Hash\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the hash instance.\n */\nfunction hashSet(key, value) {\n var data = this.__data__;\n this.size += this.has(key) ? 0 : 1;\n data[key] = (nativeCreate && value === undefined) ? HASH_UNDEFINED : value;\n return this;\n}\n\nmodule.exports = hashSet;\n","var getMapData = require('./_getMapData');\n\n/**\n * Removes `key` and its value from the map.\n *\n * @private\n * @name delete\n * @memberOf MapCache\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction mapCacheDelete(key) {\n var result = getMapData(this, key)['delete'](key);\n this.size -= result ? 1 : 0;\n return result;\n}\n\nmodule.exports = mapCacheDelete;\n","/**\n * Checks if `value` is suitable for use as unique object key.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is suitable, else `false`.\n */\nfunction isKeyable(value) {\n var type = typeof value;\n return (type == 'string' || type == 'number' || type == 'symbol' || type == 'boolean')\n ? (value !== '__proto__')\n : (value === null);\n}\n\nmodule.exports = isKeyable;\n","var getMapData = require('./_getMapData');\n\n/**\n * Gets the map value for `key`.\n *\n * @private\n * @name get\n * @memberOf MapCache\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction mapCacheGet(key) {\n return getMapData(this, key).get(key);\n}\n\nmodule.exports = mapCacheGet;\n","var getMapData = require('./_getMapData');\n\n/**\n * Checks if a map value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf MapCache\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction mapCacheHas(key) {\n return getMapData(this, key).has(key);\n}\n\nmodule.exports = mapCacheHas;\n","var getMapData = require('./_getMapData');\n\n/**\n * Sets the map `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf MapCache\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the map cache instance.\n */\nfunction mapCacheSet(key, value) {\n var data = getMapData(this, key),\n size = data.size;\n\n data.set(key, value);\n this.size += data.size == size ? 0 : 1;\n return this;\n}\n\nmodule.exports = mapCacheSet;\n","/**\n * A specialized version of `_.forEach` for arrays without support for\n * iteratee shorthands.\n *\n * @private\n * @param {Array} [array] The array to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Array} Returns `array`.\n */\nfunction arrayEach(array, iteratee) {\n var index = -1,\n length = array == null ? 0 : array.length;\n\n while (++index < length) {\n if (iteratee(array[index], index, array) === false) {\n break;\n }\n }\n return array;\n}\n\nmodule.exports = arrayEach;\n","var getNative = require('./_getNative');\n\nvar defineProperty = (function() {\n try {\n var func = getNative(Object, 'defineProperty');\n func({}, '', {});\n return func;\n } catch (e) {}\n}());\n\nmodule.exports = defineProperty;\n","var copyObject = require('./_copyObject'),\n keys = require('./keys');\n\n/**\n * The base implementation of `_.assign` without support for multiple sources\n * or `customizer` functions.\n *\n * @private\n * @param {Object} object The destination object.\n * @param {Object} source The source object.\n * @returns {Object} Returns `object`.\n */\nfunction baseAssign(object, source) {\n return object && copyObject(source, keys(source), object);\n}\n\nmodule.exports = baseAssign;\n","/**\n * The base implementation of `_.times` without support for iteratee shorthands\n * or max array length checks.\n *\n * @private\n * @param {number} n The number of times to invoke `iteratee`.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Array} Returns the array of results.\n */\nfunction baseTimes(n, iteratee) {\n var index = -1,\n result = Array(n);\n\n while (++index < n) {\n result[index] = iteratee(index);\n }\n return result;\n}\n\nmodule.exports = baseTimes;\n","var baseIsArguments = require('./_baseIsArguments'),\n isObjectLike = require('./isObjectLike');\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/** Built-in value references. */\nvar propertyIsEnumerable = objectProto.propertyIsEnumerable;\n\n/**\n * Checks if `value` is likely an `arguments` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an `arguments` object,\n * else `false`.\n * @example\n *\n * _.isArguments(function() { return arguments; }());\n * // => true\n *\n * _.isArguments([1, 2, 3]);\n * // => false\n */\nvar isArguments = baseIsArguments(function() { return arguments; }()) ? baseIsArguments : function(value) {\n return isObjectLike(value) && hasOwnProperty.call(value, 'callee') &&\n !propertyIsEnumerable.call(value, 'callee');\n};\n\nmodule.exports = isArguments;\n","var baseGetTag = require('./_baseGetTag'),\n isObjectLike = require('./isObjectLike');\n\n/** `Object#toString` result references. */\nvar argsTag = '[object Arguments]';\n\n/**\n * The base implementation of `_.isArguments`.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an `arguments` object,\n */\nfunction baseIsArguments(value) {\n return isObjectLike(value) && baseGetTag(value) == argsTag;\n}\n\nmodule.exports = baseIsArguments;\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","/** Used as references for various `Number` constants. */\nvar MAX_SAFE_INTEGER = 9007199254740991;\n\n/** Used to detect unsigned integer values. */\nvar reIsUint = /^(?:0|[1-9]\\d*)$/;\n\n/**\n * Checks if `value` is a valid array-like index.\n *\n * @private\n * @param {*} value The value to check.\n * @param {number} [length=MAX_SAFE_INTEGER] The upper bounds of a valid index.\n * @returns {boolean} Returns `true` if `value` is a valid index, else `false`.\n */\nfunction isIndex(value, length) {\n var type = typeof value;\n length = length == null ? MAX_SAFE_INTEGER : length;\n\n return !!length &&\n (type == 'number' ||\n (type != 'symbol' && reIsUint.test(value))) &&\n (value > -1 && value % 1 == 0 && value < length);\n}\n\nmodule.exports = isIndex;\n","var baseIsTypedArray = require('./_baseIsTypedArray'),\n baseUnary = require('./_baseUnary'),\n nodeUtil = require('./_nodeUtil');\n\n/* Node.js helper references. */\nvar nodeIsTypedArray = nodeUtil && nodeUtil.isTypedArray;\n\n/**\n * Checks if `value` is classified as a typed array.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a typed array, else `false`.\n * @example\n *\n * _.isTypedArray(new Uint8Array);\n * // => true\n *\n * _.isTypedArray([]);\n * // => false\n */\nvar isTypedArray = nodeIsTypedArray ? baseUnary(nodeIsTypedArray) : baseIsTypedArray;\n\nmodule.exports = isTypedArray;\n","var baseGetTag = require('./_baseGetTag'),\n isLength = require('./isLength'),\n isObjectLike = require('./isObjectLike');\n\n/** `Object#toString` result references. */\nvar argsTag = '[object Arguments]',\n arrayTag = '[object Array]',\n boolTag = '[object Boolean]',\n dateTag = '[object Date]',\n errorTag = '[object Error]',\n funcTag = '[object Function]',\n mapTag = '[object Map]',\n numberTag = '[object Number]',\n objectTag = '[object Object]',\n regexpTag = '[object RegExp]',\n setTag = '[object Set]',\n stringTag = '[object String]',\n weakMapTag = '[object WeakMap]';\n\nvar arrayBufferTag = '[object ArrayBuffer]',\n dataViewTag = '[object DataView]',\n float32Tag = '[object Float32Array]',\n float64Tag = '[object Float64Array]',\n int8Tag = '[object Int8Array]',\n int16Tag = '[object Int16Array]',\n int32Tag = '[object Int32Array]',\n uint8Tag = '[object Uint8Array]',\n uint8ClampedTag = '[object Uint8ClampedArray]',\n uint16Tag = '[object Uint16Array]',\n uint32Tag = '[object Uint32Array]';\n\n/** Used to identify `toStringTag` values of typed arrays. */\nvar typedArrayTags = {};\ntypedArrayTags[float32Tag] = typedArrayTags[float64Tag] =\ntypedArrayTags[int8Tag] = typedArrayTags[int16Tag] =\ntypedArrayTags[int32Tag] = typedArrayTags[uint8Tag] =\ntypedArrayTags[uint8ClampedTag] = typedArrayTags[uint16Tag] =\ntypedArrayTags[uint32Tag] = true;\ntypedArrayTags[argsTag] = typedArrayTags[arrayTag] =\ntypedArrayTags[arrayBufferTag] = typedArrayTags[boolTag] =\ntypedArrayTags[dataViewTag] = typedArrayTags[dateTag] =\ntypedArrayTags[errorTag] = typedArrayTags[funcTag] =\ntypedArrayTags[mapTag] = typedArrayTags[numberTag] =\ntypedArrayTags[objectTag] = typedArrayTags[regexpTag] =\ntypedArrayTags[setTag] = typedArrayTags[stringTag] =\ntypedArrayTags[weakMapTag] = false;\n\n/**\n * The base implementation of `_.isTypedArray` without Node.js optimizations.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a typed array, else `false`.\n */\nfunction baseIsTypedArray(value) {\n return isObjectLike(value) &&\n isLength(value.length) && !!typedArrayTags[baseGetTag(value)];\n}\n\nmodule.exports = baseIsTypedArray;\n","var isPrototype = require('./_isPrototype'),\n nativeKeys = require('./_nativeKeys');\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * The base implementation of `_.keys` which doesn't treat sparse arrays as dense.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n */\nfunction baseKeys(object) {\n if (!isPrototype(object)) {\n return nativeKeys(object);\n }\n var result = [];\n for (var key in Object(object)) {\n if (hasOwnProperty.call(object, key) && key != 'constructor') {\n result.push(key);\n }\n }\n return result;\n}\n\nmodule.exports = baseKeys;\n","var overArg = require('./_overArg');\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeKeys = overArg(Object.keys, Object);\n\nmodule.exports = nativeKeys;\n","var copyObject = require('./_copyObject'),\n keysIn = require('./keysIn');\n\n/**\n * The base implementation of `_.assignIn` without support for multiple sources\n * or `customizer` functions.\n *\n * @private\n * @param {Object} object The destination object.\n * @param {Object} source The source object.\n * @returns {Object} Returns `object`.\n */\nfunction baseAssignIn(object, source) {\n return object && copyObject(source, keysIn(source), object);\n}\n\nmodule.exports = baseAssignIn;\n","var isObject = require('./isObject'),\n isPrototype = require('./_isPrototype'),\n nativeKeysIn = require('./_nativeKeysIn');\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * The base implementation of `_.keysIn` which doesn't treat sparse arrays as dense.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n */\nfunction baseKeysIn(object) {\n if (!isObject(object)) {\n return nativeKeysIn(object);\n }\n var isProto = isPrototype(object),\n result = [];\n\n for (var key in object) {\n if (!(key == 'constructor' && (isProto || !hasOwnProperty.call(object, key)))) {\n result.push(key);\n }\n }\n return result;\n}\n\nmodule.exports = baseKeysIn;\n","/**\n * This function is like\n * [`Object.keys`](http://ecma-international.org/ecma-262/7.0/#sec-object.keys)\n * except that it includes inherited enumerable properties.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n */\nfunction nativeKeysIn(object) {\n var result = [];\n if (object != null) {\n for (var key in Object(object)) {\n result.push(key);\n }\n }\n return result;\n}\n\nmodule.exports = nativeKeysIn;\n","var root = require('./_root');\n\n/** Detect free variable `exports`. */\nvar freeExports = typeof exports == 'object' && exports && !exports.nodeType && exports;\n\n/** Detect free variable `module`. */\nvar freeModule = freeExports && typeof module == 'object' && module && !module.nodeType && module;\n\n/** Detect the popular CommonJS extension `module.exports`. */\nvar moduleExports = freeModule && freeModule.exports === freeExports;\n\n/** Built-in value references. */\nvar Buffer = moduleExports ? root.Buffer : undefined,\n allocUnsafe = Buffer ? Buffer.allocUnsafe : undefined;\n\n/**\n * Creates a clone of `buffer`.\n *\n * @private\n * @param {Buffer} buffer The buffer to clone.\n * @param {boolean} [isDeep] Specify a deep clone.\n * @returns {Buffer} Returns the cloned buffer.\n */\nfunction cloneBuffer(buffer, isDeep) {\n if (isDeep) {\n return buffer.slice();\n }\n var length = buffer.length,\n result = allocUnsafe ? allocUnsafe(length) : new buffer.constructor(length);\n\n buffer.copy(result);\n return result;\n}\n\nmodule.exports = cloneBuffer;\n","/**\n * Copies the values of `source` to `array`.\n *\n * @private\n * @param {Array} source The array to copy values from.\n * @param {Array} [array=[]] The array to copy values to.\n * @returns {Array} Returns `array`.\n */\nfunction copyArray(source, array) {\n var index = -1,\n length = source.length;\n\n array || (array = Array(length));\n while (++index < length) {\n array[index] = source[index];\n }\n return array;\n}\n\nmodule.exports = copyArray;\n","var copyObject = require('./_copyObject'),\n getSymbols = require('./_getSymbols');\n\n/**\n * Copies own symbols of `source` to `object`.\n *\n * @private\n * @param {Object} source The object to copy symbols from.\n * @param {Object} [object={}] The object to copy symbols to.\n * @returns {Object} Returns `object`.\n */\nfunction copySymbols(source, object) {\n return copyObject(source, getSymbols(source), object);\n}\n\nmodule.exports = copySymbols;\n","/**\n * A specialized version of `_.filter` for arrays without support for\n * iteratee shorthands.\n *\n * @private\n * @param {Array} [array] The array to iterate over.\n * @param {Function} predicate The function invoked per iteration.\n * @returns {Array} Returns the new filtered array.\n */\nfunction arrayFilter(array, predicate) {\n var index = -1,\n length = array == null ? 0 : array.length,\n resIndex = 0,\n result = [];\n\n while (++index < length) {\n var value = array[index];\n if (predicate(value, index, array)) {\n result[resIndex++] = value;\n }\n }\n return result;\n}\n\nmodule.exports = arrayFilter;\n","var copyObject = require('./_copyObject'),\n getSymbolsIn = require('./_getSymbolsIn');\n\n/**\n * Copies own and inherited symbols of `source` to `object`.\n *\n * @private\n * @param {Object} source The object to copy symbols from.\n * @param {Object} [object={}] The object to copy symbols to.\n * @returns {Object} Returns `object`.\n */\nfunction copySymbolsIn(source, object) {\n return copyObject(source, getSymbolsIn(source), object);\n}\n\nmodule.exports = copySymbolsIn;\n","var baseGetAllKeys = require('./_baseGetAllKeys'),\n getSymbols = require('./_getSymbols'),\n keys = require('./keys');\n\n/**\n * Creates an array of own enumerable property names and symbols of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names and symbols.\n */\nfunction getAllKeys(object) {\n return baseGetAllKeys(object, keys, getSymbols);\n}\n\nmodule.exports = getAllKeys;\n","var baseGetAllKeys = require('./_baseGetAllKeys'),\n getSymbolsIn = require('./_getSymbolsIn'),\n keysIn = require('./keysIn');\n\n/**\n * Creates an array of own and inherited enumerable property names and\n * symbols of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names and symbols.\n */\nfunction getAllKeysIn(object) {\n return baseGetAllKeys(object, keysIn, getSymbolsIn);\n}\n\nmodule.exports = getAllKeysIn;\n","var getNative = require('./_getNative'),\n root = require('./_root');\n\n/* Built-in method references that are verified to be native. */\nvar DataView = getNative(root, 'DataView');\n\nmodule.exports = DataView;\n","var getNative = require('./_getNative'),\n root = require('./_root');\n\n/* Built-in method references that are verified to be native. */\nvar Promise = getNative(root, 'Promise');\n\nmodule.exports = Promise;\n","var getNative = require('./_getNative'),\n root = require('./_root');\n\n/* Built-in method references that are verified to be native. */\nvar Set = getNative(root, 'Set');\n\nmodule.exports = Set;\n","var getNative = require('./_getNative'),\n root = require('./_root');\n\n/* Built-in method references that are verified to be native. */\nvar WeakMap = getNative(root, 'WeakMap');\n\nmodule.exports = WeakMap;\n","/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Initializes an array clone.\n *\n * @private\n * @param {Array} array The array to clone.\n * @returns {Array} Returns the initialized clone.\n */\nfunction initCloneArray(array) {\n var length = array.length,\n result = new array.constructor(length);\n\n // Add properties assigned by `RegExp#exec`.\n if (length && typeof array[0] == 'string' && hasOwnProperty.call(array, 'index')) {\n result.index = array.index;\n result.input = array.input;\n }\n return result;\n}\n\nmodule.exports = initCloneArray;\n","var cloneArrayBuffer = require('./_cloneArrayBuffer'),\n cloneDataView = require('./_cloneDataView'),\n cloneRegExp = require('./_cloneRegExp'),\n cloneSymbol = require('./_cloneSymbol'),\n cloneTypedArray = require('./_cloneTypedArray');\n\n/** `Object#toString` result references. */\nvar boolTag = '[object Boolean]',\n dateTag = '[object Date]',\n mapTag = '[object Map]',\n numberTag = '[object Number]',\n regexpTag = '[object RegExp]',\n setTag = '[object Set]',\n stringTag = '[object String]',\n symbolTag = '[object Symbol]';\n\nvar arrayBufferTag = '[object ArrayBuffer]',\n dataViewTag = '[object DataView]',\n float32Tag = '[object Float32Array]',\n float64Tag = '[object Float64Array]',\n int8Tag = '[object Int8Array]',\n int16Tag = '[object Int16Array]',\n int32Tag = '[object Int32Array]',\n uint8Tag = '[object Uint8Array]',\n uint8ClampedTag = '[object Uint8ClampedArray]',\n uint16Tag = '[object Uint16Array]',\n uint32Tag = '[object Uint32Array]';\n\n/**\n * Initializes an object clone based on its `toStringTag`.\n *\n * **Note:** This function only supports cloning values with tags of\n * `Boolean`, `Date`, `Error`, `Map`, `Number`, `RegExp`, `Set`, or `String`.\n *\n * @private\n * @param {Object} object The object to clone.\n * @param {string} tag The `toStringTag` of the object to clone.\n * @param {boolean} [isDeep] Specify a deep clone.\n * @returns {Object} Returns the initialized clone.\n */\nfunction initCloneByTag(object, tag, isDeep) {\n var Ctor = object.constructor;\n switch (tag) {\n case arrayBufferTag:\n return cloneArrayBuffer(object);\n\n case boolTag:\n case dateTag:\n return new Ctor(+object);\n\n case dataViewTag:\n return cloneDataView(object, isDeep);\n\n case float32Tag: case float64Tag:\n case int8Tag: case int16Tag: case int32Tag:\n case uint8Tag: case uint8ClampedTag: case uint16Tag: case uint32Tag:\n return cloneTypedArray(object, isDeep);\n\n case mapTag:\n return new Ctor;\n\n case numberTag:\n case stringTag:\n return new Ctor(object);\n\n case regexpTag:\n return cloneRegExp(object);\n\n case setTag:\n return new Ctor;\n\n case symbolTag:\n return cloneSymbol(object);\n }\n}\n\nmodule.exports = initCloneByTag;\n","var root = require('./_root');\n\n/** Built-in value references. */\nvar Uint8Array = root.Uint8Array;\n\nmodule.exports = Uint8Array;\n","var cloneArrayBuffer = require('./_cloneArrayBuffer');\n\n/**\n * Creates a clone of `dataView`.\n *\n * @private\n * @param {Object} dataView The data view to clone.\n * @param {boolean} [isDeep] Specify a deep clone.\n * @returns {Object} Returns the cloned data view.\n */\nfunction cloneDataView(dataView, isDeep) {\n var buffer = isDeep ? cloneArrayBuffer(dataView.buffer) : dataView.buffer;\n return new dataView.constructor(buffer, dataView.byteOffset, dataView.byteLength);\n}\n\nmodule.exports = cloneDataView;\n","/** Used to match `RegExp` flags from their coerced string values. */\nvar reFlags = /\\w*$/;\n\n/**\n * Creates a clone of `regexp`.\n *\n * @private\n * @param {Object} regexp The regexp to clone.\n * @returns {Object} Returns the cloned regexp.\n */\nfunction cloneRegExp(regexp) {\n var result = new regexp.constructor(regexp.source, reFlags.exec(regexp));\n result.lastIndex = regexp.lastIndex;\n return result;\n}\n\nmodule.exports = cloneRegExp;\n","var Symbol = require('./_Symbol');\n\n/** Used to convert symbols to primitives and strings. */\nvar symbolProto = Symbol ? Symbol.prototype : undefined,\n symbolValueOf = symbolProto ? symbolProto.valueOf : undefined;\n\n/**\n * Creates a clone of the `symbol` object.\n *\n * @private\n * @param {Object} symbol The symbol object to clone.\n * @returns {Object} Returns the cloned symbol object.\n */\nfunction cloneSymbol(symbol) {\n return symbolValueOf ? Object(symbolValueOf.call(symbol)) : {};\n}\n\nmodule.exports = cloneSymbol;\n","var cloneArrayBuffer = require('./_cloneArrayBuffer');\n\n/**\n * Creates a clone of `typedArray`.\n *\n * @private\n * @param {Object} typedArray The typed array to clone.\n * @param {boolean} [isDeep] Specify a deep clone.\n * @returns {Object} Returns the cloned typed array.\n */\nfunction cloneTypedArray(typedArray, isDeep) {\n var buffer = isDeep ? cloneArrayBuffer(typedArray.buffer) : typedArray.buffer;\n return new typedArray.constructor(buffer, typedArray.byteOffset, typedArray.length);\n}\n\nmodule.exports = cloneTypedArray;\n","var baseCreate = require('./_baseCreate'),\n getPrototype = require('./_getPrototype'),\n isPrototype = require('./_isPrototype');\n\n/**\n * Initializes an object clone.\n *\n * @private\n * @param {Object} object The object to clone.\n * @returns {Object} Returns the initialized clone.\n */\nfunction initCloneObject(object) {\n return (typeof object.constructor == 'function' && !isPrototype(object))\n ? baseCreate(getPrototype(object))\n : {};\n}\n\nmodule.exports = initCloneObject;\n","var isObject = require('./isObject');\n\n/** Built-in value references. */\nvar objectCreate = Object.create;\n\n/**\n * The base implementation of `_.create` without support for assigning\n * properties to the created object.\n *\n * @private\n * @param {Object} proto The object to inherit from.\n * @returns {Object} Returns the new object.\n */\nvar baseCreate = (function() {\n function object() {}\n return function(proto) {\n if (!isObject(proto)) {\n return {};\n }\n if (objectCreate) {\n return objectCreate(proto);\n }\n object.prototype = proto;\n var result = new object;\n object.prototype = undefined;\n return result;\n };\n}());\n\nmodule.exports = baseCreate;\n","var baseIsMap = require('./_baseIsMap'),\n baseUnary = require('./_baseUnary'),\n nodeUtil = require('./_nodeUtil');\n\n/* Node.js helper references. */\nvar nodeIsMap = nodeUtil && nodeUtil.isMap;\n\n/**\n * Checks if `value` is classified as a `Map` object.\n *\n * @static\n * @memberOf _\n * @since 4.3.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a map, else `false`.\n * @example\n *\n * _.isMap(new Map);\n * // => true\n *\n * _.isMap(new WeakMap);\n * // => false\n */\nvar isMap = nodeIsMap ? baseUnary(nodeIsMap) : baseIsMap;\n\nmodule.exports = isMap;\n","var getTag = require('./_getTag'),\n isObjectLike = require('./isObjectLike');\n\n/** `Object#toString` result references. */\nvar mapTag = '[object Map]';\n\n/**\n * The base implementation of `_.isMap` without Node.js optimizations.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a map, else `false`.\n */\nfunction baseIsMap(value) {\n return isObjectLike(value) && getTag(value) == mapTag;\n}\n\nmodule.exports = baseIsMap;\n","var baseIsSet = require('./_baseIsSet'),\n baseUnary = require('./_baseUnary'),\n nodeUtil = require('./_nodeUtil');\n\n/* Node.js helper references. */\nvar nodeIsSet = nodeUtil && nodeUtil.isSet;\n\n/**\n * Checks if `value` is classified as a `Set` object.\n *\n * @static\n * @memberOf _\n * @since 4.3.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a set, else `false`.\n * @example\n *\n * _.isSet(new Set);\n * // => true\n *\n * _.isSet(new WeakSet);\n * // => false\n */\nvar isSet = nodeIsSet ? baseUnary(nodeIsSet) : baseIsSet;\n\nmodule.exports = isSet;\n","var getTag = require('./_getTag'),\n isObjectLike = require('./isObjectLike');\n\n/** `Object#toString` result references. */\nvar setTag = '[object Set]';\n\n/**\n * The base implementation of `_.isSet` without Node.js optimizations.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a set, else `false`.\n */\nfunction baseIsSet(value) {\n return isObjectLike(value) && getTag(value) == setTag;\n}\n\nmodule.exports = baseIsSet;\n","function _arrayWithHoles(arr) {\n if (Array.isArray(arr)) return arr;\n}\n\nmodule.exports = _arrayWithHoles;","function _iterableToArrayLimit(arr, i) {\n if (typeof Symbol === \"undefined\" || !(Symbol.iterator in Object(arr))) return;\n var _arr = [];\n var _n = true;\n var _d = false;\n var _e = undefined;\n\n try {\n for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) {\n _arr.push(_s.value);\n\n if (i && _arr.length === i) break;\n }\n } catch (err) {\n _d = true;\n _e = err;\n } finally {\n try {\n if (!_n && _i[\"return\"] != null) _i[\"return\"]();\n } finally {\n if (_d) throw _e;\n }\n }\n\n return _arr;\n}\n\nmodule.exports = _iterableToArrayLimit;","function _nonIterableRest() {\n throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}\n\nmodule.exports = _nonIterableRest;","var arrayLikeToArray = require(\"./arrayLikeToArray\");\n\nfunction _arrayWithoutHoles(arr) {\n if (Array.isArray(arr)) return arrayLikeToArray(arr);\n}\n\nmodule.exports = _arrayWithoutHoles;","function _iterableToArray(iter) {\n if (typeof Symbol !== \"undefined\" && Symbol.iterator in Object(iter)) return Array.from(iter);\n}\n\nmodule.exports = _iterableToArray;","function _nonIterableSpread() {\n throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}\n\nmodule.exports = _nonIterableSpread;","'use strict';\nmodule.exports = str => encodeURIComponent(str).replace(/[!'()*]/g, x => `%${x.charCodeAt(0).toString(16).toUpperCase()}`);\n","'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';\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 = 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","/*!\n * The buffer module from node.js, for the browser.\n *\n * @author Feross Aboukhadijeh <http://feross.org>\n * @license MIT\n */\n/* eslint-disable no-proto */\n\n'use strict'\n\nvar base64 = require('base64-js')\nvar ieee754 = require('ieee754')\nvar isArray = require('isarray')\n\nexports.Buffer = Buffer\nexports.SlowBuffer = SlowBuffer\nexports.INSPECT_MAX_BYTES = 50\n\n/**\n * If `Buffer.TYPED_ARRAY_SUPPORT`:\n * === true Use Uint8Array implementation (fastest)\n * === false Use Object implementation (most compatible, even IE6)\n *\n * Browsers that support typed arrays are IE 10+, Firefox 4+, Chrome 7+, Safari 5.1+,\n * Opera 11.6+, iOS 4.2+.\n *\n * Due to various browser bugs, sometimes the Object implementation will be used even\n * when the browser supports typed arrays.\n *\n * Note:\n *\n * - Firefox 4-29 lacks support for adding new properties to `Uint8Array` instances,\n * See: https://bugzilla.mozilla.org/show_bug.cgi?id=695438.\n *\n * - Chrome 9-10 is missing the `TypedArray.prototype.subarray` function.\n *\n * - IE10 has a broken `TypedArray.prototype.subarray` function which returns arrays of\n * incorrect length in some situations.\n\n * We detect these buggy browsers and set `Buffer.TYPED_ARRAY_SUPPORT` to `false` so they\n * get the Object implementation, which is slower but behaves correctly.\n */\nBuffer.TYPED_ARRAY_SUPPORT = global.TYPED_ARRAY_SUPPORT !== undefined\n ? global.TYPED_ARRAY_SUPPORT\n : typedArraySupport()\n\n/*\n * Export kMaxLength after typed array support is determined.\n */\nexports.kMaxLength = kMaxLength()\n\nfunction typedArraySupport () {\n try {\n var arr = new Uint8Array(1)\n arr.__proto__ = {__proto__: Uint8Array.prototype, foo: function () { return 42 }}\n return arr.foo() === 42 && // typed array instances can be augmented\n typeof arr.subarray === 'function' && // chrome 9-10 lack `subarray`\n arr.subarray(1, 1).byteLength === 0 // ie10 has broken `subarray`\n } catch (e) {\n return false\n }\n}\n\nfunction kMaxLength () {\n return Buffer.TYPED_ARRAY_SUPPORT\n ? 0x7fffffff\n : 0x3fffffff\n}\n\nfunction createBuffer (that, length) {\n if (kMaxLength() < length) {\n throw new RangeError('Invalid typed array length')\n }\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n // Return an augmented `Uint8Array` instance, for best performance\n that = new Uint8Array(length)\n that.__proto__ = Buffer.prototype\n } else {\n // Fallback: Return an object instance of the Buffer class\n if (that === null) {\n that = new Buffer(length)\n }\n that.length = length\n }\n\n return that\n}\n\n/**\n * The Buffer constructor returns instances of `Uint8Array` that have their\n * prototype changed to `Buffer.prototype`. Furthermore, `Buffer` is a subclass of\n * `Uint8Array`, so the returned instances will have all the node `Buffer` methods\n * and the `Uint8Array` methods. Square bracket notation works as expected -- it\n * returns a single octet.\n *\n * The `Uint8Array` prototype remains unmodified.\n */\n\nfunction Buffer (arg, encodingOrOffset, length) {\n if (!Buffer.TYPED_ARRAY_SUPPORT && !(this instanceof Buffer)) {\n return new Buffer(arg, encodingOrOffset, length)\n }\n\n // Common case.\n if (typeof arg === 'number') {\n if (typeof encodingOrOffset === 'string') {\n throw new Error(\n 'If encoding is specified then the first argument must be a string'\n )\n }\n return allocUnsafe(this, arg)\n }\n return from(this, arg, encodingOrOffset, length)\n}\n\nBuffer.poolSize = 8192 // not used by this implementation\n\n// TODO: Legacy, not needed anymore. Remove in next major version.\nBuffer._augment = function (arr) {\n arr.__proto__ = Buffer.prototype\n return arr\n}\n\nfunction from (that, value, encodingOrOffset, length) {\n if (typeof value === 'number') {\n throw new TypeError('\"value\" argument must not be a number')\n }\n\n if (typeof ArrayBuffer !== 'undefined' && value instanceof ArrayBuffer) {\n return fromArrayBuffer(that, value, encodingOrOffset, length)\n }\n\n if (typeof value === 'string') {\n return fromString(that, value, encodingOrOffset)\n }\n\n return fromObject(that, value)\n}\n\n/**\n * Functionally equivalent to Buffer(arg, encoding) but throws a TypeError\n * if value is a number.\n * Buffer.from(str[, encoding])\n * Buffer.from(array)\n * Buffer.from(buffer)\n * Buffer.from(arrayBuffer[, byteOffset[, length]])\n **/\nBuffer.from = function (value, encodingOrOffset, length) {\n return from(null, value, encodingOrOffset, length)\n}\n\nif (Buffer.TYPED_ARRAY_SUPPORT) {\n Buffer.prototype.__proto__ = Uint8Array.prototype\n Buffer.__proto__ = Uint8Array\n if (typeof Symbol !== 'undefined' && Symbol.species &&\n Buffer[Symbol.species] === Buffer) {\n // Fix subarray() in ES2016. See: https://github.com/feross/buffer/pull/97\n Object.defineProperty(Buffer, Symbol.species, {\n value: null,\n configurable: true\n })\n }\n}\n\nfunction assertSize (size) {\n if (typeof size !== 'number') {\n throw new TypeError('\"size\" argument must be a number')\n } else if (size < 0) {\n throw new RangeError('\"size\" argument must not be negative')\n }\n}\n\nfunction alloc (that, size, fill, encoding) {\n assertSize(size)\n if (size <= 0) {\n return createBuffer(that, size)\n }\n if (fill !== undefined) {\n // Only pay attention to encoding if it's a string. This\n // prevents accidentally sending in a number that would\n // be interpretted as a start offset.\n return typeof encoding === 'string'\n ? createBuffer(that, size).fill(fill, encoding)\n : createBuffer(that, size).fill(fill)\n }\n return createBuffer(that, size)\n}\n\n/**\n * Creates a new filled Buffer instance.\n * alloc(size[, fill[, encoding]])\n **/\nBuffer.alloc = function (size, fill, encoding) {\n return alloc(null, size, fill, encoding)\n}\n\nfunction allocUnsafe (that, size) {\n assertSize(size)\n that = createBuffer(that, size < 0 ? 0 : checked(size) | 0)\n if (!Buffer.TYPED_ARRAY_SUPPORT) {\n for (var i = 0; i < size; ++i) {\n that[i] = 0\n }\n }\n return that\n}\n\n/**\n * Equivalent to Buffer(num), by default creates a non-zero-filled Buffer instance.\n * */\nBuffer.allocUnsafe = function (size) {\n return allocUnsafe(null, size)\n}\n/**\n * Equivalent to SlowBuffer(num), by default creates a non-zero-filled Buffer instance.\n */\nBuffer.allocUnsafeSlow = function (size) {\n return allocUnsafe(null, size)\n}\n\nfunction fromString (that, string, encoding) {\n if (typeof encoding !== 'string' || encoding === '') {\n encoding = 'utf8'\n }\n\n if (!Buffer.isEncoding(encoding)) {\n throw new TypeError('\"encoding\" must be a valid string encoding')\n }\n\n var length = byteLength(string, encoding) | 0\n that = createBuffer(that, length)\n\n var actual = that.write(string, encoding)\n\n if (actual !== length) {\n // Writing a hex string, for example, that contains invalid characters will\n // cause everything after the first invalid character to be ignored. (e.g.\n // 'abxxcd' will be treated as 'ab')\n that = that.slice(0, actual)\n }\n\n return that\n}\n\nfunction fromArrayLike (that, array) {\n var length = array.length < 0 ? 0 : checked(array.length) | 0\n that = createBuffer(that, length)\n for (var i = 0; i < length; i += 1) {\n that[i] = array[i] & 255\n }\n return that\n}\n\nfunction fromArrayBuffer (that, array, byteOffset, length) {\n array.byteLength // this throws if `array` is not a valid ArrayBuffer\n\n if (byteOffset < 0 || array.byteLength < byteOffset) {\n throw new RangeError('\\'offset\\' is out of bounds')\n }\n\n if (array.byteLength < byteOffset + (length || 0)) {\n throw new RangeError('\\'length\\' is out of bounds')\n }\n\n if (byteOffset === undefined && length === undefined) {\n array = new Uint8Array(array)\n } else if (length === undefined) {\n array = new Uint8Array(array, byteOffset)\n } else {\n array = new Uint8Array(array, byteOffset, length)\n }\n\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n // Return an augmented `Uint8Array` instance, for best performance\n that = array\n that.__proto__ = Buffer.prototype\n } else {\n // Fallback: Return an object instance of the Buffer class\n that = fromArrayLike(that, array)\n }\n return that\n}\n\nfunction fromObject (that, obj) {\n if (Buffer.isBuffer(obj)) {\n var len = checked(obj.length) | 0\n that = createBuffer(that, len)\n\n if (that.length === 0) {\n return that\n }\n\n obj.copy(that, 0, 0, len)\n return that\n }\n\n if (obj) {\n if ((typeof ArrayBuffer !== 'undefined' &&\n obj.buffer instanceof ArrayBuffer) || 'length' in obj) {\n if (typeof obj.length !== 'number' || isnan(obj.length)) {\n return createBuffer(that, 0)\n }\n return fromArrayLike(that, obj)\n }\n\n if (obj.type === 'Buffer' && isArray(obj.data)) {\n return fromArrayLike(that, obj.data)\n }\n }\n\n throw new TypeError('First argument must be a string, Buffer, ArrayBuffer, Array, or array-like object.')\n}\n\nfunction checked (length) {\n // Note: cannot use `length < kMaxLength()` here because that fails when\n // length is NaN (which is otherwise coerced to zero.)\n if (length >= kMaxLength()) {\n throw new RangeError('Attempt to allocate Buffer larger than maximum ' +\n 'size: 0x' + kMaxLength().toString(16) + ' bytes')\n }\n return length | 0\n}\n\nfunction SlowBuffer (length) {\n if (+length != length) { // eslint-disable-line eqeqeq\n length = 0\n }\n return Buffer.alloc(+length)\n}\n\nBuffer.isBuffer = function isBuffer (b) {\n return !!(b != null && b._isBuffer)\n}\n\nBuffer.compare = function compare (a, b) {\n if (!Buffer.isBuffer(a) || !Buffer.isBuffer(b)) {\n throw new TypeError('Arguments must be Buffers')\n }\n\n if (a === b) return 0\n\n var x = a.length\n var y = b.length\n\n for (var i = 0, len = Math.min(x, y); i < len; ++i) {\n if (a[i] !== b[i]) {\n x = a[i]\n y = b[i]\n break\n }\n }\n\n if (x < y) return -1\n if (y < x) return 1\n return 0\n}\n\nBuffer.isEncoding = function isEncoding (encoding) {\n switch (String(encoding).toLowerCase()) {\n case 'hex':\n case 'utf8':\n case 'utf-8':\n case 'ascii':\n case 'latin1':\n case 'binary':\n case 'base64':\n case 'ucs2':\n case 'ucs-2':\n case 'utf16le':\n case 'utf-16le':\n return true\n default:\n return false\n }\n}\n\nBuffer.concat = function concat (list, length) {\n if (!isArray(list)) {\n throw new TypeError('\"list\" argument must be an Array of Buffers')\n }\n\n if (list.length === 0) {\n return Buffer.alloc(0)\n }\n\n var i\n if (length === undefined) {\n length = 0\n for (i = 0; i < list.length; ++i) {\n length += list[i].length\n }\n }\n\n var buffer = Buffer.allocUnsafe(length)\n var pos = 0\n for (i = 0; i < list.length; ++i) {\n var buf = list[i]\n if (!Buffer.isBuffer(buf)) {\n throw new TypeError('\"list\" argument must be an Array of Buffers')\n }\n buf.copy(buffer, pos)\n pos += buf.length\n }\n return buffer\n}\n\nfunction byteLength (string, encoding) {\n if (Buffer.isBuffer(string)) {\n return string.length\n }\n if (typeof ArrayBuffer !== 'undefined' && typeof ArrayBuffer.isView === 'function' &&\n (ArrayBuffer.isView(string) || string instanceof ArrayBuffer)) {\n return string.byteLength\n }\n if (typeof string !== 'string') {\n string = '' + string\n }\n\n var len = string.length\n if (len === 0) return 0\n\n // Use a for loop to avoid recursion\n var loweredCase = false\n for (;;) {\n switch (encoding) {\n case 'ascii':\n case 'latin1':\n case 'binary':\n return len\n case 'utf8':\n case 'utf-8':\n case undefined:\n return utf8ToBytes(string).length\n case 'ucs2':\n case 'ucs-2':\n case 'utf16le':\n case 'utf-16le':\n return len * 2\n case 'hex':\n return len >>> 1\n case 'base64':\n return base64ToBytes(string).length\n default:\n if (loweredCase) return utf8ToBytes(string).length // assume utf8\n encoding = ('' + encoding).toLowerCase()\n loweredCase = true\n }\n }\n}\nBuffer.byteLength = byteLength\n\nfunction slowToString (encoding, start, end) {\n var loweredCase = false\n\n // No need to verify that \"this.length <= MAX_UINT32\" since it's a read-only\n // property of a typed array.\n\n // This behaves neither like String nor Uint8Array in that we set start/end\n // to their upper/lower bounds if the value passed is out of range.\n // undefined is handled specially as per ECMA-262 6th Edition,\n // Section 13.3.3.7 Runtime Semantics: KeyedBindingInitialization.\n if (start === undefined || start < 0) {\n start = 0\n }\n // Return early if start > this.length. Done here to prevent potential uint32\n // coercion fail below.\n if (start > this.length) {\n return ''\n }\n\n if (end === undefined || end > this.length) {\n end = this.length\n }\n\n if (end <= 0) {\n return ''\n }\n\n // Force coersion to uint32. This will also coerce falsey/NaN values to 0.\n end >>>= 0\n start >>>= 0\n\n if (end <= start) {\n return ''\n }\n\n if (!encoding) encoding = 'utf8'\n\n while (true) {\n switch (encoding) {\n case 'hex':\n return hexSlice(this, start, end)\n\n case 'utf8':\n case 'utf-8':\n return utf8Slice(this, start, end)\n\n case 'ascii':\n return asciiSlice(this, start, end)\n\n case 'latin1':\n case 'binary':\n return latin1Slice(this, start, end)\n\n case 'base64':\n return base64Slice(this, start, end)\n\n case 'ucs2':\n case 'ucs-2':\n case 'utf16le':\n case 'utf-16le':\n return utf16leSlice(this, start, end)\n\n default:\n if (loweredCase) throw new TypeError('Unknown encoding: ' + encoding)\n encoding = (encoding + '').toLowerCase()\n loweredCase = true\n }\n }\n}\n\n// The property is used by `Buffer.isBuffer` and `is-buffer` (in Safari 5-7) to detect\n// Buffer instances.\nBuffer.prototype._isBuffer = true\n\nfunction swap (b, n, m) {\n var i = b[n]\n b[n] = b[m]\n b[m] = i\n}\n\nBuffer.prototype.swap16 = function swap16 () {\n var len = this.length\n if (len % 2 !== 0) {\n throw new RangeError('Buffer size must be a multiple of 16-bits')\n }\n for (var i = 0; i < len; i += 2) {\n swap(this, i, i + 1)\n }\n return this\n}\n\nBuffer.prototype.swap32 = function swap32 () {\n var len = this.length\n if (len % 4 !== 0) {\n throw new RangeError('Buffer size must be a multiple of 32-bits')\n }\n for (var i = 0; i < len; i += 4) {\n swap(this, i, i + 3)\n swap(this, i + 1, i + 2)\n }\n return this\n}\n\nBuffer.prototype.swap64 = function swap64 () {\n var len = this.length\n if (len % 8 !== 0) {\n throw new RangeError('Buffer size must be a multiple of 64-bits')\n }\n for (var i = 0; i < len; i += 8) {\n swap(this, i, i + 7)\n swap(this, i + 1, i + 6)\n swap(this, i + 2, i + 5)\n swap(this, i + 3, i + 4)\n }\n return this\n}\n\nBuffer.prototype.toString = function toString () {\n var length = this.length | 0\n if (length === 0) return ''\n if (arguments.length === 0) return utf8Slice(this, 0, length)\n return slowToString.apply(this, arguments)\n}\n\nBuffer.prototype.equals = function equals (b) {\n if (!Buffer.isBuffer(b)) throw new TypeError('Argument must be a Buffer')\n if (this === b) return true\n return Buffer.compare(this, b) === 0\n}\n\nBuffer.prototype.inspect = function inspect () {\n var str = ''\n var max = exports.INSPECT_MAX_BYTES\n if (this.length > 0) {\n str = this.toString('hex', 0, max).match(/.{2}/g).join(' ')\n if (this.length > max) str += ' ... '\n }\n return '<Buffer ' + str + '>'\n}\n\nBuffer.prototype.compare = function compare (target, start, end, thisStart, thisEnd) {\n if (!Buffer.isBuffer(target)) {\n throw new TypeError('Argument must be a Buffer')\n }\n\n if (start === undefined) {\n start = 0\n }\n if (end === undefined) {\n end = target ? target.length : 0\n }\n if (thisStart === undefined) {\n thisStart = 0\n }\n if (thisEnd === undefined) {\n thisEnd = this.length\n }\n\n if (start < 0 || end > target.length || thisStart < 0 || thisEnd > this.length) {\n throw new RangeError('out of range index')\n }\n\n if (thisStart >= thisEnd && start >= end) {\n return 0\n }\n if (thisStart >= thisEnd) {\n return -1\n }\n if (start >= end) {\n return 1\n }\n\n start >>>= 0\n end >>>= 0\n thisStart >>>= 0\n thisEnd >>>= 0\n\n if (this === target) return 0\n\n var x = thisEnd - thisStart\n var y = end - start\n var len = Math.min(x, y)\n\n var thisCopy = this.slice(thisStart, thisEnd)\n var targetCopy = target.slice(start, end)\n\n for (var i = 0; i < len; ++i) {\n if (thisCopy[i] !== targetCopy[i]) {\n x = thisCopy[i]\n y = targetCopy[i]\n break\n }\n }\n\n if (x < y) return -1\n if (y < x) return 1\n return 0\n}\n\n// Finds either the first index of `val` in `buffer` at offset >= `byteOffset`,\n// OR the last index of `val` in `buffer` at offset <= `byteOffset`.\n//\n// Arguments:\n// - buffer - a Buffer to search\n// - val - a string, Buffer, or number\n// - byteOffset - an index into `buffer`; will be clamped to an int32\n// - encoding - an optional encoding, relevant is val is a string\n// - dir - true for indexOf, false for lastIndexOf\nfunction bidirectionalIndexOf (buffer, val, byteOffset, encoding, dir) {\n // Empty buffer means no match\n if (buffer.length === 0) return -1\n\n // Normalize byteOffset\n if (typeof byteOffset === 'string') {\n encoding = byteOffset\n byteOffset = 0\n } else if (byteOffset > 0x7fffffff) {\n byteOffset = 0x7fffffff\n } else if (byteOffset < -0x80000000) {\n byteOffset = -0x80000000\n }\n byteOffset = +byteOffset // Coerce to Number.\n if (isNaN(byteOffset)) {\n // byteOffset: it it's undefined, null, NaN, \"foo\", etc, search whole buffer\n byteOffset = dir ? 0 : (buffer.length - 1)\n }\n\n // Normalize byteOffset: negative offsets start from the end of the buffer\n if (byteOffset < 0) byteOffset = buffer.length + byteOffset\n if (byteOffset >= buffer.length) {\n if (dir) return -1\n else byteOffset = buffer.length - 1\n } else if (byteOffset < 0) {\n if (dir) byteOffset = 0\n else return -1\n }\n\n // Normalize val\n if (typeof val === 'string') {\n val = Buffer.from(val, encoding)\n }\n\n // Finally, search either indexOf (if dir is true) or lastIndexOf\n if (Buffer.isBuffer(val)) {\n // Special case: looking for empty string/buffer always fails\n if (val.length === 0) {\n return -1\n }\n return arrayIndexOf(buffer, val, byteOffset, encoding, dir)\n } else if (typeof val === 'number') {\n val = val & 0xFF // Search for a byte value [0-255]\n if (Buffer.TYPED_ARRAY_SUPPORT &&\n typeof Uint8Array.prototype.indexOf === 'function') {\n if (dir) {\n return Uint8Array.prototype.indexOf.call(buffer, val, byteOffset)\n } else {\n return Uint8Array.prototype.lastIndexOf.call(buffer, val, byteOffset)\n }\n }\n return arrayIndexOf(buffer, [ val ], byteOffset, encoding, dir)\n }\n\n throw new TypeError('val must be string, number or Buffer')\n}\n\nfunction arrayIndexOf (arr, val, byteOffset, encoding, dir) {\n var indexSize = 1\n var arrLength = arr.length\n var valLength = val.length\n\n if (encoding !== undefined) {\n encoding = String(encoding).toLowerCase()\n if (encoding === 'ucs2' || encoding === 'ucs-2' ||\n encoding === 'utf16le' || encoding === 'utf-16le') {\n if (arr.length < 2 || val.length < 2) {\n return -1\n }\n indexSize = 2\n arrLength /= 2\n valLength /= 2\n byteOffset /= 2\n }\n }\n\n function read (buf, i) {\n if (indexSize === 1) {\n return buf[i]\n } else {\n return buf.readUInt16BE(i * indexSize)\n }\n }\n\n var i\n if (dir) {\n var foundIndex = -1\n for (i = byteOffset; i < arrLength; i++) {\n if (read(arr, i) === read(val, foundIndex === -1 ? 0 : i - foundIndex)) {\n if (foundIndex === -1) foundIndex = i\n if (i - foundIndex + 1 === valLength) return foundIndex * indexSize\n } else {\n if (foundIndex !== -1) i -= i - foundIndex\n foundIndex = -1\n }\n }\n } else {\n if (byteOffset + valLength > arrLength) byteOffset = arrLength - valLength\n for (i = byteOffset; i >= 0; i--) {\n var found = true\n for (var j = 0; j < valLength; j++) {\n if (read(arr, i + j) !== read(val, j)) {\n found = false\n break\n }\n }\n if (found) return i\n }\n }\n\n return -1\n}\n\nBuffer.prototype.includes = function includes (val, byteOffset, encoding) {\n return this.indexOf(val, byteOffset, encoding) !== -1\n}\n\nBuffer.prototype.indexOf = function indexOf (val, byteOffset, encoding) {\n return bidirectionalIndexOf(this, val, byteOffset, encoding, true)\n}\n\nBuffer.prototype.lastIndexOf = function lastIndexOf (val, byteOffset, encoding) {\n return bidirectionalIndexOf(this, val, byteOffset, encoding, false)\n}\n\nfunction hexWrite (buf, string, offset, length) {\n offset = Number(offset) || 0\n var remaining = buf.length - offset\n if (!length) {\n length = remaining\n } else {\n length = Number(length)\n if (length > remaining) {\n length = remaining\n }\n }\n\n // must be an even number of digits\n var strLen = string.length\n if (strLen % 2 !== 0) throw new TypeError('Invalid hex string')\n\n if (length > strLen / 2) {\n length = strLen / 2\n }\n for (var i = 0; i < length; ++i) {\n var parsed = parseInt(string.substr(i * 2, 2), 16)\n if (isNaN(parsed)) return i\n buf[offset + i] = parsed\n }\n return i\n}\n\nfunction utf8Write (buf, string, offset, length) {\n return blitBuffer(utf8ToBytes(string, buf.length - offset), buf, offset, length)\n}\n\nfunction asciiWrite (buf, string, offset, length) {\n return blitBuffer(asciiToBytes(string), buf, offset, length)\n}\n\nfunction latin1Write (buf, string, offset, length) {\n return asciiWrite(buf, string, offset, length)\n}\n\nfunction base64Write (buf, string, offset, length) {\n return blitBuffer(base64ToBytes(string), buf, offset, length)\n}\n\nfunction ucs2Write (buf, string, offset, length) {\n return blitBuffer(utf16leToBytes(string, buf.length - offset), buf, offset, length)\n}\n\nBuffer.prototype.write = function write (string, offset, length, encoding) {\n // Buffer#write(string)\n if (offset === undefined) {\n encoding = 'utf8'\n length = this.length\n offset = 0\n // Buffer#write(string, encoding)\n } else if (length === undefined && typeof offset === 'string') {\n encoding = offset\n length = this.length\n offset = 0\n // Buffer#write(string, offset[, length][, encoding])\n } else if (isFinite(offset)) {\n offset = offset | 0\n if (isFinite(length)) {\n length = length | 0\n if (encoding === undefined) encoding = 'utf8'\n } else {\n encoding = length\n length = undefined\n }\n // legacy write(string, encoding, offset, length) - remove in v0.13\n } else {\n throw new Error(\n 'Buffer.write(string, encoding, offset[, length]) is no longer supported'\n )\n }\n\n var remaining = this.length - offset\n if (length === undefined || length > remaining) length = remaining\n\n if ((string.length > 0 && (length < 0 || offset < 0)) || offset > this.length) {\n throw new RangeError('Attempt to write outside buffer bounds')\n }\n\n if (!encoding) encoding = 'utf8'\n\n var loweredCase = false\n for (;;) {\n switch (encoding) {\n case 'hex':\n return hexWrite(this, string, offset, length)\n\n case 'utf8':\n case 'utf-8':\n return utf8Write(this, string, offset, length)\n\n case 'ascii':\n return asciiWrite(this, string, offset, length)\n\n case 'latin1':\n case 'binary':\n return latin1Write(this, string, offset, length)\n\n case 'base64':\n // Warning: maxLength not taken into account in base64Write\n return base64Write(this, string, offset, length)\n\n case 'ucs2':\n case 'ucs-2':\n case 'utf16le':\n case 'utf-16le':\n return ucs2Write(this, string, offset, length)\n\n default:\n if (loweredCase) throw new TypeError('Unknown encoding: ' + encoding)\n encoding = ('' + encoding).toLowerCase()\n loweredCase = true\n }\n }\n}\n\nBuffer.prototype.toJSON = function toJSON () {\n return {\n type: 'Buffer',\n data: Array.prototype.slice.call(this._arr || this, 0)\n }\n}\n\nfunction base64Slice (buf, start, end) {\n if (start === 0 && end === buf.length) {\n return base64.fromByteArray(buf)\n } else {\n return base64.fromByteArray(buf.slice(start, end))\n }\n}\n\nfunction utf8Slice (buf, start, end) {\n end = Math.min(buf.length, end)\n var res = []\n\n var i = start\n while (i < end) {\n var firstByte = buf[i]\n var codePoint = null\n var bytesPerSequence = (firstByte > 0xEF) ? 4\n : (firstByte > 0xDF) ? 3\n : (firstByte > 0xBF) ? 2\n : 1\n\n if (i + bytesPerSequence <= end) {\n var secondByte, thirdByte, fourthByte, tempCodePoint\n\n switch (bytesPerSequence) {\n case 1:\n if (firstByte < 0x80) {\n codePoint = firstByte\n }\n break\n case 2:\n secondByte = buf[i + 1]\n if ((secondByte & 0xC0) === 0x80) {\n tempCodePoint = (firstByte & 0x1F) << 0x6 | (secondByte & 0x3F)\n if (tempCodePoint > 0x7F) {\n codePoint = tempCodePoint\n }\n }\n break\n case 3:\n secondByte = buf[i + 1]\n thirdByte = buf[i + 2]\n if ((secondByte & 0xC0) === 0x80 && (thirdByte & 0xC0) === 0x80) {\n tempCodePoint = (firstByte & 0xF) << 0xC | (secondByte & 0x3F) << 0x6 | (thirdByte & 0x3F)\n if (tempCodePoint > 0x7FF && (tempCodePoint < 0xD800 || tempCodePoint > 0xDFFF)) {\n codePoint = tempCodePoint\n }\n }\n break\n case 4:\n secondByte = buf[i + 1]\n thirdByte = buf[i + 2]\n fourthByte = buf[i + 3]\n if ((secondByte & 0xC0) === 0x80 && (thirdByte & 0xC0) === 0x80 && (fourthByte & 0xC0) === 0x80) {\n tempCodePoint = (firstByte & 0xF) << 0x12 | (secondByte & 0x3F) << 0xC | (thirdByte & 0x3F) << 0x6 | (fourthByte & 0x3F)\n if (tempCodePoint > 0xFFFF && tempCodePoint < 0x110000) {\n codePoint = tempCodePoint\n }\n }\n }\n }\n\n if (codePoint === null) {\n // we did not generate a valid codePoint so insert a\n // replacement char (U+FFFD) and advance only 1 byte\n codePoint = 0xFFFD\n bytesPerSequence = 1\n } else if (codePoint > 0xFFFF) {\n // encode to utf16 (surrogate pair dance)\n codePoint -= 0x10000\n res.push(codePoint >>> 10 & 0x3FF | 0xD800)\n codePoint = 0xDC00 | codePoint & 0x3FF\n }\n\n res.push(codePoint)\n i += bytesPerSequence\n }\n\n return decodeCodePointsArray(res)\n}\n\n// Based on http://stackoverflow.com/a/22747272/680742, the browser with\n// the lowest limit is Chrome, with 0x10000 args.\n// We go 1 magnitude less, for safety\nvar MAX_ARGUMENTS_LENGTH = 0x1000\n\nfunction decodeCodePointsArray (codePoints) {\n var len = codePoints.length\n if (len <= MAX_ARGUMENTS_LENGTH) {\n return String.fromCharCode.apply(String, codePoints) // avoid extra slice()\n }\n\n // Decode in chunks to avoid \"call stack size exceeded\".\n var res = ''\n var i = 0\n while (i < len) {\n res += String.fromCharCode.apply(\n String,\n codePoints.slice(i, i += MAX_ARGUMENTS_LENGTH)\n )\n }\n return res\n}\n\nfunction asciiSlice (buf, start, end) {\n var ret = ''\n end = Math.min(buf.length, end)\n\n for (var i = start; i < end; ++i) {\n ret += String.fromCharCode(buf[i] & 0x7F)\n }\n return ret\n}\n\nfunction latin1Slice (buf, start, end) {\n var ret = ''\n end = Math.min(buf.length, end)\n\n for (var i = start; i < end; ++i) {\n ret += String.fromCharCode(buf[i])\n }\n return ret\n}\n\nfunction hexSlice (buf, start, end) {\n var len = buf.length\n\n if (!start || start < 0) start = 0\n if (!end || end < 0 || end > len) end = len\n\n var out = ''\n for (var i = start; i < end; ++i) {\n out += toHex(buf[i])\n }\n return out\n}\n\nfunction utf16leSlice (buf, start, end) {\n var bytes = buf.slice(start, end)\n var res = ''\n for (var i = 0; i < bytes.length; i += 2) {\n res += String.fromCharCode(bytes[i] + bytes[i + 1] * 256)\n }\n return res\n}\n\nBuffer.prototype.slice = function slice (start, end) {\n var len = this.length\n start = ~~start\n end = end === undefined ? len : ~~end\n\n if (start < 0) {\n start += len\n if (start < 0) start = 0\n } else if (start > len) {\n start = len\n }\n\n if (end < 0) {\n end += len\n if (end < 0) end = 0\n } else if (end > len) {\n end = len\n }\n\n if (end < start) end = start\n\n var newBuf\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n newBuf = this.subarray(start, end)\n newBuf.__proto__ = Buffer.prototype\n } else {\n var sliceLen = end - start\n newBuf = new Buffer(sliceLen, undefined)\n for (var i = 0; i < sliceLen; ++i) {\n newBuf[i] = this[i + start]\n }\n }\n\n return newBuf\n}\n\n/*\n * Need to make sure that buffer isn't trying to write out of bounds.\n */\nfunction checkOffset (offset, ext, length) {\n if ((offset % 1) !== 0 || offset < 0) throw new RangeError('offset is not uint')\n if (offset + ext > length) throw new RangeError('Trying to access beyond buffer length')\n}\n\nBuffer.prototype.readUIntLE = function readUIntLE (offset, byteLength, noAssert) {\n offset = offset | 0\n byteLength = byteLength | 0\n if (!noAssert) checkOffset(offset, byteLength, this.length)\n\n var val = this[offset]\n var mul = 1\n var i = 0\n while (++i < byteLength && (mul *= 0x100)) {\n val += this[offset + i] * mul\n }\n\n return val\n}\n\nBuffer.prototype.readUIntBE = function readUIntBE (offset, byteLength, noAssert) {\n offset = offset | 0\n byteLength = byteLength | 0\n if (!noAssert) {\n checkOffset(offset, byteLength, this.length)\n }\n\n var val = this[offset + --byteLength]\n var mul = 1\n while (byteLength > 0 && (mul *= 0x100)) {\n val += this[offset + --byteLength] * mul\n }\n\n return val\n}\n\nBuffer.prototype.readUInt8 = function readUInt8 (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 1, this.length)\n return this[offset]\n}\n\nBuffer.prototype.readUInt16LE = function readUInt16LE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 2, this.length)\n return this[offset] | (this[offset + 1] << 8)\n}\n\nBuffer.prototype.readUInt16BE = function readUInt16BE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 2, this.length)\n return (this[offset] << 8) | this[offset + 1]\n}\n\nBuffer.prototype.readUInt32LE = function readUInt32LE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 4, this.length)\n\n return ((this[offset]) |\n (this[offset + 1] << 8) |\n (this[offset + 2] << 16)) +\n (this[offset + 3] * 0x1000000)\n}\n\nBuffer.prototype.readUInt32BE = function readUInt32BE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 4, this.length)\n\n return (this[offset] * 0x1000000) +\n ((this[offset + 1] << 16) |\n (this[offset + 2] << 8) |\n this[offset + 3])\n}\n\nBuffer.prototype.readIntLE = function readIntLE (offset, byteLength, noAssert) {\n offset = offset | 0\n byteLength = byteLength | 0\n if (!noAssert) checkOffset(offset, byteLength, this.length)\n\n var val = this[offset]\n var mul = 1\n var i = 0\n while (++i < byteLength && (mul *= 0x100)) {\n val += this[offset + i] * mul\n }\n mul *= 0x80\n\n if (val >= mul) val -= Math.pow(2, 8 * byteLength)\n\n return val\n}\n\nBuffer.prototype.readIntBE = function readIntBE (offset, byteLength, noAssert) {\n offset = offset | 0\n byteLength = byteLength | 0\n if (!noAssert) checkOffset(offset, byteLength, this.length)\n\n var i = byteLength\n var mul = 1\n var val = this[offset + --i]\n while (i > 0 && (mul *= 0x100)) {\n val += this[offset + --i] * mul\n }\n mul *= 0x80\n\n if (val >= mul) val -= Math.pow(2, 8 * byteLength)\n\n return val\n}\n\nBuffer.prototype.readInt8 = function readInt8 (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 1, this.length)\n if (!(this[offset] & 0x80)) return (this[offset])\n return ((0xff - this[offset] + 1) * -1)\n}\n\nBuffer.prototype.readInt16LE = function readInt16LE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 2, this.length)\n var val = this[offset] | (this[offset + 1] << 8)\n return (val & 0x8000) ? val | 0xFFFF0000 : val\n}\n\nBuffer.prototype.readInt16BE = function readInt16BE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 2, this.length)\n var val = this[offset + 1] | (this[offset] << 8)\n return (val & 0x8000) ? val | 0xFFFF0000 : val\n}\n\nBuffer.prototype.readInt32LE = function readInt32LE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 4, this.length)\n\n return (this[offset]) |\n (this[offset + 1] << 8) |\n (this[offset + 2] << 16) |\n (this[offset + 3] << 24)\n}\n\nBuffer.prototype.readInt32BE = function readInt32BE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 4, this.length)\n\n return (this[offset] << 24) |\n (this[offset + 1] << 16) |\n (this[offset + 2] << 8) |\n (this[offset + 3])\n}\n\nBuffer.prototype.readFloatLE = function readFloatLE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 4, this.length)\n return ieee754.read(this, offset, true, 23, 4)\n}\n\nBuffer.prototype.readFloatBE = function readFloatBE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 4, this.length)\n return ieee754.read(this, offset, false, 23, 4)\n}\n\nBuffer.prototype.readDoubleLE = function readDoubleLE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 8, this.length)\n return ieee754.read(this, offset, true, 52, 8)\n}\n\nBuffer.prototype.readDoubleBE = function readDoubleBE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 8, this.length)\n return ieee754.read(this, offset, false, 52, 8)\n}\n\nfunction checkInt (buf, value, offset, ext, max, min) {\n if (!Buffer.isBuffer(buf)) throw new TypeError('\"buffer\" argument must be a Buffer instance')\n if (value > max || value < min) throw new RangeError('\"value\" argument is out of bounds')\n if (offset + ext > buf.length) throw new RangeError('Index out of range')\n}\n\nBuffer.prototype.writeUIntLE = function writeUIntLE (value, offset, byteLength, noAssert) {\n value = +value\n offset = offset | 0\n byteLength = byteLength | 0\n if (!noAssert) {\n var maxBytes = Math.pow(2, 8 * byteLength) - 1\n checkInt(this, value, offset, byteLength, maxBytes, 0)\n }\n\n var mul = 1\n var i = 0\n this[offset] = value & 0xFF\n while (++i < byteLength && (mul *= 0x100)) {\n this[offset + i] = (value / mul) & 0xFF\n }\n\n return offset + byteLength\n}\n\nBuffer.prototype.writeUIntBE = function writeUIntBE (value, offset, byteLength, noAssert) {\n value = +value\n offset = offset | 0\n byteLength = byteLength | 0\n if (!noAssert) {\n var maxBytes = Math.pow(2, 8 * byteLength) - 1\n checkInt(this, value, offset, byteLength, maxBytes, 0)\n }\n\n var i = byteLength - 1\n var mul = 1\n this[offset + i] = value & 0xFF\n while (--i >= 0 && (mul *= 0x100)) {\n this[offset + i] = (value / mul) & 0xFF\n }\n\n return offset + byteLength\n}\n\nBuffer.prototype.writeUInt8 = function writeUInt8 (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 1, 0xff, 0)\n if (!Buffer.TYPED_ARRAY_SUPPORT) value = Math.floor(value)\n this[offset] = (value & 0xff)\n return offset + 1\n}\n\nfunction objectWriteUInt16 (buf, value, offset, littleEndian) {\n if (value < 0) value = 0xffff + value + 1\n for (var i = 0, j = Math.min(buf.length - offset, 2); i < j; ++i) {\n buf[offset + i] = (value & (0xff << (8 * (littleEndian ? i : 1 - i)))) >>>\n (littleEndian ? i : 1 - i) * 8\n }\n}\n\nBuffer.prototype.writeUInt16LE = function writeUInt16LE (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 2, 0xffff, 0)\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset] = (value & 0xff)\n this[offset + 1] = (value >>> 8)\n } else {\n objectWriteUInt16(this, value, offset, true)\n }\n return offset + 2\n}\n\nBuffer.prototype.writeUInt16BE = function writeUInt16BE (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 2, 0xffff, 0)\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset] = (value >>> 8)\n this[offset + 1] = (value & 0xff)\n } else {\n objectWriteUInt16(this, value, offset, false)\n }\n return offset + 2\n}\n\nfunction objectWriteUInt32 (buf, value, offset, littleEndian) {\n if (value < 0) value = 0xffffffff + value + 1\n for (var i = 0, j = Math.min(buf.length - offset, 4); i < j; ++i) {\n buf[offset + i] = (value >>> (littleEndian ? i : 3 - i) * 8) & 0xff\n }\n}\n\nBuffer.prototype.writeUInt32LE = function writeUInt32LE (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 4, 0xffffffff, 0)\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset + 3] = (value >>> 24)\n this[offset + 2] = (value >>> 16)\n this[offset + 1] = (value >>> 8)\n this[offset] = (value & 0xff)\n } else {\n objectWriteUInt32(this, value, offset, true)\n }\n return offset + 4\n}\n\nBuffer.prototype.writeUInt32BE = function writeUInt32BE (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 4, 0xffffffff, 0)\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset] = (value >>> 24)\n this[offset + 1] = (value >>> 16)\n this[offset + 2] = (value >>> 8)\n this[offset + 3] = (value & 0xff)\n } else {\n objectWriteUInt32(this, value, offset, false)\n }\n return offset + 4\n}\n\nBuffer.prototype.writeIntLE = function writeIntLE (value, offset, byteLength, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) {\n var limit = Math.pow(2, 8 * byteLength - 1)\n\n checkInt(this, value, offset, byteLength, limit - 1, -limit)\n }\n\n var i = 0\n var mul = 1\n var sub = 0\n this[offset] = value & 0xFF\n while (++i < byteLength && (mul *= 0x100)) {\n if (value < 0 && sub === 0 && this[offset + i - 1] !== 0) {\n sub = 1\n }\n this[offset + i] = ((value / mul) >> 0) - sub & 0xFF\n }\n\n return offset + byteLength\n}\n\nBuffer.prototype.writeIntBE = function writeIntBE (value, offset, byteLength, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) {\n var limit = Math.pow(2, 8 * byteLength - 1)\n\n checkInt(this, value, offset, byteLength, limit - 1, -limit)\n }\n\n var i = byteLength - 1\n var mul = 1\n var sub = 0\n this[offset + i] = value & 0xFF\n while (--i >= 0 && (mul *= 0x100)) {\n if (value < 0 && sub === 0 && this[offset + i + 1] !== 0) {\n sub = 1\n }\n this[offset + i] = ((value / mul) >> 0) - sub & 0xFF\n }\n\n return offset + byteLength\n}\n\nBuffer.prototype.writeInt8 = function writeInt8 (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 1, 0x7f, -0x80)\n if (!Buffer.TYPED_ARRAY_SUPPORT) value = Math.floor(value)\n if (value < 0) value = 0xff + value + 1\n this[offset] = (value & 0xff)\n return offset + 1\n}\n\nBuffer.prototype.writeInt16LE = function writeInt16LE (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 2, 0x7fff, -0x8000)\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset] = (value & 0xff)\n this[offset + 1] = (value >>> 8)\n } else {\n objectWriteUInt16(this, value, offset, true)\n }\n return offset + 2\n}\n\nBuffer.prototype.writeInt16BE = function writeInt16BE (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 2, 0x7fff, -0x8000)\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset] = (value >>> 8)\n this[offset + 1] = (value & 0xff)\n } else {\n objectWriteUInt16(this, value, offset, false)\n }\n return offset + 2\n}\n\nBuffer.prototype.writeInt32LE = function writeInt32LE (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 4, 0x7fffffff, -0x80000000)\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset] = (value & 0xff)\n this[offset + 1] = (value >>> 8)\n this[offset + 2] = (value >>> 16)\n this[offset + 3] = (value >>> 24)\n } else {\n objectWriteUInt32(this, value, offset, true)\n }\n return offset + 4\n}\n\nBuffer.prototype.writeInt32BE = function writeInt32BE (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 4, 0x7fffffff, -0x80000000)\n if (value < 0) value = 0xffffffff + value + 1\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset] = (value >>> 24)\n this[offset + 1] = (value >>> 16)\n this[offset + 2] = (value >>> 8)\n this[offset + 3] = (value & 0xff)\n } else {\n objectWriteUInt32(this, value, offset, false)\n }\n return offset + 4\n}\n\nfunction checkIEEE754 (buf, value, offset, ext, max, min) {\n if (offset + ext > buf.length) throw new RangeError('Index out of range')\n if (offset < 0) throw new RangeError('Index out of range')\n}\n\nfunction writeFloat (buf, value, offset, littleEndian, noAssert) {\n if (!noAssert) {\n checkIEEE754(buf, value, offset, 4, 3.4028234663852886e+38, -3.4028234663852886e+38)\n }\n ieee754.write(buf, value, offset, littleEndian, 23, 4)\n return offset + 4\n}\n\nBuffer.prototype.writeFloatLE = function writeFloatLE (value, offset, noAssert) {\n return writeFloat(this, value, offset, true, noAssert)\n}\n\nBuffer.prototype.writeFloatBE = function writeFloatBE (value, offset, noAssert) {\n return writeFloat(this, value, offset, false, noAssert)\n}\n\nfunction writeDouble (buf, value, offset, littleEndian, noAssert) {\n if (!noAssert) {\n checkIEEE754(buf, value, offset, 8, 1.7976931348623157E+308, -1.7976931348623157E+308)\n }\n ieee754.write(buf, value, offset, littleEndian, 52, 8)\n return offset + 8\n}\n\nBuffer.prototype.writeDoubleLE = function writeDoubleLE (value, offset, noAssert) {\n return writeDouble(this, value, offset, true, noAssert)\n}\n\nBuffer.prototype.writeDoubleBE = function writeDoubleBE (value, offset, noAssert) {\n return writeDouble(this, value, offset, false, noAssert)\n}\n\n// copy(targetBuffer, targetStart=0, sourceStart=0, sourceEnd=buffer.length)\nBuffer.prototype.copy = function copy (target, targetStart, start, end) {\n if (!start) start = 0\n if (!end && end !== 0) end = this.length\n if (targetStart >= target.length) targetStart = target.length\n if (!targetStart) targetStart = 0\n if (end > 0 && end < start) end = start\n\n // Copy 0 bytes; we're done\n if (end === start) return 0\n if (target.length === 0 || this.length === 0) return 0\n\n // Fatal error conditions\n if (targetStart < 0) {\n throw new RangeError('targetStart out of bounds')\n }\n if (start < 0 || start >= this.length) throw new RangeError('sourceStart out of bounds')\n if (end < 0) throw new RangeError('sourceEnd out of bounds')\n\n // Are we oob?\n if (end > this.length) end = this.length\n if (target.length - targetStart < end - start) {\n end = target.length - targetStart + start\n }\n\n var len = end - start\n var i\n\n if (this === target && start < targetStart && targetStart < end) {\n // descending copy from end\n for (i = len - 1; i >= 0; --i) {\n target[i + targetStart] = this[i + start]\n }\n } else if (len < 1000 || !Buffer.TYPED_ARRAY_SUPPORT) {\n // ascending copy from start\n for (i = 0; i < len; ++i) {\n target[i + targetStart] = this[i + start]\n }\n } else {\n Uint8Array.prototype.set.call(\n target,\n this.subarray(start, start + len),\n targetStart\n )\n }\n\n return len\n}\n\n// Usage:\n// buffer.fill(number[, offset[, end]])\n// buffer.fill(buffer[, offset[, end]])\n// buffer.fill(string[, offset[, end]][, encoding])\nBuffer.prototype.fill = function fill (val, start, end, encoding) {\n // Handle string cases:\n if (typeof val === 'string') {\n if (typeof start === 'string') {\n encoding = start\n start = 0\n end = this.length\n } else if (typeof end === 'string') {\n encoding = end\n end = this.length\n }\n if (val.length === 1) {\n var code = val.charCodeAt(0)\n if (code < 256) {\n val = code\n }\n }\n if (encoding !== undefined && typeof encoding !== 'string') {\n throw new TypeError('encoding must be a string')\n }\n if (typeof encoding === 'string' && !Buffer.isEncoding(encoding)) {\n throw new TypeError('Unknown encoding: ' + encoding)\n }\n } else if (typeof val === 'number') {\n val = val & 255\n }\n\n // Invalid ranges are not set to a default, so can range check early.\n if (start < 0 || this.length < start || this.length < end) {\n throw new RangeError('Out of range index')\n }\n\n if (end <= start) {\n return this\n }\n\n start = start >>> 0\n end = end === undefined ? this.length : end >>> 0\n\n if (!val) val = 0\n\n var i\n if (typeof val === 'number') {\n for (i = start; i < end; ++i) {\n this[i] = val\n }\n } else {\n var bytes = Buffer.isBuffer(val)\n ? val\n : utf8ToBytes(new Buffer(val, encoding).toString())\n var len = bytes.length\n for (i = 0; i < end - start; ++i) {\n this[i + start] = bytes[i % len]\n }\n }\n\n return this\n}\n\n// HELPER FUNCTIONS\n// ================\n\nvar INVALID_BASE64_RE = /[^+\\/0-9A-Za-z-_]/g\n\nfunction base64clean (str) {\n // Node strips out invalid characters like \\n and \\t from the string, base64-js does not\n str = stringtrim(str).replace(INVALID_BASE64_RE, '')\n // Node converts strings with length < 2 to ''\n if (str.length < 2) return ''\n // Node allows for non-padded base64 strings (missing trailing ===), base64-js does not\n while (str.length % 4 !== 0) {\n str = str + '='\n }\n return str\n}\n\nfunction stringtrim (str) {\n if (str.trim) return str.trim()\n return str.replace(/^\\s+|\\s+$/g, '')\n}\n\nfunction toHex (n) {\n if (n < 16) return '0' + n.toString(16)\n return n.toString(16)\n}\n\nfunction utf8ToBytes (string, units) {\n units = units || Infinity\n var codePoint\n var length = string.length\n var leadSurrogate = null\n var bytes = []\n\n for (var i = 0; i < length; ++i) {\n codePoint = string.charCodeAt(i)\n\n // is surrogate component\n if (codePoint > 0xD7FF && codePoint < 0xE000) {\n // last char was a lead\n if (!leadSurrogate) {\n // no lead yet\n if (codePoint > 0xDBFF) {\n // unexpected trail\n if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)\n continue\n } else if (i + 1 === length) {\n // unpaired lead\n if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)\n continue\n }\n\n // valid lead\n leadSurrogate = codePoint\n\n continue\n }\n\n // 2 leads in a row\n if (codePoint < 0xDC00) {\n if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)\n leadSurrogate = codePoint\n continue\n }\n\n // valid surrogate pair\n codePoint = (leadSurrogate - 0xD800 << 10 | codePoint - 0xDC00) + 0x10000\n } else if (leadSurrogate) {\n // valid bmp char, but last char was a lead\n if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)\n }\n\n leadSurrogate = null\n\n // encode utf8\n if (codePoint < 0x80) {\n if ((units -= 1) < 0) break\n bytes.push(codePoint)\n } else if (codePoint < 0x800) {\n if ((units -= 2) < 0) break\n bytes.push(\n codePoint >> 0x6 | 0xC0,\n codePoint & 0x3F | 0x80\n )\n } else if (codePoint < 0x10000) {\n if ((units -= 3) < 0) break\n bytes.push(\n codePoint >> 0xC | 0xE0,\n codePoint >> 0x6 & 0x3F | 0x80,\n codePoint & 0x3F | 0x80\n )\n } else if (codePoint < 0x110000) {\n if ((units -= 4) < 0) break\n bytes.push(\n codePoint >> 0x12 | 0xF0,\n codePoint >> 0xC & 0x3F | 0x80,\n codePoint >> 0x6 & 0x3F | 0x80,\n codePoint & 0x3F | 0x80\n )\n } else {\n throw new Error('Invalid code point')\n }\n }\n\n return bytes\n}\n\nfunction asciiToBytes (str) {\n var byteArray = []\n for (var i = 0; i < str.length; ++i) {\n // Node's code seems to be doing this and not & 0x7F..\n byteArray.push(str.charCodeAt(i) & 0xFF)\n }\n return byteArray\n}\n\nfunction utf16leToBytes (str, units) {\n var c, hi, lo\n var byteArray = []\n for (var i = 0; i < str.length; ++i) {\n if ((units -= 2) < 0) break\n\n c = str.charCodeAt(i)\n hi = c >> 8\n lo = c % 256\n byteArray.push(lo)\n byteArray.push(hi)\n }\n\n return byteArray\n}\n\nfunction base64ToBytes (str) {\n return base64.toByteArray(base64clean(str))\n}\n\nfunction blitBuffer (src, dst, offset, length) {\n for (var i = 0; i < length; ++i) {\n if ((i + offset >= dst.length) || (i >= src.length)) break\n dst[i + offset] = src[i]\n }\n return i\n}\n\nfunction isnan (val) {\n return val !== val // eslint-disable-line no-self-compare\n}\n","'use strict'\n\nexports.byteLength = byteLength\nexports.toByteArray = toByteArray\nexports.fromByteArray = fromByteArray\n\nvar lookup = []\nvar revLookup = []\nvar Arr = typeof Uint8Array !== 'undefined' ? Uint8Array : Array\n\nvar code = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/'\nfor (var i = 0, len = code.length; i < len; ++i) {\n lookup[i] = code[i]\n revLookup[code.charCodeAt(i)] = i\n}\n\n// Support decoding URL-safe base64 strings, as Node.js does.\n// See: https://en.wikipedia.org/wiki/Base64#URL_applications\nrevLookup['-'.charCodeAt(0)] = 62\nrevLookup['_'.charCodeAt(0)] = 63\n\nfunction getLens (b64) {\n var len = b64.length\n\n if (len % 4 > 0) {\n throw new Error('Invalid string. Length must be a multiple of 4')\n }\n\n // Trim off extra bytes after placeholder bytes are found\n // See: https://github.com/beatgammit/base64-js/issues/42\n var validLen = b64.indexOf('=')\n if (validLen === -1) validLen = len\n\n var placeHoldersLen = validLen === len\n ? 0\n : 4 - (validLen % 4)\n\n return [validLen, placeHoldersLen]\n}\n\n// base64 is 4/3 + up to two characters of the original data\nfunction byteLength (b64) {\n var lens = getLens(b64)\n var validLen = lens[0]\n var placeHoldersLen = lens[1]\n return ((validLen + placeHoldersLen) * 3 / 4) - placeHoldersLen\n}\n\nfunction _byteLength (b64, validLen, placeHoldersLen) {\n return ((validLen + placeHoldersLen) * 3 / 4) - placeHoldersLen\n}\n\nfunction toByteArray (b64) {\n var tmp\n var lens = getLens(b64)\n var validLen = lens[0]\n var placeHoldersLen = lens[1]\n\n var arr = new Arr(_byteLength(b64, validLen, placeHoldersLen))\n\n var curByte = 0\n\n // if there are placeholders, only get up to the last complete 4 chars\n var len = placeHoldersLen > 0\n ? validLen - 4\n : validLen\n\n var i\n for (i = 0; i < len; i += 4) {\n tmp =\n (revLookup[b64.charCodeAt(i)] << 18) |\n (revLookup[b64.charCodeAt(i + 1)] << 12) |\n (revLookup[b64.charCodeAt(i + 2)] << 6) |\n revLookup[b64.charCodeAt(i + 3)]\n arr[curByte++] = (tmp >> 16) & 0xFF\n arr[curByte++] = (tmp >> 8) & 0xFF\n arr[curByte++] = tmp & 0xFF\n }\n\n if (placeHoldersLen === 2) {\n tmp =\n (revLookup[b64.charCodeAt(i)] << 2) |\n (revLookup[b64.charCodeAt(i + 1)] >> 4)\n arr[curByte++] = tmp & 0xFF\n }\n\n if (placeHoldersLen === 1) {\n tmp =\n (revLookup[b64.charCodeAt(i)] << 10) |\n (revLookup[b64.charCodeAt(i + 1)] << 4) |\n (revLookup[b64.charCodeAt(i + 2)] >> 2)\n arr[curByte++] = (tmp >> 8) & 0xFF\n arr[curByte++] = tmp & 0xFF\n }\n\n return arr\n}\n\nfunction tripletToBase64 (num) {\n return lookup[num >> 18 & 0x3F] +\n lookup[num >> 12 & 0x3F] +\n lookup[num >> 6 & 0x3F] +\n lookup[num & 0x3F]\n}\n\nfunction encodeChunk (uint8, start, end) {\n var tmp\n var output = []\n for (var i = start; i < end; i += 3) {\n tmp =\n ((uint8[i] << 16) & 0xFF0000) +\n ((uint8[i + 1] << 8) & 0xFF00) +\n (uint8[i + 2] & 0xFF)\n output.push(tripletToBase64(tmp))\n }\n return output.join('')\n}\n\nfunction fromByteArray (uint8) {\n var tmp\n var len = uint8.length\n var extraBytes = len % 3 // if we have 1 byte left, pad 2 bytes\n var parts = []\n var maxChunkLength = 16383 // must be multiple of 3\n\n // go through the array every three bytes, we'll deal with trailing stuff later\n for (var i = 0, len2 = len - extraBytes; i < len2; i += maxChunkLength) {\n parts.push(encodeChunk(uint8, i, (i + maxChunkLength) > len2 ? len2 : (i + maxChunkLength)))\n }\n\n // pad the end with zeros, but make sure to not forget the extra bytes\n if (extraBytes === 1) {\n tmp = uint8[len - 1]\n parts.push(\n lookup[tmp >> 2] +\n lookup[(tmp << 4) & 0x3F] +\n '=='\n )\n } else if (extraBytes === 2) {\n tmp = (uint8[len - 2] << 8) + uint8[len - 1]\n parts.push(\n lookup[tmp >> 10] +\n lookup[(tmp >> 4) & 0x3F] +\n lookup[(tmp << 2) & 0x3F] +\n '='\n )\n }\n\n return parts.join('')\n}\n","/*! ieee754. BSD-3-Clause License. Feross Aboukhadijeh <https://feross.org/opensource> */\nexports.read = function (buffer, offset, isLE, mLen, nBytes) {\n var e, m\n var eLen = (nBytes * 8) - mLen - 1\n var eMax = (1 << eLen) - 1\n var eBias = eMax >> 1\n var nBits = -7\n var i = isLE ? (nBytes - 1) : 0\n var d = isLE ? -1 : 1\n var s = buffer[offset + i]\n\n i += d\n\n e = s & ((1 << (-nBits)) - 1)\n s >>= (-nBits)\n nBits += eLen\n for (; nBits > 0; e = (e * 256) + buffer[offset + i], i += d, nBits -= 8) {}\n\n m = e & ((1 << (-nBits)) - 1)\n e >>= (-nBits)\n nBits += mLen\n for (; nBits > 0; m = (m * 256) + buffer[offset + i], i += d, nBits -= 8) {}\n\n if (e === 0) {\n e = 1 - eBias\n } else if (e === eMax) {\n return m ? NaN : ((s ? -1 : 1) * Infinity)\n } else {\n m = m + Math.pow(2, mLen)\n e = e - eBias\n }\n return (s ? -1 : 1) * m * Math.pow(2, e - mLen)\n}\n\nexports.write = function (buffer, value, offset, isLE, mLen, nBytes) {\n var e, m, c\n var eLen = (nBytes * 8) - mLen - 1\n var eMax = (1 << eLen) - 1\n var eBias = eMax >> 1\n var rt = (mLen === 23 ? Math.pow(2, -24) - Math.pow(2, -77) : 0)\n var i = isLE ? 0 : (nBytes - 1)\n var d = isLE ? 1 : -1\n var s = value < 0 || (value === 0 && 1 / value < 0) ? 1 : 0\n\n value = Math.abs(value)\n\n if (isNaN(value) || value === Infinity) {\n m = isNaN(value) ? 1 : 0\n e = eMax\n } else {\n e = Math.floor(Math.log(value) / Math.LN2)\n if (value * (c = Math.pow(2, -e)) < 1) {\n e--\n c *= 2\n }\n if (e + eBias >= 1) {\n value += rt / c\n } else {\n value += rt * Math.pow(2, 1 - eBias)\n }\n if (value * c >= 2) {\n e++\n c /= 2\n }\n\n if (e + eBias >= eMax) {\n m = 0\n e = eMax\n } else if (e + eBias >= 1) {\n m = ((value * c) - 1) * Math.pow(2, mLen)\n e = e + eBias\n } else {\n m = value * Math.pow(2, eBias - 1) * Math.pow(2, mLen)\n e = 0\n }\n }\n\n for (; mLen >= 8; buffer[offset + i] = m & 0xff, i += d, m /= 256, mLen -= 8) {}\n\n e = (e << mLen) | m\n eLen += mLen\n for (; eLen > 0; buffer[offset + i] = e & 0xff, i += d, e /= 256, eLen -= 8) {}\n\n buffer[offset + i - d] |= s * 128\n}\n","var toString = {}.toString;\n\nmodule.exports = Array.isArray || function (arr) {\n return toString.call(arr) == '[object Array]';\n};\n","var superPropBase = require(\"./superPropBase\");\n\nfunction _get(target, property, receiver) {\n if (typeof Reflect !== \"undefined\" && Reflect.get) {\n module.exports = _get = Reflect.get;\n } else {\n module.exports = _get = function _get(target, property, receiver) {\n var base = superPropBase(target, property);\n if (!base) return;\n var desc = Object.getOwnPropertyDescriptor(base, property);\n\n if (desc.get) {\n return desc.get.call(receiver);\n }\n\n return desc.value;\n };\n }\n\n return _get(target, property, receiver || target);\n}\n\nmodule.exports = _get;","var getPrototypeOf = require(\"./getPrototypeOf\");\n\nfunction _superPropBase(object, property) {\n while (!Object.prototype.hasOwnProperty.call(object, property)) {\n object = getPrototypeOf(object);\n if (object === null) break;\n }\n\n return object;\n}\n\nmodule.exports = _superPropBase;","var setPrototypeOf = require(\"./setPrototypeOf\");\n\nfunction _inherits(subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function\");\n }\n\n subClass.prototype = Object.create(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n writable: true,\n configurable: true\n }\n });\n if (superClass) setPrototypeOf(subClass, superClass);\n}\n\nmodule.exports = _inherits;","function _setPrototypeOf(o, p) {\n module.exports = _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) {\n o.__proto__ = p;\n return o;\n };\n\n return _setPrototypeOf(o, p);\n}\n\nmodule.exports = _setPrototypeOf;","var getPrototypeOf = require(\"./getPrototypeOf\");\n\nvar isNativeReflectConstruct = require(\"./isNativeReflectConstruct\");\n\nvar possibleConstructorReturn = require(\"./possibleConstructorReturn\");\n\nfunction _createSuper(Derived) {\n return function () {\n var Super = getPrototypeOf(Derived),\n result;\n\n if (isNativeReflectConstruct()) {\n var NewTarget = getPrototypeOf(this).constructor;\n result = Reflect.construct(Super, arguments, NewTarget);\n } else {\n result = Super.apply(this, arguments);\n }\n\n return possibleConstructorReturn(this, result);\n };\n}\n\nmodule.exports = _createSuper;","function _isNativeReflectConstruct() {\n if (typeof Reflect === \"undefined\" || !Reflect.construct) return false;\n if (Reflect.construct.sham) return false;\n if (typeof Proxy === \"function\") return true;\n\n try {\n Date.prototype.toString.call(Reflect.construct(Date, [], function () {}));\n return true;\n } catch (e) {\n return false;\n }\n}\n\nmodule.exports = _isNativeReflectConstruct;","var _typeof = require(\"../helpers/typeof\");\n\nvar assertThisInitialized = require(\"./assertThisInitialized\");\n\nfunction _possibleConstructorReturn(self, call) {\n if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) {\n return call;\n }\n\n return assertThisInitialized(self);\n}\n\nmodule.exports = _possibleConstructorReturn;","function _typeof(obj) {\n \"@babel/helpers - typeof\";\n\n if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") {\n module.exports = _typeof = function _typeof(obj) {\n return typeof obj;\n };\n } else {\n module.exports = _typeof = function _typeof(obj) {\n return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n };\n }\n\n return _typeof(obj);\n}\n\nmodule.exports = _typeof;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport cx from 'clsx';\nimport PropTypes from 'prop-types';\nimport React from 'react';\nimport { childrenUtils, customPropTypes, getElementType, getUnhandledProps, useKeyOnly } from '../../lib';\n/**\n * Used in some Button types, such as `animated`.\n */\n\nfunction ButtonContent(props) {\n var children = props.children,\n className = props.className,\n content = props.content,\n hidden = props.hidden,\n visible = props.visible;\n var classes = cx(useKeyOnly(visible, 'visible'), useKeyOnly(hidden, 'hidden'), 'content', className);\n var rest = getUnhandledProps(ButtonContent, props);\n var ElementType = getElementType(ButtonContent, props);\n return /*#__PURE__*/React.createElement(ElementType, _extends({}, rest, {\n className: classes\n }), childrenUtils.isNil(children) ? content : children);\n}\n\nButtonContent.handledProps = [\"as\", \"children\", \"className\", \"content\", \"hidden\", \"visible\"];\nButtonContent.propTypes = process.env.NODE_ENV !== \"production\" ? {\n /** An element type to render as (string or function). */\n as: PropTypes.elementType,\n\n /** Primary content. */\n children: PropTypes.node,\n\n /** Additional classes. */\n className: PropTypes.string,\n\n /** Shorthand for primary content. */\n content: customPropTypes.contentShorthand,\n\n /** Initially hidden, visible on hover. */\n hidden: PropTypes.bool,\n\n /** Initially visible, hidden on hover. */\n visible: PropTypes.bool\n} : {};\nexport default ButtonContent;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _map from \"lodash-es/map\";\nimport _isNil from \"lodash-es/isNil\";\nimport cx from 'clsx';\nimport PropTypes from 'prop-types';\nimport React from 'react';\nimport { childrenUtils, customPropTypes, getElementType, getUnhandledProps, SUI, useKeyOnly, useKeyOrValueAndKey, useValueAndKey, useWidthProp } from '../../lib';\nimport Button from './Button';\n/**\n * Buttons can be grouped.\n */\n\nfunction ButtonGroup(props) {\n var attached = props.attached,\n basic = props.basic,\n buttons = props.buttons,\n children = props.children,\n className = props.className,\n color = props.color,\n compact = props.compact,\n content = props.content,\n floated = props.floated,\n fluid = props.fluid,\n icon = props.icon,\n inverted = props.inverted,\n labeled = props.labeled,\n negative = props.negative,\n positive = props.positive,\n primary = props.primary,\n secondary = props.secondary,\n size = props.size,\n toggle = props.toggle,\n vertical = props.vertical,\n widths = props.widths;\n var classes = cx('ui', color, size, useKeyOnly(basic, 'basic'), useKeyOnly(compact, 'compact'), useKeyOnly(fluid, 'fluid'), useKeyOnly(icon, 'icon'), useKeyOnly(inverted, 'inverted'), useKeyOnly(labeled, 'labeled'), useKeyOnly(negative, 'negative'), useKeyOnly(positive, 'positive'), useKeyOnly(primary, 'primary'), useKeyOnly(secondary, 'secondary'), useKeyOnly(toggle, 'toggle'), useKeyOnly(vertical, 'vertical'), useKeyOrValueAndKey(attached, 'attached'), useValueAndKey(floated, 'floated'), useWidthProp(widths), 'buttons', className);\n var rest = getUnhandledProps(ButtonGroup, props);\n var ElementType = getElementType(ButtonGroup, props);\n\n if (_isNil(buttons)) {\n return /*#__PURE__*/React.createElement(ElementType, _extends({}, rest, {\n className: classes\n }), childrenUtils.isNil(children) ? content : children);\n }\n\n return /*#__PURE__*/React.createElement(ElementType, _extends({}, rest, {\n className: classes\n }), _map(buttons, function (button) {\n return Button.create(button);\n }));\n}\n\nButtonGroup.handledProps = [\"as\", \"attached\", \"basic\", \"buttons\", \"children\", \"className\", \"color\", \"compact\", \"content\", \"floated\", \"fluid\", \"icon\", \"inverted\", \"labeled\", \"negative\", \"positive\", \"primary\", \"secondary\", \"size\", \"toggle\", \"vertical\", \"widths\"];\nButtonGroup.propTypes = process.env.NODE_ENV !== \"production\" ? {\n /** An element type to render as (string or function). */\n as: PropTypes.elementType,\n\n /** Groups can be attached to other content. */\n attached: PropTypes.oneOfType([PropTypes.bool, PropTypes.oneOf(['left', 'right', 'top', 'bottom'])]),\n\n /** Groups can be less pronounced. */\n basic: PropTypes.bool,\n\n /** Array of shorthand Button values. */\n buttons: customPropTypes.collectionShorthand,\n\n /** Primary content. */\n children: PropTypes.node,\n\n /** Additional classes. */\n className: PropTypes.string,\n\n /** Groups can have a shared color. */\n color: PropTypes.oneOf(SUI.COLORS),\n\n /** Groups can reduce their padding to fit into tighter spaces. */\n compact: PropTypes.bool,\n\n /** Shorthand for primary content. */\n content: customPropTypes.contentShorthand,\n\n /** Groups can be aligned to the left or right of its container. */\n floated: PropTypes.oneOf(SUI.FLOATS),\n\n /** Groups can take the width of their container. */\n fluid: PropTypes.bool,\n\n /** Groups can be formatted as icons. */\n icon: PropTypes.bool,\n\n /** Groups can be formatted to appear on dark backgrounds. */\n inverted: PropTypes.bool,\n\n /** Groups can be formatted as labeled icon buttons. */\n labeled: PropTypes.bool,\n\n /** Groups can hint towards a negative consequence. */\n negative: PropTypes.bool,\n\n /** Groups can hint towards a positive consequence. */\n positive: PropTypes.bool,\n\n /** Groups can be formatted to show different levels of emphasis. */\n primary: PropTypes.bool,\n\n /** Groups can be formatted to show different levels of emphasis. */\n secondary: PropTypes.bool,\n\n /** Groups can have different sizes. */\n size: PropTypes.oneOf(SUI.SIZES),\n\n /** Groups can be formatted to toggle on and off. */\n toggle: PropTypes.bool,\n\n /** Groups can be formatted to appear vertically. */\n vertical: PropTypes.bool,\n\n /** Groups can have their widths divided evenly. */\n widths: PropTypes.oneOf(SUI.WIDTHS)\n} : {};\nexport default ButtonGroup;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport cx from 'clsx';\nimport PropTypes from 'prop-types';\nimport React from 'react';\nimport { getElementType, getUnhandledProps } from '../../lib';\n/**\n * Button groups can contain conditionals.\n */\n\nfunction ButtonOr(props) {\n var className = props.className,\n text = props.text;\n var classes = cx('or', className);\n var rest = getUnhandledProps(ButtonOr, props);\n var ElementType = getElementType(ButtonOr, props);\n return /*#__PURE__*/React.createElement(ElementType, _extends({}, rest, {\n className: classes,\n \"data-text\": text\n }));\n}\n\nButtonOr.handledProps = [\"as\", \"className\", \"text\"];\nButtonOr.propTypes = process.env.NODE_ENV !== \"production\" ? {\n /** An element type to render as (string or function). */\n as: PropTypes.elementType,\n\n /** Additional classes. */\n className: PropTypes.string,\n\n /** Or buttons can have their text localized, or adjusted by using the text prop. */\n text: PropTypes.oneOfType([PropTypes.number, PropTypes.string])\n} : {};\nexport default ButtonOr;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _inheritsLoose from \"@babel/runtime/helpers/esm/inheritsLoose\";\nimport _invoke from \"lodash-es/invoke\";\nimport _isNil from \"lodash-es/isNil\";\nimport { Ref } from '@fluentui/react-component-ref';\nimport cx from 'clsx';\nimport PropTypes from 'prop-types';\nimport React, { Component, createRef } from 'react';\nimport { childrenUtils, customPropTypes, createShorthandFactory, getElementType, getUnhandledProps, SUI, useKeyOnly, useKeyOrValueAndKey, useValueAndKey } from '../../lib';\nimport Icon from '../Icon/Icon';\nimport Label from '../Label/Label';\nimport ButtonContent from './ButtonContent';\nimport ButtonGroup from './ButtonGroup';\nimport ButtonOr from './ButtonOr';\n/**\n * A Button indicates a possible user action.\n * @see Form\n * @see Icon\n * @see Label\n */\n\nvar Button = /*#__PURE__*/function (_Component) {\n _inheritsLoose(Button, _Component);\n\n function Button() {\n var _this;\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 = _Component.call.apply(_Component, [this].concat(args)) || this;\n _this.ref = /*#__PURE__*/createRef();\n\n _this.computeElementType = function () {\n var _this$props = _this.props,\n attached = _this$props.attached,\n label = _this$props.label;\n if (!_isNil(attached) || !_isNil(label)) return 'div';\n };\n\n _this.computeTabIndex = function (ElementType) {\n var _this$props2 = _this.props,\n disabled = _this$props2.disabled,\n tabIndex = _this$props2.tabIndex;\n if (!_isNil(tabIndex)) return tabIndex;\n if (disabled) return -1;\n if (ElementType === 'div') return 0;\n };\n\n _this.focus = function () {\n return _invoke(_this.ref.current, 'focus');\n };\n\n _this.handleClick = function (e) {\n var disabled = _this.props.disabled;\n\n if (disabled) {\n e.preventDefault();\n return;\n }\n\n _invoke(_this.props, 'onClick', e, _this.props);\n };\n\n _this.hasIconClass = function () {\n var _this$props3 = _this.props,\n labelPosition = _this$props3.labelPosition,\n children = _this$props3.children,\n content = _this$props3.content,\n icon = _this$props3.icon;\n if (icon === true) return true;\n return icon && (labelPosition || childrenUtils.isNil(children) && _isNil(content));\n };\n\n return _this;\n }\n\n var _proto = Button.prototype;\n\n _proto.computeButtonAriaRole = function computeButtonAriaRole(ElementType) {\n var role = this.props.role;\n if (!_isNil(role)) return role;\n if (ElementType !== 'button') return 'button';\n };\n\n _proto.render = function render() {\n var _this$props4 = this.props,\n active = _this$props4.active,\n animated = _this$props4.animated,\n attached = _this$props4.attached,\n basic = _this$props4.basic,\n children = _this$props4.children,\n circular = _this$props4.circular,\n className = _this$props4.className,\n color = _this$props4.color,\n compact = _this$props4.compact,\n content = _this$props4.content,\n disabled = _this$props4.disabled,\n floated = _this$props4.floated,\n fluid = _this$props4.fluid,\n icon = _this$props4.icon,\n inverted = _this$props4.inverted,\n label = _this$props4.label,\n labelPosition = _this$props4.labelPosition,\n loading = _this$props4.loading,\n negative = _this$props4.negative,\n positive = _this$props4.positive,\n primary = _this$props4.primary,\n secondary = _this$props4.secondary,\n size = _this$props4.size,\n toggle = _this$props4.toggle;\n var baseClasses = cx(color, size, useKeyOnly(active, 'active'), useKeyOnly(basic, 'basic'), useKeyOnly(circular, 'circular'), useKeyOnly(compact, 'compact'), useKeyOnly(fluid, 'fluid'), useKeyOnly(this.hasIconClass(), 'icon'), useKeyOnly(inverted, 'inverted'), useKeyOnly(loading, 'loading'), useKeyOnly(negative, 'negative'), useKeyOnly(positive, 'positive'), useKeyOnly(primary, 'primary'), useKeyOnly(secondary, 'secondary'), useKeyOnly(toggle, 'toggle'), useKeyOrValueAndKey(animated, 'animated'), useKeyOrValueAndKey(attached, 'attached'));\n var labeledClasses = cx(useKeyOrValueAndKey(labelPosition || !!label, 'labeled'));\n var wrapperClasses = cx(useKeyOnly(disabled, 'disabled'), useValueAndKey(floated, 'floated'));\n var rest = getUnhandledProps(Button, this.props);\n var ElementType = getElementType(Button, this.props, this.computeElementType);\n var tabIndex = this.computeTabIndex(ElementType);\n\n if (!_isNil(label)) {\n var buttonClasses = cx('ui', baseClasses, 'button', className);\n var containerClasses = cx('ui', labeledClasses, 'button', className, wrapperClasses);\n var labelElement = Label.create(label, {\n defaultProps: {\n basic: true,\n pointing: labelPosition === 'left' ? 'right' : 'left'\n },\n autoGenerateKey: false\n });\n return /*#__PURE__*/React.createElement(ElementType, _extends({}, rest, {\n className: containerClasses,\n onClick: this.handleClick\n }), labelPosition === 'left' && labelElement, /*#__PURE__*/React.createElement(Ref, {\n innerRef: this.ref\n }, /*#__PURE__*/React.createElement(\"button\", {\n className: buttonClasses,\n \"aria-pressed\": toggle ? !!active : undefined,\n disabled: disabled,\n tabIndex: tabIndex\n }, Icon.create(icon, {\n autoGenerateKey: false\n }), \" \", content)), (labelPosition === 'right' || !labelPosition) && labelElement);\n }\n\n var classes = cx('ui', baseClasses, wrapperClasses, labeledClasses, 'button', className);\n var hasChildren = !childrenUtils.isNil(children);\n var role = this.computeButtonAriaRole(ElementType);\n return /*#__PURE__*/React.createElement(Ref, {\n innerRef: this.ref\n }, /*#__PURE__*/React.createElement(ElementType, _extends({}, rest, {\n className: classes,\n \"aria-pressed\": toggle ? !!active : undefined,\n disabled: disabled && ElementType === 'button' || undefined,\n onClick: this.handleClick,\n role: role,\n tabIndex: tabIndex\n }), hasChildren && children, !hasChildren && Icon.create(icon, {\n autoGenerateKey: false\n }), !hasChildren && content));\n };\n\n return Button;\n}(Component);\n\nButton.handledProps = [\"active\", \"animated\", \"as\", \"attached\", \"basic\", \"children\", \"circular\", \"className\", \"color\", \"compact\", \"content\", \"disabled\", \"floated\", \"fluid\", \"icon\", \"inverted\", \"label\", \"labelPosition\", \"loading\", \"negative\", \"onClick\", \"positive\", \"primary\", \"role\", \"secondary\", \"size\", \"tabIndex\", \"toggle\"];\nButton.propTypes = process.env.NODE_ENV !== \"production\" ? {\n /** An element type to render as (string or function). */\n as: PropTypes.elementType,\n\n /** A button can show it is currently the active user selection. */\n active: PropTypes.bool,\n\n /** A button can animate to show hidden content. */\n animated: PropTypes.oneOfType([PropTypes.bool, PropTypes.oneOf(['fade', 'vertical'])]),\n\n /** A button can be attached to other content. */\n attached: PropTypes.oneOfType([PropTypes.bool, PropTypes.oneOf(['left', 'right', 'top', 'bottom'])]),\n\n /** A basic button is less pronounced. */\n basic: PropTypes.bool,\n\n /** Primary content. */\n children: customPropTypes.every([PropTypes.node, customPropTypes.disallow(['label']), customPropTypes.givenProps({\n icon: PropTypes.oneOfType([PropTypes.string.isRequired, PropTypes.object.isRequired, PropTypes.element.isRequired])\n }, customPropTypes.disallow(['icon']))]),\n\n /** A button can be circular. */\n circular: PropTypes.bool,\n\n /** Additional classes. */\n className: PropTypes.string,\n\n /** A button can have different colors */\n color: PropTypes.oneOf([].concat(SUI.COLORS, ['facebook', 'google plus', 'instagram', 'linkedin', 'twitter', 'vk', 'youtube'])),\n\n /** A button can reduce its padding to fit into tighter spaces. */\n compact: PropTypes.bool,\n\n /** Shorthand for primary content. */\n content: customPropTypes.contentShorthand,\n\n /** A button can show it is currently unable to be interacted with. */\n disabled: PropTypes.bool,\n\n /** A button can be aligned to the left or right of its container. */\n floated: PropTypes.oneOf(SUI.FLOATS),\n\n /** A button can take the width of its container. */\n fluid: PropTypes.bool,\n\n /** Add an Icon by name, props object, or pass an <Icon />. */\n icon: PropTypes.oneOfType([PropTypes.bool, PropTypes.string, PropTypes.object, PropTypes.element]),\n\n /** A button can be formatted to appear on dark backgrounds. */\n inverted: PropTypes.bool,\n\n /** Add a Label by text, props object, or pass a <Label />. */\n label: PropTypes.oneOfType([PropTypes.string, PropTypes.object, PropTypes.element]),\n\n /** A labeled button can format a Label or Icon to appear on the left or right. */\n labelPosition: PropTypes.oneOf(['right', 'left']),\n\n /** A button can show a loading indicator. */\n loading: PropTypes.bool,\n\n /** A button can hint towards a negative consequence. */\n negative: PropTypes.bool,\n\n /**\n * Called after user's click.\n * @param {SyntheticEvent} event - React's original SyntheticEvent.\n * @param {object} data - All props.\n */\n onClick: PropTypes.func,\n\n /** A button can hint towards a positive consequence. */\n positive: PropTypes.bool,\n\n /** A button can be formatted to show different levels of emphasis. */\n primary: PropTypes.bool,\n\n /** The role of the HTML element. */\n role: PropTypes.string,\n\n /** A button can be formatted to show different levels of emphasis. */\n secondary: PropTypes.bool,\n\n /** A button can have different sizes. */\n size: PropTypes.oneOf(SUI.SIZES),\n\n /** A button can receive focus. */\n tabIndex: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),\n\n /** A button can be formatted to toggle on and off. */\n toggle: PropTypes.bool\n} : {};\nButton.defaultProps = {\n as: 'button'\n};\nButton.Content = ButtonContent;\nButton.Group = ButtonGroup;\nButton.Or = ButtonOr;\nButton.create = createShorthandFactory(Button, function (value) {\n return {\n content: value\n };\n});\nexport default Button;","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\nimport $ from '../../utils/dom';\nimport { extend, bindModuleMethods, createElementIfNotDefined } from '../../utils/utils';\nvar Navigation = {\n toggleEl: function toggleEl($el, disabled) {\n $el[disabled ? 'addClass' : 'removeClass'](this.params.navigation.disabledClass);\n if ($el[0] && $el[0].tagName === 'BUTTON') $el[0].disabled = disabled;\n },\n update: function update() {\n // Update Navigation Buttons\n var swiper = this;\n var params = swiper.params.navigation;\n var toggleEl = swiper.navigation.toggleEl;\n if (swiper.params.loop) return;\n var _swiper$navigation = swiper.navigation,\n $nextEl = _swiper$navigation.$nextEl,\n $prevEl = _swiper$navigation.$prevEl;\n\n if ($prevEl && $prevEl.length > 0) {\n if (swiper.isBeginning) {\n toggleEl($prevEl, true);\n } else {\n toggleEl($prevEl, false);\n }\n\n if (swiper.params.watchOverflow && swiper.enabled) {\n $prevEl[swiper.isLocked ? 'addClass' : 'removeClass'](params.lockClass);\n }\n }\n\n if ($nextEl && $nextEl.length > 0) {\n if (swiper.isEnd) {\n toggleEl($nextEl, true);\n } else {\n toggleEl($nextEl, false);\n }\n\n if (swiper.params.watchOverflow && swiper.enabled) {\n $nextEl[swiper.isLocked ? 'addClass' : 'removeClass'](params.lockClass);\n }\n }\n },\n onPrevClick: function onPrevClick(e) {\n var swiper = this;\n e.preventDefault();\n if (swiper.isBeginning && !swiper.params.loop) return;\n swiper.slidePrev();\n },\n onNextClick: function onNextClick(e) {\n var swiper = this;\n e.preventDefault();\n if (swiper.isEnd && !swiper.params.loop) return;\n swiper.slideNext();\n },\n init: function init() {\n var swiper = this;\n var params = swiper.params.navigation;\n swiper.params.navigation = createElementIfNotDefined(swiper.$el, swiper.params.navigation, swiper.params.createElements, {\n nextEl: 'swiper-button-next',\n prevEl: 'swiper-button-prev'\n });\n if (!(params.nextEl || params.prevEl)) return;\n var $nextEl;\n var $prevEl;\n\n if (params.nextEl) {\n $nextEl = $(params.nextEl);\n\n if (swiper.params.uniqueNavElements && typeof params.nextEl === 'string' && $nextEl.length > 1 && swiper.$el.find(params.nextEl).length === 1) {\n $nextEl = swiper.$el.find(params.nextEl);\n }\n }\n\n if (params.prevEl) {\n $prevEl = $(params.prevEl);\n\n if (swiper.params.uniqueNavElements && typeof params.prevEl === 'string' && $prevEl.length > 1 && swiper.$el.find(params.prevEl).length === 1) {\n $prevEl = swiper.$el.find(params.prevEl);\n }\n }\n\n if ($nextEl && $nextEl.length > 0) {\n $nextEl.on('click', swiper.navigation.onNextClick);\n }\n\n if ($prevEl && $prevEl.length > 0) {\n $prevEl.on('click', swiper.navigation.onPrevClick);\n }\n\n extend(swiper.navigation, {\n $nextEl: $nextEl,\n nextEl: $nextEl && $nextEl[0],\n $prevEl: $prevEl,\n prevEl: $prevEl && $prevEl[0]\n });\n\n if (!swiper.enabled) {\n if ($nextEl) $nextEl.addClass(params.lockClass);\n if ($prevEl) $prevEl.addClass(params.lockClass);\n }\n },\n destroy: function destroy() {\n var swiper = this;\n var _swiper$navigation2 = swiper.navigation,\n $nextEl = _swiper$navigation2.$nextEl,\n $prevEl = _swiper$navigation2.$prevEl;\n\n if ($nextEl && $nextEl.length) {\n $nextEl.off('click', swiper.navigation.onNextClick);\n $nextEl.removeClass(swiper.params.navigation.disabledClass);\n }\n\n if ($prevEl && $prevEl.length) {\n $prevEl.off('click', swiper.navigation.onPrevClick);\n $prevEl.removeClass(swiper.params.navigation.disabledClass);\n }\n }\n};\nexport default {\n name: 'navigation',\n params: {\n navigation: {\n nextEl: null,\n prevEl: null,\n hideOnClick: false,\n disabledClass: 'swiper-button-disabled',\n hiddenClass: 'swiper-button-hidden',\n lockClass: 'swiper-button-lock'\n }\n },\n create: function create() {\n var swiper = this;\n bindModuleMethods(swiper, {\n navigation: _extends({}, Navigation)\n });\n },\n on: {\n init: function init(swiper) {\n swiper.navigation.init();\n swiper.navigation.update();\n },\n toEdge: function toEdge(swiper) {\n swiper.navigation.update();\n },\n fromEdge: function fromEdge(swiper) {\n swiper.navigation.update();\n },\n destroy: function destroy(swiper) {\n swiper.navigation.destroy();\n },\n 'enable disable': function enableDisable(swiper) {\n var _swiper$navigation3 = swiper.navigation,\n $nextEl = _swiper$navigation3.$nextEl,\n $prevEl = _swiper$navigation3.$prevEl;\n\n if ($nextEl) {\n $nextEl[swiper.enabled ? 'removeClass' : 'addClass'](swiper.params.navigation.lockClass);\n }\n\n if ($prevEl) {\n $prevEl[swiper.enabled ? 'removeClass' : 'addClass'](swiper.params.navigation.lockClass);\n }\n },\n click: function click(swiper, e) {\n var _swiper$navigation4 = swiper.navigation,\n $nextEl = _swiper$navigation4.$nextEl,\n $prevEl = _swiper$navigation4.$prevEl;\n var targetEl = e.target;\n\n if (swiper.params.navigation.hideOnClick && !$(targetEl).is($prevEl) && !$(targetEl).is($nextEl)) {\n if (swiper.pagination && swiper.params.pagination && swiper.params.pagination.clickable && (swiper.pagination.el === targetEl || swiper.pagination.el.contains(targetEl))) return;\n var isHidden;\n\n if ($nextEl) {\n isHidden = $nextEl.hasClass(swiper.params.navigation.hiddenClass);\n } else if ($prevEl) {\n isHidden = $prevEl.hasClass(swiper.params.navigation.hiddenClass);\n }\n\n if (isHidden === true) {\n swiper.emit('navigationShow');\n } else {\n swiper.emit('navigationHide');\n }\n\n if ($nextEl) {\n $nextEl.toggleClass(swiper.params.navigation.hiddenClass);\n }\n\n if ($prevEl) {\n $prevEl.toggleClass(swiper.params.navigation.hiddenClass);\n }\n }\n }\n }\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\nimport $ from '../../utils/dom';\nimport { extend, bindModuleMethods, classesToSelector, createElementIfNotDefined } from '../../utils/utils';\nvar Pagination = {\n update: function update() {\n // Render || Update Pagination bullets/items\n var swiper = this;\n var rtl = swiper.rtl;\n var params = swiper.params.pagination;\n if (!params.el || !swiper.pagination.el || !swiper.pagination.$el || swiper.pagination.$el.length === 0) return;\n var slidesLength = swiper.virtual && swiper.params.virtual.enabled ? swiper.virtual.slides.length : swiper.slides.length;\n var $el = swiper.pagination.$el; // Current/Total\n\n var current;\n var total = swiper.params.loop ? Math.ceil((slidesLength - swiper.loopedSlides * 2) / swiper.params.slidesPerGroup) : swiper.snapGrid.length;\n\n if (swiper.params.loop) {\n current = Math.ceil((swiper.activeIndex - swiper.loopedSlides) / swiper.params.slidesPerGroup);\n\n if (current > slidesLength - 1 - swiper.loopedSlides * 2) {\n current -= slidesLength - swiper.loopedSlides * 2;\n }\n\n if (current > total - 1) current -= total;\n if (current < 0 && swiper.params.paginationType !== 'bullets') current = total + current;\n } else if (typeof swiper.snapIndex !== 'undefined') {\n current = swiper.snapIndex;\n } else {\n current = swiper.activeIndex || 0;\n } // Types\n\n\n if (params.type === 'bullets' && swiper.pagination.bullets && swiper.pagination.bullets.length > 0) {\n var bullets = swiper.pagination.bullets;\n var firstIndex;\n var lastIndex;\n var midIndex;\n\n if (params.dynamicBullets) {\n swiper.pagination.bulletSize = bullets.eq(0)[swiper.isHorizontal() ? 'outerWidth' : 'outerHeight'](true);\n $el.css(swiper.isHorizontal() ? 'width' : 'height', swiper.pagination.bulletSize * (params.dynamicMainBullets + 4) + \"px\");\n\n if (params.dynamicMainBullets > 1 && swiper.previousIndex !== undefined) {\n swiper.pagination.dynamicBulletIndex += current - swiper.previousIndex;\n\n if (swiper.pagination.dynamicBulletIndex > params.dynamicMainBullets - 1) {\n swiper.pagination.dynamicBulletIndex = params.dynamicMainBullets - 1;\n } else if (swiper.pagination.dynamicBulletIndex < 0) {\n swiper.pagination.dynamicBulletIndex = 0;\n }\n }\n\n firstIndex = current - swiper.pagination.dynamicBulletIndex;\n lastIndex = firstIndex + (Math.min(bullets.length, params.dynamicMainBullets) - 1);\n midIndex = (lastIndex + firstIndex) / 2;\n }\n\n bullets.removeClass(params.bulletActiveClass + \" \" + params.bulletActiveClass + \"-next \" + params.bulletActiveClass + \"-next-next \" + params.bulletActiveClass + \"-prev \" + params.bulletActiveClass + \"-prev-prev \" + params.bulletActiveClass + \"-main\");\n\n if ($el.length > 1) {\n bullets.each(function (bullet) {\n var $bullet = $(bullet);\n var bulletIndex = $bullet.index();\n\n if (bulletIndex === current) {\n $bullet.addClass(params.bulletActiveClass);\n }\n\n if (params.dynamicBullets) {\n if (bulletIndex >= firstIndex && bulletIndex <= lastIndex) {\n $bullet.addClass(params.bulletActiveClass + \"-main\");\n }\n\n if (bulletIndex === firstIndex) {\n $bullet.prev().addClass(params.bulletActiveClass + \"-prev\").prev().addClass(params.bulletActiveClass + \"-prev-prev\");\n }\n\n if (bulletIndex === lastIndex) {\n $bullet.next().addClass(params.bulletActiveClass + \"-next\").next().addClass(params.bulletActiveClass + \"-next-next\");\n }\n }\n });\n } else {\n var $bullet = bullets.eq(current);\n var bulletIndex = $bullet.index();\n $bullet.addClass(params.bulletActiveClass);\n\n if (params.dynamicBullets) {\n var $firstDisplayedBullet = bullets.eq(firstIndex);\n var $lastDisplayedBullet = bullets.eq(lastIndex);\n\n for (var i = firstIndex; i <= lastIndex; i += 1) {\n bullets.eq(i).addClass(params.bulletActiveClass + \"-main\");\n }\n\n if (swiper.params.loop) {\n if (bulletIndex >= bullets.length - params.dynamicMainBullets) {\n for (var _i = params.dynamicMainBullets; _i >= 0; _i -= 1) {\n bullets.eq(bullets.length - _i).addClass(params.bulletActiveClass + \"-main\");\n }\n\n bullets.eq(bullets.length - params.dynamicMainBullets - 1).addClass(params.bulletActiveClass + \"-prev\");\n } else {\n $firstDisplayedBullet.prev().addClass(params.bulletActiveClass + \"-prev\").prev().addClass(params.bulletActiveClass + \"-prev-prev\");\n $lastDisplayedBullet.next().addClass(params.bulletActiveClass + \"-next\").next().addClass(params.bulletActiveClass + \"-next-next\");\n }\n } else {\n $firstDisplayedBullet.prev().addClass(params.bulletActiveClass + \"-prev\").prev().addClass(params.bulletActiveClass + \"-prev-prev\");\n $lastDisplayedBullet.next().addClass(params.bulletActiveClass + \"-next\").next().addClass(params.bulletActiveClass + \"-next-next\");\n }\n }\n }\n\n if (params.dynamicBullets) {\n var dynamicBulletsLength = Math.min(bullets.length, params.dynamicMainBullets + 4);\n var bulletsOffset = (swiper.pagination.bulletSize * dynamicBulletsLength - swiper.pagination.bulletSize) / 2 - midIndex * swiper.pagination.bulletSize;\n var offsetProp = rtl ? 'right' : 'left';\n bullets.css(swiper.isHorizontal() ? offsetProp : 'top', bulletsOffset + \"px\");\n }\n }\n\n if (params.type === 'fraction') {\n $el.find(classesToSelector(params.currentClass)).text(params.formatFractionCurrent(current + 1));\n $el.find(classesToSelector(params.totalClass)).text(params.formatFractionTotal(total));\n }\n\n if (params.type === 'progressbar') {\n var progressbarDirection;\n\n if (params.progressbarOpposite) {\n progressbarDirection = swiper.isHorizontal() ? 'vertical' : 'horizontal';\n } else {\n progressbarDirection = swiper.isHorizontal() ? 'horizontal' : 'vertical';\n }\n\n var scale = (current + 1) / total;\n var scaleX = 1;\n var scaleY = 1;\n\n if (progressbarDirection === 'horizontal') {\n scaleX = scale;\n } else {\n scaleY = scale;\n }\n\n $el.find(classesToSelector(params.progressbarFillClass)).transform(\"translate3d(0,0,0) scaleX(\" + scaleX + \") scaleY(\" + scaleY + \")\").transition(swiper.params.speed);\n }\n\n if (params.type === 'custom' && params.renderCustom) {\n $el.html(params.renderCustom(swiper, current + 1, total));\n swiper.emit('paginationRender', $el[0]);\n } else {\n swiper.emit('paginationUpdate', $el[0]);\n }\n\n if (swiper.params.watchOverflow && swiper.enabled) {\n $el[swiper.isLocked ? 'addClass' : 'removeClass'](params.lockClass);\n }\n },\n render: function render() {\n // Render Container\n var swiper = this;\n var params = swiper.params.pagination;\n if (!params.el || !swiper.pagination.el || !swiper.pagination.$el || swiper.pagination.$el.length === 0) return;\n var slidesLength = swiper.virtual && swiper.params.virtual.enabled ? swiper.virtual.slides.length : swiper.slides.length;\n var $el = swiper.pagination.$el;\n var paginationHTML = '';\n\n if (params.type === 'bullets') {\n var numberOfBullets = swiper.params.loop ? Math.ceil((slidesLength - swiper.loopedSlides * 2) / swiper.params.slidesPerGroup) : swiper.snapGrid.length;\n\n if (swiper.params.freeMode && !swiper.params.loop && numberOfBullets > slidesLength) {\n numberOfBullets = slidesLength;\n }\n\n for (var i = 0; i < numberOfBullets; i += 1) {\n if (params.renderBullet) {\n paginationHTML += params.renderBullet.call(swiper, i, params.bulletClass);\n } else {\n paginationHTML += \"<\" + params.bulletElement + \" class=\\\"\" + params.bulletClass + \"\\\"></\" + params.bulletElement + \">\";\n }\n }\n\n $el.html(paginationHTML);\n swiper.pagination.bullets = $el.find(classesToSelector(params.bulletClass));\n }\n\n if (params.type === 'fraction') {\n if (params.renderFraction) {\n paginationHTML = params.renderFraction.call(swiper, params.currentClass, params.totalClass);\n } else {\n paginationHTML = \"<span class=\\\"\" + params.currentClass + \"\\\"></span>\" + ' / ' + (\"<span class=\\\"\" + params.totalClass + \"\\\"></span>\");\n }\n\n $el.html(paginationHTML);\n }\n\n if (params.type === 'progressbar') {\n if (params.renderProgressbar) {\n paginationHTML = params.renderProgressbar.call(swiper, params.progressbarFillClass);\n } else {\n paginationHTML = \"<span class=\\\"\" + params.progressbarFillClass + \"\\\"></span>\";\n }\n\n $el.html(paginationHTML);\n }\n\n if (params.type !== 'custom') {\n swiper.emit('paginationRender', swiper.pagination.$el[0]);\n }\n },\n init: function init() {\n var swiper = this;\n swiper.params.pagination = createElementIfNotDefined(swiper.$el, swiper.params.pagination, swiper.params.createElements, {\n el: 'swiper-pagination'\n });\n var params = swiper.params.pagination;\n if (!params.el) return;\n var $el = $(params.el);\n if ($el.length === 0) return;\n\n if (swiper.params.uniqueNavElements && typeof params.el === 'string' && $el.length > 1) {\n $el = swiper.$el.find(params.el);\n }\n\n if (params.type === 'bullets' && params.clickable) {\n $el.addClass(params.clickableClass);\n }\n\n $el.addClass(params.modifierClass + params.type);\n\n if (params.type === 'bullets' && params.dynamicBullets) {\n $el.addClass(\"\" + params.modifierClass + params.type + \"-dynamic\");\n swiper.pagination.dynamicBulletIndex = 0;\n\n if (params.dynamicMainBullets < 1) {\n params.dynamicMainBullets = 1;\n }\n }\n\n if (params.type === 'progressbar' && params.progressbarOpposite) {\n $el.addClass(params.progressbarOppositeClass);\n }\n\n if (params.clickable) {\n $el.on('click', classesToSelector(params.bulletClass), function onClick(e) {\n e.preventDefault();\n var index = $(this).index() * swiper.params.slidesPerGroup;\n if (swiper.params.loop) index += swiper.loopedSlides;\n swiper.slideTo(index);\n });\n }\n\n extend(swiper.pagination, {\n $el: $el,\n el: $el[0]\n });\n\n if (!swiper.enabled) {\n $el.addClass(params.lockClass);\n }\n },\n destroy: function destroy() {\n var swiper = this;\n var params = swiper.params.pagination;\n if (!params.el || !swiper.pagination.el || !swiper.pagination.$el || swiper.pagination.$el.length === 0) return;\n var $el = swiper.pagination.$el;\n $el.removeClass(params.hiddenClass);\n $el.removeClass(params.modifierClass + params.type);\n if (swiper.pagination.bullets) swiper.pagination.bullets.removeClass(params.bulletActiveClass);\n\n if (params.clickable) {\n $el.off('click', classesToSelector(params.bulletClass));\n }\n }\n};\nexport default {\n name: 'pagination',\n params: {\n pagination: {\n el: null,\n bulletElement: 'span',\n clickable: false,\n hideOnClick: false,\n renderBullet: null,\n renderProgressbar: null,\n renderFraction: null,\n renderCustom: null,\n progressbarOpposite: false,\n type: 'bullets',\n // 'bullets' or 'progressbar' or 'fraction' or 'custom'\n dynamicBullets: false,\n dynamicMainBullets: 1,\n formatFractionCurrent: function formatFractionCurrent(number) {\n return number;\n },\n formatFractionTotal: function formatFractionTotal(number) {\n return number;\n },\n bulletClass: 'swiper-pagination-bullet',\n bulletActiveClass: 'swiper-pagination-bullet-active',\n modifierClass: 'swiper-pagination-',\n // NEW\n currentClass: 'swiper-pagination-current',\n totalClass: 'swiper-pagination-total',\n hiddenClass: 'swiper-pagination-hidden',\n progressbarFillClass: 'swiper-pagination-progressbar-fill',\n progressbarOppositeClass: 'swiper-pagination-progressbar-opposite',\n clickableClass: 'swiper-pagination-clickable',\n // NEW\n lockClass: 'swiper-pagination-lock'\n }\n },\n create: function create() {\n var swiper = this;\n bindModuleMethods(swiper, {\n pagination: _extends({\n dynamicBulletIndex: 0\n }, Pagination)\n });\n },\n on: {\n init: function init(swiper) {\n swiper.pagination.init();\n swiper.pagination.render();\n swiper.pagination.update();\n },\n activeIndexChange: function activeIndexChange(swiper) {\n if (swiper.params.loop) {\n swiper.pagination.update();\n } else if (typeof swiper.snapIndex === 'undefined') {\n swiper.pagination.update();\n }\n },\n snapIndexChange: function snapIndexChange(swiper) {\n if (!swiper.params.loop) {\n swiper.pagination.update();\n }\n },\n slidesLengthChange: function slidesLengthChange(swiper) {\n if (swiper.params.loop) {\n swiper.pagination.render();\n swiper.pagination.update();\n }\n },\n snapGridLengthChange: function snapGridLengthChange(swiper) {\n if (!swiper.params.loop) {\n swiper.pagination.render();\n swiper.pagination.update();\n }\n },\n destroy: function destroy(swiper) {\n swiper.pagination.destroy();\n },\n 'enable disable': function enableDisable(swiper) {\n var $el = swiper.pagination.$el;\n\n if ($el) {\n $el[swiper.enabled ? 'removeClass' : 'addClass'](swiper.params.pagination.lockClass);\n }\n },\n click: function click(swiper, e) {\n var targetEl = e.target;\n\n if (swiper.params.pagination.el && swiper.params.pagination.hideOnClick && swiper.pagination.$el.length > 0 && !$(targetEl).hasClass(swiper.params.pagination.bulletClass)) {\n if (swiper.navigation && (swiper.navigation.nextEl && targetEl === swiper.navigation.nextEl || swiper.navigation.prevEl && targetEl === swiper.navigation.prevEl)) return;\n var isHidden = swiper.pagination.$el.hasClass(swiper.params.pagination.hiddenClass);\n\n if (isHidden === true) {\n swiper.emit('paginationShow');\n } else {\n swiper.emit('paginationHide');\n }\n\n swiper.pagination.$el.toggleClass(swiper.params.pagination.hiddenClass);\n }\n }\n }\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\nimport { getDocument } from 'ssr-window';\nimport $ from '../../utils/dom';\nimport { extend, nextTick, bindModuleMethods, createElementIfNotDefined } from '../../utils/utils';\nvar Scrollbar = {\n setTranslate: function setTranslate() {\n var swiper = this;\n if (!swiper.params.scrollbar.el || !swiper.scrollbar.el) return;\n var scrollbar = swiper.scrollbar,\n rtl = swiper.rtlTranslate,\n progress = swiper.progress;\n var dragSize = scrollbar.dragSize,\n trackSize = scrollbar.trackSize,\n $dragEl = scrollbar.$dragEl,\n $el = scrollbar.$el;\n var params = swiper.params.scrollbar;\n var newSize = dragSize;\n var newPos = (trackSize - dragSize) * progress;\n\n if (rtl) {\n newPos = -newPos;\n\n if (newPos > 0) {\n newSize = dragSize - newPos;\n newPos = 0;\n } else if (-newPos + dragSize > trackSize) {\n newSize = trackSize + newPos;\n }\n } else if (newPos < 0) {\n newSize = dragSize + newPos;\n newPos = 0;\n } else if (newPos + dragSize > trackSize) {\n newSize = trackSize - newPos;\n }\n\n if (swiper.isHorizontal()) {\n $dragEl.transform(\"translate3d(\" + newPos + \"px, 0, 0)\");\n $dragEl[0].style.width = newSize + \"px\";\n } else {\n $dragEl.transform(\"translate3d(0px, \" + newPos + \"px, 0)\");\n $dragEl[0].style.height = newSize + \"px\";\n }\n\n if (params.hide) {\n clearTimeout(swiper.scrollbar.timeout);\n $el[0].style.opacity = 1;\n swiper.scrollbar.timeout = setTimeout(function () {\n $el[0].style.opacity = 0;\n $el.transition(400);\n }, 1000);\n }\n },\n setTransition: function setTransition(duration) {\n var swiper = this;\n if (!swiper.params.scrollbar.el || !swiper.scrollbar.el) return;\n swiper.scrollbar.$dragEl.transition(duration);\n },\n updateSize: function updateSize() {\n var swiper = this;\n if (!swiper.params.scrollbar.el || !swiper.scrollbar.el) return;\n var scrollbar = swiper.scrollbar;\n var $dragEl = scrollbar.$dragEl,\n $el = scrollbar.$el;\n $dragEl[0].style.width = '';\n $dragEl[0].style.height = '';\n var trackSize = swiper.isHorizontal() ? $el[0].offsetWidth : $el[0].offsetHeight;\n var divider = swiper.size / swiper.virtualSize;\n var moveDivider = divider * (trackSize / swiper.size);\n var dragSize;\n\n if (swiper.params.scrollbar.dragSize === 'auto') {\n dragSize = trackSize * divider;\n } else {\n dragSize = parseInt(swiper.params.scrollbar.dragSize, 10);\n }\n\n if (swiper.isHorizontal()) {\n $dragEl[0].style.width = dragSize + \"px\";\n } else {\n $dragEl[0].style.height = dragSize + \"px\";\n }\n\n if (divider >= 1) {\n $el[0].style.display = 'none';\n } else {\n $el[0].style.display = '';\n }\n\n if (swiper.params.scrollbar.hide) {\n $el[0].style.opacity = 0;\n }\n\n extend(scrollbar, {\n trackSize: trackSize,\n divider: divider,\n moveDivider: moveDivider,\n dragSize: dragSize\n });\n\n if (swiper.params.watchOverflow && swiper.enabled) {\n scrollbar.$el[swiper.isLocked ? 'addClass' : 'removeClass'](swiper.params.scrollbar.lockClass);\n }\n },\n getPointerPosition: function getPointerPosition(e) {\n var swiper = this;\n\n if (swiper.isHorizontal()) {\n return e.type === 'touchstart' || e.type === 'touchmove' ? e.targetTouches[0].clientX : e.clientX;\n }\n\n return e.type === 'touchstart' || e.type === 'touchmove' ? e.targetTouches[0].clientY : e.clientY;\n },\n setDragPosition: function setDragPosition(e) {\n var swiper = this;\n var scrollbar = swiper.scrollbar,\n rtl = swiper.rtlTranslate;\n var $el = scrollbar.$el,\n dragSize = scrollbar.dragSize,\n trackSize = scrollbar.trackSize,\n dragStartPos = scrollbar.dragStartPos;\n var positionRatio;\n positionRatio = (scrollbar.getPointerPosition(e) - $el.offset()[swiper.isHorizontal() ? 'left' : 'top'] - (dragStartPos !== null ? dragStartPos : dragSize / 2)) / (trackSize - dragSize);\n positionRatio = Math.max(Math.min(positionRatio, 1), 0);\n\n if (rtl) {\n positionRatio = 1 - positionRatio;\n }\n\n var position = swiper.minTranslate() + (swiper.maxTranslate() - swiper.minTranslate()) * positionRatio;\n swiper.updateProgress(position);\n swiper.setTranslate(position);\n swiper.updateActiveIndex();\n swiper.updateSlidesClasses();\n },\n onDragStart: function onDragStart(e) {\n var swiper = this;\n var params = swiper.params.scrollbar;\n var scrollbar = swiper.scrollbar,\n $wrapperEl = swiper.$wrapperEl;\n var $el = scrollbar.$el,\n $dragEl = scrollbar.$dragEl;\n swiper.scrollbar.isTouched = true;\n swiper.scrollbar.dragStartPos = e.target === $dragEl[0] || e.target === $dragEl ? scrollbar.getPointerPosition(e) - e.target.getBoundingClientRect()[swiper.isHorizontal() ? 'left' : 'top'] : null;\n e.preventDefault();\n e.stopPropagation();\n $wrapperEl.transition(100);\n $dragEl.transition(100);\n scrollbar.setDragPosition(e);\n clearTimeout(swiper.scrollbar.dragTimeout);\n $el.transition(0);\n\n if (params.hide) {\n $el.css('opacity', 1);\n }\n\n if (swiper.params.cssMode) {\n swiper.$wrapperEl.css('scroll-snap-type', 'none');\n }\n\n swiper.emit('scrollbarDragStart', e);\n },\n onDragMove: function onDragMove(e) {\n var swiper = this;\n var scrollbar = swiper.scrollbar,\n $wrapperEl = swiper.$wrapperEl;\n var $el = scrollbar.$el,\n $dragEl = scrollbar.$dragEl;\n if (!swiper.scrollbar.isTouched) return;\n if (e.preventDefault) e.preventDefault();else e.returnValue = false;\n scrollbar.setDragPosition(e);\n $wrapperEl.transition(0);\n $el.transition(0);\n $dragEl.transition(0);\n swiper.emit('scrollbarDragMove', e);\n },\n onDragEnd: function onDragEnd(e) {\n var swiper = this;\n var params = swiper.params.scrollbar;\n var scrollbar = swiper.scrollbar,\n $wrapperEl = swiper.$wrapperEl;\n var $el = scrollbar.$el;\n if (!swiper.scrollbar.isTouched) return;\n swiper.scrollbar.isTouched = false;\n\n if (swiper.params.cssMode) {\n swiper.$wrapperEl.css('scroll-snap-type', '');\n $wrapperEl.transition('');\n }\n\n if (params.hide) {\n clearTimeout(swiper.scrollbar.dragTimeout);\n swiper.scrollbar.dragTimeout = nextTick(function () {\n $el.css('opacity', 0);\n $el.transition(400);\n }, 1000);\n }\n\n swiper.emit('scrollbarDragEnd', e);\n\n if (params.snapOnRelease) {\n swiper.slideToClosest();\n }\n },\n enableDraggable: function enableDraggable() {\n var swiper = this;\n if (!swiper.params.scrollbar.el) return;\n var document = getDocument();\n var scrollbar = swiper.scrollbar,\n touchEventsTouch = swiper.touchEventsTouch,\n touchEventsDesktop = swiper.touchEventsDesktop,\n params = swiper.params,\n support = swiper.support;\n var $el = scrollbar.$el;\n var target = $el[0];\n var activeListener = support.passiveListener && params.passiveListeners ? {\n passive: false,\n capture: false\n } : false;\n var passiveListener = support.passiveListener && params.passiveListeners ? {\n passive: true,\n capture: false\n } : false;\n if (!target) return;\n\n if (!support.touch) {\n target.addEventListener(touchEventsDesktop.start, swiper.scrollbar.onDragStart, activeListener);\n document.addEventListener(touchEventsDesktop.move, swiper.scrollbar.onDragMove, activeListener);\n document.addEventListener(touchEventsDesktop.end, swiper.scrollbar.onDragEnd, passiveListener);\n } else {\n target.addEventListener(touchEventsTouch.start, swiper.scrollbar.onDragStart, activeListener);\n target.addEventListener(touchEventsTouch.move, swiper.scrollbar.onDragMove, activeListener);\n target.addEventListener(touchEventsTouch.end, swiper.scrollbar.onDragEnd, passiveListener);\n }\n },\n disableDraggable: function disableDraggable() {\n var swiper = this;\n if (!swiper.params.scrollbar.el) return;\n var document = getDocument();\n var scrollbar = swiper.scrollbar,\n touchEventsTouch = swiper.touchEventsTouch,\n touchEventsDesktop = swiper.touchEventsDesktop,\n params = swiper.params,\n support = swiper.support;\n var $el = scrollbar.$el;\n var target = $el[0];\n var activeListener = support.passiveListener && params.passiveListeners ? {\n passive: false,\n capture: false\n } : false;\n var passiveListener = support.passiveListener && params.passiveListeners ? {\n passive: true,\n capture: false\n } : false;\n if (!target) return;\n\n if (!support.touch) {\n target.removeEventListener(touchEventsDesktop.start, swiper.scrollbar.onDragStart, activeListener);\n document.removeEventListener(touchEventsDesktop.move, swiper.scrollbar.onDragMove, activeListener);\n document.removeEventListener(touchEventsDesktop.end, swiper.scrollbar.onDragEnd, passiveListener);\n } else {\n target.removeEventListener(touchEventsTouch.start, swiper.scrollbar.onDragStart, activeListener);\n target.removeEventListener(touchEventsTouch.move, swiper.scrollbar.onDragMove, activeListener);\n target.removeEventListener(touchEventsTouch.end, swiper.scrollbar.onDragEnd, passiveListener);\n }\n },\n init: function init() {\n var swiper = this;\n var scrollbar = swiper.scrollbar,\n $swiperEl = swiper.$el;\n swiper.params.scrollbar = createElementIfNotDefined($swiperEl, swiper.params.scrollbar, swiper.params.createElements, {\n el: 'swiper-scrollbar'\n });\n var params = swiper.params.scrollbar;\n if (!params.el) return;\n var $el = $(params.el);\n\n if (swiper.params.uniqueNavElements && typeof params.el === 'string' && $el.length > 1 && $swiperEl.find(params.el).length === 1) {\n $el = $swiperEl.find(params.el);\n }\n\n var $dragEl = $el.find(\".\" + swiper.params.scrollbar.dragClass);\n\n if ($dragEl.length === 0) {\n $dragEl = $(\"<div class=\\\"\" + swiper.params.scrollbar.dragClass + \"\\\"></div>\");\n $el.append($dragEl);\n }\n\n extend(scrollbar, {\n $el: $el,\n el: $el[0],\n $dragEl: $dragEl,\n dragEl: $dragEl[0]\n });\n\n if (params.draggable) {\n scrollbar.enableDraggable();\n }\n\n if ($el) {\n $el[swiper.enabled ? 'removeClass' : 'addClass'](swiper.params.scrollbar.lockClass);\n }\n },\n destroy: function destroy() {\n var swiper = this;\n swiper.scrollbar.disableDraggable();\n }\n};\nexport default {\n name: 'scrollbar',\n params: {\n scrollbar: {\n el: null,\n dragSize: 'auto',\n hide: false,\n draggable: false,\n snapOnRelease: true,\n lockClass: 'swiper-scrollbar-lock',\n dragClass: 'swiper-scrollbar-drag'\n }\n },\n create: function create() {\n var swiper = this;\n bindModuleMethods(swiper, {\n scrollbar: _extends({\n isTouched: false,\n timeout: null,\n dragTimeout: null\n }, Scrollbar)\n });\n },\n on: {\n init: function init(swiper) {\n swiper.scrollbar.init();\n swiper.scrollbar.updateSize();\n swiper.scrollbar.setTranslate();\n },\n update: function update(swiper) {\n swiper.scrollbar.updateSize();\n },\n resize: function resize(swiper) {\n swiper.scrollbar.updateSize();\n },\n observerUpdate: function observerUpdate(swiper) {\n swiper.scrollbar.updateSize();\n },\n setTranslate: function setTranslate(swiper) {\n swiper.scrollbar.setTranslate();\n },\n setTransition: function setTransition(swiper, duration) {\n swiper.scrollbar.setTransition(duration);\n },\n 'enable disable': function enableDisable(swiper) {\n var $el = swiper.scrollbar.$el;\n\n if ($el) {\n $el[swiper.enabled ? 'removeClass' : 'addClass'](swiper.params.scrollbar.lockClass);\n }\n },\n destroy: function destroy(swiper) {\n swiper.scrollbar.destroy();\n }\n }\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\nimport $ from '../../utils/dom';\nimport { bindModuleMethods, classesToSelector } from '../../utils/utils';\nvar A11y = {\n getRandomNumber: function getRandomNumber(size) {\n if (size === void 0) {\n size = 16;\n }\n\n var randomChar = function randomChar() {\n return Math.round(16 * Math.random()).toString(16);\n };\n\n return 'x'.repeat(size).replace(/x/g, randomChar);\n },\n makeElFocusable: function makeElFocusable($el) {\n $el.attr('tabIndex', '0');\n return $el;\n },\n makeElNotFocusable: function makeElNotFocusable($el) {\n $el.attr('tabIndex', '-1');\n return $el;\n },\n addElRole: function addElRole($el, role) {\n $el.attr('role', role);\n return $el;\n },\n addElRoleDescription: function addElRoleDescription($el, description) {\n $el.attr('aria-roledescription', description);\n return $el;\n },\n addElControls: function addElControls($el, controls) {\n $el.attr('aria-controls', controls);\n return $el;\n },\n addElLabel: function addElLabel($el, label) {\n $el.attr('aria-label', label);\n return $el;\n },\n addElId: function addElId($el, id) {\n $el.attr('id', id);\n return $el;\n },\n addElLive: function addElLive($el, live) {\n $el.attr('aria-live', live);\n return $el;\n },\n disableEl: function disableEl($el) {\n $el.attr('aria-disabled', true);\n return $el;\n },\n enableEl: function enableEl($el) {\n $el.attr('aria-disabled', false);\n return $el;\n },\n onEnterOrSpaceKey: function onEnterOrSpaceKey(e) {\n if (e.keyCode !== 13 && e.keyCode !== 32) return;\n var swiper = this;\n var params = swiper.params.a11y;\n var $targetEl = $(e.target);\n\n if (swiper.navigation && swiper.navigation.$nextEl && $targetEl.is(swiper.navigation.$nextEl)) {\n if (!(swiper.isEnd && !swiper.params.loop)) {\n swiper.slideNext();\n }\n\n if (swiper.isEnd) {\n swiper.a11y.notify(params.lastSlideMessage);\n } else {\n swiper.a11y.notify(params.nextSlideMessage);\n }\n }\n\n if (swiper.navigation && swiper.navigation.$prevEl && $targetEl.is(swiper.navigation.$prevEl)) {\n if (!(swiper.isBeginning && !swiper.params.loop)) {\n swiper.slidePrev();\n }\n\n if (swiper.isBeginning) {\n swiper.a11y.notify(params.firstSlideMessage);\n } else {\n swiper.a11y.notify(params.prevSlideMessage);\n }\n }\n\n if (swiper.pagination && $targetEl.is(classesToSelector(swiper.params.pagination.bulletClass))) {\n $targetEl[0].click();\n }\n },\n notify: function notify(message) {\n var swiper = this;\n var notification = swiper.a11y.liveRegion;\n if (notification.length === 0) return;\n notification.html('');\n notification.html(message);\n },\n updateNavigation: function updateNavigation() {\n var swiper = this;\n if (swiper.params.loop || !swiper.navigation) return;\n var _swiper$navigation = swiper.navigation,\n $nextEl = _swiper$navigation.$nextEl,\n $prevEl = _swiper$navigation.$prevEl;\n\n if ($prevEl && $prevEl.length > 0) {\n if (swiper.isBeginning) {\n swiper.a11y.disableEl($prevEl);\n swiper.a11y.makeElNotFocusable($prevEl);\n } else {\n swiper.a11y.enableEl($prevEl);\n swiper.a11y.makeElFocusable($prevEl);\n }\n }\n\n if ($nextEl && $nextEl.length > 0) {\n if (swiper.isEnd) {\n swiper.a11y.disableEl($nextEl);\n swiper.a11y.makeElNotFocusable($nextEl);\n } else {\n swiper.a11y.enableEl($nextEl);\n swiper.a11y.makeElFocusable($nextEl);\n }\n }\n },\n updatePagination: function updatePagination() {\n var swiper = this;\n var params = swiper.params.a11y;\n\n if (swiper.pagination && swiper.params.pagination.clickable && swiper.pagination.bullets && swiper.pagination.bullets.length) {\n swiper.pagination.bullets.each(function (bulletEl) {\n var $bulletEl = $(bulletEl);\n swiper.a11y.makeElFocusable($bulletEl);\n\n if (!swiper.params.pagination.renderBullet) {\n swiper.a11y.addElRole($bulletEl, 'button');\n swiper.a11y.addElLabel($bulletEl, params.paginationBulletMessage.replace(/\\{\\{index\\}\\}/, $bulletEl.index() + 1));\n }\n });\n }\n },\n init: function init() {\n var swiper = this;\n var params = swiper.params.a11y;\n swiper.$el.append(swiper.a11y.liveRegion); // Container\n\n var $containerEl = swiper.$el;\n\n if (params.containerRoleDescriptionMessage) {\n swiper.a11y.addElRoleDescription($containerEl, params.containerRoleDescriptionMessage);\n }\n\n if (params.containerMessage) {\n swiper.a11y.addElLabel($containerEl, params.containerMessage);\n } // Wrapper\n\n\n var $wrapperEl = swiper.$wrapperEl;\n var wrapperId = $wrapperEl.attr('id') || \"swiper-wrapper-\" + swiper.a11y.getRandomNumber(16);\n var live = swiper.params.autoplay && swiper.params.autoplay.enabled ? 'off' : 'polite';\n swiper.a11y.addElId($wrapperEl, wrapperId);\n swiper.a11y.addElLive($wrapperEl, live); // Slide\n\n if (params.itemRoleDescriptionMessage) {\n swiper.a11y.addElRoleDescription($(swiper.slides), params.itemRoleDescriptionMessage);\n }\n\n swiper.a11y.addElRole($(swiper.slides), params.slideRole);\n var slidesLength = swiper.params.loop ? swiper.slides.filter(function (el) {\n return !el.classList.contains(swiper.params.slideDuplicateClass);\n }).length : swiper.slides.length;\n swiper.slides.each(function (slideEl, index) {\n var $slideEl = $(slideEl);\n var slideIndex = swiper.params.loop ? parseInt($slideEl.attr('data-swiper-slide-index'), 10) : index;\n var ariaLabelMessage = params.slideLabelMessage.replace(/\\{\\{index\\}\\}/, slideIndex + 1).replace(/\\{\\{slidesLength\\}\\}/, slidesLength);\n swiper.a11y.addElLabel($slideEl, ariaLabelMessage);\n }); // Navigation\n\n var $nextEl;\n var $prevEl;\n\n if (swiper.navigation && swiper.navigation.$nextEl) {\n $nextEl = swiper.navigation.$nextEl;\n }\n\n if (swiper.navigation && swiper.navigation.$prevEl) {\n $prevEl = swiper.navigation.$prevEl;\n }\n\n if ($nextEl && $nextEl.length) {\n swiper.a11y.makeElFocusable($nextEl);\n\n if ($nextEl[0].tagName !== 'BUTTON') {\n swiper.a11y.addElRole($nextEl, 'button');\n $nextEl.on('keydown', swiper.a11y.onEnterOrSpaceKey);\n }\n\n swiper.a11y.addElLabel($nextEl, params.nextSlideMessage);\n swiper.a11y.addElControls($nextEl, wrapperId);\n }\n\n if ($prevEl && $prevEl.length) {\n swiper.a11y.makeElFocusable($prevEl);\n\n if ($prevEl[0].tagName !== 'BUTTON') {\n swiper.a11y.addElRole($prevEl, 'button');\n $prevEl.on('keydown', swiper.a11y.onEnterOrSpaceKey);\n }\n\n swiper.a11y.addElLabel($prevEl, params.prevSlideMessage);\n swiper.a11y.addElControls($prevEl, wrapperId);\n } // Pagination\n\n\n if (swiper.pagination && swiper.params.pagination.clickable && swiper.pagination.bullets && swiper.pagination.bullets.length) {\n swiper.pagination.$el.on('keydown', classesToSelector(swiper.params.pagination.bulletClass), swiper.a11y.onEnterOrSpaceKey);\n }\n },\n destroy: function destroy() {\n var swiper = this;\n if (swiper.a11y.liveRegion && swiper.a11y.liveRegion.length > 0) swiper.a11y.liveRegion.remove();\n var $nextEl;\n var $prevEl;\n\n if (swiper.navigation && swiper.navigation.$nextEl) {\n $nextEl = swiper.navigation.$nextEl;\n }\n\n if (swiper.navigation && swiper.navigation.$prevEl) {\n $prevEl = swiper.navigation.$prevEl;\n }\n\n if ($nextEl) {\n $nextEl.off('keydown', swiper.a11y.onEnterOrSpaceKey);\n }\n\n if ($prevEl) {\n $prevEl.off('keydown', swiper.a11y.onEnterOrSpaceKey);\n } // Pagination\n\n\n if (swiper.pagination && swiper.params.pagination.clickable && swiper.pagination.bullets && swiper.pagination.bullets.length) {\n swiper.pagination.$el.off('keydown', classesToSelector(swiper.params.pagination.bulletClass), swiper.a11y.onEnterOrSpaceKey);\n }\n }\n};\nexport default {\n name: 'a11y',\n params: {\n a11y: {\n enabled: true,\n notificationClass: 'swiper-notification',\n prevSlideMessage: 'Previous slide',\n nextSlideMessage: 'Next slide',\n firstSlideMessage: 'This is the first slide',\n lastSlideMessage: 'This is the last slide',\n paginationBulletMessage: 'Go to slide {{index}}',\n slideLabelMessage: '{{index}} / {{slidesLength}}',\n containerMessage: null,\n containerRoleDescriptionMessage: null,\n itemRoleDescriptionMessage: null,\n slideRole: 'group'\n }\n },\n create: function create() {\n var swiper = this;\n bindModuleMethods(swiper, {\n a11y: _extends({}, A11y, {\n liveRegion: $(\"<span class=\\\"\" + swiper.params.a11y.notificationClass + \"\\\" aria-live=\\\"assertive\\\" aria-atomic=\\\"true\\\"></span>\")\n })\n });\n },\n on: {\n afterInit: function afterInit(swiper) {\n if (!swiper.params.a11y.enabled) return;\n swiper.a11y.init();\n swiper.a11y.updateNavigation();\n },\n toEdge: function toEdge(swiper) {\n if (!swiper.params.a11y.enabled) return;\n swiper.a11y.updateNavigation();\n },\n fromEdge: function fromEdge(swiper) {\n if (!swiper.params.a11y.enabled) return;\n swiper.a11y.updateNavigation();\n },\n paginationUpdate: function paginationUpdate(swiper) {\n if (!swiper.params.a11y.enabled) return;\n swiper.a11y.updatePagination();\n },\n destroy: function destroy(swiper) {\n if (!swiper.params.a11y.enabled) return;\n swiper.a11y.destroy();\n }\n }\n};","var _excluded = [\"tag\", \"children\", \"className\", \"swiper\", \"zoom\", \"virtualIndex\"];\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 _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\nimport React, { useRef, useState, forwardRef } from 'react';\nimport { uniqueClasses } from './utils';\nimport { useIsomorphicLayoutEffect } from './use-isomorphic-layout-effect';\nvar SwiperSlide = /*#__PURE__*/forwardRef(function (_temp, externalRef) {\n var _ref = _temp === void 0 ? {} : _temp,\n _ref$tag = _ref.tag,\n Tag = _ref$tag === void 0 ? 'div' : _ref$tag,\n children = _ref.children,\n _ref$className = _ref.className,\n className = _ref$className === void 0 ? '' : _ref$className,\n swiper = _ref.swiper,\n zoom = _ref.zoom,\n virtualIndex = _ref.virtualIndex,\n rest = _objectWithoutPropertiesLoose(_ref, _excluded);\n\n var slideElRef = useRef(null);\n\n var _useState = useState('swiper-slide'),\n slideClasses = _useState[0],\n setSlideClasses = _useState[1];\n\n function updateClasses(swiper, el, classNames) {\n if (el === slideElRef.current) {\n setSlideClasses(classNames);\n }\n }\n\n useIsomorphicLayoutEffect(function () {\n if (externalRef) {\n externalRef.current = slideElRef.current;\n }\n\n if (!slideElRef.current || !swiper) {\n return;\n }\n\n if (swiper.destroyed) {\n if (slideClasses !== 'swiper-slide') {\n setSlideClasses('swiper-slide');\n }\n\n return;\n }\n\n swiper.on('_slideClass', updateClasses); // eslint-disable-next-line\n\n return function () {\n if (!swiper) return;\n swiper.off('_slideClass', updateClasses);\n };\n });\n useIsomorphicLayoutEffect(function () {\n if (swiper && slideElRef.current) {\n setSlideClasses(swiper.getSlideClasses(slideElRef.current));\n }\n }, [swiper]);\n var slideData;\n\n if (typeof children === 'function') {\n slideData = {\n isActive: slideClasses.indexOf('swiper-slide-active') >= 0 || slideClasses.indexOf('swiper-slide-duplicate-active') >= 0,\n isVisible: slideClasses.indexOf('swiper-slide-visible') >= 0,\n isDuplicate: slideClasses.indexOf('swiper-slide-duplicate') >= 0,\n isPrev: slideClasses.indexOf('swiper-slide-prev') >= 0 || slideClasses.indexOf('swiper-slide-duplicate-prev') >= 0,\n isNext: slideClasses.indexOf('swiper-slide-next') >= 0 || slideClasses.indexOf('swiper-slide-duplicate-next') >= 0\n };\n }\n\n var renderChildren = function renderChildren() {\n return typeof children === 'function' ? children(slideData) : children;\n };\n\n return /*#__PURE__*/React.createElement(Tag, _extends({\n ref: slideElRef,\n className: uniqueClasses(\"\" + slideClasses + (className ? \" \" + className : '')),\n \"data-swiper-slide-index\": virtualIndex\n }, rest), zoom ? /*#__PURE__*/React.createElement(\"div\", {\n className: \"swiper-zoom-container\",\n \"data-swiper-zoom\": typeof zoom === 'number' ? zoom : undefined\n }, renderChildren()) : renderChildren());\n});\nSwiperSlide.displayName = 'SwiperSlide';\nexport { SwiperSlide };","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport cx from 'clsx';\nimport PropTypes from 'prop-types';\nimport React from 'react';\nimport { childrenUtils, customPropTypes, getElementType, getUnhandledProps, SUI, useKeyOnly, useTextAlignProp } from '../../lib';\n/**\n * A container limits content to a maximum width.\n */\n\nfunction Container(props) {\n var children = props.children,\n className = props.className,\n content = props.content,\n fluid = props.fluid,\n text = props.text,\n textAlign = props.textAlign;\n var classes = cx('ui', useKeyOnly(text, 'text'), useKeyOnly(fluid, 'fluid'), useTextAlignProp(textAlign), 'container', className);\n var rest = getUnhandledProps(Container, props);\n var ElementType = getElementType(Container, props);\n return /*#__PURE__*/React.createElement(ElementType, _extends({}, rest, {\n className: classes\n }), childrenUtils.isNil(children) ? content : children);\n}\n\nContainer.handledProps = [\"as\", \"children\", \"className\", \"content\", \"fluid\", \"text\", \"textAlign\"];\nContainer.propTypes = process.env.NODE_ENV !== \"production\" ? {\n /** An element type to render as (string or function). */\n as: PropTypes.elementType,\n\n /** Primary content. */\n children: PropTypes.node,\n\n /** Additional classes. */\n className: PropTypes.string,\n\n /** Shorthand for primary content. */\n content: customPropTypes.contentShorthand,\n\n /** Container has no maximum width. */\n fluid: PropTypes.bool,\n\n /** Reduce maximum width to more naturally accommodate text. */\n text: PropTypes.bool,\n\n /** Align container text. */\n textAlign: PropTypes.oneOf(SUI.TEXT_ALIGNMENTS)\n} : {};\nexport default Container;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _inheritsLoose from \"@babel/runtime/helpers/esm/inheritsLoose\";\nimport _includes from \"lodash-es/includes\";\nimport _map from \"lodash-es/map\";\nimport _invoke from \"lodash-es/invoke\";\nimport _get from \"lodash-es/get\";\nimport _isNil from \"lodash-es/isNil\";\nimport { handleRef } from '@fluentui/react-component-ref';\nimport cx from 'clsx';\nimport PropTypes from 'prop-types';\nimport React, { Children, cloneElement, Component, createRef } from 'react';\nimport { childrenUtils, createHTMLInput, createShorthandFactory, customPropTypes, getElementType, getUnhandledProps, partitionHTMLProps, useKeyOnly, useValueAndKey } from '../../lib';\nimport Button from '../Button';\nimport Icon from '../Icon';\nimport Label from '../Label';\n/**\n * An Input is a field used to elicit a response from a user.\n * @see Button\n * @see Form\n * @see Icon\n * @see Label\n */\n\nvar Input = /*#__PURE__*/function (_Component) {\n _inheritsLoose(Input, _Component);\n\n function Input() {\n var _this;\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 = _Component.call.apply(_Component, [this].concat(args)) || this;\n _this.inputRef = /*#__PURE__*/createRef();\n\n _this.computeIcon = function () {\n var _this$props = _this.props,\n loading = _this$props.loading,\n icon = _this$props.icon;\n if (!_isNil(icon)) return icon;\n if (loading) return 'spinner';\n };\n\n _this.computeTabIndex = function () {\n var _this$props2 = _this.props,\n disabled = _this$props2.disabled,\n tabIndex = _this$props2.tabIndex;\n if (!_isNil(tabIndex)) return tabIndex;\n if (disabled) return -1;\n };\n\n _this.focus = function () {\n return _this.inputRef.current.focus();\n };\n\n _this.select = function () {\n return _this.inputRef.current.select();\n };\n\n _this.handleChange = function (e) {\n var value = _get(e, 'target.value');\n\n _invoke(_this.props, 'onChange', e, _extends({}, _this.props, {\n value: value\n }));\n };\n\n _this.handleChildOverrides = function (child, defaultProps) {\n return _extends({}, defaultProps, child.props, {\n ref: function ref(c) {\n handleRef(child.ref, c);\n _this.inputRef.current = c;\n }\n });\n };\n\n _this.partitionProps = function () {\n var _this$props3 = _this.props,\n disabled = _this$props3.disabled,\n type = _this$props3.type;\n\n var tabIndex = _this.computeTabIndex();\n\n var unhandled = getUnhandledProps(Input, _this.props);\n\n var _partitionHTMLProps = partitionHTMLProps(unhandled),\n htmlInputProps = _partitionHTMLProps[0],\n rest = _partitionHTMLProps[1];\n\n return [_extends({}, htmlInputProps, {\n disabled: disabled,\n type: type,\n tabIndex: tabIndex,\n onChange: _this.handleChange,\n ref: _this.inputRef\n }), rest];\n };\n\n return _this;\n }\n\n var _proto = Input.prototype;\n\n _proto.render = function render() {\n var _this2 = this;\n\n var _this$props4 = this.props,\n action = _this$props4.action,\n actionPosition = _this$props4.actionPosition,\n children = _this$props4.children,\n className = _this$props4.className,\n disabled = _this$props4.disabled,\n error = _this$props4.error,\n fluid = _this$props4.fluid,\n focus = _this$props4.focus,\n icon = _this$props4.icon,\n iconPosition = _this$props4.iconPosition,\n input = _this$props4.input,\n inverted = _this$props4.inverted,\n label = _this$props4.label,\n labelPosition = _this$props4.labelPosition,\n loading = _this$props4.loading,\n size = _this$props4.size,\n transparent = _this$props4.transparent,\n type = _this$props4.type;\n var classes = cx('ui', size, useKeyOnly(disabled, 'disabled'), useKeyOnly(error, 'error'), useKeyOnly(fluid, 'fluid'), useKeyOnly(focus, 'focus'), useKeyOnly(inverted, 'inverted'), useKeyOnly(loading, 'loading'), useKeyOnly(transparent, 'transparent'), useValueAndKey(actionPosition, 'action') || useKeyOnly(action, 'action'), useValueAndKey(iconPosition, 'icon') || useKeyOnly(icon || loading, 'icon'), useValueAndKey(labelPosition, 'labeled') || useKeyOnly(label, 'labeled'), 'input', className);\n var ElementType = getElementType(Input, this.props);\n\n var _this$partitionProps = this.partitionProps(),\n htmlInputProps = _this$partitionProps[0],\n rest = _this$partitionProps[1]; // Render with children\n // ----------------------------------------\n\n\n if (!childrenUtils.isNil(children)) {\n // add htmlInputProps to the `<input />` child\n var childElements = _map(Children.toArray(children), function (child) {\n if (child.type !== 'input') return child;\n return /*#__PURE__*/cloneElement(child, _this2.handleChildOverrides(child, htmlInputProps));\n });\n\n return /*#__PURE__*/React.createElement(ElementType, _extends({}, rest, {\n className: classes\n }), childElements);\n } // Render Shorthand\n // ----------------------------------------\n\n\n var actionElement = Button.create(action, {\n autoGenerateKey: false\n });\n var labelElement = Label.create(label, {\n defaultProps: {\n className: cx('label', // add 'left|right corner'\n _includes(labelPosition, 'corner') && labelPosition)\n },\n autoGenerateKey: false\n });\n return /*#__PURE__*/React.createElement(ElementType, _extends({}, rest, {\n className: classes\n }), actionPosition === 'left' && actionElement, labelPosition !== 'right' && labelElement, createHTMLInput(input || type, {\n defaultProps: htmlInputProps,\n autoGenerateKey: false\n }), Icon.create(this.computeIcon(), {\n autoGenerateKey: false\n }), actionPosition !== 'left' && actionElement, labelPosition === 'right' && labelElement);\n };\n\n return Input;\n}(Component);\n\nInput.handledProps = [\"action\", \"actionPosition\", \"as\", \"children\", \"className\", \"disabled\", \"error\", \"fluid\", \"focus\", \"icon\", \"iconPosition\", \"input\", \"inverted\", \"label\", \"labelPosition\", \"loading\", \"onChange\", \"size\", \"tabIndex\", \"transparent\", \"type\"];\nInput.propTypes = process.env.NODE_ENV !== \"production\" ? {\n /** An element type to render as (string or function). */\n as: PropTypes.elementType,\n\n /** An Input can be formatted to alert the user to an action they may perform. */\n action: PropTypes.oneOfType([PropTypes.bool, customPropTypes.itemShorthand]),\n\n /** An action can appear along side an Input on the left or right. */\n actionPosition: PropTypes.oneOf(['left']),\n\n /** Primary content. */\n children: PropTypes.node,\n\n /** Additional classes. */\n className: PropTypes.string,\n\n /** An Input field can show that it is disabled. */\n disabled: PropTypes.bool,\n\n /** An Input field can show the data contains errors. */\n error: PropTypes.bool,\n\n /** Take on the size of its container. */\n fluid: PropTypes.bool,\n\n /** An Input field can show a user is currently interacting with it. */\n focus: PropTypes.bool,\n\n /** Optional Icon to display inside the Input. */\n icon: PropTypes.oneOfType([PropTypes.bool, customPropTypes.itemShorthand]),\n\n /** An Icon can appear inside an Input on the left or right. */\n iconPosition: PropTypes.oneOf(['left']),\n\n /** Shorthand for creating the HTML Input. */\n input: customPropTypes.itemShorthand,\n\n /** Format to appear on dark backgrounds. */\n inverted: PropTypes.bool,\n\n /** Optional Label to display along side the Input. */\n label: customPropTypes.itemShorthand,\n\n /** A Label can appear outside an Input on the left or right. */\n labelPosition: PropTypes.oneOf(['left', 'right', 'left corner', 'right corner']),\n\n /** An Icon Input field can show that it is currently loading data. */\n loading: PropTypes.bool,\n\n /**\n * Called on change.\n *\n * @param {ChangeEvent} event - React's original SyntheticEvent.\n * @param {object} data - All props and a proposed value.\n */\n onChange: PropTypes.func,\n\n /** An Input can vary in size. */\n size: PropTypes.oneOf(['mini', 'small', 'large', 'big', 'huge', 'massive']),\n\n /** An Input can receive focus. */\n tabIndex: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),\n\n /** Transparent Input has no background. */\n transparent: PropTypes.bool,\n\n /** The HTML input type. */\n type: PropTypes.string\n} : {};\nInput.defaultProps = {\n type: 'text'\n};\nInput.create = createShorthandFactory(Input, function (type) {\n return {\n type: type\n };\n});\nexport default Input;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _inheritsLoose from \"@babel/runtime/helpers/esm/inheritsLoose\";\nimport _invoke from \"lodash-es/invoke\";\nimport { isRefObject } from '@fluentui/react-component-ref';\nimport cx from 'clsx';\nimport PropTypes from 'prop-types';\nimport React, { Component, createRef } from 'react';\nimport { customPropTypes, eventStack, getElementType, getUnhandledProps, isBrowser } from '../../lib';\n/**\n * Sticky content stays fixed to the browser viewport while another column of content is visible on the page.\n */\n\nvar Sticky = /*#__PURE__*/function (_Component) {\n _inheritsLoose(Sticky, _Component);\n\n function Sticky() {\n var _this;\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 = _Component.call.apply(_Component, [this].concat(args)) || this;\n _this.state = {\n active: true,\n sticky: false\n };\n _this.stickyRef = /*#__PURE__*/createRef();\n _this.triggerRef = /*#__PURE__*/createRef();\n\n _this.addListeners = function (scrollContext) {\n var scrollContextNode = isRefObject(scrollContext) ? scrollContext.current : scrollContext;\n\n if (scrollContextNode) {\n eventStack.sub('resize', _this.handleUpdate, {\n target: scrollContextNode\n });\n eventStack.sub('scroll', _this.handleUpdate, {\n target: scrollContextNode\n });\n }\n };\n\n _this.removeListeners = function (scrollContext) {\n var scrollContextNode = isRefObject(scrollContext) ? scrollContext.current : scrollContext;\n\n if (scrollContextNode) {\n eventStack.unsub('resize', _this.handleUpdate, {\n target: scrollContextNode\n });\n eventStack.unsub('scroll', _this.handleUpdate, {\n target: scrollContextNode\n });\n }\n };\n\n _this.update = function (e) {\n var pushing = _this.state.pushing;\n _this.ticking = false;\n\n _this.assignRects();\n\n if (pushing) {\n if (_this.didReachStartingPoint()) return _this.stickToContextTop(e);\n if (_this.didTouchScreenBottom()) return _this.stickToScreenBottom(e);\n return _this.stickToContextBottom(e);\n }\n\n if (_this.isOversized()) {\n if (_this.contextRect.top > 0) return _this.stickToContextTop(e);\n if (_this.contextRect.bottom < window.innerHeight) return _this.stickToContextBottom(e);\n }\n\n if (_this.didTouchScreenTop()) {\n if (_this.didReachContextBottom()) return _this.stickToContextBottom(e);\n return _this.stickToScreenTop(e);\n }\n\n return _this.stickToContextTop(e);\n };\n\n _this.handleUpdate = function (e) {\n if (!_this.ticking) {\n _this.ticking = true;\n _this.frameId = requestAnimationFrame(function () {\n return _this.update(e);\n });\n }\n };\n\n _this.assignRects = function () {\n var context = _this.props.context;\n var contextNode = isRefObject(context) ? context.current : context || document.body;\n _this.triggerRect = _this.triggerRef.current.getBoundingClientRect();\n _this.contextRect = contextNode.getBoundingClientRect();\n _this.stickyRect = _this.stickyRef.current.getBoundingClientRect();\n };\n\n _this.didReachContextBottom = function () {\n var offset = _this.props.offset;\n return _this.stickyRect.height + offset >= _this.contextRect.bottom;\n };\n\n _this.didReachStartingPoint = function () {\n return _this.stickyRect.top <= _this.triggerRect.top;\n };\n\n _this.didTouchScreenTop = function () {\n return _this.triggerRect.top < _this.props.offset;\n };\n\n _this.didTouchScreenBottom = function () {\n var bottomOffset = _this.props.bottomOffset;\n return _this.contextRect.bottom + bottomOffset > window.innerHeight;\n };\n\n _this.isOversized = function () {\n return _this.stickyRect.height > window.innerHeight;\n };\n\n _this.pushing = function (pushing) {\n var possible = _this.props.pushing;\n if (possible) _this.setState({\n pushing: pushing\n });\n };\n\n _this.stick = function (e, bound) {\n _this.setState({\n bound: bound,\n sticky: true\n });\n\n _invoke(_this.props, 'onStick', e, _this.props);\n };\n\n _this.unstick = function (e, bound) {\n _this.setState({\n bound: bound,\n sticky: false\n });\n\n _invoke(_this.props, 'onUnstick', e, _this.props);\n };\n\n _this.stickToContextBottom = function (e) {\n _invoke(_this.props, 'onBottom', e, _this.props);\n\n _this.stick(e, true);\n\n _this.pushing(true);\n };\n\n _this.stickToContextTop = function (e) {\n _invoke(_this.props, 'onTop', e, _this.props);\n\n _this.unstick(e, false);\n\n _this.pushing(false);\n };\n\n _this.stickToScreenBottom = function (e) {\n var bottom = _this.props.bottomOffset;\n\n _this.stick(e, false);\n\n _this.setState({\n bottom: bottom,\n top: null\n });\n };\n\n _this.stickToScreenTop = function (e) {\n var top = _this.props.offset;\n\n _this.stick(e, false);\n\n _this.setState({\n top: top,\n bottom: null\n });\n };\n\n return _this;\n }\n\n var _proto = Sticky.prototype;\n\n _proto.componentDidMount = function componentDidMount() {\n if (!isBrowser()) return;\n var active = this.state.active;\n\n if (active) {\n this.handleUpdate();\n this.addListeners(this.props.scrollContext);\n }\n };\n\n Sticky.getDerivedStateFromProps = function getDerivedStateFromProps(props, state) {\n if (state.active !== props.active && !props.active) {\n return {\n active: props.active,\n sticky: false\n };\n }\n\n return {\n active: props.active\n };\n };\n\n _proto.componentDidUpdate = function componentDidUpdate(prevProps, prevState) {\n if (prevState.active === this.state.active) {\n if (prevProps.scrollContext !== this.props.scrollContext) {\n this.removeListeners(prevProps.scrollContext);\n this.addListeners(this.props.scrollContext);\n }\n\n return;\n }\n\n if (this.state.active) {\n this.handleUpdate();\n this.addListeners(this.props.scrollContext);\n return;\n }\n\n this.removeListeners(prevProps.scrollContext);\n };\n\n _proto.componentWillUnmount = function componentWillUnmount() {\n if (!isBrowser()) return;\n var active = this.state.active;\n\n if (active) {\n this.removeListeners(this.props.scrollContext);\n cancelAnimationFrame(this.frameId);\n }\n } // ----------------------------------------\n // Events\n // ----------------------------------------\n ;\n\n _proto.computeStyle = function computeStyle() {\n var styleElement = this.props.styleElement;\n var _this$state = this.state,\n bottom = _this$state.bottom,\n bound = _this$state.bound,\n sticky = _this$state.sticky,\n top = _this$state.top;\n if (!sticky) return styleElement;\n return _extends({\n bottom: bound ? 0 : bottom,\n top: bound ? undefined : top,\n width: this.triggerRect.width\n }, styleElement);\n } // Return true when the component reached the bottom of the context\n ;\n\n // ----------------------------------------\n // Render\n // ----------------------------------------\n _proto.render = function render() {\n var _this$props = this.props,\n children = _this$props.children,\n className = _this$props.className;\n var _this$state2 = this.state,\n bottom = _this$state2.bottom,\n bound = _this$state2.bound,\n sticky = _this$state2.sticky;\n var rest = getUnhandledProps(Sticky, this.props);\n var ElementType = getElementType(Sticky, this.props);\n var containerClasses = cx(sticky && 'ui', sticky && 'stuck-container', sticky && (bound ? 'bound-container' : 'fixed-container'), className);\n var elementClasses = cx('ui', sticky && (bound ? 'bound bottom' : 'fixed'), sticky && !bound && (bottom === null ? 'top' : 'bottom'), 'sticky');\n var triggerStyles = sticky && this.stickyRect ? {\n height: this.stickyRect.height\n } : {};\n return /*#__PURE__*/React.createElement(ElementType, _extends({}, rest, {\n className: containerClasses\n }), /*#__PURE__*/React.createElement(\"div\", {\n ref: this.triggerRef,\n style: triggerStyles\n }), /*#__PURE__*/React.createElement(\"div\", {\n className: elementClasses,\n ref: this.stickyRef,\n style: this.computeStyle()\n }, children));\n };\n\n return Sticky;\n}(Component);\n\nSticky.handledProps = [\"active\", \"as\", \"bottomOffset\", \"children\", \"className\", \"context\", \"offset\", \"onBottom\", \"onStick\", \"onTop\", \"onUnstick\", \"pushing\", \"scrollContext\", \"styleElement\"];\nexport { Sticky as default };\nSticky.propTypes = process.env.NODE_ENV !== \"production\" ? {\n /** An element type to render as (string or function). */\n as: PropTypes.elementType,\n\n /** A Sticky can be active. */\n active: PropTypes.bool,\n\n /** Offset in pixels from the bottom of the screen when fixing element to viewport. */\n bottomOffset: PropTypes.number,\n\n /** Primary content. */\n children: PropTypes.node,\n\n /** Additional classes. */\n className: PropTypes.string,\n\n /** Context which sticky element should stick to. */\n context: PropTypes.oneOfType([customPropTypes.domNode, customPropTypes.refObject]),\n\n /** Offset in pixels from the top of the screen when fixing element to viewport. */\n offset: PropTypes.number,\n\n /**\n * Callback when element is bound to bottom of parent container.\n *\n * @param {SyntheticEvent} event - React's original SyntheticEvent.\n * @param {object} data - All props.\n */\n onBottom: PropTypes.func,\n\n /**\n * Callback when element is fixed to page.\n *\n * @param {SyntheticEvent} event - React's original SyntheticEvent.\n * @param {object} data - All props.\n */\n onStick: PropTypes.func,\n\n /**\n * Callback when element is bound to top of parent container.\n *\n * @param {SyntheticEvent} event - React's original SyntheticEvent.\n * @param {object} data - All props.\n */\n onTop: PropTypes.func,\n\n /**\n * Callback when element is unfixed from page.\n *\n * @param {SyntheticEvent} event - React's original SyntheticEvent.\n * @param {object} data - All props.\n */\n onUnstick: PropTypes.func,\n\n /** Whether element should be \"pushed\" by the viewport, attaching to the bottom of the screen when scrolling up. */\n pushing: PropTypes.bool,\n\n /** Context which sticky should attach onscroll events. */\n scrollContext: PropTypes.oneOfType([customPropTypes.domNode, customPropTypes.refObject]),\n\n /** Custom style for sticky element. */\n styleElement: PropTypes.object\n} : {};\nSticky.defaultProps = {\n active: true,\n bottomOffset: 0,\n offset: 0,\n scrollContext: isBrowser() ? window : null\n};","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport cx from 'clsx';\nimport PropTypes from 'prop-types';\nimport React from 'react';\nimport { childrenUtils, customPropTypes, getElementType, getUnhandledProps, SUI, useKeyOnly, useKeyOrValueAndKey } from '../../lib';\n/**\n * A loader alerts a user to wait for an activity to complete.\n * @see Dimmer\n */\n\nfunction Loader(props) {\n var active = props.active,\n children = props.children,\n className = props.className,\n content = props.content,\n disabled = props.disabled,\n indeterminate = props.indeterminate,\n inline = props.inline,\n inverted = props.inverted,\n size = props.size;\n var classes = cx('ui', size, useKeyOnly(active, 'active'), useKeyOnly(disabled, 'disabled'), useKeyOnly(indeterminate, 'indeterminate'), useKeyOnly(inverted, 'inverted'), useKeyOnly(children || content, 'text'), useKeyOrValueAndKey(inline, 'inline'), 'loader', className);\n var rest = getUnhandledProps(Loader, props);\n var ElementType = getElementType(Loader, props);\n return /*#__PURE__*/React.createElement(ElementType, _extends({}, rest, {\n className: classes\n }), childrenUtils.isNil(children) ? content : children);\n}\n\nLoader.handledProps = [\"active\", \"as\", \"children\", \"className\", \"content\", \"disabled\", \"indeterminate\", \"inline\", \"inverted\", \"size\"];\nLoader.propTypes = process.env.NODE_ENV !== \"production\" ? {\n /** An element type to render as (string or function). */\n as: PropTypes.elementType,\n\n /** A loader can be active or visible. */\n active: PropTypes.bool,\n\n /** Primary content. */\n children: PropTypes.node,\n\n /** Additional classes. */\n className: PropTypes.string,\n\n /** Shorthand for primary content. */\n content: customPropTypes.contentShorthand,\n\n /** A loader can be disabled or hidden. */\n disabled: PropTypes.bool,\n\n /** A loader can show it's unsure of how long a task will take. */\n indeterminate: PropTypes.bool,\n\n /** Loaders can appear inline with content. */\n inline: PropTypes.oneOfType([PropTypes.bool, PropTypes.oneOf(['centered'])]),\n\n /** Loaders can have their colors inverted. */\n inverted: PropTypes.bool,\n\n /** Loaders can have different sizes. */\n size: PropTypes.oneOf(SUI.SIZES)\n} : {};\nexport default Loader;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport cx from 'clsx';\nimport PropTypes from 'prop-types';\nimport React from 'react';\nimport { childrenUtils, customPropTypes, getElementType, getUnhandledProps, useKeyOnly } from '../../lib';\n/**\n * A divider visually segments content into groups.\n */\n\nfunction Divider(props) {\n var children = props.children,\n className = props.className,\n clearing = props.clearing,\n content = props.content,\n fitted = props.fitted,\n hidden = props.hidden,\n horizontal = props.horizontal,\n inverted = props.inverted,\n section = props.section,\n vertical = props.vertical;\n var classes = cx('ui', useKeyOnly(clearing, 'clearing'), useKeyOnly(fitted, 'fitted'), useKeyOnly(hidden, 'hidden'), useKeyOnly(horizontal, 'horizontal'), useKeyOnly(inverted, 'inverted'), useKeyOnly(section, 'section'), useKeyOnly(vertical, 'vertical'), 'divider', className);\n var rest = getUnhandledProps(Divider, props);\n var ElementType = getElementType(Divider, props);\n return /*#__PURE__*/React.createElement(ElementType, _extends({}, rest, {\n className: classes\n }), childrenUtils.isNil(children) ? content : children);\n}\n\nDivider.handledProps = [\"as\", \"children\", \"className\", \"clearing\", \"content\", \"fitted\", \"hidden\", \"horizontal\", \"inverted\", \"section\", \"vertical\"];\nDivider.propTypes = process.env.NODE_ENV !== \"production\" ? {\n /** An element type to render as (string or function). */\n as: PropTypes.elementType,\n\n /** Primary content. */\n children: PropTypes.node,\n\n /** Additional classes. */\n className: PropTypes.string,\n\n /** Divider can clear the content above it. */\n clearing: PropTypes.bool,\n\n /** Shorthand for primary content. */\n content: customPropTypes.contentShorthand,\n\n /** Divider can be fitted without any space above or below it. */\n fitted: PropTypes.bool,\n\n /** Divider can divide content without creating a dividing line. */\n hidden: PropTypes.bool,\n\n /** Divider can segment content horizontally. */\n horizontal: PropTypes.bool,\n\n /** Divider can have its colours inverted. */\n inverted: PropTypes.bool,\n\n /** Divider can provide greater margins to divide sections of content. */\n section: PropTypes.bool,\n\n /** Divider can segment content vertically. */\n vertical: PropTypes.bool\n} : {};\nexport default Divider;","import { getWindow, getDocument } from 'ssr-window';\nvar support;\n\nfunction calcSupport() {\n var window = getWindow();\n var document = getDocument();\n return {\n touch: !!('ontouchstart' in window || window.DocumentTouch && document instanceof window.DocumentTouch),\n pointerEvents: !!window.PointerEvent && 'maxTouchPoints' in window.navigator && window.navigator.maxTouchPoints >= 0,\n observer: function checkObserver() {\n return 'MutationObserver' in window || 'WebkitMutationObserver' in window;\n }(),\n passiveListener: function checkPassiveListener() {\n var supportsPassive = false;\n\n try {\n var opts = Object.defineProperty({}, 'passive', {\n // eslint-disable-next-line\n get: function get() {\n supportsPassive = true;\n }\n });\n window.addEventListener('testPassiveListener', null, opts);\n } catch (e) {// No support\n }\n\n return supportsPassive;\n }(),\n gestures: function checkGestures() {\n return 'ongesturestart' in window;\n }()\n };\n}\n\nfunction getSupport() {\n if (!support) {\n support = calcSupport();\n }\n\n return support;\n}\n\nexport { getSupport };","import { getWindow } from 'ssr-window';\nimport { getSupport } from './get-support';\nvar device;\n\nfunction calcDevice(_temp) {\n var _ref = _temp === void 0 ? {} : _temp,\n userAgent = _ref.userAgent;\n\n var support = getSupport();\n var window = getWindow();\n var platform = window.navigator.platform;\n var ua = userAgent || window.navigator.userAgent;\n var device = {\n ios: false,\n android: false\n };\n var screenWidth = window.screen.width;\n var screenHeight = window.screen.height;\n var android = ua.match(/(Android);?[\\s\\/]+([\\d.]+)?/); // eslint-disable-line\n\n var ipad = ua.match(/(iPad).*OS\\s([\\d_]+)/);\n var ipod = ua.match(/(iPod)(.*OS\\s([\\d_]+))?/);\n var iphone = !ipad && ua.match(/(iPhone\\sOS|iOS)\\s([\\d_]+)/);\n var windows = platform === 'Win32';\n var macos = platform === 'MacIntel'; // iPadOs 13 fix\n\n var iPadScreens = ['1024x1366', '1366x1024', '834x1194', '1194x834', '834x1112', '1112x834', '768x1024', '1024x768', '820x1180', '1180x820', '810x1080', '1080x810'];\n\n if (!ipad && macos && support.touch && iPadScreens.indexOf(screenWidth + \"x\" + screenHeight) >= 0) {\n ipad = ua.match(/(Version)\\/([\\d.]+)/);\n if (!ipad) ipad = [0, 1, '13_0_0'];\n macos = false;\n } // Android\n\n\n if (android && !windows) {\n device.os = 'android';\n device.android = true;\n }\n\n if (ipad || iphone || ipod) {\n device.os = 'ios';\n device.ios = true;\n } // Export object\n\n\n return device;\n}\n\nfunction getDevice(overrides) {\n if (overrides === void 0) {\n overrides = {};\n }\n\n if (!device) {\n device = calcDevice(overrides);\n }\n\n return device;\n}\n\nexport { getDevice };","import { getWindow } from 'ssr-window';\nvar browser;\n\nfunction calcBrowser() {\n var window = getWindow();\n\n function isSafari() {\n var ua = window.navigator.userAgent.toLowerCase();\n return ua.indexOf('safari') >= 0 && ua.indexOf('chrome') < 0 && ua.indexOf('android') < 0;\n }\n\n return {\n isEdge: !!window.navigator.userAgent.match(/Edge/g),\n isSafari: isSafari(),\n isWebView: /(iPhone|iPod|iPad).*AppleWebKit(?!.*Safari)/i.test(window.navigator.userAgent)\n };\n}\n\nfunction getBrowser() {\n if (!browser) {\n browser = calcBrowser();\n }\n\n return browser;\n}\n\nexport { getBrowser };","import { getWindow } from 'ssr-window';\nimport { extend } from '../../utils/utils';\n\nvar supportsResizeObserver = function supportsResizeObserver() {\n var window = getWindow();\n return typeof window.ResizeObserver !== 'undefined';\n};\n\nexport default {\n name: 'resize',\n create: function create() {\n var swiper = this;\n extend(swiper, {\n resize: {\n observer: null,\n createObserver: function createObserver() {\n if (!swiper || swiper.destroyed || !swiper.initialized) return;\n swiper.resize.observer = new ResizeObserver(function (entries) {\n var width = swiper.width,\n height = swiper.height;\n var newWidth = width;\n var newHeight = height;\n entries.forEach(function (_ref) {\n var contentBoxSize = _ref.contentBoxSize,\n contentRect = _ref.contentRect,\n target = _ref.target;\n if (target && target !== swiper.el) return;\n newWidth = contentRect ? contentRect.width : (contentBoxSize[0] || contentBoxSize).inlineSize;\n newHeight = contentRect ? contentRect.height : (contentBoxSize[0] || contentBoxSize).blockSize;\n });\n\n if (newWidth !== width || newHeight !== height) {\n swiper.resize.resizeHandler();\n }\n });\n swiper.resize.observer.observe(swiper.el);\n },\n removeObserver: function removeObserver() {\n if (swiper.resize.observer && swiper.resize.observer.unobserve && swiper.el) {\n swiper.resize.observer.unobserve(swiper.el);\n swiper.resize.observer = null;\n }\n },\n resizeHandler: function resizeHandler() {\n if (!swiper || swiper.destroyed || !swiper.initialized) return;\n swiper.emit('beforeResize');\n swiper.emit('resize');\n },\n orientationChangeHandler: function orientationChangeHandler() {\n if (!swiper || swiper.destroyed || !swiper.initialized) return;\n swiper.emit('orientationchange');\n }\n }\n });\n },\n on: {\n init: function init(swiper) {\n var window = getWindow();\n\n if (swiper.params.resizeObserver && supportsResizeObserver()) {\n swiper.resize.createObserver();\n return;\n } // Emit resize\n\n\n window.addEventListener('resize', swiper.resize.resizeHandler); // Emit orientationchange\n\n window.addEventListener('orientationchange', swiper.resize.orientationChangeHandler);\n },\n destroy: function destroy(swiper) {\n var window = getWindow();\n swiper.resize.removeObserver();\n window.removeEventListener('resize', swiper.resize.resizeHandler);\n window.removeEventListener('orientationchange', swiper.resize.orientationChangeHandler);\n }\n }\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\nimport { getWindow } from 'ssr-window';\nimport { bindModuleMethods } from '../../utils/utils';\nvar Observer = {\n attach: function attach(target, options) {\n if (options === void 0) {\n options = {};\n }\n\n var window = getWindow();\n var swiper = this;\n var ObserverFunc = window.MutationObserver || window.WebkitMutationObserver;\n var observer = new ObserverFunc(function (mutations) {\n // The observerUpdate event should only be triggered\n // once despite the number of mutations. Additional\n // triggers are redundant and are very costly\n if (mutations.length === 1) {\n swiper.emit('observerUpdate', mutations[0]);\n return;\n }\n\n var observerUpdate = function observerUpdate() {\n swiper.emit('observerUpdate', mutations[0]);\n };\n\n if (window.requestAnimationFrame) {\n window.requestAnimationFrame(observerUpdate);\n } else {\n window.setTimeout(observerUpdate, 0);\n }\n });\n observer.observe(target, {\n attributes: typeof options.attributes === 'undefined' ? true : options.attributes,\n childList: typeof options.childList === 'undefined' ? true : options.childList,\n characterData: typeof options.characterData === 'undefined' ? true : options.characterData\n });\n swiper.observer.observers.push(observer);\n },\n init: function init() {\n var swiper = this;\n if (!swiper.support.observer || !swiper.params.observer) return;\n\n if (swiper.params.observeParents) {\n var containerParents = swiper.$el.parents();\n\n for (var i = 0; i < containerParents.length; i += 1) {\n swiper.observer.attach(containerParents[i]);\n }\n } // Observe container\n\n\n swiper.observer.attach(swiper.$el[0], {\n childList: swiper.params.observeSlideChildren\n }); // Observe wrapper\n\n swiper.observer.attach(swiper.$wrapperEl[0], {\n attributes: false\n });\n },\n destroy: function destroy() {\n var swiper = this;\n swiper.observer.observers.forEach(function (observer) {\n observer.disconnect();\n });\n swiper.observer.observers = [];\n }\n};\nexport default {\n name: 'observer',\n params: {\n observer: false,\n observeParents: false,\n observeSlideChildren: false\n },\n create: function create() {\n var swiper = this;\n bindModuleMethods(swiper, {\n observer: _extends({}, Observer, {\n observers: []\n })\n });\n },\n on: {\n init: function init(swiper) {\n swiper.observer.init();\n },\n destroy: function destroy(swiper) {\n swiper.observer.destroy();\n }\n }\n};","import { getWindow, getDocument } from 'ssr-window';\nimport $ from '../../../utils/dom';\nimport { extend, now } from '../../../utils/utils'; // Modified from https://stackoverflow.com/questions/54520554/custom-element-getrootnode-closest-function-crossing-multiple-parent-shadowd\n\nfunction closestElement(selector, base) {\n if (base === void 0) {\n base = this;\n }\n\n function __closestFrom(el) {\n if (!el || el === getDocument() || el === getWindow()) return null;\n if (el.assignedSlot) el = el.assignedSlot;\n var found = el.closest(selector);\n return found || __closestFrom(el.getRootNode().host);\n }\n\n return __closestFrom(base);\n}\n\nexport default function onTouchStart(event) {\n var swiper = this;\n var document = getDocument();\n var window = getWindow();\n var data = swiper.touchEventsData;\n var params = swiper.params,\n touches = swiper.touches,\n enabled = swiper.enabled;\n if (!enabled) return;\n\n if (swiper.animating && params.preventInteractionOnTransition) {\n return;\n }\n\n var e = event;\n if (e.originalEvent) e = e.originalEvent;\n var $targetEl = $(e.target);\n\n if (params.touchEventsTarget === 'wrapper') {\n if (!$targetEl.closest(swiper.wrapperEl).length) return;\n }\n\n data.isTouchEvent = e.type === 'touchstart';\n if (!data.isTouchEvent && 'which' in e && e.which === 3) return;\n if (!data.isTouchEvent && 'button' in e && e.button > 0) return;\n if (data.isTouched && data.isMoved) return; // change target el for shadow root component\n\n var swipingClassHasValue = !!params.noSwipingClass && params.noSwipingClass !== '';\n\n if (swipingClassHasValue && e.target && e.target.shadowRoot && event.path && event.path[0]) {\n $targetEl = $(event.path[0]);\n }\n\n var noSwipingSelector = params.noSwipingSelector ? params.noSwipingSelector : \".\" + params.noSwipingClass;\n var isTargetShadow = !!(e.target && e.target.shadowRoot); // use closestElement for shadow root element to get the actual closest for nested shadow root element\n\n if (params.noSwiping && (isTargetShadow ? closestElement(noSwipingSelector, e.target) : $targetEl.closest(noSwipingSelector)[0])) {\n swiper.allowClick = true;\n return;\n }\n\n if (params.swipeHandler) {\n if (!$targetEl.closest(params.swipeHandler)[0]) return;\n }\n\n touches.currentX = e.type === 'touchstart' ? e.targetTouches[0].pageX : e.pageX;\n touches.currentY = e.type === 'touchstart' ? e.targetTouches[0].pageY : e.pageY;\n var startX = touches.currentX;\n var startY = touches.currentY; // Do NOT start if iOS edge swipe is detected. Otherwise iOS app cannot swipe-to-go-back anymore\n\n var edgeSwipeDetection = params.edgeSwipeDetection || params.iOSEdgeSwipeDetection;\n var edgeSwipeThreshold = params.edgeSwipeThreshold || params.iOSEdgeSwipeThreshold;\n\n if (edgeSwipeDetection && (startX <= edgeSwipeThreshold || startX >= window.innerWidth - edgeSwipeThreshold)) {\n if (edgeSwipeDetection === 'prevent') {\n event.preventDefault();\n } else {\n return;\n }\n }\n\n extend(data, {\n isTouched: true,\n isMoved: false,\n allowTouchCallbacks: true,\n isScrolling: undefined,\n startMoving: undefined\n });\n touches.startX = startX;\n touches.startY = startY;\n data.touchStartTime = now();\n swiper.allowClick = true;\n swiper.updateSize();\n swiper.swipeDirection = undefined;\n if (params.threshold > 0) data.allowThresholdMove = false;\n\n if (e.type !== 'touchstart') {\n var preventDefault = true;\n if ($targetEl.is(data.focusableElements)) preventDefault = false;\n\n if (document.activeElement && $(document.activeElement).is(data.focusableElements) && document.activeElement !== $targetEl[0]) {\n document.activeElement.blur();\n }\n\n var shouldPreventDefault = preventDefault && swiper.allowTouchMove && params.touchStartPreventDefault;\n\n if ((params.touchStartForcePreventDefault || shouldPreventDefault) && !$targetEl[0].isContentEditable) {\n e.preventDefault();\n }\n }\n\n swiper.emit('touchStart', e);\n}","import { getDocument } from 'ssr-window';\nimport $ from '../../../utils/dom';\nimport { extend, now } from '../../../utils/utils';\nexport default function onTouchMove(event) {\n var document = getDocument();\n var swiper = this;\n var data = swiper.touchEventsData;\n var params = swiper.params,\n touches = swiper.touches,\n rtl = swiper.rtlTranslate,\n enabled = swiper.enabled;\n if (!enabled) return;\n var e = event;\n if (e.originalEvent) e = e.originalEvent;\n\n if (!data.isTouched) {\n if (data.startMoving && data.isScrolling) {\n swiper.emit('touchMoveOpposite', e);\n }\n\n return;\n }\n\n if (data.isTouchEvent && e.type !== 'touchmove') return;\n var targetTouch = e.type === 'touchmove' && e.targetTouches && (e.targetTouches[0] || e.changedTouches[0]);\n var pageX = e.type === 'touchmove' ? targetTouch.pageX : e.pageX;\n var pageY = e.type === 'touchmove' ? targetTouch.pageY : e.pageY;\n\n if (e.preventedByNestedSwiper) {\n touches.startX = pageX;\n touches.startY = pageY;\n return;\n }\n\n if (!swiper.allowTouchMove) {\n // isMoved = true;\n swiper.allowClick = false;\n\n if (data.isTouched) {\n extend(touches, {\n startX: pageX,\n startY: pageY,\n currentX: pageX,\n currentY: pageY\n });\n data.touchStartTime = now();\n }\n\n return;\n }\n\n if (data.isTouchEvent && params.touchReleaseOnEdges && !params.loop) {\n if (swiper.isVertical()) {\n // Vertical\n if (pageY < touches.startY && swiper.translate <= swiper.maxTranslate() || pageY > touches.startY && swiper.translate >= swiper.minTranslate()) {\n data.isTouched = false;\n data.isMoved = false;\n return;\n }\n } else if (pageX < touches.startX && swiper.translate <= swiper.maxTranslate() || pageX > touches.startX && swiper.translate >= swiper.minTranslate()) {\n return;\n }\n }\n\n if (data.isTouchEvent && document.activeElement) {\n if (e.target === document.activeElement && $(e.target).is(data.focusableElements)) {\n data.isMoved = true;\n swiper.allowClick = false;\n return;\n }\n }\n\n if (data.allowTouchCallbacks) {\n swiper.emit('touchMove', e);\n }\n\n if (e.targetTouches && e.targetTouches.length > 1) return;\n touches.currentX = pageX;\n touches.currentY = pageY;\n var diffX = touches.currentX - touches.startX;\n var diffY = touches.currentY - touches.startY;\n if (swiper.params.threshold && Math.sqrt(Math.pow(diffX, 2) + Math.pow(diffY, 2)) < swiper.params.threshold) return;\n\n if (typeof data.isScrolling === 'undefined') {\n var touchAngle;\n\n if (swiper.isHorizontal() && touches.currentY === touches.startY || swiper.isVertical() && touches.currentX === touches.startX) {\n data.isScrolling = false;\n } else {\n // eslint-disable-next-line\n if (diffX * diffX + diffY * diffY >= 25) {\n touchAngle = Math.atan2(Math.abs(diffY), Math.abs(diffX)) * 180 / Math.PI;\n data.isScrolling = swiper.isHorizontal() ? touchAngle > params.touchAngle : 90 - touchAngle > params.touchAngle;\n }\n }\n }\n\n if (data.isScrolling) {\n swiper.emit('touchMoveOpposite', e);\n }\n\n if (typeof data.startMoving === 'undefined') {\n if (touches.currentX !== touches.startX || touches.currentY !== touches.startY) {\n data.startMoving = true;\n }\n }\n\n if (data.isScrolling) {\n data.isTouched = false;\n return;\n }\n\n if (!data.startMoving) {\n return;\n }\n\n swiper.allowClick = false;\n\n if (!params.cssMode && e.cancelable) {\n e.preventDefault();\n }\n\n if (params.touchMoveStopPropagation && !params.nested) {\n e.stopPropagation();\n }\n\n if (!data.isMoved) {\n if (params.loop) {\n swiper.loopFix();\n }\n\n data.startTranslate = swiper.getTranslate();\n swiper.setTransition(0);\n\n if (swiper.animating) {\n swiper.$wrapperEl.trigger('webkitTransitionEnd transitionend');\n }\n\n data.allowMomentumBounce = false; // Grab Cursor\n\n if (params.grabCursor && (swiper.allowSlideNext === true || swiper.allowSlidePrev === true)) {\n swiper.setGrabCursor(true);\n }\n\n swiper.emit('sliderFirstMove', e);\n }\n\n swiper.emit('sliderMove', e);\n data.isMoved = true;\n var diff = swiper.isHorizontal() ? diffX : diffY;\n touches.diff = diff;\n diff *= params.touchRatio;\n if (rtl) diff = -diff;\n swiper.swipeDirection = diff > 0 ? 'prev' : 'next';\n data.currentTranslate = diff + data.startTranslate;\n var disableParentSwiper = true;\n var resistanceRatio = params.resistanceRatio;\n\n if (params.touchReleaseOnEdges) {\n resistanceRatio = 0;\n }\n\n if (diff > 0 && data.currentTranslate > swiper.minTranslate()) {\n disableParentSwiper = false;\n if (params.resistance) data.currentTranslate = swiper.minTranslate() - 1 + Math.pow(-swiper.minTranslate() + data.startTranslate + diff, resistanceRatio);\n } else if (diff < 0 && data.currentTranslate < swiper.maxTranslate()) {\n disableParentSwiper = false;\n if (params.resistance) data.currentTranslate = swiper.maxTranslate() + 1 - Math.pow(swiper.maxTranslate() - data.startTranslate - diff, resistanceRatio);\n }\n\n if (disableParentSwiper) {\n e.preventedByNestedSwiper = true;\n } // Directions locks\n\n\n if (!swiper.allowSlideNext && swiper.swipeDirection === 'next' && data.currentTranslate < data.startTranslate) {\n data.currentTranslate = data.startTranslate;\n }\n\n if (!swiper.allowSlidePrev && swiper.swipeDirection === 'prev' && data.currentTranslate > data.startTranslate) {\n data.currentTranslate = data.startTranslate;\n }\n\n if (!swiper.allowSlidePrev && !swiper.allowSlideNext) {\n data.currentTranslate = data.startTranslate;\n } // Threshold\n\n\n if (params.threshold > 0) {\n if (Math.abs(diff) > params.threshold || data.allowThresholdMove) {\n if (!data.allowThresholdMove) {\n data.allowThresholdMove = true;\n touches.startX = touches.currentX;\n touches.startY = touches.currentY;\n data.currentTranslate = data.startTranslate;\n touches.diff = swiper.isHorizontal() ? touches.currentX - touches.startX : touches.currentY - touches.startY;\n return;\n }\n } else {\n data.currentTranslate = data.startTranslate;\n return;\n }\n }\n\n if (!params.followFinger || params.cssMode) return; // Update active index in free mode\n\n if (params.freeMode || params.watchSlidesProgress || params.watchSlidesVisibility) {\n swiper.updateActiveIndex();\n swiper.updateSlidesClasses();\n }\n\n if (params.freeMode) {\n // Velocity\n if (data.velocities.length === 0) {\n data.velocities.push({\n position: touches[swiper.isHorizontal() ? 'startX' : 'startY'],\n time: data.touchStartTime\n });\n }\n\n data.velocities.push({\n position: touches[swiper.isHorizontal() ? 'currentX' : 'currentY'],\n time: now()\n });\n } // Update progress\n\n\n swiper.updateProgress(data.currentTranslate); // Update translate\n\n swiper.setTranslate(data.currentTranslate);\n}","import { now, nextTick } from '../../../utils/utils';\nexport default function onTouchEnd(event) {\n var swiper = this;\n var data = swiper.touchEventsData;\n var params = swiper.params,\n touches = swiper.touches,\n rtl = swiper.rtlTranslate,\n $wrapperEl = swiper.$wrapperEl,\n slidesGrid = swiper.slidesGrid,\n snapGrid = swiper.snapGrid,\n enabled = swiper.enabled;\n if (!enabled) return;\n var e = event;\n if (e.originalEvent) e = e.originalEvent;\n\n if (data.allowTouchCallbacks) {\n swiper.emit('touchEnd', e);\n }\n\n data.allowTouchCallbacks = false;\n\n if (!data.isTouched) {\n if (data.isMoved && params.grabCursor) {\n swiper.setGrabCursor(false);\n }\n\n data.isMoved = false;\n data.startMoving = false;\n return;\n } // Return Grab Cursor\n\n\n if (params.grabCursor && data.isMoved && data.isTouched && (swiper.allowSlideNext === true || swiper.allowSlidePrev === true)) {\n swiper.setGrabCursor(false);\n } // Time diff\n\n\n var touchEndTime = now();\n var timeDiff = touchEndTime - data.touchStartTime; // Tap, doubleTap, Click\n\n if (swiper.allowClick) {\n swiper.updateClickedSlide(e);\n swiper.emit('tap click', e);\n\n if (timeDiff < 300 && touchEndTime - data.lastClickTime < 300) {\n swiper.emit('doubleTap doubleClick', e);\n }\n }\n\n data.lastClickTime = now();\n nextTick(function () {\n if (!swiper.destroyed) swiper.allowClick = true;\n });\n\n if (!data.isTouched || !data.isMoved || !swiper.swipeDirection || touches.diff === 0 || data.currentTranslate === data.startTranslate) {\n data.isTouched = false;\n data.isMoved = false;\n data.startMoving = false;\n return;\n }\n\n data.isTouched = false;\n data.isMoved = false;\n data.startMoving = false;\n var currentPos;\n\n if (params.followFinger) {\n currentPos = rtl ? swiper.translate : -swiper.translate;\n } else {\n currentPos = -data.currentTranslate;\n }\n\n if (params.cssMode) {\n return;\n }\n\n if (params.freeMode) {\n if (currentPos < -swiper.minTranslate()) {\n swiper.slideTo(swiper.activeIndex);\n return;\n }\n\n if (currentPos > -swiper.maxTranslate()) {\n if (swiper.slides.length < snapGrid.length) {\n swiper.slideTo(snapGrid.length - 1);\n } else {\n swiper.slideTo(swiper.slides.length - 1);\n }\n\n return;\n }\n\n if (params.freeModeMomentum) {\n if (data.velocities.length > 1) {\n var lastMoveEvent = data.velocities.pop();\n var velocityEvent = data.velocities.pop();\n var distance = lastMoveEvent.position - velocityEvent.position;\n var time = lastMoveEvent.time - velocityEvent.time;\n swiper.velocity = distance / time;\n swiper.velocity /= 2;\n\n if (Math.abs(swiper.velocity) < params.freeModeMinimumVelocity) {\n swiper.velocity = 0;\n } // this implies that the user stopped moving a finger then released.\n // There would be no events with distance zero, so the last event is stale.\n\n\n if (time > 150 || now() - lastMoveEvent.time > 300) {\n swiper.velocity = 0;\n }\n } else {\n swiper.velocity = 0;\n }\n\n swiper.velocity *= params.freeModeMomentumVelocityRatio;\n data.velocities.length = 0;\n var momentumDuration = 1000 * params.freeModeMomentumRatio;\n var momentumDistance = swiper.velocity * momentumDuration;\n var newPosition = swiper.translate + momentumDistance;\n if (rtl) newPosition = -newPosition;\n var doBounce = false;\n var afterBouncePosition;\n var bounceAmount = Math.abs(swiper.velocity) * 20 * params.freeModeMomentumBounceRatio;\n var needsLoopFix;\n\n if (newPosition < swiper.maxTranslate()) {\n if (params.freeModeMomentumBounce) {\n if (newPosition + swiper.maxTranslate() < -bounceAmount) {\n newPosition = swiper.maxTranslate() - bounceAmount;\n }\n\n afterBouncePosition = swiper.maxTranslate();\n doBounce = true;\n data.allowMomentumBounce = true;\n } else {\n newPosition = swiper.maxTranslate();\n }\n\n if (params.loop && params.centeredSlides) needsLoopFix = true;\n } else if (newPosition > swiper.minTranslate()) {\n if (params.freeModeMomentumBounce) {\n if (newPosition - swiper.minTranslate() > bounceAmount) {\n newPosition = swiper.minTranslate() + bounceAmount;\n }\n\n afterBouncePosition = swiper.minTranslate();\n doBounce = true;\n data.allowMomentumBounce = true;\n } else {\n newPosition = swiper.minTranslate();\n }\n\n if (params.loop && params.centeredSlides) needsLoopFix = true;\n } else if (params.freeModeSticky) {\n var nextSlide;\n\n for (var j = 0; j < snapGrid.length; j += 1) {\n if (snapGrid[j] > -newPosition) {\n nextSlide = j;\n break;\n }\n }\n\n if (Math.abs(snapGrid[nextSlide] - newPosition) < Math.abs(snapGrid[nextSlide - 1] - newPosition) || swiper.swipeDirection === 'next') {\n newPosition = snapGrid[nextSlide];\n } else {\n newPosition = snapGrid[nextSlide - 1];\n }\n\n newPosition = -newPosition;\n }\n\n if (needsLoopFix) {\n swiper.once('transitionEnd', function () {\n swiper.loopFix();\n });\n } // Fix duration\n\n\n if (swiper.velocity !== 0) {\n if (rtl) {\n momentumDuration = Math.abs((-newPosition - swiper.translate) / swiper.velocity);\n } else {\n momentumDuration = Math.abs((newPosition - swiper.translate) / swiper.velocity);\n }\n\n if (params.freeModeSticky) {\n // If freeModeSticky is active and the user ends a swipe with a slow-velocity\n // event, then durations can be 20+ seconds to slide one (or zero!) slides.\n // It's easy to see this when simulating touch with mouse events. To fix this,\n // limit single-slide swipes to the default slide duration. This also has the\n // nice side effect of matching slide speed if the user stopped moving before\n // lifting finger or mouse vs. moving slowly before lifting the finger/mouse.\n // For faster swipes, also apply limits (albeit higher ones).\n var moveDistance = Math.abs((rtl ? -newPosition : newPosition) - swiper.translate);\n var currentSlideSize = swiper.slidesSizesGrid[swiper.activeIndex];\n\n if (moveDistance < currentSlideSize) {\n momentumDuration = params.speed;\n } else if (moveDistance < 2 * currentSlideSize) {\n momentumDuration = params.speed * 1.5;\n } else {\n momentumDuration = params.speed * 2.5;\n }\n }\n } else if (params.freeModeSticky) {\n swiper.slideToClosest();\n return;\n }\n\n if (params.freeModeMomentumBounce && doBounce) {\n swiper.updateProgress(afterBouncePosition);\n swiper.setTransition(momentumDuration);\n swiper.setTranslate(newPosition);\n swiper.transitionStart(true, swiper.swipeDirection);\n swiper.animating = true;\n $wrapperEl.transitionEnd(function () {\n if (!swiper || swiper.destroyed || !data.allowMomentumBounce) return;\n swiper.emit('momentumBounce');\n swiper.setTransition(params.speed);\n setTimeout(function () {\n swiper.setTranslate(afterBouncePosition);\n $wrapperEl.transitionEnd(function () {\n if (!swiper || swiper.destroyed) return;\n swiper.transitionEnd();\n });\n }, 0);\n });\n } else if (swiper.velocity) {\n swiper.updateProgress(newPosition);\n swiper.setTransition(momentumDuration);\n swiper.setTranslate(newPosition);\n swiper.transitionStart(true, swiper.swipeDirection);\n\n if (!swiper.animating) {\n swiper.animating = true;\n $wrapperEl.transitionEnd(function () {\n if (!swiper || swiper.destroyed) return;\n swiper.transitionEnd();\n });\n }\n } else {\n swiper.emit('_freeModeNoMomentumRelease');\n swiper.updateProgress(newPosition);\n }\n\n swiper.updateActiveIndex();\n swiper.updateSlidesClasses();\n } else if (params.freeModeSticky) {\n swiper.slideToClosest();\n return;\n } else if (params.freeMode) {\n swiper.emit('_freeModeNoMomentumRelease');\n }\n\n if (!params.freeModeMomentum || timeDiff >= params.longSwipesMs) {\n swiper.updateProgress();\n swiper.updateActiveIndex();\n swiper.updateSlidesClasses();\n }\n\n return;\n } // Find current slide\n\n\n var stopIndex = 0;\n var groupSize = swiper.slidesSizesGrid[0];\n\n for (var i = 0; i < slidesGrid.length; i += i < params.slidesPerGroupSkip ? 1 : params.slidesPerGroup) {\n var _increment = i < params.slidesPerGroupSkip - 1 ? 1 : params.slidesPerGroup;\n\n if (typeof slidesGrid[i + _increment] !== 'undefined') {\n if (currentPos >= slidesGrid[i] && currentPos < slidesGrid[i + _increment]) {\n stopIndex = i;\n groupSize = slidesGrid[i + _increment] - slidesGrid[i];\n }\n } else if (currentPos >= slidesGrid[i]) {\n stopIndex = i;\n groupSize = slidesGrid[slidesGrid.length - 1] - slidesGrid[slidesGrid.length - 2];\n }\n } // Find current slide size\n\n\n var ratio = (currentPos - slidesGrid[stopIndex]) / groupSize;\n var increment = stopIndex < params.slidesPerGroupSkip - 1 ? 1 : params.slidesPerGroup;\n\n if (timeDiff > params.longSwipesMs) {\n // Long touches\n if (!params.longSwipes) {\n swiper.slideTo(swiper.activeIndex);\n return;\n }\n\n if (swiper.swipeDirection === 'next') {\n if (ratio >= params.longSwipesRatio) swiper.slideTo(stopIndex + increment);else swiper.slideTo(stopIndex);\n }\n\n if (swiper.swipeDirection === 'prev') {\n if (ratio > 1 - params.longSwipesRatio) swiper.slideTo(stopIndex + increment);else swiper.slideTo(stopIndex);\n }\n } else {\n // Short swipes\n if (!params.shortSwipes) {\n swiper.slideTo(swiper.activeIndex);\n return;\n }\n\n var isNavButtonTarget = swiper.navigation && (e.target === swiper.navigation.nextEl || e.target === swiper.navigation.prevEl);\n\n if (!isNavButtonTarget) {\n if (swiper.swipeDirection === 'next') {\n swiper.slideTo(stopIndex + increment);\n }\n\n if (swiper.swipeDirection === 'prev') {\n swiper.slideTo(stopIndex);\n }\n } else if (e.target === swiper.navigation.nextEl) {\n swiper.slideTo(stopIndex + increment);\n } else {\n swiper.slideTo(stopIndex);\n }\n }\n}","export default function onResize() {\n var swiper = this;\n var params = swiper.params,\n el = swiper.el;\n if (el && el.offsetWidth === 0) return; // Breakpoints\n\n if (params.breakpoints) {\n swiper.setBreakpoint();\n } // Save locks\n\n\n var allowSlideNext = swiper.allowSlideNext,\n allowSlidePrev = swiper.allowSlidePrev,\n snapGrid = swiper.snapGrid; // Disable locks on resize\n\n swiper.allowSlideNext = true;\n swiper.allowSlidePrev = true;\n swiper.updateSize();\n swiper.updateSlides();\n swiper.updateSlidesClasses();\n\n if ((params.slidesPerView === 'auto' || params.slidesPerView > 1) && swiper.isEnd && !swiper.isBeginning && !swiper.params.centeredSlides) {\n swiper.slideTo(swiper.slides.length - 1, 0, false, true);\n } else {\n swiper.slideTo(swiper.activeIndex, 0, false, true);\n }\n\n if (swiper.autoplay && swiper.autoplay.running && swiper.autoplay.paused) {\n swiper.autoplay.run();\n } // Return locks after resize\n\n\n swiper.allowSlidePrev = allowSlidePrev;\n swiper.allowSlideNext = allowSlideNext;\n\n if (swiper.params.watchOverflow && snapGrid !== swiper.snapGrid) {\n swiper.checkOverflow();\n }\n}","export default function onClick(e) {\n var swiper = this;\n if (!swiper.enabled) return;\n\n if (!swiper.allowClick) {\n if (swiper.params.preventClicks) e.preventDefault();\n\n if (swiper.params.preventClicksPropagation && swiper.animating) {\n e.stopPropagation();\n e.stopImmediatePropagation();\n }\n }\n}","export default function onScroll() {\n var swiper = this;\n var wrapperEl = swiper.wrapperEl,\n rtlTranslate = swiper.rtlTranslate,\n enabled = swiper.enabled;\n if (!enabled) return;\n swiper.previousTranslate = swiper.translate;\n\n if (swiper.isHorizontal()) {\n if (rtlTranslate) {\n swiper.translate = wrapperEl.scrollWidth - wrapperEl.offsetWidth - wrapperEl.scrollLeft;\n } else {\n swiper.translate = -wrapperEl.scrollLeft;\n }\n } else {\n swiper.translate = -wrapperEl.scrollTop;\n } // eslint-disable-next-line\n\n\n if (swiper.translate === -0) swiper.translate = 0;\n swiper.updateActiveIndex();\n swiper.updateSlidesClasses();\n var newProgress;\n var translatesDiff = swiper.maxTranslate() - swiper.minTranslate();\n\n if (translatesDiff === 0) {\n newProgress = 0;\n } else {\n newProgress = (swiper.translate - swiper.minTranslate()) / translatesDiff;\n }\n\n if (newProgress !== swiper.progress) {\n swiper.updateProgress(rtlTranslate ? -swiper.translate : swiper.translate);\n }\n\n swiper.emit('setTranslate', swiper.translate, false);\n}","import { getDocument } from 'ssr-window';\nimport onTouchStart from './onTouchStart';\nimport onTouchMove from './onTouchMove';\nimport onTouchEnd from './onTouchEnd';\nimport onResize from './onResize';\nimport onClick from './onClick';\nimport onScroll from './onScroll';\nvar dummyEventAttached = false;\n\nfunction dummyEventListener() {}\n\nfunction attachEvents() {\n var swiper = this;\n var document = getDocument();\n var params = swiper.params,\n touchEvents = swiper.touchEvents,\n el = swiper.el,\n wrapperEl = swiper.wrapperEl,\n device = swiper.device,\n support = swiper.support;\n swiper.onTouchStart = onTouchStart.bind(swiper);\n swiper.onTouchMove = onTouchMove.bind(swiper);\n swiper.onTouchEnd = onTouchEnd.bind(swiper);\n\n if (params.cssMode) {\n swiper.onScroll = onScroll.bind(swiper);\n }\n\n swiper.onClick = onClick.bind(swiper);\n var capture = !!params.nested; // Touch Events\n\n if (!support.touch && support.pointerEvents) {\n el.addEventListener(touchEvents.start, swiper.onTouchStart, false);\n document.addEventListener(touchEvents.move, swiper.onTouchMove, capture);\n document.addEventListener(touchEvents.end, swiper.onTouchEnd, false);\n } else {\n if (support.touch) {\n var passiveListener = touchEvents.start === 'touchstart' && support.passiveListener && params.passiveListeners ? {\n passive: true,\n capture: false\n } : false;\n el.addEventListener(touchEvents.start, swiper.onTouchStart, passiveListener);\n el.addEventListener(touchEvents.move, swiper.onTouchMove, support.passiveListener ? {\n passive: false,\n capture: capture\n } : capture);\n el.addEventListener(touchEvents.end, swiper.onTouchEnd, passiveListener);\n\n if (touchEvents.cancel) {\n el.addEventListener(touchEvents.cancel, swiper.onTouchEnd, passiveListener);\n }\n\n if (!dummyEventAttached) {\n document.addEventListener('touchstart', dummyEventListener);\n dummyEventAttached = true;\n }\n }\n\n if (params.simulateTouch && !device.ios && !device.android || params.simulateTouch && !support.touch && device.ios) {\n el.addEventListener('mousedown', swiper.onTouchStart, false);\n document.addEventListener('mousemove', swiper.onTouchMove, capture);\n document.addEventListener('mouseup', swiper.onTouchEnd, false);\n }\n } // Prevent Links Clicks\n\n\n if (params.preventClicks || params.preventClicksPropagation) {\n el.addEventListener('click', swiper.onClick, true);\n }\n\n if (params.cssMode) {\n wrapperEl.addEventListener('scroll', swiper.onScroll);\n } // Resize handler\n\n\n if (params.updateOnWindowResize) {\n swiper.on(device.ios || device.android ? 'resize orientationchange observerUpdate' : 'resize observerUpdate', onResize, true);\n } else {\n swiper.on('observerUpdate', onResize, true);\n }\n}\n\nfunction detachEvents() {\n var swiper = this;\n var document = getDocument();\n var params = swiper.params,\n touchEvents = swiper.touchEvents,\n el = swiper.el,\n wrapperEl = swiper.wrapperEl,\n device = swiper.device,\n support = swiper.support;\n var capture = !!params.nested; // Touch Events\n\n if (!support.touch && support.pointerEvents) {\n el.removeEventListener(touchEvents.start, swiper.onTouchStart, false);\n document.removeEventListener(touchEvents.move, swiper.onTouchMove, capture);\n document.removeEventListener(touchEvents.end, swiper.onTouchEnd, false);\n } else {\n if (support.touch) {\n var passiveListener = touchEvents.start === 'onTouchStart' && support.passiveListener && params.passiveListeners ? {\n passive: true,\n capture: false\n } : false;\n el.removeEventListener(touchEvents.start, swiper.onTouchStart, passiveListener);\n el.removeEventListener(touchEvents.move, swiper.onTouchMove, capture);\n el.removeEventListener(touchEvents.end, swiper.onTouchEnd, passiveListener);\n\n if (touchEvents.cancel) {\n el.removeEventListener(touchEvents.cancel, swiper.onTouchEnd, passiveListener);\n }\n }\n\n if (params.simulateTouch && !device.ios && !device.android || params.simulateTouch && !support.touch && device.ios) {\n el.removeEventListener('mousedown', swiper.onTouchStart, false);\n document.removeEventListener('mousemove', swiper.onTouchMove, capture);\n document.removeEventListener('mouseup', swiper.onTouchEnd, false);\n }\n } // Prevent Links Clicks\n\n\n if (params.preventClicks || params.preventClicksPropagation) {\n el.removeEventListener('click', swiper.onClick, true);\n }\n\n if (params.cssMode) {\n wrapperEl.removeEventListener('scroll', swiper.onScroll);\n } // Resize handler\n\n\n swiper.off(device.ios || device.android ? 'resize orientationchange observerUpdate' : 'resize observerUpdate', onResize);\n}\n\nexport default {\n attachEvents: attachEvents,\n detachEvents: detachEvents\n};","function checkOverflow() {\n var swiper = this;\n var params = swiper.params;\n var wasLocked = swiper.isLocked;\n var lastSlidePosition = swiper.slides.length > 0 && params.slidesOffsetBefore + params.spaceBetween * (swiper.slides.length - 1) + swiper.slides[0].offsetWidth * swiper.slides.length;\n\n if (params.slidesOffsetBefore && params.slidesOffsetAfter && lastSlidePosition) {\n swiper.isLocked = lastSlidePosition <= swiper.size;\n } else {\n swiper.isLocked = swiper.snapGrid.length === 1;\n }\n\n swiper.allowSlideNext = !swiper.isLocked;\n swiper.allowSlidePrev = !swiper.isLocked; // events\n\n if (wasLocked !== swiper.isLocked) swiper.emit(swiper.isLocked ? 'lock' : 'unlock');\n\n if (wasLocked && wasLocked !== swiper.isLocked) {\n swiper.isEnd = false;\n if (swiper.navigation) swiper.navigation.update();\n }\n}\n\nexport default {\n checkOverflow: checkOverflow\n};","export default {\n init: true,\n direction: 'horizontal',\n touchEventsTarget: 'container',\n initialSlide: 0,\n speed: 300,\n cssMode: false,\n updateOnWindowResize: true,\n resizeObserver: false,\n nested: false,\n createElements: false,\n enabled: true,\n focusableElements: 'input, select, option, textarea, button, video, label',\n // Overrides\n width: null,\n height: null,\n //\n preventInteractionOnTransition: false,\n // ssr\n userAgent: null,\n url: null,\n // To support iOS's swipe-to-go-back gesture (when being used in-app).\n edgeSwipeDetection: false,\n edgeSwipeThreshold: 20,\n // Free mode\n freeMode: false,\n freeModeMomentum: true,\n freeModeMomentumRatio: 1,\n freeModeMomentumBounce: true,\n freeModeMomentumBounceRatio: 1,\n freeModeMomentumVelocityRatio: 1,\n freeModeSticky: false,\n freeModeMinimumVelocity: 0.02,\n // Autoheight\n autoHeight: false,\n // Set wrapper width\n setWrapperSize: false,\n // Virtual Translate\n virtualTranslate: false,\n // Effects\n effect: 'slide',\n // 'slide' or 'fade' or 'cube' or 'coverflow' or 'flip'\n // Breakpoints\n breakpoints: undefined,\n breakpointsBase: 'window',\n // Slides grid\n spaceBetween: 0,\n slidesPerView: 1,\n slidesPerColumn: 1,\n slidesPerColumnFill: 'column',\n slidesPerGroup: 1,\n slidesPerGroupSkip: 0,\n centeredSlides: false,\n centeredSlidesBounds: false,\n slidesOffsetBefore: 0,\n // in px\n slidesOffsetAfter: 0,\n // in px\n normalizeSlideIndex: true,\n centerInsufficientSlides: false,\n // Disable swiper and hide navigation when container not overflow\n watchOverflow: false,\n // Round length\n roundLengths: false,\n // Touches\n touchRatio: 1,\n touchAngle: 45,\n simulateTouch: true,\n shortSwipes: true,\n longSwipes: true,\n longSwipesRatio: 0.5,\n longSwipesMs: 300,\n followFinger: true,\n allowTouchMove: true,\n threshold: 0,\n touchMoveStopPropagation: false,\n touchStartPreventDefault: true,\n touchStartForcePreventDefault: false,\n touchReleaseOnEdges: false,\n // Unique Navigation Elements\n uniqueNavElements: true,\n // Resistance\n resistance: true,\n resistanceRatio: 0.85,\n // Progress\n watchSlidesProgress: false,\n watchSlidesVisibility: false,\n // Cursor\n grabCursor: false,\n // Clicks\n preventClicks: true,\n preventClicksPropagation: true,\n slideToClickedSlide: false,\n // Images\n preloadImages: true,\n updateOnImagesReady: true,\n // loop\n loop: false,\n loopAdditionalSlides: 0,\n loopedSlides: null,\n loopFillGroupWithBlank: false,\n loopPreventsSlide: true,\n // Swiping/no swiping\n allowSlidePrev: true,\n allowSlideNext: true,\n swipeHandler: null,\n // '.swipe-handler',\n noSwiping: true,\n noSwipingClass: 'swiper-no-swiping',\n noSwipingSelector: null,\n // Passive Listeners\n passiveListeners: true,\n // NS\n containerModifierClass: 'swiper-container-',\n // NEW\n slideClass: 'swiper-slide',\n slideBlankClass: 'swiper-slide-invisible-blank',\n slideActiveClass: 'swiper-slide-active',\n slideDuplicateActiveClass: 'swiper-slide-duplicate-active',\n slideVisibleClass: 'swiper-slide-visible',\n slideDuplicateClass: 'swiper-slide-duplicate',\n slideNextClass: 'swiper-slide-next',\n slideDuplicateNextClass: 'swiper-slide-duplicate-next',\n slidePrevClass: 'swiper-slide-prev',\n slideDuplicatePrevClass: 'swiper-slide-duplicate-prev',\n wrapperClass: 'swiper-wrapper',\n // Callbacks\n runCallbacksOnInit: true,\n // Internals\n _emitClasses: false\n};","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); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\n/* eslint no-param-reassign: \"off\" */\nimport { getDocument } from 'ssr-window';\nimport $ from '../../utils/dom';\nimport { extend, now, deleteProps } from '../../utils/utils';\nimport { getSupport } from '../../utils/get-support';\nimport { getDevice } from '../../utils/get-device';\nimport { getBrowser } from '../../utils/get-browser';\nimport Resize from '../../modules/resize/resize';\nimport Observer from '../../modules/observer/observer';\nimport modular from './modular';\nimport eventsEmitter from './events-emitter';\nimport update from './update/index';\nimport translate from './translate/index';\nimport transition from './transition/index';\nimport slide from './slide/index';\nimport loop from './loop/index';\nimport grabCursor from './grab-cursor/index';\nimport manipulation from './manipulation/index';\nimport events from './events/index';\nimport breakpoints from './breakpoints/index';\nimport classes from './classes/index';\nimport images from './images/index';\nimport checkOverflow from './check-overflow/index';\nimport defaults from './defaults';\nvar prototypes = {\n modular: modular,\n eventsEmitter: eventsEmitter,\n update: update,\n translate: translate,\n transition: transition,\n slide: slide,\n loop: loop,\n grabCursor: grabCursor,\n manipulation: manipulation,\n events: events,\n breakpoints: breakpoints,\n checkOverflow: checkOverflow,\n classes: classes,\n images: images\n};\nvar extendedDefaults = {};\n\nvar Swiper = /*#__PURE__*/function () {\n function Swiper() {\n var el;\n var params;\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n if (args.length === 1 && args[0].constructor && Object.prototype.toString.call(args[0]).slice(8, -1) === 'Object') {\n params = args[0];\n } else {\n el = args[0];\n params = args[1];\n }\n\n if (!params) params = {};\n params = extend({}, params);\n if (el && !params.el) params.el = el;\n\n if (params.el && $(params.el).length > 1) {\n var swipers = [];\n $(params.el).each(function (containerEl) {\n var newParams = extend({}, params, {\n el: containerEl\n });\n swipers.push(new Swiper(newParams));\n });\n return swipers;\n } // Swiper Instance\n\n\n var swiper = this;\n swiper.__swiper__ = true;\n swiper.support = getSupport();\n swiper.device = getDevice({\n userAgent: params.userAgent\n });\n swiper.browser = getBrowser();\n swiper.eventsListeners = {};\n swiper.eventsAnyListeners = [];\n\n if (typeof swiper.modules === 'undefined') {\n swiper.modules = {};\n }\n\n Object.keys(swiper.modules).forEach(function (moduleName) {\n var module = swiper.modules[moduleName];\n\n if (module.params) {\n var moduleParamName = Object.keys(module.params)[0];\n var moduleParams = module.params[moduleParamName];\n if (typeof moduleParams !== 'object' || moduleParams === null) return;\n\n if (['navigation', 'pagination', 'scrollbar'].indexOf(moduleParamName) >= 0 && params[moduleParamName] === true) {\n params[moduleParamName] = {\n auto: true\n };\n }\n\n if (!(moduleParamName in params && 'enabled' in moduleParams)) return;\n\n if (params[moduleParamName] === true) {\n params[moduleParamName] = {\n enabled: true\n };\n }\n\n if (typeof params[moduleParamName] === 'object' && !('enabled' in params[moduleParamName])) {\n params[moduleParamName].enabled = true;\n }\n\n if (!params[moduleParamName]) params[moduleParamName] = {\n enabled: false\n };\n }\n }); // Extend defaults with modules params\n\n var swiperParams = extend({}, defaults);\n swiper.useParams(swiperParams); // Extend defaults with passed params\n\n swiper.params = extend({}, swiperParams, extendedDefaults, params);\n swiper.originalParams = extend({}, swiper.params);\n swiper.passedParams = extend({}, params); // add event listeners\n\n if (swiper.params && swiper.params.on) {\n Object.keys(swiper.params.on).forEach(function (eventName) {\n swiper.on(eventName, swiper.params.on[eventName]);\n });\n }\n\n if (swiper.params && swiper.params.onAny) {\n swiper.onAny(swiper.params.onAny);\n } // Save Dom lib\n\n\n swiper.$ = $; // Extend Swiper\n\n extend(swiper, {\n enabled: swiper.params.enabled,\n el: el,\n // Classes\n classNames: [],\n // Slides\n slides: $(),\n slidesGrid: [],\n snapGrid: [],\n slidesSizesGrid: [],\n // isDirection\n isHorizontal: function isHorizontal() {\n return swiper.params.direction === 'horizontal';\n },\n isVertical: function isVertical() {\n return swiper.params.direction === 'vertical';\n },\n // Indexes\n activeIndex: 0,\n realIndex: 0,\n //\n isBeginning: true,\n isEnd: false,\n // Props\n translate: 0,\n previousTranslate: 0,\n progress: 0,\n velocity: 0,\n animating: false,\n // Locks\n allowSlideNext: swiper.params.allowSlideNext,\n allowSlidePrev: swiper.params.allowSlidePrev,\n // Touch Events\n touchEvents: function touchEvents() {\n var touch = ['touchstart', 'touchmove', 'touchend', 'touchcancel'];\n var desktop = ['mousedown', 'mousemove', 'mouseup'];\n\n if (swiper.support.pointerEvents) {\n desktop = ['pointerdown', 'pointermove', 'pointerup'];\n }\n\n swiper.touchEventsTouch = {\n start: touch[0],\n move: touch[1],\n end: touch[2],\n cancel: touch[3]\n };\n swiper.touchEventsDesktop = {\n start: desktop[0],\n move: desktop[1],\n end: desktop[2]\n };\n return swiper.support.touch || !swiper.params.simulateTouch ? swiper.touchEventsTouch : swiper.touchEventsDesktop;\n }(),\n touchEventsData: {\n isTouched: undefined,\n isMoved: undefined,\n allowTouchCallbacks: undefined,\n touchStartTime: undefined,\n isScrolling: undefined,\n currentTranslate: undefined,\n startTranslate: undefined,\n allowThresholdMove: undefined,\n // Form elements to match\n focusableElements: swiper.params.focusableElements,\n // Last click time\n lastClickTime: now(),\n clickTimeout: undefined,\n // Velocities\n velocities: [],\n allowMomentumBounce: undefined,\n isTouchEvent: undefined,\n startMoving: undefined\n },\n // Clicks\n allowClick: true,\n // Touches\n allowTouchMove: swiper.params.allowTouchMove,\n touches: {\n startX: 0,\n startY: 0,\n currentX: 0,\n currentY: 0,\n diff: 0\n },\n // Images\n imagesToLoad: [],\n imagesLoaded: 0\n }); // Install Modules\n\n swiper.useModules();\n swiper.emit('_swiper'); // Init\n\n if (swiper.params.init) {\n swiper.init();\n } // Return app instance\n\n\n return swiper;\n }\n\n var _proto = Swiper.prototype;\n\n _proto.enable = function enable() {\n var swiper = this;\n if (swiper.enabled) return;\n swiper.enabled = true;\n\n if (swiper.params.grabCursor) {\n swiper.setGrabCursor();\n }\n\n swiper.emit('enable');\n };\n\n _proto.disable = function disable() {\n var swiper = this;\n if (!swiper.enabled) return;\n swiper.enabled = false;\n\n if (swiper.params.grabCursor) {\n swiper.unsetGrabCursor();\n }\n\n swiper.emit('disable');\n };\n\n _proto.setProgress = function setProgress(progress, speed) {\n var swiper = this;\n progress = Math.min(Math.max(progress, 0), 1);\n var min = swiper.minTranslate();\n var max = swiper.maxTranslate();\n var current = (max - min) * progress + min;\n swiper.translateTo(current, typeof speed === 'undefined' ? 0 : speed);\n swiper.updateActiveIndex();\n swiper.updateSlidesClasses();\n };\n\n _proto.emitContainerClasses = function emitContainerClasses() {\n var swiper = this;\n if (!swiper.params._emitClasses || !swiper.el) return;\n var classes = swiper.el.className.split(' ').filter(function (className) {\n return className.indexOf('swiper-container') === 0 || className.indexOf(swiper.params.containerModifierClass) === 0;\n });\n swiper.emit('_containerClasses', classes.join(' '));\n };\n\n _proto.getSlideClasses = function getSlideClasses(slideEl) {\n var swiper = this;\n return slideEl.className.split(' ').filter(function (className) {\n return className.indexOf('swiper-slide') === 0 || className.indexOf(swiper.params.slideClass) === 0;\n }).join(' ');\n };\n\n _proto.emitSlidesClasses = function emitSlidesClasses() {\n var swiper = this;\n if (!swiper.params._emitClasses || !swiper.el) return;\n var updates = [];\n swiper.slides.each(function (slideEl) {\n var classNames = swiper.getSlideClasses(slideEl);\n updates.push({\n slideEl: slideEl,\n classNames: classNames\n });\n swiper.emit('_slideClass', slideEl, classNames);\n });\n swiper.emit('_slideClasses', updates);\n };\n\n _proto.slidesPerViewDynamic = function slidesPerViewDynamic() {\n var swiper = this;\n var params = swiper.params,\n slides = swiper.slides,\n slidesGrid = swiper.slidesGrid,\n swiperSize = swiper.size,\n activeIndex = swiper.activeIndex;\n var spv = 1;\n\n if (params.centeredSlides) {\n var slideSize = slides[activeIndex].swiperSlideSize;\n var breakLoop;\n\n for (var i = activeIndex + 1; i < slides.length; i += 1) {\n if (slides[i] && !breakLoop) {\n slideSize += slides[i].swiperSlideSize;\n spv += 1;\n if (slideSize > swiperSize) breakLoop = true;\n }\n }\n\n for (var _i = activeIndex - 1; _i >= 0; _i -= 1) {\n if (slides[_i] && !breakLoop) {\n slideSize += slides[_i].swiperSlideSize;\n spv += 1;\n if (slideSize > swiperSize) breakLoop = true;\n }\n }\n } else {\n for (var _i2 = activeIndex + 1; _i2 < slides.length; _i2 += 1) {\n if (slidesGrid[_i2] - slidesGrid[activeIndex] < swiperSize) {\n spv += 1;\n }\n }\n }\n\n return spv;\n };\n\n _proto.update = function update() {\n var swiper = this;\n if (!swiper || swiper.destroyed) return;\n var snapGrid = swiper.snapGrid,\n params = swiper.params; // Breakpoints\n\n if (params.breakpoints) {\n swiper.setBreakpoint();\n }\n\n swiper.updateSize();\n swiper.updateSlides();\n swiper.updateProgress();\n swiper.updateSlidesClasses();\n\n function setTranslate() {\n var translateValue = swiper.rtlTranslate ? swiper.translate * -1 : swiper.translate;\n var newTranslate = Math.min(Math.max(translateValue, swiper.maxTranslate()), swiper.minTranslate());\n swiper.setTranslate(newTranslate);\n swiper.updateActiveIndex();\n swiper.updateSlidesClasses();\n }\n\n var translated;\n\n if (swiper.params.freeMode) {\n setTranslate();\n\n if (swiper.params.autoHeight) {\n swiper.updateAutoHeight();\n }\n } else {\n if ((swiper.params.slidesPerView === 'auto' || swiper.params.slidesPerView > 1) && swiper.isEnd && !swiper.params.centeredSlides) {\n translated = swiper.slideTo(swiper.slides.length - 1, 0, false, true);\n } else {\n translated = swiper.slideTo(swiper.activeIndex, 0, false, true);\n }\n\n if (!translated) {\n setTranslate();\n }\n }\n\n if (params.watchOverflow && snapGrid !== swiper.snapGrid) {\n swiper.checkOverflow();\n }\n\n swiper.emit('update');\n };\n\n _proto.changeDirection = function changeDirection(newDirection, needUpdate) {\n if (needUpdate === void 0) {\n needUpdate = true;\n }\n\n var swiper = this;\n var currentDirection = swiper.params.direction;\n\n if (!newDirection) {\n // eslint-disable-next-line\n newDirection = currentDirection === 'horizontal' ? 'vertical' : 'horizontal';\n }\n\n if (newDirection === currentDirection || newDirection !== 'horizontal' && newDirection !== 'vertical') {\n return swiper;\n }\n\n swiper.$el.removeClass(\"\" + swiper.params.containerModifierClass + currentDirection).addClass(\"\" + swiper.params.containerModifierClass + newDirection);\n swiper.emitContainerClasses();\n swiper.params.direction = newDirection;\n swiper.slides.each(function (slideEl) {\n if (newDirection === 'vertical') {\n slideEl.style.width = '';\n } else {\n slideEl.style.height = '';\n }\n });\n swiper.emit('changeDirection');\n if (needUpdate) swiper.update();\n return swiper;\n };\n\n _proto.mount = function mount(el) {\n var swiper = this;\n if (swiper.mounted) return true; // Find el\n\n var $el = $(el || swiper.params.el);\n el = $el[0];\n\n if (!el) {\n return false;\n }\n\n el.swiper = swiper;\n\n var getWrapperSelector = function getWrapperSelector() {\n return \".\" + (swiper.params.wrapperClass || '').trim().split(' ').join('.');\n };\n\n var getWrapper = function getWrapper() {\n if (el && el.shadowRoot && el.shadowRoot.querySelector) {\n var res = $(el.shadowRoot.querySelector(getWrapperSelector())); // Children needs to return slot items\n\n res.children = function (options) {\n return $el.children(options);\n };\n\n return res;\n }\n\n return $el.children(getWrapperSelector());\n }; // Find Wrapper\n\n\n var $wrapperEl = getWrapper();\n\n if ($wrapperEl.length === 0 && swiper.params.createElements) {\n var document = getDocument();\n var wrapper = document.createElement('div');\n $wrapperEl = $(wrapper);\n wrapper.className = swiper.params.wrapperClass;\n $el.append(wrapper);\n $el.children(\".\" + swiper.params.slideClass).each(function (slideEl) {\n $wrapperEl.append(slideEl);\n });\n }\n\n extend(swiper, {\n $el: $el,\n el: el,\n $wrapperEl: $wrapperEl,\n wrapperEl: $wrapperEl[0],\n mounted: true,\n // RTL\n rtl: el.dir.toLowerCase() === 'rtl' || $el.css('direction') === 'rtl',\n rtlTranslate: swiper.params.direction === 'horizontal' && (el.dir.toLowerCase() === 'rtl' || $el.css('direction') === 'rtl'),\n wrongRTL: $wrapperEl.css('display') === '-webkit-box'\n });\n return true;\n };\n\n _proto.init = function init(el) {\n var swiper = this;\n if (swiper.initialized) return swiper;\n var mounted = swiper.mount(el);\n if (mounted === false) return swiper;\n swiper.emit('beforeInit'); // Set breakpoint\n\n if (swiper.params.breakpoints) {\n swiper.setBreakpoint();\n } // Add Classes\n\n\n swiper.addClasses(); // Create loop\n\n if (swiper.params.loop) {\n swiper.loopCreate();\n } // Update size\n\n\n swiper.updateSize(); // Update slides\n\n swiper.updateSlides();\n\n if (swiper.params.watchOverflow) {\n swiper.checkOverflow();\n } // Set Grab Cursor\n\n\n if (swiper.params.grabCursor && swiper.enabled) {\n swiper.setGrabCursor();\n }\n\n if (swiper.params.preloadImages) {\n swiper.preloadImages();\n } // Slide To Initial Slide\n\n\n if (swiper.params.loop) {\n swiper.slideTo(swiper.params.initialSlide + swiper.loopedSlides, 0, swiper.params.runCallbacksOnInit, false, true);\n } else {\n swiper.slideTo(swiper.params.initialSlide, 0, swiper.params.runCallbacksOnInit, false, true);\n } // Attach events\n\n\n swiper.attachEvents(); // Init Flag\n\n swiper.initialized = true; // Emit\n\n swiper.emit('init');\n swiper.emit('afterInit');\n return swiper;\n };\n\n _proto.destroy = function destroy(deleteInstance, cleanStyles) {\n if (deleteInstance === void 0) {\n deleteInstance = true;\n }\n\n if (cleanStyles === void 0) {\n cleanStyles = true;\n }\n\n var swiper = this;\n var params = swiper.params,\n $el = swiper.$el,\n $wrapperEl = swiper.$wrapperEl,\n slides = swiper.slides;\n\n if (typeof swiper.params === 'undefined' || swiper.destroyed) {\n return null;\n }\n\n swiper.emit('beforeDestroy'); // Init Flag\n\n swiper.initialized = false; // Detach events\n\n swiper.detachEvents(); // Destroy loop\n\n if (params.loop) {\n swiper.loopDestroy();\n } // Cleanup styles\n\n\n if (cleanStyles) {\n swiper.removeClasses();\n $el.removeAttr('style');\n $wrapperEl.removeAttr('style');\n\n if (slides && slides.length) {\n slides.removeClass([params.slideVisibleClass, params.slideActiveClass, params.slideNextClass, params.slidePrevClass].join(' ')).removeAttr('style').removeAttr('data-swiper-slide-index');\n }\n }\n\n swiper.emit('destroy'); // Detach emitter events\n\n Object.keys(swiper.eventsListeners).forEach(function (eventName) {\n swiper.off(eventName);\n });\n\n if (deleteInstance !== false) {\n swiper.$el[0].swiper = null;\n deleteProps(swiper);\n }\n\n swiper.destroyed = true;\n return null;\n };\n\n Swiper.extendDefaults = function extendDefaults(newDefaults) {\n extend(extendedDefaults, newDefaults);\n };\n\n Swiper.installModule = function installModule(module) {\n if (!Swiper.prototype.modules) Swiper.prototype.modules = {};\n var name = module.name || Object.keys(Swiper.prototype.modules).length + \"_\" + now();\n Swiper.prototype.modules[name] = module;\n };\n\n Swiper.use = function use(module) {\n if (Array.isArray(module)) {\n module.forEach(function (m) {\n return Swiper.installModule(m);\n });\n return Swiper;\n }\n\n Swiper.installModule(module);\n return Swiper;\n };\n\n _createClass(Swiper, null, [{\n key: \"extendedDefaults\",\n get: function get() {\n return extendedDefaults;\n }\n }, {\n key: \"defaults\",\n get: function get() {\n return defaults;\n }\n }]);\n\n return Swiper;\n}();\n\nObject.keys(prototypes).forEach(function (prototypeGroup) {\n Object.keys(prototypes[prototypeGroup]).forEach(function (protoMethod) {\n Swiper.prototype[protoMethod] = prototypes[prototypeGroup][protoMethod];\n });\n});\nSwiper.use([Resize, Observer]);\nexport default Swiper;","import { extend } from '../../utils/utils';\nexport default {\n useParams: function useParams(instanceParams) {\n var instance = this;\n if (!instance.modules) return;\n Object.keys(instance.modules).forEach(function (moduleName) {\n var module = instance.modules[moduleName]; // Extend params\n\n if (module.params) {\n extend(instanceParams, module.params);\n }\n });\n },\n useModules: function useModules(modulesParams) {\n if (modulesParams === void 0) {\n modulesParams = {};\n }\n\n var instance = this;\n if (!instance.modules) return;\n Object.keys(instance.modules).forEach(function (moduleName) {\n var module = instance.modules[moduleName];\n var moduleParams = modulesParams[moduleName] || {}; // Add event listeners\n\n if (module.on && instance.on) {\n Object.keys(module.on).forEach(function (moduleEventName) {\n instance.on(moduleEventName, module.on[moduleEventName]);\n });\n } // Module create callback\n\n\n if (module.create) {\n module.create.bind(instance)(moduleParams);\n }\n });\n }\n};","/* eslint-disable no-underscore-dangle */\nexport default {\n on: function on(events, handler, priority) {\n var self = this;\n if (typeof handler !== 'function') return self;\n var method = priority ? 'unshift' : 'push';\n events.split(' ').forEach(function (event) {\n if (!self.eventsListeners[event]) self.eventsListeners[event] = [];\n self.eventsListeners[event][method](handler);\n });\n return self;\n },\n once: function once(events, handler, priority) {\n var self = this;\n if (typeof handler !== 'function') return self;\n\n function onceHandler() {\n self.off(events, onceHandler);\n\n if (onceHandler.__emitterProxy) {\n delete onceHandler.__emitterProxy;\n }\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n handler.apply(self, args);\n }\n\n onceHandler.__emitterProxy = handler;\n return self.on(events, onceHandler, priority);\n },\n onAny: function onAny(handler, priority) {\n var self = this;\n if (typeof handler !== 'function') return self;\n var method = priority ? 'unshift' : 'push';\n\n if (self.eventsAnyListeners.indexOf(handler) < 0) {\n self.eventsAnyListeners[method](handler);\n }\n\n return self;\n },\n offAny: function offAny(handler) {\n var self = this;\n if (!self.eventsAnyListeners) return self;\n var index = self.eventsAnyListeners.indexOf(handler);\n\n if (index >= 0) {\n self.eventsAnyListeners.splice(index, 1);\n }\n\n return self;\n },\n off: function off(events, handler) {\n var self = this;\n if (!self.eventsListeners) return self;\n events.split(' ').forEach(function (event) {\n if (typeof handler === 'undefined') {\n self.eventsListeners[event] = [];\n } else if (self.eventsListeners[event]) {\n self.eventsListeners[event].forEach(function (eventHandler, index) {\n if (eventHandler === handler || eventHandler.__emitterProxy && eventHandler.__emitterProxy === handler) {\n self.eventsListeners[event].splice(index, 1);\n }\n });\n }\n });\n return self;\n },\n emit: function emit() {\n var self = this;\n if (!self.eventsListeners) return self;\n var events;\n var data;\n var context;\n\n for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n args[_key2] = arguments[_key2];\n }\n\n if (typeof args[0] === 'string' || Array.isArray(args[0])) {\n events = args[0];\n data = args.slice(1, args.length);\n context = self;\n } else {\n events = args[0].events;\n data = args[0].data;\n context = args[0].context || self;\n }\n\n data.unshift(context);\n var eventsArray = Array.isArray(events) ? events : events.split(' ');\n eventsArray.forEach(function (event) {\n if (self.eventsAnyListeners && self.eventsAnyListeners.length) {\n self.eventsAnyListeners.forEach(function (eventHandler) {\n eventHandler.apply(context, [event].concat(data));\n });\n }\n\n if (self.eventsListeners && self.eventsListeners[event]) {\n self.eventsListeners[event].forEach(function (eventHandler) {\n eventHandler.apply(context, data);\n });\n }\n });\n return self;\n }\n};","import updateSize from './updateSize';\nimport updateSlides from './updateSlides';\nimport updateAutoHeight from './updateAutoHeight';\nimport updateSlidesOffset from './updateSlidesOffset';\nimport updateSlidesProgress from './updateSlidesProgress';\nimport updateProgress from './updateProgress';\nimport updateSlidesClasses from './updateSlidesClasses';\nimport updateActiveIndex from './updateActiveIndex';\nimport updateClickedSlide from './updateClickedSlide';\nexport default {\n updateSize: updateSize,\n updateSlides: updateSlides,\n updateAutoHeight: updateAutoHeight,\n updateSlidesOffset: updateSlidesOffset,\n updateSlidesProgress: updateSlidesProgress,\n updateProgress: updateProgress,\n updateSlidesClasses: updateSlidesClasses,\n updateActiveIndex: updateActiveIndex,\n updateClickedSlide: updateClickedSlide\n};","import { extend } from '../../../utils/utils';\nexport default function updateSize() {\n var swiper = this;\n var width;\n var height;\n var $el = swiper.$el;\n\n if (typeof swiper.params.width !== 'undefined' && swiper.params.width !== null) {\n width = swiper.params.width;\n } else {\n width = $el[0].clientWidth;\n }\n\n if (typeof swiper.params.height !== 'undefined' && swiper.params.height !== null) {\n height = swiper.params.height;\n } else {\n height = $el[0].clientHeight;\n }\n\n if (width === 0 && swiper.isHorizontal() || height === 0 && swiper.isVertical()) {\n return;\n } // Subtract paddings\n\n\n width = width - parseInt($el.css('padding-left') || 0, 10) - parseInt($el.css('padding-right') || 0, 10);\n height = height - parseInt($el.css('padding-top') || 0, 10) - parseInt($el.css('padding-bottom') || 0, 10);\n if (Number.isNaN(width)) width = 0;\n if (Number.isNaN(height)) height = 0;\n extend(swiper, {\n width: width,\n height: height,\n size: swiper.isHorizontal() ? width : height\n });\n}","import { extend } from '../../../utils/utils';\nexport default function updateSlides() {\n var swiper = this;\n\n function getDirectionLabel(property) {\n if (swiper.isHorizontal()) {\n return property;\n } // prettier-ignore\n\n\n return {\n 'width': 'height',\n 'margin-top': 'margin-left',\n 'margin-bottom ': 'margin-right',\n 'margin-left': 'margin-top',\n 'margin-right': 'margin-bottom',\n 'padding-left': 'padding-top',\n 'padding-right': 'padding-bottom',\n 'marginRight': 'marginBottom'\n }[property];\n }\n\n function getDirectionPropertyValue(node, label) {\n return parseFloat(node.getPropertyValue(getDirectionLabel(label)) || 0);\n }\n\n var params = swiper.params;\n var $wrapperEl = swiper.$wrapperEl,\n swiperSize = swiper.size,\n rtl = swiper.rtlTranslate,\n wrongRTL = swiper.wrongRTL;\n var isVirtual = swiper.virtual && params.virtual.enabled;\n var previousSlidesLength = isVirtual ? swiper.virtual.slides.length : swiper.slides.length;\n var slides = $wrapperEl.children(\".\" + swiper.params.slideClass);\n var slidesLength = isVirtual ? swiper.virtual.slides.length : slides.length;\n var snapGrid = [];\n var slidesGrid = [];\n var slidesSizesGrid = [];\n var offsetBefore = params.slidesOffsetBefore;\n\n if (typeof offsetBefore === 'function') {\n offsetBefore = params.slidesOffsetBefore.call(swiper);\n }\n\n var offsetAfter = params.slidesOffsetAfter;\n\n if (typeof offsetAfter === 'function') {\n offsetAfter = params.slidesOffsetAfter.call(swiper);\n }\n\n var previousSnapGridLength = swiper.snapGrid.length;\n var previousSlidesGridLength = swiper.slidesGrid.length;\n var spaceBetween = params.spaceBetween;\n var slidePosition = -offsetBefore;\n var prevSlideSize = 0;\n var index = 0;\n\n if (typeof swiperSize === 'undefined') {\n return;\n }\n\n if (typeof spaceBetween === 'string' && spaceBetween.indexOf('%') >= 0) {\n spaceBetween = parseFloat(spaceBetween.replace('%', '')) / 100 * swiperSize;\n }\n\n swiper.virtualSize = -spaceBetween; // reset margins\n\n if (rtl) slides.css({\n marginLeft: '',\n marginBottom: '',\n marginTop: ''\n });else slides.css({\n marginRight: '',\n marginBottom: '',\n marginTop: ''\n });\n var slidesNumberEvenToRows;\n\n if (params.slidesPerColumn > 1) {\n if (Math.floor(slidesLength / params.slidesPerColumn) === slidesLength / swiper.params.slidesPerColumn) {\n slidesNumberEvenToRows = slidesLength;\n } else {\n slidesNumberEvenToRows = Math.ceil(slidesLength / params.slidesPerColumn) * params.slidesPerColumn;\n }\n\n if (params.slidesPerView !== 'auto' && params.slidesPerColumnFill === 'row') {\n slidesNumberEvenToRows = Math.max(slidesNumberEvenToRows, params.slidesPerView * params.slidesPerColumn);\n }\n } // Calc slides\n\n\n var slideSize;\n var slidesPerColumn = params.slidesPerColumn;\n var slidesPerRow = slidesNumberEvenToRows / slidesPerColumn;\n var numFullColumns = Math.floor(slidesLength / params.slidesPerColumn);\n\n for (var i = 0; i < slidesLength; i += 1) {\n slideSize = 0;\n var slide = slides.eq(i);\n\n if (params.slidesPerColumn > 1) {\n // Set slides order\n var newSlideOrderIndex = void 0;\n var column = void 0;\n var row = void 0;\n\n if (params.slidesPerColumnFill === 'row' && params.slidesPerGroup > 1) {\n var groupIndex = Math.floor(i / (params.slidesPerGroup * params.slidesPerColumn));\n var slideIndexInGroup = i - params.slidesPerColumn * params.slidesPerGroup * groupIndex;\n var columnsInGroup = groupIndex === 0 ? params.slidesPerGroup : Math.min(Math.ceil((slidesLength - groupIndex * slidesPerColumn * params.slidesPerGroup) / slidesPerColumn), params.slidesPerGroup);\n row = Math.floor(slideIndexInGroup / columnsInGroup);\n column = slideIndexInGroup - row * columnsInGroup + groupIndex * params.slidesPerGroup;\n newSlideOrderIndex = column + row * slidesNumberEvenToRows / slidesPerColumn;\n slide.css({\n '-webkit-box-ordinal-group': newSlideOrderIndex,\n '-moz-box-ordinal-group': newSlideOrderIndex,\n '-ms-flex-order': newSlideOrderIndex,\n '-webkit-order': newSlideOrderIndex,\n order: newSlideOrderIndex\n });\n } else if (params.slidesPerColumnFill === 'column') {\n column = Math.floor(i / slidesPerColumn);\n row = i - column * slidesPerColumn;\n\n if (column > numFullColumns || column === numFullColumns && row === slidesPerColumn - 1) {\n row += 1;\n\n if (row >= slidesPerColumn) {\n row = 0;\n column += 1;\n }\n }\n } else {\n row = Math.floor(i / slidesPerRow);\n column = i - row * slidesPerRow;\n }\n\n slide.css(getDirectionLabel('margin-top'), row !== 0 ? params.spaceBetween && params.spaceBetween + \"px\" : '');\n }\n\n if (slide.css('display') === 'none') continue; // eslint-disable-line\n\n if (params.slidesPerView === 'auto') {\n var slideStyles = getComputedStyle(slide[0]);\n var currentTransform = slide[0].style.transform;\n var currentWebKitTransform = slide[0].style.webkitTransform;\n\n if (currentTransform) {\n slide[0].style.transform = 'none';\n }\n\n if (currentWebKitTransform) {\n slide[0].style.webkitTransform = 'none';\n }\n\n if (params.roundLengths) {\n slideSize = swiper.isHorizontal() ? slide.outerWidth(true) : slide.outerHeight(true);\n } else {\n // eslint-disable-next-line\n var width = getDirectionPropertyValue(slideStyles, 'width');\n var paddingLeft = getDirectionPropertyValue(slideStyles, 'padding-left');\n var paddingRight = getDirectionPropertyValue(slideStyles, 'padding-right');\n var marginLeft = getDirectionPropertyValue(slideStyles, 'margin-left');\n var marginRight = getDirectionPropertyValue(slideStyles, 'margin-right');\n var boxSizing = slideStyles.getPropertyValue('box-sizing');\n\n if (boxSizing && boxSizing === 'border-box') {\n slideSize = width + marginLeft + marginRight;\n } else {\n var _slide$ = slide[0],\n clientWidth = _slide$.clientWidth,\n offsetWidth = _slide$.offsetWidth;\n slideSize = width + paddingLeft + paddingRight + marginLeft + marginRight + (offsetWidth - clientWidth);\n }\n }\n\n if (currentTransform) {\n slide[0].style.transform = currentTransform;\n }\n\n if (currentWebKitTransform) {\n slide[0].style.webkitTransform = currentWebKitTransform;\n }\n\n if (params.roundLengths) slideSize = Math.floor(slideSize);\n } else {\n slideSize = (swiperSize - (params.slidesPerView - 1) * spaceBetween) / params.slidesPerView;\n if (params.roundLengths) slideSize = Math.floor(slideSize);\n\n if (slides[i]) {\n slides[i].style[getDirectionLabel('width')] = slideSize + \"px\";\n }\n }\n\n if (slides[i]) {\n slides[i].swiperSlideSize = slideSize;\n }\n\n slidesSizesGrid.push(slideSize);\n\n if (params.centeredSlides) {\n slidePosition = slidePosition + slideSize / 2 + prevSlideSize / 2 + spaceBetween;\n if (prevSlideSize === 0 && i !== 0) slidePosition = slidePosition - swiperSize / 2 - spaceBetween;\n if (i === 0) slidePosition = slidePosition - swiperSize / 2 - spaceBetween;\n if (Math.abs(slidePosition) < 1 / 1000) slidePosition = 0;\n if (params.roundLengths) slidePosition = Math.floor(slidePosition);\n if (index % params.slidesPerGroup === 0) snapGrid.push(slidePosition);\n slidesGrid.push(slidePosition);\n } else {\n if (params.roundLengths) slidePosition = Math.floor(slidePosition);\n if ((index - Math.min(swiper.params.slidesPerGroupSkip, index)) % swiper.params.slidesPerGroup === 0) snapGrid.push(slidePosition);\n slidesGrid.push(slidePosition);\n slidePosition = slidePosition + slideSize + spaceBetween;\n }\n\n swiper.virtualSize += slideSize + spaceBetween;\n prevSlideSize = slideSize;\n index += 1;\n }\n\n swiper.virtualSize = Math.max(swiper.virtualSize, swiperSize) + offsetAfter;\n var newSlidesGrid;\n\n if (rtl && wrongRTL && (params.effect === 'slide' || params.effect === 'coverflow')) {\n $wrapperEl.css({\n width: swiper.virtualSize + params.spaceBetween + \"px\"\n });\n }\n\n if (params.setWrapperSize) {\n var _$wrapperEl$css;\n\n $wrapperEl.css((_$wrapperEl$css = {}, _$wrapperEl$css[getDirectionLabel('width')] = swiper.virtualSize + params.spaceBetween + \"px\", _$wrapperEl$css));\n }\n\n if (params.slidesPerColumn > 1) {\n var _$wrapperEl$css2;\n\n swiper.virtualSize = (slideSize + params.spaceBetween) * slidesNumberEvenToRows;\n swiper.virtualSize = Math.ceil(swiper.virtualSize / params.slidesPerColumn) - params.spaceBetween;\n $wrapperEl.css((_$wrapperEl$css2 = {}, _$wrapperEl$css2[getDirectionLabel('width')] = swiper.virtualSize + params.spaceBetween + \"px\", _$wrapperEl$css2));\n\n if (params.centeredSlides) {\n newSlidesGrid = [];\n\n for (var _i = 0; _i < snapGrid.length; _i += 1) {\n var slidesGridItem = snapGrid[_i];\n if (params.roundLengths) slidesGridItem = Math.floor(slidesGridItem);\n if (snapGrid[_i] < swiper.virtualSize + snapGrid[0]) newSlidesGrid.push(slidesGridItem);\n }\n\n snapGrid = newSlidesGrid;\n }\n } // Remove last grid elements depending on width\n\n\n if (!params.centeredSlides) {\n newSlidesGrid = [];\n\n for (var _i2 = 0; _i2 < snapGrid.length; _i2 += 1) {\n var _slidesGridItem = snapGrid[_i2];\n if (params.roundLengths) _slidesGridItem = Math.floor(_slidesGridItem);\n\n if (snapGrid[_i2] <= swiper.virtualSize - swiperSize) {\n newSlidesGrid.push(_slidesGridItem);\n }\n }\n\n snapGrid = newSlidesGrid;\n\n if (Math.floor(swiper.virtualSize - swiperSize) - Math.floor(snapGrid[snapGrid.length - 1]) > 1) {\n snapGrid.push(swiper.virtualSize - swiperSize);\n }\n }\n\n if (snapGrid.length === 0) snapGrid = [0];\n\n if (params.spaceBetween !== 0) {\n var _slides$filter$css;\n\n var key = swiper.isHorizontal() && rtl ? 'marginLeft' : getDirectionLabel('marginRight');\n slides.filter(function (_, slideIndex) {\n if (!params.cssMode) return true;\n\n if (slideIndex === slides.length - 1) {\n return false;\n }\n\n return true;\n }).css((_slides$filter$css = {}, _slides$filter$css[key] = spaceBetween + \"px\", _slides$filter$css));\n }\n\n if (params.centeredSlides && params.centeredSlidesBounds) {\n var allSlidesSize = 0;\n slidesSizesGrid.forEach(function (slideSizeValue) {\n allSlidesSize += slideSizeValue + (params.spaceBetween ? params.spaceBetween : 0);\n });\n allSlidesSize -= params.spaceBetween;\n var maxSnap = allSlidesSize - swiperSize;\n snapGrid = snapGrid.map(function (snap) {\n if (snap < 0) return -offsetBefore;\n if (snap > maxSnap) return maxSnap + offsetAfter;\n return snap;\n });\n }\n\n if (params.centerInsufficientSlides) {\n var _allSlidesSize = 0;\n slidesSizesGrid.forEach(function (slideSizeValue) {\n _allSlidesSize += slideSizeValue + (params.spaceBetween ? params.spaceBetween : 0);\n });\n _allSlidesSize -= params.spaceBetween;\n\n if (_allSlidesSize < swiperSize) {\n var allSlidesOffset = (swiperSize - _allSlidesSize) / 2;\n snapGrid.forEach(function (snap, snapIndex) {\n snapGrid[snapIndex] = snap - allSlidesOffset;\n });\n slidesGrid.forEach(function (snap, snapIndex) {\n slidesGrid[snapIndex] = snap + allSlidesOffset;\n });\n }\n }\n\n extend(swiper, {\n slides: slides,\n snapGrid: snapGrid,\n slidesGrid: slidesGrid,\n slidesSizesGrid: slidesSizesGrid\n });\n\n if (slidesLength !== previousSlidesLength) {\n swiper.emit('slidesLengthChange');\n }\n\n if (snapGrid.length !== previousSnapGridLength) {\n if (swiper.params.watchOverflow) swiper.checkOverflow();\n swiper.emit('snapGridLengthChange');\n }\n\n if (slidesGrid.length !== previousSlidesGridLength) {\n swiper.emit('slidesGridLengthChange');\n }\n\n if (params.watchSlidesProgress || params.watchSlidesVisibility) {\n swiper.updateSlidesOffset();\n }\n}","export default function updateAutoHeight(speed) {\n var swiper = this;\n var activeSlides = [];\n var isVirtual = swiper.virtual && swiper.params.virtual.enabled;\n var newHeight = 0;\n var i;\n\n if (typeof speed === 'number') {\n swiper.setTransition(speed);\n } else if (speed === true) {\n swiper.setTransition(swiper.params.speed);\n }\n\n var getSlideByIndex = function getSlideByIndex(index) {\n if (isVirtual) {\n return swiper.slides.filter(function (el) {\n return parseInt(el.getAttribute('data-swiper-slide-index'), 10) === index;\n })[0];\n }\n\n return swiper.slides.eq(index)[0];\n }; // Find slides currently in view\n\n\n if (swiper.params.slidesPerView !== 'auto' && swiper.params.slidesPerView > 1) {\n if (swiper.params.centeredSlides) {\n swiper.visibleSlides.each(function (slide) {\n activeSlides.push(slide);\n });\n } else {\n for (i = 0; i < Math.ceil(swiper.params.slidesPerView); i += 1) {\n var index = swiper.activeIndex + i;\n if (index > swiper.slides.length && !isVirtual) break;\n activeSlides.push(getSlideByIndex(index));\n }\n }\n } else {\n activeSlides.push(getSlideByIndex(swiper.activeIndex));\n } // Find new height from highest slide in view\n\n\n for (i = 0; i < activeSlides.length; i += 1) {\n if (typeof activeSlides[i] !== 'undefined') {\n var height = activeSlides[i].offsetHeight;\n newHeight = height > newHeight ? height : newHeight;\n }\n } // Update Height\n\n\n if (newHeight) swiper.$wrapperEl.css('height', newHeight + \"px\");\n}","export default function updateSlidesOffset() {\n var swiper = this;\n var slides = swiper.slides;\n\n for (var i = 0; i < slides.length; i += 1) {\n slides[i].swiperSlideOffset = swiper.isHorizontal() ? slides[i].offsetLeft : slides[i].offsetTop;\n }\n}","import $ from '../../../utils/dom';\nexport default function updateSlidesProgress(translate) {\n if (translate === void 0) {\n translate = this && this.translate || 0;\n }\n\n var swiper = this;\n var params = swiper.params;\n var slides = swiper.slides,\n rtl = swiper.rtlTranslate;\n if (slides.length === 0) return;\n if (typeof slides[0].swiperSlideOffset === 'undefined') swiper.updateSlidesOffset();\n var offsetCenter = -translate;\n if (rtl) offsetCenter = translate; // Visible Slides\n\n slides.removeClass(params.slideVisibleClass);\n swiper.visibleSlidesIndexes = [];\n swiper.visibleSlides = [];\n\n for (var i = 0; i < slides.length; i += 1) {\n var slide = slides[i];\n var slideProgress = (offsetCenter + (params.centeredSlides ? swiper.minTranslate() : 0) - slide.swiperSlideOffset) / (slide.swiperSlideSize + params.spaceBetween);\n\n if (params.watchSlidesVisibility || params.centeredSlides && params.autoHeight) {\n var slideBefore = -(offsetCenter - slide.swiperSlideOffset);\n var slideAfter = slideBefore + swiper.slidesSizesGrid[i];\n var isVisible = slideBefore >= 0 && slideBefore < swiper.size - 1 || slideAfter > 1 && slideAfter <= swiper.size || slideBefore <= 0 && slideAfter >= swiper.size;\n\n if (isVisible) {\n swiper.visibleSlides.push(slide);\n swiper.visibleSlidesIndexes.push(i);\n slides.eq(i).addClass(params.slideVisibleClass);\n }\n }\n\n slide.progress = rtl ? -slideProgress : slideProgress;\n }\n\n swiper.visibleSlides = $(swiper.visibleSlides);\n}","import { extend } from '../../../utils/utils';\nexport default function updateProgress(translate) {\n var swiper = this;\n\n if (typeof translate === 'undefined') {\n var multiplier = swiper.rtlTranslate ? -1 : 1; // eslint-disable-next-line\n\n translate = swiper && swiper.translate && swiper.translate * multiplier || 0;\n }\n\n var params = swiper.params;\n var translatesDiff = swiper.maxTranslate() - swiper.minTranslate();\n var progress = swiper.progress,\n isBeginning = swiper.isBeginning,\n isEnd = swiper.isEnd;\n var wasBeginning = isBeginning;\n var wasEnd = isEnd;\n\n if (translatesDiff === 0) {\n progress = 0;\n isBeginning = true;\n isEnd = true;\n } else {\n progress = (translate - swiper.minTranslate()) / translatesDiff;\n isBeginning = progress <= 0;\n isEnd = progress >= 1;\n }\n\n extend(swiper, {\n progress: progress,\n isBeginning: isBeginning,\n isEnd: isEnd\n });\n if (params.watchSlidesProgress || params.watchSlidesVisibility || params.centeredSlides && params.autoHeight) swiper.updateSlidesProgress(translate);\n\n if (isBeginning && !wasBeginning) {\n swiper.emit('reachBeginning toEdge');\n }\n\n if (isEnd && !wasEnd) {\n swiper.emit('reachEnd toEdge');\n }\n\n if (wasBeginning && !isBeginning || wasEnd && !isEnd) {\n swiper.emit('fromEdge');\n }\n\n swiper.emit('progress', progress);\n}","export default function updateSlidesClasses() {\n var swiper = this;\n var slides = swiper.slides,\n params = swiper.params,\n $wrapperEl = swiper.$wrapperEl,\n activeIndex = swiper.activeIndex,\n realIndex = swiper.realIndex;\n var isVirtual = swiper.virtual && params.virtual.enabled;\n slides.removeClass(params.slideActiveClass + \" \" + params.slideNextClass + \" \" + params.slidePrevClass + \" \" + params.slideDuplicateActiveClass + \" \" + params.slideDuplicateNextClass + \" \" + params.slideDuplicatePrevClass);\n var activeSlide;\n\n if (isVirtual) {\n activeSlide = swiper.$wrapperEl.find(\".\" + params.slideClass + \"[data-swiper-slide-index=\\\"\" + activeIndex + \"\\\"]\");\n } else {\n activeSlide = slides.eq(activeIndex);\n } // Active classes\n\n\n activeSlide.addClass(params.slideActiveClass);\n\n if (params.loop) {\n // Duplicate to all looped slides\n if (activeSlide.hasClass(params.slideDuplicateClass)) {\n $wrapperEl.children(\".\" + params.slideClass + \":not(.\" + params.slideDuplicateClass + \")[data-swiper-slide-index=\\\"\" + realIndex + \"\\\"]\").addClass(params.slideDuplicateActiveClass);\n } else {\n $wrapperEl.children(\".\" + params.slideClass + \".\" + params.slideDuplicateClass + \"[data-swiper-slide-index=\\\"\" + realIndex + \"\\\"]\").addClass(params.slideDuplicateActiveClass);\n }\n } // Next Slide\n\n\n var nextSlide = activeSlide.nextAll(\".\" + params.slideClass).eq(0).addClass(params.slideNextClass);\n\n if (params.loop && nextSlide.length === 0) {\n nextSlide = slides.eq(0);\n nextSlide.addClass(params.slideNextClass);\n } // Prev Slide\n\n\n var prevSlide = activeSlide.prevAll(\".\" + params.slideClass).eq(0).addClass(params.slidePrevClass);\n\n if (params.loop && prevSlide.length === 0) {\n prevSlide = slides.eq(-1);\n prevSlide.addClass(params.slidePrevClass);\n }\n\n if (params.loop) {\n // Duplicate to all looped slides\n if (nextSlide.hasClass(params.slideDuplicateClass)) {\n $wrapperEl.children(\".\" + params.slideClass + \":not(.\" + params.slideDuplicateClass + \")[data-swiper-slide-index=\\\"\" + nextSlide.attr('data-swiper-slide-index') + \"\\\"]\").addClass(params.slideDuplicateNextClass);\n } else {\n $wrapperEl.children(\".\" + params.slideClass + \".\" + params.slideDuplicateClass + \"[data-swiper-slide-index=\\\"\" + nextSlide.attr('data-swiper-slide-index') + \"\\\"]\").addClass(params.slideDuplicateNextClass);\n }\n\n if (prevSlide.hasClass(params.slideDuplicateClass)) {\n $wrapperEl.children(\".\" + params.slideClass + \":not(.\" + params.slideDuplicateClass + \")[data-swiper-slide-index=\\\"\" + prevSlide.attr('data-swiper-slide-index') + \"\\\"]\").addClass(params.slideDuplicatePrevClass);\n } else {\n $wrapperEl.children(\".\" + params.slideClass + \".\" + params.slideDuplicateClass + \"[data-swiper-slide-index=\\\"\" + prevSlide.attr('data-swiper-slide-index') + \"\\\"]\").addClass(params.slideDuplicatePrevClass);\n }\n }\n\n swiper.emitSlidesClasses();\n}","import { extend } from '../../../utils/utils';\nexport default function updateActiveIndex(newActiveIndex) {\n var swiper = this;\n var translate = swiper.rtlTranslate ? swiper.translate : -swiper.translate;\n var slidesGrid = swiper.slidesGrid,\n snapGrid = swiper.snapGrid,\n params = swiper.params,\n previousIndex = swiper.activeIndex,\n previousRealIndex = swiper.realIndex,\n previousSnapIndex = swiper.snapIndex;\n var activeIndex = newActiveIndex;\n var snapIndex;\n\n if (typeof activeIndex === 'undefined') {\n for (var i = 0; i < slidesGrid.length; i += 1) {\n if (typeof slidesGrid[i + 1] !== 'undefined') {\n if (translate >= slidesGrid[i] && translate < slidesGrid[i + 1] - (slidesGrid[i + 1] - slidesGrid[i]) / 2) {\n activeIndex = i;\n } else if (translate >= slidesGrid[i] && translate < slidesGrid[i + 1]) {\n activeIndex = i + 1;\n }\n } else if (translate >= slidesGrid[i]) {\n activeIndex = i;\n }\n } // Normalize slideIndex\n\n\n if (params.normalizeSlideIndex) {\n if (activeIndex < 0 || typeof activeIndex === 'undefined') activeIndex = 0;\n }\n }\n\n if (snapGrid.indexOf(translate) >= 0) {\n snapIndex = snapGrid.indexOf(translate);\n } else {\n var skip = Math.min(params.slidesPerGroupSkip, activeIndex);\n snapIndex = skip + Math.floor((activeIndex - skip) / params.slidesPerGroup);\n }\n\n if (snapIndex >= snapGrid.length) snapIndex = snapGrid.length - 1;\n\n if (activeIndex === previousIndex) {\n if (snapIndex !== previousSnapIndex) {\n swiper.snapIndex = snapIndex;\n swiper.emit('snapIndexChange');\n }\n\n return;\n } // Get real index\n\n\n var realIndex = parseInt(swiper.slides.eq(activeIndex).attr('data-swiper-slide-index') || activeIndex, 10);\n extend(swiper, {\n snapIndex: snapIndex,\n realIndex: realIndex,\n previousIndex: previousIndex,\n activeIndex: activeIndex\n });\n swiper.emit('activeIndexChange');\n swiper.emit('snapIndexChange');\n\n if (previousRealIndex !== realIndex) {\n swiper.emit('realIndexChange');\n }\n\n if (swiper.initialized || swiper.params.runCallbacksOnInit) {\n swiper.emit('slideChange');\n }\n}","import $ from '../../../utils/dom';\nexport default function updateClickedSlide(e) {\n var swiper = this;\n var params = swiper.params;\n var slide = $(e.target).closest(\".\" + params.slideClass)[0];\n var slideFound = false;\n var slideIndex;\n\n if (slide) {\n for (var i = 0; i < swiper.slides.length; i += 1) {\n if (swiper.slides[i] === slide) {\n slideFound = true;\n slideIndex = i;\n break;\n }\n }\n }\n\n if (slide && slideFound) {\n swiper.clickedSlide = slide;\n\n if (swiper.virtual && swiper.params.virtual.enabled) {\n swiper.clickedIndex = parseInt($(slide).attr('data-swiper-slide-index'), 10);\n } else {\n swiper.clickedIndex = slideIndex;\n }\n } else {\n swiper.clickedSlide = undefined;\n swiper.clickedIndex = undefined;\n return;\n }\n\n if (params.slideToClickedSlide && swiper.clickedIndex !== undefined && swiper.clickedIndex !== swiper.activeIndex) {\n swiper.slideToClickedSlide();\n }\n}","import getTranslate from './getTranslate';\nimport setTranslate from './setTranslate';\nimport minTranslate from './minTranslate';\nimport maxTranslate from './maxTranslate';\nimport translateTo from './translateTo';\nexport default {\n getTranslate: getTranslate,\n setTranslate: setTranslate,\n minTranslate: minTranslate,\n maxTranslate: maxTranslate,\n translateTo: translateTo\n};","import { getTranslate } from '../../../utils/utils';\nexport default function getSwiperTranslate(axis) {\n if (axis === void 0) {\n axis = this.isHorizontal() ? 'x' : 'y';\n }\n\n var swiper = this;\n var params = swiper.params,\n rtl = swiper.rtlTranslate,\n translate = swiper.translate,\n $wrapperEl = swiper.$wrapperEl;\n\n if (params.virtualTranslate) {\n return rtl ? -translate : translate;\n }\n\n if (params.cssMode) {\n return translate;\n }\n\n var currentTranslate = getTranslate($wrapperEl[0], axis);\n if (rtl) currentTranslate = -currentTranslate;\n return currentTranslate || 0;\n}","export default function setTranslate(translate, byController) {\n var swiper = this;\n var rtl = swiper.rtlTranslate,\n params = swiper.params,\n $wrapperEl = swiper.$wrapperEl,\n wrapperEl = swiper.wrapperEl,\n progress = swiper.progress;\n var x = 0;\n var y = 0;\n var z = 0;\n\n if (swiper.isHorizontal()) {\n x = rtl ? -translate : translate;\n } else {\n y = translate;\n }\n\n if (params.roundLengths) {\n x = Math.floor(x);\n y = Math.floor(y);\n }\n\n if (params.cssMode) {\n wrapperEl[swiper.isHorizontal() ? 'scrollLeft' : 'scrollTop'] = swiper.isHorizontal() ? -x : -y;\n } else if (!params.virtualTranslate) {\n $wrapperEl.transform(\"translate3d(\" + x + \"px, \" + y + \"px, \" + z + \"px)\");\n }\n\n swiper.previousTranslate = swiper.translate;\n swiper.translate = swiper.isHorizontal() ? x : y; // Check if we need to update progress\n\n var newProgress;\n var translatesDiff = swiper.maxTranslate() - swiper.minTranslate();\n\n if (translatesDiff === 0) {\n newProgress = 0;\n } else {\n newProgress = (translate - swiper.minTranslate()) / translatesDiff;\n }\n\n if (newProgress !== progress) {\n swiper.updateProgress(translate);\n }\n\n swiper.emit('setTranslate', swiper.translate, byController);\n}","export default function minTranslate() {\n return -this.snapGrid[0];\n}","export default function maxTranslate() {\n return -this.snapGrid[this.snapGrid.length - 1];\n}","export default function translateTo(translate, speed, runCallbacks, translateBounds, internal) {\n if (translate === void 0) {\n translate = 0;\n }\n\n if (speed === void 0) {\n speed = this.params.speed;\n }\n\n if (runCallbacks === void 0) {\n runCallbacks = true;\n }\n\n if (translateBounds === void 0) {\n translateBounds = true;\n }\n\n var swiper = this;\n var params = swiper.params,\n wrapperEl = swiper.wrapperEl;\n\n if (swiper.animating && params.preventInteractionOnTransition) {\n return false;\n }\n\n var minTranslate = swiper.minTranslate();\n var maxTranslate = swiper.maxTranslate();\n var newTranslate;\n if (translateBounds && translate > minTranslate) newTranslate = minTranslate;else if (translateBounds && translate < maxTranslate) newTranslate = maxTranslate;else newTranslate = translate; // Update progress\n\n swiper.updateProgress(newTranslate);\n\n if (params.cssMode) {\n var isH = swiper.isHorizontal();\n\n if (speed === 0) {\n wrapperEl[isH ? 'scrollLeft' : 'scrollTop'] = -newTranslate;\n } else {\n // eslint-disable-next-line\n if (wrapperEl.scrollTo) {\n var _wrapperEl$scrollTo;\n\n wrapperEl.scrollTo((_wrapperEl$scrollTo = {}, _wrapperEl$scrollTo[isH ? 'left' : 'top'] = -newTranslate, _wrapperEl$scrollTo.behavior = 'smooth', _wrapperEl$scrollTo));\n } else {\n wrapperEl[isH ? 'scrollLeft' : 'scrollTop'] = -newTranslate;\n }\n }\n\n return true;\n }\n\n if (speed === 0) {\n swiper.setTransition(0);\n swiper.setTranslate(newTranslate);\n\n if (runCallbacks) {\n swiper.emit('beforeTransitionStart', speed, internal);\n swiper.emit('transitionEnd');\n }\n } else {\n swiper.setTransition(speed);\n swiper.setTranslate(newTranslate);\n\n if (runCallbacks) {\n swiper.emit('beforeTransitionStart', speed, internal);\n swiper.emit('transitionStart');\n }\n\n if (!swiper.animating) {\n swiper.animating = true;\n\n if (!swiper.onTranslateToWrapperTransitionEnd) {\n swiper.onTranslateToWrapperTransitionEnd = function transitionEnd(e) {\n if (!swiper || swiper.destroyed) return;\n if (e.target !== this) return;\n swiper.$wrapperEl[0].removeEventListener('transitionend', swiper.onTranslateToWrapperTransitionEnd);\n swiper.$wrapperEl[0].removeEventListener('webkitTransitionEnd', swiper.onTranslateToWrapperTransitionEnd);\n swiper.onTranslateToWrapperTransitionEnd = null;\n delete swiper.onTranslateToWrapperTransitionEnd;\n\n if (runCallbacks) {\n swiper.emit('transitionEnd');\n }\n };\n }\n\n swiper.$wrapperEl[0].addEventListener('transitionend', swiper.onTranslateToWrapperTransitionEnd);\n swiper.$wrapperEl[0].addEventListener('webkitTransitionEnd', swiper.onTranslateToWrapperTransitionEnd);\n }\n }\n\n return true;\n}","import setTransition from './setTransition';\nimport transitionStart from './transitionStart';\nimport transitionEnd from './transitionEnd';\nexport default {\n setTransition: setTransition,\n transitionStart: transitionStart,\n transitionEnd: transitionEnd\n};","export default function setTransition(duration, byController) {\n var swiper = this;\n\n if (!swiper.params.cssMode) {\n swiper.$wrapperEl.transition(duration);\n }\n\n swiper.emit('setTransition', duration, byController);\n}","export default function transitionStart(runCallbacks, direction) {\n if (runCallbacks === void 0) {\n runCallbacks = true;\n }\n\n var swiper = this;\n var activeIndex = swiper.activeIndex,\n params = swiper.params,\n previousIndex = swiper.previousIndex;\n if (params.cssMode) return;\n\n if (params.autoHeight) {\n swiper.updateAutoHeight();\n }\n\n var dir = direction;\n\n if (!dir) {\n if (activeIndex > previousIndex) dir = 'next';else if (activeIndex < previousIndex) dir = 'prev';else dir = 'reset';\n }\n\n swiper.emit('transitionStart');\n\n if (runCallbacks && activeIndex !== previousIndex) {\n if (dir === 'reset') {\n swiper.emit('slideResetTransitionStart');\n return;\n }\n\n swiper.emit('slideChangeTransitionStart');\n\n if (dir === 'next') {\n swiper.emit('slideNextTransitionStart');\n } else {\n swiper.emit('slidePrevTransitionStart');\n }\n }\n}","export default function transitionEnd(runCallbacks, direction) {\n if (runCallbacks === void 0) {\n runCallbacks = true;\n }\n\n var swiper = this;\n var activeIndex = swiper.activeIndex,\n previousIndex = swiper.previousIndex,\n params = swiper.params;\n swiper.animating = false;\n if (params.cssMode) return;\n swiper.setTransition(0);\n var dir = direction;\n\n if (!dir) {\n if (activeIndex > previousIndex) dir = 'next';else if (activeIndex < previousIndex) dir = 'prev';else dir = 'reset';\n }\n\n swiper.emit('transitionEnd');\n\n if (runCallbacks && activeIndex !== previousIndex) {\n if (dir === 'reset') {\n swiper.emit('slideResetTransitionEnd');\n return;\n }\n\n swiper.emit('slideChangeTransitionEnd');\n\n if (dir === 'next') {\n swiper.emit('slideNextTransitionEnd');\n } else {\n swiper.emit('slidePrevTransitionEnd');\n }\n }\n}","import slideTo from './slideTo';\nimport slideToLoop from './slideToLoop';\nimport slideNext from './slideNext';\nimport slidePrev from './slidePrev';\nimport slideReset from './slideReset';\nimport slideToClosest from './slideToClosest';\nimport slideToClickedSlide from './slideToClickedSlide';\nexport default {\n slideTo: slideTo,\n slideToLoop: slideToLoop,\n slideNext: slideNext,\n slidePrev: slidePrev,\n slideReset: slideReset,\n slideToClosest: slideToClosest,\n slideToClickedSlide: slideToClickedSlide\n};","export default function slideTo(index, speed, runCallbacks, internal, initial) {\n if (index === void 0) {\n index = 0;\n }\n\n if (speed === void 0) {\n speed = this.params.speed;\n }\n\n if (runCallbacks === void 0) {\n runCallbacks = true;\n }\n\n if (typeof index !== 'number' && typeof index !== 'string') {\n throw new Error(\"The 'index' argument cannot have type other than 'number' or 'string'. [\" + typeof index + \"] given.\");\n }\n\n if (typeof index === 'string') {\n /**\n * The `index` argument converted from `string` to `number`.\n * @type {number}\n */\n var indexAsNumber = parseInt(index, 10);\n /**\n * Determines whether the `index` argument is a valid `number`\n * after being converted from the `string` type.\n * @type {boolean}\n */\n\n var isValidNumber = isFinite(indexAsNumber);\n\n if (!isValidNumber) {\n throw new Error(\"The passed-in 'index' (string) couldn't be converted to 'number'. [\" + index + \"] given.\");\n } // Knowing that the converted `index` is a valid number,\n // we can update the original argument's value.\n\n\n index = indexAsNumber;\n }\n\n var swiper = this;\n var slideIndex = index;\n if (slideIndex < 0) slideIndex = 0;\n var params = swiper.params,\n snapGrid = swiper.snapGrid,\n slidesGrid = swiper.slidesGrid,\n previousIndex = swiper.previousIndex,\n activeIndex = swiper.activeIndex,\n rtl = swiper.rtlTranslate,\n wrapperEl = swiper.wrapperEl,\n enabled = swiper.enabled;\n\n if (swiper.animating && params.preventInteractionOnTransition || !enabled && !internal && !initial) {\n return false;\n }\n\n var skip = Math.min(swiper.params.slidesPerGroupSkip, slideIndex);\n var snapIndex = skip + Math.floor((slideIndex - skip) / swiper.params.slidesPerGroup);\n if (snapIndex >= snapGrid.length) snapIndex = snapGrid.length - 1;\n\n if ((activeIndex || params.initialSlide || 0) === (previousIndex || 0) && runCallbacks) {\n swiper.emit('beforeSlideChangeStart');\n }\n\n var translate = -snapGrid[snapIndex]; // Update progress\n\n swiper.updateProgress(translate); // Normalize slideIndex\n\n if (params.normalizeSlideIndex) {\n for (var i = 0; i < slidesGrid.length; i += 1) {\n var normalizedTranslate = -Math.floor(translate * 100);\n var normalizedGird = Math.floor(slidesGrid[i] * 100);\n var normalizedGridNext = Math.floor(slidesGrid[i + 1] * 100);\n\n if (typeof slidesGrid[i + 1] !== 'undefined') {\n if (normalizedTranslate >= normalizedGird && normalizedTranslate < normalizedGridNext - (normalizedGridNext - normalizedGird) / 2) {\n slideIndex = i;\n } else if (normalizedTranslate >= normalizedGird && normalizedTranslate < normalizedGridNext) {\n slideIndex = i + 1;\n }\n } else if (normalizedTranslate >= normalizedGird) {\n slideIndex = i;\n }\n }\n } // Directions locks\n\n\n if (swiper.initialized && slideIndex !== activeIndex) {\n if (!swiper.allowSlideNext && translate < swiper.translate && translate < swiper.minTranslate()) {\n return false;\n }\n\n if (!swiper.allowSlidePrev && translate > swiper.translate && translate > swiper.maxTranslate()) {\n if ((activeIndex || 0) !== slideIndex) return false;\n }\n }\n\n var direction;\n if (slideIndex > activeIndex) direction = 'next';else if (slideIndex < activeIndex) direction = 'prev';else direction = 'reset'; // Update Index\n\n if (rtl && -translate === swiper.translate || !rtl && translate === swiper.translate) {\n swiper.updateActiveIndex(slideIndex); // Update Height\n\n if (params.autoHeight) {\n swiper.updateAutoHeight();\n }\n\n swiper.updateSlidesClasses();\n\n if (params.effect !== 'slide') {\n swiper.setTranslate(translate);\n }\n\n if (direction !== 'reset') {\n swiper.transitionStart(runCallbacks, direction);\n swiper.transitionEnd(runCallbacks, direction);\n }\n\n return false;\n }\n\n if (params.cssMode) {\n var isH = swiper.isHorizontal();\n var t = -translate;\n\n if (rtl) {\n t = wrapperEl.scrollWidth - wrapperEl.offsetWidth - t;\n }\n\n if (speed === 0) {\n wrapperEl[isH ? 'scrollLeft' : 'scrollTop'] = t;\n } else {\n // eslint-disable-next-line\n if (wrapperEl.scrollTo) {\n var _wrapperEl$scrollTo;\n\n wrapperEl.scrollTo((_wrapperEl$scrollTo = {}, _wrapperEl$scrollTo[isH ? 'left' : 'top'] = t, _wrapperEl$scrollTo.behavior = 'smooth', _wrapperEl$scrollTo));\n } else {\n wrapperEl[isH ? 'scrollLeft' : 'scrollTop'] = t;\n }\n }\n\n return true;\n }\n\n if (speed === 0) {\n swiper.setTransition(0);\n swiper.setTranslate(translate);\n swiper.updateActiveIndex(slideIndex);\n swiper.updateSlidesClasses();\n swiper.emit('beforeTransitionStart', speed, internal);\n swiper.transitionStart(runCallbacks, direction);\n swiper.transitionEnd(runCallbacks, direction);\n } else {\n swiper.setTransition(speed);\n swiper.setTranslate(translate);\n swiper.updateActiveIndex(slideIndex);\n swiper.updateSlidesClasses();\n swiper.emit('beforeTransitionStart', speed, internal);\n swiper.transitionStart(runCallbacks, direction);\n\n if (!swiper.animating) {\n swiper.animating = true;\n\n if (!swiper.onSlideToWrapperTransitionEnd) {\n swiper.onSlideToWrapperTransitionEnd = function transitionEnd(e) {\n if (!swiper || swiper.destroyed) return;\n if (e.target !== this) return;\n swiper.$wrapperEl[0].removeEventListener('transitionend', swiper.onSlideToWrapperTransitionEnd);\n swiper.$wrapperEl[0].removeEventListener('webkitTransitionEnd', swiper.onSlideToWrapperTransitionEnd);\n swiper.onSlideToWrapperTransitionEnd = null;\n delete swiper.onSlideToWrapperTransitionEnd;\n swiper.transitionEnd(runCallbacks, direction);\n };\n }\n\n swiper.$wrapperEl[0].addEventListener('transitionend', swiper.onSlideToWrapperTransitionEnd);\n swiper.$wrapperEl[0].addEventListener('webkitTransitionEnd', swiper.onSlideToWrapperTransitionEnd);\n }\n }\n\n return true;\n}","export default function slideToLoop(index, speed, runCallbacks, internal) {\n if (index === void 0) {\n index = 0;\n }\n\n if (speed === void 0) {\n speed = this.params.speed;\n }\n\n if (runCallbacks === void 0) {\n runCallbacks = true;\n }\n\n var swiper = this;\n var newIndex = index;\n\n if (swiper.params.loop) {\n newIndex += swiper.loopedSlides;\n }\n\n return swiper.slideTo(newIndex, speed, runCallbacks, internal);\n}","/* eslint no-unused-vars: \"off\" */\nexport default function slideNext(speed, runCallbacks, internal) {\n if (speed === void 0) {\n speed = this.params.speed;\n }\n\n if (runCallbacks === void 0) {\n runCallbacks = true;\n }\n\n var swiper = this;\n var params = swiper.params,\n animating = swiper.animating,\n enabled = swiper.enabled;\n if (!enabled) return swiper;\n var increment = swiper.activeIndex < params.slidesPerGroupSkip ? 1 : params.slidesPerGroup;\n\n if (params.loop) {\n if (animating && params.loopPreventsSlide) return false;\n swiper.loopFix(); // eslint-disable-next-line\n\n swiper._clientLeft = swiper.$wrapperEl[0].clientLeft;\n }\n\n return swiper.slideTo(swiper.activeIndex + increment, speed, runCallbacks, internal);\n}","/* eslint no-unused-vars: \"off\" */\nexport default function slidePrev(speed, runCallbacks, internal) {\n if (speed === void 0) {\n speed = this.params.speed;\n }\n\n if (runCallbacks === void 0) {\n runCallbacks = true;\n }\n\n var swiper = this;\n var params = swiper.params,\n animating = swiper.animating,\n snapGrid = swiper.snapGrid,\n slidesGrid = swiper.slidesGrid,\n rtlTranslate = swiper.rtlTranslate,\n enabled = swiper.enabled;\n if (!enabled) return swiper;\n\n if (params.loop) {\n if (animating && params.loopPreventsSlide) return false;\n swiper.loopFix(); // eslint-disable-next-line\n\n swiper._clientLeft = swiper.$wrapperEl[0].clientLeft;\n }\n\n var translate = rtlTranslate ? swiper.translate : -swiper.translate;\n\n function normalize(val) {\n if (val < 0) return -Math.floor(Math.abs(val));\n return Math.floor(val);\n }\n\n var normalizedTranslate = normalize(translate);\n var normalizedSnapGrid = snapGrid.map(function (val) {\n return normalize(val);\n });\n var prevSnap = snapGrid[normalizedSnapGrid.indexOf(normalizedTranslate) - 1];\n\n if (typeof prevSnap === 'undefined' && params.cssMode) {\n snapGrid.forEach(function (snap) {\n if (!prevSnap && normalizedTranslate >= snap) prevSnap = snap;\n });\n }\n\n var prevIndex;\n\n if (typeof prevSnap !== 'undefined') {\n prevIndex = slidesGrid.indexOf(prevSnap);\n if (prevIndex < 0) prevIndex = swiper.activeIndex - 1;\n }\n\n return swiper.slideTo(prevIndex, speed, runCallbacks, internal);\n}","/* eslint no-unused-vars: \"off\" */\nexport default function slideReset(speed, runCallbacks, internal) {\n if (speed === void 0) {\n speed = this.params.speed;\n }\n\n if (runCallbacks === void 0) {\n runCallbacks = true;\n }\n\n var swiper = this;\n return swiper.slideTo(swiper.activeIndex, speed, runCallbacks, internal);\n}","/* eslint no-unused-vars: \"off\" */\nexport default function slideToClosest(speed, runCallbacks, internal, threshold) {\n if (speed === void 0) {\n speed = this.params.speed;\n }\n\n if (runCallbacks === void 0) {\n runCallbacks = true;\n }\n\n if (threshold === void 0) {\n threshold = 0.5;\n }\n\n var swiper = this;\n var index = swiper.activeIndex;\n var skip = Math.min(swiper.params.slidesPerGroupSkip, index);\n var snapIndex = skip + Math.floor((index - skip) / swiper.params.slidesPerGroup);\n var translate = swiper.rtlTranslate ? swiper.translate : -swiper.translate;\n\n if (translate >= swiper.snapGrid[snapIndex]) {\n // The current translate is on or after the current snap index, so the choice\n // is between the current index and the one after it.\n var currentSnap = swiper.snapGrid[snapIndex];\n var nextSnap = swiper.snapGrid[snapIndex + 1];\n\n if (translate - currentSnap > (nextSnap - currentSnap) * threshold) {\n index += swiper.params.slidesPerGroup;\n }\n } else {\n // The current translate is before the current snap index, so the choice\n // is between the current index and the one before it.\n var prevSnap = swiper.snapGrid[snapIndex - 1];\n var _currentSnap = swiper.snapGrid[snapIndex];\n\n if (translate - prevSnap <= (_currentSnap - prevSnap) * threshold) {\n index -= swiper.params.slidesPerGroup;\n }\n }\n\n index = Math.max(index, 0);\n index = Math.min(index, swiper.slidesGrid.length - 1);\n return swiper.slideTo(index, speed, runCallbacks, internal);\n}","import $ from '../../../utils/dom';\nimport { nextTick } from '../../../utils/utils';\nexport default function slideToClickedSlide() {\n var swiper = this;\n var params = swiper.params,\n $wrapperEl = swiper.$wrapperEl;\n var slidesPerView = params.slidesPerView === 'auto' ? swiper.slidesPerViewDynamic() : params.slidesPerView;\n var slideToIndex = swiper.clickedIndex;\n var realIndex;\n\n if (params.loop) {\n if (swiper.animating) return;\n realIndex = parseInt($(swiper.clickedSlide).attr('data-swiper-slide-index'), 10);\n\n if (params.centeredSlides) {\n if (slideToIndex < swiper.loopedSlides - slidesPerView / 2 || slideToIndex > swiper.slides.length - swiper.loopedSlides + slidesPerView / 2) {\n swiper.loopFix();\n slideToIndex = $wrapperEl.children(\".\" + params.slideClass + \"[data-swiper-slide-index=\\\"\" + realIndex + \"\\\"]:not(.\" + params.slideDuplicateClass + \")\").eq(0).index();\n nextTick(function () {\n swiper.slideTo(slideToIndex);\n });\n } else {\n swiper.slideTo(slideToIndex);\n }\n } else if (slideToIndex > swiper.slides.length - slidesPerView) {\n swiper.loopFix();\n slideToIndex = $wrapperEl.children(\".\" + params.slideClass + \"[data-swiper-slide-index=\\\"\" + realIndex + \"\\\"]:not(.\" + params.slideDuplicateClass + \")\").eq(0).index();\n nextTick(function () {\n swiper.slideTo(slideToIndex);\n });\n } else {\n swiper.slideTo(slideToIndex);\n }\n } else {\n swiper.slideTo(slideToIndex);\n }\n}","import loopCreate from './loopCreate';\nimport loopFix from './loopFix';\nimport loopDestroy from './loopDestroy';\nexport default {\n loopCreate: loopCreate,\n loopFix: loopFix,\n loopDestroy: loopDestroy\n};","import { getDocument } from 'ssr-window';\nimport $ from '../../../utils/dom';\nexport default function loopCreate() {\n var swiper = this;\n var document = getDocument();\n var params = swiper.params,\n $wrapperEl = swiper.$wrapperEl; // Remove duplicated slides\n\n $wrapperEl.children(\".\" + params.slideClass + \".\" + params.slideDuplicateClass).remove();\n var slides = $wrapperEl.children(\".\" + params.slideClass);\n\n if (params.loopFillGroupWithBlank) {\n var blankSlidesNum = params.slidesPerGroup - slides.length % params.slidesPerGroup;\n\n if (blankSlidesNum !== params.slidesPerGroup) {\n for (var i = 0; i < blankSlidesNum; i += 1) {\n var blankNode = $(document.createElement('div')).addClass(params.slideClass + \" \" + params.slideBlankClass);\n $wrapperEl.append(blankNode);\n }\n\n slides = $wrapperEl.children(\".\" + params.slideClass);\n }\n }\n\n if (params.slidesPerView === 'auto' && !params.loopedSlides) params.loopedSlides = slides.length;\n swiper.loopedSlides = Math.ceil(parseFloat(params.loopedSlides || params.slidesPerView, 10));\n swiper.loopedSlides += params.loopAdditionalSlides;\n\n if (swiper.loopedSlides > slides.length) {\n swiper.loopedSlides = slides.length;\n }\n\n var prependSlides = [];\n var appendSlides = [];\n slides.each(function (el, index) {\n var slide = $(el);\n\n if (index < swiper.loopedSlides) {\n appendSlides.push(el);\n }\n\n if (index < slides.length && index >= slides.length - swiper.loopedSlides) {\n prependSlides.push(el);\n }\n\n slide.attr('data-swiper-slide-index', index);\n });\n\n for (var _i = 0; _i < appendSlides.length; _i += 1) {\n $wrapperEl.append($(appendSlides[_i].cloneNode(true)).addClass(params.slideDuplicateClass));\n }\n\n for (var _i2 = prependSlides.length - 1; _i2 >= 0; _i2 -= 1) {\n $wrapperEl.prepend($(prependSlides[_i2].cloneNode(true)).addClass(params.slideDuplicateClass));\n }\n}","export default function loopFix() {\n var swiper = this;\n swiper.emit('beforeLoopFix');\n var activeIndex = swiper.activeIndex,\n slides = swiper.slides,\n loopedSlides = swiper.loopedSlides,\n allowSlidePrev = swiper.allowSlidePrev,\n allowSlideNext = swiper.allowSlideNext,\n snapGrid = swiper.snapGrid,\n rtl = swiper.rtlTranslate;\n var newIndex;\n swiper.allowSlidePrev = true;\n swiper.allowSlideNext = true;\n var snapTranslate = -snapGrid[activeIndex];\n var diff = snapTranslate - swiper.getTranslate(); // Fix For Negative Oversliding\n\n if (activeIndex < loopedSlides) {\n newIndex = slides.length - loopedSlides * 3 + activeIndex;\n newIndex += loopedSlides;\n var slideChanged = swiper.slideTo(newIndex, 0, false, true);\n\n if (slideChanged && diff !== 0) {\n swiper.setTranslate((rtl ? -swiper.translate : swiper.translate) - diff);\n }\n } else if (activeIndex >= slides.length - loopedSlides) {\n // Fix For Positive Oversliding\n newIndex = -slides.length + activeIndex + loopedSlides;\n newIndex += loopedSlides;\n\n var _slideChanged = swiper.slideTo(newIndex, 0, false, true);\n\n if (_slideChanged && diff !== 0) {\n swiper.setTranslate((rtl ? -swiper.translate : swiper.translate) - diff);\n }\n }\n\n swiper.allowSlidePrev = allowSlidePrev;\n swiper.allowSlideNext = allowSlideNext;\n swiper.emit('loopFix');\n}","export default function loopDestroy() {\n var swiper = this;\n var $wrapperEl = swiper.$wrapperEl,\n params = swiper.params,\n slides = swiper.slides;\n $wrapperEl.children(\".\" + params.slideClass + \".\" + params.slideDuplicateClass + \",.\" + params.slideClass + \".\" + params.slideBlankClass).remove();\n slides.removeAttr('data-swiper-slide-index');\n}","import setGrabCursor from './setGrabCursor';\nimport unsetGrabCursor from './unsetGrabCursor';\nexport default {\n setGrabCursor: setGrabCursor,\n unsetGrabCursor: unsetGrabCursor\n};","export default function setGrabCursor(moving) {\n var swiper = this;\n if (swiper.support.touch || !swiper.params.simulateTouch || swiper.params.watchOverflow && swiper.isLocked || swiper.params.cssMode) return;\n var el = swiper.el;\n el.style.cursor = 'move';\n el.style.cursor = moving ? '-webkit-grabbing' : '-webkit-grab';\n el.style.cursor = moving ? '-moz-grabbin' : '-moz-grab';\n el.style.cursor = moving ? 'grabbing' : 'grab';\n}","export default function unsetGrabCursor() {\n var swiper = this;\n\n if (swiper.support.touch || swiper.params.watchOverflow && swiper.isLocked || swiper.params.cssMode) {\n return;\n }\n\n swiper.el.style.cursor = '';\n}","import appendSlide from './appendSlide';\nimport prependSlide from './prependSlide';\nimport addSlide from './addSlide';\nimport removeSlide from './removeSlide';\nimport removeAllSlides from './removeAllSlides';\nexport default {\n appendSlide: appendSlide,\n prependSlide: prependSlide,\n addSlide: addSlide,\n removeSlide: removeSlide,\n removeAllSlides: removeAllSlides\n};","export default function appendSlide(slides) {\n var swiper = this;\n var $wrapperEl = swiper.$wrapperEl,\n params = swiper.params;\n\n if (params.loop) {\n swiper.loopDestroy();\n }\n\n if (typeof slides === 'object' && 'length' in slides) {\n for (var i = 0; i < slides.length; i += 1) {\n if (slides[i]) $wrapperEl.append(slides[i]);\n }\n } else {\n $wrapperEl.append(slides);\n }\n\n if (params.loop) {\n swiper.loopCreate();\n }\n\n if (!(params.observer && swiper.support.observer)) {\n swiper.update();\n }\n}","export default function prependSlide(slides) {\n var swiper = this;\n var params = swiper.params,\n $wrapperEl = swiper.$wrapperEl,\n activeIndex = swiper.activeIndex;\n\n if (params.loop) {\n swiper.loopDestroy();\n }\n\n var newActiveIndex = activeIndex + 1;\n\n if (typeof slides === 'object' && 'length' in slides) {\n for (var i = 0; i < slides.length; i += 1) {\n if (slides[i]) $wrapperEl.prepend(slides[i]);\n }\n\n newActiveIndex = activeIndex + slides.length;\n } else {\n $wrapperEl.prepend(slides);\n }\n\n if (params.loop) {\n swiper.loopCreate();\n }\n\n if (!(params.observer && swiper.support.observer)) {\n swiper.update();\n }\n\n swiper.slideTo(newActiveIndex, 0, false);\n}","export default function addSlide(index, slides) {\n var swiper = this;\n var $wrapperEl = swiper.$wrapperEl,\n params = swiper.params,\n activeIndex = swiper.activeIndex;\n var activeIndexBuffer = activeIndex;\n\n if (params.loop) {\n activeIndexBuffer -= swiper.loopedSlides;\n swiper.loopDestroy();\n swiper.slides = $wrapperEl.children(\".\" + params.slideClass);\n }\n\n var baseLength = swiper.slides.length;\n\n if (index <= 0) {\n swiper.prependSlide(slides);\n return;\n }\n\n if (index >= baseLength) {\n swiper.appendSlide(slides);\n return;\n }\n\n var newActiveIndex = activeIndexBuffer > index ? activeIndexBuffer + 1 : activeIndexBuffer;\n var slidesBuffer = [];\n\n for (var i = baseLength - 1; i >= index; i -= 1) {\n var currentSlide = swiper.slides.eq(i);\n currentSlide.remove();\n slidesBuffer.unshift(currentSlide);\n }\n\n if (typeof slides === 'object' && 'length' in slides) {\n for (var _i = 0; _i < slides.length; _i += 1) {\n if (slides[_i]) $wrapperEl.append(slides[_i]);\n }\n\n newActiveIndex = activeIndexBuffer > index ? activeIndexBuffer + slides.length : activeIndexBuffer;\n } else {\n $wrapperEl.append(slides);\n }\n\n for (var _i2 = 0; _i2 < slidesBuffer.length; _i2 += 1) {\n $wrapperEl.append(slidesBuffer[_i2]);\n }\n\n if (params.loop) {\n swiper.loopCreate();\n }\n\n if (!(params.observer && swiper.support.observer)) {\n swiper.update();\n }\n\n if (params.loop) {\n swiper.slideTo(newActiveIndex + swiper.loopedSlides, 0, false);\n } else {\n swiper.slideTo(newActiveIndex, 0, false);\n }\n}","export default function removeSlide(slidesIndexes) {\n var swiper = this;\n var params = swiper.params,\n $wrapperEl = swiper.$wrapperEl,\n activeIndex = swiper.activeIndex;\n var activeIndexBuffer = activeIndex;\n\n if (params.loop) {\n activeIndexBuffer -= swiper.loopedSlides;\n swiper.loopDestroy();\n swiper.slides = $wrapperEl.children(\".\" + params.slideClass);\n }\n\n var newActiveIndex = activeIndexBuffer;\n var indexToRemove;\n\n if (typeof slidesIndexes === 'object' && 'length' in slidesIndexes) {\n for (var i = 0; i < slidesIndexes.length; i += 1) {\n indexToRemove = slidesIndexes[i];\n if (swiper.slides[indexToRemove]) swiper.slides.eq(indexToRemove).remove();\n if (indexToRemove < newActiveIndex) newActiveIndex -= 1;\n }\n\n newActiveIndex = Math.max(newActiveIndex, 0);\n } else {\n indexToRemove = slidesIndexes;\n if (swiper.slides[indexToRemove]) swiper.slides.eq(indexToRemove).remove();\n if (indexToRemove < newActiveIndex) newActiveIndex -= 1;\n newActiveIndex = Math.max(newActiveIndex, 0);\n }\n\n if (params.loop) {\n swiper.loopCreate();\n }\n\n if (!(params.observer && swiper.support.observer)) {\n swiper.update();\n }\n\n if (params.loop) {\n swiper.slideTo(newActiveIndex + swiper.loopedSlides, 0, false);\n } else {\n swiper.slideTo(newActiveIndex, 0, false);\n }\n}","export default function removeAllSlides() {\n var swiper = this;\n var slidesIndexes = [];\n\n for (var i = 0; i < swiper.slides.length; i += 1) {\n slidesIndexes.push(i);\n }\n\n swiper.removeSlide(slidesIndexes);\n}","import setBreakpoint from './setBreakpoint';\nimport getBreakpoint from './getBreakpoint';\nexport default {\n setBreakpoint: setBreakpoint,\n getBreakpoint: getBreakpoint\n};","import { extend } from '../../../utils/utils';\nexport default function setBreakpoint() {\n var swiper = this;\n var activeIndex = swiper.activeIndex,\n initialized = swiper.initialized,\n _swiper$loopedSlides = swiper.loopedSlides,\n loopedSlides = _swiper$loopedSlides === void 0 ? 0 : _swiper$loopedSlides,\n params = swiper.params,\n $el = swiper.$el;\n var breakpoints = params.breakpoints;\n if (!breakpoints || breakpoints && Object.keys(breakpoints).length === 0) return; // Get breakpoint for window width and update parameters\n\n var breakpoint = swiper.getBreakpoint(breakpoints, swiper.params.breakpointsBase, swiper.el);\n if (!breakpoint || swiper.currentBreakpoint === breakpoint) return;\n var breakpointOnlyParams = breakpoint in breakpoints ? breakpoints[breakpoint] : undefined;\n\n if (breakpointOnlyParams) {\n ['slidesPerView', 'spaceBetween', 'slidesPerGroup', 'slidesPerGroupSkip', 'slidesPerColumn'].forEach(function (param) {\n var paramValue = breakpointOnlyParams[param];\n if (typeof paramValue === 'undefined') return;\n\n if (param === 'slidesPerView' && (paramValue === 'AUTO' || paramValue === 'auto')) {\n breakpointOnlyParams[param] = 'auto';\n } else if (param === 'slidesPerView') {\n breakpointOnlyParams[param] = parseFloat(paramValue);\n } else {\n breakpointOnlyParams[param] = parseInt(paramValue, 10);\n }\n });\n }\n\n var breakpointParams = breakpointOnlyParams || swiper.originalParams;\n var wasMultiRow = params.slidesPerColumn > 1;\n var isMultiRow = breakpointParams.slidesPerColumn > 1;\n var wasEnabled = params.enabled;\n\n if (wasMultiRow && !isMultiRow) {\n $el.removeClass(params.containerModifierClass + \"multirow \" + params.containerModifierClass + \"multirow-column\");\n swiper.emitContainerClasses();\n } else if (!wasMultiRow && isMultiRow) {\n $el.addClass(params.containerModifierClass + \"multirow\");\n\n if (breakpointParams.slidesPerColumnFill && breakpointParams.slidesPerColumnFill === 'column' || !breakpointParams.slidesPerColumnFill && params.slidesPerColumnFill === 'column') {\n $el.addClass(params.containerModifierClass + \"multirow-column\");\n }\n\n swiper.emitContainerClasses();\n }\n\n var directionChanged = breakpointParams.direction && breakpointParams.direction !== params.direction;\n var needsReLoop = params.loop && (breakpointParams.slidesPerView !== params.slidesPerView || directionChanged);\n\n if (directionChanged && initialized) {\n swiper.changeDirection();\n }\n\n extend(swiper.params, breakpointParams);\n var isEnabled = swiper.params.enabled;\n extend(swiper, {\n allowTouchMove: swiper.params.allowTouchMove,\n allowSlideNext: swiper.params.allowSlideNext,\n allowSlidePrev: swiper.params.allowSlidePrev\n });\n\n if (wasEnabled && !isEnabled) {\n swiper.disable();\n } else if (!wasEnabled && isEnabled) {\n swiper.enable();\n }\n\n swiper.currentBreakpoint = breakpoint;\n swiper.emit('_beforeBreakpoint', breakpointParams);\n\n if (needsReLoop && initialized) {\n swiper.loopDestroy();\n swiper.loopCreate();\n swiper.updateSlides();\n swiper.slideTo(activeIndex - loopedSlides + swiper.loopedSlides, 0, false);\n }\n\n swiper.emit('breakpoint', breakpointParams);\n}","import { getWindow } from 'ssr-window';\nexport default function getBreakpoint(breakpoints, base, containerEl) {\n if (base === void 0) {\n base = 'window';\n }\n\n if (!breakpoints || base === 'container' && !containerEl) return undefined;\n var breakpoint = false;\n var window = getWindow();\n var currentHeight = base === 'window' ? window.innerHeight : containerEl.clientHeight;\n var points = Object.keys(breakpoints).map(function (point) {\n if (typeof point === 'string' && point.indexOf('@') === 0) {\n var minRatio = parseFloat(point.substr(1));\n var value = currentHeight * minRatio;\n return {\n value: value,\n point: point\n };\n }\n\n return {\n value: point,\n point: point\n };\n });\n points.sort(function (a, b) {\n return parseInt(a.value, 10) - parseInt(b.value, 10);\n });\n\n for (var i = 0; i < points.length; i += 1) {\n var _points$i = points[i],\n point = _points$i.point,\n value = _points$i.value;\n\n if (base === 'window') {\n if (window.matchMedia(\"(min-width: \" + value + \"px)\").matches) {\n breakpoint = point;\n }\n } else if (value <= containerEl.clientWidth) {\n breakpoint = point;\n }\n }\n\n return breakpoint || 'max';\n}","import addClasses from './addClasses';\nimport removeClasses from './removeClasses';\nexport default {\n addClasses: addClasses,\n removeClasses: removeClasses\n};","function prepareClasses(entries, prefix) {\n var resultClasses = [];\n entries.forEach(function (item) {\n if (typeof item === 'object') {\n Object.keys(item).forEach(function (classNames) {\n if (item[classNames]) {\n resultClasses.push(prefix + classNames);\n }\n });\n } else if (typeof item === 'string') {\n resultClasses.push(prefix + item);\n }\n });\n return resultClasses;\n}\n\nexport default function addClasses() {\n var swiper = this;\n var classNames = swiper.classNames,\n params = swiper.params,\n rtl = swiper.rtl,\n $el = swiper.$el,\n device = swiper.device,\n support = swiper.support; // prettier-ignore\n\n var suffixes = prepareClasses(['initialized', params.direction, {\n 'pointer-events': support.pointerEvents && !support.touch\n }, {\n 'free-mode': params.freeMode\n }, {\n 'autoheight': params.autoHeight\n }, {\n 'rtl': rtl\n }, {\n 'multirow': params.slidesPerColumn > 1\n }, {\n 'multirow-column': params.slidesPerColumn > 1 && params.slidesPerColumnFill === 'column'\n }, {\n 'android': device.android\n }, {\n 'ios': device.ios\n }, {\n 'css-mode': params.cssMode\n }], params.containerModifierClass);\n classNames.push.apply(classNames, suffixes);\n $el.addClass([].concat(classNames).join(' '));\n swiper.emitContainerClasses();\n}","export default function removeClasses() {\n var swiper = this;\n var $el = swiper.$el,\n classNames = swiper.classNames;\n $el.removeClass(classNames.join(' '));\n swiper.emitContainerClasses();\n}","import loadImage from './loadImage';\nimport preloadImages from './preloadImages';\nexport default {\n loadImage: loadImage,\n preloadImages: preloadImages\n};","import { getWindow } from 'ssr-window';\nimport $ from '../../../utils/dom';\nexport default function loadImage(imageEl, src, srcset, sizes, checkForComplete, callback) {\n var window = getWindow();\n var image;\n\n function onReady() {\n if (callback) callback();\n }\n\n var isPicture = $(imageEl).parent('picture')[0];\n\n if (!isPicture && (!imageEl.complete || !checkForComplete)) {\n if (src) {\n image = new window.Image();\n image.onload = onReady;\n image.onerror = onReady;\n\n if (sizes) {\n image.sizes = sizes;\n }\n\n if (srcset) {\n image.srcset = srcset;\n }\n\n if (src) {\n image.src = src;\n }\n } else {\n onReady();\n }\n } else {\n // image already loaded...\n onReady();\n }\n}","export default function preloadImages() {\n var swiper = this;\n swiper.imagesToLoad = swiper.$el.find('img');\n\n function onReady() {\n if (typeof swiper === 'undefined' || swiper === null || !swiper || swiper.destroyed) return;\n if (swiper.imagesLoaded !== undefined) swiper.imagesLoaded += 1;\n\n if (swiper.imagesLoaded === swiper.imagesToLoad.length) {\n if (swiper.params.updateOnImagesReady) swiper.update();\n swiper.emit('imagesReady');\n }\n }\n\n for (var i = 0; i < swiper.imagesToLoad.length; i += 1) {\n var imageEl = swiper.imagesToLoad[i];\n swiper.loadImage(imageEl, imageEl.currentSrc || imageEl.getAttribute('src'), imageEl.srcset || imageEl.getAttribute('srcset'), imageEl.sizes || imageEl.getAttribute('sizes'), true, onReady);\n }\n}","/* underscore in name -> watch for changes */\nvar paramsList = ['init', '_direction', 'touchEventsTarget', 'initialSlide', '_speed', 'cssMode', 'updateOnWindowResize', 'resizeObserver', 'nested', 'focusableElements', '_enabled', '_width', '_height', 'preventInteractionOnTransition', 'userAgent', 'url', '_edgeSwipeDetection', '_edgeSwipeThreshold', '_freeMode', '_freeModeMomentum', '_freeModeMomentumRatio', '_freeModeMomentumBounce', '_freeModeMomentumBounceRatio', '_freeModeMomentumVelocityRatio', '_freeModeSticky', '_freeModeMinimumVelocity', '_autoHeight', 'setWrapperSize', 'virtualTranslate', '_effect', 'breakpoints', '_spaceBetween', '_slidesPerView', '_slidesPerColumn', '_slidesPerColumnFill', '_slidesPerGroup', '_slidesPerGroupSkip', '_centeredSlides', '_centeredSlidesBounds', '_slidesOffsetBefore', '_slidesOffsetAfter', 'normalizeSlideIndex', '_centerInsufficientSlides', '_watchOverflow', 'roundLengths', 'touchRatio', 'touchAngle', 'simulateTouch', '_shortSwipes', '_longSwipes', 'longSwipesRatio', 'longSwipesMs', '_followFinger', 'allowTouchMove', '_threshold', 'touchMoveStopPropagation', 'touchStartPreventDefault', 'touchStartForcePreventDefault', 'touchReleaseOnEdges', 'uniqueNavElements', '_resistance', '_resistanceRatio', '_watchSlidesProgress', '_watchSlidesVisibility', '_grabCursor', 'preventClicks', 'preventClicksPropagation', '_slideToClickedSlide', '_preloadImages', 'updateOnImagesReady', '_loop', '_loopAdditionalSlides', '_loopedSlides', '_loopFillGroupWithBlank', 'loopPreventsSlide', '_allowSlidePrev', '_allowSlideNext', '_swipeHandler', '_noSwiping', 'noSwipingClass', 'noSwipingSelector', 'passiveListeners', 'containerModifierClass', 'slideClass', 'slideBlankClass', 'slideActiveClass', 'slideDuplicateActiveClass', 'slideVisibleClass', 'slideDuplicateClass', 'slideNextClass', 'slideDuplicateNextClass', 'slidePrevClass', 'slideDuplicatePrevClass', 'wrapperClass', 'runCallbacksOnInit', 'observer', 'observeParents', 'observeSlideChildren', // modules\n'a11y', 'autoplay', '_controller', 'coverflowEffect', 'cubeEffect', 'fadeEffect', 'flipEffect', 'hashNavigation', 'history', 'keyboard', 'lazy', 'mousewheel', '_navigation', '_pagination', 'parallax', '_scrollbar', '_thumbs', 'virtual', 'zoom'];\nexport { paramsList };","import React from 'react'; // eslint-disable-next-line\n\nimport Swiper from '../../core';\n\nfunction calcLoopedSlides(slides, swiperParams) {\n var slidesPerViewParams = swiperParams.slidesPerView;\n\n if (swiperParams.breakpoints) {\n var breakpoint = Swiper.prototype.getBreakpoint(swiperParams.breakpoints);\n var breakpointOnlyParams = breakpoint in swiperParams.breakpoints ? swiperParams.breakpoints[breakpoint] : undefined;\n\n if (breakpointOnlyParams && breakpointOnlyParams.slidesPerView) {\n slidesPerViewParams = breakpointOnlyParams.slidesPerView;\n }\n }\n\n var loopedSlides = Math.ceil(parseFloat(swiperParams.loopedSlides || slidesPerViewParams, 10));\n loopedSlides += swiperParams.loopAdditionalSlides;\n\n if (loopedSlides > slides.length) {\n loopedSlides = slides.length;\n }\n\n return loopedSlides;\n}\n\nfunction renderLoop(swiper, slides, swiperParams) {\n var modifiedSlides = slides.map(function (child, index) {\n return /*#__PURE__*/React.cloneElement(child, {\n swiper: swiper,\n 'data-swiper-slide-index': index\n });\n });\n\n function duplicateSlide(child, index, position) {\n return /*#__PURE__*/React.cloneElement(child, {\n key: child.key + \"-duplicate-\" + index + \"-\" + position,\n className: (child.props.className || '') + \" \" + swiperParams.slideDuplicateClass\n });\n }\n\n if (swiperParams.loopFillGroupWithBlank) {\n var blankSlidesNum = swiperParams.slidesPerGroup - modifiedSlides.length % swiperParams.slidesPerGroup;\n\n if (blankSlidesNum !== swiperParams.slidesPerGroup) {\n for (var i = 0; i < blankSlidesNum; i += 1) {\n var blankSlide = /*#__PURE__*/React.createElement(\"div\", {\n className: swiperParams.slideClass + \" \" + swiperParams.slideBlankClass\n });\n modifiedSlides.push(blankSlide);\n }\n }\n }\n\n if (swiperParams.slidesPerView === 'auto' && !swiperParams.loopedSlides) {\n swiperParams.loopedSlides = modifiedSlides.length;\n }\n\n var loopedSlides = calcLoopedSlides(modifiedSlides, swiperParams);\n var prependSlides = [];\n var appendSlides = [];\n modifiedSlides.forEach(function (child, index) {\n if (index < loopedSlides) {\n appendSlides.push(duplicateSlide(child, index, 'prepend'));\n }\n\n if (index < modifiedSlides.length && index >= modifiedSlides.length - loopedSlides) {\n prependSlides.push(duplicateSlide(child, index, 'append'));\n }\n });\n\n if (swiper) {\n swiper.loopedSlides = loopedSlides;\n }\n\n return [].concat(prependSlides, modifiedSlides, appendSlides);\n}\n\nexport { calcLoopedSlides, renderLoop };","import React from 'react';\n\nfunction processChildren(c) {\n var slides = [];\n React.Children.toArray(c).forEach(function (child) {\n if (child.type && child.type.displayName === 'SwiperSlide') {\n slides.push(child);\n } else if (child.props && child.props.children) {\n processChildren(child.props.children).forEach(function (slide) {\n return slides.push(slide);\n });\n }\n });\n return slides;\n}\n\nfunction getChildren(c) {\n var slides = [];\n var slots = {\n 'container-start': [],\n 'container-end': [],\n 'wrapper-start': [],\n 'wrapper-end': []\n };\n React.Children.toArray(c).forEach(function (child) {\n if (child.type && child.type.displayName === 'SwiperSlide') {\n slides.push(child);\n } else if (child.props && child.props.slot && slots[child.props.slot]) {\n slots[child.props.slot].push(child);\n } else if (child.props && child.props.children) {\n var foundSlides = processChildren(child.props.children);\n\n if (foundSlides.length > 0) {\n foundSlides.forEach(function (slide) {\n return slides.push(slide);\n });\n } else {\n slots['container-end'].push(child);\n }\n } else {\n slots['container-end'].push(child);\n }\n });\n return {\n slides: slides,\n slots: slots\n };\n}\n\nexport { getChildren };","import { isObject, extend } from './utils';\n\nfunction updateSwiper(_ref) {\n var swiper = _ref.swiper,\n slides = _ref.slides,\n passedParams = _ref.passedParams,\n changedParams = _ref.changedParams,\n nextEl = _ref.nextEl,\n prevEl = _ref.prevEl,\n scrollbarEl = _ref.scrollbarEl,\n paginationEl = _ref.paginationEl;\n var updateParams = changedParams.filter(function (key) {\n return key !== 'children' && key !== 'direction';\n });\n var currentParams = swiper.params,\n pagination = swiper.pagination,\n navigation = swiper.navigation,\n scrollbar = swiper.scrollbar,\n virtual = swiper.virtual,\n thumbs = swiper.thumbs;\n var needThumbsInit;\n var needControllerInit;\n var needPaginationInit;\n var needScrollbarInit;\n var needNavigationInit;\n\n if (changedParams.includes('thumbs') && passedParams.thumbs && passedParams.thumbs.swiper && currentParams.thumbs && !currentParams.thumbs.swiper) {\n needThumbsInit = true;\n }\n\n if (changedParams.includes('controller') && passedParams.controller && passedParams.controller.control && currentParams.controller && !currentParams.controller.control) {\n needControllerInit = true;\n }\n\n if (changedParams.includes('pagination') && passedParams.pagination && (passedParams.pagination.el || paginationEl) && (currentParams.pagination || currentParams.pagination === false) && pagination && !pagination.el) {\n needPaginationInit = true;\n }\n\n if (changedParams.includes('scrollbar') && passedParams.scrollbar && (passedParams.scrollbar.el || scrollbarEl) && (currentParams.scrollbar || currentParams.scrollbar === false) && scrollbar && !scrollbar.el) {\n needScrollbarInit = true;\n }\n\n if (changedParams.includes('navigation') && passedParams.navigation && (passedParams.navigation.prevEl || prevEl) && (passedParams.navigation.nextEl || nextEl) && (currentParams.navigation || currentParams.navigation === false) && navigation && !navigation.prevEl && !navigation.nextEl) {\n needNavigationInit = true;\n }\n\n var destroyModule = function destroyModule(mod) {\n if (!swiper[mod]) return;\n swiper[mod].destroy();\n\n if (mod === 'navigation') {\n currentParams[mod].prevEl = undefined;\n currentParams[mod].nextEl = undefined;\n swiper[mod].prevEl = undefined;\n swiper[mod].nextEl = undefined;\n } else {\n currentParams[mod].el = undefined;\n swiper[mod].el = undefined;\n }\n };\n\n updateParams.forEach(function (key) {\n if (isObject(currentParams[key]) && isObject(passedParams[key])) {\n extend(currentParams[key], passedParams[key]);\n } else {\n var newValue = passedParams[key];\n\n if ((newValue === true || newValue === false) && (key === 'navigation' || key === 'pagination' || key === 'scrollbar')) {\n if (newValue === false) {\n destroyModule(key);\n }\n } else {\n currentParams[key] = passedParams[key];\n }\n }\n });\n\n if (changedParams.includes('children') && virtual && currentParams.virtual.enabled) {\n virtual.slides = slides;\n virtual.update(true);\n } else if (changedParams.includes('children') && swiper.lazy && swiper.params.lazy.enabled) {\n swiper.lazy.load();\n }\n\n if (needThumbsInit) {\n var initialized = thumbs.init();\n if (initialized) thumbs.update(true);\n }\n\n if (needControllerInit) {\n swiper.controller.control = currentParams.controller.control;\n }\n\n if (needPaginationInit) {\n if (paginationEl) currentParams.pagination.el = paginationEl;\n pagination.init();\n pagination.render();\n pagination.update();\n }\n\n if (needScrollbarInit) {\n if (scrollbarEl) currentParams.scrollbar.el = scrollbarEl;\n scrollbar.init();\n scrollbar.updateSize();\n scrollbar.setTranslate();\n }\n\n if (needNavigationInit) {\n if (nextEl) currentParams.navigation.nextEl = nextEl;\n if (prevEl) currentParams.navigation.prevEl = prevEl;\n navigation.init();\n navigation.update();\n }\n\n if (changedParams.includes('allowSlideNext')) {\n swiper.allowSlideNext = passedParams.allowSlideNext;\n }\n\n if (changedParams.includes('allowSlidePrev')) {\n swiper.allowSlidePrev = passedParams.allowSlidePrev;\n }\n\n if (changedParams.includes('direction')) {\n swiper.changeDirection(passedParams.direction, false);\n }\n\n swiper.update();\n}\n\nexport { updateSwiper };","var _excluded = [\"className\", \"tag\", \"wrapperTag\", \"children\", \"onSwiper\"];\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 _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\nimport React, { useRef, useState, useEffect, forwardRef } from 'react';\nimport { getParams } from './get-params';\nimport { initSwiper, mountSwiper } from './init-swiper';\nimport { needsScrollbar, needsNavigation, needsPagination, uniqueClasses, extend } from './utils';\nimport { renderLoop, calcLoopedSlides } from './loop';\nimport { getChangedParams } from './get-changed-params';\nimport { getChildren } from './get-children';\nimport { updateSwiper } from './update-swiper';\nimport { renderVirtual, updateOnVirtualData } from './virtual';\nimport { useIsomorphicLayoutEffect } from './use-isomorphic-layout-effect';\nvar Swiper = /*#__PURE__*/forwardRef(function (_temp, externalElRef) {\n var _ref = _temp === void 0 ? {} : _temp,\n className = _ref.className,\n _ref$tag = _ref.tag,\n Tag = _ref$tag === void 0 ? 'div' : _ref$tag,\n _ref$wrapperTag = _ref.wrapperTag,\n WrapperTag = _ref$wrapperTag === void 0 ? 'div' : _ref$wrapperTag,\n children = _ref.children,\n onSwiper = _ref.onSwiper,\n rest = _objectWithoutPropertiesLoose(_ref, _excluded);\n\n var eventsAssigned = false;\n\n var _useState = useState('swiper-container'),\n containerClasses = _useState[0],\n setContainerClasses = _useState[1];\n\n var _useState2 = useState(null),\n virtualData = _useState2[0],\n setVirtualData = _useState2[1];\n\n var _useState3 = useState(false),\n breakpointChanged = _useState3[0],\n setBreakpointChanged = _useState3[1];\n\n var initializedRef = useRef(false);\n var swiperElRef = useRef(null);\n var swiperRef = useRef(null);\n var oldPassedParamsRef = useRef(null);\n var oldSlides = useRef(null);\n var nextElRef = useRef(null);\n var prevElRef = useRef(null);\n var paginationElRef = useRef(null);\n var scrollbarElRef = useRef(null);\n\n var _getParams = getParams(rest),\n swiperParams = _getParams.params,\n passedParams = _getParams.passedParams,\n restProps = _getParams.rest,\n events = _getParams.events;\n\n var _getChildren = getChildren(children),\n slides = _getChildren.slides,\n slots = _getChildren.slots;\n\n var onBeforeBreakpoint = function onBeforeBreakpoint() {\n setBreakpointChanged(!breakpointChanged);\n };\n\n Object.assign(swiperParams.on, {\n _containerClasses: function _containerClasses(swiper, classes) {\n setContainerClasses(classes);\n }\n });\n\n if (!swiperElRef.current) {\n // init swiper\n Object.assign(swiperParams.on, events);\n eventsAssigned = true;\n swiperRef.current = initSwiper(swiperParams);\n\n swiperRef.current.loopCreate = function () {};\n\n swiperRef.current.loopDestroy = function () {};\n\n if (swiperParams.loop) {\n swiperRef.current.loopedSlides = calcLoopedSlides(slides, swiperParams);\n }\n\n if (swiperRef.current.virtual && swiperRef.current.params.virtual.enabled) {\n swiperRef.current.virtual.slides = slides;\n var extendWith = {\n cache: false,\n renderExternal: setVirtualData,\n renderExternalUpdate: false\n };\n extend(swiperRef.current.params.virtual, extendWith);\n extend(swiperRef.current.originalParams.virtual, extendWith);\n }\n } // Listen for breakpoints change\n\n\n if (swiperRef.current) {\n swiperRef.current.on('_beforeBreakpoint', onBeforeBreakpoint);\n }\n\n var attachEvents = function attachEvents() {\n if (eventsAssigned || !events || !swiperRef.current) return;\n Object.keys(events).forEach(function (eventName) {\n swiperRef.current.on(eventName, events[eventName]);\n });\n };\n\n var detachEvents = function detachEvents() {\n if (!events || !swiperRef.current) return;\n Object.keys(events).forEach(function (eventName) {\n swiperRef.current.off(eventName, events[eventName]);\n });\n };\n\n useEffect(function () {\n return function () {\n if (swiperRef.current) swiperRef.current.off('_beforeBreakpoint', onBeforeBreakpoint);\n };\n }); // set initialized flag\n\n useEffect(function () {\n if (!initializedRef.current && swiperRef.current) {\n swiperRef.current.emitSlidesClasses();\n initializedRef.current = true;\n }\n }); // mount swiper\n\n useIsomorphicLayoutEffect(function () {\n if (externalElRef) {\n externalElRef.current = swiperElRef.current;\n }\n\n if (!swiperElRef.current) return;\n mountSwiper({\n el: swiperElRef.current,\n nextEl: nextElRef.current,\n prevEl: prevElRef.current,\n paginationEl: paginationElRef.current,\n scrollbarEl: scrollbarElRef.current,\n swiper: swiperRef.current\n }, swiperParams);\n if (onSwiper) onSwiper(swiperRef.current); // eslint-disable-next-line\n\n return function () {\n if (swiperRef.current && !swiperRef.current.destroyed) {\n swiperRef.current.destroy(true, false);\n }\n };\n }, []); // watch for params change\n\n useIsomorphicLayoutEffect(function () {\n attachEvents();\n var changedParams = getChangedParams(passedParams, oldPassedParamsRef.current, slides, oldSlides.current);\n oldPassedParamsRef.current = passedParams;\n oldSlides.current = slides;\n\n if (changedParams.length && swiperRef.current && !swiperRef.current.destroyed) {\n updateSwiper({\n swiper: swiperRef.current,\n slides: slides,\n passedParams: passedParams,\n changedParams: changedParams,\n nextEl: nextElRef.current,\n prevEl: prevElRef.current,\n scrollbarEl: scrollbarElRef.current,\n paginationEl: paginationElRef.current\n });\n }\n\n return function () {\n detachEvents();\n };\n }); // update on virtual update\n\n useIsomorphicLayoutEffect(function () {\n updateOnVirtualData(swiperRef.current);\n }, [virtualData]); // bypass swiper instance to slides\n\n function renderSlides() {\n if (swiperParams.virtual) {\n return renderVirtual(swiperRef.current, slides, virtualData);\n }\n\n if (!swiperParams.loop || swiperRef.current && swiperRef.current.destroyed) {\n return slides.map(function (child) {\n return /*#__PURE__*/React.cloneElement(child, {\n swiper: swiperRef.current\n });\n });\n }\n\n return renderLoop(swiperRef.current, slides, swiperParams);\n }\n\n return /*#__PURE__*/React.createElement(Tag, _extends({\n ref: swiperElRef,\n className: uniqueClasses(\"\" + containerClasses + (className ? \" \" + className : ''))\n }, restProps), slots['container-start'], needsNavigation(swiperParams) && /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(\"div\", {\n ref: prevElRef,\n className: \"swiper-button-prev\"\n }), /*#__PURE__*/React.createElement(\"div\", {\n ref: nextElRef,\n className: \"swiper-button-next\"\n })), needsScrollbar(swiperParams) && /*#__PURE__*/React.createElement(\"div\", {\n ref: scrollbarElRef,\n className: \"swiper-scrollbar\"\n }), needsPagination(swiperParams) && /*#__PURE__*/React.createElement(\"div\", {\n ref: paginationElRef,\n className: \"swiper-pagination\"\n }), /*#__PURE__*/React.createElement(WrapperTag, {\n className: \"swiper-wrapper\"\n }, slots['wrapper-start'], renderSlides(), slots['wrapper-end']), slots['container-end']);\n});\nSwiper.displayName = 'Swiper';\nexport { Swiper };","// eslint-disable-next-line\nimport Swiper from '../../core';\nimport { isObject, extend } from './utils';\nimport { paramsList } from './params-list';\n\nfunction getParams(obj) {\n if (obj === void 0) {\n obj = {};\n }\n\n var params = {\n on: {}\n };\n var events = {};\n var passedParams = {};\n extend(params, Swiper.defaults);\n extend(params, Swiper.extendedDefaults);\n params._emitClasses = true;\n params.init = false;\n var rest = {};\n var allowedParams = paramsList.map(function (key) {\n return key.replace(/_/, '');\n });\n Object.keys(obj).forEach(function (key) {\n if (allowedParams.indexOf(key) >= 0) {\n if (isObject(obj[key])) {\n params[key] = {};\n passedParams[key] = {};\n extend(params[key], obj[key]);\n extend(passedParams[key], obj[key]);\n } else {\n params[key] = obj[key];\n passedParams[key] = obj[key];\n }\n } else if (key.search(/on[A-Z]/) === 0 && typeof obj[key] === 'function') {\n events[\"\" + key[2].toLowerCase() + key.substr(3)] = obj[key];\n } else {\n rest[key] = obj[key];\n }\n });\n ['navigation', 'pagination', 'scrollbar'].forEach(function (key) {\n if (params[key] === true) params[key] = {};\n if (params[key] === false) delete params[key];\n });\n return {\n params: params,\n passedParams: passedParams,\n rest: rest,\n events: events\n };\n}\n\nexport { getParams };","// eslint-disable-next-line\nimport Swiper from '../../core';\nimport { needsNavigation, needsPagination, needsScrollbar } from './utils';\n\nfunction initSwiper(swiperParams) {\n return new Swiper(swiperParams);\n}\n\nfunction mountSwiper(_ref, swiperParams) {\n var el = _ref.el,\n nextEl = _ref.nextEl,\n prevEl = _ref.prevEl,\n paginationEl = _ref.paginationEl,\n scrollbarEl = _ref.scrollbarEl,\n swiper = _ref.swiper;\n\n if (needsNavigation(swiperParams) && nextEl && prevEl) {\n swiper.params.navigation.nextEl = nextEl;\n swiper.originalParams.navigation.nextEl = nextEl;\n swiper.params.navigation.prevEl = prevEl;\n swiper.originalParams.navigation.prevEl = prevEl;\n }\n\n if (needsPagination(swiperParams) && paginationEl) {\n swiper.params.pagination.el = paginationEl;\n swiper.originalParams.pagination.el = paginationEl;\n }\n\n if (needsScrollbar(swiperParams) && scrollbarEl) {\n swiper.params.scrollbar.el = scrollbarEl;\n swiper.originalParams.scrollbar.el = scrollbarEl;\n }\n\n swiper.init(el);\n}\n\nexport { initSwiper, mountSwiper };","import { paramsList } from './params-list';\nimport { isObject } from './utils';\n\nfunction getChangedParams(swiperParams, oldParams, children, oldChildren) {\n var keys = [];\n if (!oldParams) return keys;\n\n var addKey = function addKey(key) {\n if (keys.indexOf(key) < 0) keys.push(key);\n };\n\n var oldChildrenKeys = oldChildren.map(function (child) {\n return child.key;\n });\n var childrenKeys = children.map(function (child) {\n return child.key;\n });\n if (oldChildrenKeys.join('') !== childrenKeys.join('')) addKey('children');\n if (oldChildren.length !== children.length) addKey('children');\n var watchParams = paramsList.filter(function (key) {\n return key[0] === '_';\n }).map(function (key) {\n return key.replace(/_/, '');\n });\n watchParams.forEach(function (key) {\n if (key in swiperParams && key in oldParams) {\n if (isObject(swiperParams[key]) && isObject(oldParams[key])) {\n var newKeys = Object.keys(swiperParams[key]);\n var oldKeys = Object.keys(oldParams[key]);\n\n if (newKeys.length !== oldKeys.length) {\n addKey(key);\n } else {\n newKeys.forEach(function (newKey) {\n if (swiperParams[key][newKey] !== oldParams[key][newKey]) {\n addKey(key);\n }\n });\n oldKeys.forEach(function (oldKey) {\n if (swiperParams[key][oldKey] !== oldParams[key][oldKey]) addKey(key);\n });\n }\n } else if (swiperParams[key] !== oldParams[key]) {\n addKey(key);\n }\n }\n });\n return keys;\n}\n\nexport { getChangedParams };","import React from 'react';\n\nfunction updateOnVirtualData(swiper) {\n if (!swiper || swiper.destroyed || !swiper.params.virtual || swiper.params.virtual && !swiper.params.virtual.enabled) return;\n swiper.updateSlides();\n swiper.updateProgress();\n swiper.updateSlidesClasses();\n\n if (swiper.lazy && swiper.params.lazy.enabled) {\n swiper.lazy.load();\n }\n\n if (swiper.parallax && swiper.params.parallax && swiper.params.parallax.enabled) {\n swiper.parallax.setTranslate();\n }\n}\n\nfunction renderVirtual(swiper, slides, virtualData) {\n var _ref;\n\n if (!virtualData) return null;\n var style = swiper.isHorizontal() ? (_ref = {}, _ref[swiper.rtlTranslate ? 'right' : 'left'] = virtualData.offset + \"px\", _ref) : {\n top: virtualData.offset + \"px\"\n };\n return slides.filter(function (child, index) {\n return index >= virtualData.from && index <= virtualData.to;\n }).map(function (child) {\n return /*#__PURE__*/React.cloneElement(child, {\n swiper: swiper,\n style: style\n });\n });\n}\n\nexport { renderVirtual, updateOnVirtualData };","/**\n * A specialized version of `baseAggregator` for arrays.\n *\n * @private\n * @param {Array} [array] The array to iterate over.\n * @param {Function} setter The function to set `accumulator` values.\n * @param {Function} iteratee The iteratee to transform keys.\n * @param {Object} accumulator The initial aggregated object.\n * @returns {Function} Returns `accumulator`.\n */\nfunction arrayAggregator(array, setter, iteratee, accumulator) {\n var index = -1,\n length = array == null ? 0 : array.length;\n\n while (++index < length) {\n var value = array[index];\n setter(accumulator, value, iteratee(value), array);\n }\n return accumulator;\n}\n\nexport default arrayAggregator;\n","import baseEach from './_baseEach.js';\n\n/**\n * Aggregates elements of `collection` on `accumulator` with keys transformed\n * by `iteratee` and values set by `setter`.\n *\n * @private\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Function} setter The function to set `accumulator` values.\n * @param {Function} iteratee The iteratee to transform keys.\n * @param {Object} accumulator The initial aggregated object.\n * @returns {Function} Returns `accumulator`.\n */\nfunction baseAggregator(collection, setter, iteratee, accumulator) {\n baseEach(collection, function(value, key, collection) {\n setter(accumulator, value, iteratee(value), collection);\n });\n return accumulator;\n}\n\nexport default baseAggregator;\n","import arrayAggregator from './_arrayAggregator.js';\nimport baseAggregator from './_baseAggregator.js';\nimport baseIteratee from './_baseIteratee.js';\nimport isArray from './isArray.js';\n\n/**\n * Creates a function like `_.groupBy`.\n *\n * @private\n * @param {Function} setter The function to set accumulator values.\n * @param {Function} [initializer] The accumulator object initializer.\n * @returns {Function} Returns the new aggregator function.\n */\nfunction createAggregator(setter, initializer) {\n return function(collection, iteratee) {\n var func = isArray(collection) ? arrayAggregator : baseAggregator,\n accumulator = initializer ? initializer() : {};\n\n return func(collection, setter, baseIteratee(iteratee, 2), accumulator);\n };\n}\n\nexport default createAggregator;\n","import baseAssignValue from './_baseAssignValue.js';\nimport createAggregator from './_createAggregator.js';\n\n/**\n * Creates an object composed of keys generated from the results of running\n * each element of `collection` thru `iteratee`. The corresponding value of\n * each key is the last element responsible for generating the key. The\n * iteratee is invoked with one argument: (value).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Collection\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Function} [iteratee=_.identity] The iteratee to transform keys.\n * @returns {Object} Returns the composed aggregate object.\n * @example\n *\n * var array = [\n * { 'dir': 'left', 'code': 97 },\n * { 'dir': 'right', 'code': 100 }\n * ];\n *\n * _.keyBy(array, function(o) {\n * return String.fromCharCode(o.code);\n * });\n * // => { 'a': { 'dir': 'left', 'code': 97 }, 'd': { 'dir': 'right', 'code': 100 } }\n *\n * _.keyBy(array, 'dir');\n * // => { 'left': { 'dir': 'left', 'code': 97 }, 'right': { 'dir': 'right', 'code': 100 } }\n */\nvar keyBy = createAggregator(function(result, value, key) {\n baseAssignValue(result, key, value);\n});\n\nexport default keyBy;\n","import _has from \"lodash-es/has\";\nimport _keys from \"lodash-es/keys\";\nimport _forEach from \"lodash-es/forEach\";\nimport _filter from \"lodash-es/filter\";\nimport _keyBy from \"lodash-es/keyBy\";\nimport { Children, isValidElement } from 'react';\n/**\n * Given `this.props.children`, return an object mapping key to child.\n *\n * @param {object} children Element's children\n * @return {object} Mapping of key to child\n */\n\nexport var getChildMapping = function getChildMapping(children) {\n return _keyBy(_filter(Children.toArray(children), isValidElement), 'key');\n};\n\nvar getPendingKeys = function getPendingKeys(prev, next) {\n var nextKeysPending = {};\n var pendingKeys = [];\n\n _forEach(_keys(prev), function (prevKey) {\n if (!_has(next, prevKey)) {\n pendingKeys.push(prevKey);\n return;\n }\n\n if (pendingKeys.length) {\n nextKeysPending[prevKey] = pendingKeys;\n pendingKeys = [];\n }\n });\n\n return [nextKeysPending, pendingKeys];\n};\n\nvar getValue = function getValue(key, prev, next) {\n return _has(next, key) ? next[key] : prev[key];\n};\n/**\n * When you're adding or removing children some may be added or removed in the same render pass. We want to show *both*\n * since we want to simultaneously animate elements in and out. This function takes a previous set of keys and a new set\n * of keys and merges them with its best guess of the correct ordering.\n *\n * @param {object} prev Prev children as returned from `getChildMapping()`\n * @param {object} next Next children as returned from `getChildMapping()`\n * @return {object} A key set that contains all keys in `prev` and all keys in `next` in a reasonable order\n */\n\n\nexport var mergeChildMappings = function mergeChildMappings(prev, next) {\n if (prev === void 0) {\n prev = {};\n }\n\n if (next === void 0) {\n next = {};\n }\n\n var childMapping = {};\n\n var _getPendingKeys = getPendingKeys(prev, next),\n nextKeysPending = _getPendingKeys[0],\n pendingKeys = _getPendingKeys[1];\n\n _forEach(_keys(next), function (nextKey) {\n if (_has(nextKeysPending, nextKey)) {\n _forEach(nextKeysPending[nextKey], function (pendingKey) {\n childMapping[pendingKey] = getValue(pendingKey, prev, next);\n });\n }\n\n childMapping[nextKey] = getValue(nextKey, prev, next);\n });\n\n _forEach(pendingKeys, function (pendingKey) {\n childMapping[pendingKey] = getValue(pendingKey, prev, next);\n });\n\n return childMapping;\n};","import React from 'react';\nimport Transition from '../Transition';\n/**\n * Wraps a React element with a Transition component.\n *\n * @param {React.ReactElement} child\n * @param {Function} onHide\n * @param {Object} [options={}]\n * @param {String} [options.animation]\n * @param {Number} [options.duration]\n * @param {Boolean} [options.directional]\n * @param {Boolean} [options.transitionOnMount=false]\n * @param {Boolean} [options.visible=true]\n */\n\nexport default function wrapChild(child, onHide, options) {\n if (options === void 0) {\n options = {};\n }\n\n var key = child.key;\n var _options = options,\n animation = _options.animation,\n directional = _options.directional,\n duration = _options.duration,\n _options$transitionOn = _options.transitionOnMount,\n transitionOnMount = _options$transitionOn === void 0 ? false : _options$transitionOn,\n _options$visible = _options.visible,\n visible = _options$visible === void 0 ? true : _options$visible;\n return /*#__PURE__*/React.createElement(Transition, {\n animation: animation,\n directional: directional,\n duration: duration,\n key: key,\n onHide: onHide,\n reactKey: key,\n transitionOnMount: transitionOnMount,\n visible: visible\n }, child);\n}\nwrapChild.handledProps = [];","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _inheritsLoose from \"@babel/runtime/helpers/esm/inheritsLoose\";\nimport _values from \"lodash-es/values\";\nimport _get from \"lodash-es/get\";\nimport _has from \"lodash-es/has\";\nimport _forEach from \"lodash-es/forEach\";\nimport _mapValues from \"lodash-es/mapValues\";\nimport PropTypes from 'prop-types';\nimport React from 'react';\nimport { getElementType, getUnhandledProps, SUI } from '../../lib';\nimport { getChildMapping, mergeChildMappings } from './utils/childMapping';\nimport wrapChild from './utils/wrapChild';\n\n/**\n * A Transition.Group animates children as they mount and unmount.\n */\nvar TransitionGroup = /*#__PURE__*/function (_React$Component) {\n _inheritsLoose(TransitionGroup, _React$Component);\n\n function TransitionGroup() {\n var _this;\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 = _React$Component.call.apply(_React$Component, [this].concat(args)) || this;\n _this.state = {\n // Keeping a callback under the state is a hack to make it accessible under getDerivedStateFromProps()\n handleOnHide: function handleOnHide(nothing, childProps) {\n var reactKey = childProps.reactKey;\n\n _this.setState(function (state) {\n var children = _extends({}, state.children);\n\n delete children[reactKey];\n return {\n children: children\n };\n });\n }\n };\n return _this;\n }\n\n TransitionGroup.getDerivedStateFromProps = function getDerivedStateFromProps(props, state) {\n var animation = props.animation,\n duration = props.duration,\n directional = props.directional;\n var prevMapping = state.children; // A short circuit for an initial render as there will be no `prevMapping`\n\n if (typeof prevMapping === 'undefined') {\n return {\n children: _mapValues(getChildMapping(props.children), function (child) {\n return wrapChild(child, state.handleOnHide, {\n animation: animation,\n duration: duration,\n directional: directional\n });\n })\n };\n }\n\n var nextMapping = getChildMapping(props.children);\n var children = mergeChildMappings(prevMapping, nextMapping);\n\n _forEach(children, function (child, key) {\n var hasPrev = _has(prevMapping, key);\n\n var hasNext = _has(nextMapping, key);\n\n var prevChild = prevMapping[key];\n var isLeaving = !_get(prevChild, 'props.visible'); // Heads up!\n // An item is new (entering), it will be picked from `nextChildren`, so it should be wrapped\n\n if (hasNext && (!hasPrev || isLeaving)) {\n children[key] = wrapChild(child, state.handleOnHide, {\n animation: animation,\n duration: duration,\n directional: directional,\n transitionOnMount: true\n });\n return;\n } // Heads up!\n // An item is old (exiting), it will be picked from `prevChildren`, so it has been already\n // wrapped, so should be only updated\n\n\n if (!hasNext && hasPrev && !isLeaving) {\n children[key] = /*#__PURE__*/React.cloneElement(prevChild, {\n visible: false\n });\n return;\n } // Heads up!\n // An item item hasn't changed transition states, but it will be picked from `nextChildren`,\n // so we should wrap it again\n\n\n var _prevChild$props = prevChild.props,\n visible = _prevChild$props.visible,\n transitionOnMount = _prevChild$props.transitionOnMount;\n children[key] = wrapChild(child, state.handleOnHide, {\n animation: animation,\n duration: duration,\n directional: directional,\n transitionOnMount: transitionOnMount,\n visible: visible\n });\n });\n\n return {\n children: children\n };\n };\n\n var _proto = TransitionGroup.prototype;\n\n _proto.render = function render() {\n var children = this.state.children;\n var ElementType = getElementType(TransitionGroup, this.props);\n var rest = getUnhandledProps(TransitionGroup, this.props);\n return /*#__PURE__*/React.createElement(ElementType, rest, _values(children));\n };\n\n return TransitionGroup;\n}(React.Component);\n\nTransitionGroup.handledProps = [\"animation\", \"as\", \"children\", \"directional\", \"duration\"];\nexport { TransitionGroup as default };\nTransitionGroup.propTypes = process.env.NODE_ENV !== \"production\" ? {\n /** An element type to render as (string or function). */\n as: PropTypes.elementType,\n\n /** Named animation event to used. Must be defined in CSS. */\n animation: PropTypes.oneOfType([PropTypes.oneOf(SUI.TRANSITIONS), PropTypes.string]),\n\n /** Primary content. */\n children: PropTypes.node,\n\n /** Whether it is directional animation event or not. Use it only for custom transitions. */\n directional: PropTypes.bool,\n\n /** Duration of the CSS transition animation in milliseconds. */\n duration: PropTypes.oneOfType([PropTypes.number, PropTypes.shape({\n hide: PropTypes.number.isRequired,\n show: PropTypes.number.isRequired\n }), PropTypes.string])\n} : {};\nTransitionGroup.defaultProps = {\n as: React.Fragment,\n animation: 'fade',\n duration: 500\n};","export var TRANSITION_STATUS_INITIAL = 'INITIAL';\nexport var TRANSITION_STATUS_ENTERED = 'ENTERED';\nexport var TRANSITION_STATUS_ENTERING = 'ENTERING';\nexport var TRANSITION_STATUS_EXITED = 'EXITED';\nexport var TRANSITION_STATUS_EXITING = 'EXITING';\nexport var TRANSITION_STATUS_UNMOUNTED = 'UNMOUNTED';\n/**\n * @param {Object} [options]\n * @param {String} [options.status]\n * @param {Boolean} [options.mountOnShow]\n * @param {Boolean} [options.transitionOnMount]\n * @param {Boolean} [options.visible]\n * @param {Boolean} [options.unmountOnHide]\n */\n\nexport function computeStatuses(options) {\n var mountOnShow = options.mountOnShow,\n status = options.status,\n transitionOnMount = options.transitionOnMount,\n visible = options.visible,\n unmountOnHide = options.unmountOnHide;\n\n if (visible) {\n if (status === TRANSITION_STATUS_INITIAL) {\n if (transitionOnMount) {\n return {\n animating: true,\n status: TRANSITION_STATUS_ENTERING,\n nextStatus: TRANSITION_STATUS_ENTERED\n };\n }\n\n return {\n animating: false,\n status: TRANSITION_STATUS_ENTERED,\n nextStatus: undefined\n };\n }\n\n if (status === TRANSITION_STATUS_UNMOUNTED) {\n return {\n animating: true,\n status: TRANSITION_STATUS_ENTERING,\n nextStatus: TRANSITION_STATUS_ENTERED\n };\n }\n\n if (status === TRANSITION_STATUS_EXITED || status === TRANSITION_STATUS_EXITING) {\n return {\n animating: true,\n status: TRANSITION_STATUS_ENTERING,\n nextStatus: TRANSITION_STATUS_ENTERED\n };\n }\n\n if (status === TRANSITION_STATUS_ENTERING) {\n return {};\n }\n /* istanbul ignore else */\n\n\n if (status === TRANSITION_STATUS_ENTERED) {\n return {\n animating: false,\n status: TRANSITION_STATUS_ENTERED,\n nextStatus: undefined\n };\n }\n }\n\n if (status === TRANSITION_STATUS_INITIAL) {\n if (mountOnShow || unmountOnHide) {\n return {\n animating: false,\n status: TRANSITION_STATUS_UNMOUNTED,\n nextStatus: undefined\n };\n }\n\n return {\n animating: false,\n status: TRANSITION_STATUS_EXITED,\n nextStatus: undefined\n };\n }\n\n if (status === TRANSITION_STATUS_ENTERED || status === TRANSITION_STATUS_ENTERING) {\n return {\n animating: true,\n status: TRANSITION_STATUS_EXITING,\n nextStatus: unmountOnHide ? TRANSITION_STATUS_UNMOUNTED : TRANSITION_STATUS_EXITED\n };\n }\n\n if (status === TRANSITION_STATUS_EXITING) {\n return {};\n }\n\n if (status === TRANSITION_STATUS_EXITED) {\n return {\n animating: false,\n status: TRANSITION_STATUS_EXITED,\n nextStatus: undefined\n };\n }\n /* istanbul ignore else */\n\n\n if (status === TRANSITION_STATUS_UNMOUNTED) {\n return {\n animating: false,\n status: TRANSITION_STATUS_UNMOUNTED,\n nextStatus: undefined\n };\n }\n /* istanbul ignore next */\n\n\n throw new Error(\"Transition:computeStatuses(): an unexpected status transition: { visible: \" + visible + \", status: \" + status + \" }\");\n}","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _inheritsLoose from \"@babel/runtime/helpers/esm/inheritsLoose\";\nimport _includes from \"lodash-es/includes\";\nimport _isNil from \"lodash-es/isNil\";\nimport _get from \"lodash-es/get\";\nimport _invoke from \"lodash-es/invoke\";\n\nvar _TRANSITION_CALLBACK_, _TRANSITION_STYLE_TYP;\n\nimport cx from 'clsx';\nimport PropTypes from 'prop-types';\nimport { cloneElement, Component } from 'react';\nimport { normalizeTransitionDuration, SUI, useKeyOnly } from '../../lib';\nimport TransitionGroup from './TransitionGroup';\nimport { computeStatuses, TRANSITION_STATUS_ENTERED, TRANSITION_STATUS_ENTERING, TRANSITION_STATUS_EXITED, TRANSITION_STATUS_EXITING, TRANSITION_STATUS_INITIAL, TRANSITION_STATUS_UNMOUNTED } from './utils/computeStatuses';\nvar TRANSITION_CALLBACK_TYPE = (_TRANSITION_CALLBACK_ = {}, _TRANSITION_CALLBACK_[TRANSITION_STATUS_ENTERED] = 'show', _TRANSITION_CALLBACK_[TRANSITION_STATUS_EXITED] = 'hide', _TRANSITION_CALLBACK_);\nvar TRANSITION_STYLE_TYPE = (_TRANSITION_STYLE_TYP = {}, _TRANSITION_STYLE_TYP[TRANSITION_STATUS_ENTERING] = 'show', _TRANSITION_STYLE_TYP[TRANSITION_STATUS_EXITING] = 'hide', _TRANSITION_STYLE_TYP);\n/**\n * A transition is an animation usually used to move content in or out of view.\n */\n\nvar Transition = /*#__PURE__*/function (_Component) {\n _inheritsLoose(Transition, _Component);\n\n function Transition() {\n var _this;\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 = _Component.call.apply(_Component, [this].concat(args)) || this;\n _this.state = {\n status: TRANSITION_STATUS_INITIAL\n };\n\n _this.handleStart = function (nextStatus) {\n var duration = _this.props.duration;\n var durationType = TRANSITION_CALLBACK_TYPE[nextStatus];\n var durationValue = normalizeTransitionDuration(duration, durationType);\n _this.timeoutId = setTimeout(function () {\n return _this.setState({\n status: nextStatus\n });\n }, durationValue);\n };\n\n _this.updateStatus = function (prevState) {\n if (prevState.status !== _this.state.status) {\n // Timeout should be cleared in any case as previous can lead set to unexpected `nextStatus`\n clearTimeout(_this.timeoutId);\n\n if (_this.state.nextStatus) {\n _this.handleStart(_this.state.nextStatus);\n }\n }\n\n if (!prevState.animating && _this.state.animating) {\n _invoke(_this.props, 'onStart', null, _extends({}, _this.props, {\n status: _this.state.status\n }));\n }\n\n if (prevState.animating && !_this.state.animating) {\n var callback = _this.state.status === TRANSITION_STATUS_ENTERED ? 'onShow' : 'onHide';\n\n _invoke(_this.props, 'onComplete', null, _extends({}, _this.props, {\n status: _this.state.status\n }));\n\n _invoke(_this.props, callback, null, _extends({}, _this.props, {\n status: _this.state.status\n }));\n }\n };\n\n _this.computeClasses = function () {\n var _this$props = _this.props,\n animation = _this$props.animation,\n directional = _this$props.directional,\n children = _this$props.children;\n var _this$state = _this.state,\n animating = _this$state.animating,\n status = _this$state.status;\n\n var childClasses = _get(children, 'props.className');\n\n var isDirectional = _isNil(directional) ? _includes(SUI.DIRECTIONAL_TRANSITIONS, animation) : directional;\n\n if (isDirectional) {\n return cx(animation, childClasses, useKeyOnly(animating, 'animating'), useKeyOnly(status === TRANSITION_STATUS_ENTERING, 'in'), useKeyOnly(status === TRANSITION_STATUS_EXITING, 'out'), useKeyOnly(status === TRANSITION_STATUS_EXITED, 'hidden'), useKeyOnly(status !== TRANSITION_STATUS_EXITED, 'visible'), 'transition');\n }\n\n return cx(animation, childClasses, useKeyOnly(animating, 'animating transition'));\n };\n\n _this.computeStyle = function () {\n var _this$props2 = _this.props,\n children = _this$props2.children,\n duration = _this$props2.duration;\n var status = _this.state.status;\n\n var childStyle = _get(children, 'props.style');\n\n var type = TRANSITION_STYLE_TYPE[status];\n var animationDuration = type && normalizeTransitionDuration(duration, type) + \"ms\";\n return _extends({}, childStyle, {\n animationDuration: animationDuration\n });\n };\n\n return _this;\n }\n\n // ----------------------------------------\n // Lifecycle\n // ----------------------------------------\n Transition.getDerivedStateFromProps = function getDerivedStateFromProps(props, state) {\n var derivedState = computeStatuses({\n mountOnShow: props.mountOnShow,\n status: state.status,\n transitionOnMount: props.transitionOnMount,\n visible: props.visible,\n unmountOnHide: props.unmountOnHide\n });\n return derivedState;\n };\n\n var _proto = Transition.prototype;\n\n _proto.componentDidMount = function componentDidMount() {\n this.updateStatus({});\n };\n\n _proto.componentDidUpdate = function componentDidUpdate(prevProps, prevState) {\n this.updateStatus(prevState);\n };\n\n _proto.componentWillUnmount = function componentWillUnmount() {\n clearTimeout(this.timeoutId);\n } // ----------------------------------------\n // Callback handling\n // ----------------------------------------\n ;\n\n // ----------------------------------------\n // Render\n // ----------------------------------------\n _proto.render = function render() {\n var children = this.props.children;\n var status = this.state.status;\n\n if (status === TRANSITION_STATUS_UNMOUNTED) {\n return null;\n }\n\n return /*#__PURE__*/cloneElement(children, {\n className: this.computeClasses(),\n style: this.computeStyle()\n });\n };\n\n return Transition;\n}(Component);\n\nTransition.INITIAL = TRANSITION_STATUS_INITIAL;\nTransition.ENTERED = TRANSITION_STATUS_ENTERED;\nTransition.ENTERING = TRANSITION_STATUS_ENTERING;\nTransition.EXITED = TRANSITION_STATUS_EXITED;\nTransition.EXITING = TRANSITION_STATUS_EXITING;\nTransition.UNMOUNTED = TRANSITION_STATUS_UNMOUNTED;\nTransition.Group = TransitionGroup;\nTransition.handledProps = [\"animation\", \"children\", \"directional\", \"duration\", \"mountOnShow\", \"onComplete\", \"onHide\", \"onShow\", \"onStart\", \"reactKey\", \"transitionOnMount\", \"unmountOnHide\", \"visible\"];\nexport { Transition as default };\nTransition.propTypes = process.env.NODE_ENV !== \"production\" ? {\n /** Named animation event to used. Must be defined in CSS. */\n animation: PropTypes.oneOfType([PropTypes.oneOf(SUI.TRANSITIONS), PropTypes.string]),\n\n /** Primary content. */\n children: PropTypes.element.isRequired,\n\n /** Whether it is directional animation event or not. Use it only for custom transitions. */\n directional: PropTypes.bool,\n\n /** Duration of the CSS transition animation in milliseconds. */\n duration: PropTypes.oneOfType([PropTypes.number, PropTypes.shape({\n hide: PropTypes.number,\n show: PropTypes.number\n }), PropTypes.string]),\n\n /** Show the component; triggers the enter or exit animation. */\n visible: PropTypes.bool,\n\n /** Wait until the first \"enter\" transition to mount the component (add it to the DOM). */\n mountOnShow: PropTypes.bool,\n\n /**\n * Callback on each transition that changes visibility to shown.\n *\n * @param {null}\n * @param {object} data - All props with status.\n */\n onComplete: PropTypes.func,\n\n /**\n * Callback on each transition that changes visibility to hidden.\n *\n * @param {null}\n * @param {object} data - All props with status.\n */\n onHide: PropTypes.func,\n\n /**\n * Callback on each transition that changes visibility to shown.\n *\n * @param {null}\n * @param {object} data - All props with status.\n */\n onShow: PropTypes.func,\n\n /**\n * Callback on animation start.\n *\n * @param {null}\n * @param {object} data - All props with status.\n */\n onStart: PropTypes.func,\n\n /** React's key of the element. */\n reactKey: PropTypes.string,\n\n /** Run the enter animation when the component mounts, if it is initially shown. */\n transitionOnMount: PropTypes.bool,\n\n /** Unmount the component (remove it from the DOM) when it is not shown. */\n unmountOnHide: PropTypes.bool\n} : {};\nTransition.defaultProps = {\n animation: 'fade',\n duration: 500,\n visible: true,\n mountOnShow: true,\n transitionOnMount: false,\n unmountOnHide: false\n};","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport cx from 'clsx';\nimport PropTypes from 'prop-types';\nimport React from 'react';\nimport { childrenUtils, createShorthandFactory, customPropTypes, getElementType, getUnhandledProps } from '../../lib';\n/**\n * An item can contain a header.\n */\n\nfunction ItemHeader(props) {\n var children = props.children,\n className = props.className,\n content = props.content;\n var classes = cx('header', className);\n var rest = getUnhandledProps(ItemHeader, props);\n var ElementType = getElementType(ItemHeader, props);\n return /*#__PURE__*/React.createElement(ElementType, _extends({}, rest, {\n className: classes\n }), childrenUtils.isNil(children) ? content : children);\n}\n\nItemHeader.handledProps = [\"as\", \"children\", \"className\", \"content\"];\nItemHeader.propTypes = process.env.NODE_ENV !== \"production\" ? {\n /** An element type to render as (string or function). */\n as: PropTypes.elementType,\n\n /** Primary content. */\n children: PropTypes.node,\n\n /** Additional classes. */\n className: PropTypes.string,\n\n /** Shorthand for primary content. */\n content: customPropTypes.contentShorthand\n} : {};\nItemHeader.create = createShorthandFactory(ItemHeader, function (content) {\n return {\n content: content\n };\n});\nexport default ItemHeader;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport cx from 'clsx';\nimport PropTypes from 'prop-types';\nimport React from 'react';\nimport { childrenUtils, createShorthandFactory, customPropTypes, getElementType, getUnhandledProps } from '../../lib';\n/**\n * An item can contain a description with a single or multiple paragraphs.\n */\n\nfunction ItemDescription(props) {\n var children = props.children,\n className = props.className,\n content = props.content;\n var classes = cx('description', className);\n var rest = getUnhandledProps(ItemDescription, props);\n var ElementType = getElementType(ItemDescription, props);\n return /*#__PURE__*/React.createElement(ElementType, _extends({}, rest, {\n className: classes\n }), childrenUtils.isNil(children) ? content : children);\n}\n\nItemDescription.handledProps = [\"as\", \"children\", \"className\", \"content\"];\nItemDescription.propTypes = process.env.NODE_ENV !== \"production\" ? {\n /** An element type to render as (string or function). */\n as: PropTypes.elementType,\n\n /** Primary content. */\n children: PropTypes.node,\n\n /** Additional classes. */\n className: PropTypes.string,\n\n /** Shorthand for primary content. */\n content: customPropTypes.contentShorthand\n} : {};\nItemDescription.create = createShorthandFactory(ItemDescription, function (content) {\n return {\n content: content\n };\n});\nexport default ItemDescription;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport cx from 'clsx';\nimport PropTypes from 'prop-types';\nimport React from 'react';\nimport { childrenUtils, createShorthandFactory, customPropTypes, getElementType, getUnhandledProps } from '../../lib';\n/**\n * An item can contain extra content meant to be formatted separately from the main content.\n */\n\nfunction ItemExtra(props) {\n var children = props.children,\n className = props.className,\n content = props.content;\n var classes = cx('extra', className);\n var rest = getUnhandledProps(ItemExtra, props);\n var ElementType = getElementType(ItemExtra, props);\n return /*#__PURE__*/React.createElement(ElementType, _extends({}, rest, {\n className: classes\n }), childrenUtils.isNil(children) ? content : children);\n}\n\nItemExtra.handledProps = [\"as\", \"children\", \"className\", \"content\"];\nItemExtra.propTypes = process.env.NODE_ENV !== \"production\" ? {\n /** An element type to render as (string or function). */\n as: PropTypes.elementType,\n\n /** Primary content. */\n children: PropTypes.node,\n\n /** Additional classes. */\n className: PropTypes.string,\n\n /** Shorthand for primary content. */\n content: customPropTypes.contentShorthand\n} : {};\nItemExtra.create = createShorthandFactory(ItemExtra, function (content) {\n return {\n content: content\n };\n});\nexport default ItemExtra;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport cx from 'clsx';\nimport PropTypes from 'prop-types';\nimport React from 'react';\nimport { childrenUtils, createShorthandFactory, customPropTypes, getElementType, getUnhandledProps } from '../../lib';\n/**\n * An item can contain content metadata.\n */\n\nfunction ItemMeta(props) {\n var children = props.children,\n className = props.className,\n content = props.content;\n var classes = cx('meta', className);\n var rest = getUnhandledProps(ItemMeta, props);\n var ElementType = getElementType(ItemMeta, props);\n return /*#__PURE__*/React.createElement(ElementType, _extends({}, rest, {\n className: classes\n }), childrenUtils.isNil(children) ? content : children);\n}\n\nItemMeta.handledProps = [\"as\", \"children\", \"className\", \"content\"];\nItemMeta.propTypes = process.env.NODE_ENV !== \"production\" ? {\n /** An element type to render as (string or function). */\n as: PropTypes.elementType,\n\n /** Primary content. */\n children: PropTypes.node,\n\n /** Additional classes. */\n className: PropTypes.string,\n\n /** Shorthand for primary content. */\n content: customPropTypes.contentShorthand\n} : {};\nItemMeta.create = createShorthandFactory(ItemMeta, function (content) {\n return {\n content: content\n };\n});\nexport default ItemMeta;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport cx from 'clsx';\nimport PropTypes from 'prop-types';\nimport React from 'react';\nimport { childrenUtils, customPropTypes, getElementType, getUnhandledProps, SUI, useVerticalAlignProp } from '../../lib';\nimport ItemHeader from './ItemHeader';\nimport ItemDescription from './ItemDescription';\nimport ItemExtra from './ItemExtra';\nimport ItemMeta from './ItemMeta';\n/**\n * An item can contain content.\n */\n\nfunction ItemContent(props) {\n var children = props.children,\n className = props.className,\n content = props.content,\n description = props.description,\n extra = props.extra,\n header = props.header,\n meta = props.meta,\n verticalAlign = props.verticalAlign;\n var classes = cx(useVerticalAlignProp(verticalAlign), 'content', className);\n var rest = getUnhandledProps(ItemContent, props);\n var ElementType = getElementType(ItemContent, props);\n\n if (!childrenUtils.isNil(children)) {\n return /*#__PURE__*/React.createElement(ElementType, _extends({}, rest, {\n className: classes\n }), children);\n }\n\n return /*#__PURE__*/React.createElement(ElementType, _extends({}, rest, {\n className: classes\n }), ItemHeader.create(header, {\n autoGenerateKey: false\n }), ItemMeta.create(meta, {\n autoGenerateKey: false\n }), ItemDescription.create(description, {\n autoGenerateKey: false\n }), ItemExtra.create(extra, {\n autoGenerateKey: false\n }), content);\n}\n\nItemContent.handledProps = [\"as\", \"children\", \"className\", \"content\", \"description\", \"extra\", \"header\", \"meta\", \"verticalAlign\"];\nItemContent.propTypes = process.env.NODE_ENV !== \"production\" ? {\n /** An element type to render as (string or function). */\n as: PropTypes.elementType,\n\n /** Primary content. */\n children: PropTypes.node,\n\n /** Additional classes. */\n className: PropTypes.string,\n\n /** Shorthand for primary content. */\n content: customPropTypes.contentShorthand,\n\n /** Shorthand for ItemDescription component. */\n description: customPropTypes.itemShorthand,\n\n /** Shorthand for ItemExtra component. */\n extra: customPropTypes.itemShorthand,\n\n /** Shorthand for ItemHeader component. */\n header: customPropTypes.itemShorthand,\n\n /** Shorthand for ItemMeta component. */\n meta: customPropTypes.itemShorthand,\n\n /** Content can specify its vertical alignment. */\n verticalAlign: PropTypes.oneOf(SUI.VERTICAL_ALIGNMENTS)\n} : {};\nexport default ItemContent;","import _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _map from \"lodash-es/map\";\nimport cx from 'clsx';\nimport PropTypes from 'prop-types';\nimport React from 'react';\nimport { childrenUtils, customPropTypes, getElementType, getUnhandledProps, useKeyOnly, useKeyOrValueAndKey } from '../../lib';\nimport Item from './Item';\n/**\n * A group of items.\n */\n\nfunction ItemGroup(props) {\n var children = props.children,\n className = props.className,\n content = props.content,\n divided = props.divided,\n items = props.items,\n link = props.link,\n relaxed = props.relaxed,\n unstackable = props.unstackable;\n var classes = cx('ui', useKeyOnly(divided, 'divided'), useKeyOnly(link, 'link'), useKeyOnly(unstackable, 'unstackable'), useKeyOrValueAndKey(relaxed, 'relaxed'), 'items', className);\n var rest = getUnhandledProps(ItemGroup, props);\n var ElementType = getElementType(ItemGroup, props);\n\n if (!childrenUtils.isNil(children)) {\n return /*#__PURE__*/React.createElement(ElementType, _extends({}, rest, {\n className: classes\n }), children);\n }\n\n if (!childrenUtils.isNil(content)) {\n return /*#__PURE__*/React.createElement(ElementType, _extends({}, rest, {\n className: classes\n }), content);\n }\n\n var itemsJSX = _map(items, function (item) {\n var childKey = item.childKey,\n itemProps = _objectWithoutPropertiesLoose(item, [\"childKey\"]);\n\n var finalKey = childKey != null ? childKey : [itemProps.content, itemProps.description, itemProps.header, itemProps.meta].join('-');\n return /*#__PURE__*/React.createElement(Item, _extends({}, itemProps, {\n key: finalKey\n }));\n });\n\n return /*#__PURE__*/React.createElement(ElementType, _extends({}, rest, {\n className: classes\n }), itemsJSX);\n}\n\nItemGroup.handledProps = [\"as\", \"children\", \"className\", \"content\", \"divided\", \"items\", \"link\", \"relaxed\", \"unstackable\"];\nItemGroup.propTypes = process.env.NODE_ENV !== \"production\" ? {\n /** An element type to render as (string or function). */\n as: PropTypes.elementType,\n\n /** Primary content. */\n children: PropTypes.node,\n\n /** Additional classes. */\n className: PropTypes.string,\n\n /** Shorthand for primary content. */\n content: customPropTypes.contentShorthand,\n\n /** Items can be divided to better distinguish between grouped content. */\n divided: PropTypes.bool,\n\n /** Shorthand array of props for Item. */\n items: customPropTypes.collectionShorthand,\n\n /** An item can be formatted so that the entire contents link to another page. */\n link: PropTypes.bool,\n\n /** A group of items can relax its padding to provide more negative space. */\n relaxed: PropTypes.oneOfType([PropTypes.bool, PropTypes.oneOf(['very'])]),\n\n /** Prevent items from stacking on mobile. */\n unstackable: PropTypes.bool\n} : {};\nexport default ItemGroup;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport React from 'react';\nimport { createShorthandFactory, getUnhandledProps } from '../../lib';\nimport Image from '../../elements/Image';\n/**\n * An item can contain an image.\n */\n\nfunction ItemImage(props) {\n var size = props.size;\n var rest = getUnhandledProps(ItemImage, props);\n return /*#__PURE__*/React.createElement(Image, _extends({}, rest, {\n size: size,\n ui: !!size,\n wrapped: true\n }));\n}\n\nItemImage.handledProps = [\"size\"];\nItemImage.propTypes = process.env.NODE_ENV !== \"production\" ? {\n /** An image may appear at different sizes. */\n size: Image.propTypes.size\n} : {};\nItemImage.create = createShorthandFactory(ItemImage, function (src) {\n return {\n src: src\n };\n});\nexport default ItemImage;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport cx from 'clsx';\nimport PropTypes from 'prop-types';\nimport React from 'react';\nimport { childrenUtils, customPropTypes, getElementType, getUnhandledProps } from '../../lib';\nimport ItemContent from './ItemContent';\nimport ItemDescription from './ItemDescription';\nimport ItemExtra from './ItemExtra';\nimport ItemGroup from './ItemGroup';\nimport ItemHeader from './ItemHeader';\nimport ItemImage from './ItemImage';\nimport ItemMeta from './ItemMeta';\n/**\n * An item view presents large collections of site content for display.\n */\n\nfunction Item(props) {\n var children = props.children,\n className = props.className,\n content = props.content,\n description = props.description,\n extra = props.extra,\n header = props.header,\n image = props.image,\n meta = props.meta;\n var classes = cx('item', className);\n var rest = getUnhandledProps(Item, props);\n var ElementType = getElementType(Item, props);\n\n if (!childrenUtils.isNil(children)) {\n return /*#__PURE__*/React.createElement(ElementType, _extends({}, rest, {\n className: classes\n }), children);\n }\n\n return /*#__PURE__*/React.createElement(ElementType, _extends({}, rest, {\n className: classes\n }), ItemImage.create(image, {\n autoGenerateKey: false\n }), /*#__PURE__*/React.createElement(ItemContent, {\n content: content,\n description: description,\n extra: extra,\n header: header,\n meta: meta\n }));\n}\n\nItem.handledProps = [\"as\", \"children\", \"className\", \"content\", \"description\", \"extra\", \"header\", \"image\", \"meta\"];\nItem.Content = ItemContent;\nItem.Description = ItemDescription;\nItem.Extra = ItemExtra;\nItem.Group = ItemGroup;\nItem.Header = ItemHeader;\nItem.Image = ItemImage;\nItem.Meta = ItemMeta;\nItem.propTypes = process.env.NODE_ENV !== \"production\" ? {\n /** An element type to render as (string or function). */\n as: PropTypes.elementType,\n\n /** Primary content. */\n children: PropTypes.node,\n\n /** Additional classes. */\n className: PropTypes.string,\n\n /** Shorthand for ItemContent component. */\n content: customPropTypes.contentShorthand,\n\n /** Shorthand for ItemDescription component. */\n description: customPropTypes.itemShorthand,\n\n /** Shorthand for ItemExtra component. */\n extra: customPropTypes.itemShorthand,\n\n /** Shorthand for ItemHeader component. */\n header: customPropTypes.itemShorthand,\n\n /** Shorthand for ItemImage component. */\n image: customPropTypes.itemShorthand,\n\n /** Shorthand for ItemMeta component. */\n meta: customPropTypes.itemShorthand\n} : {};\nexport default Item;","/**\n * @param {number} pageNumber\n * @return {Object}\n */\nexport var createEllipsisItem = function createEllipsisItem(pageNumber) {\n return {\n active: false,\n type: 'ellipsisItem',\n value: pageNumber\n };\n};\n/**\n * @return {Object}\n */\n\nexport var createFirstPage = function createFirstPage() {\n return {\n active: false,\n type: 'firstItem',\n value: 1\n };\n};\n/**\n * @param {number} activePage\n * @return {Object}\n */\n\nexport var createPrevItem = function createPrevItem(activePage) {\n return {\n active: false,\n type: 'prevItem',\n value: Math.max(1, activePage - 1)\n };\n};\n/**\n * @param {number} activePage\n * @return {function}\n */\n\nexport var createPageFactory = function createPageFactory(activePage) {\n return function (pageNumber) {\n return {\n active: activePage === pageNumber,\n type: 'pageItem',\n value: pageNumber\n };\n };\n};\n/**\n * @param {number} activePage\n * @param {number} totalPages\n * @return {Object}\n */\n\nexport var createNextItem = function createNextItem(activePage, totalPages) {\n return {\n active: false,\n type: 'nextItem',\n value: Math.min(activePage + 1, totalPages)\n };\n};\n/**\n * @param {number} totalPages\n * @return {Object}\n */\n\nexport var createLastItem = function createLastItem(totalPages) {\n return {\n active: false,\n type: 'lastItem',\n value: totalPages\n };\n};","/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeCeil = Math.ceil,\n nativeMax = Math.max;\n\n/**\n * The base implementation of `_.range` and `_.rangeRight` which doesn't\n * coerce arguments.\n *\n * @private\n * @param {number} start The start of the range.\n * @param {number} end The end of the range.\n * @param {number} step The value to increment or decrement by.\n * @param {boolean} [fromRight] Specify iterating from right to left.\n * @returns {Array} Returns the range of numbers.\n */\nfunction baseRange(start, end, step, fromRight) {\n var index = -1,\n length = nativeMax(nativeCeil((end - start) / (step || 1)), 0),\n result = Array(length);\n\n while (length--) {\n result[fromRight ? length : ++index] = start;\n start += step;\n }\n return result;\n}\n\nexport default baseRange;\n","import baseRange from './_baseRange.js';\nimport isIterateeCall from './_isIterateeCall.js';\nimport toFinite from './toFinite.js';\n\n/**\n * Creates a `_.range` or `_.rangeRight` function.\n *\n * @private\n * @param {boolean} [fromRight] Specify iterating from right to left.\n * @returns {Function} Returns the new range function.\n */\nfunction createRange(fromRight) {\n return function(start, end, step) {\n if (step && typeof step != 'number' && isIterateeCall(start, end, step)) {\n end = step = undefined;\n }\n // Ensure the sign of `-0` is preserved.\n start = toFinite(start);\n if (end === undefined) {\n end = start;\n start = 0;\n } else {\n end = toFinite(end);\n }\n step = step === undefined ? (start < end ? 1 : -1) : toFinite(step);\n return baseRange(start, end, step, fromRight);\n };\n}\n\nexport default createRange;\n","import createRange from './_createRange.js';\n\n/**\n * Creates an array of numbers (positive and/or negative) progressing from\n * `start` up to, but not including, `end`. A step of `-1` is used if a negative\n * `start` is specified without an `end` or `step`. If `end` is not specified,\n * it's set to `start` with `start` then set to `0`.\n *\n * **Note:** JavaScript follows the IEEE-754 standard for resolving\n * floating-point values which can produce unexpected results.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Util\n * @param {number} [start=0] The start of the range.\n * @param {number} end The end of the range.\n * @param {number} [step=1] The value to increment or decrement by.\n * @returns {Array} Returns the range of numbers.\n * @see _.inRange, _.rangeRight\n * @example\n *\n * _.range(4);\n * // => [0, 1, 2, 3]\n *\n * _.range(-4);\n * // => [0, -1, -2, -3]\n *\n * _.range(1, 5);\n * // => [1, 2, 3, 4]\n *\n * _.range(0, 20, 5);\n * // => [0, 5, 10, 15]\n *\n * _.range(0, -4, -1);\n * // => [0, -1, -2, -3]\n *\n * _.range(1, 4, 0);\n * // => [1, 1, 1]\n *\n * _.range(0);\n * // => []\n */\nvar range = createRange();\n\nexport default range;\n","import { createEllipsisItem } from './itemFactories';\nexport var createInnerPrefix = function createInnerPrefix(firstGroupEnd, innerGroupStart, pageFactory) {\n var prefixPage = innerGroupStart - 1;\n var showEllipsis = prefixPage !== firstGroupEnd + 1;\n var prefixFactory = showEllipsis ? createEllipsisItem : pageFactory;\n return prefixFactory(prefixPage);\n};\nexport var createInnerSuffix = function createInnerSuffix(innerGroupEnd, lastGroupStart, pageFactory) {\n var suffixPage = innerGroupEnd + 1;\n var showEllipsis = suffixPage !== lastGroupStart - 1;\n var suffixFactory = showEllipsis ? createEllipsisItem : pageFactory;\n return suffixFactory(suffixPage);\n};","import _range from \"lodash-es/range\";\nimport _map from \"lodash-es/map\";\nimport { createInnerPrefix, createInnerSuffix } from './suffixFactories';\nexport var createSimpleRange = function createSimpleRange(start, end, pageFactory) {\n return _map(_range(start, end + 1), pageFactory);\n};\nexport var createComplexRange = function createComplexRange(options, pageFactory) {\n var activePage = options.activePage,\n boundaryRange = options.boundaryRange,\n hideEllipsis = options.hideEllipsis,\n siblingRange = options.siblingRange,\n totalPages = options.totalPages;\n var ellipsisSize = hideEllipsis ? 0 : 1;\n var firstGroupEnd = boundaryRange;\n var firstGroup = createSimpleRange(1, firstGroupEnd, pageFactory);\n var lastGroupStart = totalPages + 1 - boundaryRange;\n var lastGroup = createSimpleRange(lastGroupStart, totalPages, pageFactory);\n var innerGroupStart = Math.min(Math.max(activePage - siblingRange, firstGroupEnd + ellipsisSize + 1), lastGroupStart - ellipsisSize - 2 * siblingRange - 1);\n var innerGroupEnd = innerGroupStart + 2 * siblingRange;\n var innerGroup = createSimpleRange(innerGroupStart, innerGroupEnd, pageFactory);\n return [].concat(firstGroup, [!hideEllipsis && createInnerPrefix(firstGroupEnd, innerGroupStart, pageFactory)], innerGroup, [!hideEllipsis && createInnerSuffix(innerGroupEnd, lastGroupStart, pageFactory)], lastGroup).filter(Boolean);\n};","import { createFirstPage, createLastItem, createNextItem, createPageFactory, createPrevItem } from './itemFactories';\nimport { createComplexRange, createSimpleRange } from './rangeFactories';\nimport { isSimplePagination, typifyOptions } from './paginationUtils';\n/**\n * @param {object} rawOptions\n * @param {number|string} rawOptions.activePage\n * @param {number|string} rawOptions.boundaryRange Number of always visible pages at the beginning and end.\n * @param {boolean} rawOptions.hideEllipsis Marks if ellipsis should be hidden.\n * @param {number|string} rawOptions.siblingRange Number of always visible pages before and after the current one.\n * @param {number|string} rawOptions.totalPages Total number of pages.\n */\n\nvar createPaginationItems = function createPaginationItems(rawOptions) {\n var options = typifyOptions(rawOptions);\n var activePage = options.activePage,\n totalPages = options.totalPages;\n var pageFactory = createPageFactory(activePage);\n var innerRange = isSimplePagination(options) ? createSimpleRange(1, totalPages, pageFactory) : createComplexRange(options, pageFactory);\n return [createFirstPage(), createPrevItem(activePage)].concat(innerRange, [createNextItem(activePage, totalPages), createLastItem(totalPages)]);\n};\n\nexport default createPaginationItems;","/**\n * Checks the possibility of using simple range generation, if number of generated pages is equal\n * or greater than total pages to show.\n *\n * @param {object} options\n * @param {number} options.boundaryRange Number of always visible pages at the beginning and end.\n * @param {number} options.siblingRange Number of always visible pages before and after the current one.\n * @param {number} options.totalPages Total number of pages.\n * @return {boolean}\n */\nexport var isSimplePagination = function isSimplePagination(_ref) {\n var boundaryRange = _ref.boundaryRange,\n hideEllipsis = _ref.hideEllipsis,\n siblingRange = _ref.siblingRange,\n totalPages = _ref.totalPages;\n var boundaryRangeSize = 2 * boundaryRange;\n var ellipsisSize = hideEllipsis ? 0 : 2;\n var siblingRangeSize = 2 * siblingRange;\n return 1 + ellipsisSize + siblingRangeSize + boundaryRangeSize >= totalPages;\n};\nexport var typifyOptions = function typifyOptions(_ref2) {\n var activePage = _ref2.activePage,\n boundaryRange = _ref2.boundaryRange,\n hideEllipsis = _ref2.hideEllipsis,\n siblingRange = _ref2.siblingRange,\n totalPages = _ref2.totalPages;\n return {\n activePage: +activePage,\n boundaryRange: +boundaryRange,\n hideEllipsis: !!hideEllipsis,\n siblingRange: +siblingRange,\n totalPages: +totalPages\n };\n};","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport cx from 'clsx';\nimport PropTypes from 'prop-types';\nimport React from 'react';\nimport { childrenUtils, createShorthandFactory, customPropTypes, getElementType, getUnhandledProps } from '../../lib';\n/**\n * A list item can contain a description.\n */\n\nfunction ListDescription(props) {\n var children = props.children,\n className = props.className,\n content = props.content;\n var classes = cx(className, 'description');\n var rest = getUnhandledProps(ListDescription, props);\n var ElementType = getElementType(ListDescription, props);\n return /*#__PURE__*/React.createElement(ElementType, _extends({}, rest, {\n className: classes\n }), childrenUtils.isNil(children) ? content : children);\n}\n\nListDescription.handledProps = [\"as\", \"children\", \"className\", \"content\"];\nListDescription.propTypes = process.env.NODE_ENV !== \"production\" ? {\n /** An element type to render as (string or function). */\n as: PropTypes.elementType,\n\n /** Primary content. */\n children: PropTypes.node,\n\n /** Additional classes. */\n className: PropTypes.string,\n\n /** Shorthand for primary content. */\n content: customPropTypes.contentShorthand\n} : {};\nListDescription.create = createShorthandFactory(ListDescription, function (content) {\n return {\n content: content\n };\n});\nexport default ListDescription;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport cx from 'clsx';\nimport PropTypes from 'prop-types';\nimport React from 'react';\nimport { childrenUtils, createShorthandFactory, customPropTypes, getElementType, getUnhandledProps } from '../../lib';\n/**\n * A list item can contain a header.\n */\n\nfunction ListHeader(props) {\n var children = props.children,\n className = props.className,\n content = props.content;\n var classes = cx('header', className);\n var rest = getUnhandledProps(ListHeader, props);\n var ElementType = getElementType(ListHeader, props);\n return /*#__PURE__*/React.createElement(ElementType, _extends({}, rest, {\n className: classes\n }), childrenUtils.isNil(children) ? content : children);\n}\n\nListHeader.handledProps = [\"as\", \"children\", \"className\", \"content\"];\nListHeader.propTypes = process.env.NODE_ENV !== \"production\" ? {\n /** An element type to render as (string or function). */\n as: PropTypes.elementType,\n\n /** Primary content. */\n children: PropTypes.node,\n\n /** Additional classes. */\n className: PropTypes.string,\n\n /** Shorthand for primary content. */\n content: customPropTypes.contentShorthand\n} : {};\nListHeader.create = createShorthandFactory(ListHeader, function (content) {\n return {\n content: content\n };\n});\nexport default ListHeader;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport cx from 'clsx';\nimport PropTypes from 'prop-types';\nimport React from 'react';\nimport { childrenUtils, createShorthandFactory, customPropTypes, getElementType, getUnhandledProps, SUI, useValueAndKey, useVerticalAlignProp } from '../../lib';\nimport ListDescription from './ListDescription';\nimport ListHeader from './ListHeader';\n/**\n * A list item can contain a content.\n */\n\nfunction ListContent(props) {\n var children = props.children,\n className = props.className,\n content = props.content,\n description = props.description,\n floated = props.floated,\n header = props.header,\n verticalAlign = props.verticalAlign;\n var classes = cx(useValueAndKey(floated, 'floated'), useVerticalAlignProp(verticalAlign), 'content', className);\n var rest = getUnhandledProps(ListContent, props);\n var ElementType = getElementType(ListContent, props);\n\n if (!childrenUtils.isNil(children)) {\n return /*#__PURE__*/React.createElement(ElementType, _extends({}, rest, {\n className: classes\n }), children);\n }\n\n return /*#__PURE__*/React.createElement(ElementType, _extends({}, rest, {\n className: classes\n }), ListHeader.create(header), ListDescription.create(description), content);\n}\n\nListContent.handledProps = [\"as\", \"children\", \"className\", \"content\", \"description\", \"floated\", \"header\", \"verticalAlign\"];\nListContent.propTypes = process.env.NODE_ENV !== \"production\" ? {\n /** An element type to render as (string or function). */\n as: PropTypes.elementType,\n\n /** Primary content. */\n children: PropTypes.node,\n\n /** Additional classes. */\n className: PropTypes.string,\n\n /** Shorthand for primary content. */\n content: customPropTypes.contentShorthand,\n\n /** Shorthand for ListDescription. */\n description: customPropTypes.itemShorthand,\n\n /** An list content can be floated left or right. */\n floated: PropTypes.oneOf(SUI.FLOATS),\n\n /** Shorthand for ListHeader. */\n header: customPropTypes.itemShorthand,\n\n /** An element inside a list can be vertically aligned. */\n verticalAlign: PropTypes.oneOf(SUI.VERTICAL_ALIGNMENTS)\n} : {};\nListContent.create = createShorthandFactory(ListContent, function (content) {\n return {\n content: content\n };\n});\nexport default ListContent;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport cx from 'clsx';\nimport PropTypes from 'prop-types';\nimport React from 'react';\nimport { createShorthandFactory, getUnhandledProps, SUI, useVerticalAlignProp } from '../../lib';\nimport Icon from '../Icon/Icon';\n/**\n * A list item can contain an icon.\n */\n\nfunction ListIcon(props) {\n var className = props.className,\n verticalAlign = props.verticalAlign;\n var classes = cx(useVerticalAlignProp(verticalAlign), className);\n var rest = getUnhandledProps(ListIcon, props);\n return /*#__PURE__*/React.createElement(Icon, _extends({}, rest, {\n className: classes\n }));\n}\n\nListIcon.handledProps = [\"className\", \"verticalAlign\"];\nListIcon.propTypes = process.env.NODE_ENV !== \"production\" ? {\n /** Additional classes. */\n className: PropTypes.string,\n\n /** An element inside a list can be vertically aligned. */\n verticalAlign: PropTypes.oneOf(SUI.VERTICAL_ALIGNMENTS)\n} : {};\nListIcon.create = createShorthandFactory(ListIcon, function (name) {\n return {\n name: name\n };\n});\nexport default ListIcon;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _inheritsLoose from \"@babel/runtime/helpers/esm/inheritsLoose\";\nimport _isPlainObject from \"lodash-es/isPlainObject\";\nimport _invoke from \"lodash-es/invoke\";\nimport cx from 'clsx';\nimport PropTypes from 'prop-types';\nimport React, { Component, isValidElement } from 'react';\nimport { childrenUtils, createShorthandFactory, customPropTypes, getElementType, getUnhandledProps, useKeyOnly } from '../../lib';\nimport Image from '../Image';\nimport ListContent from './ListContent';\nimport ListDescription from './ListDescription';\nimport ListHeader from './ListHeader';\nimport ListIcon from './ListIcon';\n/**\n * A list item can contain a set of items.\n */\n\nvar ListItem = /*#__PURE__*/function (_Component) {\n _inheritsLoose(ListItem, _Component);\n\n function ListItem() {\n var _this;\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 = _Component.call.apply(_Component, [this].concat(args)) || this;\n\n _this.handleClick = function (e) {\n var disabled = _this.props.disabled;\n if (!disabled) _invoke(_this.props, 'onClick', e, _this.props);\n };\n\n return _this;\n }\n\n var _proto = ListItem.prototype;\n\n _proto.render = function render() {\n var _this$props = this.props,\n active = _this$props.active,\n children = _this$props.children,\n className = _this$props.className,\n content = _this$props.content,\n description = _this$props.description,\n disabled = _this$props.disabled,\n header = _this$props.header,\n icon = _this$props.icon,\n image = _this$props.image,\n value = _this$props.value;\n var ElementType = getElementType(ListItem, this.props);\n var classes = cx(useKeyOnly(active, 'active'), useKeyOnly(disabled, 'disabled'), useKeyOnly(ElementType !== 'li', 'item'), className);\n var rest = getUnhandledProps(ListItem, this.props);\n var valueProp = ElementType === 'li' ? {\n value: value\n } : {\n 'data-value': value\n };\n\n if (!childrenUtils.isNil(children)) {\n return /*#__PURE__*/React.createElement(ElementType, _extends({}, valueProp, {\n role: \"listitem\",\n className: classes,\n onClick: this.handleClick\n }, rest), children);\n }\n\n var iconElement = ListIcon.create(icon, {\n autoGenerateKey: false\n });\n var imageElement = Image.create(image, {\n autoGenerateKey: false\n }); // See description of `content` prop for explanation about why this is necessary.\n\n if (! /*#__PURE__*/isValidElement(content) && _isPlainObject(content)) {\n return /*#__PURE__*/React.createElement(ElementType, _extends({}, valueProp, {\n role: \"listitem\",\n className: classes,\n onClick: this.handleClick\n }, rest), iconElement || imageElement, ListContent.create(content, {\n autoGenerateKey: false,\n defaultProps: {\n header: header,\n description: description\n }\n }));\n }\n\n var headerElement = ListHeader.create(header, {\n autoGenerateKey: false\n });\n var descriptionElement = ListDescription.create(description, {\n autoGenerateKey: false\n });\n\n if (iconElement || imageElement) {\n return /*#__PURE__*/React.createElement(ElementType, _extends({}, valueProp, {\n role: \"listitem\",\n className: classes,\n onClick: this.handleClick\n }, rest), iconElement || imageElement, (content || headerElement || descriptionElement) && /*#__PURE__*/React.createElement(ListContent, null, headerElement, descriptionElement, content));\n }\n\n return /*#__PURE__*/React.createElement(ElementType, _extends({}, valueProp, {\n role: \"listitem\",\n className: classes,\n onClick: this.handleClick\n }, rest), headerElement, descriptionElement, content);\n };\n\n return ListItem;\n}(Component);\n\nListItem.handledProps = [\"active\", \"as\", \"children\", \"className\", \"content\", \"description\", \"disabled\", \"header\", \"icon\", \"image\", \"onClick\", \"value\"];\nListItem.propTypes = process.env.NODE_ENV !== \"production\" ? {\n /** An element type to render as (string or function). */\n as: PropTypes.elementType,\n\n /** A list item can active. */\n active: PropTypes.bool,\n\n /** Primary content. */\n children: PropTypes.node,\n\n /** Additional classes. */\n className: PropTypes.string,\n\n /**\n * Shorthand for primary content.\n *\n * Heads up!\n *\n * This is handled slightly differently than the typical `content` prop since\n * the wrapping ListContent is not used when there's no icon or image.\n *\n * If you pass content as:\n * - an element/literal, it's treated as the sibling node to\n * header/description (whether wrapped in Item.Content or not).\n * - a props object, it forces the presence of Item.Content and passes those\n * props to it. If you pass a content prop within that props object, it\n * will be treated as the sibling node to header/description.\n */\n content: customPropTypes.itemShorthand,\n\n /** Shorthand for ListDescription. */\n description: customPropTypes.itemShorthand,\n\n /** A list item can disabled. */\n disabled: PropTypes.bool,\n\n /** Shorthand for ListHeader. */\n header: customPropTypes.itemShorthand,\n\n /** Shorthand for ListIcon. */\n icon: customPropTypes.every([customPropTypes.disallow(['image']), customPropTypes.itemShorthand]),\n\n /** Shorthand for Image. */\n image: customPropTypes.every([customPropTypes.disallow(['icon']), customPropTypes.itemShorthand]),\n\n /** A ListItem can be clicked */\n onClick: PropTypes.func,\n\n /** A value for an ordered list. */\n value: PropTypes.string\n} : {};\nListItem.create = createShorthandFactory(ListItem, function (content) {\n return {\n content: content\n };\n});\nexport default ListItem;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport cx from 'clsx';\nimport PropTypes from 'prop-types';\nimport React from 'react';\nimport { childrenUtils, customPropTypes, getElementType, getUnhandledProps, useKeyOnly } from '../../lib';\n/**\n * A list can contain a sub list.\n */\n\nfunction ListList(props) {\n var children = props.children,\n className = props.className,\n content = props.content;\n var rest = getUnhandledProps(ListList, props);\n var ElementType = getElementType(ListList, props);\n var classes = cx(useKeyOnly(ElementType !== 'ul' && ElementType !== 'ol', 'list'), className);\n return /*#__PURE__*/React.createElement(ElementType, _extends({}, rest, {\n className: classes\n }), childrenUtils.isNil(children) ? content : children);\n}\n\nListList.handledProps = [\"as\", \"children\", \"className\", \"content\"];\nListList.propTypes = process.env.NODE_ENV !== \"production\" ? {\n /** An element type to render as (string or function). */\n as: PropTypes.elementType,\n\n /** Primary content. */\n children: PropTypes.node,\n\n /** Additional classes. */\n className: PropTypes.string,\n\n /** Shorthand for primary content. */\n content: customPropTypes.contentShorthand\n} : {};\nexport default ListList;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _inheritsLoose from \"@babel/runtime/helpers/esm/inheritsLoose\";\nimport _map from \"lodash-es/map\";\nimport _invoke from \"lodash-es/invoke\";\nimport cx from 'clsx';\nimport PropTypes from 'prop-types';\nimport React, { Component } from 'react';\nimport { childrenUtils, customPropTypes, getElementType, getUnhandledProps, SUI, useKeyOnly, useKeyOrValueAndKey, useValueAndKey, useVerticalAlignProp } from '../../lib';\nimport ListContent from './ListContent';\nimport ListDescription from './ListDescription';\nimport ListHeader from './ListHeader';\nimport ListIcon from './ListIcon';\nimport ListItem from './ListItem';\nimport ListList from './ListList';\n/**\n * A list groups related content.\n */\n\nvar List = /*#__PURE__*/function (_Component) {\n _inheritsLoose(List, _Component);\n\n function List() {\n var _this;\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 = _Component.call.apply(_Component, [this].concat(args)) || this;\n\n _this.handleItemOverrides = function (predefinedProps) {\n return {\n onClick: function onClick(e, itemProps) {\n _invoke(predefinedProps, 'onClick', e, itemProps);\n\n _invoke(_this.props, 'onItemClick', e, itemProps);\n }\n };\n };\n\n return _this;\n }\n\n var _proto = List.prototype;\n\n _proto.render = function render() {\n var _this2 = this;\n\n var _this$props = this.props,\n animated = _this$props.animated,\n bulleted = _this$props.bulleted,\n celled = _this$props.celled,\n children = _this$props.children,\n className = _this$props.className,\n content = _this$props.content,\n divided = _this$props.divided,\n floated = _this$props.floated,\n horizontal = _this$props.horizontal,\n inverted = _this$props.inverted,\n items = _this$props.items,\n link = _this$props.link,\n ordered = _this$props.ordered,\n relaxed = _this$props.relaxed,\n selection = _this$props.selection,\n size = _this$props.size,\n verticalAlign = _this$props.verticalAlign;\n var classes = cx('ui', size, useKeyOnly(animated, 'animated'), useKeyOnly(bulleted, 'bulleted'), useKeyOnly(celled, 'celled'), useKeyOnly(divided, 'divided'), useKeyOnly(horizontal, 'horizontal'), useKeyOnly(inverted, 'inverted'), useKeyOnly(link, 'link'), useKeyOnly(ordered, 'ordered'), useKeyOnly(selection, 'selection'), useKeyOrValueAndKey(relaxed, 'relaxed'), useValueAndKey(floated, 'floated'), useVerticalAlignProp(verticalAlign), 'list', className);\n var rest = getUnhandledProps(List, this.props);\n var ElementType = getElementType(List, this.props);\n\n if (!childrenUtils.isNil(children)) {\n return /*#__PURE__*/React.createElement(ElementType, _extends({\n role: \"list\",\n className: classes\n }, rest), children);\n }\n\n if (!childrenUtils.isNil(content)) {\n return /*#__PURE__*/React.createElement(ElementType, _extends({\n role: \"list\",\n className: classes\n }, rest), content);\n }\n\n return /*#__PURE__*/React.createElement(ElementType, _extends({\n role: \"list\",\n className: classes\n }, rest), _map(items, function (item) {\n return ListItem.create(item, {\n overrideProps: _this2.handleItemOverrides\n });\n }));\n };\n\n return List;\n}(Component);\n\nList.handledProps = [\"animated\", \"as\", \"bulleted\", \"celled\", \"children\", \"className\", \"content\", \"divided\", \"floated\", \"horizontal\", \"inverted\", \"items\", \"link\", \"onItemClick\", \"ordered\", \"relaxed\", \"selection\", \"size\", \"verticalAlign\"];\nList.propTypes = process.env.NODE_ENV !== \"production\" ? {\n /** An element type to render as (string or function). */\n as: PropTypes.elementType,\n\n /** A list can animate to set the current item apart from the list. */\n animated: PropTypes.bool,\n\n /** A list can mark items with a bullet. */\n bulleted: PropTypes.bool,\n\n /** A list can divide its items into cells. */\n celled: PropTypes.bool,\n\n /** Primary content. */\n children: PropTypes.node,\n\n /** Additional classes. */\n className: PropTypes.string,\n\n /** Shorthand for primary content. */\n content: customPropTypes.contentShorthand,\n\n /** A list can show divisions between content. */\n divided: PropTypes.bool,\n\n /** An list can be floated left or right. */\n floated: PropTypes.oneOf(SUI.FLOATS),\n\n /** A list can be formatted to have items appear horizontally. */\n horizontal: PropTypes.bool,\n\n /** A list can be inverted to appear on a dark background. */\n inverted: PropTypes.bool,\n\n /** Shorthand array of props for ListItem. */\n items: customPropTypes.collectionShorthand,\n\n /** A list can be specially formatted for navigation links. */\n link: PropTypes.bool,\n\n /**\n * onClick handler for ListItem. Mutually exclusive with children.\n *\n * @param {SyntheticEvent} event - React's original SyntheticEvent.\n * @param {object} data - All item props.\n */\n onItemClick: customPropTypes.every([customPropTypes.disallow(['children']), PropTypes.func]),\n\n /** A list can be ordered numerically. */\n ordered: PropTypes.bool,\n\n /** A list can relax its padding to provide more negative space. */\n relaxed: PropTypes.oneOfType([PropTypes.bool, PropTypes.oneOf(['very'])]),\n\n /** A selection list formats list items as possible choices. */\n selection: PropTypes.bool,\n\n /** A list can vary in size. */\n size: PropTypes.oneOf(SUI.SIZES),\n\n /** An element inside a list can be vertically aligned. */\n verticalAlign: PropTypes.oneOf(SUI.VERTICAL_ALIGNMENTS)\n} : {};\nList.Content = ListContent;\nList.Description = ListDescription;\nList.Header = ListHeader;\nList.Icon = ListIcon;\nList.Item = ListItem;\nList.List = ListList;\nexport default List;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _without from \"lodash-es/without\";\nimport cx from 'clsx';\nimport PropTypes from 'prop-types';\nimport React from 'react';\nimport { childrenUtils, customPropTypes, getElementType, getUnhandledProps, SUI, useTextAlignProp } from '../../lib';\n/**\n * A card can contain a description with one or more paragraphs.\n */\n\nfunction CardDescription(props) {\n var children = props.children,\n className = props.className,\n content = props.content,\n textAlign = props.textAlign;\n var classes = cx(useTextAlignProp(textAlign), 'description', className);\n var rest = getUnhandledProps(CardDescription, props);\n var ElementType = getElementType(CardDescription, props);\n return /*#__PURE__*/React.createElement(ElementType, _extends({}, rest, {\n className: classes\n }), childrenUtils.isNil(children) ? content : children);\n}\n\nCardDescription.handledProps = [\"as\", \"children\", \"className\", \"content\", \"textAlign\"];\nCardDescription.propTypes = process.env.NODE_ENV !== \"production\" ? {\n /** An element type to render as (string or function). */\n as: PropTypes.elementType,\n\n /** Primary content. */\n children: PropTypes.node,\n\n /** Additional classes. */\n className: PropTypes.string,\n\n /** Shorthand for primary content. */\n content: customPropTypes.contentShorthand,\n\n /** A card content can adjust its text alignment. */\n textAlign: PropTypes.oneOf(_without(SUI.TEXT_ALIGNMENTS, 'justified'))\n} : {};\nexport default CardDescription;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _without from \"lodash-es/without\";\nimport cx from 'clsx';\nimport PropTypes from 'prop-types';\nimport React from 'react';\nimport { childrenUtils, customPropTypes, getElementType, getUnhandledProps, SUI, useTextAlignProp } from '../../lib';\n/**\n * A card can contain a header.\n */\n\nfunction CardHeader(props) {\n var children = props.children,\n className = props.className,\n content = props.content,\n textAlign = props.textAlign;\n var classes = cx(useTextAlignProp(textAlign), 'header', className);\n var rest = getUnhandledProps(CardHeader, props);\n var ElementType = getElementType(CardHeader, props);\n return /*#__PURE__*/React.createElement(ElementType, _extends({}, rest, {\n className: classes\n }), childrenUtils.isNil(children) ? content : children);\n}\n\nCardHeader.handledProps = [\"as\", \"children\", \"className\", \"content\", \"textAlign\"];\nCardHeader.propTypes = process.env.NODE_ENV !== \"production\" ? {\n /** An element type to render as (string or function). */\n as: PropTypes.elementType,\n\n /** Primary content. */\n children: PropTypes.node,\n\n /** Additional classes. */\n className: PropTypes.string,\n\n /** Shorthand for primary content. */\n content: customPropTypes.contentShorthand,\n\n /** A card header can adjust its text alignment. */\n textAlign: PropTypes.oneOf(_without(SUI.TEXT_ALIGNMENTS, 'justified'))\n} : {};\nexport default CardHeader;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _without from \"lodash-es/without\";\nimport cx from 'clsx';\nimport PropTypes from 'prop-types';\nimport React from 'react';\nimport { childrenUtils, customPropTypes, getElementType, getUnhandledProps, SUI, useTextAlignProp } from '../../lib';\n/**\n * A card can contain content metadata.\n */\n\nfunction CardMeta(props) {\n var children = props.children,\n className = props.className,\n content = props.content,\n textAlign = props.textAlign;\n var classes = cx(useTextAlignProp(textAlign), 'meta', className);\n var rest = getUnhandledProps(CardMeta, props);\n var ElementType = getElementType(CardMeta, props);\n return /*#__PURE__*/React.createElement(ElementType, _extends({}, rest, {\n className: classes\n }), childrenUtils.isNil(children) ? content : children);\n}\n\nCardMeta.handledProps = [\"as\", \"children\", \"className\", \"content\", \"textAlign\"];\nCardMeta.propTypes = process.env.NODE_ENV !== \"production\" ? {\n /** An element type to render as (string or function). */\n as: PropTypes.elementType,\n\n /** Primary content. */\n children: PropTypes.node,\n\n /** Additional classes. */\n className: PropTypes.string,\n\n /** Shorthand for primary content. */\n content: customPropTypes.contentShorthand,\n\n /** A card meta can adjust its text alignment. */\n textAlign: PropTypes.oneOf(_without(SUI.TEXT_ALIGNMENTS, 'justified'))\n} : {};\nexport default CardMeta;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _without from \"lodash-es/without\";\nimport cx from 'clsx';\nimport PropTypes from 'prop-types';\nimport React from 'react';\nimport { childrenUtils, createShorthand, customPropTypes, getElementType, getUnhandledProps, SUI, useKeyOnly, useTextAlignProp } from '../../lib';\nimport CardDescription from './CardDescription';\nimport CardHeader from './CardHeader';\nimport CardMeta from './CardMeta';\n/**\n * A card can contain blocks of content or extra content meant to be formatted separately from the main content.\n */\n\nfunction CardContent(props) {\n var children = props.children,\n className = props.className,\n content = props.content,\n description = props.description,\n extra = props.extra,\n header = props.header,\n meta = props.meta,\n textAlign = props.textAlign;\n var classes = cx(useKeyOnly(extra, 'extra'), useTextAlignProp(textAlign), 'content', className);\n var rest = getUnhandledProps(CardContent, props);\n var ElementType = getElementType(CardContent, props);\n\n if (!childrenUtils.isNil(children)) {\n return /*#__PURE__*/React.createElement(ElementType, _extends({}, rest, {\n className: classes\n }), children);\n }\n\n if (!childrenUtils.isNil(content)) {\n return /*#__PURE__*/React.createElement(ElementType, _extends({}, rest, {\n className: classes\n }), content);\n }\n\n return /*#__PURE__*/React.createElement(ElementType, _extends({}, rest, {\n className: classes\n }), createShorthand(CardHeader, function (val) {\n return {\n content: val\n };\n }, header, {\n autoGenerateKey: false\n }), createShorthand(CardMeta, function (val) {\n return {\n content: val\n };\n }, meta, {\n autoGenerateKey: false\n }), createShorthand(CardDescription, function (val) {\n return {\n content: val\n };\n }, description, {\n autoGenerateKey: false\n }));\n}\n\nCardContent.handledProps = [\"as\", \"children\", \"className\", \"content\", \"description\", \"extra\", \"header\", \"meta\", \"textAlign\"];\nCardContent.propTypes = process.env.NODE_ENV !== \"production\" ? {\n /** An element type to render as (string or function). */\n as: PropTypes.elementType,\n\n /** Primary content. */\n children: PropTypes.node,\n\n /** Additional classes. */\n className: PropTypes.string,\n\n /** Shorthand for primary content. */\n content: customPropTypes.contentShorthand,\n\n /** Shorthand for CardDescription. */\n description: customPropTypes.itemShorthand,\n\n /** A card can contain extra content meant to be formatted separately from the main content. */\n extra: PropTypes.bool,\n\n /** Shorthand for CardHeader. */\n header: customPropTypes.itemShorthand,\n\n /** Shorthand for CardMeta. */\n meta: customPropTypes.itemShorthand,\n\n /** A card content can adjust its text alignment. */\n textAlign: PropTypes.oneOf(_without(SUI.TEXT_ALIGNMENTS, 'justified'))\n} : {};\nexport default CardContent;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _without from \"lodash-es/without\";\nimport _map from \"lodash-es/map\";\nimport cx from 'clsx';\nimport PropTypes from 'prop-types';\nimport React from 'react';\nimport { childrenUtils, customPropTypes, getElementType, getUnhandledProps, SUI, useKeyOnly, useTextAlignProp, useWidthProp } from '../../lib';\nimport Card from './Card';\n/**\n * A group of cards.\n */\n\nfunction CardGroup(props) {\n var centered = props.centered,\n children = props.children,\n className = props.className,\n content = props.content,\n doubling = props.doubling,\n items = props.items,\n itemsPerRow = props.itemsPerRow,\n stackable = props.stackable,\n textAlign = props.textAlign;\n var classes = cx('ui', useKeyOnly(centered, 'centered'), useKeyOnly(doubling, 'doubling'), useKeyOnly(stackable, 'stackable'), useTextAlignProp(textAlign), useWidthProp(itemsPerRow), 'cards', className);\n var rest = getUnhandledProps(CardGroup, props);\n var ElementType = getElementType(CardGroup, props);\n\n if (!childrenUtils.isNil(children)) {\n return /*#__PURE__*/React.createElement(ElementType, _extends({}, rest, {\n className: classes\n }), children);\n }\n\n if (!childrenUtils.isNil(content)) {\n return /*#__PURE__*/React.createElement(ElementType, _extends({}, rest, {\n className: classes\n }), content);\n }\n\n var itemsJSX = _map(items, function (item) {\n var _item$key;\n\n var key = (_item$key = item.key) != null ? _item$key : [item.header, item.description].join('-');\n return /*#__PURE__*/React.createElement(Card, _extends({\n key: key\n }, item));\n });\n\n return /*#__PURE__*/React.createElement(ElementType, _extends({}, rest, {\n className: classes\n }), itemsJSX);\n}\n\nCardGroup.handledProps = [\"as\", \"centered\", \"children\", \"className\", \"content\", \"doubling\", \"items\", \"itemsPerRow\", \"stackable\", \"textAlign\"];\nCardGroup.propTypes = process.env.NODE_ENV !== \"production\" ? {\n /** An element type to render as (string or function). */\n as: PropTypes.elementType,\n\n /** A group of cards can center itself inside its container. */\n centered: PropTypes.bool,\n\n /** Primary content. */\n children: PropTypes.node,\n\n /** Additional classes. */\n className: PropTypes.string,\n\n /** Shorthand for primary content. */\n content: customPropTypes.contentShorthand,\n\n /** A group of cards can double its column width for mobile. */\n doubling: PropTypes.bool,\n\n /** Shorthand array of props for Card. */\n items: customPropTypes.collectionShorthand,\n\n /** A group of cards can set how many cards should exist in a row. */\n itemsPerRow: PropTypes.oneOf(SUI.WIDTHS),\n\n /** A group of cards can automatically stack rows to a single columns on mobile devices. */\n stackable: PropTypes.bool,\n\n /** A card group can adjust its text alignment. */\n textAlign: PropTypes.oneOf(_without(SUI.TEXT_ALIGNMENTS, 'justified'))\n} : {};\nexport default CardGroup;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _inheritsLoose from \"@babel/runtime/helpers/esm/inheritsLoose\";\nimport cx from 'clsx';\nimport PropTypes from 'prop-types';\nimport React, { Component } from 'react';\nimport { childrenUtils, customPropTypes, getElementType, getUnhandledProps, SUI, useKeyOnly } from '../../lib';\nimport Image from '../../elements/Image';\nimport CardContent from './CardContent';\nimport CardDescription from './CardDescription';\nimport CardGroup from './CardGroup';\nimport CardHeader from './CardHeader';\nimport CardMeta from './CardMeta';\n/**\n * A card displays site content in a manner similar to a playing card.\n */\n\nvar Card = /*#__PURE__*/function (_Component) {\n _inheritsLoose(Card, _Component);\n\n function Card() {\n var _this;\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 = _Component.call.apply(_Component, [this].concat(args)) || this;\n\n _this.handleClick = function (e) {\n var onClick = _this.props.onClick;\n if (onClick) onClick(e, _this.props);\n };\n\n return _this;\n }\n\n var _proto = Card.prototype;\n\n _proto.render = function render() {\n var _this$props = this.props,\n centered = _this$props.centered,\n children = _this$props.children,\n className = _this$props.className,\n color = _this$props.color,\n content = _this$props.content,\n description = _this$props.description,\n extra = _this$props.extra,\n fluid = _this$props.fluid,\n header = _this$props.header,\n href = _this$props.href,\n image = _this$props.image,\n link = _this$props.link,\n meta = _this$props.meta,\n onClick = _this$props.onClick,\n raised = _this$props.raised;\n var classes = cx('ui', color, useKeyOnly(centered, 'centered'), useKeyOnly(fluid, 'fluid'), useKeyOnly(link, 'link'), useKeyOnly(raised, 'raised'), 'card', className);\n var rest = getUnhandledProps(Card, this.props);\n var ElementType = getElementType(Card, this.props, function () {\n if (onClick) return 'a';\n });\n\n if (!childrenUtils.isNil(children)) {\n return /*#__PURE__*/React.createElement(ElementType, _extends({}, rest, {\n className: classes,\n href: href,\n onClick: this.handleClick\n }), children);\n }\n\n if (!childrenUtils.isNil(content)) {\n return /*#__PURE__*/React.createElement(ElementType, _extends({}, rest, {\n className: classes,\n href: href,\n onClick: this.handleClick\n }), content);\n }\n\n return /*#__PURE__*/React.createElement(ElementType, _extends({}, rest, {\n className: classes,\n href: href,\n onClick: this.handleClick\n }), Image.create(image, {\n autoGenerateKey: false,\n defaultProps: {\n ui: false,\n wrapped: true\n }\n }), (description || header || meta) && /*#__PURE__*/React.createElement(CardContent, {\n description: description,\n header: header,\n meta: meta\n }), extra && /*#__PURE__*/React.createElement(CardContent, {\n extra: true\n }, extra));\n };\n\n return Card;\n}(Component);\n\nCard.handledProps = [\"as\", \"centered\", \"children\", \"className\", \"color\", \"content\", \"description\", \"extra\", \"fluid\", \"header\", \"href\", \"image\", \"link\", \"meta\", \"onClick\", \"raised\"];\nexport { Card as default };\nCard.propTypes = process.env.NODE_ENV !== \"production\" ? {\n /** An element type to render as (string or function). */\n as: PropTypes.elementType,\n\n /** A Card can center itself inside its container. */\n centered: PropTypes.bool,\n\n /** Primary content. */\n children: PropTypes.node,\n\n /** Additional classes. */\n className: PropTypes.string,\n\n /** A Card can be formatted to display different colors. */\n color: PropTypes.oneOf(SUI.COLORS),\n\n /** Shorthand for primary content. */\n content: customPropTypes.contentShorthand,\n\n /** Shorthand for CardDescription. */\n description: customPropTypes.itemShorthand,\n\n /** Shorthand for primary content of CardContent. */\n extra: customPropTypes.contentShorthand,\n\n /** A Card can be formatted to take up the width of its container. */\n fluid: PropTypes.bool,\n\n /** Shorthand for CardHeader. */\n header: customPropTypes.itemShorthand,\n\n /** Render as an `a` tag instead of a `div` and adds the href attribute. */\n href: PropTypes.string,\n\n /** A card can contain an Image component. */\n image: customPropTypes.itemShorthand,\n\n /** A card can be formatted to link to other content. */\n link: PropTypes.bool,\n\n /** Shorthand for CardMeta. */\n meta: customPropTypes.itemShorthand,\n\n /**\n * Called on click. When passed, the component renders as an `a`\n * tag by default instead of a `div`.\n *\n * @param {SyntheticEvent} event - React's original SyntheticEvent.\n * @param {object} data - All props.\n */\n onClick: PropTypes.func,\n\n /** A Card can be formatted to raise above the page. */\n raised: PropTypes.bool\n} : {};\nCard.Content = CardContent;\nCard.Description = CardDescription;\nCard.Group = CardGroup;\nCard.Header = CardHeader;\nCard.Meta = CardMeta;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport cx from 'clsx';\nimport PropTypes from 'prop-types';\nimport React from 'react';\nimport { childrenUtils, createShorthandFactory, customPropTypes, getElementType, getUnhandledProps } from '../../lib';\n\nfunction StepDescription(props) {\n var children = props.children,\n className = props.className,\n content = props.content;\n var classes = cx('description', className);\n var rest = getUnhandledProps(StepDescription, props);\n var ElementType = getElementType(StepDescription, props);\n return /*#__PURE__*/React.createElement(ElementType, _extends({}, rest, {\n className: classes\n }), childrenUtils.isNil(children) ? content : children);\n}\n\nStepDescription.handledProps = [\"as\", \"children\", \"className\", \"content\"];\nStepDescription.propTypes = process.env.NODE_ENV !== \"production\" ? {\n /** An element type to render as (string or function). */\n as: PropTypes.elementType,\n\n /** Primary content. */\n children: PropTypes.node,\n\n /** Additional classes. */\n className: PropTypes.string,\n\n /** Shorthand for primary content. */\n content: customPropTypes.contentShorthand\n} : {};\nStepDescription.create = createShorthandFactory(StepDescription, function (content) {\n return {\n content: content\n };\n});\nexport default StepDescription;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport cx from 'clsx';\nimport PropTypes from 'prop-types';\nimport React from 'react';\nimport { childrenUtils, createShorthandFactory, customPropTypes, getElementType, getUnhandledProps } from '../../lib';\n/**\n * A step can contain a title.\n */\n\nfunction StepTitle(props) {\n var children = props.children,\n className = props.className,\n content = props.content;\n var classes = cx('title', className);\n var rest = getUnhandledProps(StepTitle, props);\n var ElementType = getElementType(StepTitle, props);\n return /*#__PURE__*/React.createElement(ElementType, _extends({}, rest, {\n className: classes\n }), childrenUtils.isNil(children) ? content : children);\n}\n\nStepTitle.handledProps = [\"as\", \"children\", \"className\", \"content\"];\nStepTitle.propTypes = process.env.NODE_ENV !== \"production\" ? {\n /** An element type to render as (string or function). */\n as: PropTypes.elementType,\n\n /** Primary content. */\n children: PropTypes.node,\n\n /** Additional classes. */\n className: PropTypes.string,\n\n /** Shorthand for primary content. */\n content: customPropTypes.contentShorthand\n} : {};\nStepTitle.create = createShorthandFactory(StepTitle, function (content) {\n return {\n content: content\n };\n});\nexport default StepTitle;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport cx from 'clsx';\nimport PropTypes from 'prop-types';\nimport React from 'react';\nimport { childrenUtils, createShorthandFactory, customPropTypes, getElementType, getUnhandledProps } from '../../lib';\nimport StepDescription from './StepDescription';\nimport StepTitle from './StepTitle';\n/**\n * A step can contain a content.\n */\n\nfunction StepContent(props) {\n var children = props.children,\n className = props.className,\n content = props.content,\n description = props.description,\n title = props.title;\n var classes = cx('content', className);\n var rest = getUnhandledProps(StepContent, props);\n var ElementType = getElementType(StepContent, props);\n\n if (!childrenUtils.isNil(children)) {\n return /*#__PURE__*/React.createElement(ElementType, _extends({}, rest, {\n className: classes\n }), children);\n }\n\n if (!childrenUtils.isNil(content)) {\n return /*#__PURE__*/React.createElement(ElementType, _extends({}, rest, {\n className: classes\n }), content);\n }\n\n return /*#__PURE__*/React.createElement(ElementType, _extends({}, rest, {\n className: classes\n }), StepTitle.create(title, {\n autoGenerateKey: false\n }), StepDescription.create(description, {\n autoGenerateKey: false\n }));\n}\n\nStepContent.handledProps = [\"as\", \"children\", \"className\", \"content\", \"description\", \"title\"];\nStepContent.propTypes = process.env.NODE_ENV !== \"production\" ? {\n /** An element type to render as (string or function). */\n as: PropTypes.elementType,\n\n /** Primary content. */\n children: PropTypes.node,\n\n /** Additional classes. */\n className: PropTypes.string,\n\n /** Shorthand for primary content. */\n content: customPropTypes.contentShorthand,\n\n /** Shorthand for StepDescription. */\n description: customPropTypes.itemShorthand,\n\n /** Shorthand for StepTitle. */\n title: customPropTypes.itemShorthand\n} : {};\nStepContent.create = createShorthandFactory(StepContent, function (content) {\n return {\n content: content\n };\n});\nexport default StepContent;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _values from \"lodash-es/values\";\nimport _keys from \"lodash-es/keys\";\nimport _without from \"lodash-es/without\";\nimport _map from \"lodash-es/map\";\nimport _pickBy from \"lodash-es/pickBy\";\nimport cx from 'clsx';\nimport PropTypes from 'prop-types';\nimport React from 'react';\nimport { childrenUtils, customPropTypes, getElementType, getUnhandledProps, numberToWordMap, SUI, useKeyOnly, useKeyOrValueAndKey, useValueAndKey, useWidthProp } from '../../lib';\nimport Step from './Step';\nvar numberMap = process.env.NODE_ENV !== \"production\" ? _pickBy(numberToWordMap, function (val, key) {\n return key <= 8;\n}) : {};\n/**\n * A set of steps.\n */\n\nfunction StepGroup(props) {\n var attached = props.attached,\n children = props.children,\n className = props.className,\n content = props.content,\n fluid = props.fluid,\n items = props.items,\n ordered = props.ordered,\n size = props.size,\n stackable = props.stackable,\n unstackable = props.unstackable,\n vertical = props.vertical,\n widths = props.widths;\n var classes = cx('ui', size, useKeyOnly(fluid, 'fluid'), useKeyOnly(ordered, 'ordered'), useKeyOnly(unstackable, 'unstackable'), useKeyOnly(vertical, 'vertical'), useKeyOrValueAndKey(attached, 'attached'), useValueAndKey(stackable, 'stackable'), useWidthProp(widths), 'steps', className);\n var rest = getUnhandledProps(StepGroup, props);\n var ElementType = getElementType(StepGroup, props);\n\n if (!childrenUtils.isNil(children)) {\n return /*#__PURE__*/React.createElement(ElementType, _extends({}, rest, {\n className: classes\n }), children);\n }\n\n if (!childrenUtils.isNil(content)) {\n return /*#__PURE__*/React.createElement(ElementType, _extends({}, rest, {\n className: classes\n }), content);\n }\n\n return /*#__PURE__*/React.createElement(ElementType, _extends({}, rest, {\n className: classes\n }), _map(items, function (item) {\n return Step.create(item);\n }));\n}\n\nStepGroup.handledProps = [\"as\", \"attached\", \"children\", \"className\", \"content\", \"fluid\", \"items\", \"ordered\", \"size\", \"stackable\", \"unstackable\", \"vertical\", \"widths\"];\nStepGroup.propTypes = process.env.NODE_ENV !== \"production\" ? {\n /** An element type to render as (string or function). */\n as: PropTypes.elementType,\n\n /** Steps can be attached to other elements. */\n attached: PropTypes.oneOfType([PropTypes.bool, PropTypes.oneOf(['top', 'bottom'])]),\n\n /** Primary content. */\n children: PropTypes.node,\n\n /** Additional classes. */\n className: PropTypes.string,\n\n /** Shorthand for primary content. */\n content: customPropTypes.contentShorthand,\n\n /** A fluid step takes up the width of its container. */\n fluid: PropTypes.bool,\n\n /** Shorthand array of props for Step. */\n items: customPropTypes.collectionShorthand,\n\n /** A step can show a ordered sequence of steps. */\n ordered: PropTypes.bool,\n\n /** Steps can have different sizes. */\n size: PropTypes.oneOf(_without(SUI.SIZES, 'medium')),\n\n /** A step can stack vertically only on smaller screens. */\n stackable: PropTypes.oneOf(['tablet']),\n\n /** A step can prevent itself from stacking on mobile. */\n unstackable: PropTypes.bool,\n\n /** A step can be displayed stacked vertically. */\n vertical: PropTypes.bool,\n\n /** Steps can be divided evenly inside their parent. */\n widths: PropTypes.oneOf([].concat(_keys(numberMap), _keys(numberMap).map(Number), _values(numberMap)))\n} : {};\nexport default StepGroup;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _inheritsLoose from \"@babel/runtime/helpers/esm/inheritsLoose\";\nimport _invoke from \"lodash-es/invoke\";\nimport cx from 'clsx';\nimport PropTypes from 'prop-types';\nimport React, { Component } from 'react';\nimport { childrenUtils, createShorthandFactory, customPropTypes, getElementType, getUnhandledProps, useKeyOnly } from '../../lib';\nimport Icon from '../Icon';\nimport StepContent from './StepContent';\nimport StepDescription from './StepDescription';\nimport StepGroup from './StepGroup';\nimport StepTitle from './StepTitle';\n/**\n * A step shows the completion status of an activity in a series of activities.\n */\n\nvar Step = /*#__PURE__*/function (_Component) {\n _inheritsLoose(Step, _Component);\n\n function Step() {\n var _this;\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 = _Component.call.apply(_Component, [this].concat(args)) || this;\n\n _this.computeElementType = function () {\n var onClick = _this.props.onClick;\n if (onClick) return 'a';\n };\n\n _this.handleClick = function (e) {\n var disabled = _this.props.disabled;\n if (!disabled) _invoke(_this.props, 'onClick', e, _this.props);\n };\n\n return _this;\n }\n\n var _proto = Step.prototype;\n\n _proto.render = function render() {\n var _this$props = this.props,\n active = _this$props.active,\n children = _this$props.children,\n className = _this$props.className,\n completed = _this$props.completed,\n content = _this$props.content,\n description = _this$props.description,\n disabled = _this$props.disabled,\n href = _this$props.href,\n icon = _this$props.icon,\n link = _this$props.link,\n title = _this$props.title;\n var classes = cx(useKeyOnly(active, 'active'), useKeyOnly(completed, 'completed'), useKeyOnly(disabled, 'disabled'), useKeyOnly(link, 'link'), 'step', className);\n var rest = getUnhandledProps(Step, this.props);\n var ElementType = getElementType(Step, this.props, this.computeElementType);\n\n if (!childrenUtils.isNil(children)) {\n return /*#__PURE__*/React.createElement(ElementType, _extends({}, rest, {\n className: classes,\n href: href,\n onClick: this.handleClick\n }), children);\n }\n\n if (!childrenUtils.isNil(content)) {\n return /*#__PURE__*/React.createElement(ElementType, _extends({}, rest, {\n className: classes,\n href: href,\n onClick: this.handleClick\n }), content);\n }\n\n return /*#__PURE__*/React.createElement(ElementType, _extends({}, rest, {\n className: classes,\n href: href,\n onClick: this.handleClick\n }), Icon.create(icon, {\n autoGenerateKey: false\n }), StepContent.create({\n description: description,\n title: title\n }, {\n autoGenerateKey: false\n }));\n };\n\n return Step;\n}(Component);\n\nStep.handledProps = [\"active\", \"as\", \"children\", \"className\", \"completed\", \"content\", \"description\", \"disabled\", \"href\", \"icon\", \"link\", \"onClick\", \"ordered\", \"title\"];\nStep.propTypes = process.env.NODE_ENV !== \"production\" ? {\n /** An element type to render as (string or function). */\n as: PropTypes.elementType,\n\n /** A step can be highlighted as active. */\n active: PropTypes.bool,\n\n /** Primary content. */\n children: PropTypes.node,\n\n /** Additional classes. */\n className: PropTypes.string,\n\n /** A step can show that a user has completed it. */\n completed: PropTypes.bool,\n\n /** Shorthand for primary content. */\n content: customPropTypes.contentShorthand,\n\n /** Shorthand for StepDescription. */\n description: customPropTypes.itemShorthand,\n\n /** Show that the Loader is inactive. */\n disabled: PropTypes.bool,\n\n /** Render as an `a` tag instead of a `div` and adds the href attribute. */\n href: PropTypes.string,\n\n /** Shorthand for Icon. */\n icon: customPropTypes.itemShorthand,\n\n /** A step can be link. */\n link: PropTypes.bool,\n\n /**\n * Called on click. When passed, the component will render as an `a`\n * tag by default instead of a `div`.\n *\n * @param {SyntheticEvent} event - React's original SyntheticEvent.\n * @param {object} data - All props.\n */\n onClick: PropTypes.func,\n\n /** A step can show a ordered sequence of steps. Passed from StepGroup. */\n ordered: PropTypes.bool,\n\n /** Shorthand for StepTitle. */\n title: customPropTypes.itemShorthand\n} : {};\nStep.Content = StepContent;\nStep.Description = StepDescription;\nStep.Group = StepGroup;\nStep.Title = StepTitle;\nStep.create = createShorthandFactory(Step, function (content) {\n return {\n content: content\n };\n});\nexport default Step;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport cx from 'clsx';\nimport PropTypes from 'prop-types';\nimport React from 'react';\nimport { childrenUtils, customPropTypes, getElementType, getUnhandledProps } from '../../lib';\n/**\n * A message can contain a content.\n */\n\nfunction MessageContent(props) {\n var children = props.children,\n className = props.className,\n content = props.content;\n var classes = cx('content', className);\n var rest = getUnhandledProps(MessageContent, props);\n var ElementType = getElementType(MessageContent, props);\n return /*#__PURE__*/React.createElement(ElementType, _extends({}, rest, {\n className: classes\n }), childrenUtils.isNil(children) ? content : children);\n}\n\nMessageContent.handledProps = [\"as\", \"children\", \"className\", \"content\"];\nMessageContent.propTypes = process.env.NODE_ENV !== \"production\" ? {\n /** An element type to render as (string or function). */\n as: PropTypes.elementType,\n\n /** Primary content. */\n children: PropTypes.node,\n\n /** Additional classes. */\n className: PropTypes.string,\n\n /** Shorthand for primary content. */\n content: customPropTypes.contentShorthand\n} : {};\nexport default MessageContent;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport cx from 'clsx';\nimport PropTypes from 'prop-types';\nimport React from 'react';\nimport { childrenUtils, createShorthandFactory, customPropTypes, getElementType, getUnhandledProps } from '../../lib';\n/**\n * A message can contain a header.\n */\n\nfunction MessageHeader(props) {\n var children = props.children,\n className = props.className,\n content = props.content;\n var classes = cx('header', className);\n var rest = getUnhandledProps(MessageHeader, props);\n var ElementType = getElementType(MessageHeader, props);\n return /*#__PURE__*/React.createElement(ElementType, _extends({}, rest, {\n className: classes\n }), childrenUtils.isNil(children) ? content : children);\n}\n\nMessageHeader.handledProps = [\"as\", \"children\", \"className\", \"content\"];\nMessageHeader.propTypes = process.env.NODE_ENV !== \"production\" ? {\n /** An element type to render as (string or function). */\n as: PropTypes.elementType,\n\n /** Primary content. */\n children: PropTypes.node,\n\n /** Additional classes. */\n className: PropTypes.string,\n\n /** Shorthand for primary content. */\n content: customPropTypes.contentShorthand\n} : {};\nMessageHeader.create = createShorthandFactory(MessageHeader, function (val) {\n return {\n content: val\n };\n});\nexport default MessageHeader;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport cx from 'clsx';\nimport PropTypes from 'prop-types';\nimport React from 'react';\nimport { childrenUtils, createShorthandFactory, customPropTypes, getElementType, getUnhandledProps } from '../../lib';\n/**\n * A message list can contain an item.\n */\n\nfunction MessageItem(props) {\n var children = props.children,\n className = props.className,\n content = props.content;\n var classes = cx('content', className);\n var rest = getUnhandledProps(MessageItem, props);\n var ElementType = getElementType(MessageItem, props);\n return /*#__PURE__*/React.createElement(ElementType, _extends({}, rest, {\n className: classes\n }), childrenUtils.isNil(children) ? content : children);\n}\n\nMessageItem.handledProps = [\"as\", \"children\", \"className\", \"content\"];\nMessageItem.propTypes = process.env.NODE_ENV !== \"production\" ? {\n /** An element type to render as (string or function). */\n as: PropTypes.elementType,\n\n /** Primary content. */\n children: PropTypes.node,\n\n /** Additional classes. */\n className: PropTypes.string,\n\n /** Shorthand for primary content. */\n content: customPropTypes.contentShorthand\n} : {};\nMessageItem.defaultProps = {\n as: 'li'\n};\nMessageItem.create = createShorthandFactory(MessageItem, function (content) {\n return {\n content: content\n };\n});\nexport default MessageItem;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _map from \"lodash-es/map\";\nimport cx from 'clsx';\nimport PropTypes from 'prop-types';\nimport React from 'react';\nimport { childrenUtils, createShorthandFactory, customPropTypes, getElementType, getUnhandledProps } from '../../lib';\nimport MessageItem from './MessageItem';\n/**\n * A message can contain a list of items.\n */\n\nfunction MessageList(props) {\n var children = props.children,\n className = props.className,\n items = props.items;\n var classes = cx('list', className);\n var rest = getUnhandledProps(MessageList, props);\n var ElementType = getElementType(MessageList, props);\n return /*#__PURE__*/React.createElement(ElementType, _extends({}, rest, {\n className: classes\n }), childrenUtils.isNil(children) ? _map(items, MessageItem.create) : children);\n}\n\nMessageList.handledProps = [\"as\", \"children\", \"className\", \"items\"];\nMessageList.propTypes = process.env.NODE_ENV !== \"production\" ? {\n /** An element type to render as (string or function). */\n as: PropTypes.elementType,\n\n /** Primary content. */\n children: PropTypes.node,\n\n /** Additional classes. */\n className: PropTypes.string,\n\n /** Shorthand Message.Items. */\n items: customPropTypes.collectionShorthand\n} : {};\nMessageList.defaultProps = {\n as: 'ul'\n};\nMessageList.create = createShorthandFactory(MessageList, function (val) {\n return {\n items: val\n };\n});\nexport default MessageList;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _inheritsLoose from \"@babel/runtime/helpers/esm/inheritsLoose\";\nimport _without from \"lodash-es/without\";\nimport _isNil from \"lodash-es/isNil\";\nimport cx from 'clsx';\nimport PropTypes from 'prop-types';\nimport React, { Component } from 'react';\nimport { childrenUtils, createHTMLParagraph, customPropTypes, getElementType, getUnhandledProps, SUI, useKeyOnly, useKeyOrValueAndKey } from '../../lib';\nimport Icon from '../../elements/Icon';\nimport MessageContent from './MessageContent';\nimport MessageHeader from './MessageHeader';\nimport MessageList from './MessageList';\nimport MessageItem from './MessageItem';\n/**\n * A message displays information that explains nearby content.\n * @see Form\n */\n\nvar Message = /*#__PURE__*/function (_Component) {\n _inheritsLoose(Message, _Component);\n\n function Message() {\n var _this;\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 = _Component.call.apply(_Component, [this].concat(args)) || this;\n\n _this.handleDismiss = function (e) {\n var onDismiss = _this.props.onDismiss;\n if (onDismiss) onDismiss(e, _this.props);\n };\n\n return _this;\n }\n\n var _proto = Message.prototype;\n\n _proto.render = function render() {\n var _this$props = this.props,\n attached = _this$props.attached,\n children = _this$props.children,\n className = _this$props.className,\n color = _this$props.color,\n compact = _this$props.compact,\n content = _this$props.content,\n error = _this$props.error,\n floating = _this$props.floating,\n header = _this$props.header,\n hidden = _this$props.hidden,\n icon = _this$props.icon,\n info = _this$props.info,\n list = _this$props.list,\n negative = _this$props.negative,\n onDismiss = _this$props.onDismiss,\n positive = _this$props.positive,\n size = _this$props.size,\n success = _this$props.success,\n visible = _this$props.visible,\n warning = _this$props.warning;\n var classes = cx('ui', color, size, useKeyOnly(compact, 'compact'), useKeyOnly(error, 'error'), useKeyOnly(floating, 'floating'), useKeyOnly(hidden, 'hidden'), useKeyOnly(icon, 'icon'), useKeyOnly(info, 'info'), useKeyOnly(negative, 'negative'), useKeyOnly(positive, 'positive'), useKeyOnly(success, 'success'), useKeyOnly(visible, 'visible'), useKeyOnly(warning, 'warning'), useKeyOrValueAndKey(attached, 'attached'), 'message', className);\n var dismissIcon = onDismiss && /*#__PURE__*/React.createElement(Icon, {\n name: \"close\",\n onClick: this.handleDismiss\n });\n var rest = getUnhandledProps(Message, this.props);\n var ElementType = getElementType(Message, this.props);\n\n if (!childrenUtils.isNil(children)) {\n return /*#__PURE__*/React.createElement(ElementType, _extends({}, rest, {\n className: classes\n }), dismissIcon, children);\n }\n\n return /*#__PURE__*/React.createElement(ElementType, _extends({}, rest, {\n className: classes\n }), dismissIcon, Icon.create(icon, {\n autoGenerateKey: false\n }), (!_isNil(header) || !_isNil(content) || !_isNil(list)) && /*#__PURE__*/React.createElement(MessageContent, null, MessageHeader.create(header, {\n autoGenerateKey: false\n }), MessageList.create(list, {\n autoGenerateKey: false\n }), createHTMLParagraph(content, {\n autoGenerateKey: false\n })));\n };\n\n return Message;\n}(Component);\n\nMessage.handledProps = [\"as\", \"attached\", \"children\", \"className\", \"color\", \"compact\", \"content\", \"error\", \"floating\", \"header\", \"hidden\", \"icon\", \"info\", \"list\", \"negative\", \"onDismiss\", \"positive\", \"size\", \"success\", \"visible\", \"warning\"];\nexport { Message as default };\nMessage.propTypes = process.env.NODE_ENV !== \"production\" ? {\n /** An element type to render as (string or function). */\n as: PropTypes.elementType,\n\n /** A message can be formatted to attach itself to other content. */\n attached: PropTypes.oneOfType([PropTypes.bool, PropTypes.oneOf(['bottom', 'top'])]),\n\n /** Primary content. */\n children: PropTypes.node,\n\n /** Additional classes. */\n className: PropTypes.string,\n\n /** A message can be formatted to be different colors. */\n color: PropTypes.oneOf(SUI.COLORS),\n\n /** A message can only take up the width of its content. */\n compact: PropTypes.bool,\n\n /** Shorthand for primary content. */\n content: customPropTypes.contentShorthand,\n\n /** A message may be formatted to display a negative message. Same as `negative`. */\n error: PropTypes.bool,\n\n /** A message can float above content that it is related to. */\n floating: PropTypes.bool,\n\n /** Shorthand for MessageHeader. */\n header: customPropTypes.itemShorthand,\n\n /** A message can be hidden. */\n hidden: PropTypes.bool,\n\n /** A message can contain an icon. */\n icon: PropTypes.oneOfType([customPropTypes.itemShorthand, PropTypes.bool]),\n\n /** A message may be formatted to display information. */\n info: PropTypes.bool,\n\n /** Array shorthand items for the MessageList. Mutually exclusive with children. */\n list: customPropTypes.collectionShorthand,\n\n /** A message may be formatted to display a negative message. Same as `error`. */\n negative: PropTypes.bool,\n\n /**\n * A message that the user can choose to hide.\n * Called when the user clicks the \"x\" icon. This also adds the \"x\" icon.\n *\n * @param {SyntheticEvent} event - React's original SyntheticEvent.\n * @param {object} data - All props.\n */\n onDismiss: PropTypes.func,\n\n /** A message may be formatted to display a positive message. Same as `success`. */\n positive: PropTypes.bool,\n\n /** A message can have different sizes. */\n size: PropTypes.oneOf(_without(SUI.SIZES, 'medium')),\n\n /** A message may be formatted to display a positive message. Same as `positive`. */\n success: PropTypes.bool,\n\n /** A message can be set to visible to force itself to be shown. */\n visible: PropTypes.bool,\n\n /** A message may be formatted to display warning messages. */\n warning: PropTypes.bool\n} : {};\nMessage.Content = MessageContent;\nMessage.Header = MessageHeader;\nMessage.List = MessageList;\nMessage.Item = MessageItem;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport cx from 'clsx';\nimport PropTypes from 'prop-types';\nimport React from 'react';\nimport { childrenUtils, customPropTypes, getElementType, getUnhandledProps, useKeyOnly } from '../../lib';\n/**\n * A placeholder can contain a header.\n */\n\nfunction PlaceholderHeader(props) {\n var children = props.children,\n className = props.className,\n content = props.content,\n image = props.image;\n var classes = cx(useKeyOnly(image, 'image'), 'header', className);\n var rest = getUnhandledProps(PlaceholderHeader, props);\n var ElementType = getElementType(PlaceholderHeader, props);\n return /*#__PURE__*/React.createElement(ElementType, _extends({}, rest, {\n className: classes\n }), childrenUtils.isNil(children) ? content : children);\n}\n\nPlaceholderHeader.handledProps = [\"as\", \"children\", \"className\", \"content\", \"image\"];\nPlaceholderHeader.propTypes = process.env.NODE_ENV !== \"production\" ? {\n /** An element type to render as (string or function). */\n as: PropTypes.elementType,\n\n /** Primary content. */\n children: PropTypes.node,\n\n /** Additional classes. */\n className: PropTypes.string,\n\n /** Shorthand for primary content. */\n content: customPropTypes.contentShorthand,\n\n /** A placeholder can contain an image. */\n image: PropTypes.bool\n} : {};\nexport default PlaceholderHeader;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport cx from 'clsx';\nimport PropTypes from 'prop-types';\nimport React from 'react';\nimport { customPropTypes, getElementType, getUnhandledProps, useKeyOnly } from '../../lib';\n/**\n * A placeholder can contain an image.\n */\n\nfunction PlaceholderImage(props) {\n var className = props.className,\n square = props.square,\n rectangular = props.rectangular;\n var classes = cx(useKeyOnly(square, 'square'), useKeyOnly(rectangular, 'rectangular'), 'image', className);\n var rest = getUnhandledProps(PlaceholderImage, props);\n var ElementType = getElementType(PlaceholderImage, props);\n return /*#__PURE__*/React.createElement(ElementType, _extends({}, rest, {\n className: classes\n }));\n}\n\nPlaceholderImage.handledProps = [\"as\", \"className\", \"rectangular\", \"square\"];\nPlaceholderImage.propTypes = process.env.NODE_ENV !== \"production\" ? {\n /** An element type to render as (string or function). */\n as: PropTypes.elementType,\n\n /** Additional classes. */\n className: PropTypes.string,\n\n /** An image can modify size correctly with responsive styles. */\n square: customPropTypes.every([customPropTypes.disallow(['rectangular']), PropTypes.bool]),\n\n /** An image can modify size correctly with responsive styles. */\n rectangular: customPropTypes.every([customPropTypes.disallow(['square']), PropTypes.bool])\n} : {};\nexport default PlaceholderImage;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport cx from 'clsx';\nimport PropTypes from 'prop-types';\nimport React from 'react';\nimport { getElementType, getUnhandledProps } from '../../lib';\n/**\n * A placeholder can contain have lines of text.\n */\n\nfunction PlaceholderLine(props) {\n var className = props.className,\n length = props.length;\n var classes = cx('line', length, className);\n var rest = getUnhandledProps(PlaceholderLine, props);\n var ElementType = getElementType(PlaceholderLine, props);\n return /*#__PURE__*/React.createElement(ElementType, _extends({}, rest, {\n className: classes\n }));\n}\n\nPlaceholderLine.handledProps = [\"as\", \"className\", \"length\"];\nPlaceholderLine.propTypes = process.env.NODE_ENV !== \"production\" ? {\n /** An element type to render as (string or function). */\n as: PropTypes.elementType,\n\n /** Additional classes. */\n className: PropTypes.string,\n\n /** A line can specify how long its contents should appear. */\n length: PropTypes.oneOf(['full', 'very long', 'long', 'medium', 'short', 'very short'])\n} : {};\nexport default PlaceholderLine;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport cx from 'clsx';\nimport PropTypes from 'prop-types';\nimport React from 'react';\nimport { childrenUtils, customPropTypes, getElementType, getUnhandledProps } from '../../lib';\n/**\n * A placeholder can contain a paragraph.\n */\n\nfunction PlaceholderParagraph(props) {\n var children = props.children,\n className = props.className,\n content = props.content;\n var classes = cx('paragraph', className);\n var rest = getUnhandledProps(PlaceholderParagraph, props);\n var ElementType = getElementType(PlaceholderParagraph, props);\n return /*#__PURE__*/React.createElement(ElementType, _extends({}, rest, {\n className: classes\n }), childrenUtils.isNil(children) ? content : children);\n}\n\nPlaceholderParagraph.handledProps = [\"as\", \"children\", \"className\", \"content\"];\nPlaceholderParagraph.propTypes = process.env.NODE_ENV !== \"production\" ? {\n /** An element type to render as (string or function). */\n as: PropTypes.elementType,\n\n /** Primary content. */\n children: PropTypes.node,\n\n /** Additional classes. */\n className: PropTypes.string,\n\n /** Shorthand for primary content. */\n content: customPropTypes.contentShorthand\n} : {};\nexport default PlaceholderParagraph;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport cx from 'clsx';\nimport PropTypes from 'prop-types';\nimport React from 'react';\nimport { childrenUtils, customPropTypes, getElementType, getUnhandledProps, useKeyOnly } from '../../lib';\nimport PlaceholderHeader from './PlaceholderHeader';\nimport PlaceholderImage from './PlaceholderImage';\nimport PlaceholderLine from './PlaceholderLine';\nimport PlaceholderParagraph from './PlaceholderParagraph';\n/**\n * A placeholder is used to reserve space for content that soon will appear in a layout.\n */\n\nfunction Placeholder(props) {\n var children = props.children,\n className = props.className,\n content = props.content,\n fluid = props.fluid,\n inverted = props.inverted;\n var classes = cx('ui', useKeyOnly(fluid, 'fluid'), useKeyOnly(inverted, 'inverted'), 'placeholder', className);\n var rest = getUnhandledProps(Placeholder, props);\n var ElementType = getElementType(Placeholder, props);\n return /*#__PURE__*/React.createElement(ElementType, _extends({}, rest, {\n className: classes\n }), childrenUtils.isNil(children) ? content : children);\n}\n\nPlaceholder.handledProps = [\"as\", \"children\", \"className\", \"content\", \"fluid\", \"inverted\"];\nPlaceholder.propTypes = process.env.NODE_ENV !== \"production\" ? {\n /** An element type to render as (string or function). */\n as: PropTypes.elementType,\n\n /** Primary content. */\n children: PropTypes.node,\n\n /** Additional classes. */\n className: PropTypes.string,\n\n /** Shorthand for primary content. */\n content: customPropTypes.contentShorthand,\n\n /** A fluid placeholder takes up the width of its container. */\n fluid: PropTypes.bool,\n\n /** A placeholder can have their colors inverted. */\n inverted: PropTypes.bool\n} : {};\nPlaceholder.Header = PlaceholderHeader;\nPlaceholder.Image = PlaceholderImage;\nPlaceholder.Line = PlaceholderLine;\nPlaceholder.Paragraph = PlaceholderParagraph;\nexport default Placeholder;","import * as React from 'react';\nimport * as ReactDOM from 'react-dom';\n\nimport { handleRef, RefProps } from './utils';\n\n// ========================================================\n// react/packages/react-reconciler/src/ReactFiber.js\n// ========================================================\n\ntype Fiber = {\n // Tag identifying the type of fiber.\n tag: string;\n // The resolved function/class/ associated with this fiber.\n type: any;\n};\n\n/**\n * Detects if a passed element is a Fiber object instead of an element. Is needed as `ReactDOM.findDOMNode()` returns\n * a Fiber in `react-test-renderer` that can cause issues with tests. Is used only in non-production env.\n *\n * @see https://github.com/facebook/react/issues/7371#issuecomment-317396864\n * @see https://github.com/Semantic-Org/Semantic-UI-React/issues/4061#issuecomment-694895617\n */\nfunction isFiberRef(node: Element | Fiber | Text | null): boolean {\n if (node === null) {\n return false;\n }\n\n if (node instanceof Element || node instanceof Text) {\n return false;\n }\n\n return !!(node.type && node.tag);\n}\n\nexport class RefFindNode extends React.Component<RefProps> {\n prevNode: Node | null = null;\n\n componentDidMount() {\n let currentNode = ReactDOM.findDOMNode(this);\n\n if (process.env.NODE_ENV !== 'production') {\n if (isFiberRef(currentNode)) {\n currentNode = null;\n }\n }\n\n this.prevNode = currentNode;\n handleRef(this.props.innerRef, currentNode);\n }\n\n componentDidUpdate(prevProps: RefProps) {\n let currentNode = ReactDOM.findDOMNode(this);\n\n if (process.env.NODE_ENV !== 'production') {\n if (isFiberRef(currentNode)) {\n currentNode = null;\n }\n }\n\n if (this.prevNode !== currentNode) {\n this.prevNode = currentNode;\n handleRef(this.props.innerRef, currentNode);\n }\n\n if (prevProps.innerRef !== this.props.innerRef) {\n handleRef(this.props.innerRef, currentNode);\n }\n }\n\n componentWillUnmount() {\n handleRef(this.props.innerRef, null);\n\n delete this.prevNode;\n }\n\n render() {\n const { children } = this.props;\n\n return children;\n }\n}\n","import * as React from 'react';\nimport { handleRef, RefProps } from './utils';\n\nexport class RefForward extends React.Component<RefProps> {\n currentNode: Node | null = null;\n\n handleRefOverride = (node: HTMLElement) => {\n const { children, innerRef } = this.props;\n\n handleRef((children as React.ReactElement & { ref: React.Ref<any> }).ref, node);\n handleRef(innerRef, node);\n\n this.currentNode = node;\n };\n\n componentDidUpdate(prevProps: RefProps) {\n if (prevProps.innerRef !== this.props.innerRef) {\n handleRef(this.props.innerRef, this.currentNode);\n }\n }\n\n componentWillUnmount() {\n delete this.currentNode;\n }\n\n render() {\n const { children } = this.props;\n\n return React.cloneElement(children, {\n ref: this.handleRefOverride,\n });\n }\n}\n","import * as React from 'react';\nimport * as ReactIs from 'react-is';\n\nimport { RefFindNode } from './RefFindNode';\nimport { RefForward } from './RefForward';\nimport { RefProps } from './utils';\n\nexport const Ref: React.FunctionComponent<RefProps> = props => {\n const { children, innerRef, ...rest } = props;\n\n const child = React.Children.only(children);\n const ElementType = ReactIs.isForwardRef(child) ? RefForward : RefFindNode;\n const childWithProps = child && rest && Object.keys(rest).length > 0 ? React.cloneElement(child, rest) : child;\n\n return <ElementType innerRef={innerRef}>{childWithProps}</ElementType>;\n};\n","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport cx from 'clsx';\nimport PropTypes from 'prop-types';\nimport React from 'react';\nimport { childrenUtils, createShorthandFactory, customPropTypes, getElementType, getUnhandledProps } from '../../lib';\n/**\n * Headers may contain subheaders.\n */\n\nfunction HeaderSubheader(props) {\n var children = props.children,\n className = props.className,\n content = props.content;\n var classes = cx('sub header', className);\n var rest = getUnhandledProps(HeaderSubheader, props);\n var ElementType = getElementType(HeaderSubheader, props);\n return /*#__PURE__*/React.createElement(ElementType, _extends({}, rest, {\n className: classes\n }), childrenUtils.isNil(children) ? content : children);\n}\n\nHeaderSubheader.handledProps = [\"as\", \"children\", \"className\", \"content\"];\nHeaderSubheader.propTypes = process.env.NODE_ENV !== \"production\" ? {\n /** An element type to render as (string or function). */\n as: PropTypes.elementType,\n\n /** Primary content. */\n children: PropTypes.node,\n\n /** Additional classes. */\n className: PropTypes.string,\n\n /** Shorthand for primary content. */\n content: customPropTypes.contentShorthand\n} : {};\nHeaderSubheader.create = createShorthandFactory(HeaderSubheader, function (content) {\n return {\n content: content\n };\n});\nexport default HeaderSubheader;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport cx from 'clsx';\nimport PropTypes from 'prop-types';\nimport React from 'react';\nimport { childrenUtils, customPropTypes, getElementType, getUnhandledProps } from '../../lib';\n/**\n * Header content wraps the main content when there is an adjacent Icon or Image.\n */\n\nfunction HeaderContent(props) {\n var children = props.children,\n className = props.className,\n content = props.content;\n var classes = cx('content', className);\n var rest = getUnhandledProps(HeaderContent, props);\n var ElementType = getElementType(HeaderContent, props);\n return /*#__PURE__*/React.createElement(ElementType, _extends({}, rest, {\n className: classes\n }), childrenUtils.isNil(children) ? content : children);\n}\n\nHeaderContent.handledProps = [\"as\", \"children\", \"className\", \"content\"];\nHeaderContent.propTypes = process.env.NODE_ENV !== \"production\" ? {\n /** An element type to render as (string or function). */\n as: PropTypes.elementType,\n\n /** Primary content. */\n children: PropTypes.node,\n\n /** Additional classes. */\n className: PropTypes.string,\n\n /** Shorthand for primary content. */\n content: customPropTypes.contentShorthand\n} : {};\nexport default HeaderContent;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _without from \"lodash-es/without\";\nimport cx from 'clsx';\nimport PropTypes from 'prop-types';\nimport React from 'react';\nimport { childrenUtils, customPropTypes, getElementType, getUnhandledProps, SUI, useValueAndKey, useTextAlignProp, useKeyOrValueAndKey, useKeyOnly } from '../../lib';\nimport Icon from '../Icon';\nimport Image from '../Image';\nimport HeaderSubheader from './HeaderSubheader';\nimport HeaderContent from './HeaderContent';\n/**\n * A header provides a short summary of content\n */\n\nfunction Header(props) {\n var attached = props.attached,\n block = props.block,\n children = props.children,\n className = props.className,\n color = props.color,\n content = props.content,\n disabled = props.disabled,\n dividing = props.dividing,\n floated = props.floated,\n icon = props.icon,\n image = props.image,\n inverted = props.inverted,\n size = props.size,\n sub = props.sub,\n subheader = props.subheader,\n textAlign = props.textAlign;\n var classes = cx('ui', color, size, useKeyOnly(block, 'block'), useKeyOnly(disabled, 'disabled'), useKeyOnly(dividing, 'dividing'), useValueAndKey(floated, 'floated'), useKeyOnly(icon === true, 'icon'), useKeyOnly(image === true, 'image'), useKeyOnly(inverted, 'inverted'), useKeyOnly(sub, 'sub'), useKeyOrValueAndKey(attached, 'attached'), useTextAlignProp(textAlign), 'header', className);\n var rest = getUnhandledProps(Header, props);\n var ElementType = getElementType(Header, props);\n\n if (!childrenUtils.isNil(children)) {\n return /*#__PURE__*/React.createElement(ElementType, _extends({}, rest, {\n className: classes\n }), children);\n }\n\n var iconElement = Icon.create(icon, {\n autoGenerateKey: false\n });\n var imageElement = Image.create(image, {\n autoGenerateKey: false\n });\n var subheaderElement = HeaderSubheader.create(subheader, {\n autoGenerateKey: false\n });\n\n if (iconElement || imageElement) {\n return /*#__PURE__*/React.createElement(ElementType, _extends({}, rest, {\n className: classes\n }), iconElement || imageElement, (content || subheaderElement) && /*#__PURE__*/React.createElement(HeaderContent, null, content, subheaderElement));\n }\n\n return /*#__PURE__*/React.createElement(ElementType, _extends({}, rest, {\n className: classes\n }), content, subheaderElement);\n}\n\nHeader.handledProps = [\"as\", \"attached\", \"block\", \"children\", \"className\", \"color\", \"content\", \"disabled\", \"dividing\", \"floated\", \"icon\", \"image\", \"inverted\", \"size\", \"sub\", \"subheader\", \"textAlign\"];\nHeader.propTypes = process.env.NODE_ENV !== \"production\" ? {\n /** An element type to render as (string or function). */\n as: PropTypes.elementType,\n\n /** Attach header to other content, like a segment. */\n attached: PropTypes.oneOfType([PropTypes.bool, PropTypes.oneOf(['top', 'bottom'])]),\n\n /** Format header to appear inside a content block. */\n block: PropTypes.bool,\n\n /** Primary content. */\n children: PropTypes.node,\n\n /** Additional classes. */\n className: PropTypes.string,\n\n /** Color of the header. */\n color: PropTypes.oneOf(SUI.COLORS),\n\n /** Shorthand for primary content. */\n content: customPropTypes.contentShorthand,\n\n /** Show that the header is inactive. */\n disabled: PropTypes.bool,\n\n /** Divide header from the content below it. */\n dividing: PropTypes.bool,\n\n /** Header can sit to the left or right of other content. */\n floated: PropTypes.oneOf(SUI.FLOATS),\n\n /** Add an icon by icon name or pass an Icon. */\n icon: customPropTypes.every([customPropTypes.disallow(['image']), PropTypes.oneOfType([PropTypes.bool, customPropTypes.itemShorthand])]),\n\n /** Add an image by img src or pass an Image. */\n image: customPropTypes.every([customPropTypes.disallow(['icon']), PropTypes.oneOfType([PropTypes.bool, customPropTypes.itemShorthand])]),\n\n /** Inverts the color of the header for dark backgrounds. */\n inverted: PropTypes.bool,\n\n /** Content headings are sized with em and are based on the font-size of their container. */\n size: PropTypes.oneOf(_without(SUI.SIZES, 'big', 'massive', 'mini')),\n\n /** Headers may be formatted to label smaller or de-emphasized content. */\n sub: PropTypes.bool,\n\n /** Shorthand for Header.Subheader. */\n subheader: customPropTypes.itemShorthand,\n\n /** Align header content. */\n textAlign: PropTypes.oneOf(SUI.TEXT_ALIGNMENTS)\n} : {};\nHeader.Content = HeaderContent;\nHeader.Subheader = HeaderSubheader;\nexport default Header;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport cx from 'clsx';\nimport PropTypes from 'prop-types';\nimport React from 'react';\nimport { childrenUtils, customPropTypes, getElementType, getUnhandledProps } from '../../lib';\n/**\n * A pushable sub-component for Sidebar.\n */\n\nfunction SidebarPushable(props) {\n var className = props.className,\n children = props.children,\n content = props.content;\n var classes = cx('pushable', className);\n var rest = getUnhandledProps(SidebarPushable, props);\n var ElementType = getElementType(SidebarPushable, props);\n return /*#__PURE__*/React.createElement(ElementType, _extends({}, rest, {\n className: classes\n }), childrenUtils.isNil(children) ? content : children);\n}\n\nSidebarPushable.handledProps = [\"as\", \"children\", \"className\", \"content\"];\nSidebarPushable.propTypes = process.env.NODE_ENV !== \"production\" ? {\n /** An element type to render as (string or function). */\n as: PropTypes.elementType,\n\n /** Primary content. */\n children: PropTypes.node,\n\n /** Additional classes. */\n className: PropTypes.string,\n\n /** Shorthand for primary content. */\n content: customPropTypes.contentShorthand\n} : {};\nexport default SidebarPushable;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport cx from 'clsx';\nimport PropTypes from 'prop-types';\nimport React from 'react';\nimport { childrenUtils, customPropTypes, getElementType, getUnhandledProps, useKeyOnly } from '../../lib';\n/**\n * A pushable sub-component for Sidebar.\n */\n\nfunction SidebarPusher(props) {\n var className = props.className,\n dimmed = props.dimmed,\n children = props.children,\n content = props.content;\n var classes = cx('pusher', useKeyOnly(dimmed, 'dimmed'), className);\n var rest = getUnhandledProps(SidebarPusher, props);\n var ElementType = getElementType(SidebarPusher, props);\n return /*#__PURE__*/React.createElement(ElementType, _extends({}, rest, {\n className: classes\n }), childrenUtils.isNil(children) ? content : children);\n}\n\nSidebarPusher.handledProps = [\"as\", \"children\", \"className\", \"content\", \"dimmed\"];\nSidebarPusher.propTypes = process.env.NODE_ENV !== \"production\" ? {\n /** An element type to render as (string or function). */\n as: PropTypes.elementType,\n\n /** Primary content. */\n children: PropTypes.node,\n\n /** Additional classes. */\n className: PropTypes.string,\n\n /** Shorthand for primary content. */\n content: customPropTypes.contentShorthand,\n\n /** Controls whether or not the dim is displayed. */\n dimmed: PropTypes.bool\n} : {};\nexport default SidebarPusher;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _inheritsLoose from \"@babel/runtime/helpers/esm/inheritsLoose\";\nimport _invoke from \"lodash-es/invoke\";\nimport { EventListener, documentRef } from '@fluentui/react-component-event-listener';\nimport { Ref, isRefObject } from '@fluentui/react-component-ref';\nimport cx from 'clsx';\nimport PropTypes from 'prop-types';\nimport React, { Component, createRef } from 'react';\nimport { childrenUtils, customPropTypes, doesNodeContainClick, getUnhandledProps, getElementType, useKeyOnly } from '../../lib';\nimport SidebarPushable from './SidebarPushable';\nimport SidebarPusher from './SidebarPusher';\n/**\n * A sidebar hides additional content beside a page.\n */\n\nvar Sidebar = /*#__PURE__*/function (_Component) {\n _inheritsLoose(Sidebar, _Component);\n\n function Sidebar(props) {\n var _this;\n\n _this = _Component.call(this, props) || this;\n _this.ref = /*#__PURE__*/createRef();\n\n _this.handleAnimationStart = function () {\n var visible = _this.props.visible;\n var callback = visible ? 'onVisible' : 'onHide';\n clearTimeout(_this.animationTimer);\n _this.animationTimer = setTimeout(_this.handleAnimationEnd, Sidebar.animationDuration);\n\n if (_this.skipNextCallback) {\n _this.skipNextCallback = false;\n return;\n }\n\n _invoke(_this.props, callback, null, _this.props);\n };\n\n _this.handleAnimationEnd = function () {\n var visible = _this.props.visible;\n var callback = visible ? 'onShow' : 'onHidden';\n\n _this.setState({\n animationTick: 0\n });\n\n _invoke(_this.props, callback, null, _this.props);\n };\n\n _this.handleDocumentClick = function (e) {\n if (!doesNodeContainClick(_this.ref.current, e)) {\n _this.skipNextCallback = true;\n\n _invoke(_this.props, 'onHide', e, _extends({}, _this.props, {\n visible: false\n }));\n }\n };\n\n _this.state = {\n animationTick: 0,\n visible: props.visible\n };\n return _this;\n }\n\n Sidebar.getDerivedStateFromProps = function getDerivedStateFromProps(props, state) {\n // We use `animationTick` to understand when an animation should be scheduled\n var tickIncrement = !!props.visible === !!state.visible ? 0 : 1;\n return {\n animationTick: state.animationTick + tickIncrement,\n visible: props.visible\n };\n };\n\n var _proto = Sidebar.prototype;\n\n _proto.componentDidUpdate = function componentDidUpdate(prevProps, prevState) {\n if (this.state.animationTick > prevState.animationTick) {\n this.handleAnimationStart();\n }\n };\n\n _proto.componentWillUnmount = function componentWillUnmount() {\n clearTimeout(this.animationTimer);\n };\n\n _proto.render = function render() {\n var _this$props = this.props,\n animation = _this$props.animation,\n className = _this$props.className,\n children = _this$props.children,\n content = _this$props.content,\n direction = _this$props.direction,\n target = _this$props.target,\n visible = _this$props.visible,\n width = _this$props.width;\n var animationTick = this.state.animationTick;\n var classes = cx('ui', animation, direction, width, useKeyOnly(animationTick > 0, 'animating'), useKeyOnly(visible, 'visible'), 'sidebar', className);\n var rest = getUnhandledProps(Sidebar, this.props);\n var ElementType = getElementType(Sidebar, this.props);\n var targetProp = isRefObject(target) ? {\n targetRef: target\n } : {\n target: target\n };\n return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(Ref, {\n innerRef: this.ref\n }, /*#__PURE__*/React.createElement(ElementType, _extends({}, rest, {\n className: classes\n }), childrenUtils.isNil(children) ? content : children)), visible && /*#__PURE__*/React.createElement(EventListener, _extends({\n listener: this.handleDocumentClick,\n type: \"click\"\n }, targetProp)));\n };\n\n return Sidebar;\n}(Component);\n\nSidebar.handledProps = [\"animation\", \"as\", \"children\", \"className\", \"content\", \"direction\", \"onHidden\", \"onHide\", \"onShow\", \"onVisible\", \"target\", \"visible\", \"width\"];\nSidebar.propTypes = process.env.NODE_ENV !== \"production\" ? {\n /** An element type to render as (string or function). */\n as: PropTypes.elementType,\n\n /** Animation style. */\n animation: PropTypes.oneOf(['overlay', 'push', 'scale down', 'uncover', 'slide out', 'slide along']),\n\n /** Primary content. */\n children: PropTypes.node,\n\n /** Additional classes. */\n className: PropTypes.string,\n\n /** Shorthand for primary content. */\n content: customPropTypes.contentShorthand,\n\n /** Direction the sidebar should appear on. */\n direction: PropTypes.oneOf(['top', 'right', 'bottom', 'left']),\n\n /**\n * Called before a sidebar begins to animate out.\n *\n * @param {SyntheticEvent} event - React's original SyntheticEvent.\n * @param {object} data - All props.\n */\n onHide: PropTypes.func,\n\n /**\n * Called after a sidebar has finished animating out.\n *\n * @param {null}\n * @param {object} data - All props.\n */\n onHidden: PropTypes.func,\n\n /**\n * Called when a sidebar has finished animating in.\n *\n * @param {null}\n * @param {object} data - All props.\n */\n onShow: PropTypes.func,\n\n /**\n * Called when a sidebar begins animating in.\n *\n * @param {null}\n * @param {object} data - All props.\n */\n onVisible: PropTypes.func,\n\n /** A sidebar can handle clicks on the passed element. */\n target: PropTypes.oneOfType([customPropTypes.domNode, customPropTypes.refObject]),\n\n /** Controls whether or not the sidebar is visible on the page. */\n visible: PropTypes.bool,\n\n /** Sidebar width. */\n width: PropTypes.oneOf(['very thin', 'thin', 'wide', 'very wide'])\n} : {};\nSidebar.defaultProps = {\n direction: 'left',\n target: documentRef,\n visible: false\n};\nSidebar.animationDuration = 500;\nSidebar.autoControlledProps = ['visible'];\nSidebar.Pushable = SidebarPushable;\nSidebar.Pusher = SidebarPusher;\nexport default Sidebar;","import _inheritsLoose from \"@babel/runtime/helpers/esm/inheritsLoose\";\nimport _invoke from \"lodash-es/invoke\";\nimport keyboardKey from 'keyboard-key';\nimport PropTypes from 'prop-types';\nimport { Component } from 'react';\nimport { createShorthandFactory } from '../../lib';\nimport MenuItem from '../../collections/Menu/MenuItem';\n/**\n * An item of a pagination.\n */\n\nvar PaginationItem = /*#__PURE__*/function (_Component) {\n _inheritsLoose(PaginationItem, _Component);\n\n function PaginationItem() {\n var _this;\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 = _Component.call.apply(_Component, [this].concat(args)) || this;\n\n _this.handleClick = function (e) {\n _invoke(_this.props, 'onClick', e, _this.props);\n };\n\n _this.handleKeyDown = function (e) {\n _invoke(_this.props, 'onKeyDown', e, _this.props);\n\n if (keyboardKey.getCode(e) === keyboardKey.Enter) _invoke(_this.props, 'onClick', e, _this.props);\n };\n\n _this.handleOverrides = function () {\n return {\n onClick: _this.handleClick,\n onKeyDown: _this.handleKeyDown\n };\n };\n\n return _this;\n }\n\n var _proto = PaginationItem.prototype;\n\n _proto.render = function render() {\n var _this$props = this.props,\n active = _this$props.active,\n type = _this$props.type;\n var disabled = this.props.disabled || type === 'ellipsisItem';\n return MenuItem.create(this.props, {\n defaultProps: {\n active: active,\n 'aria-current': active,\n 'aria-disabled': disabled,\n disabled: disabled,\n onClick: this.handleClick,\n onKeyDown: this.handleKeyDown,\n tabIndex: disabled ? -1 : 0\n },\n overrideProps: this.handleOverrides\n });\n };\n\n return PaginationItem;\n}(Component);\n\nPaginationItem.handledProps = [\"active\", \"disabled\", \"onClick\", \"onKeyDown\", \"type\"];\nPaginationItem.propTypes = process.env.NODE_ENV !== \"production\" ? {\n /** A pagination item can be active. */\n active: PropTypes.bool,\n\n /** A pagination item can be disabled. */\n disabled: PropTypes.bool,\n\n /**\n * Called on click.\n *\n * @param {SyntheticEvent} event - React's original SyntheticEvent.\n * @param {object} data - All props.\n */\n onClick: PropTypes.func,\n\n /**\n * Called on key down.\n *\n * @param {SyntheticEvent} event - React's original SyntheticEvent.\n * @param {object} data - All props.\n */\n onKeyDown: PropTypes.func,\n\n /** A pagination should have a type. */\n type: PropTypes.oneOf(['ellipsisItem', 'firstItem', 'prevItem', 'pageItem', 'nextItem', 'lastItem'])\n} : {};\nPaginationItem.create = createShorthandFactory(PaginationItem, function (content) {\n return {\n content: content\n };\n});\nexport default PaginationItem;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _inheritsLoose from \"@babel/runtime/helpers/esm/inheritsLoose\";\nimport _map from \"lodash-es/map\";\nimport _isNil from \"lodash-es/isNil\";\nimport _invoke from \"lodash-es/invoke\";\nimport PropTypes from 'prop-types';\nimport React from 'react';\nimport { ModernAutoControlledComponent as Component, createPaginationItems, customPropTypes, getUnhandledProps } from '../../lib';\nimport Menu from '../../collections/Menu';\nimport PaginationItem from './PaginationItem';\n/**\n * A component to render a pagination.\n */\n\nvar Pagination = /*#__PURE__*/function (_Component) {\n _inheritsLoose(Pagination, _Component);\n\n function Pagination() {\n var _this;\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 = _Component.call.apply(_Component, [this].concat(args)) || this;\n\n _this.handleItemClick = function (e, _ref) {\n var nextActivePage = _ref.value;\n var prevActivePage = _this.state.activePage; // Heads up! We need the cast to the \"number\" type there, as `activePage` can be a string\n\n if (+prevActivePage === +nextActivePage) return;\n\n _this.setState({\n activePage: nextActivePage\n });\n\n _invoke(_this.props, 'onPageChange', e, _extends({}, _this.props, {\n activePage: nextActivePage\n }));\n };\n\n _this.handleItemOverrides = function (active, type, value) {\n return function (predefinedProps) {\n return {\n active: active,\n type: type,\n key: type + \"-\" + value,\n onClick: function onClick(e, itemProps) {\n _invoke(predefinedProps, 'onClick', e, itemProps);\n\n if (itemProps.type !== 'ellipsisItem') _this.handleItemClick(e, itemProps);\n }\n };\n };\n };\n\n return _this;\n }\n\n var _proto = Pagination.prototype;\n\n _proto.getInitialAutoControlledState = function getInitialAutoControlledState() {\n return {\n activePage: 1\n };\n };\n\n _proto.render = function render() {\n var _this2 = this;\n\n var _this$props = this.props,\n ariaLabel = _this$props['aria-label'],\n boundaryRange = _this$props.boundaryRange,\n disabled = _this$props.disabled,\n ellipsisItem = _this$props.ellipsisItem,\n siblingRange = _this$props.siblingRange,\n totalPages = _this$props.totalPages;\n var activePage = this.state.activePage;\n var items = createPaginationItems({\n activePage: activePage,\n boundaryRange: boundaryRange,\n hideEllipsis: _isNil(ellipsisItem),\n siblingRange: siblingRange,\n totalPages: totalPages\n });\n var rest = getUnhandledProps(Pagination, this.props);\n return /*#__PURE__*/React.createElement(Menu, _extends({}, rest, {\n \"aria-label\": ariaLabel,\n pagination: true,\n role: \"navigation\"\n }), _map(items, function (_ref2) {\n var active = _ref2.active,\n type = _ref2.type,\n value = _ref2.value;\n return PaginationItem.create(_this2.props[type], {\n defaultProps: {\n content: value,\n disabled: disabled,\n value: value\n },\n overrideProps: _this2.handleItemOverrides(active, type, value)\n });\n }));\n };\n\n return Pagination;\n}(Component);\n\nPagination.handledProps = [\"activePage\", \"aria-label\", \"boundaryRange\", \"defaultActivePage\", \"disabled\", \"ellipsisItem\", \"firstItem\", \"lastItem\", \"nextItem\", \"onPageChange\", \"pageItem\", \"prevItem\", \"siblingRange\", \"totalPages\"];\nexport { Pagination as default };\nPagination.propTypes = process.env.NODE_ENV !== \"production\" ? {\n /** A pagination item can have an aria label. */\n 'aria-label': PropTypes.string,\n\n /** Initial activePage value. */\n defaultActivePage: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),\n\n /** Index of the currently active page. */\n activePage: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),\n\n /** Number of always visible pages at the beginning and end. */\n boundaryRange: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),\n\n /** A pagination can be disabled. */\n disabled: PropTypes.bool,\n\n /** A shorthand for PaginationItem. */\n ellipsisItem: customPropTypes.itemShorthand,\n\n /** A shorthand for PaginationItem. */\n firstItem: customPropTypes.itemShorthand,\n\n /** A shorthand for PaginationItem. */\n lastItem: customPropTypes.itemShorthand,\n\n /** A shorthand for PaginationItem. */\n nextItem: customPropTypes.itemShorthand,\n\n /** A shorthand for PaginationItem. */\n pageItem: customPropTypes.itemShorthand,\n\n /** A shorthand for PaginationItem. */\n prevItem: customPropTypes.itemShorthand,\n\n /**\n * Called on change of an active page.\n *\n * @param {SyntheticEvent} event - React's original SyntheticEvent.\n * @param {object} data - All props.\n */\n onPageChange: PropTypes.func,\n\n /** Number of always visible pages before and after the current one. */\n siblingRange: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),\n\n /** Total number of pages. */\n totalPages: PropTypes.oneOfType([PropTypes.number, PropTypes.string]).isRequired\n} : {};\nPagination.autoControlledProps = ['activePage'];\nPagination.defaultProps = {\n 'aria-label': 'Pagination Navigation',\n boundaryRange: 1,\n ellipsisItem: '...',\n firstItem: {\n 'aria-label': 'First item',\n content: '«'\n },\n lastItem: {\n 'aria-label': 'Last item',\n content: '»'\n },\n nextItem: {\n 'aria-label': 'Next item',\n content: '⟩'\n },\n pageItem: {},\n prevItem: {\n 'aria-label': 'Previous item',\n content: '⟨'\n },\n siblingRange: 1\n};\nPagination.Item = PaginationItem;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport cx from 'clsx';\nimport PropTypes from 'prop-types';\nimport React from 'react';\nimport { childrenUtils, createShorthandFactory, customPropTypes, getElementType, getUnhandledProps, useKeyOnly } from '../../lib';\nimport Segment from '../../elements/Segment/Segment';\n/**\n * A tab pane holds the content of a tab.\n */\n\nfunction TabPane(props) {\n var active = props.active,\n children = props.children,\n className = props.className,\n content = props.content,\n loading = props.loading;\n var classes = cx(useKeyOnly(active, 'active'), useKeyOnly(loading, 'loading'), 'tab', className);\n var rest = getUnhandledProps(TabPane, props);\n var ElementType = getElementType(TabPane, props);\n var calculatedDefaultProps = {};\n\n if (ElementType === Segment) {\n calculatedDefaultProps.attached = 'bottom';\n }\n\n return /*#__PURE__*/React.createElement(ElementType, _extends({}, calculatedDefaultProps, rest, {\n className: classes\n }), childrenUtils.isNil(children) ? content : children);\n}\n\nTabPane.handledProps = [\"active\", \"as\", \"children\", \"className\", \"content\", \"loading\"];\nTabPane.defaultProps = {\n as: Segment,\n active: true\n};\nTabPane.propTypes = process.env.NODE_ENV !== \"production\" ? {\n /** An element type to render as (string or function). */\n as: PropTypes.elementType,\n\n /** A tab pane can be active. */\n active: PropTypes.bool,\n\n /** Primary content. */\n children: PropTypes.node,\n\n /** Additional classes. */\n className: PropTypes.string,\n\n /** Shorthand for primary content. */\n content: customPropTypes.contentShorthand,\n\n /** A Tab.Pane can display a loading indicator. */\n loading: PropTypes.bool\n} : {};\nTabPane.create = createShorthandFactory(TabPane, function (content) {\n return {\n content: content\n };\n});\nexport default TabPane;","import _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _inheritsLoose from \"@babel/runtime/helpers/esm/inheritsLoose\";\nimport _map from \"lodash-es/map\";\nimport _get from \"lodash-es/get\";\nimport _invoke from \"lodash-es/invoke\";\nimport PropTypes from 'prop-types';\nimport React from 'react';\nimport { ModernAutoControlledComponent as Component, customPropTypes, getElementType, getUnhandledProps } from '../../lib';\nimport Grid from '../../collections/Grid/Grid';\nimport GridColumn from '../../collections/Grid/GridColumn';\nimport Menu from '../../collections/Menu/Menu';\nimport TabPane from './TabPane';\n/**\n * A Tab is a hidden section of content activated by a Menu.\n * @see Menu\n * @see Segment\n */\n\nvar Tab = /*#__PURE__*/function (_Component) {\n _inheritsLoose(Tab, _Component);\n\n function Tab() {\n var _this;\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 = _Component.call.apply(_Component, [this].concat(args)) || this;\n\n _this.handleItemClick = function (e, _ref) {\n var index = _ref.index;\n\n _invoke(_this.props, 'onTabChange', e, _extends({}, _this.props, {\n activeIndex: index\n }));\n\n _this.setState({\n activeIndex: index\n });\n };\n\n return _this;\n }\n\n var _proto = Tab.prototype;\n\n _proto.getInitialAutoControlledState = function getInitialAutoControlledState() {\n return {\n activeIndex: 0\n };\n };\n\n _proto.renderItems = function renderItems() {\n var _this$props = this.props,\n panes = _this$props.panes,\n renderActiveOnly = _this$props.renderActiveOnly;\n var activeIndex = this.state.activeIndex;\n if (renderActiveOnly) return _invoke(_get(panes, \"[\" + activeIndex + \"]\"), 'render', this.props);\n return _map(panes, function (_ref2, index) {\n var pane = _ref2.pane;\n return TabPane.create(pane, {\n overrideProps: {\n active: index === activeIndex\n }\n });\n });\n };\n\n _proto.renderMenu = function renderMenu() {\n var _this$props2 = this.props,\n menu = _this$props2.menu,\n panes = _this$props2.panes,\n menuPosition = _this$props2.menuPosition;\n var activeIndex = this.state.activeIndex;\n\n if (menu.tabular === true && menuPosition === 'right') {\n menu.tabular = 'right';\n }\n\n return Menu.create(menu, {\n autoGenerateKey: false,\n overrideProps: {\n items: _map(panes, 'menuItem'),\n onItemClick: this.handleItemClick,\n activeIndex: activeIndex\n }\n });\n };\n\n _proto.renderVertical = function renderVertical(menu) {\n var _this$props3 = this.props,\n grid = _this$props3.grid,\n menuPosition = _this$props3.menuPosition;\n\n var paneWidth = grid.paneWidth,\n tabWidth = grid.tabWidth,\n gridProps = _objectWithoutPropertiesLoose(grid, [\"paneWidth\", \"tabWidth\"]);\n\n var position = menuPosition || menu.props.tabular === 'right' && 'right' || 'left';\n return /*#__PURE__*/React.createElement(Grid, gridProps, position === 'left' && GridColumn.create({\n width: tabWidth,\n children: menu\n }, {\n autoGenerateKey: false\n }), GridColumn.create({\n width: paneWidth,\n children: this.renderItems(),\n stretched: true\n }, {\n autoGenerateKey: false\n }), position === 'right' && GridColumn.create({\n width: tabWidth,\n children: menu\n }, {\n autoGenerateKey: false\n }));\n };\n\n _proto.render = function render() {\n var menu = this.renderMenu();\n var rest = getUnhandledProps(Tab, this.props);\n var ElementType = getElementType(Tab, this.props);\n\n if (menu.props.vertical) {\n return /*#__PURE__*/React.createElement(ElementType, rest, this.renderVertical(menu));\n }\n\n return /*#__PURE__*/React.createElement(ElementType, rest, menu.props.attached !== 'bottom' && menu, this.renderItems(), menu.props.attached === 'bottom' && menu);\n };\n\n return Tab;\n}(Component);\n\nTab.handledProps = [\"activeIndex\", \"as\", \"defaultActiveIndex\", \"grid\", \"menu\", \"menuPosition\", \"onTabChange\", \"panes\", \"renderActiveOnly\"];\nTab.propTypes = process.env.NODE_ENV !== \"production\" ? {\n /** An element type to render as (string or function). */\n as: PropTypes.elementType,\n\n /** The initial activeIndex. */\n defaultActiveIndex: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),\n\n /** Index of the currently active tab. */\n activeIndex: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),\n\n /**\n * Shorthand props for the Menu.\n * tabular, if true, will derive final value from `menuPosition`, otherwise set 'left' or 'right' explicitly.\n */\n menu: PropTypes.object,\n\n /** Align vertical menu */\n menuPosition: PropTypes.oneOf(['left', 'right']),\n\n /** Shorthand props for the Grid. Only applicable to vertical menus. */\n grid: PropTypes.object,\n\n /**\n * Called on tab change.\n *\n * @param {SyntheticEvent} event - React's original SyntheticEvent.\n * @param {object} data - All props and proposed new activeIndex.\n * @param {object} data.activeIndex - The new proposed activeIndex.\n */\n onTabChange: PropTypes.func,\n\n /**\n * Array of objects describing each Menu.Item and Tab.Pane:\n * { menuItem: 'Home', render: () => <Tab.Pane /> }\n * or\n * { menuItem: 'Home', pane: 'Welcome' }\n */\n panes: PropTypes.arrayOf(PropTypes.shape({\n menuItem: customPropTypes.itemShorthand,\n pane: customPropTypes.itemShorthand,\n render: PropTypes.func\n })),\n\n /** A Tab can render only active pane. */\n renderActiveOnly: PropTypes.bool\n} : {};\nTab.autoControlledProps = ['activeIndex'];\nTab.defaultProps = {\n grid: {\n paneWidth: 12,\n tabWidth: 4\n },\n menu: {\n attached: true,\n tabular: true\n },\n renderActiveOnly: true\n};\nTab.Pane = TabPane;\nexport default Tab;"],"sourceRoot":""}