{"version":3,"file":"main.1743516127325.js","sources":["./node_modules/bignumber.js/bignumber.mjs","./node_modules/make-plural/plurals.mjs","./node_modules/@babel/runtime/helpers/esm/arrayLikeToArray.js","./node_modules/@babel/runtime/helpers/esm/arrayWithHoles.js","./node_modules/@babel/runtime/helpers/esm/arrayWithoutHoles.js","./node_modules/@babel/runtime/helpers/esm/assertThisInitialized.js","./node_modules/@babel/runtime/helpers/esm/classCallCheck.js","./node_modules/@babel/runtime/helpers/esm/createClass.js","./node_modules/@babel/runtime/helpers/esm/createForOfIteratorHelperLoose.js","./node_modules/@babel/runtime/helpers/esm/defineProperty.js","./node_modules/@babel/runtime/helpers/esm/extends.js","./node_modules/@babel/runtime/helpers/esm/getPrototypeOf.js","./node_modules/@babel/runtime/helpers/esm/inherits.js","./node_modules/@babel/runtime/helpers/esm/inheritsLoose.js","./node_modules/@babel/runtime/helpers/esm/iterableToArray.js","./node_modules/@babel/runtime/helpers/esm/iterableToArrayLimit.js","./node_modules/@babel/runtime/helpers/esm/nonIterableRest.js","./node_modules/@babel/runtime/helpers/esm/nonIterableSpread.js","./node_modules/@babel/runtime/helpers/esm/objectSpread.js","./node_modules/@babel/runtime/helpers/esm/objectSpread2.js","./node_modules/@babel/runtime/helpers/esm/objectWithoutProperties.js","./node_modules/@babel/runtime/helpers/esm/objectWithoutPropertiesLoose.js","./node_modules/@babel/runtime/helpers/esm/possibleConstructorReturn.js","./node_modules/@babel/runtime/helpers/esm/setPrototypeOf.js","./node_modules/@babel/runtime/helpers/esm/slicedToArray.js","./node_modules/@babel/runtime/helpers/esm/toConsumableArray.js","./node_modules/@babel/runtime/helpers/esm/toPrimitive.js","./node_modules/@babel/runtime/helpers/esm/toPropertyKey.js","./node_modules/@babel/runtime/helpers/esm/typeof.js","./node_modules/@babel/runtime/helpers/esm/unsupportedIterableToArray.js","./node_modules/@swc/helpers/esm/_array_like_to_array.js","./node_modules/@swc/helpers/esm/_array_with_holes.js","./node_modules/@swc/helpers/esm/_array_without_holes.js","./node_modules/@swc/helpers/esm/_assert_this_initialized.js","./node_modules/@swc/helpers/esm/_async_to_generator.js","./node_modules/@swc/helpers/esm/_class_call_check.js","./node_modules/@swc/helpers/esm/_construct.js","./node_modules/@swc/helpers/esm/_create_class.js","./node_modules/@swc/helpers/esm/_create_super.js","./node_modules/@swc/helpers/esm/_define_property.js","./node_modules/@swc/helpers/esm/_get.js","./node_modules/@swc/helpers/esm/_get_prototype_of.js","./node_modules/@swc/helpers/esm/_inherits.js","./node_modules/@swc/helpers/esm/_is_native_function.js","./node_modules/@swc/helpers/esm/_is_native_reflect_construct.js","./node_modules/@swc/helpers/esm/_iterable_to_array.js","./node_modules/@swc/helpers/esm/_iterable_to_array_limit.js","./node_modules/@swc/helpers/esm/_non_iterable_rest.js","./node_modules/@swc/helpers/esm/_non_iterable_spread.js","./node_modules/@swc/helpers/esm/_object_spread.js","./node_modules/@swc/helpers/esm/_object_spread_props.js","./node_modules/@swc/helpers/esm/_possible_constructor_return.js","./node_modules/@swc/helpers/esm/_set_prototype_of.js","./node_modules/@swc/helpers/esm/_sliced_to_array.js","./node_modules/@swc/helpers/esm/_super_prop_base.js","./node_modules/@swc/helpers/esm/_to_consumable_array.js","./node_modules/@swc/helpers/esm/_type_of.js","./node_modules/@swc/helpers/esm/_unsupported_iterable_to_array.js","./node_modules/@swc/helpers/esm/_wrap_native_super.js","./node_modules/@tokenizer/inflate/lib/ZipToken.js","./node_modules/@tokenizer/inflate/lib/index.js","./node_modules/@tokenizer/inflate/node_modules/fflate/esm/browser.js","./node_modules/apisauce/dist/apisauce.js","./node_modules/axios/index.js","./node_modules/axios/lib/adapters/xhr.js","./node_modules/axios/lib/axios.js","./node_modules/axios/lib/cancel/Cancel.js","./node_modules/axios/lib/cancel/CancelToken.js","./node_modules/axios/lib/cancel/isCancel.js","./node_modules/axios/lib/core/Axios.js","./node_modules/axios/lib/core/InterceptorManager.js","./node_modules/axios/lib/core/createError.js","./node_modules/axios/lib/core/dispatchRequest.js","./node_modules/axios/lib/core/enhanceError.js","./node_modules/axios/lib/core/settle.js","./node_modules/axios/lib/core/transformData.js","./node_modules/axios/lib/defaults.js","./node_modules/axios/lib/helpers/bind.js","./node_modules/axios/lib/helpers/btoa.js","./node_modules/axios/lib/helpers/buildURL.js","./node_modules/axios/lib/helpers/combineURLs.js","./node_modules/axios/lib/helpers/cookies.js","./node_modules/axios/lib/helpers/isAbsoluteURL.js","./node_modules/axios/lib/helpers/isURLSameOrigin.js","./node_modules/axios/lib/helpers/normalizeHeaderName.js","./node_modules/axios/lib/helpers/parseHeaders.js","./node_modules/axios/lib/helpers/spread.js","./node_modules/axios/lib/utils.js","./node_modules/base-64/base64.js","./node_modules/classnames/index.js","./node_modules/color-convert/conversions.js","./node_modules/color-convert/index.js","./node_modules/color-convert/node_modules/color-name/index.js","./node_modules/color-convert/route.js","./node_modules/color-name/index.js","./node_modules/color-string/index.js","./node_modules/color/index.js","./node_modules/create-react-class/factory.js","./node_modules/create-react-class/index.js","./node_modules/css-in-js-utils/es/assignStyle.js","./node_modules/css-in-js-utils/es/camelCaseProperty.js","./node_modules/css-in-js-utils/es/cssifyDeclaration.js","./node_modules/css-in-js-utils/es/cssifyObject.js","./node_modules/css-in-js-utils/es/hyphenateProperty.js","./node_modules/css-in-js-utils/es/isPrefixedProperty.js","./node_modules/css-in-js-utils/es/isPrefixedValue.js","./node_modules/css-in-js-utils/es/isUnitlessProperty.js","./node_modules/css-in-js-utils/es/normalizeProperty.js","./node_modules/css-in-js-utils/es/resolveArrayValue.js","./node_modules/css-in-js-utils/es/unprefixProperty.js","./node_modules/css-in-js-utils/es/unprefixValue.js","./node_modules/css-in-js-utils/lib/hyphenateProperty.js","./node_modules/css-in-js-utils/lib/isPrefixedValue.js","./node_modules/dayjs/dayjs.min.js","./node_modules/dayjs/locale/en.js","./node_modules/dayjs/locale/fr.js","./node_modules/dayjs/locale/ja.js","./node_modules/dayjs/locale/ko.js","./node_modules/dayjs/locale/pt.js","./node_modules/dayjs/locale/th.js","./node_modules/dayjs/locale/zh-cn.js","./node_modules/dayjs/locale/zh.js","./node_modules/dayjs/plugin/advancedFormat.js","./node_modules/dayjs/plugin/arraySupport.js","./node_modules/dayjs/plugin/badMutable.js","./node_modules/dayjs/plugin/buddhistEra.js","./node_modules/dayjs/plugin/calendar.js","./node_modules/dayjs/plugin/customParseFormat.js","./node_modules/dayjs/plugin/dayOfYear.js","./node_modules/dayjs/plugin/devHelper.js","./node_modules/dayjs/plugin/duration.js","./node_modules/dayjs/plugin/isBetween.js","./node_modules/dayjs/plugin/isLeapYear.js","./node_modules/dayjs/plugin/isMoment.js","./node_modules/dayjs/plugin/isSameOrAfter.js","./node_modules/dayjs/plugin/isSameOrBefore.js","./node_modules/dayjs/plugin/isToday.js","./node_modules/dayjs/plugin/isTomorrow.js","./node_modules/dayjs/plugin/isYesterday.js","./node_modules/dayjs/plugin/isoWeek.js","./node_modules/dayjs/plugin/isoWeeksInYear.js","./node_modules/dayjs/plugin/localeData.js","./node_modules/dayjs/plugin/localizedFormat.js","./node_modules/dayjs/plugin/minMax.js","./node_modules/dayjs/plugin/objectSupport.js","./node_modules/dayjs/plugin/pluralGetSet.js","./node_modules/dayjs/plugin/preParsePostFormat.js","./node_modules/dayjs/plugin/quarterOfYear.js","./node_modules/dayjs/plugin/relativeTime.js","./node_modules/dayjs/plugin/timezone.js","./node_modules/dayjs/plugin/toArray.js","./node_modules/dayjs/plugin/toObject.js","./node_modules/dayjs/plugin/updateLocale.js","./node_modules/dayjs/plugin/utc.js","./node_modules/dayjs/plugin/weekOfYear.js","./node_modules/dayjs/plugin/weekYear.js","./node_modules/dayjs/plugin/weekday.js","./node_modules/debug/src/browser.js","./node_modules/debug/src/common.js","./node_modules/diacritics/index.js","./node_modules/fbjs/lib/emptyObject.js","./node_modules/fbjs/lib/invariant.js","./node_modules/file-type/core.js","./node_modules/file-type/supported.js","./node_modules/file-type/util.js","./node_modules/history/esm/history.js","./node_modules/hoist-non-react-statics/dist/hoist-non-react-statics.cjs.js","./node_modules/hoist-non-react-statics/node_modules/react-is/cjs/react-is.production.min.js","./node_modules/hoist-non-react-statics/node_modules/react-is/index.js","./node_modules/html-parse-stringify2/index.js","./node_modules/html-parse-stringify2/lib/parse-tag.js","./node_modules/html-parse-stringify2/lib/parse.js","./node_modules/html-parse-stringify2/lib/stringify.js","./node_modules/hyphenate-style-name/index.js","./node_modules/i18n-iso-countries/index.js","./node_modules/i18n-js/dist/import/I18n.js","./node_modules/i18n-js/dist/import/Locales.js","./node_modules/i18n-js/dist/import/MissingTranslation.js","./node_modules/i18n-js/dist/import/Pluralization.js","./node_modules/i18n-js/dist/import/helpers/camelCaseKeys.js","./node_modules/i18n-js/dist/import/helpers/createTranslationOptions.js","./node_modules/i18n-js/dist/import/helpers/expandRoundMode.js","./node_modules/i18n-js/dist/import/helpers/formatNumber.js","./node_modules/i18n-js/dist/import/helpers/getFullScope.js","./node_modules/i18n-js/dist/import/helpers/inferType.js","./node_modules/i18n-js/dist/import/helpers/interpolate.js","./node_modules/i18n-js/dist/import/helpers/isSet.js","./node_modules/i18n-js/dist/import/helpers/lookup.js","./node_modules/i18n-js/dist/import/helpers/numberToDelimited.js","./node_modules/i18n-js/dist/import/helpers/numberToHuman.js","./node_modules/i18n-js/dist/import/helpers/numberToHumanSize.js","./node_modules/i18n-js/dist/import/helpers/parseDate.js","./node_modules/i18n-js/dist/import/helpers/pluralize.js","./node_modules/i18n-js/dist/import/helpers/propertyFlatList.js","./node_modules/i18n-js/dist/import/helpers/roundNumber.js","./node_modules/i18n-js/dist/import/helpers/strftime.js","./node_modules/i18n-js/dist/import/helpers/timeAgoInWords.js","./node_modules/i18next-browser-languagedetector/dist/esm/i18nextBrowserLanguageDetector.js","./node_modules/i18next-xhr-backend/dist/esm/i18nextXHRBackend.js","./node_modules/i18next/dist/esm/i18next.js","./node_modules/ieee754/index.js","./node_modules/inline-style-prefixer/lib/createPrefixer.js","./node_modules/inline-style-prefixer/lib/plugins/backgroundClip.js","./node_modules/inline-style-prefixer/lib/plugins/crossFade.js","./node_modules/inline-style-prefixer/lib/plugins/cursor.js","./node_modules/inline-style-prefixer/lib/plugins/filter.js","./node_modules/inline-style-prefixer/lib/plugins/imageSet.js","./node_modules/inline-style-prefixer/lib/plugins/logical.js","./node_modules/inline-style-prefixer/lib/plugins/position.js","./node_modules/inline-style-prefixer/lib/plugins/sizing.js","./node_modules/inline-style-prefixer/lib/plugins/transition.js","./node_modules/inline-style-prefixer/lib/utils/addNewValuesOnly.js","./node_modules/inline-style-prefixer/lib/utils/capitalizeString.js","./node_modules/inline-style-prefixer/lib/utils/isObject.js","./node_modules/inline-style-prefixer/lib/utils/prefixProperty.js","./node_modules/inline-style-prefixer/lib/utils/prefixValue.js","./node_modules/invariant/browser.js","./node_modules/js-file-download/file-download.js","./node_modules/lodash-es/_Symbol.js","./node_modules/lodash-es/_baseGetTag.js","./node_modules/lodash-es/_freeGlobal.js","./node_modules/lodash-es/_getPrototype.js","./node_modules/lodash-es/_getRawTag.js","./node_modules/lodash-es/_objectToString.js","./node_modules/lodash-es/_overArg.js","./node_modules/lodash-es/_root.js","./node_modules/lodash-es/isObjectLike.js","./node_modules/lodash-es/isPlainObject.js","./node_modules/lodash/_DataView.js","./node_modules/lodash/_Hash.js","./node_modules/lodash/_ListCache.js","./node_modules/lodash/_Map.js","./node_modules/lodash/_MapCache.js","./node_modules/lodash/_Promise.js","./node_modules/lodash/_Set.js","./node_modules/lodash/_SetCache.js","./node_modules/lodash/_Stack.js","./node_modules/lodash/_Symbol.js","./node_modules/lodash/_Uint8Array.js","./node_modules/lodash/_WeakMap.js","./node_modules/lodash/_apply.js","./node_modules/lodash/_arrayFilter.js","./node_modules/lodash/_arrayIncludes.js","./node_modules/lodash/_arrayIncludesWith.js","./node_modules/lodash/_arrayLikeKeys.js","./node_modules/lodash/_arrayMap.js","./node_modules/lodash/_arrayPush.js","./node_modules/lodash/_arrayReduce.js","./node_modules/lodash/_arraySome.js","./node_modules/lodash/_asciiToArray.js","./node_modules/lodash/_asciiWords.js","./node_modules/lodash/_assignValue.js","./node_modules/lodash/_assocIndexOf.js","./node_modules/lodash/_baseAssignValue.js","./node_modules/lodash/_baseEach.js","./node_modules/lodash/_baseFindIndex.js","./node_modules/lodash/_baseFlatten.js","./node_modules/lodash/_baseFor.js","./node_modules/lodash/_baseForOwn.js","./node_modules/lodash/_baseGet.js","./node_modules/lodash/_baseGetAllKeys.js","./node_modules/lodash/_baseGetTag.js","./node_modules/lodash/_baseHas.js","./node_modules/lodash/_baseHasIn.js","./node_modules/lodash/_baseIndexOf.js","./node_modules/lodash/_baseIsArguments.js","./node_modules/lodash/_baseIsEqual.js","./node_modules/lodash/_baseIsEqualDeep.js","./node_modules/lodash/_baseIsMatch.js","./node_modules/lodash/_baseIsNaN.js","./node_modules/lodash/_baseIsNative.js","./node_modules/lodash/_baseIsTypedArray.js","./node_modules/lodash/_baseIteratee.js","./node_modules/lodash/_baseKeys.js","./node_modules/lodash/_baseMap.js","./node_modules/lodash/_baseMatches.js","./node_modules/lodash/_baseMatchesProperty.js","./node_modules/lodash/_baseOrderBy.js","./node_modules/lodash/_baseProperty.js","./node_modules/lodash/_basePropertyDeep.js","./node_modules/lodash/_basePropertyOf.js","./node_modules/lodash/_baseRange.js","./node_modules/lodash/_baseRepeat.js","./node_modules/lodash/_baseRest.js","./node_modules/lodash/_baseSet.js","./node_modules/lodash/_baseSetToString.js","./node_modules/lodash/_baseSlice.js","./node_modules/lodash/_baseSortBy.js","./node_modules/lodash/_baseTimes.js","./node_modules/lodash/_baseToString.js","./node_modules/lodash/_baseUnary.js","./node_modules/lodash/_baseUniq.js","./node_modules/lodash/_baseZipObject.js","./node_modules/lodash/_cacheHas.js","./node_modules/lodash/_castPath.js","./node_modules/lodash/_castSlice.js","./node_modules/lodash/_compareAscending.js","./node_modules/lodash/_compareMultiple.js","./node_modules/lodash/_coreJsData.js","./node_modules/lodash/_createBaseEach.js","./node_modules/lodash/_createBaseFor.js","./node_modules/lodash/_createCaseFirst.js","./node_modules/lodash/_createCompounder.js","./node_modules/lodash/_createRange.js","./node_modules/lodash/_createSet.js","./node_modules/lodash/_deburrLetter.js","./node_modules/lodash/_defineProperty.js","./node_modules/lodash/_equalArrays.js","./node_modules/lodash/_equalByTag.js","./node_modules/lodash/_equalObjects.js","./node_modules/lodash/_freeGlobal.js","./node_modules/lodash/_getAllKeys.js","./node_modules/lodash/_getMapData.js","./node_modules/lodash/_getMatchData.js","./node_modules/lodash/_getNative.js","./node_modules/lodash/_getRawTag.js","./node_modules/lodash/_getSymbols.js","./node_modules/lodash/_getTag.js","./node_modules/lodash/_getValue.js","./node_modules/lodash/_hasPath.js","./node_modules/lodash/_hasUnicode.js","./node_modules/lodash/_hasUnicodeWord.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/_isFlattenable.js","./node_modules/lodash/_isIndex.js","./node_modules/lodash/_isIterateeCall.js","./node_modules/lodash/_isKey.js","./node_modules/lodash/_isKeyable.js","./node_modules/lodash/_isMasked.js","./node_modules/lodash/_isPrototype.js","./node_modules/lodash/_isStrictComparable.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/_mapCacheClear.js","./node_modules/lodash/_mapCacheDelete.js","./node_modules/lodash/_mapCacheGet.js","./node_modules/lodash/_mapCacheHas.js","./node_modules/lodash/_mapCacheSet.js","./node_modules/lodash/_mapToArray.js","./node_modules/lodash/_matchesStrictComparable.js","./node_modules/lodash/_memoizeCapped.js","./node_modules/lodash/_nativeCreate.js","./node_modules/lodash/_nativeKeys.js","./node_modules/lodash/_nodeUtil.js","./node_modules/lodash/_objectToString.js","./node_modules/lodash/_overArg.js","./node_modules/lodash/_overRest.js","./node_modules/lodash/_root.js","./node_modules/lodash/_setCacheAdd.js","./node_modules/lodash/_setCacheHas.js","./node_modules/lodash/_setToArray.js","./node_modules/lodash/_setToString.js","./node_modules/lodash/_shortOut.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/_strictIndexOf.js","./node_modules/lodash/_stringToArray.js","./node_modules/lodash/_stringToPath.js","./node_modules/lodash/_toKey.js","./node_modules/lodash/_toSource.js","./node_modules/lodash/_unicodeToArray.js","./node_modules/lodash/_unicodeWords.js","./node_modules/lodash/camelCase.js","./node_modules/lodash/capitalize.js","./node_modules/lodash/constant.js","./node_modules/lodash/deburr.js","./node_modules/lodash/eq.js","./node_modules/lodash/flattenDeep.js","./node_modules/lodash/get.js","./node_modules/lodash/has.js","./node_modules/lodash/hasIn.js","./node_modules/lodash/identity.js","./node_modules/lodash/isArguments.js","./node_modules/lodash/isArray.js","./node_modules/lodash/isArrayLike.js","./node_modules/lodash/isBuffer.js","./node_modules/lodash/isFunction.js","./node_modules/lodash/isLength.js","./node_modules/lodash/isObject.js","./node_modules/lodash/isObjectLike.js","./node_modules/lodash/isSymbol.js","./node_modules/lodash/isTypedArray.js","./node_modules/lodash/keys.js","./node_modules/lodash/lodash.js","./node_modules/lodash/memoize.js","./node_modules/lodash/noop.js","./node_modules/lodash/property.js","./node_modules/lodash/range.js","./node_modules/lodash/repeat.js","./node_modules/lodash/set.js","./node_modules/lodash/sortBy.js","./node_modules/lodash/stubArray.js","./node_modules/lodash/stubFalse.js","./node_modules/lodash/toFinite.js","./node_modules/lodash/toInteger.js","./node_modules/lodash/toNumber.js","./node_modules/lodash/toString.js","./node_modules/lodash/uniq.js","./node_modules/lodash/upperFirst.js","./node_modules/lodash/words.js","./node_modules/lodash/zipObject.js","./node_modules/moment-timezone/index.js","./node_modules/moment-timezone/moment-timezone.js","./node_modules/moment/locale/en-gb.js","./node_modules/moment/locale/ko.js","./node_modules/moment/locale/th.js","./node_modules/moment/locale/zh-cn.js","./node_modules/moment/moment.js","./node_modules/ms/index.js","./node_modules/normalize-css-color/index.js","./node_modules/object-assign/index.js","./node_modules/peek-readable/lib/AbstractStreamReader.js","./node_modules/peek-readable/lib/Deferred.js","./node_modules/peek-readable/lib/Errors.js","./node_modules/peek-readable/lib/StreamReader.js","./node_modules/peek-readable/lib/WebStreamByobReader.js","./node_modules/peek-readable/lib/WebStreamDefaultReader.js","./node_modules/peek-readable/lib/WebStreamReader.js","./node_modules/peek-readable/lib/WebStreamReaderFactory.js","./node_modules/pinyin-tone-convert/index.js","./node_modules/pinyin-tone-parse/index.js","./node_modules/pinyin-tone-parse/lib/errors.js","./node_modules/pinyin-tone-parse/lib/pinyin-tone-parse.js","./node_modules/pinyin/data/dict-zi-web.js","./node_modules/pinyin/lib/phonetic-symbol.js","./node_modules/pinyin/lib/pinyin.js","./node_modules/pinyin/lib/web-pinyin.js","./node_modules/prop-types/factoryWithThrowingShims.js","./node_modules/prop-types/index.js","./node_modules/prop-types/lib/ReactPropTypesSecret.js","./node_modules/ramda/index.js","./node_modules/ramda/src/F.js","./node_modules/ramda/src/T.js","./node_modules/ramda/src/__.js","./node_modules/ramda/src/add.js","./node_modules/ramda/src/addIndex.js","./node_modules/ramda/src/adjust.js","./node_modules/ramda/src/all.js","./node_modules/ramda/src/allPass.js","./node_modules/ramda/src/always.js","./node_modules/ramda/src/and.js","./node_modules/ramda/src/any.js","./node_modules/ramda/src/anyPass.js","./node_modules/ramda/src/ap.js","./node_modules/ramda/src/aperture.js","./node_modules/ramda/src/append.js","./node_modules/ramda/src/apply.js","./node_modules/ramda/src/applySpec.js","./node_modules/ramda/src/ascend.js","./node_modules/ramda/src/assoc.js","./node_modules/ramda/src/assocPath.js","./node_modules/ramda/src/binary.js","./node_modules/ramda/src/bind.js","./node_modules/ramda/src/both.js","./node_modules/ramda/src/call.js","./node_modules/ramda/src/chain.js","./node_modules/ramda/src/clamp.js","./node_modules/ramda/src/clone.js","./node_modules/ramda/src/comparator.js","./node_modules/ramda/src/complement.js","./node_modules/ramda/src/compose.js","./node_modules/ramda/src/composeK.js","./node_modules/ramda/src/composeP.js","./node_modules/ramda/src/concat.js","./node_modules/ramda/src/cond.js","./node_modules/ramda/src/construct.js","./node_modules/ramda/src/constructN.js","./node_modules/ramda/src/contains.js","./node_modules/ramda/src/converge.js","./node_modules/ramda/src/countBy.js","./node_modules/ramda/src/curry.js","./node_modules/ramda/src/curryN.js","./node_modules/ramda/src/dec.js","./node_modules/ramda/src/defaultTo.js","./node_modules/ramda/src/descend.js","./node_modules/ramda/src/difference.js","./node_modules/ramda/src/differenceWith.js","./node_modules/ramda/src/dissoc.js","./node_modules/ramda/src/dissocPath.js","./node_modules/ramda/src/divide.js","./node_modules/ramda/src/drop.js","./node_modules/ramda/src/dropLast.js","./node_modules/ramda/src/dropLastWhile.js","./node_modules/ramda/src/dropRepeats.js","./node_modules/ramda/src/dropRepeatsWith.js","./node_modules/ramda/src/dropWhile.js","./node_modules/ramda/src/either.js","./node_modules/ramda/src/empty.js","./node_modules/ramda/src/eqBy.js","./node_modules/ramda/src/eqProps.js","./node_modules/ramda/src/equals.js","./node_modules/ramda/src/evolve.js","./node_modules/ramda/src/filter.js","./node_modules/ramda/src/find.js","./node_modules/ramda/src/findIndex.js","./node_modules/ramda/src/findLast.js","./node_modules/ramda/src/findLastIndex.js","./node_modules/ramda/src/flatten.js","./node_modules/ramda/src/flip.js","./node_modules/ramda/src/forEach.js","./node_modules/ramda/src/forEachObjIndexed.js","./node_modules/ramda/src/fromPairs.js","./node_modules/ramda/src/groupBy.js","./node_modules/ramda/src/groupWith.js","./node_modules/ramda/src/gt.js","./node_modules/ramda/src/gte.js","./node_modules/ramda/src/has.js","./node_modules/ramda/src/hasIn.js","./node_modules/ramda/src/head.js","./node_modules/ramda/src/identical.js","./node_modules/ramda/src/identity.js","./node_modules/ramda/src/ifElse.js","./node_modules/ramda/src/inc.js","./node_modules/ramda/src/indexBy.js","./node_modules/ramda/src/indexOf.js","./node_modules/ramda/src/init.js","./node_modules/ramda/src/insert.js","./node_modules/ramda/src/insertAll.js","./node_modules/ramda/src/internal/_Set.js","./node_modules/ramda/src/internal/_aperture.js","./node_modules/ramda/src/internal/_arity.js","./node_modules/ramda/src/internal/_arrayFromIterator.js","./node_modules/ramda/src/internal/_assign.js","./node_modules/ramda/src/internal/_checkForMethod.js","./node_modules/ramda/src/internal/_clone.js","./node_modules/ramda/src/internal/_cloneRegExp.js","./node_modules/ramda/src/internal/_complement.js","./node_modules/ramda/src/internal/_concat.js","./node_modules/ramda/src/internal/_contains.js","./node_modules/ramda/src/internal/_containsWith.js","./node_modules/ramda/src/internal/_createPartialApplicator.js","./node_modules/ramda/src/internal/_curry1.js","./node_modules/ramda/src/internal/_curry2.js","./node_modules/ramda/src/internal/_curry3.js","./node_modules/ramda/src/internal/_curryN.js","./node_modules/ramda/src/internal/_dispatchable.js","./node_modules/ramda/src/internal/_dropLast.js","./node_modules/ramda/src/internal/_dropLastWhile.js","./node_modules/ramda/src/internal/_equals.js","./node_modules/ramda/src/internal/_filter.js","./node_modules/ramda/src/internal/_flatCat.js","./node_modules/ramda/src/internal/_forceReduced.js","./node_modules/ramda/src/internal/_functionName.js","./node_modules/ramda/src/internal/_has.js","./node_modules/ramda/src/internal/_identity.js","./node_modules/ramda/src/internal/_indexOf.js","./node_modules/ramda/src/internal/_isArguments.js","./node_modules/ramda/src/internal/_isArray.js","./node_modules/ramda/src/internal/_isFunction.js","./node_modules/ramda/src/internal/_isInteger.js","./node_modules/ramda/src/internal/_isNumber.js","./node_modules/ramda/src/internal/_isObject.js","./node_modules/ramda/src/internal/_isPlaceholder.js","./node_modules/ramda/src/internal/_isRegExp.js","./node_modules/ramda/src/internal/_isString.js","./node_modules/ramda/src/internal/_isTransformer.js","./node_modules/ramda/src/internal/_makeFlat.js","./node_modules/ramda/src/internal/_map.js","./node_modules/ramda/src/internal/_objectAssign.js","./node_modules/ramda/src/internal/_of.js","./node_modules/ramda/src/internal/_pipe.js","./node_modules/ramda/src/internal/_pipeP.js","./node_modules/ramda/src/internal/_quote.js","./node_modules/ramda/src/internal/_reduce.js","./node_modules/ramda/src/internal/_reduced.js","./node_modules/ramda/src/internal/_stepCat.js","./node_modules/ramda/src/internal/_toISOString.js","./node_modules/ramda/src/internal/_toString.js","./node_modules/ramda/src/internal/_xall.js","./node_modules/ramda/src/internal/_xany.js","./node_modules/ramda/src/internal/_xaperture.js","./node_modules/ramda/src/internal/_xchain.js","./node_modules/ramda/src/internal/_xdrop.js","./node_modules/ramda/src/internal/_xdropLast.js","./node_modules/ramda/src/internal/_xdropLastWhile.js","./node_modules/ramda/src/internal/_xdropRepeatsWith.js","./node_modules/ramda/src/internal/_xdropWhile.js","./node_modules/ramda/src/internal/_xfBase.js","./node_modules/ramda/src/internal/_xfilter.js","./node_modules/ramda/src/internal/_xfind.js","./node_modules/ramda/src/internal/_xfindIndex.js","./node_modules/ramda/src/internal/_xfindLast.js","./node_modules/ramda/src/internal/_xfindLastIndex.js","./node_modules/ramda/src/internal/_xmap.js","./node_modules/ramda/src/internal/_xreduceBy.js","./node_modules/ramda/src/internal/_xtake.js","./node_modules/ramda/src/internal/_xtakeWhile.js","./node_modules/ramda/src/internal/_xwrap.js","./node_modules/ramda/src/intersection.js","./node_modules/ramda/src/intersectionWith.js","./node_modules/ramda/src/intersperse.js","./node_modules/ramda/src/into.js","./node_modules/ramda/src/invert.js","./node_modules/ramda/src/invertObj.js","./node_modules/ramda/src/invoker.js","./node_modules/ramda/src/is.js","./node_modules/ramda/src/isArrayLike.js","./node_modules/ramda/src/isEmpty.js","./node_modules/ramda/src/isNil.js","./node_modules/ramda/src/join.js","./node_modules/ramda/src/juxt.js","./node_modules/ramda/src/keys.js","./node_modules/ramda/src/keysIn.js","./node_modules/ramda/src/last.js","./node_modules/ramda/src/lastIndexOf.js","./node_modules/ramda/src/length.js","./node_modules/ramda/src/lens.js","./node_modules/ramda/src/lensIndex.js","./node_modules/ramda/src/lensPath.js","./node_modules/ramda/src/lensProp.js","./node_modules/ramda/src/lift.js","./node_modules/ramda/src/liftN.js","./node_modules/ramda/src/lt.js","./node_modules/ramda/src/lte.js","./node_modules/ramda/src/map.js","./node_modules/ramda/src/mapAccum.js","./node_modules/ramda/src/mapAccumRight.js","./node_modules/ramda/src/mapObjIndexed.js","./node_modules/ramda/src/match.js","./node_modules/ramda/src/mathMod.js","./node_modules/ramda/src/max.js","./node_modules/ramda/src/maxBy.js","./node_modules/ramda/src/mean.js","./node_modules/ramda/src/median.js","./node_modules/ramda/src/memoize.js","./node_modules/ramda/src/merge.js","./node_modules/ramda/src/mergeAll.js","./node_modules/ramda/src/mergeWith.js","./node_modules/ramda/src/mergeWithKey.js","./node_modules/ramda/src/min.js","./node_modules/ramda/src/minBy.js","./node_modules/ramda/src/modulo.js","./node_modules/ramda/src/multiply.js","./node_modules/ramda/src/nAry.js","./node_modules/ramda/src/negate.js","./node_modules/ramda/src/none.js","./node_modules/ramda/src/not.js","./node_modules/ramda/src/nth.js","./node_modules/ramda/src/nthArg.js","./node_modules/ramda/src/objOf.js","./node_modules/ramda/src/of.js","./node_modules/ramda/src/omit.js","./node_modules/ramda/src/once.js","./node_modules/ramda/src/or.js","./node_modules/ramda/src/over.js","./node_modules/ramda/src/pair.js","./node_modules/ramda/src/partial.js","./node_modules/ramda/src/partialRight.js","./node_modules/ramda/src/partition.js","./node_modules/ramda/src/path.js","./node_modules/ramda/src/pathEq.js","./node_modules/ramda/src/pathOr.js","./node_modules/ramda/src/pathSatisfies.js","./node_modules/ramda/src/pick.js","./node_modules/ramda/src/pickAll.js","./node_modules/ramda/src/pickBy.js","./node_modules/ramda/src/pipe.js","./node_modules/ramda/src/pipeK.js","./node_modules/ramda/src/pipeP.js","./node_modules/ramda/src/pluck.js","./node_modules/ramda/src/prepend.js","./node_modules/ramda/src/product.js","./node_modules/ramda/src/project.js","./node_modules/ramda/src/prop.js","./node_modules/ramda/src/propEq.js","./node_modules/ramda/src/propIs.js","./node_modules/ramda/src/propOr.js","./node_modules/ramda/src/propSatisfies.js","./node_modules/ramda/src/props.js","./node_modules/ramda/src/range.js","./node_modules/ramda/src/reduce.js","./node_modules/ramda/src/reduceBy.js","./node_modules/ramda/src/reduceRight.js","./node_modules/ramda/src/reduceWhile.js","./node_modules/ramda/src/reduced.js","./node_modules/ramda/src/reject.js","./node_modules/ramda/src/remove.js","./node_modules/ramda/src/repeat.js","./node_modules/ramda/src/replace.js","./node_modules/ramda/src/reverse.js","./node_modules/ramda/src/scan.js","./node_modules/ramda/src/sequence.js","./node_modules/ramda/src/set.js","./node_modules/ramda/src/slice.js","./node_modules/ramda/src/sort.js","./node_modules/ramda/src/sortBy.js","./node_modules/ramda/src/sortWith.js","./node_modules/ramda/src/split.js","./node_modules/ramda/src/splitAt.js","./node_modules/ramda/src/splitEvery.js","./node_modules/ramda/src/splitWhen.js","./node_modules/ramda/src/subtract.js","./node_modules/ramda/src/sum.js","./node_modules/ramda/src/symmetricDifference.js","./node_modules/ramda/src/symmetricDifferenceWith.js","./node_modules/ramda/src/tail.js","./node_modules/ramda/src/take.js","./node_modules/ramda/src/takeLast.js","./node_modules/ramda/src/takeLastWhile.js","./node_modules/ramda/src/takeWhile.js","./node_modules/ramda/src/tap.js","./node_modules/ramda/src/test.js","./node_modules/ramda/src/times.js","./node_modules/ramda/src/toLower.js","./node_modules/ramda/src/toPairs.js","./node_modules/ramda/src/toPairsIn.js","./node_modules/ramda/src/toString.js","./node_modules/ramda/src/toUpper.js","./node_modules/ramda/src/transduce.js","./node_modules/ramda/src/transpose.js","./node_modules/ramda/src/traverse.js","./node_modules/ramda/src/trim.js","./node_modules/ramda/src/tryCatch.js","./node_modules/ramda/src/type.js","./node_modules/ramda/src/unapply.js","./node_modules/ramda/src/unary.js","./node_modules/ramda/src/uncurryN.js","./node_modules/ramda/src/unfold.js","./node_modules/ramda/src/union.js","./node_modules/ramda/src/unionWith.js","./node_modules/ramda/src/uniq.js","./node_modules/ramda/src/uniqBy.js","./node_modules/ramda/src/uniqWith.js","./node_modules/ramda/src/unless.js","./node_modules/ramda/src/unnest.js","./node_modules/ramda/src/until.js","./node_modules/ramda/src/update.js","./node_modules/ramda/src/useWith.js","./node_modules/ramda/src/values.js","./node_modules/ramda/src/valuesIn.js","./node_modules/ramda/src/view.js","./node_modules/ramda/src/when.js","./node_modules/ramda/src/where.js","./node_modules/ramda/src/whereEq.js","./node_modules/ramda/src/without.js","./node_modules/ramda/src/xprod.js","./node_modules/ramda/src/zip.js","./node_modules/ramda/src/zipObj.js","./node_modules/ramda/src/zipWith.js","./node_modules/ramdasauce/dist/ramdasauce.js","./node_modules/react-block-ui/lib/reduxMiddleware.js","./node_modules/react-dom/cjs/react-dom.production.min.js","./node_modules/react-dom/index.js","./node_modules/react-https-redirect/lib/index.js","./node_modules/react-i18n/formatted-message.js","./node_modules/react-i18n/index.js","./node_modules/react-i18n/node_modules/create-react-class/factory.js","./node_modules/react-i18n/node_modules/create-react-class/index.js","./node_modules/react-i18n/translate.js","./node_modules/react-i18next/dist/es/Translation.js","./node_modules/react-i18next/dist/es/context.js","./node_modules/react-i18next/dist/es/useTranslation.js","./node_modules/react-i18next/dist/es/utils.js","./node_modules/react-i18next/dist/es/withTranslation.js","./node_modules/react-native-animatable/createAnimatableComponent.js","./node_modules/react-native-animatable/createAnimation.js","./node_modules/react-native-animatable/definitions/attention-seekers.js","./node_modules/react-native-animatable/definitions/bouncing-entrances.js","./node_modules/react-native-animatable/definitions/bouncing-exits.js","./node_modules/react-native-animatable/definitions/fading-entrances.js","./node_modules/react-native-animatable/definitions/fading-exits.js","./node_modules/react-native-animatable/definitions/flippers.js","./node_modules/react-native-animatable/definitions/lightspeed.js","./node_modules/react-native-animatable/definitions/sliding-entrances.js","./node_modules/react-native-animatable/definitions/sliding-exits.js","./node_modules/react-native-animatable/definitions/zooming-entrances.js","./node_modules/react-native-animatable/definitions/zooming-exits.js","./node_modules/react-native-animatable/easing.js","./node_modules/react-native-animatable/flattenStyle.js","./node_modules/react-native-animatable/getDefaultStyleValue.js","./node_modules/react-native-animatable/getStyleValues.js","./node_modules/react-native-animatable/index.js","./node_modules/react-native-animatable/registry.js","./node_modules/react-native-animatable/wrapStyleTransforms.js","./node_modules/react-native-web/dist/exports/AccessibilityInfo/index.js","./node_modules/react-native-web/dist/exports/ActivityIndicator/index.js","./node_modules/react-native-web/dist/exports/Alert/index.js","./node_modules/react-native-web/dist/exports/Animated/index.js","./node_modules/react-native-web/dist/exports/AppRegistry/AppContainer.js","./node_modules/react-native-web/dist/exports/AppRegistry/index.js","./node_modules/react-native-web/dist/exports/AppRegistry/renderApplication.js","./node_modules/react-native-web/dist/exports/AppState/index.js","./node_modules/react-native-web/dist/exports/Appearance/index.js","./node_modules/react-native-web/dist/exports/BackHandler/index.js","./node_modules/react-native-web/dist/exports/Button/index.js","./node_modules/react-native-web/dist/exports/CheckBox/index.js","./node_modules/react-native-web/dist/exports/Clipboard/index.js","./node_modules/react-native-web/dist/exports/DeviceEventEmitter/index.js","./node_modules/react-native-web/dist/exports/DeviceInfo/index.js","./node_modules/react-native-web/dist/exports/Dimensions/index.js","./node_modules/react-native-web/dist/exports/DrawerLayoutAndroid/index.js","./node_modules/react-native-web/dist/exports/Easing/index.js","./node_modules/react-native-web/dist/exports/FlatList/index.js","./node_modules/react-native-web/dist/exports/I18nManager/index.js","./node_modules/react-native-web/dist/exports/ImageBackground/index.js","./node_modules/react-native-web/dist/exports/Image/index.js","./node_modules/react-native-web/dist/exports/InputAccessoryView/index.js","./node_modules/react-native-web/dist/exports/InteractionManager/index.js","./node_modules/react-native-web/dist/exports/KeyboardAvoidingView/index.js","./node_modules/react-native-web/dist/exports/Keyboard/index.js","./node_modules/react-native-web/dist/exports/LayoutAnimation/index.js","./node_modules/react-native-web/dist/exports/Linking/index.js","./node_modules/react-native-web/dist/exports/LogBox/index.js","./node_modules/react-native-web/dist/exports/Modal/ModalAnimation.js","./node_modules/react-native-web/dist/exports/Modal/ModalContent.js","./node_modules/react-native-web/dist/exports/Modal/ModalFocusTrap.js","./node_modules/react-native-web/dist/exports/Modal/ModalPortal.js","./node_modules/react-native-web/dist/exports/Modal/index.js","./node_modules/react-native-web/dist/exports/NativeEventEmitter/index.js","./node_modules/react-native-web/dist/exports/NativeModules/index.js","./node_modules/react-native-web/dist/exports/PanResponder/index.js","./node_modules/react-native-web/dist/exports/PermissionsAndroid/index.js","./node_modules/react-native-web/dist/exports/Picker/PickerItem.js","./node_modules/react-native-web/dist/exports/Picker/index.js","./node_modules/react-native-web/dist/exports/PixelRatio/index.js","./node_modules/react-native-web/dist/exports/Platform/index.js","./node_modules/react-native-web/dist/exports/Pressable/index.js","./node_modules/react-native-web/dist/exports/ProgressBar/index.js","./node_modules/react-native-web/dist/exports/RefreshControl/index.js","./node_modules/react-native-web/dist/exports/SafeAreaView/index.js","./node_modules/react-native-web/dist/exports/ScrollView/ScrollViewBase.js","./node_modules/react-native-web/dist/exports/ScrollView/index.js","./node_modules/react-native-web/dist/exports/SectionList/index.js","./node_modules/react-native-web/dist/exports/Settings/index.js","./node_modules/react-native-web/dist/exports/Share/index.js","./node_modules/react-native-web/dist/exports/StatusBar/index.js","./node_modules/react-native-web/dist/exports/StyleSheet/compiler/createReactDOMStyle.js","./node_modules/react-native-web/dist/exports/StyleSheet/compiler/hash.js","./node_modules/react-native-web/dist/exports/StyleSheet/compiler/hyphenateStyleName.js","./node_modules/react-native-web/dist/exports/StyleSheet/compiler/index.js","./node_modules/react-native-web/dist/exports/StyleSheet/compiler/normalizeColor.js","./node_modules/react-native-web/dist/exports/StyleSheet/compiler/normalizeValueWithProperty.js","./node_modules/react-native-web/dist/exports/StyleSheet/compiler/unitlessNumbers.js","./node_modules/react-native-web/dist/exports/StyleSheet/dom/createCSSStyleSheet.js","./node_modules/react-native-web/dist/exports/StyleSheet/dom/createOrderedCSSStyleSheet.js","./node_modules/react-native-web/dist/exports/StyleSheet/dom/index.js","./node_modules/react-native-web/dist/exports/StyleSheet/index.js","./node_modules/react-native-web/dist/exports/StyleSheet/preprocess.js","./node_modules/react-native-web/dist/exports/Switch/index.js","./node_modules/react-native-web/dist/exports/Systrace/index.js","./node_modules/react-native-web/dist/exports/TVEventHandler/index.js","./node_modules/react-native-web/dist/exports/TextInput/index.js","./node_modules/react-native-web/dist/exports/Text/TextAncestorContext.js","./node_modules/react-native-web/dist/exports/Text/index.js","./node_modules/react-native-web/dist/exports/ToastAndroid/index.js","./node_modules/react-native-web/dist/exports/TouchableHighlight/index.js","./node_modules/react-native-web/dist/exports/TouchableNativeFeedback/index.js","./node_modules/react-native-web/dist/exports/TouchableOpacity/index.js","./node_modules/react-native-web/dist/exports/TouchableWithoutFeedback/index.js","./node_modules/react-native-web/dist/exports/Touchable/BoundingDimensions.js","./node_modules/react-native-web/dist/exports/Touchable/Position.js","./node_modules/react-native-web/dist/exports/Touchable/index.js","./node_modules/react-native-web/dist/exports/UIManager/index.js","./node_modules/react-native-web/dist/exports/Vibration/index.js","./node_modules/react-native-web/dist/exports/View/index.js","./node_modules/react-native-web/dist/exports/VirtualizedList/index.js","./node_modules/react-native-web/dist/exports/YellowBox/index.js","./node_modules/react-native-web/dist/exports/createElement/index.js","./node_modules/react-native-web/dist/exports/findNodeHandle/index.js","./node_modules/react-native-web/dist/exports/processColor/index.js","./node_modules/react-native-web/dist/exports/render/index.js","./node_modules/react-native-web/dist/exports/unmountComponentAtNode/index.js","./node_modules/react-native-web/dist/exports/useColorScheme/index.js","./node_modules/react-native-web/dist/exports/useWindowDimensions/index.js","./node_modules/react-native-web/dist/modules/AccessibilityUtil/index.js","./node_modules/react-native-web/dist/modules/AccessibilityUtil/isDisabled.js","./node_modules/react-native-web/dist/modules/AccessibilityUtil/propsToAccessibilityComponent.js","./node_modules/react-native-web/dist/modules/AccessibilityUtil/propsToAriaRole.js","./node_modules/react-native-web/dist/modules/AssetRegistry/index.js","./node_modules/react-native-web/dist/modules/ImageLoader/index.js","./node_modules/react-native-web/dist/modules/ScrollResponder/index.js","./node_modules/react-native-web/dist/modules/TextInputState/index.js","./node_modules/react-native-web/dist/modules/UnimplementedView/index.js","./node_modules/react-native-web/dist/modules/canUseDom/index.js","./node_modules/react-native-web/dist/modules/createDOMProps/index.js","./node_modules/react-native-web/dist/modules/createEventHandle/index.js","./node_modules/react-native-web/dist/modules/dismissKeyboard/index.js","./node_modules/react-native-web/dist/modules/forwardedProps/index.js","./node_modules/react-native-web/dist/modules/getBoundingClientRect/index.js","./node_modules/react-native-web/dist/modules/isSelectionValid/index.js","./node_modules/react-native-web/dist/modules/isWebColor/index.js","./node_modules/react-native-web/dist/modules/mergeRefs/index.js","./node_modules/react-native-web/dist/modules/modality/index.js","./node_modules/react-native-web/dist/modules/multiplyStyleLengthValue/index.js","./node_modules/react-native-web/dist/modules/pick/index.js","./node_modules/react-native-web/dist/modules/prefixStyles/index.js","./node_modules/react-native-web/dist/modules/prefixStyles/static.js","./node_modules/react-native-web/dist/modules/requestIdleCallback/index.js","./node_modules/react-native-web/dist/modules/setValueForStyles/dangerousStyleValue.js","./node_modules/react-native-web/dist/modules/setValueForStyles/index.js","./node_modules/react-native-web/dist/modules/unitlessNumbers/index.js","./node_modules/react-native-web/dist/modules/useElementLayout/index.js","./node_modules/react-native-web/dist/modules/useEvent/index.js","./node_modules/react-native-web/dist/modules/useHover/index.js","./node_modules/react-native-web/dist/modules/useLayoutEffect/index.js","./node_modules/react-native-web/dist/modules/useLocale/index.js","./node_modules/react-native-web/dist/modules/useLocale/isLocaleRTL.js","./node_modules/react-native-web/dist/modules/useMergeRefs/index.js","./node_modules/react-native-web/dist/modules/usePlatformMethods/index.js","./node_modules/react-native-web/dist/modules/usePressEvents/PressResponder.js","./node_modules/react-native-web/dist/modules/usePressEvents/index.js","./node_modules/react-native-web/dist/modules/useResponderEvents/ResponderEventTypes.js","./node_modules/react-native-web/dist/modules/useResponderEvents/ResponderSystem.js","./node_modules/react-native-web/dist/modules/useResponderEvents/ResponderTouchHistoryStore.js","./node_modules/react-native-web/dist/modules/useResponderEvents/createResponderEvent.js","./node_modules/react-native-web/dist/modules/useResponderEvents/index.js","./node_modules/react-native-web/dist/modules/useResponderEvents/utils.js","./node_modules/react-native-web/dist/modules/useStable/index.js","./node_modules/react-native-web/dist/vendor/react-native/Animated/Animated.js","./node_modules/react-native-web/dist/vendor/react-native/Animated/AnimatedEvent.js","./node_modules/react-native-web/dist/vendor/react-native/Animated/AnimatedImplementation.js","./node_modules/react-native-web/dist/vendor/react-native/Animated/AnimatedMock.js","./node_modules/react-native-web/dist/vendor/react-native/Animated/Easing.js","./node_modules/react-native-web/dist/vendor/react-native/Animated/NativeAnimatedHelper.js","./node_modules/react-native-web/dist/vendor/react-native/Animated/NativeAnimatedModule.js","./node_modules/react-native-web/dist/vendor/react-native/Animated/NativeAnimatedTurboModule.js","./node_modules/react-native-web/dist/vendor/react-native/Animated/SpringConfig.js","./node_modules/react-native-web/dist/vendor/react-native/Animated/animations/Animation.js","./node_modules/react-native-web/dist/vendor/react-native/Animated/animations/DecayAnimation.js","./node_modules/react-native-web/dist/vendor/react-native/Animated/animations/SpringAnimation.js","./node_modules/react-native-web/dist/vendor/react-native/Animated/animations/TimingAnimation.js","./node_modules/react-native-web/dist/vendor/react-native/Animated/bezier.js","./node_modules/react-native-web/dist/vendor/react-native/Animated/components/AnimatedFlatList.js","./node_modules/react-native-web/dist/vendor/react-native/Animated/components/AnimatedImage.js","./node_modules/react-native-web/dist/vendor/react-native/Animated/components/AnimatedScrollView.js","./node_modules/react-native-web/dist/vendor/react-native/Animated/components/AnimatedSectionList.js","./node_modules/react-native-web/dist/vendor/react-native/Animated/components/AnimatedText.js","./node_modules/react-native-web/dist/vendor/react-native/Animated/components/AnimatedView.js","./node_modules/react-native-web/dist/vendor/react-native/Animated/createAnimatedComponent.js","./node_modules/react-native-web/dist/vendor/react-native/Animated/nodes/AnimatedAddition.js","./node_modules/react-native-web/dist/vendor/react-native/Animated/nodes/AnimatedDiffClamp.js","./node_modules/react-native-web/dist/vendor/react-native/Animated/nodes/AnimatedDivision.js","./node_modules/react-native-web/dist/vendor/react-native/Animated/nodes/AnimatedInterpolation.js","./node_modules/react-native-web/dist/vendor/react-native/Animated/nodes/AnimatedModulo.js","./node_modules/react-native-web/dist/vendor/react-native/Animated/nodes/AnimatedMultiplication.js","./node_modules/react-native-web/dist/vendor/react-native/Animated/nodes/AnimatedNode.js","./node_modules/react-native-web/dist/vendor/react-native/Animated/nodes/AnimatedProps.js","./node_modules/react-native-web/dist/vendor/react-native/Animated/nodes/AnimatedStyle.js","./node_modules/react-native-web/dist/vendor/react-native/Animated/nodes/AnimatedSubtraction.js","./node_modules/react-native-web/dist/vendor/react-native/Animated/nodes/AnimatedTracking.js","./node_modules/react-native-web/dist/vendor/react-native/Animated/nodes/AnimatedTransform.js","./node_modules/react-native-web/dist/vendor/react-native/Animated/nodes/AnimatedValue.js","./node_modules/react-native-web/dist/vendor/react-native/Animated/nodes/AnimatedValueXY.js","./node_modules/react-native-web/dist/vendor/react-native/Animated/nodes/AnimatedWithChildren.js","./node_modules/react-native-web/dist/vendor/react-native/Batchinator/index.js","./node_modules/react-native-web/dist/vendor/react-native/FillRateHelper/index.js","./node_modules/react-native-web/dist/vendor/react-native/FlatList/index.js","./node_modules/react-native-web/dist/vendor/react-native/LayoutAnimation/index.js","./node_modules/react-native-web/dist/vendor/react-native/NativeEventEmitter/RCTDeviceEventEmitter.js","./node_modules/react-native-web/dist/vendor/react-native/NativeEventEmitter/index.js","./node_modules/react-native-web/dist/vendor/react-native/PanResponder/index.js","./node_modules/react-native-web/dist/vendor/react-native/PooledClass/index.js","./node_modules/react-native-web/dist/vendor/react-native/SectionList/index.js","./node_modules/react-native-web/dist/vendor/react-native/TouchHistoryMath/index.js","./node_modules/react-native-web/dist/vendor/react-native/TurboModule/TurboModuleRegistry.js","./node_modules/react-native-web/dist/vendor/react-native/Utilities/setAndForwardRef.js","./node_modules/react-native-web/dist/vendor/react-native/ViewabilityHelper/index.js","./node_modules/react-native-web/dist/vendor/react-native/VirtualizeUtils/index.js","./node_modules/react-native-web/dist/vendor/react-native/VirtualizedList/VirtualizedListContext.js","./node_modules/react-native-web/dist/vendor/react-native/VirtualizedList/index.js","./node_modules/react-native-web/dist/vendor/react-native/VirtualizedSectionList/index.js","./node_modules/react-native-web/dist/vendor/react-native/deepDiffer/index.js","./node_modules/react-native-web/dist/vendor/react-native/emitter/EventEmitter.js","./node_modules/react-native-web/dist/vendor/react-native/emitter/_EmitterSubscription.js","./node_modules/react-native-web/dist/vendor/react-native/emitter/_EventEmitter.js","./node_modules/react-native-web/dist/vendor/react-native/emitter/_EventSubscription.js","./node_modules/react-native-web/dist/vendor/react-native/emitter/_EventSubscriptionVendor.js","./node_modules/react-native-web/dist/vendor/react-native/infoLog/index.js","./node_modules/react-native-web/node_modules/fbjs/lib/emptyFunction.js","./node_modules/react-native-web/node_modules/fbjs/lib/invariant.js","./node_modules/react-native-web/node_modules/fbjs/lib/warning.js","./node_modules/react-redux/es/components/Provider.js","./node_modules/react-redux/es/components/connectAdvanced.js","./node_modules/react-redux/es/connect/connect.js","./node_modules/react-redux/es/connect/mapDispatchToProps.js","./node_modules/react-redux/es/connect/mapStateToProps.js","./node_modules/react-redux/es/connect/mergeProps.js","./node_modules/react-redux/es/connect/selectorFactory.js","./node_modules/react-redux/es/connect/wrapMapToProps.js","./node_modules/react-redux/es/utils/PropTypes.js","./node_modules/react-redux/es/utils/Subscription.js","./node_modules/react-redux/es/utils/shallowEqual.js","./node_modules/react-redux/node_modules/react-is/cjs/react-is.production.min.js","./node_modules/react-redux/node_modules/react-is/index.js","./node_modules/react-router-dom/es/BrowserRouter.js","./node_modules/react-router-dom/es/Link.js","./node_modules/react-router-dom/es/NavLink.js","./node_modules/react-router-dom/es/Route.js","./node_modules/react-router-dom/es/Router.js","./node_modules/react-router-dom/es/Switch.js","./node_modules/react-router/es/Route.js","./node_modules/react-router/es/Router.js","./node_modules/react-router/es/Switch.js","./node_modules/react-router/es/matchPath.js","./node_modules/react-router/node_modules/isarray/index.js","./node_modules/react-router/node_modules/path-to-regexp/index.js","./node_modules/react-toastify/esm/react-toastify.js","./node_modules/react-transition-group/esm/Transition.js","./node_modules/react-transition-group/esm/TransitionGroup.js","./node_modules/react-transition-group/esm/TransitionGroupContext.js","./node_modules/react-transition-group/esm/config.js","./node_modules/react-transition-group/esm/utils/ChildMapping.js","./node_modules/react-transition-group/esm/utils/reflow.js","./node_modules/react/cjs/react.production.min.js","./node_modules/react/index.js","./node_modules/redux-thunk/es/index.js","./node_modules/redux/es/applyMiddleware.js","./node_modules/redux/es/bindActionCreators.js","./node_modules/redux/es/combineReducers.js","./node_modules/redux/es/compose.js","./node_modules/redux/es/createStore.js","./node_modules/reduxsauce/dist/reduxsauce.js","./node_modules/resolve-pathname/esm/resolve-pathname.js","./node_modules/scheduler/cjs/scheduler.production.min.js","./node_modules/scheduler/index.js","./node_modules/seamless-immutable/seamless-immutable.development.js","./node_modules/simple-swizzle/index.js","./node_modules/simple-swizzle/node_modules/is-arrayish/index.js","./node_modules/strtok3/lib/AbstractTokenizer.js","./node_modules/strtok3/lib/BufferTokenizer.js","./node_modules/strtok3/lib/ReadStreamTokenizer.js","./node_modules/strtok3/lib/core.js","./node_modules/styleq/dist/styleq.js","./node_modules/styleq/dist/transform-localize-style.js","./node_modules/styleq/transform-localize-style.js","./node_modules/symbol-observable/es/index.js","./node_modules/symbol-observable/es/ponyfill.js","./node_modules/tiny-invariant/dist/esm/tiny-invariant.js","./node_modules/tiny-warning/dist/tiny-warning.esm.js","./node_modules/token-types/lib/index.js","./node_modules/tslib/tslib.es6.js","./node_modules/uint8array-extras/index.js","./node_modules/uuid/dist/esm-browser/regex.js","./node_modules/uuid/dist/esm-browser/rng.js","./node_modules/uuid/dist/esm-browser/stringify.js","./node_modules/uuid/dist/esm-browser/v4.js","./node_modules/uuid/dist/esm-browser/validate.js","./node_modules/void-elements/index.js","./node_modules/warning/warning.js","./node_modules/wink-tokenizer/node_modules/emoji-regex/index.js","./node_modules/wink-tokenizer/src/eng-contractions.js","./node_modules/wink-tokenizer/src/wink-tokenizer.js","./src/App.js","./src/UIDs.js","./src/cache/LRU.js","./src/cache/index.js","./src/components/base/BaseComponent.js","./src/components/base/BaseScreen.js","./src/components/base/BaseView.js","./src/components/base/ErrorBoundary.js","./src/components/ui/MessageBox.js","./src/config/AppConfig.js","./src/config/Constants.js","./src/i18n.js","./src/index.js","./src/mobile/UIDs.js","./src/mobile/config/AppConfig.js","./src/mobile/config/Constants.js","./src/mobile/mockLib/react-native-web-dimension-helper.js","./src/mobile/redux/actionTypes/screens/account/LoginActionTypes.js","./src/mobile/redux/actionTypes/screens/me/ProfileSettingActionTypes.js","./src/mobile/screens/course/units/UnitStyle.js","./src/mobile/theme/colors.js","./src/mobile/theme/userStyle.js","./src/mobile/utils/CustomAnimations.js","./src/mobile/utils/EventEmitter.js","./src/mobile/utils/RegionServerManager.js","./src/mobile/utils/RegionServerTester.js","./src/mobile/utils/StorageEngine.js","./src/navigation/NavigateActionTypes.js","./src/navigation/NavigationService.js","./src/navigation/Routes.js","./src/redux/AsyncActionReducers.js","./src/redux/Paradux.js","./src/redux/ReducerRegister.js","./src/redux/ScreensRedux.js","./src/redux/SessionRedux.js","./src/redux/TaskRedux.js","./src/redux/actionTypes/SessionActionTypes.js","./src/redux/actionTypes/TaskActionTypes.js","./src/redux/actionTypes/layouts/AdminActionTypes.js","./src/redux/actionTypes/screens/DefaultActionTypes.js","./src/redux/actionTypes/screens/account/LoginActionTypes.js","./src/redux/actionTypes/screens/account/RegisterPartnerActionTypes.js","./src/redux/actionTypes/screens/account/TeacherLoginActionTypes.js","./src/redux/actionTypes/screens/account/UserLoginActionTypes.js","./src/redux/actionTypes/screens/account/UserRegisterActionTypes.js","./src/redux/actionTypes/screens/admin/ChooseSchoolActionTypes.js","./src/redux/actionTypes/screens/admin/ProfileActionTypes.js","./src/redux/index.js","./src/redux/middleware/ScreenTracking.js","./src/redux/screens/DefaultRedux.js","./src/screens/DefaultScreen.js","./src/serviceWorker.js","./src/services/ApiService.js","./src/services/BackgroundTaskService.js","./src/services/screens/DefaultService.js","./src/services/screens/admin/unit/EditService.js","./src/utils/Analytics.js","./src/utils/DebugLogger.js","./src/utils/EnglishTokenCodec.js","./src/utils/ErrorHelper.js","./src/utils/Helper.js","./src/utils/MarkTextHelper.js","./src/utils/SessionHelper.js","./src/utils/StorageEngine.js","./src/utils/TaskHelper.js","./src/utils/dayjs.js","./src/utils/pinyin-split/index.js"],"sourcesContent":["/*\r\n * bignumber.js v9.1.1\r\n * A JavaScript library for arbitrary-precision arithmetic.\r\n * https://github.com/MikeMcl/bignumber.js\r\n * Copyright (c) 2022 Michael Mclaughlin \r\n * MIT Licensed.\r\n *\r\n * BigNumber.prototype methods | BigNumber methods\r\n * |\r\n * absoluteValue abs | clone\r\n * comparedTo | config set\r\n * decimalPlaces dp | DECIMAL_PLACES\r\n * dividedBy div | ROUNDING_MODE\r\n * dividedToIntegerBy idiv | EXPONENTIAL_AT\r\n * exponentiatedBy pow | RANGE\r\n * integerValue | CRYPTO\r\n * isEqualTo eq | MODULO_MODE\r\n * isFinite | POW_PRECISION\r\n * isGreaterThan gt | FORMAT\r\n * isGreaterThanOrEqualTo gte | ALPHABET\r\n * isInteger | isBigNumber\r\n * isLessThan lt | maximum max\r\n * isLessThanOrEqualTo lte | minimum min\r\n * isNaN | random\r\n * isNegative | sum\r\n * isPositive |\r\n * isZero |\r\n * minus |\r\n * modulo mod |\r\n * multipliedBy times |\r\n * negated |\r\n * plus |\r\n * precision sd |\r\n * shiftedBy |\r\n * squareRoot sqrt |\r\n * toExponential |\r\n * toFixed |\r\n * toFormat |\r\n * toFraction |\r\n * toJSON |\r\n * toNumber |\r\n * toPrecision |\r\n * toString |\r\n * valueOf |\r\n *\r\n */\r\n\r\n\r\nvar\r\n isNumeric = /^-?(?:\\d+(?:\\.\\d*)?|\\.\\d+)(?:e[+-]?\\d+)?$/i,\r\n mathceil = Math.ceil,\r\n mathfloor = Math.floor,\r\n\r\n bignumberError = '[BigNumber Error] ',\r\n tooManyDigits = bignumberError + 'Number primitive has more than 15 significant digits: ',\r\n\r\n BASE = 1e14,\r\n LOG_BASE = 14,\r\n MAX_SAFE_INTEGER = 0x1fffffffffffff, // 2^53 - 1\r\n // MAX_INT32 = 0x7fffffff, // 2^31 - 1\r\n POWS_TEN = [1, 10, 100, 1e3, 1e4, 1e5, 1e6, 1e7, 1e8, 1e9, 1e10, 1e11, 1e12, 1e13],\r\n SQRT_BASE = 1e7,\r\n\r\n // EDITABLE\r\n // The limit on the value of DECIMAL_PLACES, TO_EXP_NEG, TO_EXP_POS, MIN_EXP, MAX_EXP, and\r\n // the arguments to toExponential, toFixed, toFormat, and toPrecision.\r\n MAX = 1E9; // 0 to MAX_INT32\r\n\r\n\r\n/*\r\n * Create and return a BigNumber constructor.\r\n */\r\nfunction clone(configObject) {\r\n var div, convertBase, parseNumeric,\r\n P = BigNumber.prototype = { constructor: BigNumber, toString: null, valueOf: null },\r\n ONE = new BigNumber(1),\r\n\r\n\r\n //----------------------------- EDITABLE CONFIG DEFAULTS -------------------------------\r\n\r\n\r\n // The default values below must be integers within the inclusive ranges stated.\r\n // The values can also be changed at run-time using BigNumber.set.\r\n\r\n // The maximum number of decimal places for operations involving division.\r\n DECIMAL_PLACES = 20, // 0 to MAX\r\n\r\n // The rounding mode used when rounding to the above decimal places, and when using\r\n // toExponential, toFixed, toFormat and toPrecision, and round (default value).\r\n // UP 0 Away from zero.\r\n // DOWN 1 Towards zero.\r\n // CEIL 2 Towards +Infinity.\r\n // FLOOR 3 Towards -Infinity.\r\n // HALF_UP 4 Towards nearest neighbour. If equidistant, up.\r\n // HALF_DOWN 5 Towards nearest neighbour. If equidistant, down.\r\n // HALF_EVEN 6 Towards nearest neighbour. If equidistant, towards even neighbour.\r\n // HALF_CEIL 7 Towards nearest neighbour. If equidistant, towards +Infinity.\r\n // HALF_FLOOR 8 Towards nearest neighbour. If equidistant, towards -Infinity.\r\n ROUNDING_MODE = 4, // 0 to 8\r\n\r\n // EXPONENTIAL_AT : [TO_EXP_NEG , TO_EXP_POS]\r\n\r\n // The exponent value at and beneath which toString returns exponential notation.\r\n // Number type: -7\r\n TO_EXP_NEG = -7, // 0 to -MAX\r\n\r\n // The exponent value at and above which toString returns exponential notation.\r\n // Number type: 21\r\n TO_EXP_POS = 21, // 0 to MAX\r\n\r\n // RANGE : [MIN_EXP, MAX_EXP]\r\n\r\n // The minimum exponent value, beneath which underflow to zero occurs.\r\n // Number type: -324 (5e-324)\r\n MIN_EXP = -1e7, // -1 to -MAX\r\n\r\n // The maximum exponent value, above which overflow to Infinity occurs.\r\n // Number type: 308 (1.7976931348623157e+308)\r\n // For MAX_EXP > 1e7, e.g. new BigNumber('1e100000000').plus(1) may be slow.\r\n MAX_EXP = 1e7, // 1 to MAX\r\n\r\n // Whether to use cryptographically-secure random number generation, if available.\r\n CRYPTO = false, // true or false\r\n\r\n // The modulo mode used when calculating the modulus: a mod n.\r\n // The quotient (q = a / n) is calculated according to the corresponding rounding mode.\r\n // The remainder (r) is calculated as: r = a - n * q.\r\n //\r\n // UP 0 The remainder is positive if the dividend is negative, else is negative.\r\n // DOWN 1 The remainder has the same sign as the dividend.\r\n // This modulo mode is commonly known as 'truncated division' and is\r\n // equivalent to (a % n) in JavaScript.\r\n // FLOOR 3 The remainder has the same sign as the divisor (Python %).\r\n // HALF_EVEN 6 This modulo mode implements the IEEE 754 remainder function.\r\n // EUCLID 9 Euclidian division. q = sign(n) * floor(a / abs(n)).\r\n // The remainder is always positive.\r\n //\r\n // The truncated division, floored division, Euclidian division and IEEE 754 remainder\r\n // modes are commonly used for the modulus operation.\r\n // Although the other rounding modes can also be used, they may not give useful results.\r\n MODULO_MODE = 1, // 0 to 9\r\n\r\n // The maximum number of significant digits of the result of the exponentiatedBy operation.\r\n // If POW_PRECISION is 0, there will be unlimited significant digits.\r\n POW_PRECISION = 0, // 0 to MAX\r\n\r\n // The format specification used by the BigNumber.prototype.toFormat method.\r\n FORMAT = {\r\n prefix: '',\r\n groupSize: 3,\r\n secondaryGroupSize: 0,\r\n groupSeparator: ',',\r\n decimalSeparator: '.',\r\n fractionGroupSize: 0,\r\n fractionGroupSeparator: '\\xA0', // non-breaking space\r\n suffix: ''\r\n },\r\n\r\n // The alphabet used for base conversion. It must be at least 2 characters long, with no '+',\r\n // '-', '.', whitespace, or repeated character.\r\n // '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ$_'\r\n ALPHABET = '0123456789abcdefghijklmnopqrstuvwxyz',\r\n alphabetHasNormalDecimalDigits = true;\r\n\r\n\r\n //------------------------------------------------------------------------------------------\r\n\r\n\r\n // CONSTRUCTOR\r\n\r\n\r\n /*\r\n * The BigNumber constructor and exported function.\r\n * Create and return a new instance of a BigNumber object.\r\n *\r\n * v {number|string|BigNumber} A numeric value.\r\n * [b] {number} The base of v. Integer, 2 to ALPHABET.length inclusive.\r\n */\r\n function BigNumber(v, b) {\r\n var alphabet, c, caseChanged, e, i, isNum, len, str,\r\n x = this;\r\n\r\n // Enable constructor call without `new`.\r\n if (!(x instanceof BigNumber)) return new BigNumber(v, b);\r\n\r\n if (b == null) {\r\n\r\n if (v && v._isBigNumber === true) {\r\n x.s = v.s;\r\n\r\n if (!v.c || v.e > MAX_EXP) {\r\n x.c = x.e = null;\r\n } else if (v.e < MIN_EXP) {\r\n x.c = [x.e = 0];\r\n } else {\r\n x.e = v.e;\r\n x.c = v.c.slice();\r\n }\r\n\r\n return;\r\n }\r\n\r\n if ((isNum = typeof v == 'number') && v * 0 == 0) {\r\n\r\n // Use `1 / n` to handle minus zero also.\r\n x.s = 1 / v < 0 ? (v = -v, -1) : 1;\r\n\r\n // Fast path for integers, where n < 2147483648 (2**31).\r\n if (v === ~~v) {\r\n for (e = 0, i = v; i >= 10; i /= 10, e++);\r\n\r\n if (e > MAX_EXP) {\r\n x.c = x.e = null;\r\n } else {\r\n x.e = e;\r\n x.c = [v];\r\n }\r\n\r\n return;\r\n }\r\n\r\n str = String(v);\r\n } else {\r\n\r\n if (!isNumeric.test(str = String(v))) return parseNumeric(x, str, isNum);\r\n\r\n x.s = str.charCodeAt(0) == 45 ? (str = str.slice(1), -1) : 1;\r\n }\r\n\r\n // Decimal point?\r\n if ((e = str.indexOf('.')) > -1) str = str.replace('.', '');\r\n\r\n // Exponential form?\r\n if ((i = str.search(/e/i)) > 0) {\r\n\r\n // Determine exponent.\r\n if (e < 0) e = i;\r\n e += +str.slice(i + 1);\r\n str = str.substring(0, i);\r\n } else if (e < 0) {\r\n\r\n // Integer.\r\n e = str.length;\r\n }\r\n\r\n } else {\r\n\r\n // '[BigNumber Error] Base {not a primitive number|not an integer|out of range}: {b}'\r\n intCheck(b, 2, ALPHABET.length, 'Base');\r\n\r\n // Allow exponential notation to be used with base 10 argument, while\r\n // also rounding to DECIMAL_PLACES as with other bases.\r\n if (b == 10 && alphabetHasNormalDecimalDigits) {\r\n x = new BigNumber(v);\r\n return round(x, DECIMAL_PLACES + x.e + 1, ROUNDING_MODE);\r\n }\r\n\r\n str = String(v);\r\n\r\n if (isNum = typeof v == 'number') {\r\n\r\n // Avoid potential interpretation of Infinity and NaN as base 44+ values.\r\n if (v * 0 != 0) return parseNumeric(x, str, isNum, b);\r\n\r\n x.s = 1 / v < 0 ? (str = str.slice(1), -1) : 1;\r\n\r\n // '[BigNumber Error] Number primitive has more than 15 significant digits: {n}'\r\n if (BigNumber.DEBUG && str.replace(/^0\\.0*|\\./, '').length > 15) {\r\n throw Error\r\n (tooManyDigits + v);\r\n }\r\n } else {\r\n x.s = str.charCodeAt(0) === 45 ? (str = str.slice(1), -1) : 1;\r\n }\r\n\r\n alphabet = ALPHABET.slice(0, b);\r\n e = i = 0;\r\n\r\n // Check that str is a valid base b number.\r\n // Don't use RegExp, so alphabet can contain special characters.\r\n for (len = str.length; i < len; i++) {\r\n if (alphabet.indexOf(c = str.charAt(i)) < 0) {\r\n if (c == '.') {\r\n\r\n // If '.' is not the first character and it has not be found before.\r\n if (i > e) {\r\n e = len;\r\n continue;\r\n }\r\n } else if (!caseChanged) {\r\n\r\n // Allow e.g. hexadecimal 'FF' as well as 'ff'.\r\n if (str == str.toUpperCase() && (str = str.toLowerCase()) ||\r\n str == str.toLowerCase() && (str = str.toUpperCase())) {\r\n caseChanged = true;\r\n i = -1;\r\n e = 0;\r\n continue;\r\n }\r\n }\r\n\r\n return parseNumeric(x, String(v), isNum, b);\r\n }\r\n }\r\n\r\n // Prevent later check for length on converted number.\r\n isNum = false;\r\n str = convertBase(str, b, 10, x.s);\r\n\r\n // Decimal point?\r\n if ((e = str.indexOf('.')) > -1) str = str.replace('.', '');\r\n else e = str.length;\r\n }\r\n\r\n // Determine leading zeros.\r\n for (i = 0; str.charCodeAt(i) === 48; i++);\r\n\r\n // Determine trailing zeros.\r\n for (len = str.length; str.charCodeAt(--len) === 48;);\r\n\r\n if (str = str.slice(i, ++len)) {\r\n len -= i;\r\n\r\n // '[BigNumber Error] Number primitive has more than 15 significant digits: {n}'\r\n if (isNum && BigNumber.DEBUG &&\r\n len > 15 && (v > MAX_SAFE_INTEGER || v !== mathfloor(v))) {\r\n throw Error\r\n (tooManyDigits + (x.s * v));\r\n }\r\n\r\n // Overflow?\r\n if ((e = e - i - 1) > MAX_EXP) {\r\n\r\n // Infinity.\r\n x.c = x.e = null;\r\n\r\n // Underflow?\r\n } else if (e < MIN_EXP) {\r\n\r\n // Zero.\r\n x.c = [x.e = 0];\r\n } else {\r\n x.e = e;\r\n x.c = [];\r\n\r\n // Transform base\r\n\r\n // e is the base 10 exponent.\r\n // i is where to slice str to get the first element of the coefficient array.\r\n i = (e + 1) % LOG_BASE;\r\n if (e < 0) i += LOG_BASE; // i < 1\r\n\r\n if (i < len) {\r\n if (i) x.c.push(+str.slice(0, i));\r\n\r\n for (len -= LOG_BASE; i < len;) {\r\n x.c.push(+str.slice(i, i += LOG_BASE));\r\n }\r\n\r\n i = LOG_BASE - (str = str.slice(i)).length;\r\n } else {\r\n i -= len;\r\n }\r\n\r\n for (; i--; str += '0');\r\n x.c.push(+str);\r\n }\r\n } else {\r\n\r\n // Zero.\r\n x.c = [x.e = 0];\r\n }\r\n }\r\n\r\n\r\n // CONSTRUCTOR PROPERTIES\r\n\r\n\r\n BigNumber.clone = clone;\r\n\r\n BigNumber.ROUND_UP = 0;\r\n BigNumber.ROUND_DOWN = 1;\r\n BigNumber.ROUND_CEIL = 2;\r\n BigNumber.ROUND_FLOOR = 3;\r\n BigNumber.ROUND_HALF_UP = 4;\r\n BigNumber.ROUND_HALF_DOWN = 5;\r\n BigNumber.ROUND_HALF_EVEN = 6;\r\n BigNumber.ROUND_HALF_CEIL = 7;\r\n BigNumber.ROUND_HALF_FLOOR = 8;\r\n BigNumber.EUCLID = 9;\r\n\r\n\r\n /*\r\n * Configure infrequently-changing library-wide settings.\r\n *\r\n * Accept an object with the following optional properties (if the value of a property is\r\n * a number, it must be an integer within the inclusive range stated):\r\n *\r\n * DECIMAL_PLACES {number} 0 to MAX\r\n * ROUNDING_MODE {number} 0 to 8\r\n * EXPONENTIAL_AT {number|number[]} -MAX to MAX or [-MAX to 0, 0 to MAX]\r\n * RANGE {number|number[]} -MAX to MAX (not zero) or [-MAX to -1, 1 to MAX]\r\n * CRYPTO {boolean} true or false\r\n * MODULO_MODE {number} 0 to 9\r\n * POW_PRECISION {number} 0 to MAX\r\n * ALPHABET {string} A string of two or more unique characters which does\r\n * not contain '.'.\r\n * FORMAT {object} An object with some of the following properties:\r\n * prefix {string}\r\n * groupSize {number}\r\n * secondaryGroupSize {number}\r\n * groupSeparator {string}\r\n * decimalSeparator {string}\r\n * fractionGroupSize {number}\r\n * fractionGroupSeparator {string}\r\n * suffix {string}\r\n *\r\n * (The values assigned to the above FORMAT object properties are not checked for validity.)\r\n *\r\n * E.g.\r\n * BigNumber.config({ DECIMAL_PLACES : 20, ROUNDING_MODE : 4 })\r\n *\r\n * Ignore properties/parameters set to null or undefined, except for ALPHABET.\r\n *\r\n * Return an object with the properties current values.\r\n */\r\n BigNumber.config = BigNumber.set = function (obj) {\r\n var p, v;\r\n\r\n if (obj != null) {\r\n\r\n if (typeof obj == 'object') {\r\n\r\n // DECIMAL_PLACES {number} Integer, 0 to MAX inclusive.\r\n // '[BigNumber Error] DECIMAL_PLACES {not a primitive number|not an integer|out of range}: {v}'\r\n if (obj.hasOwnProperty(p = 'DECIMAL_PLACES')) {\r\n v = obj[p];\r\n intCheck(v, 0, MAX, p);\r\n DECIMAL_PLACES = v;\r\n }\r\n\r\n // ROUNDING_MODE {number} Integer, 0 to 8 inclusive.\r\n // '[BigNumber Error] ROUNDING_MODE {not a primitive number|not an integer|out of range}: {v}'\r\n if (obj.hasOwnProperty(p = 'ROUNDING_MODE')) {\r\n v = obj[p];\r\n intCheck(v, 0, 8, p);\r\n ROUNDING_MODE = v;\r\n }\r\n\r\n // EXPONENTIAL_AT {number|number[]}\r\n // Integer, -MAX to MAX inclusive or\r\n // [integer -MAX to 0 inclusive, 0 to MAX inclusive].\r\n // '[BigNumber Error] EXPONENTIAL_AT {not a primitive number|not an integer|out of range}: {v}'\r\n if (obj.hasOwnProperty(p = 'EXPONENTIAL_AT')) {\r\n v = obj[p];\r\n if (v && v.pop) {\r\n intCheck(v[0], -MAX, 0, p);\r\n intCheck(v[1], 0, MAX, p);\r\n TO_EXP_NEG = v[0];\r\n TO_EXP_POS = v[1];\r\n } else {\r\n intCheck(v, -MAX, MAX, p);\r\n TO_EXP_NEG = -(TO_EXP_POS = v < 0 ? -v : v);\r\n }\r\n }\r\n\r\n // RANGE {number|number[]} Non-zero integer, -MAX to MAX inclusive or\r\n // [integer -MAX to -1 inclusive, integer 1 to MAX inclusive].\r\n // '[BigNumber Error] RANGE {not a primitive number|not an integer|out of range|cannot be zero}: {v}'\r\n if (obj.hasOwnProperty(p = 'RANGE')) {\r\n v = obj[p];\r\n if (v && v.pop) {\r\n intCheck(v[0], -MAX, -1, p);\r\n intCheck(v[1], 1, MAX, p);\r\n MIN_EXP = v[0];\r\n MAX_EXP = v[1];\r\n } else {\r\n intCheck(v, -MAX, MAX, p);\r\n if (v) {\r\n MIN_EXP = -(MAX_EXP = v < 0 ? -v : v);\r\n } else {\r\n throw Error\r\n (bignumberError + p + ' cannot be zero: ' + v);\r\n }\r\n }\r\n }\r\n\r\n // CRYPTO {boolean} true or false.\r\n // '[BigNumber Error] CRYPTO not true or false: {v}'\r\n // '[BigNumber Error] crypto unavailable'\r\n if (obj.hasOwnProperty(p = 'CRYPTO')) {\r\n v = obj[p];\r\n if (v === !!v) {\r\n if (v) {\r\n if (typeof crypto != 'undefined' && crypto &&\r\n (crypto.getRandomValues || crypto.randomBytes)) {\r\n CRYPTO = v;\r\n } else {\r\n CRYPTO = !v;\r\n throw Error\r\n (bignumberError + 'crypto unavailable');\r\n }\r\n } else {\r\n CRYPTO = v;\r\n }\r\n } else {\r\n throw Error\r\n (bignumberError + p + ' not true or false: ' + v);\r\n }\r\n }\r\n\r\n // MODULO_MODE {number} Integer, 0 to 9 inclusive.\r\n // '[BigNumber Error] MODULO_MODE {not a primitive number|not an integer|out of range}: {v}'\r\n if (obj.hasOwnProperty(p = 'MODULO_MODE')) {\r\n v = obj[p];\r\n intCheck(v, 0, 9, p);\r\n MODULO_MODE = v;\r\n }\r\n\r\n // POW_PRECISION {number} Integer, 0 to MAX inclusive.\r\n // '[BigNumber Error] POW_PRECISION {not a primitive number|not an integer|out of range}: {v}'\r\n if (obj.hasOwnProperty(p = 'POW_PRECISION')) {\r\n v = obj[p];\r\n intCheck(v, 0, MAX, p);\r\n POW_PRECISION = v;\r\n }\r\n\r\n // FORMAT {object}\r\n // '[BigNumber Error] FORMAT not an object: {v}'\r\n if (obj.hasOwnProperty(p = 'FORMAT')) {\r\n v = obj[p];\r\n if (typeof v == 'object') FORMAT = v;\r\n else throw Error\r\n (bignumberError + p + ' not an object: ' + v);\r\n }\r\n\r\n // ALPHABET {string}\r\n // '[BigNumber Error] ALPHABET invalid: {v}'\r\n if (obj.hasOwnProperty(p = 'ALPHABET')) {\r\n v = obj[p];\r\n\r\n // Disallow if less than two characters,\r\n // or if it contains '+', '-', '.', whitespace, or a repeated character.\r\n if (typeof v == 'string' && !/^.?$|[+\\-.\\s]|(.).*\\1/.test(v)) {\r\n alphabetHasNormalDecimalDigits = v.slice(0, 10) == '0123456789';\r\n ALPHABET = v;\r\n } else {\r\n throw Error\r\n (bignumberError + p + ' invalid: ' + v);\r\n }\r\n }\r\n\r\n } else {\r\n\r\n // '[BigNumber Error] Object expected: {v}'\r\n throw Error\r\n (bignumberError + 'Object expected: ' + obj);\r\n }\r\n }\r\n\r\n return {\r\n DECIMAL_PLACES: DECIMAL_PLACES,\r\n ROUNDING_MODE: ROUNDING_MODE,\r\n EXPONENTIAL_AT: [TO_EXP_NEG, TO_EXP_POS],\r\n RANGE: [MIN_EXP, MAX_EXP],\r\n CRYPTO: CRYPTO,\r\n MODULO_MODE: MODULO_MODE,\r\n POW_PRECISION: POW_PRECISION,\r\n FORMAT: FORMAT,\r\n ALPHABET: ALPHABET\r\n };\r\n };\r\n\r\n\r\n /*\r\n * Return true if v is a BigNumber instance, otherwise return false.\r\n *\r\n * If BigNumber.DEBUG is true, throw if a BigNumber instance is not well-formed.\r\n *\r\n * v {any}\r\n *\r\n * '[BigNumber Error] Invalid BigNumber: {v}'\r\n */\r\n BigNumber.isBigNumber = function (v) {\r\n if (!v || v._isBigNumber !== true) return false;\r\n if (!BigNumber.DEBUG) return true;\r\n\r\n var i, n,\r\n c = v.c,\r\n e = v.e,\r\n s = v.s;\r\n\r\n out: if ({}.toString.call(c) == '[object Array]') {\r\n\r\n if ((s === 1 || s === -1) && e >= -MAX && e <= MAX && e === mathfloor(e)) {\r\n\r\n // If the first element is zero, the BigNumber value must be zero.\r\n if (c[0] === 0) {\r\n if (e === 0 && c.length === 1) return true;\r\n break out;\r\n }\r\n\r\n // Calculate number of digits that c[0] should have, based on the exponent.\r\n i = (e + 1) % LOG_BASE;\r\n if (i < 1) i += LOG_BASE;\r\n\r\n // Calculate number of digits of c[0].\r\n //if (Math.ceil(Math.log(c[0] + 1) / Math.LN10) == i) {\r\n if (String(c[0]).length == i) {\r\n\r\n for (i = 0; i < c.length; i++) {\r\n n = c[i];\r\n if (n < 0 || n >= BASE || n !== mathfloor(n)) break out;\r\n }\r\n\r\n // Last element cannot be zero, unless it is the only element.\r\n if (n !== 0) return true;\r\n }\r\n }\r\n\r\n // Infinity/NaN\r\n } else if (c === null && e === null && (s === null || s === 1 || s === -1)) {\r\n return true;\r\n }\r\n\r\n throw Error\r\n (bignumberError + 'Invalid BigNumber: ' + v);\r\n };\r\n\r\n\r\n /*\r\n * Return a new BigNumber whose value is the maximum of the arguments.\r\n *\r\n * arguments {number|string|BigNumber}\r\n */\r\n BigNumber.maximum = BigNumber.max = function () {\r\n return maxOrMin(arguments, P.lt);\r\n };\r\n\r\n\r\n /*\r\n * Return a new BigNumber whose value is the minimum of the arguments.\r\n *\r\n * arguments {number|string|BigNumber}\r\n */\r\n BigNumber.minimum = BigNumber.min = function () {\r\n return maxOrMin(arguments, P.gt);\r\n };\r\n\r\n\r\n /*\r\n * Return a new BigNumber with a random value equal to or greater than 0 and less than 1,\r\n * and with dp, or DECIMAL_PLACES if dp is omitted, decimal places (or less if trailing\r\n * zeros are produced).\r\n *\r\n * [dp] {number} Decimal places. Integer, 0 to MAX inclusive.\r\n *\r\n * '[BigNumber Error] Argument {not a primitive number|not an integer|out of range}: {dp}'\r\n * '[BigNumber Error] crypto unavailable'\r\n */\r\n BigNumber.random = (function () {\r\n var pow2_53 = 0x20000000000000;\r\n\r\n // Return a 53 bit integer n, where 0 <= n < 9007199254740992.\r\n // Check if Math.random() produces more than 32 bits of randomness.\r\n // If it does, assume at least 53 bits are produced, otherwise assume at least 30 bits.\r\n // 0x40000000 is 2^30, 0x800000 is 2^23, 0x1fffff is 2^21 - 1.\r\n var random53bitInt = (Math.random() * pow2_53) & 0x1fffff\r\n ? function () { return mathfloor(Math.random() * pow2_53); }\r\n : function () { return ((Math.random() * 0x40000000 | 0) * 0x800000) +\r\n (Math.random() * 0x800000 | 0); };\r\n\r\n return function (dp) {\r\n var a, b, e, k, v,\r\n i = 0,\r\n c = [],\r\n rand = new BigNumber(ONE);\r\n\r\n if (dp == null) dp = DECIMAL_PLACES;\r\n else intCheck(dp, 0, MAX);\r\n\r\n k = mathceil(dp / LOG_BASE);\r\n\r\n if (CRYPTO) {\r\n\r\n // Browsers supporting crypto.getRandomValues.\r\n if (crypto.getRandomValues) {\r\n\r\n a = crypto.getRandomValues(new Uint32Array(k *= 2));\r\n\r\n for (; i < k;) {\r\n\r\n // 53 bits:\r\n // ((Math.pow(2, 32) - 1) * Math.pow(2, 21)).toString(2)\r\n // 11111 11111111 11111111 11111111 11100000 00000000 00000000\r\n // ((Math.pow(2, 32) - 1) >>> 11).toString(2)\r\n // 11111 11111111 11111111\r\n // 0x20000 is 2^21.\r\n v = a[i] * 0x20000 + (a[i + 1] >>> 11);\r\n\r\n // Rejection sampling:\r\n // 0 <= v < 9007199254740992\r\n // Probability that v >= 9e15, is\r\n // 7199254740992 / 9007199254740992 ~= 0.0008, i.e. 1 in 1251\r\n if (v >= 9e15) {\r\n b = crypto.getRandomValues(new Uint32Array(2));\r\n a[i] = b[0];\r\n a[i + 1] = b[1];\r\n } else {\r\n\r\n // 0 <= v <= 8999999999999999\r\n // 0 <= (v % 1e14) <= 99999999999999\r\n c.push(v % 1e14);\r\n i += 2;\r\n }\r\n }\r\n i = k / 2;\r\n\r\n // Node.js supporting crypto.randomBytes.\r\n } else if (crypto.randomBytes) {\r\n\r\n // buffer\r\n a = crypto.randomBytes(k *= 7);\r\n\r\n for (; i < k;) {\r\n\r\n // 0x1000000000000 is 2^48, 0x10000000000 is 2^40\r\n // 0x100000000 is 2^32, 0x1000000 is 2^24\r\n // 11111 11111111 11111111 11111111 11111111 11111111 11111111\r\n // 0 <= v < 9007199254740992\r\n v = ((a[i] & 31) * 0x1000000000000) + (a[i + 1] * 0x10000000000) +\r\n (a[i + 2] * 0x100000000) + (a[i + 3] * 0x1000000) +\r\n (a[i + 4] << 16) + (a[i + 5] << 8) + a[i + 6];\r\n\r\n if (v >= 9e15) {\r\n crypto.randomBytes(7).copy(a, i);\r\n } else {\r\n\r\n // 0 <= (v % 1e14) <= 99999999999999\r\n c.push(v % 1e14);\r\n i += 7;\r\n }\r\n }\r\n i = k / 7;\r\n } else {\r\n CRYPTO = false;\r\n throw Error\r\n (bignumberError + 'crypto unavailable');\r\n }\r\n }\r\n\r\n // Use Math.random.\r\n if (!CRYPTO) {\r\n\r\n for (; i < k;) {\r\n v = random53bitInt();\r\n if (v < 9e15) c[i++] = v % 1e14;\r\n }\r\n }\r\n\r\n k = c[--i];\r\n dp %= LOG_BASE;\r\n\r\n // Convert trailing digits to zeros according to dp.\r\n if (k && dp) {\r\n v = POWS_TEN[LOG_BASE - dp];\r\n c[i] = mathfloor(k / v) * v;\r\n }\r\n\r\n // Remove trailing elements which are zero.\r\n for (; c[i] === 0; c.pop(), i--);\r\n\r\n // Zero?\r\n if (i < 0) {\r\n c = [e = 0];\r\n } else {\r\n\r\n // Remove leading elements which are zero and adjust exponent accordingly.\r\n for (e = -1 ; c[0] === 0; c.splice(0, 1), e -= LOG_BASE);\r\n\r\n // Count the digits of the first element of c to determine leading zeros, and...\r\n for (i = 1, v = c[0]; v >= 10; v /= 10, i++);\r\n\r\n // adjust the exponent accordingly.\r\n if (i < LOG_BASE) e -= LOG_BASE - i;\r\n }\r\n\r\n rand.e = e;\r\n rand.c = c;\r\n return rand;\r\n };\r\n })();\r\n\r\n\r\n /*\r\n * Return a BigNumber whose value is the sum of the arguments.\r\n *\r\n * arguments {number|string|BigNumber}\r\n */\r\n BigNumber.sum = function () {\r\n var i = 1,\r\n args = arguments,\r\n sum = new BigNumber(args[0]);\r\n for (; i < args.length;) sum = sum.plus(args[i++]);\r\n return sum;\r\n };\r\n\r\n\r\n // PRIVATE FUNCTIONS\r\n\r\n\r\n // Called by BigNumber and BigNumber.prototype.toString.\r\n convertBase = (function () {\r\n var decimal = '0123456789';\r\n\r\n /*\r\n * Convert string of baseIn to an array of numbers of baseOut.\r\n * Eg. toBaseOut('255', 10, 16) returns [15, 15].\r\n * Eg. toBaseOut('ff', 16, 10) returns [2, 5, 5].\r\n */\r\n function toBaseOut(str, baseIn, baseOut, alphabet) {\r\n var j,\r\n arr = [0],\r\n arrL,\r\n i = 0,\r\n len = str.length;\r\n\r\n for (; i < len;) {\r\n for (arrL = arr.length; arrL--; arr[arrL] *= baseIn);\r\n\r\n arr[0] += alphabet.indexOf(str.charAt(i++));\r\n\r\n for (j = 0; j < arr.length; j++) {\r\n\r\n if (arr[j] > baseOut - 1) {\r\n if (arr[j + 1] == null) arr[j + 1] = 0;\r\n arr[j + 1] += arr[j] / baseOut | 0;\r\n arr[j] %= baseOut;\r\n }\r\n }\r\n }\r\n\r\n return arr.reverse();\r\n }\r\n\r\n // Convert a numeric string of baseIn to a numeric string of baseOut.\r\n // If the caller is toString, we are converting from base 10 to baseOut.\r\n // If the caller is BigNumber, we are converting from baseIn to base 10.\r\n return function (str, baseIn, baseOut, sign, callerIsToString) {\r\n var alphabet, d, e, k, r, x, xc, y,\r\n i = str.indexOf('.'),\r\n dp = DECIMAL_PLACES,\r\n rm = ROUNDING_MODE;\r\n\r\n // Non-integer.\r\n if (i >= 0) {\r\n k = POW_PRECISION;\r\n\r\n // Unlimited precision.\r\n POW_PRECISION = 0;\r\n str = str.replace('.', '');\r\n y = new BigNumber(baseIn);\r\n x = y.pow(str.length - i);\r\n POW_PRECISION = k;\r\n\r\n // Convert str as if an integer, then restore the fraction part by dividing the\r\n // result by its base raised to a power.\r\n\r\n y.c = toBaseOut(toFixedPoint(coeffToString(x.c), x.e, '0'),\r\n 10, baseOut, decimal);\r\n y.e = y.c.length;\r\n }\r\n\r\n // Convert the number as integer.\r\n\r\n xc = toBaseOut(str, baseIn, baseOut, callerIsToString\r\n ? (alphabet = ALPHABET, decimal)\r\n : (alphabet = decimal, ALPHABET));\r\n\r\n // xc now represents str as an integer and converted to baseOut. e is the exponent.\r\n e = k = xc.length;\r\n\r\n // Remove trailing zeros.\r\n for (; xc[--k] == 0; xc.pop());\r\n\r\n // Zero?\r\n if (!xc[0]) return alphabet.charAt(0);\r\n\r\n // Does str represent an integer? If so, no need for the division.\r\n if (i < 0) {\r\n --e;\r\n } else {\r\n x.c = xc;\r\n x.e = e;\r\n\r\n // The sign is needed for correct rounding.\r\n x.s = sign;\r\n x = div(x, y, dp, rm, baseOut);\r\n xc = x.c;\r\n r = x.r;\r\n e = x.e;\r\n }\r\n\r\n // xc now represents str converted to baseOut.\r\n\r\n // THe index of the rounding digit.\r\n d = e + dp + 1;\r\n\r\n // The rounding digit: the digit to the right of the digit that may be rounded up.\r\n i = xc[d];\r\n\r\n // Look at the rounding digits and mode to determine whether to round up.\r\n\r\n k = baseOut / 2;\r\n r = r || d < 0 || xc[d + 1] != null;\r\n\r\n r = rm < 4 ? (i != null || r) && (rm == 0 || rm == (x.s < 0 ? 3 : 2))\r\n : i > k || i == k &&(rm == 4 || r || rm == 6 && xc[d - 1] & 1 ||\r\n rm == (x.s < 0 ? 8 : 7));\r\n\r\n // If the index of the rounding digit is not greater than zero, or xc represents\r\n // zero, then the result of the base conversion is zero or, if rounding up, a value\r\n // such as 0.00001.\r\n if (d < 1 || !xc[0]) {\r\n\r\n // 1^-dp or 0\r\n str = r ? toFixedPoint(alphabet.charAt(1), -dp, alphabet.charAt(0)) : alphabet.charAt(0);\r\n } else {\r\n\r\n // Truncate xc to the required number of decimal places.\r\n xc.length = d;\r\n\r\n // Round up?\r\n if (r) {\r\n\r\n // Rounding up may mean the previous digit has to be rounded up and so on.\r\n for (--baseOut; ++xc[--d] > baseOut;) {\r\n xc[d] = 0;\r\n\r\n if (!d) {\r\n ++e;\r\n xc = [1].concat(xc);\r\n }\r\n }\r\n }\r\n\r\n // Determine trailing zeros.\r\n for (k = xc.length; !xc[--k];);\r\n\r\n // E.g. [4, 11, 15] becomes 4bf.\r\n for (i = 0, str = ''; i <= k; str += alphabet.charAt(xc[i++]));\r\n\r\n // Add leading zeros, decimal point and trailing zeros as required.\r\n str = toFixedPoint(str, e, alphabet.charAt(0));\r\n }\r\n\r\n // The caller will add the sign.\r\n return str;\r\n };\r\n })();\r\n\r\n\r\n // Perform division in the specified base. Called by div and convertBase.\r\n div = (function () {\r\n\r\n // Assume non-zero x and k.\r\n function multiply(x, k, base) {\r\n var m, temp, xlo, xhi,\r\n carry = 0,\r\n i = x.length,\r\n klo = k % SQRT_BASE,\r\n khi = k / SQRT_BASE | 0;\r\n\r\n for (x = x.slice(); i--;) {\r\n xlo = x[i] % SQRT_BASE;\r\n xhi = x[i] / SQRT_BASE | 0;\r\n m = khi * xlo + xhi * klo;\r\n temp = klo * xlo + ((m % SQRT_BASE) * SQRT_BASE) + carry;\r\n carry = (temp / base | 0) + (m / SQRT_BASE | 0) + khi * xhi;\r\n x[i] = temp % base;\r\n }\r\n\r\n if (carry) x = [carry].concat(x);\r\n\r\n return x;\r\n }\r\n\r\n function compare(a, b, aL, bL) {\r\n var i, cmp;\r\n\r\n if (aL != bL) {\r\n cmp = aL > bL ? 1 : -1;\r\n } else {\r\n\r\n for (i = cmp = 0; i < aL; i++) {\r\n\r\n if (a[i] != b[i]) {\r\n cmp = a[i] > b[i] ? 1 : -1;\r\n break;\r\n }\r\n }\r\n }\r\n\r\n return cmp;\r\n }\r\n\r\n function subtract(a, b, aL, base) {\r\n var i = 0;\r\n\r\n // Subtract b from a.\r\n for (; aL--;) {\r\n a[aL] -= i;\r\n i = a[aL] < b[aL] ? 1 : 0;\r\n a[aL] = i * base + a[aL] - b[aL];\r\n }\r\n\r\n // Remove leading zeros.\r\n for (; !a[0] && a.length > 1; a.splice(0, 1));\r\n }\r\n\r\n // x: dividend, y: divisor.\r\n return function (x, y, dp, rm, base) {\r\n var cmp, e, i, more, n, prod, prodL, q, qc, rem, remL, rem0, xi, xL, yc0,\r\n yL, yz,\r\n s = x.s == y.s ? 1 : -1,\r\n xc = x.c,\r\n yc = y.c;\r\n\r\n // Either NaN, Infinity or 0?\r\n if (!xc || !xc[0] || !yc || !yc[0]) {\r\n\r\n return new BigNumber(\r\n\r\n // Return NaN if either NaN, or both Infinity or 0.\r\n !x.s || !y.s || (xc ? yc && xc[0] == yc[0] : !yc) ? NaN :\r\n\r\n // Return ±0 if x is ±0 or y is ±Infinity, or return ±Infinity as y is ±0.\r\n xc && xc[0] == 0 || !yc ? s * 0 : s / 0\r\n );\r\n }\r\n\r\n q = new BigNumber(s);\r\n qc = q.c = [];\r\n e = x.e - y.e;\r\n s = dp + e + 1;\r\n\r\n if (!base) {\r\n base = BASE;\r\n e = bitFloor(x.e / LOG_BASE) - bitFloor(y.e / LOG_BASE);\r\n s = s / LOG_BASE | 0;\r\n }\r\n\r\n // Result exponent may be one less then the current value of e.\r\n // The coefficients of the BigNumbers from convertBase may have trailing zeros.\r\n for (i = 0; yc[i] == (xc[i] || 0); i++);\r\n\r\n if (yc[i] > (xc[i] || 0)) e--;\r\n\r\n if (s < 0) {\r\n qc.push(1);\r\n more = true;\r\n } else {\r\n xL = xc.length;\r\n yL = yc.length;\r\n i = 0;\r\n s += 2;\r\n\r\n // Normalise xc and yc so highest order digit of yc is >= base / 2.\r\n\r\n n = mathfloor(base / (yc[0] + 1));\r\n\r\n // Not necessary, but to handle odd bases where yc[0] == (base / 2) - 1.\r\n // if (n > 1 || n++ == 1 && yc[0] < base / 2) {\r\n if (n > 1) {\r\n yc = multiply(yc, n, base);\r\n xc = multiply(xc, n, base);\r\n yL = yc.length;\r\n xL = xc.length;\r\n }\r\n\r\n xi = yL;\r\n rem = xc.slice(0, yL);\r\n remL = rem.length;\r\n\r\n // Add zeros to make remainder as long as divisor.\r\n for (; remL < yL; rem[remL++] = 0);\r\n yz = yc.slice();\r\n yz = [0].concat(yz);\r\n yc0 = yc[0];\r\n if (yc[1] >= base / 2) yc0++;\r\n // Not necessary, but to prevent trial digit n > base, when using base 3.\r\n // else if (base == 3 && yc0 == 1) yc0 = 1 + 1e-15;\r\n\r\n do {\r\n n = 0;\r\n\r\n // Compare divisor and remainder.\r\n cmp = compare(yc, rem, yL, remL);\r\n\r\n // If divisor < remainder.\r\n if (cmp < 0) {\r\n\r\n // Calculate trial digit, n.\r\n\r\n rem0 = rem[0];\r\n if (yL != remL) rem0 = rem0 * base + (rem[1] || 0);\r\n\r\n // n is how many times the divisor goes into the current remainder.\r\n n = mathfloor(rem0 / yc0);\r\n\r\n // Algorithm:\r\n // product = divisor multiplied by trial digit (n).\r\n // Compare product and remainder.\r\n // If product is greater than remainder:\r\n // Subtract divisor from product, decrement trial digit.\r\n // Subtract product from remainder.\r\n // If product was less than remainder at the last compare:\r\n // Compare new remainder and divisor.\r\n // If remainder is greater than divisor:\r\n // Subtract divisor from remainder, increment trial digit.\r\n\r\n if (n > 1) {\r\n\r\n // n may be > base only when base is 3.\r\n if (n >= base) n = base - 1;\r\n\r\n // product = divisor * trial digit.\r\n prod = multiply(yc, n, base);\r\n prodL = prod.length;\r\n remL = rem.length;\r\n\r\n // Compare product and remainder.\r\n // If product > remainder then trial digit n too high.\r\n // n is 1 too high about 5% of the time, and is not known to have\r\n // ever been more than 1 too high.\r\n while (compare(prod, rem, prodL, remL) == 1) {\r\n n--;\r\n\r\n // Subtract divisor from product.\r\n subtract(prod, yL < prodL ? yz : yc, prodL, base);\r\n prodL = prod.length;\r\n cmp = 1;\r\n }\r\n } else {\r\n\r\n // n is 0 or 1, cmp is -1.\r\n // If n is 0, there is no need to compare yc and rem again below,\r\n // so change cmp to 1 to avoid it.\r\n // If n is 1, leave cmp as -1, so yc and rem are compared again.\r\n if (n == 0) {\r\n\r\n // divisor < remainder, so n must be at least 1.\r\n cmp = n = 1;\r\n }\r\n\r\n // product = divisor\r\n prod = yc.slice();\r\n prodL = prod.length;\r\n }\r\n\r\n if (prodL < remL) prod = [0].concat(prod);\r\n\r\n // Subtract product from remainder.\r\n subtract(rem, prod, remL, base);\r\n remL = rem.length;\r\n\r\n // If product was < remainder.\r\n if (cmp == -1) {\r\n\r\n // Compare divisor and new remainder.\r\n // If divisor < new remainder, subtract divisor from remainder.\r\n // Trial digit n too low.\r\n // n is 1 too low about 5% of the time, and very rarely 2 too low.\r\n while (compare(yc, rem, yL, remL) < 1) {\r\n n++;\r\n\r\n // Subtract divisor from remainder.\r\n subtract(rem, yL < remL ? yz : yc, remL, base);\r\n remL = rem.length;\r\n }\r\n }\r\n } else if (cmp === 0) {\r\n n++;\r\n rem = [0];\r\n } // else cmp === 1 and n will be 0\r\n\r\n // Add the next digit, n, to the result array.\r\n qc[i++] = n;\r\n\r\n // Update the remainder.\r\n if (rem[0]) {\r\n rem[remL++] = xc[xi] || 0;\r\n } else {\r\n rem = [xc[xi]];\r\n remL = 1;\r\n }\r\n } while ((xi++ < xL || rem[0] != null) && s--);\r\n\r\n more = rem[0] != null;\r\n\r\n // Leading zero?\r\n if (!qc[0]) qc.splice(0, 1);\r\n }\r\n\r\n if (base == BASE) {\r\n\r\n // To calculate q.e, first get the number of digits of qc[0].\r\n for (i = 1, s = qc[0]; s >= 10; s /= 10, i++);\r\n\r\n round(q, dp + (q.e = i + e * LOG_BASE - 1) + 1, rm, more);\r\n\r\n // Caller is convertBase.\r\n } else {\r\n q.e = e;\r\n q.r = +more;\r\n }\r\n\r\n return q;\r\n };\r\n })();\r\n\r\n\r\n /*\r\n * Return a string representing the value of BigNumber n in fixed-point or exponential\r\n * notation rounded to the specified decimal places or significant digits.\r\n *\r\n * n: a BigNumber.\r\n * i: the index of the last digit required (i.e. the digit that may be rounded up).\r\n * rm: the rounding mode.\r\n * id: 1 (toExponential) or 2 (toPrecision).\r\n */\r\n function format(n, i, rm, id) {\r\n var c0, e, ne, len, str;\r\n\r\n if (rm == null) rm = ROUNDING_MODE;\r\n else intCheck(rm, 0, 8);\r\n\r\n if (!n.c) return n.toString();\r\n\r\n c0 = n.c[0];\r\n ne = n.e;\r\n\r\n if (i == null) {\r\n str = coeffToString(n.c);\r\n str = id == 1 || id == 2 && (ne <= TO_EXP_NEG || ne >= TO_EXP_POS)\r\n ? toExponential(str, ne)\r\n : toFixedPoint(str, ne, '0');\r\n } else {\r\n n = round(new BigNumber(n), i, rm);\r\n\r\n // n.e may have changed if the value was rounded up.\r\n e = n.e;\r\n\r\n str = coeffToString(n.c);\r\n len = str.length;\r\n\r\n // toPrecision returns exponential notation if the number of significant digits\r\n // specified is less than the number of digits necessary to represent the integer\r\n // part of the value in fixed-point notation.\r\n\r\n // Exponential notation.\r\n if (id == 1 || id == 2 && (i <= e || e <= TO_EXP_NEG)) {\r\n\r\n // Append zeros?\r\n for (; len < i; str += '0', len++);\r\n str = toExponential(str, e);\r\n\r\n // Fixed-point notation.\r\n } else {\r\n i -= ne;\r\n str = toFixedPoint(str, e, '0');\r\n\r\n // Append zeros?\r\n if (e + 1 > len) {\r\n if (--i > 0) for (str += '.'; i--; str += '0');\r\n } else {\r\n i += e - len;\r\n if (i > 0) {\r\n if (e + 1 == len) str += '.';\r\n for (; i--; str += '0');\r\n }\r\n }\r\n }\r\n }\r\n\r\n return n.s < 0 && c0 ? '-' + str : str;\r\n }\r\n\r\n\r\n // Handle BigNumber.max and BigNumber.min.\r\n function maxOrMin(args, method) {\r\n var n,\r\n i = 1,\r\n m = new BigNumber(args[0]);\r\n\r\n for (; i < args.length; i++) {\r\n n = new BigNumber(args[i]);\r\n\r\n // If any number is NaN, return NaN.\r\n if (!n.s) {\r\n m = n;\r\n break;\r\n } else if (method.call(m, n)) {\r\n m = n;\r\n }\r\n }\r\n\r\n return m;\r\n }\r\n\r\n\r\n /*\r\n * Strip trailing zeros, calculate base 10 exponent and check against MIN_EXP and MAX_EXP.\r\n * Called by minus, plus and times.\r\n */\r\n function normalise(n, c, e) {\r\n var i = 1,\r\n j = c.length;\r\n\r\n // Remove trailing zeros.\r\n for (; !c[--j]; c.pop());\r\n\r\n // Calculate the base 10 exponent. First get the number of digits of c[0].\r\n for (j = c[0]; j >= 10; j /= 10, i++);\r\n\r\n // Overflow?\r\n if ((e = i + e * LOG_BASE - 1) > MAX_EXP) {\r\n\r\n // Infinity.\r\n n.c = n.e = null;\r\n\r\n // Underflow?\r\n } else if (e < MIN_EXP) {\r\n\r\n // Zero.\r\n n.c = [n.e = 0];\r\n } else {\r\n n.e = e;\r\n n.c = c;\r\n }\r\n\r\n return n;\r\n }\r\n\r\n\r\n // Handle values that fail the validity test in BigNumber.\r\n parseNumeric = (function () {\r\n var basePrefix = /^(-?)0([xbo])(?=\\w[\\w.]*$)/i,\r\n dotAfter = /^([^.]+)\\.$/,\r\n dotBefore = /^\\.([^.]+)$/,\r\n isInfinityOrNaN = /^-?(Infinity|NaN)$/,\r\n whitespaceOrPlus = /^\\s*\\+(?=[\\w.])|^\\s+|\\s+$/g;\r\n\r\n return function (x, str, isNum, b) {\r\n var base,\r\n s = isNum ? str : str.replace(whitespaceOrPlus, '');\r\n\r\n // No exception on ±Infinity or NaN.\r\n if (isInfinityOrNaN.test(s)) {\r\n x.s = isNaN(s) ? null : s < 0 ? -1 : 1;\r\n } else {\r\n if (!isNum) {\r\n\r\n // basePrefix = /^(-?)0([xbo])(?=\\w[\\w.]*$)/i\r\n s = s.replace(basePrefix, function (m, p1, p2) {\r\n base = (p2 = p2.toLowerCase()) == 'x' ? 16 : p2 == 'b' ? 2 : 8;\r\n return !b || b == base ? p1 : m;\r\n });\r\n\r\n if (b) {\r\n base = b;\r\n\r\n // E.g. '1.' to '1', '.1' to '0.1'\r\n s = s.replace(dotAfter, '$1').replace(dotBefore, '0.$1');\r\n }\r\n\r\n if (str != s) return new BigNumber(s, base);\r\n }\r\n\r\n // '[BigNumber Error] Not a number: {n}'\r\n // '[BigNumber Error] Not a base {b} number: {n}'\r\n if (BigNumber.DEBUG) {\r\n throw Error\r\n (bignumberError + 'Not a' + (b ? ' base ' + b : '') + ' number: ' + str);\r\n }\r\n\r\n // NaN\r\n x.s = null;\r\n }\r\n\r\n x.c = x.e = null;\r\n }\r\n })();\r\n\r\n\r\n /*\r\n * Round x to sd significant digits using rounding mode rm. Check for over/under-flow.\r\n * If r is truthy, it is known that there are more digits after the rounding digit.\r\n */\r\n function round(x, sd, rm, r) {\r\n var d, i, j, k, n, ni, rd,\r\n xc = x.c,\r\n pows10 = POWS_TEN;\r\n\r\n // if x is not Infinity or NaN...\r\n if (xc) {\r\n\r\n // rd is the rounding digit, i.e. the digit after the digit that may be rounded up.\r\n // n is a base 1e14 number, the value of the element of array x.c containing rd.\r\n // ni is the index of n within x.c.\r\n // d is the number of digits of n.\r\n // i is the index of rd within n including leading zeros.\r\n // j is the actual index of rd within n (if < 0, rd is a leading zero).\r\n out: {\r\n\r\n // Get the number of digits of the first element of xc.\r\n for (d = 1, k = xc[0]; k >= 10; k /= 10, d++);\r\n i = sd - d;\r\n\r\n // If the rounding digit is in the first element of xc...\r\n if (i < 0) {\r\n i += LOG_BASE;\r\n j = sd;\r\n n = xc[ni = 0];\r\n\r\n // Get the rounding digit at index j of n.\r\n rd = n / pows10[d - j - 1] % 10 | 0;\r\n } else {\r\n ni = mathceil((i + 1) / LOG_BASE);\r\n\r\n if (ni >= xc.length) {\r\n\r\n if (r) {\r\n\r\n // Needed by sqrt.\r\n for (; xc.length <= ni; xc.push(0));\r\n n = rd = 0;\r\n d = 1;\r\n i %= LOG_BASE;\r\n j = i - LOG_BASE + 1;\r\n } else {\r\n break out;\r\n }\r\n } else {\r\n n = k = xc[ni];\r\n\r\n // Get the number of digits of n.\r\n for (d = 1; k >= 10; k /= 10, d++);\r\n\r\n // Get the index of rd within n.\r\n i %= LOG_BASE;\r\n\r\n // Get the index of rd within n, adjusted for leading zeros.\r\n // The number of leading zeros of n is given by LOG_BASE - d.\r\n j = i - LOG_BASE + d;\r\n\r\n // Get the rounding digit at index j of n.\r\n rd = j < 0 ? 0 : n / pows10[d - j - 1] % 10 | 0;\r\n }\r\n }\r\n\r\n r = r || sd < 0 ||\r\n\r\n // Are there any non-zero digits after the rounding digit?\r\n // The expression n % pows10[d - j - 1] returns all digits of n to the right\r\n // of the digit at j, e.g. if n is 908714 and j is 2, the expression gives 714.\r\n xc[ni + 1] != null || (j < 0 ? n : n % pows10[d - j - 1]);\r\n\r\n r = rm < 4\r\n ? (rd || r) && (rm == 0 || rm == (x.s < 0 ? 3 : 2))\r\n : rd > 5 || rd == 5 && (rm == 4 || r || rm == 6 &&\r\n\r\n // Check whether the digit to the left of the rounding digit is odd.\r\n ((i > 0 ? j > 0 ? n / pows10[d - j] : 0 : xc[ni - 1]) % 10) & 1 ||\r\n rm == (x.s < 0 ? 8 : 7));\r\n\r\n if (sd < 1 || !xc[0]) {\r\n xc.length = 0;\r\n\r\n if (r) {\r\n\r\n // Convert sd to decimal places.\r\n sd -= x.e + 1;\r\n\r\n // 1, 0.1, 0.01, 0.001, 0.0001 etc.\r\n xc[0] = pows10[(LOG_BASE - sd % LOG_BASE) % LOG_BASE];\r\n x.e = -sd || 0;\r\n } else {\r\n\r\n // Zero.\r\n xc[0] = x.e = 0;\r\n }\r\n\r\n return x;\r\n }\r\n\r\n // Remove excess digits.\r\n if (i == 0) {\r\n xc.length = ni;\r\n k = 1;\r\n ni--;\r\n } else {\r\n xc.length = ni + 1;\r\n k = pows10[LOG_BASE - i];\r\n\r\n // E.g. 56700 becomes 56000 if 7 is the rounding digit.\r\n // j > 0 means i > number of leading zeros of n.\r\n xc[ni] = j > 0 ? mathfloor(n / pows10[d - j] % pows10[j]) * k : 0;\r\n }\r\n\r\n // Round up?\r\n if (r) {\r\n\r\n for (; ;) {\r\n\r\n // If the digit to be rounded up is in the first element of xc...\r\n if (ni == 0) {\r\n\r\n // i will be the length of xc[0] before k is added.\r\n for (i = 1, j = xc[0]; j >= 10; j /= 10, i++);\r\n j = xc[0] += k;\r\n for (k = 1; j >= 10; j /= 10, k++);\r\n\r\n // if i != k the length has increased.\r\n if (i != k) {\r\n x.e++;\r\n if (xc[0] == BASE) xc[0] = 1;\r\n }\r\n\r\n break;\r\n } else {\r\n xc[ni] += k;\r\n if (xc[ni] != BASE) break;\r\n xc[ni--] = 0;\r\n k = 1;\r\n }\r\n }\r\n }\r\n\r\n // Remove trailing zeros.\r\n for (i = xc.length; xc[--i] === 0; xc.pop());\r\n }\r\n\r\n // Overflow? Infinity.\r\n if (x.e > MAX_EXP) {\r\n x.c = x.e = null;\r\n\r\n // Underflow? Zero.\r\n } else if (x.e < MIN_EXP) {\r\n x.c = [x.e = 0];\r\n }\r\n }\r\n\r\n return x;\r\n }\r\n\r\n\r\n function valueOf(n) {\r\n var str,\r\n e = n.e;\r\n\r\n if (e === null) return n.toString();\r\n\r\n str = coeffToString(n.c);\r\n\r\n str = e <= TO_EXP_NEG || e >= TO_EXP_POS\r\n ? toExponential(str, e)\r\n : toFixedPoint(str, e, '0');\r\n\r\n return n.s < 0 ? '-' + str : str;\r\n }\r\n\r\n\r\n // PROTOTYPE/INSTANCE METHODS\r\n\r\n\r\n /*\r\n * Return a new BigNumber whose value is the absolute value of this BigNumber.\r\n */\r\n P.absoluteValue = P.abs = function () {\r\n var x = new BigNumber(this);\r\n if (x.s < 0) x.s = 1;\r\n return x;\r\n };\r\n\r\n\r\n /*\r\n * Return\r\n * 1 if the value of this BigNumber is greater than the value of BigNumber(y, b),\r\n * -1 if the value of this BigNumber is less than the value of BigNumber(y, b),\r\n * 0 if they have the same value,\r\n * or null if the value of either is NaN.\r\n */\r\n P.comparedTo = function (y, b) {\r\n return compare(this, new BigNumber(y, b));\r\n };\r\n\r\n\r\n /*\r\n * If dp is undefined or null or true or false, return the number of decimal places of the\r\n * value of this BigNumber, or null if the value of this BigNumber is ±Infinity or NaN.\r\n *\r\n * Otherwise, if dp is a number, return a new BigNumber whose value is the value of this\r\n * BigNumber rounded to a maximum of dp decimal places using rounding mode rm, or\r\n * ROUNDING_MODE if rm is omitted.\r\n *\r\n * [dp] {number} Decimal places: integer, 0 to MAX inclusive.\r\n * [rm] {number} Rounding mode. Integer, 0 to 8 inclusive.\r\n *\r\n * '[BigNumber Error] Argument {not a primitive number|not an integer|out of range}: {dp|rm}'\r\n */\r\n P.decimalPlaces = P.dp = function (dp, rm) {\r\n var c, n, v,\r\n x = this;\r\n\r\n if (dp != null) {\r\n intCheck(dp, 0, MAX);\r\n if (rm == null) rm = ROUNDING_MODE;\r\n else intCheck(rm, 0, 8);\r\n\r\n return round(new BigNumber(x), dp + x.e + 1, rm);\r\n }\r\n\r\n if (!(c = x.c)) return null;\r\n n = ((v = c.length - 1) - bitFloor(this.e / LOG_BASE)) * LOG_BASE;\r\n\r\n // Subtract the number of trailing zeros of the last number.\r\n if (v = c[v]) for (; v % 10 == 0; v /= 10, n--);\r\n if (n < 0) n = 0;\r\n\r\n return n;\r\n };\r\n\r\n\r\n /*\r\n * n / 0 = I\r\n * n / N = N\r\n * n / I = 0\r\n * 0 / n = 0\r\n * 0 / 0 = N\r\n * 0 / N = N\r\n * 0 / I = 0\r\n * N / n = N\r\n * N / 0 = N\r\n * N / N = N\r\n * N / I = N\r\n * I / n = I\r\n * I / 0 = I\r\n * I / N = N\r\n * I / I = N\r\n *\r\n * Return a new BigNumber whose value is the value of this BigNumber divided by the value of\r\n * BigNumber(y, b), rounded according to DECIMAL_PLACES and ROUNDING_MODE.\r\n */\r\n P.dividedBy = P.div = function (y, b) {\r\n return div(this, new BigNumber(y, b), DECIMAL_PLACES, ROUNDING_MODE);\r\n };\r\n\r\n\r\n /*\r\n * Return a new BigNumber whose value is the integer part of dividing the value of this\r\n * BigNumber by the value of BigNumber(y, b).\r\n */\r\n P.dividedToIntegerBy = P.idiv = function (y, b) {\r\n return div(this, new BigNumber(y, b), 0, 1);\r\n };\r\n\r\n\r\n /*\r\n * Return a BigNumber whose value is the value of this BigNumber exponentiated by n.\r\n *\r\n * If m is present, return the result modulo m.\r\n * If n is negative round according to DECIMAL_PLACES and ROUNDING_MODE.\r\n * If POW_PRECISION is non-zero and m is not present, round to POW_PRECISION using ROUNDING_MODE.\r\n *\r\n * The modular power operation works efficiently when x, n, and m are integers, otherwise it\r\n * is equivalent to calculating x.exponentiatedBy(n).modulo(m) with a POW_PRECISION of 0.\r\n *\r\n * n {number|string|BigNumber} The exponent. An integer.\r\n * [m] {number|string|BigNumber} The modulus.\r\n *\r\n * '[BigNumber Error] Exponent not an integer: {n}'\r\n */\r\n P.exponentiatedBy = P.pow = function (n, m) {\r\n var half, isModExp, i, k, more, nIsBig, nIsNeg, nIsOdd, y,\r\n x = this;\r\n\r\n n = new BigNumber(n);\r\n\r\n // Allow NaN and ±Infinity, but not other non-integers.\r\n if (n.c && !n.isInteger()) {\r\n throw Error\r\n (bignumberError + 'Exponent not an integer: ' + valueOf(n));\r\n }\r\n\r\n if (m != null) m = new BigNumber(m);\r\n\r\n // Exponent of MAX_SAFE_INTEGER is 15.\r\n nIsBig = n.e > 14;\r\n\r\n // If x is NaN, ±Infinity, ±0 or ±1, or n is ±Infinity, NaN or ±0.\r\n if (!x.c || !x.c[0] || x.c[0] == 1 && !x.e && x.c.length == 1 || !n.c || !n.c[0]) {\r\n\r\n // The sign of the result of pow when x is negative depends on the evenness of n.\r\n // If +n overflows to ±Infinity, the evenness of n would be not be known.\r\n y = new BigNumber(Math.pow(+valueOf(x), nIsBig ? n.s * (2 - isOdd(n)) : +valueOf(n)));\r\n return m ? y.mod(m) : y;\r\n }\r\n\r\n nIsNeg = n.s < 0;\r\n\r\n if (m) {\r\n\r\n // x % m returns NaN if abs(m) is zero, or m is NaN.\r\n if (m.c ? !m.c[0] : !m.s) return new BigNumber(NaN);\r\n\r\n isModExp = !nIsNeg && x.isInteger() && m.isInteger();\r\n\r\n if (isModExp) x = x.mod(m);\r\n\r\n // Overflow to ±Infinity: >=2**1e10 or >=1.0000024**1e15.\r\n // Underflow to ±0: <=0.79**1e10 or <=0.9999975**1e15.\r\n } else if (n.e > 9 && (x.e > 0 || x.e < -1 || (x.e == 0\r\n // [1, 240000000]\r\n ? x.c[0] > 1 || nIsBig && x.c[1] >= 24e7\r\n // [80000000000000] [99999750000000]\r\n : x.c[0] < 8e13 || nIsBig && x.c[0] <= 9999975e7))) {\r\n\r\n // If x is negative and n is odd, k = -0, else k = 0.\r\n k = x.s < 0 && isOdd(n) ? -0 : 0;\r\n\r\n // If x >= 1, k = ±Infinity.\r\n if (x.e > -1) k = 1 / k;\r\n\r\n // If n is negative return ±0, else return ±Infinity.\r\n return new BigNumber(nIsNeg ? 1 / k : k);\r\n\r\n } else if (POW_PRECISION) {\r\n\r\n // Truncating each coefficient array to a length of k after each multiplication\r\n // equates to truncating significant digits to POW_PRECISION + [28, 41],\r\n // i.e. there will be a minimum of 28 guard digits retained.\r\n k = mathceil(POW_PRECISION / LOG_BASE + 2);\r\n }\r\n\r\n if (nIsBig) {\r\n half = new BigNumber(0.5);\r\n if (nIsNeg) n.s = 1;\r\n nIsOdd = isOdd(n);\r\n } else {\r\n i = Math.abs(+valueOf(n));\r\n nIsOdd = i % 2;\r\n }\r\n\r\n y = new BigNumber(ONE);\r\n\r\n // Performs 54 loop iterations for n of 9007199254740991.\r\n for (; ;) {\r\n\r\n if (nIsOdd) {\r\n y = y.times(x);\r\n if (!y.c) break;\r\n\r\n if (k) {\r\n if (y.c.length > k) y.c.length = k;\r\n } else if (isModExp) {\r\n y = y.mod(m); //y = y.minus(div(y, m, 0, MODULO_MODE).times(m));\r\n }\r\n }\r\n\r\n if (i) {\r\n i = mathfloor(i / 2);\r\n if (i === 0) break;\r\n nIsOdd = i % 2;\r\n } else {\r\n n = n.times(half);\r\n round(n, n.e + 1, 1);\r\n\r\n if (n.e > 14) {\r\n nIsOdd = isOdd(n);\r\n } else {\r\n i = +valueOf(n);\r\n if (i === 0) break;\r\n nIsOdd = i % 2;\r\n }\r\n }\r\n\r\n x = x.times(x);\r\n\r\n if (k) {\r\n if (x.c && x.c.length > k) x.c.length = k;\r\n } else if (isModExp) {\r\n x = x.mod(m); //x = x.minus(div(x, m, 0, MODULO_MODE).times(m));\r\n }\r\n }\r\n\r\n if (isModExp) return y;\r\n if (nIsNeg) y = ONE.div(y);\r\n\r\n return m ? y.mod(m) : k ? round(y, POW_PRECISION, ROUNDING_MODE, more) : y;\r\n };\r\n\r\n\r\n /*\r\n * Return a new BigNumber whose value is the value of this BigNumber rounded to an integer\r\n * using rounding mode rm, or ROUNDING_MODE if rm is omitted.\r\n *\r\n * [rm] {number} Rounding mode. Integer, 0 to 8 inclusive.\r\n *\r\n * '[BigNumber Error] Argument {not a primitive number|not an integer|out of range}: {rm}'\r\n */\r\n P.integerValue = function (rm) {\r\n var n = new BigNumber(this);\r\n if (rm == null) rm = ROUNDING_MODE;\r\n else intCheck(rm, 0, 8);\r\n return round(n, n.e + 1, rm);\r\n };\r\n\r\n\r\n /*\r\n * Return true if the value of this BigNumber is equal to the value of BigNumber(y, b),\r\n * otherwise return false.\r\n */\r\n P.isEqualTo = P.eq = function (y, b) {\r\n return compare(this, new BigNumber(y, b)) === 0;\r\n };\r\n\r\n\r\n /*\r\n * Return true if the value of this BigNumber is a finite number, otherwise return false.\r\n */\r\n P.isFinite = function () {\r\n return !!this.c;\r\n };\r\n\r\n\r\n /*\r\n * Return true if the value of this BigNumber is greater than the value of BigNumber(y, b),\r\n * otherwise return false.\r\n */\r\n P.isGreaterThan = P.gt = function (y, b) {\r\n return compare(this, new BigNumber(y, b)) > 0;\r\n };\r\n\r\n\r\n /*\r\n * Return true if the value of this BigNumber is greater than or equal to the value of\r\n * BigNumber(y, b), otherwise return false.\r\n */\r\n P.isGreaterThanOrEqualTo = P.gte = function (y, b) {\r\n return (b = compare(this, new BigNumber(y, b))) === 1 || b === 0;\r\n\r\n };\r\n\r\n\r\n /*\r\n * Return true if the value of this BigNumber is an integer, otherwise return false.\r\n */\r\n P.isInteger = function () {\r\n return !!this.c && bitFloor(this.e / LOG_BASE) > this.c.length - 2;\r\n };\r\n\r\n\r\n /*\r\n * Return true if the value of this BigNumber is less than the value of BigNumber(y, b),\r\n * otherwise return false.\r\n */\r\n P.isLessThan = P.lt = function (y, b) {\r\n return compare(this, new BigNumber(y, b)) < 0;\r\n };\r\n\r\n\r\n /*\r\n * Return true if the value of this BigNumber is less than or equal to the value of\r\n * BigNumber(y, b), otherwise return false.\r\n */\r\n P.isLessThanOrEqualTo = P.lte = function (y, b) {\r\n return (b = compare(this, new BigNumber(y, b))) === -1 || b === 0;\r\n };\r\n\r\n\r\n /*\r\n * Return true if the value of this BigNumber is NaN, otherwise return false.\r\n */\r\n P.isNaN = function () {\r\n return !this.s;\r\n };\r\n\r\n\r\n /*\r\n * Return true if the value of this BigNumber is negative, otherwise return false.\r\n */\r\n P.isNegative = function () {\r\n return this.s < 0;\r\n };\r\n\r\n\r\n /*\r\n * Return true if the value of this BigNumber is positive, otherwise return false.\r\n */\r\n P.isPositive = function () {\r\n return this.s > 0;\r\n };\r\n\r\n\r\n /*\r\n * Return true if the value of this BigNumber is 0 or -0, otherwise return false.\r\n */\r\n P.isZero = function () {\r\n return !!this.c && this.c[0] == 0;\r\n };\r\n\r\n\r\n /*\r\n * n - 0 = n\r\n * n - N = N\r\n * n - I = -I\r\n * 0 - n = -n\r\n * 0 - 0 = 0\r\n * 0 - N = N\r\n * 0 - I = -I\r\n * N - n = N\r\n * N - 0 = N\r\n * N - N = N\r\n * N - I = N\r\n * I - n = I\r\n * I - 0 = I\r\n * I - N = N\r\n * I - I = N\r\n *\r\n * Return a new BigNumber whose value is the value of this BigNumber minus the value of\r\n * BigNumber(y, b).\r\n */\r\n P.minus = function (y, b) {\r\n var i, j, t, xLTy,\r\n x = this,\r\n a = x.s;\r\n\r\n y = new BigNumber(y, b);\r\n b = y.s;\r\n\r\n // Either NaN?\r\n if (!a || !b) return new BigNumber(NaN);\r\n\r\n // Signs differ?\r\n if (a != b) {\r\n y.s = -b;\r\n return x.plus(y);\r\n }\r\n\r\n var xe = x.e / LOG_BASE,\r\n ye = y.e / LOG_BASE,\r\n xc = x.c,\r\n yc = y.c;\r\n\r\n if (!xe || !ye) {\r\n\r\n // Either Infinity?\r\n if (!xc || !yc) return xc ? (y.s = -b, y) : new BigNumber(yc ? x : NaN);\r\n\r\n // Either zero?\r\n if (!xc[0] || !yc[0]) {\r\n\r\n // Return y if y is non-zero, x if x is non-zero, or zero if both are zero.\r\n return yc[0] ? (y.s = -b, y) : new BigNumber(xc[0] ? x :\r\n\r\n // IEEE 754 (2008) 6.3: n - n = -0 when rounding to -Infinity\r\n ROUNDING_MODE == 3 ? -0 : 0);\r\n }\r\n }\r\n\r\n xe = bitFloor(xe);\r\n ye = bitFloor(ye);\r\n xc = xc.slice();\r\n\r\n // Determine which is the bigger number.\r\n if (a = xe - ye) {\r\n\r\n if (xLTy = a < 0) {\r\n a = -a;\r\n t = xc;\r\n } else {\r\n ye = xe;\r\n t = yc;\r\n }\r\n\r\n t.reverse();\r\n\r\n // Prepend zeros to equalise exponents.\r\n for (b = a; b--; t.push(0));\r\n t.reverse();\r\n } else {\r\n\r\n // Exponents equal. Check digit by digit.\r\n j = (xLTy = (a = xc.length) < (b = yc.length)) ? a : b;\r\n\r\n for (a = b = 0; b < j; b++) {\r\n\r\n if (xc[b] != yc[b]) {\r\n xLTy = xc[b] < yc[b];\r\n break;\r\n }\r\n }\r\n }\r\n\r\n // x < y? Point xc to the array of the bigger number.\r\n if (xLTy) t = xc, xc = yc, yc = t, y.s = -y.s;\r\n\r\n b = (j = yc.length) - (i = xc.length);\r\n\r\n // Append zeros to xc if shorter.\r\n // No need to add zeros to yc if shorter as subtract only needs to start at yc.length.\r\n if (b > 0) for (; b--; xc[i++] = 0);\r\n b = BASE - 1;\r\n\r\n // Subtract yc from xc.\r\n for (; j > a;) {\r\n\r\n if (xc[--j] < yc[j]) {\r\n for (i = j; i && !xc[--i]; xc[i] = b);\r\n --xc[i];\r\n xc[j] += BASE;\r\n }\r\n\r\n xc[j] -= yc[j];\r\n }\r\n\r\n // Remove leading zeros and adjust exponent accordingly.\r\n for (; xc[0] == 0; xc.splice(0, 1), --ye);\r\n\r\n // Zero?\r\n if (!xc[0]) {\r\n\r\n // Following IEEE 754 (2008) 6.3,\r\n // n - n = +0 but n - n = -0 when rounding towards -Infinity.\r\n y.s = ROUNDING_MODE == 3 ? -1 : 1;\r\n y.c = [y.e = 0];\r\n return y;\r\n }\r\n\r\n // No need to check for Infinity as +x - +y != Infinity && -x - -y != Infinity\r\n // for finite x and y.\r\n return normalise(y, xc, ye);\r\n };\r\n\r\n\r\n /*\r\n * n % 0 = N\r\n * n % N = N\r\n * n % I = n\r\n * 0 % n = 0\r\n * -0 % n = -0\r\n * 0 % 0 = N\r\n * 0 % N = N\r\n * 0 % I = 0\r\n * N % n = N\r\n * N % 0 = N\r\n * N % N = N\r\n * N % I = N\r\n * I % n = N\r\n * I % 0 = N\r\n * I % N = N\r\n * I % I = N\r\n *\r\n * Return a new BigNumber whose value is the value of this BigNumber modulo the value of\r\n * BigNumber(y, b). The result depends on the value of MODULO_MODE.\r\n */\r\n P.modulo = P.mod = function (y, b) {\r\n var q, s,\r\n x = this;\r\n\r\n y = new BigNumber(y, b);\r\n\r\n // Return NaN if x is Infinity or NaN, or y is NaN or zero.\r\n if (!x.c || !y.s || y.c && !y.c[0]) {\r\n return new BigNumber(NaN);\r\n\r\n // Return x if y is Infinity or x is zero.\r\n } else if (!y.c || x.c && !x.c[0]) {\r\n return new BigNumber(x);\r\n }\r\n\r\n if (MODULO_MODE == 9) {\r\n\r\n // Euclidian division: q = sign(y) * floor(x / abs(y))\r\n // r = x - qy where 0 <= r < abs(y)\r\n s = y.s;\r\n y.s = 1;\r\n q = div(x, y, 0, 3);\r\n y.s = s;\r\n q.s *= s;\r\n } else {\r\n q = div(x, y, 0, MODULO_MODE);\r\n }\r\n\r\n y = x.minus(q.times(y));\r\n\r\n // To match JavaScript %, ensure sign of zero is sign of dividend.\r\n if (!y.c[0] && MODULO_MODE == 1) y.s = x.s;\r\n\r\n return y;\r\n };\r\n\r\n\r\n /*\r\n * n * 0 = 0\r\n * n * N = N\r\n * n * I = I\r\n * 0 * n = 0\r\n * 0 * 0 = 0\r\n * 0 * N = N\r\n * 0 * I = N\r\n * N * n = N\r\n * N * 0 = N\r\n * N * N = N\r\n * N * I = N\r\n * I * n = I\r\n * I * 0 = N\r\n * I * N = N\r\n * I * I = I\r\n *\r\n * Return a new BigNumber whose value is the value of this BigNumber multiplied by the value\r\n * of BigNumber(y, b).\r\n */\r\n P.multipliedBy = P.times = function (y, b) {\r\n var c, e, i, j, k, m, xcL, xlo, xhi, ycL, ylo, yhi, zc,\r\n base, sqrtBase,\r\n x = this,\r\n xc = x.c,\r\n yc = (y = new BigNumber(y, b)).c;\r\n\r\n // Either NaN, ±Infinity or ±0?\r\n if (!xc || !yc || !xc[0] || !yc[0]) {\r\n\r\n // Return NaN if either is NaN, or one is 0 and the other is Infinity.\r\n if (!x.s || !y.s || xc && !xc[0] && !yc || yc && !yc[0] && !xc) {\r\n y.c = y.e = y.s = null;\r\n } else {\r\n y.s *= x.s;\r\n\r\n // Return ±Infinity if either is ±Infinity.\r\n if (!xc || !yc) {\r\n y.c = y.e = null;\r\n\r\n // Return ±0 if either is ±0.\r\n } else {\r\n y.c = [0];\r\n y.e = 0;\r\n }\r\n }\r\n\r\n return y;\r\n }\r\n\r\n e = bitFloor(x.e / LOG_BASE) + bitFloor(y.e / LOG_BASE);\r\n y.s *= x.s;\r\n xcL = xc.length;\r\n ycL = yc.length;\r\n\r\n // Ensure xc points to longer array and xcL to its length.\r\n if (xcL < ycL) zc = xc, xc = yc, yc = zc, i = xcL, xcL = ycL, ycL = i;\r\n\r\n // Initialise the result array with zeros.\r\n for (i = xcL + ycL, zc = []; i--; zc.push(0));\r\n\r\n base = BASE;\r\n sqrtBase = SQRT_BASE;\r\n\r\n for (i = ycL; --i >= 0;) {\r\n c = 0;\r\n ylo = yc[i] % sqrtBase;\r\n yhi = yc[i] / sqrtBase | 0;\r\n\r\n for (k = xcL, j = i + k; j > i;) {\r\n xlo = xc[--k] % sqrtBase;\r\n xhi = xc[k] / sqrtBase | 0;\r\n m = yhi * xlo + xhi * ylo;\r\n xlo = ylo * xlo + ((m % sqrtBase) * sqrtBase) + zc[j] + c;\r\n c = (xlo / base | 0) + (m / sqrtBase | 0) + yhi * xhi;\r\n zc[j--] = xlo % base;\r\n }\r\n\r\n zc[j] = c;\r\n }\r\n\r\n if (c) {\r\n ++e;\r\n } else {\r\n zc.splice(0, 1);\r\n }\r\n\r\n return normalise(y, zc, e);\r\n };\r\n\r\n\r\n /*\r\n * Return a new BigNumber whose value is the value of this BigNumber negated,\r\n * i.e. multiplied by -1.\r\n */\r\n P.negated = function () {\r\n var x = new BigNumber(this);\r\n x.s = -x.s || null;\r\n return x;\r\n };\r\n\r\n\r\n /*\r\n * n + 0 = n\r\n * n + N = N\r\n * n + I = I\r\n * 0 + n = n\r\n * 0 + 0 = 0\r\n * 0 + N = N\r\n * 0 + I = I\r\n * N + n = N\r\n * N + 0 = N\r\n * N + N = N\r\n * N + I = N\r\n * I + n = I\r\n * I + 0 = I\r\n * I + N = N\r\n * I + I = I\r\n *\r\n * Return a new BigNumber whose value is the value of this BigNumber plus the value of\r\n * BigNumber(y, b).\r\n */\r\n P.plus = function (y, b) {\r\n var t,\r\n x = this,\r\n a = x.s;\r\n\r\n y = new BigNumber(y, b);\r\n b = y.s;\r\n\r\n // Either NaN?\r\n if (!a || !b) return new BigNumber(NaN);\r\n\r\n // Signs differ?\r\n if (a != b) {\r\n y.s = -b;\r\n return x.minus(y);\r\n }\r\n\r\n var xe = x.e / LOG_BASE,\r\n ye = y.e / LOG_BASE,\r\n xc = x.c,\r\n yc = y.c;\r\n\r\n if (!xe || !ye) {\r\n\r\n // Return ±Infinity if either ±Infinity.\r\n if (!xc || !yc) return new BigNumber(a / 0);\r\n\r\n // Either zero?\r\n // Return y if y is non-zero, x if x is non-zero, or zero if both are zero.\r\n if (!xc[0] || !yc[0]) return yc[0] ? y : new BigNumber(xc[0] ? x : a * 0);\r\n }\r\n\r\n xe = bitFloor(xe);\r\n ye = bitFloor(ye);\r\n xc = xc.slice();\r\n\r\n // Prepend zeros to equalise exponents. Faster to use reverse then do unshifts.\r\n if (a = xe - ye) {\r\n if (a > 0) {\r\n ye = xe;\r\n t = yc;\r\n } else {\r\n a = -a;\r\n t = xc;\r\n }\r\n\r\n t.reverse();\r\n for (; a--; t.push(0));\r\n t.reverse();\r\n }\r\n\r\n a = xc.length;\r\n b = yc.length;\r\n\r\n // Point xc to the longer array, and b to the shorter length.\r\n if (a - b < 0) t = yc, yc = xc, xc = t, b = a;\r\n\r\n // Only start adding at yc.length - 1 as the further digits of xc can be ignored.\r\n for (a = 0; b;) {\r\n a = (xc[--b] = xc[b] + yc[b] + a) / BASE | 0;\r\n xc[b] = BASE === xc[b] ? 0 : xc[b] % BASE;\r\n }\r\n\r\n if (a) {\r\n xc = [a].concat(xc);\r\n ++ye;\r\n }\r\n\r\n // No need to check for zero, as +x + +y != 0 && -x + -y != 0\r\n // ye = MAX_EXP + 1 possible\r\n return normalise(y, xc, ye);\r\n };\r\n\r\n\r\n /*\r\n * If sd is undefined or null or true or false, return the number of significant digits of\r\n * the value of this BigNumber, or null if the value of this BigNumber is ±Infinity or NaN.\r\n * If sd is true include integer-part trailing zeros in the count.\r\n *\r\n * Otherwise, if sd is a number, return a new BigNumber whose value is the value of this\r\n * BigNumber rounded to a maximum of sd significant digits using rounding mode rm, or\r\n * ROUNDING_MODE if rm is omitted.\r\n *\r\n * sd {number|boolean} number: significant digits: integer, 1 to MAX inclusive.\r\n * boolean: whether to count integer-part trailing zeros: true or false.\r\n * [rm] {number} Rounding mode. Integer, 0 to 8 inclusive.\r\n *\r\n * '[BigNumber Error] Argument {not a primitive number|not an integer|out of range}: {sd|rm}'\r\n */\r\n P.precision = P.sd = function (sd, rm) {\r\n var c, n, v,\r\n x = this;\r\n\r\n if (sd != null && sd !== !!sd) {\r\n intCheck(sd, 1, MAX);\r\n if (rm == null) rm = ROUNDING_MODE;\r\n else intCheck(rm, 0, 8);\r\n\r\n return round(new BigNumber(x), sd, rm);\r\n }\r\n\r\n if (!(c = x.c)) return null;\r\n v = c.length - 1;\r\n n = v * LOG_BASE + 1;\r\n\r\n if (v = c[v]) {\r\n\r\n // Subtract the number of trailing zeros of the last element.\r\n for (; v % 10 == 0; v /= 10, n--);\r\n\r\n // Add the number of digits of the first element.\r\n for (v = c[0]; v >= 10; v /= 10, n++);\r\n }\r\n\r\n if (sd && x.e + 1 > n) n = x.e + 1;\r\n\r\n return n;\r\n };\r\n\r\n\r\n /*\r\n * Return a new BigNumber whose value is the value of this BigNumber shifted by k places\r\n * (powers of 10). Shift to the right if n > 0, and to the left if n < 0.\r\n *\r\n * k {number} Integer, -MAX_SAFE_INTEGER to MAX_SAFE_INTEGER inclusive.\r\n *\r\n * '[BigNumber Error] Argument {not a primitive number|not an integer|out of range}: {k}'\r\n */\r\n P.shiftedBy = function (k) {\r\n intCheck(k, -MAX_SAFE_INTEGER, MAX_SAFE_INTEGER);\r\n return this.times('1e' + k);\r\n };\r\n\r\n\r\n /*\r\n * sqrt(-n) = N\r\n * sqrt(N) = N\r\n * sqrt(-I) = N\r\n * sqrt(I) = I\r\n * sqrt(0) = 0\r\n * sqrt(-0) = -0\r\n *\r\n * Return a new BigNumber whose value is the square root of the value of this BigNumber,\r\n * rounded according to DECIMAL_PLACES and ROUNDING_MODE.\r\n */\r\n P.squareRoot = P.sqrt = function () {\r\n var m, n, r, rep, t,\r\n x = this,\r\n c = x.c,\r\n s = x.s,\r\n e = x.e,\r\n dp = DECIMAL_PLACES + 4,\r\n half = new BigNumber('0.5');\r\n\r\n // Negative/NaN/Infinity/zero?\r\n if (s !== 1 || !c || !c[0]) {\r\n return new BigNumber(!s || s < 0 && (!c || c[0]) ? NaN : c ? x : 1 / 0);\r\n }\r\n\r\n // Initial estimate.\r\n s = Math.sqrt(+valueOf(x));\r\n\r\n // Math.sqrt underflow/overflow?\r\n // Pass x to Math.sqrt as integer, then adjust the exponent of the result.\r\n if (s == 0 || s == 1 / 0) {\r\n n = coeffToString(c);\r\n if ((n.length + e) % 2 == 0) n += '0';\r\n s = Math.sqrt(+n);\r\n e = bitFloor((e + 1) / 2) - (e < 0 || e % 2);\r\n\r\n if (s == 1 / 0) {\r\n n = '5e' + e;\r\n } else {\r\n n = s.toExponential();\r\n n = n.slice(0, n.indexOf('e') + 1) + e;\r\n }\r\n\r\n r = new BigNumber(n);\r\n } else {\r\n r = new BigNumber(s + '');\r\n }\r\n\r\n // Check for zero.\r\n // r could be zero if MIN_EXP is changed after the this value was created.\r\n // This would cause a division by zero (x/t) and hence Infinity below, which would cause\r\n // coeffToString to throw.\r\n if (r.c[0]) {\r\n e = r.e;\r\n s = e + dp;\r\n if (s < 3) s = 0;\r\n\r\n // Newton-Raphson iteration.\r\n for (; ;) {\r\n t = r;\r\n r = half.times(t.plus(div(x, t, dp, 1)));\r\n\r\n if (coeffToString(t.c).slice(0, s) === (n = coeffToString(r.c)).slice(0, s)) {\r\n\r\n // The exponent of r may here be one less than the final result exponent,\r\n // e.g 0.0009999 (e-4) --> 0.001 (e-3), so adjust s so the rounding digits\r\n // are indexed correctly.\r\n if (r.e < e) --s;\r\n n = n.slice(s - 3, s + 1);\r\n\r\n // The 4th rounding digit may be in error by -1 so if the 4 rounding digits\r\n // are 9999 or 4999 (i.e. approaching a rounding boundary) continue the\r\n // iteration.\r\n if (n == '9999' || !rep && n == '4999') {\r\n\r\n // On the first iteration only, check to see if rounding up gives the\r\n // exact result as the nines may infinitely repeat.\r\n if (!rep) {\r\n round(t, t.e + DECIMAL_PLACES + 2, 0);\r\n\r\n if (t.times(t).eq(x)) {\r\n r = t;\r\n break;\r\n }\r\n }\r\n\r\n dp += 4;\r\n s += 4;\r\n rep = 1;\r\n } else {\r\n\r\n // If rounding digits are null, 0{0,4} or 50{0,3}, check for exact\r\n // result. If not, then there are further digits and m will be truthy.\r\n if (!+n || !+n.slice(1) && n.charAt(0) == '5') {\r\n\r\n // Truncate to the first rounding digit.\r\n round(r, r.e + DECIMAL_PLACES + 2, 1);\r\n m = !r.times(r).eq(x);\r\n }\r\n\r\n break;\r\n }\r\n }\r\n }\r\n }\r\n\r\n return round(r, r.e + DECIMAL_PLACES + 1, ROUNDING_MODE, m);\r\n };\r\n\r\n\r\n /*\r\n * Return a string representing the value of this BigNumber in exponential notation and\r\n * rounded using ROUNDING_MODE to dp fixed decimal places.\r\n *\r\n * [dp] {number} Decimal places. Integer, 0 to MAX inclusive.\r\n * [rm] {number} Rounding mode. Integer, 0 to 8 inclusive.\r\n *\r\n * '[BigNumber Error] Argument {not a primitive number|not an integer|out of range}: {dp|rm}'\r\n */\r\n P.toExponential = function (dp, rm) {\r\n if (dp != null) {\r\n intCheck(dp, 0, MAX);\r\n dp++;\r\n }\r\n return format(this, dp, rm, 1);\r\n };\r\n\r\n\r\n /*\r\n * Return a string representing the value of this BigNumber in fixed-point notation rounding\r\n * to dp fixed decimal places using rounding mode rm, or ROUNDING_MODE if rm is omitted.\r\n *\r\n * Note: as with JavaScript's number type, (-0).toFixed(0) is '0',\r\n * but e.g. (-0.00001).toFixed(0) is '-0'.\r\n *\r\n * [dp] {number} Decimal places. Integer, 0 to MAX inclusive.\r\n * [rm] {number} Rounding mode. Integer, 0 to 8 inclusive.\r\n *\r\n * '[BigNumber Error] Argument {not a primitive number|not an integer|out of range}: {dp|rm}'\r\n */\r\n P.toFixed = function (dp, rm) {\r\n if (dp != null) {\r\n intCheck(dp, 0, MAX);\r\n dp = dp + this.e + 1;\r\n }\r\n return format(this, dp, rm);\r\n };\r\n\r\n\r\n /*\r\n * Return a string representing the value of this BigNumber in fixed-point notation rounded\r\n * using rm or ROUNDING_MODE to dp decimal places, and formatted according to the properties\r\n * of the format or FORMAT object (see BigNumber.set).\r\n *\r\n * The formatting object may contain some or all of the properties shown below.\r\n *\r\n * FORMAT = {\r\n * prefix: '',\r\n * groupSize: 3,\r\n * secondaryGroupSize: 0,\r\n * groupSeparator: ',',\r\n * decimalSeparator: '.',\r\n * fractionGroupSize: 0,\r\n * fractionGroupSeparator: '\\xA0', // non-breaking space\r\n * suffix: ''\r\n * };\r\n *\r\n * [dp] {number} Decimal places. Integer, 0 to MAX inclusive.\r\n * [rm] {number} Rounding mode. Integer, 0 to 8 inclusive.\r\n * [format] {object} Formatting options. See FORMAT pbject above.\r\n *\r\n * '[BigNumber Error] Argument {not a primitive number|not an integer|out of range}: {dp|rm}'\r\n * '[BigNumber Error] Argument not an object: {format}'\r\n */\r\n P.toFormat = function (dp, rm, format) {\r\n var str,\r\n x = this;\r\n\r\n if (format == null) {\r\n if (dp != null && rm && typeof rm == 'object') {\r\n format = rm;\r\n rm = null;\r\n } else if (dp && typeof dp == 'object') {\r\n format = dp;\r\n dp = rm = null;\r\n } else {\r\n format = FORMAT;\r\n }\r\n } else if (typeof format != 'object') {\r\n throw Error\r\n (bignumberError + 'Argument not an object: ' + format);\r\n }\r\n\r\n str = x.toFixed(dp, rm);\r\n\r\n if (x.c) {\r\n var i,\r\n arr = str.split('.'),\r\n g1 = +format.groupSize,\r\n g2 = +format.secondaryGroupSize,\r\n groupSeparator = format.groupSeparator || '',\r\n intPart = arr[0],\r\n fractionPart = arr[1],\r\n isNeg = x.s < 0,\r\n intDigits = isNeg ? intPart.slice(1) : intPart,\r\n len = intDigits.length;\r\n\r\n if (g2) i = g1, g1 = g2, g2 = i, len -= i;\r\n\r\n if (g1 > 0 && len > 0) {\r\n i = len % g1 || g1;\r\n intPart = intDigits.substr(0, i);\r\n for (; i < len; i += g1) intPart += groupSeparator + intDigits.substr(i, g1);\r\n if (g2 > 0) intPart += groupSeparator + intDigits.slice(i);\r\n if (isNeg) intPart = '-' + intPart;\r\n }\r\n\r\n str = fractionPart\r\n ? intPart + (format.decimalSeparator || '') + ((g2 = +format.fractionGroupSize)\r\n ? fractionPart.replace(new RegExp('\\\\d{' + g2 + '}\\\\B', 'g'),\r\n '$&' + (format.fractionGroupSeparator || ''))\r\n : fractionPart)\r\n : intPart;\r\n }\r\n\r\n return (format.prefix || '') + str + (format.suffix || '');\r\n };\r\n\r\n\r\n /*\r\n * Return an array of two BigNumbers representing the value of this BigNumber as a simple\r\n * fraction with an integer numerator and an integer denominator.\r\n * The denominator will be a positive non-zero value less than or equal to the specified\r\n * maximum denominator. If a maximum denominator is not specified, the denominator will be\r\n * the lowest value necessary to represent the number exactly.\r\n *\r\n * [md] {number|string|BigNumber} Integer >= 1, or Infinity. The maximum denominator.\r\n *\r\n * '[BigNumber Error] Argument {not an integer|out of range} : {md}'\r\n */\r\n P.toFraction = function (md) {\r\n var d, d0, d1, d2, e, exp, n, n0, n1, q, r, s,\r\n x = this,\r\n xc = x.c;\r\n\r\n if (md != null) {\r\n n = new BigNumber(md);\r\n\r\n // Throw if md is less than one or is not an integer, unless it is Infinity.\r\n if (!n.isInteger() && (n.c || n.s !== 1) || n.lt(ONE)) {\r\n throw Error\r\n (bignumberError + 'Argument ' +\r\n (n.isInteger() ? 'out of range: ' : 'not an integer: ') + valueOf(n));\r\n }\r\n }\r\n\r\n if (!xc) return new BigNumber(x);\r\n\r\n d = new BigNumber(ONE);\r\n n1 = d0 = new BigNumber(ONE);\r\n d1 = n0 = new BigNumber(ONE);\r\n s = coeffToString(xc);\r\n\r\n // Determine initial denominator.\r\n // d is a power of 10 and the minimum max denominator that specifies the value exactly.\r\n e = d.e = s.length - x.e - 1;\r\n d.c[0] = POWS_TEN[(exp = e % LOG_BASE) < 0 ? LOG_BASE + exp : exp];\r\n md = !md || n.comparedTo(d) > 0 ? (e > 0 ? d : n1) : n;\r\n\r\n exp = MAX_EXP;\r\n MAX_EXP = 1 / 0;\r\n n = new BigNumber(s);\r\n\r\n // n0 = d1 = 0\r\n n0.c[0] = 0;\r\n\r\n for (; ;) {\r\n q = div(n, d, 0, 1);\r\n d2 = d0.plus(q.times(d1));\r\n if (d2.comparedTo(md) == 1) break;\r\n d0 = d1;\r\n d1 = d2;\r\n n1 = n0.plus(q.times(d2 = n1));\r\n n0 = d2;\r\n d = n.minus(q.times(d2 = d));\r\n n = d2;\r\n }\r\n\r\n d2 = div(md.minus(d0), d1, 0, 1);\r\n n0 = n0.plus(d2.times(n1));\r\n d0 = d0.plus(d2.times(d1));\r\n n0.s = n1.s = x.s;\r\n e = e * 2;\r\n\r\n // Determine which fraction is closer to x, n0/d0 or n1/d1\r\n r = div(n1, d1, e, ROUNDING_MODE).minus(x).abs().comparedTo(\r\n div(n0, d0, e, ROUNDING_MODE).minus(x).abs()) < 1 ? [n1, d1] : [n0, d0];\r\n\r\n MAX_EXP = exp;\r\n\r\n return r;\r\n };\r\n\r\n\r\n /*\r\n * Return the value of this BigNumber converted to a number primitive.\r\n */\r\n P.toNumber = function () {\r\n return +valueOf(this);\r\n };\r\n\r\n\r\n /*\r\n * Return a string representing the value of this BigNumber rounded to sd significant digits\r\n * using rounding mode rm or ROUNDING_MODE. If sd is less than the number of digits\r\n * necessary to represent the integer part of the value in fixed-point notation, then use\r\n * exponential notation.\r\n *\r\n * [sd] {number} Significant digits. Integer, 1 to MAX inclusive.\r\n * [rm] {number} Rounding mode. Integer, 0 to 8 inclusive.\r\n *\r\n * '[BigNumber Error] Argument {not a primitive number|not an integer|out of range}: {sd|rm}'\r\n */\r\n P.toPrecision = function (sd, rm) {\r\n if (sd != null) intCheck(sd, 1, MAX);\r\n return format(this, sd, rm, 2);\r\n };\r\n\r\n\r\n /*\r\n * Return a string representing the value of this BigNumber in base b, or base 10 if b is\r\n * omitted. If a base is specified, including base 10, round according to DECIMAL_PLACES and\r\n * ROUNDING_MODE. If a base is not specified, and this BigNumber has a positive exponent\r\n * that is equal to or greater than TO_EXP_POS, or a negative exponent equal to or less than\r\n * TO_EXP_NEG, return exponential notation.\r\n *\r\n * [b] {number} Integer, 2 to ALPHABET.length inclusive.\r\n *\r\n * '[BigNumber Error] Base {not a primitive number|not an integer|out of range}: {b}'\r\n */\r\n P.toString = function (b) {\r\n var str,\r\n n = this,\r\n s = n.s,\r\n e = n.e;\r\n\r\n // Infinity or NaN?\r\n if (e === null) {\r\n if (s) {\r\n str = 'Infinity';\r\n if (s < 0) str = '-' + str;\r\n } else {\r\n str = 'NaN';\r\n }\r\n } else {\r\n if (b == null) {\r\n str = e <= TO_EXP_NEG || e >= TO_EXP_POS\r\n ? toExponential(coeffToString(n.c), e)\r\n : toFixedPoint(coeffToString(n.c), e, '0');\r\n } else if (b === 10 && alphabetHasNormalDecimalDigits) {\r\n n = round(new BigNumber(n), DECIMAL_PLACES + e + 1, ROUNDING_MODE);\r\n str = toFixedPoint(coeffToString(n.c), n.e, '0');\r\n } else {\r\n intCheck(b, 2, ALPHABET.length, 'Base');\r\n str = convertBase(toFixedPoint(coeffToString(n.c), e, '0'), 10, b, s, true);\r\n }\r\n\r\n if (s < 0 && n.c[0]) str = '-' + str;\r\n }\r\n\r\n return str;\r\n };\r\n\r\n\r\n /*\r\n * Return as toString, but do not accept a base argument, and include the minus sign for\r\n * negative zero.\r\n */\r\n P.valueOf = P.toJSON = function () {\r\n return valueOf(this);\r\n };\r\n\r\n\r\n P._isBigNumber = true;\r\n\r\n P[Symbol.toStringTag] = 'BigNumber';\r\n\r\n // Node.js v10.12.0+\r\n P[Symbol.for('nodejs.util.inspect.custom')] = P.valueOf;\r\n\r\n if (configObject != null) BigNumber.set(configObject);\r\n\r\n return BigNumber;\r\n}\r\n\r\n\r\n// PRIVATE HELPER FUNCTIONS\r\n\r\n// These functions don't need access to variables,\r\n// e.g. DECIMAL_PLACES, in the scope of the `clone` function above.\r\n\r\n\r\nfunction bitFloor(n) {\r\n var i = n | 0;\r\n return n > 0 || n === i ? i : i - 1;\r\n}\r\n\r\n\r\n// Return a coefficient array as a string of base 10 digits.\r\nfunction coeffToString(a) {\r\n var s, z,\r\n i = 1,\r\n j = a.length,\r\n r = a[0] + '';\r\n\r\n for (; i < j;) {\r\n s = a[i++] + '';\r\n z = LOG_BASE - s.length;\r\n for (; z--; s = '0' + s);\r\n r += s;\r\n }\r\n\r\n // Determine trailing zeros.\r\n for (j = r.length; r.charCodeAt(--j) === 48;);\r\n\r\n return r.slice(0, j + 1 || 1);\r\n}\r\n\r\n\r\n// Compare the value of BigNumbers x and y.\r\nfunction compare(x, y) {\r\n var a, b,\r\n xc = x.c,\r\n yc = y.c,\r\n i = x.s,\r\n j = y.s,\r\n k = x.e,\r\n l = y.e;\r\n\r\n // Either NaN?\r\n if (!i || !j) return null;\r\n\r\n a = xc && !xc[0];\r\n b = yc && !yc[0];\r\n\r\n // Either zero?\r\n if (a || b) return a ? b ? 0 : -j : i;\r\n\r\n // Signs differ?\r\n if (i != j) return i;\r\n\r\n a = i < 0;\r\n b = k == l;\r\n\r\n // Either Infinity?\r\n if (!xc || !yc) return b ? 0 : !xc ^ a ? 1 : -1;\r\n\r\n // Compare exponents.\r\n if (!b) return k > l ^ a ? 1 : -1;\r\n\r\n j = (k = xc.length) < (l = yc.length) ? k : l;\r\n\r\n // Compare digit by digit.\r\n for (i = 0; i < j; i++) if (xc[i] != yc[i]) return xc[i] > yc[i] ^ a ? 1 : -1;\r\n\r\n // Compare lengths.\r\n return k == l ? 0 : k > l ^ a ? 1 : -1;\r\n}\r\n\r\n\r\n/*\r\n * Check that n is a primitive number, an integer, and in range, otherwise throw.\r\n */\r\nfunction intCheck(n, min, max, name) {\r\n if (n < min || n > max || n !== mathfloor(n)) {\r\n throw Error\r\n (bignumberError + (name || 'Argument') + (typeof n == 'number'\r\n ? n < min || n > max ? ' out of range: ' : ' not an integer: '\r\n : ' not a primitive number: ') + String(n));\r\n }\r\n}\r\n\r\n\r\n// Assumes finite n.\r\nfunction isOdd(n) {\r\n var k = n.c.length - 1;\r\n return bitFloor(n.e / LOG_BASE) == k && n.c[k] % 2 != 0;\r\n}\r\n\r\n\r\nfunction toExponential(str, e) {\r\n return (str.length > 1 ? str.charAt(0) + '.' + str.slice(1) : str) +\r\n (e < 0 ? 'e' : 'e+') + e;\r\n}\r\n\r\n\r\nfunction toFixedPoint(str, e, z) {\r\n var len, zs;\r\n\r\n // Negative exponent?\r\n if (e < 0) {\r\n\r\n // Prepend zeros.\r\n for (zs = z + '.'; ++e; zs += z);\r\n str = zs + str;\r\n\r\n // Positive exponent\r\n } else {\r\n len = str.length;\r\n\r\n // Append zeros.\r\n if (++e > len) {\r\n for (zs = z, e -= len; --e; zs += z);\r\n str += zs;\r\n } else if (e < len) {\r\n str = str.slice(0, e) + '.' + str.slice(e);\r\n }\r\n }\r\n\r\n return str;\r\n}\r\n\r\n\r\n// EXPORT\r\n\r\n\r\nexport var BigNumber = clone();\r\n\r\nexport default BigNumber;\r\n","const a = (n, ord) => {\n if (ord) return 'other';\n return n == 1 ? 'one' : 'other';\n};\nconst b = (n, ord) => {\n if (ord) return 'other';\n return (n == 0 || n == 1) ? 'one' : 'other';\n};\nconst c = (n, ord) => {\n if (ord) return 'other';\n return n >= 0 && n <= 1 ? 'one' : 'other';\n};\nconst d = (n, ord) => {\n const s = String(n).split('.'), v0 = !s[1];\n if (ord) return 'other';\n return n == 1 && v0 ? 'one' : 'other';\n};\nconst e = (n, ord) => 'other';\nconst f = (n, ord) => {\n if (ord) return 'other';\n return n == 1 ? 'one'\n : n == 2 ? 'two'\n : 'other';\n};\n\nexport const af = a;\nexport const ak = b;\nexport const am = c;\nexport const an = a;\nexport const ar = (n, ord) => {\n const s = String(n).split('.'), t0 = Number(s[0]) == n, n100 = t0 && s[0].slice(-2);\n if (ord) return 'other';\n return n == 0 ? 'zero'\n : n == 1 ? 'one'\n : n == 2 ? 'two'\n : (n100 >= 3 && n100 <= 10) ? 'few'\n : (n100 >= 11 && n100 <= 99) ? 'many'\n : 'other';\n};\nexport const ars = (n, ord) => {\n const s = String(n).split('.'), t0 = Number(s[0]) == n, n100 = t0 && s[0].slice(-2);\n if (ord) return 'other';\n return n == 0 ? 'zero'\n : n == 1 ? 'one'\n : n == 2 ? 'two'\n : (n100 >= 3 && n100 <= 10) ? 'few'\n : (n100 >= 11 && n100 <= 99) ? 'many'\n : 'other';\n};\nexport const as = (n, ord) => {\n if (ord) return (n == 1 || n == 5 || n == 7 || n == 8 || n == 9 || n == 10) ? 'one'\n : (n == 2 || n == 3) ? 'two'\n : n == 4 ? 'few'\n : n == 6 ? 'many'\n : 'other';\n return n >= 0 && n <= 1 ? 'one' : 'other';\n};\nexport const asa = a;\nexport const ast = d;\nexport const az = (n, ord) => {\n const s = String(n).split('.'), i = s[0], i10 = i.slice(-1), i100 = i.slice(-2), i1000 = i.slice(-3);\n if (ord) return (i10 == 1 || i10 == 2 || i10 == 5 || i10 == 7 || i10 == 8) || (i100 == 20 || i100 == 50 || i100 == 70 || i100 == 80) ? 'one'\n : (i10 == 3 || i10 == 4) || (i1000 == 100 || i1000 == 200 || i1000 == 300 || i1000 == 400 || i1000 == 500 || i1000 == 600 || i1000 == 700 || i1000 == 800 || i1000 == 900) ? 'few'\n : i == 0 || i10 == 6 || (i100 == 40 || i100 == 60 || i100 == 90) ? 'many'\n : 'other';\n return n == 1 ? 'one' : 'other';\n};\nexport const bal = (n, ord) => n == 1 ? 'one' : 'other';\nexport const be = (n, ord) => {\n const s = String(n).split('.'), t0 = Number(s[0]) == n, n10 = t0 && s[0].slice(-1), n100 = t0 && s[0].slice(-2);\n if (ord) return (n10 == 2 || n10 == 3) && n100 != 12 && n100 != 13 ? 'few' : 'other';\n return n10 == 1 && n100 != 11 ? 'one'\n : (n10 >= 2 && n10 <= 4) && (n100 < 12 || n100 > 14) ? 'few'\n : t0 && n10 == 0 || (n10 >= 5 && n10 <= 9) || (n100 >= 11 && n100 <= 14) ? 'many'\n : 'other';\n};\nexport const bem = a;\nexport const bez = a;\nexport const bg = a;\nexport const bho = b;\nexport const bm = e;\nexport const bn = (n, ord) => {\n if (ord) return (n == 1 || n == 5 || n == 7 || n == 8 || n == 9 || n == 10) ? 'one'\n : (n == 2 || n == 3) ? 'two'\n : n == 4 ? 'few'\n : n == 6 ? 'many'\n : 'other';\n return n >= 0 && n <= 1 ? 'one' : 'other';\n};\nexport const bo = e;\nexport const br = (n, ord) => {\n const s = String(n).split('.'), t0 = Number(s[0]) == n, n10 = t0 && s[0].slice(-1), n100 = t0 && s[0].slice(-2), n1000000 = t0 && s[0].slice(-6);\n if (ord) return 'other';\n return n10 == 1 && n100 != 11 && n100 != 71 && n100 != 91 ? 'one'\n : n10 == 2 && n100 != 12 && n100 != 72 && n100 != 92 ? 'two'\n : ((n10 == 3 || n10 == 4) || n10 == 9) && (n100 < 10 || n100 > 19) && (n100 < 70 || n100 > 79) && (n100 < 90 || n100 > 99) ? 'few'\n : n != 0 && t0 && n1000000 == 0 ? 'many'\n : 'other';\n};\nexport const brx = a;\nexport const bs = (n, ord) => {\n const s = String(n).split('.'), i = s[0], f = s[1] || '', v0 = !s[1], i10 = i.slice(-1), i100 = i.slice(-2), f10 = f.slice(-1), f100 = f.slice(-2);\n if (ord) return 'other';\n return v0 && i10 == 1 && i100 != 11 || f10 == 1 && f100 != 11 ? 'one'\n : v0 && (i10 >= 2 && i10 <= 4) && (i100 < 12 || i100 > 14) || (f10 >= 2 && f10 <= 4) && (f100 < 12 || f100 > 14) ? 'few'\n : 'other';\n};\nexport const ca = (n, ord) => {\n const s = String(n).split('.'), i = s[0], v0 = !s[1], i1000000 = i.slice(-6);\n if (ord) return (n == 1 || n == 3) ? 'one'\n : n == 2 ? 'two'\n : n == 4 ? 'few'\n : 'other';\n return n == 1 && v0 ? 'one'\n : i != 0 && i1000000 == 0 && v0 ? 'many'\n : 'other';\n};\nexport const ce = a;\nexport const ceb = (n, ord) => {\n const s = String(n).split('.'), i = s[0], f = s[1] || '', v0 = !s[1], i10 = i.slice(-1), f10 = f.slice(-1);\n if (ord) return 'other';\n return v0 && (i == 1 || i == 2 || i == 3) || v0 && i10 != 4 && i10 != 6 && i10 != 9 || !v0 && f10 != 4 && f10 != 6 && f10 != 9 ? 'one' : 'other';\n};\nexport const cgg = a;\nexport const chr = a;\nexport const ckb = a;\nexport const cs = (n, ord) => {\n const s = String(n).split('.'), i = s[0], v0 = !s[1];\n if (ord) return 'other';\n return n == 1 && v0 ? 'one'\n : (i >= 2 && i <= 4) && v0 ? 'few'\n : !v0 ? 'many'\n : 'other';\n};\nexport const cy = (n, ord) => {\n if (ord) return (n == 0 || n == 7 || n == 8 || n == 9) ? 'zero'\n : n == 1 ? 'one'\n : n == 2 ? 'two'\n : (n == 3 || n == 4) ? 'few'\n : (n == 5 || n == 6) ? 'many'\n : 'other';\n return n == 0 ? 'zero'\n : n == 1 ? 'one'\n : n == 2 ? 'two'\n : n == 3 ? 'few'\n : n == 6 ? 'many'\n : 'other';\n};\nexport const da = (n, ord) => {\n const s = String(n).split('.'), i = s[0], t0 = Number(s[0]) == n;\n if (ord) return 'other';\n return n == 1 || !t0 && (i == 0 || i == 1) ? 'one' : 'other';\n};\nexport const de = d;\nexport const doi = c;\nexport const dsb = (n, ord) => {\n const s = String(n).split('.'), i = s[0], f = s[1] || '', v0 = !s[1], i100 = i.slice(-2), f100 = f.slice(-2);\n if (ord) return 'other';\n return v0 && i100 == 1 || f100 == 1 ? 'one'\n : v0 && i100 == 2 || f100 == 2 ? 'two'\n : v0 && (i100 == 3 || i100 == 4) || (f100 == 3 || f100 == 4) ? 'few'\n : 'other';\n};\nexport const dv = a;\nexport const dz = e;\nexport const ee = a;\nexport const el = a;\nexport const en = (n, ord) => {\n const s = String(n).split('.'), v0 = !s[1], t0 = Number(s[0]) == n, n10 = t0 && s[0].slice(-1), n100 = t0 && s[0].slice(-2);\n if (ord) return n10 == 1 && n100 != 11 ? 'one'\n : n10 == 2 && n100 != 12 ? 'two'\n : n10 == 3 && n100 != 13 ? 'few'\n : 'other';\n return n == 1 && v0 ? 'one' : 'other';\n};\nexport const eo = a;\nexport const es = (n, ord) => {\n const s = String(n).split('.'), i = s[0], v0 = !s[1], i1000000 = i.slice(-6);\n if (ord) return 'other';\n return n == 1 ? 'one'\n : i != 0 && i1000000 == 0 && v0 ? 'many'\n : 'other';\n};\nexport const et = d;\nexport const eu = a;\nexport const fa = c;\nexport const ff = (n, ord) => {\n if (ord) return 'other';\n return n >= 0 && n < 2 ? 'one' : 'other';\n};\nexport const fi = d;\nexport const fil = (n, ord) => {\n const s = String(n).split('.'), i = s[0], f = s[1] || '', v0 = !s[1], i10 = i.slice(-1), f10 = f.slice(-1);\n if (ord) return n == 1 ? 'one' : 'other';\n return v0 && (i == 1 || i == 2 || i == 3) || v0 && i10 != 4 && i10 != 6 && i10 != 9 || !v0 && f10 != 4 && f10 != 6 && f10 != 9 ? 'one' : 'other';\n};\nexport const fo = a;\nexport const fr = (n, ord) => {\n const s = String(n).split('.'), i = s[0], v0 = !s[1], i1000000 = i.slice(-6);\n if (ord) return n == 1 ? 'one' : 'other';\n return n >= 0 && n < 2 ? 'one'\n : i != 0 && i1000000 == 0 && v0 ? 'many'\n : 'other';\n};\nexport const fur = a;\nexport const fy = d;\nexport const ga = (n, ord) => {\n const s = String(n).split('.'), t0 = Number(s[0]) == n;\n if (ord) return n == 1 ? 'one' : 'other';\n return n == 1 ? 'one'\n : n == 2 ? 'two'\n : (t0 && n >= 3 && n <= 6) ? 'few'\n : (t0 && n >= 7 && n <= 10) ? 'many'\n : 'other';\n};\nexport const gd = (n, ord) => {\n const s = String(n).split('.'), t0 = Number(s[0]) == n;\n if (ord) return (n == 1 || n == 11) ? 'one'\n : (n == 2 || n == 12) ? 'two'\n : (n == 3 || n == 13) ? 'few'\n : 'other';\n return (n == 1 || n == 11) ? 'one'\n : (n == 2 || n == 12) ? 'two'\n : ((t0 && n >= 3 && n <= 10) || (t0 && n >= 13 && n <= 19)) ? 'few'\n : 'other';\n};\nexport const gl = d;\nexport const gsw = a;\nexport const gu = (n, ord) => {\n if (ord) return n == 1 ? 'one'\n : (n == 2 || n == 3) ? 'two'\n : n == 4 ? 'few'\n : n == 6 ? 'many'\n : 'other';\n return n >= 0 && n <= 1 ? 'one' : 'other';\n};\nexport const guw = b;\nexport const gv = (n, ord) => {\n const s = String(n).split('.'), i = s[0], v0 = !s[1], i10 = i.slice(-1), i100 = i.slice(-2);\n if (ord) return 'other';\n return v0 && i10 == 1 ? 'one'\n : v0 && i10 == 2 ? 'two'\n : v0 && (i100 == 0 || i100 == 20 || i100 == 40 || i100 == 60 || i100 == 80) ? 'few'\n : !v0 ? 'many'\n : 'other';\n};\nexport const ha = a;\nexport const haw = a;\nexport const he = (n, ord) => {\n const s = String(n).split('.'), i = s[0], v0 = !s[1];\n if (ord) return 'other';\n return i == 1 && v0 || i == 0 && !v0 ? 'one'\n : i == 2 && v0 ? 'two'\n : 'other';\n};\nexport const hi = (n, ord) => {\n if (ord) return n == 1 ? 'one'\n : (n == 2 || n == 3) ? 'two'\n : n == 4 ? 'few'\n : n == 6 ? 'many'\n : 'other';\n return n >= 0 && n <= 1 ? 'one' : 'other';\n};\nexport const hnj = e;\nexport const hr = (n, ord) => {\n const s = String(n).split('.'), i = s[0], f = s[1] || '', v0 = !s[1], i10 = i.slice(-1), i100 = i.slice(-2), f10 = f.slice(-1), f100 = f.slice(-2);\n if (ord) return 'other';\n return v0 && i10 == 1 && i100 != 11 || f10 == 1 && f100 != 11 ? 'one'\n : v0 && (i10 >= 2 && i10 <= 4) && (i100 < 12 || i100 > 14) || (f10 >= 2 && f10 <= 4) && (f100 < 12 || f100 > 14) ? 'few'\n : 'other';\n};\nexport const hsb = (n, ord) => {\n const s = String(n).split('.'), i = s[0], f = s[1] || '', v0 = !s[1], i100 = i.slice(-2), f100 = f.slice(-2);\n if (ord) return 'other';\n return v0 && i100 == 1 || f100 == 1 ? 'one'\n : v0 && i100 == 2 || f100 == 2 ? 'two'\n : v0 && (i100 == 3 || i100 == 4) || (f100 == 3 || f100 == 4) ? 'few'\n : 'other';\n};\nexport const hu = (n, ord) => {\n if (ord) return (n == 1 || n == 5) ? 'one' : 'other';\n return n == 1 ? 'one' : 'other';\n};\nexport const hy = (n, ord) => {\n if (ord) return n == 1 ? 'one' : 'other';\n return n >= 0 && n < 2 ? 'one' : 'other';\n};\nexport const ia = d;\nexport const id = e;\nexport const ig = e;\nexport const ii = e;\nexport const io = d;\nexport const is = (n, ord) => {\n const s = String(n).split('.'), i = s[0], t = (s[1] || '').replace(/0+$/, ''), t0 = Number(s[0]) == n, i10 = i.slice(-1), i100 = i.slice(-2);\n if (ord) return 'other';\n return t0 && i10 == 1 && i100 != 11 || t % 10 == 1 && t % 100 != 11 ? 'one' : 'other';\n};\nexport const it = (n, ord) => {\n const s = String(n).split('.'), i = s[0], v0 = !s[1], i1000000 = i.slice(-6);\n if (ord) return (n == 11 || n == 8 || n == 80 || n == 800) ? 'many' : 'other';\n return n == 1 && v0 ? 'one'\n : i != 0 && i1000000 == 0 && v0 ? 'many'\n : 'other';\n};\nexport const iu = f;\nexport const ja = e;\nexport const jbo = e;\nexport const jgo = a;\nexport const jmc = a;\nexport const jv = e;\nexport const jw = e;\nexport const ka = (n, ord) => {\n const s = String(n).split('.'), i = s[0], i100 = i.slice(-2);\n if (ord) return i == 1 ? 'one'\n : i == 0 || ((i100 >= 2 && i100 <= 20) || i100 == 40 || i100 == 60 || i100 == 80) ? 'many'\n : 'other';\n return n == 1 ? 'one' : 'other';\n};\nexport const kab = (n, ord) => {\n if (ord) return 'other';\n return n >= 0 && n < 2 ? 'one' : 'other';\n};\nexport const kaj = a;\nexport const kcg = a;\nexport const kde = e;\nexport const kea = e;\nexport const kk = (n, ord) => {\n const s = String(n).split('.'), t0 = Number(s[0]) == n, n10 = t0 && s[0].slice(-1);\n if (ord) return n10 == 6 || n10 == 9 || t0 && n10 == 0 && n != 0 ? 'many' : 'other';\n return n == 1 ? 'one' : 'other';\n};\nexport const kkj = a;\nexport const kl = a;\nexport const km = e;\nexport const kn = c;\nexport const ko = e;\nexport const ks = a;\nexport const ksb = a;\nexport const ksh = (n, ord) => {\n if (ord) return 'other';\n return n == 0 ? 'zero'\n : n == 1 ? 'one'\n : 'other';\n};\nexport const ku = a;\nexport const kw = (n, ord) => {\n const s = String(n).split('.'), t0 = Number(s[0]) == n, n100 = t0 && s[0].slice(-2), n1000 = t0 && s[0].slice(-3), n100000 = t0 && s[0].slice(-5), n1000000 = t0 && s[0].slice(-6);\n if (ord) return (t0 && n >= 1 && n <= 4) || ((n100 >= 1 && n100 <= 4) || (n100 >= 21 && n100 <= 24) || (n100 >= 41 && n100 <= 44) || (n100 >= 61 && n100 <= 64) || (n100 >= 81 && n100 <= 84)) ? 'one'\n : n == 5 || n100 == 5 ? 'many'\n : 'other';\n return n == 0 ? 'zero'\n : n == 1 ? 'one'\n : (n100 == 2 || n100 == 22 || n100 == 42 || n100 == 62 || n100 == 82) || t0 && n1000 == 0 && ((n100000 >= 1000 && n100000 <= 20000) || n100000 == 40000 || n100000 == 60000 || n100000 == 80000) || n != 0 && n1000000 == 100000 ? 'two'\n : (n100 == 3 || n100 == 23 || n100 == 43 || n100 == 63 || n100 == 83) ? 'few'\n : n != 1 && (n100 == 1 || n100 == 21 || n100 == 41 || n100 == 61 || n100 == 81) ? 'many'\n : 'other';\n};\nexport const ky = a;\nexport const lag = (n, ord) => {\n const s = String(n).split('.'), i = s[0];\n if (ord) return 'other';\n return n == 0 ? 'zero'\n : (i == 0 || i == 1) && n != 0 ? 'one'\n : 'other';\n};\nexport const lb = a;\nexport const lg = a;\nexport const lij = (n, ord) => {\n const s = String(n).split('.'), v0 = !s[1], t0 = Number(s[0]) == n;\n if (ord) return (n == 11 || n == 8 || (t0 && n >= 80 && n <= 89) || (t0 && n >= 800 && n <= 899)) ? 'many' : 'other';\n return n == 1 && v0 ? 'one' : 'other';\n};\nexport const lkt = e;\nexport const ln = b;\nexport const lo = (n, ord) => {\n if (ord) return n == 1 ? 'one' : 'other';\n return 'other';\n};\nexport const lt = (n, ord) => {\n const s = String(n).split('.'), f = s[1] || '', t0 = Number(s[0]) == n, n10 = t0 && s[0].slice(-1), n100 = t0 && s[0].slice(-2);\n if (ord) return 'other';\n return n10 == 1 && (n100 < 11 || n100 > 19) ? 'one'\n : (n10 >= 2 && n10 <= 9) && (n100 < 11 || n100 > 19) ? 'few'\n : f != 0 ? 'many'\n : 'other';\n};\nexport const lv = (n, ord) => {\n const s = String(n).split('.'), f = s[1] || '', v = f.length, t0 = Number(s[0]) == n, n10 = t0 && s[0].slice(-1), n100 = t0 && s[0].slice(-2), f100 = f.slice(-2), f10 = f.slice(-1);\n if (ord) return 'other';\n return t0 && n10 == 0 || (n100 >= 11 && n100 <= 19) || v == 2 && (f100 >= 11 && f100 <= 19) ? 'zero'\n : n10 == 1 && n100 != 11 || v == 2 && f10 == 1 && f100 != 11 || v != 2 && f10 == 1 ? 'one'\n : 'other';\n};\nexport const mas = a;\nexport const mg = b;\nexport const mgo = a;\nexport const mk = (n, ord) => {\n const s = String(n).split('.'), i = s[0], f = s[1] || '', v0 = !s[1], i10 = i.slice(-1), i100 = i.slice(-2), f10 = f.slice(-1), f100 = f.slice(-2);\n if (ord) return i10 == 1 && i100 != 11 ? 'one'\n : i10 == 2 && i100 != 12 ? 'two'\n : (i10 == 7 || i10 == 8) && i100 != 17 && i100 != 18 ? 'many'\n : 'other';\n return v0 && i10 == 1 && i100 != 11 || f10 == 1 && f100 != 11 ? 'one' : 'other';\n};\nexport const ml = a;\nexport const mn = a;\nexport const mo = (n, ord) => {\n const s = String(n).split('.'), v0 = !s[1], t0 = Number(s[0]) == n, n100 = t0 && s[0].slice(-2);\n if (ord) return n == 1 ? 'one' : 'other';\n return n == 1 && v0 ? 'one'\n : !v0 || n == 0 || n != 1 && (n100 >= 1 && n100 <= 19) ? 'few'\n : 'other';\n};\nexport const mr = (n, ord) => {\n if (ord) return n == 1 ? 'one'\n : (n == 2 || n == 3) ? 'two'\n : n == 4 ? 'few'\n : 'other';\n return n == 1 ? 'one' : 'other';\n};\nexport const ms = (n, ord) => {\n if (ord) return n == 1 ? 'one' : 'other';\n return 'other';\n};\nexport const mt = (n, ord) => {\n const s = String(n).split('.'), t0 = Number(s[0]) == n, n100 = t0 && s[0].slice(-2);\n if (ord) return 'other';\n return n == 1 ? 'one'\n : n == 2 ? 'two'\n : n == 0 || (n100 >= 3 && n100 <= 10) ? 'few'\n : (n100 >= 11 && n100 <= 19) ? 'many'\n : 'other';\n};\nexport const my = e;\nexport const nah = a;\nexport const naq = f;\nexport const nb = a;\nexport const nd = a;\nexport const ne = (n, ord) => {\n const s = String(n).split('.'), t0 = Number(s[0]) == n;\n if (ord) return (t0 && n >= 1 && n <= 4) ? 'one' : 'other';\n return n == 1 ? 'one' : 'other';\n};\nexport const nl = d;\nexport const nn = a;\nexport const nnh = a;\nexport const no = a;\nexport const nqo = e;\nexport const nr = a;\nexport const nso = b;\nexport const ny = a;\nexport const nyn = a;\nexport const om = a;\nexport const or = (n, ord) => {\n const s = String(n).split('.'), t0 = Number(s[0]) == n;\n if (ord) return (n == 1 || n == 5 || (t0 && n >= 7 && n <= 9)) ? 'one'\n : (n == 2 || n == 3) ? 'two'\n : n == 4 ? 'few'\n : n == 6 ? 'many'\n : 'other';\n return n == 1 ? 'one' : 'other';\n};\nexport const os = a;\nexport const osa = e;\nexport const pa = b;\nexport const pap = a;\nexport const pcm = c;\nexport const pl = (n, ord) => {\n const s = String(n).split('.'), i = s[0], v0 = !s[1], i10 = i.slice(-1), i100 = i.slice(-2);\n if (ord) return 'other';\n return n == 1 && v0 ? 'one'\n : v0 && (i10 >= 2 && i10 <= 4) && (i100 < 12 || i100 > 14) ? 'few'\n : v0 && i != 1 && (i10 == 0 || i10 == 1) || v0 && (i10 >= 5 && i10 <= 9) || v0 && (i100 >= 12 && i100 <= 14) ? 'many'\n : 'other';\n};\nexport const prg = (n, ord) => {\n const s = String(n).split('.'), f = s[1] || '', v = f.length, t0 = Number(s[0]) == n, n10 = t0 && s[0].slice(-1), n100 = t0 && s[0].slice(-2), f100 = f.slice(-2), f10 = f.slice(-1);\n if (ord) return 'other';\n return t0 && n10 == 0 || (n100 >= 11 && n100 <= 19) || v == 2 && (f100 >= 11 && f100 <= 19) ? 'zero'\n : n10 == 1 && n100 != 11 || v == 2 && f10 == 1 && f100 != 11 || v != 2 && f10 == 1 ? 'one'\n : 'other';\n};\nexport const ps = a;\nexport const pt = (n, ord) => {\n const s = String(n).split('.'), i = s[0], v0 = !s[1], i1000000 = i.slice(-6);\n if (ord) return 'other';\n return (i == 0 || i == 1) ? 'one'\n : i != 0 && i1000000 == 0 && v0 ? 'many'\n : 'other';\n};\nexport const pt_PT = (n, ord) => {\n const s = String(n).split('.'), i = s[0], v0 = !s[1], i1000000 = i.slice(-6);\n if (ord) return 'other';\n return n == 1 && v0 ? 'one'\n : i != 0 && i1000000 == 0 && v0 ? 'many'\n : 'other';\n};\nexport const rm = a;\nexport const ro = (n, ord) => {\n const s = String(n).split('.'), v0 = !s[1], t0 = Number(s[0]) == n, n100 = t0 && s[0].slice(-2);\n if (ord) return n == 1 ? 'one' : 'other';\n return n == 1 && v0 ? 'one'\n : !v0 || n == 0 || n != 1 && (n100 >= 1 && n100 <= 19) ? 'few'\n : 'other';\n};\nexport const rof = a;\nexport const ru = (n, ord) => {\n const s = String(n).split('.'), i = s[0], v0 = !s[1], i10 = i.slice(-1), i100 = i.slice(-2);\n if (ord) return 'other';\n return v0 && i10 == 1 && i100 != 11 ? 'one'\n : v0 && (i10 >= 2 && i10 <= 4) && (i100 < 12 || i100 > 14) ? 'few'\n : v0 && i10 == 0 || v0 && (i10 >= 5 && i10 <= 9) || v0 && (i100 >= 11 && i100 <= 14) ? 'many'\n : 'other';\n};\nexport const rwk = a;\nexport const sah = e;\nexport const saq = a;\nexport const sat = f;\nexport const sc = (n, ord) => {\n const s = String(n).split('.'), v0 = !s[1];\n if (ord) return (n == 11 || n == 8 || n == 80 || n == 800) ? 'many' : 'other';\n return n == 1 && v0 ? 'one' : 'other';\n};\nexport const scn = (n, ord) => {\n const s = String(n).split('.'), v0 = !s[1];\n if (ord) return (n == 11 || n == 8 || n == 80 || n == 800) ? 'many' : 'other';\n return n == 1 && v0 ? 'one' : 'other';\n};\nexport const sd = a;\nexport const sdh = a;\nexport const se = f;\nexport const seh = a;\nexport const ses = e;\nexport const sg = e;\nexport const sh = (n, ord) => {\n const s = String(n).split('.'), i = s[0], f = s[1] || '', v0 = !s[1], i10 = i.slice(-1), i100 = i.slice(-2), f10 = f.slice(-1), f100 = f.slice(-2);\n if (ord) return 'other';\n return v0 && i10 == 1 && i100 != 11 || f10 == 1 && f100 != 11 ? 'one'\n : v0 && (i10 >= 2 && i10 <= 4) && (i100 < 12 || i100 > 14) || (f10 >= 2 && f10 <= 4) && (f100 < 12 || f100 > 14) ? 'few'\n : 'other';\n};\nexport const shi = (n, ord) => {\n const s = String(n).split('.'), t0 = Number(s[0]) == n;\n if (ord) return 'other';\n return n >= 0 && n <= 1 ? 'one'\n : (t0 && n >= 2 && n <= 10) ? 'few'\n : 'other';\n};\nexport const si = (n, ord) => {\n const s = String(n).split('.'), i = s[0], f = s[1] || '';\n if (ord) return 'other';\n return (n == 0 || n == 1) || i == 0 && f == 1 ? 'one' : 'other';\n};\nexport const sk = (n, ord) => {\n const s = String(n).split('.'), i = s[0], v0 = !s[1];\n if (ord) return 'other';\n return n == 1 && v0 ? 'one'\n : (i >= 2 && i <= 4) && v0 ? 'few'\n : !v0 ? 'many'\n : 'other';\n};\nexport const sl = (n, ord) => {\n const s = String(n).split('.'), i = s[0], v0 = !s[1], i100 = i.slice(-2);\n if (ord) return 'other';\n return v0 && i100 == 1 ? 'one'\n : v0 && i100 == 2 ? 'two'\n : v0 && (i100 == 3 || i100 == 4) || !v0 ? 'few'\n : 'other';\n};\nexport const sma = f;\nexport const smi = f;\nexport const smj = f;\nexport const smn = f;\nexport const sms = f;\nexport const sn = a;\nexport const so = a;\nexport const sq = (n, ord) => {\n const s = String(n).split('.'), t0 = Number(s[0]) == n, n10 = t0 && s[0].slice(-1), n100 = t0 && s[0].slice(-2);\n if (ord) return n == 1 ? 'one'\n : n10 == 4 && n100 != 14 ? 'many'\n : 'other';\n return n == 1 ? 'one' : 'other';\n};\nexport const sr = (n, ord) => {\n const s = String(n).split('.'), i = s[0], f = s[1] || '', v0 = !s[1], i10 = i.slice(-1), i100 = i.slice(-2), f10 = f.slice(-1), f100 = f.slice(-2);\n if (ord) return 'other';\n return v0 && i10 == 1 && i100 != 11 || f10 == 1 && f100 != 11 ? 'one'\n : v0 && (i10 >= 2 && i10 <= 4) && (i100 < 12 || i100 > 14) || (f10 >= 2 && f10 <= 4) && (f100 < 12 || f100 > 14) ? 'few'\n : 'other';\n};\nexport const ss = a;\nexport const ssy = a;\nexport const st = a;\nexport const su = e;\nexport const sv = (n, ord) => {\n const s = String(n).split('.'), v0 = !s[1], t0 = Number(s[0]) == n, n10 = t0 && s[0].slice(-1), n100 = t0 && s[0].slice(-2);\n if (ord) return (n10 == 1 || n10 == 2) && n100 != 11 && n100 != 12 ? 'one' : 'other';\n return n == 1 && v0 ? 'one' : 'other';\n};\nexport const sw = d;\nexport const syr = a;\nexport const ta = a;\nexport const te = a;\nexport const teo = a;\nexport const th = e;\nexport const ti = b;\nexport const tig = a;\nexport const tk = (n, ord) => {\n const s = String(n).split('.'), t0 = Number(s[0]) == n, n10 = t0 && s[0].slice(-1);\n if (ord) return (n10 == 6 || n10 == 9) || n == 10 ? 'few' : 'other';\n return n == 1 ? 'one' : 'other';\n};\nexport const tl = (n, ord) => {\n const s = String(n).split('.'), i = s[0], f = s[1] || '', v0 = !s[1], i10 = i.slice(-1), f10 = f.slice(-1);\n if (ord) return n == 1 ? 'one' : 'other';\n return v0 && (i == 1 || i == 2 || i == 3) || v0 && i10 != 4 && i10 != 6 && i10 != 9 || !v0 && f10 != 4 && f10 != 6 && f10 != 9 ? 'one' : 'other';\n};\nexport const tn = a;\nexport const to = e;\nexport const tpi = e;\nexport const tr = a;\nexport const ts = a;\nexport const tzm = (n, ord) => {\n const s = String(n).split('.'), t0 = Number(s[0]) == n;\n if (ord) return 'other';\n return (n == 0 || n == 1) || (t0 && n >= 11 && n <= 99) ? 'one' : 'other';\n};\nexport const ug = a;\nexport const uk = (n, ord) => {\n const s = String(n).split('.'), i = s[0], v0 = !s[1], t0 = Number(s[0]) == n, n10 = t0 && s[0].slice(-1), n100 = t0 && s[0].slice(-2), i10 = i.slice(-1), i100 = i.slice(-2);\n if (ord) return n10 == 3 && n100 != 13 ? 'few' : 'other';\n return v0 && i10 == 1 && i100 != 11 ? 'one'\n : v0 && (i10 >= 2 && i10 <= 4) && (i100 < 12 || i100 > 14) ? 'few'\n : v0 && i10 == 0 || v0 && (i10 >= 5 && i10 <= 9) || v0 && (i100 >= 11 && i100 <= 14) ? 'many'\n : 'other';\n};\nexport const und = e;\nexport const ur = d;\nexport const uz = a;\nexport const ve = a;\nexport const vec = (n, ord) => {\n const s = String(n).split('.'), i = s[0], v0 = !s[1], i1000000 = i.slice(-6);\n if (ord) return (n == 11 || n == 8 || n == 80 || n == 800) ? 'many' : 'other';\n return n == 1 && v0 ? 'one'\n : i != 0 && i1000000 == 0 && v0 ? 'many'\n : 'other';\n};\nexport const vi = (n, ord) => {\n if (ord) return n == 1 ? 'one' : 'other';\n return 'other';\n};\nexport const vo = a;\nexport const vun = a;\nexport const wa = b;\nexport const wae = a;\nexport const wo = e;\nexport const xh = a;\nexport const xog = a;\nexport const yi = d;\nexport const yo = e;\nexport const yue = e;\nexport const zh = e;\nexport const zu = c;\n","export default function _arrayLikeToArray(arr, len) {\n if (len == null || len > arr.length) len = arr.length;\n for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i];\n return arr2;\n}","export default function _arrayWithHoles(arr) {\n if (Array.isArray(arr)) return arr;\n}","import arrayLikeToArray from \"./arrayLikeToArray.js\";\nexport default function _arrayWithoutHoles(arr) {\n if (Array.isArray(arr)) return arrayLikeToArray(arr);\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 return self;\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 toPropertyKey from \"./toPropertyKey.js\";\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, toPropertyKey(descriptor.key), descriptor);\n }\n}\nexport default function _createClass(Constructor, protoProps, staticProps) {\n if (protoProps) _defineProperties(Constructor.prototype, protoProps);\n if (staticProps) _defineProperties(Constructor, staticProps);\n Object.defineProperty(Constructor, \"prototype\", {\n writable: false\n });\n return Constructor;\n}","import unsupportedIterableToArray from \"./unsupportedIterableToArray.js\";\nexport default function _createForOfIteratorHelperLoose(o, allowArrayLike) {\n var it = typeof Symbol !== \"undefined\" && o[Symbol.iterator] || o[\"@@iterator\"];\n if (it) return (it = it.call(o)).next.bind(it);\n if (Array.isArray(o) || (it = unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === \"number\") {\n if (it) o = it;\n var i = 0;\n return function () {\n if (i >= o.length) return {\n done: true\n };\n return {\n done: false,\n value: o[i++]\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}","import toPropertyKey from \"./toPropertyKey.js\";\nexport default function _defineProperty(obj, key, value) {\n key = toPropertyKey(key);\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n return obj;\n}","export default function _extends() {\n _extends = Object.assign ? Object.assign.bind() : function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n return target;\n };\n return _extends.apply(this, arguments);\n}","export default function _getPrototypeOf(o) {\n _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function _getPrototypeOf(o) {\n return o.__proto__ || Object.getPrototypeOf(o);\n };\n return _getPrototypeOf(o);\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 subClass.prototype = Object.create(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n writable: true,\n configurable: true\n }\n });\n Object.defineProperty(subClass, \"prototype\", {\n writable: false\n });\n if (superClass) setPrototypeOf(subClass, superClass);\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 _iterableToArray(iter) {\n if (typeof Symbol !== \"undefined\" && iter[Symbol.iterator] != null || iter[\"@@iterator\"] != null) return Array.from(iter);\n}","export default function _iterableToArrayLimit(arr, i) {\n var _i = null == arr ? null : \"undefined\" != typeof Symbol && arr[Symbol.iterator] || arr[\"@@iterator\"];\n if (null != _i) {\n var _s,\n _e,\n _x,\n _r,\n _arr = [],\n _n = !0,\n _d = !1;\n try {\n if (_x = (_i = _i.call(arr)).next, 0 === i) {\n if (Object(_i) !== _i) return;\n _n = !1;\n } else for (; !(_n = (_s = _x.call(_i)).done) && (_arr.push(_s.value), _arr.length !== i); _n = !0);\n } catch (err) {\n _d = !0, _e = err;\n } finally {\n try {\n if (!_n && null != _i[\"return\"] && (_r = _i[\"return\"](), Object(_r) !== _r)) return;\n } finally {\n if (_d) throw _e;\n }\n }\n return _arr;\n }\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}","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 defineProperty from \"./defineProperty.js\";\nexport default function _objectSpread(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i] != null ? Object(arguments[i]) : {};\n var ownKeys = Object.keys(source);\n if (typeof Object.getOwnPropertySymbols === 'function') {\n ownKeys.push.apply(ownKeys, Object.getOwnPropertySymbols(source).filter(function (sym) {\n return Object.getOwnPropertyDescriptor(source, sym).enumerable;\n }));\n }\n ownKeys.forEach(function (key) {\n defineProperty(target, key, source[key]);\n });\n }\n return target;\n}","import defineProperty from \"./defineProperty.js\";\nfunction ownKeys(object, enumerableOnly) {\n var keys = Object.keys(object);\n if (Object.getOwnPropertySymbols) {\n var symbols = Object.getOwnPropertySymbols(object);\n enumerableOnly && (symbols = symbols.filter(function (sym) {\n return Object.getOwnPropertyDescriptor(object, sym).enumerable;\n })), keys.push.apply(keys, symbols);\n }\n return keys;\n}\nexport default function _objectSpread2(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = null != arguments[i] ? arguments[i] : {};\n i % 2 ? ownKeys(Object(source), !0).forEach(function (key) {\n defineProperty(target, key, source[key]);\n }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) {\n Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));\n });\n }\n return target;\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 if (Object.getOwnPropertySymbols) {\n var sourceSymbolKeys = Object.getOwnPropertySymbols(source);\n for (i = 0; i < sourceSymbolKeys.length; i++) {\n key = sourceSymbolKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue;\n target[key] = source[key];\n }\n }\n return target;\n}","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 for (i = 0; i < sourceKeys.length; i++) {\n key = sourceKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n target[key] = source[key];\n }\n return target;\n}","import _typeof from \"./typeof.js\";\nimport assertThisInitialized from \"./assertThisInitialized.js\";\nexport default function _possibleConstructorReturn(self, call) {\n if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) {\n return call;\n } else if (call !== void 0) {\n throw new TypeError(\"Derived constructors may only return object or undefined\");\n }\n return assertThisInitialized(self);\n}","export default function _setPrototypeOf(o, p) {\n _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) {\n o.__proto__ = p;\n return o;\n };\n return _setPrototypeOf(o, p);\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}","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 _typeof from \"./typeof.js\";\nexport default function _toPrimitive(input, hint) {\n if (_typeof(input) !== \"object\" || input === null) return input;\n var prim = input[Symbol.toPrimitive];\n if (prim !== undefined) {\n var res = prim.call(input, hint || \"default\");\n if (_typeof(res) !== \"object\") return res;\n throw new TypeError(\"@@toPrimitive must return a primitive value.\");\n }\n return (hint === \"string\" ? String : Number)(input);\n}","import _typeof from \"./typeof.js\";\nimport toPrimitive from \"./toPrimitive.js\";\nexport default function _toPropertyKey(arg) {\n var key = toPrimitive(arg, \"string\");\n return _typeof(key) === \"symbol\" ? key : String(key);\n}","export default function _typeof(obj) {\n \"@babel/helpers - typeof\";\n\n return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (obj) {\n return typeof obj;\n } : function (obj) {\n return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n }, _typeof(obj);\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}","export function _array_like_to_array(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++) arr2[i] = arr[i];\n\n return arr2;\n}\nexport { _array_like_to_array as _ };\n","export function _array_with_holes(arr) {\n if (Array.isArray(arr)) return arr;\n}\nexport { _array_with_holes as _ };\n","import { _array_like_to_array } from \"./_array_like_to_array.js\";\n\nexport function _array_without_holes(arr) {\n if (Array.isArray(arr)) return _array_like_to_array(arr);\n}\nexport { _array_without_holes as _ };\n","export function _assert_this_initialized(self) {\n if (self === void 0) throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n\n return self;\n}\nexport { _assert_this_initialized as _ };\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 if (info.done) resolve(value);\n else Promise.resolve(value).then(_next, _throw);\n}\nexport function _async_to_generator(fn) {\n return function() {\n var self = this, args = arguments;\n\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}\nexport { _async_to_generator as _ };\n","export function _class_call_check(instance, Constructor) {\n if (!(instance instanceof Constructor)) throw new TypeError(\"Cannot call a class as a function\");\n}\nexport { _class_call_check as _ };\n","import { _is_native_reflect_construct } from \"./_is_native_reflect_construct.js\";\nimport { _set_prototype_of } from \"./_set_prototype_of.js\";\nexport function _construct(Parent, args, Class) {\n if (_is_native_reflect_construct()) _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\n if (Class) _set_prototype_of(instance, Class.prototype);\n\n return instance;\n };\n }\n\n return _construct.apply(null, arguments);\n}\nexport { _construct as _ };\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\n if (\"value\" in descriptor) descriptor.writable = true;\n\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n}\nexport function _create_class(Constructor, protoProps, staticProps) {\n if (protoProps) _defineProperties(Constructor.prototype, protoProps);\n if (staticProps) _defineProperties(Constructor, staticProps);\n\n return Constructor;\n}\nexport { _create_class as _ };\n","import { _get_prototype_of } from \"./_get_prototype_of.js\";\nimport { _is_native_reflect_construct } from \"./_is_native_reflect_construct.js\";\nimport { _possible_constructor_return } from \"./_possible_constructor_return.js\";\n\nexport function _create_super(Derived) {\n var hasNativeReflectConstruct = _is_native_reflect_construct();\n\n return function _createSuperInternal() {\n var Super = _get_prototype_of(Derived), result;\n\n if (hasNativeReflectConstruct) {\n var NewTarget = _get_prototype_of(this).constructor;\n result = Reflect.construct(Super, arguments, NewTarget);\n } else {\n result = Super.apply(this, arguments);\n }\n\n return _possible_constructor_return(this, result);\n };\n}\nexport { _create_super as _ };\n","export function _define_property(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true });\n } else obj[key] = value;\n\n return obj;\n}\nexport { _define_property as _ };\n","import { _super_prop_base } from \"./_super_prop_base.js\";\n\nexport function _get(target, property, receiver) {\n if (typeof Reflect !== \"undefined\" && Reflect.get) _get = Reflect.get;\n else {\n _get = function get(target, property, receiver) {\n var base = _super_prop_base(target, property);\n\n if (!base) return;\n\n var desc = Object.getOwnPropertyDescriptor(base, property);\n\n if (desc.get) return desc.get.call(receiver || target);\n\n return desc.value;\n };\n }\n\n return _get(target, property, receiver || target);\n}\nexport { _get as _ };\n","export function _get_prototype_of(o) {\n _get_prototype_of = Object.setPrototypeOf ? Object.getPrototypeOf : function getPrototypeOf(o) {\n return o.__proto__ || Object.getPrototypeOf(o);\n };\n\n return _get_prototype_of(o);\n}\nexport { _get_prototype_of as _ };\n","import { _set_prototype_of } from \"./_set_prototype_of.js\";\n\nexport 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, { constructor: { value: subClass, writable: true, configurable: true } });\n\n if (superClass) _set_prototype_of(subClass, superClass);\n}\nexport { _inherits as _ };\n","export function _is_native_function(fn) {\n return Function.toString.call(fn).indexOf(\"[native code]\") !== -1;\n}\nexport { _is_native_function as _ };\n","export function _is_native_reflect_construct() {\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 Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function() {}));\n\n return true;\n } catch (e) {\n return false;\n }\n}\nexport { _is_native_reflect_construct as _ };\n","export function _iterable_to_array(iter) {\n if (typeof Symbol !== \"undefined\" && iter[Symbol.iterator] != null || iter[\"@@iterator\"] != null) {\n return Array.from(iter);\n }\n}\nexport { _iterable_to_array as _ };\n","export function _iterable_to_array_limit(arr, i) {\n var _i = arr == null ? null : typeof Symbol !== \"undefined\" && arr[Symbol.iterator] || arr[\"@@iterator\"];\n\n if (_i == null) return;\n\n var _arr = [];\n var _n = true;\n var _d = false;\n var _s, _e;\n\n try {\n for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) {\n _arr.push(_s.value);\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}\nexport { _iterable_to_array_limit as _ };\n","export function _non_iterable_rest() {\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}\nexport { _non_iterable_rest as _ };\n","export function _non_iterable_spread() {\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}\nexport { _non_iterable_spread as _ };\n","import { _define_property } from \"./_define_property.js\";\n\nexport function _object_spread(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i] != null ? arguments[i] : {};\n var ownKeys = Object.keys(source);\n\n if (typeof Object.getOwnPropertySymbols === \"function\") {\n ownKeys = ownKeys.concat(\n Object.getOwnPropertySymbols(source).filter(function(sym) {\n return Object.getOwnPropertyDescriptor(source, sym).enumerable;\n })\n );\n }\n\n ownKeys.forEach(function(key) {\n _define_property(target, key, source[key]);\n });\n }\n\n return target;\n}\nexport { _object_spread as _ };\n","function ownKeys(object, enumerableOnly) {\n var keys = Object.keys(object);\n\n if (Object.getOwnPropertySymbols) {\n var symbols = Object.getOwnPropertySymbols(object);\n if (enumerableOnly) {\n symbols = symbols.filter(function(sym) {\n return Object.getOwnPropertyDescriptor(object, sym).enumerable;\n });\n }\n keys.push.apply(keys, symbols);\n }\n\n return keys;\n}\nexport function _object_spread_props(target, source) {\n source = source != null ? source : {};\n\n if (Object.getOwnPropertyDescriptors) Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));\n else {\n ownKeys(Object(source)).forEach(function(key) {\n Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));\n });\n }\n\n return target;\n}\nexport { _object_spread_props as _ };\n","import { _assert_this_initialized } from \"./_assert_this_initialized.js\";\nimport { _type_of } from \"./_type_of.js\";\n\nexport function _possible_constructor_return(self, call) {\n if (call && (_type_of(call) === \"object\" || typeof call === \"function\")) return call;\n\n return _assert_this_initialized(self);\n}\nexport { _possible_constructor_return as _ };\n","export function _set_prototype_of(o, p) {\n _set_prototype_of = Object.setPrototypeOf || function setPrototypeOf(o, p) {\n o.__proto__ = p;\n\n return o;\n };\n\n return _set_prototype_of(o, p);\n}\nexport { _set_prototype_of as _ };\n","import { _array_with_holes } from \"./_array_with_holes.js\";\nimport { _iterable_to_array_limit } from \"./_iterable_to_array_limit.js\";\nimport { _non_iterable_rest } from \"./_non_iterable_rest.js\";\nimport { _unsupported_iterable_to_array } from \"./_unsupported_iterable_to_array.js\";\n\nexport function _sliced_to_array(arr, i) {\n return _array_with_holes(arr) || _iterable_to_array_limit(arr, i) || _unsupported_iterable_to_array(arr, i) || _non_iterable_rest();\n}\nexport { _sliced_to_array as _ };\n","import { _get_prototype_of } from \"./_get_prototype_of.js\";\n\nexport function _super_prop_base(object, property) {\n while (!Object.prototype.hasOwnProperty.call(object, property)) {\n object = _get_prototype_of(object);\n if (object === null) break;\n }\n\n return object;\n}\nexport { _super_prop_base as _ };\n","import { _array_without_holes } from \"./_array_without_holes.js\";\nimport { _iterable_to_array } from \"./_iterable_to_array.js\";\nimport { _non_iterable_spread } from \"./_non_iterable_spread.js\";\nimport { _unsupported_iterable_to_array } from \"./_unsupported_iterable_to_array.js\";\n\nexport function _to_consumable_array(arr) {\n return _array_without_holes(arr) || _iterable_to_array(arr) || _unsupported_iterable_to_array(arr) || _non_iterable_spread();\n}\nexport { _to_consumable_array as _ };\n","export function _type_of(obj) {\n \"@swc/helpers - typeof\";\n\n return obj && typeof Symbol !== \"undefined\" && obj.constructor === Symbol ? \"symbol\" : typeof obj;\n}\nexport { _type_of as _ };\n","import { _array_like_to_array } from \"./_array_like_to_array.js\";\n\nexport function _unsupported_iterable_to_array(o, minLen) {\n if (!o) return;\n if (typeof o === \"string\") return _array_like_to_array(o, minLen);\n\n var n = Object.prototype.toString.call(o).slice(8, -1);\n\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 _array_like_to_array(o, minLen);\n}\nexport { _unsupported_iterable_to_array as _ };\n","import { _construct } from \"./_construct.js\";\nimport { _get_prototype_of } from \"./_get_prototype_of.js\";\nimport { _is_native_function } from \"./_is_native_function.js\";\nimport { _set_prototype_of } from \"./_set_prototype_of.js\";\n\nexport function _wrap_native_super(Class) {\n var _cache = typeof Map === \"function\" ? new Map() : undefined;\n _wrap_native_super = function(Class) {\n if (Class === null || !_is_native_function(Class)) return Class;\n if (typeof Class !== \"function\") throw new TypeError(\"Super expression must either be null or a function\");\n if (typeof _cache !== \"undefined\") {\n if (_cache.has(Class)) return _cache.get(Class);\n _cache.set(Class, Wrapper);\n }\n\n function Wrapper() {\n return _construct(Class, arguments, _get_prototype_of(this).constructor);\n }\n Wrapper.prototype = Object.create(Class.prototype, { constructor: { value: Wrapper, enumerable: false, writable: true, configurable: true } });\n\n return _set_prototype_of(Wrapper, Class);\n };\n\n return _wrap_native_super(Class);\n}\nexport { _wrap_native_super as _ };\n","/**\n * Ref https://pkware.cachefly.net/webdocs/casestudies/APPNOTE.TXT\n */\nimport { UINT16_LE, UINT32_LE } from \"token-types\";\nexport const Signature = {\n LocalFileHeader: 0x04034b50,\n DataDescriptor: 0x08074b50,\n CentralFileHeader: 0x02014b50,\n EndOfCentralDirectory: 0x06054b50\n};\nexport const DataDescriptor = {\n get(array) {\n const flags = UINT16_LE.get(array, 6);\n return {\n signature: UINT32_LE.get(array, 0),\n compressedSize: UINT32_LE.get(array, 8),\n uncompressedSize: UINT32_LE.get(array, 12),\n };\n }, len: 16\n};\n/**\n * First part of the ZIP Local File Header\n * Offset | Bytes| Description\n * -------|------+-------------------------------------------------------------------\n * 0 | 4 | Signature (0x04034b50)\n * 4 | 2 | Minimum version needed to extract\n * 6 | 2 | Bit flag\n * 8 | 2 | Compression method\n * 10 | 2 | File last modification time (MS-DOS format)\n * 12 | 2 | File last modification date (MS-DOS format)\n * 14 | 4 | CRC-32 of uncompressed data\n * 18 | 4 | Compressed size\n * 22 | 4 | Uncompressed size\n * 26 | 2 | File name length (n)\n * 28 | 2 | Extra field length (m)\n * 30 | n | File name\n * 30 + n | m | Extra field\n */\nexport const LocalFileHeaderToken = {\n get(array) {\n const flags = UINT16_LE.get(array, 6);\n return {\n signature: UINT32_LE.get(array, 0),\n minVersion: UINT16_LE.get(array, 4),\n dataDescriptor: !!(flags & 0x0008),\n compressedMethod: UINT16_LE.get(array, 8),\n compressedSize: UINT32_LE.get(array, 18),\n uncompressedSize: UINT32_LE.get(array, 22),\n filenameLength: UINT16_LE.get(array, 26),\n extraFieldLength: UINT16_LE.get(array, 28),\n filename: null\n };\n }, len: 30\n};\n/**\n * 4.3.16 End of central directory record:\n * end of central dir signature (0x06064b50) 4 bytes\n * number of this disk 2 bytes\n * number of the disk with the start of the central directory 2 bytes\n * total number of entries in the central directory on this disk 2 bytes\n * total number of entries in the size of the central directory 2 bytes\n * sizeOfTheCentralDirectory 4 bytes\n * offset of start of central directory with respect to the starting disk number 4 bytes\n * .ZIP file comment length 2 bytes\n * .ZIP file comment (variable size)\n */\nexport const EndOfCentralDirectoryRecordToken = {\n get(array) {\n return {\n signature: UINT32_LE.get(array, 0),\n nrOfThisDisk: UINT16_LE.get(array, 4),\n nrOfThisDiskWithTheStart: UINT16_LE.get(array, 6),\n nrOfEntriesOnThisDisk: UINT16_LE.get(array, 8),\n nrOfEntriesOfSize: UINT16_LE.get(array, 10),\n sizeOfCd: UINT32_LE.get(array, 12),\n offsetOfStartOfCd: UINT32_LE.get(array, 16),\n zipFileCommentLength: UINT16_LE.get(array, 20),\n };\n }, len: 22\n};\n/**\n * File header:\n * central file header signature 4 bytes 0 (0x02014b50)\n * version made by 2 bytes 4\n * version needed to extract 2 bytes 6\n * general purpose bit flag 2 bytes 8\n * compression method 2 bytes 10\n * last mod file time 2 bytes 12\n * last mod file date 2 bytes 14\n * crc-32 4 bytes 16\n * compressed size 4 bytes 20\n * uncompressed size 4 bytes 24\n * file name length 2 bytes 28\n * extra field length 2 bytes 30\n * file comment length 2 bytes 32\n * disk number start 2 bytes 34\n * internal file attributes 2 bytes 36\n * external file attributes 4 bytes 38\n * relative offset of local header 4 bytes 42\n */\nexport const FileHeader = {\n get(array) {\n const flags = UINT16_LE.get(array, 8);\n return {\n signature: UINT32_LE.get(array, 0),\n minVersion: UINT16_LE.get(array, 6),\n dataDescriptor: !!(flags & 0x0008),\n compressedMethod: UINT16_LE.get(array, 10),\n compressedSize: UINT32_LE.get(array, 20),\n uncompressedSize: UINT32_LE.get(array, 24),\n filenameLength: UINT16_LE.get(array, 28),\n extraFieldLength: UINT16_LE.get(array, 30),\n fileCommentLength: UINT16_LE.get(array, 32),\n relativeOffsetOfLocalHeader: UINT32_LE.get(array, 42),\n filename: null\n };\n }, len: 46\n};\n","import { StringType, UINT32_LE } from 'token-types';\nimport { decompressSync } from 'fflate';\nimport initDebug from 'debug';\nimport { DataDescriptor, EndOfCentralDirectoryRecordToken, FileHeader, LocalFileHeaderToken, Signature } from \"./ZipToken.js\";\nfunction signatureToArray(signature) {\n const signatureBytes = new Uint8Array(UINT32_LE.len);\n UINT32_LE.put(signatureBytes, 0, signature);\n return signatureBytes;\n}\nconst debug = initDebug('tokenizer:inflate');\nconst syncBufferSize = 256 * 1024;\nconst ddSignatureArray = signatureToArray(Signature.DataDescriptor);\nconst eocdSignatureBytes = signatureToArray(Signature.EndOfCentralDirectory);\nexport class ZipHandler {\n constructor(tokenizer) {\n this.tokenizer = tokenizer;\n this.syncBuffer = new Uint8Array(syncBufferSize);\n }\n async isZip() {\n return await this.peekSignature() === Signature.LocalFileHeader;\n }\n peekSignature() {\n return this.tokenizer.peekToken(UINT32_LE);\n }\n async findEndOfCentralDirectoryLocator() {\n const randomReadTokenizer = this.tokenizer;\n const chunkLength = Math.min(16 * 1024, randomReadTokenizer.fileInfo.size);\n const buffer = this.syncBuffer.subarray(0, chunkLength);\n await this.tokenizer.readBuffer(buffer, { position: randomReadTokenizer.fileInfo.size - chunkLength });\n // Search the buffer from end to beginning for EOCD signature\n // const signature = 0x06054b50;\n for (let i = buffer.length - 4; i >= 0; i--) {\n // Compare 4 bytes directly without calling readUInt32LE\n if (buffer[i] === eocdSignatureBytes[0] &&\n buffer[i + 1] === eocdSignatureBytes[1] &&\n buffer[i + 2] === eocdSignatureBytes[2] &&\n buffer[i + 3] === eocdSignatureBytes[3]) {\n return randomReadTokenizer.fileInfo.size - chunkLength + i;\n }\n }\n return -1;\n }\n async readCentralDirectory() {\n if (!this.tokenizer.supportsRandomAccess()) {\n debug('Cannot reading central-directory without random-read support');\n return;\n }\n debug('Reading central-directory...');\n const pos = this.tokenizer.position;\n const offset = await this.findEndOfCentralDirectoryLocator();\n if (offset > 0) {\n debug('Central-directory 32-bit signature found');\n const eocdHeader = await this.tokenizer.readToken(EndOfCentralDirectoryRecordToken, offset);\n const files = [];\n this.tokenizer.setPosition(eocdHeader.offsetOfStartOfCd);\n for (let n = 0; n < eocdHeader.nrOfEntriesOfSize; ++n) {\n const entry = await this.tokenizer.readToken(FileHeader);\n if (entry.signature !== Signature.CentralFileHeader) {\n throw new Error('Expected Central-File-Header signature');\n }\n entry.filename = await this.tokenizer.readToken(new StringType(entry.filenameLength, 'utf-8'));\n await this.tokenizer.ignore(entry.extraFieldLength);\n await this.tokenizer.ignore(entry.fileCommentLength);\n files.push(entry);\n debug(`Add central-directory file-entry: n=${n + 1}/${files.length}: filename=${files[n].filename}`);\n }\n this.tokenizer.setPosition(pos);\n return files;\n }\n this.tokenizer.setPosition(pos);\n }\n async unzip(fileCb) {\n const entries = await this.readCentralDirectory();\n if (entries) {\n // Use Central Directory to iterate over files\n return this.iterateOverCentralDirectory(entries, fileCb);\n }\n // Scan Zip files for local-file-header\n let stop = false;\n do {\n const zipHeader = await this.readLocalFileHeader();\n if (!zipHeader)\n break;\n const next = fileCb(zipHeader);\n stop = !!next.stop;\n let fileData = undefined;\n await this.tokenizer.ignore(zipHeader.extraFieldLength);\n if (zipHeader.dataDescriptor && zipHeader.compressedSize === 0) {\n const chunks = [];\n let len = syncBufferSize;\n debug('Compressed-file-size unknown, scanning for next data-descriptor-signature....');\n let nextHeaderIndex = -1;\n while (nextHeaderIndex < 0 && len === syncBufferSize) {\n len = await this.tokenizer.peekBuffer(this.syncBuffer, { mayBeLess: true });\n nextHeaderIndex = indexOf(this.syncBuffer.subarray(0, len), ddSignatureArray);\n const size = nextHeaderIndex >= 0 ? nextHeaderIndex : len;\n if (next.handler) {\n const data = new Uint8Array(size);\n await this.tokenizer.readBuffer(data);\n chunks.push(data);\n }\n else {\n // Move position to the next header if found, skip the whole buffer otherwise\n await this.tokenizer.ignore(size);\n }\n }\n debug(`Found data-descriptor-signature at pos=${this.tokenizer.position}`);\n if (next.handler) {\n await this.inflate(zipHeader, mergeArrays(chunks), next.handler);\n }\n }\n else {\n if (next.handler) {\n debug(`Reading compressed-file-data: ${zipHeader.compressedSize} bytes`);\n fileData = new Uint8Array(zipHeader.compressedSize);\n await this.tokenizer.readBuffer(fileData);\n await this.inflate(zipHeader, fileData, next.handler);\n }\n else {\n debug(`Ignoring compressed-file-data: ${zipHeader.compressedSize} bytes`);\n await this.tokenizer.ignore(zipHeader.compressedSize);\n }\n }\n debug(`Reading data-descriptor at pos=${this.tokenizer.position}`);\n if (zipHeader.dataDescriptor) {\n // await this.tokenizer.ignore(DataDescriptor.len);\n const dataDescriptor = await this.tokenizer.readToken(DataDescriptor);\n if (dataDescriptor.signature !== 0x08074b50) {\n throw new Error(`Expected data-descriptor-signature at position ${this.tokenizer.position - DataDescriptor.len}`);\n }\n }\n } while (!stop);\n }\n async iterateOverCentralDirectory(entries, fileCb) {\n for (const fileHeader of entries) {\n const next = fileCb(fileHeader);\n if (next.handler) {\n this.tokenizer.setPosition(fileHeader.relativeOffsetOfLocalHeader);\n const zipHeader = await this.readLocalFileHeader();\n if (zipHeader) {\n await this.tokenizer.ignore(zipHeader.extraFieldLength);\n const fileData = new Uint8Array(fileHeader.compressedSize);\n await this.tokenizer.readBuffer(fileData);\n await this.inflate(zipHeader, fileData, next.handler);\n }\n }\n if (next.stop)\n break;\n }\n }\n inflate(zipHeader, fileData, cb) {\n if (zipHeader.compressedMethod === 0) {\n return cb(fileData);\n }\n debug(`Decompress filename=${zipHeader.filename}, compressed-size=${fileData.length}`);\n const uncompressedData = decompressSync(fileData);\n return cb(uncompressedData);\n }\n async readLocalFileHeader() {\n const signature = await this.tokenizer.peekToken(UINT32_LE);\n if (signature === Signature.LocalFileHeader) {\n const header = await this.tokenizer.readToken(LocalFileHeaderToken);\n header.filename = await this.tokenizer.readToken(new StringType(header.filenameLength, 'utf-8'));\n return header;\n }\n if (signature === Signature.CentralFileHeader) {\n return false;\n }\n if (signature === 0xE011CFD0) {\n throw new Error('Encrypted ZIP');\n }\n throw new Error('Unexpected signature');\n }\n}\nfunction indexOf(buffer, portion) {\n const bufferLength = buffer.length;\n const portionLength = portion.length;\n // Return -1 if the portion is longer than the buffer\n if (portionLength > bufferLength)\n return -1;\n // Search for the portion in the buffer\n for (let i = 0; i <= bufferLength - portionLength; i++) {\n let found = true;\n for (let j = 0; j < portionLength; j++) {\n if (buffer[i + j] !== portion[j]) {\n found = false;\n break;\n }\n }\n if (found) {\n return i; // Return the starting offset\n }\n }\n return -1; // Not found\n}\nfunction mergeArrays(chunks) {\n // Concatenate chunks into a single Uint8Array\n const totalLength = chunks.reduce((acc, curr) => acc + curr.length, 0);\n const mergedArray = new Uint8Array(totalLength);\n let offset = 0;\n for (const chunk of chunks) {\n mergedArray.set(chunk, offset);\n offset += chunk.length;\n }\n return mergedArray;\n}\n","// DEFLATE is a complex format; to read this code, you should probably check the RFC first:\n// https://tools.ietf.org/html/rfc1951\n// You may also wish to take a look at the guide I made about this program:\n// https://gist.github.com/101arrowz/253f31eb5abc3d9275ab943003ffecad\n// Some of the following code is similar to that of UZIP.js:\n// https://github.com/photopea/UZIP.js\n// However, the vast majority of the codebase has diverged from UZIP.js to increase performance and reduce bundle size.\n// Sometimes 0 will appear where -1 would be more appropriate. This is because using a uint\n// is better for memory in most engines (I *think*).\nvar ch2 = {};\nvar wk = (function (c, id, msg, transfer, cb) {\n var w = new Worker(ch2[id] || (ch2[id] = URL.createObjectURL(new Blob([\n c + ';addEventListener(\"error\",function(e){e=e.error;postMessage({$e$:[e.message,e.code,e.stack]})})'\n ], { type: 'text/javascript' }))));\n w.onmessage = function (e) {\n var d = e.data, ed = d.$e$;\n if (ed) {\n var err = new Error(ed[0]);\n err['code'] = ed[1];\n err.stack = ed[2];\n cb(err, null);\n }\n else\n cb(null, d);\n };\n w.postMessage(msg, transfer);\n return w;\n});\n\n// aliases for shorter compressed code (most minifers don't do this)\nvar u8 = Uint8Array, u16 = Uint16Array, i32 = Int32Array;\n// fixed length extra bits\nvar fleb = new u8([0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 2, 2, 2, 2, 3, 3, 3, 3, 4, 4, 4, 4, 5, 5, 5, 5, 0, /* unused */ 0, 0, /* impossible */ 0]);\n// fixed distance extra bits\nvar fdeb = new u8([0, 0, 0, 0, 1, 1, 2, 2, 3, 3, 4, 4, 5, 5, 6, 6, 7, 7, 8, 8, 9, 9, 10, 10, 11, 11, 12, 12, 13, 13, /* unused */ 0, 0]);\n// code length index map\nvar clim = new u8([16, 17, 18, 0, 8, 7, 9, 6, 10, 5, 11, 4, 12, 3, 13, 2, 14, 1, 15]);\n// get base, reverse index map from extra bits\nvar freb = function (eb, start) {\n var b = new u16(31);\n for (var i = 0; i < 31; ++i) {\n b[i] = start += 1 << eb[i - 1];\n }\n // numbers here are at max 18 bits\n var r = new i32(b[30]);\n for (var i = 1; i < 30; ++i) {\n for (var j = b[i]; j < b[i + 1]; ++j) {\n r[j] = ((j - b[i]) << 5) | i;\n }\n }\n return { b: b, r: r };\n};\nvar _a = freb(fleb, 2), fl = _a.b, revfl = _a.r;\n// we can ignore the fact that the other numbers are wrong; they never happen anyway\nfl[28] = 258, revfl[258] = 28;\nvar _b = freb(fdeb, 0), fd = _b.b, revfd = _b.r;\n// map of value to reverse (assuming 16 bits)\nvar rev = new u16(32768);\nfor (var i = 0; i < 32768; ++i) {\n // reverse table algorithm from SO\n var x = ((i & 0xAAAA) >> 1) | ((i & 0x5555) << 1);\n x = ((x & 0xCCCC) >> 2) | ((x & 0x3333) << 2);\n x = ((x & 0xF0F0) >> 4) | ((x & 0x0F0F) << 4);\n rev[i] = (((x & 0xFF00) >> 8) | ((x & 0x00FF) << 8)) >> 1;\n}\n// create huffman tree from u8 \"map\": index -> code length for code index\n// mb (max bits) must be at most 15\n// TODO: optimize/split up?\nvar hMap = (function (cd, mb, r) {\n var s = cd.length;\n // index\n var i = 0;\n // u16 \"map\": index -> # of codes with bit length = index\n var l = new u16(mb);\n // length of cd must be 288 (total # of codes)\n for (; i < s; ++i) {\n if (cd[i])\n ++l[cd[i] - 1];\n }\n // u16 \"map\": index -> minimum code for bit length = index\n var le = new u16(mb);\n for (i = 1; i < mb; ++i) {\n le[i] = (le[i - 1] + l[i - 1]) << 1;\n }\n var co;\n if (r) {\n // u16 \"map\": index -> number of actual bits, symbol for code\n co = new u16(1 << mb);\n // bits to remove for reverser\n var rvb = 15 - mb;\n for (i = 0; i < s; ++i) {\n // ignore 0 lengths\n if (cd[i]) {\n // num encoding both symbol and bits read\n var sv = (i << 4) | cd[i];\n // free bits\n var r_1 = mb - cd[i];\n // start value\n var v = le[cd[i] - 1]++ << r_1;\n // m is end value\n for (var m = v | ((1 << r_1) - 1); v <= m; ++v) {\n // every 16 bit value starting with the code yields the same result\n co[rev[v] >> rvb] = sv;\n }\n }\n }\n }\n else {\n co = new u16(s);\n for (i = 0; i < s; ++i) {\n if (cd[i]) {\n co[i] = rev[le[cd[i] - 1]++] >> (15 - cd[i]);\n }\n }\n }\n return co;\n});\n// fixed length tree\nvar flt = new u8(288);\nfor (var i = 0; i < 144; ++i)\n flt[i] = 8;\nfor (var i = 144; i < 256; ++i)\n flt[i] = 9;\nfor (var i = 256; i < 280; ++i)\n flt[i] = 7;\nfor (var i = 280; i < 288; ++i)\n flt[i] = 8;\n// fixed distance tree\nvar fdt = new u8(32);\nfor (var i = 0; i < 32; ++i)\n fdt[i] = 5;\n// fixed length map\nvar flm = /*#__PURE__*/ hMap(flt, 9, 0), flrm = /*#__PURE__*/ hMap(flt, 9, 1);\n// fixed distance map\nvar fdm = /*#__PURE__*/ hMap(fdt, 5, 0), fdrm = /*#__PURE__*/ hMap(fdt, 5, 1);\n// find max of array\nvar max = function (a) {\n var m = a[0];\n for (var i = 1; i < a.length; ++i) {\n if (a[i] > m)\n m = a[i];\n }\n return m;\n};\n// read d, starting at bit p and mask with m\nvar bits = function (d, p, m) {\n var o = (p / 8) | 0;\n return ((d[o] | (d[o + 1] << 8)) >> (p & 7)) & m;\n};\n// read d, starting at bit p continuing for at least 16 bits\nvar bits16 = function (d, p) {\n var o = (p / 8) | 0;\n return ((d[o] | (d[o + 1] << 8) | (d[o + 2] << 16)) >> (p & 7));\n};\n// get end of byte\nvar shft = function (p) { return ((p + 7) / 8) | 0; };\n// typed array slice - allows garbage collector to free original reference,\n// while being more compatible than .slice\nvar slc = function (v, s, e) {\n if (s == null || s < 0)\n s = 0;\n if (e == null || e > v.length)\n e = v.length;\n // can't use .constructor in case user-supplied\n return new u8(v.subarray(s, e));\n};\n/**\n * Codes for errors generated within this library\n */\nexport var FlateErrorCode = {\n UnexpectedEOF: 0,\n InvalidBlockType: 1,\n InvalidLengthLiteral: 2,\n InvalidDistance: 3,\n StreamFinished: 4,\n NoStreamHandler: 5,\n InvalidHeader: 6,\n NoCallback: 7,\n InvalidUTF8: 8,\n ExtraFieldTooLong: 9,\n InvalidDate: 10,\n FilenameTooLong: 11,\n StreamFinishing: 12,\n InvalidZipData: 13,\n UnknownCompressionMethod: 14\n};\n// error codes\nvar ec = [\n 'unexpected EOF',\n 'invalid block type',\n 'invalid length/literal',\n 'invalid distance',\n 'stream finished',\n 'no stream handler',\n ,\n 'no callback',\n 'invalid UTF-8 data',\n 'extra field too long',\n 'date not in range 1980-2099',\n 'filename too long',\n 'stream finishing',\n 'invalid zip data'\n // determined by unknown compression method\n];\n;\nvar err = function (ind, msg, nt) {\n var e = new Error(msg || ec[ind]);\n e.code = ind;\n if (Error.captureStackTrace)\n Error.captureStackTrace(e, err);\n if (!nt)\n throw e;\n return e;\n};\n// expands raw DEFLATE data\nvar inflt = function (dat, st, buf, dict) {\n // source length dict length\n var sl = dat.length, dl = dict ? dict.length : 0;\n if (!sl || st.f && !st.l)\n return buf || new u8(0);\n var noBuf = !buf;\n // have to estimate size\n var resize = noBuf || st.i != 2;\n // no state\n var noSt = st.i;\n // Assumes roughly 33% compression ratio average\n if (noBuf)\n buf = new u8(sl * 3);\n // ensure buffer can fit at least l elements\n var cbuf = function (l) {\n var bl = buf.length;\n // need to increase size to fit\n if (l > bl) {\n // Double or set to necessary, whichever is greater\n var nbuf = new u8(Math.max(bl * 2, l));\n nbuf.set(buf);\n buf = nbuf;\n }\n };\n // last chunk bitpos bytes\n var final = st.f || 0, pos = st.p || 0, bt = st.b || 0, lm = st.l, dm = st.d, lbt = st.m, dbt = st.n;\n // total bits\n var tbts = sl * 8;\n do {\n if (!lm) {\n // BFINAL - this is only 1 when last chunk is next\n final = bits(dat, pos, 1);\n // type: 0 = no compression, 1 = fixed huffman, 2 = dynamic huffman\n var type = bits(dat, pos + 1, 3);\n pos += 3;\n if (!type) {\n // go to end of byte boundary\n var s = shft(pos) + 4, l = dat[s - 4] | (dat[s - 3] << 8), t = s + l;\n if (t > sl) {\n if (noSt)\n err(0);\n break;\n }\n // ensure size\n if (resize)\n cbuf(bt + l);\n // Copy over uncompressed data\n buf.set(dat.subarray(s, t), bt);\n // Get new bitpos, update byte count\n st.b = bt += l, st.p = pos = t * 8, st.f = final;\n continue;\n }\n else if (type == 1)\n lm = flrm, dm = fdrm, lbt = 9, dbt = 5;\n else if (type == 2) {\n // literal lengths\n var hLit = bits(dat, pos, 31) + 257, hcLen = bits(dat, pos + 10, 15) + 4;\n var tl = hLit + bits(dat, pos + 5, 31) + 1;\n pos += 14;\n // length+distance tree\n var ldt = new u8(tl);\n // code length tree\n var clt = new u8(19);\n for (var i = 0; i < hcLen; ++i) {\n // use index map to get real code\n clt[clim[i]] = bits(dat, pos + i * 3, 7);\n }\n pos += hcLen * 3;\n // code lengths bits\n var clb = max(clt), clbmsk = (1 << clb) - 1;\n // code lengths map\n var clm = hMap(clt, clb, 1);\n for (var i = 0; i < tl;) {\n var r = clm[bits(dat, pos, clbmsk)];\n // bits read\n pos += r & 15;\n // symbol\n var s = r >> 4;\n // code length to copy\n if (s < 16) {\n ldt[i++] = s;\n }\n else {\n // copy count\n var c = 0, n = 0;\n if (s == 16)\n n = 3 + bits(dat, pos, 3), pos += 2, c = ldt[i - 1];\n else if (s == 17)\n n = 3 + bits(dat, pos, 7), pos += 3;\n else if (s == 18)\n n = 11 + bits(dat, pos, 127), pos += 7;\n while (n--)\n ldt[i++] = c;\n }\n }\n // length tree distance tree\n var lt = ldt.subarray(0, hLit), dt = ldt.subarray(hLit);\n // max length bits\n lbt = max(lt);\n // max dist bits\n dbt = max(dt);\n lm = hMap(lt, lbt, 1);\n dm = hMap(dt, dbt, 1);\n }\n else\n err(1);\n if (pos > tbts) {\n if (noSt)\n err(0);\n break;\n }\n }\n // Make sure the buffer can hold this + the largest possible addition\n // Maximum chunk size (practically, theoretically infinite) is 2^17\n if (resize)\n cbuf(bt + 131072);\n var lms = (1 << lbt) - 1, dms = (1 << dbt) - 1;\n var lpos = pos;\n for (;; lpos = pos) {\n // bits read, code\n var c = lm[bits16(dat, pos) & lms], sym = c >> 4;\n pos += c & 15;\n if (pos > tbts) {\n if (noSt)\n err(0);\n break;\n }\n if (!c)\n err(2);\n if (sym < 256)\n buf[bt++] = sym;\n else if (sym == 256) {\n lpos = pos, lm = null;\n break;\n }\n else {\n var add = sym - 254;\n // no extra bits needed if less\n if (sym > 264) {\n // index\n var i = sym - 257, b = fleb[i];\n add = bits(dat, pos, (1 << b) - 1) + fl[i];\n pos += b;\n }\n // dist\n var d = dm[bits16(dat, pos) & dms], dsym = d >> 4;\n if (!d)\n err(3);\n pos += d & 15;\n var dt = fd[dsym];\n if (dsym > 3) {\n var b = fdeb[dsym];\n dt += bits16(dat, pos) & (1 << b) - 1, pos += b;\n }\n if (pos > tbts) {\n if (noSt)\n err(0);\n break;\n }\n if (resize)\n cbuf(bt + 131072);\n var end = bt + add;\n if (bt < dt) {\n var shift = dl - dt, dend = Math.min(dt, end);\n if (shift + bt < 0)\n err(3);\n for (; bt < dend; ++bt)\n buf[bt] = dict[shift + bt];\n }\n for (; bt < end; ++bt)\n buf[bt] = buf[bt - dt];\n }\n }\n st.l = lm, st.p = lpos, st.b = bt, st.f = final;\n if (lm)\n final = 1, st.m = lbt, st.d = dm, st.n = dbt;\n } while (!final);\n // don't reallocate for streams or user buffers\n return bt != buf.length && noBuf ? slc(buf, 0, bt) : buf.subarray(0, bt);\n};\n// starting at p, write the minimum number of bits that can hold v to d\nvar wbits = function (d, p, v) {\n v <<= p & 7;\n var o = (p / 8) | 0;\n d[o] |= v;\n d[o + 1] |= v >> 8;\n};\n// starting at p, write the minimum number of bits (>8) that can hold v to d\nvar wbits16 = function (d, p, v) {\n v <<= p & 7;\n var o = (p / 8) | 0;\n d[o] |= v;\n d[o + 1] |= v >> 8;\n d[o + 2] |= v >> 16;\n};\n// creates code lengths from a frequency table\nvar hTree = function (d, mb) {\n // Need extra info to make a tree\n var t = [];\n for (var i = 0; i < d.length; ++i) {\n if (d[i])\n t.push({ s: i, f: d[i] });\n }\n var s = t.length;\n var t2 = t.slice();\n if (!s)\n return { t: et, l: 0 };\n if (s == 1) {\n var v = new u8(t[0].s + 1);\n v[t[0].s] = 1;\n return { t: v, l: 1 };\n }\n t.sort(function (a, b) { return a.f - b.f; });\n // after i2 reaches last ind, will be stopped\n // freq must be greater than largest possible number of symbols\n t.push({ s: -1, f: 25001 });\n var l = t[0], r = t[1], i0 = 0, i1 = 1, i2 = 2;\n t[0] = { s: -1, f: l.f + r.f, l: l, r: r };\n // efficient algorithm from UZIP.js\n // i0 is lookbehind, i2 is lookahead - after processing two low-freq\n // symbols that combined have high freq, will start processing i2 (high-freq,\n // non-composite) symbols instead\n // see https://reddit.com/r/photopea/comments/ikekht/uzipjs_questions/\n while (i1 != s - 1) {\n l = t[t[i0].f < t[i2].f ? i0++ : i2++];\n r = t[i0 != i1 && t[i0].f < t[i2].f ? i0++ : i2++];\n t[i1++] = { s: -1, f: l.f + r.f, l: l, r: r };\n }\n var maxSym = t2[0].s;\n for (var i = 1; i < s; ++i) {\n if (t2[i].s > maxSym)\n maxSym = t2[i].s;\n }\n // code lengths\n var tr = new u16(maxSym + 1);\n // max bits in tree\n var mbt = ln(t[i1 - 1], tr, 0);\n if (mbt > mb) {\n // more algorithms from UZIP.js\n // TODO: find out how this code works (debt)\n // ind debt\n var i = 0, dt = 0;\n // left cost\n var lft = mbt - mb, cst = 1 << lft;\n t2.sort(function (a, b) { return tr[b.s] - tr[a.s] || a.f - b.f; });\n for (; i < s; ++i) {\n var i2_1 = t2[i].s;\n if (tr[i2_1] > mb) {\n dt += cst - (1 << (mbt - tr[i2_1]));\n tr[i2_1] = mb;\n }\n else\n break;\n }\n dt >>= lft;\n while (dt > 0) {\n var i2_2 = t2[i].s;\n if (tr[i2_2] < mb)\n dt -= 1 << (mb - tr[i2_2]++ - 1);\n else\n ++i;\n }\n for (; i >= 0 && dt; --i) {\n var i2_3 = t2[i].s;\n if (tr[i2_3] == mb) {\n --tr[i2_3];\n ++dt;\n }\n }\n mbt = mb;\n }\n return { t: new u8(tr), l: mbt };\n};\n// get the max length and assign length codes\nvar ln = function (n, l, d) {\n return n.s == -1\n ? Math.max(ln(n.l, l, d + 1), ln(n.r, l, d + 1))\n : (l[n.s] = d);\n};\n// length codes generation\nvar lc = function (c) {\n var s = c.length;\n // Note that the semicolon was intentional\n while (s && !c[--s])\n ;\n var cl = new u16(++s);\n // ind num streak\n var cli = 0, cln = c[0], cls = 1;\n var w = function (v) { cl[cli++] = v; };\n for (var i = 1; i <= s; ++i) {\n if (c[i] == cln && i != s)\n ++cls;\n else {\n if (!cln && cls > 2) {\n for (; cls > 138; cls -= 138)\n w(32754);\n if (cls > 2) {\n w(cls > 10 ? ((cls - 11) << 5) | 28690 : ((cls - 3) << 5) | 12305);\n cls = 0;\n }\n }\n else if (cls > 3) {\n w(cln), --cls;\n for (; cls > 6; cls -= 6)\n w(8304);\n if (cls > 2)\n w(((cls - 3) << 5) | 8208), cls = 0;\n }\n while (cls--)\n w(cln);\n cls = 1;\n cln = c[i];\n }\n }\n return { c: cl.subarray(0, cli), n: s };\n};\n// calculate the length of output from tree, code lengths\nvar clen = function (cf, cl) {\n var l = 0;\n for (var i = 0; i < cl.length; ++i)\n l += cf[i] * cl[i];\n return l;\n};\n// writes a fixed block\n// returns the new bit pos\nvar wfblk = function (out, pos, dat) {\n // no need to write 00 as type: TypedArray defaults to 0\n var s = dat.length;\n var o = shft(pos + 2);\n out[o] = s & 255;\n out[o + 1] = s >> 8;\n out[o + 2] = out[o] ^ 255;\n out[o + 3] = out[o + 1] ^ 255;\n for (var i = 0; i < s; ++i)\n out[o + i + 4] = dat[i];\n return (o + 4 + s) * 8;\n};\n// writes a block\nvar wblk = function (dat, out, final, syms, lf, df, eb, li, bs, bl, p) {\n wbits(out, p++, final);\n ++lf[256];\n var _a = hTree(lf, 15), dlt = _a.t, mlb = _a.l;\n var _b = hTree(df, 15), ddt = _b.t, mdb = _b.l;\n var _c = lc(dlt), lclt = _c.c, nlc = _c.n;\n var _d = lc(ddt), lcdt = _d.c, ndc = _d.n;\n var lcfreq = new u16(19);\n for (var i = 0; i < lclt.length; ++i)\n ++lcfreq[lclt[i] & 31];\n for (var i = 0; i < lcdt.length; ++i)\n ++lcfreq[lcdt[i] & 31];\n var _e = hTree(lcfreq, 7), lct = _e.t, mlcb = _e.l;\n var nlcc = 19;\n for (; nlcc > 4 && !lct[clim[nlcc - 1]]; --nlcc)\n ;\n var flen = (bl + 5) << 3;\n var ftlen = clen(lf, flt) + clen(df, fdt) + eb;\n var dtlen = clen(lf, dlt) + clen(df, ddt) + eb + 14 + 3 * nlcc + clen(lcfreq, lct) + 2 * lcfreq[16] + 3 * lcfreq[17] + 7 * lcfreq[18];\n if (bs >= 0 && flen <= ftlen && flen <= dtlen)\n return wfblk(out, p, dat.subarray(bs, bs + bl));\n var lm, ll, dm, dl;\n wbits(out, p, 1 + (dtlen < ftlen)), p += 2;\n if (dtlen < ftlen) {\n lm = hMap(dlt, mlb, 0), ll = dlt, dm = hMap(ddt, mdb, 0), dl = ddt;\n var llm = hMap(lct, mlcb, 0);\n wbits(out, p, nlc - 257);\n wbits(out, p + 5, ndc - 1);\n wbits(out, p + 10, nlcc - 4);\n p += 14;\n for (var i = 0; i < nlcc; ++i)\n wbits(out, p + 3 * i, lct[clim[i]]);\n p += 3 * nlcc;\n var lcts = [lclt, lcdt];\n for (var it = 0; it < 2; ++it) {\n var clct = lcts[it];\n for (var i = 0; i < clct.length; ++i) {\n var len = clct[i] & 31;\n wbits(out, p, llm[len]), p += lct[len];\n if (len > 15)\n wbits(out, p, (clct[i] >> 5) & 127), p += clct[i] >> 12;\n }\n }\n }\n else {\n lm = flm, ll = flt, dm = fdm, dl = fdt;\n }\n for (var i = 0; i < li; ++i) {\n var sym = syms[i];\n if (sym > 255) {\n var len = (sym >> 18) & 31;\n wbits16(out, p, lm[len + 257]), p += ll[len + 257];\n if (len > 7)\n wbits(out, p, (sym >> 23) & 31), p += fleb[len];\n var dst = sym & 31;\n wbits16(out, p, dm[dst]), p += dl[dst];\n if (dst > 3)\n wbits16(out, p, (sym >> 5) & 8191), p += fdeb[dst];\n }\n else {\n wbits16(out, p, lm[sym]), p += ll[sym];\n }\n }\n wbits16(out, p, lm[256]);\n return p + ll[256];\n};\n// deflate options (nice << 13) | chain\nvar deo = /*#__PURE__*/ new i32([65540, 131080, 131088, 131104, 262176, 1048704, 1048832, 2114560, 2117632]);\n// empty\nvar et = /*#__PURE__*/ new u8(0);\n// compresses data into a raw DEFLATE buffer\nvar dflt = function (dat, lvl, plvl, pre, post, st) {\n var s = st.z || dat.length;\n var o = new u8(pre + s + 5 * (1 + Math.ceil(s / 7000)) + post);\n // writing to this writes to the output buffer\n var w = o.subarray(pre, o.length - post);\n var lst = st.l;\n var pos = (st.r || 0) & 7;\n if (lvl) {\n if (pos)\n w[0] = st.r >> 3;\n var opt = deo[lvl - 1];\n var n = opt >> 13, c = opt & 8191;\n var msk_1 = (1 << plvl) - 1;\n // prev 2-byte val map curr 2-byte val map\n var prev = st.p || new u16(32768), head = st.h || new u16(msk_1 + 1);\n var bs1_1 = Math.ceil(plvl / 3), bs2_1 = 2 * bs1_1;\n var hsh = function (i) { return (dat[i] ^ (dat[i + 1] << bs1_1) ^ (dat[i + 2] << bs2_1)) & msk_1; };\n // 24576 is an arbitrary number of maximum symbols per block\n // 424 buffer for last block\n var syms = new i32(25000);\n // length/literal freq distance freq\n var lf = new u16(288), df = new u16(32);\n // l/lcnt exbits index l/lind waitdx blkpos\n var lc_1 = 0, eb = 0, i = st.i || 0, li = 0, wi = st.w || 0, bs = 0;\n for (; i + 2 < s; ++i) {\n // hash value\n var hv = hsh(i);\n // index mod 32768 previous index mod\n var imod = i & 32767, pimod = head[hv];\n prev[imod] = pimod;\n head[hv] = imod;\n // We always should modify head and prev, but only add symbols if\n // this data is not yet processed (\"wait\" for wait index)\n if (wi <= i) {\n // bytes remaining\n var rem = s - i;\n if ((lc_1 > 7000 || li > 24576) && (rem > 423 || !lst)) {\n pos = wblk(dat, w, 0, syms, lf, df, eb, li, bs, i - bs, pos);\n li = lc_1 = eb = 0, bs = i;\n for (var j = 0; j < 286; ++j)\n lf[j] = 0;\n for (var j = 0; j < 30; ++j)\n df[j] = 0;\n }\n // len dist chain\n var l = 2, d = 0, ch_1 = c, dif = imod - pimod & 32767;\n if (rem > 2 && hv == hsh(i - dif)) {\n var maxn = Math.min(n, rem) - 1;\n var maxd = Math.min(32767, i);\n // max possible length\n // not capped at dif because decompressors implement \"rolling\" index population\n var ml = Math.min(258, rem);\n while (dif <= maxd && --ch_1 && imod != pimod) {\n if (dat[i + l] == dat[i + l - dif]) {\n var nl = 0;\n for (; nl < ml && dat[i + nl] == dat[i + nl - dif]; ++nl)\n ;\n if (nl > l) {\n l = nl, d = dif;\n // break out early when we reach \"nice\" (we are satisfied enough)\n if (nl > maxn)\n break;\n // now, find the rarest 2-byte sequence within this\n // length of literals and search for that instead.\n // Much faster than just using the start\n var mmd = Math.min(dif, nl - 2);\n var md = 0;\n for (var j = 0; j < mmd; ++j) {\n var ti = i - dif + j & 32767;\n var pti = prev[ti];\n var cd = ti - pti & 32767;\n if (cd > md)\n md = cd, pimod = ti;\n }\n }\n }\n // check the previous match\n imod = pimod, pimod = prev[imod];\n dif += imod - pimod & 32767;\n }\n }\n // d will be nonzero only when a match was found\n if (d) {\n // store both dist and len data in one int32\n // Make sure this is recognized as a len/dist with 28th bit (2^28)\n syms[li++] = 268435456 | (revfl[l] << 18) | revfd[d];\n var lin = revfl[l] & 31, din = revfd[d] & 31;\n eb += fleb[lin] + fdeb[din];\n ++lf[257 + lin];\n ++df[din];\n wi = i + l;\n ++lc_1;\n }\n else {\n syms[li++] = dat[i];\n ++lf[dat[i]];\n }\n }\n }\n for (i = Math.max(i, wi); i < s; ++i) {\n syms[li++] = dat[i];\n ++lf[dat[i]];\n }\n pos = wblk(dat, w, lst, syms, lf, df, eb, li, bs, i - bs, pos);\n if (!lst) {\n st.r = (pos & 7) | w[(pos / 8) | 0] << 3;\n // shft(pos) now 1 less if pos & 7 != 0\n pos -= 7;\n st.h = head, st.p = prev, st.i = i, st.w = wi;\n }\n }\n else {\n for (var i = st.w || 0; i < s + lst; i += 65535) {\n // end\n var e = i + 65535;\n if (e >= s) {\n // write final block\n w[(pos / 8) | 0] = lst;\n e = s;\n }\n pos = wfblk(w, pos + 1, dat.subarray(i, e));\n }\n st.i = s;\n }\n return slc(o, 0, pre + shft(pos) + post);\n};\n// CRC32 table\nvar crct = /*#__PURE__*/ (function () {\n var t = new Int32Array(256);\n for (var i = 0; i < 256; ++i) {\n var c = i, k = 9;\n while (--k)\n c = ((c & 1) && -306674912) ^ (c >>> 1);\n t[i] = c;\n }\n return t;\n})();\n// CRC32\nvar crc = function () {\n var c = -1;\n return {\n p: function (d) {\n // closures have awful performance\n var cr = c;\n for (var i = 0; i < d.length; ++i)\n cr = crct[(cr & 255) ^ d[i]] ^ (cr >>> 8);\n c = cr;\n },\n d: function () { return ~c; }\n };\n};\n// Adler32\nvar adler = function () {\n var a = 1, b = 0;\n return {\n p: function (d) {\n // closures have awful performance\n var n = a, m = b;\n var l = d.length | 0;\n for (var i = 0; i != l;) {\n var e = Math.min(i + 2655, l);\n for (; i < e; ++i)\n m += n += d[i];\n n = (n & 65535) + 15 * (n >> 16), m = (m & 65535) + 15 * (m >> 16);\n }\n a = n, b = m;\n },\n d: function () {\n a %= 65521, b %= 65521;\n return (a & 255) << 24 | (a & 0xFF00) << 8 | (b & 255) << 8 | (b >> 8);\n }\n };\n};\n;\n// deflate with opts\nvar dopt = function (dat, opt, pre, post, st) {\n if (!st) {\n st = { l: 1 };\n if (opt.dictionary) {\n var dict = opt.dictionary.subarray(-32768);\n var newDat = new u8(dict.length + dat.length);\n newDat.set(dict);\n newDat.set(dat, dict.length);\n dat = newDat;\n st.w = dict.length;\n }\n }\n return dflt(dat, opt.level == null ? 6 : opt.level, opt.mem == null ? (st.l ? Math.ceil(Math.max(8, Math.min(13, Math.log(dat.length))) * 1.5) : 20) : (12 + opt.mem), pre, post, st);\n};\n// Walmart object spread\nvar mrg = function (a, b) {\n var o = {};\n for (var k in a)\n o[k] = a[k];\n for (var k in b)\n o[k] = b[k];\n return o;\n};\n// worker clone\n// This is possibly the craziest part of the entire codebase, despite how simple it may seem.\n// The only parameter to this function is a closure that returns an array of variables outside of the function scope.\n// We're going to try to figure out the variable names used in the closure as strings because that is crucial for workerization.\n// We will return an object mapping of true variable name to value (basically, the current scope as a JS object).\n// The reason we can't just use the original variable names is minifiers mangling the toplevel scope.\n// This took me three weeks to figure out how to do.\nvar wcln = function (fn, fnStr, td) {\n var dt = fn();\n var st = fn.toString();\n var ks = st.slice(st.indexOf('[') + 1, st.lastIndexOf(']')).replace(/\\s+/g, '').split(',');\n for (var i = 0; i < dt.length; ++i) {\n var v = dt[i], k = ks[i];\n if (typeof v == 'function') {\n fnStr += ';' + k + '=';\n var st_1 = v.toString();\n if (v.prototype) {\n // for global objects\n if (st_1.indexOf('[native code]') != -1) {\n var spInd = st_1.indexOf(' ', 8) + 1;\n fnStr += st_1.slice(spInd, st_1.indexOf('(', spInd));\n }\n else {\n fnStr += st_1;\n for (var t in v.prototype)\n fnStr += ';' + k + '.prototype.' + t + '=' + v.prototype[t].toString();\n }\n }\n else\n fnStr += st_1;\n }\n else\n td[k] = v;\n }\n return fnStr;\n};\nvar ch = [];\n// clone bufs\nvar cbfs = function (v) {\n var tl = [];\n for (var k in v) {\n if (v[k].buffer) {\n tl.push((v[k] = new v[k].constructor(v[k])).buffer);\n }\n }\n return tl;\n};\n// use a worker to execute code\nvar wrkr = function (fns, init, id, cb) {\n if (!ch[id]) {\n var fnStr = '', td_1 = {}, m = fns.length - 1;\n for (var i = 0; i < m; ++i)\n fnStr = wcln(fns[i], fnStr, td_1);\n ch[id] = { c: wcln(fns[m], fnStr, td_1), e: td_1 };\n }\n var td = mrg({}, ch[id].e);\n return wk(ch[id].c + ';onmessage=function(e){for(var k in e.data)self[k]=e.data[k];onmessage=' + init.toString() + '}', id, td, cbfs(td), cb);\n};\n// base async inflate fn\nvar bInflt = function () { return [u8, u16, i32, fleb, fdeb, clim, fl, fd, flrm, fdrm, rev, ec, hMap, max, bits, bits16, shft, slc, err, inflt, inflateSync, pbf, gopt]; };\nvar bDflt = function () { return [u8, u16, i32, fleb, fdeb, clim, revfl, revfd, flm, flt, fdm, fdt, rev, deo, et, hMap, wbits, wbits16, hTree, ln, lc, clen, wfblk, wblk, shft, slc, dflt, dopt, deflateSync, pbf]; };\n// gzip extra\nvar gze = function () { return [gzh, gzhl, wbytes, crc, crct]; };\n// gunzip extra\nvar guze = function () { return [gzs, gzl]; };\n// zlib extra\nvar zle = function () { return [zlh, wbytes, adler]; };\n// unzlib extra\nvar zule = function () { return [zls]; };\n// post buf\nvar pbf = function (msg) { return postMessage(msg, [msg.buffer]); };\n// get opts\nvar gopt = function (o) { return o && {\n out: o.size && new u8(o.size),\n dictionary: o.dictionary\n}; };\n// async helper\nvar cbify = function (dat, opts, fns, init, id, cb) {\n var w = wrkr(fns, init, id, function (err, dat) {\n w.terminate();\n cb(err, dat);\n });\n w.postMessage([dat, opts], opts.consume ? [dat.buffer] : []);\n return function () { w.terminate(); };\n};\n// auto stream\nvar astrm = function (strm) {\n strm.ondata = function (dat, final) { return postMessage([dat, final], [dat.buffer]); };\n return function (ev) {\n if (ev.data.length) {\n strm.push(ev.data[0], ev.data[1]);\n postMessage([ev.data[0].length]);\n }\n else\n strm.flush();\n };\n};\n// async stream attach\nvar astrmify = function (fns, strm, opts, init, id, flush, ext) {\n var t;\n var w = wrkr(fns, init, id, function (err, dat) {\n if (err)\n w.terminate(), strm.ondata.call(strm, err);\n else if (!Array.isArray(dat))\n ext(dat);\n else if (dat.length == 1) {\n strm.queuedSize -= dat[0];\n if (strm.ondrain)\n strm.ondrain(dat[0]);\n }\n else {\n if (dat[1])\n w.terminate();\n strm.ondata.call(strm, err, dat[0], dat[1]);\n }\n });\n w.postMessage(opts);\n strm.queuedSize = 0;\n strm.push = function (d, f) {\n if (!strm.ondata)\n err(5);\n if (t)\n strm.ondata(err(4, 0, 1), null, !!f);\n strm.queuedSize += d.length;\n w.postMessage([d, t = f], [d.buffer]);\n };\n strm.terminate = function () { w.terminate(); };\n if (flush) {\n strm.flush = function () { w.postMessage([]); };\n }\n};\n// read 2 bytes\nvar b2 = function (d, b) { return d[b] | (d[b + 1] << 8); };\n// read 4 bytes\nvar b4 = function (d, b) { return (d[b] | (d[b + 1] << 8) | (d[b + 2] << 16) | (d[b + 3] << 24)) >>> 0; };\nvar b8 = function (d, b) { return b4(d, b) + (b4(d, b + 4) * 4294967296); };\n// write bytes\nvar wbytes = function (d, b, v) {\n for (; v; ++b)\n d[b] = v, v >>>= 8;\n};\n// gzip header\nvar gzh = function (c, o) {\n var fn = o.filename;\n c[0] = 31, c[1] = 139, c[2] = 8, c[8] = o.level < 2 ? 4 : o.level == 9 ? 2 : 0, c[9] = 3; // assume Unix\n if (o.mtime != 0)\n wbytes(c, 4, Math.floor(new Date(o.mtime || Date.now()) / 1000));\n if (fn) {\n c[3] = 8;\n for (var i = 0; i <= fn.length; ++i)\n c[i + 10] = fn.charCodeAt(i);\n }\n};\n// gzip footer: -8 to -4 = CRC, -4 to -0 is length\n// gzip start\nvar gzs = function (d) {\n if (d[0] != 31 || d[1] != 139 || d[2] != 8)\n err(6, 'invalid gzip data');\n var flg = d[3];\n var st = 10;\n if (flg & 4)\n st += (d[10] | d[11] << 8) + 2;\n for (var zs = (flg >> 3 & 1) + (flg >> 4 & 1); zs > 0; zs -= !d[st++])\n ;\n return st + (flg & 2);\n};\n// gzip length\nvar gzl = function (d) {\n var l = d.length;\n return (d[l - 4] | d[l - 3] << 8 | d[l - 2] << 16 | d[l - 1] << 24) >>> 0;\n};\n// gzip header length\nvar gzhl = function (o) { return 10 + (o.filename ? o.filename.length + 1 : 0); };\n// zlib header\nvar zlh = function (c, o) {\n var lv = o.level, fl = lv == 0 ? 0 : lv < 6 ? 1 : lv == 9 ? 3 : 2;\n c[0] = 120, c[1] = (fl << 6) | (o.dictionary && 32);\n c[1] |= 31 - ((c[0] << 8) | c[1]) % 31;\n if (o.dictionary) {\n var h = adler();\n h.p(o.dictionary);\n wbytes(c, 2, h.d());\n }\n};\n// zlib start\nvar zls = function (d, dict) {\n if ((d[0] & 15) != 8 || (d[0] >> 4) > 7 || ((d[0] << 8 | d[1]) % 31))\n err(6, 'invalid zlib data');\n if ((d[1] >> 5 & 1) == +!dict)\n err(6, 'invalid zlib data: ' + (d[1] & 32 ? 'need' : 'unexpected') + ' dictionary');\n return (d[1] >> 3 & 4) + 2;\n};\nfunction StrmOpt(opts, cb) {\n if (typeof opts == 'function')\n cb = opts, opts = {};\n this.ondata = cb;\n return opts;\n}\n/**\n * Streaming DEFLATE compression\n */\nvar Deflate = /*#__PURE__*/ (function () {\n function Deflate(opts, cb) {\n if (typeof opts == 'function')\n cb = opts, opts = {};\n this.ondata = cb;\n this.o = opts || {};\n this.s = { l: 0, i: 32768, w: 32768, z: 32768 };\n // Buffer length must always be 0 mod 32768 for index calculations to be correct when modifying head and prev\n // 98304 = 32768 (lookback) + 65536 (common chunk size)\n this.b = new u8(98304);\n if (this.o.dictionary) {\n var dict = this.o.dictionary.subarray(-32768);\n this.b.set(dict, 32768 - dict.length);\n this.s.i = 32768 - dict.length;\n }\n }\n Deflate.prototype.p = function (c, f) {\n this.ondata(dopt(c, this.o, 0, 0, this.s), f);\n };\n /**\n * Pushes a chunk to be deflated\n * @param chunk The chunk to push\n * @param final Whether this is the last chunk\n */\n Deflate.prototype.push = function (chunk, final) {\n if (!this.ondata)\n err(5);\n if (this.s.l)\n err(4);\n var endLen = chunk.length + this.s.z;\n if (endLen > this.b.length) {\n if (endLen > 2 * this.b.length - 32768) {\n var newBuf = new u8(endLen & -32768);\n newBuf.set(this.b.subarray(0, this.s.z));\n this.b = newBuf;\n }\n var split = this.b.length - this.s.z;\n this.b.set(chunk.subarray(0, split), this.s.z);\n this.s.z = this.b.length;\n this.p(this.b, false);\n this.b.set(this.b.subarray(-32768));\n this.b.set(chunk.subarray(split), 32768);\n this.s.z = chunk.length - split + 32768;\n this.s.i = 32766, this.s.w = 32768;\n }\n else {\n this.b.set(chunk, this.s.z);\n this.s.z += chunk.length;\n }\n this.s.l = final & 1;\n if (this.s.z > this.s.w + 8191 || final) {\n this.p(this.b, final || false);\n this.s.w = this.s.i, this.s.i -= 2;\n }\n };\n /**\n * Flushes buffered uncompressed data. Useful to immediately retrieve the\n * deflated output for small inputs.\n */\n Deflate.prototype.flush = function () {\n if (!this.ondata)\n err(5);\n if (this.s.l)\n err(4);\n this.p(this.b, false);\n this.s.w = this.s.i, this.s.i -= 2;\n };\n return Deflate;\n}());\nexport { Deflate };\n/**\n * Asynchronous streaming DEFLATE compression\n */\nvar AsyncDeflate = /*#__PURE__*/ (function () {\n function AsyncDeflate(opts, cb) {\n astrmify([\n bDflt,\n function () { return [astrm, Deflate]; }\n ], this, StrmOpt.call(this, opts, cb), function (ev) {\n var strm = new Deflate(ev.data);\n onmessage = astrm(strm);\n }, 6, 1);\n }\n return AsyncDeflate;\n}());\nexport { AsyncDeflate };\nexport function deflate(data, opts, cb) {\n if (!cb)\n cb = opts, opts = {};\n if (typeof cb != 'function')\n err(7);\n return cbify(data, opts, [\n bDflt,\n ], function (ev) { return pbf(deflateSync(ev.data[0], ev.data[1])); }, 0, cb);\n}\n/**\n * Compresses data with DEFLATE without any wrapper\n * @param data The data to compress\n * @param opts The compression options\n * @returns The deflated version of the data\n */\nexport function deflateSync(data, opts) {\n return dopt(data, opts || {}, 0, 0);\n}\n/**\n * Streaming DEFLATE decompression\n */\nvar Inflate = /*#__PURE__*/ (function () {\n function Inflate(opts, cb) {\n // no StrmOpt here to avoid adding to workerizer\n if (typeof opts == 'function')\n cb = opts, opts = {};\n this.ondata = cb;\n var dict = opts && opts.dictionary && opts.dictionary.subarray(-32768);\n this.s = { i: 0, b: dict ? dict.length : 0 };\n this.o = new u8(32768);\n this.p = new u8(0);\n if (dict)\n this.o.set(dict);\n }\n Inflate.prototype.e = function (c) {\n if (!this.ondata)\n err(5);\n if (this.d)\n err(4);\n if (!this.p.length)\n this.p = c;\n else if (c.length) {\n var n = new u8(this.p.length + c.length);\n n.set(this.p), n.set(c, this.p.length), this.p = n;\n }\n };\n Inflate.prototype.c = function (final) {\n this.s.i = +(this.d = final || false);\n var bts = this.s.b;\n var dt = inflt(this.p, this.s, this.o);\n this.ondata(slc(dt, bts, this.s.b), this.d);\n this.o = slc(dt, this.s.b - 32768), this.s.b = this.o.length;\n this.p = slc(this.p, (this.s.p / 8) | 0), this.s.p &= 7;\n };\n /**\n * Pushes a chunk to be inflated\n * @param chunk The chunk to push\n * @param final Whether this is the final chunk\n */\n Inflate.prototype.push = function (chunk, final) {\n this.e(chunk), this.c(final);\n };\n return Inflate;\n}());\nexport { Inflate };\n/**\n * Asynchronous streaming DEFLATE decompression\n */\nvar AsyncInflate = /*#__PURE__*/ (function () {\n function AsyncInflate(opts, cb) {\n astrmify([\n bInflt,\n function () { return [astrm, Inflate]; }\n ], this, StrmOpt.call(this, opts, cb), function (ev) {\n var strm = new Inflate(ev.data);\n onmessage = astrm(strm);\n }, 7, 0);\n }\n return AsyncInflate;\n}());\nexport { AsyncInflate };\nexport function inflate(data, opts, cb) {\n if (!cb)\n cb = opts, opts = {};\n if (typeof cb != 'function')\n err(7);\n return cbify(data, opts, [\n bInflt\n ], function (ev) { return pbf(inflateSync(ev.data[0], gopt(ev.data[1]))); }, 1, cb);\n}\n/**\n * Expands DEFLATE data with no wrapper\n * @param data The data to decompress\n * @param opts The decompression options\n * @returns The decompressed version of the data\n */\nexport function inflateSync(data, opts) {\n return inflt(data, { i: 2 }, opts && opts.out, opts && opts.dictionary);\n}\n// before you yell at me for not just using extends, my reason is that TS inheritance is hard to workerize.\n/**\n * Streaming GZIP compression\n */\nvar Gzip = /*#__PURE__*/ (function () {\n function Gzip(opts, cb) {\n this.c = crc();\n this.l = 0;\n this.v = 1;\n Deflate.call(this, opts, cb);\n }\n /**\n * Pushes a chunk to be GZIPped\n * @param chunk The chunk to push\n * @param final Whether this is the last chunk\n */\n Gzip.prototype.push = function (chunk, final) {\n this.c.p(chunk);\n this.l += chunk.length;\n Deflate.prototype.push.call(this, chunk, final);\n };\n Gzip.prototype.p = function (c, f) {\n var raw = dopt(c, this.o, this.v && gzhl(this.o), f && 8, this.s);\n if (this.v)\n gzh(raw, this.o), this.v = 0;\n if (f)\n wbytes(raw, raw.length - 8, this.c.d()), wbytes(raw, raw.length - 4, this.l);\n this.ondata(raw, f);\n };\n /**\n * Flushes buffered uncompressed data. Useful to immediately retrieve the\n * GZIPped output for small inputs.\n */\n Gzip.prototype.flush = function () {\n Deflate.prototype.flush.call(this);\n };\n return Gzip;\n}());\nexport { Gzip };\n/**\n * Asynchronous streaming GZIP compression\n */\nvar AsyncGzip = /*#__PURE__*/ (function () {\n function AsyncGzip(opts, cb) {\n astrmify([\n bDflt,\n gze,\n function () { return [astrm, Deflate, Gzip]; }\n ], this, StrmOpt.call(this, opts, cb), function (ev) {\n var strm = new Gzip(ev.data);\n onmessage = astrm(strm);\n }, 8, 1);\n }\n return AsyncGzip;\n}());\nexport { AsyncGzip };\nexport function gzip(data, opts, cb) {\n if (!cb)\n cb = opts, opts = {};\n if (typeof cb != 'function')\n err(7);\n return cbify(data, opts, [\n bDflt,\n gze,\n function () { return [gzipSync]; }\n ], function (ev) { return pbf(gzipSync(ev.data[0], ev.data[1])); }, 2, cb);\n}\n/**\n * Compresses data with GZIP\n * @param data The data to compress\n * @param opts The compression options\n * @returns The gzipped version of the data\n */\nexport function gzipSync(data, opts) {\n if (!opts)\n opts = {};\n var c = crc(), l = data.length;\n c.p(data);\n var d = dopt(data, opts, gzhl(opts), 8), s = d.length;\n return gzh(d, opts), wbytes(d, s - 8, c.d()), wbytes(d, s - 4, l), d;\n}\n/**\n * Streaming single or multi-member GZIP decompression\n */\nvar Gunzip = /*#__PURE__*/ (function () {\n function Gunzip(opts, cb) {\n this.v = 1;\n this.r = 0;\n Inflate.call(this, opts, cb);\n }\n /**\n * Pushes a chunk to be GUNZIPped\n * @param chunk The chunk to push\n * @param final Whether this is the last chunk\n */\n Gunzip.prototype.push = function (chunk, final) {\n Inflate.prototype.e.call(this, chunk);\n this.r += chunk.length;\n if (this.v) {\n var p = this.p.subarray(this.v - 1);\n var s = p.length > 3 ? gzs(p) : 4;\n if (s > p.length) {\n if (!final)\n return;\n }\n else if (this.v > 1 && this.onmember) {\n this.onmember(this.r - p.length);\n }\n this.p = p.subarray(s), this.v = 0;\n }\n // necessary to prevent TS from using the closure value\n // This allows for workerization to function correctly\n Inflate.prototype.c.call(this, final);\n // process concatenated GZIP\n if (this.s.f && !this.s.l && !final) {\n this.v = shft(this.s.p) + 9;\n this.s = { i: 0 };\n this.o = new u8(0);\n this.push(new u8(0), final);\n }\n };\n return Gunzip;\n}());\nexport { Gunzip };\n/**\n * Asynchronous streaming single or multi-member GZIP decompression\n */\nvar AsyncGunzip = /*#__PURE__*/ (function () {\n function AsyncGunzip(opts, cb) {\n var _this = this;\n astrmify([\n bInflt,\n guze,\n function () { return [astrm, Inflate, Gunzip]; }\n ], this, StrmOpt.call(this, opts, cb), function (ev) {\n var strm = new Gunzip(ev.data);\n strm.onmember = function (offset) { return postMessage(offset); };\n onmessage = astrm(strm);\n }, 9, 0, function (offset) { return _this.onmember && _this.onmember(offset); });\n }\n return AsyncGunzip;\n}());\nexport { AsyncGunzip };\nexport function gunzip(data, opts, cb) {\n if (!cb)\n cb = opts, opts = {};\n if (typeof cb != 'function')\n err(7);\n return cbify(data, opts, [\n bInflt,\n guze,\n function () { return [gunzipSync]; }\n ], function (ev) { return pbf(gunzipSync(ev.data[0], ev.data[1])); }, 3, cb);\n}\n/**\n * Expands GZIP data\n * @param data The data to decompress\n * @param opts The decompression options\n * @returns The decompressed version of the data\n */\nexport function gunzipSync(data, opts) {\n var st = gzs(data);\n if (st + 8 > data.length)\n err(6, 'invalid gzip data');\n return inflt(data.subarray(st, -8), { i: 2 }, opts && opts.out || new u8(gzl(data)), opts && opts.dictionary);\n}\n/**\n * Streaming Zlib compression\n */\nvar Zlib = /*#__PURE__*/ (function () {\n function Zlib(opts, cb) {\n this.c = adler();\n this.v = 1;\n Deflate.call(this, opts, cb);\n }\n /**\n * Pushes a chunk to be zlibbed\n * @param chunk The chunk to push\n * @param final Whether this is the last chunk\n */\n Zlib.prototype.push = function (chunk, final) {\n this.c.p(chunk);\n Deflate.prototype.push.call(this, chunk, final);\n };\n Zlib.prototype.p = function (c, f) {\n var raw = dopt(c, this.o, this.v && (this.o.dictionary ? 6 : 2), f && 4, this.s);\n if (this.v)\n zlh(raw, this.o), this.v = 0;\n if (f)\n wbytes(raw, raw.length - 4, this.c.d());\n this.ondata(raw, f);\n };\n /**\n * Flushes buffered uncompressed data. Useful to immediately retrieve the\n * zlibbed output for small inputs.\n */\n Zlib.prototype.flush = function () {\n Deflate.prototype.flush.call(this);\n };\n return Zlib;\n}());\nexport { Zlib };\n/**\n * Asynchronous streaming Zlib compression\n */\nvar AsyncZlib = /*#__PURE__*/ (function () {\n function AsyncZlib(opts, cb) {\n astrmify([\n bDflt,\n zle,\n function () { return [astrm, Deflate, Zlib]; }\n ], this, StrmOpt.call(this, opts, cb), function (ev) {\n var strm = new Zlib(ev.data);\n onmessage = astrm(strm);\n }, 10, 1);\n }\n return AsyncZlib;\n}());\nexport { AsyncZlib };\nexport function zlib(data, opts, cb) {\n if (!cb)\n cb = opts, opts = {};\n if (typeof cb != 'function')\n err(7);\n return cbify(data, opts, [\n bDflt,\n zle,\n function () { return [zlibSync]; }\n ], function (ev) { return pbf(zlibSync(ev.data[0], ev.data[1])); }, 4, cb);\n}\n/**\n * Compress data with Zlib\n * @param data The data to compress\n * @param opts The compression options\n * @returns The zlib-compressed version of the data\n */\nexport function zlibSync(data, opts) {\n if (!opts)\n opts = {};\n var a = adler();\n a.p(data);\n var d = dopt(data, opts, opts.dictionary ? 6 : 2, 4);\n return zlh(d, opts), wbytes(d, d.length - 4, a.d()), d;\n}\n/**\n * Streaming Zlib decompression\n */\nvar Unzlib = /*#__PURE__*/ (function () {\n function Unzlib(opts, cb) {\n Inflate.call(this, opts, cb);\n this.v = opts && opts.dictionary ? 2 : 1;\n }\n /**\n * Pushes a chunk to be unzlibbed\n * @param chunk The chunk to push\n * @param final Whether this is the last chunk\n */\n Unzlib.prototype.push = function (chunk, final) {\n Inflate.prototype.e.call(this, chunk);\n if (this.v) {\n if (this.p.length < 6 && !final)\n return;\n this.p = this.p.subarray(zls(this.p, this.v - 1)), this.v = 0;\n }\n if (final) {\n if (this.p.length < 4)\n err(6, 'invalid zlib data');\n this.p = this.p.subarray(0, -4);\n }\n // necessary to prevent TS from using the closure value\n // This allows for workerization to function correctly\n Inflate.prototype.c.call(this, final);\n };\n return Unzlib;\n}());\nexport { Unzlib };\n/**\n * Asynchronous streaming Zlib decompression\n */\nvar AsyncUnzlib = /*#__PURE__*/ (function () {\n function AsyncUnzlib(opts, cb) {\n astrmify([\n bInflt,\n zule,\n function () { return [astrm, Inflate, Unzlib]; }\n ], this, StrmOpt.call(this, opts, cb), function (ev) {\n var strm = new Unzlib(ev.data);\n onmessage = astrm(strm);\n }, 11, 0);\n }\n return AsyncUnzlib;\n}());\nexport { AsyncUnzlib };\nexport function unzlib(data, opts, cb) {\n if (!cb)\n cb = opts, opts = {};\n if (typeof cb != 'function')\n err(7);\n return cbify(data, opts, [\n bInflt,\n zule,\n function () { return [unzlibSync]; }\n ], function (ev) { return pbf(unzlibSync(ev.data[0], gopt(ev.data[1]))); }, 5, cb);\n}\n/**\n * Expands Zlib data\n * @param data The data to decompress\n * @param opts The decompression options\n * @returns The decompressed version of the data\n */\nexport function unzlibSync(data, opts) {\n return inflt(data.subarray(zls(data, opts && opts.dictionary), -4), { i: 2 }, opts && opts.out, opts && opts.dictionary);\n}\n// Default algorithm for compression (used because having a known output size allows faster decompression)\nexport { gzip as compress, AsyncGzip as AsyncCompress };\nexport { gzipSync as compressSync, Gzip as Compress };\n/**\n * Streaming GZIP, Zlib, or raw DEFLATE decompression\n */\nvar Decompress = /*#__PURE__*/ (function () {\n function Decompress(opts, cb) {\n this.o = StrmOpt.call(this, opts, cb) || {};\n this.G = Gunzip;\n this.I = Inflate;\n this.Z = Unzlib;\n }\n // init substream\n // overriden by AsyncDecompress\n Decompress.prototype.i = function () {\n var _this = this;\n this.s.ondata = function (dat, final) {\n _this.ondata(dat, final);\n };\n };\n /**\n * Pushes a chunk to be decompressed\n * @param chunk The chunk to push\n * @param final Whether this is the last chunk\n */\n Decompress.prototype.push = function (chunk, final) {\n if (!this.ondata)\n err(5);\n if (!this.s) {\n if (this.p && this.p.length) {\n var n = new u8(this.p.length + chunk.length);\n n.set(this.p), n.set(chunk, this.p.length);\n }\n else\n this.p = chunk;\n if (this.p.length > 2) {\n this.s = (this.p[0] == 31 && this.p[1] == 139 && this.p[2] == 8)\n ? new this.G(this.o)\n : ((this.p[0] & 15) != 8 || (this.p[0] >> 4) > 7 || ((this.p[0] << 8 | this.p[1]) % 31))\n ? new this.I(this.o)\n : new this.Z(this.o);\n this.i();\n this.s.push(this.p, final);\n this.p = null;\n }\n }\n else\n this.s.push(chunk, final);\n };\n return Decompress;\n}());\nexport { Decompress };\n/**\n * Asynchronous streaming GZIP, Zlib, or raw DEFLATE decompression\n */\nvar AsyncDecompress = /*#__PURE__*/ (function () {\n function AsyncDecompress(opts, cb) {\n Decompress.call(this, opts, cb);\n this.queuedSize = 0;\n this.G = AsyncGunzip;\n this.I = AsyncInflate;\n this.Z = AsyncUnzlib;\n }\n AsyncDecompress.prototype.i = function () {\n var _this = this;\n this.s.ondata = function (err, dat, final) {\n _this.ondata(err, dat, final);\n };\n this.s.ondrain = function (size) {\n _this.queuedSize -= size;\n if (_this.ondrain)\n _this.ondrain(size);\n };\n };\n /**\n * Pushes a chunk to be decompressed\n * @param chunk The chunk to push\n * @param final Whether this is the last chunk\n */\n AsyncDecompress.prototype.push = function (chunk, final) {\n this.queuedSize += chunk.length;\n Decompress.prototype.push.call(this, chunk, final);\n };\n return AsyncDecompress;\n}());\nexport { AsyncDecompress };\nexport function decompress(data, opts, cb) {\n if (!cb)\n cb = opts, opts = {};\n if (typeof cb != 'function')\n err(7);\n return (data[0] == 31 && data[1] == 139 && data[2] == 8)\n ? gunzip(data, opts, cb)\n : ((data[0] & 15) != 8 || (data[0] >> 4) > 7 || ((data[0] << 8 | data[1]) % 31))\n ? inflate(data, opts, cb)\n : unzlib(data, opts, cb);\n}\n/**\n * Expands compressed GZIP, Zlib, or raw DEFLATE data, automatically detecting the format\n * @param data The data to decompress\n * @param opts The decompression options\n * @returns The decompressed version of the data\n */\nexport function decompressSync(data, opts) {\n return (data[0] == 31 && data[1] == 139 && data[2] == 8)\n ? gunzipSync(data, opts)\n : ((data[0] & 15) != 8 || (data[0] >> 4) > 7 || ((data[0] << 8 | data[1]) % 31))\n ? inflateSync(data, opts)\n : unzlibSync(data, opts);\n}\n// flatten a directory structure\nvar fltn = function (d, p, t, o) {\n for (var k in d) {\n var val = d[k], n = p + k, op = o;\n if (Array.isArray(val))\n op = mrg(o, val[1]), val = val[0];\n if (val instanceof u8)\n t[n] = [val, op];\n else {\n t[n += '/'] = [new u8(0), op];\n fltn(val, n, t, o);\n }\n }\n};\n// text encoder\nvar te = typeof TextEncoder != 'undefined' && /*#__PURE__*/ new TextEncoder();\n// text decoder\nvar td = typeof TextDecoder != 'undefined' && /*#__PURE__*/ new TextDecoder();\n// text decoder stream\nvar tds = 0;\ntry {\n td.decode(et, { stream: true });\n tds = 1;\n}\ncatch (e) { }\n// decode UTF8\nvar dutf8 = function (d) {\n for (var r = '', i = 0;;) {\n var c = d[i++];\n var eb = (c > 127) + (c > 223) + (c > 239);\n if (i + eb > d.length)\n return { s: r, r: slc(d, i - 1) };\n if (!eb)\n r += String.fromCharCode(c);\n else if (eb == 3) {\n c = ((c & 15) << 18 | (d[i++] & 63) << 12 | (d[i++] & 63) << 6 | (d[i++] & 63)) - 65536,\n r += String.fromCharCode(55296 | (c >> 10), 56320 | (c & 1023));\n }\n else if (eb & 1)\n r += String.fromCharCode((c & 31) << 6 | (d[i++] & 63));\n else\n r += String.fromCharCode((c & 15) << 12 | (d[i++] & 63) << 6 | (d[i++] & 63));\n }\n};\n/**\n * Streaming UTF-8 decoding\n */\nvar DecodeUTF8 = /*#__PURE__*/ (function () {\n /**\n * Creates a UTF-8 decoding stream\n * @param cb The callback to call whenever data is decoded\n */\n function DecodeUTF8(cb) {\n this.ondata = cb;\n if (tds)\n this.t = new TextDecoder();\n else\n this.p = et;\n }\n /**\n * Pushes a chunk to be decoded from UTF-8 binary\n * @param chunk The chunk to push\n * @param final Whether this is the last chunk\n */\n DecodeUTF8.prototype.push = function (chunk, final) {\n if (!this.ondata)\n err(5);\n final = !!final;\n if (this.t) {\n this.ondata(this.t.decode(chunk, { stream: true }), final);\n if (final) {\n if (this.t.decode().length)\n err(8);\n this.t = null;\n }\n return;\n }\n if (!this.p)\n err(4);\n var dat = new u8(this.p.length + chunk.length);\n dat.set(this.p);\n dat.set(chunk, this.p.length);\n var _a = dutf8(dat), s = _a.s, r = _a.r;\n if (final) {\n if (r.length)\n err(8);\n this.p = null;\n }\n else\n this.p = r;\n this.ondata(s, final);\n };\n return DecodeUTF8;\n}());\nexport { DecodeUTF8 };\n/**\n * Streaming UTF-8 encoding\n */\nvar EncodeUTF8 = /*#__PURE__*/ (function () {\n /**\n * Creates a UTF-8 decoding stream\n * @param cb The callback to call whenever data is encoded\n */\n function EncodeUTF8(cb) {\n this.ondata = cb;\n }\n /**\n * Pushes a chunk to be encoded to UTF-8\n * @param chunk The string data to push\n * @param final Whether this is the last chunk\n */\n EncodeUTF8.prototype.push = function (chunk, final) {\n if (!this.ondata)\n err(5);\n if (this.d)\n err(4);\n this.ondata(strToU8(chunk), this.d = final || false);\n };\n return EncodeUTF8;\n}());\nexport { EncodeUTF8 };\n/**\n * Converts a string into a Uint8Array for use with compression/decompression methods\n * @param str The string to encode\n * @param latin1 Whether or not to interpret the data as Latin-1. This should\n * not need to be true unless decoding a binary string.\n * @returns The string encoded in UTF-8/Latin-1 binary\n */\nexport function strToU8(str, latin1) {\n if (latin1) {\n var ar_1 = new u8(str.length);\n for (var i = 0; i < str.length; ++i)\n ar_1[i] = str.charCodeAt(i);\n return ar_1;\n }\n if (te)\n return te.encode(str);\n var l = str.length;\n var ar = new u8(str.length + (str.length >> 1));\n var ai = 0;\n var w = function (v) { ar[ai++] = v; };\n for (var i = 0; i < l; ++i) {\n if (ai + 5 > ar.length) {\n var n = new u8(ai + 8 + ((l - i) << 1));\n n.set(ar);\n ar = n;\n }\n var c = str.charCodeAt(i);\n if (c < 128 || latin1)\n w(c);\n else if (c < 2048)\n w(192 | (c >> 6)), w(128 | (c & 63));\n else if (c > 55295 && c < 57344)\n c = 65536 + (c & 1023 << 10) | (str.charCodeAt(++i) & 1023),\n w(240 | (c >> 18)), w(128 | ((c >> 12) & 63)), w(128 | ((c >> 6) & 63)), w(128 | (c & 63));\n else\n w(224 | (c >> 12)), w(128 | ((c >> 6) & 63)), w(128 | (c & 63));\n }\n return slc(ar, 0, ai);\n}\n/**\n * Converts a Uint8Array to a string\n * @param dat The data to decode to string\n * @param latin1 Whether or not to interpret the data as Latin-1. This should\n * not need to be true unless encoding to binary string.\n * @returns The original UTF-8/Latin-1 string\n */\nexport function strFromU8(dat, latin1) {\n if (latin1) {\n var r = '';\n for (var i = 0; i < dat.length; i += 16384)\n r += String.fromCharCode.apply(null, dat.subarray(i, i + 16384));\n return r;\n }\n else if (td) {\n return td.decode(dat);\n }\n else {\n var _a = dutf8(dat), s = _a.s, r = _a.r;\n if (r.length)\n err(8);\n return s;\n }\n}\n;\n// deflate bit flag\nvar dbf = function (l) { return l == 1 ? 3 : l < 6 ? 2 : l == 9 ? 1 : 0; };\n// skip local zip header\nvar slzh = function (d, b) { return b + 30 + b2(d, b + 26) + b2(d, b + 28); };\n// read zip header\nvar zh = function (d, b, z) {\n var fnl = b2(d, b + 28), fn = strFromU8(d.subarray(b + 46, b + 46 + fnl), !(b2(d, b + 8) & 2048)), es = b + 46 + fnl, bs = b4(d, b + 20);\n var _a = z && bs == 4294967295 ? z64e(d, es) : [bs, b4(d, b + 24), b4(d, b + 42)], sc = _a[0], su = _a[1], off = _a[2];\n return [b2(d, b + 10), sc, su, fn, es + b2(d, b + 30) + b2(d, b + 32), off];\n};\n// read zip64 extra field\nvar z64e = function (d, b) {\n for (; b2(d, b) != 1; b += 4 + b2(d, b + 2))\n ;\n return [b8(d, b + 12), b8(d, b + 4), b8(d, b + 20)];\n};\n// extra field length\nvar exfl = function (ex) {\n var le = 0;\n if (ex) {\n for (var k in ex) {\n var l = ex[k].length;\n if (l > 65535)\n err(9);\n le += l + 4;\n }\n }\n return le;\n};\n// write zip header\nvar wzh = function (d, b, f, fn, u, c, ce, co) {\n var fl = fn.length, ex = f.extra, col = co && co.length;\n var exl = exfl(ex);\n wbytes(d, b, ce != null ? 0x2014B50 : 0x4034B50), b += 4;\n if (ce != null)\n d[b++] = 20, d[b++] = f.os;\n d[b] = 20, b += 2; // spec compliance? what's that?\n d[b++] = (f.flag << 1) | (c < 0 && 8), d[b++] = u && 8;\n d[b++] = f.compression & 255, d[b++] = f.compression >> 8;\n var dt = new Date(f.mtime == null ? Date.now() : f.mtime), y = dt.getFullYear() - 1980;\n if (y < 0 || y > 119)\n err(10);\n wbytes(d, b, (y << 25) | ((dt.getMonth() + 1) << 21) | (dt.getDate() << 16) | (dt.getHours() << 11) | (dt.getMinutes() << 5) | (dt.getSeconds() >> 1)), b += 4;\n if (c != -1) {\n wbytes(d, b, f.crc);\n wbytes(d, b + 4, c < 0 ? -c - 2 : c);\n wbytes(d, b + 8, f.size);\n }\n wbytes(d, b + 12, fl);\n wbytes(d, b + 14, exl), b += 16;\n if (ce != null) {\n wbytes(d, b, col);\n wbytes(d, b + 6, f.attrs);\n wbytes(d, b + 10, ce), b += 14;\n }\n d.set(fn, b);\n b += fl;\n if (exl) {\n for (var k in ex) {\n var exf = ex[k], l = exf.length;\n wbytes(d, b, +k);\n wbytes(d, b + 2, l);\n d.set(exf, b + 4), b += 4 + l;\n }\n }\n if (col)\n d.set(co, b), b += col;\n return b;\n};\n// write zip footer (end of central directory)\nvar wzf = function (o, b, c, d, e) {\n wbytes(o, b, 0x6054B50); // skip disk\n wbytes(o, b + 8, c);\n wbytes(o, b + 10, c);\n wbytes(o, b + 12, d);\n wbytes(o, b + 16, e);\n};\n/**\n * A pass-through stream to keep data uncompressed in a ZIP archive.\n */\nvar ZipPassThrough = /*#__PURE__*/ (function () {\n /**\n * Creates a pass-through stream that can be added to ZIP archives\n * @param filename The filename to associate with this data stream\n */\n function ZipPassThrough(filename) {\n this.filename = filename;\n this.c = crc();\n this.size = 0;\n this.compression = 0;\n }\n /**\n * Processes a chunk and pushes to the output stream. You can override this\n * method in a subclass for custom behavior, but by default this passes\n * the data through. You must call this.ondata(err, chunk, final) at some\n * point in this method.\n * @param chunk The chunk to process\n * @param final Whether this is the last chunk\n */\n ZipPassThrough.prototype.process = function (chunk, final) {\n this.ondata(null, chunk, final);\n };\n /**\n * Pushes a chunk to be added. If you are subclassing this with a custom\n * compression algorithm, note that you must push data from the source\n * file only, pre-compression.\n * @param chunk The chunk to push\n * @param final Whether this is the last chunk\n */\n ZipPassThrough.prototype.push = function (chunk, final) {\n if (!this.ondata)\n err(5);\n this.c.p(chunk);\n this.size += chunk.length;\n if (final)\n this.crc = this.c.d();\n this.process(chunk, final || false);\n };\n return ZipPassThrough;\n}());\nexport { ZipPassThrough };\n// I don't extend because TypeScript extension adds 1kB of runtime bloat\n/**\n * Streaming DEFLATE compression for ZIP archives. Prefer using AsyncZipDeflate\n * for better performance\n */\nvar ZipDeflate = /*#__PURE__*/ (function () {\n /**\n * Creates a DEFLATE stream that can be added to ZIP archives\n * @param filename The filename to associate with this data stream\n * @param opts The compression options\n */\n function ZipDeflate(filename, opts) {\n var _this = this;\n if (!opts)\n opts = {};\n ZipPassThrough.call(this, filename);\n this.d = new Deflate(opts, function (dat, final) {\n _this.ondata(null, dat, final);\n });\n this.compression = 8;\n this.flag = dbf(opts.level);\n }\n ZipDeflate.prototype.process = function (chunk, final) {\n try {\n this.d.push(chunk, final);\n }\n catch (e) {\n this.ondata(e, null, final);\n }\n };\n /**\n * Pushes a chunk to be deflated\n * @param chunk The chunk to push\n * @param final Whether this is the last chunk\n */\n ZipDeflate.prototype.push = function (chunk, final) {\n ZipPassThrough.prototype.push.call(this, chunk, final);\n };\n return ZipDeflate;\n}());\nexport { ZipDeflate };\n/**\n * Asynchronous streaming DEFLATE compression for ZIP archives\n */\nvar AsyncZipDeflate = /*#__PURE__*/ (function () {\n /**\n * Creates an asynchronous DEFLATE stream that can be added to ZIP archives\n * @param filename The filename to associate with this data stream\n * @param opts The compression options\n */\n function AsyncZipDeflate(filename, opts) {\n var _this = this;\n if (!opts)\n opts = {};\n ZipPassThrough.call(this, filename);\n this.d = new AsyncDeflate(opts, function (err, dat, final) {\n _this.ondata(err, dat, final);\n });\n this.compression = 8;\n this.flag = dbf(opts.level);\n this.terminate = this.d.terminate;\n }\n AsyncZipDeflate.prototype.process = function (chunk, final) {\n this.d.push(chunk, final);\n };\n /**\n * Pushes a chunk to be deflated\n * @param chunk The chunk to push\n * @param final Whether this is the last chunk\n */\n AsyncZipDeflate.prototype.push = function (chunk, final) {\n ZipPassThrough.prototype.push.call(this, chunk, final);\n };\n return AsyncZipDeflate;\n}());\nexport { AsyncZipDeflate };\n// TODO: Better tree shaking\n/**\n * A zippable archive to which files can incrementally be added\n */\nvar Zip = /*#__PURE__*/ (function () {\n /**\n * Creates an empty ZIP archive to which files can be added\n * @param cb The callback to call whenever data for the generated ZIP archive\n * is available\n */\n function Zip(cb) {\n this.ondata = cb;\n this.u = [];\n this.d = 1;\n }\n /**\n * Adds a file to the ZIP archive\n * @param file The file stream to add\n */\n Zip.prototype.add = function (file) {\n var _this = this;\n if (!this.ondata)\n err(5);\n // finishing or finished\n if (this.d & 2)\n this.ondata(err(4 + (this.d & 1) * 8, 0, 1), null, false);\n else {\n var f = strToU8(file.filename), fl_1 = f.length;\n var com = file.comment, o = com && strToU8(com);\n var u = fl_1 != file.filename.length || (o && (com.length != o.length));\n var hl_1 = fl_1 + exfl(file.extra) + 30;\n if (fl_1 > 65535)\n this.ondata(err(11, 0, 1), null, false);\n var header = new u8(hl_1);\n wzh(header, 0, file, f, u, -1);\n var chks_1 = [header];\n var pAll_1 = function () {\n for (var _i = 0, chks_2 = chks_1; _i < chks_2.length; _i++) {\n var chk = chks_2[_i];\n _this.ondata(null, chk, false);\n }\n chks_1 = [];\n };\n var tr_1 = this.d;\n this.d = 0;\n var ind_1 = this.u.length;\n var uf_1 = mrg(file, {\n f: f,\n u: u,\n o: o,\n t: function () {\n if (file.terminate)\n file.terminate();\n },\n r: function () {\n pAll_1();\n if (tr_1) {\n var nxt = _this.u[ind_1 + 1];\n if (nxt)\n nxt.r();\n else\n _this.d = 1;\n }\n tr_1 = 1;\n }\n });\n var cl_1 = 0;\n file.ondata = function (err, dat, final) {\n if (err) {\n _this.ondata(err, dat, final);\n _this.terminate();\n }\n else {\n cl_1 += dat.length;\n chks_1.push(dat);\n if (final) {\n var dd = new u8(16);\n wbytes(dd, 0, 0x8074B50);\n wbytes(dd, 4, file.crc);\n wbytes(dd, 8, cl_1);\n wbytes(dd, 12, file.size);\n chks_1.push(dd);\n uf_1.c = cl_1, uf_1.b = hl_1 + cl_1 + 16, uf_1.crc = file.crc, uf_1.size = file.size;\n if (tr_1)\n uf_1.r();\n tr_1 = 1;\n }\n else if (tr_1)\n pAll_1();\n }\n };\n this.u.push(uf_1);\n }\n };\n /**\n * Ends the process of adding files and prepares to emit the final chunks.\n * This *must* be called after adding all desired files for the resulting\n * ZIP file to work properly.\n */\n Zip.prototype.end = function () {\n var _this = this;\n if (this.d & 2) {\n this.ondata(err(4 + (this.d & 1) * 8, 0, 1), null, true);\n return;\n }\n if (this.d)\n this.e();\n else\n this.u.push({\n r: function () {\n if (!(_this.d & 1))\n return;\n _this.u.splice(-1, 1);\n _this.e();\n },\n t: function () { }\n });\n this.d = 3;\n };\n Zip.prototype.e = function () {\n var bt = 0, l = 0, tl = 0;\n for (var _i = 0, _a = this.u; _i < _a.length; _i++) {\n var f = _a[_i];\n tl += 46 + f.f.length + exfl(f.extra) + (f.o ? f.o.length : 0);\n }\n var out = new u8(tl + 22);\n for (var _b = 0, _c = this.u; _b < _c.length; _b++) {\n var f = _c[_b];\n wzh(out, bt, f, f.f, f.u, -f.c - 2, l, f.o);\n bt += 46 + f.f.length + exfl(f.extra) + (f.o ? f.o.length : 0), l += f.b;\n }\n wzf(out, bt, this.u.length, tl, l);\n this.ondata(null, out, true);\n this.d = 2;\n };\n /**\n * A method to terminate any internal workers used by the stream. Subsequent\n * calls to add() will fail.\n */\n Zip.prototype.terminate = function () {\n for (var _i = 0, _a = this.u; _i < _a.length; _i++) {\n var f = _a[_i];\n f.t();\n }\n this.d = 2;\n };\n return Zip;\n}());\nexport { Zip };\nexport function zip(data, opts, cb) {\n if (!cb)\n cb = opts, opts = {};\n if (typeof cb != 'function')\n err(7);\n var r = {};\n fltn(data, '', r, opts);\n var k = Object.keys(r);\n var lft = k.length, o = 0, tot = 0;\n var slft = lft, files = new Array(lft);\n var term = [];\n var tAll = function () {\n for (var i = 0; i < term.length; ++i)\n term[i]();\n };\n var cbd = function (a, b) {\n mt(function () { cb(a, b); });\n };\n mt(function () { cbd = cb; });\n var cbf = function () {\n var out = new u8(tot + 22), oe = o, cdl = tot - o;\n tot = 0;\n for (var i = 0; i < slft; ++i) {\n var f = files[i];\n try {\n var l = f.c.length;\n wzh(out, tot, f, f.f, f.u, l);\n var badd = 30 + f.f.length + exfl(f.extra);\n var loc = tot + badd;\n out.set(f.c, loc);\n wzh(out, o, f, f.f, f.u, l, tot, f.m), o += 16 + badd + (f.m ? f.m.length : 0), tot = loc + l;\n }\n catch (e) {\n return cbd(e, null);\n }\n }\n wzf(out, o, files.length, cdl, oe);\n cbd(null, out);\n };\n if (!lft)\n cbf();\n var _loop_1 = function (i) {\n var fn = k[i];\n var _a = r[fn], file = _a[0], p = _a[1];\n var c = crc(), size = file.length;\n c.p(file);\n var f = strToU8(fn), s = f.length;\n var com = p.comment, m = com && strToU8(com), ms = m && m.length;\n var exl = exfl(p.extra);\n var compression = p.level == 0 ? 0 : 8;\n var cbl = function (e, d) {\n if (e) {\n tAll();\n cbd(e, null);\n }\n else {\n var l = d.length;\n files[i] = mrg(p, {\n size: size,\n crc: c.d(),\n c: d,\n f: f,\n m: m,\n u: s != fn.length || (m && (com.length != ms)),\n compression: compression\n });\n o += 30 + s + exl + l;\n tot += 76 + 2 * (s + exl) + (ms || 0) + l;\n if (!--lft)\n cbf();\n }\n };\n if (s > 65535)\n cbl(err(11, 0, 1), null);\n if (!compression)\n cbl(null, file);\n else if (size < 160000) {\n try {\n cbl(null, deflateSync(file, p));\n }\n catch (e) {\n cbl(e, null);\n }\n }\n else\n term.push(deflate(file, p, cbl));\n };\n // Cannot use lft because it can decrease\n for (var i = 0; i < slft; ++i) {\n _loop_1(i);\n }\n return tAll;\n}\n/**\n * Synchronously creates a ZIP file. Prefer using `zip` for better performance\n * with more than one file.\n * @param data The directory structure for the ZIP archive\n * @param opts The main options, merged with per-file options\n * @returns The generated ZIP archive\n */\nexport function zipSync(data, opts) {\n if (!opts)\n opts = {};\n var r = {};\n var files = [];\n fltn(data, '', r, opts);\n var o = 0;\n var tot = 0;\n for (var fn in r) {\n var _a = r[fn], file = _a[0], p = _a[1];\n var compression = p.level == 0 ? 0 : 8;\n var f = strToU8(fn), s = f.length;\n var com = p.comment, m = com && strToU8(com), ms = m && m.length;\n var exl = exfl(p.extra);\n if (s > 65535)\n err(11);\n var d = compression ? deflateSync(file, p) : file, l = d.length;\n var c = crc();\n c.p(file);\n files.push(mrg(p, {\n size: file.length,\n crc: c.d(),\n c: d,\n f: f,\n m: m,\n u: s != fn.length || (m && (com.length != ms)),\n o: o,\n compression: compression\n }));\n o += 30 + s + exl + l;\n tot += 76 + 2 * (s + exl) + (ms || 0) + l;\n }\n var out = new u8(tot + 22), oe = o, cdl = tot - o;\n for (var i = 0; i < files.length; ++i) {\n var f = files[i];\n wzh(out, f.o, f, f.f, f.u, f.c.length);\n var badd = 30 + f.f.length + exfl(f.extra);\n out.set(f.c, f.o + badd);\n wzh(out, o, f, f.f, f.u, f.c.length, f.o, f.m), o += 16 + badd + (f.m ? f.m.length : 0);\n }\n wzf(out, o, files.length, cdl, oe);\n return out;\n}\n/**\n * Streaming pass-through decompression for ZIP archives\n */\nvar UnzipPassThrough = /*#__PURE__*/ (function () {\n function UnzipPassThrough() {\n }\n UnzipPassThrough.prototype.push = function (data, final) {\n this.ondata(null, data, final);\n };\n UnzipPassThrough.compression = 0;\n return UnzipPassThrough;\n}());\nexport { UnzipPassThrough };\n/**\n * Streaming DEFLATE decompression for ZIP archives. Prefer AsyncZipInflate for\n * better performance.\n */\nvar UnzipInflate = /*#__PURE__*/ (function () {\n /**\n * Creates a DEFLATE decompression that can be used in ZIP archives\n */\n function UnzipInflate() {\n var _this = this;\n this.i = new Inflate(function (dat, final) {\n _this.ondata(null, dat, final);\n });\n }\n UnzipInflate.prototype.push = function (data, final) {\n try {\n this.i.push(data, final);\n }\n catch (e) {\n this.ondata(e, null, final);\n }\n };\n UnzipInflate.compression = 8;\n return UnzipInflate;\n}());\nexport { UnzipInflate };\n/**\n * Asynchronous streaming DEFLATE decompression for ZIP archives\n */\nvar AsyncUnzipInflate = /*#__PURE__*/ (function () {\n /**\n * Creates a DEFLATE decompression that can be used in ZIP archives\n */\n function AsyncUnzipInflate(_, sz) {\n var _this = this;\n if (sz < 320000) {\n this.i = new Inflate(function (dat, final) {\n _this.ondata(null, dat, final);\n });\n }\n else {\n this.i = new AsyncInflate(function (err, dat, final) {\n _this.ondata(err, dat, final);\n });\n this.terminate = this.i.terminate;\n }\n }\n AsyncUnzipInflate.prototype.push = function (data, final) {\n if (this.i.terminate)\n data = slc(data, 0);\n this.i.push(data, final);\n };\n AsyncUnzipInflate.compression = 8;\n return AsyncUnzipInflate;\n}());\nexport { AsyncUnzipInflate };\n/**\n * A ZIP archive decompression stream that emits files as they are discovered\n */\nvar Unzip = /*#__PURE__*/ (function () {\n /**\n * Creates a ZIP decompression stream\n * @param cb The callback to call whenever a file in the ZIP archive is found\n */\n function Unzip(cb) {\n this.onfile = cb;\n this.k = [];\n this.o = {\n 0: UnzipPassThrough\n };\n this.p = et;\n }\n /**\n * Pushes a chunk to be unzipped\n * @param chunk The chunk to push\n * @param final Whether this is the last chunk\n */\n Unzip.prototype.push = function (chunk, final) {\n var _this = this;\n if (!this.onfile)\n err(5);\n if (!this.p)\n err(4);\n if (this.c > 0) {\n var len = Math.min(this.c, chunk.length);\n var toAdd = chunk.subarray(0, len);\n this.c -= len;\n if (this.d)\n this.d.push(toAdd, !this.c);\n else\n this.k[0].push(toAdd);\n chunk = chunk.subarray(len);\n if (chunk.length)\n return this.push(chunk, final);\n }\n else {\n var f = 0, i = 0, is = void 0, buf = void 0;\n if (!this.p.length)\n buf = chunk;\n else if (!chunk.length)\n buf = this.p;\n else {\n buf = new u8(this.p.length + chunk.length);\n buf.set(this.p), buf.set(chunk, this.p.length);\n }\n var l = buf.length, oc = this.c, add = oc && this.d;\n var _loop_2 = function () {\n var _a;\n var sig = b4(buf, i);\n if (sig == 0x4034B50) {\n f = 1, is = i;\n this_1.d = null;\n this_1.c = 0;\n var bf = b2(buf, i + 6), cmp_1 = b2(buf, i + 8), u = bf & 2048, dd = bf & 8, fnl = b2(buf, i + 26), es = b2(buf, i + 28);\n if (l > i + 30 + fnl + es) {\n var chks_3 = [];\n this_1.k.unshift(chks_3);\n f = 2;\n var sc_1 = b4(buf, i + 18), su_1 = b4(buf, i + 22);\n var fn_1 = strFromU8(buf.subarray(i + 30, i += 30 + fnl), !u);\n if (sc_1 == 4294967295) {\n _a = dd ? [-2] : z64e(buf, i), sc_1 = _a[0], su_1 = _a[1];\n }\n else if (dd)\n sc_1 = -1;\n i += es;\n this_1.c = sc_1;\n var d_1;\n var file_1 = {\n name: fn_1,\n compression: cmp_1,\n start: function () {\n if (!file_1.ondata)\n err(5);\n if (!sc_1)\n file_1.ondata(null, et, true);\n else {\n var ctr = _this.o[cmp_1];\n if (!ctr)\n file_1.ondata(err(14, 'unknown compression type ' + cmp_1, 1), null, false);\n d_1 = sc_1 < 0 ? new ctr(fn_1) : new ctr(fn_1, sc_1, su_1);\n d_1.ondata = function (err, dat, final) { file_1.ondata(err, dat, final); };\n for (var _i = 0, chks_4 = chks_3; _i < chks_4.length; _i++) {\n var dat = chks_4[_i];\n d_1.push(dat, false);\n }\n if (_this.k[0] == chks_3 && _this.c)\n _this.d = d_1;\n else\n d_1.push(et, true);\n }\n },\n terminate: function () {\n if (d_1 && d_1.terminate)\n d_1.terminate();\n }\n };\n if (sc_1 >= 0)\n file_1.size = sc_1, file_1.originalSize = su_1;\n this_1.onfile(file_1);\n }\n return \"break\";\n }\n else if (oc) {\n if (sig == 0x8074B50) {\n is = i += 12 + (oc == -2 && 8), f = 3, this_1.c = 0;\n return \"break\";\n }\n else if (sig == 0x2014B50) {\n is = i -= 4, f = 3, this_1.c = 0;\n return \"break\";\n }\n }\n };\n var this_1 = this;\n for (; i < l - 4; ++i) {\n var state_1 = _loop_2();\n if (state_1 === \"break\")\n break;\n }\n this.p = et;\n if (oc < 0) {\n var dat = f ? buf.subarray(0, is - 12 - (oc == -2 && 8) - (b4(buf, is - 16) == 0x8074B50 && 4)) : buf.subarray(0, i);\n if (add)\n add.push(dat, !!f);\n else\n this.k[+(f == 2)].push(dat);\n }\n if (f & 2)\n return this.push(buf.subarray(i), final);\n this.p = buf.subarray(i);\n }\n if (final) {\n if (this.c)\n err(13);\n this.p = null;\n }\n };\n /**\n * Registers a decoder with the stream, allowing for files compressed with\n * the compression type provided to be expanded correctly\n * @param decoder The decoder constructor\n */\n Unzip.prototype.register = function (decoder) {\n this.o[decoder.compression] = decoder;\n };\n return Unzip;\n}());\nexport { Unzip };\nvar mt = typeof queueMicrotask == 'function' ? queueMicrotask : typeof setTimeout == 'function' ? setTimeout : function (fn) { fn(); };\nexport function unzip(data, opts, cb) {\n if (!cb)\n cb = opts, opts = {};\n if (typeof cb != 'function')\n err(7);\n var term = [];\n var tAll = function () {\n for (var i = 0; i < term.length; ++i)\n term[i]();\n };\n var files = {};\n var cbd = function (a, b) {\n mt(function () { cb(a, b); });\n };\n mt(function () { cbd = cb; });\n var e = data.length - 22;\n for (; b4(data, e) != 0x6054B50; --e) {\n if (!e || data.length - e > 65558) {\n cbd(err(13, 0, 1), null);\n return tAll;\n }\n }\n ;\n var lft = b2(data, e + 8);\n if (lft) {\n var c = lft;\n var o = b4(data, e + 16);\n var z = o == 4294967295 || c == 65535;\n if (z) {\n var ze = b4(data, e - 12);\n z = b4(data, ze) == 0x6064B50;\n if (z) {\n c = lft = b4(data, ze + 32);\n o = b4(data, ze + 48);\n }\n }\n var fltr = opts && opts.filter;\n var _loop_3 = function (i) {\n var _a = zh(data, o, z), c_1 = _a[0], sc = _a[1], su = _a[2], fn = _a[3], no = _a[4], off = _a[5], b = slzh(data, off);\n o = no;\n var cbl = function (e, d) {\n if (e) {\n tAll();\n cbd(e, null);\n }\n else {\n if (d)\n files[fn] = d;\n if (!--lft)\n cbd(null, files);\n }\n };\n if (!fltr || fltr({\n name: fn,\n size: sc,\n originalSize: su,\n compression: c_1\n })) {\n if (!c_1)\n cbl(null, slc(data, b, b + sc));\n else if (c_1 == 8) {\n var infl = data.subarray(b, b + sc);\n // Synchronously decompress under 512KB, or barely-compressed data\n if (su < 524288 || sc > 0.8 * su) {\n try {\n cbl(null, inflateSync(infl, { out: new u8(su) }));\n }\n catch (e) {\n cbl(e, null);\n }\n }\n else\n term.push(inflate(infl, { size: su }, cbl));\n }\n else\n cbl(err(14, 'unknown compression type ' + c_1, 1), null);\n }\n else\n cbl(null, null);\n };\n for (var i = 0; i < c; ++i) {\n _loop_3(i);\n }\n }\n else\n cbd(null, {});\n return tAll;\n}\n/**\n * Synchronously decompresses a ZIP archive. Prefer using `unzip` for better\n * performance with more than one file.\n * @param data The raw compressed ZIP file\n * @param opts The ZIP extraction options\n * @returns The decompressed files\n */\nexport function unzipSync(data, opts) {\n var files = {};\n var e = data.length - 22;\n for (; b4(data, e) != 0x6054B50; --e) {\n if (!e || data.length - e > 65558)\n err(13);\n }\n ;\n var c = b2(data, e + 8);\n if (!c)\n return {};\n var o = b4(data, e + 16);\n var z = o == 4294967295 || c == 65535;\n if (z) {\n var ze = b4(data, e - 12);\n z = b4(data, ze) == 0x6064B50;\n if (z) {\n c = b4(data, ze + 32);\n o = b4(data, ze + 48);\n }\n }\n var fltr = opts && opts.filter;\n for (var i = 0; i < c; ++i) {\n var _a = zh(data, o, z), c_2 = _a[0], sc = _a[1], su = _a[2], fn = _a[3], no = _a[4], off = _a[5], b = slzh(data, off);\n o = no;\n if (!fltr || fltr({\n name: fn,\n size: sc,\n originalSize: su,\n compression: c_2\n })) {\n if (!c_2)\n files[fn] = slc(data, b, b + sc);\n else if (c_2 == 8)\n files[fn] = inflateSync(data.subarray(b, b + sc), { out: new u8(su) });\n else\n err(14, 'unknown compression type ' + c_2);\n }\n }\n return files;\n}\n","\"use strict\";function _interopDefault(e){return e&&\"object\"==typeof e&&\"default\"in e?e.default:e}Object.defineProperty(exports,\"__esModule\",{value:!0});var axios=_interopDefault(require(\"axios\")),ramda=require(\"ramda\"),_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},_extends=Object.assign||function(e){for(var t=1;t2&&void 0!==arguments[2]?arguments[2]:{},r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{};return m(ramda.merge({url:t,params:n,method:e},r))},h=function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null,r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{};return m(ramda.merge({url:t,method:e,data:n},r))},m=function(e){return new Promise(function(n,a){function i(){function t(){return u}return f0&&ramda.forEach(function(t){return t(e)},o),s.length>0?(f=0,Function.$asyncbind.trampoline(this,c,u,a,!0)(i)):R.call(this)}.$asyncbind(this))},N=function(e){return a.forEach(function(t){try{t(e)}catch(e){}}),e},y=function(e,t){var n=toNumber(new Date),r=n-e,a=t instanceof Error||axios.isCancel(t),i=a?t.response:t,o=i&&i.status||null,s=a?_(t):T(o),c=in200s(o),R=t.config||null,f=i&&i.headers||null,E=i&&i.data||null,l={duration:r,problem:s,ok:c,status:o,headers:f,config:R,data:E};return u.length>0&&ramda.forEach(function(e){return e(l)},u),l},_=function(e){return\"Network Error\"===e.message?NETWORK_ERROR:axios.isCancel(e)?CANCEL_ERROR:ramda.cond([[ramda.isNil,function(){return T(e.response.status)}],[ramda.contains(ramda.__,TIMEOUT_ERROR_CODES),ramda.always(TIMEOUT_ERROR)],[ramda.contains(ramda.__,NODEJS_CONNECTION_ERROR_CODES),ramda.always(CONNECTION_ERROR)],[ramda.T,ramda.always(UNKNOWN_ERROR)]])(e.code)},T=function(e){return ramda.cond([[ramda.isNil,ramda.always(UNKNOWN_ERROR)],[in200s,ramda.always(NONE)],[in400s,ramda.always(CLIENT_ERROR)],[in500s,ramda.always(SERVER_ERROR)],[ramda.T,ramda.always(UNKNOWN_ERROR)]])(e)},v={axiosInstance:r,monitors:a,addMonitor:i,requestTransforms:o,asyncRequestTransforms:s,responseTransforms:u,addRequestTransform:c,addAsyncRequestTransform:R,addResponseTransform:f,setHeader:E,setHeaders:l,headers:t,setBaseURL:d,getBaseURL:p,get:ramda.partial(O,[\"get\"]),delete:ramda.partial(O,[\"delete\"]),head:ramda.partial(O,[\"head\"]),post:ramda.partial(h,[\"post\"]),put:ramda.partial(h,[\"put\"]),patch:ramda.partial(h,[\"patch\"]),link:ramda.partial(O,[\"link\"]),unlink:ramda.partial(O,[\"unlink\"])};return v},apisauce={DEFAULT_HEADERS:DEFAULT_HEADERS,NONE:NONE,CLIENT_ERROR:CLIENT_ERROR,SERVER_ERROR:SERVER_ERROR,TIMEOUT_ERROR:TIMEOUT_ERROR,CONNECTION_ERROR:CONNECTION_ERROR,NETWORK_ERROR:NETWORK_ERROR,UNKNOWN_ERROR:UNKNOWN_ERROR,create:create};exports.DEFAULT_HEADERS=DEFAULT_HEADERS,exports.NONE=NONE,exports.CLIENT_ERROR=CLIENT_ERROR,exports.SERVER_ERROR=SERVER_ERROR,exports.TIMEOUT_ERROR=TIMEOUT_ERROR,exports.CONNECTION_ERROR=CONNECTION_ERROR,exports.NETWORK_ERROR=NETWORK_ERROR,exports.UNKNOWN_ERROR=UNKNOWN_ERROR,exports.CANCEL_ERROR=CANCEL_ERROR,exports.create=create,exports.default=apisauce;\n","module.exports = require('./lib/axios');","'use strict';\n\nvar utils = require('./../utils');\nvar settle = require('./../core/settle');\nvar buildURL = require('./../helpers/buildURL');\nvar parseHeaders = require('./../helpers/parseHeaders');\nvar isURLSameOrigin = require('./../helpers/isURLSameOrigin');\nvar createError = require('../core/createError');\nvar btoa = (typeof window !== 'undefined' && window.btoa && window.btoa.bind(window)) || require('./../helpers/btoa');\n\nmodule.exports = function xhrAdapter(config) {\n return new Promise(function dispatchXhrRequest(resolve, reject) {\n var requestData = config.data;\n var requestHeaders = config.headers;\n\n if (utils.isFormData(requestData)) {\n delete requestHeaders['Content-Type']; // Let the browser set it\n }\n\n var request = new XMLHttpRequest();\n var loadEvent = 'onreadystatechange';\n var xDomain = false;\n\n // For IE 8/9 CORS support\n // Only supports POST and GET calls and doesn't returns the response headers.\n // DON'T do this for testing b/c XMLHttpRequest is mocked, not XDomainRequest.\n if (process.env.NODE_ENV !== 'test' &&\n typeof window !== 'undefined' &&\n window.XDomainRequest && !('withCredentials' in request) &&\n !isURLSameOrigin(config.url)) {\n request = new window.XDomainRequest();\n loadEvent = 'onload';\n xDomain = true;\n request.onprogress = function handleProgress() {};\n request.ontimeout = function handleTimeout() {};\n }\n\n // HTTP basic authentication\n if (config.auth) {\n var username = config.auth.username || '';\n var password = config.auth.password || '';\n requestHeaders.Authorization = 'Basic ' + btoa(username + ':' + password);\n }\n\n request.open(config.method.toUpperCase(), buildURL(config.url, config.params, config.paramsSerializer), true);\n\n // Set the request timeout in MS\n request.timeout = config.timeout;\n\n // Listen for ready state\n request[loadEvent] = function handleLoad() {\n if (!request || (request.readyState !== 4 && !xDomain)) {\n return;\n }\n\n // The request errored out and we didn't get a response, this will be\n // handled by onerror instead\n // With one exception: request that using file: protocol, most browsers\n // will return status as 0 even though it's a successful request\n if (request.status === 0 && !(request.responseURL && request.responseURL.indexOf('file:') === 0)) {\n return;\n }\n\n // Prepare the response\n var responseHeaders = 'getAllResponseHeaders' in request ? parseHeaders(request.getAllResponseHeaders()) : null;\n var responseData = !config.responseType || config.responseType === 'text' ? request.responseText : request.response;\n var response = {\n data: responseData,\n // IE sends 1223 instead of 204 (https://github.com/mzabriskie/axios/issues/201)\n status: request.status === 1223 ? 204 : request.status,\n statusText: request.status === 1223 ? 'No Content' : request.statusText,\n headers: responseHeaders,\n config: config,\n request: request\n };\n\n settle(resolve, reject, response);\n\n // Clean up request\n request = null;\n };\n\n // Handle low level network errors\n request.onerror = function handleError() {\n // Real errors are hidden from us by the browser\n // onerror should only fire if it's a network error\n reject(createError('Network Error', config));\n\n // Clean up request\n request = null;\n };\n\n // Handle timeout\n request.ontimeout = function handleTimeout() {\n reject(createError('timeout of ' + config.timeout + 'ms exceeded', config, 'ECONNABORTED'));\n\n // Clean up request\n request = null;\n };\n\n // Add xsrf header\n // This is only done if running in a standard browser environment.\n // Specifically not if we're in a web worker, or react-native.\n if (utils.isStandardBrowserEnv()) {\n var cookies = require('./../helpers/cookies');\n\n // Add xsrf header\n var xsrfValue = (config.withCredentials || isURLSameOrigin(config.url)) && config.xsrfCookieName ?\n cookies.read(config.xsrfCookieName) :\n undefined;\n\n if (xsrfValue) {\n requestHeaders[config.xsrfHeaderName] = xsrfValue;\n }\n }\n\n // Add headers to the request\n if ('setRequestHeader' in request) {\n utils.forEach(requestHeaders, function setRequestHeader(val, key) {\n if (typeof requestData === 'undefined' && key.toLowerCase() === 'content-type') {\n // Remove Content-Type if data is undefined\n delete requestHeaders[key];\n } else {\n // Otherwise add header to the request\n request.setRequestHeader(key, val);\n }\n });\n }\n\n // Add withCredentials to request if needed\n if (config.withCredentials) {\n request.withCredentials = true;\n }\n\n // Add responseType to request if needed\n if (config.responseType) {\n try {\n request.responseType = config.responseType;\n } catch (e) {\n if (request.responseType !== 'json') {\n throw e;\n }\n }\n }\n\n // Handle progress if needed\n if (typeof config.onDownloadProgress === 'function') {\n request.addEventListener('progress', config.onDownloadProgress);\n }\n\n // Not all browsers support upload events\n if (typeof config.onUploadProgress === 'function' && request.upload) {\n request.upload.addEventListener('progress', config.onUploadProgress);\n }\n\n if (config.cancelToken) {\n // Handle cancellation\n config.cancelToken.promise.then(function onCanceled(cancel) {\n if (!request) {\n return;\n }\n\n request.abort();\n reject(cancel);\n // Clean up request\n request = null;\n });\n }\n\n if (requestData === undefined) {\n requestData = null;\n }\n\n // Send the request\n request.send(requestData);\n });\n};\n","'use strict';\n\nvar utils = require('./utils');\nvar bind = require('./helpers/bind');\nvar Axios = require('./core/Axios');\nvar defaults = require('./defaults');\n\n/**\n * Create an instance of Axios\n *\n * @param {Object} defaultConfig The default config for the instance\n * @return {Axios} A new instance of Axios\n */\nfunction createInstance(defaultConfig) {\n var context = new Axios(defaultConfig);\n var instance = bind(Axios.prototype.request, context);\n\n // Copy axios.prototype to instance\n utils.extend(instance, Axios.prototype, context);\n\n // Copy context to instance\n utils.extend(instance, context);\n\n return instance;\n}\n\n// Create the default instance to be exported\nvar axios = createInstance(defaults);\n\n// Expose Axios class to allow class inheritance\naxios.Axios = Axios;\n\n// Factory for creating new instances\naxios.create = function create(instanceConfig) {\n return createInstance(utils.merge(defaults, instanceConfig));\n};\n\n// Expose Cancel & CancelToken\naxios.Cancel = require('./cancel/Cancel');\naxios.CancelToken = require('./cancel/CancelToken');\naxios.isCancel = require('./cancel/isCancel');\n\n// Expose all/spread\naxios.all = function all(promises) {\n return Promise.all(promises);\n};\naxios.spread = require('./helpers/spread');\n\nmodule.exports = axios;\n\n// Allow use of default import syntax in TypeScript\nmodule.exports.default = axios;\n","'use strict';\n\n/**\n * A `Cancel` is an object that is thrown when an operation is canceled.\n *\n * @class\n * @param {string=} message The message.\n */\nfunction Cancel(message) {\n this.message = message;\n}\n\nCancel.prototype.toString = function toString() {\n return 'Cancel' + (this.message ? ': ' + this.message : '');\n};\n\nCancel.prototype.__CANCEL__ = true;\n\nmodule.exports = Cancel;\n","'use strict';\n\nvar Cancel = require('./Cancel');\n\n/**\n * A `CancelToken` is an object that can be used to request cancellation of an operation.\n *\n * @class\n * @param {Function} executor The executor function.\n */\nfunction CancelToken(executor) {\n if (typeof executor !== 'function') {\n throw new TypeError('executor must be a function.');\n }\n\n var resolvePromise;\n this.promise = new Promise(function promiseExecutor(resolve) {\n resolvePromise = resolve;\n });\n\n var token = this;\n executor(function cancel(message) {\n if (token.reason) {\n // Cancellation has already been requested\n return;\n }\n\n token.reason = new Cancel(message);\n resolvePromise(token.reason);\n });\n}\n\n/**\n * Throws a `Cancel` if cancellation has been requested.\n */\nCancelToken.prototype.throwIfRequested = function throwIfRequested() {\n if (this.reason) {\n throw this.reason;\n }\n};\n\n/**\n * Returns an object that contains a new `CancelToken` and a function that, when called,\n * cancels the `CancelToken`.\n */\nCancelToken.source = function source() {\n var cancel;\n var token = new CancelToken(function executor(c) {\n cancel = c;\n });\n return {\n token: token,\n cancel: cancel\n };\n};\n\nmodule.exports = CancelToken;\n","'use strict';\n\nmodule.exports = function isCancel(value) {\n return !!(value && value.__CANCEL__);\n};\n","'use strict';\n\nvar defaults = require('./../defaults');\nvar utils = require('./../utils');\nvar InterceptorManager = require('./InterceptorManager');\nvar dispatchRequest = require('./dispatchRequest');\nvar isAbsoluteURL = require('./../helpers/isAbsoluteURL');\nvar combineURLs = require('./../helpers/combineURLs');\n\n/**\n * Create a new instance of Axios\n *\n * @param {Object} instanceConfig The default config for the instance\n */\nfunction Axios(instanceConfig) {\n this.defaults = instanceConfig;\n this.interceptors = {\n request: new InterceptorManager(),\n response: new InterceptorManager()\n };\n}\n\n/**\n * Dispatch a request\n *\n * @param {Object} config The config specific for this request (merged with this.defaults)\n */\nAxios.prototype.request = function request(config) {\n /*eslint no-param-reassign:0*/\n // Allow for axios('example/url'[, config]) a la fetch API\n if (typeof config === 'string') {\n config = utils.merge({\n url: arguments[0]\n }, arguments[1]);\n }\n\n config = utils.merge(defaults, this.defaults, { method: 'get' }, config);\n\n // Support baseURL config\n if (config.baseURL && !isAbsoluteURL(config.url)) {\n config.url = combineURLs(config.baseURL, config.url);\n }\n\n // Hook up interceptors middleware\n var chain = [dispatchRequest, undefined];\n var promise = Promise.resolve(config);\n\n this.interceptors.request.forEach(function unshiftRequestInterceptors(interceptor) {\n chain.unshift(interceptor.fulfilled, interceptor.rejected);\n });\n\n this.interceptors.response.forEach(function pushResponseInterceptors(interceptor) {\n chain.push(interceptor.fulfilled, interceptor.rejected);\n });\n\n while (chain.length) {\n promise = promise.then(chain.shift(), chain.shift());\n }\n\n return promise;\n};\n\n// Provide aliases for supported request methods\nutils.forEach(['delete', 'get', 'head'], function forEachMethodNoData(method) {\n /*eslint func-names:0*/\n Axios.prototype[method] = function(url, config) {\n return this.request(utils.merge(config || {}, {\n method: method,\n url: url\n }));\n };\n});\n\nutils.forEach(['post', 'put', 'patch'], function forEachMethodWithData(method) {\n /*eslint func-names:0*/\n Axios.prototype[method] = function(url, data, config) {\n return this.request(utils.merge(config || {}, {\n method: method,\n url: url,\n data: data\n }));\n };\n});\n\nmodule.exports = Axios;\n","'use strict';\n\nvar utils = require('./../utils');\n\nfunction InterceptorManager() {\n this.handlers = [];\n}\n\n/**\n * Add a new interceptor to the stack\n *\n * @param {Function} fulfilled The function to handle `then` for a `Promise`\n * @param {Function} rejected The function to handle `reject` for a `Promise`\n *\n * @return {Number} An ID used to remove interceptor later\n */\nInterceptorManager.prototype.use = function use(fulfilled, rejected) {\n this.handlers.push({\n fulfilled: fulfilled,\n rejected: rejected\n });\n return this.handlers.length - 1;\n};\n\n/**\n * Remove an interceptor from the stack\n *\n * @param {Number} id The ID that was returned by `use`\n */\nInterceptorManager.prototype.eject = function eject(id) {\n if (this.handlers[id]) {\n this.handlers[id] = null;\n }\n};\n\n/**\n * Iterate over all the registered interceptors\n *\n * This method is particularly useful for skipping over any\n * interceptors that may have become `null` calling `eject`.\n *\n * @param {Function} fn The function to call for each interceptor\n */\nInterceptorManager.prototype.forEach = function forEach(fn) {\n utils.forEach(this.handlers, function forEachHandler(h) {\n if (h !== null) {\n fn(h);\n }\n });\n};\n\nmodule.exports = InterceptorManager;\n","'use strict';\n\nvar enhanceError = require('./enhanceError');\n\n/**\n * Create an Error with the specified message, config, error code, and response.\n *\n * @param {string} message The error message.\n * @param {Object} config The config.\n * @param {string} [code] The error code (for example, 'ECONNABORTED').\n @ @param {Object} [response] The response.\n * @returns {Error} The created error.\n */\nmodule.exports = function createError(message, config, code, response) {\n var error = new Error(message);\n return enhanceError(error, config, code, response);\n};\n","'use strict';\n\nvar utils = require('./../utils');\nvar transformData = require('./transformData');\nvar isCancel = require('../cancel/isCancel');\nvar defaults = require('../defaults');\n\n/**\n * Throws a `Cancel` if cancellation has been requested.\n */\nfunction throwIfCancellationRequested(config) {\n if (config.cancelToken) {\n config.cancelToken.throwIfRequested();\n }\n}\n\n/**\n * Dispatch a request to the server using the configured adapter.\n *\n * @param {object} config The config that is to be used for the request\n * @returns {Promise} The Promise to be fulfilled\n */\nmodule.exports = function dispatchRequest(config) {\n throwIfCancellationRequested(config);\n\n // Ensure headers exist\n config.headers = config.headers || {};\n\n // Transform request data\n config.data = transformData(\n config.data,\n config.headers,\n config.transformRequest\n );\n\n // Flatten headers\n config.headers = utils.merge(\n config.headers.common || {},\n config.headers[config.method] || {},\n config.headers || {}\n );\n\n utils.forEach(\n ['delete', 'get', 'head', 'post', 'put', 'patch', 'common'],\n function cleanHeaderConfig(method) {\n delete config.headers[method];\n }\n );\n\n var adapter = config.adapter || defaults.adapter;\n\n return adapter(config).then(function onAdapterResolution(response) {\n throwIfCancellationRequested(config);\n\n // Transform response data\n response.data = transformData(\n response.data,\n response.headers,\n config.transformResponse\n );\n\n return response;\n }, function onAdapterRejection(reason) {\n if (!isCancel(reason)) {\n throwIfCancellationRequested(config);\n\n // Transform response data\n if (reason && reason.response) {\n reason.response.data = transformData(\n reason.response.data,\n reason.response.headers,\n config.transformResponse\n );\n }\n }\n\n return Promise.reject(reason);\n });\n};\n","'use strict';\n\n/**\n * Update an Error with the specified config, error code, and response.\n *\n * @param {Error} error The error to update.\n * @param {Object} config The config.\n * @param {string} [code] The error code (for example, 'ECONNABORTED').\n @ @param {Object} [response] The response.\n * @returns {Error} The error.\n */\nmodule.exports = function enhanceError(error, config, code, response) {\n error.config = config;\n if (code) {\n error.code = code;\n }\n error.response = response;\n return error;\n};\n","'use strict';\n\nvar createError = require('./createError');\n\n/**\n * Resolve or reject a Promise based on response status.\n *\n * @param {Function} resolve A function that resolves the promise.\n * @param {Function} reject A function that rejects the promise.\n * @param {object} response The response.\n */\nmodule.exports = function settle(resolve, reject, response) {\n var validateStatus = response.config.validateStatus;\n // Note: status is not exposed by XDomainRequest\n if (!response.status || !validateStatus || validateStatus(response.status)) {\n resolve(response);\n } else {\n reject(createError(\n 'Request failed with status code ' + response.status,\n response.config,\n null,\n response\n ));\n }\n};\n","'use strict';\n\nvar utils = require('./../utils');\n\n/**\n * Transform the data for a request or a response\n *\n * @param {Object|String} data The data to be transformed\n * @param {Array} headers The headers for the request or response\n * @param {Array|Function} fns A single function or Array of functions\n * @returns {*} The resulting transformed data\n */\nmodule.exports = function transformData(data, headers, fns) {\n /*eslint no-param-reassign:0*/\n utils.forEach(fns, function transform(fn) {\n data = fn(data, headers);\n });\n\n return data;\n};\n","'use strict';\n\nvar utils = require('./utils');\nvar normalizeHeaderName = require('./helpers/normalizeHeaderName');\n\nvar PROTECTION_PREFIX = /^\\)\\]\\}',?\\n/;\nvar DEFAULT_CONTENT_TYPE = {\n 'Content-Type': 'application/x-www-form-urlencoded'\n};\n\nfunction setContentTypeIfUnset(headers, value) {\n if (!utils.isUndefined(headers) && utils.isUndefined(headers['Content-Type'])) {\n headers['Content-Type'] = value;\n }\n}\n\nfunction getDefaultAdapter() {\n var adapter;\n if (typeof XMLHttpRequest !== 'undefined') {\n // For browsers use XHR adapter\n adapter = require('./adapters/xhr');\n } else if (typeof process !== 'undefined') {\n // For node use HTTP adapter\n adapter = require('./adapters/http');\n }\n return adapter;\n}\n\nvar defaults = {\n adapter: getDefaultAdapter(),\n\n transformRequest: [function transformRequest(data, headers) {\n normalizeHeaderName(headers, 'Content-Type');\n if (utils.isFormData(data) ||\n utils.isArrayBuffer(data) ||\n utils.isStream(data) ||\n utils.isFile(data) ||\n utils.isBlob(data)\n ) {\n return data;\n }\n if (utils.isArrayBufferView(data)) {\n return data.buffer;\n }\n if (utils.isURLSearchParams(data)) {\n setContentTypeIfUnset(headers, 'application/x-www-form-urlencoded;charset=utf-8');\n return data.toString();\n }\n if (utils.isObject(data)) {\n setContentTypeIfUnset(headers, 'application/json;charset=utf-8');\n return JSON.stringify(data);\n }\n return data;\n }],\n\n transformResponse: [function transformResponse(data) {\n /*eslint no-param-reassign:0*/\n if (typeof data === 'string') {\n data = data.replace(PROTECTION_PREFIX, '');\n try {\n data = JSON.parse(data);\n } catch (e) { /* Ignore */ }\n }\n return data;\n }],\n\n timeout: 0,\n\n xsrfCookieName: 'XSRF-TOKEN',\n xsrfHeaderName: 'X-XSRF-TOKEN',\n\n maxContentLength: -1,\n\n validateStatus: function validateStatus(status) {\n return status >= 200 && status < 300;\n }\n};\n\ndefaults.headers = {\n common: {\n 'Accept': 'application/json, text/plain, */*'\n }\n};\n\nutils.forEach(['delete', 'get', 'head'], function forEachMehtodNoData(method) {\n defaults.headers[method] = {};\n});\n\nutils.forEach(['post', 'put', 'patch'], function forEachMethodWithData(method) {\n defaults.headers[method] = utils.merge(DEFAULT_CONTENT_TYPE);\n});\n\nmodule.exports = defaults;\n","'use strict';\n\nmodule.exports = function bind(fn, thisArg) {\n return function wrap() {\n var args = new Array(arguments.length);\n for (var i = 0; i < args.length; i++) {\n args[i] = arguments[i];\n }\n return fn.apply(thisArg, args);\n };\n};\n","'use strict';\n\n// btoa polyfill for IE<10 courtesy https://github.com/davidchambers/Base64.js\n\nvar chars = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=';\n\nfunction E() {\n this.message = 'String contains an invalid character';\n}\nE.prototype = new Error;\nE.prototype.code = 5;\nE.prototype.name = 'InvalidCharacterError';\n\nfunction btoa(input) {\n var str = String(input);\n var output = '';\n for (\n // initialize result and counter\n var block, charCode, idx = 0, map = chars;\n // if the next str index does not exist:\n // change the mapping table to \"=\"\n // check if d has no fractional digits\n str.charAt(idx | 0) || (map = '=', idx % 1);\n // \"8 - idx % 1 * 8\" generates the sequence 2, 4, 6, 8\n output += map.charAt(63 & block >> 8 - idx % 1 * 8)\n ) {\n charCode = str.charCodeAt(idx += 3 / 4);\n if (charCode > 0xFF) {\n throw new E();\n }\n block = block << 8 | charCode;\n }\n return output;\n}\n\nmodule.exports = btoa;\n","'use strict';\n\nvar utils = require('./../utils');\n\nfunction encode(val) {\n return encodeURIComponent(val).\n replace(/%40/gi, '@').\n replace(/%3A/gi, ':').\n replace(/%24/g, '$').\n replace(/%2C/gi, ',').\n replace(/%20/g, '+').\n replace(/%5B/gi, '[').\n replace(/%5D/gi, ']');\n}\n\n/**\n * Build a URL by appending params to the end\n *\n * @param {string} url The base of the url (e.g., http://www.google.com)\n * @param {object} [params] The params to be appended\n * @returns {string} The formatted url\n */\nmodule.exports = function buildURL(url, params, paramsSerializer) {\n /*eslint no-param-reassign:0*/\n if (!params) {\n return url;\n }\n\n var serializedParams;\n if (paramsSerializer) {\n serializedParams = paramsSerializer(params);\n } else if (utils.isURLSearchParams(params)) {\n serializedParams = params.toString();\n } else {\n var parts = [];\n\n utils.forEach(params, function serialize(val, key) {\n if (val === null || typeof val === 'undefined') {\n return;\n }\n\n if (utils.isArray(val)) {\n key = key + '[]';\n }\n\n if (!utils.isArray(val)) {\n val = [val];\n }\n\n utils.forEach(val, function parseValue(v) {\n if (utils.isDate(v)) {\n v = v.toISOString();\n } else if (utils.isObject(v)) {\n v = JSON.stringify(v);\n }\n parts.push(encode(key) + '=' + encode(v));\n });\n });\n\n serializedParams = parts.join('&');\n }\n\n if (serializedParams) {\n url += (url.indexOf('?') === -1 ? '?' : '&') + serializedParams;\n }\n\n return url;\n};\n","'use strict';\n\n/**\n * Creates a new URL by combining the specified URLs\n *\n * @param {string} baseURL The base URL\n * @param {string} relativeURL The relative URL\n * @returns {string} The combined URL\n */\nmodule.exports = function combineURLs(baseURL, relativeURL) {\n return baseURL.replace(/\\/+$/, '') + '/' + relativeURL.replace(/^\\/+/, '');\n};\n","'use strict';\n\nvar utils = require('./../utils');\n\nmodule.exports = (\n utils.isStandardBrowserEnv() ?\n\n // Standard browser envs support document.cookie\n (function standardBrowserEnv() {\n return {\n write: function write(name, value, expires, path, domain, secure) {\n var cookie = [];\n cookie.push(name + '=' + encodeURIComponent(value));\n\n if (utils.isNumber(expires)) {\n cookie.push('expires=' + new Date(expires).toGMTString());\n }\n\n if (utils.isString(path)) {\n cookie.push('path=' + path);\n }\n\n if (utils.isString(domain)) {\n cookie.push('domain=' + domain);\n }\n\n if (secure === true) {\n cookie.push('secure');\n }\n\n document.cookie = cookie.join('; ');\n },\n\n read: function read(name) {\n var match = document.cookie.match(new RegExp('(^|;\\\\s*)(' + name + ')=([^;]*)'));\n return (match ? decodeURIComponent(match[3]) : null);\n },\n\n remove: function remove(name) {\n this.write(name, '', Date.now() - 86400000);\n }\n };\n })() :\n\n // Non standard browser env (web workers, react-native) lack needed support.\n (function nonStandardBrowserEnv() {\n return {\n write: function write() {},\n read: function read() { return null; },\n remove: function remove() {}\n };\n })()\n);\n","'use strict';\n\n/**\n * Determines whether the specified URL is absolute\n *\n * @param {string} url The URL to test\n * @returns {boolean} True if the specified URL is absolute, otherwise false\n */\nmodule.exports = function isAbsoluteURL(url) {\n // A URL is considered absolute if it begins with \"://\" or \"//\" (protocol-relative URL).\n // RFC 3986 defines scheme name as a sequence of characters beginning with a letter and followed\n // by any combination of letters, digits, plus, period, or hyphen.\n return /^([a-z][a-z\\d\\+\\-\\.]*:)?\\/\\//i.test(url);\n};\n","'use strict';\n\nvar utils = require('./../utils');\n\nmodule.exports = (\n utils.isStandardBrowserEnv() ?\n\n // Standard browser envs have full support of the APIs needed to test\n // whether the request URL is of the same origin as current location.\n (function standardBrowserEnv() {\n var msie = /(msie|trident)/i.test(navigator.userAgent);\n var urlParsingNode = document.createElement('a');\n var originURL;\n\n /**\n * Parse a URL to discover it's components\n *\n * @param {String} url The URL to be parsed\n * @returns {Object}\n */\n function resolveURL(url) {\n var href = url;\n\n if (msie) {\n // IE needs attribute set twice to normalize properties\n urlParsingNode.setAttribute('href', href);\n href = urlParsingNode.href;\n }\n\n urlParsingNode.setAttribute('href', href);\n\n // urlParsingNode provides the UrlUtils interface - http://url.spec.whatwg.org/#urlutils\n return {\n href: urlParsingNode.href,\n protocol: urlParsingNode.protocol ? urlParsingNode.protocol.replace(/:$/, '') : '',\n host: urlParsingNode.host,\n search: urlParsingNode.search ? urlParsingNode.search.replace(/^\\?/, '') : '',\n hash: urlParsingNode.hash ? urlParsingNode.hash.replace(/^#/, '') : '',\n hostname: urlParsingNode.hostname,\n port: urlParsingNode.port,\n pathname: (urlParsingNode.pathname.charAt(0) === '/') ?\n urlParsingNode.pathname :\n '/' + urlParsingNode.pathname\n };\n }\n\n originURL = resolveURL(window.location.href);\n\n /**\n * Determine if a URL shares the same origin as the current location\n *\n * @param {String} requestURL The URL to test\n * @returns {boolean} True if URL shares the same origin, otherwise false\n */\n return function isURLSameOrigin(requestURL) {\n var parsed = (utils.isString(requestURL)) ? resolveURL(requestURL) : requestURL;\n return (parsed.protocol === originURL.protocol &&\n parsed.host === originURL.host);\n };\n })() :\n\n // Non standard browser envs (web workers, react-native) lack needed support.\n (function nonStandardBrowserEnv() {\n return function isURLSameOrigin() {\n return true;\n };\n })()\n);\n","'use strict';\n\nvar utils = require('../utils');\n\nmodule.exports = function normalizeHeaderName(headers, normalizedName) {\n utils.forEach(headers, function processHeader(value, name) {\n if (name !== normalizedName && name.toUpperCase() === normalizedName.toUpperCase()) {\n headers[normalizedName] = value;\n delete headers[name];\n }\n });\n};\n","'use strict';\n\nvar utils = require('./../utils');\n\n/**\n * Parse headers into an object\n *\n * ```\n * Date: Wed, 27 Aug 2014 08:58:49 GMT\n * Content-Type: application/json\n * Connection: keep-alive\n * Transfer-Encoding: chunked\n * ```\n *\n * @param {String} headers Headers needing to be parsed\n * @returns {Object} Headers parsed into an object\n */\nmodule.exports = function parseHeaders(headers) {\n var parsed = {};\n var key;\n var val;\n var i;\n\n if (!headers) { return parsed; }\n\n utils.forEach(headers.split('\\n'), function parser(line) {\n i = line.indexOf(':');\n key = utils.trim(line.substr(0, i)).toLowerCase();\n val = utils.trim(line.substr(i + 1));\n\n if (key) {\n parsed[key] = parsed[key] ? parsed[key] + ', ' + val : val;\n }\n });\n\n return parsed;\n};\n","'use strict';\n\n/**\n * Syntactic sugar for invoking a function and expanding an array for arguments.\n *\n * Common use case would be to use `Function.prototype.apply`.\n *\n * ```js\n * function f(x, y, z) {}\n * var args = [1, 2, 3];\n * f.apply(null, args);\n * ```\n *\n * With `spread` this example can be re-written.\n *\n * ```js\n * spread(function(x, y, z) {})([1, 2, 3]);\n * ```\n *\n * @param {Function} callback\n * @returns {Function}\n */\nmodule.exports = function spread(callback) {\n return function wrap(arr) {\n return callback.apply(null, arr);\n };\n};\n","'use strict';\n\nvar bind = require('./helpers/bind');\n\n/*global toString:true*/\n\n// utils is a library of generic helper functions non-specific to axios\n\nvar toString = Object.prototype.toString;\n\n/**\n * Determine if a value is an Array\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is an Array, otherwise false\n */\nfunction isArray(val) {\n return toString.call(val) === '[object Array]';\n}\n\n/**\n * Determine if a value is an ArrayBuffer\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is an ArrayBuffer, otherwise false\n */\nfunction isArrayBuffer(val) {\n return toString.call(val) === '[object ArrayBuffer]';\n}\n\n/**\n * Determine if a value is a FormData\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is an FormData, otherwise false\n */\nfunction isFormData(val) {\n return (typeof FormData !== 'undefined') && (val instanceof FormData);\n}\n\n/**\n * Determine if a value is a view on an ArrayBuffer\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a view on an ArrayBuffer, otherwise false\n */\nfunction isArrayBufferView(val) {\n var result;\n if ((typeof ArrayBuffer !== 'undefined') && (ArrayBuffer.isView)) {\n result = ArrayBuffer.isView(val);\n } else {\n result = (val) && (val.buffer) && (val.buffer instanceof ArrayBuffer);\n }\n return result;\n}\n\n/**\n * Determine if a value is a String\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a String, otherwise false\n */\nfunction isString(val) {\n return typeof val === 'string';\n}\n\n/**\n * Determine if a value is a Number\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Number, otherwise false\n */\nfunction isNumber(val) {\n return typeof val === 'number';\n}\n\n/**\n * Determine if a value is undefined\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if the value is undefined, otherwise false\n */\nfunction isUndefined(val) {\n return typeof val === 'undefined';\n}\n\n/**\n * Determine if a value is an Object\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is an Object, otherwise false\n */\nfunction isObject(val) {\n return val !== null && typeof val === 'object';\n}\n\n/**\n * Determine if a value is a Date\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Date, otherwise false\n */\nfunction isDate(val) {\n return toString.call(val) === '[object Date]';\n}\n\n/**\n * Determine if a value is a File\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a File, otherwise false\n */\nfunction isFile(val) {\n return toString.call(val) === '[object File]';\n}\n\n/**\n * Determine if a value is a Blob\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Blob, otherwise false\n */\nfunction isBlob(val) {\n return toString.call(val) === '[object Blob]';\n}\n\n/**\n * Determine if a value is a Function\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Function, otherwise false\n */\nfunction isFunction(val) {\n return toString.call(val) === '[object Function]';\n}\n\n/**\n * Determine if a value is a Stream\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Stream, otherwise false\n */\nfunction isStream(val) {\n return isObject(val) && isFunction(val.pipe);\n}\n\n/**\n * Determine if a value is a URLSearchParams object\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a URLSearchParams object, otherwise false\n */\nfunction isURLSearchParams(val) {\n return typeof URLSearchParams !== 'undefined' && val instanceof URLSearchParams;\n}\n\n/**\n * Trim excess whitespace off the beginning and end of a string\n *\n * @param {String} str The String to trim\n * @returns {String} The String freed of excess whitespace\n */\nfunction trim(str) {\n return str.replace(/^\\s*/, '').replace(/\\s*$/, '');\n}\n\n/**\n * Determine if we're running in a standard browser environment\n *\n * This allows axios to run in a web worker, and react-native.\n * Both environments support XMLHttpRequest, but not fully standard globals.\n *\n * web workers:\n * typeof window -> undefined\n * typeof document -> undefined\n *\n * react-native:\n * typeof document.createElement -> undefined\n */\nfunction isStandardBrowserEnv() {\n return (\n typeof window !== 'undefined' &&\n typeof document !== 'undefined' &&\n typeof document.createElement === 'function'\n );\n}\n\n/**\n * Iterate over an Array or an Object invoking a function for each item.\n *\n * If `obj` is an Array callback will be called passing\n * the value, index, and complete array for each item.\n *\n * If 'obj' is an Object callback will be called passing\n * the value, key, and complete object for each property.\n *\n * @param {Object|Array} obj The object to iterate\n * @param {Function} fn The callback to invoke for each item\n */\nfunction forEach(obj, fn) {\n // Don't bother if no value provided\n if (obj === null || typeof obj === 'undefined') {\n return;\n }\n\n // Force an array if not already something iterable\n if (typeof obj !== 'object' && !isArray(obj)) {\n /*eslint no-param-reassign:0*/\n obj = [obj];\n }\n\n if (isArray(obj)) {\n // Iterate over array values\n for (var i = 0, l = obj.length; i < l; i++) {\n fn.call(null, obj[i], i, obj);\n }\n } else {\n // Iterate over object keys\n for (var key in obj) {\n if (Object.prototype.hasOwnProperty.call(obj, key)) {\n fn.call(null, obj[key], key, obj);\n }\n }\n }\n}\n\n/**\n * Accepts varargs expecting each argument to be an object, then\n * immutably merges the properties of each object and returns result.\n *\n * When multiple objects contain the same key the later object in\n * the arguments list will take precedence.\n *\n * Example:\n *\n * ```js\n * var result = merge({foo: 123}, {foo: 456});\n * console.log(result.foo); // outputs 456\n * ```\n *\n * @param {Object} obj1 Object to merge\n * @returns {Object} Result of all merge properties\n */\nfunction merge(/* obj1, obj2, obj3, ... */) {\n var result = {};\n function assignValue(val, key) {\n if (typeof result[key] === 'object' && typeof val === 'object') {\n result[key] = merge(result[key], val);\n } else {\n result[key] = val;\n }\n }\n\n for (var i = 0, l = arguments.length; i < l; i++) {\n forEach(arguments[i], assignValue);\n }\n return result;\n}\n\n/**\n * Extends object a by mutably adding to it the properties of object b.\n *\n * @param {Object} a The object to be extended\n * @param {Object} b The object to copy properties from\n * @param {Object} thisArg The object to bind function to\n * @return {Object} The resulting value of object a\n */\nfunction extend(a, b, thisArg) {\n forEach(b, function assignValue(val, key) {\n if (thisArg && typeof val === 'function') {\n a[key] = bind(val, thisArg);\n } else {\n a[key] = val;\n }\n });\n return a;\n}\n\nmodule.exports = {\n isArray: isArray,\n isArrayBuffer: isArrayBuffer,\n isFormData: isFormData,\n isArrayBufferView: isArrayBufferView,\n isString: isString,\n isNumber: isNumber,\n isObject: isObject,\n isUndefined: isUndefined,\n isDate: isDate,\n isFile: isFile,\n isBlob: isBlob,\n isFunction: isFunction,\n isStream: isStream,\n isURLSearchParams: isURLSearchParams,\n isStandardBrowserEnv: isStandardBrowserEnv,\n forEach: forEach,\n merge: merge,\n extend: extend,\n trim: trim\n};\n","/*! http://mths.be/base64 v0.1.0 by @mathias | MIT license */\n;(function(root) {\n\n\t// Detect free variables `exports`.\n\tvar freeExports = typeof exports == 'object' && exports;\n\n\t// Detect free variable `module`.\n\tvar freeModule = typeof module == 'object' && module &&\n\t\tmodule.exports == freeExports && module;\n\n\t// Detect free variable `global`, from Node.js or Browserified code, and use\n\t// it as `root`.\n\tvar freeGlobal = typeof global == 'object' && global;\n\tif (freeGlobal.global === freeGlobal || freeGlobal.window === freeGlobal) {\n\t\troot = freeGlobal;\n\t}\n\n\t/*--------------------------------------------------------------------------*/\n\n\tvar InvalidCharacterError = function(message) {\n\t\tthis.message = message;\n\t};\n\tInvalidCharacterError.prototype = new Error;\n\tInvalidCharacterError.prototype.name = 'InvalidCharacterError';\n\n\tvar error = function(message) {\n\t\t// Note: the error messages used throughout this file match those used by\n\t\t// the native `atob`/`btoa` implementation in Chromium.\n\t\tthrow new InvalidCharacterError(message);\n\t};\n\n\tvar TABLE = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/';\n\t// http://whatwg.org/html/common-microsyntaxes.html#space-character\n\tvar REGEX_SPACE_CHARACTERS = /[\\t\\n\\f\\r ]/g;\n\n\t// `decode` is designed to be fully compatible with `atob` as described in the\n\t// HTML Standard. http://whatwg.org/html/webappapis.html#dom-windowbase64-atob\n\t// The optimized base64-decoding algorithm used is based on @atk’s excellent\n\t// implementation. https://gist.github.com/atk/1020396\n\tvar decode = function(input) {\n\t\tinput = String(input)\n\t\t\t.replace(REGEX_SPACE_CHARACTERS, '');\n\t\tvar length = input.length;\n\t\tif (length % 4 == 0) {\n\t\t\tinput = input.replace(/==?$/, '');\n\t\t\tlength = input.length;\n\t\t}\n\t\tif (\n\t\t\tlength % 4 == 1 ||\n\t\t\t// http://whatwg.org/C#alphanumeric-ascii-characters\n\t\t\t/[^+a-zA-Z0-9/]/.test(input)\n\t\t) {\n\t\t\terror(\n\t\t\t\t'Invalid character: the string to be decoded is not correctly encoded.'\n\t\t\t);\n\t\t}\n\t\tvar bitCounter = 0;\n\t\tvar bitStorage;\n\t\tvar buffer;\n\t\tvar output = '';\n\t\tvar position = -1;\n\t\twhile (++position < length) {\n\t\t\tbuffer = TABLE.indexOf(input.charAt(position));\n\t\t\tbitStorage = bitCounter % 4 ? bitStorage * 64 + buffer : buffer;\n\t\t\t// Unless this is the first of a group of 4 characters…\n\t\t\tif (bitCounter++ % 4) {\n\t\t\t\t// …convert the first 8 bits to a single ASCII character.\n\t\t\t\toutput += String.fromCharCode(\n\t\t\t\t\t0xFF & bitStorage >> (-2 * bitCounter & 6)\n\t\t\t\t);\n\t\t\t}\n\t\t}\n\t\treturn output;\n\t};\n\n\t// `encode` is designed to be fully compatible with `btoa` as described in the\n\t// HTML Standard: http://whatwg.org/html/webappapis.html#dom-windowbase64-btoa\n\tvar encode = function(input) {\n\t\tinput = String(input);\n\t\tif (/[^\\0-\\xFF]/.test(input)) {\n\t\t\t// Note: no need to special-case astral symbols here, as surrogates are\n\t\t\t// matched, and the input is supposed to only contain ASCII anyway.\n\t\t\terror(\n\t\t\t\t'The string to be encoded contains characters outside of the ' +\n\t\t\t\t'Latin1 range.'\n\t\t\t);\n\t\t}\n\t\tvar padding = input.length % 3;\n\t\tvar output = '';\n\t\tvar position = -1;\n\t\tvar a;\n\t\tvar b;\n\t\tvar c;\n\t\tvar d;\n\t\tvar buffer;\n\t\t// Make sure any padding is handled outside of the loop.\n\t\tvar length = input.length - padding;\n\n\t\twhile (++position < length) {\n\t\t\t// Read three bytes, i.e. 24 bits.\n\t\t\ta = input.charCodeAt(position) << 16;\n\t\t\tb = input.charCodeAt(++position) << 8;\n\t\t\tc = input.charCodeAt(++position);\n\t\t\tbuffer = a + b + c;\n\t\t\t// Turn the 24 bits into four chunks of 6 bits each, and append the\n\t\t\t// matching character for each of them to the output.\n\t\t\toutput += (\n\t\t\t\tTABLE.charAt(buffer >> 18 & 0x3F) +\n\t\t\t\tTABLE.charAt(buffer >> 12 & 0x3F) +\n\t\t\t\tTABLE.charAt(buffer >> 6 & 0x3F) +\n\t\t\t\tTABLE.charAt(buffer & 0x3F)\n\t\t\t);\n\t\t}\n\n\t\tif (padding == 2) {\n\t\t\ta = input.charCodeAt(position) << 8;\n\t\t\tb = input.charCodeAt(++position);\n\t\t\tbuffer = a + b;\n\t\t\toutput += (\n\t\t\t\tTABLE.charAt(buffer >> 10) +\n\t\t\t\tTABLE.charAt((buffer >> 4) & 0x3F) +\n\t\t\t\tTABLE.charAt((buffer << 2) & 0x3F) +\n\t\t\t\t'='\n\t\t\t);\n\t\t} else if (padding == 1) {\n\t\t\tbuffer = input.charCodeAt(position);\n\t\t\toutput += (\n\t\t\t\tTABLE.charAt(buffer >> 2) +\n\t\t\t\tTABLE.charAt((buffer << 4) & 0x3F) +\n\t\t\t\t'=='\n\t\t\t);\n\t\t}\n\n\t\treturn output;\n\t};\n\n\tvar base64 = {\n\t\t'encode': encode,\n\t\t'decode': decode,\n\t\t'version': '0.1.0'\n\t};\n\n\t// Some AMD build optimizers, like r.js, check for specific condition patterns\n\t// like the following:\n\tif (\n\t\ttypeof define == 'function' &&\n\t\ttypeof define.amd == 'object' &&\n\t\tdefine.amd\n\t) {\n\t\tdefine(function() {\n\t\t\treturn base64;\n\t\t});\n\t}\telse if (freeExports && !freeExports.nodeType) {\n\t\tif (freeModule) { // in Node.js or RingoJS v0.8.0+\n\t\t\tfreeModule.exports = base64;\n\t\t} else { // in Narwhal or RingoJS v0.7.0-\n\t\t\tfor (var key in base64) {\n\t\t\t\tbase64.hasOwnProperty(key) && (freeExports[key] = base64[key]);\n\t\t\t}\n\t\t}\n\t} else { // in Rhino or a web browser\n\t\troot.base64 = base64;\n\t}\n\n}(this));\n","/*!\n Copyright (c) 2017 Jed Watson.\n Licensed under the MIT License (MIT), see\n http://jedwatson.github.io/classnames\n*/\n/* global define */\n\n(function () {\n\t'use strict';\n\n\tvar hasOwn = {}.hasOwnProperty;\n\n\tfunction classNames () {\n\t\tvar classes = [];\n\n\t\tfor (var i = 0; i < arguments.length; i++) {\n\t\t\tvar arg = arguments[i];\n\t\t\tif (!arg) continue;\n\n\t\t\tvar argType = typeof arg;\n\n\t\t\tif (argType === 'string' || argType === 'number') {\n\t\t\t\tclasses.push(arg);\n\t\t\t} else if (Array.isArray(arg) && arg.length) {\n\t\t\t\tvar inner = classNames.apply(null, arg);\n\t\t\t\tif (inner) {\n\t\t\t\t\tclasses.push(inner);\n\t\t\t\t}\n\t\t\t} else if (argType === 'object') {\n\t\t\t\tfor (var key in arg) {\n\t\t\t\t\tif (hasOwn.call(arg, key) && arg[key]) {\n\t\t\t\t\t\tclasses.push(key);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\treturn classes.join(' ');\n\t}\n\n\tif (typeof module !== 'undefined' && module.exports) {\n\t\tclassNames.default = classNames;\n\t\tmodule.exports = classNames;\n\t} else if (typeof define === 'function' && typeof define.amd === 'object' && define.amd) {\n\t\t// register as 'classnames', consistent with npm package name\n\t\tdefine('classnames', [], function () {\n\t\t\treturn classNames;\n\t\t});\n\t} else {\n\t\twindow.classNames = classNames;\n\t}\n}());\n","/* MIT license */\nvar cssKeywords = require('color-name');\n\n// NOTE: conversions should only return primitive values (i.e. arrays, or\n// values that give correct `typeof` results).\n// do not use box values types (i.e. Number(), String(), etc.)\n\nvar reverseKeywords = {};\nfor (var key in cssKeywords) {\n\tif (cssKeywords.hasOwnProperty(key)) {\n\t\treverseKeywords[cssKeywords[key]] = key;\n\t}\n}\n\nvar convert = module.exports = {\n\trgb: {channels: 3, labels: 'rgb'},\n\thsl: {channels: 3, labels: 'hsl'},\n\thsv: {channels: 3, labels: 'hsv'},\n\thwb: {channels: 3, labels: 'hwb'},\n\tcmyk: {channels: 4, labels: 'cmyk'},\n\txyz: {channels: 3, labels: 'xyz'},\n\tlab: {channels: 3, labels: 'lab'},\n\tlch: {channels: 3, labels: 'lch'},\n\thex: {channels: 1, labels: ['hex']},\n\tkeyword: {channels: 1, labels: ['keyword']},\n\tansi16: {channels: 1, labels: ['ansi16']},\n\tansi256: {channels: 1, labels: ['ansi256']},\n\thcg: {channels: 3, labels: ['h', 'c', 'g']},\n\tapple: {channels: 3, labels: ['r16', 'g16', 'b16']},\n\tgray: {channels: 1, labels: ['gray']}\n};\n\n// hide .channels and .labels properties\nfor (var model in convert) {\n\tif (convert.hasOwnProperty(model)) {\n\t\tif (!('channels' in convert[model])) {\n\t\t\tthrow new Error('missing channels property: ' + model);\n\t\t}\n\n\t\tif (!('labels' in convert[model])) {\n\t\t\tthrow new Error('missing channel labels property: ' + model);\n\t\t}\n\n\t\tif (convert[model].labels.length !== convert[model].channels) {\n\t\t\tthrow new Error('channel and label counts mismatch: ' + model);\n\t\t}\n\n\t\tvar channels = convert[model].channels;\n\t\tvar labels = convert[model].labels;\n\t\tdelete convert[model].channels;\n\t\tdelete convert[model].labels;\n\t\tObject.defineProperty(convert[model], 'channels', {value: channels});\n\t\tObject.defineProperty(convert[model], 'labels', {value: labels});\n\t}\n}\n\nconvert.rgb.hsl = function (rgb) {\n\tvar r = rgb[0] / 255;\n\tvar g = rgb[1] / 255;\n\tvar b = rgb[2] / 255;\n\tvar min = Math.min(r, g, b);\n\tvar max = Math.max(r, g, b);\n\tvar delta = max - min;\n\tvar h;\n\tvar s;\n\tvar l;\n\n\tif (max === min) {\n\t\th = 0;\n\t} else if (r === max) {\n\t\th = (g - b) / delta;\n\t} else if (g === max) {\n\t\th = 2 + (b - r) / delta;\n\t} else if (b === max) {\n\t\th = 4 + (r - g) / delta;\n\t}\n\n\th = Math.min(h * 60, 360);\n\n\tif (h < 0) {\n\t\th += 360;\n\t}\n\n\tl = (min + max) / 2;\n\n\tif (max === min) {\n\t\ts = 0;\n\t} else if (l <= 0.5) {\n\t\ts = delta / (max + min);\n\t} else {\n\t\ts = delta / (2 - max - min);\n\t}\n\n\treturn [h, s * 100, l * 100];\n};\n\nconvert.rgb.hsv = function (rgb) {\n\tvar rdif;\n\tvar gdif;\n\tvar bdif;\n\tvar h;\n\tvar s;\n\n\tvar r = rgb[0] / 255;\n\tvar g = rgb[1] / 255;\n\tvar b = rgb[2] / 255;\n\tvar v = Math.max(r, g, b);\n\tvar diff = v - Math.min(r, g, b);\n\tvar diffc = function (c) {\n\t\treturn (v - c) / 6 / diff + 1 / 2;\n\t};\n\n\tif (diff === 0) {\n\t\th = s = 0;\n\t} else {\n\t\ts = diff / v;\n\t\trdif = diffc(r);\n\t\tgdif = diffc(g);\n\t\tbdif = diffc(b);\n\n\t\tif (r === v) {\n\t\t\th = bdif - gdif;\n\t\t} else if (g === v) {\n\t\t\th = (1 / 3) + rdif - bdif;\n\t\t} else if (b === v) {\n\t\t\th = (2 / 3) + gdif - rdif;\n\t\t}\n\t\tif (h < 0) {\n\t\t\th += 1;\n\t\t} else if (h > 1) {\n\t\t\th -= 1;\n\t\t}\n\t}\n\n\treturn [\n\t\th * 360,\n\t\ts * 100,\n\t\tv * 100\n\t];\n};\n\nconvert.rgb.hwb = function (rgb) {\n\tvar r = rgb[0];\n\tvar g = rgb[1];\n\tvar b = rgb[2];\n\tvar h = convert.rgb.hsl(rgb)[0];\n\tvar w = 1 / 255 * Math.min(r, Math.min(g, b));\n\n\tb = 1 - 1 / 255 * Math.max(r, Math.max(g, b));\n\n\treturn [h, w * 100, b * 100];\n};\n\nconvert.rgb.cmyk = function (rgb) {\n\tvar r = rgb[0] / 255;\n\tvar g = rgb[1] / 255;\n\tvar b = rgb[2] / 255;\n\tvar c;\n\tvar m;\n\tvar y;\n\tvar k;\n\n\tk = Math.min(1 - r, 1 - g, 1 - b);\n\tc = (1 - r - k) / (1 - k) || 0;\n\tm = (1 - g - k) / (1 - k) || 0;\n\ty = (1 - b - k) / (1 - k) || 0;\n\n\treturn [c * 100, m * 100, y * 100, k * 100];\n};\n\n/**\n * See https://en.m.wikipedia.org/wiki/Euclidean_distance#Squared_Euclidean_distance\n * */\nfunction comparativeDistance(x, y) {\n\treturn (\n\t\tMath.pow(x[0] - y[0], 2) +\n\t\tMath.pow(x[1] - y[1], 2) +\n\t\tMath.pow(x[2] - y[2], 2)\n\t);\n}\n\nconvert.rgb.keyword = function (rgb) {\n\tvar reversed = reverseKeywords[rgb];\n\tif (reversed) {\n\t\treturn reversed;\n\t}\n\n\tvar currentClosestDistance = Infinity;\n\tvar currentClosestKeyword;\n\n\tfor (var keyword in cssKeywords) {\n\t\tif (cssKeywords.hasOwnProperty(keyword)) {\n\t\t\tvar value = cssKeywords[keyword];\n\n\t\t\t// Compute comparative distance\n\t\t\tvar distance = comparativeDistance(rgb, value);\n\n\t\t\t// Check if its less, if so set as closest\n\t\t\tif (distance < currentClosestDistance) {\n\t\t\t\tcurrentClosestDistance = distance;\n\t\t\t\tcurrentClosestKeyword = keyword;\n\t\t\t}\n\t\t}\n\t}\n\n\treturn currentClosestKeyword;\n};\n\nconvert.keyword.rgb = function (keyword) {\n\treturn cssKeywords[keyword];\n};\n\nconvert.rgb.xyz = function (rgb) {\n\tvar r = rgb[0] / 255;\n\tvar g = rgb[1] / 255;\n\tvar b = rgb[2] / 255;\n\n\t// assume sRGB\n\tr = r > 0.04045 ? Math.pow(((r + 0.055) / 1.055), 2.4) : (r / 12.92);\n\tg = g > 0.04045 ? Math.pow(((g + 0.055) / 1.055), 2.4) : (g / 12.92);\n\tb = b > 0.04045 ? Math.pow(((b + 0.055) / 1.055), 2.4) : (b / 12.92);\n\n\tvar x = (r * 0.4124) + (g * 0.3576) + (b * 0.1805);\n\tvar y = (r * 0.2126) + (g * 0.7152) + (b * 0.0722);\n\tvar z = (r * 0.0193) + (g * 0.1192) + (b * 0.9505);\n\n\treturn [x * 100, y * 100, z * 100];\n};\n\nconvert.rgb.lab = function (rgb) {\n\tvar xyz = convert.rgb.xyz(rgb);\n\tvar x = xyz[0];\n\tvar y = xyz[1];\n\tvar z = xyz[2];\n\tvar l;\n\tvar a;\n\tvar b;\n\n\tx /= 95.047;\n\ty /= 100;\n\tz /= 108.883;\n\n\tx = x > 0.008856 ? Math.pow(x, 1 / 3) : (7.787 * x) + (16 / 116);\n\ty = y > 0.008856 ? Math.pow(y, 1 / 3) : (7.787 * y) + (16 / 116);\n\tz = z > 0.008856 ? Math.pow(z, 1 / 3) : (7.787 * z) + (16 / 116);\n\n\tl = (116 * y) - 16;\n\ta = 500 * (x - y);\n\tb = 200 * (y - z);\n\n\treturn [l, a, b];\n};\n\nconvert.hsl.rgb = function (hsl) {\n\tvar h = hsl[0] / 360;\n\tvar s = hsl[1] / 100;\n\tvar l = hsl[2] / 100;\n\tvar t1;\n\tvar t2;\n\tvar t3;\n\tvar rgb;\n\tvar val;\n\n\tif (s === 0) {\n\t\tval = l * 255;\n\t\treturn [val, val, val];\n\t}\n\n\tif (l < 0.5) {\n\t\tt2 = l * (1 + s);\n\t} else {\n\t\tt2 = l + s - l * s;\n\t}\n\n\tt1 = 2 * l - t2;\n\n\trgb = [0, 0, 0];\n\tfor (var i = 0; i < 3; i++) {\n\t\tt3 = h + 1 / 3 * -(i - 1);\n\t\tif (t3 < 0) {\n\t\t\tt3++;\n\t\t}\n\t\tif (t3 > 1) {\n\t\t\tt3--;\n\t\t}\n\n\t\tif (6 * t3 < 1) {\n\t\t\tval = t1 + (t2 - t1) * 6 * t3;\n\t\t} else if (2 * t3 < 1) {\n\t\t\tval = t2;\n\t\t} else if (3 * t3 < 2) {\n\t\t\tval = t1 + (t2 - t1) * (2 / 3 - t3) * 6;\n\t\t} else {\n\t\t\tval = t1;\n\t\t}\n\n\t\trgb[i] = val * 255;\n\t}\n\n\treturn rgb;\n};\n\nconvert.hsl.hsv = function (hsl) {\n\tvar h = hsl[0];\n\tvar s = hsl[1] / 100;\n\tvar l = hsl[2] / 100;\n\tvar smin = s;\n\tvar lmin = Math.max(l, 0.01);\n\tvar sv;\n\tvar v;\n\n\tl *= 2;\n\ts *= (l <= 1) ? l : 2 - l;\n\tsmin *= lmin <= 1 ? lmin : 2 - lmin;\n\tv = (l + s) / 2;\n\tsv = l === 0 ? (2 * smin) / (lmin + smin) : (2 * s) / (l + s);\n\n\treturn [h, sv * 100, v * 100];\n};\n\nconvert.hsv.rgb = function (hsv) {\n\tvar h = hsv[0] / 60;\n\tvar s = hsv[1] / 100;\n\tvar v = hsv[2] / 100;\n\tvar hi = Math.floor(h) % 6;\n\n\tvar f = h - Math.floor(h);\n\tvar p = 255 * v * (1 - s);\n\tvar q = 255 * v * (1 - (s * f));\n\tvar t = 255 * v * (1 - (s * (1 - f)));\n\tv *= 255;\n\n\tswitch (hi) {\n\t\tcase 0:\n\t\t\treturn [v, t, p];\n\t\tcase 1:\n\t\t\treturn [q, v, p];\n\t\tcase 2:\n\t\t\treturn [p, v, t];\n\t\tcase 3:\n\t\t\treturn [p, q, v];\n\t\tcase 4:\n\t\t\treturn [t, p, v];\n\t\tcase 5:\n\t\t\treturn [v, p, q];\n\t}\n};\n\nconvert.hsv.hsl = function (hsv) {\n\tvar h = hsv[0];\n\tvar s = hsv[1] / 100;\n\tvar v = hsv[2] / 100;\n\tvar vmin = Math.max(v, 0.01);\n\tvar lmin;\n\tvar sl;\n\tvar l;\n\n\tl = (2 - s) * v;\n\tlmin = (2 - s) * vmin;\n\tsl = s * vmin;\n\tsl /= (lmin <= 1) ? lmin : 2 - lmin;\n\tsl = sl || 0;\n\tl /= 2;\n\n\treturn [h, sl * 100, l * 100];\n};\n\n// http://dev.w3.org/csswg/css-color/#hwb-to-rgb\nconvert.hwb.rgb = function (hwb) {\n\tvar h = hwb[0] / 360;\n\tvar wh = hwb[1] / 100;\n\tvar bl = hwb[2] / 100;\n\tvar ratio = wh + bl;\n\tvar i;\n\tvar v;\n\tvar f;\n\tvar n;\n\n\t// wh + bl cant be > 1\n\tif (ratio > 1) {\n\t\twh /= ratio;\n\t\tbl /= ratio;\n\t}\n\n\ti = Math.floor(6 * h);\n\tv = 1 - bl;\n\tf = 6 * h - i;\n\n\tif ((i & 0x01) !== 0) {\n\t\tf = 1 - f;\n\t}\n\n\tn = wh + f * (v - wh); // linear interpolation\n\n\tvar r;\n\tvar g;\n\tvar b;\n\tswitch (i) {\n\t\tdefault:\n\t\tcase 6:\n\t\tcase 0: r = v; g = n; b = wh; break;\n\t\tcase 1: r = n; g = v; b = wh; break;\n\t\tcase 2: r = wh; g = v; b = n; break;\n\t\tcase 3: r = wh; g = n; b = v; break;\n\t\tcase 4: r = n; g = wh; b = v; break;\n\t\tcase 5: r = v; g = wh; b = n; break;\n\t}\n\n\treturn [r * 255, g * 255, b * 255];\n};\n\nconvert.cmyk.rgb = function (cmyk) {\n\tvar c = cmyk[0] / 100;\n\tvar m = cmyk[1] / 100;\n\tvar y = cmyk[2] / 100;\n\tvar k = cmyk[3] / 100;\n\tvar r;\n\tvar g;\n\tvar b;\n\n\tr = 1 - Math.min(1, c * (1 - k) + k);\n\tg = 1 - Math.min(1, m * (1 - k) + k);\n\tb = 1 - Math.min(1, y * (1 - k) + k);\n\n\treturn [r * 255, g * 255, b * 255];\n};\n\nconvert.xyz.rgb = function (xyz) {\n\tvar x = xyz[0] / 100;\n\tvar y = xyz[1] / 100;\n\tvar z = xyz[2] / 100;\n\tvar r;\n\tvar g;\n\tvar b;\n\n\tr = (x * 3.2406) + (y * -1.5372) + (z * -0.4986);\n\tg = (x * -0.9689) + (y * 1.8758) + (z * 0.0415);\n\tb = (x * 0.0557) + (y * -0.2040) + (z * 1.0570);\n\n\t// assume sRGB\n\tr = r > 0.0031308\n\t\t? ((1.055 * Math.pow(r, 1.0 / 2.4)) - 0.055)\n\t\t: r * 12.92;\n\n\tg = g > 0.0031308\n\t\t? ((1.055 * Math.pow(g, 1.0 / 2.4)) - 0.055)\n\t\t: g * 12.92;\n\n\tb = b > 0.0031308\n\t\t? ((1.055 * Math.pow(b, 1.0 / 2.4)) - 0.055)\n\t\t: b * 12.92;\n\n\tr = Math.min(Math.max(0, r), 1);\n\tg = Math.min(Math.max(0, g), 1);\n\tb = Math.min(Math.max(0, b), 1);\n\n\treturn [r * 255, g * 255, b * 255];\n};\n\nconvert.xyz.lab = function (xyz) {\n\tvar x = xyz[0];\n\tvar y = xyz[1];\n\tvar z = xyz[2];\n\tvar l;\n\tvar a;\n\tvar b;\n\n\tx /= 95.047;\n\ty /= 100;\n\tz /= 108.883;\n\n\tx = x > 0.008856 ? Math.pow(x, 1 / 3) : (7.787 * x) + (16 / 116);\n\ty = y > 0.008856 ? Math.pow(y, 1 / 3) : (7.787 * y) + (16 / 116);\n\tz = z > 0.008856 ? Math.pow(z, 1 / 3) : (7.787 * z) + (16 / 116);\n\n\tl = (116 * y) - 16;\n\ta = 500 * (x - y);\n\tb = 200 * (y - z);\n\n\treturn [l, a, b];\n};\n\nconvert.lab.xyz = function (lab) {\n\tvar l = lab[0];\n\tvar a = lab[1];\n\tvar b = lab[2];\n\tvar x;\n\tvar y;\n\tvar z;\n\n\ty = (l + 16) / 116;\n\tx = a / 500 + y;\n\tz = y - b / 200;\n\n\tvar y2 = Math.pow(y, 3);\n\tvar x2 = Math.pow(x, 3);\n\tvar z2 = Math.pow(z, 3);\n\ty = y2 > 0.008856 ? y2 : (y - 16 / 116) / 7.787;\n\tx = x2 > 0.008856 ? x2 : (x - 16 / 116) / 7.787;\n\tz = z2 > 0.008856 ? z2 : (z - 16 / 116) / 7.787;\n\n\tx *= 95.047;\n\ty *= 100;\n\tz *= 108.883;\n\n\treturn [x, y, z];\n};\n\nconvert.lab.lch = function (lab) {\n\tvar l = lab[0];\n\tvar a = lab[1];\n\tvar b = lab[2];\n\tvar hr;\n\tvar h;\n\tvar c;\n\n\thr = Math.atan2(b, a);\n\th = hr * 360 / 2 / Math.PI;\n\n\tif (h < 0) {\n\t\th += 360;\n\t}\n\n\tc = Math.sqrt(a * a + b * b);\n\n\treturn [l, c, h];\n};\n\nconvert.lch.lab = function (lch) {\n\tvar l = lch[0];\n\tvar c = lch[1];\n\tvar h = lch[2];\n\tvar a;\n\tvar b;\n\tvar hr;\n\n\thr = h / 360 * 2 * Math.PI;\n\ta = c * Math.cos(hr);\n\tb = c * Math.sin(hr);\n\n\treturn [l, a, b];\n};\n\nconvert.rgb.ansi16 = function (args) {\n\tvar r = args[0];\n\tvar g = args[1];\n\tvar b = args[2];\n\tvar value = 1 in arguments ? arguments[1] : convert.rgb.hsv(args)[2]; // hsv -> ansi16 optimization\n\n\tvalue = Math.round(value / 50);\n\n\tif (value === 0) {\n\t\treturn 30;\n\t}\n\n\tvar ansi = 30\n\t\t+ ((Math.round(b / 255) << 2)\n\t\t| (Math.round(g / 255) << 1)\n\t\t| Math.round(r / 255));\n\n\tif (value === 2) {\n\t\tansi += 60;\n\t}\n\n\treturn ansi;\n};\n\nconvert.hsv.ansi16 = function (args) {\n\t// optimization here; we already know the value and don't need to get\n\t// it converted for us.\n\treturn convert.rgb.ansi16(convert.hsv.rgb(args), args[2]);\n};\n\nconvert.rgb.ansi256 = function (args) {\n\tvar r = args[0];\n\tvar g = args[1];\n\tvar b = args[2];\n\n\t// we use the extended greyscale palette here, with the exception of\n\t// black and white. normal palette only has 4 greyscale shades.\n\tif (r === g && g === b) {\n\t\tif (r < 8) {\n\t\t\treturn 16;\n\t\t}\n\n\t\tif (r > 248) {\n\t\t\treturn 231;\n\t\t}\n\n\t\treturn Math.round(((r - 8) / 247) * 24) + 232;\n\t}\n\n\tvar ansi = 16\n\t\t+ (36 * Math.round(r / 255 * 5))\n\t\t+ (6 * Math.round(g / 255 * 5))\n\t\t+ Math.round(b / 255 * 5);\n\n\treturn ansi;\n};\n\nconvert.ansi16.rgb = function (args) {\n\tvar color = args % 10;\n\n\t// handle greyscale\n\tif (color === 0 || color === 7) {\n\t\tif (args > 50) {\n\t\t\tcolor += 3.5;\n\t\t}\n\n\t\tcolor = color / 10.5 * 255;\n\n\t\treturn [color, color, color];\n\t}\n\n\tvar mult = (~~(args > 50) + 1) * 0.5;\n\tvar r = ((color & 1) * mult) * 255;\n\tvar g = (((color >> 1) & 1) * mult) * 255;\n\tvar b = (((color >> 2) & 1) * mult) * 255;\n\n\treturn [r, g, b];\n};\n\nconvert.ansi256.rgb = function (args) {\n\t// handle greyscale\n\tif (args >= 232) {\n\t\tvar c = (args - 232) * 10 + 8;\n\t\treturn [c, c, c];\n\t}\n\n\targs -= 16;\n\n\tvar rem;\n\tvar r = Math.floor(args / 36) / 5 * 255;\n\tvar g = Math.floor((rem = args % 36) / 6) / 5 * 255;\n\tvar b = (rem % 6) / 5 * 255;\n\n\treturn [r, g, b];\n};\n\nconvert.rgb.hex = function (args) {\n\tvar integer = ((Math.round(args[0]) & 0xFF) << 16)\n\t\t+ ((Math.round(args[1]) & 0xFF) << 8)\n\t\t+ (Math.round(args[2]) & 0xFF);\n\n\tvar string = integer.toString(16).toUpperCase();\n\treturn '000000'.substring(string.length) + string;\n};\n\nconvert.hex.rgb = function (args) {\n\tvar match = args.toString(16).match(/[a-f0-9]{6}|[a-f0-9]{3}/i);\n\tif (!match) {\n\t\treturn [0, 0, 0];\n\t}\n\n\tvar colorString = match[0];\n\n\tif (match[0].length === 3) {\n\t\tcolorString = colorString.split('').map(function (char) {\n\t\t\treturn char + char;\n\t\t}).join('');\n\t}\n\n\tvar integer = parseInt(colorString, 16);\n\tvar r = (integer >> 16) & 0xFF;\n\tvar g = (integer >> 8) & 0xFF;\n\tvar b = integer & 0xFF;\n\n\treturn [r, g, b];\n};\n\nconvert.rgb.hcg = function (rgb) {\n\tvar r = rgb[0] / 255;\n\tvar g = rgb[1] / 255;\n\tvar b = rgb[2] / 255;\n\tvar max = Math.max(Math.max(r, g), b);\n\tvar min = Math.min(Math.min(r, g), b);\n\tvar chroma = (max - min);\n\tvar grayscale;\n\tvar hue;\n\n\tif (chroma < 1) {\n\t\tgrayscale = min / (1 - chroma);\n\t} else {\n\t\tgrayscale = 0;\n\t}\n\n\tif (chroma <= 0) {\n\t\thue = 0;\n\t} else\n\tif (max === r) {\n\t\thue = ((g - b) / chroma) % 6;\n\t} else\n\tif (max === g) {\n\t\thue = 2 + (b - r) / chroma;\n\t} else {\n\t\thue = 4 + (r - g) / chroma + 4;\n\t}\n\n\thue /= 6;\n\thue %= 1;\n\n\treturn [hue * 360, chroma * 100, grayscale * 100];\n};\n\nconvert.hsl.hcg = function (hsl) {\n\tvar s = hsl[1] / 100;\n\tvar l = hsl[2] / 100;\n\tvar c = 1;\n\tvar f = 0;\n\n\tif (l < 0.5) {\n\t\tc = 2.0 * s * l;\n\t} else {\n\t\tc = 2.0 * s * (1.0 - l);\n\t}\n\n\tif (c < 1.0) {\n\t\tf = (l - 0.5 * c) / (1.0 - c);\n\t}\n\n\treturn [hsl[0], c * 100, f * 100];\n};\n\nconvert.hsv.hcg = function (hsv) {\n\tvar s = hsv[1] / 100;\n\tvar v = hsv[2] / 100;\n\n\tvar c = s * v;\n\tvar f = 0;\n\n\tif (c < 1.0) {\n\t\tf = (v - c) / (1 - c);\n\t}\n\n\treturn [hsv[0], c * 100, f * 100];\n};\n\nconvert.hcg.rgb = function (hcg) {\n\tvar h = hcg[0] / 360;\n\tvar c = hcg[1] / 100;\n\tvar g = hcg[2] / 100;\n\n\tif (c === 0.0) {\n\t\treturn [g * 255, g * 255, g * 255];\n\t}\n\n\tvar pure = [0, 0, 0];\n\tvar hi = (h % 1) * 6;\n\tvar v = hi % 1;\n\tvar w = 1 - v;\n\tvar mg = 0;\n\n\tswitch (Math.floor(hi)) {\n\t\tcase 0:\n\t\t\tpure[0] = 1; pure[1] = v; pure[2] = 0; break;\n\t\tcase 1:\n\t\t\tpure[0] = w; pure[1] = 1; pure[2] = 0; break;\n\t\tcase 2:\n\t\t\tpure[0] = 0; pure[1] = 1; pure[2] = v; break;\n\t\tcase 3:\n\t\t\tpure[0] = 0; pure[1] = w; pure[2] = 1; break;\n\t\tcase 4:\n\t\t\tpure[0] = v; pure[1] = 0; pure[2] = 1; break;\n\t\tdefault:\n\t\t\tpure[0] = 1; pure[1] = 0; pure[2] = w;\n\t}\n\n\tmg = (1.0 - c) * g;\n\n\treturn [\n\t\t(c * pure[0] + mg) * 255,\n\t\t(c * pure[1] + mg) * 255,\n\t\t(c * pure[2] + mg) * 255\n\t];\n};\n\nconvert.hcg.hsv = function (hcg) {\n\tvar c = hcg[1] / 100;\n\tvar g = hcg[2] / 100;\n\n\tvar v = c + g * (1.0 - c);\n\tvar f = 0;\n\n\tif (v > 0.0) {\n\t\tf = c / v;\n\t}\n\n\treturn [hcg[0], f * 100, v * 100];\n};\n\nconvert.hcg.hsl = function (hcg) {\n\tvar c = hcg[1] / 100;\n\tvar g = hcg[2] / 100;\n\n\tvar l = g * (1.0 - c) + 0.5 * c;\n\tvar s = 0;\n\n\tif (l > 0.0 && l < 0.5) {\n\t\ts = c / (2 * l);\n\t} else\n\tif (l >= 0.5 && l < 1.0) {\n\t\ts = c / (2 * (1 - l));\n\t}\n\n\treturn [hcg[0], s * 100, l * 100];\n};\n\nconvert.hcg.hwb = function (hcg) {\n\tvar c = hcg[1] / 100;\n\tvar g = hcg[2] / 100;\n\tvar v = c + g * (1.0 - c);\n\treturn [hcg[0], (v - c) * 100, (1 - v) * 100];\n};\n\nconvert.hwb.hcg = function (hwb) {\n\tvar w = hwb[1] / 100;\n\tvar b = hwb[2] / 100;\n\tvar v = 1 - b;\n\tvar c = v - w;\n\tvar g = 0;\n\n\tif (c < 1) {\n\t\tg = (v - c) / (1 - c);\n\t}\n\n\treturn [hwb[0], c * 100, g * 100];\n};\n\nconvert.apple.rgb = function (apple) {\n\treturn [(apple[0] / 65535) * 255, (apple[1] / 65535) * 255, (apple[2] / 65535) * 255];\n};\n\nconvert.rgb.apple = function (rgb) {\n\treturn [(rgb[0] / 255) * 65535, (rgb[1] / 255) * 65535, (rgb[2] / 255) * 65535];\n};\n\nconvert.gray.rgb = function (args) {\n\treturn [args[0] / 100 * 255, args[0] / 100 * 255, args[0] / 100 * 255];\n};\n\nconvert.gray.hsl = convert.gray.hsv = function (args) {\n\treturn [0, 0, args[0]];\n};\n\nconvert.gray.hwb = function (gray) {\n\treturn [0, 100, gray[0]];\n};\n\nconvert.gray.cmyk = function (gray) {\n\treturn [0, 0, 0, gray[0]];\n};\n\nconvert.gray.lab = function (gray) {\n\treturn [gray[0], 0, 0];\n};\n\nconvert.gray.hex = function (gray) {\n\tvar val = Math.round(gray[0] / 100 * 255) & 0xFF;\n\tvar integer = (val << 16) + (val << 8) + val;\n\n\tvar string = integer.toString(16).toUpperCase();\n\treturn '000000'.substring(string.length) + string;\n};\n\nconvert.rgb.gray = function (rgb) {\n\tvar val = (rgb[0] + rgb[1] + rgb[2]) / 3;\n\treturn [val / 255 * 100];\n};\n","var conversions = require('./conversions');\nvar route = require('./route');\n\nvar convert = {};\n\nvar models = Object.keys(conversions);\n\nfunction wrapRaw(fn) {\n\tvar wrappedFn = function (args) {\n\t\tif (args === undefined || args === null) {\n\t\t\treturn args;\n\t\t}\n\n\t\tif (arguments.length > 1) {\n\t\t\targs = Array.prototype.slice.call(arguments);\n\t\t}\n\n\t\treturn fn(args);\n\t};\n\n\t// preserve .conversion property if there is one\n\tif ('conversion' in fn) {\n\t\twrappedFn.conversion = fn.conversion;\n\t}\n\n\treturn wrappedFn;\n}\n\nfunction wrapRounded(fn) {\n\tvar wrappedFn = function (args) {\n\t\tif (args === undefined || args === null) {\n\t\t\treturn args;\n\t\t}\n\n\t\tif (arguments.length > 1) {\n\t\t\targs = Array.prototype.slice.call(arguments);\n\t\t}\n\n\t\tvar result = fn(args);\n\n\t\t// we're assuming the result is an array here.\n\t\t// see notice in conversions.js; don't use box types\n\t\t// in conversion functions.\n\t\tif (typeof result === 'object') {\n\t\t\tfor (var len = result.length, i = 0; i < len; i++) {\n\t\t\t\tresult[i] = Math.round(result[i]);\n\t\t\t}\n\t\t}\n\n\t\treturn result;\n\t};\n\n\t// preserve .conversion property if there is one\n\tif ('conversion' in fn) {\n\t\twrappedFn.conversion = fn.conversion;\n\t}\n\n\treturn wrappedFn;\n}\n\nmodels.forEach(function (fromModel) {\n\tconvert[fromModel] = {};\n\n\tObject.defineProperty(convert[fromModel], 'channels', {value: conversions[fromModel].channels});\n\tObject.defineProperty(convert[fromModel], 'labels', {value: conversions[fromModel].labels});\n\n\tvar routes = route(fromModel);\n\tvar routeModels = Object.keys(routes);\n\n\trouteModels.forEach(function (toModel) {\n\t\tvar fn = routes[toModel];\n\n\t\tconvert[fromModel][toModel] = wrapRounded(fn);\n\t\tconvert[fromModel][toModel].raw = wrapRaw(fn);\n\t});\n});\n\nmodule.exports = convert;\n","'use strict'\r\n\r\nmodule.exports = {\r\n\t\"aliceblue\": [240, 248, 255],\r\n\t\"antiquewhite\": [250, 235, 215],\r\n\t\"aqua\": [0, 255, 255],\r\n\t\"aquamarine\": [127, 255, 212],\r\n\t\"azure\": [240, 255, 255],\r\n\t\"beige\": [245, 245, 220],\r\n\t\"bisque\": [255, 228, 196],\r\n\t\"black\": [0, 0, 0],\r\n\t\"blanchedalmond\": [255, 235, 205],\r\n\t\"blue\": [0, 0, 255],\r\n\t\"blueviolet\": [138, 43, 226],\r\n\t\"brown\": [165, 42, 42],\r\n\t\"burlywood\": [222, 184, 135],\r\n\t\"cadetblue\": [95, 158, 160],\r\n\t\"chartreuse\": [127, 255, 0],\r\n\t\"chocolate\": [210, 105, 30],\r\n\t\"coral\": [255, 127, 80],\r\n\t\"cornflowerblue\": [100, 149, 237],\r\n\t\"cornsilk\": [255, 248, 220],\r\n\t\"crimson\": [220, 20, 60],\r\n\t\"cyan\": [0, 255, 255],\r\n\t\"darkblue\": [0, 0, 139],\r\n\t\"darkcyan\": [0, 139, 139],\r\n\t\"darkgoldenrod\": [184, 134, 11],\r\n\t\"darkgray\": [169, 169, 169],\r\n\t\"darkgreen\": [0, 100, 0],\r\n\t\"darkgrey\": [169, 169, 169],\r\n\t\"darkkhaki\": [189, 183, 107],\r\n\t\"darkmagenta\": [139, 0, 139],\r\n\t\"darkolivegreen\": [85, 107, 47],\r\n\t\"darkorange\": [255, 140, 0],\r\n\t\"darkorchid\": [153, 50, 204],\r\n\t\"darkred\": [139, 0, 0],\r\n\t\"darksalmon\": [233, 150, 122],\r\n\t\"darkseagreen\": [143, 188, 143],\r\n\t\"darkslateblue\": [72, 61, 139],\r\n\t\"darkslategray\": [47, 79, 79],\r\n\t\"darkslategrey\": [47, 79, 79],\r\n\t\"darkturquoise\": [0, 206, 209],\r\n\t\"darkviolet\": [148, 0, 211],\r\n\t\"deeppink\": [255, 20, 147],\r\n\t\"deepskyblue\": [0, 191, 255],\r\n\t\"dimgray\": [105, 105, 105],\r\n\t\"dimgrey\": [105, 105, 105],\r\n\t\"dodgerblue\": [30, 144, 255],\r\n\t\"firebrick\": [178, 34, 34],\r\n\t\"floralwhite\": [255, 250, 240],\r\n\t\"forestgreen\": [34, 139, 34],\r\n\t\"fuchsia\": [255, 0, 255],\r\n\t\"gainsboro\": [220, 220, 220],\r\n\t\"ghostwhite\": [248, 248, 255],\r\n\t\"gold\": [255, 215, 0],\r\n\t\"goldenrod\": [218, 165, 32],\r\n\t\"gray\": [128, 128, 128],\r\n\t\"green\": [0, 128, 0],\r\n\t\"greenyellow\": [173, 255, 47],\r\n\t\"grey\": [128, 128, 128],\r\n\t\"honeydew\": [240, 255, 240],\r\n\t\"hotpink\": [255, 105, 180],\r\n\t\"indianred\": [205, 92, 92],\r\n\t\"indigo\": [75, 0, 130],\r\n\t\"ivory\": [255, 255, 240],\r\n\t\"khaki\": [240, 230, 140],\r\n\t\"lavender\": [230, 230, 250],\r\n\t\"lavenderblush\": [255, 240, 245],\r\n\t\"lawngreen\": [124, 252, 0],\r\n\t\"lemonchiffon\": [255, 250, 205],\r\n\t\"lightblue\": [173, 216, 230],\r\n\t\"lightcoral\": [240, 128, 128],\r\n\t\"lightcyan\": [224, 255, 255],\r\n\t\"lightgoldenrodyellow\": [250, 250, 210],\r\n\t\"lightgray\": [211, 211, 211],\r\n\t\"lightgreen\": [144, 238, 144],\r\n\t\"lightgrey\": [211, 211, 211],\r\n\t\"lightpink\": [255, 182, 193],\r\n\t\"lightsalmon\": [255, 160, 122],\r\n\t\"lightseagreen\": [32, 178, 170],\r\n\t\"lightskyblue\": [135, 206, 250],\r\n\t\"lightslategray\": [119, 136, 153],\r\n\t\"lightslategrey\": [119, 136, 153],\r\n\t\"lightsteelblue\": [176, 196, 222],\r\n\t\"lightyellow\": [255, 255, 224],\r\n\t\"lime\": [0, 255, 0],\r\n\t\"limegreen\": [50, 205, 50],\r\n\t\"linen\": [250, 240, 230],\r\n\t\"magenta\": [255, 0, 255],\r\n\t\"maroon\": [128, 0, 0],\r\n\t\"mediumaquamarine\": [102, 205, 170],\r\n\t\"mediumblue\": [0, 0, 205],\r\n\t\"mediumorchid\": [186, 85, 211],\r\n\t\"mediumpurple\": [147, 112, 219],\r\n\t\"mediumseagreen\": [60, 179, 113],\r\n\t\"mediumslateblue\": [123, 104, 238],\r\n\t\"mediumspringgreen\": [0, 250, 154],\r\n\t\"mediumturquoise\": [72, 209, 204],\r\n\t\"mediumvioletred\": [199, 21, 133],\r\n\t\"midnightblue\": [25, 25, 112],\r\n\t\"mintcream\": [245, 255, 250],\r\n\t\"mistyrose\": [255, 228, 225],\r\n\t\"moccasin\": [255, 228, 181],\r\n\t\"navajowhite\": [255, 222, 173],\r\n\t\"navy\": [0, 0, 128],\r\n\t\"oldlace\": [253, 245, 230],\r\n\t\"olive\": [128, 128, 0],\r\n\t\"olivedrab\": [107, 142, 35],\r\n\t\"orange\": [255, 165, 0],\r\n\t\"orangered\": [255, 69, 0],\r\n\t\"orchid\": [218, 112, 214],\r\n\t\"palegoldenrod\": [238, 232, 170],\r\n\t\"palegreen\": [152, 251, 152],\r\n\t\"paleturquoise\": [175, 238, 238],\r\n\t\"palevioletred\": [219, 112, 147],\r\n\t\"papayawhip\": [255, 239, 213],\r\n\t\"peachpuff\": [255, 218, 185],\r\n\t\"peru\": [205, 133, 63],\r\n\t\"pink\": [255, 192, 203],\r\n\t\"plum\": [221, 160, 221],\r\n\t\"powderblue\": [176, 224, 230],\r\n\t\"purple\": [128, 0, 128],\r\n\t\"rebeccapurple\": [102, 51, 153],\r\n\t\"red\": [255, 0, 0],\r\n\t\"rosybrown\": [188, 143, 143],\r\n\t\"royalblue\": [65, 105, 225],\r\n\t\"saddlebrown\": [139, 69, 19],\r\n\t\"salmon\": [250, 128, 114],\r\n\t\"sandybrown\": [244, 164, 96],\r\n\t\"seagreen\": [46, 139, 87],\r\n\t\"seashell\": [255, 245, 238],\r\n\t\"sienna\": [160, 82, 45],\r\n\t\"silver\": [192, 192, 192],\r\n\t\"skyblue\": [135, 206, 235],\r\n\t\"slateblue\": [106, 90, 205],\r\n\t\"slategray\": [112, 128, 144],\r\n\t\"slategrey\": [112, 128, 144],\r\n\t\"snow\": [255, 250, 250],\r\n\t\"springgreen\": [0, 255, 127],\r\n\t\"steelblue\": [70, 130, 180],\r\n\t\"tan\": [210, 180, 140],\r\n\t\"teal\": [0, 128, 128],\r\n\t\"thistle\": [216, 191, 216],\r\n\t\"tomato\": [255, 99, 71],\r\n\t\"turquoise\": [64, 224, 208],\r\n\t\"violet\": [238, 130, 238],\r\n\t\"wheat\": [245, 222, 179],\r\n\t\"white\": [255, 255, 255],\r\n\t\"whitesmoke\": [245, 245, 245],\r\n\t\"yellow\": [255, 255, 0],\r\n\t\"yellowgreen\": [154, 205, 50]\r\n};\r\n","var conversions = require('./conversions');\n\n/*\n\tthis function routes a model to all other models.\n\n\tall functions that are routed have a property `.conversion` attached\n\tto the returned synthetic function. This property is an array\n\tof strings, each with the steps in between the 'from' and 'to'\n\tcolor models (inclusive).\n\n\tconversions that are not possible simply are not included.\n*/\n\nfunction buildGraph() {\n\tvar graph = {};\n\t// https://jsperf.com/object-keys-vs-for-in-with-closure/3\n\tvar models = Object.keys(conversions);\n\n\tfor (var len = models.length, i = 0; i < len; i++) {\n\t\tgraph[models[i]] = {\n\t\t\t// http://jsperf.com/1-vs-infinity\n\t\t\t// micro-opt, but this is simple.\n\t\t\tdistance: -1,\n\t\t\tparent: null\n\t\t};\n\t}\n\n\treturn graph;\n}\n\n// https://en.wikipedia.org/wiki/Breadth-first_search\nfunction deriveBFS(fromModel) {\n\tvar graph = buildGraph();\n\tvar queue = [fromModel]; // unshift -> queue -> pop\n\n\tgraph[fromModel].distance = 0;\n\n\twhile (queue.length) {\n\t\tvar current = queue.pop();\n\t\tvar adjacents = Object.keys(conversions[current]);\n\n\t\tfor (var len = adjacents.length, i = 0; i < len; i++) {\n\t\t\tvar adjacent = adjacents[i];\n\t\t\tvar node = graph[adjacent];\n\n\t\t\tif (node.distance === -1) {\n\t\t\t\tnode.distance = graph[current].distance + 1;\n\t\t\t\tnode.parent = current;\n\t\t\t\tqueue.unshift(adjacent);\n\t\t\t}\n\t\t}\n\t}\n\n\treturn graph;\n}\n\nfunction link(from, to) {\n\treturn function (args) {\n\t\treturn to(from(args));\n\t};\n}\n\nfunction wrapConversion(toModel, graph) {\n\tvar path = [graph[toModel].parent, toModel];\n\tvar fn = conversions[graph[toModel].parent][toModel];\n\n\tvar cur = graph[toModel].parent;\n\twhile (graph[cur].parent) {\n\t\tpath.unshift(graph[cur].parent);\n\t\tfn = link(conversions[graph[cur].parent][cur], fn);\n\t\tcur = graph[cur].parent;\n\t}\n\n\tfn.conversion = path;\n\treturn fn;\n}\n\nmodule.exports = function (fromModel) {\n\tvar graph = deriveBFS(fromModel);\n\tvar conversion = {};\n\n\tvar models = Object.keys(graph);\n\tfor (var len = models.length, i = 0; i < len; i++) {\n\t\tvar toModel = models[i];\n\t\tvar node = graph[toModel];\n\n\t\tif (node.parent === null) {\n\t\t\t// no possible conversion, or this node is the source model.\n\t\t\tcontinue;\n\t\t}\n\n\t\tconversion[toModel] = wrapConversion(toModel, graph);\n\t}\n\n\treturn conversion;\n};\n\n","'use strict'\r\n\r\nmodule.exports = {\r\n\t\"aliceblue\": [240, 248, 255],\r\n\t\"antiquewhite\": [250, 235, 215],\r\n\t\"aqua\": [0, 255, 255],\r\n\t\"aquamarine\": [127, 255, 212],\r\n\t\"azure\": [240, 255, 255],\r\n\t\"beige\": [245, 245, 220],\r\n\t\"bisque\": [255, 228, 196],\r\n\t\"black\": [0, 0, 0],\r\n\t\"blanchedalmond\": [255, 235, 205],\r\n\t\"blue\": [0, 0, 255],\r\n\t\"blueviolet\": [138, 43, 226],\r\n\t\"brown\": [165, 42, 42],\r\n\t\"burlywood\": [222, 184, 135],\r\n\t\"cadetblue\": [95, 158, 160],\r\n\t\"chartreuse\": [127, 255, 0],\r\n\t\"chocolate\": [210, 105, 30],\r\n\t\"coral\": [255, 127, 80],\r\n\t\"cornflowerblue\": [100, 149, 237],\r\n\t\"cornsilk\": [255, 248, 220],\r\n\t\"crimson\": [220, 20, 60],\r\n\t\"cyan\": [0, 255, 255],\r\n\t\"darkblue\": [0, 0, 139],\r\n\t\"darkcyan\": [0, 139, 139],\r\n\t\"darkgoldenrod\": [184, 134, 11],\r\n\t\"darkgray\": [169, 169, 169],\r\n\t\"darkgreen\": [0, 100, 0],\r\n\t\"darkgrey\": [169, 169, 169],\r\n\t\"darkkhaki\": [189, 183, 107],\r\n\t\"darkmagenta\": [139, 0, 139],\r\n\t\"darkolivegreen\": [85, 107, 47],\r\n\t\"darkorange\": [255, 140, 0],\r\n\t\"darkorchid\": [153, 50, 204],\r\n\t\"darkred\": [139, 0, 0],\r\n\t\"darksalmon\": [233, 150, 122],\r\n\t\"darkseagreen\": [143, 188, 143],\r\n\t\"darkslateblue\": [72, 61, 139],\r\n\t\"darkslategray\": [47, 79, 79],\r\n\t\"darkslategrey\": [47, 79, 79],\r\n\t\"darkturquoise\": [0, 206, 209],\r\n\t\"darkviolet\": [148, 0, 211],\r\n\t\"deeppink\": [255, 20, 147],\r\n\t\"deepskyblue\": [0, 191, 255],\r\n\t\"dimgray\": [105, 105, 105],\r\n\t\"dimgrey\": [105, 105, 105],\r\n\t\"dodgerblue\": [30, 144, 255],\r\n\t\"firebrick\": [178, 34, 34],\r\n\t\"floralwhite\": [255, 250, 240],\r\n\t\"forestgreen\": [34, 139, 34],\r\n\t\"fuchsia\": [255, 0, 255],\r\n\t\"gainsboro\": [220, 220, 220],\r\n\t\"ghostwhite\": [248, 248, 255],\r\n\t\"gold\": [255, 215, 0],\r\n\t\"goldenrod\": [218, 165, 32],\r\n\t\"gray\": [128, 128, 128],\r\n\t\"green\": [0, 128, 0],\r\n\t\"greenyellow\": [173, 255, 47],\r\n\t\"grey\": [128, 128, 128],\r\n\t\"honeydew\": [240, 255, 240],\r\n\t\"hotpink\": [255, 105, 180],\r\n\t\"indianred\": [205, 92, 92],\r\n\t\"indigo\": [75, 0, 130],\r\n\t\"ivory\": [255, 255, 240],\r\n\t\"khaki\": [240, 230, 140],\r\n\t\"lavender\": [230, 230, 250],\r\n\t\"lavenderblush\": [255, 240, 245],\r\n\t\"lawngreen\": [124, 252, 0],\r\n\t\"lemonchiffon\": [255, 250, 205],\r\n\t\"lightblue\": [173, 216, 230],\r\n\t\"lightcoral\": [240, 128, 128],\r\n\t\"lightcyan\": [224, 255, 255],\r\n\t\"lightgoldenrodyellow\": [250, 250, 210],\r\n\t\"lightgray\": [211, 211, 211],\r\n\t\"lightgreen\": [144, 238, 144],\r\n\t\"lightgrey\": [211, 211, 211],\r\n\t\"lightpink\": [255, 182, 193],\r\n\t\"lightsalmon\": [255, 160, 122],\r\n\t\"lightseagreen\": [32, 178, 170],\r\n\t\"lightskyblue\": [135, 206, 250],\r\n\t\"lightslategray\": [119, 136, 153],\r\n\t\"lightslategrey\": [119, 136, 153],\r\n\t\"lightsteelblue\": [176, 196, 222],\r\n\t\"lightyellow\": [255, 255, 224],\r\n\t\"lime\": [0, 255, 0],\r\n\t\"limegreen\": [50, 205, 50],\r\n\t\"linen\": [250, 240, 230],\r\n\t\"magenta\": [255, 0, 255],\r\n\t\"maroon\": [128, 0, 0],\r\n\t\"mediumaquamarine\": [102, 205, 170],\r\n\t\"mediumblue\": [0, 0, 205],\r\n\t\"mediumorchid\": [186, 85, 211],\r\n\t\"mediumpurple\": [147, 112, 219],\r\n\t\"mediumseagreen\": [60, 179, 113],\r\n\t\"mediumslateblue\": [123, 104, 238],\r\n\t\"mediumspringgreen\": [0, 250, 154],\r\n\t\"mediumturquoise\": [72, 209, 204],\r\n\t\"mediumvioletred\": [199, 21, 133],\r\n\t\"midnightblue\": [25, 25, 112],\r\n\t\"mintcream\": [245, 255, 250],\r\n\t\"mistyrose\": [255, 228, 225],\r\n\t\"moccasin\": [255, 228, 181],\r\n\t\"navajowhite\": [255, 222, 173],\r\n\t\"navy\": [0, 0, 128],\r\n\t\"oldlace\": [253, 245, 230],\r\n\t\"olive\": [128, 128, 0],\r\n\t\"olivedrab\": [107, 142, 35],\r\n\t\"orange\": [255, 165, 0],\r\n\t\"orangered\": [255, 69, 0],\r\n\t\"orchid\": [218, 112, 214],\r\n\t\"palegoldenrod\": [238, 232, 170],\r\n\t\"palegreen\": [152, 251, 152],\r\n\t\"paleturquoise\": [175, 238, 238],\r\n\t\"palevioletred\": [219, 112, 147],\r\n\t\"papayawhip\": [255, 239, 213],\r\n\t\"peachpuff\": [255, 218, 185],\r\n\t\"peru\": [205, 133, 63],\r\n\t\"pink\": [255, 192, 203],\r\n\t\"plum\": [221, 160, 221],\r\n\t\"powderblue\": [176, 224, 230],\r\n\t\"purple\": [128, 0, 128],\r\n\t\"rebeccapurple\": [102, 51, 153],\r\n\t\"red\": [255, 0, 0],\r\n\t\"rosybrown\": [188, 143, 143],\r\n\t\"royalblue\": [65, 105, 225],\r\n\t\"saddlebrown\": [139, 69, 19],\r\n\t\"salmon\": [250, 128, 114],\r\n\t\"sandybrown\": [244, 164, 96],\r\n\t\"seagreen\": [46, 139, 87],\r\n\t\"seashell\": [255, 245, 238],\r\n\t\"sienna\": [160, 82, 45],\r\n\t\"silver\": [192, 192, 192],\r\n\t\"skyblue\": [135, 206, 235],\r\n\t\"slateblue\": [106, 90, 205],\r\n\t\"slategray\": [112, 128, 144],\r\n\t\"slategrey\": [112, 128, 144],\r\n\t\"snow\": [255, 250, 250],\r\n\t\"springgreen\": [0, 255, 127],\r\n\t\"steelblue\": [70, 130, 180],\r\n\t\"tan\": [210, 180, 140],\r\n\t\"teal\": [0, 128, 128],\r\n\t\"thistle\": [216, 191, 216],\r\n\t\"tomato\": [255, 99, 71],\r\n\t\"turquoise\": [64, 224, 208],\r\n\t\"violet\": [238, 130, 238],\r\n\t\"wheat\": [245, 222, 179],\r\n\t\"white\": [255, 255, 255],\r\n\t\"whitesmoke\": [245, 245, 245],\r\n\t\"yellow\": [255, 255, 0],\r\n\t\"yellowgreen\": [154, 205, 50]\r\n};\r\n","/* MIT license */\nvar colorNames = require('color-name');\nvar swizzle = require('simple-swizzle');\nvar hasOwnProperty = Object.hasOwnProperty;\n\nvar reverseNames = Object.create(null);\n\n// create a list of reverse color names\nfor (var name in colorNames) {\n\tif (hasOwnProperty.call(colorNames, name)) {\n\t\treverseNames[colorNames[name]] = name;\n\t}\n}\n\nvar cs = module.exports = {\n\tto: {},\n\tget: {}\n};\n\ncs.get = function (string) {\n\tvar prefix = string.substring(0, 3).toLowerCase();\n\tvar val;\n\tvar model;\n\tswitch (prefix) {\n\t\tcase 'hsl':\n\t\t\tval = cs.get.hsl(string);\n\t\t\tmodel = 'hsl';\n\t\t\tbreak;\n\t\tcase 'hwb':\n\t\t\tval = cs.get.hwb(string);\n\t\t\tmodel = 'hwb';\n\t\t\tbreak;\n\t\tdefault:\n\t\t\tval = cs.get.rgb(string);\n\t\t\tmodel = 'rgb';\n\t\t\tbreak;\n\t}\n\n\tif (!val) {\n\t\treturn null;\n\t}\n\n\treturn {model: model, value: val};\n};\n\ncs.get.rgb = function (string) {\n\tif (!string) {\n\t\treturn null;\n\t}\n\n\tvar abbr = /^#([a-f0-9]{3,4})$/i;\n\tvar hex = /^#([a-f0-9]{6})([a-f0-9]{2})?$/i;\n\tvar rgba = /^rgba?\\(\\s*([+-]?\\d+)(?=[\\s,])\\s*(?:,\\s*)?([+-]?\\d+)(?=[\\s,])\\s*(?:,\\s*)?([+-]?\\d+)\\s*(?:[,|\\/]\\s*([+-]?[\\d\\.]+)(%?)\\s*)?\\)$/;\n\tvar per = /^rgba?\\(\\s*([+-]?[\\d\\.]+)\\%\\s*,?\\s*([+-]?[\\d\\.]+)\\%\\s*,?\\s*([+-]?[\\d\\.]+)\\%\\s*(?:[,|\\/]\\s*([+-]?[\\d\\.]+)(%?)\\s*)?\\)$/;\n\tvar keyword = /^(\\w+)$/;\n\n\tvar rgb = [0, 0, 0, 1];\n\tvar match;\n\tvar i;\n\tvar hexAlpha;\n\n\tif (match = string.match(hex)) {\n\t\thexAlpha = match[2];\n\t\tmatch = match[1];\n\n\t\tfor (i = 0; i < 3; i++) {\n\t\t\t// https://jsperf.com/slice-vs-substr-vs-substring-methods-long-string/19\n\t\t\tvar i2 = i * 2;\n\t\t\trgb[i] = parseInt(match.slice(i2, i2 + 2), 16);\n\t\t}\n\n\t\tif (hexAlpha) {\n\t\t\trgb[3] = parseInt(hexAlpha, 16) / 255;\n\t\t}\n\t} else if (match = string.match(abbr)) {\n\t\tmatch = match[1];\n\t\thexAlpha = match[3];\n\n\t\tfor (i = 0; i < 3; i++) {\n\t\t\trgb[i] = parseInt(match[i] + match[i], 16);\n\t\t}\n\n\t\tif (hexAlpha) {\n\t\t\trgb[3] = parseInt(hexAlpha + hexAlpha, 16) / 255;\n\t\t}\n\t} else if (match = string.match(rgba)) {\n\t\tfor (i = 0; i < 3; i++) {\n\t\t\trgb[i] = parseInt(match[i + 1], 0);\n\t\t}\n\n\t\tif (match[4]) {\n\t\t\tif (match[5]) {\n\t\t\t\trgb[3] = parseFloat(match[4]) * 0.01;\n\t\t\t} else {\n\t\t\t\trgb[3] = parseFloat(match[4]);\n\t\t\t}\n\t\t}\n\t} else if (match = string.match(per)) {\n\t\tfor (i = 0; i < 3; i++) {\n\t\t\trgb[i] = Math.round(parseFloat(match[i + 1]) * 2.55);\n\t\t}\n\n\t\tif (match[4]) {\n\t\t\tif (match[5]) {\n\t\t\t\trgb[3] = parseFloat(match[4]) * 0.01;\n\t\t\t} else {\n\t\t\t\trgb[3] = parseFloat(match[4]);\n\t\t\t}\n\t\t}\n\t} else if (match = string.match(keyword)) {\n\t\tif (match[1] === 'transparent') {\n\t\t\treturn [0, 0, 0, 0];\n\t\t}\n\n\t\tif (!hasOwnProperty.call(colorNames, match[1])) {\n\t\t\treturn null;\n\t\t}\n\n\t\trgb = colorNames[match[1]];\n\t\trgb[3] = 1;\n\n\t\treturn rgb;\n\t} else {\n\t\treturn null;\n\t}\n\n\tfor (i = 0; i < 3; i++) {\n\t\trgb[i] = clamp(rgb[i], 0, 255);\n\t}\n\trgb[3] = clamp(rgb[3], 0, 1);\n\n\treturn rgb;\n};\n\ncs.get.hsl = function (string) {\n\tif (!string) {\n\t\treturn null;\n\t}\n\n\tvar hsl = /^hsla?\\(\\s*([+-]?(?:\\d{0,3}\\.)?\\d+)(?:deg)?\\s*,?\\s*([+-]?[\\d\\.]+)%\\s*,?\\s*([+-]?[\\d\\.]+)%\\s*(?:[,|\\/]\\s*([+-]?(?=\\.\\d|\\d)(?:0|[1-9]\\d*)?(?:\\.\\d*)?(?:[eE][+-]?\\d+)?)\\s*)?\\)$/;\n\tvar match = string.match(hsl);\n\n\tif (match) {\n\t\tvar alpha = parseFloat(match[4]);\n\t\tvar h = ((parseFloat(match[1]) % 360) + 360) % 360;\n\t\tvar s = clamp(parseFloat(match[2]), 0, 100);\n\t\tvar l = clamp(parseFloat(match[3]), 0, 100);\n\t\tvar a = clamp(isNaN(alpha) ? 1 : alpha, 0, 1);\n\n\t\treturn [h, s, l, a];\n\t}\n\n\treturn null;\n};\n\ncs.get.hwb = function (string) {\n\tif (!string) {\n\t\treturn null;\n\t}\n\n\tvar hwb = /^hwb\\(\\s*([+-]?\\d{0,3}(?:\\.\\d+)?)(?:deg)?\\s*,\\s*([+-]?[\\d\\.]+)%\\s*,\\s*([+-]?[\\d\\.]+)%\\s*(?:,\\s*([+-]?(?=\\.\\d|\\d)(?:0|[1-9]\\d*)?(?:\\.\\d*)?(?:[eE][+-]?\\d+)?)\\s*)?\\)$/;\n\tvar match = string.match(hwb);\n\n\tif (match) {\n\t\tvar alpha = parseFloat(match[4]);\n\t\tvar h = ((parseFloat(match[1]) % 360) + 360) % 360;\n\t\tvar w = clamp(parseFloat(match[2]), 0, 100);\n\t\tvar b = clamp(parseFloat(match[3]), 0, 100);\n\t\tvar a = clamp(isNaN(alpha) ? 1 : alpha, 0, 1);\n\t\treturn [h, w, b, a];\n\t}\n\n\treturn null;\n};\n\ncs.to.hex = function () {\n\tvar rgba = swizzle(arguments);\n\n\treturn (\n\t\t'#' +\n\t\thexDouble(rgba[0]) +\n\t\thexDouble(rgba[1]) +\n\t\thexDouble(rgba[2]) +\n\t\t(rgba[3] < 1\n\t\t\t? (hexDouble(Math.round(rgba[3] * 255)))\n\t\t\t: '')\n\t);\n};\n\ncs.to.rgb = function () {\n\tvar rgba = swizzle(arguments);\n\n\treturn rgba.length < 4 || rgba[3] === 1\n\t\t? 'rgb(' + Math.round(rgba[0]) + ', ' + Math.round(rgba[1]) + ', ' + Math.round(rgba[2]) + ')'\n\t\t: 'rgba(' + Math.round(rgba[0]) + ', ' + Math.round(rgba[1]) + ', ' + Math.round(rgba[2]) + ', ' + rgba[3] + ')';\n};\n\ncs.to.rgb.percent = function () {\n\tvar rgba = swizzle(arguments);\n\n\tvar r = Math.round(rgba[0] / 255 * 100);\n\tvar g = Math.round(rgba[1] / 255 * 100);\n\tvar b = Math.round(rgba[2] / 255 * 100);\n\n\treturn rgba.length < 4 || rgba[3] === 1\n\t\t? 'rgb(' + r + '%, ' + g + '%, ' + b + '%)'\n\t\t: 'rgba(' + r + '%, ' + g + '%, ' + b + '%, ' + rgba[3] + ')';\n};\n\ncs.to.hsl = function () {\n\tvar hsla = swizzle(arguments);\n\treturn hsla.length < 4 || hsla[3] === 1\n\t\t? 'hsl(' + hsla[0] + ', ' + hsla[1] + '%, ' + hsla[2] + '%)'\n\t\t: 'hsla(' + hsla[0] + ', ' + hsla[1] + '%, ' + hsla[2] + '%, ' + hsla[3] + ')';\n};\n\n// hwb is a bit different than rgb(a) & hsl(a) since there is no alpha specific syntax\n// (hwb have alpha optional & 1 is default value)\ncs.to.hwb = function () {\n\tvar hwba = swizzle(arguments);\n\n\tvar a = '';\n\tif (hwba.length >= 4 && hwba[3] !== 1) {\n\t\ta = ', ' + hwba[3];\n\t}\n\n\treturn 'hwb(' + hwba[0] + ', ' + hwba[1] + '%, ' + hwba[2] + '%' + a + ')';\n};\n\ncs.to.keyword = function (rgb) {\n\treturn reverseNames[rgb.slice(0, 3)];\n};\n\n// helpers\nfunction clamp(num, min, max) {\n\treturn Math.min(Math.max(min, num), max);\n}\n\nfunction hexDouble(num) {\n\tvar str = Math.round(num).toString(16).toUpperCase();\n\treturn (str.length < 2) ? '0' + str : str;\n}\n","'use strict';\n\nvar colorString = require('color-string');\nvar convert = require('color-convert');\n\nvar _slice = [].slice;\n\nvar skippedModels = [\n\t// to be honest, I don't really feel like keyword belongs in color convert, but eh.\n\t'keyword',\n\n\t// gray conflicts with some method names, and has its own method defined.\n\t'gray',\n\n\t// shouldn't really be in color-convert either...\n\t'hex'\n];\n\nvar hashedModelKeys = {};\nObject.keys(convert).forEach(function (model) {\n\thashedModelKeys[_slice.call(convert[model].labels).sort().join('')] = model;\n});\n\nvar limiters = {};\n\nfunction Color(obj, model) {\n\tif (!(this instanceof Color)) {\n\t\treturn new Color(obj, model);\n\t}\n\n\tif (model && model in skippedModels) {\n\t\tmodel = null;\n\t}\n\n\tif (model && !(model in convert)) {\n\t\tthrow new Error('Unknown model: ' + model);\n\t}\n\n\tvar i;\n\tvar channels;\n\n\tif (obj == null) { // eslint-disable-line no-eq-null,eqeqeq\n\t\tthis.model = 'rgb';\n\t\tthis.color = [0, 0, 0];\n\t\tthis.valpha = 1;\n\t} else if (obj instanceof Color) {\n\t\tthis.model = obj.model;\n\t\tthis.color = obj.color.slice();\n\t\tthis.valpha = obj.valpha;\n\t} else if (typeof obj === 'string') {\n\t\tvar result = colorString.get(obj);\n\t\tif (result === null) {\n\t\t\tthrow new Error('Unable to parse color from string: ' + obj);\n\t\t}\n\n\t\tthis.model = result.model;\n\t\tchannels = convert[this.model].channels;\n\t\tthis.color = result.value.slice(0, channels);\n\t\tthis.valpha = typeof result.value[channels] === 'number' ? result.value[channels] : 1;\n\t} else if (obj.length) {\n\t\tthis.model = model || 'rgb';\n\t\tchannels = convert[this.model].channels;\n\t\tvar newArr = _slice.call(obj, 0, channels);\n\t\tthis.color = zeroArray(newArr, channels);\n\t\tthis.valpha = typeof obj[channels] === 'number' ? obj[channels] : 1;\n\t} else if (typeof obj === 'number') {\n\t\t// this is always RGB - can be converted later on.\n\t\tobj &= 0xFFFFFF;\n\t\tthis.model = 'rgb';\n\t\tthis.color = [\n\t\t\t(obj >> 16) & 0xFF,\n\t\t\t(obj >> 8) & 0xFF,\n\t\t\tobj & 0xFF\n\t\t];\n\t\tthis.valpha = 1;\n\t} else {\n\t\tthis.valpha = 1;\n\n\t\tvar keys = Object.keys(obj);\n\t\tif ('alpha' in obj) {\n\t\t\tkeys.splice(keys.indexOf('alpha'), 1);\n\t\t\tthis.valpha = typeof obj.alpha === 'number' ? obj.alpha : 0;\n\t\t}\n\n\t\tvar hashedKeys = keys.sort().join('');\n\t\tif (!(hashedKeys in hashedModelKeys)) {\n\t\t\tthrow new Error('Unable to parse color from object: ' + JSON.stringify(obj));\n\t\t}\n\n\t\tthis.model = hashedModelKeys[hashedKeys];\n\n\t\tvar labels = convert[this.model].labels;\n\t\tvar color = [];\n\t\tfor (i = 0; i < labels.length; i++) {\n\t\t\tcolor.push(obj[labels[i]]);\n\t\t}\n\n\t\tthis.color = zeroArray(color);\n\t}\n\n\t// perform limitations (clamping, etc.)\n\tif (limiters[this.model]) {\n\t\tchannels = convert[this.model].channels;\n\t\tfor (i = 0; i < channels; i++) {\n\t\t\tvar limit = limiters[this.model][i];\n\t\t\tif (limit) {\n\t\t\t\tthis.color[i] = limit(this.color[i]);\n\t\t\t}\n\t\t}\n\t}\n\n\tthis.valpha = Math.max(0, Math.min(1, this.valpha));\n\n\tif (Object.freeze) {\n\t\tObject.freeze(this);\n\t}\n}\n\nColor.prototype = {\n\ttoString: function () {\n\t\treturn this.string();\n\t},\n\n\ttoJSON: function () {\n\t\treturn this[this.model]();\n\t},\n\n\tstring: function (places) {\n\t\tvar self = this.model in colorString.to ? this : this.rgb();\n\t\tself = self.round(typeof places === 'number' ? places : 1);\n\t\tvar args = self.valpha === 1 ? self.color : self.color.concat(this.valpha);\n\t\treturn colorString.to[self.model](args);\n\t},\n\n\tpercentString: function (places) {\n\t\tvar self = this.rgb().round(typeof places === 'number' ? places : 1);\n\t\tvar args = self.valpha === 1 ? self.color : self.color.concat(this.valpha);\n\t\treturn colorString.to.rgb.percent(args);\n\t},\n\n\tarray: function () {\n\t\treturn this.valpha === 1 ? this.color.slice() : this.color.concat(this.valpha);\n\t},\n\n\tobject: function () {\n\t\tvar result = {};\n\t\tvar channels = convert[this.model].channels;\n\t\tvar labels = convert[this.model].labels;\n\n\t\tfor (var i = 0; i < channels; i++) {\n\t\t\tresult[labels[i]] = this.color[i];\n\t\t}\n\n\t\tif (this.valpha !== 1) {\n\t\t\tresult.alpha = this.valpha;\n\t\t}\n\n\t\treturn result;\n\t},\n\n\tunitArray: function () {\n\t\tvar rgb = this.rgb().color;\n\t\trgb[0] /= 255;\n\t\trgb[1] /= 255;\n\t\trgb[2] /= 255;\n\n\t\tif (this.valpha !== 1) {\n\t\t\trgb.push(this.valpha);\n\t\t}\n\n\t\treturn rgb;\n\t},\n\n\tunitObject: function () {\n\t\tvar rgb = this.rgb().object();\n\t\trgb.r /= 255;\n\t\trgb.g /= 255;\n\t\trgb.b /= 255;\n\n\t\tif (this.valpha !== 1) {\n\t\t\trgb.alpha = this.valpha;\n\t\t}\n\n\t\treturn rgb;\n\t},\n\n\tround: function (places) {\n\t\tplaces = Math.max(places || 0, 0);\n\t\treturn new Color(this.color.map(roundToPlace(places)).concat(this.valpha), this.model);\n\t},\n\n\talpha: function (val) {\n\t\tif (arguments.length) {\n\t\t\treturn new Color(this.color.concat(Math.max(0, Math.min(1, val))), this.model);\n\t\t}\n\n\t\treturn this.valpha;\n\t},\n\n\t// rgb\n\tred: getset('rgb', 0, maxfn(255)),\n\tgreen: getset('rgb', 1, maxfn(255)),\n\tblue: getset('rgb', 2, maxfn(255)),\n\n\thue: getset(['hsl', 'hsv', 'hsl', 'hwb', 'hcg'], 0, function (val) { return ((val % 360) + 360) % 360; }), // eslint-disable-line brace-style\n\n\tsaturationl: getset('hsl', 1, maxfn(100)),\n\tlightness: getset('hsl', 2, maxfn(100)),\n\n\tsaturationv: getset('hsv', 1, maxfn(100)),\n\tvalue: getset('hsv', 2, maxfn(100)),\n\n\tchroma: getset('hcg', 1, maxfn(100)),\n\tgray: getset('hcg', 2, maxfn(100)),\n\n\twhite: getset('hwb', 1, maxfn(100)),\n\twblack: getset('hwb', 2, maxfn(100)),\n\n\tcyan: getset('cmyk', 0, maxfn(100)),\n\tmagenta: getset('cmyk', 1, maxfn(100)),\n\tyellow: getset('cmyk', 2, maxfn(100)),\n\tblack: getset('cmyk', 3, maxfn(100)),\n\n\tx: getset('xyz', 0, maxfn(100)),\n\ty: getset('xyz', 1, maxfn(100)),\n\tz: getset('xyz', 2, maxfn(100)),\n\n\tl: getset('lab', 0, maxfn(100)),\n\ta: getset('lab', 1),\n\tb: getset('lab', 2),\n\n\tkeyword: function (val) {\n\t\tif (arguments.length) {\n\t\t\treturn new Color(val);\n\t\t}\n\n\t\treturn convert[this.model].keyword(this.color);\n\t},\n\n\thex: function (val) {\n\t\tif (arguments.length) {\n\t\t\treturn new Color(val);\n\t\t}\n\n\t\treturn colorString.to.hex(this.rgb().round().color);\n\t},\n\n\trgbNumber: function () {\n\t\tvar rgb = this.rgb().color;\n\t\treturn ((rgb[0] & 0xFF) << 16) | ((rgb[1] & 0xFF) << 8) | (rgb[2] & 0xFF);\n\t},\n\n\tluminosity: function () {\n\t\t// http://www.w3.org/TR/WCAG20/#relativeluminancedef\n\t\tvar rgb = this.rgb().color;\n\n\t\tvar lum = [];\n\t\tfor (var i = 0; i < rgb.length; i++) {\n\t\t\tvar chan = rgb[i] / 255;\n\t\t\tlum[i] = (chan <= 0.03928) ? chan / 12.92 : Math.pow(((chan + 0.055) / 1.055), 2.4);\n\t\t}\n\n\t\treturn 0.2126 * lum[0] + 0.7152 * lum[1] + 0.0722 * lum[2];\n\t},\n\n\tcontrast: function (color2) {\n\t\t// http://www.w3.org/TR/WCAG20/#contrast-ratiodef\n\t\tvar lum1 = this.luminosity();\n\t\tvar lum2 = color2.luminosity();\n\n\t\tif (lum1 > lum2) {\n\t\t\treturn (lum1 + 0.05) / (lum2 + 0.05);\n\t\t}\n\n\t\treturn (lum2 + 0.05) / (lum1 + 0.05);\n\t},\n\n\tlevel: function (color2) {\n\t\tvar contrastRatio = this.contrast(color2);\n\t\tif (contrastRatio >= 7.1) {\n\t\t\treturn 'AAA';\n\t\t}\n\n\t\treturn (contrastRatio >= 4.5) ? 'AA' : '';\n\t},\n\n\tisDark: function () {\n\t\t// YIQ equation from http://24ways.org/2010/calculating-color-contrast\n\t\tvar rgb = this.rgb().color;\n\t\tvar yiq = (rgb[0] * 299 + rgb[1] * 587 + rgb[2] * 114) / 1000;\n\t\treturn yiq < 128;\n\t},\n\n\tisLight: function () {\n\t\treturn !this.isDark();\n\t},\n\n\tnegate: function () {\n\t\tvar rgb = this.rgb();\n\t\tfor (var i = 0; i < 3; i++) {\n\t\t\trgb.color[i] = 255 - rgb.color[i];\n\t\t}\n\t\treturn rgb;\n\t},\n\n\tlighten: function (ratio) {\n\t\tvar hsl = this.hsl();\n\t\thsl.color[2] += hsl.color[2] * ratio;\n\t\treturn hsl;\n\t},\n\n\tdarken: function (ratio) {\n\t\tvar hsl = this.hsl();\n\t\thsl.color[2] -= hsl.color[2] * ratio;\n\t\treturn hsl;\n\t},\n\n\tsaturate: function (ratio) {\n\t\tvar hsl = this.hsl();\n\t\thsl.color[1] += hsl.color[1] * ratio;\n\t\treturn hsl;\n\t},\n\n\tdesaturate: function (ratio) {\n\t\tvar hsl = this.hsl();\n\t\thsl.color[1] -= hsl.color[1] * ratio;\n\t\treturn hsl;\n\t},\n\n\twhiten: function (ratio) {\n\t\tvar hwb = this.hwb();\n\t\thwb.color[1] += hwb.color[1] * ratio;\n\t\treturn hwb;\n\t},\n\n\tblacken: function (ratio) {\n\t\tvar hwb = this.hwb();\n\t\thwb.color[2] += hwb.color[2] * ratio;\n\t\treturn hwb;\n\t},\n\n\tgrayscale: function () {\n\t\t// http://en.wikipedia.org/wiki/Grayscale#Converting_color_to_grayscale\n\t\tvar rgb = this.rgb().color;\n\t\tvar val = rgb[0] * 0.3 + rgb[1] * 0.59 + rgb[2] * 0.11;\n\t\treturn Color.rgb(val, val, val);\n\t},\n\n\tfade: function (ratio) {\n\t\treturn this.alpha(this.valpha - (this.valpha * ratio));\n\t},\n\n\topaquer: function (ratio) {\n\t\treturn this.alpha(this.valpha + (this.valpha * ratio));\n\t},\n\n\trotate: function (degrees) {\n\t\tvar hsl = this.hsl();\n\t\tvar hue = hsl.color[0];\n\t\thue = (hue + degrees) % 360;\n\t\thue = hue < 0 ? 360 + hue : hue;\n\t\thsl.color[0] = hue;\n\t\treturn hsl;\n\t},\n\n\tmix: function (mixinColor, weight) {\n\t\t// ported from sass implementation in C\n\t\t// https://github.com/sass/libsass/blob/0e6b4a2850092356aa3ece07c6b249f0221caced/functions.cpp#L209\n\t\tif (!mixinColor || !mixinColor.rgb) {\n\t\t\tthrow new Error('Argument to \"mix\" was not a Color instance, but rather an instance of ' + typeof mixinColor);\n\t\t}\n\t\tvar color1 = mixinColor.rgb();\n\t\tvar color2 = this.rgb();\n\t\tvar p = weight === undefined ? 0.5 : weight;\n\n\t\tvar w = 2 * p - 1;\n\t\tvar a = color1.alpha() - color2.alpha();\n\n\t\tvar w1 = (((w * a === -1) ? w : (w + a) / (1 + w * a)) + 1) / 2.0;\n\t\tvar w2 = 1 - w1;\n\n\t\treturn Color.rgb(\n\t\t\t\tw1 * color1.red() + w2 * color2.red(),\n\t\t\t\tw1 * color1.green() + w2 * color2.green(),\n\t\t\t\tw1 * color1.blue() + w2 * color2.blue(),\n\t\t\t\tcolor1.alpha() * p + color2.alpha() * (1 - p));\n\t}\n};\n\n// model conversion methods and static constructors\nObject.keys(convert).forEach(function (model) {\n\tif (skippedModels.indexOf(model) !== -1) {\n\t\treturn;\n\t}\n\n\tvar channels = convert[model].channels;\n\n\t// conversion methods\n\tColor.prototype[model] = function () {\n\t\tif (this.model === model) {\n\t\t\treturn new Color(this);\n\t\t}\n\n\t\tif (arguments.length) {\n\t\t\treturn new Color(arguments, model);\n\t\t}\n\n\t\tvar newAlpha = typeof arguments[channels] === 'number' ? channels : this.valpha;\n\t\treturn new Color(assertArray(convert[this.model][model].raw(this.color)).concat(newAlpha), model);\n\t};\n\n\t// 'static' construction methods\n\tColor[model] = function (color) {\n\t\tif (typeof color === 'number') {\n\t\t\tcolor = zeroArray(_slice.call(arguments), channels);\n\t\t}\n\t\treturn new Color(color, model);\n\t};\n});\n\nfunction roundTo(num, places) {\n\treturn Number(num.toFixed(places));\n}\n\nfunction roundToPlace(places) {\n\treturn function (num) {\n\t\treturn roundTo(num, places);\n\t};\n}\n\nfunction getset(model, channel, modifier) {\n\tmodel = Array.isArray(model) ? model : [model];\n\n\tmodel.forEach(function (m) {\n\t\t(limiters[m] || (limiters[m] = []))[channel] = modifier;\n\t});\n\n\tmodel = model[0];\n\n\treturn function (val) {\n\t\tvar result;\n\n\t\tif (arguments.length) {\n\t\t\tif (modifier) {\n\t\t\t\tval = modifier(val);\n\t\t\t}\n\n\t\t\tresult = this[model]();\n\t\t\tresult.color[channel] = val;\n\t\t\treturn result;\n\t\t}\n\n\t\tresult = this[model]().color[channel];\n\t\tif (modifier) {\n\t\t\tresult = modifier(result);\n\t\t}\n\n\t\treturn result;\n\t};\n}\n\nfunction maxfn(max) {\n\treturn function (v) {\n\t\treturn Math.max(0, Math.min(max, v));\n\t};\n}\n\nfunction assertArray(val) {\n\treturn Array.isArray(val) ? val : [val];\n}\n\nfunction zeroArray(arr, length) {\n\tfor (var i = 0; i < length; i++) {\n\t\tif (typeof arr[i] !== 'number') {\n\t\t\tarr[i] = 0;\n\t\t}\n\t}\n\n\treturn arr;\n}\n\nmodule.exports = Color;\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\n'use strict';\n\nvar _assign = require('object-assign');\n\n// -- Inlined from fbjs --\n\nvar emptyObject = {};\n\nif (process.env.NODE_ENV !== 'production') {\n Object.freeze(emptyObject);\n}\n\nvar validateFormat = function validateFormat(format) {};\n\nif (process.env.NODE_ENV !== 'production') {\n validateFormat = function validateFormat(format) {\n if (format === undefined) {\n throw new Error('invariant requires an error message argument');\n }\n };\n}\n\nfunction _invariant(condition, format, a, b, c, d, e, f) {\n validateFormat(format);\n\n if (!condition) {\n var error;\n if (format === undefined) {\n error = new Error('Minified exception occurred; use the non-minified dev environment ' + 'for the full error message and additional helpful warnings.');\n } else {\n var args = [a, b, c, d, e, f];\n var argIndex = 0;\n error = new Error(format.replace(/%s/g, function () {\n 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\nvar warning = function(){};\n\nif (process.env.NODE_ENV !== 'production') {\n var printWarning = function printWarning(format) {\n for (var _len = arguments.length, args = Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n args[_key - 1] = arguments[_key];\n }\n\n var argIndex = 0;\n var message = 'Warning: ' + format.replace(/%s/g, function () {\n return args[argIndex++];\n });\n if (typeof console !== 'undefined') {\n console.error(message);\n }\n try {\n // --- Welcome to debugging React ---\n // This error was thrown as a convenience so that you can use this stack\n // to find the callsite that caused this warning to fire.\n throw new Error(message);\n } catch (x) {}\n };\n\n warning = function warning(condition, format) {\n if (format === undefined) {\n throw new Error('`warning(condition, format, ...args)` requires a warning ' + 'message argument');\n }\n\n if (format.indexOf('Failed Composite propType: ') === 0) {\n return; // Ignore CompositeComponent proptype check.\n }\n\n if (!condition) {\n for (var _len2 = arguments.length, args = Array(_len2 > 2 ? _len2 - 2 : 0), _key2 = 2; _key2 < _len2; _key2++) {\n args[_key2 - 2] = arguments[_key2];\n }\n\n printWarning.apply(undefined, [format].concat(args));\n }\n };\n}\n\n// /-- Inlined from fbjs --\n\nvar MIXINS_KEY = 'mixins';\n\n// Helper function to allow the creation of anonymous functions which do not\n// have .name set to the name of the variable being assigned to.\nfunction identity(fn) {\n return fn;\n}\n\nvar ReactPropTypeLocationNames;\nif (process.env.NODE_ENV !== 'production') {\n ReactPropTypeLocationNames = {\n prop: 'prop',\n context: 'context',\n childContext: 'child context'\n };\n} else {\n ReactPropTypeLocationNames = {};\n}\n\nfunction factory(ReactComponent, isValidElement, ReactNoopUpdateQueue) {\n /**\n * Policies that describe methods in `ReactClassInterface`.\n */\n\n var injectedMixins = [];\n\n /**\n * Composite components are higher-level components that compose other composite\n * or host components.\n *\n * To create a new type of `ReactClass`, pass a specification of\n * your new class to `React.createClass`. The only requirement of your class\n * specification is that you implement a `render` method.\n *\n * var MyComponent = React.createClass({\n * render: function() {\n * return
Hello World
;\n * }\n * });\n *\n * The class specification supports a specific protocol of methods that have\n * special meaning (e.g. `render`). See `ReactClassInterface` for\n * more the comprehensive protocol. Any other properties and methods in the\n * class specification will be available on the prototype.\n *\n * @interface ReactClassInterface\n * @internal\n */\n var ReactClassInterface = {\n /**\n * An array of Mixin objects to include when defining your component.\n *\n * @type {array}\n * @optional\n */\n mixins: 'DEFINE_MANY',\n\n /**\n * An object containing properties and methods that should be defined on\n * the component's constructor instead of its prototype (static methods).\n *\n * @type {object}\n * @optional\n */\n statics: 'DEFINE_MANY',\n\n /**\n * Definition of prop types for this component.\n *\n * @type {object}\n * @optional\n */\n propTypes: 'DEFINE_MANY',\n\n /**\n * Definition of context types for this component.\n *\n * @type {object}\n * @optional\n */\n contextTypes: 'DEFINE_MANY',\n\n /**\n * Definition of context types this component sets for its children.\n *\n * @type {object}\n * @optional\n */\n childContextTypes: 'DEFINE_MANY',\n\n // ==== Definition methods ====\n\n /**\n * Invoked when the component is mounted. Values in the mapping will be set on\n * `this.props` if that prop is not specified (i.e. using an `in` check).\n *\n * This method is invoked before `getInitialState` and therefore cannot rely\n * on `this.state` or use `this.setState`.\n *\n * @return {object}\n * @optional\n */\n getDefaultProps: 'DEFINE_MANY_MERGED',\n\n /**\n * Invoked once before the component is mounted. The return value will be used\n * as the initial value of `this.state`.\n *\n * getInitialState: function() {\n * return {\n * isOn: false,\n * fooBaz: new BazFoo()\n * }\n * }\n *\n * @return {object}\n * @optional\n */\n getInitialState: 'DEFINE_MANY_MERGED',\n\n /**\n * @return {object}\n * @optional\n */\n getChildContext: 'DEFINE_MANY_MERGED',\n\n /**\n * Uses props from `this.props` and state from `this.state` to render the\n * structure of the component.\n *\n * No guarantees are made about when or how often this method is invoked, so\n * it must not have side effects.\n *\n * render: function() {\n * var name = this.props.name;\n * return
Hello, {name}!
;\n * }\n *\n * @return {ReactComponent}\n * @required\n */\n render: 'DEFINE_ONCE',\n\n // ==== Delegate methods ====\n\n /**\n * Invoked when the component is initially created and about to be mounted.\n * This may have side effects, but any external subscriptions or data created\n * by this method must be cleaned up in `componentWillUnmount`.\n *\n * @optional\n */\n componentWillMount: 'DEFINE_MANY',\n\n /**\n * Invoked when the component has been mounted and has a DOM representation.\n * However, there is no guarantee that the DOM node is in the document.\n *\n * Use this as an opportunity to operate on the DOM when the component has\n * been mounted (initialized and rendered) for the first time.\n *\n * @param {DOMElement} rootNode DOM element representing the component.\n * @optional\n */\n componentDidMount: 'DEFINE_MANY',\n\n /**\n * Invoked before the component receives new props.\n *\n * Use this as an opportunity to react to a prop transition by updating the\n * state using `this.setState`. Current props are accessed via `this.props`.\n *\n * componentWillReceiveProps: function(nextProps, nextContext) {\n * this.setState({\n * likesIncreasing: nextProps.likeCount > this.props.likeCount\n * });\n * }\n *\n * NOTE: There is no equivalent `componentWillReceiveState`. An incoming prop\n * transition may cause a state change, but the opposite is not true. If you\n * need it, you are probably looking for `componentWillUpdate`.\n *\n * @param {object} nextProps\n * @optional\n */\n componentWillReceiveProps: 'DEFINE_MANY',\n\n /**\n * Invoked while deciding if the component should be updated as a result of\n * receiving new props, state and/or context.\n *\n * Use this as an opportunity to `return false` when you're certain that the\n * transition to the new props/state/context will not require a component\n * update.\n *\n * shouldComponentUpdate: function(nextProps, nextState, nextContext) {\n * return !equal(nextProps, this.props) ||\n * !equal(nextState, this.state) ||\n * !equal(nextContext, this.context);\n * }\n *\n * @param {object} nextProps\n * @param {?object} nextState\n * @param {?object} nextContext\n * @return {boolean} True if the component should update.\n * @optional\n */\n shouldComponentUpdate: 'DEFINE_ONCE',\n\n /**\n * Invoked when the component is about to update due to a transition from\n * `this.props`, `this.state` and `this.context` to `nextProps`, `nextState`\n * and `nextContext`.\n *\n * Use this as an opportunity to perform preparation before an update occurs.\n *\n * NOTE: You **cannot** use `this.setState()` in this method.\n *\n * @param {object} nextProps\n * @param {?object} nextState\n * @param {?object} nextContext\n * @param {ReactReconcileTransaction} transaction\n * @optional\n */\n componentWillUpdate: 'DEFINE_MANY',\n\n /**\n * Invoked when the component's DOM representation has been updated.\n *\n * Use this as an opportunity to operate on the DOM when the component has\n * been updated.\n *\n * @param {object} prevProps\n * @param {?object} prevState\n * @param {?object} prevContext\n * @param {DOMElement} rootNode DOM element representing the component.\n * @optional\n */\n componentDidUpdate: 'DEFINE_MANY',\n\n /**\n * Invoked when the component is about to be removed from its parent and have\n * its DOM representation destroyed.\n *\n * Use this as an opportunity to deallocate any external resources.\n *\n * NOTE: There is no `componentDidUnmount` since your component will have been\n * destroyed by that point.\n *\n * @optional\n */\n componentWillUnmount: 'DEFINE_MANY',\n\n /**\n * Replacement for (deprecated) `componentWillMount`.\n *\n * @optional\n */\n UNSAFE_componentWillMount: 'DEFINE_MANY',\n\n /**\n * Replacement for (deprecated) `componentWillReceiveProps`.\n *\n * @optional\n */\n UNSAFE_componentWillReceiveProps: 'DEFINE_MANY',\n\n /**\n * Replacement for (deprecated) `componentWillUpdate`.\n *\n * @optional\n */\n UNSAFE_componentWillUpdate: 'DEFINE_MANY',\n\n // ==== Advanced methods ====\n\n /**\n * Updates the component's currently mounted DOM representation.\n *\n * By default, this implements React's rendering and reconciliation algorithm.\n * Sophisticated clients may wish to override this.\n *\n * @param {ReactReconcileTransaction} transaction\n * @internal\n * @overridable\n */\n updateComponent: 'OVERRIDE_BASE'\n };\n\n /**\n * Similar to ReactClassInterface but for static methods.\n */\n var ReactClassStaticInterface = {\n /**\n * This method is invoked after a component is instantiated and when it\n * receives new props. Return an object to update state in response to\n * prop changes. Return null to indicate no change to state.\n *\n * If an object is returned, its keys will be merged into the existing state.\n *\n * @return {object || null}\n * @optional\n */\n getDerivedStateFromProps: 'DEFINE_MANY_MERGED'\n };\n\n /**\n * Mapping from class specification keys to special processing functions.\n *\n * Although these are declared like instance properties in the specification\n * when defining classes using `React.createClass`, they are actually static\n * and are accessible on the constructor instead of the prototype. Despite\n * being static, they must be defined outside of the \"statics\" key under\n * which all other static methods are defined.\n */\n var RESERVED_SPEC_KEYS = {\n displayName: function(Constructor, displayName) {\n Constructor.displayName = displayName;\n },\n mixins: function(Constructor, mixins) {\n if (mixins) {\n for (var i = 0; i < mixins.length; i++) {\n mixSpecIntoComponent(Constructor, mixins[i]);\n }\n }\n },\n childContextTypes: function(Constructor, childContextTypes) {\n if (process.env.NODE_ENV !== 'production') {\n validateTypeDef(Constructor, childContextTypes, 'childContext');\n }\n Constructor.childContextTypes = _assign(\n {},\n Constructor.childContextTypes,\n childContextTypes\n );\n },\n contextTypes: function(Constructor, contextTypes) {\n if (process.env.NODE_ENV !== 'production') {\n validateTypeDef(Constructor, contextTypes, 'context');\n }\n Constructor.contextTypes = _assign(\n {},\n Constructor.contextTypes,\n contextTypes\n );\n },\n /**\n * Special case getDefaultProps which should move into statics but requires\n * automatic merging.\n */\n getDefaultProps: function(Constructor, getDefaultProps) {\n if (Constructor.getDefaultProps) {\n Constructor.getDefaultProps = createMergedResultFunction(\n Constructor.getDefaultProps,\n getDefaultProps\n );\n } else {\n Constructor.getDefaultProps = getDefaultProps;\n }\n },\n propTypes: function(Constructor, propTypes) {\n if (process.env.NODE_ENV !== 'production') {\n validateTypeDef(Constructor, propTypes, 'prop');\n }\n Constructor.propTypes = _assign({}, Constructor.propTypes, propTypes);\n },\n statics: function(Constructor, statics) {\n mixStaticSpecIntoComponent(Constructor, statics);\n },\n autobind: function() {}\n };\n\n function validateTypeDef(Constructor, typeDef, location) {\n for (var propName in typeDef) {\n if (typeDef.hasOwnProperty(propName)) {\n // use a warning instead of an _invariant so components\n // don't show up in prod but only in __DEV__\n if (process.env.NODE_ENV !== 'production') {\n warning(\n typeof typeDef[propName] === 'function',\n '%s: %s type `%s` is invalid; it must be a function, usually from ' +\n 'React.PropTypes.',\n Constructor.displayName || 'ReactClass',\n ReactPropTypeLocationNames[location],\n propName\n );\n }\n }\n }\n }\n\n function validateMethodOverride(isAlreadyDefined, name) {\n var specPolicy = ReactClassInterface.hasOwnProperty(name)\n ? ReactClassInterface[name]\n : null;\n\n // Disallow overriding of base class methods unless explicitly allowed.\n if (ReactClassMixin.hasOwnProperty(name)) {\n _invariant(\n specPolicy === 'OVERRIDE_BASE',\n 'ReactClassInterface: You are attempting to override ' +\n '`%s` from your class specification. Ensure that your method names ' +\n 'do not overlap with React methods.',\n name\n );\n }\n\n // Disallow defining methods more than once unless explicitly allowed.\n if (isAlreadyDefined) {\n _invariant(\n specPolicy === 'DEFINE_MANY' || specPolicy === 'DEFINE_MANY_MERGED',\n 'ReactClassInterface: You are attempting to define ' +\n '`%s` on your component more than once. This conflict may be due ' +\n 'to a mixin.',\n name\n );\n }\n }\n\n /**\n * Mixin helper which handles policy validation and reserved\n * specification keys when building React classes.\n */\n function mixSpecIntoComponent(Constructor, spec) {\n if (!spec) {\n if (process.env.NODE_ENV !== 'production') {\n var typeofSpec = typeof spec;\n var isMixinValid = typeofSpec === 'object' && spec !== null;\n\n if (process.env.NODE_ENV !== 'production') {\n warning(\n isMixinValid,\n \"%s: You're attempting to include a mixin that is either null \" +\n 'or not an object. Check the mixins included by the component, ' +\n 'as well as any mixins they include themselves. ' +\n 'Expected object but got %s.',\n Constructor.displayName || 'ReactClass',\n spec === null ? null : typeofSpec\n );\n }\n }\n\n return;\n }\n\n _invariant(\n typeof spec !== 'function',\n \"ReactClass: You're attempting to \" +\n 'use a component class or function as a mixin. Instead, just use a ' +\n 'regular object.'\n );\n _invariant(\n !isValidElement(spec),\n \"ReactClass: You're attempting to \" +\n 'use a component as a mixin. Instead, just use a regular object.'\n );\n\n var proto = Constructor.prototype;\n var autoBindPairs = proto.__reactAutoBindPairs;\n\n // By handling mixins before any other properties, we ensure the same\n // chaining order is applied to methods with DEFINE_MANY policy, whether\n // mixins are listed before or after these methods in the spec.\n if (spec.hasOwnProperty(MIXINS_KEY)) {\n RESERVED_SPEC_KEYS.mixins(Constructor, spec.mixins);\n }\n\n for (var name in spec) {\n if (!spec.hasOwnProperty(name)) {\n continue;\n }\n\n if (name === MIXINS_KEY) {\n // We have already handled mixins in a special case above.\n continue;\n }\n\n var property = spec[name];\n var isAlreadyDefined = proto.hasOwnProperty(name);\n validateMethodOverride(isAlreadyDefined, name);\n\n if (RESERVED_SPEC_KEYS.hasOwnProperty(name)) {\n RESERVED_SPEC_KEYS[name](Constructor, property);\n } else {\n // Setup methods on prototype:\n // The following member methods should not be automatically bound:\n // 1. Expected ReactClass methods (in the \"interface\").\n // 2. Overridden methods (that were mixed in).\n var isReactClassMethod = ReactClassInterface.hasOwnProperty(name);\n var isFunction = typeof property === 'function';\n var shouldAutoBind =\n isFunction &&\n !isReactClassMethod &&\n !isAlreadyDefined &&\n spec.autobind !== false;\n\n if (shouldAutoBind) {\n autoBindPairs.push(name, property);\n proto[name] = property;\n } else {\n if (isAlreadyDefined) {\n var specPolicy = ReactClassInterface[name];\n\n // These cases should already be caught by validateMethodOverride.\n _invariant(\n isReactClassMethod &&\n (specPolicy === 'DEFINE_MANY_MERGED' ||\n specPolicy === 'DEFINE_MANY'),\n 'ReactClass: Unexpected spec policy %s for key %s ' +\n 'when mixing in component specs.',\n specPolicy,\n name\n );\n\n // For methods which are defined more than once, call the existing\n // methods before calling the new property, merging if appropriate.\n if (specPolicy === 'DEFINE_MANY_MERGED') {\n proto[name] = createMergedResultFunction(proto[name], property);\n } else if (specPolicy === 'DEFINE_MANY') {\n proto[name] = createChainedFunction(proto[name], property);\n }\n } else {\n proto[name] = property;\n if (process.env.NODE_ENV !== 'production') {\n // Add verbose displayName to the function, which helps when looking\n // at profiling tools.\n if (typeof property === 'function' && spec.displayName) {\n proto[name].displayName = spec.displayName + '_' + name;\n }\n }\n }\n }\n }\n }\n }\n\n function mixStaticSpecIntoComponent(Constructor, statics) {\n if (!statics) {\n return;\n }\n\n for (var name in statics) {\n var property = statics[name];\n if (!statics.hasOwnProperty(name)) {\n continue;\n }\n\n var isReserved = name in RESERVED_SPEC_KEYS;\n _invariant(\n !isReserved,\n 'ReactClass: You are attempting to define a reserved ' +\n 'property, `%s`, that shouldn\\'t be on the \"statics\" key. Define it ' +\n 'as an instance property instead; it will still be accessible on the ' +\n 'constructor.',\n name\n );\n\n var isAlreadyDefined = name in Constructor;\n if (isAlreadyDefined) {\n var specPolicy = ReactClassStaticInterface.hasOwnProperty(name)\n ? ReactClassStaticInterface[name]\n : null;\n\n _invariant(\n specPolicy === 'DEFINE_MANY_MERGED',\n 'ReactClass: You are attempting to define ' +\n '`%s` on your component more than once. This conflict may be ' +\n 'due to a mixin.',\n name\n );\n\n Constructor[name] = createMergedResultFunction(Constructor[name], property);\n\n return;\n }\n\n Constructor[name] = property;\n }\n }\n\n /**\n * Merge two objects, but throw if both contain the same key.\n *\n * @param {object} one The first object, which is mutated.\n * @param {object} two The second object\n * @return {object} one after it has been mutated to contain everything in two.\n */\n function mergeIntoWithNoDuplicateKeys(one, two) {\n _invariant(\n one && two && typeof one === 'object' && typeof two === 'object',\n 'mergeIntoWithNoDuplicateKeys(): Cannot merge non-objects.'\n );\n\n for (var key in two) {\n if (two.hasOwnProperty(key)) {\n _invariant(\n one[key] === undefined,\n 'mergeIntoWithNoDuplicateKeys(): ' +\n 'Tried to merge two objects with the same key: `%s`. This conflict ' +\n 'may be due to a mixin; in particular, this may be caused by two ' +\n 'getInitialState() or getDefaultProps() methods returning objects ' +\n 'with clashing keys.',\n key\n );\n one[key] = two[key];\n }\n }\n return one;\n }\n\n /**\n * Creates a function that invokes two functions and merges their return values.\n *\n * @param {function} one Function to invoke first.\n * @param {function} two Function to invoke second.\n * @return {function} Function that invokes the two argument functions.\n * @private\n */\n function createMergedResultFunction(one, two) {\n return function mergedResult() {\n var a = one.apply(this, arguments);\n var b = two.apply(this, arguments);\n if (a == null) {\n return b;\n } else if (b == null) {\n return a;\n }\n var c = {};\n mergeIntoWithNoDuplicateKeys(c, a);\n mergeIntoWithNoDuplicateKeys(c, b);\n return c;\n };\n }\n\n /**\n * Creates a function that invokes two functions and ignores their return vales.\n *\n * @param {function} one Function to invoke first.\n * @param {function} two Function to invoke second.\n * @return {function} Function that invokes the two argument functions.\n * @private\n */\n function createChainedFunction(one, two) {\n return function chainedFunction() {\n one.apply(this, arguments);\n two.apply(this, arguments);\n };\n }\n\n /**\n * Binds a method to the component.\n *\n * @param {object} component Component whose method is going to be bound.\n * @param {function} method Method to be bound.\n * @return {function} The bound method.\n */\n function bindAutoBindMethod(component, method) {\n var boundMethod = method.bind(component);\n if (process.env.NODE_ENV !== 'production') {\n boundMethod.__reactBoundContext = component;\n boundMethod.__reactBoundMethod = method;\n boundMethod.__reactBoundArguments = null;\n var componentName = component.constructor.displayName;\n var _bind = boundMethod.bind;\n boundMethod.bind = function(newThis) {\n for (\n var _len = arguments.length,\n args = Array(_len > 1 ? _len - 1 : 0),\n _key = 1;\n _key < _len;\n _key++\n ) {\n args[_key - 1] = arguments[_key];\n }\n\n // User is trying to bind() an autobound method; we effectively will\n // ignore the value of \"this\" that the user is trying to use, so\n // let's warn.\n if (newThis !== component && newThis !== null) {\n if (process.env.NODE_ENV !== 'production') {\n warning(\n false,\n 'bind(): React component methods may only be bound to the ' +\n 'component instance. See %s',\n componentName\n );\n }\n } else if (!args.length) {\n if (process.env.NODE_ENV !== 'production') {\n warning(\n false,\n 'bind(): You are binding a component method to the component. ' +\n 'React does this for you automatically in a high-performance ' +\n 'way, so you can safely remove this call. See %s',\n componentName\n );\n }\n return boundMethod;\n }\n var reboundMethod = _bind.apply(boundMethod, arguments);\n reboundMethod.__reactBoundContext = component;\n reboundMethod.__reactBoundMethod = method;\n reboundMethod.__reactBoundArguments = args;\n return reboundMethod;\n };\n }\n return boundMethod;\n }\n\n /**\n * Binds all auto-bound methods in a component.\n *\n * @param {object} component Component whose method is going to be bound.\n */\n function bindAutoBindMethods(component) {\n var pairs = component.__reactAutoBindPairs;\n for (var i = 0; i < pairs.length; i += 2) {\n var autoBindKey = pairs[i];\n var method = pairs[i + 1];\n component[autoBindKey] = bindAutoBindMethod(component, method);\n }\n }\n\n var IsMountedPreMixin = {\n componentDidMount: function() {\n this.__isMounted = true;\n }\n };\n\n var IsMountedPostMixin = {\n componentWillUnmount: function() {\n this.__isMounted = false;\n }\n };\n\n /**\n * Add more to the ReactClass base class. These are all legacy features and\n * therefore not already part of the modern ReactComponent.\n */\n var ReactClassMixin = {\n /**\n * TODO: This will be deprecated because state should always keep a consistent\n * type signature and the only use case for this, is to avoid that.\n */\n replaceState: function(newState, callback) {\n this.updater.enqueueReplaceState(this, newState, callback);\n },\n\n /**\n * Checks whether or not this composite component is mounted.\n * @return {boolean} True if mounted, false otherwise.\n * @protected\n * @final\n */\n isMounted: function() {\n if (process.env.NODE_ENV !== 'production') {\n warning(\n this.__didWarnIsMounted,\n '%s: isMounted is deprecated. Instead, make sure to clean up ' +\n 'subscriptions and pending requests in componentWillUnmount to ' +\n 'prevent memory leaks.',\n (this.constructor && this.constructor.displayName) ||\n this.name ||\n 'Component'\n );\n this.__didWarnIsMounted = true;\n }\n return !!this.__isMounted;\n }\n };\n\n var ReactClassComponent = function() {};\n _assign(\n ReactClassComponent.prototype,\n ReactComponent.prototype,\n ReactClassMixin\n );\n\n /**\n * Creates a composite component class given a class specification.\n * See https://facebook.github.io/react/docs/top-level-api.html#react.createclass\n *\n * @param {object} spec Class specification (which must define `render`).\n * @return {function} Component constructor function.\n * @public\n */\n function createClass(spec) {\n // To keep our warnings more understandable, we'll use a little hack here to\n // ensure that Constructor.name !== 'Constructor'. This makes sure we don't\n // unnecessarily identify a class without displayName as 'Constructor'.\n var Constructor = identity(function(props, context, updater) {\n // This constructor gets overridden by mocks. The argument is used\n // by mocks to assert on what gets mounted.\n\n if (process.env.NODE_ENV !== 'production') {\n warning(\n this instanceof Constructor,\n 'Something is calling a React component directly. Use a factory or ' +\n 'JSX instead. See: https://fb.me/react-legacyfactory'\n );\n }\n\n // Wire up auto-binding\n if (this.__reactAutoBindPairs.length) {\n bindAutoBindMethods(this);\n }\n\n this.props = props;\n this.context = context;\n this.refs = emptyObject;\n this.updater = updater || ReactNoopUpdateQueue;\n\n this.state = null;\n\n // ReactClasses doesn't have constructors. Instead, they use the\n // getInitialState and componentWillMount methods for initialization.\n\n var initialState = this.getInitialState ? this.getInitialState() : null;\n if (process.env.NODE_ENV !== 'production') {\n // We allow auto-mocks to proceed as if they're returning null.\n if (\n initialState === undefined &&\n this.getInitialState._isMockFunction\n ) {\n // This is probably bad practice. Consider warning here and\n // deprecating this convenience.\n initialState = null;\n }\n }\n _invariant(\n typeof initialState === 'object' && !Array.isArray(initialState),\n '%s.getInitialState(): must return an object or null',\n Constructor.displayName || 'ReactCompositeComponent'\n );\n\n this.state = initialState;\n });\n Constructor.prototype = new ReactClassComponent();\n Constructor.prototype.constructor = Constructor;\n Constructor.prototype.__reactAutoBindPairs = [];\n\n injectedMixins.forEach(mixSpecIntoComponent.bind(null, Constructor));\n\n mixSpecIntoComponent(Constructor, IsMountedPreMixin);\n mixSpecIntoComponent(Constructor, spec);\n mixSpecIntoComponent(Constructor, IsMountedPostMixin);\n\n // Initialize the defaultProps property after all mixins have been merged.\n if (Constructor.getDefaultProps) {\n Constructor.defaultProps = Constructor.getDefaultProps();\n }\n\n if (process.env.NODE_ENV !== 'production') {\n // This is a tag to indicate that the use of these method names is ok,\n // since it's used with createClass. If it's not, then it's likely a\n // mistake so we'll warn you to use the static property, property\n // initializer or constructor respectively.\n if (Constructor.getDefaultProps) {\n Constructor.getDefaultProps.isReactClassApproved = {};\n }\n if (Constructor.prototype.getInitialState) {\n Constructor.prototype.getInitialState.isReactClassApproved = {};\n }\n }\n\n _invariant(\n Constructor.prototype.render,\n 'createClass(...): Class specification must implement a `render` method.'\n );\n\n if (process.env.NODE_ENV !== 'production') {\n warning(\n !Constructor.prototype.componentShouldUpdate,\n '%s has a method called ' +\n 'componentShouldUpdate(). Did you mean shouldComponentUpdate()? ' +\n 'The name is phrased as a question because the function is ' +\n 'expected to return a value.',\n spec.displayName || 'A component'\n );\n warning(\n !Constructor.prototype.componentWillRecieveProps,\n '%s has a method called ' +\n 'componentWillRecieveProps(). Did you mean componentWillReceiveProps()?',\n spec.displayName || 'A component'\n );\n warning(\n !Constructor.prototype.UNSAFE_componentWillRecieveProps,\n '%s has a method called UNSAFE_componentWillRecieveProps(). ' +\n 'Did you mean UNSAFE_componentWillReceiveProps()?',\n spec.displayName || 'A component'\n );\n }\n\n // Reduce time spent doing lookups by setting these on the prototype.\n for (var methodName in ReactClassInterface) {\n if (!Constructor.prototype[methodName]) {\n Constructor.prototype[methodName] = null;\n }\n }\n\n return Constructor;\n }\n\n return createClass;\n}\n\nmodule.exports = factory;\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\n'use strict';\n\nvar React = require('react');\nvar factory = require('./factory');\n\nif (typeof React === 'undefined') {\n throw Error(\n 'create-react-class could not find the React object. If you are using script tags, ' +\n 'make sure that React is being loaded before create-react-class.'\n );\n}\n\n// Hack to grab NoopUpdateQueue from isomorphic React\nvar ReactNoopUpdateQueue = new React.Component().updater;\n\nmodule.exports = factory(\n React.Component,\n React.isValidElement,\n ReactNoopUpdateQueue\n);\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 _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(n); 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\nfunction filterUniqueArray(arr) {\n return arr.filter(function (val, index) {\n return arr.lastIndexOf(val) === index;\n });\n}\n\nexport default function assignStyle(base) {\n for (var i = 0, len = arguments.length <= 1 ? 0 : arguments.length - 1; i < len; ++i) {\n var style = i + 1 < 1 || arguments.length <= i + 1 ? undefined : arguments[i + 1];\n\n for (var property in style) {\n var value = style[property];\n var baseValue = base[property];\n\n if (baseValue && value) {\n if (Array.isArray(baseValue)) {\n base[property] = filterUniqueArray(baseValue.concat(value));\n continue;\n }\n\n if (Array.isArray(value)) {\n base[property] = filterUniqueArray([baseValue].concat(_toConsumableArray(value)));\n continue;\n }\n\n if (_typeof(value) === 'object') {\n base[property] = assignStyle({}, baseValue, value);\n continue;\n }\n }\n\n base[property] = value;\n }\n }\n\n return base;\n}","var DASH = /-([a-z])/g;\nvar MS = /^Ms/g;\nvar cache = {};\n\nfunction toUpper(match) {\n return match[1].toUpperCase();\n}\n\nexport default function camelCaseProperty(property) {\n if (cache.hasOwnProperty(property)) {\n return cache[property];\n }\n\n var camelProp = property.replace(DASH, toUpper).replace(MS, 'ms');\n cache[property] = camelProp;\n return camelProp;\n}","import hyphenateProperty from './hyphenateProperty';\nexport default function cssifyDeclaration(property, value) {\n return hyphenateProperty(property) + ':' + value;\n}","import cssifyDeclaration from './cssifyDeclaration';\nexport default function cssifyObject(style) {\n var css = '';\n\n for (var property in style) {\n var value = style[property];\n\n if (typeof value !== 'string' && typeof value !== 'number') {\n continue;\n } // prevents the semicolon after\n // the last rule declaration\n\n\n if (css) {\n css += ';';\n }\n\n css += cssifyDeclaration(property, value);\n }\n\n return css;\n}","import hyphenateStyleName from 'hyphenate-style-name';\nexport default function hyphenateProperty(property) {\n return hyphenateStyleName(property);\n}","var RE = /^(Webkit|Moz|O|ms)/;\nexport default function isPrefixedProperty(property) {\n return RE.test(property);\n}","var RE = /-webkit-|-moz-|-ms-/;\nexport default function isPrefixedValue(value) {\n return typeof value === 'string' && RE.test(value);\n}","import hyphenateProperty from './hyphenateProperty';\nvar unitlessProperties = {\n borderImageOutset: true,\n borderImageSlice: true,\n borderImageWidth: true,\n fontWeight: true,\n lineHeight: true,\n opacity: true,\n orphans: true,\n tabSize: true,\n widows: true,\n zIndex: true,\n zoom: true,\n // SVG-related properties\n fillOpacity: true,\n floodOpacity: true,\n stopOpacity: true,\n strokeDasharray: true,\n strokeDashoffset: true,\n strokeMiterlimit: true,\n strokeOpacity: true,\n strokeWidth: true\n};\nvar prefixedUnitlessProperties = ['animationIterationCount', 'boxFlex', 'boxFlexGroup', 'boxOrdinalGroup', 'columnCount', 'flex', 'flexGrow', 'flexPositive', 'flexShrink', 'flexNegative', 'flexOrder', 'gridColumn', 'gridColumnEnd', 'gridColumnStart', 'gridRow', 'gridRowEnd', 'gridRowStart', 'lineClamp', 'order'];\nvar prefixes = ['Webkit', 'ms', 'Moz', 'O'];\n\nfunction getPrefixedProperty(prefix, property) {\n return prefix + property.charAt(0).toUpperCase() + property.slice(1);\n} // add all prefixed properties to the unitless properties\n\n\nfor (var i = 0, len = prefixedUnitlessProperties.length; i < len; ++i) {\n var property = prefixedUnitlessProperties[i];\n unitlessProperties[property] = true;\n\n for (var j = 0, jLen = prefixes.length; j < jLen; ++j) {\n unitlessProperties[getPrefixedProperty(prefixes[j], property)] = true;\n }\n} // add all hypenated properties as well\n\n\nfor (var _property in unitlessProperties) {\n unitlessProperties[hyphenateProperty(_property)] = true;\n}\n\nexport default function isUnitlessProperty(property) {\n return unitlessProperties.hasOwnProperty(property);\n}","import camelCaseProperty from './camelCaseProperty';\nimport unprefixProperty from './unprefixProperty';\nexport default function normalizeProperty(property) {\n return unprefixProperty(camelCaseProperty(property));\n}","import hyphenateProperty from './hyphenateProperty';\nexport default function resolveArrayValue(property, value) {\n return value.join(';' + hyphenateProperty(property) + ':');\n}","var RE = /^(ms|Webkit|Moz|O)/;\nexport default function unprefixProperty(property) {\n var propertyWithoutPrefix = property.replace(RE, '');\n return propertyWithoutPrefix.charAt(0).toLowerCase() + propertyWithoutPrefix.slice(1);\n}","var RE = /(-ms-|-webkit-|-moz-|-o-)/g;\nexport default function unprefixValue(value) {\n if (typeof value === 'string') {\n return value.replace(RE, '');\n }\n\n return value;\n}","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports[\"default\"] = hyphenateProperty;\n\nvar _hyphenateStyleName = require(\"hyphenate-style-name\");\n\nvar _hyphenateStyleName2 = _interopRequireDefault(_hyphenateStyleName);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction hyphenateProperty(property) {\n return (0, _hyphenateStyleName2[\"default\"])(property);\n}","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports[\"default\"] = isPrefixedValue;\nvar RE = /-webkit-|-moz-|-ms-/;\n\nfunction isPrefixedValue(value) {\n return typeof value === 'string' && RE.test(value);\n}","!function(t,e){\"object\"==typeof exports&&\"undefined\"!=typeof module?module.exports=e():\"function\"==typeof define&&define.amd?define(e):(t=\"undefined\"!=typeof globalThis?globalThis:t||self).dayjs=e()}(this,(function(){\"use strict\";var t=1e3,e=6e4,n=36e5,r=\"millisecond\",i=\"second\",s=\"minute\",u=\"hour\",a=\"day\",o=\"week\",f=\"month\",h=\"quarter\",c=\"year\",d=\"date\",l=\"Invalid Date\",$=/^(\\d{4})[-/]?(\\d{1,2})?[-/]?(\\d{0,2})[Tt\\s]*(\\d{1,2})?:?(\\d{1,2})?:?(\\d{1,2})?[.:]?(\\d+)?$/,y=/\\[([^\\]]+)]|Y{1,4}|M{1,4}|D{1,2}|d{1,4}|H{1,2}|h{1,2}|a|A|m{1,2}|s{1,2}|Z{1,2}|SSS/g,M={name:\"en\",weekdays:\"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday\".split(\"_\"),months:\"January_February_March_April_May_June_July_August_September_October_November_December\".split(\"_\"),ordinal:function(t){var e=[\"th\",\"st\",\"nd\",\"rd\"],n=t%100;return\"[\"+t+(e[(n-20)%10]||e[n]||e[0])+\"]\"}},m=function(t,e,n){var r=String(t);return!r||r.length>=e?t:\"\"+Array(e+1-r.length).join(n)+t},v={s:m,z:function(t){var e=-t.utcOffset(),n=Math.abs(e),r=Math.floor(n/60),i=n%60;return(e<=0?\"+\":\"-\")+m(r,2,\"0\")+\":\"+m(i,2,\"0\")},m:function t(e,n){if(e.date()1)return t(u[0])}else{var a=e.name;D[a]=e,i=a}return!r&&i&&(g=i),i||!r&&g},w=function(t,e){if(p(t))return t.clone();var n=\"object\"==typeof e?e:{};return n.date=t,n.args=arguments,new _(n)},O=v;O.l=S,O.i=p,O.w=function(t,e){return w(t,{locale:e.$L,utc:e.$u,x:e.$x,$offset:e.$offset})};var _=function(){function M(t){this.$L=S(t.locale,null,!0),this.parse(t)}var m=M.prototype;return m.parse=function(t){this.$d=function(t){var e=t.date,n=t.utc;if(null===e)return new Date(NaN);if(O.u(e))return new Date;if(e instanceof Date)return new Date(e);if(\"string\"==typeof e&&!/Z$/i.test(e)){var r=e.match($);if(r){var i=r[2]-1||0,s=(r[7]||\"0\").substring(0,3);return n?new Date(Date.UTC(r[1],i,r[3]||1,r[4]||0,r[5]||0,r[6]||0,s)):new Date(r[1],i,r[3]||1,r[4]||0,r[5]||0,r[6]||0,s)}}return new Date(e)}(t),this.$x=t.x||{},this.init()},m.init=function(){var t=this.$d;this.$y=t.getFullYear(),this.$M=t.getMonth(),this.$D=t.getDate(),this.$W=t.getDay(),this.$H=t.getHours(),this.$m=t.getMinutes(),this.$s=t.getSeconds(),this.$ms=t.getMilliseconds()},m.$utils=function(){return O},m.isValid=function(){return!(this.$d.toString()===l)},m.isSame=function(t,e){var n=w(t);return this.startOf(e)<=n&&n<=this.endOf(e)},m.isAfter=function(t,e){return w(t)68?1900:2e3)};var a=function(e){return function(t){this[e]=+t}},f=[/[+-]\\d\\d:?(\\d\\d)?|Z/,function(e){(this.zone||(this.zone={})).offset=function(e){if(!e)return 0;if(\"Z\"===e)return 0;var t=e.match(/([+-]|\\d\\d)/g),n=60*t[1]+(+t[2]||0);return 0===n?0:\"+\"===t[0]?-n:n}(e)}],h=function(e){var t=o[e];return t&&(t.indexOf?t:t.s.concat(t.f))},u=function(e,t){var n,r=o.meridiem;if(r){for(var i=1;i<=24;i+=1)if(e.indexOf(r(i,0,t))>-1){n=i>12;break}}else n=e===(t?\"pm\":\"PM\");return n},d={A:[i,function(e){this.afternoon=u(e,!1)}],a:[i,function(e){this.afternoon=u(e,!0)}],S:[/\\d/,function(e){this.milliseconds=100*+e}],SS:[n,function(e){this.milliseconds=10*+e}],SSS:[/\\d{3}/,function(e){this.milliseconds=+e}],s:[r,a(\"seconds\")],ss:[r,a(\"seconds\")],m:[r,a(\"minutes\")],mm:[r,a(\"minutes\")],H:[r,a(\"hours\")],h:[r,a(\"hours\")],HH:[r,a(\"hours\")],hh:[r,a(\"hours\")],D:[r,a(\"day\")],DD:[n,a(\"day\")],Do:[i,function(e){var t=o.ordinal,n=e.match(/\\d+/);if(this.day=n[0],t)for(var r=1;r<=31;r+=1)t(r).replace(/\\[|\\]/g,\"\")===e&&(this.day=r)}],M:[r,a(\"month\")],MM:[n,a(\"month\")],MMM:[i,function(e){var t=h(\"months\"),n=(h(\"monthsShort\")||t.map((function(e){return e.slice(0,3)}))).indexOf(e)+1;if(n<1)throw new Error;this.month=n%12||n}],MMMM:[i,function(e){var t=h(\"months\").indexOf(e)+1;if(t<1)throw new Error;this.month=t%12||t}],Y:[/[+-]?\\d+/,a(\"year\")],YY:[n,function(e){this.year=s(e)}],YYYY:[/\\d{4}/,a(\"year\")],Z:f,ZZ:f};function c(n){var r,i;r=n,i=o&&o.formats;for(var s=(n=r.replace(/(\\[[^\\]]+])|(LTS?|l{1,4}|L{1,4})/g,(function(t,n,r){var o=r&&r.toUpperCase();return n||i[r]||e[r]||i[o].replace(/(\\[[^\\]]+])|(MMMM|MM|DD|dddd)/g,(function(e,t,n){return t||n.slice(1)}))}))).match(t),a=s.length,f=0;f-1)return new Date((\"X\"===t?1e3:1)*e);var r=c(t)(e),i=r.year,o=r.month,s=r.day,a=r.hours,f=r.minutes,h=r.seconds,u=r.milliseconds,d=r.zone,l=new Date,m=s||(i||o?1:l.getDate()),M=i||l.getFullYear(),Y=0;i&&!o||(Y=o>0?o-1:l.getMonth());var p=a||0,v=f||0,D=h||0,g=u||0;return d?new Date(Date.UTC(M,Y,m,p,v,D,g+60*d.offset*1e3)):n?new Date(Date.UTC(M,Y,m,p,v,D,g)):new Date(M,Y,m,p,v,D,g)}catch(e){return new Date(\"\")}}(t,a,r),this.init(),d&&!0!==d&&(this.$L=this.locale(d).$L),u&&t!=this.format(a)&&(this.$d=new Date(\"\")),o={}}else if(a instanceof Array)for(var l=a.length,m=1;m<=l;m+=1){s[1]=a[m-1];var M=n.apply(this,s);if(M.isValid()){this.$d=M.$d,this.$L=M.$L,this.init();break}m===l&&(this.$d=new Date(\"\"))}else i.call(this,e)}}}));","!function(e,t){\"object\"==typeof exports&&\"undefined\"!=typeof module?module.exports=t():\"function\"==typeof define&&define.amd?define(t):(e=\"undefined\"!=typeof globalThis?globalThis:e||self).dayjs_plugin_dayOfYear=t()}(this,(function(){\"use strict\";return function(e,t,n){t.prototype.dayOfYear=function(e){var t=Math.round((n(this).startOf(\"day\")-n(this).startOf(\"year\"))/864e5)+1;return null==e?t:this.add(e-t,\"day\")}}}));","!function(e,t){\"object\"==typeof exports&&\"undefined\"!=typeof module?module.exports=t():\"function\"==typeof define&&define.amd?define(t):(e=\"undefined\"!=typeof globalThis?globalThis:e||self).dayjs_plugin_devHelper=t()}(this,(function(){\"use strict\";return function(e,t,o){if(!process||\"production\"!==process.env.NODE_ENV){var s=t.prototype,n=s.parse;s.parse=function(e){var t=e.date;return\"string\"==typeof t&&13===t.length&&console.warn(\"To parse a Unix timestamp like \"+t+\", you should pass it as a Number. https://day.js.org/docs/en/parse/unix-timestamp-milliseconds\"),\"number\"==typeof t&&4===String(t).length&&console.warn(\"Guessing you may want to parse the Year \"+t+\", you should pass it as a String \"+t+\", not a Number. Otherwise, \"+t+\" will be treated as a Unix timestamp\"),e.args.length>=2&&!o.p.customParseFormat&&console.warn(\"To parse a date-time string like \"+t+\" using the given format, you should enable customParseFormat plugin first. https://day.js.org/docs/en/parse/string-format\"),n.bind(this)(e)};var a=o.locale;o.locale=function(e,t,s){return void 0===t&&\"string\"==typeof e&&(o.Ls[e]||console.warn(\"Guessing you may want to use locale \"+e+\", you have to load it before using it. https://day.js.org/docs/en/i18n/loading-into-nodejs\")),a(e,t,s)}}}}));","!function(t,s){\"object\"==typeof exports&&\"undefined\"!=typeof module?module.exports=s():\"function\"==typeof define&&define.amd?define(s):(t=\"undefined\"!=typeof globalThis?globalThis:t||self).dayjs_plugin_duration=s()}(this,(function(){\"use strict\";var t,s,n=1e3,i=6e4,e=36e5,r=864e5,o=/\\[([^\\]]+)]|Y{1,4}|M{1,4}|D{1,2}|d{1,4}|H{1,2}|h{1,2}|a|A|m{1,2}|s{1,2}|Z{1,2}|SSS/g,u=31536e6,h=2592e6,a=/^(-|\\+)?P(?:([-+]?[0-9,.]*)Y)?(?:([-+]?[0-9,.]*)M)?(?:([-+]?[0-9,.]*)W)?(?:([-+]?[0-9,.]*)D)?(?:T(?:([-+]?[0-9,.]*)H)?(?:([-+]?[0-9,.]*)M)?(?:([-+]?[0-9,.]*)S)?)?$/,d={years:u,months:h,days:r,hours:e,minutes:i,seconds:n,milliseconds:1,weeks:6048e5},c=function(t){return t instanceof p},f=function(t,s,n){return new p(t,n,s.$l)},m=function(t){return s.p(t)+\"s\"},l=function(t){return t<0},$=function(t){return l(t)?Math.ceil(t):Math.floor(t)},y=function(t){return Math.abs(t)},g=function(t,s){return t?l(t)?{negative:!0,format:\"\"+y(t)+s}:{negative:!1,format:\"\"+t+s}:{negative:!1,format:\"\"}},p=function(){function l(t,s,n){var i=this;if(this.$d={},this.$l=n,void 0===t&&(this.$ms=0,this.parseFromMilliseconds()),s)return f(t*d[m(s)],this);if(\"number\"==typeof t)return this.$ms=t,this.parseFromMilliseconds(),this;if(\"object\"==typeof t)return Object.keys(t).forEach((function(s){i.$d[m(s)]=t[s]})),this.calMilliseconds(),this;if(\"string\"==typeof t){var e=t.match(a);if(e){var r=e.slice(2).map((function(t){return null!=t?Number(t):0}));return this.$d.years=r[0],this.$d.months=r[1],this.$d.weeks=r[2],this.$d.days=r[3],this.$d.hours=r[4],this.$d.minutes=r[5],this.$d.seconds=r[6],this.calMilliseconds(),this}}return this}var y=l.prototype;return y.calMilliseconds=function(){var t=this;this.$ms=Object.keys(this.$d).reduce((function(s,n){return s+(t.$d[n]||0)*d[n]}),0)},y.parseFromMilliseconds=function(){var t=this.$ms;this.$d.years=$(t/u),t%=u,this.$d.months=$(t/h),t%=h,this.$d.days=$(t/r),t%=r,this.$d.hours=$(t/e),t%=e,this.$d.minutes=$(t/i),t%=i,this.$d.seconds=$(t/n),t%=n,this.$d.milliseconds=t},y.toISOString=function(){var t=g(this.$d.years,\"Y\"),s=g(this.$d.months,\"M\"),n=+this.$d.days||0;this.$d.weeks&&(n+=7*this.$d.weeks);var i=g(n,\"D\"),e=g(this.$d.hours,\"H\"),r=g(this.$d.minutes,\"M\"),o=this.$d.seconds||0;this.$d.milliseconds&&(o+=this.$d.milliseconds/1e3);var u=g(o,\"S\"),h=t.negative||s.negative||i.negative||e.negative||r.negative||u.negative,a=e.format||r.format||u.format?\"T\":\"\",d=(h?\"-\":\"\")+\"P\"+t.format+s.format+i.format+a+e.format+r.format+u.format;return\"P\"===d||\"-P\"===d?\"P0D\":d},y.toJSON=function(){return this.toISOString()},y.format=function(t){var n=t||\"YYYY-MM-DDTHH:mm:ss\",i={Y:this.$d.years,YY:s.s(this.$d.years,2,\"0\"),YYYY:s.s(this.$d.years,4,\"0\"),M:this.$d.months,MM:s.s(this.$d.months,2,\"0\"),D:this.$d.days,DD:s.s(this.$d.days,2,\"0\"),H:this.$d.hours,HH:s.s(this.$d.hours,2,\"0\"),m:this.$d.minutes,mm:s.s(this.$d.minutes,2,\"0\"),s:this.$d.seconds,ss:s.s(this.$d.seconds,2,\"0\"),SSS:s.s(this.$d.milliseconds,3,\"0\")};return n.replace(o,(function(t,s){return s||String(i[t])}))},y.as=function(t){return this.$ms/d[m(t)]},y.get=function(t){var s=this.$ms,n=m(t);return\"milliseconds\"===n?s%=1e3:s=\"weeks\"===n?$(s/d[n]):this.$d[n],0===s?0:s},y.add=function(t,s,n){var i;return i=s?t*d[m(s)]:c(t)?t.$ms:f(t,this).$ms,f(this.$ms+i*(n?-1:1),this)},y.subtract=function(t,s){return this.add(t,s,!0)},y.locale=function(t){var s=this.clone();return s.$l=t,s},y.clone=function(){return f(this.$ms,this)},y.humanize=function(s){return t().add(this.$ms,\"ms\").locale(this.$l).fromNow(!s)},y.milliseconds=function(){return this.get(\"milliseconds\")},y.asMilliseconds=function(){return this.as(\"milliseconds\")},y.seconds=function(){return this.get(\"seconds\")},y.asSeconds=function(){return this.as(\"seconds\")},y.minutes=function(){return this.get(\"minutes\")},y.asMinutes=function(){return this.as(\"minutes\")},y.hours=function(){return this.get(\"hours\")},y.asHours=function(){return this.as(\"hours\")},y.days=function(){return this.get(\"days\")},y.asDays=function(){return this.as(\"days\")},y.weeks=function(){return this.get(\"weeks\")},y.asWeeks=function(){return this.as(\"weeks\")},y.months=function(){return this.get(\"months\")},y.asMonths=function(){return this.as(\"months\")},y.years=function(){return this.get(\"years\")},y.asYears=function(){return this.as(\"years\")},l}();return function(n,i,e){t=e,s=e().$utils(),e.duration=function(t,s){var n=e.locale();return f(t,{$l:n},s)},e.isDuration=c;var r=i.prototype.add,o=i.prototype.subtract;i.prototype.add=function(t,s){return c(t)&&(t=t.asMilliseconds()),r.bind(this)(t,s)},i.prototype.subtract=function(t,s){return c(t)&&(t=t.asMilliseconds()),o.bind(this)(t,s)}}}));","!function(e,i){\"object\"==typeof exports&&\"undefined\"!=typeof module?module.exports=i():\"function\"==typeof define&&define.amd?define(i):(e=\"undefined\"!=typeof globalThis?globalThis:e||self).dayjs_plugin_isBetween=i()}(this,(function(){\"use strict\";return function(e,i,t){i.prototype.isBetween=function(e,i,s,f){var n=t(e),o=t(i),r=\"(\"===(f=f||\"()\")[0],u=\")\"===f[1];return(r?this.isAfter(n,s):!this.isBefore(n,s))&&(u?this.isBefore(o,s):!this.isAfter(o,s))||(r?this.isBefore(n,s):!this.isAfter(n,s))&&(u?this.isAfter(o,s):!this.isBefore(o,s))}}}));","!function(e,t){\"object\"==typeof exports&&\"undefined\"!=typeof module?module.exports=t():\"function\"==typeof define&&define.amd?define(t):(e=\"undefined\"!=typeof globalThis?globalThis:e||self).dayjs_plugin_isLeapYear=t()}(this,(function(){\"use strict\";return function(e,t){t.prototype.isLeapYear=function(){return this.$y%4==0&&this.$y%100!=0||this.$y%400==0}}}));","!function(e,n){\"object\"==typeof exports&&\"undefined\"!=typeof module?module.exports=n():\"function\"==typeof define&&define.amd?define(n):(e=\"undefined\"!=typeof globalThis?globalThis:e||self).dayjs_plugin_isMoment=n()}(this,(function(){\"use strict\";return function(e,n,t){t.isMoment=function(e){return t.isDayjs(e)}}}));","!function(e,t){\"object\"==typeof exports&&\"undefined\"!=typeof module?module.exports=t():\"function\"==typeof define&&define.amd?define(t):(e=\"undefined\"!=typeof globalThis?globalThis:e||self).dayjs_plugin_isSameOrAfter=t()}(this,(function(){\"use strict\";return function(e,t){t.prototype.isSameOrAfter=function(e,t){return this.isSame(e,t)||this.isAfter(e,t)}}}));","!function(e,i){\"object\"==typeof exports&&\"undefined\"!=typeof module?module.exports=i():\"function\"==typeof define&&define.amd?define(i):(e=\"undefined\"!=typeof globalThis?globalThis:e||self).dayjs_plugin_isSameOrBefore=i()}(this,(function(){\"use strict\";return function(e,i){i.prototype.isSameOrBefore=function(e,i){return this.isSame(e,i)||this.isBefore(e,i)}}}));","!function(e,o){\"object\"==typeof exports&&\"undefined\"!=typeof module?module.exports=o():\"function\"==typeof define&&define.amd?define(o):(e=\"undefined\"!=typeof globalThis?globalThis:e||self).dayjs_plugin_isToday=o()}(this,(function(){\"use strict\";return function(e,o,t){o.prototype.isToday=function(){var e=\"YYYY-MM-DD\",o=t();return this.format(e)===o.format(e)}}}));","!function(o,e){\"object\"==typeof exports&&\"undefined\"!=typeof module?module.exports=e():\"function\"==typeof define&&define.amd?define(e):(o=\"undefined\"!=typeof globalThis?globalThis:o||self).dayjs_plugin_isTomorrow=e()}(this,(function(){\"use strict\";return function(o,e,t){e.prototype.isTomorrow=function(){var o=\"YYYY-MM-DD\",e=t().add(1,\"day\");return this.format(o)===e.format(o)}}}));","!function(e,t){\"object\"==typeof exports&&\"undefined\"!=typeof module?module.exports=t():\"function\"==typeof define&&define.amd?define(t):(e=\"undefined\"!=typeof globalThis?globalThis:e||self).dayjs_plugin_isYesterday=t()}(this,(function(){\"use strict\";return function(e,t,n){t.prototype.isYesterday=function(){var e=\"YYYY-MM-DD\",t=n().subtract(1,\"day\");return this.format(e)===t.format(e)}}}));","!function(e,t){\"object\"==typeof exports&&\"undefined\"!=typeof module?module.exports=t():\"function\"==typeof define&&define.amd?define(t):(e=\"undefined\"!=typeof globalThis?globalThis:e||self).dayjs_plugin_isoWeek=t()}(this,(function(){\"use strict\";var e=\"day\";return function(t,i,s){var a=function(t){return t.add(4-t.isoWeekday(),e)},d=i.prototype;d.isoWeekYear=function(){return a(this).year()},d.isoWeek=function(t){if(!this.$utils().u(t))return this.add(7*(t-this.isoWeek()),e);var i,d,n,o,r=a(this),u=(i=this.isoWeekYear(),d=this.$u,n=(d?s.utc:s)().year(i).startOf(\"year\"),o=4-n.isoWeekday(),n.isoWeekday()>4&&(o+=7),n.add(o,e));return r.diff(u,\"week\")+1},d.isoWeekday=function(e){return this.$utils().u(e)?this.day()||7:this.day(this.day()%7?e:e-7)};var n=d.startOf;d.startOf=function(e,t){var i=this.$utils(),s=!!i.u(t)||t;return\"isoweek\"===i.p(e)?s?this.date(this.date()-(this.isoWeekday()-1)).startOf(\"day\"):this.date(this.date()-1-(this.isoWeekday()-1)+7).endOf(\"day\"):n.bind(this)(e,t)}}}));","!function(e,n){\"object\"==typeof exports&&\"undefined\"!=typeof module?module.exports=n():\"function\"==typeof define&&define.amd?define(n):(e=\"undefined\"!=typeof globalThis?globalThis:e||self).dayjs_plugin_isoWeeksInYear=n()}(this,(function(){\"use strict\";return function(e,n){n.prototype.isoWeeksInYear=function(){var e=this.isLeapYear(),n=this.endOf(\"y\").day();return 4===n||e&&5===n?53:52}}}));","!function(n,e){\"object\"==typeof exports&&\"undefined\"!=typeof module?module.exports=e():\"function\"==typeof define&&define.amd?define(e):(n=\"undefined\"!=typeof globalThis?globalThis:n||self).dayjs_plugin_localeData=e()}(this,(function(){\"use strict\";return function(n,e,t){var r=e.prototype,o=function(n){return n&&(n.indexOf?n:n.s)},u=function(n,e,t,r,u){var i=n.name?n:n.$locale(),a=o(i[e]),s=o(i[t]),f=a||s.map((function(n){return n.slice(0,r)}));if(!u)return f;var d=i.weekStart;return f.map((function(n,e){return f[(e+(d||0))%7]}))},i=function(){return t.Ls[t.locale()]},a=function(n,e){return n.formats[e]||function(n){return n.replace(/(\\[[^\\]]+])|(MMMM|MM|DD|dddd)/g,(function(n,e,t){return e||t.slice(1)}))}(n.formats[e.toUpperCase()])},s=function(){var n=this;return{months:function(e){return e?e.format(\"MMMM\"):u(n,\"months\")},monthsShort:function(e){return e?e.format(\"MMM\"):u(n,\"monthsShort\",\"months\",3)},firstDayOfWeek:function(){return n.$locale().weekStart||0},weekdays:function(e){return e?e.format(\"dddd\"):u(n,\"weekdays\")},weekdaysMin:function(e){return e?e.format(\"dd\"):u(n,\"weekdaysMin\",\"weekdays\",2)},weekdaysShort:function(e){return e?e.format(\"ddd\"):u(n,\"weekdaysShort\",\"weekdays\",3)},longDateFormat:function(e){return a(n.$locale(),e)},meridiem:this.$locale().meridiem,ordinal:this.$locale().ordinal}};r.localeData=function(){return s.bind(this)()},t.localeData=function(){var n=i();return{firstDayOfWeek:function(){return n.weekStart||0},weekdays:function(){return t.weekdays()},weekdaysShort:function(){return t.weekdaysShort()},weekdaysMin:function(){return t.weekdaysMin()},months:function(){return t.months()},monthsShort:function(){return t.monthsShort()},longDateFormat:function(e){return a(n,e)},meridiem:n.meridiem,ordinal:n.ordinal}},t.months=function(){return u(i(),\"months\")},t.monthsShort=function(){return u(i(),\"monthsShort\",\"months\",3)},t.weekdays=function(n){return u(i(),\"weekdays\",null,null,n)},t.weekdaysShort=function(n){return u(i(),\"weekdaysShort\",\"weekdays\",3,n)},t.weekdaysMin=function(n){return u(i(),\"weekdaysMin\",\"weekdays\",2,n)}}}));","!function(e,t){\"object\"==typeof exports&&\"undefined\"!=typeof module?module.exports=t():\"function\"==typeof define&&define.amd?define(t):(e=\"undefined\"!=typeof globalThis?globalThis:e||self).dayjs_plugin_localizedFormat=t()}(this,(function(){\"use strict\";var e={LTS:\"h:mm:ss A\",LT:\"h:mm A\",L:\"MM/DD/YYYY\",LL:\"MMMM D, YYYY\",LLL:\"MMMM D, YYYY h:mm A\",LLLL:\"dddd, MMMM D, YYYY h:mm A\"};return function(t,o,n){var r=o.prototype,i=r.format;n.en.formats=e,r.format=function(t){void 0===t&&(t=\"YYYY-MM-DDTHH:mm:ssZ\");var o=this.$locale().formats,n=function(t,o){return t.replace(/(\\[[^\\]]+])|(LTS?|l{1,4}|L{1,4})/g,(function(t,n,r){var i=r&&r.toUpperCase();return n||o[r]||e[r]||o[i].replace(/(\\[[^\\]]+])|(MMMM|MM|DD|dddd)/g,(function(e,t,o){return t||o.slice(1)}))}))}(t,void 0===o?{}:o);return i.call(this,n)}}}));","!function(e,n){\"object\"==typeof exports&&\"undefined\"!=typeof module?module.exports=n():\"function\"==typeof define&&define.amd?define(n):(e=\"undefined\"!=typeof globalThis?globalThis:e||self).dayjs_plugin_minMax=n()}(this,(function(){\"use strict\";return function(e,n,t){var i=function(e,n){if(!n||!n.length||!n[0]||1===n.length&&!n[0].length)return null;var t;1===n.length&&n[0].length>0&&(n=n[0]);t=n[0];for(var i=1;i=0?1:u.date()),s=a.year||u.year(),d=a.month>=0?a.month:a.year||a.day?0:u.month(),f=a.hour||0,b=a.minute||0,h=a.second||0,y=a.millisecond||0;return o?new Date(Date.UTC(s,d,c,f,b,h,y)):new Date(s,d,c,f,b,h,y)}return r},o=i.parse;i.parse=function(t){t.date=r.bind(this)(t),o.bind(this)(t)};var a=i.set,u=i.add,c=i.subtract,s=function(t,n,e,i){void 0===i&&(i=1);var r=Object.keys(n),o=this;return r.forEach((function(e){o=t.bind(o)(n[e]*i,e)})),o};i.set=function(t,n){return n=void 0===n?t:n,\"Object\"===t.constructor.name?s.bind(this)((function(t,n){return a.bind(this)(n,t)}),n,t):a.bind(this)(t,n)},i.add=function(t,n){return\"Object\"===t.constructor.name?s.bind(this)(u,t,n):u.bind(this)(t,n)},i.subtract=function(t,n){return\"Object\"===t.constructor.name?s.bind(this)(u,t,n,-1):c.bind(this)(t,n)}}}));","!function(e,o){\"object\"==typeof exports&&\"undefined\"!=typeof module?module.exports=o():\"function\"==typeof define&&define.amd?define(o):(e=\"undefined\"!=typeof globalThis?globalThis:e||self).dayjs_plugin_pluralGetSet=o()}(this,(function(){\"use strict\";return function(e,o){var s=o.prototype;[\"milliseconds\",\"seconds\",\"minutes\",\"hours\",\"days\",\"weeks\",\"isoWeeks\",\"months\",\"quarters\",\"years\",\"dates\"].forEach((function(e){s[e]=s[e.replace(/s$/,\"\")]}))}}));","!function(t,e){\"object\"==typeof exports&&\"undefined\"!=typeof module?module.exports=e():\"function\"==typeof define&&define.amd?define(e):(t=\"undefined\"!=typeof globalThis?globalThis:t||self).dayjs_plugin_preParsePostFormat=e()}(this,(function(){\"use strict\";return function(t,e){var o=e.prototype.parse;e.prototype.parse=function(t){if(\"string\"==typeof t.date){var e=this.$locale();t.date=e&&e.preparse?e.preparse(t.date):t.date}return o.bind(this)(t)};var r=e.prototype.format;e.prototype.format=function(){for(var t=arguments.length,e=new Array(t),o=0;o0,p<=y.r||!y.r){p<=1&&c>0&&(y=h[c-1]);var v=l[y.l];u&&(p=u(\"\"+p)),a=\"string\"==typeof v?v.replace(\"%d\",p):v(p,n,y.l,s);break}}if(n)return a;var M=s?l.future:l.past;return\"function\"==typeof M?M(a):M.replace(\"%s\",a)},n.to=function(r,e){return i(r,e,this,!0)},n.from=function(r,e){return i(r,e,this)};var d=function(r){return r.$u?t.utc():t()};n.toNow=function(r){return this.to(d(this),r)},n.fromNow=function(r){return this.from(d(this),r)}}}));","!function(t,e){\"object\"==typeof exports&&\"undefined\"!=typeof module?module.exports=e():\"function\"==typeof define&&define.amd?define(e):(t=\"undefined\"!=typeof globalThis?globalThis:t||self).dayjs_plugin_timezone=e()}(this,(function(){\"use strict\";var t={year:0,month:1,day:2,hour:3,minute:4,second:5},e={};return function(n,i,o){var r,a=function(t,n,i){void 0===i&&(i={});var o=new Date(t),r=function(t,n){void 0===n&&(n={});var i=n.timeZoneName||\"short\",o=t+\"|\"+i,r=e[o];return r||(r=new Intl.DateTimeFormat(\"en-US\",{hour12:!1,timeZone:t,year:\"numeric\",month:\"2-digit\",day:\"2-digit\",hour:\"2-digit\",minute:\"2-digit\",second:\"2-digit\",timeZoneName:i}),e[o]=r),r}(n,i);return r.formatToParts(o)},u=function(e,n){for(var i=a(e,n),r=[],u=0;u=0&&(r[c]=parseInt(m,10))}var d=r[3],l=24===d?0:d,v=r[0]+\"-\"+r[1]+\"-\"+r[2]+\" \"+l+\":\"+r[4]+\":\"+r[5]+\":000\",h=+e;return(o.utc(v).valueOf()-(h-=h%1e3))/6e4},f=i.prototype;f.tz=function(t,e){void 0===t&&(t=r);var n=this.utcOffset(),i=this.toDate(),a=i.toLocaleString(\"en-US\",{timeZone:t}),u=Math.round((i-new Date(a))/1e3/60),f=o(a).$set(\"millisecond\",this.$ms).utcOffset(15*-Math.round(i.getTimezoneOffset()/15)-u,!0);if(e){var s=f.utcOffset();f=f.add(n-s,\"minute\")}return f.$x.$timezone=t,f},f.offsetName=function(t){var e=this.$x.$timezone||o.tz.guess(),n=a(this.valueOf(),e,{timeZoneName:t}).find((function(t){return\"timezonename\"===t.type.toLowerCase()}));return n&&n.value};var s=f.startOf;f.startOf=function(t,e){if(!this.$x||!this.$x.$timezone)return s.call(this,t,e);var n=o(this.format(\"YYYY-MM-DD HH:mm:ss:SSS\"));return s.call(n,t,e).tz(this.$x.$timezone,!0)},o.tz=function(t,e,n){var i=n&&e,a=n||e||r,f=u(+o(),a);if(\"string\"!=typeof t)return o(t).tz(a);var s=function(t,e,n){var i=t-60*e*1e3,o=u(i,n);if(e===o)return[i,e];var r=u(i-=60*(o-e)*1e3,n);return o===r?[i,o]:[t-60*Math.min(o,r)*1e3,Math.max(o,r)]}(o.utc(t,i).valueOf(),f,a),m=s[0],c=s[1],d=o(m).utcOffset(c);return d.$x.$timezone=a,d},o.tz.guess=function(){return Intl.DateTimeFormat().resolvedOptions().timeZone},o.tz.setDefault=function(t){r=t}}}));","!function(t,e){\"object\"==typeof exports&&\"undefined\"!=typeof module?module.exports=e():\"function\"==typeof define&&define.amd?define(e):(t=\"undefined\"!=typeof globalThis?globalThis:t||self).dayjs_plugin_toArray=e()}(this,(function(){\"use strict\";return function(t,e){e.prototype.toArray=function(){return[this.$y,this.$M,this.$D,this.$H,this.$m,this.$s,this.$ms]}}}));","!function(t,e){\"object\"==typeof exports&&\"undefined\"!=typeof module?module.exports=e():\"function\"==typeof define&&define.amd?define(e):(t=\"undefined\"!=typeof globalThis?globalThis:t||self).dayjs_plugin_toObject=e()}(this,(function(){\"use strict\";return function(t,e){e.prototype.toObject=function(){return{years:this.$y,months:this.$M,date:this.$D,hours:this.$H,minutes:this.$m,seconds:this.$s,milliseconds:this.$ms}}}}));","!function(e,n){\"object\"==typeof exports&&\"undefined\"!=typeof module?module.exports=n():\"function\"==typeof define&&define.amd?define(n):(e=\"undefined\"!=typeof globalThis?globalThis:e||self).dayjs_plugin_updateLocale=n()}(this,(function(){\"use strict\";return function(e,n,t){t.updateLocale=function(e,n){var o=t.Ls[e];if(o)return(n?Object.keys(n):[]).forEach((function(e){o[e]=n[e]})),o}}}));","!function(t,i){\"object\"==typeof exports&&\"undefined\"!=typeof module?module.exports=i():\"function\"==typeof define&&define.amd?define(i):(t=\"undefined\"!=typeof globalThis?globalThis:t||self).dayjs_plugin_utc=i()}(this,(function(){\"use strict\";var t=\"minute\",i=/[+-]\\d\\d(?::?\\d\\d)?/g,e=/([+-]|\\d\\d)/g;return function(s,f,n){var u=f.prototype;n.utc=function(t){var i={date:t,utc:!0,args:arguments};return new f(i)},u.utc=function(i){var e=n(this.toDate(),{locale:this.$L,utc:!0});return i?e.add(this.utcOffset(),t):e},u.local=function(){return n(this.toDate(),{locale:this.$L,utc:!1})};var o=u.parse;u.parse=function(t){t.utc&&(this.$u=!0),this.$utils().u(t.$offset)||(this.$offset=t.$offset),o.call(this,t)};var r=u.init;u.init=function(){if(this.$u){var t=this.$d;this.$y=t.getUTCFullYear(),this.$M=t.getUTCMonth(),this.$D=t.getUTCDate(),this.$W=t.getUTCDay(),this.$H=t.getUTCHours(),this.$m=t.getUTCMinutes(),this.$s=t.getUTCSeconds(),this.$ms=t.getUTCMilliseconds()}else r.call(this)};var a=u.utcOffset;u.utcOffset=function(s,f){var n=this.$utils().u;if(n(s))return this.$u?0:n(this.$offset)?a.call(this):this.$offset;if(\"string\"==typeof s&&(s=function(t){void 0===t&&(t=\"\");var s=t.match(i);if(!s)return null;var f=(\"\"+s[0]).match(e)||[\"-\",0,0],n=f[0],u=60*+f[1]+ +f[2];return 0===u?0:\"+\"===n?u:-u}(s),null===s))return this;var u=Math.abs(s)<=16?60*s:s,o=this;if(f)return o.$offset=u,o.$u=0===s,o;if(0!==s){var r=this.$u?this.toDate().getTimezoneOffset():-1*this.utcOffset();(o=this.local().add(u+r,t)).$offset=u,o.$x.$localOffset=r}else o=this.utc();return o};var h=u.format;u.format=function(t){var i=t||(this.$u?\"YYYY-MM-DDTHH:mm:ss[Z]\":\"\");return h.call(this,i)},u.valueOf=function(){var t=this.$utils().u(this.$offset)?0:this.$offset+(this.$x.$localOffset||this.$d.getTimezoneOffset());return this.$d.valueOf()-6e4*t},u.isUTC=function(){return!!this.$u},u.toISOString=function(){return this.toDate().toISOString()},u.toString=function(){return this.toDate().toUTCString()};var l=u.toDate;u.toDate=function(t){return\"s\"===t&&this.$offset?n(this.format(\"YYYY-MM-DD HH:mm:ss:SSS\")).toDate():l.call(this)};var c=u.diff;u.diff=function(t,i,e){if(t&&this.$u===t.$u)return c.call(this,t,i,e);var s=this.local(),f=n(t).local();return c.call(s,f,i,e)}}}));","!function(e,t){\"object\"==typeof exports&&\"undefined\"!=typeof module?module.exports=t():\"function\"==typeof define&&define.amd?define(t):(e=\"undefined\"!=typeof globalThis?globalThis:e||self).dayjs_plugin_weekOfYear=t()}(this,(function(){\"use strict\";var e=\"week\",t=\"year\";return function(i,n,r){var f=n.prototype;f.week=function(i){if(void 0===i&&(i=null),null!==i)return this.add(7*(i-this.week()),\"day\");var n=this.$locale().yearStart||1;if(11===this.month()&&this.date()>25){var f=r(this).startOf(t).add(1,t).date(n),s=r(this).endOf(e);if(f.isBefore(s))return 1}var a=r(this).startOf(t).date(n).startOf(e).subtract(1,\"millisecond\"),o=this.diff(a,e,!0);return o<0?r(this).startOf(\"week\").week():Math.ceil(o)},f.weeks=function(e){return void 0===e&&(e=null),this.week(e)}}}));","!function(e,t){\"object\"==typeof exports&&\"undefined\"!=typeof module?module.exports=t():\"function\"==typeof define&&define.amd?define(t):(e=\"undefined\"!=typeof globalThis?globalThis:e||self).dayjs_plugin_weekYear=t()}(this,(function(){\"use strict\";return function(e,t){t.prototype.weekYear=function(){var e=this.month(),t=this.week(),n=this.year();return 1===t&&11===e?n+1:0===e&&t>=52?n-1:n}}}));","!function(e,t){\"object\"==typeof exports&&\"undefined\"!=typeof module?module.exports=t():\"function\"==typeof define&&define.amd?define(t):(e=\"undefined\"!=typeof globalThis?globalThis:e||self).dayjs_plugin_weekday=t()}(this,(function(){\"use strict\";return function(e,t){t.prototype.weekday=function(e){var t=this.$locale().weekStart||0,i=this.$W,n=(i {\n\tlet warned = false;\n\n\treturn () => {\n\t\tif (!warned) {\n\t\t\twarned = true;\n\t\t\tconsole.warn('Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`.');\n\t\t}\n\t};\n})();\n\n/**\n * Colors.\n */\n\nexports.colors = [\n\t'#0000CC',\n\t'#0000FF',\n\t'#0033CC',\n\t'#0033FF',\n\t'#0066CC',\n\t'#0066FF',\n\t'#0099CC',\n\t'#0099FF',\n\t'#00CC00',\n\t'#00CC33',\n\t'#00CC66',\n\t'#00CC99',\n\t'#00CCCC',\n\t'#00CCFF',\n\t'#3300CC',\n\t'#3300FF',\n\t'#3333CC',\n\t'#3333FF',\n\t'#3366CC',\n\t'#3366FF',\n\t'#3399CC',\n\t'#3399FF',\n\t'#33CC00',\n\t'#33CC33',\n\t'#33CC66',\n\t'#33CC99',\n\t'#33CCCC',\n\t'#33CCFF',\n\t'#6600CC',\n\t'#6600FF',\n\t'#6633CC',\n\t'#6633FF',\n\t'#66CC00',\n\t'#66CC33',\n\t'#9900CC',\n\t'#9900FF',\n\t'#9933CC',\n\t'#9933FF',\n\t'#99CC00',\n\t'#99CC33',\n\t'#CC0000',\n\t'#CC0033',\n\t'#CC0066',\n\t'#CC0099',\n\t'#CC00CC',\n\t'#CC00FF',\n\t'#CC3300',\n\t'#CC3333',\n\t'#CC3366',\n\t'#CC3399',\n\t'#CC33CC',\n\t'#CC33FF',\n\t'#CC6600',\n\t'#CC6633',\n\t'#CC9900',\n\t'#CC9933',\n\t'#CCCC00',\n\t'#CCCC33',\n\t'#FF0000',\n\t'#FF0033',\n\t'#FF0066',\n\t'#FF0099',\n\t'#FF00CC',\n\t'#FF00FF',\n\t'#FF3300',\n\t'#FF3333',\n\t'#FF3366',\n\t'#FF3399',\n\t'#FF33CC',\n\t'#FF33FF',\n\t'#FF6600',\n\t'#FF6633',\n\t'#FF9900',\n\t'#FF9933',\n\t'#FFCC00',\n\t'#FFCC33'\n];\n\n/**\n * Currently only WebKit-based Web Inspectors, Firefox >= v31,\n * and the Firebug extension (any Firefox version) are known\n * to support \"%c\" CSS customizations.\n *\n * TODO: add a `localStorage` variable to explicitly enable/disable colors\n */\n\n// eslint-disable-next-line complexity\nfunction useColors() {\n\t// NB: In an Electron preload script, document will be defined but not fully\n\t// initialized. Since we know we're in Chrome, we'll just detect this case\n\t// explicitly\n\tif (typeof window !== 'undefined' && window.process && (window.process.type === 'renderer' || window.process.__nwjs)) {\n\t\treturn true;\n\t}\n\n\t// Internet Explorer and Edge do not support colors.\n\tif (typeof navigator !== 'undefined' && navigator.userAgent && navigator.userAgent.toLowerCase().match(/(edge|trident)\\/(\\d+)/)) {\n\t\treturn false;\n\t}\n\n\tlet m;\n\n\t// Is webkit? http://stackoverflow.com/a/16459606/376773\n\t// document is undefined in react-native: https://github.com/facebook/react-native/pull/1632\n\t// eslint-disable-next-line no-return-assign\n\treturn (typeof document !== 'undefined' && document.documentElement && document.documentElement.style && document.documentElement.style.WebkitAppearance) ||\n\t\t// Is firebug? http://stackoverflow.com/a/398120/376773\n\t\t(typeof window !== 'undefined' && window.console && (window.console.firebug || (window.console.exception && window.console.table))) ||\n\t\t// Is firefox >= v31?\n\t\t// https://developer.mozilla.org/en-US/docs/Tools/Web_Console#Styling_messages\n\t\t(typeof navigator !== 'undefined' && navigator.userAgent && (m = navigator.userAgent.toLowerCase().match(/firefox\\/(\\d+)/)) && parseInt(m[1], 10) >= 31) ||\n\t\t// Double check webkit in userAgent just in case we are in a worker\n\t\t(typeof navigator !== 'undefined' && navigator.userAgent && navigator.userAgent.toLowerCase().match(/applewebkit\\/(\\d+)/));\n}\n\n/**\n * Colorize log arguments if enabled.\n *\n * @api public\n */\n\nfunction formatArgs(args) {\n\targs[0] = (this.useColors ? '%c' : '') +\n\t\tthis.namespace +\n\t\t(this.useColors ? ' %c' : ' ') +\n\t\targs[0] +\n\t\t(this.useColors ? '%c ' : ' ') +\n\t\t'+' + module.exports.humanize(this.diff);\n\n\tif (!this.useColors) {\n\t\treturn;\n\t}\n\n\tconst c = 'color: ' + this.color;\n\targs.splice(1, 0, c, 'color: inherit');\n\n\t// The final \"%c\" is somewhat tricky, because there could be other\n\t// arguments passed either before or after the %c, so we need to\n\t// figure out the correct index to insert the CSS into\n\tlet index = 0;\n\tlet lastC = 0;\n\targs[0].replace(/%[a-zA-Z%]/g, match => {\n\t\tif (match === '%%') {\n\t\t\treturn;\n\t\t}\n\t\tindex++;\n\t\tif (match === '%c') {\n\t\t\t// We only are interested in the *last* %c\n\t\t\t// (the user may have provided their own)\n\t\t\tlastC = index;\n\t\t}\n\t});\n\n\targs.splice(lastC, 0, c);\n}\n\n/**\n * Invokes `console.debug()` when available.\n * No-op when `console.debug` is not a \"function\".\n * If `console.debug` is not available, falls back\n * to `console.log`.\n *\n * @api public\n */\nexports.log = console.debug || console.log || (() => {});\n\n/**\n * Save `namespaces`.\n *\n * @param {String} namespaces\n * @api private\n */\nfunction save(namespaces) {\n\ttry {\n\t\tif (namespaces) {\n\t\t\texports.storage.setItem('debug', namespaces);\n\t\t} else {\n\t\t\texports.storage.removeItem('debug');\n\t\t}\n\t} catch (error) {\n\t\t// Swallow\n\t\t// XXX (@Qix-) should we be logging these?\n\t}\n}\n\n/**\n * Load `namespaces`.\n *\n * @return {String} returns the previously persisted debug modes\n * @api private\n */\nfunction load() {\n\tlet r;\n\ttry {\n\t\tr = exports.storage.getItem('debug');\n\t} catch (error) {\n\t\t// Swallow\n\t\t// XXX (@Qix-) should we be logging these?\n\t}\n\n\t// If debug isn't set in LS, and we're in Electron, try to load $DEBUG\n\tif (!r && typeof process !== 'undefined' && 'env' in process) {\n\t\tr = process.env.DEBUG;\n\t}\n\n\treturn r;\n}\n\n/**\n * Localstorage attempts to return the localstorage.\n *\n * This is necessary because safari throws\n * when a user disables cookies/localstorage\n * and you attempt to access it.\n *\n * @return {LocalStorage}\n * @api private\n */\n\nfunction localstorage() {\n\ttry {\n\t\t// TVMLKit (Apple TV JS Runtime) does not have a window object, just localStorage in the global context\n\t\t// The Browser also has localStorage in the global context.\n\t\treturn localStorage;\n\t} catch (error) {\n\t\t// Swallow\n\t\t// XXX (@Qix-) should we be logging these?\n\t}\n}\n\nmodule.exports = require('./common')(exports);\n\nconst {formatters} = module.exports;\n\n/**\n * Map %j to `JSON.stringify()`, since no Web Inspectors do that by default.\n */\n\nformatters.j = function (v) {\n\ttry {\n\t\treturn JSON.stringify(v);\n\t} catch (error) {\n\t\treturn '[UnexpectedJSONParseError]: ' + error.message;\n\t}\n};\n","\n/**\n * This is the common logic for both the Node.js and web browser\n * implementations of `debug()`.\n */\n\nfunction setup(env) {\n\tcreateDebug.debug = createDebug;\n\tcreateDebug.default = createDebug;\n\tcreateDebug.coerce = coerce;\n\tcreateDebug.disable = disable;\n\tcreateDebug.enable = enable;\n\tcreateDebug.enabled = enabled;\n\tcreateDebug.humanize = require('ms');\n\tcreateDebug.destroy = destroy;\n\n\tObject.keys(env).forEach(key => {\n\t\tcreateDebug[key] = env[key];\n\t});\n\n\t/**\n\t* The currently active debug mode names, and names to skip.\n\t*/\n\n\tcreateDebug.names = [];\n\tcreateDebug.skips = [];\n\n\t/**\n\t* Map of special \"%n\" handling functions, for the debug \"format\" argument.\n\t*\n\t* Valid key names are a single, lower or upper-case letter, i.e. \"n\" and \"N\".\n\t*/\n\tcreateDebug.formatters = {};\n\n\t/**\n\t* Selects a color for a debug namespace\n\t* @param {String} namespace The namespace string for the debug instance to be colored\n\t* @return {Number|String} An ANSI color code for the given namespace\n\t* @api private\n\t*/\n\tfunction selectColor(namespace) {\n\t\tlet hash = 0;\n\n\t\tfor (let i = 0; i < namespace.length; i++) {\n\t\t\thash = ((hash << 5) - hash) + namespace.charCodeAt(i);\n\t\t\thash |= 0; // Convert to 32bit integer\n\t\t}\n\n\t\treturn createDebug.colors[Math.abs(hash) % createDebug.colors.length];\n\t}\n\tcreateDebug.selectColor = selectColor;\n\n\t/**\n\t* Create a debugger with the given `namespace`.\n\t*\n\t* @param {String} namespace\n\t* @return {Function}\n\t* @api public\n\t*/\n\tfunction createDebug(namespace) {\n\t\tlet prevTime;\n\t\tlet enableOverride = null;\n\t\tlet namespacesCache;\n\t\tlet enabledCache;\n\n\t\tfunction debug(...args) {\n\t\t\t// Disabled?\n\t\t\tif (!debug.enabled) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tconst self = debug;\n\n\t\t\t// Set `diff` timestamp\n\t\t\tconst curr = Number(new Date());\n\t\t\tconst ms = curr - (prevTime || curr);\n\t\t\tself.diff = ms;\n\t\t\tself.prev = prevTime;\n\t\t\tself.curr = curr;\n\t\t\tprevTime = curr;\n\n\t\t\targs[0] = createDebug.coerce(args[0]);\n\n\t\t\tif (typeof args[0] !== 'string') {\n\t\t\t\t// Anything else let's inspect with %O\n\t\t\t\targs.unshift('%O');\n\t\t\t}\n\n\t\t\t// Apply any `formatters` transformations\n\t\t\tlet index = 0;\n\t\t\targs[0] = args[0].replace(/%([a-zA-Z%])/g, (match, format) => {\n\t\t\t\t// If we encounter an escaped % then don't increase the array index\n\t\t\t\tif (match === '%%') {\n\t\t\t\t\treturn '%';\n\t\t\t\t}\n\t\t\t\tindex++;\n\t\t\t\tconst formatter = createDebug.formatters[format];\n\t\t\t\tif (typeof formatter === 'function') {\n\t\t\t\t\tconst val = args[index];\n\t\t\t\t\tmatch = formatter.call(self, val);\n\n\t\t\t\t\t// Now we need to remove `args[index]` since it's inlined in the `format`\n\t\t\t\t\targs.splice(index, 1);\n\t\t\t\t\tindex--;\n\t\t\t\t}\n\t\t\t\treturn match;\n\t\t\t});\n\n\t\t\t// Apply env-specific formatting (colors, etc.)\n\t\t\tcreateDebug.formatArgs.call(self, args);\n\n\t\t\tconst logFn = self.log || createDebug.log;\n\t\t\tlogFn.apply(self, args);\n\t\t}\n\n\t\tdebug.namespace = namespace;\n\t\tdebug.useColors = createDebug.useColors();\n\t\tdebug.color = createDebug.selectColor(namespace);\n\t\tdebug.extend = extend;\n\t\tdebug.destroy = createDebug.destroy; // XXX Temporary. Will be removed in the next major release.\n\n\t\tObject.defineProperty(debug, 'enabled', {\n\t\t\tenumerable: true,\n\t\t\tconfigurable: false,\n\t\t\tget: () => {\n\t\t\t\tif (enableOverride !== null) {\n\t\t\t\t\treturn enableOverride;\n\t\t\t\t}\n\t\t\t\tif (namespacesCache !== createDebug.namespaces) {\n\t\t\t\t\tnamespacesCache = createDebug.namespaces;\n\t\t\t\t\tenabledCache = createDebug.enabled(namespace);\n\t\t\t\t}\n\n\t\t\t\treturn enabledCache;\n\t\t\t},\n\t\t\tset: v => {\n\t\t\t\tenableOverride = v;\n\t\t\t}\n\t\t});\n\n\t\t// Env-specific initialization logic for debug instances\n\t\tif (typeof createDebug.init === 'function') {\n\t\t\tcreateDebug.init(debug);\n\t\t}\n\n\t\treturn debug;\n\t}\n\n\tfunction extend(namespace, delimiter) {\n\t\tconst newDebug = createDebug(this.namespace + (typeof delimiter === 'undefined' ? ':' : delimiter) + namespace);\n\t\tnewDebug.log = this.log;\n\t\treturn newDebug;\n\t}\n\n\t/**\n\t* Enables a debug mode by namespaces. This can include modes\n\t* separated by a colon and wildcards.\n\t*\n\t* @param {String} namespaces\n\t* @api public\n\t*/\n\tfunction enable(namespaces) {\n\t\tcreateDebug.save(namespaces);\n\t\tcreateDebug.namespaces = namespaces;\n\n\t\tcreateDebug.names = [];\n\t\tcreateDebug.skips = [];\n\n\t\tconst split = (typeof namespaces === 'string' ? namespaces : '')\n\t\t\t.trim()\n\t\t\t.replace(' ', ',')\n\t\t\t.split(',')\n\t\t\t.filter(Boolean);\n\n\t\tfor (const ns of split) {\n\t\t\tif (ns[0] === '-') {\n\t\t\t\tcreateDebug.skips.push(ns.slice(1));\n\t\t\t} else {\n\t\t\t\tcreateDebug.names.push(ns);\n\t\t\t}\n\t\t}\n\t}\n\n\t/**\n\t * Checks if the given string matches a namespace template, honoring\n\t * asterisks as wildcards.\n\t *\n\t * @param {String} search\n\t * @param {String} template\n\t * @return {Boolean}\n\t */\n\tfunction matchesTemplate(search, template) {\n\t\tlet searchIndex = 0;\n\t\tlet templateIndex = 0;\n\t\tlet starIndex = -1;\n\t\tlet matchIndex = 0;\n\n\t\twhile (searchIndex < search.length) {\n\t\t\tif (templateIndex < template.length && (template[templateIndex] === search[searchIndex] || template[templateIndex] === '*')) {\n\t\t\t\t// Match character or proceed with wildcard\n\t\t\t\tif (template[templateIndex] === '*') {\n\t\t\t\t\tstarIndex = templateIndex;\n\t\t\t\t\tmatchIndex = searchIndex;\n\t\t\t\t\ttemplateIndex++; // Skip the '*'\n\t\t\t\t} else {\n\t\t\t\t\tsearchIndex++;\n\t\t\t\t\ttemplateIndex++;\n\t\t\t\t}\n\t\t\t} else if (starIndex !== -1) { // eslint-disable-line no-negated-condition\n\t\t\t\t// Backtrack to the last '*' and try to match more characters\n\t\t\t\ttemplateIndex = starIndex + 1;\n\t\t\t\tmatchIndex++;\n\t\t\t\tsearchIndex = matchIndex;\n\t\t\t} else {\n\t\t\t\treturn false; // No match\n\t\t\t}\n\t\t}\n\n\t\t// Handle trailing '*' in template\n\t\twhile (templateIndex < template.length && template[templateIndex] === '*') {\n\t\t\ttemplateIndex++;\n\t\t}\n\n\t\treturn templateIndex === template.length;\n\t}\n\n\t/**\n\t* Disable debug output.\n\t*\n\t* @return {String} namespaces\n\t* @api public\n\t*/\n\tfunction disable() {\n\t\tconst namespaces = [\n\t\t\t...createDebug.names,\n\t\t\t...createDebug.skips.map(namespace => '-' + namespace)\n\t\t].join(',');\n\t\tcreateDebug.enable('');\n\t\treturn namespaces;\n\t}\n\n\t/**\n\t* Returns true if the given mode name is enabled, false otherwise.\n\t*\n\t* @param {String} name\n\t* @return {Boolean}\n\t* @api public\n\t*/\n\tfunction enabled(name) {\n\t\tfor (const skip of createDebug.skips) {\n\t\t\tif (matchesTemplate(name, skip)) {\n\t\t\t\treturn false;\n\t\t\t}\n\t\t}\n\n\t\tfor (const ns of createDebug.names) {\n\t\t\tif (matchesTemplate(name, ns)) {\n\t\t\t\treturn true;\n\t\t\t}\n\t\t}\n\n\t\treturn false;\n\t}\n\n\t/**\n\t* Coerce `val`.\n\t*\n\t* @param {Mixed} val\n\t* @return {Mixed}\n\t* @api private\n\t*/\n\tfunction coerce(val) {\n\t\tif (val instanceof Error) {\n\t\t\treturn val.stack || val.message;\n\t\t}\n\t\treturn val;\n\t}\n\n\t/**\n\t* XXX DO NOT USE. This is a temporary stub function.\n\t* XXX It WILL be removed in the next major release.\n\t*/\n\tfunction destroy() {\n\t\tconsole.warn('Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`.');\n\t}\n\n\tcreateDebug.enable(createDebug.load());\n\n\treturn createDebug;\n}\n\nmodule.exports = setup;\n","exports.remove = removeDiacritics;\n\nvar replacementList = [\n {\n base: ' ',\n chars: \"\\u00A0\",\n }, {\n base: '0',\n chars: \"\\u07C0\",\n }, {\n base: 'A',\n chars: \"\\u24B6\\uFF21\\u00C0\\u00C1\\u00C2\\u1EA6\\u1EA4\\u1EAA\\u1EA8\\u00C3\\u0100\\u0102\\u1EB0\\u1EAE\\u1EB4\\u1EB2\\u0226\\u01E0\\u00C4\\u01DE\\u1EA2\\u00C5\\u01FA\\u01CD\\u0200\\u0202\\u1EA0\\u1EAC\\u1EB6\\u1E00\\u0104\\u023A\\u2C6F\",\n }, {\n base: 'AA',\n chars: \"\\uA732\",\n }, {\n base: 'AE',\n chars: \"\\u00C6\\u01FC\\u01E2\",\n }, {\n base: 'AO',\n chars: \"\\uA734\",\n }, {\n base: 'AU',\n chars: \"\\uA736\",\n }, {\n base: 'AV',\n chars: \"\\uA738\\uA73A\",\n }, {\n base: 'AY',\n chars: \"\\uA73C\",\n }, {\n base: 'B',\n chars: \"\\u24B7\\uFF22\\u1E02\\u1E04\\u1E06\\u0243\\u0181\",\n }, {\n base: 'C',\n chars: \"\\u24b8\\uff23\\uA73E\\u1E08\\u0106\\u0043\\u0108\\u010A\\u010C\\u00C7\\u0187\\u023B\",\n }, {\n base: 'D',\n chars: \"\\u24B9\\uFF24\\u1E0A\\u010E\\u1E0C\\u1E10\\u1E12\\u1E0E\\u0110\\u018A\\u0189\\u1D05\\uA779\",\n }, {\n base: 'Dh',\n chars: \"\\u00D0\",\n }, {\n base: 'DZ',\n chars: \"\\u01F1\\u01C4\",\n }, {\n base: 'Dz',\n chars: \"\\u01F2\\u01C5\",\n }, {\n base: 'E',\n chars: \"\\u025B\\u24BA\\uFF25\\u00C8\\u00C9\\u00CA\\u1EC0\\u1EBE\\u1EC4\\u1EC2\\u1EBC\\u0112\\u1E14\\u1E16\\u0114\\u0116\\u00CB\\u1EBA\\u011A\\u0204\\u0206\\u1EB8\\u1EC6\\u0228\\u1E1C\\u0118\\u1E18\\u1E1A\\u0190\\u018E\\u1D07\",\n }, {\n base: 'F',\n chars: \"\\uA77C\\u24BB\\uFF26\\u1E1E\\u0191\\uA77B\",\n }, {\n base: 'G',\n chars: \"\\u24BC\\uFF27\\u01F4\\u011C\\u1E20\\u011E\\u0120\\u01E6\\u0122\\u01E4\\u0193\\uA7A0\\uA77D\\uA77E\\u0262\",\n }, {\n base: 'H',\n chars: \"\\u24BD\\uFF28\\u0124\\u1E22\\u1E26\\u021E\\u1E24\\u1E28\\u1E2A\\u0126\\u2C67\\u2C75\\uA78D\",\n }, {\n base: 'I',\n chars: \"\\u24BE\\uFF29\\xCC\\xCD\\xCE\\u0128\\u012A\\u012C\\u0130\\xCF\\u1E2E\\u1EC8\\u01CF\\u0208\\u020A\\u1ECA\\u012E\\u1E2C\\u0197\",\n }, {\n base: 'J',\n chars: \"\\u24BF\\uFF2A\\u0134\\u0248\\u0237\",\n }, {\n base: 'K',\n chars: \"\\u24C0\\uFF2B\\u1E30\\u01E8\\u1E32\\u0136\\u1E34\\u0198\\u2C69\\uA740\\uA742\\uA744\\uA7A2\",\n }, {\n base: 'L',\n chars: \"\\u24C1\\uFF2C\\u013F\\u0139\\u013D\\u1E36\\u1E38\\u013B\\u1E3C\\u1E3A\\u0141\\u023D\\u2C62\\u2C60\\uA748\\uA746\\uA780\",\n }, {\n base: 'LJ',\n chars: \"\\u01C7\",\n }, {\n base: 'Lj',\n chars: \"\\u01C8\",\n }, {\n base: 'M',\n chars: \"\\u24C2\\uFF2D\\u1E3E\\u1E40\\u1E42\\u2C6E\\u019C\\u03FB\",\n }, {\n base: 'N',\n chars: \"\\uA7A4\\u0220\\u24C3\\uFF2E\\u01F8\\u0143\\xD1\\u1E44\\u0147\\u1E46\\u0145\\u1E4A\\u1E48\\u019D\\uA790\\u1D0E\",\n }, {\n base: 'NJ',\n chars: \"\\u01CA\",\n }, {\n base: 'Nj',\n chars: \"\\u01CB\",\n }, {\n base: 'O',\n chars: \"\\u24C4\\uFF2F\\xD2\\xD3\\xD4\\u1ED2\\u1ED0\\u1ED6\\u1ED4\\xD5\\u1E4C\\u022C\\u1E4E\\u014C\\u1E50\\u1E52\\u014E\\u022E\\u0230\\xD6\\u022A\\u1ECE\\u0150\\u01D1\\u020C\\u020E\\u01A0\\u1EDC\\u1EDA\\u1EE0\\u1EDE\\u1EE2\\u1ECC\\u1ED8\\u01EA\\u01EC\\xD8\\u01FE\\u0186\\u019F\\uA74A\\uA74C\",\n }, {\n base: 'OE',\n chars: \"\\u0152\",\n }, {\n base: 'OI',\n chars: \"\\u01A2\",\n }, {\n base: 'OO',\n chars: \"\\uA74E\",\n }, {\n base: 'OU',\n chars: \"\\u0222\",\n }, {\n base: 'P',\n chars: \"\\u24C5\\uFF30\\u1E54\\u1E56\\u01A4\\u2C63\\uA750\\uA752\\uA754\",\n }, {\n base: 'Q',\n chars: \"\\u24C6\\uFF31\\uA756\\uA758\\u024A\",\n }, {\n base: 'R',\n chars: \"\\u24C7\\uFF32\\u0154\\u1E58\\u0158\\u0210\\u0212\\u1E5A\\u1E5C\\u0156\\u1E5E\\u024C\\u2C64\\uA75A\\uA7A6\\uA782\",\n }, {\n base: 'S',\n chars: \"\\u24C8\\uFF33\\u1E9E\\u015A\\u1E64\\u015C\\u1E60\\u0160\\u1E66\\u1E62\\u1E68\\u0218\\u015E\\u2C7E\\uA7A8\\uA784\",\n }, {\n base: 'T',\n chars: \"\\u24C9\\uFF34\\u1E6A\\u0164\\u1E6C\\u021A\\u0162\\u1E70\\u1E6E\\u0166\\u01AC\\u01AE\\u023E\\uA786\",\n }, {\n base: 'Th',\n chars: \"\\u00DE\",\n }, {\n base: 'TZ',\n chars: \"\\uA728\",\n }, {\n base: 'U',\n chars: \"\\u24CA\\uFF35\\xD9\\xDA\\xDB\\u0168\\u1E78\\u016A\\u1E7A\\u016C\\xDC\\u01DB\\u01D7\\u01D5\\u01D9\\u1EE6\\u016E\\u0170\\u01D3\\u0214\\u0216\\u01AF\\u1EEA\\u1EE8\\u1EEE\\u1EEC\\u1EF0\\u1EE4\\u1E72\\u0172\\u1E76\\u1E74\\u0244\",\n }, {\n base: 'V',\n chars: \"\\u24CB\\uFF36\\u1E7C\\u1E7E\\u01B2\\uA75E\\u0245\",\n }, {\n base: 'VY',\n chars: \"\\uA760\",\n }, {\n base: 'W',\n chars: \"\\u24CC\\uFF37\\u1E80\\u1E82\\u0174\\u1E86\\u1E84\\u1E88\\u2C72\",\n }, {\n base: 'X',\n chars: \"\\u24CD\\uFF38\\u1E8A\\u1E8C\",\n }, {\n base: 'Y',\n chars: \"\\u24CE\\uFF39\\u1EF2\\xDD\\u0176\\u1EF8\\u0232\\u1E8E\\u0178\\u1EF6\\u1EF4\\u01B3\\u024E\\u1EFE\",\n }, {\n base: 'Z',\n chars: \"\\u24CF\\uFF3A\\u0179\\u1E90\\u017B\\u017D\\u1E92\\u1E94\\u01B5\\u0224\\u2C7F\\u2C6B\\uA762\",\n }, {\n base: 'a',\n chars: \"\\u24D0\\uFF41\\u1E9A\\u00E0\\u00E1\\u00E2\\u1EA7\\u1EA5\\u1EAB\\u1EA9\\u00E3\\u0101\\u0103\\u1EB1\\u1EAF\\u1EB5\\u1EB3\\u0227\\u01E1\\u00E4\\u01DF\\u1EA3\\u00E5\\u01FB\\u01CE\\u0201\\u0203\\u1EA1\\u1EAD\\u1EB7\\u1E01\\u0105\\u2C65\\u0250\\u0251\",\n }, {\n base: 'aa',\n chars: \"\\uA733\",\n }, {\n base: 'ae',\n chars: \"\\u00E6\\u01FD\\u01E3\",\n }, {\n base: 'ao',\n chars: \"\\uA735\",\n }, {\n base: 'au',\n chars: \"\\uA737\",\n }, {\n base: 'av',\n chars: \"\\uA739\\uA73B\",\n }, {\n base: 'ay',\n chars: \"\\uA73D\",\n }, {\n base: 'b',\n chars: \"\\u24D1\\uFF42\\u1E03\\u1E05\\u1E07\\u0180\\u0183\\u0253\\u0182\",\n }, {\n base: 'c',\n chars: \"\\uFF43\\u24D2\\u0107\\u0109\\u010B\\u010D\\u00E7\\u1E09\\u0188\\u023C\\uA73F\\u2184\",\n }, {\n base: 'd',\n chars: \"\\u24D3\\uFF44\\u1E0B\\u010F\\u1E0D\\u1E11\\u1E13\\u1E0F\\u0111\\u018C\\u0256\\u0257\\u018B\\u13E7\\u0501\\uA7AA\",\n }, {\n base: 'dh',\n chars: \"\\u00F0\",\n }, {\n base: 'dz',\n chars: \"\\u01F3\\u01C6\",\n }, {\n base: 'e',\n chars: \"\\u24D4\\uFF45\\u00E8\\u00E9\\u00EA\\u1EC1\\u1EBF\\u1EC5\\u1EC3\\u1EBD\\u0113\\u1E15\\u1E17\\u0115\\u0117\\u00EB\\u1EBB\\u011B\\u0205\\u0207\\u1EB9\\u1EC7\\u0229\\u1E1D\\u0119\\u1E19\\u1E1B\\u0247\\u01DD\",\n }, {\n base: 'f',\n chars: \"\\u24D5\\uFF46\\u1E1F\\u0192\",\n }, {\n base: 'ff',\n chars: \"\\uFB00\",\n }, {\n base: 'fi',\n chars: \"\\uFB01\",\n }, {\n base: 'fl',\n chars: \"\\uFB02\",\n }, {\n base: 'ffi',\n chars: \"\\uFB03\",\n }, {\n base: 'ffl',\n chars: \"\\uFB04\",\n }, {\n base: 'g',\n chars: \"\\u24D6\\uFF47\\u01F5\\u011D\\u1E21\\u011F\\u0121\\u01E7\\u0123\\u01E5\\u0260\\uA7A1\\uA77F\\u1D79\",\n }, {\n base: 'h',\n chars: \"\\u24D7\\uFF48\\u0125\\u1E23\\u1E27\\u021F\\u1E25\\u1E29\\u1E2B\\u1E96\\u0127\\u2C68\\u2C76\\u0265\",\n }, {\n base: 'hv',\n chars: \"\\u0195\",\n }, {\n base: 'i',\n chars: \"\\u24D8\\uFF49\\xEC\\xED\\xEE\\u0129\\u012B\\u012D\\xEF\\u1E2F\\u1EC9\\u01D0\\u0209\\u020B\\u1ECB\\u012F\\u1E2D\\u0268\\u0131\",\n }, {\n base: 'j',\n chars: \"\\u24D9\\uFF4A\\u0135\\u01F0\\u0249\",\n }, {\n base: 'k',\n chars: \"\\u24DA\\uFF4B\\u1E31\\u01E9\\u1E33\\u0137\\u1E35\\u0199\\u2C6A\\uA741\\uA743\\uA745\\uA7A3\",\n }, {\n base: 'l',\n chars: \"\\u24DB\\uFF4C\\u0140\\u013A\\u013E\\u1E37\\u1E39\\u013C\\u1E3D\\u1E3B\\u017F\\u0142\\u019A\\u026B\\u2C61\\uA749\\uA781\\uA747\\u026D\",\n }, {\n base: 'lj',\n chars: \"\\u01C9\",\n }, {\n base: 'm',\n chars: \"\\u24DC\\uFF4D\\u1E3F\\u1E41\\u1E43\\u0271\\u026F\",\n }, {\n base: 'n',\n chars: \"\\u24DD\\uFF4E\\u01F9\\u0144\\xF1\\u1E45\\u0148\\u1E47\\u0146\\u1E4B\\u1E49\\u019E\\u0272\\u0149\\uA791\\uA7A5\\u043B\\u0509\",\n }, {\n base: 'nj',\n chars: \"\\u01CC\",\n }, {\n base: 'o',\n chars: \"\\u24DE\\uFF4F\\xF2\\xF3\\xF4\\u1ED3\\u1ED1\\u1ED7\\u1ED5\\xF5\\u1E4D\\u022D\\u1E4F\\u014D\\u1E51\\u1E53\\u014F\\u022F\\u0231\\xF6\\u022B\\u1ECF\\u0151\\u01D2\\u020D\\u020F\\u01A1\\u1EDD\\u1EDB\\u1EE1\\u1EDF\\u1EE3\\u1ECD\\u1ED9\\u01EB\\u01ED\\xF8\\u01FF\\uA74B\\uA74D\\u0275\\u0254\\u1D11\",\n }, {\n base: 'oe',\n chars: \"\\u0153\",\n }, {\n base: 'oi',\n chars: \"\\u01A3\",\n }, {\n base: 'oo',\n chars: \"\\uA74F\",\n }, {\n base: 'ou',\n chars: \"\\u0223\",\n }, {\n base: 'p',\n chars: \"\\u24DF\\uFF50\\u1E55\\u1E57\\u01A5\\u1D7D\\uA751\\uA753\\uA755\\u03C1\",\n }, {\n base: 'q',\n chars: \"\\u24E0\\uFF51\\u024B\\uA757\\uA759\",\n }, {\n base: 'r',\n chars: \"\\u24E1\\uFF52\\u0155\\u1E59\\u0159\\u0211\\u0213\\u1E5B\\u1E5D\\u0157\\u1E5F\\u024D\\u027D\\uA75B\\uA7A7\\uA783\",\n }, {\n base: 's',\n chars: \"\\u24E2\\uFF53\\u015B\\u1E65\\u015D\\u1E61\\u0161\\u1E67\\u1E63\\u1E69\\u0219\\u015F\\u023F\\uA7A9\\uA785\\u1E9B\\u0282\",\n }, {\n base: 'ss',\n chars: \"\\xDF\",\n }, {\n base: 't',\n chars: \"\\u24E3\\uFF54\\u1E6B\\u1E97\\u0165\\u1E6D\\u021B\\u0163\\u1E71\\u1E6F\\u0167\\u01AD\\u0288\\u2C66\\uA787\",\n }, {\n base: 'th',\n chars: \"\\u00FE\",\n }, {\n base: 'tz',\n chars: \"\\uA729\",\n }, {\n base: 'u',\n chars: \"\\u24E4\\uFF55\\xF9\\xFA\\xFB\\u0169\\u1E79\\u016B\\u1E7B\\u016D\\xFC\\u01DC\\u01D8\\u01D6\\u01DA\\u1EE7\\u016F\\u0171\\u01D4\\u0215\\u0217\\u01B0\\u1EEB\\u1EE9\\u1EEF\\u1EED\\u1EF1\\u1EE5\\u1E73\\u0173\\u1E77\\u1E75\\u0289\",\n }, {\n base: 'v',\n chars: \"\\u24E5\\uFF56\\u1E7D\\u1E7F\\u028B\\uA75F\\u028C\",\n }, {\n base: 'vy',\n chars: \"\\uA761\",\n }, {\n base: 'w',\n chars: \"\\u24E6\\uFF57\\u1E81\\u1E83\\u0175\\u1E87\\u1E85\\u1E98\\u1E89\\u2C73\",\n }, {\n base: 'x',\n chars: \"\\u24E7\\uFF58\\u1E8B\\u1E8D\",\n }, {\n base: 'y',\n chars: \"\\u24E8\\uFF59\\u1EF3\\xFD\\u0177\\u1EF9\\u0233\\u1E8F\\xFF\\u1EF7\\u1E99\\u1EF5\\u01B4\\u024F\\u1EFF\",\n }, {\n base: 'z',\n chars: \"\\u24E9\\uFF5A\\u017A\\u1E91\\u017C\\u017E\\u1E93\\u1E95\\u01B6\\u0225\\u0240\\u2C6C\\uA763\",\n }\n];\n\nvar diacriticsMap = {};\nfor (var i = 0; i < replacementList.length; i += 1) {\n var chars = replacementList[i].chars;\n for (var j = 0; j < chars.length; j += 1) {\n diacriticsMap[chars[j]] = replacementList[i].base;\n }\n}\n\nfunction removeDiacritics(str) {\n return str.replace(/[^\\u0000-\\u007e]/g, function(c) {\n return diacriticsMap[c] || c;\n });\n}\n\nexports.replacementList = replacementList;\nexports.diacriticsMap = diacriticsMap;\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\n'use strict';\n\nvar emptyObject = {};\n\nif (process.env.NODE_ENV !== 'production') {\n Object.freeze(emptyObject);\n}\n\nmodule.exports = emptyObject;","/**\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\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 validateFormat = function validateFormat(format) {};\n\nif (process.env.NODE_ENV !== 'production') {\n validateFormat = function validateFormat(format) {\n if (format === undefined) {\n throw new Error('invariant requires an error message argument');\n }\n };\n}\n\nfunction invariant(condition, format, a, b, c, d, e, f) {\n validateFormat(format);\n\n if (!condition) {\n var error;\n if (format === undefined) {\n error = new Error('Minified exception occurred; use the non-minified dev environment ' + 'for the full error message and additional helpful warnings.');\n } else {\n var args = [a, b, c, d, e, f];\n var argIndex = 0;\n error = new Error(format.replace(/%s/g, function () {\n 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;","/**\nPrimary entry point, Node.js specific entry point is index.js\n*/\n\nimport * as Token from 'token-types';\nimport * as strtok3 from 'strtok3/core';\nimport {ZipHandler} from '@tokenizer/inflate';\nimport {includes, getUintBE} from 'uint8array-extras';\nimport {\n\tstringToBytes,\n\ttarHeaderChecksumMatches,\n\tuint32SyncSafeToken,\n} from './util.js';\nimport {extensions, mimeTypes} from './supported.js';\n\nexport const reasonableDetectionSizeInBytes = 4100; // A fair amount of file-types are detectable within this range.\n\nexport async function fileTypeFromStream(stream) {\n\treturn new FileTypeParser().fromStream(stream);\n}\n\nexport async function fileTypeFromBuffer(input) {\n\treturn new FileTypeParser().fromBuffer(input);\n}\n\nexport async function fileTypeFromBlob(blob) {\n\treturn new FileTypeParser().fromBlob(blob);\n}\n\nfunction getFileTypeFromMimeType(mimeType) {\n\tswitch (mimeType) {\n\t\tcase 'application/epub+zip':\n\t\t\treturn {\n\t\t\t\text: 'epub',\n\t\t\t\tmime: 'application/epub+zip',\n\t\t\t};\n\t\tcase 'application/vnd.oasis.opendocument.text':\n\t\t\treturn {\n\t\t\t\text: 'odt',\n\t\t\t\tmime: 'application/vnd.oasis.opendocument.text',\n\t\t\t};\n\t\tcase 'application/vnd.oasis.opendocument.text-template':\n\t\t\treturn {\n\t\t\t\text: 'ott',\n\t\t\t\tmime: 'application/vnd.oasis.opendocument.text-template',\n\t\t\t};\n\t\tcase 'application/vnd.oasis.opendocument.spreadsheet':\n\t\t\treturn {\n\t\t\t\text: 'ods',\n\t\t\t\tmime: 'application/vnd.oasis.opendocument.spreadsheet',\n\t\t\t};\n\t\tcase 'application/vnd.oasis.opendocument.spreadsheet-template':\n\t\t\treturn {\n\t\t\t\text: 'ots',\n\t\t\t\tmime: 'application/vnd.oasis.opendocument.spreadsheet-template',\n\t\t\t};\n\t\tcase 'application/vnd.oasis.opendocument.presentation':\n\t\t\treturn {\n\t\t\t\text: 'odp',\n\t\t\t\tmime: 'application/vnd.oasis.opendocument.presentation',\n\t\t\t};\n\t\tcase 'application/vnd.oasis.opendocument.presentation-template':\n\t\t\treturn {\n\t\t\t\text: 'otp',\n\t\t\t\tmime: 'application/vnd.oasis.opendocument.presentation-template',\n\t\t\t};\n\t\tcase 'application/vnd.oasis.opendocument.graphics':\n\t\t\treturn {\n\t\t\t\text: 'odg',\n\t\t\t\tmime: 'application/vnd.oasis.opendocument.graphics',\n\t\t\t};\n\t\tcase 'application/vnd.oasis.opendocument.graphics-template':\n\t\t\treturn {\n\t\t\t\text: 'otg',\n\t\t\t\tmime: 'application/vnd.oasis.opendocument.graphics-template',\n\t\t\t};\n\t\tcase 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet':\n\t\t\treturn {\n\t\t\t\text: 'xlsx',\n\t\t\t\tmime: 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet',\n\t\t\t};\n\t\tcase 'application/vnd.ms-excel.sheet.macroEnabled':\n\t\t\treturn {\n\t\t\t\text: 'xlsm',\n\t\t\t\tmime: 'application/vnd.ms-excel.sheet.macroEnabled.12',\n\t\t\t};\n\t\tcase 'application/vnd.openxmlformats-officedocument.spreadsheetml.template':\n\t\t\treturn {\n\t\t\t\text: 'xltx',\n\t\t\t\tmime: 'application/vnd.openxmlformats-officedocument.spreadsheetml.template',\n\t\t\t};\n\t\tcase 'application/vnd.ms-excel.template.macroEnabled':\n\t\t\treturn {\n\t\t\t\text: 'xltm',\n\t\t\t\tmime: 'application/vnd.ms-excel.template.macroenabled.12',\n\t\t\t};\n\t\tcase 'application/vnd.openxmlformats-officedocument.wordprocessingml.document':\n\t\t\treturn {\n\t\t\t\text: 'docx',\n\t\t\t\tmime: 'application/vnd.openxmlformats-officedocument.wordprocessingml.document',\n\t\t\t};\n\t\tcase 'application/vnd.ms-word.document.macroEnabled':\n\t\t\treturn {\n\t\t\t\text: 'docm',\n\t\t\t\tmime: 'application/vnd.ms-word.document.macroEnabled.12',\n\t\t\t};\n\t\tcase 'application/vnd.openxmlformats-officedocument.wordprocessingml.template':\n\t\t\treturn {\n\t\t\t\text: 'dotx',\n\t\t\t\tmime: 'application/vnd.openxmlformats-officedocument.wordprocessingml.template',\n\t\t\t};\n\t\tcase 'application/vnd.ms-word.template.macroEnabledTemplate':\n\t\t\treturn {\n\t\t\t\text: 'dotm',\n\t\t\t\tmime: 'application/vnd.ms-word.template.macroEnabled.12',\n\t\t\t};\n\t\tcase 'application/vnd.openxmlformats-officedocument.presentationml.template':\n\t\t\treturn {\n\t\t\t\text: 'potx',\n\t\t\t\tmime: 'application/vnd.openxmlformats-officedocument.presentationml.template',\n\t\t\t};\n\t\tcase 'application/vnd.ms-powerpoint.template.macroEnabled':\n\t\t\treturn {\n\t\t\t\text: 'potm',\n\t\t\t\tmime: 'application/vnd.ms-powerpoint.template.macroEnabled.12',\n\t\t\t};\n\t\tcase 'application/vnd.openxmlformats-officedocument.presentationml.presentation':\n\t\t\treturn {\n\t\t\t\text: 'pptx',\n\t\t\t\tmime: 'application/vnd.openxmlformats-officedocument.presentationml.presentation',\n\t\t\t};\n\t\tcase 'application/vnd.ms-powerpoint.presentation.macroEnabled':\n\t\t\treturn {\n\t\t\t\text: 'pptm',\n\t\t\t\tmime: 'application/vnd.ms-powerpoint.presentation.macroEnabled.12',\n\t\t\t};\n\t\tcase 'application/vnd.ms-visio.drawing':\n\t\t\treturn {\n\t\t\t\text: 'vsdx',\n\t\t\t\tmime: 'application/vnd.visio',\n\t\t\t};\n\t\tcase 'application/vnd.ms-package.3dmanufacturing-3dmodel+xml':\n\t\t\treturn {\n\t\t\t\text: '3mf',\n\t\t\t\tmime: 'model/3mf',\n\t\t\t};\n\t\tdefault:\n\t}\n}\n\nfunction _check(buffer, headers, options) {\n\toptions = {\n\t\toffset: 0,\n\t\t...options,\n\t};\n\n\tfor (const [index, header] of headers.entries()) {\n\t\t// If a bitmask is set\n\t\tif (options.mask) {\n\t\t\t// If header doesn't equal `buf` with bits masked off\n\t\t\tif (header !== (options.mask[index] & buffer[index + options.offset])) {\n\t\t\t\treturn false;\n\t\t\t}\n\t\t} else if (header !== buffer[index + options.offset]) {\n\t\t\treturn false;\n\t\t}\n\t}\n\n\treturn true;\n}\n\nexport async function fileTypeFromTokenizer(tokenizer) {\n\treturn new FileTypeParser().fromTokenizer(tokenizer);\n}\n\nexport async function fileTypeStream(webStream, options) {\n\treturn new FileTypeParser(options).toDetectionStream(webStream, options);\n}\n\nexport class FileTypeParser {\n\tconstructor(options) {\n\t\tthis.detectors = [...(options?.customDetectors ?? []),\n\t\t\t{id: 'core', detect: this.detectConfident},\n\t\t\t{id: 'core.imprecise', detect: this.detectImprecise}];\n\t\tthis.tokenizerOptions = {\n\t\t\tabortSignal: options?.signal,\n\t\t};\n\t}\n\n\tasync fromTokenizer(tokenizer) {\n\t\tconst initialPosition = tokenizer.position;\n\n\t\t// Iterate through all file-type detectors\n\t\tfor (const detector of this.detectors) {\n\t\t\tconst fileType = await detector.detect(tokenizer);\n\t\t\tif (fileType) {\n\t\t\t\treturn fileType;\n\t\t\t}\n\n\t\t\tif (initialPosition !== tokenizer.position) {\n\t\t\t\treturn undefined; // Cannot proceed scanning of the tokenizer is at an arbitrary position\n\t\t\t}\n\t\t}\n\t}\n\n\tasync fromBuffer(input) {\n\t\tif (!(input instanceof Uint8Array || input instanceof ArrayBuffer)) {\n\t\t\tthrow new TypeError(`Expected the \\`input\\` argument to be of type \\`Uint8Array\\` or \\`ArrayBuffer\\`, got \\`${typeof input}\\``);\n\t\t}\n\n\t\tconst buffer = input instanceof Uint8Array ? input : new Uint8Array(input);\n\n\t\tif (!(buffer?.length > 1)) {\n\t\t\treturn;\n\t\t}\n\n\t\treturn this.fromTokenizer(strtok3.fromBuffer(buffer, this.tokenizerOptions));\n\t}\n\n\tasync fromBlob(blob) {\n\t\treturn this.fromStream(blob.stream());\n\t}\n\n\tasync fromStream(stream) {\n\t\tconst tokenizer = await strtok3.fromWebStream(stream, this.tokenizerOptions);\n\t\ttry {\n\t\t\treturn await this.fromTokenizer(tokenizer);\n\t\t} finally {\n\t\t\tawait tokenizer.close();\n\t\t}\n\t}\n\n\tasync toDetectionStream(stream, options) {\n\t\tconst {sampleSize = reasonableDetectionSizeInBytes} = options;\n\t\tlet detectedFileType;\n\t\tlet firstChunk;\n\n\t\tconst reader = stream.getReader({mode: 'byob'});\n\t\ttry {\n\t\t\t// Read the first chunk from the stream\n\t\t\tconst {value: chunk, done} = await reader.read(new Uint8Array(sampleSize));\n\t\t\tfirstChunk = chunk;\n\t\t\tif (!done && chunk) {\n\t\t\t\ttry {\n\t\t\t\t\t// Attempt to detect the file type from the chunk\n\t\t\t\t\tdetectedFileType = await this.fromBuffer(chunk.slice(0, sampleSize));\n\t\t\t\t} catch (error) {\n\t\t\t\t\tif (!(error instanceof strtok3.EndOfStreamError)) {\n\t\t\t\t\t\tthrow error; // Re-throw non-EndOfStreamError\n\t\t\t\t\t}\n\n\t\t\t\t\tdetectedFileType = undefined;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tfirstChunk = chunk;\n\t\t} finally {\n\t\t\treader.releaseLock(); // Ensure the reader is released\n\t\t}\n\n\t\t// Create a new ReadableStream to manage locking issues\n\t\tconst transformStream = new TransformStream({\n\t\t\tasync start(controller) {\n\t\t\t\tcontroller.enqueue(firstChunk); // Enqueue the initial chunk\n\t\t\t},\n\t\t\ttransform(chunk, controller) {\n\t\t\t\t// Pass through the chunks without modification\n\t\t\t\tcontroller.enqueue(chunk);\n\t\t\t},\n\t\t});\n\n\t\tconst newStream = stream.pipeThrough(transformStream);\n\t\tnewStream.fileType = detectedFileType;\n\n\t\treturn newStream;\n\t}\n\n\tcheck(header, options) {\n\t\treturn _check(this.buffer, header, options);\n\t}\n\n\tcheckString(header, options) {\n\t\treturn this.check(stringToBytes(header), options);\n\t}\n\n\t// Detections with a high degree of certainty in identifying the correct file type\n\tdetectConfident = async tokenizer => {\n\t\tthis.buffer = new Uint8Array(reasonableDetectionSizeInBytes);\n\n\t\t// Keep reading until EOF if the file size is unknown.\n\t\tif (tokenizer.fileInfo.size === undefined) {\n\t\t\ttokenizer.fileInfo.size = Number.MAX_SAFE_INTEGER;\n\t\t}\n\n\t\tthis.tokenizer = tokenizer;\n\n\t\tawait tokenizer.peekBuffer(this.buffer, {length: 12, mayBeLess: true});\n\n\t\t// -- 2-byte signatures --\n\n\t\tif (this.check([0x42, 0x4D])) {\n\t\t\treturn {\n\t\t\t\text: 'bmp',\n\t\t\t\tmime: 'image/bmp',\n\t\t\t};\n\t\t}\n\n\t\tif (this.check([0x0B, 0x77])) {\n\t\t\treturn {\n\t\t\t\text: 'ac3',\n\t\t\t\tmime: 'audio/vnd.dolby.dd-raw',\n\t\t\t};\n\t\t}\n\n\t\tif (this.check([0x78, 0x01])) {\n\t\t\treturn {\n\t\t\t\text: 'dmg',\n\t\t\t\tmime: 'application/x-apple-diskimage',\n\t\t\t};\n\t\t}\n\n\t\tif (this.check([0x4D, 0x5A])) {\n\t\t\treturn {\n\t\t\t\text: 'exe',\n\t\t\t\tmime: 'application/x-msdownload',\n\t\t\t};\n\t\t}\n\n\t\tif (this.check([0x25, 0x21])) {\n\t\t\tawait tokenizer.peekBuffer(this.buffer, {length: 24, mayBeLess: true});\n\n\t\t\tif (\n\t\t\t\tthis.checkString('PS-Adobe-', {offset: 2})\n\t\t\t\t&& this.checkString(' EPSF-', {offset: 14})\n\t\t\t) {\n\t\t\t\treturn {\n\t\t\t\t\text: 'eps',\n\t\t\t\t\tmime: 'application/eps',\n\t\t\t\t};\n\t\t\t}\n\n\t\t\treturn {\n\t\t\t\text: 'ps',\n\t\t\t\tmime: 'application/postscript',\n\t\t\t};\n\t\t}\n\n\t\tif (\n\t\t\tthis.check([0x1F, 0xA0])\n\t\t\t|| this.check([0x1F, 0x9D])\n\t\t) {\n\t\t\treturn {\n\t\t\t\text: 'Z',\n\t\t\t\tmime: 'application/x-compress',\n\t\t\t};\n\t\t}\n\n\t\tif (this.check([0xC7, 0x71])) {\n\t\t\treturn {\n\t\t\t\text: 'cpio',\n\t\t\t\tmime: 'application/x-cpio',\n\t\t\t};\n\t\t}\n\n\t\tif (this.check([0x60, 0xEA])) {\n\t\t\treturn {\n\t\t\t\text: 'arj',\n\t\t\t\tmime: 'application/x-arj',\n\t\t\t};\n\t\t}\n\n\t\t// -- 3-byte signatures --\n\n\t\tif (this.check([0xEF, 0xBB, 0xBF])) { // UTF-8-BOM\n\t\t\t// Strip off UTF-8-BOM\n\t\t\tthis.tokenizer.ignore(3);\n\t\t\treturn this.detectConfident(tokenizer);\n\t\t}\n\n\t\tif (this.check([0x47, 0x49, 0x46])) {\n\t\t\treturn {\n\t\t\t\text: 'gif',\n\t\t\t\tmime: 'image/gif',\n\t\t\t};\n\t\t}\n\n\t\tif (this.check([0x49, 0x49, 0xBC])) {\n\t\t\treturn {\n\t\t\t\text: 'jxr',\n\t\t\t\tmime: 'image/vnd.ms-photo',\n\t\t\t};\n\t\t}\n\n\t\tif (this.check([0x1F, 0x8B, 0x8])) {\n\t\t\treturn {\n\t\t\t\text: 'gz',\n\t\t\t\tmime: 'application/gzip',\n\t\t\t};\n\t\t}\n\n\t\tif (this.check([0x42, 0x5A, 0x68])) {\n\t\t\treturn {\n\t\t\t\text: 'bz2',\n\t\t\t\tmime: 'application/x-bzip2',\n\t\t\t};\n\t\t}\n\n\t\tif (this.checkString('ID3')) {\n\t\t\tawait tokenizer.ignore(6); // Skip ID3 header until the header size\n\t\t\tconst id3HeaderLength = await tokenizer.readToken(uint32SyncSafeToken);\n\t\t\tif (tokenizer.position + id3HeaderLength > tokenizer.fileInfo.size) {\n\t\t\t\t// Guess file type based on ID3 header for backward compatibility\n\t\t\t\treturn {\n\t\t\t\t\text: 'mp3',\n\t\t\t\t\tmime: 'audio/mpeg',\n\t\t\t\t};\n\t\t\t}\n\n\t\t\tawait tokenizer.ignore(id3HeaderLength);\n\t\t\treturn this.fromTokenizer(tokenizer); // Skip ID3 header, recursion\n\t\t}\n\n\t\t// Musepack, SV7\n\t\tif (this.checkString('MP+')) {\n\t\t\treturn {\n\t\t\t\text: 'mpc',\n\t\t\t\tmime: 'audio/x-musepack',\n\t\t\t};\n\t\t}\n\n\t\tif (\n\t\t\t(this.buffer[0] === 0x43 || this.buffer[0] === 0x46)\n\t\t\t&& this.check([0x57, 0x53], {offset: 1})\n\t\t) {\n\t\t\treturn {\n\t\t\t\text: 'swf',\n\t\t\t\tmime: 'application/x-shockwave-flash',\n\t\t\t};\n\t\t}\n\n\t\t// -- 4-byte signatures --\n\n\t\t// Requires a sample size of 4 bytes\n\t\tif (this.check([0xFF, 0xD8, 0xFF])) {\n\t\t\tif (this.check([0xF7], {offset: 3})) { // JPG7/SOF55, indicating a ISO/IEC 14495 / JPEG-LS file\n\t\t\t\treturn {\n\t\t\t\t\text: 'jls',\n\t\t\t\t\tmime: 'image/jls',\n\t\t\t\t};\n\t\t\t}\n\n\t\t\treturn {\n\t\t\t\text: 'jpg',\n\t\t\t\tmime: 'image/jpeg',\n\t\t\t};\n\t\t}\n\n\t\tif (this.check([0x4F, 0x62, 0x6A, 0x01])) {\n\t\t\treturn {\n\t\t\t\text: 'avro',\n\t\t\t\tmime: 'application/avro',\n\t\t\t};\n\t\t}\n\n\t\tif (this.checkString('FLIF')) {\n\t\t\treturn {\n\t\t\t\text: 'flif',\n\t\t\t\tmime: 'image/flif',\n\t\t\t};\n\t\t}\n\n\t\tif (this.checkString('8BPS')) {\n\t\t\treturn {\n\t\t\t\text: 'psd',\n\t\t\t\tmime: 'image/vnd.adobe.photoshop',\n\t\t\t};\n\t\t}\n\n\t\t// Musepack, SV8\n\t\tif (this.checkString('MPCK')) {\n\t\t\treturn {\n\t\t\t\text: 'mpc',\n\t\t\t\tmime: 'audio/x-musepack',\n\t\t\t};\n\t\t}\n\n\t\tif (this.checkString('FORM')) {\n\t\t\treturn {\n\t\t\t\text: 'aif',\n\t\t\t\tmime: 'audio/aiff',\n\t\t\t};\n\t\t}\n\n\t\tif (this.checkString('icns', {offset: 0})) {\n\t\t\treturn {\n\t\t\t\text: 'icns',\n\t\t\t\tmime: 'image/icns',\n\t\t\t};\n\t\t}\n\n\t\t// Zip-based file formats\n\t\t// Need to be before the `zip` check\n\t\tif (this.check([0x50, 0x4B, 0x3, 0x4])) { // Local file header signature\n\t\t\tlet fileType;\n\t\t\tawait new ZipHandler(tokenizer).unzip(zipHeader => {\n\t\t\t\tswitch (zipHeader.filename) {\n\t\t\t\t\tcase 'META-INF/mozilla.rsa':\n\t\t\t\t\t\tfileType = {\n\t\t\t\t\t\t\text: 'xpi',\n\t\t\t\t\t\t\tmime: 'application/x-xpinstall',\n\t\t\t\t\t\t};\n\t\t\t\t\t\treturn {\n\t\t\t\t\t\t\tstop: true,\n\t\t\t\t\t\t};\n\t\t\t\t\tcase 'META-INF/MANIFEST.MF':\n\t\t\t\t\t\tfileType = {\n\t\t\t\t\t\t\text: 'jar',\n\t\t\t\t\t\t\tmime: 'application/java-archive',\n\t\t\t\t\t\t};\n\t\t\t\t\t\treturn {\n\t\t\t\t\t\t\tstop: true,\n\t\t\t\t\t\t};\n\t\t\t\t\tcase 'mimetype':\n\t\t\t\t\t\treturn {\n\t\t\t\t\t\t\tasync handler(fileData) {\n\t\t\t\t\t\t\t\t// Use TextDecoder to decode the UTF-8 encoded data\n\t\t\t\t\t\t\t\tconst mimeType = new TextDecoder('utf-8').decode(fileData).trim();\n\t\t\t\t\t\t\t\tfileType = getFileTypeFromMimeType(mimeType);\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tstop: true,\n\t\t\t\t\t\t};\n\n\t\t\t\t\tcase '[Content_Types].xml':\n\t\t\t\t\t\treturn {\n\t\t\t\t\t\t\tasync handler(fileData) {\n\t\t\t\t\t\t\t\t// Use TextDecoder to decode the UTF-8 encoded data\n\t\t\t\t\t\t\t\tlet xmlContent = new TextDecoder('utf-8').decode(fileData);\n\t\t\t\t\t\t\t\tconst endPos = xmlContent.indexOf('.main+xml\"');\n\t\t\t\t\t\t\t\tif (endPos === -1) {\n\t\t\t\t\t\t\t\t\tconst mimeType = 'application/vnd.ms-package.3dmanufacturing-3dmodel+xml';\n\t\t\t\t\t\t\t\t\tif (xmlContent.includes(`ContentType=\"${mimeType}\"`)) {\n\t\t\t\t\t\t\t\t\t\tfileType = getFileTypeFromMimeType(mimeType);\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t\txmlContent = xmlContent.slice(0, Math.max(0, endPos));\n\t\t\t\t\t\t\t\t\tconst firstPos = xmlContent.lastIndexOf('\"');\n\t\t\t\t\t\t\t\t\tconst mimeType = xmlContent.slice(Math.max(0, firstPos + 1));\n\t\t\t\t\t\t\t\t\tfileType = getFileTypeFromMimeType(mimeType);\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tstop: true,\n\t\t\t\t\t\t};\n\t\t\t\t\tdefault:\n\t\t\t\t\t\tif (/classes\\d*\\.dex/.test(zipHeader.filename)) {\n\t\t\t\t\t\t\tfileType = {\n\t\t\t\t\t\t\t\text: 'apk',\n\t\t\t\t\t\t\t\tmime: 'application/vnd.android.package-archive',\n\t\t\t\t\t\t\t};\n\t\t\t\t\t\t\treturn {stop: true};\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\treturn {};\n\t\t\t\t}\n\t\t\t});\n\n\t\t\treturn fileType ?? {\n\t\t\t\text: 'zip',\n\t\t\t\tmime: 'application/zip',\n\t\t\t};\n\t\t}\n\n\t\tif (this.checkString('OggS')) {\n\t\t\t// This is an OGG container\n\t\t\tawait tokenizer.ignore(28);\n\t\t\tconst type = new Uint8Array(8);\n\t\t\tawait tokenizer.readBuffer(type);\n\n\t\t\t// Needs to be before `ogg` check\n\t\t\tif (_check(type, [0x4F, 0x70, 0x75, 0x73, 0x48, 0x65, 0x61, 0x64])) {\n\t\t\t\treturn {\n\t\t\t\t\text: 'opus',\n\t\t\t\t\tmime: 'audio/ogg; codecs=opus',\n\t\t\t\t};\n\t\t\t}\n\n\t\t\t// If ' theora' in header.\n\t\t\tif (_check(type, [0x80, 0x74, 0x68, 0x65, 0x6F, 0x72, 0x61])) {\n\t\t\t\treturn {\n\t\t\t\t\text: 'ogv',\n\t\t\t\t\tmime: 'video/ogg',\n\t\t\t\t};\n\t\t\t}\n\n\t\t\t// If '\\x01video' in header.\n\t\t\tif (_check(type, [0x01, 0x76, 0x69, 0x64, 0x65, 0x6F, 0x00])) {\n\t\t\t\treturn {\n\t\t\t\t\text: 'ogm',\n\t\t\t\t\tmime: 'video/ogg',\n\t\t\t\t};\n\t\t\t}\n\n\t\t\t// If ' FLAC' in header https://xiph.org/flac/faq.html\n\t\t\tif (_check(type, [0x7F, 0x46, 0x4C, 0x41, 0x43])) {\n\t\t\t\treturn {\n\t\t\t\t\text: 'oga',\n\t\t\t\t\tmime: 'audio/ogg',\n\t\t\t\t};\n\t\t\t}\n\n\t\t\t// 'Speex ' in header https://en.wikipedia.org/wiki/Speex\n\t\t\tif (_check(type, [0x53, 0x70, 0x65, 0x65, 0x78, 0x20, 0x20])) {\n\t\t\t\treturn {\n\t\t\t\t\text: 'spx',\n\t\t\t\t\tmime: 'audio/ogg',\n\t\t\t\t};\n\t\t\t}\n\n\t\t\t// If '\\x01vorbis' in header\n\t\t\tif (_check(type, [0x01, 0x76, 0x6F, 0x72, 0x62, 0x69, 0x73])) {\n\t\t\t\treturn {\n\t\t\t\t\text: 'ogg',\n\t\t\t\t\tmime: 'audio/ogg',\n\t\t\t\t};\n\t\t\t}\n\n\t\t\t// Default OGG container https://www.iana.org/assignments/media-types/application/ogg\n\t\t\treturn {\n\t\t\t\text: 'ogx',\n\t\t\t\tmime: 'application/ogg',\n\t\t\t};\n\t\t}\n\n\t\tif (\n\t\t\tthis.check([0x50, 0x4B])\n\t\t\t&& (this.buffer[2] === 0x3 || this.buffer[2] === 0x5 || this.buffer[2] === 0x7)\n\t\t\t&& (this.buffer[3] === 0x4 || this.buffer[3] === 0x6 || this.buffer[3] === 0x8)\n\t\t) {\n\t\t\treturn {\n\t\t\t\text: 'zip',\n\t\t\t\tmime: 'application/zip',\n\t\t\t};\n\t\t}\n\n\t\tif (this.checkString('MThd')) {\n\t\t\treturn {\n\t\t\t\text: 'mid',\n\t\t\t\tmime: 'audio/midi',\n\t\t\t};\n\t\t}\n\n\t\tif (\n\t\t\tthis.checkString('wOFF')\n\t\t\t&& (\n\t\t\t\tthis.check([0x00, 0x01, 0x00, 0x00], {offset: 4})\n\t\t\t\t|| this.checkString('OTTO', {offset: 4})\n\t\t\t)\n\t\t) {\n\t\t\treturn {\n\t\t\t\text: 'woff',\n\t\t\t\tmime: 'font/woff',\n\t\t\t};\n\t\t}\n\n\t\tif (\n\t\t\tthis.checkString('wOF2')\n\t\t\t&& (\n\t\t\t\tthis.check([0x00, 0x01, 0x00, 0x00], {offset: 4})\n\t\t\t\t|| this.checkString('OTTO', {offset: 4})\n\t\t\t)\n\t\t) {\n\t\t\treturn {\n\t\t\t\text: 'woff2',\n\t\t\t\tmime: 'font/woff2',\n\t\t\t};\n\t\t}\n\n\t\tif (this.check([0xD4, 0xC3, 0xB2, 0xA1]) || this.check([0xA1, 0xB2, 0xC3, 0xD4])) {\n\t\t\treturn {\n\t\t\t\text: 'pcap',\n\t\t\t\tmime: 'application/vnd.tcpdump.pcap',\n\t\t\t};\n\t\t}\n\n\t\t// Sony DSD Stream File (DSF)\n\t\tif (this.checkString('DSD ')) {\n\t\t\treturn {\n\t\t\t\text: 'dsf',\n\t\t\t\tmime: 'audio/x-dsf', // Non-standard\n\t\t\t};\n\t\t}\n\n\t\tif (this.checkString('LZIP')) {\n\t\t\treturn {\n\t\t\t\text: 'lz',\n\t\t\t\tmime: 'application/x-lzip',\n\t\t\t};\n\t\t}\n\n\t\tif (this.checkString('fLaC')) {\n\t\t\treturn {\n\t\t\t\text: 'flac',\n\t\t\t\tmime: 'audio/x-flac',\n\t\t\t};\n\t\t}\n\n\t\tif (this.check([0x42, 0x50, 0x47, 0xFB])) {\n\t\t\treturn {\n\t\t\t\text: 'bpg',\n\t\t\t\tmime: 'image/bpg',\n\t\t\t};\n\t\t}\n\n\t\tif (this.checkString('wvpk')) {\n\t\t\treturn {\n\t\t\t\text: 'wv',\n\t\t\t\tmime: 'audio/wavpack',\n\t\t\t};\n\t\t}\n\n\t\tif (this.checkString('%PDF')) {\n\t\t\ttry {\n\t\t\t\tconst skipBytes = 1350;\n\t\t\t\tif (skipBytes === await tokenizer.ignore(skipBytes)) {\n\t\t\t\t\tconst maxBufferSize = 10 * 1024 * 1024;\n\t\t\t\t\tconst buffer = new Uint8Array(Math.min(maxBufferSize, tokenizer.fileInfo.size - skipBytes));\n\t\t\t\t\tawait tokenizer.readBuffer(buffer, {mayBeLess: true});\n\n\t\t\t\t\t// Check if this is an Adobe Illustrator file\n\t\t\t\t\tif (includes(buffer, new TextEncoder().encode('AIPrivateData'))) {\n\t\t\t\t\t\treturn {\n\t\t\t\t\t\t\text: 'ai',\n\t\t\t\t\t\t\tmime: 'application/postscript',\n\t\t\t\t\t\t};\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t} catch (error) {\n\t\t\t\t// Swallow end of stream error if file is too small for the Adobe AI check\n\t\t\t\tif (!(error instanceof strtok3.EndOfStreamError)) {\n\t\t\t\t\tthrow error;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// Assume this is just a normal PDF\n\t\t\treturn {\n\t\t\t\text: 'pdf',\n\t\t\t\tmime: 'application/pdf',\n\t\t\t};\n\t\t}\n\n\t\tif (this.check([0x00, 0x61, 0x73, 0x6D])) {\n\t\t\treturn {\n\t\t\t\text: 'wasm',\n\t\t\t\tmime: 'application/wasm',\n\t\t\t};\n\t\t}\n\n\t\t// TIFF, little-endian type\n\t\tif (this.check([0x49, 0x49])) {\n\t\t\tconst fileType = await this.readTiffHeader(false);\n\t\t\tif (fileType) {\n\t\t\t\treturn fileType;\n\t\t\t}\n\t\t}\n\n\t\t// TIFF, big-endian type\n\t\tif (this.check([0x4D, 0x4D])) {\n\t\t\tconst fileType = await this.readTiffHeader(true);\n\t\t\tif (fileType) {\n\t\t\t\treturn fileType;\n\t\t\t}\n\t\t}\n\n\t\tif (this.checkString('MAC ')) {\n\t\t\treturn {\n\t\t\t\text: 'ape',\n\t\t\t\tmime: 'audio/ape',\n\t\t\t};\n\t\t}\n\n\t\t// https://github.com/file/file/blob/master/magic/Magdir/matroska\n\t\tif (this.check([0x1A, 0x45, 0xDF, 0xA3])) { // Root element: EBML\n\t\t\tasync function readField() {\n\t\t\t\tconst msb = await tokenizer.peekNumber(Token.UINT8);\n\t\t\t\tlet mask = 0x80;\n\t\t\t\tlet ic = 0; // 0 = A, 1 = B, 2 = C, 3 = D\n\n\t\t\t\twhile ((msb & mask) === 0 && mask !== 0) {\n\t\t\t\t\t++ic;\n\t\t\t\t\tmask >>= 1;\n\t\t\t\t}\n\n\t\t\t\tconst id = new Uint8Array(ic + 1);\n\t\t\t\tawait tokenizer.readBuffer(id);\n\t\t\t\treturn id;\n\t\t\t}\n\n\t\t\tasync function readElement() {\n\t\t\t\tconst idField = await readField();\n\t\t\t\tconst lengthField = await readField();\n\n\t\t\t\tlengthField[0] ^= 0x80 >> (lengthField.length - 1);\n\t\t\t\tconst nrLength = Math.min(6, lengthField.length); // JavaScript can max read 6 bytes integer\n\n\t\t\t\tconst idView = new DataView(idField.buffer);\n\t\t\t\tconst lengthView = new DataView(lengthField.buffer, lengthField.length - nrLength, nrLength);\n\n\t\t\t\treturn {\n\t\t\t\t\tid: getUintBE(idView),\n\t\t\t\t\tlen: getUintBE(lengthView),\n\t\t\t\t};\n\t\t\t}\n\n\t\t\tasync function readChildren(children) {\n\t\t\t\twhile (children > 0) {\n\t\t\t\t\tconst element = await readElement();\n\t\t\t\t\tif (element.id === 0x42_82) {\n\t\t\t\t\t\tconst rawValue = await tokenizer.readToken(new Token.StringType(element.len));\n\t\t\t\t\t\treturn rawValue.replaceAll(/\\00.*$/g, ''); // Return DocType\n\t\t\t\t\t}\n\n\t\t\t\t\tawait tokenizer.ignore(element.len); // ignore payload\n\t\t\t\t\t--children;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tconst re = await readElement();\n\t\t\tconst documentType = await readChildren(re.len);\n\n\t\t\tswitch (documentType) {\n\t\t\t\tcase 'webm':\n\t\t\t\t\treturn {\n\t\t\t\t\t\text: 'webm',\n\t\t\t\t\t\tmime: 'video/webm',\n\t\t\t\t\t};\n\n\t\t\t\tcase 'matroska':\n\t\t\t\t\treturn {\n\t\t\t\t\t\text: 'mkv',\n\t\t\t\t\t\tmime: 'video/x-matroska',\n\t\t\t\t\t};\n\n\t\t\t\tdefault:\n\t\t\t\t\treturn;\n\t\t\t}\n\t\t}\n\n\t\tif (this.checkString('SQLi')) {\n\t\t\treturn {\n\t\t\t\text: 'sqlite',\n\t\t\t\tmime: 'application/x-sqlite3',\n\t\t\t};\n\t\t}\n\n\t\tif (this.check([0x4E, 0x45, 0x53, 0x1A])) {\n\t\t\treturn {\n\t\t\t\text: 'nes',\n\t\t\t\tmime: 'application/x-nintendo-nes-rom',\n\t\t\t};\n\t\t}\n\n\t\tif (this.checkString('Cr24')) {\n\t\t\treturn {\n\t\t\t\text: 'crx',\n\t\t\t\tmime: 'application/x-google-chrome-extension',\n\t\t\t};\n\t\t}\n\n\t\tif (\n\t\t\tthis.checkString('MSCF')\n\t\t\t|| this.checkString('ISc(')\n\t\t) {\n\t\t\treturn {\n\t\t\t\text: 'cab',\n\t\t\t\tmime: 'application/vnd.ms-cab-compressed',\n\t\t\t};\n\t\t}\n\n\t\tif (this.check([0xED, 0xAB, 0xEE, 0xDB])) {\n\t\t\treturn {\n\t\t\t\text: 'rpm',\n\t\t\t\tmime: 'application/x-rpm',\n\t\t\t};\n\t\t}\n\n\t\tif (this.check([0xC5, 0xD0, 0xD3, 0xC6])) {\n\t\t\treturn {\n\t\t\t\text: 'eps',\n\t\t\t\tmime: 'application/eps',\n\t\t\t};\n\t\t}\n\n\t\tif (this.check([0x28, 0xB5, 0x2F, 0xFD])) {\n\t\t\treturn {\n\t\t\t\text: 'zst',\n\t\t\t\tmime: 'application/zstd',\n\t\t\t};\n\t\t}\n\n\t\tif (this.check([0x7F, 0x45, 0x4C, 0x46])) {\n\t\t\treturn {\n\t\t\t\text: 'elf',\n\t\t\t\tmime: 'application/x-elf',\n\t\t\t};\n\t\t}\n\n\t\tif (this.check([0x21, 0x42, 0x44, 0x4E])) {\n\t\t\treturn {\n\t\t\t\text: 'pst',\n\t\t\t\tmime: 'application/vnd.ms-outlook',\n\t\t\t};\n\t\t}\n\n\t\tif (this.checkString('PAR1')) {\n\t\t\treturn {\n\t\t\t\text: 'parquet',\n\t\t\t\tmime: 'application/x-parquet',\n\t\t\t};\n\t\t}\n\n\t\tif (this.checkString('ttcf')) {\n\t\t\treturn {\n\t\t\t\text: 'ttc',\n\t\t\t\tmime: 'font/collection',\n\t\t\t};\n\t\t}\n\n\t\tif (this.check([0xCF, 0xFA, 0xED, 0xFE])) {\n\t\t\treturn {\n\t\t\t\text: 'macho',\n\t\t\t\tmime: 'application/x-mach-binary',\n\t\t\t};\n\t\t}\n\n\t\tif (this.check([0x04, 0x22, 0x4D, 0x18])) {\n\t\t\treturn {\n\t\t\t\text: 'lz4',\n\t\t\t\tmime: 'application/x-lz4', // Invented by us\n\t\t\t};\n\t\t}\n\n\t\t// -- 5-byte signatures --\n\n\t\tif (this.check([0x4F, 0x54, 0x54, 0x4F, 0x00])) {\n\t\t\treturn {\n\t\t\t\text: 'otf',\n\t\t\t\tmime: 'font/otf',\n\t\t\t};\n\t\t}\n\n\t\tif (this.checkString('#!AMR')) {\n\t\t\treturn {\n\t\t\t\text: 'amr',\n\t\t\t\tmime: 'audio/amr',\n\t\t\t};\n\t\t}\n\n\t\tif (this.checkString('{\\\\rtf')) {\n\t\t\treturn {\n\t\t\t\text: 'rtf',\n\t\t\t\tmime: 'application/rtf',\n\t\t\t};\n\t\t}\n\n\t\tif (this.check([0x46, 0x4C, 0x56, 0x01])) {\n\t\t\treturn {\n\t\t\t\text: 'flv',\n\t\t\t\tmime: 'video/x-flv',\n\t\t\t};\n\t\t}\n\n\t\tif (this.checkString('IMPM')) {\n\t\t\treturn {\n\t\t\t\text: 'it',\n\t\t\t\tmime: 'audio/x-it',\n\t\t\t};\n\t\t}\n\n\t\tif (\n\t\t\tthis.checkString('-lh0-', {offset: 2})\n\t\t\t|| this.checkString('-lh1-', {offset: 2})\n\t\t\t|| this.checkString('-lh2-', {offset: 2})\n\t\t\t|| this.checkString('-lh3-', {offset: 2})\n\t\t\t|| this.checkString('-lh4-', {offset: 2})\n\t\t\t|| this.checkString('-lh5-', {offset: 2})\n\t\t\t|| this.checkString('-lh6-', {offset: 2})\n\t\t\t|| this.checkString('-lh7-', {offset: 2})\n\t\t\t|| this.checkString('-lzs-', {offset: 2})\n\t\t\t|| this.checkString('-lz4-', {offset: 2})\n\t\t\t|| this.checkString('-lz5-', {offset: 2})\n\t\t\t|| this.checkString('-lhd-', {offset: 2})\n\t\t) {\n\t\t\treturn {\n\t\t\t\text: 'lzh',\n\t\t\t\tmime: 'application/x-lzh-compressed',\n\t\t\t};\n\t\t}\n\n\t\t// MPEG program stream (PS or MPEG-PS)\n\t\tif (this.check([0x00, 0x00, 0x01, 0xBA])) {\n\t\t\t// MPEG-PS, MPEG-1 Part 1\n\t\t\tif (this.check([0x21], {offset: 4, mask: [0xF1]})) {\n\t\t\t\treturn {\n\t\t\t\t\text: 'mpg', // May also be .ps, .mpeg\n\t\t\t\t\tmime: 'video/MP1S',\n\t\t\t\t};\n\t\t\t}\n\n\t\t\t// MPEG-PS, MPEG-2 Part 1\n\t\t\tif (this.check([0x44], {offset: 4, mask: [0xC4]})) {\n\t\t\t\treturn {\n\t\t\t\t\text: 'mpg', // May also be .mpg, .m2p, .vob or .sub\n\t\t\t\t\tmime: 'video/MP2P',\n\t\t\t\t};\n\t\t\t}\n\t\t}\n\n\t\tif (this.checkString('ITSF')) {\n\t\t\treturn {\n\t\t\t\text: 'chm',\n\t\t\t\tmime: 'application/vnd.ms-htmlhelp',\n\t\t\t};\n\t\t}\n\n\t\tif (this.check([0xCA, 0xFE, 0xBA, 0xBE])) {\n\t\t\treturn {\n\t\t\t\text: 'class',\n\t\t\t\tmime: 'application/java-vm',\n\t\t\t};\n\t\t}\n\n\t\tif (this.checkString('.RMF')) {\n\t\t\treturn {\n\t\t\t\text: 'rm',\n\t\t\t\tmime: 'application/vnd.rn-realmedia',\n\t\t\t};\n\t\t}\n\n\t\t// -- 5-byte signatures --\n\n\t\tif (this.checkString('DRACO')) {\n\t\t\treturn {\n\t\t\t\text: 'drc',\n\t\t\t\tmime: 'application/vnd.google.draco', // Invented by us\n\t\t\t};\n\t\t}\n\n\t\t// -- 6-byte signatures --\n\n\t\tif (this.check([0xFD, 0x37, 0x7A, 0x58, 0x5A, 0x00])) {\n\t\t\treturn {\n\t\t\t\text: 'xz',\n\t\t\t\tmime: 'application/x-xz',\n\t\t\t};\n\t\t}\n\n\t\tif (this.checkString('= 1000 && version <= 1050) {\n\t\t\t\treturn {\n\t\t\t\t\text: 'dwg',\n\t\t\t\t\tmime: 'image/vnd.dwg',\n\t\t\t\t};\n\t\t\t}\n\t\t}\n\n\t\tif (this.checkString('070707')) {\n\t\t\treturn {\n\t\t\t\text: 'cpio',\n\t\t\t\tmime: 'application/x-cpio',\n\t\t\t};\n\t\t}\n\n\t\t// -- 7-byte signatures --\n\n\t\tif (this.checkString('BLENDER')) {\n\t\t\treturn {\n\t\t\t\text: 'blend',\n\t\t\t\tmime: 'application/x-blender',\n\t\t\t};\n\t\t}\n\n\t\tif (this.checkString('!')) {\n\t\t\tawait tokenizer.ignore(8);\n\t\t\tconst string = await tokenizer.readToken(new Token.StringType(13, 'ascii'));\n\t\t\tif (string === 'debian-binary') {\n\t\t\t\treturn {\n\t\t\t\t\text: 'deb',\n\t\t\t\t\tmime: 'application/x-deb',\n\t\t\t\t};\n\t\t\t}\n\n\t\t\treturn {\n\t\t\t\text: 'ar',\n\t\t\t\tmime: 'application/x-unix-archive',\n\t\t\t};\n\t\t}\n\n\t\tif (\n\t\t\tthis.checkString('WEBVTT')\n\t\t\t&&\t(\n\t\t\t\t// One of LF, CR, tab, space, or end of file must follow \"WEBVTT\" per the spec (see `fixture/fixture-vtt-*.vtt` for examples). Note that `\\0` is technically the null character (there is no such thing as an EOF character). However, checking for `\\0` gives us the same result as checking for the end of the stream.\n\t\t\t\t(['\\n', '\\r', '\\t', ' ', '\\0'].some(char7 => this.checkString(char7, {offset: 6}))))\n\t\t) {\n\t\t\treturn {\n\t\t\t\text: 'vtt',\n\t\t\t\tmime: 'text/vtt',\n\t\t\t};\n\t\t}\n\n\t\t// -- 8-byte signatures --\n\n\t\tif (this.check([0x89, 0x50, 0x4E, 0x47, 0x0D, 0x0A, 0x1A, 0x0A])) {\n\t\t\t// APNG format (https://wiki.mozilla.org/APNG_Specification)\n\t\t\t// 1. Find the first IDAT (image data) chunk (49 44 41 54)\n\t\t\t// 2. Check if there is an \"acTL\" chunk before the IDAT one (61 63 54 4C)\n\n\t\t\t// Offset calculated as follows:\n\t\t\t// - 8 bytes: PNG signature\n\t\t\t// - 4 (length) + 4 (chunk type) + 13 (chunk data) + 4 (CRC): IHDR chunk\n\n\t\t\tawait tokenizer.ignore(8); // ignore PNG signature\n\n\t\t\tasync function readChunkHeader() {\n\t\t\t\treturn {\n\t\t\t\t\tlength: await tokenizer.readToken(Token.INT32_BE),\n\t\t\t\t\ttype: await tokenizer.readToken(new Token.StringType(4, 'latin1')),\n\t\t\t\t};\n\t\t\t}\n\n\t\t\tdo {\n\t\t\t\tconst chunk = await readChunkHeader();\n\t\t\t\tif (chunk.length < 0) {\n\t\t\t\t\treturn; // Invalid chunk length\n\t\t\t\t}\n\n\t\t\t\tswitch (chunk.type) {\n\t\t\t\t\tcase 'IDAT':\n\t\t\t\t\t\treturn {\n\t\t\t\t\t\t\text: 'png',\n\t\t\t\t\t\t\tmime: 'image/png',\n\t\t\t\t\t\t};\n\t\t\t\t\tcase 'acTL':\n\t\t\t\t\t\treturn {\n\t\t\t\t\t\t\text: 'apng',\n\t\t\t\t\t\t\tmime: 'image/apng',\n\t\t\t\t\t\t};\n\t\t\t\t\tdefault:\n\t\t\t\t\t\tawait tokenizer.ignore(chunk.length + 4); // Ignore chunk-data + CRC\n\t\t\t\t}\n\t\t\t} while (tokenizer.position + 8 < tokenizer.fileInfo.size);\n\n\t\t\treturn {\n\t\t\t\text: 'png',\n\t\t\t\tmime: 'image/png',\n\t\t\t};\n\t\t}\n\n\t\tif (this.check([0x41, 0x52, 0x52, 0x4F, 0x57, 0x31, 0x00, 0x00])) {\n\t\t\treturn {\n\t\t\t\text: 'arrow',\n\t\t\t\tmime: 'application/x-apache-arrow',\n\t\t\t};\n\t\t}\n\n\t\tif (this.check([0x67, 0x6C, 0x54, 0x46, 0x02, 0x00, 0x00, 0x00])) {\n\t\t\treturn {\n\t\t\t\text: 'glb',\n\t\t\t\tmime: 'model/gltf-binary',\n\t\t\t};\n\t\t}\n\n\t\t// `mov` format variants\n\t\tif (\n\t\t\tthis.check([0x66, 0x72, 0x65, 0x65], {offset: 4}) // `free`\n\t\t\t|| this.check([0x6D, 0x64, 0x61, 0x74], {offset: 4}) // `mdat` MJPEG\n\t\t\t|| this.check([0x6D, 0x6F, 0x6F, 0x76], {offset: 4}) // `moov`\n\t\t\t|| this.check([0x77, 0x69, 0x64, 0x65], {offset: 4}) // `wide`\n\t\t) {\n\t\t\treturn {\n\t\t\t\text: 'mov',\n\t\t\t\tmime: 'video/quicktime',\n\t\t\t};\n\t\t}\n\n\t\t// -- 9-byte signatures --\n\n\t\tif (this.check([0x49, 0x49, 0x52, 0x4F, 0x08, 0x00, 0x00, 0x00, 0x18])) {\n\t\t\treturn {\n\t\t\t\text: 'orf',\n\t\t\t\tmime: 'image/x-olympus-orf',\n\t\t\t};\n\t\t}\n\n\t\tif (this.checkString('gimp xcf ')) {\n\t\t\treturn {\n\t\t\t\text: 'xcf',\n\t\t\t\tmime: 'image/x-xcf',\n\t\t\t};\n\t\t}\n\n\t\t// File Type Box (https://en.wikipedia.org/wiki/ISO_base_media_file_format)\n\t\t// It's not required to be first, but it's recommended to be. Almost all ISO base media files start with `ftyp` box.\n\t\t// `ftyp` box must contain a brand major identifier, which must consist of ISO 8859-1 printable characters.\n\t\t// Here we check for 8859-1 printable characters (for simplicity, it's a mask which also catches one non-printable character).\n\t\tif (\n\t\t\tthis.checkString('ftyp', {offset: 4})\n\t\t\t&& (this.buffer[8] & 0x60) !== 0x00 // Brand major, first character ASCII?\n\t\t) {\n\t\t\t// They all can have MIME `video/mp4` except `application/mp4` special-case which is hard to detect.\n\t\t\t// For some cases, we're specific, everything else falls to `video/mp4` with `mp4` extension.\n\t\t\tconst brandMajor = new Token.StringType(4, 'latin1').get(this.buffer, 8).replace('\\0', ' ').trim();\n\t\t\tswitch (brandMajor) {\n\t\t\t\tcase 'avif':\n\t\t\t\tcase 'avis':\n\t\t\t\t\treturn {ext: 'avif', mime: 'image/avif'};\n\t\t\t\tcase 'mif1':\n\t\t\t\t\treturn {ext: 'heic', mime: 'image/heif'};\n\t\t\t\tcase 'msf1':\n\t\t\t\t\treturn {ext: 'heic', mime: 'image/heif-sequence'};\n\t\t\t\tcase 'heic':\n\t\t\t\tcase 'heix':\n\t\t\t\t\treturn {ext: 'heic', mime: 'image/heic'};\n\t\t\t\tcase 'hevc':\n\t\t\t\tcase 'hevx':\n\t\t\t\t\treturn {ext: 'heic', mime: 'image/heic-sequence'};\n\t\t\t\tcase 'qt':\n\t\t\t\t\treturn {ext: 'mov', mime: 'video/quicktime'};\n\t\t\t\tcase 'M4V':\n\t\t\t\tcase 'M4VH':\n\t\t\t\tcase 'M4VP':\n\t\t\t\t\treturn {ext: 'm4v', mime: 'video/x-m4v'};\n\t\t\t\tcase 'M4P':\n\t\t\t\t\treturn {ext: 'm4p', mime: 'video/mp4'};\n\t\t\t\tcase 'M4B':\n\t\t\t\t\treturn {ext: 'm4b', mime: 'audio/mp4'};\n\t\t\t\tcase 'M4A':\n\t\t\t\t\treturn {ext: 'm4a', mime: 'audio/x-m4a'};\n\t\t\t\tcase 'F4V':\n\t\t\t\t\treturn {ext: 'f4v', mime: 'video/mp4'};\n\t\t\t\tcase 'F4P':\n\t\t\t\t\treturn {ext: 'f4p', mime: 'video/mp4'};\n\t\t\t\tcase 'F4A':\n\t\t\t\t\treturn {ext: 'f4a', mime: 'audio/mp4'};\n\t\t\t\tcase 'F4B':\n\t\t\t\t\treturn {ext: 'f4b', mime: 'audio/mp4'};\n\t\t\t\tcase 'crx':\n\t\t\t\t\treturn {ext: 'cr3', mime: 'image/x-canon-cr3'};\n\t\t\t\tdefault:\n\t\t\t\t\tif (brandMajor.startsWith('3g')) {\n\t\t\t\t\t\tif (brandMajor.startsWith('3g2')) {\n\t\t\t\t\t\t\treturn {ext: '3g2', mime: 'video/3gpp2'};\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\treturn {ext: '3gp', mime: 'video/3gpp'};\n\t\t\t\t\t}\n\n\t\t\t\t\treturn {ext: 'mp4', mime: 'video/mp4'};\n\t\t\t}\n\t\t}\n\n\t\t// -- 12-byte signatures --\n\n\t\t// RIFF file format which might be AVI, WAV, QCP, etc\n\t\tif (this.check([0x52, 0x49, 0x46, 0x46])) {\n\t\t\tif (this.checkString('WEBP', {offset: 8})) {\n\t\t\t\treturn {\n\t\t\t\t\text: 'webp',\n\t\t\t\t\tmime: 'image/webp',\n\t\t\t\t};\n\t\t\t}\n\n\t\t\tif (this.check([0x41, 0x56, 0x49], {offset: 8})) {\n\t\t\t\treturn {\n\t\t\t\t\text: 'avi',\n\t\t\t\t\tmime: 'video/vnd.avi',\n\t\t\t\t};\n\t\t\t}\n\n\t\t\tif (this.check([0x57, 0x41, 0x56, 0x45], {offset: 8})) {\n\t\t\t\treturn {\n\t\t\t\t\text: 'wav',\n\t\t\t\t\tmime: 'audio/wav',\n\t\t\t\t};\n\t\t\t}\n\n\t\t\t// QLCM, QCP file\n\t\t\tif (this.check([0x51, 0x4C, 0x43, 0x4D], {offset: 8})) {\n\t\t\t\treturn {\n\t\t\t\t\text: 'qcp',\n\t\t\t\t\tmime: 'audio/qcelp',\n\t\t\t\t};\n\t\t\t}\n\t\t}\n\n\t\tif (this.check([0x49, 0x49, 0x55, 0x00, 0x18, 0x00, 0x00, 0x00, 0x88, 0xE7, 0x74, 0xD8])) {\n\t\t\treturn {\n\t\t\t\text: 'rw2',\n\t\t\t\tmime: 'image/x-panasonic-rw2',\n\t\t\t};\n\t\t}\n\n\t\t// ASF_Header_Object first 80 bytes\n\t\tif (this.check([0x30, 0x26, 0xB2, 0x75, 0x8E, 0x66, 0xCF, 0x11, 0xA6, 0xD9])) {\n\t\t\tasync function readHeader() {\n\t\t\t\tconst guid = new Uint8Array(16);\n\t\t\t\tawait tokenizer.readBuffer(guid);\n\t\t\t\treturn {\n\t\t\t\t\tid: guid,\n\t\t\t\t\tsize: Number(await tokenizer.readToken(Token.UINT64_LE)),\n\t\t\t\t};\n\t\t\t}\n\n\t\t\tawait tokenizer.ignore(30);\n\t\t\t// Search for header should be in first 1KB of file.\n\t\t\twhile (tokenizer.position + 24 < tokenizer.fileInfo.size) {\n\t\t\t\tconst header = await readHeader();\n\t\t\t\tlet payload = header.size - 24;\n\t\t\t\tif (_check(header.id, [0x91, 0x07, 0xDC, 0xB7, 0xB7, 0xA9, 0xCF, 0x11, 0x8E, 0xE6, 0x00, 0xC0, 0x0C, 0x20, 0x53, 0x65])) {\n\t\t\t\t\t// Sync on Stream-Properties-Object (B7DC0791-A9B7-11CF-8EE6-00C00C205365)\n\t\t\t\t\tconst typeId = new Uint8Array(16);\n\t\t\t\t\tpayload -= await tokenizer.readBuffer(typeId);\n\n\t\t\t\t\tif (_check(typeId, [0x40, 0x9E, 0x69, 0xF8, 0x4D, 0x5B, 0xCF, 0x11, 0xA8, 0xFD, 0x00, 0x80, 0x5F, 0x5C, 0x44, 0x2B])) {\n\t\t\t\t\t\t// Found audio:\n\t\t\t\t\t\treturn {\n\t\t\t\t\t\t\text: 'asf',\n\t\t\t\t\t\t\tmime: 'audio/x-ms-asf',\n\t\t\t\t\t\t};\n\t\t\t\t\t}\n\n\t\t\t\t\tif (_check(typeId, [0xC0, 0xEF, 0x19, 0xBC, 0x4D, 0x5B, 0xCF, 0x11, 0xA8, 0xFD, 0x00, 0x80, 0x5F, 0x5C, 0x44, 0x2B])) {\n\t\t\t\t\t\t// Found video:\n\t\t\t\t\t\treturn {\n\t\t\t\t\t\t\text: 'asf',\n\t\t\t\t\t\t\tmime: 'video/x-ms-asf',\n\t\t\t\t\t\t};\n\t\t\t\t\t}\n\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\n\t\t\t\tawait tokenizer.ignore(payload);\n\t\t\t}\n\n\t\t\t// Default to ASF generic extension\n\t\t\treturn {\n\t\t\t\text: 'asf',\n\t\t\t\tmime: 'application/vnd.ms-asf',\n\t\t\t};\n\t\t}\n\n\t\tif (this.check([0xAB, 0x4B, 0x54, 0x58, 0x20, 0x31, 0x31, 0xBB, 0x0D, 0x0A, 0x1A, 0x0A])) {\n\t\t\treturn {\n\t\t\t\text: 'ktx',\n\t\t\t\tmime: 'image/ktx',\n\t\t\t};\n\t\t}\n\n\t\tif ((this.check([0x7E, 0x10, 0x04]) || this.check([0x7E, 0x18, 0x04])) && this.check([0x30, 0x4D, 0x49, 0x45], {offset: 4})) {\n\t\t\treturn {\n\t\t\t\text: 'mie',\n\t\t\t\tmime: 'application/x-mie',\n\t\t\t};\n\t\t}\n\n\t\tif (this.check([0x27, 0x0A, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00], {offset: 2})) {\n\t\t\treturn {\n\t\t\t\text: 'shp',\n\t\t\t\tmime: 'application/x-esri-shape',\n\t\t\t};\n\t\t}\n\n\t\tif (this.check([0xFF, 0x4F, 0xFF, 0x51])) {\n\t\t\treturn {\n\t\t\t\text: 'j2c',\n\t\t\t\tmime: 'image/j2c',\n\t\t\t};\n\t\t}\n\n\t\tif (this.check([0x00, 0x00, 0x00, 0x0C, 0x6A, 0x50, 0x20, 0x20, 0x0D, 0x0A, 0x87, 0x0A])) {\n\t\t\t// JPEG-2000 family\n\n\t\t\tawait tokenizer.ignore(20);\n\t\t\tconst type = await tokenizer.readToken(new Token.StringType(4, 'ascii'));\n\t\t\tswitch (type) {\n\t\t\t\tcase 'jp2 ':\n\t\t\t\t\treturn {\n\t\t\t\t\t\text: 'jp2',\n\t\t\t\t\t\tmime: 'image/jp2',\n\t\t\t\t\t};\n\t\t\t\tcase 'jpx ':\n\t\t\t\t\treturn {\n\t\t\t\t\t\text: 'jpx',\n\t\t\t\t\t\tmime: 'image/jpx',\n\t\t\t\t\t};\n\t\t\t\tcase 'jpm ':\n\t\t\t\t\treturn {\n\t\t\t\t\t\text: 'jpm',\n\t\t\t\t\t\tmime: 'image/jpm',\n\t\t\t\t\t};\n\t\t\t\tcase 'mjp2':\n\t\t\t\t\treturn {\n\t\t\t\t\t\text: 'mj2',\n\t\t\t\t\t\tmime: 'image/mj2',\n\t\t\t\t\t};\n\t\t\t\tdefault:\n\t\t\t\t\treturn;\n\t\t\t}\n\t\t}\n\n\t\tif (\n\t\t\tthis.check([0xFF, 0x0A])\n\t\t\t|| this.check([0x00, 0x00, 0x00, 0x0C, 0x4A, 0x58, 0x4C, 0x20, 0x0D, 0x0A, 0x87, 0x0A])\n\t\t) {\n\t\t\treturn {\n\t\t\t\text: 'jxl',\n\t\t\t\tmime: 'image/jxl',\n\t\t\t};\n\t\t}\n\n\t\tif (this.check([0xFE, 0xFF])) { // UTF-16-BOM-LE\n\t\t\tif (this.check([0, 60, 0, 63, 0, 120, 0, 109, 0, 108], {offset: 2})) {\n\t\t\t\treturn {\n\t\t\t\t\text: 'xml',\n\t\t\t\t\tmime: 'application/xml',\n\t\t\t\t};\n\t\t\t}\n\n\t\t\treturn undefined; // Some unknown text based format\n\t\t}\n\n\t\tif (this.check([0xD0, 0xCF, 0x11, 0xE0, 0xA1, 0xB1, 0x1A, 0xE1])) {\n\t\t\t// Detected Microsoft Compound File Binary File (MS-CFB) Format.\n\t\t\treturn {\n\t\t\t\text: 'cfb',\n\t\t\t\tmime: 'application/x-cfb',\n\t\t\t};\n\t\t}\n\n\t\t// Increase sample size from 12 to 256.\n\t\tawait tokenizer.peekBuffer(this.buffer, {length: Math.min(256, tokenizer.fileInfo.size), mayBeLess: true});\n\n\t\tif (this.check([0x61, 0x63, 0x73, 0x70], {offset: 36})) {\n\t\t\treturn {\n\t\t\t\text: 'icc',\n\t\t\t\tmime: 'application/vnd.iccprofile',\n\t\t\t};\n\t\t}\n\n\t\t// ACE: requires 14 bytes in the buffer\n\t\tif (this.checkString('**ACE', {offset: 7}) && this.checkString('**', {offset: 12})) {\n\t\t\treturn {\n\t\t\t\text: 'ace',\n\t\t\t\tmime: 'application/x-ace-compressed',\n\t\t\t};\n\t\t}\n\n\t\t// -- 15-byte signatures --\n\n\t\tif (this.checkString('BEGIN:')) {\n\t\t\tif (this.checkString('VCARD', {offset: 6})) {\n\t\t\t\treturn {\n\t\t\t\t\text: 'vcf',\n\t\t\t\t\tmime: 'text/vcard',\n\t\t\t\t};\n\t\t\t}\n\n\t\t\tif (this.checkString('VCALENDAR', {offset: 6})) {\n\t\t\t\treturn {\n\t\t\t\t\text: 'ics',\n\t\t\t\t\tmime: 'text/calendar',\n\t\t\t\t};\n\t\t\t}\n\t\t}\n\n\t\t// `raf` is here just to keep all the raw image detectors together.\n\t\tif (this.checkString('FUJIFILMCCD-RAW')) {\n\t\t\treturn {\n\t\t\t\text: 'raf',\n\t\t\t\tmime: 'image/x-fujifilm-raf',\n\t\t\t};\n\t\t}\n\n\t\tif (this.checkString('Extended Module:')) {\n\t\t\treturn {\n\t\t\t\text: 'xm',\n\t\t\t\tmime: 'audio/x-xm',\n\t\t\t};\n\t\t}\n\n\t\tif (this.checkString('Creative Voice File')) {\n\t\t\treturn {\n\t\t\t\text: 'voc',\n\t\t\t\tmime: 'audio/x-voc',\n\t\t\t};\n\t\t}\n\n\t\tif (this.check([0x04, 0x00, 0x00, 0x00]) && this.buffer.length >= 16) { // Rough & quick check Pickle/ASAR\n\t\t\tconst jsonSize = new DataView(this.buffer.buffer).getUint32(12, true);\n\n\t\t\tif (jsonSize > 12 && this.buffer.length >= jsonSize + 16) {\n\t\t\t\ttry {\n\t\t\t\t\tconst header = new TextDecoder().decode(this.buffer.slice(16, jsonSize + 16));\n\t\t\t\t\tconst json = JSON.parse(header);\n\t\t\t\t\t// Check if Pickle is ASAR\n\t\t\t\t\tif (json.files) { // Final check, assuring Pickle/ASAR format\n\t\t\t\t\t\treturn {\n\t\t\t\t\t\t\text: 'asar',\n\t\t\t\t\t\t\tmime: 'application/x-asar',\n\t\t\t\t\t\t};\n\t\t\t\t\t}\n\t\t\t\t} catch {}\n\t\t\t}\n\t\t}\n\n\t\tif (this.check([0x06, 0x0E, 0x2B, 0x34, 0x02, 0x05, 0x01, 0x01, 0x0D, 0x01, 0x02, 0x01, 0x01, 0x02])) {\n\t\t\treturn {\n\t\t\t\text: 'mxf',\n\t\t\t\tmime: 'application/mxf',\n\t\t\t};\n\t\t}\n\n\t\tif (this.checkString('SCRM', {offset: 44})) {\n\t\t\treturn {\n\t\t\t\text: 's3m',\n\t\t\t\tmime: 'audio/x-s3m',\n\t\t\t};\n\t\t}\n\n\t\t// Raw MPEG-2 transport stream (188-byte packets)\n\t\tif (this.check([0x47]) && this.check([0x47], {offset: 188})) {\n\t\t\treturn {\n\t\t\t\text: 'mts',\n\t\t\t\tmime: 'video/mp2t',\n\t\t\t};\n\t\t}\n\n\t\t// Blu-ray Disc Audio-Video (BDAV) MPEG-2 transport stream has 4-byte TP_extra_header before each 188-byte packet\n\t\tif (this.check([0x47], {offset: 4}) && this.check([0x47], {offset: 196})) {\n\t\t\treturn {\n\t\t\t\text: 'mts',\n\t\t\t\tmime: 'video/mp2t',\n\t\t\t};\n\t\t}\n\n\t\tif (this.check([0x42, 0x4F, 0x4F, 0x4B, 0x4D, 0x4F, 0x42, 0x49], {offset: 60})) {\n\t\t\treturn {\n\t\t\t\text: 'mobi',\n\t\t\t\tmime: 'application/x-mobipocket-ebook',\n\t\t\t};\n\t\t}\n\n\t\tif (this.check([0x44, 0x49, 0x43, 0x4D], {offset: 128})) {\n\t\t\treturn {\n\t\t\t\text: 'dcm',\n\t\t\t\tmime: 'application/dicom',\n\t\t\t};\n\t\t}\n\n\t\tif (this.check([0x4C, 0x00, 0x00, 0x00, 0x01, 0x14, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46])) {\n\t\t\treturn {\n\t\t\t\text: 'lnk',\n\t\t\t\tmime: 'application/x.ms.shortcut', // Invented by us\n\t\t\t};\n\t\t}\n\n\t\tif (this.check([0x62, 0x6F, 0x6F, 0x6B, 0x00, 0x00, 0x00, 0x00, 0x6D, 0x61, 0x72, 0x6B, 0x00, 0x00, 0x00, 0x00])) {\n\t\t\treturn {\n\t\t\t\text: 'alias',\n\t\t\t\tmime: 'application/x.apple.alias', // Invented by us\n\t\t\t};\n\t\t}\n\n\t\tif (this.checkString('Kaydara FBX Binary \\u0000')) {\n\t\t\treturn {\n\t\t\t\text: 'fbx',\n\t\t\t\tmime: 'application/x.autodesk.fbx', // Invented by us\n\t\t\t};\n\t\t}\n\n\t\tif (\n\t\t\tthis.check([0x4C, 0x50], {offset: 34})\n\t\t\t&& (\n\t\t\t\tthis.check([0x00, 0x00, 0x01], {offset: 8})\n\t\t\t\t|| this.check([0x01, 0x00, 0x02], {offset: 8})\n\t\t\t\t|| this.check([0x02, 0x00, 0x02], {offset: 8})\n\t\t\t)\n\t\t) {\n\t\t\treturn {\n\t\t\t\text: 'eot',\n\t\t\t\tmime: 'application/vnd.ms-fontobject',\n\t\t\t};\n\t\t}\n\n\t\tif (this.check([0x06, 0x06, 0xED, 0xF5, 0xD8, 0x1D, 0x46, 0xE5, 0xBD, 0x31, 0xEF, 0xE7, 0xFE, 0x74, 0xB7, 0x1D])) {\n\t\t\treturn {\n\t\t\t\text: 'indd',\n\t\t\t\tmime: 'application/x-indesign',\n\t\t\t};\n\t\t}\n\n\t\t// Increase sample size from 256 to 512\n\t\tawait tokenizer.peekBuffer(this.buffer, {length: Math.min(512, tokenizer.fileInfo.size), mayBeLess: true});\n\n\t\t// Requires a buffer size of 512 bytes\n\t\tif (tarHeaderChecksumMatches(this.buffer)) {\n\t\t\treturn {\n\t\t\t\text: 'tar',\n\t\t\t\tmime: 'application/x-tar',\n\t\t\t};\n\t\t}\n\n\t\tif (this.check([0xFF, 0xFE])) { // UTF-16-BOM-BE\n\t\t\tif (this.check([60, 0, 63, 0, 120, 0, 109, 0, 108, 0], {offset: 2})) {\n\t\t\t\treturn {\n\t\t\t\t\text: 'xml',\n\t\t\t\t\tmime: 'application/xml',\n\t\t\t\t};\n\t\t\t}\n\n\t\t\tif (this.check([0xFF, 0x0E, 0x53, 0x00, 0x6B, 0x00, 0x65, 0x00, 0x74, 0x00, 0x63, 0x00, 0x68, 0x00, 0x55, 0x00, 0x70, 0x00, 0x20, 0x00, 0x4D, 0x00, 0x6F, 0x00, 0x64, 0x00, 0x65, 0x00, 0x6C, 0x00], {offset: 2})) {\n\t\t\t\treturn {\n\t\t\t\t\text: 'skp',\n\t\t\t\t\tmime: 'application/vnd.sketchup.skp',\n\t\t\t\t};\n\t\t\t}\n\n\t\t\treturn undefined; // Some text based format\n\t\t}\n\n\t\tif (this.checkString('-----BEGIN PGP MESSAGE-----')) {\n\t\t\treturn {\n\t\t\t\text: 'pgp',\n\t\t\t\tmime: 'application/pgp-encrypted',\n\t\t\t};\n\t\t}\n\t};\n\t// Detections with limited supporting data, resulting in a higher likelihood of false positives\n\tdetectImprecise = async tokenizer => {\n\t\tthis.buffer = new Uint8Array(reasonableDetectionSizeInBytes);\n\n\t\t// Read initial sample size of 8 bytes\n\t\tawait tokenizer.peekBuffer(this.buffer, {length: Math.min(8, tokenizer.fileInfo.size), mayBeLess: true});\n\n\t\tif (\n\t\t\tthis.check([0x0, 0x0, 0x1, 0xBA])\n\t\t\t|| this.check([0x0, 0x0, 0x1, 0xB3])\n\t\t) {\n\t\t\treturn {\n\t\t\t\text: 'mpg',\n\t\t\t\tmime: 'video/mpeg',\n\t\t\t};\n\t\t}\n\n\t\tif (this.check([0x00, 0x01, 0x00, 0x00, 0x00])) {\n\t\t\treturn {\n\t\t\t\text: 'ttf',\n\t\t\t\tmime: 'font/ttf',\n\t\t\t};\n\t\t}\n\n\t\tif (this.check([0x00, 0x00, 0x01, 0x00])) {\n\t\t\treturn {\n\t\t\t\text: 'ico',\n\t\t\t\tmime: 'image/x-icon',\n\t\t\t};\n\t\t}\n\n\t\tif (this.check([0x00, 0x00, 0x02, 0x00])) {\n\t\t\treturn {\n\t\t\t\text: 'cur',\n\t\t\t\tmime: 'image/x-icon',\n\t\t\t};\n\t\t}\n\n\t\t// Check MPEG 1 or 2 Layer 3 header, or 'layer 0' for ADTS (MPEG sync-word 0xFFE)\n\t\tif (this.buffer.length >= 2 && this.check([0xFF, 0xE0], {offset: 0, mask: [0xFF, 0xE0]})) {\n\t\t\tif (this.check([0x10], {offset: 1, mask: [0x16]})) {\n\t\t\t\t// Check for (ADTS) MPEG-2\n\t\t\t\tif (this.check([0x08], {offset: 1, mask: [0x08]})) {\n\t\t\t\t\treturn {\n\t\t\t\t\t\text: 'aac',\n\t\t\t\t\t\tmime: 'audio/aac',\n\t\t\t\t\t};\n\t\t\t\t}\n\n\t\t\t\t// Must be (ADTS) MPEG-4\n\t\t\t\treturn {\n\t\t\t\t\text: 'aac',\n\t\t\t\t\tmime: 'audio/aac',\n\t\t\t\t};\n\t\t\t}\n\n\t\t\t// MPEG 1 or 2 Layer 3 header\n\t\t\t// Check for MPEG layer 3\n\t\t\tif (this.check([0x02], {offset: 1, mask: [0x06]})) {\n\t\t\t\treturn {\n\t\t\t\t\text: 'mp3',\n\t\t\t\t\tmime: 'audio/mpeg',\n\t\t\t\t};\n\t\t\t}\n\n\t\t\t// Check for MPEG layer 2\n\t\t\tif (this.check([0x04], {offset: 1, mask: [0x06]})) {\n\t\t\t\treturn {\n\t\t\t\t\text: 'mp2',\n\t\t\t\t\tmime: 'audio/mpeg',\n\t\t\t\t};\n\t\t\t}\n\n\t\t\t// Check for MPEG layer 1\n\t\t\tif (this.check([0x06], {offset: 1, mask: [0x06]})) {\n\t\t\t\treturn {\n\t\t\t\t\text: 'mp1',\n\t\t\t\t\tmime: 'audio/mpeg',\n\t\t\t\t};\n\t\t\t}\n\t\t}\n\t};\n\n\tasync readTiffTag(bigEndian) {\n\t\tconst tagId = await this.tokenizer.readToken(bigEndian ? Token.UINT16_BE : Token.UINT16_LE);\n\t\tthis.tokenizer.ignore(10);\n\t\tswitch (tagId) {\n\t\t\tcase 50_341:\n\t\t\t\treturn {\n\t\t\t\t\text: 'arw',\n\t\t\t\t\tmime: 'image/x-sony-arw',\n\t\t\t\t};\n\t\t\tcase 50_706:\n\t\t\t\treturn {\n\t\t\t\t\text: 'dng',\n\t\t\t\t\tmime: 'image/x-adobe-dng',\n\t\t\t\t};\n\t\t\tdefault:\n\t\t}\n\t}\n\n\tasync readTiffIFD(bigEndian) {\n\t\tconst numberOfTags = await this.tokenizer.readToken(bigEndian ? Token.UINT16_BE : Token.UINT16_LE);\n\t\tfor (let n = 0; n < numberOfTags; ++n) {\n\t\t\tconst fileType = await this.readTiffTag(bigEndian);\n\t\t\tif (fileType) {\n\t\t\t\treturn fileType;\n\t\t\t}\n\t\t}\n\t}\n\n\tasync readTiffHeader(bigEndian) {\n\t\tconst version = (bigEndian ? Token.UINT16_BE : Token.UINT16_LE).get(this.buffer, 2);\n\t\tconst ifdOffset = (bigEndian ? Token.UINT32_BE : Token.UINT32_LE).get(this.buffer, 4);\n\n\t\tif (version === 42) {\n\t\t\t// TIFF file header\n\t\t\tif (ifdOffset >= 6) {\n\t\t\t\tif (this.checkString('CR', {offset: 8})) {\n\t\t\t\t\treturn {\n\t\t\t\t\t\text: 'cr2',\n\t\t\t\t\t\tmime: 'image/x-canon-cr2',\n\t\t\t\t\t};\n\t\t\t\t}\n\n\t\t\t\tif (ifdOffset >= 8) {\n\t\t\t\t\tconst someId1 = (bigEndian ? Token.UINT16_BE : Token.UINT16_LE).get(this.buffer, 8);\n\t\t\t\t\tconst someId2 = (bigEndian ? Token.UINT16_BE : Token.UINT16_LE).get(this.buffer, 10);\n\n\t\t\t\t\tif (\n\t\t\t\t\t\t(someId1 === 0x1C && someId2 === 0xFE)\n\t\t\t\t\t\t|| (someId1 === 0x1F && someId2 === 0x0B)) {\n\t\t\t\t\t\treturn {\n\t\t\t\t\t\t\text: 'nef',\n\t\t\t\t\t\t\tmime: 'image/x-nikon-nef',\n\t\t\t\t\t\t};\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tawait this.tokenizer.ignore(ifdOffset);\n\t\t\tconst fileType = await this.readTiffIFD(bigEndian);\n\t\t\treturn fileType ?? {\n\t\t\t\text: 'tif',\n\t\t\t\tmime: 'image/tiff',\n\t\t\t};\n\t\t}\n\n\t\tif (version === 43) {\t// Big TIFF file header\n\t\t\treturn {\n\t\t\t\text: 'tif',\n\t\t\t\tmime: 'image/tiff',\n\t\t\t};\n\t\t}\n\t}\n}\n\nexport const supportedExtensions = new Set(extensions);\nexport const supportedMimeTypes = new Set(mimeTypes);\n","export const extensions = [\n\t'jpg',\n\t'png',\n\t'apng',\n\t'gif',\n\t'webp',\n\t'flif',\n\t'xcf',\n\t'cr2',\n\t'cr3',\n\t'orf',\n\t'arw',\n\t'dng',\n\t'nef',\n\t'rw2',\n\t'raf',\n\t'tif',\n\t'bmp',\n\t'icns',\n\t'jxr',\n\t'psd',\n\t'indd',\n\t'zip',\n\t'tar',\n\t'rar',\n\t'gz',\n\t'bz2',\n\t'7z',\n\t'dmg',\n\t'mp4',\n\t'mid',\n\t'mkv',\n\t'webm',\n\t'mov',\n\t'avi',\n\t'mpg',\n\t'mp2',\n\t'mp3',\n\t'm4a',\n\t'oga',\n\t'ogg',\n\t'ogv',\n\t'opus',\n\t'flac',\n\t'wav',\n\t'spx',\n\t'amr',\n\t'pdf',\n\t'epub',\n\t'elf',\n\t'macho',\n\t'exe',\n\t'swf',\n\t'rtf',\n\t'wasm',\n\t'woff',\n\t'woff2',\n\t'eot',\n\t'ttf',\n\t'otf',\n\t'ttc',\n\t'ico',\n\t'flv',\n\t'ps',\n\t'xz',\n\t'sqlite',\n\t'nes',\n\t'crx',\n\t'xpi',\n\t'cab',\n\t'deb',\n\t'ar',\n\t'rpm',\n\t'Z',\n\t'lz',\n\t'cfb',\n\t'mxf',\n\t'mts',\n\t'blend',\n\t'bpg',\n\t'docx',\n\t'pptx',\n\t'xlsx',\n\t'3gp',\n\t'3g2',\n\t'j2c',\n\t'jp2',\n\t'jpm',\n\t'jpx',\n\t'mj2',\n\t'aif',\n\t'qcp',\n\t'odt',\n\t'ods',\n\t'odp',\n\t'xml',\n\t'mobi',\n\t'heic',\n\t'cur',\n\t'ktx',\n\t'ape',\n\t'wv',\n\t'dcm',\n\t'ics',\n\t'glb',\n\t'pcap',\n\t'dsf',\n\t'lnk',\n\t'alias',\n\t'voc',\n\t'ac3',\n\t'm4v',\n\t'm4p',\n\t'm4b',\n\t'f4v',\n\t'f4p',\n\t'f4b',\n\t'f4a',\n\t'mie',\n\t'asf',\n\t'ogm',\n\t'ogx',\n\t'mpc',\n\t'arrow',\n\t'shp',\n\t'aac',\n\t'mp1',\n\t'it',\n\t's3m',\n\t'xm',\n\t'ai',\n\t'skp',\n\t'avif',\n\t'eps',\n\t'lzh',\n\t'pgp',\n\t'asar',\n\t'stl',\n\t'chm',\n\t'3mf',\n\t'zst',\n\t'jxl',\n\t'vcf',\n\t'jls',\n\t'pst',\n\t'dwg',\n\t'parquet',\n\t'class',\n\t'arj',\n\t'cpio',\n\t'ace',\n\t'avro',\n\t'icc',\n\t'fbx',\n\t'vsdx',\n\t'vtt',\n\t'apk',\n\t'drc',\n\t'lz4',\n\t'potx',\n\t'xltx',\n\t'dotx',\n\t'xltm',\n\t'ott',\n\t'ots',\n\t'otp',\n\t'odg',\n\t'otg',\n\t'xlsm',\n\t'docm',\n\t'dotm',\n\t'potm',\n\t'pptm',\n\t'jar',\n\t'rm',\n];\n\nexport const mimeTypes = [\n\t'image/jpeg',\n\t'image/png',\n\t'image/gif',\n\t'image/webp',\n\t'image/flif',\n\t'image/x-xcf',\n\t'image/x-canon-cr2',\n\t'image/x-canon-cr3',\n\t'image/tiff',\n\t'image/bmp',\n\t'image/vnd.ms-photo',\n\t'image/vnd.adobe.photoshop',\n\t'application/x-indesign',\n\t'application/epub+zip',\n\t'application/x-xpinstall',\n\t'application/vnd.oasis.opendocument.text',\n\t'application/vnd.oasis.opendocument.spreadsheet',\n\t'application/vnd.oasis.opendocument.presentation',\n\t'application/vnd.openxmlformats-officedocument.wordprocessingml.document',\n\t'application/vnd.openxmlformats-officedocument.presentationml.presentation',\n\t'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet',\n\t'application/zip',\n\t'application/x-tar',\n\t'application/x-rar-compressed',\n\t'application/gzip',\n\t'application/x-bzip2',\n\t'application/x-7z-compressed',\n\t'application/x-apple-diskimage',\n\t'application/x-apache-arrow',\n\t'video/mp4',\n\t'audio/midi',\n\t'video/x-matroska',\n\t'video/webm',\n\t'video/quicktime',\n\t'video/vnd.avi',\n\t'audio/wav',\n\t'audio/qcelp',\n\t'audio/x-ms-asf',\n\t'video/x-ms-asf',\n\t'application/vnd.ms-asf',\n\t'video/mpeg',\n\t'video/3gpp',\n\t'audio/mpeg',\n\t'audio/mp4', // RFC 4337\n\t'video/ogg',\n\t'audio/ogg',\n\t'audio/ogg; codecs=opus',\n\t'application/ogg',\n\t'audio/x-flac',\n\t'audio/ape',\n\t'audio/wavpack',\n\t'audio/amr',\n\t'application/pdf',\n\t'application/x-elf',\n\t'application/x-mach-binary',\n\t'application/x-msdownload',\n\t'application/x-shockwave-flash',\n\t'application/rtf',\n\t'application/wasm',\n\t'font/woff',\n\t'font/woff2',\n\t'application/vnd.ms-fontobject',\n\t'font/ttf',\n\t'font/otf',\n\t'font/collection',\n\t'image/x-icon',\n\t'video/x-flv',\n\t'application/postscript',\n\t'application/eps',\n\t'application/x-xz',\n\t'application/x-sqlite3',\n\t'application/x-nintendo-nes-rom',\n\t'application/x-google-chrome-extension',\n\t'application/vnd.ms-cab-compressed',\n\t'application/x-deb',\n\t'application/x-unix-archive',\n\t'application/x-rpm',\n\t'application/x-compress',\n\t'application/x-lzip',\n\t'application/x-cfb',\n\t'application/x-mie',\n\t'application/mxf',\n\t'video/mp2t',\n\t'application/x-blender',\n\t'image/bpg',\n\t'image/j2c',\n\t'image/jp2',\n\t'image/jpx',\n\t'image/jpm',\n\t'image/mj2',\n\t'audio/aiff',\n\t'application/xml',\n\t'application/x-mobipocket-ebook',\n\t'image/heif',\n\t'image/heif-sequence',\n\t'image/heic',\n\t'image/heic-sequence',\n\t'image/icns',\n\t'image/ktx',\n\t'application/dicom',\n\t'audio/x-musepack',\n\t'text/calendar',\n\t'text/vcard',\n\t'text/vtt',\n\t'model/gltf-binary',\n\t'application/vnd.tcpdump.pcap',\n\t'audio/x-dsf', // Non-standard\n\t'application/x.ms.shortcut', // Invented by us\n\t'application/x.apple.alias', // Invented by us\n\t'audio/x-voc',\n\t'audio/vnd.dolby.dd-raw',\n\t'audio/x-m4a',\n\t'image/apng',\n\t'image/x-olympus-orf',\n\t'image/x-sony-arw',\n\t'image/x-adobe-dng',\n\t'image/x-nikon-nef',\n\t'image/x-panasonic-rw2',\n\t'image/x-fujifilm-raf',\n\t'video/x-m4v',\n\t'video/3gpp2',\n\t'application/x-esri-shape',\n\t'audio/aac',\n\t'audio/x-it',\n\t'audio/x-s3m',\n\t'audio/x-xm',\n\t'video/MP1S',\n\t'video/MP2P',\n\t'application/vnd.sketchup.skp',\n\t'image/avif',\n\t'application/x-lzh-compressed',\n\t'application/pgp-encrypted',\n\t'application/x-asar',\n\t'model/stl',\n\t'application/vnd.ms-htmlhelp',\n\t'model/3mf',\n\t'image/jxl',\n\t'application/zstd',\n\t'image/jls',\n\t'application/vnd.ms-outlook',\n\t'image/vnd.dwg',\n\t'application/x-parquet',\n\t'application/java-vm',\n\t'application/x-arj',\n\t'application/x-cpio',\n\t'application/x-ace-compressed',\n\t'application/avro',\n\t'application/vnd.iccprofile',\n\t'application/x.autodesk.fbx', // Invented by us\n\t'application/vnd.visio',\n\t'application/vnd.android.package-archive',\n\t'application/vnd.google.draco', // Invented by us\n\t'application/x-lz4', // Invented by us\n\t'application/vnd.openxmlformats-officedocument.presentationml.template',\n\t'application/vnd.openxmlformats-officedocument.spreadsheetml.template',\n\t'application/vnd.openxmlformats-officedocument.wordprocessingml.template',\n\t'application/vnd.ms-excel.template.macroenabled.12',\n\t'application/vnd.oasis.opendocument.text-template',\n\t'application/vnd.oasis.opendocument.spreadsheet-template',\n\t'application/vnd.oasis.opendocument.presentation-template',\n\t'application/vnd.oasis.opendocument.graphics',\n\t'application/vnd.oasis.opendocument.graphics-template',\n\t'application/vnd.ms-excel.sheet.macroEnabled.12',\n\t'application/vnd.ms-word.document.macroEnabled.12',\n\t'application/vnd.ms-word.template.macroEnabled.12',\n\t'application/vnd.ms-powerpoint.template.macroEnabled.12',\n\t'application/vnd.ms-powerpoint.presentation.macroEnabled.12',\n\t'application/java-archive',\n\t'application/vnd.rn-realmedia',\n];\n","import {StringType} from 'token-types';\n\nexport function stringToBytes(string) {\n\treturn [...string].map(character => character.charCodeAt(0)); // eslint-disable-line unicorn/prefer-code-point\n}\n\n/**\nChecks whether the TAR checksum is valid.\n\n@param {Uint8Array} arrayBuffer - The TAR header `[offset ... offset + 512]`.\n@param {number} offset - TAR header offset.\n@returns {boolean} `true` if the TAR checksum is valid, otherwise `false`.\n*/\nexport function tarHeaderChecksumMatches(arrayBuffer, offset = 0) {\n\tconst readSum = Number.parseInt(new StringType(6).get(arrayBuffer, 148).replace(/\\0.*$/, '').trim(), 8); // Read sum in header\n\tif (Number.isNaN(readSum)) {\n\t\treturn false;\n\t}\n\n\tlet sum = 8 * 0x20; // Initialize signed bit sum\n\n\tfor (let index = offset; index < offset + 148; index++) {\n\t\tsum += arrayBuffer[index];\n\t}\n\n\tfor (let index = offset + 156; index < offset + 512; index++) {\n\t\tsum += arrayBuffer[index];\n\t}\n\n\treturn readSum === sum;\n}\n\n/**\nID3 UINT32 sync-safe tokenizer token.\n28 bits (representing up to 256MB) integer, the msb is 0 to avoid \"false syncsignals\".\n*/\nexport const uint32SyncSafeToken = {\n\tget: (buffer, offset) => (buffer[offset + 3] & 0x7F) | ((buffer[offset + 2]) << 7) | ((buffer[offset + 1]) << 14) | ((buffer[offset]) << 21),\n\tlen: 4,\n};\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","'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","/** @license React v16.13.1\n * react-is.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';var b=\"function\"===typeof Symbol&&Symbol.for,c=b?Symbol.for(\"react.element\"):60103,d=b?Symbol.for(\"react.portal\"):60106,e=b?Symbol.for(\"react.fragment\"):60107,f=b?Symbol.for(\"react.strict_mode\"):60108,g=b?Symbol.for(\"react.profiler\"):60114,h=b?Symbol.for(\"react.provider\"):60109,k=b?Symbol.for(\"react.context\"):60110,l=b?Symbol.for(\"react.async_mode\"):60111,m=b?Symbol.for(\"react.concurrent_mode\"):60111,n=b?Symbol.for(\"react.forward_ref\"):60112,p=b?Symbol.for(\"react.suspense\"):60113,q=b?\nSymbol.for(\"react.suspense_list\"):60120,r=b?Symbol.for(\"react.memo\"):60115,t=b?Symbol.for(\"react.lazy\"):60116,v=b?Symbol.for(\"react.block\"):60121,w=b?Symbol.for(\"react.fundamental\"):60117,x=b?Symbol.for(\"react.responder\"):60118,y=b?Symbol.for(\"react.scope\"):60119;\nfunction z(a){if(\"object\"===typeof a&&null!==a){var u=a.$$typeof;switch(u){case c:switch(a=a.type,a){case l:case m:case e:case g:case f:case p:return a;default:switch(a=a&&a.$$typeof,a){case k:case n:case t:case r:case h:return a;default:return u}}case d:return u}}}function A(a){return z(a)===m}exports.AsyncMode=l;exports.ConcurrentMode=m;exports.ContextConsumer=k;exports.ContextProvider=h;exports.Element=c;exports.ForwardRef=n;exports.Fragment=e;exports.Lazy=t;exports.Memo=r;exports.Portal=d;\nexports.Profiler=g;exports.StrictMode=f;exports.Suspense=p;exports.isAsyncMode=function(a){return A(a)||z(a)===l};exports.isConcurrentMode=A;exports.isContextConsumer=function(a){return z(a)===k};exports.isContextProvider=function(a){return z(a)===h};exports.isElement=function(a){return\"object\"===typeof a&&null!==a&&a.$$typeof===c};exports.isForwardRef=function(a){return z(a)===n};exports.isFragment=function(a){return z(a)===e};exports.isLazy=function(a){return z(a)===t};\nexports.isMemo=function(a){return z(a)===r};exports.isPortal=function(a){return z(a)===d};exports.isProfiler=function(a){return z(a)===g};exports.isStrictMode=function(a){return z(a)===f};exports.isSuspense=function(a){return z(a)===p};\nexports.isValidElementType=function(a){return\"string\"===typeof a||\"function\"===typeof a||a===e||a===m||a===g||a===f||a===p||a===q||\"object\"===typeof a&&null!==a&&(a.$$typeof===t||a.$$typeof===r||a.$$typeof===h||a.$$typeof===k||a.$$typeof===n||a.$$typeof===w||a.$$typeof===x||a.$$typeof===y||a.$$typeof===v)};exports.typeOf=z;\n","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('./cjs/react-is.production.min.js');\n} else {\n module.exports = require('./cjs/react-is.development.js');\n}\n","module.exports = {\n parse: require('./lib/parse'),\n stringify: require('./lib/stringify')\n};\n","var attrRE = /([\\w-]+)|=|(['\"])([.\\s\\S]*?)\\2/g;\nvar voidElements = require('void-elements');\n\nmodule.exports = function (tag) {\n var i = 0;\n var key;\n var expectingValueAfterEquals = true;\n var res = {\n type: 'tag',\n name: '',\n voidElement: false,\n attrs: {},\n children: []\n };\n\n tag.replace(attrRE, function (match) {\n if (match === '=') {\n expectingValueAfterEquals = true;\n i++;\n return;\n }\n\n if (!expectingValueAfterEquals) {\n if (key) {\n res.attrs[key] = key; // boolean attribute\n }\n key=match;\n } else {\n if (i === 0) {\n if (voidElements[match] || tag.charAt(tag.length - 2) === '/') {\n res.voidElement = true;\n }\n res.name = match;\n } else {\n res.attrs[key] = match.replace(/^['\"]|['\"]$/g, '');\n key=undefined;\n }\n }\n i++;\n expectingValueAfterEquals = false;\n });\n\n return res;\n};\n","/*jshint -W030 */\nvar tagRE = /(?:|<(?:\"[^\"]*\"['\"]*|'[^']*'['\"]*|[^'\">])+>)/g;\nvar parseTag = require('./parse-tag');\n// re-used obj for quick lookups of components\nvar empty = Object.create ? Object.create(null) : {};\n// common logic for pushing a child node onto a list\nfunction pushTextNode(list, html, level, start, ignoreWhitespace) {\n // calculate correct end of the content slice in case there's\n // no tag after the text node.\n var end = html.indexOf('<', start);\n var content = html.slice(start, end === -1 ? undefined : end);\n // if a node is nothing but whitespace, collapse it as the spec states:\n // https://www.w3.org/TR/html4/struct/text.html#h-9.1\n if (/^\\s*$/.test(content)) {\n content = ' ';\n }\n // don't add whitespace-only text nodes if they would be trailing text nodes\n // or if they would be leading whitespace-only text nodes:\n // * end > -1 indicates this is not a trailing text node\n // * leading node is when level is -1 and list has length 0\n if ((!ignoreWhitespace && end > -1 && level + list.length >= 0) || content !== ' ') {\n list.push({\n type: 'text',\n content: content\n });\n }\n}\n\nmodule.exports = function parse(html, options) {\n options || (options = {});\n options.components || (options.components = empty);\n var result = [];\n var current;\n var level = -1;\n var arr = [];\n var byTag = {};\n var inComponent = false;\n\n html.replace(tagRE, function (tag, index) {\n if (inComponent) {\n if (tag !== ('')) {\n return;\n } else {\n inComponent = false;\n }\n }\n\n var isOpen = tag.charAt(1) !== '/';\n var isComment = tag.indexOf('\n // 5:31:26 +0200 It is possible that 5:31:26 doesn't exist with offset\n // +0200, so we adjust the time as needed, to be valid.\n //\n // Keeping the time actually adds/subtracts (one hour)\n // from the actual represented time. That is why we call updateOffset\n // a second time. In case it wants us to change the offset again\n // _changeInProgress == true case, then we have to adjust, because\n // there is no such time in the given timezone.\n function getSetOffset (input, keepLocalTime, keepMinutes) {\n var offset = this._offset || 0,\n localAdjust;\n if (!this.isValid()) {\n return input != null ? this : NaN;\n }\n if (input != null) {\n if (typeof input === 'string') {\n input = offsetFromString(matchShortOffset, input);\n if (input === null) {\n return this;\n }\n } else if (Math.abs(input) < 16 && !keepMinutes) {\n input = input * 60;\n }\n if (!this._isUTC && keepLocalTime) {\n localAdjust = getDateOffset(this);\n }\n this._offset = input;\n this._isUTC = true;\n if (localAdjust != null) {\n this.add(localAdjust, 'm');\n }\n if (offset !== input) {\n if (!keepLocalTime || this._changeInProgress) {\n addSubtract(this, createDuration(input - offset, 'm'), 1, false);\n } else if (!this._changeInProgress) {\n this._changeInProgress = true;\n hooks.updateOffset(this, true);\n this._changeInProgress = null;\n }\n }\n return this;\n } else {\n return this._isUTC ? offset : getDateOffset(this);\n }\n }\n\n function getSetZone (input, keepLocalTime) {\n if (input != null) {\n if (typeof input !== 'string') {\n input = -input;\n }\n\n this.utcOffset(input, keepLocalTime);\n\n return this;\n } else {\n return -this.utcOffset();\n }\n }\n\n function setOffsetToUTC (keepLocalTime) {\n return this.utcOffset(0, keepLocalTime);\n }\n\n function setOffsetToLocal (keepLocalTime) {\n if (this._isUTC) {\n this.utcOffset(0, keepLocalTime);\n this._isUTC = false;\n\n if (keepLocalTime) {\n this.subtract(getDateOffset(this), 'm');\n }\n }\n return this;\n }\n\n function setOffsetToParsedOffset () {\n if (this._tzm != null) {\n this.utcOffset(this._tzm, false, true);\n } else if (typeof this._i === 'string') {\n var tZone = offsetFromString(matchOffset, this._i);\n if (tZone != null) {\n this.utcOffset(tZone);\n }\n else {\n this.utcOffset(0, true);\n }\n }\n return this;\n }\n\n function hasAlignedHourOffset (input) {\n if (!this.isValid()) {\n return false;\n }\n input = input ? createLocal(input).utcOffset() : 0;\n\n return (this.utcOffset() - input) % 60 === 0;\n }\n\n function isDaylightSavingTime () {\n return (\n this.utcOffset() > this.clone().month(0).utcOffset() ||\n this.utcOffset() > this.clone().month(5).utcOffset()\n );\n }\n\n function isDaylightSavingTimeShifted () {\n if (!isUndefined(this._isDSTShifted)) {\n return this._isDSTShifted;\n }\n\n var c = {};\n\n copyConfig(c, this);\n c = prepareConfig(c);\n\n if (c._a) {\n var other = c._isUTC ? createUTC(c._a) : createLocal(c._a);\n this._isDSTShifted = this.isValid() &&\n compareArrays(c._a, other.toArray()) > 0;\n } else {\n this._isDSTShifted = false;\n }\n\n return this._isDSTShifted;\n }\n\n function isLocal () {\n return this.isValid() ? !this._isUTC : false;\n }\n\n function isUtcOffset () {\n return this.isValid() ? this._isUTC : false;\n }\n\n function isUtc () {\n return this.isValid() ? this._isUTC && this._offset === 0 : false;\n }\n\n // ASP.NET json date format regex\n var aspNetRegex = /^(\\-|\\+)?(?:(\\d*)[. ])?(\\d+)\\:(\\d+)(?:\\:(\\d+)(\\.\\d*)?)?$/;\n\n // from http://docs.closure-library.googlecode.com/git/closure_goog_date_date.js.source.html\n // somewhat more in line with 4.4.3.2 2004 spec, but allows decimal anywhere\n // and further modified to allow for strings containing both week and day\n var isoRegex = /^(-|\\+)?P(?:([-+]?[0-9,.]*)Y)?(?:([-+]?[0-9,.]*)M)?(?:([-+]?[0-9,.]*)W)?(?:([-+]?[0-9,.]*)D)?(?:T(?:([-+]?[0-9,.]*)H)?(?:([-+]?[0-9,.]*)M)?(?:([-+]?[0-9,.]*)S)?)?$/;\n\n function createDuration (input, key) {\n var duration = input,\n // matching against regexp is expensive, do it on demand\n match = null,\n sign,\n ret,\n diffRes;\n\n if (isDuration(input)) {\n duration = {\n ms : input._milliseconds,\n d : input._days,\n M : input._months\n };\n } else if (isNumber(input)) {\n duration = {};\n if (key) {\n duration[key] = input;\n } else {\n duration.milliseconds = input;\n }\n } else if (!!(match = aspNetRegex.exec(input))) {\n sign = (match[1] === '-') ? -1 : 1;\n duration = {\n y : 0,\n d : toInt(match[DATE]) * sign,\n h : toInt(match[HOUR]) * sign,\n m : toInt(match[MINUTE]) * sign,\n s : toInt(match[SECOND]) * sign,\n ms : toInt(absRound(match[MILLISECOND] * 1000)) * sign // the millisecond decimal point is included in the match\n };\n } else if (!!(match = isoRegex.exec(input))) {\n sign = (match[1] === '-') ? -1 : 1;\n duration = {\n y : parseIso(match[2], sign),\n M : parseIso(match[3], sign),\n w : parseIso(match[4], sign),\n d : parseIso(match[5], sign),\n h : parseIso(match[6], sign),\n m : parseIso(match[7], sign),\n s : parseIso(match[8], sign)\n };\n } else if (duration == null) {// checks for null or undefined\n duration = {};\n } else if (typeof duration === 'object' && ('from' in duration || 'to' in duration)) {\n diffRes = momentsDifference(createLocal(duration.from), createLocal(duration.to));\n\n duration = {};\n duration.ms = diffRes.milliseconds;\n duration.M = diffRes.months;\n }\n\n ret = new Duration(duration);\n\n if (isDuration(input) && hasOwnProp(input, '_locale')) {\n ret._locale = input._locale;\n }\n\n return ret;\n }\n\n createDuration.fn = Duration.prototype;\n createDuration.invalid = createInvalid$1;\n\n function parseIso (inp, sign) {\n // We'd normally use ~~inp for this, but unfortunately it also\n // converts floats to ints.\n // inp may be undefined, so careful calling replace on it.\n var res = inp && parseFloat(inp.replace(',', '.'));\n // apply sign while we're at it\n return (isNaN(res) ? 0 : res) * sign;\n }\n\n function positiveMomentsDifference(base, other) {\n var res = {};\n\n res.months = other.month() - base.month() +\n (other.year() - base.year()) * 12;\n if (base.clone().add(res.months, 'M').isAfter(other)) {\n --res.months;\n }\n\n res.milliseconds = +other - +(base.clone().add(res.months, 'M'));\n\n return res;\n }\n\n function momentsDifference(base, other) {\n var res;\n if (!(base.isValid() && other.isValid())) {\n return {milliseconds: 0, months: 0};\n }\n\n other = cloneWithOffset(other, base);\n if (base.isBefore(other)) {\n res = positiveMomentsDifference(base, other);\n } else {\n res = positiveMomentsDifference(other, base);\n res.milliseconds = -res.milliseconds;\n res.months = -res.months;\n }\n\n return res;\n }\n\n // TODO: remove 'name' arg after deprecation is removed\n function createAdder(direction, name) {\n return function (val, period) {\n var dur, tmp;\n //invert the arguments, but complain about it\n if (period !== null && !isNaN(+period)) {\n deprecateSimple(name, 'moment().' + name + '(period, number) is deprecated. Please use moment().' + name + '(number, period). ' +\n 'See http://momentjs.com/guides/#/warnings/add-inverted-param/ for more info.');\n tmp = val; val = period; period = tmp;\n }\n\n val = typeof val === 'string' ? +val : val;\n dur = createDuration(val, period);\n addSubtract(this, dur, direction);\n return this;\n };\n }\n\n function addSubtract (mom, duration, isAdding, updateOffset) {\n var milliseconds = duration._milliseconds,\n days = absRound(duration._days),\n months = absRound(duration._months);\n\n if (!mom.isValid()) {\n // No op\n return;\n }\n\n updateOffset = updateOffset == null ? true : updateOffset;\n\n if (months) {\n setMonth(mom, get(mom, 'Month') + months * isAdding);\n }\n if (days) {\n set$1(mom, 'Date', get(mom, 'Date') + days * isAdding);\n }\n if (milliseconds) {\n mom._d.setTime(mom._d.valueOf() + milliseconds * isAdding);\n }\n if (updateOffset) {\n hooks.updateOffset(mom, days || months);\n }\n }\n\n var add = createAdder(1, 'add');\n var subtract = createAdder(-1, 'subtract');\n\n function getCalendarFormat(myMoment, now) {\n var diff = myMoment.diff(now, 'days', true);\n return diff < -6 ? 'sameElse' :\n diff < -1 ? 'lastWeek' :\n diff < 0 ? 'lastDay' :\n diff < 1 ? 'sameDay' :\n diff < 2 ? 'nextDay' :\n diff < 7 ? 'nextWeek' : 'sameElse';\n }\n\n function calendar$1 (time, formats) {\n // We want to compare the start of today, vs this.\n // Getting start-of-today depends on whether we're local/utc/offset or not.\n var now = time || createLocal(),\n sod = cloneWithOffset(now, this).startOf('day'),\n format = hooks.calendarFormat(this, sod) || 'sameElse';\n\n var output = formats && (isFunction(formats[format]) ? formats[format].call(this, now) : formats[format]);\n\n return this.format(output || this.localeData().calendar(format, this, createLocal(now)));\n }\n\n function clone () {\n return new Moment(this);\n }\n\n function isAfter (input, units) {\n var localInput = isMoment(input) ? input : createLocal(input);\n if (!(this.isValid() && localInput.isValid())) {\n return false;\n }\n units = normalizeUnits(units) || 'millisecond';\n if (units === 'millisecond') {\n return this.valueOf() > localInput.valueOf();\n } else {\n return localInput.valueOf() < this.clone().startOf(units).valueOf();\n }\n }\n\n function isBefore (input, units) {\n var localInput = isMoment(input) ? input : createLocal(input);\n if (!(this.isValid() && localInput.isValid())) {\n return false;\n }\n units = normalizeUnits(units) || 'millisecond';\n if (units === 'millisecond') {\n return this.valueOf() < localInput.valueOf();\n } else {\n return this.clone().endOf(units).valueOf() < localInput.valueOf();\n }\n }\n\n function isBetween (from, to, units, inclusivity) {\n var localFrom = isMoment(from) ? from : createLocal(from),\n localTo = isMoment(to) ? to : createLocal(to);\n if (!(this.isValid() && localFrom.isValid() && localTo.isValid())) {\n return false;\n }\n inclusivity = inclusivity || '()';\n return (inclusivity[0] === '(' ? this.isAfter(localFrom, units) : !this.isBefore(localFrom, units)) &&\n (inclusivity[1] === ')' ? this.isBefore(localTo, units) : !this.isAfter(localTo, units));\n }\n\n function isSame (input, units) {\n var localInput = isMoment(input) ? input : createLocal(input),\n inputMs;\n if (!(this.isValid() && localInput.isValid())) {\n return false;\n }\n units = normalizeUnits(units) || 'millisecond';\n if (units === 'millisecond') {\n return this.valueOf() === localInput.valueOf();\n } else {\n inputMs = localInput.valueOf();\n return this.clone().startOf(units).valueOf() <= inputMs && inputMs <= this.clone().endOf(units).valueOf();\n }\n }\n\n function isSameOrAfter (input, units) {\n return this.isSame(input, units) || this.isAfter(input, units);\n }\n\n function isSameOrBefore (input, units) {\n return this.isSame(input, units) || this.isBefore(input, units);\n }\n\n function diff (input, units, asFloat) {\n var that,\n zoneDelta,\n output;\n\n if (!this.isValid()) {\n return NaN;\n }\n\n that = cloneWithOffset(input, this);\n\n if (!that.isValid()) {\n return NaN;\n }\n\n zoneDelta = (that.utcOffset() - this.utcOffset()) * 6e4;\n\n units = normalizeUnits(units);\n\n switch (units) {\n case 'year': output = monthDiff(this, that) / 12; break;\n case 'month': output = monthDiff(this, that); break;\n case 'quarter': output = monthDiff(this, that) / 3; break;\n case 'second': output = (this - that) / 1e3; break; // 1000\n case 'minute': output = (this - that) / 6e4; break; // 1000 * 60\n case 'hour': output = (this - that) / 36e5; break; // 1000 * 60 * 60\n case 'day': output = (this - that - zoneDelta) / 864e5; break; // 1000 * 60 * 60 * 24, negate dst\n case 'week': output = (this - that - zoneDelta) / 6048e5; break; // 1000 * 60 * 60 * 24 * 7, negate dst\n default: output = this - that;\n }\n\n return asFloat ? output : absFloor(output);\n }\n\n function monthDiff (a, b) {\n // difference in months\n var wholeMonthDiff = ((b.year() - a.year()) * 12) + (b.month() - a.month()),\n // b is in (anchor - 1 month, anchor + 1 month)\n anchor = a.clone().add(wholeMonthDiff, 'months'),\n anchor2, adjust;\n\n if (b - anchor < 0) {\n anchor2 = a.clone().add(wholeMonthDiff - 1, 'months');\n // linear across the month\n adjust = (b - anchor) / (anchor - anchor2);\n } else {\n anchor2 = a.clone().add(wholeMonthDiff + 1, 'months');\n // linear across the month\n adjust = (b - anchor) / (anchor2 - anchor);\n }\n\n //check for negative zero, return zero if negative zero\n return -(wholeMonthDiff + adjust) || 0;\n }\n\n hooks.defaultFormat = 'YYYY-MM-DDTHH:mm:ssZ';\n hooks.defaultFormatUtc = 'YYYY-MM-DDTHH:mm:ss[Z]';\n\n function toString () {\n return this.clone().locale('en').format('ddd MMM DD YYYY HH:mm:ss [GMT]ZZ');\n }\n\n function toISOString(keepOffset) {\n if (!this.isValid()) {\n return null;\n }\n var utc = keepOffset !== true;\n var m = utc ? this.clone().utc() : this;\n if (m.year() < 0 || m.year() > 9999) {\n return formatMoment(m, utc ? 'YYYYYY-MM-DD[T]HH:mm:ss.SSS[Z]' : 'YYYYYY-MM-DD[T]HH:mm:ss.SSSZ');\n }\n if (isFunction(Date.prototype.toISOString)) {\n // native implementation is ~50x faster, use it when we can\n if (utc) {\n return this.toDate().toISOString();\n } else {\n return new Date(this.valueOf() + this.utcOffset() * 60 * 1000).toISOString().replace('Z', formatMoment(m, 'Z'));\n }\n }\n return formatMoment(m, utc ? 'YYYY-MM-DD[T]HH:mm:ss.SSS[Z]' : 'YYYY-MM-DD[T]HH:mm:ss.SSSZ');\n }\n\n /**\n * Return a human readable representation of a moment that can\n * also be evaluated to get a new moment which is the same\n *\n * @link https://nodejs.org/dist/latest/docs/api/util.html#util_custom_inspect_function_on_objects\n */\n function inspect () {\n if (!this.isValid()) {\n return 'moment.invalid(/* ' + this._i + ' */)';\n }\n var func = 'moment';\n var zone = '';\n if (!this.isLocal()) {\n func = this.utcOffset() === 0 ? 'moment.utc' : 'moment.parseZone';\n zone = 'Z';\n }\n var prefix = '[' + func + '(\"]';\n var year = (0 <= this.year() && this.year() <= 9999) ? 'YYYY' : 'YYYYYY';\n var datetime = '-MM-DD[T]HH:mm:ss.SSS';\n var suffix = zone + '[\")]';\n\n return this.format(prefix + year + datetime + suffix);\n }\n\n function format (inputString) {\n if (!inputString) {\n inputString = this.isUtc() ? hooks.defaultFormatUtc : hooks.defaultFormat;\n }\n var output = formatMoment(this, inputString);\n return this.localeData().postformat(output);\n }\n\n function from (time, withoutSuffix) {\n if (this.isValid() &&\n ((isMoment(time) && time.isValid()) ||\n createLocal(time).isValid())) {\n return createDuration({to: this, from: time}).locale(this.locale()).humanize(!withoutSuffix);\n } else {\n return this.localeData().invalidDate();\n }\n }\n\n function fromNow (withoutSuffix) {\n return this.from(createLocal(), withoutSuffix);\n }\n\n function to (time, withoutSuffix) {\n if (this.isValid() &&\n ((isMoment(time) && time.isValid()) ||\n createLocal(time).isValid())) {\n return createDuration({from: this, to: time}).locale(this.locale()).humanize(!withoutSuffix);\n } else {\n return this.localeData().invalidDate();\n }\n }\n\n function toNow (withoutSuffix) {\n return this.to(createLocal(), withoutSuffix);\n }\n\n // If passed a locale key, it will set the locale for this\n // instance. Otherwise, it will return the locale configuration\n // variables for this instance.\n function locale (key) {\n var newLocaleData;\n\n if (key === undefined) {\n return this._locale._abbr;\n } else {\n newLocaleData = getLocale(key);\n if (newLocaleData != null) {\n this._locale = newLocaleData;\n }\n return this;\n }\n }\n\n var lang = deprecate(\n 'moment().lang() is deprecated. Instead, use moment().localeData() to get the language configuration. Use moment().locale() to change languages.',\n function (key) {\n if (key === undefined) {\n return this.localeData();\n } else {\n return this.locale(key);\n }\n }\n );\n\n function localeData () {\n return this._locale;\n }\n\n var MS_PER_SECOND = 1000;\n var MS_PER_MINUTE = 60 * MS_PER_SECOND;\n var MS_PER_HOUR = 60 * MS_PER_MINUTE;\n var MS_PER_400_YEARS = (365 * 400 + 97) * 24 * MS_PER_HOUR;\n\n // actual modulo - handles negative numbers (for dates before 1970):\n function mod$1(dividend, divisor) {\n return (dividend % divisor + divisor) % divisor;\n }\n\n function localStartOfDate(y, m, d) {\n // the date constructor remaps years 0-99 to 1900-1999\n if (y < 100 && y >= 0) {\n // preserve leap years using a full 400 year cycle, then reset\n return new Date(y + 400, m, d) - MS_PER_400_YEARS;\n } else {\n return new Date(y, m, d).valueOf();\n }\n }\n\n function utcStartOfDate(y, m, d) {\n // Date.UTC remaps years 0-99 to 1900-1999\n if (y < 100 && y >= 0) {\n // preserve leap years using a full 400 year cycle, then reset\n return Date.UTC(y + 400, m, d) - MS_PER_400_YEARS;\n } else {\n return Date.UTC(y, m, d);\n }\n }\n\n function startOf (units) {\n var time;\n units = normalizeUnits(units);\n if (units === undefined || units === 'millisecond' || !this.isValid()) {\n return this;\n }\n\n var startOfDate = this._isUTC ? utcStartOfDate : localStartOfDate;\n\n switch (units) {\n case 'year':\n time = startOfDate(this.year(), 0, 1);\n break;\n case 'quarter':\n time = startOfDate(this.year(), this.month() - this.month() % 3, 1);\n break;\n case 'month':\n time = startOfDate(this.year(), this.month(), 1);\n break;\n case 'week':\n time = startOfDate(this.year(), this.month(), this.date() - this.weekday());\n break;\n case 'isoWeek':\n time = startOfDate(this.year(), this.month(), this.date() - (this.isoWeekday() - 1));\n break;\n case 'day':\n case 'date':\n time = startOfDate(this.year(), this.month(), this.date());\n break;\n case 'hour':\n time = this._d.valueOf();\n time -= mod$1(time + (this._isUTC ? 0 : this.utcOffset() * MS_PER_MINUTE), MS_PER_HOUR);\n break;\n case 'minute':\n time = this._d.valueOf();\n time -= mod$1(time, MS_PER_MINUTE);\n break;\n case 'second':\n time = this._d.valueOf();\n time -= mod$1(time, MS_PER_SECOND);\n break;\n }\n\n this._d.setTime(time);\n hooks.updateOffset(this, true);\n return this;\n }\n\n function endOf (units) {\n var time;\n units = normalizeUnits(units);\n if (units === undefined || units === 'millisecond' || !this.isValid()) {\n return this;\n }\n\n var startOfDate = this._isUTC ? utcStartOfDate : localStartOfDate;\n\n switch (units) {\n case 'year':\n time = startOfDate(this.year() + 1, 0, 1) - 1;\n break;\n case 'quarter':\n time = startOfDate(this.year(), this.month() - this.month() % 3 + 3, 1) - 1;\n break;\n case 'month':\n time = startOfDate(this.year(), this.month() + 1, 1) - 1;\n break;\n case 'week':\n time = startOfDate(this.year(), this.month(), this.date() - this.weekday() + 7) - 1;\n break;\n case 'isoWeek':\n time = startOfDate(this.year(), this.month(), this.date() - (this.isoWeekday() - 1) + 7) - 1;\n break;\n case 'day':\n case 'date':\n time = startOfDate(this.year(), this.month(), this.date() + 1) - 1;\n break;\n case 'hour':\n time = this._d.valueOf();\n time += MS_PER_HOUR - mod$1(time + (this._isUTC ? 0 : this.utcOffset() * MS_PER_MINUTE), MS_PER_HOUR) - 1;\n break;\n case 'minute':\n time = this._d.valueOf();\n time += MS_PER_MINUTE - mod$1(time, MS_PER_MINUTE) - 1;\n break;\n case 'second':\n time = this._d.valueOf();\n time += MS_PER_SECOND - mod$1(time, MS_PER_SECOND) - 1;\n break;\n }\n\n this._d.setTime(time);\n hooks.updateOffset(this, true);\n return this;\n }\n\n function valueOf () {\n return this._d.valueOf() - ((this._offset || 0) * 60000);\n }\n\n function unix () {\n return Math.floor(this.valueOf() / 1000);\n }\n\n function toDate () {\n return new Date(this.valueOf());\n }\n\n function toArray () {\n var m = this;\n return [m.year(), m.month(), m.date(), m.hour(), m.minute(), m.second(), m.millisecond()];\n }\n\n function toObject () {\n var m = this;\n return {\n years: m.year(),\n months: m.month(),\n date: m.date(),\n hours: m.hours(),\n minutes: m.minutes(),\n seconds: m.seconds(),\n milliseconds: m.milliseconds()\n };\n }\n\n function toJSON () {\n // new Date(NaN).toJSON() === null\n return this.isValid() ? this.toISOString() : null;\n }\n\n function isValid$2 () {\n return isValid(this);\n }\n\n function parsingFlags () {\n return extend({}, getParsingFlags(this));\n }\n\n function invalidAt () {\n return getParsingFlags(this).overflow;\n }\n\n function creationData() {\n return {\n input: this._i,\n format: this._f,\n locale: this._locale,\n isUTC: this._isUTC,\n strict: this._strict\n };\n }\n\n // FORMATTING\n\n addFormatToken(0, ['gg', 2], 0, function () {\n return this.weekYear() % 100;\n });\n\n addFormatToken(0, ['GG', 2], 0, function () {\n return this.isoWeekYear() % 100;\n });\n\n function addWeekYearFormatToken (token, getter) {\n addFormatToken(0, [token, token.length], 0, getter);\n }\n\n addWeekYearFormatToken('gggg', 'weekYear');\n addWeekYearFormatToken('ggggg', 'weekYear');\n addWeekYearFormatToken('GGGG', 'isoWeekYear');\n addWeekYearFormatToken('GGGGG', 'isoWeekYear');\n\n // ALIASES\n\n addUnitAlias('weekYear', 'gg');\n addUnitAlias('isoWeekYear', 'GG');\n\n // PRIORITY\n\n addUnitPriority('weekYear', 1);\n addUnitPriority('isoWeekYear', 1);\n\n\n // PARSING\n\n addRegexToken('G', matchSigned);\n addRegexToken('g', matchSigned);\n addRegexToken('GG', match1to2, match2);\n addRegexToken('gg', match1to2, match2);\n addRegexToken('GGGG', match1to4, match4);\n addRegexToken('gggg', match1to4, match4);\n addRegexToken('GGGGG', match1to6, match6);\n addRegexToken('ggggg', match1to6, match6);\n\n addWeekParseToken(['gggg', 'ggggg', 'GGGG', 'GGGGG'], function (input, week, config, token) {\n week[token.substr(0, 2)] = toInt(input);\n });\n\n addWeekParseToken(['gg', 'GG'], function (input, week, config, token) {\n week[token] = hooks.parseTwoDigitYear(input);\n });\n\n // MOMENTS\n\n function getSetWeekYear (input) {\n return getSetWeekYearHelper.call(this,\n input,\n this.week(),\n this.weekday(),\n this.localeData()._week.dow,\n this.localeData()._week.doy);\n }\n\n function getSetISOWeekYear (input) {\n return getSetWeekYearHelper.call(this,\n input, this.isoWeek(), this.isoWeekday(), 1, 4);\n }\n\n function getISOWeeksInYear () {\n return weeksInYear(this.year(), 1, 4);\n }\n\n function getWeeksInYear () {\n var weekInfo = this.localeData()._week;\n return weeksInYear(this.year(), weekInfo.dow, weekInfo.doy);\n }\n\n function getSetWeekYearHelper(input, week, weekday, dow, doy) {\n var weeksTarget;\n if (input == null) {\n return weekOfYear(this, dow, doy).year;\n } else {\n weeksTarget = weeksInYear(input, dow, doy);\n if (week > weeksTarget) {\n week = weeksTarget;\n }\n return setWeekAll.call(this, input, week, weekday, dow, doy);\n }\n }\n\n function setWeekAll(weekYear, week, weekday, dow, doy) {\n var dayOfYearData = dayOfYearFromWeeks(weekYear, week, weekday, dow, doy),\n date = createUTCDate(dayOfYearData.year, 0, dayOfYearData.dayOfYear);\n\n this.year(date.getUTCFullYear());\n this.month(date.getUTCMonth());\n this.date(date.getUTCDate());\n return this;\n }\n\n // FORMATTING\n\n addFormatToken('Q', 0, 'Qo', 'quarter');\n\n // ALIASES\n\n addUnitAlias('quarter', 'Q');\n\n // PRIORITY\n\n addUnitPriority('quarter', 7);\n\n // PARSING\n\n addRegexToken('Q', match1);\n addParseToken('Q', function (input, array) {\n array[MONTH] = (toInt(input) - 1) * 3;\n });\n\n // MOMENTS\n\n function getSetQuarter (input) {\n return input == null ? Math.ceil((this.month() + 1) / 3) : this.month((input - 1) * 3 + this.month() % 3);\n }\n\n // FORMATTING\n\n addFormatToken('D', ['DD', 2], 'Do', 'date');\n\n // ALIASES\n\n addUnitAlias('date', 'D');\n\n // PRIORITY\n addUnitPriority('date', 9);\n\n // PARSING\n\n addRegexToken('D', match1to2);\n addRegexToken('DD', match1to2, match2);\n addRegexToken('Do', function (isStrict, locale) {\n // TODO: Remove \"ordinalParse\" fallback in next major release.\n return isStrict ?\n (locale._dayOfMonthOrdinalParse || locale._ordinalParse) :\n locale._dayOfMonthOrdinalParseLenient;\n });\n\n addParseToken(['D', 'DD'], DATE);\n addParseToken('Do', function (input, array) {\n array[DATE] = toInt(input.match(match1to2)[0]);\n });\n\n // MOMENTS\n\n var getSetDayOfMonth = makeGetSet('Date', true);\n\n // FORMATTING\n\n addFormatToken('DDD', ['DDDD', 3], 'DDDo', 'dayOfYear');\n\n // ALIASES\n\n addUnitAlias('dayOfYear', 'DDD');\n\n // PRIORITY\n addUnitPriority('dayOfYear', 4);\n\n // PARSING\n\n addRegexToken('DDD', match1to3);\n addRegexToken('DDDD', match3);\n addParseToken(['DDD', 'DDDD'], function (input, array, config) {\n config._dayOfYear = toInt(input);\n });\n\n // HELPERS\n\n // MOMENTS\n\n function getSetDayOfYear (input) {\n var dayOfYear = Math.round((this.clone().startOf('day') - this.clone().startOf('year')) / 864e5) + 1;\n return input == null ? dayOfYear : this.add((input - dayOfYear), 'd');\n }\n\n // FORMATTING\n\n addFormatToken('m', ['mm', 2], 0, 'minute');\n\n // ALIASES\n\n addUnitAlias('minute', 'm');\n\n // PRIORITY\n\n addUnitPriority('minute', 14);\n\n // PARSING\n\n addRegexToken('m', match1to2);\n addRegexToken('mm', match1to2, match2);\n addParseToken(['m', 'mm'], MINUTE);\n\n // MOMENTS\n\n var getSetMinute = makeGetSet('Minutes', false);\n\n // FORMATTING\n\n addFormatToken('s', ['ss', 2], 0, 'second');\n\n // ALIASES\n\n addUnitAlias('second', 's');\n\n // PRIORITY\n\n addUnitPriority('second', 15);\n\n // PARSING\n\n addRegexToken('s', match1to2);\n addRegexToken('ss', match1to2, match2);\n addParseToken(['s', 'ss'], SECOND);\n\n // MOMENTS\n\n var getSetSecond = makeGetSet('Seconds', false);\n\n // FORMATTING\n\n addFormatToken('S', 0, 0, function () {\n return ~~(this.millisecond() / 100);\n });\n\n addFormatToken(0, ['SS', 2], 0, function () {\n return ~~(this.millisecond() / 10);\n });\n\n addFormatToken(0, ['SSS', 3], 0, 'millisecond');\n addFormatToken(0, ['SSSS', 4], 0, function () {\n return this.millisecond() * 10;\n });\n addFormatToken(0, ['SSSSS', 5], 0, function () {\n return this.millisecond() * 100;\n });\n addFormatToken(0, ['SSSSSS', 6], 0, function () {\n return this.millisecond() * 1000;\n });\n addFormatToken(0, ['SSSSSSS', 7], 0, function () {\n return this.millisecond() * 10000;\n });\n addFormatToken(0, ['SSSSSSSS', 8], 0, function () {\n return this.millisecond() * 100000;\n });\n addFormatToken(0, ['SSSSSSSSS', 9], 0, function () {\n return this.millisecond() * 1000000;\n });\n\n\n // ALIASES\n\n addUnitAlias('millisecond', 'ms');\n\n // PRIORITY\n\n addUnitPriority('millisecond', 16);\n\n // PARSING\n\n addRegexToken('S', match1to3, match1);\n addRegexToken('SS', match1to3, match2);\n addRegexToken('SSS', match1to3, match3);\n\n var token;\n for (token = 'SSSS'; token.length <= 9; token += 'S') {\n addRegexToken(token, matchUnsigned);\n }\n\n function parseMs(input, array) {\n array[MILLISECOND] = toInt(('0.' + input) * 1000);\n }\n\n for (token = 'S'; token.length <= 9; token += 'S') {\n addParseToken(token, parseMs);\n }\n // MOMENTS\n\n var getSetMillisecond = makeGetSet('Milliseconds', false);\n\n // FORMATTING\n\n addFormatToken('z', 0, 0, 'zoneAbbr');\n addFormatToken('zz', 0, 0, 'zoneName');\n\n // MOMENTS\n\n function getZoneAbbr () {\n return this._isUTC ? 'UTC' : '';\n }\n\n function getZoneName () {\n return this._isUTC ? 'Coordinated Universal Time' : '';\n }\n\n var proto = Moment.prototype;\n\n proto.add = add;\n proto.calendar = calendar$1;\n proto.clone = clone;\n proto.diff = diff;\n proto.endOf = endOf;\n proto.format = format;\n proto.from = from;\n proto.fromNow = fromNow;\n proto.to = to;\n proto.toNow = toNow;\n proto.get = stringGet;\n proto.invalidAt = invalidAt;\n proto.isAfter = isAfter;\n proto.isBefore = isBefore;\n proto.isBetween = isBetween;\n proto.isSame = isSame;\n proto.isSameOrAfter = isSameOrAfter;\n proto.isSameOrBefore = isSameOrBefore;\n proto.isValid = isValid$2;\n proto.lang = lang;\n proto.locale = locale;\n proto.localeData = localeData;\n proto.max = prototypeMax;\n proto.min = prototypeMin;\n proto.parsingFlags = parsingFlags;\n proto.set = stringSet;\n proto.startOf = startOf;\n proto.subtract = subtract;\n proto.toArray = toArray;\n proto.toObject = toObject;\n proto.toDate = toDate;\n proto.toISOString = toISOString;\n proto.inspect = inspect;\n proto.toJSON = toJSON;\n proto.toString = toString;\n proto.unix = unix;\n proto.valueOf = valueOf;\n proto.creationData = creationData;\n proto.year = getSetYear;\n proto.isLeapYear = getIsLeapYear;\n proto.weekYear = getSetWeekYear;\n proto.isoWeekYear = getSetISOWeekYear;\n proto.quarter = proto.quarters = getSetQuarter;\n proto.month = getSetMonth;\n proto.daysInMonth = getDaysInMonth;\n proto.week = proto.weeks = getSetWeek;\n proto.isoWeek = proto.isoWeeks = getSetISOWeek;\n proto.weeksInYear = getWeeksInYear;\n proto.isoWeeksInYear = getISOWeeksInYear;\n proto.date = getSetDayOfMonth;\n proto.day = proto.days = getSetDayOfWeek;\n proto.weekday = getSetLocaleDayOfWeek;\n proto.isoWeekday = getSetISODayOfWeek;\n proto.dayOfYear = getSetDayOfYear;\n proto.hour = proto.hours = getSetHour;\n proto.minute = proto.minutes = getSetMinute;\n proto.second = proto.seconds = getSetSecond;\n proto.millisecond = proto.milliseconds = getSetMillisecond;\n proto.utcOffset = getSetOffset;\n proto.utc = setOffsetToUTC;\n proto.local = setOffsetToLocal;\n proto.parseZone = setOffsetToParsedOffset;\n proto.hasAlignedHourOffset = hasAlignedHourOffset;\n proto.isDST = isDaylightSavingTime;\n proto.isLocal = isLocal;\n proto.isUtcOffset = isUtcOffset;\n proto.isUtc = isUtc;\n proto.isUTC = isUtc;\n proto.zoneAbbr = getZoneAbbr;\n proto.zoneName = getZoneName;\n proto.dates = deprecate('dates accessor is deprecated. Use date instead.', getSetDayOfMonth);\n proto.months = deprecate('months accessor is deprecated. Use month instead', getSetMonth);\n proto.years = deprecate('years accessor is deprecated. Use year instead', getSetYear);\n proto.zone = deprecate('moment().zone is deprecated, use moment().utcOffset instead. http://momentjs.com/guides/#/warnings/zone/', getSetZone);\n proto.isDSTShifted = deprecate('isDSTShifted is deprecated. See http://momentjs.com/guides/#/warnings/dst-shifted/ for more information', isDaylightSavingTimeShifted);\n\n function createUnix (input) {\n return createLocal(input * 1000);\n }\n\n function createInZone () {\n return createLocal.apply(null, arguments).parseZone();\n }\n\n function preParsePostFormat (string) {\n return string;\n }\n\n var proto$1 = Locale.prototype;\n\n proto$1.calendar = calendar;\n proto$1.longDateFormat = longDateFormat;\n proto$1.invalidDate = invalidDate;\n proto$1.ordinal = ordinal;\n proto$1.preparse = preParsePostFormat;\n proto$1.postformat = preParsePostFormat;\n proto$1.relativeTime = relativeTime;\n proto$1.pastFuture = pastFuture;\n proto$1.set = set;\n\n proto$1.months = localeMonths;\n proto$1.monthsShort = localeMonthsShort;\n proto$1.monthsParse = localeMonthsParse;\n proto$1.monthsRegex = monthsRegex;\n proto$1.monthsShortRegex = monthsShortRegex;\n proto$1.week = localeWeek;\n proto$1.firstDayOfYear = localeFirstDayOfYear;\n proto$1.firstDayOfWeek = localeFirstDayOfWeek;\n\n proto$1.weekdays = localeWeekdays;\n proto$1.weekdaysMin = localeWeekdaysMin;\n proto$1.weekdaysShort = localeWeekdaysShort;\n proto$1.weekdaysParse = localeWeekdaysParse;\n\n proto$1.weekdaysRegex = weekdaysRegex;\n proto$1.weekdaysShortRegex = weekdaysShortRegex;\n proto$1.weekdaysMinRegex = weekdaysMinRegex;\n\n proto$1.isPM = localeIsPM;\n proto$1.meridiem = localeMeridiem;\n\n function get$1 (format, index, field, setter) {\n var locale = getLocale();\n var utc = createUTC().set(setter, index);\n return locale[field](utc, format);\n }\n\n function listMonthsImpl (format, index, field) {\n if (isNumber(format)) {\n index = format;\n format = undefined;\n }\n\n format = format || '';\n\n if (index != null) {\n return get$1(format, index, field, 'month');\n }\n\n var i;\n var out = [];\n for (i = 0; i < 12; i++) {\n out[i] = get$1(format, i, field, 'month');\n }\n return out;\n }\n\n // ()\n // (5)\n // (fmt, 5)\n // (fmt)\n // (true)\n // (true, 5)\n // (true, fmt, 5)\n // (true, fmt)\n function listWeekdaysImpl (localeSorted, format, index, field) {\n if (typeof localeSorted === 'boolean') {\n if (isNumber(format)) {\n index = format;\n format = undefined;\n }\n\n format = format || '';\n } else {\n format = localeSorted;\n index = format;\n localeSorted = false;\n\n if (isNumber(format)) {\n index = format;\n format = undefined;\n }\n\n format = format || '';\n }\n\n var locale = getLocale(),\n shift = localeSorted ? locale._week.dow : 0;\n\n if (index != null) {\n return get$1(format, (index + shift) % 7, field, 'day');\n }\n\n var i;\n var out = [];\n for (i = 0; i < 7; i++) {\n out[i] = get$1(format, (i + shift) % 7, field, 'day');\n }\n return out;\n }\n\n function listMonths (format, index) {\n return listMonthsImpl(format, index, 'months');\n }\n\n function listMonthsShort (format, index) {\n return listMonthsImpl(format, index, 'monthsShort');\n }\n\n function listWeekdays (localeSorted, format, index) {\n return listWeekdaysImpl(localeSorted, format, index, 'weekdays');\n }\n\n function listWeekdaysShort (localeSorted, format, index) {\n return listWeekdaysImpl(localeSorted, format, index, 'weekdaysShort');\n }\n\n function listWeekdaysMin (localeSorted, format, index) {\n return listWeekdaysImpl(localeSorted, format, index, 'weekdaysMin');\n }\n\n getSetGlobalLocale('en', {\n dayOfMonthOrdinalParse: /\\d{1,2}(th|st|nd|rd)/,\n ordinal : function (number) {\n var b = number % 10,\n output = (toInt(number % 100 / 10) === 1) ? 'th' :\n (b === 1) ? 'st' :\n (b === 2) ? 'nd' :\n (b === 3) ? 'rd' : 'th';\n return number + output;\n }\n });\n\n // Side effect imports\n\n hooks.lang = deprecate('moment.lang is deprecated. Use moment.locale instead.', getSetGlobalLocale);\n hooks.langData = deprecate('moment.langData is deprecated. Use moment.localeData instead.', getLocale);\n\n var mathAbs = Math.abs;\n\n function abs () {\n var data = this._data;\n\n this._milliseconds = mathAbs(this._milliseconds);\n this._days = mathAbs(this._days);\n this._months = mathAbs(this._months);\n\n data.milliseconds = mathAbs(data.milliseconds);\n data.seconds = mathAbs(data.seconds);\n data.minutes = mathAbs(data.minutes);\n data.hours = mathAbs(data.hours);\n data.months = mathAbs(data.months);\n data.years = mathAbs(data.years);\n\n return this;\n }\n\n function addSubtract$1 (duration, input, value, direction) {\n var other = createDuration(input, value);\n\n duration._milliseconds += direction * other._milliseconds;\n duration._days += direction * other._days;\n duration._months += direction * other._months;\n\n return duration._bubble();\n }\n\n // supports only 2.0-style add(1, 's') or add(duration)\n function add$1 (input, value) {\n return addSubtract$1(this, input, value, 1);\n }\n\n // supports only 2.0-style subtract(1, 's') or subtract(duration)\n function subtract$1 (input, value) {\n return addSubtract$1(this, input, value, -1);\n }\n\n function absCeil (number) {\n if (number < 0) {\n return Math.floor(number);\n } else {\n return Math.ceil(number);\n }\n }\n\n function bubble () {\n var milliseconds = this._milliseconds;\n var days = this._days;\n var months = this._months;\n var data = this._data;\n var seconds, minutes, hours, years, monthsFromDays;\n\n // if we have a mix of positive and negative values, bubble down first\n // check: https://github.com/moment/moment/issues/2166\n if (!((milliseconds >= 0 && days >= 0 && months >= 0) ||\n (milliseconds <= 0 && days <= 0 && months <= 0))) {\n milliseconds += absCeil(monthsToDays(months) + days) * 864e5;\n days = 0;\n months = 0;\n }\n\n // The following code bubbles up values, see the tests for\n // examples of what that means.\n data.milliseconds = milliseconds % 1000;\n\n seconds = absFloor(milliseconds / 1000);\n data.seconds = seconds % 60;\n\n minutes = absFloor(seconds / 60);\n data.minutes = minutes % 60;\n\n hours = absFloor(minutes / 60);\n data.hours = hours % 24;\n\n days += absFloor(hours / 24);\n\n // convert days to months\n monthsFromDays = absFloor(daysToMonths(days));\n months += monthsFromDays;\n days -= absCeil(monthsToDays(monthsFromDays));\n\n // 12 months -> 1 year\n years = absFloor(months / 12);\n months %= 12;\n\n data.days = days;\n data.months = months;\n data.years = years;\n\n return this;\n }\n\n function daysToMonths (days) {\n // 400 years have 146097 days (taking into account leap year rules)\n // 400 years have 12 months === 4800\n return days * 4800 / 146097;\n }\n\n function monthsToDays (months) {\n // the reverse of daysToMonths\n return months * 146097 / 4800;\n }\n\n function as (units) {\n if (!this.isValid()) {\n return NaN;\n }\n var days;\n var months;\n var milliseconds = this._milliseconds;\n\n units = normalizeUnits(units);\n\n if (units === 'month' || units === 'quarter' || units === 'year') {\n days = this._days + milliseconds / 864e5;\n months = this._months + daysToMonths(days);\n switch (units) {\n case 'month': return months;\n case 'quarter': return months / 3;\n case 'year': return months / 12;\n }\n } else {\n // handle milliseconds separately because of floating point math errors (issue #1867)\n days = this._days + Math.round(monthsToDays(this._months));\n switch (units) {\n case 'week' : return days / 7 + milliseconds / 6048e5;\n case 'day' : return days + milliseconds / 864e5;\n case 'hour' : return days * 24 + milliseconds / 36e5;\n case 'minute' : return days * 1440 + milliseconds / 6e4;\n case 'second' : return days * 86400 + milliseconds / 1000;\n // Math.floor prevents floating point math errors here\n case 'millisecond': return Math.floor(days * 864e5) + milliseconds;\n default: throw new Error('Unknown unit ' + units);\n }\n }\n }\n\n // TODO: Use this.as('ms')?\n function valueOf$1 () {\n if (!this.isValid()) {\n return NaN;\n }\n return (\n this._milliseconds +\n this._days * 864e5 +\n (this._months % 12) * 2592e6 +\n toInt(this._months / 12) * 31536e6\n );\n }\n\n function makeAs (alias) {\n return function () {\n return this.as(alias);\n };\n }\n\n var asMilliseconds = makeAs('ms');\n var asSeconds = makeAs('s');\n var asMinutes = makeAs('m');\n var asHours = makeAs('h');\n var asDays = makeAs('d');\n var asWeeks = makeAs('w');\n var asMonths = makeAs('M');\n var asQuarters = makeAs('Q');\n var asYears = makeAs('y');\n\n function clone$1 () {\n return createDuration(this);\n }\n\n function get$2 (units) {\n units = normalizeUnits(units);\n return this.isValid() ? this[units + 's']() : NaN;\n }\n\n function makeGetter(name) {\n return function () {\n return this.isValid() ? this._data[name] : NaN;\n };\n }\n\n var milliseconds = makeGetter('milliseconds');\n var seconds = makeGetter('seconds');\n var minutes = makeGetter('minutes');\n var hours = makeGetter('hours');\n var days = makeGetter('days');\n var months = makeGetter('months');\n var years = makeGetter('years');\n\n function weeks () {\n return absFloor(this.days() / 7);\n }\n\n var round = Math.round;\n var thresholds = {\n ss: 44, // a few seconds to seconds\n s : 45, // seconds to minute\n m : 45, // minutes to hour\n h : 22, // hours to day\n d : 26, // days to month\n M : 11 // months to year\n };\n\n // helper function for moment.fn.from, moment.fn.fromNow, and moment.duration.fn.humanize\n function substituteTimeAgo(string, number, withoutSuffix, isFuture, locale) {\n return locale.relativeTime(number || 1, !!withoutSuffix, string, isFuture);\n }\n\n function relativeTime$1 (posNegDuration, withoutSuffix, locale) {\n var duration = createDuration(posNegDuration).abs();\n var seconds = round(duration.as('s'));\n var minutes = round(duration.as('m'));\n var hours = round(duration.as('h'));\n var days = round(duration.as('d'));\n var months = round(duration.as('M'));\n var years = round(duration.as('y'));\n\n var a = seconds <= thresholds.ss && ['s', seconds] ||\n seconds < thresholds.s && ['ss', seconds] ||\n minutes <= 1 && ['m'] ||\n minutes < thresholds.m && ['mm', minutes] ||\n hours <= 1 && ['h'] ||\n hours < thresholds.h && ['hh', hours] ||\n days <= 1 && ['d'] ||\n days < thresholds.d && ['dd', days] ||\n months <= 1 && ['M'] ||\n months < thresholds.M && ['MM', months] ||\n years <= 1 && ['y'] || ['yy', years];\n\n a[2] = withoutSuffix;\n a[3] = +posNegDuration > 0;\n a[4] = locale;\n return substituteTimeAgo.apply(null, a);\n }\n\n // This function allows you to set the rounding function for relative time strings\n function getSetRelativeTimeRounding (roundingFunction) {\n if (roundingFunction === undefined) {\n return round;\n }\n if (typeof(roundingFunction) === 'function') {\n round = roundingFunction;\n return true;\n }\n return false;\n }\n\n // This function allows you to set a threshold for relative time strings\n function getSetRelativeTimeThreshold (threshold, limit) {\n if (thresholds[threshold] === undefined) {\n return false;\n }\n if (limit === undefined) {\n return thresholds[threshold];\n }\n thresholds[threshold] = limit;\n if (threshold === 's') {\n thresholds.ss = limit - 1;\n }\n return true;\n }\n\n function humanize (withSuffix) {\n if (!this.isValid()) {\n return this.localeData().invalidDate();\n }\n\n var locale = this.localeData();\n var output = relativeTime$1(this, !withSuffix, locale);\n\n if (withSuffix) {\n output = locale.pastFuture(+this, output);\n }\n\n return locale.postformat(output);\n }\n\n var abs$1 = Math.abs;\n\n function sign(x) {\n return ((x > 0) - (x < 0)) || +x;\n }\n\n function toISOString$1() {\n // for ISO strings we do not use the normal bubbling rules:\n // * milliseconds bubble up until they become hours\n // * days do not bubble at all\n // * months bubble up until they become years\n // This is because there is no context-free conversion between hours and days\n // (think of clock changes)\n // and also not between days and months (28-31 days per month)\n if (!this.isValid()) {\n return this.localeData().invalidDate();\n }\n\n var seconds = abs$1(this._milliseconds) / 1000;\n var days = abs$1(this._days);\n var months = abs$1(this._months);\n var minutes, hours, years;\n\n // 3600 seconds -> 60 minutes -> 1 hour\n minutes = absFloor(seconds / 60);\n hours = absFloor(minutes / 60);\n seconds %= 60;\n minutes %= 60;\n\n // 12 months -> 1 year\n years = absFloor(months / 12);\n months %= 12;\n\n\n // inspired by https://github.com/dordille/moment-isoduration/blob/master/moment.isoduration.js\n var Y = years;\n var M = months;\n var D = days;\n var h = hours;\n var m = minutes;\n var s = seconds ? seconds.toFixed(3).replace(/\\.?0+$/, '') : '';\n var total = this.asSeconds();\n\n if (!total) {\n // this is the same as C#'s (Noda) and python (isodate)...\n // but not other JS (goog.date)\n return 'P0D';\n }\n\n var totalSign = total < 0 ? '-' : '';\n var ymSign = sign(this._months) !== sign(total) ? '-' : '';\n var daysSign = sign(this._days) !== sign(total) ? '-' : '';\n var hmsSign = sign(this._milliseconds) !== sign(total) ? '-' : '';\n\n return totalSign + 'P' +\n (Y ? ymSign + Y + 'Y' : '') +\n (M ? ymSign + M + 'M' : '') +\n (D ? daysSign + D + 'D' : '') +\n ((h || m || s) ? 'T' : '') +\n (h ? hmsSign + h + 'H' : '') +\n (m ? hmsSign + m + 'M' : '') +\n (s ? hmsSign + s + 'S' : '');\n }\n\n var proto$2 = Duration.prototype;\n\n proto$2.isValid = isValid$1;\n proto$2.abs = abs;\n proto$2.add = add$1;\n proto$2.subtract = subtract$1;\n proto$2.as = as;\n proto$2.asMilliseconds = asMilliseconds;\n proto$2.asSeconds = asSeconds;\n proto$2.asMinutes = asMinutes;\n proto$2.asHours = asHours;\n proto$2.asDays = asDays;\n proto$2.asWeeks = asWeeks;\n proto$2.asMonths = asMonths;\n proto$2.asQuarters = asQuarters;\n proto$2.asYears = asYears;\n proto$2.valueOf = valueOf$1;\n proto$2._bubble = bubble;\n proto$2.clone = clone$1;\n proto$2.get = get$2;\n proto$2.milliseconds = milliseconds;\n proto$2.seconds = seconds;\n proto$2.minutes = minutes;\n proto$2.hours = hours;\n proto$2.days = days;\n proto$2.weeks = weeks;\n proto$2.months = months;\n proto$2.years = years;\n proto$2.humanize = humanize;\n proto$2.toISOString = toISOString$1;\n proto$2.toString = toISOString$1;\n proto$2.toJSON = toISOString$1;\n proto$2.locale = locale;\n proto$2.localeData = localeData;\n\n proto$2.toIsoString = deprecate('toIsoString() is deprecated. Please use toISOString() instead (notice the capitals)', toISOString$1);\n proto$2.lang = lang;\n\n // Side effect imports\n\n // FORMATTING\n\n addFormatToken('X', 0, 0, 'unix');\n addFormatToken('x', 0, 0, 'valueOf');\n\n // PARSING\n\n addRegexToken('x', matchSigned);\n addRegexToken('X', matchTimestamp);\n addParseToken('X', function (input, array, config) {\n config._d = new Date(parseFloat(input, 10) * 1000);\n });\n addParseToken('x', function (input, array, config) {\n config._d = new Date(toInt(input));\n });\n\n // Side effect imports\n\n\n hooks.version = '2.24.0';\n\n setHookCallback(createLocal);\n\n hooks.fn = proto;\n hooks.min = min;\n hooks.max = max;\n hooks.now = now;\n hooks.utc = createUTC;\n hooks.unix = createUnix;\n hooks.months = listMonths;\n hooks.isDate = isDate;\n hooks.locale = getSetGlobalLocale;\n hooks.invalid = createInvalid;\n hooks.duration = createDuration;\n hooks.isMoment = isMoment;\n hooks.weekdays = listWeekdays;\n hooks.parseZone = createInZone;\n hooks.localeData = getLocale;\n hooks.isDuration = isDuration;\n hooks.monthsShort = listMonthsShort;\n hooks.weekdaysMin = listWeekdaysMin;\n hooks.defineLocale = defineLocale;\n hooks.updateLocale = updateLocale;\n hooks.locales = listLocales;\n hooks.weekdaysShort = listWeekdaysShort;\n hooks.normalizeUnits = normalizeUnits;\n hooks.relativeTimeRounding = getSetRelativeTimeRounding;\n hooks.relativeTimeThreshold = getSetRelativeTimeThreshold;\n hooks.calendarFormat = getCalendarFormat;\n hooks.prototype = proto;\n\n // currently HTML5 input type only supports 24-hour formats\n hooks.HTML5_FMT = {\n DATETIME_LOCAL: 'YYYY-MM-DDTHH:mm', // \n DATETIME_LOCAL_SECONDS: 'YYYY-MM-DDTHH:mm:ss', // \n DATETIME_LOCAL_MS: 'YYYY-MM-DDTHH:mm:ss.SSS', // \n DATE: 'YYYY-MM-DD', // \n TIME: 'HH:mm', // \n TIME_SECONDS: 'HH:mm:ss', // \n TIME_MS: 'HH:mm:ss.SSS', // \n WEEK: 'GGGG-[W]WW', // \n MONTH: 'YYYY-MM' // \n };\n\n return hooks;\n\n})));\n","/**\n * Helpers.\n */\n\nvar s = 1000;\nvar m = s * 60;\nvar h = m * 60;\nvar d = h * 24;\nvar w = d * 7;\nvar y = d * 365.25;\n\n/**\n * Parse or format the given `val`.\n *\n * Options:\n *\n * - `long` verbose formatting [false]\n *\n * @param {String|Number} val\n * @param {Object} [options]\n * @throws {Error} throw an error if val is not a non-empty string or a number\n * @return {String|Number}\n * @api public\n */\n\nmodule.exports = function (val, options) {\n options = options || {};\n var type = typeof val;\n if (type === 'string' && val.length > 0) {\n return parse(val);\n } else if (type === 'number' && isFinite(val)) {\n return options.long ? fmtLong(val) : fmtShort(val);\n }\n throw new Error(\n 'val is not a non-empty string or a valid number. val=' +\n JSON.stringify(val)\n );\n};\n\n/**\n * Parse the given `str` and return milliseconds.\n *\n * @param {String} str\n * @return {Number}\n * @api private\n */\n\nfunction parse(str) {\n str = String(str);\n if (str.length > 100) {\n return;\n }\n var match = /^(-?(?:\\d+)?\\.?\\d+) *(milliseconds?|msecs?|ms|seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|weeks?|w|years?|yrs?|y)?$/i.exec(\n str\n );\n if (!match) {\n return;\n }\n var n = parseFloat(match[1]);\n var type = (match[2] || 'ms').toLowerCase();\n switch (type) {\n case 'years':\n case 'year':\n case 'yrs':\n case 'yr':\n case 'y':\n return n * y;\n case 'weeks':\n case 'week':\n case 'w':\n return n * w;\n case 'days':\n case 'day':\n case 'd':\n return n * d;\n case 'hours':\n case 'hour':\n case 'hrs':\n case 'hr':\n case 'h':\n return n * h;\n case 'minutes':\n case 'minute':\n case 'mins':\n case 'min':\n case 'm':\n return n * m;\n case 'seconds':\n case 'second':\n case 'secs':\n case 'sec':\n case 's':\n return n * s;\n case 'milliseconds':\n case 'millisecond':\n case 'msecs':\n case 'msec':\n case 'ms':\n return n;\n default:\n return undefined;\n }\n}\n\n/**\n * Short format for `ms`.\n *\n * @param {Number} ms\n * @return {String}\n * @api private\n */\n\nfunction fmtShort(ms) {\n var msAbs = Math.abs(ms);\n if (msAbs >= d) {\n return Math.round(ms / d) + 'd';\n }\n if (msAbs >= h) {\n return Math.round(ms / h) + 'h';\n }\n if (msAbs >= m) {\n return Math.round(ms / m) + 'm';\n }\n if (msAbs >= s) {\n return Math.round(ms / s) + 's';\n }\n return ms + 'ms';\n}\n\n/**\n * Long format for `ms`.\n *\n * @param {Number} ms\n * @return {String}\n * @api private\n */\n\nfunction fmtLong(ms) {\n var msAbs = Math.abs(ms);\n if (msAbs >= d) {\n return plural(ms, msAbs, d, 'day');\n }\n if (msAbs >= h) {\n return plural(ms, msAbs, h, 'hour');\n }\n if (msAbs >= m) {\n return plural(ms, msAbs, m, 'minute');\n }\n if (msAbs >= s) {\n return plural(ms, msAbs, s, 'second');\n }\n return ms + ' ms';\n}\n\n/**\n * Pluralization helper.\n */\n\nfunction plural(ms, msAbs, n, name) {\n var isPlural = msAbs >= n * 1.5;\n return Math.round(ms / n) + ' ' + name + (isPlural ? 's' : '');\n}\n","/*\n * Copyright (c) 2015-present, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the BSD-style license found in the\n * LICENSE file in the root directory of this source tree. An additional grant\n * of patent rights can be found in the PATENTS file in the same directory.\n *\n */\n\nfunction normalizeColor(color) {\n var match;\n\n if (typeof color === 'number') {\n if (color >>> 0 === color && color >= 0 && color <= 0xffffffff) {\n return color;\n }\n return null;\n }\n\n // Ordered based on occurrences on Facebook codebase\n if ((match = matchers.hex6.exec(color))) {\n return parseInt(match[1] + 'ff', 16) >>> 0;\n }\n\n if (names.hasOwnProperty(color)) {\n return names[color];\n }\n\n if ((match = matchers.rgb.exec(color))) {\n return (\n parse255(match[1]) << 24 | // r\n parse255(match[2]) << 16 | // g\n parse255(match[3]) << 8 | // b\n 0x000000ff // a\n ) >>> 0;\n }\n\n if ((match = matchers.rgba.exec(color))) {\n return (\n parse255(match[1]) << 24 | // r\n parse255(match[2]) << 16 | // g\n parse255(match[3]) << 8 | // b\n parse1(match[4]) // a\n ) >>> 0;\n }\n\n if ((match = matchers.hex3.exec(color))) {\n return parseInt(\n match[1] + match[1] + // r\n match[2] + match[2] + // g\n match[3] + match[3] + // b\n 'ff', // a\n 16\n ) >>> 0;\n }\n\n // https://drafts.csswg.org/css-color-4/#hex-notation\n if ((match = matchers.hex8.exec(color))) {\n return parseInt(match[1], 16) >>> 0;\n }\n\n if ((match = matchers.hex4.exec(color))) {\n return parseInt(\n match[1] + match[1] + // r\n match[2] + match[2] + // g\n match[3] + match[3] + // b\n match[4] + match[4], // a\n 16\n ) >>> 0;\n }\n\n if ((match = matchers.hsl.exec(color))) {\n return (\n hslToRgb(\n parse360(match[1]), // h\n parsePercentage(match[2]), // s\n parsePercentage(match[3]) // l\n ) |\n 0x000000ff // a\n ) >>> 0;\n }\n\n if ((match = matchers.hsla.exec(color))) {\n return (\n hslToRgb(\n parse360(match[1]), // h\n parsePercentage(match[2]), // s\n parsePercentage(match[3]) // l\n ) |\n parse1(match[4]) // a\n ) >>> 0;\n }\n\n return null;\n}\n\nfunction hue2rgb(p, q, t) {\n if (t < 0) {\n t += 1;\n }\n if (t > 1) {\n t -= 1;\n }\n if (t < 1 / 6) {\n return p + (q - p) * 6 * t;\n }\n if (t < 1 / 2) {\n return q;\n }\n if (t < 2 / 3) {\n return p + (q - p) * (2 / 3 - t) * 6;\n }\n return p;\n}\n\nfunction hslToRgb(h, s, l) {\n var q = l < 0.5 ? l * (1 + s) : l + s - l * s;\n var p = 2 * l - q;\n var r = hue2rgb(p, q, h + 1 / 3);\n var g = hue2rgb(p, q, h);\n var b = hue2rgb(p, q, h - 1 / 3);\n\n return (\n Math.round(r * 255) << 24 |\n Math.round(g * 255) << 16 |\n Math.round(b * 255) << 8\n );\n}\n\n// var INTEGER = '[-+]?\\\\d+';\nvar NUMBER = '[-+]?\\\\d*\\\\.?\\\\d+';\nvar PERCENTAGE = NUMBER + '%';\n\nfunction toArray(arrayLike) {\n return Array.prototype.slice.call(arrayLike, 0);\n}\n\nfunction call() {\n return '\\\\(\\\\s*(' + toArray(arguments).join(')\\\\s*,\\\\s*(') + ')\\\\s*\\\\)';\n}\n\nvar matchers = {\n rgb: new RegExp('rgb' + call(NUMBER, NUMBER, NUMBER)),\n rgba: new RegExp('rgba' + call(NUMBER, NUMBER, NUMBER, NUMBER)),\n hsl: new RegExp('hsl' + call(NUMBER, PERCENTAGE, PERCENTAGE)),\n hsla: new RegExp('hsla' + call(NUMBER, PERCENTAGE, PERCENTAGE, NUMBER)),\n hex3: /^#([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/,\n hex4: /^#([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/,\n hex6: /^#([0-9a-fA-F]{6})$/,\n hex8: /^#([0-9a-fA-F]{8})$/,\n};\n\nfunction parse255(str) {\n var int = parseInt(str, 10);\n if (int < 0) {\n return 0;\n }\n if (int > 255) {\n return 255;\n }\n return int;\n}\n\nfunction parse360(str) {\n var int = parseFloat(str);\n return (((int % 360) + 360) % 360) / 360;\n}\n\nfunction parse1(str) {\n var num = parseFloat(str);\n if (num < 0) {\n return 0;\n }\n if (num > 1) {\n return 255;\n }\n return Math.round(num * 255);\n}\n\nfunction parsePercentage(str) {\n // parseFloat conveniently ignores the final %\n var int = parseFloat(str, 10);\n if (int < 0) {\n return 0;\n }\n if (int > 100) {\n return 1;\n }\n return int / 100;\n}\n\nvar names = {\n transparent: 0x00000000,\n\n // http://www.w3.org/TR/css3-color/#svg-color\n aliceblue: 0xf0f8ffff,\n antiquewhite: 0xfaebd7ff,\n aqua: 0x00ffffff,\n aquamarine: 0x7fffd4ff,\n azure: 0xf0ffffff,\n beige: 0xf5f5dcff,\n bisque: 0xffe4c4ff,\n black: 0x000000ff,\n blanchedalmond: 0xffebcdff,\n blue: 0x0000ffff,\n blueviolet: 0x8a2be2ff,\n brown: 0xa52a2aff,\n burlywood: 0xdeb887ff,\n burntsienna: 0xea7e5dff,\n cadetblue: 0x5f9ea0ff,\n chartreuse: 0x7fff00ff,\n chocolate: 0xd2691eff,\n coral: 0xff7f50ff,\n cornflowerblue: 0x6495edff,\n cornsilk: 0xfff8dcff,\n crimson: 0xdc143cff,\n cyan: 0x00ffffff,\n darkblue: 0x00008bff,\n darkcyan: 0x008b8bff,\n darkgoldenrod: 0xb8860bff,\n darkgray: 0xa9a9a9ff,\n darkgreen: 0x006400ff,\n darkgrey: 0xa9a9a9ff,\n darkkhaki: 0xbdb76bff,\n darkmagenta: 0x8b008bff,\n darkolivegreen: 0x556b2fff,\n darkorange: 0xff8c00ff,\n darkorchid: 0x9932ccff,\n darkred: 0x8b0000ff,\n darksalmon: 0xe9967aff,\n darkseagreen: 0x8fbc8fff,\n darkslateblue: 0x483d8bff,\n darkslategray: 0x2f4f4fff,\n darkslategrey: 0x2f4f4fff,\n darkturquoise: 0x00ced1ff,\n darkviolet: 0x9400d3ff,\n deeppink: 0xff1493ff,\n deepskyblue: 0x00bfffff,\n dimgray: 0x696969ff,\n dimgrey: 0x696969ff,\n dodgerblue: 0x1e90ffff,\n firebrick: 0xb22222ff,\n floralwhite: 0xfffaf0ff,\n forestgreen: 0x228b22ff,\n fuchsia: 0xff00ffff,\n gainsboro: 0xdcdcdcff,\n ghostwhite: 0xf8f8ffff,\n gold: 0xffd700ff,\n goldenrod: 0xdaa520ff,\n gray: 0x808080ff,\n green: 0x008000ff,\n greenyellow: 0xadff2fff,\n grey: 0x808080ff,\n honeydew: 0xf0fff0ff,\n hotpink: 0xff69b4ff,\n indianred: 0xcd5c5cff,\n indigo: 0x4b0082ff,\n ivory: 0xfffff0ff,\n khaki: 0xf0e68cff,\n lavender: 0xe6e6faff,\n lavenderblush: 0xfff0f5ff,\n lawngreen: 0x7cfc00ff,\n lemonchiffon: 0xfffacdff,\n lightblue: 0xadd8e6ff,\n lightcoral: 0xf08080ff,\n lightcyan: 0xe0ffffff,\n lightgoldenrodyellow: 0xfafad2ff,\n lightgray: 0xd3d3d3ff,\n lightgreen: 0x90ee90ff,\n lightgrey: 0xd3d3d3ff,\n lightpink: 0xffb6c1ff,\n lightsalmon: 0xffa07aff,\n lightseagreen: 0x20b2aaff,\n lightskyblue: 0x87cefaff,\n lightslategray: 0x778899ff,\n lightslategrey: 0x778899ff,\n lightsteelblue: 0xb0c4deff,\n lightyellow: 0xffffe0ff,\n lime: 0x00ff00ff,\n limegreen: 0x32cd32ff,\n linen: 0xfaf0e6ff,\n magenta: 0xff00ffff,\n maroon: 0x800000ff,\n mediumaquamarine: 0x66cdaaff,\n mediumblue: 0x0000cdff,\n mediumorchid: 0xba55d3ff,\n mediumpurple: 0x9370dbff,\n mediumseagreen: 0x3cb371ff,\n mediumslateblue: 0x7b68eeff,\n mediumspringgreen: 0x00fa9aff,\n mediumturquoise: 0x48d1ccff,\n mediumvioletred: 0xc71585ff,\n midnightblue: 0x191970ff,\n mintcream: 0xf5fffaff,\n mistyrose: 0xffe4e1ff,\n moccasin: 0xffe4b5ff,\n navajowhite: 0xffdeadff,\n navy: 0x000080ff,\n oldlace: 0xfdf5e6ff,\n olive: 0x808000ff,\n olivedrab: 0x6b8e23ff,\n orange: 0xffa500ff,\n orangered: 0xff4500ff,\n orchid: 0xda70d6ff,\n palegoldenrod: 0xeee8aaff,\n palegreen: 0x98fb98ff,\n paleturquoise: 0xafeeeeff,\n palevioletred: 0xdb7093ff,\n papayawhip: 0xffefd5ff,\n peachpuff: 0xffdab9ff,\n peru: 0xcd853fff,\n pink: 0xffc0cbff,\n plum: 0xdda0ddff,\n powderblue: 0xb0e0e6ff,\n purple: 0x800080ff,\n rebeccapurple: 0x663399ff,\n red: 0xff0000ff,\n rosybrown: 0xbc8f8fff,\n royalblue: 0x4169e1ff,\n saddlebrown: 0x8b4513ff,\n salmon: 0xfa8072ff,\n sandybrown: 0xf4a460ff,\n seagreen: 0x2e8b57ff,\n seashell: 0xfff5eeff,\n sienna: 0xa0522dff,\n silver: 0xc0c0c0ff,\n skyblue: 0x87ceebff,\n slateblue: 0x6a5acdff,\n slategray: 0x708090ff,\n slategrey: 0x708090ff,\n snow: 0xfffafaff,\n springgreen: 0x00ff7fff,\n steelblue: 0x4682b4ff,\n tan: 0xd2b48cff,\n teal: 0x008080ff,\n thistle: 0xd8bfd8ff,\n tomato: 0xff6347ff,\n turquoise: 0x40e0d0ff,\n violet: 0xee82eeff,\n wheat: 0xf5deb3ff,\n white: 0xffffffff,\n whitesmoke: 0xf5f5f5ff,\n yellow: 0xffff00ff,\n yellowgreen: 0x9acd32ff,\n};\n\nfunction rgba(colorInt) {\n var r = Math.round(((colorInt & 0xff000000) >>> 24));\n var g = Math.round(((colorInt & 0x00ff0000) >>> 16));\n var b = Math.round(((colorInt & 0x0000ff00) >>> 8));\n var a = ((colorInt & 0x000000ff) >>> 0) / 255;\n return {\n r: r,\n g: g,\n b: b,\n a: a,\n };\n};\n\nnormalizeColor.rgba = rgba;\n\nmodule.exports = normalizeColor;\n","/*\nobject-assign\n(c) Sindre Sorhus\n@license MIT\n*/\n\n'use strict';\n/* eslint-disable no-unused-vars */\nvar getOwnPropertySymbols = Object.getOwnPropertySymbols;\nvar hasOwnProperty = Object.prototype.hasOwnProperty;\nvar propIsEnumerable = Object.prototype.propertyIsEnumerable;\n\nfunction toObject(val) {\n\tif (val === null || val === undefined) {\n\t\tthrow new TypeError('Object.assign cannot be called with null or undefined');\n\t}\n\n\treturn Object(val);\n}\n\nfunction shouldUseNative() {\n\ttry {\n\t\tif (!Object.assign) {\n\t\t\treturn false;\n\t\t}\n\n\t\t// Detect buggy property enumeration order in older V8 versions.\n\n\t\t// https://bugs.chromium.org/p/v8/issues/detail?id=4118\n\t\tvar test1 = new String('abc'); // eslint-disable-line no-new-wrappers\n\t\ttest1[5] = 'de';\n\t\tif (Object.getOwnPropertyNames(test1)[0] === '5') {\n\t\t\treturn false;\n\t\t}\n\n\t\t// https://bugs.chromium.org/p/v8/issues/detail?id=3056\n\t\tvar test2 = {};\n\t\tfor (var i = 0; i < 10; i++) {\n\t\t\ttest2['_' + String.fromCharCode(i)] = i;\n\t\t}\n\t\tvar order2 = Object.getOwnPropertyNames(test2).map(function (n) {\n\t\t\treturn test2[n];\n\t\t});\n\t\tif (order2.join('') !== '0123456789') {\n\t\t\treturn false;\n\t\t}\n\n\t\t// https://bugs.chromium.org/p/v8/issues/detail?id=3056\n\t\tvar test3 = {};\n\t\t'abcdefghijklmnopqrst'.split('').forEach(function (letter) {\n\t\t\ttest3[letter] = letter;\n\t\t});\n\t\tif (Object.keys(Object.assign({}, test3)).join('') !==\n\t\t\t\t'abcdefghijklmnopqrst') {\n\t\t\treturn false;\n\t\t}\n\n\t\treturn true;\n\t} catch (err) {\n\t\t// We don't expect any of the above to throw, but better to be safe.\n\t\treturn false;\n\t}\n}\n\nmodule.exports = shouldUseNative() ? Object.assign : function (target, source) {\n\tvar from;\n\tvar to = toObject(target);\n\tvar symbols;\n\n\tfor (var s = 1; s < arguments.length; s++) {\n\t\tfrom = Object(arguments[s]);\n\n\t\tfor (var key in from) {\n\t\t\tif (hasOwnProperty.call(from, key)) {\n\t\t\t\tto[key] = from[key];\n\t\t\t}\n\t\t}\n\n\t\tif (getOwnPropertySymbols) {\n\t\t\tsymbols = getOwnPropertySymbols(from);\n\t\t\tfor (var i = 0; i < symbols.length; i++) {\n\t\t\t\tif (propIsEnumerable.call(from, symbols[i])) {\n\t\t\t\t\tto[symbols[i]] = from[symbols[i]];\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\treturn to;\n};\n","import { EndOfStreamError, AbortError } from \"./Errors.js\";\nexport class AbstractStreamReader {\n constructor() {\n this.endOfStream = false;\n this.interrupted = false;\n /**\n * Store peeked data\n * @type {Array}\n */\n this.peekQueue = [];\n }\n async peek(uint8Array, mayBeLess = false) {\n const bytesRead = await this.read(uint8Array, mayBeLess);\n this.peekQueue.push(uint8Array.subarray(0, bytesRead)); // Put read data back to peek buffer\n return bytesRead;\n }\n async read(buffer, mayBeLess = false) {\n if (buffer.length === 0) {\n return 0;\n }\n let bytesRead = this.readFromPeekBuffer(buffer);\n if (!this.endOfStream) {\n bytesRead += await this.readRemainderFromStream(buffer.subarray(bytesRead), mayBeLess);\n }\n if (bytesRead === 0) {\n throw new EndOfStreamError();\n }\n return bytesRead;\n }\n /**\n * Read chunk from stream\n * @param buffer - Target Uint8Array (or Buffer) to store data read from stream in\n * @returns Number of bytes read\n */\n readFromPeekBuffer(buffer) {\n let remaining = buffer.length;\n let bytesRead = 0;\n // consume peeked data first\n while (this.peekQueue.length > 0 && remaining > 0) {\n const peekData = this.peekQueue.pop(); // Front of queue\n if (!peekData)\n throw new Error('peekData should be defined');\n const lenCopy = Math.min(peekData.length, remaining);\n buffer.set(peekData.subarray(0, lenCopy), bytesRead);\n bytesRead += lenCopy;\n remaining -= lenCopy;\n if (lenCopy < peekData.length) {\n // remainder back to queue\n this.peekQueue.push(peekData.subarray(lenCopy));\n }\n }\n return bytesRead;\n }\n async readRemainderFromStream(buffer, mayBeLess) {\n let bytesRead = 0;\n // Continue reading from stream if required\n while (bytesRead < buffer.length && !this.endOfStream) {\n if (this.interrupted) {\n throw new AbortError();\n }\n const chunkLen = await this.readFromStream(buffer.subarray(bytesRead), mayBeLess);\n if (chunkLen === 0)\n break;\n bytesRead += chunkLen;\n }\n if (!mayBeLess && bytesRead < buffer.length) {\n throw new EndOfStreamError();\n }\n return bytesRead;\n }\n}\n","export class Deferred {\n constructor() {\n this.resolve = () => null;\n this.reject = () => null;\n this.promise = new Promise((resolve, reject) => {\n this.reject = reject;\n this.resolve = resolve;\n });\n }\n}\n","export const defaultMessages = 'End-Of-Stream';\n/**\n * Thrown on read operation of the end of file or stream has been reached\n */\nexport class EndOfStreamError extends Error {\n constructor() {\n super(defaultMessages);\n this.name = \"EndOfStreamError\";\n }\n}\nexport class AbortError extends Error {\n constructor(message = \"The operation was aborted\") {\n super(message);\n this.name = \"AbortError\";\n }\n}\n","import { AbortError, } from './Errors.js';\nimport { Deferred } from './Deferred.js';\nimport { AbstractStreamReader } from \"./AbstractStreamReader.js\";\n/**\n * Node.js Readable Stream Reader\n * Ref: https://nodejs.org/api/stream.html#readable-streams\n */\nexport class StreamReader extends AbstractStreamReader {\n constructor(s) {\n super();\n this.s = s;\n /**\n * Deferred used for postponed read request (as not data is yet available to read)\n */\n this.deferred = null;\n if (!s.read || !s.once) {\n throw new Error('Expected an instance of stream.Readable');\n }\n this.s.once('end', () => {\n this.endOfStream = true;\n if (this.deferred) {\n this.deferred.resolve(0);\n }\n });\n this.s.once('error', err => this.reject(err));\n this.s.once('close', () => this.abort());\n }\n /**\n * Read chunk from stream\n * @param buffer Target Uint8Array (or Buffer) to store data read from stream in\n * @param mayBeLess - If true, may fill the buffer partially\n * @returns Number of bytes read\n */\n async readFromStream(buffer, mayBeLess) {\n if (buffer.length === 0)\n return 0;\n const readBuffer = this.s.read(buffer.length);\n if (readBuffer) {\n buffer.set(readBuffer);\n return readBuffer.length;\n }\n const request = {\n buffer,\n mayBeLess,\n deferred: new Deferred()\n };\n this.deferred = request.deferred;\n this.s.once('readable', () => {\n this.readDeferred(request);\n });\n return request.deferred.promise;\n }\n /**\n * Process deferred read request\n * @param request Deferred read request\n */\n readDeferred(request) {\n const readBuffer = this.s.read(request.buffer.length);\n if (readBuffer) {\n request.buffer.set(readBuffer);\n request.deferred.resolve(readBuffer.length);\n this.deferred = null;\n }\n else {\n this.s.once('readable', () => {\n this.readDeferred(request);\n });\n }\n }\n reject(err) {\n this.interrupted = true;\n if (this.deferred) {\n this.deferred.reject(err);\n this.deferred = null;\n }\n }\n async abort() {\n this.reject(new AbortError());\n }\n async close() {\n return this.abort();\n }\n}\n","import { WebStreamReader } from './WebStreamReader.js';\n/**\n * Read from a WebStream using a BYOB reader\n * Reference: https://nodejs.org/api/webstreams.html#class-readablestreambyobreader\n */\nexport class WebStreamByobReader extends WebStreamReader {\n /**\n * Read from stream\n * @param buffer - Target Uint8Array (or Buffer) to store data read from stream in\n * @param mayBeLess - If true, may fill the buffer partially\n * @protected Bytes read\n */\n async readFromStream(buffer, mayBeLess) {\n if (buffer.length === 0)\n return 0;\n // @ts-ignore\n const result = await this.reader.read(new Uint8Array(buffer.length), { min: mayBeLess ? undefined : buffer.length });\n if (result.done) {\n this.endOfStream = result.done;\n }\n if (result.value) {\n buffer.set(result.value);\n return result.value.length;\n }\n return 0;\n }\n}\n","import { EndOfStreamError } from './Errors.js';\nimport { AbstractStreamReader } from \"./AbstractStreamReader.js\";\nexport class WebStreamDefaultReader extends AbstractStreamReader {\n constructor(reader) {\n super();\n this.reader = reader;\n this.buffer = null; // Internal buffer to store excess data\n }\n /**\n * Copy chunk to target, and store the remainder in this.buffer\n */\n writeChunk(target, chunk) {\n const written = Math.min(chunk.length, target.length);\n target.set(chunk.subarray(0, written));\n // Adjust the remainder of the buffer\n if (written < chunk.length) {\n this.buffer = chunk.subarray(written);\n }\n else {\n this.buffer = null;\n }\n return written;\n }\n /**\n * Read from stream\n * @param buffer - Target Uint8Array (or Buffer) to store data read from stream in\n * @param mayBeLess - If true, may fill the buffer partially\n * @protected Bytes read\n */\n async readFromStream(buffer, mayBeLess) {\n if (buffer.length === 0)\n return 0;\n let totalBytesRead = 0;\n // Serve from the internal buffer first\n if (this.buffer) {\n totalBytesRead += this.writeChunk(buffer, this.buffer);\n }\n // Continue reading from the stream if more data is needed\n while (totalBytesRead < buffer.length && !this.endOfStream) {\n const result = await this.reader.read();\n if (result.done) {\n this.endOfStream = true;\n break;\n }\n if (result.value) {\n totalBytesRead += this.writeChunk(buffer.subarray(totalBytesRead), result.value);\n }\n }\n if (totalBytesRead === 0 && this.endOfStream) {\n throw new EndOfStreamError();\n }\n return totalBytesRead;\n }\n abort() {\n this.interrupted = true;\n return this.reader.cancel();\n }\n async close() {\n await this.abort();\n this.reader.releaseLock();\n }\n}\n","import { AbstractStreamReader } from \"./AbstractStreamReader.js\";\nexport class WebStreamReader extends AbstractStreamReader {\n constructor(reader) {\n super();\n this.reader = reader;\n }\n async abort() {\n return this.close();\n }\n async close() {\n this.reader.releaseLock();\n }\n}\n","import { WebStreamByobReader } from './WebStreamByobReader.js';\nimport { WebStreamDefaultReader } from './WebStreamDefaultReader.js';\nexport function makeWebStreamReader(stream) {\n try {\n const reader = stream.getReader({ mode: \"byob\" });\n if (reader instanceof ReadableStreamDefaultReader) {\n // Fallback to default reader in case `mode: byob` is ignored\n return new WebStreamDefaultReader(reader);\n }\n return new WebStreamByobReader(reader);\n }\n catch (error) {\n if (error instanceof TypeError) {\n // Fallback to default reader in case `mode: byob` rejected by a `TypeError`\n return new WebStreamDefaultReader(stream.getReader());\n }\n throw error;\n }\n}\n","const toneParse = require('pinyin-tone-parse')\n\nconst tones = {\n a: ['a', 'ā', 'á', 'ǎ', 'à', 'a'],\n A: ['A', 'Ā', 'Á', 'Ǎ', 'À', 'A'],\n e: ['e', 'ē', 'é', 'ě', 'è', 'e'],\n E: ['E', 'Ē', 'É', 'Ě', 'È', 'E'],\n i: ['i', 'ī', 'í', 'ǐ', 'ì', 'i'],\n I: ['I', 'Ī', 'Í', 'Ǐ', 'Ì', 'I'],\n o: ['o', 'ō', 'ó', 'ǒ', 'ò', 'o'],\n O: ['O', 'Ō', 'Ó', 'Ǒ', 'Ò', 'O'],\n u: ['u', 'ū', 'ú', 'ǔ', 'ù', 'u'],\n U: ['U', 'Ū', 'Ú', 'Ǔ', 'Ù', 'U'],\n ü: ['ü', 'ǖ', 'ǘ', 'ǚ', 'ǜ', 'ü'],\n Ü: ['Ü', 'Ǖ', 'Ǘ', 'Ǚ', 'Ǜ', 'Ü'],\n}\n\n/**\n * Convert pinyin tone numbers to tone marks.\n * @param {String} text\n * @param {Object} options\n * @returns {String}\n * @throws {Error} \n */\nfunction convert(text, options) {\n if (typeof text !== 'string') {\n throw new Error('Parameter `text` must be a string.')\n }\n\n let result = ''\n\n toneParse(text, options).forEach(elem => {\n if (Array.isArray(elem)) {\n result += mark(...elem)\n } else {\n result += elem\n }\n })\n return result\n}\n\n/**\n * @param {String} word\n * @param {Number} toneNumber\n * @returns {String} Word with marked tone\n */\nfunction mark(word, toneNumber) {\n if (toneNumber === 5) {\n return word\n }\n\n // Check for syllables in priority order\n if (word.includes('a')) {\n return word.replace('a', tones.a[toneNumber])\n } else if (word.includes('A')) {\n return word.replace('A', tones.A[toneNumber])\n } else if (word.includes('e')) {\n return word.replace('e', tones.e[toneNumber])\n } else if (word.includes('E')) {\n return word.replace('E', tones.E[toneNumber])\n } else if (word.includes('o')) {\n return word.replace('o', tones.o[toneNumber])\n } else if (word.includes('O')) {\n return word.replace('O', tones.O[toneNumber])\n } else {\n // Mark last syllable\n for (let i = word.length - 1; i >= 0; i--) {\n const index = 'iouüIOUÜ'.indexOf(word[i])\n if (index !== -1) {\n // last syllable found\n return word.replace(word[i], tones[word[i]][toneNumber])\n }\n }\n // No syllables found\n return word\n }\n}\n\nmodule.exports = convert\n","module.exports = require('./lib/pinyin-tone-parse')","class MissingToneNumberError extends Error {\n /**\n * @param {string} word\n * @constructor\n */\n constructor(word) {\n super(`Missing tone number for word \"${word}\".`)\n this.name = this.constructor.name\n }\n}\n\nclass UnrecognizedCharacterError extends Error {\n /**\n * @param {string} char\n * @constructor\n */\n constructor(char) {\n super(`Character \"${char}\" is not recognized. Use option \"allowAnyChar: true\" to omit this error.`)\n this.name = this.constructor.name\n }\n}\n\nmodule.exports = { MissingToneNumberError, UnrecognizedCharacterError }","const { MissingToneNumberError, UnrecognizedCharacterError } = require('./errors')\n\nconst PUNCT_MARKS = `.。,:;?!-–'`\nconst TONE_NUMBERS = '12345'\n\n/**\n * @typedef {Object} options\n * @property {boolean} [allowUntoned=true] Allow words without explicit tone number (ex: \"de\" vs. \"de5\"). Default - true.\n * @property {boolean} [allowAnyChar=false] If an unrecognized character found - push it to the result as is. Default - false.\n */\n\n/**\n * Parse Pinyin tone numbers.\n * @param {String} text Pinyin string with numbered tones like `Ni3 hao3 ma5?`.\n * @param {options} [options] Optional object with extra options.\n * @returns {Array} \n * @throws {MissingToneNumberError} Found a word without explicit tone number.\n * @throws {UnrecognizedCharacterError} Found a character that is not in the \"A-Za-z0-9.。,:;?!-–\" set.\n */\nfunction parse(text, options) {\n if (options && typeof options === 'object') {\n if (options.allowUntoned === undefined) {\n options = Object.assign(options, { allowUntoned: true })\n }\n\n if (options.allowAnyChar === undefined) {\n options = Object.assign(options, { allowAnyChar: false })\n }\n } else {\n options = {\n allowUntoned: true,\n allowAnyChar: false,\n }\n }\n\n const t = text.trim()\n\n const parsed = []\n let startIdx\n\n for (let i = 0, len = t.length; i < len; i++) {\n const c = t[i]\n\n if (isLetter(c)) {\n if (startIdx === undefined) {\n startIdx = i\n }\n // The word was started - keep scanning\n } else if (isNumber(c)) {\n // Check if the number is right after the letter\n if (startIdx !== undefined && isTone(c) && isLetter(t[i - 1])) {\n // tone detected - split and save the word + tone\n parsed.push([t.slice(startIdx, i), Number.parseInt(c)])\n startIdx = undefined\n } else {\n // just a number\n parsed.push(c)\n }\n } else if (isSpace(c) || isPunctMark(c)) {\n // check if word was closed\n if (startIdx !== undefined) {\n if (options.allowUntoned === true) {\n // close word\n parsed.push([t.slice(startIdx, i), 5])\n startIdx = undefined\n } else {\n throw new MissingToneNumberError(t.slice(startIdx, i))\n }\n }\n parsed.push(c)\n } else if (options.allowAnyChar === true) {\n parsed.push(c)\n } else {\n throw new UnrecognizedCharacterError(c)\n }\n }\n\n // check if the word is pushed\n if (startIdx !== undefined) {\n if (options.allowUntoned === true) {\n parsed.push([t.slice(startIdx), 5])\n } else {\n throw new MissingToneNumberError(t.slice(startIdx))\n }\n }\n\n return parsed\n}\n\nfunction isLetter(c) {\n const cc = c.charCodeAt()\n return (cc > 64 && cc < 123) || cc === 252 || cc === 220\n}\n\nfunction isNumber(c) {\n return '1234567890'.indexOf(c) !== -1\n}\n\nfunction isTone(c) {\n return TONE_NUMBERS.indexOf(c) !== -1\n}\n\nfunction isSpace(c) {\n return ' \\t\\n\\r\\v'.indexOf(c) !== -1\n}\n\nfunction isPunctMark(c) {\n return PUNCT_MARKS.indexOf(c) !== -1\n}\n\nmodule.exports = parse\n","module.exports = {\n\"a\":\"\",\n\"ā\":\"吖锕錒\",\n\"á\":\"嗄\",\n\"ǎ\":\"\",\n\"à\":\"\",\n\"āi\":\"哎哀埃娭溾嗳銰锿噯諰鎄\",\n\"ái\":\"啀娾捱皑凒隑嵦溰嘊敱敳皚磑癌\",\n\"ǎi\":\"毐昹娾欸絠嗳矮蔼躷噯濭藹譪霭靄\",\n\"ài\":\"艾伌欬爱砹硋堨焥隘嗌嗳塧嫒愛碍叆暧瑷僾噯壒嬡懓薆鴱懝曖璦賹餲皧瞹馤礙譺鑀鱫靉\",\n\"ān\":\"安侒峖桉氨偣庵菴谙啽媕萻葊痷腤裺鹌蓭誝鞍鞌盦諳馣鮟盫鵪韽鶕\",\n\"án\":\"玵啽雸儑\",\n\"ǎn\":\"垵俺唵埯铵揞晻罯銨\",\n\"àn\":\"厈屵屽犴岸咹按洝荌案胺豻堓隌晻暗貋儑錌闇黯\",\n\"āng\":\"肮骯\",\n\"áng\":\"卬岇昂昻\",\n\"ǎng\":\"\",\n\"àng\":\"枊盎醠\",\n\"āo\":\"泑柪眑梎軪熝爊\",\n\"áo\":\"敖厫隞嗷嗸嶅廒慠滶獓蔜遨骜摮獒璈磝墽翱聱螯翶謷謸翺鳌鏕鏖鰲鷔鼇\",\n\"ǎo\":\"艹抝芺袄眑郩镺媪媼襖\",\n\"ào\":\"岙扷抝坳垇岰柪傲奡軪奧嫯嶅慠澚隩墺嶴懊擙澳鏊驁\",\n\"ba\":\"罷\",\n\"bā\":\"丷八仈巴叭朳玐夿岜扷芭峇柭疤哱哵捌笆粑羓蚆釟豝鲃魞\",\n\"bá\":\"叐犮抜妭拔茇炦癹胈菝詙跋軷颰魃鼥\",\n\"bǎ\":\"钯鈀靶\",\n\"bà\":\"坝弝爸皅垻跁鲃魞鲅鲌罷鮁鮊覇矲霸壩灞欛\",\n\"bāi\":\"挀掰擘\",\n\"bái\":\"白\",\n\"bǎi\":\"百佰栢瓸捭竡粨絔摆擺襬\",\n\"bài\":\"呗庍拝败拜唄敗猈稗粺薭贁韛\",\n\"bān\":\"扳攽朌肦班般颁斑搬斒頒搫瘢鳻螌褩癍辬\",\n\"bǎn\":\"阪坂岅昄板版瓪钣粄舨鈑蝂魬闆\",\n\"bàn\":\"办半伴扮坢姅怑绊柈秚湴絆跘鉡靽辦瓣\",\n\"bāng\":\"邦垹帮捠梆浜邫幇幚縍幫鞤\",\n\"bǎng\":\"绑綁牓膀髈\",\n\"bàng\":\"玤挷蚄傍棒棓硥谤塝搒稖蒡蛖蜯镑縍艕謗鎊\",\n\"bāo\":\"勹包佨孢苞枹胞剝笣煲龅裦蕔褒襃闁齙\",\n\"báo\":\"窇雹\",\n\"bǎo\":\"宝怉饱保鸨宲珤堢媬葆寚飹飽褓駂鳵緥鴇賲藵寳寶靌\",\n\"bào\":\"勽犳报怉抱豹趵铇菢蚫袌報鉋鲍骲髱虣鮑儤曓嚗曝爆犦忁鑤\",\n\"bei\":\"呗唄\",\n\"bēi\":\"陂卑杯柸盃庳桮悲揹棓椑碑鹎箄諀鞞藣鵯\",\n\"běi\":\"鉳\",\n\"bèi\":\"贝孛狈貝邶备昁杮牬苝郥钡俻倍悖狽偝偹梖珼鄁備僃惫棑棓焙琲軰辈愂碚禙蓓蛽犕褙誖鞁骳輩鋇憊糒鞴鐾\",\n\"bēn\":\"泍贲栟喯犇賁锛漰錛蟦\",\n\"běn\":\"夲本苯奙畚翉楍\",\n\"bèn\":\"坋坌泍炃倴捹桳渀笨逩撪\",\n\"bēng\":\"伻祊奟崩絣閍嗙嵭痭嘣綳繃\",\n\"béng\":\"甮甭\",\n\"běng\":\"埄埲菶琣琫綳繃鞛\",\n\"bèng\":\"泵迸堋逬揼跰塴綳甏镚繃蹦鏰\",\n\"bī\":\"皀屄偪毴逼楅榌豍螕鵖鲾鎞鰏\",\n\"bí\":\"荸鼻嬶\",\n\"bǐ\":\"匕比夶朼佊吡妣沘疕纰彼毞肶柀秕俾娝笔粃紕舭啚崥筆鄙聛貏\",\n\"bì\":\"币必毕闬闭佖坒庇芘诐邲咇妼怭怶畁畀肶苾哔柲毖珌畐疪祕胇荜贲陛毙狴畢笓粊袐铋婢敝旇梐紴翍萆萞閇閈閉堛弼弻愊愎湢皕禆筚詖貱賁赑嗶彃滗滭煏痺痹睤睥腷蓖蓽蜌裨跸鉍閟飶幣弊熚獙碧稫箅箆綼蔽鄪馝幤潷獘罼襅駜髲壁嬖廦篦篳縪薜觱避鮅斃濞蹕鞞髀奰璧鄨鎞鏎饆繴襣襞鞸韠魓躃躄驆鶝朇贔鐴鷝鷩鼊\",\n\"biān\":\"辺边炞砭笾猵编萹煸牑甂箯糄編臱蝙鞕獱邉鍽鳊邊鞭鯾鯿籓籩\",\n\"biǎn\":\"贬疺窆匾貶惼揙碥稨褊糄鴘藊覵鶣\",\n\"biàn\":\"卞弁忭抃汳汴苄釆变峅玣変昪覍徧缏遍閞辡緶艑諚辧辨辩辫辮辯變\",\n\"biāo\":\"灬杓标飑骉髟彪淲猋脿颩僄墂幖摽滮蔈颮骠標熛膔膘麃瘭磦镖飚飙儦檦篻颷瀌藨謤爂臕贆鏢穮镳飈飆飊飇鑣驫\",\n\"biáo\":\"嫑\",\n\"biǎo\":\"表婊裱諘褾錶檦\",\n\"biào\":\"俵摽鳔\",\n\"biē\":\"柭憋蟞癟鳖鱉鼈虌龞\",\n\"bié\":\"別柲莂蛂徶襒蟞蹩\",\n\"biě\":\"癟\",\n\"biè\":\"別彆\",\n\"bīn\":\"汃邠玢砏宾彬梹傧斌椕滨缤槟瑸豩賓賔镔儐濒頻濱濵虨豳檳璸瀕霦繽鑌顮\",\n\"bǐn\":\"\",\n\"bìn\":\"摈殡膑髩儐擯鬂殯臏髌鬓髕鬢\",\n\"bīng\":\"冫仌仒氷冰兵幷栟掤梹蛃絣槟鋲檳\",\n\"bǐng\":\"丙邴陃怲抦秉苪昞昺柄炳饼眪偋屛寎棅琕禀稟鈵鉼鞆餅餠鞞鞸\",\n\"bìng\":\"並併幷枋垪庰倂栤病窉竝偋傡寎摒誁鮩靐\",\n\"bo\":\"啵蔔噃\",\n\"bō\":\"癶拨波癷玻剝哱盋砵趵钵饽紴缽菠袰溊碆鉢僠嶓撥播餑磻礡蹳皪驋鱍\",\n\"bó\":\"仢彴肑驳帛狛瓝苩侼柭胉郣亳挬浡瓟秡袯钹铂桲淿脖舶萡袹博殕渤葧鹁愽搏猼鉑鈸馎鲌僰榑煿牔箔膊艊誖馛駁踣鋍镈壆馞駮鮊穛襏謈嚗懪簙鎛餺鵓糪髆髉欂襮礴鑮\",\n\"bǒ\":\"癷蚾跛\",\n\"bò\":\"孹擗擘檗檘譒蘗\",\n\"bū\":\"峬庯逋钸晡鈽誧餔錻鯆鵏\",\n\"bú\":\"鳪轐醭\",\n\"bǔ\":\"卟补哺捕捬補鸔\",\n\"bù\":\"布佈吥步咘怖抪歩歨柨钚勏埔埗悑捗荹部埠婄瓿鈈廍蔀箁踄郶篰餢\",\n\"cā\":\"嚓擦攃\",\n\"cǎ\":\"礤礸\",\n\"cà\":\"遪囃\",\n\"cāi\":\"偲猜\",\n\"cái\":\"才扐材财財裁纔\",\n\"cǎi\":\"毝倸啋埰婇寀彩採棌睬跴綵踩\",\n\"cài\":\"埰寀菜蔡縩\",\n\"cān\":\"參叄飡骖叅喰湌傪嬠餐爘驂囋\",\n\"cán\":\"残蚕惭殘慚摲蝅慙蠺蠶\",\n\"cǎn\":\"惨朁慘憯穇篸黪黲\",\n\"càn\":\"灿孱傪粲嘇摻儏澯薒燦璨謲鏒\",\n\"cāng\":\"仓仺伧沧苍玱鸧倉舱傖凔嵢滄獊蒼瑲濸篬艙螥鶬\",\n\"cáng\":\"匨臧欌鑶\",\n\"càng\":\"賶\",\n\"cāo\":\"撡操糙\",\n\"cáo\":\"曺曹傮嘈嶆慒漕蓸槽褿艚螬鏪\",\n\"cǎo\":\"屮艸草愺慅懆騲\",\n\"cào\":\"肏鄵襙鼜\",\n\"cè\":\"夨冊册厕恻拺测荝敇畟側厠笧粣萗廁惻測策萴筞筴蓛箣憡簎\",\n\"cēn\":\"參叄叅嵾穇篸\",\n\"cén\":\"岑汵埁涔笒\",\n\"cēng\":\"噌\",\n\"céng\":\"层曽層嶒橧竲驓\",\n\"cèng\":\"蹭\",\n\"cī\":\"呰呲玼疵趀偨跐縒骴髊蠀齹\",\n\"cí\":\"词珁兹垐柌祠茨瓷粢詞辝慈甆辞磁雌鹚糍辤飺餈嬨濨薋鴜礠辭鷀鶿\",\n\"cǐ\":\"此佌泚玼皉啙跐鮆\",\n\"cì\":\"朿次佽刾庛茦栨莿絘蛓赐螆賜\",\n\"cōng\":\"匆囪囱苁忩枞茐怱悤棇焧葱楤漗聡蓯蔥骢暰樅樬潨熜瑽璁聦聪瞛篵聰蟌鍯繱鏓鏦騘驄\",\n\"cóng\":\"丛徔従婃孮徖從悰淙琮碂慒漎潀潈誴賨賩樷錝藂叢灇欉爜\",\n\"cǒng\":\"\",\n\"còng\":\"愡憁謥\",\n\"cōu\":\"\",\n\"cóu\":\"\",\n\"cǒu\":\"\",\n\"còu\":\"凑湊傶楱腠辏輳\",\n\"cū\":\"怚粗觕麁麄橻麆麤\",\n\"cú\":\"徂殂\",\n\"cǔ\":\"皻\",\n\"cù\":\"促猝脨媨瘄蔟誎趗噈憱踧醋瘯踿簇縬趨鼀蹙蹵蹴顣\",\n\"cuān\":\"汆撺鋑镩蹿攛躥鑹\",\n\"cuán\":\"濽櫕巑攢灒欑穳\",\n\"cuàn\":\"窜殩熶窽篡窾簒竄爨\",\n\"cuī\":\"隹崔脺催凗嵟缞墔慛摧榱漼槯磪縗鏙\",\n\"cuǐ\":\"漼熣璀趡皠\",\n\"cuì\":\"伜忰疩倅粋紣翆脃脆啐啛崒悴淬萃椊毳焠琗瘁粹綷翠膵膬濢竁襊顇臎\",\n\"cūn\":\"邨村皴踆澊竴膥\",\n\"cún\":\"存侟拵壿澊\",\n\"cǔn\":\"刌忖\",\n\"cùn\":\"寸吋籿\",\n\"cuō\":\"搓瑳遳磋蹉醝鎈\",\n\"cuó\":\"虘嵯嵳痤睉矬蒫瘥蔖鹾酂鹺酇\",\n\"cuǒ\":\"脞\",\n\"cuò\":\"剉剒厝夎挫莡莝庴措逪锉蓌错縒諎銼錯\",\n\"chā\":\"扠扱芆臿挿偛嗏插揷馇銟锸艖疀嚓鍤鎈餷\",\n\"chá\":\"秅苴垞査茬茶捈梌嵖搽猹靫楂槎詧察摖檫\",\n\"chǎ\":\"紁蹅镲鑔\",\n\"chà\":\"仛奼汊岔侘衩诧剎姹紁詫\",\n\"chāi\":\"芆肞钗釵\",\n\"chái\":\"犲侪柴豺祡喍儕\",\n\"chǎi\":\"茝\",\n\"chài\":\"虿袃訍瘥蠆囆\",\n\"chān\":\"辿觇梴搀覘裧摻緂鋓幨襜攙\",\n\"chán\":\"苂婵谗單孱棎湹禅馋煘缠僝嶃嶄獑蝉誗鋋儃嬋廛潹潺緾澶磛禪毚螹蟐鄽瀍繟蟬儳劖繵蟾酁嚵壥巉瀺欃纏纒躔镵艬讒鑱饞\",\n\"chǎn\":\"产刬旵丳斺浐剗谄啴產産铲阐蒇剷嵼摌滻嘽幝蕆諂閳骣燀簅冁繟醦譂鏟闡囅灛讇\",\n\"chàn\":\"忏刬剗硟摲幝幨燀懴儳懺羼韂顫\",\n\"chāng\":\"伥昌倀娼淐猖菖阊椙琩裮锠錩閶鲳闛鯧鼚\",\n\"cháng\":\"仩仧兏肠苌镸長尝偿常徜瓺萇場甞腸嘗塲嫦瑺膓償嚐鲿鱨\",\n\"chǎng\":\"昶惝場敞僘厰塲廠氅鋹\",\n\"chàng\":\"怅玚畅鬯唱悵焻瑒暢畼誯韔\",\n\"chāo\":\"抄弨怊欩钞訬焯超鈔勦摷綽劋樔窼\",\n\"cháo\":\"牊晁巣巢鄛鼌漅樔潮窲罺鼂轈謿\",\n\"chǎo\":\"炒眧粆焣煼槱麨巐\",\n\"chào\":\"仦仯耖觘\",\n\"chē\":\"伡車俥砗唓莗硨蛼\",\n\"ché\":\"\",\n\"chě\":\"扯偖撦奲\",\n\"chè\":\"屮彻呫坼迠烢烲焎聅掣揊硩頙徹摰撤澈勶瞮爡\",\n\"chen\":\"伧傖\",\n\"chēn\":\"肜抻郴捵棽琛嗔綝瘨瞋諃賝謓\",\n\"chén\":\"尘臣忱沉辰陈迧茞宸栕莀莐陳敐晨桭梣訦谌軙愖跈鈂煁蔯塵敶樄瘎霃螴諶薼麎曟鷐\",\n\"chěn\":\"趻硶碜墋夦磣踸鍖贂醦\",\n\"chèn\":\"衬爯疢龀偁趂趁榇稱齓齔儭嚫穪谶櫬襯讖\",\n\"chēng\":\"朾阷泟柽爯凈棦浾琤偁淨碀蛏晿牚搶赪僜憆摚稱靗撐撑緽橖橕瞠赬頳檉竀罉鎗矃穪蟶鏿鐣饓鐺\",\n\"chéng\":\"氶丞成朾呈承枨诚郕乗城埩娍宬峸洆荿埕挰晟浧珹掁珵窚脭铖堘惩揨棖椉程筬絾裎塍塖溗誠畻酲鋮憕撜澂橙檙鯎瀓懲騬\",\n\"chěng\":\"侱徎悜逞骋庱睈裎騁\",\n\"chèng\":\"秤牚稱竀穪\",\n\"chi\":\"麶\",\n\"chī\":\"吃妛哧彨胵蚩鸱瓻眵笞粚喫訵嗤媸摛痴絺樆噄殦瞝誺噭螭鴟鵄癡魑齝攡彲黐\",\n\"chí\":\"弛池驰迟坻沶狋茌迡持柢竾荎俿歭耛菭蚳赿筂貾遅跢遟馳箈箎墀徲漦踟遲篪謘鍉邌鶗鶙\",\n\"chǐ\":\"叺伬扡呎肔侈卶齿垑奓拸胣恥耻蚇袳豉欼歯袲裭誃鉹褫齒\",\n\"chì\":\"彳叱斥佁杘灻赤饬侙抶勅恜柅炽勑捇眙翄翅敕烾啻湁飭傺痸腟誃鉓雴憏瘈翤遫銐慗慸瘛翨熾懘趩鶒鷘\",\n\"chōng\":\"充忡沖茺浺珫翀舂嘃摏徸憃憧衝罿艟蹖\",\n\"chóng\":\"虫崈崇痋隀漴褈緟蝩蟲爞\",\n\"chǒng\":\"宠埫寵\",\n\"chòng\":\"铳揰銃\",\n\"chou\":\"鮘\",\n\"chōu\":\"抽牰婤掫紬搊跾瘳篘醔犨犫\",\n\"chóu\":\"怞俦诪帱栦惆梼畤紬绸菗椆畴絒愁皗稠筹裯詶酧酬綢踌儔雔嚋嬦幬懤盩薵檮燽雠疇籌躊醻讐讎雦\",\n\"chǒu\":\"丒丑吜杽杻偢瞅醜矁魗\",\n\"chòu\":\"臰遚殠\",\n\"chu\":\"橻\",\n\"chū\":\"出岀初榋摢摴樗貙櫖齣\",\n\"chú\":\"刍除芻耝厨滁蒢豠锄媰耡蒭蜍趎鉏雏犓廚篨鋤橱幮櫉藸蟵躇雛櫥蹰鶵躕\",\n\"chǔ\":\"処杵础椘處储楮禇楚褚濋儲檚璴礎齭齼\",\n\"chù\":\"亍処竌怵泏绌豖欪炪竐俶敊埱珿絀菆傗鄐慉搐滀触閦儊嘼諔憷斶歜臅黜觸矗\",\n\"chuā\":\"欻\",\n\"chuǎ\":\"\",\n\"chuà\":\"\",\n\"chuāi\":\"搋\",\n\"chuái\":\"膗\",\n\"chuǎi\":\"\",\n\"chuài\":\"啜欼膪踹\",\n\"chuān\":\"巛川氚穿猭瑏\",\n\"chuán\":\"舡舩剶船圌遄傳椯椽歂暷篅膞輲\",\n\"chuǎn\":\"舛荈喘堾歂僢踳\",\n\"chuàn\":\"汌串玔钏釧猭賗鶨\",\n\"chuāng\":\"刅疮窓創窗牎摐牕瘡窻\",\n\"chuáng\":\"床牀喠噇朣橦\",\n\"chuǎng\":\"闯傸磢闖\",\n\"chuàng\":\"怆刱剏剙創愴\",\n\"chuī\":\"吹炊龡\",\n\"chuí\":\"垂倕埀桘陲捶菙圌搥棰腄槌硾锤箠錘鎚顀\",\n\"chuǐ\":\"\",\n\"chuì\":\"惙\",\n\"chūn\":\"芚旾杶春萅媋暙椿槆瑃箺蝽橁輴櫄鰆鶞\",\n\"chún\":\"纯肫陙唇浱純莼脣湻犉滣蒓鹑漘蓴膞醇醕錞鯙鶉\",\n\"chǔn\":\"朐偆萶惷睶賰蠢\",\n\"chuō\":\"逴趠踔戳繛\",\n\"chuò\":\"辶吷辵拺哾娖娕啜婥婼惙涰淖辍酫綽踀箹輟鋜龊擉磭餟繛歠鏃嚽齪鑡孎\",\n\"da\":\"繨\",\n\"dā\":\"咑哒耷笚嗒搭褡噠墶撘鎝鎉\",\n\"dá\":\"达迏迖迚呾妲怛沓垯炟羍荅荙畗剳匒惮畣笪逹溚詚達跶靼憚薘鞑燵蟽鐽韃龖龘\",\n\"dǎ\":\"\",\n\"dà\":\"亣汏眔\",\n\"dāi\":\"呆呔獃懛\",\n\"dǎi\":\"歹逮傣\",\n\"dài\":\"代诒轪侢垈岱帒甙绐迨带怠柋殆玳贷帯貣軑埭帶紿蚮袋軚逮釱棣詒貸軩瑇跢廗箉叇曃緿蝳駘鮘鴏戴艜黛簤蹛瀻霴襶黱靆\",\n\"dān\":\"丹妉単眈砃耼耽郸聃躭酖單媅愖殚瘅匰箪褝鄲頕儋勯擔殫甔癉襌簞聸\",\n\"dǎn\":\"伔刐抌玬瓭胆衴疸紞赕亶馾撢撣賧燀黕膽皽黵\",\n\"dàn\":\"旦但帎呾沊泹狚诞唌柦疍訑啗啖惔惮淡萏蛋啿弾氮腅蜑觛亶瘅窞蓞誕僤噉馾髧儋嘾彈憚醈憺擔澹禫餤駳鴠癉膻癚嚪繵贉霮饏黮\",\n\"dāng\":\"珰裆筜當儅噹澢璫襠簹艡蟷鐺闣\",\n\"dǎng\":\"党谠當擋譡黨攩灙欓讜\",\n\"dàng\":\"氹凼圵宕砀垱荡档偒菪婸崵愓瓽逿嵣當雼潒碭儅瞊蕩趤壋擋檔璗盪礑簜蘯闣\",\n\"dāo\":\"刀刂忉朷氘舠釖鱽裯魛螩\",\n\"dáo\":\"捯\",\n\"dǎo\":\"导岛陦島捣祷禂搗隝嘄嶋嶌槝導隯壔嶹擣蹈檮禱\",\n\"dào\":\"辺到帱悼梼焘盗菿椡盜絩道稲箌翢噵稻艔衜檤衟幬燾翿軇瓙纛\",\n\"de\":\"旳\",\n\"dē\":\"嘚\",\n\"dé\":\"恴淂蚮悳惪棏锝徳德鍀\",\n\"dēi\":\"嘚\",\n\"děi\":\"\",\n\"dèn\":\"扥扽\",\n\"dēng\":\"灯登豋僜噔嬁燈璒竳簦艠蹬\",\n\"děng\":\"等戥\",\n\"dèng\":\"邓凳鄧隥墱嶝憕瞪磴镫櫈瀓覴鐙\",\n\"dī\":\"氐仾低奃岻彽秪袛啲埞羝隄堤渧趆滴碮樀磾鞮鏑\",\n\"dí\":\"扚廸旳狄肑籴苖迪唙敌浟涤荻啇梑笛觌靮滌蓧馰髢嘀嫡翟蔋蔐頔敵篴镝嚁藡豴蹢鏑糴覿鸐\",\n\"dǐ\":\"氐厎坘诋邸阺呧坻弤抵拞枑柢牴砥掋菧觝詆軧楴聜骶鯳\",\n\"dì\":\"坔旳杕玓怟枤苐俤哋埅帝埊娣逓递偙梊焍珶眱祶第菂谛釱媂揥棣渧睇缔蒂遆僀楴禘腣遞鉪墆墑墬嵽摕疐碲蔕蝃遰慸甋締蝭嶳諦諟踶螮\",\n\"diǎ\":\"嗲\",\n\"diān\":\"佔敁掂傎厧嵮滇槇槙瘨窴颠蹎巅顚顛癫巓攧巔癲齻\",\n\"dián\":\"\",\n\"diǎn\":\"典奌点婰敟椣跕碘蒧蕇踮點嚸\",\n\"diàn\":\"电阽坫店垫扂玷痁钿婝惦淀奠琔殿痶蜔鈿電墊壂橂橝澱靛磹癜簟驔\",\n\"diāo\":\"刁叼汈刟虭凋奝弴彫蛁椆琱貂碉鳭瞗錭雕鮉鲷簓鼦鯛鵰\",\n\"diǎo\":\"扚屌鳥\",\n\"diào\":\"弔伄吊钓盄窎訋掉釣铞铫絩鈟竨蓧誂銚銱雿魡調瘹窵鋽藋鑃\",\n\"diē\":\"爹跌褺\",\n\"dié\":\"佚怢泆苵迭咥垤峌恎挕昳柣绖胅瓞眣耊啑戜眰谍喋堞崼幉惵揲畳絰耋臷詄趃跕軼镻叠楪殜牃牒跮嵽碟蜨褋槢艓蝶疂諜蹀鴩螲鲽鞢曡疉鰈疊氎\",\n\"diě\":\"\",\n\"diè\":\"哋\",\n\"dīng\":\"仃叮奵帄玎甼町疔盯耵虰酊釘靪\",\n\"dǐng\":\"奵艼顶酊頂鼎嵿鼑濎薡鐤\",\n\"dìng\":\"订忊饤矴定訂釘飣啶掟萣铤椗腚碇锭碠聢蝊鋌錠磸顁\",\n\"diū\":\"丟丢铥颩銩\",\n\"dōng\":\"东冬咚岽東苳昸氡倲鸫埬娻崬崠涷笗菄徚氭蝀鮗鼕鯟鶇鶫\",\n\"dǒng\":\"揰董墥嬞懂箽蕫諌\",\n\"dòng\":\"动冻侗垌姛峒恫挏栋洞狪胨迵凍戙烔胴動娻崠硐棟湩絧腖働勭燑駧霘\",\n\"dōu\":\"吺枓侸唗兜兠蔸橷瞗篼\",\n\"dóu\":\"唞\",\n\"dǒu\":\"乧阧抖钭陡蚪鈄\",\n\"dòu\":\"吋豆郖浢狵荳逗饾鬥梪毭渎脰酘痘閗窦鬦鋀餖斣瀆闘竇鬪鬬鬭\",\n\"dū\":\"厾剢阇嘟督醏闍\",\n\"dú\":\"独涜渎椟牍犊裻読獨錖凟匵嬻瀆櫝殰牘犢瓄皾騳黩讀豄贕韣髑鑟韇韥黷讟\",\n\"dǔ\":\"竺笃堵暏琽赌睹覩賭篤\",\n\"dù\":\"芏妒杜妬姤荰秺晵渡靯镀螙斁殬鍍蠧蠹\",\n\"duān\":\"耑偳剬媏端褍鍴\",\n\"duǎn\":\"短\",\n\"duàn\":\"段断塅缎葮椴煅瑖腶碫锻緞毈簖鍛斷躖籪\",\n\"duī\":\"垖堆塠痽磓镦鴭鐓鐜\",\n\"duǐ\":\"啍頧\",\n\"duì\":\"队对兊兌対杸祋怼陮敓敚隊碓綐對憞憝濧濻薱懟瀢瀩譈譵轛\",\n\"dūn\":\"吨惇蜳墪墫墩撴獤噸撉橔犜礅蹾蹲驐\",\n\"dǔn\":\"盹趸躉\",\n\"dùn\":\"伅坉庉忳沌炖盾砘逇钝顿遁鈍楯頓碷遯憞潡燉踲\",\n\"duo\":\"\",\n\"duō\":\"夛多咄哆畓剟掇敠敪毲裰跢嚉\",\n\"duó\":\"仛夺沰铎剫敓敚喥痥鈬奪凙踱鐸\",\n\"duǒ\":\"朵朶哚垜挆埵崜缍袳椯硾趓躱躲綞亸軃鬌嚲奲\",\n\"duò\":\"杕杝刴剁枤沲陊陏饳垜尮挆挅柁柂柮桗舵隋媠惰隓跢跥跺飿馱墮憜駄墯隳鵽\",\n\"ē\":\"妸妿娿婀屙痾\",\n\"é\":\"讹吪囮迗俄峉哦娥峩峨涐莪珴訛皒睋鈋锇鹅磀誐鋨頟额魤額鵞鵝譌\",\n\"ě\":\"枙娿砨惡頋噁騀鵈\",\n\"è\":\"厄戹歺岋阨呃扼苊阸呝枙砐轭咢咹垩姶洝砈匎敋蚅饿偔卾堊娾悪硆谔軛鄂阏堮堨崿惡愕湂萼豟軶遌遏鈪廅搕搤搹琧痷腭僫蝁锷鹗蕚遻頞颚餓噩擜覨諤閼餩鍔鳄歞顎礘櫮鰐鶚鰪讍齃鑩齶鱷\",\n\"ēi\":\"诶欸誒\",\n\"éi\":\"诶欸誒\",\n\"ěi\":\"诶欸誒\",\n\"èi\":\"诶欸誒\",\n\"ēn\":\"奀恩蒽煾\",\n\"ěn\":\"峎\",\n\"èn\":\"摁\",\n\"ēng\":\"鞥\",\n\"ér\":\"儿而児杒侕兒陑峏洏耏荋栭胹唲梕袻鸸粫聏輀鲕隭髵鮞鴯轜\",\n\"ěr\":\"尒尓尔耳迩洱饵栮毦珥铒衈爾鉺餌駬薾邇趰\",\n\"èr\":\"二弍弐佴刵咡贰貮貳誀樲髶\",\n\"fā\":\"冹沷発發彂醗醱\",\n\"fá\":\"乏伐姂坺垡浌疺罚茷阀栰笩傠筏瞂罰閥墢罸橃藅\",\n\"fǎ\":\"佱法峜砝鍅灋\",\n\"fà\":\"珐琺髪蕟髮\",\n\"fān\":\"帆忛犿拚畨勫噃嬏幡憣旙旛繙翻藩轓颿籓飜鱕\",\n\"fán\":\"凢凣凡匥杋柉矾籵钒舤烦舧笲釩棥煩緐墦樊蕃燔璠膰薠襎羳蹯瀿礬蘩鐇鐢蠜鷭\",\n\"fǎn\":\"反払仮返橎\",\n\"fàn\":\"氾犯奿汎泛饭范贩畈訉軓婏桳梵盕笵販軬飰飯滼嬎範輽瀪\",\n\"fāng\":\"匚方邡汸芳枋牥祊钫淓蚄堏趽鈁錺鴋\",\n\"fáng\":\"防妨房肪埅鲂魴\",\n\"fǎng\":\"仿访彷纺昉昘瓬眆倣旊眪紡舫訪髣鶭\",\n\"fàng\":\"放趽\",\n\"fēi\":\"飞妃非飛啡婓婔渄绯扉斐暃猆靟裶緋蜚霏鲱餥馡騑騛鯡飝\",\n\"féi\":\"肥疿淝腓痱蜰\",\n\"fěi\":\"朏胐匪诽奜悱斐棐榧翡蕜誹篚\",\n\"fèi\":\"吠犻芾废杮柹沸狒肺胏昲胇费俷剕厞疿砩陫屝笰萉廃費痱镄廢曊橃橨癈鼣濷蟦櫠鐨靅\",\n\"fēn\":\"吩帉纷芬昐氛玢砏竕衯紛翂梤棻訜躮酚鈖雰馚朆餴饙\",\n\"fén\":\"坆坟妢岎汾朌枌炃羒蚠蚡棼焚蒶隫墳幩濆獖蕡魵鳻橨燌燓豮鼢羵鼖豶轒鐼馩黂\",\n\"fěn\":\"粉黺\",\n\"fèn\":\"坋弅奋忿秎偾愤粪僨憤獖瞓奮橨膹糞鲼瀵鱝\",\n\"fēng\":\"丰仹凨凬夆妦沣沨凮枫炐封疯盽砜風埄峰峯莑偑桻烽琒堼崶渢猦葑锋楓犎蜂熢瘋碸僼篈鄷鋒檒豐鎽鏠酆寷灃蘴霻蠭靊飌麷\",\n\"féng\":\"夆浲逢堸溄馮摓漨綘艂縫\",\n\"fěng\":\"讽風覂唪諷\",\n\"fèng\":\"凤奉俸桻湗焨煈赗鳯鳳鴌縫賵\",\n\"fó\":\"仏仸坲梻\",\n\"fōu\":\"\",\n\"fóu\":\"紑\",\n\"fǒu\":\"缶妚炰缹缻殕雬鴀\",\n\"fū\":\"伕邞呋妋抙姇枎玞肤怤柎砆胕荂衭娐尃捊荴旉琈紨趺酜麸稃跗鈇筟綒鄜孵粰蓲敷膚鳺麩糐麬麱懯璷\",\n\"fú\":\"乀巿弗払伏凫甶刜孚扶芣芙芾咈姇宓岪帗怫枎泭绂绋苻茀俘垘枹柫柭氟洑炥玸畉畐祓罘胕茯郛韨鳬哹垺栿浮畗砩莩蚨袚匐桴涪烰琈符笰紱紼翇艴菔虙袱幅棴絥罦葍福綍艀蜉辐鉘鉜颫鳧榑稪箁箙粰褔豧韍颰幞澓蝠髴鴔諨踾輻鮄癁襆鮲黻襥鵩纀鶝\",\n\"fǔ\":\"阝呒抚甫乶府弣拊斧俌俛柎郙俯蚥釡釜捬脯辅椨焤盙腑滏蜅腐輔嘸撫頫鬴簠黼\",\n\"fù\":\"讣付妇负附咐坿彿竎阜驸复峊柎洑祔訃負赴蚥袝偩冨婏婦捬紨蚹傅媍富復秿萯蛗覄詂赋椱缚腹鲋榑禣複褔赙緮蕧蝜蝮賦駙嬔縛輹鮒賻鍑鍢鳆覆馥鰒\",\n\"gā\":\"旮伽夾嘎嘠\",\n\"gá\":\"钆軋尜釓嘎嘠噶錷\",\n\"gǎ\":\"尕玍朒嘎嘠\",\n\"gà\":\"尬魀\",\n\"gāi\":\"侅该郂陔垓姟峐荄晐赅畡祴絯隑該豥賅賌\",\n\"gǎi\":\"忋改絠\",\n\"gài\":\"丐乢匄匃杚钙摡溉葢鈣戤概槩蓋漑槪瓂\",\n\"gān\":\"甘忓迀攼玕肝咁坩泔矸苷柑玵竿疳酐粓凲尲尴筸漧鳱尶尷魐\",\n\"gǎn\":\"仠芉皯秆衦赶敢桿稈感澉趕橄擀澸篢簳鳡鱤\",\n\"gàn\":\"佄旰汵盰绀倝凎淦紺詌骭幹榦檊簳贑赣贛灨\",\n\"gāng\":\"冈冮刚纲肛岡牨疘矼缸剛罡堈崗掆釭棡犅堽摃碙綱罁鋼鎠\",\n\"gǎng\":\"岗犺崗\",\n\"gàng\":\"焵焹筻槓鋼戅戆戇\",\n\"gāo\":\"皋羔羙高皐髙臯睪槔睾槹獋橰篙糕餻櫜韟鷎鼛鷱\",\n\"gǎo\":\"夰杲菒稁搞缟槀槁稾稿镐縞藁檺藳鎬\",\n\"gào\":\"吿告勂诰郜峼祮祰锆筶禞誥鋯\",\n\"gē\":\"戈仡圪扢犵纥戓肐牫咯紇饹哥袼鸽割彁滒戨歌鴚擱謌鴿鎶\",\n\"gé\":\"呄佮佫匌挌阁革敋格鬲愅猲臵蛒裓隔颌嗝塥滆觡搿槅膈閣閤獦镉鞈韐骼臈諽輵擱鮥鮯櫊鎑鎘韚轕鞷騔\",\n\"gě\":\"個哿笴舸嘅嗰蓋鲄\",\n\"gè\":\"亇吤茖虼個硌铬箇鉻\",\n\"gěi\":\"給\",\n\"gēn\":\"根跟\",\n\"gén\":\"哏\",\n\"gěn\":\"\",\n\"gèn\":\"亙亘艮茛揯搄\",\n\"gēng\":\"刯庚畊浭耕菮椩焿絙絚赓鹒緪縆羮賡羹鶊\",\n\"gěng\":\"郠哽埂峺挭绠耿莄梗綆鲠骾鯁\",\n\"gèng\":\"堩緪縆\",\n\"gōng\":\"工弓公厷功攻杛侊糿糼肱宫紅宮恭躬龚匑塨幊愩觥躳慐匔碽篢髸觵龏龔\",\n\"gǒng\":\"廾巩汞拱唝拲栱珙嗊輁澒銾鞏\",\n\"gòng\":\"贡羾唝貢嗊愩慐熕\",\n\"gōu\":\"佝沟芶钩痀袧缑鈎溝鉤緱褠篝簼鞲韝\",\n\"gǒu\":\"芶岣狗苟枸玽耉耇笱耈蚼豿\",\n\"gòu\":\"呴坸构诟购垢姤冓啂夠够傋訽媾彀搆詬遘雊構煹觏撀糓覯購\",\n\"gū\":\"杚呱咕姑孤沽泒苽巭巬柧轱唃唂罛鸪笟菇菰蛄蓇觚軱軲辜酤稒鈲磆箍箛嫴篐橭鮕鴣\",\n\"gú\":\"\",\n\"gǔ\":\"夃古扢抇汩诂谷股牯罟羖逧钴傦啒淈脵蛊嗗尳愲詁馉毂賈鈷鼔鼓嘏榖皷鹘穀縎糓薣濲皼臌轂餶櫎瀔盬瞽鶻蠱\",\n\"gù\":\"固怘故凅顾堌崓崮梏牿棝祻雇榾痼锢僱錮鲴鯝顧\",\n\"guā\":\"瓜刮呱胍栝桰铦鸹歄煱颪趏劀緺銛諣踻銽颳鴰騧\",\n\"guá\":\"\",\n\"guǎ\":\"冎叧呙呱咼剐剮寡\",\n\"guà\":\"卦坬诖挂啩掛罣袿絓罫褂詿\",\n\"guāi\":\"乖\",\n\"guái\":\"叏\",\n\"guǎi\":\"拐枴柺罫箉\",\n\"guài\":\"夬怪恠\",\n\"guān\":\"关纶官矜覌倌矝莞涫棺蒄窤閞綸関瘝癏観闗鳏關鰥觀鱞\",\n\"guǎn\":\"莞馆琯痯筦斡管輨璭舘錧館鳤\",\n\"guàn\":\"卝毌丱贯泴覌悺惯掼淉貫悹祼慣摜潅遦樌盥罆雚観躀鏆灌爟瓘矔礶鹳罐觀鑵欟鱹鸛\",\n\"guāng\":\"光灮炚炛炗咣垙姯挄洸茪桄烡珖胱硄僙輄潢銧黆\",\n\"guǎng\":\"広犷廣獷臩\",\n\"guàng\":\"俇桄逛臦撗\",\n\"guī\":\"归圭妫规邽皈茥闺帰珪胿亀硅窐袿規媯廆椝瑰郌嫢摫閨鲑嬀嶲槣槻槼鳺璝瞡龜鮭巂歸雟鬶騩櫰櫷瓌蘬鬹\",\n\"guǐ\":\"宄氿朹轨庋佹匦诡陒垝姽恑攱癸軌鬼庪祪軓匭晷湀蛫觤詭厬簋蟡\",\n\"guì\":\"攰刿刽昋炅攱贵桂桧匮眭硊趹椢猤筀貴溎蓕跪匱瞆劊劌嶡撌槶螝樻檜瞶禬簂櫃癐襘鐀鳜鞼鑎鱖鱥\",\n\"gǔn\":\"丨衮惃硍绲袞辊滚蓘裷滾緄蔉磙緷輥鲧鮌鯀\",\n\"gùn\":\"睔謴\",\n\"guo\":\"\",\n\"guō\":\"呙咼咶埚郭啯堝崞渦猓楇聒鈛锅墎瘑嘓彉濄蝈鍋彍蟈懖矌\",\n\"guó\":\"囗囯囶囻国圀敋喐國帼掴腘摑幗慖漍聝蔮膕虢簂馘\",\n\"guǒ\":\"果惈淉菓馃椁褁槨粿綶蜾裹輠餜櫎\",\n\"guò\":\"過腂鐹\",\n\"hā\":\"虾紦铪鉿蝦\",\n\"há\":\"\",\n\"hǎ\":\"奤\",\n\"hà\":\"\",\n\"hāi\":\"咍嗨\",\n\"hái\":\"郂孩骸還嚡\",\n\"hǎi\":\"海胲烸塰酼醢\",\n\"hài\":\"亥妎拸骇害氦猲絯嗐餀駭駴饚\",\n\"han\":\"兯爳\",\n\"hān\":\"犴佄顸哻蚶酣頇嫨谽憨馠魽歛鼾\",\n\"hán\":\"邗含汵邯函肣凾虷唅圅娢浛笒崡晗梒涵焓琀寒嵅韩椷甝筨馯蜬澏鋡韓\",\n\"hǎn\":\"丆罕浫喊豃闞\",\n\"hàn\":\"仠厈汉屽忓扞闬攼旰旱肣唅垾悍捍涆猂莟晘焊菡釬閈皔睅傼蛿颔馯撖漢蔊蜭鳱暵熯輚銲鋎憾撼翰螒頷顄駻譀雗瀚鶾\",\n\"hāng\":\"\",\n\"háng\":\"邟妔苀迒斻杭垳绗桁笐航蚢颃裄貥筕絎頏魧\",\n\"hàng\":\"忼沆笐\",\n\"hāo\":\"茠蒿嚆薅薧\",\n\"háo\":\"乚毜呺竓皋蚝毫椃嗥獆號貉噑獔豪嘷獋諕儫嚎壕濠籇蠔譹\",\n\"hǎo\":\"郝\",\n\"hào\":\"昊侴昦秏哠恏悎浩耗晧淏傐皓鄗滈滜聕號暠暤暭澔皜皞镐曍皡薃皥藃鎬颢灏顥鰝灝\",\n\"hē\":\"诃抲欱訶嗬蠚\",\n\"hé\":\"禾纥呙劾咊咼姀河郃峆曷柇狢盇籺紇阂饸敆盉盍荷釛啝涸渮盒菏萂龁喛惒粭訸颌楁毼澕蓋詥貈貉鉌阖鲄朅熆閡閤餄鹖麧噈頜篕翮螛魺礉闔鞨齕覈鶡皬鑉龢\",\n\"hě\":\"\",\n\"hè\":\"咊抲垎贺哬袔隺寉焃惒猲賀嗃煂碋熇褐赫鹤翯嚇壑癋謞燺爀鶮鶴靍靎鸖靏\",\n\"hēi\":\"黒黑嗨潶\",\n\"hén\":\"拫痕鞎\",\n\"hěn\":\"佷哏很狠詪噷\",\n\"hèn\":\"恨噷\",\n\"hēng\":\"亨哼悙涥脝\",\n\"héng\":\"姮恆恒桁烆珩胻鸻撗橫衡鴴鵆蘅鑅\",\n\"hèng\":\"悙啈橫\",\n\"hng\":\"哼\",\n\"hōng\":\"叿吽呍灴轰訇烘軣揈渹焢硡谾薨輷嚝鍧巆轟\",\n\"hóng\":\"厷仜弘叿妅屸吰宏汯玒瓨纮闳宖泓玜苰垬娂沗洪竑紅羾荭虹浤浲紘翃耾硔紭谹鸿渱溄竤粠葓葒鈜閎綋翝谼潂鉷鞃魟篊鋐彋霐黉霟鴻黌\",\n\"hǒng\":\"唝晎嗊愩慐\",\n\"hòng\":\"讧訌閧撔澒銾蕻闂鬨闀\",\n\"hōu\":\"齁\",\n\"hóu\":\"矦鄇喉帿猴葔瘊睺銗篌糇翭骺翵鍭餱鯸\",\n\"hǒu\":\"吼吽犼呴\",\n\"hòu\":\"后郈厚垕後洉矦茩逅候堠豞鲎鲘鮜鱟\",\n\"hū\":\"乎乯匢虍芴呼垀忽昒曶泘苸恗烀芔轷匫唿惚淴虖軤雽嘑寣滹雐幠戯歑戱膴戲謼\",\n\"hú\":\"囫抇弧狐瓳胡壶隺壷斛焀喖壺媩搰湖猢絗葫鹄楜煳瑚瓡嘝蔛鹕鹘槲箶縎蝴衚魱縠螜醐頶觳鍸餬礐鵠瀫鬍鰗鶘鶦鶻鶮\",\n\"hǔ\":\"乕汻虎浒俿淲萀琥虝滸錿鯱\",\n\"hù\":\"互弖戶戸户冱芐帍护沍沪岵怙戽昈曶枑姱怘祜笏粐婟扈瓠楛嗃嗀綔鄠雽嫭嫮摢滬蔰槴熩鳸濩簄豰鍙嚛鹱觷護鳠頀鱯鸌\",\n\"huā\":\"吪芲花砉埖婲華椛硴蒊嘩糀誮錵蘤\",\n\"huá\":\"呚姡骅華釪釫铧滑猾嘩搳撶劃磆蕐螖鋘譁鏵驊鷨\",\n\"huà\":\"夻杹枠画话崋桦華婳畫嬅畵觟話劃摦樺嫿槬澅諙諣黊繣舙譮\",\n\"huái\":\"怀佪徊淮槐褢踝懐褱懷瀤櫰耲蘹\",\n\"huài\":\"咶壊壞蘾\",\n\"huān\":\"欢犿狟貆歓鴅懁鵍酄嚾孉懽獾歡讙貛驩\",\n\"huán\":\"环郇峘洹狟荁垸桓萈萑堚寏絙雈獂綄羦蒝貆锾瞏圜嬛寰澴缳還阛環豲鍰雚镮鹮糫繯鐶闤鬟瓛\",\n\"huǎn\":\"睆缓緩\",\n\"huàn\":\"幻奂肒奐宦唤换浣涣烉患梙焕逭喚喛嵈愌換渙痪煥瑍綄豢漶瘓槵鲩擐澣藧鯇攌嚾轘鯶鰀\",\n\"huāng\":\"巟肓荒衁宺朚塃慌\",\n\"huáng\":\"皇偟凰隍黄喤堭媓崲徨惶揘湟葟遑黃楻煌瑝墴潢獚锽熿璜篁艎蝗癀磺穔諻簧蟥鍠餭鳇趪韹鐄騜鰉鱑鷬\",\n\"huǎng\":\"汻怳恍炾宺晄奛谎幌詤熀熿縨謊兤櫎爌\",\n\"huàng\":\"愰滉榥曂皝鎤皩\",\n\"hui\":\"\",\n\"huī\":\"灰灳诙咴恢拻挥洃虺袆晖烣珲豗婎媈揮翚辉隓暉椲楎煇琿睢禈詼墮幑睳褘噅噕撝翬輝麾徽隳瀈蘳孈鰴\",\n\"huí\":\"囘回囬佪廻廽恛洄茴迴烠蚘逥痐缋蛕蛔蜖藱鮰繢\",\n\"huǐ\":\"虺悔烠毀毁螝毇檓燬譭\",\n\"huì\":\"卉屷屶汇讳泋哕浍绘芔荟诲恚恵桧烩贿彗晦秽喙廆惠湏絵缋翙阓匯彚彙會滙詯賄颒僡嘒瘣蔧誨銊圚寭慧憓暳槥潓潰蕙噦嬒徻橞殨澮濊獩璤薈薉諱頮檅檜燴璯篲藱餯嚖懳瞺穢繢蟪櫘繪翽譓儶鏸闠鐬靧譿顪\",\n\"hūn\":\"昏昬荤婚惛涽焄阍棔殙湣葷睧睯蔒閽轋\",\n\"hún\":\"忶浑珲馄渾湷琿魂餛鼲\",\n\"hǔn\":\"\",\n\"hùn\":\"诨俒眃倱圂婫掍焝溷尡慁睴觨諢\",\n\"huō\":\"吙秴耠劐攉騞\",\n\"huó\":\"佸姡活秮秳趏\",\n\"huǒ\":\"灬火伙邩钬鈥漷煷夥\",\n\"huò\":\"沎或货咟俰捇眓获閄剨喐掝祸貨惑旤湱禍漷窢蒦锪嚄奯擭濊濩獲篧鍃霍檴謋雘矆礊穫镬嚯彟瀖耯艧藿蠖嚿曤臛癨矐鑊韄靃彠\",\n\"jī\":\"丌讥击刉叽饥乩刏圾机玑肌芨矶鸡枅苙咭剞唧姬屐积笄飢基庴喞嵆嵇幾攲敧朞犄筓缉赍嗘畸稘跻鳮僟毄箕綨緁銈嘰撃槣樭畿緝觭諅賫踑躸齑墼撽機激璣禨積錤隮懠擊磯簊羁賷櫅耭雞譏韲鶏譤鐖饑癪躋鞿魕鶺鷄羇虀鑇覉鑙齏羈鸄覊\",\n\"jí\":\"乁亽亼及尐伋吉岌彶忣汲级即极皀亟佶诘郆卽叝姞急皍笈級堲揤疾觙偮卙唶楖淁焏谻戢棘極殛湒集塉嫉愱楫蒺蝍趌辑槉耤膌銡嶯潗濈瘠箿蕀蕺諔趞踖鞊鹡檝螏輯磼簎藉襋蹐鍓艥籍轚鏶霵齎躤雧\",\n\"jǐ\":\"己丮妀屰犱泲虮挤脊掎済鱾幾戟給嵴麂魢撠憿橶擠濟穖蟣\",\n\"jì\":\"彐彑旡计记伎坖妓忌技汥芰际剂季哜垍既洎紀茍茤荠計迹剤畟紒继觊記偈寄寂帺徛悸旣梞済绩塈惎臮葪蔇兾勣痵継蓟裚跡際鬾魝摖暨漃漈禝稩穊誋跽霁魥鲚暩瞉稷諅鲫冀劑曁禨穄薊襀髻嚌懠檕濟穖績繋罽薺覬鮆檵櫅櫭璾蹟鯽鵋齌廭懻癠穧繫蘎骥鯚瀱繼蘮鱀蘻霽鰶鰿鷑鱭驥\",\n\"jia\":\"\",\n\"jiā\":\"加乫伽夾宊抸佳拁泇徍枷毠浃珈哿埉挾浹痂梜笳耞袈傢猳葭跏椵犌腵鉫嘉擖镓糘豭貑鴐鎵麚\",\n\"jiá\":\"圿夾忦扴郏拮荚郟唊恝莢戛脥袷铗戞猰蛱裌颉颊蛺鋏頬頰鴶鵊\",\n\"jiǎ\":\"甲岬叚玾胛斚钾婽徦斝椵賈鉀榎槚瘕檟\",\n\"jià\":\"驾架嫁幏賈榢價稼駕\",\n\"jiān\":\"戋奸尖幵坚歼冿戔玪肩艰姧姦兼堅帴惤猏笺菅菺豜傔揃湔牋犍缄葌閒間雃靬搛椷椾煎瑊睷碊缣蒹豣漸監箋蔪樫熞稴緘蕑蕳鋑鲣鳽鹣熸篯縑鋻艱鞬餰馢麉瀐濺鞯鳒鵑殱礛籈鵳攕瀸鰔櫼殲譼鰜鶼礷籛韀鰹囏虃鑯韉\",\n\"jiǎn\":\"囝拣枧俭柬茧倹挸捡笕减剪帴揵梘检湕趼堿揀揃検減睑硷裥詃锏弿暕瑐筧简絸谫彅戩戬碱儉翦鋄撿橏篯檢藆襇襉謇蹇瞼礆簡繭謭鎫鬋鰎鹸瀽蠒鐗鐧鹻籛譾襺鹼\",\n\"jiàn\":\"件見侟建饯剑洊牮荐贱俴健剣栫涧珔舰剱徤揵袸谏釰釼寋旔朁楗毽腱臶跈践閒間賎鉴键僣僭榗槛漸監劎劍墹澗箭糋諓賤趝踐踺劒劔薦諫鋻鍵餞瞷瞯磵礀螹鍳鞬擶檻濺繝瀳覵覸譛鏩聻艦轞鐱鑒鑑鑬鑳\",\n\"jiāng\":\"江姜茳畕豇將葁畺摪翞僵漿螀壃缰薑橿殭螿鳉疅礓繮韁鱂\",\n\"jiǎng\":\"讲奖桨傋塂蒋奨奬蔣槳獎耩膙講顜\",\n\"jiàng\":\"匞匠夅弜洚绛將弶強絳畺酱勥滰嵹摾漿彊犟糡醤糨醬櫤謽\",\n\"jiāo\":\"艽交郊姣娇峧浇茮茭骄胶敎喬椒焦蛟跤僬嘐虠鲛嬌嶕嶣憍憢澆膠蕉燋膲礁穚鮫鵁鹪簥蟭轇鐎驕鷦鷮\",\n\"jiáo\":\"矯\",\n\"jiǎo\":\"臫佼恔挢狡绞饺捁晈烄笅皎脚釥铰搅湫筊絞勦敫湬煍腳賋僥摎摷暞踋鉸餃儌劋徺撟撹樔徼憿敽敿燞曒璬矯皦蟜繳譑孂纐攪灚鱎龣\",\n\"jiào\":\"叫呌峤挍訆悎珓窌笅轿较敎斍覐窖筊覚滘較嘂嘄嘦斠漖酵噍嶠潐噭嬓徼獥癄藠趭轎醮灂覺譥皭釂\",\n\"jie\":\"價\",\n\"jiē\":\"阶疖哜皆袓接掲痎秸菨階喈喼嗟堦媘嫅椄湝結脻街裓楬煯瑎稭鞂擑蝔嚌癤謯鶛\",\n\"jié\":\"卩卪孑尐讦扢刧刦劫岊昅杢刼劼杰疌衱诘拮洁狤迼倢桀桔桝洯紒莭訐偈偼啑婕崨捷掶袷袺傑媫嵑結絜蛣颉嵥搩楶滐睫節蜐詰趌跲鉣截榤碣竭蓵鲒嶱潔羯誱踕镼鞊頡幯擳嶻擮礍鍻鮚巀蠞蠘蠽\",\n\"jiě\":\"姐毑媎觧飷檞\",\n\"jiè\":\"丯介吤妎岕庎戒屆届斺玠畍界疥砎衸诫借悈紒蚧唶徣堺楐琾蛶觧骱犗耤誡褯魪嶰藉鎅鶡\",\n\"jīn\":\"巾今仐斤钅竻釒金津矜砛荕衿觔埐珒矝紟惍琎菳堻琻筋釿璡鹶黅襟\",\n\"jǐn\":\"侭卺巹紧堇婜菫僅厪谨锦嫤廑慬漌緊蓳馑槿瑾儘錦謹饉\",\n\"jìn\":\"伒劤妗近进枃勁浕荩晉晋浸烬笒紟赆唫祲進煡臸僅寖搢溍缙靳墐嫤慬榗瑨盡馸僸凚歏殣觐噤嬐濅縉賮嚍壗嬧濜藎燼璶覲贐齽\",\n\"jīng\":\"坕坙巠京泾经茎亰秔荊荆涇粇婛惊旍旌猄経菁晶稉腈葏睛粳經兢箐精綡聙鋞橸鲸鯨鶁鶄麖鼱驚麠\",\n\"jǐng\":\"井丼阱刭坓宑汫汬肼剄穽殌儆頚幜憬擏澋璄憼暻璟璥頸蟼警\",\n\"jìng\":\"劤妌弪径迳俓勁婙浄胫倞凈弳徑痉竞莖逕婧桱梷殑淨竟竫脛敬痙竧靓傹靖境獍誩踁静靚憼曔镜靜瀞鵛鏡競竸\",\n\"jiōng\":\"冂冋坰扃埛扄浻絅銄駉駫蘏蘔\",\n\"jiǒng\":\"冏囧泂炅迥侰炯逈浻烱絅煚窘颎綗臦僒煛熲澃褧燛顈臩\",\n\"jiòng\":\"\",\n\"jiū\":\"丩勼纠朻牞究糺鸠糾赳阄萛啾揂揪剹揫鳩摎稵樛鬏鬮\",\n\"jiú\":\"\",\n\"jiǔ\":\"九乆久乣氿奺汣杦灸玖糺舏韭紤酒镹韮\",\n\"jiù\":\"匛旧臼咎疚柩柾倃捄桕匓厩救就廄廐舅僦廏慦殧舊鹫匶鯦麔欍齨鷲\",\n\"jū\":\"凥伡抅車匊居岨泃狙苴驹俥毩疽眗砠罝陱娵婮崌掬梮涺揟椐毱琚腒趄跔跙锔裾雎艍蜛諊踘躹鋦駒據鋸鮈鴡檋鞠鞫鶋\",\n\"jú\":\"局泦侷狊挶桔啹婅淗焗菊郹椈湨犑輂僪粷蓻跼閰趜鋦橘駶繘鵙蹫鵴巈蘜鶪鼰鼳驧\",\n\"jǔ\":\"咀岨弆举枸矩莒挙椇筥榉榘蒟龃聥舉踽擧櫸齟欅襷\",\n\"jù\":\"巨乬巪讵姖岠怇拒洰苣邭具怐怚拠昛歫炬珇秬钜俱倨倶剧烥粔耟蚷袓埧埾惧詎距焣犋跙鉅飓蒩虡豦锯寠愳窭聚駏劇勮屦踞鮔壉懅據澽窶螶遽鋸屨颶瞿貗簴躆醵忂懼鐻\",\n\"juān\":\"姢勌娟捐涓朘梋焆瓹脧圏裐鹃勬鋑鋗镌鞙鎸鐫蠲\",\n\"juǎn\":\"呟巻帣埍捲菤锩臇錈闂\",\n\"juàn\":\"奆劵奍巻帣弮倦勌悁桊狷绢隽婘惓淃瓹眷鄄圏棬椦睊絭罥腃雋睠絹飬慻蔨嶲鋗餋獧縳巂羂讂\",\n\"juē\":\"噘撅撧屩屫\",\n\"jué\":\"亅孒孓决刔氒诀吷妜弡抉決芵叕泬玨玦挗珏疦砄绝虳埆捔欮蚗袦崫崛掘斍桷覐觖訣赽趹傕厥焳矞絕絶覚趉鈌劂瑴谲駃噊嶡嶥憰撅熦爴獗瘚蕝蕨觮鴂鴃噱壆憠橜橛燋璚爵臄镢櫭繘蟨蟩爑譎蹷蹶髉匷矍覺鐍鐝鳜灍爝觼穱彏戄攫玃鷢矡貜躩钁\",\n\"juě\":\"蹶\",\n\"juè\":\"誳\",\n\"jūn\":\"军君均汮姰袀軍钧莙蚐桾皲鈞碅筠皸皹覠銁銞鲪頵麇龜鍕鮶麏麕\",\n\"jǔn\":\"\",\n\"jùn\":\"呁俊郡陖埈峻捃浚隽馂骏晙焌珺棞畯竣葰雋儁箘箟蜠賐寯懏餕燇濬駿鵘鵔鵕攈攟\",\n\"kā\":\"喀\",\n\"kǎ\":\"佧咔咯垰胩裃鉲\",\n\"kāi\":\"开奒揩锎開鐦\",\n\"kǎi\":\"凯剀垲恺闿豈铠凱剴嘅慨蒈塏嵦愷輆暟锴鍇鎧闓颽\",\n\"kài\":\"忾炌欯欬烗勓愒愾濭鎎\",\n\"kān\":\"刊栞勘龛堪嵁戡龕\",\n\"kǎn\":\"凵冚坎扻侃砍莰偘埳惂欿歁槛輡檻顑竷轗\",\n\"kàn\":\"衎崁墈阚瞰磡闞竷鬫矙\",\n\"kāng\":\"忼闶砊粇康閌嫝嵻慷漮槺穅糠躿鏮鱇\",\n\"káng\":\"\",\n\"kǎng\":\"\",\n\"kàng\":\"亢伉匟邟囥抗犺闶炕钪鈧閌\",\n\"kāo\":\"尻嵪髛\",\n\"kǎo\":\"丂攷考拷洘栲烤薧\",\n\"kào\":\"洘铐犒銬鲓靠鮳鯌\",\n\"kē\":\"匼柯牁牱珂科轲疴砢趷钶蚵铪嵙棵痾萪軻颏嗑搕犐稞窠鈳榼薖鉿颗樖瞌磕蝌頦窼醘顆髁礚\",\n\"ké\":\"殻揢殼翗\",\n\"kě\":\"岢炣渇嵑敤渴軻閜磆嶱\",\n\"kè\":\"克刻剋勀勊客峇恪娔尅悈袔课堁氪骒愘硞缂衉嗑愙歁溘锞碦緙艐課濭錁礊騍\",\n\"kēi\":\"剋尅\",\n\"kēn\":\"\",\n\"kěn\":\"肎肯肻垦恳啃龂豤貇龈墾錹懇\",\n\"kèn\":\"珢掯硍裉褃\",\n\"kēng\":\"劥阬坈坑妔挳硁殸牼揁硜铿硻摼誙銵鍞鏗\",\n\"kěng\":\"硻\",\n\"kōng\":\"倥埪崆悾涳椌硿箜躻錓鵼\",\n\"kǒng\":\"孔倥恐悾\",\n\"kòng\":\"矼控羫鞚\",\n\"kōu\":\"抠芤眍眗剾彄摳瞘\",\n\"kǒu\":\"口劶竘\",\n\"kòu\":\"叩扣佝怐敂冦宼寇釦窛筘滱蔲蔻瞉簆鷇\",\n\"kū\":\"扝刳矻郀朏枯胐哭桍秙窋堀圐跍窟骷鮬\",\n\"kú\":\"\",\n\"kǔ\":\"狜苦楛\",\n\"kù\":\"库俈绔庫捁秙焅袴喾硞絝裤瘔酷廤褲嚳\",\n\"kuā\":\"咵姱恗晇絓舿誇\",\n\"kuǎ\":\"侉垮楇銙\",\n\"kuà\":\"胯趶誇跨骻\",\n\"kuǎi\":\"蒯擓\",\n\"kuài\":\"巜凷圦块快侩郐哙浍狯脍欳塊蒉會筷駃鲙儈墤鄶噲廥澮獪璯膾旝糩鱠\",\n\"kuān\":\"宽寛寬臗髋鑧髖\",\n\"kuǎn\":\"梡欵款歀窽窾\",\n\"kuàn\":\"\",\n\"kuāng\":\"匡迋劻诓邼匩哐恇洭硄筐筺誆軭\",\n\"kuáng\":\"忹抂狅狂诳軖軠誑鵟\",\n\"kuǎng\":\"夼儣懭\",\n\"kuàng\":\"卝丱邝圹纩况旷岲況矿昿贶框眖砿眶絋絖貺軦鉱鋛鄺壙黋懬曠爌矌礦穬纊鑛\",\n\"kuī\":\"亏刲岿悝盔窥聧窺虧顝闚巋\",\n\"kuí\":\"奎晆逵鄈隗馗喹揆葵骙戣暌楏楑魁睽蝰頯櫆藈鍨鍷騤夔蘷巙虁犪躨\",\n\"kuǐ\":\"尯煃跬頍磈蹞\",\n\"kuì\":\"尯胿匮喟媿愧愦蒉馈匱瞆嘳嬇憒潰篑聭聩蕢殨膭謉瞶餽簣聵籄饋\",\n\"kūn\":\"坤昆堃堒婫崑崐晜猑菎裈焜琨髠裩貇锟髡鹍潉蜫褌髨熴瑻醌錕鲲騉鯤鵾鶤\",\n\"kǔn\":\"悃捆阃壸梱祵硱稇裍壼稛綑閫閸\",\n\"kùn\":\"困涃睏\",\n\"kuò\":\"扩拡挄适秮秳铦筈萿葀蛞阔廓漷銛噋銽頢髺擴濶闊鞟韕霩鞹鬠\",\n\"la\":\"鞡\",\n\"lā\":\"垃柆砬菈搚磖邋\",\n\"lá\":\"旯剌砬揦磖嚹\",\n\"lǎ\":\"喇藞\",\n\"là\":\"剌翋揦溂揧楋瘌蜡蝋辢辣蝲臈擸攋爉臘鬎櫴瓎镴鯻蠟鑞\",\n\"lái\":\"来來俫倈崃徕涞莱郲婡崍庲徠梾淶猍萊逨棶琜筙铼箂錸騋鯠鶆麳\",\n\"lǎi\":\"襰\",\n\"lài\":\"疠娕徕唻婡徠赉睐睞赖誺賚濑賴頼癘顂癞鵣攋瀨瀬籁藾櫴癩籟\",\n\"lán\":\"兰岚拦栏啉婪惏嵐葻阑暕蓝谰厱澜褴儖斓篮懢燣燷藍襕镧闌璼幱襤譋攔瀾灆籃繿蘫蘭斕欄襴囒灡籣欗讕躝襽鑭韊\",\n\"lǎn\":\"览浨揽缆榄漤罱醂壈懒覧擥嬾懶孄覽孏攬灠欖爦顲纜\",\n\"làn\":\"坔烂滥燗嚂壏濫爁爛瓓爤爦糷钄\",\n\"lāng\":\"啷\",\n\"láng\":\"勆郞哴欴狼嫏廊斏桹琅蓈榔瑯硠稂锒筤艆蜋郒樃螂躴鋃鎯駺\",\n\"lǎng\":\"崀朗朖烺塱蓢誏朤\",\n\"làng\":\"埌浪莨阆筤蒗誏閬\",\n\"lāo\":\"捞粩撈\",\n\"láo\":\"労劳牢窂哰崂浶勞痨铹僗嘮嶗憦憥朥癆磱簩蟧醪鐒顟髝\",\n\"lǎo\":\"耂老佬咾恅狫荖栳珯硓铑蛯銠鮱轑\",\n\"lào\":\"涝絡嗠耢酪嫪嘮憦樂澇躼橯耮軂\",\n\"le\":\"饹\",\n\"lē\":\"嘞\",\n\"lè\":\"仂阞叻忇扐氻艻牞玏泐竻砳楽韷餎樂簕鳓鰳鱳\",\n\"lei\":\"嘞\",\n\"lēi\":\"\",\n\"léi\":\"絫雷嫘缧蔂樏畾磥檑縲攂礌镭櫑瓃羸礧纍罍蘲鐳轠儽鑘靁虆鱩欙纝鼺\",\n\"lěi\":\"厽耒诔垒洡塁絫傫誄瘣樏磊蕌磥蕾儡壘癗礌藟櫑櫐矋礨礧灅蠝蘽讄壨鑸鸓\",\n\"lèi\":\"泪洡类涙淚祱絫酹銇頛頪錑攂颣類礧纇蘱禷\",\n\"lēng\":\"稜\",\n\"léng\":\"唥崚塄楞碐稜薐\",\n\"lěng\":\"冷\",\n\"lèng\":\"倰堎愣睖踜\",\n\"li\":\"\",\n\"lī\":\"\",\n\"lí\":\"刕杝厘柂剓狸离荲骊悡梨梸犁琍菞喱棃犂鹂剺漓睝筣缡艃蓠嫠孷樆璃盠竰貍犛糎蔾褵鋫鲡黎篱縭罹錅蟍謧醨嚟藜邌釐離鯏斄瓈蟸鏫鯬鵹麗黧囄灕蘺蠫孋廲劙鑗穲籬纚驪鱺鸝\",\n\"lǐ\":\"礼李里俚峛峢娌峲悝浬逦理裡锂粴裏豊鋰鲤澧禮鯉醴蠡鳢邐鱧欚纚鱱\",\n\"lì\":\"力历厉屴扐立吏扚朸利励叓呖坜杝沥苈例叕岦戾枥沴沵疠苙迣俐俪栃栎疬砅茘荔赲轹郦唎娳悧栛栗浰涖猁珕砬砺砾秝莉莅鬲唳婯悷笠粒粝脷蚸蛎傈凓厤棙痢蛠詈跞雳厯塛慄搮溧睙蒞蒚蜊鉝鳨厲暦歴瑮綟蜧銐蝷镉勵曆歷篥隷鴗巁檪濿癘磿隸鬁儮擽曞櫔爄犡禲蠇鎘嚦壢攊櫟瀝瓅礪藶麗櫪爏瓑皪盭礫糲蠣儷癧礰纅酈鷅麜囇孋攦觻躒轢欐讈轣攭瓥靂靋\",\n\"liǎ\":\"俩倆\",\n\"lián\":\"奁连帘怜涟莲連梿联裢亷嗹廉慩溓漣蓮匲奩槏槤熑覝劆匳噒嫾憐磏聨聫褳鲢濂濓縺翴聮薕螊櫣燫聯臁謰蹥檶鎌镰瀮簾蠊鬑鐮鰱籢籨\",\n\"liǎn\":\"莶敛梿琏脸裣慩摙溓槤璉蔹嬚薟斂櫣歛臉鄻襝羷蘞蘝醶\",\n\"liàn\":\"练炼恋殓僆堜媡湅萰链摙楝煉瑓潋稴練澰錬殮鍊鏈瀲鰊戀纞\",\n\"liāng\":\"\",\n\"liáng\":\"良俍莨梁涼椋辌粱粮墚踉樑輬駺糧\",\n\"liǎng\":\"両两兩俩倆唡啢掚脼裲緉蜽魉魎\",\n\"liàng\":\"亮倞哴悢谅涼辆喨晾湸靓輌踉諒輛鍄\",\n\"liāo\":\"蹽\",\n\"liáo\":\"辽疗窌聊尞僚寥嵺憀摎漻膋嘹嫽寮嶚嶛憭敹樛獠缭遼暸橑璙膫療竂鹩屪廫簝繚藔蟟蟧豂賿蹘爎爒飂髎飉鷯\",\n\"liǎo\":\"钌釕鄝缪蓼憭繆曢爎镽爒\",\n\"liào\":\"尥尦钌炓料釕廖撂窷镣鐐\",\n\"lie\":\"\",\n\"liē\":\"\",\n\"lié\":\"\",\n\"liě\":\"忚毟挘\",\n\"liè\":\"列劣劦冽劽姴挒洌茢迾哷埓埒栵浖烈烮捩猎猟脟棙蛚煭聗趔綟巤獦颲燤儠巁鮤鴷擸爄獵爉犣躐鬛鬣鱲\",\n\"līn\":\"拎\",\n\"lín\":\"厸邻阾林临冧啉崊惏晽琳粦碄箖粼綝鄰隣嶙潾獜遴斴暽燐璘辚霖疄瞵磷臨繗翷麐轔壣瀶鏻鳞驎鱗麟\",\n\"lǐn\":\"菻亃僯箖凜凛撛廩廪懍懔澟檁檩癝癛\",\n\"lìn\":\"吝恡悋赁焛亃痳賃蔺獜橉甐膦閵疄藺蹸躏躙躪轥\",\n\"líng\":\"伶刢灵呤囹坽夌姈岺彾泠狑苓昤朎柃玲瓴〇凌皊砱秢竛羐袊铃陵鸰婈崚掕棂淩琌笭紷绫羚翎聆舲菱蛉衑祾詅跉軨稜蓤裬鈴閝零龄綾蔆輘霊駖澪蕶錂霗魿鲮鴒鹷燯霝霛齢酃鯪孁齡櫺醽靈欞爧麢龗\",\n\"lǐng\":\"岺袊领領嶺\",\n\"lìng\":\"另炩蘦\",\n\"liū\":\"熘澑蹓\",\n\"liú\":\"刘畄斿浏流留旈琉畱硫裗媹嵧旒蒥蓅骝摎榴漻瑠飗劉瑬瘤磂镏駠鹠橊璢疁镠癅蟉駵嚠懰瀏藰鎏鎦麍鏐飀鐂騮飅鰡鶹驑\",\n\"liǔ\":\"柳栁桞珋桺绺锍綹熮罶鋶橮嬼懰羀藰\",\n\"liù\":\"窌翏塯廇遛澑磂磟鹨鎦霤餾雡飂鬸鷚\",\n\"lo\":\"咯\",\n\"lóng\":\"龙屸尨咙泷茏昽栊珑胧眬砻竜聋隆湰滝嶐槞漋癃窿篭龍儱蘢鏧霳嚨巃巄瀧曨朧櫳爖瓏襱矓礲礱蠬蠪龓龒籠聾豅躘靇鑨驡鸗\",\n\"lǒng\":\"陇垅垄拢篢篭龍隴儱徿壟壠攏竉龓籠躘\",\n\"lòng\":\"哢梇硦儱徿贚\",\n\"lou\":\"喽嘍瞜\",\n\"lōu\":\"摟\",\n\"lóu\":\"剅娄偻婁喽溇蒌僂楼嘍寠廔慺漊蔞遱樓熡耧蝼瞜耬艛螻謱貗軁髅鞻髏鷜\",\n\"lǒu\":\"嵝塿嶁摟甊篓簍\",\n\"lòu\":\"陋屚漏瘘镂瘻瘺鏤\",\n\"lū\":\"噜撸謢嚕擼\",\n\"lú\":\"卢庐芦垆枦泸炉栌胪轳舮鸬玈舻颅鈩鲈馿魲盧嚧壚廬攎瀘獹璷蘆曥櫨爐瓐臚矑籚纑罏艫蠦轤鑪顱髗鱸鸕黸\",\n\"lǔ\":\"卤虏掳鹵硵鲁虜塷滷蓾樐澛魯擄橹氇磠穞镥瀂櫓氌艣鏀艪鐪鑥\",\n\"lù\":\"圥甪陆侓坴彔录峍勎赂辂陸娽淕淥渌硉菉逯鹿椂琭祿禄僇剹勠盝睩稑賂路輅塶廘摝漉箓粶緑蓼蔍戮樚熝膔趢踛辘醁潞穋蕗錄錴録璐簏螰鴼簶蹗轆騄鹭簬簵鏕鯥鵦鵱麓鏴騼籙觻虂鷺\",\n\"luán\":\"娈孪峦挛栾鸾脔滦銮鵉圝奱孌孿巒攣曫欒灓羉臡臠圞灤虊鑾癴癵鸞\",\n\"luǎn\":\"卵覶\",\n\"luàn\":\"乱釠乿亂薍灓\",\n\"lūn\":\"掄\",\n\"lún\":\"仑伦囵沦纶芲侖轮倫陯圇婨崘崙掄淪菕棆腀碖綸耣蜦論踚輪磮錀鯩\",\n\"lǔn\":\"埨惀碖稐耣\",\n\"lùn\":\"惀溣碖論\",\n\"luo\":\"囉囖\",\n\"luō\":\"捋頱囉囖\",\n\"luó\":\"寽罗猡脶萝逻椤腡锣箩骡镙螺攎羅覶鏍儸覼騾囉攞玀蘿邏欏驘鸁籮鑼饠囖\",\n\"luǒ\":\"剆倮砢捰蓏裸躶瘰蠃臝曪攭癳\",\n\"luò\":\"泺咯峈洛荦骆洜珞捰渃硌硦笿絡蛒跞詻摞漯犖雒駱磱鮥鵅擽濼攊皪躒纙\",\n\"lǘ\":\"驴闾榈閭氀膢瞜櫚藘驢\",\n\"lǚ\":\"吕呂侣郘侶挔捛捋旅梠焒祣偻稆铝屡絽缕僂屢慺膂褛鋁履膐褸儢縷穭鷜\",\n\"lǜ\":\"垏律哷虑嵂氯葎滤綠緑慮箻膟勴繂濾櫖爈卛鑢\",\n\"lüè\":\"寽掠畧略锊稤圙鋢鋝\",\n\"ma\":\"嗎嘛麽\",\n\"mā\":\"亇妈孖庅媽嫲榪螞\",\n\"má\":\"菻麻嗎痲痳嘛嫲蔴犘蟇\",\n\"mǎ\":\"马犸杩玛码馬嗎溤獁遤瑪碼螞鎷鰢鷌\",\n\"mà\":\"杩祃閁骂傌睰嘜榪禡罵螞駡鬕\",\n\"mái\":\"薶霾\",\n\"mǎi\":\"买荬買嘪蕒鷶\",\n\"mài\":\"劢迈佅売麦卖唛脈麥衇勱賣邁霡霢\",\n\"mān\":\"颟顢\",\n\"mán\":\"姏悗蛮絻谩慲摱馒樠瞞鞔謾饅鳗鬘鬗鰻矕蠻\",\n\"mǎn\":\"娨屘満满滿螨襔蟎鏋矕\",\n\"màn\":\"曼僈鄤墁嫚幔慢摱漫獌缦蔄槾澫熳澷镘縵鏝蘰\",\n\"māng\":\"牤\",\n\"máng\":\"邙吂忙汒芒尨杗杧盲盳厖恾笀茫哤娏庬浝狵朚牻硭釯铓痝蛖鋩駹蘉\",\n\"mǎng\":\"莽莾硥茻壾漭蟒蠎\",\n\"màng\":\"\",\n\"māo\":\"貓\",\n\"máo\":\"毛矛芼枆牦茅茆旄罞渵軞酕堥嵍楙锚緢鉾髦氂犛蝥貓髳錨蟊鶜\",\n\"mǎo\":\"冇卯夘乮峁戼泖昴铆笷蓩鉚\",\n\"mào\":\"冃皃芼冐茂柕眊秏贸旄耄袤覒媢帽萺貿鄚愗暓毷瑁瞀貌鄮蝐懋\",\n\"me\":\"庅麽麼嚜\",\n\"mē\":\"嚒\",\n\"mè\":\"濹嚰\",\n\"méi\":\"坆沒枚玫苺栂眉脄莓梅珻脢郿堳媒嵋湄湈猸睂葿楣楳煤瑂禖腜塺槑酶镅鹛鋂霉穈徾鎇攗鶥黴\",\n\"měi\":\"毎每凂美挴浼羙媄嵄渼媺镁嬍燘躾鎂黣\",\n\"mèi\":\"妹抺沬旀昧祙袂眛媚寐殙痗跊鬽煝睸韎魅篃蝞嚜櫗\",\n\"mēn\":\"悶椚\",\n\"mén\":\"门们扪汶怋玧钔門們閅捫菛璊瞞穈鍆亹斖虋\",\n\"mèn\":\"悗惛焖悶暪燜鞔懑懣\",\n\"mēng\":\"掹擝矇\",\n\"méng\":\"尨甿虻庬莔萌溕盟雺甍鄳儚橗瞢蕄蝱鄸鋂髳幪懜懞濛獴曚朦檬氋礞鯍鹲艨矒靀霿饛顭鸏\",\n\"měng\":\"黾冡勐猛黽锰艋蜢瞢懜懞蟒錳懵蠓鯭矒鼆\",\n\"mèng\":\"孟梦夢夣懜霥癦\",\n\"mī\":\"咪瞇\",\n\"mí\":\"冞祢迷袮猕谜蒾詸摵瞇謎醚彌擟瞴縻藌麊麋麿檷禰靡瀰獼蘪麛镾戂攠瓕蘼爢醾醿鸍釄\",\n\"mǐ\":\"米芈侎沵羋弭洣敉粎脒渳葞蔝銤彌濔孊攠灖\",\n\"mì\":\"冖糸汨沕宓怽枈觅峚祕宻密淧覔覓幂谧塓幎覛嘧榓滵漞熐蔤蜜鼏冪樒幦濗謐櫁簚羃\",\n\"mián\":\"宀芇杣眠婂绵媔棉綿緜臱蝒嬵檰櫋矈矊矏\",\n\"miǎn\":\"丏汅免沔黾勉眄娩莬偭冕勔渑喕媔愐湎睌缅葂黽絻腼澠緬靦鮸\",\n\"miàn\":\"靣面牑糆麫麪麺麵\",\n\"miāo\":\"喵\",\n\"miáo\":\"苗媌描瞄鹋嫹緢鶓\",\n\"miǎo\":\"厸仯劰杪眇秒淼渺缈篎緲藐邈\",\n\"miào\":\"妙庙玅竗庿缪廟繆\",\n\"miē\":\"乜吀咩哶孭\",\n\"mié\":\"\",\n\"miè\":\"灭烕眜覕搣滅蔑薎鴓幭懱瀎篾櫗簚礣蠛衊鑖鱴\",\n\"mín\":\"民忟垊姄岷忞怋旻旼玟苠珉盿砇罠崏捪渂琘琝缗暋瑉痻碈鈱緍緡賯錉鴖鍲\",\n\"mǐn\":\"皿冺刡忟闵呡忞抿泯黾勄敃闽悯敏笢笽惽湏湣閔黽愍敯暋僶閩慜憫潣簢鳘蠠鰵\",\n\"míng\":\"名明鸣洺眀茗冥朙眳铭鄍嫇溟猽蓂詺暝榠銘鳴瞑螟覭\",\n\"mǐng\":\"佲姳凕嫇慏酩\",\n\"mìng\":\"命掵\",\n\"miǔ\":\"\",\n\"miù\":\"谬缪繆謬\",\n\"mō\":\"摸嚤\",\n\"mó\":\"庅尛谟嫫馍摹膜骳麽麼魹橅糢嬤嬷謨謩擵饃蘑髍魔劘戂攠饝\",\n\"mǒ\":\"懡\",\n\"mò\":\"末圽沒妺帓殁歿歾沫茉陌帞昩枺狢皌眜眿砞秣莈眽絈袹絔蛨貃嗼塻寞漠獏蓦貈貊貉銆靺墨嫼瘼瞐瞙镆魩黙縸默瀎貘嚜藦蟔鏌爅驀礳纆耱\",\n\"mōu\":\"哞\",\n\"móu\":\"牟侔劺呣恈敄桙眸谋堥蛑缪踎謀繆鍪鴾麰鞪\",\n\"mǒu\":\"厶某\",\n\"mòu\":\"\",\n\"mú\":\"毪氁\",\n\"mǔ\":\"母亩牡坶姆拇畂峔牳畆畒胟娒畝畞砪畮鉧踇\",\n\"mù\":\"木仫目凩朷牟沐狇坶炑牧苜毣莯蚞钼募雮墓幙幕慔楘睦鉬慕暯暮缪樢艒霂穆縸繆鞪\",\n\"n\":\"\",\n\"ń\":\"唔嗯\",\n\"ň\":\"嗯\",\n\"na\":\"\",\n\"nā\":\"\",\n\"ná\":\"秅拏拿挐嗱蒘搻誽镎鎿\",\n\"nǎ\":\"乸雫\",\n\"nà\":\"吶妠抐纳肭郍衲钠納袦捺笚笝豽軜貀鈉蒳靹魶\",\n\"nái\":\"腉搱摨孻\",\n\"nǎi\":\"乃奶艿氖疓妳廼迺倷釢嬭\",\n\"nài\":\"佴奈柰耏耐萘渿鼐褦螚錼\",\n\"nān\":\"囝囡\",\n\"nán\":\"男抩枏侽柟娚畘莮喃遖暔楠諵難\",\n\"nǎn\":\"赧揇湳萳煵腩嫨蝻戁\",\n\"nàn\":\"妠婻諵難\",\n\"nāng\":\"儾囔\",\n\"náng\":\"乪涳搑憹嚢蠰饟馕欜饢\",\n\"nǎng\":\"搑擃瀼曩攮灢馕\",\n\"nàng\":\"儾齉\",\n\"nāo\":\"孬\",\n\"náo\":\"呶怓挠峱桡硇铙猱蛲詉碙摎撓嶩憹橈獶蟯夒譊鐃巎獿\",\n\"nǎo\":\"垴恼悩脑匘脳堖惱嫐瑙腦碯憹獶\",\n\"nào\":\"闹婥淖閙鬧臑\",\n\"ne\":\"\",\n\"né\":\"\",\n\"nè\":\"疒讷吶抐眲訥\",\n\"néi\":\"\",\n\"něi\":\"娞浽馁脮腇餒鮾鯘\",\n\"nèi\":\"內氝氞錗\",\n\"nèn\":\"恁媆嫩嫰\",\n\"néng\":\"\",\n\"něng\":\"螚\",\n\"nèng\":\"\",\n\"ńg\":\"唔嗯\",\n\"ňg\":\"嗯\",\n\"nī\":\"妮\",\n\"ní\":\"尼坭怩抳籾倪屔秜郳铌埿婗淣猊蚭棿蛪跜鈮聣蜺馜觬貎輗霓鲵鯢麑齯臡\",\n\"nǐ\":\"伱伲你拟妳抳狔苨柅婗掜旎晲棿孴儞儗隬懝擬濔薿檷聻\",\n\"nì\":\"屰氼伲抐昵胒逆匿眤秜堄惄嫟愵睨腻暱縌誽膩嬺\",\n\"niān\":\"拈蔫\",\n\"nián\":\"年秊哖姩秥粘溓鲇鮎鲶鵇黏鯰\",\n\"niǎn\":\"涊淰焾辇榐辗撚撵碾輦簐蹍攆蹨躎\",\n\"niàn\":\"卄廿念姩唸埝悥惗艌\",\n\"niáng\":\"娘嬢孃釀\",\n\"niǎng\":\"\",\n\"niàng\":\"酿醸釀\",\n\"niǎo\":\"鸟茑袅鳥嫋裊蔦樢嬝褭嬲\",\n\"niào\":\"脲\",\n\"niē\":\"捏揑\",\n\"nié\":\"苶\",\n\"niě\":\"\",\n\"niè\":\"乜帇圼峊枿陧涅痆聂臬啮掜菍隉敜湼嗫嵲踂噛摰槷踗踙銸镊镍嶭篞臲鋷錜颞蹑嚙聶鎳闑孼孽櫱籋蘖囁攝齧巕糱糵蠥鑈囐囓讘躡鑷顳钀\",\n\"nín\":\"囜恁脌您\",\n\"nǐn\":\"拰\",\n\"níng\":\"咛狞苧柠聍寍寕甯寗寜寧儜凝橣嚀嬣擰獰薴檸聹鑏鬡鸋\",\n\"nǐng\":\"擰矃\",\n\"nìng\":\"佞侫泞倿寍寕甯寗寜寧澝擰濘\",\n\"niū\":\"妞孧\",\n\"niú\":\"牜牛汼怓\",\n\"niǔ\":\"忸扭沑狃纽杻炄钮紐莥鈕靵\",\n\"niù\":\"抝\",\n\"nóng\":\"农侬哝浓脓秾農儂辳噥濃蕽檂燶禯膿癑穠襛譨醲欁鬞\",\n\"nǒng\":\"繷\",\n\"nòng\":\"挊挵癑齈\",\n\"nóu\":\"羺\",\n\"nǒu\":\"\",\n\"nòu\":\"搙槈耨獳檽鎒鐞\",\n\"nú\":\"奴伮孥帑驽笯駑\",\n\"nǔ\":\"伮努弩砮胬\",\n\"nù\":\"怒傉搙\",\n\"nuán\":\"奻渜\",\n\"nuǎn\":\"渜湪暖煖煗餪\",\n\"nuàn\":\"\",\n\"nuó\":\"挪梛傩橠難儺\",\n\"nuǒ\":\"袳袲\",\n\"nuò\":\"耎诺喏掿毭逽愞搙搦锘搻榒稬諾蹃糑鍩懧懦糥穤糯\",\n\"nǘ\":\"\",\n\"nǚ\":\"钕籹釹\",\n\"nǜ\":\"沑衂恧朒衄聏\",\n\"nüè\":\"虐婩硸瘧\",\n\"o\":\"筽\",\n\"ō\":\"喔噢\",\n\"ó\":\"哦\",\n\"ǒ\":\"嚄\",\n\"ò\":\"哦\",\n\"ou\":\"\",\n\"ōu\":\"讴吽沤欧殴瓯鸥區嘔塸漚歐毆熰甌膒鴎櫙藲謳鏂鷗\",\n\"óu\":\"\",\n\"ǒu\":\"吘禺偶腢嘔熰耦蕅藕\",\n\"òu\":\"怄沤嘔慪漚\",\n\"pā\":\"汃妑苩皅趴舥啪葩\",\n\"pá\":\"杷爬钯掱琶筢潖\",\n\"pǎ\":\"\",\n\"pà\":\"汃帊帕怕袙\",\n\"pāi\":\"拍\",\n\"pái\":\"俳徘猅棑牌箄輫簲簰犤\",\n\"pǎi\":\"廹\",\n\"pài\":\"沠哌派渒湃蒎鎃\",\n\"pān\":\"眅畨萠潘攀籓\",\n\"pán\":\"丬爿肨柈洀胖眫湴盘跘媻幋蒰搫槃盤磐縏膰磻蹒瀊蟠蹣鎜鞶\",\n\"pǎn\":\"坢盻\",\n\"pàn\":\"冸判沜拚泮炍肨叛牉盼胖畔聁袢詊溿頖鋬闆鵥襻鑻\",\n\"pāng\":\"乓汸沗胮雱滂膖霶\",\n\"páng\":\"厐夆尨彷庞逄庬趽舽嫎徬膀篣螃鳑龎龐鰟\",\n\"pǎng\":\"嗙耪覫\",\n\"pàng\":\"炐肨胖眫\",\n\"pāo\":\"抛拋脬萢藨穮\",\n\"páo\":\"咆垉庖狍炰爮瓟袍铇匏烰袌跁軳鉋鞄褜麃麅\",\n\"pǎo\":\"\",\n\"pào\":\"奅疱皰砲袌靤麭嚗礟礮\",\n\"pēi\":\"妚呸怌抷肧柸胚衃醅\",\n\"péi\":\"阫陪培婄毰赔锫裵裴賠錇\",\n\"pěi\":\"俖琣\",\n\"pèi\":\"伂妃沛犻佩帔姵斾柭旆浿珮配淠棑媐蓜辔馷嶏霈攈轡\",\n\"pēn\":\"噴濆歕\",\n\"pén\":\"瓫盆湓葐\",\n\"pěn\":\"呠翸\",\n\"pèn\":\"喯噴\",\n\"pēng\":\"亨匉怦抨泙恲胓砰梈烹硑絣軯剻閛漰嘭駍磞\",\n\"péng\":\"芃朋挷竼倗捀莑堋弸淜袶棚椖傰塜塳搒漨痭硼稝蓬鹏樥熢憉澎輣篣篷膨錋韸髼蟚蟛鬅纄蘕韼鵬騯鬔鑝\",\n\"pěng\":\"捧淎皏摓\",\n\"pèng\":\"掽椪碰閛槰踫磞\",\n\"pi\":\"榌\",\n\"pī\":\"丕伓伾妚批纰邳坯岯怶披抷枈炋狉狓砒悂秛秠紕铍陴旇翍耚豾釽鈚鉟銔磇駓髬噼錃錍魾憵礕礔鎞霹\",\n\"pí\":\"皮仳阰纰芘陂枇肶毘毗疲笓紕蚍郫铍啤埤崥猈蚾蚽豼焷琵禆脾腗裨鈹鲏罴膍蜱罷隦魮壀螕鮍篺螷貔鞞鵧羆朇鼙蠯\",\n\"pǐ\":\"匹庀疋仳圮吡苉悂脴痞銢嶏諀鴄擗噽癖嚭\",\n\"pì\":\"屁埤淠揊嫓媲睥潎稫僻澼嚊濞甓疈譬闢鷿鸊\",\n\"piān\":\"囨偏媥楄犏篇翩鍂鶣\",\n\"pián\":\"骈胼缏腁楩賆跰瑸緶骿蹁駢璸騈\",\n\"piǎn\":\"覑谝貵諞\",\n\"piàn\":\"猵骗魸獱騗騙\",\n\"piāo\":\"剽勡嘌嫖彯慓缥飘旚縹翲螵犥飃飄魒\",\n\"piáo\":\"嫖瓢薸闝\",\n\"piǎo\":\"莩殍缥瞟篻縹醥皫顠\",\n\"piào\":\"僄彯徱骠驃鰾\",\n\"piē\":\"氕覕潎撆暼瞥\",\n\"piě\":\"丿苤鐅\",\n\"piè\":\"嫳\",\n\"pīn\":\"拚姘拼砏礗穦馪驞\",\n\"pín\":\"玭贫娦貧琕嫔嬪薲嚬矉蘋蠙颦顰\",\n\"pǐn\":\"品榀\",\n\"pìn\":\"牝汖聘\",\n\"pīng\":\"乒甹俜娉涄砯聠艵頩\",\n\"píng\":\"平评凭呯坪岼泙郱帡庰枰洴玶胓荓瓶帲淜硑萍蚲塀幈焩甁缾蓱蛢評馮軿鲆凴竮鉼慿箳輧憑鮃檘簈蘋\",\n\"pǐng\":\"屛\",\n\"pìng\":\"\",\n\"pō\":\"钋陂坡岥泺泼釙翍颇溌酦頗潑醗濼醱鏺\",\n\"pó\":\"婆嘙搫蔢鄱皤櫇嚩\",\n\"pǒ\":\"叵尀钷笸鉕箥駊髲\",\n\"pò\":\"廹岶敀昢洦珀哱烞砶破粕奤湐猼蒪魄\",\n\"pōu\":\"抙剖娝捊\",\n\"póu\":\"抔抙垺捊掊裒箁\",\n\"pǒu\":\"咅哣婄掊棓犃\",\n\"pū\":\"攵攴扑抪炇柨陠痡秿噗撲潽鋪鯆\",\n\"pú\":\"圤匍捗莆菩菐葡蒲蒱僕箁酺墣獛璞濮瞨穙镤贌纀鏷\",\n\"pǔ\":\"圃埔浦烳普圑溥暜谱諩擈樸氆檏镨譜蹼鐠\",\n\"pù\":\"痡舗舖鋪曝\",\n\"qi\":\"啐\",\n\"qī\":\"七迉沏恓柒倛凄桤郪娸悽戚捿桼淒萋喰攲敧棲欹欺紪缉傶褄僛嘁墄慽榿漆緀慼緝諆踦螇霋蹊魌鏚鶈\",\n\"qí\":\"丌亓伎祁圻岓岐忯芪亝斉歧畁祇祈肵俟疧荠剘斊旂竒耆脐蚔蚑蚚陭颀埼崎帺掑淇猉畦萁萕跂軝釮骐骑嵜棊棋琦琪祺蛴隑愭碁碕稘褀锜頎鬿旗粸綥綨綦蜝蜞齊璂禥蕲觭螧錡鲯懠濝薺藄鄿檱櫀簯簱臍騎騏鳍蘄鯕鵸鶀麒籏艩蠐鬐騹鰭玂麡\",\n\"qǐ\":\"乞邔企屺芑启呇杞玘盀唘豈起啔啓啟婍梩绮袳跂晵棨綮綺諬闙\",\n\"qì\":\"气讫忔扱気汔迄呚弃汽矵芞亟呮泣炁盵咠洓竐栔欫氣訖唭焏夡愒棄湆湇葺滊碛摖暣甈碶噐憇槭趞器憩磜磧磩藒礘罊蟿鐑\",\n\"qiā\":\"抲掐袷揢葜擖\",\n\"qiá\":\"\",\n\"qiǎ\":\"拤峠跒酠鞐\",\n\"qià\":\"圶冾匼咭帢恰洽胢殎硈愘磍髂\",\n\"qiān\":\"千仟阡圱圲奷扦汘芊迁佥岍杄汧茾欦竏臤钎拪牵粁悭挳蚈谸婜孯牽釺掔谦鈆僉愆签鉛骞鹐慳搴摼撁厱磏諐遷鳽褰謙顅檶攐攑櫏簽鏲鵮孅攓騫籖鬜鬝籤韆\",\n\"qián\":\"仱岒忴扲拑玪乹前炶荨钤歬虔蚙钱钳偂掮揵軡亁媊朁犍葥鈐煔鉗墘榩箝銭撍潛潜羬蕁橬錢黔鎆黚騝濳騚灊鰬\",\n\"qiǎn\":\"凵肷唊淺嵰遣槏膁蜸谴缱繾譴鑓\",\n\"qiàn\":\"欠刋伣芡俔茜倩悓堑掅傔棈椠欿嗛慊皘蒨塹歉綪蔳儙槧篏輤篟壍嬱縴\",\n\"qiāng\":\"羌戕戗斨枪玱矼羗猐啌跄嗴椌溬獇腔嗆搶蜣锖嶈戧摤槍牄瑲羫锵篬謒蹌蹡鎗鏘鏹鶬\",\n\"qiáng\":\"強墙嫱蔷樯漒蔃墻嬙廧彊薔檣牆艢蘠\",\n\"qiǎng\":\"強羟搶羥墏彊繈襁镪繦鏹\",\n\"qiàng\":\"戗炝唴跄嗆戧摪熗羻\",\n\"qiāo\":\"帩硗郻喿嵪煍跷鄥鄡劁勪幓敲毃踍锹墝碻磝頝骹墽幧橇燆缲橾磽鍬鍫礉繑繰趬蹺蹻鏒鐰\",\n\"qiáo\":\"乔侨峤荍荞桥硚菬喬睄僑摮槗谯嘺墧嫶嶠憔潐蕎鞒樵橋燋犞癄瞧礄翹櫵藮譙趫鐈鞽顦\",\n\"qiǎo\":\"丂巧釥愀髜\",\n\"qiào\":\"诮陗峭窍偢殻殼誚髚僺嘺撬箾噭撽鞘韒礉竅翹鞩躈\",\n\"qiē\":\"苆\",\n\"qié\":\"癿伽茄聺\",\n\"qiě\":\"\",\n\"qiè\":\"厒妾怯疌郄匧窃悏挈栔洯帹惬淁笡愜椄猰蛪趄跙嗛慊朅稧箧锲篋踥穕鍥鯜竊籡\",\n\"qīn\":\"兓侵钦衾骎菳媇嵚欽嵰綅誛嶔親顉駸鮼寴\",\n\"qín\":\"庈忴扲芩芹肣矜埐珡矝秦耹菦蚙捦菳琴琹禽覃鈙鈫雂勤嗪嫀溱靲廑慬噙嶜擒斳鳹懄檎澿瘽螓懃蠄鵭\",\n\"qǐn\":\"坅昑笉梫赾寑锓寝寖寢鋟螼\",\n\"qìn\":\"吢吣抋沁唚菣揿搇撳寴瀙藽\",\n\"qīng\":\"靑青氢轻倾卿郬圊埥寈氫淸清軽傾綪蜻輕錆鲭鯖鑋\",\n\"qíng\":\"夝甠剠勍啨情殑硘晴棾氰葝暒擏樈擎檠黥\",\n\"qǐng\":\"苘顷请庼頃廎漀請檾謦\",\n\"qìng\":\"庆凊掅殸渹碃箐綮靘慶磬親儬濪罄櫦\",\n\"qiōng\":\"\",\n\"qióng\":\"卭邛宆穷穹茕桏惸琁筇笻赹焪焭琼舼蛬蛩煢熍睘跫銎瞏窮儝嬛憌橩璚藑瓊竆藭瓗\",\n\"qiòng\":\"\",\n\"qiū\":\"丘丠邱坵恘秌秋恷蚯媝湫萩楸湬塸蓲鹙篍緧蝵穐趥龜橚鳅蟗鞦鞧蘒鰌鰍鶖蠤龝\",\n\"qiú\":\"厹叴囚扏犰玌艽芁朹汓肍求虬泅牫虯俅觓訅訄酋唒浗紌莍逎逑釚梂殏毬球赇釻頄崷巯渞湭皳盚遒煪絿蛷裘巰觩賕璆蝤銶醔鮂鼽鯄鰽\",\n\"qiǔ\":\"搝糗\",\n\"qiù\":\"\",\n\"qū\":\"伹佉匤岖诎阹驱呿坥屈岴抾浀祛胠袪區焌紶蛆躯煀筁粬蛐詘趍嶇憈駆敺觑誳駈麹髷魼趨麯覰覷軀鶌麴黢覻驅鰸鱋\",\n\"qú\":\"佢劬斪朐胊菃衐鸲淭絇翑蚼葋軥蕖璖磲螶鴝璩翵蟝瞿鼩蘧忂灈戵欋氍爠籧臞癯欔蠷衢躣蠼鑺鸜\",\n\"qǔ\":\"苣取竘娶紶詓竬蝺龋齲\",\n\"qù\":\"去厺刞欪耝阒觑閴麮闃鼁覰覷覻\",\n\"quān\":\"奍弮悛圏棬椦箞鐉\",\n\"quán\":\"全权佺狋诠姾峑恮泉洤荃拳牷辁啳埢婘惓捲痊硂铨椦湶犈筌絟葲搼楾瑔觠詮跧輇蜷銓槫権踡縓醛駩闎鳈鬈騡孉巏鰁權齤矔蠸颧顴灥\",\n\"quǎn\":\"犭犬犮畎烇绻綣虇\",\n\"quàn\":\"劝牶勧韏勸灥\",\n\"quē\":\"炔缺缼蚗蒛阙闕\",\n\"qué\":\"瘸\",\n\"què\":\"汋却卻埆崅悫琷傕敠敪棤硞确阕塙搉皵碏阙鹊愨榷墧慤碻確趞燩闋礐闕鵲礭\",\n\"qūn\":\"夋囷逡箘歏\",\n\"qún\":\"宭峮帬裙羣群裠麇\",\n\"qǔn\":\"\",\n\"rán\":\"呥肰衻袇蚦袡蚺然髥嘫髯燃繎\",\n\"rǎn\":\"冄冉姌苒染珃媣蒅熯橪\",\n\"ràn\":\"\",\n\"rāng\":\"\",\n\"ráng\":\"穣儴勷瀼獽蘘禳瓤穰躟鬤\",\n\"rǎng\":\"壌壤攘爙纕\",\n\"ràng\":\"让懹譲讓\",\n\"ráo\":\"娆荛饶桡嬈蕘橈襓饒\",\n\"rǎo\":\"扰娆隢嬈擾\",\n\"rào\":\"绕遶穘繞\",\n\"ré\":\"捼\",\n\"rě\":\"喏惹\",\n\"rè\":\"热渃熱\",\n\"rén\":\"亻人仁壬忈朲忎秂芢魜銋鵀\",\n\"rěn\":\"忍荏栠栣荵秹菍棯稔綛躵銋\",\n\"rèn\":\"刃刄认仞仭讱屻岃扨纫妊杒牣纴肕轫韧饪祍姙紉衽紝訒軔梕袵釰釼絍腍鈓靱靭韌飪認餁\",\n\"rēng\":\"扔\",\n\"réng\":\"仍辸礽芿陾\",\n\"rì\":\"日驲囸氜衵釰釼鈤馹\",\n\"róng\":\"戎肜栄狨绒茙茸荣容峵毧烿傛媶嵘搑絨羢嫆嵤搈榵溶蓉榕榮熔瑢穁槦縙蝾褣镕螎融駥嬫嶸爃鎔瀜曧蠑\",\n\"rǒng\":\"冗宂坈傇軵縙氄\",\n\"ròng\":\"穃縙\",\n\"róu\":\"厹禸柔粈脜媃揉渘葇楺煣瑈腬糅蝚蹂輮鍒鞣瓇騥鰇鶔\",\n\"rǒu\":\"韖\",\n\"ròu\":\"肉宍楺譳\",\n\"rū\":\"嶿\",\n\"rú\":\"邚如吺侞帤茹挐桇袽铷渪筎蒘銣蕠蝡儒鴑嚅嬬孺濡獳薷鴽曘檽襦繻蠕颥醹顬鱬\",\n\"rǔ\":\"汝肗乳辱鄏擩\",\n\"rù\":\"入扖杁洳嗕媷溽缛蓐鳰褥縟\",\n\"ruán\":\"堧撋壖\",\n\"ruǎn\":\"阮朊软耎偄軟媆瑌腝碝緛輭檽瓀礝\",\n\"ruàn\":\"緛\",\n\"ruí\":\"苼桵甤緌蕤\",\n\"ruǐ\":\"惢蕋蕊橤繠壡蘃蘂\",\n\"ruì\":\"兊兌抐汭芮枘笍蚋锐瑞蜹睿銳鋭叡鏸\",\n\"rún\":\"瞤\",\n\"rǔn\":\"\",\n\"rùn\":\"闰润閏閠潤橍膶\",\n\"ruó\":\"挼捼\",\n\"ruò\":\"叒偌弱鄀婼渃焫楉嵶蒻箬篛爇鰙鰯鶸\",\n\"sa\":\"\",\n\"sā\":\"仨\",\n\"sǎ\":\"訯靸潵鞈攃灑躠纚\",\n\"sà\":\"卅泧钑飒脎萨鈒摋隡馺蕯颯薩櫒鏾\",\n\"sāi\":\"毢愢揌毸腮嘥噻鳃顋鰓\",\n\"sǎi\":\"嗮\",\n\"sài\":\"赛僿賽簺\",\n\"san\":\"壭\",\n\"sān\":\"三弎叁參叄叅毶毵厁毿犙鬖\",\n\"sǎn\":\"仐伞傘糁馓糝糤糣繖鏒鏾饊\",\n\"sàn\":\"俕帴閐潵\",\n\"sāng\":\"桒桑喪槡\",\n\"sǎng\":\"嗓搡磉褬颡鎟顙\",\n\"sàng\":\"喪\",\n\"sāo\":\"掻慅搔溞缫懆缲螦繅鳋颾騒繰騷鰠鱢\",\n\"sǎo\":\"埽掃嫂\",\n\"sào\":\"埽掃瘙懆氉矂髞\",\n\"sē\":\"閪\",\n\"sè\":\"色拺洓栜涩啬渋粣铯雭歮琗嗇瑟摵歰銫槭澁廧懎擌濇濏瘷穑薔澀璱瀒穡鎍繬穯轖鏼闟譅飋\",\n\"sēn\":\"森椮槮襂\",\n\"sěn\":\"\",\n\"sēng\":\"僧鬙\",\n\"sèng\":\"\",\n\"sī\":\"厶纟丝司糹糸私咝泀俬恖虒鸶偲傂媤愢斯絲缌蛳楒禗鉰飔凘厮禠罳蜤銯锶嘶噝廝撕澌磃緦蕬鋖燍螄鍶蟖蟴颸騦鯣鐁鷥鼶\",\n\"sí\":\"\",\n\"sǐ\":\"死愢\",\n\"sì\":\"巳亖四寺汜佀兕姒泤祀価孠杫泗饲驷俟娰枱柶洠牭洍涘肂飤梩笥耛耜釲竢覗嗣肆貄鈶鈻飴飼榹銉禩駟蕼儩騃瀃\",\n\"sōng\":\"忪枀松枩娀柗倯凇崧庺梥淞菘愡揔棇嵩硹憽濍檧鬆\",\n\"sóng\":\"\",\n\"sǒng\":\"怂悚捒耸竦傱愯楤嵷摗漎慫聳駷\",\n\"sòng\":\"吅讼宋诵送颂訟頌誦鎹餸\",\n\"sōu\":\"凁捒捜鄋嗖廀廋搜溲獀蒐蓃馊摉飕摗锼撨艘螋醙鎪餿颼颾鏉騪\",\n\"sǒu\":\"叜叟傁棷蓃嗾瞍擞薮擻藪櫢籔\",\n\"sòu\":\"欶嗽擞瘶擻\",\n\"sū\":\"甦酥稡稣窣穌鯂蘇蘓櫯囌\",\n\"sú\":\"圱俗\",\n\"sǔ\":\"\",\n\"sù\":\"玊夙诉泝肃洬涑珟素莤速埣梀殐粛骕傃棴粟訴谡嗉塑塐嫊愫溯溸肅遡鹔僳愬摵榡膆蔌觫趚遬憟樕樎潥碿鋉餗潚縤橚璛簌縮藗謖蹜驌鱐鷫\",\n\"suān\":\"狻痠酸\",\n\"suǎn\":\"匴篹\",\n\"suàn\":\"祘笇筭蒜算\",\n\"suī\":\"夊芕虽倠哸娞浽荾荽眭毸滖睢缞嗺熣濉縗鞖雖\",\n\"suí\":\"绥隋随遀綏隨瓍髄\",\n\"suǐ\":\"膸瀡髓\",\n\"suì\":\"亗岁砕祟谇埣嵗遂歲歳煫睟碎隧嬘澻穂誶賥檖燧璲禭穗穟繀襚邃旞繐繸譢鐆鏸鐩韢\",\n\"sūn\":\"狲荪孫喰飧飱搎猻蓀槂蕵薞\",\n\"sǔn\":\"扻损笋隼筍損榫箰簨鎨鶽\",\n\"sùn\":\"摌\",\n\"suō\":\"唆娑挱莏莎傞挲桫梭睃嗍嗦羧蓑摍趖簑簔縮鮻\",\n\"suó\":\"\",\n\"suǒ\":\"所乺唢索琑琐嫅惢锁嗩暛溑獕瑣褨璅縒鎍鎖鎻鏁\",\n\"suò\":\"逤溹蜶\",\n\"shā\":\"杀杉纱乷剎砂唦挱殺猀粆紗莎挲桬毮铩痧硰摋蔱裟榝樧魦鲨閷髿鎩鯊鯋繺\",\n\"shá\":\"啥\",\n\"shǎ\":\"傻儍\",\n\"shà\":\"倽唼啑帹菨萐喢嗄廈歃翜歰箑翣濈閯霎\",\n\"shāi\":\"筛篩諰簁簛籭\",\n\"shǎi\":\"摋\",\n\"shài\":\"晒攦曬\",\n\"shān\":\"山彡邖圸删刪杉芟姍姗衫钐埏挻柵炶狦珊舢痁脠軕笘釤閊傓跚剼搧煔嘇幓煽潸澘穇檆縿膻鯅羴羶\",\n\"shán\":\"\",\n\"shǎn\":\"闪陕炶陝閃閄晱煔睒摻熌覢\",\n\"shàn\":\"讪汕姍姗疝钐剡訕赸掞釤善單椫禅銏骟僐鄯儃墡墠撣潬缮嬗嶦擅敾樿歚禪膳磰謆赡繕蟮蟺譱贍鐥饍騸鳝鳣灗鱓鱔\",\n\"shang\":\"\",\n\"shāng\":\"伤殇商愓湯觞傷禓墒慯滳漡蔏殤熵螪觴謪鬺\",\n\"shǎng\":\"垧扄晌埫赏樉賞鋿鏛贘鑜\",\n\"shàng\":\"丄尙尚恦绱緔鞝\",\n\"shāo\":\"娋弰烧莦焼萷旓筲艄輎蕱燒鞘髾鮹\",\n\"sháo\":\"勺芍杓苕柖玿韶\",\n\"shǎo\":\"\",\n\"shào\":\"佋劭卲邵绍柖哨娋袑紹睄綤潲\",\n\"shē\":\"奓奢猞赊畭畬畲輋賒賖檨\",\n\"shé\":\"舌佘虵阇揲蛥闍磼\",\n\"shě\":\"舍捨\",\n\"shè\":\"厍设社泏舎舍厙挕涉涻渉設赦弽慑摂滠慴蔎歙蠂韘騇懾攝灄麝欇\",\n\"shéi\":\"誰\",\n\"shēn\":\"申屾扟伸身侁冞呻妽籶绅罙诜姺柛氠珅穼籸娠峷甡眒砷莘參叄堔敒深紳兟叅棽葠裑訷嫀搷罧蓡詵幓甧糁蔘糂燊薓駪鲹曑糝糣鯓鵢鯵鰺\",\n\"shén\":\"神榊鉮鰰\",\n\"shěn\":\"邥吲弞抌审矤哂矧宷谂谉婶淰渖訠棯審諗頣魫曋瞫嬸瀋覾讅\",\n\"shèn\":\"肾侺昚胂涁眘渗祳脤谌腎葚愼慎椹瘆蜄蜃滲鋠瘮黮\",\n\"shēng\":\"升生阩呏声斘昇枡泩狌苼殅牲珄竔陞曻陹殸笙湦焺甥鉎聲鍟鼪鵿\",\n\"shéng\":\"渑绳憴澠縄繉繩譝\",\n\"shěng\":\"眚偗渻\",\n\"shèng\":\"圣乗娍胜晠晟剰剩勝椉貹嵊琞聖墭榺蕂橳賸\",\n\"shi\":\"辻籂\",\n\"shī\":\"尸失师厔呞虱诗邿鸤屍施浉狮師絁釶湤湿葹溮溼獅蒒蓍詩鉇嘘瑡酾鳲噓箷蝨鳾褷鲺濕鍦鯴鰤鶳襹釃\",\n\"shí\":\"十饣乭时竍実实旹飠姼峕炻祏蚀埘宲時莳寔湜遈塒嵵溡蒔鉐實榯碩蝕鲥鮖鼫識鼭鰣\",\n\"shǐ\":\"史矢乨豕使始驶兘宩屎狶痑笶榁鉂駛\",\n\"shì\":\"士礻丗世仕市示卋式忕亊忯戺事侍势呩柹视试饰冟咶室峙恀恃拭昰是枾柿狧眂贳适栻烒眎眡耆舐莳轼逝铈啫埶畤秲視釈崼崻弑徥惿揓谥貰释勢嗜弒楴煶睗筮蒔觢試軾鈰鉃飾舓誓適鉽馶奭銴餝餙噬嬕澨澤諡諟遾檡螫謚簭襫醳釋鰘\",\n\"shōu\":\"収收敊\",\n\"shóu\":\"熟\",\n\"shǒu\":\"扌手守垨首艏\",\n\"shòu\":\"寿受狩兽售授涭绶痩膄壽夀瘦綬嘼獣獸鏉\",\n\"shū\":\"书殳疋忬抒纾叔杸枢陎姝倐倏捈書殊紓婌悆掓梳淑焂菽軗鄃琡疎疏舒摅毹毺綀输瑹跾踈樞緰蔬輸橾鮛儵攄瀭鵨\",\n\"shú\":\"朮尗秫孰赎蒣塾熟璹贖\",\n\"shǔ\":\"鼡暏暑稌黍署蜀鼠數潻薥薯曙癙藷襡糬襩屬籔蠴鱪鱰\",\n\"shù\":\"朮戍束沭述侸俞兪咰怸怷树竖荗恕捒庻庶絉蒁術隃尌裋竪腧鉥墅漱潄數澍豎樹濖錰霔鏣鶐虪\",\n\"shuā\":\"唰\",\n\"shuǎ\":\"耍\",\n\"shuà\":\"誜\",\n\"shuāi\":\"缞摔縗\",\n\"shuǎi\":\"甩\",\n\"shuài\":\"帅帥蟀卛\",\n\"shuān\":\"闩拴閂栓絟\",\n\"shuàn\":\"涮腨槫\",\n\"shuāng\":\"双泷霜雙孀瀧骦孇騻欆礵鷞鹴艭驦鸘\",\n\"shuǎng\":\"爽塽慡漺縔鏯\",\n\"shuàng\":\"灀\",\n\"shuí\":\"谁脽誰\",\n\"shuǐ\":\"氵水氺閖\",\n\"shuì\":\"帨挩捝涗涚娷祱稅税裞睡說説\",\n\"shǔn\":\"吮楯\",\n\"shùn\":\"顺眴舜順蕣橓瞚瞤瞬鬊\",\n\"shuō\":\"說説\",\n\"shuò\":\"妁洬烁朔铄欶矟搠蒴銏愬槊獡碩數箾鎙爍鑠\",\n\"ta\":\"侤\",\n\"tā\":\"他它牠祂趿铊塌榙溻鉈褟闧\",\n\"tá\":\"\",\n\"tǎ\":\"塔溚墖獭鮙鳎獺鰨\",\n\"tà\":\"沓挞狧闼粏崉涾傝嗒搨遝遢阘榻毾漯禢撻澾誻踏鞈嚃橽錔濌蹋鞜鎉鎑闒鞳蹹躂嚺闟闥譶躢\",\n\"tāi\":\"囼孡珆胎\",\n\"tái\":\"旲邰坮抬骀枱炱炲菭跆鲐箈臺颱駘儓鮐嬯擡薹檯斄籉\",\n\"tǎi\":\"奤\",\n\"tài\":\"太冭夳忕汏忲汰汱态肽钛泰舦酞鈦溙態燤\",\n\"tān\":\"坍贪怹啴痑舑貪摊滩嘽潬瘫擹攤灘癱\",\n\"tán\":\"坛昙倓谈郯埮婒惔弾覃榃痰锬谭嘾墰墵彈憛潭談醈壇曇橝澹燂錟檀顃罈藫壜繵譚貚醰譠罎\",\n\"tǎn\":\"忐坦袒钽菼毯僋鉭嗿緂儃憳憻暺醓璮襢\",\n\"tàn\":\"叹炭倓埮探傝湠僋嘆碳舕歎\",\n\"tāng\":\"铴湯嘡劏羰蝪薚镗蹚鏜闛鞺鼞\",\n\"táng\":\"坣唐堂傏啺愓棠鄌塘嵣搪溏蓎隚榶漟煻瑭禟膅樘磄糃膛橖篖糖螗踼糛螳赯醣鎕餹鏜闛饄鶶\",\n\"tǎng\":\"伖帑偒傥耥躺镋鎲儻戃灙曭爣矘钂\",\n\"tàng\":\"烫铴摥燙鐋\",\n\"tāo\":\"夲夵弢抭涛绦掏涭絛詜嫍幍慆搯滔槄瑫韬飸縚縧濤謟轁鞱韜饕\",\n\"táo\":\"匋迯咷洮逃桃陶啕梼淘绹萄祹裪綯蜪鞀醄鞉鋾駣檮饀騊鼗\",\n\"tǎo\":\"讨討\",\n\"tào\":\"套\",\n\"tè\":\"忑忒特脦犆铽慝鋱蟘\",\n\"tēng\":\"熥膯鼟\",\n\"téng\":\"疼痋幐腾誊漛滕邆縢螣駦謄儯藤騰籐鰧籘虅驣\",\n\"tèng\":\"霯\",\n\"tī\":\"剔梯锑踢銻擿鷉鷈體\",\n\"tí\":\"苐厗荑桋绨偍珶啼媂媞崹惿渧稊缇罤遆鹈嗁瑅禔綈睼碮褆徲漽磃緹蕛题趧蹄醍謕蹏鍗鳀題鮷鵜騠鯷鶗鶙禵鷤\",\n\"tǐ\":\"挮徥躰骵醍軆體\",\n\"tì\":\"戻奃屉剃朑俶倜悌挮涕眣绨逖啑屜悐惕掦笹逷屟惖揥替棣綈裼褅歒殢髰薙嚏鬀嚔瓋鬄籊趯\",\n\"tiān\":\"天兲呑婖添酟靔黇靝\",\n\"tián\":\"田屇沺恬畑畋盷胋钿甛甜菾湉塡搷阗瑱碵緂磌窴鴫璳闐鷆鷏\",\n\"tiǎn\":\"奵忝殄倎栝唺悿淟紾铦晪琠腆觍痶睓舔銛餂覥賟銽錪\",\n\"tiàn\":\"掭菾琠瑱舚\",\n\"tiāo\":\"旫佻庣恌條祧聎\",\n\"tiáo\":\"芀朷岧岹苕迢祒條笤萔铫蓚蓨蓧龆樤蜩銚調鋚鞗髫鲦鯈鎥齠鰷\",\n\"tiǎo\":\"宨晀朓脁窕誂斢窱嬥\",\n\"tiào\":\"啁眺粜絩覜趒糶\",\n\"tiē\":\"怗贴萜聑貼跕\",\n\"tié\":\"\",\n\"tiě\":\"铁蛈鉄僣銕鐡鐵驖\",\n\"tiè\":\"呫飻餮\",\n\"tīng\":\"厅庁汀听庍耓厛烃桯烴渟綎鞓聴聼廰聽廳\",\n\"tíng\":\"邒廷亭庭莛停婷嵉渟筳葶蜓楟榳閮霆聤蝏諪鼮\",\n\"tǐng\":\"圢甼町侹侱娗挺涏梃烶珽脡铤艇颋誔鋌閮頲\",\n\"tìng\":\"忊梃濎\",\n\"tōng\":\"囲炵通痌絧嗵蓪樋\",\n\"tóng\":\"仝佟彤侗峂庝哃垌峒峝狪茼晍桐浵烔砼蚒偅痌眮秱铜硧童粡絧詷赨酮鉖僮勭鉵銅餇鲖潼獞曈朣橦氃燑犝膧瞳穜鮦\",\n\"tǒng\":\"侗统捅桶筒統筩綂\",\n\"tòng\":\"恸痛衕慟憅\",\n\"tou\":\"\",\n\"tōu\":\"偸偷婾媮緰鋀鍮\",\n\"tóu\":\"亠投骰頭\",\n\"tǒu\":\"妵紏敨飳斢黈蘣\",\n\"tòu\":\"透埱\",\n\"tu\":\"汢\",\n\"tū\":\"凸宊禿秃怢突涋捸堗湥痜葖嶀鋵鵚鼵\",\n\"tú\":\"図图凃峹庩徒悇捈涂荼莵途啚屠梌菟揬稌趃塗嵞瘏筡腯蒤鈯圗圖廜摕潳瑹跿酴墿馟檡鍎駼鵌鶟鷋鷵\",\n\"tǔ\":\"土圡钍唋釷\",\n\"tù\":\"兎迌兔唋莵堍菟鋀鵵\",\n\"tuān\":\"湍猯圕煓貒\",\n\"tuán\":\"団团抟剸團塼慱摶漙槫篿檲鏄糰鷒鷻\",\n\"tuǎn\":\"畽墥疃\",\n\"tuàn\":\"彖湪猯褖貒\",\n\"tuī\":\"忒推蓷藬讉\",\n\"tuí\":\"弚颓僓隤墤尵橔頺頹頽魋穨蘈蹪\",\n\"tuǐ\":\"俀聉腿僓蹆骽\",\n\"tuì\":\"侻退娧煺蛻蜕螁駾\",\n\"tūn\":\"吞呑旽涒啍朜焞噋憞暾\",\n\"tún\":\"坉庉忳芚饨蛌豘豚軘飩鲀魨霕黗臀臋\",\n\"tǔn\":\"氽\",\n\"tùn\":\"\",\n\"tuō\":\"乇仛讬托扡汑饦杔侂咃咜拕拖沰挩捝莌袉袥託啴涶脫脱飥馲魠鮵\",\n\"tuó\":\"阤驮佗陀陁坨岮沱沲狏驼侻柁砤砣袉铊鸵紽堶媠詑跎酡碢鉈馱槖駄鋖駞駝橐鮀鴕鼧騨鼍驒驝鼉\",\n\"tuǒ\":\"彵妥庹椭楕嫷撱橢鵎鰖\",\n\"tuò\":\"杝柝毤唾涶萚跅毻嶞箨蘀籜\",\n\"wa\":\"哇\",\n\"wā\":\"屲穵呙劸咼哇徍挖洼娲畖窊唲啘媧窐嗗瓾蛙搲溛漥窪鼃攨韈\",\n\"wá\":\"娃\",\n\"wǎ\":\"佤邷咓砙瓸搲\",\n\"wà\":\"帓袜婠聉嗢搲腽膃韎襪韤\",\n\"wai\":\"\",\n\"wāi\":\"呙咼歪喎竵瀤\",\n\"wǎi\":\"崴\",\n\"wài\":\"外顡\",\n\"wān\":\"毌夗弯剜埦婠帵捥塆湾睕蜿潫豌鋺彎壪灣\",\n\"wán\":\"丸刓汍纨芄完岏忨抏杬玩笂紈捖蚖顽烷琓貦頑翫\",\n\"wǎn\":\"夘夗倇唍挽盌莞莬埦婉惋捥晚晥梚涴绾脘菀萖惌晩晼椀琬皖畹碗箢綩綰輓踠鋔鋺\",\n\"wàn\":\"卍卐妧杤捥脕掔腕萬絻綄輐槾澫鋄瞣薍錽蟃贃鎫贎\",\n\"wāng\":\"尣尫尪汪尩瀇\",\n\"wáng\":\"亾兦仼莣蚟朚\",\n\"wǎng\":\"罓罒网彺忹抂徃往枉罖罔迬惘菵暀棢蛧辋網蝄誷輞瀇魍\",\n\"wàng\":\"妄忘迋旺盳徍望暀朢\",\n\"wēi\":\"厃危威倭烓偎逶隇隈喴媙崴嵔愄揋揻葨葳微椳楲溦煨詴蜲縅蝛覣嶶薇燰鳂癐癓巍鰃鰄霺\",\n\"wéi\":\"囗韦圩囲围帏沩违闱隹峗峞洈為韋桅涠唯帷惟硙维喡圍媁嵬幃湋溈爲琟違潍維蓶鄬撝潙潿醀濰鍏闈鮠壝矀覹犩欈\",\n\"wěi\":\"伟伪纬芛苇炜玮洧娓屗捤浘荱诿偉偽唩崣捼梶痏硊萎隗骩媁嵔廆徫愇渨猥葦蒍骫骪暐椲煒瑋痿腲艉韪僞嶉撱碨磈鲔寪緯蔿諉踓韑頠薳儰濻鍡鮪瀢韙颹韡亹瓗斖\",\n\"wèi\":\"卫未位味苿為畏胃叞軎猚硙菋谓喂喡媦渭爲猬煟墛瞆碨蔚蜼慰熭犚磑緭蝟衛懀罻衞謂餧鮇螱褽餵魏藯轊鏏霨鳚蘶饖瓗讆躗讏躛\",\n\"wēn\":\"昷塭温缊榅殟溫瑥辒韫榲瘟緼縕豱輼轀鎾饂鳁鞰鰛鰮\",\n\"wén\":\"文彣芠炆玟闻紋蚉蚊珳阌雯瘒聞馼駇魰鳼鴍螡閺閿蟁闅鼤繧闦\",\n\"wěn\":\"伆刎吻呅忟抆呡忞歾肳紊桽脗稳穏穩\",\n\"wèn\":\"问妏汶紋莬問渂揾搵絻顐璺\",\n\"wēng\":\"翁嗡滃鹟聬螉鎓鶲\",\n\"wěng\":\"勜奣塕嵡滃蓊暡瞈攚\",\n\"wèng\":\"瓮蕹甕罋齆\",\n\"wō\":\"挝倭莴唩涹渦猧萵喔窝窩蜗撾濄緺蝸踒薶\",\n\"wǒ\":\"呙我咼婑婐捰\",\n\"wò\":\"仴沃肟卧枂臥偓捾涴媉幄握渥焥硪楃腛斡瞃濣瓁臒龌馧龏齷\",\n\"wū\":\"乌圬弙扜扝汚汙污邬呜巫杅杇於屋洿诬钨烏剭窏釫惡鄔嗚誈僫歍誣箼鋘螐鴮鎢鰞\",\n\"wú\":\"无毋吳吴吾呉芜郚唔娪峿洖浯茣莁梧珸祦無铻鹀蜈墲蕪鋙鋘橆璑蟱鯃鵐譕鼯鷡\",\n\"wǔ\":\"乄五午仵伍妩庑忤怃迕旿武玝侮倵娒捂逜陚啎娬牾堥珷摀碔鹉熓瑦舞嫵廡憮潕儛甒膴瞴鵡躌\",\n\"wù\":\"兀勿务戊阢屼扤坞岉杌沕芴忢旿物矹俉卼敄柮误務唔娪悟悞悮粅趶晤焐婺嵍惡渞痦隖靰骛塢奦嵨溩雺雾僫寤熃誤鹜鋈窹霚鼿霧齀蘁騖鶩\",\n\"xī\":\"夕兮邜吸忚扱汐西希扸卥昔析矽穸肸肹俙咥咭徆怸恓诶郗饻唏奚娭屖息悕氥浠牺狶莃唽悉惜晞桸欷淅渓烯焁焈琋硒羛菥赥釸傒惁晰晳焟焬犀睎稀粞翖翕舾鄎厀嵠徯溪煕皙碏蒠裼锡僖榽熄熈熙獡緆蜥覡誒豨閪餏嘻噏嬆嬉嶲憘潝瘜磎膝凞暿樨橀歙熻熺熹窸羲螅螇錫燨犠瞦礂蟋豀谿豯貕蹊巂糦繥釐雟鯑鵗觹譆醯鏭鐊隵嚱巇曦爔犧酅饎觽鼷蠵鸂觿鑴\",\n\"xí\":\"习郋席習袭觋雭喺媳椺蒵蓆嶍漝趘槢薂隰檄謵鎴霫鳛飁騱騽鰼襲驨\",\n\"xǐ\":\"杫枲玺徙喜葈葸鈢鉩鉨屣漇蓰銑憘憙暿橲歖禧諰壐縰謑鳃蟢蹝釐璽鰓瓕鱚囍矖纚躧\",\n\"xì\":\"匸卌扢屃忾饩呬忥怬细郄钑係恄欪盻郤屓欯绤細釳阋傒摡椞舃舄趇隙愾慀滊禊綌蒵赩隟墍熂犔稧戯潟澙蕮覤戱縘黖戲磶虩餼鬩繫闟霼屭衋\",\n\"xiā\":\"呷虲疨虾谺傄閕煆颬瘕瞎蝦鰕\",\n\"xiá\":\"匣侠狎俠峡柙炠狭陜埉峽烚狹珨祫捾硖笚翈舺陿徦硤遐敮暇瑕筪舝瘕碬辖磍蕸縖螛赮魻轄鍜霞鎋黠騢鶷\",\n\"xiǎ\":\"閕閜\",\n\"xià\":\"丅下乤圷芐疜夏梺廈睱諕嚇懗罅夓鎼鏬\",\n\"xiān\":\"仚仙屳先奾佡忺氙杴欦祆秈苮姺枮籼珗莶掀铦搟綅跹酰锨僊僲嘕摻銛暹銽韯嬐憸薟鍁繊褼韱鮮蹮馦孅廯攕醶纎鶱襳躚纖鱻\",\n\"xián\":\"伭咞闲咁妶弦臤贤咸唌挦涎玹盷胘娴娹婱絃舷蚿衔啣湺痫蛝閑閒鹇嗛嫌溓衘甉銜嫻嫺憪撏澖稴羬誸賢諴輱醎癇癎瞯藖礥鹹麙贒鑦鷴鷼鷳\",\n\"xiǎn\":\"彡冼狝显险崄毨烍猃蚬険赻筅尟尠搟禒蜆跣銑箲險嶮獫獮藓鍌鮮燹顕幰攇櫶蘚譣玁韅顯灦\",\n\"xiàn\":\"咞岘苋見现线臽限姭宪県陥哯垷娊峴涀莧軐陷埳晛現硍馅睍絤綖缐羡塪搚溓献粯羨腺僩僴槏綫誢憪撊線鋧憲橌橺縣錎餡壏懢豏麲瀗臔獻糮鏾霰鼸\",\n\"xiāng\":\"乡芗香郷厢啍鄉鄊廂湘缃萫葙鄕楿稥薌箱緗膷襄儴勷忀骧麘欀瓖镶鱜纕鑲驤\",\n\"xiáng\":\"夅瓨佭庠羏栙祥絴翔詳跭\",\n\"xiǎng\":\"享亯响蚃饷晑飨想銄餉鲞蠁鮝鯗響饗饟鱶\",\n\"xiàng\":\"向姠项珦象缿衖項像勨嶑潒銗閧曏橡襐闂嚮蟓鐌鱌\",\n\"xiāo\":\"灲灱呺枭侾哓枵骁宯宵庨消烋绡莦虓逍鸮婋梟焇猇萧痚痟睄硣硝窙翛销嗃揱綃蛸嘐歊潇熇箫踃嘵憢撨獟獢箾銷霄骹彇膮蕭颵魈鴞穘簘藃蟂蟏鴵嚣瀟簫蟰髇櫹嚻囂髐鷍蠨驍毊虈\",\n\"xiáo\":\"姣洨郩崤淆訤殽誵\",\n\"xiǎo\":\"小晓暁筱筿皛曉篠謏皢\",\n\"xiào\":\"孝効咲恔俲哮效涍笑啸傚敩殽嗃詨嘋嘨誟嘯薂歗熽斅斆\",\n\"xiē\":\"娎揳猲楔歇滊獦蝎蠍\",\n\"xié\":\"劦协旪協胁垥奊峫恊拹挾脇脅脋衺偕斜梋谐絜翓颉嗋愶慀搚携瑎綊熁膎鲑勰撷擕緳縀缬蝢鞋諧燲鮭嚡擷鞵儶襭孈攜讗龤\",\n\"xiě\":\"写冩寫藛\",\n\"xiè\":\"伳灺泻祄绁缷卸枻洩炨炧卨屑栧偞偰徢械烲焎禼紲亵媟屟渫絏絬谢僁塮觟觧榍榝榭褉靾噧寫屧暬樧碿緤嶰廨懈澥獬糏薤薢邂韰燮褻謝夑瀉鞢韘瀣爕繲蟹蠏齘齛纈齥齂躠躞\",\n\"xīn\":\"忄心邤妡忻辛昕杺欣盺俽莘惞訢鈊锌新歆廞鋅噺噷嬜薪馨鑫馫\",\n\"xín\":\"枔襑镡礥鐔\",\n\"xǐn\":\"伈\",\n\"xìn\":\"阠伩囟孞炘軐脪衅訫愖焮馸顖舋釁\",\n\"xīng\":\"狌星垶骍惺猩煋瑆腥觪箵篂興謃鮏曐觲騂皨鯹\",\n\"xíng\":\"刑邢饧巠形陉侀郉哘型洐荥钘陘娙硎铏鈃蛵滎鉶銒鋞餳\",\n\"xǐng\":\"睲醒擤\",\n\"xìng\":\"杏姓幸性荇倖莕婞悻涬葕睲緈鋞嬹臖\",\n\"xiōng\":\"凶匂兄兇匈芎讻忷汹哅恟洶胷胸訩詾賯\",\n\"xióng\":\"雄熊熋\",\n\"xiǒng\":\"焽焸\",\n\"xiòng\":\"诇詗夐敻\",\n\"xiū\":\"俢修咻庥烌烋羞脩脙鸺臹貅馐樇銝髤髹鎀鮴鵂鏅饈鱃飍\",\n\"xiú\":\"苬\",\n\"xiǔ\":\"朽滫潃糔\",\n\"xiù\":\"秀岫峀珛绣袖琇锈嗅溴綉璓褏褎銹螑嚊繍鏅繡鏥鏽齅\",\n\"xū\":\"圩戌旴姁疞盱欨砉胥须眗訏顼偦虗虚裇許谞媭揟欻湏湑虛須楈綇頊嘘墟稰蓲需魆噓嬃歔緰縃蕦蝑歘藇諝燸譃魖驉鑐鬚\",\n\"xú\":\"俆冔徐禑蒣\",\n\"xǔ\":\"呴姁诩浒栩珝喣湑蛡暊詡滸稰鄦糈諿醑盨\",\n\"xù\":\"旭伵序旴汿芧侐卹妶怴沀叙恓恤昫朐洫垿晇欰殈烅珬勗勖喐惐掝敍敘淢烼绪续蚼酗壻婿朂溆矞絮聓訹慉滀煦続蓄賉槒漵潊盢瞁緒聟蓿銊嘼獝稸緖藇藚續鱮\",\n\"xuān\":\"吅轩昍咺宣弲晅軒梋谖喧塇媗愃愋揎萲萱暄煊瑄蓒睻儇禤箮翧蝖鋗嬛懁蕿諠諼鞙駨鍹駽矎翾藼蘐蠉譞鰚讂\",\n\"xuán\":\"玄伭妶玹痃悬琁蜁嫙漩暶璇縣檈璿懸\",\n\"xuǎn\":\"咺选烜喛暅選癣癬\",\n\"xuàn\":\"怰泫昡炫绚眩袨铉琄眴衒渲絢楥楦鉉夐敻碹蔙镟颴縼繏鏇贙\",\n\"xuē\":\"疶蒆靴薛辥辪鞾\",\n\"xué\":\"穴斈乴学峃茓泶袕鸴敩踅噱壆學嶨澩燢觷鷽\",\n\"xuě\":\"彐雪樰膤艝轌鳕鱈\",\n\"xuè\":\"吷坹岤怴泬狘疦桖谑滈趐謔瞲瀥\",\n\"xūn\":\"坃勋埙焄勛塤煇窨勲勳薫嚑壎獯薰曛燻臐矄蘍壦爋纁醺\",\n\"xún\":\"廵寻巡旬杊畃询郇咰姰峋恂洵浔紃荀荨栒桪毥珣偱眴尋循揗詢鄩鲟噚潯蕁攳樳燅燖璕駨蟫蟳爓鱘鱏灥\",\n\"xùn\":\"卂训讯伨汛迅驯侚巺徇狥迿逊孫殉毥浚訊訓訙奞巽殾稄遜馴愻噀潠蕈濬爋顨鶽鑂\",\n\"ya\":\"\",\n\"yā\":\"丫圧吖亞庘押枒垭鸦桠鸭啞孲铔椏鴉錏鴨壓鵶鐚\",\n\"yá\":\"牙伢厑岈芽厓拁琊笌蚜堐崕崖涯猚釾睚衙漄齖\",\n\"yǎ\":\"疋厊庌挜疨唖啞掗痖雅瘂蕥\",\n\"yà\":\"劜圠轧亚冴襾覀讶亜犽迓亞玡軋姶娅挜砑俹氩埡婭掗訝铔揠氬猰聐圔椻稏碣窫潝磍壓瓛齾\",\n\"yān\":\"恹剦烟珚胭崦淊淹焑焉菸阉殗渰湮傿歅煙硽鄢嫣漹嶖樮醃橪閹閼嬮懨篶懕臙黫黰\",\n\"yán\":\"讠厃延闫严妍芫訁言岩昖沿炏炎郔唌埏姸娫狿莚娮梴盐啱琂硏訮閆阎喦嵓嵒筵綖蜒塩揅楌詽碞蔅羬颜厳虤閻檐顏顔嚴壛巌簷櫩壧巖巗欕礹鹽麣\",\n\"yǎn\":\"夵抁沇乵兖俨兗匽弇衍剡偃厣掞掩眼萒郾酓隁嵃愝扊揜晻棪渰渷琰遃隒椼硽罨裺演褗戭窴蝘魇噞嬐躽縯檿黡厴甗鰋鶠黤儼黬黭龑孍顩鼴巘巚曮魘鼹礹齴黶\",\n\"yàn\":\"厌妟觃牪匽姲彥彦洝砚唁宴晏烻艳覎验偐掞焔猏硏谚隁喭堰敥棪殗焱焰猒硯雁傿椻溎滟豣鳫厭墕暥熖酽鳱嬊谳餍鴈燄諺赝鬳嚈嬮曕鴳酀騐験嚥嬿艶贋軅曣爓醶騴齞鷃灔贗囐觾讌醼饜驗鷰艷灎釅驠灧讞豓豔灩\",\n\"yāng\":\"央姎抰泱柍殃胦眏秧鸯鉠雵鞅鍈鴦\",\n\"yáng\":\"扬阦阳旸杨炀玚飏佯劷氜疡钖垟徉昜洋羏烊珜眻陽婸崵崸愓揚蛘敭暘楊煬瑒禓瘍諹輰鍚鴹颺鰑霷鸉\",\n\"yǎng\":\"卬佒咉坱岟养柍炴氧眏痒紻傟勜楧軮慃氱蝆飬養駚懩攁瀁癢礢\",\n\"yàng\":\"怏柍恙样烊羕楧詇煬様漾鞅樣瀁\",\n\"yāo\":\"幺夭吆妖枖殀祅約訞喓葽楆腰鴁撽邀鴢\",\n\"yáo\":\"爻尧匋尭肴垚姚峣恌轺倄烑珧皐窕窑铫隃傜堯揺殽谣軺嗂媱徭愮搖摇滧猺遙遥僥摿暚榣瑤瑶銚飖餆嶢嶤徺磘窯窰餚繇謡謠鎐鳐颻蘨邎顤鰩鱙\",\n\"yǎo\":\"仸宎岆抭杳枖狕苭咬柼眑窅窈舀偠婹崾溔蓔榚闄騕齩鷕\",\n\"yào\":\"怮穾药烄袎窔筄葯詏愮熎瘧覞靿樂獟箹鹞薬鼼曜燿艞藥矅耀纅鷂讑\",\n\"ye\":\"亪\",\n\"yē\":\"吔耶倻椰暍歋窫噎潱擨蠮\",\n\"yé\":\"爷耶峫捓揶铘爺瑘釾鋣鎁\",\n\"yě\":\"也冶埜野嘢漜壄\",\n\"yè\":\"业曳页曵邺夜抴亱拽枼洂頁捙晔枽烨液焆谒堨揲殗腋葉墷楪業煠痷馌僷曅燁璍擖擛曄皣瞱緤鄴靥嶪嶫澲謁餣擫曗瞸鍱擪爗礏鎑饁鵺鐷靨驜瓛鸈\",\n\"yi\":\"弬\",\n\"yī\":\"一乊弌辷衤伊衣医吚壱依祎咿洢悘渏猗畩郼铱壹揖蛜禕嫛漪稦銥嬄撎噫夁瑿鹥繄檹毉醫黟譩鷖黳\",\n\"yí\":\"乁仪匜圯夷彵迆冝宐杝沂诒侇宜怡沶狏狋迤迱饴咦姨峓恞拸柂洟珆瓵荑贻迻宧巸扅栘桋眙胰袘貤痍移萓釶椬羠蛦詒貽遗媐暆椸煕誃跠頉颐飴儀熪箷遺嶬彛彜螔頥頤寲嶷簃顊鮧鴺彞彝謻鏔籎觺讉\",\n\"yǐ\":\"乚乛乙已以扡迆钇佁攺矣苡叕苢迤迱庡舣蚁釔倚扆笖逘酏偯猗崺攲敧旑鈘鉯鳦裿旖輢嬟敼螘檥礒艤蟻顗轙齮\",\n\"yì\":\"乂义亿弋刈忆艺仡匇肊艾议阣亦伇屹异忔芅伿佚劮呓坄役抑杙耴苅译邑佾呭呹妷峄怈怿易枍欥泆炈秇绎衪诣驿俋奕帟帠弈昳枻浂玴疫羿轶唈垼悒挹栺栧欭浥浳益袘袣谊貤勚埶埸悘悥掜殹異羛翊翌萟訳訲豙豛逸釴隿幆敡晹棭殔湙焲焬蛡詍跇軼鄓鈠骮亄兿嗌意溢獈痬睪竩缢義肄裔裛詣勩嫕廙榏潩瘗膉蓺蜴駅億槸毅熠熤熼瘞篒誼镒鹝鹢黓儗劓圛墿嬑嶧憶懌曀殪澺燚瘱瞖穓縊艗薏螠褹寱懝斁曎檍歝燡燱翳翼臆貖鮨癔藝藙贀鎰镱繶繹豷霬鯣鶃鶂鶍瀷蘙議譯醳醷饐囈鐿鷁鷊懿襼驛鷧虉鸃鷾讛齸\",\n\"yīn\":\"囙因阥阴侌垔姻洇茵荫音骃栶欭氤陰凐秵裀铟陻隂喑堙婣愔湮筃絪歅溵禋蒑蔭慇瘖銦磤緸鞇諲霒駰噾濦闉霠齗韾\",\n\"yín\":\"冘乑伒吟圻犾苂斦烎垠泿圁峾狺珢荶訔訚唫婬寅崟崯淫訡银鈝龂滛碒鄞夤蔩銀龈噖殥璌誾嚚檭蟫霪齦鷣\",\n\"yǐn\":\"廴尹引吲饮粌蚓硍赺淾鈏飲隠靷飮朄輑磤趛檃瘾隱嶾濥縯螾檼蘟櫽癮讔\",\n\"yìn\":\"廴印茚洕胤荫垽梀堷湚猌飲廕隠飮窨酳慭癊憗憖隱鮣懚\",\n\"yīng\":\"応旲英柍荥偀桜珱莺啨婴媖愥渶绬朠楧焽焸煐瑛嫈碤锳嘤撄甇緓缨罂蝧賏樱璎噟罃褮霙鴬鹦嬰應膺韺甖鹰鶑鶧嚶孆孾攖瀴罌蘡譍櫻瓔礯譻鶯鑍纓蠳鷪軈鷹鸎鸚\",\n\"yíng\":\"夃盁迎茔盈荧浧耺莹営桯萤萦营蛍溁溋萾僌塋嵤楹滢蓥滎潆熒蝇瑩禜蝿嬴營縈螢濙濚濴藀覮謍赢瀅爃蠅鎣巆攍瀛瀠瀯櫿贏灐籝灜籯\",\n\"yǐng\":\"矨郢浧梬颍颕颖摬影潁瘿穎頴覮巊廮瀴鐛癭\",\n\"yìng\":\"応映眏暎硬媵膡鞕應瀴鱦\",\n\"yo\":\"喲\",\n\"yō\":\"唷喲\",\n\"yōng\":\"拥痈邕庸傭嗈鄘雍墉嫞慵滽槦牅牗銿噰壅擁澭郺镛臃癕雝鏞鳙廱灉饔鱅鷛癰\",\n\"yóng\":\"喁揘颙顒鰫\",\n\"yǒng\":\"永甬咏怺泳俑勈勇栐埇悀柡恿惥愑湧硧詠塎嵱彮愹蛹慂踊鲬噰澭踴鯒\",\n\"yòng\":\"用苚砽蒏醟\",\n\"yōu\":\"优妋忧攸呦怮泑幽峳浟逌悠羪麀滺憂優鄾嚘懮瀀獶櫌纋耰獿\",\n\"yóu\":\"尢冘尤由甴汼沋犹邮怞油肬怣斿柚疣庮秞莜莤莸郵铀偤蚰訧逰揂游猶遊鱿楢猷鈾鲉輏駀蕕蝣魷輶鮋繇櫾\",\n\"yǒu\":\"友丣卣苃酉羑栯莠梄聈铕湵楢禉蜏銪槱牖牗黝懮\",\n\"yòu\":\"又右幼佑佦侑孧泑狖哊囿姷宥峟柚牰祐诱迶唀梎痏蚴亴貁釉酭誘鼬櫾\",\n\"yū\":\"込扜扝纡迃迂穻陓紆唹淤盓瘀箊\",\n\"yú\":\"丂亐于邘伃余妤扵杅欤玗玙於盂臾衧鱼乻俞兪捓禺竽舁茰虶娛娯娪娱桙狳谀酑馀渔萸釪隃隅雩魚堣堬婾媀媮崳嵎嵛揄楰渝湡畬腴萮逾骬愚楡榆歈牏瑜艅虞觎漁睮窬舆褕歶羭蕍蝓諛雓餘魣嬩懙澞覦踰歟璵螸輿鍝謣髃鮽旟籅騟鯲蘛轝鰅鷠鸆齵\",\n\"yǔ\":\"伛宇屿羽穻俁俣挧禹圄祤偊匬圉庾敔鄅斞萭傴寙楀瑀瘐與語窳頨龉噳嶼懙貐斔穥麌齬\",\n\"yù\":\"肀玉驭圫聿芌芋吾妪忬汩灹饫欥育郁俞昱狱禺秗茟俼叞峪彧栯浴砡钰预域堉悆惐捥欲淢淯痏粖翑袬谕逳阈喅喩喻媀寓庽御棛棜棫焴琙琟矞硢硲裕遇飫馭鹆奧愈滪煜稢罭艈蒮蓣誉鈺預僪嫗嶎戫毓澚獄瘉緎蜟蜮語輍銉隩慾潏熨稶蓹薁豫遹鋊鳿澦燏燠蕷藇諭錥閾鴧鴪鴥儥礇禦魊鹬癒礖礜篽醧鵒櫲饇蘌譽鐭霱雤欎驈鬻籞鱊鷸鸒欝軉鬰鬱灪籲爩\",\n\"yuān\":\"夗囦肙鸢剈冤弲悁眢鸳寃涴渆渁渊渕惌淵葾棩蒬蜎裷鹓箢鳶蜵駌鋺鴛嬽鵷灁鼘鼝\",\n\"yuán\":\"元円贠邧园妧沅芫杬茒垣爰貟原員圆笎蚖袁厡酛傆喛圎媛援湲猨缘鈨鼋園圓塬媴嫄楥溒源猿蒝榞榬辕緣縁蝝蝯褤魭圜橼羱薗螈黿謜轅鎱櫞邍騵鶢鶰厵\",\n\"yuǎn\":\"盶逺遠薳鋺\",\n\"yuàn\":\"夗妴苑怨院垸衏傆媛掾瑗禐愿裫褑噮願\",\n\"yuē\":\"曰曱扚約啘箹矱\",\n\"yuě\":\"哕噦\",\n\"yuè\":\"月戉兊刖兌妜岄抈礿岳枂泧玥恱栎哾悅悦蚏蚎軏钺阅捳跀跃粤越鈅楽粵鉞說説樂閲閱嬳樾篗髺嶽臒龠擽矆櫟籆瀹蘥黦爚禴趯躍籥鑰鸑籰鸙\",\n\"yūn\":\"涒缊蒀暈氲煴蒕氳熅煾奫緼蝹縕赟馧贇\",\n\"yún\":\"云勻匀伝囩妘抣沄纭芸昀畇眃秐貟郧員涢紜耘耺鄖雲愪溳筠筼蒷熉澐蕓鋆橒篔縜\",\n\"yǔn\":\"允阭夽抎狁玧陨荺殒喗鈗隕煴殞熅馻磒賱霣齫齳\",\n\"yùn\":\"孕贠运枟郓恽貟員菀鄆酝傊惲愠缊運慍暈榅煇腪韫韵褞熨緷緼蕰蕴縕薀醖醞餫藴鞰韗韞蘊韻\",\n\"zā\":\"帀匝沞迊咂拶桚紥紮鉔噈魳臜臢\",\n\"zá\":\"杂沯砸偺喒韴雑襍雜囃囋囐雥\",\n\"zǎ\":\"咋偺喒\",\n\"zāi\":\"災灾甾哉栽烖畠菑渽溨睵賳\",\n\"zǎi\":\"宰崽\",\n\"zài\":\"再在扗抂洅傤載酨儎縡\",\n\"zān\":\"兂撍糌橵篸簪簮鵤鐕鐟\",\n\"zán\":\"偺喒\",\n\"zǎn\":\"拶昝桚寁揝噆撍儧攅儹攢趱趲\",\n\"zàn\":\"暂暫賛赞錾鄼濽蹔酂瓉贊鏩鏨瓒酇囋灒讃瓚禶穳襸讚饡\",\n\"zāng\":\"匨牂羘赃賍臧賘贓髒贜\",\n\"zǎng\":\"驵駔\",\n\"zàng\":\"奘弉脏塟葬臧蔵銺臓臟\",\n\"zāo\":\"傮遭糟蹧醩\",\n\"záo\":\"凿鑿\",\n\"zǎo\":\"早枣栆蚤棗璅澡璪薻藻\",\n\"zào\":\"灶皁皂唣唕造梍喿慥煰艁噪簉燥竃竈譟趮躁\",\n\"zé\":\"则択沢咋泎责迮則唶啧帻笮舴責溭滜睪矠飵嘖嫧幘箦蔶樍歵諎赜擇澤皟瞔簀耫礋襗謮賾蠌灂齚齰鸅\",\n\"zè\":\"仄庂汄昃昗捑側崱稄\",\n\"zéi\":\"贼戝賊鲗蠈鰂鱡\",\n\"zēn\":\"撍\",\n\"zěn\":\"怎\",\n\"zèn\":\"谮譖\",\n\"zēng\":\"曽増鄫增憎缯橧璔縡矰磳竲罾繒譄鱛\",\n\"zěng\":\"\",\n\"zèng\":\"锃綜缯鋥熷甑赠繒鬵贈囎\",\n\"zi\":\"嗭\",\n\"zī\":\"孖孜甾茊兹呲咨姕姿茲栥玆畠紎赀资崰淄秶缁菑谘赼嗞孳嵫椔湽滋粢葘辎鄑孶禌觜訾貲資趑锱稵緕緇鈭镃龇輜鼒澬薋諮趦輺錙髭鲻鍿鎡璾頾頿鯔鶅齍纃鰦齜\",\n\"zí\":\"蓻\",\n\"zǐ\":\"子吇芓姉姊杍沝矷秄胏呰秭籽耔茈虸笫梓釨啙紫滓訿榟橴\",\n\"zì\":\"字自芓秄洓茡荢倳剚恣牸渍眦眥菑胔胾漬\",\n\"zōng\":\"宗枞倧骔堫嵏嵕惾棕猣腙葼朡椶潈稯綜緃樅熧緵翪蝬踨踪磫繌鍐豵蹤騌鬃騣鬉鬷鯮鯼鑁\",\n\"zǒng\":\"总倊偬捴惣揔搃焧傯蓗嵸摠潀稯総熜緫縂燪縱總\",\n\"zòng\":\"昮疭從猔碂粽潨糉緵瘲縦縱繌糭\",\n\"zōu\":\"邹驺诹郰陬掫菆棸棷鄒箃緅諏鄹鲰鯫黀騶齱齺\",\n\"zǒu\":\"赱走搊鯐\",\n\"zòu\":\"奏揍媰楱\",\n\"zū\":\"怚柤租菹葅蒩\",\n\"zú\":\"卆足倅哫崒崪族椊稡箤踤镞鎐鏃\",\n\"zǔ\":\"诅阻组俎柤爼珇祖唨組詛靻鎺\",\n\"zù\":\"\",\n\"zuān\":\"鉆劗躜鑚躦鑽\",\n\"zuǎn\":\"繤缵纂纉籫纘\",\n\"zuàn\":\"揝篹賺攥\",\n\"zuī\":\"厜朘嗺樶蟕纗\",\n\"zuí\":\"\",\n\"zuǐ\":\"咀觜嶊嘴噿濢璻\",\n\"zuì\":\"冣栬絊酔晬最祽睟稡罪辠槜酻蕞醉嶵檇鋷錊檌欈\",\n\"zūn\":\"尊噂墫嶟遵樽繜罇鶎鐏鳟鱒鷷\",\n\"zǔn\":\"僔撙繜譐\",\n\"zùn\":\"拵捘栫袸銌瀳\",\n\"zuo\":\"咗\",\n\"zuō\":\"嘬穝\",\n\"zuó\":\"苲昨柮秨莋捽笮稓筰鈼\",\n\"zuǒ\":\"左佐繓\",\n\"zuò\":\"作坐阼岝岞怍侳柞祚胙唑座袏做葄葃酢蓙飵諎糳\",\n\"zhā\":\"吒咋抯挓柤査哳紥偧紮揸渣楂飵劄摣潳皶樝觰皻譇齄齇\",\n\"zhá\":\"札甴軋闸剳蚻铡喋煠牐閘劄箚霅耫鍘譗\",\n\"zhǎ\":\"厏拃苲眨砟鲊鲝諎鮓鮺\",\n\"zhà\":\"乍吒灹诈怍咤奓柞宱痄蚱喥溠詐搾鲊榨鮓醡\",\n\"zhāi\":\"亝哜夈粂捚斋側斎摘榸齊嚌擿齋\",\n\"zhái\":\"厇宅翟擇檡\",\n\"zhǎi\":\"厏抧窄鉙\",\n\"zhài\":\"责债砦責債寨瘵\",\n\"zhān\":\"岾怗枬沾毡旃栴粘蛅飦惉詀趈詹閚谵鳽噡嶦薝邅霑氈氊瞻覱鹯旜譫饘鳣驙魙鱣鸇\",\n\"zhán\":\"讝\",\n\"zhǎn\":\"斩飐展盏斬琖搌盞嶃嶄榐辗颭嫸醆橏輾皽黵\",\n\"zhàn\":\"佔战栈桟站偡绽菚嵁棧湛戦碊僝綻嶘戰虥虦覱轏譧欃蘸驏\",\n\"zhāng\":\"弡张張章傽鄣嫜彰慞漳獐粻蔁遧暲樟璋餦蟑鏱騿鱆麞\",\n\"zhǎng\":\"仉仧兏長掌漲幥礃鞝\",\n\"zhàng\":\"丈仗扙帐杖胀账粀帳涱脹痮障墇嶂幛漲賬瘬瘴瞕\",\n\"zhāo\":\"佋钊妱巶招昭炤釗啁釽鉊鳭駋鍣皽\",\n\"zháo\":\"\",\n\"zhǎo\":\"爫找沼菬瑵\",\n\"zhào\":\"兆诏枛垗炤狣赵笊肁啅旐棹罀詔照罩箌肈肇趙曌濯燳鮡櫂瞾羄\",\n\"zhe\":\"嗻\",\n\"zhē\":\"嗻嫬遮螫\",\n\"zhé\":\"乇厇扸杔歽矺砓籷虴哲埑粍袩啠悊晢晣辄喆棏聑蛰詟搩蜇谪馲摺輒慹磔輙銸辙蟄嚞謫謺鮿轍讁讋\",\n\"zhě\":\"者乽啫锗赭踷褶鍺襵\",\n\"zhè\":\"柘浙這淛嗻蔗樜鹧蟅鷓\",\n\"zhèi\":\"\",\n\"zhēn\":\"贞针侦侲帧枮浈珎珍胗貞帪桢眞真砧祯針偵酙寊幀揕湞葴遉嫃搸斟椹楨溱獉甄禎蒖蓁鉁榛槙殝瑧碪禛潧箴樼澵臻薽錱轃鍼籈鱵\",\n\"zhén\":\"\",\n\"zhěn\":\"诊抮枕姫弫昣轸屒畛疹眕袗紾聄萙竧裖覙診軫嫃缜槙稹駗縝縥辴鬒黰\",\n\"zhèn\":\"圳阵纼甽侲挋陣鸩振朕栚紖桭眹赈塦揕絼榐瑱誫賑鋴镇震鴆鎮鎭\",\n\"zhēng\":\"凧争佂姃征怔爭糽埩峥炡狰烝眐脀钲埥崝崢掙猙睁聇铮媜揁筝徰睜蒸踭鉦徴箏綪錚徵篜鬇癥鏳\",\n\"zhěng\":\"氶抍糽拯掟晸愸撜整\",\n\"zhèng\":\"氶证诤郑政徎钲掙幁証塣諍靕鄭憕鴊證\",\n\"zhī\":\"之支卮汁芝巵汥呮泜肢栀祗秓胑胝衼倁栺疷祬脂隻梔菭椥臸搘稙綕榰蜘馶憄鳷鴲織鼅蘵\",\n\"zhí\":\"执侄妷直秇姪郦値值聀釞埴執淔职戠植犆禃絷臷跖瓡摕摭馽嬂慹漐潪踯樴膱縶職蟙蹠軄躑\",\n\"zhǐ\":\"夂止凪劧旨阯坁址帋扺汦沚纸芷坧抧杫祇祉茋咫恉指枳洔砋秖衹轵淽疻紙蚔訨趾軹黹禔筫絺酯墌徴徵槯藢襧\",\n\"zhì\":\"至芖坁志忮扻豸制厔垁帙帜斦治炙质迣郅俧峙庢庤挃柣栉洷祑陟娡徏挚捗晊桎歭狾秩致袟贽轾乿偫剬徝掷梽楖猘畤痓痔眰秲秷窒紩翐袠觗貭铚鸷傂崻彘智滞痣蛭骘寘廌搱滍稚筫置跱輊锧雉墆滯潌疐瘈聜製覟誌銍幟憄摨摯潪熫稺膣觯質踬銴鋕擳旘瀄璏緻隲駤鴙儨劕懥擲擿櫛穉螲懫織贄櫍瓆觶騭鯯礩豑鶨騺驇躓鷙鑕豒\",\n\"zhōng\":\"夂伀汷刣妐彸忪忠泈炂终柊盅衳钟舯衷終鈡幒蔠蜙锺銿螤鴤螽鍾斔鼨蹱鐘籦\",\n\"zhǒng\":\"肿冢喠尰塚歱煄腫瘇種徸踵穜\",\n\"zhòng\":\"仲众妕狆祌茽衶蚛偅眾堹媑筗衆種緟諥\",\n\"zhōu\":\"州舟诌侜周洲炿诪烐珘辀郮啁婤徟掫淍矪週鸼喌赒輈翢銂賙輖霌駲嚋盩謅鵃騆譸\",\n\"zhóu\":\"妯軸碡\",\n\"zhǒu\":\"肘帚疛胕菷晭睭箒鯞\",\n\"zhòu\":\"纣伷呪咒宙绉冑咮昼紂胄荮皱酎晝粙椆葤詋軸甃僽皺駎噣縐繇薵骤籀籕籒驟\",\n\"zhū\":\"侏诛邾洙茱株珠诸猪硃秼袾铢絑蛛誅跦槠潴蕏蝫銖橥諸豬駯鮢鴸瀦藸鼄櫧櫫鯺蠩\",\n\"zhú\":\"朮竹竺炢笁茿烛窋逐笜舳逫瘃蓫敱磩築篴斀燭蠋躅鱁劚孎灟斸曯欘爥蠾钃\",\n\"zhǔ\":\"丶主劯宔拄砫罜陼帾渚煑煮詝褚嘱濐燝麈瞩屬囑鸀矚\",\n\"zhù\":\"伫佇住纻芧苎坾拀杼注苧贮迬驻乼壴柱柷殶炷祝疰眝砫祩竚莇紵紸羜蛀尌嵀註貯跓軴铸筯鉒飳馵嗻墸箸翥樦澍鋳駐築篫麆簗櫡鑄\",\n\"zhuā\":\"抓挝撾檛膼簻髽\",\n\"zhuǎ\":\"爫\",\n\"zhuāi\":\"拽\",\n\"zhuǎi\":\"跩\",\n\"zhuài\":\"拽睉\",\n\"zhuān\":\"专叀専恮砖耑專剸鄟塼嫥漙瑼甎磗膞颛磚諯篿蟤顓鱄\",\n\"zhuǎn\":\"孨転膞竱轉\",\n\"zhuàn\":\"灷啭転堟蒃傳瑑腞僎僝赚撰篆馔篹縳襈賺簨贃譔饌囀籑\",\n\"zhuāng\":\"妆庄妝庒荘娤桩莊梉湷粧装裝樁糚\",\n\"zhuǎng\":\"奘\",\n\"zhuàng\":\"壮壯状狀壵焋僮漴撞戅戆戇\",\n\"zhuī\":\"隹骓锥錐騅鵻\",\n\"zhuǐ\":\"沝\",\n\"zhuì\":\"坠笍奞娷缀隊惴甀缒腏畷硾膇墜綴赘縋諈醊錣礈贅鑆\",\n\"zhūn\":\"圫宒忳迍肫窀谆啍諄衠\",\n\"zhǔn\":\"准埻凖準稕綧\",\n\"zhùn\":\"旽訰稕綧\",\n\"zhuō\":\"拙炪倬捉桌梲棁涿淖棳棹焯窧槕穛鐯穱\",\n\"zhuó\":\"圴彴汋犳灼卓叕妰茁斫浊丵剢捔浞烵诼酌啄啅娺聉斱斮晫椓琸硺窡罬蓔墌撯擆斲禚劅諁諑趠鋜噣濁燋篧擢斀斵濯藋櫡謶镯繳鵫灂蠗鐲籗鷟蠿籱\",\n\"zhuò\":\"\",\n\"chǎng,ān,hàn\": \"厂\",\n\"dīng,zhēng\": \"丁\",\n\"bǔ,bo\": \"卜\",\n\"jǐ,jī\": \"几\",\n\"le,liǎo\": \"了\",\n\"gān,gàn\": \"干\",\n\"dà,dài,tài\": \"大\",\n\"yǔ,yù,yú\": \"与\",\n\"shàng,shǎng\": \"上\",\n\"wàn,mò\": \"万\",\n\"gè,gě\": \"个各\",\n\"me,mó,ma,yāo\": \"么\",\n\"guǎng,ān\": \"广\",\n\"wáng,wú\": \"亡\",\n\"nǚ,rǔ\": \"女\",\n\"chā,chá,chǎ\": \"叉\",\n\"wáng,wàng\": \"王\",\n\"fū,fú\": \"夫\",\n\"zhā,zā,zhá\": \"扎\",\n\"bù,fǒu\": \"不\",\n\"qū,ōu\": \"区\",\n\"chē,jū\": \"车\",\n\"qiè,qiē\": \"切\",\n\"wǎ,wà\": \"瓦\",\n\"tún,zhūn\": \"屯\",\n\"shǎo,shào\": \"少\",\n\"zhōng,zhòng\": \"中\",\n\"nèi,nà\": \"内\",\n\"jiàn,xiàn\": \"见\",\n\"cháng,zhǎng\": \"长\",\n\"shén,shí\": \"什\",\n\"piàn,piān\": \"片\",\n\"pú,pū\": \"仆\",\n\"huà,huā\": \"化\",\n\"chóu,qiú\": \"仇\",\n\"zhuǎ,zhǎo\": \"爪\",\n\"jǐn,jìn\": \"仅\",\n\"fù,fǔ\": \"父\",\n\"cóng,zòng\": \"从\",\n\"fēn,fèn\": \"分\",\n\"shì,zhī\": \"氏\",\n\"fēng,fěng\": \"风\",\n\"gōu,gòu\": \"勾\",\n\"liù,lù\": \"六\",\n\"dǒu,dòu\": \"斗\",\n\"wèi,wéi\": \"为\",\n\"chǐ,chě\": \"尺\",\n\"yǔ,yú\": \"予\",\n\"dǎ,dá\": \"打\",\n\"zhèng,zhēng\": \"正症挣\",\n\"bā,pá\": \"扒\",\n\"jié,jiē\": \"节结\",\n\"shù,shú,zhú\": \"术\",\n\"kě,kè\": \"可\",\n\"shí,dàn\": \"石\",\n\"kǎ,qiǎ\": \"卡\",\n\"běi,bèi\": \"北\",\n\"zhàn,zhān\": \"占\",\n\"qiě,jū\": \"且\",\n\"yè,xié\": \"叶\",\n\"hào,háo\": \"号\",\n\"zhī,zhǐ\": \"只\",\n\"dāo,tāo\": \"叨\",\n\"zǎi,zǐ,zī\": \"仔\",\n\"lìng,líng,lǐng\": \"令\",\n\"lè,yuè\": \"乐\",\n\"jù,gōu\": \"句\",\n\"chù,chǔ\": \"处\",\n\"tóu,tou\": \"头\",\n\"níng,nìng,zhù\": \"宁\",\n\"zhào,shào\": \"召\",\n\"fā,fà\": \"发\",\n\"tái,tāi\": \"台苔\",\n\"káng,gāng\": \"扛\",\n\"dì,de\": \"地\",\n\"sǎo,sào\": \"扫\",\n\"chǎng,cháng\": \"场\",\n\"pǔ,pò,pō,piáo\": \"朴\",\n\"guò,guo,guō\": \"过\",\n\"yā,yà\": \"压\",\n\"yǒu,yòu\": \"有\",\n\"kuā,kuà\": \"夸\",\n\"xié,yá,yé,yú,xú\": \"邪\",\n\"jiá,jiā,gā,xiá\": \"夹\",\n\"huà,huá\": \"划\",\n\"dāng,dàng\": \"当\",\n\"tù,tǔ\": \"吐\",\n\"xià,hè\": \"吓\",\n\"tóng,tòng\": \"同\",\n\"qū,qǔ\": \"曲\",\n\"ma,má,mǎ\": \"吗\",\n\"qǐ,kǎi\": \"岂\",\n\"zhū,shú\": \"朱\",\n\"chuán,zhuàn\": \"传\",\n\"xiū,xǔ\": \"休\",\n\"rèn,rén\": \"任\",\n\"huá,huà,huā\": \"华\",\n\"jià,jiè,jie\": \"价\",\n\"fèn,bīn\": \"份\",\n\"yǎng,áng\": \"仰\",\n\"xiě,xuè\": \"血\",\n\"sì,shì\": \"似\",\n\"háng,xíng\": \"行\",\n\"huì,kuài\": \"会\",\n\"hé,gě\": \"合\",\n\"chuàng,chuāng\": \"创\",\n\"chōng,chòng\": \"冲\",\n\"qí,jì,zī,zhāi\": \"齐\",\n\"yáng,xiáng\": \"羊\",\n\"bìng,bīng\": \"并\",\n\"hàn,hán\": \"汗\",\n\"tāng,shāng\": \"汤\",\n\"xīng,xìng\": \"兴\",\n\"xǔ,hǔ\": \"许\",\n\"lùn,lún\": \"论\",\n\"nà,nǎ,nèi,nā\": \"那\",\n\"jìn,jǐn\": \"尽\",\n\"sūn,xùn\": \"孙\",\n\"xì,hū\": \"戏\",\n\"hǎo,hào\": \"好\",\n\"tā,jiě\": \"她\",\n\"guān,guàn\": \"观冠\",\n\"hóng,gōng\": \"红\",\n\"xiān,qiàn\": \"纤\",\n\"jì,jǐ\": \"纪济\",\n\"yuē,yāo\": \"约\",\n\"nòng,lòng\": \"弄\",\n\"yuǎn,yuàn\": \"远\",\n\"huài,pēi,pī,péi\": \"坏\",\n\"zhé,shé,zhē\": \"折\",\n\"qiǎng,qiāng,chēng\": \"抢\",\n\"ké,qiào\": \"壳\",\n\"fāng,fáng\": \"坊\",\n\"bǎ,bà\": \"把\",\n\"gān,gǎn\": \"杆\",\n\"sū,sù\": \"苏\",\n\"gàng,gāng\": \"杠\",\n\"gèng,gēng\": \"更\",\n\"lì,lí\": \"丽\",\n\"hái,huán\": \"还\",\n\"fǒu,pǐ\": \"否\",\n\"xiàn,xuán\": \"县\",\n\"zhù,chú\": \"助\",\n\"ya,yā\": \"呀\",\n\"chǎo,chāo\": \"吵\",\n\"yuán,yún,yùn\": \"员\",\n\"ba,bā\": \"吧\",\n\"bié,biè\": \"别\",\n\"dīng,dìng\": \"钉\",\n\"gū,gù\": \"估\",\n\"hé,hē,hè\": \"何\",\n\"tǐ,tī,bèn\": \"体\",\n\"bó,bǎi,bà\": \"伯\",\n\"yòng,yōng\": \"佣\",\n\"fó,fú,bì,bó\": \"佛\",\n\"dù,dǔ\": \"肚\",\n\"guī,jūn,qiū\": \"龟\",\n\"jiǎo,jué\": \"角\",\n\"tiáo,tiāo\": \"条\",\n\"xì,jì\": \"系\",\n\"yìng,yīng\": \"应\",\n\"zhè,zhèi\": \"这\",\n\"jiān,jiàn\": \"间监\",\n\"mēn,mèn\": \"闷\",\n\"dì,tì,tuí\": \"弟\",\n\"shā,shà\": \"沙\",\n\"shà,shā\": \"煞\",\n\"méi,mò\": \"没\",\n\"shěn,chén\": \"沈\",\n\"shí,zhì\": \"识\",\n\"niào,suī\": \"尿\",\n\"wěi,yǐ\": \"尾\",\n\"ē,ā\": \"阿\",\n\"jìn,jìng\": \"劲\",\n\"zòng,zǒng\": \"纵\",\n\"wén,wèn\": \"纹\",\n\"mǒ,mò,mā\": \"抹\",\n\"dān,dàn,dǎn\": \"担\",\n\"chāi,cā\": \"拆\",\n\"jū,gōu\": \"拘\",\n\"lā,lá\": \"拉\",\n\"bàn,pàn\": \"拌\",\n\"zé,zhái\": \"择\",\n\"qí,jī\": \"其奇\",\n\"ruò,rě\": \"若\",\n\"píng,pēng\": \"苹\",\n\"zhī,qí\": \"枝\",\n\"guì,jǔ\": \"柜\",\n\"sàng,sāng\": \"丧\",\n\"cì,cī\": \"刺\",\n\"yǔ,yù\": \"雨语\",\n\"bēn,bèn\": \"奔\",\n\"qī,qì\": \"妻\",\n\"zhuǎn,zhuàn,zhuǎi\": \"转\",\n\"xiē,suò\": \"些\",\n\"ne,ní\": \"呢\",\n\"tiě,tiē,tiè,\": \"帖\",\n\"lǐng,líng\": \"岭\",\n\"zhī,zhì\": \"知织\",\n\"hé,hè,huó,huò,hú\": \"和\",\n\"gòng,gōng\": \"供共\",\n\"wěi,wēi\": \"委\",\n\"cè,zè,zhāi\": \"侧\",\n\"pò,pǎi\": \"迫\",\n\"de,dì,dí\": \"的\",\n\"cǎi,cài\": \"采\",\n\"fú,fù\": \"服\",\n\"dǐ,de\": \"底\",\n\"jìng,chēng\": \"净\",\n\"juàn,juǎn\": \"卷\",\n\"quàn,xuàn\": \"券\",\n\"dān,shàn,chán\": \"单\",\n\"qiǎn,jiān\": \"浅\",\n\"xiè,yì\": \"泄\",\n\"pō,bó\": \"泊\",\n\"pào,pāo\": \"泡\",\n\"ní,nì\": \"泥\",\n\"zé,shì\": \"泽\",\n\"kōng,kòng,kǒng\": \"空\",\n\"láng,làng\": \"郎\",\n\"xiáng,yáng\": \"详\",\n\"lì,dài\": \"隶\",\n\"shuā,shuà\": \"刷\",\n\"jiàng,xiáng\": \"降\",\n\"cān,shēn,cēn,sān\": \"参\",\n\"dú,dài\": \"毒\",\n\"kuà,kū\": \"挎\",\n\"dǎng,dàng\": \"挡\",\n\"kuò,guā\": \"括\",\n\"shí,shè\": \"拾\",\n\"tiāo,tiǎo\": \"挑\",\n\"shèn,shén\": \"甚\",\n\"xiàng,hàng\": \"巷\",\n\"nán,nā\": \"南\",\n\"xiāng,xiàng\": \"相\",\n\"chá,zhā\": \"查\",\n\"bǎi,bó,bò\": \"柏\",\n\"yào,yāo\": \"要\",\n\"yán,yàn\": \"研\",\n\"qì,qiè\": \"砌\",\n\"bèi,bēi\": \"背\",\n\"shěng,xǐng\": \"省\",\n\"xiāo,xuē\": \"削\",\n\"hǒng,hōng,hòng\": \"哄\",\n\"mào,mò\": \"冒\",\n\"yǎ,yā\": \"哑\",\n\"sī,sāi\": \"思\",\n\"mǎ,mā,mà\": \"蚂\",\n\"huá,huā\": \"哗\",\n\"yè,yàn,yān\": \"咽\",\n\"zán,zǎ\": \"咱\",\n\"hā,hǎ,hà\": \"哈\",\n\"nǎ,něi,na,né\": \"哪\",\n\"hāi,ké\": \"咳\",\n\"gǔ,gū\": \"骨\",\n\"gāng,gàng\": \"钢\",\n\"yào,yuè\": \"钥\",\n\"kàn,kān\": \"看\",\n\"zhòng,zhǒng,chóng\": \"种\",\n\"biàn,pián\": \"便\",\n\"zhòng,chóng\": \"重\",\n\"xìn,shēn\": \"信\",\n\"zhuī,duī\": \"追\",\n\"dài,dāi\": \"待\",\n\"shí,sì,yì\": \"食\",\n\"mài,mò\": \"脉\",\n\"jiāng,jiàng\": \"将浆\",\n\"dù,duó\": \"度\",\n\"qīn,qìng\": \"亲\",\n\"chà,chā,chāi,cī\": \"差\",\n\"zhà,zhá\": \"炸\",\n\"pào,páo,bāo\": \"炮\",\n\"sǎ,xǐ\": \"洒\",\n\"xǐ,xiǎn\": \"洗\",\n\"jué,jiào\": \"觉\",\n\"biǎn,piān\": \"扁\",\n\"shuō,shuì,yuè\": \"说\",\n\"lǎo,mǔ\": \"姥\",\n\"gěi,jǐ\": \"给\",\n\"luò,lào\": \"络\",\n\"zǎi,zài\": \"载\",\n\"mái,mán\": \"埋\",\n\"shāo,shào\": \"捎稍\",\n\"dū,dōu\": \"都\",\n\"ái,āi\": \"挨\",\n\"mò,mù\": \"莫\",\n\"è,wù,ě,wū\": \"恶\",\n\"xiào,jiào\": \"校\",\n\"hé,hú\": \"核\",\n\"yūn,yùn\": \"晕\",\n\"huàng,huǎng\": \"晃\",\n\"ài,āi\": \"唉\",\n\"ā,á,ǎ,à,a\": \"啊\",\n\"bà,ba,pí\": \"罢\",\n\"zuàn,zuān\": \"钻\",\n\"qiān,yán\": \"铅\",\n\"chéng,shèng\": \"乘\",\n\"mì,bì\": \"秘泌\",\n\"chēng,chèn,chèng\": \"称\",\n\"dào,dǎo\": \"倒\",\n\"tǎng,cháng\": \"倘\",\n\"chàng,chāng\": \"倡\",\n\"chòu,xiù\": \"臭\",\n\"shè,yè,yì\": \"射\",\n\"gē,gé\": \"胳搁\",\n\"shuāi,cuī\": \"衰\",\n\"liáng,liàng\": \"凉量\",\n\"chù,xù\": \"畜\",\n\"páng,bàng\": \"旁磅\",\n\"zhǎng,zhàng\": \"涨\",\n\"yǒng,chōng\": \"涌\",\n\"qiāo,qiǎo\": \"悄\",\n\"jiā,jia,jie\": \"迦家\",\n\"dú,dòu\": \"读\",\n\"shàn,shān\": \"扇\",\n\"shān,shàn\": \"苫\",\n\"bèi,pī\": \"被\",\n\"tiáo,diào,zhōu\": \"调\",\n\"bō,bāo\": \"剥\",\n\"néng,nài\": \"能\",\n\"nán,nàn,nuó\": \"难\",\n\"pái,pǎi\": \"排\",\n\"jiào,jiāo\": \"教\",\n\"jù,jū\": \"据\",\n\"zhù,zhuó,zhe\": \"著\",\n\"jūn,jùn\": \"菌\",\n\"lè,lēi\": \"勒\",\n\"shāo,sào\": \"梢\",\n\"fù,pì\": \"副\",\n\"piào,piāo\": \"票\",\n\"shèng,chéng\": \"盛\",\n\"què,qiāo,qiǎo\": \"雀\",\n\"chí,shi\": \"匙\",\n\"mī,mí\": \"眯\",\n\"la,lā\": \"啦\",\n\"shé,yí\": \"蛇\",\n\"lèi,léi,lěi\": \"累\",\n\"zhǎn,chán\": \"崭\",\n\"quān,juàn,juān\": \"圈\",\n\"lóng,lǒng\": \"笼\",\n\"dé,děi,de\": \"得\",\n\"jiǎ,jià\": \"假\",\n\"māo,máo\": \"猫\",\n\"xuán,xuàn\": \"旋\",\n\"zhe,zhuó,zháo,zhāo\": \"着\",\n\"lǜ,shuài\": \"率\",\n\"gài,gě,hé\": \"盖\",\n\"lín,lìn\": \"淋\",\n\"qú,jù\": \"渠\",\n\"jiàn,jiān\": \"渐溅\",\n\"hùn,hún\": \"混\",\n\"sù,xiǔ,xiù\": \"宿\",\n\"tán,dàn\": \"弹\",\n\"yǐn,yìn\": \"隐\",\n\"jǐng,gěng\": \"颈\",\n\"lǜ,lù\": \"绿\",\n\"qū,cù\": \"趋\",\n\"tí,dī,dǐ\": \"提\",\n\"jiē,qì\": \"揭\",\n\"lǒu,lōu\": \"搂\",\n\"qī,jī\": \"期\",\n\"sàn,sǎn\": \"散\",\n\"gě,gé\": \"葛\",\n\"zhāo,cháo\": \"朝\",\n\"luò,là,lào\": \"落\",\n\"yǐ,yī\": \"椅\",\n\"gùn,hùn\": \"棍\",\n\"zhí,shi\": \"殖\",\n\"xià,shà\": \"厦\",\n\"liè,liě\": \"裂\",\n\"jǐng,yǐng\": \"景\",\n\"pēn,pèn\": \"喷\",\n\"pǎo,páo\": \"跑\",\n\"hē,hè,yè\": \"喝\",\n\"pù,pū\": \"铺\",\n\"zhù,zhú\": \"筑\",\n\"dá,dā\": \"答\",\n\"bǎo,bǔ,pù\": \"堡\",\n\"ào,yù\": \"奥\",\n\"fān,pān\": \"番\",\n\"là,xī\": \"腊\",\n\"gǎng,jiǎng\": \"港\",\n\"céng,zēng\": \"曾\",\n\"yú,tōu\": \"愉\",\n\"qiáng,qiǎng,jiàng\": \"强\",\n\"shǔ,zhǔ\": \"属\",\n\"zhōu,yù\": \"粥\",\n\"shè,niè\": \"摄\",\n\"tián,zhèn\": \"填\",\n\"méng,mēng,měng\": \"蒙\",\n\"jìn,jīn\": \"禁\",\n\"lù,liù\": \"碌\",\n\"tiào,táo\": \"跳\",\n\"é,yǐ\": \"蛾\",\n\"jiě,jiè,xiè\": \"解\",\n\"shù,shǔ,shuò\": \"数\",\n\"liū,liù\": \"溜\",\n\"sāi,sài,sè\": \"塞\",\n\"pì,bì\": \"辟\",\n\"fèng,féng\": \"缝\",\n\"piě,piē\": \"撇\",\n\"mó,mú\": \"模\",\n\"bǎng,bàng\": \"榜\",\n\"shang,cháng\": \"裳\",\n\"xiān,xiǎn\": \"鲜\",\n\"yí,nǐ\": \"疑\",\n\"gāo,gào\": \"膏\",\n\"piāo,piào,piǎo\": \"漂\",\n\"suō,sù\": \"缩\",\n\"qù,cù\": \"趣\",\n\"sā,sǎ\": \"撒\",\n\"tàng,tāng\": \"趟\",\n\"héng,hèng\": \"横\",\n\"mán,mén\": \"瞒\",\n\"bào,pù\": \"暴\",\n\"mó,mā\": \"摩\",\n\"hú,hū,hù\": \"糊\",\n\"pī,pǐ\": \"劈\",\n\"yàn,yān\": \"燕\",\n\"báo,bó,bò\": \"薄\",\n\"mó,mò\": \"磨\",\n\"jiǎo,zhuó\": \"缴\",\n\"cáng,zàng\": \"藏\",\n\"fán,pó\": \"繁\",\n\"bì,bei\": \"臂\",\n\"chàn,zhàn\": \"颤\",\n\"jiāng,qiáng\": \"疆\",\n\"jiáo,jué,jiào\": \"嚼\",\n\"rǎng,rāng\": \"嚷\",\n\"lù,lòu\": \"露\",\n\"náng,nāng\": \"囊\",\n\"hāng,bèn\": \"夯\",\n\"āo,wā\": \"凹\",\n\"féng,píng\": \"冯\",\n\"xū,yù\": \"吁\",\n\"lèi,lē\": \"肋\",\n\"lūn,lún\": \"抡\",\n\"jiè,gài\": \"芥\",\n\"xīn,xìn\": \"芯\",\n\"chā,chà\": \"杈\",\n\"xiāo,xiào\": \"肖\",\n\"zhī,zī\": \"吱\",\n\"ǒu,ōu,òu\": \"呕\",\n\"nà,nè\": \"呐\",\n\"qiàng,qiāng\": \"呛\",\n\"tún,dùn\": \"囤\",\n\"kēng,háng\": \"吭\",\n\"diàn,tián\": \"佃\",\n\"sì,cì\": \"伺\",\n\"diàn,tián,shèng\": \"甸\",\n\"páo,bào\": \"刨\",\n\"duì,ruì,yuè\": \"兑\",\n\"kē,kě\": \"坷\",\n\"tuò,tà,zhí\": \"拓\",\n\"fú,bì\": \"拂\",\n\"nǐng,níng,nìng\": \"拧\",\n\"ào,ǎo,niù\": \"拗\",\n\"kē,hē\": \"苛\",\n\"yān,yǎn\": \"奄\",\n\"hē,a,kē\": \"呵\",\n\"gā,kā\": \"咖\",\n\"jiǎo,yáo\": \"侥\",\n\"chà,shā\": \"刹\",\n\"nüè,yào\": \"疟\",\n\"máng,méng\": \"氓\",\n\"gē,yì\": \"疙\",\n\"jǔ,jù\": \"沮\",\n\"zú,cù\": \"卒\",\n\"wǎn,yuān\": \"宛\",\n\"mí,mǐ\": \"弥\",\n\"qì,qiè,xiè\": \"契\",\n\"xié,jiā\": \"挟\",\n\"duò,duǒ\": \"垛\",\n\"zhà,shān,shi,cè\": \"栅\",\n\"bó,bèi\": \"勃\",\n\"zhóu,zhòu\": \"轴\",\n\"liē,liě,lié,lie\": \"咧\",\n\"yo,yō\": \"哟\",\n\"qiào,xiào\": \"俏\",\n\"hóu,hòu\": \"侯\",\n\"píng,bǐng\": \"屏\",\n\"nà,nuó\": \"娜\",\n\"pá,bà\": \"耙\",\n\"qī,xī\": \"栖\",\n\"jiǎ,gǔ\": \"贾\",\n\"láo,lào\": \"唠\",\n\"bàng,bèng\": \"蚌\",\n\"gōng,zhōng\": \"蚣\",\n\"li,lǐ,lī\": \"哩\",\n\"juè,jué\": \"倔\",\n\"yīn,yān,yǐn\": \"殷\",\n\"wō,guō\": \"涡\",\n\"lào,luò\": \"烙\",\n\"niǎn,niē\": \"捻\",\n\"yè,yē\": \"掖\",\n\"chān,xiān,càn,shǎn\": \"掺\",\n\"dǎn,shàn\": \"掸\",\n\"fēi,fěi\": \"菲\",\n\"qián,gān\": \"乾\",\n\"shuò,shí\": \"硕\",\n\"luō,luó,luo\": \"啰\",\n\"hǔ,xià\": \"唬\",\n\"dāng,chēng\": \"铛\",\n\"xiǎn,xǐ\": \"铣\",\n\"jiǎo,jiáo\": \"矫\",\n\"kuǐ,guī\": \"傀\",\n\"jì,zhài\": \"祭\",\n\"tǎng,chǎng\": \"淌\",\n\"chún,zhūn\": \"淳\",\n\"wèi,yù\": \"尉\",\n\"duò,huī\": \"堕\",\n\"chuò,chāo\": \"绰\",\n\"bēng,běng,bèng\": \"绷\",\n\"zōng,zèng\": \"综\",\n\"zhuó,zuó\": \"琢\",\n\"chuǎi,chuài,chuāi,tuán,zhuī\": \"揣\",\n\"péng,bāng\": \"彭\",\n\"zhuī,chuí\": \"椎\",\n\"léng,lēng,líng\": \"棱\",\n\"qiào,qiáo\": \"翘\",\n\"zhā,chā\": \"喳\",\n\"há,gé\": \"蛤\",\n\"qiàn,kàn\": \"嵌\",\n\"yān,ā\": \"腌\",\n\"dūn,duì\": \"敦\",\n\"kuì,huì\": \"溃\",\n\"sāo,sǎo\": \"骚\",\n\"kǎi,jiē\": \"楷\",\n\"pín,bīn\": \"频\",\n\"liú,liù\": \"馏\",\n\"nì,niào\": \"溺\",\n\"jiǎo,chāo\": \"剿\",\n\"áo,āo\": \"熬\",\n\"màn,wàn\": \"蔓\",\n\"chá,chā\": \"碴\",\n\"xūn,xùn\": \"熏\",\n\"da,dá\": \"瘩\",\n\"tuì,tùn\": \"褪\",\n\"liáo,liāo\": \"撩\",\n\"cuō,zuǒ\": \"撮\",\n\"cháo,zhāo\": \"嘲\",\n\"hēi,mò\": \"嘿\",\n\"zhuàng,chuáng\": \"幢\",\n\"jī,qǐ\": \"稽\",\n\"biě,biē\": \"瘪\",\n\"liáo,lào,lǎo\": \"潦\",\n\"chéng,dèng\": \"澄\",\n\"lèi,léi\": \"擂\",\n\"mò,má\": \"蟆\",\n\"liáo,liǎo\": \"燎\",\n\"liào,liǎo\": \"瞭\",\n\"sào,sāo\": \"臊\",\n\"mí,méi\": \"糜\",\n\"huò,huō,huá\": \"豁\",\n\"pù,bào\": \"瀑\",\n\"zǎn,cuán\": \"攒\",\n\"bò,bǒ\": \"簸\",\n\"bó,bù\": \"簿\",\n}","// 带声调字符。\nmodule.exports = {\n \"ā\": \"a1\",\n \"á\": \"a2\",\n \"ǎ\": \"a3\",\n \"à\": \"a4\",\n \"ē\": \"e1\",\n \"é\": \"e2\",\n \"ě\": \"e3\",\n \"è\": \"e4\",\n \"ō\": \"o1\",\n \"ó\": \"o2\",\n \"ǒ\": \"o3\",\n \"ò\": \"o4\",\n \"ī\": \"i1\",\n \"í\": \"i2\",\n \"ǐ\": \"i3\",\n \"ì\": \"i4\",\n \"ū\": \"u1\",\n \"ú\": \"u2\",\n \"ǔ\": \"u3\",\n \"ù\": \"u4\",\n \"ü\": \"v0\",\n \"ǘ\": \"v2\",\n \"ǚ\": \"v3\",\n \"ǜ\": \"v4\",\n \"ń\": \"n2\",\n \"ň\": \"n3\",\n \"\": \"m2\",\n};\n","\"use strict\";\n\nconst assign = require(\"object-assign\");\n// XXX: Symbol when web support.\nconst PINYIN_STYLE = {\n NORMAL: 0, // 普通风格,不带声调。\n TONE: 1, // 标准风格,声调在韵母的第一个字母上。\n TONE2: 2, // 声调以数字形式在拼音之后,使用数字 0~4 标识。\n TO3NE: 5, // 声调以数字形式在声母之后,使用数字 0~4 标识。\n INITIALS: 3, // 仅需要声母部分。\n FIRST_LETTER: 4, // 仅保留首字母。\n};\nconst DEFAULT_OPTIONS = {\n style: PINYIN_STYLE.TONE, // 风格\n segment: false, // 分词。\n heteronym: false, // 多音字\n};\n\n// 声母表。\nconst INITIALS = \"b,p,m,f,d,t,n,l,g,k,h,j,q,x,r,zh,ch,sh,z,c,s\".split(\",\");\n// 韵母表。\n//const FINALS = \"ang,eng,ing,ong,an,en,in,un,er,ai,ei,ui,ao,ou,iu,ie,ve,a,o,e,i,u,v\".split(\",\");\n// 带声调字符。\nconst PHONETIC_SYMBOL = require(\"./phonetic-symbol\");\nconst RE_PHONETIC_SYMBOL = new RegExp(\"([\" + Object.keys(PHONETIC_SYMBOL).join(\"\") + \"])\", \"g\");\nconst RE_TONE2 = /([aeoiuvnm])([0-4])$/;\n\n/*\n * 格式化拼音为声母(Initials)形式。\n * @param {String}\n * @return {String}\n */\nfunction initials(pinyin) {\n for (let i = 0, l = INITIALS.length; i < l; i++){\n if (pinyin.indexOf(INITIALS[i]) === 0) {\n return INITIALS[i];\n }\n }\n return \"\";\n}\n\nclass Pinyin {\n constructor (dict) {\n this._dict = dict;\n }\n\n // @param {String} hans 要转为拼音的目标字符串(汉字)。\n // @param {Object} options, 可选,用于指定拼音风格,是否启用多音字。\n // @return {Array} 返回的拼音列表。\n convert (hans, options) {\n\n if (typeof hans !== \"string\") {\n return [];\n }\n\n options = assign({}, DEFAULT_OPTIONS, options);\n\n let pys = [];\n let nohans = \"\";\n\n for(let i = 0, firstCharCode, words, l = hans.length; i < l; i++){\n\n words = hans[i];\n firstCharCode = words.charCodeAt(0);\n\n if(this._dict[firstCharCode]){\n\n // ends of non-chinese words.\n if(nohans.length > 0){\n pys.push([nohans]);\n nohans = \"\"; // reset non-chinese words.\n }\n\n pys.push(this.single_pinyin(words, options));\n\n }else{\n nohans += words;\n }\n }\n\n // 清理最后的非中文字符串。\n if(nohans.length > 0){\n pys.push([nohans]);\n nohans = \"\"; // reset non-chinese words.\n }\n return pys;\n }\n\n // 单字拼音转换。\n // @param {String} han, 单个汉字\n // @return {Array} 返回拼音列表,多音字会有多个拼音项。\n single_pinyin (han, options) {\n\n if (typeof han !== \"string\") {\n return [];\n }\n if (han.length !== 1) {\n return this.single_pinyin(han.charAt(0), options);\n }\n\n let hanCode = han.charCodeAt(0);\n\n if (!this._dict[hanCode]) {\n return [han];\n }\n\n let pys = this._dict[hanCode].split(\",\");\n if(!options.heteronym){\n return [Pinyin.toFixed(pys[0], options.style)];\n }\n\n // 临时存储已存在的拼音,避免多音字拼音转换为非注音风格出现重复。\n let py_cached = {};\n let pinyins = [];\n for(let i = 0, py, l = pys.length; i < l; i++){\n py = Pinyin.toFixed(pys[i], options.style);\n if(py_cached.hasOwnProperty(py)){\n continue;\n }\n py_cached[py] = py;\n\n pinyins.push(py);\n }\n return pinyins;\n }\n\n /**\n * 格式化拼音风格。\n *\n * @param {String} pinyin TONE 风格的拼音。\n * @param {ENUM} style 目标转换的拼音风格。\n * @return {String} 转换后的拼音。\n */\n static toFixed (pinyin, style) {\n let tone = \"\"; // 声调。\n let first_letter;\n let py;\n switch(style){\n case PINYIN_STYLE.INITIALS:\n return initials(pinyin);\n\n case PINYIN_STYLE.FIRST_LETTER:\n first_letter = pinyin.charAt(0);\n if (PHONETIC_SYMBOL.hasOwnProperty(first_letter)) {\n first_letter = PHONETIC_SYMBOL[first_letter].charAt(0);\n }\n return first_letter;\n\n case PINYIN_STYLE.NORMAL:\n return pinyin.replace(RE_PHONETIC_SYMBOL, function($0, $1_phonetic){\n return PHONETIC_SYMBOL[$1_phonetic].replace(RE_TONE2, \"$1\");\n });\n\n case PINYIN_STYLE.TO3NE:\n return pinyin.replace(RE_PHONETIC_SYMBOL, function($0, $1_phonetic){\n return PHONETIC_SYMBOL[$1_phonetic];\n });\n\n case PINYIN_STYLE.TONE2:\n py = pinyin.replace(RE_PHONETIC_SYMBOL, function($0, $1){\n // 声调数值。\n tone = PHONETIC_SYMBOL[$1].replace(RE_TONE2, \"$2\");\n\n return PHONETIC_SYMBOL[$1].replace(RE_TONE2, \"$1\");\n });\n return py + tone;\n\n case PINYIN_STYLE.TONE:\n default:\n return pinyin;\n }\n }\n\n /**\n * 比较两个汉字转成拼音后的排序顺序,可以用作默认的拼音排序算法。\n *\n * @param {String} hanA 汉字字符串 A。\n * @return {String} hanB 汉字字符串 B。\n * @return {Number} 返回 -1,0,或 1。\n */\n compare (hanA, hanB) {\n const pinyinA = this.convert(hanA, DEFAULT_OPTIONS);\n const pinyinB = this.convert(hanB, DEFAULT_OPTIONS);\n return String(pinyinA).localeCompare(String(pinyinB));\n }\n\n static get STYLE_NORMAL () {\n return PINYIN_STYLE.NORMAL;\n }\n static get STYLE_TONE () {\n return PINYIN_STYLE.TONE;\n }\n static get STYLE_TONE2 () {\n return PINYIN_STYLE.TONE2;\n }\n static get STYLE_TO3NE () {\n return PINYIN_STYLE.TO3NE;\n }\n static get STYLE_INITIALS () {\n return PINYIN_STYLE.INITIALS;\n }\n static get STYLE_FIRST_LETTER () {\n return PINYIN_STYLE.FIRST_LETTER;\n }\n static get DEFAULT_OPTIONS () {\n return DEFAULT_OPTIONS;\n }\n}\n\nmodule.exports = Pinyin;\n","\"use strict\";\n\n// 解压拼音库。\n// @param {Object} dict_combo, 压缩的拼音库。\n// @param {Object} 解压的拼音库。\nfunction buildPinyinCache(dict_combo){\n let hans;\n let uncomboed = {};\n\n for(let py in dict_combo){\n hans = dict_combo[py];\n for(let i = 0, han, l = hans.length; i < l; i++){\n han = hans.charCodeAt(i);\n if(!uncomboed.hasOwnProperty(han)){\n uncomboed[han] = py;\n }else{\n uncomboed[han] += \",\" + py;\n }\n }\n }\n\n return uncomboed;\n}\n\nconst PINYIN_DICT = buildPinyinCache(require(\"../data/dict-zi-web\"));\nconst Pinyin = require(\"./pinyin\");\nconst pinyin = new Pinyin(PINYIN_DICT);\n\nmodule.exports = pinyin.convert.bind(pinyin);\nmodule.exports.compare = pinyin.compare.bind(pinyin);\nmodule.exports.STYLE_NORMAL = Pinyin.STYLE_NORMAL;\nmodule.exports.STYLE_TONE = Pinyin.STYLE_TONE;\nmodule.exports.STYLE_TONE2 = Pinyin.STYLE_TONE2;\nmodule.exports.STYLE_TO3NE = Pinyin.STYLE_TO3NE;\nmodule.exports.STYLE_INITIALS = Pinyin.STYLE_INITIALS;\nmodule.exports.STYLE_FIRST_LETTER = Pinyin.STYLE_FIRST_LETTER;\n","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\nvar ReactPropTypesSecret = require('./lib/ReactPropTypesSecret');\n\nfunction emptyFunction() {}\nfunction emptyFunctionWithReset() {}\nemptyFunctionWithReset.resetWarningCache = emptyFunction;\n\nmodule.exports = function() {\n function shim(props, propName, componentName, location, propFullName, secret) {\n if (secret === ReactPropTypesSecret) {\n // It is still safe when called from React.\n return;\n }\n var err = new Error(\n 'Calling PropTypes validators directly is not supported by the `prop-types` package. ' +\n 'Use PropTypes.checkPropTypes() to call them. ' +\n 'Read more at http://fb.me/use-check-prop-types'\n );\n err.name = 'Invariant Violation';\n throw err;\n };\n shim.isRequired = shim;\n function getShim() {\n return shim;\n };\n // Important!\n // Keep this list in sync with production version in `./factoryWithTypeCheckers.js`.\n var ReactPropTypes = {\n array: shim,\n bigint: shim,\n bool: shim,\n func: shim,\n number: shim,\n object: shim,\n string: shim,\n symbol: shim,\n\n any: shim,\n arrayOf: getShim,\n element: shim,\n elementType: shim,\n instanceOf: getShim,\n node: shim,\n objectOf: getShim,\n oneOf: getShim,\n oneOfType: getShim,\n shape: getShim,\n exact: getShim,\n\n checkPropTypes: emptyFunctionWithReset,\n resetWarningCache: emptyFunction\n };\n\n ReactPropTypes.PropTypes = ReactPropTypes;\n\n return ReactPropTypes;\n};\n","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nif (process.env.NODE_ENV !== 'production') {\n var ReactIs = require('react-is');\n\n // By explicitly using `prop-types` you are opting into new development behavior.\n // http://fb.me/prop-types-in-prod\n var throwOnDirectAccess = true;\n module.exports = require('./factoryWithTypeCheckers')(ReactIs.isElement, throwOnDirectAccess);\n} else {\n // By explicitly using `prop-types` you are opting into new production behavior.\n // http://fb.me/prop-types-in-prod\n module.exports = require('./factoryWithThrowingShims')();\n}\n","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\nvar ReactPropTypesSecret = 'SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED';\n\nmodule.exports = ReactPropTypesSecret;\n","module.exports = {\n F: require('./src/F'),\n T: require('./src/T'),\n __: require('./src/__'),\n add: require('./src/add'),\n addIndex: require('./src/addIndex'),\n adjust: require('./src/adjust'),\n all: require('./src/all'),\n allPass: require('./src/allPass'),\n always: require('./src/always'),\n and: require('./src/and'),\n any: require('./src/any'),\n anyPass: require('./src/anyPass'),\n ap: require('./src/ap'),\n aperture: require('./src/aperture'),\n append: require('./src/append'),\n apply: require('./src/apply'),\n applySpec: require('./src/applySpec'),\n ascend: require('./src/ascend'),\n assoc: require('./src/assoc'),\n assocPath: require('./src/assocPath'),\n binary: require('./src/binary'),\n bind: require('./src/bind'),\n both: require('./src/both'),\n call: require('./src/call'),\n chain: require('./src/chain'),\n clamp: require('./src/clamp'),\n clone: require('./src/clone'),\n comparator: require('./src/comparator'),\n complement: require('./src/complement'),\n compose: require('./src/compose'),\n composeK: require('./src/composeK'),\n composeP: require('./src/composeP'),\n concat: require('./src/concat'),\n cond: require('./src/cond'),\n construct: require('./src/construct'),\n constructN: require('./src/constructN'),\n contains: require('./src/contains'),\n converge: require('./src/converge'),\n countBy: require('./src/countBy'),\n curry: require('./src/curry'),\n curryN: require('./src/curryN'),\n dec: require('./src/dec'),\n descend: require('./src/descend'),\n defaultTo: require('./src/defaultTo'),\n difference: require('./src/difference'),\n differenceWith: require('./src/differenceWith'),\n dissoc: require('./src/dissoc'),\n dissocPath: require('./src/dissocPath'),\n divide: require('./src/divide'),\n drop: require('./src/drop'),\n dropLast: require('./src/dropLast'),\n dropLastWhile: require('./src/dropLastWhile'),\n dropRepeats: require('./src/dropRepeats'),\n dropRepeatsWith: require('./src/dropRepeatsWith'),\n dropWhile: require('./src/dropWhile'),\n either: require('./src/either'),\n empty: require('./src/empty'),\n eqBy: require('./src/eqBy'),\n eqProps: require('./src/eqProps'),\n equals: require('./src/equals'),\n evolve: require('./src/evolve'),\n filter: require('./src/filter'),\n find: require('./src/find'),\n findIndex: require('./src/findIndex'),\n findLast: require('./src/findLast'),\n findLastIndex: require('./src/findLastIndex'),\n flatten: require('./src/flatten'),\n flip: require('./src/flip'),\n forEach: require('./src/forEach'),\n forEachObjIndexed: require('./src/forEachObjIndexed'),\n fromPairs: require('./src/fromPairs'),\n groupBy: require('./src/groupBy'),\n groupWith: require('./src/groupWith'),\n gt: require('./src/gt'),\n gte: require('./src/gte'),\n has: require('./src/has'),\n hasIn: require('./src/hasIn'),\n head: require('./src/head'),\n identical: require('./src/identical'),\n identity: require('./src/identity'),\n ifElse: require('./src/ifElse'),\n inc: require('./src/inc'),\n indexBy: require('./src/indexBy'),\n indexOf: require('./src/indexOf'),\n init: require('./src/init'),\n insert: require('./src/insert'),\n insertAll: require('./src/insertAll'),\n intersection: require('./src/intersection'),\n intersectionWith: require('./src/intersectionWith'),\n intersperse: require('./src/intersperse'),\n into: require('./src/into'),\n invert: require('./src/invert'),\n invertObj: require('./src/invertObj'),\n invoker: require('./src/invoker'),\n is: require('./src/is'),\n isArrayLike: require('./src/isArrayLike'),\n isEmpty: require('./src/isEmpty'),\n isNil: require('./src/isNil'),\n join: require('./src/join'),\n juxt: require('./src/juxt'),\n keys: require('./src/keys'),\n keysIn: require('./src/keysIn'),\n last: require('./src/last'),\n lastIndexOf: require('./src/lastIndexOf'),\n length: require('./src/length'),\n lens: require('./src/lens'),\n lensIndex: require('./src/lensIndex'),\n lensPath: require('./src/lensPath'),\n lensProp: require('./src/lensProp'),\n lift: require('./src/lift'),\n liftN: require('./src/liftN'),\n lt: require('./src/lt'),\n lte: require('./src/lte'),\n map: require('./src/map'),\n mapAccum: require('./src/mapAccum'),\n mapAccumRight: require('./src/mapAccumRight'),\n mapObjIndexed: require('./src/mapObjIndexed'),\n match: require('./src/match'),\n mathMod: require('./src/mathMod'),\n max: require('./src/max'),\n maxBy: require('./src/maxBy'),\n mean: require('./src/mean'),\n median: require('./src/median'),\n memoize: require('./src/memoize'),\n merge: require('./src/merge'),\n mergeAll: require('./src/mergeAll'),\n mergeWith: require('./src/mergeWith'),\n mergeWithKey: require('./src/mergeWithKey'),\n min: require('./src/min'),\n minBy: require('./src/minBy'),\n modulo: require('./src/modulo'),\n multiply: require('./src/multiply'),\n nAry: require('./src/nAry'),\n negate: require('./src/negate'),\n none: require('./src/none'),\n not: require('./src/not'),\n nth: require('./src/nth'),\n nthArg: require('./src/nthArg'),\n objOf: require('./src/objOf'),\n of: require('./src/of'),\n omit: require('./src/omit'),\n once: require('./src/once'),\n or: require('./src/or'),\n over: require('./src/over'),\n pair: require('./src/pair'),\n partial: require('./src/partial'),\n partialRight: require('./src/partialRight'),\n partition: require('./src/partition'),\n path: require('./src/path'),\n pathEq: require('./src/pathEq'),\n pathOr: require('./src/pathOr'),\n pathSatisfies: require('./src/pathSatisfies'),\n pick: require('./src/pick'),\n pickAll: require('./src/pickAll'),\n pickBy: require('./src/pickBy'),\n pipe: require('./src/pipe'),\n pipeK: require('./src/pipeK'),\n pipeP: require('./src/pipeP'),\n pluck: require('./src/pluck'),\n prepend: require('./src/prepend'),\n product: require('./src/product'),\n project: require('./src/project'),\n prop: require('./src/prop'),\n propEq: require('./src/propEq'),\n propIs: require('./src/propIs'),\n propOr: require('./src/propOr'),\n propSatisfies: require('./src/propSatisfies'),\n props: require('./src/props'),\n range: require('./src/range'),\n reduce: require('./src/reduce'),\n reduceBy: require('./src/reduceBy'),\n reduceRight: require('./src/reduceRight'),\n reduceWhile: require('./src/reduceWhile'),\n reduced: require('./src/reduced'),\n reject: require('./src/reject'),\n remove: require('./src/remove'),\n repeat: require('./src/repeat'),\n replace: require('./src/replace'),\n reverse: require('./src/reverse'),\n scan: require('./src/scan'),\n sequence: require('./src/sequence'),\n set: require('./src/set'),\n slice: require('./src/slice'),\n sort: require('./src/sort'),\n sortBy: require('./src/sortBy'),\n sortWith: require('./src/sortWith'),\n split: require('./src/split'),\n splitAt: require('./src/splitAt'),\n splitEvery: require('./src/splitEvery'),\n splitWhen: require('./src/splitWhen'),\n subtract: require('./src/subtract'),\n sum: require('./src/sum'),\n symmetricDifference: require('./src/symmetricDifference'),\n symmetricDifferenceWith: require('./src/symmetricDifferenceWith'),\n tail: require('./src/tail'),\n take: require('./src/take'),\n takeLast: require('./src/takeLast'),\n takeLastWhile: require('./src/takeLastWhile'),\n takeWhile: require('./src/takeWhile'),\n tap: require('./src/tap'),\n test: require('./src/test'),\n times: require('./src/times'),\n toLower: require('./src/toLower'),\n toPairs: require('./src/toPairs'),\n toPairsIn: require('./src/toPairsIn'),\n toString: require('./src/toString'),\n toUpper: require('./src/toUpper'),\n transduce: require('./src/transduce'),\n transpose: require('./src/transpose'),\n traverse: require('./src/traverse'),\n trim: require('./src/trim'),\n tryCatch: require('./src/tryCatch'),\n type: require('./src/type'),\n unapply: require('./src/unapply'),\n unary: require('./src/unary'),\n uncurryN: require('./src/uncurryN'),\n unfold: require('./src/unfold'),\n union: require('./src/union'),\n unionWith: require('./src/unionWith'),\n uniq: require('./src/uniq'),\n uniqBy: require('./src/uniqBy'),\n uniqWith: require('./src/uniqWith'),\n unless: require('./src/unless'),\n unnest: require('./src/unnest'),\n until: require('./src/until'),\n update: require('./src/update'),\n useWith: require('./src/useWith'),\n values: require('./src/values'),\n valuesIn: require('./src/valuesIn'),\n view: require('./src/view'),\n when: require('./src/when'),\n where: require('./src/where'),\n whereEq: require('./src/whereEq'),\n without: require('./src/without'),\n xprod: require('./src/xprod'),\n zip: require('./src/zip'),\n zipObj: require('./src/zipObj'),\n zipWith: require('./src/zipWith')\n};\n","var always = require('./always');\n\n\n/**\n * A function that always returns `false`. Any passed in parameters are ignored.\n *\n * @func\n * @memberOf R\n * @since v0.9.0\n * @category Function\n * @sig * -> Boolean\n * @param {*}\n * @return {Boolean}\n * @see R.always, R.T\n * @example\n *\n * R.F(); //=> false\n */\nmodule.exports = always(false);\n","var always = require('./always');\n\n\n/**\n * A function that always returns `true`. Any passed in parameters are ignored.\n *\n * @func\n * @memberOf R\n * @since v0.9.0\n * @category Function\n * @sig * -> Boolean\n * @param {*}\n * @return {Boolean}\n * @see R.always, R.F\n * @example\n *\n * R.T(); //=> true\n */\nmodule.exports = always(true);\n","/**\n * A special placeholder value used to specify \"gaps\" within curried functions,\n * allowing partial application of any combination of arguments, regardless of\n * their positions.\n *\n * If `g` is a curried ternary function and `_` is `R.__`, the following are\n * equivalent:\n *\n * - `g(1, 2, 3)`\n * - `g(_, 2, 3)(1)`\n * - `g(_, _, 3)(1)(2)`\n * - `g(_, _, 3)(1, 2)`\n * - `g(_, 2, _)(1, 3)`\n * - `g(_, 2)(1)(3)`\n * - `g(_, 2)(1, 3)`\n * - `g(_, 2)(_, 3)(1)`\n *\n * @constant\n * @memberOf R\n * @since v0.6.0\n * @category Function\n * @example\n *\n * var greet = R.replace('{name}', R.__, 'Hello, {name}!');\n * greet('Alice'); //=> 'Hello, Alice!'\n */\nmodule.exports = {'@@functional/placeholder': true};\n","var _curry2 = require('./internal/_curry2');\n\n\n/**\n * Adds two values.\n *\n * @func\n * @memberOf R\n * @since v0.1.0\n * @category Math\n * @sig Number -> Number -> Number\n * @param {Number} a\n * @param {Number} b\n * @return {Number}\n * @see R.subtract\n * @example\n *\n * R.add(2, 3); //=> 5\n * R.add(7)(10); //=> 17\n */\nmodule.exports = _curry2(function add(a, b) {\n return Number(a) + Number(b);\n});\n","var _concat = require('./internal/_concat');\nvar _curry1 = require('./internal/_curry1');\nvar curryN = require('./curryN');\n\n\n/**\n * Creates a new list iteration function from an existing one by adding two new\n * parameters to its callback function: the current index, and the entire list.\n *\n * This would turn, for instance, Ramda's simple `map` function into one that\n * more closely resembles `Array.prototype.map`. Note that this will only work\n * for functions in which the iteration callback function is the first\n * parameter, and where the list is the last parameter. (This latter might be\n * unimportant if the list parameter is not used.)\n *\n * @func\n * @memberOf R\n * @since v0.15.0\n * @category Function\n * @category List\n * @sig ((a ... -> b) ... -> [a] -> *) -> (a ..., Int, [a] -> b) ... -> [a] -> *)\n * @param {Function} fn A list iteration function that does not pass index or list to its callback\n * @return {Function} An altered list iteration function that passes (item, index, list) to its callback\n * @example\n *\n * var mapIndexed = R.addIndex(R.map);\n * mapIndexed((val, idx) => idx + '-' + val, ['f', 'o', 'o', 'b', 'a', 'r']);\n * //=> ['0-f', '1-o', '2-o', '3-b', '4-a', '5-r']\n */\nmodule.exports = _curry1(function addIndex(fn) {\n return curryN(fn.length, function() {\n var idx = 0;\n var origFn = arguments[0];\n var list = arguments[arguments.length - 1];\n var args = Array.prototype.slice.call(arguments, 0);\n args[0] = function() {\n var result = origFn.apply(this, _concat(arguments, [idx, list]));\n idx += 1;\n return result;\n };\n return fn.apply(this, args);\n });\n});\n","var _concat = require('./internal/_concat');\nvar _curry3 = require('./internal/_curry3');\n\n\n/**\n * Applies a function to the value at the given index of an array, returning a\n * new copy of the array with the element at the given index replaced with the\n * result of the function application.\n *\n * @func\n * @memberOf R\n * @since v0.14.0\n * @category List\n * @sig (a -> a) -> Number -> [a] -> [a]\n * @param {Function} fn The function to apply.\n * @param {Number} idx The index.\n * @param {Array|Arguments} list An array-like object whose value\n * at the supplied index will be replaced.\n * @return {Array} A copy of the supplied array-like object with\n * the element at index `idx` replaced with the value\n * returned by applying `fn` to the existing element.\n * @see R.update\n * @example\n *\n * R.adjust(R.add(10), 1, [1, 2, 3]); //=> [1, 12, 3]\n * R.adjust(R.add(10))(1)([1, 2, 3]); //=> [1, 12, 3]\n * @symb R.adjust(f, -1, [a, b]) = [a, f(b)]\n * @symb R.adjust(f, 0, [a, b]) = [f(a), b]\n */\nmodule.exports = _curry3(function adjust(fn, idx, list) {\n if (idx >= list.length || idx < -list.length) {\n return list;\n }\n var start = idx < 0 ? list.length : 0;\n var _idx = start + idx;\n var _list = _concat(list);\n _list[_idx] = fn(list[_idx]);\n return _list;\n});\n","var _curry2 = require('./internal/_curry2');\nvar _dispatchable = require('./internal/_dispatchable');\nvar _xall = require('./internal/_xall');\n\n\n/**\n * Returns `true` if all elements of the list match the predicate, `false` if\n * there are any that don't.\n *\n * Dispatches to the `all` method of the second argument, if present.\n *\n * Acts as a transducer if a transformer is given in list position.\n *\n * @func\n * @memberOf R\n * @since v0.1.0\n * @category List\n * @sig (a -> Boolean) -> [a] -> Boolean\n * @param {Function} fn The predicate function.\n * @param {Array} list The array to consider.\n * @return {Boolean} `true` if the predicate is satisfied by every element, `false`\n * otherwise.\n * @see R.any, R.none, R.transduce\n * @example\n *\n * var equals3 = R.equals(3);\n * R.all(equals3)([3, 3, 3, 3]); //=> true\n * R.all(equals3)([3, 3, 1, 3]); //=> false\n */\nmodule.exports = _curry2(_dispatchable(['all'], _xall, function all(fn, list) {\n var idx = 0;\n while (idx < list.length) {\n if (!fn(list[idx])) {\n return false;\n }\n idx += 1;\n }\n return true;\n}));\n","var _curry1 = require('./internal/_curry1');\nvar curryN = require('./curryN');\nvar max = require('./max');\nvar pluck = require('./pluck');\nvar reduce = require('./reduce');\n\n\n/**\n * Takes a list of predicates and returns a predicate that returns true for a\n * given list of arguments if every one of the provided predicates is satisfied\n * by those arguments.\n *\n * The function returned is a curried function whose arity matches that of the\n * highest-arity predicate.\n *\n * @func\n * @memberOf R\n * @since v0.9.0\n * @category Logic\n * @sig [(*... -> Boolean)] -> (*... -> Boolean)\n * @param {Array} predicates An array of predicates to check\n * @return {Function} The combined predicate\n * @see R.anyPass\n * @example\n *\n * var isQueen = R.propEq('rank', 'Q');\n * var isSpade = R.propEq('suit', '♠︎');\n * var isQueenOfSpades = R.allPass([isQueen, isSpade]);\n *\n * isQueenOfSpades({rank: 'Q', suit: '♣︎'}); //=> false\n * isQueenOfSpades({rank: 'Q', suit: '♠︎'}); //=> true\n */\nmodule.exports = _curry1(function allPass(preds) {\n return curryN(reduce(max, 0, pluck('length', preds)), function() {\n var idx = 0;\n var len = preds.length;\n while (idx < len) {\n if (!preds[idx].apply(this, arguments)) {\n return false;\n }\n idx += 1;\n }\n return true;\n });\n});\n","var _curry1 = require('./internal/_curry1');\n\n\n/**\n * Returns a function that always returns the given value. Note that for\n * non-primitives the value returned is a reference to the original value.\n *\n * This function is known as `const`, `constant`, or `K` (for K combinator) in\n * other languages and libraries.\n *\n * @func\n * @memberOf R\n * @since v0.1.0\n * @category Function\n * @sig a -> (* -> a)\n * @param {*} val The value to wrap in a function\n * @return {Function} A Function :: * -> val.\n * @example\n *\n * var t = R.always('Tee');\n * t(); //=> 'Tee'\n */\nmodule.exports = _curry1(function always(val) {\n return function() {\n return val;\n };\n});\n","var _curry2 = require('./internal/_curry2');\n\n\n/**\n * Returns `true` if both arguments are `true`; `false` otherwise.\n *\n * @func\n * @memberOf R\n * @since v0.1.0\n * @category Logic\n * @sig a -> b -> a | b\n * @param {Any} a\n * @param {Any} b\n * @return {Any} the first argument if it is falsy, otherwise the second argument.\n * @see R.both\n * @example\n *\n * R.and(true, true); //=> true\n * R.and(true, false); //=> false\n * R.and(false, true); //=> false\n * R.and(false, false); //=> false\n */\nmodule.exports = _curry2(function and(a, b) {\n return a && b;\n});\n","var _curry2 = require('./internal/_curry2');\nvar _dispatchable = require('./internal/_dispatchable');\nvar _xany = require('./internal/_xany');\n\n\n/**\n * Returns `true` if at least one of elements of the list match the predicate,\n * `false` otherwise.\n *\n * Dispatches to the `any` method of the second argument, if present.\n *\n * Acts as a transducer if a transformer is given in list position.\n *\n * @func\n * @memberOf R\n * @since v0.1.0\n * @category List\n * @sig (a -> Boolean) -> [a] -> Boolean\n * @param {Function} fn The predicate function.\n * @param {Array} list The array to consider.\n * @return {Boolean} `true` if the predicate is satisfied by at least one element, `false`\n * otherwise.\n * @see R.all, R.none, R.transduce\n * @example\n *\n * var lessThan0 = R.flip(R.lt)(0);\n * var lessThan2 = R.flip(R.lt)(2);\n * R.any(lessThan0)([1, 2]); //=> false\n * R.any(lessThan2)([1, 2]); //=> true\n */\nmodule.exports = _curry2(_dispatchable(['any'], _xany, function any(fn, list) {\n var idx = 0;\n while (idx < list.length) {\n if (fn(list[idx])) {\n return true;\n }\n idx += 1;\n }\n return false;\n}));\n","var _curry1 = require('./internal/_curry1');\nvar curryN = require('./curryN');\nvar max = require('./max');\nvar pluck = require('./pluck');\nvar reduce = require('./reduce');\n\n\n/**\n * Takes a list of predicates and returns a predicate that returns true for a\n * given list of arguments if at least one of the provided predicates is\n * satisfied by those arguments.\n *\n * The function returned is a curried function whose arity matches that of the\n * highest-arity predicate.\n *\n * @func\n * @memberOf R\n * @since v0.9.0\n * @category Logic\n * @sig [(*... -> Boolean)] -> (*... -> Boolean)\n * @param {Array} predicates An array of predicates to check\n * @return {Function} The combined predicate\n * @see R.allPass\n * @example\n *\n * var isClub = R.propEq('suit', '♣');\n * var isSpade = R.propEq('suit', '♠');\n * var isBlackCard = R.anyPass([isClub, isSpade]);\n *\n * isBlackCard({rank: '10', suit: '♣'}); //=> true\n * isBlackCard({rank: 'Q', suit: '♠'}); //=> true\n * isBlackCard({rank: 'Q', suit: '♦'}); //=> false\n */\nmodule.exports = _curry1(function anyPass(preds) {\n return curryN(reduce(max, 0, pluck('length', preds)), function() {\n var idx = 0;\n var len = preds.length;\n while (idx < len) {\n if (preds[idx].apply(this, arguments)) {\n return true;\n }\n idx += 1;\n }\n return false;\n });\n});\n","var _concat = require('./internal/_concat');\nvar _curry2 = require('./internal/_curry2');\nvar _reduce = require('./internal/_reduce');\nvar map = require('./map');\n\n\n/**\n * ap applies a list of functions to a list of values.\n *\n * Dispatches to the `ap` method of the second argument, if present. Also\n * treats curried functions as applicatives.\n *\n * @func\n * @memberOf R\n * @since v0.3.0\n * @category Function\n * @sig [a -> b] -> [a] -> [b]\n * @sig Apply f => f (a -> b) -> f a -> f b\n * @param {Array} fns An array of functions\n * @param {Array} vs An array of values\n * @return {Array} An array of results of applying each of `fns` to all of `vs` in turn.\n * @example\n *\n * R.ap([R.multiply(2), R.add(3)], [1,2,3]); //=> [2, 4, 6, 4, 5, 6]\n * R.ap([R.concat('tasty '), R.toUpper], ['pizza', 'salad']); //=> [\"tasty pizza\", \"tasty salad\", \"PIZZA\", \"SALAD\"]\n * @symb R.ap([f, g], [a, b]) = [f(a), f(b), g(a), g(b)]\n */\nmodule.exports = _curry2(function ap(applicative, fn) {\n return (\n typeof applicative.ap === 'function' ?\n applicative.ap(fn) :\n typeof applicative === 'function' ?\n function(x) { return applicative(x)(fn(x)); } :\n // else\n _reduce(function(acc, f) { return _concat(acc, map(f, fn)); }, [], applicative)\n );\n});\n","var _aperture = require('./internal/_aperture');\nvar _curry2 = require('./internal/_curry2');\nvar _dispatchable = require('./internal/_dispatchable');\nvar _xaperture = require('./internal/_xaperture');\n\n\n/**\n * Returns a new list, composed of n-tuples of consecutive elements If `n` is\n * greater than the length of the list, an empty list is returned.\n *\n * Acts as a transducer if a transformer is given in list position.\n *\n * @func\n * @memberOf R\n * @since v0.12.0\n * @category List\n * @sig Number -> [a] -> [[a]]\n * @param {Number} n The size of the tuples to create\n * @param {Array} list The list to split into `n`-length tuples\n * @return {Array} The resulting list of `n`-length tuples\n * @see R.transduce\n * @example\n *\n * R.aperture(2, [1, 2, 3, 4, 5]); //=> [[1, 2], [2, 3], [3, 4], [4, 5]]\n * R.aperture(3, [1, 2, 3, 4, 5]); //=> [[1, 2, 3], [2, 3, 4], [3, 4, 5]]\n * R.aperture(7, [1, 2, 3, 4, 5]); //=> []\n */\nmodule.exports = _curry2(_dispatchable([], _xaperture, _aperture));\n","var _concat = require('./internal/_concat');\nvar _curry2 = require('./internal/_curry2');\n\n\n/**\n * Returns a new list containing the contents of the given list, followed by\n * the given element.\n *\n * @func\n * @memberOf R\n * @since v0.1.0\n * @category List\n * @sig a -> [a] -> [a]\n * @param {*} el The element to add to the end of the new list.\n * @param {Array} list The list of elements to add a new item to.\n * list.\n * @return {Array} A new list containing the elements of the old list followed by `el`.\n * @see R.prepend\n * @example\n *\n * R.append('tests', ['write', 'more']); //=> ['write', 'more', 'tests']\n * R.append('tests', []); //=> ['tests']\n * R.append(['tests'], ['write', 'more']); //=> ['write', 'more', ['tests']]\n */\nmodule.exports = _curry2(function append(el, list) {\n return _concat(list, [el]);\n});\n","var _curry2 = require('./internal/_curry2');\n\n\n/**\n * Applies function `fn` to the argument list `args`. This is useful for\n * creating a fixed-arity function from a variadic function. `fn` should be a\n * bound function if context is significant.\n *\n * @func\n * @memberOf R\n * @since v0.7.0\n * @category Function\n * @sig (*... -> a) -> [*] -> a\n * @param {Function} fn The function which will be called with `args`\n * @param {Array} args The arguments to call `fn` with\n * @return {*} result The result, equivalent to `fn(...args)`\n * @see R.call, R.unapply\n * @example\n *\n * var nums = [1, 2, 3, -99, 42, 6, 7];\n * R.apply(Math.max, nums); //=> 42\n * @symb R.apply(f, [a, b, c]) = f(a, b, c)\n */\nmodule.exports = _curry2(function apply(fn, args) {\n return fn.apply(this, args);\n});\n","var _curry1 = require('./internal/_curry1');\nvar apply = require('./apply');\nvar curryN = require('./curryN');\nvar map = require('./map');\nvar max = require('./max');\nvar pluck = require('./pluck');\nvar reduce = require('./reduce');\nvar values = require('./values');\n\n\n/**\n * Given a spec object recursively mapping properties to functions, creates a\n * function producing an object of the same structure, by mapping each property\n * to the result of calling its associated function with the supplied arguments.\n *\n * @func\n * @memberOf R\n * @since v0.20.0\n * @category Function\n * @sig {k: ((a, b, ..., m) -> v)} -> ((a, b, ..., m) -> {k: v})\n * @param {Object} spec an object recursively mapping properties to functions for\n * producing the values for these properties.\n * @return {Function} A function that returns an object of the same structure\n * as `spec', with each property set to the value returned by calling its\n * associated function with the supplied arguments.\n * @see R.converge, R.juxt\n * @example\n *\n * var getMetrics = R.applySpec({\n * sum: R.add,\n * nested: { mul: R.multiply }\n * });\n * getMetrics(2, 4); // => { sum: 6, nested: { mul: 8 } }\n * @symb R.applySpec({ x: f, y: { z: g } })(a, b) = { x: f(a, b), y: { z: g(a, b) } }\n */\nmodule.exports = _curry1(function applySpec(spec) {\n spec = map(function(v) { return typeof v == 'function' ? v : applySpec(v); },\n spec);\n return curryN(reduce(max, 0, pluck('length', values(spec))),\n function() {\n var args = arguments;\n return map(function(f) { return apply(f, args); }, spec);\n });\n});\n","var _curry3 = require('./internal/_curry3');\n\n\n/**\n * Makes an ascending comparator function out of a function that returns a value\n * that can be compared with `<` and `>`.\n *\n * @func\n * @memberOf R\n * @since v0.23.0\n * @category Function\n * @sig Ord b => (a -> b) -> a -> a -> Number\n * @param {Function} fn A function of arity one that returns a value that can be compared\n * @param {*} a The first item to be compared.\n * @param {*} b The second item to be compared.\n * @return {Number} `-1` if fn(a) < fn(b), `1` if fn(b) < fn(a), otherwise `0`\n * @example\n *\n * var byAge = R.ascend(R.prop('age'));\n * var people = [\n * // ...\n * ];\n * var peopleByYoungestFirst = R.sort(byAge, people);\n */\nmodule.exports = _curry3(function ascend(fn, a, b) {\n var aa = fn(a);\n var bb = fn(b);\n return aa < bb ? -1 : aa > bb ? 1 : 0;\n});\n","var _curry3 = require('./internal/_curry3');\n\n\n/**\n * Makes a shallow clone of an object, setting or overriding the specified\n * property with the given value. Note that this copies and flattens prototype\n * properties onto the new object as well. All non-primitive properties are\n * copied by reference.\n *\n * @func\n * @memberOf R\n * @since v0.8.0\n * @category Object\n * @sig String -> a -> {k: v} -> {k: v}\n * @param {String} prop The property name to set\n * @param {*} val The new value\n * @param {Object} obj The object to clone\n * @return {Object} A new object equivalent to the original except for the changed property.\n * @see R.dissoc\n * @example\n *\n * R.assoc('c', 3, {a: 1, b: 2}); //=> {a: 1, b: 2, c: 3}\n */\nmodule.exports = _curry3(function assoc(prop, val, obj) {\n var result = {};\n for (var p in obj) {\n result[p] = obj[p];\n }\n result[prop] = val;\n return result;\n});\n","var _curry3 = require('./internal/_curry3');\nvar _has = require('./internal/_has');\nvar _isArray = require('./internal/_isArray');\nvar _isInteger = require('./internal/_isInteger');\nvar assoc = require('./assoc');\n\n\n/**\n * Makes a shallow clone of an object, setting or overriding the nodes required\n * to create the given path, and placing the specific value at the tail end of\n * that path. Note that this copies and flattens prototype properties onto the\n * new object as well. All non-primitive properties are copied by reference.\n *\n * @func\n * @memberOf R\n * @since v0.8.0\n * @category Object\n * @typedefn Idx = String | Int\n * @sig [Idx] -> a -> {a} -> {a}\n * @param {Array} path the path to set\n * @param {*} val The new value\n * @param {Object} obj The object to clone\n * @return {Object} A new object equivalent to the original except along the specified path.\n * @see R.dissocPath\n * @example\n *\n * R.assocPath(['a', 'b', 'c'], 42, {a: {b: {c: 0}}}); //=> {a: {b: {c: 42}}}\n *\n * // Any missing or non-object keys in path will be overridden\n * R.assocPath(['a', 'b', 'c'], 42, {a: 5}); //=> {a: {b: {c: 42}}}\n */\nmodule.exports = _curry3(function assocPath(path, val, obj) {\n if (path.length === 0) {\n return val;\n }\n var idx = path[0];\n if (path.length > 1) {\n var nextObj = _has(idx, obj) ? obj[idx] : _isInteger(path[1]) ? [] : {};\n val = assocPath(Array.prototype.slice.call(path, 1), val, nextObj);\n }\n if (_isInteger(idx) && _isArray(obj)) {\n var arr = [].concat(obj);\n arr[idx] = val;\n return arr;\n } else {\n return assoc(idx, val, obj);\n }\n});\n","var _curry1 = require('./internal/_curry1');\nvar nAry = require('./nAry');\n\n\n/**\n * Wraps a function of any arity (including nullary) in a function that accepts\n * exactly 2 parameters. Any extraneous parameters will not be passed to the\n * supplied function.\n *\n * @func\n * @memberOf R\n * @since v0.2.0\n * @category Function\n * @sig (* -> c) -> (a, b -> c)\n * @param {Function} fn The function to wrap.\n * @return {Function} A new function wrapping `fn`. The new function is guaranteed to be of\n * arity 2.\n * @example\n *\n * var takesThreeArgs = function(a, b, c) {\n * return [a, b, c];\n * };\n * takesThreeArgs.length; //=> 3\n * takesThreeArgs(1, 2, 3); //=> [1, 2, 3]\n *\n * var takesTwoArgs = R.binary(takesThreeArgs);\n * takesTwoArgs.length; //=> 2\n * // Only 2 arguments are passed to the wrapped function\n * takesTwoArgs(1, 2, 3); //=> [1, 2, undefined]\n * @symb R.binary(f)(a, b, c) = f(a, b)\n */\nmodule.exports = _curry1(function binary(fn) {\n return nAry(2, fn);\n});\n","var _arity = require('./internal/_arity');\nvar _curry2 = require('./internal/_curry2');\n\n\n/**\n * Creates a function that is bound to a context.\n * Note: `R.bind` does not provide the additional argument-binding capabilities of\n * [Function.prototype.bind](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Function/bind).\n *\n * @func\n * @memberOf R\n * @since v0.6.0\n * @category Function\n * @category Object\n * @sig (* -> *) -> {*} -> (* -> *)\n * @param {Function} fn The function to bind to context\n * @param {Object} thisObj The context to bind `fn` to\n * @return {Function} A function that will execute in the context of `thisObj`.\n * @see R.partial\n * @example\n *\n * var log = R.bind(console.log, console);\n * R.pipe(R.assoc('a', 2), R.tap(log), R.assoc('a', 3))({a: 1}); //=> {a: 3}\n * // logs {a: 2}\n * @symb R.bind(f, o)(a, b) = f.call(o, a, b)\n */\nmodule.exports = _curry2(function bind(fn, thisObj) {\n return _arity(fn.length, function() {\n return fn.apply(thisObj, arguments);\n });\n});\n","var _curry2 = require('./internal/_curry2');\nvar _isFunction = require('./internal/_isFunction');\nvar and = require('./and');\nvar lift = require('./lift');\n\n\n/**\n * A function which calls the two provided functions and returns the `&&`\n * of the results.\n * It returns the result of the first function if it is false-y and the result\n * of the second function otherwise. Note that this is short-circuited,\n * meaning that the second function will not be invoked if the first returns a\n * false-y value.\n *\n * In addition to functions, `R.both` also accepts any fantasy-land compatible\n * applicative functor.\n *\n * @func\n * @memberOf R\n * @since v0.12.0\n * @category Logic\n * @sig (*... -> Boolean) -> (*... -> Boolean) -> (*... -> Boolean)\n * @param {Function} f A predicate\n * @param {Function} g Another predicate\n * @return {Function} a function that applies its arguments to `f` and `g` and `&&`s their outputs together.\n * @see R.and\n * @example\n *\n * var gt10 = R.gt(R.__, 10)\n * var lt20 = R.lt(R.__, 20)\n * var f = R.both(gt10, lt20);\n * f(15); //=> true\n * f(30); //=> false\n */\nmodule.exports = _curry2(function both(f, g) {\n return _isFunction(f) ?\n function _both() {\n return f.apply(this, arguments) && g.apply(this, arguments);\n } :\n lift(and)(f, g);\n});\n","var curry = require('./curry');\n\n\n/**\n * Returns the result of calling its first argument with the remaining\n * arguments. This is occasionally useful as a converging function for\n * `R.converge`: the left branch can produce a function while the right branch\n * produces a value to be passed to that function as an argument.\n *\n * @func\n * @memberOf R\n * @since v0.9.0\n * @category Function\n * @sig (*... -> a),*... -> a\n * @param {Function} fn The function to apply to the remaining arguments.\n * @param {...*} args Any number of positional arguments.\n * @return {*}\n * @see R.apply\n * @example\n *\n * R.call(R.add, 1, 2); //=> 3\n *\n * var indentN = R.pipe(R.times(R.always(' ')),\n * R.join(''),\n * R.replace(/^(?!$)/gm));\n *\n * var format = R.converge(R.call, [\n * R.pipe(R.prop('indent'), indentN),\n * R.prop('value')\n * ]);\n *\n * format({indent: 2, value: 'foo\\nbar\\nbaz\\n'}); //=> ' foo\\n bar\\n baz\\n'\n * @symb R.call(f, a, b) = f(a, b)\n */\nmodule.exports = curry(function call(fn) {\n return fn.apply(this, Array.prototype.slice.call(arguments, 1));\n});\n","var _curry2 = require('./internal/_curry2');\nvar _dispatchable = require('./internal/_dispatchable');\nvar _makeFlat = require('./internal/_makeFlat');\nvar _xchain = require('./internal/_xchain');\nvar map = require('./map');\n\n\n/**\n * `chain` maps a function over a list and concatenates the results. `chain`\n * is also known as `flatMap` in some libraries\n *\n * Dispatches to the `chain` method of the second argument, if present,\n * according to the [FantasyLand Chain spec](https://github.com/fantasyland/fantasy-land#chain).\n *\n * @func\n * @memberOf R\n * @since v0.3.0\n * @category List\n * @sig Chain m => (a -> m b) -> m a -> m b\n * @param {Function} fn The function to map with\n * @param {Array} list The list to map over\n * @return {Array} The result of flat-mapping `list` with `fn`\n * @example\n *\n * var duplicate = n => [n, n];\n * R.chain(duplicate, [1, 2, 3]); //=> [1, 1, 2, 2, 3, 3]\n *\n * R.chain(R.append, R.head)([1, 2, 3]); //=> [1, 2, 3, 1]\n */\nmodule.exports = _curry2(_dispatchable(['chain'], _xchain, function chain(fn, monad) {\n if (typeof monad === 'function') {\n return function(x) { return fn(monad(x))(x); };\n }\n return _makeFlat(false)(map(fn, monad));\n}));\n","var _curry3 = require('./internal/_curry3');\n\n/**\n * Restricts a number to be within a range.\n *\n * Also works for other ordered types such as Strings and Dates.\n *\n * @func\n * @memberOf R\n * @since v0.20.0\n * @category Relation\n * @sig Ord a => a -> a -> a -> a\n * @param {Number} minimum The lower limit of the clamp (inclusive)\n * @param {Number} maximum The upper limit of the clamp (inclusive)\n * @param {Number} value Value to be clamped\n * @return {Number} Returns `minimum` when `val < minimum`, `maximum` when `val > maximum`, returns `val` otherwise\n * @example\n *\n * R.clamp(1, 10, -5) // => 1\n * R.clamp(1, 10, 15) // => 10\n * R.clamp(1, 10, 4) // => 4\n */\nmodule.exports = _curry3(function clamp(min, max, value) {\n if (min > max) {\n throw new Error('min must not be greater than max in clamp(min, max, value)');\n }\n return value < min ? min :\n value > max ? max :\n value;\n});\n","var _clone = require('./internal/_clone');\nvar _curry1 = require('./internal/_curry1');\n\n\n/**\n * Creates a deep copy of the value which may contain (nested) `Array`s and\n * `Object`s, `Number`s, `String`s, `Boolean`s and `Date`s. `Function`s are\n * assigned by reference rather than copied\n *\n * Dispatches to a `clone` method if present.\n *\n * @func\n * @memberOf R\n * @since v0.1.0\n * @category Object\n * @sig {*} -> {*}\n * @param {*} value The object or array to clone\n * @return {*} A deeply cloned copy of `val`\n * @example\n *\n * var objects = [{}, {}, {}];\n * var objectsClone = R.clone(objects);\n * objects === objectsClone; //=> false\n * objects[0] === objectsClone[0]; //=> false\n */\nmodule.exports = _curry1(function clone(value) {\n return value != null && typeof value.clone === 'function' ?\n value.clone() :\n _clone(value, [], [], true);\n});\n","var _curry1 = require('./internal/_curry1');\n\n\n/**\n * Makes a comparator function out of a function that reports whether the first\n * element is less than the second.\n *\n * @func\n * @memberOf R\n * @since v0.1.0\n * @category Function\n * @sig (a, b -> Boolean) -> (a, b -> Number)\n * @param {Function} pred A predicate function of arity two which will return `true` if the first argument\n * is less than the second, `false` otherwise\n * @return {Function} A Function :: a -> b -> Int that returns `-1` if a < b, `1` if b < a, otherwise `0`\n * @example\n *\n * var byAge = R.comparator((a, b) => a.age < b.age);\n * var people = [\n * // ...\n * ];\n * var peopleByIncreasingAge = R.sort(byAge, people);\n */\nmodule.exports = _curry1(function comparator(pred) {\n return function(a, b) {\n return pred(a, b) ? -1 : pred(b, a) ? 1 : 0;\n };\n});\n","var lift = require('./lift');\nvar not = require('./not');\n\n\n/**\n * Takes a function `f` and returns a function `g` such that if called with the same arguments\n * when `f` returns a \"truthy\" value, `g` returns `false` and when `f` returns a \"falsy\" value `g` returns `true`.\n *\n * `R.complement` may be applied to any functor\n *\n * @func\n * @memberOf R\n * @since v0.12.0\n * @category Logic\n * @sig (*... -> *) -> (*... -> Boolean)\n * @param {Function} f\n * @return {Function}\n * @see R.not\n * @example\n *\n * var isNotNil = R.complement(R.isNil);\n * isNil(null); //=> true\n * isNotNil(null); //=> false\n * isNil(7); //=> false\n * isNotNil(7); //=> true\n */\nmodule.exports = lift(not);\n","var pipe = require('./pipe');\nvar reverse = require('./reverse');\n\n\n/**\n * Performs right-to-left function composition. The rightmost function may have\n * any arity; the remaining functions must be unary.\n *\n * **Note:** The result of compose is not automatically curried.\n *\n * @func\n * @memberOf R\n * @since v0.1.0\n * @category Function\n * @sig ((y -> z), (x -> y), ..., (o -> p), ((a, b, ..., n) -> o)) -> ((a, b, ..., n) -> z)\n * @param {...Function} ...functions The functions to compose\n * @return {Function}\n * @see R.pipe\n * @example\n *\n * var classyGreeting = (firstName, lastName) => \"The name's \" + lastName + \", \" + firstName + \" \" + lastName\n * var yellGreeting = R.compose(R.toUpper, classyGreeting);\n * yellGreeting('James', 'Bond'); //=> \"THE NAME'S BOND, JAMES BOND\"\n *\n * R.compose(Math.abs, R.add(1), R.multiply(2))(-4) //=> 7\n *\n * @symb R.compose(f, g, h)(a, b) = f(g(h(a, b)))\n */\nmodule.exports = function compose() {\n if (arguments.length === 0) {\n throw new Error('compose requires at least one argument');\n }\n return pipe.apply(this, reverse(arguments));\n};\n","var chain = require('./chain');\nvar compose = require('./compose');\nvar map = require('./map');\n\n\n/**\n * Returns the right-to-left Kleisli composition of the provided functions,\n * each of which must return a value of a type supported by [`chain`](#chain).\n *\n * `R.composeK(h, g, f)` is equivalent to `R.compose(R.chain(h), R.chain(g), R.chain(f))`.\n *\n * @func\n * @memberOf R\n * @since v0.16.0\n * @category Function\n * @sig Chain m => ((y -> m z), (x -> m y), ..., (a -> m b)) -> (a -> m z)\n * @param {...Function} ...functions The functions to compose\n * @return {Function}\n * @see R.pipeK\n * @example\n *\n * // get :: String -> Object -> Maybe *\n * var get = R.curry((propName, obj) => Maybe(obj[propName]))\n *\n * // getStateCode :: Maybe String -> Maybe String\n * var getStateCode = R.composeK(\n * R.compose(Maybe.of, R.toUpper),\n * get('state'),\n * get('address'),\n * get('user'),\n * );\n * getStateCode({\"user\":{\"address\":{\"state\":\"ny\"}}}); //=> Maybe.Just(\"NY\")\n * getStateCode({}); //=> Maybe.Nothing()\n * @symb R.composeK(f, g, h)(a) = R.chain(f, R.chain(g, h(a)))\n */\nmodule.exports = function composeK() {\n if (arguments.length === 0) {\n throw new Error('composeK requires at least one argument');\n }\n var init = Array.prototype.slice.call(arguments);\n var last = init.pop();\n return compose(compose.apply(this, map(chain, init)), last);\n};\n","var pipeP = require('./pipeP');\nvar reverse = require('./reverse');\n\n\n/**\n * Performs right-to-left composition of one or more Promise-returning\n * functions. The rightmost function may have any arity; the remaining\n * functions must be unary.\n *\n * @func\n * @memberOf R\n * @since v0.10.0\n * @category Function\n * @sig ((y -> Promise z), (x -> Promise y), ..., (a -> Promise b)) -> (a -> Promise z)\n * @param {...Function} functions The functions to compose\n * @return {Function}\n * @see R.pipeP\n * @example\n *\n * var db = {\n * users: {\n * JOE: {\n * name: 'Joe',\n * followers: ['STEVE', 'SUZY']\n * }\n * }\n * }\n *\n * // We'll pretend to do a db lookup which returns a promise\n * var lookupUser = (userId) => Promise.resolve(db.users[userId])\n * var lookupFollowers = (user) => Promise.resolve(user.followers)\n * lookupUser('JOE').then(lookupFollowers)\n *\n * // followersForUser :: String -> Promise [UserId]\n * var followersForUser = R.composeP(lookupFollowers, lookupUser);\n * followersForUser('JOE').then(followers => console.log('Followers:', followers))\n * // Followers: [\"STEVE\",\"SUZY\"]\n */\nmodule.exports = function composeP() {\n if (arguments.length === 0) {\n throw new Error('composeP requires at least one argument');\n }\n return pipeP.apply(this, reverse(arguments));\n};\n","var _curry2 = require('./internal/_curry2');\nvar _isArray = require('./internal/_isArray');\nvar _isFunction = require('./internal/_isFunction');\nvar toString = require('./toString');\n\n\n/**\n * Returns the result of concatenating the given lists or strings.\n *\n * Note: `R.concat` expects both arguments to be of the same type,\n * unlike the native `Array.prototype.concat` method. It will throw\n * an error if you `concat` an Array with a non-Array value.\n *\n * Dispatches to the `concat` method of the first argument, if present.\n *\n * @func\n * @memberOf R\n * @since v0.1.0\n * @category List\n * @sig [a] -> [a] -> [a]\n * @sig String -> String -> String\n * @param {Array|String} firstList The first list\n * @param {Array|String} secondList The second list\n * @return {Array|String} A list consisting of the elements of `firstList` followed by the elements of\n * `secondList`.\n *\n * @example\n *\n * R.concat('ABC', 'DEF'); // 'ABCDEF'\n * R.concat([4, 5, 6], [1, 2, 3]); //=> [4, 5, 6, 1, 2, 3]\n * R.concat([], []); //=> []\n */\nmodule.exports = _curry2(function concat(a, b) {\n if (a == null || !_isFunction(a.concat)) {\n throw new TypeError(toString(a) + ' does not have a method named \"concat\"');\n }\n if (_isArray(a) && !_isArray(b)) {\n throw new TypeError(toString(b) + ' is not an array');\n }\n return a.concat(b);\n});\n","var _arity = require('./internal/_arity');\nvar _curry1 = require('./internal/_curry1');\nvar map = require('./map');\nvar max = require('./max');\nvar reduce = require('./reduce');\n\n\n/**\n * Returns a function, `fn`, which encapsulates `if/else, if/else, ...` logic.\n * `R.cond` takes a list of [predicate, transformer] pairs. All of the arguments\n * to `fn` are applied to each of the predicates in turn until one returns a\n * \"truthy\" value, at which point `fn` returns the result of applying its\n * arguments to the corresponding transformer. If none of the predicates\n * matches, `fn` returns undefined.\n *\n * @func\n * @memberOf R\n * @since v0.6.0\n * @category Logic\n * @sig [[(*... -> Boolean),(*... -> *)]] -> (*... -> *)\n * @param {Array} pairs A list of [predicate, transformer]\n * @return {Function}\n * @example\n *\n * var fn = R.cond([\n * [R.equals(0), R.always('water freezes at 0°C')],\n * [R.equals(100), R.always('water boils at 100°C')],\n * [R.T, temp => 'nothing special happens at ' + temp + '°C']\n * ]);\n * fn(0); //=> 'water freezes at 0°C'\n * fn(50); //=> 'nothing special happens at 50°C'\n * fn(100); //=> 'water boils at 100°C'\n */\nmodule.exports = _curry1(function cond(pairs) {\n var arity = reduce(max,\n 0,\n map(function(pair) { return pair[0].length; }, pairs));\n return _arity(arity, function() {\n var idx = 0;\n while (idx < pairs.length) {\n if (pairs[idx][0].apply(this, arguments)) {\n return pairs[idx][1].apply(this, arguments);\n }\n idx += 1;\n }\n });\n});\n","var _curry1 = require('./internal/_curry1');\nvar constructN = require('./constructN');\n\n\n/**\n * Wraps a constructor function inside a curried function that can be called\n * with the same arguments and returns the same type.\n *\n * @func\n * @memberOf R\n * @since v0.1.0\n * @category Function\n * @sig (* -> {*}) -> (* -> {*})\n * @param {Function} fn The constructor function to wrap.\n * @return {Function} A wrapped, curried constructor function.\n * @example\n *\n * // Constructor function\n * function Animal(kind) {\n * this.kind = kind;\n * };\n * Animal.prototype.sighting = function() {\n * return \"It's a \" + this.kind + \"!\";\n * }\n *\n * var AnimalConstructor = R.construct(Animal)\n *\n * // Notice we no longer need the 'new' keyword:\n * AnimalConstructor('Pig'); //=> {\"kind\": \"Pig\", \"sighting\": function (){...}};\n *\n * var animalTypes = [\"Lion\", \"Tiger\", \"Bear\"];\n * var animalSighting = R.invoker(0, 'sighting');\n * var sightNewAnimal = R.compose(animalSighting, AnimalConstructor);\n * R.map(sightNewAnimal, animalTypes); //=> [\"It's a Lion!\", \"It's a Tiger!\", \"It's a Bear!\"]\n */\nmodule.exports = _curry1(function construct(Fn) {\n return constructN(Fn.length, Fn);\n});\n","var _curry2 = require('./internal/_curry2');\nvar curry = require('./curry');\nvar nAry = require('./nAry');\n\n\n/**\n * Wraps a constructor function inside a curried function that can be called\n * with the same arguments and returns the same type. The arity of the function\n * returned is specified to allow using variadic constructor functions.\n *\n * @func\n * @memberOf R\n * @since v0.4.0\n * @category Function\n * @sig Number -> (* -> {*}) -> (* -> {*})\n * @param {Number} n The arity of the constructor function.\n * @param {Function} Fn The constructor function to wrap.\n * @return {Function} A wrapped, curried constructor function.\n * @example\n *\n * // Variadic Constructor function\n * function Salad() {\n * this.ingredients = arguments;\n * };\n * Salad.prototype.recipe = function() {\n * var instructions = R.map((ingredient) => (\n * 'Add a whollop of ' + ingredient, this.ingredients)\n * )\n * return R.join('\\n', instructions)\n * }\n *\n * var ThreeLayerSalad = R.constructN(3, Salad)\n *\n * // Notice we no longer need the 'new' keyword, and the constructor is curried for 3 arguments.\n * var salad = ThreeLayerSalad('Mayonnaise')('Potato Chips')('Ketchup')\n * console.log(salad.recipe());\n * // Add a whollop of Mayonnaise\n * // Add a whollop of Potato Chips\n * // Add a whollop of Potato Ketchup\n */\nmodule.exports = _curry2(function constructN(n, Fn) {\n if (n > 10) {\n throw new Error('Constructor with greater than ten arguments');\n }\n if (n === 0) {\n return function() { return new Fn(); };\n }\n return curry(nAry(n, function($0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {\n switch (arguments.length) {\n case 1: return new Fn($0);\n case 2: return new Fn($0, $1);\n case 3: return new Fn($0, $1, $2);\n case 4: return new Fn($0, $1, $2, $3);\n case 5: return new Fn($0, $1, $2, $3, $4);\n case 6: return new Fn($0, $1, $2, $3, $4, $5);\n case 7: return new Fn($0, $1, $2, $3, $4, $5, $6);\n case 8: return new Fn($0, $1, $2, $3, $4, $5, $6, $7);\n case 9: return new Fn($0, $1, $2, $3, $4, $5, $6, $7, $8);\n case 10: return new Fn($0, $1, $2, $3, $4, $5, $6, $7, $8, $9);\n }\n }));\n});\n","var _contains = require('./internal/_contains');\nvar _curry2 = require('./internal/_curry2');\n\n\n/**\n * Returns `true` if the specified value is equal, in `R.equals` terms, to at\n * least one element of the given list; `false` otherwise.\n *\n * @func\n * @memberOf R\n * @since v0.1.0\n * @category List\n * @sig a -> [a] -> Boolean\n * @param {Object} a The item to compare against.\n * @param {Array} list The array to consider.\n * @return {Boolean} `true` if an equivalent item is in the list, `false` otherwise.\n * @see R.any\n * @example\n *\n * R.contains(3, [1, 2, 3]); //=> true\n * R.contains(4, [1, 2, 3]); //=> false\n * R.contains({ name: 'Fred' }, [{ name: 'Fred' }]); //=> true\n * R.contains([42], [[42]]); //=> true\n */\nmodule.exports = _curry2(_contains);\n","var _curry2 = require('./internal/_curry2');\nvar _map = require('./internal/_map');\nvar curryN = require('./curryN');\nvar max = require('./max');\nvar pluck = require('./pluck');\nvar reduce = require('./reduce');\n\n\n/**\n * Accepts a converging function and a list of branching functions and returns\n * a new function. When invoked, this new function is applied to some\n * arguments, each branching function is applied to those same arguments. The\n * results of each branching function are passed as arguments to the converging\n * function to produce the return value.\n *\n * @func\n * @memberOf R\n * @since v0.4.2\n * @category Function\n * @sig (x1 -> x2 -> ... -> z) -> [(a -> b -> ... -> x1), (a -> b -> ... -> x2), ...] -> (a -> b -> ... -> z)\n * @param {Function} after A function. `after` will be invoked with the return values of\n * `fn1` and `fn2` as its arguments.\n * @param {Array} functions A list of functions.\n * @return {Function} A new function.\n * @see R.useWith\n * @example\n *\n * var average = R.converge(R.divide, [R.sum, R.length])\n * average([1, 2, 3, 4, 5, 6, 7]) //=> 4\n *\n * var strangeConcat = R.converge(R.concat, [R.toUpper, R.toLower])\n * strangeConcat(\"Yodel\") //=> \"YODELyodel\"\n *\n * @symb R.converge(f, [g, h])(a, b) = f(g(a, b), h(a, b))\n */\nmodule.exports = _curry2(function converge(after, fns) {\n return curryN(reduce(max, 0, pluck('length', fns)), function() {\n var args = arguments;\n var context = this;\n return after.apply(context, _map(function(fn) {\n return fn.apply(context, args);\n }, fns));\n });\n});\n","var reduceBy = require('./reduceBy');\n\n\n/**\n * Counts the elements of a list according to how many match each value of a\n * key generated by the supplied function. Returns an object mapping the keys\n * produced by `fn` to the number of occurrences in the list. Note that all\n * keys are coerced to strings because of how JavaScript objects work.\n *\n * Acts as a transducer if a transformer is given in list position.\n *\n * @func\n * @memberOf R\n * @since v0.1.0\n * @category Relation\n * @sig (a -> String) -> [a] -> {*}\n * @param {Function} fn The function used to map values to keys.\n * @param {Array} list The list to count elements from.\n * @return {Object} An object mapping keys to number of occurrences in the list.\n * @example\n *\n * var numbers = [1.0, 1.1, 1.2, 2.0, 3.0, 2.2];\n * R.countBy(Math.floor)(numbers); //=> {'1': 3, '2': 2, '3': 1}\n *\n * var letters = ['a', 'b', 'A', 'a', 'B', 'c'];\n * R.countBy(R.toLower)(letters); //=> {'a': 3, 'b': 2, 'c': 1}\n */\nmodule.exports = reduceBy(function(acc, elem) { return acc + 1; }, 0);\n","var _curry1 = require('./internal/_curry1');\nvar curryN = require('./curryN');\n\n\n/**\n * Returns a curried equivalent of the provided function. The curried function\n * has two unusual capabilities. First, its arguments needn't be provided one\n * at a time. If `f` is a ternary function and `g` is `R.curry(f)`, the\n * following are equivalent:\n *\n * - `g(1)(2)(3)`\n * - `g(1)(2, 3)`\n * - `g(1, 2)(3)`\n * - `g(1, 2, 3)`\n *\n * Secondly, the special placeholder value `R.__` may be used to specify\n * \"gaps\", allowing partial application of any combination of arguments,\n * regardless of their positions. If `g` is as above and `_` is `R.__`, the\n * following are equivalent:\n *\n * - `g(1, 2, 3)`\n * - `g(_, 2, 3)(1)`\n * - `g(_, _, 3)(1)(2)`\n * - `g(_, _, 3)(1, 2)`\n * - `g(_, 2)(1)(3)`\n * - `g(_, 2)(1, 3)`\n * - `g(_, 2)(_, 3)(1)`\n *\n * @func\n * @memberOf R\n * @since v0.1.0\n * @category Function\n * @sig (* -> a) -> (* -> a)\n * @param {Function} fn The function to curry.\n * @return {Function} A new, curried function.\n * @see R.curryN\n * @example\n *\n * var addFourNumbers = (a, b, c, d) => a + b + c + d;\n *\n * var curriedAddFourNumbers = R.curry(addFourNumbers);\n * var f = curriedAddFourNumbers(1, 2);\n * var g = f(3);\n * g(4); //=> 10\n */\nmodule.exports = _curry1(function curry(fn) {\n return curryN(fn.length, fn);\n});\n","var _arity = require('./internal/_arity');\nvar _curry1 = require('./internal/_curry1');\nvar _curry2 = require('./internal/_curry2');\nvar _curryN = require('./internal/_curryN');\n\n\n/**\n * Returns a curried equivalent of the provided function, with the specified\n * arity. The curried function has two unusual capabilities. First, its\n * arguments needn't be provided one at a time. If `g` is `R.curryN(3, f)`, the\n * following are equivalent:\n *\n * - `g(1)(2)(3)`\n * - `g(1)(2, 3)`\n * - `g(1, 2)(3)`\n * - `g(1, 2, 3)`\n *\n * Secondly, the special placeholder value `R.__` may be used to specify\n * \"gaps\", allowing partial application of any combination of arguments,\n * regardless of their positions. If `g` is as above and `_` is `R.__`, the\n * following are equivalent:\n *\n * - `g(1, 2, 3)`\n * - `g(_, 2, 3)(1)`\n * - `g(_, _, 3)(1)(2)`\n * - `g(_, _, 3)(1, 2)`\n * - `g(_, 2)(1)(3)`\n * - `g(_, 2)(1, 3)`\n * - `g(_, 2)(_, 3)(1)`\n *\n * @func\n * @memberOf R\n * @since v0.5.0\n * @category Function\n * @sig Number -> (* -> a) -> (* -> a)\n * @param {Number} length The arity for the returned function.\n * @param {Function} fn The function to curry.\n * @return {Function} A new, curried function.\n * @see R.curry\n * @example\n *\n * var sumArgs = (...args) => R.sum(args);\n *\n * var curriedAddFourNumbers = R.curryN(4, sumArgs);\n * var f = curriedAddFourNumbers(1, 2);\n * var g = f(3);\n * g(4); //=> 10\n */\nmodule.exports = _curry2(function curryN(length, fn) {\n if (length === 1) {\n return _curry1(fn);\n }\n return _arity(length, _curryN(length, [], fn));\n});\n","var add = require('./add');\n\n\n/**\n * Decrements its argument.\n *\n * @func\n * @memberOf R\n * @since v0.9.0\n * @category Math\n * @sig Number -> Number\n * @param {Number} n\n * @return {Number} n - 1\n * @see R.inc\n * @example\n *\n * R.dec(42); //=> 41\n */\nmodule.exports = add(-1);\n","var _curry2 = require('./internal/_curry2');\n\n\n/**\n * Returns the second argument if it is not `null`, `undefined` or `NaN`\n * otherwise the first argument is returned.\n *\n * @func\n * @memberOf R\n * @since v0.10.0\n * @category Logic\n * @sig a -> b -> a | b\n * @param {a} default The default value.\n * @param {b} val `val` will be returned instead of `default` unless `val` is `null`, `undefined` or `NaN`.\n * @return {*} The second value if it is not `null`, `undefined` or `NaN`, otherwise the default value\n * @example\n *\n * var defaultTo42 = R.defaultTo(42);\n *\n * defaultTo42(null); //=> 42\n * defaultTo42(undefined); //=> 42\n * defaultTo42('Ramda'); //=> 'Ramda'\n * // parseInt('string') results in NaN\n * defaultTo42(parseInt('string')); //=> 42\n */\nmodule.exports = _curry2(function defaultTo(d, v) {\n return v == null || v !== v ? d : v;\n});\n","var _curry3 = require('./internal/_curry3');\n\n\n/**\n * Makes a descending comparator function out of a function that returns a value\n * that can be compared with `<` and `>`.\n *\n * @func\n * @memberOf R\n * @since v0.23.0\n * @category Function\n * @sig Ord b => (a -> b) -> a -> a -> Number\n * @param {Function} fn A function of arity one that returns a value that can be compared\n * @param {*} a The first item to be compared.\n * @param {*} b The second item to be compared.\n * @return {Number} `-1` if fn(a) > fn(b), `1` if fn(b) > fn(a), otherwise `0`\n * @example\n *\n * var byAge = R.descend(R.prop('age'));\n * var people = [\n * // ...\n * ];\n * var peopleByOldestFirst = R.sort(byAge, people);\n */\nmodule.exports = _curry3(function descend(fn, a, b) {\n var aa = fn(a);\n var bb = fn(b);\n return aa > bb ? -1 : aa < bb ? 1 : 0;\n});\n","var _contains = require('./internal/_contains');\nvar _curry2 = require('./internal/_curry2');\n\n\n/**\n * Finds the set (i.e. no duplicates) of all elements in the first list not\n * contained in the second list. Objects and Arrays are compared are compared\n * in terms of value equality, not reference equality.\n *\n * @func\n * @memberOf R\n * @since v0.1.0\n * @category Relation\n * @sig [*] -> [*] -> [*]\n * @param {Array} list1 The first list.\n * @param {Array} list2 The second list.\n * @return {Array} The elements in `list1` that are not in `list2`.\n * @see R.differenceWith, R.symmetricDifference, R.symmetricDifferenceWith\n * @example\n *\n * R.difference([1,2,3,4], [7,6,5,4,3]); //=> [1,2]\n * R.difference([7,6,5,4,3], [1,2,3,4]); //=> [7,6,5]\n * R.difference([{a: 1}, {b: 2}], [{a: 1}, {c: 3}]) //=> [{b: 2}]\n */\nmodule.exports = _curry2(function difference(first, second) {\n var out = [];\n var idx = 0;\n var firstLen = first.length;\n while (idx < firstLen) {\n if (!_contains(first[idx], second) && !_contains(first[idx], out)) {\n out[out.length] = first[idx];\n }\n idx += 1;\n }\n return out;\n});\n","var _containsWith = require('./internal/_containsWith');\nvar _curry3 = require('./internal/_curry3');\n\n\n/**\n * Finds the set (i.e. no duplicates) of all elements in the first list not\n * contained in the second list. Duplication is determined according to the\n * value returned by applying the supplied predicate to two list elements.\n *\n * @func\n * @memberOf R\n * @since v0.1.0\n * @category Relation\n * @sig ((a, a) -> Boolean) -> [a] -> [a] -> [a]\n * @param {Function} pred A predicate used to test whether two items are equal.\n * @param {Array} list1 The first list.\n * @param {Array} list2 The second list.\n * @return {Array} The elements in `list1` that are not in `list2`.\n * @see R.difference, R.symmetricDifference, R.symmetricDifferenceWith\n * @example\n *\n * var cmp = (x, y) => x.a === y.a;\n * var l1 = [{a: 1}, {a: 2}, {a: 3}];\n * var l2 = [{a: 3}, {a: 4}];\n * R.differenceWith(cmp, l1, l2); //=> [{a: 1}, {a: 2}]\n */\nmodule.exports = _curry3(function differenceWith(pred, first, second) {\n var out = [];\n var idx = 0;\n var firstLen = first.length;\n while (idx < firstLen) {\n if (!_containsWith(pred, first[idx], second) &&\n !_containsWith(pred, first[idx], out)) {\n out.push(first[idx]);\n }\n idx += 1;\n }\n return out;\n});\n","var _curry2 = require('./internal/_curry2');\n\n\n/**\n * Returns a new object that does not contain a `prop` property.\n *\n * @func\n * @memberOf R\n * @since v0.10.0\n * @category Object\n * @sig String -> {k: v} -> {k: v}\n * @param {String} prop The name of the property to dissociate\n * @param {Object} obj The object to clone\n * @return {Object} A new object equivalent to the original but without the specified property\n * @see R.assoc\n * @example\n *\n * R.dissoc('b', {a: 1, b: 2, c: 3}); //=> {a: 1, c: 3}\n */\nmodule.exports = _curry2(function dissoc(prop, obj) {\n var result = {};\n for (var p in obj) {\n result[p] = obj[p];\n }\n delete result[prop];\n return result;\n});\n","var _curry2 = require('./internal/_curry2');\nvar assoc = require('./assoc');\nvar dissoc = require('./dissoc');\n\n\n/**\n * Makes a shallow clone of an object, omitting the property at the given path.\n * Note that this copies and flattens prototype properties onto the new object\n * as well. All non-primitive properties are copied by reference.\n *\n * @func\n * @memberOf R\n * @since v0.11.0\n * @category Object\n * @sig [String] -> {k: v} -> {k: v}\n * @param {Array} path The path to the value to omit\n * @param {Object} obj The object to clone\n * @return {Object} A new object without the property at path\n * @see R.assocPath\n * @example\n *\n * R.dissocPath(['a', 'b', 'c'], {a: {b: {c: 42}}}); //=> {a: {b: {}}}\n */\nmodule.exports = _curry2(function dissocPath(path, obj) {\n switch (path.length) {\n case 0:\n return obj;\n case 1:\n return dissoc(path[0], obj);\n default:\n var head = path[0];\n var tail = Array.prototype.slice.call(path, 1);\n return obj[head] == null ? obj : assoc(head, dissocPath(tail, obj[head]), obj);\n }\n});\n","var _curry2 = require('./internal/_curry2');\n\n\n/**\n * Divides two numbers. Equivalent to `a / b`.\n *\n * @func\n * @memberOf R\n * @since v0.1.0\n * @category Math\n * @sig Number -> Number -> Number\n * @param {Number} a The first value.\n * @param {Number} b The second value.\n * @return {Number} The result of `a / b`.\n * @see R.multiply\n * @example\n *\n * R.divide(71, 100); //=> 0.71\n *\n * var half = R.divide(R.__, 2);\n * half(42); //=> 21\n *\n * var reciprocal = R.divide(1);\n * reciprocal(4); //=> 0.25\n */\nmodule.exports = _curry2(function divide(a, b) { return a / b; });\n","var _curry2 = require('./internal/_curry2');\nvar _dispatchable = require('./internal/_dispatchable');\nvar _xdrop = require('./internal/_xdrop');\nvar slice = require('./slice');\n\n\n/**\n * Returns all but the first `n` elements of the given list, string, or\n * transducer/transformer (or object with a `drop` method).\n *\n * Dispatches to the `drop` method of the second argument, if present.\n *\n * @func\n * @memberOf R\n * @since v0.1.0\n * @category List\n * @sig Number -> [a] -> [a]\n * @sig Number -> String -> String\n * @param {Number} n\n * @param {[a]} list\n * @return {[a]} A copy of list without the first `n` elements\n * @see R.take, R.transduce, R.dropLast, R.dropWhile\n * @example\n *\n * R.drop(1, ['foo', 'bar', 'baz']); //=> ['bar', 'baz']\n * R.drop(2, ['foo', 'bar', 'baz']); //=> ['baz']\n * R.drop(3, ['foo', 'bar', 'baz']); //=> []\n * R.drop(4, ['foo', 'bar', 'baz']); //=> []\n * R.drop(3, 'ramda'); //=> 'da'\n */\nmodule.exports = _curry2(_dispatchable(['drop'], _xdrop, function drop(n, xs) {\n return slice(Math.max(0, n), Infinity, xs);\n}));\n","var _curry2 = require('./internal/_curry2');\nvar _dispatchable = require('./internal/_dispatchable');\nvar _dropLast = require('./internal/_dropLast');\nvar _xdropLast = require('./internal/_xdropLast');\n\n\n/**\n * Returns a list containing all but the last `n` elements of the given `list`.\n *\n * @func\n * @memberOf R\n * @since v0.16.0\n * @category List\n * @sig Number -> [a] -> [a]\n * @sig Number -> String -> String\n * @param {Number} n The number of elements of `list` to skip.\n * @param {Array} list The list of elements to consider.\n * @return {Array} A copy of the list with only the first `list.length - n` elements\n * @see R.takeLast, R.drop, R.dropWhile, R.dropLastWhile\n * @example\n *\n * R.dropLast(1, ['foo', 'bar', 'baz']); //=> ['foo', 'bar']\n * R.dropLast(2, ['foo', 'bar', 'baz']); //=> ['foo']\n * R.dropLast(3, ['foo', 'bar', 'baz']); //=> []\n * R.dropLast(4, ['foo', 'bar', 'baz']); //=> []\n * R.dropLast(3, 'ramda'); //=> 'ra'\n */\nmodule.exports = _curry2(_dispatchable([], _xdropLast, _dropLast));\n","var _curry2 = require('./internal/_curry2');\nvar _dispatchable = require('./internal/_dispatchable');\nvar _dropLastWhile = require('./internal/_dropLastWhile');\nvar _xdropLastWhile = require('./internal/_xdropLastWhile');\n\n\n/**\n * Returns a new list excluding all the tailing elements of a given list which\n * satisfy the supplied predicate function. It passes each value from the right\n * to the supplied predicate function, skipping elements until the predicate\n * function returns a `falsy` value. The predicate function is applied to one argument:\n * *(value)*.\n *\n * @func\n * @memberOf R\n * @since v0.16.0\n * @category List\n * @sig (a -> Boolean) -> [a] -> [a]\n * @param {Function} predicate The function to be called on each element\n * @param {Array} list The collection to iterate over.\n * @return {Array} A new array without any trailing elements that return `falsy` values from the `predicate`.\n * @see R.takeLastWhile, R.addIndex, R.drop, R.dropWhile\n * @example\n *\n * var lteThree = x => x <= 3;\n *\n * R.dropLastWhile(lteThree, [1, 2, 3, 4, 3, 2, 1]); //=> [1, 2, 3, 4]\n */\nmodule.exports = _curry2(_dispatchable([], _xdropLastWhile, _dropLastWhile));\n","var _curry1 = require('./internal/_curry1');\nvar _dispatchable = require('./internal/_dispatchable');\nvar _xdropRepeatsWith = require('./internal/_xdropRepeatsWith');\nvar dropRepeatsWith = require('./dropRepeatsWith');\nvar equals = require('./equals');\n\n\n/**\n * Returns a new list without any consecutively repeating elements. `R.equals`\n * is used to determine equality.\n *\n * Acts as a transducer if a transformer is given in list position.\n *\n * @func\n * @memberOf R\n * @since v0.14.0\n * @category List\n * @sig [a] -> [a]\n * @param {Array} list The array to consider.\n * @return {Array} `list` without repeating elements.\n * @see R.transduce\n * @example\n *\n * R.dropRepeats([1, 1, 1, 2, 3, 4, 4, 2, 2]); //=> [1, 2, 3, 4, 2]\n */\nmodule.exports = _curry1(_dispatchable([], _xdropRepeatsWith(equals), dropRepeatsWith(equals)));\n","var _curry2 = require('./internal/_curry2');\nvar _dispatchable = require('./internal/_dispatchable');\nvar _xdropRepeatsWith = require('./internal/_xdropRepeatsWith');\nvar last = require('./last');\n\n\n/**\n * Returns a new list without any consecutively repeating elements. Equality is\n * determined by applying the supplied predicate to each pair of consecutive elements. The\n * first element in a series of equal elements will be preserved.\n *\n * Acts as a transducer if a transformer is given in list position.\n *\n * @func\n * @memberOf R\n * @since v0.14.0\n * @category List\n * @sig (a, a -> Boolean) -> [a] -> [a]\n * @param {Function} pred A predicate used to test whether two items are equal.\n * @param {Array} list The array to consider.\n * @return {Array} `list` without repeating elements.\n * @see R.transduce\n * @example\n *\n * var l = [1, -1, 1, 3, 4, -4, -4, -5, 5, 3, 3];\n * R.dropRepeatsWith(R.eqBy(Math.abs), l); //=> [1, 3, 4, -5, 3]\n */\nmodule.exports = _curry2(_dispatchable([], _xdropRepeatsWith, function dropRepeatsWith(pred, list) {\n var result = [];\n var idx = 1;\n var len = list.length;\n if (len !== 0) {\n result[0] = list[0];\n while (idx < len) {\n if (!pred(last(result), list[idx])) {\n result[result.length] = list[idx];\n }\n idx += 1;\n }\n }\n return result;\n}));\n\n","var _curry2 = require('./internal/_curry2');\nvar _dispatchable = require('./internal/_dispatchable');\nvar _xdropWhile = require('./internal/_xdropWhile');\n\n\n/**\n * Returns a new list excluding the leading elements of a given list which\n * satisfy the supplied predicate function. It passes each value to the supplied\n * predicate function, skipping elements while the predicate function returns\n * `true`. The predicate function is applied to one argument: *(value)*.\n *\n * Dispatches to the `dropWhile` method of the second argument, if present.\n *\n * Acts as a transducer if a transformer is given in list position.\n *\n * @func\n * @memberOf R\n * @since v0.9.0\n * @category List\n * @sig (a -> Boolean) -> [a] -> [a]\n * @param {Function} fn The function called per iteration.\n * @param {Array} list The collection to iterate over.\n * @return {Array} A new array.\n * @see R.takeWhile, R.transduce, R.addIndex\n * @example\n *\n * var lteTwo = x => x <= 2;\n *\n * R.dropWhile(lteTwo, [1, 2, 3, 4, 3, 2, 1]); //=> [3, 4, 3, 2, 1]\n */\nmodule.exports = _curry2(_dispatchable(['dropWhile'], _xdropWhile, function dropWhile(pred, list) {\n var idx = 0;\n var len = list.length;\n while (idx < len && pred(list[idx])) {\n idx += 1;\n }\n return Array.prototype.slice.call(list, idx);\n}));\n","var _curry2 = require('./internal/_curry2');\nvar _isFunction = require('./internal/_isFunction');\nvar lift = require('./lift');\nvar or = require('./or');\n\n\n/**\n * A function wrapping calls to the two functions in an `||` operation,\n * returning the result of the first function if it is truth-y and the result\n * of the second function otherwise. Note that this is short-circuited,\n * meaning that the second function will not be invoked if the first returns a\n * truth-y value.\n *\n * In addition to functions, `R.either` also accepts any fantasy-land compatible\n * applicative functor.\n *\n * @func\n * @memberOf R\n * @since v0.12.0\n * @category Logic\n * @sig (*... -> Boolean) -> (*... -> Boolean) -> (*... -> Boolean)\n * @param {Function} f a predicate\n * @param {Function} g another predicate\n * @return {Function} a function that applies its arguments to `f` and `g` and `||`s their outputs together.\n * @see R.or\n * @example\n *\n * var gt10 = x => x > 10;\n * var even = x => x % 2 === 0;\n * var f = R.either(gt10, even);\n * f(101); //=> true\n * f(8); //=> true\n */\nmodule.exports = _curry2(function either(f, g) {\n return _isFunction(f) ?\n function _either() {\n return f.apply(this, arguments) || g.apply(this, arguments);\n } :\n lift(or)(f, g);\n});\n","var _curry1 = require('./internal/_curry1');\nvar _isArguments = require('./internal/_isArguments');\nvar _isArray = require('./internal/_isArray');\nvar _isObject = require('./internal/_isObject');\nvar _isString = require('./internal/_isString');\n\n\n/**\n * Returns the empty value of its argument's type. Ramda defines the empty\n * value of Array (`[]`), Object (`{}`), String (`''`), and Arguments. Other\n * types are supported if they define `.empty` and/or\n * `.prototype.empty`.\n *\n * Dispatches to the `empty` method of the first argument, if present.\n *\n * @func\n * @memberOf R\n * @since v0.3.0\n * @category Function\n * @sig a -> a\n * @param {*} x\n * @return {*}\n * @example\n *\n * R.empty(Just(42)); //=> Nothing()\n * R.empty([1, 2, 3]); //=> []\n * R.empty('unicorns'); //=> ''\n * R.empty({x: 1, y: 2}); //=> {}\n */\nmodule.exports = _curry1(function empty(x) {\n return (\n (x != null && typeof x.empty === 'function') ?\n x.empty() :\n (x != null && x.constructor != null && typeof x.constructor.empty === 'function') ?\n x.constructor.empty() :\n _isArray(x) ?\n [] :\n _isString(x) ?\n '' :\n _isObject(x) ?\n {} :\n _isArguments(x) ?\n (function() { return arguments; }()) :\n // else\n void 0\n );\n});\n","var _curry3 = require('./internal/_curry3');\nvar equals = require('./equals');\n\n\n/**\n * Takes a function and two values in its domain and returns `true` if the\n * values map to the same value in the codomain; `false` otherwise.\n *\n * @func\n * @memberOf R\n * @since v0.18.0\n * @category Relation\n * @sig (a -> b) -> a -> a -> Boolean\n * @param {Function} f\n * @param {*} x\n * @param {*} y\n * @return {Boolean}\n * @example\n *\n * R.eqBy(Math.abs, 5, -5); //=> true\n */\nmodule.exports = _curry3(function eqBy(f, x, y) {\n return equals(f(x), f(y));\n});\n","var _curry3 = require('./internal/_curry3');\nvar equals = require('./equals');\n\n\n/**\n * Reports whether two objects have the same value, in `R.equals` terms, for\n * the specified property. Useful as a curried predicate.\n *\n * @func\n * @memberOf R\n * @since v0.1.0\n * @category Object\n * @sig k -> {k: v} -> {k: v} -> Boolean\n * @param {String} prop The name of the property to compare\n * @param {Object} obj1\n * @param {Object} obj2\n * @return {Boolean}\n *\n * @example\n *\n * var o1 = { a: 1, b: 2, c: 3, d: 4 };\n * var o2 = { a: 10, b: 20, c: 3, d: 40 };\n * R.eqProps('a', o1, o2); //=> false\n * R.eqProps('c', o1, o2); //=> true\n */\nmodule.exports = _curry3(function eqProps(prop, obj1, obj2) {\n return equals(obj1[prop], obj2[prop]);\n});\n","var _curry2 = require('./internal/_curry2');\nvar _equals = require('./internal/_equals');\n\n\n/**\n * Returns `true` if its arguments are equivalent, `false` otherwise. Handles\n * cyclical data structures.\n *\n * Dispatches symmetrically to the `equals` methods of both arguments, if\n * present.\n *\n * @func\n * @memberOf R\n * @since v0.15.0\n * @category Relation\n * @sig a -> b -> Boolean\n * @param {*} a\n * @param {*} b\n * @return {Boolean}\n * @example\n *\n * R.equals(1, 1); //=> true\n * R.equals(1, '1'); //=> false\n * R.equals([1, 2, 3], [1, 2, 3]); //=> true\n *\n * var a = {}; a.v = a;\n * var b = {}; b.v = b;\n * R.equals(a, b); //=> true\n */\nmodule.exports = _curry2(function equals(a, b) {\n return _equals(a, b, [], []);\n});\n","var _curry2 = require('./internal/_curry2');\n\n\n/**\n * Creates a new object by recursively evolving a shallow copy of `object`,\n * according to the `transformation` functions. All non-primitive properties\n * are copied by reference.\n *\n * A `transformation` function will not be invoked if its corresponding key\n * does not exist in the evolved object.\n *\n * @func\n * @memberOf R\n * @since v0.9.0\n * @category Object\n * @sig {k: (v -> v)} -> {k: v} -> {k: v}\n * @param {Object} transformations The object specifying transformation functions to apply\n * to the object.\n * @param {Object} object The object to be transformed.\n * @return {Object} The transformed object.\n * @example\n *\n * var tomato = {firstName: ' Tomato ', data: {elapsed: 100, remaining: 1400}, id:123};\n * var transformations = {\n * firstName: R.trim,\n * lastName: R.trim, // Will not get invoked.\n * data: {elapsed: R.add(1), remaining: R.add(-1)}\n * };\n * R.evolve(transformations, tomato); //=> {firstName: 'Tomato', data: {elapsed: 101, remaining: 1399}, id:123}\n */\nmodule.exports = _curry2(function evolve(transformations, object) {\n var result = {};\n var transformation, key, type;\n for (key in object) {\n transformation = transformations[key];\n type = typeof transformation;\n result[key] = type === 'function' ? transformation(object[key])\n : transformation && type === 'object' ? evolve(transformation, object[key])\n : object[key];\n }\n return result;\n});\n","var _curry2 = require('./internal/_curry2');\nvar _dispatchable = require('./internal/_dispatchable');\nvar _filter = require('./internal/_filter');\nvar _isObject = require('./internal/_isObject');\nvar _reduce = require('./internal/_reduce');\nvar _xfilter = require('./internal/_xfilter');\nvar keys = require('./keys');\n\n\n/**\n * Takes a predicate and a \"filterable\", and returns a new filterable of the\n * same type containing the members of the given filterable which satisfy the\n * given predicate.\n *\n * Dispatches to the `filter` method of the second argument, if present.\n *\n * Acts as a transducer if a transformer is given in list position.\n *\n * @func\n * @memberOf R\n * @since v0.1.0\n * @category List\n * @sig Filterable f => (a -> Boolean) -> f a -> f a\n * @param {Function} pred\n * @param {Array} filterable\n * @return {Array}\n * @see R.reject, R.transduce, R.addIndex\n * @example\n *\n * var isEven = n => n % 2 === 0;\n *\n * R.filter(isEven, [1, 2, 3, 4]); //=> [2, 4]\n *\n * R.filter(isEven, {a: 1, b: 2, c: 3, d: 4}); //=> {b: 2, d: 4}\n */\nmodule.exports = _curry2(_dispatchable(['filter'], _xfilter, function(pred, filterable) {\n return (\n _isObject(filterable) ?\n _reduce(function(acc, key) {\n if (pred(filterable[key])) {\n acc[key] = filterable[key];\n }\n return acc;\n }, {}, keys(filterable)) :\n // else\n _filter(pred, filterable)\n );\n}));\n","var _curry2 = require('./internal/_curry2');\nvar _dispatchable = require('./internal/_dispatchable');\nvar _xfind = require('./internal/_xfind');\n\n\n/**\n * Returns the first element of the list which matches the predicate, or\n * `undefined` if no element matches.\n *\n * Dispatches to the `find` method of the second argument, if present.\n *\n * Acts as a transducer if a transformer is given in list position.\n *\n * @func\n * @memberOf R\n * @since v0.1.0\n * @category List\n * @sig (a -> Boolean) -> [a] -> a | undefined\n * @param {Function} fn The predicate function used to determine if the element is the\n * desired one.\n * @param {Array} list The array to consider.\n * @return {Object} The element found, or `undefined`.\n * @see R.transduce\n * @example\n *\n * var xs = [{a: 1}, {a: 2}, {a: 3}];\n * R.find(R.propEq('a', 2))(xs); //=> {a: 2}\n * R.find(R.propEq('a', 4))(xs); //=> undefined\n */\nmodule.exports = _curry2(_dispatchable(['find'], _xfind, function find(fn, list) {\n var idx = 0;\n var len = list.length;\n while (idx < len) {\n if (fn(list[idx])) {\n return list[idx];\n }\n idx += 1;\n }\n}));\n","var _curry2 = require('./internal/_curry2');\nvar _dispatchable = require('./internal/_dispatchable');\nvar _xfindIndex = require('./internal/_xfindIndex');\n\n\n/**\n * Returns the index of the first element of the list which matches the\n * predicate, or `-1` if no element matches.\n *\n * Acts as a transducer if a transformer is given in list position.\n *\n * @func\n * @memberOf R\n * @since v0.1.1\n * @category List\n * @sig (a -> Boolean) -> [a] -> Number\n * @param {Function} fn The predicate function used to determine if the element is the\n * desired one.\n * @param {Array} list The array to consider.\n * @return {Number} The index of the element found, or `-1`.\n * @see R.transduce\n * @example\n *\n * var xs = [{a: 1}, {a: 2}, {a: 3}];\n * R.findIndex(R.propEq('a', 2))(xs); //=> 1\n * R.findIndex(R.propEq('a', 4))(xs); //=> -1\n */\nmodule.exports = _curry2(_dispatchable([], _xfindIndex, function findIndex(fn, list) {\n var idx = 0;\n var len = list.length;\n while (idx < len) {\n if (fn(list[idx])) {\n return idx;\n }\n idx += 1;\n }\n return -1;\n}));\n","var _curry2 = require('./internal/_curry2');\nvar _dispatchable = require('./internal/_dispatchable');\nvar _xfindLast = require('./internal/_xfindLast');\n\n\n/**\n * Returns the last element of the list which matches the predicate, or\n * `undefined` if no element matches.\n *\n * Acts as a transducer if a transformer is given in list position.\n *\n * @func\n * @memberOf R\n * @since v0.1.1\n * @category List\n * @sig (a -> Boolean) -> [a] -> a | undefined\n * @param {Function} fn The predicate function used to determine if the element is the\n * desired one.\n * @param {Array} list The array to consider.\n * @return {Object} The element found, or `undefined`.\n * @see R.transduce\n * @example\n *\n * var xs = [{a: 1, b: 0}, {a:1, b: 1}];\n * R.findLast(R.propEq('a', 1))(xs); //=> {a: 1, b: 1}\n * R.findLast(R.propEq('a', 4))(xs); //=> undefined\n */\nmodule.exports = _curry2(_dispatchable([], _xfindLast, function findLast(fn, list) {\n var idx = list.length - 1;\n while (idx >= 0) {\n if (fn(list[idx])) {\n return list[idx];\n }\n idx -= 1;\n }\n}));\n","var _curry2 = require('./internal/_curry2');\nvar _dispatchable = require('./internal/_dispatchable');\nvar _xfindLastIndex = require('./internal/_xfindLastIndex');\n\n\n/**\n * Returns the index of the last element of the list which matches the\n * predicate, or `-1` if no element matches.\n *\n * Acts as a transducer if a transformer is given in list position.\n *\n * @func\n * @memberOf R\n * @since v0.1.1\n * @category List\n * @sig (a -> Boolean) -> [a] -> Number\n * @param {Function} fn The predicate function used to determine if the element is the\n * desired one.\n * @param {Array} list The array to consider.\n * @return {Number} The index of the element found, or `-1`.\n * @see R.transduce\n * @example\n *\n * var xs = [{a: 1, b: 0}, {a:1, b: 1}];\n * R.findLastIndex(R.propEq('a', 1))(xs); //=> 1\n * R.findLastIndex(R.propEq('a', 4))(xs); //=> -1\n */\nmodule.exports = _curry2(_dispatchable([], _xfindLastIndex, function findLastIndex(fn, list) {\n var idx = list.length - 1;\n while (idx >= 0) {\n if (fn(list[idx])) {\n return idx;\n }\n idx -= 1;\n }\n return -1;\n}));\n","var _curry1 = require('./internal/_curry1');\nvar _makeFlat = require('./internal/_makeFlat');\n\n\n/**\n * Returns a new list by pulling every item out of it (and all its sub-arrays)\n * and putting them in a new array, depth-first.\n *\n * @func\n * @memberOf R\n * @since v0.1.0\n * @category List\n * @sig [a] -> [b]\n * @param {Array} list The array to consider.\n * @return {Array} The flattened list.\n * @see R.unnest\n * @example\n *\n * R.flatten([1, 2, [3, 4], 5, [6, [7, 8, [9, [10, 11], 12]]]]);\n * //=> [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12]\n */\nmodule.exports = _curry1(_makeFlat(true));\n","var _curry1 = require('./internal/_curry1');\nvar curry = require('./curry');\n\n\n/**\n * Returns a new function much like the supplied one, except that the first two\n * arguments' order is reversed.\n *\n * @func\n * @memberOf R\n * @since v0.1.0\n * @category Function\n * @sig (a -> b -> c -> ... -> z) -> (b -> a -> c -> ... -> z)\n * @param {Function} fn The function to invoke with its first two parameters reversed.\n * @return {*} The result of invoking `fn` with its first two parameters' order reversed.\n * @example\n *\n * var mergeThree = (a, b, c) => [].concat(a, b, c);\n *\n * mergeThree(1, 2, 3); //=> [1, 2, 3]\n *\n * R.flip(mergeThree)(1, 2, 3); //=> [2, 1, 3]\n * @symb R.flip(f)(a, b, c) = f(b, a, c)\n */\nmodule.exports = _curry1(function flip(fn) {\n return curry(function(a, b) {\n var args = Array.prototype.slice.call(arguments, 0);\n args[0] = b;\n args[1] = a;\n return fn.apply(this, args);\n });\n});\n","var _checkForMethod = require('./internal/_checkForMethod');\nvar _curry2 = require('./internal/_curry2');\n\n\n/**\n * Iterate over an input `list`, calling a provided function `fn` for each\n * element in the list.\n *\n * `fn` receives one argument: *(value)*.\n *\n * Note: `R.forEach` does not skip deleted or unassigned indices (sparse\n * arrays), unlike the native `Array.prototype.forEach` method. For more\n * details on this behavior, see:\n * https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/forEach#Description\n *\n * Also note that, unlike `Array.prototype.forEach`, Ramda's `forEach` returns\n * the original array. In some libraries this function is named `each`.\n *\n * Dispatches to the `forEach` method of the second argument, if present.\n *\n * @func\n * @memberOf R\n * @since v0.1.1\n * @category List\n * @sig (a -> *) -> [a] -> [a]\n * @param {Function} fn The function to invoke. Receives one argument, `value`.\n * @param {Array} list The list to iterate over.\n * @return {Array} The original list.\n * @see R.addIndex\n * @example\n *\n * var printXPlusFive = x => console.log(x + 5);\n * R.forEach(printXPlusFive, [1, 2, 3]); //=> [1, 2, 3]\n * // logs 6\n * // logs 7\n * // logs 8\n * @symb R.forEach(f, [a, b, c]) = [a, b, c]\n */\nmodule.exports = _curry2(_checkForMethod('forEach', function forEach(fn, list) {\n var len = list.length;\n var idx = 0;\n while (idx < len) {\n fn(list[idx]);\n idx += 1;\n }\n return list;\n}));\n","var _curry2 = require('./internal/_curry2');\nvar keys = require('./keys');\n\n\n/**\n * Iterate over an input `object`, calling a provided function `fn` for each\n * key and value in the object.\n *\n * `fn` receives three argument: *(value, key, obj)*.\n *\n * @func\n * @memberOf R\n * @since v0.23.0\n * @category Object\n * @sig ((a, String, StrMap a) -> Any) -> StrMap a -> StrMap a\n * @param {Function} fn The function to invoke. Receives three argument, `value`, `key`, `obj`.\n * @param {Object} obj The object to iterate over.\n * @return {Object} The original object.\n * @example\n *\n * var printKeyConcatValue = (value, key) => console.log(key + ':' + value);\n * R.forEachObjIndexed(printKeyConcatValue, {x: 1, y: 2}); //=> {x: 1, y: 2}\n * // logs x:1\n * // logs y:2\n * @symb R.forEachObjIndexed(f, {x: a, y: b}) = {x: a, y: b}\n */\nmodule.exports = _curry2(function forEachObjIndexed(fn, obj) {\n var keyList = keys(obj);\n var idx = 0;\n while (idx < keyList.length) {\n var key = keyList[idx];\n fn(obj[key], key, obj);\n idx += 1;\n }\n return obj;\n});\n","var _curry1 = require('./internal/_curry1');\n\n\n/**\n * Creates a new object from a list key-value pairs. If a key appears in\n * multiple pairs, the rightmost pair is included in the object.\n *\n * @func\n * @memberOf R\n * @since v0.3.0\n * @category List\n * @sig [[k,v]] -> {k: v}\n * @param {Array} pairs An array of two-element arrays that will be the keys and values of the output object.\n * @return {Object} The object made by pairing up `keys` and `values`.\n * @see R.toPairs, R.pair\n * @example\n *\n * R.fromPairs([['a', 1], ['b', 2], ['c', 3]]); //=> {a: 1, b: 2, c: 3}\n */\nmodule.exports = _curry1(function fromPairs(pairs) {\n var result = {};\n var idx = 0;\n while (idx < pairs.length) {\n result[pairs[idx][0]] = pairs[idx][1];\n idx += 1;\n }\n return result;\n});\n","var _checkForMethod = require('./internal/_checkForMethod');\nvar _curry2 = require('./internal/_curry2');\nvar reduceBy = require('./reduceBy');\n\n/**\n * Splits a list into sub-lists stored in an object, based on the result of\n * calling a String-returning function on each element, and grouping the\n * results according to values returned.\n *\n * Dispatches to the `groupBy` method of the second argument, if present.\n *\n * Acts as a transducer if a transformer is given in list position.\n *\n * @func\n * @memberOf R\n * @since v0.1.0\n * @category List\n * @sig (a -> String) -> [a] -> {String: [a]}\n * @param {Function} fn Function :: a -> String\n * @param {Array} list The array to group\n * @return {Object} An object with the output of `fn` for keys, mapped to arrays of elements\n * that produced that key when passed to `fn`.\n * @see R.transduce\n * @example\n *\n * var byGrade = R.groupBy(function(student) {\n * var score = student.score;\n * return score < 65 ? 'F' :\n * score < 70 ? 'D' :\n * score < 80 ? 'C' :\n * score < 90 ? 'B' : 'A';\n * });\n * var students = [{name: 'Abby', score: 84},\n * {name: 'Eddy', score: 58},\n * // ...\n * {name: 'Jack', score: 69}];\n * byGrade(students);\n * // {\n * // 'A': [{name: 'Dianne', score: 99}],\n * // 'B': [{name: 'Abby', score: 84}]\n * // // ...,\n * // 'F': [{name: 'Eddy', score: 58}]\n * // }\n */\nmodule.exports = _curry2(_checkForMethod('groupBy', reduceBy(function(acc, item) {\n if (acc == null) {\n acc = [];\n }\n acc.push(item);\n return acc;\n}, null)));\n","var _curry2 = require('./internal/_curry2');\n\n/**\n * Takes a list and returns a list of lists where each sublist's elements are\n * all \"equal\" according to the provided equality function.\n *\n * @func\n * @memberOf R\n * @since v0.21.0\n * @category List\n * @sig ((a, a) → Boolean) → [a] → [[a]]\n * @param {Function} fn Function for determining whether two given (adjacent)\n * elements should be in the same group\n * @param {Array} list The array to group. Also accepts a string, which will be\n * treated as a list of characters.\n * @return {List} A list that contains sublists of equal elements,\n * whose concatenations are equal to the original list.\n * @example\n *\n * R.groupWith(R.equals, [0, 1, 1, 2, 3, 5, 8, 13, 21])\n * //=> [[0], [1, 1], [2], [3], [5], [8], [13], [21]]\n *\n * R.groupWith((a, b) => a % 2 === b % 2, [0, 1, 1, 2, 3, 5, 8, 13, 21])\n * //=> [[0], [1, 1], [2], [3, 5], [8], [13, 21]]\n *\n * R.groupWith(R.eqBy(isVowel), 'aestiou')\n * //=> ['ae', 'st', 'iou']\n */\nmodule.exports = _curry2(function(fn, list) {\n var res = [];\n var idx = 0;\n var len = list.length;\n while (idx < len) {\n var nextidx = idx + 1;\n while (nextidx < len && fn(list[idx], list[nextidx])) {\n nextidx += 1;\n }\n res.push(list.slice(idx, nextidx));\n idx = nextidx;\n }\n return res;\n});\n","var _curry2 = require('./internal/_curry2');\n\n\n/**\n * Returns `true` if the first argument is greater than the second; `false`\n * otherwise.\n *\n * @func\n * @memberOf R\n * @since v0.1.0\n * @category Relation\n * @sig Ord a => a -> a -> Boolean\n * @param {*} a\n * @param {*} b\n * @return {Boolean}\n * @see R.lt\n * @example\n *\n * R.gt(2, 1); //=> true\n * R.gt(2, 2); //=> false\n * R.gt(2, 3); //=> false\n * R.gt('a', 'z'); //=> false\n * R.gt('z', 'a'); //=> true\n */\nmodule.exports = _curry2(function gt(a, b) { return a > b; });\n","var _curry2 = require('./internal/_curry2');\n\n\n/**\n * Returns `true` if the first argument is greater than or equal to the second;\n * `false` otherwise.\n *\n * @func\n * @memberOf R\n * @since v0.1.0\n * @category Relation\n * @sig Ord a => a -> a -> Boolean\n * @param {Number} a\n * @param {Number} b\n * @return {Boolean}\n * @see R.lte\n * @example\n *\n * R.gte(2, 1); //=> true\n * R.gte(2, 2); //=> true\n * R.gte(2, 3); //=> false\n * R.gte('a', 'z'); //=> false\n * R.gte('z', 'a'); //=> true\n */\nmodule.exports = _curry2(function gte(a, b) { return a >= b; });\n","var _curry2 = require('./internal/_curry2');\nvar _has = require('./internal/_has');\n\n\n/**\n * Returns whether or not an object has an own property with the specified name\n *\n * @func\n * @memberOf R\n * @since v0.7.0\n * @category Object\n * @sig s -> {s: x} -> Boolean\n * @param {String} prop The name of the property to check for.\n * @param {Object} obj The object to query.\n * @return {Boolean} Whether the property exists.\n * @example\n *\n * var hasName = R.has('name');\n * hasName({name: 'alice'}); //=> true\n * hasName({name: 'bob'}); //=> true\n * hasName({}); //=> false\n *\n * var point = {x: 0, y: 0};\n * var pointHas = R.has(R.__, point);\n * pointHas('x'); //=> true\n * pointHas('y'); //=> true\n * pointHas('z'); //=> false\n */\nmodule.exports = _curry2(_has);\n","var _curry2 = require('./internal/_curry2');\n\n\n/**\n * Returns whether or not an object or its prototype chain has a property with\n * the specified name\n *\n * @func\n * @memberOf R\n * @since v0.7.0\n * @category Object\n * @sig s -> {s: x} -> Boolean\n * @param {String} prop The name of the property to check for.\n * @param {Object} obj The object to query.\n * @return {Boolean} Whether the property exists.\n * @example\n *\n * function Rectangle(width, height) {\n * this.width = width;\n * this.height = height;\n * }\n * Rectangle.prototype.area = function() {\n * return this.width * this.height;\n * };\n *\n * var square = new Rectangle(2, 2);\n * R.hasIn('width', square); //=> true\n * R.hasIn('area', square); //=> true\n */\nmodule.exports = _curry2(function hasIn(prop, obj) {\n return prop in obj;\n});\n","var nth = require('./nth');\n\n\n/**\n * Returns the first element of the given list or string. In some libraries\n * this function is named `first`.\n *\n * @func\n * @memberOf R\n * @since v0.1.0\n * @category List\n * @sig [a] -> a | Undefined\n * @sig String -> String\n * @param {Array|String} list\n * @return {*}\n * @see R.tail, R.init, R.last\n * @example\n *\n * R.head(['fi', 'fo', 'fum']); //=> 'fi'\n * R.head([]); //=> undefined\n *\n * R.head('abc'); //=> 'a'\n * R.head(''); //=> ''\n */\nmodule.exports = nth(0);\n","var _curry2 = require('./internal/_curry2');\n\n\n/**\n * Returns true if its arguments are identical, false otherwise. Values are\n * identical if they reference the same memory. `NaN` is identical to `NaN`;\n * `0` and `-0` are not identical.\n *\n * @func\n * @memberOf R\n * @since v0.15.0\n * @category Relation\n * @sig a -> a -> Boolean\n * @param {*} a\n * @param {*} b\n * @return {Boolean}\n * @example\n *\n * var o = {};\n * R.identical(o, o); //=> true\n * R.identical(1, 1); //=> true\n * R.identical(1, '1'); //=> false\n * R.identical([], []); //=> false\n * R.identical(0, -0); //=> false\n * R.identical(NaN, NaN); //=> true\n */\nmodule.exports = _curry2(function identical(a, b) {\n // SameValue algorithm\n if (a === b) { // Steps 1-5, 7-10\n // Steps 6.b-6.e: +0 != -0\n return a !== 0 || 1 / a === 1 / b;\n } else {\n // Step 6.a: NaN == NaN\n return a !== a && b !== b;\n }\n});\n","var _curry1 = require('./internal/_curry1');\nvar _identity = require('./internal/_identity');\n\n\n/**\n * A function that does nothing but return the parameter supplied to it. Good\n * as a default or placeholder function.\n *\n * @func\n * @memberOf R\n * @since v0.1.0\n * @category Function\n * @sig a -> a\n * @param {*} x The value to return.\n * @return {*} The input value, `x`.\n * @example\n *\n * R.identity(1); //=> 1\n *\n * var obj = {};\n * R.identity(obj) === obj; //=> true\n * @symb R.identity(a) = a\n */\nmodule.exports = _curry1(_identity);\n","var _curry3 = require('./internal/_curry3');\nvar curryN = require('./curryN');\n\n\n/**\n * Creates a function that will process either the `onTrue` or the `onFalse`\n * function depending upon the result of the `condition` predicate.\n *\n * @func\n * @memberOf R\n * @since v0.8.0\n * @category Logic\n * @sig (*... -> Boolean) -> (*... -> *) -> (*... -> *) -> (*... -> *)\n * @param {Function} condition A predicate function\n * @param {Function} onTrue A function to invoke when the `condition` evaluates to a truthy value.\n * @param {Function} onFalse A function to invoke when the `condition` evaluates to a falsy value.\n * @return {Function} A new unary function that will process either the `onTrue` or the `onFalse`\n * function depending upon the result of the `condition` predicate.\n * @see R.unless, R.when\n * @example\n *\n * var incCount = R.ifElse(\n * R.has('count'),\n * R.over(R.lensProp('count'), R.inc),\n * R.assoc('count', 1)\n * );\n * incCount({}); //=> { count: 1 }\n * incCount({ count: 1 }); //=> { count: 2 }\n */\nmodule.exports = _curry3(function ifElse(condition, onTrue, onFalse) {\n return curryN(Math.max(condition.length, onTrue.length, onFalse.length),\n function _ifElse() {\n return condition.apply(this, arguments) ? onTrue.apply(this, arguments) : onFalse.apply(this, arguments);\n }\n );\n});\n","var add = require('./add');\n\n\n/**\n * Increments its argument.\n *\n * @func\n * @memberOf R\n * @since v0.9.0\n * @category Math\n * @sig Number -> Number\n * @param {Number} n\n * @return {Number} n + 1\n * @see R.dec\n * @example\n *\n * R.inc(42); //=> 43\n */\nmodule.exports = add(1);\n","var reduceBy = require('./reduceBy');\n\n\n/**\n * Given a function that generates a key, turns a list of objects into an\n * object indexing the objects by the given key. Note that if multiple\n * objects generate the same value for the indexing key only the last value\n * will be included in the generated object.\n *\n * Acts as a transducer if a transformer is given in list position.\n *\n * @func\n * @memberOf R\n * @since v0.19.0\n * @category List\n * @sig (a -> String) -> [{k: v}] -> {k: {k: v}}\n * @param {Function} fn Function :: a -> String\n * @param {Array} array The array of objects to index\n * @return {Object} An object indexing each array element by the given property.\n * @example\n *\n * var list = [{id: 'xyz', title: 'A'}, {id: 'abc', title: 'B'}];\n * R.indexBy(R.prop('id'), list);\n * //=> {abc: {id: 'abc', title: 'B'}, xyz: {id: 'xyz', title: 'A'}}\n */\nmodule.exports = reduceBy(function(acc, elem) { return elem; }, null);\n","var _curry2 = require('./internal/_curry2');\nvar _indexOf = require('./internal/_indexOf');\nvar _isArray = require('./internal/_isArray');\n\n\n/**\n * Returns the position of the first occurrence of an item in an array, or -1\n * if the item is not included in the array. `R.equals` is used to determine\n * equality.\n *\n * @func\n * @memberOf R\n * @since v0.1.0\n * @category List\n * @sig a -> [a] -> Number\n * @param {*} target The item to find.\n * @param {Array} xs The array to search in.\n * @return {Number} the index of the target, or -1 if the target is not found.\n * @see R.lastIndexOf\n * @example\n *\n * R.indexOf(3, [1,2,3,4]); //=> 2\n * R.indexOf(10, [1,2,3,4]); //=> -1\n */\nmodule.exports = _curry2(function indexOf(target, xs) {\n return typeof xs.indexOf === 'function' && !_isArray(xs) ?\n xs.indexOf(target) :\n _indexOf(xs, target, 0);\n});\n","var slice = require('./slice');\n\n\n/**\n * Returns all but the last element of the given list or string.\n *\n * @func\n * @memberOf R\n * @since v0.9.0\n * @category List\n * @sig [a] -> [a]\n * @sig String -> String\n * @param {*} list\n * @return {*}\n * @see R.last, R.head, R.tail\n * @example\n *\n * R.init([1, 2, 3]); //=> [1, 2]\n * R.init([1, 2]); //=> [1]\n * R.init([1]); //=> []\n * R.init([]); //=> []\n *\n * R.init('abc'); //=> 'ab'\n * R.init('ab'); //=> 'a'\n * R.init('a'); //=> ''\n * R.init(''); //=> ''\n */\nmodule.exports = slice(0, -1);\n","var _curry3 = require('./internal/_curry3');\n\n\n/**\n * Inserts the supplied element into the list, at index `index`. _Note that\n * this is not destructive_: it returns a copy of the list with the changes.\n * No lists have been harmed in the application of this function.\n *\n * @func\n * @memberOf R\n * @since v0.2.2\n * @category List\n * @sig Number -> a -> [a] -> [a]\n * @param {Number} index The position to insert the element\n * @param {*} elt The element to insert into the Array\n * @param {Array} list The list to insert into\n * @return {Array} A new Array with `elt` inserted at `index`.\n * @example\n *\n * R.insert(2, 'x', [1,2,3,4]); //=> [1,2,'x',3,4]\n */\nmodule.exports = _curry3(function insert(idx, elt, list) {\n idx = idx < list.length && idx >= 0 ? idx : list.length;\n var result = Array.prototype.slice.call(list, 0);\n result.splice(idx, 0, elt);\n return result;\n});\n","var _curry3 = require('./internal/_curry3');\n\n\n/**\n * Inserts the sub-list into the list, at index `index`. _Note that this is not\n * destructive_: it returns a copy of the list with the changes.\n * No lists have been harmed in the application of this function.\n *\n * @func\n * @memberOf R\n * @since v0.9.0\n * @category List\n * @sig Number -> [a] -> [a] -> [a]\n * @param {Number} index The position to insert the sub-list\n * @param {Array} elts The sub-list to insert into the Array\n * @param {Array} list The list to insert the sub-list into\n * @return {Array} A new Array with `elts` inserted starting at `index`.\n * @example\n *\n * R.insertAll(2, ['x','y','z'], [1,2,3,4]); //=> [1,2,'x','y','z',3,4]\n */\nmodule.exports = _curry3(function insertAll(idx, elts, list) {\n idx = idx < list.length && idx >= 0 ? idx : list.length;\n return [].concat(Array.prototype.slice.call(list, 0, idx),\n elts,\n Array.prototype.slice.call(list, idx));\n});\n","var _contains = require('./_contains');\n\n\n// A simple Set type that honours R.equals semantics\nmodule.exports = (function() {\n function _Set() {\n /* globals Set */\n this._nativeSet = typeof Set === 'function' ? new Set() : null;\n this._items = {};\n }\n\n // until we figure out why jsdoc chokes on this\n // @param item The item to add to the Set\n // @returns {boolean} true if the item did not exist prior, otherwise false\n //\n _Set.prototype.add = function(item) {\n return !hasOrAdd(item, true, this);\n };\n\n //\n // @param item The item to check for existence in the Set\n // @returns {boolean} true if the item exists in the Set, otherwise false\n //\n _Set.prototype.has = function(item) {\n return hasOrAdd(item, false, this);\n };\n\n //\n // Combines the logic for checking whether an item is a member of the set and\n // for adding a new item to the set.\n //\n // @param item The item to check or add to the Set instance.\n // @param shouldAdd If true, the item will be added to the set if it doesn't\n // already exist.\n // @param set The set instance to check or add to.\n // @return {boolean} true if the item already existed, otherwise false.\n //\n function hasOrAdd(item, shouldAdd, set) {\n var type = typeof item;\n var prevSize, newSize;\n switch (type) {\n case 'string':\n case 'number':\n // distinguish between +0 and -0\n if (item === 0 && 1 / item === -Infinity) {\n if (set._items['-0']) {\n return true;\n } else {\n if (shouldAdd) {\n set._items['-0'] = true;\n }\n return false;\n }\n }\n // these types can all utilise the native Set\n if (set._nativeSet !== null) {\n if (shouldAdd) {\n prevSize = set._nativeSet.size;\n set._nativeSet.add(item);\n newSize = set._nativeSet.size;\n return newSize === prevSize;\n } else {\n return set._nativeSet.has(item);\n }\n } else {\n if (!(type in set._items)) {\n if (shouldAdd) {\n set._items[type] = {};\n set._items[type][item] = true;\n }\n return false;\n } else if (item in set._items[type]) {\n return true;\n } else {\n if (shouldAdd) {\n set._items[type][item] = true;\n }\n return false;\n }\n }\n\n case 'boolean':\n // set._items['boolean'] holds a two element array\n // representing [ falseExists, trueExists ]\n if (type in set._items) {\n var bIdx = item ? 1 : 0;\n if (set._items[type][bIdx]) {\n return true;\n } else {\n if (shouldAdd) {\n set._items[type][bIdx] = true;\n }\n return false;\n }\n } else {\n if (shouldAdd) {\n set._items[type] = item ? [false, true] : [true, false];\n }\n return false;\n }\n\n case 'function':\n // compare functions for reference equality\n if (set._nativeSet !== null) {\n if (shouldAdd) {\n prevSize = set._nativeSet.size;\n set._nativeSet.add(item);\n newSize = set._nativeSet.size;\n return newSize === prevSize;\n } else {\n return set._nativeSet.has(item);\n }\n } else {\n if (!(type in set._items)) {\n if (shouldAdd) {\n set._items[type] = [item];\n }\n return false;\n }\n if (!_contains(item, set._items[type])) {\n if (shouldAdd) {\n set._items[type].push(item);\n }\n return false;\n }\n return true;\n }\n\n case 'undefined':\n if (set._items[type]) {\n return true;\n } else {\n if (shouldAdd) {\n set._items[type] = true;\n }\n return false;\n }\n\n case 'object':\n if (item === null) {\n if (!set._items['null']) {\n if (shouldAdd) {\n set._items['null'] = true;\n }\n return false;\n }\n return true;\n }\n /* falls through */\n default:\n // reduce the search size of heterogeneous sets by creating buckets\n // for each type.\n type = Object.prototype.toString.call(item);\n if (!(type in set._items)) {\n if (shouldAdd) {\n set._items[type] = [item];\n }\n return false;\n }\n // scan through all previously applied items\n if (!_contains(item, set._items[type])) {\n if (shouldAdd) {\n set._items[type].push(item);\n }\n return false;\n }\n return true;\n }\n }\n return _Set;\n}());\n","module.exports = function _aperture(n, list) {\n var idx = 0;\n var limit = list.length - (n - 1);\n var acc = new Array(limit >= 0 ? limit : 0);\n while (idx < limit) {\n acc[idx] = Array.prototype.slice.call(list, idx, idx + n);\n idx += 1;\n }\n return acc;\n};\n","module.exports = function _arity(n, fn) {\n /* eslint-disable no-unused-vars */\n switch (n) {\n case 0: return function() { return fn.apply(this, arguments); };\n case 1: return function(a0) { return fn.apply(this, arguments); };\n case 2: return function(a0, a1) { return fn.apply(this, arguments); };\n case 3: return function(a0, a1, a2) { return fn.apply(this, arguments); };\n case 4: return function(a0, a1, a2, a3) { return fn.apply(this, arguments); };\n case 5: return function(a0, a1, a2, a3, a4) { return fn.apply(this, arguments); };\n case 6: return function(a0, a1, a2, a3, a4, a5) { return fn.apply(this, arguments); };\n case 7: return function(a0, a1, a2, a3, a4, a5, a6) { return fn.apply(this, arguments); };\n case 8: return function(a0, a1, a2, a3, a4, a5, a6, a7) { return fn.apply(this, arguments); };\n case 9: return function(a0, a1, a2, a3, a4, a5, a6, a7, a8) { return fn.apply(this, arguments); };\n case 10: return function(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9) { return fn.apply(this, arguments); };\n default: throw new Error('First argument to _arity must be a non-negative integer no greater than ten');\n }\n};\n","module.exports = function _arrayFromIterator(iter) {\n var list = [];\n var next;\n while (!(next = iter.next()).done) {\n list.push(next.value);\n }\n return list;\n};\n","var _objectAssign = require('./_objectAssign');\n\nmodule.exports =\n typeof Object.assign === 'function' ? Object.assign : _objectAssign;\n","var _isArray = require('./_isArray');\n\n\n/**\n * This checks whether a function has a [methodname] function. If it isn't an\n * array it will execute that function otherwise it will default to the ramda\n * implementation.\n *\n * @private\n * @param {Function} fn ramda implemtation\n * @param {String} methodname property to check for a custom implementation\n * @return {Object} Whatever the return value of the method is.\n */\nmodule.exports = function _checkForMethod(methodname, fn) {\n return function() {\n var length = arguments.length;\n if (length === 0) {\n return fn();\n }\n var obj = arguments[length - 1];\n return (_isArray(obj) || typeof obj[methodname] !== 'function') ?\n fn.apply(this, arguments) :\n obj[methodname].apply(obj, Array.prototype.slice.call(arguments, 0, length - 1));\n };\n};\n","var _cloneRegExp = require('./_cloneRegExp');\nvar type = require('../type');\n\n\n/**\n * Copies an object.\n *\n * @private\n * @param {*} value The value to be copied\n * @param {Array} refFrom Array containing the source references\n * @param {Array} refTo Array containing the copied source references\n * @param {Boolean} deep Whether or not to perform deep cloning.\n * @return {*} The copied value.\n */\nmodule.exports = function _clone(value, refFrom, refTo, deep) {\n var copy = function copy(copiedValue) {\n var len = refFrom.length;\n var idx = 0;\n while (idx < len) {\n if (value === refFrom[idx]) {\n return refTo[idx];\n }\n idx += 1;\n }\n refFrom[idx + 1] = value;\n refTo[idx + 1] = copiedValue;\n for (var key in value) {\n copiedValue[key] = deep ?\n _clone(value[key], refFrom, refTo, true) : value[key];\n }\n return copiedValue;\n };\n switch (type(value)) {\n case 'Object': return copy({});\n case 'Array': return copy([]);\n case 'Date': return new Date(value.valueOf());\n case 'RegExp': return _cloneRegExp(value);\n default: return value;\n }\n};\n","module.exports = function _cloneRegExp(pattern) {\n return new RegExp(pattern.source, (pattern.global ? 'g' : '') +\n (pattern.ignoreCase ? 'i' : '') +\n (pattern.multiline ? 'm' : '') +\n (pattern.sticky ? 'y' : '') +\n (pattern.unicode ? 'u' : ''));\n};\n","module.exports = function _complement(f) {\n return function() {\n return !f.apply(this, arguments);\n };\n};\n","/**\n * Private `concat` function to merge two array-like objects.\n *\n * @private\n * @param {Array|Arguments} [set1=[]] An array-like object.\n * @param {Array|Arguments} [set2=[]] An array-like object.\n * @return {Array} A new, merged array.\n * @example\n *\n * _concat([4, 5, 6], [1, 2, 3]); //=> [4, 5, 6, 1, 2, 3]\n */\nmodule.exports = function _concat(set1, set2) {\n set1 = set1 || [];\n set2 = set2 || [];\n var idx;\n var len1 = set1.length;\n var len2 = set2.length;\n var result = [];\n\n idx = 0;\n while (idx < len1) {\n result[result.length] = set1[idx];\n idx += 1;\n }\n idx = 0;\n while (idx < len2) {\n result[result.length] = set2[idx];\n idx += 1;\n }\n return result;\n};\n","var _indexOf = require('./_indexOf');\n\n\nmodule.exports = function _contains(a, list) {\n return _indexOf(list, a, 0) >= 0;\n};\n","module.exports = function _containsWith(pred, x, list) {\n var idx = 0;\n var len = list.length;\n\n while (idx < len) {\n if (pred(x, list[idx])) {\n return true;\n }\n idx += 1;\n }\n return false;\n};\n","var _arity = require('./_arity');\nvar _curry2 = require('./_curry2');\n\n\nmodule.exports = function _createPartialApplicator(concat) {\n return _curry2(function(fn, args) {\n return _arity(Math.max(0, fn.length - args.length), function() {\n return fn.apply(this, concat(args, arguments));\n });\n });\n};\n","var _isPlaceholder = require('./_isPlaceholder');\n\n\n/**\n * Optimized internal one-arity curry function.\n *\n * @private\n * @category Function\n * @param {Function} fn The function to curry.\n * @return {Function} The curried function.\n */\nmodule.exports = function _curry1(fn) {\n return function f1(a) {\n if (arguments.length === 0 || _isPlaceholder(a)) {\n return f1;\n } else {\n return fn.apply(this, arguments);\n }\n };\n};\n","var _curry1 = require('./_curry1');\nvar _isPlaceholder = require('./_isPlaceholder');\n\n\n/**\n * Optimized internal two-arity curry function.\n *\n * @private\n * @category Function\n * @param {Function} fn The function to curry.\n * @return {Function} The curried function.\n */\nmodule.exports = function _curry2(fn) {\n return function f2(a, b) {\n switch (arguments.length) {\n case 0:\n return f2;\n case 1:\n return _isPlaceholder(a) ? f2\n : _curry1(function(_b) { return fn(a, _b); });\n default:\n return _isPlaceholder(a) && _isPlaceholder(b) ? f2\n : _isPlaceholder(a) ? _curry1(function(_a) { return fn(_a, b); })\n : _isPlaceholder(b) ? _curry1(function(_b) { return fn(a, _b); })\n : fn(a, b);\n }\n };\n};\n","var _curry1 = require('./_curry1');\nvar _curry2 = require('./_curry2');\nvar _isPlaceholder = require('./_isPlaceholder');\n\n\n/**\n * Optimized internal three-arity curry function.\n *\n * @private\n * @category Function\n * @param {Function} fn The function to curry.\n * @return {Function} The curried function.\n */\nmodule.exports = function _curry3(fn) {\n return function f3(a, b, c) {\n switch (arguments.length) {\n case 0:\n return f3;\n case 1:\n return _isPlaceholder(a) ? f3\n : _curry2(function(_b, _c) { return fn(a, _b, _c); });\n case 2:\n return _isPlaceholder(a) && _isPlaceholder(b) ? f3\n : _isPlaceholder(a) ? _curry2(function(_a, _c) { return fn(_a, b, _c); })\n : _isPlaceholder(b) ? _curry2(function(_b, _c) { return fn(a, _b, _c); })\n : _curry1(function(_c) { return fn(a, b, _c); });\n default:\n return _isPlaceholder(a) && _isPlaceholder(b) && _isPlaceholder(c) ? f3\n : _isPlaceholder(a) && _isPlaceholder(b) ? _curry2(function(_a, _b) { return fn(_a, _b, c); })\n : _isPlaceholder(a) && _isPlaceholder(c) ? _curry2(function(_a, _c) { return fn(_a, b, _c); })\n : _isPlaceholder(b) && _isPlaceholder(c) ? _curry2(function(_b, _c) { return fn(a, _b, _c); })\n : _isPlaceholder(a) ? _curry1(function(_a) { return fn(_a, b, c); })\n : _isPlaceholder(b) ? _curry1(function(_b) { return fn(a, _b, c); })\n : _isPlaceholder(c) ? _curry1(function(_c) { return fn(a, b, _c); })\n : fn(a, b, c);\n }\n };\n};\n","var _arity = require('./_arity');\nvar _isPlaceholder = require('./_isPlaceholder');\n\n\n/**\n * Internal curryN function.\n *\n * @private\n * @category Function\n * @param {Number} length The arity of the curried function.\n * @param {Array} received An array of arguments received thus far.\n * @param {Function} fn The function to curry.\n * @return {Function} The curried function.\n */\nmodule.exports = function _curryN(length, received, fn) {\n return function() {\n var combined = [];\n var argsIdx = 0;\n var left = length;\n var combinedIdx = 0;\n while (combinedIdx < received.length || argsIdx < arguments.length) {\n var result;\n if (combinedIdx < received.length &&\n (!_isPlaceholder(received[combinedIdx]) ||\n argsIdx >= arguments.length)) {\n result = received[combinedIdx];\n } else {\n result = arguments[argsIdx];\n argsIdx += 1;\n }\n combined[combinedIdx] = result;\n if (!_isPlaceholder(result)) {\n left -= 1;\n }\n combinedIdx += 1;\n }\n return left <= 0 ? fn.apply(this, combined)\n : _arity(left, _curryN(length, combined, fn));\n };\n};\n","var _isArray = require('./_isArray');\nvar _isTransformer = require('./_isTransformer');\n\n\n/**\n * Returns a function that dispatches with different strategies based on the\n * object in list position (last argument). If it is an array, executes [fn].\n * Otherwise, if it has a function with one of the given method names, it will\n * execute that function (functor case). Otherwise, if it is a transformer,\n * uses transducer [xf] to return a new transformer (transducer case).\n * Otherwise, it will default to executing [fn].\n *\n * @private\n * @param {Array} methodNames properties to check for a custom implementation\n * @param {Function} xf transducer to initialize if object is transformer\n * @param {Function} fn default ramda implementation\n * @return {Function} A function that dispatches on object in list position\n */\nmodule.exports = function _dispatchable(methodNames, xf, fn) {\n return function() {\n if (arguments.length === 0) {\n return fn();\n }\n var args = Array.prototype.slice.call(arguments, 0);\n var obj = args.pop();\n if (!_isArray(obj)) {\n var idx = 0;\n while (idx < methodNames.length) {\n if (typeof obj[methodNames[idx]] === 'function') {\n return obj[methodNames[idx]].apply(obj, args);\n }\n idx += 1;\n }\n if (_isTransformer(obj)) {\n var transducer = xf.apply(null, args);\n return transducer(obj);\n }\n }\n return fn.apply(this, arguments);\n };\n};\n","var take = require('../take');\n\nmodule.exports = function dropLast(n, xs) {\n return take(n < xs.length ? xs.length - n : 0, xs);\n};\n","module.exports = function dropLastWhile(pred, list) {\n var idx = list.length - 1;\n while (idx >= 0 && pred(list[idx])) {\n idx -= 1;\n }\n return Array.prototype.slice.call(list, 0, idx + 1);\n};\n","var _arrayFromIterator = require('./_arrayFromIterator');\nvar _functionName = require('./_functionName');\nvar _has = require('./_has');\nvar identical = require('../identical');\nvar keys = require('../keys');\nvar type = require('../type');\n\n\nmodule.exports = function _equals(a, b, stackA, stackB) {\n if (identical(a, b)) {\n return true;\n }\n\n if (type(a) !== type(b)) {\n return false;\n }\n\n if (a == null || b == null) {\n return false;\n }\n\n if (typeof a.equals === 'function' || typeof b.equals === 'function') {\n return typeof a.equals === 'function' && a.equals(b) &&\n typeof b.equals === 'function' && b.equals(a);\n }\n\n switch (type(a)) {\n case 'Arguments':\n case 'Array':\n case 'Object':\n if (typeof a.constructor === 'function' &&\n _functionName(a.constructor) === 'Promise') {\n return a === b;\n }\n break;\n case 'Boolean':\n case 'Number':\n case 'String':\n if (!(typeof a === typeof b && identical(a.valueOf(), b.valueOf()))) {\n return false;\n }\n break;\n case 'Date':\n if (!identical(a.valueOf(), b.valueOf())) {\n return false;\n }\n break;\n case 'Error':\n return a.name === b.name && a.message === b.message;\n case 'RegExp':\n if (!(a.source === b.source &&\n a.global === b.global &&\n a.ignoreCase === b.ignoreCase &&\n a.multiline === b.multiline &&\n a.sticky === b.sticky &&\n a.unicode === b.unicode)) {\n return false;\n }\n break;\n case 'Map':\n case 'Set':\n if (!_equals(_arrayFromIterator(a.entries()), _arrayFromIterator(b.entries()), stackA, stackB)) {\n return false;\n }\n break;\n case 'Int8Array':\n case 'Uint8Array':\n case 'Uint8ClampedArray':\n case 'Int16Array':\n case 'Uint16Array':\n case 'Int32Array':\n case 'Uint32Array':\n case 'Float32Array':\n case 'Float64Array':\n break;\n case 'ArrayBuffer':\n break;\n default:\n // Values of other types are only equal if identical.\n return false;\n }\n\n var keysA = keys(a);\n if (keysA.length !== keys(b).length) {\n return false;\n }\n\n var idx = stackA.length - 1;\n while (idx >= 0) {\n if (stackA[idx] === a) {\n return stackB[idx] === b;\n }\n idx -= 1;\n }\n\n stackA.push(a);\n stackB.push(b);\n idx = keysA.length - 1;\n while (idx >= 0) {\n var key = keysA[idx];\n if (!(_has(key, b) && _equals(b[key], a[key], stackA, stackB))) {\n return false;\n }\n idx -= 1;\n }\n stackA.pop();\n stackB.pop();\n return true;\n};\n","module.exports = function _filter(fn, list) {\n var idx = 0;\n var len = list.length;\n var result = [];\n\n while (idx < len) {\n if (fn(list[idx])) {\n result[result.length] = list[idx];\n }\n idx += 1;\n }\n return result;\n};\n","var _forceReduced = require('./_forceReduced');\nvar _reduce = require('./_reduce');\nvar _xfBase = require('./_xfBase');\nvar isArrayLike = require('../isArrayLike');\n\nmodule.exports = (function() {\n var preservingReduced = function(xf) {\n return {\n '@@transducer/init': _xfBase.init,\n '@@transducer/result': function(result) {\n return xf['@@transducer/result'](result);\n },\n '@@transducer/step': function(result, input) {\n var ret = xf['@@transducer/step'](result, input);\n return ret['@@transducer/reduced'] ? _forceReduced(ret) : ret;\n }\n };\n };\n\n return function _xcat(xf) {\n var rxf = preservingReduced(xf);\n return {\n '@@transducer/init': _xfBase.init,\n '@@transducer/result': function(result) {\n return rxf['@@transducer/result'](result);\n },\n '@@transducer/step': function(result, input) {\n return !isArrayLike(input) ? _reduce(rxf, result, [input]) : _reduce(rxf, result, input);\n }\n };\n };\n}());\n","module.exports = function _forceReduced(x) {\n return {\n '@@transducer/value': x,\n '@@transducer/reduced': true\n };\n};\n","module.exports = function _functionName(f) {\n // String(x => x) evaluates to \"x => x\", so the pattern may not match.\n var match = String(f).match(/^function (\\w*)/);\n return match == null ? '' : match[1];\n};\n","module.exports = function _has(prop, obj) {\n return Object.prototype.hasOwnProperty.call(obj, prop);\n};\n","module.exports = function _identity(x) { return x; };\n","var equals = require('../equals');\n\n\nmodule.exports = function _indexOf(list, a, idx) {\n var inf, item;\n // Array.prototype.indexOf doesn't exist below IE9\n if (typeof list.indexOf === 'function') {\n switch (typeof a) {\n case 'number':\n if (a === 0) {\n // manually crawl the list to distinguish between +0 and -0\n inf = 1 / a;\n while (idx < list.length) {\n item = list[idx];\n if (item === 0 && 1 / item === inf) {\n return idx;\n }\n idx += 1;\n }\n return -1;\n } else if (a !== a) {\n // NaN\n while (idx < list.length) {\n item = list[idx];\n if (typeof item === 'number' && item !== item) {\n return idx;\n }\n idx += 1;\n }\n return -1;\n }\n // non-zero numbers can utilise Set\n return list.indexOf(a, idx);\n\n // all these types can utilise Set\n case 'string':\n case 'boolean':\n case 'function':\n case 'undefined':\n return list.indexOf(a, idx);\n\n case 'object':\n if (a === null) {\n // null can utilise Set\n return list.indexOf(a, idx);\n }\n }\n }\n // anything else not covered above, defer to R.equals\n while (idx < list.length) {\n if (equals(list[idx], a)) {\n return idx;\n }\n idx += 1;\n }\n return -1;\n};\n","var _has = require('./_has');\n\n\nmodule.exports = (function() {\n var toString = Object.prototype.toString;\n return toString.call(arguments) === '[object Arguments]' ?\n function _isArguments(x) { return toString.call(x) === '[object Arguments]'; } :\n function _isArguments(x) { return _has('callee', x); };\n}());\n","/**\n * Tests whether or not an object is an array.\n *\n * @private\n * @param {*} val The object to test.\n * @return {Boolean} `true` if `val` is an array, `false` otherwise.\n * @example\n *\n * _isArray([]); //=> true\n * _isArray(null); //=> false\n * _isArray({}); //=> false\n */\nmodule.exports = Array.isArray || function _isArray(val) {\n return (val != null &&\n val.length >= 0 &&\n Object.prototype.toString.call(val) === '[object Array]');\n};\n","module.exports = function _isFunction(x) {\n return Object.prototype.toString.call(x) === '[object Function]';\n};\n","/**\n * Determine if the passed argument is an integer.\n *\n * @private\n * @param {*} n\n * @category Type\n * @return {Boolean}\n */\nmodule.exports = Number.isInteger || function _isInteger(n) {\n return (n << 0) === n;\n};\n","module.exports = function _isNumber(x) {\n return Object.prototype.toString.call(x) === '[object Number]';\n};\n","module.exports = function _isObject(x) {\n return Object.prototype.toString.call(x) === '[object Object]';\n};\n","module.exports = function _isPlaceholder(a) {\n return a != null &&\n typeof a === 'object' &&\n a['@@functional/placeholder'] === true;\n};\n","module.exports = function _isRegExp(x) {\n return Object.prototype.toString.call(x) === '[object RegExp]';\n};\n","module.exports = function _isString(x) {\n return Object.prototype.toString.call(x) === '[object String]';\n};\n","module.exports = function _isTransformer(obj) {\n return typeof obj['@@transducer/step'] === 'function';\n};\n","var isArrayLike = require('../isArrayLike');\n\n\n/**\n * `_makeFlat` is a helper function that returns a one-level or fully recursive\n * function based on the flag passed in.\n *\n * @private\n */\nmodule.exports = function _makeFlat(recursive) {\n return function flatt(list) {\n var value, jlen, j;\n var result = [];\n var idx = 0;\n var ilen = list.length;\n\n while (idx < ilen) {\n if (isArrayLike(list[idx])) {\n value = recursive ? flatt(list[idx]) : list[idx];\n j = 0;\n jlen = value.length;\n while (j < jlen) {\n result[result.length] = value[j];\n j += 1;\n }\n } else {\n result[result.length] = list[idx];\n }\n idx += 1;\n }\n return result;\n };\n};\n","module.exports = function _map(fn, functor) {\n var idx = 0;\n var len = functor.length;\n var result = Array(len);\n while (idx < len) {\n result[idx] = fn(functor[idx]);\n idx += 1;\n }\n return result;\n};\n","var _has = require('./_has');\n\n// Based on https://developer.mozilla.org/en/docs/Web/JavaScript/Reference/Global_Objects/Object/assign\nmodule.exports = function _objectAssign(target) {\n if (target == null) {\n throw new TypeError('Cannot convert undefined or null to object');\n }\n\n var output = Object(target);\n var idx = 1;\n var length = arguments.length;\n while (idx < length) {\n var source = arguments[idx];\n if (source != null) {\n for (var nextKey in source) {\n if (_has(nextKey, source)) {\n output[nextKey] = source[nextKey];\n }\n }\n }\n idx += 1;\n }\n return output;\n};\n","module.exports = function _of(x) { return [x]; };\n","module.exports = function _pipe(f, g) {\n return function() {\n return g.call(this, f.apply(this, arguments));\n };\n};\n","module.exports = function _pipeP(f, g) {\n return function() {\n var ctx = this;\n return f.apply(ctx, arguments).then(function(x) {\n return g.call(ctx, x);\n });\n };\n};\n","module.exports = function _quote(s) {\n var escaped = s\n .replace(/\\\\/g, '\\\\\\\\')\n .replace(/[\\b]/g, '\\\\b') // \\b matches word boundary; [\\b] matches backspace\n .replace(/\\f/g, '\\\\f')\n .replace(/\\n/g, '\\\\n')\n .replace(/\\r/g, '\\\\r')\n .replace(/\\t/g, '\\\\t')\n .replace(/\\v/g, '\\\\v')\n .replace(/\\0/g, '\\\\0');\n\n return '\"' + escaped.replace(/\"/g, '\\\\\"') + '\"';\n};\n","var _xwrap = require('./_xwrap');\nvar bind = require('../bind');\nvar isArrayLike = require('../isArrayLike');\n\n\nmodule.exports = (function() {\n function _arrayReduce(xf, acc, list) {\n var idx = 0;\n var len = list.length;\n while (idx < len) {\n acc = xf['@@transducer/step'](acc, list[idx]);\n if (acc && acc['@@transducer/reduced']) {\n acc = acc['@@transducer/value'];\n break;\n }\n idx += 1;\n }\n return xf['@@transducer/result'](acc);\n }\n\n function _iterableReduce(xf, acc, iter) {\n var step = iter.next();\n while (!step.done) {\n acc = xf['@@transducer/step'](acc, step.value);\n if (acc && acc['@@transducer/reduced']) {\n acc = acc['@@transducer/value'];\n break;\n }\n step = iter.next();\n }\n return xf['@@transducer/result'](acc);\n }\n\n function _methodReduce(xf, acc, obj) {\n return xf['@@transducer/result'](obj.reduce(bind(xf['@@transducer/step'], xf), acc));\n }\n\n var symIterator = (typeof Symbol !== 'undefined') ? Symbol.iterator : '@@iterator';\n return function _reduce(fn, acc, list) {\n if (typeof fn === 'function') {\n fn = _xwrap(fn);\n }\n if (isArrayLike(list)) {\n return _arrayReduce(fn, acc, list);\n }\n if (typeof list.reduce === 'function') {\n return _methodReduce(fn, acc, list);\n }\n if (list[symIterator] != null) {\n return _iterableReduce(fn, acc, list[symIterator]());\n }\n if (typeof list.next === 'function') {\n return _iterableReduce(fn, acc, list);\n }\n throw new TypeError('reduce: list must be array or iterable');\n };\n}());\n","module.exports = function _reduced(x) {\n return x && x['@@transducer/reduced'] ? x :\n {\n '@@transducer/value': x,\n '@@transducer/reduced': true\n };\n};\n","var _assign = require('./_assign');\nvar _identity = require('./_identity');\nvar _isTransformer = require('./_isTransformer');\nvar isArrayLike = require('../isArrayLike');\nvar objOf = require('../objOf');\n\n\nmodule.exports = (function() {\n var _stepCatArray = {\n '@@transducer/init': Array,\n '@@transducer/step': function(xs, x) {\n xs.push(x);\n return xs;\n },\n '@@transducer/result': _identity\n };\n var _stepCatString = {\n '@@transducer/init': String,\n '@@transducer/step': function(a, b) { return a + b; },\n '@@transducer/result': _identity\n };\n var _stepCatObject = {\n '@@transducer/init': Object,\n '@@transducer/step': function(result, input) {\n return _assign(\n result,\n isArrayLike(input) ? objOf(input[0], input[1]) : input\n );\n },\n '@@transducer/result': _identity\n };\n\n return function _stepCat(obj) {\n if (_isTransformer(obj)) {\n return obj;\n }\n if (isArrayLike(obj)) {\n return _stepCatArray;\n }\n if (typeof obj === 'string') {\n return _stepCatString;\n }\n if (typeof obj === 'object') {\n return _stepCatObject;\n }\n throw new Error('Cannot create transformer for ' + obj);\n };\n}());\n","/**\n * Polyfill from .\n */\nmodule.exports = (function() {\n var pad = function pad(n) { return (n < 10 ? '0' : '') + n; };\n\n return typeof Date.prototype.toISOString === 'function' ?\n function _toISOString(d) {\n return d.toISOString();\n } :\n function _toISOString(d) {\n return (\n d.getUTCFullYear() + '-' +\n pad(d.getUTCMonth() + 1) + '-' +\n pad(d.getUTCDate()) + 'T' +\n pad(d.getUTCHours()) + ':' +\n pad(d.getUTCMinutes()) + ':' +\n pad(d.getUTCSeconds()) + '.' +\n (d.getUTCMilliseconds() / 1000).toFixed(3).slice(2, 5) + 'Z'\n );\n };\n}());\n","var _contains = require('./_contains');\nvar _map = require('./_map');\nvar _quote = require('./_quote');\nvar _toISOString = require('./_toISOString');\nvar keys = require('../keys');\nvar reject = require('../reject');\n\n\nmodule.exports = function _toString(x, seen) {\n var recur = function recur(y) {\n var xs = seen.concat([x]);\n return _contains(y, xs) ? '' : _toString(y, xs);\n };\n\n // mapPairs :: (Object, [String]) -> [String]\n var mapPairs = function(obj, keys) {\n return _map(function(k) { return _quote(k) + ': ' + recur(obj[k]); }, keys.slice().sort());\n };\n\n switch (Object.prototype.toString.call(x)) {\n case '[object Arguments]':\n return '(function() { return arguments; }(' + _map(recur, x).join(', ') + '))';\n case '[object Array]':\n return '[' + _map(recur, x).concat(mapPairs(x, reject(function(k) { return /^\\d+$/.test(k); }, keys(x)))).join(', ') + ']';\n case '[object Boolean]':\n return typeof x === 'object' ? 'new Boolean(' + recur(x.valueOf()) + ')' : x.toString();\n case '[object Date]':\n return 'new Date(' + (isNaN(x.valueOf()) ? recur(NaN) : _quote(_toISOString(x))) + ')';\n case '[object Null]':\n return 'null';\n case '[object Number]':\n return typeof x === 'object' ? 'new Number(' + recur(x.valueOf()) + ')' : 1 / x === -Infinity ? '-0' : x.toString(10);\n case '[object String]':\n return typeof x === 'object' ? 'new String(' + recur(x.valueOf()) + ')' : _quote(x);\n case '[object Undefined]':\n return 'undefined';\n default:\n if (typeof x.toString === 'function') {\n var repr = x.toString();\n if (repr !== '[object Object]') {\n return repr;\n }\n }\n return '{' + mapPairs(x, keys(x)).join(', ') + '}';\n }\n};\n","var _curry2 = require('./_curry2');\nvar _reduced = require('./_reduced');\nvar _xfBase = require('./_xfBase');\n\n\nmodule.exports = (function() {\n function XAll(f, xf) {\n this.xf = xf;\n this.f = f;\n this.all = true;\n }\n XAll.prototype['@@transducer/init'] = _xfBase.init;\n XAll.prototype['@@transducer/result'] = function(result) {\n if (this.all) {\n result = this.xf['@@transducer/step'](result, true);\n }\n return this.xf['@@transducer/result'](result);\n };\n XAll.prototype['@@transducer/step'] = function(result, input) {\n if (!this.f(input)) {\n this.all = false;\n result = _reduced(this.xf['@@transducer/step'](result, false));\n }\n return result;\n };\n\n return _curry2(function _xall(f, xf) { return new XAll(f, xf); });\n}());\n","var _curry2 = require('./_curry2');\nvar _reduced = require('./_reduced');\nvar _xfBase = require('./_xfBase');\n\n\nmodule.exports = (function() {\n function XAny(f, xf) {\n this.xf = xf;\n this.f = f;\n this.any = false;\n }\n XAny.prototype['@@transducer/init'] = _xfBase.init;\n XAny.prototype['@@transducer/result'] = function(result) {\n if (!this.any) {\n result = this.xf['@@transducer/step'](result, false);\n }\n return this.xf['@@transducer/result'](result);\n };\n XAny.prototype['@@transducer/step'] = function(result, input) {\n if (this.f(input)) {\n this.any = true;\n result = _reduced(this.xf['@@transducer/step'](result, true));\n }\n return result;\n };\n\n return _curry2(function _xany(f, xf) { return new XAny(f, xf); });\n}());\n","var _concat = require('./_concat');\nvar _curry2 = require('./_curry2');\nvar _xfBase = require('./_xfBase');\n\n\nmodule.exports = (function() {\n function XAperture(n, xf) {\n this.xf = xf;\n this.pos = 0;\n this.full = false;\n this.acc = new Array(n);\n }\n XAperture.prototype['@@transducer/init'] = _xfBase.init;\n XAperture.prototype['@@transducer/result'] = function(result) {\n this.acc = null;\n return this.xf['@@transducer/result'](result);\n };\n XAperture.prototype['@@transducer/step'] = function(result, input) {\n this.store(input);\n return this.full ? this.xf['@@transducer/step'](result, this.getCopy()) : result;\n };\n XAperture.prototype.store = function(input) {\n this.acc[this.pos] = input;\n this.pos += 1;\n if (this.pos === this.acc.length) {\n this.pos = 0;\n this.full = true;\n }\n };\n XAperture.prototype.getCopy = function() {\n return _concat(Array.prototype.slice.call(this.acc, this.pos),\n Array.prototype.slice.call(this.acc, 0, this.pos));\n };\n\n return _curry2(function _xaperture(n, xf) { return new XAperture(n, xf); });\n}());\n","var _curry2 = require('./_curry2');\nvar _flatCat = require('./_flatCat');\nvar map = require('../map');\n\n\nmodule.exports = _curry2(function _xchain(f, xf) {\n return map(f, _flatCat(xf));\n});\n","var _curry2 = require('./_curry2');\nvar _xfBase = require('./_xfBase');\n\n\nmodule.exports = (function() {\n function XDrop(n, xf) {\n this.xf = xf;\n this.n = n;\n }\n XDrop.prototype['@@transducer/init'] = _xfBase.init;\n XDrop.prototype['@@transducer/result'] = _xfBase.result;\n XDrop.prototype['@@transducer/step'] = function(result, input) {\n if (this.n > 0) {\n this.n -= 1;\n return result;\n }\n return this.xf['@@transducer/step'](result, input);\n };\n\n return _curry2(function _xdrop(n, xf) { return new XDrop(n, xf); });\n}());\n","var _curry2 = require('./_curry2');\nvar _xfBase = require('./_xfBase');\n\n\nmodule.exports = (function() {\n function XDropLast(n, xf) {\n this.xf = xf;\n this.pos = 0;\n this.full = false;\n this.acc = new Array(n);\n }\n XDropLast.prototype['@@transducer/init'] = _xfBase.init;\n XDropLast.prototype['@@transducer/result'] = function(result) {\n this.acc = null;\n return this.xf['@@transducer/result'](result);\n };\n XDropLast.prototype['@@transducer/step'] = function(result, input) {\n if (this.full) {\n result = this.xf['@@transducer/step'](result, this.acc[this.pos]);\n }\n this.store(input);\n return result;\n };\n XDropLast.prototype.store = function(input) {\n this.acc[this.pos] = input;\n this.pos += 1;\n if (this.pos === this.acc.length) {\n this.pos = 0;\n this.full = true;\n }\n };\n\n return _curry2(function _xdropLast(n, xf) { return new XDropLast(n, xf); });\n}());\n","var _curry2 = require('./_curry2');\nvar _reduce = require('./_reduce');\nvar _xfBase = require('./_xfBase');\n\nmodule.exports = (function() {\n function XDropLastWhile(fn, xf) {\n this.f = fn;\n this.retained = [];\n this.xf = xf;\n }\n XDropLastWhile.prototype['@@transducer/init'] = _xfBase.init;\n XDropLastWhile.prototype['@@transducer/result'] = function(result) {\n this.retained = null;\n return this.xf['@@transducer/result'](result);\n };\n XDropLastWhile.prototype['@@transducer/step'] = function(result, input) {\n return this.f(input) ? this.retain(result, input)\n : this.flush(result, input);\n };\n XDropLastWhile.prototype.flush = function(result, input) {\n result = _reduce(\n this.xf['@@transducer/step'],\n result,\n this.retained\n );\n this.retained = [];\n return this.xf['@@transducer/step'](result, input);\n };\n XDropLastWhile.prototype.retain = function(result, input) {\n this.retained.push(input);\n return result;\n };\n\n return _curry2(function _xdropLastWhile(fn, xf) { return new XDropLastWhile(fn, xf); });\n}());\n","var _curry2 = require('./_curry2');\nvar _xfBase = require('./_xfBase');\n\n\nmodule.exports = (function() {\n function XDropRepeatsWith(pred, xf) {\n this.xf = xf;\n this.pred = pred;\n this.lastValue = undefined;\n this.seenFirstValue = false;\n }\n\n XDropRepeatsWith.prototype['@@transducer/init'] = _xfBase.init;\n XDropRepeatsWith.prototype['@@transducer/result'] = _xfBase.result;\n XDropRepeatsWith.prototype['@@transducer/step'] = function(result, input) {\n var sameAsLast = false;\n if (!this.seenFirstValue) {\n this.seenFirstValue = true;\n } else if (this.pred(this.lastValue, input)) {\n sameAsLast = true;\n }\n this.lastValue = input;\n return sameAsLast ? result : this.xf['@@transducer/step'](result, input);\n };\n\n return _curry2(function _xdropRepeatsWith(pred, xf) { return new XDropRepeatsWith(pred, xf); });\n}());\n","var _curry2 = require('./_curry2');\nvar _xfBase = require('./_xfBase');\n\n\nmodule.exports = (function() {\n function XDropWhile(f, xf) {\n this.xf = xf;\n this.f = f;\n }\n XDropWhile.prototype['@@transducer/init'] = _xfBase.init;\n XDropWhile.prototype['@@transducer/result'] = _xfBase.result;\n XDropWhile.prototype['@@transducer/step'] = function(result, input) {\n if (this.f) {\n if (this.f(input)) {\n return result;\n }\n this.f = null;\n }\n return this.xf['@@transducer/step'](result, input);\n };\n\n return _curry2(function _xdropWhile(f, xf) { return new XDropWhile(f, xf); });\n}());\n","module.exports = {\n init: function() {\n return this.xf['@@transducer/init']();\n },\n result: function(result) {\n return this.xf['@@transducer/result'](result);\n }\n};\n","var _curry2 = require('./_curry2');\nvar _xfBase = require('./_xfBase');\n\n\nmodule.exports = (function() {\n function XFilter(f, xf) {\n this.xf = xf;\n this.f = f;\n }\n XFilter.prototype['@@transducer/init'] = _xfBase.init;\n XFilter.prototype['@@transducer/result'] = _xfBase.result;\n XFilter.prototype['@@transducer/step'] = function(result, input) {\n return this.f(input) ? this.xf['@@transducer/step'](result, input) : result;\n };\n\n return _curry2(function _xfilter(f, xf) { return new XFilter(f, xf); });\n}());\n","var _curry2 = require('./_curry2');\nvar _reduced = require('./_reduced');\nvar _xfBase = require('./_xfBase');\n\n\nmodule.exports = (function() {\n function XFind(f, xf) {\n this.xf = xf;\n this.f = f;\n this.found = false;\n }\n XFind.prototype['@@transducer/init'] = _xfBase.init;\n XFind.prototype['@@transducer/result'] = function(result) {\n if (!this.found) {\n result = this.xf['@@transducer/step'](result, void 0);\n }\n return this.xf['@@transducer/result'](result);\n };\n XFind.prototype['@@transducer/step'] = function(result, input) {\n if (this.f(input)) {\n this.found = true;\n result = _reduced(this.xf['@@transducer/step'](result, input));\n }\n return result;\n };\n\n return _curry2(function _xfind(f, xf) { return new XFind(f, xf); });\n}());\n","var _curry2 = require('./_curry2');\nvar _reduced = require('./_reduced');\nvar _xfBase = require('./_xfBase');\n\n\nmodule.exports = (function() {\n function XFindIndex(f, xf) {\n this.xf = xf;\n this.f = f;\n this.idx = -1;\n this.found = false;\n }\n XFindIndex.prototype['@@transducer/init'] = _xfBase.init;\n XFindIndex.prototype['@@transducer/result'] = function(result) {\n if (!this.found) {\n result = this.xf['@@transducer/step'](result, -1);\n }\n return this.xf['@@transducer/result'](result);\n };\n XFindIndex.prototype['@@transducer/step'] = function(result, input) {\n this.idx += 1;\n if (this.f(input)) {\n this.found = true;\n result = _reduced(this.xf['@@transducer/step'](result, this.idx));\n }\n return result;\n };\n\n return _curry2(function _xfindIndex(f, xf) { return new XFindIndex(f, xf); });\n}());\n","var _curry2 = require('./_curry2');\nvar _xfBase = require('./_xfBase');\n\n\nmodule.exports = (function() {\n function XFindLast(f, xf) {\n this.xf = xf;\n this.f = f;\n }\n XFindLast.prototype['@@transducer/init'] = _xfBase.init;\n XFindLast.prototype['@@transducer/result'] = function(result) {\n return this.xf['@@transducer/result'](this.xf['@@transducer/step'](result, this.last));\n };\n XFindLast.prototype['@@transducer/step'] = function(result, input) {\n if (this.f(input)) {\n this.last = input;\n }\n return result;\n };\n\n return _curry2(function _xfindLast(f, xf) { return new XFindLast(f, xf); });\n}());\n","var _curry2 = require('./_curry2');\nvar _xfBase = require('./_xfBase');\n\n\nmodule.exports = (function() {\n function XFindLastIndex(f, xf) {\n this.xf = xf;\n this.f = f;\n this.idx = -1;\n this.lastIdx = -1;\n }\n XFindLastIndex.prototype['@@transducer/init'] = _xfBase.init;\n XFindLastIndex.prototype['@@transducer/result'] = function(result) {\n return this.xf['@@transducer/result'](this.xf['@@transducer/step'](result, this.lastIdx));\n };\n XFindLastIndex.prototype['@@transducer/step'] = function(result, input) {\n this.idx += 1;\n if (this.f(input)) {\n this.lastIdx = this.idx;\n }\n return result;\n };\n\n return _curry2(function _xfindLastIndex(f, xf) { return new XFindLastIndex(f, xf); });\n}());\n","var _curry2 = require('./_curry2');\nvar _xfBase = require('./_xfBase');\n\n\nmodule.exports = (function() {\n function XMap(f, xf) {\n this.xf = xf;\n this.f = f;\n }\n XMap.prototype['@@transducer/init'] = _xfBase.init;\n XMap.prototype['@@transducer/result'] = _xfBase.result;\n XMap.prototype['@@transducer/step'] = function(result, input) {\n return this.xf['@@transducer/step'](result, this.f(input));\n };\n\n return _curry2(function _xmap(f, xf) { return new XMap(f, xf); });\n}());\n","var _curryN = require('./_curryN');\nvar _has = require('./_has');\nvar _xfBase = require('./_xfBase');\n\n\nmodule.exports = (function() {\n function XReduceBy(valueFn, valueAcc, keyFn, xf) {\n this.valueFn = valueFn;\n this.valueAcc = valueAcc;\n this.keyFn = keyFn;\n this.xf = xf;\n this.inputs = {};\n }\n XReduceBy.prototype['@@transducer/init'] = _xfBase.init;\n XReduceBy.prototype['@@transducer/result'] = function(result) {\n var key;\n for (key in this.inputs) {\n if (_has(key, this.inputs)) {\n result = this.xf['@@transducer/step'](result, this.inputs[key]);\n if (result['@@transducer/reduced']) {\n result = result['@@transducer/value'];\n break;\n }\n }\n }\n this.inputs = null;\n return this.xf['@@transducer/result'](result);\n };\n XReduceBy.prototype['@@transducer/step'] = function(result, input) {\n var key = this.keyFn(input);\n this.inputs[key] = this.inputs[key] || [key, this.valueAcc];\n this.inputs[key][1] = this.valueFn(this.inputs[key][1], input);\n return result;\n };\n\n return _curryN(4, [],\n function _xreduceBy(valueFn, valueAcc, keyFn, xf) {\n return new XReduceBy(valueFn, valueAcc, keyFn, xf);\n });\n}());\n","var _curry2 = require('./_curry2');\nvar _reduced = require('./_reduced');\nvar _xfBase = require('./_xfBase');\n\nmodule.exports = (function() {\n function XTake(n, xf) {\n this.xf = xf;\n this.n = n;\n this.i = 0;\n }\n XTake.prototype['@@transducer/init'] = _xfBase.init;\n XTake.prototype['@@transducer/result'] = _xfBase.result;\n XTake.prototype['@@transducer/step'] = function(result, input) {\n this.i += 1;\n var ret = this.n === 0 ? result : this.xf['@@transducer/step'](result, input);\n return this.i >= this.n ? _reduced(ret) : ret;\n };\n\n return _curry2(function _xtake(n, xf) { return new XTake(n, xf); });\n}());\n","var _curry2 = require('./_curry2');\nvar _reduced = require('./_reduced');\nvar _xfBase = require('./_xfBase');\n\n\nmodule.exports = (function() {\n function XTakeWhile(f, xf) {\n this.xf = xf;\n this.f = f;\n }\n XTakeWhile.prototype['@@transducer/init'] = _xfBase.init;\n XTakeWhile.prototype['@@transducer/result'] = _xfBase.result;\n XTakeWhile.prototype['@@transducer/step'] = function(result, input) {\n return this.f(input) ? this.xf['@@transducer/step'](result, input) : _reduced(result);\n };\n\n return _curry2(function _xtakeWhile(f, xf) { return new XTakeWhile(f, xf); });\n}());\n","module.exports = (function() {\n function XWrap(fn) {\n this.f = fn;\n }\n XWrap.prototype['@@transducer/init'] = function() {\n throw new Error('init not implemented on XWrap');\n };\n XWrap.prototype['@@transducer/result'] = function(acc) { return acc; };\n XWrap.prototype['@@transducer/step'] = function(acc, x) {\n return this.f(acc, x);\n };\n\n return function _xwrap(fn) { return new XWrap(fn); };\n}());\n","var _contains = require('./internal/_contains');\nvar _curry2 = require('./internal/_curry2');\nvar _filter = require('./internal/_filter');\nvar flip = require('./flip');\nvar uniq = require('./uniq');\n\n\n/**\n * Combines two lists into a set (i.e. no duplicates) composed of those\n * elements common to both lists.\n *\n * @func\n * @memberOf R\n * @since v0.1.0\n * @category Relation\n * @sig [*] -> [*] -> [*]\n * @param {Array} list1 The first list.\n * @param {Array} list2 The second list.\n * @return {Array} The list of elements found in both `list1` and `list2`.\n * @see R.intersectionWith\n * @example\n *\n * R.intersection([1,2,3,4], [7,6,5,4,3]); //=> [4, 3]\n */\nmodule.exports = _curry2(function intersection(list1, list2) {\n var lookupList, filteredList;\n if (list1.length > list2.length) {\n lookupList = list1;\n filteredList = list2;\n } else {\n lookupList = list2;\n filteredList = list1;\n }\n return uniq(_filter(flip(_contains)(lookupList), filteredList));\n});\n","var _containsWith = require('./internal/_containsWith');\nvar _curry3 = require('./internal/_curry3');\nvar uniqWith = require('./uniqWith');\n\n\n/**\n * Combines two lists into a set (i.e. no duplicates) composed of those\n * elements common to both lists. Duplication is determined according to the\n * value returned by applying the supplied predicate to two list elements.\n *\n * @func\n * @memberOf R\n * @since v0.1.0\n * @category Relation\n * @sig ((a, a) -> Boolean) -> [a] -> [a] -> [a]\n * @param {Function} pred A predicate function that determines whether\n * the two supplied elements are equal.\n * @param {Array} list1 One list of items to compare\n * @param {Array} list2 A second list of items to compare\n * @return {Array} A new list containing those elements common to both lists.\n * @see R.intersection\n * @example\n *\n * var buffaloSpringfield = [\n * {id: 824, name: 'Richie Furay'},\n * {id: 956, name: 'Dewey Martin'},\n * {id: 313, name: 'Bruce Palmer'},\n * {id: 456, name: 'Stephen Stills'},\n * {id: 177, name: 'Neil Young'}\n * ];\n * var csny = [\n * {id: 204, name: 'David Crosby'},\n * {id: 456, name: 'Stephen Stills'},\n * {id: 539, name: 'Graham Nash'},\n * {id: 177, name: 'Neil Young'}\n * ];\n *\n * R.intersectionWith(R.eqBy(R.prop('id')), buffaloSpringfield, csny);\n * //=> [{id: 456, name: 'Stephen Stills'}, {id: 177, name: 'Neil Young'}]\n */\nmodule.exports = _curry3(function intersectionWith(pred, list1, list2) {\n var lookupList, filteredList;\n if (list1.length > list2.length) {\n lookupList = list1;\n filteredList = list2;\n } else {\n lookupList = list2;\n filteredList = list1;\n }\n var results = [];\n var idx = 0;\n while (idx < filteredList.length) {\n if (_containsWith(pred, filteredList[idx], lookupList)) {\n results[results.length] = filteredList[idx];\n }\n idx += 1;\n }\n return uniqWith(pred, results);\n});\n","var _checkForMethod = require('./internal/_checkForMethod');\nvar _curry2 = require('./internal/_curry2');\n\n\n/**\n * Creates a new list with the separator interposed between elements.\n *\n * Dispatches to the `intersperse` method of the second argument, if present.\n *\n * @func\n * @memberOf R\n * @since v0.14.0\n * @category List\n * @sig a -> [a] -> [a]\n * @param {*} separator The element to add to the list.\n * @param {Array} list The list to be interposed.\n * @return {Array} The new list.\n * @example\n *\n * R.intersperse('n', ['ba', 'a', 'a']); //=> ['ba', 'n', 'a', 'n', 'a']\n */\nmodule.exports = _curry2(_checkForMethod('intersperse', function intersperse(separator, list) {\n var out = [];\n var idx = 0;\n var length = list.length;\n while (idx < length) {\n if (idx === length - 1) {\n out.push(list[idx]);\n } else {\n out.push(list[idx], separator);\n }\n idx += 1;\n }\n return out;\n}));\n","var _clone = require('./internal/_clone');\nvar _curry3 = require('./internal/_curry3');\nvar _isTransformer = require('./internal/_isTransformer');\nvar _reduce = require('./internal/_reduce');\nvar _stepCat = require('./internal/_stepCat');\n\n\n/**\n * Transforms the items of the list with the transducer and appends the\n * transformed items to the accumulator using an appropriate iterator function\n * based on the accumulator type.\n *\n * The accumulator can be an array, string, object or a transformer. Iterated\n * items will be appended to arrays and concatenated to strings. Objects will\n * be merged directly or 2-item arrays will be merged as key, value pairs.\n *\n * The accumulator can also be a transformer object that provides a 2-arity\n * reducing iterator function, step, 0-arity initial value function, init, and\n * 1-arity result extraction function result. The step function is used as the\n * iterator function in reduce. The result function is used to convert the\n * final accumulator into the return type and in most cases is R.identity. The\n * init function is used to provide the initial accumulator.\n *\n * The iteration is performed with R.reduce after initializing the transducer.\n *\n * @func\n * @memberOf R\n * @since v0.12.0\n * @category List\n * @sig a -> (b -> b) -> [c] -> a\n * @param {*} acc The initial accumulator value.\n * @param {Function} xf The transducer function. Receives a transformer and returns a transformer.\n * @param {Array} list The list to iterate over.\n * @return {*} The final, accumulated value.\n * @example\n *\n * var numbers = [1, 2, 3, 4];\n * var transducer = R.compose(R.map(R.add(1)), R.take(2));\n *\n * R.into([], transducer, numbers); //=> [2, 3]\n *\n * var intoArray = R.into([]);\n * intoArray(transducer, numbers); //=> [2, 3]\n */\nmodule.exports = _curry3(function into(acc, xf, list) {\n return _isTransformer(acc) ?\n _reduce(xf(acc), acc['@@transducer/init'](), list) :\n _reduce(xf(_stepCat(acc)), _clone(acc, [], [], false), list);\n});\n","var _curry1 = require('./internal/_curry1');\nvar _has = require('./internal/_has');\nvar keys = require('./keys');\n\n\n/**\n * Same as R.invertObj, however this accounts for objects with duplicate values\n * by putting the values into an array.\n *\n * @func\n * @memberOf R\n * @since v0.9.0\n * @category Object\n * @sig {s: x} -> {x: [ s, ... ]}\n * @param {Object} obj The object or array to invert\n * @return {Object} out A new object with keys\n * in an array.\n * @example\n *\n * var raceResultsByFirstName = {\n * first: 'alice',\n * second: 'jake',\n * third: 'alice',\n * };\n * R.invert(raceResultsByFirstName);\n * //=> { 'alice': ['first', 'third'], 'jake':['second'] }\n */\nmodule.exports = _curry1(function invert(obj) {\n var props = keys(obj);\n var len = props.length;\n var idx = 0;\n var out = {};\n\n while (idx < len) {\n var key = props[idx];\n var val = obj[key];\n var list = _has(val, out) ? out[val] : (out[val] = []);\n list[list.length] = key;\n idx += 1;\n }\n return out;\n});\n","var _curry1 = require('./internal/_curry1');\nvar keys = require('./keys');\n\n\n/**\n * Returns a new object with the keys of the given object as values, and the\n * values of the given object, which are coerced to strings, as keys. Note\n * that the last key found is preferred when handling the same value.\n *\n * @func\n * @memberOf R\n * @since v0.9.0\n * @category Object\n * @sig {s: x} -> {x: s}\n * @param {Object} obj The object or array to invert\n * @return {Object} out A new object\n * @example\n *\n * var raceResults = {\n * first: 'alice',\n * second: 'jake'\n * };\n * R.invertObj(raceResults);\n * //=> { 'alice': 'first', 'jake':'second' }\n *\n * // Alternatively:\n * var raceResults = ['alice', 'jake'];\n * R.invertObj(raceResults);\n * //=> { 'alice': '0', 'jake':'1' }\n */\nmodule.exports = _curry1(function invertObj(obj) {\n var props = keys(obj);\n var len = props.length;\n var idx = 0;\n var out = {};\n\n while (idx < len) {\n var key = props[idx];\n out[obj[key]] = key;\n idx += 1;\n }\n return out;\n});\n","var _curry2 = require('./internal/_curry2');\nvar _isFunction = require('./internal/_isFunction');\nvar curryN = require('./curryN');\nvar toString = require('./toString');\n\n\n/**\n * Turns a named method with a specified arity into a function that can be\n * called directly supplied with arguments and a target object.\n *\n * The returned function is curried and accepts `arity + 1` parameters where\n * the final parameter is the target object.\n *\n * @func\n * @memberOf R\n * @since v0.1.0\n * @category Function\n * @sig Number -> String -> (a -> b -> ... -> n -> Object -> *)\n * @param {Number} arity Number of arguments the returned function should take\n * before the target object.\n * @param {String} method Name of the method to call.\n * @return {Function} A new curried function.\n * @example\n *\n * var sliceFrom = R.invoker(1, 'slice');\n * sliceFrom(6, 'abcdefghijklm'); //=> 'ghijklm'\n * var sliceFrom6 = R.invoker(2, 'slice')(6);\n * sliceFrom6(8, 'abcdefghijklm'); //=> 'gh'\n * @symb R.invoker(0, 'method')(o) = o['method']()\n * @symb R.invoker(1, 'method')(a, o) = o['method'](a)\n * @symb R.invoker(2, 'method')(a, b, o) = o['method'](a, b)\n */\nmodule.exports = _curry2(function invoker(arity, method) {\n return curryN(arity + 1, function() {\n var target = arguments[arity];\n if (target != null && _isFunction(target[method])) {\n return target[method].apply(target, Array.prototype.slice.call(arguments, 0, arity));\n }\n throw new TypeError(toString(target) + ' does not have a method named \"' + method + '\"');\n });\n});\n","var _curry2 = require('./internal/_curry2');\n\n\n/**\n * See if an object (`val`) is an instance of the supplied constructor. This\n * function will check up the inheritance chain, if any.\n *\n * @func\n * @memberOf R\n * @since v0.3.0\n * @category Type\n * @sig (* -> {*}) -> a -> Boolean\n * @param {Object} ctor A constructor\n * @param {*} val The value to test\n * @return {Boolean}\n * @example\n *\n * R.is(Object, {}); //=> true\n * R.is(Number, 1); //=> true\n * R.is(Object, 1); //=> false\n * R.is(String, 's'); //=> true\n * R.is(String, new String('')); //=> true\n * R.is(Object, new String('')); //=> true\n * R.is(Object, 's'); //=> false\n * R.is(Number, {}); //=> false\n */\nmodule.exports = _curry2(function is(Ctor, val) {\n return val != null && val.constructor === Ctor || val instanceof Ctor;\n});\n","var _curry1 = require('./internal/_curry1');\nvar _isArray = require('./internal/_isArray');\nvar _isString = require('./internal/_isString');\n\n\n/**\n * Tests whether or not an object is similar to an array.\n *\n * @func\n * @memberOf R\n * @since v0.5.0\n * @category Type\n * @category List\n * @sig * -> Boolean\n * @param {*} x The object to test.\n * @return {Boolean} `true` if `x` has a numeric length property and extreme indices defined; `false` otherwise.\n * @deprecated since v0.23.0\n * @example\n *\n * R.isArrayLike([]); //=> true\n * R.isArrayLike(true); //=> false\n * R.isArrayLike({}); //=> false\n * R.isArrayLike({length: 10}); //=> false\n * R.isArrayLike({0: 'zero', 9: 'nine', length: 10}); //=> true\n */\nmodule.exports = _curry1(function isArrayLike(x) {\n if (_isArray(x)) { return true; }\n if (!x) { return false; }\n if (typeof x !== 'object') { return false; }\n if (_isString(x)) { return false; }\n if (x.nodeType === 1) { return !!x.length; }\n if (x.length === 0) { return true; }\n if (x.length > 0) {\n return x.hasOwnProperty(0) && x.hasOwnProperty(x.length - 1);\n }\n return false;\n});\n","var _curry1 = require('./internal/_curry1');\nvar empty = require('./empty');\nvar equals = require('./equals');\n\n\n/**\n * Returns `true` if the given value is its type's empty value; `false`\n * otherwise.\n *\n * @func\n * @memberOf R\n * @since v0.1.0\n * @category Logic\n * @sig a -> Boolean\n * @param {*} x\n * @return {Boolean}\n * @see R.empty\n * @example\n *\n * R.isEmpty([1, 2, 3]); //=> false\n * R.isEmpty([]); //=> true\n * R.isEmpty(''); //=> true\n * R.isEmpty(null); //=> false\n * R.isEmpty({}); //=> true\n * R.isEmpty({length: 0}); //=> false\n */\nmodule.exports = _curry1(function isEmpty(x) {\n return x != null && equals(x, empty(x));\n});\n","var _curry1 = require('./internal/_curry1');\n\n\n/**\n * Checks if the input value is `null` or `undefined`.\n *\n * @func\n * @memberOf R\n * @since v0.9.0\n * @category Type\n * @sig * -> Boolean\n * @param {*} x The value to test.\n * @return {Boolean} `true` if `x` is `undefined` or `null`, otherwise `false`.\n * @example\n *\n * R.isNil(null); //=> true\n * R.isNil(undefined); //=> true\n * R.isNil(0); //=> false\n * R.isNil([]); //=> false\n */\nmodule.exports = _curry1(function isNil(x) { return x == null; });\n","var invoker = require('./invoker');\n\n\n/**\n * Returns a string made by inserting the `separator` between each element and\n * concatenating all the elements into a single string.\n *\n * @func\n * @memberOf R\n * @since v0.1.0\n * @category List\n * @sig String -> [a] -> String\n * @param {Number|String} separator The string used to separate the elements.\n * @param {Array} xs The elements to join into a string.\n * @return {String} str The string made by concatenating `xs` with `separator`.\n * @see R.split\n * @example\n *\n * var spacer = R.join(' ');\n * spacer(['a', 2, 3.4]); //=> 'a 2 3.4'\n * R.join('|', [1, 2, 3]); //=> '1|2|3'\n */\nmodule.exports = invoker(1, 'join');\n","var _curry1 = require('./internal/_curry1');\nvar converge = require('./converge');\n\n\n/**\n * juxt applies a list of functions to a list of values.\n *\n * @func\n * @memberOf R\n * @since v0.19.0\n * @category Function\n * @sig [(a, b, ..., m) -> n] -> ((a, b, ..., m) -> [n])\n * @param {Array} fns An array of functions\n * @return {Function} A function that returns a list of values after applying each of the original `fns` to its parameters.\n * @see R.applySpec\n * @example\n *\n * var getRange = R.juxt([Math.min, Math.max]);\n * getRange(3, 4, 9, -3); //=> [-3, 9]\n * @symb R.juxt([f, g, h])(a, b) = [f(a, b), g(a, b), h(a, b)]\n */\nmodule.exports = _curry1(function juxt(fns) {\n return converge(function() { return Array.prototype.slice.call(arguments, 0); }, fns);\n});\n","var _curry1 = require('./internal/_curry1');\nvar _has = require('./internal/_has');\nvar _isArguments = require('./internal/_isArguments');\n\n\n/**\n * Returns a list containing the names of all the enumerable own properties of\n * the supplied object.\n * Note that the order of the output array is not guaranteed to be consistent\n * across different JS platforms.\n *\n * @func\n * @memberOf R\n * @since v0.1.0\n * @category Object\n * @sig {k: v} -> [k]\n * @param {Object} obj The object to extract properties from\n * @return {Array} An array of the object's own properties.\n * @example\n *\n * R.keys({a: 1, b: 2, c: 3}); //=> ['a', 'b', 'c']\n */\nmodule.exports = (function() {\n // cover IE < 9 keys issues\n var hasEnumBug = !({toString: null}).propertyIsEnumerable('toString');\n var nonEnumerableProps = ['constructor', 'valueOf', 'isPrototypeOf', 'toString',\n 'propertyIsEnumerable', 'hasOwnProperty', 'toLocaleString'];\n // Safari bug\n var hasArgsEnumBug = (function() {\n 'use strict';\n return arguments.propertyIsEnumerable('length');\n }());\n\n var contains = function contains(list, item) {\n var idx = 0;\n while (idx < list.length) {\n if (list[idx] === item) {\n return true;\n }\n idx += 1;\n }\n return false;\n };\n\n return typeof Object.keys === 'function' && !hasArgsEnumBug ?\n _curry1(function keys(obj) {\n return Object(obj) !== obj ? [] : Object.keys(obj);\n }) :\n _curry1(function keys(obj) {\n if (Object(obj) !== obj) {\n return [];\n }\n var prop, nIdx;\n var ks = [];\n var checkArgsLength = hasArgsEnumBug && _isArguments(obj);\n for (prop in obj) {\n if (_has(prop, obj) && (!checkArgsLength || prop !== 'length')) {\n ks[ks.length] = prop;\n }\n }\n if (hasEnumBug) {\n nIdx = nonEnumerableProps.length - 1;\n while (nIdx >= 0) {\n prop = nonEnumerableProps[nIdx];\n if (_has(prop, obj) && !contains(ks, prop)) {\n ks[ks.length] = prop;\n }\n nIdx -= 1;\n }\n }\n return ks;\n });\n}());\n","var _curry1 = require('./internal/_curry1');\n\n\n/**\n * Returns a list containing the names of all the properties of the supplied\n * object, including prototype properties.\n * Note that the order of the output array is not guaranteed to be consistent\n * across different JS platforms.\n *\n * @func\n * @memberOf R\n * @since v0.2.0\n * @category Object\n * @sig {k: v} -> [k]\n * @param {Object} obj The object to extract properties from\n * @return {Array} An array of the object's own and prototype properties.\n * @example\n *\n * var F = function() { this.x = 'X'; };\n * F.prototype.y = 'Y';\n * var f = new F();\n * R.keysIn(f); //=> ['x', 'y']\n */\nmodule.exports = _curry1(function keysIn(obj) {\n var prop;\n var ks = [];\n for (prop in obj) {\n ks[ks.length] = prop;\n }\n return ks;\n});\n","var nth = require('./nth');\n\n\n/**\n * Returns the last element of the given list or string.\n *\n * @func\n * @memberOf R\n * @since v0.1.4\n * @category List\n * @sig [a] -> a | Undefined\n * @sig String -> String\n * @param {*} list\n * @return {*}\n * @see R.init, R.head, R.tail\n * @example\n *\n * R.last(['fi', 'fo', 'fum']); //=> 'fum'\n * R.last([]); //=> undefined\n *\n * R.last('abc'); //=> 'c'\n * R.last(''); //=> ''\n */\nmodule.exports = nth(-1);\n","var _curry2 = require('./internal/_curry2');\nvar _isArray = require('./internal/_isArray');\nvar equals = require('./equals');\n\n\n/**\n * Returns the position of the last occurrence of an item in an array, or -1 if\n * the item is not included in the array. `R.equals` is used to determine\n * equality.\n *\n * @func\n * @memberOf R\n * @since v0.1.0\n * @category List\n * @sig a -> [a] -> Number\n * @param {*} target The item to find.\n * @param {Array} xs The array to search in.\n * @return {Number} the index of the target, or -1 if the target is not found.\n * @see R.indexOf\n * @example\n *\n * R.lastIndexOf(3, [-1,3,3,0,1,2,3,4]); //=> 6\n * R.lastIndexOf(10, [1,2,3,4]); //=> -1\n */\nmodule.exports = _curry2(function lastIndexOf(target, xs) {\n if (typeof xs.lastIndexOf === 'function' && !_isArray(xs)) {\n return xs.lastIndexOf(target);\n } else {\n var idx = xs.length - 1;\n while (idx >= 0) {\n if (equals(xs[idx], target)) {\n return idx;\n }\n idx -= 1;\n }\n return -1;\n }\n});\n","var _curry1 = require('./internal/_curry1');\nvar _isNumber = require('./internal/_isNumber');\n\n\n/**\n * Returns the number of elements in the array by returning `list.length`.\n *\n * @func\n * @memberOf R\n * @since v0.3.0\n * @category List\n * @sig [a] -> Number\n * @param {Array} list The array to inspect.\n * @return {Number} The length of the array.\n * @example\n *\n * R.length([]); //=> 0\n * R.length([1, 2, 3]); //=> 3\n */\nmodule.exports = _curry1(function length(list) {\n return list != null && _isNumber(list.length) ? list.length : NaN;\n});\n","var _curry2 = require('./internal/_curry2');\nvar map = require('./map');\n\n\n/**\n * Returns a lens for the given getter and setter functions. The getter \"gets\"\n * the value of the focus; the setter \"sets\" the value of the focus. The setter\n * should not mutate the data structure.\n *\n * @func\n * @memberOf R\n * @since v0.8.0\n * @category Object\n * @typedefn Lens s a = Functor f => (a -> f a) -> s -> f s\n * @sig (s -> a) -> ((a, s) -> s) -> Lens s a\n * @param {Function} getter\n * @param {Function} setter\n * @return {Lens}\n * @see R.view, R.set, R.over, R.lensIndex, R.lensProp\n * @example\n *\n * var xLens = R.lens(R.prop('x'), R.assoc('x'));\n *\n * R.view(xLens, {x: 1, y: 2}); //=> 1\n * R.set(xLens, 4, {x: 1, y: 2}); //=> {x: 4, y: 2}\n * R.over(xLens, R.negate, {x: 1, y: 2}); //=> {x: -1, y: 2}\n */\nmodule.exports = _curry2(function lens(getter, setter) {\n return function(toFunctorFn) {\n return function(target) {\n return map(\n function(focus) {\n return setter(focus, target);\n },\n toFunctorFn(getter(target))\n );\n };\n };\n});\n","var _curry1 = require('./internal/_curry1');\nvar lens = require('./lens');\nvar nth = require('./nth');\nvar update = require('./update');\n\n\n/**\n * Returns a lens whose focus is the specified index.\n *\n * @func\n * @memberOf R\n * @since v0.14.0\n * @category Object\n * @typedefn Lens s a = Functor f => (a -> f a) -> s -> f s\n * @sig Number -> Lens s a\n * @param {Number} n\n * @return {Lens}\n * @see R.view, R.set, R.over\n * @example\n *\n * var headLens = R.lensIndex(0);\n *\n * R.view(headLens, ['a', 'b', 'c']); //=> 'a'\n * R.set(headLens, 'x', ['a', 'b', 'c']); //=> ['x', 'b', 'c']\n * R.over(headLens, R.toUpper, ['a', 'b', 'c']); //=> ['A', 'b', 'c']\n */\nmodule.exports = _curry1(function lensIndex(n) {\n return lens(nth(n), update(n));\n});\n","var _curry1 = require('./internal/_curry1');\nvar assocPath = require('./assocPath');\nvar lens = require('./lens');\nvar path = require('./path');\n\n\n/**\n * Returns a lens whose focus is the specified path.\n *\n * @func\n * @memberOf R\n * @since v0.19.0\n * @category Object\n * @typedefn Idx = String | Int\n * @typedefn Lens s a = Functor f => (a -> f a) -> s -> f s\n * @sig [Idx] -> Lens s a\n * @param {Array} path The path to use.\n * @return {Lens}\n * @see R.view, R.set, R.over\n * @example\n *\n * var xHeadYLens = R.lensPath(['x', 0, 'y']);\n *\n * R.view(xHeadYLens, {x: [{y: 2, z: 3}, {y: 4, z: 5}]});\n * //=> 2\n * R.set(xHeadYLens, 1, {x: [{y: 2, z: 3}, {y: 4, z: 5}]});\n * //=> {x: [{y: 1, z: 3}, {y: 4, z: 5}]}\n * R.over(xHeadYLens, R.negate, {x: [{y: 2, z: 3}, {y: 4, z: 5}]});\n * //=> {x: [{y: -2, z: 3}, {y: 4, z: 5}]}\n */\nmodule.exports = _curry1(function lensPath(p) {\n return lens(path(p), assocPath(p));\n});\n","var _curry1 = require('./internal/_curry1');\nvar assoc = require('./assoc');\nvar lens = require('./lens');\nvar prop = require('./prop');\n\n\n/**\n * Returns a lens whose focus is the specified property.\n *\n * @func\n * @memberOf R\n * @since v0.14.0\n * @category Object\n * @typedefn Lens s a = Functor f => (a -> f a) -> s -> f s\n * @sig String -> Lens s a\n * @param {String} k\n * @return {Lens}\n * @see R.view, R.set, R.over\n * @example\n *\n * var xLens = R.lensProp('x');\n *\n * R.view(xLens, {x: 1, y: 2}); //=> 1\n * R.set(xLens, 4, {x: 1, y: 2}); //=> {x: 4, y: 2}\n * R.over(xLens, R.negate, {x: 1, y: 2}); //=> {x: -1, y: 2}\n */\nmodule.exports = _curry1(function lensProp(k) {\n return lens(prop(k), assoc(k));\n});\n","var _curry1 = require('./internal/_curry1');\nvar liftN = require('./liftN');\n\n\n/**\n * \"lifts\" a function of arity > 1 so that it may \"map over\" a list, Function or other\n * object that satisfies the [FantasyLand Apply spec](https://github.com/fantasyland/fantasy-land#apply).\n *\n * @func\n * @memberOf R\n * @since v0.7.0\n * @category Function\n * @sig (*... -> *) -> ([*]... -> [*])\n * @param {Function} fn The function to lift into higher context\n * @return {Function} The lifted function.\n * @see R.liftN\n * @example\n *\n * var madd3 = R.lift((a, b, c) => a + b + c);\n *\n * madd3([1,2,3], [1,2,3], [1]); //=> [3, 4, 5, 4, 5, 6, 5, 6, 7]\n *\n * var madd5 = R.lift((a, b, c, d, e) => a + b + c + d + e);\n *\n * madd5([1,2], [3], [4, 5], [6], [7, 8]); //=> [21, 22, 22, 23, 22, 23, 23, 24]\n */\nmodule.exports = _curry1(function lift(fn) {\n return liftN(fn.length, fn);\n});\n","var _curry2 = require('./internal/_curry2');\nvar _reduce = require('./internal/_reduce');\nvar ap = require('./ap');\nvar curryN = require('./curryN');\nvar map = require('./map');\n\n\n/**\n * \"lifts\" a function to be the specified arity, so that it may \"map over\" that\n * many lists, Functions or other objects that satisfy the [FantasyLand Apply spec](https://github.com/fantasyland/fantasy-land#apply).\n *\n * @func\n * @memberOf R\n * @since v0.7.0\n * @category Function\n * @sig Number -> (*... -> *) -> ([*]... -> [*])\n * @param {Function} fn The function to lift into higher context\n * @return {Function} The lifted function.\n * @see R.lift, R.ap\n * @example\n *\n * var madd3 = R.liftN(3, (...args) => R.sum(args));\n * madd3([1,2,3], [1,2,3], [1]); //=> [3, 4, 5, 4, 5, 6, 5, 6, 7]\n */\nmodule.exports = _curry2(function liftN(arity, fn) {\n var lifted = curryN(arity, fn);\n return curryN(arity, function() {\n return _reduce(ap, map(lifted, arguments[0]), Array.prototype.slice.call(arguments, 1));\n });\n});\n","var _curry2 = require('./internal/_curry2');\n\n\n/**\n * Returns `true` if the first argument is less than the second; `false`\n * otherwise.\n *\n * @func\n * @memberOf R\n * @since v0.1.0\n * @category Relation\n * @sig Ord a => a -> a -> Boolean\n * @param {*} a\n * @param {*} b\n * @return {Boolean}\n * @see R.gt\n * @example\n *\n * R.lt(2, 1); //=> false\n * R.lt(2, 2); //=> false\n * R.lt(2, 3); //=> true\n * R.lt('a', 'z'); //=> true\n * R.lt('z', 'a'); //=> false\n */\nmodule.exports = _curry2(function lt(a, b) { return a < b; });\n","var _curry2 = require('./internal/_curry2');\n\n\n/**\n * Returns `true` if the first argument is less than or equal to the second;\n * `false` otherwise.\n *\n * @func\n * @memberOf R\n * @since v0.1.0\n * @category Relation\n * @sig Ord a => a -> a -> Boolean\n * @param {Number} a\n * @param {Number} b\n * @return {Boolean}\n * @see R.gte\n * @example\n *\n * R.lte(2, 1); //=> false\n * R.lte(2, 2); //=> true\n * R.lte(2, 3); //=> true\n * R.lte('a', 'z'); //=> true\n * R.lte('z', 'a'); //=> false\n */\nmodule.exports = _curry2(function lte(a, b) { return a <= b; });\n","var _curry2 = require('./internal/_curry2');\nvar _dispatchable = require('./internal/_dispatchable');\nvar _map = require('./internal/_map');\nvar _reduce = require('./internal/_reduce');\nvar _xmap = require('./internal/_xmap');\nvar curryN = require('./curryN');\nvar keys = require('./keys');\n\n\n/**\n * Takes a function and\n * a [functor](https://github.com/fantasyland/fantasy-land#functor),\n * applies the function to each of the functor's values, and returns\n * a functor of the same shape.\n *\n * Ramda provides suitable `map` implementations for `Array` and `Object`,\n * so this function may be applied to `[1, 2, 3]` or `{x: 1, y: 2, z: 3}`.\n *\n * Dispatches to the `map` method of the second argument, if present.\n *\n * Acts as a transducer if a transformer is given in list position.\n *\n * Also treats functions as functors and will compose them together.\n *\n * @func\n * @memberOf R\n * @since v0.1.0\n * @category List\n * @sig Functor f => (a -> b) -> f a -> f b\n * @param {Function} fn The function to be called on every element of the input `list`.\n * @param {Array} list The list to be iterated over.\n * @return {Array} The new list.\n * @see R.transduce, R.addIndex\n * @example\n *\n * var double = x => x * 2;\n *\n * R.map(double, [1, 2, 3]); //=> [2, 4, 6]\n *\n * R.map(double, {x: 1, y: 2, z: 3}); //=> {x: 2, y: 4, z: 6}\n * @symb R.map(f, [a, b]) = [f(a), f(b)]\n * @symb R.map(f, { x: a, y: b }) = { x: f(a), y: f(b) }\n * @symb R.map(f, functor_o) = functor_o.map(f)\n */\nmodule.exports = _curry2(_dispatchable(['map'], _xmap, function map(fn, functor) {\n switch (Object.prototype.toString.call(functor)) {\n case '[object Function]':\n return curryN(functor.length, function() {\n return fn.call(this, functor.apply(this, arguments));\n });\n case '[object Object]':\n return _reduce(function(acc, key) {\n acc[key] = fn(functor[key]);\n return acc;\n }, {}, keys(functor));\n default:\n return _map(fn, functor);\n }\n}));\n","var _curry3 = require('./internal/_curry3');\n\n\n/**\n * The mapAccum function behaves like a combination of map and reduce; it\n * applies a function to each element of a list, passing an accumulating\n * parameter from left to right, and returning a final value of this\n * accumulator together with the new list.\n *\n * The iterator function receives two arguments, *acc* and *value*, and should\n * return a tuple *[acc, value]*.\n *\n * @func\n * @memberOf R\n * @since v0.10.0\n * @category List\n * @sig (acc -> x -> (acc, y)) -> acc -> [x] -> (acc, [y])\n * @param {Function} fn The function to be called on every element of the input `list`.\n * @param {*} acc The accumulator value.\n * @param {Array} list The list to iterate over.\n * @return {*} The final, accumulated value.\n * @see R.addIndex, R.mapAccumRight\n * @example\n *\n * var digits = ['1', '2', '3', '4'];\n * var appender = (a, b) => [a + b, a + b];\n *\n * R.mapAccum(appender, 0, digits); //=> ['01234', ['01', '012', '0123', '01234']]\n * @symb R.mapAccum(f, a, [b, c, d]) = [\n * f(f(f(a, b)[0], c)[0], d)[0],\n * [\n * f(a, b)[1],\n * f(f(a, b)[0], c)[1],\n * f(f(f(a, b)[0], c)[0], d)[1]\n * ]\n * ]\n */\nmodule.exports = _curry3(function mapAccum(fn, acc, list) {\n var idx = 0;\n var len = list.length;\n var result = [];\n var tuple = [acc];\n while (idx < len) {\n tuple = fn(tuple[0], list[idx]);\n result[idx] = tuple[1];\n idx += 1;\n }\n return [tuple[0], result];\n});\n","var _curry3 = require('./internal/_curry3');\n\n\n/**\n * The mapAccumRight function behaves like a combination of map and reduce; it\n * applies a function to each element of a list, passing an accumulating\n * parameter from right to left, and returning a final value of this\n * accumulator together with the new list.\n *\n * Similar to `mapAccum`, except moves through the input list from the right to\n * the left.\n *\n * The iterator function receives two arguments, *value* and *acc*, and should\n * return a tuple *[value, acc]*.\n *\n * @func\n * @memberOf R\n * @since v0.10.0\n * @category List\n * @sig (x-> acc -> (y, acc)) -> acc -> [x] -> ([y], acc)\n * @param {Function} fn The function to be called on every element of the input `list`.\n * @param {*} acc The accumulator value.\n * @param {Array} list The list to iterate over.\n * @return {*} The final, accumulated value.\n * @see R.addIndex, R.mapAccum\n * @example\n *\n * var digits = ['1', '2', '3', '4'];\n * var append = (a, b) => [a + b, a + b];\n *\n * R.mapAccumRight(append, 5, digits); //=> [['12345', '2345', '345', '45'], '12345']\n * @symb R.mapAccumRight(f, a, [b, c, d]) = [\n * [\n * f(b, f(c, f(d, a)[0])[0])[1],\n * f(c, f(d, a)[0])[1],\n * f(d, a)[1],\n * ]\n * f(b, f(c, f(d, a)[0])[0])[0],\n * ]\n */\nmodule.exports = _curry3(function mapAccumRight(fn, acc, list) {\n var idx = list.length - 1;\n var result = [];\n var tuple = [acc];\n while (idx >= 0) {\n tuple = fn(list[idx], tuple[0]);\n result[idx] = tuple[1];\n idx -= 1;\n }\n return [result, tuple[0]];\n});\n","var _curry2 = require('./internal/_curry2');\nvar _reduce = require('./internal/_reduce');\nvar keys = require('./keys');\n\n\n/**\n * An Object-specific version of `map`. The function is applied to three\n * arguments: *(value, key, obj)*. If only the value is significant, use\n * `map` instead.\n *\n * @func\n * @memberOf R\n * @since v0.9.0\n * @category Object\n * @sig ((*, String, Object) -> *) -> Object -> Object\n * @param {Function} fn\n * @param {Object} obj\n * @return {Object}\n * @see R.map\n * @example\n *\n * var values = { x: 1, y: 2, z: 3 };\n * var prependKeyAndDouble = (num, key, obj) => key + (num * 2);\n *\n * R.mapObjIndexed(prependKeyAndDouble, values); //=> { x: 'x2', y: 'y4', z: 'z6' }\n */\nmodule.exports = _curry2(function mapObjIndexed(fn, obj) {\n return _reduce(function(acc, key) {\n acc[key] = fn(obj[key], key, obj);\n return acc;\n }, {}, keys(obj));\n});\n","var _curry2 = require('./internal/_curry2');\n\n\n/**\n * Tests a regular expression against a String. Note that this function will\n * return an empty array when there are no matches. This differs from\n * [`String.prototype.match`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/match)\n * which returns `null` when there are no matches.\n *\n * @func\n * @memberOf R\n * @since v0.1.0\n * @category String\n * @sig RegExp -> String -> [String | Undefined]\n * @param {RegExp} rx A regular expression.\n * @param {String} str The string to match against\n * @return {Array} The list of matches or empty array.\n * @see R.test\n * @example\n *\n * R.match(/([a-z]a)/g, 'bananas'); //=> ['ba', 'na', 'na']\n * R.match(/a/, 'b'); //=> []\n * R.match(/a/, null); //=> TypeError: null does not have a method named \"match\"\n */\nmodule.exports = _curry2(function match(rx, str) {\n return str.match(rx) || [];\n});\n","var _curry2 = require('./internal/_curry2');\nvar _isInteger = require('./internal/_isInteger');\n\n\n/**\n * mathMod behaves like the modulo operator should mathematically, unlike the\n * `%` operator (and by extension, R.modulo). So while \"-17 % 5\" is -2,\n * mathMod(-17, 5) is 3. mathMod requires Integer arguments, and returns NaN\n * when the modulus is zero or negative.\n *\n * @func\n * @memberOf R\n * @since v0.3.0\n * @category Math\n * @sig Number -> Number -> Number\n * @param {Number} m The dividend.\n * @param {Number} p the modulus.\n * @return {Number} The result of `b mod a`.\n * @example\n *\n * R.mathMod(-17, 5); //=> 3\n * R.mathMod(17, 5); //=> 2\n * R.mathMod(17, -5); //=> NaN\n * R.mathMod(17, 0); //=> NaN\n * R.mathMod(17.2, 5); //=> NaN\n * R.mathMod(17, 5.3); //=> NaN\n *\n * var clock = R.mathMod(R.__, 12);\n * clock(15); //=> 3\n * clock(24); //=> 0\n *\n * var seventeenMod = R.mathMod(17);\n * seventeenMod(3); //=> 2\n * seventeenMod(4); //=> 1\n * seventeenMod(10); //=> 7\n */\nmodule.exports = _curry2(function mathMod(m, p) {\n if (!_isInteger(m)) { return NaN; }\n if (!_isInteger(p) || p < 1) { return NaN; }\n return ((m % p) + p) % p;\n});\n","var _curry2 = require('./internal/_curry2');\n\n\n/**\n * Returns the larger of its two arguments.\n *\n * @func\n * @memberOf R\n * @since v0.1.0\n * @category Relation\n * @sig Ord a => a -> a -> a\n * @param {*} a\n * @param {*} b\n * @return {*}\n * @see R.maxBy, R.min\n * @example\n *\n * R.max(789, 123); //=> 789\n * R.max('a', 'b'); //=> 'b'\n */\nmodule.exports = _curry2(function max(a, b) { return b > a ? b : a; });\n","var _curry3 = require('./internal/_curry3');\n\n\n/**\n * Takes a function and two values, and returns whichever value produces the\n * larger result when passed to the provided function.\n *\n * @func\n * @memberOf R\n * @since v0.8.0\n * @category Relation\n * @sig Ord b => (a -> b) -> a -> a -> a\n * @param {Function} f\n * @param {*} a\n * @param {*} b\n * @return {*}\n * @see R.max, R.minBy\n * @example\n *\n * // square :: Number -> Number\n * var square = n => n * n;\n *\n * R.maxBy(square, -3, 2); //=> -3\n *\n * R.reduce(R.maxBy(square), 0, [3, -5, 4, 1, -2]); //=> -5\n * R.reduce(R.maxBy(square), 0, []); //=> 0\n */\nmodule.exports = _curry3(function maxBy(f, a, b) {\n return f(b) > f(a) ? b : a;\n});\n","var _curry1 = require('./internal/_curry1');\nvar sum = require('./sum');\n\n\n/**\n * Returns the mean of the given list of numbers.\n *\n * @func\n * @memberOf R\n * @since v0.14.0\n * @category Math\n * @sig [Number] -> Number\n * @param {Array} list\n * @return {Number}\n * @example\n *\n * R.mean([2, 7, 9]); //=> 6\n * R.mean([]); //=> NaN\n */\nmodule.exports = _curry1(function mean(list) {\n return sum(list) / list.length;\n});\n","var _curry1 = require('./internal/_curry1');\nvar mean = require('./mean');\n\n\n/**\n * Returns the median of the given list of numbers.\n *\n * @func\n * @memberOf R\n * @since v0.14.0\n * @category Math\n * @sig [Number] -> Number\n * @param {Array} list\n * @return {Number}\n * @example\n *\n * R.median([2, 9, 7]); //=> 7\n * R.median([7, 2, 10, 9]); //=> 8\n * R.median([]); //=> NaN\n */\nmodule.exports = _curry1(function median(list) {\n var len = list.length;\n if (len === 0) {\n return NaN;\n }\n var width = 2 - len % 2;\n var idx = (len - width) / 2;\n return mean(Array.prototype.slice.call(list, 0).sort(function(a, b) {\n return a < b ? -1 : a > b ? 1 : 0;\n }).slice(idx, idx + width));\n});\n","var _arity = require('./internal/_arity');\nvar _curry1 = require('./internal/_curry1');\nvar _has = require('./internal/_has');\nvar toString = require('./toString');\n\n\n/**\n * Creates a new function that, when invoked, caches the result of calling `fn`\n * for a given argument set and returns the result. Subsequent calls to the\n * memoized `fn` with the same argument set will not result in an additional\n * call to `fn`; instead, the cached result for that set of arguments will be\n * returned.\n *\n * @func\n * @memberOf R\n * @since v0.1.0\n * @category Function\n * @sig (*... -> a) -> (*... -> a)\n * @param {Function} fn The function to memoize.\n * @return {Function} Memoized version of `fn`.\n * @example\n *\n * var count = 0;\n * var factorial = R.memoize(n => {\n * count += 1;\n * return R.product(R.range(1, n + 1));\n * });\n * factorial(5); //=> 120\n * factorial(5); //=> 120\n * factorial(5); //=> 120\n * count; //=> 1\n */\nmodule.exports = _curry1(function memoize(fn) {\n var cache = {};\n return _arity(fn.length, function() {\n var key = toString(arguments);\n if (!_has(key, cache)) {\n cache[key] = fn.apply(this, arguments);\n }\n return cache[key];\n });\n});\n","var _assign = require('./internal/_assign');\nvar _curry2 = require('./internal/_curry2');\n\n\n/**\n * Create a new object with the own properties of the first object merged with\n * the own properties of the second object. If a key exists in both objects,\n * the value from the second object will be used.\n *\n * @func\n * @memberOf R\n * @since v0.1.0\n * @category Object\n * @sig {k: v} -> {k: v} -> {k: v}\n * @param {Object} l\n * @param {Object} r\n * @return {Object}\n * @see R.mergeWith, R.mergeWithKey\n * @example\n *\n * R.merge({ 'name': 'fred', 'age': 10 }, { 'age': 40 });\n * //=> { 'name': 'fred', 'age': 40 }\n *\n * var resetToDefault = R.merge(R.__, {x: 0});\n * resetToDefault({x: 5, y: 2}); //=> {x: 0, y: 2}\n * @symb R.merge({ x: 1, y: 2 }, { y: 5, z: 3 }) = { x: 1, y: 5, z: 3 }\n */\nmodule.exports = _curry2(function merge(l, r) {\n return _assign({}, l, r);\n});\n","var _assign = require('./internal/_assign');\nvar _curry1 = require('./internal/_curry1');\n\n\n/**\n * Merges a list of objects together into one object.\n *\n * @func\n * @memberOf R\n * @since v0.10.0\n * @category List\n * @sig [{k: v}] -> {k: v}\n * @param {Array} list An array of objects\n * @return {Object} A merged object.\n * @see R.reduce\n * @example\n *\n * R.mergeAll([{foo:1},{bar:2},{baz:3}]); //=> {foo:1,bar:2,baz:3}\n * R.mergeAll([{foo:1},{foo:2},{bar:2}]); //=> {foo:2,bar:2}\n * @symb R.mergeAll([{ x: 1 }, { y: 2 }, { z: 3 }]) = { x: 1, y: 2, z: 3 }\n */\nmodule.exports = _curry1(function mergeAll(list) {\n return _assign.apply(null, [{}].concat(list));\n});\n","var _curry3 = require('./internal/_curry3');\nvar mergeWithKey = require('./mergeWithKey');\n\n\n/**\n * Creates a new object with the own properties of the two provided objects. If\n * a key exists in both objects, the provided function is applied to the values\n * associated with the key in each object, with the result being used as the\n * value associated with the key in the returned object. The key will be\n * excluded from the returned object if the resulting value is `undefined`.\n *\n * @func\n * @memberOf R\n * @since v0.19.0\n * @category Object\n * @sig (a -> a -> a) -> {a} -> {a} -> {a}\n * @param {Function} fn\n * @param {Object} l\n * @param {Object} r\n * @return {Object}\n * @see R.merge, R.mergeWithKey\n * @example\n *\n * R.mergeWith(R.concat,\n * { a: true, values: [10, 20] },\n * { b: true, values: [15, 35] });\n * //=> { a: true, b: true, values: [10, 20, 15, 35] }\n */\nmodule.exports = _curry3(function mergeWith(fn, l, r) {\n return mergeWithKey(function(_, _l, _r) {\n return fn(_l, _r);\n }, l, r);\n});\n","var _curry3 = require('./internal/_curry3');\nvar _has = require('./internal/_has');\n\n\n/**\n * Creates a new object with the own properties of the two provided objects. If\n * a key exists in both objects, the provided function is applied to the key\n * and the values associated with the key in each object, with the result being\n * used as the value associated with the key in the returned object. The key\n * will be excluded from the returned object if the resulting value is\n * `undefined`.\n *\n * @func\n * @memberOf R\n * @since v0.19.0\n * @category Object\n * @sig (String -> a -> a -> a) -> {a} -> {a} -> {a}\n * @param {Function} fn\n * @param {Object} l\n * @param {Object} r\n * @return {Object}\n * @see R.merge, R.mergeWith\n * @example\n *\n * let concatValues = (k, l, r) => k == 'values' ? R.concat(l, r) : r\n * R.mergeWithKey(concatValues,\n * { a: true, thing: 'foo', values: [10, 20] },\n * { b: true, thing: 'bar', values: [15, 35] });\n * //=> { a: true, b: true, thing: 'bar', values: [10, 20, 15, 35] }\n * @symb R.mergeWithKey(f, { x: 1, y: 2 }, { y: 5, z: 3 }) = { x: 1, y: f('y', 2, 5), z: 3 }\n */\nmodule.exports = _curry3(function mergeWithKey(fn, l, r) {\n var result = {};\n var k;\n\n for (k in l) {\n if (_has(k, l)) {\n result[k] = _has(k, r) ? fn(k, l[k], r[k]) : l[k];\n }\n }\n\n for (k in r) {\n if (_has(k, r) && !(_has(k, result))) {\n result[k] = r[k];\n }\n }\n\n return result;\n});\n","var _curry2 = require('./internal/_curry2');\n\n\n/**\n * Returns the smaller of its two arguments.\n *\n * @func\n * @memberOf R\n * @since v0.1.0\n * @category Relation\n * @sig Ord a => a -> a -> a\n * @param {*} a\n * @param {*} b\n * @return {*}\n * @see R.minBy, R.max\n * @example\n *\n * R.min(789, 123); //=> 123\n * R.min('a', 'b'); //=> 'a'\n */\nmodule.exports = _curry2(function min(a, b) { return b < a ? b : a; });\n","var _curry3 = require('./internal/_curry3');\n\n\n/**\n * Takes a function and two values, and returns whichever value produces the\n * smaller result when passed to the provided function.\n *\n * @func\n * @memberOf R\n * @since v0.8.0\n * @category Relation\n * @sig Ord b => (a -> b) -> a -> a -> a\n * @param {Function} f\n * @param {*} a\n * @param {*} b\n * @return {*}\n * @see R.min, R.maxBy\n * @example\n *\n * // square :: Number -> Number\n * var square = n => n * n;\n *\n * R.minBy(square, -3, 2); //=> 2\n *\n * R.reduce(R.minBy(square), Infinity, [3, -5, 4, 1, -2]); //=> 1\n * R.reduce(R.minBy(square), Infinity, []); //=> Infinity\n */\nmodule.exports = _curry3(function minBy(f, a, b) {\n return f(b) < f(a) ? b : a;\n});\n","var _curry2 = require('./internal/_curry2');\n\n\n/**\n * Divides the first parameter by the second and returns the remainder. Note\n * that this function preserves the JavaScript-style behavior for modulo. For\n * mathematical modulo see `mathMod`.\n *\n * @func\n * @memberOf R\n * @since v0.1.1\n * @category Math\n * @sig Number -> Number -> Number\n * @param {Number} a The value to the divide.\n * @param {Number} b The pseudo-modulus\n * @return {Number} The result of `b % a`.\n * @see R.mathMod\n * @example\n *\n * R.modulo(17, 3); //=> 2\n * // JS behavior:\n * R.modulo(-17, 3); //=> -2\n * R.modulo(17, -3); //=> 2\n *\n * var isOdd = R.modulo(R.__, 2);\n * isOdd(42); //=> 0\n * isOdd(21); //=> 1\n */\nmodule.exports = _curry2(function modulo(a, b) { return a % b; });\n","var _curry2 = require('./internal/_curry2');\n\n\n/**\n * Multiplies two numbers. Equivalent to `a * b` but curried.\n *\n * @func\n * @memberOf R\n * @since v0.1.0\n * @category Math\n * @sig Number -> Number -> Number\n * @param {Number} a The first value.\n * @param {Number} b The second value.\n * @return {Number} The result of `a * b`.\n * @see R.divide\n * @example\n *\n * var double = R.multiply(2);\n * var triple = R.multiply(3);\n * double(3); //=> 6\n * triple(4); //=> 12\n * R.multiply(2, 5); //=> 10\n */\nmodule.exports = _curry2(function multiply(a, b) { return a * b; });\n","var _curry2 = require('./internal/_curry2');\n\n\n/**\n * Wraps a function of any arity (including nullary) in a function that accepts\n * exactly `n` parameters. Any extraneous parameters will not be passed to the\n * supplied function.\n *\n * @func\n * @memberOf R\n * @since v0.1.0\n * @category Function\n * @sig Number -> (* -> a) -> (* -> a)\n * @param {Number} n The desired arity of the new function.\n * @param {Function} fn The function to wrap.\n * @return {Function} A new function wrapping `fn`. The new function is guaranteed to be of\n * arity `n`.\n * @example\n *\n * var takesTwoArgs = (a, b) => [a, b];\n *\n * takesTwoArgs.length; //=> 2\n * takesTwoArgs(1, 2); //=> [1, 2]\n *\n * var takesOneArg = R.nAry(1, takesTwoArgs);\n * takesOneArg.length; //=> 1\n * // Only `n` arguments are passed to the wrapped function\n * takesOneArg(1, 2); //=> [1, undefined]\n * @symb R.nAry(0, f)(a, b) = f()\n * @symb R.nAry(1, f)(a, b) = f(a)\n * @symb R.nAry(2, f)(a, b) = f(a, b)\n */\nmodule.exports = _curry2(function nAry(n, fn) {\n switch (n) {\n case 0: return function() {return fn.call(this);};\n case 1: return function(a0) {return fn.call(this, a0);};\n case 2: return function(a0, a1) {return fn.call(this, a0, a1);};\n case 3: return function(a0, a1, a2) {return fn.call(this, a0, a1, a2);};\n case 4: return function(a0, a1, a2, a3) {return fn.call(this, a0, a1, a2, a3);};\n case 5: return function(a0, a1, a2, a3, a4) {return fn.call(this, a0, a1, a2, a3, a4);};\n case 6: return function(a0, a1, a2, a3, a4, a5) {return fn.call(this, a0, a1, a2, a3, a4, a5);};\n case 7: return function(a0, a1, a2, a3, a4, a5, a6) {return fn.call(this, a0, a1, a2, a3, a4, a5, a6);};\n case 8: return function(a0, a1, a2, a3, a4, a5, a6, a7) {return fn.call(this, a0, a1, a2, a3, a4, a5, a6, a7);};\n case 9: return function(a0, a1, a2, a3, a4, a5, a6, a7, a8) {return fn.call(this, a0, a1, a2, a3, a4, a5, a6, a7, a8);};\n case 10: return function(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9) {return fn.call(this, a0, a1, a2, a3, a4, a5, a6, a7, a8, a9);};\n default: throw new Error('First argument to nAry must be a non-negative integer no greater than ten');\n }\n});\n","var _curry1 = require('./internal/_curry1');\n\n\n/**\n * Negates its argument.\n *\n * @func\n * @memberOf R\n * @since v0.9.0\n * @category Math\n * @sig Number -> Number\n * @param {Number} n\n * @return {Number}\n * @example\n *\n * R.negate(42); //=> -42\n */\nmodule.exports = _curry1(function negate(n) { return -n; });\n","var _complement = require('./internal/_complement');\nvar _curry2 = require('./internal/_curry2');\nvar _dispatchable = require('./internal/_dispatchable');\nvar _xany = require('./internal/_xany');\nvar any = require('./any');\n\n\n/**\n * Returns `true` if no elements of the list match the predicate, `false`\n * otherwise.\n *\n * Dispatches to the `any` method of the second argument, if present.\n *\n * @func\n * @memberOf R\n * @since v0.12.0\n * @category List\n * @sig (a -> Boolean) -> [a] -> Boolean\n * @param {Function} fn The predicate function.\n * @param {Array} list The array to consider.\n * @return {Boolean} `true` if the predicate is not satisfied by every element, `false` otherwise.\n * @see R.all, R.any\n * @example\n *\n * var isEven = n => n % 2 === 0;\n *\n * R.none(isEven, [1, 3, 5, 7, 9, 11]); //=> true\n * R.none(isEven, [1, 3, 5, 7, 8, 11]); //=> false\n */\nmodule.exports = _curry2(_complement(_dispatchable(['any'], _xany, any)));\n","var _curry1 = require('./internal/_curry1');\n\n\n/**\n * A function that returns the `!` of its argument. It will return `true` when\n * passed false-y value, and `false` when passed a truth-y one.\n *\n * @func\n * @memberOf R\n * @since v0.1.0\n * @category Logic\n * @sig * -> Boolean\n * @param {*} a any value\n * @return {Boolean} the logical inverse of passed argument.\n * @see R.complement\n * @example\n *\n * R.not(true); //=> false\n * R.not(false); //=> true\n * R.not(0); //=> true\n * R.not(1); //=> false\n */\nmodule.exports = _curry1(function not(a) {\n return !a;\n});\n","var _curry2 = require('./internal/_curry2');\nvar _isString = require('./internal/_isString');\n\n\n/**\n * Returns the nth element of the given list or string. If n is negative the\n * element at index length + n is returned.\n *\n * @func\n * @memberOf R\n * @since v0.1.0\n * @category List\n * @sig Number -> [a] -> a | Undefined\n * @sig Number -> String -> String\n * @param {Number} offset\n * @param {*} list\n * @return {*}\n * @example\n *\n * var list = ['foo', 'bar', 'baz', 'quux'];\n * R.nth(1, list); //=> 'bar'\n * R.nth(-1, list); //=> 'quux'\n * R.nth(-99, list); //=> undefined\n *\n * R.nth(2, 'abc'); //=> 'c'\n * R.nth(3, 'abc'); //=> ''\n * @symb R.nth(-1, [a, b, c]) = c\n * @symb R.nth(0, [a, b, c]) = a\n * @symb R.nth(1, [a, b, c]) = b\n */\nmodule.exports = _curry2(function nth(offset, list) {\n var idx = offset < 0 ? list.length + offset : offset;\n return _isString(list) ? list.charAt(idx) : list[idx];\n});\n","var _curry1 = require('./internal/_curry1');\nvar curryN = require('./curryN');\nvar nth = require('./nth');\n\n\n/**\n * Returns a function which returns its nth argument.\n *\n * @func\n * @memberOf R\n * @since v0.9.0\n * @category Function\n * @sig Number -> *... -> *\n * @param {Number} n\n * @return {Function}\n * @example\n *\n * R.nthArg(1)('a', 'b', 'c'); //=> 'b'\n * R.nthArg(-1)('a', 'b', 'c'); //=> 'c'\n * @symb R.nthArg(-1)(a, b, c) = c\n * @symb R.nthArg(0)(a, b, c) = a\n * @symb R.nthArg(1)(a, b, c) = b\n */\nmodule.exports = _curry1(function nthArg(n) {\n var arity = n < 0 ? 1 : n + 1;\n return curryN(arity, function() {\n return nth(n, arguments);\n });\n});\n","var _curry2 = require('./internal/_curry2');\n\n\n/**\n * Creates an object containing a single key:value pair.\n *\n * @func\n * @memberOf R\n * @since v0.18.0\n * @category Object\n * @sig String -> a -> {String:a}\n * @param {String} key\n * @param {*} val\n * @return {Object}\n * @see R.pair\n * @example\n *\n * var matchPhrases = R.compose(\n * R.objOf('must'),\n * R.map(R.objOf('match_phrase'))\n * );\n * matchPhrases(['foo', 'bar', 'baz']); //=> {must: [{match_phrase: 'foo'}, {match_phrase: 'bar'}, {match_phrase: 'baz'}]}\n */\nmodule.exports = _curry2(function objOf(key, val) {\n var obj = {};\n obj[key] = val;\n return obj;\n});\n","var _curry1 = require('./internal/_curry1');\nvar _of = require('./internal/_of');\n\n\n/**\n * Returns a singleton array containing the value provided.\n *\n * Note this `of` is different from the ES6 `of`; See\n * https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/of\n *\n * @func\n * @memberOf R\n * @since v0.3.0\n * @category Function\n * @sig a -> [a]\n * @param {*} x any value\n * @return {Array} An array wrapping `x`.\n * @example\n *\n * R.of(null); //=> [null]\n * R.of([42]); //=> [[42]]\n */\nmodule.exports = _curry1(_of);\n","var _contains = require('./internal/_contains');\nvar _curry2 = require('./internal/_curry2');\n\n\n/**\n * Returns a partial copy of an object omitting the keys specified.\n *\n * @func\n * @memberOf R\n * @since v0.1.0\n * @category Object\n * @sig [String] -> {String: *} -> {String: *}\n * @param {Array} names an array of String property names to omit from the new object\n * @param {Object} obj The object to copy from\n * @return {Object} A new object with properties from `names` not on it.\n * @see R.pick\n * @example\n *\n * R.omit(['a', 'd'], {a: 1, b: 2, c: 3, d: 4}); //=> {b: 2, c: 3}\n */\nmodule.exports = _curry2(function omit(names, obj) {\n var result = {};\n for (var prop in obj) {\n if (!_contains(prop, names)) {\n result[prop] = obj[prop];\n }\n }\n return result;\n});\n","var _arity = require('./internal/_arity');\nvar _curry1 = require('./internal/_curry1');\n\n\n/**\n * Accepts a function `fn` and returns a function that guards invocation of\n * `fn` such that `fn` can only ever be called once, no matter how many times\n * the returned function is invoked. The first value calculated is returned in\n * subsequent invocations.\n *\n * @func\n * @memberOf R\n * @since v0.1.0\n * @category Function\n * @sig (a... -> b) -> (a... -> b)\n * @param {Function} fn The function to wrap in a call-only-once wrapper.\n * @return {Function} The wrapped function.\n * @example\n *\n * var addOneOnce = R.once(x => x + 1);\n * addOneOnce(10); //=> 11\n * addOneOnce(addOneOnce(50)); //=> 11\n */\nmodule.exports = _curry1(function once(fn) {\n var called = false;\n var result;\n return _arity(fn.length, function() {\n if (called) {\n return result;\n }\n called = true;\n result = fn.apply(this, arguments);\n return result;\n });\n});\n","var _curry2 = require('./internal/_curry2');\n\n\n/**\n * Returns `true` if one or both of its arguments are `true`. Returns `false`\n * if both arguments are `false`.\n *\n * @func\n * @memberOf R\n * @since v0.1.0\n * @category Logic\n * @sig a -> b -> a | b\n * @param {Any} a\n * @param {Any} b\n * @return {Any} the first argument if truthy, otherwise the second argument.\n * @see R.either\n * @example\n *\n * R.or(true, true); //=> true\n * R.or(true, false); //=> true\n * R.or(false, true); //=> true\n * R.or(false, false); //=> false\n */\nmodule.exports = _curry2(function or(a, b) {\n return a || b;\n});\n","var _curry3 = require('./internal/_curry3');\n\n\n/**\n * Returns the result of \"setting\" the portion of the given data structure\n * focused by the given lens to the result of applying the given function to\n * the focused value.\n *\n * @func\n * @memberOf R\n * @since v0.16.0\n * @category Object\n * @typedefn Lens s a = Functor f => (a -> f a) -> s -> f s\n * @sig Lens s a -> (a -> a) -> s -> s\n * @param {Lens} lens\n * @param {*} v\n * @param {*} x\n * @return {*}\n * @see R.prop, R.lensIndex, R.lensProp\n * @example\n *\n * var headLens = R.lensIndex(0);\n *\n * R.over(headLens, R.toUpper, ['foo', 'bar', 'baz']); //=> ['FOO', 'bar', 'baz']\n */\nmodule.exports = (function() {\n // `Identity` is a functor that holds a single value, where `map` simply\n // transforms the held value with the provided function.\n var Identity = function(x) {\n return {value: x, map: function(f) { return Identity(f(x)); }};\n };\n\n return _curry3(function over(lens, f, x) {\n // The value returned by the getter function is first transformed with `f`,\n // then set as the value of an `Identity`. This is then mapped over with the\n // setter function of the lens.\n return lens(function(y) { return Identity(f(y)); })(x).value;\n });\n}());\n","var _curry2 = require('./internal/_curry2');\n\n\n/**\n * Takes two arguments, `fst` and `snd`, and returns `[fst, snd]`.\n *\n * @func\n * @memberOf R\n * @since v0.18.0\n * @category List\n * @sig a -> b -> (a,b)\n * @param {*} fst\n * @param {*} snd\n * @return {Array}\n * @see R.objOf, R.of\n * @example\n *\n * R.pair('foo', 'bar'); //=> ['foo', 'bar']\n */\nmodule.exports = _curry2(function pair(fst, snd) { return [fst, snd]; });\n","var _concat = require('./internal/_concat');\nvar _createPartialApplicator = require('./internal/_createPartialApplicator');\n\n\n/**\n * Takes a function `f` and a list of arguments, and returns a function `g`.\n * When applied, `g` returns the result of applying `f` to the arguments\n * provided initially followed by the arguments provided to `g`.\n *\n * @func\n * @memberOf R\n * @since v0.10.0\n * @category Function\n * @sig ((a, b, c, ..., n) -> x) -> [a, b, c, ...] -> ((d, e, f, ..., n) -> x)\n * @param {Function} f\n * @param {Array} args\n * @return {Function}\n * @see R.partialRight\n * @example\n *\n * var multiply2 = (a, b) => a * b;\n * var double = R.partial(multiply2, [2]);\n * double(2); //=> 4\n *\n * var greet = (salutation, title, firstName, lastName) =>\n * salutation + ', ' + title + ' ' + firstName + ' ' + lastName + '!';\n *\n * var sayHello = R.partial(greet, ['Hello']);\n * var sayHelloToMs = R.partial(sayHello, ['Ms.']);\n * sayHelloToMs('Jane', 'Jones'); //=> 'Hello, Ms. Jane Jones!'\n * @symb R.partial(f, [a, b])(c, d) = f(a, b, c, d)\n */\nmodule.exports = _createPartialApplicator(_concat);\n","var _concat = require('./internal/_concat');\nvar _createPartialApplicator = require('./internal/_createPartialApplicator');\nvar flip = require('./flip');\n\n\n/**\n * Takes a function `f` and a list of arguments, and returns a function `g`.\n * When applied, `g` returns the result of applying `f` to the arguments\n * provided to `g` followed by the arguments provided initially.\n *\n * @func\n * @memberOf R\n * @since v0.10.0\n * @category Function\n * @sig ((a, b, c, ..., n) -> x) -> [d, e, f, ..., n] -> ((a, b, c, ...) -> x)\n * @param {Function} f\n * @param {Array} args\n * @return {Function}\n * @see R.partial\n * @example\n *\n * var greet = (salutation, title, firstName, lastName) =>\n * salutation + ', ' + title + ' ' + firstName + ' ' + lastName + '!';\n *\n * var greetMsJaneJones = R.partialRight(greet, ['Ms.', 'Jane', 'Jones']);\n *\n * greetMsJaneJones('Hello'); //=> 'Hello, Ms. Jane Jones!'\n * @symb R.partialRight(f, [a, b])(c, d) = f(c, d, a, b)\n */\nmodule.exports = _createPartialApplicator(flip(_concat));\n","var filter = require('./filter');\nvar juxt = require('./juxt');\nvar reject = require('./reject');\n\n\n/**\n * Takes a predicate and a list or other \"filterable\" object and returns the\n * pair of filterable objects of the same type of elements which do and do not\n * satisfy, the predicate, respectively.\n *\n * @func\n * @memberOf R\n * @since v0.1.4\n * @category List\n * @sig Filterable f => (a -> Boolean) -> f a -> [f a, f a]\n * @param {Function} pred A predicate to determine which side the element belongs to.\n * @param {Array} filterable the list (or other filterable) to partition.\n * @return {Array} An array, containing first the subset of elements that satisfy the\n * predicate, and second the subset of elements that do not satisfy.\n * @see R.filter, R.reject\n * @example\n *\n * R.partition(R.contains('s'), ['sss', 'ttt', 'foo', 'bars']);\n * // => [ [ 'sss', 'bars' ], [ 'ttt', 'foo' ] ]\n *\n * R.partition(R.contains('s'), { a: 'sss', b: 'ttt', foo: 'bars' });\n * // => [ { a: 'sss', foo: 'bars' }, { b: 'ttt' } ]\n */\nmodule.exports = juxt([filter, reject]);\n","var _curry2 = require('./internal/_curry2');\n\n\n/**\n * Retrieve the value at a given path.\n *\n * @func\n * @memberOf R\n * @since v0.2.0\n * @category Object\n * @typedefn Idx = String | Int\n * @sig [Idx] -> {a} -> a | Undefined\n * @param {Array} path The path to use.\n * @param {Object} obj The object to retrieve the nested property from.\n * @return {*} The data at `path`.\n * @see R.prop\n * @example\n *\n * R.path(['a', 'b'], {a: {b: 2}}); //=> 2\n * R.path(['a', 'b'], {c: {b: 2}}); //=> undefined\n */\nmodule.exports = _curry2(function path(paths, obj) {\n var val = obj;\n var idx = 0;\n while (idx < paths.length) {\n if (val == null) {\n return;\n }\n val = val[paths[idx]];\n idx += 1;\n }\n return val;\n});\n","var _curry3 = require('./internal/_curry3');\nvar equals = require('./equals');\nvar path = require('./path');\n\n\n/**\n * Determines whether a nested path on an object has a specific value, in\n * `R.equals` terms. Most likely used to filter a list.\n *\n * @func\n * @memberOf R\n * @since v0.7.0\n * @category Relation\n * @typedefn Idx = String | Int\n * @sig [Idx] -> a -> {a} -> Boolean\n * @param {Array} path The path of the nested property to use\n * @param {*} val The value to compare the nested property with\n * @param {Object} obj The object to check the nested property in\n * @return {Boolean} `true` if the value equals the nested object property,\n * `false` otherwise.\n * @example\n *\n * var user1 = { address: { zipCode: 90210 } };\n * var user2 = { address: { zipCode: 55555 } };\n * var user3 = { name: 'Bob' };\n * var users = [ user1, user2, user3 ];\n * var isFamous = R.pathEq(['address', 'zipCode'], 90210);\n * R.filter(isFamous, users); //=> [ user1 ]\n */\nmodule.exports = _curry3(function pathEq(_path, val, obj) {\n return equals(path(_path, obj), val);\n});\n","var _curry3 = require('./internal/_curry3');\nvar defaultTo = require('./defaultTo');\nvar path = require('./path');\n\n\n/**\n * If the given, non-null object has a value at the given path, returns the\n * value at that path. Otherwise returns the provided default value.\n *\n * @func\n * @memberOf R\n * @since v0.18.0\n * @category Object\n * @typedefn Idx = String | Int\n * @sig a -> [Idx] -> {a} -> a\n * @param {*} d The default value.\n * @param {Array} p The path to use.\n * @param {Object} obj The object to retrieve the nested property from.\n * @return {*} The data at `path` of the supplied object or the default value.\n * @example\n *\n * R.pathOr('N/A', ['a', 'b'], {a: {b: 2}}); //=> 2\n * R.pathOr('N/A', ['a', 'b'], {c: {b: 2}}); //=> \"N/A\"\n */\nmodule.exports = _curry3(function pathOr(d, p, obj) {\n return defaultTo(d, path(p, obj));\n});\n","var _curry3 = require('./internal/_curry3');\nvar path = require('./path');\n\n\n/**\n * Returns `true` if the specified object property at given path satisfies the\n * given predicate; `false` otherwise.\n *\n * @func\n * @memberOf R\n * @since v0.19.0\n * @category Logic\n * @typedefn Idx = String | Int\n * @sig (a -> Boolean) -> [Idx] -> {a} -> Boolean\n * @param {Function} pred\n * @param {Array} propPath\n * @param {*} obj\n * @return {Boolean}\n * @see R.propSatisfies, R.path\n * @example\n *\n * R.pathSatisfies(y => y > 0, ['x', 'y'], {x: {y: 2}}); //=> true\n */\nmodule.exports = _curry3(function pathSatisfies(pred, propPath, obj) {\n return propPath.length > 0 && pred(path(propPath, obj));\n});\n","var _curry2 = require('./internal/_curry2');\n\n\n/**\n * Returns a partial copy of an object containing only the keys specified. If\n * the key does not exist, the property is ignored.\n *\n * @func\n * @memberOf R\n * @since v0.1.0\n * @category Object\n * @sig [k] -> {k: v} -> {k: v}\n * @param {Array} names an array of String property names to copy onto a new object\n * @param {Object} obj The object to copy from\n * @return {Object} A new object with only properties from `names` on it.\n * @see R.omit, R.props\n * @example\n *\n * R.pick(['a', 'd'], {a: 1, b: 2, c: 3, d: 4}); //=> {a: 1, d: 4}\n * R.pick(['a', 'e', 'f'], {a: 1, b: 2, c: 3, d: 4}); //=> {a: 1}\n */\nmodule.exports = _curry2(function pick(names, obj) {\n var result = {};\n var idx = 0;\n while (idx < names.length) {\n if (names[idx] in obj) {\n result[names[idx]] = obj[names[idx]];\n }\n idx += 1;\n }\n return result;\n});\n","var _curry2 = require('./internal/_curry2');\n\n\n/**\n * Similar to `pick` except that this one includes a `key: undefined` pair for\n * properties that don't exist.\n *\n * @func\n * @memberOf R\n * @since v0.1.0\n * @category Object\n * @sig [k] -> {k: v} -> {k: v}\n * @param {Array} names an array of String property names to copy onto a new object\n * @param {Object} obj The object to copy from\n * @return {Object} A new object with only properties from `names` on it.\n * @see R.pick\n * @example\n *\n * R.pickAll(['a', 'd'], {a: 1, b: 2, c: 3, d: 4}); //=> {a: 1, d: 4}\n * R.pickAll(['a', 'e', 'f'], {a: 1, b: 2, c: 3, d: 4}); //=> {a: 1, e: undefined, f: undefined}\n */\nmodule.exports = _curry2(function pickAll(names, obj) {\n var result = {};\n var idx = 0;\n var len = names.length;\n while (idx < len) {\n var name = names[idx];\n result[name] = obj[name];\n idx += 1;\n }\n return result;\n});\n","var _curry2 = require('./internal/_curry2');\n\n\n/**\n * Returns a partial copy of an object containing only the keys that satisfy\n * the supplied predicate.\n *\n * @func\n * @memberOf R\n * @since v0.8.0\n * @category Object\n * @sig (v, k -> Boolean) -> {k: v} -> {k: v}\n * @param {Function} pred A predicate to determine whether or not a key\n * should be included on the output object.\n * @param {Object} obj The object to copy from\n * @return {Object} A new object with only properties that satisfy `pred`\n * on it.\n * @see R.pick, R.filter\n * @example\n *\n * var isUpperCase = (val, key) => key.toUpperCase() === key;\n * R.pickBy(isUpperCase, {a: 1, b: 2, A: 3, B: 4}); //=> {A: 3, B: 4}\n */\nmodule.exports = _curry2(function pickBy(test, obj) {\n var result = {};\n for (var prop in obj) {\n if (test(obj[prop], prop, obj)) {\n result[prop] = obj[prop];\n }\n }\n return result;\n});\n","var _arity = require('./internal/_arity');\nvar _pipe = require('./internal/_pipe');\nvar reduce = require('./reduce');\nvar tail = require('./tail');\n\n\n/**\n * Performs left-to-right function composition. The leftmost function may have\n * any arity; the remaining functions must be unary.\n *\n * In some libraries this function is named `sequence`.\n *\n * **Note:** The result of pipe is not automatically curried.\n *\n * @func\n * @memberOf R\n * @since v0.1.0\n * @category Function\n * @sig (((a, b, ..., n) -> o), (o -> p), ..., (x -> y), (y -> z)) -> ((a, b, ..., n) -> z)\n * @param {...Function} functions\n * @return {Function}\n * @see R.compose\n * @example\n *\n * var f = R.pipe(Math.pow, R.negate, R.inc);\n *\n * f(3, 4); // -(3^4) + 1\n * @symb R.pipe(f, g, h)(a, b) = h(g(f(a, b)))\n */\nmodule.exports = function pipe() {\n if (arguments.length === 0) {\n throw new Error('pipe requires at least one argument');\n }\n return _arity(arguments[0].length,\n reduce(_pipe, arguments[0], tail(arguments)));\n};\n","var composeK = require('./composeK');\nvar reverse = require('./reverse');\n\n/**\n * Returns the left-to-right Kleisli composition of the provided functions,\n * each of which must return a value of a type supported by [`chain`](#chain).\n *\n * `R.pipeK(f, g, h)` is equivalent to `R.pipe(R.chain(f), R.chain(g), R.chain(h))`.\n *\n * @func\n * @memberOf R\n * @since v0.16.0\n * @category Function\n * @sig Chain m => ((a -> m b), (b -> m c), ..., (y -> m z)) -> (a -> m z)\n * @param {...Function}\n * @return {Function}\n * @see R.composeK\n * @example\n *\n * // parseJson :: String -> Maybe *\n * // get :: String -> Object -> Maybe *\n *\n * // getStateCode :: Maybe String -> Maybe String\n * var getStateCode = R.pipeK(\n * parseJson,\n * get('user'),\n * get('address'),\n * get('state'),\n * R.compose(Maybe.of, R.toUpper)\n * );\n *\n * getStateCode('{\"user\":{\"address\":{\"state\":\"ny\"}}}');\n * //=> Just('NY')\n * getStateCode('[Invalid JSON]');\n * //=> Nothing()\n * @symb R.pipeK(f, g, h)(a) = R.chain(h, R.chain(g, f(a)))\n */\nmodule.exports = function pipeK() {\n if (arguments.length === 0) {\n throw new Error('pipeK requires at least one argument');\n }\n return composeK.apply(this, reverse(arguments));\n};\n","var _arity = require('./internal/_arity');\nvar _pipeP = require('./internal/_pipeP');\nvar reduce = require('./reduce');\nvar tail = require('./tail');\n\n\n/**\n * Performs left-to-right composition of one or more Promise-returning\n * functions. The leftmost function may have any arity; the remaining functions\n * must be unary.\n *\n * @func\n * @memberOf R\n * @since v0.10.0\n * @category Function\n * @sig ((a -> Promise b), (b -> Promise c), ..., (y -> Promise z)) -> (a -> Promise z)\n * @param {...Function} functions\n * @return {Function}\n * @see R.composeP\n * @example\n *\n * // followersForUser :: String -> Promise [User]\n * var followersForUser = R.pipeP(db.getUserById, db.getFollowers);\n */\nmodule.exports = function pipeP() {\n if (arguments.length === 0) {\n throw new Error('pipeP requires at least one argument');\n }\n return _arity(arguments[0].length,\n reduce(_pipeP, arguments[0], tail(arguments)));\n};\n","var _curry2 = require('./internal/_curry2');\nvar map = require('./map');\nvar prop = require('./prop');\n\n\n/**\n * Returns a new list by plucking the same named property off all objects in\n * the list supplied.\n *\n * @func\n * @memberOf R\n * @since v0.1.0\n * @category List\n * @sig k -> [{k: v}] -> [v]\n * @param {Number|String} key The key name to pluck off of each object.\n * @param {Array} list The array to consider.\n * @return {Array} The list of values for the given key.\n * @see R.props\n * @example\n *\n * R.pluck('a')([{a: 1}, {a: 2}]); //=> [1, 2]\n * R.pluck(0)([[1, 2], [3, 4]]); //=> [1, 3]\n * @symb R.pluck('x', [{x: 1, y: 2}, {x: 3, y: 4}, {x: 5, y: 6}]) = [1, 3, 5]\n * @symb R.pluck(0, [[1, 2], [3, 4], [5, 6]]) = [1, 3, 5]\n */\nmodule.exports = _curry2(function pluck(p, list) {\n return map(prop(p), list);\n});\n","var _concat = require('./internal/_concat');\nvar _curry2 = require('./internal/_curry2');\n\n\n/**\n * Returns a new list with the given element at the front, followed by the\n * contents of the list.\n *\n * @func\n * @memberOf R\n * @since v0.1.0\n * @category List\n * @sig a -> [a] -> [a]\n * @param {*} el The item to add to the head of the output list.\n * @param {Array} list The array to add to the tail of the output list.\n * @return {Array} A new array.\n * @see R.append\n * @example\n *\n * R.prepend('fee', ['fi', 'fo', 'fum']); //=> ['fee', 'fi', 'fo', 'fum']\n */\nmodule.exports = _curry2(function prepend(el, list) {\n return _concat([el], list);\n});\n","var multiply = require('./multiply');\nvar reduce = require('./reduce');\n\n\n/**\n * Multiplies together all the elements of a list.\n *\n * @func\n * @memberOf R\n * @since v0.1.0\n * @category Math\n * @sig [Number] -> Number\n * @param {Array} list An array of numbers\n * @return {Number} The product of all the numbers in the list.\n * @see R.reduce\n * @example\n *\n * R.product([2,4,6,8,100,1]); //=> 38400\n */\nmodule.exports = reduce(multiply, 1);\n","var _map = require('./internal/_map');\nvar identity = require('./identity');\nvar pickAll = require('./pickAll');\nvar useWith = require('./useWith');\n\n\n/**\n * Reasonable analog to SQL `select` statement.\n *\n * @func\n * @memberOf R\n * @since v0.1.0\n * @category Object\n * @category Relation\n * @sig [k] -> [{k: v}] -> [{k: v}]\n * @param {Array} props The property names to project\n * @param {Array} objs The objects to query\n * @return {Array} An array of objects with just the `props` properties.\n * @example\n *\n * var abby = {name: 'Abby', age: 7, hair: 'blond', grade: 2};\n * var fred = {name: 'Fred', age: 12, hair: 'brown', grade: 7};\n * var kids = [abby, fred];\n * R.project(['name', 'grade'], kids); //=> [{name: 'Abby', grade: 2}, {name: 'Fred', grade: 7}]\n */\nmodule.exports = useWith(_map, [pickAll, identity]); // passing `identity` gives correct arity\n","var _curry2 = require('./internal/_curry2');\n\n\n/**\n * Returns a function that when supplied an object returns the indicated\n * property of that object, if it exists.\n *\n * @func\n * @memberOf R\n * @since v0.1.0\n * @category Object\n * @sig s -> {s: a} -> a | Undefined\n * @param {String} p The property name\n * @param {Object} obj The object to query\n * @return {*} The value at `obj.p`.\n * @see R.path\n * @example\n *\n * R.prop('x', {x: 100}); //=> 100\n * R.prop('x', {}); //=> undefined\n */\nmodule.exports = _curry2(function prop(p, obj) { return obj[p]; });\n","var _curry3 = require('./internal/_curry3');\nvar equals = require('./equals');\n\n\n/**\n * Returns `true` if the specified object property is equal, in `R.equals`\n * terms, to the given value; `false` otherwise.\n *\n * @func\n * @memberOf R\n * @since v0.1.0\n * @category Relation\n * @sig String -> a -> Object -> Boolean\n * @param {String} name\n * @param {*} val\n * @param {*} obj\n * @return {Boolean}\n * @see R.equals, R.propSatisfies\n * @example\n *\n * var abby = {name: 'Abby', age: 7, hair: 'blond'};\n * var fred = {name: 'Fred', age: 12, hair: 'brown'};\n * var rusty = {name: 'Rusty', age: 10, hair: 'brown'};\n * var alois = {name: 'Alois', age: 15, disposition: 'surly'};\n * var kids = [abby, fred, rusty, alois];\n * var hasBrownHair = R.propEq('hair', 'brown');\n * R.filter(hasBrownHair, kids); //=> [fred, rusty]\n */\nmodule.exports = _curry3(function propEq(name, val, obj) {\n return equals(val, obj[name]);\n});\n","var _curry3 = require('./internal/_curry3');\nvar is = require('./is');\n\n\n/**\n * Returns `true` if the specified object property is of the given type;\n * `false` otherwise.\n *\n * @func\n * @memberOf R\n * @since v0.16.0\n * @category Type\n * @sig Type -> String -> Object -> Boolean\n * @param {Function} type\n * @param {String} name\n * @param {*} obj\n * @return {Boolean}\n * @see R.is, R.propSatisfies\n * @example\n *\n * R.propIs(Number, 'x', {x: 1, y: 2}); //=> true\n * R.propIs(Number, 'x', {x: 'foo'}); //=> false\n * R.propIs(Number, 'x', {}); //=> false\n */\nmodule.exports = _curry3(function propIs(type, name, obj) {\n return is(type, obj[name]);\n});\n","var _curry3 = require('./internal/_curry3');\nvar _has = require('./internal/_has');\n\n\n/**\n * If the given, non-null object has an own property with the specified name,\n * returns the value of that property. Otherwise returns the provided default\n * value.\n *\n * @func\n * @memberOf R\n * @since v0.6.0\n * @category Object\n * @sig a -> String -> Object -> a\n * @param {*} val The default value.\n * @param {String} p The name of the property to return.\n * @param {Object} obj The object to query.\n * @return {*} The value of given property of the supplied object or the default value.\n * @example\n *\n * var alice = {\n * name: 'ALICE',\n * age: 101\n * };\n * var favorite = R.prop('favoriteLibrary');\n * var favoriteWithDefault = R.propOr('Ramda', 'favoriteLibrary');\n *\n * favorite(alice); //=> undefined\n * favoriteWithDefault(alice); //=> 'Ramda'\n */\nmodule.exports = _curry3(function propOr(val, p, obj) {\n return (obj != null && _has(p, obj)) ? obj[p] : val;\n});\n","var _curry3 = require('./internal/_curry3');\n\n\n/**\n * Returns `true` if the specified object property satisfies the given\n * predicate; `false` otherwise.\n *\n * @func\n * @memberOf R\n * @since v0.16.0\n * @category Logic\n * @sig (a -> Boolean) -> String -> {String: a} -> Boolean\n * @param {Function} pred\n * @param {String} name\n * @param {*} obj\n * @return {Boolean}\n * @see R.propEq, R.propIs\n * @example\n *\n * R.propSatisfies(x => x > 0, 'x', {x: 1, y: 2}); //=> true\n */\nmodule.exports = _curry3(function propSatisfies(pred, name, obj) {\n return pred(obj[name]);\n});\n","var _curry2 = require('./internal/_curry2');\n\n\n/**\n * Acts as multiple `prop`: array of keys in, array of values out. Preserves\n * order.\n *\n * @func\n * @memberOf R\n * @since v0.1.0\n * @category Object\n * @sig [k] -> {k: v} -> [v]\n * @param {Array} ps The property names to fetch\n * @param {Object} obj The object to query\n * @return {Array} The corresponding values or partially applied function.\n * @example\n *\n * R.props(['x', 'y'], {x: 1, y: 2}); //=> [1, 2]\n * R.props(['c', 'a', 'b'], {b: 2, a: 1}); //=> [undefined, 1, 2]\n *\n * var fullName = R.compose(R.join(' '), R.props(['first', 'last']));\n * fullName({last: 'Bullet-Tooth', age: 33, first: 'Tony'}); //=> 'Tony Bullet-Tooth'\n */\nmodule.exports = _curry2(function props(ps, obj) {\n var len = ps.length;\n var out = [];\n var idx = 0;\n\n while (idx < len) {\n out[idx] = obj[ps[idx]];\n idx += 1;\n }\n\n return out;\n});\n","var _curry2 = require('./internal/_curry2');\nvar _isNumber = require('./internal/_isNumber');\n\n\n/**\n * Returns a list of numbers from `from` (inclusive) to `to` (exclusive).\n *\n * @func\n * @memberOf R\n * @since v0.1.0\n * @category List\n * @sig Number -> Number -> [Number]\n * @param {Number} from The first number in the list.\n * @param {Number} to One more than the last number in the list.\n * @return {Array} The list of numbers in tthe set `[a, b)`.\n * @example\n *\n * R.range(1, 5); //=> [1, 2, 3, 4]\n * R.range(50, 53); //=> [50, 51, 52]\n */\nmodule.exports = _curry2(function range(from, to) {\n if (!(_isNumber(from) && _isNumber(to))) {\n throw new TypeError('Both arguments to range must be numbers');\n }\n var result = [];\n var n = from;\n while (n < to) {\n result.push(n);\n n += 1;\n }\n return result;\n});\n","var _curry3 = require('./internal/_curry3');\nvar _reduce = require('./internal/_reduce');\n\n\n/**\n * Returns a single item by iterating through the list, successively calling\n * the iterator function and passing it an accumulator value and the current\n * value from the array, and then passing the result to the next call.\n *\n * The iterator function receives two values: *(acc, value)*. It may use\n * `R.reduced` to shortcut the iteration.\n *\n * The arguments' order of `reduceRight`'s iterator function is *(value, acc)*.\n *\n * Note: `R.reduce` does not skip deleted or unassigned indices (sparse\n * arrays), unlike the native `Array.prototype.reduce` method. For more details\n * on this behavior, see:\n * https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/reduce#Description\n *\n * Dispatches to the `reduce` method of the third argument, if present.\n *\n * @func\n * @memberOf R\n * @since v0.1.0\n * @category List\n * @sig ((a, b) -> a) -> a -> [b] -> a\n * @param {Function} fn The iterator function. Receives two values, the accumulator and the\n * current element from the array.\n * @param {*} acc The accumulator value.\n * @param {Array} list The list to iterate over.\n * @return {*} The final, accumulated value.\n * @see R.reduced, R.addIndex, R.reduceRight\n * @example\n *\n * R.reduce(R.subtract, 0, [1, 2, 3, 4]) // => ((((0 - 1) - 2) - 3) - 4) = -10\n * - -10\n * / \\ / \\\n * - 4 -6 4\n * / \\ / \\\n * - 3 ==> -3 3\n * / \\ / \\\n * - 2 -1 2\n * / \\ / \\\n * 0 1 0 1\n *\n * @symb R.reduce(f, a, [b, c, d]) = f(f(f(a, b), c), d)\n */\nmodule.exports = _curry3(_reduce);\n","var _curryN = require('./internal/_curryN');\nvar _dispatchable = require('./internal/_dispatchable');\nvar _has = require('./internal/_has');\nvar _reduce = require('./internal/_reduce');\nvar _xreduceBy = require('./internal/_xreduceBy');\n\n\n/**\n * Groups the elements of the list according to the result of calling\n * the String-returning function `keyFn` on each element and reduces the elements\n * of each group to a single value via the reducer function `valueFn`.\n *\n * This function is basically a more general `groupBy` function.\n *\n * Acts as a transducer if a transformer is given in list position.\n *\n * @func\n * @memberOf R\n * @since v0.20.0\n * @category List\n * @sig ((a, b) -> a) -> a -> (b -> String) -> [b] -> {String: a}\n * @param {Function} valueFn The function that reduces the elements of each group to a single\n * value. Receives two values, accumulator for a particular group and the current element.\n * @param {*} acc The (initial) accumulator value for each group.\n * @param {Function} keyFn The function that maps the list's element into a key.\n * @param {Array} list The array to group.\n * @return {Object} An object with the output of `keyFn` for keys, mapped to the output of\n * `valueFn` for elements which produced that key when passed to `keyFn`.\n * @see R.groupBy, R.reduce\n * @example\n *\n * var reduceToNamesBy = R.reduceBy((acc, student) => acc.concat(student.name), []);\n * var namesByGrade = reduceToNamesBy(function(student) {\n * var score = student.score;\n * return score < 65 ? 'F' :\n * score < 70 ? 'D' :\n * score < 80 ? 'C' :\n * score < 90 ? 'B' : 'A';\n * });\n * var students = [{name: 'Lucy', score: 92},\n * {name: 'Drew', score: 85},\n * // ...\n * {name: 'Bart', score: 62}];\n * namesByGrade(students);\n * // {\n * // 'A': ['Lucy'],\n * // 'B': ['Drew']\n * // // ...,\n * // 'F': ['Bart']\n * // }\n */\nmodule.exports = _curryN(4, [], _dispatchable([], _xreduceBy,\n function reduceBy(valueFn, valueAcc, keyFn, list) {\n return _reduce(function(acc, elt) {\n var key = keyFn(elt);\n acc[key] = valueFn(_has(key, acc) ? acc[key] : valueAcc, elt);\n return acc;\n }, {}, list);\n }));\n","var _curry3 = require('./internal/_curry3');\n\n\n/**\n * Returns a single item by iterating through the list, successively calling\n * the iterator function and passing it an accumulator value and the current\n * value from the array, and then passing the result to the next call.\n *\n * Similar to `reduce`, except moves through the input list from the right to\n * the left.\n *\n * The iterator function receives two values: *(value, acc)*, while the arguments'\n * order of `reduce`'s iterator function is *(acc, value)*.\n *\n * Note: `R.reduceRight` does not skip deleted or unassigned indices (sparse\n * arrays), unlike the native `Array.prototype.reduce` method. For more details\n * on this behavior, see:\n * https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/reduceRight#Description\n *\n * @func\n * @memberOf R\n * @since v0.1.0\n * @category List\n * @sig (a, b -> b) -> b -> [a] -> b\n * @param {Function} fn The iterator function. Receives two values, the current element from the array\n * and the accumulator.\n * @param {*} acc The accumulator value.\n * @param {Array} list The list to iterate over.\n * @return {*} The final, accumulated value.\n * @see R.reduce, R.addIndex\n * @example\n *\n * R.reduceRight(R.subtract, 0, [1, 2, 3, 4]) // => (1 - (2 - (3 - (4 - 0)))) = -2\n * - -2\n * / \\ / \\\n * 1 - 1 3\n * / \\ / \\\n * 2 - ==> 2 -1\n * / \\ / \\\n * 3 - 3 4\n * / \\ / \\\n * 4 0 4 0\n *\n * @symb R.reduceRight(f, a, [b, c, d]) = f(b, f(c, f(d, a)))\n */\nmodule.exports = _curry3(function reduceRight(fn, acc, list) {\n var idx = list.length - 1;\n while (idx >= 0) {\n acc = fn(list[idx], acc);\n idx -= 1;\n }\n return acc;\n});\n","var _curryN = require('./internal/_curryN');\nvar _reduce = require('./internal/_reduce');\nvar _reduced = require('./internal/_reduced');\n\n\n/**\n * Like `reduce`, `reduceWhile` returns a single item by iterating through\n * the list, successively calling the iterator function. `reduceWhile` also\n * takes a predicate that is evaluated before each step. If the predicate returns\n * `false`, it \"short-circuits\" the iteration and returns the current value\n * of the accumulator.\n *\n * @func\n * @memberOf R\n * @since v0.22.0\n * @category List\n * @sig ((a, b) -> Boolean) -> ((a, b) -> a) -> a -> [b] -> a\n * @param {Function} pred The predicate. It is passed the accumulator and the\n * current element.\n * @param {Function} fn The iterator function. Receives two values, the\n * accumulator and the current element.\n * @param {*} a The accumulator value.\n * @param {Array} list The list to iterate over.\n * @return {*} The final, accumulated value.\n * @see R.reduce, R.reduced\n * @example\n *\n * var isOdd = (acc, x) => x % 2 === 1;\n * var xs = [1, 3, 5, 60, 777, 800];\n * R.reduceWhile(isOdd, R.add, 0, xs); //=> 9\n *\n * var ys = [2, 4, 6]\n * R.reduceWhile(isOdd, R.add, 111, ys); //=> 111\n */\nmodule.exports = _curryN(4, [], function _reduceWhile(pred, fn, a, list) {\n return _reduce(function(acc, x) {\n return pred(acc, x) ? fn(acc, x) : _reduced(acc);\n }, a, list);\n});\n","var _curry1 = require('./internal/_curry1');\nvar _reduced = require('./internal/_reduced');\n\n/**\n * Returns a value wrapped to indicate that it is the final value of the reduce\n * and transduce functions. The returned value should be considered a black\n * box: the internal structure is not guaranteed to be stable.\n *\n * Note: this optimization is unavailable to functions not explicitly listed\n * above. For instance, it is not currently supported by reduceRight.\n *\n * @func\n * @memberOf R\n * @since v0.15.0\n * @category List\n * @sig a -> *\n * @param {*} x The final value of the reduce.\n * @return {*} The wrapped value.\n * @see R.reduce, R.transduce\n * @example\n *\n * R.reduce(\n * R.pipe(R.add, R.when(R.gte(R.__, 10), R.reduced)),\n * 0,\n * [1, 2, 3, 4, 5]) // 10\n */\n\nmodule.exports = _curry1(_reduced);\n","var _complement = require('./internal/_complement');\nvar _curry2 = require('./internal/_curry2');\nvar filter = require('./filter');\n\n\n/**\n * The complement of `filter`.\n *\n * Acts as a transducer if a transformer is given in list position.\n *\n * @func\n * @memberOf R\n * @since v0.1.0\n * @category List\n * @sig Filterable f => (a -> Boolean) -> f a -> f a\n * @param {Function} pred\n * @param {Array} filterable\n * @return {Array}\n * @see R.filter, R.transduce, R.addIndex\n * @example\n *\n * var isOdd = (n) => n % 2 === 1;\n *\n * R.reject(isOdd, [1, 2, 3, 4]); //=> [2, 4]\n *\n * R.reject(isOdd, {a: 1, b: 2, c: 3, d: 4}); //=> {b: 2, d: 4}\n */\nmodule.exports = _curry2(function reject(pred, filterable) {\n return filter(_complement(pred), filterable);\n});\n","var _curry3 = require('./internal/_curry3');\n\n\n/**\n * Removes the sub-list of `list` starting at index `start` and containing\n * `count` elements. _Note that this is not destructive_: it returns a copy of\n * the list with the changes.\n * No lists have been harmed in the application of this function.\n *\n * @func\n * @memberOf R\n * @since v0.2.2\n * @category List\n * @sig Number -> Number -> [a] -> [a]\n * @param {Number} start The position to start removing elements\n * @param {Number} count The number of elements to remove\n * @param {Array} list The list to remove from\n * @return {Array} A new Array with `count` elements from `start` removed.\n * @example\n *\n * R.remove(2, 3, [1,2,3,4,5,6,7,8]); //=> [1,2,6,7,8]\n */\nmodule.exports = _curry3(function remove(start, count, list) {\n var result = Array.prototype.slice.call(list, 0);\n result.splice(start, count);\n return result;\n});\n","var _curry2 = require('./internal/_curry2');\nvar always = require('./always');\nvar times = require('./times');\n\n\n/**\n * Returns a fixed list of size `n` containing a specified identical value.\n *\n * @func\n * @memberOf R\n * @since v0.1.1\n * @category List\n * @sig a -> n -> [a]\n * @param {*} value The value to repeat.\n * @param {Number} n The desired size of the output list.\n * @return {Array} A new array containing `n` `value`s.\n * @example\n *\n * R.repeat('hi', 5); //=> ['hi', 'hi', 'hi', 'hi', 'hi']\n *\n * var obj = {};\n * var repeatedObjs = R.repeat(obj, 5); //=> [{}, {}, {}, {}, {}]\n * repeatedObjs[0] === repeatedObjs[1]; //=> true\n * @symb R.repeat(a, 0) = []\n * @symb R.repeat(a, 1) = [a]\n * @symb R.repeat(a, 2) = [a, a]\n */\nmodule.exports = _curry2(function repeat(value, n) {\n return times(always(value), n);\n});\n","var _curry3 = require('./internal/_curry3');\n\n\n/**\n * Replace a substring or regex match in a string with a replacement.\n *\n * @func\n * @memberOf R\n * @since v0.7.0\n * @category String\n * @sig RegExp|String -> String -> String -> String\n * @param {RegExp|String} pattern A regular expression or a substring to match.\n * @param {String} replacement The string to replace the matches with.\n * @param {String} str The String to do the search and replacement in.\n * @return {String} The result.\n * @example\n *\n * R.replace('foo', 'bar', 'foo foo foo'); //=> 'bar foo foo'\n * R.replace(/foo/, 'bar', 'foo foo foo'); //=> 'bar foo foo'\n *\n * // Use the \"g\" (global) flag to replace all occurrences:\n * R.replace(/foo/g, 'bar', 'foo foo foo'); //=> 'bar bar bar'\n */\nmodule.exports = _curry3(function replace(regex, replacement, str) {\n return str.replace(regex, replacement);\n});\n","var _curry1 = require('./internal/_curry1');\nvar _isString = require('./internal/_isString');\n\n\n/**\n * Returns a new list or string with the elements or characters in reverse\n * order.\n *\n * @func\n * @memberOf R\n * @since v0.1.0\n * @category List\n * @sig [a] -> [a]\n * @sig String -> String\n * @param {Array|String} list\n * @return {Array|String}\n * @example\n *\n * R.reverse([1, 2, 3]); //=> [3, 2, 1]\n * R.reverse([1, 2]); //=> [2, 1]\n * R.reverse([1]); //=> [1]\n * R.reverse([]); //=> []\n *\n * R.reverse('abc'); //=> 'cba'\n * R.reverse('ab'); //=> 'ba'\n * R.reverse('a'); //=> 'a'\n * R.reverse(''); //=> ''\n */\nmodule.exports = _curry1(function reverse(list) {\n return _isString(list) ? list.split('').reverse().join('') :\n Array.prototype.slice.call(list, 0).reverse();\n});\n","var _curry3 = require('./internal/_curry3');\n\n\n/**\n * Scan is similar to reduce, but returns a list of successively reduced values\n * from the left\n *\n * @func\n * @memberOf R\n * @since v0.10.0\n * @category List\n * @sig (a,b -> a) -> a -> [b] -> [a]\n * @param {Function} fn The iterator function. Receives two values, the accumulator and the\n * current element from the array\n * @param {*} acc The accumulator value.\n * @param {Array} list The list to iterate over.\n * @return {Array} A list of all intermediately reduced values.\n * @example\n *\n * var numbers = [1, 2, 3, 4];\n * var factorials = R.scan(R.multiply, 1, numbers); //=> [1, 1, 2, 6, 24]\n * @symb R.scan(f, a, [b, c]) = [a, f(a, b), f(f(a, b), c)]\n */\nmodule.exports = _curry3(function scan(fn, acc, list) {\n var idx = 0;\n var len = list.length;\n var result = [acc];\n while (idx < len) {\n acc = fn(acc, list[idx]);\n result[idx + 1] = acc;\n idx += 1;\n }\n return result;\n});\n","var _curry2 = require('./internal/_curry2');\nvar ap = require('./ap');\nvar map = require('./map');\nvar prepend = require('./prepend');\nvar reduceRight = require('./reduceRight');\n\n\n/**\n * Transforms a [Traversable](https://github.com/fantasyland/fantasy-land#traversable)\n * of [Applicative](https://github.com/fantasyland/fantasy-land#applicative) into an\n * Applicative of Traversable.\n *\n * Dispatches to the `sequence` method of the second argument, if present.\n *\n * @func\n * @memberOf R\n * @since v0.19.0\n * @category List\n * @sig (Applicative f, Traversable t) => (a -> f a) -> t (f a) -> f (t a)\n * @param {Function} of\n * @param {*} traversable\n * @return {*}\n * @see R.traverse\n * @example\n *\n * R.sequence(Maybe.of, [Just(1), Just(2), Just(3)]); //=> Just([1, 2, 3])\n * R.sequence(Maybe.of, [Just(1), Just(2), Nothing()]); //=> Nothing()\n *\n * R.sequence(R.of, Just([1, 2, 3])); //=> [Just(1), Just(2), Just(3)]\n * R.sequence(R.of, Nothing()); //=> [Nothing()]\n */\nmodule.exports = _curry2(function sequence(of, traversable) {\n return typeof traversable.sequence === 'function' ?\n traversable.sequence(of) :\n reduceRight(function(x, acc) { return ap(map(prepend, x), acc); },\n of([]),\n traversable);\n});\n","var _curry3 = require('./internal/_curry3');\nvar always = require('./always');\nvar over = require('./over');\n\n\n/**\n * Returns the result of \"setting\" the portion of the given data structure\n * focused by the given lens to the given value.\n *\n * @func\n * @memberOf R\n * @since v0.16.0\n * @category Object\n * @typedefn Lens s a = Functor f => (a -> f a) -> s -> f s\n * @sig Lens s a -> a -> s -> s\n * @param {Lens} lens\n * @param {*} v\n * @param {*} x\n * @return {*}\n * @see R.prop, R.lensIndex, R.lensProp\n * @example\n *\n * var xLens = R.lensProp('x');\n *\n * R.set(xLens, 4, {x: 1, y: 2}); //=> {x: 4, y: 2}\n * R.set(xLens, 8, {x: 1, y: 2}); //=> {x: 8, y: 2}\n */\nmodule.exports = _curry3(function set(lens, v, x) {\n return over(lens, always(v), x);\n});\n","var _checkForMethod = require('./internal/_checkForMethod');\nvar _curry3 = require('./internal/_curry3');\n\n\n/**\n * Returns the elements of the given list or string (or object with a `slice`\n * method) from `fromIndex` (inclusive) to `toIndex` (exclusive).\n *\n * Dispatches to the `slice` method of the third argument, if present.\n *\n * @func\n * @memberOf R\n * @since v0.1.4\n * @category List\n * @sig Number -> Number -> [a] -> [a]\n * @sig Number -> Number -> String -> String\n * @param {Number} fromIndex The start index (inclusive).\n * @param {Number} toIndex The end index (exclusive).\n * @param {*} list\n * @return {*}\n * @example\n *\n * R.slice(1, 3, ['a', 'b', 'c', 'd']); //=> ['b', 'c']\n * R.slice(1, Infinity, ['a', 'b', 'c', 'd']); //=> ['b', 'c', 'd']\n * R.slice(0, -1, ['a', 'b', 'c', 'd']); //=> ['a', 'b', 'c']\n * R.slice(-3, -1, ['a', 'b', 'c', 'd']); //=> ['b', 'c']\n * R.slice(0, 3, 'ramda'); //=> 'ram'\n */\nmodule.exports = _curry3(_checkForMethod('slice', function slice(fromIndex, toIndex, list) {\n return Array.prototype.slice.call(list, fromIndex, toIndex);\n}));\n","var _curry2 = require('./internal/_curry2');\n\n\n/**\n * Returns a copy of the list, sorted according to the comparator function,\n * which should accept two values at a time and return a negative number if the\n * first value is smaller, a positive number if it's larger, and zero if they\n * are equal. Please note that this is a **copy** of the list. It does not\n * modify the original.\n *\n * @func\n * @memberOf R\n * @since v0.1.0\n * @category List\n * @sig (a,a -> Number) -> [a] -> [a]\n * @param {Function} comparator A sorting function :: a -> b -> Int\n * @param {Array} list The list to sort\n * @return {Array} a new array with its elements sorted by the comparator function.\n * @example\n *\n * var diff = function(a, b) { return a - b; };\n * R.sort(diff, [4,2,7,5]); //=> [2, 4, 5, 7]\n */\nmodule.exports = _curry2(function sort(comparator, list) {\n return Array.prototype.slice.call(list, 0).sort(comparator);\n});\n","var _curry2 = require('./internal/_curry2');\n\n\n/**\n * Sorts the list according to the supplied function.\n *\n * @func\n * @memberOf R\n * @since v0.1.0\n * @category Relation\n * @sig Ord b => (a -> b) -> [a] -> [a]\n * @param {Function} fn\n * @param {Array} list The list to sort.\n * @return {Array} A new list sorted by the keys generated by `fn`.\n * @example\n *\n * var sortByFirstItem = R.sortBy(R.prop(0));\n * var sortByNameCaseInsensitive = R.sortBy(R.compose(R.toLower, R.prop('name')));\n * var pairs = [[-1, 1], [-2, 2], [-3, 3]];\n * sortByFirstItem(pairs); //=> [[-3, 3], [-2, 2], [-1, 1]]\n * var alice = {\n * name: 'ALICE',\n * age: 101\n * };\n * var bob = {\n * name: 'Bob',\n * age: -10\n * };\n * var clara = {\n * name: 'clara',\n * age: 314.159\n * };\n * var people = [clara, bob, alice];\n * sortByNameCaseInsensitive(people); //=> [alice, bob, clara]\n */\nmodule.exports = _curry2(function sortBy(fn, list) {\n return Array.prototype.slice.call(list, 0).sort(function(a, b) {\n var aa = fn(a);\n var bb = fn(b);\n return aa < bb ? -1 : aa > bb ? 1 : 0;\n });\n});\n","var _curry2 = require('./internal/_curry2');\n\n\n/**\n * Sorts a list according to a list of comparators.\n *\n * @func\n * @memberOf R\n * @since v0.23.0\n * @category Relation\n * @sig [a -> a -> Number] -> [a] -> [a]\n * @param {Array} functions A list of comparator functions.\n * @param {Array} list The list to sort.\n * @return {Array} A new list sorted according to the comarator functions.\n * @example\n *\n * var alice = {\n * name: 'alice',\n * age: 40\n * };\n * var bob = {\n * name: 'bob',\n * age: 30\n * };\n * var clara = {\n * name: 'clara',\n * age: 40\n * };\n * var people = [clara, bob, alice];\n * var ageNameSort = R.sortWith([\n * R.descend(R.prop('age')),\n * R.ascend(R.prop('name'))\n * ]);\n * ageNameSort(people); //=> [alice, clara, bob]\n */\nmodule.exports = _curry2(function sortWith(fns, list) {\n return Array.prototype.slice.call(list, 0).sort(function(a, b) {\n var result = 0;\n var i = 0;\n while (result === 0 && i < fns.length) {\n result = fns[i](a, b);\n i += 1;\n }\n return result;\n });\n});\n","var invoker = require('./invoker');\n\n\n/**\n * Splits a string into an array of strings based on the given\n * separator.\n *\n * @func\n * @memberOf R\n * @since v0.1.0\n * @category String\n * @sig (String | RegExp) -> String -> [String]\n * @param {String|RegExp} sep The pattern.\n * @param {String} str The string to separate into an array.\n * @return {Array} The array of strings from `str` separated by `str`.\n * @see R.join\n * @example\n *\n * var pathComponents = R.split('/');\n * R.tail(pathComponents('/usr/local/bin/node')); //=> ['usr', 'local', 'bin', 'node']\n *\n * R.split('.', 'a.b.c.xyz.d'); //=> ['a', 'b', 'c', 'xyz', 'd']\n */\nmodule.exports = invoker(1, 'split');\n","var _curry2 = require('./internal/_curry2');\nvar length = require('./length');\nvar slice = require('./slice');\n\n\n/**\n * Splits a given list or string at a given index.\n *\n * @func\n * @memberOf R\n * @since v0.19.0\n * @category List\n * @sig Number -> [a] -> [[a], [a]]\n * @sig Number -> String -> [String, String]\n * @param {Number} index The index where the array/string is split.\n * @param {Array|String} array The array/string to be split.\n * @return {Array}\n * @example\n *\n * R.splitAt(1, [1, 2, 3]); //=> [[1], [2, 3]]\n * R.splitAt(5, 'hello world'); //=> ['hello', ' world']\n * R.splitAt(-1, 'foobar'); //=> ['fooba', 'r']\n */\nmodule.exports = _curry2(function splitAt(index, array) {\n return [slice(0, index, array), slice(index, length(array), array)];\n});\n","var _curry2 = require('./internal/_curry2');\nvar slice = require('./slice');\n\n\n/**\n * Splits a collection into slices of the specified length.\n *\n * @func\n * @memberOf R\n * @since v0.16.0\n * @category List\n * @sig Number -> [a] -> [[a]]\n * @sig Number -> String -> [String]\n * @param {Number} n\n * @param {Array} list\n * @return {Array}\n * @example\n *\n * R.splitEvery(3, [1, 2, 3, 4, 5, 6, 7]); //=> [[1, 2, 3], [4, 5, 6], [7]]\n * R.splitEvery(3, 'foobarbaz'); //=> ['foo', 'bar', 'baz']\n */\nmodule.exports = _curry2(function splitEvery(n, list) {\n if (n <= 0) {\n throw new Error('First argument to splitEvery must be a positive integer');\n }\n var result = [];\n var idx = 0;\n while (idx < list.length) {\n result.push(slice(idx, idx += n, list));\n }\n return result;\n});\n","var _curry2 = require('./internal/_curry2');\n\n\n/**\n * Takes a list and a predicate and returns a pair of lists with the following properties:\n *\n * - the result of concatenating the two output lists is equivalent to the input list;\n * - none of the elements of the first output list satisfies the predicate; and\n * - if the second output list is non-empty, its first element satisfies the predicate.\n *\n * @func\n * @memberOf R\n * @since v0.19.0\n * @category List\n * @sig (a -> Boolean) -> [a] -> [[a], [a]]\n * @param {Function} pred The predicate that determines where the array is split.\n * @param {Array} list The array to be split.\n * @return {Array}\n * @example\n *\n * R.splitWhen(R.equals(2), [1, 2, 3, 1, 2, 3]); //=> [[1], [2, 3, 1, 2, 3]]\n */\nmodule.exports = _curry2(function splitWhen(pred, list) {\n var idx = 0;\n var len = list.length;\n var prefix = [];\n\n while (idx < len && !pred(list[idx])) {\n prefix.push(list[idx]);\n idx += 1;\n }\n\n return [prefix, Array.prototype.slice.call(list, idx)];\n});\n","var _curry2 = require('./internal/_curry2');\n\n\n/**\n * Subtracts its second argument from its first argument.\n *\n * @func\n * @memberOf R\n * @since v0.1.0\n * @category Math\n * @sig Number -> Number -> Number\n * @param {Number} a The first value.\n * @param {Number} b The second value.\n * @return {Number} The result of `a - b`.\n * @see R.add\n * @example\n *\n * R.subtract(10, 8); //=> 2\n *\n * var minus5 = R.subtract(R.__, 5);\n * minus5(17); //=> 12\n *\n * var complementaryAngle = R.subtract(90);\n * complementaryAngle(30); //=> 60\n * complementaryAngle(72); //=> 18\n */\nmodule.exports = _curry2(function subtract(a, b) {\n return Number(a) - Number(b);\n});\n","var add = require('./add');\nvar reduce = require('./reduce');\n\n\n/**\n * Adds together all the elements of a list.\n *\n * @func\n * @memberOf R\n * @since v0.1.0\n * @category Math\n * @sig [Number] -> Number\n * @param {Array} list An array of numbers\n * @return {Number} The sum of all the numbers in the list.\n * @see R.reduce\n * @example\n *\n * R.sum([2,4,6,8,100,1]); //=> 121\n */\nmodule.exports = reduce(add, 0);\n","var _curry2 = require('./internal/_curry2');\nvar concat = require('./concat');\nvar difference = require('./difference');\n\n\n/**\n * Finds the set (i.e. no duplicates) of all elements contained in the first or\n * second list, but not both.\n *\n * @func\n * @memberOf R\n * @since v0.19.0\n * @category Relation\n * @sig [*] -> [*] -> [*]\n * @param {Array} list1 The first list.\n * @param {Array} list2 The second list.\n * @return {Array} The elements in `list1` or `list2`, but not both.\n * @see R.symmetricDifferenceWith, R.difference, R.differenceWith\n * @example\n *\n * R.symmetricDifference([1,2,3,4], [7,6,5,4,3]); //=> [1,2,7,6,5]\n * R.symmetricDifference([7,6,5,4,3], [1,2,3,4]); //=> [7,6,5,1,2]\n */\nmodule.exports = _curry2(function symmetricDifference(list1, list2) {\n return concat(difference(list1, list2), difference(list2, list1));\n});\n","var _curry3 = require('./internal/_curry3');\nvar concat = require('./concat');\nvar differenceWith = require('./differenceWith');\n\n\n/**\n * Finds the set (i.e. no duplicates) of all elements contained in the first or\n * second list, but not both. Duplication is determined according to the value\n * returned by applying the supplied predicate to two list elements.\n *\n * @func\n * @memberOf R\n * @since v0.19.0\n * @category Relation\n * @sig ((a, a) -> Boolean) -> [a] -> [a] -> [a]\n * @param {Function} pred A predicate used to test whether two items are equal.\n * @param {Array} list1 The first list.\n * @param {Array} list2 The second list.\n * @return {Array} The elements in `list1` or `list2`, but not both.\n * @see R.symmetricDifference, R.difference, R.differenceWith\n * @example\n *\n * var eqA = R.eqBy(R.prop('a'));\n * var l1 = [{a: 1}, {a: 2}, {a: 3}, {a: 4}];\n * var l2 = [{a: 3}, {a: 4}, {a: 5}, {a: 6}];\n * R.symmetricDifferenceWith(eqA, l1, l2); //=> [{a: 1}, {a: 2}, {a: 5}, {a: 6}]\n */\nmodule.exports = _curry3(function symmetricDifferenceWith(pred, list1, list2) {\n return concat(differenceWith(pred, list1, list2), differenceWith(pred, list2, list1));\n});\n","var _checkForMethod = require('./internal/_checkForMethod');\nvar _curry1 = require('./internal/_curry1');\nvar slice = require('./slice');\n\n\n/**\n * Returns all but the first element of the given list or string (or object\n * with a `tail` method).\n *\n * Dispatches to the `slice` method of the first argument, if present.\n *\n * @func\n * @memberOf R\n * @since v0.1.0\n * @category List\n * @sig [a] -> [a]\n * @sig String -> String\n * @param {*} list\n * @return {*}\n * @see R.head, R.init, R.last\n * @example\n *\n * R.tail([1, 2, 3]); //=> [2, 3]\n * R.tail([1, 2]); //=> [2]\n * R.tail([1]); //=> []\n * R.tail([]); //=> []\n *\n * R.tail('abc'); //=> 'bc'\n * R.tail('ab'); //=> 'b'\n * R.tail('a'); //=> ''\n * R.tail(''); //=> ''\n */\nmodule.exports = _curry1(_checkForMethod('tail', slice(1, Infinity)));\n","var _curry2 = require('./internal/_curry2');\nvar _dispatchable = require('./internal/_dispatchable');\nvar _xtake = require('./internal/_xtake');\nvar slice = require('./slice');\n\n\n/**\n * Returns the first `n` elements of the given list, string, or\n * transducer/transformer (or object with a `take` method).\n *\n * Dispatches to the `take` method of the second argument, if present.\n *\n * @func\n * @memberOf R\n * @since v0.1.0\n * @category List\n * @sig Number -> [a] -> [a]\n * @sig Number -> String -> String\n * @param {Number} n\n * @param {*} list\n * @return {*}\n * @see R.drop\n * @example\n *\n * R.take(1, ['foo', 'bar', 'baz']); //=> ['foo']\n * R.take(2, ['foo', 'bar', 'baz']); //=> ['foo', 'bar']\n * R.take(3, ['foo', 'bar', 'baz']); //=> ['foo', 'bar', 'baz']\n * R.take(4, ['foo', 'bar', 'baz']); //=> ['foo', 'bar', 'baz']\n * R.take(3, 'ramda'); //=> 'ram'\n *\n * var personnel = [\n * 'Dave Brubeck',\n * 'Paul Desmond',\n * 'Eugene Wright',\n * 'Joe Morello',\n * 'Gerry Mulligan',\n * 'Bob Bates',\n * 'Joe Dodge',\n * 'Ron Crotty'\n * ];\n *\n * var takeFive = R.take(5);\n * takeFive(personnel);\n * //=> ['Dave Brubeck', 'Paul Desmond', 'Eugene Wright', 'Joe Morello', 'Gerry Mulligan']\n * @symb R.take(-1, [a, b]) = [a, b]\n * @symb R.take(0, [a, b]) = []\n * @symb R.take(1, [a, b]) = [a]\n * @symb R.take(2, [a, b]) = [a, b]\n */\nmodule.exports = _curry2(_dispatchable(['take'], _xtake, function take(n, xs) {\n return slice(0, n < 0 ? Infinity : n, xs);\n}));\n","var _curry2 = require('./internal/_curry2');\nvar drop = require('./drop');\n\n\n/**\n * Returns a new list containing the last `n` elements of the given list.\n * If `n > list.length`, returns a list of `list.length` elements.\n *\n * @func\n * @memberOf R\n * @since v0.16.0\n * @category List\n * @sig Number -> [a] -> [a]\n * @sig Number -> String -> String\n * @param {Number} n The number of elements to return.\n * @param {Array} xs The collection to consider.\n * @return {Array}\n * @see R.dropLast\n * @example\n *\n * R.takeLast(1, ['foo', 'bar', 'baz']); //=> ['baz']\n * R.takeLast(2, ['foo', 'bar', 'baz']); //=> ['bar', 'baz']\n * R.takeLast(3, ['foo', 'bar', 'baz']); //=> ['foo', 'bar', 'baz']\n * R.takeLast(4, ['foo', 'bar', 'baz']); //=> ['foo', 'bar', 'baz']\n * R.takeLast(3, 'ramda'); //=> 'mda'\n */\nmodule.exports = _curry2(function takeLast(n, xs) {\n return drop(n >= 0 ? xs.length - n : 0, xs);\n});\n","var _curry2 = require('./internal/_curry2');\n\n\n/**\n * Returns a new list containing the last `n` elements of a given list, passing\n * each value to the supplied predicate function, and terminating when the\n * predicate function returns `false`. Excludes the element that caused the\n * predicate function to fail. The predicate function is passed one argument:\n * *(value)*.\n *\n * @func\n * @memberOf R\n * @since v0.16.0\n * @category List\n * @sig (a -> Boolean) -> [a] -> [a]\n * @param {Function} fn The function called per iteration.\n * @param {Array} list The collection to iterate over.\n * @return {Array} A new array.\n * @see R.dropLastWhile, R.addIndex\n * @example\n *\n * var isNotOne = x => x !== 1;\n *\n * R.takeLastWhile(isNotOne, [1, 2, 3, 4]); //=> [2, 3, 4]\n */\nmodule.exports = _curry2(function takeLastWhile(fn, list) {\n var idx = list.length - 1;\n while (idx >= 0 && fn(list[idx])) {\n idx -= 1;\n }\n return Array.prototype.slice.call(list, idx + 1);\n});\n","var _curry2 = require('./internal/_curry2');\nvar _dispatchable = require('./internal/_dispatchable');\nvar _xtakeWhile = require('./internal/_xtakeWhile');\n\n\n/**\n * Returns a new list containing the first `n` elements of a given list,\n * passing each value to the supplied predicate function, and terminating when\n * the predicate function returns `false`. Excludes the element that caused the\n * predicate function to fail. The predicate function is passed one argument:\n * *(value)*.\n *\n * Dispatches to the `takeWhile` method of the second argument, if present.\n *\n * Acts as a transducer if a transformer is given in list position.\n *\n * @func\n * @memberOf R\n * @since v0.1.0\n * @category List\n * @sig (a -> Boolean) -> [a] -> [a]\n * @param {Function} fn The function called per iteration.\n * @param {Array} list The collection to iterate over.\n * @return {Array} A new array.\n * @see R.dropWhile, R.transduce, R.addIndex\n * @example\n *\n * var isNotFour = x => x !== 4;\n *\n * R.takeWhile(isNotFour, [1, 2, 3, 4, 3, 2, 1]); //=> [1, 2, 3]\n */\nmodule.exports = _curry2(_dispatchable(['takeWhile'], _xtakeWhile, function takeWhile(fn, list) {\n var idx = 0;\n var len = list.length;\n while (idx < len && fn(list[idx])) {\n idx += 1;\n }\n return Array.prototype.slice.call(list, 0, idx);\n}));\n","var _curry2 = require('./internal/_curry2');\n\n\n/**\n * Runs the given function with the supplied object, then returns the object.\n *\n * @func\n * @memberOf R\n * @since v0.1.0\n * @category Function\n * @sig (a -> *) -> a -> a\n * @param {Function} fn The function to call with `x`. The return value of `fn` will be thrown away.\n * @param {*} x\n * @return {*} `x`.\n * @example\n *\n * var sayX = x => console.log('x is ' + x);\n * R.tap(sayX, 100); //=> 100\n * // logs 'x is 100'\n * @symb R.tap(f, a) = a\n */\nmodule.exports = _curry2(function tap(fn, x) {\n fn(x);\n return x;\n});\n","var _cloneRegExp = require('./internal/_cloneRegExp');\nvar _curry2 = require('./internal/_curry2');\nvar _isRegExp = require('./internal/_isRegExp');\nvar toString = require('./toString');\n\n\n/**\n * Determines whether a given string matches a given regular expression.\n *\n * @func\n * @memberOf R\n * @since v0.12.0\n * @category String\n * @sig RegExp -> String -> Boolean\n * @param {RegExp} pattern\n * @param {String} str\n * @return {Boolean}\n * @see R.match\n * @example\n *\n * R.test(/^x/, 'xyz'); //=> true\n * R.test(/^y/, 'xyz'); //=> false\n */\nmodule.exports = _curry2(function test(pattern, str) {\n if (!_isRegExp(pattern)) {\n throw new TypeError('‘test’ requires a value of type RegExp as its first argument; received ' + toString(pattern));\n }\n return _cloneRegExp(pattern).test(str);\n});\n","var _curry2 = require('./internal/_curry2');\n\n\n/**\n * Calls an input function `n` times, returning an array containing the results\n * of those function calls.\n *\n * `fn` is passed one argument: The current value of `n`, which begins at `0`\n * and is gradually incremented to `n - 1`.\n *\n * @func\n * @memberOf R\n * @since v0.2.3\n * @category List\n * @sig (Number -> a) -> Number -> [a]\n * @param {Function} fn The function to invoke. Passed one argument, the current value of `n`.\n * @param {Number} n A value between `0` and `n - 1`. Increments after each function call.\n * @return {Array} An array containing the return values of all calls to `fn`.\n * @example\n *\n * R.times(R.identity, 5); //=> [0, 1, 2, 3, 4]\n * @symb R.times(f, 0) = []\n * @symb R.times(f, 1) = [f(0)]\n * @symb R.times(f, 2) = [f(0), f(1)]\n */\nmodule.exports = _curry2(function times(fn, n) {\n var len = Number(n);\n var idx = 0;\n var list;\n\n if (len < 0 || isNaN(len)) {\n throw new RangeError('n must be a non-negative number');\n }\n list = new Array(len);\n while (idx < len) {\n list[idx] = fn(idx);\n idx += 1;\n }\n return list;\n});\n","var invoker = require('./invoker');\n\n\n/**\n * The lower case version of a string.\n *\n * @func\n * @memberOf R\n * @since v0.9.0\n * @category String\n * @sig String -> String\n * @param {String} str The string to lower case.\n * @return {String} The lower case version of `str`.\n * @see R.toUpper\n * @example\n *\n * R.toLower('XYZ'); //=> 'xyz'\n */\nmodule.exports = invoker(0, 'toLowerCase');\n","var _curry1 = require('./internal/_curry1');\nvar _has = require('./internal/_has');\n\n\n/**\n * Converts an object into an array of key, value arrays. Only the object's\n * own properties are used.\n * Note that the order of the output array is not guaranteed to be consistent\n * across different JS platforms.\n *\n * @func\n * @memberOf R\n * @since v0.4.0\n * @category Object\n * @sig {String: *} -> [[String,*]]\n * @param {Object} obj The object to extract from\n * @return {Array} An array of key, value arrays from the object's own properties.\n * @see R.fromPairs\n * @example\n *\n * R.toPairs({a: 1, b: 2, c: 3}); //=> [['a', 1], ['b', 2], ['c', 3]]\n */\nmodule.exports = _curry1(function toPairs(obj) {\n var pairs = [];\n for (var prop in obj) {\n if (_has(prop, obj)) {\n pairs[pairs.length] = [prop, obj[prop]];\n }\n }\n return pairs;\n});\n","var _curry1 = require('./internal/_curry1');\n\n\n/**\n * Converts an object into an array of key, value arrays. The object's own\n * properties and prototype properties are used. Note that the order of the\n * output array is not guaranteed to be consistent across different JS\n * platforms.\n *\n * @func\n * @memberOf R\n * @since v0.4.0\n * @category Object\n * @sig {String: *} -> [[String,*]]\n * @param {Object} obj The object to extract from\n * @return {Array} An array of key, value arrays from the object's own\n * and prototype properties.\n * @example\n *\n * var F = function() { this.x = 'X'; };\n * F.prototype.y = 'Y';\n * var f = new F();\n * R.toPairsIn(f); //=> [['x','X'], ['y','Y']]\n */\nmodule.exports = _curry1(function toPairsIn(obj) {\n var pairs = [];\n for (var prop in obj) {\n pairs[pairs.length] = [prop, obj[prop]];\n }\n return pairs;\n});\n","var _curry1 = require('./internal/_curry1');\nvar _toString = require('./internal/_toString');\n\n\n/**\n * Returns the string representation of the given value. `eval`'ing the output\n * should result in a value equivalent to the input value. Many of the built-in\n * `toString` methods do not satisfy this requirement.\n *\n * If the given value is an `[object Object]` with a `toString` method other\n * than `Object.prototype.toString`, this method is invoked with no arguments\n * to produce the return value. This means user-defined constructor functions\n * can provide a suitable `toString` method. For example:\n *\n * function Point(x, y) {\n * this.x = x;\n * this.y = y;\n * }\n *\n * Point.prototype.toString = function() {\n * return 'new Point(' + this.x + ', ' + this.y + ')';\n * };\n *\n * R.toString(new Point(1, 2)); //=> 'new Point(1, 2)'\n *\n * @func\n * @memberOf R\n * @since v0.14.0\n * @category String\n * @sig * -> String\n * @param {*} val\n * @return {String}\n * @example\n *\n * R.toString(42); //=> '42'\n * R.toString('abc'); //=> '\"abc\"'\n * R.toString([1, 2, 3]); //=> '[1, 2, 3]'\n * R.toString({foo: 1, bar: 2, baz: 3}); //=> '{\"bar\": 2, \"baz\": 3, \"foo\": 1}'\n * R.toString(new Date('2001-02-03T04:05:06Z')); //=> 'new Date(\"2001-02-03T04:05:06.000Z\")'\n */\nmodule.exports = _curry1(function toString(val) { return _toString(val, []); });\n","var invoker = require('./invoker');\n\n\n/**\n * The upper case version of a string.\n *\n * @func\n * @memberOf R\n * @since v0.9.0\n * @category String\n * @sig String -> String\n * @param {String} str The string to upper case.\n * @return {String} The upper case version of `str`.\n * @see R.toLower\n * @example\n *\n * R.toUpper('abc'); //=> 'ABC'\n */\nmodule.exports = invoker(0, 'toUpperCase');\n","var _reduce = require('./internal/_reduce');\nvar _xwrap = require('./internal/_xwrap');\nvar curryN = require('./curryN');\n\n\n/**\n * Initializes a transducer using supplied iterator function. Returns a single\n * item by iterating through the list, successively calling the transformed\n * iterator function and passing it an accumulator value and the current value\n * from the array, and then passing the result to the next call.\n *\n * The iterator function receives two values: *(acc, value)*. It will be\n * wrapped as a transformer to initialize the transducer. A transformer can be\n * passed directly in place of an iterator function. In both cases, iteration\n * may be stopped early with the `R.reduced` function.\n *\n * A transducer is a function that accepts a transformer and returns a\n * transformer and can be composed directly.\n *\n * A transformer is an an object that provides a 2-arity reducing iterator\n * function, step, 0-arity initial value function, init, and 1-arity result\n * extraction function, result. The step function is used as the iterator\n * function in reduce. The result function is used to convert the final\n * accumulator into the return type and in most cases is R.identity. The init\n * function can be used to provide an initial accumulator, but is ignored by\n * transduce.\n *\n * The iteration is performed with R.reduce after initializing the transducer.\n *\n * @func\n * @memberOf R\n * @since v0.12.0\n * @category List\n * @sig (c -> c) -> (a,b -> a) -> a -> [b] -> a\n * @param {Function} xf The transducer function. Receives a transformer and returns a transformer.\n * @param {Function} fn The iterator function. Receives two values, the accumulator and the\n * current element from the array. Wrapped as transformer, if necessary, and used to\n * initialize the transducer\n * @param {*} acc The initial accumulator value.\n * @param {Array} list The list to iterate over.\n * @return {*} The final, accumulated value.\n * @see R.reduce, R.reduced, R.into\n * @example\n *\n * var numbers = [1, 2, 3, 4];\n * var transducer = R.compose(R.map(R.add(1)), R.take(2));\n *\n * R.transduce(transducer, R.flip(R.append), [], numbers); //=> [2, 3]\n */\nmodule.exports = curryN(4, function transduce(xf, fn, acc, list) {\n return _reduce(xf(typeof fn === 'function' ? _xwrap(fn) : fn), acc, list);\n});\n","var _curry1 = require('./internal/_curry1');\n\n\n/**\n * Transposes the rows and columns of a 2D list.\n * When passed a list of `n` lists of length `x`,\n * returns a list of `x` lists of length `n`.\n *\n *\n * @func\n * @memberOf R\n * @since v0.19.0\n * @category List\n * @sig [[a]] -> [[a]]\n * @param {Array} list A 2D list\n * @return {Array} A 2D list\n * @example\n *\n * R.transpose([[1, 'a'], [2, 'b'], [3, 'c']]) //=> [[1, 2, 3], ['a', 'b', 'c']]\n * R.transpose([[1, 2, 3], ['a', 'b', 'c']]) //=> [[1, 'a'], [2, 'b'], [3, 'c']]\n *\n * If some of the rows are shorter than the following rows, their elements are skipped:\n *\n * R.transpose([[10, 11], [20], [], [30, 31, 32]]) //=> [[10, 20, 30], [11, 31], [32]]\n * @symb R.transpose([[a], [b], [c]]) = [a, b, c]\n * @symb R.transpose([[a, b], [c, d]]) = [[a, c], [b, d]]\n * @symb R.transpose([[a, b], [c]]) = [[a, c], [b]]\n */\nmodule.exports = _curry1(function transpose(outerlist) {\n var i = 0;\n var result = [];\n while (i < outerlist.length) {\n var innerlist = outerlist[i];\n var j = 0;\n while (j < innerlist.length) {\n if (typeof result[j] === 'undefined') {\n result[j] = [];\n }\n result[j].push(innerlist[j]);\n j += 1;\n }\n i += 1;\n }\n return result;\n});\n","var _curry3 = require('./internal/_curry3');\nvar map = require('./map');\nvar sequence = require('./sequence');\n\n\n/**\n * Maps an [Applicative](https://github.com/fantasyland/fantasy-land#applicative)-returning\n * function over a [Traversable](https://github.com/fantasyland/fantasy-land#traversable),\n * then uses [`sequence`](#sequence) to transform the resulting Traversable of Applicative\n * into an Applicative of Traversable.\n *\n * Dispatches to the `sequence` method of the third argument, if present.\n *\n * @func\n * @memberOf R\n * @since v0.19.0\n * @category List\n * @sig (Applicative f, Traversable t) => (a -> f a) -> (a -> f b) -> t a -> f (t b)\n * @param {Function} of\n * @param {Function} f\n * @param {*} traversable\n * @return {*}\n * @see R.sequence\n * @example\n *\n * // Returns `Nothing` if the given divisor is `0`\n * safeDiv = n => d => d === 0 ? Nothing() : Just(n / d)\n *\n * R.traverse(Maybe.of, safeDiv(10), [2, 4, 5]); //=> Just([5, 2.5, 2])\n * R.traverse(Maybe.of, safeDiv(10), [2, 0, 5]); //=> Nothing\n */\nmodule.exports = _curry3(function traverse(of, f, traversable) {\n return sequence(of, map(f, traversable));\n});\n","var _curry1 = require('./internal/_curry1');\n\n\n/**\n * Removes (strips) whitespace from both ends of the string.\n *\n * @func\n * @memberOf R\n * @since v0.6.0\n * @category String\n * @sig String -> String\n * @param {String} str The string to trim.\n * @return {String} Trimmed version of `str`.\n * @example\n *\n * R.trim(' xyz '); //=> 'xyz'\n * R.map(R.trim, R.split(',', 'x, y, z')); //=> ['x', 'y', 'z']\n */\nmodule.exports = (function() {\n var ws = '\\x09\\x0A\\x0B\\x0C\\x0D\\x20\\xA0\\u1680\\u180E\\u2000\\u2001\\u2002\\u2003' +\n '\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200A\\u202F\\u205F\\u3000\\u2028' +\n '\\u2029\\uFEFF';\n var zeroWidth = '\\u200b';\n var hasProtoTrim = (typeof String.prototype.trim === 'function');\n if (!hasProtoTrim || (ws.trim() || !zeroWidth.trim())) {\n return _curry1(function trim(str) {\n var beginRx = new RegExp('^[' + ws + '][' + ws + ']*');\n var endRx = new RegExp('[' + ws + '][' + ws + ']*$');\n return str.replace(beginRx, '').replace(endRx, '');\n });\n } else {\n return _curry1(function trim(str) {\n return str.trim();\n });\n }\n}());\n","var _arity = require('./internal/_arity');\nvar _concat = require('./internal/_concat');\nvar _curry2 = require('./internal/_curry2');\n\n\n/**\n * `tryCatch` takes two functions, a `tryer` and a `catcher`. The returned\n * function evaluates the `tryer`; if it does not throw, it simply returns the\n * result. If the `tryer` *does* throw, the returned function evaluates the\n * `catcher` function and returns its result. Note that for effective\n * composition with this function, both the `tryer` and `catcher` functions\n * must return the same type of results.\n *\n * @func\n * @memberOf R\n * @since v0.20.0\n * @category Function\n * @sig (...x -> a) -> ((e, ...x) -> a) -> (...x -> a)\n * @param {Function} tryer The function that may throw.\n * @param {Function} catcher The function that will be evaluated if `tryer` throws.\n * @return {Function} A new function that will catch exceptions and send then to the catcher.\n * @example\n *\n * R.tryCatch(R.prop('x'), R.F)({x: true}); //=> true\n * R.tryCatch(R.prop('x'), R.F)(null); //=> false\n */\nmodule.exports = _curry2(function _tryCatch(tryer, catcher) {\n return _arity(tryer.length, function() {\n try {\n return tryer.apply(this, arguments);\n } catch (e) {\n return catcher.apply(this, _concat([e], arguments));\n }\n });\n});\n","var _curry1 = require('./internal/_curry1');\n\n\n/**\n * Gives a single-word string description of the (native) type of a value,\n * returning such answers as 'Object', 'Number', 'Array', or 'Null'. Does not\n * attempt to distinguish user Object types any further, reporting them all as\n * 'Object'.\n *\n * @func\n * @memberOf R\n * @since v0.8.0\n * @category Type\n * @sig (* -> {*}) -> String\n * @param {*} val The value to test\n * @return {String}\n * @example\n *\n * R.type({}); //=> \"Object\"\n * R.type(1); //=> \"Number\"\n * R.type(false); //=> \"Boolean\"\n * R.type('s'); //=> \"String\"\n * R.type(null); //=> \"Null\"\n * R.type([]); //=> \"Array\"\n * R.type(/[A-z]/); //=> \"RegExp\"\n */\nmodule.exports = _curry1(function type(val) {\n return val === null ? 'Null' :\n val === undefined ? 'Undefined' :\n Object.prototype.toString.call(val).slice(8, -1);\n});\n","var _curry1 = require('./internal/_curry1');\n\n\n/**\n * Takes a function `fn`, which takes a single array argument, and returns a\n * function which:\n *\n * - takes any number of positional arguments;\n * - passes these arguments to `fn` as an array; and\n * - returns the result.\n *\n * In other words, R.unapply derives a variadic function from a function which\n * takes an array. R.unapply is the inverse of R.apply.\n *\n * @func\n * @memberOf R\n * @since v0.8.0\n * @category Function\n * @sig ([*...] -> a) -> (*... -> a)\n * @param {Function} fn\n * @return {Function}\n * @see R.apply\n * @example\n *\n * R.unapply(JSON.stringify)(1, 2, 3); //=> '[1,2,3]'\n * @symb R.unapply(f)(a, b) = f([a, b])\n */\nmodule.exports = _curry1(function unapply(fn) {\n return function() {\n return fn(Array.prototype.slice.call(arguments, 0));\n };\n});\n","var _curry1 = require('./internal/_curry1');\nvar nAry = require('./nAry');\n\n\n/**\n * Wraps a function of any arity (including nullary) in a function that accepts\n * exactly 1 parameter. Any extraneous parameters will not be passed to the\n * supplied function.\n *\n * @func\n * @memberOf R\n * @since v0.2.0\n * @category Function\n * @sig (* -> b) -> (a -> b)\n * @param {Function} fn The function to wrap.\n * @return {Function} A new function wrapping `fn`. The new function is guaranteed to be of\n * arity 1.\n * @example\n *\n * var takesTwoArgs = function(a, b) {\n * return [a, b];\n * };\n * takesTwoArgs.length; //=> 2\n * takesTwoArgs(1, 2); //=> [1, 2]\n *\n * var takesOneArg = R.unary(takesTwoArgs);\n * takesOneArg.length; //=> 1\n * // Only 1 argument is passed to the wrapped function\n * takesOneArg(1, 2); //=> [1, undefined]\n * @symb R.unary(f)(a, b, c) = f(a)\n */\nmodule.exports = _curry1(function unary(fn) {\n return nAry(1, fn);\n});\n","var _curry2 = require('./internal/_curry2');\nvar curryN = require('./curryN');\n\n\n/**\n * Returns a function of arity `n` from a (manually) curried function.\n *\n * @func\n * @memberOf R\n * @since v0.14.0\n * @category Function\n * @sig Number -> (a -> b) -> (a -> c)\n * @param {Number} length The arity for the returned function.\n * @param {Function} fn The function to uncurry.\n * @return {Function} A new function.\n * @see R.curry\n * @example\n *\n * var addFour = a => b => c => d => a + b + c + d;\n *\n * var uncurriedAddFour = R.uncurryN(4, addFour);\n * uncurriedAddFour(1, 2, 3, 4); //=> 10\n */\nmodule.exports = _curry2(function uncurryN(depth, fn) {\n return curryN(depth, function() {\n var currentDepth = 1;\n var value = fn;\n var idx = 0;\n var endIdx;\n while (currentDepth <= depth && typeof value === 'function') {\n endIdx = currentDepth === depth ? arguments.length : idx + value.length;\n value = value.apply(this, Array.prototype.slice.call(arguments, idx, endIdx));\n currentDepth += 1;\n idx = endIdx;\n }\n return value;\n });\n});\n","var _curry2 = require('./internal/_curry2');\n\n\n/**\n * Builds a list from a seed value. Accepts an iterator function, which returns\n * either false to stop iteration or an array of length 2 containing the value\n * to add to the resulting list and the seed to be used in the next call to the\n * iterator function.\n *\n * The iterator function receives one argument: *(seed)*.\n *\n * @func\n * @memberOf R\n * @since v0.10.0\n * @category List\n * @sig (a -> [b]) -> * -> [b]\n * @param {Function} fn The iterator function. receives one argument, `seed`, and returns\n * either false to quit iteration or an array of length two to proceed. The element\n * at index 0 of this array will be added to the resulting array, and the element\n * at index 1 will be passed to the next call to `fn`.\n * @param {*} seed The seed value.\n * @return {Array} The final list.\n * @example\n *\n * var f = n => n > 50 ? false : [-n, n + 10];\n * R.unfold(f, 10); //=> [-10, -20, -30, -40, -50]\n * @symb R.unfold(f, x) = [f(x)[0], f(f(x)[1])[0], f(f(f(x)[1])[1])[0], ...]\n */\nmodule.exports = _curry2(function unfold(fn, seed) {\n var pair = fn(seed);\n var result = [];\n while (pair && pair.length) {\n result[result.length] = pair[0];\n pair = fn(pair[1]);\n }\n return result;\n});\n","var _concat = require('./internal/_concat');\nvar _curry2 = require('./internal/_curry2');\nvar compose = require('./compose');\nvar uniq = require('./uniq');\n\n\n/**\n * Combines two lists into a set (i.e. no duplicates) composed of the elements\n * of each list.\n *\n * @func\n * @memberOf R\n * @since v0.1.0\n * @category Relation\n * @sig [*] -> [*] -> [*]\n * @param {Array} as The first list.\n * @param {Array} bs The second list.\n * @return {Array} The first and second lists concatenated, with\n * duplicates removed.\n * @example\n *\n * R.union([1, 2, 3], [2, 3, 4]); //=> [1, 2, 3, 4]\n */\nmodule.exports = _curry2(compose(uniq, _concat));\n","var _concat = require('./internal/_concat');\nvar _curry3 = require('./internal/_curry3');\nvar uniqWith = require('./uniqWith');\n\n\n/**\n * Combines two lists into a set (i.e. no duplicates) composed of the elements\n * of each list. Duplication is determined according to the value returned by\n * applying the supplied predicate to two list elements.\n *\n * @func\n * @memberOf R\n * @since v0.1.0\n * @category Relation\n * @sig (a -> a -> Boolean) -> [*] -> [*] -> [*]\n * @param {Function} pred A predicate used to test whether two items are equal.\n * @param {Array} list1 The first list.\n * @param {Array} list2 The second list.\n * @return {Array} The first and second lists concatenated, with\n * duplicates removed.\n * @see R.union\n * @example\n *\n * var l1 = [{a: 1}, {a: 2}];\n * var l2 = [{a: 1}, {a: 4}];\n * R.unionWith(R.eqBy(R.prop('a')), l1, l2); //=> [{a: 1}, {a: 2}, {a: 4}]\n */\nmodule.exports = _curry3(function unionWith(pred, list1, list2) {\n return uniqWith(pred, _concat(list1, list2));\n});\n","var identity = require('./identity');\nvar uniqBy = require('./uniqBy');\n\n\n/**\n * Returns a new list containing only one copy of each element in the original\n * list. `R.equals` is used to determine equality.\n *\n * @func\n * @memberOf R\n * @since v0.1.0\n * @category List\n * @sig [a] -> [a]\n * @param {Array} list The array to consider.\n * @return {Array} The list of unique items.\n * @example\n *\n * R.uniq([1, 1, 2, 1]); //=> [1, 2]\n * R.uniq([1, '1']); //=> [1, '1']\n * R.uniq([[42], [42]]); //=> [[42]]\n */\nmodule.exports = uniqBy(identity);\n","var _Set = require('./internal/_Set');\nvar _curry2 = require('./internal/_curry2');\n\n\n/**\n * Returns a new list containing only one copy of each element in the original\n * list, based upon the value returned by applying the supplied function to\n * each list element. Prefers the first item if the supplied function produces\n * the same value on two items. `R.equals` is used for comparison.\n *\n * @func\n * @memberOf R\n * @since v0.16.0\n * @category List\n * @sig (a -> b) -> [a] -> [a]\n * @param {Function} fn A function used to produce a value to use during comparisons.\n * @param {Array} list The array to consider.\n * @return {Array} The list of unique items.\n * @example\n *\n * R.uniqBy(Math.abs, [-1, -5, 2, 10, 1, 2]); //=> [-1, -5, 2, 10]\n */\nmodule.exports = _curry2(function uniqBy(fn, list) {\n var set = new _Set();\n var result = [];\n var idx = 0;\n var appliedItem, item;\n\n while (idx < list.length) {\n item = list[idx];\n appliedItem = fn(item);\n if (set.add(appliedItem)) {\n result.push(item);\n }\n idx += 1;\n }\n return result;\n});\n","var _containsWith = require('./internal/_containsWith');\nvar _curry2 = require('./internal/_curry2');\n\n\n/**\n * Returns a new list containing only one copy of each element in the original\n * list, based upon the value returned by applying the supplied predicate to\n * two list elements. Prefers the first item if two items compare equal based\n * on the predicate.\n *\n * @func\n * @memberOf R\n * @since v0.2.0\n * @category List\n * @sig (a, a -> Boolean) -> [a] -> [a]\n * @param {Function} pred A predicate used to test whether two items are equal.\n * @param {Array} list The array to consider.\n * @return {Array} The list of unique items.\n * @example\n *\n * var strEq = R.eqBy(String);\n * R.uniqWith(strEq)([1, '1', 2, 1]); //=> [1, 2]\n * R.uniqWith(strEq)([{}, {}]); //=> [{}]\n * R.uniqWith(strEq)([1, '1', 1]); //=> [1]\n * R.uniqWith(strEq)(['1', 1, 1]); //=> ['1']\n */\nmodule.exports = _curry2(function uniqWith(pred, list) {\n var idx = 0;\n var len = list.length;\n var result = [];\n var item;\n while (idx < len) {\n item = list[idx];\n if (!_containsWith(pred, item, result)) {\n result[result.length] = item;\n }\n idx += 1;\n }\n return result;\n});\n","var _curry3 = require('./internal/_curry3');\n\n\n/**\n * Tests the final argument by passing it to the given predicate function. If\n * the predicate is not satisfied, the function will return the result of\n * calling the `whenFalseFn` function with the same argument. If the predicate\n * is satisfied, the argument is returned as is.\n *\n * @func\n * @memberOf R\n * @since v0.18.0\n * @category Logic\n * @sig (a -> Boolean) -> (a -> a) -> a -> a\n * @param {Function} pred A predicate function\n * @param {Function} whenFalseFn A function to invoke when the `pred` evaluates\n * to a falsy value.\n * @param {*} x An object to test with the `pred` function and\n * pass to `whenFalseFn` if necessary.\n * @return {*} Either `x` or the result of applying `x` to `whenFalseFn`.\n * @see R.ifElse, R.when\n * @example\n *\n * // coerceArray :: (a|[a]) -> [a]\n * var coerceArray = R.unless(R.isArrayLike, R.of);\n * coerceArray([1, 2, 3]); //=> [1, 2, 3]\n * coerceArray(1); //=> [1]\n */\nmodule.exports = _curry3(function unless(pred, whenFalseFn, x) {\n return pred(x) ? x : whenFalseFn(x);\n});\n","var _identity = require('./internal/_identity');\nvar chain = require('./chain');\n\n\n/**\n * Shorthand for `R.chain(R.identity)`, which removes one level of nesting from\n * any [Chain](https://github.com/fantasyland/fantasy-land#chain).\n *\n * @func\n * @memberOf R\n * @since v0.3.0\n * @category List\n * @sig Chain c => c (c a) -> c a\n * @param {*} list\n * @return {*}\n * @see R.flatten, R.chain\n * @example\n *\n * R.unnest([1, [2], [[3]]]); //=> [1, 2, [3]]\n * R.unnest([[1, 2], [3, 4], [5, 6]]); //=> [1, 2, 3, 4, 5, 6]\n */\nmodule.exports = chain(_identity);\n","var _curry3 = require('./internal/_curry3');\n\n\n/**\n * Takes a predicate, a transformation function, and an initial value,\n * and returns a value of the same type as the initial value.\n * It does so by applying the transformation until the predicate is satisfied,\n * at which point it returns the satisfactory value.\n *\n * @func\n * @memberOf R\n * @since v0.20.0\n * @category Logic\n * @sig (a -> Boolean) -> (a -> a) -> a -> a\n * @param {Function} pred A predicate function\n * @param {Function} fn The iterator function\n * @param {*} init Initial value\n * @return {*} Final value that satisfies predicate\n * @example\n *\n * R.until(R.gt(R.__, 100), R.multiply(2))(1) // => 128\n */\nmodule.exports = _curry3(function until(pred, fn, init) {\n var val = init;\n while (!pred(val)) {\n val = fn(val);\n }\n return val;\n});\n","var _curry3 = require('./internal/_curry3');\nvar adjust = require('./adjust');\nvar always = require('./always');\n\n\n/**\n * Returns a new copy of the array with the element at the provided index\n * replaced with the given value.\n *\n * @func\n * @memberOf R\n * @since v0.14.0\n * @category List\n * @sig Number -> a -> [a] -> [a]\n * @param {Number} idx The index to update.\n * @param {*} x The value to exist at the given index of the returned array.\n * @param {Array|Arguments} list The source array-like object to be updated.\n * @return {Array} A copy of `list` with the value at index `idx` replaced with `x`.\n * @see R.adjust\n * @example\n *\n * R.update(1, 11, [0, 1, 2]); //=> [0, 11, 2]\n * R.update(1)(11)([0, 1, 2]); //=> [0, 11, 2]\n * @symb R.update(-1, a, [b, c]) = [b, a]\n * @symb R.update(0, a, [b, c]) = [a, c]\n * @symb R.update(1, a, [b, c]) = [b, a]\n */\nmodule.exports = _curry3(function update(idx, x, list) {\n return adjust(always(x), idx, list);\n});\n","var _curry2 = require('./internal/_curry2');\nvar curryN = require('./curryN');\n\n\n/**\n * Accepts a function `fn` and a list of transformer functions and returns a\n * new curried function. When the new function is invoked, it calls the\n * function `fn` with parameters consisting of the result of calling each\n * supplied handler on successive arguments to the new function.\n *\n * If more arguments are passed to the returned function than transformer\n * functions, those arguments are passed directly to `fn` as additional\n * parameters. If you expect additional arguments that don't need to be\n * transformed, although you can ignore them, it's best to pass an identity\n * function so that the new function reports the correct arity.\n *\n * @func\n * @memberOf R\n * @since v0.1.0\n * @category Function\n * @sig (x1 -> x2 -> ... -> z) -> [(a -> x1), (b -> x2), ...] -> (a -> b -> ... -> z)\n * @param {Function} fn The function to wrap.\n * @param {Array} transformers A list of transformer functions\n * @return {Function} The wrapped function.\n * @see R.converge\n * @example\n *\n * R.useWith(Math.pow, [R.identity, R.identity])(3, 4); //=> 81\n * R.useWith(Math.pow, [R.identity, R.identity])(3)(4); //=> 81\n * R.useWith(Math.pow, [R.dec, R.inc])(3, 4); //=> 32\n * R.useWith(Math.pow, [R.dec, R.inc])(3)(4); //=> 32\n * @symb R.useWith(f, [g, h])(a, b) = f(g(a), h(b))\n */\nmodule.exports = _curry2(function useWith(fn, transformers) {\n return curryN(transformers.length, function() {\n var args = [];\n var idx = 0;\n while (idx < transformers.length) {\n args.push(transformers[idx].call(this, arguments[idx]));\n idx += 1;\n }\n return fn.apply(this, args.concat(Array.prototype.slice.call(arguments, transformers.length)));\n });\n});\n","var _curry1 = require('./internal/_curry1');\nvar keys = require('./keys');\n\n\n/**\n * Returns a list of all the enumerable own properties of the supplied object.\n * Note that the order of the output array is not guaranteed across different\n * JS platforms.\n *\n * @func\n * @memberOf R\n * @since v0.1.0\n * @category Object\n * @sig {k: v} -> [v]\n * @param {Object} obj The object to extract values from\n * @return {Array} An array of the values of the object's own properties.\n * @example\n *\n * R.values({a: 1, b: 2, c: 3}); //=> [1, 2, 3]\n */\nmodule.exports = _curry1(function values(obj) {\n var props = keys(obj);\n var len = props.length;\n var vals = [];\n var idx = 0;\n while (idx < len) {\n vals[idx] = obj[props[idx]];\n idx += 1;\n }\n return vals;\n});\n","var _curry1 = require('./internal/_curry1');\n\n\n/**\n * Returns a list of all the properties, including prototype properties, of the\n * supplied object.\n * Note that the order of the output array is not guaranteed to be consistent\n * across different JS platforms.\n *\n * @func\n * @memberOf R\n * @since v0.2.0\n * @category Object\n * @sig {k: v} -> [v]\n * @param {Object} obj The object to extract values from\n * @return {Array} An array of the values of the object's own and prototype properties.\n * @example\n *\n * var F = function() { this.x = 'X'; };\n * F.prototype.y = 'Y';\n * var f = new F();\n * R.valuesIn(f); //=> ['X', 'Y']\n */\nmodule.exports = _curry1(function valuesIn(obj) {\n var prop;\n var vs = [];\n for (prop in obj) {\n vs[vs.length] = obj[prop];\n }\n return vs;\n});\n","var _curry2 = require('./internal/_curry2');\n\n\n/**\n * Returns a \"view\" of the given data structure, determined by the given lens.\n * The lens's focus determines which portion of the data structure is visible.\n *\n * @func\n * @memberOf R\n * @since v0.16.0\n * @category Object\n * @typedefn Lens s a = Functor f => (a -> f a) -> s -> f s\n * @sig Lens s a -> s -> a\n * @param {Lens} lens\n * @param {*} x\n * @return {*}\n * @see R.prop, R.lensIndex, R.lensProp\n * @example\n *\n * var xLens = R.lensProp('x');\n *\n * R.view(xLens, {x: 1, y: 2}); //=> 1\n * R.view(xLens, {x: 4, y: 2}); //=> 4\n */\nmodule.exports = (function() {\n // `Const` is a functor that effectively ignores the function given to `map`.\n var Const = function(x) {\n return {value: x, map: function() { return this; }};\n };\n\n return _curry2(function view(lens, x) {\n // Using `Const` effectively ignores the setter function of the `lens`,\n // leaving the value returned by the getter function unmodified.\n return lens(Const)(x).value;\n });\n}());\n","var _curry3 = require('./internal/_curry3');\n\n\n/**\n * Tests the final argument by passing it to the given predicate function. If\n * the predicate is satisfied, the function will return the result of calling\n * the `whenTrueFn` function with the same argument. If the predicate is not\n * satisfied, the argument is returned as is.\n *\n * @func\n * @memberOf R\n * @since v0.18.0\n * @category Logic\n * @sig (a -> Boolean) -> (a -> a) -> a -> a\n * @param {Function} pred A predicate function\n * @param {Function} whenTrueFn A function to invoke when the `condition`\n * evaluates to a truthy value.\n * @param {*} x An object to test with the `pred` function and\n * pass to `whenTrueFn` if necessary.\n * @return {*} Either `x` or the result of applying `x` to `whenTrueFn`.\n * @see R.ifElse, R.unless\n * @example\n *\n * // truncate :: String -> String\n * var truncate = R.when(\n * R.propSatisfies(R.gt(R.__, 10), 'length'),\n * R.pipe(R.take(10), R.append('…'), R.join(''))\n * );\n * truncate('12345'); //=> '12345'\n * truncate('0123456789ABC'); //=> '0123456789…'\n */\nmodule.exports = _curry3(function when(pred, whenTrueFn, x) {\n return pred(x) ? whenTrueFn(x) : x;\n});\n","var _curry2 = require('./internal/_curry2');\nvar _has = require('./internal/_has');\n\n\n/**\n * Takes a spec object and a test object; returns true if the test satisfies\n * the spec. Each of the spec's own properties must be a predicate function.\n * Each predicate is applied to the value of the corresponding property of the\n * test object. `where` returns true if all the predicates return true, false\n * otherwise.\n *\n * `where` is well suited to declaratively expressing constraints for other\n * functions such as `filter` and `find`.\n *\n * @func\n * @memberOf R\n * @since v0.1.1\n * @category Object\n * @sig {String: (* -> Boolean)} -> {String: *} -> Boolean\n * @param {Object} spec\n * @param {Object} testObj\n * @return {Boolean}\n * @example\n *\n * // pred :: Object -> Boolean\n * var pred = R.where({\n * a: R.equals('foo'),\n * b: R.complement(R.equals('bar')),\n * x: R.gt(__, 10),\n * y: R.lt(__, 20)\n * });\n *\n * pred({a: 'foo', b: 'xxx', x: 11, y: 19}); //=> true\n * pred({a: 'xxx', b: 'xxx', x: 11, y: 19}); //=> false\n * pred({a: 'foo', b: 'bar', x: 11, y: 19}); //=> false\n * pred({a: 'foo', b: 'xxx', x: 10, y: 19}); //=> false\n * pred({a: 'foo', b: 'xxx', x: 11, y: 20}); //=> false\n */\nmodule.exports = _curry2(function where(spec, testObj) {\n for (var prop in spec) {\n if (_has(prop, spec) && !spec[prop](testObj[prop])) {\n return false;\n }\n }\n return true;\n});\n","var _curry2 = require('./internal/_curry2');\nvar equals = require('./equals');\nvar map = require('./map');\nvar where = require('./where');\n\n\n/**\n * Takes a spec object and a test object; returns true if the test satisfies\n * the spec, false otherwise. An object satisfies the spec if, for each of the\n * spec's own properties, accessing that property of the object gives the same\n * value (in `R.equals` terms) as accessing that property of the spec.\n *\n * `whereEq` is a specialization of [`where`](#where).\n *\n * @func\n * @memberOf R\n * @since v0.14.0\n * @category Object\n * @sig {String: *} -> {String: *} -> Boolean\n * @param {Object} spec\n * @param {Object} testObj\n * @return {Boolean}\n * @see R.where\n * @example\n *\n * // pred :: Object -> Boolean\n * var pred = R.whereEq({a: 1, b: 2});\n *\n * pred({a: 1}); //=> false\n * pred({a: 1, b: 2}); //=> true\n * pred({a: 1, b: 2, c: 3}); //=> true\n * pred({a: 1, b: 1}); //=> false\n */\nmodule.exports = _curry2(function whereEq(spec, testObj) {\n return where(map(equals, spec), testObj);\n});\n","var _contains = require('./internal/_contains');\nvar _curry2 = require('./internal/_curry2');\nvar flip = require('./flip');\nvar reject = require('./reject');\n\n\n/**\n * Returns a new list without values in the first argument.\n * `R.equals` is used to determine equality.\n *\n * Acts as a transducer if a transformer is given in list position.\n *\n * @func\n * @memberOf R\n * @since v0.19.0\n * @category List\n * @sig [a] -> [a] -> [a]\n * @param {Array} list1 The values to be removed from `list2`.\n * @param {Array} list2 The array to remove values from.\n * @return {Array} The new array without values in `list1`.\n * @see R.transduce\n * @example\n *\n * R.without([1, 2], [1, 2, 1, 3, 4]); //=> [3, 4]\n */\nmodule.exports = _curry2(function(xs, list) {\n return reject(flip(_contains)(xs), list);\n});\n","var _curry2 = require('./internal/_curry2');\n\n\n/**\n * Creates a new list out of the two supplied by creating each possible pair\n * from the lists.\n *\n * @func\n * @memberOf R\n * @since v0.1.0\n * @category List\n * @sig [a] -> [b] -> [[a,b]]\n * @param {Array} as The first list.\n * @param {Array} bs The second list.\n * @return {Array} The list made by combining each possible pair from\n * `as` and `bs` into pairs (`[a, b]`).\n * @example\n *\n * R.xprod([1, 2], ['a', 'b']); //=> [[1, 'a'], [1, 'b'], [2, 'a'], [2, 'b']]\n * @symb R.xprod([a, b], [c, d]) = [[a, c], [a, d], [b, c], [b, d]]\n */\nmodule.exports = _curry2(function xprod(a, b) { // = xprodWith(prepend); (takes about 3 times as long...)\n var idx = 0;\n var ilen = a.length;\n var j;\n var jlen = b.length;\n var result = [];\n while (idx < ilen) {\n j = 0;\n while (j < jlen) {\n result[result.length] = [a[idx], b[j]];\n j += 1;\n }\n idx += 1;\n }\n return result;\n});\n","var _curry2 = require('./internal/_curry2');\n\n\n/**\n * Creates a new list out of the two supplied by pairing up equally-positioned\n * items from both lists. The returned list is truncated to the length of the\n * shorter of the two input lists.\n * Note: `zip` is equivalent to `zipWith(function(a, b) { return [a, b] })`.\n *\n * @func\n * @memberOf R\n * @since v0.1.0\n * @category List\n * @sig [a] -> [b] -> [[a,b]]\n * @param {Array} list1 The first array to consider.\n * @param {Array} list2 The second array to consider.\n * @return {Array} The list made by pairing up same-indexed elements of `list1` and `list2`.\n * @example\n *\n * R.zip([1, 2, 3], ['a', 'b', 'c']); //=> [[1, 'a'], [2, 'b'], [3, 'c']]\n * @symb R.zip([a, b, c], [d, e, f]) = [[a, d], [b, e], [c, f]]\n */\nmodule.exports = _curry2(function zip(a, b) {\n var rv = [];\n var idx = 0;\n var len = Math.min(a.length, b.length);\n while (idx < len) {\n rv[idx] = [a[idx], b[idx]];\n idx += 1;\n }\n return rv;\n});\n","var _curry2 = require('./internal/_curry2');\n\n\n/**\n * Creates a new object out of a list of keys and a list of values.\n * Key/value pairing is truncated to the length of the shorter of the two lists.\n * Note: `zipObj` is equivalent to `pipe(zipWith(pair), fromPairs)`.\n *\n * @func\n * @memberOf R\n * @since v0.3.0\n * @category List\n * @sig [String] -> [*] -> {String: *}\n * @param {Array} keys The array that will be properties on the output object.\n * @param {Array} values The list of values on the output object.\n * @return {Object} The object made by pairing up same-indexed elements of `keys` and `values`.\n * @example\n *\n * R.zipObj(['a', 'b', 'c'], [1, 2, 3]); //=> {a: 1, b: 2, c: 3}\n */\nmodule.exports = _curry2(function zipObj(keys, values) {\n var idx = 0;\n var len = Math.min(keys.length, values.length);\n var out = {};\n while (idx < len) {\n out[keys[idx]] = values[idx];\n idx += 1;\n }\n return out;\n});\n","var _curry3 = require('./internal/_curry3');\n\n\n/**\n * Creates a new list out of the two supplied by applying the function to each\n * equally-positioned pair in the lists. The returned list is truncated to the\n * length of the shorter of the two input lists.\n *\n * @function\n * @memberOf R\n * @since v0.1.0\n * @category List\n * @sig (a,b -> c) -> [a] -> [b] -> [c]\n * @param {Function} fn The function used to combine the two elements into one value.\n * @param {Array} list1 The first array to consider.\n * @param {Array} list2 The second array to consider.\n * @return {Array} The list made by combining same-indexed elements of `list1` and `list2`\n * using `fn`.\n * @example\n *\n * var f = (x, y) => {\n * // ...\n * };\n * R.zipWith(f, [1, 2, 3], ['a', 'b', 'c']);\n * //=> [f(1, 'a'), f(2, 'b'), f(3, 'c')]\n * @symb R.zipWith(fn, [a, b, c], [d, e, f]) = [fn(a, d), fn(b, e), fn(c, f)]\n */\nmodule.exports = _curry3(function zipWith(fn, a, b) {\n var rv = [];\n var idx = 0;\n var len = Math.min(a.length, b.length);\n while (idx < len) {\n rv[idx] = fn(a[idx], b[idx]);\n idx += 1;\n }\n return rv;\n});\n","'use strict';\n\nfunction _interopDefault (ex) { return (ex && (typeof ex === 'object') && 'default' in ex) ? ex['default'] : ex; }\n\nvar R = _interopDefault(require('ramda'));\n\n/**\n * Prints the parameter to console.log.\n *\n * Useful when placed inside pipe or compose to inspect\n * the value as it passes on through.\n *\n * @since v1.0.0\n * @sig * -> *\n * @param {*} the value to log\n * @return {*} the same value passed in\n * @example\n * R.pipe(\n * R.concat('!!')\n * RS.log, // <-- prints 'HI!!' to your console\n * R.toLower\n * )('HI') //=> 'hi!!'\n */\nvar log = (function (x) {\n console.log(x);\n return x;\n});\n\n/**\n * Prints a message to console.log but returns the value\n * given to it.\n *\n * Useful when placed inside pipe or compose to show\n * a trace message like \"OMG I AM HERE\" but you don't\n * care about the value flowing through.\n *\n * This function is curried.\n *\n * @since v1.0.0\n * @sig String A -> * -> *\n * @param {String} the message to display in the console\n * @param {*} the value to pass back\n * @return {*} the 2nd value gets returned\n * @example\n * R.pipe(\n * RS.trace('here'), // <-- print 'here' to the console\n * R.toLower\n * )('HI') //=> 'hi'\n */\nvar trace = R.curry(function (message, x) {\n console.log(message);\n return x;\n});\n\n/**\n * Converts the parameter to a number.\n *\n * Number, null, and undefined will return themselves,\n * but everything else will be convert to a Number, or\n * die trying.\n *\n * @since v1.0.0\n * @param {String} the String to convert\n * @return {Number} the Number version\n * @example\n * RS.toNumber('7') //=> 7\n */\nvar toNumber = R.cond([[R.isNil, R.identity], [R.is(Number), R.identity], [R.T, function (x) {\n return Number(x);\n}]]);\n\n/**\n * Converts the parameter to a Date object.\n *\n * @since v1.0.0\n * @param {Number} number - The number to convert\n * @return {Object} The Date object\n * @example\n * RS.toDate(0) //=> The 0 as a Date object\n */\n// converts something to a Date\nvar toDate = function toDate(number) {\n return R.cond([[R.isNil, R.identity], [R.is(Object), R.identity], [R.T, function (x) {\n return new Date(x);\n }]])(number);\n};\n\n/**\n * Given a min and max, determines if the value is included\n * in the range.\n *\n * This function is curried.\n *\n * @since v1.0.0\n * @sig Number a -> a -> a -> a\n * @param {Number} the minimum number\n * @param {Number} the maximum number\n * @param {Number} the value to test\n * @return {Boolean} is the value in the range?\n * @example\n * RS.isWithin(1, 5, 3) //=> true\n * RS.isWithin(1, 5, 1) //=> true\n * RS.isWithin(1, 5, 5) //=> true\n * RS.isWithin(1, 5, 5.1) //=> false\n */\nvar isWithin = R.curry(function (min, max, value) {\n var isNumber = R.is(Number);\n return isNumber(min) && isNumber(max) && isNumber(value) && R.gte(value, min) && R.gte(max, value);\n});\n\n/**\n * Given a min and max, determines if the value is not\n * included in the range.\n *\n * This function is curried.\n *\n * @since v1.0.0\n * @sig Number a -> a -> a -> a\n * @param {Number} the minimum number\n * @param {Number} the maximum number\n * @param {Number} the value to test\n * @return {Boolean} True if the value is not included; otherwise false.\n * @example\n * RS.isNotWithin(1, 5, 3) //=> false\n * RS.isNotWithin(1, 5, 1) //=> false\n * RS.isNotWithin(1, 5, 5) //=> false\n * RS.isNotWithin(1, 5, 5.1) //=> true\n */\n// export default R.curry((min, max, value) => R.complement(isWithin(min, max, value)))\nvar isNotWithin = R.complement(isWithin);\n\n/**\n * Compares two objects to see if their length\n * properties are the same.\n *\n * @since v1.0.0\n * @param {x} (String|Array|Object) The first thing to compare.\n * @param {y} (String|Array|Object) The 2nd thing to compare.\n * @return {Bool} Wether the objects have the same length.\n * @example\n * RS.eqLength([], []) //=> true\n * RS.eqLength({length: 2}, 'ab') //=> true\n */\nvar eqLength = R.eqProps('length');\n\n/**\n * Generates a random number within the min and max range.\n *\n * @since v1.0.0\n * @param {min} (Number) Minimum number to include.\n * @param {max} (Number) Maximum number to include.\n * @return {Number} The random number.\n * @example\n * RS.random(1, 2) //=> sometimes 1, sometimes 2\n */\nvar random = function random(min, max) {\n return Math.floor(Math.random() * (max - min + 1)) + min;\n};\n\n/**\n * Given a array, grabs 1 random item out.\n *\n * @since v1.0.0\n * @return {*} A random item in the list.\n * @example\n * RS.sample([8,6,7,5,3,0,9]) //=> Maybe 6? Maybe 9? Feel lucky?\n */\nvar sample = function sample(list) {\n if (R.isNil(list) || R.isEmpty(list)) {\n return null;\n }\n var min = 0;\n var max = list.length - 1;\n return list[random(min, max)];\n};\n\n/**\n * Checks if something is null, undefined or R.isEmpty\n *\n * @since v1.0.0\n * @param {*} (*) The thing to check.\n * @return {Boolean} True if it is null or empty; false otherwise.\n * @example\n * RS.isNilOrEmpty() //=> true\n */\nvar isNilOrEmpty = R.anyPass([R.isNil, R.isEmpty]);\n\n/**\n * Checks if something is not null or undefined.\n *\n * @since v1.0.0\n * @param {*} (*) The thing to check.\n * @return {Boolean} True if it is not nil; false otherwise.\n * @example\n * RS.isNotNil(null) //=> false\n */\nvar isNotNil = R.complement(R.isNil);\n\n/**\n * Checks if something is undefined.\n *\n * @since v1.0.0\n * @param {*} (*) The thing to check.\n * @return {Boolean} True if it is undefined; false otherwise.\n * @example\n * RS.isUndefined(asdf) //=> false\n */\nvar isUndefined = function isUndefined(x) {\n return typeof x === 'undefined';\n};\n\n/**\n * Transforms the keys of an object with a function.\n *\n * @since v1.0.0\n * @param {fn} (Function) The function to apply to the keys.\n * @param {obj} (Object) The object to operate on.\n * @return {Object} A new and improved object with SUPER KEYS!!!\n * @example\n * RS.mapKeys(R.toUpper, {a: 1}) //=> {A: 1}\n */\nvar mapKeys = R.curry(function (fn, obj) {\n return R.pipe(R.toPairs, R.map(R.adjust(fn, 0)), R.fromPairs)(obj);\n});\n\n/**\n * Generates a range of numbers.\n *\n * This function is curried.\n *\n * @since v1.0.0\n * @sig Number a -> a -> a -> [a]\n * @param {Number} (step) How much to step by.\n * @param {Number} (start) Where to start.\n * @param {Number} (stop) When to stop.\n * @return {Array} The array of numbers\n * @example\n * RS.rangeStep(2, 2, 10) //=> [2, 4, 6, 8, 10]\n */\nvar rangeStep = R.curry(function (step, start, stop) {\n if (step === 0) return null;\n if (step > 0 && stop < start) return null;\n if (step < 0 && stop > start) return null;\n return R.map(function (n) {\n return start + step * n;\n }, R.range(0, 1 + (stop - start) / step >>> 0));\n});\n\n/**\n * Fishes out a deep property from an object by\n * a string path.\n *\n * @since v1.0.0\n * @param {stringPath} (String) A path with dots in them.\n * @param {y} (Object) The 2nd thing to compare.\n * @return {*} The value found at the path; otherwise undefined\n * @example\n * const obj = {a: {b: {c: [1,2,3]}}}\n * RS.dotPath('a.b.c.1', obj) //=> 2\n */\nvar dotPath = R.curry(function (stringPath, obj) {\n var path = R.split('.', stringPath);\n return R.path(path, obj);\n});\n\n/**\n * Determines if a string starts with another string.\n *\n * @since v1.0.0\n * @param {startWith} (String) The starting string.\n * @param {source} (String) The string to test.\n * @return {Bool} True if the source starts with the first parameter; false otherwise.\n * @example\n * RS.startsWith('h', 'hello') //=> true\n */\nvar startsWith = R.curry(function (subString, fullString) {\n return R.equals(subString, R.take(R.length(subString), fullString));\n});\n\n/**\n * Determines if a string ends with another string.\n *\n * @since v1.0.0\n * @param {endsWith} (String) The ending string.\n * @param {source} (String) The string to test.\n * @return {Bool} True if the source ends with the first parameter; false otherwise.\n * @example\n * RS.endsWith('o', 'hello') //=> true\n */\nvar endsWith = R.curry(function (subString, fullString) {\n return R.equals(subString, R.takeLast(R.length(subString), fullString));\n});\n\n/**\n * Finds an object in an array by the given property and value.\n *\n * @since v1.0.1\n * @param {prop} (String) The prop to search by.\n * @param {value} (String) The string to search for.\n * @param {source} (Array) The array to search in.\n * @return {Object} The object that matches the search or null if not found.\n * @example\n * RS.findByProp('id', 'a', [{id: 'a', id: 'b'}]) //=> {id: 'a'}\n */\nvar findByProp = R.curry(function (prop, value, source) {\n return R.find(R.propEq(prop, value))(source);\n});\n\n/**\n * Finds the index of an object in an array by the given property and value.\n *\n * @since v1.0.1\n * @param {prop} (String) The prop to search by.\n * @param {value} (String) The string to search for.\n * @param {source} (Array) The array to search in.\n * @return {Integer} The index of the object that matches the search or -1 if not found.\n * @example\n * RS.findIndexByProp('id', 'a', [{id: 'a', id: 'b'}]) //=> 0\n */\nvar findIndexByProp = R.curry(function (prop, value, source) {\n return R.findIndex(R.propEq(prop, value))(source);\n});\n\nvar Ramdasauce = {\n log: log,\n trace: trace,\n toNumber: toNumber,\n toDate: toDate,\n isWithin: isWithin,\n isNotWithin: isNotWithin,\n eqLength: eqLength,\n random: random,\n sample: sample,\n isNilOrEmpty: isNilOrEmpty,\n isNotNil: isNotNil,\n isUndefined: isUndefined,\n mapKeys: mapKeys,\n rangeStep: rangeStep,\n dotPath: dotPath,\n startsWith: startsWith,\n endsWith: endsWith,\n findByProp: findByProp,\n findIndexByProp: findIndexByProp\n};\n\nmodule.exports = Ramdasauce;\n\n// DANGER ---\n// but, provide a polluted version of ramda for convenience\n// export const R = Ramda.merge(Ramdasauce, Ramda)\n\nmodule.exports = Ramdasauce;\n","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nvar registered = exports.registered = [];\n\nvar register = exports.register = function register(fn) {\n if (registered.indexOf(fn) < 0) {\n registered.push(fn);\n }\n};\n\nvar unregister = exports.unregister = function unregister(fn) {\n var index = registered.indexOf(fn);\n if (index > -1) {\n registered.splice(index, 1);\n }\n};\n\nexports.default = function () {\n return function (next) {\n return function (action) {\n registered.forEach(function (cb) {\n if (typeof cb === 'function') {\n cb(action);\n }\n });\n\n return next(action);\n };\n };\n};","/** @license React v16.13.1\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/*\n Modernizr 3.0.0pre (Custom Build) | MIT\n*/\n'use strict';var aa=require(\"react\"),n=require(\"object-assign\"),r=require(\"scheduler\");function u(a){for(var b=\"https://reactjs.org/docs/error-decoder.html?invariant=\"+a,c=1;cb}return!1}function v(a,b,c,d,e,f){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}var C={};\n\"children dangerouslySetInnerHTML defaultValue defaultChecked innerHTML suppressContentEditableWarning suppressHydrationWarning style\".split(\" \").forEach(function(a){C[a]=new v(a,0,!1,a,null,!1)});[[\"acceptCharset\",\"accept-charset\"],[\"className\",\"class\"],[\"htmlFor\",\"for\"],[\"httpEquiv\",\"http-equiv\"]].forEach(function(a){var b=a[0];C[b]=new v(b,1,!1,a[1],null,!1)});[\"contentEditable\",\"draggable\",\"spellCheck\",\"value\"].forEach(function(a){C[a]=new v(a,2,!1,a.toLowerCase(),null,!1)});\n[\"autoReverse\",\"externalResourcesRequired\",\"focusable\",\"preserveAlpha\"].forEach(function(a){C[a]=new v(a,2,!1,a,null,!1)});\"allowFullScreen async autoFocus autoPlay controls default defer disabled disablePictureInPicture formNoValidate hidden loop noModule noValidate open playsInline readOnly required reversed scoped seamless itemScope\".split(\" \").forEach(function(a){C[a]=new v(a,3,!1,a.toLowerCase(),null,!1)});\n[\"checked\",\"multiple\",\"muted\",\"selected\"].forEach(function(a){C[a]=new v(a,3,!0,a,null,!1)});[\"capture\",\"download\"].forEach(function(a){C[a]=new v(a,4,!1,a,null,!1)});[\"cols\",\"rows\",\"size\",\"span\"].forEach(function(a){C[a]=new v(a,6,!1,a,null,!1)});[\"rowSpan\",\"start\"].forEach(function(a){C[a]=new v(a,5,!1,a.toLowerCase(),null,!1)});var Ua=/[\\-:]([a-z])/g;function Va(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(Ua,\nVa);C[b]=new v(b,1,!1,a,null,!1)});\"xlink:actuate xlink:arcrole xlink:role xlink:show xlink:title xlink:type\".split(\" \").forEach(function(a){var b=a.replace(Ua,Va);C[b]=new v(b,1,!1,a,\"http://www.w3.org/1999/xlink\",!1)});[\"xml:base\",\"xml:lang\",\"xml:space\"].forEach(function(a){var b=a.replace(Ua,Va);C[b]=new v(b,1,!1,a,\"http://www.w3.org/XML/1998/namespace\",!1)});[\"tabIndex\",\"crossOrigin\"].forEach(function(a){C[a]=new v(a,1,!1,a.toLowerCase(),null,!1)});\nC.xlinkHref=new v(\"xlinkHref\",1,!1,\"xlink:href\",\"http://www.w3.org/1999/xlink\",!0);[\"src\",\"href\",\"action\",\"formAction\"].forEach(function(a){C[a]=new v(a,1,!1,a.toLowerCase(),null,!0)});var Wa=aa.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED;Wa.hasOwnProperty(\"ReactCurrentDispatcher\")||(Wa.ReactCurrentDispatcher={current:null});Wa.hasOwnProperty(\"ReactCurrentBatchConfig\")||(Wa.ReactCurrentBatchConfig={suspense:null});\nfunction Xa(a,b,c,d){var e=C.hasOwnProperty(b)?C[b]:null;var f=null!==e?0===e.type:d?!1:!(2=c.length))throw Error(u(93));c=c[0]}b=c}null==b&&(b=\"\");c=b}a._wrapperState={initialValue:rb(c)}}\nfunction Kb(a,b){var c=rb(b.value),d=rb(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 Lb(a){var b=a.textContent;b===a._wrapperState.initialValue&&\"\"!==b&&null!==b&&(a.value=b)}var Mb={html:\"http://www.w3.org/1999/xhtml\",mathml:\"http://www.w3.org/1998/Math/MathML\",svg:\"http://www.w3.org/2000/svg\"};\nfunction Nb(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\"}}function Ob(a,b){return null==a||\"http://www.w3.org/1999/xhtml\"===a?Nb(b):\"http://www.w3.org/2000/svg\"===a&&\"foreignObject\"===b?\"http://www.w3.org/1999/xhtml\":a}\nvar Pb,Qb=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(a.namespaceURI!==Mb.svg||\"innerHTML\"in a)a.innerHTML=b;else{Pb=Pb||document.createElement(\"div\");Pb.innerHTML=\"\"+b.valueOf().toString()+\"\";for(b=Pb.firstChild;a.firstChild;)a.removeChild(a.firstChild);for(;b.firstChild;)a.appendChild(b.firstChild)}});\nfunction Rb(a,b){if(b){var c=a.firstChild;if(c&&c===a.lastChild&&3===c.nodeType){c.nodeValue=b;return}}a.textContent=b}function Sb(a,b){var c={};c[a.toLowerCase()]=b.toLowerCase();c[\"Webkit\"+a]=\"webkit\"+b;c[\"Moz\"+a]=\"moz\"+b;return c}var Tb={animationend:Sb(\"Animation\",\"AnimationEnd\"),animationiteration:Sb(\"Animation\",\"AnimationIteration\"),animationstart:Sb(\"Animation\",\"AnimationStart\"),transitionend:Sb(\"Transition\",\"TransitionEnd\")},Ub={},Vb={};\nya&&(Vb=document.createElement(\"div\").style,\"AnimationEvent\"in window||(delete Tb.animationend.animation,delete Tb.animationiteration.animation,delete Tb.animationstart.animation),\"TransitionEvent\"in window||delete Tb.transitionend.transition);function Wb(a){if(Ub[a])return Ub[a];if(!Tb[a])return a;var b=Tb[a],c;for(c in b)if(b.hasOwnProperty(c)&&c in Vb)return Ub[a]=b[c];return a}\nvar Xb=Wb(\"animationend\"),Yb=Wb(\"animationiteration\"),Zb=Wb(\"animationstart\"),$b=Wb(\"transitionend\"),ac=\"abort canplay canplaythrough durationchange emptied encrypted ended error loadeddata loadedmetadata loadstart pause play playing progress ratechange seeked seeking stalled suspend timeupdate volumechange waiting\".split(\" \"),bc=new (\"function\"===typeof WeakMap?WeakMap:Map);function cc(a){var b=bc.get(a);void 0===b&&(b=new Map,bc.set(a,b));return b}\nfunction dc(a){var b=a,c=a;if(a.alternate)for(;b.return;)b=b.return;else{a=b;do b=a,0!==(b.effectTag&1026)&&(c=b.return),a=b.return;while(a)}return 3===b.tag?c:null}function ec(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 fc(a){if(dc(a)!==a)throw Error(u(188));}\nfunction gc(a){var b=a.alternate;if(!b){b=dc(a);if(null===b)throw Error(u(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 fc(e),a;if(f===d)return fc(e),b;f=f.sibling}throw Error(u(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(u(189));}}if(c.alternate!==d)throw Error(u(190));}if(3!==c.tag)throw Error(u(188));return c.stateNode.current===c?a:b}function hc(a){a=gc(a);if(!a)return null;for(var b=a;;){if(5===b.tag||6===b.tag)return b;if(b.child)b.child.return=b,b=b.child;else{if(b===a)break;for(;!b.sibling;){if(!b.return||b.return===a)return null;b=b.return}b.sibling.return=b.return;b=b.sibling}}return null}\nfunction ic(a,b){if(null==b)throw Error(u(30));if(null==a)return b;if(Array.isArray(a)){if(Array.isArray(b))return a.push.apply(a,b),a;a.push(b);return a}return Array.isArray(b)?[a].concat(b):[a,b]}function jc(a,b,c){Array.isArray(a)?a.forEach(b,c):a&&b.call(c,a)}var kc=null;\nfunction lc(a){if(a){var b=a._dispatchListeners,c=a._dispatchInstances;if(Array.isArray(b))for(var d=0;dpc.length&&pc.push(a)}\nfunction rc(a,b,c,d){if(pc.length){var e=pc.pop();e.topLevelType=a;e.eventSystemFlags=d;e.nativeEvent=b;e.targetInst=c;return e}return{topLevelType:a,eventSystemFlags:d,nativeEvent:b,targetInst:c,ancestors:[]}}\nfunction sc(a){var b=a.targetInst,c=b;do{if(!c){a.ancestors.push(c);break}var d=c;if(3===d.tag)d=d.stateNode.containerInfo;else{for(;d.return;)d=d.return;d=3!==d.tag?null:d.stateNode.containerInfo}if(!d)break;b=c.tag;5!==b&&6!==b||a.ancestors.push(c);c=tc(d)}while(c);for(c=0;c=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=ud(c)}}\nfunction wd(a,b){return a&&b?a===b?!0:a&&3===a.nodeType?!1:b&&3===b.nodeType?wd(a,b.parentNode):\"contains\"in a?a.contains(b):a.compareDocumentPosition?!!(a.compareDocumentPosition(b)&16):!1:!1}function xd(){for(var a=window,b=td();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=td(a.document)}return b}\nfunction yd(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)}var zd=\"$\",Ad=\"/$\",Bd=\"$?\",Cd=\"$!\",Dd=null,Ed=null;function Fd(a,b){switch(a){case \"button\":case \"input\":case \"select\":case \"textarea\":return!!b.autoFocus}return!1}\nfunction Gd(a,b){return\"textarea\"===a||\"option\"===a||\"noscript\"===a||\"string\"===typeof b.children||\"number\"===typeof b.children||\"object\"===typeof b.dangerouslySetInnerHTML&&null!==b.dangerouslySetInnerHTML&&null!=b.dangerouslySetInnerHTML.__html}var Hd=\"function\"===typeof setTimeout?setTimeout:void 0,Id=\"function\"===typeof clearTimeout?clearTimeout:void 0;function Jd(a){for(;null!=a;a=a.nextSibling){var b=a.nodeType;if(1===b||3===b)break}return a}\nfunction Kd(a){a=a.previousSibling;for(var b=0;a;){if(8===a.nodeType){var c=a.data;if(c===zd||c===Cd||c===Bd){if(0===b)return a;b--}else c===Ad&&b++}a=a.previousSibling}return null}var Ld=Math.random().toString(36).slice(2),Md=\"__reactInternalInstance$\"+Ld,Nd=\"__reactEventHandlers$\"+Ld,Od=\"__reactContainere$\"+Ld;\nfunction tc(a){var b=a[Md];if(b)return b;for(var c=a.parentNode;c;){if(b=c[Od]||c[Md]){c=b.alternate;if(null!==b.child||null!==c&&null!==c.child)for(a=Kd(a);null!==a;){if(c=a[Md])return c;a=Kd(a)}return b}a=c;c=a.parentNode}return null}function Nc(a){a=a[Md]||a[Od];return!a||5!==a.tag&&6!==a.tag&&13!==a.tag&&3!==a.tag?null:a}function Pd(a){if(5===a.tag||6===a.tag)return a.stateNode;throw Error(u(33));}function Qd(a){return a[Nd]||null}\nfunction Rd(a){do a=a.return;while(a&&5!==a.tag);return a?a:null}\nfunction Sd(a,b){var c=a.stateNode;if(!c)return null;var d=la(c);if(!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\"!==typeof c)throw Error(u(231,\nb,typeof c));return c}function Td(a,b,c){if(b=Sd(a,c.dispatchConfig.phasedRegistrationNames[b]))c._dispatchListeners=ic(c._dispatchListeners,b),c._dispatchInstances=ic(c._dispatchInstances,a)}function Ud(a){if(a&&a.dispatchConfig.phasedRegistrationNames){for(var b=a._targetInst,c=[];b;)c.push(b),b=Rd(b);for(b=c.length;0this.eventPool.length&&this.eventPool.push(a)}function de(a){a.eventPool=[];a.getPooled=ee;a.release=fe}var ge=G.extend({data:null}),he=G.extend({data:null}),ie=[9,13,27,32],je=ya&&\"CompositionEvent\"in window,ke=null;ya&&\"documentMode\"in document&&(ke=document.documentMode);\nvar le=ya&&\"TextEvent\"in window&&!ke,me=ya&&(!je||ke&&8=ke),ne=String.fromCharCode(32),oe={beforeInput:{phasedRegistrationNames:{bubbled:\"onBeforeInput\",captured:\"onBeforeInputCapture\"},dependencies:[\"compositionend\",\"keypress\",\"textInput\",\"paste\"]},compositionEnd:{phasedRegistrationNames:{bubbled:\"onCompositionEnd\",captured:\"onCompositionEndCapture\"},dependencies:\"blur compositionend keydown keypress keyup mousedown\".split(\" \")},compositionStart:{phasedRegistrationNames:{bubbled:\"onCompositionStart\",\ncaptured:\"onCompositionStartCapture\"},dependencies:\"blur compositionstart keydown keypress keyup mousedown\".split(\" \")},compositionUpdate:{phasedRegistrationNames:{bubbled:\"onCompositionUpdate\",captured:\"onCompositionUpdateCapture\"},dependencies:\"blur compositionupdate keydown keypress keyup mousedown\".split(\" \")}},pe=!1;\nfunction qe(a,b){switch(a){case \"keyup\":return-1!==ie.indexOf(b.keyCode);case \"keydown\":return 229!==b.keyCode;case \"keypress\":case \"mousedown\":case \"blur\":return!0;default:return!1}}function re(a){a=a.detail;return\"object\"===typeof a&&\"data\"in a?a.data:null}var se=!1;function te(a,b){switch(a){case \"compositionend\":return re(b);case \"keypress\":if(32!==b.which)return null;pe=!0;return ne;case \"textInput\":return a=b.data,a===ne&&pe?null:a;default:return null}}\nfunction ue(a,b){if(se)return\"compositionend\"===a||!je&&qe(a,b)?(a=ae(),$d=Zd=Yd=null,se=!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=document.documentMode,df={select:{phasedRegistrationNames:{bubbled:\"onSelect\",captured:\"onSelectCapture\"},dependencies:\"blur contextmenu dragend focus keydown keyup mousedown mouseup selectionchange\".split(\" \")}},ef=null,ff=null,gf=null,hf=!1;\nfunction jf(a,b){var c=b.window===b?b.document:9===b.nodeType?b:b.ownerDocument;if(hf||null==ef||ef!==td(c))return null;c=ef;\"selectionStart\"in c&&yd(c)?c={start:c.selectionStart,end:c.selectionEnd}:(c=(c.ownerDocument&&c.ownerDocument.defaultView||window).getSelection(),c={anchorNode:c.anchorNode,anchorOffset:c.anchorOffset,focusNode:c.focusNode,focusOffset:c.focusOffset});return gf&&bf(gf,c)?null:(gf=c,a=G.getPooled(df.select,ff,a,b),a.type=\"select\",a.target=ef,Xd(a),a)}\nvar kf={eventTypes:df,extractEvents:function(a,b,c,d,e,f){e=f||(d.window===d?d.document:9===d.nodeType?d:d.ownerDocument);if(!(f=!e)){a:{e=cc(e);f=wa.onSelect;for(var g=0;gzf||(a.current=yf[zf],yf[zf]=null,zf--)}\nfunction I(a,b){zf++;yf[zf]=a.current;a.current=b}var Af={},J={current:Af},K={current:!1},Bf=Af;function Cf(a,b){var c=a.type.contextTypes;if(!c)return Af;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}function L(a){a=a.childContextTypes;return null!==a&&void 0!==a}\nfunction Df(){H(K);H(J)}function Ef(a,b,c){if(J.current!==Af)throw Error(u(168));I(J,b);I(K,c)}function Ff(a,b,c){var d=a.stateNode;a=b.childContextTypes;if(\"function\"!==typeof d.getChildContext)return c;d=d.getChildContext();for(var e in d)if(!(e in a))throw Error(u(108,pb(b)||\"Unknown\",e));return n({},c,{},d)}function Gf(a){a=(a=a.stateNode)&&a.__reactInternalMemoizedMergedChildContext||Af;Bf=J.current;I(J,a);I(K,K.current);return!0}\nfunction Hf(a,b,c){var d=a.stateNode;if(!d)throw Error(u(169));c?(a=Ff(a,b,Bf),d.__reactInternalMemoizedMergedChildContext=a,H(K),H(J),I(J,a)):H(K);I(K,c)}\nvar If=r.unstable_runWithPriority,Jf=r.unstable_scheduleCallback,Kf=r.unstable_cancelCallback,Lf=r.unstable_requestPaint,Mf=r.unstable_now,Nf=r.unstable_getCurrentPriorityLevel,Of=r.unstable_ImmediatePriority,Pf=r.unstable_UserBlockingPriority,Qf=r.unstable_NormalPriority,Rf=r.unstable_LowPriority,Sf=r.unstable_IdlePriority,Tf={},Uf=r.unstable_shouldYield,Vf=void 0!==Lf?Lf:function(){},Wf=null,Xf=null,Yf=!1,Zf=Mf(),$f=1E4>Zf?Mf:function(){return Mf()-Zf};\nfunction ag(){switch(Nf()){case Of:return 99;case Pf:return 98;case Qf:return 97;case Rf:return 96;case Sf:return 95;default:throw Error(u(332));}}function bg(a){switch(a){case 99:return Of;case 98:return Pf;case 97:return Qf;case 96:return Rf;case 95:return Sf;default:throw Error(u(332));}}function cg(a,b){a=bg(a);return If(a,b)}function dg(a,b,c){a=bg(a);return Jf(a,b,c)}function eg(a){null===Wf?(Wf=[a],Xf=Jf(Of,fg)):Wf.push(a);return Tf}function gg(){if(null!==Xf){var a=Xf;Xf=null;Kf(a)}fg()}\nfunction fg(){if(!Yf&&null!==Wf){Yf=!0;var a=0;try{var b=Wf;cg(99,function(){for(;a=b&&(rg=!0),a.firstContext=null)}\nfunction sg(a,b){if(mg!==a&&!1!==b&&0!==b){if(\"number\"!==typeof b||1073741823===b)mg=a,b=1073741823;b={context:a,observedBits:b,next:null};if(null===lg){if(null===kg)throw Error(u(308));lg=b;kg.dependencies={expirationTime:0,firstContext:b,responders:null}}else lg=lg.next=b}return a._currentValue}var tg=!1;function ug(a){a.updateQueue={baseState:a.memoizedState,baseQueue:null,shared:{pending:null},effects:null}}\nfunction vg(a,b){a=a.updateQueue;b.updateQueue===a&&(b.updateQueue={baseState:a.baseState,baseQueue:a.baseQueue,shared:a.shared,effects:a.effects})}function wg(a,b){a={expirationTime:a,suspenseConfig:b,tag:0,payload:null,callback:null,next:null};return a.next=a}function xg(a,b){a=a.updateQueue;if(null!==a){a=a.shared;var c=a.pending;null===c?b.next=b:(b.next=c.next,c.next=b);a.pending=b}}\nfunction yg(a,b){var c=a.alternate;null!==c&&vg(c,a);a=a.updateQueue;c=a.baseQueue;null===c?(a.baseQueue=b.next=b,b.next=b):(b.next=c.next,c.next=b)}\nfunction zg(a,b,c,d){var e=a.updateQueue;tg=!1;var f=e.baseQueue,g=e.shared.pending;if(null!==g){if(null!==f){var h=f.next;f.next=g.next;g.next=h}f=g;e.shared.pending=null;h=a.alternate;null!==h&&(h=h.updateQueue,null!==h&&(h.baseQueue=g))}if(null!==f){h=f.next;var k=e.baseState,l=0,m=null,p=null,x=null;if(null!==h){var z=h;do{g=z.expirationTime;if(gl&&(l=g)}else{null!==x&&(x=x.next={expirationTime:1073741823,suspenseConfig:z.suspenseConfig,tag:z.tag,payload:z.payload,callback:z.callback,next:null});Ag(g,z.suspenseConfig);a:{var D=a,t=z;g=b;ca=c;switch(t.tag){case 1:D=t.payload;if(\"function\"===typeof D){k=D.call(ca,k,g);break a}k=D;break a;case 3:D.effectTag=D.effectTag&-4097|64;case 0:D=t.payload;g=\"function\"===typeof D?D.call(ca,k,g):D;if(null===g||void 0===g)break a;k=n({},k,g);break a;case 2:tg=!0}}null!==z.callback&&\n(a.effectTag|=32,g=e.effects,null===g?e.effects=[z]:g.push(z))}z=z.next;if(null===z||z===h)if(g=e.shared.pending,null===g)break;else z=f.next=g.next,g.next=h,e.baseQueue=f=g,e.shared.pending=null}while(1)}null===x?m=k:x.next=p;e.baseState=m;e.baseQueue=x;Bg(l);a.expirationTime=l;a.memoizedState=k}}\nfunction Cg(a,b,c){a=b.effects;b.effects=null;if(null!==a)for(b=0;by?(A=m,m=null):A=m.sibling;var q=x(e,m,h[y],k);if(null===q){null===m&&(m=A);break}a&&\nm&&null===q.alternate&&b(e,m);g=f(q,g,y);null===t?l=q:t.sibling=q;t=q;m=A}if(y===h.length)return c(e,m),l;if(null===m){for(;yy?(A=t,t=null):A=t.sibling;var D=x(e,t,q.value,l);if(null===D){null===t&&(t=A);break}a&&t&&null===D.alternate&&b(e,t);g=f(D,g,y);null===m?k=D:m.sibling=D;m=D;t=A}if(q.done)return c(e,t),k;if(null===t){for(;!q.done;y++,q=h.next())q=p(e,q.value,l),null!==q&&(g=f(q,g,y),null===m?k=q:m.sibling=q,m=q);return k}for(t=d(e,t);!q.done;y++,q=h.next())q=z(t,e,y,q.value,l),null!==q&&(a&&null!==\nq.alternate&&t.delete(null===q.key?y:q.key),g=f(q,g,y),null===m?k=q:m.sibling=q,m=q);a&&t.forEach(function(a){return b(e,a)});return k}return function(a,d,f,h){var k=\"object\"===typeof f&&null!==f&&f.type===ab&&null===f.key;k&&(f=f.props.children);var l=\"object\"===typeof f&&null!==f;if(l)switch(f.$$typeof){case Za:a:{l=f.key;for(k=d;null!==k;){if(k.key===l){switch(k.tag){case 7:if(f.type===ab){c(a,k.sibling);d=e(k,f.props.children);d.return=a;a=d;break a}break;default:if(k.elementType===f.type){c(a,\nk.sibling);d=e(k,f.props);d.ref=Pg(a,k,f);d.return=a;a=d;break a}}c(a,k);break}else b(a,k);k=k.sibling}f.type===ab?(d=Wg(f.props.children,a.mode,h,f.key),d.return=a,a=d):(h=Ug(f.type,f.key,f.props,null,a.mode,h),h.ref=Pg(a,d,f),h.return=a,a=h)}return g(a);case $a:a:{for(k=f.key;null!==d;){if(d.key===k)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=\nd.sibling}d=Vg(f,a.mode,h);d.return=a;a=d}return g(a)}if(\"string\"===typeof f||\"number\"===typeof f)return f=\"\"+f,null!==d&&6===d.tag?(c(a,d.sibling),d=e(d,f),d.return=a,a=d):(c(a,d),d=Tg(f,a.mode,h),d.return=a,a=d),g(a);if(Og(f))return ca(a,d,f,h);if(nb(f))return D(a,d,f,h);l&&Qg(a,f);if(\"undefined\"===typeof f&&!k)switch(a.tag){case 1:case 0:throw a=a.type,Error(u(152,a.displayName||a.name||\"Component\"));}return c(a,d)}}var Xg=Rg(!0),Yg=Rg(!1),Zg={},$g={current:Zg},ah={current:Zg},bh={current:Zg};\nfunction ch(a){if(a===Zg)throw Error(u(174));return a}function dh(a,b){I(bh,b);I(ah,a);I($g,Zg);a=b.nodeType;switch(a){case 9:case 11:b=(b=b.documentElement)?b.namespaceURI:Ob(null,\"\");break;default:a=8===a?b.parentNode:b,b=a.namespaceURI||null,a=a.tagName,b=Ob(b,a)}H($g);I($g,b)}function eh(){H($g);H(ah);H(bh)}function fh(a){ch(bh.current);var b=ch($g.current);var c=Ob(b,a.type);b!==c&&(I(ah,a),I($g,c))}function gh(a){ah.current===a&&(H($g),H(ah))}var M={current:0};\nfunction hh(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===Bd||c.data===Cd))return b}else if(19===b.tag&&void 0!==b.memoizedProps.revealOrder){if(0!==(b.effectTag&64))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}function ih(a,b){return{responder:a,props:b}}\nvar jh=Wa.ReactCurrentDispatcher,kh=Wa.ReactCurrentBatchConfig,lh=0,N=null,O=null,P=null,mh=!1;function Q(){throw Error(u(321));}function nh(a,b){if(null===b)return!1;for(var c=0;cf))throw Error(u(301));f+=1;P=O=null;b.updateQueue=null;jh.current=rh;a=c(d,e)}while(b.expirationTime===lh)}jh.current=sh;b=null!==O&&null!==O.next;lh=0;P=O=N=null;mh=!1;if(b)throw Error(u(300));return a}\nfunction th(){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 uh(){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(u(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 vh(a,b){return\"function\"===typeof b?b(a):b}\nfunction wh(a){var b=uh(),c=b.queue;if(null===c)throw Error(u(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){e=e.next;d=d.baseState;var h=g=f=null,k=e;do{var l=k.expirationTime;if(lN.expirationTime&&\n(N.expirationTime=l,Bg(l))}else null!==h&&(h=h.next={expirationTime:1073741823,suspenseConfig:k.suspenseConfig,action:k.action,eagerReducer:k.eagerReducer,eagerState:k.eagerState,next:null}),Ag(l,k.suspenseConfig),d=k.eagerReducer===a?k.eagerState:a(d,k.action);k=k.next}while(null!==k&&k!==e);null===h?f=d:h.next=g;$e(d,b.memoizedState)||(rg=!0);b.memoizedState=d;b.baseState=f;b.baseQueue=h;c.lastRenderedState=d}return[b.memoizedState,c.dispatch]}\nfunction xh(a){var b=uh(),c=b.queue;if(null===c)throw Error(u(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);$e(f,b.memoizedState)||(rg=!0);b.memoizedState=f;null===b.baseQueue&&(b.baseState=f);c.lastRenderedState=f}return[f,d]}\nfunction yh(a){var b=th();\"function\"===typeof a&&(a=a());b.memoizedState=b.baseState=a;a=b.queue={pending:null,dispatch:null,lastRenderedReducer:vh,lastRenderedState:a};a=a.dispatch=zh.bind(null,N,a);return[b.memoizedState,a]}function Ah(a,b,c,d){a={tag:a,create:b,destroy:c,deps:d,next:null};b=N.updateQueue;null===b?(b={lastEffect: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}\nfunction Bh(){return uh().memoizedState}function Ch(a,b,c,d){var e=th();N.effectTag|=a;e.memoizedState=Ah(1|b,c,void 0,void 0===d?null:d)}function Dh(a,b,c,d){var e=uh();d=void 0===d?null:d;var f=void 0;if(null!==O){var g=O.memoizedState;f=g.destroy;if(null!==d&&nh(d,g.deps)){Ah(b,c,f,d);return}}N.effectTag|=a;e.memoizedState=Ah(1|b,c,f,d)}function Eh(a,b){return Ch(516,4,a,b)}function Fh(a,b){return Dh(516,4,a,b)}function Gh(a,b){return Dh(4,2,a,b)}\nfunction Hh(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 Ih(a,b,c){c=null!==c&&void 0!==c?c.concat([a]):null;return Dh(4,2,Hh.bind(null,b,a),c)}function Jh(){}function Kh(a,b){th().memoizedState=[a,void 0===b?null:b];return a}function Lh(a,b){var c=uh();b=void 0===b?null:b;var d=c.memoizedState;if(null!==d&&null!==b&&nh(b,d[1]))return d[0];c.memoizedState=[a,b];return a}\nfunction Mh(a,b){var c=uh();b=void 0===b?null:b;var d=c.memoizedState;if(null!==d&&null!==b&&nh(b,d[1]))return d[0];a=a();c.memoizedState=[a,b];return a}function Nh(a,b,c){var d=ag();cg(98>d?98:d,function(){a(!0)});cg(97\\x3c/script>\",a=a.removeChild(a.firstChild)):\"string\"===typeof d.is?a=g.createElement(e,{is:d.is}):(a=g.createElement(e),\"select\"===e&&(g=a,d.multiple?g.multiple=!0:d.size&&(g.size=d.size))):a=g.createElementNS(a,e);a[Md]=b;a[Nd]=d;ni(a,b,!1,!1);b.stateNode=a;g=pd(e,d);switch(e){case \"iframe\":case \"object\":case \"embed\":F(\"load\",\na);h=d;break;case \"video\":case \"audio\":for(h=0;hd.tailExpiration&&1b)&&tj.set(a,b)))}}\nfunction xj(a,b){a.expirationTimea?c:a;return 2>=a&&b!==a?0:a}\nfunction Z(a){if(0!==a.lastExpiredTime)a.callbackExpirationTime=1073741823,a.callbackPriority=99,a.callbackNode=eg(yj.bind(null,a));else{var b=zj(a),c=a.callbackNode;if(0===b)null!==c&&(a.callbackNode=null,a.callbackExpirationTime=0,a.callbackPriority=90);else{var d=Gg();1073741823===b?d=99:1===b||2===b?d=95:(d=10*(1073741821-b)-10*(1073741821-d),d=0>=d?99:250>=d?98:5250>=d?97:95);if(null!==c){var e=a.callbackPriority;if(a.callbackExpirationTime===b&&e>=d)return;c!==Tf&&Kf(c)}a.callbackExpirationTime=\nb;a.callbackPriority=d;b=1073741823===b?eg(yj.bind(null,a)):dg(d,Bj.bind(null,a),{timeout:10*(1073741821-b)-$f()});a.callbackNode=b}}}\nfunction Bj(a,b){wj=0;if(b)return b=Gg(),Cj(a,b),Z(a),null;var c=zj(a);if(0!==c){b=a.callbackNode;if((W&(fj|gj))!==V)throw Error(u(327));Dj();a===T&&c===U||Ej(a,c);if(null!==X){var d=W;W|=fj;var e=Fj();do try{Gj();break}catch(h){Hj(a,h)}while(1);ng();W=d;cj.current=e;if(S===hj)throw b=kj,Ej(a,c),xi(a,c),Z(a),b;if(null===X)switch(e=a.finishedWork=a.current.alternate,a.finishedExpirationTime=c,d=S,T=null,d){case ti:case hj:throw Error(u(345));case ij:Cj(a,2=c){a.lastPingedTime=c;Ej(a,c);break}}f=zj(a);if(0!==f&&f!==c)break;if(0!==d&&d!==c){a.lastPingedTime=d;break}a.timeoutHandle=Hd(Jj.bind(null,a),e);break}Jj(a);break;case vi:xi(a,c);d=a.lastSuspendedTime;c===d&&(a.nextKnownPendingLevel=Ij(e));if(oj&&(e=a.lastPingedTime,0===e||e>=c)){a.lastPingedTime=c;Ej(a,c);break}e=zj(a);if(0!==e&&e!==c)break;if(0!==d&&d!==c){a.lastPingedTime=\nd;break}1073741823!==mj?d=10*(1073741821-mj)-$f():1073741823===lj?d=0:(d=10*(1073741821-lj)-5E3,e=$f(),c=10*(1073741821-c)-e,d=e-d,0>d&&(d=0),d=(120>d?120:480>d?480:1080>d?1080:1920>d?1920:3E3>d?3E3:4320>d?4320:1960*bj(d/1960))-d,c=d?d=0:(e=g.busyDelayMs|0,f=$f()-(10*(1073741821-f)-(g.timeoutMs|0||5E3)),d=f<=e?0:e+d-f);if(10 component higher in the tree to provide a loading indicator or placeholder to display.\"+qb(g))}S!==\njj&&(S=ij);h=Ai(h,g);p=f;do{switch(p.tag){case 3:k=h;p.effectTag|=4096;p.expirationTime=b;var B=Xi(p,k,b);yg(p,B);break a;case 1:k=h;var w=p.type,ub=p.stateNode;if(0===(p.effectTag&64)&&(\"function\"===typeof w.getDerivedStateFromError||null!==ub&&\"function\"===typeof ub.componentDidCatch&&(null===aj||!aj.has(ub)))){p.effectTag|=4096;p.expirationTime=b;var vb=$i(p,k,b);yg(p,vb);break a}}p=p.return}while(null!==p)}X=Pj(X)}catch(Xc){b=Xc;continue}break}while(1)}\nfunction Fj(){var a=cj.current;cj.current=sh;return null===a?sh:a}function Ag(a,b){awi&&(wi=a)}function Kj(){for(;null!==X;)X=Qj(X)}function Gj(){for(;null!==X&&!Uf();)X=Qj(X)}function Qj(a){var b=Rj(a.alternate,a,U);a.memoizedProps=a.pendingProps;null===b&&(b=Pj(a));dj.current=null;return b}\nfunction Pj(a){X=a;do{var b=X.alternate;a=X.return;if(0===(X.effectTag&2048)){b=si(b,X,U);if(1===U||1!==X.childExpirationTime){for(var c=0,d=X.child;null!==d;){var e=d.expirationTime,f=d.childExpirationTime;e>c&&(c=e);f>c&&(c=f);d=d.sibling}X.childExpirationTime=c}if(null!==b)return b;null!==a&&0===(a.effectTag&2048)&&(null===a.firstEffect&&(a.firstEffect=X.firstEffect),null!==X.lastEffect&&(null!==a.lastEffect&&(a.lastEffect.nextEffect=X.firstEffect),a.lastEffect=X.lastEffect),1a?b:a}function Jj(a){var b=ag();cg(99,Sj.bind(null,a,b));return null}\nfunction Sj(a,b){do Dj();while(null!==rj);if((W&(fj|gj))!==V)throw Error(u(327));var c=a.finishedWork,d=a.finishedExpirationTime;if(null===c)return null;a.finishedWork=null;a.finishedExpirationTime=0;if(c===a.current)throw Error(u(177));a.callbackNode=null;a.callbackExpirationTime=0;a.callbackPriority=90;a.nextKnownPendingLevel=0;var e=Ij(c);a.firstPendingTime=e;d<=a.lastSuspendedTime?a.firstSuspendedTime=a.lastSuspendedTime=a.nextKnownPendingLevel=0:d<=a.firstSuspendedTime&&(a.firstSuspendedTime=\nd-1);d<=a.lastPingedTime&&(a.lastPingedTime=0);d<=a.lastExpiredTime&&(a.lastExpiredTime=0);a===T&&(X=T=null,U=0);1h&&(l=h,h=g,g=l),l=vd(q,g),m=vd(q,h),l&&m&&(1!==w.rangeCount||w.anchorNode!==l.node||w.anchorOffset!==l.offset||w.focusNode!==m.node||w.focusOffset!==m.offset)&&(B=B.createRange(),B.setStart(l.node,l.offset),w.removeAllRanges(),g>h?(w.addRange(B),w.extend(m.node,m.offset)):(B.setEnd(m.node,m.offset),w.addRange(B))))));B=[];for(w=q;w=w.parentNode;)1===w.nodeType&&B.push({element:w,left:w.scrollLeft,\ntop:w.scrollTop});\"function\"===typeof q.focus&&q.focus();for(q=0;q=c)return ji(a,b,c);I(M,M.current&1);b=$h(a,b,c);return null!==b?b.sibling:null}I(M,M.current&1);break;case 19:d=b.childExpirationTime>=c;if(0!==(a.effectTag&64)){if(d)return mi(a,b,c);b.effectTag|=64}e=b.memoizedState;null!==e&&(e.rendering=null,e.tail=null);I(M,M.current);if(!d)return null}return $h(a,b,c)}rg=!1}}else rg=!1;b.expirationTime=0;switch(b.tag){case 2:d=b.type;null!==a&&(a.alternate=null,b.alternate=null,b.effectTag|=2);a=b.pendingProps;e=Cf(b,J.current);qg(b,c);e=oh(null,\nb,d,a,e,c);b.effectTag|=1;if(\"object\"===typeof e&&null!==e&&\"function\"===typeof e.render&&void 0===e.$$typeof){b.tag=1;b.memoizedState=null;b.updateQueue=null;if(L(d)){var f=!0;Gf(b)}else f=!1;b.memoizedState=null!==e.state&&void 0!==e.state?e.state:null;ug(b);var g=d.getDerivedStateFromProps;\"function\"===typeof g&&Fg(b,d,g,a);e.updater=Jg;b.stateNode=e;e._reactInternalFiber=b;Ng(b,d,a,c);b=gi(null,b,d,!0,f,c)}else b.tag=0,R(null,b,e,c),b=b.child;return b;case 16:a:{e=b.elementType;null!==a&&(a.alternate=\nnull,b.alternate=null,b.effectTag|=2);a=b.pendingProps;ob(e);if(1!==e._status)throw e._result;e=e._result;b.type=e;f=b.tag=Xj(e);a=ig(e,a);switch(f){case 0:b=di(null,b,e,a,c);break a;case 1:b=fi(null,b,e,a,c);break a;case 11:b=Zh(null,b,e,a,c);break a;case 14:b=ai(null,b,e,ig(e.type,a),d,c);break a}throw Error(u(306,e,\"\"));}return b;case 0:return d=b.type,e=b.pendingProps,e=b.elementType===d?e:ig(d,e),di(a,b,d,e,c);case 1:return d=b.type,e=b.pendingProps,e=b.elementType===d?e:ig(d,e),fi(a,b,d,e,c);\ncase 3:hi(b);d=b.updateQueue;if(null===a||null===d)throw Error(u(282));d=b.pendingProps;e=b.memoizedState;e=null!==e?e.element:null;vg(a,b);zg(b,d,null,c);d=b.memoizedState.element;if(d===e)Xh(),b=$h(a,b,c);else{if(e=b.stateNode.hydrate)Ph=Jd(b.stateNode.containerInfo.firstChild),Oh=b,e=Qh=!0;if(e)for(c=Yg(b,null,d,c),b.child=c;c;)c.effectTag=c.effectTag&-3|1024,c=c.sibling;else R(a,b,d,c),Xh();b=b.child}return b;case 5:return fh(b),null===a&&Uh(b),d=b.type,e=b.pendingProps,f=null!==a?a.memoizedProps:\nnull,g=e.children,Gd(d,e)?g=null:null!==f&&Gd(d,f)&&(b.effectTag|=16),ei(a,b),b.mode&4&&1!==c&&e.hidden?(b.expirationTime=b.childExpirationTime=1,b=null):(R(a,b,g,c),b=b.child),b;case 6:return null===a&&Uh(b),null;case 13:return ji(a,b,c);case 4:return dh(b,b.stateNode.containerInfo),d=b.pendingProps,null===a?b.child=Xg(b,null,d,c):R(a,b,d,c),b.child;case 11:return d=b.type,e=b.pendingProps,e=b.elementType===d?e:ig(d,e),Zh(a,b,d,e,c);case 7:return R(a,b,b.pendingProps,c),b.child;case 8:return R(a,\nb,b.pendingProps.children,c),b.child;case 12:return R(a,b,b.pendingProps.children,c),b.child;case 10:a:{d=b.type._context;e=b.pendingProps;g=b.memoizedProps;f=e.value;var h=b.type._context;I(jg,h._currentValue);h._currentValue=f;if(null!==g)if(h=g.value,f=$e(h,f)?0:(\"function\"===typeof d._calculateChangedBits?d._calculateChangedBits(h,f):1073741823)|0,0===f){if(g.children===e.children&&!K.current){b=$h(a,b,c);break a}}else for(h=b.child,null!==h&&(h.return=b);null!==h;){var k=h.dependencies;if(null!==\nk){g=h.child;for(var l=k.firstContext;null!==l;){if(l.context===d&&0!==(l.observedBits&f)){1===h.tag&&(l=wg(c,null),l.tag=2,xg(h,l));h.expirationTime=b&&a<=b}function xi(a,b){var c=a.firstSuspendedTime,d=a.lastSuspendedTime;cb||0===c)a.lastSuspendedTime=b;b<=a.lastPingedTime&&(a.lastPingedTime=0);b<=a.lastExpiredTime&&(a.lastExpiredTime=0)}\nfunction yi(a,b){b>a.firstPendingTime&&(a.firstPendingTime=b);var c=a.firstSuspendedTime;0!==c&&(b>=c?a.firstSuspendedTime=a.lastSuspendedTime=a.nextKnownPendingLevel=0:b>=a.lastSuspendedTime&&(a.lastSuspendedTime=b+1),b>a.nextKnownPendingLevel&&(a.nextKnownPendingLevel=b))}function Cj(a,b){var c=a.lastExpiredTime;if(0===c||c>b)a.lastExpiredTime=b}\nfunction bk(a,b,c,d){var e=b.current,f=Gg(),g=Dg.suspense;f=Hg(f,e,g);a:if(c){c=c._reactInternalFiber;b:{if(dc(c)!==c||1!==c.tag)throw Error(u(170));var h=c;do{switch(h.tag){case 3:h=h.stateNode.context;break b;case 1:if(L(h.type)){h=h.stateNode.__reactInternalMemoizedMergedChildContext;break b}}h=h.return}while(null!==h);throw Error(u(171));}if(1===c.tag){var k=c.type;if(L(k)){c=Ff(c,k,h);break a}}c=h}else c=Af;null===b.context?b.context=c:b.pendingContext=c;b=wg(f,g);b.payload={element:a};d=void 0===\nd?null:d;null!==d&&(b.callback=d);xg(e,b);Ig(e,f);return f}function ck(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 dk(a,b){a=a.memoizedState;null!==a&&null!==a.dehydrated&&a.retryTimeHello World;\n * }\n * });\n *\n * The class specification supports a specific protocol of methods that have\n * special meaning (e.g. `render`). See `ReactClassInterface` for\n * more the comprehensive protocol. Any other properties and methods in the\n * class specification will be available on the prototype.\n *\n * @interface ReactClassInterface\n * @internal\n */\n var ReactClassInterface = {\n /**\n * An array of Mixin objects to include when defining your component.\n *\n * @type {array}\n * @optional\n */\n mixins: 'DEFINE_MANY',\n\n /**\n * An object containing properties and methods that should be defined on\n * the component's constructor instead of its prototype (static methods).\n *\n * @type {object}\n * @optional\n */\n statics: 'DEFINE_MANY',\n\n /**\n * Definition of prop types for this component.\n *\n * @type {object}\n * @optional\n */\n propTypes: 'DEFINE_MANY',\n\n /**\n * Definition of context types for this component.\n *\n * @type {object}\n * @optional\n */\n contextTypes: 'DEFINE_MANY',\n\n /**\n * Definition of context types this component sets for its children.\n *\n * @type {object}\n * @optional\n */\n childContextTypes: 'DEFINE_MANY',\n\n // ==== Definition methods ====\n\n /**\n * Invoked when the component is mounted. Values in the mapping will be set on\n * `this.props` if that prop is not specified (i.e. using an `in` check).\n *\n * This method is invoked before `getInitialState` and therefore cannot rely\n * on `this.state` or use `this.setState`.\n *\n * @return {object}\n * @optional\n */\n getDefaultProps: 'DEFINE_MANY_MERGED',\n\n /**\n * Invoked once before the component is mounted. The return value will be used\n * as the initial value of `this.state`.\n *\n * getInitialState: function() {\n * return {\n * isOn: false,\n * fooBaz: new BazFoo()\n * }\n * }\n *\n * @return {object}\n * @optional\n */\n getInitialState: 'DEFINE_MANY_MERGED',\n\n /**\n * @return {object}\n * @optional\n */\n getChildContext: 'DEFINE_MANY_MERGED',\n\n /**\n * Uses props from `this.props` and state from `this.state` to render the\n * structure of the component.\n *\n * No guarantees are made about when or how often this method is invoked, so\n * it must not have side effects.\n *\n * render: function() {\n * var name = this.props.name;\n * return
Hello, {name}!
;\n * }\n *\n * @return {ReactComponent}\n * @required\n */\n render: 'DEFINE_ONCE',\n\n // ==== Delegate methods ====\n\n /**\n * Invoked when the component is initially created and about to be mounted.\n * This may have side effects, but any external subscriptions or data created\n * by this method must be cleaned up in `componentWillUnmount`.\n *\n * @optional\n */\n componentWillMount: 'DEFINE_MANY',\n\n /**\n * Invoked when the component has been mounted and has a DOM representation.\n * However, there is no guarantee that the DOM node is in the document.\n *\n * Use this as an opportunity to operate on the DOM when the component has\n * been mounted (initialized and rendered) for the first time.\n *\n * @param {DOMElement} rootNode DOM element representing the component.\n * @optional\n */\n componentDidMount: 'DEFINE_MANY',\n\n /**\n * Invoked before the component receives new props.\n *\n * Use this as an opportunity to react to a prop transition by updating the\n * state using `this.setState`. Current props are accessed via `this.props`.\n *\n * componentWillReceiveProps: function(nextProps, nextContext) {\n * this.setState({\n * likesIncreasing: nextProps.likeCount > this.props.likeCount\n * });\n * }\n *\n * NOTE: There is no equivalent `componentWillReceiveState`. An incoming prop\n * transition may cause a state change, but the opposite is not true. If you\n * need it, you are probably looking for `componentWillUpdate`.\n *\n * @param {object} nextProps\n * @optional\n */\n componentWillReceiveProps: 'DEFINE_MANY',\n\n /**\n * Invoked while deciding if the component should be updated as a result of\n * receiving new props, state and/or context.\n *\n * Use this as an opportunity to `return false` when you're certain that the\n * transition to the new props/state/context will not require a component\n * update.\n *\n * shouldComponentUpdate: function(nextProps, nextState, nextContext) {\n * return !equal(nextProps, this.props) ||\n * !equal(nextState, this.state) ||\n * !equal(nextContext, this.context);\n * }\n *\n * @param {object} nextProps\n * @param {?object} nextState\n * @param {?object} nextContext\n * @return {boolean} True if the component should update.\n * @optional\n */\n shouldComponentUpdate: 'DEFINE_ONCE',\n\n /**\n * Invoked when the component is about to update due to a transition from\n * `this.props`, `this.state` and `this.context` to `nextProps`, `nextState`\n * and `nextContext`.\n *\n * Use this as an opportunity to perform preparation before an update occurs.\n *\n * NOTE: You **cannot** use `this.setState()` in this method.\n *\n * @param {object} nextProps\n * @param {?object} nextState\n * @param {?object} nextContext\n * @param {ReactReconcileTransaction} transaction\n * @optional\n */\n componentWillUpdate: 'DEFINE_MANY',\n\n /**\n * Invoked when the component's DOM representation has been updated.\n *\n * Use this as an opportunity to operate on the DOM when the component has\n * been updated.\n *\n * @param {object} prevProps\n * @param {?object} prevState\n * @param {?object} prevContext\n * @param {DOMElement} rootNode DOM element representing the component.\n * @optional\n */\n componentDidUpdate: 'DEFINE_MANY',\n\n /**\n * Invoked when the component is about to be removed from its parent and have\n * its DOM representation destroyed.\n *\n * Use this as an opportunity to deallocate any external resources.\n *\n * NOTE: There is no `componentDidUnmount` since your component will have been\n * destroyed by that point.\n *\n * @optional\n */\n componentWillUnmount: 'DEFINE_MANY',\n\n /**\n * Replacement for (deprecated) `componentWillMount`.\n *\n * @optional\n */\n UNSAFE_componentWillMount: 'DEFINE_MANY',\n\n /**\n * Replacement for (deprecated) `componentWillReceiveProps`.\n *\n * @optional\n */\n UNSAFE_componentWillReceiveProps: 'DEFINE_MANY',\n\n /**\n * Replacement for (deprecated) `componentWillUpdate`.\n *\n * @optional\n */\n UNSAFE_componentWillUpdate: 'DEFINE_MANY',\n\n // ==== Advanced methods ====\n\n /**\n * Updates the component's currently mounted DOM representation.\n *\n * By default, this implements React's rendering and reconciliation algorithm.\n * Sophisticated clients may wish to override this.\n *\n * @param {ReactReconcileTransaction} transaction\n * @internal\n * @overridable\n */\n updateComponent: 'OVERRIDE_BASE'\n };\n\n /**\n * Similar to ReactClassInterface but for static methods.\n */\n var ReactClassStaticInterface = {\n /**\n * This method is invoked after a component is instantiated and when it\n * receives new props. Return an object to update state in response to\n * prop changes. Return null to indicate no change to state.\n *\n * If an object is returned, its keys will be merged into the existing state.\n *\n * @return {object || null}\n * @optional\n */\n getDerivedStateFromProps: 'DEFINE_MANY_MERGED'\n };\n\n /**\n * Mapping from class specification keys to special processing functions.\n *\n * Although these are declared like instance properties in the specification\n * when defining classes using `React.createClass`, they are actually static\n * and are accessible on the constructor instead of the prototype. Despite\n * being static, they must be defined outside of the \"statics\" key under\n * which all other static methods are defined.\n */\n var RESERVED_SPEC_KEYS = {\n displayName: function(Constructor, displayName) {\n Constructor.displayName = displayName;\n },\n mixins: function(Constructor, mixins) {\n if (mixins) {\n for (var i = 0; i < mixins.length; i++) {\n mixSpecIntoComponent(Constructor, mixins[i]);\n }\n }\n },\n childContextTypes: function(Constructor, childContextTypes) {\n if (process.env.NODE_ENV !== 'production') {\n validateTypeDef(Constructor, childContextTypes, 'childContext');\n }\n Constructor.childContextTypes = _assign(\n {},\n Constructor.childContextTypes,\n childContextTypes\n );\n },\n contextTypes: function(Constructor, contextTypes) {\n if (process.env.NODE_ENV !== 'production') {\n validateTypeDef(Constructor, contextTypes, 'context');\n }\n Constructor.contextTypes = _assign(\n {},\n Constructor.contextTypes,\n contextTypes\n );\n },\n /**\n * Special case getDefaultProps which should move into statics but requires\n * automatic merging.\n */\n getDefaultProps: function(Constructor, getDefaultProps) {\n if (Constructor.getDefaultProps) {\n Constructor.getDefaultProps = createMergedResultFunction(\n Constructor.getDefaultProps,\n getDefaultProps\n );\n } else {\n Constructor.getDefaultProps = getDefaultProps;\n }\n },\n propTypes: function(Constructor, propTypes) {\n if (process.env.NODE_ENV !== 'production') {\n validateTypeDef(Constructor, propTypes, 'prop');\n }\n Constructor.propTypes = _assign({}, Constructor.propTypes, propTypes);\n },\n statics: function(Constructor, statics) {\n mixStaticSpecIntoComponent(Constructor, statics);\n },\n autobind: function() {}\n };\n\n function validateTypeDef(Constructor, typeDef, location) {\n for (var propName in typeDef) {\n if (typeDef.hasOwnProperty(propName)) {\n // use a warning instead of an _invariant so components\n // don't show up in prod but only in __DEV__\n if (process.env.NODE_ENV !== 'production') {\n warning(\n typeof typeDef[propName] === 'function',\n '%s: %s type `%s` is invalid; it must be a function, usually from ' +\n 'React.PropTypes.',\n Constructor.displayName || 'ReactClass',\n ReactPropTypeLocationNames[location],\n propName\n );\n }\n }\n }\n }\n\n function validateMethodOverride(isAlreadyDefined, name) {\n var specPolicy = ReactClassInterface.hasOwnProperty(name)\n ? ReactClassInterface[name]\n : null;\n\n // Disallow overriding of base class methods unless explicitly allowed.\n if (ReactClassMixin.hasOwnProperty(name)) {\n _invariant(\n specPolicy === 'OVERRIDE_BASE',\n 'ReactClassInterface: You are attempting to override ' +\n '`%s` from your class specification. Ensure that your method names ' +\n 'do not overlap with React methods.',\n name\n );\n }\n\n // Disallow defining methods more than once unless explicitly allowed.\n if (isAlreadyDefined) {\n _invariant(\n specPolicy === 'DEFINE_MANY' || specPolicy === 'DEFINE_MANY_MERGED',\n 'ReactClassInterface: You are attempting to define ' +\n '`%s` on your component more than once. This conflict may be due ' +\n 'to a mixin.',\n name\n );\n }\n }\n\n /**\n * Mixin helper which handles policy validation and reserved\n * specification keys when building React classes.\n */\n function mixSpecIntoComponent(Constructor, spec) {\n if (!spec) {\n if (process.env.NODE_ENV !== 'production') {\n var typeofSpec = typeof spec;\n var isMixinValid = typeofSpec === 'object' && spec !== null;\n\n if (process.env.NODE_ENV !== 'production') {\n warning(\n isMixinValid,\n \"%s: You're attempting to include a mixin that is either null \" +\n 'or not an object. Check the mixins included by the component, ' +\n 'as well as any mixins they include themselves. ' +\n 'Expected object but got %s.',\n Constructor.displayName || 'ReactClass',\n spec === null ? null : typeofSpec\n );\n }\n }\n\n return;\n }\n\n _invariant(\n typeof spec !== 'function',\n \"ReactClass: You're attempting to \" +\n 'use a component class or function as a mixin. Instead, just use a ' +\n 'regular object.'\n );\n _invariant(\n !isValidElement(spec),\n \"ReactClass: You're attempting to \" +\n 'use a component as a mixin. Instead, just use a regular object.'\n );\n\n var proto = Constructor.prototype;\n var autoBindPairs = proto.__reactAutoBindPairs;\n\n // By handling mixins before any other properties, we ensure the same\n // chaining order is applied to methods with DEFINE_MANY policy, whether\n // mixins are listed before or after these methods in the spec.\n if (spec.hasOwnProperty(MIXINS_KEY)) {\n RESERVED_SPEC_KEYS.mixins(Constructor, spec.mixins);\n }\n\n for (var name in spec) {\n if (!spec.hasOwnProperty(name)) {\n continue;\n }\n\n if (name === MIXINS_KEY) {\n // We have already handled mixins in a special case above.\n continue;\n }\n\n var property = spec[name];\n var isAlreadyDefined = proto.hasOwnProperty(name);\n validateMethodOverride(isAlreadyDefined, name);\n\n if (RESERVED_SPEC_KEYS.hasOwnProperty(name)) {\n RESERVED_SPEC_KEYS[name](Constructor, property);\n } else {\n // Setup methods on prototype:\n // The following member methods should not be automatically bound:\n // 1. Expected ReactClass methods (in the \"interface\").\n // 2. Overridden methods (that were mixed in).\n var isReactClassMethod = ReactClassInterface.hasOwnProperty(name);\n var isFunction = typeof property === 'function';\n var shouldAutoBind =\n isFunction &&\n !isReactClassMethod &&\n !isAlreadyDefined &&\n spec.autobind !== false;\n\n if (shouldAutoBind) {\n autoBindPairs.push(name, property);\n proto[name] = property;\n } else {\n if (isAlreadyDefined) {\n var specPolicy = ReactClassInterface[name];\n\n // These cases should already be caught by validateMethodOverride.\n _invariant(\n isReactClassMethod &&\n (specPolicy === 'DEFINE_MANY_MERGED' ||\n specPolicy === 'DEFINE_MANY'),\n 'ReactClass: Unexpected spec policy %s for key %s ' +\n 'when mixing in component specs.',\n specPolicy,\n name\n );\n\n // For methods which are defined more than once, call the existing\n // methods before calling the new property, merging if appropriate.\n if (specPolicy === 'DEFINE_MANY_MERGED') {\n proto[name] = createMergedResultFunction(proto[name], property);\n } else if (specPolicy === 'DEFINE_MANY') {\n proto[name] = createChainedFunction(proto[name], property);\n }\n } else {\n proto[name] = property;\n if (process.env.NODE_ENV !== 'production') {\n // Add verbose displayName to the function, which helps when looking\n // at profiling tools.\n if (typeof property === 'function' && spec.displayName) {\n proto[name].displayName = spec.displayName + '_' + name;\n }\n }\n }\n }\n }\n }\n }\n\n function mixStaticSpecIntoComponent(Constructor, statics) {\n if (!statics) {\n return;\n }\n\n for (var name in statics) {\n var property = statics[name];\n if (!statics.hasOwnProperty(name)) {\n continue;\n }\n\n var isReserved = name in RESERVED_SPEC_KEYS;\n _invariant(\n !isReserved,\n 'ReactClass: You are attempting to define a reserved ' +\n 'property, `%s`, that shouldn\\'t be on the \"statics\" key. Define it ' +\n 'as an instance property instead; it will still be accessible on the ' +\n 'constructor.',\n name\n );\n\n var isAlreadyDefined = name in Constructor;\n if (isAlreadyDefined) {\n var specPolicy = ReactClassStaticInterface.hasOwnProperty(name)\n ? ReactClassStaticInterface[name]\n : null;\n\n _invariant(\n specPolicy === 'DEFINE_MANY_MERGED',\n 'ReactClass: You are attempting to define ' +\n '`%s` on your component more than once. This conflict may be ' +\n 'due to a mixin.',\n name\n );\n\n Constructor[name] = createMergedResultFunction(Constructor[name], property);\n\n return;\n }\n\n Constructor[name] = property;\n }\n }\n\n /**\n * Merge two objects, but throw if both contain the same key.\n *\n * @param {object} one The first object, which is mutated.\n * @param {object} two The second object\n * @return {object} one after it has been mutated to contain everything in two.\n */\n function mergeIntoWithNoDuplicateKeys(one, two) {\n _invariant(\n one && two && typeof one === 'object' && typeof two === 'object',\n 'mergeIntoWithNoDuplicateKeys(): Cannot merge non-objects.'\n );\n\n for (var key in two) {\n if (two.hasOwnProperty(key)) {\n _invariant(\n one[key] === undefined,\n 'mergeIntoWithNoDuplicateKeys(): ' +\n 'Tried to merge two objects with the same key: `%s`. This conflict ' +\n 'may be due to a mixin; in particular, this may be caused by two ' +\n 'getInitialState() or getDefaultProps() methods returning objects ' +\n 'with clashing keys.',\n key\n );\n one[key] = two[key];\n }\n }\n return one;\n }\n\n /**\n * Creates a function that invokes two functions and merges their return values.\n *\n * @param {function} one Function to invoke first.\n * @param {function} two Function to invoke second.\n * @return {function} Function that invokes the two argument functions.\n * @private\n */\n function createMergedResultFunction(one, two) {\n return function mergedResult() {\n var a = one.apply(this, arguments);\n var b = two.apply(this, arguments);\n if (a == null) {\n return b;\n } else if (b == null) {\n return a;\n }\n var c = {};\n mergeIntoWithNoDuplicateKeys(c, a);\n mergeIntoWithNoDuplicateKeys(c, b);\n return c;\n };\n }\n\n /**\n * Creates a function that invokes two functions and ignores their return vales.\n *\n * @param {function} one Function to invoke first.\n * @param {function} two Function to invoke second.\n * @return {function} Function that invokes the two argument functions.\n * @private\n */\n function createChainedFunction(one, two) {\n return function chainedFunction() {\n one.apply(this, arguments);\n two.apply(this, arguments);\n };\n }\n\n /**\n * Binds a method to the component.\n *\n * @param {object} component Component whose method is going to be bound.\n * @param {function} method Method to be bound.\n * @return {function} The bound method.\n */\n function bindAutoBindMethod(component, method) {\n var boundMethod = method.bind(component);\n if (process.env.NODE_ENV !== 'production') {\n boundMethod.__reactBoundContext = component;\n boundMethod.__reactBoundMethod = method;\n boundMethod.__reactBoundArguments = null;\n var componentName = component.constructor.displayName;\n var _bind = boundMethod.bind;\n boundMethod.bind = function(newThis) {\n for (\n var _len = arguments.length,\n args = Array(_len > 1 ? _len - 1 : 0),\n _key = 1;\n _key < _len;\n _key++\n ) {\n args[_key - 1] = arguments[_key];\n }\n\n // User is trying to bind() an autobound method; we effectively will\n // ignore the value of \"this\" that the user is trying to use, so\n // let's warn.\n if (newThis !== component && newThis !== null) {\n if (process.env.NODE_ENV !== 'production') {\n warning(\n false,\n 'bind(): React component methods may only be bound to the ' +\n 'component instance. See %s',\n componentName\n );\n }\n } else if (!args.length) {\n if (process.env.NODE_ENV !== 'production') {\n warning(\n false,\n 'bind(): You are binding a component method to the component. ' +\n 'React does this for you automatically in a high-performance ' +\n 'way, so you can safely remove this call. See %s',\n componentName\n );\n }\n return boundMethod;\n }\n var reboundMethod = _bind.apply(boundMethod, arguments);\n reboundMethod.__reactBoundContext = component;\n reboundMethod.__reactBoundMethod = method;\n reboundMethod.__reactBoundArguments = args;\n return reboundMethod;\n };\n }\n return boundMethod;\n }\n\n /**\n * Binds all auto-bound methods in a component.\n *\n * @param {object} component Component whose method is going to be bound.\n */\n function bindAutoBindMethods(component) {\n var pairs = component.__reactAutoBindPairs;\n for (var i = 0; i < pairs.length; i += 2) {\n var autoBindKey = pairs[i];\n var method = pairs[i + 1];\n component[autoBindKey] = bindAutoBindMethod(component, method);\n }\n }\n\n var IsMountedPreMixin = {\n componentDidMount: function() {\n this.__isMounted = true;\n }\n };\n\n var IsMountedPostMixin = {\n componentWillUnmount: function() {\n this.__isMounted = false;\n }\n };\n\n /**\n * Add more to the ReactClass base class. These are all legacy features and\n * therefore not already part of the modern ReactComponent.\n */\n var ReactClassMixin = {\n /**\n * TODO: This will be deprecated because state should always keep a consistent\n * type signature and the only use case for this, is to avoid that.\n */\n replaceState: function(newState, callback) {\n this.updater.enqueueReplaceState(this, newState, callback);\n },\n\n /**\n * Checks whether or not this composite component is mounted.\n * @return {boolean} True if mounted, false otherwise.\n * @protected\n * @final\n */\n isMounted: function() {\n if (process.env.NODE_ENV !== 'production') {\n warning(\n this.__didWarnIsMounted,\n '%s: isMounted is deprecated. Instead, make sure to clean up ' +\n 'subscriptions and pending requests in componentWillUnmount to ' +\n 'prevent memory leaks.',\n (this.constructor && this.constructor.displayName) ||\n this.name ||\n 'Component'\n );\n this.__didWarnIsMounted = true;\n }\n return !!this.__isMounted;\n }\n };\n\n var ReactClassComponent = function() {};\n _assign(\n ReactClassComponent.prototype,\n ReactComponent.prototype,\n ReactClassMixin\n );\n\n /**\n * Creates a composite component class given a class specification.\n * See https://facebook.github.io/react/docs/top-level-api.html#react.createclass\n *\n * @param {object} spec Class specification (which must define `render`).\n * @return {function} Component constructor function.\n * @public\n */\n function createClass(spec) {\n // To keep our warnings more understandable, we'll use a little hack here to\n // ensure that Constructor.name !== 'Constructor'. This makes sure we don't\n // unnecessarily identify a class without displayName as 'Constructor'.\n var Constructor = identity(function(props, context, updater) {\n // This constructor gets overridden by mocks. The argument is used\n // by mocks to assert on what gets mounted.\n\n if (process.env.NODE_ENV !== 'production') {\n warning(\n this instanceof Constructor,\n 'Something is calling a React component directly. Use a factory or ' +\n 'JSX instead. See: https://fb.me/react-legacyfactory'\n );\n }\n\n // Wire up auto-binding\n if (this.__reactAutoBindPairs.length) {\n bindAutoBindMethods(this);\n }\n\n this.props = props;\n this.context = context;\n this.refs = emptyObject;\n this.updater = updater || ReactNoopUpdateQueue;\n\n this.state = null;\n\n // ReactClasses doesn't have constructors. Instead, they use the\n // getInitialState and componentWillMount methods for initialization.\n\n var initialState = this.getInitialState ? this.getInitialState() : null;\n if (process.env.NODE_ENV !== 'production') {\n // We allow auto-mocks to proceed as if they're returning null.\n if (\n initialState === undefined &&\n this.getInitialState._isMockFunction\n ) {\n // This is probably bad practice. Consider warning here and\n // deprecating this convenience.\n initialState = null;\n }\n }\n _invariant(\n typeof initialState === 'object' && !Array.isArray(initialState),\n '%s.getInitialState(): must return an object or null',\n Constructor.displayName || 'ReactCompositeComponent'\n );\n\n this.state = initialState;\n });\n Constructor.prototype = new ReactClassComponent();\n Constructor.prototype.constructor = Constructor;\n Constructor.prototype.__reactAutoBindPairs = [];\n\n injectedMixins.forEach(mixSpecIntoComponent.bind(null, Constructor));\n\n mixSpecIntoComponent(Constructor, IsMountedPreMixin);\n mixSpecIntoComponent(Constructor, spec);\n mixSpecIntoComponent(Constructor, IsMountedPostMixin);\n\n // Initialize the defaultProps property after all mixins have been merged.\n if (Constructor.getDefaultProps) {\n Constructor.defaultProps = Constructor.getDefaultProps();\n }\n\n if (process.env.NODE_ENV !== 'production') {\n // This is a tag to indicate that the use of these method names is ok,\n // since it's used with createClass. If it's not, then it's likely a\n // mistake so we'll warn you to use the static property, property\n // initializer or constructor respectively.\n if (Constructor.getDefaultProps) {\n Constructor.getDefaultProps.isReactClassApproved = {};\n }\n if (Constructor.prototype.getInitialState) {\n Constructor.prototype.getInitialState.isReactClassApproved = {};\n }\n }\n\n _invariant(\n Constructor.prototype.render,\n 'createClass(...): Class specification must implement a `render` method.'\n );\n\n if (process.env.NODE_ENV !== 'production') {\n warning(\n !Constructor.prototype.componentShouldUpdate,\n '%s has a method called ' +\n 'componentShouldUpdate(). Did you mean shouldComponentUpdate()? ' +\n 'The name is phrased as a question because the function is ' +\n 'expected to return a value.',\n spec.displayName || 'A component'\n );\n warning(\n !Constructor.prototype.componentWillRecieveProps,\n '%s has a method called ' +\n 'componentWillRecieveProps(). Did you mean componentWillReceiveProps()?',\n spec.displayName || 'A component'\n );\n warning(\n !Constructor.prototype.UNSAFE_componentWillRecieveProps,\n '%s has a method called UNSAFE_componentWillRecieveProps(). ' +\n 'Did you mean UNSAFE_componentWillReceiveProps()?',\n spec.displayName || 'A component'\n );\n }\n\n // Reduce time spent doing lookups by setting these on the prototype.\n for (var methodName in ReactClassInterface) {\n if (!Constructor.prototype[methodName]) {\n Constructor.prototype[methodName] = null;\n }\n }\n\n return Constructor;\n }\n\n return createClass;\n}\n\nmodule.exports = factory;\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\n'use strict';\n\nvar React = require('react');\nvar factory = require('./factory');\n\nif (typeof React === 'undefined') {\n throw Error(\n 'create-react-class could not find the React object. If you are using script tags, ' +\n 'make sure that React is being loaded before create-react-class.'\n );\n}\n\n// Hack to grab NoopUpdateQueue from isomorphic React\nvar ReactNoopUpdateQueue = new React.Component().updater;\n\nmodule.exports = factory(\n React.Component,\n React.isValidElement,\n ReactNoopUpdateQueue\n);\n","var assign = require('object-assign');\n\nfunction fallback(i18n, message, options) {\n var lookup = i18n.lookup(message);\n return lookup == undefined ? fallbackSearch(i18n, message, options) : lookup;\n}\n\nfunction fallbackSearch(i18n, message, options) {\n scope = options['scope'] || '';\n var scopes = scope.split('.');\n\n if (scopes.length == 1) {\n // no more fallback\n return undefined;\n } else {\n scopes = scopes.slice(0, scopes.length - 1);\n options = assign({}, options);\n options['scope'] = scopes.join('.');\n\n var translated = i18n.translate(message, options);\n return !translated || translated.indexOf('[missing') == 0\n ? fallbackSearch(i18n, message, options)\n : translated;\n }\n}\n\nmodule.exports = function(message, options) {\n var i18n = typeof I18n === 'undefined' ? require('i18n-js') : I18n;\n var translated = i18n.translate(message, options || {});\n\n return !translated || translated.indexOf('[missing') == 0\n ? fallback(i18n, message, options || {}) || translated\n : translated;\n};\n","import _slicedToArray from \"@babel/runtime/helpers/slicedToArray\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/objectWithoutProperties\";\nimport { useTranslation } from './useTranslation';\nexport function Translation(props) {\n var ns = props.ns,\n children = props.children,\n options = _objectWithoutProperties(props, [\"ns\", \"children\"]);\n\n var _useTranslation = useTranslation(ns, options),\n _useTranslation2 = _slicedToArray(_useTranslation, 3),\n t = _useTranslation2[0],\n i18n = _useTranslation2[1],\n ready = _useTranslation2[2];\n\n return children(t, {\n i18n: i18n,\n lng: i18n.language\n }, ready);\n}","import _classCallCheck from \"@babel/runtime/helpers/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/createClass\";\nimport _defineProperty from \"@babel/runtime/helpers/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(source, true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(source).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nimport React from 'react';\nvar defaultOptions = {\n bindI18n: 'languageChanged',\n bindI18nStore: '',\n // nsMode: 'fallback' // loop through all namespaces given to hook, HOC, render prop for key lookup\n transEmptyNodeValue: '',\n transSupportBasicHtmlNodes: true,\n transKeepBasicHtmlNodesFor: ['br', 'strong', 'i', 'p'],\n // hashTransKey: key => key // calculate a key for Trans component based on defaultValue\n useSuspense: true\n};\nvar i18nInstance;\nvar hasUsedI18nextProvider;\nexport var I18nContext = React.createContext();\nexport function usedI18nextProvider(used) {\n hasUsedI18nextProvider = used;\n}\nexport function getHasUsedI18nextProvider() {\n return hasUsedI18nextProvider;\n}\nexport function setDefaults() {\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n defaultOptions = _objectSpread({}, defaultOptions, {}, options);\n}\nexport function getDefaults() {\n return defaultOptions;\n}\nexport var ReportNamespaces =\n/*#__PURE__*/\nfunction () {\n function ReportNamespaces() {\n _classCallCheck(this, ReportNamespaces);\n\n this.usedNamespaces = {};\n }\n\n _createClass(ReportNamespaces, [{\n key: \"addUsedNamespaces\",\n value: function addUsedNamespaces(namespaces) {\n var _this = this;\n\n namespaces.forEach(function (ns) {\n if (!_this.usedNamespaces[ns]) _this.usedNamespaces[ns] = true;\n });\n }\n }, {\n key: \"getUsedNamespaces\",\n value: function getUsedNamespaces() {\n return Object.keys(this.usedNamespaces);\n }\n }]);\n\n return ReportNamespaces;\n}();\nexport function setI18n(instance) {\n i18nInstance = instance;\n}\nexport function getI18n() {\n return i18nInstance;\n}\nexport var initReactI18next = {\n type: '3rdParty',\n init: function init(instance) {\n setDefaults(instance.options.react);\n setI18n(instance);\n }\n};\nexport function composeInitialProps(ForComponent) {\n return function (ctx) {\n return new Promise(function (resolve) {\n var i18nInitialProps = getInitialProps();\n\n if (ForComponent.getInitialProps) {\n ForComponent.getInitialProps(ctx).then(function (componentsInitialProps) {\n resolve(_objectSpread({}, componentsInitialProps, {}, i18nInitialProps));\n });\n } else {\n resolve(i18nInitialProps);\n }\n });\n }; // Avoid async for now - so we do not need to pull in regenerator\n // return async ctx => {\n // const componentsInitialProps = ForComponent.getInitialProps\n // ? await ForComponent.getInitialProps(ctx)\n // : {};\n // const i18nInitialProps = getInitialProps();\n // return {\n // ...componentsInitialProps,\n // ...i18nInitialProps,\n // };\n // };\n}\nexport function getInitialProps() {\n var i18n = getI18n();\n var namespaces = i18n.reportNamespaces ? i18n.reportNamespaces.getUsedNamespaces() : [];\n var ret = {};\n var initialI18nStore = {};\n i18n.languages.forEach(function (l) {\n initialI18nStore[l] = {};\n namespaces.forEach(function (ns) {\n initialI18nStore[l][ns] = i18n.getResourceBundle(l, ns) || {};\n });\n });\n ret.initialI18nStore = initialI18nStore;\n ret.initialLanguage = i18n.language;\n return ret;\n}","import _slicedToArray from \"@babel/runtime/helpers/slicedToArray\";\nimport _defineProperty from \"@babel/runtime/helpers/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(source, true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(source).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nimport { useState, useEffect, useContext } from 'react';\nimport { getI18n, getDefaults, ReportNamespaces, getHasUsedI18nextProvider, I18nContext } from './context';\nimport { warnOnce, loadNamespaces, hasLoadedNamespace } from './utils';\nexport function useTranslation(ns) {\n var props = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n // assert we have the needed i18nInstance\n var i18nFromProps = props.i18n;\n var ReactI18nContext = useContext(I18nContext);\n\n var _ref = getHasUsedI18nextProvider() ? ReactI18nContext || {} : {},\n i18nFromContext = _ref.i18n,\n defaultNSFromContext = _ref.defaultNS;\n\n var i18n = i18nFromProps || i18nFromContext || getI18n();\n if (i18n && !i18n.reportNamespaces) i18n.reportNamespaces = new ReportNamespaces();\n\n if (!i18n) {\n warnOnce('You will need pass in an i18next instance by using initReactI18next');\n\n var notReadyT = function notReadyT(k) {\n return Array.isArray(k) ? k[k.length - 1] : k;\n };\n\n var retNotReady = [notReadyT, {}, false];\n retNotReady.t = notReadyT;\n retNotReady.i18n = {};\n retNotReady.ready = false;\n return retNotReady;\n }\n\n var i18nOptions = _objectSpread({}, getDefaults(), {}, i18n.options.react, {}, props);\n\n var useSuspense = i18nOptions.useSuspense; // prepare having a namespace\n\n var namespaces = ns || defaultNSFromContext || i18n.options && i18n.options.defaultNS;\n namespaces = typeof namespaces === 'string' ? [namespaces] : namespaces || ['translation']; // report namespaces as used\n\n if (i18n.reportNamespaces.addUsedNamespaces) i18n.reportNamespaces.addUsedNamespaces(namespaces); // are we ready? yes if all namespaces in first language are loaded already (either with data or empty object on failed load)\n\n var ready = (i18n.isInitialized || i18n.initializedStoreOnce) && namespaces.every(function (n) {\n return hasLoadedNamespace(n, i18n, i18nOptions);\n }); // binding t function to namespace (acts also as rerender trigger)\n\n function getT() {\n return {\n t: i18n.getFixedT(null, i18nOptions.nsMode === 'fallback' ? namespaces : namespaces[0])\n };\n }\n\n var _useState = useState(getT()),\n _useState2 = _slicedToArray(_useState, 2),\n t = _useState2[0],\n setT = _useState2[1]; // seems we can't have functions as value -> wrap it in obj\n\n\n useEffect(function () {\n var isMounted = true;\n var bindI18n = i18nOptions.bindI18n,\n bindI18nStore = i18nOptions.bindI18nStore; // if not ready and not using suspense load the namespaces\n // in side effect and do not call resetT if unmounted\n\n if (!ready && !useSuspense) {\n loadNamespaces(i18n, namespaces, function () {\n if (isMounted) setT(getT());\n });\n }\n\n function boundReset() {\n if (isMounted) setT(getT());\n } // bind events to trigger change, like languageChanged\n\n\n if (bindI18n && i18n) i18n.on(bindI18n, boundReset);\n if (bindI18nStore && i18n) i18n.store.on(bindI18nStore, boundReset); // unbinding on unmount\n\n return function () {\n isMounted = false;\n if (bindI18n && i18n) bindI18n.split(' ').forEach(function (e) {\n return i18n.off(e, boundReset);\n });\n if (bindI18nStore && i18n) bindI18nStore.split(' ').forEach(function (e) {\n return i18n.store.off(e, boundReset);\n });\n };\n }, [namespaces.join()]); // re-run effect whenever list of namespaces changes\n\n var ret = [t.t, i18n, ready];\n ret.t = t.t;\n ret.i18n = i18n;\n ret.ready = ready; // return hook stuff if ready\n\n if (ready) return ret; // not yet loaded namespaces -> load them -> and return if useSuspense option set false\n\n if (!ready && !useSuspense) return ret; // not yet loaded namespaces -> load them -> and trigger suspense\n\n throw new Promise(function (resolve) {\n loadNamespaces(i18n, namespaces, function () {\n setT(getT());\n resolve();\n });\n });\n}","export function warn() {\n if (console && console.warn) {\n var _console;\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 (typeof args[0] === 'string') args[0] = \"react-i18next:: \".concat(args[0]);\n\n (_console = console).warn.apply(_console, args);\n }\n}\nvar alreadyWarned = {};\nexport function warnOnce() {\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' && alreadyWarned[args[0]]) return;\n if (typeof args[0] === 'string') alreadyWarned[args[0]] = new Date();\n warn.apply(void 0, args);\n} // not needed right now\n//\n// export function deprecated(...args) {\n// if (process && process.env && (!process.env.NODE_ENV || process.env.NODE_ENV === 'development')) {\n// if (typeof args[0] === 'string') args[0] = `deprecation warning -> ${args[0]}`;\n// warnOnce(...args);\n// }\n// }\n\nexport function loadNamespaces(i18n, ns, cb) {\n i18n.loadNamespaces(ns, function () {\n // delay ready if not yet initialized i18n instance\n if (i18n.isInitialized) {\n cb();\n } else {\n var initialized = function initialized() {\n // due to emitter removing issue in i18next we need to delay remove\n setTimeout(function () {\n i18n.off('initialized', initialized);\n }, 0);\n cb();\n };\n\n i18n.on('initialized', initialized);\n }\n });\n}\nexport function hasLoadedNamespace(ns, i18n) {\n var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n\n if (!i18n.languages || !i18n.languages.length) {\n warnOnce('i18n.languages were undefined or empty', i18n.languages);\n return true;\n }\n\n var lng = i18n.languages[0];\n var fallbackLng = i18n.options ? i18n.options.fallbackLng : false;\n var lastLng = i18n.languages[i18n.languages.length - 1]; // we're in cimode so this shall pass\n\n if (lng.toLowerCase() === 'cimode') return true;\n\n var loadNotPending = function loadNotPending(l, n) {\n var loadState = i18n.services.backendConnector.state[\"\".concat(l, \"|\").concat(n)];\n return loadState === -1 || loadState === 2;\n }; // bound to trigger on event languageChanging\n // so set ready to false while we are changing the language\n // and namespace pending (depends on having a backend)\n\n\n if (options.bindI18n && options.bindI18n.indexOf('languageChanging') > -1 && i18n.services.backendConnector.backend && i18n.isLanguageChangingTo && !loadNotPending(i18n.isLanguageChangingTo, ns)) return false; // loaded -> SUCCESS\n\n if (i18n.hasResourceBundle(lng, ns)) return true; // were not loading at all -> SEMI SUCCESS\n\n if (!i18n.services.backendConnector.backend) return true; // failed loading ns - but at least fallback is not pending -> SEMI SUCCESS\n\n if (loadNotPending(lng, ns) && (!fallbackLng || loadNotPending(lastLng, ns))) return true;\n return false;\n}\nexport function getDisplayName(Component) {\n return Component.displayName || Component.name || (typeof Component === 'string' && Component.length > 0 ? Component : 'Unknown');\n}","import _defineProperty from \"@babel/runtime/helpers/defineProperty\";\nimport _slicedToArray from \"@babel/runtime/helpers/slicedToArray\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/objectWithoutProperties\";\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(source, true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(source).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nimport React from 'react';\nimport { useTranslation } from './useTranslation';\nimport { getDisplayName } from './utils';\nexport function withTranslation(ns) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n return function Extend(WrappedComponent) {\n function I18nextWithTranslation(_ref) {\n var forwardedRef = _ref.forwardedRef,\n rest = _objectWithoutProperties(_ref, [\"forwardedRef\"]);\n\n var _useTranslation = useTranslation(ns, rest),\n _useTranslation2 = _slicedToArray(_useTranslation, 3),\n t = _useTranslation2[0],\n i18n = _useTranslation2[1],\n ready = _useTranslation2[2];\n\n var passDownProps = _objectSpread({}, rest, {\n t: t,\n i18n: i18n,\n tReady: ready\n });\n\n if (options.withRef && forwardedRef) {\n passDownProps.ref = forwardedRef;\n } else if (!options.withRef && forwardedRef) {\n passDownProps.forwardedRef = forwardedRef;\n }\n\n return React.createElement(WrappedComponent, passDownProps);\n }\n\n I18nextWithTranslation.displayName = \"withI18nextTranslation(\".concat(getDisplayName(WrappedComponent), \")\");\n I18nextWithTranslation.WrappedComponent = WrappedComponent;\n\n var forwardRef = function forwardRef(props, ref) {\n return React.createElement(I18nextWithTranslation, Object.assign({}, props, {\n forwardedRef: ref\n }));\n };\n\n return options.withRef ? React.forwardRef(forwardRef) : I18nextWithTranslation;\n };\n}","import React, { Component } from 'react';\nimport PropTypes from 'prop-types';\nimport { Animated, Easing } from 'react-native';\nimport wrapStyleTransforms from './wrapStyleTransforms';\nimport getStyleValues from './getStyleValues';\nimport flattenStyle from './flattenStyle';\nimport createAnimation from './createAnimation';\nimport { getAnimationByName, getAnimationNames } from './registry';\nimport EASING_FUNCTIONS from './easing';\n\n// These styles are not number based and thus needs to be interpolated\nconst INTERPOLATION_STYLE_PROPERTIES = [\n // Transform styles\n 'rotate',\n 'rotateX',\n 'rotateY',\n 'rotateZ',\n 'skewX',\n 'skewY',\n 'transformMatrix',\n // View styles\n 'backgroundColor',\n 'borderColor',\n 'borderTopColor',\n 'borderRightColor',\n 'borderBottomColor',\n 'borderLeftColor',\n 'shadowColor',\n // Text styles\n 'color',\n 'textDecorationColor',\n // Image styles\n 'tintColor',\n];\n\nconst ZERO_CLAMPED_STYLE_PROPERTIES = ['width', 'height'];\n\n// Create a copy of `source` without `keys`\nfunction omit(keys, source) {\n const filtered = {};\n Object.keys(source).forEach(key => {\n if (keys.indexOf(key) === -1) {\n filtered[key] = source[key];\n }\n });\n return filtered;\n}\n\n// Yes it's absurd, but actually fast\nfunction deepEquals(a, b) {\n return a === b || JSON.stringify(a) === JSON.stringify(b);\n}\n\n// Determine to what value the animation should tween to\nfunction getAnimationTarget(iteration, direction) {\n switch (direction) {\n case 'reverse':\n return 0;\n case 'alternate':\n return iteration % 2 ? 0 : 1;\n case 'alternate-reverse':\n return iteration % 2 ? 1 : 0;\n case 'normal':\n default:\n return 1;\n }\n}\n\n// Like getAnimationTarget but opposite\nfunction getAnimationOrigin(iteration, direction) {\n return getAnimationTarget(iteration, direction) ? 0 : 1;\n}\n\nfunction getCompiledAnimation(animation) {\n if (typeof animation === 'string') {\n const compiledAnimation = getAnimationByName(animation);\n if (!compiledAnimation) {\n throw new Error(`No animation registred by the name of ${animation}`);\n }\n return compiledAnimation;\n }\n return createAnimation(animation);\n}\n\nfunction makeInterpolatedStyle(compiledAnimation, animationValue) {\n const style = {};\n Object.keys(compiledAnimation).forEach(key => {\n if (key === 'style') {\n Object.assign(style, compiledAnimation.style);\n } else if (key !== 'easing') {\n style[key] = animationValue.interpolate(compiledAnimation[key]);\n }\n });\n return wrapStyleTransforms(style);\n}\n\nfunction transitionToValue(\n property,\n transitionValue,\n toValue,\n duration,\n easing,\n useNativeDriver = false,\n delay,\n onTransitionBegin,\n onTransitionEnd,\n) {\n const animation =\n duration || easing || delay\n ? Animated.timing(transitionValue, {\n toValue,\n delay,\n duration: duration || 1000,\n easing:\n typeof easing === 'function'\n ? easing\n : EASING_FUNCTIONS[easing || 'ease'],\n useNativeDriver,\n })\n : Animated.spring(transitionValue, { toValue, useNativeDriver });\n setTimeout(() => onTransitionBegin(property), delay);\n animation.start(() => onTransitionEnd(property));\n}\n\n// Make (almost) any component animatable, similar to Animated.createAnimatedComponent\nexport default function createAnimatableComponent(WrappedComponent) {\n const wrappedComponentName =\n WrappedComponent.displayName || WrappedComponent.name || 'Component';\n\n const Animatable = Animated.createAnimatedComponent(WrappedComponent);\n\n return class AnimatableComponent extends Component {\n static displayName = `withAnimatable(${wrappedComponentName})`;\n\n static propTypes = {\n animation: PropTypes.oneOfType([PropTypes.string, PropTypes.object]),\n duration: PropTypes.number,\n direction: PropTypes.oneOf([\n 'normal',\n 'reverse',\n 'alternate',\n 'alternate-reverse',\n ]),\n delay: PropTypes.number,\n easing: PropTypes.oneOfType([\n PropTypes.oneOf(Object.keys(EASING_FUNCTIONS)),\n PropTypes.func,\n ]),\n iterationCount(props, propName) {\n const val = props[propName];\n if (val !== 'infinite' && !(typeof val === 'number' && val >= 1)) {\n return new Error(\n 'iterationCount must be a positive number or \"infinite\"',\n );\n }\n return null;\n },\n iterationDelay: PropTypes.number,\n onAnimationBegin: PropTypes.func,\n onAnimationEnd: PropTypes.func,\n onTransitionBegin: PropTypes.func,\n onTransitionEnd: PropTypes.func,\n style: PropTypes.oneOfType([\n PropTypes.number,\n PropTypes.array,\n PropTypes.object,\n ]),\n transition: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.arrayOf(PropTypes.string),\n ]),\n useNativeDriver: PropTypes.bool,\n };\n\n static defaultProps = {\n animation: undefined,\n delay: 0,\n direction: 'normal',\n duration: undefined,\n easing: undefined,\n iterationCount: 1,\n iterationDelay: 0,\n onAnimationBegin() {},\n onAnimationEnd() {},\n onTransitionBegin() {},\n onTransitionEnd() {},\n style: undefined,\n transition: undefined,\n useNativeDriver: false,\n };\n\n constructor(props) {\n super(props);\n\n const animationValue = new Animated.Value(\n getAnimationOrigin(0, this.props.direction),\n );\n let animationStyle = {};\n let compiledAnimation = {};\n if (props.animation) {\n compiledAnimation = getCompiledAnimation(props.animation);\n animationStyle = makeInterpolatedStyle(\n compiledAnimation,\n animationValue,\n );\n }\n this.state = {\n animationValue,\n animationStyle,\n compiledAnimation,\n transitionStyle: {},\n transitionValues: {},\n currentTransitionValues: {},\n };\n\n if (props.transition) {\n this.state = {\n ...this.state,\n ...this.initializeTransitionState(props.transition),\n };\n }\n this.delayTimer = null;\n\n // Alias registered animations for backwards compatibility\n getAnimationNames().forEach(animationName => {\n if (!(animationName in this)) {\n this[animationName] = this.animate.bind(this, animationName);\n }\n });\n }\n\n initializeTransitionState(transitionKeys) {\n const transitionValues = {};\n const styleValues = {};\n\n const currentTransitionValues = getStyleValues(\n transitionKeys,\n this.props.style,\n );\n Object.keys(currentTransitionValues).forEach(key => {\n const value = currentTransitionValues[key];\n if (\n INTERPOLATION_STYLE_PROPERTIES.indexOf(key) !== -1 ||\n typeof value !== 'number'\n ) {\n transitionValues[key] = new Animated.Value(0);\n styleValues[key] = value;\n } else {\n const animationValue = new Animated.Value(value);\n transitionValues[key] = animationValue;\n styleValues[key] = animationValue;\n }\n });\n\n return {\n currentTransitionValues,\n transitionStyle: styleValues,\n transitionValues,\n };\n }\n\n getTransitionState(keys) {\n const transitionKeys = typeof keys === 'string' ? [keys] : keys;\n let {\n transitionValues,\n currentTransitionValues,\n transitionStyle,\n } = this.state;\n const missingKeys = transitionKeys.filter(\n key => !this.state.transitionValues[key],\n );\n if (missingKeys.length) {\n const transitionState = this.initializeTransitionState(missingKeys);\n transitionValues = {\n ...transitionValues,\n ...transitionState.transitionValues,\n };\n currentTransitionValues = {\n ...currentTransitionValues,\n ...transitionState.currentTransitionValues,\n };\n transitionStyle = {\n ...transitionStyle,\n ...transitionState.transitionStyle,\n };\n }\n return { transitionValues, currentTransitionValues, transitionStyle };\n }\n\n ref = null;\n\n handleRef = ref => {\n this.ref = ref;\n };\n\n setNativeProps(nativeProps) {\n if (this.ref) {\n this.ref.setNativeProps(nativeProps);\n }\n }\n\n componentDidMount() {\n const {\n animation,\n duration,\n delay,\n onAnimationBegin,\n iterationDelay,\n } = this.props;\n if (animation) {\n const startAnimation = () => {\n onAnimationBegin();\n this.startAnimation(duration, 0, iterationDelay, endState =>\n this.props.onAnimationEnd(endState),\n );\n this.delayTimer = null;\n };\n if (delay) {\n this.delayTimer = setTimeout(startAnimation, delay);\n } else {\n startAnimation();\n }\n }\n }\n\n // eslint-disable-next-line camelcase\n UNSAFE_componentWillReceiveProps(props) {\n const {\n animation,\n delay,\n duration,\n easing,\n iterationDelay,\n transition,\n onAnimationBegin,\n } = props;\n\n if (transition) {\n const values = getStyleValues(transition, props.style);\n this.transitionTo(values, duration, easing, delay);\n } else if (!deepEquals(animation, this.props.animation)) {\n if (animation) {\n if (this.delayTimer) {\n this.setAnimation(animation);\n } else {\n onAnimationBegin();\n this.animate(animation, duration, iterationDelay).then(endState =>\n this.props.onAnimationEnd(endState),\n );\n }\n } else {\n this.stopAnimation();\n }\n }\n }\n\n componentWillUnmount() {\n if (this.delayTimer) {\n clearTimeout(this.delayTimer);\n }\n }\n\n setAnimation(animation, callback) {\n const compiledAnimation = getCompiledAnimation(animation);\n this.setState(\n state => ({\n animationStyle: makeInterpolatedStyle(\n compiledAnimation,\n state.animationValue,\n ),\n compiledAnimation,\n }),\n callback,\n );\n }\n\n animate(animation, duration, iterationDelay) {\n return new Promise(resolve => {\n this.setAnimation(animation, () => {\n this.startAnimation(duration, 0, iterationDelay, resolve);\n });\n });\n }\n\n stopAnimation() {\n this.setState({\n scheduledAnimation: false,\n animationStyle: {},\n });\n this.state.animationValue.stopAnimation();\n if (this.delayTimer) {\n clearTimeout(this.delayTimer);\n this.delayTimer = null;\n }\n }\n\n startAnimation(duration, iteration, iterationDelay, callback) {\n const { animationValue, compiledAnimation } = this.state;\n const { direction, iterationCount, useNativeDriver } = this.props;\n let easing = this.props.easing || compiledAnimation.easing || 'ease';\n let currentIteration = iteration || 0;\n const fromValue = getAnimationOrigin(currentIteration, direction);\n const toValue = getAnimationTarget(currentIteration, direction);\n animationValue.setValue(fromValue);\n\n if (typeof easing === 'string') {\n easing = EASING_FUNCTIONS[easing];\n }\n // Reverse easing if on the way back\n const reversed =\n direction === 'reverse' ||\n (direction === 'alternate' && !toValue) ||\n (direction === 'alternate-reverse' && !toValue);\n if (reversed) {\n easing = Easing.out(easing);\n }\n const config = {\n toValue,\n easing,\n isInteraction: iterationCount <= 1,\n duration: duration || this.props.duration || 1000,\n useNativeDriver,\n delay: iterationDelay || 0,\n };\n\n Animated.timing(animationValue, config).start(endState => {\n currentIteration += 1;\n if (\n endState.finished &&\n this.props.animation &&\n (iterationCount === 'infinite' || currentIteration < iterationCount)\n ) {\n this.startAnimation(\n duration,\n currentIteration,\n iterationDelay,\n callback,\n );\n } else if (callback) {\n callback(endState);\n }\n });\n }\n\n transition(fromValues, toValues, duration, easing) {\n const fromValuesFlat = flattenStyle(fromValues);\n const toValuesFlat = flattenStyle(toValues);\n const transitionKeys = Object.keys(toValuesFlat);\n const {\n transitionValues,\n currentTransitionValues,\n transitionStyle,\n } = this.getTransitionState(transitionKeys);\n\n transitionKeys.forEach(property => {\n const fromValue = fromValuesFlat[property];\n const toValue = toValuesFlat[property];\n let transitionValue = transitionValues[property];\n if (!transitionValue) {\n transitionValue = new Animated.Value(0);\n }\n const needsInterpolation =\n INTERPOLATION_STYLE_PROPERTIES.indexOf(property) !== -1 ||\n typeof value !== 'number';\n const needsZeroClamping =\n ZERO_CLAMPED_STYLE_PROPERTIES.indexOf(property) !== -1;\n if (needsInterpolation) {\n transitionValue.setValue(0);\n transitionStyle[property] = transitionValue.interpolate({\n inputRange: [0, 1],\n outputRange: [fromValue, toValue],\n });\n currentTransitionValues[property] = toValue;\n toValuesFlat[property] = 1;\n } else {\n if (needsZeroClamping) {\n transitionStyle[property] = transitionValue.interpolate({\n inputRange: [0, 1],\n outputRange: [0, 1],\n extrapolateLeft: 'clamp',\n });\n currentTransitionValues[property] = toValue;\n } else {\n transitionStyle[property] = transitionValue;\n }\n transitionValue.setValue(fromValue);\n }\n });\n this.setState(\n { transitionValues, transitionStyle, currentTransitionValues },\n () => {\n this.transitionToValues(\n toValuesFlat,\n duration || this.props.duration,\n easing,\n this.props.delay,\n );\n },\n );\n }\n\n transitionTo(toValues, duration, easing, delay) {\n const { currentTransitionValues } = this.state;\n const toValuesFlat = flattenStyle(toValues);\n const transitions = {\n from: {},\n to: {},\n };\n\n Object.keys(toValuesFlat).forEach(property => {\n const toValue = toValuesFlat[property];\n const needsInterpolation =\n INTERPOLATION_STYLE_PROPERTIES.indexOf(property) !== -1 ||\n typeof value !== 'number';\n const needsZeroClamping =\n ZERO_CLAMPED_STYLE_PROPERTIES.indexOf(property) !== -1;\n const transitionStyle = this.state.transitionStyle[property];\n const transitionValue = this.state.transitionValues[property];\n if (\n !needsInterpolation &&\n !needsZeroClamping &&\n transitionStyle &&\n transitionStyle === transitionValue\n ) {\n transitionToValue(\n property,\n transitionValue,\n toValue,\n duration,\n easing,\n this.props.useNativeDriver,\n delay,\n prop => this.props.onTransitionBegin(prop),\n prop => this.props.onTransitionEnd(prop),\n );\n } else {\n let currentTransitionValue = currentTransitionValues[property];\n if (\n typeof currentTransitionValue === 'undefined' &&\n this.props.style\n ) {\n const style = getStyleValues(property, this.props.style);\n currentTransitionValue = style[property];\n }\n transitions.from[property] = currentTransitionValue;\n transitions.to[property] = toValue;\n }\n });\n\n if (Object.keys(transitions.from).length) {\n this.transition(transitions.from, transitions.to, duration, easing);\n }\n }\n\n transitionToValues(toValues, duration, easing, delay) {\n Object.keys(toValues).forEach(property => {\n const transitionValue = this.state.transitionValues[property];\n const toValue = toValues[property];\n transitionToValue(\n property,\n transitionValue,\n toValue,\n duration,\n easing,\n this.props.useNativeDriver,\n delay,\n prop => this.props.onTransitionBegin(prop),\n prop => this.props.onTransitionEnd(prop),\n );\n });\n }\n\n render() {\n const { style, animation, transition } = this.props;\n if (animation && transition) {\n throw new Error('You cannot combine animation and transition props');\n }\n const restProps = omit(\n [\n 'animation',\n 'duration',\n 'direction',\n 'delay',\n 'easing',\n 'iterationCount',\n 'iterationDelay',\n 'onAnimationBegin',\n 'onAnimationEnd',\n 'onTransitionBegin',\n 'onTransitionEnd',\n 'style',\n 'transition',\n 'useNativeDriver',\n ],\n this.props,\n );\n\n return (\n \n );\n }\n };\n}\n","import flattenStyle from './flattenStyle';\n\nfunction compareNumbers(a, b) {\n return a - b;\n}\n\nfunction notNull(value) {\n return value !== null;\n}\n\nfunction parsePosition(value) {\n if (value === 'from') {\n return 0;\n }\n if (value === 'to') {\n return 1;\n }\n const parsed = parseFloat(value, 10);\n if (Number.isNaN(parsed) || parsed < 0 || parsed > 1) {\n return null;\n }\n return parsed;\n}\n\nconst cache = {};\n\nexport default function createAnimation(definition) {\n const cacheKey = JSON.stringify(definition);\n if (cache[cacheKey]) {\n return cache[cacheKey];\n }\n\n const positions = Object.keys(definition)\n .map(parsePosition)\n .filter(notNull);\n positions.sort(compareNumbers);\n\n if (positions.length < 2) {\n throw new Error('Animation definitions must have at least two values.');\n }\n\n const compiled = {};\n if (definition.easing) {\n compiled.easing = definition.easing;\n }\n if (definition.style) {\n compiled.style = definition.style;\n }\n\n for (let i = 0; i < positions.length; i += 1) {\n const position = positions[i];\n let keyframe = definition[position];\n if (!keyframe) {\n if (position === 0) {\n keyframe = definition.from;\n } else if (position === 1) {\n keyframe = definition.to;\n }\n }\n if (!keyframe) {\n throw new Error('Missing animation keyframe, this should not happen');\n }\n\n keyframe = flattenStyle(keyframe);\n Object.keys(keyframe).forEach(key => {\n if (!(key in compiled)) {\n compiled[key] = {\n inputRange: [],\n outputRange: [],\n };\n }\n compiled[key].inputRange.push(position);\n compiled[key].outputRange.push(keyframe[key]);\n });\n }\n\n cache[cacheKey] = compiled;\n\n return compiled;\n}\n","export const bounce = {\n 0: {\n translateY: 0,\n },\n 0.2: {\n translateY: 0,\n },\n 0.4: {\n translateY: -30,\n },\n 0.43: {\n translateY: -30,\n },\n 0.53: {\n translateY: 0,\n },\n 0.7: {\n translateY: -15,\n },\n 0.8: {\n translateY: 0,\n },\n 0.9: {\n translateY: -4,\n },\n 1: {\n translateY: 0,\n },\n};\n\nexport const flash = {\n 0: {\n opacity: 1,\n },\n 0.25: {\n opacity: 0,\n },\n 0.5: {\n opacity: 1,\n },\n 0.75: {\n opacity: 0,\n },\n 1: {\n opacity: 1,\n },\n};\n\nexport const jello = {\n 0: {\n skewX: '0deg',\n skewY: '0deg',\n },\n 0.111: {\n skewX: '0deg',\n skewY: '0deg',\n },\n 0.222: {\n skewX: '-12.5deg',\n skewY: '-12.5deg',\n },\n 0.333: {\n skewX: '6.25deg',\n skewY: '6.25deg',\n },\n 0.444: {\n skewX: '-3.125deg',\n skewY: '-3.125deg',\n },\n 0.555: {\n skewX: '1.5625deg',\n skewY: '1.5625deg',\n },\n 0.666: {\n skewX: '-0.78125deg',\n skewY: '-0.78125deg',\n },\n 0.777: {\n skewX: '0.390625deg',\n skewY: '0.390625deg',\n },\n 0.888: {\n skewX: '-0.1953125deg',\n skewY: '-0.1953125deg',\n },\n 1: {\n skewX: '0deg',\n skewY: '0deg',\n },\n};\n\nexport const pulse = {\n 0: {\n scale: 1,\n },\n 0.5: {\n scale: 1.05,\n },\n 1: {\n scale: 1,\n },\n};\n\nexport const rotate = {\n 0: {\n rotate: '0deg',\n },\n 0.25: {\n rotate: '90deg',\n },\n 0.5: {\n rotate: '180deg',\n },\n 0.75: {\n rotate: '270deg',\n },\n 1: {\n rotate: '360deg',\n },\n};\n\nexport const shake = {\n 0: {\n translateX: 0,\n },\n 0.1: {\n translateX: -10,\n },\n 0.2: {\n translateX: 10,\n },\n 0.3: {\n translateX: -10,\n },\n 0.4: {\n translateX: 10,\n },\n 0.5: {\n translateX: -10,\n },\n 0.6: {\n translateX: 10,\n },\n 0.7: {\n translateX: -10,\n },\n 0.8: {\n translateX: 10,\n },\n 0.9: {\n translateX: -10,\n },\n 1: {\n translateX: 0,\n },\n};\n\nexport const swing = {\n 0: {\n rotate: '0deg',\n },\n 0.2: {\n rotate: '15deg',\n },\n 0.4: {\n rotate: '-10deg',\n },\n 0.6: {\n rotate: '5deg',\n },\n 0.8: {\n rotate: '-5deg',\n },\n 1: {\n rotate: '0deg',\n },\n};\n\nexport const rubberBand = {\n 0: {\n scaleX: 1,\n scaleY: 1,\n },\n 0.3: {\n scaleX: 1.25,\n scaleY: 0.75,\n },\n 0.4: {\n scaleX: 0.75,\n scaleY: 1.25,\n },\n 0.5: {\n scaleX: 1.15,\n scaleY: 0.85,\n },\n 0.65: {\n scaleX: 0.95,\n scaleY: 1.05,\n },\n 0.75: {\n scaleX: 1.05,\n scaleY: 0.95,\n },\n 1: {\n scaleX: 1,\n scaleY: 1,\n },\n};\n\nexport const tada = {\n 0: {\n scale: 1,\n rotate: '0deg',\n },\n 0.1: {\n scale: 0.9,\n rotate: '-3deg',\n },\n 0.2: {\n scale: 0.9,\n rotate: '-3deg',\n },\n 0.3: {\n scale: 1.1,\n rotate: '-3deg',\n },\n 0.4: {\n rotate: '3deg',\n },\n 0.5: {\n rotate: '-3deg',\n },\n 0.6: {\n rotate: '3deg',\n },\n 0.7: {\n rotate: '-3deg',\n },\n 0.8: {\n rotate: '3deg',\n },\n 0.9: {\n scale: 1.1,\n rotate: '3deg',\n },\n 1: {\n scale: 1,\n rotate: '0deg',\n },\n};\n\nexport const wobble = {\n 0: {\n translateX: 0,\n rotate: '0deg',\n },\n 0.15: {\n translateX: -25,\n rotate: '-5deg',\n },\n 0.3: {\n translateX: 20,\n rotate: '3deg',\n },\n 0.45: {\n translateX: -15,\n rotate: '-3deg',\n },\n 0.6: {\n translateX: 10,\n rotate: '2deg',\n },\n 0.75: {\n translateX: -5,\n rotate: '-1deg',\n },\n 1: {\n translateX: 0,\n rotate: '0deg',\n },\n};\n","export const bounceIn = {\n 0: {\n opacity: 0,\n scale: 0.3,\n },\n 0.2: {\n scale: 1.1,\n },\n 0.4: {\n scale: 0.9,\n },\n 0.6: {\n opacity: 1,\n scale: 1.03,\n },\n 0.8: {\n scale: 0.97,\n },\n 1: {\n opacity: 1,\n scale: 1,\n },\n};\n\nexport const bounceInUp = {\n 0: {\n opacity: 0,\n translateY: 800,\n },\n 0.6: {\n opacity: 1,\n translateY: -25,\n },\n 0.75: {\n translateY: 10,\n },\n 0.9: {\n translateY: -5,\n },\n 1: {\n translateY: 0,\n },\n};\n\nexport const bounceInDown = {\n 0: {\n opacity: 0,\n translateY: -800,\n },\n 0.6: {\n opacity: 1,\n translateY: 25,\n },\n 0.75: {\n translateY: -10,\n },\n 0.9: {\n translateY: 5,\n },\n 1: {\n translateY: 0,\n },\n};\n\nexport const bounceInRight = {\n 0: {\n opacity: 0,\n translateX: 600,\n },\n 0.6: {\n opacity: 1,\n translateX: -20,\n },\n 0.75: {\n translateX: 8,\n },\n 0.9: {\n translateX: -4,\n },\n 1: {\n translateX: 0,\n },\n};\n\nexport const bounceInLeft = {\n 0: {\n opacity: 0,\n translateX: -600,\n },\n 0.6: {\n opacity: 1,\n translateX: 20,\n },\n 0.75: {\n translateX: -8,\n },\n 0.9: {\n translateX: 4,\n },\n 1: {\n translateX: 0,\n },\n};\n","export const bounceOut = {\n 0: {\n opacity: 1,\n scale: 1,\n },\n 0.2: {\n scale: 0.9,\n },\n 0.5: {\n opacity: 1,\n scale: 1.11,\n },\n 0.55: {\n scale: 1.11,\n },\n 1: {\n opacity: 0,\n scale: 0.3,\n },\n};\n\nexport const bounceOutUp = {\n 0: {\n opacity: 1,\n translateY: 0,\n },\n 0.2: {\n opacity: 1,\n translateY: -10,\n },\n 0.4: {\n translateY: 20,\n },\n 0.45: {\n translateY: 20,\n },\n 0.55: {\n opacity: 1,\n },\n 1: {\n opacity: 0,\n translateY: -800,\n },\n};\n\nexport const bounceOutDown = {\n 0: {\n opacity: 1,\n translateY: 0,\n },\n 0.2: {\n opacity: 1,\n translateY: 10,\n },\n 0.4: {\n translateY: -20,\n },\n 0.45: {\n translateY: -20,\n },\n 0.55: {\n opacity: 1,\n },\n 1: {\n opacity: 0,\n translateY: 800,\n },\n};\n\nexport const bounceOutRight = {\n 0: {\n opacity: 1,\n translateX: 0,\n },\n 0.2: {\n opacity: 1,\n translateX: 10,\n },\n 0.4: {\n translateX: -20,\n },\n 0.45: {\n translateX: -20,\n },\n 0.55: {\n opacity: 1,\n },\n 1: {\n opacity: 0,\n translateX: 600,\n },\n};\n\nexport const bounceOutLeft = {\n 0: {\n opacity: 1,\n translateX: 0,\n },\n 0.2: {\n opacity: 1,\n translateX: -10,\n },\n 0.4: {\n translateX: 20,\n },\n 0.45: {\n translateX: 20,\n },\n 0.55: {\n opacity: 1,\n },\n 1: {\n opacity: 0,\n translateX: -600,\n },\n};\n","function makeFadeInTranslation(translationType, fromValue) {\n return {\n from: {\n opacity: 0,\n [translationType]: fromValue,\n },\n to: {\n opacity: 1,\n [translationType]: 0,\n },\n };\n}\n\nexport const fadeIn = {\n from: {\n opacity: 0,\n },\n to: {\n opacity: 1,\n },\n};\n\nexport const fadeInDown = makeFadeInTranslation('translateY', -100);\n\nexport const fadeInUp = makeFadeInTranslation('translateY', 100);\n\nexport const fadeInLeft = makeFadeInTranslation('translateX', -100);\n\nexport const fadeInRight = makeFadeInTranslation('translateX', 100);\n\nexport const fadeInDownBig = makeFadeInTranslation('translateY', -500);\n\nexport const fadeInUpBig = makeFadeInTranslation('translateY', 500);\n\nexport const fadeInLeftBig = makeFadeInTranslation('translateX', -500);\n\nexport const fadeInRightBig = makeFadeInTranslation('translateX', 500);\n","function makeFadeOutTranslation(translationType, toValue) {\n return {\n from: {\n opacity: 1,\n [translationType]: 0,\n },\n to: {\n opacity: 0,\n [translationType]: toValue,\n },\n };\n}\n\nexport const fadeOut = {\n from: {\n opacity: 1,\n },\n to: {\n opacity: 0,\n },\n};\n\nexport const fadeOutDown = makeFadeOutTranslation('translateY', 100);\n\nexport const fadeOutUp = makeFadeOutTranslation('translateY', -100);\n\nexport const fadeOutLeft = makeFadeOutTranslation('translateX', -100);\n\nexport const fadeOutRight = makeFadeOutTranslation('translateX', 100);\n\nexport const fadeOutDownBig = makeFadeOutTranslation('translateY', 500);\n\nexport const fadeOutUpBig = makeFadeOutTranslation('translateY', -500);\n\nexport const fadeOutLeftBig = makeFadeOutTranslation('translateX', -500);\n\nexport const fadeOutRightBig = makeFadeOutTranslation('translateX', 500);\n","export const flipInX = {\n easing: 'ease-in',\n style: {\n backfaceVisibility: 'visible',\n perspective: 400,\n },\n 0: {\n opacity: 0,\n rotateX: '90deg',\n },\n 0.4: {\n rotateX: '-20deg',\n },\n 0.6: {\n opacity: 1,\n rotateX: '10deg',\n },\n 0.8: {\n rotateX: '-5deg',\n },\n 1: {\n opacity: 1,\n rotateX: '0deg',\n },\n};\n\nexport const flipInY = {\n easing: 'ease-in',\n style: {\n backfaceVisibility: 'visible',\n perspective: 400,\n },\n 0: {\n opacity: 0,\n rotateY: '90deg',\n },\n 0.4: {\n rotateY: '-20deg',\n },\n 0.6: {\n opacity: 1,\n rotateY: '10deg',\n },\n 0.8: {\n rotateY: '-5deg',\n },\n 1: {\n opacity: 1,\n rotateY: '0deg',\n },\n};\n\nexport const flipOutX = {\n style: {\n backfaceVisibility: 'visible',\n perspective: 400,\n },\n 0: {\n opacity: 1,\n rotateX: '0deg',\n },\n 0.3: {\n opacity: 1,\n rotateX: '-20deg',\n },\n 1: {\n opacity: 0,\n rotateX: '90deg',\n },\n};\n\nexport const flipOutY = {\n style: {\n backfaceVisibility: 'visible',\n perspective: 400,\n },\n 0: {\n opacity: 1,\n rotateY: '0deg',\n },\n 0.3: {\n opacity: 1,\n rotateY: '-20deg',\n },\n 1: {\n opacity: 0,\n rotateY: '90deg',\n },\n};\n","export const lightSpeedIn = {\n easing: 'ease-out',\n 0: {\n opacity: 0,\n translateX: 200,\n skewX: '-30deg',\n },\n 0.6: {\n opacity: 1,\n translateX: 0,\n skewX: '20deg',\n },\n 0.8: {\n skewX: '-5deg',\n },\n 1: {\n opacity: 1,\n translateX: 0,\n skewX: '0deg',\n },\n};\n\nexport const lightSpeedOut = {\n easing: 'ease-in',\n 0: {\n opacity: 1,\n translateX: 0,\n skewX: '0deg',\n },\n 1: {\n opacity: 0,\n translateX: 200,\n skewX: '30deg',\n },\n};\n","function makeSlideInTranslation(translationType, fromValue) {\n return {\n from: {\n [translationType]: fromValue,\n },\n to: {\n [translationType]: 0,\n },\n };\n}\n\nexport const slideInDown = makeSlideInTranslation('translateY', -100);\n\nexport const slideInUp = makeSlideInTranslation('translateY', 100);\n\nexport const slideInLeft = makeSlideInTranslation('translateX', -100);\n\nexport const slideInRight = makeSlideInTranslation('translateX', 100);\n","function makeSlideOutTranslation(translationType, fromValue) {\n return {\n from: {\n [translationType]: 0,\n },\n to: {\n [translationType]: fromValue,\n },\n };\n}\n\nexport const slideOutDown = makeSlideOutTranslation('translateY', 100);\n\nexport const slideOutUp = makeSlideOutTranslation('translateY', -100);\n\nexport const slideOutLeft = makeSlideOutTranslation('translateX', -100);\n\nexport const slideOutRight = makeSlideOutTranslation('translateX', 100);\n","import { Easing } from 'react-native';\n\nfunction makeZoomInTranslation(translationType, pivotPoint) {\n const modifier = Math.min(1, Math.max(-1, pivotPoint));\n return {\n easing: Easing.bezier(0.175, 0.885, 0.32, 1),\n 0: {\n opacity: 0,\n scale: 0.1,\n [translationType]: modifier * -1000,\n },\n 0.6: {\n opacity: 1,\n scale: 0.457,\n [translationType]: pivotPoint,\n },\n 1: {\n scale: 1,\n [translationType]: 0,\n },\n };\n}\n\nexport const zoomIn = {\n from: {\n opacity: 0,\n scale: 0.3,\n },\n 0.5: {\n opacity: 1,\n },\n to: {\n opacity: 1,\n scale: 1,\n },\n};\n\nexport const zoomInDown = makeZoomInTranslation('translateY', 60);\n\nexport const zoomInUp = makeZoomInTranslation('translateY', -60);\n\nexport const zoomInLeft = makeZoomInTranslation('translateX', 10);\n\nexport const zoomInRight = makeZoomInTranslation('translateX', -10);\n","import { Easing } from 'react-native';\n\nfunction makeZoomOutTranslation(translationType, pivotPoint) {\n const modifier = Math.min(1, Math.max(-1, pivotPoint));\n return {\n easing: Easing.bezier(0.175, 0.885, 0.32, 1),\n 0: {\n opacity: 1,\n scale: 1,\n [translationType]: 0,\n },\n 0.4: {\n opacity: 1,\n scale: 0.457,\n [translationType]: pivotPoint,\n },\n 1: {\n opacity: 0,\n scale: 0.1,\n [translationType]: modifier * -1000,\n },\n };\n}\n\nexport const zoomOut = {\n from: {\n opacity: 1,\n scale: 1,\n },\n 0.5: {\n opacity: 1,\n scale: 0.3,\n },\n to: {\n opacity: 0,\n scale: 0,\n },\n};\n\nexport const zoomOutDown = makeZoomOutTranslation('translateY', 60);\n\nexport const zoomOutUp = makeZoomOutTranslation('translateY', -60);\n\nexport const zoomOutLeft = makeZoomOutTranslation('translateX', 10);\n\nexport const zoomOutRight = makeZoomOutTranslation('translateX', -10);\n","import { Easing } from 'react-native';\n\nconst EASING_FUNCTIONS = {\n // Standard CSS easings\n\n linear: Easing.linear,\n ease: Easing.bezier(0.25, 0.1, 0.25, 1),\n 'ease-in': Easing.bezier(0.42, 0, 1, 1),\n 'ease-out': Easing.bezier(0, 0, 0.58, 1),\n 'ease-in-out': Easing.bezier(0.42, 0, 0.58, 1),\n\n // Penner Equations - http://matthewlein.com/ceaser/ & http://easings.net\n\n 'ease-in-cubic': Easing.bezier(0.55, 0.055, 0.675, 0.19),\n 'ease-out-cubic': Easing.bezier(0.215, 0.61, 0.355, 1.0),\n 'ease-in-out-cubic': Easing.bezier(0.645, 0.045, 0.355, 1.0),\n\n 'ease-in-circ': Easing.bezier(0.6, 0.04, 0.98, 0.335),\n 'ease-out-circ': Easing.bezier(0.075, 0.82, 0.165, 1.0),\n 'ease-in-out-circ': Easing.bezier(0.785, 0.135, 0.15, 0.86),\n\n 'ease-in-expo': Easing.bezier(0.95, 0.05, 0.795, 0.035),\n 'ease-out-expo': Easing.bezier(0.19, 1.0, 0.22, 1.0),\n 'ease-in-out-expo': Easing.bezier(1.0, 0.0, 0.0, 1.0),\n\n 'ease-in-quad': Easing.bezier(0.55, 0.085, 0.68, 0.53),\n 'ease-out-quad': Easing.bezier(0.25, 0.46, 0.45, 0.94),\n 'ease-in-out-quad': Easing.bezier(0.455, 0.03, 0.515, 0.955),\n\n 'ease-in-quart': Easing.bezier(0.895, 0.03, 0.685, 0.22),\n 'ease-out-quart': Easing.bezier(0.165, 0.84, 0.44, 1.0),\n 'ease-in-out-quart': Easing.bezier(0.77, 0.0, 0.175, 1.0),\n\n 'ease-in-quint': Easing.bezier(0.755, 0.05, 0.855, 0.06),\n 'ease-out-quint': Easing.bezier(0.23, 1.0, 0.32, 1.0),\n 'ease-in-out-quint': Easing.bezier(0.86, 0.0, 0.07, 1.0),\n\n 'ease-in-sine': Easing.bezier(0.47, 0.0, 0.745, 0.715),\n 'ease-out-sine': Easing.bezier(0.39, 0.575, 0.565, 1.0),\n 'ease-in-out-sine': Easing.bezier(0.445, 0.05, 0.55, 0.95),\n\n 'ease-in-back': Easing.bezier(0.6, -0.28, 0.735, 0.045),\n 'ease-out-back': Easing.bezier(0.175, 0.885, 0.32, 1.275),\n 'ease-in-out-back': Easing.bezier(0.68, -0.55, 0.265, 1.55),\n};\n\nexport default EASING_FUNCTIONS;\n","import { StyleSheet } from 'react-native';\n\nexport default function flattenStyle(style) {\n const flatStyle = Object.assign({}, StyleSheet.flatten(style));\n if (flatStyle.transform) {\n flatStyle.transform.forEach(transform => {\n const key = Object.keys(transform)[0];\n flatStyle[key] = transform[key];\n });\n delete flatStyle.transform;\n }\n return flatStyle;\n}\n","/* eslint-disable no-plusplus */\n\nconst DIRECTIONAL_FALLBACKS = {\n Top: ['Vertical', ''],\n Bottom: ['Vertical', ''],\n Vertical: [''],\n Left: ['Horizontal', ''],\n Right: ['Horizontal', ''],\n Horizontal: [''],\n};\n\nconst DIRECTIONAL_SUFFICES = Object.keys(DIRECTIONAL_FALLBACKS);\n\nexport default function getDefaultStyleValue(key, flatStyle) {\n if (key === 'backgroundColor') {\n return 'rgba(0,0,0,0)';\n }\n if (key === 'color' || key.indexOf('Color') !== -1) {\n return 'rgba(0,0,0,1)';\n }\n if (key.indexOf('rotate') === 0 || key.indexOf('skew') === 0) {\n return '0deg';\n }\n if (key === 'opacity' || key.indexOf('scale') === 0) {\n return 1;\n }\n if (key === 'fontSize') {\n return 14;\n }\n if (key.indexOf('margin') === 0 || key.indexOf('padding') === 0) {\n for (let suffix, i = 0; i < DIRECTIONAL_SUFFICES.length; i++) {\n suffix = DIRECTIONAL_SUFFICES[i];\n if (key.substr(-suffix.length) === suffix) {\n const prefix = key.substr(0, key.length - suffix.length);\n const fallbacks = DIRECTIONAL_FALLBACKS[suffix];\n for (let fallback, j = 0; j < fallbacks.length; j++) {\n fallback = prefix + fallbacks[j];\n if (fallback in flatStyle) {\n return flatStyle[fallback];\n }\n }\n break;\n }\n }\n }\n return 0;\n}\n","import flattenStyle from './flattenStyle';\nimport getDefaultStyleValue from './getDefaultStyleValue';\n\n// Returns a flattened version of style with only `keys` values.\nexport default function getStyleValues(keys, style) {\n const values = {};\n const flatStyle = flattenStyle(style);\n\n (typeof keys === 'string' ? [keys] : keys).forEach(key => {\n values[key] =\n key in flatStyle ? flatStyle[key] : getDefaultStyleValue(key, flatStyle);\n });\n return values;\n}\n","import {\n View as CoreView,\n Text as CoreText,\n Image as CoreImage,\n} from 'react-native';\nimport createComponent from './createAnimatableComponent';\nimport { initializeRegistryWithDefinitions } from './registry';\nimport * as ANIMATION_DEFINITIONS from './definitions';\n\ninitializeRegistryWithDefinitions(ANIMATION_DEFINITIONS);\n\nexport const createAnimatableComponent = createComponent;\nexport const View = createComponent(CoreView);\nexport const Text = createComponent(CoreText);\nexport const Image = createComponent(CoreImage);\nexport { default as createAnimation } from './createAnimation';\nexport {\n registerAnimation,\n initializeRegistryWithDefinitions,\n} from './registry';\n","import createAnimation from './createAnimation';\n\nconst animationRegistry = {};\n\nexport function registerAnimation(animationName, animation) {\n animationRegistry[animationName] = animation;\n}\n\nexport function getAnimationByName(animationName) {\n return animationRegistry[animationName];\n}\n\nexport function getAnimationNames() {\n return Object.keys(animationRegistry);\n}\n\nexport function initializeRegistryWithDefinitions(definitions) {\n Object.keys(definitions).forEach(animationName => {\n registerAnimation(\n animationName,\n createAnimation(definitions[animationName]),\n );\n });\n}\n","// These styles need to be nested in a transform array\nconst TRANSFORM_STYLE_PROPERTIES = [\n 'perspective',\n 'rotate',\n 'rotateX',\n 'rotateY',\n 'rotateZ',\n 'scale',\n 'scaleX',\n 'scaleY',\n 'skewX',\n 'skewY',\n 'translateX',\n 'translateY',\n];\n\n// Transforms { translateX: 1 } to { transform: [{ translateX: 1 }]}\nexport default function wrapStyleTransforms(style) {\n const wrapped = {};\n Object.keys(style).forEach(key => {\n if (TRANSFORM_STYLE_PROPERTIES.indexOf(key) !== -1) {\n if (!wrapped.transform) {\n wrapped.transform = [];\n }\n wrapped.transform.push({\n [key]: style[key],\n });\n } else {\n wrapped[key] = style[key];\n }\n });\n return wrapped;\n}\n","/**\n * Copyright (c) Meta Platforms, Inc. and 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 */\nimport canUseDOM from '../../modules/canUseDom';\n\nfunction isScreenReaderEnabled() {\n return new Promise((resolve, reject) => {\n resolve(true);\n });\n}\n\nvar prefersReducedMotionMedia = canUseDOM && typeof window.matchMedia === 'function' ? window.matchMedia('(prefers-reduced-motion: reduce)') : null;\n\nfunction isReduceMotionEnabled() {\n return new Promise((resolve, reject) => {\n resolve(prefersReducedMotionMedia ? prefersReducedMotionMedia.matches : true);\n });\n}\n\nfunction addChangeListener(fn) {\n if (prefersReducedMotionMedia != null) {\n prefersReducedMotionMedia.addEventListener != null ? prefersReducedMotionMedia.addEventListener('change', fn) : prefersReducedMotionMedia.addListener(fn);\n }\n}\n\nfunction removeChangeListener(fn) {\n if (prefersReducedMotionMedia != null) {\n prefersReducedMotionMedia.removeEventListener != null ? prefersReducedMotionMedia.removeEventListener('change', fn) : prefersReducedMotionMedia.removeListener(fn);\n }\n}\n\nvar handlers = {};\nvar AccessibilityInfo = {\n /**\n * Query whether a screen reader is currently enabled.\n *\n * Returns a promise which resolves to a boolean.\n * The result is `true` when a screen reader is enabled and `false` otherwise.\n */\n isScreenReaderEnabled,\n\n /**\n * Query whether the user prefers reduced motion.\n *\n * Returns a promise which resolves to a boolean.\n * The result is `true` when a screen reader is enabled and `false` otherwise.\n */\n isReduceMotionEnabled,\n\n /**\n * Deprecated\n */\n fetch: isScreenReaderEnabled,\n\n /**\n * Add an event handler. Supported events: reduceMotionChanged\n */\n addEventListener: function addEventListener(eventName, handler) {\n if (eventName === 'reduceMotionChanged') {\n if (!prefersReducedMotionMedia) {\n return;\n }\n\n var listener = event => {\n handler(event.matches);\n };\n\n addChangeListener(listener);\n handlers[handler] = listener;\n }\n\n return {\n remove: () => AccessibilityInfo.removeEventListener(eventName, handler)\n };\n },\n\n /**\n * Set accessibility focus to a react component.\n */\n setAccessibilityFocus: function setAccessibilityFocus(reactTag) {},\n\n /**\n * Post a string to be announced by the screen reader.\n */\n announceForAccessibility: function announceForAccessibility(announcement) {},\n\n /**\n * Remove an event handler.\n */\n removeEventListener: function removeEventListener(eventName, handler) {\n if (eventName === 'reduceMotionChanged') {\n var listener = handlers[handler];\n\n if (!listener || !prefersReducedMotionMedia) {\n return;\n }\n\n removeChangeListener(listener);\n }\n\n return;\n }\n};\nexport default AccessibilityInfo;","import _extends from \"@babel/runtime/helpers/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/objectWithoutPropertiesLoose\";\nvar _excluded = [\"animating\", \"color\", \"hidesWhenStopped\", \"size\", \"style\"];\n\n/**\n * Copyright (c) Nicolas Gallagher.\n * Copyright (c) Meta Platforms, Inc. and 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 */\nimport * as React from 'react';\nimport StyleSheet from '../StyleSheet';\nimport View from '../View';\n\nvar createSvgCircle = style => /*#__PURE__*/React.createElement(\"circle\", {\n cx: \"16\",\n cy: \"16\",\n fill: \"none\",\n r: \"14\",\n strokeWidth: \"4\",\n style: style\n});\n\nvar ActivityIndicator = /*#__PURE__*/React.forwardRef((props, forwardedRef) => {\n var _props$animating = props.animating,\n animating = _props$animating === void 0 ? true : _props$animating,\n _props$color = props.color,\n color = _props$color === void 0 ? '#1976D2' : _props$color,\n _props$hidesWhenStopp = props.hidesWhenStopped,\n hidesWhenStopped = _props$hidesWhenStopp === void 0 ? true : _props$hidesWhenStopp,\n _props$size = props.size,\n size = _props$size === void 0 ? 'small' : _props$size,\n style = props.style,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n\n var svg = /*#__PURE__*/React.createElement(\"svg\", {\n height: \"100%\",\n viewBox: \"0 0 32 32\",\n width: \"100%\"\n }, createSvgCircle({\n stroke: color,\n opacity: 0.2\n }), createSvgCircle({\n stroke: color,\n strokeDasharray: 80,\n strokeDashoffset: 60\n }));\n return /*#__PURE__*/React.createElement(View, _extends({}, other, {\n accessibilityRole: \"progressbar\",\n accessibilityValueMax: 1,\n accessibilityValueMin: 0,\n ref: forwardedRef,\n style: [styles.container, style]\n }), /*#__PURE__*/React.createElement(View, {\n children: svg,\n style: [typeof size === 'number' ? {\n height: size,\n width: size\n } : indicatorSizes[size], styles.animation, !animating && styles.animationPause, !animating && hidesWhenStopped && styles.hidesWhenStopped]\n }));\n});\nActivityIndicator.displayName = 'ActivityIndicator';\nvar styles = StyleSheet.create({\n container: {\n alignItems: 'center',\n justifyContent: 'center'\n },\n hidesWhenStopped: {\n visibility: 'hidden'\n },\n animation: {\n animationDuration: '0.75s',\n animationKeyframes: [{\n '0%': {\n transform: [{\n rotate: '0deg'\n }]\n },\n '100%': {\n transform: [{\n rotate: '360deg'\n }]\n }\n }],\n animationTimingFunction: 'linear',\n animationIterationCount: 'infinite'\n },\n animationPause: {\n animationPlayState: 'paused'\n }\n});\nvar indicatorSizes = StyleSheet.create({\n small: {\n width: 20,\n height: 20\n },\n large: {\n width: 36,\n height: 36\n }\n});\nexport default ActivityIndicator;","/**\n * Copyright (c) Nicolas Gallagher.\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 */\nclass Alert {\n static alert() {}\n\n}\n\nexport default Alert;","/**\n * Copyright (c) Nicolas Gallagher.\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 */\nimport Animated from '../../vendor/react-native/Animated/Animated';\nexport default Animated;","/**\n * Copyright (c) Nicolas Gallagher.\n * Copyright (c) Meta Platforms, Inc. and 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 */\nimport * as React from 'react';\nimport StyleSheet from '../StyleSheet';\nimport View from '../View';\nvar RootTagContext = /*#__PURE__*/React.createContext(null);\nexport default function AppContainer(props) {\n var children = props.children,\n WrapperComponent = props.WrapperComponent;\n var innerView = /*#__PURE__*/React.createElement(View, {\n children: children,\n key: 1,\n pointerEvents: \"box-none\",\n style: styles.appContainer\n });\n\n if (WrapperComponent) {\n innerView = /*#__PURE__*/React.createElement(WrapperComponent, null, innerView);\n }\n\n return /*#__PURE__*/React.createElement(RootTagContext.Provider, {\n value: props.rootTag\n }, /*#__PURE__*/React.createElement(View, {\n pointerEvents: \"box-none\",\n style: styles.appContainer\n }, innerView));\n}\nvar styles = StyleSheet.create({\n appContainer: {\n flex: 1\n }\n});","import _objectSpread from \"@babel/runtime/helpers/objectSpread2\";\n\n/**\n * Copyright (c) Nicolas Gallagher.\n * Copyright (c) Meta Platforms, Inc. and 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 */\nimport invariant from 'fbjs/lib/invariant';\nimport unmountComponentAtNode from '../unmountComponentAtNode';\nimport renderApplication, { getApplication as _getApplication } from './renderApplication';\nvar emptyObject = {};\nvar runnables = {};\n\nvar componentProviderInstrumentationHook = component => component();\n\nvar wrapperComponentProvider;\n/**\n * `AppRegistry` is the JS entry point to running all React Native apps.\n */\n\nexport default class AppRegistry {\n static getAppKeys() {\n return Object.keys(runnables);\n }\n\n static getApplication(appKey, appParameters) {\n invariant(runnables[appKey] && runnables[appKey].getApplication, \"Application \" + appKey + \" has not been registered. \" + 'This is either due to an import error during initialization or failure to call AppRegistry.registerComponent.');\n return runnables[appKey].getApplication(appParameters);\n }\n\n static registerComponent(appKey, componentProvider) {\n runnables[appKey] = {\n getApplication: appParameters => _getApplication(componentProviderInstrumentationHook(componentProvider), appParameters ? appParameters.initialProps : emptyObject, wrapperComponentProvider && wrapperComponentProvider(appParameters)),\n run: appParameters => renderApplication(componentProviderInstrumentationHook(componentProvider), wrapperComponentProvider && wrapperComponentProvider(appParameters), appParameters.callback, {\n hydrate: appParameters.hydrate || false,\n initialProps: appParameters.initialProps || emptyObject,\n rootTag: appParameters.rootTag\n })\n };\n return appKey;\n }\n\n static registerConfig(config) {\n config.forEach(_ref => {\n var appKey = _ref.appKey,\n component = _ref.component,\n run = _ref.run;\n\n if (run) {\n AppRegistry.registerRunnable(appKey, run);\n } else {\n invariant(component, 'No component provider passed in');\n AppRegistry.registerComponent(appKey, component);\n }\n });\n } // TODO: fix style sheet creation when using this method\n\n\n static registerRunnable(appKey, run) {\n runnables[appKey] = {\n run\n };\n return appKey;\n }\n\n static runApplication(appKey, appParameters) {\n var isDevelopment = process.env.NODE_ENV !== 'production' && process.env.NODE_ENV !== 'test';\n\n if (isDevelopment) {\n var params = _objectSpread({}, appParameters);\n\n params.rootTag = \"#\" + params.rootTag.id;\n console.log(\"Running application \\\"\" + appKey + \"\\\" with appParams:\\n\", params, \"\\nDevelopment-level warnings: \" + (isDevelopment ? 'ON' : 'OFF') + \".\" + (\"\\nPerformance optimizations: \" + (isDevelopment ? 'OFF' : 'ON') + \".\"));\n }\n\n invariant(runnables[appKey] && runnables[appKey].run, \"Application \\\"\" + appKey + \"\\\" has not been registered. \" + 'This is either due to an import error during initialization or failure to call AppRegistry.registerComponent.');\n runnables[appKey].run(appParameters);\n }\n\n static setComponentProviderInstrumentationHook(hook) {\n componentProviderInstrumentationHook = hook;\n }\n\n static setWrapperComponentProvider(provider) {\n wrapperComponentProvider = provider;\n }\n\n static unmountApplicationComponentAtRootTag(rootTag) {\n unmountComponentAtNode(rootTag);\n }\n\n}","import _extends from \"@babel/runtime/helpers/extends\";\n\n/**\n * Copyright (c) Nicolas Gallagher.\n * Copyright (c) Meta Platforms, Inc. and 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 */\nimport AppContainer from './AppContainer';\nimport invariant from 'fbjs/lib/invariant';\nimport render, { hydrate } from '../render';\nimport StyleSheet from '../StyleSheet';\nimport React from 'react';\nexport default function renderApplication(RootComponent, WrapperComponent, callback, options) {\n var shouldHydrate = options.hydrate,\n initialProps = options.initialProps,\n rootTag = options.rootTag;\n var renderFn = shouldHydrate ? hydrate : render;\n invariant(rootTag, 'Expect to have a valid rootTag, instead got ', rootTag);\n renderFn( /*#__PURE__*/React.createElement(AppContainer, {\n WrapperComponent: WrapperComponent,\n rootTag: rootTag\n }, /*#__PURE__*/React.createElement(RootComponent, initialProps)), rootTag, callback);\n}\nexport function getApplication(RootComponent, initialProps, WrapperComponent) {\n var element = /*#__PURE__*/React.createElement(AppContainer, {\n WrapperComponent: WrapperComponent,\n rootTag: {}\n }, /*#__PURE__*/React.createElement(RootComponent, initialProps)); // Don't escape CSS text\n\n var getStyleElement = props => {\n var sheet = StyleSheet.getSheet();\n return /*#__PURE__*/React.createElement(\"style\", _extends({}, props, {\n dangerouslySetInnerHTML: {\n __html: sheet.textContent\n },\n id: sheet.id\n }));\n };\n\n return {\n element,\n getStyleElement\n };\n}","/**\n * Copyright (c) Nicolas Gallagher.\n * Copyright (c) Meta Platforms, Inc. and 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 */\nimport invariant from 'fbjs/lib/invariant';\nimport EventEmitter from '../../vendor/react-native/emitter/_EventEmitter';\nimport canUseDOM from '../../modules/canUseDom'; // Android 4.4 browser\n\nvar isPrefixed = canUseDOM && !document.hasOwnProperty('hidden') && document.hasOwnProperty('webkitHidden');\nvar EVENT_TYPES = ['change', 'memoryWarning'];\nvar VISIBILITY_CHANGE_EVENT = isPrefixed ? 'webkitvisibilitychange' : 'visibilitychange';\nvar VISIBILITY_STATE_PROPERTY = isPrefixed ? 'webkitVisibilityState' : 'visibilityState';\nvar AppStates = {\n BACKGROUND: 'background',\n ACTIVE: 'active'\n};\nvar changeEmitter = null;\nexport default class AppState {\n static get currentState() {\n if (!AppState.isAvailable) {\n return AppStates.ACTIVE;\n }\n\n switch (document[VISIBILITY_STATE_PROPERTY]) {\n case 'hidden':\n case 'prerender':\n case 'unloaded':\n return AppStates.BACKGROUND;\n\n default:\n return AppStates.ACTIVE;\n }\n }\n\n static addEventListener(type, handler) {\n if (AppState.isAvailable) {\n invariant(EVENT_TYPES.indexOf(type) !== -1, 'Trying to subscribe to unknown event: \"%s\"', type);\n\n if (type === 'change') {\n if (!changeEmitter) {\n changeEmitter = new EventEmitter();\n document.addEventListener(VISIBILITY_CHANGE_EVENT, () => {\n if (changeEmitter) {\n changeEmitter.emit('change', AppState.currentState);\n }\n }, false);\n }\n\n return changeEmitter.addListener(type, handler);\n }\n }\n }\n\n static removeEventListener(type, handler) {\n if (AppState.isAvailable) {\n console.error(\"AppState.removeListener('\" + type + \"', ...): Method has been \" + 'deprecated. Please instead use `remove()` on the subscription ' + 'returned by `AppState.addEventListener`.');\n invariant(EVENT_TYPES.indexOf(type) !== -1, 'Trying to remove listener for unknown event: \"%s\"', type);\n\n if (type === 'change' && changeEmitter) {\n changeEmitter.removeListener(handler);\n }\n }\n }\n\n}\nAppState.isAvailable = canUseDOM && document[VISIBILITY_STATE_PROPERTY];","/**\n * Copyright (c) Nicolas Gallagher.\n * Copyright (c) Meta Platforms, Inc. and 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 */\nimport canUseDOM from '../../modules/canUseDom';\n\nfunction getQuery() {\n return canUseDOM && window.matchMedia != null ? window.matchMedia('(prefers-color-scheme: dark)') : null;\n}\n\nvar query = getQuery();\nvar listenerMapping = new WeakMap();\nvar Appearance = {\n getColorScheme() {\n return query && query.matches ? 'dark' : 'light';\n },\n\n addChangeListener(listener) {\n var mappedListener = listenerMapping.get(listener);\n\n if (!mappedListener) {\n mappedListener = _ref => {\n var matches = _ref.matches;\n listener({\n colorScheme: matches ? 'dark' : 'light'\n });\n };\n\n listenerMapping.set(listener, mappedListener);\n }\n\n if (query) {\n query.addListener(mappedListener);\n }\n\n function remove() {\n var mappedListener = listenerMapping.get(listener);\n\n if (query && mappedListener) {\n query.removeListener(mappedListener);\n }\n\n listenerMapping.delete(listener);\n }\n\n return {\n remove\n };\n }\n\n};\nexport default Appearance;","/**\n * Copyright (c) Nicolas Gallagher.\n * Copyright (c) Meta Platforms, Inc. and 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 */\nfunction emptyFunction() {}\n\nvar BackHandler = {\n exitApp: emptyFunction,\n\n addEventListener() {\n return {\n remove: emptyFunction\n };\n },\n\n removeEventListener: emptyFunction\n};\nexport default BackHandler;","/**\n * Copyright (c) Nicolas Gallagher.\n * Copyright (c) Meta Platforms, Inc. and 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 */\nimport * as React from 'react';\nimport StyleSheet from '../StyleSheet';\nimport TouchableOpacity from '../TouchableOpacity';\nimport Text from '../Text';\nvar Button = /*#__PURE__*/React.forwardRef((props, forwardedRef) => {\n var accessibilityLabel = props.accessibilityLabel,\n color = props.color,\n disabled = props.disabled,\n onPress = props.onPress,\n testID = props.testID,\n title = props.title;\n return /*#__PURE__*/React.createElement(TouchableOpacity, {\n accessibilityLabel: accessibilityLabel,\n accessibilityRole: \"button\",\n disabled: disabled,\n focusable: !disabled,\n onPress: onPress,\n ref: forwardedRef,\n style: [styles.button, color && {\n backgroundColor: color\n }, disabled && styles.buttonDisabled],\n testID: testID\n }, /*#__PURE__*/React.createElement(Text, {\n style: [styles.text, disabled && styles.textDisabled]\n }, title));\n});\nButton.displayName = 'Button';\nvar styles = StyleSheet.create({\n button: {\n backgroundColor: '#2196F3',\n borderRadius: 2\n },\n text: {\n color: '#fff',\n fontWeight: '500',\n padding: 8,\n textAlign: 'center',\n textTransform: 'uppercase'\n },\n buttonDisabled: {\n backgroundColor: '#dfdfdf'\n },\n textDisabled: {\n color: '#a1a1a1'\n }\n});\nexport default Button;","import _objectSpread from \"@babel/runtime/helpers/objectSpread2\";\nimport _extends from \"@babel/runtime/helpers/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/objectWithoutPropertiesLoose\";\nvar _excluded = [\"color\", \"disabled\", \"onChange\", \"onValueChange\", \"style\", \"value\"];\n\n/**\n * Copyright (c) Nicolas Gallagher.\n * Copyright (c) Meta Platforms, Inc. and 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 */\nimport * as React from 'react';\nimport createElement from '../createElement';\nimport StyleSheet from '../StyleSheet';\nimport View from '../View';\nvar CheckBox = /*#__PURE__*/React.forwardRef((props, forwardedRef) => {\n var color = props.color,\n disabled = props.disabled,\n onChange = props.onChange,\n onValueChange = props.onValueChange,\n style = props.style,\n value = props.value,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n\n function handleChange(event) {\n var value = event.nativeEvent.target.checked;\n event.nativeEvent.value = value;\n onChange && onChange(event);\n onValueChange && onValueChange(value);\n }\n\n var fakeControl = /*#__PURE__*/React.createElement(View, {\n style: [styles.fakeControl, value && styles.fakeControlChecked, // custom color\n value && color && {\n backgroundColor: color,\n borderColor: color\n }, disabled && styles.fakeControlDisabled, value && disabled && styles.fakeControlCheckedAndDisabled]\n });\n var nativeControl = createElement('input', {\n checked: value,\n disabled: disabled,\n onChange: handleChange,\n ref: forwardedRef,\n style: [styles.nativeControl, styles.cursorInherit],\n type: 'checkbox'\n });\n return /*#__PURE__*/React.createElement(View, _extends({}, other, {\n accessibilityDisabled: disabled,\n style: [styles.root, style, disabled && styles.cursorDefault]\n }), fakeControl, nativeControl);\n});\nCheckBox.displayName = 'CheckBox';\nvar styles = StyleSheet.create({\n root: {\n cursor: 'pointer',\n height: 16,\n userSelect: 'none',\n width: 16\n },\n cursorDefault: {\n cursor: 'default'\n },\n cursorInherit: {\n cursor: 'inherit'\n },\n fakeControl: {\n alignItems: 'center',\n backgroundColor: '#fff',\n borderColor: '#657786',\n borderRadius: 2,\n borderStyle: 'solid',\n borderWidth: 2,\n height: '100%',\n justifyContent: 'center',\n width: '100%'\n },\n fakeControlChecked: {\n backgroundColor: '#009688',\n backgroundImage: 'url(\"data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIj8+CjxzdmcKICAgeG1sbnM6ZGM9Imh0dHA6Ly9wdXJsLm9yZy9kYy9lbGVtZW50cy8xLjEvIgogICB4bWxuczpjYz0iaHR0cDovL2NyZWF0aXZlY29tbW9ucy5vcmcvbnMjIgogICB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiCiAgIHhtbG5zOnN2Zz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciCiAgIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIKICAgdmVyc2lvbj0iMS4xIgogICB2aWV3Qm94PSIwIDAgMSAxIgogICBwcmVzZXJ2ZUFzcGVjdFJhdGlvPSJ4TWluWU1pbiBtZWV0Ij4KICA8cGF0aAogICAgIGQ9Ik0gMC4wNDAzODA1OSwwLjYyNjc3NjcgMC4xNDY0NDY2MSwwLjUyMDcxMDY4IDAuNDI5Mjg5MzIsMC44MDM1NTMzOSAwLjMyMzIyMzMsMC45MDk2MTk0MSB6IE0gMC4yMTcxNTcyOSwwLjgwMzU1MzM5IDAuODUzNTUzMzksMC4xNjcxNTcyOSAwLjk1OTYxOTQxLDAuMjczMjIzMyAwLjMyMzIyMzMsMC45MDk2MTk0MSB6IgogICAgIGlkPSJyZWN0Mzc4MCIKICAgICBzdHlsZT0iZmlsbDojZmZmZmZmO2ZpbGwtb3BhY2l0eToxO3N0cm9rZTpub25lIiAvPgo8L3N2Zz4K\")',\n backgroundRepeat: 'no-repeat',\n borderColor: '#009688'\n },\n fakeControlDisabled: {\n borderColor: '#CCD6DD'\n },\n fakeControlCheckedAndDisabled: {\n backgroundColor: '#AAB8C2',\n borderColor: '#AAB8C2'\n },\n nativeControl: _objectSpread(_objectSpread({}, StyleSheet.absoluteFillObject), {}, {\n height: '100%',\n margin: 0,\n appearance: 'none',\n padding: 0,\n width: '100%'\n })\n});\nexport default CheckBox;","/**\n * Copyright (c) Nicolas Gallagher.\n * Copyright (c) Meta Platforms, Inc. and 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 */\nvar clipboardAvailable;\nexport default class Clipboard {\n static isAvailable() {\n if (clipboardAvailable === undefined) {\n clipboardAvailable = typeof document.queryCommandSupported === 'function' && document.queryCommandSupported('copy');\n }\n\n return clipboardAvailable;\n }\n\n static getString() {\n return Promise.resolve('');\n }\n\n static setString(text) {\n var success = false;\n var body = document.body;\n\n if (body) {\n // add the text to a hidden node\n var node = document.createElement('span');\n node.textContent = text;\n node.style.opacity = '0';\n node.style.position = 'absolute';\n node.style.whiteSpace = 'pre-wrap';\n node.style.userSelect = 'auto';\n body.appendChild(node); // select the text\n\n var selection = window.getSelection();\n selection.removeAllRanges();\n var range = document.createRange();\n range.selectNodeContents(node);\n selection.addRange(range); // attempt to copy\n\n try {\n document.execCommand('copy');\n success = true;\n } catch (e) {} // remove selection and node\n\n\n selection.removeAllRanges();\n body.removeChild(node);\n }\n\n return success;\n }\n\n}","import RCTDeviceEventEmitter from '../../vendor/react-native/NativeEventEmitter/RCTDeviceEventEmitter';\nexport default RCTDeviceEventEmitter;","/**\n * Copyright (c) Nicolas Gallagher.\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 */\nimport Dimensions from '../Dimensions';\nimport canUseDOM from '../../modules/canUseDom';\nvar DeviceInfo = {\n Dimensions: {\n get windowPhysicalPixels() {\n var _Dimensions$get = Dimensions.get('window'),\n width = _Dimensions$get.width,\n height = _Dimensions$get.height,\n fontScale = _Dimensions$get.fontScale,\n scale = _Dimensions$get.scale;\n\n return {\n width: width * scale,\n height: height * scale,\n scale,\n fontScale\n };\n },\n\n get screenPhysicalPixels() {\n var _Dimensions$get2 = Dimensions.get('screen'),\n width = _Dimensions$get2.width,\n height = _Dimensions$get2.height,\n fontScale = _Dimensions$get2.fontScale,\n scale = _Dimensions$get2.scale;\n\n return {\n width: width * scale,\n height: height * scale,\n scale,\n fontScale\n };\n }\n\n },\n\n get locale() {\n if (canUseDOM) {\n if (navigator.languages) {\n return navigator.languages[0];\n } else {\n return navigator.language;\n }\n }\n },\n\n get totalMemory() {\n // $FlowIssue deviceMemory not defined in navigator\n return canUseDOM ? navigator.deviceMemory : undefined;\n },\n\n get userAgent() {\n return canUseDOM ? navigator.userAgent : '';\n }\n\n};\nexport default DeviceInfo;","/**\n * Copyright (c) Nicolas Gallagher.\n * Copyright (c) Meta Platforms, Inc. and 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 */\nimport invariant from 'fbjs/lib/invariant';\nimport canUseDOM from '../../modules/canUseDom';\nvar dimensions = {\n window: {\n fontScale: 1,\n height: 0,\n scale: 1,\n width: 0\n },\n screen: {\n fontScale: 1,\n height: 0,\n scale: 1,\n width: 0\n }\n};\nvar listeners = {};\nvar shouldInit = canUseDOM;\nexport default class Dimensions {\n static get(dimension) {\n if (shouldInit) {\n shouldInit = false;\n\n Dimensions._update();\n }\n\n invariant(dimensions[dimension], \"No dimension set for key \" + dimension);\n return dimensions[dimension];\n }\n\n static set(initialDimensions) {\n if (initialDimensions) {\n if (canUseDOM) {\n invariant(false, 'Dimensions cannot be set in the browser');\n } else {\n if (initialDimensions.screen != null) {\n dimensions.screen = initialDimensions.screen;\n }\n\n if (initialDimensions.window != null) {\n dimensions.window = initialDimensions.window;\n }\n }\n }\n }\n\n static _update() {\n if (!canUseDOM) {\n return;\n }\n\n var win = window;\n var docEl = win.document.documentElement;\n dimensions.window = {\n fontScale: 1,\n height: docEl.clientHeight,\n scale: win.devicePixelRatio || 1,\n width: docEl.clientWidth\n };\n dimensions.screen = {\n fontScale: 1,\n height: win.screen.height,\n scale: win.devicePixelRatio || 1,\n width: win.screen.width\n };\n\n if (Array.isArray(listeners['change'])) {\n listeners['change'].forEach(handler => handler(dimensions));\n }\n }\n\n static addEventListener(type, handler) {\n listeners[type] = listeners[type] || [];\n listeners[type].push(handler);\n return {\n remove: () => {\n this.removeEventListener(type, handler);\n }\n };\n }\n\n static removeEventListener(type, handler) {\n if (Array.isArray(listeners[type])) {\n listeners[type] = listeners[type].filter(_handler => _handler !== handler);\n }\n }\n\n}\n\nif (canUseDOM) {\n window.addEventListener('resize', Dimensions._update, false);\n}","import UnimplementedView from '../../modules/UnimplementedView';\nexport default UnimplementedView;","/**\n * Copyright (c) Nicolas Gallagher.\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 */\nimport Easing from '../../vendor/react-native/Animated/Easing';\nexport default Easing;","/**\n * Copyright (c) Nicolas Gallagher.\n * Copyright (c) Meta Platforms, Inc. and 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 */\nimport FlatList from '../../vendor/react-native/FlatList';\nexport default FlatList;","/**\n * Copyright (c) Nicolas Gallagher.\n * Copyright (c) Meta Platforms, Inc. and 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 */\nvar I18nManager = {\n allowRTL() {\n return;\n },\n\n forceRTL() {\n return;\n },\n\n getConstants() {\n return {\n isRTL: false\n };\n }\n\n};\nexport default I18nManager;","import _extends from \"@babel/runtime/helpers/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/objectWithoutPropertiesLoose\";\nvar _excluded = [\"children\", \"style\", \"imageStyle\", \"imageRef\"];\n\n/**\n * Copyright (c) Meta Platforms, Inc. and 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 */\nimport * as React from 'react';\nimport { forwardRef } from 'react';\nimport Image from '../Image';\nimport StyleSheet from '../StyleSheet';\nimport View from '../View';\nvar emptyObject = {};\n/**\n * Very simple drop-in replacement for which supports nesting views.\n */\n\nvar ImageBackground = /*#__PURE__*/forwardRef((props, forwardedRef) => {\n var children = props.children,\n _props$style = props.style,\n style = _props$style === void 0 ? emptyObject : _props$style,\n imageStyle = props.imageStyle,\n imageRef = props.imageRef,\n rest = _objectWithoutPropertiesLoose(props, _excluded);\n\n var _StyleSheet$flatten = StyleSheet.flatten(style),\n height = _StyleSheet$flatten.height,\n width = _StyleSheet$flatten.width;\n\n return /*#__PURE__*/React.createElement(View, {\n ref: forwardedRef,\n style: style\n }, /*#__PURE__*/React.createElement(Image, _extends({}, rest, {\n ref: imageRef,\n style: [{\n // Temporary Workaround:\n // Current (imperfect yet) implementation of overwrites width and height styles\n // (which is not quite correct), and these styles conflict with explicitly set styles\n // of and with our internal layout model here.\n // So, we have to proxy/reapply these styles explicitly for actual component.\n // This workaround should be removed after implementing proper support of\n // intrinsic content size of the .\n width,\n height,\n zIndex: -1\n }, StyleSheet.absoluteFill, imageStyle]\n })), children);\n});\nImageBackground.displayName = 'ImageBackground';\nexport default ImageBackground;","import _objectSpread from \"@babel/runtime/helpers/objectSpread2\";\nimport _extends from \"@babel/runtime/helpers/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/objectWithoutPropertiesLoose\";\nvar _excluded = [\"accessibilityLabel\", \"blurRadius\", \"defaultSource\", \"draggable\", \"onError\", \"onLayout\", \"onLoad\", \"onLoadEnd\", \"onLoadStart\", \"pointerEvents\", \"source\", \"style\"];\n\n/**\n * Copyright (c) Nicolas Gallagher.\n * Copyright (c) Meta Platforms, Inc. and 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 */\nimport * as React from 'react';\nimport createElement from '../createElement';\nimport { getAssetByID } from '../../modules/AssetRegistry';\nimport { createBoxShadowValue } from '../StyleSheet/preprocess';\nimport ImageLoader from '../../modules/ImageLoader';\nimport PixelRatio from '../PixelRatio';\nimport StyleSheet from '../StyleSheet';\nimport TextAncestorContext from '../Text/TextAncestorContext';\nimport View from '../View';\nvar ERRORED = 'ERRORED';\nvar LOADED = 'LOADED';\nvar LOADING = 'LOADING';\nvar IDLE = 'IDLE';\nvar _filterId = 0;\nvar svgDataUriPattern = /^(data:image\\/svg\\+xml;utf8,)(.*)/;\n\nfunction createTintColorSVG(tintColor, id) {\n return tintColor && id != null ? /*#__PURE__*/React.createElement(\"svg\", {\n style: {\n position: 'absolute',\n height: 0,\n visibility: 'hidden',\n width: 0\n }\n }, /*#__PURE__*/React.createElement(\"defs\", null, /*#__PURE__*/React.createElement(\"filter\", {\n id: \"tint-\" + id,\n suppressHydrationWarning: true\n }, /*#__PURE__*/React.createElement(\"feFlood\", {\n floodColor: \"\" + tintColor,\n key: tintColor\n }), /*#__PURE__*/React.createElement(\"feComposite\", {\n in2: \"SourceAlpha\",\n operator: \"atop\"\n })))) : null;\n}\n\nfunction getFlatStyle(style, blurRadius, filterId) {\n var flatStyle = StyleSheet.flatten(style);\n var filter = flatStyle.filter,\n resizeMode = flatStyle.resizeMode,\n shadowOffset = flatStyle.shadowOffset,\n tintColor = flatStyle.tintColor; // Add CSS filters\n // React Native exposes these features as props and proprietary styles\n\n var filters = [];\n var _filter = null;\n\n if (filter) {\n filters.push(filter);\n }\n\n if (blurRadius) {\n filters.push(\"blur(\" + blurRadius + \"px)\");\n }\n\n if (shadowOffset) {\n var shadowString = createBoxShadowValue(flatStyle);\n\n if (shadowString) {\n filters.push(\"drop-shadow(\" + shadowString + \")\");\n }\n }\n\n if (tintColor && filterId != null) {\n filters.push(\"url(#tint-\" + filterId + \")\");\n }\n\n if (filters.length > 0) {\n _filter = filters.join(' ');\n } // These styles are converted to CSS filters applied to the\n // element displaying the background image.\n\n\n delete flatStyle.blurRadius;\n delete flatStyle.shadowColor;\n delete flatStyle.shadowOpacity;\n delete flatStyle.shadowOffset;\n delete flatStyle.shadowRadius;\n delete flatStyle.tintColor; // These styles are not supported on View\n\n delete flatStyle.overlayColor;\n delete flatStyle.resizeMode;\n return [flatStyle, resizeMode, _filter, tintColor];\n}\n\nfunction resolveAssetDimensions(source) {\n if (typeof source === 'number') {\n var _getAssetByID = getAssetByID(source),\n _height = _getAssetByID.height,\n _width = _getAssetByID.width;\n\n return {\n height: _height,\n width: _width\n };\n } else if (source != null && !Array.isArray(source) && typeof source === 'object') {\n var _height2 = source.height,\n _width2 = source.width;\n return {\n height: _height2,\n width: _width2\n };\n }\n}\n\nfunction resolveAssetUri(source) {\n var uri = null;\n\n if (typeof source === 'number') {\n // get the URI from the packager\n var asset = getAssetByID(source);\n var scale = asset.scales[0];\n\n if (asset.scales.length > 1) {\n var preferredScale = PixelRatio.get(); // Get the scale which is closest to the preferred scale\n\n scale = asset.scales.reduce((prev, curr) => Math.abs(curr - preferredScale) < Math.abs(prev - preferredScale) ? curr : prev);\n }\n\n var scaleSuffix = scale !== 1 ? \"@\" + scale + \"x\" : '';\n uri = asset ? asset.httpServerLocation + \"/\" + asset.name + scaleSuffix + \".\" + asset.type : '';\n } else if (typeof source === 'string') {\n uri = source;\n } else if (source && typeof source.uri === 'string') {\n uri = source.uri;\n }\n\n if (uri) {\n var match = uri.match(svgDataUriPattern); // inline SVG markup may contain characters (e.g., #, \") that need to be escaped\n\n if (match) {\n var prefix = match[1],\n svg = match[2];\n var encodedSvg = encodeURIComponent(svg);\n return \"\" + prefix + encodedSvg;\n }\n }\n\n return uri;\n}\n\nvar Image = /*#__PURE__*/React.forwardRef((props, ref) => {\n var accessibilityLabel = props.accessibilityLabel,\n blurRadius = props.blurRadius,\n defaultSource = props.defaultSource,\n draggable = props.draggable,\n onError = props.onError,\n onLayout = props.onLayout,\n onLoad = props.onLoad,\n onLoadEnd = props.onLoadEnd,\n onLoadStart = props.onLoadStart,\n pointerEvents = props.pointerEvents,\n source = props.source,\n style = props.style,\n rest = _objectWithoutPropertiesLoose(props, _excluded);\n\n if (process.env.NODE_ENV !== 'production') {\n if (props.children) {\n throw new Error('The component cannot contain children. If you want to render content on top of the image, consider using the component or absolute positioning.');\n }\n }\n\n var _React$useState = React.useState(() => {\n var uri = resolveAssetUri(source);\n\n if (uri != null) {\n var isLoaded = ImageLoader.has(uri);\n\n if (isLoaded) {\n return LOADED;\n }\n }\n\n return IDLE;\n }),\n state = _React$useState[0],\n updateState = _React$useState[1];\n\n var _React$useState2 = React.useState({}),\n layout = _React$useState2[0],\n updateLayout = _React$useState2[1];\n\n var hasTextAncestor = React.useContext(TextAncestorContext);\n var hiddenImageRef = React.useRef(null);\n var filterRef = React.useRef(_filterId++);\n var requestRef = React.useRef(null);\n var shouldDisplaySource = state === LOADED || state === LOADING && defaultSource == null;\n\n var _getFlatStyle = getFlatStyle(style, blurRadius, filterRef.current),\n flatStyle = _getFlatStyle[0],\n _resizeMode = _getFlatStyle[1],\n filter = _getFlatStyle[2],\n tintColor = _getFlatStyle[3];\n\n var resizeMode = props.resizeMode || _resizeMode || 'cover';\n var selectedSource = shouldDisplaySource ? source : defaultSource;\n var displayImageUri = resolveAssetUri(selectedSource);\n var imageSizeStyle = resolveAssetDimensions(selectedSource);\n var backgroundImage = displayImageUri ? \"url(\\\"\" + displayImageUri + \"\\\")\" : null;\n var backgroundSize = getBackgroundSize(); // Accessibility image allows users to trigger the browser's image context menu\n\n var hiddenImage = displayImageUri ? createElement('img', {\n alt: accessibilityLabel || '',\n style: styles.accessibilityImage$raw,\n draggable: draggable || false,\n ref: hiddenImageRef,\n src: displayImageUri\n }) : null;\n\n function getBackgroundSize() {\n if (hiddenImageRef.current != null && (resizeMode === 'center' || resizeMode === 'repeat')) {\n var _hiddenImageRef$curre = hiddenImageRef.current,\n naturalHeight = _hiddenImageRef$curre.naturalHeight,\n naturalWidth = _hiddenImageRef$curre.naturalWidth;\n var _height3 = layout.height,\n _width3 = layout.width;\n\n if (naturalHeight && naturalWidth && _height3 && _width3) {\n var scaleFactor = Math.min(1, _width3 / naturalWidth, _height3 / naturalHeight);\n var x = Math.ceil(scaleFactor * naturalWidth);\n var y = Math.ceil(scaleFactor * naturalHeight);\n return x + \"px \" + y + \"px\";\n }\n }\n }\n\n function handleLayout(e) {\n if (resizeMode === 'center' || resizeMode === 'repeat' || onLayout) {\n var _layout = e.nativeEvent.layout;\n onLayout && onLayout(e);\n updateLayout(_layout);\n }\n } // Image loading\n\n\n var uri = resolveAssetUri(source);\n React.useEffect(() => {\n abortPendingRequest();\n\n if (uri != null) {\n updateState(LOADING);\n\n if (onLoadStart) {\n onLoadStart();\n }\n\n requestRef.current = ImageLoader.load(uri, function load(e) {\n updateState(LOADED);\n\n if (onLoad) {\n onLoad(e);\n }\n\n if (onLoadEnd) {\n onLoadEnd();\n }\n }, function error() {\n updateState(ERRORED);\n\n if (onError) {\n onError({\n nativeEvent: {\n error: \"Failed to load resource \" + uri + \" (404)\"\n }\n });\n }\n\n if (onLoadEnd) {\n onLoadEnd();\n }\n });\n }\n\n function abortPendingRequest() {\n if (requestRef.current != null) {\n ImageLoader.abort(requestRef.current);\n requestRef.current = null;\n }\n }\n\n return abortPendingRequest;\n }, [uri, requestRef, updateState, onError, onLoad, onLoadEnd, onLoadStart]);\n return /*#__PURE__*/React.createElement(View, _extends({}, rest, {\n accessibilityLabel: accessibilityLabel,\n onLayout: handleLayout,\n pointerEvents: pointerEvents,\n ref: ref,\n style: [styles.root, hasTextAncestor && styles.inline, imageSizeStyle, flatStyle]\n }), /*#__PURE__*/React.createElement(View, {\n style: [styles.image, resizeModeStyles[resizeMode], {\n backgroundImage,\n filter\n }, backgroundSize != null && {\n backgroundSize\n }],\n suppressHydrationWarning: true\n }), hiddenImage, createTintColorSVG(tintColor, filterRef.current));\n});\nImage.displayName = 'Image'; // $FlowIgnore: This is the correct type, but casting makes it unhappy since the variables aren't defined yet\n\nvar ImageWithStatics = Image;\n\nImageWithStatics.getSize = function (uri, success, failure) {\n ImageLoader.getSize(uri, success, failure);\n};\n\nImageWithStatics.prefetch = function (uri) {\n return ImageLoader.prefetch(uri);\n};\n\nImageWithStatics.queryCache = function (uris) {\n return ImageLoader.queryCache(uris);\n};\n\nvar styles = StyleSheet.create({\n root: {\n flexBasis: 'auto',\n overflow: 'hidden',\n zIndex: 0\n },\n inline: {\n display: 'inline-flex'\n },\n image: _objectSpread(_objectSpread({}, StyleSheet.absoluteFillObject), {}, {\n backgroundColor: 'transparent',\n backgroundPosition: 'center',\n backgroundRepeat: 'no-repeat',\n backgroundSize: 'cover',\n height: '100%',\n width: '100%',\n zIndex: -1\n }),\n accessibilityImage$raw: _objectSpread(_objectSpread({}, StyleSheet.absoluteFillObject), {}, {\n height: '100%',\n opacity: 0,\n width: '100%',\n zIndex: -1\n })\n});\nvar resizeModeStyles = StyleSheet.create({\n center: {\n backgroundSize: 'auto'\n },\n contain: {\n backgroundSize: 'contain'\n },\n cover: {\n backgroundSize: 'cover'\n },\n none: {\n backgroundPosition: '0',\n backgroundSize: 'auto'\n },\n repeat: {\n backgroundPosition: '0',\n backgroundRepeat: 'repeat',\n backgroundSize: 'auto'\n },\n stretch: {\n backgroundSize: '100% 100%'\n }\n});\nexport default ImageWithStatics;","import UnimplementedView from '../../modules/UnimplementedView';\nexport default UnimplementedView;","/**\n * Copyright (c) Nicolas Gallagher.\n * Copyright (c) Meta Platforms, Inc. and 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 */\nimport invariant from 'fbjs/lib/invariant';\nimport requestIdleCallback, { cancelIdleCallback } from '../../modules/requestIdleCallback';\nvar InteractionManager = {\n Events: {\n interactionStart: 'interactionStart',\n interactionComplete: 'interactionComplete'\n },\n\n /**\n * Schedule a function to run after all interactions have completed.\n */\n runAfterInteractions(task) {\n var handle;\n var promise = new Promise(resolve => {\n handle = requestIdleCallback(() => {\n if (task) {\n resolve(task());\n } else {\n resolve();\n }\n });\n });\n return {\n then: promise.then.bind(promise),\n done: promise.then.bind(promise),\n cancel: () => {\n cancelIdleCallback(handle);\n }\n };\n },\n\n /**\n * Notify manager that an interaction has started.\n */\n createInteractionHandle() {\n return 1;\n },\n\n /**\n * Notify manager that an interaction has completed.\n */\n clearInteractionHandle(handle) {\n invariant(!!handle, 'Must provide a handle to clear.');\n },\n\n addListener: () => {}\n};\nexport default InteractionManager;","import _extends from \"@babel/runtime/helpers/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/objectWithoutPropertiesLoose\";\nvar _excluded = [\"behavior\", \"contentContainerStyle\", \"keyboardVerticalOffset\"];\n\n/**\n * Copyright (c) Nicolas Gallagher.\n * Copyright (c) Meta Platforms, Inc. and 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 */\nimport * as React from 'react';\nimport View from '../View';\n\nclass KeyboardAvoidingView extends React.Component {\n constructor() {\n super(...arguments);\n this.frame = null;\n\n this.onLayout = event => {\n this.frame = event.nativeEvent.layout;\n };\n }\n\n relativeKeyboardHeight(keyboardFrame) {\n var frame = this.frame;\n\n if (!frame || !keyboardFrame) {\n return 0;\n }\n\n var keyboardY = keyboardFrame.screenY - (this.props.keyboardVerticalOffset || 0);\n return Math.max(frame.y + frame.height - keyboardY, 0);\n }\n\n onKeyboardChange(event) {}\n\n render() {\n var _this$props = this.props,\n behavior = _this$props.behavior,\n contentContainerStyle = _this$props.contentContainerStyle,\n keyboardVerticalOffset = _this$props.keyboardVerticalOffset,\n rest = _objectWithoutPropertiesLoose(_this$props, _excluded);\n\n return /*#__PURE__*/React.createElement(View, _extends({\n onLayout: this.onLayout\n }, rest));\n }\n\n}\n\nexport default KeyboardAvoidingView;","/**\n * Copyright (c) Nicolas Gallagher.\n * Copyright (c) Meta Platforms, Inc. and 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 */\nimport dismissKeyboard from '../../modules/dismissKeyboard';\nvar Keyboard = {\n addListener() {\n return {\n remove: () => {}\n };\n },\n\n dismiss() {\n dismissKeyboard();\n },\n\n removeAllListeners() {},\n\n removeListener() {}\n\n};\nexport default Keyboard;","/**\n * Copyright (c) Nicolas Gallagher.\n * Copyright (c) Meta Platforms, Inc. and 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 */\nimport LayoutAnimation from '../../vendor/react-native/LayoutAnimation';\nexport default LayoutAnimation;","/**\n * Copyright (c) Nicolas Gallagher.\n * Copyright (c) Meta Platforms, Inc. and 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 */\nimport invariant from 'fbjs/lib/invariant';\nimport canUseDOM from '../../modules/canUseDom';\nvar initialURL = canUseDOM ? window.location.href : '';\n\nclass Linking {\n constructor() {\n this._eventCallbacks = {};\n\n this.addEventListener = (event, callback) => {\n if (!this._eventCallbacks[event]) {\n this._eventCallbacks[event] = [callback];\n return;\n }\n\n this._eventCallbacks[event].push(callback);\n };\n\n this.removeEventListener = (event, callback) => {\n var callbacks = this._eventCallbacks[event];\n var filteredCallbacks = callbacks.filter(c => c.toString() !== callback.toString());\n this._eventCallbacks[event] = filteredCallbacks;\n };\n }\n\n _dispatchEvent(event) {\n for (var _len = arguments.length, data = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n data[_key - 1] = arguments[_key];\n }\n\n var listeners = this._eventCallbacks[event];\n\n if (listeners != null && Array.isArray(listeners)) {\n listeners.map(listener => {\n listener(...data);\n });\n }\n }\n /**\n * Adds a event listener for the specified event. The callback will be called when the\n * said event is dispatched.\n */\n\n\n canOpenURL() {\n return Promise.resolve(true);\n }\n\n getInitialURL() {\n return Promise.resolve(initialURL);\n }\n /**\n * Try to open the given url in a secure fashion. The method returns a Promise object.\n * If a target is passed (including undefined) that target will be used, otherwise '_blank'.\n * If the url opens, the promise is resolved. If not, the promise is rejected.\n * Dispatches the `onOpen` event if `url` is opened successfully.\n */\n\n\n openURL(url, target) {\n if (arguments.length === 1) {\n target = '_blank';\n }\n\n try {\n open(url, target);\n\n this._dispatchEvent('onOpen', url);\n\n return Promise.resolve();\n } catch (e) {\n return Promise.reject(e);\n }\n }\n\n _validateURL(url) {\n invariant(typeof url === 'string', 'Invalid URL: should be a string. Was: ' + url);\n invariant(url, 'Invalid URL: cannot be empty');\n }\n\n}\n\nvar open = (url, target) => {\n if (canUseDOM) {\n var urlToOpen = new URL(url, window.location).toString();\n\n if (urlToOpen.indexOf('tel:') === 0) {\n window.location = urlToOpen;\n } else {\n window.open(urlToOpen, target, 'noopener');\n }\n }\n};\n\nexport default new Linking();","/**\n * Copyright (c) 2016-present, Nicolas Gallagher.\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 */\nvar LogBox = {\n ignoreLogs() {},\n\n ignoreAllLogs() {},\n\n uninstall() {},\n\n install() {}\n\n};\nexport default LogBox;","/**\n * Copyright (c) Nicolas Gallagher.\n * Copyright (c) Meta Platforms, Inc. and 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 */\nimport * as React from 'react';\nimport StyleSheet from '../StyleSheet';\nimport createElement from '../createElement';\nvar ANIMATION_DURATION = 300;\n\nfunction getAnimationStyle(animationType, visible) {\n if (animationType === 'slide') {\n return visible ? animatedSlideInStyles : animatedSlideOutStyles;\n }\n\n if (animationType === 'fade') {\n return visible ? animatedFadeInStyles : animatedFadeOutStyles;\n }\n\n return visible ? styles.container : styles.hidden;\n}\n\nfunction ModalAnimation(props) {\n var animationType = props.animationType,\n children = props.children,\n onDismiss = props.onDismiss,\n onShow = props.onShow,\n visible = props.visible;\n\n var _React$useState = React.useState(false),\n isRendering = _React$useState[0],\n setIsRendering = _React$useState[1];\n\n var wasVisible = React.useRef(false);\n var isAnimated = animationType && animationType !== 'none';\n var animationEndCallback = React.useCallback(e => {\n if (e && e.currentTarget !== e.target) {\n // If the event was generated for something NOT this element we\n // should ignore it as it's not relevant to us\n return;\n }\n\n if (visible) {\n if (onShow) {\n onShow();\n }\n } else {\n setIsRendering(false);\n\n if (onDismiss) {\n onDismiss();\n }\n }\n }, [onDismiss, onShow, visible]);\n React.useEffect(() => {\n if (visible) {\n setIsRendering(true);\n }\n\n if (visible !== wasVisible.current && !isAnimated) {\n // Manually call `animationEndCallback` if no animation is used\n animationEndCallback();\n }\n\n wasVisible.current = visible;\n }, [isAnimated, visible, animationEndCallback]);\n return isRendering || visible ? createElement('div', {\n style: isRendering ? getAnimationStyle(animationType, visible) : styles.hidden,\n onAnimationEnd: animationEndCallback,\n children\n }) : null;\n}\n\nvar styles = StyleSheet.create({\n container: {\n position: 'fixed',\n top: 0,\n right: 0,\n bottom: 0,\n left: 0,\n zIndex: 9999\n },\n animatedIn: {\n animationDuration: ANIMATION_DURATION + \"ms\",\n animationTimingFunction: 'ease-in'\n },\n animatedOut: {\n pointerEvents: 'none',\n animationDuration: ANIMATION_DURATION + \"ms\",\n animationTimingFunction: 'ease-out'\n },\n fadeIn: {\n opacity: 1,\n animationKeyframes: {\n '0%': {\n opacity: 0\n },\n '100%': {\n opacity: 1\n }\n }\n },\n fadeOut: {\n opacity: 0,\n animationKeyframes: {\n '0%': {\n opacity: 1\n },\n '100%': {\n opacity: 0\n }\n }\n },\n slideIn: {\n transform: [{\n translateY: '0%'\n }],\n animationKeyframes: {\n '0%': {\n transform: [{\n translateY: '100%'\n }]\n },\n '100%': {\n transform: [{\n translateY: '0%'\n }]\n }\n }\n },\n slideOut: {\n transform: [{\n translateY: '100%'\n }],\n animationKeyframes: {\n '0%': {\n transform: [{\n translateY: '0%'\n }]\n },\n '100%': {\n transform: [{\n translateY: '100%'\n }]\n }\n }\n },\n hidden: {\n opacity: 0\n }\n});\nvar animatedSlideInStyles = [styles.container, styles.animatedIn, styles.slideIn];\nvar animatedSlideOutStyles = [styles.container, styles.animatedOut, styles.slideOut];\nvar animatedFadeInStyles = [styles.container, styles.animatedIn, styles.fadeIn];\nvar animatedFadeOutStyles = [styles.container, styles.animatedOut, styles.fadeOut];\nexport default ModalAnimation;","import _extends from \"@babel/runtime/helpers/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/objectWithoutPropertiesLoose\";\nvar _excluded = [\"active\", \"children\", \"onRequestClose\", \"transparent\"];\n\n/**\n * Copyright (c) Nicolas Gallagher.\n * Copyright (c) Meta Platforms, Inc. and 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 */\nimport * as React from 'react';\nimport View from '../View';\nimport StyleSheet from '../StyleSheet';\nimport canUseDOM from '../../modules/canUseDom';\nvar ModalContent = /*#__PURE__*/React.forwardRef((props, forwardedRef) => {\n var active = props.active,\n children = props.children,\n onRequestClose = props.onRequestClose,\n transparent = props.transparent,\n rest = _objectWithoutPropertiesLoose(props, _excluded);\n\n React.useEffect(() => {\n if (canUseDOM) {\n var closeOnEscape = e => {\n if (active && e.key === 'Escape') {\n e.stopPropagation();\n\n if (onRequestClose) {\n onRequestClose();\n }\n }\n };\n\n document.addEventListener('keyup', closeOnEscape, false);\n return () => document.removeEventListener('keyup', closeOnEscape, false);\n }\n }, [active, onRequestClose]);\n var style = React.useMemo(() => {\n return [styles.modal, transparent ? styles.modalTransparent : styles.modalOpaque];\n }, [transparent]);\n return /*#__PURE__*/React.createElement(View, _extends({}, rest, {\n accessibilityModal: true,\n accessibilityRole: active ? 'dialog' : null,\n ref: forwardedRef,\n style: style\n }), /*#__PURE__*/React.createElement(View, {\n style: styles.container\n }, children));\n});\nvar styles = StyleSheet.create({\n modal: {\n position: 'fixed',\n top: 0,\n right: 0,\n bottom: 0,\n left: 0\n },\n modalTransparent: {\n backgroundColor: 'transparent'\n },\n modalOpaque: {\n backgroundColor: 'white'\n },\n container: {\n top: 0,\n flex: 1\n }\n});\nexport default ModalContent;","/**\n * Copyright (c) Nicolas Gallagher.\n * Copyright (c) Meta Platforms, Inc. and 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 */\nimport * as React from 'react';\nimport View from '../View';\nimport createElement from '../createElement';\nimport StyleSheet from '../StyleSheet';\nimport UIManager from '../UIManager';\nimport canUseDOM from '../../modules/canUseDom';\n/**\n * This Component is used to \"wrap\" the modal we're opening\n * so that changing focus via tab will never leave the document.\n *\n * This allows us to properly trap the focus within a modal\n * even if the modal is at the start or end of a document.\n */\n\nvar FocusBracket = () => {\n return createElement('div', {\n accessibilityRole: 'none',\n tabIndex: 0,\n style: styles.focusBracket\n });\n};\n\nfunction attemptFocus(element) {\n if (!canUseDOM) {\n return false;\n }\n\n try {\n element.focus();\n } catch (e) {// Do nothing\n }\n\n return document.activeElement === element;\n}\n\nfunction focusFirstDescendant(element) {\n for (var i = 0; i < element.childNodes.length; i++) {\n var child = element.childNodes[i];\n\n if (attemptFocus(child) || focusFirstDescendant(child)) {\n return true;\n }\n }\n\n return false;\n}\n\nfunction focusLastDescendant(element) {\n for (var i = element.childNodes.length - 1; i >= 0; i--) {\n var child = element.childNodes[i];\n\n if (attemptFocus(child) || focusLastDescendant(child)) {\n return true;\n }\n }\n\n return false;\n}\n\nvar ModalFocusTrap = _ref => {\n var active = _ref.active,\n children = _ref.children;\n var trapElementRef = React.useRef();\n var focusRef = React.useRef({\n trapFocusInProgress: false,\n lastFocusedElement: null\n });\n React.useEffect(() => {\n if (canUseDOM) {\n var trapFocus = () => {\n // We should not trap focus if:\n // - The modal hasn't fully initialized with an HTMLElement ref\n // - Focus is already in the process of being trapped (e.g., we're refocusing)\n // - isTrapActive prop being falsey tells us to do nothing\n if (trapElementRef.current == null || focusRef.current.trapFocusInProgress || !active) {\n return;\n }\n\n try {\n focusRef.current.trapFocusInProgress = true;\n\n if (document.activeElement instanceof Node && !trapElementRef.current.contains(document.activeElement)) {\n // To handle keyboard focusing we can make an assumption here.\n // If you're tabbing through the focusable elements, the previously\n // active element will either be the first or the last.\n // If the previously selected element is the \"first\" descendant\n // and we're leaving it - this means that we should be looping\n // around to the other side of the modal.\n var hasFocused = focusFirstDescendant(trapElementRef.current);\n\n if (focusRef.current.lastFocusedElement === document.activeElement) {\n hasFocused = focusLastDescendant(trapElementRef.current);\n } // If we couldn't focus a new element then we need to focus onto the trap target\n\n\n if (!hasFocused && trapElementRef.current != null && document.activeElement) {\n UIManager.focus(trapElementRef.current);\n }\n }\n } finally {\n focusRef.current.trapFocusInProgress = false;\n }\n\n focusRef.current.lastFocusedElement = document.activeElement;\n }; // Call the trapFocus callback at least once when this modal has been activated.\n\n\n trapFocus();\n document.addEventListener('focus', trapFocus, true);\n return () => document.removeEventListener('focus', trapFocus, true);\n }\n }, [active]); // To be fully compliant with WCAG we need to refocus element that triggered opening modal\n // after closing it\n\n React.useEffect(function () {\n if (canUseDOM) {\n var lastFocusedElementOutsideTrap = document.activeElement;\n return function () {\n if (lastFocusedElementOutsideTrap && document.contains(lastFocusedElementOutsideTrap)) {\n UIManager.focus(lastFocusedElementOutsideTrap);\n }\n };\n }\n }, []);\n return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(FocusBracket, null), /*#__PURE__*/React.createElement(View, {\n ref: trapElementRef\n }, children), /*#__PURE__*/React.createElement(FocusBracket, null));\n};\n\nexport default ModalFocusTrap;\nvar styles = StyleSheet.create({\n focusBracket: {\n outlineStyle: 'none'\n }\n});","/**\n * Copyright (c) Nicolas Gallagher.\n * Copyright (c) Meta Platforms, Inc. and 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 */\nimport * as React from 'react';\nimport ReactDOM from 'react-dom';\nimport canUseDOM from '../../modules/canUseDom';\n\nfunction ModalPortal(props) {\n var children = props.children;\n var elementRef = React.useRef(null);\n\n if (canUseDOM && !elementRef.current) {\n var element = document.createElement('div');\n\n if (element && document.body) {\n document.body.appendChild(element);\n elementRef.current = element;\n }\n }\n\n React.useEffect(() => {\n if (canUseDOM) {\n return () => {\n if (document.body && elementRef.current) {\n document.body.removeChild(elementRef.current);\n elementRef.current = null;\n }\n };\n }\n }, []);\n return elementRef.current && canUseDOM ? /*#__PURE__*/ReactDOM.createPortal(children, elementRef.current) : null;\n}\n\nexport default ModalPortal;","import _extends from \"@babel/runtime/helpers/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/objectWithoutPropertiesLoose\";\nvar _excluded = [\"animationType\", \"children\", \"onDismiss\", \"onRequestClose\", \"onShow\", \"transparent\", \"visible\"];\n\n/**\n * Copyright (c) Nicolas Gallagher.\n * Copyright (c) Meta Platforms, Inc. and 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 */\nimport * as React from 'react';\nimport ModalPortal from './ModalPortal';\nimport ModalAnimation from './ModalAnimation';\nimport ModalContent from './ModalContent';\nimport ModalFocusTrap from './ModalFocusTrap';\nvar uniqueModalIdentifier = 0;\nvar activeModalStack = [];\nvar activeModalListeners = {};\n\nfunction notifyActiveModalListeners() {\n if (activeModalStack.length === 0) {\n return;\n }\n\n var activeModalId = activeModalStack[activeModalStack.length - 1];\n activeModalStack.forEach(modalId => {\n if (modalId in activeModalListeners) {\n activeModalListeners[modalId](modalId === activeModalId);\n }\n });\n}\n\nfunction removeActiveModal(modalId) {\n if (modalId in activeModalListeners) {\n // Before removing this listener we should probably tell it\n // that it's no longer the active modal for sure.\n activeModalListeners[modalId](false);\n delete activeModalListeners[modalId];\n }\n\n var index = activeModalStack.indexOf(modalId);\n\n if (index !== -1) {\n activeModalStack.splice(index, 1);\n notifyActiveModalListeners();\n }\n}\n\nfunction addActiveModal(modalId, listener) {\n removeActiveModal(modalId);\n activeModalStack.push(modalId);\n activeModalListeners[modalId] = listener;\n notifyActiveModalListeners();\n}\n\nvar Modal = /*#__PURE__*/React.forwardRef((props, forwardedRef) => {\n var animationType = props.animationType,\n children = props.children,\n onDismiss = props.onDismiss,\n onRequestClose = props.onRequestClose,\n onShow = props.onShow,\n transparent = props.transparent,\n _props$visible = props.visible,\n visible = _props$visible === void 0 ? true : _props$visible,\n rest = _objectWithoutPropertiesLoose(props, _excluded); // Set a unique model identifier so we can correctly route\n // dismissals and check the layering of modals.\n\n\n var modalId = React.useMemo(() => uniqueModalIdentifier++, []);\n\n var _React$useState = React.useState(false),\n isActive = _React$useState[0],\n setIsActive = _React$useState[1];\n\n var onDismissCallback = React.useCallback(() => {\n removeActiveModal(modalId);\n\n if (onDismiss) {\n onDismiss();\n }\n }, [modalId, onDismiss]);\n var onShowCallback = React.useCallback(() => {\n addActiveModal(modalId, setIsActive);\n\n if (onShow) {\n onShow();\n }\n }, [modalId, onShow]);\n React.useEffect(() => {\n return () => removeActiveModal(modalId);\n }, [modalId]);\n return /*#__PURE__*/React.createElement(ModalPortal, null, /*#__PURE__*/React.createElement(ModalAnimation, {\n animationType: animationType,\n onDismiss: onDismissCallback,\n onShow: onShowCallback,\n visible: visible\n }, /*#__PURE__*/React.createElement(ModalFocusTrap, {\n active: isActive\n }, /*#__PURE__*/React.createElement(ModalContent, _extends({}, rest, {\n active: isActive,\n onRequestClose: onRequestClose,\n ref: forwardedRef,\n transparent: transparent\n }), children))));\n});\nexport default Modal;","/**\n * Copyright (c) Meta Platforms, Inc. and 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 */\nimport NativeEventEmitter from '../../vendor/react-native/NativeEventEmitter';\nexport default NativeEventEmitter;","/**\n * Copyright (c) Nicolas Gallagher.\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 */\nimport UIManager from '../UIManager'; // NativeModules shim\n\nvar NativeModules = {\n UIManager\n};\nexport default NativeModules;","import PanResponder from '../../vendor/react-native/PanResponder';\nexport default PanResponder;","var promiseMock = () => Promise.resolve(false);\n\nexport default {\n PERMISSIONS: {},\n RESULTS: {},\n checkPermission: promiseMock,\n check: promiseMock,\n requestPermission: promiseMock,\n request: promiseMock,\n requestMultiple: promiseMock\n};","/**\n * Copyright (c) Nicolas Gallagher.\n * Copyright (c) Meta Platforms, Inc. and 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 */\nimport createElement from '../createElement';\nexport default function PickerItem(props) {\n var color = props.color,\n label = props.label,\n testID = props.testID,\n value = props.value;\n var style = {\n color\n };\n return createElement('option', {\n children: label,\n style,\n testID,\n value\n });\n}","import _objectSpread from \"@babel/runtime/helpers/objectSpread2\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/objectWithoutPropertiesLoose\";\nvar _excluded = [\"children\", \"enabled\", \"onValueChange\", \"selectedValue\", \"style\", \"testID\", \"itemStyle\", \"mode\", \"prompt\"];\n\n/**\n * Copyright (c) Nicolas Gallagher.\n * Copyright (c) Meta Platforms, Inc. and 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 */\nimport * as React from 'react';\nimport createElement from '../createElement';\nimport useMergeRefs from '../../modules/useMergeRefs';\nimport usePlatformMethods from '../../modules/usePlatformMethods';\nimport PickerItem from './PickerItem';\nimport StyleSheet from '../StyleSheet';\nvar Picker = /*#__PURE__*/React.forwardRef((props, forwardedRef) => {\n var children = props.children,\n enabled = props.enabled,\n onValueChange = props.onValueChange,\n selectedValue = props.selectedValue,\n style = props.style,\n testID = props.testID,\n itemStyle = props.itemStyle,\n mode = props.mode,\n prompt = props.prompt,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n\n var hostRef = React.useRef(null);\n\n function handleChange(e) {\n var _e$target = e.target,\n selectedIndex = _e$target.selectedIndex,\n value = _e$target.value;\n\n if (onValueChange) {\n onValueChange(value, selectedIndex);\n }\n } // $FlowFixMe\n\n\n var supportedProps = _objectSpread({\n children,\n disabled: enabled === false ? true : undefined,\n onChange: handleChange,\n style: [styles.initial, style],\n testID,\n value: selectedValue\n }, other);\n\n var platformMethodsRef = usePlatformMethods(supportedProps);\n var setRef = useMergeRefs(hostRef, platformMethodsRef, forwardedRef);\n supportedProps.ref = setRef;\n return createElement('select', supportedProps);\n}); // $FlowFixMe\n\nPicker.Item = PickerItem;\nvar styles = StyleSheet.create({\n initial: {\n fontFamily: 'System',\n fontSize: 'inherit',\n margin: 0\n }\n});\nexport default Picker;","/**\n * Copyright (c) Nicolas Gallagher.\n * Copyright (c) Meta Platforms, Inc. and 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 */\nimport Dimensions from '../Dimensions';\n/**\n * PixelRatio gives access to the device pixel density.\n */\n\nexport default class PixelRatio {\n /**\n * Returns the device pixel density.\n */\n static get() {\n return Dimensions.get('window').scale;\n }\n /**\n * No equivalent for Web\n */\n\n\n static getFontScale() {\n return Dimensions.get('window').fontScale || PixelRatio.get();\n }\n /**\n * Converts a layout size (dp) to pixel size (px).\n * Guaranteed to return an integer number.\n */\n\n\n static getPixelSizeForLayoutSize(layoutSize) {\n return Math.round(layoutSize * PixelRatio.get());\n }\n /**\n * Rounds a layout size (dp) to the nearest layout size that corresponds to\n * an integer number of pixels. For example, on a device with a PixelRatio\n * of 3, `PixelRatio.roundToNearestPixel(8.4) = 8.33`, which corresponds to\n * exactly (8.33 * 3) = 25 pixels.\n */\n\n\n static roundToNearestPixel(layoutSize) {\n var ratio = PixelRatio.get();\n return Math.round(layoutSize * ratio) / ratio;\n }\n\n}","/**\n * Copyright (c) Nicolas Gallagher.\n * Copyright (c) Meta Platforms, Inc. and 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 */\nvar Platform = {\n OS: 'web',\n select: obj => 'web' in obj ? obj.web : obj.default,\n\n get isTesting() {\n if (process.env.NODE_ENV === 'test') {\n return true;\n }\n\n return false;\n }\n\n};\nexport default Platform;","/**\n * Copyright (c) Meta Platforms, Inc. and 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 */\n'use strict';\n\nimport _extends from \"@babel/runtime/helpers/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/objectWithoutPropertiesLoose\";\nvar _excluded = [\"children\", \"delayLongPress\", \"delayPressIn\", \"delayPressOut\", \"disabled\", \"focusable\", \"onBlur\", \"onContextMenu\", \"onFocus\", \"onHoverIn\", \"onHoverOut\", \"onKeyDown\", \"onLongPress\", \"onPress\", \"onPressMove\", \"onPressIn\", \"onPressOut\", \"style\", \"testOnly_hovered\", \"testOnly_pressed\"];\nimport * as React from 'react';\nimport { forwardRef, memo, useMemo, useState, useRef } from 'react';\nimport useMergeRefs from '../../modules/useMergeRefs';\nimport useHover from '../../modules/useHover';\nimport usePressEvents from '../../modules/usePressEvents';\nimport StyleSheet from '../StyleSheet';\nimport View from '../View';\n\n/**\n * Component used to build display components that should respond to whether the\n * component is currently pressed or not.\n */\nfunction Pressable(props, forwardedRef) {\n var children = props.children,\n delayLongPress = props.delayLongPress,\n delayPressIn = props.delayPressIn,\n delayPressOut = props.delayPressOut,\n disabled = props.disabled,\n focusable = props.focusable,\n onBlur = props.onBlur,\n onContextMenu = props.onContextMenu,\n onFocus = props.onFocus,\n onHoverIn = props.onHoverIn,\n onHoverOut = props.onHoverOut,\n onKeyDown = props.onKeyDown,\n onLongPress = props.onLongPress,\n onPress = props.onPress,\n onPressMove = props.onPressMove,\n onPressIn = props.onPressIn,\n onPressOut = props.onPressOut,\n style = props.style,\n testOnly_hovered = props.testOnly_hovered,\n testOnly_pressed = props.testOnly_pressed,\n rest = _objectWithoutPropertiesLoose(props, _excluded);\n\n var _useForceableState = useForceableState(testOnly_hovered === true),\n hovered = _useForceableState[0],\n setHovered = _useForceableState[1];\n\n var _useForceableState2 = useForceableState(false),\n focused = _useForceableState2[0],\n setFocused = _useForceableState2[1];\n\n var _useForceableState3 = useForceableState(testOnly_pressed === true),\n pressed = _useForceableState3[0],\n setPressed = _useForceableState3[1];\n\n var hostRef = useRef(null);\n var setRef = useMergeRefs(forwardedRef, hostRef);\n var pressConfig = useMemo(() => ({\n delayLongPress,\n delayPressStart: delayPressIn,\n delayPressEnd: delayPressOut,\n disabled,\n onLongPress,\n onPress,\n onPressChange: setPressed,\n onPressStart: onPressIn,\n onPressMove,\n onPressEnd: onPressOut\n }), [delayLongPress, delayPressIn, delayPressOut, disabled, onLongPress, onPress, onPressIn, onPressMove, onPressOut, setPressed]);\n var pressEventHandlers = usePressEvents(hostRef, pressConfig);\n var onContextMenuPress = pressEventHandlers.onContextMenu,\n onKeyDownPress = pressEventHandlers.onKeyDown;\n useHover(hostRef, {\n contain: true,\n disabled,\n onHoverChange: setHovered,\n onHoverStart: onHoverIn,\n onHoverEnd: onHoverOut\n });\n var interactionState = {\n hovered,\n focused,\n pressed\n };\n var blurHandler = React.useCallback(e => {\n if (disabled) {\n return;\n }\n\n if (e.nativeEvent.target === hostRef.current) {\n setFocused(false);\n\n if (onBlur != null) {\n onBlur(e);\n }\n }\n }, [disabled, hostRef, setFocused, onBlur]);\n var focusHandler = React.useCallback(e => {\n if (disabled) {\n return;\n }\n\n if (e.nativeEvent.target === hostRef.current) {\n setFocused(true);\n\n if (onFocus != null) {\n onFocus(e);\n }\n }\n }, [disabled, hostRef, setFocused, onFocus]);\n var contextMenuHandler = React.useCallback(e => {\n if (onContextMenuPress != null) {\n onContextMenuPress(e);\n }\n\n if (onContextMenu != null) {\n onContextMenu(e);\n }\n }, [onContextMenu, onContextMenuPress]);\n var keyDownHandler = React.useCallback(e => {\n if (onKeyDownPress != null) {\n onKeyDownPress(e);\n }\n\n if (onKeyDown != null) {\n onKeyDown(e);\n }\n }, [onKeyDown, onKeyDownPress]);\n return /*#__PURE__*/React.createElement(View, _extends({}, rest, pressEventHandlers, {\n accessibilityDisabled: disabled,\n focusable: !disabled && focusable !== false,\n onBlur: blurHandler,\n onContextMenu: contextMenuHandler,\n onFocus: focusHandler,\n onKeyDown: keyDownHandler,\n pointerEvents: disabled ? 'none' : rest.pointerEvents,\n ref: setRef,\n style: [!disabled && styles.root, typeof style === 'function' ? style(interactionState) : style]\n }), typeof children === 'function' ? children(interactionState) : children);\n}\n\nfunction useForceableState(forced) {\n var _useState = useState(false),\n bool = _useState[0],\n setBool = _useState[1];\n\n return [bool || forced, setBool];\n}\n\nvar styles = StyleSheet.create({\n root: {\n cursor: 'pointer',\n touchAction: 'manipulation'\n }\n});\nvar MemoedPressable = /*#__PURE__*/memo( /*#__PURE__*/forwardRef(Pressable));\nMemoedPressable.displayName = 'Pressable';\nexport default MemoedPressable;","import _extends from \"@babel/runtime/helpers/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/objectWithoutPropertiesLoose\";\nvar _excluded = [\"color\", \"indeterminate\", \"progress\", \"trackColor\", \"style\"];\n\n/**\n * Copyright (c) Nicolas Gallagher.\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 */\nimport * as React from 'react';\nimport StyleSheet from '../StyleSheet';\nimport View from '../View';\nvar ProgressBar = /*#__PURE__*/React.forwardRef((props, ref) => {\n var _props$color = props.color,\n color = _props$color === void 0 ? '#1976D2' : _props$color,\n _props$indeterminate = props.indeterminate,\n indeterminate = _props$indeterminate === void 0 ? false : _props$indeterminate,\n _props$progress = props.progress,\n progress = _props$progress === void 0 ? 0 : _props$progress,\n _props$trackColor = props.trackColor,\n trackColor = _props$trackColor === void 0 ? 'transparent' : _props$trackColor,\n style = props.style,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n\n var percentageProgress = progress * 100;\n var width = indeterminate ? '25%' : percentageProgress + \"%\";\n return /*#__PURE__*/React.createElement(View, _extends({}, other, {\n accessibilityRole: \"progressbar\",\n accessibilityValueMax: 100,\n accessibilityValueMin: 0,\n accessibilityValueNow: indeterminate ? null : percentageProgress,\n ref: ref,\n style: [styles.track, style, {\n backgroundColor: trackColor\n }]\n }), /*#__PURE__*/React.createElement(View, {\n style: [{\n backgroundColor: color,\n width\n }, styles.progress, indeterminate && styles.animation]\n }));\n});\nProgressBar.displayName = 'ProgressBar';\nvar styles = StyleSheet.create({\n track: {\n forcedColorAdjust: 'none',\n height: 5,\n overflow: 'hidden',\n userSelect: 'none',\n zIndex: 0\n },\n progress: {\n forcedColorAdjust: 'none',\n height: '100%',\n zIndex: -1\n },\n animation: {\n animationDuration: '1s',\n animationKeyframes: [{\n '0%': {\n transform: [{\n translateX: '-100%'\n }]\n },\n '100%': {\n transform: [{\n translateX: '400%'\n }]\n }\n }],\n animationTimingFunction: 'linear',\n animationIterationCount: 'infinite'\n }\n});\nexport default ProgressBar;","import _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/objectWithoutPropertiesLoose\";\nvar _excluded = [\"colors\", \"enabled\", \"onRefresh\", \"progressBackgroundColor\", \"progressViewOffset\", \"refreshing\", \"size\", \"tintColor\", \"title\", \"titleColor\"];\n\n/**\n * Copyright (c) Nicolas Gallagher.\n * Copyright (c) Meta Platforms, Inc. and 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 */\nimport View from '../View';\nimport React from 'react';\n\nfunction RefreshControl(props) {\n var colors = props.colors,\n enabled = props.enabled,\n onRefresh = props.onRefresh,\n progressBackgroundColor = props.progressBackgroundColor,\n progressViewOffset = props.progressViewOffset,\n refreshing = props.refreshing,\n size = props.size,\n tintColor = props.tintColor,\n title = props.title,\n titleColor = props.titleColor,\n rest = _objectWithoutPropertiesLoose(props, _excluded);\n\n return /*#__PURE__*/React.createElement(View, rest);\n}\n\nexport default RefreshControl;","import _extends from \"@babel/runtime/helpers/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/objectWithoutPropertiesLoose\";\nvar _excluded = [\"style\"];\n\n/**\n * Copyright (c) Nicolas Gallagher.\n * Copyright (c) Meta Platforms, Inc. and 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 */\nimport * as React from 'react';\nimport StyleSheet from '../StyleSheet';\nimport View from '../View';\nimport canUseDOM from '../../modules/canUseDom';\n\nvar cssFunction = function () {\n if (canUseDOM && window.CSS && window.CSS.supports && window.CSS.supports('top: constant(safe-area-inset-top)')) {\n return 'constant';\n }\n\n return 'env';\n}();\n\nvar SafeAreaView = /*#__PURE__*/React.forwardRef((props, ref) => {\n var style = props.style,\n rest = _objectWithoutPropertiesLoose(props, _excluded);\n\n return /*#__PURE__*/React.createElement(View, _extends({}, rest, {\n ref: ref,\n style: StyleSheet.compose(styles.root, style)\n }));\n});\nSafeAreaView.displayName = 'SafeAreaView';\nvar styles = StyleSheet.create({\n root: {\n paddingTop: cssFunction + \"(safe-area-inset-top)\",\n paddingRight: cssFunction + \"(safe-area-inset-right)\",\n paddingBottom: cssFunction + \"(safe-area-inset-bottom)\",\n paddingLeft: cssFunction + \"(safe-area-inset-left)\"\n }\n});\nexport default SafeAreaView;","import _extends from \"@babel/runtime/helpers/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/objectWithoutPropertiesLoose\";\nvar _excluded = [\"onScroll\", \"onTouchMove\", \"onWheel\", \"scrollEnabled\", \"scrollEventThrottle\", \"showsHorizontalScrollIndicator\", \"showsVerticalScrollIndicator\", \"style\"];\n\n/**\n * Copyright (c) Nicolas Gallagher.\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 */\nimport * as React from 'react';\nimport StyleSheet from '../StyleSheet';\nimport View from '../View';\nimport useMergeRefs from '../../modules/useMergeRefs';\n\nfunction normalizeScrollEvent(e) {\n return {\n nativeEvent: {\n contentOffset: {\n get x() {\n return e.target.scrollLeft;\n },\n\n get y() {\n return e.target.scrollTop;\n }\n\n },\n contentSize: {\n get height() {\n return e.target.scrollHeight;\n },\n\n get width() {\n return e.target.scrollWidth;\n }\n\n },\n layoutMeasurement: {\n get height() {\n return e.target.offsetHeight;\n },\n\n get width() {\n return e.target.offsetWidth;\n }\n\n }\n },\n timeStamp: Date.now()\n };\n}\n\nfunction shouldEmitScrollEvent(lastTick, eventThrottle) {\n var timeSinceLastTick = Date.now() - lastTick;\n return eventThrottle > 0 && timeSinceLastTick >= eventThrottle;\n}\n/**\n * Encapsulates the Web-specific scroll throttling and disabling logic\n */\n\n\nvar ScrollViewBase = /*#__PURE__*/React.forwardRef((props, forwardedRef) => {\n var onScroll = props.onScroll,\n onTouchMove = props.onTouchMove,\n onWheel = props.onWheel,\n _props$scrollEnabled = props.scrollEnabled,\n scrollEnabled = _props$scrollEnabled === void 0 ? true : _props$scrollEnabled,\n _props$scrollEventThr = props.scrollEventThrottle,\n scrollEventThrottle = _props$scrollEventThr === void 0 ? 0 : _props$scrollEventThr,\n showsHorizontalScrollIndicator = props.showsHorizontalScrollIndicator,\n showsVerticalScrollIndicator = props.showsVerticalScrollIndicator,\n style = props.style,\n rest = _objectWithoutPropertiesLoose(props, _excluded);\n\n var scrollState = React.useRef({\n isScrolling: false,\n scrollLastTick: 0\n });\n var scrollTimeout = React.useRef(null);\n var scrollRef = React.useRef(null);\n\n function createPreventableScrollHandler(handler) {\n return e => {\n if (scrollEnabled) {\n if (handler) {\n handler(e);\n }\n }\n };\n }\n\n function handleScroll(e) {\n e.stopPropagation();\n\n if (e.target === scrollRef.current) {\n e.persist(); // A scroll happened, so the scroll resets the scrollend timeout.\n\n if (scrollTimeout.current != null) {\n clearTimeout(scrollTimeout.current);\n }\n\n scrollTimeout.current = setTimeout(() => {\n handleScrollEnd(e);\n }, 100);\n\n if (scrollState.current.isScrolling) {\n // Scroll last tick may have changed, check if we need to notify\n if (shouldEmitScrollEvent(scrollState.current.scrollLastTick, scrollEventThrottle)) {\n handleScrollTick(e);\n }\n } else {\n // Weren't scrolling, so we must have just started\n handleScrollStart(e);\n }\n }\n }\n\n function handleScrollStart(e) {\n scrollState.current.isScrolling = true;\n handleScrollTick(e);\n }\n\n function handleScrollTick(e) {\n scrollState.current.scrollLastTick = Date.now();\n\n if (onScroll) {\n onScroll(normalizeScrollEvent(e));\n }\n }\n\n function handleScrollEnd(e) {\n scrollState.current.isScrolling = false;\n\n if (onScroll) {\n onScroll(normalizeScrollEvent(e));\n }\n }\n\n var hideScrollbar = showsHorizontalScrollIndicator === false || showsVerticalScrollIndicator === false;\n return /*#__PURE__*/React.createElement(View, _extends({}, rest, {\n onScroll: handleScroll,\n onTouchMove: createPreventableScrollHandler(onTouchMove),\n onWheel: createPreventableScrollHandler(onWheel),\n ref: useMergeRefs(scrollRef, forwardedRef),\n style: [style, !scrollEnabled && styles.scrollDisabled, hideScrollbar && styles.hideScrollbar]\n }));\n}); // Chrome doesn't support e.preventDefault in this case; touch-action must be\n// used to disable scrolling.\n// https://developers.google.com/web/updates/2017/01/scrolling-intervention\n\nvar styles = StyleSheet.create({\n scrollDisabled: {\n overflowX: 'hidden',\n overflowY: 'hidden',\n touchAction: 'none'\n },\n hideScrollbar: {\n scrollbarWidth: 'none'\n }\n});\nexport default ScrollViewBase;","import _objectSpread from \"@babel/runtime/helpers/objectSpread2\";\nimport _extends from \"@babel/runtime/helpers/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/objectWithoutPropertiesLoose\";\nvar _excluded = [\"contentContainerStyle\", \"horizontal\", \"onContentSizeChange\", \"refreshControl\", \"stickyHeaderIndices\", \"pagingEnabled\", \"forwardedRef\", \"keyboardDismissMode\", \"onScroll\", \"centerContent\"];\n\n/**\n * Copyright (c) Nicolas Gallagher.\n * Copyright (c) Meta Platforms, Inc. and 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 */\nimport createReactClass from 'create-react-class';\nimport dismissKeyboard from '../../modules/dismissKeyboard';\nimport invariant from 'fbjs/lib/invariant';\nimport mergeRefs from '../../modules/mergeRefs';\nimport ScrollResponder from '../../modules/ScrollResponder';\nimport ScrollViewBase from './ScrollViewBase';\nimport StyleSheet from '../StyleSheet';\nimport View from '../View';\nimport React from 'react';\nvar emptyObject = {};\n/* eslint-disable react/prefer-es6-class */\n\nvar ScrollView = createReactClass({\n displayName: \"ScrollView\",\n mixins: [ScrollResponder.Mixin],\n\n getInitialState() {\n return this.scrollResponderMixinGetInitialState();\n },\n\n flashScrollIndicators() {\n this.scrollResponderFlashScrollIndicators();\n },\n\n /**\n * Returns a reference to the underlying scroll responder, which supports\n * operations like `scrollTo`. All ScrollView-like components should\n * implement this method so that they can be composed while providing access\n * to the underlying scroll responder's methods.\n */\n getScrollResponder() {\n return this;\n },\n\n getScrollableNode() {\n return this._scrollNodeRef;\n },\n\n getInnerViewRef() {\n return this._innerViewRef;\n },\n\n getInnerViewNode() {\n return this._innerViewRef;\n },\n\n getNativeScrollRef() {\n return this._scrollNodeRef;\n },\n\n /**\n * Scrolls to a given x, y offset, either immediately or with a smooth animation.\n * Syntax:\n *\n * scrollTo(options: {x: number = 0; y: number = 0; animated: boolean = true})\n *\n * Note: The weird argument signature is due to the fact that, for historical reasons,\n * the function also accepts separate arguments as as alternative to the options object.\n * This is deprecated due to ambiguity (y before x), and SHOULD NOT BE USED.\n */\n scrollTo(y, x, animated) {\n if (typeof y === 'number') {\n console.warn('`scrollTo(y, x, animated)` is deprecated. Use `scrollTo({x: 5, y: 5, animated: true})` instead.');\n } else {\n var _ref = y || emptyObject;\n\n x = _ref.x;\n y = _ref.y;\n animated = _ref.animated;\n }\n\n this.getScrollResponder().scrollResponderScrollTo({\n x: x || 0,\n y: y || 0,\n animated: animated !== false\n });\n },\n\n /**\n * If this is a vertical ScrollView scrolls to the bottom.\n * If this is a horizontal ScrollView scrolls to the right.\n *\n * Use `scrollToEnd({ animated: true })` for smooth animated scrolling,\n * `scrollToEnd({ animated: false })` for immediate scrolling.\n * If no options are passed, `animated` defaults to true.\n */\n scrollToEnd(options) {\n // Default to true\n var animated = (options && options.animated) !== false;\n var horizontal = this.props.horizontal;\n var scrollResponder = this.getScrollResponder();\n var scrollResponderNode = scrollResponder.scrollResponderGetScrollableNode();\n var x = horizontal ? scrollResponderNode.scrollWidth : 0;\n var y = horizontal ? 0 : scrollResponderNode.scrollHeight;\n scrollResponder.scrollResponderScrollTo({\n x,\n y,\n animated\n });\n },\n\n render() {\n var _this$props = this.props,\n contentContainerStyle = _this$props.contentContainerStyle,\n horizontal = _this$props.horizontal,\n onContentSizeChange = _this$props.onContentSizeChange,\n refreshControl = _this$props.refreshControl,\n stickyHeaderIndices = _this$props.stickyHeaderIndices,\n pagingEnabled = _this$props.pagingEnabled,\n forwardedRef = _this$props.forwardedRef,\n keyboardDismissMode = _this$props.keyboardDismissMode,\n onScroll = _this$props.onScroll,\n centerContent = _this$props.centerContent,\n other = _objectWithoutPropertiesLoose(_this$props, _excluded);\n\n if (process.env.NODE_ENV !== 'production' && this.props.style) {\n var style = StyleSheet.flatten(this.props.style);\n var childLayoutProps = ['alignItems', 'justifyContent'].filter(prop => style && style[prop] !== undefined);\n invariant(childLayoutProps.length === 0, \"ScrollView child layout (\" + JSON.stringify(childLayoutProps) + \") \" + 'must be applied through the contentContainerStyle prop.');\n }\n\n var contentSizeChangeProps = {};\n\n if (onContentSizeChange) {\n contentSizeChangeProps = {\n onLayout: this._handleContentOnLayout\n };\n }\n\n var hasStickyHeaderIndices = !horizontal && Array.isArray(stickyHeaderIndices);\n var children = hasStickyHeaderIndices || pagingEnabled ? React.Children.map(this.props.children, (child, i) => {\n var isSticky = hasStickyHeaderIndices && stickyHeaderIndices.indexOf(i) > -1;\n\n if (child != null && (isSticky || pagingEnabled)) {\n return /*#__PURE__*/React.createElement(View, {\n style: StyleSheet.compose(isSticky && styles.stickyHeader, pagingEnabled && styles.pagingEnabledChild)\n }, child);\n } else {\n return child;\n }\n }) : this.props.children;\n var contentContainer = /*#__PURE__*/React.createElement(View, _extends({}, contentSizeChangeProps, {\n children: children,\n collapsable: false,\n ref: this._setInnerViewRef,\n style: [horizontal && styles.contentContainerHorizontal, centerContent && styles.contentContainerCenterContent, contentContainerStyle]\n }));\n var baseStyle = horizontal ? styles.baseHorizontal : styles.baseVertical;\n var pagingEnabledStyle = horizontal ? styles.pagingEnabledHorizontal : styles.pagingEnabledVertical;\n\n var props = _objectSpread(_objectSpread({}, other), {}, {\n style: [baseStyle, pagingEnabled && pagingEnabledStyle, this.props.style],\n onTouchStart: this.scrollResponderHandleTouchStart,\n onTouchMove: this.scrollResponderHandleTouchMove,\n onTouchEnd: this.scrollResponderHandleTouchEnd,\n onScrollBeginDrag: this.scrollResponderHandleScrollBeginDrag,\n onScrollEndDrag: this.scrollResponderHandleScrollEndDrag,\n onMomentumScrollBegin: this.scrollResponderHandleMomentumScrollBegin,\n onMomentumScrollEnd: this.scrollResponderHandleMomentumScrollEnd,\n onStartShouldSetResponder: this.scrollResponderHandleStartShouldSetResponder,\n onStartShouldSetResponderCapture: this.scrollResponderHandleStartShouldSetResponderCapture,\n onScrollShouldSetResponder: this.scrollResponderHandleScrollShouldSetResponder,\n onScroll: this._handleScroll,\n onResponderGrant: this.scrollResponderHandleResponderGrant,\n onResponderTerminationRequest: this.scrollResponderHandleTerminationRequest,\n onResponderTerminate: this.scrollResponderHandleTerminate,\n onResponderRelease: this.scrollResponderHandleResponderRelease,\n onResponderReject: this.scrollResponderHandleResponderReject\n });\n\n var ScrollViewClass = ScrollViewBase;\n invariant(ScrollViewClass !== undefined, 'ScrollViewClass must not be undefined');\n var scrollView = /*#__PURE__*/React.createElement(ScrollViewClass, _extends({}, props, {\n ref: this._setScrollNodeRef\n }), contentContainer);\n\n if (refreshControl) {\n return /*#__PURE__*/React.cloneElement(refreshControl, {\n style: props.style\n }, scrollView);\n }\n\n return scrollView;\n },\n\n _handleContentOnLayout(e) {\n var _e$nativeEvent$layout = e.nativeEvent.layout,\n width = _e$nativeEvent$layout.width,\n height = _e$nativeEvent$layout.height;\n this.props.onContentSizeChange(width, height);\n },\n\n _handleScroll(e) {\n if (process.env.NODE_ENV !== 'production') {\n if (this.props.onScroll && this.props.scrollEventThrottle == null) {\n console.log('You specified `onScroll` on a but not ' + '`scrollEventThrottle`. You will only receive one event. ' + 'Using `16` you get all the events but be aware that it may ' + \"cause frame drops, use a bigger number if you don't need as \" + 'much precision.');\n }\n }\n\n if (this.props.keyboardDismissMode === 'on-drag') {\n dismissKeyboard();\n }\n\n this.scrollResponderHandleScroll(e);\n },\n\n _setInnerViewRef(node) {\n this._innerViewRef = node;\n },\n\n _setScrollNodeRef(node) {\n this._scrollNodeRef = node; // ScrollView needs to add more methods to the hostNode in addition to those\n // added by `usePlatformMethods`. This is temporarily until an API like\n // `ScrollView.scrollTo(hostNode, { x, y })` is added to React Native.\n\n if (node != null) {\n node.getScrollResponder = this.getScrollResponder;\n node.getInnerViewNode = this.getInnerViewNode;\n node.getInnerViewRef = this.getInnerViewRef;\n node.getNativeScrollRef = this.getNativeScrollRef;\n node.getScrollableNode = this.getScrollableNode;\n node.scrollTo = this.scrollTo;\n node.scrollToEnd = this.scrollToEnd;\n node.flashScrollIndicators = this.flashScrollIndicators;\n node.scrollResponderZoomTo = this.scrollResponderZoomTo;\n node.scrollResponderScrollNativeHandleToKeyboard = this.scrollResponderScrollNativeHandleToKeyboard;\n }\n\n var ref = mergeRefs(this.props.forwardedRef);\n ref(node);\n }\n\n});\nvar commonStyle = {\n flexGrow: 1,\n flexShrink: 1,\n // Enable hardware compositing in modern browsers.\n // Creates a new layer with its own backing surface that can significantly\n // improve scroll performance.\n transform: [{\n translateZ: 0\n }],\n // iOS native scrolling\n WebkitOverflowScrolling: 'touch'\n};\nvar styles = StyleSheet.create({\n baseVertical: _objectSpread(_objectSpread({}, commonStyle), {}, {\n flexDirection: 'column',\n overflowX: 'hidden',\n overflowY: 'auto'\n }),\n baseHorizontal: _objectSpread(_objectSpread({}, commonStyle), {}, {\n flexDirection: 'row',\n overflowX: 'auto',\n overflowY: 'hidden'\n }),\n contentContainerHorizontal: {\n flexDirection: 'row'\n },\n contentContainerCenterContent: {\n justifyContent: 'center',\n flexGrow: 1\n },\n stickyHeader: {\n position: 'sticky',\n top: 0,\n zIndex: 10\n },\n pagingEnabledHorizontal: {\n scrollSnapType: 'x mandatory'\n },\n pagingEnabledVertical: {\n scrollSnapType: 'y mandatory'\n },\n pagingEnabledChild: {\n scrollSnapAlign: 'start'\n }\n});\nvar ForwardedScrollView = /*#__PURE__*/React.forwardRef((props, forwardedRef) => {\n return /*#__PURE__*/React.createElement(ScrollView, _extends({}, props, {\n forwardedRef: forwardedRef\n }));\n});\nForwardedScrollView.displayName = 'ScrollView';\nexport default ForwardedScrollView;","/**\n * Copyright (c) Meta Platforms, Inc. and 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 */\nimport SectionList from '../../vendor/react-native/SectionList';\nexport default SectionList;","export default {};","/**\n * Copyright (c) Nicolas Gallagher.\n * Copyright (c) Meta Platforms, Inc. and 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 */\nimport invariant from 'fbjs/lib/invariant';\n\nclass Share {\n static share(content, options) {\n if (options === void 0) {\n options = {};\n }\n\n invariant(typeof content === 'object' && content !== null, 'Content to share must be a valid object');\n invariant(typeof content.url === 'string' || typeof content.message === 'string', 'At least one of URL and message is required');\n invariant(typeof options === 'object' && options !== null, 'Options must be a valid object');\n invariant(!content.title || typeof content.title === 'string', 'Invalid title: title should be a string.');\n\n if (window.navigator.share !== undefined) {\n return window.navigator.share({\n title: content.title,\n text: content.message,\n url: content.url\n });\n } else {\n return Promise.reject(new Error('Share is not supported in this browser'));\n }\n }\n /**\n * The content was successfully shared.\n */\n\n\n static get sharedAction() {\n return 'sharedAction';\n }\n /**\n * The dialog has been dismissed.\n * @platform ios\n */\n\n\n static get dismissedAction() {\n return 'dismissedAction';\n }\n\n}\n\nexport default Share;","/**\n * Copyright (c) Nicolas Gallagher.\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 */\nvar emptyFunction = () => {};\n\nfunction StatusBar() {\n return null;\n}\n\nStatusBar.setBackgroundColor = emptyFunction;\nStatusBar.setBarStyle = emptyFunction;\nStatusBar.setHidden = emptyFunction;\nStatusBar.setNetworkActivityIndicatorVisible = emptyFunction;\nStatusBar.setTranslucent = emptyFunction;\nexport default StatusBar;","/**\n * Copyright (c) Nicolas Gallagher.\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 */\nimport normalizeValueWithProperty from './normalizeValueWithProperty';\nimport canUseDOM from '../../../modules/canUseDom';\n\n/**\n * The browser implements the CSS cascade, where the order of properties is a\n * factor in determining which styles to paint. React Native is different. It\n * gives giving precedence to the more specific style property. For example,\n * the value of `paddingTop` takes precedence over that of `padding`.\n *\n * This module creates mutally exclusive style declarations by expanding all of\n * React Native's supported shortform properties (e.g. `padding`) to their\n * longfrom equivalents.\n */\nvar emptyObject = {};\nvar supportsCSS3TextDecoration = !canUseDOM || window.CSS != null && window.CSS.supports != null && (window.CSS.supports('text-decoration-line', 'none') || window.CSS.supports('-webkit-text-decoration-line', 'none'));\nvar ignoredProps = {\n elevation: true,\n overlayColor: true,\n resizeMode: true,\n tintColor: true\n};\nvar MONOSPACE_FONT_STACK = 'monospace,monospace';\nvar SYSTEM_FONT_STACK = '-apple-system,BlinkMacSystemFont,\"Segoe UI\",Roboto,Helvetica,Arial,sans-serif';\nvar STYLE_SHORT_FORM_EXPANSIONS = {\n borderColor: ['borderTopColor', 'borderRightColor', 'borderBottomColor', 'borderLeftColor'],\n borderRadius: ['borderTopLeftRadius', 'borderTopRightRadius', 'borderBottomRightRadius', 'borderBottomLeftRadius'],\n borderStyle: ['borderTopStyle', 'borderRightStyle', 'borderBottomStyle', 'borderLeftStyle'],\n borderWidth: ['borderTopWidth', 'borderRightWidth', 'borderBottomWidth', 'borderLeftWidth'],\n marginHorizontal: ['marginRight', 'marginLeft'],\n marginVertical: ['marginTop', 'marginBottom'],\n overflow: ['overflowX', 'overflowY'],\n overscrollBehavior: ['overscrollBehaviorX', 'overscrollBehaviorY'],\n paddingHorizontal: ['paddingRight', 'paddingLeft'],\n paddingVertical: ['paddingTop', 'paddingBottom']\n};\n/**\n * Transform\n */\n// { scale: 2 } => 'scale(2)'\n// { translateX: 20 } => 'translateX(20px)'\n// { matrix: [1,2,3,4,5,6] } => 'matrix(1,2,3,4,5,6)'\n\nvar mapTransform = transform => {\n var type = Object.keys(transform)[0];\n var value = transform[type];\n\n if (type === 'matrix' || type === 'matrix3d') {\n return type + \"(\" + value.join(',') + \")\";\n } else {\n var normalizedValue = normalizeValueWithProperty(value, type);\n return type + \"(\" + normalizedValue + \")\";\n }\n};\n\nexport var createTransformValue = style => {\n var transform = style.transform;\n\n if (Array.isArray(style.transform)) {\n transform = style.transform.map(mapTransform).join(' ');\n }\n\n return transform;\n};\n/**\n * Reducer\n */\n\nvar createReactDOMStyle = (style, isInline) => {\n if (!style) {\n return emptyObject;\n }\n\n var resolvedStyle = {};\n\n for (var prop in style) {\n var value = style[prop];\n\n if ( // Ignore everything with a null value\n value == null || // Ignore some React Native styles\n ignoredProps[prop]) {\n continue;\n }\n\n if (prop === 'aspectRatio') {\n resolvedStyle[prop] = value.toString();\n } else if (prop === 'backgroundClip') {\n // TODO: remove once this issue is fixed\n // https://github.com/rofrischmann/inline-style-prefixer/issues/159\n if (value === 'text') {\n resolvedStyle.backgroundClip = value;\n resolvedStyle.WebkitBackgroundClip = value;\n }\n } else if (prop === 'flex') {\n if (value === -1) {\n resolvedStyle.flexGrow = 0;\n resolvedStyle.flexShrink = 1;\n resolvedStyle.flexBasis = 'auto';\n } else {\n resolvedStyle.flex = value;\n }\n } else if (prop === 'font') {\n resolvedStyle[prop] = value.replace('System', SYSTEM_FONT_STACK);\n } else if (prop === 'fontFamily') {\n if (value.indexOf('System') > -1) {\n var stack = value.split(/,\\s*/);\n stack[stack.indexOf('System')] = SYSTEM_FONT_STACK;\n resolvedStyle[prop] = stack.join(',');\n } else if (value === 'monospace') {\n resolvedStyle[prop] = MONOSPACE_FONT_STACK;\n } else {\n resolvedStyle[prop] = value;\n }\n } else if (prop === 'fontVariant') {\n if (Array.isArray(value) && value.length > 0) {\n resolvedStyle.fontVariant = value.join(' ');\n }\n } else if (prop === 'textAlignVertical') {\n resolvedStyle.verticalAlign = value === 'center' ? 'middle' : value;\n } else if (prop === 'textDecorationLine') {\n // use 'text-decoration' for browsers that only support CSS2\n // text-decoration (e.g., IE, Edge)\n if (!supportsCSS3TextDecoration) {\n resolvedStyle.textDecoration = value;\n } else {\n resolvedStyle.textDecorationLine = value;\n }\n } else if (prop === 'transform' || prop === 'transformMatrix') {\n resolvedStyle.transform = createTransformValue(style);\n } else if (prop === 'writingDirection') {\n resolvedStyle.direction = value;\n } else {\n (function () {\n var value = normalizeValueWithProperty(style[prop], prop);\n var longFormProperties = STYLE_SHORT_FORM_EXPANSIONS[prop];\n\n if (isInline && prop === 'margin') {\n if (style.marginHorizontal == null) {\n resolvedStyle.marginLeft = value;\n resolvedStyle.marginRight = value;\n }\n\n if (style.marginVertical == null) {\n resolvedStyle.marginTop = value;\n resolvedStyle.marginBottom = value;\n }\n } else if (isInline && prop === 'padding') {\n if (style.paddingHorizontal == null) {\n resolvedStyle.paddingLeft = value;\n resolvedStyle.paddingRight = value;\n }\n\n if (style.paddingVertical == null) {\n resolvedStyle.paddingTop = value;\n resolvedStyle.paddingBottom = value;\n }\n } else if (longFormProperties) {\n longFormProperties.forEach((longForm, i) => {\n // The value of any longform property in the original styles takes\n // precedence over the shortform's value.\n if (style[longForm] == null) {\n resolvedStyle[longForm] = value;\n }\n });\n } else {\n resolvedStyle[prop] = Array.isArray(value) ? value.join(',') : value;\n }\n })();\n }\n }\n\n return resolvedStyle;\n};\n\nexport default createReactDOMStyle;","/* eslint-disable */\n\n/**\n * JS Implementation of MurmurHash2\n *\n * @author Gary Court\n * @see http://github.com/garycourt/murmurhash-js\n * @author Austin Appleby\n * @see http://sites.google.com/site/murmurhash/\n *\n * @param {string} str ASCII only\n * @param {number} seed Positive integer only\n * @return {number} 32-bit positive integer hash\n *\n * \n */\nfunction murmurhash2_32_gc(str, seed) {\n var l = str.length,\n h = seed ^ l,\n i = 0,\n k;\n\n while (l >= 4) {\n k = str.charCodeAt(i) & 0xff | (str.charCodeAt(++i) & 0xff) << 8 | (str.charCodeAt(++i) & 0xff) << 16 | (str.charCodeAt(++i) & 0xff) << 24;\n k = (k & 0xffff) * 0x5bd1e995 + (((k >>> 16) * 0x5bd1e995 & 0xffff) << 16);\n k ^= k >>> 24;\n k = (k & 0xffff) * 0x5bd1e995 + (((k >>> 16) * 0x5bd1e995 & 0xffff) << 16);\n h = (h & 0xffff) * 0x5bd1e995 + (((h >>> 16) * 0x5bd1e995 & 0xffff) << 16) ^ k;\n l -= 4;\n ++i;\n }\n\n switch (l) {\n case 3:\n h ^= (str.charCodeAt(i + 2) & 0xff) << 16;\n\n case 2:\n h ^= (str.charCodeAt(i + 1) & 0xff) << 8;\n\n case 1:\n h ^= str.charCodeAt(i) & 0xff;\n h = (h & 0xffff) * 0x5bd1e995 + (((h >>> 16) * 0x5bd1e995 & 0xffff) << 16);\n }\n\n h ^= h >>> 13;\n h = (h & 0xffff) * 0x5bd1e995 + (((h >>> 16) * 0x5bd1e995 & 0xffff) << 16);\n h ^= h >>> 15;\n return h >>> 0;\n}\n\nvar hash = str => murmurhash2_32_gc(str, 1).toString(36);\n\nexport default hash;","/**\n * Copyright (c) Nicolas Gallagher.\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 */\nvar uppercasePattern = /[A-Z]/g;\nvar msPattern = /^ms-/;\nvar cache = {};\n\nfunction toHyphenLower(match) {\n return '-' + match.toLowerCase();\n}\n\nfunction hyphenateStyleName(name) {\n if (name in cache) {\n return cache[name];\n }\n\n var hName = name.replace(uppercasePattern, toHyphenLower);\n return cache[name] = msPattern.test(hName) ? '-' + hName : hName;\n}\n\nexport default hyphenateStyleName;","import _objectSpread from \"@babel/runtime/helpers/objectSpread2\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/objectWithoutPropertiesLoose\";\nvar _excluded = [\"animationKeyframes\"];\n\n/**\n * Copyright (c) Nicolas Gallagher.\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 */\nimport createReactDOMStyle from './createReactDOMStyle';\nimport hash from './hash';\nimport hyphenateStyleName from './hyphenateStyleName';\nimport normalizeValueWithProperty from './normalizeValueWithProperty';\nimport prefixStyles from '../../../modules/prefixStyles';\nvar cache = new Map();\nvar emptyObject = {};\nvar classicGroup = 1;\nvar atomicGroup = 2.2;\nvar customGroup = {\n borderColor: 2,\n borderRadius: 2,\n borderStyle: 2,\n borderWidth: 2,\n display: 2,\n flex: 2,\n margin: 2,\n overflow: 2,\n overscrollBehavior: 2,\n padding: 2,\n marginHorizontal: 2.1,\n marginVertical: 2.1,\n paddingHorizontal: 2.1,\n paddingVertical: 2.1\n};\nvar borderTopLeftRadius = 'borderTopLeftRadius';\nvar borderTopRightRadius = 'borderTopRightRadius';\nvar borderBottomLeftRadius = 'borderBottomLeftRadius';\nvar borderBottomRightRadius = 'borderBottomRightRadius';\nvar borderLeftColor = 'borderLeftColor';\nvar borderLeftStyle = 'borderLeftStyle';\nvar borderLeftWidth = 'borderLeftWidth';\nvar borderRightColor = 'borderRightColor';\nvar borderRightStyle = 'borderRightStyle';\nvar borderRightWidth = 'borderRightWidth';\nvar right = 'right';\nvar marginLeft = 'marginLeft';\nvar marginRight = 'marginRight';\nvar paddingLeft = 'paddingLeft';\nvar paddingRight = 'paddingRight';\nvar left = 'left'; // Map of LTR property names to their BiDi equivalent.\n\nvar PROPERTIES_FLIP = {\n [borderTopLeftRadius]: borderTopRightRadius,\n [borderTopRightRadius]: borderTopLeftRadius,\n [borderBottomLeftRadius]: borderBottomRightRadius,\n [borderBottomRightRadius]: borderBottomLeftRadius,\n [borderLeftColor]: borderRightColor,\n [borderLeftStyle]: borderRightStyle,\n [borderLeftWidth]: borderRightWidth,\n [borderRightColor]: borderLeftColor,\n [borderRightStyle]: borderLeftStyle,\n [borderRightWidth]: borderLeftWidth,\n [left]: right,\n [marginLeft]: marginRight,\n [marginRight]: marginLeft,\n [paddingLeft]: paddingRight,\n [paddingRight]: paddingLeft,\n [right]: left\n}; // Map of I18N property names to their LTR equivalent.\n\nvar PROPERTIES_I18N = {\n borderTopStartRadius: borderTopLeftRadius,\n borderTopEndRadius: borderTopRightRadius,\n borderBottomStartRadius: borderBottomLeftRadius,\n borderBottomEndRadius: borderBottomRightRadius,\n borderStartColor: borderLeftColor,\n borderStartStyle: borderLeftStyle,\n borderStartWidth: borderLeftWidth,\n borderEndColor: borderRightColor,\n borderEndStyle: borderRightStyle,\n borderEndWidth: borderRightWidth,\n end: right,\n marginStart: marginLeft,\n marginEnd: marginRight,\n paddingStart: paddingLeft,\n paddingEnd: paddingRight,\n start: left\n};\nvar PROPERTIES_VALUE = ['clear', 'float', 'textAlign'];\nexport function atomic(style) {\n var compiledStyle = {\n $$css: true\n };\n var compiledRules = [];\n\n function atomicCompile(prop, value) {\n var valueString = stringifyValueWithProperty(value, prop);\n var cacheKey = prop + valueString;\n var cachedResult = cache.get(cacheKey);\n var identifier;\n\n if (cachedResult != null) {\n identifier = cachedResult[0];\n compiledRules.push(cachedResult[1]);\n } else {\n identifier = createIdentifier('r', prop, value);\n var order = customGroup[prop] || atomicGroup;\n var rules = createAtomicRules(identifier, prop, value);\n var orderedRules = [rules, order];\n compiledRules.push(orderedRules);\n cache.set(cacheKey, [identifier, orderedRules]);\n }\n\n return identifier;\n }\n\n Object.keys(style).sort().forEach(prop => {\n var value = style[prop];\n\n if (value != null) {\n var localizeableValue; // BiDi flip values\n\n if (PROPERTIES_VALUE.indexOf(prop) > -1) {\n var _left = atomicCompile(prop, 'left');\n\n var _right = atomicCompile(prop, 'right');\n\n if (value === 'start') {\n localizeableValue = [_left, _right];\n } else if (value === 'end') {\n localizeableValue = [_right, _left];\n }\n } // BiDi flip properties\n\n\n var propPolyfill = PROPERTIES_I18N[prop];\n\n if (propPolyfill != null) {\n var ltr = atomicCompile(propPolyfill, value);\n var rtl = atomicCompile(PROPERTIES_FLIP[propPolyfill], value);\n localizeableValue = [ltr, rtl];\n } // BiDi flip transitionProperty value\n\n\n if (prop === 'transitionProperty') {\n var values = Array.isArray(value) ? value : [value];\n var polyfillIndices = [];\n\n for (var i = 0; i < values.length; i++) {\n var val = values[i];\n\n if (typeof val === 'string' && PROPERTIES_I18N[val] != null) {\n polyfillIndices.push(i);\n }\n }\n\n if (polyfillIndices.length > 0) {\n var ltrPolyfillValues = [...values];\n var rtlPolyfillValues = [...values];\n polyfillIndices.forEach(i => {\n var ltrVal = ltrPolyfillValues[i];\n\n if (typeof ltrVal === 'string') {\n var ltrPolyfill = PROPERTIES_I18N[ltrVal];\n var rtlPolyfill = PROPERTIES_FLIP[ltrPolyfill];\n ltrPolyfillValues[i] = ltrPolyfill;\n rtlPolyfillValues[i] = rtlPolyfill;\n\n var _ltr = atomicCompile(prop, ltrPolyfillValues);\n\n var _rtl = atomicCompile(prop, rtlPolyfillValues);\n\n localizeableValue = [_ltr, _rtl];\n }\n });\n }\n }\n\n if (localizeableValue == null) {\n localizeableValue = atomicCompile(prop, value);\n } else {\n compiledStyle['$$css$localize'] = true;\n }\n\n compiledStyle[prop] = localizeableValue;\n }\n });\n return [compiledStyle, compiledRules];\n}\n/**\n * Compile simple style object to classic CSS rules.\n * No support for 'placeholderTextColor', 'scrollbarWidth', or 'pointerEvents'.\n */\n\nexport function classic(style, name) {\n var compiledStyle = {\n $$css: true\n };\n var compiledRules = [];\n\n var animationKeyframes = style.animationKeyframes,\n rest = _objectWithoutPropertiesLoose(style, _excluded);\n\n var identifier = createIdentifier('css', name, style);\n var selector = \".\" + identifier;\n var animationName;\n\n if (animationKeyframes != null) {\n var _processKeyframesValu = processKeyframesValue(animationKeyframes),\n animationNames = _processKeyframesValu[0],\n keyframesRules = _processKeyframesValu[1];\n\n animationName = animationNames.join(',');\n compiledRules.push(...keyframesRules);\n }\n\n var block = createDeclarationBlock(_objectSpread(_objectSpread({}, rest), {}, {\n animationName\n }));\n compiledRules.push(\"\" + selector + block);\n compiledStyle[identifier] = identifier;\n return [compiledStyle, [[compiledRules, classicGroup]]];\n}\n/**\n * Compile simple style object to inline DOM styles.\n * No support for 'animationKeyframes', 'placeholderTextColor', 'scrollbarWidth', or 'pointerEvents'.\n */\n\nexport function inline(originalStyle, isRTL) {\n var style = originalStyle || emptyObject;\n var frozenProps = {};\n var nextStyle = {};\n\n for (var originalProp in style) {\n var originalValue = style[originalProp];\n var prop = originalProp;\n var value = originalValue;\n\n if (!Object.prototype.hasOwnProperty.call(style, originalProp) || originalValue == null) {\n continue;\n } // BiDi flip values\n\n\n if (PROPERTIES_VALUE.indexOf(originalProp) > -1) {\n if (originalValue === 'start') {\n value = isRTL ? 'right' : 'left';\n } else if (originalValue === 'end') {\n value = isRTL ? 'left' : 'right';\n }\n } // BiDi flip properties\n\n\n var propPolyfill = PROPERTIES_I18N[originalProp];\n\n if (propPolyfill != null) {\n prop = isRTL ? PROPERTIES_FLIP[propPolyfill] : propPolyfill;\n } // BiDi flip transitionProperty value\n\n\n if (originalProp === 'transitionProperty') {\n (function () {\n // $FlowFixMe\n var originalValues = Array.isArray(originalValue) ? originalValue : [originalValue];\n originalValues.forEach((val, i) => {\n if (typeof val === 'string') {\n var valuePolyfill = PROPERTIES_I18N[val];\n\n if (valuePolyfill != null) {\n originalValues[i] = isRTL ? PROPERTIES_FLIP[valuePolyfill] : valuePolyfill;\n }\n }\n });\n })();\n } // Create finalized style\n\n\n if (!frozenProps[prop]) {\n nextStyle[prop] = value;\n }\n\n if (PROPERTIES_I18N.hasOwnProperty(originalProp)) {\n frozenProps[prop] = true;\n }\n }\n\n return createReactDOMStyle(nextStyle, true);\n}\n/**\n * Create a value string that normalizes different input values with a common\n * output.\n */\n\nexport function stringifyValueWithProperty(value, property) {\n // e.g., 0 => '0px', 'black' => 'rgba(0,0,0,1)'\n var normalizedValue = normalizeValueWithProperty(value, property);\n return typeof normalizedValue !== 'string' ? JSON.stringify(normalizedValue || '') : normalizedValue;\n}\n/**\n * Create the Atomic CSS rules needed for a given StyleSheet rule.\n * Translates StyleSheet declarations to CSS.\n */\n\nfunction createAtomicRules(identifier, property, value) {\n var rules = [];\n var selector = \".\" + identifier; // Handle non-standard properties and object values that require multiple\n // CSS rules to be created.\n\n switch (property) {\n case 'animationKeyframes':\n {\n var _processKeyframesValu2 = processKeyframesValue(value),\n animationNames = _processKeyframesValu2[0],\n keyframesRules = _processKeyframesValu2[1];\n\n var block = createDeclarationBlock({\n animationName: animationNames.join(',')\n });\n rules.push(\"\" + selector + block, ...keyframesRules);\n break;\n }\n // Equivalent to using '::placeholder'\n\n case 'placeholderTextColor':\n {\n var _block = createDeclarationBlock({\n color: value,\n opacity: 1\n });\n\n rules.push(selector + \"::-webkit-input-placeholder\" + _block, selector + \"::-moz-placeholder\" + _block, selector + \":-ms-input-placeholder\" + _block, selector + \"::placeholder\" + _block);\n break;\n }\n // Polyfill for additional 'pointer-events' values\n // See d13f78622b233a0afc0c7a200c0a0792c8ca9e58\n\n case 'pointerEvents':\n {\n var finalValue = value;\n\n if (value === 'auto' || value === 'box-only') {\n finalValue = 'auto!important';\n\n if (value === 'box-only') {\n var _block3 = createDeclarationBlock({\n pointerEvents: 'none'\n });\n\n rules.push(selector + \">*\" + _block3);\n }\n } else if (value === 'none' || value === 'box-none') {\n finalValue = 'none!important';\n\n if (value === 'box-none') {\n var _block4 = createDeclarationBlock({\n pointerEvents: 'auto'\n });\n\n rules.push(selector + \">*\" + _block4);\n }\n }\n\n var _block2 = createDeclarationBlock({\n pointerEvents: finalValue\n });\n\n rules.push(\"\" + selector + _block2);\n break;\n }\n // Polyfill for draft spec\n // https://drafts.csswg.org/css-scrollbars-1/\n\n case 'scrollbarWidth':\n {\n if (value === 'none') {\n rules.push(selector + \"::-webkit-scrollbar{display:none}\");\n }\n\n var _block5 = createDeclarationBlock({\n scrollbarWidth: value\n });\n\n rules.push(\"\" + selector + _block5);\n break;\n }\n\n default:\n {\n var _block6 = createDeclarationBlock({\n [property]: value\n });\n\n rules.push(\"\" + selector + _block6);\n break;\n }\n }\n\n return rules;\n}\n/**\n * Creates a CSS declaration block from a StyleSheet object.\n */\n\n\nfunction createDeclarationBlock(style) {\n var domStyle = prefixStyles(createReactDOMStyle(style));\n var declarationsString = Object.keys(domStyle).map(property => {\n var value = domStyle[property];\n var prop = hyphenateStyleName(property); // The prefixer may return an array of values:\n // { display: [ '-webkit-flex', 'flex' ] }\n // to represent \"fallback\" declarations\n // { display: -webkit-flex; display: flex; }\n\n if (Array.isArray(value)) {\n return value.map(v => prop + \":\" + v).join(';');\n } else {\n return prop + \":\" + value;\n }\n }) // Once properties are hyphenated, this will put the vendor\n // prefixed and short-form properties first in the list.\n .sort().join(';');\n return \"{\" + declarationsString + \";}\";\n}\n/**\n * An identifier is associated with a unique set of styles.\n */\n\n\nfunction createIdentifier(prefix, name, value) {\n var hashedString = hash(name + stringifyValueWithProperty(value, name));\n return process.env.NODE_ENV !== 'production' ? prefix + \"-\" + name + \"-\" + hashedString : prefix + \"-\" + hashedString;\n}\n/**\n * Create individual CSS keyframes rules.\n */\n\n\nfunction createKeyframes(keyframes) {\n var prefixes = ['-webkit-', ''];\n var identifier = createIdentifier('r', 'animation', keyframes);\n var steps = '{' + Object.keys(keyframes).map(stepName => {\n var rule = keyframes[stepName];\n var block = createDeclarationBlock(rule);\n return \"\" + stepName + block;\n }).join('') + '}';\n var rules = prefixes.map(prefix => {\n return \"@\" + prefix + \"keyframes \" + identifier + steps;\n });\n return [identifier, rules];\n}\n/**\n * Create CSS keyframes rules and names from a StyleSheet keyframes object.\n */\n\n\nfunction processKeyframesValue(keyframesValue) {\n if (typeof keyframesValue === 'number') {\n throw new Error(\"Invalid CSS keyframes type: \" + typeof keyframesValue);\n }\n\n var animationNames = [];\n var rules = [];\n var value = Array.isArray(keyframesValue) ? keyframesValue : [keyframesValue];\n value.forEach(keyframes => {\n if (typeof keyframes === 'string') {\n // Support external animation libraries (identifiers only)\n animationNames.push(keyframes);\n } else {\n // Create rules for each of the keyframes\n var _createKeyframes = createKeyframes(keyframes),\n identifier = _createKeyframes[0],\n keyframesRules = _createKeyframes[1];\n\n animationNames.push(identifier);\n rules.push(...keyframesRules);\n }\n });\n return [animationNames, rules];\n}","/**\n * Copyright (c) Nicolas Gallagher.\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 */\nimport isWebColor from '../../../modules/isWebColor';\nimport processColor from '../../../exports/processColor';\n\nvar normalizeColor = function normalizeColor(color, opacity) {\n if (opacity === void 0) {\n opacity = 1;\n }\n\n if (color == null) return;\n\n if (typeof color === 'string' && isWebColor(color)) {\n return color;\n }\n\n var colorInt = processColor(color);\n\n if (colorInt != null) {\n var r = colorInt >> 16 & 255;\n var g = colorInt >> 8 & 255;\n var b = colorInt & 255;\n var a = (colorInt >> 24 & 255) / 255;\n var alpha = (a * opacity).toFixed(2);\n return \"rgba(\" + r + \",\" + g + \",\" + b + \",\" + alpha + \")\";\n }\n};\n\nexport default normalizeColor;","/**\n * Copyright (c) Nicolas Gallagher.\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 */\nimport unitlessNumbers from './unitlessNumbers';\nimport normalizeColor from './normalizeColor';\nvar colorProps = {\n backgroundColor: true,\n borderColor: true,\n borderTopColor: true,\n borderRightColor: true,\n borderBottomColor: true,\n borderLeftColor: true,\n color: true,\n shadowColor: true,\n textDecorationColor: true,\n textShadowColor: true\n};\nexport default function normalizeValueWithProperty(value, property) {\n var returnValue = value;\n\n if ((property == null || !unitlessNumbers[property]) && typeof value === 'number') {\n returnValue = value + \"px\";\n } else if (property != null && colorProps[property]) {\n returnValue = normalizeColor(value);\n }\n\n return returnValue;\n}","/**\n * Copyright (c) Nicolas Gallagher.\n * Copyright (c) Meta Platforms, Inc. and 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 */\nvar unitlessNumbers = {\n animationIterationCount: true,\n aspectRatio: true,\n borderImageOutset: true,\n borderImageSlice: true,\n borderImageWidth: true,\n boxFlex: true,\n boxFlexGroup: true,\n boxOrdinalGroup: true,\n columnCount: true,\n flex: true,\n flexGrow: true,\n flexOrder: true,\n flexPositive: true,\n flexShrink: true,\n flexNegative: true,\n fontWeight: true,\n gridRow: true,\n gridRowEnd: true,\n gridRowGap: true,\n gridRowStart: true,\n gridColumn: true,\n gridColumnEnd: true,\n gridColumnGap: true,\n gridColumnStart: true,\n lineClamp: true,\n opacity: true,\n order: true,\n orphans: true,\n tabSize: true,\n widows: true,\n zIndex: true,\n zoom: true,\n // SVG-related\n fillOpacity: true,\n floodOpacity: true,\n stopOpacity: true,\n strokeDasharray: true,\n strokeDashoffset: true,\n strokeMiterlimit: true,\n strokeOpacity: true,\n strokeWidth: true,\n // transform types\n scale: true,\n scaleX: true,\n scaleY: true,\n scaleZ: true,\n // RN properties\n shadowOpacity: true\n};\n/**\n * Support style names that may come passed in prefixed by adding permutations\n * of vendor prefixes.\n */\n\nvar prefixes = ['ms', 'Moz', 'O', 'Webkit'];\n\nvar prefixKey = (prefix, key) => {\n return prefix + key.charAt(0).toUpperCase() + key.substring(1);\n};\n\nObject.keys(unitlessNumbers).forEach(prop => {\n prefixes.forEach(prefix => {\n unitlessNumbers[prefixKey(prefix, prop)] = unitlessNumbers[prop];\n });\n});\nexport default unitlessNumbers;","/**\n * Copyright (c) Nicolas Gallagher.\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 */\nimport canUseDOM from '../../../modules/canUseDom'; // $FlowFixMe: HTMLStyleElement is incorrectly typed - https://github.com/facebook/flow/issues/2696\n\nexport default function createCSSStyleSheet(id, rootNode, textContent) {\n if (canUseDOM) {\n var root = rootNode != null ? rootNode : document;\n var element = root.getElementById(id);\n\n if (element == null) {\n element = document.createElement('style');\n element.setAttribute('id', id);\n\n if (typeof textContent === 'string') {\n element.appendChild(document.createTextNode(textContent));\n }\n\n if (root instanceof ShadowRoot) {\n root.insertBefore(element, root.firstChild);\n } else {\n var head = root.head;\n\n if (head) {\n head.insertBefore(element, head.firstChild);\n }\n }\n } // $FlowFixMe: HTMLElement is incorrectly typed\n\n\n return element.sheet;\n } else {\n return null;\n }\n}","/**\n * Copyright (c) Nicolas Gallagher.\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 */\nvar slice = Array.prototype.slice;\n/**\n * Order-based insertion of CSS.\n *\n * Each rule is associated with a numerically defined group.\n * Groups are ordered within the style sheet according to their number, with the\n * lowest first.\n *\n * Groups are implemented using marker rules. The selector of the first rule of\n * each group is used only to encode the group number for hydration. An\n * alternative implementation could rely on CSSMediaRule, allowing groups to be\n * treated as a sub-sheet, but the Edge implementation of CSSMediaRule is\n * broken.\n * https://developer.mozilla.org/en-US/docs/Web/API/CSSMediaRule\n * https://gist.github.com/necolas/aa0c37846ad6bd3b05b727b959e82674\n */\n\nexport default function createOrderedCSSStyleSheet(sheet) {\n var groups = {};\n var selectors = {};\n /**\n * Hydrate approximate record from any existing rules in the sheet.\n */\n\n if (sheet != null) {\n var group;\n slice.call(sheet.cssRules).forEach((cssRule, i) => {\n var cssText = cssRule.cssText; // Create record of existing selectors and rules\n\n if (cssText.indexOf('stylesheet-group') > -1) {\n group = decodeGroupRule(cssRule);\n groups[group] = {\n start: i,\n rules: [cssText]\n };\n } else {\n var selectorText = getSelectorText(cssText);\n\n if (selectorText != null) {\n selectors[selectorText] = true;\n groups[group].rules.push(cssText);\n }\n }\n });\n }\n\n function sheetInsert(sheet, group, text) {\n var orderedGroups = getOrderedGroups(groups);\n var groupIndex = orderedGroups.indexOf(group);\n var nextGroupIndex = groupIndex + 1;\n var nextGroup = orderedGroups[nextGroupIndex]; // Insert rule before the next group, or at the end of the stylesheet\n\n var position = nextGroup != null && groups[nextGroup].start != null ? groups[nextGroup].start : sheet.cssRules.length;\n var isInserted = insertRuleAt(sheet, text, position);\n\n if (isInserted) {\n // Set the starting index of the new group\n if (groups[group].start == null) {\n groups[group].start = position;\n } // Increment the starting index of all subsequent groups\n\n\n for (var i = nextGroupIndex; i < orderedGroups.length; i += 1) {\n var groupNumber = orderedGroups[i];\n var previousStart = groups[groupNumber].start || 0;\n groups[groupNumber].start = previousStart + 1;\n }\n }\n\n return isInserted;\n }\n\n var OrderedCSSStyleSheet = {\n /**\n * The textContent of the style sheet.\n */\n getTextContent() {\n return getOrderedGroups(groups).map(group => {\n var rules = groups[group].rules; // Sorting provides deterministic order of styles in group for\n // build-time extraction of the style sheet.\n\n var marker = rules.shift();\n rules.sort();\n rules.unshift(marker);\n return rules.join('\\n');\n }).join('\\n');\n },\n\n /**\n * Insert a rule into the style sheet\n */\n insert(cssText, groupValue) {\n var group = Number(groupValue); // Create a new group.\n\n if (groups[group] == null) {\n var markerRule = encodeGroupRule(group); // Create the internal record.\n\n groups[group] = {\n start: null,\n rules: [markerRule]\n }; // Update CSSOM.\n\n if (sheet != null) {\n sheetInsert(sheet, group, markerRule);\n }\n } // selectorText is more reliable than cssText for insertion checks. The\n // browser excludes vendor-prefixed properties and rewrites certain values\n // making cssText more likely to be different from what was inserted.\n\n\n var selectorText = getSelectorText(cssText);\n\n if (selectorText != null && selectors[selectorText] == null) {\n // Update the internal records.\n selectors[selectorText] = true;\n groups[group].rules.push(cssText); // Update CSSOM.\n\n if (sheet != null) {\n var isInserted = sheetInsert(sheet, group, cssText);\n\n if (!isInserted) {\n // Revert internal record change if a rule was rejected (e.g.,\n // unrecognized pseudo-selector)\n groups[group].rules.pop();\n }\n }\n }\n }\n\n };\n return OrderedCSSStyleSheet;\n}\n/**\n * Helper functions\n */\n\nfunction encodeGroupRule(group) {\n return \"[stylesheet-group=\\\"\" + group + \"\\\"]{}\";\n}\n\nvar groupPattern = /[\"']/g;\n\nfunction decodeGroupRule(cssRule) {\n return Number(cssRule.selectorText.split(groupPattern)[1]);\n}\n\nfunction getOrderedGroups(obj) {\n return Object.keys(obj).map(Number).sort((a, b) => a > b ? 1 : -1);\n}\n\nvar selectorPattern = /\\s*([,])\\s*/g;\n\nfunction getSelectorText(cssText) {\n var selector = cssText.split('{')[0].trim();\n return selector !== '' ? selector.replace(selectorPattern, '$1') : null;\n}\n\nfunction insertRuleAt(root, cssText, position) {\n try {\n // $FlowFixMe: Flow is missing CSSOM types needed to type 'root'.\n root.insertRule(cssText, position);\n return true;\n } catch (e) {\n // JSDOM doesn't support `CSSSMediaRule#insertRule`.\n // Also ignore errors that occur from attempting to insert vendor-prefixed selectors.\n return false;\n }\n}","/**\n * Copyright (c) Nicolas Gallagher.\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 */\nimport canUseDOM from '../../../modules/canUseDom';\nimport createCSSStyleSheet from './createCSSStyleSheet';\nimport createOrderedCSSStyleSheet from './createOrderedCSSStyleSheet';\nvar defaultId = 'react-native-stylesheet';\nvar roots = new WeakMap();\nvar sheets = [];\nvar initialRules = [// minimal top-level reset\n'html{-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:rgba(0,0,0,0);}', 'body{margin:0;}', // minimal form pseudo-element reset\n'button::-moz-focus-inner,input::-moz-focus-inner{border:0;padding:0;}', 'input::-webkit-search-cancel-button,input::-webkit-search-decoration,input::-webkit-search-results-button,input::-webkit-search-results-decoration{display:none;}'];\nexport function createSheet(root, id) {\n if (id === void 0) {\n id = defaultId;\n }\n\n var sheet;\n\n if (canUseDOM) {\n var rootNode = root != null ? root.getRootNode() : document; // Create the initial style sheet\n\n if (sheets.length === 0) {\n sheet = createOrderedCSSStyleSheet(createCSSStyleSheet(id));\n initialRules.forEach(rule => {\n sheet.insert(rule, 0);\n });\n roots.set(rootNode, sheets.length);\n sheets.push(sheet);\n } else {\n var index = roots.get(rootNode);\n\n if (index == null) {\n var initialSheet = sheets[0]; // If we're creating a new sheet, populate it with existing styles\n\n var textContent = initialSheet != null ? initialSheet.getTextContent() : ''; // Cast rootNode to 'any' because Flow types for getRootNode are wrong\n\n sheet = createOrderedCSSStyleSheet(createCSSStyleSheet(id, rootNode, textContent));\n roots.set(rootNode, sheets.length);\n sheets.push(sheet);\n } else {\n sheet = sheets[index];\n }\n }\n } else {\n // Create the initial style sheet\n if (sheets.length === 0) {\n sheet = createOrderedCSSStyleSheet(createCSSStyleSheet(id));\n initialRules.forEach(rule => {\n sheet.insert(rule, 0);\n });\n sheets.push(sheet);\n } else {\n sheet = sheets[0];\n }\n }\n\n return {\n getTextContent() {\n return sheet.getTextContent();\n },\n\n id,\n\n insert(cssText, groupValue) {\n sheets.forEach(s => {\n s.insert(cssText, groupValue);\n });\n }\n\n };\n}","import _objectSpread from \"@babel/runtime/helpers/objectSpread2\";\n\n/**\n * Copyright (c) Nicolas Gallagher.\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 */\nimport { atomic, classic, inline } from './compiler';\nimport { createSheet } from './dom';\nimport { localizeStyle } from 'styleq/transform-localize-style';\nimport { preprocess } from './preprocess';\nimport { styleq } from 'styleq';\nimport { validate } from './validate';\nimport canUseDOM from '../../modules/canUseDom';\nvar staticStyleMap = new WeakMap();\nvar sheet = createSheet();\n\nfunction customStyleq(styles, isRTL) {\n return styleq.factory({\n transform(style) {\n var compiledStyle = staticStyleMap.get(style);\n\n if (compiledStyle != null) {\n return localizeStyle(compiledStyle, isRTL);\n }\n\n return style;\n }\n\n })(styles);\n}\n\nfunction insertRules(compiledOrderedRules) {\n compiledOrderedRules.forEach(_ref => {\n var rules = _ref[0],\n order = _ref[1];\n\n if (sheet != null) {\n rules.forEach(rule => {\n sheet.insert(rule, order);\n });\n }\n });\n}\n\nfunction compileAndInsertAtomic(style) {\n var _atomic = atomic(preprocess(style)),\n compiledStyle = _atomic[0],\n compiledOrderedRules = _atomic[1];\n\n insertRules(compiledOrderedRules);\n return compiledStyle;\n}\n\nfunction compileAndInsertReset(style, key) {\n var _classic = classic(style, key),\n compiledStyle = _classic[0],\n compiledOrderedRules = _classic[1];\n\n insertRules(compiledOrderedRules);\n return compiledStyle;\n}\n/* ----- API ----- */\n\n\nvar absoluteFillObject = {\n position: 'absolute',\n left: 0,\n right: 0,\n top: 0,\n bottom: 0\n};\nvar absoluteFill = create({\n x: _objectSpread({}, absoluteFillObject)\n}).x;\n/**\n * create\n */\n\nfunction create(styles) {\n Object.keys(styles).forEach(key => {\n var styleObj = styles[key]; // Only compile at runtime if the style is not already compiled\n\n if (styleObj != null && styleObj.$$css !== true) {\n var compiledStyles;\n\n if (key.indexOf('$raw') > -1) {\n compiledStyles = compileAndInsertReset(styleObj, key.split('$raw')[0]);\n } else {\n if (process.env.NODE_ENV !== 'production') {\n validate(styleObj);\n styles[key] = Object.freeze(styleObj);\n }\n\n compiledStyles = compileAndInsertAtomic(styleObj);\n }\n\n staticStyleMap.set(styleObj, compiledStyles);\n }\n });\n return styles;\n}\n/**\n * compose\n */\n\n\nfunction compose(style1, style2) {\n if (process.env.NODE_ENV !== 'production') {\n /* eslint-disable prefer-rest-params */\n var len = arguments.length;\n\n if (len > 2) {\n var readableStyles = [...arguments].map(a => flatten(a));\n throw new Error(\"StyleSheet.compose() only accepts 2 arguments, received \" + len + \": \" + JSON.stringify(readableStyles));\n }\n /* eslint-enable prefer-rest-params */\n\n }\n\n if (style1 && style2) {\n return [style1, style2];\n } else {\n return style1 || style2;\n }\n}\n/**\n * flatten\n */\n\n\nfunction flatten() {\n for (var _len = arguments.length, styles = new Array(_len), _key = 0; _key < _len; _key++) {\n styles[_key] = arguments[_key];\n }\n\n var flatArray = styles.flat(Infinity);\n var result = {};\n\n for (var i = 0; i < flatArray.length; i++) {\n var style = flatArray[i];\n\n if (style != null && typeof style === 'object') {\n // $FlowFixMe\n Object.assign(result, style);\n }\n }\n\n return result;\n}\n/**\n * getSheet\n */\n\n\nfunction getSheet() {\n return {\n id: sheet.id,\n textContent: sheet.getTextContent()\n };\n}\n/**\n * resolve\n */\n\n\nfunction StyleSheet(styles, options) {\n var isRTL = options != null && options.writingDirection === 'rtl';\n var styleProps = customStyleq(styles, isRTL);\n\n if (Array.isArray(styleProps) && styleProps[1] != null) {\n styleProps[1] = inline(preprocess(styleProps[1]), isRTL);\n }\n\n return styleProps;\n}\n\nStyleSheet.absoluteFill = absoluteFill;\nStyleSheet.absoluteFillObject = absoluteFillObject;\nStyleSheet.create = create;\nStyleSheet.compose = compose;\nStyleSheet.flatten = flatten;\nStyleSheet.getSheet = getSheet; // `hairlineWidth` is not implemented using screen density as browsers may\n// round sub-pixel values down to `0`, causing the line not to be rendered.\n\nStyleSheet.hairlineWidth = 1;\n\nif (canUseDOM && window.__REACT_DEVTOOLS_GLOBAL_HOOK__) {\n window.__REACT_DEVTOOLS_GLOBAL_HOOK__.resolveRNStyle = StyleSheet.flatten;\n}\n\nvar stylesheet = StyleSheet;\nexport default stylesheet;","/**\n * Copyright (c) Nicolas Gallagher.\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 */\nimport normalizeColor from './compiler/normalizeColor';\nimport normalizeValueWithProperty from './compiler/normalizeValueWithProperty';\nvar emptyObject = {};\n/**\n * Shadows\n */\n\nvar defaultOffset = {\n height: 0,\n width: 0\n};\nexport var createBoxShadowValue = style => {\n var shadowColor = style.shadowColor,\n shadowOffset = style.shadowOffset,\n shadowOpacity = style.shadowOpacity,\n shadowRadius = style.shadowRadius;\n\n var _ref = shadowOffset || defaultOffset,\n height = _ref.height,\n width = _ref.width;\n\n var offsetX = normalizeValueWithProperty(width);\n var offsetY = normalizeValueWithProperty(height);\n var blurRadius = normalizeValueWithProperty(shadowRadius || 0);\n var color = normalizeColor(shadowColor || 'black', shadowOpacity);\n\n if (color != null && offsetX != null && offsetY != null && blurRadius != null) {\n return offsetX + \" \" + offsetY + \" \" + blurRadius + \" \" + color;\n }\n};\nexport var createTextShadowValue = style => {\n var textShadowColor = style.textShadowColor,\n textShadowOffset = style.textShadowOffset,\n textShadowRadius = style.textShadowRadius;\n\n var _ref2 = textShadowOffset || defaultOffset,\n height = _ref2.height,\n width = _ref2.width;\n\n var radius = textShadowRadius || 0;\n var offsetX = normalizeValueWithProperty(width);\n var offsetY = normalizeValueWithProperty(height);\n var blurRadius = normalizeValueWithProperty(radius);\n var color = normalizeValueWithProperty(textShadowColor, 'textShadowColor');\n\n if (color && (height !== 0 || width !== 0 || radius !== 0) && offsetX != null && offsetY != null && blurRadius != null) {\n return offsetX + \" \" + offsetY + \" \" + blurRadius + \" \" + color;\n }\n};\n/**\n * Preprocess styles\n */\n\nexport var preprocess = originalStyle => {\n var style = originalStyle || emptyObject;\n var nextStyle = {};\n\n for (var originalProp in style) {\n var originalValue = style[originalProp];\n var prop = originalProp;\n var value = originalValue;\n\n if (!Object.prototype.hasOwnProperty.call(style, originalProp) || originalValue == null) {\n continue;\n } // Convert shadow styles\n\n\n if (prop === 'shadowColor' || prop === 'shadowOffset' || prop === 'shadowOpacity' || prop === 'shadowRadius') {\n var boxShadowValue = createBoxShadowValue(style);\n\n if (boxShadowValue != null && nextStyle.boxShadow == null) {\n var boxShadow = style.boxShadow;\n prop = 'boxShadow';\n value = boxShadow ? boxShadow + \", \" + boxShadowValue : boxShadowValue;\n } else {\n continue;\n }\n } // Convert text shadow styles\n\n\n if (prop === 'textShadowColor' || prop === 'textShadowOffset' || prop === 'textShadowRadius') {\n var textShadowValue = createTextShadowValue(style);\n\n if (textShadowValue != null && nextStyle.textShadow == null) {\n var textShadow = style.textShadow;\n prop = 'textShadow';\n value = textShadow ? textShadow + \", \" + textShadowValue : textShadowValue;\n } else {\n continue;\n }\n }\n\n nextStyle[prop] = value;\n } // $FlowIgnore\n\n\n return nextStyle;\n};\nexport default preprocess;","import _objectSpread from \"@babel/runtime/helpers/objectSpread2\";\nimport _extends from \"@babel/runtime/helpers/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/objectWithoutPropertiesLoose\";\nvar _excluded = [\"accessibilityLabel\", \"activeThumbColor\", \"activeTrackColor\", \"disabled\", \"onValueChange\", \"style\", \"thumbColor\", \"trackColor\", \"value\"];\n\n/**\n * Copyright (c) Nicolas Gallagher.\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 */\nimport * as React from 'react';\nimport createElement from '../createElement';\nimport multiplyStyleLengthValue from '../../modules/multiplyStyleLengthValue';\nimport StyleSheet from '../StyleSheet';\nimport View from '../View';\nvar emptyObject = {};\nvar thumbDefaultBoxShadow = '0px 1px 3px rgba(0,0,0,0.5)';\nvar thumbFocusedBoxShadow = thumbDefaultBoxShadow + \", 0 0 0 10px rgba(0,0,0,0.1)\";\nvar defaultActiveTrackColor = '#A3D3CF';\nvar defaultTrackColor = '#939393';\nvar defaultDisabledTrackColor = '#D5D5D5';\nvar defaultActiveThumbColor = '#009688';\nvar defaultThumbColor = '#FAFAFA';\nvar defaultDisabledThumbColor = '#BDBDBD';\nvar Switch = /*#__PURE__*/React.forwardRef((props, forwardedRef) => {\n var accessibilityLabel = props.accessibilityLabel,\n activeThumbColor = props.activeThumbColor,\n activeTrackColor = props.activeTrackColor,\n _props$disabled = props.disabled,\n disabled = _props$disabled === void 0 ? false : _props$disabled,\n onValueChange = props.onValueChange,\n _props$style = props.style,\n style = _props$style === void 0 ? emptyObject : _props$style,\n thumbColor = props.thumbColor,\n trackColor = props.trackColor,\n _props$value = props.value,\n value = _props$value === void 0 ? false : _props$value,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n\n var thumbRef = React.useRef(null);\n\n function handleChange(event) {\n if (onValueChange != null) {\n onValueChange(event.nativeEvent.target.checked);\n }\n }\n\n function handleFocusState(event) {\n var isFocused = event.nativeEvent.type === 'focus';\n var boxShadow = isFocused ? thumbFocusedBoxShadow : thumbDefaultBoxShadow;\n\n if (thumbRef.current != null) {\n thumbRef.current.style.boxShadow = boxShadow;\n }\n }\n\n var _StyleSheet$flatten = StyleSheet.flatten(style),\n styleHeight = _StyleSheet$flatten.height,\n styleWidth = _StyleSheet$flatten.width;\n\n var height = styleHeight || '20px';\n var minWidth = multiplyStyleLengthValue(height, 2);\n var width = styleWidth > minWidth ? styleWidth : minWidth;\n var trackBorderRadius = multiplyStyleLengthValue(height, 0.5);\n\n var trackCurrentColor = function () {\n if (value === true) {\n if (trackColor != null && typeof trackColor === 'object') {\n return trackColor.true;\n } else {\n return activeTrackColor !== null && activeTrackColor !== void 0 ? activeTrackColor : defaultActiveTrackColor;\n }\n } else {\n if (trackColor != null && typeof trackColor === 'object') {\n return trackColor.false;\n } else {\n return trackColor !== null && trackColor !== void 0 ? trackColor : defaultTrackColor;\n }\n }\n }();\n\n var thumbCurrentColor = value ? activeThumbColor !== null && activeThumbColor !== void 0 ? activeThumbColor : defaultActiveThumbColor : thumbColor !== null && thumbColor !== void 0 ? thumbColor : defaultThumbColor;\n var thumbHeight = height;\n var thumbWidth = thumbHeight;\n var rootStyle = [styles.root, style, disabled && styles.cursorDefault, {\n height,\n width\n }];\n\n var disabledTrackColor = function () {\n if (value === true) {\n if (typeof activeTrackColor === 'string' && activeTrackColor != null || typeof trackColor === 'object' && trackColor != null && trackColor.true) {\n return trackCurrentColor;\n } else {\n return defaultDisabledTrackColor;\n }\n } else {\n if (typeof trackColor === 'string' && trackColor != null || typeof trackColor === 'object' && trackColor != null && trackColor.false) {\n return trackCurrentColor;\n } else {\n return defaultDisabledTrackColor;\n }\n }\n }();\n\n var disabledThumbColor = function () {\n if (value === true) {\n if (activeThumbColor == null) {\n return defaultDisabledThumbColor;\n } else {\n return thumbCurrentColor;\n }\n } else {\n if (thumbColor == null) {\n return defaultDisabledThumbColor;\n } else {\n return thumbCurrentColor;\n }\n }\n }();\n\n var trackStyle = [styles.track, {\n backgroundColor: disabled ? disabledTrackColor : trackCurrentColor,\n borderRadius: trackBorderRadius\n }];\n var thumbStyle = [styles.thumb, value && styles.thumbActive, {\n backgroundColor: disabled ? disabledThumbColor : thumbCurrentColor,\n height: thumbHeight,\n marginStart: value ? multiplyStyleLengthValue(thumbWidth, -1) : 0,\n width: thumbWidth\n }];\n var nativeControl = createElement('input', {\n accessibilityLabel,\n checked: value,\n disabled: disabled,\n onBlur: handleFocusState,\n onChange: handleChange,\n onFocus: handleFocusState,\n ref: forwardedRef,\n style: [styles.nativeControl, styles.cursorInherit],\n type: 'checkbox',\n role: 'switch'\n });\n return /*#__PURE__*/React.createElement(View, _extends({}, other, {\n style: rootStyle\n }), /*#__PURE__*/React.createElement(View, {\n style: trackStyle\n }), /*#__PURE__*/React.createElement(View, {\n ref: thumbRef,\n style: thumbStyle\n }), nativeControl);\n});\nSwitch.displayName = 'Switch';\nvar styles = StyleSheet.create({\n root: {\n cursor: 'pointer',\n userSelect: 'none'\n },\n cursorDefault: {\n cursor: 'default'\n },\n cursorInherit: {\n cursor: 'inherit'\n },\n track: _objectSpread(_objectSpread({\n forcedColorAdjust: 'none'\n }, StyleSheet.absoluteFillObject), {}, {\n height: '70%',\n margin: 'auto',\n transitionDuration: '0.1s',\n width: '100%'\n }),\n thumb: {\n forcedColorAdjust: 'none',\n alignSelf: 'flex-start',\n borderRadius: '100%',\n boxShadow: thumbDefaultBoxShadow,\n start: '0%',\n transform: [{\n translateZ: 0\n }],\n transitionDuration: '0.1s'\n },\n thumbActive: {\n start: '100%'\n },\n nativeControl: _objectSpread(_objectSpread({}, StyleSheet.absoluteFillObject), {}, {\n height: '100%',\n margin: 0,\n appearance: 'none',\n padding: 0,\n width: '100%'\n })\n});\nexport default Switch;","export default {};","export default {};","/**\n * Copyright (c) Nicolas Gallagher.\n * Copyright (c) Meta Platforms, Inc. and 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 */\nimport * as React from 'react';\nimport createElement from '../createElement';\nimport * as forwardedProps from '../../modules/forwardedProps';\nimport pick from '../../modules/pick';\nimport useElementLayout from '../../modules/useElementLayout';\nimport useLayoutEffect from '../../modules/useLayoutEffect';\nimport useMergeRefs from '../../modules/useMergeRefs';\nimport usePlatformMethods from '../../modules/usePlatformMethods';\nimport useResponderEvents from '../../modules/useResponderEvents';\nimport { getLocaleDirection, useLocaleContext } from '../../modules/useLocale';\nimport StyleSheet from '../StyleSheet';\nimport TextInputState from '../../modules/TextInputState';\n/**\n * Determines whether a 'selection' prop differs from a node's existing\n * selection state.\n */\n\nvar isSelectionStale = (node, selection) => {\n var selectionEnd = node.selectionEnd,\n selectionStart = node.selectionStart;\n var start = selection.start,\n end = selection.end;\n return start !== selectionStart || end !== selectionEnd;\n};\n/**\n * Certain input types do no support 'selectSelectionRange' and will throw an\n * error.\n */\n\n\nvar setSelection = (node, selection) => {\n if (isSelectionStale(node, selection)) {\n var start = selection.start,\n end = selection.end;\n\n try {\n node.setSelectionRange(start, end || start);\n } catch (e) {}\n }\n};\n\nvar forwardPropsList = Object.assign({}, forwardedProps.defaultProps, forwardedProps.accessibilityProps, forwardedProps.clickProps, forwardedProps.focusProps, forwardedProps.keyboardProps, forwardedProps.mouseProps, forwardedProps.touchProps, forwardedProps.styleProps, {\n autoCapitalize: true,\n autoComplete: true,\n autoCorrect: true,\n autoFocus: true,\n defaultValue: true,\n disabled: true,\n lang: true,\n maxLength: true,\n onChange: true,\n onScroll: true,\n placeholder: true,\n pointerEvents: true,\n readOnly: true,\n rows: true,\n spellCheck: true,\n value: true,\n type: true\n});\n\nvar pickProps = props => pick(props, forwardPropsList); // If an Input Method Editor is processing key input, the 'keyCode' is 229.\n// https://www.w3.org/TR/uievents/#determine-keydown-keyup-keyCode\n\n\nfunction isEventComposing(nativeEvent) {\n return nativeEvent.isComposing || nativeEvent.keyCode === 229;\n}\n\nvar focusTimeout = null;\nvar TextInput = /*#__PURE__*/React.forwardRef((props, forwardedRef) => {\n var _props$autoCapitalize = props.autoCapitalize,\n autoCapitalize = _props$autoCapitalize === void 0 ? 'sentences' : _props$autoCapitalize,\n autoComplete = props.autoComplete,\n autoCompleteType = props.autoCompleteType,\n _props$autoCorrect = props.autoCorrect,\n autoCorrect = _props$autoCorrect === void 0 ? true : _props$autoCorrect,\n blurOnSubmit = props.blurOnSubmit,\n clearTextOnFocus = props.clearTextOnFocus,\n dir = props.dir,\n _props$editable = props.editable,\n editable = _props$editable === void 0 ? true : _props$editable,\n _props$keyboardType = props.keyboardType,\n keyboardType = _props$keyboardType === void 0 ? 'default' : _props$keyboardType,\n _props$multiline = props.multiline,\n multiline = _props$multiline === void 0 ? false : _props$multiline,\n _props$numberOfLines = props.numberOfLines,\n numberOfLines = _props$numberOfLines === void 0 ? 1 : _props$numberOfLines,\n onBlur = props.onBlur,\n onChange = props.onChange,\n onChangeText = props.onChangeText,\n onContentSizeChange = props.onContentSizeChange,\n onFocus = props.onFocus,\n onKeyPress = props.onKeyPress,\n onLayout = props.onLayout,\n onMoveShouldSetResponder = props.onMoveShouldSetResponder,\n onMoveShouldSetResponderCapture = props.onMoveShouldSetResponderCapture,\n onResponderEnd = props.onResponderEnd,\n onResponderGrant = props.onResponderGrant,\n onResponderMove = props.onResponderMove,\n onResponderReject = props.onResponderReject,\n onResponderRelease = props.onResponderRelease,\n onResponderStart = props.onResponderStart,\n onResponderTerminate = props.onResponderTerminate,\n onResponderTerminationRequest = props.onResponderTerminationRequest,\n onScrollShouldSetResponder = props.onScrollShouldSetResponder,\n onScrollShouldSetResponderCapture = props.onScrollShouldSetResponderCapture,\n onSelectionChange = props.onSelectionChange,\n onSelectionChangeShouldSetResponder = props.onSelectionChangeShouldSetResponder,\n onSelectionChangeShouldSetResponderCapture = props.onSelectionChangeShouldSetResponderCapture,\n onStartShouldSetResponder = props.onStartShouldSetResponder,\n onStartShouldSetResponderCapture = props.onStartShouldSetResponderCapture,\n onSubmitEditing = props.onSubmitEditing,\n placeholderTextColor = props.placeholderTextColor,\n returnKeyType = props.returnKeyType,\n _props$secureTextEntr = props.secureTextEntry,\n secureTextEntry = _props$secureTextEntr === void 0 ? false : _props$secureTextEntr,\n selection = props.selection,\n selectTextOnFocus = props.selectTextOnFocus,\n spellCheck = props.spellCheck;\n var type;\n var inputMode;\n\n switch (keyboardType) {\n case 'email-address':\n type = 'email';\n break;\n\n case 'number-pad':\n case 'numeric':\n inputMode = 'numeric';\n break;\n\n case 'decimal-pad':\n inputMode = 'decimal';\n break;\n\n case 'phone-pad':\n type = 'tel';\n break;\n\n case 'search':\n case 'web-search':\n type = 'search';\n break;\n\n case 'url':\n type = 'url';\n break;\n\n default:\n type = 'text';\n }\n\n if (secureTextEntry) {\n type = 'password';\n }\n\n var dimensions = React.useRef({\n height: null,\n width: null\n });\n var hostRef = React.useRef(null);\n var handleContentSizeChange = React.useCallback(hostNode => {\n if (multiline && onContentSizeChange && hostNode != null) {\n var newHeight = hostNode.scrollHeight;\n var newWidth = hostNode.scrollWidth;\n\n if (newHeight !== dimensions.current.height || newWidth !== dimensions.current.width) {\n dimensions.current.height = newHeight;\n dimensions.current.width = newWidth;\n onContentSizeChange({\n nativeEvent: {\n contentSize: {\n height: dimensions.current.height,\n width: dimensions.current.width\n }\n }\n });\n }\n }\n }, [multiline, onContentSizeChange]);\n var imperativeRef = React.useMemo(() => hostNode => {\n // TextInput needs to add more methods to the hostNode in addition to those\n // added by `usePlatformMethods`. This is temporarily until an API like\n // `TextInput.clear(hostRef)` is added to React Native.\n if (hostNode != null) {\n hostNode.clear = function () {\n if (hostNode != null) {\n hostNode.value = '';\n }\n };\n\n hostNode.isFocused = function () {\n return hostNode != null && TextInputState.currentlyFocusedField() === hostNode;\n };\n\n handleContentSizeChange(hostNode);\n }\n }, [handleContentSizeChange]);\n\n function handleBlur(e) {\n TextInputState._currentlyFocusedNode = null;\n\n if (onBlur) {\n e.nativeEvent.text = e.target.value;\n onBlur(e);\n }\n }\n\n function handleChange(e) {\n var hostNode = e.target;\n var text = hostNode.value;\n e.nativeEvent.text = text;\n handleContentSizeChange(hostNode);\n\n if (onChange) {\n onChange(e);\n }\n\n if (onChangeText) {\n onChangeText(text);\n }\n }\n\n function handleFocus(e) {\n var hostNode = e.target;\n\n if (onFocus) {\n e.nativeEvent.text = hostNode.value;\n onFocus(e);\n }\n\n if (hostNode != null) {\n TextInputState._currentlyFocusedNode = hostNode;\n\n if (clearTextOnFocus) {\n hostNode.value = '';\n }\n\n if (selectTextOnFocus) {\n // Safari requires selection to occur in a setTimeout\n if (focusTimeout != null) {\n clearTimeout(focusTimeout);\n }\n\n focusTimeout = setTimeout(() => {\n if (hostNode != null) {\n hostNode.select();\n }\n }, 0);\n }\n }\n }\n\n function handleKeyDown(e) {\n var hostNode = e.target; // Prevent key events bubbling (see #612)\n\n e.stopPropagation();\n var blurOnSubmitDefault = !multiline;\n var shouldBlurOnSubmit = blurOnSubmit == null ? blurOnSubmitDefault : blurOnSubmit;\n var nativeEvent = e.nativeEvent;\n var isComposing = isEventComposing(nativeEvent);\n\n if (onKeyPress) {\n onKeyPress(e);\n }\n\n if (e.key === 'Enter' && !e.shiftKey && // Do not call submit if composition is occuring.\n !isComposing && !e.isDefaultPrevented()) {\n if ((blurOnSubmit || !multiline) && onSubmitEditing) {\n // prevent \"Enter\" from inserting a newline or submitting a form\n e.preventDefault();\n nativeEvent.text = e.target.value;\n onSubmitEditing(e);\n }\n\n if (shouldBlurOnSubmit && hostNode != null) {\n hostNode.blur();\n }\n }\n }\n\n function handleSelectionChange(e) {\n if (onSelectionChange) {\n try {\n var node = e.target;\n var selectionStart = node.selectionStart,\n selectionEnd = node.selectionEnd;\n e.nativeEvent.selection = {\n start: selectionStart,\n end: selectionEnd\n };\n e.nativeEvent.text = e.target.value;\n onSelectionChange(e);\n } catch (e) {}\n }\n }\n\n useLayoutEffect(() => {\n var node = hostRef.current;\n\n if (node != null && selection != null) {\n setSelection(node, selection);\n }\n\n if (document.activeElement === node) {\n TextInputState._currentlyFocusedNode = node;\n }\n }, [hostRef, selection]);\n var component = multiline ? 'textarea' : 'input';\n useElementLayout(hostRef, onLayout);\n useResponderEvents(hostRef, {\n onMoveShouldSetResponder,\n onMoveShouldSetResponderCapture,\n onResponderEnd,\n onResponderGrant,\n onResponderMove,\n onResponderReject,\n onResponderRelease,\n onResponderStart,\n onResponderTerminate,\n onResponderTerminationRequest,\n onScrollShouldSetResponder,\n onScrollShouldSetResponderCapture,\n onSelectionChangeShouldSetResponder,\n onSelectionChangeShouldSetResponderCapture,\n onStartShouldSetResponder,\n onStartShouldSetResponderCapture\n });\n\n var _useLocaleContext = useLocaleContext(),\n contextDirection = _useLocaleContext.direction;\n\n var supportedProps = pickProps(props);\n supportedProps.autoCapitalize = autoCapitalize;\n supportedProps.autoComplete = autoComplete || autoCompleteType || 'on';\n supportedProps.autoCorrect = autoCorrect ? 'on' : 'off'; // 'auto' by default allows browsers to infer writing direction\n\n supportedProps.dir = dir !== undefined ? dir : 'auto';\n supportedProps.enterKeyHint = returnKeyType;\n supportedProps.inputMode = inputMode;\n supportedProps.onBlur = handleBlur;\n supportedProps.onChange = handleChange;\n supportedProps.onFocus = handleFocus;\n supportedProps.onKeyDown = handleKeyDown;\n supportedProps.onSelect = handleSelectionChange;\n supportedProps.readOnly = !editable;\n supportedProps.rows = multiline ? numberOfLines : undefined;\n supportedProps.spellCheck = spellCheck != null ? spellCheck : autoCorrect;\n supportedProps.style = [{\n '--placeholderTextColor': placeholderTextColor\n }, styles.textinput$raw, styles.placeholder, props.style];\n supportedProps.type = multiline ? undefined : type;\n var platformMethodsRef = usePlatformMethods(supportedProps);\n var setRef = useMergeRefs(hostRef, platformMethodsRef, imperativeRef, forwardedRef);\n supportedProps.ref = setRef;\n var langDirection = props.lang != null ? getLocaleDirection(props.lang) : null;\n var componentDirection = props.dir || langDirection;\n var writingDirection = componentDirection || contextDirection;\n var element = createElement(component, supportedProps, {\n writingDirection\n });\n return element;\n});\nTextInput.displayName = 'TextInput'; // $FlowFixMe\n\nTextInput.State = TextInputState;\nvar styles = StyleSheet.create({\n textinput$raw: {\n MozAppearance: 'textfield',\n WebkitAppearance: 'none',\n backgroundColor: 'transparent',\n border: '0 solid black',\n borderRadius: 0,\n boxSizing: 'border-box',\n font: '14px System',\n margin: 0,\n padding: 0,\n resize: 'none'\n },\n placeholder: {\n placeholderTextColor: 'var(--placeholderTextColor)'\n }\n});\nexport default TextInput;","/**\n * Copyright (c) Meta Platforms, Inc. and 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 */\nimport { createContext } from 'react';\nvar TextAncestorContext = /*#__PURE__*/createContext(false);\nexport default TextAncestorContext;","import _objectSpread from \"@babel/runtime/helpers/objectSpread2\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/objectWithoutPropertiesLoose\";\nvar _excluded = [\"hrefAttrs\", \"numberOfLines\", \"onClick\", \"onLayout\", \"onPress\", \"onMoveShouldSetResponder\", \"onMoveShouldSetResponderCapture\", \"onResponderEnd\", \"onResponderGrant\", \"onResponderMove\", \"onResponderReject\", \"onResponderRelease\", \"onResponderStart\", \"onResponderTerminate\", \"onResponderTerminationRequest\", \"onScrollShouldSetResponder\", \"onScrollShouldSetResponderCapture\", \"onSelectionChangeShouldSetResponder\", \"onSelectionChangeShouldSetResponderCapture\", \"onStartShouldSetResponder\", \"onStartShouldSetResponderCapture\", \"selectable\"];\n\n/**\n * Copyright (c) Nicolas Gallagher.\n * Copyright (c) Meta Platforms, Inc. and 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 */\nimport * as React from 'react';\nimport createElement from '../createElement';\nimport * as forwardedProps from '../../modules/forwardedProps';\nimport pick from '../../modules/pick';\nimport useElementLayout from '../../modules/useElementLayout';\nimport useMergeRefs from '../../modules/useMergeRefs';\nimport usePlatformMethods from '../../modules/usePlatformMethods';\nimport useResponderEvents from '../../modules/useResponderEvents';\nimport StyleSheet from '../StyleSheet';\nimport TextAncestorContext from './TextAncestorContext';\nimport { useLocaleContext, getLocaleDirection } from '../../modules/useLocale';\nvar forwardPropsList = Object.assign({}, forwardedProps.defaultProps, forwardedProps.accessibilityProps, forwardedProps.clickProps, forwardedProps.focusProps, forwardedProps.keyboardProps, forwardedProps.mouseProps, forwardedProps.touchProps, forwardedProps.styleProps, {\n href: true,\n lang: true,\n pointerEvents: true\n});\n\nvar pickProps = props => pick(props, forwardPropsList);\n\nvar Text = /*#__PURE__*/React.forwardRef((props, forwardedRef) => {\n var hrefAttrs = props.hrefAttrs,\n numberOfLines = props.numberOfLines,\n onClick = props.onClick,\n onLayout = props.onLayout,\n onPress = props.onPress,\n onMoveShouldSetResponder = props.onMoveShouldSetResponder,\n onMoveShouldSetResponderCapture = props.onMoveShouldSetResponderCapture,\n onResponderEnd = props.onResponderEnd,\n onResponderGrant = props.onResponderGrant,\n onResponderMove = props.onResponderMove,\n onResponderReject = props.onResponderReject,\n onResponderRelease = props.onResponderRelease,\n onResponderStart = props.onResponderStart,\n onResponderTerminate = props.onResponderTerminate,\n onResponderTerminationRequest = props.onResponderTerminationRequest,\n onScrollShouldSetResponder = props.onScrollShouldSetResponder,\n onScrollShouldSetResponderCapture = props.onScrollShouldSetResponderCapture,\n onSelectionChangeShouldSetResponder = props.onSelectionChangeShouldSetResponder,\n onSelectionChangeShouldSetResponderCapture = props.onSelectionChangeShouldSetResponderCapture,\n onStartShouldSetResponder = props.onStartShouldSetResponder,\n onStartShouldSetResponderCapture = props.onStartShouldSetResponderCapture,\n selectable = props.selectable,\n rest = _objectWithoutPropertiesLoose(props, _excluded);\n\n var hasTextAncestor = React.useContext(TextAncestorContext);\n var hostRef = React.useRef(null);\n\n var _useLocaleContext = useLocaleContext(),\n contextDirection = _useLocaleContext.direction;\n\n useElementLayout(hostRef, onLayout);\n useResponderEvents(hostRef, {\n onMoveShouldSetResponder,\n onMoveShouldSetResponderCapture,\n onResponderEnd,\n onResponderGrant,\n onResponderMove,\n onResponderReject,\n onResponderRelease,\n onResponderStart,\n onResponderTerminate,\n onResponderTerminationRequest,\n onScrollShouldSetResponder,\n onScrollShouldSetResponderCapture,\n onSelectionChangeShouldSetResponder,\n onSelectionChangeShouldSetResponderCapture,\n onStartShouldSetResponder,\n onStartShouldSetResponderCapture\n });\n var handleClick = React.useCallback(e => {\n if (onClick != null) {\n onClick(e);\n } else if (onPress != null) {\n e.stopPropagation();\n onPress(e);\n }\n }, [onClick, onPress]);\n var component = hasTextAncestor ? 'span' : 'div';\n var langDirection = props.lang != null ? getLocaleDirection(props.lang) : null;\n var componentDirection = props.dir || langDirection;\n var writingDirection = componentDirection || contextDirection;\n var supportedProps = pickProps(rest);\n supportedProps.dir = componentDirection; // 'auto' by default allows browsers to infer writing direction (root elements only)\n\n if (!hasTextAncestor) {\n supportedProps.dir = componentDirection != null ? componentDirection : 'auto';\n }\n\n if (onClick || onPress) {\n supportedProps.onClick = handleClick;\n }\n\n supportedProps.style = [numberOfLines != null && numberOfLines > 1 && {\n WebkitLineClamp: numberOfLines\n }, hasTextAncestor === true ? styles.textHasAncestor$raw : styles.text$raw, numberOfLines === 1 && styles.textOneLine, numberOfLines != null && numberOfLines > 1 && styles.textMultiLine, props.style, selectable === true && styles.selectable, selectable === false && styles.notSelectable, onPress && styles.pressable];\n\n if (props.href != null) {\n component = 'a';\n\n if (hrefAttrs != null) {\n var download = hrefAttrs.download,\n rel = hrefAttrs.rel,\n target = hrefAttrs.target;\n\n if (download != null) {\n supportedProps.download = download;\n }\n\n if (rel != null) {\n supportedProps.rel = rel;\n }\n\n if (typeof target === 'string') {\n supportedProps.target = target.charAt(0) !== '_' ? '_' + target : target;\n }\n }\n }\n\n var platformMethodsRef = usePlatformMethods(supportedProps);\n var setRef = useMergeRefs(hostRef, platformMethodsRef, forwardedRef);\n supportedProps.ref = setRef;\n var element = createElement(component, supportedProps, {\n writingDirection\n });\n return hasTextAncestor ? element : /*#__PURE__*/React.createElement(TextAncestorContext.Provider, {\n value: true\n }, element);\n});\nText.displayName = 'Text';\nvar textStyle = {\n backgroundColor: 'transparent',\n border: '0 solid black',\n boxSizing: 'border-box',\n color: 'black',\n display: 'inline',\n font: '14px System',\n listStyle: 'none',\n margin: 0,\n padding: 0,\n textAlign: 'inherit',\n textDecoration: 'none',\n whiteSpace: 'pre-wrap',\n wordWrap: 'break-word'\n};\nvar styles = StyleSheet.create({\n text$raw: textStyle,\n textHasAncestor$raw: _objectSpread(_objectSpread({}, textStyle), {}, {\n color: 'inherit',\n font: 'inherit',\n whiteSpace: 'inherit'\n }),\n textOneLine: {\n maxWidth: '100%',\n overflow: 'hidden',\n textOverflow: 'ellipsis',\n whiteSpace: 'nowrap',\n wordWrap: 'normal'\n },\n // See #13\n textMultiLine: {\n display: '-webkit-box',\n maxWidth: '100%',\n overflow: 'hidden',\n textOverflow: 'ellipsis',\n WebkitBoxOrient: 'vertical'\n },\n notSelectable: {\n userSelect: 'none'\n },\n selectable: {\n userSelect: 'text'\n },\n pressable: {\n cursor: 'pointer'\n }\n});\nexport default Text;","import UnimplementedView from '../../modules/UnimplementedView';\nexport default UnimplementedView;","/**\n * Copyright (c) Meta Platforms, Inc. and 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 * @format\n */\n'use strict';\n\nimport _extends from \"@babel/runtime/helpers/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/objectWithoutPropertiesLoose\";\nvar _excluded = [\"activeOpacity\", \"children\", \"delayPressIn\", \"delayPressOut\", \"delayLongPress\", \"disabled\", \"focusable\", \"onHideUnderlay\", \"onLongPress\", \"onPress\", \"onPressIn\", \"onPressOut\", \"onShowUnderlay\", \"rejectResponderTermination\", \"style\", \"testOnly_pressed\", \"underlayColor\"];\nimport * as React from 'react';\nimport { useCallback, useMemo, useState, useRef } from 'react';\nimport useMergeRefs from '../../modules/useMergeRefs';\nimport usePressEvents from '../../modules/usePressEvents';\nimport StyleSheet from '../StyleSheet';\nimport View from '../View';\n\nfunction createExtraStyles(activeOpacity, underlayColor) {\n return {\n child: {\n opacity: activeOpacity !== null && activeOpacity !== void 0 ? activeOpacity : 0.85\n },\n underlay: {\n backgroundColor: underlayColor === undefined ? 'black' : underlayColor\n }\n };\n}\n\nfunction hasPressHandler(props) {\n return props.onPress != null || props.onPressIn != null || props.onPressOut != null || props.onLongPress != null;\n}\n/**\n * A wrapper for making views respond properly to touches.\n * On press down, the opacity of the wrapped view is decreased, which allows\n * the underlay color to show through, darkening or tinting the view.\n *\n * The underlay comes from wrapping the child in a new View, which can affect\n * layout, and sometimes cause unwanted visual artifacts if not used correctly,\n * for example if the backgroundColor of the wrapped view isn't explicitly set\n * to an opaque color.\n *\n * TouchableHighlight must have one child (not zero or more than one).\n * If you wish to have several child components, wrap them in a View.\n */\n\n\nfunction TouchableHighlight(props, forwardedRef) {\n var activeOpacity = props.activeOpacity,\n children = props.children,\n delayPressIn = props.delayPressIn,\n delayPressOut = props.delayPressOut,\n delayLongPress = props.delayLongPress,\n disabled = props.disabled,\n focusable = props.focusable,\n onHideUnderlay = props.onHideUnderlay,\n onLongPress = props.onLongPress,\n onPress = props.onPress,\n onPressIn = props.onPressIn,\n onPressOut = props.onPressOut,\n onShowUnderlay = props.onShowUnderlay,\n rejectResponderTermination = props.rejectResponderTermination,\n style = props.style,\n testOnly_pressed = props.testOnly_pressed,\n underlayColor = props.underlayColor,\n rest = _objectWithoutPropertiesLoose(props, _excluded);\n\n var hostRef = useRef(null);\n var setRef = useMergeRefs(forwardedRef, hostRef);\n\n var _useState = useState(testOnly_pressed === true ? createExtraStyles(activeOpacity, underlayColor) : null),\n extraStyles = _useState[0],\n setExtraStyles = _useState[1];\n\n var showUnderlay = useCallback(() => {\n if (!hasPressHandler(props)) {\n return;\n }\n\n setExtraStyles(createExtraStyles(activeOpacity, underlayColor));\n\n if (onShowUnderlay != null) {\n onShowUnderlay();\n }\n }, [activeOpacity, onShowUnderlay, props, underlayColor]);\n var hideUnderlay = useCallback(() => {\n if (testOnly_pressed === true) {\n return;\n }\n\n if (hasPressHandler(props)) {\n setExtraStyles(null);\n\n if (onHideUnderlay != null) {\n onHideUnderlay();\n }\n }\n }, [onHideUnderlay, props, testOnly_pressed]);\n var pressConfig = useMemo(() => ({\n cancelable: !rejectResponderTermination,\n disabled,\n delayLongPress,\n delayPressStart: delayPressIn,\n delayPressEnd: delayPressOut,\n onLongPress,\n onPress,\n\n onPressStart(event) {\n showUnderlay();\n\n if (onPressIn != null) {\n onPressIn(event);\n }\n },\n\n onPressEnd(event) {\n hideUnderlay();\n\n if (onPressOut != null) {\n onPressOut(event);\n }\n }\n\n }), [delayLongPress, delayPressIn, delayPressOut, disabled, onLongPress, onPress, onPressIn, onPressOut, rejectResponderTermination, showUnderlay, hideUnderlay]);\n var pressEventHandlers = usePressEvents(hostRef, pressConfig);\n var child = React.Children.only(children);\n return /*#__PURE__*/React.createElement(View, _extends({}, rest, pressEventHandlers, {\n accessibilityDisabled: disabled,\n focusable: !disabled && focusable !== false,\n pointerEvents: disabled ? 'none' : undefined,\n ref: setRef,\n style: [styles.root, style, !disabled && styles.actionable, extraStyles && extraStyles.underlay]\n }), /*#__PURE__*/React.cloneElement(child, {\n style: StyleSheet.compose(child.props.style, extraStyles && extraStyles.child)\n }));\n}\n\nvar styles = StyleSheet.create({\n root: {\n userSelect: 'none'\n },\n actionable: {\n cursor: 'pointer',\n touchAction: 'manipulation'\n }\n});\nvar MemoedTouchableHighlight = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(TouchableHighlight));\nMemoedTouchableHighlight.displayName = 'TouchableHighlight';\nexport default MemoedTouchableHighlight;","/**\n * Copyright (c) Nicolas Gallagher.\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 */\nimport UnimplementedView from '../../modules/UnimplementedView';\nexport default UnimplementedView;","/**\n * Copyright (c) Meta Platforms, Inc. and 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 * @format\n */\n'use strict';\n\nimport _extends from \"@babel/runtime/helpers/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/objectWithoutPropertiesLoose\";\nvar _excluded = [\"activeOpacity\", \"delayPressIn\", \"delayPressOut\", \"delayLongPress\", \"disabled\", \"focusable\", \"onLongPress\", \"onPress\", \"onPressIn\", \"onPressOut\", \"rejectResponderTermination\", \"style\"];\nimport * as React from 'react';\nimport { useCallback, useMemo, useState, useRef } from 'react';\nimport useMergeRefs from '../../modules/useMergeRefs';\nimport usePressEvents from '../../modules/usePressEvents';\nimport StyleSheet from '../StyleSheet';\nimport View from '../View';\n\n/**\n * A wrapper for making views respond properly to touches.\n * On press down, the opacity of the wrapped view is decreased, dimming it.\n */\nfunction TouchableOpacity(props, forwardedRef) {\n var activeOpacity = props.activeOpacity,\n delayPressIn = props.delayPressIn,\n delayPressOut = props.delayPressOut,\n delayLongPress = props.delayLongPress,\n disabled = props.disabled,\n focusable = props.focusable,\n onLongPress = props.onLongPress,\n onPress = props.onPress,\n onPressIn = props.onPressIn,\n onPressOut = props.onPressOut,\n rejectResponderTermination = props.rejectResponderTermination,\n style = props.style,\n rest = _objectWithoutPropertiesLoose(props, _excluded);\n\n var hostRef = useRef(null);\n var setRef = useMergeRefs(forwardedRef, hostRef);\n\n var _useState = useState('0s'),\n duration = _useState[0],\n setDuration = _useState[1];\n\n var _useState2 = useState(null),\n opacityOverride = _useState2[0],\n setOpacityOverride = _useState2[1];\n\n var setOpacityTo = useCallback((value, duration) => {\n setOpacityOverride(value);\n setDuration(duration ? duration / 1000 + \"s\" : '0s');\n }, [setOpacityOverride, setDuration]);\n var setOpacityActive = useCallback(duration => {\n setOpacityTo(activeOpacity !== null && activeOpacity !== void 0 ? activeOpacity : 0.2, duration);\n }, [activeOpacity, setOpacityTo]);\n var setOpacityInactive = useCallback(duration => {\n setOpacityTo(null, duration);\n }, [setOpacityTo]);\n var pressConfig = useMemo(() => ({\n cancelable: !rejectResponderTermination,\n disabled,\n delayLongPress,\n delayPressStart: delayPressIn,\n delayPressEnd: delayPressOut,\n onLongPress,\n onPress,\n\n onPressStart(event) {\n var isGrant = event.dispatchConfig != null ? event.dispatchConfig.registrationName === 'onResponderGrant' : event.type === 'keydown';\n setOpacityActive(isGrant ? 0 : 150);\n\n if (onPressIn != null) {\n onPressIn(event);\n }\n },\n\n onPressEnd(event) {\n setOpacityInactive(250);\n\n if (onPressOut != null) {\n onPressOut(event);\n }\n }\n\n }), [delayLongPress, delayPressIn, delayPressOut, disabled, onLongPress, onPress, onPressIn, onPressOut, rejectResponderTermination, setOpacityActive, setOpacityInactive]);\n var pressEventHandlers = usePressEvents(hostRef, pressConfig);\n return /*#__PURE__*/React.createElement(View, _extends({}, rest, pressEventHandlers, {\n accessibilityDisabled: disabled,\n focusable: !disabled && focusable !== false,\n pointerEvents: disabled ? 'none' : undefined,\n ref: setRef,\n style: [styles.root, !disabled && styles.actionable, style, opacityOverride != null && {\n opacity: opacityOverride\n }, {\n transitionDuration: duration\n }]\n }));\n}\n\nvar styles = StyleSheet.create({\n root: {\n transitionProperty: 'opacity',\n transitionDuration: '0.15s',\n userSelect: 'none'\n },\n actionable: {\n cursor: 'pointer',\n touchAction: 'manipulation'\n }\n});\nvar MemoedTouchableOpacity = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(TouchableOpacity));\nMemoedTouchableOpacity.displayName = 'TouchableOpacity';\nexport default MemoedTouchableOpacity;","/**\n * Copyright (c) Meta Platforms, Inc. and 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 * @format\n */\n'use strict';\n\nimport * as React from 'react';\nimport { useMemo, useRef } from 'react';\nimport pick from '../../modules/pick';\nimport useMergeRefs from '../../modules/useMergeRefs';\nimport usePressEvents from '../../modules/usePressEvents';\nvar forwardPropsList = {\n accessibilityDisabled: true,\n accessibilityLabel: true,\n accessibilityLiveRegion: true,\n accessibilityRole: true,\n accessibilityState: true,\n accessibilityValue: true,\n children: true,\n disabled: true,\n focusable: true,\n nativeID: true,\n onBlur: true,\n onFocus: true,\n onLayout: true,\n testID: true\n};\n\nvar pickProps = props => pick(props, forwardPropsList);\n\nfunction TouchableWithoutFeedback(props, forwardedRef) {\n var delayPressIn = props.delayPressIn,\n delayPressOut = props.delayPressOut,\n delayLongPress = props.delayLongPress,\n disabled = props.disabled,\n focusable = props.focusable,\n onLongPress = props.onLongPress,\n onPress = props.onPress,\n onPressIn = props.onPressIn,\n onPressOut = props.onPressOut,\n rejectResponderTermination = props.rejectResponderTermination;\n var hostRef = useRef(null);\n var pressConfig = useMemo(() => ({\n cancelable: !rejectResponderTermination,\n disabled,\n delayLongPress,\n delayPressStart: delayPressIn,\n delayPressEnd: delayPressOut,\n onLongPress,\n onPress,\n onPressStart: onPressIn,\n onPressEnd: onPressOut\n }), [disabled, delayPressIn, delayPressOut, delayLongPress, onLongPress, onPress, onPressIn, onPressOut, rejectResponderTermination]);\n var pressEventHandlers = usePressEvents(hostRef, pressConfig);\n var element = React.Children.only(props.children);\n var children = [element.props.children];\n var supportedProps = pickProps(props);\n supportedProps.accessibilityDisabled = disabled;\n supportedProps.focusable = !disabled && focusable !== false;\n supportedProps.ref = useMergeRefs(forwardedRef, hostRef, element.ref);\n var elementProps = Object.assign(supportedProps, pressEventHandlers);\n return /*#__PURE__*/React.cloneElement(element, elementProps, ...children);\n}\n\nvar MemoedTouchableWithoutFeedback = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(TouchableWithoutFeedback));\nMemoedTouchableWithoutFeedback.displayName = 'TouchableWithoutFeedback';\nexport default MemoedTouchableWithoutFeedback;","/**\n * Copyright (c) Nicolas Gallagher.\n * Copyright (c) Meta Platforms, Inc. and 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 */\nimport PooledClass from '../../vendor/react-native/PooledClass';\nvar twoArgumentPooler = PooledClass.twoArgumentPooler;\n/**\n * PooledClass representing the bounding rectangle of a region.\n */\n\nfunction BoundingDimensions(width, height) {\n this.width = width;\n this.height = height;\n}\n\nBoundingDimensions.prototype.destructor = function () {\n this.width = null;\n this.height = null;\n};\n\nBoundingDimensions.getPooledFromElement = function (element) {\n return BoundingDimensions.getPooled(element.offsetWidth, element.offsetHeight);\n};\n\nPooledClass.addPoolingTo(BoundingDimensions, twoArgumentPooler);\nexport default BoundingDimensions;","/**\n * Copyright (c) Meta Platforms, Inc. and 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 */\nimport PooledClass from '../../vendor/react-native/PooledClass';\nvar twoArgumentPooler = PooledClass.twoArgumentPooler;\n\nfunction Position(left, top) {\n this.left = left;\n this.top = top;\n}\n\nPosition.prototype.destructor = function () {\n this.left = null;\n this.top = null;\n};\n\nPooledClass.addPoolingTo(Position, twoArgumentPooler);\nexport default Position;","/**\n * Copyright (c) Meta Platforms, Inc. and 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 * @format\n */\n'use strict';\n\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/objectWithoutPropertiesLoose\";\nimport _objectSpread from \"@babel/runtime/helpers/objectSpread2\";\nimport AccessibilityUtil from '../../modules/AccessibilityUtil';\nimport BoundingDimensions from './BoundingDimensions';\nimport findNodeHandle from '../findNodeHandle';\nimport normalizeColor from 'normalize-css-color';\nimport Position from './Position';\nimport React from 'react';\nimport UIManager from '../UIManager';\nimport View from '../View';\n\nvar extractSingleTouch = nativeEvent => {\n var touches = nativeEvent.touches;\n var changedTouches = nativeEvent.changedTouches;\n var hasTouches = touches && touches.length > 0;\n var hasChangedTouches = changedTouches && changedTouches.length > 0;\n return !hasTouches && hasChangedTouches ? changedTouches[0] : hasTouches ? touches[0] : nativeEvent;\n};\n/**\n * `Touchable`: Taps done right.\n *\n * You hook your `ResponderEventPlugin` events into `Touchable`. `Touchable`\n * will measure time/geometry and tells you when to give feedback to the user.\n *\n * ====================== Touchable Tutorial ===============================\n * The `Touchable` mixin helps you handle the \"press\" interaction. It analyzes\n * the geometry of elements, and observes when another responder (scroll view\n * etc) has stolen the touch lock. It notifies your component when it should\n * give feedback to the user. (bouncing/highlighting/unhighlighting).\n *\n * - When a touch was activated (typically you highlight)\n * - When a touch was deactivated (typically you unhighlight)\n * - When a touch was \"pressed\" - a touch ended while still within the geometry\n * of the element, and no other element (like scroller) has \"stolen\" touch\n * lock (\"responder\") (Typically you bounce the element).\n *\n * A good tap interaction isn't as simple as you might think. There should be a\n * slight delay before showing a highlight when starting a touch. If a\n * subsequent touch move exceeds the boundary of the element, it should\n * unhighlight, but if that same touch is brought back within the boundary, it\n * should rehighlight again. A touch can move in and out of that boundary\n * several times, each time toggling highlighting, but a \"press\" is only\n * triggered if that touch ends while within the element's boundary and no\n * scroller (or anything else) has stolen the lock on touches.\n *\n * To create a new type of component that handles interaction using the\n * `Touchable` mixin, do the following:\n *\n * - Initialize the `Touchable` state.\n *\n * getInitialState: function() {\n * return merge(this.touchableGetInitialState(), yourComponentState);\n * }\n *\n * - Choose the rendered component who's touches should start the interactive\n * sequence. On that rendered node, forward all `Touchable` responder\n * handlers. You can choose any rendered node you like. Choose a node whose\n * hit target you'd like to instigate the interaction sequence:\n *\n * // In render function:\n * return (\n * \n * \n * Even though the hit detection/interactions are triggered by the\n * wrapping (typically larger) node, we usually end up implementing\n * custom logic that highlights this inner one.\n * \n * \n * );\n *\n * - You may set up your own handlers for each of these events, so long as you\n * also invoke the `touchable*` handlers inside of your custom handler.\n *\n * - Implement the handlers on your component class in order to provide\n * feedback to the user. See documentation for each of these class methods\n * that you should implement.\n *\n * touchableHandlePress: function() {\n * this.performBounceAnimation(); // or whatever you want to do.\n * },\n * touchableHandleActivePressIn: function() {\n * this.beginHighlighting(...); // Whatever you like to convey activation\n * },\n * touchableHandleActivePressOut: function() {\n * this.endHighlighting(...); // Whatever you like to convey deactivation\n * },\n *\n * - There are more advanced methods you can implement (see documentation below):\n * touchableGetHighlightDelayMS: function() {\n * return 20;\n * }\n * // In practice, *always* use a predeclared constant (conserve memory).\n * touchableGetPressRectOffset: function() {\n * return {top: 20, left: 20, right: 20, bottom: 100};\n * }\n */\n\n/**\n * Touchable states.\n */\n\n\nvar States = {\n NOT_RESPONDER: 'NOT_RESPONDER',\n // Not the responder\n RESPONDER_INACTIVE_PRESS_IN: 'RESPONDER_INACTIVE_PRESS_IN',\n // Responder, inactive, in the `PressRect`\n RESPONDER_INACTIVE_PRESS_OUT: 'RESPONDER_INACTIVE_PRESS_OUT',\n // Responder, inactive, out of `PressRect`\n RESPONDER_ACTIVE_PRESS_IN: 'RESPONDER_ACTIVE_PRESS_IN',\n // Responder, active, in the `PressRect`\n RESPONDER_ACTIVE_PRESS_OUT: 'RESPONDER_ACTIVE_PRESS_OUT',\n // Responder, active, out of `PressRect`\n RESPONDER_ACTIVE_LONG_PRESS_IN: 'RESPONDER_ACTIVE_LONG_PRESS_IN',\n // Responder, active, in the `PressRect`, after long press threshold\n RESPONDER_ACTIVE_LONG_PRESS_OUT: 'RESPONDER_ACTIVE_LONG_PRESS_OUT',\n // Responder, active, out of `PressRect`, after long press threshold\n ERROR: 'ERROR'\n};\n\n/*\n * Quick lookup map for states that are considered to be \"active\"\n */\nvar baseStatesConditions = {\n NOT_RESPONDER: false,\n RESPONDER_INACTIVE_PRESS_IN: false,\n RESPONDER_INACTIVE_PRESS_OUT: false,\n RESPONDER_ACTIVE_PRESS_IN: false,\n RESPONDER_ACTIVE_PRESS_OUT: false,\n RESPONDER_ACTIVE_LONG_PRESS_IN: false,\n RESPONDER_ACTIVE_LONG_PRESS_OUT: false,\n ERROR: false\n};\n\nvar IsActive = _objectSpread(_objectSpread({}, baseStatesConditions), {}, {\n RESPONDER_ACTIVE_PRESS_OUT: true,\n RESPONDER_ACTIVE_PRESS_IN: true\n});\n/**\n * Quick lookup for states that are considered to be \"pressing\" and are\n * therefore eligible to result in a \"selection\" if the press stops.\n */\n\n\nvar IsPressingIn = _objectSpread(_objectSpread({}, baseStatesConditions), {}, {\n RESPONDER_INACTIVE_PRESS_IN: true,\n RESPONDER_ACTIVE_PRESS_IN: true,\n RESPONDER_ACTIVE_LONG_PRESS_IN: true\n});\n\nvar IsLongPressingIn = _objectSpread(_objectSpread({}, baseStatesConditions), {}, {\n RESPONDER_ACTIVE_LONG_PRESS_IN: true\n});\n/**\n * Inputs to the state machine.\n */\n\n\nvar Signals = {\n DELAY: 'DELAY',\n RESPONDER_GRANT: 'RESPONDER_GRANT',\n RESPONDER_RELEASE: 'RESPONDER_RELEASE',\n RESPONDER_TERMINATED: 'RESPONDER_TERMINATED',\n ENTER_PRESS_RECT: 'ENTER_PRESS_RECT',\n LEAVE_PRESS_RECT: 'LEAVE_PRESS_RECT',\n LONG_PRESS_DETECTED: 'LONG_PRESS_DETECTED'\n};\n\n/**\n * Mapping from States x Signals => States\n */\nvar Transitions = {\n NOT_RESPONDER: {\n DELAY: States.ERROR,\n RESPONDER_GRANT: States.RESPONDER_INACTIVE_PRESS_IN,\n RESPONDER_RELEASE: States.ERROR,\n RESPONDER_TERMINATED: States.ERROR,\n ENTER_PRESS_RECT: States.ERROR,\n LEAVE_PRESS_RECT: States.ERROR,\n LONG_PRESS_DETECTED: States.ERROR\n },\n RESPONDER_INACTIVE_PRESS_IN: {\n DELAY: States.RESPONDER_ACTIVE_PRESS_IN,\n RESPONDER_GRANT: States.ERROR,\n RESPONDER_RELEASE: States.NOT_RESPONDER,\n RESPONDER_TERMINATED: States.NOT_RESPONDER,\n ENTER_PRESS_RECT: States.RESPONDER_INACTIVE_PRESS_IN,\n LEAVE_PRESS_RECT: States.RESPONDER_INACTIVE_PRESS_OUT,\n LONG_PRESS_DETECTED: States.ERROR\n },\n RESPONDER_INACTIVE_PRESS_OUT: {\n DELAY: States.RESPONDER_ACTIVE_PRESS_OUT,\n RESPONDER_GRANT: States.ERROR,\n RESPONDER_RELEASE: States.NOT_RESPONDER,\n RESPONDER_TERMINATED: States.NOT_RESPONDER,\n ENTER_PRESS_RECT: States.RESPONDER_INACTIVE_PRESS_IN,\n LEAVE_PRESS_RECT: States.RESPONDER_INACTIVE_PRESS_OUT,\n LONG_PRESS_DETECTED: States.ERROR\n },\n RESPONDER_ACTIVE_PRESS_IN: {\n DELAY: States.ERROR,\n RESPONDER_GRANT: States.ERROR,\n RESPONDER_RELEASE: States.NOT_RESPONDER,\n RESPONDER_TERMINATED: States.NOT_RESPONDER,\n ENTER_PRESS_RECT: States.RESPONDER_ACTIVE_PRESS_IN,\n LEAVE_PRESS_RECT: States.RESPONDER_ACTIVE_PRESS_OUT,\n LONG_PRESS_DETECTED: States.RESPONDER_ACTIVE_LONG_PRESS_IN\n },\n RESPONDER_ACTIVE_PRESS_OUT: {\n DELAY: States.ERROR,\n RESPONDER_GRANT: States.ERROR,\n RESPONDER_RELEASE: States.NOT_RESPONDER,\n RESPONDER_TERMINATED: States.NOT_RESPONDER,\n ENTER_PRESS_RECT: States.RESPONDER_ACTIVE_PRESS_IN,\n LEAVE_PRESS_RECT: States.RESPONDER_ACTIVE_PRESS_OUT,\n LONG_PRESS_DETECTED: States.ERROR\n },\n RESPONDER_ACTIVE_LONG_PRESS_IN: {\n DELAY: States.ERROR,\n RESPONDER_GRANT: States.ERROR,\n RESPONDER_RELEASE: States.NOT_RESPONDER,\n RESPONDER_TERMINATED: States.NOT_RESPONDER,\n ENTER_PRESS_RECT: States.RESPONDER_ACTIVE_LONG_PRESS_IN,\n LEAVE_PRESS_RECT: States.RESPONDER_ACTIVE_LONG_PRESS_OUT,\n LONG_PRESS_DETECTED: States.RESPONDER_ACTIVE_LONG_PRESS_IN\n },\n RESPONDER_ACTIVE_LONG_PRESS_OUT: {\n DELAY: States.ERROR,\n RESPONDER_GRANT: States.ERROR,\n RESPONDER_RELEASE: States.NOT_RESPONDER,\n RESPONDER_TERMINATED: States.NOT_RESPONDER,\n ENTER_PRESS_RECT: States.RESPONDER_ACTIVE_LONG_PRESS_IN,\n LEAVE_PRESS_RECT: States.RESPONDER_ACTIVE_LONG_PRESS_OUT,\n LONG_PRESS_DETECTED: States.ERROR\n },\n error: {\n DELAY: States.NOT_RESPONDER,\n RESPONDER_GRANT: States.RESPONDER_INACTIVE_PRESS_IN,\n RESPONDER_RELEASE: States.NOT_RESPONDER,\n RESPONDER_TERMINATED: States.NOT_RESPONDER,\n ENTER_PRESS_RECT: States.NOT_RESPONDER,\n LEAVE_PRESS_RECT: States.NOT_RESPONDER,\n LONG_PRESS_DETECTED: States.NOT_RESPONDER\n }\n}; // ==== Typical Constants for integrating into UI components ====\n// var HIT_EXPAND_PX = 20;\n// var HIT_VERT_OFFSET_PX = 10;\n\nvar HIGHLIGHT_DELAY_MS = 130;\nvar PRESS_EXPAND_PX = 20;\nvar LONG_PRESS_THRESHOLD = 500;\nvar LONG_PRESS_DELAY_MS = LONG_PRESS_THRESHOLD - HIGHLIGHT_DELAY_MS;\nvar LONG_PRESS_ALLOWED_MOVEMENT = 10; // Default amount \"active\" region protrudes beyond box\n\n/**\n * By convention, methods prefixed with underscores are meant to be @private,\n * and not @protected. Mixers shouldn't access them - not even to provide them\n * as callback handlers.\n *\n *\n * ========== Geometry =========\n * `Touchable` only assumes that there exists a `HitRect` node. The `PressRect`\n * is an abstract box that is extended beyond the `HitRect`.\n *\n * +--------------------------+\n * | | - \"Start\" events in `HitRect` cause `HitRect`\n * | +--------------------+ | to become the responder.\n * | | +--------------+ | | - `HitRect` is typically expanded around\n * | | | | | | the `VisualRect`, but shifted downward.\n * | | | VisualRect | | | - After pressing down, after some delay,\n * | | | | | | and before letting up, the Visual React\n * | | +--------------+ | | will become \"active\". This makes it eligible\n * | | HitRect | | for being highlighted (so long as the\n * | +--------------------+ | press remains in the `PressRect`).\n * | PressRect o |\n * +----------------------|---+\n * Out Region |\n * +-----+ This gap between the `HitRect` and\n * `PressRect` allows a touch to move far away\n * from the original hit rect, and remain\n * highlighted, and eligible for a \"Press\".\n * Customize this via\n * `touchableGetPressRectOffset()`.\n *\n *\n *\n * ======= State Machine =======\n *\n * +-------------+ <---+ RESPONDER_RELEASE\n * |NOT_RESPONDER|\n * +-------------+ <---+ RESPONDER_TERMINATED\n * +\n * | RESPONDER_GRANT (HitRect)\n * v\n * +---------------------------+ DELAY +-------------------------+ T + DELAY +------------------------------+\n * |RESPONDER_INACTIVE_PRESS_IN|+-------->|RESPONDER_ACTIVE_PRESS_IN| +------------> |RESPONDER_ACTIVE_LONG_PRESS_IN|\n * +---------------------------+ +-------------------------+ +------------------------------+\n * + ^ + ^ + ^\n * |LEAVE_ |ENTER_ |LEAVE_ |ENTER_ |LEAVE_ |ENTER_\n * |PRESS_RECT |PRESS_RECT |PRESS_RECT |PRESS_RECT |PRESS_RECT |PRESS_RECT\n * | | | | | |\n * v + v + v +\n * +----------------------------+ DELAY +--------------------------+ +-------------------------------+\n * |RESPONDER_INACTIVE_PRESS_OUT|+------->|RESPONDER_ACTIVE_PRESS_OUT| |RESPONDER_ACTIVE_LONG_PRESS_OUT|\n * +----------------------------+ +--------------------------+ +-------------------------------+\n *\n * T + DELAY => LONG_PRESS_DELAY_MS + DELAY\n *\n * Not drawn are the side effects of each transition. The most important side\n * effect is the `touchableHandlePress` abstract method invocation that occurs\n * when a responder is released while in either of the \"Press\" states.\n *\n * The other important side effects are the highlight abstract method\n * invocations (internal callbacks) to be implemented by the mixer.\n *\n *\n * @lends Touchable.prototype\n */\n\nvar TouchableMixin = {\n // HACK (part 1): basic support for touchable interactions using a keyboard\n componentDidMount: function componentDidMount() {\n this._touchableNode = findNodeHandle(this);\n\n if (this._touchableNode && this._touchableNode.addEventListener) {\n this._touchableBlurListener = e => {\n if (this._isTouchableKeyboardActive) {\n if (this.state.touchable.touchState && this.state.touchable.touchState !== States.NOT_RESPONDER) {\n this.touchableHandleResponderTerminate({\n nativeEvent: e\n });\n }\n\n this._isTouchableKeyboardActive = false;\n }\n };\n\n this._touchableNode.addEventListener('blur', this._touchableBlurListener);\n }\n },\n\n /**\n * Clear all timeouts on unmount\n */\n componentWillUnmount: function componentWillUnmount() {\n if (this._touchableNode && this._touchableNode.addEventListener) {\n this._touchableNode.removeEventListener('blur', this._touchableBlurListener);\n }\n\n this.touchableDelayTimeout && clearTimeout(this.touchableDelayTimeout);\n this.longPressDelayTimeout && clearTimeout(this.longPressDelayTimeout);\n this.pressOutDelayTimeout && clearTimeout(this.pressOutDelayTimeout); // Clear DOM nodes\n\n this.pressInLocation = null;\n this.state.touchable.responderID = null;\n this._touchableNode = null;\n },\n\n /**\n * It's prefer that mixins determine state in this way, having the class\n * explicitly mix the state in the one and only `getInitialState` method.\n *\n * @return {object} State object to be placed inside of\n * `this.state.touchable`.\n */\n touchableGetInitialState: function touchableGetInitialState() {\n return {\n touchable: {\n touchState: undefined,\n responderID: null\n }\n };\n },\n // ==== Hooks to Gesture Responder system ====\n\n /**\n * Must return true if embedded in a native platform scroll view.\n */\n touchableHandleResponderTerminationRequest: function touchableHandleResponderTerminationRequest() {\n return !this.props.rejectResponderTermination;\n },\n\n /**\n * Must return true to start the process of `Touchable`.\n */\n touchableHandleStartShouldSetResponder: function touchableHandleStartShouldSetResponder() {\n return !this.props.disabled;\n },\n\n /**\n * Return true to cancel press on long press.\n */\n touchableLongPressCancelsPress: function touchableLongPressCancelsPress() {\n return true;\n },\n\n /**\n * Place as callback for a DOM element's `onResponderGrant` event.\n * @param {SyntheticEvent} e Synthetic event from event system.\n *\n */\n touchableHandleResponderGrant: function touchableHandleResponderGrant(e) {\n var dispatchID = e.currentTarget; // Since e is used in a callback invoked on another event loop\n // (as in setTimeout etc), we need to call e.persist() on the\n // event to make sure it doesn't get reused in the event object pool.\n\n e.persist();\n this.pressOutDelayTimeout && clearTimeout(this.pressOutDelayTimeout);\n this.pressOutDelayTimeout = null;\n this.state.touchable.touchState = States.NOT_RESPONDER;\n this.state.touchable.responderID = dispatchID;\n\n this._receiveSignal(Signals.RESPONDER_GRANT, e);\n\n var delayMS = this.touchableGetHighlightDelayMS !== undefined ? Math.max(this.touchableGetHighlightDelayMS(), 0) : HIGHLIGHT_DELAY_MS;\n delayMS = isNaN(delayMS) ? HIGHLIGHT_DELAY_MS : delayMS;\n\n if (delayMS !== 0) {\n this.touchableDelayTimeout = setTimeout(this._handleDelay.bind(this, e), delayMS);\n } else {\n this._handleDelay(e);\n }\n\n var longDelayMS = this.touchableGetLongPressDelayMS !== undefined ? Math.max(this.touchableGetLongPressDelayMS(), 10) : LONG_PRESS_DELAY_MS;\n longDelayMS = isNaN(longDelayMS) ? LONG_PRESS_DELAY_MS : longDelayMS;\n this.longPressDelayTimeout = setTimeout(this._handleLongDelay.bind(this, e), longDelayMS + delayMS);\n },\n\n /**\n * Place as callback for a DOM element's `onResponderRelease` event.\n */\n touchableHandleResponderRelease: function touchableHandleResponderRelease(e) {\n this.pressInLocation = null;\n\n this._receiveSignal(Signals.RESPONDER_RELEASE, e);\n },\n\n /**\n * Place as callback for a DOM element's `onResponderTerminate` event.\n */\n touchableHandleResponderTerminate: function touchableHandleResponderTerminate(e) {\n this.pressInLocation = null;\n\n this._receiveSignal(Signals.RESPONDER_TERMINATED, e);\n },\n\n /**\n * Place as callback for a DOM element's `onResponderMove` event.\n */\n touchableHandleResponderMove: function touchableHandleResponderMove(e) {\n // Measurement may not have returned yet.\n if (!this.state.touchable.positionOnActivate) {\n return;\n }\n\n var positionOnActivate = this.state.touchable.positionOnActivate;\n var dimensionsOnActivate = this.state.touchable.dimensionsOnActivate;\n var pressRectOffset = this.touchableGetPressRectOffset ? this.touchableGetPressRectOffset() : {\n left: PRESS_EXPAND_PX,\n right: PRESS_EXPAND_PX,\n top: PRESS_EXPAND_PX,\n bottom: PRESS_EXPAND_PX\n };\n var pressExpandLeft = pressRectOffset.left;\n var pressExpandTop = pressRectOffset.top;\n var pressExpandRight = pressRectOffset.right;\n var pressExpandBottom = pressRectOffset.bottom;\n var hitSlop = this.touchableGetHitSlop ? this.touchableGetHitSlop() : null;\n\n if (hitSlop) {\n pressExpandLeft += hitSlop.left || 0;\n pressExpandTop += hitSlop.top || 0;\n pressExpandRight += hitSlop.right || 0;\n pressExpandBottom += hitSlop.bottom || 0;\n }\n\n var touch = extractSingleTouch(e.nativeEvent);\n var pageX = touch && touch.pageX;\n var pageY = touch && touch.pageY;\n\n if (this.pressInLocation) {\n var movedDistance = this._getDistanceBetweenPoints(pageX, pageY, this.pressInLocation.pageX, this.pressInLocation.pageY);\n\n if (movedDistance > LONG_PRESS_ALLOWED_MOVEMENT) {\n this._cancelLongPressDelayTimeout();\n }\n }\n\n var isTouchWithinActive = pageX > positionOnActivate.left - pressExpandLeft && pageY > positionOnActivate.top - pressExpandTop && pageX < positionOnActivate.left + dimensionsOnActivate.width + pressExpandRight && pageY < positionOnActivate.top + dimensionsOnActivate.height + pressExpandBottom;\n\n if (isTouchWithinActive) {\n var prevState = this.state.touchable.touchState;\n\n this._receiveSignal(Signals.ENTER_PRESS_RECT, e);\n\n var curState = this.state.touchable.touchState;\n\n if (curState === States.RESPONDER_INACTIVE_PRESS_IN && prevState !== States.RESPONDER_INACTIVE_PRESS_IN) {\n // fix for t7967420\n this._cancelLongPressDelayTimeout();\n }\n } else {\n this._cancelLongPressDelayTimeout();\n\n this._receiveSignal(Signals.LEAVE_PRESS_RECT, e);\n }\n },\n\n /**\n * Invoked when the item receives focus. Mixers might override this to\n * visually distinguish the `VisualRect` so that the user knows that it\n * currently has the focus. Most platforms only support a single element being\n * focused at a time, in which case there may have been a previously focused\n * element that was blurred just prior to this. This can be overridden when\n * using `Touchable.Mixin.withoutDefaultFocusAndBlur`.\n */\n touchableHandleFocus: function touchableHandleFocus(e) {\n this.props.onFocus && this.props.onFocus(e);\n },\n\n /**\n * Invoked when the item loses focus. Mixers might override this to\n * visually distinguish the `VisualRect` so that the user knows that it\n * no longer has focus. Most platforms only support a single element being\n * focused at a time, in which case the focus may have moved to another.\n * This can be overridden when using\n * `Touchable.Mixin.withoutDefaultFocusAndBlur`.\n */\n touchableHandleBlur: function touchableHandleBlur(e) {\n this.props.onBlur && this.props.onBlur(e);\n },\n // ==== Abstract Application Callbacks ====\n\n /**\n * Invoked when the item should be highlighted. Mixers should implement this\n * to visually distinguish the `VisualRect` so that the user knows that\n * releasing a touch will result in a \"selection\" (analog to click).\n *\n * @abstract\n * touchableHandleActivePressIn: function,\n */\n\n /**\n * Invoked when the item is \"active\" (in that it is still eligible to become\n * a \"select\") but the touch has left the `PressRect`. Usually the mixer will\n * want to unhighlight the `VisualRect`. If the user (while pressing) moves\n * back into the `PressRect` `touchableHandleActivePressIn` will be invoked\n * again and the mixer should probably highlight the `VisualRect` again. This\n * event will not fire on an `touchEnd/mouseUp` event, only move events while\n * the user is depressing the mouse/touch.\n *\n * @abstract\n * touchableHandleActivePressOut: function\n */\n\n /**\n * Invoked when the item is \"selected\" - meaning the interaction ended by\n * letting up while the item was either in the state\n * `RESPONDER_ACTIVE_PRESS_IN` or `RESPONDER_INACTIVE_PRESS_IN`.\n *\n * @abstract\n * touchableHandlePress: function\n */\n\n /**\n * Invoked when the item is long pressed - meaning the interaction ended by\n * letting up while the item was in `RESPONDER_ACTIVE_LONG_PRESS_IN`. If\n * `touchableHandleLongPress` is *not* provided, `touchableHandlePress` will\n * be called as it normally is. If `touchableHandleLongPress` is provided, by\n * default any `touchableHandlePress` callback will not be invoked. To\n * override this default behavior, override `touchableLongPressCancelsPress`\n * to return false. As a result, `touchableHandlePress` will be called when\n * lifting up, even if `touchableHandleLongPress` has also been called.\n *\n * @abstract\n * touchableHandleLongPress: function\n */\n\n /**\n * Returns the number of millis to wait before triggering a highlight.\n *\n * @abstract\n * touchableGetHighlightDelayMS: function\n */\n\n /**\n * Returns the amount to extend the `HitRect` into the `PressRect`. Positive\n * numbers mean the size expands outwards.\n *\n * @abstract\n * touchableGetPressRectOffset: function\n */\n // ==== Internal Logic ====\n\n /**\n * Measures the `HitRect` node on activation. The Bounding rectangle is with\n * respect to viewport - not page, so adding the `pageXOffset/pageYOffset`\n * should result in points that are in the same coordinate system as an\n * event's `globalX/globalY` data values.\n *\n * - Consider caching this for the lifetime of the component, or possibly\n * being able to share this cache between any `ScrollMap` view.\n *\n * @sideeffects\n * @private\n */\n _remeasureMetricsOnActivation: function _remeasureMetricsOnActivation() {\n var tag = this.state.touchable.responderID;\n\n if (tag == null) {\n return;\n }\n\n UIManager.measure(tag, this._handleQueryLayout);\n },\n _handleQueryLayout: function _handleQueryLayout(l, t, w, h, globalX, globalY) {\n //don't do anything UIManager failed to measure node\n if (!l && !t && !w && !h && !globalX && !globalY) {\n return;\n }\n\n this.state.touchable.positionOnActivate && Position.release(this.state.touchable.positionOnActivate);\n this.state.touchable.dimensionsOnActivate && // $FlowFixMe\n BoundingDimensions.release(this.state.touchable.dimensionsOnActivate);\n this.state.touchable.positionOnActivate = Position.getPooled(globalX, globalY); // $FlowFixMe\n\n this.state.touchable.dimensionsOnActivate = BoundingDimensions.getPooled(w, h);\n },\n _handleDelay: function _handleDelay(e) {\n this.touchableDelayTimeout = null;\n\n this._receiveSignal(Signals.DELAY, e);\n },\n _handleLongDelay: function _handleLongDelay(e) {\n this.longPressDelayTimeout = null;\n var curState = this.state.touchable.touchState;\n\n if (curState !== States.RESPONDER_ACTIVE_PRESS_IN && curState !== States.RESPONDER_ACTIVE_LONG_PRESS_IN) {\n console.error('Attempted to transition from state `' + curState + '` to `' + States.RESPONDER_ACTIVE_LONG_PRESS_IN + '`, which is not supported. This is ' + 'most likely due to `Touchable.longPressDelayTimeout` not being cancelled.');\n } else {\n this._receiveSignal(Signals.LONG_PRESS_DETECTED, e);\n }\n },\n\n /**\n * Receives a state machine signal, performs side effects of the transition\n * and stores the new state. Validates the transition as well.\n *\n * @param {Signals} signal State machine signal.\n * @throws Error if invalid state transition or unrecognized signal.\n * @sideeffects\n */\n _receiveSignal: function _receiveSignal(signal, e) {\n var responderID = this.state.touchable.responderID;\n var curState = this.state.touchable.touchState;\n var nextState = Transitions[curState] && Transitions[curState][signal];\n\n if (!responderID && signal === Signals.RESPONDER_RELEASE) {\n return;\n }\n\n if (!nextState) {\n throw new Error('Unrecognized signal `' + signal + '` or state `' + curState + '` for Touchable responder `' + responderID + '`');\n }\n\n if (nextState === States.ERROR) {\n throw new Error('Touchable cannot transition from `' + curState + '` to `' + signal + '` for responder `' + responderID + '`');\n }\n\n if (curState !== nextState) {\n this._performSideEffectsForTransition(curState, nextState, signal, e);\n\n this.state.touchable.touchState = nextState;\n }\n },\n _cancelLongPressDelayTimeout: function _cancelLongPressDelayTimeout() {\n this.longPressDelayTimeout && clearTimeout(this.longPressDelayTimeout);\n this.longPressDelayTimeout = null;\n },\n _isHighlight: function _isHighlight(state) {\n return state === States.RESPONDER_ACTIVE_PRESS_IN || state === States.RESPONDER_ACTIVE_LONG_PRESS_IN;\n },\n _savePressInLocation: function _savePressInLocation(e) {\n var touch = extractSingleTouch(e.nativeEvent);\n var pageX = touch && touch.pageX;\n var pageY = touch && touch.pageY;\n var locationX = touch && touch.locationX;\n var locationY = touch && touch.locationY;\n this.pressInLocation = {\n pageX,\n pageY,\n locationX,\n locationY\n };\n },\n _getDistanceBetweenPoints: function _getDistanceBetweenPoints(aX, aY, bX, bY) {\n var deltaX = aX - bX;\n var deltaY = aY - bY;\n return Math.sqrt(deltaX * deltaX + deltaY * deltaY);\n },\n\n /**\n * Will perform a transition between touchable states, and identify any\n * highlighting or unhighlighting that must be performed for this particular\n * transition.\n *\n * @param {States} curState Current Touchable state.\n * @param {States} nextState Next Touchable state.\n * @param {Signal} signal Signal that triggered the transition.\n * @param {Event} e Native event.\n * @sideeffects\n */\n _performSideEffectsForTransition: function _performSideEffectsForTransition(curState, nextState, signal, e) {\n var curIsHighlight = this._isHighlight(curState);\n\n var newIsHighlight = this._isHighlight(nextState);\n\n var isFinalSignal = signal === Signals.RESPONDER_TERMINATED || signal === Signals.RESPONDER_RELEASE;\n\n if (isFinalSignal) {\n this._cancelLongPressDelayTimeout();\n }\n\n var isInitialTransition = curState === States.NOT_RESPONDER && nextState === States.RESPONDER_INACTIVE_PRESS_IN;\n var isActiveTransition = !IsActive[curState] && IsActive[nextState];\n\n if (isInitialTransition || isActiveTransition) {\n this._remeasureMetricsOnActivation();\n }\n\n if (IsPressingIn[curState] && signal === Signals.LONG_PRESS_DETECTED) {\n this.touchableHandleLongPress && this.touchableHandleLongPress(e);\n }\n\n if (newIsHighlight && !curIsHighlight) {\n this._startHighlight(e);\n } else if (!newIsHighlight && curIsHighlight) {\n this._endHighlight(e);\n }\n\n if (IsPressingIn[curState] && signal === Signals.RESPONDER_RELEASE) {\n var hasLongPressHandler = !!this.props.onLongPress;\n var pressIsLongButStillCallOnPress = IsLongPressingIn[curState] && ( // We *are* long pressing.. // But either has no long handler\n !hasLongPressHandler || !this.touchableLongPressCancelsPress()); // or we're told to ignore it.\n\n var shouldInvokePress = !IsLongPressingIn[curState] || pressIsLongButStillCallOnPress;\n\n if (shouldInvokePress && this.touchableHandlePress) {\n if (!newIsHighlight && !curIsHighlight) {\n // we never highlighted because of delay, but we should highlight now\n this._startHighlight(e);\n\n this._endHighlight(e);\n }\n\n this.touchableHandlePress(e);\n }\n }\n\n this.touchableDelayTimeout && clearTimeout(this.touchableDelayTimeout);\n this.touchableDelayTimeout = null;\n },\n _playTouchSound: function _playTouchSound() {\n UIManager.playTouchSound();\n },\n _startHighlight: function _startHighlight(e) {\n this._savePressInLocation(e);\n\n this.touchableHandleActivePressIn && this.touchableHandleActivePressIn(e);\n },\n _endHighlight: function _endHighlight(e) {\n if (this.touchableHandleActivePressOut) {\n if (this.touchableGetPressOutDelayMS && this.touchableGetPressOutDelayMS()) {\n this.pressOutDelayTimeout = setTimeout(() => {\n this.touchableHandleActivePressOut(e);\n }, this.touchableGetPressOutDelayMS());\n } else {\n this.touchableHandleActivePressOut(e);\n }\n }\n },\n // HACK (part 2): basic support for touchable interactions using a keyboard (including\n // delays and longPress)\n touchableHandleKeyEvent: function touchableHandleKeyEvent(e) {\n var type = e.type,\n key = e.key;\n\n if (key === 'Enter' || key === ' ') {\n if (type === 'keydown') {\n if (!this._isTouchableKeyboardActive) {\n if (!this.state.touchable.touchState || this.state.touchable.touchState === States.NOT_RESPONDER) {\n this.touchableHandleResponderGrant(e);\n this._isTouchableKeyboardActive = true;\n }\n }\n } else if (type === 'keyup') {\n if (this._isTouchableKeyboardActive) {\n if (this.state.touchable.touchState && this.state.touchable.touchState !== States.NOT_RESPONDER) {\n this.touchableHandleResponderRelease(e);\n this._isTouchableKeyboardActive = false;\n }\n }\n }\n\n e.stopPropagation(); // prevent the default behaviour unless the Touchable functions as a link\n // and Enter is pressed\n\n if (!(key === 'Enter' && AccessibilityUtil.propsToAriaRole(this.props) === 'link')) {\n e.preventDefault();\n }\n }\n },\n withoutDefaultFocusAndBlur: {}\n};\n/**\n * Provide an optional version of the mixin where `touchableHandleFocus` and\n * `touchableHandleBlur` can be overridden. This allows appropriate defaults to\n * be set on TV platforms, without breaking existing implementations of\n * `Touchable`.\n */\n\nvar touchableHandleFocus = TouchableMixin.touchableHandleFocus,\n touchableHandleBlur = TouchableMixin.touchableHandleBlur,\n TouchableMixinWithoutDefaultFocusAndBlur = _objectWithoutPropertiesLoose(TouchableMixin, [\"touchableHandleFocus\", \"touchableHandleBlur\"]);\n\nTouchableMixin.withoutDefaultFocusAndBlur = TouchableMixinWithoutDefaultFocusAndBlur;\nvar Touchable = {\n Mixin: TouchableMixin,\n TOUCH_TARGET_DEBUG: false,\n // Highlights all touchable targets. Toggle with Inspector.\n\n /**\n * Renders a debugging overlay to visualize touch target with hitSlop (might not work on Android).\n */\n renderDebugView: _ref => {\n var color = _ref.color,\n hitSlop = _ref.hitSlop;\n\n if (!Touchable.TOUCH_TARGET_DEBUG) {\n return null;\n }\n\n if (process.env.NODE_ENV !== 'production') {\n throw Error('Touchable.TOUCH_TARGET_DEBUG should not be enabled in prod!');\n }\n\n var debugHitSlopStyle = {};\n hitSlop = hitSlop || {\n top: 0,\n bottom: 0,\n left: 0,\n right: 0\n };\n\n for (var key in hitSlop) {\n debugHitSlopStyle[key] = -hitSlop[key];\n }\n\n var normalizedColor = normalizeColor(color);\n\n if (typeof normalizedColor !== 'number') {\n return null;\n }\n\n var hexColor = '#' + ('00000000' + normalizedColor.toString(16)).substr(-8);\n return /*#__PURE__*/React.createElement(View, {\n pointerEvents: \"none\",\n style: _objectSpread({\n position: 'absolute',\n borderColor: hexColor.slice(0, -2) + '55',\n // More opaque\n borderWidth: 1,\n borderStyle: 'dashed',\n backgroundColor: hexColor.slice(0, -2) + '0F'\n }, debugHitSlopStyle)\n });\n }\n};\nexport default Touchable;","/**\n * Copyright (c) Nicolas Gallagher.\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 */\nimport getBoundingClientRect from '../../modules/getBoundingClientRect';\nimport setValueForStyles from '../../modules/setValueForStyles';\n\nvar getRect = node => {\n // Unlike the DOM's getBoundingClientRect, React Native layout measurements\n // for \"height\" and \"width\" ignore scale transforms.\n // https://developer.mozilla.org/en-US/docs/Web/API/CSS_Object_Model/Determining_the_dimensions_of_elements\n var _getBoundingClientRec = getBoundingClientRect(node),\n x = _getBoundingClientRec.x,\n y = _getBoundingClientRec.y,\n top = _getBoundingClientRec.top,\n left = _getBoundingClientRec.left;\n\n var width = node.offsetWidth;\n var height = node.offsetHeight;\n return {\n x,\n y,\n width,\n height,\n top,\n left\n };\n};\n\nvar measureLayout = (node, relativeToNativeNode, callback) => {\n var relativeNode = relativeToNativeNode || node && node.parentNode;\n\n if (node && relativeNode) {\n setTimeout(() => {\n var relativeRect = getBoundingClientRect(relativeNode);\n\n var _getRect = getRect(node),\n height = _getRect.height,\n left = _getRect.left,\n top = _getRect.top,\n width = _getRect.width;\n\n var x = left - relativeRect.left;\n var y = top - relativeRect.top;\n callback(x, y, width, height, left, top);\n }, 0);\n }\n};\n\nvar focusableElements = {\n A: true,\n INPUT: true,\n SELECT: true,\n TEXTAREA: true\n};\nvar UIManager = {\n blur(node) {\n try {\n node.blur();\n } catch (err) {}\n },\n\n focus(node) {\n try {\n var name = node.nodeName; // A tabIndex of -1 allows element to be programmatically focused but\n // prevents keyboard focus, so we don't want to set the value on elements\n // that support keyboard focus by default.\n\n if (node.getAttribute('tabIndex') == null && focusableElements[name] == null) {\n node.setAttribute('tabIndex', '-1');\n }\n\n node.focus();\n } catch (err) {}\n },\n\n measure(node, callback) {\n measureLayout(node, null, callback);\n },\n\n measureInWindow(node, callback) {\n if (node) {\n setTimeout(() => {\n var _getRect2 = getRect(node),\n height = _getRect2.height,\n left = _getRect2.left,\n top = _getRect2.top,\n width = _getRect2.width;\n\n callback(left, top, width, height);\n }, 0);\n }\n },\n\n measureLayout(node, relativeToNativeNode, onFail, onSuccess) {\n measureLayout(node, relativeToNativeNode, onSuccess);\n },\n\n updateView(node, props) {\n for (var prop in props) {\n if (!Object.prototype.hasOwnProperty.call(props, prop)) {\n continue;\n }\n\n var value = props[prop];\n\n switch (prop) {\n case 'style':\n {\n setValueForStyles(node, value);\n break;\n }\n\n case 'class':\n case 'className':\n {\n node.setAttribute('class', value);\n break;\n }\n\n case 'text':\n case 'value':\n // native platforms use `text` prop to replace text input value\n node.value = value;\n break;\n\n default:\n node.setAttribute(prop, value);\n }\n }\n },\n\n configureNextLayoutAnimation(config, onAnimationDidEnd) {\n onAnimationDidEnd();\n },\n\n // mocks\n setLayoutAnimationEnabledExperimental() {}\n\n};\nexport default UIManager;","/**\n * Copyright (c) Nicolas Gallagher.\n * Copyright (c) Meta Platforms, Inc. and 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 */\nvar vibrate = pattern => {\n if ('vibrate' in window.navigator) {\n window.navigator.vibrate(pattern);\n }\n};\n\nvar Vibration = {\n cancel() {\n vibrate(0);\n },\n\n vibrate(pattern) {\n if (pattern === void 0) {\n pattern = 400;\n }\n\n vibrate(pattern);\n }\n\n};\nexport default Vibration;","import _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/objectWithoutPropertiesLoose\";\nvar _excluded = [\"hrefAttrs\", \"onLayout\", \"onMoveShouldSetResponder\", \"onMoveShouldSetResponderCapture\", \"onResponderEnd\", \"onResponderGrant\", \"onResponderMove\", \"onResponderReject\", \"onResponderRelease\", \"onResponderStart\", \"onResponderTerminate\", \"onResponderTerminationRequest\", \"onScrollShouldSetResponder\", \"onScrollShouldSetResponderCapture\", \"onSelectionChangeShouldSetResponder\", \"onSelectionChangeShouldSetResponderCapture\", \"onStartShouldSetResponder\", \"onStartShouldSetResponderCapture\"];\n\n/**\n * Copyright (c) Nicolas Gallagher.\n * Copyright (c) Meta Platforms, Inc. and 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 */\nimport * as React from 'react';\nimport createElement from '../createElement';\nimport * as forwardedProps from '../../modules/forwardedProps';\nimport pick from '../../modules/pick';\nimport useElementLayout from '../../modules/useElementLayout';\nimport useMergeRefs from '../../modules/useMergeRefs';\nimport usePlatformMethods from '../../modules/usePlatformMethods';\nimport useResponderEvents from '../../modules/useResponderEvents';\nimport StyleSheet from '../StyleSheet';\nimport TextAncestorContext from '../Text/TextAncestorContext';\nimport { useLocaleContext, getLocaleDirection } from '../../modules/useLocale';\nvar forwardPropsList = Object.assign({}, forwardedProps.defaultProps, forwardedProps.accessibilityProps, forwardedProps.clickProps, forwardedProps.defaultProps, forwardedProps.accessibilityProps, forwardedProps.clickProps, forwardedProps.focusProps, forwardedProps.keyboardProps, forwardedProps.mouseProps, forwardedProps.touchProps, forwardedProps.styleProps, {\n href: true,\n lang: true,\n onScroll: true,\n onWheel: true,\n pointerEvents: true\n});\n\nvar pickProps = props => pick(props, forwardPropsList);\n\nvar View = /*#__PURE__*/React.forwardRef((props, forwardedRef) => {\n var hrefAttrs = props.hrefAttrs,\n onLayout = props.onLayout,\n onMoveShouldSetResponder = props.onMoveShouldSetResponder,\n onMoveShouldSetResponderCapture = props.onMoveShouldSetResponderCapture,\n onResponderEnd = props.onResponderEnd,\n onResponderGrant = props.onResponderGrant,\n onResponderMove = props.onResponderMove,\n onResponderReject = props.onResponderReject,\n onResponderRelease = props.onResponderRelease,\n onResponderStart = props.onResponderStart,\n onResponderTerminate = props.onResponderTerminate,\n onResponderTerminationRequest = props.onResponderTerminationRequest,\n onScrollShouldSetResponder = props.onScrollShouldSetResponder,\n onScrollShouldSetResponderCapture = props.onScrollShouldSetResponderCapture,\n onSelectionChangeShouldSetResponder = props.onSelectionChangeShouldSetResponder,\n onSelectionChangeShouldSetResponderCapture = props.onSelectionChangeShouldSetResponderCapture,\n onStartShouldSetResponder = props.onStartShouldSetResponder,\n onStartShouldSetResponderCapture = props.onStartShouldSetResponderCapture,\n rest = _objectWithoutPropertiesLoose(props, _excluded);\n\n if (process.env.NODE_ENV !== 'production') {\n React.Children.toArray(props.children).forEach(item => {\n if (typeof item === 'string') {\n console.error(\"Unexpected text node: \" + item + \". A text node cannot be a child of a .\");\n }\n });\n }\n\n var hasTextAncestor = React.useContext(TextAncestorContext);\n var hostRef = React.useRef(null);\n\n var _useLocaleContext = useLocaleContext(),\n contextDirection = _useLocaleContext.direction;\n\n useElementLayout(hostRef, onLayout);\n useResponderEvents(hostRef, {\n onMoveShouldSetResponder,\n onMoveShouldSetResponderCapture,\n onResponderEnd,\n onResponderGrant,\n onResponderMove,\n onResponderReject,\n onResponderRelease,\n onResponderStart,\n onResponderTerminate,\n onResponderTerminationRequest,\n onScrollShouldSetResponder,\n onScrollShouldSetResponderCapture,\n onSelectionChangeShouldSetResponder,\n onSelectionChangeShouldSetResponderCapture,\n onStartShouldSetResponder,\n onStartShouldSetResponderCapture\n });\n var component = 'div';\n var langDirection = props.lang != null ? getLocaleDirection(props.lang) : null;\n var componentDirection = props.dir || langDirection;\n var writingDirection = componentDirection || contextDirection;\n var supportedProps = pickProps(rest);\n supportedProps.dir = componentDirection;\n supportedProps.style = [styles.view$raw, hasTextAncestor && styles.inline, props.style];\n\n if (props.href != null) {\n component = 'a';\n\n if (hrefAttrs != null) {\n var download = hrefAttrs.download,\n rel = hrefAttrs.rel,\n target = hrefAttrs.target;\n\n if (download != null) {\n supportedProps.download = download;\n }\n\n if (rel != null) {\n supportedProps.rel = rel;\n }\n\n if (typeof target === 'string') {\n supportedProps.target = target.charAt(0) !== '_' ? '_' + target : target;\n }\n }\n }\n\n var platformMethodsRef = usePlatformMethods(supportedProps);\n var setRef = useMergeRefs(hostRef, platformMethodsRef, forwardedRef);\n supportedProps.ref = setRef;\n return createElement(component, supportedProps, {\n writingDirection\n });\n});\nView.displayName = 'View';\nvar styles = StyleSheet.create({\n view$raw: {\n alignItems: 'stretch',\n backgroundColor: 'transparent',\n border: '0 solid black',\n boxSizing: 'border-box',\n display: 'flex',\n flexBasis: 'auto',\n flexDirection: 'column',\n flexShrink: 0,\n listStyle: 'none',\n margin: 0,\n minHeight: 0,\n minWidth: 0,\n padding: 0,\n position: 'relative',\n textDecoration: 'none',\n zIndex: 0\n },\n inline: {\n display: 'inline-flex'\n }\n});\nexport default View;","/**\n * Copyright (c) Meta Platforms, Inc. and 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 */\nimport VirtualizedList from '../../vendor/react-native/VirtualizedList';\nexport default VirtualizedList;","/**\n * Copyright (c) Nicolas Gallagher.\n * Copyright (c) Meta Platforms, Inc. and 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 */\nimport React from 'react';\nimport UnimplementedView from '../../modules/UnimplementedView';\n\nfunction YellowBox(props) {\n return /*#__PURE__*/React.createElement(UnimplementedView, props);\n}\n\nYellowBox.ignoreWarnings = () => {};\n\nexport default YellowBox;","/**\n * Copyright (c) Nicolas Gallagher.\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 */\nimport AccessibilityUtil from '../../modules/AccessibilityUtil';\nimport createDOMProps from '../../modules/createDOMProps';\nimport React from 'react';\nimport { LocaleProvider } from '../../modules/useLocale';\n\nvar createElement = (component, props, options) => {\n // Use equivalent platform elements where possible.\n var accessibilityComponent;\n\n if (component && component.constructor === String) {\n accessibilityComponent = AccessibilityUtil.propsToAccessibilityComponent(props);\n }\n\n var Component = accessibilityComponent || component;\n var domProps = createDOMProps(Component, props, options);\n var element = /*#__PURE__*/React.createElement(Component, domProps); // Update locale context if element's writing direction prop changes\n\n var elementWithLocaleProvider = domProps.dir ? /*#__PURE__*/React.createElement(LocaleProvider, {\n children: element,\n direction: domProps.dir,\n locale: domProps.lang\n }) : element;\n return elementWithLocaleProvider;\n};\n\nexport default createElement;","/**\n * Copyright (c) Nicolas Gallagher.\n * Copyright (c) Meta Platforms, Inc. and 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 */\nimport { findDOMNode } from 'react-dom';\n\nvar findNodeHandle = component => {\n var node;\n\n try {\n node = findDOMNode(component);\n } catch (e) {}\n\n return node;\n};\n\nexport default findNodeHandle;","/**\n * Copyright (c) Nicolas Gallagher.\n * Copyright (c) Meta Platforms, Inc. and 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 */\nimport normalizeColor from 'normalize-css-color';\n\nvar processColor = color => {\n if (color === undefined || color === null) {\n return color;\n } // convert number and hex\n\n\n var int32Color = normalizeColor(color);\n\n if (int32Color === undefined || int32Color === null) {\n return undefined;\n }\n\n int32Color = (int32Color << 24 | int32Color >>> 8) >>> 0;\n return int32Color;\n};\n\nexport default processColor;","/**\n * Copyright (c) Nicolas Gallagher.\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 */\nimport { hydrate as domHydrate, render as domRender } from 'react-dom';\nimport { createSheet } from '../StyleSheet/dom';\nexport function hydrate(element, root, callback) {\n createSheet(root);\n return domHydrate(element, root, callback);\n}\nexport default function render(element, root, callback) {\n createSheet(root);\n return domRender(element, root, callback);\n}","/**\n * Copyright (c) Nicolas Gallagher.\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 */\nimport { unmountComponentAtNode } from 'react-dom';\nexport default unmountComponentAtNode;","/**\n * Copyright (c) Nicolas Gallagher.\n * Copyright (c) Meta Platforms, Inc. and 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 */\nimport * as React from 'react';\nimport Appearance from '../Appearance';\nexport default function useColorScheme() {\n var _React$useState = React.useState(Appearance.getColorScheme()),\n colorScheme = _React$useState[0],\n setColorScheme = _React$useState[1];\n\n React.useEffect(() => {\n function listener(appearance) {\n setColorScheme(appearance.colorScheme);\n }\n\n var _Appearance$addChange = Appearance.addChangeListener(listener),\n remove = _Appearance$addChange.remove;\n\n return remove;\n });\n return colorScheme;\n}","/**\n * Copyright (c) Meta Platforms, Inc. and 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 * @format\n * \n */\n'use strict';\n\nimport Dimensions from '../Dimensions';\nimport { useEffect, useState } from 'react';\nexport default function useWindowDimensions() {\n var _useState = useState(() => Dimensions.get('window')),\n dims = _useState[0],\n setDims = _useState[1];\n\n useEffect(() => {\n function handleChange(_ref) {\n var window = _ref.window;\n\n if (window != null) {\n setDims(window);\n }\n }\n\n Dimensions.addEventListener('change', handleChange); // We might have missed an update between calling `get` in render and\n // `addEventListener` in this handler, so we set it here. If there was\n // no change, React will filter out this update as a no-op.\n\n setDims(Dimensions.get('window'));\n return () => {\n Dimensions.removeEventListener('change', handleChange);\n };\n }, []);\n return dims;\n}","/**\n * Copyright (c) Nicolas Gallagher.\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 */\nimport isDisabled from './isDisabled';\nimport propsToAccessibilityComponent from './propsToAccessibilityComponent';\nimport propsToAriaRole from './propsToAriaRole';\nvar AccessibilityUtil = {\n isDisabled,\n propsToAccessibilityComponent,\n propsToAriaRole\n};\nexport default AccessibilityUtil;","/**\n * Copyright (c) Nicolas Gallagher.\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 */\nvar isDisabled = props => props.disabled || Array.isArray(props.accessibilityStates) && props.accessibilityStates.indexOf('disabled') > -1;\n\nexport default isDisabled;","/**\n * Copyright (c) Nicolas Gallagher.\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 */\nimport propsToAriaRole from './propsToAriaRole';\nvar roleComponents = {\n article: 'article',\n banner: 'header',\n blockquote: 'blockquote',\n code: 'code',\n complementary: 'aside',\n contentinfo: 'footer',\n deletion: 'del',\n emphasis: 'em',\n figure: 'figure',\n insertion: 'ins',\n form: 'form',\n list: 'ul',\n listitem: 'li',\n main: 'main',\n navigation: 'nav',\n region: 'section',\n strong: 'strong'\n};\nvar emptyObject = {};\n\nvar propsToAccessibilityComponent = function propsToAccessibilityComponent(props) {\n if (props === void 0) {\n props = emptyObject;\n }\n\n // special-case for \"label\" role which doesn't map to an ARIA role\n if (props.accessibilityRole === 'label') {\n return 'label';\n }\n\n var role = propsToAriaRole(props);\n\n if (role) {\n if (role === 'heading') {\n var level = props.accessibilityLevel || props['aria-level'];\n\n if (level != null) {\n return \"h\" + level;\n }\n\n return 'h1';\n }\n\n return roleComponents[role];\n }\n};\n\nexport default propsToAccessibilityComponent;","/**\n * Copyright (c) Nicolas Gallagher.\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 */\nvar accessibilityRoleToWebRole = {\n adjustable: 'slider',\n button: 'button',\n header: 'heading',\n image: 'img',\n imagebutton: null,\n keyboardkey: null,\n label: null,\n link: 'link',\n none: 'presentation',\n search: 'search',\n summary: 'region',\n text: null\n};\n\nvar propsToAriaRole = _ref => {\n var accessibilityRole = _ref.accessibilityRole;\n\n if (accessibilityRole) {\n var inferredRole = accessibilityRoleToWebRole[accessibilityRole];\n\n if (inferredRole !== null) {\n // ignore roles that don't map to web\n return inferredRole || accessibilityRole;\n }\n }\n};\n\nexport default propsToAriaRole;","/**\n * Copyright (c) Nicolas Gallagher.\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 */\nvar assets = [];\nexport function registerAsset(asset) {\n // `push` returns new array length, so the first asset will\n // get id 1 (not 0) to make the value truthy\n return assets.push(asset);\n}\nexport function getAssetByID(assetId) {\n return assets[assetId - 1];\n}","/**\n * Copyright (c) Nicolas Gallagher.\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 */\nvar dataUriPattern = /^data:/;\nexport class ImageUriCache {\n static has(uri) {\n var entries = ImageUriCache._entries;\n var isDataUri = dataUriPattern.test(uri);\n return isDataUri || Boolean(entries[uri]);\n }\n\n static add(uri) {\n var entries = ImageUriCache._entries;\n var lastUsedTimestamp = Date.now();\n\n if (entries[uri]) {\n entries[uri].lastUsedTimestamp = lastUsedTimestamp;\n entries[uri].refCount += 1;\n } else {\n entries[uri] = {\n lastUsedTimestamp,\n refCount: 1\n };\n }\n }\n\n static remove(uri) {\n var entries = ImageUriCache._entries;\n\n if (entries[uri]) {\n entries[uri].refCount -= 1;\n } // Free up entries when the cache is \"full\"\n\n\n ImageUriCache._cleanUpIfNeeded();\n }\n\n static _cleanUpIfNeeded() {\n var entries = ImageUriCache._entries;\n var imageUris = Object.keys(entries);\n\n if (imageUris.length + 1 > ImageUriCache._maximumEntries) {\n var leastRecentlyUsedKey;\n var leastRecentlyUsedEntry;\n imageUris.forEach(uri => {\n var entry = entries[uri];\n\n if ((!leastRecentlyUsedEntry || entry.lastUsedTimestamp < leastRecentlyUsedEntry.lastUsedTimestamp) && entry.refCount === 0) {\n leastRecentlyUsedKey = uri;\n leastRecentlyUsedEntry = entry;\n }\n });\n\n if (leastRecentlyUsedKey) {\n delete entries[leastRecentlyUsedKey];\n }\n }\n }\n\n}\nImageUriCache._maximumEntries = 256;\nImageUriCache._entries = {};\nvar id = 0;\nvar requests = {};\nvar ImageLoader = {\n abort(requestId) {\n var image = requests[\"\" + requestId];\n\n if (image) {\n image.onerror = null;\n image.onload = null;\n image = null;\n delete requests[\"\" + requestId];\n }\n },\n\n getSize(uri, success, failure) {\n var complete = false;\n var interval = setInterval(callback, 16);\n var requestId = ImageLoader.load(uri, callback, errorCallback);\n\n function callback() {\n var image = requests[\"\" + requestId];\n\n if (image) {\n var naturalHeight = image.naturalHeight,\n naturalWidth = image.naturalWidth;\n\n if (naturalHeight && naturalWidth) {\n success(naturalWidth, naturalHeight);\n complete = true;\n }\n }\n\n if (complete) {\n ImageLoader.abort(requestId);\n clearInterval(interval);\n }\n }\n\n function errorCallback() {\n if (typeof failure === 'function') {\n failure();\n }\n\n ImageLoader.abort(requestId);\n clearInterval(interval);\n }\n },\n\n has(uri) {\n return ImageUriCache.has(uri);\n },\n\n load(uri, onLoad, onError) {\n id += 1;\n var image = new window.Image();\n image.onerror = onError;\n\n image.onload = e => {\n // avoid blocking the main thread\n var onDecode = () => onLoad({\n nativeEvent: e\n });\n\n if (typeof image.decode === 'function') {\n // Safari currently throws exceptions when decoding svgs.\n // We want to catch that error and allow the load handler\n // to be forwarded to the onLoad handler in this case\n image.decode().then(onDecode, onDecode);\n } else {\n setTimeout(onDecode, 0);\n }\n };\n\n image.src = uri;\n requests[\"\" + id] = image;\n return id;\n },\n\n prefetch(uri) {\n return new Promise((resolve, reject) => {\n ImageLoader.load(uri, () => {\n // Add the uri to the cache so it can be immediately displayed when used\n // but also immediately remove it to correctly reflect that it has no active references\n ImageUriCache.add(uri);\n ImageUriCache.remove(uri);\n resolve();\n }, reject);\n });\n },\n\n queryCache(uris) {\n var result = {};\n uris.forEach(u => {\n if (ImageUriCache.has(u)) {\n result[u] = 'disk/memory';\n }\n });\n return Promise.resolve(result);\n }\n\n};\nexport default ImageLoader;","/**\n * Copyright (c) Nicolas Gallagher.\n * Copyright (c) Meta Platforms, Inc. and 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 */\nimport Dimensions from '../../exports/Dimensions';\nimport findNodeHandle from '../../exports/findNodeHandle';\nimport invariant from 'fbjs/lib/invariant';\nimport Platform from '../../exports/Platform';\nimport TextInputState from '../TextInputState';\nimport UIManager from '../../exports/UIManager';\nimport warning from 'fbjs/lib/warning';\n/**\n * Mixin that can be integrated in order to handle scrolling that plays well\n * with `ResponderEventPlugin`. Integrate with your platform specific scroll\n * views, or even your custom built (every-frame animating) scroll views so that\n * all of these systems play well with the `ResponderEventPlugin`.\n *\n * iOS scroll event timing nuances:\n * ===============================\n *\n *\n * Scrolling without bouncing, if you touch down:\n * -------------------------------\n *\n * 1. `onMomentumScrollBegin` (when animation begins after letting up)\n * ... physical touch starts ...\n * 2. `onTouchStartCapture` (when you press down to stop the scroll)\n * 3. `onTouchStart` (same, but bubble phase)\n * 4. `onResponderRelease` (when lifting up - you could pause forever before * lifting)\n * 5. `onMomentumScrollEnd`\n *\n *\n * Scrolling with bouncing, if you touch down:\n * -------------------------------\n *\n * 1. `onMomentumScrollBegin` (when animation begins after letting up)\n * ... bounce begins ...\n * ... some time elapses ...\n * ... physical touch during bounce ...\n * 2. `onMomentumScrollEnd` (Makes no sense why this occurs first during bounce)\n * 3. `onTouchStartCapture` (immediately after `onMomentumScrollEnd`)\n * 4. `onTouchStart` (same, but bubble phase)\n * 5. `onTouchEnd` (You could hold the touch start for a long time)\n * 6. `onMomentumScrollBegin` (When releasing the view starts bouncing back)\n *\n * So when we receive an `onTouchStart`, how can we tell if we are touching\n * *during* an animation (which then causes the animation to stop)? The only way\n * to tell is if the `touchStart` occurred immediately after the\n * `onMomentumScrollEnd`.\n *\n * This is abstracted out for you, so you can just call this.scrollResponderIsAnimating() if\n * necessary\n *\n * `ScrollResponder` also includes logic for blurring a currently focused input\n * if one is focused while scrolling. The `ScrollResponder` is a natural place\n * to put this logic since it can support not dismissing the keyboard while\n * scrolling, unless a recognized \"tap\"-like gesture has occurred.\n *\n * The public lifecycle API includes events for keyboard interaction, responder\n * interaction, and scrolling (among others). The keyboard callbacks\n * `onKeyboardWill/Did/*` are *global* events, but are invoked on scroll\n * responder's props so that you can guarantee that the scroll responder's\n * internal state has been updated accordingly (and deterministically) by\n * the time the props callbacks are invoke. Otherwise, you would always wonder\n * if the scroll responder is currently in a state where it recognizes new\n * keyboard positions etc. If coordinating scrolling with keyboard movement,\n * *always* use these hooks instead of listening to your own global keyboard\n * events.\n *\n * Public keyboard lifecycle API: (props callbacks)\n *\n * Standard Keyboard Appearance Sequence:\n *\n * this.props.onKeyboardWillShow\n * this.props.onKeyboardDidShow\n *\n * `onScrollResponderKeyboardDismissed` will be invoked if an appropriate\n * tap inside the scroll responder's scrollable region was responsible\n * for the dismissal of the keyboard. There are other reasons why the\n * keyboard could be dismissed.\n *\n * this.props.onScrollResponderKeyboardDismissed\n *\n * Standard Keyboard Hide Sequence:\n *\n * this.props.onKeyboardWillHide\n * this.props.onKeyboardDidHide\n */\n\nvar emptyObject = {};\nvar IS_ANIMATING_TOUCH_START_THRESHOLD_MS = 16;\nvar ScrollResponderMixin = {\n // mixins: [Subscribable.Mixin],\n scrollResponderMixinGetInitialState: function scrollResponderMixinGetInitialState() {\n return {\n isTouching: false,\n lastMomentumScrollBeginTime: 0,\n lastMomentumScrollEndTime: 0,\n // Reset to false every time becomes responder. This is used to:\n // - Determine if the scroll view has been scrolled and therefore should\n // refuse to give up its responder lock.\n // - Determine if releasing should dismiss the keyboard when we are in\n // tap-to-dismiss mode (!this.props.keyboardShouldPersistTaps).\n observedScrollSinceBecomingResponder: false,\n becameResponderWhileAnimating: false\n };\n },\n\n /**\n * Invoke this from an `onScroll` event.\n */\n scrollResponderHandleScrollShouldSetResponder: function scrollResponderHandleScrollShouldSetResponder() {\n return this.state.isTouching;\n },\n\n /**\n * Merely touch starting is not sufficient for a scroll view to become the\n * responder. Being the \"responder\" means that the very next touch move/end\n * event will result in an action/movement.\n *\n * Invoke this from an `onStartShouldSetResponder` event.\n *\n * `onStartShouldSetResponder` is used when the next move/end will trigger\n * some UI movement/action, but when you want to yield priority to views\n * nested inside of the view.\n *\n * There may be some cases where scroll views actually should return `true`\n * from `onStartShouldSetResponder`: Any time we are detecting a standard tap\n * that gives priority to nested views.\n *\n * - If a single tap on the scroll view triggers an action such as\n * recentering a map style view yet wants to give priority to interaction\n * views inside (such as dropped pins or labels), then we would return true\n * from this method when there is a single touch.\n *\n * - Similar to the previous case, if a two finger \"tap\" should trigger a\n * zoom, we would check the `touches` count, and if `>= 2`, we would return\n * true.\n *\n */\n scrollResponderHandleStartShouldSetResponder: function scrollResponderHandleStartShouldSetResponder() {\n return false;\n },\n\n /**\n * There are times when the scroll view wants to become the responder\n * (meaning respond to the next immediate `touchStart/touchEnd`), in a way\n * that *doesn't* give priority to nested views (hence the capture phase):\n *\n * - Currently animating.\n * - Tapping anywhere that is not the focused input, while the keyboard is\n * up (which should dismiss the keyboard).\n *\n * Invoke this from an `onStartShouldSetResponderCapture` event.\n */\n scrollResponderHandleStartShouldSetResponderCapture: function scrollResponderHandleStartShouldSetResponderCapture(e) {\n // First see if we want to eat taps while the keyboard is up\n // var currentlyFocusedTextInput = TextInputState.currentlyFocusedField();\n // if (!this.props.keyboardShouldPersistTaps &&\n // currentlyFocusedTextInput != null &&\n // e.target !== currentlyFocusedTextInput) {\n // return true;\n // }\n return this.scrollResponderIsAnimating();\n },\n\n /**\n * Invoke this from an `onResponderReject` event.\n *\n * Some other element is not yielding its role as responder. Normally, we'd\n * just disable the `UIScrollView`, but a touch has already began on it, the\n * `UIScrollView` will not accept being disabled after that. The easiest\n * solution for now is to accept the limitation of disallowing this\n * altogether. To improve this, find a way to disable the `UIScrollView` after\n * a touch has already started.\n */\n scrollResponderHandleResponderReject: function scrollResponderHandleResponderReject() {\n warning(false, \"ScrollView doesn't take rejection well - scrolls anyway\");\n },\n\n /**\n * We will allow the scroll view to give up its lock iff it acquired the lock\n * during an animation. This is a very useful default that happens to satisfy\n * many common user experiences.\n *\n * - Stop a scroll on the left edge, then turn that into an outer view's\n * backswipe.\n * - Stop a scroll mid-bounce at the top, continue pulling to have the outer\n * view dismiss.\n * - However, without catching the scroll view mid-bounce (while it is\n * motionless), if you drag far enough for the scroll view to become\n * responder (and therefore drag the scroll view a bit), any backswipe\n * navigation of a swipe gesture higher in the view hierarchy, should be\n * rejected.\n */\n scrollResponderHandleTerminationRequest: function scrollResponderHandleTerminationRequest() {\n return !this.state.observedScrollSinceBecomingResponder;\n },\n\n /**\n * Invoke this from an `onTouchEnd` event.\n *\n * @param {SyntheticEvent} e Event.\n */\n scrollResponderHandleTouchEnd: function scrollResponderHandleTouchEnd(e) {\n var nativeEvent = e.nativeEvent;\n this.state.isTouching = nativeEvent.touches.length !== 0;\n this.props.onTouchEnd && this.props.onTouchEnd(e);\n },\n\n /**\n * Invoke this from an `onResponderRelease` event.\n */\n scrollResponderHandleResponderRelease: function scrollResponderHandleResponderRelease(e) {\n this.props.onResponderRelease && this.props.onResponderRelease(e); // By default scroll views will unfocus a textField\n // if another touch occurs outside of it\n\n var currentlyFocusedTextInput = TextInputState.currentlyFocusedField();\n\n if (!this.props.keyboardShouldPersistTaps && currentlyFocusedTextInput != null && e.target !== currentlyFocusedTextInput && !this.state.observedScrollSinceBecomingResponder && !this.state.becameResponderWhileAnimating) {\n this.props.onScrollResponderKeyboardDismissed && this.props.onScrollResponderKeyboardDismissed(e);\n TextInputState.blurTextInput(currentlyFocusedTextInput);\n }\n },\n scrollResponderHandleScroll: function scrollResponderHandleScroll(e) {\n this.state.observedScrollSinceBecomingResponder = true;\n this.props.onScroll && this.props.onScroll(e);\n },\n\n /**\n * Invoke this from an `onResponderGrant` event.\n */\n scrollResponderHandleResponderGrant: function scrollResponderHandleResponderGrant(e) {\n this.state.observedScrollSinceBecomingResponder = false;\n this.props.onResponderGrant && this.props.onResponderGrant(e);\n this.state.becameResponderWhileAnimating = this.scrollResponderIsAnimating();\n },\n\n /**\n * Unfortunately, `onScrollBeginDrag` also fires when *stopping* the scroll\n * animation, and there's not an easy way to distinguish a drag vs. stopping\n * momentum.\n *\n * Invoke this from an `onScrollBeginDrag` event.\n */\n scrollResponderHandleScrollBeginDrag: function scrollResponderHandleScrollBeginDrag(e) {\n this.props.onScrollBeginDrag && this.props.onScrollBeginDrag(e);\n },\n\n /**\n * Invoke this from an `onScrollEndDrag` event.\n */\n scrollResponderHandleScrollEndDrag: function scrollResponderHandleScrollEndDrag(e) {\n this.props.onScrollEndDrag && this.props.onScrollEndDrag(e);\n },\n\n /**\n * Invoke this from an `onMomentumScrollBegin` event.\n */\n scrollResponderHandleMomentumScrollBegin: function scrollResponderHandleMomentumScrollBegin(e) {\n this.state.lastMomentumScrollBeginTime = Date.now();\n this.props.onMomentumScrollBegin && this.props.onMomentumScrollBegin(e);\n },\n\n /**\n * Invoke this from an `onMomentumScrollEnd` event.\n */\n scrollResponderHandleMomentumScrollEnd: function scrollResponderHandleMomentumScrollEnd(e) {\n this.state.lastMomentumScrollEndTime = Date.now();\n this.props.onMomentumScrollEnd && this.props.onMomentumScrollEnd(e);\n },\n\n /**\n * Invoke this from an `onTouchStart` event.\n *\n * Since we know that the `SimpleEventPlugin` occurs later in the plugin\n * order, after `ResponderEventPlugin`, we can detect that we were *not*\n * permitted to be the responder (presumably because a contained view became\n * responder). The `onResponderReject` won't fire in that case - it only\n * fires when a *current* responder rejects our request.\n *\n * @param {SyntheticEvent} e Touch Start event.\n */\n scrollResponderHandleTouchStart: function scrollResponderHandleTouchStart(e) {\n this.state.isTouching = true;\n this.props.onTouchStart && this.props.onTouchStart(e);\n },\n\n /**\n * Invoke this from an `onTouchMove` event.\n *\n * Since we know that the `SimpleEventPlugin` occurs later in the plugin\n * order, after `ResponderEventPlugin`, we can detect that we were *not*\n * permitted to be the responder (presumably because a contained view became\n * responder). The `onResponderReject` won't fire in that case - it only\n * fires when a *current* responder rejects our request.\n *\n * @param {SyntheticEvent} e Touch Start event.\n */\n scrollResponderHandleTouchMove: function scrollResponderHandleTouchMove(e) {\n this.props.onTouchMove && this.props.onTouchMove(e);\n },\n\n /**\n * A helper function for this class that lets us quickly determine if the\n * view is currently animating. This is particularly useful to know when\n * a touch has just started or ended.\n */\n scrollResponderIsAnimating: function scrollResponderIsAnimating() {\n var now = Date.now();\n var timeSinceLastMomentumScrollEnd = now - this.state.lastMomentumScrollEndTime;\n var isAnimating = timeSinceLastMomentumScrollEnd < IS_ANIMATING_TOUCH_START_THRESHOLD_MS || this.state.lastMomentumScrollEndTime < this.state.lastMomentumScrollBeginTime;\n return isAnimating;\n },\n\n /**\n * Returns the node that represents native view that can be scrolled.\n * Components can pass what node to use by defining a `getScrollableNode`\n * function otherwise `this` is used.\n */\n scrollResponderGetScrollableNode: function scrollResponderGetScrollableNode() {\n return this.getScrollableNode ? this.getScrollableNode() : findNodeHandle(this);\n },\n\n /**\n * A helper function to scroll to a specific point in the scrollview.\n * This is currently used to help focus on child textviews, but can also\n * be used to quickly scroll to any element we want to focus. Syntax:\n *\n * scrollResponderScrollTo(options: {x: number = 0; y: number = 0; animated: boolean = true})\n *\n * Note: The weird argument signature is due to the fact that, for historical reasons,\n * the function also accepts separate arguments as as alternative to the options object.\n * This is deprecated due to ambiguity (y before x), and SHOULD NOT BE USED.\n */\n scrollResponderScrollTo: function scrollResponderScrollTo(x, y, animated) {\n if (typeof x === 'number') {\n console.warn('`scrollResponderScrollTo(x, y, animated)` is deprecated. Use `scrollResponderScrollTo({x: 5, y: 5, animated: true})` instead.');\n } else {\n var _ref = x || emptyObject;\n\n x = _ref.x;\n y = _ref.y;\n animated = _ref.animated;\n }\n\n var node = this.scrollResponderGetScrollableNode();\n var left = x || 0;\n var top = y || 0;\n\n if (typeof node.scroll === 'function') {\n node.scroll({\n top,\n left,\n behavior: !animated ? 'auto' : 'smooth'\n });\n } else {\n node.scrollLeft = left;\n node.scrollTop = top;\n }\n },\n\n /**\n * A helper function to zoom to a specific rect in the scrollview. The argument has the shape\n * {x: number; y: number; width: number; height: number; animated: boolean = true}\n *\n * @platform ios\n */\n scrollResponderZoomTo: function scrollResponderZoomTo(rect, animated) {\n if (Platform.OS !== 'ios') {\n invariant('zoomToRect is not implemented');\n }\n },\n\n /**\n * Displays the scroll indicators momentarily.\n */\n scrollResponderFlashScrollIndicators: function scrollResponderFlashScrollIndicators() {},\n\n /**\n * This method should be used as the callback to onFocus in a TextInputs'\n * parent view. Note that any module using this mixin needs to return\n * the parent view's ref in getScrollViewRef() in order to use this method.\n * @param {any} nodeHandle The TextInput node handle\n * @param {number} additionalOffset The scroll view's top \"contentInset\".\n * Default is 0.\n * @param {bool} preventNegativeScrolling Whether to allow pulling the content\n * down to make it meet the keyboard's top. Default is false.\n */\n scrollResponderScrollNativeHandleToKeyboard: function scrollResponderScrollNativeHandleToKeyboard(nodeHandle, additionalOffset, preventNegativeScrollOffset) {\n this.additionalScrollOffset = additionalOffset || 0;\n this.preventNegativeScrollOffset = !!preventNegativeScrollOffset;\n UIManager.measureLayout(nodeHandle, findNodeHandle(this.getInnerViewNode()), this.scrollResponderTextInputFocusError, this.scrollResponderInputMeasureAndScrollToKeyboard);\n },\n\n /**\n * The calculations performed here assume the scroll view takes up the entire\n * screen - even if has some content inset. We then measure the offsets of the\n * keyboard, and compensate both for the scroll view's \"contentInset\".\n *\n * @param {number} left Position of input w.r.t. table view.\n * @param {number} top Position of input w.r.t. table view.\n * @param {number} width Width of the text input.\n * @param {number} height Height of the text input.\n */\n scrollResponderInputMeasureAndScrollToKeyboard: function scrollResponderInputMeasureAndScrollToKeyboard(left, top, width, height) {\n var keyboardScreenY = Dimensions.get('window').height;\n\n if (this.keyboardWillOpenTo) {\n keyboardScreenY = this.keyboardWillOpenTo.endCoordinates.screenY;\n }\n\n var scrollOffsetY = top - keyboardScreenY + height + this.additionalScrollOffset; // By default, this can scroll with negative offset, pulling the content\n // down so that the target component's bottom meets the keyboard's top.\n // If requested otherwise, cap the offset at 0 minimum to avoid content\n // shifting down.\n\n if (this.preventNegativeScrollOffset) {\n scrollOffsetY = Math.max(0, scrollOffsetY);\n }\n\n this.scrollResponderScrollTo({\n x: 0,\n y: scrollOffsetY,\n animated: true\n });\n this.additionalOffset = 0;\n this.preventNegativeScrollOffset = false;\n },\n scrollResponderTextInputFocusError: function scrollResponderTextInputFocusError(e) {\n console.error('Error measuring text field: ', e);\n },\n\n /**\n * `componentWillMount` is the closest thing to a standard \"constructor\" for\n * React components.\n *\n * The `keyboardWillShow` is called before input focus.\n */\n UNSAFE_componentWillMount: function UNSAFE_componentWillMount() {\n this.keyboardWillOpenTo = null;\n this.additionalScrollOffset = 0; // this.addListenerOn(RCTDeviceEventEmitter, 'keyboardWillShow', this.scrollResponderKeyboardWillShow);\n // this.addListenerOn(RCTDeviceEventEmitter, 'keyboardWillHide', this.scrollResponderKeyboardWillHide);\n // this.addListenerOn(RCTDeviceEventEmitter, 'keyboardDidShow', this.scrollResponderKeyboardDidShow);\n // this.addListenerOn(RCTDeviceEventEmitter, 'keyboardDidHide', this.scrollResponderKeyboardDidHide);\n },\n\n /**\n * Warning, this may be called several times for a single keyboard opening.\n * It's best to store the information in this method and then take any action\n * at a later point (either in `keyboardDidShow` or other).\n *\n * Here's the order that events occur in:\n * - focus\n * - willShow {startCoordinates, endCoordinates} several times\n * - didShow several times\n * - blur\n * - willHide {startCoordinates, endCoordinates} several times\n * - didHide several times\n *\n * The `ScrollResponder` providesModule callbacks for each of these events.\n * Even though any user could have easily listened to keyboard events\n * themselves, using these `props` callbacks ensures that ordering of events\n * is consistent - and not dependent on the order that the keyboard events are\n * subscribed to. This matters when telling the scroll view to scroll to where\n * the keyboard is headed - the scroll responder better have been notified of\n * the keyboard destination before being instructed to scroll to where the\n * keyboard will be. Stick to the `ScrollResponder` callbacks, and everything\n * will work.\n *\n * WARNING: These callbacks will fire even if a keyboard is displayed in a\n * different navigation pane. Filter out the events to determine if they are\n * relevant to you. (For example, only if you receive these callbacks after\n * you had explicitly focused a node etc).\n */\n scrollResponderKeyboardWillShow: function scrollResponderKeyboardWillShow(e) {\n this.keyboardWillOpenTo = e;\n this.props.onKeyboardWillShow && this.props.onKeyboardWillShow(e);\n },\n scrollResponderKeyboardWillHide: function scrollResponderKeyboardWillHide(e) {\n this.keyboardWillOpenTo = null;\n this.props.onKeyboardWillHide && this.props.onKeyboardWillHide(e);\n },\n scrollResponderKeyboardDidShow: function scrollResponderKeyboardDidShow(e) {\n // TODO(7693961): The event for DidShow is not available on iOS yet.\n // Use the one from WillShow and do not assign.\n if (e) {\n this.keyboardWillOpenTo = e;\n }\n\n this.props.onKeyboardDidShow && this.props.onKeyboardDidShow(e);\n },\n scrollResponderKeyboardDidHide: function scrollResponderKeyboardDidHide(e) {\n this.keyboardWillOpenTo = null;\n this.props.onKeyboardDidHide && this.props.onKeyboardDidHide(e);\n }\n};\nvar ScrollResponder = {\n Mixin: ScrollResponderMixin\n};\nexport default ScrollResponder;","/**\n * Copyright (c) Nicolas Gallagher.\n * Copyright (c) Meta Platforms, Inc. and 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 */\nimport UIManager from '../../exports/UIManager';\n/**\n * This class is responsible for coordinating the \"focused\"\n * state for TextInputs. All calls relating to the keyboard\n * should be funneled through here\n */\n\nvar TextInputState = {\n /**\n * Internal state\n */\n _currentlyFocusedNode: null,\n\n /**\n * Returns the ID of the currently focused text field, if one exists\n * If no text field is focused it returns null\n */\n currentlyFocusedField() {\n if (document.activeElement !== this._currentlyFocusedNode) {\n this._currentlyFocusedNode = null;\n }\n\n return this._currentlyFocusedNode;\n },\n\n /**\n * @param {Object} TextInputID id of the text field to focus\n * Focuses the specified text field\n * noop if the text field was already focused\n */\n focusTextInput(textFieldNode) {\n if (textFieldNode !== null) {\n this._currentlyFocusedNode = textFieldNode;\n\n if (document.activeElement !== textFieldNode) {\n UIManager.focus(textFieldNode);\n }\n }\n },\n\n /**\n * @param {Object} textFieldNode id of the text field to focus\n * Unfocuses the specified text field\n * noop if it wasn't focused\n */\n blurTextInput(textFieldNode) {\n if (textFieldNode !== null) {\n this._currentlyFocusedNode = null;\n\n if (document.activeElement === textFieldNode) {\n UIManager.blur(textFieldNode);\n }\n }\n }\n\n};\nexport default TextInputState;","/**\n * Copyright (c) Meta Platforms, Inc. and 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 */\nimport View from '../../exports/View';\nimport React from 'react';\n/**\n * Common implementation for a simple stubbed view.\n */\n\nclass UnimplementedView extends React.Component {\n setNativeProps() {// Do nothing.\n }\n\n render() {\n return /*#__PURE__*/React.createElement(View, {\n style: [unimplementedViewStyles, this.props.style]\n }, this.props.children);\n }\n\n}\n\nvar unimplementedViewStyles = process.env.NODE_ENV !== 'production' ? {\n alignSelf: 'flex-start',\n borderColor: 'red',\n borderWidth: 1\n} : {};\nexport default UnimplementedView;","/**\n * Copyright (c) Meta Platforms, Inc. and 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 */\nvar canUseDOM = !!(typeof window !== 'undefined' && window.document && window.document.createElement);\nexport default canUseDOM;","import _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/objectWithoutPropertiesLoose\";\nvar _excluded = [\"accessibilityActiveDescendant\", \"accessibilityAtomic\", \"accessibilityAutoComplete\", \"accessibilityBusy\", \"accessibilityChecked\", \"accessibilityColumnCount\", \"accessibilityColumnIndex\", \"accessibilityColumnSpan\", \"accessibilityControls\", \"accessibilityCurrent\", \"accessibilityDescribedBy\", \"accessibilityDetails\", \"accessibilityDisabled\", \"accessibilityErrorMessage\", \"accessibilityExpanded\", \"accessibilityFlowTo\", \"accessibilityHasPopup\", \"accessibilityHidden\", \"accessibilityInvalid\", \"accessibilityKeyShortcuts\", \"accessibilityLabel\", \"accessibilityLabelledBy\", \"accessibilityLevel\", \"accessibilityLiveRegion\", \"accessibilityModal\", \"accessibilityMultiline\", \"accessibilityMultiSelectable\", \"accessibilityOrientation\", \"accessibilityOwns\", \"accessibilityPlaceholder\", \"accessibilityPosInSet\", \"accessibilityPressed\", \"accessibilityReadOnly\", \"accessibilityRequired\", \"accessibilityRole\", \"accessibilityRoleDescription\", \"accessibilityRowCount\", \"accessibilityRowIndex\", \"accessibilityRowSpan\", \"accessibilitySelected\", \"accessibilitySetSize\", \"accessibilitySort\", \"accessibilityValueMax\", \"accessibilityValueMin\", \"accessibilityValueNow\", \"accessibilityValueText\", \"dataSet\", \"focusable\", \"nativeID\", \"pointerEvents\", \"style\", \"testID\"];\n\n/**\n * Copyright (c) Nicolas Gallagher.\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 */\nimport AccessibilityUtil from '../AccessibilityUtil';\nimport StyleSheet from '../../exports/StyleSheet';\nvar emptyObject = {};\nvar hasOwnProperty = Object.prototype.hasOwnProperty;\nvar isArray = Array.isArray;\nvar uppercasePattern = /[A-Z]/g;\n\nfunction toHyphenLower(match) {\n return '-' + match.toLowerCase();\n}\n\nfunction hyphenateString(str) {\n return str.replace(uppercasePattern, toHyphenLower);\n}\n\nfunction processIDRefList(idRefList) {\n return isArray(idRefList) ? idRefList.join(' ') : idRefList;\n}\n\nvar pointerEventsStyles = StyleSheet.create({\n auto: {\n pointerEvents: 'auto'\n },\n 'box-none': {\n pointerEvents: 'box-none'\n },\n 'box-only': {\n pointerEvents: 'box-only'\n },\n none: {\n pointerEvents: 'none'\n }\n});\n\nvar createDOMProps = (elementType, props, options) => {\n if (!props) {\n props = emptyObject;\n }\n\n var _props = props,\n accessibilityActiveDescendant = _props.accessibilityActiveDescendant,\n accessibilityAtomic = _props.accessibilityAtomic,\n accessibilityAutoComplete = _props.accessibilityAutoComplete,\n accessibilityBusy = _props.accessibilityBusy,\n accessibilityChecked = _props.accessibilityChecked,\n accessibilityColumnCount = _props.accessibilityColumnCount,\n accessibilityColumnIndex = _props.accessibilityColumnIndex,\n accessibilityColumnSpan = _props.accessibilityColumnSpan,\n accessibilityControls = _props.accessibilityControls,\n accessibilityCurrent = _props.accessibilityCurrent,\n accessibilityDescribedBy = _props.accessibilityDescribedBy,\n accessibilityDetails = _props.accessibilityDetails,\n accessibilityDisabled = _props.accessibilityDisabled,\n accessibilityErrorMessage = _props.accessibilityErrorMessage,\n accessibilityExpanded = _props.accessibilityExpanded,\n accessibilityFlowTo = _props.accessibilityFlowTo,\n accessibilityHasPopup = _props.accessibilityHasPopup,\n accessibilityHidden = _props.accessibilityHidden,\n accessibilityInvalid = _props.accessibilityInvalid,\n accessibilityKeyShortcuts = _props.accessibilityKeyShortcuts,\n accessibilityLabel = _props.accessibilityLabel,\n accessibilityLabelledBy = _props.accessibilityLabelledBy,\n accessibilityLevel = _props.accessibilityLevel,\n accessibilityLiveRegion = _props.accessibilityLiveRegion,\n accessibilityModal = _props.accessibilityModal,\n accessibilityMultiline = _props.accessibilityMultiline,\n accessibilityMultiSelectable = _props.accessibilityMultiSelectable,\n accessibilityOrientation = _props.accessibilityOrientation,\n accessibilityOwns = _props.accessibilityOwns,\n accessibilityPlaceholder = _props.accessibilityPlaceholder,\n accessibilityPosInSet = _props.accessibilityPosInSet,\n accessibilityPressed = _props.accessibilityPressed,\n accessibilityReadOnly = _props.accessibilityReadOnly,\n accessibilityRequired = _props.accessibilityRequired,\n accessibilityRole = _props.accessibilityRole,\n accessibilityRoleDescription = _props.accessibilityRoleDescription,\n accessibilityRowCount = _props.accessibilityRowCount,\n accessibilityRowIndex = _props.accessibilityRowIndex,\n accessibilityRowSpan = _props.accessibilityRowSpan,\n accessibilitySelected = _props.accessibilitySelected,\n accessibilitySetSize = _props.accessibilitySetSize,\n accessibilitySort = _props.accessibilitySort,\n accessibilityValueMax = _props.accessibilityValueMax,\n accessibilityValueMin = _props.accessibilityValueMin,\n accessibilityValueNow = _props.accessibilityValueNow,\n accessibilityValueText = _props.accessibilityValueText,\n dataSet = _props.dataSet,\n focusable = _props.focusable,\n nativeID = _props.nativeID,\n pointerEvents = _props.pointerEvents,\n style = _props.style,\n testID = _props.testID,\n domProps = _objectWithoutPropertiesLoose(_props, _excluded);\n\n var disabled = accessibilityDisabled;\n var role = AccessibilityUtil.propsToAriaRole(props); // ACCESSIBILITY\n\n if (accessibilityActiveDescendant != null) {\n domProps['aria-activedescendant'] = accessibilityActiveDescendant;\n }\n\n if (accessibilityAtomic != null) {\n domProps['aria-atomic'] = accessibilityAtomic;\n }\n\n if (accessibilityAutoComplete != null) {\n domProps['aria-autocomplete'] = accessibilityAutoComplete;\n }\n\n if (accessibilityBusy != null) {\n domProps['aria-busy'] = accessibilityBusy;\n }\n\n if (accessibilityChecked != null) {\n domProps['aria-checked'] = accessibilityChecked;\n }\n\n if (accessibilityColumnCount != null) {\n domProps['aria-colcount'] = accessibilityColumnCount;\n }\n\n if (accessibilityColumnIndex != null) {\n domProps['aria-colindex'] = accessibilityColumnIndex;\n }\n\n if (accessibilityColumnSpan != null) {\n domProps['aria-colspan'] = accessibilityColumnSpan;\n }\n\n if (accessibilityControls != null) {\n domProps['aria-controls'] = processIDRefList(accessibilityControls);\n }\n\n if (accessibilityCurrent != null) {\n domProps['aria-current'] = accessibilityCurrent;\n }\n\n if (accessibilityDescribedBy != null) {\n domProps['aria-describedby'] = processIDRefList(accessibilityDescribedBy);\n }\n\n if (accessibilityDetails != null) {\n domProps['aria-details'] = accessibilityDetails;\n }\n\n if (disabled === true) {\n domProps['aria-disabled'] = true; // Enhance with native semantics\n\n if (elementType === 'button' || elementType === 'form' || elementType === 'input' || elementType === 'select' || elementType === 'textarea') {\n domProps.disabled = true;\n }\n }\n\n if (accessibilityErrorMessage != null) {\n domProps['aria-errormessage'] = accessibilityErrorMessage;\n }\n\n if (accessibilityExpanded != null) {\n domProps['aria-expanded'] = accessibilityExpanded;\n }\n\n if (accessibilityFlowTo != null) {\n domProps['aria-flowto'] = processIDRefList(accessibilityFlowTo);\n }\n\n if (accessibilityHasPopup != null) {\n domProps['aria-haspopup'] = accessibilityHasPopup;\n }\n\n if (accessibilityHidden === true) {\n domProps['aria-hidden'] = accessibilityHidden;\n }\n\n if (accessibilityInvalid != null) {\n domProps['aria-invalid'] = accessibilityInvalid;\n }\n\n if (accessibilityKeyShortcuts != null && Array.isArray(accessibilityKeyShortcuts)) {\n domProps['aria-keyshortcuts'] = accessibilityKeyShortcuts.join(' ');\n }\n\n if (accessibilityLabel != null) {\n domProps['aria-label'] = accessibilityLabel;\n }\n\n if (accessibilityLabelledBy != null) {\n domProps['aria-labelledby'] = processIDRefList(accessibilityLabelledBy);\n }\n\n if (accessibilityLevel != null) {\n domProps['aria-level'] = accessibilityLevel;\n }\n\n if (accessibilityLiveRegion != null) {\n domProps['aria-live'] = accessibilityLiveRegion === 'none' ? 'off' : accessibilityLiveRegion;\n }\n\n if (accessibilityModal != null) {\n domProps['aria-modal'] = accessibilityModal;\n }\n\n if (accessibilityMultiline != null) {\n domProps['aria-multiline'] = accessibilityMultiline;\n }\n\n if (accessibilityMultiSelectable != null) {\n domProps['aria-multiselectable'] = accessibilityMultiSelectable;\n }\n\n if (accessibilityOrientation != null) {\n domProps['aria-orientation'] = accessibilityOrientation;\n }\n\n if (accessibilityOwns != null) {\n domProps['aria-owns'] = processIDRefList(accessibilityOwns);\n }\n\n if (accessibilityPlaceholder != null) {\n domProps['aria-placeholder'] = accessibilityPlaceholder;\n }\n\n if (accessibilityPosInSet != null) {\n domProps['aria-posinset'] = accessibilityPosInSet;\n }\n\n if (accessibilityPressed != null) {\n domProps['aria-pressed'] = accessibilityPressed;\n }\n\n if (accessibilityReadOnly != null) {\n domProps['aria-readonly'] = accessibilityReadOnly; // Enhance with native semantics\n\n if (elementType === 'input' || elementType === 'select' || elementType === 'textarea') {\n domProps.readOnly = true;\n }\n }\n\n if (accessibilityRequired != null) {\n domProps['aria-required'] = accessibilityRequired; // Enhance with native semantics\n\n if (elementType === 'input' || elementType === 'select' || elementType === 'textarea') {\n domProps.required = true;\n }\n }\n\n if (role != null) {\n // 'presentation' synonym has wider browser support\n domProps['role'] = role === 'none' ? 'presentation' : role;\n }\n\n if (accessibilityRoleDescription != null) {\n domProps['aria-roledescription'] = accessibilityRoleDescription;\n }\n\n if (accessibilityRowCount != null) {\n domProps['aria-rowcount'] = accessibilityRowCount;\n }\n\n if (accessibilityRowIndex != null) {\n domProps['aria-rowindex'] = accessibilityRowIndex;\n }\n\n if (accessibilityRowSpan != null) {\n domProps['aria-rowspan'] = accessibilityRowSpan;\n }\n\n if (accessibilitySelected != null) {\n domProps['aria-selected'] = accessibilitySelected;\n }\n\n if (accessibilitySetSize != null) {\n domProps['aria-setsize'] = accessibilitySetSize;\n }\n\n if (accessibilitySort != null) {\n domProps['aria-sort'] = accessibilitySort;\n }\n\n if (accessibilityValueMax != null) {\n domProps['aria-valuemax'] = accessibilityValueMax;\n }\n\n if (accessibilityValueMin != null) {\n domProps['aria-valuemin'] = accessibilityValueMin;\n }\n\n if (accessibilityValueNow != null) {\n domProps['aria-valuenow'] = accessibilityValueNow;\n }\n\n if (accessibilityValueText != null) {\n domProps['aria-valuetext'] = accessibilityValueText;\n } // \"dataSet\" replaced with \"data-*\"\n\n\n if (dataSet != null) {\n for (var dataProp in dataSet) {\n if (hasOwnProperty.call(dataSet, dataProp)) {\n var dataName = hyphenateString(dataProp);\n var dataValue = dataSet[dataProp];\n\n if (dataValue != null) {\n domProps[\"data-\" + dataName] = dataValue;\n }\n }\n }\n } // FOCUS\n // \"focusable\" indicates that an element may be a keyboard tab-stop.\n\n\n if (focusable === false) {\n domProps.tabIndex = '-1';\n }\n\n if ( // These native elements are keyboard focusable by default\n elementType === 'a' || elementType === 'button' || elementType === 'input' || elementType === 'select' || elementType === 'textarea') {\n if (focusable === false || accessibilityDisabled === true) {\n domProps.tabIndex = '-1';\n }\n } else if ( // These roles are made keyboard focusable by default\n role === 'button' || role === 'checkbox' || role === 'link' || role === 'radio' || role === 'textbox' || role === 'switch') {\n if (focusable !== false) {\n domProps.tabIndex = '0';\n }\n } else {\n // Everything else must explicitly set the prop\n if (focusable === true) {\n domProps.tabIndex = '0';\n }\n } // Resolve styles\n\n\n var _StyleSheet = StyleSheet([style, pointerEvents && pointerEventsStyles[pointerEvents]], {\n writingDirection: options ? options.writingDirection : 'ltr'\n }),\n className = _StyleSheet[0],\n inlineStyle = _StyleSheet[1];\n\n if (className) {\n domProps.className = className;\n }\n\n if (inlineStyle) {\n domProps.style = inlineStyle;\n } // OTHER\n // Native element ID\n\n\n if (nativeID != null) {\n domProps.id = nativeID;\n } // Automated test IDs\n\n\n if (testID != null) {\n domProps['data-testid'] = testID;\n }\n\n return domProps;\n};\n\nexport default createDOMProps;","/**\n * Copyright (c) Meta Platforms, Inc. and 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 */\n'use strict';\n\nimport canUseDOM from '../canUseDom';\n\nvar emptyFunction = () => {};\n\nfunction supportsPassiveEvents() {\n var supported = false; // Check if browser supports event with passive listeners\n // https://developer.mozilla.org/en-US/docs/Web/API/EventTarget/addEventListener#Safely_detecting_option_support\n\n if (canUseDOM) {\n try {\n var options = {};\n Object.defineProperty(options, 'passive', {\n get() {\n supported = true;\n return false;\n }\n\n });\n window.addEventListener('test', null, options);\n window.removeEventListener('test', null, options);\n } catch (e) {}\n }\n\n return supported;\n}\n\nvar canUsePassiveEvents = supportsPassiveEvents();\n\nfunction getOptions(options) {\n if (options == null) {\n return false;\n }\n\n return canUsePassiveEvents ? options : Boolean(options.capture);\n}\n/**\n * Shim generic API compatibility with ReactDOM's synthetic events, without needing the\n * large amount of code ReactDOM uses to do this. Ideally we wouldn't use a synthetic\n * event wrapper at all.\n */\n\n\nfunction isPropagationStopped() {\n return this.cancelBubble;\n}\n\nfunction isDefaultPrevented() {\n return this.defaultPrevented;\n}\n\nfunction normalizeEvent(event) {\n event.nativeEvent = event;\n event.persist = emptyFunction;\n event.isDefaultPrevented = isDefaultPrevented;\n event.isPropagationStopped = isPropagationStopped;\n return event;\n}\n/**\n *\n */\n\n\nexport default function createEventHandle(type, options) {\n var opts = getOptions(options);\n return function (target, listener) {\n if (target == null || typeof target.addEventListener !== 'function') {\n throw new Error('createEventHandle: called on an invalid target.');\n }\n\n var element = target;\n\n if (listener != null) {\n var compatListener = e => listener(normalizeEvent(e));\n\n element.addEventListener(type, compatListener, opts);\n return function removeListener() {\n if (element != null) {\n element.removeEventListener(type, compatListener, opts);\n }\n };\n } else {\n return emptyFunction;\n }\n };\n}","/**\n * Copyright (c) Nicolas Gallagher.\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 */\nimport TextInputState from '../TextInputState';\n\nvar dismissKeyboard = () => {\n TextInputState.blurTextInput(TextInputState.currentlyFocusedField());\n};\n\nexport default dismissKeyboard;","/**\n * Copyright (c) Meta Platforms, Inc. and 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 */\nexport var defaultProps = {\n children: true,\n dataSet: true,\n nativeID: true,\n ref: true,\n suppressHydrationWarning: true,\n testID: true\n};\nexport var accessibilityProps = {\n accessibilityActiveDescendant: true,\n accessibilityAtomic: true,\n accessibilityAutoComplete: true,\n accessibilityBusy: true,\n accessibilityChecked: true,\n accessibilityColumnCount: true,\n accessibilityColumnIndex: true,\n accessibilityColumnSpan: true,\n accessibilityControls: true,\n accessibilityCurrent: true,\n accessibilityDescribedBy: true,\n accessibilityDetails: true,\n accessibilityDisabled: true,\n accessibilityErrorMessage: true,\n accessibilityExpanded: true,\n accessibilityFlowTo: true,\n accessibilityHasPopup: true,\n accessibilityHidden: true,\n accessibilityInvalid: true,\n accessibilityKeyShortcuts: true,\n accessibilityLabel: true,\n accessibilityLabelledBy: true,\n accessibilityLevel: true,\n accessibilityLiveRegion: true,\n accessibilityModal: true,\n accessibilityMultiline: true,\n accessibilityMultiSelectable: true,\n accessibilityOrientation: true,\n accessibilityOwns: true,\n accessibilityPlaceholder: true,\n accessibilityPosInSet: true,\n accessibilityPressed: true,\n accessibilityReadOnly: true,\n accessibilityRequired: true,\n accessibilityRole: true,\n accessibilityRoleDescription: true,\n accessibilityRowCount: true,\n accessibilityRowIndex: true,\n accessibilityRowSpan: true,\n accessibilitySelected: true,\n accessibilitySetSize: true,\n accessibilitySort: true,\n accessibilityValueMax: true,\n accessibilityValueMin: true,\n accessibilityValueNow: true,\n accessibilityValueText: true,\n dir: true,\n focusable: true\n};\nexport var clickProps = {\n onClick: true,\n onClickCapture: true,\n onContextMenu: true\n};\nexport var focusProps = {\n onBlur: true,\n onFocus: true\n};\nexport var keyboardProps = {\n onKeyDown: true,\n onKeyDownCapture: true,\n onKeyUp: true,\n onKeyUpCapture: true\n};\nexport var mouseProps = {\n onMouseDown: true,\n onMouseEnter: true,\n onMouseLeave: true,\n onMouseMove: true,\n onMouseOver: true,\n onMouseOut: true,\n onMouseUp: true\n};\nexport var touchProps = {\n onTouchCancel: true,\n onTouchCancelCapture: true,\n onTouchEnd: true,\n onTouchEndCapture: true,\n onTouchMove: true,\n onTouchMoveCapture: true,\n onTouchStart: true,\n onTouchStartCapture: true\n};\nexport var styleProps = {\n classList: true,\n style: true\n};","/**\n * Copyright (c) Nicolas Gallagher.\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 */\nvar getBoundingClientRect = node => {\n if (node != null) {\n var isElement = node.nodeType === 1;\n /* Node.ELEMENT_NODE */\n\n if (isElement && typeof node.getBoundingClientRect === 'function') {\n return node.getBoundingClientRect();\n }\n }\n};\n\nexport default getBoundingClientRect;","/**\n * Copyright (c) Nicolas Gallagher\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 */\nexport default function isSelectionValid() {\n var selection = window.getSelection();\n var string = selection.toString();\n var anchorNode = selection.anchorNode;\n var focusNode = selection.focusNode;\n var isTextNode = anchorNode && anchorNode.nodeType === window.Node.TEXT_NODE || focusNode && focusNode.nodeType === window.Node.TEXT_NODE;\n return string.length >= 1 && string !== '\\n' && isTextNode;\n}","/**\n * Copyright (c) Nicolas Gallagher.\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 */\nvar isWebColor = color => color === 'currentcolor' || color === 'currentColor' || color === 'inherit' || color.indexOf('var(') === 0;\n\nexport default isWebColor;","/**\n * Copyright (c) Meta Platforms, Inc. and 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 */\nimport * as React from 'react';\nexport default function mergeRefs() {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return function forwardRef(node) {\n args.forEach(ref => {\n if (ref == null) {\n return;\n }\n\n if (typeof ref === 'function') {\n ref(node);\n return;\n }\n\n if (typeof ref === 'object') {\n ref.current = node;\n return;\n }\n\n console.error(\"mergeRefs cannot handle Refs of type boolean, number or string, received ref \" + String(ref));\n });\n };\n}","/**\n * Copyright (c) Nicolas Gallagher.\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 */\nimport createEventHandle from '../createEventHandle';\nimport canUseDOM from '../canUseDom';\n\nvar supportsPointerEvent = () => !!(typeof window !== 'undefined' && window.PointerEvent != null);\n\nvar activeModality = 'keyboard';\nvar modality = 'keyboard';\nvar previousModality;\nvar previousActiveModality;\nvar isEmulatingMouseEvents = false;\nvar listeners = new Set();\nvar KEYBOARD = 'keyboard';\nvar MOUSE = 'mouse';\nvar TOUCH = 'touch';\nvar BLUR = 'blur';\nvar CONTEXTMENU = 'contextmenu';\nvar FOCUS = 'focus';\nvar KEYDOWN = 'keydown';\nvar MOUSEDOWN = 'mousedown';\nvar MOUSEMOVE = 'mousemove';\nvar MOUSEUP = 'mouseup';\nvar POINTERDOWN = 'pointerdown';\nvar POINTERMOVE = 'pointermove';\nvar SCROLL = 'scroll';\nvar SELECTIONCHANGE = 'selectionchange';\nvar TOUCHCANCEL = 'touchcancel';\nvar TOUCHMOVE = 'touchmove';\nvar TOUCHSTART = 'touchstart';\nvar VISIBILITYCHANGE = 'visibilitychange';\nvar bubbleOptions = {\n passive: true\n};\nvar captureOptions = {\n capture: true,\n passive: true\n}; // Window events\n\nvar addBlurListener = createEventHandle(BLUR, bubbleOptions);\nvar addFocusListener = createEventHandle(FOCUS, bubbleOptions); // Must be capture phase because 'stopPropagation' might prevent these\n// events bubbling to the document.\n\nvar addVisibilityChangeListener = createEventHandle(VISIBILITYCHANGE, captureOptions);\nvar addKeyDownListener = createEventHandle(KEYDOWN, captureOptions);\nvar addPointerDownListener = createEventHandle(POINTERDOWN, captureOptions);\nvar addPointerMoveListener = createEventHandle(POINTERMOVE, captureOptions); // Fallback events\n\nvar addContextMenuListener = createEventHandle(CONTEXTMENU, captureOptions);\nvar addMouseDownListener = createEventHandle(MOUSEDOWN, captureOptions);\nvar addMouseMoveListener = createEventHandle(MOUSEMOVE, captureOptions);\nvar addMouseUpListener = createEventHandle(MOUSEUP, captureOptions);\nvar addScrollListener = createEventHandle(SCROLL, captureOptions);\nvar addSelectiomChangeListener = createEventHandle(SELECTIONCHANGE, captureOptions);\nvar addTouchCancelListener = createEventHandle(TOUCHCANCEL, captureOptions);\nvar addTouchMoveListener = createEventHandle(TOUCHMOVE, captureOptions);\nvar addTouchStartListener = createEventHandle(TOUCHSTART, captureOptions);\n\nfunction restoreModality() {\n if (previousModality != null || previousActiveModality != null) {\n if (previousModality != null) {\n modality = previousModality;\n previousModality = null;\n }\n\n if (previousActiveModality != null) {\n activeModality = previousActiveModality;\n previousActiveModality = null;\n }\n\n callListeners();\n }\n}\n\nfunction onBlurWindow() {\n previousModality = modality;\n previousActiveModality = activeModality;\n activeModality = KEYBOARD;\n modality = KEYBOARD;\n callListeners(); // for fallback events\n\n isEmulatingMouseEvents = false;\n}\n\nfunction onFocusWindow() {\n restoreModality();\n}\n\nfunction onKeyDown(event) {\n if (event.metaKey || event.altKey || event.ctrlKey) {\n return;\n }\n\n if (modality !== KEYBOARD) {\n modality = KEYBOARD;\n activeModality = KEYBOARD;\n callListeners();\n }\n}\n\nfunction onVisibilityChange() {\n if (document.visibilityState !== 'hidden') {\n restoreModality();\n }\n}\n\nfunction onPointerish(event) {\n var eventType = event.type;\n\n if (supportsPointerEvent()) {\n if (eventType === POINTERDOWN) {\n if (activeModality !== event.pointerType) {\n modality = event.pointerType;\n activeModality = event.pointerType;\n callListeners();\n }\n\n return;\n }\n\n if (eventType === POINTERMOVE) {\n if (modality !== event.pointerType) {\n modality = event.pointerType;\n callListeners();\n }\n\n return;\n }\n } // Fallback for non-PointerEvent environment\n else {\n if (!isEmulatingMouseEvents) {\n if (eventType === MOUSEDOWN) {\n if (activeModality !== MOUSE) {\n modality = MOUSE;\n activeModality = MOUSE;\n callListeners();\n }\n }\n\n if (eventType === MOUSEMOVE) {\n if (modality !== MOUSE) {\n modality = MOUSE;\n callListeners();\n }\n }\n } // Flag when browser may produce emulated events\n\n\n if (eventType === TOUCHSTART) {\n isEmulatingMouseEvents = true;\n\n if (event.touches && event.touches.length > 1) {\n isEmulatingMouseEvents = false;\n }\n\n if (activeModality !== TOUCH) {\n modality = TOUCH;\n activeModality = TOUCH;\n callListeners();\n }\n\n return;\n } // Remove flag after emulated events are finished or cancelled, and if an\n // event occurs that cuts short a touch event sequence.\n\n\n if (eventType === CONTEXTMENU || eventType === MOUSEUP || eventType === SELECTIONCHANGE || eventType === SCROLL || eventType === TOUCHCANCEL || eventType === TOUCHMOVE) {\n isEmulatingMouseEvents = false;\n }\n }\n}\n\nif (canUseDOM) {\n addBlurListener(window, onBlurWindow);\n addFocusListener(window, onFocusWindow);\n addKeyDownListener(document, onKeyDown);\n addPointerDownListener(document, onPointerish);\n addPointerMoveListener(document, onPointerish);\n addVisibilityChangeListener(document, onVisibilityChange); // fallbacks\n\n addContextMenuListener(document, onPointerish);\n addMouseDownListener(document, onPointerish);\n addMouseMoveListener(document, onPointerish);\n addMouseUpListener(document, onPointerish);\n addTouchCancelListener(document, onPointerish);\n addTouchMoveListener(document, onPointerish);\n addTouchStartListener(document, onPointerish);\n addSelectiomChangeListener(document, onPointerish);\n addScrollListener(document, onPointerish);\n}\n\nfunction callListeners() {\n var value = {\n activeModality,\n modality\n };\n listeners.forEach(listener => {\n listener(value);\n });\n}\n\nexport function getActiveModality() {\n return activeModality;\n}\nexport function getModality() {\n return modality;\n}\nexport function addModalityListener(listener) {\n listeners.add(listener);\n return () => {\n listeners.delete(listener);\n };\n}\nexport function testOnly_resetActiveModality() {\n isEmulatingMouseEvents = false;\n activeModality = KEYBOARD;\n modality = KEYBOARD;\n}","/**\n * Copyright (c) Nicolas Gallagher.\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 */\nvar CSS_UNIT_RE = /^[+-]?\\d*(?:\\.\\d+)?(?:[Ee][+-]?\\d+)?(%|\\w*)/;\n\nvar getUnit = str => str.match(CSS_UNIT_RE)[1];\n\nvar isNumeric = n => {\n return !isNaN(parseFloat(n)) && isFinite(n);\n};\n\nvar multiplyStyleLengthValue = (value, multiple) => {\n if (typeof value === 'string') {\n var number = parseFloat(value) * multiple;\n var unit = getUnit(value);\n return \"\" + number + unit;\n } else if (isNumeric(value)) {\n return value * multiple;\n }\n};\n\nexport default multiplyStyleLengthValue;","/**\n * Copyright (c) Nicolas Gallagher.\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 */\nexport default function pick(obj, list) {\n var nextObj = {};\n\n for (var key in obj) {\n if (obj.hasOwnProperty(key)) {\n if (list[key] === true) {\n nextObj[key] = obj[key];\n }\n }\n }\n\n return nextObj;\n}","/**\n * Copyright (c) Nicolas Gallagher.\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 */\nimport createPrefixer from 'inline-style-prefixer/lib/createPrefixer';\nimport staticData from './static';\nvar prefixAll = createPrefixer(staticData);\nexport default prefixAll;","import backgroundClip from 'inline-style-prefixer/lib/plugins/backgroundClip';\nimport crossFade from 'inline-style-prefixer/lib/plugins/crossFade';\nimport cursor from 'inline-style-prefixer/lib/plugins/cursor';\nimport filter from 'inline-style-prefixer/lib/plugins/filter';\nimport imageSet from 'inline-style-prefixer/lib/plugins/imageSet';\nimport logical from 'inline-style-prefixer/lib/plugins/logical';\nimport position from 'inline-style-prefixer/lib/plugins/position';\nimport sizing from 'inline-style-prefixer/lib/plugins/sizing';\nimport transition from 'inline-style-prefixer/lib/plugins/transition';\nvar w = ['Webkit'];\nvar m = ['Moz'];\nvar wm = ['Webkit', 'Moz'];\nvar wms = ['Webkit', 'ms'];\nvar wmms = ['Webkit', 'Moz', 'ms'];\nexport default {\n plugins: [backgroundClip, crossFade, cursor, filter, imageSet, logical, position, sizing, transition],\n prefixMap: {\n appearance: wmms,\n userSelect: wm,\n textEmphasisPosition: wms,\n textEmphasis: wms,\n textEmphasisStyle: wms,\n textEmphasisColor: wms,\n boxDecorationBreak: wms,\n clipPath: w,\n maskImage: wms,\n maskMode: wms,\n maskRepeat: wms,\n maskPosition: wms,\n maskClip: wms,\n maskOrigin: wms,\n maskSize: wms,\n maskComposite: wms,\n mask: wms,\n maskBorderSource: wms,\n maskBorderMode: wms,\n maskBorderSlice: wms,\n maskBorderWidth: wms,\n maskBorderOutset: wms,\n maskBorderRepeat: wms,\n maskBorder: wms,\n maskType: wms,\n textDecorationStyle: w,\n textDecorationSkip: w,\n textDecorationLine: w,\n textDecorationColor: w,\n filter: w,\n breakAfter: w,\n breakBefore: w,\n breakInside: w,\n columnCount: w,\n columnFill: w,\n columnGap: w,\n columnRule: w,\n columnRuleColor: w,\n columnRuleStyle: w,\n columnRuleWidth: w,\n columns: w,\n columnSpan: w,\n columnWidth: w,\n backdropFilter: w,\n hyphens: w,\n flowInto: w,\n flowFrom: w,\n regionFragment: w,\n textOrientation: w,\n tabSize: m,\n fontKerning: w,\n textSizeAdjust: w\n }\n};","/**\n * Copyright (c) Nicolas Gallagher.\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 */\nimport canUseDOM from '../canUseDom';\n\nvar _requestIdleCallback = function _requestIdleCallback(cb, options) {\n return setTimeout(() => {\n var start = Date.now();\n cb({\n didTimeout: false,\n\n timeRemaining() {\n return Math.max(0, 50 - (Date.now() - start));\n }\n\n });\n }, 1);\n};\n\nvar _cancelIdleCallback = function _cancelIdleCallback(id) {\n clearTimeout(id);\n};\n\nvar isSupported = canUseDOM && typeof window.requestIdleCallback !== 'undefined';\nvar requestIdleCallback = isSupported ? window.requestIdleCallback : _requestIdleCallback;\nvar cancelIdleCallback = isSupported ? window.cancelIdleCallback : _cancelIdleCallback;\nexport default requestIdleCallback;\nexport { cancelIdleCallback };","/* eslint-disable */\n\n/**\n * Copyright (c) Meta Platforms, Inc. and 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 * From React 16.0.0\n * \n */\nimport isUnitlessNumber from '../unitlessNumbers';\n/**\n * Convert a value into the proper css writable value. The style name `name`\n * should be logical (no hyphens), as specified\n * in `CSSProperty.isUnitlessNumber`.\n *\n * @param {string} name CSS property name such as `topMargin`.\n * @param {*} value CSS property value such as `10px`.\n * @return {string} Normalized style value with dimensions applied.\n */\n\nfunction dangerousStyleValue(name, value, isCustomProperty) {\n // Note that we've removed escapeTextForBrowser() calls here since the\n // whole string will be escaped when the attribute is injected into\n // the markup. If you provide unsafe user data here they can inject\n // arbitrary CSS which may be problematic (I couldn't repro this):\n // https://www.owasp.org/index.php/XSS_Filter_Evasion_Cheat_Sheet\n // http://www.thespanner.co.uk/2007/11/26/ultimate-xss-css-injection/\n // This is not an XSS hole but instead a potential CSS injection issue\n // which has lead to a greater discussion about how we're going to\n // trust URLs moving forward. See #2115901\n var isEmpty = value == null || typeof value === 'boolean' || value === '';\n\n if (isEmpty) {\n return '';\n }\n\n if (!isCustomProperty && typeof value === 'number' && value !== 0 && !(isUnitlessNumber.hasOwnProperty(name) && isUnitlessNumber[name])) {\n return value + 'px'; // Presumes implicit 'px' suffix for unitless numbers\n }\n\n return ('' + value).trim();\n}\n\nexport default dangerousStyleValue;","/* eslint-disable */\n\n/**\n * Copyright (c) Meta Platforms, Inc. and 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 * From React 16.3.0\n * \n */\nimport dangerousStyleValue from './dangerousStyleValue';\n/**\n * Sets the value for multiple styles on a node. If a value is specified as\n * '' (empty string), the corresponding style property will be unset.\n *\n * @param {DOMElement} node\n * @param {object} styles\n */\n\nfunction setValueForStyles(node, styles) {\n var style = node.style;\n\n for (var styleName in styles) {\n if (!styles.hasOwnProperty(styleName)) {\n continue;\n }\n\n var isCustomProperty = styleName.indexOf('--') === 0;\n var styleValue = dangerousStyleValue(styleName, styles[styleName], isCustomProperty);\n\n if (styleName === 'float') {\n styleName = 'cssFloat';\n }\n\n if (isCustomProperty) {\n style.setProperty(styleName, styleValue);\n } else {\n style[styleName] = styleValue;\n }\n }\n}\n\nexport default setValueForStyles;","/**\n * Copyright (c) Nicolas Gallagher.\n * Copyright (c) Meta Platforms, Inc. and 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 */\nvar unitlessNumbers = {\n animationIterationCount: true,\n aspectRatio: true,\n borderImageOutset: true,\n borderImageSlice: true,\n borderImageWidth: true,\n boxFlex: true,\n boxFlexGroup: true,\n boxOrdinalGroup: true,\n columnCount: true,\n flex: true,\n flexGrow: true,\n flexOrder: true,\n flexPositive: true,\n flexShrink: true,\n flexNegative: true,\n fontWeight: true,\n gridRow: true,\n gridRowEnd: true,\n gridRowGap: true,\n gridRowStart: true,\n gridColumn: true,\n gridColumnEnd: true,\n gridColumnGap: true,\n gridColumnStart: true,\n lineClamp: true,\n opacity: true,\n order: true,\n orphans: true,\n tabSize: true,\n widows: true,\n zIndex: true,\n zoom: true,\n // SVG-related\n fillOpacity: true,\n floodOpacity: true,\n stopOpacity: true,\n strokeDasharray: true,\n strokeDashoffset: true,\n strokeMiterlimit: true,\n strokeOpacity: true,\n strokeWidth: true,\n // transform types\n scale: true,\n scaleX: true,\n scaleY: true,\n scaleZ: true,\n // RN properties\n shadowOpacity: true\n};\n/**\n * Support style names that may come passed in prefixed by adding permutations\n * of vendor prefixes.\n */\n\nvar prefixes = ['ms', 'Moz', 'O', 'Webkit'];\n\nvar prefixKey = (prefix, key) => {\n return prefix + key.charAt(0).toUpperCase() + key.substring(1);\n};\n\nObject.keys(unitlessNumbers).forEach(prop => {\n prefixes.forEach(prefix => {\n unitlessNumbers[prefixKey(prefix, prop)] = unitlessNumbers[prop];\n });\n});\nexport default unitlessNumbers;","/**\n * Copyright (c) Nicolas Gallagher.\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 */\nimport useLayoutEffect from '../useLayoutEffect';\nimport UIManager from '../../exports/UIManager';\nimport canUseDOM from '../canUseDom';\nvar DOM_LAYOUT_HANDLER_NAME = '__reactLayoutHandler';\nvar didWarn = !canUseDOM;\nvar resizeObserver = null;\n\nfunction getResizeObserver() {\n if (canUseDOM && typeof window.ResizeObserver !== 'undefined') {\n if (resizeObserver == null) {\n resizeObserver = new window.ResizeObserver(function (entries) {\n entries.forEach(entry => {\n var node = entry.target;\n var onLayout = node[DOM_LAYOUT_HANDLER_NAME];\n\n if (typeof onLayout === 'function') {\n // We still need to measure the view because browsers don't yet provide\n // border-box dimensions in the entry\n UIManager.measure(node, (x, y, width, height, left, top) => {\n var event = {\n // $FlowFixMe\n nativeEvent: {\n layout: {\n x,\n y,\n width,\n height,\n left,\n top\n }\n },\n timeStamp: Date.now()\n };\n Object.defineProperty(event.nativeEvent, 'target', {\n enumerable: true,\n get: () => entry.target\n });\n onLayout(event);\n });\n }\n });\n });\n }\n } else if (!didWarn) {\n if (process.env.NODE_ENV !== 'production' && process.env.NODE_ENV !== 'test') {\n console.warn('onLayout relies on ResizeObserver which is not supported by your browser. ' + 'Please include a polyfill, e.g., https://github.com/que-etc/resize-observer-polyfill.');\n didWarn = true;\n }\n }\n\n return resizeObserver;\n}\n\nexport default function useElementLayout(ref, onLayout) {\n var observer = getResizeObserver();\n useLayoutEffect(() => {\n var node = ref.current;\n\n if (node != null) {\n node[DOM_LAYOUT_HANDLER_NAME] = onLayout;\n }\n }, [ref, onLayout]); // Observing is done in a separate effect to avoid this effect running\n // when 'onLayout' changes.\n\n useLayoutEffect(() => {\n var node = ref.current;\n\n if (node != null && observer != null) {\n if (typeof node[DOM_LAYOUT_HANDLER_NAME] === 'function') {\n observer.observe(node);\n } else {\n observer.unobserve(node);\n }\n }\n\n return () => {\n if (node != null && observer != null) {\n observer.unobserve(node);\n }\n };\n }, [ref, observer]);\n}","/**\n * Copyright (c) Meta Platforms, Inc. and 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 */\nimport createEventHandle from '../createEventHandle';\nimport useLayoutEffect from '../useLayoutEffect';\nimport useStable from '../useStable';\n\n/**\n * This can be used with any event type include custom events.\n *\n * const click = useEvent('click', options);\n * useEffect(() => {\n * click.setListener(target, onClick);\n * return () => click.clear();\n * }).\n */\nexport default function useEvent(event, options) {\n var targetListeners = useStable(() => new Map());\n var addListener = useStable(() => {\n var addEventListener = createEventHandle(event, options);\n return (target, callback) => {\n var removeTargetListener = targetListeners.get(target);\n\n if (removeTargetListener != null) {\n removeTargetListener();\n }\n\n if (callback == null) {\n targetListeners.delete(target);\n }\n\n var removeEventListener = addEventListener(target, callback);\n targetListeners.set(target, removeEventListener);\n return removeEventListener;\n };\n });\n useLayoutEffect(() => {\n return () => {\n targetListeners.forEach(removeListener => {\n removeListener();\n });\n targetListeners.clear();\n };\n }, [targetListeners]);\n return addListener;\n}","/**\n * Copyright (c) Meta Platforms, Inc. and 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 */\nimport { getModality } from '../modality';\nimport useEvent from '../useEvent';\nimport useLayoutEffect from '../useLayoutEffect';\n/**\n * Types\n */\n\n/**\n * Implementation\n */\nvar emptyObject = {};\nvar opts = {\n passive: true\n};\nvar lockEventType = 'react-gui:hover:lock';\nvar unlockEventType = 'react-gui:hover:unlock';\n\nvar supportsPointerEvent = () => !!(typeof window !== 'undefined' && window.PointerEvent != null);\n\nfunction dispatchCustomEvent(target, type, payload) {\n var event = document.createEvent('CustomEvent');\n\n var _ref = payload || emptyObject,\n _ref$bubbles = _ref.bubbles,\n bubbles = _ref$bubbles === void 0 ? true : _ref$bubbles,\n _ref$cancelable = _ref.cancelable,\n cancelable = _ref$cancelable === void 0 ? true : _ref$cancelable,\n detail = _ref.detail;\n\n event.initCustomEvent(type, bubbles, cancelable, detail);\n target.dispatchEvent(event);\n} // This accounts for the non-PointerEvent fallback events.\n\n\nfunction getPointerType(event) {\n var pointerType = event.pointerType;\n return pointerType != null ? pointerType : getModality();\n}\n\nexport default function useHover(targetRef, config) {\n var contain = config.contain,\n disabled = config.disabled,\n onHoverStart = config.onHoverStart,\n onHoverChange = config.onHoverChange,\n onHoverUpdate = config.onHoverUpdate,\n onHoverEnd = config.onHoverEnd;\n var canUsePE = supportsPointerEvent();\n var addMoveListener = useEvent(canUsePE ? 'pointermove' : 'mousemove', opts);\n var addEnterListener = useEvent(canUsePE ? 'pointerenter' : 'mouseenter', opts);\n var addLeaveListener = useEvent(canUsePE ? 'pointerleave' : 'mouseleave', opts); // These custom events are used to implement the \"contain\" prop.\n\n var addLockListener = useEvent(lockEventType, opts);\n var addUnlockListener = useEvent(unlockEventType, opts);\n useLayoutEffect(() => {\n var target = targetRef.current;\n\n if (target !== null) {\n /**\n * End the hover gesture\n */\n var hoverEnd = function hoverEnd(e) {\n if (onHoverEnd != null) {\n onHoverEnd(e);\n }\n\n if (onHoverChange != null) {\n onHoverChange(false);\n } // Remove the listeners once finished.\n\n\n addMoveListener(target, null);\n addLeaveListener(target, null);\n };\n /**\n * Leave element\n */\n\n\n var leaveListener = function leaveListener(e) {\n var target = targetRef.current;\n\n if (target != null && getPointerType(e) !== 'touch') {\n if (contain) {\n dispatchCustomEvent(target, unlockEventType);\n }\n\n hoverEnd(e);\n }\n };\n /**\n * Move within element\n */\n\n\n var moveListener = function moveListener(e) {\n if (getPointerType(e) !== 'touch') {\n if (onHoverUpdate != null) {\n // Not all browsers have these properties\n if (e.x == null) {\n e.x = e.clientX;\n }\n\n if (e.y == null) {\n e.y = e.clientY;\n }\n\n onHoverUpdate(e);\n }\n }\n };\n /**\n * Start the hover gesture\n */\n\n\n var hoverStart = function hoverStart(e) {\n if (onHoverStart != null) {\n onHoverStart(e);\n }\n\n if (onHoverChange != null) {\n onHoverChange(true);\n } // Set the listeners needed for the rest of the hover gesture.\n\n\n if (onHoverUpdate != null) {\n addMoveListener(target, !disabled ? moveListener : null);\n }\n\n addLeaveListener(target, !disabled ? leaveListener : null);\n };\n /**\n * Enter element\n */\n\n\n var enterListener = function enterListener(e) {\n var target = targetRef.current;\n\n if (target != null && getPointerType(e) !== 'touch') {\n if (contain) {\n dispatchCustomEvent(target, lockEventType);\n }\n\n hoverStart(e);\n\n var lockListener = function lockListener(lockEvent) {\n if (lockEvent.target !== target) {\n hoverEnd(e);\n }\n };\n\n var unlockListener = function unlockListener(lockEvent) {\n if (lockEvent.target !== target) {\n hoverStart(e);\n }\n };\n\n addLockListener(target, !disabled ? lockListener : null);\n addUnlockListener(target, !disabled ? unlockListener : null);\n }\n };\n\n addEnterListener(target, !disabled ? enterListener : null);\n }\n }, [addEnterListener, addMoveListener, addLeaveListener, addLockListener, addUnlockListener, contain, disabled, onHoverStart, onHoverChange, onHoverUpdate, onHoverEnd, targetRef]);\n}","/**\n * Copyright (c) Nicolas Gallagher.\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 * useLayoutEffect throws an error on the server. On the few occasions where is\n * problematic, use this hook.\n *\n * \n */\nimport { useEffect, useLayoutEffect } from 'react';\nimport canUseDOM from '../canUseDom';\nvar useLayoutEffectImpl = canUseDOM ? useLayoutEffect : useEffect;\nexport default useLayoutEffectImpl;","/**\n * Copyright (c) Nicolas Gallagher.\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 */\nimport React, { createContext, useContext } from 'react';\nimport { isLocaleRTL } from './isLocaleRTL';\nvar defaultLocale = {\n direction: 'ltr',\n locale: 'en-US'\n};\nvar LocaleContext = /*#__PURE__*/createContext(defaultLocale);\nexport function getLocaleDirection(locale) {\n return isLocaleRTL(locale) ? 'rtl' : 'ltr';\n}\nexport function LocaleProvider(props) {\n var direction = props.direction,\n locale = props.locale,\n children = props.children;\n var needsContext = direction || locale;\n return needsContext ? /*#__PURE__*/React.createElement(LocaleContext.Provider, {\n children: children,\n value: {\n direction: locale ? getLocaleDirection(locale) : direction,\n locale\n }\n }) : children;\n}\nexport function useLocaleContext() {\n return useContext(LocaleContext);\n}","/**\n * Copyright (c) Nicolas Gallagher.\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 */\nvar rtlScripts = new Set(['Arab', 'Syrc', 'Samr', 'Mand', 'Thaa', 'Mend', 'Nkoo', 'Adlm', 'Rohg', 'Hebr']);\nvar rtlLangs = new Set(['ae', // Avestan\n'ar', // Arabic\n'arc', // Aramaic\n'bcc', // Southern Balochi\n'bqi', // Bakthiari\n'ckb', // Sorani\n'dv', // Dhivehi\n'fa', 'far', // Persian\n'glk', // Gilaki\n'he', 'iw', // Hebrew\n'khw', // Khowar\n'ks', // Kashmiri\n'ku', // Kurdish\n'mzn', // Mazanderani\n'nqo', // N'Ko\n'pnb', // Western Punjabi\n'ps', // Pashto\n'sd', // Sindhi\n'ug', // Uyghur\n'ur', // Urdu\n'yi' // Yiddish\n]);\nvar cache = new Map();\n/**\n * Determine the writing direction of a locale\n */\n\nexport function isLocaleRTL(locale) {\n var cachedRTL = cache.get(locale);\n\n if (cachedRTL) {\n return cachedRTL;\n }\n\n var isRTL = false; // $FlowFixMe\n\n if (Intl.Locale) {\n // $FlowFixMe\n var script = new Intl.Locale(locale).maximize().script;\n isRTL = rtlScripts.has(script);\n } else {\n // Fallback to inferring from language\n var lang = locale.split('-')[0];\n isRTL = rtlLangs.has(lang);\n }\n\n cache.set(locale, isRTL);\n return isRTL;\n}","/**\n * Copyright (c) Meta Platforms, Inc. and 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 */\nimport * as React from 'react';\nimport mergeRefs from '../mergeRefs';\nexport default function useMergeRefs() {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return React.useMemo(() => mergeRefs(...args), // eslint-disable-next-line\n [...args]);\n}","import _objectSpread from \"@babel/runtime/helpers/objectSpread2\";\n\n/**\n * Copyright (c) Nicolas Gallagher.\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 */\nimport UIManager from '../../exports/UIManager';\nimport createDOMProps from '../createDOMProps';\nimport useStable from '../useStable';\nimport { useRef } from 'react';\nvar didWarn = false;\nvar emptyObject = {};\n\nfunction setNativeProps(node, nativeProps, pointerEvents, style, previousStyleRef) {\n if (!didWarn) {\n console.warn('setNativeProps is deprecated. Please update props using React state instead.');\n didWarn = true;\n }\n\n if (node != null && nativeProps) {\n var domProps = createDOMProps(null, _objectSpread(_objectSpread({\n pointerEvents\n }, nativeProps), {}, {\n style: [style, nativeProps.style]\n }));\n var nextDomStyle = domProps.style;\n\n if (previousStyleRef.current != null) {\n if (domProps.style == null) {\n domProps.style = {};\n }\n\n for (var styleName in previousStyleRef.current) {\n if (domProps.style[styleName] == null) {\n domProps.style[styleName] = '';\n }\n }\n }\n\n previousStyleRef.current = nextDomStyle;\n UIManager.updateView(node, domProps);\n }\n}\n/**\n * Adds non-standard methods to the hode element. This is temporarily until an\n * API like `ReactNative.measure(hostRef, callback)` is added to React Native.\n */\n\n\nexport default function usePlatformMethods(_ref) {\n var pointerEvents = _ref.pointerEvents,\n style = _ref.style;\n var previousStyleRef = useRef(null);\n var setNativePropsArgsRef = useRef(null);\n setNativePropsArgsRef.current = {\n pointerEvents,\n style\n }; // Avoid creating a new ref on every render. The props only need to be\n // available to 'setNativeProps' when it is called.\n\n var ref = useStable(() => hostNode => {\n if (hostNode != null) {\n hostNode.measure = callback => UIManager.measure(hostNode, callback);\n\n hostNode.measureLayout = (relativeToNode, success, failure) => UIManager.measureLayout(hostNode, relativeToNode, failure, success);\n\n hostNode.measureInWindow = callback => UIManager.measureInWindow(hostNode, callback);\n\n hostNode.setNativeProps = nativeProps => {\n var _ref2 = setNativePropsArgsRef.current || emptyObject,\n style = _ref2.style,\n pointerEvents = _ref2.pointerEvents;\n\n setNativeProps(hostNode, nativeProps, pointerEvents, style, previousStyleRef);\n };\n }\n });\n return ref;\n}","/**\n * Copyright (c) Meta Platforms, Inc. and 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 * @format\n */\n'use strict';\n\nvar DELAY = 'DELAY';\nvar ERROR = 'ERROR';\nvar LONG_PRESS_DETECTED = 'LONG_PRESS_DETECTED';\nvar NOT_RESPONDER = 'NOT_RESPONDER';\nvar RESPONDER_ACTIVE_LONG_PRESS_START = 'RESPONDER_ACTIVE_LONG_PRESS_START';\nvar RESPONDER_ACTIVE_PRESS_START = 'RESPONDER_ACTIVE_PRESS_START';\nvar RESPONDER_INACTIVE_PRESS_START = 'RESPONDER_INACTIVE_PRESS_START';\nvar RESPONDER_GRANT = 'RESPONDER_GRANT';\nvar RESPONDER_RELEASE = 'RESPONDER_RELEASE';\nvar RESPONDER_TERMINATED = 'RESPONDER_TERMINATED';\nvar Transitions = Object.freeze({\n NOT_RESPONDER: {\n DELAY: ERROR,\n RESPONDER_GRANT: RESPONDER_INACTIVE_PRESS_START,\n RESPONDER_RELEASE: ERROR,\n RESPONDER_TERMINATED: ERROR,\n LONG_PRESS_DETECTED: ERROR\n },\n RESPONDER_INACTIVE_PRESS_START: {\n DELAY: RESPONDER_ACTIVE_PRESS_START,\n RESPONDER_GRANT: ERROR,\n RESPONDER_RELEASE: NOT_RESPONDER,\n RESPONDER_TERMINATED: NOT_RESPONDER,\n LONG_PRESS_DETECTED: ERROR\n },\n RESPONDER_ACTIVE_PRESS_START: {\n DELAY: ERROR,\n RESPONDER_GRANT: ERROR,\n RESPONDER_RELEASE: NOT_RESPONDER,\n RESPONDER_TERMINATED: NOT_RESPONDER,\n LONG_PRESS_DETECTED: RESPONDER_ACTIVE_LONG_PRESS_START\n },\n RESPONDER_ACTIVE_LONG_PRESS_START: {\n DELAY: ERROR,\n RESPONDER_GRANT: ERROR,\n RESPONDER_RELEASE: NOT_RESPONDER,\n RESPONDER_TERMINATED: NOT_RESPONDER,\n LONG_PRESS_DETECTED: RESPONDER_ACTIVE_LONG_PRESS_START\n },\n ERROR: {\n DELAY: NOT_RESPONDER,\n RESPONDER_GRANT: RESPONDER_INACTIVE_PRESS_START,\n RESPONDER_RELEASE: NOT_RESPONDER,\n RESPONDER_TERMINATED: NOT_RESPONDER,\n LONG_PRESS_DETECTED: NOT_RESPONDER\n }\n});\n\nvar isActiveSignal = signal => signal === RESPONDER_ACTIVE_PRESS_START || signal === RESPONDER_ACTIVE_LONG_PRESS_START;\n\nvar isButtonRole = element => element.getAttribute('role') === 'button';\n\nvar isPressStartSignal = signal => signal === RESPONDER_INACTIVE_PRESS_START || signal === RESPONDER_ACTIVE_PRESS_START || signal === RESPONDER_ACTIVE_LONG_PRESS_START;\n\nvar isTerminalSignal = signal => signal === RESPONDER_TERMINATED || signal === RESPONDER_RELEASE;\n\nvar isValidKeyPress = event => {\n var key = event.key,\n target = event.target;\n var role = target.getAttribute('role');\n var isSpacebar = key === ' ' || key === 'Spacebar';\n return key === 'Enter' || isSpacebar && role === 'button';\n};\n\nvar DEFAULT_LONG_PRESS_DELAY_MS = 450; // 500 - 50\n\nvar DEFAULT_PRESS_DELAY_MS = 50;\n/**\n * =========================== PressResponder Tutorial ===========================\n *\n * The `PressResponder` class helps you create press interactions by analyzing the\n * geometry of elements and observing when another responder (e.g. ScrollView)\n * has stolen the touch lock. It offers hooks for your component to provide\n * interaction feedback to the user:\n *\n * - When a press has activated (e.g. highlight an element)\n * - When a press has deactivated (e.g. un-highlight an element)\n * - When a press sould trigger an action, meaning it activated and deactivated\n * while within the geometry of the element without the lock being stolen.\n *\n * A high quality interaction isn't as simple as you might think. There should\n * be a slight delay before activation. Moving your finger beyond an element's\n * bounds should trigger deactivation, but moving the same finger back within an\n * element's bounds should trigger reactivation.\n *\n * In order to use `PressResponder`, do the following:\n *\n * const pressResponder = new PressResponder(config);\n *\n * 2. Choose the rendered component who should collect the press events. On that\n * element, spread `pressability.getEventHandlers()` into its props.\n *\n * return (\n * \n * );\n *\n * 3. Reset `PressResponder` when your component unmounts.\n *\n * componentWillUnmount() {\n * this.state.pressResponder.reset();\n * }\n *\n * ==================== Implementation Details ====================\n *\n * `PressResponder` only assumes that there exists a `HitRect` node. The `PressRect`\n * is an abstract box that is extended beyond the `HitRect`.\n *\n * # Geometry\n *\n * ┌────────────────────────┐\n * │ ┌──────────────────┐ │ - Presses start anywhere within `HitRect`.\n * │ │ ┌────────────┐ │ │\n * │ │ │ VisualRect │ │ │\n * │ │ └────────────┘ │ │ - When pressed down for sufficient amount of time\n * │ │ HitRect │ │ before letting up, `VisualRect` activates.\n * │ └──────────────────┘ │\n * │ Out Region o │\n * └────────────────────│───┘\n * └────── When the press is released outside the `HitRect`,\n * the responder is NOT eligible for a \"press\".\n *\n * # State Machine\n *\n * ┌───────────────┐ ◀──── RESPONDER_RELEASE\n * │ NOT_RESPONDER │\n * └───┬───────────┘ ◀──── RESPONDER_TERMINATED\n * │\n * │ RESPONDER_GRANT (HitRect)\n * │\n * ▼\n * ┌─────────────────────┐ ┌───────────────────┐ ┌───────────────────┐\n * │ RESPONDER_INACTIVE_ │ DELAY │ RESPONDER_ACTIVE_ │ T + DELAY │ RESPONDER_ACTIVE_ │\n * │ PRESS_START ├────────▶ │ PRESS_START ├────────────▶ │ LONG_PRESS_START │\n * └─────────────────────┘ └───────────────────┘ └───────────────────┘\n *\n * T + DELAY => LONG_PRESS_DELAY + DELAY\n *\n * Not drawn are the side effects of each transition. The most important side\n * effect is the invocation of `onLongPress`. Only when the browser produces a\n * `click` event is `onPress` invoked.\n */\n\nexport default class PressResponder {\n constructor(config) {\n this._eventHandlers = null;\n this._isPointerTouch = false;\n this._longPressDelayTimeout = null;\n this._longPressDispatched = false;\n this._pressDelayTimeout = null;\n this._pressOutDelayTimeout = null;\n this._touchState = NOT_RESPONDER;\n this.configure(config);\n }\n\n configure(config) {\n this._config = config;\n }\n /**\n * Resets any pending timers. This should be called on unmount.\n */\n\n\n reset() {\n this._cancelLongPressDelayTimeout();\n\n this._cancelPressDelayTimeout();\n\n this._cancelPressOutDelayTimeout();\n }\n /**\n * Returns a set of props to spread into the interactive element.\n */\n\n\n getEventHandlers() {\n if (this._eventHandlers == null) {\n this._eventHandlers = this._createEventHandlers();\n }\n\n return this._eventHandlers;\n }\n\n _createEventHandlers() {\n var start = (event, shouldDelay) => {\n event.persist();\n\n this._cancelPressOutDelayTimeout();\n\n this._longPressDispatched = false;\n this._selectionTerminated = false;\n this._touchState = NOT_RESPONDER;\n this._isPointerTouch = event.nativeEvent.type === 'touchstart';\n\n this._receiveSignal(RESPONDER_GRANT, event);\n\n var delayPressStart = normalizeDelay(this._config.delayPressStart, 0, DEFAULT_PRESS_DELAY_MS);\n\n if (shouldDelay !== false && delayPressStart > 0) {\n this._pressDelayTimeout = setTimeout(() => {\n this._receiveSignal(DELAY, event);\n }, delayPressStart);\n } else {\n this._receiveSignal(DELAY, event);\n }\n\n var delayLongPress = normalizeDelay(this._config.delayLongPress, 10, DEFAULT_LONG_PRESS_DELAY_MS);\n this._longPressDelayTimeout = setTimeout(() => {\n this._handleLongPress(event);\n }, delayLongPress + delayPressStart);\n };\n\n var end = event => {\n this._receiveSignal(RESPONDER_RELEASE, event);\n };\n\n var keyupHandler = event => {\n var onPress = this._config.onPress;\n var target = event.target;\n\n if (this._touchState !== NOT_RESPONDER && isValidKeyPress(event)) {\n end(event);\n document.removeEventListener('keyup', keyupHandler);\n var role = target.getAttribute('role');\n var elementType = target.tagName.toLowerCase();\n var isNativeInteractiveElement = role === 'link' || elementType === 'a' || elementType === 'button' || elementType === 'input' || elementType === 'select' || elementType === 'textarea';\n\n if (onPress != null && !isNativeInteractiveElement) {\n onPress(event);\n }\n }\n };\n\n return {\n onStartShouldSetResponder: event => {\n var disabled = this._config.disabled;\n\n if (disabled && isButtonRole(event.currentTarget)) {\n event.stopPropagation();\n }\n\n if (disabled == null) {\n return true;\n }\n\n return !disabled;\n },\n onKeyDown: event => {\n var disabled = this._config.disabled;\n var key = event.key,\n target = event.target;\n\n if (!disabled && isValidKeyPress(event)) {\n if (this._touchState === NOT_RESPONDER) {\n start(event, false); // Listen to 'keyup' on document to account for situations where\n // focus is moved to another element during 'keydown'.\n\n document.addEventListener('keyup', keyupHandler);\n }\n\n var role = target.getAttribute('role');\n var isSpacebarKey = key === ' ' || key === 'Spacebar';\n\n var _isButtonRole = role === 'button' || role === 'menuitem';\n\n if (isSpacebarKey && _isButtonRole) {\n // Prevent spacebar scrolling the window\n event.preventDefault();\n }\n\n event.stopPropagation();\n }\n },\n onResponderGrant: event => start(event),\n onResponderMove: event => {\n if (this._config.onPressMove != null) {\n this._config.onPressMove(event);\n }\n\n var touch = getTouchFromResponderEvent(event);\n\n if (this._touchActivatePosition != null) {\n var deltaX = this._touchActivatePosition.pageX - touch.pageX;\n var deltaY = this._touchActivatePosition.pageY - touch.pageY;\n\n if (Math.hypot(deltaX, deltaY) > 10) {\n this._cancelLongPressDelayTimeout();\n }\n }\n },\n onResponderRelease: event => end(event),\n onResponderTerminate: event => {\n if (event.nativeEvent.type === 'selectionchange') {\n this._selectionTerminated = true;\n }\n\n this._receiveSignal(RESPONDER_TERMINATED, event);\n },\n onResponderTerminationRequest: event => {\n var _this$_config = this._config,\n cancelable = _this$_config.cancelable,\n disabled = _this$_config.disabled,\n onLongPress = _this$_config.onLongPress; // If `onLongPress` is provided, don't terminate on `contextmenu` as default\n // behavior will be prevented for non-mouse pointers.\n\n if (!disabled && onLongPress != null && this._isPointerTouch && event.nativeEvent.type === 'contextmenu') {\n return false;\n }\n\n if (cancelable == null) {\n return true;\n }\n\n return cancelable;\n },\n // NOTE: this diverges from react-native in 3 significant ways:\n // * The `onPress` callback is not connected to the responder system (the native\n // `click` event must be used but is dispatched in many scenarios where no pointers\n // are on the screen.) Therefore, it's possible for `onPress` to be called without\n // `onPress{Start,End}` being called first.\n // * The `onPress` callback is only be called on the first ancestor of the native\n // `click` target that is using the PressResponder.\n // * The event's `nativeEvent` is a `MouseEvent` not a `TouchEvent`.\n onClick: event => {\n var _this$_config2 = this._config,\n disabled = _this$_config2.disabled,\n onPress = _this$_config2.onPress;\n\n if (!disabled) {\n // If long press dispatched, cancel default click behavior.\n // If the responder terminated because text was selected during the gesture,\n // cancel the default click behavior.\n event.stopPropagation();\n\n if (this._longPressDispatched || this._selectionTerminated) {\n event.preventDefault();\n } else if (onPress != null && event.altKey === false) {\n onPress(event);\n }\n } else {\n if (isButtonRole(event.currentTarget)) {\n event.stopPropagation();\n }\n }\n },\n // If `onLongPress` is provided and a touch pointer is being used, prevent the\n // default context menu from opening.\n onContextMenu: event => {\n var _this$_config3 = this._config,\n disabled = _this$_config3.disabled,\n onLongPress = _this$_config3.onLongPress;\n\n if (!disabled) {\n if (onLongPress != null && this._isPointerTouch && !event.defaultPrevented) {\n event.preventDefault();\n event.stopPropagation();\n }\n } else {\n if (isButtonRole(event.currentTarget)) {\n event.stopPropagation();\n }\n }\n }\n };\n }\n /**\n * Receives a state machine signal, performs side effects of the transition\n * and stores the new state. Validates the transition as well.\n */\n\n\n _receiveSignal(signal, event) {\n var prevState = this._touchState;\n var nextState = null;\n\n if (Transitions[prevState] != null) {\n nextState = Transitions[prevState][signal];\n }\n\n if (this._touchState === NOT_RESPONDER && signal === RESPONDER_RELEASE) {\n return;\n }\n\n if (nextState == null || nextState === ERROR) {\n console.error(\"PressResponder: Invalid signal \" + signal + \" for state \" + prevState + \" on responder\");\n } else if (prevState !== nextState) {\n this._performTransitionSideEffects(prevState, nextState, signal, event);\n\n this._touchState = nextState;\n }\n }\n /**\n * Performs a transition between touchable states and identify any activations\n * or deactivations (and callback invocations).\n */\n\n\n _performTransitionSideEffects(prevState, nextState, signal, event) {\n if (isTerminalSignal(signal)) {\n // Pressable suppression of contextmenu on windows.\n // On Windows, the contextmenu is displayed after pointerup.\n // https://github.com/necolas/react-native-web/issues/2296\n setTimeout(() => {\n this._isPointerTouch = false;\n }, 0);\n this._touchActivatePosition = null;\n\n this._cancelLongPressDelayTimeout();\n }\n\n if (isPressStartSignal(prevState) && signal === LONG_PRESS_DETECTED) {\n var onLongPress = this._config.onLongPress; // Long press is not supported for keyboards because 'click' can be dispatched\n // immediately (and multiple times) after 'keydown'.\n\n if (onLongPress != null && event.nativeEvent.key == null) {\n onLongPress(event);\n this._longPressDispatched = true;\n }\n }\n\n var isPrevActive = isActiveSignal(prevState);\n var isNextActive = isActiveSignal(nextState);\n\n if (!isPrevActive && isNextActive) {\n this._activate(event);\n } else if (isPrevActive && !isNextActive) {\n this._deactivate(event);\n }\n\n if (isPressStartSignal(prevState) && signal === RESPONDER_RELEASE) {\n var _this$_config4 = this._config,\n _onLongPress = _this$_config4.onLongPress,\n onPress = _this$_config4.onPress;\n\n if (onPress != null) {\n var isPressCanceledByLongPress = _onLongPress != null && prevState === RESPONDER_ACTIVE_LONG_PRESS_START;\n\n if (!isPressCanceledByLongPress) {\n // If we never activated (due to delays), activate and deactivate now.\n if (!isNextActive && !isPrevActive) {\n this._activate(event);\n\n this._deactivate(event);\n }\n }\n }\n }\n\n this._cancelPressDelayTimeout();\n }\n\n _activate(event) {\n var _this$_config5 = this._config,\n onPressChange = _this$_config5.onPressChange,\n onPressStart = _this$_config5.onPressStart;\n var touch = getTouchFromResponderEvent(event);\n this._touchActivatePosition = {\n pageX: touch.pageX,\n pageY: touch.pageY\n };\n\n if (onPressStart != null) {\n onPressStart(event);\n }\n\n if (onPressChange != null) {\n onPressChange(true);\n }\n }\n\n _deactivate(event) {\n var _this$_config6 = this._config,\n onPressChange = _this$_config6.onPressChange,\n onPressEnd = _this$_config6.onPressEnd;\n\n function end() {\n if (onPressEnd != null) {\n onPressEnd(event);\n }\n\n if (onPressChange != null) {\n onPressChange(false);\n }\n }\n\n var delayPressEnd = normalizeDelay(this._config.delayPressEnd);\n\n if (delayPressEnd > 0) {\n this._pressOutDelayTimeout = setTimeout(() => {\n end();\n }, delayPressEnd);\n } else {\n end();\n }\n }\n\n _handleLongPress(event) {\n if (this._touchState === RESPONDER_ACTIVE_PRESS_START || this._touchState === RESPONDER_ACTIVE_LONG_PRESS_START) {\n this._receiveSignal(LONG_PRESS_DETECTED, event);\n }\n }\n\n _cancelLongPressDelayTimeout() {\n if (this._longPressDelayTimeout != null) {\n clearTimeout(this._longPressDelayTimeout);\n this._longPressDelayTimeout = null;\n }\n }\n\n _cancelPressDelayTimeout() {\n if (this._pressDelayTimeout != null) {\n clearTimeout(this._pressDelayTimeout);\n this._pressDelayTimeout = null;\n }\n }\n\n _cancelPressOutDelayTimeout() {\n if (this._pressOutDelayTimeout != null) {\n clearTimeout(this._pressOutDelayTimeout);\n this._pressOutDelayTimeout = null;\n }\n }\n\n}\n\nfunction normalizeDelay(delay, min, fallback) {\n if (min === void 0) {\n min = 0;\n }\n\n if (fallback === void 0) {\n fallback = 0;\n }\n\n return Math.max(min, delay !== null && delay !== void 0 ? delay : fallback);\n}\n\nfunction getTouchFromResponderEvent(event) {\n var _event$nativeEvent = event.nativeEvent,\n changedTouches = _event$nativeEvent.changedTouches,\n touches = _event$nativeEvent.touches;\n\n if (touches != null && touches.length > 0) {\n return touches[0];\n }\n\n if (changedTouches != null && changedTouches.length > 0) {\n return changedTouches[0];\n }\n\n return event.nativeEvent;\n}","/**\n * Copyright (c) Meta Platforms, Inc. and 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 * @format\n */\n'use strict';\n\nimport PressResponder from './PressResponder';\nimport { useDebugValue, useEffect, useRef } from 'react';\nexport default function usePressEvents(hostRef, config) {\n var pressResponderRef = useRef(null);\n\n if (pressResponderRef.current == null) {\n pressResponderRef.current = new PressResponder(config);\n }\n\n var pressResponder = pressResponderRef.current; // Re-configure to use the current node and configuration.\n\n useEffect(() => {\n pressResponder.configure(config);\n }, [config, pressResponder]); // Reset the `pressResponder` when cleanup needs to occur. This is\n // a separate effect because we do not want to rest the responder when `config` changes.\n\n useEffect(() => {\n return () => {\n pressResponder.reset();\n };\n }, [pressResponder]);\n useDebugValue(config);\n return pressResponder.getEventHandlers();\n}","/**\n * Copyright (c) Nicolas Gallagher\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 */\nexport var BLUR = 'blur';\nexport var CONTEXT_MENU = 'contextmenu';\nexport var FOCUS_OUT = 'focusout';\nexport var MOUSE_DOWN = 'mousedown';\nexport var MOUSE_MOVE = 'mousemove';\nexport var MOUSE_UP = 'mouseup';\nexport var MOUSE_CANCEL = 'dragstart';\nexport var TOUCH_START = 'touchstart';\nexport var TOUCH_MOVE = 'touchmove';\nexport var TOUCH_END = 'touchend';\nexport var TOUCH_CANCEL = 'touchcancel';\nexport var SCROLL = 'scroll';\nexport var SELECT = 'select';\nexport var SELECTION_CHANGE = 'selectionchange';\nexport function isStartish(eventType) {\n return eventType === TOUCH_START || eventType === MOUSE_DOWN;\n}\nexport function isMoveish(eventType) {\n return eventType === TOUCH_MOVE || eventType === MOUSE_MOVE;\n}\nexport function isEndish(eventType) {\n return eventType === TOUCH_END || eventType === MOUSE_UP || isCancelish(eventType);\n}\nexport function isCancelish(eventType) {\n return eventType === TOUCH_CANCEL || eventType === MOUSE_CANCEL;\n}\nexport function isScroll(eventType) {\n return eventType === SCROLL;\n}\nexport function isSelectionChange(eventType) {\n return eventType === SELECT || eventType === SELECTION_CHANGE;\n}","/**\n * Copyright (c) Nicolas Gallagher\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 */\n\n/**\n * RESPONDER EVENT SYSTEM\n *\n * A single, global \"interaction lock\" on views. For a view to be the \"responder\" means\n * that pointer interactions are exclusive to that view and none other. The \"interaction\n * lock\" can be transferred (only) to ancestors of the current \"responder\" as long as\n * pointers continue to be active.\n *\n * Responder being granted:\n *\n * A view can become the \"responder\" after the following events:\n * * \"pointerdown\" (implemented using \"touchstart\", \"mousedown\")\n * * \"pointermove\" (implemented using \"touchmove\", \"mousemove\")\n * * \"scroll\" (while a pointer is down)\n * * \"selectionchange\" (while a pointer is down)\n *\n * If nothing is already the \"responder\", the event propagates to (capture) and from\n * (bubble) the event target until a view returns `true` for\n * `on*ShouldSetResponder(Capture)`.\n *\n * If something is already the responder, the event propagates to (capture) and from\n * (bubble) the lowest common ancestor of the event target and the current \"responder\".\n * Then negotiation happens between the current \"responder\" and a view that wants to\n * become the \"responder\": see the timing diagram below.\n *\n * (NOTE: Scrolled views either automatically become the \"responder\" or release the\n * \"interaction lock\". A native scroll view that isn't built on top of the responder\n * system must result in the current \"responder\" being notified that it no longer has\n * the \"interaction lock\" - the native system has taken over.\n *\n * Responder being released:\n *\n * As soon as there are no more active pointers that *started* inside descendants\n * of the *current* \"responder\", an `onResponderRelease` event is dispatched to the\n * current \"responder\", and the responder lock is released.\n *\n * Typical sequence of events:\n * * startShouldSetResponder\n * * responderGrant/Reject\n * * responderStart\n * * responderMove\n * * responderEnd\n * * responderRelease\n */\n\n/* Negotiation Performed\n +-----------------------+\n / \\\nProcess low level events to + Current Responder + wantsResponderID\ndetermine who to perform negot-| (if any exists at all) |\niation/transition | Otherwise just pass through|\n-------------------------------+----------------------------+------------------+\nBubble to find first ID | |\nto return true:wantsResponderID| |\n | |\n +--------------+ | |\n | onTouchStart | | |\n +------+-------+ none | |\n | return| |\n+-----------v-------------+true| +------------------------+ |\n|onStartShouldSetResponder|----->| onResponderStart (cur) |<-----------+\n+-----------+-------------+ | +------------------------+ | |\n | | | +--------+-------+\n | returned true for| false:REJECT +-------->|onResponderReject\n | wantsResponderID | | | +----------------+\n | (now attempt | +------------------+-----+ |\n | handoff) | | onResponder | |\n +------------------->| TerminationRequest | |\n | +------------------+-----+ |\n | | | +----------------+\n | true:GRANT +-------->|onResponderGrant|\n | | +--------+-------+\n | +------------------------+ | |\n | | onResponderTerminate |<-----------+\n | +------------------+-----+ |\n | | | +----------------+\n | +-------->|onResponderStart|\n | | +----------------+\nBubble to find first ID | |\nto return true:wantsResponderID| |\n | |\n +-------------+ | |\n | onTouchMove | | |\n +------+------+ none | |\n | return| |\n+-----------v-------------+true| +------------------------+ |\n|onMoveShouldSetResponder |----->| onResponderMove (cur) |<-----------+\n+-----------+-------------+ | +------------------------+ | |\n | | | +--------+-------+\n | returned true for| false:REJECT +-------->|onResponderReject\n | wantsResponderID | | | +----------------+\n | (now attempt | +------------------+-----+ |\n | handoff) | | onResponder | |\n +------------------->| TerminationRequest| |\n | +------------------+-----+ |\n | | | +----------------+\n | true:GRANT +-------->|onResponderGrant|\n | | +--------+-------+\n | +------------------------+ | |\n | | onResponderTerminate |<-----------+\n | +------------------+-----+ |\n | | | +----------------+\n | +-------->|onResponderMove |\n | | +----------------+\n | |\n | |\n Some active touch started| |\n inside current responder | +------------------------+ |\n +------------------------->| onResponderEnd | |\n | | +------------------------+ |\n +---+---------+ | |\n | onTouchEnd | | |\n +---+---------+ | |\n | | +------------------------+ |\n +------------------------->| onResponderEnd | |\n No active touches started| +-----------+------------+ |\n inside current responder | | |\n | v |\n | +------------------------+ |\n | | onResponderRelease | |\n | +------------------------+ |\n | |\n + + */\nimport createResponderEvent from './createResponderEvent';\nimport { isCancelish, isEndish, isMoveish, isScroll, isSelectionChange, isStartish } from './ResponderEventTypes';\nimport { getLowestCommonAncestor, getResponderPaths, hasTargetTouches, hasValidSelection, isPrimaryPointerDown, setResponderId } from './utils';\nimport { ResponderTouchHistoryStore } from './ResponderTouchHistoryStore';\nimport canUseDOM from '../canUseDom';\n/* ------------ TYPES ------------ */\n\nvar emptyObject = {};\n/* ------------ IMPLEMENTATION ------------ */\n\nvar startRegistration = ['onStartShouldSetResponderCapture', 'onStartShouldSetResponder', {\n bubbles: true\n}];\nvar moveRegistration = ['onMoveShouldSetResponderCapture', 'onMoveShouldSetResponder', {\n bubbles: true\n}];\nvar scrollRegistration = ['onScrollShouldSetResponderCapture', 'onScrollShouldSetResponder', {\n bubbles: false\n}];\nvar shouldSetResponderEvents = {\n touchstart: startRegistration,\n mousedown: startRegistration,\n touchmove: moveRegistration,\n mousemove: moveRegistration,\n scroll: scrollRegistration\n};\nvar emptyResponder = {\n id: null,\n idPath: null,\n node: null\n};\nvar responderListenersMap = new Map();\nvar isEmulatingMouseEvents = false;\nvar trackedTouchCount = 0;\nvar currentResponder = {\n id: null,\n node: null,\n idPath: null\n};\nvar responderTouchHistoryStore = new ResponderTouchHistoryStore();\n\nfunction changeCurrentResponder(responder) {\n currentResponder = responder;\n}\n\nfunction getResponderConfig(id) {\n var config = responderListenersMap.get(id);\n return config != null ? config : emptyObject;\n}\n/**\n * Process native events\n *\n * A single event listener is used to manage the responder system.\n * All pointers are tracked in the ResponderTouchHistoryStore. Native events\n * are interpreted in terms of the Responder System and checked to see if\n * the responder should be transferred. Each host node that is attached to\n * the Responder System has an ID, which is used to look up its associated\n * callbacks.\n */\n\n\nfunction eventListener(domEvent) {\n var eventType = domEvent.type;\n var eventTarget = domEvent.target;\n /**\n * Manage emulated events and early bailout.\n * Since PointerEvent is not used yet (lack of support in older Safari), it's\n * necessary to manually manage the mess of browser touch/mouse events.\n * And bailout early for termination events when there is no active responder.\n */\n // Flag when browser may produce emulated events\n\n if (eventType === 'touchstart') {\n isEmulatingMouseEvents = true;\n } // Remove flag when browser will not produce emulated events\n\n\n if (eventType === 'touchmove' || trackedTouchCount > 1) {\n isEmulatingMouseEvents = false;\n } // Ignore various events in particular circumstances\n\n\n if ( // Ignore browser emulated mouse events\n eventType === 'mousedown' && isEmulatingMouseEvents || eventType === 'mousemove' && isEmulatingMouseEvents || // Ignore mousemove if a mousedown didn't occur first\n eventType === 'mousemove' && trackedTouchCount < 1) {\n return;\n } // Remove flag after emulated events are finished\n\n\n if (isEmulatingMouseEvents && eventType === 'mouseup') {\n if (trackedTouchCount === 0) {\n isEmulatingMouseEvents = false;\n }\n\n return;\n }\n\n var isStartEvent = isStartish(eventType) && isPrimaryPointerDown(domEvent);\n var isMoveEvent = isMoveish(eventType);\n var isEndEvent = isEndish(eventType);\n var isScrollEvent = isScroll(eventType);\n var isSelectionChangeEvent = isSelectionChange(eventType);\n var responderEvent = createResponderEvent(domEvent, responderTouchHistoryStore);\n /**\n * Record the state of active pointers\n */\n\n if (isStartEvent || isMoveEvent || isEndEvent) {\n if (domEvent.touches) {\n trackedTouchCount = domEvent.touches.length;\n } else {\n if (isStartEvent) {\n trackedTouchCount = 1;\n } else if (isEndEvent) {\n trackedTouchCount = 0;\n }\n }\n\n responderTouchHistoryStore.recordTouchTrack(eventType, responderEvent.nativeEvent);\n }\n /**\n * Responder System logic\n */\n\n\n var eventPaths = getResponderPaths(domEvent);\n var wasNegotiated = false;\n var wantsResponder; // If an event occured that might change the current responder...\n\n if (isStartEvent || isMoveEvent || isScrollEvent && trackedTouchCount > 0) {\n // If there is already a responder, prune the event paths to the lowest common ancestor\n // of the existing responder and deepest target of the event.\n var currentResponderIdPath = currentResponder.idPath;\n var eventIdPath = eventPaths.idPath;\n\n if (currentResponderIdPath != null && eventIdPath != null) {\n var lowestCommonAncestor = getLowestCommonAncestor(currentResponderIdPath, eventIdPath);\n\n if (lowestCommonAncestor != null) {\n var indexOfLowestCommonAncestor = eventIdPath.indexOf(lowestCommonAncestor); // Skip the current responder so it doesn't receive unexpected \"shouldSet\" events.\n\n var index = indexOfLowestCommonAncestor + (lowestCommonAncestor === currentResponder.id ? 1 : 0);\n eventPaths = {\n idPath: eventIdPath.slice(index),\n nodePath: eventPaths.nodePath.slice(index)\n };\n } else {\n eventPaths = null;\n }\n }\n\n if (eventPaths != null) {\n // If a node wants to become the responder, attempt to transfer.\n wantsResponder = findWantsResponder(eventPaths, domEvent, responderEvent);\n\n if (wantsResponder != null) {\n // Sets responder if none exists, or negotates with existing responder.\n attemptTransfer(responderEvent, wantsResponder);\n wasNegotiated = true;\n }\n }\n } // If there is now a responder, invoke its callbacks for the lifecycle of the gesture.\n\n\n if (currentResponder.id != null && currentResponder.node != null) {\n var _currentResponder = currentResponder,\n id = _currentResponder.id,\n node = _currentResponder.node;\n\n var _getResponderConfig = getResponderConfig(id),\n onResponderStart = _getResponderConfig.onResponderStart,\n onResponderMove = _getResponderConfig.onResponderMove,\n onResponderEnd = _getResponderConfig.onResponderEnd,\n onResponderRelease = _getResponderConfig.onResponderRelease,\n onResponderTerminate = _getResponderConfig.onResponderTerminate,\n onResponderTerminationRequest = _getResponderConfig.onResponderTerminationRequest;\n\n responderEvent.bubbles = false;\n responderEvent.cancelable = false;\n responderEvent.currentTarget = node; // Start\n\n if (isStartEvent) {\n if (onResponderStart != null) {\n responderEvent.dispatchConfig.registrationName = 'onResponderStart';\n onResponderStart(responderEvent);\n }\n } // Move\n else if (isMoveEvent) {\n if (onResponderMove != null) {\n responderEvent.dispatchConfig.registrationName = 'onResponderMove';\n onResponderMove(responderEvent);\n }\n } else {\n var isTerminateEvent = isCancelish(eventType) || // native context menu\n eventType === 'contextmenu' || // window blur\n eventType === 'blur' && eventTarget === window || // responder (or ancestors) blur\n eventType === 'blur' && eventTarget.contains(node) && domEvent.relatedTarget !== node || // native scroll without using a pointer\n isScrollEvent && trackedTouchCount === 0 || // native scroll on node that is parent of the responder (allow siblings to scroll)\n isScrollEvent && eventTarget.contains(node) && eventTarget !== node || // native select/selectionchange on node\n isSelectionChangeEvent && hasValidSelection(domEvent);\n var isReleaseEvent = isEndEvent && !isTerminateEvent && !hasTargetTouches(node, domEvent.touches); // End\n\n if (isEndEvent) {\n if (onResponderEnd != null) {\n responderEvent.dispatchConfig.registrationName = 'onResponderEnd';\n onResponderEnd(responderEvent);\n }\n } // Release\n\n\n if (isReleaseEvent) {\n if (onResponderRelease != null) {\n responderEvent.dispatchConfig.registrationName = 'onResponderRelease';\n onResponderRelease(responderEvent);\n }\n\n changeCurrentResponder(emptyResponder);\n } // Terminate\n\n\n if (isTerminateEvent) {\n var shouldTerminate = true; // Responders can still avoid termination but only for these events.\n\n if (eventType === 'contextmenu' || eventType === 'scroll' || eventType === 'selectionchange') {\n // Only call this function is it wasn't already called during negotiation.\n if (wasNegotiated) {\n shouldTerminate = false;\n } else if (onResponderTerminationRequest != null) {\n responderEvent.dispatchConfig.registrationName = 'onResponderTerminationRequest';\n\n if (onResponderTerminationRequest(responderEvent) === false) {\n shouldTerminate = false;\n }\n }\n }\n\n if (shouldTerminate) {\n if (onResponderTerminate != null) {\n responderEvent.dispatchConfig.registrationName = 'onResponderTerminate';\n onResponderTerminate(responderEvent);\n }\n\n changeCurrentResponder(emptyResponder);\n isEmulatingMouseEvents = false;\n trackedTouchCount = 0;\n }\n }\n }\n }\n}\n/**\n * Walk the event path to/from the target node. At each node, stop and call the\n * relevant \"shouldSet\" functions for the given event type. If any of those functions\n * call \"stopPropagation\" on the event, stop searching for a responder.\n */\n\n\nfunction findWantsResponder(eventPaths, domEvent, responderEvent) {\n var shouldSetCallbacks = shouldSetResponderEvents[domEvent.type]; // for Flow\n\n if (shouldSetCallbacks != null) {\n var idPath = eventPaths.idPath,\n nodePath = eventPaths.nodePath;\n var shouldSetCallbackCaptureName = shouldSetCallbacks[0];\n var shouldSetCallbackBubbleName = shouldSetCallbacks[1];\n var bubbles = shouldSetCallbacks[2].bubbles;\n\n var check = function check(id, node, callbackName) {\n var config = getResponderConfig(id);\n var shouldSetCallback = config[callbackName];\n\n if (shouldSetCallback != null) {\n responderEvent.currentTarget = node;\n\n if (shouldSetCallback(responderEvent) === true) {\n // Start the path from the potential responder\n var prunedIdPath = idPath.slice(idPath.indexOf(id));\n return {\n id,\n node,\n idPath: prunedIdPath\n };\n }\n }\n }; // capture\n\n\n for (var i = idPath.length - 1; i >= 0; i--) {\n var id = idPath[i];\n var node = nodePath[i];\n var result = check(id, node, shouldSetCallbackCaptureName);\n\n if (result != null) {\n return result;\n }\n\n if (responderEvent.isPropagationStopped() === true) {\n return;\n }\n } // bubble\n\n\n if (bubbles) {\n for (var _i = 0; _i < idPath.length; _i++) {\n var _id = idPath[_i];\n var _node = nodePath[_i];\n\n var _result = check(_id, _node, shouldSetCallbackBubbleName);\n\n if (_result != null) {\n return _result;\n }\n\n if (responderEvent.isPropagationStopped() === true) {\n return;\n }\n }\n } else {\n var _id2 = idPath[0];\n var _node2 = nodePath[0];\n var target = domEvent.target;\n\n if (target === _node2) {\n return check(_id2, _node2, shouldSetCallbackBubbleName);\n }\n }\n }\n}\n/**\n * Attempt to transfer the responder.\n */\n\n\nfunction attemptTransfer(responderEvent, wantsResponder) {\n var _currentResponder2 = currentResponder,\n currentId = _currentResponder2.id,\n currentNode = _currentResponder2.node;\n var id = wantsResponder.id,\n node = wantsResponder.node;\n\n var _getResponderConfig2 = getResponderConfig(id),\n onResponderGrant = _getResponderConfig2.onResponderGrant,\n onResponderReject = _getResponderConfig2.onResponderReject;\n\n responderEvent.bubbles = false;\n responderEvent.cancelable = false;\n responderEvent.currentTarget = node; // Set responder\n\n if (currentId == null) {\n if (onResponderGrant != null) {\n responderEvent.currentTarget = node;\n responderEvent.dispatchConfig.registrationName = 'onResponderGrant';\n onResponderGrant(responderEvent);\n }\n\n changeCurrentResponder(wantsResponder);\n } // Negotiate with current responder\n else {\n var _getResponderConfig3 = getResponderConfig(currentId),\n onResponderTerminate = _getResponderConfig3.onResponderTerminate,\n onResponderTerminationRequest = _getResponderConfig3.onResponderTerminationRequest;\n\n var allowTransfer = true;\n\n if (onResponderTerminationRequest != null) {\n responderEvent.currentTarget = currentNode;\n responderEvent.dispatchConfig.registrationName = 'onResponderTerminationRequest';\n\n if (onResponderTerminationRequest(responderEvent) === false) {\n allowTransfer = false;\n }\n }\n\n if (allowTransfer) {\n // Terminate existing responder\n if (onResponderTerminate != null) {\n responderEvent.currentTarget = currentNode;\n responderEvent.dispatchConfig.registrationName = 'onResponderTerminate';\n onResponderTerminate(responderEvent);\n } // Grant next responder\n\n\n if (onResponderGrant != null) {\n responderEvent.currentTarget = node;\n responderEvent.dispatchConfig.registrationName = 'onResponderGrant';\n onResponderGrant(responderEvent);\n }\n\n changeCurrentResponder(wantsResponder);\n } else {\n // Reject responder request\n if (onResponderReject != null) {\n responderEvent.currentTarget = node;\n responderEvent.dispatchConfig.registrationName = 'onResponderReject';\n onResponderReject(responderEvent);\n }\n }\n }\n}\n/* ------------ PUBLIC API ------------ */\n\n/**\n * Attach Listeners\n *\n * Use native events as ReactDOM doesn't have a non-plugin API to implement\n * this system.\n */\n\n\nvar documentEventsCapturePhase = ['blur', 'scroll'];\nvar documentEventsBubblePhase = [// mouse\n'mousedown', 'mousemove', 'mouseup', 'dragstart', // touch\n'touchstart', 'touchmove', 'touchend', 'touchcancel', // other\n'contextmenu', 'select', 'selectionchange'];\nexport function attachListeners() {\n if (canUseDOM && window.__reactResponderSystemActive == null) {\n window.addEventListener('blur', eventListener);\n documentEventsBubblePhase.forEach(eventType => {\n document.addEventListener(eventType, eventListener);\n });\n documentEventsCapturePhase.forEach(eventType => {\n document.addEventListener(eventType, eventListener, true);\n });\n window.__reactResponderSystemActive = true;\n }\n}\n/**\n * Register a node with the ResponderSystem.\n */\n\nexport function addNode(id, node, config) {\n setResponderId(node, id);\n responderListenersMap.set(id, config);\n}\n/**\n * Unregister a node with the ResponderSystem.\n */\n\nexport function removeNode(id) {\n if (currentResponder.id === id) {\n terminateResponder();\n }\n\n if (responderListenersMap.has(id)) {\n responderListenersMap.delete(id);\n }\n}\n/**\n * Allow the current responder to be terminated from within components to support\n * more complex requirements, such as use with other React libraries for working\n * with scroll views, input views, etc.\n */\n\nexport function terminateResponder() {\n var _currentResponder3 = currentResponder,\n id = _currentResponder3.id,\n node = _currentResponder3.node;\n\n if (id != null && node != null) {\n var _getResponderConfig4 = getResponderConfig(id),\n onResponderTerminate = _getResponderConfig4.onResponderTerminate;\n\n if (onResponderTerminate != null) {\n var event = createResponderEvent({}, responderTouchHistoryStore);\n event.currentTarget = node;\n onResponderTerminate(event);\n }\n\n changeCurrentResponder(emptyResponder);\n }\n\n isEmulatingMouseEvents = false;\n trackedTouchCount = 0;\n}\n/**\n * Allow unit tests to inspect the current responder in the system.\n * FOR TESTING ONLY.\n */\n\nexport function getResponderNode() {\n return currentResponder.node;\n}","/**\n * Copyright (c) Meta Platforms, Inc. and 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 */\nimport { isStartish, isMoveish, isEndish } from './ResponderEventTypes';\n\n/**\n * Tracks the position and time of each active touch by `touch.identifier`. We\n * should typically only see IDs in the range of 1-20 because IDs get recycled\n * when touches end and start again.\n */\nvar __DEV__ = process.env.NODE_ENV !== 'production';\n\nvar MAX_TOUCH_BANK = 20;\n\nfunction timestampForTouch(touch) {\n // The legacy internal implementation provides \"timeStamp\", which has been\n // renamed to \"timestamp\".\n return touch.timeStamp || touch.timestamp;\n}\n/**\n * TODO: Instead of making gestures recompute filtered velocity, we could\n * include a built in velocity computation that can be reused globally.\n */\n\n\nfunction createTouchRecord(touch) {\n return {\n touchActive: true,\n startPageX: touch.pageX,\n startPageY: touch.pageY,\n startTimeStamp: timestampForTouch(touch),\n currentPageX: touch.pageX,\n currentPageY: touch.pageY,\n currentTimeStamp: timestampForTouch(touch),\n previousPageX: touch.pageX,\n previousPageY: touch.pageY,\n previousTimeStamp: timestampForTouch(touch)\n };\n}\n\nfunction resetTouchRecord(touchRecord, touch) {\n touchRecord.touchActive = true;\n touchRecord.startPageX = touch.pageX;\n touchRecord.startPageY = touch.pageY;\n touchRecord.startTimeStamp = timestampForTouch(touch);\n touchRecord.currentPageX = touch.pageX;\n touchRecord.currentPageY = touch.pageY;\n touchRecord.currentTimeStamp = timestampForTouch(touch);\n touchRecord.previousPageX = touch.pageX;\n touchRecord.previousPageY = touch.pageY;\n touchRecord.previousTimeStamp = timestampForTouch(touch);\n}\n\nfunction getTouchIdentifier(_ref) {\n var identifier = _ref.identifier;\n\n if (identifier == null) {\n console.error('Touch object is missing identifier.');\n }\n\n if (__DEV__) {\n if (identifier > MAX_TOUCH_BANK) {\n console.error('Touch identifier %s is greater than maximum supported %s which causes ' + 'performance issues backfilling array locations for all of the indices.', identifier, MAX_TOUCH_BANK);\n }\n }\n\n return identifier;\n}\n\nfunction recordTouchStart(touch, touchHistory) {\n var identifier = getTouchIdentifier(touch);\n var touchRecord = touchHistory.touchBank[identifier];\n\n if (touchRecord) {\n resetTouchRecord(touchRecord, touch);\n } else {\n touchHistory.touchBank[identifier] = createTouchRecord(touch);\n }\n\n touchHistory.mostRecentTimeStamp = timestampForTouch(touch);\n}\n\nfunction recordTouchMove(touch, touchHistory) {\n var touchRecord = touchHistory.touchBank[getTouchIdentifier(touch)];\n\n if (touchRecord) {\n touchRecord.touchActive = true;\n touchRecord.previousPageX = touchRecord.currentPageX;\n touchRecord.previousPageY = touchRecord.currentPageY;\n touchRecord.previousTimeStamp = touchRecord.currentTimeStamp;\n touchRecord.currentPageX = touch.pageX;\n touchRecord.currentPageY = touch.pageY;\n touchRecord.currentTimeStamp = timestampForTouch(touch);\n touchHistory.mostRecentTimeStamp = timestampForTouch(touch);\n } else {\n console.warn('Cannot record touch move without a touch start.\\n', \"Touch Move: \" + printTouch(touch) + \"\\n\", \"Touch Bank: \" + printTouchBank(touchHistory));\n }\n}\n\nfunction recordTouchEnd(touch, touchHistory) {\n var touchRecord = touchHistory.touchBank[getTouchIdentifier(touch)];\n\n if (touchRecord) {\n touchRecord.touchActive = false;\n touchRecord.previousPageX = touchRecord.currentPageX;\n touchRecord.previousPageY = touchRecord.currentPageY;\n touchRecord.previousTimeStamp = touchRecord.currentTimeStamp;\n touchRecord.currentPageX = touch.pageX;\n touchRecord.currentPageY = touch.pageY;\n touchRecord.currentTimeStamp = timestampForTouch(touch);\n touchHistory.mostRecentTimeStamp = timestampForTouch(touch);\n } else {\n console.warn('Cannot record touch end without a touch start.\\n', \"Touch End: \" + printTouch(touch) + \"\\n\", \"Touch Bank: \" + printTouchBank(touchHistory));\n }\n}\n\nfunction printTouch(touch) {\n return JSON.stringify({\n identifier: touch.identifier,\n pageX: touch.pageX,\n pageY: touch.pageY,\n timestamp: timestampForTouch(touch)\n });\n}\n\nfunction printTouchBank(touchHistory) {\n var touchBank = touchHistory.touchBank;\n var printed = JSON.stringify(touchBank.slice(0, MAX_TOUCH_BANK));\n\n if (touchBank.length > MAX_TOUCH_BANK) {\n printed += ' (original size: ' + touchBank.length + ')';\n }\n\n return printed;\n}\n\nexport class ResponderTouchHistoryStore {\n constructor() {\n this._touchHistory = {\n touchBank: [],\n //Array\n numberActiveTouches: 0,\n // If there is only one active touch, we remember its location. This prevents\n // us having to loop through all of the touches all the time in the most\n // common case.\n indexOfSingleActiveTouch: -1,\n mostRecentTimeStamp: 0\n };\n }\n\n recordTouchTrack(topLevelType, nativeEvent) {\n var touchHistory = this._touchHistory;\n\n if (isMoveish(topLevelType)) {\n nativeEvent.changedTouches.forEach(touch => recordTouchMove(touch, touchHistory));\n } else if (isStartish(topLevelType)) {\n nativeEvent.changedTouches.forEach(touch => recordTouchStart(touch, touchHistory));\n touchHistory.numberActiveTouches = nativeEvent.touches.length;\n\n if (touchHistory.numberActiveTouches === 1) {\n touchHistory.indexOfSingleActiveTouch = nativeEvent.touches[0].identifier;\n }\n } else if (isEndish(topLevelType)) {\n nativeEvent.changedTouches.forEach(touch => recordTouchEnd(touch, touchHistory));\n touchHistory.numberActiveTouches = nativeEvent.touches.length;\n\n if (touchHistory.numberActiveTouches === 1) {\n var touchBank = touchHistory.touchBank;\n\n for (var i = 0; i < touchBank.length; i++) {\n var touchTrackToCheck = touchBank[i];\n\n if (touchTrackToCheck != null && touchTrackToCheck.touchActive) {\n touchHistory.indexOfSingleActiveTouch = i;\n break;\n }\n }\n\n if (__DEV__) {\n var activeRecord = touchBank[touchHistory.indexOfSingleActiveTouch];\n\n if (!(activeRecord != null && activeRecord.touchActive)) {\n console.error('Cannot find single active touch.');\n }\n }\n }\n }\n }\n\n get touchHistory() {\n return this._touchHistory;\n }\n\n}","/**\n * Copyright (c) Nicolas Gallagher\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 */\nimport getBoundingClientRect from '../../modules/getBoundingClientRect';\n\nvar emptyFunction = () => {};\n\nvar emptyObject = {};\nvar emptyArray = [];\n/**\n * Safari produces very large identifiers that would cause the `touchBank` array\n * length to be so large as to crash the browser, if not normalized like this.\n * In the future the `touchBank` should use an object/map instead.\n */\n\nfunction normalizeIdentifier(identifier) {\n return identifier > 20 ? identifier % 20 : identifier;\n}\n/**\n * Converts a native DOM event to a ResponderEvent.\n * Mouse events are transformed into fake touch events.\n */\n\n\nexport default function createResponderEvent(domEvent, responderTouchHistoryStore) {\n var rect;\n var propagationWasStopped = false;\n var changedTouches;\n var touches;\n var domEventChangedTouches = domEvent.changedTouches;\n var domEventType = domEvent.type;\n var metaKey = domEvent.metaKey === true;\n var shiftKey = domEvent.shiftKey === true;\n var force = domEventChangedTouches && domEventChangedTouches[0].force || 0;\n var identifier = normalizeIdentifier(domEventChangedTouches && domEventChangedTouches[0].identifier || 0);\n var clientX = domEventChangedTouches && domEventChangedTouches[0].clientX || domEvent.clientX;\n var clientY = domEventChangedTouches && domEventChangedTouches[0].clientY || domEvent.clientY;\n var pageX = domEventChangedTouches && domEventChangedTouches[0].pageX || domEvent.pageX;\n var pageY = domEventChangedTouches && domEventChangedTouches[0].pageY || domEvent.pageY;\n var preventDefault = typeof domEvent.preventDefault === 'function' ? domEvent.preventDefault.bind(domEvent) : emptyFunction;\n var timestamp = domEvent.timeStamp;\n\n function normalizeTouches(touches) {\n return Array.prototype.slice.call(touches).map(touch => {\n return {\n force: touch.force,\n identifier: normalizeIdentifier(touch.identifier),\n\n get locationX() {\n return locationX(touch.clientX);\n },\n\n get locationY() {\n return locationY(touch.clientY);\n },\n\n pageX: touch.pageX,\n pageY: touch.pageY,\n target: touch.target,\n timestamp\n };\n });\n }\n\n if (domEventChangedTouches != null) {\n changedTouches = normalizeTouches(domEventChangedTouches);\n touches = normalizeTouches(domEvent.touches);\n } else {\n var emulatedTouches = [{\n force,\n identifier,\n\n get locationX() {\n return locationX(clientX);\n },\n\n get locationY() {\n return locationY(clientY);\n },\n\n pageX,\n pageY,\n target: domEvent.target,\n timestamp\n }];\n changedTouches = emulatedTouches;\n touches = domEventType === 'mouseup' || domEventType === 'dragstart' ? emptyArray : emulatedTouches;\n }\n\n var responderEvent = {\n bubbles: true,\n cancelable: true,\n // `currentTarget` is set before dispatch\n currentTarget: null,\n defaultPrevented: domEvent.defaultPrevented,\n dispatchConfig: emptyObject,\n eventPhase: domEvent.eventPhase,\n\n isDefaultPrevented() {\n return domEvent.defaultPrevented;\n },\n\n isPropagationStopped() {\n return propagationWasStopped;\n },\n\n isTrusted: domEvent.isTrusted,\n nativeEvent: {\n altKey: false,\n ctrlKey: false,\n metaKey,\n shiftKey,\n changedTouches,\n force,\n identifier,\n\n get locationX() {\n return locationX(clientX);\n },\n\n get locationY() {\n return locationY(clientY);\n },\n\n pageX,\n pageY,\n target: domEvent.target,\n timestamp,\n touches,\n type: domEventType\n },\n persist: emptyFunction,\n preventDefault,\n\n stopPropagation() {\n propagationWasStopped = true;\n },\n\n target: domEvent.target,\n timeStamp: timestamp,\n touchHistory: responderTouchHistoryStore.touchHistory\n }; // Using getters and functions serves two purposes:\n // 1) The value of `currentTarget` is not initially available.\n // 2) Measuring the clientRect may cause layout jank and should only be done on-demand.\n\n function locationX(x) {\n rect = rect || getBoundingClientRect(responderEvent.currentTarget);\n\n if (rect) {\n return x - rect.left;\n }\n }\n\n function locationY(y) {\n rect = rect || getBoundingClientRect(responderEvent.currentTarget);\n\n if (rect) {\n return y - rect.top;\n }\n }\n\n return responderEvent;\n}","/**\n * Copyright (c) Nicolas Gallagher\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 */\n\n/**\n * Hook for integrating the Responder System into React\n *\n * function SomeComponent({ onStartShouldSetResponder }) {\n * const ref = useRef(null);\n * useResponderEvents(ref, { onStartShouldSetResponder });\n * return
\n * }\n */\nimport * as React from 'react';\nimport * as ResponderSystem from './ResponderSystem';\nvar emptyObject = {};\nvar idCounter = 0;\n\nfunction useStable(getInitialValue) {\n var ref = React.useRef(null);\n\n if (ref.current == null) {\n ref.current = getInitialValue();\n }\n\n return ref.current;\n}\n\nexport default function useResponderEvents(hostRef, config) {\n if (config === void 0) {\n config = emptyObject;\n }\n\n var id = useStable(() => idCounter++);\n var isAttachedRef = React.useRef(false); // This is a separate effects so it doesn't run when the config changes.\n // On initial mount, attach global listeners if needed.\n // On unmount, remove node potentially attached to the Responder System.\n\n React.useEffect(() => {\n ResponderSystem.attachListeners();\n return () => {\n ResponderSystem.removeNode(id);\n };\n }, [id]); // Register and unregister with the Responder System as necessary\n\n React.useEffect(() => {\n var _config = config,\n onMoveShouldSetResponder = _config.onMoveShouldSetResponder,\n onMoveShouldSetResponderCapture = _config.onMoveShouldSetResponderCapture,\n onScrollShouldSetResponder = _config.onScrollShouldSetResponder,\n onScrollShouldSetResponderCapture = _config.onScrollShouldSetResponderCapture,\n onSelectionChangeShouldSetResponder = _config.onSelectionChangeShouldSetResponder,\n onSelectionChangeShouldSetResponderCapture = _config.onSelectionChangeShouldSetResponderCapture,\n onStartShouldSetResponder = _config.onStartShouldSetResponder,\n onStartShouldSetResponderCapture = _config.onStartShouldSetResponderCapture;\n var requiresResponderSystem = onMoveShouldSetResponder != null || onMoveShouldSetResponderCapture != null || onScrollShouldSetResponder != null || onScrollShouldSetResponderCapture != null || onSelectionChangeShouldSetResponder != null || onSelectionChangeShouldSetResponderCapture != null || onStartShouldSetResponder != null || onStartShouldSetResponderCapture != null;\n var node = hostRef.current;\n\n if (requiresResponderSystem) {\n ResponderSystem.addNode(id, node, config);\n isAttachedRef.current = true;\n } else if (isAttachedRef.current) {\n ResponderSystem.removeNode(id);\n isAttachedRef.current = false;\n }\n }, [config, hostRef, id]);\n React.useDebugValue({\n isResponder: hostRef.current === ResponderSystem.getResponderNode()\n });\n React.useDebugValue(config);\n}","/**\n * Copyright (c) Nicolas Gallagher\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 */\nimport isSelectionValid from '../../modules/isSelectionValid';\nvar keyName = '__reactResponderId';\n\nfunction getEventPath(domEvent) {\n // The 'selectionchange' event always has the 'document' as the target.\n // Use the anchor node as the initial target to reconstruct a path.\n // (We actually only need the first \"responder\" node in practice.)\n if (domEvent.type === 'selectionchange') {\n var target = window.getSelection().anchorNode;\n return composedPathFallback(target);\n } else {\n var path = domEvent.composedPath != null ? domEvent.composedPath() : composedPathFallback(domEvent.target);\n return path;\n }\n}\n\nfunction composedPathFallback(target) {\n var path = [];\n\n while (target != null && target !== document.body) {\n path.push(target);\n target = target.parentNode;\n }\n\n return path;\n}\n/**\n * Retrieve the responderId from a host node\n */\n\n\nfunction getResponderId(node) {\n if (node != null) {\n return node[keyName];\n }\n\n return null;\n}\n/**\n * Store the responderId on a host node\n */\n\n\nexport function setResponderId(node, id) {\n if (node != null) {\n node[keyName] = id;\n }\n}\n/**\n * Filter the event path to contain only the nodes attached to the responder system\n */\n\nexport function getResponderPaths(domEvent) {\n var idPath = [];\n var nodePath = [];\n var eventPath = getEventPath(domEvent);\n\n for (var i = 0; i < eventPath.length; i++) {\n var node = eventPath[i];\n var id = getResponderId(node);\n\n if (id != null) {\n idPath.push(id);\n nodePath.push(node);\n }\n }\n\n return {\n idPath,\n nodePath\n };\n}\n/**\n * Walk the paths and find the first common ancestor\n */\n\nexport function getLowestCommonAncestor(pathA, pathB) {\n var pathALength = pathA.length;\n var pathBLength = pathB.length;\n\n if ( // If either path is empty\n pathALength === 0 || pathBLength === 0 || // If the last elements aren't the same there can't be a common ancestor\n // that is connected to the responder system\n pathA[pathALength - 1] !== pathB[pathBLength - 1]) {\n return null;\n }\n\n var itemA = pathA[0];\n var indexA = 0;\n var itemB = pathB[0];\n var indexB = 0; // If A is deeper, skip indices that can't match.\n\n if (pathALength - pathBLength > 0) {\n indexA = pathALength - pathBLength;\n itemA = pathA[indexA];\n pathALength = pathBLength;\n } // If B is deeper, skip indices that can't match\n\n\n if (pathBLength - pathALength > 0) {\n indexB = pathBLength - pathALength;\n itemB = pathB[indexB];\n pathBLength = pathALength;\n } // Walk in lockstep until a match is found\n\n\n var depth = pathALength;\n\n while (depth--) {\n if (itemA === itemB) {\n return itemA;\n }\n\n itemA = pathA[indexA++];\n itemB = pathB[indexB++];\n }\n\n return null;\n}\n/**\n * Determine whether any of the active touches are within the current responder.\n * This cannot rely on W3C `targetTouches`, as neither IE11 nor Safari implement it.\n */\n\nexport function hasTargetTouches(target, touches) {\n if (!touches || touches.length === 0) {\n return false;\n }\n\n for (var i = 0; i < touches.length; i++) {\n var node = touches[i].target;\n\n if (node != null) {\n if (target.contains(node)) {\n return true;\n }\n }\n }\n\n return false;\n}\n/**\n * Ignore 'selectionchange' events that don't correspond with a person's intent to\n * select text.\n */\n\nexport function hasValidSelection(domEvent) {\n if (domEvent.type === 'selectionchange') {\n return isSelectionValid();\n }\n\n return domEvent.type === 'select';\n}\n/**\n * Events are only valid if the primary button was used without specific modifier keys.\n */\n\nexport function isPrimaryPointerDown(domEvent) {\n var altKey = domEvent.altKey,\n button = domEvent.button,\n buttons = domEvent.buttons,\n ctrlKey = domEvent.ctrlKey,\n type = domEvent.type;\n var isTouch = type === 'touchstart' || type === 'touchmove';\n var isPrimaryMouseDown = type === 'mousedown' && (button === 0 || buttons === 1);\n var isPrimaryMouseMove = type === 'mousemove' && buttons === 1;\n var noModifiers = altKey === false && ctrlKey === false;\n\n if (isTouch || isPrimaryMouseDown && noModifiers || isPrimaryMouseMove && noModifiers) {\n return true;\n }\n\n return false;\n}","/**\n * Copyright (c) Meta Platforms, Inc. and 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 */\nimport * as React from 'react';\nvar UNINITIALIZED = typeof Symbol === 'function' && typeof Symbol() === 'symbol' ? Symbol() : Object.freeze({});\nexport default function useStable(getInitialValue) {\n var ref = React.useRef(UNINITIALIZED);\n\n if (ref.current === UNINITIALIZED) {\n ref.current = getInitialValue();\n } // $FlowFixMe (#64650789) Trouble refining types where `Symbol` is concerned.\n\n\n return ref.current;\n}","import _objectSpread from \"@babel/runtime/helpers/objectSpread2\";\n\n/**\n * Copyright (c) Meta Platforms, Inc. and 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 * @format\n */\nimport Platform from '../../../exports/Platform';\nimport FlatList from './components/AnimatedFlatList';\nimport Image from './components/AnimatedImage';\nimport ScrollView from './components/AnimatedScrollView';\nimport SectionList from './components/AnimatedSectionList';\nimport Text from './components/AnimatedText';\nimport View from './components/AnimatedView';\nimport AnimatedMock from './AnimatedMock';\nimport AnimatedImplementation from './AnimatedImplementation';\nvar Animated = Platform.isTesting ? AnimatedMock : AnimatedImplementation;\nexport default _objectSpread({\n FlatList,\n Image,\n ScrollView,\n SectionList,\n Text,\n View\n}, Animated);","/**\n * Copyright (c) Meta Platforms, Inc. and 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 * @format\n */\n'use strict';\n\nimport AnimatedValue from './nodes/AnimatedValue';\nimport NativeAnimatedHelper from './NativeAnimatedHelper';\nimport findNodeHandle from '../../../exports/findNodeHandle';\nimport invariant from 'fbjs/lib/invariant';\nimport { shouldUseNativeDriver } from './NativeAnimatedHelper';\n\nvar __DEV__ = process.env.NODE_ENV !== 'production';\n\nexport function attachNativeEvent(viewRef, eventName, argMapping) {\n // Find animated values in `argMapping` and create an array representing their\n // key path inside the `nativeEvent` object. Ex.: ['contentOffset', 'x'].\n var eventMappings = [];\n\n var traverse = (value, path) => {\n if (value instanceof AnimatedValue) {\n value.__makeNative();\n\n eventMappings.push({\n nativeEventPath: path,\n animatedValueTag: value.__getNativeTag()\n });\n } else if (typeof value === 'object') {\n for (var _key in value) {\n traverse(value[_key], path.concat(_key));\n }\n }\n };\n\n invariant(argMapping[0] && argMapping[0].nativeEvent, 'Native driven events only support animated values contained inside `nativeEvent`.'); // Assume that the event containing `nativeEvent` is always the first argument.\n\n traverse(argMapping[0].nativeEvent, []);\n var viewTag = findNodeHandle(viewRef);\n\n if (viewTag != null) {\n eventMappings.forEach(mapping => {\n NativeAnimatedHelper.API.addAnimatedEventToView(viewTag, eventName, mapping);\n });\n }\n\n return {\n detach() {\n if (viewTag != null) {\n eventMappings.forEach(mapping => {\n NativeAnimatedHelper.API.removeAnimatedEventFromView(viewTag, eventName, // $FlowFixMe[incompatible-call]\n mapping.animatedValueTag);\n });\n }\n }\n\n };\n}\n\nfunction validateMapping(argMapping, args) {\n var validate = (recMapping, recEvt, key) => {\n if (recMapping instanceof AnimatedValue) {\n invariant(typeof recEvt === 'number', 'Bad mapping of event key ' + key + ', should be number but got ' + typeof recEvt);\n return;\n }\n\n if (typeof recEvt === 'number') {\n invariant(recMapping instanceof AnimatedValue, 'Bad mapping of type ' + typeof recMapping + ' for key ' + key + ', event value must map to AnimatedValue');\n return;\n }\n\n invariant(typeof recMapping === 'object', 'Bad mapping of type ' + typeof recMapping + ' for key ' + key);\n invariant(typeof recEvt === 'object', 'Bad event of type ' + typeof recEvt + ' for key ' + key);\n\n for (var mappingKey in recMapping) {\n validate(recMapping[mappingKey], recEvt[mappingKey], mappingKey);\n }\n };\n\n invariant(args.length >= argMapping.length, 'Event has less arguments than mapping');\n argMapping.forEach((mapping, idx) => {\n validate(mapping, args[idx], 'arg' + idx);\n });\n}\n\nexport class AnimatedEvent {\n constructor(argMapping, config) {\n this._listeners = [];\n this._argMapping = argMapping;\n\n if (config == null) {\n console.warn('Animated.event now requires a second argument for options');\n config = {\n useNativeDriver: false\n };\n }\n\n if (config.listener) {\n this.__addListener(config.listener);\n }\n\n this._callListeners = this._callListeners.bind(this);\n this._attachedEvent = null;\n this.__isNative = shouldUseNativeDriver(config);\n }\n\n __addListener(callback) {\n this._listeners.push(callback);\n }\n\n __removeListener(callback) {\n this._listeners = this._listeners.filter(listener => listener !== callback);\n }\n\n __attach(viewRef, eventName) {\n invariant(this.__isNative, 'Only native driven events need to be attached.');\n this._attachedEvent = attachNativeEvent(viewRef, eventName, this._argMapping);\n }\n\n __detach(viewTag, eventName) {\n invariant(this.__isNative, 'Only native driven events need to be detached.');\n this._attachedEvent && this._attachedEvent.detach();\n }\n\n __getHandler() {\n var _this = this;\n\n if (this.__isNative) {\n if (__DEV__) {\n var _validatedMapping = false;\n return function () {\n for (var _len = arguments.length, args = new Array(_len), _key2 = 0; _key2 < _len; _key2++) {\n args[_key2] = arguments[_key2];\n }\n\n if (!_validatedMapping) {\n validateMapping(_this._argMapping, args);\n _validatedMapping = true;\n }\n\n _this._callListeners(...args);\n };\n } else {\n return this._callListeners;\n }\n }\n\n var validatedMapping = false;\n return function () {\n for (var _len2 = arguments.length, args = new Array(_len2), _key3 = 0; _key3 < _len2; _key3++) {\n args[_key3] = arguments[_key3];\n }\n\n if (__DEV__ && !validatedMapping) {\n validateMapping(_this._argMapping, args);\n validatedMapping = true;\n }\n\n var traverse = (recMapping, recEvt, key) => {\n if (recMapping instanceof AnimatedValue) {\n if (typeof recEvt === 'number') {\n recMapping.setValue(recEvt);\n }\n } else if (typeof recMapping === 'object') {\n for (var mappingKey in recMapping) {\n /* $FlowFixMe(>=0.120.0) This comment suppresses an error found\n * when Flow v0.120 was deployed. To see the error, delete this\n * comment and run Flow. */\n traverse(recMapping[mappingKey], recEvt[mappingKey], mappingKey);\n }\n }\n };\n\n _this._argMapping.forEach((mapping, idx) => {\n traverse(mapping, args[idx], 'arg' + idx);\n });\n\n _this._callListeners(...args);\n };\n }\n\n _callListeners() {\n for (var _len3 = arguments.length, args = new Array(_len3), _key4 = 0; _key4 < _len3; _key4++) {\n args[_key4] = arguments[_key4];\n }\n\n this._listeners.forEach(listener => listener(...args));\n }\n\n}","/**\n * Copyright (c) Meta Platforms, Inc. and 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 * @format\n */\n'use strict';\n\nimport _objectSpread from \"@babel/runtime/helpers/objectSpread2\";\nimport { AnimatedEvent, attachNativeEvent } from './AnimatedEvent';\nimport AnimatedAddition from './nodes/AnimatedAddition';\nimport AnimatedDiffClamp from './nodes/AnimatedDiffClamp';\nimport AnimatedDivision from './nodes/AnimatedDivision';\nimport AnimatedInterpolation from './nodes/AnimatedInterpolation';\nimport AnimatedModulo from './nodes/AnimatedModulo';\nimport AnimatedMultiplication from './nodes/AnimatedMultiplication';\nimport AnimatedNode from './nodes/AnimatedNode';\nimport AnimatedProps from './nodes/AnimatedProps';\nimport AnimatedSubtraction from './nodes/AnimatedSubtraction';\nimport AnimatedTracking from './nodes/AnimatedTracking';\nimport AnimatedValue from './nodes/AnimatedValue';\nimport AnimatedValueXY from './nodes/AnimatedValueXY';\nimport DecayAnimation from './animations/DecayAnimation';\nimport SpringAnimation from './animations/SpringAnimation';\nimport TimingAnimation from './animations/TimingAnimation';\nimport createAnimatedComponent from './createAnimatedComponent';\n\nvar add = function add(a, b) {\n return new AnimatedAddition(a, b);\n};\n\nvar subtract = function subtract(a, b) {\n return new AnimatedSubtraction(a, b);\n};\n\nvar divide = function divide(a, b) {\n return new AnimatedDivision(a, b);\n};\n\nvar multiply = function multiply(a, b) {\n return new AnimatedMultiplication(a, b);\n};\n\nvar modulo = function modulo(a, modulus) {\n return new AnimatedModulo(a, modulus);\n};\n\nvar diffClamp = function diffClamp(a, min, max) {\n return new AnimatedDiffClamp(a, min, max);\n};\n\nvar _combineCallbacks = function _combineCallbacks(callback, config) {\n if (callback && config.onComplete) {\n return function () {\n config.onComplete && config.onComplete(...arguments);\n callback && callback(...arguments);\n };\n } else {\n return callback || config.onComplete;\n }\n};\n\nvar maybeVectorAnim = function maybeVectorAnim(value, config, anim) {\n if (value instanceof AnimatedValueXY) {\n var configX = _objectSpread({}, config);\n\n var configY = _objectSpread({}, config);\n\n for (var key in config) {\n var _config$key = config[key],\n x = _config$key.x,\n y = _config$key.y;\n\n if (x !== undefined && y !== undefined) {\n configX[key] = x;\n configY[key] = y;\n }\n }\n\n var aX = anim(value.x, configX);\n var aY = anim(value.y, configY); // We use `stopTogether: false` here because otherwise tracking will break\n // because the second animation will get stopped before it can update.\n\n return parallel([aX, aY], {\n stopTogether: false\n });\n }\n\n return null;\n};\n\nvar spring = function spring(value, config) {\n var _start = function start(animatedValue, configuration, callback) {\n callback = _combineCallbacks(callback, configuration);\n var singleValue = animatedValue;\n var singleConfig = configuration;\n singleValue.stopTracking();\n\n if (configuration.toValue instanceof AnimatedNode) {\n singleValue.track(new AnimatedTracking(singleValue, configuration.toValue, SpringAnimation, singleConfig, callback));\n } else {\n singleValue.animate(new SpringAnimation(singleConfig), callback);\n }\n };\n\n return maybeVectorAnim(value, config, spring) || {\n start: function start(callback) {\n _start(value, config, callback);\n },\n stop: function stop() {\n value.stopAnimation();\n },\n reset: function reset() {\n value.resetAnimation();\n },\n _startNativeLoop: function _startNativeLoop(iterations) {\n var singleConfig = _objectSpread(_objectSpread({}, config), {}, {\n iterations\n });\n\n _start(value, singleConfig);\n },\n _isUsingNativeDriver: function _isUsingNativeDriver() {\n return config.useNativeDriver || false;\n }\n };\n};\n\nvar timing = function timing(value, config) {\n var _start2 = function start(animatedValue, configuration, callback) {\n callback = _combineCallbacks(callback, configuration);\n var singleValue = animatedValue;\n var singleConfig = configuration;\n singleValue.stopTracking();\n\n if (configuration.toValue instanceof AnimatedNode) {\n singleValue.track(new AnimatedTracking(singleValue, configuration.toValue, TimingAnimation, singleConfig, callback));\n } else {\n singleValue.animate(new TimingAnimation(singleConfig), callback);\n }\n };\n\n return maybeVectorAnim(value, config, timing) || {\n start: function start(callback) {\n _start2(value, config, callback);\n },\n stop: function stop() {\n value.stopAnimation();\n },\n reset: function reset() {\n value.resetAnimation();\n },\n _startNativeLoop: function _startNativeLoop(iterations) {\n var singleConfig = _objectSpread(_objectSpread({}, config), {}, {\n iterations\n });\n\n _start2(value, singleConfig);\n },\n _isUsingNativeDriver: function _isUsingNativeDriver() {\n return config.useNativeDriver || false;\n }\n };\n};\n\nvar decay = function decay(value, config) {\n var _start3 = function start(animatedValue, configuration, callback) {\n callback = _combineCallbacks(callback, configuration);\n var singleValue = animatedValue;\n var singleConfig = configuration;\n singleValue.stopTracking();\n singleValue.animate(new DecayAnimation(singleConfig), callback);\n };\n\n return maybeVectorAnim(value, config, decay) || {\n start: function start(callback) {\n _start3(value, config, callback);\n },\n stop: function stop() {\n value.stopAnimation();\n },\n reset: function reset() {\n value.resetAnimation();\n },\n _startNativeLoop: function _startNativeLoop(iterations) {\n var singleConfig = _objectSpread(_objectSpread({}, config), {}, {\n iterations\n });\n\n _start3(value, singleConfig);\n },\n _isUsingNativeDriver: function _isUsingNativeDriver() {\n return config.useNativeDriver || false;\n }\n };\n};\n\nvar sequence = function sequence(animations) {\n var current = 0;\n return {\n start: function start(callback) {\n var onComplete = function onComplete(result) {\n if (!result.finished) {\n callback && callback(result);\n return;\n }\n\n current++;\n\n if (current === animations.length) {\n callback && callback(result);\n return;\n }\n\n animations[current].start(onComplete);\n };\n\n if (animations.length === 0) {\n callback && callback({\n finished: true\n });\n } else {\n animations[current].start(onComplete);\n }\n },\n stop: function stop() {\n if (current < animations.length) {\n animations[current].stop();\n }\n },\n reset: function reset() {\n animations.forEach((animation, idx) => {\n if (idx <= current) {\n animation.reset();\n }\n });\n current = 0;\n },\n _startNativeLoop: function _startNativeLoop() {\n throw new Error('Loops run using the native driver cannot contain Animated.sequence animations');\n },\n _isUsingNativeDriver: function _isUsingNativeDriver() {\n return false;\n }\n };\n};\n\nvar parallel = function parallel(animations, config) {\n var doneCount = 0; // Make sure we only call stop() at most once for each animation\n\n var hasEnded = {};\n var stopTogether = !(config && config.stopTogether === false);\n var result = {\n start: function start(callback) {\n if (doneCount === animations.length) {\n callback && callback({\n finished: true\n });\n return;\n }\n\n animations.forEach((animation, idx) => {\n var cb = function cb(endResult) {\n hasEnded[idx] = true;\n doneCount++;\n\n if (doneCount === animations.length) {\n doneCount = 0;\n callback && callback(endResult);\n return;\n }\n\n if (!endResult.finished && stopTogether) {\n result.stop();\n }\n };\n\n if (!animation) {\n cb({\n finished: true\n });\n } else {\n animation.start(cb);\n }\n });\n },\n stop: function stop() {\n animations.forEach((animation, idx) => {\n !hasEnded[idx] && animation.stop();\n hasEnded[idx] = true;\n });\n },\n reset: function reset() {\n animations.forEach((animation, idx) => {\n animation.reset();\n hasEnded[idx] = false;\n doneCount = 0;\n });\n },\n _startNativeLoop: function _startNativeLoop() {\n throw new Error('Loops run using the native driver cannot contain Animated.parallel animations');\n },\n _isUsingNativeDriver: function _isUsingNativeDriver() {\n return false;\n }\n };\n return result;\n};\n\nvar delay = function delay(time) {\n // Would be nice to make a specialized implementation\n return timing(new AnimatedValue(0), {\n toValue: 0,\n delay: time,\n duration: 0,\n useNativeDriver: false\n });\n};\n\nvar stagger = function stagger(time, animations) {\n return parallel(animations.map((animation, i) => {\n return sequence([delay(time * i), animation]);\n }));\n};\n\nvar loop = function loop(animation, _temp) {\n var _ref = _temp === void 0 ? {} : _temp,\n _ref$iterations = _ref.iterations,\n iterations = _ref$iterations === void 0 ? -1 : _ref$iterations,\n _ref$resetBeforeItera = _ref.resetBeforeIteration,\n resetBeforeIteration = _ref$resetBeforeItera === void 0 ? true : _ref$resetBeforeItera;\n\n var isFinished = false;\n var iterationsSoFar = 0;\n return {\n start: function start(callback) {\n var restart = function restart(result) {\n if (result === void 0) {\n result = {\n finished: true\n };\n }\n\n if (isFinished || iterationsSoFar === iterations || result.finished === false) {\n callback && callback(result);\n } else {\n iterationsSoFar++;\n resetBeforeIteration && animation.reset();\n animation.start(restart);\n }\n };\n\n if (!animation || iterations === 0) {\n callback && callback({\n finished: true\n });\n } else {\n if (animation._isUsingNativeDriver()) {\n animation._startNativeLoop(iterations);\n } else {\n restart(); // Start looping recursively on the js thread\n }\n }\n },\n stop: function stop() {\n isFinished = true;\n animation.stop();\n },\n reset: function reset() {\n iterationsSoFar = 0;\n isFinished = false;\n animation.reset();\n },\n _startNativeLoop: function _startNativeLoop() {\n throw new Error('Loops run using the native driver cannot contain Animated.loop animations');\n },\n _isUsingNativeDriver: function _isUsingNativeDriver() {\n return animation._isUsingNativeDriver();\n }\n };\n};\n\nfunction forkEvent(event, listener) {\n if (!event) {\n return listener;\n } else if (event instanceof AnimatedEvent) {\n event.__addListener(listener);\n\n return event;\n } else {\n return function () {\n typeof event === 'function' && event(...arguments);\n listener(...arguments);\n };\n }\n}\n\nfunction unforkEvent(event, listener) {\n if (event && event instanceof AnimatedEvent) {\n event.__removeListener(listener);\n }\n}\n\nvar event = function event(argMapping, config) {\n var animatedEvent = new AnimatedEvent(argMapping, config);\n\n if (animatedEvent.__isNative) {\n return animatedEvent;\n } else {\n return animatedEvent.__getHandler();\n }\n};\n/**\n * The `Animated` library is designed to make animations fluid, powerful, and\n * easy to build and maintain. `Animated` focuses on declarative relationships\n * between inputs and outputs, with configurable transforms in between, and\n * simple `start`/`stop` methods to control time-based animation execution.\n * If additional transforms are added, be sure to include them in\n * AnimatedMock.js as well.\n *\n * See https://reactnative.dev/docs/animated.html\n */\n\n\nexport default {\n /**\n * Standard value class for driving animations. Typically initialized with\n * `new Animated.Value(0);`\n *\n * See https://reactnative.dev/docs/animated.html#value\n */\n Value: AnimatedValue,\n\n /**\n * 2D value class for driving 2D animations, such as pan gestures.\n *\n * See https://reactnative.dev/docs/animatedvaluexy.html\n */\n ValueXY: AnimatedValueXY,\n\n /**\n * Exported to use the Interpolation type in flow.\n *\n * See https://reactnative.dev/docs/animated.html#interpolation\n */\n Interpolation: AnimatedInterpolation,\n\n /**\n * Exported for ease of type checking. All animated values derive from this\n * class.\n *\n * See https://reactnative.dev/docs/animated.html#node\n */\n Node: AnimatedNode,\n\n /**\n * Animates a value from an initial velocity to zero based on a decay\n * coefficient.\n *\n * See https://reactnative.dev/docs/animated.html#decay\n */\n decay,\n\n /**\n * Animates a value along a timed easing curve. The Easing module has tons of\n * predefined curves, or you can use your own function.\n *\n * See https://reactnative.dev/docs/animated.html#timing\n */\n timing,\n\n /**\n * Animates a value according to an analytical spring model based on\n * damped harmonic oscillation.\n *\n * See https://reactnative.dev/docs/animated.html#spring\n */\n spring,\n\n /**\n * Creates a new Animated value composed from two Animated values added\n * together.\n *\n * See https://reactnative.dev/docs/animated.html#add\n */\n add,\n\n /**\n * Creates a new Animated value composed by subtracting the second Animated\n * value from the first Animated value.\n *\n * See https://reactnative.dev/docs/animated.html#subtract\n */\n subtract,\n\n /**\n * Creates a new Animated value composed by dividing the first Animated value\n * by the second Animated value.\n *\n * See https://reactnative.dev/docs/animated.html#divide\n */\n divide,\n\n /**\n * Creates a new Animated value composed from two Animated values multiplied\n * together.\n *\n * See https://reactnative.dev/docs/animated.html#multiply\n */\n multiply,\n\n /**\n * Creates a new Animated value that is the (non-negative) modulo of the\n * provided Animated value.\n *\n * See https://reactnative.dev/docs/animated.html#modulo\n */\n modulo,\n\n /**\n * Create a new Animated value that is limited between 2 values. It uses the\n * difference between the last value so even if the value is far from the\n * bounds it will start changing when the value starts getting closer again.\n *\n * See https://reactnative.dev/docs/animated.html#diffclamp\n */\n diffClamp,\n\n /**\n * Starts an animation after the given delay.\n *\n * See https://reactnative.dev/docs/animated.html#delay\n */\n delay,\n\n /**\n * Starts an array of animations in order, waiting for each to complete\n * before starting the next. If the current running animation is stopped, no\n * following animations will be started.\n *\n * See https://reactnative.dev/docs/animated.html#sequence\n */\n sequence,\n\n /**\n * Starts an array of animations all at the same time. By default, if one\n * of the animations is stopped, they will all be stopped. You can override\n * this with the `stopTogether` flag.\n *\n * See https://reactnative.dev/docs/animated.html#parallel\n */\n parallel,\n\n /**\n * Array of animations may run in parallel (overlap), but are started in\n * sequence with successive delays. Nice for doing trailing effects.\n *\n * See https://reactnative.dev/docs/animated.html#stagger\n */\n stagger,\n\n /**\n * Loops a given animation continuously, so that each time it reaches the\n * end, it resets and begins again from the start.\n *\n * See https://reactnative.dev/docs/animated.html#loop\n */\n loop,\n\n /**\n * Takes an array of mappings and extracts values from each arg accordingly,\n * then calls `setValue` on the mapped outputs.\n *\n * See https://reactnative.dev/docs/animated.html#event\n */\n event,\n\n /**\n * Make any React component Animatable. Used to create `Animated.View`, etc.\n *\n * See https://reactnative.dev/docs/animated.html#createanimatedcomponent\n */\n createAnimatedComponent,\n\n /**\n * Imperative API to attach an animated value to an event on a view. Prefer\n * using `Animated.event` with `useNativeDrive: true` if possible.\n *\n * See https://reactnative.dev/docs/animated.html#attachnativeevent\n */\n attachNativeEvent,\n\n /**\n * Advanced imperative API for snooping on animated events that are passed in\n * through props. Use values directly where possible.\n *\n * See https://reactnative.dev/docs/animated.html#forkevent\n */\n forkEvent,\n unforkEvent,\n\n /**\n * Expose Event class, so it can be used as a type for type checkers.\n */\n Event: AnimatedEvent,\n __PropsOnlyForTests: AnimatedProps\n};","/**\n * Copyright (c) Meta Platforms, Inc. and 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 * @format\n */\n'use strict';\n\nimport _objectSpread from \"@babel/runtime/helpers/objectSpread2\";\nimport { AnimatedEvent, attachNativeEvent } from './AnimatedEvent';\nimport AnimatedImplementation from './AnimatedImplementation';\nimport AnimatedInterpolation from './nodes/AnimatedInterpolation';\nimport AnimatedNode from './nodes/AnimatedNode';\nimport AnimatedProps from './nodes/AnimatedProps';\nimport AnimatedValue from './nodes/AnimatedValue';\nimport AnimatedValueXY from './nodes/AnimatedValueXY';\nimport createAnimatedComponent from './createAnimatedComponent';\nvar emptyAnimation = {\n start: () => {},\n stop: () => {},\n reset: () => {},\n _startNativeLoop: () => {},\n _isUsingNativeDriver: () => {\n return false;\n }\n};\n\nvar spring = function spring(value, config) {\n var anyValue = value;\n return _objectSpread(_objectSpread({}, emptyAnimation), {}, {\n start: callback => {\n anyValue.setValue(config.toValue);\n callback && callback({\n finished: true\n });\n }\n });\n};\n\nvar timing = function timing(value, config) {\n var anyValue = value;\n return _objectSpread(_objectSpread({}, emptyAnimation), {}, {\n start: callback => {\n anyValue.setValue(config.toValue);\n callback && callback({\n finished: true\n });\n }\n });\n};\n\nvar decay = function decay(value, config) {\n return emptyAnimation;\n};\n\nvar sequence = function sequence(animations) {\n return emptyAnimation;\n};\n\nvar parallel = function parallel(animations, config) {\n return emptyAnimation;\n};\n\nvar delay = function delay(time) {\n return emptyAnimation;\n};\n\nvar stagger = function stagger(time, animations) {\n return emptyAnimation;\n};\n\nvar loop = function loop(animation, _temp) {\n var _ref = _temp === void 0 ? {} : _temp,\n _ref$iterations = _ref.iterations,\n iterations = _ref$iterations === void 0 ? -1 : _ref$iterations;\n\n return emptyAnimation;\n};\n\nvar event = function event(argMapping, config) {\n return null;\n};\n\nexport default {\n Value: AnimatedValue,\n ValueXY: AnimatedValueXY,\n Interpolation: AnimatedInterpolation,\n Node: AnimatedNode,\n decay,\n timing,\n spring,\n add: AnimatedImplementation.add,\n subtract: AnimatedImplementation.subtract,\n divide: AnimatedImplementation.divide,\n multiply: AnimatedImplementation.multiply,\n modulo: AnimatedImplementation.modulo,\n diffClamp: AnimatedImplementation.diffClamp,\n delay,\n sequence,\n parallel,\n stagger,\n loop,\n event,\n createAnimatedComponent,\n attachNativeEvent,\n forkEvent: AnimatedImplementation.forkEvent,\n unforkEvent: AnimatedImplementation.unforkEvent,\n Event: AnimatedEvent,\n __PropsOnlyForTests: AnimatedProps\n};","/**\n * Copyright (c) Meta Platforms, Inc. and 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 * @format\n * \n */\n'use strict';\n\nimport _bezier from './bezier';\nvar ease;\n/**\n * The `Easing` module implements common easing functions. This module is used\n * by [Animate.timing()](docs/animate.html#timing) to convey physically\n * believable motion in animations.\n *\n * You can find a visualization of some common easing functions at\n * http://easings.net/\n *\n * ### Predefined animations\n *\n * The `Easing` module provides several predefined animations through the\n * following methods:\n *\n * - [`back`](docs/easing.html#back) provides a simple animation where the\n * object goes slightly back before moving forward\n * - [`bounce`](docs/easing.html#bounce) provides a bouncing animation\n * - [`ease`](docs/easing.html#ease) provides a simple inertial animation\n * - [`elastic`](docs/easing.html#elastic) provides a simple spring interaction\n *\n * ### Standard functions\n *\n * Three standard easing functions are provided:\n *\n * - [`linear`](docs/easing.html#linear)\n * - [`quad`](docs/easing.html#quad)\n * - [`cubic`](docs/easing.html#cubic)\n *\n * The [`poly`](docs/easing.html#poly) function can be used to implement\n * quartic, quintic, and other higher power functions.\n *\n * ### Additional functions\n *\n * Additional mathematical functions are provided by the following methods:\n *\n * - [`bezier`](docs/easing.html#bezier) provides a cubic bezier curve\n * - [`circle`](docs/easing.html#circle) provides a circular function\n * - [`sin`](docs/easing.html#sin) provides a sinusoidal function\n * - [`exp`](docs/easing.html#exp) provides an exponential function\n *\n * The following helpers are used to modify other easing functions.\n *\n * - [`in`](docs/easing.html#in) runs an easing function forwards\n * - [`inOut`](docs/easing.html#inout) makes any easing function symmetrical\n * - [`out`](docs/easing.html#out) runs an easing function backwards\n */\n\nclass Easing {\n /**\n * A stepping function, returns 1 for any positive value of `n`.\n */\n static step0(n) {\n return n > 0 ? 1 : 0;\n }\n /**\n * A stepping function, returns 1 if `n` is greater than or equal to 1.\n */\n\n\n static step1(n) {\n return n >= 1 ? 1 : 0;\n }\n /**\n * A linear function, `f(t) = t`. Position correlates to elapsed time one to\n * one.\n *\n * http://cubic-bezier.com/#0,0,1,1\n */\n\n\n static linear(t) {\n return t;\n }\n /**\n * A simple inertial interaction, similar to an object slowly accelerating to\n * speed.\n *\n * http://cubic-bezier.com/#.42,0,1,1\n */\n\n\n static ease(t) {\n if (!ease) {\n ease = Easing.bezier(0.42, 0, 1, 1);\n }\n\n return ease(t);\n }\n /**\n * A quadratic function, `f(t) = t * t`. Position equals the square of elapsed\n * time.\n *\n * http://easings.net/#easeInQuad\n */\n\n\n static quad(t) {\n return t * t;\n }\n /**\n * A cubic function, `f(t) = t * t * t`. Position equals the cube of elapsed\n * time.\n *\n * http://easings.net/#easeInCubic\n */\n\n\n static cubic(t) {\n return t * t * t;\n }\n /**\n * A power function. Position is equal to the Nth power of elapsed time.\n *\n * n = 4: http://easings.net/#easeInQuart\n * n = 5: http://easings.net/#easeInQuint\n */\n\n\n static poly(n) {\n return t => Math.pow(t, n);\n }\n /**\n * A sinusoidal function.\n *\n * http://easings.net/#easeInSine\n */\n\n\n static sin(t) {\n return 1 - Math.cos(t * Math.PI / 2);\n }\n /**\n * A circular function.\n *\n * http://easings.net/#easeInCirc\n */\n\n\n static circle(t) {\n return 1 - Math.sqrt(1 - t * t);\n }\n /**\n * An exponential function.\n *\n * http://easings.net/#easeInExpo\n */\n\n\n static exp(t) {\n return Math.pow(2, 10 * (t - 1));\n }\n /**\n * A simple elastic interaction, similar to a spring oscillating back and\n * forth.\n *\n * Default bounciness is 1, which overshoots a little bit once. 0 bounciness\n * doesn't overshoot at all, and bounciness of N > 1 will overshoot about N\n * times.\n *\n * http://easings.net/#easeInElastic\n */\n\n\n static elastic(bounciness) {\n if (bounciness === void 0) {\n bounciness = 1;\n }\n\n var p = bounciness * Math.PI;\n return t => 1 - Math.pow(Math.cos(t * Math.PI / 2), 3) * Math.cos(t * p);\n }\n /**\n * Use with `Animated.parallel()` to create a simple effect where the object\n * animates back slightly as the animation starts.\n *\n * Wolfram Plot:\n *\n * - http://tiny.cc/back_default (s = 1.70158, default)\n */\n\n\n static back(s) {\n if (s === void 0) {\n s = 1.70158;\n }\n\n return t => t * t * ((s + 1) * t - s);\n }\n /**\n * Provides a simple bouncing effect.\n *\n * http://easings.net/#easeInBounce\n */\n\n\n static bounce(t) {\n if (t < 1 / 2.75) {\n return 7.5625 * t * t;\n }\n\n if (t < 2 / 2.75) {\n var _t = t - 1.5 / 2.75;\n\n return 7.5625 * _t * _t + 0.75;\n }\n\n if (t < 2.5 / 2.75) {\n var _t2 = t - 2.25 / 2.75;\n\n return 7.5625 * _t2 * _t2 + 0.9375;\n }\n\n var t2 = t - 2.625 / 2.75;\n return 7.5625 * t2 * t2 + 0.984375;\n }\n /**\n * Provides a cubic bezier curve, equivalent to CSS Transitions'\n * `transition-timing-function`.\n *\n * A useful tool to visualize cubic bezier curves can be found at\n * http://cubic-bezier.com/\n */\n\n\n static bezier(x1, y1, x2, y2) {\n return _bezier(x1, y1, x2, y2);\n }\n /**\n * Runs an easing function forwards.\n */\n\n\n static in(easing) {\n return easing;\n }\n /**\n * Runs an easing function backwards.\n */\n\n\n static out(easing) {\n return t => 1 - easing(1 - t);\n }\n /**\n * Makes any easing function symmetrical. The easing function will run\n * forwards for half of the duration, then backwards for the rest of the\n * duration.\n */\n\n\n static inOut(easing) {\n return t => {\n if (t < 0.5) {\n return easing(t * 2) / 2;\n }\n\n return 1 - easing((1 - t) * 2) / 2;\n };\n }\n\n}\n\nexport default Easing;","/**\n * Copyright (c) Meta Platforms, Inc. and 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 * @format\n */\nimport NativeAnimatedNonTurboModule from './NativeAnimatedModule';\nimport NativeAnimatedTurboModule from './NativeAnimatedTurboModule';\nimport NativeEventEmitter from '../NativeEventEmitter';\nimport Platform from '../../../exports/Platform';\nimport invariant from 'fbjs/lib/invariant'; // TODO T69437152 @petetheheat - Delete this fork when Fabric ships to 100%.\n\nvar NativeAnimatedModule = Platform.OS === 'ios' && global.RN$Bridgeless ? NativeAnimatedTurboModule : NativeAnimatedNonTurboModule;\nvar __nativeAnimatedNodeTagCount = 1;\n/* used for animated nodes */\n\nvar __nativeAnimationIdCount = 1;\n/* used for started animations */\n\nvar nativeEventEmitter;\nvar waitingForQueuedOperations = new Set();\nvar queueOperations = false;\nvar queue = [];\n/**\n * Simple wrappers around NativeAnimatedModule to provide flow and autocomplete support for\n * the native module methods\n */\n\nvar API = {\n getValue: function getValue(tag, saveValueCallback) {\n invariant(NativeAnimatedModule, 'Native animated module is not available');\n\n if (NativeAnimatedModule.getValue) {\n NativeAnimatedModule.getValue(tag, saveValueCallback);\n }\n },\n setWaitingForIdentifier: function setWaitingForIdentifier(id) {\n waitingForQueuedOperations.add(id);\n queueOperations = true;\n },\n unsetWaitingForIdentifier: function unsetWaitingForIdentifier(id) {\n waitingForQueuedOperations.delete(id);\n\n if (waitingForQueuedOperations.size === 0) {\n queueOperations = false;\n API.disableQueue();\n }\n },\n disableQueue: function disableQueue() {\n invariant(NativeAnimatedModule, 'Native animated module is not available');\n\n if (Platform.OS === 'android') {\n NativeAnimatedModule.startOperationBatch();\n }\n\n for (var q = 0, l = queue.length; q < l; q++) {\n queue[q]();\n }\n\n queue.length = 0;\n\n if (Platform.OS === 'android') {\n NativeAnimatedModule.finishOperationBatch();\n }\n },\n queueOperation: fn => {\n if (queueOperations) {\n queue.push(fn);\n } else {\n fn();\n }\n },\n createAnimatedNode: function createAnimatedNode(tag, config) {\n invariant(NativeAnimatedModule, 'Native animated module is not available');\n API.queueOperation(() => NativeAnimatedModule.createAnimatedNode(tag, config));\n },\n startListeningToAnimatedNodeValue: function startListeningToAnimatedNodeValue(tag) {\n invariant(NativeAnimatedModule, 'Native animated module is not available');\n API.queueOperation(() => NativeAnimatedModule.startListeningToAnimatedNodeValue(tag));\n },\n stopListeningToAnimatedNodeValue: function stopListeningToAnimatedNodeValue(tag) {\n invariant(NativeAnimatedModule, 'Native animated module is not available');\n API.queueOperation(() => NativeAnimatedModule.stopListeningToAnimatedNodeValue(tag));\n },\n connectAnimatedNodes: function connectAnimatedNodes(parentTag, childTag) {\n invariant(NativeAnimatedModule, 'Native animated module is not available');\n API.queueOperation(() => NativeAnimatedModule.connectAnimatedNodes(parentTag, childTag));\n },\n disconnectAnimatedNodes: function disconnectAnimatedNodes(parentTag, childTag) {\n invariant(NativeAnimatedModule, 'Native animated module is not available');\n API.queueOperation(() => NativeAnimatedModule.disconnectAnimatedNodes(parentTag, childTag));\n },\n startAnimatingNode: function startAnimatingNode(animationId, nodeTag, config, endCallback) {\n invariant(NativeAnimatedModule, 'Native animated module is not available');\n API.queueOperation(() => NativeAnimatedModule.startAnimatingNode(animationId, nodeTag, config, endCallback));\n },\n stopAnimation: function stopAnimation(animationId) {\n invariant(NativeAnimatedModule, 'Native animated module is not available');\n API.queueOperation(() => NativeAnimatedModule.stopAnimation(animationId));\n },\n setAnimatedNodeValue: function setAnimatedNodeValue(nodeTag, value) {\n invariant(NativeAnimatedModule, 'Native animated module is not available');\n API.queueOperation(() => NativeAnimatedModule.setAnimatedNodeValue(nodeTag, value));\n },\n setAnimatedNodeOffset: function setAnimatedNodeOffset(nodeTag, offset) {\n invariant(NativeAnimatedModule, 'Native animated module is not available');\n API.queueOperation(() => NativeAnimatedModule.setAnimatedNodeOffset(nodeTag, offset));\n },\n flattenAnimatedNodeOffset: function flattenAnimatedNodeOffset(nodeTag) {\n invariant(NativeAnimatedModule, 'Native animated module is not available');\n API.queueOperation(() => NativeAnimatedModule.flattenAnimatedNodeOffset(nodeTag));\n },\n extractAnimatedNodeOffset: function extractAnimatedNodeOffset(nodeTag) {\n invariant(NativeAnimatedModule, 'Native animated module is not available');\n API.queueOperation(() => NativeAnimatedModule.extractAnimatedNodeOffset(nodeTag));\n },\n connectAnimatedNodeToView: function connectAnimatedNodeToView(nodeTag, viewTag) {\n invariant(NativeAnimatedModule, 'Native animated module is not available');\n API.queueOperation(() => NativeAnimatedModule.connectAnimatedNodeToView(nodeTag, viewTag));\n },\n disconnectAnimatedNodeFromView: function disconnectAnimatedNodeFromView(nodeTag, viewTag) {\n invariant(NativeAnimatedModule, 'Native animated module is not available');\n API.queueOperation(() => NativeAnimatedModule.disconnectAnimatedNodeFromView(nodeTag, viewTag));\n },\n restoreDefaultValues: function restoreDefaultValues(nodeTag) {\n invariant(NativeAnimatedModule, 'Native animated module is not available'); // Backwards compat with older native runtimes, can be removed later.\n\n if (NativeAnimatedModule.restoreDefaultValues != null) {\n API.queueOperation(() => NativeAnimatedModule.restoreDefaultValues(nodeTag));\n }\n },\n dropAnimatedNode: function dropAnimatedNode(tag) {\n invariant(NativeAnimatedModule, 'Native animated module is not available');\n API.queueOperation(() => NativeAnimatedModule.dropAnimatedNode(tag));\n },\n addAnimatedEventToView: function addAnimatedEventToView(viewTag, eventName, eventMapping) {\n invariant(NativeAnimatedModule, 'Native animated module is not available');\n API.queueOperation(() => NativeAnimatedModule.addAnimatedEventToView(viewTag, eventName, eventMapping));\n },\n\n removeAnimatedEventFromView(viewTag, eventName, animatedNodeTag) {\n invariant(NativeAnimatedModule, 'Native animated module is not available');\n API.queueOperation(() => NativeAnimatedModule.removeAnimatedEventFromView(viewTag, eventName, animatedNodeTag));\n }\n\n};\n/**\n * Styles allowed by the native animated implementation.\n *\n * In general native animated implementation should support any numeric property that doesn't need\n * to be updated through the shadow view hierarchy (all non-layout properties).\n */\n\nvar SUPPORTED_STYLES = {\n opacity: true,\n transform: true,\n borderRadius: true,\n borderBottomEndRadius: true,\n borderBottomLeftRadius: true,\n borderBottomRightRadius: true,\n borderBottomStartRadius: true,\n borderTopEndRadius: true,\n borderTopLeftRadius: true,\n borderTopRightRadius: true,\n borderTopStartRadius: true,\n elevation: true,\n zIndex: true,\n\n /* ios styles */\n shadowOpacity: true,\n shadowRadius: true,\n\n /* legacy android transform properties */\n scaleX: true,\n scaleY: true,\n translateX: true,\n translateY: true\n};\nvar SUPPORTED_TRANSFORMS = {\n translateX: true,\n translateY: true,\n scale: true,\n scaleX: true,\n scaleY: true,\n rotate: true,\n rotateX: true,\n rotateY: true,\n rotateZ: true,\n perspective: true\n};\nvar SUPPORTED_INTERPOLATION_PARAMS = {\n inputRange: true,\n outputRange: true,\n extrapolate: true,\n extrapolateRight: true,\n extrapolateLeft: true\n};\n\nfunction addWhitelistedStyleProp(prop) {\n SUPPORTED_STYLES[prop] = true;\n}\n\nfunction addWhitelistedTransformProp(prop) {\n SUPPORTED_TRANSFORMS[prop] = true;\n}\n\nfunction addWhitelistedInterpolationParam(param) {\n SUPPORTED_INTERPOLATION_PARAMS[param] = true;\n}\n\nfunction validateTransform(configs) {\n configs.forEach(config => {\n if (!SUPPORTED_TRANSFORMS.hasOwnProperty(config.property)) {\n throw new Error(\"Property '\" + config.property + \"' is not supported by native animated module\");\n }\n });\n}\n\nfunction validateStyles(styles) {\n for (var _key in styles) {\n if (!SUPPORTED_STYLES.hasOwnProperty(_key)) {\n throw new Error(\"Style property '\" + _key + \"' is not supported by native animated module\");\n }\n }\n}\n\nfunction validateInterpolation(config) {\n for (var _key2 in config) {\n if (!SUPPORTED_INTERPOLATION_PARAMS.hasOwnProperty(_key2)) {\n throw new Error(\"Interpolation property '\" + _key2 + \"' is not supported by native animated module\");\n }\n }\n}\n\nfunction generateNewNodeTag() {\n return __nativeAnimatedNodeTagCount++;\n}\n\nexport function generateNewAnimationId() {\n return __nativeAnimationIdCount++;\n}\n\nfunction assertNativeAnimatedModule() {\n invariant(NativeAnimatedModule, 'Native animated module is not available');\n}\n\nvar _warnedMissingNativeAnimated = false;\nexport function shouldUseNativeDriver(config) {\n if (config.useNativeDriver == null) {\n console.warn('Animated: `useNativeDriver` was not specified. This is a required ' + 'option and must be explicitly set to `true` or `false`');\n }\n\n if (config.useNativeDriver === true && !NativeAnimatedModule) {\n if (!_warnedMissingNativeAnimated) {\n console.warn('Animated: `useNativeDriver` is not supported because the native ' + 'animated module is missing. Falling back to JS-based animation. To ' + 'resolve this, add `RCTAnimation` module to this app, or remove ' + '`useNativeDriver`. ' + 'Make sure to run `pod install` first. Read more about autolinking: https://github.com/react-native-community/cli/blob/master/docs/autolinking.md');\n _warnedMissingNativeAnimated = true;\n }\n\n return false;\n }\n\n return config.useNativeDriver || false;\n}\n\nfunction transformDataType(value) {\n // Change the string type to number type so we can reuse the same logic in\n // iOS and Android platform\n if (typeof value !== 'string') {\n return value;\n }\n\n if (/deg$/.test(value)) {\n var degrees = parseFloat(value) || 0;\n var radians = degrees * Math.PI / 180.0;\n return radians;\n } else {\n return value;\n }\n}\n\nexport default {\n API,\n addWhitelistedStyleProp,\n addWhitelistedTransformProp,\n addWhitelistedInterpolationParam,\n validateStyles,\n validateTransform,\n validateInterpolation,\n generateNewNodeTag,\n generateNewAnimationId,\n assertNativeAnimatedModule,\n shouldUseNativeDriver,\n transformDataType,\n\n // $FlowExpectedError - unsafe getter lint suppresion\n get nativeEventEmitter() {\n if (!nativeEventEmitter) {\n nativeEventEmitter = new NativeEventEmitter(NativeAnimatedModule);\n }\n\n return nativeEventEmitter;\n }\n\n};","/**\n * Copyright (c) Meta Platforms, Inc. and 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 * @format\n */\nimport * as TurboModuleRegistry from '../TurboModule/TurboModuleRegistry';\nexport default TurboModuleRegistry.get('NativeAnimatedModule');","/**\n * Copyright (c) Meta Platforms, Inc. and 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 * @format\n */\nimport * as TurboModuleRegistry from '../TurboModule/TurboModuleRegistry';\nexport default TurboModuleRegistry.get('NativeAnimatedTurboModule');","/**\n * Copyright (c) Meta Platforms, Inc. and 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 * @format\n * \n */\n'use strict';\n\nfunction stiffnessFromOrigamiValue(oValue) {\n return (oValue - 30) * 3.62 + 194;\n}\n\nfunction dampingFromOrigamiValue(oValue) {\n return (oValue - 8) * 3 + 25;\n}\n\nfunction fromOrigamiTensionAndFriction(tension, friction) {\n return {\n stiffness: stiffnessFromOrigamiValue(tension),\n damping: dampingFromOrigamiValue(friction)\n };\n}\n\nfunction fromBouncinessAndSpeed(bounciness, speed) {\n function normalize(value, startValue, endValue) {\n return (value - startValue) / (endValue - startValue);\n }\n\n function projectNormal(n, start, end) {\n return start + n * (end - start);\n }\n\n function linearInterpolation(t, start, end) {\n return t * end + (1 - t) * start;\n }\n\n function quadraticOutInterpolation(t, start, end) {\n return linearInterpolation(2 * t - t * t, start, end);\n }\n\n function b3Friction1(x) {\n return 0.0007 * Math.pow(x, 3) - 0.031 * Math.pow(x, 2) + 0.64 * x + 1.28;\n }\n\n function b3Friction2(x) {\n return 0.000044 * Math.pow(x, 3) - 0.006 * Math.pow(x, 2) + 0.36 * x + 2;\n }\n\n function b3Friction3(x) {\n return 0.00000045 * Math.pow(x, 3) - 0.000332 * Math.pow(x, 2) + 0.1078 * x + 5.84;\n }\n\n function b3Nobounce(tension) {\n if (tension <= 18) {\n return b3Friction1(tension);\n } else if (tension > 18 && tension <= 44) {\n return b3Friction2(tension);\n } else {\n return b3Friction3(tension);\n }\n }\n\n var b = normalize(bounciness / 1.7, 0, 20);\n b = projectNormal(b, 0, 0.8);\n var s = normalize(speed / 1.7, 0, 20);\n var bouncyTension = projectNormal(s, 0.5, 200);\n var bouncyFriction = quadraticOutInterpolation(b, b3Nobounce(bouncyTension), 0.01);\n return {\n stiffness: stiffnessFromOrigamiValue(bouncyTension),\n damping: dampingFromOrigamiValue(bouncyFriction)\n };\n}\n\nexport default {\n fromOrigamiTensionAndFriction,\n fromBouncinessAndSpeed\n};","/**\n * Copyright (c) Meta Platforms, Inc. and 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 * @format\n */\n'use strict';\n\nimport NativeAnimatedHelper from '../NativeAnimatedHelper';\nvar startNativeAnimationNextId = 1; // Important note: start() and stop() will only be called at most once.\n// Once an animation has been stopped or finished its course, it will\n// not be reused.\n\nclass Animation {\n start(fromValue, onUpdate, onEnd, previousAnimation, animatedValue) {}\n\n stop() {\n if (this.__nativeId) {\n NativeAnimatedHelper.API.stopAnimation(this.__nativeId);\n }\n }\n\n __getNativeAnimationConfig() {\n // Subclasses that have corresponding animation implementation done in native\n // should override this method\n throw new Error('This animation type cannot be offloaded to native');\n } // Helper function for subclasses to make sure onEnd is only called once.\n\n\n __debouncedOnEnd(result) {\n var onEnd = this.__onEnd;\n this.__onEnd = null;\n onEnd && onEnd(result);\n }\n\n __startNativeAnimation(animatedValue) {\n var startNativeAnimationWaitId = startNativeAnimationNextId + \":startAnimation\";\n startNativeAnimationNextId += 1;\n NativeAnimatedHelper.API.setWaitingForIdentifier(startNativeAnimationWaitId);\n\n try {\n animatedValue.__makeNative();\n\n this.__nativeId = NativeAnimatedHelper.generateNewAnimationId();\n NativeAnimatedHelper.API.startAnimatingNode(this.__nativeId, animatedValue.__getNativeTag(), this.__getNativeAnimationConfig(), this.__debouncedOnEnd.bind(this));\n } catch (e) {\n throw e;\n } finally {\n NativeAnimatedHelper.API.unsetWaitingForIdentifier(startNativeAnimationWaitId);\n }\n }\n\n}\n\nexport default Animation;","/**\n * Copyright (c) Meta Platforms, Inc. and 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 * @format\n */\n'use strict';\n\nimport Animation from './Animation';\nimport { shouldUseNativeDriver } from '../NativeAnimatedHelper';\n\nclass DecayAnimation extends Animation {\n constructor(config) {\n var _config$deceleration, _config$isInteraction, _config$iterations;\n\n super();\n this._deceleration = (_config$deceleration = config.deceleration) !== null && _config$deceleration !== void 0 ? _config$deceleration : 0.998;\n this._velocity = config.velocity;\n this._useNativeDriver = shouldUseNativeDriver(config);\n this.__isInteraction = (_config$isInteraction = config.isInteraction) !== null && _config$isInteraction !== void 0 ? _config$isInteraction : !this._useNativeDriver;\n this.__iterations = (_config$iterations = config.iterations) !== null && _config$iterations !== void 0 ? _config$iterations : 1;\n }\n\n __getNativeAnimationConfig() {\n return {\n type: 'decay',\n deceleration: this._deceleration,\n velocity: this._velocity,\n iterations: this.__iterations\n };\n }\n\n start(fromValue, onUpdate, onEnd, previousAnimation, animatedValue) {\n this.__active = true;\n this._lastValue = fromValue;\n this._fromValue = fromValue;\n this._onUpdate = onUpdate;\n this.__onEnd = onEnd;\n this._startTime = Date.now();\n\n if (this._useNativeDriver) {\n this.__startNativeAnimation(animatedValue);\n } else {\n this._animationFrame = requestAnimationFrame(this.onUpdate.bind(this));\n }\n }\n\n onUpdate() {\n var now = Date.now();\n var value = this._fromValue + this._velocity / (1 - this._deceleration) * (1 - Math.exp(-(1 - this._deceleration) * (now - this._startTime)));\n\n this._onUpdate(value);\n\n if (Math.abs(this._lastValue - value) < 0.1) {\n this.__debouncedOnEnd({\n finished: true\n });\n\n return;\n }\n\n this._lastValue = value;\n\n if (this.__active) {\n this._animationFrame = requestAnimationFrame(this.onUpdate.bind(this));\n }\n }\n\n stop() {\n super.stop();\n this.__active = false;\n global.cancelAnimationFrame(this._animationFrame);\n\n this.__debouncedOnEnd({\n finished: false\n });\n }\n\n}\n\nexport default DecayAnimation;","/**\n * Copyright (c) Meta Platforms, Inc. and 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 * @format\n */\n'use strict';\n\nimport AnimatedValue from '../nodes/AnimatedValue';\nimport AnimatedValueXY from '../nodes/AnimatedValueXY';\nimport AnimatedInterpolation from '../nodes/AnimatedInterpolation';\nimport Animation from './Animation';\nimport SpringConfig from '../SpringConfig';\nimport invariant from 'fbjs/lib/invariant';\nimport { shouldUseNativeDriver } from '../NativeAnimatedHelper';\n\nclass SpringAnimation extends Animation {\n constructor(config) {\n var _config$overshootClam, _config$restDisplacem, _config$restSpeedThre, _config$velocity, _config$velocity2, _config$delay, _config$isInteraction, _config$iterations;\n\n super();\n this._overshootClamping = (_config$overshootClam = config.overshootClamping) !== null && _config$overshootClam !== void 0 ? _config$overshootClam : false;\n this._restDisplacementThreshold = (_config$restDisplacem = config.restDisplacementThreshold) !== null && _config$restDisplacem !== void 0 ? _config$restDisplacem : 0.001;\n this._restSpeedThreshold = (_config$restSpeedThre = config.restSpeedThreshold) !== null && _config$restSpeedThre !== void 0 ? _config$restSpeedThre : 0.001;\n this._initialVelocity = (_config$velocity = config.velocity) !== null && _config$velocity !== void 0 ? _config$velocity : 0;\n this._lastVelocity = (_config$velocity2 = config.velocity) !== null && _config$velocity2 !== void 0 ? _config$velocity2 : 0;\n this._toValue = config.toValue;\n this._delay = (_config$delay = config.delay) !== null && _config$delay !== void 0 ? _config$delay : 0;\n this._useNativeDriver = shouldUseNativeDriver(config);\n this.__isInteraction = (_config$isInteraction = config.isInteraction) !== null && _config$isInteraction !== void 0 ? _config$isInteraction : !this._useNativeDriver;\n this.__iterations = (_config$iterations = config.iterations) !== null && _config$iterations !== void 0 ? _config$iterations : 1;\n\n if (config.stiffness !== undefined || config.damping !== undefined || config.mass !== undefined) {\n var _config$stiffness, _config$damping, _config$mass;\n\n invariant(config.bounciness === undefined && config.speed === undefined && config.tension === undefined && config.friction === undefined, 'You can define one of bounciness/speed, tension/friction, or stiffness/damping/mass, but not more than one');\n this._stiffness = (_config$stiffness = config.stiffness) !== null && _config$stiffness !== void 0 ? _config$stiffness : 100;\n this._damping = (_config$damping = config.damping) !== null && _config$damping !== void 0 ? _config$damping : 10;\n this._mass = (_config$mass = config.mass) !== null && _config$mass !== void 0 ? _config$mass : 1;\n } else if (config.bounciness !== undefined || config.speed !== undefined) {\n var _config$bounciness, _config$speed;\n\n // Convert the origami bounciness/speed values to stiffness/damping\n // We assume mass is 1.\n invariant(config.tension === undefined && config.friction === undefined && config.stiffness === undefined && config.damping === undefined && config.mass === undefined, 'You can define one of bounciness/speed, tension/friction, or stiffness/damping/mass, but not more than one');\n var springConfig = SpringConfig.fromBouncinessAndSpeed((_config$bounciness = config.bounciness) !== null && _config$bounciness !== void 0 ? _config$bounciness : 8, (_config$speed = config.speed) !== null && _config$speed !== void 0 ? _config$speed : 12);\n this._stiffness = springConfig.stiffness;\n this._damping = springConfig.damping;\n this._mass = 1;\n } else {\n var _config$tension, _config$friction;\n\n // Convert the origami tension/friction values to stiffness/damping\n // We assume mass is 1.\n var _springConfig = SpringConfig.fromOrigamiTensionAndFriction((_config$tension = config.tension) !== null && _config$tension !== void 0 ? _config$tension : 40, (_config$friction = config.friction) !== null && _config$friction !== void 0 ? _config$friction : 7);\n\n this._stiffness = _springConfig.stiffness;\n this._damping = _springConfig.damping;\n this._mass = 1;\n }\n\n invariant(this._stiffness > 0, 'Stiffness value must be greater than 0');\n invariant(this._damping > 0, 'Damping value must be greater than 0');\n invariant(this._mass > 0, 'Mass value must be greater than 0');\n }\n\n __getNativeAnimationConfig() {\n var _this$_initialVelocit;\n\n return {\n type: 'spring',\n overshootClamping: this._overshootClamping,\n restDisplacementThreshold: this._restDisplacementThreshold,\n restSpeedThreshold: this._restSpeedThreshold,\n stiffness: this._stiffness,\n damping: this._damping,\n mass: this._mass,\n initialVelocity: (_this$_initialVelocit = this._initialVelocity) !== null && _this$_initialVelocit !== void 0 ? _this$_initialVelocit : this._lastVelocity,\n toValue: this._toValue,\n iterations: this.__iterations\n };\n }\n\n start(fromValue, onUpdate, onEnd, previousAnimation, animatedValue) {\n this.__active = true;\n this._startPosition = fromValue;\n this._lastPosition = this._startPosition;\n this._onUpdate = onUpdate;\n this.__onEnd = onEnd;\n this._lastTime = Date.now();\n this._frameTime = 0.0;\n\n if (previousAnimation instanceof SpringAnimation) {\n var internalState = previousAnimation.getInternalState();\n this._lastPosition = internalState.lastPosition;\n this._lastVelocity = internalState.lastVelocity; // Set the initial velocity to the last velocity\n\n this._initialVelocity = this._lastVelocity;\n this._lastTime = internalState.lastTime;\n }\n\n var start = () => {\n if (this._useNativeDriver) {\n this.__startNativeAnimation(animatedValue);\n } else {\n this.onUpdate();\n }\n }; // If this._delay is more than 0, we start after the timeout.\n\n\n if (this._delay) {\n this._timeout = setTimeout(start, this._delay);\n } else {\n start();\n }\n }\n\n getInternalState() {\n return {\n lastPosition: this._lastPosition,\n lastVelocity: this._lastVelocity,\n lastTime: this._lastTime\n };\n }\n /**\n * This spring model is based off of a damped harmonic oscillator\n * (https://en.wikipedia.org/wiki/Harmonic_oscillator#Damped_harmonic_oscillator).\n *\n * We use the closed form of the second order differential equation:\n *\n * x'' + (2ζ⍵_0)x' + ⍵^2x = 0\n *\n * where\n * ⍵_0 = √(k / m) (undamped angular frequency of the oscillator),\n * ζ = c / 2√mk (damping ratio),\n * c = damping constant\n * k = stiffness\n * m = mass\n *\n * The derivation of the closed form is described in detail here:\n * http://planetmath.org/sites/default/files/texpdf/39745.pdf\n *\n * This algorithm happens to match the algorithm used by CASpringAnimation,\n * a QuartzCore (iOS) API that creates spring animations.\n */\n\n\n onUpdate() {\n // If for some reason we lost a lot of frames (e.g. process large payload or\n // stopped in the debugger), we only advance by 4 frames worth of\n // computation and will continue on the next frame. It's better to have it\n // running at faster speed than jumping to the end.\n var MAX_STEPS = 64;\n var now = Date.now();\n\n if (now > this._lastTime + MAX_STEPS) {\n now = this._lastTime + MAX_STEPS;\n }\n\n var deltaTime = (now - this._lastTime) / 1000;\n this._frameTime += deltaTime;\n var c = this._damping;\n var m = this._mass;\n var k = this._stiffness;\n var v0 = -this._initialVelocity;\n var zeta = c / (2 * Math.sqrt(k * m)); // damping ratio\n\n var omega0 = Math.sqrt(k / m); // undamped angular frequency of the oscillator (rad/ms)\n\n var omega1 = omega0 * Math.sqrt(1.0 - zeta * zeta); // exponential decay\n\n var x0 = this._toValue - this._startPosition; // calculate the oscillation from x0 = 1 to x = 0\n\n var position = 0.0;\n var velocity = 0.0;\n var t = this._frameTime;\n\n if (zeta < 1) {\n // Under damped\n var envelope = Math.exp(-zeta * omega0 * t);\n position = this._toValue - envelope * ((v0 + zeta * omega0 * x0) / omega1 * Math.sin(omega1 * t) + x0 * Math.cos(omega1 * t)); // This looks crazy -- it's actually just the derivative of the\n // oscillation function\n\n velocity = zeta * omega0 * envelope * (Math.sin(omega1 * t) * (v0 + zeta * omega0 * x0) / omega1 + x0 * Math.cos(omega1 * t)) - envelope * (Math.cos(omega1 * t) * (v0 + zeta * omega0 * x0) - omega1 * x0 * Math.sin(omega1 * t));\n } else {\n // Critically damped\n var _envelope = Math.exp(-omega0 * t);\n\n position = this._toValue - _envelope * (x0 + (v0 + omega0 * x0) * t);\n velocity = _envelope * (v0 * (t * omega0 - 1) + t * x0 * (omega0 * omega0));\n }\n\n this._lastTime = now;\n this._lastPosition = position;\n this._lastVelocity = velocity;\n\n this._onUpdate(position);\n\n if (!this.__active) {\n // a listener might have stopped us in _onUpdate\n return;\n } // Conditions for stopping the spring animation\n\n\n var isOvershooting = false;\n\n if (this._overshootClamping && this._stiffness !== 0) {\n if (this._startPosition < this._toValue) {\n isOvershooting = position > this._toValue;\n } else {\n isOvershooting = position < this._toValue;\n }\n }\n\n var isVelocity = Math.abs(velocity) <= this._restSpeedThreshold;\n\n var isDisplacement = true;\n\n if (this._stiffness !== 0) {\n isDisplacement = Math.abs(this._toValue - position) <= this._restDisplacementThreshold;\n }\n\n if (isOvershooting || isVelocity && isDisplacement) {\n if (this._stiffness !== 0) {\n // Ensure that we end up with a round value\n this._lastPosition = this._toValue;\n this._lastVelocity = 0;\n\n this._onUpdate(this._toValue);\n }\n\n this.__debouncedOnEnd({\n finished: true\n });\n\n return;\n }\n\n this._animationFrame = requestAnimationFrame(this.onUpdate.bind(this));\n }\n\n stop() {\n super.stop();\n this.__active = false;\n clearTimeout(this._timeout);\n global.cancelAnimationFrame(this._animationFrame);\n\n this.__debouncedOnEnd({\n finished: false\n });\n }\n\n}\n\nexport default SpringAnimation;","/**\n * Copyright (c) Meta Platforms, Inc. and 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 * @format\n */\n'use strict';\n\nimport AnimatedValue from '../nodes/AnimatedValue';\nimport AnimatedValueXY from '../nodes/AnimatedValueXY';\nimport AnimatedInterpolation from '../nodes/AnimatedInterpolation';\nimport Animation from './Animation';\nimport { shouldUseNativeDriver } from '../NativeAnimatedHelper';\nimport Easing from '../../../../exports/Easing';\n\nvar _easeInOut;\n\nfunction easeInOut() {\n if (!_easeInOut) {\n _easeInOut = Easing.inOut(Easing.ease);\n }\n\n return _easeInOut;\n}\n\nclass TimingAnimation extends Animation {\n constructor(config) {\n var _config$easing, _config$duration, _config$delay, _config$iterations, _config$isInteraction;\n\n super();\n this._toValue = config.toValue;\n this._easing = (_config$easing = config.easing) !== null && _config$easing !== void 0 ? _config$easing : easeInOut();\n this._duration = (_config$duration = config.duration) !== null && _config$duration !== void 0 ? _config$duration : 500;\n this._delay = (_config$delay = config.delay) !== null && _config$delay !== void 0 ? _config$delay : 0;\n this.__iterations = (_config$iterations = config.iterations) !== null && _config$iterations !== void 0 ? _config$iterations : 1;\n this._useNativeDriver = shouldUseNativeDriver(config);\n this.__isInteraction = (_config$isInteraction = config.isInteraction) !== null && _config$isInteraction !== void 0 ? _config$isInteraction : !this._useNativeDriver;\n }\n\n __getNativeAnimationConfig() {\n var frameDuration = 1000.0 / 60.0;\n var frames = [];\n var numFrames = Math.round(this._duration / frameDuration);\n\n for (var frame = 0; frame < numFrames; frame++) {\n frames.push(this._easing(frame / numFrames));\n }\n\n frames.push(this._easing(1));\n return {\n type: 'frames',\n frames,\n toValue: this._toValue,\n iterations: this.__iterations\n };\n }\n\n start(fromValue, onUpdate, onEnd, previousAnimation, animatedValue) {\n this.__active = true;\n this._fromValue = fromValue;\n this._onUpdate = onUpdate;\n this.__onEnd = onEnd;\n\n var start = () => {\n // Animations that sometimes have 0 duration and sometimes do not\n // still need to use the native driver when duration is 0 so as to\n // not cause intermixed JS and native animations.\n if (this._duration === 0 && !this._useNativeDriver) {\n this._onUpdate(this._toValue);\n\n this.__debouncedOnEnd({\n finished: true\n });\n } else {\n this._startTime = Date.now();\n\n if (this._useNativeDriver) {\n this.__startNativeAnimation(animatedValue);\n } else {\n this._animationFrame = requestAnimationFrame(this.onUpdate.bind(this));\n }\n }\n };\n\n if (this._delay) {\n this._timeout = setTimeout(start, this._delay);\n } else {\n start();\n }\n }\n\n onUpdate() {\n var now = Date.now();\n\n if (now >= this._startTime + this._duration) {\n if (this._duration === 0) {\n this._onUpdate(this._toValue);\n } else {\n this._onUpdate(this._fromValue + this._easing(1) * (this._toValue - this._fromValue));\n }\n\n this.__debouncedOnEnd({\n finished: true\n });\n\n return;\n }\n\n this._onUpdate(this._fromValue + this._easing((now - this._startTime) / this._duration) * (this._toValue - this._fromValue));\n\n if (this.__active) {\n this._animationFrame = requestAnimationFrame(this.onUpdate.bind(this));\n }\n }\n\n stop() {\n super.stop();\n this.__active = false;\n clearTimeout(this._timeout);\n global.cancelAnimationFrame(this._animationFrame);\n\n this.__debouncedOnEnd({\n finished: false\n });\n }\n\n}\n\nexport default TimingAnimation;","/**\n * Portions Copyright (c) Meta Platforms, Inc. and 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 * @format\n */\n\n/**\n * BezierEasing - use bezier curve for transition easing function\n * https://github.com/gre/bezier-easing\n * @copyright 2014-2015 Gaëtan Renaudeau. MIT License.\n */\n'use strict'; // These values are established by empiricism with tests (tradeoff: performance VS precision)\n\nvar NEWTON_ITERATIONS = 4;\nvar NEWTON_MIN_SLOPE = 0.001;\nvar SUBDIVISION_PRECISION = 0.0000001;\nvar SUBDIVISION_MAX_ITERATIONS = 10;\nvar kSplineTableSize = 11;\nvar kSampleStepSize = 1.0 / (kSplineTableSize - 1.0);\nvar float32ArraySupported = typeof Float32Array === 'function';\n\nfunction A(aA1, aA2) {\n return 1.0 - 3.0 * aA2 + 3.0 * aA1;\n}\n\nfunction B(aA1, aA2) {\n return 3.0 * aA2 - 6.0 * aA1;\n}\n\nfunction C(aA1) {\n return 3.0 * aA1;\n} // Returns x(t) given t, x1, and x2, or y(t) given t, y1, and y2.\n\n\nfunction calcBezier(aT, aA1, aA2) {\n return ((A(aA1, aA2) * aT + B(aA1, aA2)) * aT + C(aA1)) * aT;\n} // Returns dx/dt given t, x1, and x2, or dy/dt given t, y1, and y2.\n\n\nfunction getSlope(aT, aA1, aA2) {\n return 3.0 * A(aA1, aA2) * aT * aT + 2.0 * B(aA1, aA2) * aT + C(aA1);\n}\n\nfunction binarySubdivide(aX, _aA, _aB, mX1, mX2) {\n var currentX,\n currentT,\n i = 0,\n aA = _aA,\n aB = _aB;\n\n do {\n currentT = aA + (aB - aA) / 2.0;\n currentX = calcBezier(currentT, mX1, mX2) - aX;\n\n if (currentX > 0.0) {\n aB = currentT;\n } else {\n aA = currentT;\n }\n } while (Math.abs(currentX) > SUBDIVISION_PRECISION && ++i < SUBDIVISION_MAX_ITERATIONS);\n\n return currentT;\n}\n\nfunction newtonRaphsonIterate(aX, _aGuessT, mX1, mX2) {\n var aGuessT = _aGuessT;\n\n for (var i = 0; i < NEWTON_ITERATIONS; ++i) {\n var currentSlope = getSlope(aGuessT, mX1, mX2);\n\n if (currentSlope === 0.0) {\n return aGuessT;\n }\n\n var currentX = calcBezier(aGuessT, mX1, mX2) - aX;\n aGuessT -= currentX / currentSlope;\n }\n\n return aGuessT;\n}\n\nexport default function bezier(mX1, mY1, mX2, mY2) {\n if (!(mX1 >= 0 && mX1 <= 1 && mX2 >= 0 && mX2 <= 1)) {\n throw new Error('bezier x values must be in [0, 1] range');\n } // Precompute samples table\n\n\n var sampleValues = float32ArraySupported ? new Float32Array(kSplineTableSize) : new Array(kSplineTableSize);\n\n if (mX1 !== mY1 || mX2 !== mY2) {\n for (var i = 0; i < kSplineTableSize; ++i) {\n sampleValues[i] = calcBezier(i * kSampleStepSize, mX1, mX2);\n }\n }\n\n function getTForX(aX) {\n var intervalStart = 0.0;\n var currentSample = 1;\n var lastSample = kSplineTableSize - 1;\n\n for (; currentSample !== lastSample && sampleValues[currentSample] <= aX; ++currentSample) {\n intervalStart += kSampleStepSize;\n }\n\n --currentSample; // Interpolate to provide an initial guess for t\n\n var dist = (aX - sampleValues[currentSample]) / (sampleValues[currentSample + 1] - sampleValues[currentSample]);\n var guessForT = intervalStart + dist * kSampleStepSize;\n var initialSlope = getSlope(guessForT, mX1, mX2);\n\n if (initialSlope >= NEWTON_MIN_SLOPE) {\n return newtonRaphsonIterate(aX, guessForT, mX1, mX2);\n } else if (initialSlope === 0.0) {\n return guessForT;\n } else {\n return binarySubdivide(aX, intervalStart, intervalStart + kSampleStepSize, mX1, mX2);\n }\n }\n\n return function BezierEasing(x) {\n if (mX1 === mY1 && mX2 === mY2) {\n return x; // linear\n } // Because JavaScript number are imprecise, we should guarantee the extremes are right.\n\n\n if (x === 0) {\n return 0;\n }\n\n if (x === 1) {\n return 1;\n }\n\n return calcBezier(getTForX(x), mY1, mY2);\n };\n}\n;","import _extends from \"@babel/runtime/helpers/extends\";\n\n/**\n * Copyright (c) Meta Platforms, Inc. and 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 * @format\n */\nimport * as React from 'react';\nimport FlatList from '../../../../exports/FlatList';\nimport createAnimatedComponent from '../createAnimatedComponent';\n\n/**\n * @see https://github.com/facebook/react-native/commit/b8c8562\n */\nvar FlatListWithEventThrottle = /*#__PURE__*/React.forwardRef((props, ref) => /*#__PURE__*/React.createElement(FlatList, _extends({\n scrollEventThrottle: 0.0001\n}, props, {\n ref: ref\n})));\nexport default createAnimatedComponent(FlatListWithEventThrottle);","/**\n * Copyright (c) Meta Platforms, Inc. and 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 * @format\n */\nimport * as React from 'react';\nimport Image from '../../../../exports/Image';\nimport createAnimatedComponent from '../createAnimatedComponent';\nexport default createAnimatedComponent(Image, {\n collapsable: false\n});","import _extends from \"@babel/runtime/helpers/extends\";\n\n/**\n * Copyright (c) Meta Platforms, Inc. and 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 * @format\n */\nimport * as React from 'react';\nimport ScrollView from '../../../../exports/ScrollView';\nimport createAnimatedComponent from '../createAnimatedComponent';\n\n/**\n * @see https://github.com/facebook/react-native/commit/b8c8562\n */\nvar ScrollViewWithEventThrottle = /*#__PURE__*/React.forwardRef((props, ref) => /*#__PURE__*/React.createElement(ScrollView, _extends({\n scrollEventThrottle: 0.0001\n}, props, {\n ref: ref\n})));\nexport default createAnimatedComponent(ScrollViewWithEventThrottle, {\n collapsable: false\n});","import _extends from \"@babel/runtime/helpers/extends\";\n\n/**\n * Copyright (c) Meta Platforms, Inc. and 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 * @format\n */\nimport * as React from 'react';\nimport SectionList from '../../../../exports/SectionList';\nimport createAnimatedComponent from '../createAnimatedComponent';\n\n/**\n * @see https://github.com/facebook/react-native/commit/b8c8562\n */\nvar SectionListWithEventThrottle = /*#__PURE__*/React.forwardRef((props, ref) => /*#__PURE__*/React.createElement(SectionList, _extends({\n scrollEventThrottle: 0.0001\n}, props, {\n ref: ref\n})));\nexport default createAnimatedComponent(SectionListWithEventThrottle);","/**\n * Copyright (c) Meta Platforms, Inc. and 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 * @format\n */\nimport * as React from 'react';\nimport Text from '../../../../exports/Text';\nimport createAnimatedComponent from '../createAnimatedComponent';\nexport default createAnimatedComponent(Text, {\n collapsable: false\n});","/**\n * Copyright (c) Meta Platforms, Inc. and 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 * @format\n */\nimport * as React from 'react';\nimport View from '../../../../exports/View';\nimport createAnimatedComponent from '../createAnimatedComponent';\nexport default createAnimatedComponent(View, {\n collapsable: true\n});","/**\n * Copyright (c) Meta Platforms, Inc. and 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 * @format\n */\n'use strict';\n\nimport _extends from \"@babel/runtime/helpers/extends\";\nimport _objectSpread from \"@babel/runtime/helpers/objectSpread2\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/objectWithoutPropertiesLoose\";\nvar _excluded = [\"style\"],\n _excluded2 = [\"style\"];\nimport View from '../../../exports/View';\nimport { AnimatedEvent } from './AnimatedEvent';\nimport AnimatedProps from './nodes/AnimatedProps';\nimport * as React from 'react';\nimport NativeAnimatedHelper from './NativeAnimatedHelper';\nimport invariant from 'fbjs/lib/invariant';\nimport setAndForwardRef from '../Utilities/setAndForwardRef';\nvar animatedComponentNextId = 1;\n\nfunction createAnimatedComponent(Component, options) {\n invariant(typeof Component !== 'function' || Component.prototype && Component.prototype.isReactComponent, '`createAnimatedComponent` does not support stateless functional components; ' + 'use a class component instead.');\n\n class AnimatedComponent extends React.Component {\n constructor() {\n super(...arguments);\n this._invokeAnimatedPropsCallbackOnMount = false;\n this._eventDetachers = [];\n this._animatedComponentId = animatedComponentNextId++ + \":animatedComponent\";\n\n this._isFabric = () => {\n var _this$_component$_int, _this$_component$_int2, _this$_component$getN, _this$_component$getN2, _this$_component$getS, _this$_component$getS2;\n\n // When called during the first render, `_component` is always null.\n // Therefore, even if a component is rendered in Fabric, we can't detect\n // that until ref is set, which happens sometime after the first render.\n // In cases where this value switching between \"false\" and \"true\" on Fabric\n // causes issues, add an additional check for _component nullity.\n if (this._component == null) {\n return false;\n }\n\n return (// eslint-disable-next-line dot-notation\n ((_this$_component$_int = this._component['_internalInstanceHandle']) == null ? void 0 : (_this$_component$_int2 = _this$_component$_int.stateNode) == null ? void 0 : _this$_component$_int2.canonical) != null || // Some components have a setNativeProps function but aren't a host component\n // such as lists like FlatList and SectionList. These should also use\n // forceUpdate in Fabric since setNativeProps doesn't exist on the underlying\n // host component. This crazy hack is essentially special casing those lists and\n // ScrollView itself to use forceUpdate in Fabric.\n // If these components end up using forwardRef then these hacks can go away\n // as this._component would actually be the underlying host component and the above check\n // would be sufficient.\n this._component.getNativeScrollRef != null && this._component.getNativeScrollRef() != null && // eslint-disable-next-line dot-notation\n ((_this$_component$getN = this._component.getNativeScrollRef()['_internalInstanceHandle']) == null ? void 0 : (_this$_component$getN2 = _this$_component$getN.stateNode) == null ? void 0 : _this$_component$getN2.canonical) != null || this._component.getScrollResponder != null && this._component.getScrollResponder() != null && this._component.getScrollResponder().getNativeScrollRef != null && this._component.getScrollResponder().getNativeScrollRef() != null && ((_this$_component$getS = this._component.getScrollResponder().getNativeScrollRef()[// eslint-disable-next-line dot-notation\n '_internalInstanceHandle']) == null ? void 0 : (_this$_component$getS2 = _this$_component$getS.stateNode) == null ? void 0 : _this$_component$getS2.canonical) != null\n );\n };\n\n this._waitForUpdate = () => {\n if (this._isFabric()) {\n NativeAnimatedHelper.API.setWaitingForIdentifier(this._animatedComponentId);\n }\n };\n\n this._markUpdateComplete = () => {\n if (this._isFabric()) {\n NativeAnimatedHelper.API.unsetWaitingForIdentifier(this._animatedComponentId);\n }\n };\n\n this._animatedPropsCallback = () => {\n if (this._component == null) {\n // AnimatedProps is created in will-mount because it's used in render.\n // But this callback may be invoked before mount in async mode,\n // In which case we should defer the setNativeProps() call.\n // React may throw away uncommitted work in async mode,\n // So a deferred call won't always be invoked.\n this._invokeAnimatedPropsCallbackOnMount = true;\n } else if (process.env.NODE_ENV === 'test' || // For animating properties of non-leaf/non-native components\n typeof this._component.setNativeProps !== 'function' || // In Fabric, force animations to go through forceUpdate and skip setNativeProps\n this._isFabric()) {\n this.forceUpdate();\n } else if (!this._propsAnimated.__isNative) {\n this._component.setNativeProps(this._propsAnimated.__getAnimatedValue());\n } else {\n throw new Error('Attempting to run JS driven animation on animated ' + 'node that has been moved to \"native\" earlier by starting an ' + 'animation with `useNativeDriver: true`');\n }\n };\n\n this._setComponentRef = setAndForwardRef({\n getForwardedRef: () => this.props.forwardedRef,\n setLocalRef: ref => {\n this._prevComponent = this._component;\n this._component = ref; // TODO: Delete this in a future release.\n\n if (ref != null && ref.getNode == null) {\n ref.getNode = () => {\n var _ref$constructor$name;\n\n console.warn('%s: Calling `getNode()` on the ref of an Animated component ' + 'is no longer necessary. You can now directly use the ref ' + 'instead. This method will be removed in a future release.', (_ref$constructor$name = ref.constructor.name) !== null && _ref$constructor$name !== void 0 ? _ref$constructor$name : '<>');\n return ref;\n };\n }\n }\n });\n }\n\n _attachNativeEvents() {\n var _this$_component,\n _this = this;\n\n // Make sure to get the scrollable node for components that implement\n // `ScrollResponder.Mixin`.\n var scrollableNode = (_this$_component = this._component) != null && _this$_component.getScrollableNode ? this._component.getScrollableNode() : this._component;\n\n var _loop = function _loop(key) {\n var prop = _this.props[key];\n\n if (prop instanceof AnimatedEvent && prop.__isNative) {\n prop.__attach(scrollableNode, key);\n\n _this._eventDetachers.push(() => prop.__detach(scrollableNode, key));\n }\n };\n\n for (var key in this.props) {\n _loop(key);\n }\n }\n\n _detachNativeEvents() {\n this._eventDetachers.forEach(remove => remove());\n\n this._eventDetachers = [];\n }\n\n _attachProps(nextProps) {\n var oldPropsAnimated = this._propsAnimated;\n\n if (nextProps === oldPropsAnimated) {\n return;\n }\n\n this._propsAnimated = new AnimatedProps(nextProps, this._animatedPropsCallback); // When you call detach, it removes the element from the parent list\n // of children. If it goes to 0, then the parent also detaches itself\n // and so on.\n // An optimization is to attach the new elements and THEN detach the old\n // ones instead of detaching and THEN attaching.\n // This way the intermediate state isn't to go to 0 and trigger\n // this expensive recursive detaching to then re-attach everything on\n // the very next operation.\n\n if (oldPropsAnimated) {\n oldPropsAnimated.__restoreDefaultValues();\n\n oldPropsAnimated.__detach();\n }\n }\n\n render() {\n var _ref = this._propsAnimated.__getValue() || {},\n _ref$style = _ref.style,\n style = _ref$style === void 0 ? {} : _ref$style,\n props = _objectWithoutPropertiesLoose(_ref, _excluded);\n\n var _ref2 = this.props.passthroughAnimatedPropExplicitValues || {},\n _ref2$style = _ref2.style,\n passthruStyle = _ref2$style === void 0 ? {} : _ref2$style,\n passthruProps = _objectWithoutPropertiesLoose(_ref2, _excluded2);\n\n var mergedStyle = _objectSpread(_objectSpread({}, style), passthruStyle);\n\n return /*#__PURE__*/React.createElement(Component, _extends({}, props, passthruProps, {\n style: mergedStyle,\n ref: this._setComponentRef\n }));\n }\n\n UNSAFE_componentWillMount() {\n this._waitForUpdate();\n\n this._attachProps(this.props);\n }\n\n componentDidMount() {\n if (this._invokeAnimatedPropsCallbackOnMount) {\n this._invokeAnimatedPropsCallbackOnMount = false;\n\n this._animatedPropsCallback();\n }\n\n this._propsAnimated.setNativeView(this._component);\n\n this._attachNativeEvents();\n\n this._markUpdateComplete();\n }\n\n UNSAFE_componentWillReceiveProps(newProps) {\n this._waitForUpdate();\n\n this._attachProps(newProps);\n }\n\n componentDidUpdate(prevProps) {\n if (this._component !== this._prevComponent) {\n this._propsAnimated.setNativeView(this._component);\n }\n\n if (this._component !== this._prevComponent || prevProps !== this.props) {\n this._detachNativeEvents();\n\n this._attachNativeEvents();\n }\n\n this._markUpdateComplete();\n }\n\n componentWillUnmount() {\n this._propsAnimated && this._propsAnimated.__detach();\n\n this._detachNativeEvents();\n\n this._markUpdateComplete();\n\n this._component = null;\n this._prevComponent = null;\n }\n\n }\n\n return /*#__PURE__*/React.forwardRef(function AnimatedComponentWrapper(props, ref) {\n return /*#__PURE__*/React.createElement(AnimatedComponent, _extends({}, props, ref == null ? null : {\n forwardedRef: ref\n }));\n });\n}\n\nexport default createAnimatedComponent;","/**\n * Copyright (c) Meta Platforms, Inc. and 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 * @format\n */\n'use strict';\n\nimport AnimatedInterpolation from './AnimatedInterpolation';\nimport AnimatedNode from './AnimatedNode';\nimport AnimatedValue from './AnimatedValue';\nimport AnimatedWithChildren from './AnimatedWithChildren';\n\nclass AnimatedAddition extends AnimatedWithChildren {\n constructor(a, b) {\n super();\n this._a = typeof a === 'number' ? new AnimatedValue(a) : a;\n this._b = typeof b === 'number' ? new AnimatedValue(b) : b;\n }\n\n __makeNative() {\n this._a.__makeNative();\n\n this._b.__makeNative();\n\n super.__makeNative();\n }\n\n __getValue() {\n return this._a.__getValue() + this._b.__getValue();\n }\n\n interpolate(config) {\n return new AnimatedInterpolation(this, config);\n }\n\n __attach() {\n this._a.__addChild(this);\n\n this._b.__addChild(this);\n }\n\n __detach() {\n this._a.__removeChild(this);\n\n this._b.__removeChild(this);\n\n super.__detach();\n }\n\n __getNativeConfig() {\n return {\n type: 'addition',\n input: [this._a.__getNativeTag(), this._b.__getNativeTag()]\n };\n }\n\n}\n\nexport default AnimatedAddition;","/**\n * Copyright (c) Meta Platforms, Inc. and 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 * @format\n */\n'use strict';\n\nimport AnimatedInterpolation from './AnimatedInterpolation';\nimport AnimatedNode from './AnimatedNode';\nimport AnimatedWithChildren from './AnimatedWithChildren';\n\nclass AnimatedDiffClamp extends AnimatedWithChildren {\n constructor(a, min, max) {\n super();\n this._a = a;\n this._min = min;\n this._max = max;\n this._value = this._lastValue = this._a.__getValue();\n }\n\n __makeNative() {\n this._a.__makeNative();\n\n super.__makeNative();\n }\n\n interpolate(config) {\n return new AnimatedInterpolation(this, config);\n }\n\n __getValue() {\n var value = this._a.__getValue();\n\n var diff = value - this._lastValue;\n this._lastValue = value;\n this._value = Math.min(Math.max(this._value + diff, this._min), this._max);\n return this._value;\n }\n\n __attach() {\n this._a.__addChild(this);\n }\n\n __detach() {\n this._a.__removeChild(this);\n\n super.__detach();\n }\n\n __getNativeConfig() {\n return {\n type: 'diffclamp',\n input: this._a.__getNativeTag(),\n min: this._min,\n max: this._max\n };\n }\n\n}\n\nexport default AnimatedDiffClamp;","/**\n * Copyright (c) Meta Platforms, Inc. and 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 * @format\n */\n'use strict';\n\nimport AnimatedInterpolation from './AnimatedInterpolation';\nimport AnimatedNode from './AnimatedNode';\nimport AnimatedValue from './AnimatedValue';\nimport AnimatedWithChildren from './AnimatedWithChildren';\n\nclass AnimatedDivision extends AnimatedWithChildren {\n constructor(a, b) {\n super();\n this._warnedAboutDivideByZero = false;\n\n if (b === 0 || b instanceof AnimatedNode && b.__getValue() === 0) {\n console.error('Detected potential division by zero in AnimatedDivision');\n }\n\n this._a = typeof a === 'number' ? new AnimatedValue(a) : a;\n this._b = typeof b === 'number' ? new AnimatedValue(b) : b;\n }\n\n __makeNative() {\n this._a.__makeNative();\n\n this._b.__makeNative();\n\n super.__makeNative();\n }\n\n __getValue() {\n var a = this._a.__getValue();\n\n var b = this._b.__getValue();\n\n if (b === 0) {\n // Prevent spamming the console/LogBox\n if (!this._warnedAboutDivideByZero) {\n console.error('Detected division by zero in AnimatedDivision');\n this._warnedAboutDivideByZero = true;\n } // Passing infinity/NaN to Fabric will cause a native crash\n\n\n return 0;\n }\n\n this._warnedAboutDivideByZero = false;\n return a / b;\n }\n\n interpolate(config) {\n return new AnimatedInterpolation(this, config);\n }\n\n __attach() {\n this._a.__addChild(this);\n\n this._b.__addChild(this);\n }\n\n __detach() {\n this._a.__removeChild(this);\n\n this._b.__removeChild(this);\n\n super.__detach();\n }\n\n __getNativeConfig() {\n return {\n type: 'division',\n input: [this._a.__getNativeTag(), this._b.__getNativeTag()]\n };\n }\n\n}\n\nexport default AnimatedDivision;","/**\n * Copyright (c) Meta Platforms, Inc. and 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 * @format\n */\n\n/* eslint no-bitwise: 0 */\n'use strict';\n\nimport _objectSpread from \"@babel/runtime/helpers/objectSpread2\";\nimport AnimatedNode from './AnimatedNode';\nimport AnimatedWithChildren from './AnimatedWithChildren';\nimport NativeAnimatedHelper from '../NativeAnimatedHelper';\nimport invariant from 'fbjs/lib/invariant';\nimport normalizeColor from 'normalize-css-color';\n\nvar __DEV__ = process.env.NODE_ENV !== 'production';\n\nvar linear = t => t;\n/**\n * Very handy helper to map input ranges to output ranges with an easing\n * function and custom behavior outside of the ranges.\n */\n\n\nfunction createInterpolation(config) {\n if (config.outputRange && typeof config.outputRange[0] === 'string') {\n return createInterpolationFromStringOutputRange(config);\n }\n\n var outputRange = config.outputRange;\n checkInfiniteRange('outputRange', outputRange);\n var inputRange = config.inputRange;\n checkInfiniteRange('inputRange', inputRange);\n checkValidInputRange(inputRange);\n invariant(inputRange.length === outputRange.length, 'inputRange (' + inputRange.length + ') and outputRange (' + outputRange.length + ') must have the same length');\n var easing = config.easing || linear;\n var extrapolateLeft = 'extend';\n\n if (config.extrapolateLeft !== undefined) {\n extrapolateLeft = config.extrapolateLeft;\n } else if (config.extrapolate !== undefined) {\n extrapolateLeft = config.extrapolate;\n }\n\n var extrapolateRight = 'extend';\n\n if (config.extrapolateRight !== undefined) {\n extrapolateRight = config.extrapolateRight;\n } else if (config.extrapolate !== undefined) {\n extrapolateRight = config.extrapolate;\n }\n\n return input => {\n invariant(typeof input === 'number', 'Cannot interpolation an input which is not a number');\n var range = findRange(input, inputRange);\n return interpolate(input, inputRange[range], inputRange[range + 1], outputRange[range], outputRange[range + 1], easing, extrapolateLeft, extrapolateRight);\n };\n}\n\nfunction interpolate(input, inputMin, inputMax, outputMin, outputMax, easing, extrapolateLeft, extrapolateRight) {\n var result = input; // Extrapolate\n\n if (result < inputMin) {\n if (extrapolateLeft === 'identity') {\n return result;\n } else if (extrapolateLeft === 'clamp') {\n result = inputMin;\n } else if (extrapolateLeft === 'extend') {// noop\n }\n }\n\n if (result > inputMax) {\n if (extrapolateRight === 'identity') {\n return result;\n } else if (extrapolateRight === 'clamp') {\n result = inputMax;\n } else if (extrapolateRight === 'extend') {// noop\n }\n }\n\n if (outputMin === outputMax) {\n return outputMin;\n }\n\n if (inputMin === inputMax) {\n if (input <= inputMin) {\n return outputMin;\n }\n\n return outputMax;\n } // Input Range\n\n\n if (inputMin === -Infinity) {\n result = -result;\n } else if (inputMax === Infinity) {\n result = result - inputMin;\n } else {\n result = (result - inputMin) / (inputMax - inputMin);\n } // Easing\n\n\n result = easing(result); // Output Range\n\n if (outputMin === -Infinity) {\n result = -result;\n } else if (outputMax === Infinity) {\n result = result + outputMin;\n } else {\n result = result * (outputMax - outputMin) + outputMin;\n }\n\n return result;\n}\n\nfunction colorToRgba(input) {\n var normalizedColor = normalizeColor(input);\n\n if (normalizedColor === null || typeof normalizedColor !== 'number') {\n return input;\n }\n\n normalizedColor = normalizedColor || 0;\n var r = (normalizedColor & 0xff000000) >>> 24;\n var g = (normalizedColor & 0x00ff0000) >>> 16;\n var b = (normalizedColor & 0x0000ff00) >>> 8;\n var a = (normalizedColor & 0x000000ff) / 255;\n return \"rgba(\" + r + \", \" + g + \", \" + b + \", \" + a + \")\";\n}\n\nvar stringShapeRegex = /[+-]?(?:\\d+\\.?\\d*|\\.\\d+)(?:[eE][+-]?\\d+)?/g;\n/**\n * Supports string shapes by extracting numbers so new values can be computed,\n * and recombines those values into new strings of the same shape. Supports\n * things like:\n *\n * rgba(123, 42, 99, 0.36) // colors\n * -45deg // values with units\n */\n\nfunction createInterpolationFromStringOutputRange(config) {\n var outputRange = config.outputRange;\n invariant(outputRange.length >= 2, 'Bad output range');\n outputRange = outputRange.map(colorToRgba);\n checkPattern(outputRange); // ['rgba(0, 100, 200, 0)', 'rgba(50, 150, 250, 0.5)']\n // ->\n // [\n // [0, 50],\n // [100, 150],\n // [200, 250],\n // [0, 0.5],\n // ]\n\n /* $FlowFixMe(>=0.18.0): `outputRange[0].match()` can return `null`. Need to\n * guard against this possibility.\n */\n\n var outputRanges = outputRange[0].match(stringShapeRegex).map(() => []);\n outputRange.forEach(value => {\n /* $FlowFixMe(>=0.18.0): `value.match()` can return `null`. Need to guard\n * against this possibility.\n */\n value.match(stringShapeRegex).forEach((number, i) => {\n outputRanges[i].push(+number);\n });\n });\n var interpolations = outputRange[0].match(stringShapeRegex)\n /* $FlowFixMe(>=0.18.0): `outputRange[0].match()` can return `null`. Need\n * to guard against this possibility. */\n .map((value, i) => {\n return createInterpolation(_objectSpread(_objectSpread({}, config), {}, {\n outputRange: outputRanges[i]\n }));\n }); // rgba requires that the r,g,b are integers.... so we want to round them, but we *dont* want to\n // round the opacity (4th column).\n\n var shouldRound = isRgbOrRgba(outputRange[0]);\n return input => {\n var i = 0; // 'rgba(0, 100, 200, 0)'\n // ->\n // 'rgba(${interpolations[0](input)}, ${interpolations[1](input)}, ...'\n\n return outputRange[0].replace(stringShapeRegex, () => {\n var val = +interpolations[i++](input);\n\n if (shouldRound) {\n val = i < 4 ? Math.round(val) : Math.round(val * 1000) / 1000;\n }\n\n return String(val);\n });\n };\n}\n\nfunction isRgbOrRgba(range) {\n return typeof range === 'string' && range.startsWith('rgb');\n}\n\nfunction checkPattern(arr) {\n var pattern = arr[0].replace(stringShapeRegex, '');\n\n for (var i = 1; i < arr.length; ++i) {\n invariant(pattern === arr[i].replace(stringShapeRegex, ''), 'invalid pattern ' + arr[0] + ' and ' + arr[i]);\n }\n}\n\nfunction findRange(input, inputRange) {\n var i;\n\n for (i = 1; i < inputRange.length - 1; ++i) {\n if (inputRange[i] >= input) {\n break;\n }\n }\n\n return i - 1;\n}\n\nfunction checkValidInputRange(arr) {\n invariant(arr.length >= 2, 'inputRange must have at least 2 elements');\n\n for (var i = 1; i < arr.length; ++i) {\n invariant(arr[i] >= arr[i - 1],\n /* $FlowFixMe(>=0.13.0) - In the addition expression below this comment,\n * one or both of the operands may be something that doesn't cleanly\n * convert to a string, like undefined, null, and object, etc. If you really\n * mean this implicit string conversion, you can do something like\n * String(myThing)\n */\n 'inputRange must be monotonically non-decreasing ' + arr);\n }\n}\n\nfunction checkInfiniteRange(name, arr) {\n invariant(arr.length >= 2, name + ' must have at least 2 elements');\n invariant(arr.length !== 2 || arr[0] !== -Infinity || arr[1] !== Infinity,\n /* $FlowFixMe(>=0.13.0) - In the addition expression below this comment,\n * one or both of the operands may be something that doesn't cleanly convert\n * to a string, like undefined, null, and object, etc. If you really mean\n * this implicit string conversion, you can do something like\n * String(myThing)\n */\n name + 'cannot be ]-infinity;+infinity[ ' + arr);\n}\n\nclass AnimatedInterpolation extends AnimatedWithChildren {\n // Export for testing.\n constructor(parent, config) {\n super();\n this._parent = parent;\n this._config = config;\n this._interpolation = createInterpolation(config);\n }\n\n __makeNative() {\n this._parent.__makeNative();\n\n super.__makeNative();\n }\n\n __getValue() {\n var parentValue = this._parent.__getValue();\n\n invariant(typeof parentValue === 'number', 'Cannot interpolate an input which is not a number.');\n return this._interpolation(parentValue);\n }\n\n interpolate(config) {\n return new AnimatedInterpolation(this, config);\n }\n\n __attach() {\n this._parent.__addChild(this);\n }\n\n __detach() {\n this._parent.__removeChild(this);\n\n super.__detach();\n }\n\n __transformDataType(range) {\n return range.map(NativeAnimatedHelper.transformDataType);\n }\n\n __getNativeConfig() {\n if (__DEV__) {\n NativeAnimatedHelper.validateInterpolation(this._config);\n }\n\n return {\n inputRange: this._config.inputRange,\n // Only the `outputRange` can contain strings so we don't need to transform `inputRange` here\n\n /* $FlowFixMe(>=0.38.0) - Flow error detected during the deployment of\n * v0.38.0. To see the error, remove this comment and run flow */\n outputRange: this.__transformDataType(this._config.outputRange),\n extrapolateLeft: this._config.extrapolateLeft || this._config.extrapolate || 'extend',\n extrapolateRight: this._config.extrapolateRight || this._config.extrapolate || 'extend',\n type: 'interpolation'\n };\n }\n\n}\n\nAnimatedInterpolation.__createInterpolation = createInterpolation;\nexport default AnimatedInterpolation;","/**\n * Copyright (c) Meta Platforms, Inc. and 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 * @format\n */\n'use strict';\n\nimport AnimatedInterpolation from './AnimatedInterpolation';\nimport AnimatedNode from './AnimatedNode';\nimport AnimatedWithChildren from './AnimatedWithChildren';\n\nclass AnimatedModulo extends AnimatedWithChildren {\n constructor(a, modulus) {\n super();\n this._a = a;\n this._modulus = modulus;\n }\n\n __makeNative() {\n this._a.__makeNative();\n\n super.__makeNative();\n }\n\n __getValue() {\n return (this._a.__getValue() % this._modulus + this._modulus) % this._modulus;\n }\n\n interpolate(config) {\n return new AnimatedInterpolation(this, config);\n }\n\n __attach() {\n this._a.__addChild(this);\n }\n\n __detach() {\n this._a.__removeChild(this);\n\n super.__detach();\n }\n\n __getNativeConfig() {\n return {\n type: 'modulus',\n input: this._a.__getNativeTag(),\n modulus: this._modulus\n };\n }\n\n}\n\nexport default AnimatedModulo;","/**\n * Copyright (c) Meta Platforms, Inc. and 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 * @format\n */\n'use strict';\n\nimport AnimatedInterpolation from './AnimatedInterpolation';\nimport AnimatedNode from './AnimatedNode';\nimport AnimatedValue from './AnimatedValue';\nimport AnimatedWithChildren from './AnimatedWithChildren';\n\nclass AnimatedMultiplication extends AnimatedWithChildren {\n constructor(a, b) {\n super();\n this._a = typeof a === 'number' ? new AnimatedValue(a) : a;\n this._b = typeof b === 'number' ? new AnimatedValue(b) : b;\n }\n\n __makeNative() {\n this._a.__makeNative();\n\n this._b.__makeNative();\n\n super.__makeNative();\n }\n\n __getValue() {\n return this._a.__getValue() * this._b.__getValue();\n }\n\n interpolate(config) {\n return new AnimatedInterpolation(this, config);\n }\n\n __attach() {\n this._a.__addChild(this);\n\n this._b.__addChild(this);\n }\n\n __detach() {\n this._a.__removeChild(this);\n\n this._b.__removeChild(this);\n\n super.__detach();\n }\n\n __getNativeConfig() {\n return {\n type: 'multiplication',\n input: [this._a.__getNativeTag(), this._b.__getNativeTag()]\n };\n }\n\n}\n\nexport default AnimatedMultiplication;","/**\n * Copyright (c) Meta Platforms, Inc. and 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 * @format\n */\n'use strict';\n\nimport NativeAnimatedHelper from '../NativeAnimatedHelper';\nvar NativeAnimatedAPI = NativeAnimatedHelper.API;\nimport invariant from 'fbjs/lib/invariant';\nvar _uniqueId = 1; // Note(vjeux): this would be better as an interface but flow doesn't\n// support them yet\n\nclass AnimatedNode {\n __attach() {}\n\n __detach() {\n if (this.__isNative && this.__nativeTag != null) {\n NativeAnimatedHelper.API.dropAnimatedNode(this.__nativeTag);\n this.__nativeTag = undefined;\n }\n }\n\n __getValue() {}\n\n __getAnimatedValue() {\n return this.__getValue();\n }\n\n __addChild(child) {}\n\n __removeChild(child) {}\n\n __getChildren() {\n return [];\n }\n /* Methods and props used by native Animated impl */\n\n\n constructor() {\n this._listeners = {};\n }\n\n __makeNative() {\n if (!this.__isNative) {\n throw new Error('This node cannot be made a \"native\" animated node');\n }\n\n if (this.hasListeners()) {\n this._startListeningToNativeValueUpdates();\n }\n }\n /**\n * Adds an asynchronous listener to the value so you can observe updates from\n * animations. This is useful because there is no way to\n * synchronously read the value because it might be driven natively.\n *\n * See https://reactnative.dev/docs/animatedvalue.html#addlistener\n */\n\n\n addListener(callback) {\n var id = String(_uniqueId++);\n this._listeners[id] = callback;\n\n if (this.__isNative) {\n this._startListeningToNativeValueUpdates();\n }\n\n return id;\n }\n /**\n * Unregister a listener. The `id` param shall match the identifier\n * previously returned by `addListener()`.\n *\n * See https://reactnative.dev/docs/animatedvalue.html#removelistener\n */\n\n\n removeListener(id) {\n delete this._listeners[id];\n\n if (this.__isNative && !this.hasListeners()) {\n this._stopListeningForNativeValueUpdates();\n }\n }\n /**\n * Remove all registered listeners.\n *\n * See https://reactnative.dev/docs/animatedvalue.html#removealllisteners\n */\n\n\n removeAllListeners() {\n this._listeners = {};\n\n if (this.__isNative) {\n this._stopListeningForNativeValueUpdates();\n }\n }\n\n hasListeners() {\n return !!Object.keys(this._listeners).length;\n }\n\n _startListeningToNativeValueUpdates() {\n if (this.__nativeAnimatedValueListener && !this.__shouldUpdateListenersForNewNativeTag) {\n return;\n }\n\n if (this.__shouldUpdateListenersForNewNativeTag) {\n this.__shouldUpdateListenersForNewNativeTag = false;\n\n this._stopListeningForNativeValueUpdates();\n }\n\n NativeAnimatedAPI.startListeningToAnimatedNodeValue(this.__getNativeTag());\n this.__nativeAnimatedValueListener = NativeAnimatedHelper.nativeEventEmitter.addListener('onAnimatedValueUpdate', data => {\n if (data.tag !== this.__getNativeTag()) {\n return;\n }\n\n this._onAnimatedValueUpdateReceived(data.value);\n });\n }\n\n _onAnimatedValueUpdateReceived(value) {\n this.__callListeners(value);\n }\n\n __callListeners(value) {\n for (var _key in this._listeners) {\n this._listeners[_key]({\n value\n });\n }\n }\n\n _stopListeningForNativeValueUpdates() {\n if (!this.__nativeAnimatedValueListener) {\n return;\n }\n\n this.__nativeAnimatedValueListener.remove();\n\n this.__nativeAnimatedValueListener = null;\n NativeAnimatedAPI.stopListeningToAnimatedNodeValue(this.__getNativeTag());\n }\n\n __getNativeTag() {\n var _this$__nativeTag;\n\n NativeAnimatedHelper.assertNativeAnimatedModule();\n invariant(this.__isNative, 'Attempt to get native tag from node not marked as \"native\"');\n var nativeTag = (_this$__nativeTag = this.__nativeTag) !== null && _this$__nativeTag !== void 0 ? _this$__nativeTag : NativeAnimatedHelper.generateNewNodeTag();\n\n if (this.__nativeTag == null) {\n this.__nativeTag = nativeTag;\n NativeAnimatedHelper.API.createAnimatedNode(nativeTag, this.__getNativeConfig());\n this.__shouldUpdateListenersForNewNativeTag = true;\n }\n\n return nativeTag;\n }\n\n __getNativeConfig() {\n throw new Error('This JS animated node type cannot be used as native animated node');\n }\n\n toJSON() {\n return this.__getValue();\n }\n\n}\n\nexport default AnimatedNode;","/**\n * Copyright (c) Meta Platforms, Inc. and 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 * @format\n */\n'use strict';\n\nimport _objectSpread from \"@babel/runtime/helpers/objectSpread2\";\nimport { AnimatedEvent } from '../AnimatedEvent';\nimport AnimatedNode from './AnimatedNode';\nimport AnimatedStyle from './AnimatedStyle';\nimport NativeAnimatedHelper from '../NativeAnimatedHelper';\nimport findNodeHandle from '../../../../exports/findNodeHandle';\nimport invariant from 'fbjs/lib/invariant';\n\nclass AnimatedProps extends AnimatedNode {\n constructor(props, callback) {\n super();\n\n if (props.style) {\n props = _objectSpread(_objectSpread({}, props), {}, {\n style: new AnimatedStyle(props.style)\n });\n }\n\n this._props = props;\n this._callback = callback;\n\n this.__attach();\n }\n\n __getValue() {\n var props = {};\n\n for (var key in this._props) {\n var value = this._props[key];\n\n if (value instanceof AnimatedNode) {\n if (!value.__isNative || value instanceof AnimatedStyle) {\n // We cannot use value of natively driven nodes this way as the value we have access from\n // JS may not be up to date.\n props[key] = value.__getValue();\n }\n } else if (value instanceof AnimatedEvent) {\n props[key] = value.__getHandler();\n } else {\n props[key] = value;\n }\n }\n\n return props;\n }\n\n __getAnimatedValue() {\n var props = {};\n\n for (var key in this._props) {\n var value = this._props[key];\n\n if (value instanceof AnimatedNode) {\n props[key] = value.__getAnimatedValue();\n }\n }\n\n return props;\n }\n\n __attach() {\n for (var key in this._props) {\n var value = this._props[key];\n\n if (value instanceof AnimatedNode) {\n value.__addChild(this);\n }\n }\n }\n\n __detach() {\n if (this.__isNative && this._animatedView) {\n this.__disconnectAnimatedView();\n }\n\n for (var key in this._props) {\n var value = this._props[key];\n\n if (value instanceof AnimatedNode) {\n value.__removeChild(this);\n }\n }\n\n super.__detach();\n }\n\n update() {\n this._callback();\n }\n\n __makeNative() {\n if (!this.__isNative) {\n this.__isNative = true;\n\n for (var key in this._props) {\n var value = this._props[key];\n\n if (value instanceof AnimatedNode) {\n value.__makeNative();\n }\n }\n\n if (this._animatedView) {\n this.__connectAnimatedView();\n }\n }\n }\n\n setNativeView(animatedView) {\n if (this._animatedView === animatedView) {\n return;\n }\n\n this._animatedView = animatedView;\n\n if (this.__isNative) {\n this.__connectAnimatedView();\n }\n }\n\n __connectAnimatedView() {\n invariant(this.__isNative, 'Expected node to be marked as \"native\"');\n var nativeViewTag = findNodeHandle(this._animatedView);\n invariant(nativeViewTag != null, 'Unable to locate attached view in the native tree');\n NativeAnimatedHelper.API.connectAnimatedNodeToView(this.__getNativeTag(), nativeViewTag);\n }\n\n __disconnectAnimatedView() {\n invariant(this.__isNative, 'Expected node to be marked as \"native\"');\n var nativeViewTag = findNodeHandle(this._animatedView);\n invariant(nativeViewTag != null, 'Unable to locate attached view in the native tree');\n NativeAnimatedHelper.API.disconnectAnimatedNodeFromView(this.__getNativeTag(), nativeViewTag);\n }\n\n __restoreDefaultValues() {\n // When using the native driver, view properties need to be restored to\n // their default values manually since react no longer tracks them. This\n // is needed to handle cases where a prop driven by native animated is removed\n // after having been changed natively by an animation.\n if (this.__isNative) {\n NativeAnimatedHelper.API.restoreDefaultValues(this.__getNativeTag());\n }\n }\n\n __getNativeConfig() {\n var propsConfig = {};\n\n for (var propKey in this._props) {\n var value = this._props[propKey];\n\n if (value instanceof AnimatedNode) {\n value.__makeNative();\n\n propsConfig[propKey] = value.__getNativeTag();\n }\n }\n\n return {\n type: 'props',\n props: propsConfig\n };\n }\n\n}\n\nexport default AnimatedProps;","/**\n * Copyright (c) Meta Platforms, Inc. and 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 * @format\n */\n'use strict';\n\nimport _objectSpread from \"@babel/runtime/helpers/objectSpread2\";\nimport AnimatedNode from './AnimatedNode';\nimport AnimatedTransform from './AnimatedTransform';\nimport AnimatedWithChildren from './AnimatedWithChildren';\nimport NativeAnimatedHelper from '../NativeAnimatedHelper';\nimport StyleSheet from '../../../../exports/StyleSheet';\nvar flattenStyle = StyleSheet.flatten;\n\nclass AnimatedStyle extends AnimatedWithChildren {\n constructor(style) {\n super();\n style = flattenStyle(style) || {};\n\n if (style.transform) {\n style = _objectSpread(_objectSpread({}, style), {}, {\n transform: new AnimatedTransform(style.transform)\n });\n }\n\n this._style = style;\n } // Recursively get values for nested styles (like iOS's shadowOffset)\n\n\n _walkStyleAndGetValues(style) {\n var updatedStyle = {};\n\n for (var key in style) {\n var value = style[key];\n\n if (value instanceof AnimatedNode) {\n if (!value.__isNative) {\n // We cannot use value of natively driven nodes this way as the value we have access from\n // JS may not be up to date.\n updatedStyle[key] = value.__getValue();\n }\n } else if (value && !Array.isArray(value) && typeof value === 'object') {\n // Support animating nested values (for example: shadowOffset.height)\n updatedStyle[key] = this._walkStyleAndGetValues(value);\n } else {\n updatedStyle[key] = value;\n }\n }\n\n return updatedStyle;\n }\n\n __getValue() {\n return this._walkStyleAndGetValues(this._style);\n } // Recursively get animated values for nested styles (like iOS's shadowOffset)\n\n\n _walkStyleAndGetAnimatedValues(style) {\n var updatedStyle = {};\n\n for (var key in style) {\n var value = style[key];\n\n if (value instanceof AnimatedNode) {\n updatedStyle[key] = value.__getAnimatedValue();\n } else if (value && !Array.isArray(value) && typeof value === 'object') {\n // Support animating nested values (for example: shadowOffset.height)\n updatedStyle[key] = this._walkStyleAndGetAnimatedValues(value);\n }\n }\n\n return updatedStyle;\n }\n\n __getAnimatedValue() {\n return this._walkStyleAndGetAnimatedValues(this._style);\n }\n\n __attach() {\n for (var key in this._style) {\n var value = this._style[key];\n\n if (value instanceof AnimatedNode) {\n value.__addChild(this);\n }\n }\n }\n\n __detach() {\n for (var key in this._style) {\n var value = this._style[key];\n\n if (value instanceof AnimatedNode) {\n value.__removeChild(this);\n }\n }\n\n super.__detach();\n }\n\n __makeNative() {\n for (var key in this._style) {\n var value = this._style[key];\n\n if (value instanceof AnimatedNode) {\n value.__makeNative();\n }\n }\n\n super.__makeNative();\n }\n\n __getNativeConfig() {\n var styleConfig = {};\n\n for (var styleKey in this._style) {\n if (this._style[styleKey] instanceof AnimatedNode) {\n var style = this._style[styleKey];\n\n style.__makeNative();\n\n styleConfig[styleKey] = style.__getNativeTag();\n } // Non-animated styles are set using `setNativeProps`, no need\n // to pass those as a part of the node config\n\n }\n\n NativeAnimatedHelper.validateStyles(styleConfig);\n return {\n type: 'style',\n style: styleConfig\n };\n }\n\n}\n\nexport default AnimatedStyle;","/**\n * Copyright (c) Meta Platforms, Inc. and 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 * @format\n */\n'use strict';\n\nimport AnimatedInterpolation from './AnimatedInterpolation';\nimport AnimatedNode from './AnimatedNode';\nimport AnimatedValue from './AnimatedValue';\nimport AnimatedWithChildren from './AnimatedWithChildren';\n\nclass AnimatedSubtraction extends AnimatedWithChildren {\n constructor(a, b) {\n super();\n this._a = typeof a === 'number' ? new AnimatedValue(a) : a;\n this._b = typeof b === 'number' ? new AnimatedValue(b) : b;\n }\n\n __makeNative() {\n this._a.__makeNative();\n\n this._b.__makeNative();\n\n super.__makeNative();\n }\n\n __getValue() {\n return this._a.__getValue() - this._b.__getValue();\n }\n\n interpolate(config) {\n return new AnimatedInterpolation(this, config);\n }\n\n __attach() {\n this._a.__addChild(this);\n\n this._b.__addChild(this);\n }\n\n __detach() {\n this._a.__removeChild(this);\n\n this._b.__removeChild(this);\n\n super.__detach();\n }\n\n __getNativeConfig() {\n return {\n type: 'subtraction',\n input: [this._a.__getNativeTag(), this._b.__getNativeTag()]\n };\n }\n\n}\n\nexport default AnimatedSubtraction;","/**\n * Copyright (c) Meta Platforms, Inc. and 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 * @format\n */\n'use strict';\n\nimport _objectSpread from \"@babel/runtime/helpers/objectSpread2\";\nimport AnimatedValue from './AnimatedValue';\nimport AnimatedNode from './AnimatedNode';\nimport { generateNewAnimationId, shouldUseNativeDriver } from '../NativeAnimatedHelper';\n\nclass AnimatedTracking extends AnimatedNode {\n constructor(value, parent, animationClass, animationConfig, callback) {\n super();\n this._value = value;\n this._parent = parent;\n this._animationClass = animationClass;\n this._animationConfig = animationConfig;\n this._useNativeDriver = shouldUseNativeDriver(animationConfig);\n this._callback = callback;\n\n this.__attach();\n }\n\n __makeNative() {\n this.__isNative = true;\n\n this._parent.__makeNative();\n\n super.__makeNative();\n\n this._value.__makeNative();\n }\n\n __getValue() {\n return this._parent.__getValue();\n }\n\n __attach() {\n this._parent.__addChild(this);\n\n if (this._useNativeDriver) {\n // when the tracking starts we need to convert this node to a \"native node\"\n // so that the parent node will be made \"native\" too. This is necessary as\n // if we don't do this `update` method will get called. At that point it\n // may be too late as it would mean the JS driver has already started\n // updating node values\n this.__makeNative();\n }\n }\n\n __detach() {\n this._parent.__removeChild(this);\n\n super.__detach();\n }\n\n update() {\n this._value.animate(new this._animationClass(_objectSpread(_objectSpread({}, this._animationConfig), {}, {\n toValue: this._animationConfig.toValue.__getValue()\n })), this._callback);\n }\n\n __getNativeConfig() {\n var animation = new this._animationClass(_objectSpread(_objectSpread({}, this._animationConfig), {}, {\n // remove toValue from the config as it's a ref to Animated.Value\n toValue: undefined\n }));\n\n var animationConfig = animation.__getNativeAnimationConfig();\n\n return {\n type: 'tracking',\n animationId: generateNewAnimationId(),\n animationConfig,\n toValue: this._parent.__getNativeTag(),\n value: this._value.__getNativeTag()\n };\n }\n\n}\n\nexport default AnimatedTracking;","/**\n * Copyright (c) Meta Platforms, Inc. and 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 * @format\n */\n'use strict';\n\nimport AnimatedNode from './AnimatedNode';\nimport AnimatedWithChildren from './AnimatedWithChildren';\nimport NativeAnimatedHelper from '../NativeAnimatedHelper';\n\nclass AnimatedTransform extends AnimatedWithChildren {\n constructor(transforms) {\n super();\n this._transforms = transforms;\n }\n\n __makeNative() {\n this._transforms.forEach(transform => {\n for (var key in transform) {\n var value = transform[key];\n\n if (value instanceof AnimatedNode) {\n value.__makeNative();\n }\n }\n });\n\n super.__makeNative();\n }\n\n __getValue() {\n return this._transforms.map(transform => {\n var result = {};\n\n for (var key in transform) {\n var value = transform[key];\n\n if (value instanceof AnimatedNode) {\n result[key] = value.__getValue();\n } else {\n result[key] = value;\n }\n }\n\n return result;\n });\n }\n\n __getAnimatedValue() {\n return this._transforms.map(transform => {\n var result = {};\n\n for (var key in transform) {\n var value = transform[key];\n\n if (value instanceof AnimatedNode) {\n result[key] = value.__getAnimatedValue();\n } else {\n // All transform components needed to recompose matrix\n result[key] = value;\n }\n }\n\n return result;\n });\n }\n\n __attach() {\n this._transforms.forEach(transform => {\n for (var key in transform) {\n var value = transform[key];\n\n if (value instanceof AnimatedNode) {\n value.__addChild(this);\n }\n }\n });\n }\n\n __detach() {\n this._transforms.forEach(transform => {\n for (var key in transform) {\n var value = transform[key];\n\n if (value instanceof AnimatedNode) {\n value.__removeChild(this);\n }\n }\n });\n\n super.__detach();\n }\n\n __getNativeConfig() {\n var transConfigs = [];\n\n this._transforms.forEach(transform => {\n for (var key in transform) {\n var value = transform[key];\n\n if (value instanceof AnimatedNode) {\n transConfigs.push({\n type: 'animated',\n property: key,\n nodeTag: value.__getNativeTag()\n });\n } else {\n transConfigs.push({\n type: 'static',\n property: key,\n value: NativeAnimatedHelper.transformDataType(value)\n });\n }\n }\n });\n\n NativeAnimatedHelper.validateTransform(transConfigs);\n return {\n type: 'transform',\n transforms: transConfigs\n };\n }\n\n}\n\nexport default AnimatedTransform;","/**\n * Copyright (c) Meta Platforms, Inc. and 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 * @format\n */\n'use strict';\n\nimport AnimatedInterpolation from './AnimatedInterpolation';\nimport AnimatedWithChildren from './AnimatedWithChildren';\nimport InteractionManager from '../../../../exports/InteractionManager';\nimport NativeAnimatedHelper from '../NativeAnimatedHelper';\nvar NativeAnimatedAPI = NativeAnimatedHelper.API;\n/**\n * Animated works by building a directed acyclic graph of dependencies\n * transparently when you render your Animated components.\n *\n * new Animated.Value(0)\n * .interpolate() .interpolate() new Animated.Value(1)\n * opacity translateY scale\n * style transform\n * View#234 style\n * View#123\n *\n * A) Top Down phase\n * When an Animated.Value is updated, we recursively go down through this\n * graph in order to find leaf nodes: the views that we flag as needing\n * an update.\n *\n * B) Bottom Up phase\n * When a view is flagged as needing an update, we recursively go back up\n * in order to build the new value that it needs. The reason why we need\n * this two-phases process is to deal with composite props such as\n * transform which can receive values from multiple parents.\n */\n\nfunction _flush(rootNode) {\n var animatedStyles = new Set();\n\n function findAnimatedStyles(node) {\n /* $FlowFixMe(>=0.68.0 site=react_native_fb) This comment suppresses an\n * error found when Flow v0.68 was deployed. To see the error delete this\n * comment and run Flow. */\n if (typeof node.update === 'function') {\n animatedStyles.add(node);\n } else {\n node.__getChildren().forEach(findAnimatedStyles);\n }\n }\n\n findAnimatedStyles(rootNode);\n /* $FlowFixMe */\n\n animatedStyles.forEach(animatedStyle => animatedStyle.update());\n}\n/**\n * Standard value for driving animations. One `Animated.Value` can drive\n * multiple properties in a synchronized fashion, but can only be driven by one\n * mechanism at a time. Using a new mechanism (e.g. starting a new animation,\n * or calling `setValue`) will stop any previous ones.\n *\n * See https://reactnative.dev/docs/animatedvalue.html\n */\n\n\nclass AnimatedValue extends AnimatedWithChildren {\n constructor(value) {\n super();\n\n if (typeof value !== 'number') {\n throw new Error('AnimatedValue: Attempting to set value to undefined');\n }\n\n this._startingValue = this._value = value;\n this._offset = 0;\n this._animation = null;\n }\n\n __detach() {\n if (this.__isNative) {\n NativeAnimatedAPI.getValue(this.__getNativeTag(), value => {\n this._value = value;\n });\n }\n\n this.stopAnimation();\n\n super.__detach();\n }\n\n __getValue() {\n return this._value + this._offset;\n }\n /**\n * Directly set the value. This will stop any animations running on the value\n * and update all the bound properties.\n *\n * See https://reactnative.dev/docs/animatedvalue.html#setvalue\n */\n\n\n setValue(value) {\n if (this._animation) {\n this._animation.stop();\n\n this._animation = null;\n }\n\n this._updateValue(value, !this.__isNative\n /* don't perform a flush for natively driven values */\n );\n\n if (this.__isNative) {\n NativeAnimatedAPI.setAnimatedNodeValue(this.__getNativeTag(), value);\n }\n }\n /**\n * Sets an offset that is applied on top of whatever value is set, whether via\n * `setValue`, an animation, or `Animated.event`. Useful for compensating\n * things like the start of a pan gesture.\n *\n * See https://reactnative.dev/docs/animatedvalue.html#setoffset\n */\n\n\n setOffset(offset) {\n this._offset = offset;\n\n if (this.__isNative) {\n NativeAnimatedAPI.setAnimatedNodeOffset(this.__getNativeTag(), offset);\n }\n }\n /**\n * Merges the offset value into the base value and resets the offset to zero.\n * The final output of the value is unchanged.\n *\n * See https://reactnative.dev/docs/animatedvalue.html#flattenoffset\n */\n\n\n flattenOffset() {\n this._value += this._offset;\n this._offset = 0;\n\n if (this.__isNative) {\n NativeAnimatedAPI.flattenAnimatedNodeOffset(this.__getNativeTag());\n }\n }\n /**\n * Sets the offset value to the base value, and resets the base value to zero.\n * The final output of the value is unchanged.\n *\n * See https://reactnative.dev/docs/animatedvalue.html#extractoffset\n */\n\n\n extractOffset() {\n this._offset += this._value;\n this._value = 0;\n\n if (this.__isNative) {\n NativeAnimatedAPI.extractAnimatedNodeOffset(this.__getNativeTag());\n }\n }\n /**\n * Stops any running animation or tracking. `callback` is invoked with the\n * final value after stopping the animation, which is useful for updating\n * state to match the animation position with layout.\n *\n * See https://reactnative.dev/docs/animatedvalue.html#stopanimation\n */\n\n\n stopAnimation(callback) {\n this.stopTracking();\n this._animation && this._animation.stop();\n this._animation = null;\n callback && callback(this.__getValue());\n }\n /**\n * Stops any animation and resets the value to its original.\n *\n * See https://reactnative.dev/docs/animatedvalue.html#resetanimation\n */\n\n\n resetAnimation(callback) {\n this.stopAnimation(callback);\n this._value = this._startingValue;\n }\n\n _onAnimatedValueUpdateReceived(value) {\n this._updateValue(value, false\n /*flush*/\n );\n }\n /**\n * Interpolates the value before updating the property, e.g. mapping 0-1 to\n * 0-10.\n */\n\n\n interpolate(config) {\n return new AnimatedInterpolation(this, config);\n }\n /**\n * Typically only used internally, but could be used by a custom Animation\n * class.\n *\n * See https://reactnative.dev/docs/animatedvalue.html#animate\n */\n\n\n animate(animation, callback) {\n var handle = null;\n\n if (animation.__isInteraction) {\n handle = InteractionManager.createInteractionHandle();\n }\n\n var previousAnimation = this._animation;\n this._animation && this._animation.stop();\n this._animation = animation;\n animation.start(this._value, value => {\n // Natively driven animations will never call into that callback, therefore we can always\n // pass flush = true to allow the updated value to propagate to native with setNativeProps\n this._updateValue(value, true\n /* flush */\n );\n }, result => {\n this._animation = null;\n\n if (handle !== null) {\n InteractionManager.clearInteractionHandle(handle);\n }\n\n callback && callback(result);\n }, previousAnimation, this);\n }\n /**\n * Typically only used internally.\n */\n\n\n stopTracking() {\n this._tracking && this._tracking.__detach();\n this._tracking = null;\n }\n /**\n * Typically only used internally.\n */\n\n\n track(tracking) {\n this.stopTracking();\n this._tracking = tracking;\n }\n\n _updateValue(value, flush) {\n if (value === undefined) {\n throw new Error('AnimatedValue: Attempting to set value to undefined');\n }\n\n this._value = value;\n\n if (flush) {\n _flush(this);\n }\n\n super.__callListeners(this.__getValue());\n }\n\n __getNativeConfig() {\n return {\n type: 'value',\n value: this._value,\n offset: this._offset\n };\n }\n\n}\n\nexport default AnimatedValue;","/**\n * Copyright (c) Meta Platforms, Inc. and 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 * @format\n */\n'use strict';\n\nimport AnimatedValue from './AnimatedValue';\nimport AnimatedWithChildren from './AnimatedWithChildren';\nimport invariant from 'fbjs/lib/invariant';\nvar _uniqueId = 1;\n/**\n * 2D Value for driving 2D animations, such as pan gestures. Almost identical\n * API to normal `Animated.Value`, but multiplexed.\n *\n * See https://reactnative.dev/docs/animatedvaluexy.html\n */\n\nclass AnimatedValueXY extends AnimatedWithChildren {\n constructor(valueIn) {\n super();\n var value = valueIn || {\n x: 0,\n y: 0\n }; // fixme: shouldn't need `: any`\n\n if (typeof value.x === 'number' && typeof value.y === 'number') {\n this.x = new AnimatedValue(value.x);\n this.y = new AnimatedValue(value.y);\n } else {\n invariant(value.x instanceof AnimatedValue && value.y instanceof AnimatedValue, 'AnimatedValueXY must be initialized with an object of numbers or ' + 'AnimatedValues.');\n this.x = value.x;\n this.y = value.y;\n }\n\n this._listeners = {};\n }\n /**\n * Directly set the value. This will stop any animations running on the value\n * and update all the bound properties.\n *\n * See https://reactnative.dev/docs/animatedvaluexy.html#setvalue\n */\n\n\n setValue(value) {\n this.x.setValue(value.x);\n this.y.setValue(value.y);\n }\n /**\n * Sets an offset that is applied on top of whatever value is set, whether\n * via `setValue`, an animation, or `Animated.event`. Useful for compensating\n * things like the start of a pan gesture.\n *\n * See https://reactnative.dev/docs/animatedvaluexy.html#setoffset\n */\n\n\n setOffset(offset) {\n this.x.setOffset(offset.x);\n this.y.setOffset(offset.y);\n }\n /**\n * Merges the offset value into the base value and resets the offset to zero.\n * The final output of the value is unchanged.\n *\n * See https://reactnative.dev/docs/animatedvaluexy.html#flattenoffset\n */\n\n\n flattenOffset() {\n this.x.flattenOffset();\n this.y.flattenOffset();\n }\n /**\n * Sets the offset value to the base value, and resets the base value to\n * zero. The final output of the value is unchanged.\n *\n * See https://reactnative.dev/docs/animatedvaluexy.html#extractoffset\n */\n\n\n extractOffset() {\n this.x.extractOffset();\n this.y.extractOffset();\n }\n\n __getValue() {\n return {\n x: this.x.__getValue(),\n y: this.y.__getValue()\n };\n }\n /**\n * Stops any animation and resets the value to its original.\n *\n * See https://reactnative.dev/docs/animatedvaluexy.html#resetanimation\n */\n\n\n resetAnimation(callback) {\n this.x.resetAnimation();\n this.y.resetAnimation();\n callback && callback(this.__getValue());\n }\n /**\n * Stops any running animation or tracking. `callback` is invoked with the\n * final value after stopping the animation, which is useful for updating\n * state to match the animation position with layout.\n *\n * See https://reactnative.dev/docs/animatedvaluexy.html#stopanimation\n */\n\n\n stopAnimation(callback) {\n this.x.stopAnimation();\n this.y.stopAnimation();\n callback && callback(this.__getValue());\n }\n /**\n * Adds an asynchronous listener to the value so you can observe updates from\n * animations. This is useful because there is no way to synchronously read\n * the value because it might be driven natively.\n *\n * Returns a string that serves as an identifier for the listener.\n *\n * See https://reactnative.dev/docs/animatedvaluexy.html#addlistener\n */\n\n\n addListener(callback) {\n var id = String(_uniqueId++);\n\n var jointCallback = _ref => {\n var number = _ref.value;\n callback(this.__getValue());\n };\n\n this._listeners[id] = {\n x: this.x.addListener(jointCallback),\n y: this.y.addListener(jointCallback)\n };\n return id;\n }\n /**\n * Unregister a listener. The `id` param shall match the identifier\n * previously returned by `addListener()`.\n *\n * See https://reactnative.dev/docs/animatedvaluexy.html#removelistener\n */\n\n\n removeListener(id) {\n this.x.removeListener(this._listeners[id].x);\n this.y.removeListener(this._listeners[id].y);\n delete this._listeners[id];\n }\n /**\n * Remove all registered listeners.\n *\n * See https://reactnative.dev/docs/animatedvaluexy.html#removealllisteners\n */\n\n\n removeAllListeners() {\n this.x.removeAllListeners();\n this.y.removeAllListeners();\n this._listeners = {};\n }\n /**\n * Converts `{x, y}` into `{left, top}` for use in style.\n *\n * See https://reactnative.dev/docs/animatedvaluexy.html#getlayout\n */\n\n\n getLayout() {\n return {\n left: this.x,\n top: this.y\n };\n }\n /**\n * Converts `{x, y}` into a useable translation transform.\n *\n * See https://reactnative.dev/docs/animatedvaluexy.html#gettranslatetransform\n */\n\n\n getTranslateTransform() {\n return [{\n translateX: this.x\n }, {\n translateY: this.y\n }];\n }\n\n}\n\nexport default AnimatedValueXY;","/**\n * Copyright (c) Meta Platforms, Inc. and 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 * @format\n */\n'use strict';\n\nimport _createForOfIteratorHelperLoose from \"@babel/runtime/helpers/createForOfIteratorHelperLoose\";\nimport AnimatedNode from './AnimatedNode';\nimport NativeAnimatedHelper from '../NativeAnimatedHelper';\n\nclass AnimatedWithChildren extends AnimatedNode {\n constructor() {\n super();\n this._children = [];\n }\n\n __makeNative() {\n if (!this.__isNative) {\n this.__isNative = true;\n\n for (var _iterator = _createForOfIteratorHelperLoose(this._children), _step; !(_step = _iterator()).done;) {\n var child = _step.value;\n\n child.__makeNative();\n\n NativeAnimatedHelper.API.connectAnimatedNodes(this.__getNativeTag(), child.__getNativeTag());\n }\n }\n\n super.__makeNative();\n }\n\n __addChild(child) {\n if (this._children.length === 0) {\n this.__attach();\n }\n\n this._children.push(child);\n\n if (this.__isNative) {\n // Only accept \"native\" animated nodes as children\n child.__makeNative();\n\n NativeAnimatedHelper.API.connectAnimatedNodes(this.__getNativeTag(), child.__getNativeTag());\n }\n }\n\n __removeChild(child) {\n var index = this._children.indexOf(child);\n\n if (index === -1) {\n console.warn(\"Trying to remove a child that doesn't exist\");\n return;\n }\n\n if (this.__isNative && child.__isNative) {\n NativeAnimatedHelper.API.disconnectAnimatedNodes(this.__getNativeTag(), child.__getNativeTag());\n }\n\n this._children.splice(index, 1);\n\n if (this._children.length === 0) {\n this.__detach();\n }\n }\n\n __getChildren() {\n return this._children;\n }\n\n __callListeners(value) {\n super.__callListeners(value);\n\n if (!this.__isNative) {\n for (var _iterator2 = _createForOfIteratorHelperLoose(this._children), _step2; !(_step2 = _iterator2()).done;) {\n var child = _step2.value;\n\n if (child.__getValue) {\n child.__callListeners(child.__getValue());\n }\n }\n }\n }\n\n}\n\nexport default AnimatedWithChildren;","/**\n * Copyright (c) Meta Platforms, Inc. and 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 * @format\n * \n */\n'use strict';\n\nimport InteractionManager from '../../../exports/InteractionManager';\n/**\n * A simple class for batching up invocations of a low-pri callback. A timeout is set to run the\n * callback once after a delay, no matter how many times it's scheduled. Once the delay is reached,\n * InteractionManager.runAfterInteractions is used to invoke the callback after any hi-pri\n * interactions are done running.\n *\n * Make sure to cleanup with dispose(). Example:\n *\n * class Widget extends React.Component {\n * _batchedSave: new Batchinator(() => this._saveState, 1000);\n * _saveSate() {\n * // save this.state to disk\n * }\n * componentDidUpdate() {\n * this._batchedSave.schedule();\n * }\n * componentWillUnmount() {\n * this._batchedSave.dispose();\n * }\n * ...\n * }\n */\n\nclass Batchinator {\n constructor(callback, delayMS) {\n this._delay = delayMS;\n this._callback = callback;\n }\n /*\n * Cleanup any pending tasks.\n *\n * By default, if there is a pending task the callback is run immediately. Set the option abort to\n * true to not call the callback if it was pending.\n */\n\n\n dispose(options) {\n if (options === void 0) {\n options = {\n abort: false\n };\n }\n\n if (this._taskHandle) {\n this._taskHandle.cancel();\n\n if (!options.abort) {\n this._callback();\n }\n\n this._taskHandle = null;\n }\n }\n\n schedule() {\n if (this._taskHandle) {\n return;\n }\n\n var timeoutHandle = setTimeout(() => {\n this._taskHandle = InteractionManager.runAfterInteractions(() => {\n // Note that we clear the handle before invoking the callback so that if the callback calls\n // schedule again, it will actually schedule another task.\n this._taskHandle = null;\n\n this._callback();\n });\n }, this._delay);\n this._taskHandle = {\n cancel: () => clearTimeout(timeoutHandle)\n };\n }\n\n}\n\nexport default Batchinator;","/**\n * Copyright (c) Meta Platforms, Inc. and 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 * @format\n */\n'use strict';\n\nimport _objectSpread from \"@babel/runtime/helpers/objectSpread2\";\n\nclass Info {\n constructor() {\n this.any_blank_count = 0;\n this.any_blank_ms = 0;\n this.any_blank_speed_sum = 0;\n this.mostly_blank_count = 0;\n this.mostly_blank_ms = 0;\n this.pixels_blank = 0;\n this.pixels_sampled = 0;\n this.pixels_scrolled = 0;\n this.total_time_spent = 0;\n this.sample_count = 0;\n }\n\n}\n\nvar DEBUG = false;\nvar _listeners = [];\nvar _minSampleCount = 10;\n\nvar _sampleRate = DEBUG ? 1 : null;\n/**\n * A helper class for detecting when the maximem fill rate of `VirtualizedList` is exceeded.\n * By default the sampling rate is set to zero and this will do nothing. If you want to collect\n * samples (e.g. to log them), make sure to call `FillRateHelper.setSampleRate(0.0-1.0)`.\n *\n * Listeners and sample rate are global for all `VirtualizedList`s - typical usage will combine with\n * `SceneTracker.getActiveScene` to determine the context of the events.\n */\n\n\nclass FillRateHelper {\n static addListener(callback) {\n if (_sampleRate === null) {\n console.warn('Call `FillRateHelper.setSampleRate` before `addListener`.');\n }\n\n _listeners.push(callback);\n\n return {\n remove: () => {\n _listeners = _listeners.filter(listener => callback !== listener);\n }\n };\n }\n\n static setSampleRate(sampleRate) {\n _sampleRate = sampleRate;\n }\n\n static setMinSampleCount(minSampleCount) {\n _minSampleCount = minSampleCount;\n }\n\n constructor(getFrameMetrics) {\n this._anyBlankStartTime = null;\n this._enabled = false;\n this._info = new Info();\n this._mostlyBlankStartTime = null;\n this._samplesStartTime = null;\n this._getFrameMetrics = getFrameMetrics;\n this._enabled = (_sampleRate || 0) > Math.random();\n\n this._resetData();\n }\n\n activate() {\n if (this._enabled && this._samplesStartTime == null) {\n DEBUG && console.debug('FillRateHelper: activate');\n this._samplesStartTime = global.performance.now();\n }\n }\n\n deactivateAndFlush() {\n if (!this._enabled) {\n return;\n }\n\n var start = this._samplesStartTime; // const for flow\n\n if (start == null) {\n DEBUG && console.debug('FillRateHelper: bail on deactivate with no start time');\n return;\n }\n\n if (this._info.sample_count < _minSampleCount) {\n // Don't bother with under-sampled events.\n this._resetData();\n\n return;\n }\n\n var total_time_spent = global.performance.now() - start;\n\n var info = _objectSpread(_objectSpread({}, this._info), {}, {\n total_time_spent\n });\n\n if (DEBUG) {\n var derived = {\n avg_blankness: this._info.pixels_blank / this._info.pixels_sampled,\n avg_speed: this._info.pixels_scrolled / (total_time_spent / 1000),\n avg_speed_when_any_blank: this._info.any_blank_speed_sum / this._info.any_blank_count,\n any_blank_per_min: this._info.any_blank_count / (total_time_spent / 1000 / 60),\n any_blank_time_frac: this._info.any_blank_ms / total_time_spent,\n mostly_blank_per_min: this._info.mostly_blank_count / (total_time_spent / 1000 / 60),\n mostly_blank_time_frac: this._info.mostly_blank_ms / total_time_spent\n };\n\n for (var key in derived) {\n derived[key] = Math.round(1000 * derived[key]) / 1000;\n }\n\n console.debug('FillRateHelper deactivateAndFlush: ', {\n derived,\n info\n });\n }\n\n _listeners.forEach(listener => listener(info));\n\n this._resetData();\n }\n\n computeBlankness(props, state, scrollMetrics) {\n if (!this._enabled || props.getItemCount(props.data) === 0 || this._samplesStartTime == null) {\n return 0;\n }\n\n var dOffset = scrollMetrics.dOffset,\n offset = scrollMetrics.offset,\n velocity = scrollMetrics.velocity,\n visibleLength = scrollMetrics.visibleLength; // Denominator metrics that we track for all events - most of the time there is no blankness and\n // we want to capture that.\n\n this._info.sample_count++;\n this._info.pixels_sampled += Math.round(visibleLength);\n this._info.pixels_scrolled += Math.round(Math.abs(dOffset));\n var scrollSpeed = Math.round(Math.abs(velocity) * 1000); // px / sec\n // Whether blank now or not, record the elapsed time blank if we were blank last time.\n\n var now = global.performance.now();\n\n if (this._anyBlankStartTime != null) {\n this._info.any_blank_ms += now - this._anyBlankStartTime;\n }\n\n this._anyBlankStartTime = null;\n\n if (this._mostlyBlankStartTime != null) {\n this._info.mostly_blank_ms += now - this._mostlyBlankStartTime;\n }\n\n this._mostlyBlankStartTime = null;\n var blankTop = 0;\n var first = state.first;\n\n var firstFrame = this._getFrameMetrics(first);\n\n while (first <= state.last && (!firstFrame || !firstFrame.inLayout)) {\n firstFrame = this._getFrameMetrics(first);\n first++;\n } // Only count blankTop if we aren't rendering the first item, otherwise we will count the header\n // as blank.\n\n\n if (firstFrame && first > 0) {\n blankTop = Math.min(visibleLength, Math.max(0, firstFrame.offset - offset));\n }\n\n var blankBottom = 0;\n var last = state.last;\n\n var lastFrame = this._getFrameMetrics(last);\n\n while (last >= state.first && (!lastFrame || !lastFrame.inLayout)) {\n lastFrame = this._getFrameMetrics(last);\n last--;\n } // Only count blankBottom if we aren't rendering the last item, otherwise we will count the\n // footer as blank.\n\n\n if (lastFrame && last < props.getItemCount(props.data) - 1) {\n var bottomEdge = lastFrame.offset + lastFrame.length;\n blankBottom = Math.min(visibleLength, Math.max(0, offset + visibleLength - bottomEdge));\n }\n\n var pixels_blank = Math.round(blankTop + blankBottom);\n var blankness = pixels_blank / visibleLength;\n\n if (blankness > 0) {\n this._anyBlankStartTime = now;\n this._info.any_blank_speed_sum += scrollSpeed;\n this._info.any_blank_count++;\n this._info.pixels_blank += pixels_blank;\n\n if (blankness > 0.5) {\n this._mostlyBlankStartTime = now;\n this._info.mostly_blank_count++;\n }\n } else if (scrollSpeed < 0.01 || Math.abs(dOffset) < 1) {\n this.deactivateAndFlush();\n }\n\n return blankness;\n }\n\n enabled() {\n return this._enabled;\n }\n\n _resetData() {\n this._anyBlankStartTime = null;\n this._info = new Info();\n this._mostlyBlankStartTime = null;\n this._samplesStartTime = null;\n }\n\n}\n\nexport default FillRateHelper;","import _extends from \"@babel/runtime/helpers/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/objectWithoutPropertiesLoose\";\nimport _objectSpread from \"@babel/runtime/helpers/objectSpread2\";\nvar _excluded = [\"numColumns\", \"columnWrapperStyle\", \"removeClippedSubviews\"];\n\n/**\n * Copyright (c) Meta Platforms, Inc. and 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 * @format\n */\nimport Platform from '../../../exports/Platform';\nimport deepDiffer from '../deepDiffer';\nimport * as React from 'react';\nimport View from '../../../exports/View';\nimport VirtualizedList from '../VirtualizedList';\nimport StyleSheet from '../../../exports/StyleSheet';\nimport invariant from 'fbjs/lib/invariant';\nimport { keyExtractor as defaultKeyExtractor } from '../VirtualizeUtils';\n\n/**\n * Default Props Helper Functions\n * Use the following helper functions for default values\n */\n// removeClippedSubviewsOrDefault(this.props.removeClippedSubviews)\nfunction removeClippedSubviewsOrDefault(removeClippedSubviews) {\n return removeClippedSubviews !== null && removeClippedSubviews !== void 0 ? removeClippedSubviews : Platform.OS === 'android';\n} // numColumnsOrDefault(this.props.numColumns)\n\n\nfunction numColumnsOrDefault(numColumns) {\n return numColumns !== null && numColumns !== void 0 ? numColumns : 1;\n}\n\n/**\n * A performant interface for rendering simple, flat lists, supporting the most handy features:\n *\n * - Fully cross-platform.\n * - Optional horizontal mode.\n * - Configurable viewability callbacks.\n * - Header support.\n * - Footer support.\n * - Separator support.\n * - Pull to Refresh.\n * - Scroll loading.\n * - ScrollToIndex support.\n *\n * If you need section support, use [``](docs/sectionlist.html).\n *\n * Minimal Example:\n *\n * {item.key}}\n * />\n *\n * More complex, multi-select example demonstrating `PureComponent` usage for perf optimization and avoiding bugs.\n *\n * - By binding the `onPressItem` handler, the props will remain `===` and `PureComponent` will\n * prevent wasteful re-renders unless the actual `id`, `selected`, or `title` props change, even\n * if the components rendered in `MyListItem` did not have such optimizations.\n * - By passing `extraData={this.state}` to `FlatList` we make sure `FlatList` itself will re-render\n * when the `state.selected` changes. Without setting this prop, `FlatList` would not know it\n * needs to re-render any items because it is also a `PureComponent` and the prop comparison will\n * not show any changes.\n * - `keyExtractor` tells the list to use the `id`s for the react keys instead of the default `key` property.\n *\n *\n * class MyListItem extends React.PureComponent {\n * _onPress = () => {\n * this.props.onPressItem(this.props.id);\n * };\n *\n * render() {\n * const textColor = this.props.selected ? \"red\" : \"black\";\n * return (\n * \n * \n * \n * {this.props.title}\n * \n * \n * \n * );\n * }\n * }\n *\n * class MultiSelectList extends React.PureComponent {\n * state = {selected: (new Map(): Map)};\n *\n * _keyExtractor = (item, index) => item.id;\n *\n * _onPressItem = (id: string) => {\n * // updater functions are preferred for transactional updates\n * this.setState((state) => {\n * // copy the map rather than modifying state.\n * const selected = new Map(state.selected);\n * selected.set(id, !selected.get(id)); // toggle\n * return {selected};\n * });\n * };\n *\n * _renderItem = ({item}) => (\n * \n * );\n *\n * render() {\n * return (\n * \n * );\n * }\n * }\n *\n * This is a convenience wrapper around [``](docs/virtualizedlist.html),\n * and thus inherits its props (as well as those of `ScrollView`) that aren't explicitly listed\n * here, along with the following caveats:\n *\n * - Internal state is not preserved when content scrolls out of the render window. Make sure all\n * your data is captured in the item data or external stores like Flux, Redux, or Relay.\n * - This is a `PureComponent` which means that it will not re-render if `props` remain shallow-\n * equal. Make sure that everything your `renderItem` function depends on is passed as a prop\n * (e.g. `extraData`) that is not `===` after updates, otherwise your UI may not update on\n * changes. This includes the `data` prop and parent component state.\n * - In order to constrain memory and enable smooth scrolling, content is rendered asynchronously\n * offscreen. This means it's possible to scroll faster than the fill rate ands momentarily see\n * blank content. This is a tradeoff that can be adjusted to suit the needs of each application,\n * and we are working on improving it behind the scenes.\n * - By default, the list looks for a `key` prop on each item and uses that for the React key.\n * Alternatively, you can provide a custom `keyExtractor` prop.\n *\n * Also inherits [ScrollView Props](docs/scrollview.html#props), unless it is nested in another FlatList of same orientation.\n */\nclass FlatList extends React.PureComponent {\n /**\n * Scrolls to the end of the content. May be janky without `getItemLayout` prop.\n */\n scrollToEnd(params) {\n if (this._listRef) {\n this._listRef.scrollToEnd(params);\n }\n }\n /**\n * Scrolls to the item at the specified index such that it is positioned in the viewable area\n * such that `viewPosition` 0 places it at the top, 1 at the bottom, and 0.5 centered in the\n * middle. `viewOffset` is a fixed number of pixels to offset the final target position.\n *\n * Note: cannot scroll to locations outside the render window without specifying the\n * `getItemLayout` prop.\n */\n\n\n scrollToIndex(params) {\n if (this._listRef) {\n this._listRef.scrollToIndex(params);\n }\n }\n /**\n * Requires linear scan through data - use `scrollToIndex` instead if possible.\n *\n * Note: cannot scroll to locations outside the render window without specifying the\n * `getItemLayout` prop.\n */\n\n\n scrollToItem(params) {\n if (this._listRef) {\n this._listRef.scrollToItem(params);\n }\n }\n /**\n * Scroll to a specific content pixel offset in the list.\n *\n * Check out [scrollToOffset](docs/virtualizedlist.html#scrolltooffset) of VirtualizedList\n */\n\n\n scrollToOffset(params) {\n if (this._listRef) {\n this._listRef.scrollToOffset(params);\n }\n }\n /**\n * Tells the list an interaction has occurred, which should trigger viewability calculations, e.g.\n * if `waitForInteractions` is true and the user has not scrolled. This is typically called by\n * taps on items or by navigation actions.\n */\n\n\n recordInteraction() {\n if (this._listRef) {\n this._listRef.recordInteraction();\n }\n }\n /**\n * Displays the scroll indicators momentarily.\n *\n * @platform ios\n */\n\n\n flashScrollIndicators() {\n if (this._listRef) {\n this._listRef.flashScrollIndicators();\n }\n }\n /**\n * Provides a handle to the underlying scroll responder.\n */\n\n\n getScrollResponder() {\n if (this._listRef) {\n return this._listRef.getScrollResponder();\n }\n }\n /**\n * Provides a reference to the underlying host component\n */\n\n\n getNativeScrollRef() {\n if (this._listRef) {\n /* $FlowFixMe[incompatible-return] Suppresses errors found when fixing\n * TextInput typing */\n return this._listRef.getScrollRef();\n }\n }\n\n getScrollableNode() {\n if (this._listRef) {\n return this._listRef.getScrollableNode();\n }\n }\n\n setNativeProps(props) {\n if (this._listRef) {\n this._listRef.setNativeProps(props);\n }\n }\n\n constructor(_props) {\n super(_props);\n this._virtualizedListPairs = [];\n\n this._captureRef = ref => {\n this._listRef = ref;\n };\n\n this._getItem = (data, index) => {\n var numColumns = numColumnsOrDefault(this.props.numColumns);\n\n if (numColumns > 1) {\n var ret = [];\n\n for (var kk = 0; kk < numColumns; kk++) {\n var _item = data[index * numColumns + kk];\n\n if (_item != null) {\n ret.push(_item);\n }\n }\n\n return ret;\n } else {\n return data[index];\n }\n };\n\n this._getItemCount = data => {\n if (data) {\n var numColumns = numColumnsOrDefault(this.props.numColumns);\n return numColumns > 1 ? Math.ceil(data.length / numColumns) : data.length;\n } else {\n return 0;\n }\n };\n\n this._keyExtractor = (items, index) => {\n var _this$props$keyExtrac;\n\n var numColumns = numColumnsOrDefault(this.props.numColumns);\n var keyExtractor = (_this$props$keyExtrac = this.props.keyExtractor) !== null && _this$props$keyExtrac !== void 0 ? _this$props$keyExtrac : defaultKeyExtractor;\n\n if (numColumns > 1) {\n if (Array.isArray(items)) {\n return items.map((item, kk) => keyExtractor(item, index * numColumns + kk)).join(':');\n } else {\n invariant(Array.isArray(items), 'FlatList: Encountered internal consistency error, expected each item to consist of an ' + 'array with 1-%s columns; instead, received a single item.', numColumns);\n }\n } else {\n // $FlowFixMe[incompatible-call] Can't call keyExtractor with an array\n return keyExtractor(items, index);\n }\n };\n\n this._renderer = () => {\n var _this$props = this.props,\n ListItemComponent = _this$props.ListItemComponent,\n renderItem = _this$props.renderItem,\n columnWrapperStyle = _this$props.columnWrapperStyle;\n var numColumns = numColumnsOrDefault(this.props.numColumns);\n var virtualizedListRenderKey = ListItemComponent ? 'ListItemComponent' : 'renderItem';\n\n var renderer = props => {\n if (ListItemComponent) {\n // $FlowFixMe[not-a-component] Component isn't valid\n // $FlowFixMe[incompatible-type-arg] Component isn't valid\n // $FlowFixMe[incompatible-return] Component isn't valid\n return /*#__PURE__*/React.createElement(ListItemComponent, props);\n } else if (renderItem) {\n // $FlowFixMe[incompatible-call]\n return renderItem(props);\n } else {\n return null;\n }\n };\n\n return {\n /* $FlowFixMe[invalid-computed-prop] (>=0.111.0 site=react_native_fb)\n * This comment suppresses an error found when Flow v0.111 was deployed.\n * To see the error, delete this comment and run Flow. */\n [virtualizedListRenderKey]: info => {\n if (numColumns > 1) {\n var _item2 = info.item,\n _index = info.index;\n invariant(Array.isArray(_item2), 'Expected array of items with numColumns > 1');\n return /*#__PURE__*/React.createElement(View, {\n style: StyleSheet.compose(styles.row, columnWrapperStyle)\n }, _item2.map((it, kk) => {\n var element = renderer({\n item: it,\n index: _index * numColumns + kk,\n separators: info.separators\n });\n return element != null ? /*#__PURE__*/React.createElement(React.Fragment, {\n key: kk\n }, element) : null;\n }));\n } else {\n return renderer(info);\n }\n }\n };\n };\n\n this._checkProps(this.props);\n\n if (this.props.viewabilityConfigCallbackPairs) {\n this._virtualizedListPairs = this.props.viewabilityConfigCallbackPairs.map(pair => ({\n viewabilityConfig: pair.viewabilityConfig,\n onViewableItemsChanged: this._createOnViewableItemsChanged(pair.onViewableItemsChanged)\n }));\n } else if (this.props.onViewableItemsChanged) {\n this._virtualizedListPairs.push({\n /* $FlowFixMe[incompatible-call] (>=0.63.0 site=react_native_fb) This\n * comment suppresses an error found when Flow v0.63 was deployed. To\n * see the error delete this comment and run Flow. */\n viewabilityConfig: this.props.viewabilityConfig,\n onViewableItemsChanged: this._createOnViewableItemsChanged(this.props.onViewableItemsChanged)\n });\n }\n }\n\n componentDidUpdate(prevProps) {\n invariant(prevProps.numColumns === this.props.numColumns, 'Changing numColumns on the fly is not supported. Change the key prop on FlatList when ' + 'changing the number of columns to force a fresh render of the component.');\n invariant(prevProps.onViewableItemsChanged === this.props.onViewableItemsChanged, 'Changing onViewableItemsChanged on the fly is not supported');\n invariant(!deepDiffer(prevProps.viewabilityConfig, this.props.viewabilityConfig), 'Changing viewabilityConfig on the fly is not supported');\n invariant(prevProps.viewabilityConfigCallbackPairs === this.props.viewabilityConfigCallbackPairs, 'Changing viewabilityConfigCallbackPairs on the fly is not supported');\n\n this._checkProps(this.props);\n }\n\n _checkProps(props) {\n var getItem = props.getItem,\n getItemCount = props.getItemCount,\n horizontal = props.horizontal,\n columnWrapperStyle = props.columnWrapperStyle,\n onViewableItemsChanged = props.onViewableItemsChanged,\n viewabilityConfigCallbackPairs = props.viewabilityConfigCallbackPairs;\n var numColumns = numColumnsOrDefault(this.props.numColumns);\n invariant(!getItem && !getItemCount, 'FlatList does not support custom data formats.');\n\n if (numColumns > 1) {\n invariant(!horizontal, 'numColumns does not support horizontal.');\n } else {\n invariant(!columnWrapperStyle, 'columnWrapperStyle not supported for single column lists');\n }\n\n invariant(!(onViewableItemsChanged && viewabilityConfigCallbackPairs), 'FlatList does not support setting both onViewableItemsChanged and ' + 'viewabilityConfigCallbackPairs.');\n }\n\n _pushMultiColumnViewable(arr, v) {\n var _this$props$keyExtrac2;\n\n var numColumns = numColumnsOrDefault(this.props.numColumns);\n var keyExtractor = (_this$props$keyExtrac2 = this.props.keyExtractor) !== null && _this$props$keyExtrac2 !== void 0 ? _this$props$keyExtrac2 : defaultKeyExtractor;\n v.item.forEach((item, ii) => {\n invariant(v.index != null, 'Missing index!');\n var index = v.index * numColumns + ii;\n arr.push(_objectSpread(_objectSpread({}, v), {}, {\n item,\n key: keyExtractor(item, index),\n index\n }));\n });\n }\n\n _createOnViewableItemsChanged(onViewableItemsChanged) {\n return info => {\n var numColumns = numColumnsOrDefault(this.props.numColumns);\n\n if (onViewableItemsChanged) {\n if (numColumns > 1) {\n var changed = [];\n var viewableItems = [];\n info.viewableItems.forEach(v => this._pushMultiColumnViewable(viewableItems, v));\n info.changed.forEach(v => this._pushMultiColumnViewable(changed, v));\n onViewableItemsChanged({\n viewableItems,\n changed\n });\n } else {\n onViewableItemsChanged(info);\n }\n }\n };\n }\n\n render() {\n var _this$props2 = this.props,\n numColumns = _this$props2.numColumns,\n columnWrapperStyle = _this$props2.columnWrapperStyle,\n _removeClippedSubviews = _this$props2.removeClippedSubviews,\n restProps = _objectWithoutPropertiesLoose(_this$props2, _excluded);\n\n return /*#__PURE__*/React.createElement(VirtualizedList, _extends({}, restProps, {\n getItem: this._getItem,\n getItemCount: this._getItemCount,\n keyExtractor: this._keyExtractor,\n ref: this._captureRef,\n viewabilityConfigCallbackPairs: this._virtualizedListPairs,\n removeClippedSubviews: removeClippedSubviewsOrDefault(_removeClippedSubviews)\n }, this._renderer()));\n }\n\n}\n\nvar styles = StyleSheet.create({\n row: {\n flexDirection: 'row'\n }\n});\nexport default FlatList;","/**\n * Copyright (c) Meta Platforms, Inc. and 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 * @format\n */\n'use strict';\n\nimport Platform from '../../../exports/Platform';\nimport UIManager from '../../../exports/UIManager';\n\nvar __DEV__ = process.env.NODE_ENV !== 'production';\n\nfunction configureNext(config, onAnimationDidEnd) {\n if (!Platform.isTesting) {\n UIManager.configureNextLayoutAnimation(config, onAnimationDidEnd !== null && onAnimationDidEnd !== void 0 ? onAnimationDidEnd : function () {}, function () {}\n /* unused onError */\n );\n }\n}\n\nfunction create(duration, type, property) {\n return {\n duration,\n create: {\n type,\n property\n },\n update: {\n type\n },\n delete: {\n type,\n property\n }\n };\n}\n\nvar Presets = {\n easeInEaseOut: create(300, 'easeInEaseOut', 'opacity'),\n linear: create(500, 'linear', 'opacity'),\n spring: {\n duration: 700,\n create: {\n type: 'linear',\n property: 'opacity'\n },\n update: {\n type: 'spring',\n springDamping: 0.4\n },\n delete: {\n type: 'linear',\n property: 'opacity'\n }\n }\n};\n/**\n * Automatically animates views to their new positions when the\n * next layout happens.\n *\n * A common way to use this API is to call it before calling `setState`.\n *\n * Note that in order to get this to work on **Android** you need to set the following flags via `UIManager`:\n *\n * UIManager.setLayoutAnimationEnabledExperimental && UIManager.setLayoutAnimationEnabledExperimental(true);\n */\n\nvar LayoutAnimation = {\n /**\n * Schedules an animation to happen on the next layout.\n *\n * @param config Specifies animation properties:\n *\n * - `duration` in milliseconds\n * - `create`, `AnimationConfig` for animating in new views\n * - `update`, `AnimationConfig` for animating views that have been updated\n *\n * @param onAnimationDidEnd Called when the animation finished.\n * Only supported on iOS.\n * @param onError Called on error. Only supported on iOS.\n */\n configureNext,\n\n /**\n * Helper for creating a config for `configureNext`.\n */\n create,\n Types: Object.freeze({\n spring: 'spring',\n linear: 'linear',\n easeInEaseOut: 'easeInEaseOut',\n easeIn: 'easeIn',\n easeOut: 'easeOut',\n keyboard: 'keyboard'\n }),\n Properties: Object.freeze({\n opacity: 'opacity',\n scaleX: 'scaleX',\n scaleY: 'scaleY',\n scaleXY: 'scaleXY'\n }),\n\n checkConfig() {\n console.error('LayoutAnimation.checkConfig(...) has been disabled.');\n },\n\n Presets,\n easeInEaseOut: configureNext.bind(null, Presets.easeInEaseOut),\n linear: configureNext.bind(null, Presets.linear),\n spring: configureNext.bind(null, Presets.spring)\n};\nexport default LayoutAnimation;","/**\n * Copyright (c) Meta Platforms, Inc. and 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 * @format\n */\nimport EventEmitter from '../emitter/EventEmitter'; // FIXME: use typed events\n\n/**\n * Global EventEmitter used by the native platform to emit events to JavaScript.\n * Events are identified by globally unique event names.\n *\n * NativeModules that emit events should instead subclass `NativeEventEmitter`.\n */\nexport default new EventEmitter();","/**\n * Copyright (c) Meta Platforms, Inc. and 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 * @format\n */\n'use strict';\n\nimport Platform from '../../../exports/Platform';\nimport RCTDeviceEventEmitter from './RCTDeviceEventEmitter';\nimport invariant from 'fbjs/lib/invariant';\n\n/**\n * `NativeEventEmitter` is intended for use by Native Modules to emit events to\n * JavaScript listeners. If a `NativeModule` is supplied to the constructor, it\n * will be notified (via `addListener` and `removeListeners`) when the listener\n * count changes to manage \"native memory\".\n *\n * Currently, all native events are fired via a global `RCTDeviceEventEmitter`.\n * This means event names must be globally unique, and it means that call sites\n * can theoretically listen to `RCTDeviceEventEmitter` (although discouraged).\n */\nexport default class NativeEventEmitter {\n constructor(nativeModule) {\n if (Platform.OS === 'ios') {\n invariant(nativeModule != null, '`new NativeEventEmitter()` requires a non-null argument.');\n this._nativeModule = nativeModule;\n }\n }\n\n addListener(eventType, listener, context) {\n var _this$_nativeModule;\n\n (_this$_nativeModule = this._nativeModule) == null ? void 0 : _this$_nativeModule.addListener(eventType);\n var subscription = RCTDeviceEventEmitter.addListener(eventType, listener, context);\n return {\n remove: () => {\n if (subscription != null) {\n var _this$_nativeModule2;\n\n (_this$_nativeModule2 = this._nativeModule) == null ? void 0 : _this$_nativeModule2.removeListeners(1); // $FlowFixMe[incompatible-use]\n\n subscription.remove();\n subscription = null;\n }\n }\n };\n }\n /**\n * @deprecated Use `remove` on the EventSubscription from `addListener`.\n */\n\n\n removeListener(eventType, listener) {\n var _this$_nativeModule3;\n\n (_this$_nativeModule3 = this._nativeModule) == null ? void 0 : _this$_nativeModule3.removeListeners(1); // NOTE: This will report a deprecation notice via `console.error`.\n // $FlowFixMe[prop-missing] - `removeListener` exists but is deprecated.\n\n RCTDeviceEventEmitter.removeListener(eventType, listener);\n }\n\n emit(eventType) {\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 // Generally, `RCTDeviceEventEmitter` is directly invoked. But this is\n // included for completeness.\n RCTDeviceEventEmitter.emit(eventType, ...args);\n }\n\n removeAllListeners(eventType) {\n var _this$_nativeModule4;\n\n invariant(eventType != null, '`NativeEventEmitter.removeAllListener()` requires a non-null argument.');\n (_this$_nativeModule4 = this._nativeModule) == null ? void 0 : _this$_nativeModule4.removeListeners(this.listenerCount(eventType));\n RCTDeviceEventEmitter.removeAllListeners(eventType);\n }\n\n listenerCount(eventType) {\n return RCTDeviceEventEmitter.listenerCount(eventType);\n }\n\n}","/**\n * Copyright (c) Meta Platforms, Inc. and 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 * @format\n */\n'use strict';\n\nimport InteractionManager from '../../../exports/InteractionManager';\nimport TouchHistoryMath from '../TouchHistoryMath';\nvar currentCentroidXOfTouchesChangedAfter = TouchHistoryMath.currentCentroidXOfTouchesChangedAfter;\nvar currentCentroidYOfTouchesChangedAfter = TouchHistoryMath.currentCentroidYOfTouchesChangedAfter;\nvar previousCentroidXOfTouchesChangedAfter = TouchHistoryMath.previousCentroidXOfTouchesChangedAfter;\nvar previousCentroidYOfTouchesChangedAfter = TouchHistoryMath.previousCentroidYOfTouchesChangedAfter;\nvar currentCentroidX = TouchHistoryMath.currentCentroidX;\nvar currentCentroidY = TouchHistoryMath.currentCentroidY;\n/**\n * `PanResponder` reconciles several touches into a single gesture. It makes\n * single-touch gestures resilient to extra touches, and can be used to\n * recognize simple multi-touch gestures.\n *\n * By default, `PanResponder` holds an `InteractionManager` handle to block\n * long-running JS events from interrupting active gestures.\n *\n * It provides a predictable wrapper of the responder handlers provided by the\n * [gesture responder system](docs/gesture-responder-system.html).\n * For each handler, it provides a new `gestureState` object alongside the\n * native event object:\n *\n * ```\n * onPanResponderMove: (event, gestureState) => {}\n * ```\n *\n * A native event is a synthetic touch event with the following form:\n *\n * - `nativeEvent`\n * + `changedTouches` - Array of all touch events that have changed since the last event\n * + `identifier` - The ID of the touch\n * + `locationX` - The X position of the touch, relative to the element\n * + `locationY` - The Y position of the touch, relative to the element\n * + `pageX` - The X position of the touch, relative to the root element\n * + `pageY` - The Y position of the touch, relative to the root element\n * + `target` - The node id of the element receiving the touch event\n * + `timestamp` - A time identifier for the touch, useful for velocity calculation\n * + `touches` - Array of all current touches on the screen\n *\n * A `gestureState` object has the following:\n *\n * - `stateID` - ID of the gestureState- persisted as long as there at least\n * one touch on screen\n * - `moveX` - the latest screen coordinates of the recently-moved touch\n * - `moveY` - the latest screen coordinates of the recently-moved touch\n * - `x0` - the screen coordinates of the responder grant\n * - `y0` - the screen coordinates of the responder grant\n * - `dx` - accumulated distance of the gesture since the touch started\n * - `dy` - accumulated distance of the gesture since the touch started\n * - `vx` - current velocity of the gesture\n * - `vy` - current velocity of the gesture\n * - `numberActiveTouches` - Number of touches currently on screen\n *\n * ### Basic Usage\n *\n * ```\n * componentWillMount: function() {\n * this._panResponder = PanResponder.create({\n * // Ask to be the responder:\n * onStartShouldSetPanResponder: (evt, gestureState) => true,\n * onStartShouldSetPanResponderCapture: (evt, gestureState) => true,\n * onMoveShouldSetPanResponder: (evt, gestureState) => true,\n * onMoveShouldSetPanResponderCapture: (evt, gestureState) => true,\n *\n * onPanResponderGrant: (evt, gestureState) => {\n * // The gesture has started. Show visual feedback so the user knows\n * // what is happening!\n *\n * // gestureState.d{x,y} will be set to zero now\n * },\n * onPanResponderMove: (evt, gestureState) => {\n * // The most recent move distance is gestureState.move{X,Y}\n *\n * // The accumulated gesture distance since becoming responder is\n * // gestureState.d{x,y}\n * },\n * onPanResponderTerminationRequest: (evt, gestureState) => true,\n * onPanResponderRelease: (evt, gestureState) => {\n * // The user has released all touches while this view is the\n * // responder. This typically means a gesture has succeeded\n * },\n * onPanResponderTerminate: (evt, gestureState) => {\n * // Another component has become the responder, so this gesture\n * // should be cancelled\n * },\n * onShouldBlockNativeResponder: (evt, gestureState) => {\n * // Returns whether this component should block native components from becoming the JS\n * // responder. Returns true by default. Is currently only supported on android.\n * return true;\n * },\n * });\n * },\n *\n * render: function() {\n * return (\n * \n * );\n * },\n *\n * ```\n *\n * ### Working Example\n *\n * To see it in action, try the\n * [PanResponder example in RNTester](https://github.com/facebook/react-native/blob/master/RNTester/js/PanResponderExample.js)\n */\n\nvar PanResponder = {\n /**\n *\n * A graphical explanation of the touch data flow:\n *\n * +----------------------------+ +--------------------------------+\n * | ResponderTouchHistoryStore | |TouchHistoryMath |\n * +----------------------------+ +----------+---------------------+\n * |Global store of touchHistory| |Allocation-less math util |\n * |including activeness, start | |on touch history (centroids |\n * |position, prev/cur position.| |and multitouch movement etc) |\n * | | | |\n * +----^-----------------------+ +----^---------------------------+\n * | |\n * | (records relevant history |\n * | of touches relevant for |\n * | implementing higher level |\n * | gestures) |\n * | |\n * +----+-----------------------+ +----|---------------------------+\n * | ResponderEventPlugin | | | Your App/Component |\n * +----------------------------+ +----|---------------------------+\n * |Negotiates which view gets | Low level | | High level |\n * |onResponderMove events. | events w/ | +-+-------+ events w/ |\n * |Also records history into | touchHistory| | Pan | multitouch + |\n * |ResponderTouchHistoryStore. +---------------->Responder+-----> accumulative|\n * +----------------------------+ attached to | | | distance and |\n * each event | +---------+ velocity. |\n * | |\n * | |\n * +--------------------------------+\n *\n *\n *\n * Gesture that calculates cumulative movement over time in a way that just\n * \"does the right thing\" for multiple touches. The \"right thing\" is very\n * nuanced. When moving two touches in opposite directions, the cumulative\n * distance is zero in each dimension. When two touches move in parallel five\n * pixels in the same direction, the cumulative distance is five, not ten. If\n * two touches start, one moves five in a direction, then stops and the other\n * touch moves fives in the same direction, the cumulative distance is ten.\n *\n * This logic requires a kind of processing of time \"clusters\" of touch events\n * so that two touch moves that essentially occur in parallel but move every\n * other frame respectively, are considered part of the same movement.\n *\n * Explanation of some of the non-obvious fields:\n *\n * - moveX/moveY: If no move event has been observed, then `(moveX, moveY)` is\n * invalid. If a move event has been observed, `(moveX, moveY)` is the\n * centroid of the most recently moved \"cluster\" of active touches.\n * (Currently all move have the same timeStamp, but later we should add some\n * threshold for what is considered to be \"moving\"). If a palm is\n * accidentally counted as a touch, but a finger is moving greatly, the palm\n * will move slightly, but we only want to count the single moving touch.\n * - x0/y0: Centroid location (non-cumulative) at the time of becoming\n * responder.\n * - dx/dy: Cumulative touch distance - not the same thing as sum of each touch\n * distance. Accounts for touch moves that are clustered together in time,\n * moving the same direction. Only valid when currently responder (otherwise,\n * it only represents the drag distance below the threshold).\n * - vx/vy: Velocity.\n */\n _initializeGestureState(gestureState) {\n gestureState.moveX = 0;\n gestureState.moveY = 0;\n gestureState.x0 = 0;\n gestureState.y0 = 0;\n gestureState.dx = 0;\n gestureState.dy = 0;\n gestureState.vx = 0;\n gestureState.vy = 0;\n gestureState.numberActiveTouches = 0; // All `gestureState` accounts for timeStamps up until:\n\n gestureState._accountsForMovesUpTo = 0;\n },\n\n /**\n * This is nuanced and is necessary. It is incorrect to continuously take all\n * active *and* recently moved touches, find the centroid, and track how that\n * result changes over time. Instead, we must take all recently moved\n * touches, and calculate how the centroid has changed just for those\n * recently moved touches, and append that change to an accumulator. This is\n * to (at least) handle the case where the user is moving three fingers, and\n * then one of the fingers stops but the other two continue.\n *\n * This is very different than taking all of the recently moved touches and\n * storing their centroid as `dx/dy`. For correctness, we must *accumulate\n * changes* in the centroid of recently moved touches.\n *\n * There is also some nuance with how we handle multiple moved touches in a\n * single event. With the way `ReactNativeEventEmitter` dispatches touches as\n * individual events, multiple touches generate two 'move' events, each of\n * them triggering `onResponderMove`. But with the way `PanResponder` works,\n * all of the gesture inference is performed on the first dispatch, since it\n * looks at all of the touches (even the ones for which there hasn't been a\n * native dispatch yet). Therefore, `PanResponder` does not call\n * `onResponderMove` passed the first dispatch. This diverges from the\n * typical responder callback pattern (without using `PanResponder`), but\n * avoids more dispatches than necessary.\n */\n _updateGestureStateOnMove(gestureState, touchHistory) {\n gestureState.numberActiveTouches = touchHistory.numberActiveTouches;\n gestureState.moveX = currentCentroidXOfTouchesChangedAfter(touchHistory, gestureState._accountsForMovesUpTo);\n gestureState.moveY = currentCentroidYOfTouchesChangedAfter(touchHistory, gestureState._accountsForMovesUpTo);\n var movedAfter = gestureState._accountsForMovesUpTo;\n var prevX = previousCentroidXOfTouchesChangedAfter(touchHistory, movedAfter);\n var x = currentCentroidXOfTouchesChangedAfter(touchHistory, movedAfter);\n var prevY = previousCentroidYOfTouchesChangedAfter(touchHistory, movedAfter);\n var y = currentCentroidYOfTouchesChangedAfter(touchHistory, movedAfter);\n var nextDX = gestureState.dx + (x - prevX);\n var nextDY = gestureState.dy + (y - prevY); // TODO: This must be filtered intelligently.\n\n var dt = touchHistory.mostRecentTimeStamp - gestureState._accountsForMovesUpTo;\n gestureState.vx = (nextDX - gestureState.dx) / dt;\n gestureState.vy = (nextDY - gestureState.dy) / dt;\n gestureState.dx = nextDX;\n gestureState.dy = nextDY;\n gestureState._accountsForMovesUpTo = touchHistory.mostRecentTimeStamp;\n },\n\n /**\n * @param {object} config Enhanced versions of all of the responder callbacks\n * that provide not only the typical `ResponderSyntheticEvent`, but also the\n * `PanResponder` gesture state. Simply replace the word `Responder` with\n * `PanResponder` in each of the typical `onResponder*` callbacks. For\n * example, the `config` object would look like:\n *\n * - `onMoveShouldSetPanResponder: (e, gestureState) => {...}`\n * - `onMoveShouldSetPanResponderCapture: (e, gestureState) => {...}`\n * - `onStartShouldSetPanResponder: (e, gestureState) => {...}`\n * - `onStartShouldSetPanResponderCapture: (e, gestureState) => {...}`\n * - `onPanResponderReject: (e, gestureState) => {...}`\n * - `onPanResponderGrant: (e, gestureState) => {...}`\n * - `onPanResponderStart: (e, gestureState) => {...}`\n * - `onPanResponderEnd: (e, gestureState) => {...}`\n * - `onPanResponderRelease: (e, gestureState) => {...}`\n * - `onPanResponderMove: (e, gestureState) => {...}`\n * - `onPanResponderTerminate: (e, gestureState) => {...}`\n * - `onPanResponderTerminationRequest: (e, gestureState) => {...}`\n * - `onShouldBlockNativeResponder: (e, gestureState) => {...}`\n *\n * In general, for events that have capture equivalents, we update the\n * gestureState once in the capture phase and can use it in the bubble phase\n * as well.\n *\n * Be careful with onStartShould* callbacks. They only reflect updated\n * `gestureState` for start/end events that bubble/capture to the Node.\n * Once the node is the responder, you can rely on every start/end event\n * being processed by the gesture and `gestureState` being updated\n * accordingly. (numberActiveTouches) may not be totally accurate unless you\n * are the responder.\n */\n create(config) {\n var interactionState = {\n handle: null,\n shouldCancelClick: false,\n timeout: null\n };\n var gestureState = {\n // Useful for debugging\n stateID: Math.random(),\n moveX: 0,\n moveY: 0,\n x0: 0,\n y0: 0,\n dx: 0,\n dy: 0,\n vx: 0,\n vy: 0,\n numberActiveTouches: 0,\n _accountsForMovesUpTo: 0\n };\n var panHandlers = {\n onStartShouldSetResponder(event) {\n return config.onStartShouldSetPanResponder == null ? false : config.onStartShouldSetPanResponder(event, gestureState);\n },\n\n onMoveShouldSetResponder(event) {\n return config.onMoveShouldSetPanResponder == null ? false : config.onMoveShouldSetPanResponder(event, gestureState);\n },\n\n onStartShouldSetResponderCapture(event) {\n // TODO: Actually, we should reinitialize the state any time\n // touches.length increases from 0 active to > 0 active.\n if (event.nativeEvent.touches.length === 1) {\n PanResponder._initializeGestureState(gestureState);\n }\n\n gestureState.numberActiveTouches = event.touchHistory.numberActiveTouches;\n return config.onStartShouldSetPanResponderCapture != null ? config.onStartShouldSetPanResponderCapture(event, gestureState) : false;\n },\n\n onMoveShouldSetResponderCapture(event) {\n var touchHistory = event.touchHistory; // Responder system incorrectly dispatches should* to current responder\n // Filter out any touch moves past the first one - we would have\n // already processed multi-touch geometry during the first event.\n\n if (gestureState._accountsForMovesUpTo === touchHistory.mostRecentTimeStamp) {\n return false;\n }\n\n PanResponder._updateGestureStateOnMove(gestureState, touchHistory);\n\n return config.onMoveShouldSetPanResponderCapture ? config.onMoveShouldSetPanResponderCapture(event, gestureState) : false;\n },\n\n onResponderGrant(event) {\n if (!interactionState.handle) {\n interactionState.handle = InteractionManager.createInteractionHandle();\n }\n\n if (interactionState.timeout) {\n clearInteractionTimeout(interactionState);\n }\n\n interactionState.shouldCancelClick = true;\n gestureState.x0 = currentCentroidX(event.touchHistory);\n gestureState.y0 = currentCentroidY(event.touchHistory);\n gestureState.dx = 0;\n gestureState.dy = 0;\n\n if (config.onPanResponderGrant) {\n config.onPanResponderGrant(event, gestureState);\n } // TODO: t7467124 investigate if this can be removed\n\n\n return config.onShouldBlockNativeResponder == null ? true : config.onShouldBlockNativeResponder(event, gestureState);\n },\n\n onResponderReject(event) {\n clearInteractionHandle(interactionState, config.onPanResponderReject, event, gestureState);\n },\n\n onResponderRelease(event) {\n clearInteractionHandle(interactionState, config.onPanResponderRelease, event, gestureState);\n setInteractionTimeout(interactionState);\n\n PanResponder._initializeGestureState(gestureState);\n },\n\n onResponderStart(event) {\n var touchHistory = event.touchHistory;\n gestureState.numberActiveTouches = touchHistory.numberActiveTouches;\n\n if (config.onPanResponderStart) {\n config.onPanResponderStart(event, gestureState);\n }\n },\n\n onResponderMove(event) {\n var touchHistory = event.touchHistory; // Guard against the dispatch of two touch moves when there are two\n // simultaneously changed touches.\n\n if (gestureState._accountsForMovesUpTo === touchHistory.mostRecentTimeStamp) {\n return;\n } // Filter out any touch moves past the first one - we would have\n // already processed multi-touch geometry during the first event.\n\n\n PanResponder._updateGestureStateOnMove(gestureState, touchHistory);\n\n if (config.onPanResponderMove) {\n config.onPanResponderMove(event, gestureState);\n }\n },\n\n onResponderEnd(event) {\n var touchHistory = event.touchHistory;\n gestureState.numberActiveTouches = touchHistory.numberActiveTouches;\n clearInteractionHandle(interactionState, config.onPanResponderEnd, event, gestureState);\n },\n\n onResponderTerminate(event) {\n clearInteractionHandle(interactionState, config.onPanResponderTerminate, event, gestureState);\n setInteractionTimeout(interactionState);\n\n PanResponder._initializeGestureState(gestureState);\n },\n\n onResponderTerminationRequest(event) {\n return config.onPanResponderTerminationRequest == null ? true : config.onPanResponderTerminationRequest(event, gestureState);\n },\n\n // We do not want to trigger 'click' activated gestures or native behaviors\n // on any pan target that is under a mouse cursor when it is released.\n // Browsers will natively cancel 'click' events on a target if a non-mouse\n // active pointer moves.\n onClickCapture: event => {\n if (interactionState.shouldCancelClick === true) {\n event.stopPropagation();\n event.preventDefault();\n }\n }\n };\n return {\n panHandlers,\n\n getInteractionHandle() {\n return interactionState.handle;\n }\n\n };\n }\n\n};\n\nfunction clearInteractionHandle(interactionState, callback, event, gestureState) {\n if (interactionState.handle) {\n InteractionManager.clearInteractionHandle(interactionState.handle);\n interactionState.handle = null;\n }\n\n if (callback) {\n callback(event, gestureState);\n }\n}\n\nfunction clearInteractionTimeout(interactionState) {\n clearTimeout(interactionState.timeout);\n}\n\nfunction setInteractionTimeout(interactionState) {\n interactionState.timeout = setTimeout(() => {\n interactionState.shouldCancelClick = false;\n }, 250);\n}\n\nexport default PanResponder;","/* eslint-disable */\n\n/**\n * Copyright (c) Meta Platforms, Inc. and 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 * From React 16.0.0\n */\nimport invariant from 'fbjs/lib/invariant';\n\nvar twoArgumentPooler = function twoArgumentPooler(a1, a2) {\n var Klass = this;\n\n if (Klass.instancePool.length) {\n var instance = Klass.instancePool.pop();\n Klass.call(instance, a1, a2);\n return instance;\n } else {\n return new Klass(a1, a2);\n }\n};\n\nvar standardReleaser = function standardReleaser(instance) {\n var Klass = this;\n instance.destructor();\n\n if (Klass.instancePool.length < Klass.poolSize) {\n Klass.instancePool.push(instance);\n }\n};\n\nvar DEFAULT_POOL_SIZE = 10;\nvar DEFAULT_POOLER = twoArgumentPooler;\n/**\n * Augments `CopyConstructor` to be a poolable class, augmenting only the class\n * itself (statically) not adding any prototypical fields. Any CopyConstructor\n * you give this may have a `poolSize` property, and will look for a\n * prototypical `destructor` on instances.\n *\n * @param {Function} CopyConstructor Constructor that can be used to reset.\n * @param {Function} pooler Customizable pooler.\n */\n\nvar addPoolingTo = function addPoolingTo(CopyConstructor, pooler) {\n // Casting as any so that flow ignores the actual implementation and trusts\n // it to match the type we declared\n var NewKlass = CopyConstructor;\n NewKlass.instancePool = [];\n NewKlass.getPooled = pooler || DEFAULT_POOLER;\n\n if (!NewKlass.poolSize) {\n NewKlass.poolSize = DEFAULT_POOL_SIZE;\n }\n\n NewKlass.release = standardReleaser;\n return NewKlass;\n};\n\nvar PooledClass = {\n addPoolingTo: addPoolingTo,\n twoArgumentPooler: twoArgumentPooler\n};\nexport default PooledClass;","/**\n * Copyright (c) Meta Platforms, Inc. and 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 * @format\n */\n'use strict';\n\nimport _extends from \"@babel/runtime/helpers/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/objectWithoutPropertiesLoose\";\nvar _excluded = [\"stickySectionHeadersEnabled\"];\nimport Platform from '../../../exports/Platform';\nimport * as React from 'react';\nimport VirtualizedSectionList from '../VirtualizedSectionList';\n\n/**\n * A performant interface for rendering sectioned lists, supporting the most handy features:\n *\n * - Fully cross-platform.\n * - Configurable viewability callbacks.\n * - List header support.\n * - List footer support.\n * - Item separator support.\n * - Section header support.\n * - Section separator support.\n * - Heterogeneous data and item rendering support.\n * - Pull to Refresh.\n * - Scroll loading.\n *\n * If you don't need section support and want a simpler interface, use\n * [``](https://reactnative.dev/docs/flatlist).\n *\n * Simple Examples:\n *\n * }\n * renderSectionHeader={({section}) =>
}\n * sections={[ // homogeneous rendering between sections\n * {data: [...], title: ...},\n * {data: [...], title: ...},\n * {data: [...], title: ...},\n * ]}\n * />\n *\n * \n *\n * This is a convenience wrapper around [``](docs/virtualizedlist),\n * and thus inherits its props (as well as those of `ScrollView`) that aren't explicitly listed\n * here, along with the following caveats:\n *\n * - Internal state is not preserved when content scrolls out of the render window. Make sure all\n * your data is captured in the item data or external stores like Flux, Redux, or Relay.\n * - This is a `PureComponent` which means that it will not re-render if `props` remain shallow-\n * equal. Make sure that everything your `renderItem` function depends on is passed as a prop\n * (e.g. `extraData`) that is not `===` after updates, otherwise your UI may not update on\n * changes. This includes the `data` prop and parent component state.\n * - In order to constrain memory and enable smooth scrolling, content is rendered asynchronously\n * offscreen. This means it's possible to scroll faster than the fill rate and momentarily see\n * blank content. This is a tradeoff that can be adjusted to suit the needs of each application,\n * and we are working on improving it behind the scenes.\n * - By default, the list looks for a `key` prop on each item and uses that for the React key.\n * Alternatively, you can provide a custom `keyExtractor` prop.\n *\n */\nexport default class SectionList extends React.PureComponent {\n constructor() {\n super(...arguments);\n\n this._captureRef = ref => {\n this._wrapperListRef = ref;\n };\n }\n\n /**\n * Scrolls to the item at the specified `sectionIndex` and `itemIndex` (within the section)\n * positioned in the viewable area such that `viewPosition` 0 places it at the top (and may be\n * covered by a sticky header), 1 at the bottom, and 0.5 centered in the middle. `viewOffset` is a\n * fixed number of pixels to offset the final target position, e.g. to compensate for sticky\n * headers.\n *\n * Note: cannot scroll to locations outside the render window without specifying the\n * `getItemLayout` prop.\n */\n scrollToLocation(params) {\n if (this._wrapperListRef != null) {\n this._wrapperListRef.scrollToLocation(params);\n }\n }\n /**\n * Tells the list an interaction has occurred, which should trigger viewability calculations, e.g.\n * if `waitForInteractions` is true and the user has not scrolled. This is typically called by\n * taps on items or by navigation actions.\n */\n\n\n recordInteraction() {\n var listRef = this._wrapperListRef && this._wrapperListRef.getListRef();\n\n listRef && listRef.recordInteraction();\n }\n /**\n * Displays the scroll indicators momentarily.\n *\n * @platform ios\n */\n\n\n flashScrollIndicators() {\n var listRef = this._wrapperListRef && this._wrapperListRef.getListRef();\n\n listRef && listRef.flashScrollIndicators();\n }\n /**\n * Provides a handle to the underlying scroll responder.\n */\n\n\n getScrollResponder() {\n var listRef = this._wrapperListRef && this._wrapperListRef.getListRef();\n\n if (listRef) {\n return listRef.getScrollResponder();\n }\n }\n\n getScrollableNode() {\n var listRef = this._wrapperListRef && this._wrapperListRef.getListRef();\n\n if (listRef) {\n return listRef.getScrollableNode();\n }\n }\n\n setNativeProps(props) {\n var listRef = this._wrapperListRef && this._wrapperListRef.getListRef();\n\n if (listRef) {\n listRef.setNativeProps(props);\n }\n }\n\n render() {\n var _this$props = this.props,\n _stickySectionHeadersEnabled = _this$props.stickySectionHeadersEnabled,\n restProps = _objectWithoutPropertiesLoose(_this$props, _excluded);\n\n var stickySectionHeadersEnabled = _stickySectionHeadersEnabled !== null && _stickySectionHeadersEnabled !== void 0 ? _stickySectionHeadersEnabled : Platform.OS === 'ios';\n return /*#__PURE__*/React.createElement(VirtualizedSectionList, _extends({}, restProps, {\n stickySectionHeadersEnabled: stickySectionHeadersEnabled,\n ref: this._captureRef,\n getItemCount: items => items.length,\n getItem: (items, index) => items[index]\n }));\n }\n\n}","/**\n * Copyright (c) Meta Platforms, Inc. and 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 * @format\n */\nvar TouchHistoryMath = {\n /**\n * This code is optimized and not intended to look beautiful. This allows\n * computing of touch centroids that have moved after `touchesChangedAfter`\n * timeStamp. You can compute the current centroid involving all touches\n * moves after `touchesChangedAfter`, or you can compute the previous\n * centroid of all touches that were moved after `touchesChangedAfter`.\n *\n * @param {TouchHistoryMath} touchHistory Standard Responder touch track\n * data.\n * @param {number} touchesChangedAfter timeStamp after which moved touches\n * are considered \"actively moving\" - not just \"active\".\n * @param {boolean} isXAxis Consider `x` dimension vs. `y` dimension.\n * @param {boolean} ofCurrent Compute current centroid for actively moving\n * touches vs. previous centroid of now actively moving touches.\n * @return {number} value of centroid in specified dimension.\n */\n centroidDimension: function centroidDimension(touchHistory, touchesChangedAfter, isXAxis, ofCurrent) {\n var touchBank = touchHistory.touchBank;\n var total = 0;\n var count = 0;\n var oneTouchData = touchHistory.numberActiveTouches === 1 ? touchHistory.touchBank[touchHistory.indexOfSingleActiveTouch] : null;\n\n if (oneTouchData !== null) {\n if (oneTouchData.touchActive && oneTouchData.currentTimeStamp > touchesChangedAfter) {\n total += ofCurrent && isXAxis ? oneTouchData.currentPageX : ofCurrent && !isXAxis ? oneTouchData.currentPageY : !ofCurrent && isXAxis ? oneTouchData.previousPageX : oneTouchData.previousPageY;\n count = 1;\n }\n } else {\n for (var i = 0; i < touchBank.length; i++) {\n var touchTrack = touchBank[i];\n\n if (touchTrack !== null && touchTrack !== undefined && touchTrack.touchActive && touchTrack.currentTimeStamp >= touchesChangedAfter) {\n var toAdd = void 0; // Yuck, program temporarily in invalid state.\n\n if (ofCurrent && isXAxis) {\n toAdd = touchTrack.currentPageX;\n } else if (ofCurrent && !isXAxis) {\n toAdd = touchTrack.currentPageY;\n } else if (!ofCurrent && isXAxis) {\n toAdd = touchTrack.previousPageX;\n } else {\n toAdd = touchTrack.previousPageY;\n }\n\n total += toAdd;\n count++;\n }\n }\n }\n\n return count > 0 ? total / count : TouchHistoryMath.noCentroid;\n },\n currentCentroidXOfTouchesChangedAfter: function currentCentroidXOfTouchesChangedAfter(touchHistory, touchesChangedAfter) {\n return TouchHistoryMath.centroidDimension(touchHistory, touchesChangedAfter, true, // isXAxis\n true // ofCurrent\n );\n },\n currentCentroidYOfTouchesChangedAfter: function currentCentroidYOfTouchesChangedAfter(touchHistory, touchesChangedAfter) {\n return TouchHistoryMath.centroidDimension(touchHistory, touchesChangedAfter, false, // isXAxis\n true // ofCurrent\n );\n },\n previousCentroidXOfTouchesChangedAfter: function previousCentroidXOfTouchesChangedAfter(touchHistory, touchesChangedAfter) {\n return TouchHistoryMath.centroidDimension(touchHistory, touchesChangedAfter, true, // isXAxis\n false // ofCurrent\n );\n },\n previousCentroidYOfTouchesChangedAfter: function previousCentroidYOfTouchesChangedAfter(touchHistory, touchesChangedAfter) {\n return TouchHistoryMath.centroidDimension(touchHistory, touchesChangedAfter, false, // isXAxis\n false // ofCurrent\n );\n },\n currentCentroidX: function currentCentroidX(touchHistory) {\n return TouchHistoryMath.centroidDimension(touchHistory, 0, // touchesChangedAfter\n true, // isXAxis\n true // ofCurrent\n );\n },\n currentCentroidY: function currentCentroidY(touchHistory) {\n return TouchHistoryMath.centroidDimension(touchHistory, 0, // touchesChangedAfter\n false, // isXAxis\n true // ofCurrent\n );\n },\n noCentroid: -1\n};\nexport default TouchHistoryMath;","/**\n * Copyright (c) Meta Platforms, Inc. and 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 * @format\n */\n'use strict';\n\nimport invariant from 'fbjs/lib/invariant';\nexport function get(name) {\n return null;\n}\nexport function getEnforcing(name) {\n var module = get(name);\n invariant(module != null, \"TurboModuleRegistry.getEnforcing(...): '\" + name + \"' could not be found. \" + 'Verify that a module by this name is registered in the native binary.');\n return module;\n}","/**\n * Copyright (c) Meta Platforms, Inc. and 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 * @format\n * \n */\n'use strict';\n\n/**\n * This is a helper function for when a component needs to be able to forward a ref\n * to a child component, but still needs to have access to that component as part of\n * its implementation.\n *\n * Its main use case is in wrappers for native components.\n *\n * Usage:\n *\n * class MyView extends React.Component {\n * _nativeRef = null;\n *\n * _setNativeRef = setAndForwardRef({\n * getForwardedRef: () => this.props.forwardedRef,\n * setLocalRef: ref => {\n * this._nativeRef = ref;\n * },\n * });\n *\n * render() {\n * return ;\n * }\n * }\n *\n * const MyViewWithRef = React.forwardRef((props, ref) => (\n * \n * ));\n *\n * module.exports = MyViewWithRef;\n */\nfunction setAndForwardRef(_ref) {\n var getForwardedRef = _ref.getForwardedRef,\n setLocalRef = _ref.setLocalRef;\n return function forwardRef(ref) {\n var forwardedRef = getForwardedRef();\n setLocalRef(ref); // Forward to user ref prop (if one has been specified)\n\n if (typeof forwardedRef === 'function') {\n // Handle function-based refs. String-based refs are handled as functions.\n forwardedRef(ref);\n } else if (typeof forwardedRef === 'object' && forwardedRef != null) {\n // Handle createRef-based refs\n forwardedRef.current = ref;\n }\n };\n}\n\nexport default setAndForwardRef;","/**\n * Copyright (c) Meta Platforms, Inc. and 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 * @format\n */\n'use strict';\n\nimport _objectSpread from \"@babel/runtime/helpers/objectSpread2\";\nimport _createForOfIteratorHelperLoose from \"@babel/runtime/helpers/createForOfIteratorHelperLoose\";\nimport invariant from 'fbjs/lib/invariant';\n\n/**\n * A Utility class for calculating viewable items based on current metrics like scroll position and\n * layout.\n *\n * An item is said to be in a \"viewable\" state when any of the following\n * is true for longer than `minimumViewTime` milliseconds (after an interaction if `waitForInteraction`\n * is true):\n *\n * - Occupying >= `viewAreaCoveragePercentThreshold` of the view area XOR fraction of the item\n * visible in the view area >= `itemVisiblePercentThreshold`.\n * - Entirely visible on screen\n */\nclass ViewabilityHelper {\n constructor(config) {\n if (config === void 0) {\n config = {\n viewAreaCoveragePercentThreshold: 0\n };\n }\n\n this._hasInteracted = false;\n this._timers = new Set();\n this._viewableIndices = [];\n this._viewableItems = new Map();\n this._config = config;\n }\n /**\n * Cleanup, e.g. on unmount. Clears any pending timers.\n */\n\n\n dispose() {\n this._timers.forEach(clearTimeout);\n }\n /**\n * Determines which items are viewable based on the current metrics and config.\n */\n\n\n computeViewableItems(itemCount, scrollOffset, viewportHeight, getFrameMetrics, renderRange // Optional optimization to reduce the scan size\n ) {\n var _this$_config = this._config,\n itemVisiblePercentThreshold = _this$_config.itemVisiblePercentThreshold,\n viewAreaCoveragePercentThreshold = _this$_config.viewAreaCoveragePercentThreshold;\n var viewAreaMode = viewAreaCoveragePercentThreshold != null;\n var viewablePercentThreshold = viewAreaMode ? viewAreaCoveragePercentThreshold : itemVisiblePercentThreshold;\n invariant(viewablePercentThreshold != null && itemVisiblePercentThreshold != null !== (viewAreaCoveragePercentThreshold != null), 'Must set exactly one of itemVisiblePercentThreshold or viewAreaCoveragePercentThreshold');\n var viewableIndices = [];\n\n if (itemCount === 0) {\n return viewableIndices;\n }\n\n var firstVisible = -1;\n\n var _ref = renderRange || {\n first: 0,\n last: itemCount - 1\n },\n first = _ref.first,\n last = _ref.last;\n\n if (last >= itemCount) {\n console.warn('Invalid render range computing viewability ' + JSON.stringify({\n renderRange,\n itemCount\n }));\n return [];\n }\n\n for (var idx = first; idx <= last; idx++) {\n var metrics = getFrameMetrics(idx);\n\n if (!metrics) {\n continue;\n }\n\n var top = metrics.offset - scrollOffset;\n var bottom = top + metrics.length;\n\n if (top < viewportHeight && bottom > 0) {\n firstVisible = idx;\n\n if (_isViewable(viewAreaMode, viewablePercentThreshold, top, bottom, viewportHeight, metrics.length)) {\n viewableIndices.push(idx);\n }\n } else if (firstVisible >= 0) {\n break;\n }\n }\n\n return viewableIndices;\n }\n /**\n * Figures out which items are viewable and how that has changed from before and calls\n * `onViewableItemsChanged` as appropriate.\n */\n\n\n onUpdate(itemCount, scrollOffset, viewportHeight, getFrameMetrics, createViewToken, onViewableItemsChanged, renderRange // Optional optimization to reduce the scan size\n ) {\n if (this._config.waitForInteraction && !this._hasInteracted || itemCount === 0 || !getFrameMetrics(0)) {\n return;\n }\n\n var viewableIndices = [];\n\n if (itemCount) {\n viewableIndices = this.computeViewableItems(itemCount, scrollOffset, viewportHeight, getFrameMetrics, renderRange);\n }\n\n if (this._viewableIndices.length === viewableIndices.length && this._viewableIndices.every((v, ii) => v === viewableIndices[ii])) {\n // We might get a lot of scroll events where visibility doesn't change and we don't want to do\n // extra work in those cases.\n return;\n }\n\n this._viewableIndices = viewableIndices;\n\n if (this._config.minimumViewTime) {\n var handle = setTimeout(() => {\n this._timers.delete(handle);\n\n this._onUpdateSync(viewableIndices, onViewableItemsChanged, createViewToken);\n }, this._config.minimumViewTime);\n\n this._timers.add(handle);\n } else {\n this._onUpdateSync(viewableIndices, onViewableItemsChanged, createViewToken);\n }\n }\n /**\n * clean-up cached _viewableIndices to evaluate changed items on next update\n */\n\n\n resetViewableIndices() {\n this._viewableIndices = [];\n }\n /**\n * Records that an interaction has happened even if there has been no scroll.\n */\n\n\n recordInteraction() {\n this._hasInteracted = true;\n }\n\n _onUpdateSync( // $FlowFixMe\n viewableIndicesToCheck, // $FlowFixMe\n onViewableItemsChanged, // $FlowFixMe\n createViewToken) {\n // Filter out indices that have gone out of view since this call was scheduled.\n viewableIndicesToCheck = viewableIndicesToCheck.filter(ii => this._viewableIndices.includes(ii));\n var prevItems = this._viewableItems;\n var nextItems = new Map(viewableIndicesToCheck.map(ii => {\n var viewable = createViewToken(ii, true);\n return [viewable.key, viewable];\n }));\n var changed = [];\n\n for (var _iterator = _createForOfIteratorHelperLoose(nextItems), _step; !(_step = _iterator()).done;) {\n var _step$value = _step.value,\n key = _step$value[0],\n viewable = _step$value[1];\n\n if (!prevItems.has(key)) {\n changed.push(viewable);\n }\n }\n\n for (var _iterator2 = _createForOfIteratorHelperLoose(prevItems), _step2; !(_step2 = _iterator2()).done;) {\n var _step2$value = _step2.value,\n _key = _step2$value[0],\n _viewable = _step2$value[1];\n\n if (!nextItems.has(_key)) {\n changed.push(_objectSpread(_objectSpread({}, _viewable), {}, {\n isViewable: false\n }));\n }\n }\n\n if (changed.length > 0) {\n this._viewableItems = nextItems;\n onViewableItemsChanged({\n viewableItems: Array.from(nextItems.values()),\n changed,\n viewabilityConfig: this._config\n });\n }\n }\n\n}\n\nfunction _isViewable(viewAreaMode, viewablePercentThreshold, top, bottom, viewportHeight, itemLength) {\n if (_isEntirelyVisible(top, bottom, viewportHeight)) {\n return true;\n } else {\n var pixels = _getPixelsVisible(top, bottom, viewportHeight);\n\n var percent = 100 * (viewAreaMode ? pixels / viewportHeight : pixels / itemLength);\n return percent >= viewablePercentThreshold;\n }\n}\n\nfunction _getPixelsVisible(top, bottom, viewportHeight) {\n var visibleHeight = Math.min(bottom, viewportHeight) - Math.max(top, 0);\n return Math.max(0, visibleHeight);\n}\n\nfunction _isEntirelyVisible(top, bottom, viewportHeight) {\n return top >= 0 && bottom <= viewportHeight && bottom > top;\n}\n\nexport default ViewabilityHelper;","/**\n * Copyright (c) Meta Platforms, Inc. and 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 * @format\n */\n'use strict';\n\nimport invariant from 'fbjs/lib/invariant';\n/**\n * Used to find the indices of the frames that overlap the given offsets. Useful for finding the\n * items that bound different windows of content, such as the visible area or the buffered overscan\n * area.\n */\n\nexport function elementsThatOverlapOffsets(offsets, itemCount, getFrameMetrics) {\n var out = [];\n var outLength = 0;\n\n for (var ii = 0; ii < itemCount; ii++) {\n var frame = getFrameMetrics(ii);\n var trailingOffset = frame.offset + frame.length;\n\n for (var kk = 0; kk < offsets.length; kk++) {\n if (out[kk] == null && trailingOffset >= offsets[kk]) {\n out[kk] = ii;\n outLength++;\n\n if (kk === offsets.length - 1) {\n invariant(outLength === offsets.length, 'bad offsets input, should be in increasing order: %s', JSON.stringify(offsets));\n return out;\n }\n }\n }\n }\n\n return out;\n}\n/**\n * Computes the number of elements in the `next` range that are new compared to the `prev` range.\n * Handy for calculating how many new items will be rendered when the render window changes so we\n * can restrict the number of new items render at once so that content can appear on the screen\n * faster.\n */\n\nexport function newRangeCount(prev, next) {\n return next.last - next.first + 1 - Math.max(0, 1 + Math.min(next.last, prev.last) - Math.max(next.first, prev.first));\n}\n/**\n * Custom logic for determining which items should be rendered given the current frame and scroll\n * metrics, as well as the previous render state. The algorithm may evolve over time, but generally\n * prioritizes the visible area first, then expands that with overscan regions ahead and behind,\n * biased in the direction of scroll.\n */\n\nexport function computeWindowedRenderLimits(data, getItemCount, maxToRenderPerBatch, windowSize, prev, getFrameMetricsApprox, scrollMetrics) {\n var itemCount = getItemCount(data);\n\n if (itemCount === 0) {\n return prev;\n }\n\n var offset = scrollMetrics.offset,\n velocity = scrollMetrics.velocity,\n visibleLength = scrollMetrics.visibleLength; // Start with visible area, then compute maximum overscan region by expanding from there, biased\n // in the direction of scroll. Total overscan area is capped, which should cap memory consumption\n // too.\n\n var visibleBegin = Math.max(0, offset);\n var visibleEnd = visibleBegin + visibleLength;\n var overscanLength = (windowSize - 1) * visibleLength; // Considering velocity seems to introduce more churn than it's worth.\n\n var leadFactor = 0.5; // Math.max(0, Math.min(1, velocity / 25 + 0.5));\n\n var fillPreference = velocity > 1 ? 'after' : velocity < -1 ? 'before' : 'none';\n var overscanBegin = Math.max(0, visibleBegin - (1 - leadFactor) * overscanLength);\n var overscanEnd = Math.max(0, visibleEnd + leadFactor * overscanLength);\n var lastItemOffset = getFrameMetricsApprox(itemCount - 1).offset;\n\n if (lastItemOffset < overscanBegin) {\n // Entire list is before our overscan window\n return {\n first: Math.max(0, itemCount - 1 - maxToRenderPerBatch),\n last: itemCount - 1\n };\n } // Find the indices that correspond to the items at the render boundaries we're targeting.\n\n\n var _elementsThatOverlapO = elementsThatOverlapOffsets([overscanBegin, visibleBegin, visibleEnd, overscanEnd], itemCount, getFrameMetricsApprox),\n overscanFirst = _elementsThatOverlapO[0],\n first = _elementsThatOverlapO[1],\n last = _elementsThatOverlapO[2],\n overscanLast = _elementsThatOverlapO[3];\n\n overscanFirst = overscanFirst == null ? 0 : overscanFirst;\n first = first == null ? Math.max(0, overscanFirst) : first;\n overscanLast = overscanLast == null ? itemCount - 1 : overscanLast;\n last = last == null ? Math.min(overscanLast, first + maxToRenderPerBatch - 1) : last;\n var visible = {\n first,\n last\n }; // We want to limit the number of new cells we're rendering per batch so that we can fill the\n // content on the screen quickly. If we rendered the entire overscan window at once, the user\n // could be staring at white space for a long time waiting for a bunch of offscreen content to\n // render.\n\n var newCellCount = newRangeCount(prev, visible);\n\n while (true) {\n if (first <= overscanFirst && last >= overscanLast) {\n // If we fill the entire overscan range, we're done.\n break;\n }\n\n var maxNewCells = newCellCount >= maxToRenderPerBatch;\n var firstWillAddMore = first <= prev.first || first > prev.last;\n var firstShouldIncrement = first > overscanFirst && (!maxNewCells || !firstWillAddMore);\n var lastWillAddMore = last >= prev.last || last < prev.first;\n var lastShouldIncrement = last < overscanLast && (!maxNewCells || !lastWillAddMore);\n\n if (maxNewCells && !firstShouldIncrement && !lastShouldIncrement) {\n // We only want to stop if we've hit maxNewCells AND we cannot increment first or last\n // without rendering new items. This let's us preserve as many already rendered items as\n // possible, reducing render churn and keeping the rendered overscan range as large as\n // possible.\n break;\n }\n\n if (firstShouldIncrement && !(fillPreference === 'after' && lastShouldIncrement && lastWillAddMore)) {\n if (firstWillAddMore) {\n newCellCount++;\n }\n\n first--;\n }\n\n if (lastShouldIncrement && !(fillPreference === 'before' && firstShouldIncrement && firstWillAddMore)) {\n if (lastWillAddMore) {\n newCellCount++;\n }\n\n last++;\n }\n }\n\n if (!(last >= first && first >= 0 && last < itemCount && first >= overscanFirst && last <= overscanLast && first <= visible.first && last >= visible.last)) {\n throw new Error('Bad window calculation ' + JSON.stringify({\n first,\n last,\n itemCount,\n overscanFirst,\n overscanLast,\n visible\n }));\n }\n\n return {\n first,\n last\n };\n}\nexport function keyExtractor(item, index) {\n if (typeof item === 'object' && (item == null ? void 0 : item.key) != null) {\n return item.key;\n }\n\n if (typeof item === 'object' && (item == null ? void 0 : item.id) != null) {\n return item.id;\n }\n\n return String(index);\n}","import _objectSpread from \"@babel/runtime/helpers/objectSpread2\";\n\n/**\n * Copyright (c) Meta Platforms, Inc. and 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 * @format\n */\nimport * as React from 'react';\nimport { useMemo, useContext } from 'react';\n\nvar __DEV__ = process.env.NODE_ENV !== 'production';\n\nexport var VirtualizedListContext = /*#__PURE__*/React.createContext(null);\n\nif (__DEV__) {\n VirtualizedListContext.displayName = 'VirtualizedListContext';\n}\n/**\n * Resets the context. Intended for use by portal-like components (e.g. Modal).\n */\n\n\nexport function VirtualizedListContextResetter(_ref) {\n var children = _ref.children;\n return /*#__PURE__*/React.createElement(VirtualizedListContext.Provider, {\n value: null\n }, children);\n}\n/**\n * Sets the context with memoization. Intended to be used by `VirtualizedList`.\n */\n\nexport function VirtualizedListContextProvider(_ref2) {\n var children = _ref2.children,\n value = _ref2.value;\n // Avoid setting a newly created context object if the values are identical.\n var context = useMemo(() => ({\n cellKey: null,\n getScrollMetrics: value.getScrollMetrics,\n horizontal: value.horizontal,\n getOutermostParentListRef: value.getOutermostParentListRef,\n getNestedChildState: value.getNestedChildState,\n registerAsNestedChild: value.registerAsNestedChild,\n unregisterAsNestedChild: value.unregisterAsNestedChild,\n debugInfo: {\n cellKey: value.debugInfo.cellKey,\n horizontal: value.debugInfo.horizontal,\n listKey: value.debugInfo.listKey,\n parent: value.debugInfo.parent\n }\n }), [value.getScrollMetrics, value.horizontal, value.getOutermostParentListRef, value.getNestedChildState, value.registerAsNestedChild, value.unregisterAsNestedChild, value.debugInfo.cellKey, value.debugInfo.horizontal, value.debugInfo.listKey, value.debugInfo.parent]);\n return /*#__PURE__*/React.createElement(VirtualizedListContext.Provider, {\n value: context\n }, children);\n}\n/**\n * Sets the `cellKey`. Intended to be used by `VirtualizedList` for each cell.\n */\n\nexport function VirtualizedListCellContextProvider(_ref3) {\n var cellKey = _ref3.cellKey,\n children = _ref3.children;\n var context = useContext(VirtualizedListContext);\n return /*#__PURE__*/React.createElement(VirtualizedListContext.Provider, {\n value: context == null ? null : _objectSpread(_objectSpread({}, context), {}, {\n cellKey\n })\n }, children);\n}","import _createForOfIteratorHelperLoose from \"@babel/runtime/helpers/createForOfIteratorHelperLoose\";\nimport _extends from \"@babel/runtime/helpers/extends\";\nimport _objectSpread from \"@babel/runtime/helpers/objectSpread2\";\n\n/**\n * Copyright (c) Meta Platforms, Inc. and 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 * @format\n */\nimport Batchinator from '../Batchinator';\nimport FillRateHelper from '../FillRateHelper';\nimport findNodeHandle from '../../../exports/findNodeHandle';\nimport RefreshControl from '../../../exports/RefreshControl';\nimport ScrollView from '../../../exports/ScrollView';\nimport StyleSheet from '../../../exports/StyleSheet';\nimport View from '../../../exports/View';\nimport ViewabilityHelper from '../ViewabilityHelper';\nvar flattenStyle = StyleSheet.flatten;\nimport infoLog from '../infoLog';\nimport invariant from 'fbjs/lib/invariant';\nimport { keyExtractor as defaultKeyExtractor, computeWindowedRenderLimits } from '../VirtualizeUtils';\nimport * as React from 'react';\nimport { VirtualizedListCellContextProvider, VirtualizedListContext, VirtualizedListContextProvider } from './VirtualizedListContext.js';\n\nvar __DEV__ = process.env.NODE_ENV !== 'production';\n\nvar _usedIndexForKey = false;\nvar _keylessItemComponentName = '';\n\n/**\n * Default Props Helper Functions\n * Use the following helper functions for default values\n */\n// horizontalOrDefault(this.props.horizontal)\nfunction horizontalOrDefault(horizontal) {\n return horizontal !== null && horizontal !== void 0 ? horizontal : false;\n} // initialNumToRenderOrDefault(this.props.initialNumToRenderOrDefault)\n\n\nfunction initialNumToRenderOrDefault(initialNumToRender) {\n return initialNumToRender !== null && initialNumToRender !== void 0 ? initialNumToRender : 10;\n} // maxToRenderPerBatchOrDefault(this.props.maxToRenderPerBatch)\n\n\nfunction maxToRenderPerBatchOrDefault(maxToRenderPerBatch) {\n return maxToRenderPerBatch !== null && maxToRenderPerBatch !== void 0 ? maxToRenderPerBatch : 10;\n} // onEndReachedThresholdOrDefault(this.props.onEndReachedThreshold)\n\n\nfunction onEndReachedThresholdOrDefault(onEndReachedThreshold) {\n return onEndReachedThreshold !== null && onEndReachedThreshold !== void 0 ? onEndReachedThreshold : 2;\n} // scrollEventThrottleOrDefault(this.props.scrollEventThrottle)\n\n\nfunction scrollEventThrottleOrDefault(scrollEventThrottle) {\n return scrollEventThrottle !== null && scrollEventThrottle !== void 0 ? scrollEventThrottle : 50;\n} // windowSizeOrDefault(this.props.windowSize)\n\n\nfunction windowSizeOrDefault(windowSize) {\n return windowSize !== null && windowSize !== void 0 ? windowSize : 21;\n}\n/**\n * Base implementation for the more convenient [``](https://reactnative.dev/docs/flatlist)\n * and [``](https://reactnative.dev/docs/sectionlist) components, which are also better\n * documented. In general, this should only really be used if you need more flexibility than\n * `FlatList` provides, e.g. for use with immutable data instead of plain arrays.\n *\n * Virtualization massively improves memory consumption and performance of large lists by\n * maintaining a finite render window of active items and replacing all items outside of the render\n * window with appropriately sized blank space. The window adapts to scrolling behavior, and items\n * are rendered incrementally with low-pri (after any running interactions) if they are far from the\n * visible area, or with hi-pri otherwise to minimize the potential of seeing blank space.\n *\n * Some caveats:\n *\n * - Internal state is not preserved when content scrolls out of the render window. Make sure all\n * your data is captured in the item data or external stores like Flux, Redux, or Relay.\n * - This is a `PureComponent` which means that it will not re-render if `props` remain shallow-\n * equal. Make sure that everything your `renderItem` function depends on is passed as a prop\n * (e.g. `extraData`) that is not `===` after updates, otherwise your UI may not update on\n * changes. This includes the `data` prop and parent component state.\n * - In order to constrain memory and enable smooth scrolling, content is rendered asynchronously\n * offscreen. This means it's possible to scroll faster than the fill rate ands momentarily see\n * blank content. This is a tradeoff that can be adjusted to suit the needs of each application,\n * and we are working on improving it behind the scenes.\n * - By default, the list looks for a `key` or `id` prop on each item and uses that for the React key.\n * Alternatively, you can provide a custom `keyExtractor` prop.\n * - As an effort to remove defaultProps, use helper functions when referencing certain props\n *\n */\n\n\nclass VirtualizedList extends React.PureComponent {\n // scrollToEnd may be janky without getItemLayout prop\n scrollToEnd(params) {\n var animated = params ? params.animated : true;\n var veryLast = this.props.getItemCount(this.props.data) - 1;\n\n var frame = this._getFrameMetricsApprox(veryLast);\n\n var offset = Math.max(0, frame.offset + frame.length + this._footerLength - this._scrollMetrics.visibleLength);\n\n if (this._scrollRef == null) {\n return;\n }\n\n if (this._scrollRef.scrollTo == null) {\n console.warn('No scrollTo method provided. This may be because you have two nested ' + 'VirtualizedLists with the same orientation, or because you are ' + 'using a custom component that does not implement scrollTo.');\n return;\n }\n\n this._scrollRef.scrollTo(horizontalOrDefault(this.props.horizontal) ? {\n x: offset,\n animated\n } : {\n y: offset,\n animated\n });\n } // scrollToIndex may be janky without getItemLayout prop\n\n\n scrollToIndex(params) {\n var _this$props = this.props,\n data = _this$props.data,\n horizontal = _this$props.horizontal,\n getItemCount = _this$props.getItemCount,\n getItemLayout = _this$props.getItemLayout,\n onScrollToIndexFailed = _this$props.onScrollToIndexFailed;\n var animated = params.animated,\n index = params.index,\n viewOffset = params.viewOffset,\n viewPosition = params.viewPosition;\n invariant(index >= 0, \"scrollToIndex out of range: requested index \" + index + \" but minimum is 0\");\n invariant(getItemCount(data) >= 1, \"scrollToIndex out of range: item length \" + getItemCount(data) + \" but minimum is 1\");\n invariant(index < getItemCount(data), \"scrollToIndex out of range: requested index \" + index + \" is out of 0 to \" + (getItemCount(data) - 1));\n\n if (!getItemLayout && index > this._highestMeasuredFrameIndex) {\n invariant(!!onScrollToIndexFailed, 'scrollToIndex should be used in conjunction with getItemLayout or onScrollToIndexFailed, ' + 'otherwise there is no way to know the location of offscreen indices or handle failures.');\n onScrollToIndexFailed({\n averageItemLength: this._averageCellLength,\n highestMeasuredFrameIndex: this._highestMeasuredFrameIndex,\n index\n });\n return;\n }\n\n var frame = this._getFrameMetricsApprox(index);\n\n var offset = Math.max(0, frame.offset - (viewPosition || 0) * (this._scrollMetrics.visibleLength - frame.length)) - (viewOffset || 0);\n\n if (this._scrollRef == null) {\n return;\n }\n\n if (this._scrollRef.scrollTo == null) {\n console.warn('No scrollTo method provided. This may be because you have two nested ' + 'VirtualizedLists with the same orientation, or because you are ' + 'using a custom component that does not implement scrollTo.');\n return;\n }\n\n this._scrollRef.scrollTo(horizontal ? {\n x: offset,\n animated\n } : {\n y: offset,\n animated\n });\n } // scrollToItem may be janky without getItemLayout prop. Required linear scan through items -\n // use scrollToIndex instead if possible.\n\n\n scrollToItem(params) {\n var item = params.item;\n var _this$props2 = this.props,\n data = _this$props2.data,\n getItem = _this$props2.getItem,\n getItemCount = _this$props2.getItemCount;\n var itemCount = getItemCount(data);\n\n for (var _index = 0; _index < itemCount; _index++) {\n if (getItem(data, _index) === item) {\n this.scrollToIndex(_objectSpread(_objectSpread({}, params), {}, {\n index: _index\n }));\n break;\n }\n }\n }\n /**\n * Scroll to a specific content pixel offset in the list.\n *\n * Param `offset` expects the offset to scroll to.\n * In case of `horizontal` is true, the offset is the x-value,\n * in any other case the offset is the y-value.\n *\n * Param `animated` (`true` by default) defines whether the list\n * should do an animation while scrolling.\n */\n\n\n scrollToOffset(params) {\n var animated = params.animated,\n offset = params.offset;\n\n if (this._scrollRef == null) {\n return;\n }\n\n if (this._scrollRef.scrollTo == null) {\n console.warn('No scrollTo method provided. This may be because you have two nested ' + 'VirtualizedLists with the same orientation, or because you are ' + 'using a custom component that does not implement scrollTo.');\n return;\n }\n\n this._scrollRef.scrollTo(horizontalOrDefault(this.props.horizontal) ? {\n x: offset,\n animated\n } : {\n y: offset,\n animated\n });\n }\n\n recordInteraction() {\n this._nestedChildLists.forEach(childList => {\n childList.ref && childList.ref.recordInteraction();\n });\n\n this._viewabilityTuples.forEach(t => {\n t.viewabilityHelper.recordInteraction();\n });\n\n this._updateViewableItems(this.props.data);\n }\n\n flashScrollIndicators() {\n if (this._scrollRef == null) {\n return;\n }\n\n this._scrollRef.flashScrollIndicators();\n }\n /**\n * Provides a handle to the underlying scroll responder.\n * Note that `this._scrollRef` might not be a `ScrollView`, so we\n * need to check that it responds to `getScrollResponder` before calling it.\n */\n\n\n getScrollResponder() {\n if (this._scrollRef && this._scrollRef.getScrollResponder) {\n return this._scrollRef.getScrollResponder();\n }\n }\n\n getScrollableNode() {\n if (this._scrollRef && this._scrollRef.getScrollableNode) {\n return this._scrollRef.getScrollableNode();\n } else {\n return findNodeHandle(this._scrollRef);\n }\n }\n\n getScrollRef() {\n if (this._scrollRef && this._scrollRef.getScrollRef) {\n return this._scrollRef.getScrollRef();\n } else {\n return this._scrollRef;\n }\n }\n\n setNativeProps(props) {\n if (this._scrollRef) {\n this._scrollRef.setNativeProps(props);\n }\n }\n\n _getCellKey() {\n var _this$context;\n\n return ((_this$context = this.context) == null ? void 0 : _this$context.cellKey) || 'rootList';\n }\n\n _getListKey() {\n return this.props.listKey || this._getCellKey();\n }\n\n _getDebugInfo() {\n var _this$context2;\n\n return {\n listKey: this._getListKey(),\n cellKey: this._getCellKey(),\n horizontal: horizontalOrDefault(this.props.horizontal),\n parent: (_this$context2 = this.context) == null ? void 0 : _this$context2.debugInfo\n };\n }\n\n hasMore() {\n return this._hasMore;\n }\n\n constructor(_props) {\n var _this$props$updateCel;\n\n super(_props);\n\n this._getScrollMetrics = () => {\n return this._scrollMetrics;\n };\n\n this._getOutermostParentListRef = () => {\n if (this._isNestedWithSameOrientation()) {\n return this.context.getOutermostParentListRef();\n } else {\n return this;\n }\n };\n\n this._getNestedChildState = key => {\n var existingChildData = this._nestedChildLists.get(key);\n\n return existingChildData && existingChildData.state;\n };\n\n this._registerAsNestedChild = childList => {\n // Register the mapping between this child key and the cellKey for its cell\n var childListsInCell = this._cellKeysToChildListKeys.get(childList.cellKey) || new Set();\n childListsInCell.add(childList.key);\n\n this._cellKeysToChildListKeys.set(childList.cellKey, childListsInCell);\n\n var existingChildData = this._nestedChildLists.get(childList.key);\n\n if (existingChildData && existingChildData.ref !== null) {\n console.error('A VirtualizedList contains a cell which itself contains ' + 'more than one VirtualizedList of the same orientation as the parent ' + 'list. You must pass a unique listKey prop to each sibling list.\\n\\n' + describeNestedLists(_objectSpread(_objectSpread({}, childList), {}, {\n // We're called from the child's componentDidMount, so it's safe to\n // read the child's props here (albeit weird).\n horizontal: !!childList.ref.props.horizontal\n })));\n }\n\n this._nestedChildLists.set(childList.key, {\n ref: childList.ref,\n state: null\n });\n\n if (this._hasInteracted) {\n childList.ref.recordInteraction();\n }\n };\n\n this._unregisterAsNestedChild = childList => {\n this._nestedChildLists.set(childList.key, {\n ref: null,\n state: childList.state\n });\n };\n\n this._onUpdateSeparators = (keys, newProps) => {\n keys.forEach(key => {\n var ref = key != null && this._cellRefs[key];\n ref && ref.updateSeparatorProps(newProps);\n });\n };\n\n this._getSpacerKey = isVertical => isVertical ? 'height' : 'width';\n\n this._averageCellLength = 0;\n this._cellKeysToChildListKeys = new Map();\n this._cellRefs = {};\n this._frames = {};\n this._footerLength = 0;\n this._hasDoneInitialScroll = false;\n this._hasInteracted = false;\n this._hasMore = false;\n this._hasWarned = {};\n this._headerLength = 0;\n this._hiPriInProgress = false;\n this._highestMeasuredFrameIndex = 0;\n this._indicesToKeys = new Map();\n this._nestedChildLists = new Map();\n this._offsetFromParentVirtualizedList = 0;\n this._prevParentOffset = 0;\n this._scrollMetrics = {\n contentLength: 0,\n dOffset: 0,\n dt: 10,\n offset: 0,\n timestamp: 0,\n velocity: 0,\n visibleLength: 0\n };\n this._scrollRef = null;\n this._sentEndForContentLength = 0;\n this._totalCellLength = 0;\n this._totalCellsMeasured = 0;\n this._viewabilityTuples = [];\n\n this._captureScrollRef = ref => {\n this._scrollRef = ref;\n };\n\n this._defaultRenderScrollComponent = props => {\n var onRefresh = props.onRefresh;\n\n if (this._isNestedWithSameOrientation()) {\n // $FlowFixMe[prop-missing] - Typing ReactNativeComponent revealed errors\n return /*#__PURE__*/React.createElement(View, props);\n } else if (onRefresh) {\n var _props$refreshing;\n\n invariant(typeof props.refreshing === 'boolean', '`refreshing` prop must be set as a boolean in order to use `onRefresh`, but got `' + JSON.stringify((_props$refreshing = props.refreshing) !== null && _props$refreshing !== void 0 ? _props$refreshing : 'undefined') + '`');\n return (\n /*#__PURE__*/\n // $FlowFixMe[prop-missing] Invalid prop usage\n React.createElement(ScrollView, _extends({}, props, {\n refreshControl: props.refreshControl == null ? /*#__PURE__*/React.createElement(RefreshControl, {\n refreshing: props.refreshing,\n onRefresh: onRefresh,\n progressViewOffset: props.progressViewOffset\n }) : props.refreshControl\n }))\n );\n } else {\n // $FlowFixMe[prop-missing] Invalid prop usage\n return /*#__PURE__*/React.createElement(ScrollView, props);\n }\n };\n\n this._onCellUnmount = cellKey => {\n var curr = this._frames[cellKey];\n\n if (curr) {\n this._frames[cellKey] = _objectSpread(_objectSpread({}, curr), {}, {\n inLayout: false\n });\n }\n };\n\n this._onLayout = e => {\n if (this._isNestedWithSameOrientation()) {\n // Need to adjust our scroll metrics to be relative to our containing\n // VirtualizedList before we can make claims about list item viewability\n this.measureLayoutRelativeToContainingList();\n } else {\n this._scrollMetrics.visibleLength = this._selectLength(e.nativeEvent.layout);\n }\n\n this.props.onLayout && this.props.onLayout(e);\n\n this._scheduleCellsToRenderUpdate();\n\n this._maybeCallOnEndReached();\n };\n\n this._onLayoutEmpty = e => {\n this.props.onLayout && this.props.onLayout(e);\n };\n\n this._onLayoutFooter = e => {\n this._triggerRemeasureForChildListsInCell(this._getFooterCellKey());\n\n this._footerLength = this._selectLength(e.nativeEvent.layout);\n };\n\n this._onLayoutHeader = e => {\n this._headerLength = this._selectLength(e.nativeEvent.layout);\n };\n\n this._onContentSizeChange = (width, height) => {\n if (width > 0 && height > 0 && this.props.initialScrollIndex != null && this.props.initialScrollIndex > 0 && !this._hasDoneInitialScroll) {\n if (this.props.contentOffset == null) {\n this.scrollToIndex({\n animated: false,\n index: this.props.initialScrollIndex\n });\n }\n\n this._hasDoneInitialScroll = true;\n }\n\n if (this.props.onContentSizeChange) {\n this.props.onContentSizeChange(width, height);\n }\n\n this._scrollMetrics.contentLength = this._selectLength({\n height,\n width\n });\n\n this._scheduleCellsToRenderUpdate();\n\n this._maybeCallOnEndReached();\n };\n\n this._convertParentScrollMetrics = metrics => {\n // Offset of the top of the nested list relative to the top of its parent's viewport\n var offset = metrics.offset - this._offsetFromParentVirtualizedList; // Child's visible length is the same as its parent's\n\n var visibleLength = metrics.visibleLength;\n var dOffset = offset - this._scrollMetrics.offset;\n var contentLength = this._scrollMetrics.contentLength;\n return {\n visibleLength,\n contentLength,\n offset,\n dOffset\n };\n };\n\n this._onScroll = e => {\n this._nestedChildLists.forEach(childList => {\n childList.ref && childList.ref._onScroll(e);\n });\n\n if (this.props.onScroll) {\n this.props.onScroll(e);\n }\n\n var timestamp = e.timeStamp;\n\n var visibleLength = this._selectLength(e.nativeEvent.layoutMeasurement);\n\n var contentLength = this._selectLength(e.nativeEvent.contentSize);\n\n var offset = this._selectOffset(e.nativeEvent.contentOffset);\n\n var dOffset = offset - this._scrollMetrics.offset;\n\n if (this._isNestedWithSameOrientation()) {\n if (this._scrollMetrics.contentLength === 0) {\n // Ignore scroll events until onLayout has been called and we\n // know our offset from our offset from our parent\n return;\n }\n\n var _this$_convertParentS = this._convertParentScrollMetrics({\n visibleLength,\n offset\n });\n\n visibleLength = _this$_convertParentS.visibleLength;\n contentLength = _this$_convertParentS.contentLength;\n offset = _this$_convertParentS.offset;\n dOffset = _this$_convertParentS.dOffset;\n }\n\n var dt = this._scrollMetrics.timestamp ? Math.max(1, timestamp - this._scrollMetrics.timestamp) : 1;\n var velocity = dOffset / dt;\n\n if (dt > 500 && this._scrollMetrics.dt > 500 && contentLength > 5 * visibleLength && !this._hasWarned.perf) {\n infoLog('VirtualizedList: You have a large list that is slow to update - make sure your ' + 'renderItem function renders components that follow React performance best practices ' + 'like PureComponent, shouldComponentUpdate, etc.', {\n dt,\n prevDt: this._scrollMetrics.dt,\n contentLength\n });\n this._hasWarned.perf = true;\n }\n\n this._scrollMetrics = {\n contentLength,\n dt,\n dOffset,\n offset,\n timestamp,\n velocity,\n visibleLength\n };\n\n this._updateViewableItems(this.props.data);\n\n if (!this.props) {\n return;\n }\n\n this._maybeCallOnEndReached();\n\n if (velocity !== 0) {\n this._fillRateHelper.activate();\n }\n\n this._computeBlankness();\n\n this._scheduleCellsToRenderUpdate();\n };\n\n this._onScrollBeginDrag = e => {\n this._nestedChildLists.forEach(childList => {\n childList.ref && childList.ref._onScrollBeginDrag(e);\n });\n\n this._viewabilityTuples.forEach(tuple => {\n tuple.viewabilityHelper.recordInteraction();\n });\n\n this._hasInteracted = true;\n this.props.onScrollBeginDrag && this.props.onScrollBeginDrag(e);\n };\n\n this._onScrollEndDrag = e => {\n this._nestedChildLists.forEach(childList => {\n childList.ref && childList.ref._onScrollEndDrag(e);\n });\n\n var velocity = e.nativeEvent.velocity;\n\n if (velocity) {\n this._scrollMetrics.velocity = this._selectOffset(velocity);\n }\n\n this._computeBlankness();\n\n this.props.onScrollEndDrag && this.props.onScrollEndDrag(e);\n };\n\n this._onMomentumScrollBegin = e => {\n this._nestedChildLists.forEach(childList => {\n childList.ref && childList.ref._onMomentumScrollBegin(e);\n });\n\n this.props.onMomentumScrollBegin && this.props.onMomentumScrollBegin(e);\n };\n\n this._onMomentumScrollEnd = e => {\n this._nestedChildLists.forEach(childList => {\n childList.ref && childList.ref._onMomentumScrollEnd(e);\n });\n\n this._scrollMetrics.velocity = 0;\n\n this._computeBlankness();\n\n this.props.onMomentumScrollEnd && this.props.onMomentumScrollEnd(e);\n };\n\n this._updateCellsToRender = () => {\n var _this$props3 = this.props,\n data = _this$props3.data,\n getItemCount = _this$props3.getItemCount,\n _onEndReachedThreshold = _this$props3.onEndReachedThreshold;\n var onEndReachedThreshold = onEndReachedThresholdOrDefault(_onEndReachedThreshold);\n\n var isVirtualizationDisabled = this._isVirtualizationDisabled();\n\n this._updateViewableItems(data);\n\n if (!data) {\n return;\n }\n\n this.setState(state => {\n var newState;\n var _this$_scrollMetrics = this._scrollMetrics,\n contentLength = _this$_scrollMetrics.contentLength,\n offset = _this$_scrollMetrics.offset,\n visibleLength = _this$_scrollMetrics.visibleLength;\n\n if (!isVirtualizationDisabled) {\n // If we run this with bogus data, we'll force-render window {first: 0, last: 0},\n // and wipe out the initialNumToRender rendered elements.\n // So let's wait until the scroll view metrics have been set up. And until then,\n // we will trust the initialNumToRender suggestion\n if (visibleLength > 0 && contentLength > 0) {\n // If we have a non-zero initialScrollIndex and run this before we've scrolled,\n // we'll wipe out the initialNumToRender rendered elements starting at initialScrollIndex.\n // So let's wait until we've scrolled the view to the right place. And until then,\n // we will trust the initialScrollIndex suggestion.\n if (!this.props.initialScrollIndex || this._scrollMetrics.offset) {\n newState = computeWindowedRenderLimits(this.props.data, this.props.getItemCount, maxToRenderPerBatchOrDefault(this.props.maxToRenderPerBatch), windowSizeOrDefault(this.props.windowSize), state, this._getFrameMetricsApprox, this._scrollMetrics);\n }\n }\n } else {\n var distanceFromEnd = contentLength - visibleLength - offset;\n var renderAhead = distanceFromEnd < onEndReachedThreshold * visibleLength ? maxToRenderPerBatchOrDefault(this.props.maxToRenderPerBatch) : 0;\n newState = {\n first: 0,\n last: Math.min(state.last + renderAhead, getItemCount(data) - 1)\n };\n }\n\n if (newState && this._nestedChildLists.size > 0) {\n var newFirst = newState.first;\n var newLast = newState.last; // If some cell in the new state has a child list in it, we should only render\n // up through that item, so that we give that list a chance to render.\n // Otherwise there's churn from multiple child lists mounting and un-mounting\n // their items.\n\n for (var ii = newFirst; ii <= newLast; ii++) {\n var cellKeyForIndex = this._indicesToKeys.get(ii);\n\n var childListKeys = cellKeyForIndex && this._cellKeysToChildListKeys.get(cellKeyForIndex);\n\n if (!childListKeys) {\n continue;\n }\n\n var someChildHasMore = false; // For each cell, need to check whether any child list in it has more elements to render\n\n for (var _iterator = _createForOfIteratorHelperLoose(childListKeys), _step; !(_step = _iterator()).done;) {\n var childKey = _step.value;\n\n var childList = this._nestedChildLists.get(childKey);\n\n if (childList && childList.ref && childList.ref.hasMore()) {\n someChildHasMore = true;\n break;\n }\n }\n\n if (someChildHasMore) {\n // $FlowFixMe[incompatible-use] The newState definitely exists past \"if (newState &&\"\n newState.last = ii;\n break;\n }\n }\n }\n\n if (newState != null && newState.first === state.first && newState.last === state.last) {\n newState = null;\n }\n\n return newState;\n });\n };\n\n this._createViewToken = (index, isViewable) => {\n var _this$props4 = this.props,\n data = _this$props4.data,\n getItem = _this$props4.getItem;\n var item = getItem(data, index);\n return {\n index,\n item,\n key: this._keyExtractor(item, index),\n isViewable\n };\n };\n\n this._getFrameMetricsApprox = index => {\n var frame = this._getFrameMetrics(index);\n\n if (frame && frame.index === index) {\n // check for invalid frames due to row re-ordering\n return frame;\n } else {\n var getItemLayout = this.props.getItemLayout;\n invariant(!getItemLayout, 'Should not have to estimate frames when a measurement metrics function is provided');\n return {\n length: this._averageCellLength,\n offset: this._averageCellLength * index\n };\n }\n };\n\n this._getFrameMetrics = index => {\n var _this$props5 = this.props,\n data = _this$props5.data,\n getItem = _this$props5.getItem,\n getItemCount = _this$props5.getItemCount,\n getItemLayout = _this$props5.getItemLayout;\n invariant(getItemCount(data) > index, 'Tried to get frame for out of range index ' + index);\n var item = getItem(data, index);\n\n var frame = item && this._frames[this._keyExtractor(item, index)];\n\n if (!frame || frame.index !== index) {\n if (getItemLayout) {\n frame = getItemLayout(data, index);\n }\n }\n /* $FlowFixMe[prop-missing] (>=0.63.0 site=react_native_fb) This comment\n * suppresses an error found when Flow v0.63 was deployed. To see the error\n * delete this comment and run Flow. */\n\n\n return frame;\n };\n\n invariant( // $FlowFixMe[prop-missing]\n !_props.onScroll || !_props.onScroll.__isNative, 'Components based on VirtualizedList must be wrapped with Animated.createAnimatedComponent ' + 'to support native onScroll events with useNativeDriver');\n invariant(windowSizeOrDefault(_props.windowSize) > 0, 'VirtualizedList: The windowSize prop must be present and set to a value greater than 0.');\n this._fillRateHelper = new FillRateHelper(this._getFrameMetrics);\n this._updateCellsToRenderBatcher = new Batchinator(this._updateCellsToRender, (_this$props$updateCel = this.props.updateCellsBatchingPeriod) !== null && _this$props$updateCel !== void 0 ? _this$props$updateCel : 50);\n\n if (this.props.viewabilityConfigCallbackPairs) {\n this._viewabilityTuples = this.props.viewabilityConfigCallbackPairs.map(pair => ({\n viewabilityHelper: new ViewabilityHelper(pair.viewabilityConfig),\n onViewableItemsChanged: pair.onViewableItemsChanged\n }));\n } else if (this.props.onViewableItemsChanged) {\n this._viewabilityTuples.push({\n viewabilityHelper: new ViewabilityHelper(this.props.viewabilityConfig),\n // $FlowFixMe[incompatible-call]\n onViewableItemsChanged: this.props.onViewableItemsChanged\n });\n }\n\n var initialState = {\n first: this.props.initialScrollIndex || 0,\n last: Math.min(this.props.getItemCount(this.props.data), (this.props.initialScrollIndex || 0) + initialNumToRenderOrDefault(this.props.initialNumToRender)) - 1\n };\n\n if (this._isNestedWithSameOrientation()) {\n var storedState = this.context.getNestedChildState(this._getListKey());\n\n if (storedState) {\n initialState = storedState;\n this.state = storedState;\n this._frames = storedState.frames;\n }\n } // REACT-NATIVE-WEB patch to preserve during future RN merges: Support inverted wheel scroller.\n // For issue https://github.com/necolas/react-native-web/issues/995\n\n\n this.invertedWheelEventHandler = ev => {\n if (this.props.inverted && this._scrollRef && this._scrollRef.getScrollableNode) {\n var node = this._scrollRef.getScrollableNode();\n\n if (this.props.horizontal) {\n node.scrollLeft -= ev.deltaX || ev.wheelDeltaX;\n } else {\n node.scrollTop -= ev.deltaY || ev.wheelDeltaY;\n }\n\n ev.preventDefault();\n }\n };\n\n this.state = initialState;\n }\n\n componentDidMount() {\n if (this._isNestedWithSameOrientation()) {\n this.context.registerAsNestedChild({\n cellKey: this._getCellKey(),\n key: this._getListKey(),\n ref: this,\n // NOTE: When the child mounts (here) it's not necessarily safe to read\n // the parent's props. This is why we explicitly propagate debugInfo\n // \"down\" via context and \"up\" again via this method call on the\n // parent.\n parentDebugInfo: this.context.debugInfo\n });\n } // REACT-NATIVE-WEB patch to preserve during future RN merges: Support inverted wheel scroller.\n\n\n this.setupWebWheelHandler();\n }\n\n componentWillUnmount() {\n if (this._isNestedWithSameOrientation()) {\n this.context.unregisterAsNestedChild({\n key: this._getListKey(),\n state: {\n first: this.state.first,\n last: this.state.last,\n frames: this._frames\n }\n });\n }\n\n this._updateViewableItems(null);\n\n this._updateCellsToRenderBatcher.dispose({\n abort: true\n });\n\n this._viewabilityTuples.forEach(tuple => {\n tuple.viewabilityHelper.dispose();\n });\n\n this._fillRateHelper.deactivateAndFlush(); // REACT-NATIVE-WEB patch to preserve during future RN merges: Support inverted wheel scroller.\n\n\n this.teardownWebWheelHandler();\n } // REACT-NATIVE-WEB patch to preserve during future RN merges: Support inverted wheel scroller.\n\n\n setupWebWheelHandler() {\n if (this._scrollRef && this._scrollRef.getScrollableNode) {\n this._scrollRef.getScrollableNode().addEventListener('wheel', this.invertedWheelEventHandler);\n } else {\n setTimeout(() => this.setupWebWheelHandler(), 50);\n return;\n }\n } // REACT-NATIVE-WEB patch to preserve during future RN merges: Support inverted wheel scroller.\n\n\n teardownWebWheelHandler() {\n if (this._scrollRef && this._scrollRef.getScrollableNode) {\n this._scrollRef.getScrollableNode().removeEventListener('wheel', this.invertedWheelEventHandler);\n }\n }\n\n static getDerivedStateFromProps(newProps, prevState) {\n var data = newProps.data,\n getItemCount = newProps.getItemCount;\n var maxToRenderPerBatch = maxToRenderPerBatchOrDefault(newProps.maxToRenderPerBatch); // first and last could be stale (e.g. if a new, shorter items props is passed in), so we make\n // sure we're rendering a reasonable range here.\n\n return {\n first: Math.max(0, Math.min(prevState.first, getItemCount(data) - 1 - maxToRenderPerBatch)),\n last: Math.max(0, Math.min(prevState.last, getItemCount(data) - 1))\n };\n }\n\n _pushCells(cells, stickyHeaderIndices, stickyIndicesFromProps, first, last, inversionStyle) {\n var _this = this;\n\n var _this$props6 = this.props,\n CellRendererComponent = _this$props6.CellRendererComponent,\n ItemSeparatorComponent = _this$props6.ItemSeparatorComponent,\n data = _this$props6.data,\n getItem = _this$props6.getItem,\n getItemCount = _this$props6.getItemCount,\n horizontal = _this$props6.horizontal;\n var stickyOffset = this.props.ListHeaderComponent ? 1 : 0;\n var end = getItemCount(data) - 1;\n var prevCellKey;\n last = Math.min(end, last);\n\n var _loop = function _loop(ii) {\n var item = getItem(data, ii);\n\n var key = _this._keyExtractor(item, ii);\n\n _this._indicesToKeys.set(ii, key);\n\n if (stickyIndicesFromProps.has(ii + stickyOffset)) {\n stickyHeaderIndices.push(cells.length);\n }\n\n cells.push( /*#__PURE__*/React.createElement(CellRenderer, {\n CellRendererComponent: CellRendererComponent,\n ItemSeparatorComponent: ii < end ? ItemSeparatorComponent : undefined,\n cellKey: key,\n fillRateHelper: _this._fillRateHelper,\n horizontal: horizontal,\n index: ii,\n inversionStyle: inversionStyle,\n item: item,\n key: key,\n prevCellKey: prevCellKey,\n onUpdateSeparators: _this._onUpdateSeparators,\n onLayout: e => _this._onCellLayout(e, key, ii),\n onUnmount: _this._onCellUnmount,\n parentProps: _this.props,\n ref: _ref => {\n _this._cellRefs[key] = _ref;\n }\n }));\n prevCellKey = key;\n };\n\n for (var ii = first; ii <= last; ii++) {\n _loop(ii);\n }\n }\n\n _isVirtualizationDisabled() {\n return this.props.disableVirtualization || false;\n }\n\n _isNestedWithSameOrientation() {\n var nestedContext = this.context;\n return !!(nestedContext && !!nestedContext.horizontal === horizontalOrDefault(this.props.horizontal));\n }\n\n _keyExtractor(item, index) {\n if (this.props.keyExtractor != null) {\n return this.props.keyExtractor(item, index);\n }\n\n var key = defaultKeyExtractor(item, index);\n\n if (key === String(index)) {\n _usedIndexForKey = true;\n\n if (item.type && item.type.displayName) {\n _keylessItemComponentName = item.type.displayName;\n }\n }\n\n return key;\n }\n\n render() {\n if (__DEV__) {\n var flatStyles = flattenStyle(this.props.contentContainerStyle);\n\n if (flatStyles != null && flatStyles.flexWrap === 'wrap') {\n console.warn('`flexWrap: `wrap`` is not supported with the `VirtualizedList` components.' + 'Consider using `numColumns` with `FlatList` instead.');\n }\n }\n\n var _this$props7 = this.props,\n ListEmptyComponent = _this$props7.ListEmptyComponent,\n ListFooterComponent = _this$props7.ListFooterComponent,\n ListHeaderComponent = _this$props7.ListHeaderComponent;\n var _this$props8 = this.props,\n data = _this$props8.data,\n horizontal = _this$props8.horizontal;\n\n var isVirtualizationDisabled = this._isVirtualizationDisabled();\n\n var inversionStyle = this.props.inverted ? horizontalOrDefault(this.props.horizontal) ? styles.horizontallyInverted : styles.verticallyInverted : null;\n var cells = [];\n var stickyIndicesFromProps = new Set(this.props.stickyHeaderIndices);\n var stickyHeaderIndices = [];\n\n if (ListHeaderComponent) {\n if (stickyIndicesFromProps.has(0)) {\n stickyHeaderIndices.push(0);\n }\n\n var element = /*#__PURE__*/React.isValidElement(ListHeaderComponent) ? ListHeaderComponent :\n /*#__PURE__*/\n // $FlowFixMe[not-a-component]\n // $FlowFixMe[incompatible-type-arg]\n React.createElement(ListHeaderComponent, null);\n cells.push( /*#__PURE__*/React.createElement(VirtualizedListCellContextProvider, {\n cellKey: this._getCellKey() + '-header',\n key: \"$header\"\n }, /*#__PURE__*/React.createElement(View, {\n onLayout: this._onLayoutHeader,\n style: StyleSheet.compose(inversionStyle, this.props.ListHeaderComponentStyle)\n }, // $FlowFixMe[incompatible-type] - Typing ReactNativeComponent revealed errors\n element)));\n }\n\n var itemCount = this.props.getItemCount(data);\n\n if (itemCount > 0) {\n _usedIndexForKey = false;\n _keylessItemComponentName = '';\n\n var spacerKey = this._getSpacerKey(!horizontal);\n\n var lastInitialIndex = this.props.initialScrollIndex ? -1 : initialNumToRenderOrDefault(this.props.initialNumToRender) - 1;\n var _this$state = this.state,\n first = _this$state.first,\n last = _this$state.last;\n\n this._pushCells(cells, stickyHeaderIndices, stickyIndicesFromProps, 0, lastInitialIndex, inversionStyle);\n\n var firstAfterInitial = Math.max(lastInitialIndex + 1, first);\n\n if (!isVirtualizationDisabled && first > lastInitialIndex + 1) {\n var insertedStickySpacer = false;\n\n if (stickyIndicesFromProps.size > 0) {\n var stickyOffset = ListHeaderComponent ? 1 : 0; // See if there are any sticky headers in the virtualized space that we need to render.\n\n for (var ii = firstAfterInitial - 1; ii > lastInitialIndex; ii--) {\n if (stickyIndicesFromProps.has(ii + stickyOffset)) {\n var initBlock = this._getFrameMetricsApprox(lastInitialIndex);\n\n var stickyBlock = this._getFrameMetricsApprox(ii);\n\n var leadSpace = stickyBlock.offset - initBlock.offset - (this.props.initialScrollIndex ? 0 : initBlock.length);\n cells.push( /*#__PURE__*/React.createElement(View, {\n key: \"$sticky_lead\",\n style: {\n [spacerKey]: leadSpace\n }\n }));\n\n this._pushCells(cells, stickyHeaderIndices, stickyIndicesFromProps, ii, ii, inversionStyle);\n\n var trailSpace = this._getFrameMetricsApprox(first).offset - (stickyBlock.offset + stickyBlock.length);\n cells.push( /*#__PURE__*/React.createElement(View, {\n key: \"$sticky_trail\",\n style: {\n [spacerKey]: trailSpace\n }\n }));\n insertedStickySpacer = true;\n break;\n }\n }\n }\n\n if (!insertedStickySpacer) {\n var _initBlock = this._getFrameMetricsApprox(lastInitialIndex);\n\n var firstSpace = this._getFrameMetricsApprox(first).offset - (_initBlock.offset + _initBlock.length);\n\n cells.push( /*#__PURE__*/React.createElement(View, {\n key: \"$lead_spacer\",\n style: {\n [spacerKey]: firstSpace\n }\n }));\n }\n }\n\n this._pushCells(cells, stickyHeaderIndices, stickyIndicesFromProps, firstAfterInitial, last, inversionStyle);\n\n if (!this._hasWarned.keys && _usedIndexForKey) {\n console.warn('VirtualizedList: missing keys for items, make sure to specify a key or id property on each ' + 'item or provide a custom keyExtractor.', _keylessItemComponentName);\n this._hasWarned.keys = true;\n }\n\n if (!isVirtualizationDisabled && last < itemCount - 1) {\n var lastFrame = this._getFrameMetricsApprox(last); // Without getItemLayout, we limit our tail spacer to the _highestMeasuredFrameIndex to\n // prevent the user for hyperscrolling into un-measured area because otherwise content will\n // likely jump around as it renders in above the viewport.\n\n\n var end = this.props.getItemLayout ? itemCount - 1 : Math.min(itemCount - 1, this._highestMeasuredFrameIndex);\n\n var endFrame = this._getFrameMetricsApprox(end);\n\n var tailSpacerLength = endFrame.offset + endFrame.length - (lastFrame.offset + lastFrame.length);\n cells.push( /*#__PURE__*/React.createElement(View, {\n key: \"$tail_spacer\",\n style: {\n [spacerKey]: tailSpacerLength\n }\n }));\n }\n } else if (ListEmptyComponent) {\n var _element = /*#__PURE__*/React.isValidElement(ListEmptyComponent) ? ListEmptyComponent :\n /*#__PURE__*/\n // $FlowFixMe[not-a-component]\n // $FlowFixMe[incompatible-type-arg]\n React.createElement(ListEmptyComponent, null);\n\n cells.push( /*#__PURE__*/React.cloneElement(_element, {\n key: '$empty',\n onLayout: event => {\n this._onLayoutEmpty(event);\n\n if (_element.props.onLayout) {\n _element.props.onLayout(event);\n }\n },\n style: StyleSheet.compose(inversionStyle, _element.props.style)\n }));\n }\n\n if (ListFooterComponent) {\n var _element2 = /*#__PURE__*/React.isValidElement(ListFooterComponent) ? ListFooterComponent :\n /*#__PURE__*/\n // $FlowFixMe[not-a-component]\n // $FlowFixMe[incompatible-type-arg]\n React.createElement(ListFooterComponent, null);\n\n cells.push( /*#__PURE__*/React.createElement(VirtualizedListCellContextProvider, {\n cellKey: this._getFooterCellKey(),\n key: \"$footer\"\n }, /*#__PURE__*/React.createElement(View, {\n onLayout: this._onLayoutFooter,\n style: StyleSheet.compose(inversionStyle, this.props.ListFooterComponentStyle)\n }, // $FlowFixMe[incompatible-type] - Typing ReactNativeComponent revealed errors\n _element2)));\n }\n\n var scrollProps = _objectSpread(_objectSpread({}, this.props), {}, {\n onContentSizeChange: this._onContentSizeChange,\n onLayout: this._onLayout,\n onScroll: this._onScroll,\n onScrollBeginDrag: this._onScrollBeginDrag,\n onScrollEndDrag: this._onScrollEndDrag,\n onMomentumScrollBegin: this._onMomentumScrollBegin,\n onMomentumScrollEnd: this._onMomentumScrollEnd,\n scrollEventThrottle: scrollEventThrottleOrDefault(this.props.scrollEventThrottle),\n // TODO: Android support\n invertStickyHeaders: this.props.invertStickyHeaders !== undefined ? this.props.invertStickyHeaders : this.props.inverted,\n stickyHeaderIndices,\n style: inversionStyle ? [inversionStyle, this.props.style] : this.props.style\n });\n\n this._hasMore = this.state.last < this.props.getItemCount(this.props.data) - 1;\n var innerRet = /*#__PURE__*/React.createElement(VirtualizedListContextProvider, {\n value: {\n cellKey: null,\n getScrollMetrics: this._getScrollMetrics,\n horizontal: horizontalOrDefault(this.props.horizontal),\n getOutermostParentListRef: this._getOutermostParentListRef,\n getNestedChildState: this._getNestedChildState,\n registerAsNestedChild: this._registerAsNestedChild,\n unregisterAsNestedChild: this._unregisterAsNestedChild,\n debugInfo: this._getDebugInfo()\n }\n }, /*#__PURE__*/React.cloneElement((this.props.renderScrollComponent || this._defaultRenderScrollComponent)(scrollProps), {\n ref: this._captureScrollRef\n }, cells));\n var ret = innerRet;\n /* https://github.com/necolas/react-native-web/issues/2239: Re-enable when ScrollView.Context.Consumer is available.\n if (__DEV__) {\n ret = (\n \n {scrollContext => {\n if (\n scrollContext != null &&\n !scrollContext.horizontal ===\n !horizontalOrDefault(this.props.horizontal) &&\n !this._hasWarned.nesting &&\n this.context == null\n ) {\n // TODO (T46547044): use React.warn once 16.9 is sync'd: https://github.com/facebook/react/pull/15170\n console.error(\n 'VirtualizedLists should never be nested inside plain ScrollViews with the same ' +\n 'orientation because it can break windowing and other functionality - use another ' +\n 'VirtualizedList-backed container instead.',\n );\n this._hasWarned.nesting = true;\n }\n return innerRet;\n }}\n \n );\n }*/\n\n if (this.props.debug) {\n return /*#__PURE__*/React.createElement(View, {\n style: styles.debug\n }, ret, this._renderDebugOverlay());\n } else {\n return ret;\n }\n }\n\n componentDidUpdate(prevProps) {\n var _this$props9 = this.props,\n data = _this$props9.data,\n extraData = _this$props9.extraData;\n\n if (data !== prevProps.data || extraData !== prevProps.extraData) {\n // clear the viewableIndices cache to also trigger\n // the onViewableItemsChanged callback with the new data\n this._viewabilityTuples.forEach(tuple => {\n tuple.viewabilityHelper.resetViewableIndices();\n });\n } // The `this._hiPriInProgress` is guaranteeing a hiPri cell update will only happen\n // once per fiber update. The `_scheduleCellsToRenderUpdate` will set it to true\n // if a hiPri update needs to perform. If `componentDidUpdate` is triggered with\n // `this._hiPriInProgress=true`, means it's triggered by the hiPri update. The\n // `_scheduleCellsToRenderUpdate` will check this condition and not perform\n // another hiPri update.\n\n\n var hiPriInProgress = this._hiPriInProgress;\n\n this._scheduleCellsToRenderUpdate(); // Make sure setting `this._hiPriInProgress` back to false after `componentDidUpdate`\n // is triggered with `this._hiPriInProgress = true`\n\n\n if (hiPriInProgress) {\n this._hiPriInProgress = false;\n }\n }\n\n _computeBlankness() {\n this._fillRateHelper.computeBlankness(this.props, this.state, this._scrollMetrics);\n }\n\n _onCellLayout(e, cellKey, index) {\n var layout = e.nativeEvent.layout;\n var next = {\n offset: this._selectOffset(layout),\n length: this._selectLength(layout),\n index,\n inLayout: true\n };\n var curr = this._frames[cellKey];\n\n if (!curr || next.offset !== curr.offset || next.length !== curr.length || index !== curr.index) {\n this._totalCellLength += next.length - (curr ? curr.length : 0);\n this._totalCellsMeasured += curr ? 0 : 1;\n this._averageCellLength = this._totalCellLength / this._totalCellsMeasured;\n this._frames[cellKey] = next;\n this._highestMeasuredFrameIndex = Math.max(this._highestMeasuredFrameIndex, index);\n\n this._scheduleCellsToRenderUpdate();\n } else {\n this._frames[cellKey].inLayout = true;\n }\n\n this._triggerRemeasureForChildListsInCell(cellKey);\n\n this._computeBlankness();\n\n this._updateViewableItems(this.props.data);\n }\n\n _triggerRemeasureForChildListsInCell(cellKey) {\n var childListKeys = this._cellKeysToChildListKeys.get(cellKey);\n\n if (childListKeys) {\n for (var _iterator2 = _createForOfIteratorHelperLoose(childListKeys), _step2; !(_step2 = _iterator2()).done;) {\n var childKey = _step2.value;\n\n var childList = this._nestedChildLists.get(childKey);\n\n childList && childList.ref && childList.ref.measureLayoutRelativeToContainingList();\n }\n }\n }\n\n measureLayoutRelativeToContainingList() {\n // TODO (T35574538): findNodeHandle sometimes crashes with \"Unable to find\n // node on an unmounted component\" during scrolling\n try {\n if (!this._scrollRef) {\n return;\n } // We are assuming that getOutermostParentListRef().getScrollRef()\n // is a non-null reference to a ScrollView\n\n\n this._scrollRef.measureLayout(this.context.getOutermostParentListRef().getScrollRef(), (x, y, width, height) => {\n this._offsetFromParentVirtualizedList = this._selectOffset({\n x,\n y\n });\n this._scrollMetrics.contentLength = this._selectLength({\n width,\n height\n });\n\n var scrollMetrics = this._convertParentScrollMetrics(this.context.getScrollMetrics());\n\n var metricsChanged = this._scrollMetrics.visibleLength !== scrollMetrics.visibleLength || this._scrollMetrics.offset !== scrollMetrics.offset;\n\n if (metricsChanged) {\n this._scrollMetrics.visibleLength = scrollMetrics.visibleLength;\n this._scrollMetrics.offset = scrollMetrics.offset; // If metrics of the scrollView changed, then we triggered remeasure for child list\n // to ensure VirtualizedList has the right information.\n\n this._cellKeysToChildListKeys.forEach(childListKeys => {\n if (childListKeys) {\n for (var _iterator3 = _createForOfIteratorHelperLoose(childListKeys), _step3; !(_step3 = _iterator3()).done;) {\n var childKey = _step3.value;\n\n var childList = this._nestedChildLists.get(childKey);\n\n childList && childList.ref && childList.ref.measureLayoutRelativeToContainingList();\n }\n }\n });\n }\n }, error => {\n console.warn(\"VirtualizedList: Encountered an error while measuring a list's\" + ' offset from its containing VirtualizedList.');\n });\n } catch (error) {\n console.warn('measureLayoutRelativeToContainingList threw an error', error.stack);\n }\n }\n\n _getFooterCellKey() {\n return this._getCellKey() + '-footer';\n }\n\n _renderDebugOverlay() {\n var normalize = this._scrollMetrics.visibleLength / (this._scrollMetrics.contentLength || 1);\n var framesInLayout = [];\n var itemCount = this.props.getItemCount(this.props.data);\n\n for (var ii = 0; ii < itemCount; ii++) {\n var frame = this._getFrameMetricsApprox(ii);\n /* $FlowFixMe[prop-missing] (>=0.68.0 site=react_native_fb) This comment\n * suppresses an error found when Flow v0.68 was deployed. To see the\n * error delete this comment and run Flow. */\n\n\n if (frame.inLayout) {\n framesInLayout.push(frame);\n }\n }\n\n var windowTop = this._getFrameMetricsApprox(this.state.first).offset;\n\n var frameLast = this._getFrameMetricsApprox(this.state.last);\n\n var windowLen = frameLast.offset + frameLast.length - windowTop;\n var visTop = this._scrollMetrics.offset;\n var visLen = this._scrollMetrics.visibleLength;\n return /*#__PURE__*/React.createElement(View, {\n style: [styles.debugOverlayBase, styles.debugOverlay]\n }, framesInLayout.map((f, ii) => /*#__PURE__*/React.createElement(View, {\n key: 'f' + ii,\n style: [styles.debugOverlayBase, styles.debugOverlayFrame, {\n top: f.offset * normalize,\n height: f.length * normalize\n }]\n })), /*#__PURE__*/React.createElement(View, {\n style: [styles.debugOverlayBase, styles.debugOverlayFrameLast, {\n top: windowTop * normalize,\n height: windowLen * normalize\n }]\n }), /*#__PURE__*/React.createElement(View, {\n style: [styles.debugOverlayBase, styles.debugOverlayFrameVis, {\n top: visTop * normalize,\n height: visLen * normalize\n }]\n }));\n }\n\n _selectLength(metrics) {\n return !horizontalOrDefault(this.props.horizontal) ? metrics.height : metrics.width;\n }\n\n _selectOffset(metrics) {\n return !horizontalOrDefault(this.props.horizontal) ? metrics.y : metrics.x;\n }\n\n _maybeCallOnEndReached() {\n var _this$props10 = this.props,\n data = _this$props10.data,\n getItemCount = _this$props10.getItemCount,\n onEndReached = _this$props10.onEndReached,\n onEndReachedThreshold = _this$props10.onEndReachedThreshold;\n var _this$_scrollMetrics2 = this._scrollMetrics,\n contentLength = _this$_scrollMetrics2.contentLength,\n visibleLength = _this$_scrollMetrics2.visibleLength,\n offset = _this$_scrollMetrics2.offset;\n var distanceFromEnd = contentLength - visibleLength - offset;\n var threshold = onEndReachedThreshold != null ? onEndReachedThreshold * visibleLength : 2;\n\n if (onEndReached && this.state.last === getItemCount(data) - 1 && distanceFromEnd < threshold && this._scrollMetrics.contentLength !== this._sentEndForContentLength) {\n // Only call onEndReached once for a given content length\n this._sentEndForContentLength = this._scrollMetrics.contentLength;\n onEndReached({\n distanceFromEnd\n });\n } else if (distanceFromEnd > threshold) {\n // If the user scrolls away from the end and back again cause\n // an onEndReached to be triggered again\n this._sentEndForContentLength = 0;\n }\n }\n\n _scheduleCellsToRenderUpdate() {\n var _this$state2 = this.state,\n first = _this$state2.first,\n last = _this$state2.last;\n var _this$_scrollMetrics3 = this._scrollMetrics,\n offset = _this$_scrollMetrics3.offset,\n visibleLength = _this$_scrollMetrics3.visibleLength,\n velocity = _this$_scrollMetrics3.velocity;\n var itemCount = this.props.getItemCount(this.props.data);\n var hiPri = false;\n var onEndReachedThreshold = onEndReachedThresholdOrDefault(this.props.onEndReachedThreshold);\n var scrollingThreshold = onEndReachedThreshold * visibleLength / 2; // Mark as high priority if we're close to the start of the first item\n // But only if there are items before the first rendered item\n\n if (first > 0) {\n var distTop = offset - this._getFrameMetricsApprox(first).offset;\n\n hiPri = hiPri || distTop < 0 || velocity < -2 && distTop < scrollingThreshold;\n } // Mark as high priority if we're close to the end of the last item\n // But only if there are items after the last rendered item\n\n\n if (last < itemCount - 1) {\n var distBottom = this._getFrameMetricsApprox(last).offset - (offset + visibleLength);\n hiPri = hiPri || distBottom < 0 || velocity > 2 && distBottom < scrollingThreshold;\n } // Only trigger high-priority updates if we've actually rendered cells,\n // and with that size estimate, accurately compute how many cells we should render.\n // Otherwise, it would just render as many cells as it can (of zero dimension),\n // each time through attempting to render more (limited by maxToRenderPerBatch),\n // starving the renderer from actually laying out the objects and computing _averageCellLength.\n // If this is triggered in an `componentDidUpdate` followed by a hiPri cellToRenderUpdate\n // We shouldn't do another hipri cellToRenderUpdate\n\n\n if (hiPri && (this._averageCellLength || this.props.getItemLayout) && !this._hiPriInProgress) {\n this._hiPriInProgress = true; // Don't worry about interactions when scrolling quickly; focus on filling content as fast\n // as possible.\n\n this._updateCellsToRenderBatcher.dispose({\n abort: true\n });\n\n this._updateCellsToRender();\n\n return;\n } else {\n this._updateCellsToRenderBatcher.schedule();\n }\n }\n\n _updateViewableItems(data) {\n var getItemCount = this.props.getItemCount;\n\n this._viewabilityTuples.forEach(tuple => {\n tuple.viewabilityHelper.onUpdate(getItemCount(data), this._scrollMetrics.offset, this._scrollMetrics.visibleLength, this._getFrameMetrics, this._createViewToken, tuple.onViewableItemsChanged, this.state);\n });\n }\n\n}\n\nVirtualizedList.contextType = VirtualizedListContext;\n\nclass CellRenderer extends React.Component {\n constructor() {\n super(...arguments);\n this.state = {\n separatorProps: {\n highlighted: false,\n leadingItem: this.props.item\n }\n };\n this._separators = {\n highlight: () => {\n var _this$props11 = this.props,\n cellKey = _this$props11.cellKey,\n prevCellKey = _this$props11.prevCellKey;\n this.props.onUpdateSeparators([cellKey, prevCellKey], {\n highlighted: true\n });\n },\n unhighlight: () => {\n var _this$props12 = this.props,\n cellKey = _this$props12.cellKey,\n prevCellKey = _this$props12.prevCellKey;\n this.props.onUpdateSeparators([cellKey, prevCellKey], {\n highlighted: false\n });\n },\n updateProps: (select, newProps) => {\n var _this$props13 = this.props,\n cellKey = _this$props13.cellKey,\n prevCellKey = _this$props13.prevCellKey;\n this.props.onUpdateSeparators([select === 'leading' ? prevCellKey : cellKey], newProps);\n }\n };\n }\n\n static getDerivedStateFromProps(props, prevState) {\n return {\n separatorProps: _objectSpread(_objectSpread({}, prevState.separatorProps), {}, {\n leadingItem: props.item\n })\n };\n } // TODO: consider factoring separator stuff out of VirtualizedList into FlatList since it's not\n // reused by SectionList and we can keep VirtualizedList simpler.\n\n\n updateSeparatorProps(newProps) {\n this.setState(state => ({\n separatorProps: _objectSpread(_objectSpread({}, state.separatorProps), newProps)\n }));\n }\n\n componentWillUnmount() {\n this.props.onUnmount(this.props.cellKey);\n }\n\n _renderElement(renderItem, ListItemComponent, item, index) {\n if (renderItem && ListItemComponent) {\n console.warn('VirtualizedList: Both ListItemComponent and renderItem props are present. ListItemComponent will take' + ' precedence over renderItem.');\n }\n\n if (ListItemComponent) {\n /* $FlowFixMe[not-a-component] (>=0.108.0 site=react_native_fb) This\n * comment suppresses an error found when Flow v0.108 was deployed. To\n * see the error, delete this comment and run Flow. */\n\n /* $FlowFixMe[incompatible-type-arg] (>=0.108.0 site=react_native_fb)\n * This comment suppresses an error found when Flow v0.108 was deployed.\n * To see the error, delete this comment and run Flow. */\n return /*#__PURE__*/React.createElement(ListItemComponent, {\n item,\n index,\n separators: this._separators\n });\n }\n\n if (renderItem) {\n return renderItem({\n item,\n index,\n separators: this._separators\n });\n }\n\n invariant(false, 'VirtualizedList: Either ListItemComponent or renderItem props are required but none were found.');\n }\n\n render() {\n var _this$props14 = this.props,\n CellRendererComponent = _this$props14.CellRendererComponent,\n ItemSeparatorComponent = _this$props14.ItemSeparatorComponent,\n fillRateHelper = _this$props14.fillRateHelper,\n horizontal = _this$props14.horizontal,\n item = _this$props14.item,\n index = _this$props14.index,\n inversionStyle = _this$props14.inversionStyle,\n parentProps = _this$props14.parentProps;\n var renderItem = parentProps.renderItem,\n getItemLayout = parentProps.getItemLayout,\n ListItemComponent = parentProps.ListItemComponent;\n\n var element = this._renderElement(renderItem, ListItemComponent, item, index);\n\n var onLayout =\n /* $FlowFixMe[prop-missing] (>=0.68.0 site=react_native_fb) This comment\n * suppresses an error found when Flow v0.68 was deployed. To see the\n * error delete this comment and run Flow. */\n getItemLayout && !parentProps.debug && !fillRateHelper.enabled() ? undefined : this.props.onLayout; // NOTE: that when this is a sticky header, `onLayout` will get automatically extracted and\n // called explicitly by `ScrollViewStickyHeader`.\n\n var itemSeparator = ItemSeparatorComponent && /*#__PURE__*/React.createElement(ItemSeparatorComponent, this.state.separatorProps);\n var cellStyle = inversionStyle ? horizontal ? [styles.rowReverse, inversionStyle] : [styles.columnReverse, inversionStyle] : horizontal ? [styles.row, inversionStyle] : inversionStyle;\n var result = !CellRendererComponent ?\n /*#__PURE__*/\n\n /* $FlowFixMe[incompatible-type-arg] (>=0.89.0 site=react_native_fb) *\n This comment suppresses an error found when Flow v0.89 was deployed. *\n To see the error, delete this comment and run Flow. */\n React.createElement(View, {\n style: cellStyle,\n onLayout: onLayout\n }, element, itemSeparator) : /*#__PURE__*/React.createElement(CellRendererComponent, _extends({}, this.props, {\n style: cellStyle,\n onLayout: onLayout\n }), element, itemSeparator);\n return /*#__PURE__*/React.createElement(VirtualizedListCellContextProvider, {\n cellKey: this.props.cellKey\n }, result);\n }\n\n}\n\nfunction describeNestedLists(childList) {\n var trace = 'VirtualizedList trace:\\n' + (\" Child (\" + (childList.horizontal ? 'horizontal' : 'vertical') + \"):\\n\") + (\" listKey: \" + childList.key + \"\\n\") + (\" cellKey: \" + childList.cellKey);\n var debugInfo = childList.parentDebugInfo;\n\n while (debugInfo) {\n trace += \"\\n Parent (\" + (debugInfo.horizontal ? 'horizontal' : 'vertical') + \"):\\n\" + (\" listKey: \" + debugInfo.listKey + \"\\n\") + (\" cellKey: \" + debugInfo.cellKey);\n debugInfo = debugInfo.parent;\n }\n\n return trace;\n}\n\nvar styles = StyleSheet.create({\n verticallyInverted: {\n transform: [{\n scaleY: -1\n }]\n },\n horizontallyInverted: {\n transform: [{\n scaleX: -1\n }]\n },\n row: {\n flexDirection: 'row'\n },\n rowReverse: {\n flexDirection: 'row-reverse'\n },\n columnReverse: {\n flexDirection: 'column-reverse'\n },\n debug: {\n flex: 1\n },\n debugOverlayBase: {\n position: 'absolute',\n top: 0,\n right: 0\n },\n debugOverlay: {\n bottom: 0,\n width: 20,\n borderColor: 'blue',\n borderWidth: 1\n },\n debugOverlayFrame: {\n left: 0,\n backgroundColor: 'orange'\n },\n debugOverlayFrameLast: {\n left: 0,\n borderColor: 'green',\n borderWidth: 2\n },\n debugOverlayFrameVis: {\n left: 0,\n borderColor: 'red',\n borderWidth: 2\n }\n});\nexport default VirtualizedList;","/**\n * Copyright (c) Meta Platforms, Inc. and 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 * @format\n */\n'use strict';\n\nimport _extends from \"@babel/runtime/helpers/extends\";\nimport _createForOfIteratorHelperLoose from \"@babel/runtime/helpers/createForOfIteratorHelperLoose\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/objectWithoutPropertiesLoose\";\nimport _objectSpread from \"@babel/runtime/helpers/objectSpread2\";\nvar _excluded = [\"ItemSeparatorComponent\", \"SectionSeparatorComponent\", \"renderItem\", \"renderSectionFooter\", \"renderSectionHeader\", \"sections\", \"stickySectionHeadersEnabled\"];\nimport { keyExtractor as defaultKeyExtractor } from '../VirtualizeUtils';\nimport View from '../../../exports/View';\nimport VirtualizedList from '../VirtualizedList';\nimport * as React from 'react';\nimport invariant from 'fbjs/lib/invariant';\n\n/**\n * Right now this just flattens everything into one list and uses VirtualizedList under the\n * hood. The only operation that might not scale well is concatting the data arrays of all the\n * sections when new props are received, which should be plenty fast for up to ~10,000 items.\n */\nclass VirtualizedSectionList extends React.PureComponent {\n constructor() {\n super(...arguments);\n\n this._keyExtractor = (item, index) => {\n var info = this._subExtractor(index);\n\n return info && info.key || String(index);\n };\n\n this._convertViewable = viewable => {\n var _info$index;\n\n invariant(viewable.index != null, 'Received a broken ViewToken');\n\n var info = this._subExtractor(viewable.index);\n\n if (!info) {\n return null;\n }\n\n var keyExtractorWithNullableIndex = info.section.keyExtractor;\n var keyExtractorWithNonNullableIndex = this.props.keyExtractor || defaultKeyExtractor;\n var key = keyExtractorWithNullableIndex != null ? keyExtractorWithNullableIndex(viewable.item, info.index) : keyExtractorWithNonNullableIndex(viewable.item, (_info$index = info.index) !== null && _info$index !== void 0 ? _info$index : 0);\n return _objectSpread(_objectSpread({}, viewable), {}, {\n index: info.index,\n key,\n section: info.section\n });\n };\n\n this._onViewableItemsChanged = _ref => {\n var viewableItems = _ref.viewableItems,\n changed = _ref.changed;\n var onViewableItemsChanged = this.props.onViewableItemsChanged;\n\n if (onViewableItemsChanged != null) {\n onViewableItemsChanged({\n viewableItems: viewableItems.map(this._convertViewable, this).filter(Boolean),\n changed: changed.map(this._convertViewable, this).filter(Boolean)\n });\n }\n };\n\n this._renderItem = listItemCount => _ref2 => {\n var item = _ref2.item,\n index = _ref2.index;\n\n var info = this._subExtractor(index);\n\n if (!info) {\n return null;\n }\n\n var infoIndex = info.index;\n\n if (infoIndex == null) {\n var section = info.section;\n\n if (info.header === true) {\n var renderSectionHeader = this.props.renderSectionHeader;\n return renderSectionHeader ? renderSectionHeader({\n section\n }) : null;\n } else {\n var renderSectionFooter = this.props.renderSectionFooter;\n return renderSectionFooter ? renderSectionFooter({\n section\n }) : null;\n }\n } else {\n var renderItem = info.section.renderItem || this.props.renderItem;\n\n var SeparatorComponent = this._getSeparatorComponent(index, info, listItemCount);\n\n invariant(renderItem, 'no renderItem!');\n return /*#__PURE__*/React.createElement(ItemWithSeparator, {\n SeparatorComponent: SeparatorComponent,\n LeadingSeparatorComponent: infoIndex === 0 ? this.props.SectionSeparatorComponent : undefined,\n cellKey: info.key,\n index: infoIndex,\n item: item,\n leadingItem: info.leadingItem,\n leadingSection: info.leadingSection,\n prevCellKey: (this._subExtractor(index - 1) || {}).key // Callback to provide updateHighlight for this item\n ,\n setSelfHighlightCallback: this._setUpdateHighlightFor,\n setSelfUpdatePropsCallback: this._setUpdatePropsFor // Provide child ability to set highlight/updateProps for previous item using prevCellKey\n ,\n updateHighlightFor: this._updateHighlightFor,\n updatePropsFor: this._updatePropsFor,\n renderItem: renderItem,\n section: info.section,\n trailingItem: info.trailingItem,\n trailingSection: info.trailingSection,\n inverted: !!this.props.inverted\n });\n }\n };\n\n this._updatePropsFor = (cellKey, value) => {\n var updateProps = this._updatePropsMap[cellKey];\n\n if (updateProps != null) {\n updateProps(value);\n }\n };\n\n this._updateHighlightFor = (cellKey, value) => {\n var updateHighlight = this._updateHighlightMap[cellKey];\n\n if (updateHighlight != null) {\n updateHighlight(value);\n }\n };\n\n this._setUpdateHighlightFor = (cellKey, updateHighlightFn) => {\n if (updateHighlightFn != null) {\n this._updateHighlightMap[cellKey] = updateHighlightFn;\n } else {\n delete this._updateHighlightFor[cellKey];\n }\n };\n\n this._setUpdatePropsFor = (cellKey, updatePropsFn) => {\n if (updatePropsFn != null) {\n this._updatePropsMap[cellKey] = updatePropsFn;\n } else {\n delete this._updatePropsMap[cellKey];\n }\n };\n\n this._updateHighlightMap = {};\n this._updatePropsMap = {};\n\n this._captureRef = ref => {\n this._listRef = ref;\n };\n }\n\n scrollToLocation(params) {\n var index = params.itemIndex;\n\n for (var i = 0; i < params.sectionIndex; i++) {\n index += this.props.getItemCount(this.props.sections[i].data) + 2;\n }\n\n var viewOffset = params.viewOffset || 0;\n\n if (this._listRef == null) {\n return;\n }\n\n if (params.itemIndex > 0 && this.props.stickySectionHeadersEnabled) {\n // $FlowFixMe[prop-missing] Cannot access private property\n var frame = this._listRef._getFrameMetricsApprox(index - params.itemIndex);\n\n viewOffset += frame.length;\n }\n\n var toIndexParams = _objectSpread(_objectSpread({}, params), {}, {\n viewOffset,\n index\n });\n\n this._listRef.scrollToIndex(toIndexParams);\n }\n\n getListRef() {\n return this._listRef;\n }\n\n render() {\n var _this$props = this.props,\n ItemSeparatorComponent = _this$props.ItemSeparatorComponent,\n SectionSeparatorComponent = _this$props.SectionSeparatorComponent,\n _renderItem = _this$props.renderItem,\n renderSectionFooter = _this$props.renderSectionFooter,\n renderSectionHeader = _this$props.renderSectionHeader,\n _sections = _this$props.sections,\n stickySectionHeadersEnabled = _this$props.stickySectionHeadersEnabled,\n passThroughProps = _objectWithoutPropertiesLoose(_this$props, _excluded);\n\n var listHeaderOffset = this.props.ListHeaderComponent ? 1 : 0;\n var stickyHeaderIndices = this.props.stickySectionHeadersEnabled ? [] : undefined;\n var itemCount = 0;\n\n for (var _iterator = _createForOfIteratorHelperLoose(this.props.sections), _step; !(_step = _iterator()).done;) {\n var section = _step.value;\n\n // Track the section header indices\n if (stickyHeaderIndices != null) {\n stickyHeaderIndices.push(itemCount + listHeaderOffset);\n } // Add two for the section header and footer.\n\n\n itemCount += 2;\n itemCount += this.props.getItemCount(section.data);\n }\n\n var renderItem = this._renderItem(itemCount);\n\n return /*#__PURE__*/React.createElement(VirtualizedList, _extends({}, passThroughProps, {\n keyExtractor: this._keyExtractor,\n stickyHeaderIndices: stickyHeaderIndices,\n renderItem: renderItem,\n data: this.props.sections,\n getItem: (sections, index) => this._getItem(this.props, sections, index),\n getItemCount: () => itemCount,\n onViewableItemsChanged: this.props.onViewableItemsChanged ? this._onViewableItemsChanged : undefined,\n ref: this._captureRef\n }));\n }\n\n _getItem(props, sections, index) {\n if (!sections) {\n return null;\n }\n\n var itemIdx = index - 1;\n\n for (var i = 0; i < sections.length; i++) {\n var section = sections[i];\n var sectionData = section.data;\n var itemCount = props.getItemCount(sectionData);\n\n if (itemIdx === -1 || itemIdx === itemCount) {\n // We intend for there to be overflow by one on both ends of the list.\n // This will be for headers and footers. When returning a header or footer\n // item the section itself is the item.\n return section;\n } else if (itemIdx < itemCount) {\n // If we are in the bounds of the list's data then return the item.\n return props.getItem(sectionData, itemIdx);\n } else {\n itemIdx -= itemCount + 2; // Add two for the header and footer\n }\n }\n\n return null;\n }\n\n _subExtractor(index) {\n var itemIndex = index;\n var _this$props2 = this.props,\n getItem = _this$props2.getItem,\n getItemCount = _this$props2.getItemCount,\n keyExtractor = _this$props2.keyExtractor,\n sections = _this$props2.sections;\n\n for (var i = 0; i < sections.length; i++) {\n var section = sections[i];\n var sectionData = section.data;\n var key = section.key || String(i);\n itemIndex -= 1; // The section adds an item for the header\n\n if (itemIndex >= getItemCount(sectionData) + 1) {\n itemIndex -= getItemCount(sectionData) + 1; // The section adds an item for the footer.\n } else if (itemIndex === -1) {\n return {\n section,\n key: key + ':header',\n index: null,\n header: true,\n trailingSection: sections[i + 1]\n };\n } else if (itemIndex === getItemCount(sectionData)) {\n return {\n section,\n key: key + ':footer',\n index: null,\n header: false,\n trailingSection: sections[i + 1]\n };\n } else {\n var extractor = section.keyExtractor || keyExtractor || defaultKeyExtractor;\n return {\n section,\n key: key + ':' + extractor(getItem(sectionData, itemIndex), itemIndex),\n index: itemIndex,\n leadingItem: getItem(sectionData, itemIndex - 1),\n leadingSection: sections[i - 1],\n trailingItem: getItem(sectionData, itemIndex + 1),\n trailingSection: sections[i + 1]\n };\n }\n }\n }\n\n _getSeparatorComponent(index, info, listItemCount) {\n info = info || this._subExtractor(index);\n\n if (!info) {\n return null;\n }\n\n var ItemSeparatorComponent = info.section.ItemSeparatorComponent || this.props.ItemSeparatorComponent;\n var SectionSeparatorComponent = this.props.SectionSeparatorComponent;\n var isLastItemInList = index === listItemCount - 1;\n var isLastItemInSection = info.index === this.props.getItemCount(info.section.data) - 1;\n\n if (SectionSeparatorComponent && isLastItemInSection) {\n return SectionSeparatorComponent;\n }\n\n if (ItemSeparatorComponent && !isLastItemInSection && !isLastItemInList) {\n return ItemSeparatorComponent;\n }\n\n return null;\n }\n\n}\n\nfunction ItemWithSeparator(props) {\n var LeadingSeparatorComponent = props.LeadingSeparatorComponent,\n SeparatorComponent = props.SeparatorComponent,\n cellKey = props.cellKey,\n prevCellKey = props.prevCellKey,\n setSelfHighlightCallback = props.setSelfHighlightCallback,\n updateHighlightFor = props.updateHighlightFor,\n setSelfUpdatePropsCallback = props.setSelfUpdatePropsCallback,\n updatePropsFor = props.updatePropsFor,\n item = props.item,\n index = props.index,\n section = props.section,\n inverted = props.inverted;\n\n var _React$useState = React.useState(false),\n leadingSeparatorHiglighted = _React$useState[0],\n setLeadingSeparatorHighlighted = _React$useState[1];\n\n var _React$useState2 = React.useState(false),\n separatorHighlighted = _React$useState2[0],\n setSeparatorHighlighted = _React$useState2[1];\n\n var _React$useState3 = React.useState({\n leadingItem: props.leadingItem,\n leadingSection: props.leadingSection,\n section: props.section,\n trailingItem: props.item,\n trailingSection: props.trailingSection\n }),\n leadingSeparatorProps = _React$useState3[0],\n setLeadingSeparatorProps = _React$useState3[1];\n\n var _React$useState4 = React.useState({\n leadingItem: props.item,\n leadingSection: props.leadingSection,\n section: props.section,\n trailingItem: props.trailingItem,\n trailingSection: props.trailingSection\n }),\n separatorProps = _React$useState4[0],\n setSeparatorProps = _React$useState4[1];\n\n React.useEffect(() => {\n setSelfHighlightCallback(cellKey, setSeparatorHighlighted);\n setSelfUpdatePropsCallback(cellKey, setSeparatorProps);\n return () => {\n setSelfUpdatePropsCallback(cellKey, null);\n setSelfHighlightCallback(cellKey, null);\n };\n }, [cellKey, setSelfHighlightCallback, setSeparatorProps, setSelfUpdatePropsCallback]);\n var separators = {\n highlight: () => {\n setLeadingSeparatorHighlighted(true);\n setSeparatorHighlighted(true);\n\n if (prevCellKey != null) {\n updateHighlightFor(prevCellKey, true);\n }\n },\n unhighlight: () => {\n setLeadingSeparatorHighlighted(false);\n setSeparatorHighlighted(false);\n\n if (prevCellKey != null) {\n updateHighlightFor(prevCellKey, false);\n }\n },\n updateProps: (select, newProps) => {\n if (select === 'leading') {\n if (LeadingSeparatorComponent != null) {\n setLeadingSeparatorProps(_objectSpread(_objectSpread({}, leadingSeparatorProps), newProps));\n } else if (prevCellKey != null) {\n // update the previous item's separator\n updatePropsFor(prevCellKey, _objectSpread(_objectSpread({}, leadingSeparatorProps), newProps));\n }\n } else if (select === 'trailing' && SeparatorComponent != null) {\n setSeparatorProps(_objectSpread(_objectSpread({}, separatorProps), newProps));\n }\n }\n };\n var element = props.renderItem({\n item,\n index,\n section,\n separators\n });\n var leadingSeparator = LeadingSeparatorComponent != null && /*#__PURE__*/React.createElement(LeadingSeparatorComponent, _extends({\n highlighted: leadingSeparatorHiglighted\n }, leadingSeparatorProps));\n var separator = SeparatorComponent != null && /*#__PURE__*/React.createElement(SeparatorComponent, _extends({\n highlighted: separatorHighlighted\n }, separatorProps));\n return leadingSeparator || separator ? /*#__PURE__*/React.createElement(View, null, inverted === false ? leadingSeparator : separator, element, inverted === false ? separator : leadingSeparator) : element;\n}\n\nexport default VirtualizedSectionList;","/**\n * Copyright (c) Meta Platforms, Inc. and 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 * @format\n * \n */\n'use strict';\n/*\n * @returns {bool} true if different, false if equal\n */\n\nvar deepDiffer = function deepDiffer(one, two, maxDepth) {\n if (maxDepth === void 0) {\n maxDepth = -1;\n }\n\n if (maxDepth === 0) {\n return true;\n }\n\n if (one === two) {\n // Short circuit on identical object references instead of traversing them.\n return false;\n }\n\n if (typeof one === 'function' && typeof two === 'function') {\n // We consider all functions equal\n return false;\n }\n\n if (typeof one !== 'object' || one === null) {\n // Primitives can be directly compared\n return one !== two;\n }\n\n if (typeof two !== 'object' || two === null) {\n // We know they are different because the previous case would have triggered\n // otherwise.\n return true;\n }\n\n if (one.constructor !== two.constructor) {\n return true;\n }\n\n if (Array.isArray(one)) {\n // We know two is also an array because the constructors are equal\n var len = one.length;\n\n if (two.length !== len) {\n return true;\n }\n\n for (var ii = 0; ii < len; ii++) {\n if (deepDiffer(one[ii], two[ii], maxDepth - 1)) {\n return true;\n }\n }\n } else {\n for (var key in one) {\n if (deepDiffer(one[key], two[key], maxDepth - 1)) {\n return true;\n }\n }\n\n for (var twoKey in two) {\n // The only case we haven't checked yet is keys that are in two but aren't\n // in one, which means they are different.\n if (one[twoKey] === undefined && two[twoKey] !== undefined) {\n return true;\n }\n }\n }\n\n return false;\n};\n\nexport default deepDiffer;","/**\n * Copyright (c) Meta Platforms, Inc. and 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 * @format\n */\n'use strict';\n\nimport EventEmitter from './_EventEmitter';\nexport default EventEmitter;","/**\n * Copyright (c) Meta Platforms, Inc. and 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 * @format\n * \n */\n'use strict';\n\nimport _EventSubscription from './_EventSubscription';\n\n/**\n * EmitterSubscription represents a subscription with listener and context data.\n */\nclass EmitterSubscription extends _EventSubscription {\n /**\n * @param {EventEmitter} emitter - The event emitter that registered this\n * subscription\n * @param {EventSubscriptionVendor} subscriber - The subscriber that controls\n * this subscription\n * @param {function} listener - Function to invoke when the specified event is\n * emitted\n * @param {*} context - Optional context object to use when invoking the\n * listener\n */\n constructor(emitter, subscriber, listener, context) {\n super(subscriber);\n this.emitter = emitter;\n this.listener = listener;\n this.context = context;\n }\n /**\n * Removes this subscription from the emitter that registered it.\n * Note: we're overriding the `remove()` method of _EventSubscription here\n * but deliberately not calling `super.remove()` as the responsibility\n * for removing the subscription lies with the EventEmitter.\n */\n\n\n remove() {\n this.emitter.removeSubscription(this);\n }\n\n}\n\nexport default EmitterSubscription;","/**\n * Copyright (c) Meta Platforms, Inc. and 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 * @format\n * \n * @typecheck\n */\nimport invariant from 'fbjs/lib/invariant';\nimport EmitterSubscription from './_EmitterSubscription';\nimport EventSubscriptionVendor from './_EventSubscriptionVendor';\n\nvar sparseFilterPredicate = () => true;\n\n/**\n * @class EventEmitter\n * @description\n * An EventEmitter is responsible for managing a set of listeners and publishing\n * events to them when it is told that such events happened. In addition to the\n * data for the given event it also sends a event control object which allows\n * the listeners/handlers to prevent the default behavior of the given event.\n *\n * The emitter is designed to be generic enough to support all the different\n * contexts in which one might want to emit events. It is a simple multicast\n * mechanism on top of which extra functionality can be composed. For example, a\n * more advanced emitter may use an EventHolder and EventFactory.\n */\nclass EventEmitter {\n /**\n * @constructor\n *\n * @param {EventSubscriptionVendor} subscriber - Optional subscriber instance\n * to use. If omitted, a new subscriber will be created for the emitter.\n */\n constructor(subscriber) {\n this._subscriber = subscriber || new EventSubscriptionVendor();\n }\n /**\n * Adds a listener to be invoked when events of the specified type are\n * emitted. An optional calling context may be provided. The data arguments\n * emitted will be passed to the listener function.\n *\n * TODO: Annotate the listener arg's type. This is tricky because listeners\n * can be invoked with varargs.\n *\n * @param {string} eventType - Name of the event to listen to\n * @param {function} listener - Function to invoke when the specified event is\n * emitted\n * @param {*} context - Optional context object to use when invoking the\n * listener\n */\n\n\n addListener(eventType, // FIXME: listeners should return void instead of mixed to prevent issues\n listener, context) {\n return this._subscriber.addSubscription(eventType, new EmitterSubscription(this, this._subscriber, listener, context));\n }\n /**\n * Removes all of the registered listeners, including those registered as\n * listener maps.\n *\n * @param {?string} eventType - Optional name of the event whose registered\n * listeners to remove\n */\n\n\n removeAllListeners(eventType) {\n this._subscriber.removeAllSubscriptions(eventType);\n }\n /**\n * @deprecated Use `remove` on the EventSubscription from `addListener`.\n */\n\n\n removeSubscription(subscription) {\n invariant(subscription.emitter === this, 'Subscription does not belong to this emitter.');\n\n this._subscriber.removeSubscription(subscription);\n }\n /**\n * Returns the number of listeners that are currently registered for the given\n * event.\n *\n * @param {string} eventType - Name of the event to query\n * @returns {number}\n */\n\n\n listenerCount(eventType) {\n var subscriptions = this._subscriber.getSubscriptionsForType(eventType);\n\n return subscriptions ? // We filter out missing entries because the array is sparse.\n // \"callbackfn is called only for elements of the array which actually\n // exist; it is not called for missing elements of the array.\"\n // https://www.ecma-international.org/ecma-262/9.0/index.html#sec-array.prototype.filter\n subscriptions.filter(sparseFilterPredicate).length : 0;\n }\n /**\n * Emits an event of the given type with the given data. All handlers of that\n * particular type will be notified.\n *\n * @param {string} eventType - Name of the event to emit\n * @param {...*} Arbitrary arguments to be passed to each registered listener\n *\n * @example\n * emitter.addListener('someEvent', function(message) {\n * console.log(message);\n * });\n *\n * emitter.emit('someEvent', 'abc'); // logs 'abc'\n */\n\n\n emit(eventType) {\n var subscriptions = this._subscriber.getSubscriptionsForType(eventType);\n\n if (subscriptions) {\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 for (var i = 0, l = subscriptions.length; i < l; i++) {\n var subscription = subscriptions[i]; // The subscription may have been removed during this event loop.\n\n if (subscription && subscription.listener) {\n subscription.listener.apply(subscription.context, args);\n }\n }\n }\n }\n /**\n * @deprecated Use `remove` on the EventSubscription from `addListener`.\n */\n\n\n removeListener(eventType, // FIXME: listeners should return void instead of mixed to prevent issues\n listener) {\n console.error(\"EventEmitter.removeListener('\" + eventType + \"', ...): Method has been \" + 'deprecated. Please instead use `remove()` on the subscription ' + 'returned by `EventEmitter.addListener`.');\n\n var subscriptions = this._subscriber.getSubscriptionsForType(eventType);\n\n if (subscriptions) {\n for (var i = 0, l = subscriptions.length; i < l; i++) {\n var subscription = subscriptions[i]; // The subscription may have been removed during this event loop.\n // its listener matches the listener in method parameters\n\n if (subscription && subscription.listener === listener) {\n subscription.remove();\n }\n }\n }\n }\n\n}\n\nexport default EventEmitter;","/**\n * Copyright (c) Meta Platforms, Inc. and 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 * @format\n * \n */\n'use strict';\n\n/**\n * EventSubscription represents a subscription to a particular event. It can\n * remove its own subscription.\n */\nclass _EventSubscription {\n /**\n * @param {EventSubscriptionVendor} subscriber the subscriber that controls\n * this subscription.\n */\n constructor(subscriber) {\n this.subscriber = subscriber;\n }\n /**\n * Removes this subscription from the subscriber that controls it.\n */\n\n\n remove() {\n this.subscriber.removeSubscription(this);\n }\n\n}\n\nexport default _EventSubscription;","/**\n * Copyright (c) Meta Platforms, Inc. and 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 * @format\n * \n */\n'use strict';\n\nimport invariant from 'fbjs/lib/invariant';\n\n/**\n * EventSubscriptionVendor stores a set of EventSubscriptions that are\n * subscribed to a particular event type.\n */\nclass EventSubscriptionVendor {\n constructor() {\n this._subscriptionsForType = {};\n }\n /**\n * Adds a subscription keyed by an event type.\n *\n * @param {string} eventType\n * @param {EventSubscription} subscription\n */\n\n\n addSubscription(eventType, subscription) {\n invariant(subscription.subscriber === this, 'The subscriber of the subscription is incorrectly set.');\n\n if (!this._subscriptionsForType[eventType]) {\n this._subscriptionsForType[eventType] = [];\n }\n\n var key = this._subscriptionsForType[eventType].length;\n\n this._subscriptionsForType[eventType].push(subscription);\n\n subscription.eventType = eventType;\n subscription.key = key;\n return subscription;\n }\n /**\n * Removes a bulk set of the subscriptions.\n *\n * @param {?string} eventType - Optional name of the event type whose\n * registered supscriptions to remove, if null remove all subscriptions.\n */\n\n\n removeAllSubscriptions(eventType) {\n if (eventType == null) {\n this._subscriptionsForType = {};\n } else {\n delete this._subscriptionsForType[eventType];\n }\n }\n /**\n * Removes a specific subscription. Instead of calling this function, call\n * `subscription.remove()` directly.\n *\n * @param {object} subscription\n */\n\n\n removeSubscription(subscription) {\n var eventType = subscription.eventType;\n var key = subscription.key;\n var subscriptionsForType = this._subscriptionsForType[eventType];\n\n if (subscriptionsForType) {\n delete subscriptionsForType[key];\n }\n }\n /**\n * Returns the array of subscriptions that are currently registered for the\n * given event type.\n *\n * Note: This array can be potentially sparse as subscriptions are deleted\n * from it when they are removed.\n *\n * TODO: This returns a nullable array. wat?\n *\n * @param {string} eventType\n * @returns {?array}\n */\n\n\n getSubscriptionsForType(eventType) {\n return this._subscriptionsForType[eventType];\n }\n\n}\n\nexport default EventSubscriptionVendor;","/**\n * Copyright (c) Meta Platforms, Inc. and 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';\n/**\n * Intentional info-level logging for clear separation from ad-hoc console debug logging.\n */\n\nfunction infoLog() {\n return console.log(...arguments);\n}\n\nexport default infoLog;","\"use strict\";\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 */\nfunction makeEmptyFunction(arg) {\n return function () {\n return arg;\n };\n}\n/**\n * This function accepts and discards inputs; it has no side effects. This is\n * primarily useful idiomatically for overridable function endpoints which\n * always need to be callable, since JS lacks a null-call idiom ala Cocoa.\n */\n\n\nvar emptyFunction = function emptyFunction() {};\n\nemptyFunction.thatReturns = makeEmptyFunction;\nemptyFunction.thatReturnsFalse = makeEmptyFunction(false);\nemptyFunction.thatReturnsTrue = makeEmptyFunction(true);\nemptyFunction.thatReturnsNull = makeEmptyFunction(null);\n\nemptyFunction.thatReturnsThis = function () {\n return this;\n};\n\nemptyFunction.thatReturnsArgument = function (arg) {\n return arg;\n};\n\nmodule.exports = emptyFunction;","/**\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 */\n'use strict';\n\nvar validateFormat = process.env.NODE_ENV !== \"production\" ? function (format) {\n if (format === undefined) {\n throw new Error('invariant(...): Second argument must be a string.');\n }\n} : function (format) {};\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 to provide\n * information about what broke and what you were expecting.\n *\n * The invariant message will be stripped in production, but the invariant will\n * remain to ensure logic does not differ in production.\n */\n\nfunction invariant(condition, format) {\n for (var _len = arguments.length, args = new Array(_len > 2 ? _len - 2 : 0), _key = 2; _key < _len; _key++) {\n args[_key - 2] = arguments[_key];\n }\n\n validateFormat(format);\n\n if (!condition) {\n var error;\n\n if (format === undefined) {\n error = new Error('Minified exception occurred; use the non-minified dev environment ' + 'for the full error message and additional helpful warnings.');\n } else {\n var argIndex = 0;\n error = new Error(format.replace(/%s/g, function () {\n return String(args[argIndex++]);\n }));\n error.name = 'Invariant Violation';\n }\n\n error.framesToPop = 1; // Skip invariant's own stack frame.\n\n throw error;\n }\n}\n\nmodule.exports = invariant;","/**\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 */\n'use strict';\n\nvar emptyFunction = require(\"./emptyFunction\");\n/**\n * Similar to invariant but only logs a warning if the condition is not met.\n * This can be used to log issues in development environments in critical\n * paths. Removing the logging code for production environments will keep the\n * same logic and follow the same code paths.\n */\n\n\nfunction printWarning(format) {\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 argIndex = 0;\n var message = 'Warning: ' + format.replace(/%s/g, function () {\n return args[argIndex++];\n });\n\n if (typeof console !== 'undefined') {\n console.error(message);\n }\n\n try {\n // --- Welcome to debugging React ---\n // This error was thrown as a convenience so that you can use this stack\n // to find the callsite that caused this warning to fire.\n throw new Error(message);\n } catch (x) {}\n}\n\nvar warning = process.env.NODE_ENV !== \"production\" ? function (condition, format) {\n if (format === undefined) {\n throw new Error('`warning(condition, format, ...args)` requires a warning ' + 'message argument');\n }\n\n if (!condition) {\n for (var _len2 = arguments.length, args = new Array(_len2 > 2 ? _len2 - 2 : 0), _key2 = 2; _key2 < _len2; _key2++) {\n args[_key2 - 2] = arguments[_key2];\n }\n\n printWarning.apply(void 0, [format].concat(args));\n }\n} : emptyFunction;\nmodule.exports = warning;","import _inheritsLoose from \"@babel/runtime/helpers/esm/inheritsLoose\";\nimport React, { Component, Children } from 'react';\nimport PropTypes from 'prop-types';\nimport { storeShape, subscriptionShape } from '../utils/PropTypes';\nimport warning from '../utils/warning';\nvar prefixUnsafeLifecycleMethods = typeof React.forwardRef !== \"undefined\";\nvar didWarnAboutReceivingStore = false;\n\nfunction warnAboutReceivingStore() {\n if (didWarnAboutReceivingStore) {\n return;\n }\n\n didWarnAboutReceivingStore = true;\n warning(' does not support changing `store` on the fly. ' + 'It is most likely that you see this error because you updated to ' + 'Redux 2.x and React Redux 2.x which no longer hot reload reducers ' + 'automatically. See https://github.com/reduxjs/react-redux/releases/' + 'tag/v2.0.0 for the migration instructions.');\n}\n\nexport function createProvider(storeKey) {\n var _Provider$childContex;\n\n if (storeKey === void 0) {\n storeKey = 'store';\n }\n\n var subscriptionKey = storeKey + \"Subscription\";\n\n var Provider =\n /*#__PURE__*/\n function (_Component) {\n _inheritsLoose(Provider, _Component);\n\n var _proto = Provider.prototype;\n\n _proto.getChildContext = function getChildContext() {\n var _ref;\n\n return _ref = {}, _ref[storeKey] = this[storeKey], _ref[subscriptionKey] = null, _ref;\n };\n\n function Provider(props, context) {\n var _this;\n\n _this = _Component.call(this, props, context) || this;\n _this[storeKey] = props.store;\n return _this;\n }\n\n _proto.render = function render() {\n return Children.only(this.props.children);\n };\n\n return Provider;\n }(Component);\n\n if (process.env.NODE_ENV !== 'production') {\n // Use UNSAFE_ event name where supported\n var eventName = prefixUnsafeLifecycleMethods ? 'UNSAFE_componentWillReceiveProps' : 'componentWillReceiveProps';\n\n Provider.prototype[eventName] = function (nextProps) {\n if (this[storeKey] !== nextProps.store) {\n warnAboutReceivingStore();\n }\n };\n }\n\n Provider.propTypes = {\n store: storeShape.isRequired,\n children: PropTypes.element.isRequired\n };\n Provider.childContextTypes = (_Provider$childContex = {}, _Provider$childContex[storeKey] = storeShape.isRequired, _Provider$childContex[subscriptionKey] = subscriptionShape, _Provider$childContex);\n return Provider;\n}\nexport default createProvider();","import _inheritsLoose from \"@babel/runtime/helpers/esm/inheritsLoose\";\nimport _assertThisInitialized from \"@babel/runtime/helpers/esm/assertThisInitialized\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport hoistStatics from 'hoist-non-react-statics';\nimport invariant from 'invariant';\nimport React, { Component, createElement } from 'react';\nimport { isValidElementType } from 'react-is';\nimport Subscription from '../utils/Subscription';\nimport { storeShape, subscriptionShape } from '../utils/PropTypes';\nvar prefixUnsafeLifecycleMethods = typeof React.forwardRef !== \"undefined\";\nvar hotReloadingVersion = 0;\nvar dummyState = {};\n\nfunction noop() {}\n\nfunction makeSelectorStateful(sourceSelector, store) {\n // wrap the selector in an object that tracks its results between runs.\n var selector = {\n run: function runComponentSelector(props) {\n try {\n var nextProps = sourceSelector(store.getState(), props);\n\n if (nextProps !== selector.props || selector.error) {\n selector.shouldComponentUpdate = true;\n selector.props = nextProps;\n selector.error = null;\n }\n } catch (error) {\n selector.shouldComponentUpdate = true;\n selector.error = error;\n }\n }\n };\n return selector;\n}\n\nexport default function connectAdvanced(\n/*\n selectorFactory is a func that is responsible for returning the selector function used to\n compute new props from state, props, and dispatch. For example:\n export default connectAdvanced((dispatch, options) => (state, props) => ({\n thing: state.things[props.thingId],\n saveThing: fields => dispatch(actionCreators.saveThing(props.thingId, fields)),\n }))(YourComponent)\n Access to dispatch is provided to the factory so selectorFactories can bind actionCreators\n outside of their selector as an optimization. Options passed to connectAdvanced are passed to\n the selectorFactory, along with displayName and WrappedComponent, as the second argument.\n Note that selectorFactory is responsible for all caching/memoization of inbound and outbound\n props. Do not use connectAdvanced directly without memoizing results between calls to your\n selector, otherwise the Connect component will re-render on every state or props change.\n*/\nselectorFactory, // options object:\n_ref) {\n var _contextTypes, _childContextTypes;\n\n if (_ref === void 0) {\n _ref = {};\n }\n\n var _ref2 = _ref,\n _ref2$getDisplayName = _ref2.getDisplayName,\n getDisplayName = _ref2$getDisplayName === void 0 ? function (name) {\n return \"ConnectAdvanced(\" + name + \")\";\n } : _ref2$getDisplayName,\n _ref2$methodName = _ref2.methodName,\n methodName = _ref2$methodName === void 0 ? 'connectAdvanced' : _ref2$methodName,\n _ref2$renderCountProp = _ref2.renderCountProp,\n renderCountProp = _ref2$renderCountProp === void 0 ? undefined : _ref2$renderCountProp,\n _ref2$shouldHandleSta = _ref2.shouldHandleStateChanges,\n shouldHandleStateChanges = _ref2$shouldHandleSta === void 0 ? true : _ref2$shouldHandleSta,\n _ref2$storeKey = _ref2.storeKey,\n storeKey = _ref2$storeKey === void 0 ? 'store' : _ref2$storeKey,\n _ref2$withRef = _ref2.withRef,\n withRef = _ref2$withRef === void 0 ? false : _ref2$withRef,\n connectOptions = _objectWithoutPropertiesLoose(_ref2, [\"getDisplayName\", \"methodName\", \"renderCountProp\", \"shouldHandleStateChanges\", \"storeKey\", \"withRef\"]);\n\n var subscriptionKey = storeKey + 'Subscription';\n var version = hotReloadingVersion++;\n var contextTypes = (_contextTypes = {}, _contextTypes[storeKey] = storeShape, _contextTypes[subscriptionKey] = subscriptionShape, _contextTypes);\n var childContextTypes = (_childContextTypes = {}, _childContextTypes[subscriptionKey] = subscriptionShape, _childContextTypes);\n return function wrapWithConnect(WrappedComponent) {\n invariant(isValidElementType(WrappedComponent), \"You must pass a component to the function returned by \" + (methodName + \". Instead received \" + JSON.stringify(WrappedComponent)));\n var wrappedComponentName = WrappedComponent.displayName || WrappedComponent.name || 'Component';\n var displayName = getDisplayName(wrappedComponentName);\n\n var selectorFactoryOptions = _extends({}, connectOptions, {\n getDisplayName: getDisplayName,\n methodName: methodName,\n renderCountProp: renderCountProp,\n shouldHandleStateChanges: shouldHandleStateChanges,\n storeKey: storeKey,\n withRef: withRef,\n displayName: displayName,\n wrappedComponentName: wrappedComponentName,\n WrappedComponent: WrappedComponent // TODO Actually fix our use of componentWillReceiveProps\n\n /* eslint-disable react/no-deprecated */\n\n });\n\n var Connect =\n /*#__PURE__*/\n function (_Component) {\n _inheritsLoose(Connect, _Component);\n\n function Connect(props, context) {\n var _this;\n\n _this = _Component.call(this, props, context) || this;\n _this.version = version;\n _this.state = {};\n _this.renderCount = 0;\n _this.store = props[storeKey] || context[storeKey];\n _this.propsMode = Boolean(props[storeKey]);\n _this.setWrappedInstance = _this.setWrappedInstance.bind(_assertThisInitialized(_assertThisInitialized(_this)));\n invariant(_this.store, \"Could not find \\\"\" + storeKey + \"\\\" in either the context or props of \" + (\"\\\"\" + displayName + \"\\\". Either wrap the root component in a , \") + (\"or explicitly pass \\\"\" + storeKey + \"\\\" as a prop to \\\"\" + displayName + \"\\\".\"));\n\n _this.initSelector();\n\n _this.initSubscription();\n\n return _this;\n }\n\n var _proto = Connect.prototype;\n\n _proto.getChildContext = function getChildContext() {\n var _ref3;\n\n // If this component received store from props, its subscription should be transparent\n // to any descendants receiving store+subscription from context; it passes along\n // subscription passed to it. Otherwise, it shadows the parent subscription, which allows\n // Connect to control ordering of notifications to flow top-down.\n var subscription = this.propsMode ? null : this.subscription;\n return _ref3 = {}, _ref3[subscriptionKey] = subscription || this.context[subscriptionKey], _ref3;\n };\n\n _proto.componentDidMount = function componentDidMount() {\n if (!shouldHandleStateChanges) return; // componentWillMount fires during server side rendering, but componentDidMount and\n // componentWillUnmount do not. Because of this, trySubscribe happens during ...didMount.\n // Otherwise, unsubscription would never take place during SSR, causing a memory leak.\n // To handle the case where a child component may have triggered a state change by\n // dispatching an action in its componentWillMount, we have to re-run the select and maybe\n // re-render.\n\n this.subscription.trySubscribe();\n this.selector.run(this.props);\n if (this.selector.shouldComponentUpdate) this.forceUpdate();\n }; // Note: this is renamed below to the UNSAFE_ version in React >=16.3.0\n\n\n _proto.componentWillReceiveProps = function componentWillReceiveProps(nextProps) {\n this.selector.run(nextProps);\n };\n\n _proto.shouldComponentUpdate = function shouldComponentUpdate() {\n return this.selector.shouldComponentUpdate;\n };\n\n _proto.componentWillUnmount = function componentWillUnmount() {\n if (this.subscription) this.subscription.tryUnsubscribe();\n this.subscription = null;\n this.notifyNestedSubs = noop;\n this.store = null;\n this.selector.run = noop;\n this.selector.shouldComponentUpdate = false;\n };\n\n _proto.getWrappedInstance = function getWrappedInstance() {\n invariant(withRef, \"To access the wrapped instance, you need to specify \" + (\"{ withRef: true } in the options argument of the \" + methodName + \"() call.\"));\n return this.wrappedInstance;\n };\n\n _proto.setWrappedInstance = function setWrappedInstance(ref) {\n this.wrappedInstance = ref;\n };\n\n _proto.initSelector = function initSelector() {\n var sourceSelector = selectorFactory(this.store.dispatch, selectorFactoryOptions);\n this.selector = makeSelectorStateful(sourceSelector, this.store);\n this.selector.run(this.props);\n };\n\n _proto.initSubscription = function initSubscription() {\n if (!shouldHandleStateChanges) return; // parentSub's source should match where store came from: props vs. context. A component\n // connected to the store via props shouldn't use subscription from context, or vice versa.\n\n var parentSub = (this.propsMode ? this.props : this.context)[subscriptionKey];\n this.subscription = new Subscription(this.store, parentSub, this.onStateChange.bind(this)); // `notifyNestedSubs` is duplicated to handle the case where the component is unmounted in\n // the middle of the notification loop, where `this.subscription` will then be null. An\n // extra null check every change can be avoided by copying the method onto `this` and then\n // replacing it with a no-op on unmount. This can probably be avoided if Subscription's\n // listeners logic is changed to not call listeners that have been unsubscribed in the\n // middle of the notification loop.\n\n this.notifyNestedSubs = this.subscription.notifyNestedSubs.bind(this.subscription);\n };\n\n _proto.onStateChange = function onStateChange() {\n this.selector.run(this.props);\n\n if (!this.selector.shouldComponentUpdate) {\n this.notifyNestedSubs();\n } else {\n this.componentDidUpdate = this.notifyNestedSubsOnComponentDidUpdate;\n this.setState(dummyState);\n }\n };\n\n _proto.notifyNestedSubsOnComponentDidUpdate = function notifyNestedSubsOnComponentDidUpdate() {\n // `componentDidUpdate` is conditionally implemented when `onStateChange` determines it\n // needs to notify nested subs. Once called, it unimplements itself until further state\n // changes occur. Doing it this way vs having a permanent `componentDidUpdate` that does\n // a boolean check every time avoids an extra method call most of the time, resulting\n // in some perf boost.\n this.componentDidUpdate = undefined;\n this.notifyNestedSubs();\n };\n\n _proto.isSubscribed = function isSubscribed() {\n return Boolean(this.subscription) && this.subscription.isSubscribed();\n };\n\n _proto.addExtraProps = function addExtraProps(props) {\n if (!withRef && !renderCountProp && !(this.propsMode && this.subscription)) return props; // make a shallow copy so that fields added don't leak to the original selector.\n // this is especially important for 'ref' since that's a reference back to the component\n // instance. a singleton memoized selector would then be holding a reference to the\n // instance, preventing the instance from being garbage collected, and that would be bad\n\n var withExtras = _extends({}, props);\n\n if (withRef) withExtras.ref = this.setWrappedInstance;\n if (renderCountProp) withExtras[renderCountProp] = this.renderCount++;\n if (this.propsMode && this.subscription) withExtras[subscriptionKey] = this.subscription;\n return withExtras;\n };\n\n _proto.render = function render() {\n var selector = this.selector;\n selector.shouldComponentUpdate = false;\n\n if (selector.error) {\n throw selector.error;\n } else {\n return createElement(WrappedComponent, this.addExtraProps(selector.props));\n }\n };\n\n return Connect;\n }(Component);\n\n if (prefixUnsafeLifecycleMethods) {\n // Use UNSAFE_ event name where supported\n Connect.prototype.UNSAFE_componentWillReceiveProps = Connect.prototype.componentWillReceiveProps;\n delete Connect.prototype.componentWillReceiveProps;\n }\n /* eslint-enable react/no-deprecated */\n\n\n Connect.WrappedComponent = WrappedComponent;\n Connect.displayName = displayName;\n Connect.childContextTypes = childContextTypes;\n Connect.contextTypes = contextTypes;\n Connect.propTypes = contextTypes;\n\n if (process.env.NODE_ENV !== 'production') {\n // Use UNSAFE_ event name where supported\n var eventName = prefixUnsafeLifecycleMethods ? 'UNSAFE_componentWillUpdate' : 'componentWillUpdate';\n\n Connect.prototype[eventName] = function componentWillUpdate() {\n var _this2 = this;\n\n // We are hot reloading!\n if (this.version !== version) {\n this.version = version;\n this.initSelector(); // If any connected descendants don't hot reload (and resubscribe in the process), their\n // listeners will be lost when we unsubscribe. Unfortunately, by copying over all\n // listeners, this does mean that the old versions of connected descendants will still be\n // notified of state changes; however, their onStateChange function is a no-op so this\n // isn't a huge deal.\n\n var oldListeners = [];\n\n if (this.subscription) {\n oldListeners = this.subscription.listeners.get();\n this.subscription.tryUnsubscribe();\n }\n\n this.initSubscription();\n\n if (shouldHandleStateChanges) {\n this.subscription.trySubscribe();\n oldListeners.forEach(function (listener) {\n return _this2.subscription.listeners.subscribe(listener);\n });\n }\n }\n };\n }\n\n return hoistStatics(Connect, WrappedComponent);\n };\n}","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport connectAdvanced from '../components/connectAdvanced';\nimport shallowEqual from '../utils/shallowEqual';\nimport defaultMapDispatchToPropsFactories from './mapDispatchToProps';\nimport defaultMapStateToPropsFactories from './mapStateToProps';\nimport defaultMergePropsFactories from './mergeProps';\nimport defaultSelectorFactory from './selectorFactory';\n/*\n connect is a facade over connectAdvanced. It turns its args into a compatible\n selectorFactory, which has the signature:\n\n (dispatch, options) => (nextState, nextOwnProps) => nextFinalProps\n \n connect passes its args to connectAdvanced as options, which will in turn pass them to\n selectorFactory each time a Connect component instance is instantiated or hot reloaded.\n\n selectorFactory returns a final props selector from its mapStateToProps,\n mapStateToPropsFactories, mapDispatchToProps, mapDispatchToPropsFactories, mergeProps,\n mergePropsFactories, and pure args.\n\n The resulting final props selector is called by the Connect component instance whenever\n it receives new props or store state.\n */\n\nfunction match(arg, factories, name) {\n for (var i = factories.length - 1; i >= 0; i--) {\n var result = factories[i](arg);\n if (result) return result;\n }\n\n return function (dispatch, options) {\n throw new Error(\"Invalid value of type \" + typeof arg + \" for \" + name + \" argument when connecting component \" + options.wrappedComponentName + \".\");\n };\n}\n\nfunction strictEqual(a, b) {\n return a === b;\n} // createConnect with default args builds the 'official' connect behavior. Calling it with\n// different options opens up some testing and extensibility scenarios\n\n\nexport function createConnect(_temp) {\n var _ref = _temp === void 0 ? {} : _temp,\n _ref$connectHOC = _ref.connectHOC,\n connectHOC = _ref$connectHOC === void 0 ? connectAdvanced : _ref$connectHOC,\n _ref$mapStateToPropsF = _ref.mapStateToPropsFactories,\n mapStateToPropsFactories = _ref$mapStateToPropsF === void 0 ? defaultMapStateToPropsFactories : _ref$mapStateToPropsF,\n _ref$mapDispatchToPro = _ref.mapDispatchToPropsFactories,\n mapDispatchToPropsFactories = _ref$mapDispatchToPro === void 0 ? defaultMapDispatchToPropsFactories : _ref$mapDispatchToPro,\n _ref$mergePropsFactor = _ref.mergePropsFactories,\n mergePropsFactories = _ref$mergePropsFactor === void 0 ? defaultMergePropsFactories : _ref$mergePropsFactor,\n _ref$selectorFactory = _ref.selectorFactory,\n selectorFactory = _ref$selectorFactory === void 0 ? defaultSelectorFactory : _ref$selectorFactory;\n\n return function connect(mapStateToProps, mapDispatchToProps, mergeProps, _ref2) {\n if (_ref2 === void 0) {\n _ref2 = {};\n }\n\n var _ref3 = _ref2,\n _ref3$pure = _ref3.pure,\n pure = _ref3$pure === void 0 ? true : _ref3$pure,\n _ref3$areStatesEqual = _ref3.areStatesEqual,\n areStatesEqual = _ref3$areStatesEqual === void 0 ? strictEqual : _ref3$areStatesEqual,\n _ref3$areOwnPropsEqua = _ref3.areOwnPropsEqual,\n areOwnPropsEqual = _ref3$areOwnPropsEqua === void 0 ? shallowEqual : _ref3$areOwnPropsEqua,\n _ref3$areStatePropsEq = _ref3.areStatePropsEqual,\n areStatePropsEqual = _ref3$areStatePropsEq === void 0 ? shallowEqual : _ref3$areStatePropsEq,\n _ref3$areMergedPropsE = _ref3.areMergedPropsEqual,\n areMergedPropsEqual = _ref3$areMergedPropsE === void 0 ? shallowEqual : _ref3$areMergedPropsE,\n extraOptions = _objectWithoutPropertiesLoose(_ref3, [\"pure\", \"areStatesEqual\", \"areOwnPropsEqual\", \"areStatePropsEqual\", \"areMergedPropsEqual\"]);\n\n var initMapStateToProps = match(mapStateToProps, mapStateToPropsFactories, 'mapStateToProps');\n var initMapDispatchToProps = match(mapDispatchToProps, mapDispatchToPropsFactories, 'mapDispatchToProps');\n var initMergeProps = match(mergeProps, mergePropsFactories, 'mergeProps');\n return connectHOC(selectorFactory, _extends({\n // used in error messages\n methodName: 'connect',\n // used to compute Connect's displayName from the wrapped component's displayName.\n getDisplayName: function getDisplayName(name) {\n return \"Connect(\" + name + \")\";\n },\n // if mapStateToProps is falsy, the Connect component doesn't subscribe to store state changes\n shouldHandleStateChanges: Boolean(mapStateToProps),\n // passed through to selectorFactory\n initMapStateToProps: initMapStateToProps,\n initMapDispatchToProps: initMapDispatchToProps,\n initMergeProps: initMergeProps,\n pure: pure,\n areStatesEqual: areStatesEqual,\n areOwnPropsEqual: areOwnPropsEqual,\n areStatePropsEqual: areStatePropsEqual,\n areMergedPropsEqual: areMergedPropsEqual\n }, extraOptions));\n };\n}\nexport default createConnect();","import { bindActionCreators } from 'redux';\nimport { wrapMapToPropsConstant, wrapMapToPropsFunc } from './wrapMapToProps';\nexport function whenMapDispatchToPropsIsFunction(mapDispatchToProps) {\n return typeof mapDispatchToProps === 'function' ? wrapMapToPropsFunc(mapDispatchToProps, 'mapDispatchToProps') : undefined;\n}\nexport function whenMapDispatchToPropsIsMissing(mapDispatchToProps) {\n return !mapDispatchToProps ? wrapMapToPropsConstant(function (dispatch) {\n return {\n dispatch: dispatch\n };\n }) : undefined;\n}\nexport function whenMapDispatchToPropsIsObject(mapDispatchToProps) {\n return mapDispatchToProps && typeof mapDispatchToProps === 'object' ? wrapMapToPropsConstant(function (dispatch) {\n return bindActionCreators(mapDispatchToProps, dispatch);\n }) : undefined;\n}\nexport default [whenMapDispatchToPropsIsFunction, whenMapDispatchToPropsIsMissing, whenMapDispatchToPropsIsObject];","import { wrapMapToPropsConstant, wrapMapToPropsFunc } from './wrapMapToProps';\nexport function whenMapStateToPropsIsFunction(mapStateToProps) {\n return typeof mapStateToProps === 'function' ? wrapMapToPropsFunc(mapStateToProps, 'mapStateToProps') : undefined;\n}\nexport function whenMapStateToPropsIsMissing(mapStateToProps) {\n return !mapStateToProps ? wrapMapToPropsConstant(function () {\n return {};\n }) : undefined;\n}\nexport default [whenMapStateToPropsIsFunction, whenMapStateToPropsIsMissing];","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport verifyPlainObject from '../utils/verifyPlainObject';\nexport function defaultMergeProps(stateProps, dispatchProps, ownProps) {\n return _extends({}, ownProps, stateProps, dispatchProps);\n}\nexport function wrapMergePropsFunc(mergeProps) {\n return function initMergePropsProxy(dispatch, _ref) {\n var displayName = _ref.displayName,\n pure = _ref.pure,\n areMergedPropsEqual = _ref.areMergedPropsEqual;\n var hasRunOnce = false;\n var mergedProps;\n return function mergePropsProxy(stateProps, dispatchProps, ownProps) {\n var nextMergedProps = mergeProps(stateProps, dispatchProps, ownProps);\n\n if (hasRunOnce) {\n if (!pure || !areMergedPropsEqual(nextMergedProps, mergedProps)) mergedProps = nextMergedProps;\n } else {\n hasRunOnce = true;\n mergedProps = nextMergedProps;\n if (process.env.NODE_ENV !== 'production') verifyPlainObject(mergedProps, displayName, 'mergeProps');\n }\n\n return mergedProps;\n };\n };\n}\nexport function whenMergePropsIsFunction(mergeProps) {\n return typeof mergeProps === 'function' ? wrapMergePropsFunc(mergeProps) : undefined;\n}\nexport function whenMergePropsIsOmitted(mergeProps) {\n return !mergeProps ? function () {\n return defaultMergeProps;\n } : undefined;\n}\nexport default [whenMergePropsIsFunction, whenMergePropsIsOmitted];","import _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport verifySubselectors from './verifySubselectors';\nexport function impureFinalPropsSelectorFactory(mapStateToProps, mapDispatchToProps, mergeProps, dispatch) {\n return function impureFinalPropsSelector(state, ownProps) {\n return mergeProps(mapStateToProps(state, ownProps), mapDispatchToProps(dispatch, ownProps), ownProps);\n };\n}\nexport function pureFinalPropsSelectorFactory(mapStateToProps, mapDispatchToProps, mergeProps, dispatch, _ref) {\n var areStatesEqual = _ref.areStatesEqual,\n areOwnPropsEqual = _ref.areOwnPropsEqual,\n areStatePropsEqual = _ref.areStatePropsEqual;\n var hasRunAtLeastOnce = false;\n var state;\n var ownProps;\n var stateProps;\n var dispatchProps;\n var mergedProps;\n\n function handleFirstCall(firstState, firstOwnProps) {\n state = firstState;\n ownProps = firstOwnProps;\n stateProps = mapStateToProps(state, ownProps);\n dispatchProps = mapDispatchToProps(dispatch, ownProps);\n mergedProps = mergeProps(stateProps, dispatchProps, ownProps);\n hasRunAtLeastOnce = true;\n return mergedProps;\n }\n\n function handleNewPropsAndNewState() {\n stateProps = mapStateToProps(state, ownProps);\n if (mapDispatchToProps.dependsOnOwnProps) dispatchProps = mapDispatchToProps(dispatch, ownProps);\n mergedProps = mergeProps(stateProps, dispatchProps, ownProps);\n return mergedProps;\n }\n\n function handleNewProps() {\n if (mapStateToProps.dependsOnOwnProps) stateProps = mapStateToProps(state, ownProps);\n if (mapDispatchToProps.dependsOnOwnProps) dispatchProps = mapDispatchToProps(dispatch, ownProps);\n mergedProps = mergeProps(stateProps, dispatchProps, ownProps);\n return mergedProps;\n }\n\n function handleNewState() {\n var nextStateProps = mapStateToProps(state, ownProps);\n var statePropsChanged = !areStatePropsEqual(nextStateProps, stateProps);\n stateProps = nextStateProps;\n if (statePropsChanged) mergedProps = mergeProps(stateProps, dispatchProps, ownProps);\n return mergedProps;\n }\n\n function handleSubsequentCalls(nextState, nextOwnProps) {\n var propsChanged = !areOwnPropsEqual(nextOwnProps, ownProps);\n var stateChanged = !areStatesEqual(nextState, state);\n state = nextState;\n ownProps = nextOwnProps;\n if (propsChanged && stateChanged) return handleNewPropsAndNewState();\n if (propsChanged) return handleNewProps();\n if (stateChanged) return handleNewState();\n return mergedProps;\n }\n\n return function pureFinalPropsSelector(nextState, nextOwnProps) {\n return hasRunAtLeastOnce ? handleSubsequentCalls(nextState, nextOwnProps) : handleFirstCall(nextState, nextOwnProps);\n };\n} // TODO: Add more comments\n// If pure is true, the selector returned by selectorFactory will memoize its results,\n// allowing connectAdvanced's shouldComponentUpdate to return false if final\n// props have not changed. If false, the selector will always return a new\n// object and shouldComponentUpdate will always return true.\n\nexport default function finalPropsSelectorFactory(dispatch, _ref2) {\n var initMapStateToProps = _ref2.initMapStateToProps,\n initMapDispatchToProps = _ref2.initMapDispatchToProps,\n initMergeProps = _ref2.initMergeProps,\n options = _objectWithoutPropertiesLoose(_ref2, [\"initMapStateToProps\", \"initMapDispatchToProps\", \"initMergeProps\"]);\n\n var mapStateToProps = initMapStateToProps(dispatch, options);\n var mapDispatchToProps = initMapDispatchToProps(dispatch, options);\n var mergeProps = initMergeProps(dispatch, options);\n\n if (process.env.NODE_ENV !== 'production') {\n verifySubselectors(mapStateToProps, mapDispatchToProps, mergeProps, options.displayName);\n }\n\n var selectorFactory = options.pure ? pureFinalPropsSelectorFactory : impureFinalPropsSelectorFactory;\n return selectorFactory(mapStateToProps, mapDispatchToProps, mergeProps, dispatch, options);\n}","import verifyPlainObject from '../utils/verifyPlainObject';\nexport function wrapMapToPropsConstant(getConstant) {\n return function initConstantSelector(dispatch, options) {\n var constant = getConstant(dispatch, options);\n\n function constantSelector() {\n return constant;\n }\n\n constantSelector.dependsOnOwnProps = false;\n return constantSelector;\n };\n} // dependsOnOwnProps is used by createMapToPropsProxy to determine whether to pass props as args\n// to the mapToProps function being wrapped. It is also used by makePurePropsSelector to determine\n// whether mapToProps needs to be invoked when props have changed.\n// \n// A length of one signals that mapToProps does not depend on props from the parent component.\n// A length of zero is assumed to mean mapToProps is getting args via arguments or ...args and\n// therefore not reporting its length accurately..\n\nexport function getDependsOnOwnProps(mapToProps) {\n return mapToProps.dependsOnOwnProps !== null && mapToProps.dependsOnOwnProps !== undefined ? Boolean(mapToProps.dependsOnOwnProps) : mapToProps.length !== 1;\n} // Used by whenMapStateToPropsIsFunction and whenMapDispatchToPropsIsFunction,\n// this function wraps mapToProps in a proxy function which does several things:\n// \n// * Detects whether the mapToProps function being called depends on props, which\n// is used by selectorFactory to decide if it should reinvoke on props changes.\n// \n// * On first call, handles mapToProps if returns another function, and treats that\n// new function as the true mapToProps for subsequent calls.\n// \n// * On first call, verifies the first result is a plain object, in order to warn\n// the developer that their mapToProps function is not returning a valid result.\n// \n\nexport function wrapMapToPropsFunc(mapToProps, methodName) {\n return function initProxySelector(dispatch, _ref) {\n var displayName = _ref.displayName;\n\n var proxy = function mapToPropsProxy(stateOrDispatch, ownProps) {\n return proxy.dependsOnOwnProps ? proxy.mapToProps(stateOrDispatch, ownProps) : proxy.mapToProps(stateOrDispatch);\n }; // allow detectFactoryAndVerify to get ownProps\n\n\n proxy.dependsOnOwnProps = true;\n\n proxy.mapToProps = function detectFactoryAndVerify(stateOrDispatch, ownProps) {\n proxy.mapToProps = mapToProps;\n proxy.dependsOnOwnProps = getDependsOnOwnProps(mapToProps);\n var props = proxy(stateOrDispatch, ownProps);\n\n if (typeof props === 'function') {\n proxy.mapToProps = props;\n proxy.dependsOnOwnProps = getDependsOnOwnProps(props);\n props = proxy(stateOrDispatch, ownProps);\n }\n\n if (process.env.NODE_ENV !== 'production') verifyPlainObject(props, displayName, methodName);\n return props;\n };\n\n return proxy;\n };\n}","import PropTypes from 'prop-types';\nexport var subscriptionShape = PropTypes.shape({\n trySubscribe: PropTypes.func.isRequired,\n tryUnsubscribe: PropTypes.func.isRequired,\n notifyNestedSubs: PropTypes.func.isRequired,\n isSubscribed: PropTypes.func.isRequired\n});\nexport var storeShape = PropTypes.shape({\n subscribe: PropTypes.func.isRequired,\n dispatch: PropTypes.func.isRequired,\n getState: PropTypes.func.isRequired\n});","// encapsulates the subscription logic for connecting a component to the redux store, as\n// well as nesting subscriptions of descendant components, so that we can ensure the\n// ancestor components re-render before descendants\nvar CLEARED = null;\nvar nullListeners = {\n notify: function notify() {}\n};\n\nfunction createListenerCollection() {\n // the current/next pattern is copied from redux's createStore code.\n // TODO: refactor+expose that code to be reusable here?\n var current = [];\n var next = [];\n return {\n clear: function clear() {\n next = CLEARED;\n current = CLEARED;\n },\n notify: function notify() {\n var listeners = current = next;\n\n for (var i = 0; i < listeners.length; i++) {\n listeners[i]();\n }\n },\n get: function get() {\n return next;\n },\n subscribe: function subscribe(listener) {\n var isSubscribed = true;\n if (next === current) next = current.slice();\n next.push(listener);\n return function unsubscribe() {\n if (!isSubscribed || current === CLEARED) return;\n isSubscribed = false;\n if (next === current) next = current.slice();\n next.splice(next.indexOf(listener), 1);\n };\n }\n };\n}\n\nvar Subscription =\n/*#__PURE__*/\nfunction () {\n function Subscription(store, parentSub, onStateChange) {\n this.store = store;\n this.parentSub = parentSub;\n this.onStateChange = onStateChange;\n this.unsubscribe = null;\n this.listeners = nullListeners;\n }\n\n var _proto = Subscription.prototype;\n\n _proto.addNestedSub = function addNestedSub(listener) {\n this.trySubscribe();\n return this.listeners.subscribe(listener);\n };\n\n _proto.notifyNestedSubs = function notifyNestedSubs() {\n this.listeners.notify();\n };\n\n _proto.isSubscribed = function isSubscribed() {\n return Boolean(this.unsubscribe);\n };\n\n _proto.trySubscribe = function trySubscribe() {\n if (!this.unsubscribe) {\n this.unsubscribe = this.parentSub ? this.parentSub.addNestedSub(this.onStateChange) : this.store.subscribe(this.onStateChange);\n this.listeners = createListenerCollection();\n }\n };\n\n _proto.tryUnsubscribe = function tryUnsubscribe() {\n if (this.unsubscribe) {\n this.unsubscribe();\n this.unsubscribe = null;\n this.listeners.clear();\n this.listeners = nullListeners;\n }\n };\n\n return Subscription;\n}();\n\nexport { Subscription as default };","var hasOwn = Object.prototype.hasOwnProperty;\n\nfunction is(x, y) {\n if (x === y) {\n return x !== 0 || y !== 0 || 1 / x === 1 / y;\n } else {\n return x !== x && y !== y;\n }\n}\n\nexport default function shallowEqual(objA, objB) {\n if (is(objA, objB)) return true;\n\n if (typeof objA !== 'object' || objA === null || typeof objB !== 'object' || objB === null) {\n return false;\n }\n\n var keysA = Object.keys(objA);\n var keysB = Object.keys(objB);\n if (keysA.length !== keysB.length) return false;\n\n for (var i = 0; i < keysA.length; i++) {\n if (!hasOwn.call(objB, keysA[i]) || !is(objA[keysA[i]], objB[keysA[i]])) {\n return false;\n }\n }\n\n return true;\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","'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","function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nimport warning from \"warning\";\nimport React from \"react\";\nimport PropTypes from \"prop-types\";\nimport { createBrowserHistory as createHistory } from \"history\";\nimport Router from \"./Router\";\n\n/**\n * The public API for a that uses HTML5 history.\n */\n\nvar BrowserRouter = function (_React$Component) {\n _inherits(BrowserRouter, _React$Component);\n\n function BrowserRouter() {\n var _temp, _this, _ret;\n\n _classCallCheck(this, BrowserRouter);\n\n for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return _ret = (_temp = (_this = _possibleConstructorReturn(this, _React$Component.call.apply(_React$Component, [this].concat(args))), _this), _this.history = createHistory(_this.props), _temp), _possibleConstructorReturn(_this, _ret);\n }\n\n BrowserRouter.prototype.componentWillMount = function componentWillMount() {\n warning(!this.props.history, \" ignores the history prop. To use a custom history, \" + \"use `import { Router }` instead of `import { BrowserRouter as Router }`.\");\n };\n\n BrowserRouter.prototype.render = function render() {\n return React.createElement(Router, { history: this.history, children: this.props.children });\n };\n\n return BrowserRouter;\n}(React.Component);\n\nBrowserRouter.propTypes = {\n basename: PropTypes.string,\n forceRefresh: PropTypes.bool,\n getUserConfirmation: PropTypes.func,\n keyLength: PropTypes.number,\n children: PropTypes.node\n};\n\n\nexport default BrowserRouter;","var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\nfunction _objectWithoutProperties(obj, keys) { var target = {}; for (var i in obj) { if (keys.indexOf(i) >= 0) continue; if (!Object.prototype.hasOwnProperty.call(obj, i)) continue; target[i] = obj[i]; } return target; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nimport React from \"react\";\nimport PropTypes from \"prop-types\";\nimport invariant from \"invariant\";\nimport { createLocation } from \"history\";\n\nvar isModifiedEvent = function isModifiedEvent(event) {\n return !!(event.metaKey || event.altKey || event.ctrlKey || event.shiftKey);\n};\n\n/**\n * The public API for rendering a history-aware .\n */\n\nvar Link = function (_React$Component) {\n _inherits(Link, _React$Component);\n\n function Link() {\n var _temp, _this, _ret;\n\n _classCallCheck(this, Link);\n\n for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return _ret = (_temp = (_this = _possibleConstructorReturn(this, _React$Component.call.apply(_React$Component, [this].concat(args))), _this), _this.handleClick = function (event) {\n if (_this.props.onClick) _this.props.onClick(event);\n\n if (!event.defaultPrevented && // onClick prevented default\n event.button === 0 && // ignore everything but left clicks\n !_this.props.target && // let browser handle \"target=_blank\" etc.\n !isModifiedEvent(event) // ignore clicks with modifier keys\n ) {\n event.preventDefault();\n\n var history = _this.context.router.history;\n var _this$props = _this.props,\n replace = _this$props.replace,\n to = _this$props.to;\n\n\n if (replace) {\n history.replace(to);\n } else {\n history.push(to);\n }\n }\n }, _temp), _possibleConstructorReturn(_this, _ret);\n }\n\n Link.prototype.render = function render() {\n var _props = this.props,\n replace = _props.replace,\n to = _props.to,\n innerRef = _props.innerRef,\n props = _objectWithoutProperties(_props, [\"replace\", \"to\", \"innerRef\"]); // eslint-disable-line no-unused-vars\n\n invariant(this.context.router, \"You should not use outside a \");\n\n invariant(to !== undefined, 'You must specify the \"to\" property');\n\n var history = this.context.router.history;\n\n var location = typeof to === \"string\" ? createLocation(to, null, null, history.location) : to;\n\n var href = history.createHref(location);\n return React.createElement(\"a\", _extends({}, props, { onClick: this.handleClick, href: href, ref: innerRef }));\n };\n\n return Link;\n}(React.Component);\n\nLink.propTypes = {\n onClick: PropTypes.func,\n target: PropTypes.string,\n replace: PropTypes.bool,\n to: PropTypes.oneOfType([PropTypes.string, PropTypes.object]).isRequired,\n innerRef: PropTypes.oneOfType([PropTypes.string, PropTypes.func])\n};\nLink.defaultProps = {\n replace: false\n};\nLink.contextTypes = {\n router: PropTypes.shape({\n history: PropTypes.shape({\n push: PropTypes.func.isRequired,\n replace: PropTypes.func.isRequired,\n createHref: PropTypes.func.isRequired\n }).isRequired\n }).isRequired\n};\n\n\nexport default Link;","var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\nvar _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; };\n\nfunction _objectWithoutProperties(obj, keys) { var target = {}; for (var i in obj) { if (keys.indexOf(i) >= 0) continue; if (!Object.prototype.hasOwnProperty.call(obj, i)) continue; target[i] = obj[i]; } return target; }\n\nimport React from \"react\";\nimport PropTypes from \"prop-types\";\nimport Route from \"./Route\";\nimport Link from \"./Link\";\n\n/**\n * A wrapper that knows if it's \"active\" or not.\n */\nvar NavLink = function NavLink(_ref) {\n var to = _ref.to,\n exact = _ref.exact,\n strict = _ref.strict,\n location = _ref.location,\n activeClassName = _ref.activeClassName,\n className = _ref.className,\n activeStyle = _ref.activeStyle,\n style = _ref.style,\n getIsActive = _ref.isActive,\n ariaCurrent = _ref[\"aria-current\"],\n rest = _objectWithoutProperties(_ref, [\"to\", \"exact\", \"strict\", \"location\", \"activeClassName\", \"className\", \"activeStyle\", \"style\", \"isActive\", \"aria-current\"]);\n\n var path = (typeof to === \"undefined\" ? \"undefined\" : _typeof(to)) === \"object\" ? to.pathname : to;\n\n // Regex taken from: https://github.com/pillarjs/path-to-regexp/blob/master/index.js#L202\n var escapedPath = path && path.replace(/([.+*?=^!:${}()[\\]|/\\\\])/g, \"\\\\$1\");\n\n return React.createElement(Route, {\n path: escapedPath,\n exact: exact,\n strict: strict,\n location: location,\n children: function children(_ref2) {\n var location = _ref2.location,\n match = _ref2.match;\n\n var isActive = !!(getIsActive ? getIsActive(match, location) : match);\n\n return React.createElement(Link, _extends({\n to: to,\n className: isActive ? [className, activeClassName].filter(function (i) {\n return i;\n }).join(\" \") : className,\n style: isActive ? _extends({}, style, activeStyle) : style,\n \"aria-current\": isActive && ariaCurrent || null\n }, rest));\n }\n });\n};\n\nNavLink.propTypes = {\n to: Link.propTypes.to,\n exact: PropTypes.bool,\n strict: PropTypes.bool,\n location: PropTypes.object,\n activeClassName: PropTypes.string,\n className: PropTypes.string,\n activeStyle: PropTypes.object,\n style: PropTypes.object,\n isActive: PropTypes.func,\n \"aria-current\": PropTypes.oneOf([\"page\", \"step\", \"location\", \"date\", \"time\", \"true\"])\n};\n\nNavLink.defaultProps = {\n activeClassName: \"active\",\n \"aria-current\": \"page\"\n};\n\nexport default NavLink;","// Written in this round about way for babel-transform-imports\nimport Route from \"react-router/es/Route\";\n\nexport default Route;","// Written in this round about way for babel-transform-imports\nimport Router from \"react-router/es/Router\";\n\nexport default Router;","// Written in this round about way for babel-transform-imports\nimport Switch from \"react-router/es/Switch\";\n\nexport default Switch;","var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nimport warning from \"warning\";\nimport invariant from \"invariant\";\nimport React from \"react\";\nimport PropTypes from \"prop-types\";\nimport matchPath from \"./matchPath\";\n\nvar isEmptyChildren = function isEmptyChildren(children) {\n return React.Children.count(children) === 0;\n};\n\n/**\n * The public API for matching a single path and rendering.\n */\n\nvar Route = function (_React$Component) {\n _inherits(Route, _React$Component);\n\n function Route() {\n var _temp, _this, _ret;\n\n _classCallCheck(this, Route);\n\n for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return _ret = (_temp = (_this = _possibleConstructorReturn(this, _React$Component.call.apply(_React$Component, [this].concat(args))), _this), _this.state = {\n match: _this.computeMatch(_this.props, _this.context.router)\n }, _temp), _possibleConstructorReturn(_this, _ret);\n }\n\n Route.prototype.getChildContext = function getChildContext() {\n return {\n router: _extends({}, this.context.router, {\n route: {\n location: this.props.location || this.context.router.route.location,\n match: this.state.match\n }\n })\n };\n };\n\n Route.prototype.computeMatch = function computeMatch(_ref, router) {\n var computedMatch = _ref.computedMatch,\n location = _ref.location,\n path = _ref.path,\n strict = _ref.strict,\n exact = _ref.exact,\n sensitive = _ref.sensitive;\n\n if (computedMatch) return computedMatch; // already computed the match for us\n\n invariant(router, \"You should not use or withRouter() outside a \");\n\n var route = router.route;\n\n var pathname = (location || route.location).pathname;\n\n return matchPath(pathname, { path: path, strict: strict, exact: exact, sensitive: sensitive }, route.match);\n };\n\n Route.prototype.componentWillMount = function componentWillMount() {\n warning(!(this.props.component && this.props.render), \"You should not use and in the same route; will be ignored\");\n\n warning(!(this.props.component && this.props.children && !isEmptyChildren(this.props.children)), \"You should not use and in the same route; will be ignored\");\n\n warning(!(this.props.render && this.props.children && !isEmptyChildren(this.props.children)), \"You should not use and in the same route; will be ignored\");\n };\n\n Route.prototype.componentWillReceiveProps = function componentWillReceiveProps(nextProps, nextContext) {\n warning(!(nextProps.location && !this.props.location), ' 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 warning(!(!nextProps.location && this.props.location), ' 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 this.setState({\n match: this.computeMatch(nextProps, nextContext.router)\n });\n };\n\n Route.prototype.render = function render() {\n var match = this.state.match;\n var _props = this.props,\n children = _props.children,\n component = _props.component,\n render = _props.render;\n var _context$router = this.context.router,\n history = _context$router.history,\n route = _context$router.route,\n staticContext = _context$router.staticContext;\n\n var location = this.props.location || route.location;\n var props = { match: match, location: location, history: history, staticContext: staticContext };\n\n if (component) return match ? React.createElement(component, props) : null;\n\n if (render) return match ? render(props) : null;\n\n if (typeof children === \"function\") return children(props);\n\n if (children && !isEmptyChildren(children)) return React.Children.only(children);\n\n return null;\n };\n\n return Route;\n}(React.Component);\n\nRoute.propTypes = {\n computedMatch: PropTypes.object, // private, from \n path: PropTypes.string,\n exact: PropTypes.bool,\n strict: PropTypes.bool,\n sensitive: PropTypes.bool,\n component: PropTypes.func,\n render: PropTypes.func,\n children: PropTypes.oneOfType([PropTypes.func, PropTypes.node]),\n location: PropTypes.object\n};\nRoute.contextTypes = {\n router: PropTypes.shape({\n history: PropTypes.object.isRequired,\n route: PropTypes.object.isRequired,\n staticContext: PropTypes.object\n })\n};\nRoute.childContextTypes = {\n router: PropTypes.object.isRequired\n};\n\n\nexport default Route;","var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nimport warning from \"warning\";\nimport invariant from \"invariant\";\nimport React from \"react\";\nimport PropTypes from \"prop-types\";\n\n/**\n * The public API for putting history on context.\n */\n\nvar Router = function (_React$Component) {\n _inherits(Router, _React$Component);\n\n function Router() {\n var _temp, _this, _ret;\n\n _classCallCheck(this, Router);\n\n for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return _ret = (_temp = (_this = _possibleConstructorReturn(this, _React$Component.call.apply(_React$Component, [this].concat(args))), _this), _this.state = {\n match: _this.computeMatch(_this.props.history.location.pathname)\n }, _temp), _possibleConstructorReturn(_this, _ret);\n }\n\n Router.prototype.getChildContext = function getChildContext() {\n return {\n router: _extends({}, this.context.router, {\n history: this.props.history,\n route: {\n location: this.props.history.location,\n match: this.state.match\n }\n })\n };\n };\n\n Router.prototype.computeMatch = function computeMatch(pathname) {\n return {\n path: \"/\",\n url: \"/\",\n params: {},\n isExact: pathname === \"/\"\n };\n };\n\n Router.prototype.componentWillMount = function componentWillMount() {\n var _this2 = this;\n\n var _props = this.props,\n children = _props.children,\n history = _props.history;\n\n\n invariant(children == null || React.Children.count(children) === 1, \"A may have only one child element\");\n\n // Do this here so we can setState when a changes the\n // location in componentWillMount. This happens e.g. when doing\n // server rendering using a .\n this.unlisten = history.listen(function () {\n _this2.setState({\n match: _this2.computeMatch(history.location.pathname)\n });\n });\n };\n\n Router.prototype.componentWillReceiveProps = function componentWillReceiveProps(nextProps) {\n warning(this.props.history === nextProps.history, \"You cannot change \");\n };\n\n Router.prototype.componentWillUnmount = function componentWillUnmount() {\n this.unlisten();\n };\n\n Router.prototype.render = function render() {\n var children = this.props.children;\n\n return children ? React.Children.only(children) : null;\n };\n\n return Router;\n}(React.Component);\n\nRouter.propTypes = {\n history: PropTypes.object.isRequired,\n children: PropTypes.node\n};\nRouter.contextTypes = {\n router: PropTypes.object\n};\nRouter.childContextTypes = {\n router: PropTypes.object.isRequired\n};\n\n\nexport default Router;","function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nimport React from \"react\";\nimport PropTypes from \"prop-types\";\nimport warning from \"warning\";\nimport invariant from \"invariant\";\nimport matchPath from \"./matchPath\";\n\n/**\n * The public API for rendering the first that matches.\n */\n\nvar Switch = function (_React$Component) {\n _inherits(Switch, _React$Component);\n\n function Switch() {\n _classCallCheck(this, Switch);\n\n return _possibleConstructorReturn(this, _React$Component.apply(this, arguments));\n }\n\n Switch.prototype.componentWillMount = function componentWillMount() {\n invariant(this.context.router, \"You should not use outside a \");\n };\n\n Switch.prototype.componentWillReceiveProps = function componentWillReceiveProps(nextProps) {\n warning(!(nextProps.location && !this.props.location), ' 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 warning(!(!nextProps.location && this.props.location), ' 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 Switch.prototype.render = function render() {\n var route = this.context.router.route;\n var children = this.props.children;\n\n var location = this.props.location || route.location;\n\n var match = void 0,\n child = void 0;\n React.Children.forEach(children, function (element) {\n if (match == null && React.isValidElement(element)) {\n var _element$props = element.props,\n pathProp = _element$props.path,\n exact = _element$props.exact,\n strict = _element$props.strict,\n sensitive = _element$props.sensitive,\n from = _element$props.from;\n\n var path = pathProp || from;\n\n child = element;\n match = matchPath(location.pathname, { path: path, exact: exact, strict: strict, sensitive: sensitive }, route.match);\n }\n });\n\n return match ? React.cloneElement(child, { location: location, computedMatch: match }) : null;\n };\n\n return Switch;\n}(React.Component);\n\nSwitch.contextTypes = {\n router: PropTypes.shape({\n route: PropTypes.object.isRequired\n }).isRequired\n};\nSwitch.propTypes = {\n children: PropTypes.node,\n location: PropTypes.object\n};\n\n\nexport default Switch;","import pathToRegexp from \"path-to-regexp\";\n\nvar patternCache = {};\nvar cacheLimit = 10000;\nvar cacheCount = 0;\n\nvar compilePath = function compilePath(pattern, options) {\n var cacheKey = \"\" + options.end + options.strict + options.sensitive;\n var cache = patternCache[cacheKey] || (patternCache[cacheKey] = {});\n\n if (cache[pattern]) return cache[pattern];\n\n var keys = [];\n var re = pathToRegexp(pattern, keys, options);\n var compiledPattern = { re: re, keys: keys };\n\n if (cacheCount < cacheLimit) {\n cache[pattern] = compiledPattern;\n cacheCount++;\n }\n\n return compiledPattern;\n};\n\n/**\n * Public API for matching a URL pathname to a path pattern.\n */\nvar matchPath = function matchPath(pathname) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var parent = arguments[2];\n\n if (typeof options === \"string\") options = { path: options };\n\n var _options = options,\n path = _options.path,\n _options$exact = _options.exact,\n exact = _options$exact === undefined ? false : _options$exact,\n _options$strict = _options.strict,\n strict = _options$strict === undefined ? false : _options$strict,\n _options$sensitive = _options.sensitive,\n sensitive = _options$sensitive === undefined ? false : _options$sensitive;\n\n\n if (path == null) return parent;\n\n var _compilePath = compilePath(path, { end: exact, strict: strict, sensitive: sensitive }),\n re = _compilePath.re,\n keys = _compilePath.keys;\n\n var match = re.exec(pathname);\n\n if (!match) return null;\n\n var url = match[0],\n values = match.slice(1);\n\n var isExact = pathname === url;\n\n if (exact && !isExact) return null;\n\n return {\n path: path, // the path pattern used to match\n url: path === \"/\" && url === \"\" ? \"/\" : url, // the matched portion of the URL\n isExact: isExact, // whether or not we matched exactly\n params: keys.reduce(function (memo, key, index) {\n memo[key.name] = values[index];\n return memo;\n }, {})\n };\n};\n\nexport default matchPath;","module.exports = Array.isArray || function (arr) {\n return Object.prototype.toString.call(arr) == '[object Array]';\n};\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","import _extends from '@babel/runtime/helpers/esm/extends';\nimport _objectWithoutPropertiesLoose from '@babel/runtime/helpers/esm/objectWithoutPropertiesLoose';\nimport _inheritsLoose from '@babel/runtime/helpers/esm/inheritsLoose';\nimport React, { Component, isValidElement, cloneElement } from 'react';\nimport PropTypes from 'prop-types';\nimport cx from 'classnames';\nimport { Transition, TransitionGroup } from 'react-transition-group';\nimport { render } from 'react-dom';\n\nvar POSITION = {\n TOP_LEFT: 'top-left',\n TOP_RIGHT: 'top-right',\n TOP_CENTER: 'top-center',\n BOTTOM_LEFT: 'bottom-left',\n BOTTOM_RIGHT: 'bottom-right',\n BOTTOM_CENTER: 'bottom-center'\n};\nvar TYPE = {\n INFO: 'info',\n SUCCESS: 'success',\n WARNING: 'warning',\n ERROR: 'error',\n DEFAULT: 'default'\n};\nvar ACTION = {\n SHOW: 0,\n CLEAR: 1,\n DID_MOUNT: 2,\n WILL_UNMOUNT: 3,\n ON_CHANGE: 4\n};\nvar NOOP = function NOOP() {};\nvar RT_NAMESPACE = 'Toastify';\n\nfunction isValidDelay(val) {\n return typeof val === 'number' && !isNaN(val) && val > 0;\n}\nfunction objectValues(obj) {\n return Object.keys(obj).map(function (key) {\n return obj[key];\n });\n}\nvar canUseDom = !!(typeof window !== 'undefined' && window.document && window.document.createElement);\n\nfunction withRequired(fn) {\n fn.isRequired = function (props, propName, componentName) {\n var prop = props[propName];\n\n if (typeof prop === 'undefined') {\n return new Error(\"The prop \" + propName + \" is marked as required in \\n \" + componentName + \", but its value is undefined.\");\n }\n\n fn(props, propName, componentName);\n };\n\n return fn;\n}\n\nvar falseOrDelay = withRequired(function (props, propName, componentName) {\n var prop = props[propName];\n\n if (prop !== false && !isValidDelay(prop)) {\n return new Error(componentName + \" expect \" + propName + \" \\n to be a valid Number > 0 or equal to false. \" + prop + \" given.\");\n }\n\n return null;\n});\n\nvar eventManager = {\n list: new Map(),\n emitQueue: new Map(),\n on: function on(event, callback) {\n this.list.has(event) || this.list.set(event, []);\n this.list.get(event).push(callback);\n return this;\n },\n off: function off(event) {\n this.list.delete(event);\n return this;\n },\n cancelEmit: function cancelEmit(event) {\n var timers = this.emitQueue.get(event);\n\n if (timers) {\n timers.forEach(function (timer) {\n return clearTimeout(timer);\n });\n this.emitQueue.delete(event);\n }\n\n return this;\n },\n\n /**\n * Enqueue the event at the end of the call stack\n * Doing so let the user call toast as follow:\n * toast('1')\n * toast('2')\n * toast('3')\n * Without setTimemout the code above will not work\n */\n emit: function emit(event) {\n var _this = this;\n\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 this.list.has(event) && this.list.get(event).forEach(function (callback) {\n var timer = setTimeout(function () {\n callback.apply(void 0, args);\n }, 0);\n _this.emitQueue.has(event) || _this.emitQueue.set(event, []);\n\n _this.emitQueue.get(event).push(timer);\n });\n }\n};\n\nfunction cssTransition(_ref) {\n var enter = _ref.enter,\n exit = _ref.exit,\n _ref$duration = _ref.duration,\n duration = _ref$duration === void 0 ? 750 : _ref$duration,\n _ref$appendPosition = _ref.appendPosition,\n appendPosition = _ref$appendPosition === void 0 ? false : _ref$appendPosition;\n return function Animation(_ref2) {\n var children = _ref2.children,\n position = _ref2.position,\n preventExitTransition = _ref2.preventExitTransition,\n props = _objectWithoutPropertiesLoose(_ref2, [\"children\", \"position\", \"preventExitTransition\"]);\n\n var enterClassName = appendPosition ? enter + \"--\" + position : enter;\n var exitClassName = appendPosition ? exit + \"--\" + position : exit;\n var enterDuration, exitDuration;\n\n if (Array.isArray(duration) && duration.length === 2) {\n enterDuration = duration[0];\n exitDuration = duration[1];\n } else {\n enterDuration = exitDuration = duration;\n }\n\n var onEnter = function onEnter(node) {\n node.classList.add(enterClassName);\n node.style.animationFillMode = 'forwards';\n node.style.animationDuration = enterDuration * 0.001 + \"s\";\n };\n\n var onEntered = function onEntered(node) {\n node.classList.remove(enterClassName);\n node.style.cssText = '';\n };\n\n var onExit = function onExit(node) {\n node.classList.add(exitClassName);\n node.style.animationFillMode = 'forwards';\n node.style.animationDuration = exitDuration * 0.001 + \"s\";\n };\n\n return React.createElement(Transition, _extends({}, props, {\n timeout: preventExitTransition ? 0 : {\n enter: enterDuration,\n exit: exitDuration\n },\n onEnter: onEnter,\n onEntered: onEntered,\n onExit: preventExitTransition ? NOOP : onExit\n }), children);\n };\n}\n\nfunction ProgressBar(_ref) {\n var _cx, _animationEvent;\n\n var delay = _ref.delay,\n isRunning = _ref.isRunning,\n closeToast = _ref.closeToast,\n type = _ref.type,\n hide = _ref.hide,\n className = _ref.className,\n userStyle = _ref.style,\n controlledProgress = _ref.controlledProgress,\n progress = _ref.progress,\n rtl = _ref.rtl;\n\n var style = _extends({}, userStyle, {\n animationDuration: delay + \"ms\",\n animationPlayState: isRunning ? 'running' : 'paused',\n opacity: hide ? 0 : 1,\n transform: controlledProgress ? \"scaleX(\" + progress + \")\" : null\n });\n\n var classNames = cx(RT_NAMESPACE + \"__progress-bar\", controlledProgress ? RT_NAMESPACE + \"__progress-bar--controlled\" : RT_NAMESPACE + \"__progress-bar--animated\", RT_NAMESPACE + \"__progress-bar--\" + type, (_cx = {}, _cx[RT_NAMESPACE + \"__progress-bar--rtl\"] = rtl, _cx), className);\n var animationEvent = (_animationEvent = {}, _animationEvent[controlledProgress && progress >= 1 ? 'onTransitionEnd' : 'onAnimationEnd'] = controlledProgress && progress < 1 ? null : closeToast, _animationEvent);\n return React.createElement(\"div\", _extends({\n className: classNames,\n style: style\n }, animationEvent));\n}\n\nProgressBar.propTypes = {\n /**\n * The animation delay which determine when to close the toast\n */\n delay: falseOrDelay.isRequired,\n\n /**\n * Whether or not the animation is running or paused\n */\n isRunning: PropTypes.bool.isRequired,\n\n /**\n * Func to close the current toast\n */\n closeToast: PropTypes.func.isRequired,\n\n /**\n * Support rtl content\n */\n rtl: PropTypes.bool.isRequired,\n\n /**\n * Optional type : info, success ...\n */\n type: PropTypes.string,\n\n /**\n * Hide or not the progress bar\n */\n hide: PropTypes.bool,\n\n /**\n * Optionnal className\n */\n className: PropTypes.oneOfType([PropTypes.string, PropTypes.object]),\n\n /**\n * Controlled progress value\n */\n progress: PropTypes.number,\n\n /**\n * Tell wether or not controlled progress bar is used\n */\n controlledProgress: PropTypes.bool\n};\nProgressBar.defaultProps = {\n type: TYPE.DEFAULT,\n hide: false\n};\n\nfunction getX(e) {\n return e.targetTouches && e.targetTouches.length >= 1 ? e.targetTouches[0].clientX : e.clientX;\n}\n\nfunction getY(e) {\n return e.targetTouches && e.targetTouches.length >= 1 ? e.targetTouches[0].clientY : e.clientY;\n}\n\nvar iLoveInternetExplorer = canUseDom && /(msie|trident)/i.test(navigator.userAgent);\n\nvar Toast =\n/*#__PURE__*/\nfunction (_Component) {\n _inheritsLoose(Toast, _Component);\n\n function Toast() {\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 isRunning: true,\n preventExitTransition: false\n };\n _this.flag = {\n canCloseOnClick: true,\n canDrag: false\n };\n _this.drag = {\n start: 0,\n x: 0,\n y: 0,\n deltaX: 0,\n removalDistance: 0\n };\n _this.boundingRect = null;\n _this.ref = null;\n\n _this.pauseToast = function () {\n if (_this.props.autoClose) {\n _this.setState({\n isRunning: false\n });\n }\n };\n\n _this.playToast = function () {\n if (_this.props.autoClose) {\n _this.setState({\n isRunning: true\n });\n }\n };\n\n _this.onDragStart = function (e) {\n _this.flag.canCloseOnClick = true;\n _this.flag.canDrag = true;\n _this.boundingRect = _this.ref.getBoundingClientRect();\n _this.ref.style.transition = '';\n _this.drag.start = _this.drag.x = getX(e.nativeEvent);\n _this.drag.removalDistance = _this.ref.offsetWidth * (_this.props.draggablePercent / 100);\n };\n\n _this.onDragMove = function (e) {\n if (_this.flag.canDrag) {\n if (_this.state.isRunning) {\n _this.pauseToast();\n }\n\n _this.drag.x = getX(e);\n _this.drag.deltaX = _this.drag.x - _this.drag.start;\n _this.drag.y = getY(e); // prevent false positif during a toast click\n\n _this.drag.start !== _this.drag.x && (_this.flag.canCloseOnClick = false);\n _this.ref.style.transform = \"translateX(\" + _this.drag.deltaX + \"px)\";\n _this.ref.style.opacity = 1 - Math.abs(_this.drag.deltaX / _this.drag.removalDistance);\n }\n };\n\n _this.onDragEnd = function (e) {\n if (_this.flag.canDrag) {\n _this.flag.canDrag = false;\n\n if (Math.abs(_this.drag.deltaX) > _this.drag.removalDistance) {\n _this.setState({\n preventExitTransition: true\n }, _this.props.closeToast);\n\n return;\n }\n\n _this.ref.style.transition = 'transform 0.2s, opacity 0.2s';\n _this.ref.style.transform = 'translateX(0)';\n _this.ref.style.opacity = 1;\n }\n };\n\n _this.onDragTransitionEnd = function () {\n if (_this.boundingRect) {\n var _this$boundingRect = _this.boundingRect,\n top = _this$boundingRect.top,\n bottom = _this$boundingRect.bottom,\n left = _this$boundingRect.left,\n right = _this$boundingRect.right;\n\n if (_this.props.pauseOnHover && _this.drag.x >= left && _this.drag.x <= right && _this.drag.y >= top && _this.drag.y <= bottom) {\n _this.pauseToast();\n } else {\n _this.playToast();\n }\n }\n };\n\n _this.onExitTransitionEnd = function () {\n if (iLoveInternetExplorer) {\n _this.props.onExited();\n\n return;\n }\n\n var height = _this.ref.scrollHeight;\n var style = _this.ref.style;\n requestAnimationFrame(function () {\n style.minHeight = 'initial';\n style.height = height + 'px';\n style.transition = 'all 0.4s ';\n requestAnimationFrame(function () {\n style.height = 0;\n style.padding = 0;\n style.margin = 0;\n });\n setTimeout(function () {\n return _this.props.onExited();\n }, 400);\n });\n };\n\n return _this;\n }\n\n var _proto = Toast.prototype;\n\n _proto.componentDidMount = function componentDidMount() {\n this.props.onOpen(this.props.children.props);\n\n if (this.props.draggable) {\n this.bindDragEvents();\n } // Maybe I could bind the event in the ToastContainer and rely on delegation\n\n\n if (this.props.pauseOnFocusLoss) {\n this.bindFocusEvents();\n }\n };\n\n _proto.componentDidUpdate = function componentDidUpdate(prevProps) {\n if (prevProps.draggable !== this.props.draggable) {\n if (this.props.draggable) {\n this.bindDragEvents();\n } else {\n this.unbindDragEvents();\n }\n }\n\n if (prevProps.pauseOnFocusLoss !== this.props.pauseOnFocusLoss) {\n if (this.props.pauseOnFocusLoss) {\n this.bindFocusEvents();\n } else {\n this.unbindFocusEvents();\n }\n }\n };\n\n _proto.componentWillUnmount = function componentWillUnmount() {\n this.props.onClose(this.props.children.props);\n\n if (this.props.draggable) {\n this.unbindDragEvents();\n }\n\n if (this.props.pauseOnFocusLoss) {\n this.unbindFocusEvents();\n }\n };\n\n _proto.bindFocusEvents = function bindFocusEvents() {\n window.addEventListener('focus', this.playToast);\n window.addEventListener('blur', this.pauseToast);\n };\n\n _proto.unbindFocusEvents = function unbindFocusEvents() {\n window.removeEventListener('focus', this.playToast);\n window.removeEventListener('blur', this.pauseToast);\n };\n\n _proto.bindDragEvents = function bindDragEvents() {\n document.addEventListener('mousemove', this.onDragMove);\n document.addEventListener('mouseup', this.onDragEnd);\n document.addEventListener('touchmove', this.onDragMove);\n document.addEventListener('touchend', this.onDragEnd);\n };\n\n _proto.unbindDragEvents = function unbindDragEvents() {\n document.removeEventListener('mousemove', this.onDragMove);\n document.removeEventListener('mouseup', this.onDragEnd);\n document.removeEventListener('touchmove', this.onDragMove);\n document.removeEventListener('touchend', this.onDragEnd);\n };\n\n _proto.render = function render() {\n var _cx,\n _this2 = this;\n\n var _this$props = this.props,\n closeButton = _this$props.closeButton,\n children = _this$props.children,\n autoClose = _this$props.autoClose,\n pauseOnHover = _this$props.pauseOnHover,\n onClick = _this$props.onClick,\n closeOnClick = _this$props.closeOnClick,\n type = _this$props.type,\n hideProgressBar = _this$props.hideProgressBar,\n closeToast = _this$props.closeToast,\n Transition = _this$props.transition,\n position = _this$props.position,\n className = _this$props.className,\n bodyClassName = _this$props.bodyClassName,\n progressClassName = _this$props.progressClassName,\n progressStyle = _this$props.progressStyle,\n updateId = _this$props.updateId,\n role = _this$props.role,\n progress = _this$props.progress,\n rtl = _this$props.rtl;\n var toastProps = {\n className: cx(RT_NAMESPACE + \"__toast\", RT_NAMESPACE + \"__toast--\" + type, (_cx = {}, _cx[RT_NAMESPACE + \"__toast--rtl\"] = rtl, _cx), className)\n };\n\n if (autoClose && pauseOnHover) {\n toastProps.onMouseEnter = this.pauseToast;\n toastProps.onMouseLeave = this.playToast;\n } // prevent toast from closing when user drags the toast\n\n\n if (closeOnClick) {\n toastProps.onClick = function (e) {\n onClick && onClick(e);\n _this2.flag.canCloseOnClick && closeToast();\n };\n }\n\n var controlledProgress = parseFloat(progress) === progress;\n return React.createElement(Transition, {\n in: this.props.in,\n appear: true,\n onExited: this.onExitTransitionEnd,\n position: position,\n preventExitTransition: this.state.preventExitTransition\n }, React.createElement(\"div\", _extends({\n onClick: onClick\n }, toastProps, {\n ref: function ref(_ref) {\n return _this2.ref = _ref;\n },\n onMouseDown: this.onDragStart,\n onTouchStart: this.onDragStart,\n onMouseUp: this.onDragTransitionEnd,\n onTouchEnd: this.onDragTransitionEnd\n }), React.createElement(\"div\", _extends({}, this.props.in && {\n role: role\n }, {\n className: cx(RT_NAMESPACE + \"__toast-body\", bodyClassName)\n }), children), closeButton && closeButton, (autoClose || controlledProgress) && React.createElement(ProgressBar, _extends({}, updateId && !controlledProgress ? {\n key: \"pb-\" + updateId\n } : {}, {\n rtl: rtl,\n delay: autoClose,\n isRunning: this.state.isRunning,\n closeToast: closeToast,\n hide: hideProgressBar,\n type: type,\n style: progressStyle,\n className: progressClassName,\n controlledProgress: controlledProgress,\n progress: progress\n }))));\n };\n\n return Toast;\n}(Component);\n\nToast.propTypes = {\n closeButton: PropTypes.oneOfType([PropTypes.node, PropTypes.bool]).isRequired,\n autoClose: falseOrDelay.isRequired,\n children: PropTypes.node.isRequired,\n closeToast: PropTypes.func.isRequired,\n position: PropTypes.oneOf(objectValues(POSITION)).isRequired,\n pauseOnHover: PropTypes.bool.isRequired,\n pauseOnFocusLoss: PropTypes.bool.isRequired,\n closeOnClick: PropTypes.bool.isRequired,\n transition: PropTypes.func.isRequired,\n rtl: PropTypes.bool.isRequired,\n hideProgressBar: PropTypes.bool.isRequired,\n draggable: PropTypes.bool.isRequired,\n draggablePercent: PropTypes.number.isRequired,\n in: PropTypes.bool,\n onExited: PropTypes.func,\n onOpen: PropTypes.func,\n onClose: PropTypes.func,\n type: PropTypes.oneOf(objectValues(TYPE)),\n className: PropTypes.oneOfType([PropTypes.string, PropTypes.object]),\n bodyClassName: PropTypes.oneOfType([PropTypes.string, PropTypes.object]),\n progressClassName: PropTypes.oneOfType([PropTypes.string, PropTypes.object]),\n progressStyle: PropTypes.object,\n progress: PropTypes.number,\n updateId: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n ariaLabel: PropTypes.string,\n containerId: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n role: PropTypes.string\n};\nToast.defaultProps = {\n type: TYPE.DEFAULT,\n in: true,\n onOpen: NOOP,\n onClose: NOOP,\n className: null,\n bodyClassName: null,\n progressClassName: null,\n updateId: null\n};\n\nfunction CloseButton(_ref) {\n var closeToast = _ref.closeToast,\n type = _ref.type,\n ariaLabel = _ref.ariaLabel;\n return React.createElement(\"button\", {\n className: RT_NAMESPACE + \"__close-button \" + RT_NAMESPACE + \"__close-button--\" + type,\n type: \"button\",\n onClick: function onClick(e) {\n e.stopPropagation();\n closeToast(e);\n },\n \"aria-label\": ariaLabel\n }, \"\\u2716\\uFE0E\");\n}\n\nCloseButton.propTypes = {\n closeToast: PropTypes.func,\n arialLabel: PropTypes.string\n};\nCloseButton.defaultProps = {\n ariaLabel: 'close'\n};\n\nvar Bounce = cssTransition({\n enter: RT_NAMESPACE + \"__bounce-enter\",\n exit: RT_NAMESPACE + \"__bounce-exit\",\n appendPosition: true\n});\nvar Slide = cssTransition({\n enter: RT_NAMESPACE + \"__slide-enter\",\n exit: RT_NAMESPACE + \"__slide-exit\",\n duration: [450, 750],\n appendPosition: true\n});\nvar Zoom = cssTransition({\n enter: RT_NAMESPACE + \"__zoom-enter\",\n exit: RT_NAMESPACE + \"__zoom-exit\"\n});\nvar Flip = cssTransition({\n enter: RT_NAMESPACE + \"__flip-enter\",\n exit: RT_NAMESPACE + \"__flip-exit\"\n});\n\nvar ToastContainer =\n/*#__PURE__*/\nfunction (_Component) {\n _inheritsLoose(ToastContainer, _Component);\n\n function ToastContainer() {\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 toast: []\n };\n _this.toastKey = 1;\n _this.collection = {};\n\n _this.isToastActive = function (id) {\n return _this.state.toast.indexOf(id) !== -1;\n };\n\n return _this;\n }\n\n var _proto = ToastContainer.prototype;\n\n _proto.componentDidMount = function componentDidMount() {\n var _this2 = this;\n\n eventManager.cancelEmit(ACTION.WILL_UNMOUNT).on(ACTION.SHOW, function (content, options) {\n return _this2.ref ? _this2.buildToast(content, options) : null;\n }).on(ACTION.CLEAR, function (id) {\n return !_this2.ref ? null : id == null ? _this2.clear() : _this2.removeToast(id);\n }).emit(ACTION.DID_MOUNT, this);\n };\n\n _proto.componentWillUnmount = function componentWillUnmount() {\n eventManager.emit(ACTION.WILL_UNMOUNT, this);\n };\n\n _proto.removeToast = function removeToast(id) {\n this.setState({\n toast: this.state.toast.filter(function (v) {\n return v !== id;\n })\n }, this.dispatchChange);\n };\n\n _proto.dispatchChange = function dispatchChange() {\n eventManager.emit(ACTION.ON_CHANGE, this.state.toast.length, this.props.containerId);\n };\n\n _proto.makeCloseButton = function makeCloseButton(toastClose, toastId, type) {\n var _this3 = this;\n\n var closeButton = this.props.closeButton;\n\n if (isValidElement(toastClose) || toastClose === false) {\n closeButton = toastClose;\n } else if (toastClose === true) {\n closeButton = this.props.closeButton && typeof this.props.closeButton !== 'boolean' ? this.props.closeButton : React.createElement(CloseButton, null);\n }\n\n return closeButton === false ? false : cloneElement(closeButton, {\n closeToast: function closeToast() {\n return _this3.removeToast(toastId);\n },\n type: type\n });\n };\n\n _proto.getAutoCloseDelay = function getAutoCloseDelay(toastAutoClose) {\n return toastAutoClose === false || isValidDelay(toastAutoClose) ? toastAutoClose : this.props.autoClose;\n };\n\n _proto.canBeRendered = function canBeRendered(content) {\n return isValidElement(content) || typeof content === 'string' || typeof content === 'number' || typeof content === 'function';\n };\n\n _proto.parseClassName = function parseClassName(prop) {\n if (typeof prop === 'string') {\n return prop;\n } else if (prop !== null && typeof prop === 'object' && 'toString' in prop) {\n return prop.toString();\n }\n\n return null;\n };\n\n _proto.belongToContainer = function belongToContainer(_ref) {\n var containerId = _ref.containerId;\n return containerId === this.props.containerId;\n };\n\n _proto.buildToast = function buildToast(content, _ref2) {\n var _this4 = this;\n\n var delay = _ref2.delay,\n options = _objectWithoutPropertiesLoose(_ref2, [\"delay\"]);\n\n if (!this.canBeRendered(content)) {\n throw new Error(\"The element you provided cannot be rendered. You provided an element of type \" + typeof content);\n }\n\n var toastId = options.toastId,\n updateId = options.updateId; // Check for multi-container and also for duplicate toastId\n // Maybe it would be better to extract it\n\n if (this.props.enableMultiContainer && !this.belongToContainer(options) || this.isToastActive(toastId) && updateId == null) {\n return;\n }\n\n var closeToast = function closeToast() {\n return _this4.removeToast(toastId);\n };\n\n var toastOptions = {\n id: toastId,\n // ⚠️ if no options.key, this.toastKey - 1 is assigned\n key: options.key || this.toastKey++,\n type: options.type,\n closeToast: closeToast,\n updateId: options.updateId,\n rtl: this.props.rtl,\n position: options.position || this.props.position,\n transition: options.transition || this.props.transition,\n className: this.parseClassName(options.className || this.props.toastClassName),\n bodyClassName: this.parseClassName(options.bodyClassName || this.props.bodyClassName),\n onClick: options.onClick || this.props.onClick,\n closeButton: this.makeCloseButton(options.closeButton, toastId, options.type),\n pauseOnHover: typeof options.pauseOnHover === 'boolean' ? options.pauseOnHover : this.props.pauseOnHover,\n pauseOnFocusLoss: typeof options.pauseOnFocusLoss === 'boolean' ? options.pauseOnFocusLoss : this.props.pauseOnFocusLoss,\n draggable: typeof options.draggable === 'boolean' ? options.draggable : this.props.draggable,\n draggablePercent: typeof options.draggablePercent === 'number' && !isNaN(options.draggablePercent) ? options.draggablePercent : this.props.draggablePercent,\n closeOnClick: typeof options.closeOnClick === 'boolean' ? options.closeOnClick : this.props.closeOnClick,\n progressClassName: this.parseClassName(options.progressClassName || this.props.progressClassName),\n progressStyle: this.props.progressStyle,\n autoClose: this.getAutoCloseDelay(options.autoClose),\n hideProgressBar: typeof options.hideProgressBar === 'boolean' ? options.hideProgressBar : this.props.hideProgressBar,\n progress: parseFloat(options.progress),\n role: typeof options.role === 'string' ? options.role : this.props.role\n };\n typeof options.onOpen === 'function' && (toastOptions.onOpen = options.onOpen);\n typeof options.onClose === 'function' && (toastOptions.onClose = options.onClose); // add closeToast function to react component only\n\n if (isValidElement(content) && typeof content.type !== 'string' && typeof content.type !== 'number') {\n content = cloneElement(content, {\n closeToast: closeToast\n });\n } else if (typeof content === 'function') {\n content = content({\n closeToast: closeToast\n });\n }\n\n if (isValidDelay(delay)) {\n setTimeout(function () {\n _this4.appendToast(toastOptions, content, options.staleToastId);\n }, delay);\n } else {\n this.appendToast(toastOptions, content, options.staleToastId);\n }\n };\n\n _proto.appendToast = function appendToast(options, content, staleToastId) {\n var _extends2;\n\n var id = options.id,\n updateId = options.updateId;\n this.collection = _extends({}, this.collection, (_extends2 = {}, _extends2[id] = {\n options: options,\n content: content,\n position: options.position\n }, _extends2));\n this.setState({\n toast: (updateId ? [].concat(this.state.toast) : [].concat(this.state.toast, [id])).filter(function (id) {\n return id !== staleToastId;\n })\n }, this.dispatchChange);\n };\n\n _proto.clear = function clear() {\n this.setState({\n toast: []\n });\n };\n\n _proto.renderToast = function renderToast() {\n var _this5 = this;\n\n var toastToRender = {};\n var _this$props = this.props,\n className = _this$props.className,\n style = _this$props.style,\n newestOnTop = _this$props.newestOnTop;\n var collection = newestOnTop ? Object.keys(this.collection).reverse() : Object.keys(this.collection); // group toast by position\n\n collection.forEach(function (toastId) {\n var _this5$collection$toa = _this5.collection[toastId],\n position = _this5$collection$toa.position,\n options = _this5$collection$toa.options,\n content = _this5$collection$toa.content;\n toastToRender[position] || (toastToRender[position] = []);\n\n if (_this5.state.toast.indexOf(options.id) !== -1) {\n toastToRender[position].push(React.createElement(Toast, _extends({}, options, {\n isDocumentHidden: _this5.state.isDocumentHidden,\n key: \"toast-\" + options.key\n }), content));\n } else {\n toastToRender[position].push(null);\n delete _this5.collection[toastId];\n }\n });\n return Object.keys(toastToRender).map(function (position) {\n var _cx;\n\n var disablePointer = toastToRender[position].length === 1 && toastToRender[position][0] === null;\n var props = {\n className: cx(RT_NAMESPACE + \"__toast-container\", RT_NAMESPACE + \"__toast-container--\" + position, (_cx = {}, _cx[RT_NAMESPACE + \"__toast-container--rtl\"] = _this5.props.rtl, _cx), _this5.parseClassName(className)),\n style: disablePointer ? _extends({}, style, {\n pointerEvents: 'none'\n }) : _extends({}, style)\n };\n return React.createElement(TransitionGroup, _extends({}, props, {\n key: \"container-\" + position\n }), toastToRender[position]);\n });\n };\n\n _proto.render = function render() {\n var _this6 = this;\n\n return React.createElement(\"div\", {\n ref: function ref(node) {\n return _this6.ref = node;\n },\n className: \"\" + RT_NAMESPACE\n }, this.renderToast());\n };\n\n return ToastContainer;\n}(Component);\n\nToastContainer.propTypes = {\n /**\n * Set toast position\n */\n position: PropTypes.oneOf(objectValues(POSITION)),\n\n /**\n * Disable or set autoClose delay\n */\n autoClose: falseOrDelay,\n\n /**\n * Disable or set a custom react element for the close button\n */\n closeButton: PropTypes.oneOfType([PropTypes.node, PropTypes.bool]),\n\n /**\n * Hide or not progress bar when autoClose is enabled\n */\n hideProgressBar: PropTypes.bool,\n\n /**\n * Pause toast duration on hover\n */\n pauseOnHover: PropTypes.bool,\n\n /**\n * Dismiss toast on click\n */\n closeOnClick: PropTypes.bool,\n\n /**\n * Newest on top\n */\n newestOnTop: PropTypes.bool,\n\n /**\n * An optional className\n */\n className: PropTypes.oneOfType([PropTypes.string, PropTypes.object]),\n\n /**\n * An optional style\n */\n style: PropTypes.object,\n\n /**\n * An optional className for the toast\n */\n toastClassName: PropTypes.oneOfType([PropTypes.string, PropTypes.object]),\n\n /**\n * An optional className for the toast body\n */\n bodyClassName: PropTypes.oneOfType([PropTypes.string, PropTypes.object]),\n\n /**\n * An optional className for the toast progress bar\n */\n progressClassName: PropTypes.oneOfType([PropTypes.string, PropTypes.object]),\n\n /**\n * An optional style for the toast progress bar\n */\n progressStyle: PropTypes.object,\n\n /**\n * Define enter and exit transition using react-transition-group\n */\n transition: PropTypes.func,\n\n /**\n * Support rtl display\n */\n rtl: PropTypes.bool,\n\n /**\n * Allow toast to be draggable\n */\n draggable: PropTypes.bool,\n\n /**\n * The percentage of the toast's width it takes for a drag to dismiss a toast\n */\n draggablePercent: PropTypes.number,\n\n /**\n * Pause the toast on focus loss\n */\n pauseOnFocusLoss: PropTypes.bool,\n\n /**\n * Show the toast only if it includes containerId and it's the same as containerId\n */\n enableMultiContainer: PropTypes.bool,\n\n /**\n * Set id to handle multiple container\n */\n containerId: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n\n /**\n * Set role attribute for the toast body\n */\n role: PropTypes.string,\n\n /**\n * Fired when clicking inside toaster\n */\n onClick: PropTypes.func\n};\nToastContainer.defaultProps = {\n position: POSITION.TOP_RIGHT,\n transition: Bounce,\n rtl: false,\n autoClose: 5000,\n hideProgressBar: false,\n closeButton: React.createElement(CloseButton, null),\n pauseOnHover: true,\n pauseOnFocusLoss: true,\n closeOnClick: true,\n newestOnTop: false,\n draggable: true,\n draggablePercent: 80,\n className: null,\n style: null,\n toastClassName: null,\n bodyClassName: null,\n progressClassName: null,\n progressStyle: null,\n role: 'alert'\n};\n\nvar containers = new Map();\nvar latestInstance = null;\nvar containerDomNode = null;\nvar containerConfig = {};\nvar queue = [];\nvar lazy = false;\n/**\n * Check whether any container is currently mounted in the DOM\n */\n\nfunction isAnyContainerMounted() {\n return containers.size > 0;\n}\n/**\n * Get the container by id. Returns the last container declared when no id is given.\n */\n\n\nfunction getContainer(containerId) {\n if (!isAnyContainerMounted()) return null;\n if (!containerId) return containers.get(latestInstance);\n return containers.get(containerId);\n}\n/**\n * Get the toast by id, given it's in the DOM, otherwise returns null\n */\n\n\nfunction getToast(toastId, _ref) {\n var containerId = _ref.containerId;\n var container = getContainer(containerId);\n if (!container) return null;\n var toast = container.collection[toastId];\n if (typeof toast === 'undefined') return null;\n return toast;\n}\n/**\n * Merge provided options with the defaults settings and generate the toastId\n */\n\n\nfunction mergeOptions(options, type) {\n return _extends({}, options, {\n type: type,\n toastId: getToastId(options)\n });\n}\n/**\n * Generate a random toastId\n */\n\n\nfunction generateToastId() {\n return (Math.random().toString(36) + Date.now().toString(36)).substr(2, 10);\n}\n/**\n * Generate a toastId or use the one provided\n */\n\n\nfunction getToastId(options) {\n if (options && (typeof options.toastId === 'string' || typeof options.toastId === 'number' && !isNaN(options.toastId))) {\n return options.toastId;\n }\n\n return generateToastId();\n}\n/**\n * If the container is not mounted, the toast is enqueued and\n * the container lazy mounted\n */\n\n\nfunction dispatchToast(content, options) {\n if (isAnyContainerMounted()) {\n eventManager.emit(ACTION.SHOW, content, options);\n } else {\n queue.push({\n action: ACTION.SHOW,\n content: content,\n options: options\n });\n\n if (lazy && canUseDom) {\n lazy = false;\n containerDomNode = document.createElement('div');\n document.body.appendChild(containerDomNode);\n render(React.createElement(ToastContainer, containerConfig), containerDomNode);\n }\n }\n\n return options.toastId;\n}\n\nvar toast = function toast(content, options) {\n return dispatchToast(content, mergeOptions(options, options && options.type || TYPE.DEFAULT));\n};\n/**\n * For each available type create a shortcut\n */\n\n\nvar _loop = function _loop(t) {\n if (TYPE[t] !== TYPE.DEFAULT) {\n toast[TYPE[t].toLowerCase()] = function (content, options) {\n return dispatchToast(content, mergeOptions(options, options && options.type || TYPE[t]));\n };\n }\n};\n\nfor (var t in TYPE) {\n _loop(t);\n}\n/**\n * Maybe I should remove warning in favor of warn, I don't know\n */\n\n\ntoast.warn = toast.warning;\n/**\n * Remove toast programmaticaly\n */\n\ntoast.dismiss = function (id) {\n if (id === void 0) {\n id = null;\n }\n\n return isAnyContainerMounted() && eventManager.emit(ACTION.CLEAR, id);\n};\n/**\n * return true if one container is displaying the toast\n */\n\n\ntoast.isActive = function (id) {\n var isToastActive = false;\n\n if (containers.size > 0) {\n containers.forEach(function (container) {\n if (container.isToastActive(id)) {\n isToastActive = true;\n }\n });\n }\n\n return isToastActive;\n};\n\ntoast.update = function (toastId, options) {\n if (options === void 0) {\n options = {};\n }\n\n // if you call toast and toast.update directly nothing will be displayed\n // this is why I defered the update\n setTimeout(function () {\n var toast = getToast(toastId, options);\n\n if (toast) {\n var oldOptions = toast.options,\n oldContent = toast.content;\n\n var nextOptions = _extends({}, oldOptions, {}, options, {\n toastId: options.toastId || toastId\n });\n\n if (!options.toastId || options.toastId === toastId) {\n nextOptions.updateId = generateToastId();\n } else {\n nextOptions.staleToastId = toastId;\n }\n\n var content = typeof nextOptions.render !== 'undefined' ? nextOptions.render : oldContent;\n delete nextOptions.render;\n dispatchToast(content, nextOptions);\n }\n }, 0);\n};\n/**\n * Used for controlled progress bar.\n */\n\n\ntoast.done = function (id) {\n toast.update(id, {\n progress: 1\n });\n};\n/**\n * Track changes. The callback get the number of toast displayed\n */\n\n\ntoast.onChange = function (callback) {\n if (typeof callback === 'function') {\n eventManager.on(ACTION.ON_CHANGE, callback);\n }\n};\n/**\n * Configure the ToastContainer when lazy mounted\n */\n\n\ntoast.configure = function (config) {\n lazy = true;\n containerConfig = config;\n};\n\ntoast.POSITION = POSITION;\ntoast.TYPE = TYPE;\n/**\n * Wait until the ToastContainer is mounted to dispatch the toast\n * and attach isActive method\n */\n\neventManager.on(ACTION.DID_MOUNT, function (containerInstance) {\n latestInstance = containerInstance.props.containerId || containerInstance;\n containers.set(latestInstance, containerInstance);\n queue.forEach(function (item) {\n eventManager.emit(item.action, item.content, item.options);\n });\n queue = [];\n}).on(ACTION.WILL_UNMOUNT, function (containerInstance) {\n if (containerInstance) containers.delete(containerInstance.props.containerId || containerInstance);else containers.clear();\n\n if (containers.size === 0) {\n eventManager.off(ACTION.SHOW).off(ACTION.CLEAR);\n }\n\n if (canUseDom && containerDomNode) {\n document.body.removeChild(containerDomNode);\n }\n});\n\nexport { Bounce, Flip, Slide, ToastContainer, POSITION as ToastPosition, TYPE as ToastType, Zoom, cssTransition, toast };\n","import _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _inheritsLoose from \"@babel/runtime/helpers/esm/inheritsLoose\";\nimport PropTypes from 'prop-types';\nimport React from 'react';\nimport ReactDOM from 'react-dom';\nimport config from './config';\nimport { timeoutsShape } from './utils/PropTypes';\nimport TransitionGroupContext from './TransitionGroupContext';\nimport { forceReflow } from './utils/reflow';\nexport var UNMOUNTED = 'unmounted';\nexport var EXITED = 'exited';\nexport var ENTERING = 'entering';\nexport var ENTERED = 'entered';\nexport var EXITING = 'exiting';\n/**\n * The Transition component lets you describe a transition from one component\n * state to another _over time_ with a simple declarative API. Most commonly\n * it's used to animate the mounting and unmounting of a component, but can also\n * be used to describe in-place transition states as well.\n *\n * ---\n *\n * **Note**: `Transition` is a platform-agnostic base component. If you're using\n * transitions in CSS, you'll probably want to use\n * [`CSSTransition`](https://reactcommunity.org/react-transition-group/css-transition)\n * instead. It inherits all the features of `Transition`, but contains\n * additional features necessary to play nice with CSS transitions (hence the\n * name of the component).\n *\n * ---\n *\n * By default the `Transition` component does not alter the behavior of the\n * component it renders, it only tracks \"enter\" and \"exit\" states for the\n * components. It's up to you to give meaning and effect to those states. For\n * example we can add styles to a component when it enters or exits:\n *\n * ```jsx\n * import { Transition } from 'react-transition-group';\n *\n * const duration = 300;\n *\n * const defaultStyle = {\n * transition: `opacity ${duration}ms ease-in-out`,\n * opacity: 0,\n * }\n *\n * const transitionStyles = {\n * entering: { opacity: 1 },\n * entered: { opacity: 1 },\n * exiting: { opacity: 0 },\n * exited: { opacity: 0 },\n * };\n *\n * const Fade = ({ in: inProp }) => (\n * \n * {state => (\n *
\n * I'm a fade Transition!\n *
\n * )}\n *
\n * );\n * ```\n *\n * There are 4 main states a Transition can be in:\n * - `'entering'`\n * - `'entered'`\n * - `'exiting'`\n * - `'exited'`\n *\n * Transition state is toggled via the `in` prop. When `true` the component\n * begins the \"Enter\" stage. During this stage, the component will shift from\n * its current transition state, to `'entering'` for the duration of the\n * transition and then to the `'entered'` stage once it's complete. Let's take\n * the following example (we'll use the\n * [useState](https://reactjs.org/docs/hooks-reference.html#usestate) hook):\n *\n * ```jsx\n * function App() {\n * const [inProp, setInProp] = useState(false);\n * return (\n *
\n * \n * {state => (\n * // ...\n * )}\n * \n * \n *
\n * );\n * }\n * ```\n *\n * When the button is clicked the component will shift to the `'entering'` state\n * and stay there for 500ms (the value of `timeout`) before it finally switches\n * to `'entered'`.\n *\n * When `in` is `false` the same thing happens except the state moves from\n * `'exiting'` to `'exited'`.\n */\n\nvar Transition = /*#__PURE__*/function (_React$Component) {\n _inheritsLoose(Transition, _React$Component);\n\n function Transition(props, context) {\n var _this;\n\n _this = _React$Component.call(this, props, context) || this;\n var parentGroup = context; // In the context of a TransitionGroup all enters are really appears\n\n var appear = parentGroup && !parentGroup.isMounting ? props.enter : props.appear;\n var initialStatus;\n _this.appearStatus = null;\n\n if (props.in) {\n if (appear) {\n initialStatus = EXITED;\n _this.appearStatus = ENTERING;\n } else {\n initialStatus = ENTERED;\n }\n } else {\n if (props.unmountOnExit || props.mountOnEnter) {\n initialStatus = UNMOUNTED;\n } else {\n initialStatus = EXITED;\n }\n }\n\n _this.state = {\n status: initialStatus\n };\n _this.nextCallback = null;\n return _this;\n }\n\n Transition.getDerivedStateFromProps = function getDerivedStateFromProps(_ref, prevState) {\n var nextIn = _ref.in;\n\n if (nextIn && prevState.status === UNMOUNTED) {\n return {\n status: EXITED\n };\n }\n\n return null;\n } // getSnapshotBeforeUpdate(prevProps) {\n // let nextStatus = null\n // if (prevProps !== this.props) {\n // const { status } = this.state\n // if (this.props.in) {\n // if (status !== ENTERING && status !== ENTERED) {\n // nextStatus = ENTERING\n // }\n // } else {\n // if (status === ENTERING || status === ENTERED) {\n // nextStatus = EXITING\n // }\n // }\n // }\n // return { nextStatus }\n // }\n ;\n\n var _proto = Transition.prototype;\n\n _proto.componentDidMount = function componentDidMount() {\n this.updateStatus(true, this.appearStatus);\n };\n\n _proto.componentDidUpdate = function componentDidUpdate(prevProps) {\n var nextStatus = null;\n\n if (prevProps !== this.props) {\n var status = this.state.status;\n\n if (this.props.in) {\n if (status !== ENTERING && status !== ENTERED) {\n nextStatus = ENTERING;\n }\n } else {\n if (status === ENTERING || status === ENTERED) {\n nextStatus = EXITING;\n }\n }\n }\n\n this.updateStatus(false, nextStatus);\n };\n\n _proto.componentWillUnmount = function componentWillUnmount() {\n this.cancelNextCallback();\n };\n\n _proto.getTimeouts = function getTimeouts() {\n var timeout = this.props.timeout;\n var exit, enter, appear;\n exit = enter = appear = timeout;\n\n if (timeout != null && typeof timeout !== 'number') {\n exit = timeout.exit;\n enter = timeout.enter; // TODO: remove fallback for next major\n\n appear = timeout.appear !== undefined ? timeout.appear : enter;\n }\n\n return {\n exit: exit,\n enter: enter,\n appear: appear\n };\n };\n\n _proto.updateStatus = function updateStatus(mounting, nextStatus) {\n if (mounting === void 0) {\n mounting = false;\n }\n\n if (nextStatus !== null) {\n // nextStatus will always be ENTERING or EXITING.\n this.cancelNextCallback();\n\n if (nextStatus === ENTERING) {\n if (this.props.unmountOnExit || this.props.mountOnEnter) {\n var node = this.props.nodeRef ? this.props.nodeRef.current : ReactDOM.findDOMNode(this); // https://github.com/reactjs/react-transition-group/pull/749\n // With unmountOnExit or mountOnEnter, the enter animation should happen at the transition between `exited` and `entering`.\n // To make the animation happen, we have to separate each rendering and avoid being processed as batched.\n\n if (node) forceReflow(node);\n }\n\n this.performEnter(mounting);\n } else {\n this.performExit();\n }\n } else if (this.props.unmountOnExit && this.state.status === EXITED) {\n this.setState({\n status: UNMOUNTED\n });\n }\n };\n\n _proto.performEnter = function performEnter(mounting) {\n var _this2 = this;\n\n var enter = this.props.enter;\n var appearing = this.context ? this.context.isMounting : mounting;\n\n var _ref2 = this.props.nodeRef ? [appearing] : [ReactDOM.findDOMNode(this), appearing],\n maybeNode = _ref2[0],\n maybeAppearing = _ref2[1];\n\n var timeouts = this.getTimeouts();\n var enterTimeout = appearing ? timeouts.appear : timeouts.enter; // no enter animation skip right to ENTERED\n // if we are mounting and running this it means appear _must_ be set\n\n if (!mounting && !enter || config.disabled) {\n this.safeSetState({\n status: ENTERED\n }, function () {\n _this2.props.onEntered(maybeNode);\n });\n return;\n }\n\n this.props.onEnter(maybeNode, maybeAppearing);\n this.safeSetState({\n status: ENTERING\n }, function () {\n _this2.props.onEntering(maybeNode, maybeAppearing);\n\n _this2.onTransitionEnd(enterTimeout, function () {\n _this2.safeSetState({\n status: ENTERED\n }, function () {\n _this2.props.onEntered(maybeNode, maybeAppearing);\n });\n });\n });\n };\n\n _proto.performExit = function performExit() {\n var _this3 = this;\n\n var exit = this.props.exit;\n var timeouts = this.getTimeouts();\n var maybeNode = this.props.nodeRef ? undefined : ReactDOM.findDOMNode(this); // no exit animation skip right to EXITED\n\n if (!exit || config.disabled) {\n this.safeSetState({\n status: EXITED\n }, function () {\n _this3.props.onExited(maybeNode);\n });\n return;\n }\n\n this.props.onExit(maybeNode);\n this.safeSetState({\n status: EXITING\n }, function () {\n _this3.props.onExiting(maybeNode);\n\n _this3.onTransitionEnd(timeouts.exit, function () {\n _this3.safeSetState({\n status: EXITED\n }, function () {\n _this3.props.onExited(maybeNode);\n });\n });\n });\n };\n\n _proto.cancelNextCallback = function cancelNextCallback() {\n if (this.nextCallback !== null) {\n this.nextCallback.cancel();\n this.nextCallback = null;\n }\n };\n\n _proto.safeSetState = function safeSetState(nextState, callback) {\n // This shouldn't be necessary, but there are weird race conditions with\n // setState callbacks and unmounting in testing, so always make sure that\n // we can cancel any pending setState callbacks after we unmount.\n callback = this.setNextCallback(callback);\n this.setState(nextState, callback);\n };\n\n _proto.setNextCallback = function setNextCallback(callback) {\n var _this4 = this;\n\n var active = true;\n\n this.nextCallback = function (event) {\n if (active) {\n active = false;\n _this4.nextCallback = null;\n callback(event);\n }\n };\n\n this.nextCallback.cancel = function () {\n active = false;\n };\n\n return this.nextCallback;\n };\n\n _proto.onTransitionEnd = function onTransitionEnd(timeout, handler) {\n this.setNextCallback(handler);\n var node = this.props.nodeRef ? this.props.nodeRef.current : ReactDOM.findDOMNode(this);\n var doesNotHaveTimeoutOrListener = timeout == null && !this.props.addEndListener;\n\n if (!node || doesNotHaveTimeoutOrListener) {\n setTimeout(this.nextCallback, 0);\n return;\n }\n\n if (this.props.addEndListener) {\n var _ref3 = this.props.nodeRef ? [this.nextCallback] : [node, this.nextCallback],\n maybeNode = _ref3[0],\n maybeNextCallback = _ref3[1];\n\n this.props.addEndListener(maybeNode, maybeNextCallback);\n }\n\n if (timeout != null) {\n setTimeout(this.nextCallback, timeout);\n }\n };\n\n _proto.render = function render() {\n var status = this.state.status;\n\n if (status === UNMOUNTED) {\n return null;\n }\n\n var _this$props = this.props,\n children = _this$props.children,\n _in = _this$props.in,\n _mountOnEnter = _this$props.mountOnEnter,\n _unmountOnExit = _this$props.unmountOnExit,\n _appear = _this$props.appear,\n _enter = _this$props.enter,\n _exit = _this$props.exit,\n _timeout = _this$props.timeout,\n _addEndListener = _this$props.addEndListener,\n _onEnter = _this$props.onEnter,\n _onEntering = _this$props.onEntering,\n _onEntered = _this$props.onEntered,\n _onExit = _this$props.onExit,\n _onExiting = _this$props.onExiting,\n _onExited = _this$props.onExited,\n _nodeRef = _this$props.nodeRef,\n childProps = _objectWithoutPropertiesLoose(_this$props, [\"children\", \"in\", \"mountOnEnter\", \"unmountOnExit\", \"appear\", \"enter\", \"exit\", \"timeout\", \"addEndListener\", \"onEnter\", \"onEntering\", \"onEntered\", \"onExit\", \"onExiting\", \"onExited\", \"nodeRef\"]);\n\n return (\n /*#__PURE__*/\n // allows for nested Transitions\n React.createElement(TransitionGroupContext.Provider, {\n value: null\n }, typeof children === 'function' ? children(status, childProps) : React.cloneElement(React.Children.only(children), childProps))\n );\n };\n\n return Transition;\n}(React.Component);\n\nTransition.contextType = TransitionGroupContext;\nTransition.propTypes = process.env.NODE_ENV !== \"production\" ? {\n /**\n * A React reference to DOM element that need to transition:\n * https://stackoverflow.com/a/51127130/4671932\n *\n * - When `nodeRef` prop is used, `node` is not passed to callback functions\n * (e.g. `onEnter`) because user already has direct access to the node.\n * - When changing `key` prop of `Transition` in a `TransitionGroup` a new\n * `nodeRef` need to be provided to `Transition` with changed `key` prop\n * (see\n * [test/CSSTransition-test.js](https://github.com/reactjs/react-transition-group/blob/13435f897b3ab71f6e19d724f145596f5910581c/test/CSSTransition-test.js#L362-L437)).\n */\n nodeRef: PropTypes.shape({\n current: typeof Element === 'undefined' ? PropTypes.any : function (propValue, key, componentName, location, propFullName, secret) {\n var value = propValue[key];\n return PropTypes.instanceOf(value && 'ownerDocument' in value ? value.ownerDocument.defaultView.Element : Element)(propValue, key, componentName, location, propFullName, secret);\n }\n }),\n\n /**\n * A `function` child can be used instead of a React element. This function is\n * called with the current transition status (`'entering'`, `'entered'`,\n * `'exiting'`, `'exited'`), which can be used to apply context\n * specific props to a component.\n *\n * ```jsx\n * \n * {state => (\n * \n * )}\n * \n * ```\n */\n children: PropTypes.oneOfType([PropTypes.func.isRequired, PropTypes.element.isRequired]).isRequired,\n\n /**\n * Show the component; triggers the enter or exit states\n */\n in: PropTypes.bool,\n\n /**\n * By default the child component is mounted immediately along with\n * the parent `Transition` component. If you want to \"lazy mount\" the component on the\n * first `in={true}` you can set `mountOnEnter`. After the first enter transition the component will stay\n * mounted, even on \"exited\", unless you also specify `unmountOnExit`.\n */\n mountOnEnter: PropTypes.bool,\n\n /**\n * By default the child component stays mounted after it reaches the `'exited'` state.\n * Set `unmountOnExit` if you'd prefer to unmount the component after it finishes exiting.\n */\n unmountOnExit: PropTypes.bool,\n\n /**\n * By default the child component does not perform the enter transition when\n * it first mounts, regardless of the value of `in`. If you want this\n * behavior, set both `appear` and `in` to `true`.\n *\n * > **Note**: there are no special appear states like `appearing`/`appeared`, this prop\n * > only adds an additional enter transition. However, in the\n * > `` component that first enter transition does result in\n * > additional `.appear-*` classes, that way you can choose to style it\n * > differently.\n */\n appear: PropTypes.bool,\n\n /**\n * Enable or disable enter transitions.\n */\n enter: PropTypes.bool,\n\n /**\n * Enable or disable exit transitions.\n */\n exit: PropTypes.bool,\n\n /**\n * The duration of the transition, in milliseconds.\n * Required unless `addEndListener` is provided.\n *\n * You may specify a single timeout for all transitions:\n *\n * ```jsx\n * timeout={500}\n * ```\n *\n * or individually:\n *\n * ```jsx\n * timeout={{\n * appear: 500,\n * enter: 300,\n * exit: 500,\n * }}\n * ```\n *\n * - `appear` defaults to the value of `enter`\n * - `enter` defaults to `0`\n * - `exit` defaults to `0`\n *\n * @type {number | { enter?: number, exit?: number, appear?: number }}\n */\n timeout: function timeout(props) {\n var pt = timeoutsShape;\n if (!props.addEndListener) pt = pt.isRequired;\n\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 return pt.apply(void 0, [props].concat(args));\n },\n\n /**\n * Add a custom transition end trigger. Called with the transitioning\n * DOM node and a `done` callback. Allows for more fine grained transition end\n * logic. Timeouts are still used as a fallback if provided.\n *\n * **Note**: when `nodeRef` prop is passed, `node` is not passed.\n *\n * ```jsx\n * addEndListener={(node, done) => {\n * // use the css transitionend event to mark the finish of a transition\n * node.addEventListener('transitionend', done, false);\n * }}\n * ```\n */\n addEndListener: PropTypes.func,\n\n /**\n * Callback fired before the \"entering\" status is applied. An extra parameter\n * `isAppearing` is supplied to indicate if the enter stage is occurring on the initial mount\n *\n * **Note**: when `nodeRef` prop is passed, `node` is not passed.\n *\n * @type Function(node: HtmlElement, isAppearing: bool) -> void\n */\n onEnter: PropTypes.func,\n\n /**\n * Callback fired after the \"entering\" status is applied. An extra parameter\n * `isAppearing` is supplied to indicate if the enter stage is occurring on the initial mount\n *\n * **Note**: when `nodeRef` prop is passed, `node` is not passed.\n *\n * @type Function(node: HtmlElement, isAppearing: bool)\n */\n onEntering: PropTypes.func,\n\n /**\n * Callback fired after the \"entered\" status is applied. An extra parameter\n * `isAppearing` is supplied to indicate if the enter stage is occurring on the initial mount\n *\n * **Note**: when `nodeRef` prop is passed, `node` is not passed.\n *\n * @type Function(node: HtmlElement, isAppearing: bool) -> void\n */\n onEntered: PropTypes.func,\n\n /**\n * Callback fired before the \"exiting\" status is applied.\n *\n * **Note**: when `nodeRef` prop is passed, `node` is not passed.\n *\n * @type Function(node: HtmlElement) -> void\n */\n onExit: PropTypes.func,\n\n /**\n * Callback fired after the \"exiting\" status is applied.\n *\n * **Note**: when `nodeRef` prop is passed, `node` is not passed.\n *\n * @type Function(node: HtmlElement) -> void\n */\n onExiting: PropTypes.func,\n\n /**\n * Callback fired after the \"exited\" status is applied.\n *\n * **Note**: when `nodeRef` prop is passed, `node` is not passed\n *\n * @type Function(node: HtmlElement) -> void\n */\n onExited: PropTypes.func\n} : {}; // Name the function so it is clearer in the documentation\n\nfunction noop() {}\n\nTransition.defaultProps = {\n in: false,\n mountOnEnter: false,\n unmountOnExit: false,\n appear: false,\n enter: true,\n exit: true,\n onEnter: noop,\n onEntering: noop,\n onEntered: noop,\n onExit: noop,\n onExiting: noop,\n onExited: noop\n};\nTransition.UNMOUNTED = UNMOUNTED;\nTransition.EXITED = EXITED;\nTransition.ENTERING = ENTERING;\nTransition.ENTERED = ENTERED;\nTransition.EXITING = EXITING;\nexport default Transition;","import _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _assertThisInitialized from \"@babel/runtime/helpers/esm/assertThisInitialized\";\nimport _inheritsLoose from \"@babel/runtime/helpers/esm/inheritsLoose\";\nimport PropTypes from 'prop-types';\nimport React from 'react';\nimport TransitionGroupContext from './TransitionGroupContext';\nimport { getChildMapping, getInitialChildMapping, getNextChildMapping } from './utils/ChildMapping';\n\nvar values = Object.values || function (obj) {\n return Object.keys(obj).map(function (k) {\n return obj[k];\n });\n};\n\nvar defaultProps = {\n component: 'div',\n childFactory: function childFactory(child) {\n return child;\n }\n};\n/**\n * The `` component manages a set of transition components\n * (`` and ``) in a list. Like with the transition\n * components, `` is a state machine for managing the mounting\n * and unmounting of components over time.\n *\n * Consider the example below. As items are removed or added to the TodoList the\n * `in` prop is toggled automatically by the ``.\n *\n * Note that `` does not define any animation behavior!\n * Exactly _how_ a list item animates is up to the individual transition\n * component. This means you can mix and match animations across different list\n * items.\n */\n\nvar TransitionGroup = /*#__PURE__*/function (_React$Component) {\n _inheritsLoose(TransitionGroup, _React$Component);\n\n function TransitionGroup(props, context) {\n var _this;\n\n _this = _React$Component.call(this, props, context) || this;\n\n var handleExited = _this.handleExited.bind(_assertThisInitialized(_this)); // Initial children should all be entering, dependent on appear\n\n\n _this.state = {\n contextValue: {\n isMounting: true\n },\n handleExited: handleExited,\n firstRender: true\n };\n return _this;\n }\n\n var _proto = TransitionGroup.prototype;\n\n _proto.componentDidMount = function componentDidMount() {\n this.mounted = true;\n this.setState({\n contextValue: {\n isMounting: false\n }\n });\n };\n\n _proto.componentWillUnmount = function componentWillUnmount() {\n this.mounted = false;\n };\n\n TransitionGroup.getDerivedStateFromProps = function getDerivedStateFromProps(nextProps, _ref) {\n var prevChildMapping = _ref.children,\n handleExited = _ref.handleExited,\n firstRender = _ref.firstRender;\n return {\n children: firstRender ? getInitialChildMapping(nextProps, handleExited) : getNextChildMapping(nextProps, prevChildMapping, handleExited),\n firstRender: false\n };\n } // node is `undefined` when user provided `nodeRef` prop\n ;\n\n _proto.handleExited = function handleExited(child, node) {\n var currentChildMapping = getChildMapping(this.props.children);\n if (child.key in currentChildMapping) return;\n\n if (child.props.onExited) {\n child.props.onExited(node);\n }\n\n if (this.mounted) {\n this.setState(function (state) {\n var children = _extends({}, state.children);\n\n delete children[child.key];\n return {\n children: children\n };\n });\n }\n };\n\n _proto.render = function render() {\n var _this$props = this.props,\n Component = _this$props.component,\n childFactory = _this$props.childFactory,\n props = _objectWithoutPropertiesLoose(_this$props, [\"component\", \"childFactory\"]);\n\n var contextValue = this.state.contextValue;\n var children = values(this.state.children).map(childFactory);\n delete props.appear;\n delete props.enter;\n delete props.exit;\n\n if (Component === null) {\n return /*#__PURE__*/React.createElement(TransitionGroupContext.Provider, {\n value: contextValue\n }, children);\n }\n\n return /*#__PURE__*/React.createElement(TransitionGroupContext.Provider, {\n value: contextValue\n }, /*#__PURE__*/React.createElement(Component, props, children));\n };\n\n return TransitionGroup;\n}(React.Component);\n\nTransitionGroup.propTypes = process.env.NODE_ENV !== \"production\" ? {\n /**\n * `` renders a `
` by default. You can change this\n * behavior by providing a `component` prop.\n * If you use React v16+ and would like to avoid a wrapping `
` element\n * you can pass in `component={null}`. This is useful if the wrapping div\n * borks your css styles.\n */\n component: PropTypes.any,\n\n /**\n * A set of `` components, that are toggled `in` and out as they\n * leave. the `` will inject specific transition props, so\n * remember to spread them through if you are wrapping the `` as\n * with our `` example.\n *\n * While this component is meant for multiple `Transition` or `CSSTransition`\n * children, sometimes you may want to have a single transition child with\n * content that you want to be transitioned out and in when you change it\n * (e.g. routes, images etc.) In that case you can change the `key` prop of\n * the transition child as you change its content, this will cause\n * `TransitionGroup` to transition the child out and back in.\n */\n children: PropTypes.node,\n\n /**\n * A convenience prop that enables or disables appear animations\n * for all children. Note that specifying this will override any defaults set\n * on individual children Transitions.\n */\n appear: PropTypes.bool,\n\n /**\n * A convenience prop that enables or disables enter animations\n * for all children. Note that specifying this will override any defaults set\n * on individual children Transitions.\n */\n enter: PropTypes.bool,\n\n /**\n * A convenience prop that enables or disables exit animations\n * for all children. Note that specifying this will override any defaults set\n * on individual children Transitions.\n */\n exit: PropTypes.bool,\n\n /**\n * You may need to apply reactive updates to a child as it is exiting.\n * This is generally done by using `cloneElement` however in the case of an exiting\n * child the element has already been removed and not accessible to the consumer.\n *\n * If you do need to update a child as it leaves you can provide a `childFactory`\n * to wrap every child, even the ones that are leaving.\n *\n * @type Function(child: ReactElement) -> ReactElement\n */\n childFactory: PropTypes.func\n} : {};\nTransitionGroup.defaultProps = defaultProps;\nexport default TransitionGroup;","import React from 'react';\nexport default React.createContext(null);","export default {\n disabled: false\n};","import { Children, cloneElement, isValidElement } from 'react';\n/**\n * Given `this.props.children`, return an object mapping key to child.\n *\n * @param {*} children `this.props.children`\n * @return {object} Mapping of key to child\n */\n\nexport function getChildMapping(children, mapFn) {\n var mapper = function mapper(child) {\n return mapFn && isValidElement(child) ? mapFn(child) : child;\n };\n\n var result = Object.create(null);\n if (children) Children.map(children, function (c) {\n return c;\n }).forEach(function (child) {\n // run the map function here instead so that the key is the computed one\n result[child.key] = mapper(child);\n });\n return result;\n}\n/**\n * When you're adding or removing children some may be added or removed in the\n * same render pass. We want to show *both* since we want to simultaneously\n * animate elements in and out. This function takes a previous set of keys\n * and a new set of keys and merges them with its best guess of the correct\n * ordering. In the future we may expose some of the utilities in\n * ReactMultiChild to make this easy, but for now React itself does not\n * directly have this concept of the union of prevChildren and nextChildren\n * so we implement it here.\n *\n * @param {object} prev prev children as returned from\n * `ReactTransitionChildMapping.getChildMapping()`.\n * @param {object} next next children as returned from\n * `ReactTransitionChildMapping.getChildMapping()`.\n * @return {object} a key set that contains all keys in `prev` and all keys\n * in `next` in a reasonable order.\n */\n\nexport function mergeChildMappings(prev, next) {\n prev = prev || {};\n next = next || {};\n\n function getValueForKey(key) {\n return key in next ? next[key] : prev[key];\n } // For each key of `next`, the list of keys to insert before that key in\n // the combined list\n\n\n var nextKeysPending = Object.create(null);\n var pendingKeys = [];\n\n for (var prevKey in prev) {\n if (prevKey in next) {\n if (pendingKeys.length) {\n nextKeysPending[prevKey] = pendingKeys;\n pendingKeys = [];\n }\n } else {\n pendingKeys.push(prevKey);\n }\n }\n\n var i;\n var childMapping = {};\n\n for (var nextKey in next) {\n if (nextKeysPending[nextKey]) {\n for (i = 0; i < nextKeysPending[nextKey].length; i++) {\n var pendingNextKey = nextKeysPending[nextKey][i];\n childMapping[nextKeysPending[nextKey][i]] = getValueForKey(pendingNextKey);\n }\n }\n\n childMapping[nextKey] = getValueForKey(nextKey);\n } // Finally, add the keys which didn't appear before any key in `next`\n\n\n for (i = 0; i < pendingKeys.length; i++) {\n childMapping[pendingKeys[i]] = getValueForKey(pendingKeys[i]);\n }\n\n return childMapping;\n}\n\nfunction getProp(child, prop, props) {\n return props[prop] != null ? props[prop] : child.props[prop];\n}\n\nexport function getInitialChildMapping(props, onExited) {\n return getChildMapping(props.children, function (child) {\n return cloneElement(child, {\n onExited: onExited.bind(null, child),\n in: true,\n appear: getProp(child, 'appear', props),\n enter: getProp(child, 'enter', props),\n exit: getProp(child, 'exit', props)\n });\n });\n}\nexport function getNextChildMapping(nextProps, prevChildMapping, onExited) {\n var nextChildMapping = getChildMapping(nextProps.children);\n var children = mergeChildMappings(prevChildMapping, nextChildMapping);\n Object.keys(children).forEach(function (key) {\n var child = children[key];\n if (!isValidElement(child)) return;\n var hasPrev = (key in prevChildMapping);\n var hasNext = (key in nextChildMapping);\n var prevChild = prevChildMapping[key];\n var isLeaving = isValidElement(prevChild) && !prevChild.props.in; // item is new (entering)\n\n if (hasNext && (!hasPrev || isLeaving)) {\n // console.log('entering', key)\n children[key] = cloneElement(child, {\n onExited: onExited.bind(null, child),\n in: true,\n exit: getProp(child, 'exit', nextProps),\n enter: getProp(child, 'enter', nextProps)\n });\n } else if (!hasNext && hasPrev && !isLeaving) {\n // item is old (exiting)\n // console.log('leaving', key)\n children[key] = cloneElement(child, {\n in: false\n });\n } else if (hasNext && hasPrev && isValidElement(prevChild)) {\n // item hasn't changed transition states\n // copy over the last transition props;\n // console.log('unchanged', key)\n children[key] = cloneElement(child, {\n onExited: onExited.bind(null, child),\n in: prevChild.props.in,\n exit: getProp(child, 'exit', nextProps),\n enter: getProp(child, 'enter', nextProps)\n });\n }\n });\n return children;\n}","export var forceReflow = function forceReflow(node) {\n return node.scrollTop;\n};","/** @license React v16.13.1\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\n'use strict';var l=require(\"object-assign\"),n=\"function\"===typeof Symbol&&Symbol.for,p=n?Symbol.for(\"react.element\"):60103,q=n?Symbol.for(\"react.portal\"):60106,r=n?Symbol.for(\"react.fragment\"):60107,t=n?Symbol.for(\"react.strict_mode\"):60108,u=n?Symbol.for(\"react.profiler\"):60114,v=n?Symbol.for(\"react.provider\"):60109,w=n?Symbol.for(\"react.context\"):60110,x=n?Symbol.for(\"react.forward_ref\"):60112,y=n?Symbol.for(\"react.suspense\"):60113,z=n?Symbol.for(\"react.memo\"):60115,A=n?Symbol.for(\"react.lazy\"):\n60116,B=\"function\"===typeof Symbol&&Symbol.iterator;function C(a){for(var b=\"https://reactjs.org/docs/error-decoder.html?invariant=\"+a,c=1;cQ.length&&Q.push(a)}\nfunction T(a,b,c,e){var d=typeof a;if(\"undefined\"===d||\"boolean\"===d)a=null;var g=!1;if(null===a)g=!0;else switch(d){case \"string\":case \"number\":g=!0;break;case \"object\":switch(a.$$typeof){case p:case q:g=!0}}if(g)return c(e,a,\"\"===b?\".\"+U(a,0):b),1;g=0;b=\"\"===b?\".\":b+\":\";if(Array.isArray(a))for(var k=0;k 0) {\n return 'Unexpected ' + (unexpectedKeys.length > 1 ? 'keys' : 'key') + ' ' + ('\"' + unexpectedKeys.join('\", \"') + '\" found in ' + argumentName + '. ') + 'Expected to find one of the known reducer keys instead: ' + ('\"' + reducerKeys.join('\", \"') + '\". Unexpected keys will be ignored.');\n }\n}\n\nfunction assertReducerShape(reducers) {\n Object.keys(reducers).forEach(function (key) {\n var reducer = reducers[key];\n var initialState = reducer(undefined, { type: ActionTypes.INIT });\n\n if (typeof initialState === 'undefined') {\n throw new Error('Reducer \"' + key + '\" returned undefined during initialization. ' + 'If the state passed to the reducer is undefined, you must ' + 'explicitly return the initial state. The initial state may ' + 'not be undefined. If you don\\'t want to set a value for this reducer, ' + 'you can use null instead of undefined.');\n }\n\n var type = '@@redux/PROBE_UNKNOWN_ACTION_' + Math.random().toString(36).substring(7).split('').join('.');\n if (typeof reducer(undefined, { type: type }) === 'undefined') {\n throw new Error('Reducer \"' + key + '\" returned undefined when probed with a random type. ' + ('Don\\'t try to handle ' + ActionTypes.INIT + ' or other actions in \"redux/*\" ') + 'namespace. They are considered private. Instead, you must return the ' + 'current state for any unknown actions, unless it is undefined, ' + 'in which case you must return the initial state, regardless of the ' + 'action type. The initial state may not be undefined, but can be null.');\n }\n });\n}\n\n/**\n * Turns an object whose values are different reducer functions, into a single\n * reducer function. It will call every child reducer, and gather their results\n * into a single state object, whose keys correspond to the keys of the passed\n * reducer functions.\n *\n * @param {Object} reducers An object whose values correspond to different\n * reducer functions that need to be combined into one. One handy way to obtain\n * it is to use ES6 `import * as reducers` syntax. The reducers may never return\n * undefined for any action. Instead, they should return their initial state\n * if the state passed to them was undefined, and the current state for any\n * unrecognized action.\n *\n * @returns {Function} A reducer function that invokes every reducer inside the\n * passed object, and builds a state object with the same shape.\n */\nexport default function combineReducers(reducers) {\n var reducerKeys = Object.keys(reducers);\n var finalReducers = {};\n for (var i = 0; i < reducerKeys.length; i++) {\n var key = reducerKeys[i];\n\n if (process.env.NODE_ENV !== 'production') {\n if (typeof reducers[key] === 'undefined') {\n warning('No reducer provided for key \"' + key + '\"');\n }\n }\n\n if (typeof reducers[key] === 'function') {\n finalReducers[key] = reducers[key];\n }\n }\n var finalReducerKeys = Object.keys(finalReducers);\n\n var unexpectedKeyCache = void 0;\n if (process.env.NODE_ENV !== 'production') {\n unexpectedKeyCache = {};\n }\n\n var shapeAssertionError = void 0;\n try {\n assertReducerShape(finalReducers);\n } catch (e) {\n shapeAssertionError = e;\n }\n\n return function combination() {\n var state = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var action = arguments[1];\n\n if (shapeAssertionError) {\n throw shapeAssertionError;\n }\n\n if (process.env.NODE_ENV !== 'production') {\n var warningMessage = getUnexpectedStateShapeWarningMessage(state, finalReducers, action, unexpectedKeyCache);\n if (warningMessage) {\n warning(warningMessage);\n }\n }\n\n var hasChanged = false;\n var nextState = {};\n for (var _i = 0; _i < finalReducerKeys.length; _i++) {\n var _key = finalReducerKeys[_i];\n var reducer = finalReducers[_key];\n var previousStateForKey = state[_key];\n var nextStateForKey = reducer(previousStateForKey, action);\n if (typeof nextStateForKey === 'undefined') {\n var errorMessage = getUndefinedStateErrorMessage(_key, action);\n throw new Error(errorMessage);\n }\n nextState[_key] = nextStateForKey;\n hasChanged = hasChanged || nextStateForKey !== previousStateForKey;\n }\n return hasChanged ? nextState : state;\n };\n}","/**\n * Composes single-argument functions from right to left. The rightmost\n * function can take multiple arguments as it provides the signature for\n * the resulting composite function.\n *\n * @param {...Function} funcs The functions to compose.\n * @returns {Function} A function obtained by composing the argument functions\n * from right to left. For example, compose(f, g, h) is identical to doing\n * (...args) => f(g(h(...args))).\n */\n\nexport default function compose() {\n for (var _len = arguments.length, funcs = Array(_len), _key = 0; _key < _len; _key++) {\n funcs[_key] = arguments[_key];\n }\n\n if (funcs.length === 0) {\n return function (arg) {\n return arg;\n };\n }\n\n if (funcs.length === 1) {\n return funcs[0];\n }\n\n return funcs.reduce(function (a, b) {\n return function () {\n return a(b.apply(undefined, arguments));\n };\n });\n}","import isPlainObject from 'lodash-es/isPlainObject';\nimport $$observable from 'symbol-observable';\n\n/**\n * These are private action types reserved by Redux.\n * For any unknown actions, you must return the current state.\n * If the current state is undefined, you must return the initial state.\n * Do not reference these action types directly in your code.\n */\nexport var ActionTypes = {\n INIT: '@@redux/INIT'\n\n /**\n * Creates a Redux store that holds the state tree.\n * The only way to change the data in the store is to call `dispatch()` on it.\n *\n * There should only be a single store in your app. To specify how different\n * parts of the state tree respond to actions, you may combine several reducers\n * into a single reducer function by using `combineReducers`.\n *\n * @param {Function} reducer A function that returns the next state tree, given\n * the current state tree and the action to handle.\n *\n * @param {any} [preloadedState] The initial state. You may optionally specify it\n * to hydrate the state from the server in universal apps, or to restore a\n * previously serialized user session.\n * If you use `combineReducers` to produce the root reducer function, this must be\n * an object with the same shape as `combineReducers` keys.\n *\n * @param {Function} [enhancer] The store enhancer. You may optionally specify it\n * to enhance the store with third-party capabilities such as middleware,\n * time travel, persistence, etc. The only store enhancer that ships with Redux\n * is `applyMiddleware()`.\n *\n * @returns {Store} A Redux store that lets you read the state, dispatch actions\n * and subscribe to changes.\n */\n};export default function createStore(reducer, preloadedState, enhancer) {\n var _ref2;\n\n if (typeof preloadedState === 'function' && typeof enhancer === 'undefined') {\n enhancer = preloadedState;\n preloadedState = undefined;\n }\n\n if (typeof enhancer !== 'undefined') {\n if (typeof enhancer !== 'function') {\n throw new Error('Expected the enhancer to be a function.');\n }\n\n return enhancer(createStore)(reducer, preloadedState);\n }\n\n if (typeof reducer !== 'function') {\n throw new Error('Expected the reducer to be a function.');\n }\n\n var currentReducer = reducer;\n var currentState = preloadedState;\n var currentListeners = [];\n var nextListeners = currentListeners;\n var isDispatching = false;\n\n function ensureCanMutateNextListeners() {\n if (nextListeners === currentListeners) {\n nextListeners = currentListeners.slice();\n }\n }\n\n /**\n * Reads the state tree managed by the store.\n *\n * @returns {any} The current state tree of your application.\n */\n function getState() {\n return currentState;\n }\n\n /**\n * Adds a change listener. It will be called any time an action is dispatched,\n * and some part of the state tree may potentially have changed. You may then\n * call `getState()` to read the current state tree inside the callback.\n *\n * You may call `dispatch()` from a change listener, with the following\n * caveats:\n *\n * 1. The subscriptions are snapshotted just before every `dispatch()` call.\n * If you subscribe or unsubscribe while the listeners are being invoked, this\n * will not have any effect on the `dispatch()` that is currently in progress.\n * However, the next `dispatch()` call, whether nested or not, will use a more\n * recent snapshot of the subscription list.\n *\n * 2. The listener should not expect to see all state changes, as the state\n * might have been updated multiple times during a nested `dispatch()` before\n * the listener is called. It is, however, guaranteed that all subscribers\n * registered before the `dispatch()` started will be called with the latest\n * state by the time it exits.\n *\n * @param {Function} listener A callback to be invoked on every dispatch.\n * @returns {Function} A function to remove this change listener.\n */\n function subscribe(listener) {\n if (typeof listener !== 'function') {\n throw new Error('Expected listener to be a function.');\n }\n\n var isSubscribed = true;\n\n ensureCanMutateNextListeners();\n nextListeners.push(listener);\n\n return function unsubscribe() {\n if (!isSubscribed) {\n return;\n }\n\n isSubscribed = false;\n\n ensureCanMutateNextListeners();\n var index = nextListeners.indexOf(listener);\n nextListeners.splice(index, 1);\n };\n }\n\n /**\n * Dispatches an action. It is the only way to trigger a state change.\n *\n * The `reducer` function, used to create the store, will be called with the\n * current state tree and the given `action`. Its return value will\n * be considered the **next** state of the tree, and the change listeners\n * will be notified.\n *\n * The base implementation only supports plain object actions. If you want to\n * dispatch a Promise, an Observable, a thunk, or something else, you need to\n * wrap your store creating function into the corresponding middleware. For\n * example, see the documentation for the `redux-thunk` package. Even the\n * middleware will eventually dispatch plain object actions using this method.\n *\n * @param {Object} action A plain object representing “what changed”. It is\n * a good idea to keep actions serializable so you can record and replay user\n * sessions, or use the time travelling `redux-devtools`. An action must have\n * a `type` property which may not be `undefined`. It is a good idea to use\n * string constants for action types.\n *\n * @returns {Object} For convenience, the same action object you dispatched.\n *\n * Note that, if you use a custom middleware, it may wrap `dispatch()` to\n * return something else (for example, a Promise you can await).\n */\n function dispatch(action) {\n if (!isPlainObject(action)) {\n throw new Error('Actions must be plain objects. ' + 'Use custom middleware for async actions.');\n }\n\n if (typeof action.type === 'undefined') {\n throw new Error('Actions may not have an undefined \"type\" property. ' + 'Have you misspelled a constant?');\n }\n\n if (isDispatching) {\n throw new Error('Reducers may not dispatch actions.');\n }\n\n try {\n isDispatching = true;\n currentState = currentReducer(currentState, action);\n } finally {\n isDispatching = false;\n }\n\n var listeners = currentListeners = nextListeners;\n for (var i = 0; i < listeners.length; i++) {\n var listener = listeners[i];\n listener();\n }\n\n return action;\n }\n\n /**\n * Replaces the reducer currently used by the store to calculate the state.\n *\n * You might need this if your app implements code splitting and you want to\n * load some of the reducers dynamically. You might also need this if you\n * implement a hot reloading mechanism for Redux.\n *\n * @param {Function} nextReducer The reducer for the store to use instead.\n * @returns {void}\n */\n function replaceReducer(nextReducer) {\n if (typeof nextReducer !== 'function') {\n throw new Error('Expected the nextReducer to be a function.');\n }\n\n currentReducer = nextReducer;\n dispatch({ type: ActionTypes.INIT });\n }\n\n /**\n * Interoperability point for observable/reactive libraries.\n * @returns {observable} A minimal observable of state changes.\n * For more information, see the observable proposal:\n * https://github.com/tc39/proposal-observable\n */\n function observable() {\n var _ref;\n\n var outerSubscribe = subscribe;\n return _ref = {\n /**\n * The minimal observable subscription method.\n * @param {Object} observer Any object that can be used as an observer.\n * The observer object should have a `next` method.\n * @returns {subscription} An object with an `unsubscribe` method that can\n * be used to unsubscribe the observable from the store, and prevent further\n * emission of values from the observable.\n */\n subscribe: function subscribe(observer) {\n if (typeof observer !== 'object') {\n throw new TypeError('Expected the observer to be an object.');\n }\n\n function observeState() {\n if (observer.next) {\n observer.next(getState());\n }\n }\n\n observeState();\n var unsubscribe = outerSubscribe(observeState);\n return { unsubscribe: unsubscribe };\n }\n }, _ref[$$observable] = function () {\n return this;\n }, _ref;\n }\n\n // When a store is created, an \"INIT\" action is dispatched so that every\n // reducer returns their initial state. This effectively populates\n // the initial state tree.\n dispatch({ type: ActionTypes.INIT });\n\n return _ref2 = {\n dispatch: dispatch,\n subscribe: subscribe,\n getState: getState,\n replaceReducer: replaceReducer\n }, _ref2[$$observable] = observable, _ref2;\n}","'use strict';\n\nObject.defineProperty(exports, '__esModule', { value: true });\n\nfunction _interopDefault (ex) { return (ex && (typeof ex === 'object') && 'default' in ex) ? ex['default'] : ex; }\n\nvar R = require('ramda');\nvar R__default = _interopDefault(R);\nvar RS = _interopDefault(require('ramdasauce'));\n\n/**\n Creates a reducer.\n @param {string} initialState - The initial state for this reducer.\n @param {object} handlers - Keys are action types (strings), values are reducers (functions).\n @return {object} A reducer object.\n */\nvar cr = (function (initialState, handlers) {\n // initial state is required\n if (R__default.isNil(initialState)) {\n throw new Error('initial state is required');\n }\n\n // handlers must be an object\n if (R__default.isNil(handlers) || !R__default.is(Object, handlers)) {\n throw new Error('handlers must be an object');\n }\n\n // handlers cannot have an undefined key\n if (R__default.any(R__default.equals('undefined'))(R__default.keys(handlers))) {\n throw new Error('handlers cannot have an undefined key');\n }\n\n // create the reducer function\n return function () {\n var state = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : initialState;\n var action = arguments[1];\n\n // wrong actions, just return state\n if (R__default.isNil(action)) return state;\n if (!R__default.has('type', action)) return state;\n\n // look for the handler\n var handler = handlers[action.type];\n\n // no handler no cry\n if (R__default.isNil(handler)) return state;\n\n // execute the handler\n return handler(state, action);\n };\n});\n\nvar defaultOptions = {\n prefix: ''\n};\n\nvar createTypes$1 = (function (types, options) {\n if (RS.isNilOrEmpty(types)) throw new Error('valid types are required');\n\n var _R$merge = R__default.merge(defaultOptions, options),\n prefix = _R$merge.prefix;\n\n return R__default.pipe(R__default.trim, R__default.split(/\\s/), R__default.map(R__default.pipe(R__default.trim)), R__default.without([null, '']), R__default.map(function (x) {\n return [x, prefix + x];\n }), R__default.fromPairs)(types);\n});\n\nvar _extends = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n\n return target;\n};\n\nvar defaultOptions$1 = {\n prefix: ''\n};\n\n// matches on capital letters (except at the start & end of the string)\nvar RX_CAPS = /(?!^)([A-Z])/g;\n\n// converts a camelCaseWord into a SCREAMING_SNAKE_CASE word\nvar camelToScreamingSnake = R.pipe(R.replace(RX_CAPS, '_$1'), R.toUpper);\n\n// build Action Types out of an object\nvar convertToTypes = function convertToTypes(config, options) {\n var typesCreator = R.curry(createTypes$1)(R.__, options);\n\n return R.pipe(R.keys, // just the keys\n R.map(camelToScreamingSnake), // CONVERT_THEM\n R.join(' '), // space separated\n typesCreator // make them into Redux Types\n )(config);\n};\n\n// an action creator with additional properties\nvar createActionCreator = function createActionCreator(name, extraPropNames, options) {\n var _merge = R.merge(defaultOptions$1, options),\n prefix = _merge.prefix;\n\n // types are upcase and snakey\n\n\n var type = prefix + camelToScreamingSnake(name);\n\n // do we need extra props for this?\n var noKeys = R.isNil(extraPropNames) || R.isEmpty(extraPropNames);\n\n // a type-only action creator\n if (noKeys) return function () {\n return { type: type };\n };\n\n // an action creator with type + properties\n return function () {\n for (var _len = arguments.length, values = Array(_len), _key = 0; _key < _len; _key++) {\n values[_key] = arguments[_key];\n }\n\n var extraProps = R.zipObj(extraPropNames, values);\n return _extends({ type: type }, extraProps);\n };\n};\n\n// build Action Creators out of an objet\nvar convertToCreators = function convertToCreators(config, options) {\n return R.mapObjIndexed(function (num, key, value) {\n if (typeof value[key] === 'function') {\n // the user brought their own action creator\n return value[key];\n } else {\n // lets make an action creator for them!\n return createActionCreator(key, value[key], options);\n }\n })(config);\n};\n\nvar ca = (function (config, options) {\n if (R.isNil(config)) {\n throw new Error('an object is required to setup types and creators');\n }\n if (R.isEmpty(config)) {\n throw new Error('empty objects are not supported');\n }\n\n return {\n Types: convertToTypes(config, options),\n Creators: convertToCreators(config, options)\n };\n});\n\n/**\n * Allows your reducers to be reset.\n *\n * @param {string} typeToReset - The action type to listen for.\n * @param {function} originalReducer - The reducer to wrap.\n */\nfunction resettableReducer$1(typeToReset, originalReducer) {\n // a valid type is required\n if (!R.is(String, typeToReset) || typeToReset === '') {\n throw new Error('A valid reset type is required.');\n }\n\n // an original reducer is required\n if (typeof originalReducer !== 'function') {\n throw new Error('A reducer is required.');\n }\n // run it through first to get what the default state should be\n var resetState = originalReducer(undefined, {});\n\n // create our own reducer that wraps the original one and hijacks the reset\n function reducer() {\n var state = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : resetState;\n var action = arguments[1];\n\n if (action && action.type === typeToReset) {\n return resetState;\n } else {\n return originalReducer(state, action);\n }\n }\n return reducer;\n}\n\nvar rr = R.curry(resettableReducer$1);\n\nvar createReducer = cr;\nvar createTypes = createTypes$1;\nvar createActions = ca;\nvar resettableReducer = rr;\n\nexports.createReducer = createReducer;\nexports.createTypes = createTypes;\nexports.createActions = createActions;\nexports.resettableReducer = resettableReducer;\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","/** @license React v0.19.1\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\n'use strict';var f,g,h,k,l;\nif(\"undefined\"===typeof window||\"function\"!==typeof MessageChannel){var p=null,q=null,t=function(){if(null!==p)try{var a=exports.unstable_now();p(!0,a);p=null}catch(b){throw setTimeout(t,0),b;}},u=Date.now();exports.unstable_now=function(){return Date.now()-u};f=function(a){null!==p?setTimeout(f,0,a):(p=a,setTimeout(t,0))};g=function(a,b){q=setTimeout(a,b)};h=function(){clearTimeout(q)};k=function(){return!1};l=exports.unstable_forceFrameRate=function(){}}else{var w=window.performance,x=window.Date,\ny=window.setTimeout,z=window.clearTimeout;if(\"undefined\"!==typeof console){var A=window.cancelAnimationFrame;\"function\"!==typeof window.requestAnimationFrame&&console.error(\"This browser doesn't support requestAnimationFrame. Make sure that you load a polyfill in older browsers. https://fb.me/react-polyfills\");\"function\"!==typeof A&&console.error(\"This browser doesn't support cancelAnimationFrame. Make sure that you load a polyfill in older browsers. https://fb.me/react-polyfills\")}if(\"object\"===\ntypeof w&&\"function\"===typeof w.now)exports.unstable_now=function(){return w.now()};else{var B=x.now();exports.unstable_now=function(){return x.now()-B}}var C=!1,D=null,E=-1,F=5,G=0;k=function(){return exports.unstable_now()>=G};l=function(){};exports.unstable_forceFrameRate=function(a){0>a||125>>1,e=a[d];if(void 0!==e&&0K(n,c))void 0!==r&&0>K(r,n)?(a[d]=r,a[v]=c,d=v):(a[d]=n,a[m]=c,d=m);else if(void 0!==r&&0>K(r,c))a[d]=r,a[v]=c,d=v;else break a}}return b}return null}function K(a,b){var c=a.sortIndex-b.sortIndex;return 0!==c?c:a.id-b.id}var N=[],O=[],P=1,Q=null,R=3,S=!1,T=!1,U=!1;\nfunction V(a){for(var b=L(O);null!==b;){if(null===b.callback)M(O);else if(b.startTime<=a)M(O),b.sortIndex=b.expirationTime,J(N,b);else break;b=L(O)}}function W(a){U=!1;V(a);if(!T)if(null!==L(N))T=!0,f(X);else{var b=L(O);null!==b&&g(W,b.startTime-a)}}\nfunction X(a,b){T=!1;U&&(U=!1,h());S=!0;var c=R;try{V(b);for(Q=L(N);null!==Q&&(!(Q.expirationTime>b)||a&&!k());){var d=Q.callback;if(null!==d){Q.callback=null;R=Q.priorityLevel;var e=d(Q.expirationTime<=b);b=exports.unstable_now();\"function\"===typeof e?Q.callback=e:Q===L(N)&&M(N);V(b)}else M(N);Q=L(N)}if(null!==Q)var m=!0;else{var n=L(O);null!==n&&g(W,n.startTime-b);m=!1}return m}finally{Q=null,R=c,S=!1}}\nfunction Y(a){switch(a){case 1:return-1;case 2:return 250;case 5:return 1073741823;case 4:return 1E4;default:return 5E3}}var Z=l;exports.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(){T||S||(T=!0,f(X))};\nexports.unstable_getCurrentPriorityLevel=function(){return R};exports.unstable_getFirstCallbackNode=function(){return L(N)};exports.unstable_next=function(a){switch(R){case 1:case 2:case 3:var b=3;break;default:b=R}var c=R;R=b;try{return a()}finally{R=c}};exports.unstable_pauseExecution=function(){};exports.unstable_requestPaint=Z;exports.unstable_runWithPriority=function(a,b){switch(a){case 1:case 2:case 3:case 4:case 5:break;default:a=3}var c=R;R=a;try{return b()}finally{R=c}};\nexports.unstable_scheduleCallback=function(a,b,c){var d=exports.unstable_now();if(\"object\"===typeof c&&null!==c){var e=c.delay;e=\"number\"===typeof e&&0d?(a.sortIndex=e,J(O,a),null===L(N)&&a===L(O)&&(U?h():U=!0,g(W,e-d))):(a.sortIndex=c,J(N,a),T||S||(T=!0,f(X)));return a};\nexports.unstable_shouldYield=function(){var a=exports.unstable_now();V(a);var b=L(N);return b!==Q&&null!==Q&&null!==b&&null!==b.callback&&b.startTime<=a&&b.expirationTime= 0 && (obj.splice instanceof Function ||\n\t\t\t(Object.getOwnPropertyDescriptor(obj, (obj.length - 1)) && obj.constructor.name !== 'String')));\n};\n","import { EndOfStreamError } from 'peek-readable';\n/**\n * Core tokenizer\n */\nexport class AbstractTokenizer {\n /**\n * Constructor\n * @param options Tokenizer options\n * @protected\n */\n constructor(options) {\n this.numBuffer = new Uint8Array(8);\n /**\n * Tokenizer-stream position\n */\n this.position = 0;\n this.onClose = options?.onClose;\n if (options?.abortSignal) {\n options.abortSignal.addEventListener('abort', () => {\n this.abort();\n });\n }\n }\n /**\n * Read a token from the tokenizer-stream\n * @param token - The token to read\n * @param position - If provided, the desired position in the tokenizer-stream\n * @returns Promise with token data\n */\n async readToken(token, position = this.position) {\n const uint8Array = new Uint8Array(token.len);\n const len = await this.readBuffer(uint8Array, { position });\n if (len < token.len)\n throw new EndOfStreamError();\n return token.get(uint8Array, 0);\n }\n /**\n * Peek a token from the tokenizer-stream.\n * @param token - Token to peek from the tokenizer-stream.\n * @param position - Offset where to begin reading within the file. If position is null, data will be read from the current file position.\n * @returns Promise with token data\n */\n async peekToken(token, position = this.position) {\n const uint8Array = new Uint8Array(token.len);\n const len = await this.peekBuffer(uint8Array, { position });\n if (len < token.len)\n throw new EndOfStreamError();\n return token.get(uint8Array, 0);\n }\n /**\n * Read a numeric token from the stream\n * @param token - Numeric token\n * @returns Promise with number\n */\n async readNumber(token) {\n const len = await this.readBuffer(this.numBuffer, { length: token.len });\n if (len < token.len)\n throw new EndOfStreamError();\n return token.get(this.numBuffer, 0);\n }\n /**\n * Read a numeric token from the stream\n * @param token - Numeric token\n * @returns Promise with number\n */\n async peekNumber(token) {\n const len = await this.peekBuffer(this.numBuffer, { length: token.len });\n if (len < token.len)\n throw new EndOfStreamError();\n return token.get(this.numBuffer, 0);\n }\n /**\n * Ignore number of bytes, advances the pointer in under tokenizer-stream.\n * @param length - Number of bytes to ignore\n * @return resolves the number of bytes ignored, equals length if this available, otherwise the number of bytes available\n */\n async ignore(length) {\n if (this.fileInfo.size !== undefined) {\n const bytesLeft = this.fileInfo.size - this.position;\n if (length > bytesLeft) {\n this.position += bytesLeft;\n return bytesLeft;\n }\n }\n this.position += length;\n return length;\n }\n async close() {\n await this.abort();\n await this.onClose?.();\n }\n normalizeOptions(uint8Array, options) {\n if (!this.supportsRandomAccess() && options && options.position !== undefined && options.position < this.position) {\n throw new Error('`options.position` must be equal or greater than `tokenizer.position`');\n }\n return {\n ...{\n mayBeLess: false,\n offset: 0,\n length: uint8Array.length,\n position: this.position\n }, ...options\n };\n }\n abort() {\n return Promise.resolve(); // Ignore abort signal\n }\n}\n","import { EndOfStreamError } from 'peek-readable';\nimport { AbstractTokenizer } from './AbstractTokenizer.js';\nexport class BufferTokenizer extends AbstractTokenizer {\n /**\n * Construct BufferTokenizer\n * @param uint8Array - Uint8Array to tokenize\n * @param options Tokenizer options\n */\n constructor(uint8Array, options) {\n super(options);\n this.uint8Array = uint8Array;\n this.fileInfo = { ...options?.fileInfo ?? {}, ...{ size: uint8Array.length } };\n }\n /**\n * Read buffer from tokenizer\n * @param uint8Array - Uint8Array to tokenize\n * @param options - Read behaviour options\n * @returns {Promise}\n */\n async readBuffer(uint8Array, options) {\n if (options?.position) {\n this.position = options.position;\n }\n const bytesRead = await this.peekBuffer(uint8Array, options);\n this.position += bytesRead;\n return bytesRead;\n }\n /**\n * Peek (read ahead) buffer from tokenizer\n * @param uint8Array\n * @param options - Read behaviour options\n * @returns {Promise}\n */\n async peekBuffer(uint8Array, options) {\n const normOptions = this.normalizeOptions(uint8Array, options);\n const bytes2read = Math.min(this.uint8Array.length - normOptions.position, normOptions.length);\n if ((!normOptions.mayBeLess) && bytes2read < normOptions.length) {\n throw new EndOfStreamError();\n }\n uint8Array.set(this.uint8Array.subarray(normOptions.position, normOptions.position + bytes2read));\n return bytes2read;\n }\n close() {\n return super.close();\n }\n supportsRandomAccess() {\n return true;\n }\n setPosition(position) {\n this.position = position;\n }\n}\n","import { AbstractTokenizer } from './AbstractTokenizer.js';\nimport { EndOfStreamError } from 'peek-readable';\nconst maxBufferSize = 256000;\nexport class ReadStreamTokenizer extends AbstractTokenizer {\n /**\n * Constructor\n * @param streamReader stream-reader to read from\n * @param options Tokenizer options\n */\n constructor(streamReader, options) {\n super(options);\n this.streamReader = streamReader;\n this.fileInfo = options?.fileInfo ?? {};\n }\n /**\n * Read buffer from tokenizer\n * @param uint8Array - Target Uint8Array to fill with data read from the tokenizer-stream\n * @param options - Read behaviour options\n * @returns Promise with number of bytes read\n */\n async readBuffer(uint8Array, options) {\n const normOptions = this.normalizeOptions(uint8Array, options);\n const skipBytes = normOptions.position - this.position;\n if (skipBytes > 0) {\n await this.ignore(skipBytes);\n return this.readBuffer(uint8Array, options);\n }\n if (skipBytes < 0) {\n throw new Error('`options.position` must be equal or greater than `tokenizer.position`');\n }\n if (normOptions.length === 0) {\n return 0;\n }\n const bytesRead = await this.streamReader.read(uint8Array.subarray(0, normOptions.length), normOptions.mayBeLess);\n this.position += bytesRead;\n if ((!options || !options.mayBeLess) && bytesRead < normOptions.length) {\n throw new EndOfStreamError();\n }\n return bytesRead;\n }\n /**\n * Peek (read ahead) buffer from tokenizer\n * @param uint8Array - Uint8Array (or Buffer) to write data to\n * @param options - Read behaviour options\n * @returns Promise with number of bytes peeked\n */\n async peekBuffer(uint8Array, options) {\n const normOptions = this.normalizeOptions(uint8Array, options);\n let bytesRead = 0;\n if (normOptions.position) {\n const skipBytes = normOptions.position - this.position;\n if (skipBytes > 0) {\n const skipBuffer = new Uint8Array(normOptions.length + skipBytes);\n bytesRead = await this.peekBuffer(skipBuffer, { mayBeLess: normOptions.mayBeLess });\n uint8Array.set(skipBuffer.subarray(skipBytes));\n return bytesRead - skipBytes;\n }\n if (skipBytes < 0) {\n throw new Error('Cannot peek from a negative offset in a stream');\n }\n }\n if (normOptions.length > 0) {\n try {\n bytesRead = await this.streamReader.peek(uint8Array.subarray(0, normOptions.length), normOptions.mayBeLess);\n }\n catch (err) {\n if (options?.mayBeLess && err instanceof EndOfStreamError) {\n return 0;\n }\n throw err;\n }\n if ((!normOptions.mayBeLess) && bytesRead < normOptions.length) {\n throw new EndOfStreamError();\n }\n }\n return bytesRead;\n }\n async ignore(length) {\n // debug(`ignore ${this.position}...${this.position + length - 1}`);\n const bufSize = Math.min(maxBufferSize, length);\n const buf = new Uint8Array(bufSize);\n let totBytesRead = 0;\n while (totBytesRead < length) {\n const remaining = length - totBytesRead;\n const bytesRead = await this.readBuffer(buf, { length: Math.min(bufSize, remaining) });\n if (bytesRead < 0) {\n return bytesRead;\n }\n totBytesRead += bytesRead;\n }\n return totBytesRead;\n }\n abort() {\n return this.streamReader.abort();\n }\n async close() {\n return this.streamReader.close();\n }\n supportsRandomAccess() {\n return false;\n }\n}\n","import { StreamReader, makeWebStreamReader } from 'peek-readable';\nimport { ReadStreamTokenizer } from './ReadStreamTokenizer.js';\nimport { BufferTokenizer } from './BufferTokenizer.js';\nexport { EndOfStreamError, AbortError } from 'peek-readable';\nexport { AbstractTokenizer } from './AbstractTokenizer.js';\n/**\n * Construct ReadStreamTokenizer from given Stream.\n * Will set fileSize, if provided given Stream has set the .path property/\n * @param stream - Read from Node.js Stream.Readable\n * @param options - Tokenizer options\n * @returns ReadStreamTokenizer\n */\nexport function fromStream(stream, options) {\n const streamReader = new StreamReader(stream);\n const _options = options ?? {};\n const chainedClose = _options.onClose;\n _options.onClose = async () => {\n await streamReader.close();\n if (chainedClose) {\n return chainedClose();\n }\n };\n return new ReadStreamTokenizer(streamReader, _options);\n}\n/**\n * Construct ReadStreamTokenizer from given ReadableStream (WebStream API).\n * Will set fileSize, if provided given Stream has set the .path property/\n * @param webStream - Read from Node.js Stream.Readable (must be a byte stream)\n * @param options - Tokenizer options\n * @returns ReadStreamTokenizer\n */\nexport function fromWebStream(webStream, options) {\n const webStreamReader = makeWebStreamReader(webStream);\n const _options = options ?? {};\n const chainedClose = _options.onClose;\n _options.onClose = async () => {\n await webStreamReader.close();\n if (chainedClose) {\n return chainedClose();\n }\n };\n return new ReadStreamTokenizer(webStreamReader, _options);\n}\n/**\n * Construct ReadStreamTokenizer from given Buffer.\n * @param uint8Array - Uint8Array to tokenize\n * @param options - Tokenizer options\n * @returns BufferTokenizer\n */\nexport function fromBuffer(uint8Array, options) {\n return new BufferTokenizer(uint8Array, options);\n}\n","/**\n * Copyright (c) Nicolas Gallagher\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 */\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.styleq = void 0;\nvar cache = new WeakMap();\nvar compiledKey = '$$css';\n\nfunction createStyleq(options) {\n var disableCache;\n var disableMix;\n var transform;\n\n if (options != null) {\n disableCache = options.disableCache === true;\n disableMix = options.disableMix === true;\n transform = options.transform;\n }\n\n return function styleq() {\n // Keep track of property commits to the className\n var definedProperties = []; // The className and inline style to build up\n\n var className = '';\n var inlineStyle = null; // The current position in the cache graph\n\n var nextCache = disableCache ? null : cache; // This way of creating an array from arguments is fastest\n\n var styles = new Array(arguments.length);\n\n for (var i = 0; i < arguments.length; i++) {\n styles[i] = arguments[i];\n } // Iterate over styles from last to first\n\n\n while (styles.length > 0) {\n var possibleStyle = styles.pop(); // Skip empty items\n\n if (possibleStyle == null || possibleStyle === false) {\n continue;\n } // Push nested styles back onto the stack to be processed\n\n\n if (Array.isArray(possibleStyle)) {\n for (var _i = 0; _i < possibleStyle.length; _i++) {\n styles.push(possibleStyle[_i]);\n }\n\n continue;\n } // Process an individual style object\n\n\n var style = transform != null ? transform(possibleStyle) : possibleStyle;\n\n if (style.$$css) {\n // Build up the class names defined by this object\n var classNameChunk = ''; // Check the cache to see if we've already done this work\n\n if (nextCache != null && nextCache.has(style)) {\n // Cache: read\n var cacheEntry = nextCache.get(style);\n\n if (cacheEntry != null) {\n classNameChunk = cacheEntry[0]; // $FlowIgnore\n\n definedProperties.push.apply(definedProperties, cacheEntry[1]);\n nextCache = cacheEntry[2];\n }\n } // Update the chunks with data from this object\n else {\n // The properties defined by this object\n var definedPropertiesChunk = [];\n\n for (var prop in style) {\n var value = style[prop];\n if (prop === compiledKey) continue; // Each property value is used as an HTML class name\n // { 'debug.string': 'debug.string', opacity: 's-jskmnoqp' }\n\n if (typeof value === 'string' || value === null) {\n // Only add to chunks if this property hasn't already been seen\n if (!definedProperties.includes(prop)) {\n definedProperties.push(prop);\n\n if (nextCache != null) {\n definedPropertiesChunk.push(prop);\n }\n\n if (typeof value === 'string') {\n classNameChunk += classNameChunk ? ' ' + value : value;\n }\n }\n } // If we encounter a value that isn't a string or `null`\n else {\n console.error(\"styleq: \".concat(prop, \" typeof \").concat(String(value), \" is not \\\"string\\\" or \\\"null\\\".\"));\n }\n } // Cache: write\n\n\n if (nextCache != null) {\n // Create the next WeakMap for this sequence of styles\n var weakMap = new WeakMap();\n nextCache.set(style, [classNameChunk, definedPropertiesChunk, weakMap]);\n nextCache = weakMap;\n }\n } // Order of classes in chunks matches property-iteration order of style\n // object. Order of chunks matches passed order of styles from first to\n // last (which we iterate over in reverse).\n\n\n if (classNameChunk) {\n className = className ? classNameChunk + ' ' + className : classNameChunk;\n }\n } // ----- DYNAMIC: Process inline style object -----\n else {\n if (disableMix) {\n if (inlineStyle == null) {\n inlineStyle = {};\n }\n\n inlineStyle = Object.assign({}, style, inlineStyle);\n } else {\n var subStyle = null;\n\n for (var _prop in style) {\n var _value = style[_prop];\n\n if (_value !== undefined) {\n if (!definedProperties.includes(_prop)) {\n if (_value != null) {\n if (inlineStyle == null) {\n inlineStyle = {};\n }\n\n if (subStyle == null) {\n subStyle = {};\n }\n\n subStyle[_prop] = _value;\n }\n\n definedProperties.push(_prop); // Cache is unnecessary overhead if results can't be reused.\n\n nextCache = null;\n }\n }\n }\n\n if (subStyle != null) {\n inlineStyle = Object.assign(subStyle, inlineStyle);\n }\n }\n }\n }\n\n var styleProps = [className, inlineStyle];\n return styleProps;\n };\n}\n\nvar styleq = createStyleq();\nexports.styleq = styleq;\nstyleq.factory = createStyleq;","/**\n * Copyright (c) Nicolas Gallagher\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.localizeStyle = localizeStyle;\nvar cache = new WeakMap();\nvar markerProp = '$$css$localize';\n/**\n * The compiler polyfills logical properties and values, generating a class\n * name for both writing directions. The style objects are annotated by\n * the compiler as needing this runtime transform. The results are memoized.\n *\n * { '$$css$localize': true, float: [ 'float-left', 'float-right' ] }\n * => { float: 'float-left' }\n */\n\nfunction compileStyle(style, isRTL) {\n // Create a new compiled style for styleq\n var compiledStyle = {};\n\n for (var prop in style) {\n if (prop !== markerProp) {\n var value = style[prop];\n\n if (Array.isArray(value)) {\n compiledStyle[prop] = isRTL ? value[1] : value[0];\n } else {\n compiledStyle[prop] = value;\n }\n }\n }\n\n return compiledStyle;\n}\n\nfunction localizeStyle(style, isRTL) {\n if (style[markerProp] != null) {\n var compiledStyleIndex = isRTL ? 1 : 0; // Check the cache in case we've already seen this object\n\n if (cache.has(style)) {\n var _cachedStyles = cache.get(style);\n\n var _compiledStyle = _cachedStyles[compiledStyleIndex];\n\n if (_compiledStyle == null) {\n // Update the missing cache entry\n _compiledStyle = compileStyle(style, isRTL);\n _cachedStyles[compiledStyleIndex] = _compiledStyle;\n cache.set(style, _cachedStyles);\n }\n\n return _compiledStyle;\n } // Create a new compiled style for styleq\n\n\n var compiledStyle = compileStyle(style, isRTL);\n var cachedStyles = new Array(2);\n cachedStyles[compiledStyleIndex] = compiledStyle;\n cache.set(style, cachedStyles);\n return compiledStyle;\n }\n\n return style;\n}","/**\n * Copyright (c) Nicolas Gallagher\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\nmodule.exports = require('./dist/transform-localize-style');\n","/* global window */\nimport ponyfill from './ponyfill.js';\n\nvar root;\n\nif (typeof self !== 'undefined') {\n root = self;\n} else if (typeof window !== 'undefined') {\n root = window;\n} else if (typeof global !== 'undefined') {\n root = global;\n} else if (typeof module !== 'undefined') {\n root = module;\n} else {\n root = Function('return this')();\n}\n\nvar result = ponyfill(root);\nexport default result;\n","export default function symbolObservablePonyfill(root) {\n\tvar result;\n\tvar Symbol = root.Symbol;\n\n\tif (typeof Symbol === 'function') {\n\t\tif (Symbol.observable) {\n\t\t\tresult = Symbol.observable;\n\t\t} else {\n\t\t\tresult = Symbol('observable');\n\t\t\tSymbol.observable = result;\n\t\t}\n\t} else {\n\t\tresult = '@@observable';\n\t}\n\n\treturn result;\n};\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 var provided = typeof message === 'function' ? message() : message;\n var value = provided ? \"\".concat(prefix, \": \").concat(provided) : prefix;\n throw new Error(value);\n}\n\nexport { invariant as default };\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","import * as ieee754 from 'ieee754';\n// Primitive types\nfunction dv(array) {\n return new DataView(array.buffer, array.byteOffset);\n}\n/**\n * 8-bit unsigned integer\n */\nexport const UINT8 = {\n len: 1,\n get(array, offset) {\n return dv(array).getUint8(offset);\n },\n put(array, offset, value) {\n dv(array).setUint8(offset, value);\n return offset + 1;\n }\n};\n/**\n * 16-bit unsigned integer, Little Endian byte order\n */\nexport const UINT16_LE = {\n len: 2,\n get(array, offset) {\n return dv(array).getUint16(offset, true);\n },\n put(array, offset, value) {\n dv(array).setUint16(offset, value, true);\n return offset + 2;\n }\n};\n/**\n * 16-bit unsigned integer, Big Endian byte order\n */\nexport const UINT16_BE = {\n len: 2,\n get(array, offset) {\n return dv(array).getUint16(offset);\n },\n put(array, offset, value) {\n dv(array).setUint16(offset, value);\n return offset + 2;\n }\n};\n/**\n * 24-bit unsigned integer, Little Endian byte order\n */\nexport const UINT24_LE = {\n len: 3,\n get(array, offset) {\n const dataView = dv(array);\n return dataView.getUint8(offset) + (dataView.getUint16(offset + 1, true) << 8);\n },\n put(array, offset, value) {\n const dataView = dv(array);\n dataView.setUint8(offset, value & 0xff);\n dataView.setUint16(offset + 1, value >> 8, true);\n return offset + 3;\n }\n};\n/**\n * 24-bit unsigned integer, Big Endian byte order\n */\nexport const UINT24_BE = {\n len: 3,\n get(array, offset) {\n const dataView = dv(array);\n return (dataView.getUint16(offset) << 8) + dataView.getUint8(offset + 2);\n },\n put(array, offset, value) {\n const dataView = dv(array);\n dataView.setUint16(offset, value >> 8);\n dataView.setUint8(offset + 2, value & 0xff);\n return offset + 3;\n }\n};\n/**\n * 32-bit unsigned integer, Little Endian byte order\n */\nexport const UINT32_LE = {\n len: 4,\n get(array, offset) {\n return dv(array).getUint32(offset, true);\n },\n put(array, offset, value) {\n dv(array).setUint32(offset, value, true);\n return offset + 4;\n }\n};\n/**\n * 32-bit unsigned integer, Big Endian byte order\n */\nexport const UINT32_BE = {\n len: 4,\n get(array, offset) {\n return dv(array).getUint32(offset);\n },\n put(array, offset, value) {\n dv(array).setUint32(offset, value);\n return offset + 4;\n }\n};\n/**\n * 8-bit signed integer\n */\nexport const INT8 = {\n len: 1,\n get(array, offset) {\n return dv(array).getInt8(offset);\n },\n put(array, offset, value) {\n dv(array).setInt8(offset, value);\n return offset + 1;\n }\n};\n/**\n * 16-bit signed integer, Big Endian byte order\n */\nexport const INT16_BE = {\n len: 2,\n get(array, offset) {\n return dv(array).getInt16(offset);\n },\n put(array, offset, value) {\n dv(array).setInt16(offset, value);\n return offset + 2;\n }\n};\n/**\n * 16-bit signed integer, Little Endian byte order\n */\nexport const INT16_LE = {\n len: 2,\n get(array, offset) {\n return dv(array).getInt16(offset, true);\n },\n put(array, offset, value) {\n dv(array).setInt16(offset, value, true);\n return offset + 2;\n }\n};\n/**\n * 24-bit signed integer, Little Endian byte order\n */\nexport const INT24_LE = {\n len: 3,\n get(array, offset) {\n const unsigned = UINT24_LE.get(array, offset);\n return unsigned > 0x7fffff ? unsigned - 0x1000000 : unsigned;\n },\n put(array, offset, value) {\n const dataView = dv(array);\n dataView.setUint8(offset, value & 0xff);\n dataView.setUint16(offset + 1, value >> 8, true);\n return offset + 3;\n }\n};\n/**\n * 24-bit signed integer, Big Endian byte order\n */\nexport const INT24_BE = {\n len: 3,\n get(array, offset) {\n const unsigned = UINT24_BE.get(array, offset);\n return unsigned > 0x7fffff ? unsigned - 0x1000000 : unsigned;\n },\n put(array, offset, value) {\n const dataView = dv(array);\n dataView.setUint16(offset, value >> 8);\n dataView.setUint8(offset + 2, value & 0xff);\n return offset + 3;\n }\n};\n/**\n * 32-bit signed integer, Big Endian byte order\n */\nexport const INT32_BE = {\n len: 4,\n get(array, offset) {\n return dv(array).getInt32(offset);\n },\n put(array, offset, value) {\n dv(array).setInt32(offset, value);\n return offset + 4;\n }\n};\n/**\n * 32-bit signed integer, Big Endian byte order\n */\nexport const INT32_LE = {\n len: 4,\n get(array, offset) {\n return dv(array).getInt32(offset, true);\n },\n put(array, offset, value) {\n dv(array).setInt32(offset, value, true);\n return offset + 4;\n }\n};\n/**\n * 64-bit unsigned integer, Little Endian byte order\n */\nexport const UINT64_LE = {\n len: 8,\n get(array, offset) {\n return dv(array).getBigUint64(offset, true);\n },\n put(array, offset, value) {\n dv(array).setBigUint64(offset, value, true);\n return offset + 8;\n }\n};\n/**\n * 64-bit signed integer, Little Endian byte order\n */\nexport const INT64_LE = {\n len: 8,\n get(array, offset) {\n return dv(array).getBigInt64(offset, true);\n },\n put(array, offset, value) {\n dv(array).setBigInt64(offset, value, true);\n return offset + 8;\n }\n};\n/**\n * 64-bit unsigned integer, Big Endian byte order\n */\nexport const UINT64_BE = {\n len: 8,\n get(array, offset) {\n return dv(array).getBigUint64(offset);\n },\n put(array, offset, value) {\n dv(array).setBigUint64(offset, value);\n return offset + 8;\n }\n};\n/**\n * 64-bit signed integer, Big Endian byte order\n */\nexport const INT64_BE = {\n len: 8,\n get(array, offset) {\n return dv(array).getBigInt64(offset);\n },\n put(array, offset, value) {\n dv(array).setBigInt64(offset, value);\n return offset + 8;\n }\n};\n/**\n * IEEE 754 16-bit (half precision) float, big endian\n */\nexport const Float16_BE = {\n len: 2,\n get(dataView, offset) {\n return ieee754.read(dataView, offset, false, 10, this.len);\n },\n put(dataView, offset, value) {\n ieee754.write(dataView, value, offset, false, 10, this.len);\n return offset + this.len;\n }\n};\n/**\n * IEEE 754 16-bit (half precision) float, little endian\n */\nexport const Float16_LE = {\n len: 2,\n get(array, offset) {\n return ieee754.read(array, offset, true, 10, this.len);\n },\n put(array, offset, value) {\n ieee754.write(array, value, offset, true, 10, this.len);\n return offset + this.len;\n }\n};\n/**\n * IEEE 754 32-bit (single precision) float, big endian\n */\nexport const Float32_BE = {\n len: 4,\n get(array, offset) {\n return dv(array).getFloat32(offset);\n },\n put(array, offset, value) {\n dv(array).setFloat32(offset, value);\n return offset + 4;\n }\n};\n/**\n * IEEE 754 32-bit (single precision) float, little endian\n */\nexport const Float32_LE = {\n len: 4,\n get(array, offset) {\n return dv(array).getFloat32(offset, true);\n },\n put(array, offset, value) {\n dv(array).setFloat32(offset, value, true);\n return offset + 4;\n }\n};\n/**\n * IEEE 754 64-bit (double precision) float, big endian\n */\nexport const Float64_BE = {\n len: 8,\n get(array, offset) {\n return dv(array).getFloat64(offset);\n },\n put(array, offset, value) {\n dv(array).setFloat64(offset, value);\n return offset + 8;\n }\n};\n/**\n * IEEE 754 64-bit (double precision) float, little endian\n */\nexport const Float64_LE = {\n len: 8,\n get(array, offset) {\n return dv(array).getFloat64(offset, true);\n },\n put(array, offset, value) {\n dv(array).setFloat64(offset, value, true);\n return offset + 8;\n }\n};\n/**\n * IEEE 754 80-bit (extended precision) float, big endian\n */\nexport const Float80_BE = {\n len: 10,\n get(array, offset) {\n return ieee754.read(array, offset, false, 63, this.len);\n },\n put(array, offset, value) {\n ieee754.write(array, value, offset, false, 63, this.len);\n return offset + this.len;\n }\n};\n/**\n * IEEE 754 80-bit (extended precision) float, little endian\n */\nexport const Float80_LE = {\n len: 10,\n get(array, offset) {\n return ieee754.read(array, offset, true, 63, this.len);\n },\n put(array, offset, value) {\n ieee754.write(array, value, offset, true, 63, this.len);\n return offset + this.len;\n }\n};\n/**\n * Ignore a given number of bytes\n */\nexport class IgnoreType {\n /**\n * @param len number of bytes to ignore\n */\n constructor(len) {\n this.len = len;\n }\n // ToDo: don't read, but skip data\n // eslint-disable-next-line @typescript-eslint/no-empty-function\n get(array, off) {\n }\n}\nexport class Uint8ArrayType {\n constructor(len) {\n this.len = len;\n }\n get(array, offset) {\n return array.subarray(offset, offset + this.len);\n }\n}\n/**\n * Consume a fixed number of bytes from the stream and return a string with a specified encoding.\n */\nexport class StringType {\n constructor(len, encoding) {\n this.len = len;\n this.encoding = encoding;\n this.textDecoder = new TextDecoder(encoding);\n }\n get(uint8Array, offset) {\n return this.textDecoder.decode(uint8Array.subarray(offset, offset + this.len));\n }\n}\n/**\n * ANSI Latin 1 String\n * Using windows-1252 / ISO 8859-1 decoding\n */\nexport class AnsiStringType {\n constructor(len) {\n this.len = len;\n this.textDecoder = new TextDecoder('windows-1252');\n }\n get(uint8Array, offset = 0) {\n return this.textDecoder.decode(uint8Array.subarray(offset, offset + this.len));\n }\n}\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 (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n if (typeof b !== \"function\" && b !== null)\r\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\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 __esDecorate(ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) {\r\n function accept(f) { if (f !== void 0 && typeof f !== \"function\") throw new TypeError(\"Function expected\"); return f; }\r\n var kind = contextIn.kind, key = kind === \"getter\" ? \"get\" : kind === \"setter\" ? \"set\" : \"value\";\r\n var target = !descriptorIn && ctor ? contextIn[\"static\"] ? ctor : ctor.prototype : null;\r\n var descriptor = descriptorIn || (target ? Object.getOwnPropertyDescriptor(target, contextIn.name) : {});\r\n var _, done = false;\r\n for (var i = decorators.length - 1; i >= 0; i--) {\r\n var context = {};\r\n for (var p in contextIn) context[p] = p === \"access\" ? {} : contextIn[p];\r\n for (var p in contextIn.access) context.access[p] = contextIn.access[p];\r\n context.addInitializer = function (f) { if (done) throw new TypeError(\"Cannot add initializers after decoration has completed\"); extraInitializers.push(accept(f || null)); };\r\n var result = (0, decorators[i])(kind === \"accessor\" ? { get: descriptor.get, set: descriptor.set } : descriptor[key], context);\r\n if (kind === \"accessor\") {\r\n if (result === void 0) continue;\r\n if (result === null || typeof result !== \"object\") throw new TypeError(\"Object expected\");\r\n if (_ = accept(result.get)) descriptor.get = _;\r\n if (_ = accept(result.set)) descriptor.set = _;\r\n if (_ = accept(result.init)) initializers.push(_);\r\n }\r\n else if (_ = accept(result)) {\r\n if (kind === \"field\") initializers.push(_);\r\n else descriptor[key] = _;\r\n }\r\n }\r\n if (target) Object.defineProperty(target, contextIn.name, descriptor);\r\n done = true;\r\n};\r\n\r\nexport function __runInitializers(thisArg, initializers, value) {\r\n var useValue = arguments.length > 2;\r\n for (var i = 0; i < initializers.length; i++) {\r\n value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg);\r\n }\r\n return useValue ? value : void 0;\r\n};\r\n\r\nexport function __propKey(x) {\r\n return typeof x === \"symbol\" ? x : \"\".concat(x);\r\n};\r\n\r\nexport function __setFunctionName(f, name, prefix) {\r\n if (typeof name === \"symbol\") name = name.description ? \"[\".concat(name.description, \"]\") : \"\";\r\n return Object.defineProperty(f, \"name\", { configurable: true, value: prefix ? \"\".concat(prefix, \" \", name) : name });\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 (g && (g = 0, op[0] && (_ = 0)), _) 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 var __createBinding = Object.create ? (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n var desc = Object.getOwnPropertyDescriptor(m, k);\r\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\r\n desc = { enumerable: true, get: function() { return m[k]; } };\r\n }\r\n Object.defineProperty(o, k2, desc);\r\n}) : (function(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, o) {\r\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, 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\n/** @deprecated */\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\n/** @deprecated */\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 __spreadArray(to, from, pack) {\r\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\r\n if (ar || !(i in from)) {\r\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\r\n ar[i] = from[i];\r\n }\r\n }\r\n return to.concat(ar || Array.prototype.slice.call(from));\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: false } : 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\nvar __setModuleDefault = Object.create ? (function(o, v) {\r\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\r\n}) : function(o, v) {\r\n o[\"default\"] = v;\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 (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\r\n __setModuleDefault(result, 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, state, kind, f) {\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\r\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, state, value, kind, f) {\r\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\r\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\r\n}\r\n\r\nexport function __classPrivateFieldIn(state, receiver) {\r\n if (receiver === null || (typeof receiver !== \"object\" && typeof receiver !== \"function\")) throw new TypeError(\"Cannot use 'in' operator on non-object\");\r\n return typeof state === \"function\" ? receiver === state : state.has(receiver);\r\n}\r\n","const objectToString = Object.prototype.toString;\nconst uint8ArrayStringified = '[object Uint8Array]';\nconst arrayBufferStringified = '[object ArrayBuffer]';\n\nfunction isType(value, typeConstructor, typeStringified) {\n\tif (!value) {\n\t\treturn false;\n\t}\n\n\tif (value.constructor === typeConstructor) {\n\t\treturn true;\n\t}\n\n\treturn objectToString.call(value) === typeStringified;\n}\n\nexport function isUint8Array(value) {\n\treturn isType(value, Uint8Array, uint8ArrayStringified);\n}\n\nfunction isArrayBuffer(value) {\n\treturn isType(value, ArrayBuffer, arrayBufferStringified);\n}\n\nfunction isUint8ArrayOrArrayBuffer(value) {\n\treturn isUint8Array(value) || isArrayBuffer(value);\n}\n\nexport function assertUint8Array(value) {\n\tif (!isUint8Array(value)) {\n\t\tthrow new TypeError(`Expected \\`Uint8Array\\`, got \\`${typeof value}\\``);\n\t}\n}\n\nexport function assertUint8ArrayOrArrayBuffer(value) {\n\tif (!isUint8ArrayOrArrayBuffer(value)) {\n\t\tthrow new TypeError(`Expected \\`Uint8Array\\` or \\`ArrayBuffer\\`, got \\`${typeof value}\\``);\n\t}\n}\n\nexport function toUint8Array(value) {\n\tif (value instanceof ArrayBuffer) {\n\t\treturn new Uint8Array(value);\n\t}\n\n\tif (ArrayBuffer.isView(value)) {\n\t\treturn new Uint8Array(value.buffer, value.byteOffset, value.byteLength);\n\t}\n\n\tthrow new TypeError(`Unsupported value, got \\`${typeof value}\\`.`);\n}\n\nexport function concatUint8Arrays(arrays, totalLength) {\n\tif (arrays.length === 0) {\n\t\treturn new Uint8Array(0);\n\t}\n\n\ttotalLength ??= arrays.reduce((accumulator, currentValue) => accumulator + currentValue.length, 0);\n\n\tconst returnValue = new Uint8Array(totalLength);\n\n\tlet offset = 0;\n\tfor (const array of arrays) {\n\t\tassertUint8Array(array);\n\t\treturnValue.set(array, offset);\n\t\toffset += array.length;\n\t}\n\n\treturn returnValue;\n}\n\nexport function areUint8ArraysEqual(a, b) {\n\tassertUint8Array(a);\n\tassertUint8Array(b);\n\n\tif (a === b) {\n\t\treturn true;\n\t}\n\n\tif (a.length !== b.length) {\n\t\treturn false;\n\t}\n\n\t// eslint-disable-next-line unicorn/no-for-loop\n\tfor (let index = 0; index < a.length; index++) {\n\t\tif (a[index] !== b[index]) {\n\t\t\treturn false;\n\t\t}\n\t}\n\n\treturn true;\n}\n\nexport function compareUint8Arrays(a, b) {\n\tassertUint8Array(a);\n\tassertUint8Array(b);\n\n\tconst length = Math.min(a.length, b.length);\n\n\tfor (let index = 0; index < length; index++) {\n\t\tconst diff = a[index] - b[index];\n\t\tif (diff !== 0) {\n\t\t\treturn Math.sign(diff);\n\t\t}\n\t}\n\n\t// At this point, all the compared elements are equal.\n\t// The shorter array should come first if the arrays are of different lengths.\n\treturn Math.sign(a.length - b.length);\n}\n\nconst cachedDecoders = {\n\tutf8: new globalThis.TextDecoder('utf8'),\n};\n\nexport function uint8ArrayToString(array, encoding = 'utf8') {\n\tassertUint8ArrayOrArrayBuffer(array);\n\tcachedDecoders[encoding] ??= new globalThis.TextDecoder(encoding);\n\treturn cachedDecoders[encoding].decode(array);\n}\n\nfunction assertString(value) {\n\tif (typeof value !== 'string') {\n\t\tthrow new TypeError(`Expected \\`string\\`, got \\`${typeof value}\\``);\n\t}\n}\n\nconst cachedEncoder = new globalThis.TextEncoder();\n\nexport function stringToUint8Array(string) {\n\tassertString(string);\n\treturn cachedEncoder.encode(string);\n}\n\nfunction base64ToBase64Url(base64) {\n\treturn base64.replaceAll('+', '-').replaceAll('/', '_').replace(/=+$/, '');\n}\n\nfunction base64UrlToBase64(base64url) {\n\treturn base64url.replaceAll('-', '+').replaceAll('_', '/');\n}\n\n// Reference: https://phuoc.ng/collection/this-vs-that/concat-vs-push/\nconst MAX_BLOCK_SIZE = 65_535;\n\nexport function uint8ArrayToBase64(array, {urlSafe = false} = {}) {\n\tassertUint8Array(array);\n\n\tlet base64;\n\n\tif (array.length < MAX_BLOCK_SIZE) {\n\t// Required as `btoa` and `atob` don't properly support Unicode: https://developer.mozilla.org/en-US/docs/Glossary/Base64#the_unicode_problem\n\t\tbase64 = globalThis.btoa(String.fromCodePoint.apply(this, array));\n\t} else {\n\t\tbase64 = '';\n\t\tfor (const value of array) {\n\t\t\tbase64 += String.fromCodePoint(value);\n\t\t}\n\n\t\tbase64 = globalThis.btoa(base64);\n\t}\n\n\treturn urlSafe ? base64ToBase64Url(base64) : base64;\n}\n\nexport function base64ToUint8Array(base64String) {\n\tassertString(base64String);\n\treturn Uint8Array.from(globalThis.atob(base64UrlToBase64(base64String)), x => x.codePointAt(0));\n}\n\nexport function stringToBase64(string, {urlSafe = false} = {}) {\n\tassertString(string);\n\treturn uint8ArrayToBase64(stringToUint8Array(string), {urlSafe});\n}\n\nexport function base64ToString(base64String) {\n\tassertString(base64String);\n\treturn uint8ArrayToString(base64ToUint8Array(base64String));\n}\n\nconst byteToHexLookupTable = Array.from({length: 256}, (_, index) => index.toString(16).padStart(2, '0'));\n\nexport function uint8ArrayToHex(array) {\n\tassertUint8Array(array);\n\n\t// Concatenating a string is faster than using an array.\n\tlet hexString = '';\n\n\t// eslint-disable-next-line unicorn/no-for-loop -- Max performance is critical.\n\tfor (let index = 0; index < array.length; index++) {\n\t\thexString += byteToHexLookupTable[array[index]];\n\t}\n\n\treturn hexString;\n}\n\nconst hexToDecimalLookupTable = {\n\t0: 0,\n\t1: 1,\n\t2: 2,\n\t3: 3,\n\t4: 4,\n\t5: 5,\n\t6: 6,\n\t7: 7,\n\t8: 8,\n\t9: 9,\n\ta: 10,\n\tb: 11,\n\tc: 12,\n\td: 13,\n\te: 14,\n\tf: 15,\n\tA: 10,\n\tB: 11,\n\tC: 12,\n\tD: 13,\n\tE: 14,\n\tF: 15,\n};\n\nexport function hexToUint8Array(hexString) {\n\tassertString(hexString);\n\n\tif (hexString.length % 2 !== 0) {\n\t\tthrow new Error('Invalid Hex string length.');\n\t}\n\n\tconst resultLength = hexString.length / 2;\n\tconst bytes = new Uint8Array(resultLength);\n\n\tfor (let index = 0; index < resultLength; index++) {\n\t\tconst highNibble = hexToDecimalLookupTable[hexString[index * 2]];\n\t\tconst lowNibble = hexToDecimalLookupTable[hexString[(index * 2) + 1]];\n\n\t\tif (highNibble === undefined || lowNibble === undefined) {\n\t\t\tthrow new Error(`Invalid Hex character encountered at position ${index * 2}`);\n\t\t}\n\n\t\tbytes[index] = (highNibble << 4) | lowNibble; // eslint-disable-line no-bitwise\n\t}\n\n\treturn bytes;\n}\n\n/**\n@param {DataView} view\n@returns {number}\n*/\nexport function getUintBE(view) {\n\tconst {byteLength} = view;\n\n\tif (byteLength === 6) {\n\t\treturn (view.getUint16(0) * (2 ** 32)) + view.getUint32(2);\n\t}\n\n\tif (byteLength === 5) {\n\t\treturn (view.getUint8(0) * (2 ** 32)) + view.getUint32(1);\n\t}\n\n\tif (byteLength === 4) {\n\t\treturn view.getUint32(0);\n\t}\n\n\tif (byteLength === 3) {\n\t\treturn (view.getUint8(0) * (2 ** 16)) + view.getUint16(1);\n\t}\n\n\tif (byteLength === 2) {\n\t\treturn view.getUint16(0);\n\t}\n\n\tif (byteLength === 1) {\n\t\treturn view.getUint8(0);\n\t}\n}\n\n/**\n@param {Uint8Array} array\n@param {Uint8Array} value\n@returns {number}\n*/\nexport function indexOf(array, value) {\n\tconst arrayLength = array.length;\n\tconst valueLength = value.length;\n\n\tif (valueLength === 0) {\n\t\treturn -1;\n\t}\n\n\tif (valueLength > arrayLength) {\n\t\treturn -1;\n\t}\n\n\tconst validOffsetLength = arrayLength - valueLength;\n\n\tfor (let index = 0; index <= validOffsetLength; index++) {\n\t\tlet isMatch = true;\n\t\tfor (let index2 = 0; index2 < valueLength; index2++) {\n\t\t\tif (array[index + index2] !== value[index2]) {\n\t\t\t\tisMatch = false;\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\n\t\tif (isMatch) {\n\t\t\treturn index;\n\t\t}\n\t}\n\n\treturn -1;\n}\n\n/**\n@param {Uint8Array} array\n@param {Uint8Array} value\n@returns {boolean}\n*/\nexport function includes(array, value) {\n\treturn indexOf(array, value) !== -1;\n}\n","export default /^(?:[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}|00000000-0000-0000-0000-000000000000)$/i;","// Unique ID creation requires a high quality random # generator. In the browser we therefore\n// require the crypto API and do not support built-in fallback to lower quality random number\n// generators (like Math.random()).\nvar getRandomValues;\nvar rnds8 = new Uint8Array(16);\nexport default function rng() {\n // lazy load so that environments that need to polyfill have a chance to do so\n if (!getRandomValues) {\n // getRandomValues needs to be invoked in a context where \"this\" is a Crypto implementation. Also,\n // find the complete implementation of crypto (msCrypto) on IE11.\n getRandomValues = typeof crypto !== 'undefined' && crypto.getRandomValues && crypto.getRandomValues.bind(crypto) || typeof msCrypto !== 'undefined' && typeof msCrypto.getRandomValues === 'function' && msCrypto.getRandomValues.bind(msCrypto);\n\n if (!getRandomValues) {\n throw new Error('crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported');\n }\n }\n\n return getRandomValues(rnds8);\n}","import validate from './validate.js';\n/**\n * Convert array of 16 byte values to UUID string format of the form:\n * XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX\n */\n\nvar byteToHex = [];\n\nfor (var i = 0; i < 256; ++i) {\n byteToHex.push((i + 0x100).toString(16).substr(1));\n}\n\nfunction stringify(arr) {\n var offset = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;\n // Note: Be careful editing this code! It's been tuned for performance\n // and works in ways you may not expect. See https://github.com/uuidjs/uuid/pull/434\n var uuid = (byteToHex[arr[offset + 0]] + byteToHex[arr[offset + 1]] + byteToHex[arr[offset + 2]] + byteToHex[arr[offset + 3]] + '-' + byteToHex[arr[offset + 4]] + byteToHex[arr[offset + 5]] + '-' + byteToHex[arr[offset + 6]] + byteToHex[arr[offset + 7]] + '-' + byteToHex[arr[offset + 8]] + byteToHex[arr[offset + 9]] + '-' + byteToHex[arr[offset + 10]] + byteToHex[arr[offset + 11]] + byteToHex[arr[offset + 12]] + byteToHex[arr[offset + 13]] + byteToHex[arr[offset + 14]] + byteToHex[arr[offset + 15]]).toLowerCase(); // Consistency check for valid UUID. If this throws, it's likely due to one\n // of the following:\n // - One or more input array values don't map to a hex octet (leading to\n // \"undefined\" in the uuid)\n // - Invalid input values for the RFC `version` or `variant` fields\n\n if (!validate(uuid)) {\n throw TypeError('Stringified UUID is invalid');\n }\n\n return uuid;\n}\n\nexport default stringify;","import rng from './rng.js';\nimport stringify from './stringify.js';\n\nfunction v4(options, buf, offset) {\n options = options || {};\n var rnds = options.random || (options.rng || rng)(); // Per 4.4, set bits for version and `clock_seq_hi_and_reserved`\n\n rnds[6] = rnds[6] & 0x0f | 0x40;\n rnds[8] = rnds[8] & 0x3f | 0x80; // Copy bytes to buffer, if provided\n\n if (buf) {\n offset = offset || 0;\n\n for (var i = 0; i < 16; ++i) {\n buf[offset + i] = rnds[i];\n }\n\n return buf;\n }\n\n return stringify(rnds);\n}\n\nexport default v4;","import REGEX from './regex.js';\n\nfunction validate(uuid) {\n return typeof uuid === 'string' && REGEX.test(uuid);\n}\n\nexport default validate;","/**\n * This file automatically generated from `pre-publish.js`.\n * Do not manually edit.\n */\n\nmodule.exports = {\n \"area\": true,\n \"base\": true,\n \"br\": true,\n \"col\": true,\n \"embed\": true,\n \"hr\": true,\n \"img\": true,\n \"input\": true,\n \"keygen\": true,\n \"link\": true,\n \"menuitem\": true,\n \"meta\": true,\n \"param\": true,\n \"source\": true,\n \"track\": true,\n \"wbr\": true\n};\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\n'use strict';\n\n/**\n * Similar to invariant but only logs a warning if the condition is not met.\n * This can be used to log issues in development environments in critical\n * paths. Removing the logging code for production environments will keep the\n * same logic and follow the same code paths.\n */\n\nvar __DEV__ = process.env.NODE_ENV !== 'production';\n\nvar warning = function() {};\n\nif (__DEV__) {\n var printWarning = function printWarning(format, args) {\n var len = arguments.length;\n args = new Array(len > 1 ? len - 1 : 0);\n for (var key = 1; key < len; key++) {\n args[key - 1] = arguments[key];\n }\n var argIndex = 0;\n var message = 'Warning: ' +\n format.replace(/%s/g, function() {\n return args[argIndex++];\n });\n if (typeof console !== 'undefined') {\n console.error(message);\n }\n try {\n // --- Welcome to debugging React ---\n // This error was thrown as a convenience so that you can use this stack\n // to find the callsite that caused this warning to fire.\n throw new Error(message);\n } catch (x) {}\n }\n\n warning = function(condition, format, args) {\n var len = arguments.length;\n args = new Array(len > 2 ? len - 2 : 0);\n for (var key = 2; key < len; key++) {\n args[key - 2] = arguments[key];\n }\n if (format === undefined) {\n throw new Error(\n '`warning(condition, format, ...args)` requires a warning ' +\n 'message argument'\n );\n }\n if (!condition) {\n printWarning.apply(null, [format].concat(args));\n }\n };\n}\n\nmodule.exports = warning;\n","\"use strict\";\n\nmodule.exports = function () {\n // https://mths.be/emoji\n return /\\uD83C\\uDFF4\\uDB40\\uDC67\\uDB40\\uDC62(?:\\uDB40\\uDC77\\uDB40\\uDC6C\\uDB40\\uDC73|\\uDB40\\uDC73\\uDB40\\uDC63\\uDB40\\uDC74|\\uDB40\\uDC65\\uDB40\\uDC6E\\uDB40\\uDC67)\\uDB40\\uDC7F|(?:\\uD83E\\uDDD1\\uD83C\\uDFFF\\u200D\\u2764\\uFE0F\\u200D(?:\\uD83D\\uDC8B\\u200D)?\\uD83E\\uDDD1|\\uD83D\\uDC69\\uD83C\\uDFFF\\u200D\\uD83E\\uDD1D\\u200D(?:\\uD83D[\\uDC68\\uDC69]))(?:\\uD83C[\\uDFFB-\\uDFFE])|(?:\\uD83E\\uDDD1\\uD83C\\uDFFE\\u200D\\u2764\\uFE0F\\u200D(?:\\uD83D\\uDC8B\\u200D)?\\uD83E\\uDDD1|\\uD83D\\uDC69\\uD83C\\uDFFE\\u200D\\uD83E\\uDD1D\\u200D(?:\\uD83D[\\uDC68\\uDC69]))(?:\\uD83C[\\uDFFB-\\uDFFD\\uDFFF])|(?:\\uD83E\\uDDD1\\uD83C\\uDFFD\\u200D\\u2764\\uFE0F\\u200D(?:\\uD83D\\uDC8B\\u200D)?\\uD83E\\uDDD1|\\uD83D\\uDC69\\uD83C\\uDFFD\\u200D\\uD83E\\uDD1D\\u200D(?:\\uD83D[\\uDC68\\uDC69]))(?:\\uD83C[\\uDFFB\\uDFFC\\uDFFE\\uDFFF])|(?:\\uD83E\\uDDD1\\uD83C\\uDFFC\\u200D\\u2764\\uFE0F\\u200D(?:\\uD83D\\uDC8B\\u200D)?\\uD83E\\uDDD1|\\uD83D\\uDC69\\uD83C\\uDFFC\\u200D\\uD83E\\uDD1D\\u200D(?:\\uD83D[\\uDC68\\uDC69]))(?:\\uD83C[\\uDFFB\\uDFFD-\\uDFFF])|(?:\\uD83E\\uDDD1\\uD83C\\uDFFB\\u200D\\u2764\\uFE0F\\u200D(?:\\uD83D\\uDC8B\\u200D)?\\uD83E\\uDDD1|\\uD83D\\uDC69\\uD83C\\uDFFB\\u200D\\uD83E\\uDD1D\\u200D(?:\\uD83D[\\uDC68\\uDC69]))(?:\\uD83C[\\uDFFC-\\uDFFF])|\\uD83D\\uDC68(?:\\uD83C\\uDFFB(?:\\u200D(?:\\u2764\\uFE0F\\u200D(?:\\uD83D\\uDC8B\\u200D\\uD83D\\uDC68(?:\\uD83C[\\uDFFB-\\uDFFF])|\\uD83D\\uDC68(?:\\uD83C[\\uDFFB-\\uDFFF]))|\\uD83E\\uDD1D\\u200D\\uD83D\\uDC68(?:\\uD83C[\\uDFFC-\\uDFFF])|[\\u2695\\u2696\\u2708]\\uFE0F|\\uD83C[\\uDF3E\\uDF73\\uDF7C\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E[\\uDDAF-\\uDDB3\\uDDBC\\uDDBD]))?|(?:\\uD83C[\\uDFFC-\\uDFFF])\\u200D\\u2764\\uFE0F\\u200D(?:\\uD83D\\uDC8B\\u200D\\uD83D\\uDC68(?:\\uD83C[\\uDFFB-\\uDFFF])|\\uD83D\\uDC68(?:\\uD83C[\\uDFFB-\\uDFFF]))|\\u200D(?:\\u2764\\uFE0F\\u200D(?:\\uD83D\\uDC8B\\u200D)?\\uD83D\\uDC68|(?:\\uD83D[\\uDC68\\uDC69])\\u200D(?:\\uD83D\\uDC66\\u200D\\uD83D\\uDC66|\\uD83D\\uDC67\\u200D(?:\\uD83D[\\uDC66\\uDC67]))|\\uD83D\\uDC66\\u200D\\uD83D\\uDC66|\\uD83D\\uDC67\\u200D(?:\\uD83D[\\uDC66\\uDC67])|\\uD83C[\\uDF3E\\uDF73\\uDF7C\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E[\\uDDAF-\\uDDB3\\uDDBC\\uDDBD])|\\uD83C\\uDFFF\\u200D(?:\\uD83E\\uDD1D\\u200D\\uD83D\\uDC68(?:\\uD83C[\\uDFFB-\\uDFFE])|\\uD83C[\\uDF3E\\uDF73\\uDF7C\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E[\\uDDAF-\\uDDB3\\uDDBC\\uDDBD])|\\uD83C\\uDFFE\\u200D(?:\\uD83E\\uDD1D\\u200D\\uD83D\\uDC68(?:\\uD83C[\\uDFFB-\\uDFFD\\uDFFF])|\\uD83C[\\uDF3E\\uDF73\\uDF7C\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E[\\uDDAF-\\uDDB3\\uDDBC\\uDDBD])|\\uD83C\\uDFFD\\u200D(?:\\uD83E\\uDD1D\\u200D\\uD83D\\uDC68(?:\\uD83C[\\uDFFB\\uDFFC\\uDFFE\\uDFFF])|\\uD83C[\\uDF3E\\uDF73\\uDF7C\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E[\\uDDAF-\\uDDB3\\uDDBC\\uDDBD])|\\uD83C\\uDFFC\\u200D(?:\\uD83E\\uDD1D\\u200D\\uD83D\\uDC68(?:\\uD83C[\\uDFFB\\uDFFD-\\uDFFF])|\\uD83C[\\uDF3E\\uDF73\\uDF7C\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E[\\uDDAF-\\uDDB3\\uDDBC\\uDDBD])|(?:\\uD83C\\uDFFF\\u200D[\\u2695\\u2696\\u2708]|\\uD83C\\uDFFE\\u200D[\\u2695\\u2696\\u2708]|\\uD83C\\uDFFD\\u200D[\\u2695\\u2696\\u2708]|\\uD83C\\uDFFC\\u200D[\\u2695\\u2696\\u2708]|\\u200D[\\u2695\\u2696\\u2708])\\uFE0F|\\u200D(?:(?:\\uD83D[\\uDC68\\uDC69])\\u200D(?:\\uD83D[\\uDC66\\uDC67])|\\uD83D[\\uDC66\\uDC67])|\\uD83C\\uDFFF|\\uD83C\\uDFFE|\\uD83C\\uDFFD|\\uD83C\\uDFFC)?|(?:\\uD83D\\uDC69(?:\\uD83C\\uDFFB\\u200D\\u2764\\uFE0F\\u200D(?:\\uD83D\\uDC8B\\u200D(?:\\uD83D[\\uDC68\\uDC69])|\\uD83D[\\uDC68\\uDC69])|(?:\\uD83C[\\uDFFC-\\uDFFF])\\u200D\\u2764\\uFE0F\\u200D(?:\\uD83D\\uDC8B\\u200D(?:\\uD83D[\\uDC68\\uDC69])|\\uD83D[\\uDC68\\uDC69]))|\\uD83E\\uDDD1(?:\\uD83C[\\uDFFB-\\uDFFF])\\u200D\\uD83E\\uDD1D\\u200D\\uD83E\\uDDD1)(?:\\uD83C[\\uDFFB-\\uDFFF])|\\uD83D\\uDC69\\u200D\\uD83D\\uDC69\\u200D(?:\\uD83D\\uDC66\\u200D\\uD83D\\uDC66|\\uD83D\\uDC67\\u200D(?:\\uD83D[\\uDC66\\uDC67]))|\\uD83D\\uDC69(?:\\u200D(?:\\u2764\\uFE0F\\u200D(?:\\uD83D\\uDC8B\\u200D(?:\\uD83D[\\uDC68\\uDC69])|\\uD83D[\\uDC68\\uDC69])|\\uD83C[\\uDF3E\\uDF73\\uDF7C\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E[\\uDDAF-\\uDDB3\\uDDBC\\uDDBD])|\\uD83C\\uDFFF\\u200D(?:\\uD83C[\\uDF3E\\uDF73\\uDF7C\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E[\\uDDAF-\\uDDB3\\uDDBC\\uDDBD])|\\uD83C\\uDFFE\\u200D(?:\\uD83C[\\uDF3E\\uDF73\\uDF7C\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E[\\uDDAF-\\uDDB3\\uDDBC\\uDDBD])|\\uD83C\\uDFFD\\u200D(?:\\uD83C[\\uDF3E\\uDF73\\uDF7C\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E[\\uDDAF-\\uDDB3\\uDDBC\\uDDBD])|\\uD83C\\uDFFC\\u200D(?:\\uD83C[\\uDF3E\\uDF73\\uDF7C\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E[\\uDDAF-\\uDDB3\\uDDBC\\uDDBD])|\\uD83C\\uDFFB\\u200D(?:\\uD83C[\\uDF3E\\uDF73\\uDF7C\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E[\\uDDAF-\\uDDB3\\uDDBC\\uDDBD]))|\\uD83E\\uDDD1(?:\\u200D(?:\\uD83E\\uDD1D\\u200D\\uD83E\\uDDD1|\\uD83C[\\uDF3E\\uDF73\\uDF7C\\uDF84\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E[\\uDDAF-\\uDDB3\\uDDBC\\uDDBD])|\\uD83C\\uDFFF\\u200D(?:\\uD83C[\\uDF3E\\uDF73\\uDF7C\\uDF84\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E[\\uDDAF-\\uDDB3\\uDDBC\\uDDBD])|\\uD83C\\uDFFE\\u200D(?:\\uD83C[\\uDF3E\\uDF73\\uDF7C\\uDF84\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E[\\uDDAF-\\uDDB3\\uDDBC\\uDDBD])|\\uD83C\\uDFFD\\u200D(?:\\uD83C[\\uDF3E\\uDF73\\uDF7C\\uDF84\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E[\\uDDAF-\\uDDB3\\uDDBC\\uDDBD])|\\uD83C\\uDFFC\\u200D(?:\\uD83C[\\uDF3E\\uDF73\\uDF7C\\uDF84\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E[\\uDDAF-\\uDDB3\\uDDBC\\uDDBD])|\\uD83C\\uDFFB\\u200D(?:\\uD83C[\\uDF3E\\uDF73\\uDF7C\\uDF84\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E[\\uDDAF-\\uDDB3\\uDDBC\\uDDBD]))|\\uD83D\\uDC69\\u200D\\uD83D\\uDC66\\u200D\\uD83D\\uDC66|\\uD83D\\uDC69\\u200D\\uD83D\\uDC69\\u200D(?:\\uD83D[\\uDC66\\uDC67])|\\uD83D\\uDC69\\u200D\\uD83D\\uDC67\\u200D(?:\\uD83D[\\uDC66\\uDC67])|(?:\\uD83D\\uDC41\\uFE0F\\u200D\\uD83D\\uDDE8|\\uD83E\\uDDD1(?:\\uD83C\\uDFFF\\u200D[\\u2695\\u2696\\u2708]|\\uD83C\\uDFFE\\u200D[\\u2695\\u2696\\u2708]|\\uD83C\\uDFFD\\u200D[\\u2695\\u2696\\u2708]|\\uD83C\\uDFFC\\u200D[\\u2695\\u2696\\u2708]|\\uD83C\\uDFFB\\u200D[\\u2695\\u2696\\u2708]|\\u200D[\\u2695\\u2696\\u2708])|\\uD83D\\uDC69(?:\\uD83C\\uDFFF\\u200D[\\u2695\\u2696\\u2708]|\\uD83C\\uDFFE\\u200D[\\u2695\\u2696\\u2708]|\\uD83C\\uDFFD\\u200D[\\u2695\\u2696\\u2708]|\\uD83C\\uDFFC\\u200D[\\u2695\\u2696\\u2708]|\\uD83C\\uDFFB\\u200D[\\u2695\\u2696\\u2708]|\\u200D[\\u2695\\u2696\\u2708])|\\uD83D\\uDE36\\u200D\\uD83C\\uDF2B|\\uD83C\\uDFF3\\uFE0F\\u200D\\u26A7|\\uD83D\\uDC3B\\u200D\\u2744|(?:(?:\\uD83C[\\uDFC3\\uDFC4\\uDFCA]|\\uD83D[\\uDC6E\\uDC70\\uDC71\\uDC73\\uDC77\\uDC81\\uDC82\\uDC86\\uDC87\\uDE45-\\uDE47\\uDE4B\\uDE4D\\uDE4E\\uDEA3\\uDEB4-\\uDEB6]|\\uD83E[\\uDD26\\uDD35\\uDD37-\\uDD39\\uDD3D\\uDD3E\\uDDB8\\uDDB9\\uDDCD-\\uDDCF\\uDDD4\\uDDD6-\\uDDDD])(?:\\uD83C[\\uDFFB-\\uDFFF])|\\uD83D\\uDC6F|\\uD83E[\\uDD3C\\uDDDE\\uDDDF])\\u200D[\\u2640\\u2642]|(?:\\u26F9|\\uD83C[\\uDFCB\\uDFCC]|\\uD83D\\uDD75)(?:\\uFE0F|\\uD83C[\\uDFFB-\\uDFFF])\\u200D[\\u2640\\u2642]|\\uD83C\\uDFF4\\u200D\\u2620|(?:\\uD83C[\\uDFC3\\uDFC4\\uDFCA]|\\uD83D[\\uDC6E\\uDC70\\uDC71\\uDC73\\uDC77\\uDC81\\uDC82\\uDC86\\uDC87\\uDE45-\\uDE47\\uDE4B\\uDE4D\\uDE4E\\uDEA3\\uDEB4-\\uDEB6]|\\uD83E[\\uDD26\\uDD35\\uDD37-\\uDD39\\uDD3D\\uDD3E\\uDDB8\\uDDB9\\uDDCD-\\uDDCF\\uDDD4\\uDDD6-\\uDDDD])\\u200D[\\u2640\\u2642]|[\\xA9\\xAE\\u203C\\u2049\\u2122\\u2139\\u2194-\\u2199\\u21A9\\u21AA\\u2328\\u23CF\\u23ED-\\u23EF\\u23F1\\u23F2\\u23F8-\\u23FA\\u24C2\\u25AA\\u25AB\\u25B6\\u25C0\\u25FB\\u25FC\\u2600-\\u2604\\u260E\\u2611\\u2618\\u2620\\u2622\\u2623\\u2626\\u262A\\u262E\\u262F\\u2638-\\u263A\\u2640\\u2642\\u265F\\u2660\\u2663\\u2665\\u2666\\u2668\\u267B\\u267E\\u2692\\u2694-\\u2697\\u2699\\u269B\\u269C\\u26A0\\u26A7\\u26B0\\u26B1\\u26C8\\u26CF\\u26D1\\u26D3\\u26E9\\u26F0\\u26F1\\u26F4\\u26F7\\u26F8\\u2702\\u2708\\u2709\\u270F\\u2712\\u2714\\u2716\\u271D\\u2721\\u2733\\u2734\\u2744\\u2747\\u2763\\u27A1\\u2934\\u2935\\u2B05-\\u2B07\\u3030\\u303D\\u3297\\u3299]|\\uD83C[\\uDD70\\uDD71\\uDD7E\\uDD7F\\uDE02\\uDE37\\uDF21\\uDF24-\\uDF2C\\uDF36\\uDF7D\\uDF96\\uDF97\\uDF99-\\uDF9B\\uDF9E\\uDF9F\\uDFCD\\uDFCE\\uDFD4-\\uDFDF\\uDFF5\\uDFF7]|\\uD83D[\\uDC3F\\uDCFD\\uDD49\\uDD4A\\uDD6F\\uDD70\\uDD73\\uDD76-\\uDD79\\uDD87\\uDD8A-\\uDD8D\\uDDA5\\uDDA8\\uDDB1\\uDDB2\\uDDBC\\uDDC2-\\uDDC4\\uDDD1-\\uDDD3\\uDDDC-\\uDDDE\\uDDE1\\uDDE3\\uDDE8\\uDDEF\\uDDF3\\uDDFA\\uDECB\\uDECD-\\uDECF\\uDEE0-\\uDEE5\\uDEE9\\uDEF0\\uDEF3])\\uFE0F|\\uD83C\\uDFF3\\uFE0F\\u200D\\uD83C\\uDF08|\\uD83D\\uDC69\\u200D\\uD83D\\uDC67|\\uD83D\\uDC69\\u200D\\uD83D\\uDC66|\\uD83D\\uDE35\\u200D\\uD83D\\uDCAB|\\uD83D\\uDE2E\\u200D\\uD83D\\uDCA8|\\uD83D\\uDC15\\u200D\\uD83E\\uDDBA|\\uD83E\\uDDD1(?:\\uD83C\\uDFFF|\\uD83C\\uDFFE|\\uD83C\\uDFFD|\\uD83C\\uDFFC|\\uD83C\\uDFFB)?|\\uD83D\\uDC69(?:\\uD83C\\uDFFF|\\uD83C\\uDFFE|\\uD83C\\uDFFD|\\uD83C\\uDFFC|\\uD83C\\uDFFB)?|\\uD83C\\uDDFD\\uD83C\\uDDF0|\\uD83C\\uDDF6\\uD83C\\uDDE6|\\uD83C\\uDDF4\\uD83C\\uDDF2|\\uD83D\\uDC08\\u200D\\u2B1B|\\u2764\\uFE0F\\u200D(?:\\uD83D\\uDD25|\\uD83E\\uDE79)|\\uD83D\\uDC41\\uFE0F|\\uD83C\\uDFF3\\uFE0F|\\uD83C\\uDDFF(?:\\uD83C[\\uDDE6\\uDDF2\\uDDFC])|\\uD83C\\uDDFE(?:\\uD83C[\\uDDEA\\uDDF9])|\\uD83C\\uDDFC(?:\\uD83C[\\uDDEB\\uDDF8])|\\uD83C\\uDDFB(?:\\uD83C[\\uDDE6\\uDDE8\\uDDEA\\uDDEC\\uDDEE\\uDDF3\\uDDFA])|\\uD83C\\uDDFA(?:\\uD83C[\\uDDE6\\uDDEC\\uDDF2\\uDDF3\\uDDF8\\uDDFE\\uDDFF])|\\uD83C\\uDDF9(?:\\uD83C[\\uDDE6\\uDDE8\\uDDE9\\uDDEB-\\uDDED\\uDDEF-\\uDDF4\\uDDF7\\uDDF9\\uDDFB\\uDDFC\\uDDFF])|\\uD83C\\uDDF8(?:\\uD83C[\\uDDE6-\\uDDEA\\uDDEC-\\uDDF4\\uDDF7-\\uDDF9\\uDDFB\\uDDFD-\\uDDFF])|\\uD83C\\uDDF7(?:\\uD83C[\\uDDEA\\uDDF4\\uDDF8\\uDDFA\\uDDFC])|\\uD83C\\uDDF5(?:\\uD83C[\\uDDE6\\uDDEA-\\uDDED\\uDDF0-\\uDDF3\\uDDF7-\\uDDF9\\uDDFC\\uDDFE])|\\uD83C\\uDDF3(?:\\uD83C[\\uDDE6\\uDDE8\\uDDEA-\\uDDEC\\uDDEE\\uDDF1\\uDDF4\\uDDF5\\uDDF7\\uDDFA\\uDDFF])|\\uD83C\\uDDF2(?:\\uD83C[\\uDDE6\\uDDE8-\\uDDED\\uDDF0-\\uDDFF])|\\uD83C\\uDDF1(?:\\uD83C[\\uDDE6-\\uDDE8\\uDDEE\\uDDF0\\uDDF7-\\uDDFB\\uDDFE])|\\uD83C\\uDDF0(?:\\uD83C[\\uDDEA\\uDDEC-\\uDDEE\\uDDF2\\uDDF3\\uDDF5\\uDDF7\\uDDFC\\uDDFE\\uDDFF])|\\uD83C\\uDDEF(?:\\uD83C[\\uDDEA\\uDDF2\\uDDF4\\uDDF5])|\\uD83C\\uDDEE(?:\\uD83C[\\uDDE8-\\uDDEA\\uDDF1-\\uDDF4\\uDDF6-\\uDDF9])|\\uD83C\\uDDED(?:\\uD83C[\\uDDF0\\uDDF2\\uDDF3\\uDDF7\\uDDF9\\uDDFA])|\\uD83C\\uDDEC(?:\\uD83C[\\uDDE6\\uDDE7\\uDDE9-\\uDDEE\\uDDF1-\\uDDF3\\uDDF5-\\uDDFA\\uDDFC\\uDDFE])|\\uD83C\\uDDEB(?:\\uD83C[\\uDDEE-\\uDDF0\\uDDF2\\uDDF4\\uDDF7])|\\uD83C\\uDDEA(?:\\uD83C[\\uDDE6\\uDDE8\\uDDEA\\uDDEC\\uDDED\\uDDF7-\\uDDFA])|\\uD83C\\uDDE9(?:\\uD83C[\\uDDEA\\uDDEC\\uDDEF\\uDDF0\\uDDF2\\uDDF4\\uDDFF])|\\uD83C\\uDDE8(?:\\uD83C[\\uDDE6\\uDDE8\\uDDE9\\uDDEB-\\uDDEE\\uDDF0-\\uDDF5\\uDDF7\\uDDFA-\\uDDFF])|\\uD83C\\uDDE7(?:\\uD83C[\\uDDE6\\uDDE7\\uDDE9-\\uDDEF\\uDDF1-\\uDDF4\\uDDF6-\\uDDF9\\uDDFB\\uDDFC\\uDDFE\\uDDFF])|\\uD83C\\uDDE6(?:\\uD83C[\\uDDE8-\\uDDEC\\uDDEE\\uDDF1\\uDDF2\\uDDF4\\uDDF6-\\uDDFA\\uDDFC\\uDDFD\\uDDFF])|[#\\*0-9]\\uFE0F\\u20E3|\\u2764\\uFE0F|(?:\\uD83C[\\uDFC3\\uDFC4\\uDFCA]|\\uD83D[\\uDC6E\\uDC70\\uDC71\\uDC73\\uDC77\\uDC81\\uDC82\\uDC86\\uDC87\\uDE45-\\uDE47\\uDE4B\\uDE4D\\uDE4E\\uDEA3\\uDEB4-\\uDEB6]|\\uD83E[\\uDD26\\uDD35\\uDD37-\\uDD39\\uDD3D\\uDD3E\\uDDB8\\uDDB9\\uDDCD-\\uDDCF\\uDDD4\\uDDD6-\\uDDDD])(?:\\uD83C[\\uDFFB-\\uDFFF])|(?:\\u26F9|\\uD83C[\\uDFCB\\uDFCC]|\\uD83D\\uDD75)(?:\\uFE0F|\\uD83C[\\uDFFB-\\uDFFF])|\\uD83C\\uDFF4|(?:[\\u270A\\u270B]|\\uD83C[\\uDF85\\uDFC2\\uDFC7]|\\uD83D[\\uDC42\\uDC43\\uDC46-\\uDC50\\uDC66\\uDC67\\uDC6B-\\uDC6D\\uDC72\\uDC74-\\uDC76\\uDC78\\uDC7C\\uDC83\\uDC85\\uDC8F\\uDC91\\uDCAA\\uDD7A\\uDD95\\uDD96\\uDE4C\\uDE4F\\uDEC0\\uDECC]|\\uD83E[\\uDD0C\\uDD0F\\uDD18-\\uDD1C\\uDD1E\\uDD1F\\uDD30-\\uDD34\\uDD36\\uDD77\\uDDB5\\uDDB6\\uDDBB\\uDDD2\\uDDD3\\uDDD5])(?:\\uD83C[\\uDFFB-\\uDFFF])|(?:[\\u261D\\u270C\\u270D]|\\uD83D[\\uDD74\\uDD90])(?:\\uFE0F|\\uD83C[\\uDFFB-\\uDFFF])|[\\u270A\\u270B]|\\uD83C[\\uDF85\\uDFC2\\uDFC7]|\\uD83D[\\uDC08\\uDC15\\uDC3B\\uDC42\\uDC43\\uDC46-\\uDC50\\uDC66\\uDC67\\uDC6B-\\uDC6D\\uDC72\\uDC74-\\uDC76\\uDC78\\uDC7C\\uDC83\\uDC85\\uDC8F\\uDC91\\uDCAA\\uDD7A\\uDD95\\uDD96\\uDE2E\\uDE35\\uDE36\\uDE4C\\uDE4F\\uDEC0\\uDECC]|\\uD83E[\\uDD0C\\uDD0F\\uDD18-\\uDD1C\\uDD1E\\uDD1F\\uDD30-\\uDD34\\uDD36\\uDD77\\uDDB5\\uDDB6\\uDDBB\\uDDD2\\uDDD3\\uDDD5]|\\uD83C[\\uDFC3\\uDFC4\\uDFCA]|\\uD83D[\\uDC6E\\uDC70\\uDC71\\uDC73\\uDC77\\uDC81\\uDC82\\uDC86\\uDC87\\uDE45-\\uDE47\\uDE4B\\uDE4D\\uDE4E\\uDEA3\\uDEB4-\\uDEB6]|\\uD83E[\\uDD26\\uDD35\\uDD37-\\uDD39\\uDD3D\\uDD3E\\uDDB8\\uDDB9\\uDDCD-\\uDDCF\\uDDD4\\uDDD6-\\uDDDD]|\\uD83D\\uDC6F|\\uD83E[\\uDD3C\\uDDDE\\uDDDF]|[\\u231A\\u231B\\u23E9-\\u23EC\\u23F0\\u23F3\\u25FD\\u25FE\\u2614\\u2615\\u2648-\\u2653\\u267F\\u2693\\u26A1\\u26AA\\u26AB\\u26BD\\u26BE\\u26C4\\u26C5\\u26CE\\u26D4\\u26EA\\u26F2\\u26F3\\u26F5\\u26FA\\u26FD\\u2705\\u2728\\u274C\\u274E\\u2753-\\u2755\\u2757\\u2795-\\u2797\\u27B0\\u27BF\\u2B1B\\u2B1C\\u2B50\\u2B55]|\\uD83C[\\uDC04\\uDCCF\\uDD8E\\uDD91-\\uDD9A\\uDE01\\uDE1A\\uDE2F\\uDE32-\\uDE36\\uDE38-\\uDE3A\\uDE50\\uDE51\\uDF00-\\uDF20\\uDF2D-\\uDF35\\uDF37-\\uDF7C\\uDF7E-\\uDF84\\uDF86-\\uDF93\\uDFA0-\\uDFC1\\uDFC5\\uDFC6\\uDFC8\\uDFC9\\uDFCF-\\uDFD3\\uDFE0-\\uDFF0\\uDFF8-\\uDFFF]|\\uD83D[\\uDC00-\\uDC07\\uDC09-\\uDC14\\uDC16-\\uDC3A\\uDC3C-\\uDC3E\\uDC40\\uDC44\\uDC45\\uDC51-\\uDC65\\uDC6A\\uDC79-\\uDC7B\\uDC7D-\\uDC80\\uDC84\\uDC88-\\uDC8E\\uDC90\\uDC92-\\uDCA9\\uDCAB-\\uDCFC\\uDCFF-\\uDD3D\\uDD4B-\\uDD4E\\uDD50-\\uDD67\\uDDA4\\uDDFB-\\uDE2D\\uDE2F-\\uDE34\\uDE37-\\uDE44\\uDE48-\\uDE4A\\uDE80-\\uDEA2\\uDEA4-\\uDEB3\\uDEB7-\\uDEBF\\uDEC1-\\uDEC5\\uDED0-\\uDED2\\uDED5-\\uDED7\\uDEEB\\uDEEC\\uDEF4-\\uDEFC\\uDFE0-\\uDFEB]|\\uD83E[\\uDD0D\\uDD0E\\uDD10-\\uDD17\\uDD1D\\uDD20-\\uDD25\\uDD27-\\uDD2F\\uDD3A\\uDD3F-\\uDD45\\uDD47-\\uDD76\\uDD78\\uDD7A-\\uDDB4\\uDDB7\\uDDBA\\uDDBC-\\uDDCB\\uDDD0\\uDDE0-\\uDDFF\\uDE70-\\uDE74\\uDE78-\\uDE7A\\uDE80-\\uDE86\\uDE90-\\uDEA8\\uDEB0-\\uDEB6\\uDEC0-\\uDEC2\\uDED0-\\uDED6]|(?:[\\u231A\\u231B\\u23E9-\\u23EC\\u23F0\\u23F3\\u25FD\\u25FE\\u2614\\u2615\\u2648-\\u2653\\u267F\\u2693\\u26A1\\u26AA\\u26AB\\u26BD\\u26BE\\u26C4\\u26C5\\u26CE\\u26D4\\u26EA\\u26F2\\u26F3\\u26F5\\u26FA\\u26FD\\u2705\\u270A\\u270B\\u2728\\u274C\\u274E\\u2753-\\u2755\\u2757\\u2795-\\u2797\\u27B0\\u27BF\\u2B1B\\u2B1C\\u2B50\\u2B55]|\\uD83C[\\uDC04\\uDCCF\\uDD8E\\uDD91-\\uDD9A\\uDDE6-\\uDDFF\\uDE01\\uDE1A\\uDE2F\\uDE32-\\uDE36\\uDE38-\\uDE3A\\uDE50\\uDE51\\uDF00-\\uDF20\\uDF2D-\\uDF35\\uDF37-\\uDF7C\\uDF7E-\\uDF93\\uDFA0-\\uDFCA\\uDFCF-\\uDFD3\\uDFE0-\\uDFF0\\uDFF4\\uDFF8-\\uDFFF]|\\uD83D[\\uDC00-\\uDC3E\\uDC40\\uDC42-\\uDCFC\\uDCFF-\\uDD3D\\uDD4B-\\uDD4E\\uDD50-\\uDD67\\uDD7A\\uDD95\\uDD96\\uDDA4\\uDDFB-\\uDE4F\\uDE80-\\uDEC5\\uDECC\\uDED0-\\uDED2\\uDED5-\\uDED7\\uDEEB\\uDEEC\\uDEF4-\\uDEFC\\uDFE0-\\uDFEB]|\\uD83E[\\uDD0C-\\uDD3A\\uDD3C-\\uDD45\\uDD47-\\uDD78\\uDD7A-\\uDDCB\\uDDCD-\\uDDFF\\uDE70-\\uDE74\\uDE78-\\uDE7A\\uDE80-\\uDE86\\uDE90-\\uDEA8\\uDEB0-\\uDEB6\\uDEC0-\\uDEC2\\uDED0-\\uDED6])|(?:[#\\*0-9\\xA9\\xAE\\u203C\\u2049\\u2122\\u2139\\u2194-\\u2199\\u21A9\\u21AA\\u231A\\u231B\\u2328\\u23CF\\u23E9-\\u23F3\\u23F8-\\u23FA\\u24C2\\u25AA\\u25AB\\u25B6\\u25C0\\u25FB-\\u25FE\\u2600-\\u2604\\u260E\\u2611\\u2614\\u2615\\u2618\\u261D\\u2620\\u2622\\u2623\\u2626\\u262A\\u262E\\u262F\\u2638-\\u263A\\u2640\\u2642\\u2648-\\u2653\\u265F\\u2660\\u2663\\u2665\\u2666\\u2668\\u267B\\u267E\\u267F\\u2692-\\u2697\\u2699\\u269B\\u269C\\u26A0\\u26A1\\u26A7\\u26AA\\u26AB\\u26B0\\u26B1\\u26BD\\u26BE\\u26C4\\u26C5\\u26C8\\u26CE\\u26CF\\u26D1\\u26D3\\u26D4\\u26E9\\u26EA\\u26F0-\\u26F5\\u26F7-\\u26FA\\u26FD\\u2702\\u2705\\u2708-\\u270D\\u270F\\u2712\\u2714\\u2716\\u271D\\u2721\\u2728\\u2733\\u2734\\u2744\\u2747\\u274C\\u274E\\u2753-\\u2755\\u2757\\u2763\\u2764\\u2795-\\u2797\\u27A1\\u27B0\\u27BF\\u2934\\u2935\\u2B05-\\u2B07\\u2B1B\\u2B1C\\u2B50\\u2B55\\u3030\\u303D\\u3297\\u3299]|\\uD83C[\\uDC04\\uDCCF\\uDD70\\uDD71\\uDD7E\\uDD7F\\uDD8E\\uDD91-\\uDD9A\\uDDE6-\\uDDFF\\uDE01\\uDE02\\uDE1A\\uDE2F\\uDE32-\\uDE3A\\uDE50\\uDE51\\uDF00-\\uDF21\\uDF24-\\uDF93\\uDF96\\uDF97\\uDF99-\\uDF9B\\uDF9E-\\uDFF0\\uDFF3-\\uDFF5\\uDFF7-\\uDFFF]|\\uD83D[\\uDC00-\\uDCFD\\uDCFF-\\uDD3D\\uDD49-\\uDD4E\\uDD50-\\uDD67\\uDD6F\\uDD70\\uDD73-\\uDD7A\\uDD87\\uDD8A-\\uDD8D\\uDD90\\uDD95\\uDD96\\uDDA4\\uDDA5\\uDDA8\\uDDB1\\uDDB2\\uDDBC\\uDDC2-\\uDDC4\\uDDD1-\\uDDD3\\uDDDC-\\uDDDE\\uDDE1\\uDDE3\\uDDE8\\uDDEF\\uDDF3\\uDDFA-\\uDE4F\\uDE80-\\uDEC5\\uDECB-\\uDED2\\uDED5-\\uDED7\\uDEE0-\\uDEE5\\uDEE9\\uDEEB\\uDEEC\\uDEF0\\uDEF3-\\uDEFC\\uDFE0-\\uDFEB]|\\uD83E[\\uDD0C-\\uDD3A\\uDD3C-\\uDD45\\uDD47-\\uDD78\\uDD7A-\\uDDCB\\uDDCD-\\uDDFF\\uDE70-\\uDE74\\uDE78-\\uDE7A\\uDE80-\\uDE86\\uDE90-\\uDEA8\\uDEB0-\\uDEB6\\uDEC0-\\uDEC2\\uDED0-\\uDED6])\\uFE0F|(?:[\\u261D\\u26F9\\u270A-\\u270D]|\\uD83C[\\uDF85\\uDFC2-\\uDFC4\\uDFC7\\uDFCA-\\uDFCC]|\\uD83D[\\uDC42\\uDC43\\uDC46-\\uDC50\\uDC66-\\uDC78\\uDC7C\\uDC81-\\uDC83\\uDC85-\\uDC87\\uDC8F\\uDC91\\uDCAA\\uDD74\\uDD75\\uDD7A\\uDD90\\uDD95\\uDD96\\uDE45-\\uDE47\\uDE4B-\\uDE4F\\uDEA3\\uDEB4-\\uDEB6\\uDEC0\\uDECC]|\\uD83E[\\uDD0C\\uDD0F\\uDD18-\\uDD1F\\uDD26\\uDD30-\\uDD39\\uDD3C-\\uDD3E\\uDD77\\uDDB5\\uDDB6\\uDDB8\\uDDB9\\uDDBB\\uDDCD-\\uDDCF\\uDDD1-\\uDDDD])/g;\n};\n","// wink-tokenizer\n// Multilingual tokenizer that automatically tags each token with its type.\n//\n// Copyright (C) GRAYPE Systems Private Limited\n//\n// This file is part of “wink-tokenizer”.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the \"Software\"),\n// to deal in the Software without restriction, including without limitation\n// the rights to use, copy, modify, merge, publish, distribute, sublicense,\n// and/or sell copies of the Software, and to permit persons to whom the\n// Software is furnished to do so, subject to the following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL\n// THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING\n// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER\n// DEALINGS IN THE SOFTWARE.\n\nvar contractions = Object.create( null );\n\n// Tag - word.\nvar word = 'word';\n// Verbs.\ncontractions[ 'can\\'t' ] = [ { value: 'ca', tag: word }, { value: 'n\\'t', tag: word } ];\ncontractions[ 'CAN\\'T' ] = [ { value: 'CA', tag: word }, { value: 'N\\'T', tag: word } ];\ncontractions[ 'Can\\'t' ] = [ { value: 'Ca', tag: word }, { value: 'n\\'t', tag: word } ];\n\ncontractions[ 'Couldn\\'t' ] = [ { value: 'could', tag: word }, { value: 'n\\'t', tag: word } ];\ncontractions[ 'COULDN\\'T' ] = [ { value: 'COULD', tag: word }, { value: 'N\\'T', tag: word } ];\ncontractions[ 'Couldn\\'t' ] = [ { value: 'Could', tag: word }, { value: 'n\\'t', tag: word } ];\n\ncontractions[ 'don\\'t' ] = [ { value: 'do', tag: word }, { value: 'n\\'t', tag: word } ];\ncontractions[ 'DON\\'T' ] = [ { value: 'DO', tag: word }, { value: 'N\\'T', tag: word } ];\ncontractions[ 'Don\\'t' ] = [ { value: 'Do', tag: word }, { value: 'n\\'t', tag: word } ];\n\ncontractions[ 'doesn\\'t' ] = [ { value: 'does', tag: word }, { value: 'n\\'t', tag: word } ];\ncontractions[ 'DOESN\\'T' ] = [ { value: 'DOES', tag: word }, { value: 'N\\'T', tag: word } ];\ncontractions[ 'Doesn\\'t' ] = [ { value: 'Does', tag: word }, { value: 'n\\'t', tag: word } ];\n\ncontractions[ 'didn\\'t' ] = [ { value: 'did', tag: word }, { value: 'n\\'t', tag: word } ];\ncontractions[ 'DIDN\\'T' ] = [ { value: 'DID', tag: word }, { value: 'N\\'T', tag: word } ];\ncontractions[ 'Didn\\'t' ] = [ { value: 'Did', tag: word }, { value: 'n\\'t', tag: word } ];\n\ncontractions[ 'hadn\\'t' ] = [ { value: 'had', tag: word }, { value: 'n\\'t', tag: word } ];\ncontractions[ 'HADN\\'T' ] = [ { value: 'HAD', tag: word }, { value: 'N\\'T', tag: word } ];\ncontractions[ 'Hadn\\'t' ] = [ { value: 'Had', tag: word }, { value: 'n\\'t', tag: word } ];\n\ncontractions[ 'mayn\\'t' ] = [ { value: 'may', tag: word }, { value: 'n\\'t', tag: word } ];\ncontractions[ 'MAYN\\'T' ] = [ { value: 'MAY', tag: word }, { value: 'N\\'T', tag: word } ];\ncontractions[ 'Mayn\\'t' ] = [ { value: 'May', tag: word }, { value: 'n\\'t', tag: word } ];\n\ncontractions[ 'mightn\\'t' ] = [ { value: 'might', tag: word }, { value: 'n\\'t', tag: word } ];\ncontractions[ 'MIGHTN\\'T' ] = [ { value: 'MIGHT', tag: word }, { value: 'N\\'T', tag: word } ];\ncontractions[ 'Mightn\\'t' ] = [ { value: 'Might', tag: word }, { value: 'n\\'t', tag: word } ];\n\ncontractions[ 'mustn\\'t' ] = [ { value: 'must', tag: word }, { value: 'n\\'t', tag: word } ];\ncontractions[ 'MUSTN\\'T' ] = [ { value: 'MUST', tag: word }, { value: 'N\\'T', tag: word } ];\ncontractions[ 'Mustn\\'t' ] = [ { value: 'Must', tag: word }, { value: 'n\\'t', tag: word } ];\n\ncontractions[ 'needn\\'t' ] = [ { value: 'need', tag: word }, { value: 'n\\'t', tag: word } ];\ncontractions[ 'NEEDN\\'T' ] = [ { value: 'NEED', tag: word }, { value: 'N\\'T', tag: word } ];\ncontractions[ 'Needn\\'t' ] = [ { value: 'Need', tag: word }, { value: 'n\\'t', tag: word } ];\n\ncontractions[ 'oughtn\\'t' ] = [ { value: 'ought', tag: word }, { value: 'n\\'t', tag: word } ];\ncontractions[ 'OUGHTN\\'T' ] = [ { value: 'OUGHT', tag: word }, { value: 'N\\'T', tag: word } ];\ncontractions[ 'Oughtn\\'t' ] = [ { value: 'Ought', tag: word }, { value: 'n\\'t', tag: word } ];\n\ncontractions[ 'shan\\'t' ] = [ { value: 'sha', tag: word }, { value: 'n\\'t', tag: word } ];\ncontractions[ 'SHAN\\'T' ] = [ { value: 'SHA', tag: word }, { value: 'N\\'T', tag: word } ];\ncontractions[ 'Shan\\'t' ] = [ { value: 'Sha', tag: word }, { value: 'n\\'t', tag: word } ];\n\ncontractions[ 'shouldn\\'t' ] = [ { value: 'should', tag: word }, { value: 'n\\'t', tag: word } ];\ncontractions[ 'SHOULDN\\'T' ] = [ { value: 'SHOULD', tag: word }, { value: 'N\\'T', tag: word } ];\ncontractions[ 'Shouldn\\'t' ] = [ { value: 'Should', tag: word }, { value: 'n\\'t', tag: word } ];\n\ncontractions[ 'won\\'t' ] = [ { value: 'wo', tag: word }, { value: 'n\\'t', tag: word } ];\ncontractions[ 'WON\\'T' ] = [ { value: 'WO', tag: word }, { value: 'N\\'T', tag: word } ];\ncontractions[ 'Won\\'t' ] = [ { value: 'Wo', tag: word }, { value: 'n\\'t', tag: word } ];\n\ncontractions[ 'wouldn\\'t' ] = [ { value: 'would', tag: word }, { value: 'n\\'t', tag: word } ];\ncontractions[ 'WOULDN\\'T' ] = [ { value: 'WOULD', tag: word }, { value: 'N\\'T', tag: word } ];\ncontractions[ 'Wouldn\\'t' ] = [ { value: 'Would', tag: word }, { value: 'n\\'t', tag: word } ];\n\ncontractions[ 'ain\\'t' ] = [ { value: 'ai', tag: word }, { value: 'n\\'t', tag: word } ];\ncontractions[ 'AIN\\'T' ] = [ { value: 'AI', tag: word }, { value: 'N\\'T', tag: word } ];\ncontractions[ 'Ain\\'t' ] = [ { value: 'Ai', tag: word }, { value: 'n\\'t', tag: word } ];\n\ncontractions[ 'aren\\'t' ] = [ { value: 'are', tag: word }, { value: 'n\\'t', tag: word } ];\ncontractions[ 'AREN\\'T' ] = [ { value: 'ARE', tag: word }, { value: 'N\\'T', tag: word } ];\ncontractions[ 'Aren\\'t' ] = [ { value: 'Are', tag: word }, { value: 'n\\'t', tag: word } ];\n\ncontractions[ 'isn\\'t' ] = [ { value: 'is', tag: word }, { value: 'n\\'t', tag: word } ];\ncontractions[ 'ISN\\'T' ] = [ { value: 'IS', tag: word }, { value: 'N\\'T', tag: word } ];\ncontractions[ 'Isn\\'t' ] = [ { value: 'Is', tag: word }, { value: 'n\\'t', tag: word } ];\n\ncontractions[ 'wasn\\'t' ] = [ { value: 'was', tag: word }, { value: 'n\\'t', tag: word } ];\ncontractions[ 'WASN\\'T' ] = [ { value: 'WAS', tag: word }, { value: 'N\\'T', tag: word } ];\ncontractions[ 'Wasn\\'t' ] = [ { value: 'Was', tag: word }, { value: 'n\\'t', tag: word } ];\n\ncontractions[ 'weren\\'t' ] = [ { value: 'were', tag: word }, { value: 'n\\'t', tag: word } ];\ncontractions[ 'WEREN\\'T' ] = [ { value: 'WERE', tag: word }, { value: 'N\\'T', tag: word } ];\ncontractions[ 'Weren\\'t' ] = [ { value: 'Were', tag: word }, { value: 'n\\'t', tag: word } ];\n\ncontractions[ 'haven\\'t' ] = [ { value: 'have', tag: word }, { value: 'n\\'t', tag: word } ];\ncontractions[ 'HAVEN\\'T' ] = [ { value: 'HAVE', tag: word }, { value: 'N\\'T', tag: word } ];\ncontractions[ 'Haven\\'t' ] = [ { value: 'Have', tag: word }, { value: 'n\\'t', tag: word } ];\n\ncontractions[ 'hasn\\'t' ] = [ { value: 'has', tag: word }, { value: 'n\\'t', tag: word } ];\ncontractions[ 'HASN\\'T' ] = [ { value: 'HAS', tag: word }, { value: 'N\\'T', tag: word } ];\ncontractions[ 'Hasn\\'t' ] = [ { value: 'Has', tag: word }, { value: 'n\\'t', tag: word } ];\n\ncontractions[ 'daren\\'t' ] = [ { value: 'dare', tag: word }, { value: 'n\\'t', tag: word } ];\ncontractions[ 'DAREN\\'T' ] = [ { value: 'DARE', tag: word }, { value: 'N\\'T', tag: word } ];\ncontractions[ 'Daren\\'t' ] = [ { value: 'Dare', tag: word }, { value: 'n\\'t', tag: word } ];\n\n\n// Pronouns like I, you, they, we, she, and he.\ncontractions[ 'i\\'m' ] = [ { value: 'i', tag: word }, { value: '\\'m', tag: word } ];\ncontractions[ 'I\\'M' ] = [ { value: 'I', tag: word }, { value: '\\'M', tag: word } ];\ncontractions[ 'I\\'m' ] = [ { value: 'I', tag: word }, { value: '\\'m', tag: word } ];\n\ncontractions[ 'i\\'ve' ] = [ { value: 'i', tag: word }, { value: '\\'ve', tag: word } ];\ncontractions[ 'I\\'VE' ] = [ { value: 'I', tag: word }, { value: '\\'VE', tag: word } ];\ncontractions[ 'I\\'ve' ] = [ { value: 'I', tag: word }, { value: '\\'ve', tag: word } ];\n\ncontractions[ 'i\\'d' ] = [ { value: 'i', tag: word }, { value: '\\'d', tag: word } ];\ncontractions[ 'I\\'D' ] = [ { value: 'I', tag: word }, { value: '\\'D', tag: word } ];\ncontractions[ 'I\\'d' ] = [ { value: 'I', tag: word }, { value: '\\'d', tag: word } ];\n\ncontractions[ 'i\\'ll' ] = [ { value: 'i', tag: word }, { value: '\\'ll', tag: word } ];\ncontractions[ 'I\\'LL' ] = [ { value: 'I', tag: word }, { value: '\\'LL', tag: word } ];\ncontractions[ 'I\\'ll' ] = [ { value: 'I', tag: word }, { value: '\\'ll', tag: word } ];\n\ncontractions[ 'you\\'ve' ] = [ { value: 'you', tag: word }, { value: '\\'ve', tag: word } ];\ncontractions[ 'YOU\\'VE' ] = [ { value: 'YOU', tag: word }, { value: '\\'VE', tag: word } ];\ncontractions[ 'You\\'ve' ] = [ { value: 'You', tag: word }, { value: '\\'ve', tag: word } ];\n\ncontractions[ 'you\\'d' ] = [ { value: 'you', tag: word }, { value: '\\'d', tag: word } ];\ncontractions[ 'YOU\\'D' ] = [ { value: 'YOU', tag: word }, { value: '\\'D', tag: word } ];\ncontractions[ 'You\\'d' ] = [ { value: 'You', tag: word }, { value: '\\'d', tag: word } ];\n\ncontractions[ 'you\\'ll' ] = [ { value: 'you', tag: word }, { value: '\\'ll', tag: word } ];\ncontractions[ 'YOU\\'LL' ] = [ { value: 'YOU', tag: word }, { value: '\\'LL', tag: word } ];\ncontractions[ 'You\\'ll' ] = [ { value: 'You', tag: word }, { value: '\\'ll', tag: word } ];\n\n// they - 've, 'd, 'll, 're\ncontractions[ 'they\\'ve' ] = [ { value: 'they', tag: word }, { value: '\\'ve', tag: word } ];\ncontractions[ 'THEY\\'VE' ] = [ { value: 'THEY', tag: word }, { value: '\\'VE', tag: word } ];\ncontractions[ 'They\\'ve' ] = [ { value: 'They', tag: word }, { value: '\\'ve', tag: word } ];\n\ncontractions[ 'they\\'d' ] = [ { value: 'they', tag: word }, { value: '\\'d', tag: word } ];\ncontractions[ 'THEY\\'D' ] = [ { value: 'THEY', tag: word }, { value: '\\'D', tag: word } ];\ncontractions[ 'They\\'d' ] = [ { value: 'They', tag: word }, { value: '\\'d', tag: word } ];\n\ncontractions[ 'they\\'ll' ] = [ { value: 'they', tag: word }, { value: '\\'ll', tag: word } ];\ncontractions[ 'THEY\\'LL' ] = [ { value: 'THEY', tag: word }, { value: '\\'LL', tag: word } ];\ncontractions[ 'They\\'ll' ] = [ { value: 'They', tag: word }, { value: '\\'ll', tag: word } ];\n\ncontractions[ 'they\\'re' ] = [ { value: 'they', tag: word }, { value: '\\'re', tag: word } ];\ncontractions[ 'THEY\\'RE' ] = [ { value: 'THEY', tag: word }, { value: '\\'RE', tag: word } ];\ncontractions[ 'They\\'re' ] = [ { value: 'They', tag: word }, { value: '\\'re', tag: word } ];\n\ncontractions[ 'we\\'ve' ] = [ { value: 'we', tag: word }, { value: '\\'ve', tag: word } ];\ncontractions[ 'WE\\'VE' ] = [ { value: 'WE', tag: word }, { value: '\\'VE', tag: word } ];\ncontractions[ 'We\\'ve' ] = [ { value: 'We', tag: word }, { value: '\\'ve', tag: word } ];\n\ncontractions[ 'we\\'d' ] = [ { value: 'we', tag: word }, { value: '\\'d', tag: word } ];\ncontractions[ 'WE\\'D' ] = [ { value: 'WE', tag: word }, { value: '\\'D', tag: word } ];\ncontractions[ 'We\\'d' ] = [ { value: 'We', tag: word }, { value: '\\'d', tag: word } ];\n\ncontractions[ 'we\\'ll' ] = [ { value: 'we', tag: word }, { value: '\\'ll', tag: word } ];\ncontractions[ 'WE\\'LL' ] = [ { value: 'WE', tag: word }, { value: '\\'LL', tag: word } ];\ncontractions[ 'We\\'ll' ] = [ { value: 'We', tag: word }, { value: '\\'ll', tag: word } ];\n\ncontractions[ 'we\\'re' ] = [ { value: 'we', tag: word }, { value: '\\'re', tag: word } ];\ncontractions[ 'WE\\'RE' ] = [ { value: 'WE', tag: word }, { value: '\\'RE', tag: word } ];\ncontractions[ 'We\\'re' ] = [ { value: 'We', tag: word }, { value: '\\'re', tag: word } ];\n\ncontractions[ 'she\\'d' ] = [ { value: 'she', tag: word }, { value: '\\'d', tag: word } ];\ncontractions[ 'SHE\\'D' ] = [ { value: 'SHE', tag: word }, { value: '\\'D', tag: word } ];\ncontractions[ 'She\\'d' ] = [ { value: 'She', tag: word }, { value: '\\'d', tag: word } ];\n\ncontractions[ 'she\\'ll' ] = [ { value: 'she', tag: word }, { value: '\\'ll', tag: word } ];\ncontractions[ 'SHE\\'LL' ] = [ { value: 'SHE', tag: word }, { value: '\\'LL', tag: word } ];\ncontractions[ 'She\\'ll' ] = [ { value: 'She', tag: word }, { value: '\\'ll', tag: word } ];\n\ncontractions[ 'she\\'s' ] = [ { value: 'she', tag: word }, { value: '\\'s', tag: word } ];\ncontractions[ 'SHE\\'S' ] = [ { value: 'SHE', tag: word }, { value: '\\'S', tag: word } ];\ncontractions[ 'She\\'s' ] = [ { value: 'She', tag: word }, { value: '\\'s', tag: word } ];\n\ncontractions[ 'he\\'d' ] = [ { value: 'he', tag: word }, { value: '\\'d', tag: word } ];\ncontractions[ 'HE\\'D' ] = [ { value: 'HE', tag: word }, { value: '\\'D', tag: word } ];\ncontractions[ 'He\\'d' ] = [ { value: 'He', tag: word }, { value: '\\'d', tag: word } ];\n\ncontractions[ 'he\\'ll' ] = [ { value: 'he', tag: word }, { value: '\\'ll', tag: word } ];\ncontractions[ 'HE\\'LL' ] = [ { value: 'HE', tag: word }, { value: '\\'LL', tag: word } ];\ncontractions[ 'He\\'ll' ] = [ { value: 'He', tag: word }, { value: '\\'ll', tag: word } ];\n\ncontractions[ 'he\\'s' ] = [ { value: 'he', tag: word }, { value: '\\'s', tag: word } ];\ncontractions[ 'HE\\'S' ] = [ { value: 'HE', tag: word }, { value: '\\'S', tag: word } ];\ncontractions[ 'He\\'s' ] = [ { value: 'He', tag: word }, { value: '\\'s', tag: word } ];\n\ncontractions[ 'it\\'d' ] = [ { value: 'it', tag: word }, { value: '\\'d', tag: word } ];\ncontractions[ 'IT\\'D' ] = [ { value: 'IT', tag: word }, { value: '\\'D', tag: word } ];\ncontractions[ 'It\\'d' ] = [ { value: 'It', tag: word }, { value: '\\'d', tag: word } ];\n\ncontractions[ 'it\\'ll' ] = [ { value: 'it', tag: word }, { value: '\\'ll', tag: word } ];\ncontractions[ 'IT\\'LL' ] = [ { value: 'IT', tag: word }, { value: '\\'LL', tag: word } ];\ncontractions[ 'It\\'ll' ] = [ { value: 'It', tag: word }, { value: '\\'ll', tag: word } ];\n\ncontractions[ 'it\\'s' ] = [ { value: 'it', tag: word }, { value: '\\'s', tag: word } ];\ncontractions[ 'IT\\'S' ] = [ { value: 'IT', tag: word }, { value: '\\'S', tag: word } ];\ncontractions[ 'It\\'s' ] = [ { value: 'It', tag: word }, { value: '\\'s', tag: word } ];\n\n// Wh Pronouns - what, who, when, where, why, how, there, that\ncontractions[ 'what\\'ve' ] = [ { value: 'what', tag: word }, { value: '\\'ve', tag: word } ];\ncontractions[ 'WHAT\\'VE' ] = [ { value: 'WHAT', tag: word }, { value: '\\'VE', tag: word } ];\ncontractions[ 'What\\'ve' ] = [ { value: 'What', tag: word }, { value: '\\'ve', tag: word } ];\n\ncontractions[ 'what\\'d' ] = [ { value: 'what', tag: word }, { value: '\\'d', tag: word } ];\ncontractions[ 'WHAT\\'D' ] = [ { value: 'WHAT', tag: word }, { value: '\\'D', tag: word } ];\ncontractions[ 'What\\'d' ] = [ { value: 'What', tag: word }, { value: '\\'d', tag: word } ];\n\ncontractions[ 'what\\'ll' ] = [ { value: 'what', tag: word }, { value: '\\'ll', tag: word } ];\ncontractions[ 'WHAT\\'LL' ] = [ { value: 'WHAT', tag: word }, { value: '\\'LL', tag: word } ];\ncontractions[ 'What\\'ll' ] = [ { value: 'What', tag: word }, { value: '\\'ll', tag: word } ];\n\ncontractions[ 'what\\'re' ] = [ { value: 'what', tag: word }, { value: '\\'re', tag: word } ];\ncontractions[ 'WHAT\\'RE' ] = [ { value: 'WHAT', tag: word }, { value: '\\'RE', tag: word } ];\ncontractions[ 'What\\'re' ] = [ { value: 'What', tag: word }, { value: '\\'re', tag: word } ];\n\ncontractions[ 'who\\'ve' ] = [ { value: 'who', tag: word }, { value: '\\'ve', tag: word } ];\ncontractions[ 'WHO\\'VE' ] = [ { value: 'WHO', tag: word }, { value: '\\'VE', tag: word } ];\ncontractions[ 'Who\\'ve' ] = [ { value: 'Who', tag: word }, { value: '\\'ve', tag: word } ];\n\ncontractions[ 'who\\'d' ] = [ { value: 'who', tag: word }, { value: '\\'d', tag: word } ];\ncontractions[ 'WHO\\'D' ] = [ { value: 'WHO', tag: word }, { value: '\\'D', tag: word } ];\ncontractions[ 'Who\\'d' ] = [ { value: 'Who', tag: word }, { value: '\\'d', tag: word } ];\n\ncontractions[ 'who\\'ll' ] = [ { value: 'who', tag: word }, { value: '\\'ll', tag: word } ];\ncontractions[ 'WHO\\'LL' ] = [ { value: 'WHO', tag: word }, { value: '\\'LL', tag: word } ];\ncontractions[ 'Who\\'ll' ] = [ { value: 'Who', tag: word }, { value: '\\'ll', tag: word } ];\n\ncontractions[ 'who\\'re' ] = [ { value: 'who', tag: word }, { value: '\\'re', tag: word } ];\ncontractions[ 'WHO\\'RE' ] = [ { value: 'WHO', tag: word }, { value: '\\'RE', tag: word } ];\ncontractions[ 'Who\\'re' ] = [ { value: 'Who', tag: word }, { value: '\\'re', tag: word } ];\n\ncontractions[ 'when\\'ve' ] = [ { value: 'when', tag: word }, { value: '\\'ve', tag: word } ];\ncontractions[ 'WHEN\\'VE' ] = [ { value: 'WHEN', tag: word }, { value: '\\'VE', tag: word } ];\ncontractions[ 'When\\'ve' ] = [ { value: 'When', tag: word }, { value: '\\'ve', tag: word } ];\n\ncontractions[ 'when\\'d' ] = [ { value: 'when', tag: word }, { value: '\\'d', tag: word } ];\ncontractions[ 'WHEN\\'D' ] = [ { value: 'WHEN', tag: word }, { value: '\\'D', tag: word } ];\ncontractions[ 'When\\'d' ] = [ { value: 'When', tag: word }, { value: '\\'d', tag: word } ];\n\ncontractions[ 'when\\'ll' ] = [ { value: 'when', tag: word }, { value: '\\'ll', tag: word } ];\ncontractions[ 'WHEN\\'LL' ] = [ { value: 'WHEN', tag: word }, { value: '\\'LL', tag: word } ];\ncontractions[ 'When\\'ll' ] = [ { value: 'When', tag: word }, { value: '\\'ll', tag: word } ];\n\ncontractions[ 'when\\'re' ] = [ { value: 'when', tag: word }, { value: '\\'re', tag: word } ];\ncontractions[ 'WHEN\\'RE' ] = [ { value: 'WHEN', tag: word }, { value: '\\'RE', tag: word } ];\ncontractions[ 'When\\'re' ] = [ { value: 'When', tag: word }, { value: '\\'re', tag: word } ];\n\ncontractions[ 'where\\'ve' ] = [ { value: 'where', tag: word }, { value: '\\'ve', tag: word } ];\ncontractions[ 'WHERE\\'VE' ] = [ { value: 'WHERE', tag: word }, { value: '\\'VE', tag: word } ];\ncontractions[ 'Where\\'ve' ] = [ { value: 'Where', tag: word }, { value: '\\'ve', tag: word } ];\n\ncontractions[ 'where\\'d' ] = [ { value: 'where', tag: word }, { value: '\\'d', tag: word } ];\ncontractions[ 'WHERE\\'D' ] = [ { value: 'WHERE', tag: word }, { value: '\\'D', tag: word } ];\ncontractions[ 'Where\\'d' ] = [ { value: 'Where', tag: word }, { value: '\\'d', tag: word } ];\n\ncontractions[ 'where\\'ll' ] = [ { value: 'where', tag: word }, { value: '\\'ll', tag: word } ];\ncontractions[ 'WHERE\\'LL' ] = [ { value: 'WHERE', tag: word }, { value: '\\'LL', tag: word } ];\ncontractions[ 'Where\\'ll' ] = [ { value: 'Where', tag: word }, { value: '\\'ll', tag: word } ];\n\ncontractions[ 'where\\'re' ] = [ { value: 'where', tag: word }, { value: '\\'re', tag: word } ];\ncontractions[ 'WHERE\\'RE' ] = [ { value: 'WHERE', tag: word }, { value: '\\'RE', tag: word } ];\ncontractions[ 'Where\\'re' ] = [ { value: 'Where', tag: word }, { value: '\\'re', tag: word } ];\n\ncontractions[ 'why\\'ve' ] = [ { value: 'why', tag: word }, { value: '\\'ve', tag: word } ];\ncontractions[ 'WHY\\'VE' ] = [ { value: 'WHY', tag: word }, { value: '\\'VE', tag: word } ];\ncontractions[ 'Why\\'ve' ] = [ { value: 'Why', tag: word }, { value: '\\'ve', tag: word } ];\n\ncontractions[ 'why\\'d' ] = [ { value: 'why', tag: word }, { value: '\\'d', tag: word } ];\ncontractions[ 'WHY\\'D' ] = [ { value: 'WHY', tag: word }, { value: '\\'D', tag: word } ];\ncontractions[ 'Why\\'d' ] = [ { value: 'Why', tag: word }, { value: '\\'d', tag: word } ];\n\ncontractions[ 'why\\'ll' ] = [ { value: 'why', tag: word }, { value: '\\'ll', tag: word } ];\ncontractions[ 'WHY\\'LL' ] = [ { value: 'WHY', tag: word }, { value: '\\'LL', tag: word } ];\ncontractions[ 'Why\\'ll' ] = [ { value: 'Why', tag: word }, { value: '\\'ll', tag: word } ];\n\ncontractions[ 'why\\'re' ] = [ { value: 'why', tag: word }, { value: '\\'re', tag: word } ];\ncontractions[ 'WHY\\'RE' ] = [ { value: 'WHY', tag: word }, { value: '\\'RE', tag: word } ];\ncontractions[ 'Why\\'re' ] = [ { value: 'Why', tag: word }, { value: '\\'re', tag: word } ];\n\ncontractions[ 'how\\'ve' ] = [ { value: 'how', tag: word }, { value: '\\'ve', tag: word } ];\ncontractions[ 'HOW\\'VE' ] = [ { value: 'HOW', tag: word }, { value: '\\'VE', tag: word } ];\ncontractions[ 'How\\'ve' ] = [ { value: 'How', tag: word }, { value: '\\'ve', tag: word } ];\n\ncontractions[ 'how\\'d' ] = [ { value: 'how', tag: word }, { value: '\\'d', tag: word } ];\ncontractions[ 'HOW\\'D' ] = [ { value: 'HOW', tag: word }, { value: '\\'D', tag: word } ];\ncontractions[ 'How\\'d' ] = [ { value: 'How', tag: word }, { value: '\\'d', tag: word } ];\n\ncontractions[ 'how\\'ll' ] = [ { value: 'how', tag: word }, { value: '\\'ll', tag: word } ];\ncontractions[ 'HOW\\'LL' ] = [ { value: 'HOW', tag: word }, { value: '\\'LL', tag: word } ];\ncontractions[ 'How\\'ll' ] = [ { value: 'How', tag: word }, { value: '\\'ll', tag: word } ];\n\ncontractions[ 'how\\'re' ] = [ { value: 'how', tag: word }, { value: '\\'re', tag: word } ];\ncontractions[ 'HOW\\'RE' ] = [ { value: 'HOW', tag: word }, { value: '\\'RE', tag: word } ];\ncontractions[ 'How\\'re' ] = [ { value: 'How', tag: word }, { value: '\\'re', tag: word } ];\n\ncontractions[ 'there\\'ve' ] = [ { value: 'there', tag: word }, { value: '\\'ve', tag: word } ];\ncontractions[ 'THERE\\'VE' ] = [ { value: 'THERE', tag: word }, { value: '\\'VE', tag: word } ];\ncontractions[ 'There\\'ve' ] = [ { value: 'There', tag: word }, { value: '\\'ve', tag: word } ];\n\ncontractions[ 'there\\'d' ] = [ { value: 'there', tag: word }, { value: '\\'d', tag: word } ];\ncontractions[ 'THERE\\'D' ] = [ { value: 'THERE', tag: word }, { value: '\\'D', tag: word } ];\ncontractions[ 'There\\'d' ] = [ { value: 'There', tag: word }, { value: '\\'d', tag: word } ];\n\ncontractions[ 'there\\'ll' ] = [ { value: 'there', tag: word }, { value: '\\'ll', tag: word } ];\ncontractions[ 'THERE\\'LL' ] = [ { value: 'THERE', tag: word }, { value: '\\'LL', tag: word } ];\ncontractions[ 'There\\'ll' ] = [ { value: 'There', tag: word }, { value: '\\'ll', tag: word } ];\n\ncontractions[ 'there\\'re' ] = [ { value: 'there', tag: word }, { value: '\\'re', tag: word } ];\ncontractions[ 'THERE\\'RE' ] = [ { value: 'THERE', tag: word }, { value: '\\'RE', tag: word } ];\ncontractions[ 'There\\'re' ] = [ { value: 'There', tag: word }, { value: '\\'re', tag: word } ];\n\ncontractions[ 'that\\'ve' ] = [ { value: 'that', tag: word }, { value: '\\'ve', tag: word } ];\ncontractions[ 'THAT\\'VE' ] = [ { value: 'THAT', tag: word }, { value: '\\'VE', tag: word } ];\ncontractions[ 'That\\'ve' ] = [ { value: 'That', tag: word }, { value: '\\'ve', tag: word } ];\n\ncontractions[ 'that\\'d' ] = [ { value: 'that', tag: word }, { value: '\\'d', tag: word } ];\ncontractions[ 'THAT\\'D' ] = [ { value: 'THAT', tag: word }, { value: '\\'D', tag: word } ];\ncontractions[ 'That\\'d' ] = [ { value: 'That', tag: word }, { value: '\\'d', tag: word } ];\n\ncontractions[ 'that\\'ll' ] = [ { value: 'that', tag: word }, { value: '\\'ll', tag: word } ];\ncontractions[ 'THAT\\'LL' ] = [ { value: 'THAT', tag: word }, { value: '\\'LL', tag: word } ];\ncontractions[ 'That\\'ll' ] = [ { value: 'That', tag: word }, { value: '\\'ll', tag: word } ];\n\ncontractions[ 'that\\'re' ] = [ { value: 'that', tag: word }, { value: '\\'re', tag: word } ];\ncontractions[ 'THAT\\'RE' ] = [ { value: 'THAT', tag: word }, { value: '\\'RE', tag: word } ];\ncontractions[ 'That\\'re' ] = [ { value: 'That', tag: word }, { value: '\\'re', tag: word } ];\n\n// Let us!\ncontractions[ 'let\\'s' ] = [ { value: 'let', tag: word }, { value: '\\'s', tag: word } ];\ncontractions[ 'LET\\'S' ] = [ { value: 'THAT', tag: word }, { value: '\\'S', tag: word } ];\ncontractions[ 'Let\\'s' ] = [ { value: 'Let', tag: word }, { value: '\\'s', tag: word } ];\n\ncontractions[ 'could\\'ve' ] = [ { value: 'could', tag: word }, { value: '\\'ve', tag: word } ];\ncontractions[ 'COULD\\'VE' ] = [ { value: 'COULD', tag: word }, { value: '\\'VE', tag: word } ];\ncontractions[ 'Could\\'ve' ] = [ { value: 'Could', tag: word }, { value: '\\'ve', tag: word } ];\n\ncontractions[ 'should\\'ve' ] = [ { value: 'should', tag: word }, { value: '\\'ve', tag: word } ];\ncontractions[ 'SHOULD\\'VE' ] = [ { value: 'SHOULD', tag: word }, { value: '\\'VE', tag: word } ];\ncontractions[ 'Should\\'ve' ] = [ { value: 'Should', tag: word }, { value: '\\'ve', tag: word } ];\n\ncontractions[ 'would\\'ve' ] = [ { value: 'would', tag: word }, { value: '\\'ve', tag: word } ];\ncontractions[ 'WOULD\\'VE' ] = [ { value: 'WOULD', tag: word }, { value: '\\'VE', tag: word } ];\ncontractions[ 'Would\\'ve' ] = [ { value: 'Would', tag: word }, { value: '\\'ve', tag: word } ];\n\ncontractions[ 'i\\'ll\\'ve' ] = [ { value: 'i', tag: word }, { value: '\\'ll', tag: word }, { value: '\\'ve', tag: word } ];\ncontractions[ 'I\\'LL\\'VE' ] = [ { value: 'I', tag: word }, { value: '\\'LL', tag: word }, { value: '\\'VE', tag: word } ];\ncontractions[ 'I\\'ll\\'ve' ] = [ { value: 'I', tag: word }, { value: '\\'ll', tag: word }, { value: '\\'ve', tag: word } ];\n\ncontractions[ 'you\\'ll\\'ve' ] = [ { value: 'you', tag: word }, { value: '\\'ll', tag: word }, { value: '\\'ve', tag: word } ];\ncontractions[ 'YOU\\'LL\\'VE' ] = [ { value: 'YOU', tag: word }, { value: '\\'LL', tag: word }, { value: '\\'VE', tag: word } ];\ncontractions[ 'You\\'ll\\'ve' ] = [ { value: 'You', tag: word }, { value: '\\'ll', tag: word }, { value: '\\'ve', tag: word } ];\n\ncontractions[ 'they\\'ll\\'ve' ] = [ { value: 'they', tag: word }, { value: '\\'ll', tag: word }, { value: '\\'ve', tag: word } ];\ncontractions[ 'THEY\\'LL\\'VE' ] = [ { value: 'THEY', tag: word }, { value: '\\'LL', tag: word }, { value: '\\'VE', tag: word } ];\ncontractions[ 'They\\'ll\\'ve' ] = [ { value: 'They', tag: word }, { value: '\\'ll', tag: word }, { value: '\\'ve', tag: word } ];\n\ncontractions[ 'it\\'ll\\'ve' ] = [ { value: 'it', tag: word }, { value: '\\'ll', tag: word }, { value: '\\'ve', tag: word } ];\ncontractions[ 'IT\\'LL\\'VE' ] = [ { value: 'IT', tag: word }, { value: '\\'LL', tag: word }, { value: '\\'VE', tag: word } ];\ncontractions[ 'It\\'ll\\'ve' ] = [ { value: 'It', tag: word }, { value: '\\'ll', tag: word }, { value: '\\'ve', tag: word } ];\n\ncontractions[ 'he\\'ll\\'ve' ] = [ { value: 'he', tag: word }, { value: '\\'ll', tag: word }, { value: '\\'ve', tag: word } ];\ncontractions[ 'HE\\'LL\\'VE' ] = [ { value: 'HE', tag: word }, { value: '\\'LL', tag: word }, { value: '\\'VE', tag: word } ];\ncontractions[ 'He\\'ll\\'ve' ] = [ { value: 'He', tag: word }, { value: '\\'ll', tag: word }, { value: '\\'ve', tag: word } ];\n\ncontractions[ 'she\\'ll\\'ve' ] = [ { value: 'she', tag: word }, { value: '\\'ll', tag: word }, { value: '\\'ve', tag: word } ];\ncontractions[ 'SHE\\'LL\\'VE' ] = [ { value: 'SHE', tag: word }, { value: '\\'LL', tag: word }, { value: '\\'VE', tag: word } ];\ncontractions[ 'She\\'ll\\'ve' ] = [ { value: 'She', tag: word }, { value: '\\'ll', tag: word }, { value: '\\'ve', tag: word } ];\n\ncontractions[ 'shouldn\\'t\\'ve' ] = [ { value: 'should', tag: word }, { value: 'n\\'t', tag: word }, { value: '\\'ve', tag: word } ];\ncontractions[ 'SHOULDN\\'T\\'VE' ] = [ { value: 'SHOULD', tag: word }, { value: 'N\\'T', tag: word }, { value: '\\'VE', tag: word } ];\ncontractions[ 'Shouldn\\'t\\'ve' ] = [ { value: 'Should', tag: word }, { value: 'n\\'t', tag: word }, { value: '\\'ve', tag: word } ];\n\ncontractions[ 'couldn\\'t\\'ve' ] = [ { value: 'could', tag: word }, { value: 'n\\'t', tag: word }, { value: '\\'ve', tag: word } ];\ncontractions[ 'COULDN\\'T\\'VE' ] = [ { value: 'COULD', tag: word }, { value: 'N\\'T', tag: word }, { value: '\\'VE', tag: word } ];\ncontractions[ 'Couldn\\'t\\'ve' ] = [ { value: 'Could', tag: word }, { value: 'n\\'t', tag: word }, { value: '\\'ve', tag: word } ];\n\ncontractions[ 'wouldn\\'t\\'ve' ] = [ { value: 'would', tag: word }, { value: 'n\\'t', tag: word }, { value: '\\'ve', tag: word } ];\ncontractions[ 'WOULDN\\'T\\'VE' ] = [ { value: 'WOULD', tag: word }, { value: 'N\\'T', tag: word }, { value: '\\'VE', tag: word } ];\ncontractions[ 'Wouldn\\'t\\'ve' ] = [ { value: 'Would', tag: word }, { value: 'n\\'t', tag: word }, { value: '\\'ve', tag: word } ];\n\ncontractions[ 'i\\'d\\'ve' ] = [ { value: 'i', tag: word }, { value: '\\'d', tag: word }, { value: '\\'ve', tag: word } ];\ncontractions[ 'I\\'D\\'VE' ] = [ { value: 'I', tag: word }, { value: '\\'D', tag: word }, { value: '\\'VE', tag: word } ];\ncontractions[ 'I\\'d\\'ve' ] = [ { value: 'I', tag: word }, { value: '\\'d', tag: word }, { value: '\\'ve', tag: word } ];\n\ncontractions[ 'you\\'d\\'ve' ] = [ { value: 'you', tag: word }, { value: '\\'d', tag: word }, { value: '\\'ve', tag: word } ];\ncontractions[ 'YOU\\'D\\'VE' ] = [ { value: 'YOU', tag: word }, { value: '\\'D', tag: word }, { value: '\\'VE', tag: word } ];\ncontractions[ 'You\\'d\\'ve' ] = [ { value: 'You', tag: word }, { value: '\\'d', tag: word }, { value: '\\'ve', tag: word } ];\n\ncontractions[ 'he\\'d\\'ve' ] = [ { value: 'he', tag: word }, { value: '\\'d', tag: word }, { value: '\\'ve', tag: word } ];\ncontractions[ 'HE\\'D\\'VE' ] = [ { value: 'HE', tag: word }, { value: '\\'D', tag: word }, { value: '\\'VE', tag: word } ];\ncontractions[ 'He\\'d\\'ve' ] = [ { value: 'He', tag: word }, { value: '\\'d', tag: word }, { value: '\\'ve', tag: word } ];\n\ncontractions[ 'she\\'d\\'ve' ] = [ { value: 'she', tag: word }, { value: '\\'d', tag: word }, { value: '\\'ve', tag: word } ];\ncontractions[ 'SHE\\'D\\'VE' ] = [ { value: 'SHE', tag: word }, { value: '\\'D', tag: word }, { value: '\\'VE', tag: word } ];\ncontractions[ 'She\\'d\\'ve' ] = [ { value: 'She', tag: word }, { value: '\\'d', tag: word }, { value: '\\'ve', tag: word } ];\n\ncontractions[ 'you\\'d\\'ve' ] = [ { value: 'you', tag: word }, { value: '\\'d', tag: word }, { value: '\\'ve', tag: word } ];\ncontractions[ 'YOU\\'D\\'VE' ] = [ { value: 'YOU', tag: word }, { value: '\\'D', tag: word }, { value: '\\'VE', tag: word } ];\ncontractions[ 'You\\'d\\'ve' ] = [ { value: 'You', tag: word }, { value: '\\'d', tag: word }, { value: '\\'ve', tag: word } ];\n\ncontractions[ 'they\\'d\\'ve' ] = [ { value: 'they', tag: word }, { value: '\\'d', tag: word }, { value: '\\'ve', tag: word } ];\ncontractions[ 'THEY\\'D\\'VE' ] = [ { value: 'THEY', tag: word }, { value: '\\'D', tag: word }, { value: '\\'VE', tag: word } ];\ncontractions[ 'They\\'d\\'ve' ] = [ { value: 'They', tag: word }, { value: '\\'d', tag: word }, { value: '\\'ve', tag: word } ];\n\ncontractions[ 'there\\'d\\'ve' ] = [ { value: 'there', tag: word }, { value: '\\'d', tag: word }, { value: '\\'ve', tag: word } ];\ncontractions[ 'THERE\\'D\\'VE' ] = [ { value: 'THERE', tag: word }, { value: '\\'D', tag: word }, { value: '\\'VE', tag: word } ];\ncontractions[ 'There\\'d\\'ve' ] = [ { value: 'There', tag: word }, { value: '\\'d', tag: word }, { value: '\\'ve', tag: word } ];\n\ncontractions[ 'it\\'d\\'ve' ] = [ { value: 'it', tag: word }, { value: '\\'d', tag: word }, { value: '\\'ve', tag: word } ];\ncontractions[ 'IT\\'D\\'VE' ] = [ { value: 'IT', tag: word }, { value: '\\'D', tag: word }, { value: '\\'VE', tag: word } ];\ncontractions[ 'It\\'d\\'ve' ] = [ { value: 'It', tag: word }, { value: '\\'d', tag: word }, { value: '\\'ve', tag: word } ];\n\nmodule.exports = contractions;\n","// wink-tokenizer\n// Multilingual tokenizer that automatically tags each token with its type.\n//\n// Copyright (C) GRAYPE Systems Private Limited\n//\n// This file is part of “wink-tokenizer”.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the \"Software\"),\n// to deal in the Software without restriction, including without limitation\n// the rights to use, copy, modify, merge, publish, distribute, sublicense,\n// and/or sell copies of the Software, and to permit persons to whom the\n// Software is furnished to do so, subject to the following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL\n// THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING\n// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER\n// DEALINGS IN THE SOFTWARE.\n\n//\nvar emojiRegex = require( 'emoji-regex' );\nvar contractions = require( './eng-contractions.js' );\nvar rgxSpaces = /\\s+/g;\n// Ordinals only for Latin like 1st, 2nd or 12th or 33rd.\nvar rgxOrdinalL1 = /1\\dth|[04-9]th|1st|2nd|3rd|[02-9]1st|[02-9]2nd|[02-9]3rd|[02-9][04-9]th|\\d+\\d[04-9]th|\\d+\\d1st|\\d+\\d2nd|\\d+\\d3rd/g;\n// Apart from detecting pure integers or decimals, also detect numbers containing\n// `. - / ,` so that dates, ip address, fractions and things like codes or part\n// numbers are also detected as numbers only. These regex will therefore detected\n// 8.8.8.8 or 12-12-1924 or 1,1,1,1.00 or 1/4 or 1/4/66/777 as numbers.\n// Latin-1 Numbers.\nvar rgxNumberL1 = /\\d+\\/\\d+|\\d(?:[\\.,-\\/]?\\d)*(?:\\.\\d+)?/g;\n// Devanagari Numbers.\nvar rgxNumberDV = /[\\u0966-\\u096F]+\\/[\\u0966-\\u096F]+|[\\u0966-\\u096F](?:[\\.,-\\/]?[\\u0966-\\u096F])*(?:\\.[\\u0966-\\u096F]+)?/g;\nvar rgxMention = /@\\w+/g;\n// Latin-1 Hashtags.\n// Include entire Latin-1 script and not just English alphas.\nvar rgxHashtagL1 = /#[a-z\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u00FF_][a-z0-9\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u00FF_]*/gi;\n// Devanagari Hashtags\nvar rgxHashtagDV = /#[\\u0900-\\u0963\\u0970-\\u097F_][\\u0900-\\u0963\\u0970-\\u097F\\u0966-\\u096F0-9_]*/gi;\n// EMail is EN character set.\nvar rgxEmail = /[-!#$%&'*+\\/=?^\\w{|}~](?:\\.?[-!#$%&'*+\\/=?^\\w`{|}~])*@[a-z0-9](?:-?\\.?[a-z0-9])*(?:\\.[a-z](?:-?[a-z0-9])*)+/gi;\n// Bitcoin, Ruble, Indian Rupee, Other Rupee, Dollar, Pound, Yen, Euro, Wong.\nvar rgxCurrency = /[₿₽₹₨$£¥€₩]/g;\n// These include both the punctuations: Latin-1 & Devanagari.\nvar rgxPunctuation = /[’'‘’`“”\"\\[\\]\\(\\){}…,\\.!;\\?\\-:\\u0964\\u0965]/g;\nvar rgxQuotedPhrase = /\"[^\"]*\"/g;\n// NOTE: URL will support only EN character set for now.\nvar rgxURL = /(?:https?:\\/\\/)(?:[\\da-z\\.-]+)\\.(?:[a-z\\.]{2,6})(?:[\\/\\w\\.\\-\\?#=]*)*\\/?/gi;\nvar rgxEmoji = emojiRegex();\nvar rgxEmoticon = /:-?[dps\\*\\/\\[\\]{}\\(\\)]|;-?[/(/)d]|<3/gi;\nvar rgxTime = /(?:\\d|[01]\\d|2[0-3]):?(?:[0-5][0-9])?\\s?(?:[ap]\\.?m\\.?|hours|hrs)/gi;\n// Inlcude [Latin-1 Supplement Unicode Block](https://en.wikipedia.org/wiki/Latin-1_Supplement_(Unicode_block))\nvar rgxWordL1 = /[a-z\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u00FF][a-z\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u00FF']*/gi;\n// Define [Devanagari Unicode Block](https://unicode.org/charts/PDF/U0900.pdf)\nvar rgxWordDV = /[\\u0900-\\u094F\\u0951-\\u0963\\u0970-\\u097F]+/gi;\n// Symbols go here; including Om.\nvar rgxSymbol = /[\\u0950~@#%\\^\\+=\\*\\|\\/<>&]/g;\n// For detecting if the word is a potential contraction.\nvar rgxContraction = /'/;\n// Singular & Plural possessive\nvar rgxPosSingular = /([a-z]+)('s)$/i;\nvar rgxPosPlural = /([a-z]+s)(')$/i;\n// Regexes and their categories; used for tokenizing via match/split. The\n// sequence is *critical* for correct tokenization.\nvar rgxsMaster = [\n { regex: rgxQuotedPhrase, category: 'quoted_phrase' },\n { regex: rgxURL, category: 'url' },\n { regex: rgxEmail, category: 'email' },\n { regex: rgxMention, category: 'mention' },\n { regex: rgxHashtagL1, category: 'hashtag' },\n { regex: rgxHashtagDV, category: 'hashtag' },\n { regex: rgxEmoji, category: 'emoji' },\n { regex: rgxEmoticon, category: 'emoticon' },\n { regex: rgxTime, category: 'time' },\n { regex: rgxOrdinalL1, category: 'ordinal' },\n { regex: rgxNumberL1, category: 'number' },\n { regex: rgxNumberDV, category: 'number' },\n { regex: rgxCurrency, category: 'currency' },\n { regex: rgxWordL1, category: 'word' },\n { regex: rgxWordDV, category: 'word' },\n { regex: rgxPunctuation, category: 'punctuation' },\n { regex: rgxSymbol, category: 'symbol' }\n];\n\n// Used to generate finger print from the tokens.\n// NOTE: this variable is being reset in `defineConfig()`.\nvar fingerPrintCodes = {\n emoticon: 'c',\n email: 'e',\n emoji: 'j',\n hashtag: 'h',\n mention: 'm',\n number: 'n',\n ordinal: 'o',\n quoted_phrase: 'q', // eslint-disable-line camelcase\n currency: 'r',\n // symbol: 's',\n time: 't',\n url: 'u',\n word: 'w',\n alien: 'z'\n};\n\n// ### tokenizer\n/**\n *\n * Creates an instance of {@link Tokenizer}.\n *\n * @return {Tokenizer} object conatining set of API methods for tokenizing a sentence\n * and defining configuration, plugin etc.\n * @example\n * // Load wink tokenizer.\n * var tokenizer = require( 'wink-tokenizer' );\n * // Create your instance of wink tokenizer.\n * var myTokenizer = tokenizer();\n*/\nvar tokenizer = function () {\n // Default configuration: most comprehensive tokenization. Make deep copy!\n var rgxs = rgxsMaster.slice( 0 );\n // The result of last call to `tokenize()` is retained here.\n var finalTokens = [];\n // Returned!\n\n /**\n * @classdesc Tokenizer class\n * @class Tokenizer\n * @hideconstructor\n */\n var methods = Object.create( null );\n\n // ### manageContraction\n /**\n *\n * Splits a contractions into words by first trying a lookup in strandard\n * `contractions`; if the lookup fails, it checks for possessive in `'s` or\n * `s'` forms and separates the possesive part from the word. Otherwise the\n * contraction is treated as a normal word and no splitting occurs.\n *\n * @param {string} word that could be a potential conraction.\n * @param {object[]} tokens where the outcome is pushed.\n * @return {object[]} updated tokens according to the `word.`\n * @private\n */\n var manageContraction = function ( word, tokens ) {\n var ct = contractions[ word ];\n var matches;\n if ( ct === undefined ) {\n // Try possesive of sigular & plural forms\n matches = word.match( rgxPosSingular );\n if ( matches ) {\n tokens.push( { value: matches[ 1 ], tag: 'word' } );\n tokens.push( { value: matches[ 2 ], tag: 'word' } );\n } else {\n matches = word.match( rgxPosPlural );\n if ( matches ) {\n tokens.push( { value: matches[ 1 ], tag: 'word' } );\n tokens.push( { value: matches[ 2 ], tag: 'word' } );\n } else tokens.push( { value: word, tag: 'word' } );\n }\n } else {\n // Manage via lookup; ensure cloning!\n tokens.push( Object.assign( {}, ct[ 0 ] ) );\n tokens.push( Object.assign( {}, ct[ 1 ] ) );\n if ( ct[ 2 ] ) tokens.push( Object.assign( {}, ct[ 2 ] ) );\n }\n return tokens;\n }; // manageContraction()\n\n // ### tokenizeTextUnit\n /**\n *\n * Attempts to tokenize the input `text` using the `rgxSplit`. The tokenization\n * is carried out by combining the regex matches and splits in the right sequence.\n * The matches are the *real tokens*, whereas splits are text units that are\n * tokenized in later rounds! The real tokens (i.e. matches) are pushed as\n * `object` and splits as `string`.\n *\n * @param {string} text unit that is to be tokenized.\n * @param {object} rgxSplit object containing the regex and it's category.\n * @return {array} of tokens.\n * @private\n */\n var tokenizeTextUnit = function ( text, rgxSplit ) {\n // Regex matches go here; note each match is a token and has the same tag\n // as of regex's category.\n var matches = text.match( rgxSplit.regex );\n // Balance is \"what needs to be tokenized\".\n var balance = text.split( rgxSplit.regex );\n // The result, in form of combination of tokens & matches, is captured here.\n var tokens = [];\n // The tag;\n var tag = rgxSplit.category;\n // Helper variables.\n var aword,\n i,\n imax,\n k = 0,\n t;\n\n // Combine tokens & matches in the following pattern [ b0 m0 b1 m1 ... ]\n matches = ( matches ) ? matches : [];\n for ( i = 0, imax = balance.length; i < imax; i += 1 ) {\n t = balance[ i ];\n t = t.trim();\n if ( t ) tokens.push( t );\n if ( k < matches.length ) {\n if ( tag === 'word' ) {\n // Tag type `word` token may have a contraction.\n aword = matches[ k ];\n if ( rgxContraction.test( aword ) ) {\n tokens = manageContraction( aword, tokens );\n } else {\n // Means there is no contraction.\n tokens.push( { value: aword, tag: tag } );\n }\n } else tokens.push( { value: matches[ k ], tag: tag } );\n }\n k += 1;\n }\n\n return ( tokens );\n }; // tokenizeTextUnit()\n\n // ### tokenizeTextRecursively\n /**\n *\n * Tokenizes the input text recursively using the array of `regexes` and then\n * the `tokenizeTextUnit()` function. If (or whenever) the `regexes` becomes\n * empty, it simply splits the text on non-word characters instead of using\n * the `tokenizeTextUnit()` function.\n *\n * @param {string} text unit that is to be tokenized.\n * @param {object} regexes object containing the regex and it's category.\n * @return {undefined} nothing!\n * @private\n */\n var tokenizeTextRecursively = function ( text, regexes ) {\n var sentence = text.trim();\n var tokens = [];\n var i, imax;\n\n if ( !regexes.length ) {\n // No regex left, split on `spaces` and tag every token as **alien**.\n text.split( rgxSpaces ).forEach( function ( tkn ) {\n finalTokens.push( { value: tkn.trim(), tag: 'alien' } );\n } );\n return;\n }\n\n var rgx = regexes[ 0 ];\n tokens = tokenizeTextUnit( sentence, rgx );\n\n for ( i = 0, imax = tokens.length; i < imax; i += 1 ) {\n if ( typeof tokens[ i ] === 'string' ) {\n // Strings become candidates for further tokenization.\n tokenizeTextRecursively( tokens[ i ], regexes.slice( 1 ) );\n } else {\n finalTokens.push( tokens[ i ] );\n }\n }\n }; // tokenizeTextRecursively()\n\n // ### defineConfig\n /**\n *\n * Defines the configuration in terms of the types of token that will be\n * extracted by [`tokenize()`](#tokenize) method. Note by default, all types\n * of tokens will be detected and tagged automatically.\n *\n * @method Tokenizer#defineConfig\n * @param {object} config It defines 0 or more properties from the list of\n * **14** properties. A true value for a property ensures tokenization\n * for that type of text; whereas false value will mean that the tokenization of that\n * type of text will not be attempted. It also **resets** the effect of any previous\n * call(s) to the [`addRegex()`](#addregex) API.\n *\n * *An empty config object is equivalent to splitting on spaces. Whatever tokens\n * are created like this are tagged as **alien** and **`z`** is the\n * [finger print](#gettokensfp) code of this token type.*\n *\n * The table below gives the name of each property and it's description including\n * examples. The character with in paranthesis is the [finger print](#gettokensfp) code for the\n * token of that type.\n * @param {boolean} [config.currency=true] such as **$** or **£** symbols (**`r`**)\n * @param {boolean} [config.email=true] for example **john@acme.com** or **superman1@gmail.com** (**`e`**)\n * @param {boolean} [config.emoji=true] any standard unicode emojis e.g. 😊 or 😂 or 🎉 (**`j`**)\n * @param {boolean} [config.emoticon=true] common emoticons such as **`:-)`** or **`:D`** (**`c`**)\n * @param {boolean} [config.hashtag=true] hash tags such as **`#happy`** or **`#followme`** (**`h`**)\n * @param {boolean} [config.number=true] any integer, decimal number, fractions such as **19**, **2.718**\n * or **1/4** and numerals containing \"**`, - / .`**\", for example 12-12-1924 (**`n`**)\n * @param {boolean} [config.ordinal=true] ordinals like **1st**, **2nd**, **3rd**, **4th** or **12th** or **91st** (**`o`**)\n * @param {boolean} [config.punctuation=true] common punctuation such as **`?`** or **`,`**\n * ( token becomes fingerprint )\n * @param {boolean} [config.quoted_phrase=false] any **\"quoted text\"** in the sentence. _Note: its default value is **false**._ (**`q`**)\n * @param {boolean} [config.symbol=true] for example **`~`** or **`+`** or **`&`** or **`%`** or **`/`** ( token becomes fingerprint )\n * @param {boolean} [config.time=true] common representation of time such as **4pm** or **16:00 hours** (**`t`**)\n * @param {boolean} [config.mention=true] **@mention** as in github or twitter (**`m`**)\n * @param {boolean} [config.url=true] URL such as **https://github.com** (**`u`**)\n * @param {boolean} [config.word=true] word such as **faster** or **résumé** or **prévenir** (**`w`**)\n * @return {number} number of properties set to true from the list of above 13.\n * @example\n * // Do not tokenize & tag @mentions.\n * var myTokenizer.defineConfig( { mention: false } );\n * // -> 13\n * // Only tokenize words as defined above.\n * var myTokenizer.defineConfig( {} );\n * // -> 0\n */\n var defineConfig = function ( config ) {\n if ( typeof config === 'object' && Object.keys( config ).length ) {\n rgxs = rgxsMaster.filter( function ( rgx ) {\n // Config for the Category of `rgx`.\n var cc = config[ rgx.category ];\n // Means `undefined` & `null` values are taken as true; otherwise\n // standard **truthy** and **falsy** interpretation applies!!\n return ( cc === undefined || cc === null || !!cc );\n } );\n } else rgxs = [];\n // Count normalized length i.e. ignore multi-script entries.\n const uniqueCats = Object.create( null );\n rgxs.forEach( function ( rgx ) {\n uniqueCats[ rgx.category ] = true;\n } );\n // Reset the `fingerPrintCodes` variable.\n fingerPrintCodes = {\n emoticon: 'c',\n email: 'e',\n emoji: 'j',\n hashtag: 'h',\n mention: 'm',\n number: 'n',\n ordinal: 'o',\n quoted_phrase: 'q', // eslint-disable-line camelcase\n currency: 'r',\n // symbol: 's',\n time: 't',\n url: 'u',\n word: 'w',\n alien: 'z'\n };\n return ( ( Object.keys( uniqueCats ) ).length );\n }; // defineConfig()\n\n // ### tokenize\n /**\n *\n * Tokenizes the input `sentence` using the configuration specified via\n * [`defineConfig()`](#defineconfig).\n * Common contractions and possessive nouns are split into 2 separate tokens;\n * for example **I'll** splits as `'I'` and `'\\'ll'` or **won't** splits as\n * `'wo'` and `'n\\'t'`.\n *\n * @method Tokenizer#tokenize\n * @param {string} sentence the input sentence.\n * @return {object[]} of tokens; each one of them is an object with 2-keys viz.\n * `value` and its `tag` identifying the type of the token.\n * @example\n * var s = 'For detailed API docs, check out http://winkjs.org/wink-regression-tree/ URL!';\n * myTokenizer.tokenize( s );\n * // -> [ { value: 'For', tag: 'word' },\n * // { value: 'detailed', tag: 'word' },\n * // { value: 'API', tag: 'word' },\n * // { value: 'docs', tag: 'word' },\n * // { value: ',', tag: 'punctuation' },\n * // { value: 'check', tag: 'word' },\n * // { value: 'out', tag: 'word' },\n * // { value: 'http://winkjs.org/wink-regression-tree/', tag: 'url' },\n * // { value: 'URL', tag: 'word' },\n * // { value: '!', tag: 'punctuation' } ]\n */\n var tokenize = function ( sentence ) {\n finalTokens = [];\n tokenizeTextRecursively( sentence, rgxs );\n return finalTokens;\n }; // tokenize()\n\n // ### getTokensFP\n /**\n *\n * Returns the finger print of the tokens generated by the last call to\n * [`tokenize()`](#tokenize). A finger print is a string created by sequentially\n * joining the unique code of each token's type. Refer to table given under\n * [`defineConfig()`](#defineconfig) for values of these codes.\n *\n * A finger print is extremely useful in spotting patterns present in the sentence\n * using `regexes`, which is otherwise a complex and time consuming task.\n *\n * @method Tokenizer#getTokensFP\n * @return {string} finger print of tokens generated by the last call to `tokenize()`.\n * @example\n * // Generate finger print of sentence given in the previous example\n * // under tokenize().\n * myTokenizer.getTokensFP();\n * // -> 'wwww,wwuw!'\n */\n var getTokensFP = function () {\n var fp = [];\n finalTokens.forEach( function ( t ) {\n fp.push( ( fingerPrintCodes[ t.tag ] ) ? fingerPrintCodes[ t.tag ] : t.value );\n } );\n return fp.join( '' );\n }; // getFingerprint()\n\n // ### addTag\n var addTag = function (name, fingerprintCode) {\n if (fingerPrintCodes[name]) {\n throw new Error( 'Tag ' + name + ' already exists' );\n }\n\n fingerPrintCodes[name] = fingerprintCode;\n }; // addTag()\n\n // ### addRegex\n /**\n * Adds a regex for parsing a new type of token. This regex can either be mapped\n * to an existing tag or it allows creation of a new tag along with its finger print.\n * The uniqueness of the [finger prints](#defineconfig) have to ensured by the user.\n *\n * *The added regex(s) will supersede the internal parsing.*\n *\n * @method Tokenizer#addRegex\n * @param {RegExp} regex the new regular expression.\n * @param {string} tag tokens matching the `regex` will be assigned this tag.\n * @param {string} [fingerprintCode=undefined] required if adding a new\n * tag; ignored if using an existing tag.\n * @return {void} nothing!\n * @example\n * // Adding a regex for an existing tag\n * myTokenizer.addRegex( /\\(oo\\)/gi, 'emoticon' );\n * myTokenizer.tokenize( '(oo) Hi!' )\n * // -> [ { value: '(oo)', tag: 'emoticon' },\n * // { value: 'Hi', tag: 'word' },\n * // { value: '!', tag: 'punctuation' } ]\n *\n * // Adding a regex to parse a new token type\n * myTokenizer.addRegex( /hello/gi, 'greeting', 'g' );\n * myTokenizer.tokenize( 'hello, how are you?' );\n * // -> [ { value: 'hello', tag: 'greeting' },\n * // { value: ',', tag: 'punctuation' },\n * // { value: 'how', tag: 'word' },\n * // { value: 'are', tag: 'word' },\n * // { value: 'you', tag: 'word' },\n * // { value: '?', tag: 'punctuation' } ]\n * // Notice how \"hello\" is now tagged as \"greeting\" and not as \"word\".\n *\n * // Using definConfig will reset the above!\n * myTokenizer.defineConfig( { word: true } );\n * myTokenizer.tokenize( 'hello, how are you?' );\n * // -> [ { value: 'hello', tag: 'word' },\n * // { value: ',', tag: 'punctuation' },\n * // { value: 'how', tag: 'word' },\n * // { value: 'are', tag: 'word' },\n * // { value: 'you', tag: 'word' },\n * // { value: '?', tag: 'punctuation' } ]\n */\n\n var addRegex = function (regex, tag, fingerprintCode) {\n if (!fingerPrintCodes[tag] && !fingerprintCode) {\n throw new Error( 'Tag ' + tag + ' doesn\\'t exist; Provide a \\'fingerprintCode\\' to add it as a tag.' );\n } else if (!fingerPrintCodes[tag]) {\n addTag(tag, fingerprintCode);\n }\n\n rgxs.unshift( { regex: regex, category: tag } );\n }; // addRegex()\n\n // Set quoted_phrase as false becuase mostly it is not required.\n defineConfig( { quoted_phrase: false } ); // eslint-disable-line camelcase\n methods.defineConfig = defineConfig;\n methods.tokenize = tokenize;\n methods.getTokensFP = getTokensFP;\n methods.addTag = addTag;\n methods.addRegex = addRegex;\n return methods;\n};\n\nmodule.exports = tokenizer;\n","import React, { Suspense } from \"react\";\r\nimport { BrowserRouter as Router, Route } from \"react-router-dom\";\r\n\r\nimport { Provider } from \"react-redux\";\r\nimport StoreManager from \"./redux/\";\r\n\r\nimport \"./assets/vendor/nucleo/css/nucleo.css\";\r\nimport \"./assets/vendor/@fortawesome/fontawesome-free/css/all.min.css\";\r\nimport \"./assets/scss/aichinese.scss\";\r\nimport \"./assets/css/portal-layout.css\";\r\n\r\nimport \"./assets/vendor/iconfont/iconfont.css\";\r\n\r\nimport \"react-toastify/dist/ReactToastify.min.css\";\r\n\r\nimport DefaultScreen from \"./screens/DefaultScreen\";\r\nimport BackgroundTaskService from \"./services/BackgroundTaskService\";\r\n\r\n// Fix: No animation registred by the name of none\r\nimport CustomAnimations from \"./mobile/utils/CustomAnimations\";\r\n\r\nclass App extends React.Component {\r\n constructor(props) {\r\n super(props);\r\n\r\n // create store when app starts\r\n this._store = StoreManager.getStore();\r\n BackgroundTaskService.startProcessing();\r\n }\r\n\r\n render() {\r\n return (\r\n \r\n \r\n
}>\r\n \r\n \r\n \r\n \r\n );\r\n }\r\n}\r\n\r\nexport default App;\r\n\r\n// import React from \"react\"\r\n// import { Form, Input, Select, CommonUnitFields } from \"./components/ui/Form\";\r\n\r\n// export default function App() {\r\n\r\n// const onSubmit = data => {\r\n// console.log(data);\r\n// }\r\n\r\n// return (\r\n// <>\r\n//

Smart Form Component

\r\n//
\r\n// \r\n// \r\n// \r\n// */}\r\n// \r\n// \r\n// \r\n// );\r\n// }\r\n\r\n// import React from \"react\"\r\n// import { useForm } from \"react-hook-form\"\r\n\r\n// function CommonUnitFields({ formMethods }) {\r\n// const { register, errors } = formMethods\r\n\r\n// CommonUnitFields.buildFormData = buildFormData;\r\n\r\n// const onSave = formData => {\r\n// console.log(formData);\r\n// };\r\n\r\n// return (\r\n// <>\r\n// \r\n// {errors.title && This field is required}\r\n// \r\n// \r\n// );\r\n// }\r\n\r\n// function buildFormData(formData) {\r\n// return formData;\r\n// };\r\n\r\n// export default function App() {\r\n// const formMethods = useForm();\r\n// const { register, handleSubmit, watch, errors } = formMethods;\r\n// const onSubmit = data => {\r\n// var newData = CommonUnitFields.buildFormData(data);\r\n// console.log(data)\r\n// }\r\n\r\n// console.log(watch(\"example\")) // watch input value by passing the name of it\r\n\r\n// return (\r\n//
\r\n// {/* register your input into the hook by invoking the \"register\" function */}\r\n// \r\n\r\n// {/* include validation with required or other standard HTML validation rules */}\r\n// \r\n// {/* errors will return when field validation fails */}\r\n// {errors.exampleRequired && This field is required}\r\n\r\n// \r\n\r\n// \r\n// \r\n// )\r\n// }\r\n","export default {\r\n components: {\r\n ui: {\r\n handwritecanvas: \"components.ui.handwritecanvas\",\r\n marktextrender: \"components.ui.marktextrender\",\r\n audiorecorder: \"components.ui.audiorecorder\",\r\n ellipsistext: \"components.ui.ellipsistext\",\r\n htmleditor: \"components.ui.htmleditor\",\r\n letter: \"components.ui.letter\",\r\n selectunittype: \"components.ui.selectunittype\",\r\n searchimageonline:\"components.ui.searchimageonline\",\r\n generalArticle:\"components.ui.generalArticle\",\r\n collapsiblePanel: \"components.ui.collapsiblePanel\",\r\n marktexteditor_contentedit: \"components.ui.marktexteditor_contentedit\",\r\n units: {\r\n base: {\r\n referenceanswerview: \"components.ui.units.base.referenceanswerview\",\r\n basepracticemultiunit: \"components.ui.units.base.basepracticemultiunit\",\r\n basepracticeunitwithgeneralarticle: \"components.ui.units.base.basepracticeunitwithgeneralarticle\",\r\n basearticlepracticesunit: \"components.ui.units.base.basearticlepracticesunit\",\r\n basepracticemultiunitwithsharedtop: \"components.ui.units.base.basepracticemultiunitwithsharedtop\",\r\n posc1and2and3unit: \"components.ui.units.base.posc1and2and3unit\"\r\n },\r\n pozb3unit: \"components.ui.units.pozb3unit\",\r\n psbx1unit: \"components.ui.units.psbx1unit\",\r\n pslx1unit: \"components.ui.units.pslx1unit\",\r\n pslx2unit: \"components.ui.units.pslx2unit\",\r\n pscx1unit: \"components.ui.units.pscx1unit\",\r\n pobx2unit: \"components.ui.units.pobx2unit\",\r\n pocx1unit: \"components.ui.units.pocx1unit\",\r\n pocx2unit: \"components.ui.units.pocx2unit\",\r\n pocx4unit: \"components.ui.units.pocx4unit\",\r\n poex1unit: \"components.ui.units.poex1unit\",\r\n poeo1unit: \"components.ui.units.poeo1unit\",\r\n poka3unit: \"components.ui.units.poka3unit\",\r\n poka4unit: \"components.ui.units.poka4unit\",\r\n pola1unit: \"components.ui.units.pola1unit\",\r\n pomx1unit: \"components.ui.units.pomx1unit\",\r\n pomx2unit: \"components.ui.units.pomx2unit\",\r\n pomx4unit: \"components.ui.units.pomx4unit\",\r\n psuo1unit: \"components.ui.units.psuo1unit\",\r\n pssd2unit: \"components.ui.units.pssd2unit\",\r\n posb1unit: \"components.ui.units.posb1unit\",\r\n pska5unit: \"components.ui.units.pska5unit\",\r\n pssd1unit: \"components.ui.units.pssd1unit\",\r\n psso1unit: \"components.ui.units.psso1unit\",\r\n ai: {\r\n psdo1aiview: \"components.ui.units.ai.psdo1aiview\",\r\n pssd1aiview: \"components.ui.units.ai.pssd1aiview\",\r\n },\r\n single: {\r\n poca3singleunit: \"components.ui.units.single.poca3singleunit\",\r\n poka1singleunit: \"components.ui.units.single.poka1singleunit\",\r\n poka2singleunit: \"components.ui.units.single.poka2singleunit\",\r\n poka3singleunit: \"components.ui.units.single.poka3singleunit\",\r\n poka4singleunit: \"components.ui.units.single.poka4singleunit\",\r\n pska5singleunit: \"components.ui.units.single.pska5singleunit\",\r\n poea6singleunit: \"components.ui.units.single.poea6singleunit\",\r\n pola1singleunit: \"components.ui.units.single.pola1singleunit\",\r\n psac1singleunit: \"components.ui.units.single.psac1singleunit\",\r\n psba4singleunit: \"components.ui.units.single.psba4singleunit\",\r\n psbb1singleunit: \"components.ui.units.single.psbb1singleunit\",\r\n psfa2singleunit: \"components.ui.units.single.psfa2singleunit\",\r\n pska1singleunit: \"components.ui.units.single.pska1singleunit\",\r\n },\r\n },\r\n },\r\n },\r\n layouts: {\r\n account: \"layouts.account\",\r\n admin: \"layouts.admin\",\r\n main: \"layouts.main\",\r\n portal: \"layouts.portal\",\r\n plain: \"layouts.plain\",\r\n practice: \"layouts.practice\",\r\n room: \"layouts.room\",\r\n navbars: {\r\n admin: \"layouts.navbars.admin\",\r\n auth: \"layouts.navbars.auth\",\r\n portal: \"layouts.navbars.portal\",\r\n mobile: \"layouts.navbars.mobile\",\r\n },\r\n sidebar: {\r\n sidebar: \"layouts.sidebar.sidebar\",\r\n },\r\n footers: {\r\n portalfooter: \"layouts.footers.portalfooter\",\r\n },\r\n },\r\n screens: {\r\n account: {\r\n teacherlogin: \"screens.account.teacherlogin\",\r\n agent: \"screens.account.agentlogin\",\r\n login: \"screens.account.login\",\r\n userlogin: \"screens.account.userlogin\",\r\n userregister: \"screens.account.userregister\",\r\n forgotpassword: \"screens.account.forgotpassword\",\r\n changepassword: \"screens.account.changepassword\",\r\n register: \"screens.account.register\",\r\n registerpartner: \"screens.account.registerpartner\",\r\n activeteacher: \"screens.account.activeteacher\",\r\n },\r\n admin: {\r\n agent: {\r\n management: {\r\n add: \"screens.admin.agent.management.add\",\r\n code: \"screens.admin.agent.management.code\",\r\n details: \"screens.admin.agent.management.details\",\r\n edit: \"screens.admin.agent.management.edit\",\r\n list: \"screens.admin.agent.management.list\",\r\n statistic: \"screens.admin.agent.management.statistic\",\r\n withdrawallist: \"screens.admin.agent.management.withdrawallist\",\r\n withdrawaldetails: \"screens.admin.agent.management.withdrawaldetails\",\r\n agentapplicationlist: \"screens.admin.agent.management.agentapplicationlist\",\r\n agentapplicationdetails: \"screens.admin.agent.management.agentapplicationdetails\",\r\n incomestatistic: \"screens.admin.agent.management.incomestatistic\",\r\n },\r\n redenvelope: \"screens.admin.agent.redenvelope\",\r\n statistic: \"screens.admin.agent.statistic\",\r\n wallet: \"screens.admin.agent.wallet\",\r\n withdrawal: \"screens.admin.agent.withdrawal\",\r\n withdrawalcomplete: \"screens.admin.agent.withdrawalcomplete\",\r\n studentcapitalflow: \"screens.admin.agent.studentcapitalflow\",\r\n agentreferralcode: \"screens.admin.agent.agentreferralcode\",\r\n bankcard: {\r\n add: \"screens.admin.agent.bankcard.add\",\r\n details: \"screens.admin.agent.bankcard.details\",\r\n edit: \"screens.admin.agent.bankcard.edit\",\r\n },\r\n subagent: {\r\n list: \"screens.admin.agent.subagent.list\",\r\n add: \"screens.admin.agent.subagent.add\",\r\n edit: \"screens.admin.agent.subagent.edit\",\r\n code: \"screens.admin.agent.subagent.code\",\r\n details: \"screens.admin.agent.subagent.details\",\r\n },\r\n teacheraccount: {\r\n list: \"screens.admin.agent.teacheraccount.list\",\r\n add: \"screens.admin.agent.teacheraccount.add\",\r\n edit: \"screens.admin.agent.teacheraccount.edit\",\r\n code: \"screens.admin.agent.teacheraccount.code\",\r\n changepassword: \"screens.admin.agent.teacheraccount.changepassword\",\r\n },\r\n useraccount: {\r\n list: \"screens.admin.agent.useraccount.list\",\r\n add: \"screens.admin.agent.useraccount.add\",\r\n edit: \"screens.admin.agent.useraccount.edit\",\r\n code: \"screens.admin.agent.useraccount.code\",\r\n changepassword: \"screens.admin.agent.useraccount.changepassword\",\r\n },\r\n },\r\n promotion: {\r\n management: {\r\n add: \"screens.admin.promotion.management.add\",\r\n details: \"screens.admin.promotion.management.details\",\r\n edit: \"screens.admin.promotion.management.edit\",\r\n list: \"screens.admin.promotion.management.list\",\r\n shareagentlist: \"screens.admin.promotion.management.shareagentlist\",\r\n shareagentadd: \"screens.admin.promotion.management.shareagentadd\",\r\n statistic: \"screens.admin.promotion.management.statistic\",\r\n },\r\n statistic: \"screens.admin.promotion.statistic\",\r\n promotionlist: \"screens.admin.promotion.promotionlist\",\r\n promotiondetails: \"screens.admin.promotion.promotiondetails\",\r\n sharestatistic: \"screens.admin.promotion.sharestatistic\",\r\n redenvelopestatistic: \"screens.admin.promotion.redenvelopestatistic\",\r\n },\r\n class: {\r\n add: \"screens.admin.class.add\",\r\n details: \"screens.admin.class.details\",\r\n detailsnew: \"screens.admin.class.detailsnew\",\r\n edit: \"screens.admin.class.edit\",\r\n homeworkdetails: \"screens.admin.class.homeworkdetails\",\r\n list: \"screens.admin.class.list\",\r\n listnew: \"screens.admin.class.listnew\",\r\n student: {\r\n add: \"screens.admin.class.student.add\",\r\n edit: \"screens.admin.class.student.edit\",\r\n editnew: \"screens.admin.class.student.editnew\",\r\n import: \"screens.admin.class.student.import\",\r\n details: \"screens.admin.class.student.details\",\r\n changepassword: \"screens.admin.class.student.changepassword\",\r\n },\r\n shiftstudent: \"screens.admin.class.shiftstudent\",\r\n unregstudent: \"screens.admin.class.unregstudent\",\r\n code: \"screens.admin.class.code\",\r\n },\r\n course: {\r\n add: \"screens.admin.course.add\",\r\n details: \"screens.admin.course.details\",\r\n edit: \"screens.admin.course.edit\",\r\n list: \"screens.admin.course.list\",\r\n },\r\n teaching: {\r\n course: {\r\n list: \"screens.admin.teaching.course.list\",\r\n },\r\n },\r\n bookassignment: {\r\n add: \"screens.admin.bookassignment.add\",\r\n details: \"screens.admin.bookassignment.details\",\r\n edit: \"screens.admin.bookassignment.edit\",\r\n list: \"screens.admin.bookassignment.list\",\r\n },\r\n bookgroup: {\r\n list: \"screens.admin.bookgroup.list\",\r\n details: \"screens.admin.bookgroup.details\",\r\n edit: \"screens.admin.bookgroup.edit\",\r\n addmyunit: \"screens.admin.bookgroup.addmyunit\",\r\n },\r\n dashboard: \"screens.admin.dashboard\",\r\n dictionary: {\r\n letter: {\r\n add: \"screens.admin.dictionary.letter.add\",\r\n details: \"screens.admin.dictionary.letter.details\",\r\n edit: \"screens.admin.dictionary.letter.edit\",\r\n list: \"screens.admin.dictionary.letter.list\",\r\n imagefield: \"screens.admin.dictionary.letter.imagefield\",\r\n },\r\n lettersen: {\r\n add: \"screens.admin.dictionary.lettersen.add\",\r\n details: \"screens.admin.dictionary.lettersen.details\",\r\n edit: \"screens.admin.dictionary.lettersen.edit\",\r\n list: \"screens.admin.dictionary.lettersen.list\",\r\n },\r\n pinyin: {\r\n add: \"screens.admin.dictionary.pinyin.add\",\r\n details: \"screens.admin.dictionary.pinyin.details\",\r\n edit: \"screens.admin.dictionary.pinyin.edit\",\r\n list: \"screens.admin.dictionary.pinyin.list\",\r\n },\r\n radical: {\r\n add: \"screens.admin.dictionary.radical.add\",\r\n details: \"screens.admin.dictionary.radical.details\",\r\n edit: \"screens.admin.dictionary.radical.edit\",\r\n list: \"screens.admin.dictionary.radical.list\",\r\n },\r\n word: {\r\n add: \"screens.admin.dictionary.word.add\",\r\n batchadd: \"screens.admin.dictionary.word.batchadd\",\r\n details: \"screens.admin.dictionary.word.details\",\r\n edit: \"screens.admin.dictionary.word.edit\",\r\n list: \"screens.admin.dictionary.word.list\",\r\n imagefield: \"screens.admin.dictionary.word.imagefield\",\r\n editjson: \"screens.admin.dictionary.word.editjson\",\r\n },\r\n sentence: {\r\n details: \"screens.admin.dictionary.sentence.details\",\r\n list: \"screens.admin.dictionary.sentence.list\",\r\n edit: \"screens.admin.dictionary.sentence.edit\",\r\n },\r\n },\r\n unittask: {\r\n list: \"screens.admin.unittask.list\",\r\n detailslist: \"screens.admin.unittask.detailslist\",\r\n makingpicture: \"screens.admin.unittask.makingpicture\",\r\n templateconfirmation: \"screens.admin.unittask.templateconfirmation\",\r\n prototypedesign: \"screens.admin.unittask.prototypedesign\",\r\n templatedevelopment: \"screens.admin.unittask.templatedevelopment\",\r\n templatevalidation: \"screens.admin.unittask.templatevalidation\",\r\n picturevalidation: \"screens.admin.unittask.picturevalidation\",\r\n testcontent: \"screens.admin.unittask.testcontent\",\r\n feedbackmodification: \"screens.admin.unittask.feedbackmodification\",\r\n publishinglist: \"screens.admin.unittask.publishinglist\",\r\n verification: \"screens.admin.unittask.verification\",\r\n },\r\n exam: {\r\n add: \"screens.admin.exam.add\",\r\n details: \"screens.admin.exam.details\",\r\n edit: \"screens.admin.exam.edit\",\r\n list: \"screens.admin.exam.list\",\r\n },\r\n example: \"screens.admin.example\",\r\n composition: {\r\n assignmentlist: \"screens.admin.composition.assignmentlist\",\r\n assignmentpreview: \"screens.admin.composition.assignmentpreview\",\r\n assignmentdetails: \"screens.admin.composition.assignmentdetails\",\r\n management: {\r\n list: \"screens.admin.composition.management.list\",\r\n summary: \"screens.admin.composition.management.summary\",\r\n review: \"screens.admin.composition.management.review\",\r\n },\r\n aiprompts: {\r\n list: \"screens.admin.composition.aiprompts.list\",\r\n edit: \"screens.admin.composition.aiprompts.edit\",\r\n add: \"screens.admin.composition.aiprompts.add\",\r\n },\r\n },\r\n bbs: {\r\n list: \"screens.admin.bbs.list\",\r\n add: \"screens.admin.bbs.add\",\r\n details: \"screens.admin.bbs.details\",\r\n edit: \"screens.admin.bbs.edit\",\r\n me: \"screens.admin.bbs.me\",\r\n message: \"screens.admin.bbs.message\",\r\n },\r\n homework: {\r\n addunit: \"screens.admin.homework.addunit\",\r\n assign: \"screens.admin.homework.assign\",\r\n add: \"screens.admin.homework.add\",\r\n commentlist: \"screens.admin.homework.commentlist\",\r\n classcommentlist: \"screens.admin.homework.classcommentlist\",\r\n classreviewlist: \"screens.admin.homework.classreviewlist\",\r\n commentdetails: \"screens.admin.homework.commentdetails\",\r\n details: \"screens.admin.homework.details\",\r\n edit: \"screens.admin.homework.edit\",\r\n list: \"screens.admin.homework.list\",\r\n reviewlist: \"screens.admin.homework.reviewlist\",\r\n reviewdetails: \"screens.admin.homework.reviewdetails\",\r\n unitdetails: \"screens.admin.homework.unitdetails\",\r\n unsubmitdetails: \"screens.admin.homework.unsubmitdetails\",\r\n assignmentlist: \"screens.admin.homework.assignmentlist\",\r\n unitpreview: \"screens.admin.homework.unitpreview\",\r\n assignmentpreview: \"screens.admin.homework.assignmentpreview\",\r\n assignmentdetails: \"screens.admin.homework.assignmentdetails\",\r\n statistic: \"screens.admin.homework.statistic\",\r\n management: {\r\n list: \"screens.admin.homework.management.list\",\r\n makeuplist: \"screens.admin.homework.management.makeuplist\",\r\n summary: \"screens.admin.homework.management.summary\",\r\n homeworksummary: \"screens.admin.homework.management.homeworksummary\",\r\n reviewlist: \"screens.admin.homework.management.reviewlist\",\r\n review: \"screens.admin.homework.management.review\",\r\n },\r\n },\r\n icons: \"screens.admin.icons\",\r\n language: {\r\n add: \"screens.admin.language.add\",\r\n details: \"screens.admin.language.details\",\r\n edit: \"screens.admin.language.edit\",\r\n list: \"screens.admin.language.list\",\r\n },\r\n emailverificationcode: {\r\n list: \"screens.admin.emailverificationcode.list\",\r\n },\r\n phoneverificationcode: {\r\n list: \"screens.admin.phoneverificationcode.list\",\r\n },\r\n user: {\r\n manageuser: \"screens.admin.user.manageuser\",\r\n manageteacheruser: \"screens.admin.user.manageteacheruser\",\r\n manageagentuser: \"screens.admin.user.manageagentuser\",\r\n manageotheruser: \"screens.admin.user.manageotheruser\",\r\n },\r\n maps: \"screens.admin.maps\",\r\n messageboard: {\r\n details: \"screens.admin.messageboard.details\",\r\n detailslist: \"screens.admin.messageboard.detailslist\",\r\n list: \"screens.admin.messageboard.list\",\r\n },\r\n error: {\r\n details: \"screens.admin.error.details\",\r\n list: \"screens.admin.error.list\",\r\n dashboard: \"screens.admin.error.dashboard\",\r\n },\r\n apiexceptionrule: {\r\n add: \"screens.admin.apiexceptionrule.add\",\r\n details: \"screens.admin.apiexceptionrule.details\",\r\n list: \"screens.admin.apiexceptionrule.list\",\r\n },\r\n partner: {\r\n list: \"screens.admin.partner.list\",\r\n edit: \"screens.admin.partner.edit\",\r\n user: {\r\n add: \"screens.admin.partner.user.add\",\r\n edit: \"screens.admin.partner.user.edit\",\r\n list: \"screens.admin.partner.user.list\",\r\n changepassword: \"screens.admin.partner.user.changepassword\",\r\n },\r\n },\r\n product: {\r\n add: \"screens.admin.product.add\",\r\n details: \"screens.admin.product.details\",\r\n edit: \"screens.admin.product.edit\",\r\n list: \"screens.admin.product.list\",\r\n },\r\n profile: \"screens.admin.profile\",\r\n\r\n section: {\r\n add: \"screens.admin.section.add\",\r\n details: \"screens.admin.section.details\",\r\n edit: \"screens.admin.section.edit\",\r\n list: \"screens.admin.section.list\",\r\n },\r\n setting: \"screens.admin.setting\",\r\n voicesetting: \"screens.admin.voicesetting\",\r\n automarknumber: \"screens.admin.automarknumber\",\r\n featureconfiguration: \"screens.admin.featureconfiguration\",\r\n redenvelopesetting: \"screens.admin.redenvelopesetting\",\r\n chineseparksetting: \"screens.admin.chineseparksetting\",\r\n servicesetting: \"screens.admin.servicesetting\",\r\n testspeechrecognition: \"screens.admin.testspeechrecognition\",\r\n regionserversetting: \"screens.admin.regionserversetting\",\r\n currencyInfo: \"screens.admin.currencyInfo\",\r\n offlineproblem: \"screens.admin.offlineproblem\",\r\n suggestion: {\r\n edit: \"screens.admin.suggestion.edit\",\r\n details: \"screens.admin.suggestion.details\",\r\n list: \"screens.admin.suggestion.list\",\r\n },\r\n contact: {\r\n edit: \"screens.admin.contact.edit\",\r\n list: \"screens.admin.contact.list\",\r\n details: \"screens.admin.contact.details\",\r\n },\r\n syllable: {\r\n list: \"screens.admin.syllable.list\",\r\n },\r\n tables: \"screens.admin.tables\",\r\n unit: {\r\n add: \"screens.admin.unit.add\",\r\n batchadd: \"screens.admin.unit.batchadd\",\r\n simplebatchadd: \"screens.admin.unit.simplebatchadd\",\r\n batchexport: \"screens.admin.unit.batchexport\",\r\n details: \"screens.admin.unit.details\",\r\n edit: \"screens.admin.unit.edit\",\r\n move: \"screens.admin.unit.move\",\r\n fields: {\r\n shared: {\r\n a5anda6fields: \"screens.admin.unit.fields.shared.a5anda6fields\",\r\n multiunitfields: \"screens.admin.unit.fields.shared.multiunitfields\",\r\n posc1and2and3fields: \"screens.admin.unit.fields.shared.posc1and2and3fields\",\r\n },\r\n types: {\r\n anyanswersfield: \"screens.admin.unit.fields.types.anyanswersfield\",\r\n articlefield: \"screens.admin.unit.fields.types.articlefield\",\r\n audiofield: \"screens.admin.unit.fields.types.audiofield\",\r\n charsfield: \"screens.admin.unit.fields.types.charsfield\",\r\n htmlfield: \"screens.admin.unit.fields.types.htmlfield\",\r\n charstextfield: \"screens.admin.unit.fields.types.charstextfield\",\r\n charstokentextfield: \"screens.admin.unit.fields.types.charstokentextfield\",\r\n choicecharsfield: \"screens.admin.unit.fields.types.choicecharsfield\",\r\n choiceimagefield: \"screens.admin.unit.fields.types.choiceimagefield\",\r\n choicelocalizabletextfield: \"screens.admin.unit.fields.types.choicelocalizabletextfield\",\r\n choicetextfield: \"screens.admin.unit.fields.types.choicetextfield\",\r\n contentfield: \"screens.admin.unit.fields.types.contentfield\",\r\n fillingblanklistfield: \"screens.admin.unit.fields.types.fillingblanklistfield\",\r\n generalarticlefield: \"screens.admin.unit.fields.types.generalarticlefield\",\r\n articleselectfield: \"screens.admin.unit.fields.types.articleselectfield\",\r\n layoutmodefield: \"screens.admin.unit.fields.types.layoutmodefield\",\r\n imagefield: \"screens.admin.unit.fields.types.imagefield\",\r\n imagefieldlist: \"screens.admin.unit.fields.types.imagefieldlist\",\r\n imagedatafield: \"screens.admin.unit.fields.types.imagedatafield\",\r\n imagecharsfield: \"screens.admin.unit.fields.types.imagecharsfield\",\r\n localizabletextfield: \"screens.admin.unit.fields.types.localizabletextfield\",\r\n marktexteditor: \"screens.admin.unit.fields.types.marktexteditor\",\r\n personlist: \"screens.admin.unit.fields.types.personlist\",\r\n tablefield: \"screens.admin.unit.fields.types.tablefield\",\r\n texttablefield: \"screens.admin.unit.fields.types.texttablefield\",\r\n marktexttablefield: \"screens.admin.unit.fields.types.marktexttablefield\",\r\n imagetexttablefield: \"screens.admin.unit.fields.types.imagetexttablefield\",\r\n spokendialogfield: \"screens.admin.unit.fields.types.spokendialogfield\",\r\n chinesefield: \"screens.admin.unit.fields.types.chinesefield\",\r\n paragraphfield: \"screens.admin.unit.fields.types.paragraphfield\",\r\n readingdialogfield: \"screens.admin.unit.fields.types.readingdialogfield\",\r\n sentencefield: \"screens.admin.unit.fields.types.sentencefield\",\r\n sentencelocalizabletextfield: \"screens.admin.unit.fields.types.sentencelocalizabletextfield\",\r\n orderwordsfield: \"screens.admin.unit.fields.types.orderwordsfield\",\r\n practicesfield: \"screens.admin.unit.fields.types.practicesfield\",\r\n referenceanswerfield: \"screens.admin.unit.fields.types.referenceanswerfield\",\r\n textsourcefield: \"screens.admin.unit.fields.types.textsourcefield\",\r\n answerfields: \"screens.admin.unit.fields.types.answerfields\",\r\n },\r\n a1fields: \"screens.admin.unit.fields.a1fields\",\r\n poza4fields: \"screens.admin.unit.fields.poza4fields\",\r\n sozb1fields: \"screens.admin.unit.fields.sozb1fields\",\r\n pozb2fields: \"screens.admin.unit.fields.pozb2fields\",\r\n pozb3fields: \"screens.admin.unit.fields.pozb3fields\",\r\n sozc1fields: \"screens.admin.unit.fields.sozc1fields\",\r\n cpfields: \"screens.admin.unit.fields.cpfields\",\r\n d1fields: \"screens.admin.unit.fields.d1fields\",\r\n pozd3fields: \"screens.admin.unit.fields.pozd3fields\",\r\n pozd4fields: \"screens.admin.unit.fields.pozd4fields\",\r\n soze1fields: \"screens.admin.unit.fields.soze1fields\",\r\n poze2fields: \"screens.admin.unit.fields.poze2fields\",\r\n poze3fields: \"screens.admin.unit.fields.poze3fields\",\r\n pozf1fields: \"screens.admin.unit.fields.pozf1fields\",\r\n g1fields: \"screens.admin.unit.fields.g1fields\",\r\n h1fields: \"screens.admin.unit.fields.h1fields\",\r\n pozi1fields: \"screens.admin.unit.fields.pozi1fields\",\r\n pozi2fields: \"screens.admin.unit.fields.pozi2fields\",\r\n pozi3fields: \"screens.admin.unit.fields.pozi3fields\",\r\n pozi4fields: \"screens.admin.unit.fields.pozi4fields\",\r\n pozi5fields: \"screens.admin.unit.fields.pozi5fields\",\r\n pozi6fields: \"screens.admin.unit.fields.pozi6fields\",\r\n i7fields: \"screens.admin.unit.fields.i7fields\",\r\n pozi8fields: \"screens.admin.unit.fields.pozi8fields\",\r\n poab1fields: \"screens.admin.unit.fields.poab1fields\",\r\n poab2fields: \"screens.admin.unit.fields.poab2fields\",\r\n poab3fields: \"screens.admin.unit.fields.poab3fields\",\r\n poba1fields: \"screens.admin.unit.fields.poba1fields\",\r\n poba2fields: \"screens.admin.unit.fields.poba2fields\",\r\n pobb1fields: \"screens.admin.unit.fields.pobb1fields\",\r\n pobc1fields: \"screens.admin.unit.fields.pobc1fields\",\r\n pogc1fields: \"screens.admin.unit.fields.pogc1fields\",\r\n poca1fields: \"screens.admin.unit.fields.poca1fields\",\r\n poca2fields: \"screens.admin.unit.fields.poca2fields\",\r\n poca3fields: \"screens.admin.unit.fields.poca3fields\",\r\n poca4fields: \"screens.admin.unit.fields.poca4fields\",\r\n poca5fields: \"screens.admin.unit.fields.poca5fields\",\r\n poca6fields: \"screens.admin.unit.fields.poca6fields\",\r\n pocb1fields: \"screens.admin.unit.fields.pocb1fields\",\r\n pocb2fields: \"screens.admin.unit.fields.pocb2fields\",\r\n pocb3fields: \"screens.admin.unit.fields.pocb3fields\",\r\n pocc1fields: \"screens.admin.unit.fields.pocc1fields\",\r\n pocc2fields: \"screens.admin.unit.fields.pocc2fields\",\r\n pocx1fields: \"screens.admin.unit.fields.pocx1fields\",\r\n pocx2fields: \"screens.admin.unit.fields.pocx2fields\",\r\n pocx3fields: \"screens.admin.unit.fields.pocx3fields\",\r\n poea2fields: \"screens.admin.unit.fields.poea2fields\",\r\n poea3fields: \"screens.admin.unit.fields.poea3fields\",\r\n poea4fields: \"screens.admin.unit.fields.poea4fields\",\r\n poea5fields: \"screens.admin.unit.fields.poea5fields\",\r\n poea6fields: \"screens.admin.unit.fields.poea6fields\",\r\n poeb1fields: \"screens.admin.unit.fields.poeb1fields\",\r\n poeb2fields: \"screens.admin.unit.fields.poeb2fields\",\r\n poeb3fields: \"screens.admin.unit.fields.poeb3fields\",\r\n poeb4fields: \"screens.admin.unit.fields.poeb4fields\",\r\n poex1fields: \"screens.admin.unit.fields.poex1fields\",\r\n poeo1fields: \"screens.admin.unit.fields.poeo1fields\",\r\n psuo1fields: \"screens.admin.unit.fields.psuo1fields\",\r\n poka1fields: \"screens.admin.unit.fields.poka1fields\",\r\n poka2fields: \"screens.admin.unit.fields.poka2fields\",\r\n poka3fields: \"screens.admin.unit.fields.poka3fields\",\r\n poka3simplefields: \"screens.admin.unit.fields.poka3simplefields\",\r\n poka4fields: \"screens.admin.unit.fields.poka4fields\",\r\n poka4simplefields: \"screens.admin.unit.fields.poka4simplefields\",\r\n pobx1fields: \"screens.admin.unit.fields.pobx1fields\",\r\n pobx2fields: \"screens.admin.unit.fields.pobx2fields\",\r\n pola1fields: \"screens.admin.unit.fields.pola1fields\",\r\n pomx1fields: \"screens.admin.unit.fields.pomx1fields\",\r\n pomx2fields: \"screens.admin.unit.fields.pomx2fields\",\r\n pomx3fields: \"screens.admin.unit.fields.pomx3fields\",\r\n pomx4fields: \"screens.admin.unit.fields.pomx4fields\",\r\n posc1fields: \"screens.admin.unit.fields.posc1fields\",\r\n posc2fields: \"screens.admin.unit.fields.posc2fields\",\r\n posc3fields: \"screens.admin.unit.fields.posc3fields\",\r\n psab1fields: \"screens.admin.unit.fields.psab1fields\",\r\n psab4fields: \"screens.admin.unit.fields.psab4fields\",\r\n psac1fields: \"screens.admin.unit.fields.psac1fields\",\r\n psac2fields: \"screens.admin.unit.fields.psac2fields\",\r\n psaf1fields: \"screens.admin.unit.fields.psaf1fields\",\r\n psag1fields: \"screens.admin.unit.fields.psag1fields\",\r\n psah1fields: \"screens.admin.unit.fields.psah1fields\",\r\n psah2fields: \"screens.admin.unit.fields.psah2fields\",\r\n psar1fields: \"screens.admin.unit.fields.psar1fields\",\r\n psba1fields: \"screens.admin.unit.fields.psba1fields\",\r\n psba2fields: \"screens.admin.unit.fields.psba2fields\",\r\n psba3fields: \"screens.admin.unit.fields.psba3fields\",\r\n psba4fields: \"screens.admin.unit.fields.psba4fields\",\r\n psba5fields: \"screens.admin.unit.fields.psba5fields\",\r\n psba6fields: \"screens.admin.unit.fields.psba6fields\",\r\n psbb1fields: \"screens.admin.unit.fields.psbb1fields\",\r\n psbc1fields: \"screens.admin.unit.fields.psbc1fields\",\r\n psbx1fields: \"screens.admin.unit.fields.psbx1fields\",\r\n psbx2fields: \"screens.admin.unit.fields.psbx2fields\",\r\n pscx1fields: \"screens.admin.unit.fields.pscx1fields\",\r\n psda1fields: \"screens.admin.unit.fields.psda1fields\",\r\n psdb1fields: \"screens.admin.unit.fields.psdb1fields\",\r\n psdb2fields: \"screens.admin.unit.fields.psdb2fields\",\r\n psdc1fields: \"screens.admin.unit.fields.psdc1fields\",\r\n psdc2fields: \"screens.admin.unit.fields.psdc2fields\",\r\n psdc3fields: \"screens.admin.unit.fields.psdc3fields\",\r\n psfa1fields: \"screens.admin.unit.fields.psfa1fields\",\r\n psfa2fields: \"screens.admin.unit.fields.psfa2fields\",\r\n pslx1fields: \"screens.admin.unit.fields.pslx1fields\",\r\n pslx2fields: \"screens.admin.unit.fields.pslx2fields\",\r\n pska5fields: \"screens.admin.unit.fields.pska5fields\",\r\n pska5simplefields: \"screens.admin.unit.fields.pska5simplefields\",\r\n pszm1fields: \"screens.admin.unit.fields.pszm1fields\",\r\n psdo1fields: \"screens.admin.unit.fields.psdo1fields\",\r\n pssd2fields: \"screens.admin.unit.fields.pssd2fields\",\r\n pssd2audiofields: \"screens.admin.unit.fields.pssd2audiofields\",\r\n posb1fields: \"screens.admin.unit.fields.posb1fields\",\r\n pssd1fields: \"screens.admin.unit.fields.pssd1fields\",\r\n psso1fields: \"screens.admin.unit.fields.psso1fields\",\r\n },\r\n forms: {\r\n a1form: \"screens.admin.unit.forms.a1form\",\r\n a4form: \"screens.admin.unit.forms.a4form\",\r\n b1form: \"screens.admin.unit.forms.b1form\",\r\n b2form: \"screens.admin.unit.forms.b2form\",\r\n cpform: \"screens.admin.unit.forms.cpform\",\r\n unitform: \"screens.admin.unit.forms.unitform\",\r\n simpleunitform: \"screens.admin.unit.forms.simpleunitform\",\r\n simplebatchunitform: \"screens.admin.unit.forms.simplebatchunitform\",\r\n shared: {\r\n a5anda6form: \"screens.admin.unit.forms.shared.a5anda6form\",\r\n b4andd2form: \"screens.admin.unit.forms.shared.b4andd2form\",\r\n },\r\n },\r\n list: \"screens.admin.unit.list\",\r\n },\r\n unittype: {\r\n add: \"screens.admin.unittype.add\",\r\n details: \"screens.admin.unittype.details\",\r\n edit: \"screens.admin.unittype.edit\",\r\n list: \"screens.admin.unittype.list\",\r\n },\r\n unittitle: {\r\n add: \"screens.admin.unittitle.add\",\r\n details: \"screens.admin.unittitle.details\",\r\n edit: \"screens.admin.unittitle.edit\",\r\n list: \"screens.admin.unittitle.list\",\r\n },\r\n book: {\r\n add: \"screens.admin.book.add\",\r\n details: \"screens.admin.book.details\",\r\n edit: \"screens.admin.book.edit\",\r\n list: \"screens.admin.book.list\",\r\n submit: \"screens.admin.book.submit\",\r\n addsection: \"screens.admin.book.addsection\",\r\n editsection: \"screens.admin.book.editsection\",\r\n addrawunit: \"screens.admin.book.addrawunit\",\r\n editrawunit: \"screens.admin.book.editrawunit\",\r\n deleted: \"screens.admin.book.deleted\",\r\n },\r\n unittaskconfiguration: {\r\n add: \"screens.admin.unittaskconfiguration.add\",\r\n details: \"screens.admin.unittaskconfiguration.details\",\r\n edit: \"screens.admin.unittaskconfiguration.edit\",\r\n list: \"screens.admin.unittaskconfiguration.list\",\r\n },\r\n oralbook: {\r\n add: \"screens.admin.oralbook.add\",\r\n details: \"screens.admin.oralbook.details\",\r\n edit: \"screens.admin.oralbook.edit\",\r\n list: \"screens.admin.oralbook.list\",\r\n submit: \"screens.admin.oralbook.submit\",\r\n addsection: \"screens.admin.oralbook.addsection\",\r\n editsection: \"screens.admin.oralbook.editsection\",\r\n addunit: \"screens.admin.oralbook.addunit\",\r\n editunit: \"screens.admin.oralbook.editunit\",\r\n unitlist: \"screens.admin.oralbook.unitlist\",\r\n },\r\n readingbook: {\r\n add: \"screens.admin.readingbook.add\",\r\n details: \"screens.admin.readingbook.details\",\r\n edit: \"screens.admin.readingbook.edit\",\r\n list: \"screens.admin.readingbook.list\",\r\n submit: \"screens.admin.readingbook.submit\",\r\n addsection: \"screens.admin.readingbook.addsection\",\r\n editsection: \"screens.admin.readingbook.editsection\",\r\n addunit: \"screens.admin.readingbook.addunit\",\r\n editunit: \"screens.admin.readingbook.editunit\",\r\n },\r\n withdrawal: {\r\n list: \"screens.admin.withdrawal.list\",\r\n details: \"screens.admin.withdrawal.details\",\r\n edit: \"screens.admin.withdrawal.edit\",\r\n },\r\n chineseparkserver: {\r\n add: \"screens.admin.chineseparkserver.add\",\r\n edit: \"screens.admin.chineseparkserver.edit\",\r\n details: \"screens.admin.chineseparkserver.details\",\r\n list: \"screens.admin.chineseparkserver.list\",\r\n },\r\n talkchinese: {\r\n add: \"screens.admin.talkchinese.add\",\r\n edit: \"screens.admin.talkchinese.edit\",\r\n details: \"screens.admin.talkchinese.details\",\r\n list: \"screens.admin.talkchinese.list\",\r\n adddialog: \"screens.admin.talkchinese.adddialog\",\r\n editdialog: \"screens.admin.talkchinese.editdialog\",\r\n statistic: \"screens.admin.talkchinese.statistic\",\r\n },\r\n chooseschool: \"screens.admin.chooseschool\",\r\n manage: \"screens.admin.manage\",\r\n other: \"screens.admin.other\",\r\n jiaocai: \"screens.jiaocai.other\",\r\n },\r\n portal: {\r\n home: \"screens.portal.home\",\r\n product: \"screens.portal.product\",\r\n pricing: \"screens.portal.pricing\",\r\n partner: \"screens.portal.partner\",\r\n jobs: \"screens.portal.jobs\",\r\n undone: \"screens.portal.undone\",\r\n contact: \"screens.portal.contact\",\r\n download: \"screens.portal.download\",\r\n downloadapp: \"screens.portal.downloadapp\",\r\n studentuse: \"screens.portal.studentuse\",\r\n teacheruse: \"screens.portal.teacheruse\",\r\n agent: \"screens.portal.agent\",\r\n termscondition: \"screens.portal.termscondition\",\r\n privacy: \"screens.portal.privacy\",\r\n rewardterms: \"screens.portal.rewardterms\",\r\n roomvipterms: \"screens.portal.roomvipterms\",\r\n aboutus: \"screens.portal.aboutus\",\r\n homework: \"screens.portal.homework\",\r\n talkchinese: \"screens.portal.talkchinese\",\r\n chinesepark: \"screens.portal.chinesepark\",\r\n },\r\n plain: {\r\n userhomeworkunit: \"screens.plain.userhomeworkunit\",\r\n teachershare: \"screens.plain.teachershare\",\r\n studentshare: \"screens.plain.studentshare\",\r\n promotiondetails: \"screens.plain.promotiondetails\",\r\n joinclass: \"screens.plain.joinclass\",\r\n whiteboard: \"screens.plain.whiteboard\",\r\n },\r\n default: \"screens.default\",\r\n },\r\n session: \"session\",\r\n taskqueue: \"taskqueue\",\r\n};\r\n","import DebugLogger from \"../utils/DebugLogger\";\r\n\r\n/* Initialize LRU cache with default limit being 10 items */\r\nfunction LRUCache(limit) {\r\n this.size = 0;\r\n this.limit = (typeof limit == \"number\") ? limit : 10;\r\n this.map = {};\r\n this.head = null;\r\n this.tail = null;\r\n}\r\n\r\nLRUCache.prototype.lrunode = function(key, value) {\r\n if (typeof key != \"undefined\" && key !== null) {\r\n this.key = key;\r\n }\r\n if (typeof value != \"undefined\" && value !== null) {\r\n this.value = value;\r\n }\r\n this.prev = null;\r\n this.next = null;\r\n};\r\n\r\nLRUCache.prototype.setHead = function(node) {\r\n node.next = this.head;\r\n node.prev = null;\r\n if (this.head !== null) {\r\n this.head.prev = node;\r\n }\r\n this.head = node;\r\n if (this.tail === null) {\r\n this.tail = node;\r\n }\r\n this.size++;\r\n this.map[node.key] = node;\r\n};\r\n\r\n/* Change or add a new value in the cache\r\n * We overwrite the entry if it already exists\r\n */\r\nLRUCache.prototype.set = function(key, value) {\r\n var node = new LRUCache.prototype.lrunode(key, value);\r\n if (this.map[key]) {\r\n this.map[key].value = node.value;\r\n this.remove(node.key);\r\n } else {\r\n if (this.size >= this.limit) {\r\n delete this.map[this.tail.key];\r\n this.size--;\r\n this.tail = this.tail.prev;\r\n this.tail.next = null;\r\n }\r\n }\r\n this.setHead(node);\r\n};\r\n\r\n/* Retrieve a single entry from the cache */\r\nLRUCache.prototype.get = function(key) {\r\n if (this.map[key]) {\r\n var value = this.map[key].value;\r\n var node = new LRUCache.prototype.lrunode(key, value);\r\n this.remove(key);\r\n this.setHead(node);\r\n return value;\r\n } else {\r\n DebugLogger.log(\"Key \" + key + \" does not exist in the cache.\");\r\n }\r\n};\r\n\r\n/* Remove a single entry from the cache */\r\nLRUCache.prototype.remove = function(key) {\r\n var node = this.map[key];\r\n if (node.prev !== null) {\r\n node.prev.next = node.next;\r\n } else {\r\n this.head = node.next;\r\n }\r\n if (node.next !== null) {\r\n node.next.prev = node.prev;\r\n } else {\r\n this.tail = node.prev;\r\n }\r\n delete this.map[key];\r\n this.size--;\r\n};\r\n\r\n/* Resets the entire cache - Argument limit is optional to be reset */\r\nLRUCache.prototype.removeAll = function(limit) {\r\n this.size = 0;\r\n this.map = {};\r\n this.head = null;\r\n this.tail = null;\r\n if (typeof limit == \"number\") {\r\n this.limit = limit;\r\n }\r\n};\r\n\r\n/* Traverse through the cache elements using a callback function\r\n * Returns args [node element, element number, cache instance] for the callback function to use\r\n */\r\nLRUCache.prototype.forEach = function(callback) {\r\n var node = this.head;\r\n var i = 0;\r\n while (node) {\r\n callback.apply(this, [node, i, this]);\r\n i++;\r\n node = node.next;\r\n }\r\n};\r\n\r\n/* Returns a JSON representation of the cache */\r\nLRUCache.prototype.toJSON = function() {\r\n var json = [];\r\n var node = this.head;\r\n while (node) {\r\n json.push({\r\n key : node.key, \r\n value : node.value\r\n });\r\n node = node.next;\r\n }\r\n return json;\r\n};\r\n\r\n/* Returns a String representation of the cache */\r\nLRUCache.prototype.toString = function() {\r\n var s = \"\";\r\n var node = this.head;\r\n while (node) {\r\n s += String(node.key)+\":\"+node.value;\r\n node = node.next;\r\n if (node) {\r\n s += \"\\n\";\r\n }\r\n }\r\n return s;\r\n};\r\n\r\nexport default LRUCache;","import LRUCache from \"./LRU\";\r\n\r\nclass Cache {\r\n constructor(limit) {\r\n this.cache = new LRUCache(limit);\r\n }\r\n\r\n get(key) {\r\n return this.cache.get(key);\r\n }\r\n\r\n set(key, val) {\r\n this.cache.set(key, val);\r\n }\r\n\r\n remove(key) {\r\n this.cache.remove(key);\r\n }\r\n}\r\n\r\nexport default Cache;","import _ from \"lodash\";\r\nimport DebugLogger from \"../../utils/DebugLogger\";\r\nimport * as Helper from \"../../utils/Helper\";\r\nimport MessageBox from \"../ui/MessageBox\";\r\nimport BaseView from \"./BaseView\";\r\n\r\nclass BaseComponent extends BaseView {\r\n\r\n get reducer() {\r\n throw new Error(\"Not implemented.\");\r\n }\r\n\r\n get actionHandlers() {\r\n return {};\r\n }\r\n\r\n constructor(props) {\r\n super(props);\r\n\r\n DebugLogger.log(\"Lifecycle: \" + this.viewName + \" is created.\");\r\n\r\n if (this.reducer) {\r\n DebugLogger.log(\"Lifecycle: register reducer for \" + this.viewName);\r\n\r\n this.reducer.register();\r\n }\r\n }\r\n\r\n partnerRole = {\r\n ManagerPartner: 0,\r\n EditorPartner: 1,\r\n AssistantPartner: 2,\r\n }\r\n\r\n get isAdmin() {\r\n return Helper.isAdmin(this.props.user);\r\n }\r\n\r\n get isOnCall() {\r\n return Helper.isOnCall(this.props.user);\r\n }\r\n\r\n get isTeacher() {\r\n return Helper.isTeacher(this.props.user);\r\n }\r\n\r\n get isAgent() {\r\n return Helper.isAgent(this.props.user);\r\n }\r\n\r\n get isStudent() {\r\n return Helper.isStudent(this.props.user);\r\n }\r\n\r\n get isBookManager() {\r\n return Helper.isBookManager(this.props.user);\r\n }\r\n\r\n get isPartner() {\r\n return Helper.isPartner(this.props.partner , this.partnerRole);\r\n }\r\n\r\n get isEditorPartner() {\r\n return Helper.isEditorPartner(this.props.partner, this.partnerRole);\r\n }\r\n\r\n get isManagerPartner() {\r\n return Helper.isManagerPartner(this.props.partner , this.partnerRole);\r\n }\r\n\r\n get isAssistantPartner() {\r\n return Helper.isAssistantPartner(this.props.partner , this.partnerRole);\r\n }\r\n\r\n get enableProduct() {\r\n return this.props.partner?.enableProduct;\r\n }\r\n\r\n get enableOtherAnswer() {\r\n return this.props.partner?.enableOtherAnswer;\r\n }\r\n\r\n get enablePromotion() {\r\n return this.props.partner?.enablePromotion;\r\n }\r\n\r\n get enableBss() {\r\n return this.props.partner?.enableBbs;\r\n }\r\n\r\n get enableOralAndReadBook() {\r\n return this.props.partner?.enableOralAndReadBook;\r\n }\r\n\r\n componentDidMount() {\r\n super.componentDidMount();\r\n\r\n DebugLogger.log(\"Lifecycle: \" + this.viewName + \" is mounted.\");\r\n }\r\n\r\n componentDidUpdate(prevProps) {\r\n if (prevProps.localState && this.props.localState) {\r\n var preAction = prevProps.localState.action;\r\n var curAction = this.props.localState.action;\r\n if (preAction && curAction) {\r\n if (curAction.isDone) {\r\n if (!preAction.isDone) {\r\n if (this.componentHandleActionDone) this.componentHandleActionDone(curAction, this.props);\r\n }\r\n } else if (curAction.error) {\r\n if (!preAction.error) {\r\n if (this.componentHandleActionError) this.componentHandleActionError(curAction, this.props);\r\n else this.displayError(curAction.error); // by default, we display error in a message box\r\n }\r\n }\r\n }\r\n }\r\n\r\n // we only process the error one time\r\n // handle general errors for now\r\n // if there are no general errors, but only action errors,\r\n // we will not need this part of logic any more\r\n if (!prevProps.localState.error && this.props.localState.error) {\r\n if (this.componentHandleError) this.componentHandleError(this.props.localState.error, this.props);\r\n else this.displayError(this.props.localState.error); // by default, we display error in a message box\r\n }\r\n }\r\n\r\n componentWillUnmount() {\r\n if (this.reducer) {\r\n DebugLogger.log(\"Lifecycle: unregister reducer for \" + this.viewName);\r\n\r\n this.reducer.unregister();\r\n }\r\n\r\n DebugLogger.log(\"Lifecycle: \" + this.viewName + \" is destroyed.\");\r\n }\r\n\r\n componentHandleActionDone(action, props) {\r\n if (!_.isEmpty(action.type)) {\r\n if (this.actionHandlers[action.type]) {\r\n if (this.actionHandlers[action.type].done) {\r\n this.actionHandlers[action.type].done(action, props);\r\n }\r\n }\r\n }\r\n }\r\n\r\n componentHandleActionError(action, props) {\r\n if (!_.isEmpty(action.type)) {\r\n if (this.actionHandlers[action.type]) {\r\n if (this.actionHandlers[action.type].error) {\r\n this.actionHandlers[action.type].error(action, props);\r\n }\r\n }\r\n }\r\n }\r\n\r\n getExecutedAction(actionType) {\r\n if (this.props && this.props.localState && this.props.localState.executedActions) {\r\n return this.props.localState.executedActions[actionType];\r\n }\r\n\r\n return null;\r\n }\r\n\r\n isActionExecuting(actionType) {\r\n if (this.props && this.props.localState && this.props.localState.executedActions) {\r\n var action = this.props.localState.executedActions[actionType];\r\n return action ? action.isExecuting : false;\r\n }\r\n\r\n return false;\r\n }\r\n\r\n isActionDone(actionType) {\r\n if (this.props && this.props.localState && this.props.localState.executedActions) {\r\n var action = this.props.localState.executedActions[actionType];\r\n return action ? action.isDone : false;\r\n }\r\n\r\n return false;\r\n }\r\n\r\n displayError(error) {\r\n if (!error) {\r\n return; // do nothing\r\n }\r\n\r\n var newError = {...error};\r\n if (error.code || error.code === 0) {\r\n newError.message = error.message + \" (code: \" + error.code + \")\";\r\n }\r\n\r\n MessageBox.danger({\r\n text: newError.message,\r\n duration: 5000\r\n });\r\n }\r\n\r\n displaySuccess(info) {\r\n if (!info) {\r\n return; // do nothing\r\n }\r\n\r\n MessageBox.success({\r\n text: info.message || info,\r\n duration: 5000\r\n });\r\n }\r\n}\r\n\r\nexport default BaseComponent;\r\n","import PropTypes from \"prop-types\";\r\n\r\nimport * as Helper from \"../../utils/Helper\";\r\nimport BaseComponent from \"./BaseComponent\";\r\n\r\nclass BaseScreen extends BaseComponent {\r\n get viewName() {\r\n return this.routeName;\r\n }\r\n\r\n get routeName() {\r\n throw new Error(\"Not implemented.\");\r\n }\r\n\r\n get callUpHandlers() {\r\n return {};\r\n }\r\n\r\n componentDidMount() {\r\n super.componentDidMount();\r\n }\r\n\r\n componentDidUpdate(prevProps) {\r\n super.componentDidUpdate(prevProps);\r\n }\r\n\r\n componentWillUnmount() {\r\n super.componentWillUnmount();\r\n }\r\n\r\n isGuest = Helper.isGuest;\r\n\r\n isLoggedIn = Helper.isLoggedIn;\r\n}\r\n\r\nBaseScreen.propTypes = {\r\n userId: PropTypes.string,\r\n};\r\n\r\nBaseScreen.isGuest = Helper.isGuest;\r\nBaseScreen.isLoggedIn = Helper.isLoggedIn;\r\n\r\nexport default BaseScreen;\r\n","import React from \"react\";\r\n// import { Crashlytics } from \"react-native-fabric\";\r\n\r\n// import Analytics from \"../utils/Analytics\";\r\n\r\nclass BaseView extends React.Component {\r\n\r\n get viewName() {\r\n throw new Error(\"Not implemented.\");\r\n }\r\n\r\n componentDidMount() {\r\n // // track screen view here\r\n // var userId = this.props.userId ? this.props.userId : \"(empty)\";\r\n // // Analytics.trackScreenView(userId, this.viewName ? this.viewName : \"(empty)\");\r\n // //set user id\r\n // Crashlytics.setUserIdentifier(userId);\r\n }\r\n}\r\n\r\nexport default BaseView;","/**\r\n * Created by JIA on 2023/8/17.\r\n */\r\nimport React from \"react\";\r\nimport AppConfig from \"../../config/AppConfig\";\r\nimport DebugLogger from \"../../utils/DebugLogger\";\r\nimport { addError } from \"../../utils/ErrorHelper\";\r\n\r\nexport default class ErrorBoundary extends React.Component {\r\n constructor(props) {\r\n super(props);\r\n this.state = { hasError: false };\r\n }\r\n\r\n static getDerivedStateFromError(error) {\r\n // 更新状态,以便下一次渲染将显示后备 UI。\r\n return { hasError: true };\r\n }\r\n\r\n componentDidCatch(error, info) {\r\n try {\r\n //this.setState({ hasError: true, errorMsg: error.name + \":\" + error.message });\r\n //Bugsnag.notify(error);\r\n // Catch errors in any components below and re-render with error message\r\n //add error data into database\r\n let inVO = {\r\n errorMessage: error.name + \":\" + error.message,\r\n };\r\n\r\n if (info.componentStack) {\r\n try {\r\n inVO.errorPage = info.componentStack.toString();\r\n } catch (e) {\r\n console.error(e);\r\n }\r\n }\r\n if (error.stack) {\r\n try {\r\n inVO.errorTrace = error.stack.toString();\r\n } catch (e) {\r\n console.error(e);\r\n }\r\n }\r\n\r\n addError(\r\n inVO,\r\n (response) => {\r\n DebugLogger.log(\"add error data successful\");\r\n },\r\n (err) => {\r\n DebugLogger.log(\"add error data fail\");\r\n }\r\n );\r\n } catch (e) {\r\n console.error(e);\r\n }\r\n }\r\n\r\n render() {\r\n if (this.state.hasError) {\r\n // 你可以渲染任何自定义后备 UI\r\n return this.props.fallback ? this.props.fallback : null;\r\n }\r\n\r\n return this.props.children;\r\n }\r\n}\r\n","import { toast } from \"react-toastify\";\r\nimport _ from \"lodash\";\r\n\r\n// const defaultOptions = {\r\n// text: null,\r\n// position: null,\r\n// duration: null,\r\n// };\r\n\r\n// const mergeOptions = (options) => {\r\n// let baseOptions = {\r\n// ...defaultOptions,\r\n// };\r\n// if (_.isPlainObject(options)) {\r\n// return {\r\n// ...baseOptions,\r\n// ...options\r\n// };\r\n// } else if (_.isString(options)) {\r\n// return {\r\n// ...baseOptions,\r\n// text: options\r\n// };\r\n// } else {\r\n// return baseOptions;\r\n// }\r\n// };\r\n\r\n/**\r\n * a common components for show some alert message\r\n * for now we just use the Toast in Native-base\r\n * you can pass Toast options or just pass string\r\n * @type {{show: ((null?: *)), success: ((null?: *)), warning: ((null?: *)), danger: ((null?: *))}}\r\n */\r\nconst MessageBox = {\r\n show: options => {\r\n try {\r\n var settings = { };\r\n if (options.duration) {\r\n settings.autoClose = options.duration;\r\n }\r\n toast.info(_.isString(options) ? options: options.text, settings);\r\n } catch (e) {\r\n // ignore\r\n }\r\n },\r\n success: options => {\r\n try {\r\n var settings = { };\r\n if (options.duration) {\r\n settings.autoClose = options.duration;\r\n }\r\n toast.success(_.isString(options) ? options: options.text, settings);\r\n } catch (e) {\r\n // ignore\r\n }\r\n },\r\n warning: options => {\r\n try {\r\n var settings = { };\r\n if (options.duration) {\r\n settings.autoClose = options.duration;\r\n }\r\n toast.warn(_.isString(options) ? options: options.text, settings);\r\n } catch (e) {\r\n // ignore\r\n }\r\n },\r\n danger: options => {\r\n try {\r\n var settings = { };\r\n if (options.duration) {\r\n settings.autoClose = options.duration;\r\n }\r\n toast.error(_.isString(options) ? options: options.text, settings);\r\n } catch (e) {\r\n // ignore\r\n }\r\n }\r\n};\r\n\r\nexport default MessageBox;\r\n","import _ from \"lodash\";\r\n\r\nconst mobileVersionSuffix = 3; //web mobile\r\nconst versionSuffix = 4; //web\r\n\r\nconst InternalAppConfig = {\r\n APP_SERVICE_BASE: window.g_settings.serviceBaseUrl, //\"https://api.yidu.ink\"\r\n FILE_SERVER: window.g_settings.localFileServerUrl,\r\n APP_CLIENT_ID: \"sampleconsumer\",\r\n APP_CLIENT_SECRET: \"asdf@3iouae234(*213\",\r\n APP_CLIENT_VERSION: \"2.2.2\", // client version\r\n APP_CLIENT_BUILD: \"917\" + versionSuffix, // client build\r\n MOBILE_APP_CLIENT_BUILD: \"917\" + mobileVersionSuffix, // client build\r\n TWITTER_CONSUMER_KEY: \"eujSyWFaL7qbRzOrSvNag\",\r\n FACEBOOK_CLIENT_ID: \"669631993734738\", //NOTE:: for facebook client id please change \\AiChinese.Mobile.App\\AiChinese\\android\\app\\src\\main\\res\\values\\strings.xml\r\n SESSION_STORAGE_KEY: \"SESSION_STORAGE_KEY\",\r\n INITIAL_URL: \"\", // if app is start by special scheme url(iml://app), we store it here to prevent handle it multiple times\r\n APPLE_APP_ID: \"1259009536\",\r\n GOOGLE_APP_PACKAGE_NAME: \"com.chinesehomework.android.app\",\r\n APP_NAME: \"YiDu\",\r\n IOS_APP_ID: \"com.chinesehomework.ios.app\",\r\n ANDROID_APP_ID: \"com.chinesehomework.android.app\",\r\n IS_PREMIUM_APP: false,\r\n PREMIUM_APP_SCHOOL_ID: \"\",\r\n APP_ADS_REFRESH_INTERVAL: 20,\r\n PREMIUM_APP_ID: \"\",\r\n IMAGII_DISABLED: false,\r\n IS_APP_UNDER_REVIEW: false, // indicate if current app is under review\r\n GOOGLE_WEB_CLIENT_ID: \"711266234345-use4rleb2i8tou4ju0njfhiqk3l4i024.apps.googleusercontent.com\",\r\n GOOGLE_IOS_CLIENT_ID: \"711266234345-ak7sag17c4fa9rb2rhqd1gnls5pm50qq.apps.googleusercontent.com\",\r\n WECHAT_APP_ID: \"wx43715d0c74d796cd\",\r\n SHOW_UNITTEST: true,\r\n STORAGE_KEY: \"STORAGE_KEY\",\r\n LANGUAGE_SETTING: \"LANGUAGE_SETTING\",\r\n ONESIGNAL_APP_ID: \"13f154e2-f34b-4825-a509-1ccf97c6bbb3\",\r\n WECHAT_UNIVERSAL_LINK: \"https://www.yidu.ink/app/\",\r\n ANDROID_APP_DOWNLOAD_LINK: \"http://www.yidu.ink/download/app/yidu.apk\",\r\n IOS_APP_DOWNLOAD_LINK: \"https://itunes.apple.com/us/app/yidu/id1540889657?mt=8\",\r\n UNIT_PASSING_SCORE: 0.7,\r\n AUDIO_RATE_OF_ROBOT: 0.5,\r\n AUDIO_RATE_OF_USER: 0.5,\r\n MAX_AUDIO_RECORD_LIMIT: 55,\r\n ENABLE_OFFLINE: false,\r\n LATEST_APPS: null,\r\n LOCAL_REGION_SERVERS: window.g_settings.localRegionServers,\r\n};\r\n\r\nclass AppConfig {\r\n constructor() {\r\n _.assignIn(this, InternalAppConfig);\r\n }\r\n\r\n updateAppConfig = newConfig => {\r\n _.assignIn(this, newConfig);\r\n };\r\n}\r\n\r\nconst appConfig = new AppConfig();\r\n\r\nexport default appConfig;\r\n","export default {\r\n FILE_STORAGE: {\r\n ROOT_PATH: \"~/fs/\",\r\n TEMP_PATH: \"~/fs/temp/\",\r\n PINYIN_PATH: \"~/fs/dictionary/pinyin/\",\r\n },\r\n LOCAL_FILE_STORAGE: {\r\n ROOT_PATH: \"/fs/\",\r\n TEMP_PATH: \"/fs/temp/\",\r\n TALK_CHINESE_ROOT_PATH: \"/fs/users/talkchinese/\", // TODO from wei: need to remove this one\r\n },\r\n TEXT_MARK_TYPE: {\r\n PLAIN_TEXT: 1,\r\n HIGHLIGHT: 2,\r\n INPUT: 4,\r\n UNDERLINE: 8,\r\n BOLD: 16,\r\n POP_INPUT: 32, // a text that you can click it, a bottom sheet with a input will show and you can set the row of input, after input the content will be your input\r\n ICON: 64,\r\n SKIP: 128,\r\n KEYWORD: 256,\r\n TYPO: 512,\r\n MISSPELT: 1024,\r\n NUMBER: 2048,\r\n ERRORLETTER: 4096,\r\n WRITE_INPUT: 8192, // handwriting input\r\n },\r\n SENTENCE_MARK_TYPE: {\r\n PLAIN_TEXT: 1,\r\n ALIGN_CENTER: 2,\r\n ALIGN_RIGHT: 4,\r\n LEFT_INDENT: 8, //indent the paragraph at left\r\n DIALOG: 16,\r\n },\r\n FIELD_TYPE: {\r\n CHARSFIELD: 0,\r\n IMAGEFIELD: 1,\r\n AUDIOFIELD: 2,\r\n },\r\n TABLE_COLUMN_TYPE: {\r\n UNKNOWN: 0,\r\n TEXT: 1,\r\n IMAGE: 2,\r\n TRANSLATION: 3,\r\n },\r\n FIELD_TYPE_MAP_ARRAY: [\"CharsField\", \"ImageField\", \"AudioField\"],\r\n VALID_MP3_MIMES: [\r\n \"audio/mpeg\",\r\n \"audio/x-mpeg\",\r\n \"audio/mp3\",\r\n \"audio/x-mp3\",\r\n \"audio/mpeg3\",\r\n \"audio/x-mpeg3\",\r\n \"audio/x-mpeg-3\",\r\n \"audio/mpg\",\r\n \"audio/x-mpg\",\r\n \"audio/x-mpegaudio\",\r\n \"video/mpeg\",\r\n \"video/x-mpeg\",\r\n ],\r\n SUPER_ADMIN_ID: \"10001\",\r\n CHARS_FIELD_SYLLABLES_SEPARATOR: \"%#%\",\r\n USER_GUEST: 'Guest',\r\n SUPPORTED_LANGUAGES: [\r\n {code: \"zh\", name: \"中文\", culture: \"zh-CN\"},\r\n {code: \"en\", name: \"English\", culture: \"en-US\"},\r\n {code: \"th\", name: \"ภาษาไทย\", culture: \"th-TH\"},\r\n {code: \"ko\", name: \"한국인\", culture: \"ko-KR\"},\r\n {code: \"ja\", name: \"日語\", culture: \"ja-JP\"},\r\n {code: \"pt\", name: \"Português\", culture: \"pt\"},\r\n {code: \"fr\", name: \"Français\", culture: \"fr\"},\r\n {code: \"ru\", name: \"Русский язык\", culture: \"ru\"},\r\n {code: \"vi\", name: \"Tiếng Việt\", culture: \"vi\"},\r\n ],\r\n USER_ROLE:{\r\n USER: 0,\r\n ADMIN: 1,\r\n TEACHER: 2,\r\n AGENT: 4,\r\n BOOK_MANAGER: 8,\r\n ON_CALL: 16,\r\n },\r\n USER_TABLE_TYPES:{\r\n STUDENT_USER: 0,\r\n TEACHER_USER: 1,\r\n AGENT_USER: 2,\r\n OTHER_USER: 3,\r\n },\r\n BACKGROUND_TASK_TYPE: {\r\n API_CALL: \"API_CALL\",\r\n UNIT_API_CALL: \"UNIT_API_CALL\",\r\n UPDATE_UNIT_RESULT: \"UPDATE_UNIT_RESULT\",\r\n UNIT_UPLOAD: \"UNIT_UPLOAD\",\r\n RESTART_UNIT: \"RESTART_UNIT\",\r\n RECOGNIZE_AUDIO: \"RECOGNIZE_AUDIO\",\r\n COMPLETE_HOMEWORK: \"COMPLETE_HOMEWORK\",\r\n START_HOMEWORK: \"START_HOMEWORK\",\r\n },\r\n BACKGROUND_TASK_QUEUE_TYPE: {\r\n NORMAL: \"NORMAL TASK\",\r\n UPLOAD: \"UPLOAD TASK\",\r\n },\r\n PRIMARY_COLOR: \"#19589b\",\r\n SECONDARY_COLOR: \"#eea236\",\r\n CODES: {\r\n SPA_CLIENT_OLD: -100,\r\n TO_BE_AUTHENTICATED: -1,\r\n ACCESS_VIOLATION: -2,\r\n MISSING_EMAIL: -3,\r\n SSO_VIOLATED: 108,\r\n NOT_EXIST_CURUSER: -8,\r\n ACCOUNT_NOT_EXIST: 100,\r\n INACTIVE_ACCOUNT: 101,\r\n EXIST_ACCOUNT: 103,\r\n MUST_IN_WAITLIST_DUE_TO_MIN_PLAYER_BOUND: 119,\r\n MUST_IN_WAITLIST_DUE_TO_MIN_RESTRICT_TEAM_JOIN: 120,\r\n USER_HOMEWORK_UNIT_NOT_EXIST: 123,\r\n USER_HOMEWORK_NOT_EXIST: 124,\r\n ALREADY_JOINED_TEAM: 125,\r\n TEAM_JOIN_PENDING: 126,\r\n INVITED_MEMBER_JOIN: 127,\r\n ADDED_MEMBER_BY_ADMIN: 128,\r\n USER_HOMEWORK_NOT_COMPLETED: 130,\r\n USER_HOMEWORK_ALREADY_COMPLETED: 131,\r\n NEED_PASS_QUIZ: 138,\r\n INVALID_NETWORK_EMAIL: 140,\r\n REQUIRE_PAYMENT: 141,\r\n REQUIRE_SIGN_WAIVERS: 142,\r\n REQUIRE_SET_PASSWORD: 143,\r\n REQUIRE_COMPLETE_REGISTRATION: 144,\r\n REQUIRE_LINK_FACEBOOK: 145,\r\n REQUIRE_HTTPS: 146,\r\n REQUIRE_ACCEPT_TERM: 160,\r\n NEED_REDIRECT_TO_PAYMENT: 162,\r\n RECAPTCHA_VALIDATION_FAIL: 157,\r\n REMOVE_TEAM_CAPTAIN_ERROR: 170,\r\n REQUIRE_SSO_SET_PASSWORD: 176,\r\n ALREADY_SCHOOL_MEMBER: 179,\r\n PENDING_JOIN_SCHOOL_REQUEST: 180,\r\n HAVE_NO_JOINED_SCHOOL: 183,\r\n NOT_SESSION_MEMBER: 185,\r\n NOT_GAME_MEMBER: 186,\r\n REQUIE_VALID_TEAM: 187,\r\n TEAM_DOES_NOT_EXIST: 188,\r\n NEED_TO_CHOOSE_PACKAGE: 189,\r\n NOT_EVENT_MEMBER: 191,\r\n CAN_JOIN_AS_NOMAD: 192,\r\n NEED_CREATE_NEW_ACCOUNT: 202,\r\n SID_IN_USE: 400,\r\n SID_PENDING_REQUEST: 401,\r\n SID_VERIFY_FAILED: 402,\r\n SID_NOT_MATCH: 404,\r\n SID_NOT_IN_SHEET: 405,\r\n FITNESS_DISABLED: 600,\r\n CLUB_DISABLED: 700,\r\n CLIENT_TIMEOUT: -999,\r\n BACKGROUND_TASK_NOT_READY: -1000,\r\n },\r\n MOBILE_UID_PREFIX: \"mobile\",\r\n PASSWORD_REGEX: /^(?=.*[A-Za-z])(?=.*\\d)[\\d\\D]{8,}$/, //数字和字母组合,长度至少8位\r\n HOMEWORK_RESULT_GRADE: {\r\n PERFECT: \"It's Perfect\",\r\n EXCELLENT: \"Excellent !\",\r\n GOOD: \"Very Good\",\r\n PITY: \"What a Pity\",\r\n },\r\n ENTITY_TYPE: {\r\n PORTAL: \"portal\",\r\n MEMBER: \"member\",\r\n ACCOUNT: \"account\",\r\n NETWORK: \"network\",\r\n SPORT: \"sport\",\r\n LEAGUE: \"league\",\r\n DIVISION: \"division\",\r\n REGULARGAME: \"regulargame\",\r\n PLAYOFFGAME: \"playoffgame\",\r\n TEAM: \"team\",\r\n CLUB: \"club\",\r\n FITNESS: \"fitness\",\r\n INTRAMURAL: \"intramural\",\r\n PLAYOFF: \"playoff\",\r\n CONVERSATION: \"conversation\",\r\n FITNESSSESSION: \"fitnesssession\",\r\n },\r\n PAYMENT: {\r\n CURRENCY_TYPE: {\r\n USD: \"USD\",\r\n CNY: \"CNY\",\r\n },\r\n GATEWAY: {\r\n BRAINTREE: 0,\r\n WECHAT: 1,\r\n STRIPNET: 2,\r\n },\r\n ORDER_STATUS: {\r\n NEW: 0,\r\n COMPLETED: 1,\r\n TO_BE_PROCESSED: 2,\r\n PROCESSING_FAILURE: 3,\r\n NOTIFICATION_RECEIVED: 4,\r\n VERIFICATION_FAILED: 5,\r\n ORDER_DENIED: 6,\r\n TO_BE_DENIED: 7,\r\n PENDING: 8,\r\n },\r\n },\r\n SPEECH_CONSTANT: {\r\n DEFAULT_RECOGNIZE_TIME_OUT: 180,\r\n MAX_RECOGNIZE_TIME_OUT: 180,\r\n DEFAULT_WORD_RECOGNIZE_TIME_OUT: 20,\r\n MAX_WORD_RECOGNIZE_TIME_OUT: 40,\r\n },\r\n SPEECH_LANG: {\r\n en: \"en-US\",\r\n zh: \"zh-CN\"\r\n },\r\n COURSE_CATEGORY: {\r\n POEM: 0,\r\n NOVEL: 1,\r\n CHILDREN_STORY: 2,\r\n SPOKEN_LANGUAGE: 3,\r\n IDIOMSTORY: 4,\r\n CLASSIC_ARTICLE: 5,\r\n },\r\n AnswerTypeEnum: {\r\n AnswerType_DirectInput: 1,\r\n AnswerType_UploadFile: 2,\r\n AnswerType_DirectInputOrUploadFile: 3, // 1|2\r\n AnswerType_Audio: 4,\r\n //AnswerType_DirectInputOrAudio: 5, // 1|4\r\n AnswerType_UploadImage: 8,\r\n //AnswerType_DirectInputOrUploadImage: 9, // 1|8\r\n },\r\n AnswerTypeCookieKey: {\r\n Audio: \"AnswerType_Audio\",\r\n UploadImage: \"AnswerType_UploadImage\",\r\n },\r\n UnitViewModeEnum: {\r\n Normal: 0,\r\n SimpleBatch: 1,\r\n Homework: 2,\r\n },\r\n DefaultPageSize: 50,\r\n};\r\n","import i18n from \"i18next\";\r\nimport { initReactI18next, withTranslation as orgWithTranslation } from \"react-i18next\";\r\nimport hoistNonReactStatics from 'hoist-non-react-statics';\r\n\r\nimport Backend from \"i18next-xhr-backend\";\r\nimport LanguageDetector from \"i18next-browser-languagedetector\";\r\n\r\nimport AppConfig from \"./config/AppConfig\";\r\nimport StorageEngine from \"./utils/StorageEngine\";\r\nimport moment from \"moment\";\r\nimport dayjs from \"./utils/dayjs\";\r\nimport \"moment/locale/en-gb\";\r\nimport \"moment/locale/ko\";\r\nimport \"moment/locale/th\";\r\nimport \"moment/locale/zh-cn\";\r\n\r\n// // the translations\r\n// // (tip move them in a JSON file and import them)\r\n// const resources = {\r\n// en: {\r\n// translation: {\r\n// \"Welcome to React\": \"Welcome to React and react-i18next\"\r\n// }\r\n// }\r\n// };\r\nlet language = navigator.language||navigator.userLanguage;\r\nlet lng = StorageEngine(AppConfig.LANGUAGE_SETTING).load();\r\nlet lngCode = lng && Object.keys(lng).length > 0 && lng !== \"\" ? lng : language;\r\nlngCode = lngCode.substr(0, 2);\r\n\r\ni18n\r\n // load translation using xhr -> see /public/locales (i.e. https://github.com/i18next/react-i18next/tree/master/example/react/public/locales)\r\n // learn more: https://github.com/i18next/i18next-xhr-backend\r\n .use(Backend)\r\n // detect user language\r\n // learn more: https://github.com/i18next/i18next-browser-languageDetector\r\n .use(LanguageDetector)\r\n // pass the i18n instance to react-i18next.\r\n .use(initReactI18next)\r\n .init({\r\n backend: {\r\n // for all available options read the backend\"s repository readme file\r\n // loadPath: \"/locales/{{lng}}/{{ns}}.json\"\r\n loadPath: function(lngArray, nsArray) {\r\n var language = lngArray[0];\r\n var namespace = nsArray[0]\r\n\r\n // break namespace into words like screens.account.login\r\n // so that we can build folder path to load the file\r\n const nsWords = namespace.split(\".\");\r\n\r\n var folderPath = \"\";\r\n for (var i = 0; i < nsWords.length - 1; i++) {\r\n folderPath = folderPath + nsWords[i] + \"/\";\r\n }\r\n\r\n var fileName = nsWords.length > 1 ? nsWords[nsWords.length - 1] : namespace;\r\n\r\n return \"/i18n/\" + folderPath + fileName + \".\" + language + \".json?v=\" + AppConfig.APP_CLIENT_BUILD;\r\n }\r\n },\r\n fallbackLng: \"zh\",\r\n // resources,\r\n lng: lngCode,\r\n\r\n keySeparator: false, // we do not use keys in form messages.welcome\r\n\r\n interpolation: {\r\n escapeValue: false // react already safes from xss\r\n }\r\n });\r\nmoment.locale(lngCode === \"zh\" ? \"zh-cn\" : lngCode);\r\ndayjs.locale(lngCode);\r\n\r\n/*Fix the withTranslation component static prop can not access issue */\r\nfunction withTranslation(ns, options = {}) {\r\n return function Extend(WrappedComponent) {\r\n return hoistNonReactStatics(orgWithTranslation(ns, options)(WrappedComponent), WrappedComponent);\r\n }\r\n}\r\n\r\nexport{ withTranslation };\r\nexport default i18n;\r\n","import React from \"react\";\r\nimport ReactDOM from \"react-dom\";\r\nimport { toast } from \"react-toastify\";\r\nimport \"./i18n.js\";\r\nimport \"./index.css\";\r\nimport App from \"./App\";\r\nimport * as serviceWorker from \"./serviceWorker\";\r\nimport HttpsRedirect from \"react-https-redirect\";\r\n\r\nimport ErrorBoundary from \"./components/base/ErrorBoundary\";\r\n\r\n\r\n// Initialize toast notification\r\ntoast.configure();\r\n\r\n// const ErrorView = () =>\r\n//
\r\n//

Inform users of an error in the component tree.

\r\n//
;\r\n\r\nReactDOM.render(\r\n \r\n \r\n \r\n \r\n ,\r\n document.getElementById(\"root\")\r\n);\r\n\r\n// If you want your app to work offline and load faster, you can change\r\n// unregister() to register() below. Note this comes with some pitfalls.\r\n// Learn more about service workers: https://bit.ly/CRA-PWA\r\nserviceWorker.unregister();\r\n","import _ from \"lodash\";\r\nimport Constants from \"../config/Constants\";\r\n\r\nconst addPrefix = (prefix, obj) => {\r\n let newObj = {};\r\n _.each(obj, (item, key) => {\r\n if (_.isString(item)) {\r\n newObj[key] = `${prefix}.${item}`;\r\n } else if (_.isObject(item)) {\r\n newObj[key] = addPrefix(prefix, item);\r\n }\r\n });\r\n return newObj;\r\n};\r\n\r\nlet UIDs = {\r\n navigators: {\r\n main: \"navigators.main\",\r\n },\r\n navigation: {\r\n navigators: {\r\n cclass: {\r\n mainNavigator: \"navigation.navigators.cclass.mainNavigator\",\r\n },\r\n cplan: {\r\n mainNavigator: \"navigation.navigators.cplan.mainNavigator\",\r\n },\r\n },\r\n },\r\n components: {\r\n base: {\r\n errorBoundary: \"components.base.errorBoundary\",\r\n loadScreenErrorHandler: \"components.base.loadScreenErrorHandler\",\r\n },\r\n customModule: {\r\n speechRecognition: \"components.customModule.speechRecognition\",\r\n },\r\n ui: {\r\n autoHeightWebView: \"components.ui.autoHeightWebView\",\r\n reportWordError: \"components.ui.reportWordError\",\r\n bottompopexplanation: \"components.ui.bottompopexplanation\",\r\n bottomPopInput: \"components.ui.bottomPopInput\",\r\n writeInput: \"components.ui.writeInput\",\r\n replyInput: \"components.ui.replyInput\",\r\n wordAnalysisView: \"components.ui.wordAnalysisView\",\r\n commonmodal: \"components.ui.commonmodal\",\r\n commonUpgradeModal: \"components.ui.commonUpgradeModal\",\r\n speechTestBox: \"components.ui.speechTestBox\",\r\n shareBulletinBoard: \"components.ui.shareBulletinBoard\",\r\n collapsiblePanel: \"components.ui.collapsiblePanel\",\r\n chatView: \"components.ui.chatView\",\r\n confirmModal: \"components.ui.confirmModal\",\r\n sketchCanvasModal: \"components.ui.sketchCanvasModal\",\r\n fileUploadModal: \"components.ui.fileUploadModal\",\r\n imagePickerModal: \"components.ui.imagePickerModal\",\r\n pyCandidatesBar: \"components.ui.pyCandidatesBar\",\r\n zoomerImage: \"components.ui.zoomerImage\",\r\n screenloadingindicator: \"components.ui.screenloadingindicator\",\r\n unitissuereportmodal: \"components.ui.unitissuereportmodal\",\r\n },\r\n chinesepark: {\r\n mediaTestModal: \"components.chinesepark.mediaTestModal\",\r\n audioTestModal: \"components.chinesepark.audioTestModal\",\r\n pkBooksModal: \"components.chinesepark.pkBooksModal\",\r\n pkLevelModal: \"components.chinesepark.pkLevelModal\",\r\n banChatModal: \"components.chinesepark.banChatModal\",\r\n passwordModal: \"components.chinesepark.passwordModal\",\r\n inviteModal: \"components.chinesepark.inviteModal\",\r\n spokenBooksModal: \"components.chinesepark.spokenBooksModal\",\r\n pkResultRankView: \"components.chinesepark.pkResultRankView\",\r\n userListView: \"components.chinesepark.userListView\",\r\n whiteboard: \"components.chinesepark.whiteboard\",\r\n shareScreen: \"components.chinesepark.shareScreen\",\r\n },\r\n },\r\n screens: {\r\n account: {\r\n bindMail: \"screens.account.bindMail\",\r\n forgetpassword: \"screens.account.forgetpassword\",\r\n home: \"screens.account.home\",\r\n login: \"screens.account.login\",\r\n register: \"screens.account.register\",\r\n verifyMail: \"screens.account.verifyMail\",\r\n changepasswordfirstlogin: \"screens.account.changepasswordfirstlogin\",\r\n },\r\n admin: {\r\n dashboard: \"screens.admin.dashboard\",\r\n manageUsers: \"screens.admin.manageUsers\",\r\n default: \"screens.admin.default\",\r\n userDetails: \"screens.admin.userDetails\",\r\n },\r\n default: \"screens.default\",\r\n splash: \"screens.splash\",\r\n introductionView: \"screens.introductionView\",\r\n example: \"screens.example\",\r\n review: {\r\n completeReview: \"screens.review.completeReview\",\r\n default: \"screens.review.default\",\r\n review: \"screens.review.review\",\r\n },\r\n conversation: {\r\n addMember: \"screens.conversation.addMember\",\r\n chat: \"screens.conversation.chat\",\r\n createConversation: \"screens.conversation.createConversation\",\r\n list: \"screens.conversation.list\",\r\n groupUserList: \"screens.conversation.groupUserList\",\r\n },\r\n aichat: {\r\n chat: \"screens.aichat.chat\",\r\n },\r\n me: {\r\n addReportMail: \"screens.me.addReportMail\",\r\n addStudyPlan: \"screens.me.addStudyPlan\",\r\n default: \"screens.me.default\",\r\n editReportMail: \"screens.me.editReportMail\",\r\n feedbackSuggestion: \"screens.me.feedbackSuggestion\",\r\n inviteFriend: \"screens.me.inviteFriend\",\r\n notification: \"screens.me.notification\",\r\n language: \"screens.me.language\",\r\n linkEmail: \"screens.me.linkEmail\",\r\n parentEmail: \"screens.me.parentEmail\",\r\n member: \"screens.me.member\",\r\n myRewards: \"screens.me.myRewards\",\r\n pointsDetail: \"screens.me.pointsDetail\",\r\n profileSetting: \"screens.me.profileSetting\",\r\n resetPassword: \"screens.me.resetPassword\",\r\n rewardHistory: \"screens.me.rewardHistory\",\r\n rewardPlanList: \"screens.me.rewardPlanList\",\r\n rewardTask: \"screens.me.rewardTask\",\r\n setRewardPlan: \"screens.me.setRewardPlan\",\r\n stats: \"screens.me.stats\",\r\n studyPlanList: \"screens.me.studyPlanList\",\r\n myClass: \"screens.me.myClass\",\r\n myWallet: \"screens.me.myWallet\",\r\n fundsDetails: \"screens.me.fundsDetails\",\r\n withdraw: \"screens.me.withdraw\",\r\n bankAccounts: \"screens.me.bankAccounts\",\r\n editBankAccount: \"screens.me.editBankAccount\",\r\n about: \"screens.me.about\",\r\n backgroundTaskOverview: \"screens.me.backgroundTaskOverview\",\r\n makePayment: \"screens.me.makePayment\",\r\n paymentHistory: \"screens.me.paymentHistory\",\r\n webView: \"screens.me.webView\",\r\n deleteAccount: \"screens.me.deleteAccount\",\r\n serverSetting: \"screens.me.serverSetting\",\r\n roomHistory: \"screens.me.roomHistory\",\r\n roomHistoryDetails: \"screens.me.roomHistoryDetails\",\r\n },\r\n member: {\r\n bookList: \"screens.member.bookList\",\r\n chineseTest: \"screens.member.chineseTest\",\r\n completeCourse: \"screens.member.completeCourse\",\r\n default: \"screens.member.defaultHome\",\r\n startTest: \"screens.member.startTest\",\r\n studyTaskChoice: \"screens.member.studyTaskChoice\",\r\n testDecription: \"screens.member.testDecription\",\r\n testResult: \"screens.member.testResult\",\r\n testUnit: \"screens.member.testUnit\",\r\n },\r\n network: {\r\n default: \"screens.network.default\",\r\n },\r\n course: {\r\n details: \"screens.course.details\",\r\n list: \"screens.course.list\",\r\n section: \"screens.course.section\",\r\n unit: \"screens.course.unit\",\r\n unitlayout: \"screens.course.unitlayout\",\r\n recordsetting: \"screens.course.recordsetting\",\r\n units: {\r\n base: {\r\n spokenreadingheader: \"screens.course.units.base.spokenreadingheader\",\r\n referenceanswerview: \"screens.course.units.base.referenceanswerview\",\r\n recordingview: \"screens.course.units.base.recordingview\",\r\n basepracticeunitwithgeneralarticle: \"screens.course.units.base.basepracticeunitwithgeneralarticle\",\r\n basepracticemultiunitwithsharedtop: \"screens.course.units.base.basepracticemultiunitwithsharedtop\",\r\n basearticlepracticesunit: \"screens.course.units.base.basearticlepracticesunit\",\r\n },\r\n basepracticeunit: \"screens.course.units.basepracticeunit\",\r\n askanswerunit: \"screens.course.units.askanswerunit\",\r\n a1unit: \"screens.course.units.a1unit\",\r\n poza4unit: \"screens.course.units.poza4unit\",\r\n poza5unit: \"screens.course.units.poza5unit\",\r\n poza6unit: \"screens.course.units.poza6unit\",\r\n sozb1unit: \"screens.course.units.sozb1unit\",\r\n pozb2unit: \"screens.course.units.pozb2unit\",\r\n pozb3unit: \"screens.course.units.pozb3unit\",\r\n pozb4unit: \"screens.course.units.pozb4unit\",\r\n sozc1unit: \"screens.course.units.sozc1unit\",\r\n cpunit: \"screens.course.units.cpunit\",\r\n d1unit: \"screens.course.units.d1unit\",\r\n pozd2unit: \"screens.course.units.pozd2unit\",\r\n pozd3unit: \"screens.course.units.pozd3unit\",\r\n pozd4unit: \"screens.course.units.pozd4unit\",\r\n soze1unit: \"screens.course.units.soze1unit\",\r\n poze2unit: \"screens.course.units.poze2unit\",\r\n pozf1unit: \"screens.course.units.pozf1unit\",\r\n g1unit: \"screens.course.units.g1unit\",\r\n h1unit: \"screens.course.units.h1unit\",\r\n pozi1unit: \"screens.course.units.pozi1unit\",\r\n pozi2unit: \"screens.course.units.pozi2unit\",\r\n pozi3unit: \"screens.course.units.pozi3unit\",\r\n pozi4unit: \"screens.course.units.pozi4unit\",\r\n pozi5unit: \"screens.course.units.pozi5unit\",\r\n pozi6unit: \"screens.course.units.pozi6unit\",\r\n i7unit: \"screens.course.units.i7unit\",\r\n pozi8unit: \"screens.course.units.pozi8unit\",\r\n poab1unit: \"screens.course.units.poab1unit\",\r\n poab2unit: \"screens.course.units.poab2unit\",\r\n poab3unit: \"screens.course.units.poab3unit\",\r\n poba1unit: \"screens.course.units.poba1unit\",\r\n pobb1unit: \"screens.course.units.pobb1unit\",\r\n pobs1unit: \"screens.course.units.pobs1unit\",\r\n pobx1unit: \"screens.course.units.pobx1unit\",\r\n pobx2unit: \"screens.course.units.pobx2unit\",\r\n poca3unit: \"screens.course.units.poca3unit\",\r\n poca4unit: \"screens.course.units.poca4unit\",\r\n pocc1unit: \"screens.course.units.pocc1unit\",\r\n pocx1unit: \"screens.course.units.pocx1unit\",\r\n pocx2unit: \"screens.course.units.pocx2unit\",\r\n pocx3unit: \"screens.course.units.pocx3unit\",\r\n pocx4unit: \"screens.course.units.pocx4unit\",\r\n poea5unit: \"screens.course.units.poea5unit\",\r\n poea6unit: \"screens.course.units.poea6unit\",\r\n poea7unit: \"screens.course.units.poea7unit\",\r\n poex1unit: \"screens.course.units.poex1unit\",\r\n poeo1unit: \"screens.course.units.poeo1unit\",\r\n pomx1unit: \"screens.course.units.pomx1unit\",\r\n pomx2unit: \"screens.course.units.pomx2unit\",\r\n pomx3unit: \"screens.course.units.pomx3unit\",\r\n pomx4unit: \"screens.course.units.pomx4unit\",\r\n poka1unit: \"screens.course.units.poka1unit\",\r\n poka2unit: \"screens.course.units.poka2unit\",\r\n poka3unit: \"screens.course.units.poka3unit\",\r\n poka4unit: \"screens.course.units.poka4unit\",\r\n pola1unit: \"screens.course.units.pola1unit\",\r\n posc1unit: \"screens.course.units.posc1unit\",\r\n posc2unit: \"screens.course.units.posc2unit\",\r\n posc3unit: \"screens.course.units.posc3unit\",\r\n psab2unit: \"screens.course.units.psab2unit\",\r\n psab3unit: \"screens.course.units.psab3unit\",\r\n psab4unit: \"screens.course.units.psab4unit\",\r\n psac1unit: \"screens.course.units.psac1unit\",\r\n psac2unit: \"screens.course.units.psac2unit\",\r\n psaf1unit: \"screens.course.units.psaf1unit\",\r\n psah2unit: \"screens.course.units.psah2unit\",\r\n psar1unit: \"screens.course.units.psar1unit\",\r\n psba2unit: \"screens.course.units.psba2unit\",\r\n psba3unit: \"screens.course.units.psba3unit\",\r\n psba4unit: \"screens.course.units.psba4unit\",\r\n psbb1unit: \"screens.course.units.psbb1unit\",\r\n psbx1unit: \"screens.course.units.psbx1unit\",\r\n psbx2unit: \"screens.course.units.psbx2unit\",\r\n pscx1unit: \"screens.course.units.pscx1unit\",\r\n psda1unit: \"screens.course.units.psda1unit\",\r\n psdb1unit: \"screens.course.units.psdb1unit\",\r\n psdb2unit: \"screens.course.units.psdb2unit\",\r\n psfa1unit: \"screens.course.units.psfa1unit\",\r\n psfa2unit: \"screens.course.units.psfa2unit\",\r\n pska1unit: \"screens.course.units.pska1unit\",\r\n pska5unit: \"screens.course.units.pska5unit\",\r\n pslx1unit: \"screens.course.units.pslx1unit\",\r\n pslx2unit: \"screens.course.units.pslx2unit\",\r\n psuo1unit: \"screens.course.units.psuo1unit\",\r\n pszm1unit: \"screens.course.units.pszm1unit\",\r\n psdo1unit: \"screens.course.units.psdo1unit\",\r\n pssd2unit: \"screens.course.units.pssd2unit\",\r\n posb1unit: \"screens.course.units.posb1unit\",\r\n pssd1unit: \"screens.course.units.pssd1unit\",\r\n psso1unit: \"screens.course.units.psso1unit\",\r\n comment: {\r\n view: {\r\n psdo1commentview: \"screens.course.units.comment.view.psdo1commentview\",\r\n pssd1commentview: \"screens.course.units.comment.view.pssd1commentview\",\r\n },\r\n form: {\r\n commentform: \"screens.course.units.comment.form.commentform\",\r\n psdo1commentform: \"screens.course.units.comment.form.psdo1commentform\",\r\n pssd1commentform: \"screens.course.units.comment.form.pssd1commentform\",\r\n },\r\n },\r\n },\r\n unitview: \"screens.course.unitview\",\r\n },\r\n homework: {\r\n default: \"screens.homework.default\",\r\n group: \"screens.homework.group\",\r\n homework: \"screens.homework.homework\",\r\n homeworkcomplete: \"screens.homework.homeworkcomplete\",\r\n homeworkhistory: \"screens.homework.homeworkhistory\",\r\n homeworkpeerrevise:\"screens.homework.homeworkpeerrevise\",\r\n peerrevisedetail:\"screens.homework.peerrevisedetail\",\r\n homeworkunit: \"screens.homework.homeworkunit\",\r\n homeworkunitredo: \"screens.homework.homeworkunitredo\",\r\n homeworkcompleteredo: \"screens.homework.homeworkcompleteredo\",\r\n newdefault: \"screens.homework.newdefault\",\r\n newlist: \"screens.homework.newlist\",\r\n newhistorylist: \"screens.homework.newhistorylist\",\r\n reviewlist: \"screens.homework.reviewlist\",\r\n replylist: \"screens.homework.replylist\",\r\n historypreview: \"screens.homework.historypreview\",\r\n classranking: \"screens.homework.classranking\",\r\n practiceresult: \"screens.homework.practiceresult\",\r\n article: \"screens.homework.article\",\r\n resultviews: {\r\n poka1resultview: \"screens.homework.resultviews.poka1resultview\",\r\n poka2resultview: \"screens.homework.resultviews.poka2resultview\",\r\n poka3resultview: \"screens.homework.resultviews.poka3resultview\",\r\n pska1resultview: \"screens.homework.resultviews.pska1resultview\",\r\n },\r\n reviewunit: \"screens.homework.reviewunit\",\r\n completehomework: \"screens.homework.completehomework\",\r\n checkunit: \"screens.homework.checkunit\",\r\n checkpracticeresult: \"screens.homework.checkpracticeresult\",\r\n checkcomplete: \"screens.homework.checkcomplete\",\r\n redohomeworkcheckunit: \"screens.homework.redohomeworkcheckunit\"\r\n },\r\n message: {\r\n default: \"screens.message.default\",\r\n },\r\n chinesepark: {\r\n default: \"screens.chinesepark.default\",\r\n createRoom: \"screens.chinesepark.createRoom\",\r\n chooseRegion: \"screens.chinesepark.chooseRegion\",\r\n createRoomResult: \"screens.chinesepark.createRoomResult\",\r\n room: \"screens.chinesepark.room\",\r\n banChat: \"screens.chinesepark.banChat\",\r\n blackList: \"screens.chinesepark.blackList\",\r\n chmodeSetting: \"screens.chinesepark.chmodeSetting\",\r\n noticeSetting: \"screens.chinesepark.noticeSetting\",\r\n pkResult: \"screens.chinesepark.pkResult\",\r\n passwdSetting: \"screens.chinesepark.passwdSetting\",\r\n roomSetting: \"screens.chinesepark.roomSetting\",\r\n webView: \"screens.chinesepark.webView\",\r\n roomManager: \"screens.chinesepark.roomManager\",\r\n vipFeatures: \"screens.chinesepark.vipFeatures\",\r\n vipPurchase: \"screens.chinesepark.vipPurchase\",\r\n pkRules: \"screens.chinesepark.pkRules\",\r\n roommember: \"screens.chinesepark.roommember\",\r\n roomList: \"screens.chinesepark.roomList\",\r\n shiftstudent:\"screens.chinesepark.shiftstudent\",\r\n addroommember:\"screens.chinesepark.addroommember\",\r\n editroommember:\"screens.chinesepark.editroommember\",\r\n unregstudent: \"screens.chinesepark.unregstudent\",\r\n },\r\n talkchinese: {\r\n home: \"screens.talkchinese.home\",\r\n default: \"screens.talkchinese.default\",\r\n practice: \"screens.talkchinese.practice\",\r\n practiceresult: \"screens.talkchinese.practiceresult\",\r\n settings: \"screens.talkchinese.settings\",\r\n level: \"screens.talkchinese.level\",\r\n plan: \"screens.talkchinese.plan\",\r\n complete: \"screens.talkchinese.complete\",\r\n ranking: \"screens.talkchinese.ranking\",\r\n reviewlist: \"screens.talkchinese.reviewlist\",\r\n historylist: \"screens.talkchinese.historylist\",\r\n history: \"screens.talkchinese.history\",\r\n historypreview: \"screens.talkchinese.historypreview\",\r\n },\r\n studyletter: {\r\n default: \"screens.studyletter.default\",\r\n taskList: \"screens.studyletter.taskList\",\r\n letterList: \"screens.studyletter.letterList\",\r\n stateDesc: \"screens.studyletter.stateDesc\",\r\n letterDetails: \"screens.studyletter.letterDetails\",\r\n wordList: \"screens.studyletter.wordList\",\r\n wordDetails: \"screens.studyletter.wordDetails\",\r\n practice: \"screens.studyletter.practice\",\r\n complete: \"screens.studyletter.complete\",\r\n statisticletterList: \"screens.studyletter.statisticletterList\",\r\n topList: \"screens.studyletter.topList\"\r\n },\r\n offline: {\r\n home: \"screens.offline.offlineHome\",\r\n homeworkList: \"screens.offline.offlineHomeworkList\",\r\n downloadHomework: \"screens.offline.offlineDownloadHomework\",\r\n offlineManageHome: \"screens.offline.offlineManageHome\",\r\n },\r\n learn: {\r\n default: \"screens.learn.default\",\r\n search: \"screens.learn.search\",\r\n productcourse: \"screens.learn.productcourse\",\r\n searchword: \"screens.learn.searchword\",\r\n bookdetail: \"screens.learn.bookdetail\",\r\n commentlist: \"screens.learn.commentlist\",\r\n addcomment: \"screens.learn.addcomment\",\r\n practice: \"screens.learn.practice\",\r\n complete: \"screens.learn.complete\",\r\n },\r\n bbs: {\r\n default: \"screens.bbs.default\",\r\n search: \"screens.bbs.search\",\r\n details: \"screens.bbs.details\",\r\n message: \"screens.bbs.message\",\r\n myactivity: \"screens.bbs.myactivity\",\r\n },\r\n },\r\n utils: {\r\n homework: \"utils.homework\",\r\n },\r\n services: {\r\n offline: {\r\n userHomework: {\r\n baseHomeworkOfflineProcessor: \"services.offline.userHomework.baseHomeworkOfflineProcessor\",\r\n },\r\n },\r\n },\r\n shared: {\r\n errors: \"shared.errors\",\r\n },\r\n};\r\n\r\nexport default addPrefix(Constants.MOBILE_UID_PREFIX, UIDs);\r\n","import _ from \"../../config/AppConfig\";\r\n\r\nexport default _;\r\n","import _ from \"../../config/Constants\";\r\n\r\nexport default _;\r\n","class ReactNativeWebDimensionHelper {\r\n constructor() {}\r\n\r\n get window() {\r\n return {\r\n width: Math.min(window.innerWidth, 1920),\r\n height: Math.min(window.innerHeight, 1080 - 60),\r\n };\r\n }\r\n\r\n get(p) {\r\n return {\r\n width: Math.min(window.innerWidth, 1920),\r\n height: Math.min(window.innerHeight, 1080 - 60),\r\n };\r\n }\r\n}\r\n\r\nconst DimensionsHelper = new ReactNativeWebDimensionHelper();\r\n\r\nexport default DimensionsHelper;\r\n","import UIDs from \"../../../../UIDs\";\r\n\r\nconst ActionTypes = {\r\n LOGIN_ASYNC: `${UIDs.screens.account.login}.loginAsync`,\r\n LOGIN_SUCCESS: `${UIDs.screens.account.login}.loginSuccess`,\r\n LOGIN_FAILURE: `${UIDs.screens.account.login}.loginFailure`,\r\n\r\n WECHAT_LOGIN_ASYNC: `${UIDs.screens.account.login}.wechatLoginAsync`,\r\n WECHAT_LOGIN_SUCCESS: `${UIDs.screens.account.login}.wechatLoginSuccess`,\r\n WECHAT_LOGIN_FAILURE: `${UIDs.screens.account.login}.wechatLoginFailure`,\r\n\r\n FB_LOGIN_ASYNC: `${UIDs.screens.account.login}.fbLoginAsync`,\r\n FB_LOGIN_SUCCESS: `${UIDs.screens.account.login}.fbLoginSuccess`,\r\n FB_LOGIN_FAILURE: `${UIDs.screens.account.login}.fbLoginFailure`,\r\n\r\n GOOGLE_LOGIN_ASYNC: `${UIDs.screens.account.login}.googleLoginAsync`,\r\n GOOGLE_LOGIN_SUCCESS: `${UIDs.screens.account.login}.googleLoginSuccess`,\r\n GOOGLE_LOGIN_FAILURE: `${UIDs.screens.account.login}.googleLoginFailure`,\r\n\r\n ADMIN_LOGIN_SUCCESS:`${UIDs.screens.account.login}.adminLoginSuccess`,\r\n};\r\n\r\nexport { ActionTypes };\r\n","import UIDs from \"../../../../UIDs\";\r\n\r\nconst uid = UIDs.screens.me.profileSetting;\r\n//\r\n// ActionTypes\r\n//\r\nconst ActionTypes = {\r\n LOAD_SCREEN_VIEW_ASYNC: `${uid}.loadScreenViewAsync`,\r\n LOAD_SCREEN_VIEW_SUCCESS: `${uid}.loadScreenViewSuccess`,\r\n LOAD_SCREEN_VIEW_FAILURE: `${uid}.loadScreenViewFailure`,\r\n\r\n CHANGE_NAME_ASYNC: `${uid}changeNameAsync`,\r\n CHANGE_NAME_SUCCESS: `${uid}changeNameSuccess`,\r\n CHANGE_NAME_FAILURE: `${uid}changeNameFailure`,\r\n\r\n CHANGE_GENDER_ASYNC: `${uid}changeGenderAsync`,\r\n CHANGE_GENDER_SUCCESS: `${uid}changeGenderSuccess`,\r\n CHANGE_GENDER_FAILURE: `${uid}changeGenderFailure`,\r\n\r\n CHANGE_BIRTHDAY_ASYNC: `${uid}changeBirthdayAsync`,\r\n CHANGE_BIRTHDAY_SUCCESS: `${uid}changeBirthdaySuccess`,\r\n CHANGE_BIRTHDAY_FAILURE: `${uid}changeBirthdayFailure`,\r\n\r\n CHANGE_MEMBER_PHOTO_ASYNC: `${uid}changeMemberPhotoAsync`,\r\n CHANGE_MEMBER_PHOTO_SUCCESS: `${uid}changeMemberPhotoSuccess`,\r\n CHANGE_MEMBER_PHOTO_FAILURE: `${uid}changeMemberPhotoFailure`,\r\n\r\n CHANGE_ROLE_ASYNC: `${uid}changeRoleAsync`,\r\n CHANGE_ROLE_SUCCESS: `${uid}changeRoleSuccess`,\r\n CHANGE_ROLE_FAILURE: `${uid}changeRoleFailure`,\r\n\r\n UPLOAD_IMAGE_TO_SERVER_ASYNC: `${uid}uploadImageToServerAsync`,\r\n UPLOAD_IMAGE_TO_SERVER_FAILURE: `${uid}uploadImageToServerFailure`,\r\n\r\n LINK_WECHAT_ASYNC: `${uid}.linkWechatAsync`,\r\n LINK_WECHAT_SUCCESS: `${uid}.linkWechatSuccess`,\r\n LINK_WECHAT_FAILURE: `${uid}.linkWechatFailure`,\r\n\r\n UNLINK_WECHAT_ASYNC: `${uid}.unlinkWechatAsync`,\r\n UNLINK_WECHAT_SUCCESS: `${uid}.unlinkWechatSuccess`,\r\n UNLINK_WECHAT_FAILURE: `${uid}.unlinkWechatFailure`,\r\n\r\n LINK_FACEBOOK_ASYNC: `${uid}.linkFacebookAsync`,\r\n LINK_FACEBOOK_SUCCESS: `${uid}.linkFacebookSuccess`,\r\n LINK_FACEBOOK_FAILURE: `${uid}.linkFacebookFailure`,\r\n\r\n UNLINK_FACEBOOK_ASYNC: `${uid}.unlinkFacebookAsync`,\r\n UNLINK_FACEBOOK_SUCCESS: `${uid}.unlinkFacebookSuccess`,\r\n UNLINK_FACEBOOK_FAILURE: `${uid}.unlinkFacebookFailure`,\r\n\r\n LINK_GOOGLE_ASYNC: `${uid}.linkGoogleAsync`,\r\n LINK_GOOGLE_SUCCESS: `${uid}.linkGoogleSuccess`,\r\n LINK_GOOGLE_FAILURE: `${uid}.linkGoogleFailure`,\r\n\r\n UNLINK_GOOGLE_ASYNC: `${uid}.unlinkGoogleAsync`,\r\n UNLINK_GOOGLE_SUCCESS: `${uid}.unlinkGoogleSuccess`,\r\n UNLINK_GOOGLE_FAILURE: `${uid}.unlinkGoogleFailure`,\r\n\r\n UPDATE_LINK_SETTINGS: `${uid}.updateLinkSettings`,\r\n\r\n CREATE_PLACED_ORDER_ASYNC: `${uid}.createPlacedOrderAsync`,\r\n CREATE_PLACED_ORDER_SUCCESS: `${uid}.createPlacedOrderSuccess`,\r\n CREATE_PLACED_ORDER_FAILURE: `${uid}.createPlacedOrderFailure`,\r\n};\r\n\r\nexport { ActionTypes };\r\n","import React from \"react\";\r\nimport { Platform, StyleSheet } from \"react-native\";\r\n\r\nvar unitStyle = StyleSheet.create({\r\n //最外层的\r\n container: {\r\n flex: 1,\r\n padding: 15,\r\n color: \"#333333\",\r\n backgroundColor: \"#ffffff\",\r\n },\r\n\r\n //全部居中\r\n centerAlign: {\r\n justifyContent: \"center\",\r\n alignItems: \"center\",\r\n },\r\n\r\n //主轴居中\r\n centerMain: {\r\n justifyContent: \"center\",\r\n },\r\n\r\n //侧轴居中\r\n centerCross: {\r\n alignItems: \"center\",\r\n },\r\n\r\n //单个拼音大小\r\n fontSyllable: {\r\n fontSize: 60,\r\n lineHeight: 64,\r\n height: 64,\r\n },\r\n\r\n //单个拼音的喇叭\r\n iconAudioSyllable: {\r\n fontSize: 25,\r\n lineHeight: 29,\r\n height: 29,\r\n color: \"#FFC000\", //\"#33CC66\",\r\n paddingRight: 10,\r\n },\r\n\r\n //词的喇叭大小\r\n iconAudioWord: {\r\n fontSize: 27,\r\n lineHeight: 30,\r\n height: 30,\r\n color: \"#FFC000\", //\"#33CC66\",\r\n paddingRight: 10,\r\n marginTop: Platform.OS === \"ios\" ? -10 : 0,\r\n },\r\n\r\n //句子的喇叭大小\r\n iconAudioSentence: {\r\n fontSize: 27,\r\n lineHeight: 29,\r\n height: 29,\r\n color: \"#FFC000\", //\"#33CC66\",\r\n paddingRight: 10,\r\n },\r\n\r\n //只显示一个喇叭的大小\r\n iconAudioOnly: {\r\n fontSize: 50,\r\n lineHeight: 52,\r\n height: 52,\r\n color: \"#FFC000\", //\"#33CC66\",\r\n paddingRight: 10,\r\n },\r\n\r\n //只有一个词的字体大小\r\n onlyWordFontSize: {\r\n fontSize: 26,\r\n lineHeight: 29,\r\n },\r\n\r\n //录音的mic\r\n iconMic: {\r\n fontSize: 40,\r\n lineHeight: 42,\r\n height: 42,\r\n color: \"#797979\",\r\n },\r\n\r\n //排列\r\n flexDirectionRow: {\r\n flexDirection: \"row\",\r\n },\r\n\r\n //长的按钮选项的外框 D2/i8\r\n chooseView: {\r\n minHeight: 45,\r\n marginHorizontal: 0,\r\n borderRadius: 6,\r\n borderWidth: 1,\r\n borderColor: \"#D1D1D1\",\r\n marginBottom: 20,\r\n fontSize: 17,\r\n paddingLeft: 25,\r\n justifyContent: \"center\",\r\n },\r\n\r\n //中间显示的长的显示框 B4\r\n chooseViewCenter: {\r\n minHeight: 45,\r\n marginHorizontal: 0,\r\n borderRadius: 6,\r\n borderWidth: 1,\r\n borderColor: \"#D1D1D1\",\r\n marginBottom: 20,\r\n fontSize: 17,\r\n justifyContent: \"center\",\r\n },\r\n\r\n //长按钮选中后的外框\r\n chooseViewBorder: {\r\n borderColor: \"#4F8EF7\",\r\n borderWidth: 3,\r\n },\r\n flex1: {\r\n flex: 1,\r\n },\r\n flex2: {\r\n flex: 2,\r\n },\r\n flex3: {\r\n flex: 3,\r\n },\r\n title: {\r\n color: \"#777\",\r\n },\r\n baseTitle: {\r\n marginVertical: 4,\r\n fontSize: 17,\r\n color: \"#777\",\r\n },\r\n pdgb20: {\r\n paddingBottom: 20,\r\n },\r\n\r\n //默认的颜色\r\n itemDefColor: {\r\n color: \"#242424\",\r\n },\r\n\r\n itemSelColor: {\r\n //color: \"#e1e7f5\",\r\n color: \"#E4E4E4\",\r\n },\r\n\r\n //多选小块带拼音的\r\n blockItem: {\r\n minWidth: 40,\r\n minHeight: 36,\r\n marginRight: 20,\r\n marginTop: 10,\r\n marginBottom: 10,\r\n justifyContent: \"center\",\r\n alignItems: \"center\",\r\n borderRadius: 3,\r\n paddingLeft: 3,\r\n paddingRight: 3,\r\n },\r\n\r\n //多选小块不带拼音的\r\n blockItemNoPinyin: {\r\n minWidth: 40,\r\n height: 32,\r\n marginRight: 20,\r\n marginTop: 10,\r\n marginBottom: 10,\r\n justifyContent: \"center\",\r\n alignItems: \"center\",\r\n borderRadius: 3,\r\n paddingLeft: 3,\r\n paddingRight: 3,\r\n },\r\n\r\n //多选答案默认显示的样式\r\n blockAnswer: {\r\n backgroundColor: \"#E4E4E4\",\r\n borderWidth: 1,\r\n borderColor: \"#E4E4E4\",\r\n },\r\n\r\n //多字的样式\r\n blockAnswerInsertion: {\r\n borderWidth: 1,\r\n borderColor: \"#FFB400\",\r\n },\r\n blockAnswerInsertionFont: {\r\n color: \"#FFB400\",\r\n },\r\n\r\n //答案对的样式\r\n blockAnswerRight: {\r\n borderWidth: 2,\r\n borderColor: \"green\",\r\n },\r\n blockAnswerRightFont: {\r\n color: \"green\",\r\n },\r\n\r\n //答案错的样式\r\n blockAnswerWrong: {\r\n borderWidth: 2,\r\n borderColor: \"red\",\r\n },\r\n blockAnswerWrongFont: {\r\n color: \"red\",\r\n },\r\n\r\n //多选选项默认显示的样式\r\n blockSelect: {\r\n backgroundColor: \"#ffffff\",\r\n borderWidth: 1,\r\n borderColor: \"#aeaeae\",\r\n },\r\n\r\n blockSelected: {\r\n backgroundColor: \"#ffffff\",\r\n borderWidth: 1,\r\n borderColor: \"#111\",\r\n },\r\n\r\n blockSelectCurrent: {\r\n backgroundColor: \"#ccffff\",\r\n borderWidth: 1,\r\n borderColor: \"#d6fcfd\",\r\n },\r\n\r\n //其它只设置圆角的\r\n borRadius3: {\r\n borderRadius: 3,\r\n },\r\n\r\n //语音评测按钮样式\r\n soundBtn: {\r\n fontSize: 30,\r\n color: \"#797979\",\r\n paddingHorizontal: 25,\r\n },\r\n\r\n //新模板中新加的样式\r\n //默认的字体颜色,大小,行高\r\n defFont: {\r\n fontSize: 17,\r\n color: \"#242424\",\r\n letterSpacing: 0.1,\r\n lineHeight: 23,\r\n },\r\n\r\n fontSize20: {\r\n fontSize: 20,\r\n lineHeight: 22,\r\n },\r\n fontSize23: {\r\n fontSize: 23,\r\n lineHeight: 26,\r\n },\r\n fontSize32: {\r\n fontSize: 32,\r\n lineHeight: 36,\r\n },\r\n\r\n //Translation的大小\r\n //poab1 psab4\r\n defTranslationFont: {\r\n fontSize: 13,\r\n color: \"#242424\",\r\n letterSpacing: 0.1,\r\n lineHeight: 26,\r\n },\r\n\r\n defFontPoea7: {\r\n fontSize: 17,\r\n color: \"#242424\",\r\n letterSpacing: 0.1,\r\n lineHeight: 18,\r\n },\r\n\r\n defTranslationFontPoea7: {\r\n fontSize: 13,\r\n color: \"#242424\",\r\n letterSpacing: 0.1,\r\n lineHeight: 14,\r\n },\r\n\r\n defBtnFontSize: {\r\n fontSize: 17,\r\n },\r\n\r\n marginBottom20: {\r\n marginBottom: 20,\r\n },\r\n\r\n marginBottom30: {\r\n marginBottom: 30,\r\n },\r\n\r\n marginVertical20: {\r\n marginVertical: 20,\r\n },\r\n\r\n //父类子类的分隔线\r\n dividingLine: {\r\n height: 1,\r\n backgroundColor: \"#B1B1B1\",\r\n marginVertical: 6,\r\n },\r\n\r\n //父类中喇叭的大小,间距,颜色\r\n //包含喇叭的view间距\r\n fatherUnitAudioView: {\r\n marginVertical: 20,\r\n },\r\n\r\n //喇叭的大小,颜色\r\n fatherUnitAudio: {\r\n fontSize: 60,\r\n color: \"#FFB400\",\r\n },\r\n\r\n //限制上面部分的高度\r\n topHeight: {\r\n maxHeight: 150,\r\n },\r\n\r\n //一张图\r\n onlyImageSize: {\r\n width: 180,\r\n height: 120,\r\n },\r\n\r\n //多张图\r\n imagesSize: {\r\n width: 80,\r\n height: 80,\r\n },\r\n\r\n //对话\r\n Avatar: {\r\n color: \"#333\",\r\n width: 36,\r\n height: 36,\r\n borderRadius: 36,\r\n backgroundColor: \"#f2f2f2\",\r\n alignItems: \"center\",\r\n justifyContent: \"center\",\r\n },\r\n ContainerStyle: {\r\n paddingLeft: 10,\r\n paddingRight: 10,\r\n paddingTop: 2,\r\n paddingBottom: 2,\r\n borderRadius: 5,\r\n //minWidth: 100,\r\n maxWidth: 240,\r\n overflow: \"hidden\",\r\n },\r\n LeftConversation: {\r\n backgroundColor: \"#f2f2f2\",\r\n alignSelf: \"flex-start\",\r\n },\r\n CenterConversation: {\r\n backgroundColor: \"#f2f2f2\",\r\n alignSelf: \"center\",\r\n },\r\n RightConversation: {\r\n backgroundColor: \"#f2f2f2\",\r\n alignSelf: \"flex-end\",\r\n },\r\n\r\n singleUnit: {},\r\n\r\n overlay: {\r\n position: \"absolute\",\r\n top: 0,\r\n bottom: 0,\r\n width: \"100%\",\r\n zIndex: 999,\r\n },\r\n speechBoxContainer: {\r\n position: \"absolute\",\r\n bottom: 0,\r\n width: \"100%\",\r\n alignItems: \"center\",\r\n justifyContent: \"center\",\r\n },\r\n flexRowWrap: {\r\n flexDirection: \"row\",\r\n flexWrap: \"wrap\",\r\n },\r\n choiceWord: {\r\n paddingHorizontal: 1,\r\n paddingVertical: 0,\r\n },\r\n\r\n //继续和提交按钮样式\r\n btnSubmit: {\r\n alignItems: \"center\",\r\n justifyContent: \"center\",\r\n backgroundColor: \"#1E90FF\",\r\n width: \"90%\",\r\n height: 40,\r\n borderRadius: 30,\r\n },\r\n\r\n btnSubmitAutoWidth: {\r\n alignItems: \"center\",\r\n justifyContent: \"center\",\r\n backgroundColor: \"#1E90FF\",\r\n height: 40,\r\n borderRadius: 30,\r\n paddingLeft:10,\r\n paddingRight:10,\r\n },\r\n\r\n btnSubmitDisabled: {\r\n alignItems: \"center\",\r\n justifyContent: \"center\",\r\n backgroundColor: \"#999999\",\r\n width: \"90%\",\r\n height: 40,\r\n borderRadius: 30,\r\n },\r\n});\r\n\r\nexport default unitStyle;\r\n","/*\r\n * App Theme - Colors\r\n *\r\n * React Native Starter App\r\n * https://github.com/mcnamee/react-native-starter-app\r\n */\r\n\r\nimport UserStyle from \"./userStyle\";\r\nimport color from \"color\";\r\nimport Constants from \"../config/Constants\";\r\n\r\nexport default {\r\n background: \"#f4f4f4\",\r\n cardBackground: \"#FFFFFF\",\r\n listItemBackground: \"#FFFFFF\",\r\n brand: {\r\n get primary() {\r\n return UserStyle.primary;\r\n },\r\n\r\n get secondary() {\r\n return UserStyle.secondary;\r\n },\r\n get primaryLight() {\r\n return color(UserStyle.primary).lighten(0.2).hex();\r\n },\r\n get secondaryLight() {\r\n return color(UserStyle.secondary).lighten(0.2).hex();\r\n },\r\n\r\n info: \"#19589b\",\r\n success: \"#5cb85c\",\r\n danger: \"#d9534f\",\r\n warning: \"#eea236\",\r\n note: \"#f5c24f\",\r\n\r\n // web colors\r\n webBlue:\"rgb(97, 169, 220)\",\r\n get webBlueLight(){\r\n return color(this.webBlue).lighten(0.5).hex();\r\n },\r\n\r\n webWin:\"rgb(76, 173, 76)\",\r\n get webWinLight(){\r\n return color(this.webWin).lighten(0.5).hex();\r\n },\r\n\r\n webLoss:\"rgb(217, 83, 79)\",\r\n get webLossLight(){\r\n return color(this.webLoss).lighten(0.5).hex();\r\n },\r\n\r\n webTies:\"rgb(150, 150, 150)\",\r\n get webTiesLight(){\r\n return color(this.webTies).lighten(0.5).hex();\r\n },\r\n\r\n webWarning:\"rgb(238, 162, 54)\",\r\n get webWarningLight(){\r\n return color(this.webWaitList).lighten(0.5).hex();\r\n },\r\n },\r\n textPrimary: \"#222222\",\r\n textSecondary: \"#777777\",\r\n headingPrimary: Constants.PRIMARY_COLOR,\r\n headingSecondary: Constants.SECONDARY_COLOR,\r\n\r\n textGrey: \"#EAEAEA\",\r\n textGreyDark: \"#cccccc\",\r\n\r\n textWhite: \"#ffffff\",\r\n textWhite75: \"rgba(255,255,255,.75)\",\r\n textWhite54: \"rgba(255,255,255,.54)\",\r\n border: \"#D0D1D5\",\r\n\r\n noticeBg: \"#FFF5E4\",\r\n noticeBorder: \"#FFECCB\",\r\n\r\n badgeInfo: \"#3F57D3\",\r\n badgeWarning: \"#f0ad4e\", \r\n\r\n bgGreyDark: \"#4A4A4A\",\r\n bgGreyLight: \"#fafafa\",\r\n\r\n facebook: \"#185AA4\",\r\n twitter: \"#13CCF8\",\r\n\r\n tabbar: {\r\n background: \"#ffffff\",\r\n iconDefault: \"#BABDC2\",\r\n iconSelected: Constants.PRIMARY_COLOR,\r\n }\r\n};\r\n","import Constants from \"../config/Constants\";\r\n\r\nclass userStyle {\r\n internalColorObj = {\r\n primaryColor: Constants.PRIMARY_COLOR,\r\n secondaryColor: Constants.SECONDARY_COLOR\r\n };\r\n\r\n constructor() {\r\n }\r\n\r\n get primary() {\r\n return this.internalColorObj.primaryColor;\r\n }\r\n\r\n set primary(newColor) {\r\n this.internalColorObj.primaryColor = newColor;\r\n }\r\n\r\n get secondary() {\r\n return this.internalColorObj.secondaryColor;\r\n }\r\n\r\n set secondary(newColor) {\r\n this.internalColorObj.secondaryColor = newColor;\r\n }\r\n}\r\n\r\nconst UserStyle = new userStyle();\r\n\r\nexport default UserStyle;\r\n","import { registerAnimation } from 'react-native-animatable';\r\n\r\nregisterAnimation('none', {});\r\nexport default {};\r\n","var EventEmitter = function() {\r\n this._events = new Map();\r\n this._emitting = new Map();\r\n}\r\n\r\nEventEmitter.prototype.on =\r\nEventEmitter.prototype.addListener = function(event, listener) {\r\n var item = this._events.get(event);\r\n if (item) {\r\n item.push(listener);\r\n }\r\n else {\r\n this._events.set(event, [listener]);\r\n }\r\n};\r\n\r\nEventEmitter.prototype.off =\r\nEventEmitter.prototype.removeListener = function(event, listener) {\r\n var item = this._events.get(event);\r\n if (item) {\r\n var length = item.length;\r\n var found = false;\r\n for (var i = length - 1; i >= 0; i--) {\r\n if (item[i] === listener) {\r\n found = true;\r\n if (this._emitting.get(event)) {\r\n delete item[i];\r\n }\r\n else {\r\n item.splice(i, 1);\r\n }\r\n break;\r\n }\r\n }\r\n\r\n if (0 === item.length) {\r\n this._events.delete(event);\r\n }\r\n\r\n if (!found) {\r\n console.warn(\"no listener found: \" + event);\r\n }\r\n }\r\n else {\r\n console.warn(\"no event found: \" + event);\r\n }\r\n};\r\n\r\nEventEmitter.prototype.removeAllListeners = function(event) {\r\n if (event) {\r\n this._events.delete(event);\r\n }\r\n else {\r\n this._events.clear();\r\n }\r\n};\r\n\r\nEventEmitter.prototype.events = function() {\r\n return this._events.keys();\r\n};\r\n\r\nEventEmitter.prototype.listeners = function(event) {\r\n return this._events.get(event) || [];\r\n};\r\n\r\nEventEmitter.prototype.hasListeners = function(event) {\r\n return !! this.listeners(event).length;\r\n};\r\n\r\nEventEmitter.prototype.emit = function(event) {\r\n var args = [].slice.call(arguments, 1);\r\n var item = this._events.get(event);\r\n if (item) {\r\n var length = item.length;\r\n var hasnull = false;\r\n this._emitting.set(event, true);\r\n for (var i = 0; i < length; ++i) {\r\n if (item[i]) {\r\n item[i].apply(this, args);\r\n }\r\n else {\r\n hasnull = true;\r\n }\r\n }\r\n this._emitting.delete(event);\r\n if (hasnull) {\r\n item = item.filter(h => h);\r\n if (0 === item.length) {\r\n this._events.delete(event);\r\n }\r\n else {\r\n this._events.set(event, item);\r\n }\r\n }\r\n }\r\n};\r\n\r\nexport default EventEmitter;\r\n","/**\r\n * Created by tomnotcat on 2022/12/05.\r\n */\r\nimport AppConfig from \"../config/AppConfig\";\r\nimport ApiService from \"../services/ApiService\";\r\nimport DebugLogger from \"./DebugLogger\";\r\nimport EventEmitter from \"./EventEmitter\";\r\nimport StorageEngine from \"./StorageEngine\";\r\nimport RegionServerTester from \"./RegionServerTester\";\r\nimport * as Helper from \"./Helper\";\r\nimport _ from \"lodash\";\r\n\r\nconst REGION_SERVER_STORAGE_KEY = \"REGION_SERVER_STORAGE_KEY\";\r\n\r\nclass RegionServerManager {\r\n constructor() {\r\n this._events = new EventEmitter();\r\n this._disabled = false;\r\n this._servers = [];\r\n this._selectedId = null;\r\n this._autoSelect = true;\r\n this._byCountry = true;\r\n this._tester = new RegionServerTester();\r\n this._testResolves = [];\r\n this._onTestFinished = this._onTestFinished.bind(this);\r\n this._tester.events.addListener('finished', this._onTestFinished);\r\n this._loadPromise = null;\r\n }\r\n\r\n get events() {\r\n return this._events;\r\n }\r\n\r\n get servers() {\r\n return this._servers;\r\n }\r\n\r\n get selectedId() {\r\n return this._selectedId;\r\n }\r\n\r\n get autoSelect() {\r\n return this._autoSelect;\r\n }\r\n\r\n isEnabled() {\r\n const prefix = window.location.host.split('.')[0];\r\n if (prefix === 'www' || prefix === 'qa') {\r\n return true;\r\n }\r\n return false;\r\n }\r\n\r\n setDisabled(disabled) {\r\n this._disabled = disabled;\r\n if (!this._disabled) {\r\n let server = this._servers.find(it => it.id === this._selectedId);\r\n if (server) {\r\n this._setAppConfigServer(server);\r\n }\r\n }\r\n }\r\n\r\n getSelectedServer() {\r\n return this._servers.find(it => it.id === this._selectedId);\r\n }\r\n\r\n loadLocalStore() {\r\n if (this._loadPromise) {\r\n return this._loadPromise;\r\n }\r\n\r\n this._loadPromise = new Promise((resolve, reject) => {\r\n let loadStoreEnd = () => {\r\n if ((this._servers.length === 0) && AppConfig.LOCAL_REGION_SERVERS &&\r\n (AppConfig.LOCAL_REGION_SERVERS.length > 0))\r\n {\r\n this._servers = _.clone(AppConfig.LOCAL_REGION_SERVERS);\r\n\r\n let server = this._servers.find(it => it.id === this._selectedId);\r\n if (server) {\r\n this._setAppConfigServer(server);\r\n }\r\n else {\r\n this._selectedId = null;\r\n }\r\n\r\n if (this._selectedId === null) {\r\n this._autoSelect = true;\r\n }\r\n\r\n this._events.emit(\"changed\", {servers: this._servers,\r\n selectedId: this._selectedId,\r\n autoSelect: this._autoSelect});\r\n }\r\n\r\n if ((this._selectedId === null) && (this._autoSelect) && (this._servers.length > 0)) {\r\n this.startTestAsync().then(resolve);\r\n }\r\n else {\r\n resolve();\r\n }\r\n }\r\n\r\n StorageEngine(REGION_SERVER_STORAGE_KEY)\r\n .load()\r\n .then(response => {\r\n if (response) {\r\n if (this._servers.length === 0) {\r\n this._servers = _.isArray(response.servers) ? response.servers : [];\r\n }\r\n\r\n let server = this._servers.find(it => it.id === response.selectedId);\r\n if (server) {\r\n this._selectedId = response.selectedId;\r\n this._setAppConfigServer(server);\r\n }\r\n else {\r\n this._selectedId = null;\r\n }\r\n\r\n this._autoSelect = !!response.autoSelect;\r\n if (this._selectedId === null) {\r\n this._autoSelect = true;\r\n }\r\n\r\n this._events.emit(\"changed\", {servers: this._servers,\r\n selectedId: this._selectedId,\r\n autoSelect: this._autoSelect});\r\n }\r\n\r\n loadStoreEnd();\r\n })\r\n .catch(response => {\r\n DebugLogger.log(response);\r\n loadStoreEnd();\r\n });\r\n });\r\n\r\n return this._loadPromise;\r\n }\r\n\r\n clearLocalStore() {\r\n StorageEngine(REGION_SERVER_STORAGE_KEY).delete();\r\n }\r\n\r\n setServers(servers) {\r\n this._servers = _.clone(servers);\r\n if (this._selectedId !== null) {\r\n if (!this._servers.find(it => it.id === this._selectedId)) {\r\n this._selectedId = null;\r\n }\r\n }\r\n\r\n this._events.emit(\"changed\", {servers: this._servers, selectedId: this._selectedId});\r\n this._saveToLocalStoreLater();\r\n this.stopTest();\r\n if (this._autoSelect && (this._servers.length > 0)) {\r\n this._startTestLater();\r\n }\r\n else if (this._selectedId !== null) {\r\n let server = this._servers.find(it => it.id === this._selectedId);\r\n if (server) {\r\n this._setAppConfigServer(server);\r\n }\r\n }\r\n }\r\n\r\n setSelectedId(id) {\r\n let server = this._servers.find(it => it.id === id);\r\n if (!server) {\r\n DebugLogger.log('invalid region server id: ' + id);\r\n return;\r\n }\r\n\r\n if (this._selectedId !== id) {\r\n this.stopTest();\r\n this._selectedId = id;\r\n this._events.emit(\"changed\", {selectedId: this._selectedId});\r\n this._saveToLocalStoreLater();\r\n this._setAppConfigServer(server);\r\n } else {\r\n //still apply this since app load will override some default config, we need reapply\r\n this._setAppConfigServer(server);\r\n }\r\n }\r\n\r\n setAutoSelect(auto) {\r\n this._autoSelect = auto;\r\n this._events.emit(\"changed\", {autoSelect: this._autoSelect});\r\n this._saveToLocalStoreLater();\r\n if (this._autoSelect) {\r\n this._startTestLater();\r\n }\r\n else {\r\n this.stopTest();\r\n }\r\n }\r\n\r\n selectByCountry() {\r\n const country = AppConfig.LOCATION_COUNTRY || \"CN\";\r\n for (let i = 0; i < this._servers.length; ++i) {\r\n const it = this._servers[i];\r\n if (it.region.toLowerCase() === country.toLowerCase()) {\r\n this._onTestFinished(it.id);\r\n break;\r\n }\r\n }\r\n }\r\n\r\n startTest() {\r\n if (this._pendingTest !== undefined) {\r\n clearTimeout(this._pendingTest);\r\n this._pendingTest = undefined;\r\n }\r\n\r\n if (this._byCountry) {\r\n this.selectByCountry();\r\n return;\r\n }\r\n\r\n this._tester.start(this._servers, 3);\r\n }\r\n\r\n startTestAsync() {\r\n if (this._pendingTest !== undefined) {\r\n clearTimeout(this._pendingTest);\r\n this._pendingTest = undefined;\r\n }\r\n\r\n return new Promise((resolve, reject) => {\r\n this._testResolves.push(resolve);\r\n if (this._byCountry) {\r\n this.selectByCountry();\r\n return;\r\n }\r\n this._tester.start(this._servers, 3);\r\n });\r\n }\r\n\r\n stopTest() {\r\n this._tester.stop();\r\n if (this._pendingTest !== undefined) {\r\n clearTimeout(this._pendingTest);\r\n this._pendingTest = undefined;\r\n }\r\n this._resolveTests(null);\r\n }\r\n\r\n _setAppConfigServer(server) {\r\n if (!this.isEnabled()) {\r\n return;\r\n }\r\n\r\n if (this._disabled) {\r\n return;\r\n }\r\n\r\n if (!Helper.isNullOrEmpty(server.apiEndPoint)) {\r\n AppConfig.APP_SERVICE_BASE = server.apiEndPoint;\r\n\r\n ApiService.setBaseURL(AppConfig.APP_SERVICE_BASE);\r\n }\r\n\r\n if (!Helper.isNullOrEmpty(server.fileServerEndPoint)) {\r\n AppConfig.FILE_SERVER = server.fileServerEndPoint;\r\n }\r\n\r\n if (!Helper.isNullOrEmpty(server.proxyEndPoint)) {\r\n AppConfig.PROXY_SERVICE_BASE = server.proxyEndPoint;\r\n }\r\n\r\n if (!Helper.isNullOrEmpty(server.nodeServerEndPoint)) {\r\n AppConfig.NODE_SERVICE_BASE = server.nodeServerEndPoint;\r\n }\r\n\r\n if (!Helper.isNullOrUndefined(server.speechRecognizeServiceType) && server.speechRecognizeServiceType !== -1) {\r\n AppConfig.SPEECH_RECOGNIZE_SERVICE_TYPE = server.speechRecognizeServiceType;\r\n }\r\n\r\n if (!Helper.isNullOrUndefined(server.speechReviewServiceType) && server.speechReviewServiceType !== -1) {\r\n AppConfig.SPEECH_RECOGNIZE_SERVICE_REVIEW_TYPE = server.speechReviewServiceType;\r\n }\r\n\r\n if (!Helper.isNullOrUndefined(server.speechRecognizeUseProxyServer) && server.speechRecognizeUseProxyServer !== -1) {\r\n AppConfig.SPEECH_RECOGNIZE_USE_PROXY_SERVER = server.speechRecognizeUseProxyServer;\r\n }\r\n }\r\n\r\n _saveToLocalStoreLater() {\r\n if (this._pendingSave !== undefined) {\r\n return;\r\n }\r\n\r\n this._pendingSave = setTimeout(() => {\r\n this._pendingSave = undefined;\r\n StorageEngine(REGION_SERVER_STORAGE_KEY).save({\r\n servers: this._servers,\r\n selectedId: this._selectedId,\r\n autoSelect: this._autoSelect,\r\n });\r\n }, 500);\r\n }\r\n\r\n _startTestLater() {\r\n if (this._pendingTest !== undefined) {\r\n return;\r\n }\r\n\r\n this._pendingTest = setTimeout(() => {\r\n this._pendingTest = undefined;\r\n this.startTest();\r\n }, 500);\r\n }\r\n\r\n _resolveTests(result) {\r\n if (this._testResolves.length > 0) {\r\n let resolves = this._testResolves;\r\n this._testResolves = [];\r\n for (let i = 0; i < resolves.length; ++i) {\r\n resolves[i](result);\r\n }\r\n }\r\n }\r\n\r\n _onTestFinished(bestId) {\r\n if (this._autoSelect) {\r\n this.setSelectedId(bestId);\r\n }\r\n\r\n this._resolveTests(bestId);\r\n }\r\n}\r\n\r\nvar g_regionServerServer = null;\r\n\r\nRegionServerManager.instance = function() {\r\n if (!g_regionServerServer) {\r\n g_regionServerServer = new RegionServerManager();\r\n }\r\n return g_regionServerServer;\r\n}\r\n\r\nexport default RegionServerManager;\r\n","/**\r\n * Created by tomnotcat on 2022/12/06.\r\n */\r\nimport AppConfig from \"../config/AppConfig\";\r\nimport DebugLogger from \"./DebugLogger\";\r\nimport EventEmitter from \"./EventEmitter\";\r\nimport _ from \"lodash\";\r\nconst base64 = require(\"base-64\");\r\n\r\nclass TestResult {\r\n constructor(rtt) {\r\n this.rtt = rtt;\r\n }\r\n}\r\n\r\nclass TestTask {\r\n constructor(host, item) {\r\n this.host = host;\r\n this.item = item;\r\n }\r\n\r\n _onResult(rtt) {\r\n if (this.host) {\r\n let r = new TestResult(rtt);\r\n this.host._onTestResult(this, r);\r\n this.host = null;\r\n }\r\n\r\n if (this._timer) {\r\n clearTimeout(this._timer);\r\n this._timer = undefined;\r\n }\r\n }\r\n\r\n start() {\r\n const hash = base64.encode(AppConfig.APP_CLIENT_ID + \":\" + AppConfig.APP_CLIENT_SECRET);\r\n const basicAuth = \"Basic \" + hash;\r\n const url = this.item.apiEndPoint + '/app/ping';\r\n this._begin = Date.now();\r\n fetch(url, {\r\n method: \"POST\",\r\n headers: {\r\n \"Cache-Control\": \"no-cache\",\r\n \"Authorization\": basicAuth,\r\n },\r\n }).then((response) => response.json())\r\n .then((responseData) => {\r\n if (responseData.isDone) {\r\n this._onResult(Date.now() - this._begin);\r\n }\r\n else {\r\n console.warn('ping error: ', responseData);\r\n this._onResult(-1);\r\n }\r\n })\r\n .catch((err) => {\r\n this._onResult(-1);\r\n });\r\n\r\n this._timer = setTimeout(() => {\r\n this._onResult(-1);\r\n }, 10000);\r\n }\r\n}\r\n\r\nclass RegionServerTester {\r\n constructor() {\r\n this._events = new EventEmitter();\r\n this._servers = [];\r\n this._results = new Map();\r\n this._pendings = [];\r\n this._waitings = [];\r\n this._concurrent = 10;\r\n this._maxRound = 0;\r\n this._curRound = 0;\r\n this._roundDelay = 0;\r\n this._started = false;\r\n }\r\n\r\n get events() {\r\n return this._events;\r\n }\r\n\r\n start(servers, maxRound, roundDelay) {\r\n this._stopTest();\r\n this._results.clear();\r\n this._servers = _.clone(servers);\r\n this._maxRound = maxRound || 0;\r\n this._curRound = 0;\r\n this._roundDelay = roundDelay || 0;\r\n this._startTest();\r\n }\r\n\r\n stop() {\r\n this._stopTest();\r\n }\r\n\r\n getBestId() {\r\n let bestId = null;\r\n let bestScore = 0;\r\n let maxRttTime = this._getMaxRttTime();\r\n this._results.forEach((val, key) => {\r\n let score = this._getScore(val, maxRttTime);\r\n if (score > 0) {\r\n if ((bestId === null) || (score > bestScore)) {\r\n bestId = key;\r\n bestScore = score;\r\n }\r\n }\r\n });\r\n return bestId;\r\n }\r\n\r\n getScore(serverId) {\r\n return this._getScore(this._results.get(serverId), this._getMaxRttTime());\r\n }\r\n\r\n _getMaxRttTime() {\r\n let maxRttTime = 1000;\r\n this._results.forEach((val, key) => {\r\n for (let i = 0; i < val.length; ++i) {\r\n if (val[i].rtt > maxRttTime) {\r\n maxRttTime = val[i].rtt;\r\n }\r\n }\r\n });\r\n return maxRttTime;\r\n }\r\n\r\n _getScore(results, maxRttTime) {\r\n if (!results) {\r\n return -1;\r\n }\r\n\r\n if (results.length < 1) {\r\n return -1;\r\n }\r\n\r\n let totalTime = 0;\r\n let totalCount = 0;\r\n let timeoutCount = 0;\r\n for (let i = 0; i < results.length; ++i) {\r\n if (results[i].rtt >= 0) {\r\n totalTime += results[i].rtt;\r\n totalCount += 1;\r\n }\r\n else {\r\n timeoutCount += 1;\r\n }\r\n }\r\n\r\n if (totalCount < 1) {\r\n return 0;\r\n }\r\n\r\n let baseScore = parseInt(totalCount * 70 / results.length);\r\n let timeScore = maxRttTime - totalTime / totalCount;\r\n if (timeScore < 0) {\r\n timeScore = 0;\r\n }\r\n\r\n timeScore = parseInt(timeScore * 30 / maxRttTime);\r\n return baseScore + timeScore;\r\n }\r\n\r\n _startTest() {\r\n if (this._started) {\r\n return;\r\n }\r\n\r\n this._started = true;\r\n while (this._nextPing());\r\n }\r\n\r\n _stopTest() {\r\n this._pendings = [];\r\n this._waitings = [];\r\n this._started = false;\r\n this._nextRoundTime = undefined;\r\n if (this._nextRoundTimer) {\r\n clearInterval(this._nextRoundTimer);\r\n this._nextRoundTimer = undefined;\r\n }\r\n }\r\n\r\n _nextPing() {\r\n if (!this._started) {\r\n return false;\r\n }\r\n\r\n if (this._pendings.length >= this._concurrent) {\r\n return false;\r\n }\r\n\r\n if (this._waitings.length === 0) {\r\n if ((this._roundDelay > 0) && (this._curRound > 0) && (!this._nextRoundTime)) {\r\n this._nextRoundTime = Date.now() + this._roundDelay;\r\n if (!this._nextRoundTimer) {\r\n this._nextRoundTimer = setInterval(() => {\r\n if (Date.now() >= this._nextRoundTime) {\r\n this._nextPing();\r\n }\r\n }, 200);\r\n }\r\n }\r\n\r\n if (this._nextRoundTime) {\r\n if (Date.now() < this._nextRoundTime) {\r\n return false;\r\n }\r\n\r\n this._nextRoundTime = undefined;\r\n if (this._nextRoundTimer) {\r\n clearInterval(this._nextRoundTimer);\r\n this._nextRoundTimer = undefined;\r\n }\r\n }\r\n\r\n if ((this._curRound < this._maxRound) || (this._maxRound <= 0)) {\r\n this._curRound += 1;\r\n this._waitings = _.clone(this._servers);\r\n }\r\n }\r\n\r\n if (this._waitings.length === 0) {\r\n return false;\r\n }\r\n\r\n var item = this._waitings.shift();\r\n var task = new TestTask(this, item);\r\n this._pendings.push(task);\r\n task.start();\r\n return true;\r\n }\r\n\r\n _onTestResult(task, result) {\r\n let idx = this._pendings.indexOf(task);\r\n if (idx >= 0) {\r\n this._pendings.splice(idx, 1);\r\n let rr = this._results.get(task.item.id);\r\n if (rr) {\r\n rr.push(result);\r\n if (rr.length > 20) {\r\n rr.shift();\r\n }\r\n }\r\n else {\r\n rr = [result];\r\n this._results.set(task.item.id, rr);\r\n }\r\n\r\n if (this._maxRound > 0) {\r\n if (rr.length >= this._maxRound) {\r\n let hasTimeout = false;\r\n for (let i = 0; i < rr.length; ++i) {\r\n if (rr[i].rtt < 0) {\r\n hasTimeout = true;\r\n break;\r\n }\r\n }\r\n\r\n if (!hasTimeout) {\r\n this._stopTest();\r\n this._events.emit(\"finished\", task.item.id);\r\n return;\r\n }\r\n }\r\n }\r\n\r\n while (this._nextPing());\r\n if (this._pendings.length > 0 || (this._nextRoundTime !== undefined)) {\r\n this._events.emit(\"ping\", task.item.id, result);\r\n }\r\n else {\r\n let bestId = this.getBestId();\r\n this._stopTest();\r\n this._events.emit(\"finished\", bestId);\r\n }\r\n }\r\n }\r\n}\r\n\r\nexport default RegionServerTester;\r\n","import ZStorageEngine from \"../../utils/StorageEngine\";\r\n\r\nconst StorageEngine = key => ({\r\n load() {\r\n return new Promise((reslove, reject) => {\r\n reslove(ZStorageEngine(key).load());\r\n });\r\n },\r\n save(state) {\r\n return new Promise((reslove, reject) => {\r\n reslove(ZStorageEngine(key).save(state));\r\n });\r\n },\r\n delete() {\r\n return new Promise((reslove, reject) => {\r\n reslove(ZStorageEngine(key).delete());\r\n });\r\n },\r\n loadReply() {\r\n return ZStorageEngine(key).load();\r\n },\r\n saveReply(state) {\r\n ZStorageEngine(key).save(state);\r\n },\r\n deleteReply() {\r\n ZStorageEngine(key).delete();\r\n },\r\n});\r\nexport default StorageEngine;\r\n","const NavigateActionTypes = {\r\n BACK: \"back\",\r\n // PUSH: 'push',\r\n // POP: 'pop',\r\n // GO: 'go',\r\n // RESET: \"reset\",\r\n};\r\n\r\nexport default NavigateActionTypes;","import _ from \"lodash\";\r\nimport Routes from \"./Routes\";\r\nimport NavigateActionTypes from \"./NavigateActionTypes\";\r\nimport Constants from \"../config/Constants\";\r\n\r\nclass NavigationService {\r\n constructor() {\r\n this._routes = Routes;\r\n\r\n // build a dictionary for fast processing\r\n this._layoutRoutesDict = {};\r\n this._routesDict = {};\r\n this._routesDictByUID = {};\r\n for (let i = 0; i < this._routes.length; i++) {\r\n let layout = this._routes[i].layout;\r\n if (!this._layoutRoutesDict[layout]) {\r\n this._layoutRoutesDict[layout] = [];\r\n }\r\n\r\n this._routesDict[layout + this._routes[i].path] = this._routes[i];\r\n this._routesDictByUID[this._routes[i].uid] = this._routes[i];\r\n this._layoutRoutesDict[layout].push(this._routes[i]);\r\n }\r\n }\r\n\r\n // fullpath = (layout + path) in the route object\r\n getRoute(fullpath) {\r\n return this._routesDict[fullpath];\r\n }\r\n\r\n getRouteByUID(uid) {\r\n return this._routesDictByUID[uid];\r\n }\r\n\r\n getRoutesByUID(uid) {\r\n var route = this._routesDictByUID[uid];\r\n return this.getRoutes(route.path);\r\n }\r\n\r\n getRoutes(layout) {\r\n var layoutRoutes = this._routes;\r\n if (layout) {\r\n layoutRoutes = this._layoutRoutesDict[layout] ? this._layoutRoutesDict[layout] : [];\r\n }\r\n\r\n return layoutRoutes;\r\n }\r\n\r\n // getRoutes(layout) {\r\n // var layoutRoutes = this._routes;\r\n // if (layout) {\r\n // layoutRoutes = this._routesDict[layout] ? this._routesDict[layout] : [];\r\n // }\r\n\r\n // return layoutRoutes.map((prop, key) => {\r\n // return (\r\n // \r\n // );\r\n // });\r\n // }\r\n\r\n // TODO: need to consider params\r\n // We will probably append params to the url\r\n navigateToPage(fromScreen, targetRouteName, params) {\r\n if (_.startsWith(targetRouteName, `${Constants.MOBILE_UID_PREFIX}.`)) {\r\n this.navigateToPageByUID(fromScreen, targetRouteName, params);\r\n } else {\r\n let history = fromScreen.props.history;\r\n if (!history) {\r\n history = fromScreen.props.navigationHistory;\r\n }\r\n history.push({\r\n pathname: targetRouteName,\r\n search: \"\",\r\n state: params,\r\n });\r\n }\r\n }\r\n\r\n navigateToPageByUID(fromScreen, targetUID, params) {\r\n var route = this.getRouteByUID(targetUID);\r\n var targetRouteName = route.layout + route.path;\r\n this.navigateToPage(fromScreen, targetRouteName, params);\r\n }\r\n\r\n navigateByAction(fromScreen, actionType, targetRouteName, params) {\r\n switch (actionType) {\r\n case NavigateActionTypes.BACK:\r\n fromScreen.props.history.goBack();\r\n break;\r\n // case NavigateActionTypes.RESET: {\r\n\r\n // break;\r\n // }\r\n default:\r\n // do nothing\r\n break;\r\n }\r\n }\r\n\r\n getNavParams(props) {\r\n var state,\r\n params,\r\n search = {};\r\n\r\n if (!_.isUndefined(props) && _.has(props, \"location\")) {\r\n if (props.location.state) state = props.location.state;\r\n if (props.location.search) {\r\n const searchParams = new URLSearchParams(props.location.search.substring(1));\r\n for (let [k, v] of searchParams.entries()) {\r\n search[k] = v;\r\n }\r\n }\r\n }\r\n\r\n if (!_.isUndefined(props) && _.has(props, \"match\")) {\r\n if (props.match.params) params = props.match.params;\r\n }\r\n\r\n return { ...state, ...params, ...search };\r\n }\r\n\r\n getPathNameByUID(targetUID) {\r\n var route = this.getRouteByUID(targetUID);\r\n var targetRouteName = route.layout + route.path;\r\n return targetRouteName;\r\n }\r\n}\r\n\r\nexport default new NavigationService();\r\nexport { NavigationService as NavigationServiceClass };\r\n","import React from \"react\";\r\n\r\nimport UIDs from \"../UIDs\";\r\nimport MobileUIDs from \"../mobile/UIDs\";\r\n\r\n//\r\n// register all screens based on layout and path\r\n//\r\n\r\n// account layout\r\n// const TeacherLoginScreen = React.lazy(() => import(\"../screens/account/TeacherLoginScreen\"));\r\n// const LoginScreen = React.lazy(() => import(\"../screens/account/LoginScreen\"));\r\n// const UserLoginScreen = React.lazy(() => import(\"../screens/account/UserLoginScreen\"));\r\n// const UserRegisterScreen = React.lazy(() => import(\"../screens/account/UserRegisterScreen\"));\r\n// const ForgotPasswordScreen = React.lazy(() => import(\"../screens/account/ForgotPasswordScreen\"));\r\n// const ChangePasswordScreen = React.lazy(() => import(\"../screens/account/ChangePasswordScreen\"));\r\n// const RegisterScreen = React.lazy(() => import(\"../screens/account/RegisterScreen\"));\r\n// const RegisterPartnerScreen = React.lazy(() => import(\"../screens/account/RegisterPartnerScreen\"));\r\n// const ActiveTeacherScreen = React.lazy(() => import(\"../screens/account/ActiveTeacherScreen\"));\r\n\r\n// // admin layout\r\n// const DashboardScreen = React.lazy(() => import(\"../screens/admin/DashboardScreen\"));\r\n// //const ExampleScreen = React.lazy(() => import(\"../screens/admin/ExampleScreen\"));\r\n// //const IconsScreen = React.lazy(() => import(\"../screens/admin/IconsScreen\"));\r\n// //const MapsScreen = React.lazy(() => import(\"../screens/admin/MapsScreen\"));\r\n// const ProfileScreen = React.lazy(() => import(\"../screens/admin/ProfileScreen\"));\r\n// //const TablesScreen = React.lazy(() => import(\"../screens/admin/TablesScreen\"));\r\n// const ManageUserScreen = React.lazy(() => import(\"../screens/admin/user/ManageUserScreen\"));\r\n// const ManageTeacherUserScreen = React.lazy(() => import(\"../screens/admin/user/ManageTeacherUserScreen\"));\r\n// const ManageAgentUserScreen = React.lazy(() => import(\"../screens/admin/user/ManageAgentUserScreen\"));\r\n// const ManageOtherUserScreen = React.lazy(() => import(\"../screens/admin/user/ManageOtherUserScreen\"));\r\n// const ProductListScreen = React.lazy(() => import(\"../screens/admin/product/ListScreen\"));\r\n// const ProductDetailsScreen = React.lazy(() => import(\"../screens/admin/product/DetailsScreen\"));\r\n// const ProductAddScreen = React.lazy(() => import(\"../screens/admin/product/AddScreen\"));\r\n// const ProductEditScreen = React.lazy(() => import(\"../screens/admin/product/EditScreen\"));\r\n// const CourseListScreen = React.lazy(() => import(\"../screens/admin/course/ListScreen\"));\r\n// const CourseDetailsScreen = React.lazy(() => import(\"../screens/admin/course/DetailsScreen\"));\r\n// const CourseEditScreen = React.lazy(() => import(\"../screens/admin/course/EditScreen\"));\r\n// const CourseAddScreen = React.lazy(() => import(\"../screens/admin/course/AddScreen\"));\r\n// const SectionListScreen = React.lazy(() => import(\"../screens/admin/section/ListScreen\"));\r\n// const SectionDetailsScreen = React.lazy(() => import(\"../screens/admin/section/DetailsScreen\"));\r\n// const SectionAddScreen = React.lazy(() => import(\"../screens/admin/section/AddScreen\"));\r\n// const SectionEditScreen = React.lazy(() => import(\"../screens/admin/section/EditScreen\"));\r\n// const ExamListScreen = React.lazy(() => import(\"../screens/admin/exam/ListScreen\"));\r\n// const ExamDetailsScreen = React.lazy(() => import(\"../screens/admin/exam/DetailsScreen\"));\r\n// const ExamAddScreen = React.lazy(() => import(\"../screens/admin/exam/AddScreen\"));\r\n// const ExamEditScreen = React.lazy(() => import(\"../screens/admin/exam/EditScreen\"));\r\n// const UnitTypeListScreen = React.lazy(() => import(\"../screens/admin/unittype/ListScreen\"));\r\n// const UnitTypeDetailsScreen = React.lazy(() => import(\"../screens/admin/unittype/DetailsScreen\"));\r\n// const UnitTypeAddScreen = React.lazy(() => import(\"../screens/admin/unittype/AddScreen\"));\r\n// const UnitTypeEditScreen = React.lazy(() => import(\"../screens/admin/unittype/EditScreen\"));\r\n// const UnitTitleListScreen = React.lazy(() => import(\"../screens/admin/unittitle/ListScreen\"));\r\n// const UnitTitleDetailsScreen = React.lazy(() => import(\"../screens/admin/unittitle/DetailsScreen\"));\r\n// const UnitTitleAddScreen = React.lazy(() => import(\"../screens/admin/unittitle/AddScreen\"));\r\n// const UnitTitleEditScreen = React.lazy(() => import(\"../screens/admin/unittitle/EditScreen\"));\r\n// const LetterListScreen = React.lazy(() => import(\"../screens/admin/dictionary/letter/ListScreen\"));\r\n// const LetterDetailsScreen = React.lazy(() => import(\"../screens/admin/dictionary/letter/DetailsScreen\"));\r\n// const LetterAddScreen = React.lazy(() => import(\"../screens/admin/dictionary/letter/AddScreen\"));\r\n// const LetterEditScreen = React.lazy(() => import(\"../screens/admin/dictionary/letter/EditScreen\"));\r\n// const PinyinListScreen = React.lazy(() => import(\"../screens/admin/dictionary/pinyin/ListScreen\"));\r\n// const PinyinDetailsScreen = React.lazy(() => import(\"../screens/admin/dictionary/pinyin/DetailsScreen\"));\r\n// const PinyinAddScreen = React.lazy(() => import(\"../screens/admin/dictionary/pinyin/AddScreen\"));\r\n// const PinyinEditScreen = React.lazy(() => import(\"../screens/admin/dictionary/pinyin/EditScreen\"));\r\n// const UnitListScreen = React.lazy(() => import(\"../screens/admin/unit/ListScreen\"));\r\n// const UnitDetailsScreen = React.lazy(() => import(\"../screens/admin/unit/DetailsScreen\"));\r\n// const UnitAddScreen = React.lazy(() => import(\"../screens/admin/unit/AddScreen\"));\r\n// const UnitBatchAddScreen = React.lazy(() => import(\"../screens/admin/unit/BatchAddScreen\"));\r\n// const UnitSimpleBatchAddScreen = React.lazy(() => import(\"../screens/admin/unit/SimpleBatchAddScreen\"));\r\n// const UnitBatchExportScreen = React.lazy(() => import(\"../screens/admin/unit/BatchExportScreen\"));\r\n// const UnitEditScreen = React.lazy(() => import(\"../screens/admin/unit/EditScreen\"));\r\n// const UnitMoveScreen = React.lazy(() => import(\"../screens/admin/unit/MoveScreen\"));\r\n// const SyllableListScreen = React.lazy(() => import(\"../screens/admin/syllable/ListScreen\"));\r\n// const SettingScreen = React.lazy(() => import(\"../screens/admin/SettingScreen\"));\r\n// const RedEnvelopeSettingScreen = React.lazy(() => import(\"../screens/admin/RedEnvelopeSettingScreen\"));\r\n// const ChineseParkSettingScreen = React.lazy(() => import(\"../screens/admin/ChineseParkSettingScreen\"));\r\n// const ServiceSettingScreen = React.lazy(() => import(\"../screens/admin/ServiceSettingScreen\"));\r\n// const RegionServerSettingScreen = React.lazy(() => import(\"../screens/admin/RegionServerSettingScreen\"));\r\n// const TestSpeechRecognitionScreen = React.lazy(() => import(\"../screens/admin/TestSpeechRecognitionScreen\"));\r\n// const OfflineProblemScreen = React.lazy(() => import(\"../screens/admin/OfflineProblemScreen\"));\r\n// const FeatureConfigurationScreen = React.lazy(() => import(\"../screens/admin/FeatureConfigurationScreen\"));\r\n// const VoiceSettingScreen = React.lazy(() => import(\"../screens/admin/VoiceSettingScreen\"));\r\n// const CurrencyInfoScreen = React.lazy(() => import(\"../screens/admin/CurrencyInfoScreen\"));\r\n//\r\n// const WordListScreen = React.lazy(() => import(\"../screens/admin/dictionary/word/ListScreen\"));\r\n// const WordDetailsScreen = React.lazy(() => import(\"../screens/admin/dictionary/word/DetailsScreen\"));\r\n// const WordAddScreen = React.lazy(() => import(\"../screens/admin/dictionary/word/AddScreen\"));\r\n// const WordBatchAddScreen = React.lazy(() => import(\"../screens/admin/dictionary/word/BatchAddScreen\"));\r\n// const WordEditScreen = React.lazy(() => import(\"../screens/admin/dictionary/word/EditScreen\"));\r\n//\r\n// const SentenceListScreen = React.lazy(() => import(\"../screens/admin/dictionary/sentence/ListScreen\"));\r\n// const SentenceDetailsScreen = React.lazy(() => import(\"../screens/admin/dictionary/sentence/DetailsScreen\"));\r\n//\r\n// const LanguageListScreen = React.lazy(() => import(\"../screens/admin/language/ListScreen\"));\r\n// const LanguageDetailsScreen = React.lazy(() => import(\"../screens/admin/language/DetailsScreen\"));\r\n// const LanguageAddScreen = React.lazy(() => import(\"../screens/admin/language/AddScreen\"));\r\n// const LanguageEditScreen = React.lazy(() => import(\"../screens/admin/language/EditScreen\"));\r\n// const SuggestionListScreen = React.lazy(() => import(\"../screens/admin/suggestion/ListScreen\"));\r\n// const SuggestionDetailsScreen = React.lazy(() => import(\"../screens/admin/suggestion/DetailsScreen\"));\r\n// //const ClassListScreen = React.lazy(() => import(\"../screens/admin/class/ListScreen\"));\r\n// const ClassListScreen = React.lazy(() => import(\"../screens/admin/class/ListNewScreen\"));\r\n// //const ClassDetailsScreen = React.lazy(() => import(\"../screens/admin/class/DetailsScreen\"));\r\n// const ClassDetailsScreen = React.lazy(() => import(\"../screens/admin/class/DetailsNewScreen\"));\r\n// const ShiftStudentScreen = React.lazy(() => import(\"../screens/admin/class/ShiftStudentScreen\"));\r\n// const UnregStudentScreen = React.lazy(() => import(\"../screens/admin/class/UnregStudentScreen\"));\r\n// const ClassCodeScreen = React.lazy(() => import(\"../screens/admin/class/CodeScreen\"));\r\n// const ClassAddScreen = React.lazy(() => import(\"../screens/admin/class/AddScreen\"));\r\n// const ClassEditScreen = React.lazy(() => import(\"../screens/admin/class/EditScreen\"));\r\n// const ClassHomeworkDetailsScreen = React.lazy(() => import(\"../screens/admin/class/HomeworkDetailsScreen\"));\r\n// //const SIDAddScreen = React.lazy(() => import(\"../screens/admin/class/student/AddScreen\"));\r\n// const SIDAddScreen = React.lazy(() => import(\"../screens/admin/class/student/AddNewScreen\"));\r\n// //const SIDEditScreen = React.lazy(() => import(\"../screens/admin/class/student/EditScreen\"));\r\n// const SIDEditScreen = React.lazy(() => import(\"../screens/admin/class/student/EditNewScreen\"));\r\n// //const SIDImportScreen = React.lazy(() => import(\"../screens/admin/class/student/ImportScreen\"));\r\n// const SIDImportScreen = React.lazy(() => import(\"../screens/admin/class/student/ImportScreen\"));\r\n// const SIDDetailsScreen = React.lazy(() => import(\"../screens/admin/class/student/DetailsScreen\"));\r\n// const SIDChangePasswordScreen = React.lazy(() => import(\"../screens/admin/class/student/ChangePasswordScreen\"));\r\n// const HomeworkListScreen = React.lazy(() => import(\"../screens/admin/homework/ListScreen\"));\r\n// const HomeworkDetailsScreen = React.lazy(() => import(\"../screens/admin/homework/DetailsScreen\"));\r\n// const HomeworkAddUnitScreen = React.lazy(() => import(\"../screens/admin/homework/AddUnitScreen\"));\r\n// const HomeworkAddScreen = React.lazy(() => import(\"../screens/admin/homework/AddScreen\"));\r\n// const HomeworkEditScreen = React.lazy(() => import(\"../screens/admin/homework/EditScreen\"));\r\n// const HomeworkAssignScreen = React.lazy(() => import(\"../screens/admin/homework/AssignScreen\"));\r\n// const HomeworkCommentListScreen = React.lazy(() => import(\"../screens/admin/homework/CommentListScreen\"));\r\n// const HomeworkClassCommentListScreen = React.lazy(() => import(\"../screens/admin/homework/ClassCommentListScreen\"));\r\n// const HomeworkClassReviewListScreen = React.lazy(() => import(\"../screens/admin/homework/ClassReviewListScreen\"));\r\n// const HomeworkCommentDetailsScreen = React.lazy(() => import(\"../screens/admin/homework/CommentDetailsScreen\"));\r\n// const HomeworkReviewDetailsScreen = React.lazy(() => import(\"../screens/admin/homework/ReviewDetailsScreen\"));\r\n// const HomeworkReviewListScreen = React.lazy(() => import(\"../screens/admin/homework/ReviewListScreen\"));\r\n// const HomeworkUnitDetailsScreen = React.lazy(() => import(\"../screens/admin/homework/UnitDetailsScreen\"));\r\n// const AssignmentListScreen = React.lazy(() => import(\"../screens/admin/homework/AssignmentListScreen\"));\r\n// const AssignmentPreviewScreen = React.lazy(() => import(\"../screens/admin/homework/AssignmentPreviewScreen\"));\r\n// const AssignmentDetailsScreen = React.lazy(() => import(\"../screens/admin/homework/AssignmentDetailsScreen\"));\r\n// const UnsubmitDetailsScreen = React.lazy(() => import(\"../screens/admin/homework/UnsubmitDetailsScreen\"));\r\n// const PartnerListScreen = React.lazy(() => import(\"../screens/admin/partner/ListScreen\"));\r\n// const PartnerEditScreen = React.lazy(() => import(\"../screens/admin/partner/EditScreen\"));\r\n// const PartnerUserListScreen = React.lazy(() => import(\"../screens/admin/partner/user/ListScreen\"));\r\n// const PartnerUserAddScreen = React.lazy(() => import(\"../screens/admin/partner/user/AddScreen\"));\r\n// const PartnerUserEditScreen = React.lazy(() => import(\"../screens/admin/partner/user/EditScreen\"));\r\n// const PartnerUserChangePasswordScreen = React.lazy(() => import(\"../screens/admin/partner/user/ChangePasswordScreen\"));\r\n// const PortalHomeScreen = React.lazy(() => import(\"../screens/portal/HomeScreen\"));\r\n// const PortalAgentScreen = React.lazy(() => import(\"../screens/portal/AgentScreen\"));\r\n// const PortalContactScreen = React.lazy(() => import(\"../screens/portal/ContactScreen\"));\r\n// const PortalDownloadScreen = React.lazy(() => import(\"../screens/portal/DownloadScreen\"));\r\n// const PortalDownloadAppScreen = React.lazy(() => import(\"../screens/portal/DownloadAppScreen\"));\r\n// const PortalStudentUseScreen = React.lazy(() => import(\"../screens/portal/StudentUseScreen\"));\r\n// const PortalTeacherUseScreen = React.lazy(() => import(\"../screens/portal/TeacherUseScreen\"));\r\n// const PortalProductScreen = React.lazy(() => import(\"../screens/portal/ProductScreen\"));\r\n// const PortalPricingScreen = React.lazy(() => import(\"../screens/portal/PricingScreen\"));\r\n// const PortalPartnerScreen = React.lazy(() => import(\"../screens/portal/PartnerScreen\"));\r\n// const PortalJobsScreen = React.lazy(() => import(\"../screens/portal/JobsScreen\"));\r\n// const PortalTermsConditionScreen = React.lazy(() => import(\"../screens/portal/TermsConditionScreen\"));\r\n// const PortalPrivacyScreen = React.lazy(() => import(\"../screens/portal/PrivacyScreen\"));\r\n// const PortalAboutUsScreen = React.lazy(() => import(\"../screens/portal/AboutUsScreen\"));\r\n// const PortalHomeworkScreen = React.lazy(() => import(\"../screens/portal/HomeworkScreen\"));\r\n// const PortalTalkChineseScreen = React.lazy(() => import(\"../screens/portal/TalkChineseScreen\"));\r\n// const PortalChineseParkScreen = React.lazy(() => import(\"../screens/portal/ChineseParkScreen\"));\r\n// const PortalRewardTermsScreen = React.lazy(() => import(\"../screens/portal/RewardTermsScreen\"));\r\n// const PortalRoomVipTermsScreen = React.lazy(() => import(\"../screens/portal/RoomVipTermsScreen\"));\r\n//\r\n// const PlainUserHomeworkUnitScreen = React.lazy(() => import(\"../screens/plain/UserHomeworkUnitScreen\"));\r\n// const PlainWhiteboardScreen = React.lazy(() => import(\"../screens/plain/WhiteboardScreen\"));\r\n//\r\n// const RadicalListScreen = React.lazy(() => import(\"../screens/admin/dictionary/radical/ListScreen\"));\r\n// const RadicalDetailsScreen = React.lazy(() => import(\"../screens/admin/dictionary/radical/DetailsScreen\"));\r\n// const RadicalAddScreen = React.lazy(() => import(\"../screens/admin/dictionary/radical/AddScreen\"));\r\n// const RadicalEditScreen = React.lazy(() => import(\"../screens/admin/dictionary/radical/EditScreen\"));\r\n// const BookListScreen = React.lazy(() => import(\"../screens/admin/book/ListScreen\"));\r\n// const BookAddScreen = React.lazy(() => import(\"../screens/admin/book/AddScreen\"));\r\n// const BookEditScreen = React.lazy(() => import(\"../screens/admin/book/EditScreen\"));\r\n// const BookDetailsScreen = React.lazy(() => import(\"../screens/admin/book/DetailsScreen\"));\r\n// const BookSubmitScreen = React.lazy(() => import(\"../screens/admin/book/SubmitScreen\"));\r\n// const BookAddSectionScreen = React.lazy(() => import(\"../screens/admin/book/AddSectionScreen\"));\r\n// const BookEditSectionScreen = React.lazy(() => import(\"../screens/admin/book/EditSectionScreen\"));\r\n// const BookAddRawUnitcreen = React.lazy(() => import(\"../screens/admin/book/AddRawUnitScreen\"));\r\n// const BookEditRawUnitcreen = React.lazy(() => import(\"../screens/admin/book/EditRawUnitScreen\"));\r\n// const BookDeletedScreen = React.lazy(() => import(\"../screens/admin/book/DeletedScreen\"));\r\n//\r\n// const BookAssignmentListScreen = React.lazy(() => import(\"../screens/admin/bookassignment/ListScreen\"));\r\n// const BookAssignmentAddScreen = React.lazy(() => import(\"../screens/admin/bookassignment/AddScreen\"));\r\n// const BookAssignmentEditScreen = React.lazy(() => import(\"../screens/admin/bookassignment/EditScreen\"));\r\n// const BookAssignmentDetailsScreen = React.lazy(() => import(\"../screens/admin/bookassignment/DetailsScreen\"));\r\n//\r\n// const BookgroupListScreen = React.lazy(() => import(\"../screens/admin/bookgroup/ListScreen\"));\r\n// const BookgroupDetailsScreen = React.lazy(() => import(\"../screens/admin/bookgroup/DetailsScreen\"));\r\n// const BookgroupEditScreen = React.lazy(() => import(\"../screens/admin/bookgroup/EditScreen\"));\r\n// const ContactEditScreen = React.lazy(() => import(\"../screens/admin/contact/EditScreen\"));\r\n// const ContactListScreen = React.lazy(() => import(\"../screens/admin/contact/ListScreen\"));\r\n// const ContactDetailsScreen = React.lazy(() => import(\"../screens/admin/contact/DetailsScreen\"));\r\n// const UnitTaskListScreen = React.lazy(() => import(\"../screens/admin/unittask/ListScreen\"));\r\n// const UnitTaskDetailsListScreen = React.lazy(() => import(\"../screens/admin/unittask/DetailsListScreen\"));\r\n// const MakingPictureScreen = React.lazy(() => import(\"../screens/admin/unittask/MakingPictureScreen\"));\r\n// const PublishingListScreen = React.lazy(() => import(\"../screens/admin/unittask/PublishingListScreen\"));\r\n// const VerificationScreen = React.lazy(() => import(\"../screens/admin/unittask/VerificationScreen\"));\r\n// const UnitTaskTemplateConfirmationScreen = React.lazy(() => import(\"../screens/admin/unittask/TemplateConfirmationScreen\"));\r\n// const UnitTaskTemplateValidationScreen = React.lazy(() => import(\"../screens/admin/unittask/TemplateValidationScreen\"));\r\n// const UnitTaskPrototypeDesignScreen = React.lazy(() => import(\"../screens/admin/unittask/PrototypeDesignScreen\"));\r\n// const UnitTaskTemplateDevelopmentScreen = React.lazy(() => import(\"../screens/admin/unittask/TemplateDevelopmentScreen\"));\r\n// const UnitTaskPictureValidationScreen = React.lazy(() => import(\"../screens/admin/unittask/PictureValidationScreen\"));\r\n// const UnitTaskTestContentScreen = React.lazy(() => import(\"../screens/admin/unittask/TestContentScreen\"));\r\n// const UnitTaskFeedbackModificationScreen = React.lazy(() => import(\"../screens/admin/unittask/FeedbackModificationScreen\"));\r\n// const UnitTaskConfigurationListScreen = React.lazy(() => import(\"../screens/admin/unittaskconfiguration/ListScreen\"));\r\n// const UnitTaskConfigurationAddScreen = React.lazy(() => import(\"../screens/admin/unittaskconfiguration/AddScreen\"));\r\n// const UnitTaskConfigurationEditScreen = React.lazy(() => import(\"../screens/admin/unittaskconfiguration/EditScreen\"));\r\n// const OralBookListScreen = React.lazy(() => import(\"../screens/admin/oralbook/ListScreen\"));\r\n// const OralBookAddScreen = React.lazy(() => import(\"../screens/admin/oralbook/AddScreen\"));\r\n// const OralBookEditScreen = React.lazy(() => import(\"../screens/admin/oralbook/EditScreen\"));\r\n// const OralBookDetailsScreen = React.lazy(() => import(\"../screens/admin/oralbook/DetailsScreen\"));\r\n// const OralBookSubmitScreen = React.lazy(() => import(\"../screens/admin/oralbook/SubmitScreen\"));\r\n// const OralBookAddSectionScreen = React.lazy(() => import(\"../screens/admin/oralbook/AddSectionScreen\"));\r\n// const OralBookEditSectionScreen = React.lazy(() => import(\"../screens/admin/oralbook/EditSectionScreen\"));\r\n// const OralBookAddUnitcreen = React.lazy(() => import(\"../screens/admin/oralbook/AddUnitScreen\"));\r\n// const OralBookEditUnitcreen = React.lazy(() => import(\"../screens/admin/oralbook/EditUnitScreen\"));\r\n// const OralBookUnitListScreen = React.lazy(() => import(\"../screens/admin/oralbook/UnitListScreen\"));\r\n// const ReadingBookListScreen = React.lazy(() => import(\"../screens/admin/readingbook/ListScreen\"));\r\n// const ReadingBookAddScreen = React.lazy(() => import(\"../screens/admin/readingbook/AddScreen\"));\r\n// const ReadingBookEditScreen = React.lazy(() => import(\"../screens/admin/readingbook/EditScreen\"));\r\n// const ReadingBookDetailsScreen = React.lazy(() => import(\"../screens/admin/readingbook/DetailsScreen\"));\r\n// const ReadingBookSubmitScreen = React.lazy(() => import(\"../screens/admin/readingbook/SubmitScreen\"));\r\n// const ReadingBookAddSectionScreen = React.lazy(() => import(\"../screens/admin/readingbook/AddSectionScreen\"));\r\n// const ReadingBookEditSectionScreen = React.lazy(() => import(\"../screens/admin/readingbook/EditSectionScreen\"));\r\n// const ReadingBookAddUnitcreen = React.lazy(() => import(\"../screens/admin/readingbook/AddUnitScreen\"));\r\n// const ReadingBookEditUnitcreen = React.lazy(() => import(\"../screens/admin/readingbook/EditUnitScreen\"));\r\n// const HomeworkManagementListScreen = React.lazy(() => import(\"../screens/admin/homework/management/ListScreen\"));\r\n// const HomeworkManagementMakeupListScreen = React.lazy(() => import(\"../screens/admin/homework/management/MakeupListScreen\"));\r\n// const HomeworkManagementSummaryScreen = React.lazy(() => import(\"../screens/admin/homework/management/SummaryScreen\"));\r\n// const HomeworkManagementReviewListScreen = React.lazy(() => import(\"../screens/admin/homework/management/ReviewListScreen\"));\r\n// const HomeworkManagementReviewScreen = React.lazy(() => import(\"../screens/admin/homework/management/ReviewScreen\"));\r\n// const HomeworkManagementHomeworkSummaryScreen = React.lazy(() => import(\"../screens/admin/homework/management/HomeworkSummaryScreen\"));\r\n//\r\n// const AgentManagementListScreen = React.lazy(() => import(\"../screens/admin/agent/management/ListScreen\"));\r\n// const AgentManagementDetailsScreen = React.lazy(() => import(\"../screens/admin/agent/management/DetailsScreen\"));\r\n// const AgentManagementAddScreen = React.lazy(() => import(\"../screens/admin/agent/management/AddScreen\"));\r\n// const AgentManagementEditScreen = React.lazy(() => import(\"../screens/admin/agent/management/EditScreen\"));\r\n// const AgentManagementCodeScreen = React.lazy(() => import(\"../screens/admin/agent/management/CodeScreen\"));\r\n// const WithdrawalScreen = React.lazy(() => import(\"../screens/admin/agent/WithdrawalScreen\"));\r\n// const BankCardDetailsScreen = React.lazy(() => import(\"../screens/admin/agent/bankcard/DetailsScreen\"));\r\n// const BankCardAddScreen = React.lazy(() => import(\"../screens/admin/agent/bankcard/AddScreen\"));\r\n// const BankCardEditScreen = React.lazy(() => import(\"../screens/admin/agent/bankcard/EditScreen\"));\r\n// const WalletScreen = React.lazy(() => import(\"../screens/admin/agent/WalletScreen\"));\r\n// const RedEnvelopeScreen = React.lazy(() => import(\"../screens/admin/agent/RedEnvelopeScreen\"));\r\n// const WithdrawalCompleteScreen = React.lazy(() => import(\"../screens/admin/agent/WithdrawalCompleteScreen\"));\r\n// const SubagentListScreen = React.lazy(() => import(\"../screens/admin/agent/subagent/ListScreen\"));\r\n// const SubagentAddScreen = React.lazy(() => import(\"../screens/admin/agent/subagent/AddScreen\"));\r\n// const SubagentEditScreen = React.lazy(() => import(\"../screens/admin/agent/subagent/EditScreen\"));\r\n// const SubagentCodeScreen = React.lazy(() => import(\"../screens/admin/agent/subagent/CodeScreen\"));\r\n// const SubagentDetailsScreen = React.lazy(() => import(\"../screens/admin/agent/subagent/DetailsScreen\"));\r\n// const TeacherAccountListScreen = React.lazy(() => import(\"../screens/admin/agent/teacheraccount/ListScreen\"));\r\n// const TeacherAccountAddScreen = React.lazy(() => import(\"../screens/admin/agent/teacheraccount/AddScreen\"));\r\n// const TeacherAccountEditScreen = React.lazy(() => import(\"../screens/admin/agent/teacheraccount/EditScreen\"));\r\n// const TeacherAccountChangePasswordScreen = React.lazy(() => import(\"../screens/admin/agent/teacheraccount/ChangePasswordScreen\"));\r\n// const TeacherAccountCodeScreen = React.lazy(() => import(\"../screens/admin/agent/teacheraccount/CodeScreen\"));\r\n// const UserAccountListScreen = React.lazy(() => import(\"../screens/admin/agent/useraccount/ListScreen\"));\r\n// const UserAccountAddScreen = React.lazy(() => import(\"../screens/admin/agent/useraccount/AddScreen\"));\r\n// const UserAccountEditScreen = React.lazy(() => import(\"../screens/admin/agent/useraccount/EditScreen\"));\r\n// const UserAccountCodeScreen = React.lazy(() => import(\"../screens/admin/agent/useraccount/CodeScreen\"));\r\n// const UserAccountChangePasswordScreen = React.lazy(() => import(\"../screens/admin/agent/useraccount/ChangePasswordScreen\"));\r\n// const MessageBoardListScreen = React.lazy(() => import(\"../screens/admin/messageboard/ListScreen\"));\r\n// const MessageBoardDetailsListScreen = React.lazy(() => import(\"../screens/admin/messageboard/DetailsListScreen\"));\r\n// const MessageBoardDetailsScreen = React.lazy(() => import(\"../screens/admin/messageboard/DetailsScreen\"));\r\n// const ErrorListScreen = React.lazy(() => import(\"../screens/admin/error/ListScreen\"));\r\n// const ErrorDetailsScreen = React.lazy(() => import(\"../screens/admin/error/DetailsScreen\"));\r\n// const ErrorDashboardScreen = React.lazy(() => import(\"../screens/admin/error/DashboardScreen\"));\r\n// const AgentStatisticScreen = React.lazy(() => import(\"../screens/admin/agent/StatisticScreen\"));\r\n// const ManagementStatisticScreen = React.lazy(() => import(\"../screens/admin/agent/management/StatisticScreen\"));\r\n// const WithdrawalListScreen = React.lazy(() => import(\"../screens/admin/agent/management/WithdrawalListScreen\"));\r\n// const WithdrawalDetailsScreen = React.lazy(() => import(\"../screens/admin/agent/management/WithdrawalDetailsScreen\"));\r\n// const IncomeStatisticScreen = React.lazy(() => import(\"../screens/admin/agent/management/IncomeStatisticScreen\"));\r\n// const StudentCapitalflowScreen = React.lazy(() => import(\"../screens/admin/agent/StudentCapitalflowScreen\"));\r\n// const AgentReferralCodeScreen = React.lazy(() => import(\"../screens/admin/agent/AgentReferralCodeScreen\"));\r\n// //const AgentApplicationListScreen = React.lazy(() => import(\"../screens/admin/agent/management/AgentApplicationListScreen\"));\r\n// const AgentApplicationDetailsScreen = React.lazy(() => import(\"../screens/admin/agent/management/AgentApplicationDetailsScreen\"));\r\n// const ExceptionEndpointAddScreen = React.lazy(() => import(\"../screens/admin/apiexceptionrule/AddScreen\"));\r\n// const ExceptionEndpointDetailsScreen = React.lazy(() => import(\"../screens/admin/apiexceptionrule/DetailsScreen\"));\r\n// const ExceptionEndpointListScreen = React.lazy(() => import(\"../screens/admin/apiexceptionrule/ListScreen\"));\r\n// const ChineseParkServerAddScreen = React.lazy(() => import(\"../screens/admin/chineseparkserver/AddScreen\"));\r\n// const ChineseParkServerEditScreen = React.lazy(() => import(\"../screens/admin/chineseparkserver/EditScreen\"));\r\n// const ChineseParkServerDetailsScreen = React.lazy(() => import(\"../screens/admin/chineseparkserver/DetailsScreen\"));\r\n// const ChineseParkServerListScreen = React.lazy(() => import(\"../screens/admin/chineseparkserver/ListScreen\"));\r\n// const TalkChineseAddScreen = React.lazy(() => import(\"../screens/admin/talkchinese/AddScreen\"));\r\n// const TalkChineseEditScreen = React.lazy(() => import(\"../screens/admin/talkchinese/EditScreen\"));\r\n// const TalkChineseDetailsScreen = React.lazy(() => import(\"../screens/admin/talkchinese/DetailsScreen\"));\r\n// const TalkChineseListScreen = React.lazy(() => import(\"../screens/admin/talkchinese/ListScreen\"));\r\n// const TalkChineseAddDialogScreen = React.lazy(() => import(\"../screens/admin/talkchinese/AddDialogScreen\"));\r\n// const TalkChineseEditDialogScreen = React.lazy(() => import(\"../screens/admin/talkchinese/EditDialogScreen\"));\r\n// const TalkChineseStatisticScreen = React.lazy(() => import(\"../screens/admin/talkchinese/StatisticScreen\"));\r\n// const EmailVerificationCodeListScreen = React.lazy(() => import(\"../screens/admin/emailverificationcode/ListScreen\"));\r\n// const PhoneVerificationCodeListScreen = React.lazy(() => import(\"../screens/admin/phoneverificationcode/ListScreen\"));\r\n//\r\n// const PromotionManagementListScreen = React.lazy(() => import(\"../screens/admin/promotion/management/ListScreen\"));\r\n// const PromotionManagementAddScreen = React.lazy(() => import(\"../screens/admin/promotion/management/AddScreen\"));\r\n// const PromotionManagementEditScreen = React.lazy(() => import(\"../screens/admin/promotion/management/EditScreen\"));\r\n// const PromotionManagementDetailsScreen = React.lazy(() => import(\"../screens/admin/promotion/management/DetailsScreen\"));\r\n// const PromotionManagementShareAgentListScreen = React.lazy(() => import(\"../screens/admin/promotion/management/ShareAgentListScreen\"));\r\n// const PromotionManagementShareAgentAddScreen = React.lazy(() => import(\"../screens/admin/promotion/management/ShareAgentAddScreen\"));\r\n// const PromotionManagementStatisticScreen = React.lazy(() => import(\"../screens/admin/promotion/management/StatisticScreen\"));\r\n// const PromotionStatisticScreen = React.lazy(() => import(\"../screens/admin/promotion/StatisticScreen\"));\r\n// const PromotionListScreen = React.lazy(() => import(\"../screens/admin/promotion/PromotionListScreen\"));\r\n// const PromotionShareStatisticScreen = React.lazy(() => import(\"../screens/admin/promotion/ShareStatisticScreen\"));\r\n// const PromotionRedEnvelopeStatisticScreen = React.lazy(() => import(\"../screens/admin/promotion/RedEnvelopeStatisticScreen\"));\r\n// const PlainTeacherShareScreen = React.lazy(() => import(\"../screens/plain/TeacherShareScreen\"));\r\n// const PlainStudentShareScreen = React.lazy(() => import(\"../screens/plain/StudentShareScreen\"));\r\n// const PlainPromotionDetailsScreen = React.lazy(() => import(\"../screens/plain/PromotionDetailsScreen\"));\r\n// const PlainJoinClassScreen = React.lazy(() => import(\"../screens/plain/JoinClassScreen\"));\r\n// const ChooseSchoolScreen = React.lazy(() => import(\"../screens/admin/ChooseSchoolScreen\"));\r\n//\r\n// //mobile\r\n// const NewDefaultScreen = React.lazy(() => import(\"../mobile/screens/homework/NewDefaultScreen\"));\r\n// const MobileLoginScreen = React.lazy(() => import(\"../mobile/screens/account/LoginScreen\"));\r\n// const NewListScreen = React.lazy(() => import(\"../mobile/screens/homework/NewListScreen\"));\r\n// const HomeworkUnitScreen = React.lazy(() => import(\"../mobile/screens/homework/HomeworkUnitScreen\"));\r\n// const HomeworkCompleteScreen = React.lazy(() => import(\"../mobile/screens/homework/HomeworkCompleteScreen\"));\r\n// const CompleteHomeworkScreen = React.lazy(() => import(\"../mobile/screens/homework/CompleteHomeworkScreen\"));\r\n// const HomeworkHistoryScreen = React.lazy(() => import(\"../mobile/screens/homework/HomeworkHistoryScreen\"));\r\n// const HomeworkPeerReviseScreen = React.lazy(() => import(\"../mobile/screens/homework/HomeworkPeerReviseScreen\"));\r\n// const PeerReviseDetailScreen = React.lazy(() => import(\"../mobile/screens/homework/PeerReviseDetailScreen\"));\r\n// const ReplyListScreen = React.lazy(() => import(\"../mobile/screens/homework/ReplyListScreen\"));\r\n// const PracticeResultScreen = React.lazy(() => import(\"../mobile/screens/homework/PracticeResultScreen\"));\r\n// const ReviewListScreen = React.lazy(() => import(\"../mobile/screens/homework/ReviewListScreen\"));\r\n// const ReviewUnitScreen = React.lazy(() => import(\"../mobile/screens/homework/ReviewUnitScreen\"));\r\n// const CheckUnitScreen = React.lazy(() => import(\"../mobile/screens/homework/CheckUnitScreen\"));\r\n// const CheckCompleteScreen = React.lazy(() => import(\"../mobile/screens/homework/CheckCompleteScreen\"));\r\n// const ArticleScreen = React.lazy(() => import(\"../mobile/screens/homework/ArticleScreen\"));\r\n// const HistoryPreviewScreen = React.lazy(() => import(\"../mobile/screens/homework/HistoryPreviewScreen\"));\r\n//\r\n// //mobile talk chinese\r\n// const TalkChineseHomeScreen = React.lazy(() => import(\"../mobile/screens/talkchinese/HomeScreen\"));\r\n// const TalkChineseReviewListScreen = React.lazy(() => import(\"../mobile/screens/talkchinese/ReviewListScreen\"));\r\n// const TalkChineseHistoryListScreen = React.lazy(() => import(\"../mobile/screens/talkchinese/HistoryListScreen\"));\r\n// const TalkChineseHistoryScreen = React.lazy(() => import(\"../mobile/screens/talkchinese/HistoryScreen\"));\r\n// const TalkChineseHistoryPreviewScreen = React.lazy(() => import(\"../mobile/screens/talkchinese/HistoryPreviewScreen\"));\r\n// const TalkChineseRankingScreen = React.lazy(() => import(\"../mobile/screens/talkchinese/RankingScreen\"));\r\n// const TalkChineseDefaultScreen = React.lazy(() => import(\"../mobile/screens/talkchinese/DefaultScreen\"));\r\n// const TalkChinesePlanScreen = React.lazy(() => import(\"../mobile/screens/talkchinese/PlanScreen\"));\r\n// const TalkChinesePracticeResultScreen = React.lazy(() => import(\"../mobile/screens/talkchinese/PracticeResultScreen\"));\r\n// const TalkChineseCompleteScreen = React.lazy(() => import(\"../mobile/screens/talkchinese/CompleteScreen\"));\r\n// const TalkChineseLevelScreen = React.lazy(() => import(\"../mobile/screens/talkchinese/LevelScreen\"));\r\n// const TalkChinesePracticeScreen = React.lazy(() => import(\"../mobile/screens/talkchinese/PracticeScreen\"));\r\n// const TalkChineseSettingsScreen = React.lazy(() => import(\"../mobile/screens/talkchinese/SettingsScreen\"));\r\n// const ParentEmailScreen = React.lazy(() => import(\"../mobile/screens/me/ParentEmailScreen\"));\r\n//\r\n// const ChineseparkDefaultScreen = React.lazy(() => import(\"../mobile/screens/chinesepark/DefaultScreen\"));\r\n// const ChineseparkRoomListScreen = React.lazy(() => import(\"../mobile/screens/chinesepark/RoomListScreen\"));\r\n// const ChineseparkRoomSettingScreen = React.lazy(() => import(\"../mobile/screens/chinesepark/RoomSettingScreen\"));\r\n// const ChineseparkRoomManagerScreen = React.lazy(() => import(\"../mobile/screens/chinesepark/RoomManagerScreen\"));\r\n// const ChineseparkRoomBlackListScreen = React.lazy(() => import(\"../mobile/screens/chinesepark/BlackListScreen\"));\r\n// const ChineseparkVipFeaturesScreen = React.lazy(() => import(\"../mobile/screens/chinesepark/VipFeaturesScreen\"));\r\n// const ChineseparkCreateRoomScreen = React.lazy(() => import(\"../mobile/screens/chinesepark/CreateRoomScreen\"));\r\n// const ChineseparkPkRulesScreen = React.lazy(() => import(\"../mobile/screens/chinesepark/PKRulesScreen\"));\r\n// const ChineseparkRoomMemberScreen = React.lazy(() => import(\"../mobile/screens/chinesepark/RoomMemberScreen\"));\r\n// const ChineseparkUnregStudentScreen = React.lazy(() => import(\"../mobile/screens/chinesepark/UnregStudentScreen\"));\r\n// const ChineseparkAddRoomMemberScreen = React.lazy(() => import(\"../mobile/screens/chinesepark/AddRoomMemberScreen\"));\r\n// const ChineseparkEditRoomMemberScreen = React.lazy(() => import(\"../mobile/screens/chinesepark/EditRoomMemberScreen\"));\r\n// const ChineseparkShiftStudentScreen = React.lazy(() => import(\"../mobile/screens/chinesepark/ShiftStudentScreen\"));\r\n//\r\n// const ChineseParkRoomScreen = React.lazy(() => import(\"../mobile/screens/chinesepark/RoomScreen\"));\r\n//\r\n// //mobile learn\r\n// const MobileLearnDefaultScreen = React.lazy(() => import(\"../mobile/screens/learn/DefaultScreen\"));\r\n// const MobileSearchCourseScreen = React.lazy(() => import(\"../mobile/screens/learn/SearchScreen\"));\r\n// const MobileSearchWordScreen = React.lazy(() => import(\"../mobile/screens/learn/SearchWordScreen\"));\r\n// const MobileBookDetailScreen = React.lazy(() => import(\"../mobile/screens/learn/BookDetailScreen\"));\r\n// const MobileCommentListScreen = React.lazy(() => import(\"../mobile/screens/learn/CommentListScreen\"));\r\n// const MobileAddCommentScreen = React.lazy(() => import(\"../mobile/screens/learn/AddCommentScreen\"));\r\n// const MobileLearnPracticeScreen = React.lazy(() => import(\"../mobile/screens/learn/PracticeScreen\"));\r\n// const MobileLearnCompleteScreen = React.lazy(() => import(\"../mobile/screens/learn/CompleteScreen\"));\r\n//\r\n// //mobile study letter\r\n// const StudyLetterDefaultScreen = React.lazy(() => import(\"../mobile/screens/studyletter/DefaultScreen\"));\r\n// const StudyLetterTaskListScreen = React.lazy(() => import(\"../mobile/screens/studyletter/TaskListScreen\"));\r\n// const StudyLetterLetterListScreen = React.lazy(() => import(\"../mobile/screens/studyletter/LetterListScreen\"));\r\n// const StudyLetterStateDescScreen = React.lazy(() => import(\"../mobile/screens/studyletter/StateDescScreen\"));\r\n// const StudyLetterLetterDetailsScreen = React.lazy(() => import(\"../mobile/screens/studyletter/LetterDetailsScreen\"));\r\n// const StudyLetterWordListScreen = React.lazy(() => import(\"../mobile/screens/studyletter/WordListScreen\"));\r\n// const StudyLetterWordDetailsScreen = React.lazy(() => import(\"../mobile/screens/studyletter/WordDetailsScreen\"));\r\n// const StudyLetterPracticeScreen = React.lazy(() => import(\"../mobile/screens/studyletter/PracticeScreen\"));\r\n// const StudyLetterCompleteScreen = React.lazy(() => import(\"../mobile/screens/studyletter/CompleteScreen\"));\r\n// const StudyLetterPracticeResultScreen = React.lazy(() => import(\"../mobile/screens/studyletter/PracticeResultScreen\"));\r\n// const StudyLetterStatisticLetterListScreen = React.lazy(() => import(\"../mobile/screens/studyletter/StatisticLetterListScreen\"));\r\n// const StudyLetterTopListScreen = React.lazy(() => import(\"../mobile/screens/studyletter/TopListScreen\"));\r\n//\r\n// //mobile me\r\n// const MobileMeDefaultScreen = React.lazy(() => import(\"../mobile/screens/me/DefaultScreen\"));\r\n// const MobileMeProfileSettingScreen = React.lazy(() => import(\"../mobile/screens/me/ProfileSettingScreen\"));\r\n// const MobileMeStudyPlanListScreen = React.lazy(() => import(\"../mobile/screens/me/StudyPlanListScreen\"));\r\n// const MobileMeRewardPlanListScreen = React.lazy(() => import(\"../mobile/screens/me/RewardPlanListScreen\"));\r\n// const MobileMeFeedbackSuggestionScreen = React.lazy(() => import(\"../mobile/screens/me/FeedbackSuggestionScreen\"));\r\n// const MobileMeMemberScreen = React.lazy(() => import(\"../mobile/screens/me/MemberScreen\"));\r\n// const MobileMeInviteFriendScreen = React.lazy(() => import(\"../mobile/screens/me/InviteFriendScreen\"));\r\n// const MobileMeMyClassScreen = React.lazy(() => import(\"../mobile/screens/me/MyClassScreen\"));\r\n// const MobileMeMyWalletScreen = React.lazy(() => import(\"../mobile/screens/me/MyWalletScreen\"));\r\n// const MobileMePaymentHistoryScreen = React.lazy(() => import(\"../mobile/screens/me/PaymentHistoryScreen\"));\r\n// const MobileMeNotificationScreen = React.lazy(() => import(\"../mobile/screens/me/NotificationScreen\"));\r\n// const MobileMeLanguageScreen = React.lazy(() => import(\"../mobile/screens/me/LanguageScreen\"));\r\n// const MobileMeAboutScreen = React.lazy(() => import(\"../mobile/screens/me/AboutScreen\"));\r\n// const MobileMeDeleteAccountScreen = React.lazy(() => import(\"../mobile/screens/me/DeleteAccountScreen\"));\r\n// const MobileMeServerSettingScreen = React.lazy(() => import(\"../mobile/screens/me/ServerSettingScreen\"));\r\n// const MobileMeRecordsettingScreen = React.lazy(() => import(\"../mobile/screens/course/RecordSettingScreen\"));\r\n// const MobileMeResetPasswordScreen = React.lazy(() => import(\"../mobile/screens/me/ResetPasswordScreen\"));\r\n// const MobileMeLinkEmailScreen = React.lazy(() => import(\"../mobile/screens/me/LinkEmailScreen\"));\r\n// const MobileMeParentEmailScreenScreen = React.lazy(() => import(\"../mobile/screens/me/ParentEmailScreen\"));\r\n// const MobileMeMakePaymentScreen = React.lazy(() => import(\"../mobile/screens/me/MakePaymentScreen\"));\r\n// const MobileMeFundsDetailsScreen = React.lazy(() => import(\"../mobile/screens/me/FundsDetailsScreen\"));\r\n// const MobileMeWithdrawScreen = React.lazy(() => import(\"../mobile/screens/me/WithdrawScreen\"));\r\n// const MobileMeBankAccountScreen = React.lazy(() => import(\"../mobile/screens/me/BankAccountsScreen\"));\r\n// const MobileMeEditBankAccountScreen = React.lazy(() => import(\"../mobile/screens/me/EditBankAccountScreen\"));\r\n// const MobileMeRoomHistoryScreen = React.lazy(() => import(\"../mobile/screens/me/RoomHistoryScreen\"));\r\n// const MobileMeRoomHistoryDetailsScreen = React.lazy(() => import(\"../mobile/screens/me/RoomHistoryDetailsScreen\"));\r\n\r\n//作文\r\n// const CompositionAssignmentListScreen = React.lazy(() => import(\"../screens/admin/composition/AssignmentListScreen\"));\r\n// const CompositionAssignmentPreviewScreen = React.lazy(() => import(\"../screens/admin/composition/AssignmentPreviewScreen\"));\r\n// const CompositionAssignmentDetailsScreen = React.lazy(() => import(\"../screens/admin/composition/AssignmentDetailsScreen\"));\r\n//\r\n// const CompositionManagementListScreen = React.lazy(() => import(\"../screens/admin/composition/management/ListScreen\"));\r\n// const CompositionManagementReviewScreen = React.lazy(() => import(\"../screens/admin/composition/management/ReviewScreen\"));\r\n// const CompositionAiPromptsListScreen = React.lazy(() => import(\"../screens/admin/composition/aiprompts/ListScreen\"));\r\n// const CompositionAiPromptsEditScreen = React.lazy(() => import(\"../screens/admin/composition/aiprompts/EditScreen\"));\r\n// const CompositionAiPromptsAddScreen = React.lazy(() => import(\"../screens/admin/composition/aiprompts/AddScreen\"));\r\n// const CompositionManagementSummaryScreen = React.lazy(() => import(\"../screens/admin/composition/management/SummaryScreen\"));\r\n\r\n\r\nvar Routes = [\r\n {\r\n path: \"/account\",\r\n uid: UIDs.layouts.account,\r\n icon: \"\",\r\n component: \"null\",\r\n layout: \"\",\r\n name: \"account\",\r\n grade: \"\",\r\n },\r\n {\r\n path: \"/login\",\r\n uid: UIDs.screens.account.login,\r\n icon: \"\",\r\n component: \"LoginScreen\",\r\n layout: \"/account\",\r\n name: \"login\",\r\n grade: \"\",\r\n },\r\n {\r\n path: \"/agentlogin\",\r\n uid: UIDs.screens.account.agent,\r\n icon: \"\",\r\n component: \"TeacherLoginScreen\",\r\n layout: \"/account\",\r\n name: \"agentLogin\",\r\n grade: \"\",\r\n },\r\n {\r\n path: \"/teacherlogin\",\r\n uid: UIDs.screens.account.teacherlogin,\r\n icon: \"\",\r\n component: \"TeacherLoginScreen\",\r\n layout: \"/account\",\r\n name: \"teacherlogin\",\r\n grade: \"\",\r\n },\r\n {\r\n path: \"/userlogin\",\r\n uid: UIDs.screens.account.userlogin,\r\n icon: \"\",\r\n component: \"UserLoginScreen\",\r\n layout: \"/account\",\r\n name: \"userlogin\",\r\n grade: \"\",\r\n },\r\n {\r\n path: \"/userregister\",\r\n uid: UIDs.screens.account.userregister,\r\n icon: \"\",\r\n component: \"UserRegisterScreen\",\r\n layout: \"/account\",\r\n name: \"userregister\",\r\n grade: \"\",\r\n },\r\n {\r\n path: \"/activeteacher\",\r\n uid: UIDs.screens.account.activeteacher,\r\n icon: \"\",\r\n component: \"ActiveTeacherScreen\",\r\n layout: \"/account\",\r\n name: \"activeteacher\",\r\n grade: \"\",\r\n },\r\n {\r\n path: \"/forgotpassword\",\r\n uid: UIDs.screens.account.forgotpassword,\r\n component: \"ForgotPasswordScreen\",\r\n layout: \"/account\",\r\n name: \"forgotPassword\",\r\n grade: \"\",\r\n },\r\n {\r\n path: \"/:id/changepassword\",\r\n uid: UIDs.screens.account.changepassword,\r\n component: \"ChangePasswordScreen\",\r\n layout: \"/account\",\r\n name: \"changePassword\",\r\n grade: \"\",\r\n },\r\n {\r\n path: \"/register\",\r\n uid: UIDs.screens.account.register,\r\n icon: \"\",\r\n component: \"RegisterScreen\",\r\n layout: \"/account\",\r\n name: \"register\",\r\n grade: \"\",\r\n },\r\n {\r\n path: \"/:referralcode/registerpartner\",\r\n uid: UIDs.screens.account.registerpartner,\r\n icon: \"\",\r\n component: \"RegisterPartnerScreen\",\r\n layout: \"/account\",\r\n name: \"partnerRequest\",\r\n grade: \"\",\r\n },\r\n {\r\n path: \"/registerpartner\",\r\n uid: UIDs.screens.account.registerpartner,\r\n icon: \"\",\r\n component: \"RegisterPartnerScreen\",\r\n layout: \"/account\",\r\n name: \"partnerRequest\",\r\n grade: \"\",\r\n },\r\n {\r\n path: \"/admin\",\r\n uid: UIDs.layouts.admin,\r\n icon: \"\",\r\n component: \"null\",\r\n layout: \"\",\r\n name: \"admin\",\r\n grade: \"\",\r\n },\r\n {\r\n path: \"/dashboard\",\r\n uid: UIDs.screens.admin.dashboard,\r\n icon: \"\",\r\n component: \"DashboardScreen\",\r\n layout: \"/admin\",\r\n name: \"dashboard\",\r\n grade: \"1\",\r\n },\r\n {\r\n path: \"/chooseschool\",\r\n uid: UIDs.screens.admin.chooseschool,\r\n component: \"ChooseSchoolScreen\",\r\n layout: \"/admin\",\r\n },\r\n {\r\n path: \"#\",\r\n uid: UIDs.screens.admin.user.manageuser,\r\n icon: \"\",\r\n component: \"null\",\r\n layout: \"/admin\",\r\n name: \"user\",\r\n grade: \"1\",\r\n },\r\n {\r\n path: \"/user/manageuser\",\r\n uid: UIDs.screens.admin.user.manageuser,\r\n component: \"ManageUserScreen\",\r\n icon: \"iconfont icon-xiezuo\",\r\n layout: \"/admin\",\r\n name: \"studentuser\",\r\n },\r\n {\r\n path: \"/user/manageteacheruser\",\r\n uid: UIDs.screens.admin.user.manageteacheruser,\r\n component: \"ManageTeacherUserScreen\",\r\n icon: \"iconfont icon-laoshi\",\r\n layout: \"/admin\",\r\n name: \"teacheruser\",\r\n },\r\n {\r\n path: \"/user/manageagentuser\",\r\n uid: UIDs.screens.admin.user.manageagentuser,\r\n component: \"ManageAgentUserScreen\",\r\n icon: \"iconfont icon-daili\",\r\n layout: \"/admin\",\r\n name: \"agentuser\",\r\n },\r\n {\r\n path: \"/user/manageotheruser\",\r\n uid: UIDs.screens.admin.user.manageotheruser,\r\n component: \"ManageOtherUserScreen\",\r\n icon: \"iconfont icon-yonghu\",\r\n layout: \"/admin\",\r\n name: \"otheruser\",\r\n },\r\n {\r\n path: \"/partner/list\",\r\n uid: UIDs.screens.admin.partner.list,\r\n icon: \"iconfont icon-huoban\",\r\n component: \"PartnerListScreen\",\r\n layout: \"/admin\",\r\n name: \"partner\",\r\n },\r\n {\r\n path: \"/partner/:id/edit\",\r\n uid: UIDs.screens.admin.partner.edit,\r\n component: \"PartnerEditScreen\",\r\n layout: \"/admin\",\r\n },\r\n {\r\n path: \"/bookassignment/:id/details\",\r\n uid: UIDs.screens.admin.bookassignment.details,\r\n component: \"BookAssignmentDetailsScreen\",\r\n layout: \"/admin\",\r\n },\r\n {\r\n path: \"/bookassignment/add\",\r\n uid: UIDs.screens.admin.bookassignment.add,\r\n component: \"BookAssignmentAddScreen\",\r\n layout: \"/admin\",\r\n },\r\n {\r\n path: \"/bookassignment/:id/edit\",\r\n uid: UIDs.screens.admin.bookassignment.edit,\r\n component: \"BookAssignmentEditScreen\",\r\n layout: \"/admin\",\r\n },\r\n {\r\n path: \"#\",\r\n uid: UIDs.screens.admin.unittask.list,\r\n icon: \"\",\r\n component: \"null\",\r\n layout: \"/admin\",\r\n name: \"unittask\",\r\n grade: \"1\",\r\n },\r\n {\r\n path: \"/book/list\",\r\n uid: UIDs.screens.admin.book.list,\r\n icon: \"iconfont icon-zhizuoxitiji\",\r\n component: \"BookListScreen\",\r\n layout: \"/admin\",\r\n name: \"book\",\r\n grade: \"\",\r\n },\r\n {\r\n path: \"/book/:id/details\",\r\n uid: UIDs.screens.admin.book.details,\r\n component: \"BookDetailsScreen\",\r\n layout: \"/admin\",\r\n },\r\n {\r\n path: \"/book/:id/submit\",\r\n uid: UIDs.screens.admin.book.submit,\r\n component: \"BookSubmitScreen\",\r\n layout: \"/admin\",\r\n },\r\n {\r\n path: \"/book/add\",\r\n uid: UIDs.screens.admin.book.add,\r\n component: \"BookAddScreen\",\r\n layout: \"/admin\",\r\n },\r\n {\r\n path: \"/book/:id/edit\",\r\n uid: UIDs.screens.admin.book.edit,\r\n component: \"BookEditScreen\",\r\n layout: \"/admin\",\r\n },\r\n {\r\n path: \"/book/section/add\",\r\n uid: UIDs.screens.admin.book.addsection,\r\n component: \"BookAddSectionScreen\",\r\n layout: \"/admin\",\r\n },\r\n {\r\n path: \"/book/section/:id/edit\",\r\n uid: UIDs.screens.admin.book.editsection,\r\n component: \"BookEditSectionScreen\",\r\n layout: \"/admin\",\r\n },\r\n {\r\n path: \"/book/rawunit/add\",\r\n uid: UIDs.screens.admin.book.addrawunit,\r\n component: \"BookAddRawUnitcreen\",\r\n layout: \"/admin\",\r\n },\r\n {\r\n path: \"/book/rawunit/:id/edit\",\r\n uid: UIDs.screens.admin.book.editrawunit,\r\n component: \"BookEditRawUnitcreen\",\r\n layout: \"/admin\",\r\n },\r\n {\r\n path: \"/unittask/:type/list\",\r\n uid: UIDs.screens.admin.unittask.list,\r\n component: \"UnitTaskListScreen\",\r\n layout: \"/admin\",\r\n },\r\n {\r\n path: \"/unittask/:type/:courseid/detailslist/:status\",\r\n uid: UIDs.screens.admin.unittask.detailslist,\r\n component: \"UnitTaskDetailsListScreen\",\r\n layout: \"/admin\",\r\n },\r\n {\r\n path: \"/unittask/:courseId/templateconfirmation/:id\",\r\n uid: UIDs.screens.admin.unittask.templateconfirmation,\r\n component: \"UnitTaskTemplateConfirmationScreen\",\r\n layout: \"/admin\",\r\n },\r\n {\r\n path: \"/unittask/:courseId/templatevalidation/:id\",\r\n uid: UIDs.screens.admin.unittask.templatevalidation,\r\n component: \"UnitTaskTemplateValidationScreen\",\r\n layout: \"/admin\",\r\n },\r\n {\r\n path: \"/unittask/:courseId/makingpicture/:id\",\r\n uid: UIDs.screens.admin.unittask.makingpicture,\r\n component: \"MakingPictureScreen\",\r\n layout: \"/admin\",\r\n name: \"type1\",\r\n },\r\n {\r\n path: \"/unittask/:courseId/picturevalidation/:id\",\r\n uid: UIDs.screens.admin.unittask.picturevalidation,\r\n component: \"UnitTaskPictureValidationScreen\",\r\n layout: \"/admin\",\r\n },\r\n {\r\n path: \"/unittask/:courseId/testcontent/:id\",\r\n uid: UIDs.screens.admin.unittask.testcontent,\r\n component: \"UnitTaskTestContentScreen\",\r\n layout: \"/admin\",\r\n },\r\n {\r\n path: \"/unittask/:courseId/feedbackmodification/:id\",\r\n uid: UIDs.screens.admin.unittask.feedbackmodification,\r\n component: \"UnitTaskFeedbackModificationScreen\",\r\n layout: \"/admin\",\r\n },\r\n {\r\n path: \"/unittask/:courseId/prototypedesign/:id\",\r\n uid: UIDs.screens.admin.unittask.prototypedesign,\r\n component: \"UnitTaskPrototypeDesignScreen\",\r\n layout: \"/admin\",\r\n },\r\n {\r\n path: \"/unittask/:courseId/templatedevelopment/:id\",\r\n uid: UIDs.screens.admin.unittask.templatedevelopment,\r\n component: \"UnitTaskTemplateDevelopmentScreen\",\r\n layout: \"/admin\",\r\n },\r\n {\r\n path: \"/unittask/:courseId/picturevalidation/:id\",\r\n uid: UIDs.screens.admin.unittask.picturevalidation,\r\n component: \"UnitTaskPictureValidationScreen\",\r\n layout: \"/admin\",\r\n },\r\n {\r\n path: \"/unittask/1/list\",\r\n uid: UIDs.screens.admin.unittask.list,\r\n component: \"UnitTaskListScreen\",\r\n icon: \"iconfont icon-zhizuotupian\",\r\n layout: \"/admin\",\r\n name: \"type1\",\r\n },\r\n {\r\n path: \"/unittask/2/list\",\r\n uid: UIDs.screens.admin.unittask.list,\r\n component: \"UnitTaskListScreen\",\r\n icon: \"iconfont icon-xiaoyan\",\r\n layout: \"/admin\",\r\n name: \"type2\",\r\n },\r\n {\r\n path: \"/unittask/3/list\",\r\n uid: UIDs.screens.admin.unittask.list,\r\n component: \"UnitTaskListScreen\",\r\n icon: \"iconfont icon-mobanqueren\",\r\n layout: \"/admin\",\r\n name: \"type3\",\r\n },\r\n {\r\n path: \"/unittask/4/list\",\r\n uid: UIDs.screens.admin.unittask.list,\r\n component: \"UnitTaskListScreen\",\r\n icon: \"iconfont icon-xiaoyan\",\r\n layout: \"/admin\",\r\n name: \"type4\",\r\n },\r\n {\r\n path: \"/unittask/5/list\",\r\n uid: UIDs.screens.admin.unittask.list,\r\n component: \"UnitTaskListScreen\",\r\n icon: \"iconfont icon-yuanxingsheji\",\r\n layout: \"/admin\",\r\n name: \"type5\",\r\n },\r\n {\r\n path: \"/unittask/6/list\",\r\n uid: UIDs.screens.admin.unittask.list,\r\n component: \"UnitTaskListScreen\",\r\n icon: \"iconfont icon-kaifamoban\",\r\n layout: \"/admin\",\r\n name: \"type6\",\r\n },\r\n {\r\n path: \"/unittask/7/list\",\r\n uid: UIDs.screens.admin.unittask.list,\r\n component: \"UnitTaskListScreen\",\r\n icon: \"iconfont icon-ceshineirong\",\r\n layout: \"/admin\",\r\n name: \"type7\",\r\n },\r\n {\r\n path: \"/unittask/8/list\",\r\n uid: UIDs.screens.admin.unittask.list,\r\n component: \"UnitTaskListScreen\",\r\n icon: \"iconfont icon-fankuixiugai\",\r\n layout: \"/admin\",\r\n name: \"type8\",\r\n },\r\n {\r\n path: \"/unittask/publishinglist\",\r\n uid: UIDs.screens.admin.unittask.publishinglist,\r\n component: \"PublishingListScreen\",\r\n icon: \"iconfont icon-zongfahang\",\r\n layout: \"/admin\",\r\n name: \"publishing\",\r\n },\r\n {\r\n path: \"/book/:id/verification/:type\",\r\n uid: UIDs.screens.admin.unittask.verification,\r\n component: \"VerificationScreen\",\r\n layout: \"/admin\",\r\n name: \"verification\",\r\n },\r\n {\r\n path: \"#\",\r\n uid: UIDs.screens.admin.class,\r\n icon: \"\",\r\n component: \"null\",\r\n layout: \"/admin\",\r\n name: \"teaching\",\r\n grade: \"1\",\r\n },\r\n {\r\n path: \"/class/list\",\r\n uid: UIDs.screens.admin.class.list,\r\n icon: \"iconfont icon-wodebanji\",\r\n component: \"ClassListScreen\",\r\n layout: \"/admin\",\r\n name: \"class\",\r\n },\r\n {\r\n path: \"/class/:id/details\",\r\n uid: UIDs.screens.admin.class.details,\r\n component: \"ClassDetailsScreen\",\r\n layout: \"/admin\",\r\n },\r\n {\r\n path: \"/class/:id/shiftstudent\",\r\n uid: UIDs.screens.admin.class.shiftstudent,\r\n component: \"ShiftStudentScreen\",\r\n layout: \"/admin\",\r\n },\r\n {\r\n path: \"/class/:id/unregstudent\",\r\n uid: UIDs.screens.admin.class.unregstudent,\r\n component: \"UnregStudentScreen\",\r\n layout: \"/admin\",\r\n },\r\n {\r\n path: \"/class/:id/code\",\r\n uid: UIDs.screens.admin.class.code,\r\n component: \"ClassCodeScreen\",\r\n layout: \"/admin\",\r\n },\r\n {\r\n path: \"/:classId/class/:id/homeworkdetails/:submit\",\r\n uid: UIDs.screens.admin.class.homeworkdetails,\r\n component: \"ClassHomeworkDetailsScreen\",\r\n layout: \"/admin\",\r\n },\r\n {\r\n path: \"/class/add\",\r\n uid: UIDs.screens.admin.class.add,\r\n component: \"ClassAddScreen\",\r\n layout: \"/admin\",\r\n },\r\n {\r\n path: \"/class/:id/edit\",\r\n uid: UIDs.screens.admin.class.edit,\r\n component: \"ClassEditScreen\",\r\n layout: \"/admin\",\r\n },\r\n {\r\n path: \"/class/student/import\",\r\n uid: UIDs.screens.admin.class.student.import,\r\n component: \"SIDImportScreen\",\r\n layout: \"/admin\",\r\n },\r\n {\r\n path: \"/class/student/add\",\r\n uid: UIDs.screens.admin.class.student.add,\r\n component: \"SIDAddScreen\",\r\n layout: \"/admin\",\r\n },\r\n {\r\n path: \"/class/student/:id/edit\",\r\n uid: UIDs.screens.admin.class.student.edit,\r\n component: \"SIDEditScreen\",\r\n layout: \"/admin\",\r\n },\r\n {\r\n path: \"/class/student/:id/details\",\r\n uid: UIDs.screens.admin.class.student.details,\r\n component: \"SIDDetailsScreen\",\r\n layout: \"/admin\",\r\n },\r\n {\r\n path: \"/class/student/:id/:classId/changepassword\",\r\n uid: UIDs.screens.admin.class.student.changepassword,\r\n component: \"SIDChangePasswordScreen\",\r\n layout: \"/admin\",\r\n },\r\n {\r\n path: \"/homework/assignmentlist\",\r\n uid: UIDs.screens.admin.homework.assignmentlist,\r\n icon: \"iconfont icon-buzhizuoye\",\r\n component: \"AssignmentListScreen\",\r\n layout: \"/admin\",\r\n name: \"assignment\",\r\n },\r\n {\r\n path: \"/homework/assignmentpreview\",\r\n uid: UIDs.screens.admin.homework.assignmentpreview,\r\n component: \"AssignmentPreviewScreen\",\r\n layout: \"/admin\",\r\n },\r\n {\r\n path: \"/homework/assignmentdetails\",\r\n uid: UIDs.screens.admin.homework.assignmentdetails,\r\n component: \"AssignmentDetailsScreen\",\r\n layout: \"/admin\",\r\n },\r\n {\r\n path: \"/homework/list\",\r\n uid: UIDs.screens.admin.homework.list,\r\n icon: \"\",\r\n component: \"HomeworkListScreen\",\r\n layout: \"/admin\",\r\n name: \"homework\",\r\n },\r\n {\r\n path: \"/homework/:id/details\",\r\n uid: UIDs.screens.admin.homework.details,\r\n component: \"HomeworkDetailsScreen\",\r\n layout: \"/admin\",\r\n },\r\n {\r\n path: \"/homework/details/addunit\",\r\n uid: UIDs.screens.admin.homework.addunit,\r\n component: \"HomeworkAddUnitScreen\",\r\n layout: \"/admin\",\r\n },\r\n {\r\n path: \"/homework/add\",\r\n uid: UIDs.screens.admin.homework.add,\r\n component: \"HomeworkAddScreen\",\r\n layout: \"/admin\",\r\n },\r\n {\r\n path: \"/homework/:id/edit\",\r\n uid: UIDs.screens.admin.homework.edit,\r\n component: \"HomeworkEditScreen\",\r\n layout: \"/admin\",\r\n },\r\n {\r\n path: \"/homework/:id/assign\",\r\n uid: UIDs.screens.admin.homework.assign,\r\n component: \"HomeworkAssignScreen\",\r\n layout: \"/admin\",\r\n },\r\n {\r\n path: \"/homework/reviews/list\",\r\n uid: UIDs.screens.admin.homework.reviewlist,\r\n component: \"HomeworkReviewListScreen\",\r\n layout: \"/admin\",\r\n name: \"review\",\r\n },\r\n {\r\n path: \"/homework/comments/list\",\r\n uid: UIDs.screens.admin.homework.commentlist,\r\n icon: \"\",\r\n component: \"HomeworkCommentListScreen\",\r\n layout: \"/admin\",\r\n name: \"review\",\r\n },\r\n {\r\n path: \"/homework/comments/:homeworkAssignmentId/list/:revised\",\r\n uid: UIDs.screens.admin.homework.classcommentlist,\r\n component: \"HomeworkClassCommentListScreen\",\r\n layout: \"/admin\",\r\n },\r\n {\r\n path: \"/homework/classreviews/list\",\r\n uid: UIDs.screens.admin.homework.classreviewlist,\r\n component: \"HomeworkClassReviewListScreen\",\r\n layout: \"/admin\",\r\n },\r\n {\r\n path: \"/homework/comments/commentdetails\",\r\n uid: UIDs.screens.admin.homework.commentdetails,\r\n component: \"HomeworkCommentDetailsScreen\",\r\n layout: \"/admin\",\r\n },\r\n {\r\n path: \"/homework/comments/reviewdetails\",\r\n uid: UIDs.screens.admin.homework.reviewdetails,\r\n component: \"HomeworkReviewDetailsScreen\",\r\n layout: \"/admin\",\r\n },\r\n {\r\n path: \"/homework/unitdetails/:id\",\r\n uid: UIDs.screens.admin.homework.unitdetails,\r\n component: \"HomeworkUnitDetailsScreen\",\r\n layout: \"/admin\",\r\n },\r\n {\r\n path: \"/homework/management/list\",\r\n uid: UIDs.screens.admin.homework.management.list,\r\n icon: \"iconfont icon-guanlizuoye\",\r\n component: \"HomeworkManagementListScreen\",\r\n layout: \"/admin\",\r\n name: \"management\",\r\n },\r\n {\r\n path: \"/homework/management/:id/makeuplist\",\r\n uid: UIDs.screens.admin.homework.management.makeuplist,\r\n component: \"HomeworkManagementMakeupListScreen\",\r\n layout: \"/admin\",\r\n },\r\n {\r\n path: \"/homework/management/homeworksummary\",\r\n uid: UIDs.screens.admin.homework.management.homeworksummary,\r\n component: \"HomeworkManagementHomeworkSummaryScreen\",\r\n layout: \"/admin\",\r\n },\r\n {\r\n path: \"/homework/management/:id/summary\",\r\n uid: UIDs.screens.admin.homework.management.summary,\r\n component: \"HomeworkManagementSummaryScreen\",\r\n layout: \"/admin\",\r\n },\r\n {\r\n path: \"/homework/management/:id/reviewlist\",\r\n uid: UIDs.screens.admin.homework.management.reviewlist,\r\n component: \"HomeworkManagementReviewListScreen\",\r\n layout: \"/admin\",\r\n },\r\n {\r\n path: \"/homework/management/review/:id\",\r\n uid: UIDs.screens.admin.homework.management.review,\r\n component: \"HomeworkManagementReviewScreen\",\r\n layout: \"/admin\",\r\n },\r\n {\r\n path: \"#\",\r\n uid: UIDs.screens.admin.composition.assignmentlist,\r\n icon: \"\",\r\n component: \"null\",\r\n layout: \"/admin\",\r\n name: \"composition\",\r\n grade: \"1\",\r\n },\r\n {\r\n path: \"/composition/assignmentlist\",\r\n uid: UIDs.screens.admin.composition.assignmentlist,\r\n icon: \"iconfont icon-zuowen\",\r\n component: \"CompositionAssignmentListScreen\",\r\n layout: \"/admin\",\r\n name: \"assignmentComposition\",\r\n },\r\n {\r\n path: \"/composition/assignmentpreview\",\r\n uid: UIDs.screens.admin.composition.assignmentpreview,\r\n component: \"CompositionAssignmentPreviewScreen\",\r\n layout: \"/admin\",\r\n },\r\n {\r\n path: \"/composition/assignmentdetails\",\r\n uid: UIDs.screens.admin.composition.assignmentdetails,\r\n component: \"CompositionAssignmentDetailsScreen\",\r\n layout: \"/admin\",\r\n },\r\n {\r\n path: \"/composition/management/list\",\r\n uid: UIDs.screens.admin.composition.management.list,\r\n icon: \"iconfont icon-guanlizuowen\",\r\n component: \"CompositionManagementListScreen\",\r\n layout: \"/admin\",\r\n name: \"managementComposition\",\r\n },\r\n {\r\n path: \"/composition/aiprompts/list\",\r\n uid: UIDs.screens.admin.composition.aiprompts.list,\r\n component: \"CompositionAiPromptsListScreen\",\r\n layout: \"/admin\",\r\n },\r\n {\r\n path: \"/composition/aiprompts/edit\",\r\n uid: UIDs.screens.admin.composition.aiprompts.edit,\r\n component: \"CompositionAiPromptsEditScreen\",\r\n layout: \"/admin\",\r\n },\r\n {\r\n path: \"/composition/aiprompts/add\",\r\n uid: UIDs.screens.admin.composition.aiprompts.add,\r\n component: \"CompositionAiPromptsAddScreen\",\r\n layout: \"/admin\",\r\n },\r\n {\r\n path: \"/composition/management/review/:id\",\r\n uid: UIDs.screens.admin.composition.management.review,\r\n component: \"CompositionManagementReviewScreen\",\r\n layout: \"/admin\",\r\n },\r\n {\r\n path: \"/composition/management/:id/summary\",\r\n uid: UIDs.screens.admin.composition.management.review,\r\n component: \"CompositionManagementSummaryScreen\",\r\n layout: \"/admin\",\r\n },\r\n {\r\n path: \"#\",\r\n uid: UIDs.screens.admin.bbs.list,\r\n icon: \"\",\r\n component: \"null\",\r\n layout: \"/admin\",\r\n name: \"bbs\",\r\n grade: \"1\",\r\n },\r\n {\r\n path: \"/bbs/list\",\r\n uid: UIDs.screens.admin.bbs.list,\r\n icon: \"iconfont icon-a-lujing292\",\r\n component: \"BbsListScreen\",\r\n layout: \"/admin\",\r\n name: \"bbs\",\r\n },\r\n {\r\n path: \"/bbs/:id/details\",\r\n uid: UIDs.screens.admin.bbs.details,\r\n component: \"BbsDetailsScreen\",\r\n layout: \"/admin\",\r\n },\r\n {\r\n path: \"/bbs/add\",\r\n uid: UIDs.screens.admin.bbs.add,\r\n component: \"BbsAddScreen\",\r\n layout: \"/admin\",\r\n },\r\n {\r\n path: \"/bbs/:id/edit\",\r\n uid: UIDs.screens.admin.bbs.edit,\r\n component: \"BbsEditScreen\",\r\n layout: \"/admin\",\r\n },\r\n {\r\n path: \"/bbs/me\",\r\n uid: UIDs.screens.admin.bbs.me,\r\n icon: \"iconfont icon-a-zu1179\",\r\n component: \"BbsMeScreen\",\r\n layout: \"/admin\",\r\n name: \"me\",\r\n },\r\n {\r\n path: \"/bbs/message\",\r\n uid: UIDs.screens.admin.bbs.message,\r\n component: \"BbsMessageScreen\",\r\n layout: \"/admin\",\r\n },\r\n {\r\n path: \"#\",\r\n uid: UIDs.screens.admin.jiaocai,\r\n icon: \"\",\r\n component: \"null\",\r\n layout: \"/admin\",\r\n name: \"textbook\",\r\n grade: \"1\",\r\n },\r\n {\r\n path: \"/bookgroup/list\",\r\n uid: UIDs.screens.admin.bookgroup.list,\r\n icon: \"iconfont icon-wodexitiji\",\r\n component: \"BookgroupListScreen\",\r\n layout: \"/admin\",\r\n name: \"bookgroup\",\r\n },\r\n {\r\n path: \"/bookgroup/:id/details\",\r\n uid: UIDs.screens.admin.bookgroup.details,\r\n component: \"BookgroupDetailsScreen\",\r\n layout: \"/admin\",\r\n },\r\n {\r\n path: \"/bookgroup/:id/edit\",\r\n uid: UIDs.screens.admin.bookgroup.edit,\r\n component: \"BookgroupEditScreen\",\r\n layout: \"/admin\",\r\n },\r\n {\r\n path: \"/product/list\",\r\n uid: UIDs.screens.admin.product.list,\r\n icon: \"iconfont icon-chanpin\",\r\n component: \"ProductListScreen\",\r\n layout: \"/admin\",\r\n name: \"product\",\r\n },\r\n {\r\n path: \"/product/:id/details\",\r\n uid: UIDs.screens.admin.product.details,\r\n component: \"ProductDetailsScreen\",\r\n layout: \"/admin\",\r\n },\r\n {\r\n path: \"/product/add\",\r\n uid: UIDs.screens.admin.product.add,\r\n component: \"ProductAddScreen\",\r\n layout: \"/admin\",\r\n },\r\n {\r\n path: \"/product/:id/edit\",\r\n uid: UIDs.screens.admin.product.edit,\r\n component: \"ProductEditScreen\",\r\n layout: \"/admin\",\r\n },\r\n {\r\n path: \"/course/list\",\r\n uid: UIDs.screens.admin.course.list,\r\n icon: \"iconfont icon-kecheng\",\r\n component: \"CourseListScreen\",\r\n layout: \"/admin\",\r\n name: \"course\",\r\n },\r\n {\r\n path: \"/course/:id/details\",\r\n uid: UIDs.screens.admin.course.details,\r\n component: \"CourseDetailsScreen\",\r\n layout: \"/admin\",\r\n },\r\n {\r\n path: \"/course/add\",\r\n uid: UIDs.screens.admin.course.add,\r\n component: \"CourseAddScreen\",\r\n layout: \"/admin\",\r\n },\r\n {\r\n path: \"/course/:id/edit\",\r\n uid: UIDs.screens.admin.course.edit,\r\n component: \"CourseEditScreen\",\r\n layout: \"/admin\",\r\n },\r\n {\r\n path: \"/section/list\",\r\n uid: UIDs.screens.admin.section.list,\r\n icon: \"iconfont icon-zhangjie\",\r\n component: \"SectionListScreen\",\r\n layout: \"/admin\",\r\n name: \"section\",\r\n },\r\n {\r\n path: \"/section/:id/details\",\r\n uid: UIDs.screens.admin.section.details,\r\n component: \"SectionDetailsScreen\",\r\n layout: \"/admin\",\r\n },\r\n {\r\n path: \"/section/add\",\r\n uid: UIDs.screens.admin.section.add,\r\n component: \"SectionAddScreen\",\r\n layout: \"/admin\",\r\n },\r\n {\r\n path: \"/section/:id/edit\",\r\n uid: UIDs.screens.admin.section.edit,\r\n component: \"SectionEditScreen\",\r\n layout: \"/admin\",\r\n },\r\n {\r\n path: \"/unit/list\",\r\n uid: UIDs.screens.admin.unit.list,\r\n icon: \"iconfont icon-danyuan\",\r\n component: \"UnitListScreen\",\r\n layout: \"/admin\",\r\n name: \"unit\",\r\n },\r\n {\r\n path: \"/unit/:id/details\",\r\n uid: UIDs.screens.admin.unit.details,\r\n component: \"UnitDetailsScreen\",\r\n layout: \"/admin\",\r\n },\r\n {\r\n path: \"/unit/add\",\r\n uid: UIDs.screens.admin.unit.add,\r\n component: \"UnitAddScreen\",\r\n layout: \"/admin\",\r\n },\r\n {\r\n path: \"/unit/batchadd\",\r\n uid: UIDs.screens.admin.unit.batchadd,\r\n component: \"UnitBatchAddScreen\",\r\n layout: \"/admin\",\r\n },\r\n {\r\n path: \"/unit/simplebatchadd\",\r\n uid: UIDs.screens.admin.unit.simplebatchadd,\r\n component: \"UnitSimpleBatchAddScreen\",\r\n layout: \"/admin\",\r\n },\r\n {\r\n path: \"/unit/batchexport\",\r\n uid: UIDs.screens.admin.unit.batchexport,\r\n component: \"UnitBatchExportScreen\",\r\n layout: \"/admin\",\r\n },\r\n {\r\n path: \"/unit/:id/edit\",\r\n uid: UIDs.screens.admin.unit.edit,\r\n component: \"UnitEditScreen\",\r\n layout: \"/admin\",\r\n },\r\n {\r\n path: \"/unit/move\",\r\n uid: UIDs.screens.admin.unit.move,\r\n component: \"UnitMoveScreen\",\r\n layout: \"/admin\",\r\n },\r\n {\r\n path: \"/oralbook/list\",\r\n uid: UIDs.screens.admin.oralbook.list,\r\n icon: \"iconfont icon-kouyuxitiji\",\r\n component: \"OralBookListScreen\",\r\n layout: \"/admin\",\r\n name: \"oralbook\",\r\n },\r\n {\r\n path: \"/oralbook/:id/details\",\r\n uid: UIDs.screens.admin.oralbook.details,\r\n component: \"OralBookDetailsScreen\",\r\n layout: \"/admin\",\r\n },\r\n {\r\n path: \"/oralbook/:id/submit\",\r\n uid: UIDs.screens.admin.oralbook.submit,\r\n component: \"OralBookSubmitScreen\",\r\n layout: \"/admin\",\r\n },\r\n {\r\n path: \"/oralbook/add\",\r\n uid: UIDs.screens.admin.oralbook.add,\r\n component: \"OralBookAddScreen\",\r\n layout: \"/admin\",\r\n },\r\n {\r\n path: \"/oralbook/:id/edit\",\r\n uid: UIDs.screens.admin.oralbook.edit,\r\n component: \"OralBookEditScreen\",\r\n layout: \"/admin\",\r\n },\r\n {\r\n path: \"/oralbook/section/add\",\r\n uid: UIDs.screens.admin.oralbook.addsection,\r\n component: \"OralBookAddSectionScreen\",\r\n layout: \"/admin\",\r\n },\r\n {\r\n path: \"/oralbook/section/:id/edit\",\r\n uid: UIDs.screens.admin.oralbook.editsection,\r\n component: \"OralBookEditSectionScreen\",\r\n layout: \"/admin\",\r\n },\r\n {\r\n path: \"/oralbook/unit/add\",\r\n uid: UIDs.screens.admin.oralbook.addunit,\r\n component: \"OralBookAddUnitcreen\",\r\n layout: \"/admin\",\r\n },\r\n {\r\n path: \"/oralbook/unit/:id/edit\",\r\n uid: UIDs.screens.admin.oralbook.editunit,\r\n component: \"OralBookEditUnitcreen\",\r\n layout: \"/admin\",\r\n },\r\n {\r\n path: \"/readingbook/list\",\r\n uid: UIDs.screens.admin.readingbook.list,\r\n icon: \"iconfont icon-yueduxitiji\",\r\n component: \"ReadingBookListScreen\",\r\n layout: \"/admin\",\r\n name: \"readingbook\",\r\n },\r\n {\r\n path: \"/readingbook/:id/details\",\r\n uid: UIDs.screens.admin.readingbook.details,\r\n component: \"ReadingBookDetailsScreen\",\r\n layout: \"/admin\",\r\n },\r\n {\r\n path: \"/readingbook/:id/submit\",\r\n uid: UIDs.screens.admin.readingbook.submit,\r\n component: \"ReadingBookSubmitScreen\",\r\n layout: \"/admin\",\r\n },\r\n {\r\n path: \"/readingbook/add\",\r\n uid: UIDs.screens.admin.readingbook.add,\r\n component: \"ReadingBookAddScreen\",\r\n layout: \"/admin\",\r\n },\r\n {\r\n path: \"/readingbook/:id/edit\",\r\n uid: UIDs.screens.admin.readingbook.edit,\r\n component: \"ReadingBookEditScreen\",\r\n layout: \"/admin\",\r\n },\r\n {\r\n path: \"/readingbook/section/add\",\r\n uid: UIDs.screens.admin.readingbook.addsection,\r\n component: \"ReadingBookAddSectionScreen\",\r\n layout: \"/admin\",\r\n },\r\n {\r\n path: \"/readingbook/section/:id/edit\",\r\n uid: UIDs.screens.admin.readingbook.editsection,\r\n component: \"ReadingBookEditSectionScreen\",\r\n layout: \"/admin\",\r\n },\r\n {\r\n path: \"/readingbook/unit/add\",\r\n uid: UIDs.screens.admin.readingbook.addunit,\r\n component: \"ReadingBookAddUnitcreen\",\r\n layout: \"/admin\",\r\n },\r\n {\r\n path: \"/readingbook/unit/:id/edit\",\r\n uid: UIDs.screens.admin.readingbook.editunit,\r\n component: \"ReadingBookEditUnitcreen\",\r\n layout: \"/admin\",\r\n },\r\n {\r\n path: \"/talkchinese/list\",\r\n uid: UIDs.screens.admin.talkchinese.list,\r\n icon: \"iconfont icon-kaikouhanyu1\",\r\n component: \"TalkChineseListScreen\",\r\n layout: \"/admin\",\r\n name: \"talkchinese\",\r\n grade: \"0\",\r\n },\r\n {\r\n path: \"/talkchinese/add\",\r\n uid: UIDs.screens.admin.talkchinese.add,\r\n component: \"TalkChineseAddScreen\",\r\n layout: \"/admin\",\r\n },\r\n {\r\n path: \"/talkchinese/:id/edit\",\r\n uid: UIDs.screens.admin.talkchinese.edit,\r\n component: \"TalkChineseEditScreen\",\r\n layout: \"/admin\",\r\n },\r\n {\r\n path: \"/talkchinese/adddialog\",\r\n uid: UIDs.screens.admin.talkchinese.adddialog,\r\n component: \"TalkChineseAddDialogScreen\",\r\n layout: \"/admin\",\r\n },\r\n {\r\n path: \"/talkchinese/:id/editdialog\",\r\n uid: UIDs.screens.admin.talkchinese.editdialog,\r\n component: \"TalkChineseEditDialogScreen\",\r\n layout: \"/admin\",\r\n },\r\n {\r\n path: \"/talkchinese/:id/details\",\r\n uid: UIDs.screens.admin.talkchinese.details,\r\n component: \"TalkChineseDetailsScreen\",\r\n layout: \"/admin\",\r\n },\r\n {\r\n path: \"/bookassignment/list\",\r\n uid: UIDs.screens.admin.bookassignment.list,\r\n icon: \"iconfont icon-fenpeixitiji\",\r\n component: \"BookAssignmentListScreen\",\r\n layout: \"/admin\",\r\n name: \"assignbook\",\r\n },\r\n {\r\n path: \"/teaching/course/list\",\r\n uid: UIDs.screens.admin.teaching.course.list,\r\n icon: \"\",\r\n component: \"CourseListScreen\",\r\n layout: \"/admin\",\r\n name: \"courses\",\r\n },\r\n {\r\n path: \"/:classId/class/:id/unsubmitdetails\",\r\n uid: UIDs.screens.admin.homework.unsubmitdetails,\r\n component: \"UnsubmitDetailsScreen\",\r\n layout: \"/admin\",\r\n },\r\n {\r\n path: \"/exam/list\",\r\n uid: UIDs.screens.admin.exam.list,\r\n icon: \"\",\r\n component: \"ExamListScreen\",\r\n layout: \"/admin\",\r\n name: \"exam\",\r\n grade: \"1\",\r\n },\r\n {\r\n path: \"/exam/:id/details\",\r\n uid: UIDs.screens.admin.exam.details,\r\n component: \"ExamDetailsScreen\",\r\n layout: \"/admin\",\r\n },\r\n {\r\n path: \"/exam/add\",\r\n uid: UIDs.screens.admin.exam.add,\r\n component: \"ExamAddScreen\",\r\n layout: \"/admin\",\r\n },\r\n {\r\n path: \"/exam/:id/edit\",\r\n uid: UIDs.screens.admin.exam.edit,\r\n component: \"ExamEditScreen\",\r\n layout: \"/admin\",\r\n },\r\n {\r\n path: \"#\",\r\n uid: UIDs.screens.admin.dictionary.letter.list,\r\n icon: \"\",\r\n component: \"null\",\r\n layout: \"/admin\",\r\n name: \"dictionary\",\r\n grade: \"1\",\r\n },\r\n {\r\n path: \"/dictionary/letter/list\",\r\n uid: UIDs.screens.admin.dictionary.letter.list,\r\n icon: \"iconfont icon-zi\",\r\n component: \"LetterListScreen\",\r\n layout: \"/admin\",\r\n name: \"letter\",\r\n grade: \"\",\r\n },\r\n {\r\n path: \"/dictionary/letter/:id/details\",\r\n uid: UIDs.screens.admin.dictionary.letter.details,\r\n icon: \"\",\r\n component: \"LetterDetailsScreen\",\r\n layout: \"/admin\",\r\n },\r\n {\r\n path: \"/dictionary/letter/add\",\r\n uid: UIDs.screens.admin.dictionary.letter.add,\r\n icon: \"\",\r\n component: \"LetterAddScreen\",\r\n layout: \"/admin\",\r\n },\r\n {\r\n path: \"/dictionary/letter/:id/edit\",\r\n uid: UIDs.screens.admin.dictionary.letter.edit,\r\n icon: \"\",\r\n component: \"LetterEditScreen\",\r\n layout: \"/admin\",\r\n },\r\n {\r\n path: \"/dictionary/lettersen/list\",\r\n uid: UIDs.screens.admin.dictionary.lettersen.list,\r\n icon: \"iconfont icon-zi\",\r\n component: \"LettersEnListScreen\",\r\n layout: \"/admin\",\r\n name: \"lettersen\",\r\n grade: \"\",\r\n },\r\n {\r\n path: \"/dictionary/lettersen/:id/details\",\r\n uid: UIDs.screens.admin.dictionary.lettersen.details,\r\n icon: \"\",\r\n component: \"LettersEnDetailsScreen\",\r\n layout: \"/admin\",\r\n },\r\n {\r\n path: \"/dictionary/lettersen/add\",\r\n uid: UIDs.screens.admin.dictionary.lettersen.add,\r\n icon: \"\",\r\n component: \"LettersEnAddScreen\",\r\n layout: \"/admin\",\r\n },\r\n {\r\n path: \"/dictionary/lettersen/:id/edit\",\r\n uid: UIDs.screens.admin.dictionary.lettersen.edit,\r\n icon: \"\",\r\n component: \"LettersEnEditScreen\",\r\n layout: \"/admin\",\r\n },\r\n\r\n\r\n {\r\n path: \"/dictionary/pinyin/list\",\r\n uid: UIDs.screens.admin.dictionary.pinyin.list,\r\n icon: \"iconfont icon-pin\",\r\n component: \"PinyinListScreen\",\r\n layout: \"/admin\",\r\n name: \"pinyin\",\r\n grade: \"\",\r\n },\r\n {\r\n path: \"/dictionary/pinyin/:spelling/details\",\r\n uid: UIDs.screens.admin.dictionary.pinyin.details,\r\n icon: \"\",\r\n component: \"PinyinDetailsScreen\",\r\n layout: \"/admin\",\r\n },\r\n {\r\n path: \"/dictionary/pinyin/add\",\r\n uid: UIDs.screens.admin.dictionary.pinyin.add,\r\n icon: \"\",\r\n component: \"PinyinAddScreen\",\r\n layout: \"/admin\",\r\n },\r\n {\r\n path: \"/dictionary/pinyin/edit\",\r\n uid: UIDs.screens.admin.dictionary.pinyin.edit,\r\n icon: \"\",\r\n component: \"PinyinEditScreen\",\r\n layout: \"/admin\",\r\n },\r\n {\r\n path: \"/dictionary/radical/list\",\r\n uid: UIDs.screens.admin.dictionary.radical.list,\r\n icon: \"iconfont icon-pianpangbushou\",\r\n component: \"RadicalListScreen\",\r\n layout: \"/admin\",\r\n name: \"radical\",\r\n grade: \"\",\r\n },\r\n {\r\n path: \"/dictionary/radical/:id/details\",\r\n uid: UIDs.screens.admin.dictionary.radical.details,\r\n icon: \"\",\r\n component: \"RadicalDetailsScreen\",\r\n layout: \"/admin\",\r\n },\r\n {\r\n path: \"/dictionary/radical/add\",\r\n uid: UIDs.screens.admin.dictionary.radical.add,\r\n icon: \"\",\r\n component: \"RadicalAddScreen\",\r\n layout: \"/admin\",\r\n },\r\n {\r\n path: \"/dictionary/radical/:id/edit\",\r\n uid: UIDs.screens.admin.dictionary.radical.edit,\r\n icon: \"\",\r\n component: \"RadicalEditScreen\",\r\n layout: \"/admin\",\r\n },\r\n {\r\n path: \"/dictionary/word/list\",\r\n uid: UIDs.screens.admin.dictionary.word.list,\r\n icon: \"iconfont icon-ciyu\",\r\n component: \"WordListScreen\",\r\n layout: \"/admin\",\r\n name: \"word\",\r\n grade: \"\",\r\n },\r\n {\r\n path: \"/dictionary/word/:id/details\",\r\n uid: UIDs.screens.admin.dictionary.word.details,\r\n icon: \"\",\r\n component: \"WordDetailsScreen\",\r\n layout: \"/admin\",\r\n },\r\n {\r\n path: \"/dictionary/word/add\",\r\n uid: UIDs.screens.admin.dictionary.word.add,\r\n icon: \"\",\r\n component: \"WordAddScreen\",\r\n layout: \"/admin\",\r\n },\r\n {\r\n path: \"/dictionary/word/batchadd\",\r\n uid: UIDs.screens.admin.dictionary.word.batchadd,\r\n icon: \"\",\r\n component: \"WordBatchAddScreen\",\r\n layout: \"/admin\",\r\n },\r\n {\r\n path: \"/dictionary/word/:id/edit\",\r\n uid: UIDs.screens.admin.dictionary.word.edit,\r\n icon: \"\",\r\n component: \"WordEditScreen\",\r\n layout: \"/admin\",\r\n },\r\n {\r\n path: \"/dictionary/word/:id/editjson\",\r\n uid: UIDs.screens.admin.dictionary.word.editjson,\r\n icon: \"\",\r\n component: \"WordEditJsonScreen\",\r\n layout: \"/admin\",\r\n },\r\n {\r\n path: \"/dictionary/sentence/list\",\r\n uid: UIDs.screens.admin.dictionary.sentence.list,\r\n icon: \"iconfont icon-dujuzi\",\r\n component: \"SentenceListScreen\",\r\n layout: \"/admin\",\r\n name: \"sentence\",\r\n grade: \"\",\r\n },\r\n {\r\n path: \"/dictionary/sentence/:id/details\",\r\n uid: UIDs.screens.admin.dictionary.sentence.details,\r\n icon: \"\",\r\n component: \"SentenceDetailsScreen\",\r\n layout: \"/admin\",\r\n },\r\n {\r\n path: \"/dictionary/sentence/:id/edit\",\r\n uid: UIDs.screens.admin.dictionary.sentence.edit,\r\n icon: \"\",\r\n component: \"SentenceEditScreen\",\r\n layout: \"/admin\",\r\n },\r\n {\r\n path: \"/syllable/list\",\r\n uid: UIDs.screens.admin.syllable.list,\r\n icon: \"iconfont icon-pinyin\",\r\n component: \"SyllableListScreen\",\r\n layout: \"/admin\",\r\n name: \"syllable\",\r\n grade: \"\",\r\n },\r\n {\r\n path: \"#\",\r\n uid: UIDs.screens.admin.setting,\r\n icon: \"\",\r\n component: \"SettingScreen\",\r\n layout: \"/admin\",\r\n name: \"configuration\",\r\n grade: \"1\",\r\n },\r\n {\r\n path: \"/setting\",\r\n uid: UIDs.screens.admin.setting,\r\n icon: \"iconfont icon-shezhi\",\r\n component: \"SettingScreen\",\r\n layout: \"/admin\",\r\n name: \"settings\",\r\n grade: \"0\",\r\n },\r\n {\r\n path: \"/voicesetting\",\r\n uid: UIDs.screens.admin.voicesetting,\r\n icon: \"iconfont icon-yuyinshezhi\",\r\n component: \"VoiceSettingScreen\",\r\n layout: \"/admin\",\r\n name: \"voiceSettings\",\r\n grade: \"0\",\r\n },\r\n {\r\n path: \"/automarknumber\",\r\n uid: UIDs.screens.admin.automarknumber,\r\n icon: \"iconfont icon-yuyinshezhi\",\r\n component: \"AutoMarkNumberScreen\",\r\n layout: \"/admin\",\r\n name: \"AutoMarkNumber\",\r\n grade: \"0\",\r\n },\r\n {\r\n path: \"/servicesetting\",\r\n uid: UIDs.screens.admin.servicesetting,\r\n icon: \"iconfont icon-fuwushezhi\",\r\n component: \"ServiceSettingScreen\",\r\n layout: \"/admin\",\r\n name: \"serviceSettings\",\r\n grade: \"0\",\r\n },\r\n {\r\n path: \"/regionserversetting\",\r\n uid: UIDs.screens.admin.regionserversetting,\r\n icon: \"iconfont icon-fuwuqishezhi\",\r\n component: \"RegionServerSettingScreen\",\r\n layout: \"/admin\",\r\n name: \"regionServerSettings\",\r\n grade: \"0\",\r\n },\r\n {\r\n path: \"/testspeechrecognition\",\r\n uid: UIDs.screens.admin.testspeechrecognition,\r\n icon: \"iconfont icon-ceshiyuyin\",\r\n component: \"TestSpeechRecognitionScreen\",\r\n layout: \"/admin\",\r\n name: \"testSpeechRecognition\",\r\n grade: \"0\",\r\n },\r\n {\r\n path: \"/offlineproblem\",\r\n uid: UIDs.screens.admin.servicesetting,\r\n icon: \"iconfont icon-lixian1\",\r\n component: \"OfflineProblemScreen\",\r\n layout: \"/admin\",\r\n name: \"offlineproblems\",\r\n grade: \"0\",\r\n },\r\n {\r\n path: \"/redenvelopesetting\",\r\n uid: UIDs.screens.admin.redenvelopesetting,\r\n icon: \"iconfont icon-hongbao\",\r\n component: \"RedEnvelopeSettingScreen\",\r\n layout: \"/admin\",\r\n name: \"redenvelopesettings\",\r\n },\r\n {\r\n path: \"/chineseparksetting\",\r\n uid: UIDs.screens.admin.chineseparksetting,\r\n icon: \"iconfont icon-hanyujiaofuwuduan\",\r\n component: \"ChineseParkSettingScreen\",\r\n layout: \"/admin\",\r\n name: \"chineseparksettings\",\r\n },\r\n {\r\n path: \"/featureconfiguration\",\r\n uid: UIDs.screens.admin.featureconfiguration,\r\n icon: \"iconfont icon-kaiguan\",\r\n component: \"FeatureConfigurationScreen\",\r\n layout: \"/admin\",\r\n name: \"featureconfiguration\",\r\n },\r\n {\r\n path: \"/currencyinfo\",\r\n uid: UIDs.screens.admin.currencyInfo,\r\n icon: \"iconfont icon-huobileixing\",\r\n component: \"CurrencyInfoScreen\",\r\n layout: \"/admin\",\r\n name: \"currencyinfo\",\r\n },\r\n {\r\n path: \"/unittype/list\",\r\n uid: UIDs.screens.admin.unittype.list,\r\n icon: \"iconfont icon-danyuan1\",\r\n component: \"UnitTypeListScreen\",\r\n layout: \"/admin\",\r\n name: \"unitTypes\",\r\n grade: \"0\",\r\n },\r\n {\r\n path: \"/unittype/:id/details\",\r\n uid: UIDs.screens.admin.unittype.details,\r\n component: \"UnitTypeDetailsScreen\",\r\n layout: \"/admin\",\r\n },\r\n {\r\n path: \"/unittype/add\",\r\n uid: UIDs.screens.admin.unittype.add,\r\n component: \"UnitTypeAddScreen\",\r\n layout: \"/admin\",\r\n },\r\n {\r\n path: \"/unittype/:id/edit\",\r\n uid: UIDs.screens.admin.unittype.edit,\r\n component: \"UnitTypeEditScreen\",\r\n layout: \"/admin\",\r\n },\r\n {\r\n path: \"/unittitle/list\",\r\n uid: UIDs.screens.admin.unittitle.list,\r\n icon: \"iconfont icon-danyuanbiaoti\",\r\n component: \"UnitTitleListScreen\",\r\n layout: \"/admin\",\r\n name: \"unitTitles\",\r\n grade: \"0\",\r\n },\r\n {\r\n path: \"/unittitle/:id/details\",\r\n uid: UIDs.screens.admin.unittitle.details,\r\n component: \"UnitTitleDetailsScreen\",\r\n layout: \"/admin\",\r\n },\r\n {\r\n path: \"/unittitle/add\",\r\n uid: UIDs.screens.admin.unittitle.add,\r\n component: \"UnitTitleAddScreen\",\r\n layout: \"/admin\",\r\n },\r\n {\r\n path: \"/unittitle/:id/edit\",\r\n uid: UIDs.screens.admin.unittitle.edit,\r\n component: \"UnitTitleEditScreen\",\r\n layout: \"/admin\",\r\n },\r\n {\r\n path: \"/language/list\",\r\n uid: UIDs.screens.admin.language.list,\r\n icon: \"\",\r\n component: \"LanguageListScreen\",\r\n layout: \"/admin\",\r\n name: \"languages\",\r\n grade: \"0\",\r\n },\r\n {\r\n path: \"/language/:code/details\",\r\n uid: UIDs.screens.admin.language.details,\r\n component: \"LanguageDetailsScreen\",\r\n layout: \"/admin\",\r\n },\r\n {\r\n path: \"/language/add\",\r\n uid: UIDs.screens.admin.language.add,\r\n component: \"LanguageAddScreen\",\r\n layout: \"/admin\",\r\n },\r\n {\r\n path: \"/language/:code/edit\",\r\n uid: UIDs.screens.admin.language.edit,\r\n component: \"LanguageEditScreen\",\r\n layout: \"/admin\",\r\n },\r\n {\r\n path: \"/apiexceptionrule/list\",\r\n uid: UIDs.screens.admin.apiexceptionrule.list,\r\n icon: \"iconfont icon-yichangguanli\",\r\n component: \"ExceptionEndpointListScreen\",\r\n layout: \"/admin\",\r\n name: \"apiexceptionrule\",\r\n grade: \"0\",\r\n },\r\n {\r\n path: \"/apiexceptionrule/:id/details\",\r\n uid: UIDs.screens.admin.apiexceptionrule.details,\r\n icon: \"\",\r\n component: \"ExceptionEndpointDetailsScreen\",\r\n layout: \"/admin\",\r\n },\r\n {\r\n path: \"/apiexceptionrule/add\",\r\n uid: UIDs.screens.admin.apiexceptionrule.add,\r\n icon: \"\",\r\n component: \"ExceptionEndpointAddScreen\",\r\n layout: \"/admin\",\r\n },\r\n {\r\n path: \"/unittaskconfiguration/list\",\r\n uid: UIDs.screens.admin.unittaskconfiguration.list,\r\n icon: \"iconfont icon-jiaocairenwu\",\r\n component: \"UnitTaskConfigurationListScreen\",\r\n layout: \"/admin\",\r\n name: \"unittaskconfiguration\",\r\n grade: \"0\",\r\n },\r\n {\r\n path: \"/unittaskconfiguration/add\",\r\n uid: UIDs.screens.admin.unittaskconfiguration.add,\r\n component: \"UnitTaskConfigurationAddScreen\",\r\n layout: \"/admin\",\r\n },\r\n {\r\n path: \"/unittaskconfiguration/:id/edit\",\r\n uid: UIDs.screens.admin.unittaskconfiguration.edit,\r\n component: \"UnitTaskConfigurationEditScreen\",\r\n layout: \"/admin\",\r\n },\r\n {\r\n path: \"/chineseparkserver/list\",\r\n uid: UIDs.screens.admin.chineseparkserver.list,\r\n icon: \"iconfont icon-hanyujiaofuwuduan\",\r\n component: \"ChineseParkServerListScreen\",\r\n layout: \"/admin\",\r\n name: \"chineseparkserver\",\r\n grade: \"0\",\r\n },\r\n {\r\n path: \"/chineseparkserver/add\",\r\n uid: UIDs.screens.admin.chineseparkserver.add,\r\n component: \"ChineseParkServerAddScreen\",\r\n layout: \"/admin\",\r\n },\r\n {\r\n path: \"/chineseparkserver/:id/edit\",\r\n uid: UIDs.screens.admin.chineseparkserver.edit,\r\n component: \"ChineseParkServerEditScreen\",\r\n layout: \"/admin\",\r\n },\r\n {\r\n path: \"/chineseparkserver/:id/details\",\r\n uid: UIDs.screens.admin.chineseparkserver.details,\r\n component: \"ChineseParkServerDetailsScreen\",\r\n layout: \"/admin\",\r\n },\r\n {\r\n path: \"/emailverificationcode/list\",\r\n uid: UIDs.screens.admin.emailverificationcode.list,\r\n icon: \"iconfont icon-yanzhengma\",\r\n component: \"EmailVerificationCodeListScreen\",\r\n layout: \"/admin\",\r\n name: \"emailverificationcode\",\r\n grade: \"0\",\r\n },\r\n {\r\n path: \"/phoneverificationcode/list\",\r\n uid: UIDs.screens.admin.phoneverificationcode.list,\r\n icon: \"iconfont icon-yanzhengma\",\r\n component: \"PhoneVerificationCodeListScreen\",\r\n layout: \"/admin\",\r\n name: \"phoneverificationcode\",\r\n grade: \"0\",\r\n },\r\n {\r\n path: \"#\",\r\n uid: UIDs.screens.admin.suggestion.list,\r\n icon: \"\",\r\n component: \"null\",\r\n layout: \"/admin\",\r\n name: \"suggestion\",\r\n grade: \"1\",\r\n },\r\n {\r\n path: \"/suggestion/list\",\r\n uid: UIDs.screens.admin.suggestion.list,\r\n icon: \"iconfont icon-appfankui\",\r\n component: \"SuggestionListScreen\",\r\n layout: \"/admin\",\r\n name: \"appFeedback\",\r\n },\r\n {\r\n path: \"/suggestion/:id/details\",\r\n uid: UIDs.screens.admin.suggestion.details,\r\n icon: \"\",\r\n component: \"SuggestionDetailsScreen\",\r\n layout: \"/admin\",\r\n },\r\n {\r\n path: \"/contact/list\",\r\n uid: UIDs.screens.admin.contact.list,\r\n icon: \"iconfont icon-xinxifankui\",\r\n component: \"ContactListScreen\",\r\n layout: \"/admin\",\r\n name: \"contactList\",\r\n },\r\n {\r\n path: \"/contact/:id/details\",\r\n uid: UIDs.screens.admin.contact.details,\r\n icon: \"\",\r\n component: \"ContactDetailsScreen\",\r\n layout: \"/admin\",\r\n },\r\n {\r\n path: \"/messageboard/list\",\r\n uid: UIDs.screens.admin.messageboard.list,\r\n icon: \"iconfont icon-liuyanban\",\r\n component: \"MessageBoardListScreen\",\r\n layout: \"/admin\",\r\n name: \"messageBoard\",\r\n },\r\n {\r\n path: \"/messageboard/detailslist\",\r\n uid: UIDs.screens.admin.messageboard.detailslist,\r\n icon: \"\",\r\n component: \"MessageBoardDetailsListScreen\",\r\n layout: \"/admin\",\r\n },\r\n {\r\n path: \"/messageboard/:id/details\",\r\n uid: UIDs.screens.admin.messageboard.details,\r\n icon: \"\",\r\n component: \"MessageBoardDetailsScreen\",\r\n layout: \"/admin\",\r\n },\r\n {\r\n path: \"/error/list\",\r\n uid: UIDs.screens.admin.error.list,\r\n icon: \"\",\r\n component: \"ErrorListScreen\",\r\n layout: \"/admin\",\r\n name: \"error\",\r\n },\r\n {\r\n path: \"/error/dashboard\",\r\n uid: UIDs.screens.admin.error.dashboard,\r\n icon: \"iconfont icon-cuowuxinxi\",\r\n component: \"ErrorDashboardScreen\",\r\n layout: \"/admin\",\r\n name: \"errorDashBoard\",\r\n },\r\n {\r\n path: \"/error/:id/details\",\r\n uid: UIDs.screens.admin.error.details,\r\n icon: \"\",\r\n component: \"ErrorDetailsScreen\",\r\n layout: \"/admin\",\r\n },\r\n {\r\n path: \"/contact/edit\",\r\n uid: UIDs.screens.admin.contact.edit,\r\n icon: \"\",\r\n component: \"ContactEditScreen\",\r\n layout: \"/admin\",\r\n },\r\n {\r\n path: \"#\",\r\n uid: UIDs.screens.admin.book.deleted,\r\n icon: \"\",\r\n component: \"null\",\r\n layout: \"/admin\",\r\n name: \"recycleBin\",\r\n grade: \"1\",\r\n },\r\n {\r\n path: \"/book/deleted\",\r\n uid: UIDs.screens.admin.book.deleted,\r\n component: \"BookDeletedScreen\",\r\n icon: \"iconfont icon-shanchudexitiji\",\r\n layout: \"/admin\",\r\n name: \"deletedBooks\",\r\n },\r\n {\r\n path: \"/oralbook/unitlist\",\r\n uid: UIDs.screens.admin.oralbook.unitlist,\r\n component: \"OralBookUnitListScreen\",\r\n icon: \"iconfont icon-ceshizhuanyong\",\r\n layout: \"/admin\",\r\n name: \"onlyTest\",\r\n },\r\n {\r\n path: \"#\",\r\n uid: UIDs.screens.admin.talkchinese.statistic,\r\n icon: \"\",\r\n component: \"null\",\r\n layout: \"/admin\",\r\n name: \"talkchinese\",\r\n grade: \"1\",\r\n },\r\n {\r\n path: \"/talkchinese/statistic\",\r\n uid: UIDs.screens.admin.talkchinese.statistic,\r\n icon: \"iconfont icon-shujutongji\",\r\n component: \"TalkChineseStatisticScreen\",\r\n layout: \"/admin\",\r\n name: \"dataStatistic\",\r\n grade: \"\",\r\n },\r\n {\r\n path: \"/talkchinese/homeworkstat\",\r\n uid: UIDs.screens.admin.homework.statistic,\r\n icon: \"iconfont icon-shujutongji\",\r\n component: \"HomeworkStatisticScreen\",\r\n layout: \"/admin\",\r\n name: \"homeworkStatistic\",\r\n grade: \"\",\r\n },\r\n {\r\n path: \"#\",\r\n uid: UIDs.screens.admin.agent,\r\n icon: \"\",\r\n component: \"null\",\r\n layout: \"/admin\",\r\n name: \"agentSystem\",\r\n grade: \"1\",\r\n },\r\n {\r\n path: \"/agent/agentreferralcode\",\r\n uid: UIDs.screens.admin.agent.agentreferralcode,\r\n component: \"AgentReferralCodeScreen\",\r\n layout: \"/admin\",\r\n name: \"referralcode\",\r\n },\r\n {\r\n path: \"/agent/useraccount/list\",\r\n uid: UIDs.screens.admin.agent.useraccount.list,\r\n icon: \"iconfont icon-kaishexinlaoshi\",\r\n component: \"UserAccountListScreen\",\r\n layout: \"/admin\",\r\n name: \"userAccount\",\r\n grade: \"\",\r\n },\r\n {\r\n path: \"/agent/useraccount/add\",\r\n uid: UIDs.screens.admin.agent.useraccount.add,\r\n icon: \"\",\r\n component: \"UserAccountAddScreen\",\r\n layout: \"/admin\",\r\n },\r\n {\r\n path: \"/agent/useraccount/edit\",\r\n uid: UIDs.screens.admin.agent.useraccount.edit,\r\n icon: \"\",\r\n component: \"UserAccountEditScreen\",\r\n layout: \"/admin\",\r\n },\r\n {\r\n path: \"/agent/useraccount/code\",\r\n uid: UIDs.screens.admin.agent.useraccount.code,\r\n icon: \"\",\r\n component: \"UserAccountCodeScreen\",\r\n layout: \"/admin\",\r\n },\r\n {\r\n path: \"/agent/useraccount/:id/changepassword\",\r\n uid: UIDs.screens.admin.agent.useraccount.changepassword,\r\n component: \"UserAccountChangePasswordScreen\",\r\n layout: \"/admin\",\r\n },\r\n {\r\n path: \"/agent/statistic\",\r\n uid: UIDs.screens.admin.agent.statistic,\r\n icon: \"iconfont icon-shujutongji\",\r\n component: \"AgentStatisticScreen\",\r\n layout: \"/admin\",\r\n name: \"dataStatistic\",\r\n },\r\n {\r\n path: \"/agent/wallet\",\r\n uid: UIDs.screens.admin.agent.wallet,\r\n icon: \"iconfont icon-qianbao\",\r\n component: \"WalletScreen\",\r\n layout: \"/admin\",\r\n name: \"mywallet\",\r\n },\r\n {\r\n path: \"/agent/withdrawal\",\r\n uid: UIDs.screens.admin.agent.withdrawal,\r\n icon: \"\",\r\n component: \"WithdrawalScreen\",\r\n layout: \"/admin\",\r\n },\r\n {\r\n path: \"/agent/bankcard/add\",\r\n uid: UIDs.screens.admin.agent.bankcard.add,\r\n icon: \"\",\r\n component: \"BankCardAddScreen\",\r\n layout: \"/admin\",\r\n },\r\n {\r\n path: \"/agent/bankcard/:id/details\",\r\n uid: UIDs.screens.admin.agent.bankcard.details,\r\n icon: \"\",\r\n component: \"BankCardDetailsScreen\",\r\n layout: \"/admin\",\r\n },\r\n {\r\n path: \"/agent/bankcard/edit\",\r\n uid: UIDs.screens.admin.agent.bankcard.edit,\r\n icon: \"\",\r\n component: \"BankCardEditScreen\",\r\n layout: \"/admin\",\r\n },\r\n {\r\n path: \"/agent/withdrawalcomplete\",\r\n uid: UIDs.screens.admin.agent.withdrawalcomplete,\r\n icon: \"\",\r\n component: \"WithdrawalCompleteScreen\",\r\n layout: \"/admin\",\r\n },\r\n {\r\n path: \"/agent/:name/:userid/studentcapitalflow\",\r\n uid: UIDs.screens.admin.agent.studentcapitalflow,\r\n component: \"StudentCapitalflowScreen\",\r\n layout: \"/admin\",\r\n },\r\n {\r\n path: \"/agent/subagent/list\",\r\n uid: UIDs.screens.admin.agent.subagent.list,\r\n icon: \"\",\r\n component: \"SubagentListScreen\",\r\n layout: \"/admin\",\r\n name: \"subAgent\",\r\n grade: \"\",\r\n },\r\n {\r\n path: \"/agent/subagent/add\",\r\n uid: UIDs.screens.admin.agent.subagent.add,\r\n icon: \"\",\r\n component: \"SubagentAddScreen\",\r\n layout: \"/admin\",\r\n },\r\n {\r\n path: \"/agent/subagent/edit\",\r\n uid: UIDs.screens.admin.agent.subagent.edit,\r\n icon: \"\",\r\n component: \"SubagentEditScreen\",\r\n layout: \"/admin\",\r\n },\r\n {\r\n path: \"/agent/subagent/code\",\r\n uid: UIDs.screens.admin.agent.subagent.code,\r\n icon: \"\",\r\n component: \"SubagentCodeScreen\",\r\n layout: \"/admin\",\r\n },\r\n {\r\n path: \"/agent/subagent/:id/details\",\r\n uid: UIDs.screens.admin.agent.subagent.details,\r\n icon: \"\",\r\n component: \"SubagentDetailsScreen\",\r\n layout: \"/admin\",\r\n },\r\n {\r\n path: \"/agent/teacheraccount/add\",\r\n uid: UIDs.screens.admin.agent.teacheraccount.add,\r\n icon: \"\",\r\n component: \"TeacherAccountAddScreen\",\r\n layout: \"/admin\",\r\n },\r\n {\r\n path: \"/agent/teacheraccount/edit\",\r\n uid: UIDs.screens.admin.agent.teacheraccount.edit,\r\n icon: \"\",\r\n component: \"TeacherAccountEditScreen\",\r\n layout: \"/admin\",\r\n },\r\n {\r\n path: \"/agent/teacheraccount/:id/changepassword\",\r\n uid: UIDs.screens.admin.agent.teacheraccount.changepassword,\r\n component: \"TeacherAccountChangePasswordScreen\",\r\n layout: \"/admin\",\r\n },\r\n {\r\n path: \"/agent/teacheraccount/code\",\r\n uid: UIDs.screens.admin.agent.teacheraccount.code,\r\n icon: \"\",\r\n component: \"TeacherAccountCodeScreen\",\r\n layout: \"/admin\",\r\n },\r\n {\r\n path: \"#\",\r\n uid: UIDs.screens.admin.agent.management.list,\r\n icon: \"\",\r\n component: \"null\",\r\n layout: \"/admin\",\r\n name: \"agentManagementSystem\",\r\n grade: \"1\",\r\n },\r\n {\r\n path: \"/agent/management/list\",\r\n uid: UIDs.screens.admin.agent.management.list,\r\n icon: \"iconfont icon-dailiguanli\",\r\n component: \"AgentManagementListScreen\",\r\n layout: \"/admin\",\r\n name: \"agentManagement\",\r\n },\r\n {\r\n path: \"/agent/management/:id/details\",\r\n uid: UIDs.screens.admin.agent.management.details,\r\n icon: \"\",\r\n component: \"AgentManagementDetailsScreen\",\r\n layout: \"/admin\",\r\n },\r\n {\r\n path: \"/agent/management/add\",\r\n uid: UIDs.screens.admin.agent.management.add,\r\n icon: \"\",\r\n component: \"AgentManagementAddScreen\",\r\n layout: \"/admin\",\r\n },\r\n {\r\n path: \"/agent/management/edit\",\r\n uid: UIDs.screens.admin.agent.management.edit,\r\n icon: \"\",\r\n component: \"AgentManagementEditScreen\",\r\n layout: \"/admin\",\r\n },\r\n {\r\n path: \"/agent/management/code\",\r\n uid: UIDs.screens.admin.agent.management.code,\r\n icon: \"\",\r\n component: \"AgentManagementCodeScreen\",\r\n layout: \"/admin\",\r\n },\r\n /*{\r\n path: \"/agent/management/:status/agentapplicationlist\",\r\n uid: UIDs.screens.admin.agent.management.agentapplicationlist,\r\n component: \"AgentApplicationListScreen\",\r\n layout: \"/admin\",\r\n },\r\n {\r\n path: \"/agent/management/-1/agentapplicationlist\",\r\n uid: UIDs.screens.admin.agent.management.agentapplicationlist,\r\n component: \"AgentApplicationListScreen\",\r\n layout: \"/admin\",\r\n name: \"agentapplicationlist\",\r\n },*/\r\n {\r\n path: \"/agent/management/:id/agentapplicationdetails\",\r\n uid: UIDs.screens.admin.agent.management.agentapplicationdetails,\r\n component: \"AgentApplicationDetailsScreen\",\r\n layout: \"/admin\",\r\n },\r\n {\r\n path: \"/agent/management/statistic\",\r\n uid: UIDs.screens.admin.agent.management.statistic,\r\n component: \"ManagementStatisticScreen\",\r\n icon: \"iconfont icon-shujutongji\",\r\n layout: \"/admin\",\r\n name: \"dataStatistic\",\r\n },\r\n {\r\n path: \"/agent/management/:status/withdrawallist\",\r\n uid: UIDs.screens.admin.agent.management.withdrawallist,\r\n component: \"WithdrawalListScreen\",\r\n layout: \"/admin\",\r\n },\r\n {\r\n path: \"/agent/management/-1/withdrawallist\",\r\n uid: UIDs.screens.admin.agent.management.withdrawallist,\r\n component: \"WithdrawalListScreen\",\r\n icon: \"iconfont icon-dingdanchuli\",\r\n layout: \"/admin\",\r\n name: \"withdrawalList\",\r\n },\r\n {\r\n path: \"/agent/management/:id/withdrawaldetails\",\r\n uid: UIDs.screens.admin.agent.management.withdrawaldetails,\r\n component: \"WithdrawalDetailsScreen\",\r\n layout: \"/admin\",\r\n },\r\n {\r\n path: \"/agent/management/incomestatistic\",\r\n uid: UIDs.screens.admin.agent.management.incomestatistic,\r\n component: \"IncomeStatisticScreen\",\r\n icon: \"iconfont icon-shourutongji\",\r\n layout: \"/admin\",\r\n name: \"incomeStatistic\",\r\n },\r\n //活动--公司后台\r\n {\r\n path: \"#\",\r\n uid: UIDs.screens.admin.other,\r\n icon: \"\",\r\n component: \"PromotionManagementListScreen\",\r\n layout: \"/admin\",\r\n name: \"other\",\r\n grade: \"1\",\r\n },\r\n {\r\n path: \"/promotion/management/list\",\r\n uid: UIDs.screens.admin.promotion.management.list,\r\n icon: \"iconfont icon-cuxiao\",\r\n component: \"PromotionManagementListScreen\",\r\n layout: \"/admin\",\r\n name: \"promotion\",\r\n },\r\n {\r\n path: \"/promotion/management/add\",\r\n uid: UIDs.screens.admin.promotion.management.add,\r\n component: \"PromotionManagementAddScreen\",\r\n layout: \"/admin\",\r\n },\r\n {\r\n path: \"/promotion/management/:id/edit\",\r\n uid: UIDs.screens.admin.promotion.management.edit,\r\n component: \"PromotionManagementEditScreen\",\r\n layout: \"/admin\",\r\n },\r\n {\r\n path: \"/promotion/management/:id/details\",\r\n uid: UIDs.screens.admin.promotion.management.details,\r\n component: \"PromotionManagementDetailsScreen\",\r\n layout: \"/admin\",\r\n },\r\n {\r\n path: \"/promotion/management/:id/shareagentlist\",\r\n uid: UIDs.screens.admin.promotion.management.shareagentlist,\r\n component: \"PromotionManagementShareAgentListScreen\",\r\n layout: \"/admin\",\r\n },\r\n {\r\n path: \"/promotion/management/:id/shareagentadd\",\r\n uid: UIDs.screens.admin.promotion.management.shareagentadd,\r\n component: \"PromotionManagementShareAgentAddScreen\",\r\n layout: \"/admin\",\r\n },\r\n {\r\n path: \"/promotion/management/:type/:id/statistic\",\r\n uid: UIDs.screens.admin.promotion.management.statistic,\r\n component: \"PromotionManagementStatisticScreen\",\r\n layout: \"/admin\",\r\n },\r\n //-----老师、代理\r\n {\r\n path: \"#\",\r\n uid: MobileUIDs.screens.chinesepark.default,\r\n component: \"ChineseparkDefaultScreen\",\r\n icon: \"\",\r\n layout: \"/admin\",\r\n name: \"chinesepark\",\r\n grade: \"1\",\r\n },\r\n {\r\n path: \"/chinesepark/default\",\r\n uid: MobileUIDs.screens.chinesepark.default,\r\n component: \"ChineseparkDefaultScreen\",\r\n icon: \"iconfont icon-fangjiandating\",\r\n layout: \"/admin\",\r\n name: \"chineseparkRooms\",\r\n },\r\n {\r\n path: \"/chinesepark/roomlist\",\r\n uid: MobileUIDs.screens.chinesepark.roomList,\r\n component: \"ChineseparkRoomListScreen\",\r\n icon: \"iconfont icon-wodefangjian\",\r\n layout: \"/admin\",\r\n name: \"chineseparkroomlist\",\r\n },\r\n {\r\n path: \"/chinesepark/roomsetting\",\r\n uid: MobileUIDs.screens.chinesepark.roomSetting,\r\n component: \"ChineseparkRoomSettingScreen\",\r\n layout: \"/admin\",\r\n },\r\n {\r\n path: \"/chinesepark/roommanager\",\r\n uid: MobileUIDs.screens.chinesepark.roomManager,\r\n component: \"ChineseparkRoomManagerScreen\",\r\n layout: \"/admin\",\r\n },\r\n {\r\n path: \"/chinesepark/blacklist\",\r\n uid: MobileUIDs.screens.chinesepark.blackList,\r\n component: \"ChineseparkRoomBlackListScreen\",\r\n layout: \"/admin\",\r\n },\r\n {\r\n path: \"/chinesepark/vipsetting\",\r\n uid: MobileUIDs.screens.chinesepark.vipFeatures,\r\n component: \"ChineseparkVipFeaturesScreen\",\r\n layout: \"/admin\",\r\n },\r\n {\r\n path: \"/chinesepark/createroom\",\r\n uid: MobileUIDs.screens.chinesepark.createRoom,\r\n component: \"ChineseparkCreateRoomScreen\",\r\n layout: \"/admin\",\r\n },\r\n {\r\n path: \"/chinesepark/pkrules\",\r\n uid: MobileUIDs.screens.chinesepark.pkRules,\r\n component: \"ChineseparkPkRulesScreen\",\r\n layout: \"/admin\",\r\n },\r\n {\r\n path: \"/chinesepark/roommember\",\r\n uid: MobileUIDs.screens.chinesepark.roommember,\r\n component: \"ChineseparkRoomMemberScreen\",\r\n layout: \"/admin\",\r\n },\r\n {\r\n path: \"/chinesepark/unregstudent\",\r\n uid: MobileUIDs.screens.chinesepark.unregstudent,\r\n component: \"ChineseparkUnregStudentScreen\",\r\n layout: \"/admin\",\r\n },\r\n {\r\n path: \"/chinesepark/shiftstudent\",\r\n uid: MobileUIDs.screens.chinesepark.shiftstudent,\r\n component: \"ChineseparkShiftStudentScreen\",\r\n layout: \"/admin\",\r\n },\r\n {\r\n path: \"/chinesepark/addroommember\",\r\n uid: MobileUIDs.screens.chinesepark.addroommember,\r\n component: \"ChineseparkAddRoomMemberScreen\",\r\n layout: \"/admin\",\r\n },\r\n {\r\n path: \"/chinesepark/editroommember\",\r\n uid: MobileUIDs.screens.chinesepark.editroommember,\r\n component: \"ChineseparkEditRoomMemberScreen\",\r\n layout: \"/admin\",\r\n },\r\n {\r\n path: \"#\",\r\n uid: UIDs.screens.admin.manage,\r\n icon: \"\",\r\n component: \"TeacherAccountListScreen\",\r\n layout: \"/admin\",\r\n name: \"manage\",\r\n grade: \"1\",\r\n },\r\n {\r\n path: \"/partner/user/list\",\r\n uid: UIDs.screens.admin.partner.user.list,\r\n icon: \"iconfont icon-xiezuo\",\r\n component: \"PartnerUserListScreen\",\r\n layout: \"/admin\",\r\n name: \"partnerUser\",\r\n },\r\n {\r\n path: \"/partner/user/add\",\r\n uid: UIDs.screens.admin.partner.user.add,\r\n component: \"PartnerUserAddScreen\",\r\n layout: \"/admin\",\r\n },\r\n {\r\n path: \"/partner/user/:id/edit\",\r\n uid: UIDs.screens.admin.partner.user.edit,\r\n component: \"PartnerUserEditScreen\",\r\n layout: \"/admin\",\r\n },\r\n {\r\n path: \"/partner/user/:id/changepassword\",\r\n uid: UIDs.screens.admin.partner.user.changepassword,\r\n component: \"PartnerUserChangePasswordScreen\",\r\n layout: \"/admin\",\r\n },\r\n {\r\n path: \"/agent/teacheraccount/list\",\r\n uid: UIDs.screens.admin.agent.teacheraccount.list,\r\n icon: \"iconfont icon-kaishexinlaoshi\",\r\n component: \"TeacherAccountListScreen\",\r\n layout: \"/admin\",\r\n name: \"createTeacher\",\r\n grade: \"\",\r\n },\r\n {\r\n path: \"/agent/redenvelope\",\r\n uid: UIDs.screens.admin.agent.redenvelope,\r\n icon: \"\",\r\n component: \"RedEnvelopeScreen\",\r\n layout: \"/admin\",\r\n name: \"redenvelope\",\r\n },\r\n {\r\n path: \"#\",\r\n uid: UIDs.screens.admin.promotion.promotionlist,\r\n icon: \"\",\r\n component: \"PromotionListScreen\",\r\n layout: \"/admin\",\r\n name: \"marketing\",\r\n grade: \"1\",\r\n },\r\n {\r\n path: \"/promotion/promotionlist\",\r\n uid: UIDs.screens.admin.promotion.promotionlist,\r\n icon: \"iconfont icon-cuxiao\",\r\n component: \"PromotionListScreen\",\r\n layout: \"/admin\",\r\n name: \"promotion\",\r\n },\r\n {\r\n path: \"/promotion/:type/:id/statistic\",\r\n uid: UIDs.screens.admin.promotion.statistic,\r\n component: \"PromotionStatisticScreen\",\r\n layout: \"/admin\",\r\n },\r\n {\r\n path: \"/promotion/:id/sharestatistic\",\r\n uid: UIDs.screens.admin.promotion.sharestatistic,\r\n component: \"PromotionShareStatisticScreen\",\r\n layout: \"/admin\",\r\n },\r\n {\r\n path: \"/promotion/:id/redenvelopestatistic\",\r\n uid: UIDs.screens.admin.promotion.redenvelopestatistic,\r\n component: \"PromotionRedEnvelopeStatisticScreen\",\r\n layout: \"/admin\",\r\n },\r\n\r\n /*其它菜单请加在上面*/\r\n // {\r\n // path: \"#\",\r\n // uid: UIDs.screens.admin.icons,\r\n // icon: \"\",\r\n // component: \"null\",\r\n // layout: \"/admin\",\r\n // name: \"Resources\",\r\n // grade:\"1\"\r\n // },\r\n // {\r\n // path: \"/example\",\r\n // uid: UIDs.screens.admin.example,\r\n // icon: \"\",\r\n // component: \"ExampleScreen\",\r\n // layout: \"/admin\",\r\n // name: \"Example\",\r\n // grade:\"\"\r\n // },\r\n // {\r\n // path: \"/icons\",\r\n // uid: UIDs.screens.admin.icons,\r\n // icon: \"\",\r\n // component: \"IconsScreen\",\r\n // layout: \"/admin\",\r\n // name: \"Icons\",\r\n // grade:\"\"\r\n // },\r\n // {\r\n // path: \"/maps\",\r\n // uid: UIDs.screens.admin.maps,\r\n // icon: \"\",\r\n // component: \"MapsScreen\",\r\n // layout: \"/admin\",\r\n // name: \"Maps\",\r\n // grade:\"\"\r\n // },\r\n {\r\n path: \"/user-profile\",\r\n uid: UIDs.screens.admin.profile,\r\n component: \"ProfileScreen\",\r\n layout: \"/admin\",\r\n },\r\n // {\r\n // path: \"/tables\",\r\n // uid: UIDs.screens.admin.tables,\r\n // icon: \"\",\r\n // component: \"TablesScreen\",\r\n // layout: \"/admin\",\r\n // name: \"Tables\",\r\n // grade:\"\"\r\n // },\r\n\r\n /* Portal Layout */\r\n {\r\n path: \"/portal\",\r\n uid: UIDs.layouts.portal,\r\n icon: \"\",\r\n component: \"null\",\r\n layout: \"\",\r\n name: \"Portal\",\r\n grade: \"\",\r\n },\r\n {\r\n path: \"/home\",\r\n uid: UIDs.screens.portal.home,\r\n icon: \"\",\r\n component: \"PortalHomeScreen\",\r\n layout: \"/portal\",\r\n name: \"Home\",\r\n grade: \"1\",\r\n },\r\n {\r\n path: \"/agent\",\r\n uid: UIDs.screens.portal.agent,\r\n icon: \"\",\r\n component: \"PortalAgentScreen\",\r\n layout: \"/portal\",\r\n name: \"Home\",\r\n grade: \"1\",\r\n },\r\n {\r\n path: \"/product\",\r\n uid: UIDs.screens.portal.product,\r\n icon: \"\",\r\n component: \"PortalProductScreen\",\r\n layout: \"/portal\",\r\n name: \"Product\",\r\n grade: \"1\",\r\n },\r\n {\r\n path: \"/pricing\",\r\n uid: UIDs.screens.portal.pricing,\r\n icon: \"\",\r\n component: \"PortalPricingScreen\",\r\n layout: \"/portal\",\r\n name: \"Pricing\",\r\n grade: \"1\",\r\n },\r\n {\r\n path: \"/partner\",\r\n uid: UIDs.screens.portal.partner,\r\n icon: \"\",\r\n component: \"PortalPartnerScreen\",\r\n layout: \"/portal\",\r\n name: \"Partner\",\r\n grade: \"1\",\r\n },\r\n {\r\n path: \"/jobs\",\r\n uid: UIDs.screens.portal.jobs,\r\n icon: \"\",\r\n component: \"PortalJobsScreen\",\r\n layout: \"/portal\",\r\n name: \"Jobs\",\r\n grade: \"1\",\r\n },\r\n {\r\n path: \"/contact\",\r\n uid: UIDs.screens.portal.contact,\r\n icon: \"\",\r\n component: \"PortalContactScreen\",\r\n layout: \"/portal\",\r\n name: \"Contact\",\r\n grade: \"1\",\r\n },\r\n {\r\n path: \"/download\",\r\n uid: UIDs.screens.portal.download,\r\n icon: \"\",\r\n component: \"PortalDownloadScreen\",\r\n layout: \"/portal\",\r\n name: \"Download\",\r\n grade: \"1\",\r\n },\r\n {\r\n path: \"/downloadapp\",\r\n uid: UIDs.screens.portal.downloadapp,\r\n icon: \"\",\r\n component: \"PortalDownloadAppScreen\",\r\n layout: \"/portal\",\r\n name: \"DownloadApp\",\r\n grade: \"1\",\r\n },\r\n {\r\n path: \"/studentUse\",\r\n uid: UIDs.screens.portal.studentuse,\r\n icon: \"\",\r\n component: \"PortalStudentUseScreen\",\r\n layout: \"/portal\",\r\n name: \"studentUse\",\r\n grade: \"1\",\r\n },\r\n {\r\n path: \"/teacherUse\",\r\n uid: UIDs.screens.portal.teacheruse,\r\n icon: \"\",\r\n component: \"PortalTeacherUseScreen\",\r\n layout: \"/portal\",\r\n name: \"teacheruse\",\r\n grade: \"1\",\r\n },\r\n {\r\n path: \"/termsCondition\",\r\n uid: UIDs.screens.portal.termscondition,\r\n icon: \"\",\r\n component: \"PortalTermsConditionScreen\",\r\n layout: \"/portal\",\r\n name: \"teacheruse\",\r\n grade: \"1\",\r\n },\r\n {\r\n path: \"/privacy\",\r\n uid: UIDs.screens.portal.privacy,\r\n icon: \"\",\r\n component: \"PortalPrivacyScreen\",\r\n layout: \"/portal\",\r\n name: \"privacy\",\r\n grade: \"1\",\r\n },\r\n {\r\n path: \"/rewardterms\",\r\n uid: UIDs.screens.portal.rewardterms,\r\n icon: \"\",\r\n component: \"PortalRewardTermsScreen\",\r\n layout: \"/portal\",\r\n name: \"rewardterms\",\r\n grade: \"1\",\r\n },\r\n {\r\n path: \"/roomvipterms\",\r\n uid: UIDs.screens.portal.roomvipterms,\r\n icon: \"\",\r\n component: \"PortalRoomVipTermsScreen\",\r\n layout: \"/portal\",\r\n name: \"roomvipterms\",\r\n grade: \"1\",\r\n },\r\n {\r\n path: \"/aboutus\",\r\n uid: UIDs.screens.portal.aboutus,\r\n icon: \"\",\r\n component: \"PortalAboutUsScreen\",\r\n layout: \"/portal\",\r\n name: \"aboutus\",\r\n grade: \"1\",\r\n },\r\n {\r\n path: \"/homework\",\r\n uid: UIDs.screens.portal.homework,\r\n icon: \"\",\r\n component: \"PortalHomeworkScreen\",\r\n layout: \"/portal\",\r\n name: \"homework\",\r\n grade: \"1\",\r\n },\r\n {\r\n path: \"/talkchinese\",\r\n uid: UIDs.screens.portal.talkchinese,\r\n icon: \"\",\r\n component: \"PortalTalkChineseScreen\",\r\n layout: \"/portal\",\r\n name: \"talkchinese\",\r\n grade: \"1\",\r\n },\r\n {\r\n path: \"/chinesepark\",\r\n uid: UIDs.screens.portal.chinesepark,\r\n icon: \"\",\r\n component: \"PortalChineseParkScreen\",\r\n layout: \"/portal\",\r\n name: \"chinesepark\",\r\n grade: \"1\",\r\n },\r\n {\r\n path: \"/userhomeworkunit/:id\",\r\n uid: UIDs.screens.plain.userhomeworkunit,\r\n icon: \"\",\r\n component: \"PlainUserHomeworkUnitScreen\",\r\n layout: \"/plain\",\r\n },\r\n {\r\n path: \"/whiteboard\",\r\n uid: UIDs.screens.plain.whiteboard,\r\n icon: \"\",\r\n component: \"PlainWhiteboardScreen\",\r\n layout: \"/plain\",\r\n },\r\n {\r\n path: \"/teachershare/:id/:userId/\",\r\n uid: UIDs.screens.plain.teachershare,\r\n component: \"PlainTeacherShareScreen\",\r\n layout: \"/plain\",\r\n },\r\n {\r\n path: \"/studentshare/:id/:userId/:email\",\r\n uid: UIDs.screens.plain.studentshare,\r\n component: \"PlainStudentShareScreen\",\r\n layout: \"/plain\",\r\n },\r\n {\r\n path: \"/studentshare/:id/:userId\",\r\n uid: UIDs.screens.plain.studentshare,\r\n component: \"PlainStudentShareScreen\",\r\n layout: \"/plain\",\r\n },\r\n {\r\n path: \"/promotiondetails/:id/:userId\",\r\n uid: UIDs.screens.plain.promotiondetails,\r\n component: \"PlainPromotionDetailsScreen\",\r\n layout: \"/plain\",\r\n },\r\n {\r\n path: \"/joinclass/:id\",\r\n uid: UIDs.screens.plain.joinclass,\r\n component: \"PlainJoinClassScreen\",\r\n layout: \"/plain\",\r\n },\r\n {\r\n path: \"/joinclasses/:classId\",\r\n uid: UIDs.screens.plain.joinclass,\r\n component: \"PlainJoinClassScreen\",\r\n layout: \"/plain\",\r\n },\r\n {\r\n path: \"/default\",\r\n uid: MobileUIDs.screens.homework.newdefault,\r\n component: \"NewDefaultScreen\",\r\n layout: \"/mobile\",\r\n },\r\n {\r\n path: \"/login\",\r\n uid: MobileUIDs.screens.account.login,\r\n component: \"MobileLoginScreen\",\r\n layout: \"/mobile\",\r\n },\r\n {\r\n path: \"/homeworklist\",\r\n uid: MobileUIDs.screens.homework.newlist,\r\n component: \"NewListScreen\",\r\n layout: \"/mobile\",\r\n },\r\n {\r\n path: \"/historylist\",\r\n uid: MobileUIDs.screens.homework.newhistorylist,\r\n component: \"NewHistoryListScreen\",\r\n layout: \"/mobile\",\r\n },\r\n {\r\n path: \"/homework\",\r\n uid: MobileUIDs.screens.homework.homeworkunit,\r\n component: \"HomeworkUnitScreen\",\r\n layout: \"/mobile\",\r\n },\r\n {\r\n path: \"/homeworkredo\",\r\n uid: MobileUIDs.screens.homework.homeworkunitredo,\r\n component: \"HomeworkUnitRedoScreen\",\r\n layout: \"/mobile\",\r\n },\r\n {\r\n path: \"/homeworkcompleteredo\",\r\n uid: MobileUIDs.screens.homework.homeworkcompleteredo,\r\n component: \"HomeworkCompleteRedoScreen\",\r\n layout: \"/mobile\",\r\n },\r\n {\r\n path: \"/homeworkcomplete\",\r\n uid: MobileUIDs.screens.homework.homeworkcomplete,\r\n component: \"HomeworkCompleteScreen\",\r\n layout: \"/mobile\",\r\n },\r\n {\r\n path: \"/completehomework\",\r\n uid: MobileUIDs.screens.homework.completehomework,\r\n component: \"CompleteHomeworkScreen\",\r\n layout: \"/mobile\",\r\n },\r\n {\r\n path: \"/homeworkhistory\",\r\n uid: MobileUIDs.screens.homework.homeworkhistory,\r\n component: \"HomeworkHistoryScreen\",\r\n layout: \"/mobile\",\r\n },\r\n {\r\n path: \"/homeworkpeerrevise\",\r\n uid: MobileUIDs.screens.homework.homeworkpeerrevise,\r\n component: \"HomeworkPeerReviseScreen\",\r\n layout: \"/mobile\",\r\n },\r\n {\r\n path: \"/peerrevisedetail\",\r\n uid: MobileUIDs.screens.homework.peerrevisedetail,\r\n component: \"PeerReviseDetailScreen\",\r\n layout: \"/mobile\",\r\n },\r\n {\r\n path: \"/replylist\",\r\n uid: MobileUIDs.screens.homework.replylist,\r\n component: \"ReplyListScreen\",\r\n layout: \"/mobile\",\r\n },\r\n {\r\n path: \"/practiceresult\",\r\n uid: MobileUIDs.screens.homework.practiceresult,\r\n component: \"PracticeResultScreen\",\r\n layout: \"/mobile\",\r\n },\r\n {\r\n path: \"/reviewlist\",\r\n uid: MobileUIDs.screens.homework.reviewlist,\r\n component: \"ReviewListScreen\",\r\n layout: \"/mobile\",\r\n },\r\n {\r\n path: \"/reviewunit\",\r\n uid: MobileUIDs.screens.homework.reviewunit,\r\n component: \"ReviewUnitScreen\",\r\n layout: \"/mobile\",\r\n },\r\n {\r\n path: \"/checkunit\",\r\n uid: MobileUIDs.screens.homework.checkunit,\r\n component: \"CheckUnitScreen\",\r\n layout: \"/mobile\",\r\n },\r\n {\r\n path: \"/checkcomplete\",\r\n uid: MobileUIDs.screens.homework.checkcomplete,\r\n component: \"CheckCompleteScreen\",\r\n layout: \"/mobile\",\r\n },\r\n {\r\n path: \"/article\",\r\n uid: MobileUIDs.screens.homework.article,\r\n component: \"ArticleScreen\",\r\n layout: \"/mobile\",\r\n },\r\n {\r\n path: \"/historypreview\",\r\n uid: MobileUIDs.screens.homework.historypreview,\r\n component: \"HistoryPreviewScreen\",\r\n layout: \"/mobile\",\r\n },\r\n {\r\n path: \"/redohomeworkcheckunit\",\r\n uid: MobileUIDs.screens.homework.redohomeworkcheckunit,\r\n component: \"RedoHomeworkCheckUnitScreen\",\r\n layout: \"/mobile\",\r\n },\r\n {\r\n path: \"/learn/default\",\r\n uid: MobileUIDs.screens.learn.default,\r\n component: \"MobileLearnDefaultScreen\",\r\n layout: \"/mobile\",\r\n },\r\n {\r\n path: \"/learn/search\",\r\n uid: MobileUIDs.screens.learn.search,\r\n component: \"MobileSearchCourseScreen\",\r\n layout: \"/mobile\",\r\n },\r\n {\r\n path: \"/learn/productcourse\",\r\n uid: MobileUIDs.screens.learn.productcourse,\r\n component: \"MobileProductCourseScreen\",\r\n layout: \"/mobile\",\r\n },\r\n {\r\n path: \"/learn/searchword\",\r\n uid: MobileUIDs.screens.learn.searchword,\r\n component: \"MobileSearchWordScreen\",\r\n layout: \"/mobile\",\r\n },\r\n {\r\n path: \"/learn/bookdetail\",\r\n uid: MobileUIDs.screens.learn.bookdetail,\r\n component: \"MobileBookDetailScreen\",\r\n layout: \"/mobile\",\r\n },\r\n {\r\n path: \"/learn/commentlist\",\r\n uid: MobileUIDs.screens.learn.commentlist,\r\n component: \"MobileCommentListScreen\",\r\n layout: \"/mobile\",\r\n },\r\n {\r\n path: \"/learn/addcomment\",\r\n uid: MobileUIDs.screens.learn.addcomment,\r\n component: \"MobileAddCommentScreen\",\r\n layout: \"/mobile\",\r\n },\r\n {\r\n path: \"/learn/practice\",\r\n uid: MobileUIDs.screens.learn.practice,\r\n component: \"MobileLearnPracticeScreen\",\r\n layout: \"/mobile\",\r\n },\r\n {\r\n path: \"/learn/complete\",\r\n uid: MobileUIDs.screens.learn.complete,\r\n component: \"MobileLearnCompleteScreen\",\r\n layout: \"/mobile\",\r\n },\r\n {\r\n path: \"/studyletter/default\",\r\n uid: MobileUIDs.screens.studyletter.default,\r\n component: \"StudyLetterDefaultScreen\",\r\n layout: \"/mobile\",\r\n },\r\n {\r\n path: \"/studyletter/tasklist\",\r\n uid: MobileUIDs.screens.studyletter.taskList,\r\n component: \"StudyLetterTaskListScreen\",\r\n layout: \"/mobile\",\r\n },\r\n {\r\n path: \"/studyletter/letterlist\",\r\n uid: MobileUIDs.screens.studyletter.letterList,\r\n component: \"StudyLetterLetterListScreen\",\r\n layout: \"/mobile\",\r\n },\r\n {\r\n path: \"/studyletter/statedesc\",\r\n uid: MobileUIDs.screens.studyletter.stateDesc,\r\n component: \"StudyLetterStateDescScreen\",\r\n layout: \"/mobile\",\r\n },\r\n {\r\n path: \"/studyletter/letterdetails\",\r\n uid: MobileUIDs.screens.studyletter.letterDetails,\r\n component: \"StudyLetterLetterDetailsScreen\",\r\n layout: \"/mobile\",\r\n },\r\n {\r\n path: \"/studyletter/wordlist\",\r\n uid: MobileUIDs.screens.studyletter.wordList,\r\n component: \"StudyLetterWordListScreen\",\r\n layout: \"/mobile\",\r\n },\r\n {\r\n path: \"/studyletter/worddetails\",\r\n uid: MobileUIDs.screens.studyletter.wordDetails,\r\n component: \"StudyLetterWordDetailsScreen\",\r\n layout: \"/mobile\",\r\n },\r\n {\r\n path: \"/studyletter/practice\",\r\n uid: MobileUIDs.screens.studyletter.practice,\r\n component: \"StudyLetterPracticeScreen\",\r\n layout: \"/mobile\",\r\n },\r\n {\r\n path: \"/studyletter/complete\",\r\n uid: MobileUIDs.screens.studyletter.complete,\r\n component: \"StudyLetterCompleteScreen\",\r\n layout: \"/mobile\",\r\n },\r\n {\r\n path: \"/studyletter/statisticletterlist\",\r\n uid: MobileUIDs.screens.studyletter.statisticletterList,\r\n component: \"StudyLetterStatisticLetterListScreen\",\r\n layout: \"/mobile\",\r\n },\r\n {\r\n path: \"/studyletter/toplist\",\r\n uid: MobileUIDs.screens.studyletter.topList,\r\n component: \"StudyLetterTopListScreen\",\r\n layout: \"/mobile\",\r\n },\r\n {\r\n path: \"/talkchinese/home\",\r\n uid: MobileUIDs.screens.talkchinese.home,\r\n component: \"TalkChineseHomeScreen\",\r\n layout: \"/mobile\",\r\n },\r\n {\r\n path: \"/talkchinese/reviewlist\",\r\n uid: MobileUIDs.screens.talkchinese.reviewlist,\r\n component: \"TalkChineseReviewListScreen\",\r\n layout: \"/mobile\",\r\n },\r\n {\r\n path: \"/talkchinese/historylist\",\r\n uid: MobileUIDs.screens.talkchinese.historylist,\r\n component: \"TalkChineseHistoryListScreen\",\r\n layout: \"/mobile\",\r\n },\r\n {\r\n path: \"/talkchinese/history\",\r\n uid: MobileUIDs.screens.talkchinese.history,\r\n component: \"TalkChineseHistoryScreen\",\r\n layout: \"/mobile\",\r\n },\r\n {\r\n path: \"/talkchinese/historypreview\",\r\n uid: MobileUIDs.screens.talkchinese.historypreview,\r\n component: \"TalkChineseHistoryPreviewScreen\",\r\n layout: \"/mobile\",\r\n },\r\n {\r\n path: \"/talkchinese/ranking\",\r\n uid: MobileUIDs.screens.talkchinese.ranking,\r\n component: \"TalkChineseRankingScreen\",\r\n layout: \"/mobile\",\r\n },\r\n {\r\n path: \"/talkchinese/default\",\r\n uid: MobileUIDs.screens.talkchinese.default,\r\n component: \"TalkChineseDefaultScreen\",\r\n layout: \"/mobile\",\r\n },\r\n {\r\n path: \"/talkchinese/plan\",\r\n uid: MobileUIDs.screens.talkchinese.plan,\r\n component: \"TalkChinesePlanScreen\",\r\n layout: \"/mobile\",\r\n },\r\n {\r\n path: \"/talkchinese/practiceresult\",\r\n uid: MobileUIDs.screens.talkchinese.practiceresult,\r\n component: \"TalkChinesePracticeResultScreen\",\r\n layout: \"/mobile\",\r\n },\r\n {\r\n path: \"/talkchinese/complete\",\r\n uid: MobileUIDs.screens.talkchinese.complete,\r\n component: \"TalkChineseCompleteScreen\",\r\n layout: \"/mobile\",\r\n },\r\n {\r\n path: \"/talkchinese/level\",\r\n uid: MobileUIDs.screens.talkchinese.level,\r\n component: \"TalkChineseLevelScreen\",\r\n layout: \"/mobile\",\r\n },\r\n {\r\n path: \"/talkchinese/practice\",\r\n uid: MobileUIDs.screens.talkchinese.practice,\r\n component: \"TalkChinesePracticeScreen\",\r\n layout: \"/mobile\",\r\n },\r\n {\r\n path: \"/talkchinese/settings\",\r\n uid: MobileUIDs.screens.talkchinese.settings,\r\n component: \"TalkChineseSettingsScreen\",\r\n layout: \"/mobile\",\r\n },\r\n {\r\n path: \"/me/parentemail\",\r\n uid: MobileUIDs.screens.me.parentEmail,\r\n component: \"ParentEmailScreen\",\r\n layout: \"/mobile\",\r\n },\r\n\r\n {\r\n path: \"/chinesepark/default\",\r\n uid: MobileUIDs.screens.chinesepark.default,\r\n component: \"ChineseparkDefaultScreen\",\r\n icon: \"\",\r\n layout: \"/mobile\",\r\n name: \"chinesepark\",\r\n grade: \"1\",\r\n },\r\n {\r\n path: \"/chinesepark/roomsetting\",\r\n uid: MobileUIDs.screens.chinesepark.roomSetting,\r\n component: \"ChineseparkRoomSettingScreen\",\r\n icon: \"\",\r\n layout: \"/mobile\",\r\n name: \"chineseparkroomsetting\",\r\n },\r\n {\r\n path: \"/chinesepark/roommanager\",\r\n uid: MobileUIDs.screens.chinesepark.roomManager,\r\n component: \"ChineseparkRoomManagerScreen\",\r\n layout: \"/mobile\",\r\n },\r\n {\r\n path: \"/chinesepark/blacklist\",\r\n uid: MobileUIDs.screens.chinesepark.blackList,\r\n component: \"ChineseparkRoomBlackListScreen\",\r\n layout: \"/mobile\",\r\n },\r\n {\r\n path: \"/chinesepark/vipsetting\",\r\n uid: MobileUIDs.screens.chinesepark.vipFeatures,\r\n component: \"ChineseparkVipFeaturesScreen\",\r\n icon: \"\",\r\n layout: \"/mobile\",\r\n },\r\n {\r\n path: \"/chinesepark/createroom\",\r\n uid: MobileUIDs.screens.chinesepark.createRoom,\r\n component: \"ChineseparkCreateRoomScreen\",\r\n layout: \"/mobile\",\r\n },\r\n {\r\n path: \"/chinesepark/pkrules\",\r\n uid: MobileUIDs.screens.chinesepark.pkRules,\r\n component: \"ChineseparkPkRulesScreen\",\r\n layout: \"/mobile\",\r\n },\r\n {\r\n path: \"/:id\",\r\n uid: MobileUIDs.screens.chinesepark.room,\r\n component: \"ChineseParkRoomScreen\",\r\n layout: \"/room\",\r\n },\r\n {\r\n path: \"/bbs/default\",\r\n uid: MobileUIDs.screens.bbs.default,\r\n component: \"MobileBbsDefaultScreen\",\r\n layout: \"/mobile\",\r\n },\r\n {\r\n path: \"/bbs/details\",\r\n uid: MobileUIDs.screens.bbs.details,\r\n component: \"MobileBbsDetailsScreen\",\r\n layout: \"/mobile\",\r\n },\r\n {\r\n path: \"/bbs/message\",\r\n uid: MobileUIDs.screens.bbs.message,\r\n component: \"MobileBbsMessageScreen\",\r\n layout: \"/mobile\",\r\n },\r\n {\r\n path: \"/bbs/search\",\r\n uid: MobileUIDs.screens.bbs.search,\r\n component: \"MobileBbsSearchScreen\",\r\n layout: \"/mobile\",\r\n },\r\n {\r\n path: \"/me/default\",\r\n uid: MobileUIDs.screens.me.default,\r\n component: \"MobileMeDefaultScreen\",\r\n layout: \"/mobile\",\r\n },\r\n {\r\n path: \"/me/profilesetting\",\r\n uid: MobileUIDs.screens.me.profileSetting,\r\n component: \"MobileMeProfileSettingScreen\",\r\n layout: \"/mobile\",\r\n },\r\n {\r\n path: \"/me/studyplanlist\",\r\n uid: MobileUIDs.screens.me.studyPlanList,\r\n component: \"MobileMeStudyPlanListScreen\",\r\n layout: \"/mobile\",\r\n },\r\n {\r\n path: \"/me/rewardplanlist\",\r\n uid: MobileUIDs.screens.me.rewardPlanList,\r\n component: \"MobileMeRewardPlanListScreen\",\r\n layout: \"/mobile\",\r\n },\r\n {\r\n path: \"/me/feedbacksuggestion\",\r\n uid: MobileUIDs.screens.me.feedbackSuggestion,\r\n component: \"MobileMeFeedbackSuggestionScreen\",\r\n layout: \"/mobile\",\r\n },\r\n {\r\n path: \"/me/member\",\r\n uid: MobileUIDs.screens.me.member,\r\n component: \"MobileMeMemberScreen\",\r\n layout: \"/mobile\",\r\n },\r\n {\r\n path: \"/me/invitefriend\",\r\n uid: MobileUIDs.screens.me.inviteFriend,\r\n component: \"MobileMeInviteFriendScreen\",\r\n layout: \"/mobile\",\r\n },\r\n {\r\n path: \"/me/myclass\",\r\n uid: MobileUIDs.screens.me.myClass,\r\n component: \"MobileMeMyClassScreen\",\r\n layout: \"/mobile\",\r\n },\r\n {\r\n path: \"/me/mywallet\",\r\n uid: MobileUIDs.screens.me.myWallet,\r\n component: \"MobileMeMyWalletScreen\",\r\n layout: \"/mobile\",\r\n },\r\n {\r\n path: \"/me/paymenthistory\",\r\n uid: MobileUIDs.screens.me.paymentHistory,\r\n component: \"MobileMePaymentHistoryScreen\",\r\n layout: \"/mobile\",\r\n },\r\n {\r\n path: \"/me/notification\",\r\n uid: MobileUIDs.screens.me.notification,\r\n component: \"MobileMeNotificationScreen\",\r\n layout: \"/mobile\",\r\n },\r\n {\r\n path: \"/me/language\",\r\n uid: MobileUIDs.screens.me.language,\r\n component: \"MobileMeLanguageScreen\",\r\n layout: \"/mobile\",\r\n },\r\n {\r\n path: \"/me/about\",\r\n uid: MobileUIDs.screens.me.about,\r\n component: \"MobileMeAboutScreen\",\r\n layout: \"/mobile\",\r\n },\r\n {\r\n path: \"/me/deleteaccount\",\r\n uid: MobileUIDs.screens.me.deleteAccount,\r\n component: \"MobileMeDeleteAccountScreen\",\r\n layout: \"/mobile\",\r\n },\r\n {\r\n path: \"/me/serversetting\",\r\n uid: MobileUIDs.screens.me.serverSetting,\r\n component: \"MobileMeServerSettingScreen\",\r\n layout: \"/mobile\",\r\n },\r\n {\r\n path: \"/me/recordsetting\",\r\n uid: MobileUIDs.screens.course.recordsetting,\r\n component: \"MobileMeRecordsettingScreen\",\r\n layout: \"/mobile\",\r\n },\r\n {\r\n path: \"/me/resetpassword\",\r\n uid: MobileUIDs.screens.me.resetPassword,\r\n component: \"MobileMeResetPasswordScreen\",\r\n layout: \"/mobile\",\r\n },\r\n {\r\n path: \"/me/linkemail\",\r\n uid: MobileUIDs.screens.me.linkEmail,\r\n component: \"MobileMeLinkEmailScreen\",\r\n layout: \"/mobile\",\r\n },\r\n {\r\n path: \"/me/parentemail\",\r\n uid: MobileUIDs.screens.me.parentEmail,\r\n component: \"MobileMeParentEmailScreenScreen\",\r\n layout: \"/mobile\",\r\n },\r\n {\r\n path: \"/me/makePayment\",\r\n uid: MobileUIDs.screens.me.makePayment,\r\n component: \"MobileMeMakePaymentScreen\",\r\n layout: \"/mobile\",\r\n },\r\n {\r\n path: \"/me/fundsDetails\",\r\n uid: MobileUIDs.screens.me.fundsDetails,\r\n component: \"MobileMeFundsDetailsScreen\",\r\n layout: \"/mobile\",\r\n },\r\n {\r\n path: \"/me/withdraw\",\r\n uid: MobileUIDs.screens.me.withdraw,\r\n component: \"MobileMeWithdrawScreen\",\r\n layout: \"/mobile\",\r\n },\r\n {\r\n path: \"/me/bankAccounts\",\r\n uid: MobileUIDs.screens.me.bankAccounts,\r\n component: \"MobileMeBankAccountScreen\",\r\n layout: \"/mobile\",\r\n },\r\n {\r\n path: \"/me/editBankAccount\",\r\n uid: MobileUIDs.screens.me.editBankAccount,\r\n component: \"MobileMeEditBankAccountScreen\",\r\n layout: \"/mobile\",\r\n },\r\n {\r\n path: \"/me/roomHistory\",\r\n uid: MobileUIDs.screens.me.roomHistory,\r\n component: \"MobileMeRoomHistoryScreen\",\r\n layout: \"/mobile\",\r\n },\r\n {\r\n path: \"/me/roomHistoryDetails\",\r\n uid: MobileUIDs.screens.me.roomHistoryDetails,\r\n component: \"MobileMeRoomHistoryDetailsScreen\",\r\n layout: \"/mobile\",\r\n },\r\n {\r\n path: \"/aichat/chat\",\r\n uid: MobileUIDs.screens.aichat.chat,\r\n component: \"MobileAiChatChatScreen\",\r\n layout: \"/mobile\",\r\n },\r\n];\r\n\r\nexport default Routes;\r\n","import DebugLogger from \"../utils/DebugLogger\";\r\n\r\nconst AsyncActionReducers = {\r\n\r\n actionReducer: (state, action) => {\r\n var executedActions = { ...state.executedActions };\r\n executedActions[action.type] = { ...action, isExecuting: true, isDone: false, error: null, postReducer: action.postReducer };\r\n\r\n var newState = { ...state, executedActions: executedActions, action: executedActions[action.type] };\r\n if (executedActions[action.type].postReducer) {\r\n return executedActions[action.type].postReducer(newState, action);\r\n } else {\r\n return newState;\r\n }\r\n },\r\n\r\n successReducer: (state, action) => {\r\n if (!action.parentType) {\r\n DebugLogger.throw(\"action.parentType should be not null or undefined. Please check your settings for your async action.\");\r\n }\r\n\r\n var executedActions = { ...state.executedActions };\r\n executedActions[action.parentType] = { ...state.executedActions[action.parentType], isExecuting: false, isDone: true, data: action.data, postReducer: action.postReducer };\r\n\r\n var newState = { ...state, executedActions: executedActions, action: executedActions[action.parentType] };\r\n if (executedActions[action.parentType].postReducer) {\r\n return executedActions[action.parentType].postReducer(newState, action);\r\n } else {\r\n return newState;\r\n }\r\n },\r\n\r\n failureReducer: (state, action) => {\r\n if (!action.parentType) {\r\n DebugLogger.throw(\"action.parentType should be not null or undefined. Please check your settings for your async action.\");\r\n }\r\n\r\n var executedActions = { ...state.executedActions };\r\n executedActions[action.parentType] = { ...state.executedActions[action.parentType], isExecuting: false, error: action.error, postReducer: action.postReducer };\r\n\r\n var newState = { ...state, executedActions: executedActions, action: executedActions[action.parentType] };\r\n if (executedActions[action.parentType].postReducer) {\r\n return executedActions[action.parentType].postReducer(newState, action);\r\n } else {\r\n return newState;\r\n }\r\n }\r\n};\r\n\r\nexport default AsyncActionReducers;","export class Paradux {\r\n\r\n constructor(initialReducers = [], rootKey) {\r\n this._reducers = initialReducers;\r\n this._rootKey = rootKey;\r\n this._keyedReducers = {};\r\n this._registry = {};\r\n\r\n this.reducerWrapper = this.reducerWrapper.bind(this);\r\n this.register = this.register.bind(this);\r\n this.deregister = this.deregister.bind(this);\r\n }\r\n\r\n reducerWrapper(initReducers = []) {\r\n this._reducers = this._reducers.concat(initReducers);\r\n\r\n return (state, action) => {\r\n var nextState = this._reducers.reduce((collectiveState, reducer) => {\r\n return reducer(collectiveState, action);\r\n }, state);\r\n\r\n if (nextState === state) {\r\n nextState = { ...state };\r\n }\r\n\r\n const reducerKeys = Object.keys(this._keyedReducers);\r\n const rootState = nextState[this._rootKey];\r\n const nextRootState = {};\r\n for (let i = 0; i < reducerKeys.length; i++) {\r\n const key = reducerKeys[i];\r\n const reducer = this._keyedReducers[key];\r\n if (!reducer) {\r\n continue;\r\n }\r\n\r\n const previousStateForKey = rootState[key];\r\n const nextStateForKey = reducer(previousStateForKey, action);\r\n if (typeof nextStateForKey === \"undefined\") {\r\n const errorMessage = getUndefinedStateErrorMessage(key, action);\r\n throw new Error(errorMessage);\r\n }\r\n nextRootState[key] = nextStateForKey;\r\n }\r\n\r\n nextState[this._rootKey] = nextRootState;\r\n return nextState;\r\n };\r\n }\r\n\r\n register(reducer, namespace) {\r\n this._reducers.push(reducer);\r\n\r\n var deregister = this.deregister(reducer, namespace);\r\n\r\n if (namespace) {\r\n this._registry[namespace] = {\r\n reducer,\r\n deregister\r\n };\r\n }\r\n\r\n return deregister;\r\n }\r\n\r\n registerByKey(key, reducer) {\r\n this._keyedReducers[key] = reducer;\r\n }\r\n\r\n deregisterByKey(key) {\r\n this._keyedReducers[key] = null;\r\n }\r\n\r\n deregister(reducer, namespace) {\r\n return () => {\r\n this._reducers.splice(this._reducers.indexOf(reducer), 1);\r\n\r\n if (namespace) {\r\n delete this._registry[namespace];\r\n }\r\n\r\n return true;\r\n };\r\n }\r\n\r\n deregisterByNamespace(namespace) {\r\n this._registry[namespace].deregister();\r\n\r\n delete this._registry[namespace];\r\n\r\n return true;\r\n }\r\n}\r\n\r\nfunction getUndefinedStateErrorMessage(key, action) {\r\n const actionType = action && action.type;\r\n const actionName = (actionType && `\"${actionType.toString()}\"`) || \"an action\";\r\n\r\n return (\r\n `Given action ${actionName}, reducer \"${key}\" returned undefined. ` +\r\n \"To ignore an action, you must explicitly return the previous state. \" +\r\n \"If you want this reducer to hold no value, you can return null instead of undefined.\"\r\n );\r\n}\r\n\r\nvar _internalParadux = null;\r\n\r\nexport const g_paradux = {\r\n\r\n get: () => {\r\n return _internalParadux;\r\n },\r\n\r\n set: (val) => {\r\n _internalParadux = val;\r\n }\r\n};","import { g_paradux } from \"./Paradux\";\r\n\r\nexport default class ReducerRegister {\r\n\r\n // key: it is very important to be unique for all reducers since \r\n // it will be used to access the state managed by the reducer\r\n // reducer: the reducer functiont to update state\r\n constructor(key, reducer) {\r\n this.key = key;\r\n this.reducer = reducer;\r\n this.unsubscribeCount = 0;\r\n }\r\n\r\n register() {\r\n if (this.unsubscribeCount === 0) {\r\n var paradux = g_paradux.get();\r\n paradux.registerByKey(this.key, this.reducer);\r\n }\r\n this.unsubscribeCount++;\r\n }\r\n\r\n unregister() {\r\n this.unsubscribeCount--;\r\n if (this.unsubscribeCount === 0) {\r\n g_paradux.get().deregisterByKey(this.key);\r\n }\r\n }\r\n}\r\n","import { createReducer } from \"reduxsauce\";\r\nimport Immutable from \"seamless-immutable\";\r\n\r\nimport { ActionTypes as SessionActionTypes } from \"./SessionRedux\";\r\n\r\n/* ------------- Initial State ------------- */\r\n\r\nconst INITIAL_STATE = Immutable({\r\n});\r\n\r\n/* ------------- Reducers ------------- */\r\nconst logoutReducer = (state) => {\r\n return state;\r\n};\r\n\r\n/* ------------- Hookup Reducers To Types ------------- */\r\n\r\nexport const reducer = createReducer(INITIAL_STATE, {\r\n [SessionActionTypes.LOGOUT]: logoutReducer,\r\n});","import { createReducer } from \"reduxsauce\";\r\nimport _ from \"lodash\";\r\n\r\nimport { ActionTypes as TeacherLoginActionTypes } from \"./actionTypes/screens/account/TeacherLoginActionTypes\";\r\nimport { ActionTypes as ProfileActionTypes } from \"./actionTypes/screens/admin/ProfileActionTypes\";\r\nimport { ActionTypes as MobileProfileSettingActionTypes } from \"../mobile/redux/actionTypes/screens/me/ProfileSettingActionTypes\";\r\nimport { ActionTypes as AdminActionTypes } from \"./actionTypes/layouts/AdminActionTypes\";\r\nimport { ActionTypes as ChooseSchoolActionTypes } from \"./actionTypes/screens/admin/ChooseSchoolActionTypes\";\r\nimport { ActionTypes as RegisterPartnerActionTypes } from \"./actionTypes/screens/account/RegisterPartnerActionTypes\";\r\nimport { ActionTypes as LoginActionTypes } from \"./actionTypes/screens/account/LoginActionTypes\";\r\nimport { ActionTypes as MobileLoginActionTypes } from \"../mobile/redux/actionTypes/screens/account/LoginActionTypes\";\r\nimport { ActionTypes as UserLoginActionTypes } from \"./actionTypes/screens/account/UserLoginActionTypes\";\r\nimport { ActionTypes as UserRegisterActionTypes } from \"./actionTypes/screens/account/UserRegisterActionTypes\";\r\n\r\n\r\nimport AppConfig from \"../config/AppConfig\";\r\nimport StorageEngine from \"../utils/StorageEngine\";\r\nimport { ActionTypes } from \"./actionTypes/SessionActionTypes\";\r\nimport Constants from \"../config/Constants\";\r\n\r\n//\r\n// Actions\r\n//\r\nconst Actions = {\r\n tryLoadSession: () => ({\r\n type: ActionTypes.TRY_LOAD_SESSION\r\n }),\r\n\r\n logout: () => ({\r\n type: ActionTypes.LOGOUT\r\n }),\r\n\r\n receiveRefreshedToken: data => ({\r\n type: ActionTypes.RECEIVE_REFRESHED_TOKEN,\r\n data\r\n }),\r\n\r\n switchBackToSuperAdmin: data => ({\r\n type: ActionTypes.SWITCH_BACK_TO_SUPER_ADMIN,\r\n data\r\n }),\r\n\r\n switchBackToAgent: (data, isLoginFromAdminStatic, superAdminBackupData) => ({\r\n type: ActionTypes.SWITCH_BACK_TO_AGENT,\r\n data,\r\n isLoginFromAdminStatic,\r\n superAdminBackupData,\r\n }),\r\n\r\n switchBackToTeacher: (data, isLoginFromAdminStatic, superAdminBackupData, isLoginFromAgent, agentBackupData) => ({\r\n type: ActionTypes.SWITCH_BACK_TO_TEACHER,\r\n data,\r\n isLoginFromAdminStatic,\r\n superAdminBackupData,\r\n isLoginFromAgent,\r\n agentBackupData,\r\n }),\r\n};\r\n\r\n/* ------------- Initial State ------------- */\r\nconst INITIAL_STATE = {\r\n user: null,\r\n authorization: null,\r\n userId: null,\r\n partnerList: null,\r\n partner: null,\r\n isLoginFromSuperAdmin: false,\r\n superAdminBackupData: null,\r\n agentBackupData: null,\r\n teacherBackupData: null,\r\n};\r\n\r\n/* ------------- Reducers ------------- */\r\n// we've successfully logged in\r\nconst loginSuccessReducer = (state, { data }) => {\r\n const baseState = {\r\n user: data.user,\r\n authorization: data.authorization,\r\n userId: data.user.id,\r\n partnerList: data.partnerList,\r\n partner: data.partnerList && data.partnerList.length > 0 ? data.partnerList[0] : null, // by default, select first one\r\n unitTaskParticipants: data.unitTaskParticipants,\r\n isLoginFromSuperAdmin: data.isLoginFromSuperAdmin,\r\n isLoginFromAgent: data.isLoginFromAgent,\r\n isLoginFromAdminStatic: data.isLoginFromAdminStatic,\r\n isLoginFromTeacher: data.isLoginFromTeacher,\r\n };\r\n const newState = {\r\n ...baseState,\r\n superAdminBackupData: data.isLoginFromSuperAdmin || data.isLoginFromAdminStatic ? data.superAdminBackupData ? data.superAdminBackupData : { user: state.user, userId: state.userId, authorization: state.authorization, partnerList: state.partnerList, partner: state.partner } : null,\r\n agentBackupData: data.isLoginFromAgent ? data.agentBackupData ? data.agentBackupData : { user: state.user, userId: state.userId, authorization: state.authorization, partnerList: state.partnerList, partner: state.partner } : null,\r\n teacherBackupData: data.isLoginFromTeacher ? data.teacherBackupData ? data.teacherBackupData : { user: state.user, userId: state.userId, authorization: state.authorization, partnerList: state.partnerList, partner: state.partner } : null,\r\n };\r\n\r\n\tif (AppConfig.ENABLE_LEARN_FUNCTION !== data.enableLearnFunction)\r\n AppConfig.updateAppConfig({ ENABLE_LEARN_FUNCTION: data.enableLearnFunction });\r\n\r\n\tif (AppConfig.ENABLE_CHINESE_PARK !== data.enableChinesePark)\r\n AppConfig.updateAppConfig({ ENABLE_CHINESE_PARK: data.enableChinesePark });\r\n\r\n\tif (AppConfig.ENABLE_BBS_FUNCTION !== data.enableBbsFunction)\r\n AppConfig.updateAppConfig({ ENABLE_BBS_FUNCTION: data.enableBbsFunction });\r\n\r\n //save into storage\r\n StorageEngine(AppConfig.SESSION_STORAGE_KEY).save(newState);\r\n\r\n return { ...state, ...newState };\r\n};\r\n\r\nconst logoutReducer = (state) => {\r\n //delete from store\r\n StorageEngine(AppConfig.SESSION_STORAGE_KEY).delete();\r\n // we need to keep some values like isConnected or else, so\r\n // here we only override necessary states when logout\r\n return { ...state, ...INITIAL_STATE };\r\n};\r\n\r\nconst tryLoadSessionReducer = (state) => {\r\n const newState = StorageEngine(AppConfig.SESSION_STORAGE_KEY).load();\r\n if (!_.isNull(newState) && !_.isUndefined(newState)) {\r\n return { ...state, ...newState };\r\n } else {\r\n return state;\r\n }\r\n};\r\n\r\nconst receiveRefreshedTokenReducer = (state, { data }) => {\r\n const newState = {\r\n authorization: { ...data }\r\n };\r\n\r\n //save into storage\r\n StorageEngine(AppConfig.SESSION_STORAGE_KEY).save({ ...state, ...newState });\r\n\r\n return { ...state, ...newState };\r\n};\r\n\r\n// we've successfully selected one partner\r\nconst selectPartnerSuccessReducer = (state, { data }) => {\r\n const newState = {\r\n partner: data\r\n };\r\n\r\n //save into storage\r\n StorageEngine(AppConfig.SESSION_STORAGE_KEY).save({ ...state, ...newState });\r\n\r\n return { ...state, ...newState };\r\n};\r\n\r\nconst saveUserSuccessReducer = (state, { data }) => {\r\n const newUser = {\r\n user: data,\r\n userId: data.id,\r\n };\r\n\r\n let newPartner = { ...state.partner, organization: data.organization };\r\n let newPartnerList = _.cloneDeep(state.partnerList);\r\n if (!_.isNull(newPartnerList)) {\r\n let partnerItem = newPartnerList.find(item => item.id === newPartner.id && item.id !== \"\");\r\n if (partnerItem) {\r\n partnerItem.name = data.organization;\r\n }\r\n newPartnerList.filter(item => item.addedBy === data.addedBy).forEach(item => item.fullName = data.creator);\r\n }\r\n\r\n //save into storage\r\n StorageEngine(AppConfig.SESSION_STORAGE_KEY).save({ ...state, ...newUser, partner: newPartner, partnerList: newPartnerList });\r\n\r\n return { ...state, ...newUser, partner: newPartner, partnerList: newPartnerList };\r\n};\r\n\r\nconst saveUserPhotoSuccessReducer = (state, { newPhoto }) => {\r\n const newUserIcon = {...state.user.icon, photo: newPhoto};\r\n const newUser = {...state.user, icon: newUserIcon};\r\n\r\n //save into storage\r\n StorageEngine(AppConfig.SESSION_STORAGE_KEY).save({ ...state, user: newUser});\r\n\r\n return { ...state, user: newUser };\r\n};\r\n\r\nconst switchBackToSuperAdminReducer = (state, { data }) => {\r\n const newState = {\r\n ...data,\r\n user: data.user,\r\n userId: data.userId,\r\n authorization: data.authorization,\r\n superAdmin: true,\r\n isLoginFromSuperAdmin: false,\r\n isLoginFromAgent: false,\r\n isLoginFromAdminStatic: false,\r\n isLoginFromTeacher: false,\r\n };\r\n //save into storage\r\n StorageEngine(AppConfig.SESSION_STORAGE_KEY).save({ ...state, ...newState });\r\n\r\n return { ...state, ...newState };\r\n};\r\n\r\nconst switchBackToAgentReducer = (state, { data, isLoginFromAdminStatic, superAdminBackupData }) => {\r\n const newState = {\r\n ...data,\r\n user: data.user,\r\n userId: data.userId,\r\n authorization: data.authorization,\r\n superAdmin: true,\r\n isLoginFromAgent: false,\r\n isLoginFromAdminStatic,\r\n superAdminBackupData,\r\n isLoginFromTeacher:false,\r\n };\r\n //save into storage\r\n StorageEngine(AppConfig.SESSION_STORAGE_KEY).save({ ...state, ...newState });\r\n\r\n return { ...state, ...newState };\r\n};\r\n\r\nconst switchBackToTeacherReducer = (state, { data, isLoginFromAdminStatic, superAdminBackupData, isLoginFromAgent, agentBackupData }) => {\r\n const newState = {\r\n ...data,\r\n user: data.user,\r\n userId: data.userId,\r\n authorization: data.authorization,\r\n superAdmin: true,\r\n isLoginFromAgent,\r\n isLoginFromAdminStatic,\r\n superAdminBackupData,\r\n agentBackupData,\r\n isLoginFromTeacher: false\r\n };\r\n\r\n //save into storage\r\n StorageEngine(AppConfig.SESSION_STORAGE_KEY).save({ ...state, ...newState });\r\n\r\n return { ...state, ...newState };\r\n};\r\n\r\n/* ------------- Hookup Reducers To Types ------------- */\r\n\r\nconst reducer = createReducer(INITIAL_STATE, {\r\n [TeacherLoginActionTypes.LOGIN_SUCCESS]: loginSuccessReducer,\r\n [UserLoginActionTypes.LOGIN_SUCCESS]: loginSuccessReducer,\r\n //[RegisterPartnerActionTypes.REGISTER_PARTNER_SUCCESS]: loginSuccessReducer,\r\n [RegisterPartnerActionTypes.LOGIN_SUCCESS]: loginSuccessReducer,\r\n //[UserRegisterActionTypes.REGISTER_SUCCESS]: loginSuccessReducer,\r\n [UserRegisterActionTypes.LOGIN_SUCCESS]: loginSuccessReducer,\r\n [LoginActionTypes.LOGIN_SUCCESS]: loginSuccessReducer,\r\n [MobileLoginActionTypes.LOGIN_SUCCESS]: loginSuccessReducer,\r\n [RegisterPartnerActionTypes.ACTIVE_TEACHER_SUCCESS]: loginSuccessReducer,\r\n [AdminActionTypes.SELECT_PARTNER]: selectPartnerSuccessReducer,\r\n [ChooseSchoolActionTypes.SELECT_PARTNER]: selectPartnerSuccessReducer,\r\n [ActionTypes.TRY_LOAD_SESSION]: tryLoadSessionReducer,\r\n [ActionTypes.LOGOUT]: logoutReducer,\r\n [ActionTypes.RECEIVE_REFRESHED_TOKEN]: receiveRefreshedTokenReducer,\r\n [ActionTypes.SWITCH_BACK_TO_SUPER_ADMIN]: switchBackToSuperAdminReducer,\r\n [ActionTypes.SWITCH_BACK_TO_AGENT]: switchBackToAgentReducer,\r\n [ActionTypes.SWITCH_BACK_TO_TEACHER]: switchBackToTeacherReducer,\r\n [ProfileActionTypes.SAVE_USER_SUCCESS]: saveUserSuccessReducer,\r\n [MobileProfileSettingActionTypes.CHANGE_MEMBER_PHOTO_SUCCESS]: saveUserPhotoSuccessReducer,\r\n [LoginActionTypes.CHANGE_PASSWORD_SUCCESS]: loginSuccessReducer,\r\n});\r\n\r\nexport { ActionTypes, Actions, reducer, INITIAL_STATE };\r\n","import { createReducer } from \"reduxsauce\";\r\n\r\nimport { ActionTypes } from \"./actionTypes/TaskActionTypes\"\r\n\r\nimport { generateUUID, isNullOrEmpty } from \"../utils/Helper\"\r\nimport TaskHelper, { TaskTypes, TaskStates } from \"../utils/TaskHelper\"\r\nimport AsyncActionReducers from \"./AsyncActionReducers\";\r\n\r\n\r\n\r\n/* ------------- Actions ------------- */\r\nconst Actions = {\r\n loadTask: () => ({\r\n type: ActionTypes.LOAD_TASK,\r\n }),\r\n\r\n addTask: (data, taskType) => ({\r\n type: ActionTypes.ADD_TASK,\r\n data,\r\n taskType\r\n }),\r\n\r\n deleteTask: (id, taskType) => ({\r\n type: ActionTypes.DELETE_TASK,\r\n id,\r\n taskType\r\n }),\r\n\r\n updateTask: (id, taskType, error) => ({\r\n type: ActionTypes.UPDATE_TASK,\r\n id,\r\n taskType,\r\n error\r\n }),\r\n\r\n batchAddTask: (taskList, taskType) => ({\r\n type: ActionTypes.BATCH_ADD_TASK,\r\n taskList,\r\n taskType\r\n }),\r\n\r\n executeTaskAsync: task => ({\r\n type: ActionTypes.EXECUTE_TASK_ASYNC,\r\n task\r\n }),\r\n\r\n executeTaskSuccess: (task, response) => ({\r\n type: ActionTypes.EXECUTE_TASK_SUCCESS,\r\n parentType: ActionTypes.EXECUTE_TASK_ASYNC,\r\n postReducer: executeTaskSuccessReducer,\r\n task,\r\n response\r\n }),\r\n\r\n executeTaskFailure: (task, error) => ({\r\n type: ActionTypes.EXECUTE_TASK_FAILURE,\r\n parentType: ActionTypes.EXECUTE_TASK_ASYNC,\r\n postReducer: executeTaskFailureReducer,\r\n task,\r\n error\r\n }),\r\n};\r\n\r\n/* ------------- Initial State ------------- */\r\nconst INITIAL_STATE = {\r\n taskQueue: { [TaskTypes.SAVE_UNIT]: { isProcessing: false, queue: [] } }\r\n};\r\n\r\n/* ------------- Reducers ------------- */\r\nconst loadTaskReducer = (state) => {\r\n let taskQueue = TaskHelper.getAllTask();\r\n if (isNullOrEmpty(taskQueue)) taskQueue = state.taskQueue;\r\n return { ...state, taskQueue: taskQueue }\r\n};\r\n\r\nconst addTaskReducer = (state, { data, taskType }) => {\r\n const id = generateUUID();\r\n const task = { id, type: taskType, data: data, state: TaskStates.PENDING }\r\n TaskHelper.appendTask(task);\r\n let taskQueue = TaskHelper.getAllTask();\r\n if (isNullOrEmpty(taskQueue)) taskQueue = state.taskQueue;\r\n return { ...state, taskQueue: taskQueue }\r\n};\r\n\r\nconst updateTaskReducer = (state, { id, taskType, error }) => {\r\n TaskHelper.updateTask(id, taskType, error);\r\n let taskQueue = TaskHelper.getAllTask();\r\n if (isNullOrEmpty(taskQueue)) taskQueue = state.taskQueue;\r\n return { ...state, taskQueue: taskQueue }\r\n};\r\n\r\nconst deleteTaskReducer = (state, { id, taskType }) => {\r\n TaskHelper.removeTaskById(id, taskType);\r\n let taskQueue = TaskHelper.getAllTask();\r\n if (isNullOrEmpty(taskQueue)) taskQueue = state.taskQueue;\r\n return { ...state, taskQueue: taskQueue }\r\n};\r\n\r\nconst batchAddTaskReducer = (state, { taskList, taskType }) => {\r\n for (let data of taskList.data) {\r\n const id = generateUUID();\r\n const taskData = {\r\n data,\r\n dataType: taskList.dataType,\r\n duration: taskList.duration,\r\n ownerId: taskList.ownerId,\r\n ownerType: taskList.ownerType,\r\n unitType: taskList.unitType,\r\n resourceId: generateUUID()\r\n };\r\n const task = { id, type: taskType, data: taskData, state: TaskStates.PENDING }\r\n TaskHelper.appendTask(task);\r\n }\r\n let taskQueue = TaskHelper.getAllTask();\r\n if (isNullOrEmpty(taskQueue)) taskQueue = state.taskQueue;\r\n return { ...state, taskQueue: taskQueue }\r\n};\r\n\r\n\r\nconst executeTaskSuccessReducer = (state, { task }) => {\r\n TaskHelper.removeTaskById(task.id, task.type);\r\n let taskQueue = TaskHelper.getAllTask();\r\n if (isNullOrEmpty(taskQueue)) taskQueue = state.taskQueue;\r\n return { ...state, taskQueue: taskQueue }\r\n}\r\n\r\nconst executeTaskFailureReducer = (state, { task, error }) => {\r\n TaskHelper.updateTask(task.id, task.type, error);\r\n let taskQueue = TaskHelper.getAllTask();\r\n if (isNullOrEmpty(taskQueue)) taskQueue = state.taskQueue;\r\n return { ...state, taskQueue: taskQueue }\r\n}\r\n\r\n\r\n/* ------------- Hookup Reducers To Types ------------- */\r\n\r\nconst reducer = createReducer(INITIAL_STATE, {\r\n [ActionTypes.LOAD_TASK]: loadTaskReducer,\r\n [ActionTypes.ADD_TASK]: addTaskReducer,\r\n [ActionTypes.UPDATE_TASK]: updateTaskReducer,\r\n [ActionTypes.DELETE_TASK]: deleteTaskReducer,\r\n [ActionTypes.BATCH_ADD_TASK]: batchAddTaskReducer,\r\n [ActionTypes.EXECUTE_TASK_ASYNC]: AsyncActionReducers.actionReducer,\r\n [ActionTypes.EXECUTE_TASK_SUCCESS]: AsyncActionReducers.successReducer,\r\n [ActionTypes.EXECUTE_TASK_FAILURE]: AsyncActionReducers.failureReducer,\r\n});\r\n\r\nexport { ActionTypes, Actions, reducer, INITIAL_STATE };\r\n","import UIDs from \"../../UIDs\";\r\n\r\nconst uid = UIDs.session;\r\n\r\nconst ActionTypes = {\r\n LOGOUT: `${uid}.logout`,\r\n TRY_LOAD_SESSION: `${uid}.tryLoadSession`,\r\n RECEIVE_REFRESHED_TOKEN: `${uid}.receiveRefreshedToken`,\r\n SWITCH_BACK_TO_SUPER_ADMIN: `${uid}.switchBackToSuperAdmin`,\r\n SWITCH_BACK_TO_AGENT: `${uid}.switchBackToAgent`,\r\n SWITCH_BACK_TO_TEACHER: `${uid}.switchBackToTeacher`,\r\n};\r\n\r\nexport { ActionTypes };\r\n","import UIDs from \"../../UIDs\";\r\n\r\nconst uid = UIDs.taskqueue;\r\n\r\nconst ActionTypes = {\r\n LOAD_TASK: `${uid}.loadTask`,\r\n ADD_TASK: `${uid}.addTask`,\r\n DELETE_TASK: `${uid}.deleteTask`,\r\n UPDATE_TASK: `${uid}.updateTask`,\r\n BATCH_ADD_TASK: `${uid}.processTask`,\r\n EXECUTE_TASK_ASYNC:`${uid}.executeTaskAsync`,\r\n EXECUTE_TASK_SUCCESS:`${uid}.executeTaskSuccess`,\r\n EXECUTE_TASK_FAILURE:`${uid}.executeTaskFailure`,\r\n};\r\n\r\nexport { ActionTypes };\r\n","import UIDs from \"../../../UIDs\";\r\n\r\nconst uid = UIDs.layouts.admin;\r\n\r\nconst ActionTypes = {\r\n LOAD_SCREEN_VIEW_ASYNC: `${uid}.loadScreenViewAsync`,\r\n LOAD_SCREEN_VIEW_SUCCESS: `${uid}.loadScreenViewSuccess`,\r\n LOAD_SCREEN_VIEW_FAILURE: `${uid}.loadScreenViewFailure`,\r\n LOGOUT: `${uid}.logout`,\r\n TRY_LOAD_SESSION: `${uid}.tryLoadSession`,\r\n SELECT_PARTNER: `${uid}.selectPartner` \r\n};\r\n\r\nexport { ActionTypes };\r\n","import UIDs from \"../../../UIDs\";\r\n\r\nconst uid = UIDs.screens.default;\r\n\r\nconst ActionTypes = {\r\n LOAD_APP_ASYNC: `${uid}.loadAppAsync`,\r\n LOAD_APP_SUCCESS: `${uid}.loadAppSuccess`,\r\n LOAD_APP_FAILURE: `${uid}.loadAppFailure` \r\n};\r\n\r\nexport { ActionTypes };\r\n","import UIDs from \"../../../../UIDs\";\r\n\r\nconst uid = UIDs.screens.account.login;\r\n\r\nconst ActionTypes = {\r\n LOGIN_ASYNC: `${uid}.loginAsync`,\r\n LOGIN_SUCCESS: `${uid}.loginSuccess`,\r\n LOGIN_FAILURE: `${uid}.loginFailure`,\r\n \r\n CHANGE_PASSWORD_ASYNC: `${uid}.changePasswordAsync`,\r\n CHANGE_PASSWORD_SUCCESS: `${uid}.changePasswordSuccess`,\r\n CHANGE_PASSWORD_FAILURE: `${uid}.changePasswordFailure`, \r\n\r\n TOGGLE_MODAL: `${uid}.toggleModal`,\r\n UPDATE_SETTINGS: `${uid}.updateSettings`,\r\n};\r\n\r\nexport { ActionTypes };\r\n","import UIDs from \"../../../../UIDs\";\r\n\r\nconst uid = UIDs.screens.account.registerpartner;\r\n\r\nconst ActionTypes = {\r\n REGISTER_PARTNER_ASYNC: `${uid}.registerPartnerAsync`,\r\n REGISTER_PARTNER_SUCCESS: `${uid}.registerPartnerSuccess`,\r\n REGISTER_PARTNER_FAILURE: `${uid}.registerPartnerFailure`,\r\n GETUSER_BY_EMAIL_ASYNC: `${uid}.getUserByEmailAsync`,\r\n GETUSER_BY_EMAIL_SUCCESS: `${uid}.getUserByEmailSuccess`,\r\n GETUSER_BY_EMAIL_FAILURE: `${uid}.getUserByEmailFailure`,\r\n SHOW_COUNT_DOWN: `${uid}.showCountDown`,\r\n SEND_CORP_CODE_ASYNC: `${uid}.sendCorpCodeAsync`,\r\n SEND_CORP_CODE_SUCCESS: `${uid}.sendCorpCodeSuccess`,\r\n SEND_CORP_CODE_FAILURE: `${uid}.sendCorpCodeFailure`,\r\n GET_ALL_COUNTRY_CODE_ASYNC:`${uid}.getAllCountryCodeAsync`,\r\n GET_ALL_COUNTRY_CODE_SUCCESS:`${uid}.getAllCountryCodeSuccess`,\r\n GET_ALL_COUNTRY_CODE_FAILURE:`${uid}.getAllCountryCodeFailure`,\r\n SEND_SMS_VERIFY_CODE_ASYNC:`${uid}.sendSmsVerifyCodeAsync`,\r\n SEND_SMS_VERIFY_CODE_SUCCESS:`${uid}.sendSmsVerifyCodeSuccess`,\r\n SEND_SMS_VERIFY_CODE_FAILURE:`${uid}.sendSmsVerifyCodeFailure`,\r\n SEND_EMAIL_VERIFY_CODE_ASYNC:`${uid}.sendEmailVerifyCodeAsync`,\r\n SEND_EMAIL_VERIFY_CODE_SUCCESS:`${uid}.sendEmailVerifyCodeSuccess`,\r\n SEND_EMAIL_VERIFY_CODE_FAILURE:`${uid}.sendEmailVerifyCodeFailure`,\r\n UPDATE_SETTINGS: `${uid}.updateSettings`,\r\n RESET_TO_INITIAL_DATA:`${uid}.resetToInitialData`,\r\n\r\n ACTIVE_TEACHER_ASYNC: `${uid}.activeTeacherAsync`,\r\n ACTIVE_TEACHER_SUCCESS: `${uid}.activeTeacherSuccess`,\r\n ACTIVE_TEACHER_FAILURE: `${uid}.activeTeacherFailure`,\r\n\r\n LOGIN_ASYNC: `${uid}.loginAsync`,\r\n LOGIN_SUCCESS: `${uid}.loginSuccess`,\r\n LOGIN_FAILURE: `${uid}.loginFailure`,\r\n};\r\n\r\nexport { ActionTypes };\r\n","import UIDs from \"../../../../UIDs\";\r\n\r\nconst uid = UIDs.screens.account.teacherlogin;\r\n\r\nconst ActionTypes = {\r\n LOGIN_ASYNC: `${uid}.loginAsync`,\r\n LOGIN_SUCCESS: `${uid}.loginSuccess`,\r\n LOGIN_FAILURE: `${uid}.loginFailure`,\r\n\r\n TOGGLE_MODAL: `${uid}.toggleModal`,\r\n UPDATE_SETTINGS: `${uid}.updateSettings`,\r\n};\r\n\r\nexport { ActionTypes };\r\n","import UIDs from \"../../../../UIDs\";\r\n\r\nconst uid = UIDs.screens.account.userlogin;\r\n\r\nconst ActionTypes = {\r\n LOGIN_ASYNC: `${uid}.loginAsync`,\r\n LOGIN_SUCCESS: `${uid}.loginSuccess`,\r\n LOGIN_FAILURE: `${uid}.loginFailure`,\r\n\r\n TOGGLE_MODAL: `${uid}.toggleModal`,\r\n UPDATE_SETTINGS: `${uid}.updateSettings`,\r\n};\r\n\r\nexport { ActionTypes };\r\n","import UIDs from \"../../../../UIDs\";\r\n\r\nconst uid = UIDs.screens.account.userregister;\r\n\r\nconst ActionTypes = {\r\n REGISTER_ASYNC: `${uid}.registerAsync`,\r\n REGISTER_SUCCESS: `${uid}.registerSuccess`,\r\n REGISTER_FAILURE: `${uid}.registerFailure`,\r\n \r\n UPLOAD_IMAGE_TO_SERVER_ASYNC: `${uid}uploadImageToServerAsync`,\r\n UPLOAD_IMAGE_TO_SERVER_SUCCESS: `${uid}uploadImageToServerSuccess`,\r\n UPLOAD_IMAGE_TO_SERVER_FAILURE: `${uid}uploadImageToServerFailure`,\r\n\r\n SEND_VERIFY_CODE_ASYNC: `${uid}.sendVerifyCodeAsync`,\r\n SEND_VERIFY_CODE_SUCCESS: `${uid}.sendVerifyCodeSuccess`,\r\n SEND_VERIFY_CODE_FAILURE: `${uid}.sendVerifyCodeFailure`,\r\n\r\n CLOSE_COUNT_DOWN: `${uid}.closeCountDown`,\r\n SHOW_COUNT_DOWN: `${uid}.showCountDown`,\r\n CHANGE_SETTINGS: `${uid}.changeSettings`,\r\n HIDE_SEND_SUCCESSFULE_MSG: `${uid}.hideSendSuccessfulMsg`,\r\n\r\n RESET_TO_INITIAL_DATA:`${uid}.resetToInitialData`,\r\n LOGIN_ASYNC: `${uid}.loginAsync`,\r\n LOGIN_SUCCESS: `${uid}.loginSuccess`,\r\n LOGIN_FAILURE: `${uid}.loginFailure`,\r\n};\r\n\r\nexport { ActionTypes };\r\n","import UIDs from \"../../../../UIDs\";\r\n\r\nconst uid = UIDs.screens.admin.chooseschool;\r\n\r\nconst ActionTypes = {\r\n SELECT_PARTNER: `${uid}.selectPartner`,\r\n\r\n LOGIN_OTHER_USER_ASYNC: `${uid}.loginOtherUserAsync`,\r\n LOGIN_OTHER_USER_SUCCESS: `${uid}.loginOtherUserSuccess`,\r\n LOGIN_OTHER_USER_FAILURE: `${uid}.loginOtherUserFailure`,\r\n};\r\n\r\nexport { ActionTypes };\r\n","import UIDs from \"../../../../UIDs\";\r\n\r\nconst uid = UIDs.screens.admin.profile;\r\n\r\nconst ActionTypes = {\r\n LOAD_SCREEN_VIEW_ASYNC: `${uid}.loadScreenViewAsync`,\r\n LOAD_SCREEN_VIEW_SUCCESS: `${uid}.loadScreenViewSuccess`,\r\n LOAD_SCREEN_VIEW_FAILURE: `${uid}.loadScreenViewFailure`,\r\n SAVE_USER_ASYNC: `${uid}.saveUserAsync`,\r\n SAVE_USER_SUCCESS: `${uid}.saveUserSuccess`,\r\n SAVE_USER_FAILURE: `${uid}.saveUserFailure`,\r\n SAVE_PASSWORD_ASYNC: `${uid}.savePasswordAsync`,\r\n SAVE_PASSWORD_SUCCESS: `${uid}.savePasswordSuccess`,\r\n SAVE_PASSWORD_FAILURE: `${uid}.savePasswordFailure`,\r\n UPLOAD_PHOTO_ASYNC: `${uid}.uploadPhotoAsync`,\r\n UPLOAD_PHOTO_SUCCESS: `${uid}.uploadPhotoSuccess`,\r\n UPLOAD_PHOTO_FAILURE: `${uid}.uploadPhotoFailure`,\r\n SHOW_COUNT_DOWN: `${uid}.showCountDown`,\r\n GET_ALL_COUNTRY_CODE_ASYNC:`${uid}.getAllCountryCodeAsync`,\r\n GET_ALL_COUNTRY_CODE_SUCCESS:`${uid}.getAllCountryCodeSuccess`,\r\n GET_ALL_COUNTRY_CODE_FAILURE:`${uid}.getAllCountryCodeFailure`,\r\n SEND_SMS_VERIFY_CODE_ASYNC:`${uid}.sendSmsVerifyCodeAsync`,\r\n SEND_SMS_VERIFY_CODE_SUCCESS:`${uid}.sendSmsVerifyCodeSuccess`,\r\n SEND_SMS_VERIFY_CODE_FAILURE:`${uid}.sendSmsVerifyCodeFailure`,\r\n SEND_EMAIL_VERIFY_CODE_ASYNC:`${uid}.sendEmailVerifyCodeAsync`,\r\n SEND_EMAIL_VERIFY_CODE_SUCCESS:`${uid}.sendEmailVerifyCodeSuccess`,\r\n SEND_EMAIL_VERIFY_CODE_FAILURE:`${uid}.sendEmailVerifyCodeFailure`,\r\n};\r\n\r\nexport { ActionTypes };","import { createStore, applyMiddleware, compose, combineReducers } from \"redux\";\r\n// import { createLogger } from \"redux-logger\";\r\nimport reduxMiddleware from \"react-block-ui/lib/reduxMiddleware\";\r\nimport thunk from \"redux-thunk\";\r\n\r\nimport { Paradux, g_paradux } from \"./Paradux\";\r\nimport screenTracking from \"./middleware/ScreenTracking\";\r\n\r\nclass StoreManager {\r\n\r\n constructor() {\r\n this.store = null;\r\n }\r\n\r\n getStore() {\r\n if (!this.store) {\r\n this.store = this._createStore();\r\n }\r\n\r\n return this.store;\r\n }\r\n\r\n _createStore() {\r\n const appReducer = combineReducers({ session: require(\"./SessionRedux\").reducer, screens: require(\"./ScreensRedux\").reducer, actions: (state = [], payload) => [payload, ...state], task: require(\"./TaskRedux\").reducer });\r\n\r\n // set global paradux instance\r\n g_paradux.set(new Paradux([appReducer], \"screens\"));\r\n\r\n const rootReducer = g_paradux.get().reducerWrapper();\r\n return this._configureStore(rootReducer);\r\n }\r\n\r\n // creates the store\r\n _configureStore(rootReducer) {\r\n /* ------------- Redux Configuration ------------- */\r\n\r\n const middleware = [];\r\n const enhancers = [];\r\n\r\n middleware.push(thunk);\r\n middleware.push(screenTracking);\r\n middleware.push(reduxMiddleware);\r\n // // middleware.push(createLogger());\r\n\r\n // /* ------------- Assemble Middleware ------------- */\r\n\r\n enhancers.push(applyMiddleware(...middleware));\r\n\r\n /* ------------- AutoRehydrate Enhancer ------------- */\r\n\r\n var store = null;\r\n // if (__DEV__) {\r\n // store = Reactotron.createStore(rootReducer, compose(...enhancers));\r\n // } else {\r\n store = createStore(rootReducer, compose(...enhancers));\r\n // }\r\n\r\n return store;\r\n }\r\n}\r\n\r\nexport default new StoreManager();\r\n","// import { GoogleAnalyticsTracker } from \"react-native-google-analytics-bridge\";\r\n\r\nimport DebugLogger from \"../../utils/DebugLogger\";\r\nimport Analytics from \"../../utils/Analytics\";\r\n// import SessionHelper from \"../../utils/SessionHelper\";\r\n\r\n// let tracker = new GoogleAnalyticsTracker(\"UA-124203308-3\");\r\n\r\nconst screenTracking = store => next => action => {\r\n let result = next(action);\r\n\r\n //var state = store.getState();\r\n DebugLogger.log(\"Redux: \" + action.type + \" is called.\");\r\n\r\n try {\r\n if (action.type.endsWith(\"loadScreenViewSuccess\")) {\r\n DebugLogger.log(\"View: \" + action.type + \" is loaded.\");\r\n\r\n if (!action.data.analytics) {\r\n throw new Error(\"Analytics data is not returned for screen (\" + action.type + \")\");\r\n }\r\n\r\n Analytics.trackScreenView(action.data.analytics.uid, action.type, action.data.analytics.userProps, action.data.analytics.pageProps);\r\n }\r\n } catch (err) {\r\n DebugLogger.log(\"Screen view is NOT sent successfully due to \" + err);\r\n }\r\n\r\n return result;\r\n};\r\n\r\nexport default screenTracking;","import { createReducer } from \"reduxsauce\";\r\n\r\nimport ReducerRegister from \"../ReducerRegister\";\r\nimport DefaultService from \"../../services/screens/DefaultService\";\r\nimport { ActionTypes } from \"../actionTypes/screens/DefaultActionTypes\";\r\nimport AsyncActionReducers from \"../AsyncActionReducers\";\r\n\r\nimport UIDs from \"../../UIDs\";\r\n\r\nconst uid = UIDs.screens.default;\r\n\r\n//\r\n// Actions\r\n//\r\nconst Actions = {\r\n loadAppAsync: () => {\r\n return (dispatch /*, getState*/) => {\r\n dispatch({ type: ActionTypes.LOAD_APP_ASYNC });\r\n\r\n DefaultService.loadApp(\r\n response => {\r\n dispatch(Actions.loadAppSuccess(response));\r\n },\r\n error => {\r\n dispatch(Actions.loadAppFailure(error));\r\n }\r\n );\r\n };\r\n },\r\n\r\n loadAppSuccess: data => ({\r\n type: ActionTypes.LOAD_APP_SUCCESS,\r\n parentType: ActionTypes.LOAD_APP_ASYNC,\r\n data\r\n }),\r\n\r\n loadAppFailure: error => ({\r\n type: ActionTypes.LOAD_APP_FAILURE,\r\n parentType: ActionTypes.LOAD_APP_ASYNC,\r\n error\r\n }),\r\n};\r\n\r\n//\r\n// Initial State\r\n//\r\nconst INITIAL_STATE = {\r\n\r\n};\r\n\r\n//\r\n// Reducers\r\n//\r\n\r\n// Use reduxsauce's createReducer to make it clearer for\r\n// each action handler\r\nconst mergedReducer = createReducer(INITIAL_STATE, {\r\n [ActionTypes.LOAD_APP_ASYNC]: AsyncActionReducers.actionReducer,\r\n [ActionTypes.LOAD_APP_SUCCESS]: AsyncActionReducers.successReducer,\r\n [ActionTypes.LOAD_APP_FAILURE]: AsyncActionReducers.failureReducer\r\n});\r\n\r\n// Enable dynamically register and unregister reducer\r\nconst reducer = new ReducerRegister(uid, mergedReducer);\r\n\r\nexport { ActionTypes, Actions, reducer, INITIAL_STATE };","import React, { Suspense } from \"react\";\r\nimport { Route, Switch } from \"react-router-dom\";\r\nimport _ from \"lodash\";\r\nimport { connect } from \"react-redux\";\r\n\r\nimport BaseScreen from \"../components/base/BaseScreen\";\r\n\r\nimport \"../assets/vendor/nucleo/css/nucleo.css\";\r\nimport \"../assets/vendor/@fortawesome/fontawesome-free/css/all.min.css\";\r\nimport \"../assets/scss/aichinese.scss\";\r\n\r\nimport \"../assets/scss/screens/default.scss\";\r\n//\r\n// import AdminLayout from \"../layouts/AdminLayout\";\r\n// import AccountLayout from \"../layouts/AccountLayout\";\r\n//import PortalLayout from \"../layouts/PortalLayout\";\r\n// import PlainLayout from \"../layouts/PlainLayout\";\r\n// import MobileLayout from \"../layouts/MobileLayout\";\r\n// import MainLayout from \"../layouts/MainLayout\";\r\n// import RoomLayout from \"../layouts/RoomLayout\";\r\n\r\nimport { NavigationService } from \"../navigation\";\r\n\r\nimport { ActionTypes } from \"../redux/actionTypes/screens/DefaultActionTypes\";\r\nimport { Actions, reducer, INITIAL_STATE } from \"../redux/screens/DefaultRedux\";\r\nimport { Actions as SessionActions } from \"../redux/SessionRedux\";\r\nimport { Actions as TaskActions } from \"../redux/TaskRedux\";\r\nimport { withTranslation } from \"react-i18next\";\r\nimport UIDs from \"../UIDs\";\r\nimport MobileUIDs from \"../mobile/UIDs\";\r\nimport Constants from \"../config/Constants\";\r\nconst uid = UIDs.screens.default;\r\n\r\nconst AdminLayout = React.lazy(() => import(\"../layouts/AdminLayout\"));\r\nconst AccountLayout = React.lazy(() => import(\"../layouts/AccountLayout\"));\r\nconst PortalLayout = React.lazy(() => import(\"../layouts/PortalLayout\"));\r\nconst PlainLayout = React.lazy(() => import(\"../layouts/PlainLayout\"));\r\nconst MobileLayout = React.lazy(() => import(\"../layouts/MobileLayout\"));\r\n// const MainLayout = React.lazy(() => import(\"../layouts/MainLayout\"));\r\nconst RoomLayout = React.lazy(() => import(\"../layouts/RoomLayout\"));\r\n\r\nclass DefaultScreen extends BaseScreen {\r\n get routeName() {\r\n return uid;\r\n }\r\n\r\n get reducer() {\r\n return reducer;\r\n }\r\n\r\n get actionHandlers() {\r\n return {\r\n [ActionTypes.LOAD_APP_ASYNC]: { done: this._handleLoadAppAsyncDone, error: null },\r\n };\r\n }\r\n\r\n // constructor(props) {\r\n // super(props);\r\n\r\n // // create store when app starts\r\n // // this._store = StoreManager.getStore();\r\n // }\r\n\r\n componentDidMount() {\r\n super.componentDidMount();\r\n\r\n document.title = this.props.t(\"yidu\");\r\n\r\n // load session from local storage if any\r\n this.props.tryLoadSession();\r\n\r\n // load necessary data to initialize the app\r\n this.props.loadAppAsync();\r\n\r\n //load task from local storage\r\n this.props.loadTask();\r\n }\r\n\r\n render() {\r\n if (!this.isActionDone(ActionTypes.LOAD_APP_ASYNC)) {\r\n return
;\r\n } else {\r\n return (\r\n
}>\r\n \r\n \r\n \r\n \r\n \r\n \r\n {/**/}\r\n \r\n \r\n \r\n );\r\n }\r\n }\r\n\r\n _handleLoadAppAsyncDone = () => {\r\n if (_.startsWith(this.props.location.pathname, \"/plain/\") || _.startsWith(this.props.location.pathname, \"/room/\")) {\r\n } else if (\r\n !this.isLoggedIn(this.props.userId) &&\r\n !_.startsWith(this.props.location.pathname, \"/mobile/\") &&\r\n !_.startsWith(this.props.location.pathname, \"/account/\") &&\r\n !_.startsWith(this.props.location.pathname, \"/portal/\")\r\n ) {\r\n NavigationService.navigateToPageByUID(this, UIDs.screens.portal.home);\r\n } else if (this.props.location.pathname === \"/\") {\r\n if (this.isOnCall) {\r\n NavigationService.navigateToPageByUID(this, UIDs.screens.admin.error.dashboard);\r\n } else if (this.isAgent) {\r\n NavigationService.navigateToPageByUID(this, UIDs.screens.admin.agent.agentreferralcode);\r\n } else if (this.isStudent) {\r\n NavigationService.navigateToPageByUID(this, MobileUIDs.screens.homework.newdefault, null);\r\n } else {\r\n NavigationService.navigateToPageByUID(this, UIDs.screens.admin.oralbook.list);\r\n }\r\n }\r\n };\r\n}\r\n\r\nconst mapStateToProps = (state) => {\r\n return {\r\n localState: state.screens[reducer.key] ? state.screens[reducer.key] : INITIAL_STATE,\r\n userId: state.session.userId,\r\n user: state.session.user,\r\n };\r\n};\r\n\r\nconst mapDispatchToProps = (dispatch) => {\r\n return {\r\n loadAppAsync: () => dispatch(Actions.loadAppAsync()),\r\n tryLoadSession: () => dispatch(SessionActions.tryLoadSession()),\r\n loadTask: () => dispatch(TaskActions.loadTask()),\r\n };\r\n};\r\n\r\nexport default connect(mapStateToProps, mapDispatchToProps)(withTranslation(uid)(DefaultScreen));\r\n","// This optional code is used to register a service worker.\r\n// register() is not called by default.\r\n\r\n// This lets the app load faster on subsequent visits in production, and gives\r\n// it offline capabilities. However, it also means that developers (and users)\r\n// will only see deployed updates on subsequent visits to a page, after all the\r\n// existing tabs open on the page have been closed, since previously cached\r\n// resources are updated in the background.\r\n\r\n// To learn more about the benefits of this model and instructions on how to\r\n// opt-in, read https://bit.ly/CRA-PWA\r\n\r\nconst isLocalhost = Boolean(\r\n window.location.hostname === \"localhost\" ||\r\n // [::1] is the IPv6 localhost address.\r\n window.location.hostname === \"[::1]\" ||\r\n // 127.0.0.0/8 are considered localhost for IPv4.\r\n window.location.hostname.match(\r\n /^127(?:\\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)){3}$/\r\n )\r\n);\r\n\r\nexport function register(config) {\r\n if (process.env.NODE_ENV === \"production\" && \"serviceWorker\" in navigator) {\r\n // The URL constructor is available in all browsers that support SW.\r\n const publicUrl = new URL(process.env.PUBLIC_URL, window.location.href);\r\n if (publicUrl.origin !== window.location.origin) {\r\n // Our service worker won\"t work if PUBLIC_URL is on a different origin\r\n // from what our page is served on. This might happen if a CDN is used to\r\n // serve assets; see https://github.com/facebook/create-react-app/issues/2374\r\n return;\r\n }\r\n\r\n window.addEventListener(\"load\", () => {\r\n const swUrl = `${process.env.PUBLIC_URL}/service-worker.js`;\r\n\r\n if (isLocalhost) {\r\n // This is running on localhost. Let\"s check if a service worker still exists or not.\r\n checkValidServiceWorker(swUrl, config);\r\n\r\n // Add some additional logging to localhost, pointing developers to the\r\n // service worker/PWA documentation.\r\n navigator.serviceWorker.ready.then(() => {\r\n console.log(\r\n \"This web app is being served cache-first by a service \" +\r\n \"worker. To learn more, visit https://bit.ly/CRA-PWA\"\r\n );\r\n });\r\n } else {\r\n // Is not localhost. Just register service worker\r\n registerValidSW(swUrl, config);\r\n }\r\n });\r\n }\r\n}\r\n\r\nfunction registerValidSW(swUrl, config) {\r\n navigator.serviceWorker\r\n .register(swUrl)\r\n .then(registration => {\r\n registration.onupdatefound = () => {\r\n const installingWorker = registration.installing;\r\n if (installingWorker == null) {\r\n return;\r\n }\r\n installingWorker.onstatechange = () => {\r\n if (installingWorker.state === \"installed\") {\r\n if (navigator.serviceWorker.controller) {\r\n // At this point, the updated precached content has been fetched,\r\n // but the previous service worker will still serve the older\r\n // content until all client tabs are closed.\r\n console.log(\r\n \"New content is available and will be used when all \" +\r\n \"tabs for this page are closed. See https://bit.ly/CRA-PWA.\"\r\n );\r\n\r\n // Execute callback\r\n if (config && config.onUpdate) {\r\n config.onUpdate(registration);\r\n }\r\n } else {\r\n // At this point, everything has been precached.\r\n // It\"s the perfect time to display a\r\n // \"Content is cached for offline use.\" message.\r\n console.log(\"Content is cached for offline use.\");\r\n\r\n // Execute callback\r\n if (config && config.onSuccess) {\r\n config.onSuccess(registration);\r\n }\r\n }\r\n }\r\n };\r\n };\r\n })\r\n .catch(error => {\r\n console.error(\"Error during service worker registration:\", error);\r\n });\r\n}\r\n\r\nfunction checkValidServiceWorker(swUrl, config) {\r\n // Check if the service worker can be found. If it can\"t reload the page.\r\n fetch(swUrl, {\r\n headers: { \"Service-Worker\": \"script\" }\r\n })\r\n .then(response => {\r\n // Ensure service worker exists, and that we really are getting a JS file.\r\n const contentType = response.headers.get(\"content-type\");\r\n if (\r\n response.status === 404 ||\r\n (contentType != null && contentType.indexOf(\"javascript\") === -1)\r\n ) {\r\n // No service worker found. Probably a different app. Reload the page.\r\n navigator.serviceWorker.ready.then(registration => {\r\n registration.unregister().then(() => {\r\n window.location.reload();\r\n });\r\n });\r\n } else {\r\n // Service worker found. Proceed as normal.\r\n registerValidSW(swUrl, config);\r\n }\r\n })\r\n .catch(() => {\r\n console.log(\r\n \"No internet connection found. App is running in offline mode.\"\r\n );\r\n });\r\n}\r\n\r\nexport function unregister() {\r\n if (\"serviceWorker\" in navigator) {\r\n navigator.serviceWorker.ready.then(registration => {\r\n registration.unregister();\r\n });\r\n }\r\n}\r\n","import apisauce from \"apisauce\";\r\nimport Cache from \"../cache/\";\r\nimport _ from \"lodash\";\r\n\r\nimport AppConfig from \"../config/AppConfig\";\r\nimport StoreManager from \"../redux/\";\r\nimport DebugLogger from \"../utils/DebugLogger\";\r\nimport * as Helper from \"../utils/Helper\";\r\nimport { Actions as SessionActions } from \"../redux/SessionRedux\";\r\nimport i18n from \"i18next\";\r\nimport Constants from \"../config/Constants\";\r\n\r\nfunction isMobileWeb() {\r\n return window.location.pathname.startsWith('/mobile/');\r\n}\r\n\r\nexport class ApiService {\r\n constructor() {\r\n var base64 = require(\"base-64\");\r\n const hash = base64.encode(AppConfig.APP_CLIENT_ID + \":\" + AppConfig.APP_CLIENT_SECRET);\r\n this.basicAuth = \"Basic \" + hash;\r\n\r\n // once we get an access token, we will use access token whenever possible\r\n this.bearerAuth = null;\r\n\r\n let locale = Helper.getLocale(i18n.language);\r\n\r\n this.api = apisauce.create({\r\n // base URL is read from the \"constructor\"\r\n baseURL: AppConfig.APP_SERVICE_BASE,\r\n // here are some default headers\r\n headers: {\r\n \"Cache-Control\": \"no-cache\",\r\n // \"Accept-Language\": I18n.locale + \", \" + I18n.locale.substr(0, 2)\r\n \"Accept-Language\": locale + \", \" + locale.substr(0, 2),\r\n },\r\n // 300 second timeout...\r\n timeout: 300000,\r\n });\r\n\r\n this.api.addResponseTransform(response => {\r\n response.fromCache = true;\r\n });\r\n\r\n this.apiWithOffline = apisauce.create({\r\n // base URL is read from the \"constructor\"\r\n baseURL: AppConfig.APP_SERVICE_BASE,\r\n // here are some default headers\r\n headers: {\r\n \"Cache-Control\": \"no-cache\",\r\n // \"Accept-Language\": I18n.locale + \", \" + I18n.locale.substr(0, 2)\r\n \"Accept-Language\": locale + \", \" + locale.substr(0, 2),\r\n },\r\n // 6 second timeout...\r\n timeout: 6000,\r\n });\r\n\r\n this.apiWithOffline.addResponseTransform(response => {\r\n response.fromCache = true;\r\n });\r\n\r\n this.replayApiErrorSauce = apisauce.create({\r\n // base URL is read from the \"constructor\"\r\n baseURL: AppConfig.APP_SERVICE_BASE,\r\n // here are some default headers\r\n headers: {\r\n \"Cache-Control\": \"no-cache\",\r\n // \"Accept-Language\": I18n.locale + \", \" + I18n.locale.substr(0, 2)\r\n \"Accept-Language\": locale + \", \" + locale.substr(0, 2),\r\n },\r\n // 300 second timeout...\r\n timeout: 300000,\r\n });\r\n\r\n this.keyCache = new Cache(50000);\r\n this.dataCache = new Cache(50000);\r\n // define how many ms we wait before we start to check validity of cached data\r\n this.validityCheckDelay = 1000; // 5 seconds\r\n\r\n // define how many ms we wait before we start to check validity of cached data\r\n this.validityCheckDelay = 5000; // 5 seconds\r\n\r\n this.tryRefreshTokenTimes = 0;\r\n this.ignoreConvertingCamelCaseRequestArr = [\"v3\", \"v4\", \"v5\", \"v6\"]; //ignore converting request data from camelCase to snakeCase\r\n }\r\n\r\n setBaseURL(baseURL) {\r\n this.api.setBaseURL(baseURL);\r\n this.apiWithOffline.setBaseURL(baseURL);\r\n this.replayApiErrorSauce.setBaseURL(baseURL);\r\n }\r\n\r\n forceGet(apiUrl, jsonData, successCallback, failureCallback) {\r\n this._ajax(\"get\", apiUrl, jsonData, true, successCallback, failureCallback);\r\n }\r\n\r\n get(apiUrl, jsonData, successCallback, failureCallback) {\r\n this._ajax(\"get\", apiUrl, jsonData, false, successCallback, failureCallback);\r\n }\r\n\r\n forcePost(apiUrl, jsonData, successCallback, failureCallback) {\r\n this._ajax(\"post\", apiUrl, jsonData, true, successCallback, failureCallback);\r\n }\r\n\r\n post(apiUrl, jsonData, successCallback, failureCallback) {\r\n this._ajax(\"post\", apiUrl, jsonData, false, successCallback, failureCallback);\r\n }\r\n\r\n _ajax(method, apiUrl, jsonData, refreshForced, successCallback, failureCallback) {\r\n DebugLogger.log(\"Ajax: \" + apiUrl + \" is called.\");\r\n\r\n //let base = this;\r\n // update bearer authorization header\r\n this.bearerAuth = this._getBearerAuthorizationHeader();\r\n\r\n // set request header for authentication\r\n this.api.setHeader(\"Authorization\", this.bearerAuth ? this.bearerAuth : this.basicAuth);\r\n this.api.setHeader(\"Content-Type\", \"application/json\");\r\n\r\n let locale = Helper.getLocale(i18n.language);\r\n this.api.setHeader(\"Accept-Language\", locale + \", \" + locale.substr(0, 2));\r\n\r\n // set a empty object for null or undefined jsonData\r\n if (!jsonData) {\r\n jsonData = {};\r\n }\r\n\r\n // add a clientType so that service knows where the call is coming from\r\n // just in case we may need some special logic to handle requests from different\r\n // clients\r\n // clientType: 0 - web, 1 - app\r\n jsonData.clientVersion = AppConfig.APP_CLIENT_VERSION;\r\n jsonData.clientBuild = isMobileWeb() ? AppConfig.MOBILE_APP_CLIENT_BUILD : AppConfig.APP_CLIENT_BUILD;\r\n jsonData.clientType = 0;\r\n jsonData.timeZone = Helper.getTimeZone();\r\n jsonData.clientOS = \"Web\";\r\n\r\n // //we also need to convert request data from camelCase to snakeCase\r\n // //do not convert after v3\r\n // if (!_.some(this.ignoreConvertingCamelCaseRequestArr, (el) => _.includes(_.toLower(apiUrl), _.toLower(el)))) {\r\n // jsonData = Helper.convertCamelCaseKeysToSnakeCase(jsonData);\r\n // }\r\n\r\n // build json string based on json data\r\n const jsonDataString = JSON.stringify(jsonData);\r\n // create a unique post identifier based on serivce url and json data\r\n const uid = apiUrl + \"@\" + jsonDataString;\r\n DebugLogger.log(\"_ajax is called. {apiUrl: \" + apiUrl + \", jsonData: \" + jsonDataString + \"}\");\r\n\r\n // indicate if we need to get data from server\r\n if (!refreshForced) {\r\n // find the cached key based on the unique identifier of the request\r\n const cachedKey = this.keyCache.get(uid);\r\n // append cachedKey as a request parameter and get value based on key\r\n let value = null;\r\n if (cachedKey) {\r\n jsonData.cachedKey = cachedKey;\r\n value = this.dataCache.get(cachedKey);\r\n } else {\r\n jsonData.cachedKey = null;\r\n }\r\n // create a unique post identifier based on serivce url and json data\r\n if (value) {\r\n if (successCallback) successCallback(value);\r\n setTimeout(() => {\r\n this._callAjax(\r\n method,\r\n apiUrl,\r\n jsonData,\r\n (response, pCacheKey) => {\r\n let tCacheKey = pCacheKey;\r\n if (!tCacheKey && response) {\r\n tCacheKey = response.cachedKey;\r\n }\r\n // if any new data, then call success callback\r\n // otherwise, do nothing\r\n if (cachedKey !== tCacheKey) {\r\n DebugLogger.log(\"Cached data is updated by others. {uid: \" + uid + \"}\");\r\n\r\n // remove old cached data since we don't need it any more.\r\n this.dataCache.remove(cachedKey);\r\n\r\n DebugLogger.log(\"Old cached data is removed from the cache. {uid: \" + uid + \"}\");\r\n\r\n if (tCacheKey !== null && tCacheKey !== \"\") {\r\n // update the cache key to the key cache\r\n this.keyCache.set(uid, tCacheKey);\r\n\r\n // update the data to the data cache\r\n this.dataCache.set(tCacheKey, response);\r\n\r\n DebugLogger.log(\"Cached data is updated for this service call. {uid: \" + uid + \", cachedKey:\" + tCacheKey + \"}\");\r\n }\r\n\r\n // call sucdess callback for newly updated data\r\n if (successCallback) successCallback(response);\r\n } else {\r\n DebugLogger.log(\"Cached data is up-to-date. {uid: \" + uid + \"}\");\r\n }\r\n },\r\n failureCallback, 0\r\n );\r\n }, this.validityCheckDelay);\r\n\r\n return;\r\n }\r\n }\r\n\r\n this._callAjax(\r\n method,\r\n apiUrl,\r\n jsonData,\r\n (response, cacheKey) => {\r\n let tCacheKey = cacheKey;\r\n if (!tCacheKey && response) {\r\n tCacheKey = response.cachedKey;\r\n }\r\n if (tCacheKey) {\r\n // add new cached key to the key cache\r\n this.keyCache.set(uid, tCacheKey);\r\n\r\n // add new data to the data cache\r\n this.dataCache.set(tCacheKey, response);\r\n\r\n DebugLogger.log(\"Data is added to the cache for this service call. {uid: \" + uid + \", cachedKey:\" + tCacheKey + \", cache size: \" + this.dataCache.cache.size + \"}\");\r\n }\r\n\r\n if (successCallback) successCallback(response);\r\n },\r\n failureCallback, 0\r\n );\r\n }\r\n\r\n _callAjax(method, apiUrl, jsonData, successCallback, failureCallback, retriedTimes) {\r\n let base = this;\r\n // call api directly to reutrn data\r\n this.api[method](apiUrl, jsonData)\r\n .then(response => {\r\n // response = {};\r\n // response.li_text_str = \"hello world.\";\r\n // response.li_users = [\"mike\", \"john\", \"frank\"];\r\n // response.xi_list = new Array();\r\n // response.xi_list[0] = { name_first: \"wake\", age_int: 12 };\r\n // response.xi_list[1] = { id_number: 1910901, status_text: \"freshman\" };\r\n\r\n // response = Helper.convertSnakeCaseKeysToCamelCase(response);\r\n\r\n // convert snakeCase to camelCase\r\n response = Helper.convertSnakeCaseKeysToCamelCase(response);\r\n\r\n if (response.ok) {\r\n // this.dataCache.set(apiKey, response.data);\r\n\r\n var returnedData = response.data;\r\n if (_.has(returnedData, \"isDone\")) {\r\n // if returned data is ResultOutVO\r\n if (returnedData.isDone) {\r\n //put cachedkey as 2nd param since here we return the data of ApiResponse\r\n //AIC-9-354 如果是冻结的老师或代理账号则直接退出登录\r\n if(returnedData.data && returnedData.data.isDeactivatedAccount){\r\n let store = StoreManager.getStore();\r\n store.dispatch(SessionActions.logout());\r\n }\r\n if (successCallback) successCallback(returnedData.data, returnedData.cachedKey);\r\n } else {\r\n if(returnedData.code === Constants.CODES.NOT_EXIST_CURUSER)//current user is not exist \r\n StoreManager.getStore().dispatch(SessionActions.logout());\r\n else if (failureCallback) failureCallback(this._formalizeError(returnedData));\r\n }\r\n } else {\r\n //other case no need\r\n if (successCallback) successCallback(response.data);\r\n }\r\n } else {\r\n if (response.problem && (response.problem === apisauce.NETWORK_ERROR || response.problem === apisauce.CONNECTION_ERROR || response.problem === apisauce.TIMEOUT_ERROR)) {\r\n if (retriedTimes < 1) {\r\n setTimeout(() => {\r\n retriedTimes = retriedTimes + 1;\r\n this._callAjax(method, apiUrl, jsonData, successCallback, failureCallback, retriedTimes);\r\n }, 3000);\r\n } else {\r\n if (failureCallback) failureCallback(this._formalizeError(response.data, response.problem, apiUrl, jsonData));\r\n }\r\n } else if (response.status === 403 /* forbidden */) {\r\n // probably access token is expired, we need to use refresh token to get a new\r\n // access token so that user can continue access the app without any issue\r\n\r\n // try to refresh token here\r\n let store = StoreManager.getStore();\r\n let authorization = store.getState().session.authorization;\r\n //if we already has tried 3 times here, we just assume it as that we can not refresh token\r\n if (authorization && authorization.refreshToken) {\r\n DebugLogger.log(\"Response status 403.Try Refresh Token\", authorization);\r\n //set specific headers for refresh token\r\n base.api.setHeaders({\r\n Authorization: base.basicAuth,\r\n \"Content-Type\": \"application/x-www-form-urlencoded\",\r\n });\r\n\r\n base.api[\"post\"](\"/OAuth/Token.ashx\", `grant_type=refresh_token&scope=iml.user&refresh_token=${authorization.refreshToken}`)\r\n .then(refreshResponse => {\r\n if (refreshResponse.ok && refreshResponse.data) {\r\n DebugLogger.groupMessage(\"Refresh Token Done\", refreshResponse);\r\n refreshResponse = Helper.convertSnakeCaseKeysToCamelCase(refreshResponse);\r\n //dispatch action to set and save in session\r\n store.dispatch(SessionActions.receiveRefreshedToken(refreshResponse.data));\r\n //re send previous request\r\n DebugLogger.log(\"ReSend Previous Request\");\r\n\r\n base._ajax(method, apiUrl, jsonData, true, successCallback, failureCallback);\r\n } else {\r\n store.dispatch(SessionActions.logout());\r\n\r\n DebugLogger.groupMessage(\"Refresh Token Failed\", refreshResponse);\r\n if (failureCallback) failureCallback(this._formalizeError(response.data, response.problem));\r\n }\r\n })\r\n .catch(e => {\r\n store.dispatch(SessionActions.logout());\r\n if (failureCallback) failureCallback(this._formalizeError(null, e.message));\r\n });\r\n } else {\r\n // if (this.tryRefreshTokenTimes >= 3) {\r\n // // we need to clear the session data and ask user to log in again to get token in this case\r\n // // so that we can avoid some issues with token refreshing.\r\n // store.dispatch(SessionActions.logout());\r\n // }\r\n store.dispatch(SessionActions.logout());\r\n if (failureCallback) failureCallback(this._formalizeError(response.data, response.problem));\r\n }\r\n } else {\r\n if (failureCallback) failureCallback(this._formalizeError(response.data, response.problem));\r\n }\r\n }\r\n })\r\n .catch(e => {\r\n if (failureCallback) failureCallback(this._formalizeError(null, e.message));\r\n });\r\n };\r\n\r\n replayApiError = (method, authorization, headers, apiUrl, jsonData, successCallback, failureCallback) => {\r\n DebugLogger.log(\"replayApiError: \" + apiUrl + \" is called.\");\r\n\r\n method = _.lowerCase(method);\r\n //let base = this;\r\n // update bearer authorization header\r\n const bearerAuth = authorization ? \"Bearer \" + authorization.accessToken : null;\r\n\r\n try {\r\n const headerJson = JSON.parse(headers);\r\n this.replayApiErrorSauce.setHeaders(headerJson);\r\n jsonData = JSON.parse(jsonData);\r\n } catch (e) {}\r\n\r\n // set a empty object for null or undefined jsonData\r\n if (!jsonData) {\r\n jsonData = {};\r\n }\r\n // set request header for authentication\r\n this.replayApiErrorSauce.setHeader(\"Authorization\", bearerAuth ? bearerAuth : this.basicAuth);\r\n\r\n // call api directly to reutrn data\r\n this.replayApiErrorSauce[method](apiUrl, jsonData)\r\n .then(response => {\r\n // convert snakeCase to camelCase\r\n response = Helper.convertSnakeCaseKeysToCamelCase(response);\r\n\r\n if (response.ok) {\r\n // this.dataCache.set(apiKey, response.data);\r\n\r\n var returnedData = response.data;\r\n if (_.has(returnedData, \"isDone\")) {\r\n // if returned data is ResultOutVO\r\n if (returnedData.isDone) {\r\n //put cachedkey as 2nd param since here we return the data of ApiResponse\r\n if (successCallback) successCallback(returnedData.data, returnedData.cachedKey);\r\n } else {\r\n if (failureCallback) failureCallback(this._formalizeError(returnedData));\r\n }\r\n } else {\r\n //other case no need\r\n if (successCallback) successCallback(response.data);\r\n }\r\n } else {\r\n if (failureCallback) failureCallback(this._formalizeError(response.data, response.problem));\r\n }\r\n })\r\n .catch(e => {\r\n if (failureCallback) failureCallback(this._formalizeError(null, e.message));\r\n });\r\n };\r\n\r\n getWithOffline(apiUrl, jsonData, successCallback, failureCallback, offlineCallback, forceNoWait) {\r\n return this._ajaxWithOffline(\"get\", apiUrl, jsonData, successCallback, failureCallback, offlineCallback, forceNoWait);\r\n }\r\n\r\n postWithOffline(apiUrl, jsonData, successCallback, failureCallback, offlineCallback, forceNoWait) {\r\n return this._ajaxWithOffline(\"post\", apiUrl, jsonData, successCallback, failureCallback, offlineCallback, forceNoWait);\r\n }\r\n\r\n _ajaxWithOffline(method, apiUrl, jsonData, successCallback, failureCallback, offlineCallback, forceNoWait) {\r\n DebugLogger.log(\"AjaxWithOffline: \" + apiUrl + \" is called.\");\r\n\r\n let base = this;\r\n // update bearer authorization header\r\n this.bearerAuth = this._getBearerAuthorizationHeader();\r\n\r\n // set request header for authentication\r\n this.apiWithOffline.setHeader(\"Authorization\", this.bearerAuth ? this.bearerAuth : this.basicAuth);\r\n\r\n let locale = Helper.getLocale(i18n.language);\r\n this.apiWithOffline.setHeader(\"Accept-Language\", locale + \", \" + locale.substr(0, 2));\r\n\r\n // set a empty object for null or undefined jsonData\r\n if (!jsonData) {\r\n jsonData = {};\r\n }\r\n\r\n // add a clientType so that service knows where the call is coming from\r\n // just in case we may need some special logic to handle requests from different\r\n // clients\r\n // clientType: 0 - web, 1 - mobile\r\n jsonData.clientVersion = AppConfig.APP_CLIENT_VERSION;\r\n jsonData.clientBuild = isMobileWeb() ? AppConfig.MOBILE_APP_CLIENT_BUILD : AppConfig.APP_CLIENT_BUILD;\r\n jsonData.clientType = 0;\r\n jsonData.timeZone = Helper.getTimeZone();\r\n // jsonData.clientOS = Platform.OS;\r\n\r\n //we also need to convert request data from camelCase to snakeCase\r\n //do not convert after v3\r\n if (!_.some(this.ignoreConvertingCamelCaseRequestArr, el => _.includes(_.toLower(apiUrl), _.toLower(el)))) {\r\n jsonData = Helper.convertCamelCaseKeysToSnakeCase(jsonData);\r\n }\r\n\r\n forceNoWait = forceNoWait || false;\r\n let returned = false;\r\n if (forceNoWait) {\r\n //force call offline callback in case the time out do not happen\r\n //we use this if we always want it to call a callback\r\n setTimeout(() => {\r\n //then call offline callback tell that we need go offline mode\r\n if (!returned && offlineCallback) {\r\n offlineCallback({ problem: \"TIMEOUT_ERROR\" });\r\n }\r\n }, 7000);\r\n }\r\n\r\n // call api directly to reutrn data\r\n return this.apiWithOffline[method](apiUrl, jsonData)\r\n .then(response => {\r\n returned = true;\r\n // response = {};\r\n // response.li_text_str = \"hello world.\";\r\n // response.li_users = [\"mike\", \"john\", \"frank\"];\r\n // response.xi_list = new Array();\r\n // response.xi_list[0] = { name_first: \"wake\", age_int: 12 };\r\n // response.xi_list[1] = { id_number: 1910901, status_text: \"freshman\" };\r\n\r\n // response = Helper.convertSnakeCaseKeysToCamelCase(response);\r\n\r\n // convert snakeCase to camelCase\r\n response = Helper.convertSnakeCaseKeysToCamelCase(response);\r\n //DebugLogger.log(\"AjaxOffline: response -\" );\r\n //DebugLogger.log(response);\r\n if (response.ok) {\r\n // this.dataCache.set(apiKey, response.data);\r\n\r\n //reset retry times since we got a response ok here\r\n this.tryRefreshTokenTimes = 0;\r\n\r\n var returnedData = response.data;\r\n if (_.has(returnedData, \"isDone\")) {\r\n // if returned data is ResultOutVO\r\n if (returnedData.isDone) {\r\n if (successCallback) successCallback(returnedData.data);\r\n } else {\r\n if (failureCallback) failureCallback(this._formalizeError(returnedData));\r\n }\r\n } else {\r\n if (successCallback) successCallback(response.data);\r\n }\r\n } else {\r\n //if request failed because of these problem, we suppose now it is offline.\r\n //and we put this request into the background offline api call array try to replay it later\r\n if (response.problem && (response.problem === apisauce.NETWORK_ERROR || response.problem === apisauce.CONNECTION_ERROR || response.problem === apisauce.TIMEOUT_ERROR)) {\r\n DebugLogger.log(\"AjaxOffline: Problem -\" + response.problem);\r\n\r\n //then call offline callback tell that we need go offline mode\r\n if (offlineCallback) {\r\n offlineCallback(response);\r\n }\r\n } else {\r\n if (response.status === 403 /* forbidden */) {\r\n // probably access token is expired, we need to use refresh token to get a new\r\n // access token so that user can continue access the app without any issue\r\n\r\n // try to refresh token here\r\n let store = StoreManager.getStore();\r\n let authorization = store.getState().session.authorization;\r\n //if we already has tried 3 times here, we just assume it as that we can not refresh token\r\n if (authorization && authorization.refreshToken && this.tryRefreshTokenTimes < 3) {\r\n DebugLogger.log(\"Response status 403.Try Refresh Token\", authorization);\r\n //set specific headers for refresh token\r\n base.apiWithOffline.setHeaders({\r\n Authorization: base.basicAuth,\r\n \"Content-Type\": \"application/x-www-form-urlencoded\",\r\n });\r\n //start to try, add tried times\r\n base.tryRefreshTokenTimes += 1;\r\n base.apiWithOffline[\"post\"](\"/OAuth/Token.ashx\", `grant_type=refresh_token&scope=iml.user&refresh_token=${authorization.refreshToken}`)\r\n .then(refreshResponse => {\r\n if (refreshResponse.ok) {\r\n DebugLogger.groupMessage(\"Refresh Token Done\", refreshResponse);\r\n refreshResponse = Helper.convertSnakeCaseKeysToCamelCase(refreshResponse);\r\n //dispatch action to set and save in session\r\n store.dispatch(SessionActions.receiveRefreshedToken(refreshResponse.data));\r\n //re send previous request\r\n DebugLogger.log(\"ReSend Previous Request\");\r\n\r\n base._ajaxWithOffline(method, apiUrl, jsonData, successCallback, failureCallback, offlineCallback, forceNoWait);\r\n } else {\r\n DebugLogger.groupMessage(\"Refresh Token Failed\", refreshResponse);\r\n if (failureCallback) failureCallback(this._formalizeError(response.data, response.problem));\r\n }\r\n })\r\n .catch(e => {\r\n //then call offline callback tell that we need go offline mode\r\n if (offlineCallback) {\r\n offlineCallback(this._formalizeError(null, e.message));\r\n }\r\n });\r\n } else {\r\n if (failureCallback) failureCallback(this._formalizeError(response.data, response.problem));\r\n }\r\n } else {\r\n if (failureCallback) failureCallback(this._formalizeError(response.data, response.problem));\r\n }\r\n }\r\n }\r\n })\r\n .catch(e => {\r\n returned = true;\r\n //then call offline callback tell that we need go offline mode\r\n if (offlineCallback) {\r\n offlineCallback(this._formalizeError(null, e.message));\r\n }\r\n });\r\n }\r\n\r\n /**\r\n * just replay ajax call, no need call the call back\r\n */\r\n replayAjaxCall(method, apiUrl, jsonData) {\r\n /*if(method === \"get\"){\r\n //we do not need replay get\r\n return Promise.resolve(null);\r\n }*/\r\n DebugLogger.log(\"ReplayAjaxCall: \" + apiUrl + \" is called.\");\r\n\r\n // update bearer authorization header\r\n this.bearerAuth = this._getBearerAuthorizationHeader();\r\n\r\n // set request header for authentication\r\n this.apiWithOffline.setHeader(\"Authorization\", this.bearerAuth ? this.bearerAuth : this.basicAuth);\r\n\r\n let locale = Helper.getLocale(i18n.language);\r\n this.apiWithOffline.setHeader(\"Accept-Language\", locale + \", \" + locale.substr(0, 2));\r\n\r\n // set a empty object for null or undefined jsonData\r\n if (!jsonData) {\r\n jsonData = {};\r\n }\r\n\r\n // add a clientType so that service knows where the call is coming from\r\n // just in case we may need some special logic to handle requests from different\r\n // clients\r\n // clientType: 0 - web, 1 - app\r\n jsonData.clientVersion = AppConfig.APP_CLIENT_VERSION;\r\n jsonData.clientBuild = isMobileWeb() ? AppConfig.MOBILE_APP_CLIENT_BUILD : AppConfig.APP_CLIENT_BUILD;\r\n jsonData.clientType = 0;\r\n jsonData.timeZone = Helper.getTimeZone();\r\n // jsonData.clientOS = Platform.OS;\r\n\r\n //we also need to convert request data from camelCase to snakeCase\r\n //do not convert after v3\r\n if (!_.some(this.ignoreConvertingCamelCaseRequestArr, el => _.includes(_.toLower(apiUrl), _.toLower(el)))) {\r\n jsonData = Helper.convertCamelCaseKeysToSnakeCase(jsonData);\r\n }\r\n\r\n return new Promise((resolve, reject) => {\r\n this.apiWithOffline[method](apiUrl, jsonData)\r\n .then(response => {\r\n if (response.ok) {\r\n let returnedData = response.data;\r\n //we only treat the condition of call success callback as success now\r\n if (_.has(returnedData, \"isDone\")) {\r\n // if returned data is ResultOutVO\r\n if (returnedData.isDone) {\r\n resolve(response);\r\n } else {\r\n DebugLogger.log(\"ReplayRequest: failureCallback\");\r\n DebugLogger.log(this._formalizeError(returnedData));\r\n reject(this._formalizeError(returnedData));\r\n }\r\n } else {\r\n resolve(response);\r\n }\r\n } else {\r\n DebugLogger.log(\"ReplayRequest: Problem\");\r\n DebugLogger.log(response);\r\n reject(response);\r\n }\r\n })\r\n .catch(e => {\r\n DebugLogger.log(\"ReplayRequest: Problem\");\r\n DebugLogger.log(e);\r\n reject(e);\r\n });\r\n });\r\n }\r\n\r\n _getBearerAuthorizationHeader() {\r\n var store = StoreManager.getStore();\r\n var authorization = store.getState().session.authorization;\r\n if (authorization && authorization.accessToken) {\r\n return \"Bearer \" + authorization.accessToken;\r\n }\r\n\r\n return null;\r\n }\r\n\r\n _isAuthenticatedBySSO() {\r\n var store = StoreManager.getStore();\r\n return store.getState().session.isSSO ? store.getState().session.isSSO : false;\r\n }\r\n\r\n _getCurrentRouteName() {\r\n // TODO\r\n return \"\";\r\n }\r\n\r\n postFileToServer(apiUrl, formData, successCallback, failureCallback) {\r\n apiUrl = this.api.getBaseURL() + apiUrl;\r\n\r\n // update bearer authorization header\r\n this.bearerAuth = this._getBearerAuthorizationHeader();\r\n\r\n // set a empty FormData object for null or undefined formData\r\n if (!formData) {\r\n formData = new FormData();\r\n }\r\n\r\n // add a clientType so that service knows where the call is coming from\r\n // just in case we may need some special logic to handle requests from different\r\n // clients\r\n // clientType: 0 - web, 1 - app\r\n formData.append(\"clientVersion\", AppConfig.APP_CLIENT_VERSION);\r\n formData.append(\"clientBuild\", isMobileWeb() ? AppConfig.MOBILE_APP_CLIENT_BUILD : AppConfig.APP_CLIENT_BUILD);\r\n formData.append(\"clientType\", 0);\r\n formData.append(\"timeZone\", Helper.getTimeZone());\r\n // formData.append(\"clientOS\", Platform.OS);\r\n\r\n let locale = Helper.getLocale(i18n.language);\r\n fetch(apiUrl, {\r\n method: \"POST\",\r\n processData: false,\r\n contentType: false,\r\n headers: {\r\n //\"Content-Type\": \"multipart/form-data;charset=utf-8\",\r\n \"Cache-Control\": \"no-cache\",\r\n // \"Accept-Language\": I18n.locale + \", \" + I18n.locale.substr(0, 2),\r\n \"Accept-Language\": locale + \", \" + locale.substr(0, 2),\r\n Authorization: this.bearerAuth ? this.bearerAuth : this.basicAuth,\r\n },\r\n body: formData,\r\n })\r\n .then(response => response.json())\r\n .then(response => (response = Helper.convertSnakeCaseKeysToCamelCase(response)))\r\n .then(responseData => {\r\n if (responseData.isDone) {\r\n if (successCallback) successCallback(responseData.data);\r\n } else {\r\n DebugLogger.log(\"_postFileApi err\", responseData.message);\r\n if (failureCallback) failureCallback(this._formalizeError(responseData.message));\r\n }\r\n })\r\n .catch(err => {\r\n DebugLogger.log(\"_postFileApi err\", err);\r\n });\r\n }\r\n\r\n // postFileToMessageCenter(formData, width, height, successCallback, failureCallback) {\r\n // var apiUrl = AppConfig.SITE_BASE + \"/MessageCenterUpload.ashx?\";\r\n // if (width > 0 && height > 0)\r\n // apiUrl += `w=${width}&h=${height}`;\r\n\r\n // // update bearer authorization header\r\n // this.bearerAuth = this._getBearerAuthorizationHeader();\r\n\r\n // // set request header for authentication\r\n // let locale = Helper.getLocale(i18n.language);\r\n // fetch(apiUrl, {\r\n // method: \"POST\",\r\n // headers: {\r\n // \"Content-Type\": \"multipart/form-data;charset=utf-8\",\r\n // \"Cache-Control\": \"no-cache\",\r\n // // \"Accept-Language\": I18n.locale + \", \" + I18n.locale.substr(0, 2),\r\n // \"Accept-Language\": locale + \", \" + locale.substr(0, 2),\r\n // \"Authorization\": this.bearerAuth ? this.bearerAuth : this.basicAuth\r\n // },\r\n // body: formData,\r\n // }).then((response) => response.json())\r\n // .then((responseData) => {\r\n // var newResponse = { data: responseData.Data, message: responseData.Message };\r\n // if (responseData.IsDone) {\r\n // if (successCallback) successCallback(newResponse);\r\n // } else {\r\n // DebugLogger.log(\"_postFileApi err\", responseData.Message);\r\n // if (failureCallback) failureCallback(newResponse);\r\n // }\r\n // })\r\n // .catch((err) => {\r\n // DebugLogger.log(\"_postFileApi err\", err);\r\n // });\r\n // }\r\n\r\n _formalizeError(data, problem) {\r\n var message = \"Unknow error.\";\r\n if (problem && problem !== \"\") {\r\n message = problem;\r\n }\r\n\r\n if (!data) {\r\n return { code: 1, message: message };\r\n }\r\n\r\n if (_.isString(data)) {\r\n return { code: 1, message: data };\r\n }\r\n\r\n var error = { ...data };\r\n\r\n if (!_.has(error, \"code\")) {\r\n error.code = 1; // Unknow\r\n }\r\n\r\n if (!_.has(error, \"message\")) {\r\n error.message = message;\r\n }\r\n\r\n return error;\r\n }\r\n}\r\n\r\nexport default new ApiService();\r\n","import _ from \"lodash\";\r\n\r\nimport DebugLogger from \"../utils/DebugLogger\";\r\nimport StoreManager from \"../redux/\";\r\nimport TaskHelper,{ TaskStates } from \"../utils/TaskHelper\"\r\n\r\nconst taskRoundSec = 5;\r\n\r\nclass BackgroundTaskService {\r\n // example\r\n /*taskQueue = {\r\n \"TASK_TYPE\": {\r\n isProcessing: false,\r\n queue: [\r\n {\r\n id: \"\",\r\n data: \"\",\r\n type:\"TaskTypes.SAVE_UNIT\",\r\n state: TaskStates.PROCESSING,\r\n apiMethod: \"post\",\r\n error: \"\"\r\n }]\r\n }\r\n };*/\r\n\r\n constructor() {\r\n //load task queue from storage\r\n // if there exists stored session data ,we will load it first\r\n let taskQueue = TaskHelper.taskQueueData;\r\n if (taskQueue) {\r\n _.each(taskQueue, (item) => {\r\n if (item) {\r\n item.isProcessing = false;\r\n }\r\n });\r\n this.taskQueueData = taskQueue;\r\n } else {\r\n this.taskQueueData = {}\r\n }\r\n }\r\n\r\n startProcessing = () => {\r\n DebugLogger.log(\"BackgroundService: Started\");\r\n this.timer = setInterval(() => {\r\n this.processTask();\r\n }, taskRoundSec * 1000);\r\n };\r\n\r\n stopProcessing = () => {\r\n DebugLogger.log(\"BackgroundService: Stopped\");\r\n if (this.timer) {\r\n clearInterval(this.timer);\r\n }\r\n\r\n //force set all isProcessing to false, since we are open app again in this case\r\n if (this.taskQueueData) {\r\n _.each(this.taskQueueData, (item) => {\r\n if (item) {\r\n item.isProcessing = false;\r\n }\r\n });\r\n\r\n //save the isProcessing state\r\n TaskHelper.saveTaskIntoStorage(this.taskQueueData);\r\n }\r\n };\r\n\r\n /**\r\n * Process task one by one, if one fails we sleep and wait next round\r\n * when one success, pop it in queue and update storage\r\n * if last process is not completed, ignore and wait next round\r\n */\r\n processTask = () => {\r\n //DebugLogger.log(\"BackgroundService: Check\");\r\n if (this.taskQueueData) {\r\n //if you are not login we do nothing\r\n let store = StoreManager.getStore();\r\n let authorization = store.getState().session.authorization;\r\n if (authorization) {\r\n _.each(this.taskQueueData, (item, key) => {\r\n if (_.isPlainObject(item) && _.has(item, \"queue\") && item.queue.length > 0 && !item.isProcessing) {\r\n item.isProcessing = true;\r\n DebugLogger.log(`BackgroundService: Background task ${key} count ${item.queue.length}`);\r\n this.processTaskOneByOne(key, item.queue)\r\n .then(() => {\r\n item.isProcessing = false;\r\n\r\n //save the isProcessing state\r\n TaskHelper.saveTaskIntoStorage(this.taskQueueData);\r\n\r\n DebugLogger.log(`BackgroundService: ${key} Task Process Done`);\r\n })\r\n .catch(error => {\r\n item.isProcessing = false;\r\n\r\n //save the isProcessing state\r\n TaskHelper.saveTaskIntoStorage(this.taskQueueData);\r\n\r\n DebugLogger.log(`BackgroundService: ${key} Process error`);\r\n DebugLogger.log(error);\r\n });\r\n }\r\n else {\r\n //DebugLogger.log(\"BackgroundService: No pending Task\");\r\n }\r\n });\r\n } else {\r\n DebugLogger.log(\"BackgroundService: Member not login, Quit\");\r\n }\r\n } else {\r\n //DebugLogger.log(\"BackgroundService: No task here\");\r\n }\r\n };\r\n\r\n\r\n //process the first task in task queue, if success we shift it and save into storage\r\n processFirstTask = (key, queue) => {\r\n if (_.isArray(queue) && queue.length > 0) {\r\n let task = queue[0];\r\n if (_.isPlainObject(task) && task.state === TaskStates.PENDING) {\r\n return new Promise((resolve, reject) => {\r\n this.processApiCallTask(task)\r\n .then(() => {\r\n queue.shift();\r\n\r\n this.saveQueue(key, queue);\r\n return resolve();\r\n })\r\n .catch(err => {\r\n //save error\r\n queue[0].error = err.message;\r\n queue[0].state = TaskStates.FAILED;\r\n //save into queue\r\n const errTask = queue.shift();\r\n queue.push(errTask);\r\n this.saveQueue(key, queue);\r\n return reject(err);\r\n });\r\n });\r\n } else {\r\n const errTask = queue.shift();\r\n queue.push(errTask);\r\n this.saveQueue(key, queue);\r\n return Promise.reject();\r\n }\r\n } else {\r\n return Promise.reject();\r\n }\r\n };\r\n\r\n //return a promise?\r\n processApiCallTask = item => {\r\n if (item.data && item.type) {\r\n return TaskHelper.processTask(item);\r\n } else {\r\n return Promise.resolve(null);\r\n }\r\n };\r\n\r\n saveQueue = (key, queue) => {\r\n if (key && _.has(this.taskQueueData, key)) {\r\n this.taskQueueData[key].queue = queue;\r\n TaskHelper.saveTaskIntoStorage(this.taskQueueData);\r\n }\r\n };\r\n\r\n processTaskOneByOne = (key, queue) => {\r\n let processIndex = 0;\r\n let runner = () => {\r\n return new Promise((resolve, reject) => {\r\n if (_.isArray(queue) && queue.length > 0) {\r\n DebugLogger.log(`BackgroundService: start process ${key} task ${processIndex}`);\r\n this.processFirstTask(key, queue)\r\n .then(() => {\r\n DebugLogger.log(`BackgroundService: process ${key} task ${processIndex} done`);\r\n processIndex++;\r\n resolve(runner()); // Pass another promise into resolve(), the passed promise will also be resolve()\r\n })\r\n .catch(err => {\r\n DebugLogger.log(`BackgroundService: process ${key} task ${processIndex} error`);\r\n DebugLogger.log(err);\r\n reject(err);\r\n });\r\n } else {\r\n return resolve(`BackgroundService: Task ${key} Process Done`);\r\n }\r\n });\r\n };\r\n return runner();\r\n };\r\n\r\n\r\n\r\n}\r\n\r\nexport default new BackgroundTaskService();\r\n","import ApiService from \"../ApiService\";\r\nimport AppConfig from \"../../config/AppConfig\";\r\nimport DebugLogger from \"../../utils/DebugLogger\";\r\nimport * as Helper from \"../../utils/Helper\";\r\nimport RegionServerManager from \"../../mobile/utils/RegionServerManager\";\r\n\r\nconst DefaultService = {\r\n loadApp: (successCallback, failureCallback) => {\r\n let partnerId = Helper.getCurrentPartnerId();\r\n RegionServerManager.instance().loadLocalStore().then(() => {\r\n ApiService.post(\r\n \"/app/load\",\r\n {partnerId},\r\n response => {\r\n let snakeCaseObject = Helper.convertCamelCaseKeysToUpperSnakeCase(response);\r\n //update app config\r\n DebugLogger.groupMessage(\"Get New App Config From Server\", snakeCaseObject);\r\n AppConfig.updateAppConfig(snakeCaseObject);\r\n DebugLogger.groupMessage(\"Update App Config\", AppConfig);\r\n\r\n if (response.regionServers && response.regionServers.length > 0) {\r\n RegionServerManager.instance().setServers(response.regionServers);\r\n }\r\n else {\r\n // once app is loaded, then we want to update api service url since \r\n // it could be changed by the server based on the location of client\r\n if (!Helper.isNullOrEmpty(response.apiEndPoint)) {\r\n // update app service base with new api endpoint if passed to client\r\n AppConfig.APP_SERVICE_BASE = response.apiEndPoint;\r\n\r\n ApiService.setBaseURL(AppConfig.APP_SERVICE_BASE);\r\n }\r\n\r\n if (!Helper.isNullOrEmpty(response.fileServerEndPoint)) {\r\n AppConfig.FILE_SERVER = response.fileServerEndPoint;\r\n }\r\n }\r\n\r\n if (successCallback) successCallback(response);\r\n },\r\n error => {\r\n RegionServerManager.instance().clearLocalStore();\r\n if (failureCallback) failureCallback(error);\r\n },\r\n );\r\n });\r\n }\r\n};\r\n\r\nexport default DefaultService;\r\n","//import * as Helper from \"../../../../utils/Helper\";\r\nimport ApiService from \"../../../ApiService\";\r\n\r\nconst EditService = {\r\n loadScreenView: (id, successCallback, failureCallback) => {\r\n ApiService.post(\"/web/admin/unit/edit/loadscreenview\", { id }, successCallback, failureCallback);\r\n },\r\n saveUnit: (vo, successCallback, failureCallback) => {\r\n ApiService.post(\"/web/admin/unit/edit/save\", vo, successCallback, failureCallback);\r\n },\r\n batchAddUnit: (vo, successCallback, failureCallback) => {\r\n ApiService.post(\"/web/admin/unit/edit/batchadd\", vo, successCallback, failureCallback);\r\n },\r\n};\r\n\r\nexport default EditService;","// import { GoogleAnalyticsTracker } from \"react-native-google-analytics-bridge\";\r\n// Import the functions you need from the SDKs you need\r\n// import { initializeApp } from \"firebase/app\";\r\n// import { getAnalytics, logEvent, setUserId, setUserProperties } from \"firebase/analytics\";\r\n// TODO: Add SDKs for Firebase products that you want to use\r\n// https://firebase.google.com/docs/web/setup#available-libraries\r\n\r\n// Your web app's Firebase configuration\r\n// For Firebase JS SDK v7.20.0 and later, measurementId is optional\r\nconst firebaseConfig = {\r\n apiKey: \"AIzaSyAqgZddmuVFBD69ycy7R9iwRj5zsLfenuY\",\r\n authDomain: \"aichinese-295911.firebaseapp.com\",\r\n projectId: \"aichinese-295911\",\r\n storageBucket: \"aichinese-295911.appspot.com\",\r\n messagingSenderId: \"711266234345\",\r\n appId: \"1:711266234345:web:f71263139d784ffab32578\",\r\n measurementId: \"G-L4VCPVW6J4\",\r\n};\r\n\r\nclass Analytics {\r\n constructor() {\r\n this._tracker = null;\r\n this.callHelper = null;\r\n // Initialize Firebase\r\n // NOTE: 不初始化firebase, 否则会导致页面加载完成时间超过2分钟, WebScreenshot失败\r\n const nofirebase = window.location.search && window.location.search.indexOf(\"nofirebase\") >= 0;\r\n if (!nofirebase) {\r\n //lazy import firebase lib\r\n import(\"firebase/app\").then(({ initializeApp }) => {\r\n const app = initializeApp(firebaseConfig);\r\n import(\"firebase/analytics\").then(({ getAnalytics, logEvent, setUserId, setUserProperties }) => {\r\n this._analytics = getAnalytics(app);\r\n this.callHelper = { logEvent, setUserId, setUserProperties };\r\n });\r\n });\r\n }\r\n }\r\n\r\n initialize() {\r\n // this._tracker = new GoogleAnalyticsTracker(\"UA-124203308-3\");\r\n }\r\n\r\n isSdkReady() {\r\n return this._analytics && this.callHelper;\r\n }\r\n\r\n trackEvent(userId, screenName, event) {\r\n // if (this._tracker) {\r\n // this._tracker.setUser(userId);\r\n // this._tracker.trackEvent(screenName, event);\r\n // }\r\n if (!this.isSdkReady()) {\r\n return;\r\n }\r\n\r\n this.callHelper.setUserId(this._analytics, userId);\r\n this.callHelper.logEvent(this._analytics, event, {\r\n firebase_screen: screenName,\r\n firebase_screen_class: screenName,\r\n });\r\n }\r\n\r\n trackScreenView(userId, screenName, userProps, pageProps) {\r\n if (!this.isSdkReady()) {\r\n return;\r\n }\r\n\r\n this.callHelper.setUserId(this._analytics, userId);\r\n this.callHelper.setUserProperties(this._analytics, { user_role: userProps.userRole, user_partner: userProps.userPartner });\r\n this.callHelper.logEvent(this._analytics, \"screen_view\", {\r\n firebase_screen: screenName,\r\n firebase_screen_class: screenName,\r\n page_partner: pageProps.pagePartner,\r\n });\r\n }\r\n}\r\n\r\nexport default new Analytics();\r\n","const __DEV__ = true;\r\nconst DebugLogger = {\r\n\r\n log: (message) => {\r\n /* eslint-disable */\r\n\r\n if (__DEV__) {\r\n console.log(message);\r\n }\r\n\r\n /* eslint-enable */\r\n },\r\n \r\n groupMessage: (groupTitle, message) => {\r\n /* eslint-disable */\r\n\r\n if (__DEV__) {\r\n if (console.groupCollapsed && console.groupEnd) {\r\n console.groupCollapsed(\r\n `%c ${groupTitle}`,\r\n 'fontWeight: bold, color:\"black\"'\r\n );\r\n console.log(message);\r\n console.groupEnd();\r\n }\r\n }\r\n\r\n /* eslint-enable */\r\n },\r\n\r\n throw: (message) => {\r\n if (__DEV__) {\r\n throw new Error(message);\r\n }\r\n }\r\n};\r\n\r\nexport default DebugLogger;","/**\r\n * Created by tomnotcat on 2024/2/28.\r\n */\r\nimport WinkTokenizer from 'wink-tokenizer';\r\n\r\nclass EnglishTokenCodec {\r\n constructor() {\r\n this._tokenChar = new Map();\r\n this._charToken = new Map();\r\n this._codePoint = 19968;\r\n }\r\n\r\n encode(text) {\r\n let tokenizer = WinkTokenizer();\r\n let tokens = tokenizer.tokenize(text);\r\n let result = \"\";\r\n let cursor = 0;\r\n // NOTE: 160是 \r\n const spaces = [\" \", \"\\n\", \"\\t\", String.fromCodePoint(160)];\r\n for (let i = 0; i < tokens.length; ++i) {\r\n let t = tokens[i];\r\n let pos = text.indexOf(t.value, cursor);\r\n if (pos >= 0) {\r\n cursor = pos + t.value.length;\r\n if (pos > 0) {\r\n if (spaces.indexOf(text[pos - 1]) >= 0) {\r\n result += ' ';\r\n }\r\n }\r\n }\r\n\r\n if (t.tag === 'word') {\r\n result += this.tokenToChar(t.value);\r\n } else {\r\n result += t.value;\r\n }\r\n }\r\n return result;\r\n }\r\n\r\n decodeToArray(text) {\r\n let result = [];\r\n for (let i = 0; i < text.length; ++i) {\r\n let t = this.charToToken(text[i]);\r\n /*\r\n if (t !== text[i]) {\r\n if (result.length > 0) {\r\n result += \" \";\r\n }\r\n }\r\n */\r\n result.push({from: text[i], to: t});\r\n }\r\n return result;\r\n }\r\n\r\n decode(text) {\r\n let result = '';\r\n let ss = this.decodeToArray(text);\r\n for (let i = 0; i < ss.length; ++i) {\r\n result += ss[i].to;\r\n }\r\n return result;\r\n }\r\n\r\n tokenToChar(_t) {\r\n let t = _t;\r\n if (t) {\r\n let c = this._tokenChar.get(t);\r\n if (!c) {\r\n this._codePoint += 1;\r\n if (this._codePoint > 40869) {\r\n throw new Error(\"codePointt too big\");\r\n }\r\n c = String.fromCodePoint(this._codePoint);\r\n this._tokenChar.set(t, c);\r\n this._charToken.set(c, t);\r\n }\r\n return c;\r\n }\r\n return t;\r\n }\r\n\r\n charToToken(c) {\r\n if (c) {\r\n let t = this._charToken.get(c);\r\n if (t) {\r\n return t\r\n }\r\n }\r\n return c;\r\n }\r\n};\r\n\r\nexport default EnglishTokenCodec;\r\n","import ApiService from \"../services/ApiService\";\r\n\r\nfunction addError(inVO, successCallback, failureCallback) {\r\n if (!!!__DEV__) {\r\n ApiService.post(\"/web/admin/error/details/add\", inVO, successCallback, failureCallback);\r\n }\r\n}\r\n\r\nexport { addError };\r\n","import React from \"react\";\r\nimport i18next from \"i18next\";\r\nimport Dimensions from \"react-native-web-dimension-helper\";\r\nimport _, { result } from \"lodash\";\r\nimport I18n from \"react-i18n\";\r\nimport StoreManager from \"../redux/\";\r\nimport Constants from \"../config/Constants\";\r\nimport AppConfig from \"../config/AppConfig\";\r\nimport { v4 as uuid } from \"uuid\";\r\nimport SplitPinYin from \"./pinyin-split\";\r\nimport axios from 'axios';\r\nimport fileDownload from 'js-file-download';\r\nimport { EnumHasFlag, GetPlainTextFromSentence } from \"./MarkTextHelper\";\r\nimport SessionHelper from \"./SessionHelper\";\r\nimport UnitStyle from \"../mobile/screens/course/units/UnitStyle\";\r\nimport UIDs from \"../UIDs\";\r\nimport EnglishTokenCodec from \"./EnglishTokenCodec\";\r\nconst moment = require('moment-timezone');\r\nconst pinyin = require('pinyin');\r\nimport {fileTypeFromBlob} from 'file-type';\r\n\r\nconst pinyinConvert = require(\"pinyin-tone-convert\");\r\n\r\nconst countries = require(\"i18n-iso-countries\");\r\n// If you use the package in a browser environment, you have to register the languages you want to use to minimize the file size.\r\ncountries.registerLocale(require(\"i18n-iso-countries/langs/zh.json\"));\r\ncountries.registerLocale(require(\"i18n-iso-countries/langs/en.json\"));\r\ncountries.registerLocale(require(\"i18n-iso-countries/langs/th.json\"));\r\ncountries.registerLocale(require(\"i18n-iso-countries/langs/ko.json\"));\r\ncountries.registerLocale(require(\"i18n-iso-countries/langs/ja.json\"));\r\ncountries.registerLocale(require(\"i18n-iso-countries/langs/pt.json\"));\r\ncountries.registerLocale(require(\"i18n-iso-countries/langs/fr.json\"));\r\ncountries.registerLocale(require(\"i18n-iso-countries/langs/ru.json\"));\r\ncountries.registerLocale(require(\"i18n-iso-countries/langs/vi.json\"));\r\n\r\n// const pinyinSplit = require(\"pinyin-split\");\r\nfunction convertSnakeCaseKeysToCamelCase(obj) {\r\n\t//if not object or array we just return\r\n\tif (!_.isObject(obj) && !_.isArray(obj)) {\r\n\t\treturn obj;\r\n\t}\r\n\tlet camelCaseObject;\r\n\t//if object we return a object, if array we return array\r\n\tif (_.isPlainObject(obj)) {\r\n\t\tcamelCaseObject = {};\r\n\t} else if (_.isArray(obj)) {\r\n\t\tcamelCaseObject = [];\r\n\t}\r\n\t_.forEach(obj, function (value, key) {\r\n\t\tif (_.isPlainObject(value) || _.isArray(value)) {\r\n\t\t\t// checks that a value is a plain object or an array - for recursive key conversion\r\n\t\t\tvalue = convertSnakeCaseKeysToCamelCase(value); // recursively update keys of any values that are also objects\r\n\t\t}\r\n\t\tcamelCaseObject[_.camelCase(key)] = value;\r\n\t});\r\n\treturn camelCaseObject;\r\n}\r\n\r\nfunction convertCamelCaseKeysToSnakeCase(obj) {\r\n\t//if not object or array we just return\r\n\tif (!_.isObject(obj) && !_.isArray(obj)) {\r\n\t\treturn obj;\r\n\t}\r\n\tlet snakeCaseObject = {};\r\n\t//if object we return a object, if array we return array\r\n\tif (_.isPlainObject(obj)) {\r\n\t\tsnakeCaseObject = {};\r\n\t} else if (_.isArray(obj)) {\r\n\t\tsnakeCaseObject = [];\r\n\t}\r\n\t_.forEach(obj, function (value, key) {\r\n\t\tif (_.isPlainObject(value) || _.isArray(value)) {\r\n\t\t\t// checks that a value is a plain object or an array - for recursive key conversion\r\n\t\t\tvalue = convertCamelCaseKeysToSnakeCase(value); // recursively update keys of any values that are also objects\r\n\t\t}\r\n\t\tsnakeCaseObject[_.snakeCase(key)] = value;\r\n\t});\r\n\treturn snakeCaseObject;\r\n}\r\n\r\nfunction convertCamelCaseKeysToUpperSnakeCase(obj) {\r\n\t//if not object or array we just return\r\n\tif (!_.isObject(obj) && !_.isArray(obj)) {\r\n\t\treturn obj;\r\n\t}\r\n\tlet snakeCaseObject = {};\r\n\t//if object we return a object, if array we return array\r\n\tif (_.isPlainObject(obj)) {\r\n\t\tsnakeCaseObject = {};\r\n\t} else if (_.isArray(obj)) {\r\n\t\tsnakeCaseObject = [];\r\n\t}\r\n\t_.forEach(obj, function (value, key) {\r\n\t\tif (_.isPlainObject(value) || _.isArray(value)) {\r\n\t\t\t// checks that a value is a plain object or an array - for recursive key conversion\r\n\t\t\tvalue = convertCamelCaseKeysToUpperSnakeCase(value); // recursively update keys of any values that are also objects\r\n\t\t}\r\n\t\tsnakeCaseObject[_.toUpper(_.snakeCase(key))] = value;\r\n\t});\r\n\treturn snakeCaseObject;\r\n}\r\n\r\n// convert ban2, ban1 to pinyin\r\nfunction convertToPinyin(value) {\r\n\ttry {\r\n //handle ng4, n4 cases\r\n //ń、ńg、ň、ňg、ǹ、ǹg\r\n //ḿ m̀\r\n //https://www.zdic.net/hans/%E5%91%A3\r\n //https://www.zdic.net/hans/%E5%97%AF\r\n const map = {\r\n n2: \"ń\",\r\n n3: \"ň\",\r\n n4: \"ǹ\",\r\n ng2: \"ńg\",\r\n ng3: \"ňg\",\r\n ng4: \"ǹg\",\r\n m2: \"ḿ\",\r\n m4: \"m̀\",\r\n };\r\n\r\n if (_.has(map, value)) {\r\n return map[value];\r\n }\r\n\r\n\t\t//first convert v to ü\r\n value = _.replace(value, \"v\", \"ü\");\r\n\t\treturn pinyinConvert(value);\r\n\t} catch (e) {\r\n\t\treturn value;\r\n\t}\r\n}\r\n// split pinyin to array\r\n\r\n// function splitPinyinToArray(value) {\r\n// var syllableArray = value.split(\" \"); //pinyinSplit(value, true);\r\n//\r\n// return _.filter(syllableArray, function (syllable) {\r\n// if (isNullOrEmpty(syllable)) {\r\n// return false;\r\n// }\r\n//\r\n// // need newline character\r\n// if (syllable.indexOf(\"\\n\") !== -1) {\r\n// return true;\r\n// }\r\n//\r\n// if (!syllable.replace(/\\s/g, \"\").length) {\r\n// return false;\r\n// }\r\n//\r\n// return true;\r\n// });\r\n// }\r\n\r\nfunction splitPinyinToArray(value) {\r\n\tif(_.isArray(value)){\r\n\t\treturn value;\r\n\t}\r\n\t//token input data\r\n\tif (_.isString(value) && value.indexOf(Constants.CHARS_FIELD_SYLLABLES_SEPARATOR) > -1){\r\n\t\t//_.trim(value, Constants.CHARS_FIELD_SYLLABLES_SEPARATOR) is for \\n case for multi-row unit\r\n\t\treturn _.split(_.trim(value, Constants.CHARS_FIELD_SYLLABLES_SEPARATOR), Constants.CHARS_FIELD_SYLLABLES_SEPARATOR);\r\n\t}\r\n\tconst splitValues = SplitPinYin(value, true, true); //return everything and wrap pinyin into lists\r\n\tlet result = [];\r\n\r\n\t_.each(splitValues, (item) => {\r\n\t\tif (_.isArray(item)) {\r\n\t\t\t//pinyin is array\r\n\t\t\tresult.push(item[0]);\r\n\t\t} else {\r\n\t\t\t//for things that is not pinyin, we treat every char as a length.\r\n\t\t\tresult = result.concat(_.toArray(item));\r\n\t\t}\r\n\t});\r\n\r\n\treturn _.filter(result, function (syllable) {\r\n\t\tif (isNullOrEmpty(syllable)) {\r\n\t\t\treturn false;\r\n\t\t}\r\n\r\n\t\t// need newline character\r\n\t\tif (syllable.indexOf(\"\\n\") !== -1) {\r\n\t\t\treturn true;\r\n\t\t}\r\n\r\n\t\treturn true;\r\n\t});\r\n}\r\n\r\nfunction getCurrentLocale() {\r\n\treturn I18n.locale;\r\n}\r\n\r\nfunction isCNCulture() {\r\n\treturn getCurrentLocale().indexOf(\"zh\") > -1;\r\n}\r\n\r\nfunction decodeURL(url) {\r\n\ttry {\r\n\t\treturn decodeURIComponent(url);\r\n\t} catch (e) {\r\n\t\treturn url;\r\n\t}\r\n}\r\n\r\nfunction subString(fullString, startNdx, length, addDots) {\r\n\tif (fullString.length > startNdx + length) {\r\n\t\treturn fullString.substring(startNdx, length) + (addDots ? \"...\" : \"\");\r\n\t} else {\r\n\t\treturn fullString.substring(startNdx);\r\n\t}\r\n}\r\n\r\n//match =\"http://\r\nconst httpRegex1 = new RegExp('=\"http://', \"g\");\r\n//match ='http://\r\nconst httpRegex2 = new RegExp(\"='http://\", \"g\");\r\n//if html have url like http://www.... can not be load in https env.\r\n//so replace all to // to make it auto fill\r\nfunction replaceHttpToFitHttpsInHtml(htmlStr) {\r\n\tif (!htmlStr) {\r\n\t\treturn \"\";\r\n\t}\r\n\r\n\treturn htmlStr.replace(httpRegex1, '=\"https://').replace(httpRegex2, \"='https://\");\r\n}\r\n\r\nconst httpRegex3 = new RegExp(\"^http://\", \"g\");\r\n//replace http url to https url\r\nfunction replaceURLToHttps(htmlStr) {\r\n\tif (!htmlStr) {\r\n\t\treturn \"\";\r\n\t}\r\n\r\n\treturn htmlStr.replace(httpRegex3, \"https://\");\r\n}\r\n\r\n/**\r\n * for use session data in some extra place\r\n * @return {*}\r\n */\r\nfunction getSessionState() {\r\n\ttry {\r\n\t\tlet store = StoreManager.getStore();\r\n\t\treturn store.getState().session;\r\n\t} catch (e) {\r\n\t\t//DebugLogger.log(e);\r\n\t\t//when app is starting we will get error here.\r\n\t\t//we need to try resolve this\r\n\t\treturn {};\r\n\t}\r\n}\r\n\r\n//获取当前的partnerID 目前 fields/type/TextSourceField 用了\r\nfunction getCurrentPartnerId() {\r\n let partner = SessionHelper.get(\"partner\");\r\n return partner ? partner.id : \"\";\r\n}\r\n\r\nfunction formatToHtmlString(content) {\r\n\treturn `
${content}
`;\r\n}\r\n\r\nfunction getENNumSeqSuffix(index) {\r\n\tlet pNum = index;\r\n\tif (!_.isNumber(index)) {\r\n\t\tpNum = _.toNumber(index);\r\n\t\tif (pNum <= 0 || isNaN(pNum)) {\r\n\t\t\treturn \"\";\r\n\t\t}\r\n\t}\r\n\tswitch (pNum) {\r\n\t\tcase 1:\r\n\t\t\treturn \"st\";\r\n\t\tcase 2:\r\n\t\t\treturn \"nd\";\r\n\t\tcase 3:\r\n\t\t\treturn \"rd\";\r\n\t\tdefault:\r\n\t\t\treturn \"th\";\r\n\t}\r\n}\r\n\r\nfunction generateUUID() {\r\n\tconst id = uuid();\r\n\treturn _.replace(id, /-/gm, \"\");\r\n}\r\n\r\n// item: b, ang2, eng, peng3\r\nfunction getAudioVirtualPathFromSyllable(syllable) {\r\n\treturn Constants.FILE_STORAGE.PINYIN_PATH + syllable + \".mp3\";\r\n}\r\n\r\nfunction convertToFileServerPath(serverPath) {\r\n\tif (!serverPath || serverPath.length < 2) return '';\r\n\telse if (serverPath.indexOf(\"~/\") === 0) return fileServerPath() + serverPath.substring(2);\r\n\telse return serverPath;\r\n}\r\n\r\nfunction replaceHtmlVirtualPath(html) {\r\n if (!html) {\r\n return html;\r\n }\r\n return html.split('${YIDU_FILE_SERVER}~/').join(fileServerPath());\r\n}\r\n\r\nconst fileServerPath = () => {\r\n\tif (AppConfig.FILE_SERVER) {\r\n if (AppConfig.FILE_SERVER.endsWith(\"/\")) {\r\n return AppConfig.FILE_SERVER;\r\n }\r\n return AppConfig.FILE_SERVER + \"/\";\r\n }\r\n\telse return AppConfig.APP_SERVICE_BASE + \"/\";\r\n};\r\n\r\nconst isGuest = (memberId) => {\r\n\treturn _.toLower(memberId) === _.toLower(Constants.USER_GUEST);\r\n};\r\n\r\nconst isLoggedIn = (memberId) => {\r\n\tif (!isGuest(memberId)) {\r\n\t\treturn !_.isEmpty(memberId);\r\n\t}\r\n\treturn false;\r\n};\r\n\r\nconst isAdmin = (user) => {\r\n\treturn user && _.isNumber(user.role) && user.role & Constants.USER_ROLE.ADMIN;\r\n};\r\n\r\nconst isOnCall = (user) => {\r\n\treturn user && _.isNumber(user.role) && user.role & Constants.USER_ROLE.ON_CALL;\r\n};\r\n\r\nconst isTeacher = (user) => {\r\n\treturn user && _.isNumber(user.role) && user.role & Constants.USER_ROLE.TEACHER;\r\n};\r\n\r\nconst isAgent = (user) => {\r\n\treturn user && _.isNumber(user.role) && user.role & Constants.USER_ROLE.AGENT;\r\n};\r\n\r\nconst isStudent = (user) => {\r\n\treturn user && _.isNumber(user.role) && user.role === Constants.USER_ROLE.USER;\r\n};\r\n\r\nconst isBookManager = (user) => {\r\n\treturn user && _.isNumber(user.role) && user.role & Constants.USER_ROLE.BOOK_MANAGER;\r\n};\r\n\r\nconst isPartner = (partner, partnerRole) => {\r\n\treturn partner && !isNullOrEmpty(partner.id);\r\n};\r\n\r\nconst isEditorPartner = (partner, partnerRole) => {\r\n\treturn partner && partner.role === partnerRole.EditorPartner;\r\n};\r\n\r\nconst isManagerPartner = (partner, partnerRole) => {\r\n\treturn partner && partner.role === partnerRole.ManagerPartner;\r\n};\r\n\r\nconst isAssistantPartner = (partner, partnerRole) => {\r\n\treturn partner && partner.role === partnerRole.AssistantPartner;\r\n};\r\n\r\nconst isNumeric = (n) => {\r\n\treturn !isNaN(parseFloat(n)) && isFinite(n);\r\n};\r\n\r\nconst isNullOrEmpty = (s) => {\r\n\treturn _.isNull(s) || _.isEmpty(s);\r\n};\r\n\r\nconst isNullOrUndefined = (o) => {\r\n\treturn _.isNull(o) || _.isUndefined(o);\r\n};\r\n\r\nconst isCharacter = (str) => {\r\n\tif (Object.prototype.toString.call(str) !== \"[object String]\") {\r\n\t\treturn false;\r\n\t}\r\n\tif (str && str.length !== 1) {\r\n\t\treturn false;\r\n\t}\r\n\tconst testCases = [\r\n\t\t[\"\\u4E00\", \"\\u9FEF\"], //基本汉字&基本汉字补充\r\n\t\t[\"\\u3400\", \"\\u4DB5\"], //扩展A\r\n\t\t[\"\\u{20000}\", \"\\u{2A6D6}\"], //扩展B\r\n\t\t[\"\\u{2A700}\", \"\\u{2B734}\"], //扩展C\r\n\t\t[\"\\u{2B740}\", \"\\u{2B81D}\"], //扩展D\r\n\t\t[\"\\u{2B820}\", \"\\u{2CEA1}\"], //扩展E\r\n\t\t[\"\\u{2CEB0}\", \"\\u{2EBE0}\"], //扩展F\r\n\t];\r\n\tfor (const t of testCases) {\r\n\t\tif (t[0] <= str && str <= t[1]) {\r\n\t\t\treturn true;\r\n\t\t}\r\n\t}\r\n\treturn false;\r\n};\r\n\r\nconst randomizeArray = (arr) => {\r\n\tconst length = arr.length;\r\n\tlet arr1 = [];\r\n\tfor (var i = 0; i < length; i++) {\r\n\t\tarr1[i] = i;\r\n\t} //建立数组下标数组\r\n\tlet arr2 = [];\r\n\tfor (let i = 0; i < length; i++) {\r\n\t\tarr2[i] = arr1.splice(Math.floor(Math.random() * arr1.length), 1);\r\n\t} //将数组下标随机打乱\r\n\tlet arr3 = [];\r\n\tfor (let i = 0; i < length; i++) {\r\n\t\tarr3[i] = arr[arr2[i]];\r\n\t} //将数组按打乱后的下标输出\r\n\treturn arr3;\r\n};\r\n\r\n//\r\n// get the localized string from localizable string object\r\n//\r\nfunction localizeString(localizableString) {\r\n\tif (!localizableString) return \"\";\r\n\r\n\tlet lan = i18next.language ? i18next.language : \"en\";\r\n\treturn localizableString[lan] ? localizableString[lan] : localizableString[\"en\"];\r\n}\r\n\r\nfunction localizeStringNoChinese(localizableString) {\r\n\tif (!localizableString) return \"\";\r\n\r\n\tlet lan = i18next.language ? i18next.language : \"en\";\r\n\tlan = lan === \"zh\" ? \"en\" : lan;//when cn culuture show en\r\n\treturn localizableString[lan] ? localizableString[lan] : localizableString[\"en\"];\r\n}\r\n\r\nfunction localizeStringByLanguage(localizableString, lan) {\r\n\tif (!localizableString) return \"\";\r\n\treturn localizableString[lan] ? localizableString[lan] : localizableString[\"en\"];\r\n}\r\n\r\n//\r\n// get the translated chinese from localizable string object\r\n//\r\nfunction translateChinese(localizableString, upperCase = false, sourceLang = \"\") {\r\n if (!localizableString) return \"\";\r\n\r\n let lan = i18next.language && i18next.language !== \"zh\" ? i18next.language : \"en\";\r\n if (lan === sourceLang) {\r\n if (lan !== 'zh') {\r\n lan = 'zh';\r\n } else {\r\n lan = 'en';\r\n }\r\n }\r\n\r\n if(lan === \"en\" && upperCase){\r\n if(localizableString[\"en\"]){\r\n let str = localizableString[\"en\"];\r\n return str.slice(0,1).toUpperCase() +str.slice(1).toLowerCase();\r\n }\r\n }\r\n return localizableString[lan] ? localizableString[lan] : localizableString[\"en\"];\r\n}\r\n\r\nfunction buildLocalizableString(lans, texts) {\r\n\tlet localizableString = {};\r\n\r\n\tfor (let i = 0; i < lans.length; i++) {\r\n\t\tlocalizableString[lans[i]] = texts[i];\r\n\t}\r\n\r\n\treturn localizableString;\r\n}\r\nfunction isTwoWordsSame(w1, w2) {\r\n\tif (!w1.chars || !w2.chars) return false;\r\n\treturn w1.chars.toString() === w2.chars.toString();\r\n}\r\nfunction combineTranslation(formData, keyName, index = -1) {\r\n\tvar _return = {};\r\n\tif (index === -1) {\r\n\t\tif (formData[`${keyName}-lan`]) {\r\n\t\t\tfor (let i = 0; i < formData[`${keyName}-lan`].length; i++) {\r\n\t\t\t\tif (!formData[`${keyName}-text`][i]) continue;\r\n\t\t\t\t_return[formData[`${keyName}-lan`][i]] = formData[`${keyName}-text`][i];\r\n\t\t\t}\r\n\t\t}\r\n\t\treturn Object.keys(_return).length === 0 ? null : _return;\r\n\t} else {\r\n\t\tif (formData[keyName]) {\r\n\t\t\tvar translation = formData[keyName][index];\r\n\t\t\tfor (let i = 0; i < translation[`-lan`].length; i++) {\r\n\t\t\t\tif (!translation[`-text`][i]) continue;\r\n\t\t\t\t_return[translation[`-lan`][i]] = translation[`-text`][i];\r\n\t\t\t}\r\n\t\t}\r\n\t\treturn Object.keys(_return).length === 0 ? null : _return;\r\n\t}\r\n}\r\n\r\nfunction combineTranslationForSentences(lan, text){\r\n var newTranslation = {}\r\n for(var i=0; i {\r\n\treturn Array.from({ length }, (_, k) => k);\r\n};\r\n\r\nconst isChinese = (val) => {\r\n\treturn /^[\\u4E00-\\u9FA5]+$/.test(val);\r\n};\r\nconst isEnglish = (val) => {\r\n\treturn /^[a-zA-Z0-9'\\s-]+$/.test(val);\r\n};\r\n\r\n// ·¥。 ? ! , 、 ; : “ ” …( )《》『』【】—.〈〉〔〕「」‘’–\r\n// . ? ! , ; : \" ( ) - #$%&'*+/<=>@[\\\\]^_`{|}~\r\nconst isChineseWithPunctuation = (val) => {\r\n\treturn /^[\\u4E00-\\u9FA5\\u00b7\\uffe5\\u3002\\uff1f\\uff01\\uff0c\\u3001\\uff1b\\uff1a\\u201c\\u201d\\uff08\\uff09\\u2026\\u300a\\u300b\\u300e\\u300f\\u3010\\u3011\\u2014\\uff0e\\u3008\\u3009\\u3014\\u3015\\u300c\\u300d\\u2018\\u2019\\u2013\\u0020-\\u002f\\u003a-\\u0040\\u005b-\\u0060\\u007b-\\u007e\\n\\t\\v\\f\\r]+$/.test(val);\r\n};\r\n\r\nconst containSentencePunc = (val) => {\r\n\treturn val && val\r\n\t\t.trim()\r\n\t\t.split('')\r\n\t\t.some(s => sentencePunctuations.includes(s));\r\n};\r\n\r\n/**\r\n * combine the basic fields into sentences\r\n * @param {string} chars\r\n * @param {string} syllables\r\n * @param {{zh:string,en:string,th:string}} translation\r\n * @returns {sentences[]} sentences\r\n */\r\nfunction combineFieldsIntoSentences(chars, syllables, translation, separator = \"\\n\") {\r\n\tchars = chars\r\n\t\t.trim()\r\n\t\t.split(separator)\r\n\t\t.filter((s) => s && s.trim())\r\n\t\t.map((char) => char.split(\"\"));\r\n\tsyllables = syllables\r\n\t\t.trim()\r\n\t\t.split(separator)\r\n\t\t.filter((s) => s && s.trim())\r\n\t\t.map((syllable) => splitPinyinToArray(syllable));\r\n\r\n\t// chars length should be equal to syllables length\r\n\tif ((syllables.length > 0 && chars.length !== syllables.length) || chars.length === 0) return [];\r\n\r\n\tlet translations = translation;\r\n\tfor (var key in translation) {\r\n\t\tif (isNullOrEmpty(translation[key])) {\r\n\t\t\ttranslations[key] = [];\r\n\t\t\tcontinue;\r\n\t\t}\r\n\t\ttranslations[key] = translation[key].trim().split((separator===\" \"?\" \": separator));\r\n\t\tif (translations[key].length !== chars.length) return [];\r\n\t}\r\n\r\n\tlet sentences = [];\r\n\tfor (let i = 0; i < chars.length; i++) {\r\n\t\tlet _translation = {};\r\n\t\tfor (let key in translations) {\r\n\t\t\tif (!translations[key].length) {\r\n\t\t\t\tcontinue;\r\n\t\t\t}\r\n\t\t\t_translation[key] = translations[key][i];\r\n\t\t}\r\n\t\tsentences.push({\r\n\t\t\tchars: chars[i],\r\n\t\t\tsyllables: syllables[i] || [],\r\n\t\t\ttranslation: _translation,\r\n\t\t});\r\n\t}\r\n\treturn sentences;\r\n}\r\n/**\r\n * extral fields from sentences.\r\n * combine multi line chars ,syllables etc.\r\n * @param {sentence[]} sentences\r\n * @param {string} prefix the prefix of return object\r\n */\r\nfunction extractFieldsFromSentences(sentences, prefix = \"\", separator = \"\\n\") {\r\n\tlet _chars = [],\r\n\t\t_syllables = [],\r\n\t\t_translation = {};\r\n\tsentences.forEach((sentence, index) => {\r\n\t\tconst { chars, syllables, translation } = sentence;\r\n\t\tif (chars) _chars.push(chars.join(\"\"));\r\n\t\t//if (syllables) _syllables.push(syllables.join(\"\"));\r\n\t\tif (syllables) _syllables.push(syllables.join(Constants.CHARS_FIELD_SYLLABLES_SEPARATOR));\r\n\t\tif (translation)\r\n\t\t\tfor (let key in translation) {\r\n\t\t\t\tif (isNullOrEmpty(translation[key])) translation[key] = \"\";\r\n\t\t\t\tif (!_translation[key]) _translation[key] = \"\";\r\n\t\t\t\t_translation[key] += (separator===\" \"?\" \": separator) + translation[key];\r\n\t\t\t\tif (index === sentences.length - 1)\r\n\t\t\t\t\t_translation[key] = _translation[key].trim();\r\n\t\t\t}\r\n\t});\r\n\t_chars = _chars.join(separator);\r\n\t_syllables = _syllables.join(separator);\r\n\r\n\tif (!isNullOrEmpty(prefix)) {\r\n\t\treturn {\r\n\t\t\t[`${prefix}Chars`]: _chars,\r\n\t\t\t[`${prefix}Syllables`]: _syllables,\r\n\t\t\t[`${prefix}Translation`]: _translation,\r\n\t\t};\r\n\t} else {\r\n\t\treturn {\r\n\t\t\tchars: _chars,\r\n\t\t\tsyllables: _syllables,\r\n\t\t\ttranslation: _translation,\r\n\t\t};\r\n\t}\r\n}\r\n\r\nfunction extractFieldsFromParagraphs(paragraphs, prefix = \"\", separator = \"\\n\") {\r\n\tlet _chars = [],\r\n\t\t_syllables = [],\r\n\t\t_translation = {};\r\n\tparagraphs.forEach(({sentences}, index) => {\r\n\t\tlet { chars, syllables, translation } = extractFieldsFromSentences(sentences, prefix, \"\");\r\n\t\tif (chars) _chars.push(chars);\r\n\t\tif (syllables) _syllables.push(syllables);\r\n\t\tif (translation)\r\n\t\t\tfor (let key in translation) {\r\n\t\t\t\tif (isNullOrEmpty(translation[key])) translation[key] = \"\";\r\n\t\t\t\tif (!_translation[key]) _translation[key] = \"\";\r\n\t\t\t\t_translation[key] += (separator===\" \"?\" \": separator) + translation[key];\r\n\t\t\t\tif (index === paragraphs.length - 1)\r\n\t\t\t\t\t_translation[key] = _translation[key].trim();\r\n\t\t\t}\r\n\t});\r\n\t_chars = _chars.join(separator);\r\n\t_syllables = _syllables.join(separator);\r\n\r\n\tif (!isNullOrEmpty(prefix)) {\r\n\t\treturn {\r\n\t\t\t[`${prefix}Chars`]: _chars,\r\n\t\t\t[`${prefix}Syllables`]: _syllables,\r\n\t\t\t[`${prefix}Translation`]: _translation,\r\n\t\t};\r\n\t} else {\r\n\t\treturn {\r\n\t\t\tchars: _chars,\r\n\t\t\tsyllables: _syllables,\r\n\t\t\ttranslation: _translation,\r\n\t\t};\r\n\t}\r\n}\r\n\r\n/**\r\n * map sentence syllables into words.\r\n * @param {[]} sentences\r\n */\r\nfunction mapSentenceSyllablesIntoWords(sentences) {\r\n\tsentences.forEach((sentence,sIdx,sArr) => {\r\n\t\tif (sentence.syllables && sentence.words) {\r\n\t\t\tlet syllables = Array.from(sentence.syllables)||[];\r\n\t\t\tsArr[sIdx].words.forEach((word,wIdx,wArr) => {\r\n\t\t\t\tif (word.syllables) {\r\n\t\t\t\t\twArr[wIdx].syllables.forEach((letter,lIdx,lArr) => {\r\n\t\t\t\t\t\tif (syllables.length === 0) return;\r\n\t\t\t\t\t\tlArr[lIdx] = (syllables.splice(0,1))[0];\r\n\t\t\t\t\t})\r\n\t\t\t\t}\r\n\t\t\t})\r\n\t\t}\r\n\t});\r\n}\r\n\r\nconst isPunctuation = val => {\r\n return \"·¥。?!,、;:“”…()《》『』【】—.〈〉〔〕「」‘’–.?!,;:\\\"()-#$%&'*+/<=>@[\\\\]^_`{|}~ \".indexOf(val) > -1;\r\n};\r\n\r\n/**\r\n * 只比较中文和字母数字\r\n * @param char\r\n * @returns {boolean}\r\n */\r\nconst IsNoNeedCompareChar = char => {\r\n\tconst regex = /[A-Za-z0-9]/;\r\n\tif (regex.test(char)) {\r\n\t\treturn false;\r\n\t}\r\n\r\n\tif (isPunctuation(char)){\r\n\t\treturn true;\r\n\t}\r\n\treturn !isChineseCharacters(char);\r\n};\r\n\r\nconst containSpecialPunctuations = val => {\r\n\tconst specialPunctions = \".?()$*+[\\]^_|\";\r\n\treturn val && val.split(\"\").findIndex(e=>specialPunctions.indexOf(e)>-1)>-1;\r\n};\r\n\r\nconst sentencePunctuations = [ \"!\", \"?\", \";\" , \"。\", \"!\", \"?\", \";\", \"…\" ];\r\n\r\nfunction splitParagraph(arr) {\r\n\tlet newArr = [];\r\n\twhile (arr.length > 0) {\r\n\t\tfor (let j = 0; j < arr.length; j++) {\r\n\t\t\tlet isSenPunc = sentencePunctuations.indexOf(arr[j])>-1;\r\n\t\t\tif (isSenPunc || j===(arr.length-1)) {\r\n\t\t\t\tif (j===(arr.length-1)) {\r\n\t\t\t\t\tlet tailArr = arr.splice(0, j+1).join(\"\").trim().split(\"\");\r\n\t\t\t\t if (newArr.length === 0 || tailArr.findIndex(e=>!isPunctuation(e)) > -1)\r\n\t\t\t\t\t\tnewArr.push(tailArr);\r\n\t\t\t\t\telse\r\n\t\t\t\t\t\tnewArr[newArr.length-1] = newArr[newArr.length-1].concat(tailArr); //如果剩余字符都是标点,则合并到上一句中\r\n\t\t\t\t\tbreak;\r\n\t\t\t\t}\r\n\r\n\t\t\t\tlet k = j+1;\r\n\t\t\t\twhile (k < arr.length) {\r\n\t\t\t\t\tisSenPunc = sentencePunctuations.indexOf(arr[k])>-1;\r\n\t\t\t\t\tif (!isSenPunc) break;\r\n\t\t\t\t\tk++;\r\n\t\t\t\t}\r\n\r\n\t\t\t\t//如果句子标点后紧跟引号或空格,则索引加一\r\n\t\t\t\twhile(arr.length>k && \"”\\\" \".indexOf(arr[k])>-1)\r\n\t\t\t\t\tk = k+1;\r\n\r\n\t\t\t\tnewArr.push(arr.splice(0, k).join(\"\").trim().split(\"\"));\r\n\r\n\t\t\t\tbreak;\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\treturn newArr;\r\n}\r\n\r\nfunction combineSentence(arr, shouldCombineCallback) {\r\n\tif (!arr || !_.isArray(arr) || !shouldCombineCallback) return;\r\n\tfor (let i = 0; i < arr.length; i++) {\r\n\t\t//小于等于5个字的句子向后合并\r\n\t\twhile (i<(arr.length-1) && shouldCombineCallback(arr[i])) {\r\n\t\t\tif(_.isArray(arr[i])) {\r\n\t\t\t\tarr[i+1] = arr[i].concat(arr[i+1]);\r\n\t\t\t} else {\r\n\t\t\t\tarr[i+1] = (arr[i]+arr[i+1]);\r\n\t\t\t}\r\n\t\t\tarr.splice(i, 1);\r\n\t\t}\r\n\t\t//最后一句小于等于5个字的句子向前合并\r\n\t\tif (i===(arr.length-1) && i>0 && shouldCombineCallback(arr[i])) {\r\n\t\t\tif(_.isArray(arr[i])) {\r\n\t\t\t\tarr[i-1] = arr[i-1].concat(arr[i]);\r\n\t\t\t} else {\r\n\t\t\t\tarr[i-1] = (arr[i-1]+arr[i]);\r\n\t\t\t}\r\n\t\t\tarr.splice(i, 1);\r\n\t\t}\r\n\t}\r\n}\r\n\r\nfunction combineFieldsIntoParagraphs(chars) {\r\n\tlet _sentences = combineFieldsIntoSentences(chars, \"\", {}, \"\\n\");\r\n\r\n\tlet paragraphs = [];\r\n\tfor (let i = 0; i < _sentences.length; i++) {\r\n\t\tlet sentence = _sentences[i];\r\n\t\tlet sentences = [];\r\n\r\n\t\tlet chars = splitParagraph(sentence.chars);\r\n\r\n\t\tcombineSentence(chars, itemArray => {\r\n\t\t\tlet plainText = GetPlainTextFromSentence(itemArray.join(\"\"));\r\n\t\t\tlet wordCount = getWords(plainText).join(\"\").length;\r\n\t\t\treturn wordCount <= 10;\r\n\t\t});\r\n\r\n\t\tif (chars.length === 0) return [];\r\n\r\n\t\tfor (let i = 0; i < chars.length; i++) {\r\n\t\t\tsentences.push({\r\n\t\t\t\tchars: chars[i],\r\n\t\t\t\tsyllables: [],\r\n\t\t\t\ttranslation: {},\r\n\t\t\t});\r\n\t\t}\r\n\t\tparagraphs.push({\r\n\t\t\tsentences: sentences\r\n\t\t});\r\n\t}\r\n\treturn paragraphs;\r\n}\r\n\r\nfunction combineFieldsIntoDialog(chars, splitMinLength = 60) {\r\n\tlet dialog = {};\r\n\tlet sentences = [];\r\n\r\n\tif (chars.length > splitMinLength) {\r\n\t\tsentences = combineFieldsIntoParagraphs(chars).flatMap(f => f.sentences);\r\n\t} else {\r\n\t\tsentences = combineFieldsIntoSentences(chars, \"\", {}, \"\\n\");\r\n\t}\r\n\r\n\tdialog = { sentences };\r\n\treturn dialog;\r\n}\r\n\r\n/**\r\n * extract data from Content Field\r\n * 从表单数据中提取各种Field(CharsField,ImageField,AudioField)可用的数据结构\r\n * @param {{}} formData\r\n * @param {number} singleUnitIndex\r\n */\r\nconst extractFieldsFromContentFieldFormData = (formData, singleUnitIndex) => {\r\n let singleUnitPattern = new RegExp(`content.*\\\\[${singleUnitIndex}\\\\]article\\\\[(\\\\d*)\\\\]([A-Za-z]*)?`);\r\n let pattern = /content.*?article\\[(\\d*)\\]([A-Za-z]*)?/;\r\n let tempFieldPayloads = [];\r\n for (let key in formData) {\r\n if ((singleUnitIndex || singleUnitIndex === 0) && !singleUnitPattern.test(key)) {\r\n continue;\r\n }\r\n if (pattern.test(key)) {\r\n let matches = pattern.exec(key);\r\n let fieldIndex = parseInt(matches[1]);\r\n let componentName = matches[2];\r\n if (componentName === \"type\") continue;\r\n let fieldName = formData[key.replace(new RegExp(`${componentName}.*`), \"type\")];\r\n\r\n if (fieldName === \"CharsField\" && componentName === \"translation\") {\r\n // translation\r\n // Helper.combineTranslation(formData, key.replace(`[${fieldIndex}`, \"\"));\r\n let _translation = {};\r\n for (let i = 0; i < 3; i++) {\r\n let lan = formData[key.replace(/translation.*/, `translation-lan[${i}]`)];\r\n let text = formData[key.replace(/translation.*/, `translation-text[${i}]`)];\r\n _translation[lan] = text;\r\n }\r\n tempFieldPayloads[fieldIndex] = {\r\n ...tempFieldPayloads[fieldIndex],\r\n [componentName]: {\r\n value: _translation,\r\n name: key.replace(/translation.*/, \"translation\"),\r\n },\r\n type: fieldName,\r\n };\r\n } else {\r\n tempFieldPayloads[fieldIndex] = {\r\n ...tempFieldPayloads[fieldIndex],\r\n [componentName]: {\r\n value: formData[key],\r\n name: key,\r\n },\r\n type: fieldName,\r\n };\r\n }\r\n }\r\n }\r\n return tempFieldPayloads;\r\n}\r\n/**\r\n * 将表单数据打包成服务器的数据结构类型\r\n * @param {{}} formData\r\n * @param {number} singleUnitIndex\r\n */\r\nconst combineContentField = (formData, singleUnitIndex) => {\r\n let fieldPayloads = extractFieldsFromContentFieldFormData(formData, singleUnitIndex);\r\n let result = [];\r\n for (let i = 0; i < fieldPayloads.length; i++) {\r\n\t\tconst fieldPayload = fieldPayloads[i];\r\n\t\tif(!fieldPayload) continue;\r\n const type = Constants.FIELD_TYPE[fieldPayload.type.toUpperCase()];\r\n let _fieldPayload = {};\r\n switch (type) {\r\n case Constants.FIELD_TYPE.CHARSFIELD:\r\n let sentences = combineFieldsIntoSentences(fieldPayload.chars.value, fieldPayload.syllables.value, fieldPayload.translation.value);\r\n _fieldPayload = { sentences: sentences, audioPath: fieldPayload.audioPath.value };\r\n break;\r\n case Constants.FIELD_TYPE.IMAGEFIELD:\r\n _fieldPayload = { imagePath: fieldPayload.imagePath.value };\r\n break;\r\n case Constants.FIELD_TYPE.AUDIOFIELD:\r\n _fieldPayload = { audioPath: fieldPayload.audioPath.value };\r\n break;\r\n default:\r\n break;\r\n }\r\n result.push({\r\n fieldPayload: JSON.stringify(_fieldPayload),\r\n type: type\r\n });\r\n }\r\n return { children: result };\r\n}\r\n/**\r\n * 处理从服务器传来的ContentField的数据结构\r\n * @param {[]} children\r\n * @param {number} singleUnitIndex The index of name used to construct the form input\r\n */\r\nconst extractFieldsFromContentFieldPayloads = (children = [], singleUnitIndex) => {\r\n let result = [];\r\n for (let i = 0; i < children.length; i++) {\r\n const child = children[i];\r\n let fieldPayload = JSON.parse(child.fieldPayload);\r\n let type = Constants.FIELD_TYPE_MAP_ARRAY[child.type];\r\n let _fieldPayload = {};\r\n let prefix = `content${singleUnitIndex || singleUnitIndex === 0 ? `[${singleUnitIndex}]` : \"\"}article[${i}]`\r\n for (let key in fieldPayload) {\r\n if (key === \"sentences\" && !isNullOrEmpty(fieldPayload[key])) {\r\n const { chars, syllables, translation } = extractFieldsFromSentences(fieldPayload[key]);\r\n _fieldPayload = {\r\n ..._fieldPayload,\r\n chars: {\r\n name: `${prefix}chars`,\r\n value: chars,\r\n },\r\n syllables: {\r\n name: `${prefix}syllables`,\r\n value: syllables,\r\n },\r\n translation: {\r\n name: `${prefix}translation`,\r\n value: translation,\r\n },\r\n };\r\n } else {\r\n _fieldPayload = {\r\n ..._fieldPayload,\r\n [key]: {\r\n name: `${prefix}${key}`,\r\n value: fieldPayload[key],\r\n },\r\n };\r\n }\r\n }\r\n _fieldPayload.fieldName = type;\r\n result.push(_fieldPayload);\r\n }\r\n return result;\r\n};\r\n\r\n/**\r\n * split into words with punctuations\r\n * ·¥。?!,、;:“”()…《》『』【】—.〈〉〔〕「」‘’–\r\n * . ? ! , ; : \" ( ) - #$%&'*+/<=>@[\\\\]^_`{|}~\r\n * @param {string} val\r\n * @return {string[]}\r\n */\r\nconst getWords = (val) => {\r\n\treturn val.split(/[\\u00b7\\uffe5\\u3002\\uff1f\\uff01\\uff0c\\u3001\\uff1b\\uff1a\\u201c\\u201d\\uff08\\uff09\\u2026\\u300a\\u300b\\u300e\\u300f\\u3010\\u3011\\u2014\\uff0e\\u3008\\u3009\\u3014\\u3015\\u300c\\u300d\\u2018\\u2019\\u2013\\u0020-\\u002f\\u003a-\\u0040\\u005b-\\u0060\\u007b-\\u007e\\n\\t\\v\\f\\r]/g).filter((s) => s);\r\n};\r\n\r\n/**\r\n * check if the type is mp3\r\n * @param {string} type\r\n * @return {boolean}\r\n */\r\nconst isMp3 = (type) => {\r\n\treturn Constants.VALID_MP3_MIMES.includes(type);\r\n};\r\n\r\nconst isMp3File = async (file) => {\r\n const r = await fileTypeFromBlob(file);\r\n return r.ext === 'mp3';\r\n};\r\n\r\nconst getLocale = (lngCode) => {\r\n\r\n for(var i = 0; i < Constants.SUPPORTED_LANGUAGES.length; i++){\r\n if(Constants.SUPPORTED_LANGUAGES[i].code === lngCode){\r\n return Constants.SUPPORTED_LANGUAGES[i].culture;\r\n }\r\n }\r\n\r\n\treturn \"en-US\";\r\n};\r\n\r\nfunction countryCompareZH(a, b) {\r\n return pinyin.compare(a, b);\r\n}\r\n\r\nconst getCountries = () => {\r\n\tlet allCountries = countries.getNames(i18next.language, { select: \"official\" });\r\n\tallCountries = _.omit(allCountries, ['AX']);//AIC-9-450 暂时去掉Åland Islands的选项\r\n\r\n\tlet allOrderedCountries;\r\n\t// sort by alphabet\r\n\tif (i18next.language === 'zh') {\r\n\t\t// 中文按拼音排序\r\n\t\tallOrderedCountries = Object.values(allCountries).sort(countryCompareZH);\r\n\t} else {\r\n\t\t// 其它语言按字母排序\r\n\t\tallOrderedCountries = Object.values(allCountries).sort();\r\n\t}\r\n\r\n //由于排序之后,没有了国家代码的缩写,重新根据序排后的值,在设置一下缩写\r\n\tlet newOrderedCountries = {};\r\n\tallOrderedCountries.forEach((item, index) => {\r\n let countryCode = countries.getAlpha2Code(item, i18next.language)\r\n newOrderedCountries[countryCode] = item;\r\n });\r\n\r\n\treturn newOrderedCountries;\r\n //return allOrderedCountries;\r\n};\r\n\r\nconst getCountryName = (countryCode) =>{\r\n\treturn countries.getName(countryCode, i18next.language, {select: \"official\"});\r\n};\r\n\r\nconst downloadFile = (url, fileName) => {\r\n\taxios.get(url, {\r\n\t\tresponseType: 'blob',\r\n\t})\r\n\t.then((res) => {\r\n\t\tfileDownload(res.data, fileName)\r\n\t});\r\n};\r\n\r\nconst getLastFileName = (path) => {\r\n return path ? path.substring(path.lastIndexOf(\"\\/\")+1, path.length) : \"\";\r\n}\r\n\r\nfunction numberWithCommas(x) {\r\n return x && x.toString().replace(/\\B(?=(\\d{3})+(?!\\d))/g, \",\");\r\n}\r\n\r\n/**\r\n * Convert UTC To Local Time\r\n *\r\n * @param {*} date\r\n * @return {*}\r\n */\r\nconst convertToLocalTime = (date) => {\r\n\tif (!date) return date;\r\n\r\n\tconst timeZone = moment.tz.guess(true);\r\n\tconst localDate = moment.utc(moment(date).format(\"YYYY-MM-DDTHH:mm:ss.SSS\")).tz(timeZone).toDate();\r\n\treturn new Date(localDate);\r\n};\r\n\r\n//转成本地时间 进行格式化\r\nconst convertToLocalString = (date) => {\r\n\tconst localDate = convertToLocalTime(date);\r\n\treturn moment(localDate).format(\"YYYY-MM-DD HH:mm:ss\");\r\n};\r\n\r\n/**\r\n * Convert Local Time To UTC\r\n * @param {*} date\r\n * @returns\r\n */\r\nconst convertToUtcTime = (date) => {\r\n\tif (!date) return date;\r\n\r\n\tconst y = date.getUTCFullYear();\r\n\tconst m = date.getUTCMonth();\r\n\tconst d = date.getUTCDate();\r\n\tconst h= date.getUTCHours();\r\n\tconst M = date.getUTCMinutes();\r\n\tconst s = date.getUTCSeconds();\r\n\tconst utcDate = new Date(y, m, d, h, M, s);\r\n\r\n\treturn utcDate;\r\n};\r\n\r\nconst formatToUtcTime = (dateString) => {\r\n\t// const pattern = /^(\\d{4}).(\\d{1,2}).(\\d{1,2}).? (\\d{1,2}).(\\d{1,2}).?(\\d{1,2})?.?$/;\r\n\t// if (!pattern.test(dateString)) {\r\n\t// \treturn dateString;\r\n\t// }\r\n\r\n\t// const formatDate = new Date(dateString.replace(pattern, '$1/$2/$3 $4:$5:$6'));\r\n\tif(!moment(dateString).isValid()) return dateString;\r\n\treturn moment.utc(dateString).format(\"YYYY/MM/DD HH:mm:ss\");\r\n}\r\n\r\nconst addDays = (date, days) => {\r\n var result = new Date(date);\r\n result.setDate(date.getDate() + days);\r\n return result;\r\n}\r\n\r\n//\r\n// beijing: 8 (UTC +8), seattle: -8 (UTC -8)\r\n//\r\nfunction getTimeZone() {\r\n return 0 - new Date().getTimezoneOffset()/60;\r\n};\r\n\r\nfunction isNumberWithPunctuations(text) {\r\n\tlet ret = getWords(text).every(item => isNumeric(Number(item)));\r\n\treturn ret;\r\n};\r\n\r\nfunction splitByDigit(text, d, seperator = \"\") {\r\n\tif (!text || !isNumeric(d) || d === 0) return text;\r\n\r\n\tlet str = \"\";\r\n\tfor (let i = 1; i <= text.length; i++) {\r\n\t\tif (i % d === 1 && parseInt(i / d) === parseInt(text.length / d)) {\r\n\t\t\tstr += text.substr(i - 1);\r\n\t\t\tbreak;\r\n\t\t}\r\n\t\tif (i % d === 0) {\r\n\t\t\tstr += text.substr((parseInt(i / d) - 1) * d, d) + seperator;\r\n\t\t}\r\n\t}\r\n\treturn str.trim();\r\n}\r\n\r\nfunction displayPhone(phone) {\r\n\tlet codes = phone ? phone.split(\"-\") : [];\r\n\tlet phoneNumber = codes.length === 3 ? `${codes[0]}-${codes[2]}` : phone;\r\n\treturn phoneNumber;\r\n}\r\n\r\nfunction buildFilePathInUnits(serverPath, useLocalFilePath) {\r\n // if (useLocalFilePath) {\r\n // let localPath = \"\";\r\n // if (!serverPath || serverPath.length < 2) {\r\n // localPath = DocumentDirectoryPath + Constants.LOCAL_FILE_STORAGE.ROOT_PATH;\r\n // } else if (serverPath.indexOf(\"~/\") === 0) {\r\n // localPath = DocumentDirectoryPath + Constants.LOCAL_FILE_STORAGE.ROOT_PATH + serverPath.replace(Constants.FILE_STORAGE.ROOT_PATH, \"/\");\r\n // } else {\r\n // localPath = serverPath;\r\n // }\r\n // return `file://${localPath}`;\r\n // } else {\r\n if (!serverPath || serverPath.length < 2) {\r\n return fileServerPath();\r\n } else if (serverPath.indexOf(\"~/\") === 0) {\r\n return fileServerPath() + serverPath.substring(2);\r\n } else {\r\n return serverPath;\r\n }\r\n // }\r\n}\r\n\r\nfunction stripDeletedEmail(email) {\r\n if (email.startsWith('_DELETED_')) {\r\n let pos = email.indexOf('_', 9);\r\n if (pos >= 0) {\r\n return email.substring(pos + 1);\r\n }\r\n }\r\n return email;\r\n}\r\n\r\nfunction getLanguageCodes() {\r\n\tlet codes = [];\r\n\r\n\tfor(var i = 0; i < Constants.SUPPORTED_LANGUAGES.length; i++){\r\n\t\tcodes.push(Constants.SUPPORTED_LANGUAGES[i].code);\r\n }\r\n\r\n\treturn codes;\r\n}\r\n\r\nfunction existsSepcialContent(val){\r\n var nameReg = /[^\\a-\\z\\A-\\Z0-9\\u4E00-\\u9FA5\\.\\,\\?\\ \\_\\<\\>\\。\\,\\[\\]\\*\\&\\^\\%\\#\\@\\$\\¥\\……\\(\\)\\、\\-\\——\\=\\;\\@\\!\\!\\+\\$]/g;\r\n return nameReg.test(val);\r\n}\r\n\r\nfunction getImageWidthHeightWithPath(imgWidth, imgHeight, maxImgWidth)\r\n{\r\n let scale = 1;\r\n if(imgWidth > maxImgWidth){\r\n scale = maxImgWidth / imgWidth;\r\n imgWidth = parseInt(imgWidth * scale);\r\n }\r\n\r\n imgHeight = parseInt(imgHeight * scale);\r\n\r\n return {imgWidth, imgHeight}\r\n}\r\n\r\nfunction convertToAbsoluteUrl(serverPath) {\r\n // if (!serverPath || serverPath.length < 2) {\r\n // return DocumentDirectoryPath;\r\n // } else if (serverPath.indexOf(\"~/\") === 0) {\r\n // return DocumentDirectoryPath + serverPath.substring(1);\r\n // } else {\r\n // return serverPath;\r\n // }\r\n if(serverPath){ // webApp查看历史作业时,打开页面播放器的默认文件是空的\r\n serverPath = serverPath.replace(\"ü\", \"v\");\r\n if (!serverPath || serverPath.length < 2) {\r\n return fileServerPath();\r\n } else if (serverPath.indexOf(\"~/\") === 0) {\r\n return fileServerPath() + serverPath.substring(2);\r\n } else {\r\n return serverPath;\r\n }\r\n }\r\n return serverPath;\r\n}\r\n\r\nfunction buildWordAudioName(wordSyllables) {\r\n if (wordSyllables && !_.isEmpty(wordSyllables) && _.isArray(wordSyllables) && wordSyllables.length > 0) {\r\n let filteredSyllables = wordSyllables.filter(function (s) {\r\n return !isNullOrEmpty(s); // 由于儿化音的原因,er会与前面拼音连在一起,因此会出现空拼音的情况\r\n });\r\n return filteredSyllables.length > 0 ? filteredSyllables.join(\"-\") : \"\";\r\n }\r\n\r\n return \"\";\r\n}\r\n\r\nfunction hasChineseChars(val) {\r\n const regExp = /.*[\\u4e00-\\u9fa5]+.*$/;\r\n return regExp.test(val);\r\n};\r\n\r\nfunction getUnicodeOfChineseChar(chars, separator) {\r\n let result = \"\";\r\n chars = _.isArray(chars) ? chars.join(\"\") : chars.toString();\r\n for (let i = 0; i < chars.length; i++) {\r\n const ichar = chars.charCodeAt(i);\r\n if (ichar > 32 && ichar < 127) {\r\n result += chars[i].toString();\r\n } else {\r\n const hex = (\"0000\" + ichar.toString(16)).slice(-4);\r\n result += hex + separator;\r\n }\r\n }\r\n result = result.substr(0, result.length - separator.length);\r\n return result.toUpperCase();\r\n}\r\n\r\nconst getAvatarStr= (userName) => {\r\n let avatarStr = \"\";\r\n if(userName){\r\n if(userName.indexOf(' ')>0){\r\n let nameArray = _.split(userName, ' ', 2);\r\n avatarStr = nameArray[0].substr(0,1) + nameArray[1].substr(0,1);\r\n } else{\r\n avatarStr=userName.substr(0,1);\r\n }\r\n\r\n }\r\n return avatarStr.toUpperCase();\r\n};\r\n\r\n// e.g., [[],[],...]\r\nconst createTwoDimensionArray = length => {\r\n return Array(length).fill(null).map(() => []);\r\n};\r\n\r\n/**\r\n * get the number order string\r\n *\r\n * @param {int} i\r\n * @return {string}\r\n */\r\nconst getNumberStr= (i) => {\r\n let lan = i18next.language ? i18next.language : \"en\";\r\n if (!isNumeric(i) || i < 1) return \"\";\r\n if(lan !== \"en\") return i;\r\n\r\n switch(i) {\r\n case 1: return \"1st\";\r\n case 2: return \"2nd\";\r\n case 3: return \"3rd\";\r\n default: return i + \"th\";\r\n }\r\n};\r\n\r\nconst parseSpeechTestResultForWordComponent = (result, syllables) => {\r\n if (result && result.length > 0) {\r\n let letterHelperItem = [];\r\n _.each(result, (item, index) => {\r\n //match the index from words...\r\n let charHelperItem = { char: item.word, pinyin: syllables[index], colorKind: UnitStyle.blockAnswerWrongFont }; //其它的红色\r\n if (item.errorType.toLowerCase() === \"omission\") {\r\n charHelperItem.colorKind = UnitStyle.itemDefColor; //跳过的原色\r\n } else if (item.errorType.toLowerCase() === \"none\") {\r\n charHelperItem.colorKind = UnitStyle.blockAnswerRightFont; //正确的绿色\r\n }\r\n charHelperItem.accuracyScore = item.accuracyScore;\r\n charHelperItem.nextInsertedWord = item.nextInsertedWord;\r\n charHelperItem.previousInsertedWord = item.previousInsertedWord;\r\n\r\n letterHelperItem.push(charHelperItem);\r\n });\r\n return letterHelperItem;\r\n }\r\n return [];\r\n};\r\n\r\nconst parseSpeechTestResultForSentenceComponent = (words, result) => {\r\n //build the override word array, we need match the letter char and the index.\r\n let currentIndex = 0;\r\n let overrideWordArray = [];\r\n let overrideLetterHelperArray = [];\r\n _.each(words, (item, i) => {\r\n let wordItem = _.cloneDeep(item);\r\n let letterHelperItem = [];\r\n _.each(item.chars, (charItem, charIndex) => {\r\n //match the index from words...\r\n let charHelperItem = { char: charItem, colorKind: UnitStyle.blockAnswerWrongFont }; //其它的红色\r\n if (result[currentIndex].errorType.toLowerCase() === \"omission\") {\r\n charHelperItem.colorKind = UnitStyle.itemDefColor; //跳过的原色\r\n } else if (result[currentIndex].errorType.toLowerCase() === \"none\") {\r\n charHelperItem.colorKind = UnitStyle.blockAnswerRightFont; //正确的绿色\r\n }\r\n charHelperItem.accuracyScore = result[currentIndex].accuracyScore;\r\n charHelperItem.nextInsertedWord = item.nextInsertedWord;\r\n charHelperItem.previousInsertedWord = item.previousInsertedWord;\r\n letterHelperItem.push(charHelperItem);\r\n\r\n currentIndex += 1;\r\n });\r\n\r\n overrideWordArray.push(wordItem);\r\n overrideLetterHelperArray.push(letterHelperItem);\r\n });\r\n\r\n return { overrideWordArray: overrideWordArray, overrideLetterHelperArray: overrideLetterHelperArray };\r\n};\r\n\r\n/**\r\n * check if phrases are in the answer\r\n *\r\n * @param {[{}]|string} phrases\r\n * @param {string} answer\r\n * @param {function} failCallback\r\n * @returns {boolean}\r\n */\r\nconst phrasesInAnswer = (phrases, answer, failCallback) => {\r\n let newPhrases = _.cloneDeep(phrases);\r\n let newAnswer = _.clone(answer);\r\n\r\n newPhrases = _.isString(newPhrases) ? [newPhrases] : newPhrases;\r\n for (let i = 0; i < newPhrases.length; i++) {\r\n let phrase = _.isString(newPhrases[i]) ? newPhrases[i] : _.join(newPhrases[i].chars, \"\");\r\n let words = getWords(phrase);\r\n for (let j = 0; j < words.length; j++) {\r\n if (newAnswer.indexOf(words[j]) === -1) {\r\n if (failCallback)\r\n failCallback(phrase);\r\n return false;\r\n } else {\r\n newAnswer = newAnswer.replace(words[j], \"\");\r\n }\r\n }\r\n }\r\n return true;\r\n};\r\n\r\nfunction buildPathSegments(str) {\r\n if (isNullOrEmpty(str)) {\r\n return ['000', '000'];\r\n }\r\n\r\n var chunks = str.match(/.{1,3}/g);\r\n if (chunks.length < 2) {\r\n chunks = ['000', '000'];\r\n }\r\n\r\n return chunks;\r\n}\r\n\r\nconst isSubjective = unitType => {\r\n return unitType && unitType.startsWith(\"PS\");\r\n};\r\n\r\nconst removeSepcialUnicode = val => {\r\n if (_.isObjectLike(val)) {\r\n let returnObj = _.isArray(val) ? [] : {};\r\n _.forIn(val, (v, k) => {\r\n returnObj[k] = removeSepcialUnicode(v);\r\n });\r\n return returnObj;\r\n } else if (_.isString(val)) {\r\n\t // eslint-disable-next-line no-control-regex\r\n return val.replace(/[\\u0000-\\u0009|\\u000B-\\u000C|\\u000E-\\u001F|\\u007F-\\u00A0]/gi, \"\"); //跳过换行\\u000a \\u000d\r\n //return val.replace(/[\\u0000-\\u001F|\\u007F-\\u00A0]/gi, \"\");\r\n } else {\r\n return val;\r\n }\r\n};\r\n\r\nfunction getWeekDays(daysInWeek) {\r\n let selectedDays = [];\r\n let numPerWeek = 0;\r\n for (let index = 0; index < 7; index++) {\r\n if (daysInWeek & 2 ** index) {\r\n selectedDays.push(index);\r\n numPerWeek += 1;\r\n }\r\n }\r\n return { selectedDays, numPerWeek };\r\n}\r\n\r\n//手机端页面设置的大小,宽度要随着mobile/css/mobile.scss中mobileRoot的宽度改变\r\nfunction getContainerSize(){\r\n return {\r\n width: window.innerWidth > 960 ? 960 : window.innerWidth,\r\n height : isMobile() ? window.innerHeight : document.documentElement.clientHeight < 600 ? 600 : document.documentElement.clientHeight, //window.innerHeight\r\n }\r\n}\r\n\r\nfunction isMobile(){\r\n return window.innerWidth < 600;\r\n}\r\n\r\nfunction clearCache(successCallback, failCallback) {\r\n\tif (successCallback) {\r\n\t\tsuccessCallback();\r\n\t}\r\n}\r\n\r\nfunction isChineseCharacters(s) {\r\n return /[\\u3000-\\u303F\\u3400-\\u4DBF\\u4E00-\\u9FFF]/.test(s);\r\n}\r\n\r\nfunction formatTimeDuration(secs) {\r\n let hour = parseInt(secs / 3600);\r\n secs -= hour * 3600;\r\n let minute = parseInt(secs / 60);\r\n secs -= minute * 60;\r\n var stayTime = null;\r\n return (\"0\" + hour).slice(-2) + \":\" + (\"0\" + minute).slice(-2) + \":\" + (\"0\" + secs).slice(-2);\r\n}\r\n\r\nconst getRealUnitType = unitType => {\r\n const regex = /(\\w)S(\\w\\w\\d+)-O/;\r\n return unitType.replace(regex, \"$1O$2\").split('_')[0];\r\n};\r\n\r\nconst convertAnswerToJson = answer => {\r\n //重写tojson,来适配 答案是 array 但是也要带上uploadedfiles的情况\r\n if (Array.isArray(answer) && _.has(answer, \"uploadedFiles\")) {\r\n return JSON.stringify({\r\n type: \"aic_arrayanswer\",\r\n array: answer,\r\n uploadedFiles: answer.uploadedFiles,\r\n });\r\n } else {\r\n return JSON.stringify(answer);\r\n }\r\n};\r\n\r\nconst parseAnswerJson = answer => {\r\n //parse answer json,来适配 答案是 array 但是也要带上uploadedfiles的情况\r\n const parsedObj = _.isObject(answer) ? answer : JSON.parse(answer);\r\n\r\n if (_.isObject(parsedObj) && _.has(parsedObj, \"type\") && parsedObj.type === \"aic_arrayanswer\" && _.has(parsedObj, \"array\") && _.has(parsedObj, \"uploadedFiles\")) {\r\n const targetObjet = _.clone(parsedObj.array);\r\n targetObjet.uploadedFiles = parsedObj.uploadedFiles;\r\n return targetObjet;\r\n } else {\r\n return parsedObj;\r\n }\r\n};\r\n\r\nconst isImageAnswerType = answerType => {\r\n\treturn EnumHasFlag(answerType, Constants.AnswerTypeEnum.AnswerType_UploadImage);\r\n};\r\n\r\nconst isRecordAnswerType = answerType => {\r\n\treturn EnumHasFlag(answerType, Constants.AnswerTypeEnum.AnswerType_Audio);\r\n};\r\n\r\nconst isNotDefaultAnswerType = answerType => {\r\n\treturn isImageAnswerType(answerType) || isRecordAnswerType(answerType);\r\n};\r\n\r\nconst extractAllValuesIntoArray = obj => {\r\n const tmpList = [];\r\n _.each(obj, function (value, key) {\r\n if (_.isString(value)) {\r\n tmpList.push(value);\r\n } else {\r\n tmpList.push(...extractAllValuesIntoArray(value));\r\n }\r\n });\r\n return tmpList;\r\n};\r\n\r\nconst getI18nNSWithAllUnitView = uid => {\r\n\t//提前load所有unit的i18n namespace, 防止在添加单元时候的闪屏效果\r\n\tconst unitUIDObject = UIDs.components.ui; //unit preview\r\n\tconst unitFieldUIDObject = UIDs.screens.admin.unit; //unit fields\r\n\tconst unitUIDObjectNSList = extractAllValuesIntoArray(unitUIDObject);\r\n\tconst unitFieldUIDObjectNSList = extractAllValuesIntoArray(unitFieldUIDObject);\r\n\treturn [uid, ...unitUIDObjectNSList, ...unitFieldUIDObjectNSList];\r\n};\r\n\r\nconst convertNumToCircleNum = (num) => {\r\n /*\r\n //http://xahlee.info/comp/unicode_circled_numbers.html\r\n if (num === 0) {\r\n return \"\\u24EA\";\r\n }\r\n if (0 < num < 21) {\r\n const startHex = 0x2460;\r\n return String.fromCodePoint(startHex + num - 1);\r\n }\r\n if (20 < num < 51) {\r\n const startHex = 0x3251;\r\n return String.fromCodePoint(startHex + num - 21);\r\n }\r\n\r\n return num;\r\n */\r\n return '(' + num + ')';\r\n};\r\n\r\nfunction findContentPos(html) {\r\n for (let i = 0; i < html.length; ++i) {\r\n if (html[i] === '>') {\r\n return i + 1;\r\n }\r\n }\r\n return 0;\r\n}\r\n\r\nfunction insertHtmlContentPrefix(html, prefix) {\r\n if (prefix) {\r\n let pos = findContentPos(html);\r\n if (pos >= 0) {\r\n return html.substring(0, pos) + prefix + html.substring(pos);\r\n }\r\n }\r\n return html;\r\n}\r\n\r\n/**\r\n * 计算排列组合\r\n * https://github.com/SeregPie/lodash.permutations/blob/master/src/module.js\r\n * @param collection\r\n * @param n\r\n * @returns {[[]]|*[]}\r\n */\r\nfunction permutations(collection, n) {\r\n\tlet array = _.values(collection);\r\n\tif (array.length < n) {\r\n\t\treturn [];\r\n\t}\r\n\tlet recur = ((array, n) => {\r\n\t\tif (--n < 0) {\r\n\t\t\treturn [[]];\r\n\t\t}\r\n\t\tlet permutations = [];\r\n\t\tarray.forEach((value, index, array) => {\r\n\t\t\tarray = array.slice();\r\n\t\t\tarray.splice(index, 1);\r\n\t\t\trecur(array, n).forEach(permutation => {\r\n\t\t\t\tpermutation.unshift(value);\r\n\t\t\t\tpermutations.push(permutation);\r\n\t\t\t});\r\n\t\t});\r\n\t\treturn permutations;\r\n\t});\r\n\treturn recur(array, n);\r\n}\r\n\r\n/**\r\n * 计算所有排列组合情况\r\n * @param collection\r\n * @returns {*[]}\r\n */\r\nfunction permutationsAll(collection) {\r\n\tlet array = _.values(collection);\r\n\tlet returnArray = [];\r\n\tfor (let index = 0; index < array.length; index++) {\r\n\t\treturnArray = returnArray.concat(permutations(collection, index + 1));\r\n\t}\r\n\r\n\treturn returnArray;\r\n}\r\n\r\nfunction hideInitPageLoadingIcon() {\r\n\tconst onPageLoad = () => {\r\n\t\tconst fadeTarget = document.getElementById(\"loadingScreen\");\r\n\t\tfadeTarget.style.transition = \"0.8s\";\r\n\t\tfadeTarget.style.display = \"none\";\r\n\t};\r\n\r\n\t// Check if the page has already loaded\r\n\tif (document.readyState === \"complete\") {\r\n\t\tonPageLoad();\r\n\t} else {\r\n\t\twindow.addEventListener(\"load\", onPageLoad);\r\n\t\t// Remove the event listener when component unmounts\r\n\t\treturn () => window.removeEventListener(\"load\", onPageLoad);\r\n\t}\r\n}\r\n\r\nfunction getHtmlInnerTextLength(html) {\r\n if (!html) {\r\n return 0;\r\n }\r\n\r\n let parser = new DOMParser();\r\n let doc = parser.parseFromString(html, \"text/html\");\r\n if (!doc) {\r\n return 0;\r\n }\r\n\r\n if (!doc.body) {\r\n return 0;\r\n }\r\n\r\n if (!doc.body.innerText) {\r\n return 0;\r\n }\r\n\r\n return doc.body.innerText.length;\r\n}\r\n\r\nfunction isHtmlContentEmpty(html) {\r\n if (!html) {\r\n return true;\r\n }\r\n\r\n let parser = new DOMParser();\r\n let doc = parser.parseFromString(html, \"text/html\");\r\n if (!doc) {\r\n return true;\r\n }\r\n\r\n if (!doc.body) {\r\n return true;\r\n }\r\n\r\n if (doc.body.getElementsByTagName(\"img\").length > 0) {\r\n return false;\r\n }\r\n\r\n if (doc.body.getElementsByTagName(\"audio\").length > 0) {\r\n return false;\r\n }\r\n\r\n if (doc.body.getElementsByTagName(\"video\").length > 0) {\r\n return false;\r\n }\r\n\r\n if (doc.body.innerText && doc.body.innerText.length > 0) {\r\n return false;\r\n }\r\n\r\n return true;\r\n}\r\n\r\nfunction trimTailZero(num) {\r\n const s = String(num);\r\n const ss = s.split('.');\r\n if (ss[1]) {\r\n let count = 0;\r\n for (let i = ss[1].length - 1; i >= 0; --i) {\r\n if (ss[1][i] === '0') {\r\n count += 1;\r\n } else {\r\n break;\r\n }\r\n }\r\n\r\n if (count > 0) {\r\n if (count === ss[1].length) {\r\n return ss[0];\r\n }\r\n return ss[0] + '.' + ss[1].substring(0, ss[1].length - count);\r\n }\r\n }\r\n return s;\r\n}\r\n\r\n//老师批阅对话,朗读单元时用到的 获取用户所读内容解析结果的字数\r\nfunction getUserReadingAnswerTotalChars(answer) {\r\n if (answer && answer.chars) {\r\n if (!hasChineseChars(answer.chars)) {\r\n // 英语返回单词数量\r\n let codec = new EnglishTokenCodec();\r\n let chars = codec.encode(answer.chars);\r\n return _.join(_.filter(chars, s=>!IsNoNeedCompareChar(s)), \"\").length;\r\n }\r\n }\r\n\r\n let totalChars = answer && answer.chars ? _.join(_.filter(answer.chars, s=>!IsNoNeedCompareChar(s)), \"\").length : 0; //一句话总字数(不包括标点符号)\r\n return totalChars;\r\n}\r\n\r\n//更改词性的显示字母\r\nfunction getNewAttribute(attribute) {\r\n let letter = attribute.substring(0,1);\r\n let newAttribute = letter;\r\n switch(letter){\r\n case \"a\": //形容词\r\n newAttribute = \"adj\";\r\n break;\r\n case \"c\": //连词\r\n newAttribute = \"conj\";\r\n break;\r\n case \"d\": //副词\r\n newAttribute = \"adv\";\r\n break;\r\n case \"e\": //叹词\r\n newAttribute = \"interj\";\r\n break;\r\n case \"m\": //数词\r\n newAttribute = \"num\";\r\n break;\r\n case \"p\": //介词\r\n newAttribute = \"prep\";\r\n break;\r\n case \"r\": //代词\r\n newAttribute = \"pron\";\r\n break;\r\n case \"v\": //动词\r\n if(attribute.length > 1){\r\n if(attribute.substring(0,2) === \"vi\"){\r\n //不及物动词\r\n newAttribute = \"vi\";\r\n }\r\n }\r\n break;\r\n default:\r\n newAttribute = letter;\r\n break;\r\n }\r\n return newAttribute;\r\n}\r\n\r\n/*\r\n renderTemplate(\"hello {{aa}} {{bb}} world {{bb}} {{aa}}\",\r\n {\r\n \"{{aa}}\": (key) => (AA),\r\n \"{{bb}}\": (key) => (BB),\r\n })\r\n*/\r\nfunction renderTemplate(s, args, opts = {}) {\r\n let result = [s];\r\n let index = 0;\r\n for (let k in args) {\r\n for (let i = 0; i < result.length; ++i) {\r\n let r = result[i];\r\n if (_.isString(r)) {\r\n let ss = r.split(k);\r\n let rr = [];\r\n for (let j = 0; j < ss.length; ++j) {\r\n if (j > 0) {\r\n index += 1;\r\n let node = args[k](index);\r\n rr.push(node);\r\n }\r\n rr.push(ss[j]);\r\n }\r\n result[i] = rr;\r\n }\r\n }\r\n\r\n let temp = result;\r\n result = [];\r\n for (let i = 0; i < temp.length; ++i) {\r\n if (_.isArray(temp[i])) {\r\n result = result.concat(temp[i]);\r\n } else {\r\n result.push(temp[i]);\r\n }\r\n }\r\n }\r\n\r\n let out = [];\r\n for (let i = 0; i < result.length; ++i) {\r\n if (result[i]) {\r\n if (_.isString(result[i])) {\r\n index += 1;\r\n if (opts.textRender) {\r\n out.push(opts.textRender(index, result[i]));\r\n } else {\r\n out.push(({result[i]}));\r\n }\r\n } else {\r\n out.push(result[i]);\r\n }\r\n }\r\n }\r\n return out;\r\n}\r\n\r\nexport {\r\n\tconvertSnakeCaseKeysToCamelCase,\r\n\tconvertCamelCaseKeysToSnakeCase,\r\n\tconvertToPinyin,\r\n\tsplitPinyinToArray,\r\n\tgetCurrentLocale,\r\n\tisCNCulture,\r\n\tdecodeURL,\r\n\tsubString,\r\n\treplaceURLToHttps,\r\n\treplaceHttpToFitHttpsInHtml,\r\n\tgetSessionState,\r\n\tgetCurrentPartnerId,\r\n\tformatToHtmlString,\r\n\tconvertCamelCaseKeysToUpperSnakeCase,\r\n\tgetENNumSeqSuffix,\r\n\tgenerateUUID,\r\n\tisGuest,\r\n\tisLoggedIn,\r\n\tisAdmin,\r\n\tisOnCall,\r\n\tisTeacher,\r\n\tisAgent,\r\n\tisBookManager,\r\n\tisPartner,\r\n\tisEditorPartner,\r\n\tisManagerPartner,\r\n\tisAssistantPartner,\r\n\tisNumeric,\r\n\tisNullOrEmpty,\r\n\tisNullOrUndefined,\r\n\tconvertToFileServerPath,\r\n\tisCharacter,\r\n\trandomizeArray,\r\n\tgetAudioVirtualPathFromSyllable,\r\n\tlocalizeString,\r\n\tlocalizeStringByLanguage,\r\n\ttranslateChinese,\r\n\tbuildLocalizableString,\r\n\tisTwoWordsSame,\r\n\tcombineTranslation,\r\n\tcreateArrayWithNumbers,\r\n\tisChinese,\r\n\tisEnglish,\r\n\tisChineseWithPunctuation,\r\n hasChineseChars,\r\n\tcombineFieldsIntoSentences,\r\n\textractFieldsFromSentences,\r\n getWords,\r\n extractFieldsFromContentFieldFormData,\r\n combineContentField,\r\n extractFieldsFromContentFieldPayloads,\r\n\tisMp3,\r\n isMp3File,\r\n\tgetLocale,\r\n\tgetCountries,\r\n\tgetCountryName,\r\n\tdownloadFile,\r\n\tgetLastFileName,\r\n\textractFieldsFromParagraphs,\r\n\tcombineFieldsIntoParagraphs,\r\n\tisPunctuation,\r\n\tnumberWithCommas,\r\n\tcontainSpecialPunctuations,\r\n\tmapSentenceSyllablesIntoWords,\r\n\tcombineFieldsIntoDialog,\r\n\tconvertToLocalTime,\r\n\tconvertToLocalString,\r\n\tconvertToUtcTime,\r\n\tformatToUtcTime,\r\n\taddDays,\r\n\tgetTimeZone,\r\n\tisNumberWithPunctuations,\r\n\tcontainSentencePunc,\r\n\tsplitByDigit,\r\n\tdisplayPhone,\r\n\tbuildFilePathInUnits,\r\n stripDeletedEmail,\r\n\tgetLanguageCodes,\r\n\texistsSepcialContent,\r\n\tgetImageWidthHeightWithPath,\r\n\tconvertToAbsoluteUrl,\r\n\tbuildWordAudioName,\r\n\tgetUnicodeOfChineseChar,\r\n\tgetAvatarStr,\r\n\tisStudent,\r\n\tcreateTwoDimensionArray,\r\n\tgetNumberStr,\r\n\tparseSpeechTestResultForSentenceComponent,\r\n\tparseSpeechTestResultForWordComponent,\r\n\tphrasesInAnswer,\r\n\tbuildPathSegments,\r\n\tisSubjective,\r\n\tremoveSepcialUnicode,\r\n\tgetWeekDays,\r\n\tgetContainerSize,\r\n\tisMobile,\r\n\tclearCache,\r\n\tisChineseCharacters,\r\n\tformatTimeDuration,\r\n getRealUnitType,\r\n convertAnswerToJson,\r\n parseAnswerJson,\r\n\tisNotDefaultAnswerType,\r\n\tisImageAnswerType,\r\n\tlocalizeStringNoChinese,\r\n\tisRecordAnswerType,\r\n\textractAllValuesIntoArray,\r\n\tIsNoNeedCompareChar,\r\n\tconvertNumToCircleNum,\r\n getI18nNSWithAllUnitView,\r\n insertHtmlContentPrefix,\r\n replaceHtmlVirtualPath,\r\n\tpermutations,\r\n\tpermutationsAll,\r\n\thideInitPageLoadingIcon,\r\n\tgetHtmlInnerTextLength,\r\n isHtmlContentEmpty,\r\n trimTailZero,\r\n\tcombineTranslationForSentences,\r\n\tgetUserReadingAnswerTotalChars,\r\n getNewAttribute,\r\n renderTemplate\r\n};\r\n","/**\r\n * Created by JIA on 2020/7/11.\r\n * A Helper for Parse and Convert (back) the Mark Text.\r\n * For now, we DO NOT support nest mark(mark in mark content),\r\n * also if multi mark, you should use something like \\h\\u{content}\r\n * e.g.: This will be \\h{highlight} , and a input \\i{1|defaultValue}, a full line input \\i{f}\r\n * we would like support MULTI sub command for word mark\r\n * \\h -> highlight text ,in {} is the content\r\n * \\i -> input, in {1|defaultValue} the \"1\" is the default length, the \"defaultValue\" is the defaultValue of input, if the length is a \"f\" it will fill rest of current line\r\n * \\p -> bottom input, text that click can edit, will pop a bottom pop area,\r\n * in {1|defaultValue|placeholder} the \"1\" is the input row count, the \"defaultValue\" is the defaultValue of input, last part is input placeholder\r\n * \\u -> underline text, in {} is the content\r\n * \\b -> bold text, in {} is the content\r\n * \\b\\u -> bold and underline text\r\n * \\s -> skip text, in {} is the content\r\n * Also we will have a Line level Mark, this mark would apply to all text in this line, this mark should only at the start of the string and has a end flag |\r\n * we would like support MULTI sub command for line mark\r\n * \\l| -> align left, no need it is a default\r\n * \\c| -> c -> all text in this line will be center align\r\n * \\r| -> r -> all text in this line will be right align\r\n * \\c\\i| -> c & s -> center align AND indent at left\r\n * \\d{a} \\d{b} -> d means dialog with role A(left) or B(right)\r\n * Note:: For sentence command design, We will not allow | in setting part like the word command Input. to avoid the end | conflict. better use another flag like , or ;\r\n * e.g. \\c|this line will be centered\r\n */\r\nimport Constants from \"../config/Constants\";\r\nimport _ from \"lodash\";\r\nimport { isNumeric, isChineseCharacters, isPunctuation } from \"./Helper\";\r\nimport Colors from \"../mobile/theme/colors\";\r\nimport { StyleSheet } from \"react-native-web\";\r\n\r\n/**\r\n * the map from enum to mark of word\r\n * @type {{[p: string]: string, [p: number]: string}}\r\n */\r\nconst wordMarkMap = {\r\n [Constants.TEXT_MARK_TYPE.HIGHLIGHT]: \"h\",\r\n [Constants.TEXT_MARK_TYPE.INPUT]: \"i\",\r\n [Constants.TEXT_MARK_TYPE.UNDERLINE]: \"u\",\r\n [Constants.TEXT_MARK_TYPE.BOLD]: \"b\",\r\n [Constants.TEXT_MARK_TYPE.POP_INPUT]: \"p\",\r\n [Constants.TEXT_MARK_TYPE.ICON]: \"c\",\r\n [Constants.TEXT_MARK_TYPE.SKIP]: \"s\",\r\n [Constants.TEXT_MARK_TYPE.KEYWORD]: \"k\",\r\n [Constants.TEXT_MARK_TYPE.TYPO]: \"t\",\r\n [Constants.TEXT_MARK_TYPE.MISSPELT]: \"m\",\r\n [Constants.TEXT_MARK_TYPE.NUMBER]: \"n\",\r\n [Constants.TEXT_MARK_TYPE.ERRORLETTER]: \"e\",\r\n [Constants.TEXT_MARK_TYPE.WRITE_INPUT]: \"w\",\r\n [Constants.TEXT_MARK_TYPE.PLAIN_TEXT]: \"\",\r\n};\r\nconst wordMarkReMap = {\r\n h: Constants.TEXT_MARK_TYPE.HIGHLIGHT,\r\n i: Constants.TEXT_MARK_TYPE.INPUT,\r\n u: Constants.TEXT_MARK_TYPE.UNDERLINE,\r\n b: Constants.TEXT_MARK_TYPE.BOLD,\r\n p: Constants.TEXT_MARK_TYPE.POP_INPUT,\r\n c: Constants.TEXT_MARK_TYPE.ICON,\r\n s: Constants.TEXT_MARK_TYPE.SKIP,\r\n k: Constants.TEXT_MARK_TYPE.KEYWORD,\r\n t: Constants.TEXT_MARK_TYPE.TYPO,\r\n m: Constants.TEXT_MARK_TYPE.MISSPELT,\r\n n: Constants.TEXT_MARK_TYPE.NUMBER,\r\n e: Constants.TEXT_MARK_TYPE.ERRORLETTER,\r\n w: Constants.TEXT_MARK_TYPE.WRITE_INPUT,\r\n \"\": Constants.TEXT_MARK_TYPE.PLAIN_TEXT,\r\n};\r\n/**\r\n * the map from enum to mark of sentence\r\n * @type {{[p: string]: string, [p: number]: string}}\r\n */\r\nconst sentenceMarkMap = {\r\n [Constants.SENTENCE_MARK_TYPE.ALIGN_CENTER]: \"c\",\r\n [Constants.SENTENCE_MARK_TYPE.ALIGN_RIGHT]: \"r\",\r\n [Constants.SENTENCE_MARK_TYPE.LEFT_INDENT]: \"i\",\r\n [Constants.SENTENCE_MARK_TYPE.DIALOG]: \"d\",\r\n [Constants.SENTENCE_MARK_TYPE.PLAIN_TEXT]: \"\",\r\n};\r\nconst sentenceMarkReMap = {\r\n c: Constants.SENTENCE_MARK_TYPE.ALIGN_CENTER,\r\n r: Constants.SENTENCE_MARK_TYPE.ALIGN_RIGHT,\r\n i: Constants.SENTENCE_MARK_TYPE.LEFT_INDENT,\r\n d: Constants.SENTENCE_MARK_TYPE.DIALOG,\r\n \"\": Constants.SENTENCE_MARK_TYPE.PLAIN_TEXT,\r\n};\r\n\r\n/**\r\n * extract the settings from setting string for input(input/pop input)\r\n * @param settingString\r\n * @param defaultFirstNumber -> default width/ row\r\n * @param fitFirstNumber -> for input case we will fit the first number by the default value, for pop no need\r\n * @returns {{defaultValue: string, firstNumber: number, placeholder: string}}\r\n */\r\nconst extractInputSettings = (settingString, defaultFirstNumber, fitFirstNumber) => {\r\n const paramArray = settingString.split(\"|\");\r\n let initialCharCount = defaultFirstNumber;\r\n let defaultValue = \"\";\r\n let placeholder = \"\";\r\n let isInFitInitialCharCountCase = false;\r\n if (paramArray.length === 1) {\r\n defaultValue = paramArray[0];\r\n //set init count by the default value when not provided\r\n\r\n isInFitInitialCharCountCase = true;\r\n } else if (paramArray.length === 2) {\r\n //if you set string|string and the first part is NOT a number, we will fill it with default value and place holder\r\n if (paramArray[0] && isNumeric(paramArray[0])) {\r\n initialCharCount = paramArray[0];\r\n defaultValue = paramArray[1];\r\n } else {\r\n defaultValue = paramArray[0];\r\n placeholder = paramArray[1];\r\n //set init count by the default value when not provided\r\n isInFitInitialCharCountCase = true;\r\n }\r\n } else if (paramArray.length === 3) {\r\n defaultValue = paramArray[1];\r\n placeholder = paramArray[2];\r\n if (paramArray[0] && isNumeric(paramArray[0])) {\r\n initialCharCount = paramArray[0];\r\n } else {\r\n //set init count by the default value when not provided\r\n isInFitInitialCharCountCase = true;\r\n }\r\n }\r\n //now we can set some default values as right choice\r\n if (defaultValue.indexOf(\"@\") > -1) {\r\n const defaultValueArray = defaultValue.split(\"@\");\r\n if (defaultValue.length > 1) {\r\n defaultValue = defaultValueArray;\r\n }\r\n }\r\n\r\n const defaultValueToSHow = GetDefaultAnswerToShow(defaultValue);\r\n //set init count by the default value when not provided\r\n if (fitFirstNumber && isInFitInitialCharCountCase) {\r\n if (defaultValue && _.isString(defaultValue) && defaultValue.length > 0) {\r\n initialCharCount = defaultValueToSHow.length;\r\n } else if (placeholder && _.isString(placeholder) && placeholder.length > 0) {\r\n initialCharCount = placeholder.length;\r\n }\r\n }\r\n\r\n return {\r\n firstNumber: initialCharCount,\r\n defaultValue: defaultValue,\r\n placeholder: placeholder,\r\n defaultValueToShow: defaultValueToSHow,\r\n };\r\n};\r\n\r\n/**\r\n * a common method for detect user input is right or not\r\n * can fit the multi-right answer case\r\n * @param userInput\r\n * @param defaultValue\r\n * @returns {boolean}\r\n */\r\nconst IsAnswerRightForInput = (userInput, defaultValue) => {\r\n if (_.isString(defaultValue)) {\r\n return userInput === defaultValue;\r\n } else if (_.isArray(defaultValue)) {\r\n return defaultValue.indexOf(userInput) > -1;\r\n }\r\n\r\n return false;\r\n};\r\n\r\n/**\r\n * show first item if is array\r\n * @param defaultValue\r\n * @returns {*|string}\r\n * @constructor\r\n */\r\nconst GetDefaultAnswerToShow = (defaultValue) => {\r\n if (_.isString(defaultValue)) {\r\n return defaultValue;\r\n } else if (_.isArray(defaultValue)) {\r\n return defaultValue.length > 0 ? defaultValue[0] : \"\";\r\n }\r\n\r\n return defaultValue;\r\n};\r\n\r\n/**\r\n * extract settings from setting string for icon\r\n * @param {string} settingString\r\n * @returns {{name:string,size:number,color:string}}\r\n */\r\nconst extractIconSettings = (settingString) => {\r\n const paramArray = settingString.split(\"|\");\r\n let name = paramArray[0];\r\n if (!_.isEmpty(name)) {\r\n name =\r\n (_.startsWith(name, \"fa-\") ? \"\" : \"fa\") +\r\n name\r\n .split(\"-\")\r\n .map((str) => {\r\n if (str.length !== 0 && str !== \"fa\") {\r\n let k = str.charAt(0);\r\n k = k.toUpperCase();\r\n str = str.replace(str.charAt(0), k);\r\n }\r\n return str;\r\n })\r\n .join(\"\");\r\n }\r\n return {\r\n name: name,\r\n size: parseInt(paramArray[1] || \"25\", 0),\r\n color: paramArray[2],\r\n };\r\n};\r\n\r\n/**\r\n * extract settings from setting string for Number\r\n * @param {string} settingString\r\n * @returns {{chnText:string,numText:string}}\r\n */\r\nconst extractNumberSettings = (settingString) => {\r\n const paramArray = settingString.split(\"|\");\r\n return {\r\n chnText: paramArray.length > 1 ? paramArray[1] : paramArray[0],\r\n numText: paramArray[0],\r\n };\r\n};\r\n\r\n/**\r\n * extract settings from setting string for typo\r\n * @param {string} settingString\r\n * @returns {{rightText:string,errText:string}}\r\n */\r\nconst extractErrorLetterSettings = (settingString) => {\r\n const paramArray = settingString.split(\"|\");\r\n return {\r\n rightText: paramArray.length > 1 ? paramArray[1] : paramArray[0],\r\n errText: paramArray[0],\r\n };\r\n};\r\n\r\n/**\r\n * parse single part of a mark text\r\n * e.g. \\i\\b{Here is content}\r\n * command is the \"\\i\\b\"\r\n * content is \"Here is content\"\r\n * @param command\r\n * @param content\r\n * @returns {{text: string, type: number, setting: {}}|{text: string, type: number, setting: {defaultValue: string, initialCharCount: number}}|{text: *, type: number, setting: {}}}\r\n * @constructor\r\n */\r\nconst ParseMarkTextStrPart = (command, content) => {\r\n if (_.startsWith(command, \"\\\\\")) {\r\n let charStack = [];\r\n let commandArray = [];\r\n //for this one we only parse the part behind \\ and before any white space \\[Parse Part]{}\r\n for (let i = 0; i < command.length; i++) {\r\n const tmpChar = command[i];\r\n\r\n //push every command\r\n if (tmpChar === \"\\\\\") {\r\n if (charStack.length > 1) {\r\n const pop = _.trimStart(charStack.join(\"\"), \"\\\\\"); //delete left \\\r\n if (_.has(wordMarkReMap, pop)) {\r\n commandArray.push(wordMarkReMap[pop]);\r\n }\r\n\r\n //pop all\r\n charStack = [];\r\n }\r\n }\r\n\r\n charStack.push(tmpChar);\r\n }\r\n\r\n //the final part.\r\n if (charStack.length > 1) {\r\n const pop = _.trimStart(charStack.join(\"\"), \"\\\\\"); //delete left \\\r\n if (_.has(wordMarkReMap, pop)) {\r\n commandArray.push(wordMarkReMap[pop]);\r\n }\r\n\r\n //pop all\r\n charStack = [];\r\n }\r\n\r\n if (commandArray.length > 0) {\r\n //union all flags\r\n const flags = UnionAllEnum(commandArray);\r\n\r\n if (EnumHasFlag(flags, Constants.TEXT_MARK_TYPE.INPUT)) {\r\n let initialCharCount = 4;\r\n //{\r\n // initialCharCount: initialCharCount,\r\n // defaultValue: defaultValue,\r\n // placeholder: placeholder,\r\n // }\r\n const setting = extractInputSettings(content, initialCharCount, true);\r\n\r\n return {\r\n type: Constants.TEXT_MARK_TYPE.INPUT,\r\n setting: {\r\n initialCharCount: setting.firstNumber,\r\n defaultValue: setting.defaultValue,\r\n placeholder: setting.placeholder,\r\n },\r\n text: \"\",\r\n orgContent: content,\r\n };\r\n } else if (EnumHasFlag(flags, Constants.TEXT_MARK_TYPE.POP_INPUT)) {\r\n let initialRowCount = 1;\r\n //{\r\n // initialCharCount: initialCharCount,\r\n // defaultValue: defaultValue,\r\n // placeholder: placeholder,\r\n // }\r\n const setting = extractInputSettings(content, initialRowCount, false);\r\n\r\n return {\r\n type: flags, //you can have multiple for this since it is a text\r\n setting: {\r\n initialRowCount: setting.firstNumber,\r\n defaultValue: setting.defaultValue,\r\n placeholder: setting.placeholder,\r\n },\r\n text: setting.defaultValueToShow,\r\n orgContent: content,\r\n };\r\n } else if (EnumHasFlag(flags, Constants.TEXT_MARK_TYPE.WRITE_INPUT)) {\r\n let initialRowCount = 1;\r\n //{\r\n // initialCharCount: initialCharCount,\r\n // defaultValue: defaultValue,\r\n // placeholder: placeholder,\r\n // }\r\n const setting = extractInputSettings(content, initialRowCount, false);\r\n\r\n return {\r\n type: Constants.TEXT_MARK_TYPE.WRITE_INPUT,\r\n setting: {\r\n initialCharCount: setting.firstNumber,\r\n defaultValue: \"\", // TODO: use setting.defaultValue\r\n placeholder: \"\", // TODO: use setting.placeholder\r\n },\r\n text: \"\",\r\n orgContent: content,\r\n };\r\n } else if (EnumHasFlag(flags, Constants.TEXT_MARK_TYPE.ICON)) {\r\n const setting = extractIconSettings(content);\r\n\r\n return {\r\n type: flags,\r\n setting: setting,\r\n text: content,\r\n orgContent: content,\r\n };\r\n } else if (EnumHasFlag(flags, Constants.TEXT_MARK_TYPE.NUMBER)) {\r\n const setting = extractNumberSettings(content);\r\n\r\n return {\r\n type: flags,\r\n setting: setting,\r\n text: setting.numText,\r\n orgContent: content,\r\n };\r\n } else if (EnumHasFlag(flags, Constants.TEXT_MARK_TYPE.ERRORLETTER)) {\r\n const setting = extractErrorLetterSettings(content);\r\n\r\n return {\r\n type: flags,\r\n setting: setting,\r\n text: setting.errText,\r\n orgContent: content,\r\n };\r\n }\r\n\r\n return {\r\n type: flags,\r\n setting: {},\r\n text: content,\r\n orgContent: content,\r\n };\r\n }\r\n }\r\n\r\n return {\r\n type: Constants.TEXT_MARK_TYPE.PLAIN_TEXT,\r\n setting: {},\r\n text: `${command}{${content}}`,\r\n };\r\n};\r\n\r\n/**\r\n * if the last one of list is plaintext and we add a plaintext, we will merge these 2 unit to one\r\n * @param array\r\n * @param newItem\r\n */\r\nconst addWordToArray = (array, newItem) => {\r\n let needPush = true;\r\n if (array.length > 0 && newItem.type === Constants.TEXT_MARK_TYPE.PLAIN_TEXT) {\r\n let lastItem = array[array.length - 1];\r\n if (lastItem.type === Constants.TEXT_MARK_TYPE.PLAIN_TEXT) {\r\n lastItem.text = lastItem.text + newItem.text; //combine to last one\r\n needPush = false;\r\n }\r\n }\r\n if (needPush) {\r\n array.push(newItem);\r\n }\r\n};\r\n\r\n/**\r\n * we do not consider nest for now\r\n * use array as a stack to parse strings\r\n * @param text\r\n * @returns {[]}\r\n * @constructor\r\n */\r\nconst ParseMarkText = (text) => {\r\n let result = [];\r\n\r\n if (text && text.length > 0) {\r\n let helperStack = [];\r\n let commandStack = [];\r\n let contentStack = [];\r\n\r\n let pushCommandNow = false;\r\n let pushContentNow = false;\r\n for (let i = 0; i < text.length; i++) {\r\n let tmpChar = text[i];\r\n\r\n //start match and pop previous as a plain text\r\n //if is something like \\i{ , we got the start\r\n if (!pushCommandNow && tmpChar === \"\\\\\") {\r\n if (!pushContentNow && i !== 0) {\r\n //no need add an empty text node\r\n if (helperStack.length > 0) {\r\n addWordToArray(result, {\r\n type: Constants.TEXT_MARK_TYPE.PLAIN_TEXT,\r\n setting: {},\r\n text: helperStack.join(\"\"),\r\n });\r\n }\r\n\r\n commandStack = [];\r\n contentStack = [];\r\n helperStack = [];\r\n }\r\n pushCommandNow = true;\r\n }\r\n helperStack.push(tmpChar);\r\n\r\n //{ is the start of content\r\n if (pushCommandNow && tmpChar === \"{\") {\r\n //command part done, we will do parse if all are done\r\n // here we just go into content parse\r\n pushContentNow = true;\r\n pushCommandNow = false;\r\n }\r\n\r\n //} is end flag, for now we ignore the input, so we do not consider the content.\r\n if (pushContentNow && tmpChar === \"}\") {\r\n pushContentNow = false;\r\n\r\n //we are done here for one part\r\n //validate the command part? or ignore not valid one\r\n //\r\n const wordObj = ParseMarkTextStrPart(commandStack.join(\"\"), _.trimStart(contentStack.join(\"\"), \"{\"));\r\n helperStack = [];\r\n commandStack = [];\r\n contentStack = [];\r\n addWordToArray(result, wordObj);\r\n }\r\n\r\n if (pushCommandNow) {\r\n commandStack.push(tmpChar);\r\n }\r\n\r\n if (pushContentNow) {\r\n contentStack.push(tmpChar);\r\n }\r\n }\r\n\r\n if (helperStack.length > 0) {\r\n result.push({\r\n type: Constants.TEXT_MARK_TYPE.PLAIN_TEXT,\r\n setting: {},\r\n text: helperStack.join(\"\"),\r\n });\r\n }\r\n }\r\n return result;\r\n};\r\n\r\n/**\r\n * parse the whole sentence\r\n * @param sentence\r\n * @returns {{words: [], type: number, content: string}|{words: [], type: number, content: string}|{words: [], type: number, content: *}}\r\n * @constructor\r\n */\r\nconst ParseSentence = (sentence) => {\r\n if (sentence.indexOf(\"\\n\") > -1) {\r\n console.warn(\"Only support single line\");\r\n sentence = _.replace(sentence, /\\n/g, \"\"); //just replace \\n\r\n }\r\n const parseObj = ParseSentenceMarkAndLeftPart(sentence);\r\n\r\n if (!_.isEmpty(parseObj.content) && parseObj.content.length > 0) {\r\n //fill word\r\n parseObj.words = ParseMarkText(parseObj.content);\r\n }\r\n return parseObj;\r\n};\r\n\r\n/**\r\n * first parse the sentence level command and return the left part as content\r\n * Now will support setting/content for sentence level command, e.g: \\d{a}|dialog from a\r\n * we will ignore command behind content {} part, so {}| should be the last part of sentence command\r\n * Note:: For simplify we will only process the first {} part before |, and if the | is in right of \"{\" that not closed, we will treat it as invalid\r\n * @param sentence\r\n * @returns {{words: [], type: number, content: string, setting: Object}|{words: [], type: number, content: *, setting: Object}}\r\n * @constructor\r\n */\r\nconst ParseSentenceMarkAndLeftPart = (sentence) => {\r\n if (_.isEmpty(sentence) || !_.isString(sentence)) {\r\n return {\r\n type: Constants.SENTENCE_MARK_TYPE.PLAIN_TEXT,\r\n content: \"\",\r\n setting: {},\r\n words: [],\r\n };\r\n }\r\n\r\n if (_.startsWith(sentence, \"\\\\\")) {\r\n let charStack = [];\r\n let contentStack = [];\r\n let commandArray = [];\r\n let hasEndFlag = false;\r\n let invalid = false;\r\n let endFlagIndex = 0;\r\n let commandEnd = false;\r\n let contentStart = false;\r\n let contentClosed = false;\r\n //for this one we only parse the part behind \\ and before any white space \\[Parse Part]{}\r\n for (let i = 0; i < sentence.length; i++) {\r\n const tmpChar = sentence[i];\r\n\r\n //push every command\r\n if (!commandEnd && tmpChar === \"\\\\\") {\r\n if (charStack.length > 1) {\r\n const pop = _.trimStart(charStack.join(\"\"), \"\\\\\"); //delete left \\\r\n if (_.has(sentenceMarkReMap, pop)) {\r\n commandArray.push(sentenceMarkReMap[pop]);\r\n }\r\n\r\n //pop all\r\n charStack = [];\r\n }\r\n }\r\n //if we got { before |, there are a setting for command\r\n //if we have a { , we must have a } before } as pair!, otherwise we may in the word command input part. \\\\i{3|default value|place holder}\r\n if (tmpChar === \"{\") {\r\n contentStart = true;\r\n commandEnd = true;\r\n contentClosed = false;\r\n }\r\n if (contentStart && tmpChar === \"}\") {\r\n contentStart = false;\r\n contentClosed = true;\r\n }\r\n\r\n //there are end flag. we are done\r\n if (tmpChar === \"|\") {\r\n endFlagIndex = i;\r\n hasEndFlag = true;\r\n break;\r\n }\r\n\r\n if (contentStart && tmpChar !== \"{\") {\r\n contentStack.push(tmpChar);\r\n }\r\n\r\n if (!commandEnd) {\r\n charStack.push(tmpChar);\r\n }\r\n }\r\n\r\n if (contentStart && !contentClosed) {\r\n invalid = true;\r\n }\r\n\r\n if (!invalid) {\r\n if (charStack.length > 1) {\r\n const pop = _.trimStart(charStack.join(\"\"), \"\\\\\"); //delete left \\\r\n if (_.has(sentenceMarkReMap, pop)) {\r\n commandArray.push(sentenceMarkReMap[pop]);\r\n }\r\n }\r\n\r\n if (hasEndFlag && commandArray.length > 0) {\r\n const leftString = sentence.substr(endFlagIndex + 1);\r\n //union all flags\r\n const flags = UnionAllEnum(commandArray);\r\n const content = _.trimEnd(_.trimStart(contentStack.join(\"\"), \"{\"), \"}\");\r\n let setting = {};\r\n if (EnumHasFlag(flags, Constants.SENTENCE_MARK_TYPE.DIALOG)) {\r\n setting = {\r\n role: content, //a or b\r\n };\r\n }\r\n return {\r\n type: flags,\r\n setting: setting,\r\n content: leftString,\r\n words: [],\r\n };\r\n }\r\n }\r\n }\r\n\r\n return {\r\n type: Constants.SENTENCE_MARK_TYPE.PLAIN_TEXT,\r\n content: sentence,\r\n setting: {},\r\n words: [],\r\n };\r\n};\r\n\r\n/**\r\n * Union all enum\r\n * @param enumArray\r\n * @returns {number}\r\n * @constructor\r\n */\r\nconst UnionAllEnum = (enumArray) => {\r\n if (_.isArray(enumArray)) {\r\n //get distinct array\r\n const targetArray = _.uniq(enumArray);\r\n if (targetArray.length > 1) {\r\n let returnResult = targetArray[0];\r\n _.each(targetArray, (item, i) => {\r\n if (_.isNumber(item) && item !== 1 && i > 0) {\r\n // eslint-disable-next-line no-bitwise\r\n returnResult = returnResult | item;\r\n }\r\n });\r\n\r\n return returnResult;\r\n }\r\n }\r\n\r\n return enumArray.length > 0 ? enumArray[0] : 1;\r\n};\r\n\r\n/**\r\n * check the enum value contains flag\r\n * @param targetEnum\r\n * @param flagEnum\r\n * @returns {boolean|number}\r\n * @constructor\r\n */\r\nconst EnumHasFlag = (targetEnum, flagEnum) => {\r\n if (_.isNumber(targetEnum) && _.isNumber(flagEnum)) {\r\n // eslint-disable-next-line no-bitwise\r\n return targetEnum & flagEnum;\r\n }\r\n\r\n return false;\r\n};\r\n\r\n/**\r\n * Get the plain text from mark string, for piyin case use\r\n * @param sentence\r\n * @returns {string}\r\n * @constructor\r\n */\r\nconst GetPlainTextFromSentence = (sentence) => {\r\n const parsedSentence = ParseSentence(sentence);\r\n let result = \"\";\r\n _.each(parsedSentence.words, (item) => {\r\n if (EnumHasFlag(item.type, Constants.TEXT_MARK_TYPE.INPUT)) {\r\n //if have default value, we just add default value\r\n if (item.setting.defaultValue && item.setting.defaultValue.length > 0) {\r\n result += item.setting.defaultValue;\r\n } else {\r\n result += _.repeat(\" \", _.isNumber(item.setting.initialCharCount) ? item.setting.initialCharCount : 4); //should we add space for input\r\n }\r\n } else if (EnumHasFlag(item.type, Constants.TEXT_MARK_TYPE.POP_INPUT)) {\r\n //if have default value, we just add default value\r\n if (item.setting.defaultValue && item.setting.defaultValue.length > 0) {\r\n result += item.setting.defaultValue;\r\n }\r\n } else if (EnumHasFlag(item.type, Constants.TEXT_MARK_TYPE.WRITE_INPUT)) {\r\n //if have default value, we just add default value\r\n if (item.setting.defaultValue && item.setting.defaultValue.length > 0) {\r\n result += item.setting.defaultValue;\r\n }\r\n } else {\r\n result += item.text;\r\n }\r\n });\r\n return result;\r\n};\r\n\r\n/**\r\n * Get the plain text from mark string, for speech recognize case use\r\n * this will convert NUMBER type to the chnText\r\n * e.g. \\n{1989|一九八九} => 一九八九\r\n * \\n{1989|一千九百八十九} => 一千九百八十九\r\n * @param sentence\r\n * @returns {string}\r\n * @constructor\r\n */\r\nconst GetPlainTextFromSentenceForSpeechUse = (sentence) => {\r\n const parsedSentence = ParseSentence(sentence);\r\n let result = \"\";\r\n _.each(parsedSentence.words, (item) => {\r\n if (EnumHasFlag(item.type, Constants.TEXT_MARK_TYPE.INPUT)) {\r\n //if have default value, we just add default value\r\n if (item.setting.defaultValue && item.setting.defaultValue.length > 0) {\r\n result += item.setting.defaultValue;\r\n } else {\r\n result += _.repeat(\" \", _.isNumber(item.setting.initialCharCount) ? item.setting.initialCharCount : 4); //should we add space for input\r\n }\r\n } else if (EnumHasFlag(item.type, Constants.TEXT_MARK_TYPE.POP_INPUT)) {\r\n //if have default value, we just add default value\r\n if (item.setting.defaultValue && item.setting.defaultValue.length > 0) {\r\n result += item.setting.defaultValue;\r\n }\r\n } else if (EnumHasFlag(item.type, Constants.TEXT_MARK_TYPE.WRITE_INPUT)) {\r\n //if have default value, we just add default value\r\n if (item.setting.defaultValue && item.setting.defaultValue.length > 0) {\r\n result += item.setting.defaultValue;\r\n }\r\n } else if (EnumHasFlag(item.type, Constants.TEXT_MARK_TYPE.NUMBER)) {\r\n //if have default value, we just add default value\r\n if (item.setting.chnText) {\r\n result += item.setting.chnText;\r\n } else {\r\n result += item.text;\r\n }\r\n } else if (EnumHasFlag(item.type, Constants.TEXT_MARK_TYPE.ERRORLETTER)) {\r\n //if have default value, we just add default value\r\n if (item.setting.rightText) {\r\n result += item.setting.rightText;\r\n } else {\r\n result += item.text;\r\n }\r\n } else {\r\n result += item.text;\r\n }\r\n });\r\n return result;\r\n};\r\n\r\nconst GetPlainTextFromSentences = (sentences) => {\r\n if (!sentences) return \"\";\r\n let result = [];\r\n sentences.split(\"\\n\").forEach((sentence) => {\r\n result.push(GetPlainTextFromSentence(sentence));\r\n });\r\n return _.join(result, \"\\n\");\r\n};\r\n\r\n/**\r\n * Get the count of type from mark string\r\n * @param sentence\r\n * @param type\r\n * @returns {number}\r\n * @constructor\r\n */\r\nconst GetCountOfMarkTypeFromSentence = (sentence, type) => {\r\n const parsedSentence = ParseSentence(sentence);\r\n let result = 0;\r\n _.each(parsedSentence.words, (item) => {\r\n if (EnumHasFlag(item.type, type)) {\r\n result++;\r\n }\r\n });\r\n return result;\r\n};\r\n\r\nconst GetContentListOfMarkTypeFromSentence = (sentence, type) => {\r\n const parsedSentence = ParseSentence(sentence);\r\n let result = [];\r\n _.each(parsedSentence.words, (item) => {\r\n if (EnumHasFlag(item.type, type)) {\r\n result.push(item.text);\r\n }\r\n });\r\n return result;\r\n};\r\n\r\nconst GetWordsOfMarkTypeFromSentence = (sentence, type) => {\r\n const parsedSentence = ParseSentence(sentence);\r\n let result = [];\r\n _.each(parsedSentence.words, (item) => {\r\n if (EnumHasFlag(item.type, type)) {\r\n result.push(item);\r\n }\r\n });\r\n return result;\r\n};\r\n\r\n/**\r\n * count how many chinese chars in string, used for syllables check\r\n * @param sentence\r\n * @constructor\r\n */\r\nconst CountChineseCharsCountInString = (sentence) => {\r\n return _.filter(sentence, (item) => /^[\\u4E00-\\u9FA5]+$/.test(item)).length;\r\n};\r\n\r\n/**\r\n * convert type enum to string\r\n * consider the flag condition, so it may have more than one \\x\r\n * this can support sentence/word mark by the markDic you send in\r\n * @param markDic\r\n * @param type\r\n * @returns {string}\r\n * @constructor\r\n */\r\nconst ConvertMarkTypeToString = (markDic, type) => {\r\n let command = \"\";\r\n\r\n _.each(markDic, (val, key) => {\r\n key = parseInt(key);\r\n if (key !== Constants.TEXT_MARK_TYPE.PLAIN_TEXT && key !== Constants.SENTENCE_MARK_TYPE.PLAIN_TEXT) {\r\n if (EnumHasFlag(type, key)) {\r\n command += `\\\\${val}`;\r\n }\r\n }\r\n });\r\n\r\n return command;\r\n};\r\n\r\n/**\r\n * Convert parsed mark back to mark string\r\n * @param parsedWord\r\n * @returns {string|*}\r\n * @constructor\r\n */\r\nconst ConvertParsedWordToString = (parsedWord) => {\r\n const wordCommand = ConvertMarkTypeToString(wordMarkMap, parsedWord.type);\r\n if (parsedWord.type !== Constants.TEXT_MARK_TYPE.PLAIN_TEXT && wordCommand.length > 0) {\r\n return parsedWord.orgContent ? `${wordCommand}{${parsedWord.orgContent}}` : `${wordCommand}{${parsedWord.text}}`;\r\n } else {\r\n return parsedWord.text;\r\n }\r\n};\r\n\r\n/**\r\n * convert parsed sentence to mark text string\r\n * @param parsedSentence\r\n * @returns {string}\r\n * @constructor\r\n */\r\nconst ConvertParsedSentenceToString = (parsedSentence) => {\r\n const command = ConvertMarkTypeToString(sentenceMarkMap, parsedSentence.type);\r\n let sentenceContentPart = \"\";\r\n if (EnumHasFlag(parsedSentence.type, Constants.SENTENCE_MARK_TYPE.DIALOG)) {\r\n sentenceContentPart = `{${parsedSentence.role}}`;\r\n }\r\n let wordPart = _.map(parsedSentence.words, (item) => ConvertMarkTypeToString(item)).join(\"\");\r\n if (parsedSentence.type !== Constants.SENTENCE_MARK_TYPE.PLAIN_TEXT && command.length > 0) {\r\n return `${command}${sentenceContentPart}|${wordPart}`;\r\n } else {\r\n return wordPart;\r\n }\r\n};\r\n\r\n/**\r\n * get parsed setting for sentence\r\n * @param setting -> can be object(from parse) or JSON string(from server)\r\n * @returns {{}}\r\n * @constructor\r\n */\r\nconst ParseSetting = (setting) => {\r\n let parsedSetting = null;\r\n if (setting) {\r\n if (_.isString(setting) && setting !== \"\") {\r\n try {\r\n parsedSetting = JSON.parse(setting);\r\n } catch (e) {}\r\n } else if (_.isPlainObject(setting)) {\r\n parsedSetting = setting;\r\n }\r\n }\r\n return parsedSetting;\r\n};\r\n\r\n/**\r\n * get style from command for sentence\r\n * @param sentenceCommand\r\n * @param setting -> can be object(from parse) or JSON string(from server)\r\n * @returns {{\r\n * sentenceClassName: \"\",\r\n * }}\r\n * if return contains sentenceClassName we will put it as class for the sentence component since some style that contains : css can not be apply inline without a 3rd party lib\r\n * @constructor\r\n */\r\nconst GetSentenceStyleBySentenceCommand = (sentenceCommand, setting) => {\r\n const styles = {\r\n centerAligned: {\r\n textAlign: \"center\",\r\n alignSelf: \"center\",\r\n justifyContent: \"center\", //web seems default has flex row\r\n flex: 1,\r\n //margin: \"0 auto\",\r\n },\r\n rightAligned: {\r\n textAlign: \"right\",\r\n alignSelf: \"flex-end\",\r\n justifyContent: \"flex-end\",\r\n flex: 1,\r\n },\r\n leftIndent: {\r\n //paddingLeft: \"48px\",\r\n //textIndent: \"2em\",\r\n sentenceClassName: \"markLeftIndent\", // for sentence component, it use div inside so we must apply textIndent for the first child to make it work, we use class for this\r\n },\r\n dialogRole: {\r\n padding: \"12px\",\r\n borderRadius: \"5px\",\r\n maxWidth: \"240px\",\r\n flexWrap: \"wrap\",\r\n },\r\n dialogRoleA: {\r\n backgroundColor: \"#f2f2f2\",\r\n },\r\n dialogRoleB: {\r\n backgroundColor: \"#ffdfd5\",\r\n },\r\n };\r\n let sentenceStyle = {};\r\n let parsedSetting = ParseSetting(setting);\r\n\r\n if (_.isNumber(sentenceCommand)) {\r\n if (EnumHasFlag(sentenceCommand, Constants.SENTENCE_MARK_TYPE.ALIGN_CENTER)) {\r\n sentenceStyle = { ...sentenceStyle, ...styles.centerAligned };\r\n } else if (EnumHasFlag(sentenceCommand, Constants.SENTENCE_MARK_TYPE.ALIGN_RIGHT)) {\r\n sentenceStyle = { ...sentenceStyle, ...styles.rightAligned };\r\n }\r\n\r\n if (EnumHasFlag(sentenceCommand, Constants.SENTENCE_MARK_TYPE.LEFT_INDENT)) {\r\n sentenceStyle = { ...sentenceStyle, ...styles.leftIndent };\r\n }\r\n if (EnumHasFlag(sentenceCommand, Constants.SENTENCE_MARK_TYPE.DIALOG)) {\r\n sentenceStyle = { ...sentenceStyle, ...styles.dialogRole };\r\n if (parsedSetting && parsedSetting.role) {\r\n if (_.toLower(parsedSetting.role) === \"a\") {\r\n sentenceStyle = { ...sentenceStyle, ...styles.dialogRoleA };\r\n } else if (_.toLower(parsedSetting.role) === \"b\") {\r\n sentenceStyle = { ...sentenceStyle, ...styles.dialogRoleB };\r\n }\r\n }\r\n }\r\n }\r\n return sentenceStyle;\r\n};\r\n\r\n/**\r\n * get style from command for word\r\n * @param wordCommand\r\n * @returns {{}}\r\n * @constructor\r\n */\r\nconst GetWordStyleBySentenceCommand = (wordCommand) => {\r\n const styles = {\r\n bold: {\r\n fontWeight: \"bold\",\r\n },\r\n highlight: {\r\n color: \"#1785af\",\r\n },\r\n underline: {\r\n //note that || key === \"textDecorationLine\" is not look good since every char has a space\r\n // textDecorationLine: \"underline\",\r\n borderBottomWidth: 1,\r\n //borderBottomColor: \"#525f7f\", no need set color, it auto follow font color\r\n borderBottomStyle: \"solid\",\r\n },\r\n skip: {\r\n color: \"transparent\",\r\n width: \"0px\",\r\n display: \"none\",\r\n },\r\n keyword: {\r\n color: \"#1785af\",\r\n borderBottomWidth: 1,\r\n borderBottomStyle: \"solid\",\r\n },\r\n };\r\n let style = {};\r\n\r\n if (EnumHasFlag(wordCommand, Constants.TEXT_MARK_TYPE.BOLD)) {\r\n style = { ...style, ...styles.bold };\r\n }\r\n if (EnumHasFlag(wordCommand, Constants.TEXT_MARK_TYPE.HIGHLIGHT)) {\r\n style = { ...style, ...styles.highlight };\r\n }\r\n if (EnumHasFlag(wordCommand, Constants.TEXT_MARK_TYPE.UNDERLINE)) {\r\n style = { ...style, ...styles.underline };\r\n }\r\n if (EnumHasFlag(wordCommand, Constants.TEXT_MARK_TYPE.SKIP)) {\r\n style = { ...style, ...styles.skip };\r\n }\r\n if (EnumHasFlag(wordCommand, Constants.TEXT_MARK_TYPE.KEYWORD)) {\r\n style = { ...style, ...styles.keyword };\r\n }\r\n return style;\r\n};\r\n\r\n/**\r\n * 检查光标是否在关键词中\r\n * @param {string} text 文本\r\n * @param {number} pos 光标位置\r\n */\r\nconst cursorInMarks = (text, pos, marks) => {\r\n for (let i = pos; i >= 0; i--) {\r\n //从光标处向前查找'\\k{'\r\n if (text[i - 1] === \"}\") return false; //如果先找到'}', 退出循环\r\n if (text[i] === \"{\" && marks.includes(text[i - 1]) && text[i - 2] === \"\\\\\") {\r\n for (let j = pos; j < text.length; j++) {\r\n //从光标处向后查找'}'\r\n if (text[j] === \"\\\\\" && marks.includes(text[j + 1]) && text[j + 2] === \"{\") return false; //如果先找到'\\k{', 退出循环\r\n if (text[j] === \"}\") return true;\r\n }\r\n }\r\n }\r\n return false;\r\n};\r\n\r\n/**\r\n * 判断关键字是否在选中文本中\r\n * @param {string} text\r\n * @param {number} posStart\r\n * @param {number} posEnd\r\n */\r\nconst marksInSelection = (text, posStart, posEnd, marks) => {\r\n for (let i = posStart; i < posEnd; i++) {\r\n //在开始和结束光标之间查找'\\k{'\r\n let flag1 = text[i] === \"\\\\\" && marks.includes(text[i + 1]) && text[i + 2] === \"{\";\r\n let flag2 = marks.includes(text[i]) && text[i - 1] === \"\\\\\" && text[i + 1] === \"{\";\r\n let flag3 = text[i] === \"{\" && marks.includes(text[i - 1]) && text[i - 2] === \"\\\\\";\r\n let flag4 = text[i] === \"}\";\r\n if (flag1 || flag2 || flag3 || flag4) return true;\r\n }\r\n return false;\r\n};\r\n\r\n/**\r\n * 判断选中文本是否包含关键字\r\n *\r\n * @param {string} text 文本\r\n * @param {number} posStart 光标起始位置\r\n * @param {number} posEnd 光标结束位置\r\n */\r\nconst ContainMarksInSelection = (text, posStart, posEnd, marks = [\"k\", \"n\"]) => {\r\n text = (text || \"\").trim();\r\n if (!text) return false;\r\n\r\n let flag =\r\n cursorInMarks(text, posStart, marks) || //光标开始位置是否在关键词中间\r\n cursorInMarks(text, posEnd, marks) || //光标结束位置是否在关键词中间\r\n marksInSelection(text, posStart, posEnd, marks); //关键词是否在选中文本中间\r\n\r\n return flag;\r\n};\r\n\r\n/**\r\n * app specific\r\n * @param wordCommand\r\n * @returns {{}}\r\n * @constructor\r\n */\r\nconst GetWordContainerStyleBySentenceCommand = (wordCommand) => {\r\n const styles = StyleSheet.create({\r\n underline: {\r\n //note that || key === \"textDecorationLine\" is not look good since every char has a space\r\n // textDecorationLine: \"underline\",\r\n borderBottomWidth: 1,\r\n borderBottomColor: Colors.textPrimary,\r\n },\r\n underlineHighlight: {\r\n borderBottomColor: \"#1785af\",\r\n },\r\n keyword: {\r\n borderBottomWidth: 1,\r\n borderBottomColor: \"#1785af\",\r\n },\r\n });\r\n let commandContainerStyle = {};\r\n\r\n if (EnumHasFlag(wordCommand, Constants.TEXT_MARK_TYPE.UNDERLINE)) {\r\n commandContainerStyle = { ...commandContainerStyle, ...styles.underline };\r\n }\r\n\r\n if (EnumHasFlag(wordCommand, Constants.TEXT_MARK_TYPE.KEYWORD)) {\r\n commandContainerStyle = { ...commandContainerStyle, ...styles.keyword };\r\n }\r\n\r\n //handle the border line case\r\n if (EnumHasFlag(wordCommand, Constants.TEXT_MARK_TYPE.HIGHLIGHT) && EnumHasFlag(wordCommand, Constants.TEXT_MARK_TYPE.UNDERLINE)) {\r\n commandContainerStyle = { ...commandContainerStyle, ...styles.underlineHighlight };\r\n }\r\n return commandContainerStyle;\r\n};\r\n\r\n/**\r\n * Get the default text from mark string\r\n * @param sentence\r\n * @returns {string}\r\n * @constructor\r\n */\r\nconst GetDefaultTextFromSentence = (sentence) => {\r\n const parsedSentence = ParseSentence(sentence);\r\n let result = [];\r\n _.each(parsedSentence.words, (item) => {\r\n if (item.type === Constants.TEXT_MARK_TYPE.INPUT) {\r\n result.push(item.setting.defaultValue);\r\n }\r\n });\r\n return result;\r\n};\r\n\r\nconst JoinWords = (words, forEnLang = false) => {\r\n let result = \"\";\r\n let lastWord = null;\r\n // NOTE: 160是 \r\n const spaces = [\" \", \"\\n\", \"\\t\", String.fromCodePoint(160)];\r\n for (let i = 0; i < words.length; ++i) {\r\n let curWord = words[i];\r\n if (lastWord && curWord) {\r\n let lastFirstChar = lastWord[0];\r\n let lastChar = lastWord[lastWord.length - 1];\r\n let curChar = curWord[0];\r\n let curLastChar = curWord[curWord.length - 1];\r\n if (forEnLang) {\r\n // 英文每两个单词之间都加空格\r\n if (\r\n lastFirstChar === \"\\\\\" && lastChar === \"}\"\r\n ) {\r\n result += \" \";\r\n }else if (\r\n curChar === \"\\\\\" && (curLastChar === \"}\" || curWord.indexOf(\"}\") > -1)\r\n ) {\r\n result += \" \";\r\n } else if (\r\n spaces.indexOf(lastChar) >= 0 ||\r\n spaces.indexOf(curChar) >= 0 ||\r\n isChineseCharacters(lastChar) ||\r\n isPunctuation(lastChar) ||\r\n isChineseCharacters(curChar) ||\r\n isPunctuation(curChar)\r\n ) {\r\n } else {\r\n result += \" \";\r\n }\r\n } else {\r\n // 暂时简单处理, 除了中文和标点之间不加空格, 其它字母词间加空格\r\n if (\r\n spaces.indexOf(lastChar) >= 0 ||\r\n spaces.indexOf(curChar) >= 0 ||\r\n isChineseCharacters(lastChar) ||\r\n isPunctuation(lastChar) ||\r\n isChineseCharacters(curChar) ||\r\n isPunctuation(curChar)\r\n ) {\r\n } else {\r\n result += \" \";\r\n }\r\n }\r\n }\r\n result += curWord;\r\n lastWord = curWord;\r\n }\r\n return result;\r\n};\r\n\r\nfunction ReplaceEnglishKeyword(wordStr, keyText, markText) {\r\n let result = '';\r\n let cur = 0;\r\n let len = wordStr.length;\r\n const spaces = [\" \", \"\\n\", \"\\t\", String.fromCodePoint(160)];\r\n const englishReg = /[a-zA-Z]/;\r\n while (cur < len) {\r\n let i = wordStr.indexOf(keyText, cur);\r\n if (i >= 0) {\r\n result += wordStr.substring(cur, i);\r\n\r\n let prevChar = wordStr[i - 1];\r\n let nextChar = wordStr[i + keyText.length];\r\n // 单词前后是英文字母, 认为不是单独的单词, 不进行替换\r\n if ((prevChar && englishReg.test(prevChar)) || (nextChar && englishReg.test(nextChar))) {\r\n result += keyText;\r\n } else {\r\n result += markText;\r\n }\r\n\r\n cur = i + keyText.length;\r\n } else {\r\n result += wordStr.substring(cur, len);\r\n cur = len;\r\n }\r\n }\r\n return result;\r\n}\r\n\r\nexport {\r\n EnumHasFlag,\r\n ParseMarkText,\r\n ParseSentence,\r\n ParseSetting,\r\n UnionAllEnum,\r\n JoinWords,\r\n GetPlainTextFromSentence,\r\n GetPlainTextFromSentenceForSpeechUse,\r\n ConvertParsedSentenceToString,\r\n ConvertParsedWordToString,\r\n CountChineseCharsCountInString,\r\n GetSentenceStyleBySentenceCommand,\r\n GetWordStyleBySentenceCommand,\r\n GetCountOfMarkTypeFromSentence,\r\n GetContentListOfMarkTypeFromSentence,\r\n GetWordsOfMarkTypeFromSentence,\r\n IsAnswerRightForInput,\r\n GetDefaultAnswerToShow,\r\n ContainMarksInSelection,\r\n GetPlainTextFromSentences,\r\n GetWordContainerStyleBySentenceCommand,\r\n GetDefaultTextFromSentence,\r\n ReplaceEnglishKeyword,\r\n};\r\n","import StoreManager from \"../redux/\";\r\n\r\nconst SessionHelper = {\r\n\r\n get: (key) => {\r\n var store = StoreManager.getStore();\r\n return store.getState().session[key];\r\n },\r\n\r\n set: (key, value) => {\r\n var store = StoreManager.getStore();\r\n store.getState().session[key] = value;\r\n },\r\n\r\n\r\n isNetworkConnected(){\r\n return true;\r\n }\r\n};\r\n\r\nexport default SessionHelper;\r\n","import moment from \"moment\";\r\n\r\nimport DebugLogger from \"./DebugLogger\";\r\n\r\nconst createStorageEngine = key => ({\r\n load() {\r\n const jsonState = localStorage.getItem(key);\r\n return JSON.parse(jsonState) || {};\r\n },\r\n\r\n save(state) {\r\n const jsonState = JSON.stringify(state);\r\n return localStorage.setItem(key, jsonState);\r\n },\r\n delete() {\r\n return localStorage.removeItem(key);\r\n }\r\n});\r\n\r\nconst StorageEngine = key => ({\r\n load() {\r\n const now = moment().format(\"hh:mm:ss:SSS\");\r\n const groutTitle = `load from stroage, key = ${key} @ ${now} `;\r\n const res = createStorageEngine(key).load();\r\n DebugLogger.groupMessage(groutTitle, res);\r\n return res;\r\n },\r\n save(state) {\r\n const now = moment().format(\"h:mm:ss:SSS\");\r\n const groutTitle = `save into stroage, key = ${key} @ ${now} `;\r\n DebugLogger.groupMessage(groutTitle, state);\r\n\r\n return createStorageEngine(key).save(state);\r\n },\r\n delete() {\r\n const now = moment().format(\"h:mm:ss:SSS\");\r\n const groutTitle = `delete in stroage, key = ${key} @ ${now}`;\r\n DebugLogger.groupMessage(groutTitle, null);\r\n\r\n return createStorageEngine(key).delete();\r\n }\r\n});\r\n\r\n\r\nexport default StorageEngine;\r\n","import _ from \"lodash\";\r\nimport StoreManager from \"../redux/\";\r\nimport StorageEngine from \"./StorageEngine\";\r\nimport UnitEditService from \"../services/screens/admin/unit/EditService\"\r\nimport { Actions } from \"../redux/TaskRedux\"\r\n\r\n\r\nconst TASKQUEUE_STORAGE_KEY = \"TASKQUEUE_STORAGE_KEY\";\r\n\r\nconst TaskTypes = {\r\n SAVE_UNIT: \"SAVE_UNIT\",\r\n};\r\n\r\nconst TaskStates = {\r\n PENDING: \"pending\",\r\n PROCESSING: \"processing\",\r\n FAILED: \"failed\",\r\n};\r\n\r\n\r\nconst executeSaveUnitTaskAsync = (task) => {\r\n const dispatch = StoreManager.getStore().dispatch;\r\n\r\n return new Promise((resolve, reject) => {\r\n dispatch(Actions.executeTaskAsync(task));\r\n\r\n UnitEditService.saveUnit(task.data,\r\n response => {\r\n dispatch(Actions.executeTaskSuccess(task, response));\r\n resolve(response);\r\n },\r\n error => {\r\n dispatch(Actions.executeTaskFailure(task, error));\r\n reject(error);\r\n })\r\n });\r\n}\r\n\r\nclass TaskHelper {\r\n constructor(taskType) {\r\n //load task queue from storage\r\n let taskQueue = StorageEngine(TASKQUEUE_STORAGE_KEY).load();\r\n if (taskQueue) {\r\n _.each(this.taskQueue, (item) => {\r\n if (item) {\r\n item.isProcessing = false;\r\n }\r\n });\r\n this.taskQueueData = taskQueue;\r\n } else {\r\n this.taskQueueData = {}\r\n }\r\n }\r\n\r\n\r\n saveTaskIntoStorage = taskQueue => {\r\n //save into storage\r\n StorageEngine(TASKQUEUE_STORAGE_KEY).save(taskQueue);\r\n };\r\n\r\n /*task = {\r\n id: \"\",\r\n data: \"\",\r\n type: TaskTypes.SAVE_UNIT,\r\n state: TaskStates.PENDING,\r\n apiMethod: \"post\",\r\n error: \"\"\r\n }*/\r\n appendTask = task => {\r\n if (task) {\r\n if (_.has(task, \"type\")) {\r\n let taskType = task.type;\r\n if (_.has(this.taskQueueData, taskType)) {\r\n this.taskQueueData[taskType].queue.push(task);\r\n } else {\r\n this.taskQueueData[taskType] = {\r\n isProcessing: false,\r\n queue: [task]\r\n };\r\n }\r\n\r\n this.saveTaskIntoStorage(this.taskQueueData);\r\n }\r\n }\r\n };\r\n\r\n updateTask = (id, taskType, error) => {\r\n if (this.taskQueueData && this.taskQueueData[taskType]) {\r\n let targetQueue = _.cloneDeep(this.taskQueueData[taskType].queue);\r\n let taskIndex = targetQueue.findIndex(t => t.id === id);\r\n let newTask = _.cloneDeep(targetQueue[taskIndex]);\r\n newTask.error = error.message;\r\n newTask.state = TaskStates.FAILED;\r\n targetQueue.splice(taskIndex, 1, newTask);\r\n this.taskQueueData[taskType].queue = targetQueue;\r\n this.saveTaskIntoStorage(this.taskQueueData);\r\n }\r\n };\r\n\r\n removeTaskById = (id, taskType) => {\r\n if (this.taskQueueData && this.taskQueueData[taskType]) {\r\n let targetQueue = _.cloneDeep(this.taskQueueData[taskType].queue);\r\n targetQueue.findIndex(t => t.id === id);\r\n targetQueue.splice(targetQueue.findIndex(t => t.id === id), 1);\r\n this.taskQueueData[taskType].queue = targetQueue;\r\n this.saveTaskIntoStorage(this.taskQueueData);\r\n }\r\n };\r\n\r\n processTask = (task) => {\r\n switch (task.type) {\r\n case TaskTypes.SAVE_UNIT:\r\n return executeSaveUnitTaskAsync(task);\r\n\r\n default:\r\n break;\r\n }\r\n }\r\n\r\n getAllTask = () => {\r\n return StorageEngine(TASKQUEUE_STORAGE_KEY).load() || {};\r\n }\r\n\r\n clearAllTask = () => {\r\n this.taskQueueData = {};\r\n this.saveTaskIntoStorage(this.taskQueueData);\r\n };\r\n\r\n getPendingTaskByQueueType = queueType => {\r\n if (queueType && _.has(this.taskQueueData, queueType)) {\r\n if (this.taskQueueData[queueType] && this.taskQueueData[queueType].queue) {\r\n return _.cloneDeep(this.taskQueueData[queueType].queue);\r\n } else {\r\n return [];\r\n }\r\n } else {\r\n return [];\r\n }\r\n };\r\n\r\n isTaskQueueRunning = (taskType) => {\r\n if (taskType && _.has(this.taskQueueData, taskType)) {\r\n return this.taskQueueData[taskType].isProcessing;\r\n }\r\n return false;\r\n };\r\n\r\n getCurrentExecutingData = () => {\r\n return _.cloneDeep(this.taskQueueData);\r\n };\r\n}\r\n\r\nexport default new TaskHelper();\r\nexport { TaskTypes, TaskStates, TASKQUEUE_STORAGE_KEY }","/**\r\n * Created by JIA on 2023/1/6.\r\n * copied from https://github.com/ladjs/dayjs-with-plugins/blob/master/src/index.js\r\n */\r\nconst dayjs = require(\"dayjs\");\r\n\r\ndayjs.extend(require(\"dayjs/plugin/advancedFormat\"));\r\ndayjs.extend(require(\"dayjs/plugin/arraySupport\"));\r\ndayjs.extend(require(\"dayjs/plugin/badMutable\"));\r\ndayjs.extend(require(\"dayjs/plugin/buddhistEra\"));\r\ndayjs.extend(require(\"dayjs/plugin/calendar\"));\r\ndayjs.extend(require(\"dayjs/plugin/customParseFormat\"));\r\ndayjs.extend(require(\"dayjs/plugin/dayOfYear\"));\r\ndayjs.extend(require(\"dayjs/plugin/devHelper\"));\r\ndayjs.extend(require(\"dayjs/plugin/duration\"));\r\ndayjs.extend(require(\"dayjs/plugin/isBetween\"));\r\ndayjs.extend(require(\"dayjs/plugin/isLeapYear\"));\r\ndayjs.extend(require(\"dayjs/plugin/isMoment\"));\r\ndayjs.extend(require(\"dayjs/plugin/isSameOrAfter\"));\r\ndayjs.extend(require(\"dayjs/plugin/isSameOrBefore\"));\r\ndayjs.extend(require(\"dayjs/plugin/isToday\"));\r\ndayjs.extend(require(\"dayjs/plugin/isTomorrow\"));\r\ndayjs.extend(require(\"dayjs/plugin/isYesterday\"));\r\ndayjs.extend(require(\"dayjs/plugin/isoWeek\"));\r\ndayjs.extend(require(\"dayjs/plugin/isoWeeksInYear\"));\r\ndayjs.extend(require(\"dayjs/plugin/localeData\"));\r\ndayjs.extend(require(\"dayjs/plugin/localizedFormat\"));\r\ndayjs.extend(require(\"dayjs/plugin/minMax\"));\r\ndayjs.extend(require(\"dayjs/plugin/objectSupport\"));\r\ndayjs.extend(require(\"dayjs/plugin/pluralGetSet\"));\r\ndayjs.extend(require(\"dayjs/plugin/preParsePostFormat\"));\r\ndayjs.extend(require(\"dayjs/plugin/quarterOfYear\"));\r\ndayjs.extend(require(\"dayjs/plugin/relativeTime\"));\r\ndayjs.extend(require(\"dayjs/plugin/timezone\"));\r\ndayjs.extend(require(\"dayjs/plugin/toArray\"));\r\ndayjs.extend(require(\"dayjs/plugin/toObject\"));\r\ndayjs.extend(require(\"dayjs/plugin/updateLocale\"));\r\ndayjs.extend(require(\"dayjs/plugin/utc\"));\r\ndayjs.extend(require(\"dayjs/plugin/weekOfYear\"));\r\ndayjs.extend(require(\"dayjs/plugin/weekYear\"));\r\ndayjs.extend(require(\"dayjs/plugin/weekday\"));\r\n\r\n//support parse BuddhistEra, use BBBB and with locale th\r\ndayjs.extend((option, dayjsClass, dayjsFactory) => {\r\n const proto = dayjsClass.prototype;\r\n const oldParse = proto.parse;\r\n proto.parse = function(cfg) {\r\n const args = cfg.args;\r\n const format = args[1];\r\n\r\n if (typeof format === \"string\") {\r\n if (this.$L === \"th\" && (format.indexOf(\"BBBB\") > -1 || format.indexOf(\"BB\") > -1)) {\r\n cfg.args[1] = cfg.args[1].replace(/BBBB/, \"YYYY\");\r\n cfg.args[1] = cfg.args[1].replace(/BB/, \"YY\");\r\n oldParse.call(this, cfg);\r\n const yearBias = 543;\r\n this.year(this.year() - yearBias);\r\n } else {\r\n oldParse.call(this, cfg);\r\n }\r\n } else {\r\n oldParse.call(this, cfg);\r\n }\r\n };\r\n});\r\n\r\n// load locales\r\n// \r\n// dayjs.locale(require(\"dayjs/locale/af\"), null, true);\r\n// dayjs.locale(require(\"dayjs/locale/ar-dz\"), null, true);\r\n// dayjs.locale(require(\"dayjs/locale/am\"), null, true);\r\n// dayjs.locale(require(\"dayjs/locale/ar-iq\"), null, true);\r\n// dayjs.locale(require(\"dayjs/locale/ar-kw\"), null, true);\r\n// dayjs.locale(require(\"dayjs/locale/ar-ly\"), null, true);\r\n// dayjs.locale(require(\"dayjs/locale/ar-ma\"), null, true);\r\n// dayjs.locale(require(\"dayjs/locale/ar-sa\"), null, true);\r\n// dayjs.locale(require(\"dayjs/locale/ar-tn\"), null, true);\r\n// dayjs.locale(require(\"dayjs/locale/ar\"), null, true);\r\n// dayjs.locale(require(\"dayjs/locale/az\"), null, true);\r\n// dayjs.locale(require(\"dayjs/locale/be\"), null, true);\r\n// dayjs.locale(require(\"dayjs/locale/bg\"), null, true);\r\n// dayjs.locale(require(\"dayjs/locale/bm\"), null, true);\r\n// dayjs.locale(require(\"dayjs/locale/bi\"), null, true);\r\n// dayjs.locale(require(\"dayjs/locale/bn-bd\"), null, true);\r\n// dayjs.locale(require(\"dayjs/locale/bn\"), null, true);\r\n// dayjs.locale(require(\"dayjs/locale/bo\"), null, true);\r\n// dayjs.locale(require(\"dayjs/locale/br\"), null, true);\r\n// dayjs.locale(require(\"dayjs/locale/bs\"), null, true);\r\n// dayjs.locale(require(\"dayjs/locale/ca\"), null, true);\r\n// dayjs.locale(require(\"dayjs/locale/cs\"), null, true);\r\n// dayjs.locale(require(\"dayjs/locale/cv\"), null, true);\r\n// dayjs.locale(require(\"dayjs/locale/cy\"), null, true);\r\n// dayjs.locale(require(\"dayjs/locale/da\"), null, true);\r\n// dayjs.locale(require(\"dayjs/locale/de-at\"), null, true);\r\n// dayjs.locale(require(\"dayjs/locale/de-ch\"), null, true);\r\n// dayjs.locale(require(\"dayjs/locale/de\"), null, true);\r\n// dayjs.locale(require(\"dayjs/locale/dv\"), null, true);\r\n// dayjs.locale(require(\"dayjs/locale/el\"), null, true);\r\n// dayjs.locale(require(\"dayjs/locale/en-au\"), null, true);\r\n// dayjs.locale(require(\"dayjs/locale/en-ca\"), null, true);\r\n// dayjs.locale(require(\"dayjs/locale/en-gb\"), null, true);\r\n// dayjs.locale(require(\"dayjs/locale/en-ie\"), null, true);\r\n// dayjs.locale(require(\"dayjs/locale/en-il\"), null, true);\r\n// dayjs.locale(require(\"dayjs/locale/en-in\"), null, true);\r\n// dayjs.locale(require(\"dayjs/locale/en-nz\"), null, true);\r\n// dayjs.locale(require(\"dayjs/locale/en-sg\"), null, true);\r\n// dayjs.locale(require(\"dayjs/locale/en-tt\"), null, true);\r\n// dayjs.locale(require(\"dayjs/locale/eo\"), null, true);\r\ndayjs.locale(require(\"dayjs/locale/en\"), null, true);\r\n// dayjs.locale(require(\"dayjs/locale/es-do\"), null, true);\r\n// dayjs.locale(require(\"dayjs/locale/es-mx\"), null, true);\r\n// dayjs.locale(require(\"dayjs/locale/es\"), null, true);\r\n// dayjs.locale(require(\"dayjs/locale/et\"), null, true);\r\n// dayjs.locale(require(\"dayjs/locale/eu\"), null, true);\r\n// dayjs.locale(require(\"dayjs/locale/fa\"), null, true);\r\n// dayjs.locale(require(\"dayjs/locale/fi\"), null, true);\r\n// dayjs.locale(require(\"dayjs/locale/fo\"), null, true);\r\n// dayjs.locale(require(\"dayjs/locale/fr-ca\"), null, true);\r\n// dayjs.locale(require(\"dayjs/locale/fr-ch\"), null, true);\r\ndayjs.locale(require(\"dayjs/locale/fr\"), null, true);\r\n// dayjs.locale(require(\"dayjs/locale/fy\"), null, true);\r\n// dayjs.locale(require(\"dayjs/locale/ga\"), null, true);\r\n// dayjs.locale(require(\"dayjs/locale/gd\"), null, true);\r\n// dayjs.locale(require(\"dayjs/locale/gl\"), null, true);\r\n// dayjs.locale(require(\"dayjs/locale/gom-latn\"), null, true);\r\n// dayjs.locale(require(\"dayjs/locale/gu\"), null, true);\r\n// dayjs.locale(require(\"dayjs/locale/he\"), null, true);\r\n// dayjs.locale(require(\"dayjs/locale/hi\"), null, true);\r\n// dayjs.locale(require(\"dayjs/locale/hr\"), null, true);\r\n// dayjs.locale(require(\"dayjs/locale/ht\"), null, true);\r\n// dayjs.locale(require(\"dayjs/locale/hu\"), null, true);\r\n// dayjs.locale(require(\"dayjs/locale/hy-am\"), null, true);\r\n// dayjs.locale(require(\"dayjs/locale/id\"), null, true);\r\n// dayjs.locale(require(\"dayjs/locale/it-ch\"), null, true);\r\n// dayjs.locale(require(\"dayjs/locale/is\"), null, true);\r\ndayjs.locale(require(\"dayjs/locale/ja\"), null, true);\r\n// dayjs.locale(require(\"dayjs/locale/it\"), null, true);\r\n// dayjs.locale(require(\"dayjs/locale/ka\"), null, true);\r\n// dayjs.locale(require(\"dayjs/locale/jv\"), null, true);\r\n// dayjs.locale(require(\"dayjs/locale/kk\"), null, true);\r\n// dayjs.locale(require(\"dayjs/locale/km\"), null, true);\r\ndayjs.locale(require(\"dayjs/locale/ko\"), null, true);\r\n// dayjs.locale(require(\"dayjs/locale/kn\"), null, true);\r\n// dayjs.locale(require(\"dayjs/locale/ku\"), null, true);\r\n// dayjs.locale(require(\"dayjs/locale/ky\"), null, true);\r\n// dayjs.locale(require(\"dayjs/locale/lb\"), null, true);\r\n// dayjs.locale(require(\"dayjs/locale/lo\"), null, true);\r\n// dayjs.locale(require(\"dayjs/locale/lv\"), null, true);\r\n// dayjs.locale(require(\"dayjs/locale/lt\"), null, true);\r\n// dayjs.locale(require(\"dayjs/locale/me\"), null, true);\r\n// dayjs.locale(require(\"dayjs/locale/mi\"), null, true);\r\n// dayjs.locale(require(\"dayjs/locale/mk\"), null, true);\r\n// dayjs.locale(require(\"dayjs/locale/ml\"), null, true);\r\n// dayjs.locale(require(\"dayjs/locale/mn\"), null, true);\r\n// dayjs.locale(require(\"dayjs/locale/mr\"), null, true);\r\n// dayjs.locale(require(\"dayjs/locale/ms-my\"), null, true);\r\n// dayjs.locale(require(\"dayjs/locale/ms\"), null, true);\r\n// dayjs.locale(require(\"dayjs/locale/mt\"), null, true);\r\n// dayjs.locale(require(\"dayjs/locale/my\"), null, true);\r\n// dayjs.locale(require(\"dayjs/locale/nb\"), null, true);\r\n// dayjs.locale(require(\"dayjs/locale/ne\"), null, true);\r\n// dayjs.locale(require(\"dayjs/locale/nl-be\"), null, true);\r\n// dayjs.locale(require(\"dayjs/locale/nn\"), null, true);\r\n// dayjs.locale(require(\"dayjs/locale/nl\"), null, true);\r\n// dayjs.locale(require(\"dayjs/locale/pa-in\"), null, true);\r\n// dayjs.locale(require(\"dayjs/locale/oc-lnc\"), null, true);\r\n// dayjs.locale(require(\"dayjs/locale/pt-br\"), null, true);\r\n// dayjs.locale(require(\"dayjs/locale/pl\"), null, true);\r\ndayjs.locale(require(\"dayjs/locale/pt\"), null, true);\r\n// dayjs.locale(require(\"dayjs/locale/rn\"), null, true);\r\n// dayjs.locale(require(\"dayjs/locale/ro\"), null, true);\r\n// dayjs.locale(require(\"dayjs/locale/ru\"), null, true);\r\n// dayjs.locale(require(\"dayjs/locale/es-us\"), null, true);\r\n// dayjs.locale(require(\"dayjs/locale/es-pr\"), null, true);\r\n// dayjs.locale(require(\"dayjs/locale/sd\"), null, true);\r\n// dayjs.locale(require(\"dayjs/locale/si\"), null, true);\r\n// dayjs.locale(require(\"dayjs/locale/sk\"), null, true);\r\n// dayjs.locale(require(\"dayjs/locale/sl\"), null, true);\r\n// dayjs.locale(require(\"dayjs/locale/sq\"), null, true);\r\n// dayjs.locale(require(\"dayjs/locale/sr-cyrl\"), null, true);\r\n// dayjs.locale(require(\"dayjs/locale/sr\"), null, true);\r\n// dayjs.locale(require(\"dayjs/locale/ss\"), null, true);\r\n// dayjs.locale(require(\"dayjs/locale/sv-fi\"), null, true);\r\n// dayjs.locale(require(\"dayjs/locale/sv\"), null, true);\r\n// dayjs.locale(require(\"dayjs/locale/sw\"), null, true);\r\n// dayjs.locale(require(\"dayjs/locale/te\"), null, true);\r\n// dayjs.locale(require(\"dayjs/locale/ta\"), null, true);\r\n// dayjs.locale(require(\"dayjs/locale/tet\"), null, true);\r\n// dayjs.locale(require(\"dayjs/locale/tg\"), null, true);\r\n// dayjs.locale(require(\"dayjs/locale/tk\"), null, true);\r\n// dayjs.locale(require(\"dayjs/locale/tl-ph\"), null, true);\r\n// dayjs.locale(require(\"dayjs/locale/tlh\"), null, true);\r\ndayjs.locale(require(\"dayjs/locale/th\"), null, true);\r\n// dayjs.locale(require(\"dayjs/locale/tr\"), null, true);\r\n// dayjs.locale(require(\"dayjs/locale/tzl\"), null, true);\r\n// dayjs.locale(require(\"dayjs/locale/tzm-latn\"), null, true);\r\n// dayjs.locale(require(\"dayjs/locale/tzm\"), null, true);\r\n// dayjs.locale(require(\"dayjs/locale/ug-cn\"), null, true);\r\n// dayjs.locale(require(\"dayjs/locale/uk\"), null, true);\r\n// dayjs.locale(require(\"dayjs/locale/ur\"), null, true);\r\n// dayjs.locale(require(\"dayjs/locale/uz-latn\"), null, true);\r\n// dayjs.locale(require(\"dayjs/locale/uz\"), null, true);\r\n// dayjs.locale(require(\"dayjs/locale/vi\"), null, true);\r\n// dayjs.locale(require(\"dayjs/locale/x-pseudo\"), null, true);\r\n// dayjs.locale(require(\"dayjs/locale/yo\"), null, true);\r\ndayjs.locale(require(\"dayjs/locale/zh-cn\"), null, true);\r\n// dayjs.locale(require(\"dayjs/locale/zh-hk\"), null, true);\r\n// dayjs.locale(require(\"dayjs/locale/zh-tw\"), null, true);\r\ndayjs.locale(require(\"dayjs/locale/zh\"), null, true);\r\n// dayjs.locale(require(\"dayjs/locale/rw\"), null, true);\r\n// dayjs.locale(require(\"dayjs/locale/se\"), null, true);\r\n\r\nmodule.exports = dayjs;\r\n","//\"use strict\"\r\n\r\nconst syllables = require(\"./syllables.json\")\r\n\r\nconst normalizePinyin = pinyin => {\r\n pinyin = pinyin.normalize(\"NFD\").replace(/\\u0304|\\u0301|\\u030c|\\u0300/g, \"\")\r\n return pinyin.normalize(\"NFC\").replace(/(\\w|ü)[1-5]/gi, \"$1\").toLowerCase()\r\n}\r\n\r\nconst split = (text, everything=false, wrapInList=false) => {\r\n const list = []\r\n let prevWordFound = false\r\n let wordEnd = text.length\r\n while (wordEnd > 0) {\r\n let count = wordEnd\r\n let wordFound = false\r\n while (count > 0) {\r\n const word = text.substring(wordEnd - count, wordEnd)\r\n if (syllables.includes(normalizePinyin(word))) {\r\n wordFound = true\r\n list.push(wrapInList ? [word] : word)\r\n wordEnd -= (count - 1)\r\n break\r\n }\r\n count--\r\n }\r\n if (!wordFound && everything) {\r\n const prevIndex = list.length - 1\r\n const prevEntry = list[prevIndex]\r\n if (wordEnd === text.length || typeof prevEntry === \"object\" || prevWordFound) {\r\n list.push(text[wordEnd - 1])\r\n }\r\n else if (typeof prevEntry === \"string\") {\r\n list[prevIndex] = text[wordEnd - 1] + prevEntry\r\n }\r\n }\r\n wordEnd --\r\n prevWordFound = wordFound\r\n }\r\n return list.reverse()\r\n}\r\n\r\nconst isPinyinValid = (pinyin, normalize = true) => {\r\n if (pinyin === \"r\") {\r\n return true;\r\n }\r\n return syllables.includes(normalize ? normalizePinyin(pinyin) : pinyin);\r\n};\r\n\r\nexport default split\r\nexport { isPinyinValid };\r\n"],"names":["isNumeric","mathceil","Math","ceil","mathfloor","floor","bignumberError","tooManyDigits","POWS_TEN","bitFloor","n","i","coeffToString","a","s","z","j","length","r","LOG_BASE","charCodeAt","slice","compare","x","y","b","xc","c","yc","k","e","l","intCheck","min","max","name","Error","String","isOdd","toExponential","str","charAt","toFixedPoint","len","zs","clone","configObject","random53bitInt","toBaseOut","decimal","multiply","subtract","basePrefix","dotAfter","dotBefore","isInfinityOrNaN","whitespaceOrPlus","format","rm","id","c0","ne","ROUNDING_MODE","toString","TO_EXP_NEG","TO_EXP_POS","round","BigNumber","maxOrMin","args","method","m","call","normalise","pop","MAX_EXP","MIN_EXP","sd","d","ni","rd","out","pows10","push","valueOf","div","convertBase","parseNumeric","P","prototype","constructor","ONE","DECIMAL_PLACES","CRYPTO","MODULO_MODE","POW_PRECISION","FORMAT","prefix","groupSize","secondaryGroupSize","groupSeparator","decimalSeparator","fractionGroupSize","fractionGroupSeparator","suffix","ALPHABET","alphabetHasNormalDecimalDigits","v","alphabet","caseChanged","isNum","_isBigNumber","test","indexOf","replace","search","substring","DEBUG","toUpperCase","toLowerCase","ROUND_UP","ROUND_DOWN","ROUND_CEIL","ROUND_FLOOR","ROUND_HALF_UP","ROUND_HALF_DOWN","ROUND_HALF_EVEN","ROUND_HALF_CEIL","ROUND_HALF_FLOOR","EUCLID","config","set","obj","p","hasOwnProperty","crypto","getRandomValues","randomBytes","EXPONENTIAL_AT","RANGE","isBigNumber","maximum","arguments","lt","minimum","gt","random","dp","rand","Uint32Array","copy","splice","sum","plus","baseIn","baseOut","arrL","arr","reverse","sign","callerIsToString","pow","concat","base","temp","xlo","xhi","carry","klo","khi","aL","bL","cmp","more","prod","prodL","q","qc","rem","remL","rem0","xi","xL","yc0","yL","yz","NaN","isNaN","p1","p2","absoluteValue","abs","comparedTo","decimalPlaces","dividedBy","dividedToIntegerBy","idiv","exponentiatedBy","half","isModExp","nIsBig","nIsNeg","nIsOdd","isInteger","mod","times","integerValue","isEqualTo","eq","isFinite","isGreaterThan","isGreaterThanOrEqualTo","gte","isLessThan","isLessThanOrEqualTo","lte","isNegative","isPositive","isZero","minus","t","xLTy","xe","ye","BASE","modulo","multipliedBy","xcL","ycL","ylo","yhi","zc","negated","precision","shiftedBy","squareRoot","sqrt","rep","toFixed","toFormat","split","g1","g2","intPart","fractionPart","isNeg","intDigits","substr","RegExp","toFraction","md","d0","d1","d2","exp","n0","n1","toNumber","toPrecision","toJSON","Symbol","toStringTag","for","en","ord","v0","t0","Number","n10","n100","_arrayLikeToArray","arr2","Array","_arrayWithHoles","isArray","_arrayWithoutHoles","_assertThisInitialized","self","ReferenceError","_classCallCheck","instance","Constructor","TypeError","_defineProperties","target","props","descriptor","enumerable","configurable","writable","Object","defineProperty","key","_createClass","protoProps","staticProps","_createForOfIteratorHelperLoose","o","allowArrayLike","it","iterator","next","bind","done","value","_defineProperty","_extends","assign","source","apply","_getPrototypeOf","setPrototypeOf","getPrototypeOf","__proto__","_inherits","subClass","superClass","create","_inheritsLoose","_iterableToArray","iter","from","_iterableToArrayLimit","_i","_s","_e","_x","_r","_arr","_n","_d","err","_nonIterableRest","_nonIterableSpread","_objectSpread","ownKeys","keys","getOwnPropertySymbols","filter","sym","getOwnPropertyDescriptor","forEach","object","enumerableOnly","symbols","_objectSpread2","getOwnPropertyDescriptors","defineProperties","_objectWithoutProperties","excluded","sourceSymbolKeys","propertyIsEnumerable","_objectWithoutPropertiesLoose","sourceKeys","_possibleConstructorReturn","_setPrototypeOf","_slicedToArray","_toConsumableArray","_toPrimitive","input","hint","prim","toPrimitive","undefined","res","_toPropertyKey","arg","_typeof","_unsupportedIterableToArray","minLen","_array_like_to_array","_array_with_holes","_array_without_holes","_assert_this_initialized","asyncGeneratorStep","gen","resolve","reject","_next","_throw","info","error","Promise","then","_async_to_generator","fn","_class_call_check","_construct","Parent","Class","_is_native_reflect_construct","Reflect","construct","Function","_set_prototype_of","_create_class","_create_super","Derived","hasNativeReflectConstruct","result","Super","_get_prototype_of","NewTarget","_possible_constructor_return","_define_property","_get","property","receiver","get","_super_prop_base","desc","_is_native_function","sham","Proxy","Boolean","_iterable_to_array","_iterable_to_array_limit","_non_iterable_rest","_non_iterable_spread","_object_spread","_object_spread_props","_type_of","_sliced_to_array","_unsupported_iterable_to_array","_to_consumable_array","_wrap_native_super","_cache","Map","Wrapper","has","Signature","LocalFileHeader","DataDescriptor","CentralFileHeader","EndOfCentralDirectory","array","UINT16_LE","signature","UINT32_LE","compressedSize","uncompressedSize","LocalFileHeaderToken","flags","minVersion","dataDescriptor","compressedMethod","filenameLength","extraFieldLength","filename","EndOfCentralDirectoryRecordToken","nrOfThisDisk","nrOfThisDiskWithTheStart","nrOfEntriesOnThisDisk","nrOfEntriesOfSize","sizeOfCd","offsetOfStartOfCd","zipFileCommentLength","FileHeader","fileCommentLength","relativeOffsetOfLocalHeader","signatureToArray","signatureBytes","Uint8Array","debug","ddSignatureArray","eocdSignatureBytes","ZipHandler","tokenizer","syncBuffer","peekSignature","peekToken","randomReadTokenizer","chunkLength","buffer","fileInfo","size","subarray","readBuffer","position","pos","offset","eocdHeader","files","entry","supportsRandomAccess","findEndOfCentralDirectoryLocator","readToken","setPosition","StringType","ignore","fileCb","entries","stop","zipHeader","fileData","chunks","nextHeaderIndex","data","readCentralDirectory","iterateOverCentralDirectory","readLocalFileHeader","peekBuffer","mayBeLess","portion","bufferLength","portionLength","found","handler","inflate","mergeArrays","totalLength","reduce","acc","curr","mergedArray","chunk","fileHeader","cb","decompressSync","header","Deflate","Inflate","Gzip","Gunzip","Zlib","Unzlib","Decompress","AsyncDecompress","ZipPassThrough","ZipDeflate","AsyncZipDeflate","Zip","UnzipPassThrough","UnzipInflate","AsyncUnzipInflate","Unzip","ch2","wk","msg","transfer","w","Worker","URL","createObjectURL","Blob","type","onmessage","ed","$e$","stack","postMessage","u8","u16","Uint16Array","i32","Int32Array","fleb","fdeb","clim","freb","eb","start","_a","fl","revfl","_b","fd","revfd","rev","hMap","cd","mb","co","le","rvb","sv","r_1","flt","fdt","flm","flrm","fdm","fdrm","bits","bits16","shft","slc","ec","ind","nt","code","captureStackTrace","inflt","dat","st","buf","dict","sl","dl","f","noBuf","resize","noSt","cbuf","bl","nbuf","final","bt","lm","dm","lbt","dbt","tbts","hLit","hcLen","tl","ldt","clt","clb","clbmsk","clm","dt","lms","dms","lpos","add","dsym","end","shift","dend","wbits","wbits16","hTree","t2","et","sort","i0","i1","i2","maxSym","tr","mbt","ln","lft","cst","i2_1","i2_2","i2_3","lc","cl","cli","cln","cls","clen","cf","wfblk","wblk","syms","lf","df","li","bs","ll","dlt","mlb","ddt","mdb","_c","lclt","nlc","lcdt","ndc","lcfreq","lct","mlcb","nlcc","flen","ftlen","dtlen","llm","lcts","clct","dst","deo","dflt","lvl","plvl","pre","post","lst","opt","msk_1","prev","head","h","bs1_1","bs2_1","hsh","lc_1","wi","hv","imod","pimod","ch_1","dif","maxn","maxd","ml","nl","mmd","ti","pti","lin","din","crct","crc","cr","adler","dopt","dictionary","newDat","level","mem","log","mrg","wcln","fnStr","td","ks","lastIndexOf","st_1","spInd","ch","cbfs","wrkr","fns","init","td_1","bInflt","inflateSync","pbf","gopt","bDflt","deflateSync","gze","gzh","gzhl","wbytes","guze","gzs","gzl","zle","zlh","zule","zls","astrm","strm","ondata","ev","flush","astrmify","opts","ext","terminate","queuedSize","ondrain","b2","b4","b8","mtime","Date","now","flg","lv","StrmOpt","endLen","newBuf","AsyncDeflate","bts","AsyncInflate","raw","onmember","AsyncGunzip","_this","AsyncUnzlib","G","I","Z","te","TextEncoder","TextDecoder","tds","decode","stream","dutf8","fromCharCode","strToU8","latin1","ar_1","encode","ar","ai","DecodeUTF8","EncodeUTF8","dbf","z64e","exfl","ex","wzh","u","ce","extra","col","exl","os","flag","compression","getFullYear","getMonth","getDate","getHours","getMinutes","getSeconds","attrs","exf","wzf","process","file","fl_1","com","comment","hl_1","chks_1","pAll_1","chks_2","chk","tr_1","ind_1","uf_1","nxt","cl_1","dd","_","sz","onfile","toAdd","is","oc","this_1","state_1","_loop_2","sig","bf","cmp_1","fnl","es","d_1","chks_3","unshift","sc_1","su_1","fn_1","strFromU8","file_1","ctr","chks_4","originalSize","register","decoder","queueMicrotask","setTimeout","exports","axios","default","ramda","$asyncbind","trampoline","LazyThenable","_resolver","isThenable","EagerThenable","Thenable","EagerThenableFactory","nextTick","setImmediate","state","version","cond","isNil","identity","T","isWithin","curry","isInvalidConfig","anyPass","isEmpty","complement","propIs","propSatisfies","DEFAULT_HEADERS","Accept","DEFAULT_CONFIG","timeout","CLIENT_ERROR","SERVER_ERROR","TIMEOUT_ERROR","CONNECTION_ERROR","NETWORK_ERROR","UNKNOWN_ERROR","CANCEL_ERROR","TIMEOUT_ERROR_CODES","NODEJS_CONNECTION_ERROR_CODES","in200s","in400s","in500s","merge","headers","dissoc","E","O","url","params","isPromise","R","pipe","partial","N","request","catch","isCancel","response","status","duration","problem","ok","message","contains","__","always","axiosInstance","monitors","addMonitor","requestTransforms","asyncRequestTransforms","responseTransforms","addRequestTransform","addAsyncRequestTransform","addResponseTransform","setHeader","setHeaders","setBaseURL","defaults","baseURL","getBaseURL","delete","put","patch","link","unlink","NONE","module","utils","settle","buildURL","parseHeaders","isURLSameOrigin","createError","btoa","window","requestData","requestHeaders","isFormData","XMLHttpRequest","loadEvent","xDomain","XDomainRequest","onprogress","ontimeout","auth","username","password","Authorization","open","paramsSerializer","readyState","responseURL","responseHeaders","getAllResponseHeaders","responseType","responseText","statusText","onerror","isStandardBrowserEnv","cookies","xsrfValue","withCredentials","xsrfCookieName","read","xsrfHeaderName","val","setRequestHeader","onDownloadProgress","addEventListener","onUploadProgress","upload","cancelToken","promise","cancel","abort","send","createInstance","defaultConfig","context","Axios","extend","instanceConfig","Cancel","CancelToken","all","promises","spread","__CANCEL__","executor","resolvePromise","token","reason","throwIfRequested","interceptors","InterceptorManager","dispatchRequest","isAbsoluteURL","combineURLs","chain","interceptor","fulfilled","rejected","handlers","use","eject","enhanceError","throwIfCancellationRequested","transformData","transformRequest","common","adapter","transformResponse","validateStatus","setContentTypeIfUnset","isUndefined","normalizeHeaderName","PROTECTION_PREFIX","DEFAULT_CONTENT_TYPE","isArrayBuffer","isStream","isFile","isBlob","isArrayBufferView","isURLSearchParams","isObject","JSON","stringify","parse","maxContentLength","thisArg","chars","output","block","charCode","idx","map","encodeURIComponent","serializedParams","parts","isDate","toISOString","join","relativeURL","write","expires","path","domain","secure","cookie","isNumber","toGMTString","isString","document","match","decodeURIComponent","remove","originURL","resolveURL","msie","urlParsingNode","href","setAttribute","protocol","host","hash","hostname","port","pathname","navigator","userAgent","createElement","location","requestURL","parsed","normalizedName","line","trim","callback","isFunction","FormData","ArrayBuffer","isView","URLSearchParams","assignValue","root","freeExports","freeModule","freeGlobal","g","global","InvalidCharacterError","TABLE","REGEX_SPACE_CHARACTERS","base64","padding","bitStorage","bitCounter","define","amd","nodeType","hasOwn","classNames","classes","argType","inner","cssKeywords","reverseKeywords","convert","rgb","channels","labels","hsl","hsv","hwb","cmyk","xyz","lab","lch","hex","keyword","ansi16","ansi256","hcg","apple","gray","model","delta","rdif","gdif","bdif","diff","diffc","currentClosestKeyword","reversed","currentClosestDistance","Infinity","distance","t1","t3","smin","lmin","vmin","wh","ratio","y2","x2","z2","hr","atan2","PI","cos","sin","ansi","color","mult","string","integer","colorString","char","parseInt","grayscale","hue","chroma","pure","hi","mg","wrapRaw","wrappedFn","conversion","wrapRounded","conversions","route","models","fromModel","routes","routeModels","toModel","buildGraph","graph","parent","deriveBFS","queue","current","adjacents","adjacent","node","to","wrapConversion","cur","clamp","num","hexDouble","colorNames","swizzle","reverseNames","cs","hexAlpha","parseFloat","alpha","rgba","percent","hsla","hwba","getset","channel","modifier","limiters","maxfn","zeroArray","_slice","skippedModels","hashedModelKeys","Color","valpha","newArr","hashedKeys","limit","freeze","places","percentString","unitArray","unitObject","red","green","blue","saturationl","lightness","saturationv","white","wblack","cyan","magenta","yellow","black","rgbNumber","luminosity","lum","chan","contrast","color2","lum1","lum2","contrastRatio","isDark","yiq","isLight","negate","lighten","darken","saturate","desaturate","whiten","blacken","fade","opaquer","rotate","degrees","mix","mixinColor","weight","color1","w1","w2","newAlpha","assertArray","_invariant","condition","validateFormat","argIndex","framesToPop","_assign","emptyObject","MIXINS_KEY","ReactComponent","isValidElement","ReactNoopUpdateQueue","injectedMixins","ReactClassInterface","mixins","statics","propTypes","contextTypes","childContextTypes","getDefaultProps","getInitialState","getChildContext","render","componentWillMount","componentDidMount","componentWillReceiveProps","shouldComponentUpdate","componentWillUpdate","componentDidUpdate","componentWillUnmount","UNSAFE_componentWillMount","UNSAFE_componentWillReceiveProps","UNSAFE_componentWillUpdate","updateComponent","ReactClassStaticInterface","getDerivedStateFromProps","RESERVED_SPEC_KEYS","displayName","mixSpecIntoComponent","createMergedResultFunction","mixStaticSpecIntoComponent","specPolicy","autobind","spec","proto","autoBindPairs","__reactAutoBindPairs","isAlreadyDefined","validateMethodOverride","ReactClassMixin","isReactClassMethod","createChainedFunction","one","two","mergeIntoWithNoDuplicateKeys","IsMountedPreMixin","__isMounted","IsMountedPostMixin","replaceState","newState","updater","enqueueReplaceState","isMounted","ReactClassComponent","bindAutoBindMethods","component","pairs","autoBindKey","refs","initialState","methodName","defaultProps","React","factory","Component","assignStyle","style","baseValue","filterUniqueArray","index","DASH","MS","cache","toUpper","camelCaseProperty","camelProp","cssifyDeclaration","cssifyObject","css","hyphenateProperty","RE","isPrefixedProperty","isPrefixedValue","unitlessProperties","borderImageOutset","borderImageSlice","borderImageWidth","fontWeight","lineHeight","opacity","orphans","tabSize","widows","zIndex","zoom","fillOpacity","floodOpacity","stopOpacity","strokeDasharray","strokeDashoffset","strokeMiterlimit","strokeOpacity","strokeWidth","prefixedUnitlessProperties","prefixes","jLen","_property","isUnitlessProperty","normalizeProperty","resolveArrayValue","unprefixProperty","propertyWithoutPrefix","unprefixValue","_hyphenateStyleName2","__esModule","M","$","D","weekdays","months","ordinal","S","date","utcOffset","year","month","ms","Q","locale","$L","utc","$u","$x","$offset","$d","UTC","$y","$M","$D","$W","getDay","$H","$m","$s","$ms","getMilliseconds","$utils","isValid","isSame","startOf","endOf","isAfter","isBefore","$g","unix","getTime","toDate","$locale","weekStart","$set","daysInMonth","invalidDate","meridiem","YY","YYYY","MM","MMM","monthsShort","MMMM","DD","weekdaysMin","ddd","weekdaysShort","dddd","H","HH","hh","A","mm","ss","SSS","getTimezoneOffset","toUTCString","$i","isDayjs","Ls","globalThis","dayjs","dayjs_locale_en","yearStart","formats","LT","LTS","L","LL","LLL","LLLL","relativeTime","future","past","yy","dayjs_locale_fr","lll","llll","dayjs_locale_ja","dayjs_locale_ko","dayjs_locale_pt","dayjs_locale_th","dayjs_locale_zh_cn","dayjs_locale_zh","weekYear","isoWeekYear","week","isoWeek","offsetName","dayjs_plugin_advancedFormat","dayjs_plugin_arraySupport","dayjs_plugin_badMutable","dayjs_plugin_buddhistEra","lastDay","sameDay","nextDay","nextWeek","lastWeek","sameElse","calendar","dayjs_plugin_calendar","regex","parser","exec","afternoon","hours","zone","milliseconds","SS","Do","day","Y","ZZ","customParseFormat","parseTwoDigitYear","minutes","seconds","dayjs_plugin_customParseFormat","dayOfYear","dayjs_plugin_dayOfYear","dayjs_plugin_devHelper","years","days","weeks","$l","negative","parseFromMilliseconds","calMilliseconds","as","humanize","fromNow","asMilliseconds","asSeconds","asMinutes","asHours","asDays","asWeeks","asMonths","asYears","isDuration","dayjs_plugin_duration","isBetween","dayjs_plugin_isBetween","isLeapYear","dayjs_plugin_isLeapYear","isMoment","dayjs_plugin_isMoment","isSameOrAfter","dayjs_plugin_isSameOrAfter","isSameOrBefore","dayjs_plugin_isSameOrBefore","isToday","dayjs_plugin_isToday","isTomorrow","dayjs_plugin_isTomorrow","isYesterday","dayjs_plugin_isYesterday","isoWeekday","dayjs_plugin_isoWeek","isoWeeksInYear","dayjs_plugin_isoWeeksInYear","firstDayOfWeek","longDateFormat","localeData","dayjs_plugin_localeData","dayjs_plugin_localizedFormat","dayjs_plugin_minMax","hour","minute","second","millisecond","dayjs_plugin_objectSupport","dayjs_plugin_pluralGetSet","preparse","postformat","fromToBase","dayjs_plugin_preParsePostFormat","quarter","dayjs_plugin_quarterOfYear","thresholds","rounding","toNow","dayjs_plugin_relativeTime","timeZoneName","Intl","DateTimeFormat","hour12","timeZone","formatToParts","tz","toLocaleString","$timezone","guess","find","resolvedOptions","setDefault","dayjs_plugin_timezone","toArray","dayjs_plugin_toArray","toObject","dayjs_plugin_toObject","updateLocale","dayjs_plugin_updateLocale","local","getUTCFullYear","getUTCMonth","getUTCDate","getUTCDay","getUTCHours","getUTCMinutes","getUTCSeconds","getUTCMilliseconds","$localOffset","isUTC","dayjs_plugin_utc","dayjs_plugin_weekOfYear","dayjs_plugin_weekYear","weekday","dayjs_plugin_weekday","warned","formatArgs","useColors","namespace","lastC","save","namespaces","storage","setItem","removeItem","load","getItem","__nwjs","documentElement","WebkitAppearance","console","firebug","exception","table","localstorage","localStorage","destroy","warn","colors","formatters","env","createDebug","coerce","disable","names","skips","enable","ns","enabled","skip","matchesTemplate","prevTime","namespacesCache","enabledCache","enableOverride","formatter","logFn","selectColor","delimiter","newDebug","template","searchIndex","templateIndex","starIndex","matchIndex","diacriticsMap","replacementList","fileTypeFromBlob","blob","FileTypeParser","fromBlob","getFileTypeFromMimeType","mimeType","mime","_check","options","mask","id3HeaderLength","fileType","skipBytes","brandMajor","payload","typeId","jsonSize","readField","msb","ic","peekNumber","readElement","idField","lengthField","nrLength","idView","lengthView","DataView","getUintBE","children","element","rawValue","replaceAll","guid","MAX_SAFE_INTEGER","check","checkString","detectConfident","uint32SyncSafeToken","fromTokenizer","unzip","xmlContent","endPos","firstPos","includes","readTiffHeader","readChildren","re","some","char7","readChunkHeader","startsWith","readHeader","getUint32","json","tarHeaderChecksumMatches","detectors","customDetectors","detect","detectImprecise","tokenizerOptions","abortSignal","signal","initialPosition","detector","fromStream","close","sampleSize","detectedFileType","firstChunk","reader","transformStream","newStream","getReader","mode","fromBuffer","releaseLock","TransformStream","controller","enqueue","transform","pipeThrough","stringToBytes","bigEndian","tagId","numberOfTags","readTiffTag","ifdOffset","someId1","someId2","readTiffIFD","extensions","mimeTypes","character","arrayBuffer","readSum","createLocation","currentLocation","hashIndex","decodeURI","URIError","canUseDOM","getConfirmation","confirm","PopStateEvent","HashChangeEvent","getHistoryState","history","createBrowserHistory","ua","prompt","listeners","getDOMLocation","historyState","_ref","_window$location","basename","hasBasename","createKey","keyLength","setState","nextState","globalHistory","transitionManager","notifyListeners","action","handlePopState","event","handlePop","handleHashChange","forceNextPop","confirmTransitionTo","getUserConfirmation","revertPop","fromLocation","toLocation","toIndex","allKeys","fromIndex","go","createHref","checkDOMListeners","listenerCount","needsHashChangeListener","removeEventListener","canUseHistory","_props","_props$forceRefresh","forceRefresh","_props$getUserConfirm","_props$keyLength","setPrompt","nextPrompt","appendListener","isActive","listener","item","_len","_key","initialLocation","isBlocked","pushState","prevIndex","nextKeys","goBack","goForward","unblock","listen","unlisten","getStatics","reactIs","isMemo","MEMO_STATICS","TYPE_STATICS","REACT_STATICS","contextType","getDerivedStateFromError","KNOWN_STATICS","caller","callee","arity","ForwardRef","Memo","getOwnPropertyNames","objectPrototype","hoistNonReactStatics","targetComponent","sourceComponent","blacklist","inheritedComponent","targetStatics","sourceStatics","$$typeof","AsyncMode","ConcurrentMode","ContextConsumer","ContextProvider","Element","Fragment","Lazy","Portal","Profiler","StrictMode","Suspense","isAsyncMode","isConcurrentMode","isContextConsumer","isContextProvider","isElement","isForwardRef","isFragment","isLazy","isPortal","isProfiler","isStrictMode","isSuspense","isValidElementType","typeOf","attrRE","voidElements","tag","expectingValueAfterEquals","voidElement","pushTextNode","list","html","ignoreWhitespace","content","tagRE","parseTag","empty","components","byTag","inComponent","isOpen","isComment","nextChar","tagName","attrString","buff","doc","rootEl","uppercasePattern","msPattern","toHyphenLower","hName","formatNumericCode","filterNameBy","countryNameList","alpha3ToAlpha2","alpha3","alpha2ToAlpha3","alpha2","numericToAlpha3","numeric","numericToAlpha2","toAlpha2","codes","removeDiacritics","registeredLocales","invertedNumeric","codeInformation","registerLocale","countries","alpha3ToNumeric","alpha2ToNumeric","toAlpha3","getName","lang","select","nameList","codeMaps","getNames","localeList","newLocaleList","getAlpha2Code","normalizeString","areSimilar","codenames","mappedName","getSimpleAlpha2Code","getAlpha2Codes","getAlpha3Code","getSimpleAlpha3Code","getAlpha3Codes","getNumericCodes","langs","coerced","__awaiter","_arguments","generator","step","adopt","DEFAULT_I18N_OPTIONS","defaultLocale","availableLocales","defaultSeparator","placeholder","enableFallback","missingBehavior","missingTranslationPrefix","missingPlaceholder","_i18n","nullPlaceholder","i18n","transformKey","I18n","translations","_locale","_defaultLocale","_version","onChangeHandlers","translate","pluralize","localize","distanceOfTimeInWords","timeAgoInWords","pluralization","Pluralization","locales","Locales","missingTranslation","MissingTranslation","interpolate","store","propertyFlatList","hasChanged","newLocale","inferType","changed","scope","translation","translationOptions","createTranslationOptions","translationOption","isSet","lookup","count","baseScope","getFullScope","numberToCurrency","formatNumber","separator","significant","stripInsignificantZeros","numberToPercentage","localizedValue","toTime","parseDate","strftime","unit","camelCaseKeys","numberToHumanSize","units","billion","million","quadrillion","thousand","trillion","numberToHuman","roundMode","numberToDelimited","delimiterPattern","originalLocale","meridian","am","pm","override","newNode","strict","currentNode","currentType","overrideType","items","wordsConnector","twoWordsConnector","lastWordConnector","fromTime","runCallbacks","defaultLocaleResolver","currentLocale","registry","localeResolver","guessStrategy","_match","messageStrategy","fullScope","localeType","fullScopeWithLocale","errorStrategy","strategy","useMakePlural","pluralizer","includeZero","defaultPluralizer","defaultValue","RoundingModeMap","expandRoundMode","formattedNumber","originalNumber","raise","roundedNumber","roundNumber","whole","significand","positiveFormat","negativeFormat","computeSignificand","matches","left","right","digitToDelimiter","DECIMAL_UNITS","INVERTED_DECIMAL_UNITS","values","roundOptions","exponent","calculateExponent","log10","unitExponents","STORAGE_UNITS","keyEnd","numberToBeFormatted","smallerThanBase","setTime","$1","$2","$3","$6","$4","$5","missingKeys","PropertyFlatList","compute","getAbsolutePrecision","rounder","DEFAULT_OPTIONS","dayNames","abbrDayNames","monthNames","abbrMonthNames","AM_PM","weekDay","secs","mins","absOffsetHours","absOffsetMinutes","timezoneoffset","padStart","within","actual","fromInSeconds","toInSeconds","distanceInSeconds","distanceInMinutes","distanceInHours","distanceInHoursRounded","distanceInDaysRounded","distanceInMonthsRounded","includeSeconds","fromYear","toYear","leapYears","minutesWithOffset","distanceInYears","trunc","hasLocalStorageSupport","each","nameEQ","ca","cookie$1","lookupCookie","cacheUserLanguage","lng","cookieMinutes","cookieDomain","querystring","query","lookupQuerystring","testKey","lookupLocalStorage","navigator$1","languages","userLanguage","language","htmlTag","getAttribute","lookupFromPathIndex","subdomain","lookupFromSubdomainIndex","Browser","services","i18nOptions","prop","order","caches","excludeCacheFor","checkWhitelist","lookupFromUrlIndex","addDetector","detectionOrder","detected","detectorName","cleanedLng","languageUtils","formatLanguageCode","isWhitelisted","fallbacks","fallbackLng","_this2","cacheName","addQueryString","queryString","paramName","ajax","queryStringParams","ActiveXObject","crossDomain","overrideMimeType","customHeaders","onreadystatechange","Backend","loadPath","addPath","allowMultiLoading","parsePayload","fallbackValue","interpolator","loadUrl","xhr","ret","consoleLogger","_console","baseLogger","Logger","concreteLogger","logger","bool","forward","_len2","_key2","_len3","_key3","_len4","_key4","debugOnly","moduleName","EventEmitter","observers","events","cloned","observer","_cloned","defer","rej","makeString","getLastOfPath","Empty","cleanKey","canNotTraverseDeeper","setPath","newValue","_getLastOfPath","getPath","_getLastOfPath3","getPathWithDefaults","defaultData","regexEscape","_entityMap","escape","ResourceStore","_EventEmitter","defaultNS","keySeparator","silent","addNamespaces","emit","resources","addResource","deep","overwrite","pack","deepExtend","hasResourceBundle","removeNamespaces","getResource","compatibilityAPI","postProcessor","processors","addPostProcessor","handle","translator","processor","checkedLoadedFor","Translator","interpolation","resolved","nsSeparator","overloadTranslationOptionHandler","_this$extractFromKey","extractFromKey","appendNamespaceToCIMode","resUsedKey","usedKey","resExactUsedKey","exactUsedKey","resType","joinArrays","handleAsObjectInI18nFormat","i18nFormat","handleAsObject","noObject","returnObjects","returnedObjectHandler","resTypeIsArray","copy$$1","newKeyToUse","deepKey","extendTranslation","usedDefault","isValidLookup","pluralResolver","getSuffix","updateMissing","lngs","fallbackLngs","getFallbackCodes","saveMissingTo","toResolveHierarchy","missingKeyHandler","backendConnector","saveMissing","needsPluralHandling","saveMissingPlurals","plurals","getPluralFormsOfKey","appendNamespaceToMissingKey","parseMissingKeyHandler","_this3","usedLng","usedNS","skipInterpolation","defaultVariables","nest","reset","postProcess","postProcessorNames","applyPostProcessor","postProcessPassResolved","i18nResolved","_this4","extracted","fallbackNS","needsContextHandling","hasLoadedNamespace","pluralSuffix","possibleKey","finalKey","finalKeys","addLookupKeys","contextSeparator","returnNull","returnEmptyString","resourceStore","capitalize","LanguageUtil","whitelist","specialCases","lowerCaseLng","part","cleanCode","nonExplicitWhitelist","getLanguagePartFromCode","getScriptPartFromCode","fallbackCode","fallbackCodes","addCode","fc","sets","nr","_rulesPluralsTypes","PluralResolver","rules","numbers","rule","getRule","noAbs","simplifyPluralSuffix","returnSuffix","prepend","compatibilityJSON","Interpolator","escapeValue","iOpts","useRawValueToEscape","prefixEscaped","suffixEscaped","formatSeparator","unescapePrefix","unescapeSuffix","nestingPrefix","nestingPrefixEscaped","nestingSuffix","nestingSuffixEscaped","maxReplaces","alwaysFormat","resetRegExp","regexpStr","regexp","regexpUnescapeStr","regexpUnescape","nestingRegexpStr","nestingRegexp","replaces","regexSafe","handleFormat","missingInterpolationHandler","lastIndex","_temp","handleHasOptions","inheritedOptions","optionsString","clonedOptions","Connector","backend","toLoad","pending","toLoadLanguages","toLoadNamespaces","hasAllNamespaces","reload","loaded","errors","_name$split","_name$split2","addResourceBundle","_getLastOfPath2","what","fcName","tried","wait","queueLoad","loadOne","prepareLoading","_this5","_name$split3","_name$split4","isUpdate","transformOptions","noop","modules","external","isInitialized","isClone","initImmediate","createClassOnDemand","ClassOrObject","preload","pluralSeparator","partialBundledLanguages","tDescription","_format","lu","on","languageDetector","detection","storeApi","_this2$store","deferred","changeLanguage","usedCallback","append","isLanguageChangingTo","setLng","loadResources","async","fixedT","rest","_this$translator","_this$translator2","exists","_this6","lastLng","loadNotPending","loadState","_this7","preloaded","newLngs","rtlLngs","_this8","mergedOptions","membersToCopy","isLE","mLen","nBytes","eLen","eMax","eBias","nBits","rt","LN2","_interopRequireDefault","prefixMap","plugins","_isObject2","combinedValue","processedValue","_prefixValue2","_addNewValuesOnly2","_processedValue","_prefixProperty2","_cssInJsUtils","CROSS_FADE_REGEX","grab","grabbing","FILTER_REGEX","_isPrefixedValue2","alternativeProps","alternativePropList","marginBlockStart","marginBlockEnd","marginInlineStart","marginInlineEnd","paddingBlockStart","paddingBlockEnd","paddingInlineStart","paddingInlineEnd","borderBlockStart","borderBlockStartColor","borderBlockStartStyle","borderBlockStartWidth","borderBlockEnd","borderBlockEndColor","borderBlockEndStyle","borderBlockEndWidth","borderInlineStart","borderInlineStartColor","borderInlineStartStyle","borderInlineStartWidth","borderInlineEnd","borderInlineEndColor","borderInlineEndStyle","borderInlineEndWidth","properties","maxHeight","maxWidth","width","height","columnWidth","minWidth","minHeight","prefixValue","propertyPrefixMap","multipleValues","singleValue","dashCaseProperty","_hyphenateProperty2","pLen","prefixMapping","outputValue","webkitOutput","mozOutput","_capitalizeString2","transition","transitionProperty","WebkitTransition","WebkitTransitionProperty","MozTransition","MozTransitionProperty","Webkit","Moz","addIfNew","prefixProperties","requiredPrefixes","capitalizedProperty","prefixedProperty","metaData","bom","blobData","msSaveBlob","blobURL","webkitURL","tempLink","display","download","body","appendChild","click","removeChild","revokeObjectURL","symToStringTag","objectProto","nativeObjectToString","isOwn","unmasked","func","freeSelf","funcToString","funcProto","objectCtorString","Ctor","getNative","Hash","clear","hashClear","hashDelete","hashGet","hashHas","hashSet","ListCache","listCacheClear","listCacheDelete","listCacheGet","listCacheHas","listCacheSet","MapCache","mapCacheClear","mapCacheDelete","mapCacheGet","mapCacheHas","mapCacheSet","Set","SetCache","__data__","setCacheAdd","setCacheHas","Stack","stackClear","stackDelete","stackGet","stackHas","stackSet","WeakMap","predicate","resIndex","baseIndexOf","comparator","baseTimes","isArguments","isBuffer","isIndex","isTypedArray","inherited","isArr","isArg","isBuff","isType","skipIndexes","iteratee","accumulator","initAccum","reAsciiWord","baseAssignValue","objValue","baseForOwn","baseEach","createBaseEach","fromRight","arrayPush","isFlattenable","baseFlatten","depth","isStrict","baseFor","createBaseFor","castPath","toKey","keysFunc","symbolsFunc","getRawTag","objectToString","nullTag","undefinedTag","baseFindIndex","baseIsNaN","strictIndexOf","baseGetTag","isObjectLike","argsTag","baseIsEqualDeep","baseIsEqual","other","bitmask","customizer","equalArrays","equalByTag","equalObjects","getTag","COMPARE_PARTIAL_FLAG","arrayTag","objectTag","equalFunc","objIsArr","othIsArr","objTag","othTag","objIsObj","othIsObj","isSameTag","objIsWrapped","othIsWrapped","objUnwrapped","othUnwrapped","COMPARE_UNORDERED_FLAG","matchData","noCustomizer","srcValue","isMasked","toSource","reIsHostCtor","reIsNative","pattern","isLength","typedArrayTags","baseMatches","baseMatchesProperty","isPrototype","nativeKeys","isArrayLike","collection","baseIsMatch","getMatchData","matchesStrictComparable","hasIn","isKey","isStrictComparable","arrayMap","baseIteratee","baseMap","baseSortBy","baseUnary","compareMultiple","iteratees","orders","baseGet","nativeCeil","nativeMax","nativeFloor","overRest","setToString","nested","constant","baseSetToString","comparer","isSymbol","INFINITY","symbolProto","symbolToString","baseToString","arrayIncludes","arrayIncludesWith","cacheHas","createSet","setToArray","LARGE_ARRAY_SIZE","isCommon","seen","outer","computed","seenIndex","assignFunc","valsLength","stringToPath","baseSlice","valIsDefined","valIsNull","valIsReflexive","valIsSymbol","othIsDefined","othIsNull","othIsReflexive","othIsSymbol","compareAscending","objCriteria","criteria","othCriteria","ordersLength","coreJsData","eachFunc","iterable","castSlice","hasUnicode","stringToArray","strSymbols","chr","trailing","arrayReduce","deburr","words","reApos","baseRange","isIterateeCall","toFinite","basePropertyOf","deburrLetter","arraySome","isPartial","arrLength","othLength","stacked","arrValue","othValue","compared","othIndex","mapToArray","boolTag","dateTag","errorTag","mapTag","numberTag","regexpTag","setTag","stringTag","symbolTag","arrayBufferTag","dataViewTag","symbolValueOf","byteLength","byteOffset","getAllKeys","objProps","objLength","othProps","skipCtor","objCtor","othCtor","baseGetAllKeys","getSymbols","isKeyable","baseIsNative","getValue","arrayFilter","stubArray","nativeGetSymbols","symbol","promiseTag","weakMapTag","dataViewCtorString","mapCtorString","promiseCtorString","setCtorString","weakMapCtorString","ctorString","hasFunc","reHasUnicode","reHasUnicodeWord","nativeCreate","HASH_UNDEFINED","spreadableSymbol","isConcatSpreadable","reIsUint","reIsDeepProp","reIsPlainProp","uid","maskSrcKey","IE_PROTO","assocIndexOf","arrayProto","getMapData","memoize","MAX_MEMOIZE_SIZE","overArg","freeProcess","moduleExports","nodeUtil","types","require","binding","otherArgs","shortOut","HOT_COUNT","HOT_SPAN","nativeNow","lastCalled","stamp","remaining","asciiToArray","unicodeToArray","memoizeCapped","rePropName","reEscapeChar","number","quote","subString","rsAstralRange","rsCombo","rsFitz","rsNonAstral","rsRegional","rsSurrPair","reOptMod","rsModifier","rsOptVar","rsOptJoin","reUnicode","rsDingbatRange","rsLowerRange","rsUpperRange","rsBreakRange","rsMathOpRange","rsApos","rsBreak","rsLower","rsMisc","rsUpper","rsMiscLower","rsOptContrLower","rsOptContrUpper","rsEmoji","reUnicodeWord","rsMiscUpper","camelCase","createCompounder","word","upperFirst","reLatin","reComboMark","baseHas","hasPath","baseHasIn","baseIsArguments","stubFalse","Buffer","nativeIsBuffer","asyncTag","funcTag","genTag","proxyTag","baseIsTypedArray","nodeIsTypedArray","arrayLikeKeys","baseKeys","arrayAggregator","setter","arrayEach","arrayEachRight","arrayEvery","arrayReduceRight","baseFindKey","baseIndexOfWith","baseMean","baseSum","NAN","baseProperty","baseReduce","baseValues","charsStartIndex","chrSymbols","charsEndIndex","countHolders","escapeStringChar","stringEscapes","iteratorToArray","replaceHolders","PLACEHOLDER","setToPairs","strictLastIndexOf","stringSize","unicodeSize","asciiSize","FUNC_ERROR_TEXT","MAX_ARRAY_INDEX","MAX_ARRAY_LENGTH","HALF_MAX_ARRAY_LENGTH","wrapFlags","float32Tag","float64Tag","int8Tag","int16Tag","int32Tag","uint8Tag","uint8ClampedTag","uint16Tag","uint32Tag","reEmptyStringLeading","reEmptyStringMiddle","reEmptyStringTrailing","reEscapedHtml","reUnescapedHtml","reHasEscapedHtml","reHasUnescapedHtml","reEscape","reEvaluate","reInterpolate","reRegExpChar","reHasRegExpChar","reTrim","reTrimStart","reTrimEnd","reWrapComment","reWrapDetails","reSplitDetails","reEsTemplate","reFlags","reIsBadHex","reIsBinary","reIsOctal","reNoMatch","reUnescapedString","rsComboRange","rsComboMarksRange","rsVarRange","rsZWJ","rsSeq","rsSymbol","contextProps","templateCounter","cloneableTags","freeParseFloat","freeParseInt","nodeIsArrayBuffer","nodeIsDate","nodeIsMap","isMap","nodeIsRegExp","isRegExp","nodeIsSet","escapeHtmlChar","unescapeHtmlChar","runInContext","lodash","LazyWrapper","LodashWrapper","wrapperClone","baseLodash","chainAll","__wrapped__","__actions__","__chain__","__index__","__values__","__dir__","__filtered__","__iteratees__","__takeCount__","__views__","arraySample","baseRandom","arraySampleSize","shuffleSelf","copyArray","baseClamp","arrayShuffle","assignMergeValue","baseAggregator","baseAssign","copyObject","baseAt","paths","lower","upper","baseConforms","baseConformsTo","baseDelay","baseDifference","valuesLength","valuesIndex","baseEvery","baseExtremum","baseFill","toInteger","toLength","baseFilter","baseForOwnRight","baseForRight","baseFunctions","baseGt","baseIntersection","arrays","maxLength","nativeMin","baseInvoke","last","baseKeysIn","nativeKeysIn","isProto","baseLt","baseMergeDeep","srcIndex","mergeFunc","safeGet","isTyped","isArrayLikeObject","cloneBuffer","cloneTypedArray","isPlainObject","toPlainObject","initCloneObject","baseNth","baseOrderBy","getIteratee","basePickBy","baseSet","basePullAll","basePullAt","indexes","previous","baseUnset","nativeRandom","baseRepeat","baseRest","baseSample","baseSampleSize","baseShuffle","baseSome","baseSortedIndex","retHighest","low","high","mid","baseSortedIndexBy","valIsNaN","valIsUndefined","setLow","baseSortedUniq","baseToNumber","baseUniq","baseUpdate","baseWhile","isDrop","baseWrapperValue","actions","baseXor","baseZipObject","castArrayLikeObject","castFunction","isDeep","allocUnsafe","cloneArrayBuffer","cloneDataView","dataView","cloneRegExp","typedArray","composeArgs","partials","holders","isCurried","argsIndex","argsLength","holdersLength","leftIndex","leftLength","rangeLength","isUncurried","composeArgsRight","holdersIndex","rightIndex","rightLength","isNew","createAggregator","initializer","createAssigner","assigner","sources","guard","createBind","isBind","createCtor","wrapper","createCaseFirst","thisBinding","baseCreate","createCurry","getHolder","createRecurry","createHybrid","createFind","findIndexFunc","createFlow","flatRest","funcs","prereq","thru","getFuncName","funcName","getData","isLaziable","WRAP_ARY_FLAG","plant","createInverter","toIteratee","createMathOperation","operator","createOver","arrayFunc","createPadding","charsLength","createPartial","createRange","createRelationalOperation","wrapFunc","argPos","ary","isCurry","newHolders","newHoldersRight","newPartials","newPartialsRight","newData","setData","setWrapToString","createRound","nativeIsFinite","pair","createToPairs","createWrap","isBindKey","partialsRight","holdersRight","mergeData","WRAP_CURRY_FLAG","WRAP_BIND_FLAG","baseSetData","customDefaultsAssignIn","customOmitClone","flatten","getAllKeysIn","keysIn","getSymbolsIn","realNames","otherFunc","getView","transforms","getWrapDetails","initCloneArray","getPrototype","initCloneByTag","insertWrapDetails","details","srcBitmask","newBitmask","isCombo","reorder","oldArray","reference","updateWrapDetails","findIndex","findLastIndex","pullAll","nativeReverse","group","unzipWith","forEachRight","baseEachRight","before","debounce","lastArgs","lastThis","maxWait","timerId","lastCallTime","lastInvokeTime","leading","maxing","invokeFunc","time","shouldInvoke","timeSinceLastCall","timeSinceLastInvoke","timerExpired","timeWaiting","trailingEdge","debounced","isInvoking","clearTimeout","isError","symIterator","remainder","isBinary","pickBy","hasUnicodeWord","baseClone","mixin","methodNames","isFunc","pick","idCounter","oldDash","objectCreate","ctxClearTimeout","ctxNow","ctxSetTimeout","nativeJoin","nativeParseInt","metaMap","isFlat","isFull","subValue","templateSettings","baseMerge","isAry","isFlip","holdersCount","customDefaultsMerge","isMaskable","difference","differenceBy","differenceWith","intersection","mapped","intersectionBy","intersectionWith","pull","pullAt","union","unionBy","unionWith","without","xor","xorBy","xorWith","zip","zipWith","wrapperAt","countBy","findLast","groupBy","invokeMap","keyBy","partition","sortBy","bindKey","delay","resolver","memoized","Cache","overArgs","castRest","funcsLength","partialRight","rearg","assignIn","assignInWith","assignWith","at","propsIndex","propsLength","defaultsDeep","mergeWith","invert","invertBy","invoke","omit","CLONE_DEEP_FLAG","toPairs","toPairsIn","kebabCase","lowerCase","lowerFirst","snakeCase","startCase","upperCase","attempt","bindAll","flow","flowRight","methodOf","over","overEvery","overSome","range","rangeRight","augend","addend","divide","dividend","divisor","multiplier","multiplicand","minuend","subtrahend","after","castArray","compact","conforms","curryRight","drop","dropRight","dropRightWhile","dropWhile","fill","flatMap","flatMapDeep","flatMapDepth","flattenDeep","flattenDepth","flip","fromPairs","functions","functionsIn","initial","mapKeys","mapValues","matchesProperty","nthArg","omitBy","once","orderBy","propertyOf","pullAllBy","pullAllWith","setWith","shuffle","sortedUniq","sortedUniqBy","tail","take","takeRight","takeRightWhile","takeWhile","tap","throttle","toPath","isArrLike","unary","uniq","uniqBy","uniqWith","unset","update","updateWith","valuesIn","wrap","zipObject","zipObjectDeep","entriesIn","extendWith","cloneDeep","cloneDeepWith","cloneWith","conformsTo","defaultTo","endsWith","escapeRegExp","every","findKey","findLastKey","forIn","forInRight","forOwn","forOwnRight","inRange","isBoolean","isEqual","isEqualWith","isMatch","isMatchWith","isNative","isNull","isSafeInteger","isWeakMap","isWeakSet","maxBy","mean","meanBy","minBy","stubObject","stubString","stubTrue","nth","noConflict","pad","strLength","padEnd","radix","floating","reduceRight","repeat","sample","sortedIndex","sortedIndexBy","sortedIndexOf","sortedLastIndex","sortedLastIndexBy","sortedLastIndexOf","sumBy","settings","imports","importsKeys","importsValues","isEscaping","isEvaluating","reDelimiters","evaluate","sourceURL","interpolateValue","esTemplateValue","evaluateValue","variable","toLower","toSafeInteger","trimEnd","trimStart","truncate","omission","newEnd","unescape","uniqueId","eachRight","first","VERSION","isFilter","takeName","dropName","checkIteratee","isTaker","lodashFunc","retUnwrapped","useLazy","isHybrid","isUnwrapped","onlyLazy","chainName","dir","isRight","view","iterLength","takeCount","iterIndex","commit","wrapped","basePropertyDeep","MAX_INTEGER","asciiWords","unicodeWords","moment","old","charCodeToInt","unpackBase60","fractional","arrayToInt","intToUntil","mapIndices","indices","unpack","offsets","untils","abbrs","population","Zone","packedString","_set","Country","country_name","zone_names","zones","OffsetAt","timeString","toTimeString","abbr","ZoneScore","offsetScore","abbrScore","findChange","userOffsets","change","startYear","sortZoneScores","localeCompare","addToGuesses","guesses","guessesForUserOffsets","guessesOffset","offsetsLength","filteredGuesses","rebuildGuess","intlName","normalizeName","logError","zoneScore","zoneScores","getZone","scoreOffsetAt","addZone","packed","normalized","addLink","aliases","alias","normal0","normal1","links","addCountries","country_code","country_zones","needsOffset","isUnixTimestamp","_f","_tzm","abbrWrap","_z","resetZoneWrap","cachedGuess","momentVersion","major","minor","zoneExists","didShowError","unpacked","_index","timestamp","zone_name","offsetNext","offsetPrev","moveAmbiguousForward","moveInvalidForward","mom","offsetAt","dataVersion","_zones","_links","_names","_countries","ignoreCache","zonesForCountry","country","with_offset","defaultZone","updateOffset","keepTime","_isUTC","zoneName","zoneAbbr","momentProperties","defineLocale","dayOfMonthOrdinalParse","dow","doy","period","meridiemParse","isPM","isUpper","monthsParseExact","weekdaysParseExact","isLower","meridiemHour","hm","hookCallback","globalLocale","hooks","isObjectEmpty","hasOwnProp","createUTC","createLocalOrUTC","getParsingFlags","_pf","unusedTokens","unusedInput","overflow","charsLeftOver","nullInput","invalidMonth","invalidFormat","userInvalidated","iso","parsedDateParts","rfc2822","weekdayMismatch","_isValid","parsedParts","isNowValid","invalidWeekday","_strict","bigHour","isFrozen","createInvalid","copyConfig","_isAMomentObject","_l","_offset","Moment","updateInProgress","absFloor","toInt","argumentForCoercion","coercedNumber","compareArrays","array1","array2","dontConvert","lengthDiff","diffs","suppressDeprecationWarnings","deprecate","firstTime","deprecationHandler","deprecateSimple","deprecations","mergeConfigs","parentConfig","childConfig","Locale","addUnitAlias","shorthand","normalizeUnits","normalizeObjectUnits","inputObject","normalizedProp","normalizedInput","addUnitPriority","priority","priorities","getPrioritizedUnits","unitsObj","zeroFill","targetLength","forceSign","absNumber","addFormatToken","padded","formatTokenFunctions","makeFormatFunction","formattingTokens","formatMoment","formatFunctions","expandFormat","replaceLongDateFormatTokens","localFormattingTokens","addRegexToken","strictRegex","regexes","unescapeFormat","matched","p3","p4","addParseToken","tokens","addWeekParseToken","_w","addTimeToArrayFromToken","daysInYear","makeGetSet","set$1","modMonth","handleStrictParse","monthName","ii","llc","toLocaleLowerCase","_monthsParse","_longMonthsParse","_shortMonthsParse","setMonth","dayOfMonth","monthsParse","getSetMonth","computeMonthsParse","cmpLenRev","shortPieces","longPieces","mixedPieces","_monthsRegex","_monthsShortRegex","_monthsStrictRegex","_monthsShortStrictRegex","createDate","setFullYear","createUTCDate","setUTCFullYear","firstWeekOffset","fwd","dayOfYearFromWeeks","resYear","resDayOfYear","weekOfYear","resWeek","weekOffset","weeksInYear","weekOffsetNext","shiftWeekdays","ws","handleStrictParse$1","weekdayName","_weekdaysParse","_shortWeekdaysParse","_minWeekdaysParse","computeWeekdaysParse","minp","shortp","longp","minPieces","_weekdaysRegex","_weekdaysShortRegex","_weekdaysMinRegex","_weekdaysStrictRegex","_weekdaysShortStrictRegex","_weekdaysMinStrictRegex","hFormat","lowercase","matchMeridiem","_meridiemParse","normalizeLocale","chooseLocale","loadLocale","oldLocale","_abbr","aliasedRequire","getSetGlobalLocale","getLocale","checkOverflow","MONTH","DATE","YEAR","HOUR","MINUTE","SECOND","MILLISECOND","_overflowDayOfYear","_overflowWeeks","WEEK","_overflowWeekday","WEEKDAY","currentDateArray","nowValue","_useUTC","configFromArray","currentDate","expectedWeekday","yearToUse","dayOfYearFromWeekInfo","_dayOfYear","_nextDay","setUTCMinutes","weekdayOverflow","GG","W","createLocal","_week","curWeek","gg","configFromISO","allowTime","dateFormat","timeFormat","tzFormat","extendedIsoRegex","basicIsoRegex","isoDates","isoTimes","tzRegex","configFromStringAndFormat","extractFromRFC2822Strings","yearStr","monthStr","dayStr","hourStr","minuteStr","secondStr","untruncateYear","defaultLocaleMonthsShort","calculateOffset","obsOffset","militaryOffset","numOffset","obsOffsets","configFromRFC2822","weekdayStr","parsedInput","parsedArray","weekdayProvided","defaultLocaleWeekdaysShort","configFromString","aspNetJsonRegex","createFromInputFallback","ISO_8601","RFC_2822","skipped","stringLength","totalParsedInputLength","_meridiem","meridiemFixWrap","isPm","configFromStringAndArray","tempConfig","bestMoment","scoreToBeat","currentScore","score","configFromObject","createFromConfig","prepareConfig","configFromInput","moments","isDurationValid","ordering","unitHasDecimal","Duration","quarters","_milliseconds","_days","_months","_data","_bubble","absRound","offsetFromString","matcher","chunkOffset","cloneWithOffset","getDateOffset","isUtc","createDuration","diffRes","aspNetRegex","isoRegex","parseIso","momentsDifference","inp","positiveMomentsDifference","createAdder","direction","tmp","addSubtract","isAdding","monthDiff","anchor2","adjust","wholeMonthDiff","anchor","newLocaleData","mod$1","localStartOfDate","MS_PER_400_YEARS","utcStartOfDate","addWeekYearFormatToken","getter","getSetWeekYearHelper","weeksTarget","setWeekAll","dayOfYearData","parseMs","preParsePostFormat","get$1","field","listMonthsImpl","listWeekdaysImpl","localeSorted","addSubtract$1","absCeil","daysToMonths","monthsToDays","makeAs","makeGetter","substituteTimeAgo","withoutSuffix","isFuture","relativeTime$1","posNegDuration","toISOString$1","abs$1","total","totalSign","ymSign","daysSign","hmsSign","fun","match1","match2","match3","match4","match6","match1to2","match3to4","match5to6","match1to3","match1to4","match1to6","matchUnsigned","matchSigned","matchOffset","matchShortOffset","matchWord","getSetYear","monthsShortRegex","monthsRegex","MONTHS_IN_FORMAT","defaultMonthsShortRegex","defaultMonthsRegex","weekdaysMinRegex","weekdaysShortRegex","weekdaysRegex","weekdaysParse","defaultWeekdaysRegex","defaultWeekdaysShortRegex","defaultWeekdaysMinRegex","kInput","_isPm","pos1","pos2","getSetHour","baseConfig","localeFamilies","_config","parentLocale","UT","GMT","EDT","EST","CDT","CST","MDT","MST","PDT","PST","prototypeMin","prototypeMax","invalid","defaultFormat","defaultFormatUtc","MS_PER_SECOND","MS_PER_MINUTE","MS_PER_HOUR","_dayOfMonthOrdinalParse","_ordinalParse","_dayOfMonthOrdinalParseLenient","getSetDayOfMonth","getSetMinute","getSetSecond","getSetMillisecond","sod","calendarFormat","asFloat","that","zoneDelta","startOfDate","inputString","invalidAt","localInput","inclusivity","localFrom","localTo","inputMs","parsingFlags","prioritized","keepOffset","inspect","isLocal","creationData","isoWeeks","weekInfo","keepLocalTime","keepMinutes","localAdjust","_changeInProgress","parseZone","tZone","hasAlignedHourOffset","isDST","isUtcOffset","dates","isDSTShifted","_isDSTShifted","proto$1","_calendar","_longDateFormat","formatUpper","_invalidDate","_ordinal","_relativeTime","pastFuture","isFormat","_monthsShort","_monthsParseExact","firstDayOfYear","_weekdays","_weekdaysMin","_weekdaysShort","_weekdaysParseExact","_fullWeekdaysParse","langData","mathAbs","asQuarters","proto$2","monthsFromDays","withSuffix","toIsoString","tmpLocale","relativeTimeRounding","roundingFunction","relativeTimeThreshold","threshold","myMoment","HTML5_FMT","DATETIME_LOCAL","DATETIME_LOCAL_SECONDS","DATETIME_LOCAL_MS","TIME","TIME_SECONDS","TIME_MS","fmtShort","msAbs","fmtLong","plural","isPlural","long","normalizeColor","matchers","hex6","parse255","parse1","hex3","hex8","hex4","hslToRgb","parse360","parsePercentage","hue2rgb","arrayLike","int","NUMBER","PERCENTAGE","transparent","aliceblue","antiquewhite","aqua","aquamarine","azure","beige","bisque","blanchedalmond","blueviolet","brown","burlywood","burntsienna","cadetblue","chartreuse","chocolate","coral","cornflowerblue","cornsilk","crimson","darkblue","darkcyan","darkgoldenrod","darkgray","darkgreen","darkgrey","darkkhaki","darkmagenta","darkolivegreen","darkorange","darkorchid","darkred","darksalmon","darkseagreen","darkslateblue","darkslategray","darkslategrey","darkturquoise","darkviolet","deeppink","deepskyblue","dimgray","dimgrey","dodgerblue","firebrick","floralwhite","forestgreen","fuchsia","gainsboro","ghostwhite","gold","goldenrod","greenyellow","grey","honeydew","hotpink","indianred","indigo","ivory","khaki","lavender","lavenderblush","lawngreen","lemonchiffon","lightblue","lightcoral","lightcyan","lightgoldenrodyellow","lightgray","lightgreen","lightgrey","lightpink","lightsalmon","lightseagreen","lightskyblue","lightslategray","lightslategrey","lightsteelblue","lightyellow","lime","limegreen","linen","maroon","mediumaquamarine","mediumblue","mediumorchid","mediumpurple","mediumseagreen","mediumslateblue","mediumspringgreen","mediumturquoise","mediumvioletred","midnightblue","mintcream","mistyrose","moccasin","navajowhite","navy","oldlace","olive","olivedrab","orange","orangered","orchid","palegoldenrod","palegreen","paleturquoise","palevioletred","papayawhip","peachpuff","peru","pink","plum","powderblue","purple","rebeccapurple","rosybrown","royalblue","saddlebrown","salmon","sandybrown","seagreen","seashell","sienna","silver","skyblue","slateblue","slategray","slategrey","snow","springgreen","steelblue","tan","teal","thistle","tomato","turquoise","violet","wheat","whitesmoke","yellowgreen","colorInt","propIsEnumerable","shouldUseNative","test1","test2","order2","test3","letter","AbstractStreamReader","endOfStream","interrupted","peekQueue","uint8Array","bytesRead","readFromPeekBuffer","readRemainderFromStream","EndOfStreamError","peekData","lenCopy","chunkLen","AbortError","readFromStream","Deferred","StreamReader","readDeferred","WebStreamByobReader","WebStreamReader","WebStreamDefaultReader","written","totalBytesRead","writeChunk","makeWebStreamReader","ReadableStreamDefaultReader","mark","toneNumber","tones","toneParse","U","text","elem","MissingToneNumberError","UnrecognizedCharacterError","isLetter","cc","isTone","TONE_NUMBERS","isSpace","isPunctMark","PUNCT_MARKS","allowUntoned","allowAnyChar","startIdx","initials","pinyin","INITIALS","PINYIN_STYLE","NORMAL","TONE","TONE2","TO3NE","FIRST_LETTER","segment","heteronym","PHONETIC_SYMBOL","RE_PHONETIC_SYMBOL","RE_TONE2","Pinyin","_dict","hans","pys","nohans","firstCharCode","single_pinyin","han","hanCode","py_cached","pinyins","py","hanA","hanB","pinyinA","pinyinB","first_letter","tone","$0","$1_phonetic","PINYIN_DICT","buildPinyinCache","dict_combo","uncomboed","STYLE_NORMAL","STYLE_TONE","STYLE_TONE2","STYLE_TO3NE","STYLE_INITIALS","STYLE_FIRST_LETTER","emptyFunction","emptyFunctionWithReset","ReactPropTypesSecret","resetWarningCache","shim","propName","componentName","propFullName","secret","getShim","isRequired","ReactPropTypes","bigint","any","arrayOf","elementType","instanceOf","objectOf","oneOf","oneOfType","shape","exact","checkPropTypes","PropTypes","F","addIndex","allPass","and","ap","aperture","applySpec","ascend","assoc","assocPath","binary","both","compose","composeK","composeP","constructN","converge","curryN","dec","descend","dissocPath","dropLast","dropLastWhile","dropRepeats","dropRepeatsWith","either","eqBy","eqProps","equals","evolve","forEachObjIndexed","groupWith","identical","ifElse","inc","indexBy","insert","insertAll","intersperse","into","invertObj","invoker","juxt","lens","lensIndex","lensPath","lensProp","lift","liftN","mapAccum","mapAccumRight","mapObjIndexed","mathMod","median","mergeAll","mergeWithKey","nAry","none","not","objOf","of","or","pathEq","pathOr","pathSatisfies","pickAll","pipeK","pipeP","pluck","product","project","propEq","propOr","reduceBy","reduceWhile","reduced","scan","sequence","sortWith","splitAt","splitEvery","splitWhen","symmetricDifference","symmetricDifferenceWith","takeLast","takeLastWhile","transduce","transpose","traverse","tryCatch","unapply","uncurryN","unfold","unless","unnest","until","useWith","when","where","whereEq","xprod","zipObj","_curry2","_concat","_curry1","origFn","_curry3","_idx","_list","_dispatchable","_xall","preds","_xany","_reduce","applicative","_aperture","_xaperture","el","aa","bb","_has","_isArray","_isInteger","nextObj","_arity","thisObj","_isFunction","_makeFlat","_xchain","monad","_clone","pred","Fn","$7","$8","$9","_contains","_map","_curryN","firstLen","_containsWith","_xdrop","xs","_dropLast","_xdropLast","_dropLastWhile","_xdropLastWhile","_xdropRepeatsWith","_xdropWhile","_isArguments","_isObject","_isString","obj1","obj2","_equals","transformations","transformation","_filter","_xfilter","filterable","_xfind","_xfindIndex","_xfindLast","_xfindLastIndex","_checkForMethod","keyList","nextidx","_identity","onTrue","onFalse","_indexOf","elt","elts","_Set","hasOrAdd","_nativeSet","_items","shouldAdd","prevSize","newSize","bIdx","a0","a1","a2","a3","a4","a5","a6","a7","a8","a9","_objectAssign","methodname","_cloneRegExp","refFrom","refTo","copiedValue","ignoreCase","multiline","sticky","unicode","set1","set2","len1","len2","_isPlaceholder","f1","f2","f3","received","combined","argsIdx","combinedIdx","_isTransformer","xf","transducer","_arrayFromIterator","_functionName","stackA","stackB","keysA","_forceReduced","_xfBase","rxf","inf","recursive","flatt","jlen","ilen","functor","nextKey","ctx","escaped","_arrayReduce","_iterableReduce","_xwrap","_stepCatArray","_stepCatString","_stepCatObject","_quote","_toISOString","_toString","recur","mapPairs","repr","XAll","_reduced","XAny","XAperture","full","getCopy","_flatCat","XDrop","XDropLast","XDropLastWhile","retained","retain","XDropRepeatsWith","lastValue","seenFirstValue","sameAsLast","XDropWhile","XFilter","XFind","XFindIndex","XFindLast","XFindLastIndex","lastIdx","XMap","XReduceBy","valueFn","valueAcc","keyFn","inputs","XTake","XTakeWhile","XWrap","list1","list2","lookupList","filteredList","results","_stepCat","hasEnumBug","nonEnumerableProps","hasArgsEnumBug","nIdx","checkArgsLength","_isNumber","toFunctorFn","focus","lifted","_xmap","tuple","rx","_complement","_of","called","Identity","fst","snd","_createPartialApplicator","_path","propPath","_pipe","_pipeP","ps","_xreduceBy","replacement","traversable","_xtake","_xtakeWhile","_isRegExp","RangeError","outerlist","innerlist","zeroWidth","beginRx","endRx","tryer","catcher","endIdx","currentDepth","seed","appliedItem","whenFalseFn","transformers","vals","vs","Const","whenTrueFn","testObj","rv","trace","isNotWithin","eqLength","isNilOrEmpty","isNotNil","Ramdasauce","rangeStep","dotPath","stringPath","fullString","findByProp","findIndexByProp","registered","unregister","oi","pi","qi","Rj","ba","onError","ja","da","ea","ia","ka","fa","ha","oa","currentTarget","na","ra","pa","qa","sa","extractEvents","eventTypes","ta","phasedRegistrationNames","registrationName","va","wa","dependencies","xa","Ca","ma","za","stateNode","la","Da","Aa","Ba","Ea","Fa","Ga","Ha","La","Ma","Ka","Ia","Sa","acceptsBooleans","Ta","attributeName","attributeNamespace","mustUseProperty","propertyName","sanitizeURL","Va","Xa","C","Ra","Oa","Qa","Pa","Na","removeAttribute","setAttributeNS","nb","ob","_status","_ctor","_result","qb","_debugOwner","_debugSource","pb","fileName","Ya","lineNumber","return","rb","sb","nodeName","tb","setValue","stopTracking","_valueTracker","xb","yb","checked","zb","defaultChecked","_wrapperState","initialChecked","Ab","initialValue","controlled","Bb","Cb","Db","Eb","ownerDocument","activeElement","Fb","Children","Gb","Hb","selected","defaultSelected","disabled","Ib","dangerouslySetInnerHTML","Jb","Kb","Lb","textContent","Nb","Ob","Rb","firstChild","lastChild","nodeValue","Sb","Wb","Ub","Tb","Vb","bc","dc","alternate","effectTag","memoizedState","dehydrated","gc","child","sibling","hc","jc","_dispatchListeners","_dispatchInstances","isPropagationStopped","isPersistent","release","mc","kc","nc","srcElement","correspondingUseElement","parentNode","ya","topLevelType","nativeEvent","targetInst","ancestors","pc","rc","eventSystemFlags","sc","containerInfo","tc","uc","vc","ac","Jc","Hc","Ic","Kc","blockedOn","container","Lc","Bc","Cc","Dc","Ec","pointerId","Fc","Mc","Nc","Oc","Pc","unstable_runWithPriority","hydrate","Qc","Rc","Sc","Tc","Ac","wc","Uc","unstable_scheduleCallback","unstable_NormalPriority","Vc","Gc","ad","bubbled","captured","eventPriority","Zc","Yc","Wc","gd","hd","Ja","ld","jd","setProperty","od","nd","pd","ud","vd","nextSibling","xd","HTMLIFrameElement","contentWindow","yd","contentEditable","Fd","autoFocus","Gd","__html","Jd","Kd","previousSibling","zd","Cd","Bd","Ad","Md","Od","Pd","Qd","Nd","Rd","Sd","Td","dispatchConfig","Ud","_targetInst","Vd","Wd","Xd","ae","Zd","Yd","be","Interface","isDefaultPrevented","defaultPrevented","returnValue","ee","eventPool","fe","destructor","de","getPooled","qe","ie","keyCode","detail","which","pe","ue","se","je","ctrlKey","altKey","metaKey","me","we","ze","Ce","De","Ee","Ge","Ae","detachEvent","He","Be","Ie","attachEvent","Je","Ke","Le","Pe","getModifierState","Oe","Qe","$e","af","jf","hf","ef","selectionStart","selectionEnd","anchorNode","defaultView","getSelection","anchorOffset","focusNode","focusOffset","gf","ff","zf","yf","Cf","Af","__reactInternalMemoizedUnmaskedChildContext","__reactInternalMemoizedMaskedChildContext","Df","K","J","Ef","Ff","Gf","__reactInternalMemoizedMergedChildContext","Bf","Hf","ag","Nf","Of","Pf","Qf","Rf","Sf","bg","cg","If","dg","Jf","eg","Wf","Xf","fg","Tf","Kf","Yf","hg","ig","ng","lg","kg","og","jg","_context","_currentValue","pg","childExpirationTime","qg","firstContext","expirationTime","rg","sg","observedBits","responders","ug","updateQueue","baseState","baseQueue","shared","effects","vg","wg","suspenseConfig","xg","yg","zg","tg","Ag","Bg","Cg","Fg","Kg","isPureReactComponent","Lg","Jg","_reactInternalFiber","Mg","Ng","Eg","getSnapshotBeforeUpdate","Pg","ref","_owner","_stringRef","Qg","Rg","lastEffect","nextEffect","firstEffect","Sg","Tg","Ug","implementation","Vg","Wg","Za","$a","Og","ab","Zg","dh","bh","ah","namespaceURI","eh","fh","gh","memoizedProps","revealOrder","ih","responder","nh","oh","lh","jh","ph","qh","rh","sh","mh","th","uh","vh","lastRenderedReducer","eagerReducer","eagerState","lastRenderedState","dispatch","xh","yh","zh","Ah","deps","Bh","Ch","Dh","Eh","Fh","Gh","Hh","Ih","Jh","Kh","Lh","Mh","Nh","kh","suspense","Gg","Dg","Hg","Ig","Rh","Sh","Th","pendingProps","Uh","Qh","Ph","Oh","Vh","Wh","Xh","Yg","Xg","Zh","$h","bi","ci","di","ei","fi","gi","Yh","pendingContext","ji","fallback","unstable_avoidThisFallback","ki","isBackwards","rendering","renderingStartTime","tailExpiration","tailMode","mi","ri","si","wasMultiple","multiple","onClick","onclick","qd","innerHTML","createElementNS","Qb","createTextNode","ui","vi","yi","$f","zi","Ai","Ci","Di","Ei","Fi","Gi","__reactInternalSnapshotBeforeUpdate","Hi","Ii","Ji","Ki","Li","Mi","Oi","Pi","Qi","insertBefore","_reactRootContainer","Ri","Si","Ti","Ui","Bi","Vi","Xi","Yi","Zi","componentDidCatch","aj","componentStack","fj","gj","V","wj","timeoutMs","uj","vj","xj","ej","yj","tj","zj","lastExpiredTime","firstPendingTime","Aj","lastPingedTime","nextKnownPendingLevel","callbackExpirationTime","callbackPriority","callbackNode","Bj","Dj","Ej","X","Fj","Kj","Hj","cj","hj","kj","finishedWork","finishedExpirationTime","Jj","Lj","Cj","Mj","Nj","timeoutHandle","Id","mj","lj","nj","oj","pingCache","Wi","Oj","jj","ij","B","ub","vb","Pj","Xc","Qj","Gj","Uf","dj","Ij","Sj","rj","lastSuspendedTime","firstSuspendedTime","Dd","rangeCount","wb","Ed","activeElementDetached","focusedElem","selectionRange","Tj","Ni","wd","compareDocumentPosition","setStart","removeAllRanges","addRange","setEnd","scrollLeft","top","scrollTop","Vf","qj","sj","Uj","Vj","Wj","pj","Yj","__REACT_DEVTOOLS_GLOBAL_HOOK__","isDisabled","supportsFiber","inject","onCommitFiberRoot","onCommitFiberUnmount","Zj","isReactComponent","Xj","gb","jb","fb","hb","ib","db","kb","lb","pendingChildren","ak","bk","ck","dk","retryTime","ek","fk","_internalRoot","gk","hk","hasAttribute","ik","jk","kk","Ua","xlinkHref","Wa","__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED","ReactCurrentDispatcher","ReactCurrentBatchConfig","Mb","svg","Pb","MSApp","execUnsafeLocalFunction","animationend","animationiteration","animationstart","transitionend","animation","Xb","Yb","Zb","$b","$c","bd","unstable_UserBlockingPriority","animationIterationCount","boxFlex","boxFlexGroup","boxOrdinalGroup","columnCount","columns","flex","flexGrow","flexPositive","flexShrink","flexNegative","flexOrder","gridArea","gridRow","gridRowEnd","gridRowSpan","gridRowStart","gridColumn","gridColumnEnd","gridColumnSpan","gridColumnStart","lineClamp","kd","menuitem","area","br","embed","img","keygen","meta","param","track","wbr","Hd","Ld","preventDefault","stopPropagation","cancelBubble","persist","eventPhase","bubbles","cancelable","timeStamp","isTrusted","ge","he","ke","documentMode","oe","beforeInput","compositionEnd","compositionStart","compositionUpdate","datetime","email","tel","Fe","Me","_isInputEventSupported","Ne","Alt","Control","Meta","Shift","Re","Se","Te","Ue","Ve","screenX","screenY","clientX","clientY","pageX","pageY","shiftKey","button","buttons","relatedTarget","fromElement","toElement","movementX","movementY","We","pressure","tangentialPressure","tiltX","tiltY","twist","pointerType","isPrimary","Xe","mouseEnter","mouseLeave","pointerEnter","pointerLeave","animationName","elapsedTime","pseudoElement","mf","clipboardData","nf","pf","Esc","Spacebar","Left","Up","Right","Down","Del","Win","Menu","Apps","Scroll","MozPrintableKey","qf","rf","sf","dataTransfer","tf","touches","targetTouches","changedTouches","uf","vf","deltaX","wheelDeltaX","deltaY","wheelDeltaY","wheelDelta","deltaZ","deltaMode","SimpleEventPlugin","EnterLeaveEventPlugin","parentWindow","ChangeEventPlugin","SelectEventPlugin","onSelect","BeforeInputEventPlugin","unstable_cancelCallback","Lf","unstable_requestPaint","Mf","unstable_now","unstable_getCurrentPriorityLevel","unstable_ImmediatePriority","unstable_LowPriority","unstable_IdlePriority","unstable_shouldYield","Zf","enqueueSetState","enqueueForceUpdate","readContext","useCallback","useContext","useEffect","useImperativeHandle","useLayoutEffect","useMemo","useReducer","useRef","useState","useDebugValue","useResponder","useDeferredValue","useTransition","ReactCurrentOwner","WeakSet","bj","busyMinDurationMs","busyDelayMs","hidden","_calculateChangedBits","unstable_observedBits","unmount","querySelectorAll","form","findFiberByHostInstance","bundleType","rendererPackageName","overrideHookState","overrideProps","setSuspenseHandler","scheduleUpdate","currentDispatcherRef","findHostInstanceByFiber","findHostInstancesForRefresh","scheduleRefresh","scheduleRoot","setRefreshHandler","getCurrentFiber","Events","createPortal","findDOMNode","flushSync","unmountComponentAtNode","unstable_batchedUpdates","unstable_createPortal","unstable_renderSubtreeIntoContainer","checkDCE","_propTypes2","HttpsRedirect","createReactClass","FormattedMessage","getIntlMessage","fallbackSearch","scopes","translated","Translation","_useTranslation","useTranslation","_useTranslation2","ready","i18nInstance","hasUsedI18nextProvider","defaultOptions","bindI18n","bindI18nStore","transEmptyNodeValue","transSupportBasicHtmlNodes","transKeepBasicHtmlNodesFor","useSuspense","I18nContext","getHasUsedI18nextProvider","getDefaults","ReportNamespaces","usedNamespaces","getI18n","initReactI18next","setDefaults","react","getT","getFixedT","nsMode","i18nFromProps","ReactI18nContext","i18nFromContext","defaultNSFromContext","reportNamespaces","warnOnce","notReadyT","retNotReady","addUsedNamespaces","initializedStoreOnce","_useState","_useState2","setT","boundReset","loadNamespaces","off","alreadyWarned","initialized","getDisplayName","withTranslation","WrappedComponent","I18nextWithTranslation","forwardedRef","passDownProps","tReady","withRef","INTERPOLATION_STYLE_PROPERTIES","ZERO_CLAMPED_STYLE_PROPERTIES","getAnimationTarget","iteration","getAnimationOrigin","getCompiledAnimation","compiledAnimation","getAnimationByName","makeInterpolatedStyle","animationValue","transitionToValue","transitionValue","toValue","easing","useNativeDriver","onTransitionBegin","onTransitionEnd","Animated","createAnimatableComponent","wrappedComponentName","Animatable","AnimatableComponent","animationStyle","transitionStyle","transitionValues","currentTransitionValues","initializeTransitionState","delayTimer","getAnimationNames","animate","transitionKeys","styleValues","transitionState","nativeProps","setNativeProps","onAnimationBegin","iterationDelay","startAnimation","endState","onAnimationEnd","transitionTo","setAnimation","stopAnimation","scheduledAnimation","iterationCount","currentIteration","fromValue","Easing","isInteraction","finished","fromValues","toValues","fromValuesFlat","toValuesFlat","getTransitionState","needsInterpolation","needsZeroClamping","inputRange","outputRange","extrapolateLeft","transitionToValues","transitions","currentTransitionValue","filtered","restProps","handleRef","compareNumbers","notNull","parsePosition","createAnimation","definition","cacheKey","positions","compiled","keyframe","bounce","translateY","flash","jello","skewX","skewY","pulse","scale","shake","translateX","swing","rubberBand","scaleX","scaleY","tada","wobble","bounceIn","bounceInUp","bounceInDown","bounceInRight","bounceInLeft","bounceOut","bounceOutUp","bounceOutDown","bounceOutRight","bounceOutLeft","makeFadeInTranslation","translationType","fadeIn","fadeInDown","fadeInUp","fadeInLeft","fadeInRight","fadeInDownBig","fadeInUpBig","fadeInLeftBig","fadeInRightBig","makeFadeOutTranslation","fadeOut","fadeOutDown","fadeOutUp","fadeOutLeft","fadeOutRight","fadeOutDownBig","fadeOutUpBig","fadeOutLeftBig","fadeOutRightBig","flipInX","backfaceVisibility","perspective","rotateX","flipInY","rotateY","flipOutX","flipOutY","lightSpeedIn","lightSpeedOut","makeSlideInTranslation","slideInDown","slideInUp","slideInLeft","slideInRight","makeSlideOutTranslation","slideOutDown","slideOutUp","slideOutLeft","slideOutRight","makeZoomInTranslation","pivotPoint","zoomIn","zoomInDown","zoomInUp","zoomInLeft","zoomInRight","makeZoomOutTranslation","zoomOut","zoomOutDown","zoomOutUp","zoomOutLeft","zoomOutRight","linear","ease","flattenStyle","flatStyle","StyleSheet","DIRECTIONAL_FALLBACKS","Top","Bottom","Vertical","Horizontal","DIRECTIONAL_SUFFICES","getDefaultStyleValue","getStyleValues","initializeRegistryWithDefinitions","View","animationRegistry","registerAnimation","definitions","TRANSFORM_STYLE_PROPERTIES","wrapStyleTransforms","isScreenReaderEnabled","prefersReducedMotionMedia","matchMedia","AccessibilityInfo","isReduceMotionEnabled","fetch","eventName","addListener","setAccessibilityFocus","reactTag","announceForAccessibility","announcement","removeChangeListener","removeListener","_excluded","createSvgCircle","cx","cy","ActivityIndicator","_props$animating","animating","_props$color","_props$hidesWhenStopp","hidesWhenStopped","_props$size","viewBox","stroke","accessibilityRole","accessibilityValueMax","accessibilityValueMin","styles","indicatorSizes","animationPause","alignItems","justifyContent","visibility","animationDuration","animationKeyframes","animationTimingFunction","animationPlayState","small","large","Alert","RootTagContext","AppContainer","WrapperComponent","innerView","pointerEvents","appContainer","Provider","rootTag","wrapperComponentProvider","runnables","componentProviderInstrumentationHook","AppRegistry","appKey","appParameters","getApplication","componentProvider","initialProps","run","registerRunnable","registerComponent","hook","provider","renderApplication","RootComponent","shouldHydrate","renderFn","getStyleElement","sheet","isPrefixed","EVENT_TYPES","VISIBILITY_CHANGE_EVENT","VISIBILITY_STATE_PROPERTY","AppStates","BACKGROUND","ACTIVE","changeEmitter","AppState","isAvailable","currentState","listenerMapping","getColorScheme","addChangeListener","mappedListener","colorScheme","exitApp","Button","accessibilityLabel","onPress","testID","title","focusable","backgroundColor","buttonDisabled","textDisabled","borderRadius","textAlign","textTransform","CheckBox","onChange","onValueChange","fakeControl","fakeControlChecked","borderColor","fakeControlDisabled","fakeControlCheckedAndDisabled","nativeControl","cursorInherit","accessibilityDisabled","cursorDefault","cursor","userSelect","borderStyle","borderWidth","backgroundImage","backgroundRepeat","margin","appearance","clipboardAvailable","Clipboard","queryCommandSupported","success","whiteSpace","selection","selectNodeContents","execCommand","Dimensions","windowPhysicalPixels","_Dimensions$get","fontScale","screenPhysicalPixels","_Dimensions$get2","totalMemory","deviceMemory","dimensions","screen","shouldInit","dimension","_update","initialDimensions","win","docEl","clientHeight","devicePixelRatio","clientWidth","_handler","allowRTL","forceRTL","getConstants","isRTL","ImageBackground","forwardRef","_props$style","imageStyle","imageRef","_StyleSheet$flatten","LOADED","LOADING","_filterId","svgDataUriPattern","resolveAssetUri","uri","asset","getAssetByID","scales","preferredScale","scaleSuffix","httpServerLocation","Image","tintColor","blurRadius","defaultSource","draggable","onLayout","onLoad","onLoadEnd","onLoadStart","_React$useState","updateState","_React$useState2","layout","updateLayout","hasTextAncestor","hiddenImageRef","filterRef","requestRef","shouldDisplaySource","_getFlatStyle","getFlatStyle","filterId","resizeMode","shadowOffset","filters","shadowString","createBoxShadowValue","shadowColor","shadowOpacity","shadowRadius","overlayColor","_resizeMode","selectedSource","displayImageUri","imageSizeStyle","resolveAssetDimensions","_getAssetByID","backgroundSize","getBackgroundSize","_hiddenImageRef$curre","naturalHeight","naturalWidth","_height3","_width3","scaleFactor","hiddenImage","alt","accessibilityImage$raw","src","abortPendingRequest","_layout","inline","image","resizeModeStyles","suppressHydrationWarning","floodColor","in2","ImageWithStatics","getSize","failure","prefetch","queryCache","uris","flexBasis","backgroundPosition","center","contain","cover","stretch","interactionStart","interactionComplete","runAfterInteractions","task","cancelIdleCallback","createInteractionHandle","clearInteractionHandle","KeyboardAvoidingView","frame","keyboardFrame","keyboardY","keyboardVerticalOffset","_this$props","behavior","contentContainerStyle","dismiss","removeAllListeners","initialURL","Linking","_eventCallbacks","filteredCallbacks","callbacks","_dispatchEvent","urlToOpen","ignoreLogs","ignoreAllLogs","uninstall","install","bottom","animatedIn","ANIMATION_DURATION","animatedOut","slideIn","slideOut","animatedSlideInStyles","animatedSlideOutStyles","animatedFadeInStyles","animatedFadeOutStyles","animationType","visible","onDismiss","onShow","isRendering","setIsRendering","wasVisible","isAnimated","animationEndCallback","ModalContent","active","onRequestClose","closeOnEscape","modal","modalTransparent","modalOpaque","accessibilityModal","FocusBracket","tabIndex","focusBracket","attemptFocus","trapElementRef","focusRef","trapFocusInProgress","lastFocusedElement","trapFocus","Node","hasFocused","focusFirstDescendant","childNodes","focusLastDescendant","lastFocusedElementOutsideTrap","outlineStyle","elementRef","uniqueModalIdentifier","activeModalStack","activeModalListeners","notifyActiveModalListeners","activeModalId","modalId","removeActiveModal","_props$visible","setIsActive","onDismissCallback","onShowCallback","UIManager","promiseMock","PERMISSIONS","RESULTS","checkPermission","requestPermission","requestMultiple","PickerItem","label","Picker","selectedValue","itemStyle","hostRef","supportedProps","_e$target","selectedIndex","platformMethodsRef","setRef","Item","fontFamily","fontSize","PixelRatio","layoutSize","OS","web","isTesting","useForceableState","forced","touchAction","MemoedPressable","memo","delayLongPress","delayPressIn","delayPressOut","onBlur","onContextMenu","onFocus","onHoverIn","onHoverOut","onKeyDown","onLongPress","onPressMove","onPressIn","onPressOut","testOnly_hovered","testOnly_pressed","_useForceableState","hovered","setHovered","_useForceableState2","focused","setFocused","_useForceableState3","pressed","setPressed","pressConfig","delayPressStart","delayPressEnd","onPressChange","onPressStart","onPressEnd","pressEventHandlers","onContextMenuPress","onKeyDownPress","onHoverChange","onHoverStart","onHoverEnd","interactionState","blurHandler","focusHandler","contextMenuHandler","keyDownHandler","ProgressBar","_props$indeterminate","indeterminate","_props$progress","progress","_props$trackColor","trackColor","percentageProgress","accessibilityValueNow","forcedColorAdjust","onRefresh","progressBackgroundColor","progressViewOffset","refreshing","titleColor","cssFunction","CSS","supports","SafeAreaView","paddingTop","paddingRight","paddingBottom","paddingLeft","normalizeScrollEvent","contentOffset","contentSize","scrollHeight","scrollWidth","layoutMeasurement","offsetHeight","offsetWidth","ScrollViewBase","createPreventableScrollHandler","scrollEnabled","handleScrollStart","scrollState","isScrolling","handleScrollTick","scrollLastTick","onScroll","handleScrollEnd","onTouchMove","onWheel","_props$scrollEnabled","_props$scrollEventThr","scrollEventThrottle","showsHorizontalScrollIndicator","showsVerticalScrollIndicator","scrollTimeout","scrollRef","lastTick","eventThrottle","timeSinceLastTick","scrollDisabled","hideScrollbar","overflowX","overflowY","scrollbarWidth","ScrollView","scrollResponderMixinGetInitialState","flashScrollIndicators","scrollResponderFlashScrollIndicators","getScrollResponder","getScrollableNode","_scrollNodeRef","getInnerViewRef","_innerViewRef","getInnerViewNode","getNativeScrollRef","scrollTo","animated","scrollResponderScrollTo","scrollToEnd","horizontal","scrollResponder","scrollResponderNode","scrollResponderGetScrollableNode","onContentSizeChange","refreshControl","stickyHeaderIndices","pagingEnabled","centerContent","keyboardDismissMode","contentSizeChangeProps","_handleContentOnLayout","hasStickyHeaderIndices","isSticky","stickyHeader","pagingEnabledChild","contentContainer","collapsable","_setInnerViewRef","contentContainerHorizontal","contentContainerCenterContent","baseStyle","baseHorizontal","baseVertical","pagingEnabledStyle","pagingEnabledHorizontal","pagingEnabledVertical","onTouchStart","scrollResponderHandleTouchStart","scrollResponderHandleTouchMove","onTouchEnd","scrollResponderHandleTouchEnd","onScrollBeginDrag","scrollResponderHandleScrollBeginDrag","onScrollEndDrag","scrollResponderHandleScrollEndDrag","onMomentumScrollBegin","scrollResponderHandleMomentumScrollBegin","onMomentumScrollEnd","scrollResponderHandleMomentumScrollEnd","onStartShouldSetResponder","scrollResponderHandleStartShouldSetResponder","onStartShouldSetResponderCapture","scrollResponderHandleStartShouldSetResponderCapture","onScrollShouldSetResponder","scrollResponderHandleScrollShouldSetResponder","_handleScroll","onResponderGrant","scrollResponderHandleResponderGrant","onResponderTerminationRequest","scrollResponderHandleTerminationRequest","onResponderTerminate","scrollResponderHandleTerminate","onResponderRelease","scrollResponderHandleResponderRelease","onResponderReject","scrollResponderHandleResponderReject","ScrollViewClass","scrollView","_setScrollNodeRef","_e$nativeEvent$layout","scrollResponderHandleScroll","scrollResponderZoomTo","scrollResponderScrollNativeHandleToKeyboard","commonStyle","translateZ","WebkitOverflowScrolling","flexDirection","scrollSnapType","scrollSnapAlign","ForwardedScrollView","Share","share","StatusBar","setBackgroundColor","setBarStyle","setHidden","setNetworkActivityIndicatorVisible","setTranslucent","supportsCSS3TextDecoration","ignoredProps","elevation","SYSTEM_FONT_STACK","STYLE_SHORT_FORM_EXPANSIONS","marginHorizontal","marginVertical","overscrollBehavior","paddingHorizontal","paddingVertical","mapTransform","normalizedValue","createTransformValue","isInline","resolvedStyle","backgroundClip","WebkitBackgroundClip","fontVariant","verticalAlign","textDecorationLine","textDecoration","longFormProperties","marginLeft","marginRight","marginTop","marginBottom","longForm","murmurhash2_32_gc","customGroup","borderTopLeftRadius","borderTopRightRadius","borderBottomLeftRadius","borderBottomRightRadius","borderLeftColor","borderLeftStyle","borderLeftWidth","borderRightColor","borderRightStyle","borderRightWidth","PROPERTIES_FLIP","PROPERTIES_I18N","borderTopStartRadius","borderTopEndRadius","borderBottomStartRadius","borderBottomEndRadius","borderStartColor","borderStartStyle","borderStartWidth","borderEndColor","borderEndStyle","borderEndWidth","marginStart","marginEnd","paddingStart","paddingEnd","PROPERTIES_VALUE","atomic","atomicCompile","identifier","valueString","stringifyValueWithProperty","cachedResult","compiledRules","createIdentifier","orderedRules","createAtomicRules","selector","_processKeyframesValu2","processKeyframesValue","animationNames","keyframesRules","createDeclarationBlock","_block","finalValue","_block3","_block4","_block2","_block5","_block6","compiledStyle","$$css","localizeableValue","_left","_right","propPolyfill","polyfillIndices","ltrPolyfillValues","rtlPolyfillValues","ltrVal","ltrPolyfill","rtlPolyfill","classic","_processKeyframesValu","originalStyle","frozenProps","nextStyle","originalProp","originalValue","originalValues","valuePolyfill","domStyle","keyframesValue","keyframes","steps","_createKeyframes","stepName","colorProps","borderTopColor","borderBottomColor","textDecorationColor","textShadowColor","normalizeValueWithProperty","unitlessNumbers","aspectRatio","gridRowGap","gridColumnGap","scaleZ","createCSSStyleSheet","rootNode","getElementById","ShadowRoot","createOrderedCSSStyleSheet","sheetInsert","orderedGroups","getOrderedGroups","groups","nextGroupIndex","groupIndex","nextGroup","cssRules","isInserted","insertRuleAt","cssText","insertRule","groupNumber","previousStart","selectors","cssRule","decodeGroupRule","selectorText","groupPattern","getSelectorText","getTextContent","marker","groupValue","markerRule","encodeGroupRule","selectorPattern","roots","sheets","initialRules","createSheet","getRootNode","initialSheet","staticStyleMap","insertRules","compiledOrderedRules","absoluteFillObject","absoluteFill","_classic","_atomic","compiledStyles","styleObj","preprocess","writingDirection","styleProps","styleq","localizeStyle","style1","style2","flatArray","flat","getSheet","hairlineWidth","resolveRNStyle","defaultOffset","offsetX","offsetY","createTextShadowValue","textShadowOffset","textShadowRadius","_ref2","radius","boxShadowValue","boxShadow","textShadowValue","textShadow","thumbDefaultBoxShadow","thumbFocusedBoxShadow","defaultDisabledTrackColor","defaultDisabledThumbColor","Switch","handleFocusState","isFocused","thumbRef","activeThumbColor","activeTrackColor","_props$disabled","thumbColor","_props$value","styleHeight","styleWidth","trackBorderRadius","trackCurrentColor","true","false","thumbCurrentColor","rootStyle","disabledTrackColor","disabledThumbColor","trackStyle","thumbStyle","thumb","thumbActive","role","transitionDuration","alignSelf","isSelectionStale","setSelection","setSelectionRange","forwardPropsList","autoCapitalize","autoComplete","autoCorrect","readOnly","rows","spellCheck","focusTimeout","TextInput","inputMode","_props$autoCapitalize","autoCompleteType","_props$autoCorrect","blurOnSubmit","clearTextOnFocus","_props$editable","editable","_props$keyboardType","keyboardType","_props$multiline","_props$numberOfLines","numberOfLines","onChangeText","onKeyPress","onMoveShouldSetResponder","onMoveShouldSetResponderCapture","onResponderEnd","onResponderMove","onResponderStart","onScrollShouldSetResponderCapture","onSelectionChange","onSelectionChangeShouldSetResponder","onSelectionChangeShouldSetResponderCapture","onSubmitEditing","placeholderTextColor","returnKeyType","_props$secureTextEntr","secureTextEntry","selectTextOnFocus","handleContentSizeChange","hostNode","newHeight","newWidth","imperativeRef","contextDirection","_useLocaleContext","useLocaleContext","enterKeyHint","blurOnSubmitDefault","isComposing","blur","textinput$raw","langDirection","getLocaleDirection","componentDirection","State","MozAppearance","border","boxSizing","font","createContext","Text","hrefAttrs","selectable","handleClick","WebkitLineClamp","textHasAncestor$raw","text$raw","textOneLine","textMultiLine","notSelectable","pressable","rel","textStyle","listStyle","wordWrap","textOverflow","WebkitBoxOrient","createExtraStyles","activeOpacity","underlayColor","underlay","hasPressHandler","actionable","MemoedTouchableHighlight","onHideUnderlay","onShowUnderlay","rejectResponderTermination","extraStyles","setExtraStyles","showUnderlay","hideUnderlay","only","MemoedTouchableOpacity","setDuration","opacityOverride","setOpacityOverride","setOpacityTo","setOpacityActive","setOpacityInactive","isGrant","accessibilityLiveRegion","accessibilityState","accessibilityValue","nativeID","MemoedTouchableWithoutFeedback","elementProps","cloneElement","twoArgumentPooler","BoundingDimensions","getPooledFromElement","Position","extractSingleTouch","hasTouches","hasChangedTouches","States","NOT_RESPONDER","RESPONDER_INACTIVE_PRESS_IN","RESPONDER_INACTIVE_PRESS_OUT","RESPONDER_ACTIVE_PRESS_IN","RESPONDER_ACTIVE_PRESS_OUT","RESPONDER_ACTIVE_LONG_PRESS_IN","RESPONDER_ACTIVE_LONG_PRESS_OUT","ERROR","baseStatesConditions","IsActive","IsPressingIn","IsLongPressingIn","Signals","DELAY","RESPONDER_GRANT","RESPONDER_RELEASE","RESPONDER_TERMINATED","ENTER_PRESS_RECT","LEAVE_PRESS_RECT","LONG_PRESS_DETECTED","Transitions","LONG_PRESS_DELAY_MS","LONG_PRESS_THRESHOLD","TouchableMixin","_touchableNode","_touchableBlurListener","_isTouchableKeyboardActive","touchable","touchState","touchableHandleResponderTerminate","touchableDelayTimeout","longPressDelayTimeout","pressOutDelayTimeout","pressInLocation","responderID","touchableGetInitialState","touchableHandleResponderTerminationRequest","touchableHandleStartShouldSetResponder","touchableLongPressCancelsPress","touchableHandleResponderGrant","dispatchID","_receiveSignal","delayMS","touchableGetHighlightDelayMS","_handleDelay","longDelayMS","touchableGetLongPressDelayMS","_handleLongDelay","touchableHandleResponderRelease","touchableHandleResponderMove","positionOnActivate","dimensionsOnActivate","pressRectOffset","touchableGetPressRectOffset","pressExpandLeft","pressExpandTop","pressExpandRight","pressExpandBottom","hitSlop","touchableGetHitSlop","touch","_getDistanceBetweenPoints","_cancelLongPressDelayTimeout","prevState","touchableHandleFocus","touchableHandleBlur","_remeasureMetricsOnActivation","_handleQueryLayout","globalX","globalY","curState","_performSideEffectsForTransition","_isHighlight","_savePressInLocation","locationX","locationY","aX","aY","bX","bY","curIsHighlight","newIsHighlight","isInitialTransition","isActiveTransition","touchableHandleLongPress","_startHighlight","_endHighlight","hasLongPressHandler","pressIsLongButStillCallOnPress","touchableHandlePress","_playTouchSound","touchableHandleActivePressIn","touchableHandleActivePressOut","touchableGetPressOutDelayMS","touchableHandleKeyEvent","withoutDefaultFocusAndBlur","TouchableMixinWithoutDefaultFocusAndBlur","Touchable","Mixin","TOUCH_TARGET_DEBUG","renderDebugView","debugHitSlopStyle","normalizedColor","hexColor","getRect","_getBoundingClientRec","measureLayout","relativeToNativeNode","relativeNode","relativeRect","_getRect","focusableElements","INPUT","SELECT","TEXTAREA","measure","measureInWindow","_getRect2","onFail","onSuccess","updateView","configureNextLayoutAnimation","onAnimationDidEnd","setLayoutAnimationEnabledExperimental","vibrate","view$raw","YellowBox","ignoreWarnings","accessibilityComponent","domProps","LocaleProvider","int32Color","useColorScheme","setColorScheme","_Appearance$addChange","useWindowDimensions","dims","setDims","handleChange","propsToAccessibilityComponent","propsToAriaRole","accessibilityStates","roleComponents","article","banner","blockquote","complementary","contentinfo","deletion","emphasis","figure","insertion","listitem","main","navigation","region","strong","accessibilityLevel","accessibilityRoleToWebRole","adjustable","imagebutton","keyboardkey","summary","inferredRole","assets","assetId","dataUriPattern","ImageUriCache","_entries","isDataUri","lastUsedTimestamp","refCount","_cleanUpIfNeeded","leastRecentlyUsedKey","leastRecentlyUsedEntry","imageUris","_maximumEntries","requests","ImageLoader","requestId","onload","complete","clearInterval","interval","setInterval","onDecode","isTouching","lastMomentumScrollBeginTime","lastMomentumScrollEndTime","observedScrollSinceBecomingResponder","becameResponderWhileAnimating","scrollResponderIsAnimating","currentlyFocusedTextInput","keyboardShouldPersistTaps","onScrollResponderKeyboardDismissed","timeSinceLastMomentumScrollEnd","scroll","rect","nodeHandle","additionalOffset","preventNegativeScrollOffset","additionalScrollOffset","scrollResponderTextInputFocusError","scrollResponderInputMeasureAndScrollToKeyboard","keyboardScreenY","keyboardWillOpenTo","endCoordinates","scrollOffsetY","scrollResponderKeyboardWillShow","onKeyboardWillShow","scrollResponderKeyboardWillHide","onKeyboardWillHide","scrollResponderKeyboardDidShow","onKeyboardDidShow","scrollResponderKeyboardDidHide","onKeyboardDidHide","_currentlyFocusedNode","currentlyFocusedField","focusTextInput","textFieldNode","blurTextInput","UnimplementedView","unimplementedViewStyles","processIDRefList","idRefList","pointerEventsStyles","auto","accessibilityActiveDescendant","accessibilityAtomic","accessibilityAutoComplete","accessibilityBusy","accessibilityChecked","accessibilityColumnCount","accessibilityColumnIndex","accessibilityColumnSpan","accessibilityControls","accessibilityCurrent","accessibilityDescribedBy","accessibilityDetails","accessibilityErrorMessage","accessibilityExpanded","accessibilityFlowTo","accessibilityHasPopup","accessibilityHidden","accessibilityInvalid","accessibilityKeyShortcuts","accessibilityLabelledBy","accessibilityMultiline","accessibilityMultiSelectable","accessibilityOrientation","accessibilityOwns","accessibilityPlaceholder","accessibilityPosInSet","accessibilityPressed","accessibilityReadOnly","accessibilityRequired","accessibilityRoleDescription","accessibilityRowCount","accessibilityRowIndex","accessibilityRowSpan","accessibilitySelected","accessibilitySetSize","accessibilitySort","accessibilityValueText","dataSet","required","dataProp","dataName","dataValue","_StyleSheet","className","inlineStyle","canUsePassiveEvents","supportsPassiveEvents","supported","createEventHandle","capture","compatListener","accessibilityProps","clickProps","onClickCapture","focusProps","keyboardProps","onKeyDownCapture","onKeyUp","onKeyUpCapture","mouseProps","onMouseDown","onMouseEnter","onMouseLeave","onMouseMove","onMouseOver","onMouseOut","onMouseUp","touchProps","onTouchCancel","onTouchCancelCapture","onTouchEndCapture","onTouchMoveCapture","onTouchStartCapture","classList","getBoundingClientRect","isSelectionValid","isTextNode","TEXT_NODE","mergeRefs","previousModality","previousActiveModality","activeModality","modality","isEmulatingMouseEvents","KEYBOARD","MOUSE","TOUCH","CONTEXTMENU","MOUSEDOWN","MOUSEMOVE","MOUSEUP","POINTERDOWN","POINTERMOVE","SCROLL","SELECTIONCHANGE","TOUCHCANCEL","TOUCHMOVE","TOUCHSTART","bubbleOptions","passive","captureOptions","addBlurListener","addFocusListener","addVisibilityChangeListener","addKeyDownListener","addPointerDownListener","addPointerMoveListener","addContextMenuListener","addMouseDownListener","addMouseMoveListener","addMouseUpListener","addScrollListener","addSelectiomChangeListener","addTouchCancelListener","addTouchMoveListener","addTouchStartListener","restoreModality","callListeners","onPointerish","eventType","PointerEvent","getModality","visibilityState","CSS_UNIT_RE","wms","textEmphasisPosition","textEmphasis","textEmphasisStyle","textEmphasisColor","boxDecorationBreak","clipPath","maskImage","maskMode","maskRepeat","maskPosition","maskClip","maskOrigin","maskSize","maskComposite","maskBorderSource","maskBorderMode","maskBorderSlice","maskBorderWidth","maskBorderOutset","maskBorderRepeat","maskBorder","maskType","textDecorationStyle","textDecorationSkip","breakAfter","breakBefore","breakInside","columnFill","columnGap","columnRule","columnRuleColor","columnRuleStyle","columnRuleWidth","columnSpan","backdropFilter","hyphens","flowInto","flowFrom","regionFragment","textOrientation","fontKerning","textSizeAdjust","isSupported","requestIdleCallback","didTimeout","timeRemaining","isCustomProperty","styleName","styleValue","DOM_LAYOUT_HANDLER_NAME","resizeObserver","useElementLayout","ResizeObserver","observe","unobserve","useEvent","targetListeners","removeTargetListener","lockEventType","unlockEventType","dispatchCustomEvent","createEvent","_ref$bubbles","_ref$cancelable","initCustomEvent","dispatchEvent","getPointerType","useHover","targetRef","onHoverUpdate","canUsePE","addMoveListener","addEnterListener","addLeaveListener","addLockListener","addUnlockListener","hoverEnd","leaveListener","moveListener","hoverStart","lockEvent","LocaleContext","isLocaleRTL","needsContext","rtlScripts","rtlLangs","cachedRTL","script","maximize","useMergeRefs","didWarn","usePlatformMethods","previousStyleRef","setNativePropsArgsRef","relativeToNode","nextDomStyle","RESPONDER_ACTIVE_LONG_PRESS_START","RESPONDER_ACTIVE_PRESS_START","RESPONDER_INACTIVE_PRESS_START","isActiveSignal","isButtonRole","isPressStartSignal","isValidKeyPress","isSpacebar","PressResponder","_eventHandlers","_isPointerTouch","_longPressDelayTimeout","_longPressDispatched","_pressDelayTimeout","_pressOutDelayTimeout","_touchState","configure","_cancelPressDelayTimeout","_cancelPressOutDelayTimeout","_createEventHandlers","shouldDelay","_selectionTerminated","normalizeDelay","_handleLongPress","keyupHandler","getTouchFromResponderEvent","_touchActivatePosition","hypot","_this$_config","_this$_config2","_this$_config3","_performTransitionSideEffects","isPrevActive","isNextActive","_activate","_deactivate","_this$_config4","_onLongPress","_this$_config5","_this$_config6","_event$nativeEvent","usePressEvents","pressResponderRef","pressResponder","getEventHandlers","isStartish","isMoveish","isEndish","isCancelish","isScroll","isSelectionChange","startRegistration","moveRegistration","shouldSetResponderEvents","touchstart","mousedown","touchmove","mousemove","emptyResponder","idPath","responderListenersMap","trackedTouchCount","currentResponder","responderTouchHistoryStore","ResponderTouchHistoryStore","changeCurrentResponder","getResponderConfig","eventListener","domEvent","wantsResponder","eventTarget","isStartEvent","isPrimaryPointerDown","isMoveEvent","isEndEvent","isScrollEvent","isSelectionChangeEvent","responderEvent","recordTouchTrack","eventPaths","getResponderPaths","wasNegotiated","currentResponderIdPath","eventIdPath","lowestCommonAncestor","getLowestCommonAncestor","indexOfLowestCommonAncestor","nodePath","findWantsResponder","shouldSetCallbacks","shouldSetCallbackCaptureName","shouldSetCallbackBubbleName","callbackName","shouldSetCallback","prunedIdPath","_id2","_node2","attemptTransfer","_currentResponder2","currentId","_getResponderConfig2","_getResponderConfig3","allowTransfer","_currentResponder","_getResponderConfig","isTerminateEvent","hasValidSelection","isReleaseEvent","hasTargetTouches","shouldTerminate","documentEventsCapturePhase","documentEventsBubblePhase","attachListeners","__reactResponderSystemActive","addNode","setResponderId","removeNode","terminateResponder","_currentResponder3","_getResponderConfig4","getResponderNode","timestampForTouch","getTouchIdentifier","printTouch","printTouchBank","touchHistory","touchBank","printed","_touchHistory","numberActiveTouches","indexOfSingleActiveTouch","mostRecentTimeStamp","touchRecord","touchActive","previousPageX","currentPageX","previousPageY","currentPageY","previousTimeStamp","currentTimeStamp","recordTouchStart","resetTouchRecord","startPageX","startPageY","startTimeStamp","activeRecord","touchTrackToCheck","emptyArray","normalizeIdentifier","createResponderEvent","normalizeTouches","force","propagationWasStopped","domEventChangedTouches","domEventType","emulatedTouches","useResponderEvents","getInitialValue","isAttachedRef","isResponder","keyName","composedPathFallback","eventPath","composedPath","pathA","pathB","pathALength","pathBLength","itemA","indexA","itemB","indexB","noModifiers","isPrimaryMouseDown","isPrimaryMouseMove","UNINITIALIZED","useStable","FlatList","SectionList","attachNativeEvent","viewRef","argMapping","eventMappings","__makeNative","nativeEventPath","animatedValueTag","__getNativeTag","viewTag","mapping","addAnimatedEventToView","detach","removeAnimatedEventFromView","validateMapping","validate","recMapping","recEvt","mappingKey","AnimatedEvent","_listeners","_argMapping","__addListener","_callListeners","_attachedEvent","__isNative","shouldUseNativeDriver","_validatedMapping","validatedMapping","_combineCallbacks","onComplete","maybeVectorAnim","anim","configX","configY","_config$key","parallel","stopTogether","timing","_start2","animatedValue","configuration","resetAnimation","_startNativeLoop","iterations","_isUsingNativeDriver","animations","doneCount","hasEnded","endResult","Value","ValueXY","Interpolation","decay","_start3","spring","_start","modulus","diffClamp","stagger","loop","_ref$iterations","_ref$resetBeforeItera","resetBeforeIteration","isFinished","iterationsSoFar","restart","animatedEvent","__getHandler","createAnimatedComponent","forkEvent","unforkEvent","__removeListener","Event","__PropsOnlyForTests","emptyAnimation","anyValue","bezier","bounciness","_t","_t2","x1","y1","nativeEventEmitter","NativeAnimatedModule","RN$Bridgeless","__nativeAnimatedNodeTagCount","__nativeAnimationIdCount","waitingForQueuedOperations","queueOperations","API","saveValueCallback","setWaitingForIdentifier","unsetWaitingForIdentifier","disableQueue","startOperationBatch","finishOperationBatch","queueOperation","createAnimatedNode","startListeningToAnimatedNodeValue","stopListeningToAnimatedNodeValue","connectAnimatedNodes","parentTag","childTag","disconnectAnimatedNodes","startAnimatingNode","animationId","nodeTag","endCallback","setAnimatedNodeValue","setAnimatedNodeOffset","flattenAnimatedNodeOffset","extractAnimatedNodeOffset","connectAnimatedNodeToView","disconnectAnimatedNodeFromView","restoreDefaultValues","dropAnimatedNode","eventMapping","animatedNodeTag","SUPPORTED_STYLES","SUPPORTED_TRANSFORMS","rotateZ","SUPPORTED_INTERPOLATION_PARAMS","extrapolate","extrapolateRight","generateNewAnimationId","_warnedMissingNativeAnimated","addWhitelistedStyleProp","addWhitelistedTransformProp","addWhitelistedInterpolationParam","validateStyles","validateTransform","configs","validateInterpolation","generateNewNodeTag","assertNativeAnimatedModule","transformDataType","stiffnessFromOrigamiValue","oValue","dampingFromOrigamiValue","fromOrigamiTensionAndFriction","tension","friction","stiffness","damping","fromBouncinessAndSpeed","speed","normalize","startValue","endValue","projectNormal","bouncyTension","bouncyFriction","b3Nobounce","startNativeAnimationNextId","Animation","onUpdate","onEnd","previousAnimation","__nativeId","__onEnd","startNativeAnimationWaitId","__getNativeAnimationConfig","__debouncedOnEnd","DecayAnimation","_config$deceleration","_config$isInteraction","_config$iterations","_deceleration","deceleration","_velocity","velocity","_useNativeDriver","__isInteraction","__iterations","__active","_lastValue","_fromValue","_onUpdate","_startTime","__startNativeAnimation","_animationFrame","requestAnimationFrame","cancelAnimationFrame","SpringAnimation","_overshootClamping","_config$overshootClam","overshootClamping","_restDisplacementThreshold","_config$restDisplacem","restDisplacementThreshold","_restSpeedThreshold","_config$restSpeedThre","restSpeedThreshold","_initialVelocity","_config$velocity","_lastVelocity","_config$velocity2","_toValue","_delay","_config$delay","mass","_stiffness","_config$stiffness","_damping","_config$damping","_mass","_config$mass","_config$bounciness","_config$speed","springConfig","_config$tension","_config$friction","_springConfig","_this$_initialVelocit","initialVelocity","_startPosition","_lastPosition","_lastTime","_frameTime","internalState","getInternalState","lastPosition","lastVelocity","lastTime","_timeout","deltaTime","zeta","omega0","omega1","x0","envelope","_envelope","isOvershooting","isVelocity","isDisplacement","_easeInOut","TimingAnimation","_config$easing","_config$duration","_easing","_duration","frames","numFrames","kSampleStepSize","float32ArraySupported","Float32Array","aA1","aA2","calcBezier","aT","getSlope","mX1","mY1","mX2","mY2","getTForX","intervalStart","currentSample","lastSample","kSplineTableSize","sampleValues","guessForT","dist","initialSlope","newtonRaphsonIterate","_aGuessT","aGuessT","currentSlope","currentX","binarySubdivide","_aA","_aB","currentT","aA","aB","FlatListWithEventThrottle","ScrollViewWithEventThrottle","SectionListWithEventThrottle","_excluded2","animatedComponentNextId","AnimatedComponent","_invokeAnimatedPropsCallbackOnMount","_eventDetachers","_animatedComponentId","_isFabric","_this$_component$_int","_this$_component$_int2","_this$_component$getN","_this$_component$getN2","_this$_component$getS","_this$_component$getS2","_component","canonical","_waitForUpdate","_markUpdateComplete","_animatedPropsCallback","forceUpdate","_propsAnimated","__getAnimatedValue","_setComponentRef","getForwardedRef","setLocalRef","_prevComponent","getNode","_ref$constructor$name","_this$_component","scrollableNode","_loop","__attach","__detach","nextProps","oldPropsAnimated","__restoreDefaultValues","__getValue","_ref$style","passthroughAnimatedPropExplicitValues","_ref2$style","passthruStyle","passthruProps","mergedStyle","_attachProps","setNativeView","_attachNativeEvents","newProps","prevProps","_detachNativeEvents","AnimatedAddition","__addChild","__removeChild","AnimatedDiffClamp","_min","_max","_value","AnimatedDivision","_warnedAboutDivideByZero","createInterpolation","createInterpolationFromStringOutputRange","checkPattern","stringShapeRegex","colorToRgba","outputRanges","interpolations","shouldRound","isRgbOrRgba","checkInfiniteRange","checkValidInputRange","findRange","inputMin","inputMax","outputMin","outputMax","AnimatedInterpolation","_parent","_interpolation","parentValue","__transformDataType","__createInterpolation","AnimatedModulo","_modulus","AnimatedMultiplication","NativeAnimatedAPI","_uniqueId","AnimatedNode","__nativeTag","hasListeners","_startListeningToNativeValueUpdates","_stopListeningForNativeValueUpdates","__nativeAnimatedValueListener","__shouldUpdateListenersForNewNativeTag","_onAnimatedValueUpdateReceived","__callListeners","_this$__nativeTag","nativeTag","__getNativeConfig","AnimatedProps","_callback","_animatedView","__disconnectAnimatedView","__connectAnimatedView","animatedView","nativeViewTag","propsConfig","propKey","AnimatedStyle","_style","updatedStyle","_walkStyleAndGetValues","_walkStyleAndGetAnimatedValues","styleConfig","styleKey","AnimatedSubtraction","AnimatedTracking","animationClass","animationConfig","_animationClass","_animationConfig","AnimatedTransform","_transforms","transConfigs","AnimatedValue","_startingValue","_animation","_updateValue","_tracking","tracking","_flush","animatedStyles","findAnimatedStyles","__getChildren","animatedStyle","AnimatedValueXY","valueIn","setOffset","flattenOffset","extractOffset","jointCallback","AnimatedWithChildren","_children","_step","_iterator","_step2","_iterator2","Batchinator","_taskHandle","Info","any_blank_count","any_blank_ms","any_blank_speed_sum","mostly_blank_count","mostly_blank_ms","pixels_blank","pixels_sampled","pixels_scrolled","total_time_spent","sample_count","_minSampleCount","_sampleRate","FillRateHelper","getFrameMetrics","_anyBlankStartTime","_enabled","_info","_mostlyBlankStartTime","_samplesStartTime","_getFrameMetrics","_resetData","performance","derived","scrollMetrics","getItemCount","dOffset","visibleLength","scrollSpeed","blankTop","firstFrame","inLayout","blankBottom","lastFrame","blankness","deactivateAndFlush","sampleRate","minSampleCount","numColumnsOrDefault","numColumns","_virtualizedListPairs","_captureRef","_listRef","_getItem","_item","_getItemCount","_keyExtractor","_this$props$keyExtrac","keyExtractor","_renderer","ListItemComponent","renderItem","columnWrapperStyle","virtualizedListRenderKey","renderer","_item2","row","separators","_checkProps","viewabilityConfigCallbackPairs","viewabilityConfig","onViewableItemsChanged","_createOnViewableItemsChanged","scrollToIndex","scrollToItem","scrollToOffset","recordInteraction","getScrollRef","_this$props$keyExtrac2","viewableItems","_pushMultiColumnViewable","removeClippedSubviews","_this$props2","_removeClippedSubviews","configureNext","Presets","easeInEaseOut","springDamping","Types","easeIn","easeOut","keyboard","Properties","scaleXY","checkConfig","NativeEventEmitter","nativeModule","_nativeModule","_this$_nativeModule","subscription","_this$_nativeModule2","removeListeners","_this$_nativeModule3","_this$_nativeModule4","currentCentroidXOfTouchesChangedAfter","currentCentroidYOfTouchesChangedAfter","previousCentroidXOfTouchesChangedAfter","previousCentroidYOfTouchesChangedAfter","currentCentroidX","currentCentroidY","PanResponder","_initializeGestureState","gestureState","moveX","moveY","y0","dx","dy","vx","vy","_accountsForMovesUpTo","_updateGestureStateOnMove","movedAfter","prevX","prevY","nextDX","nextDY","shouldCancelClick","stateID","panHandlers","onStartShouldSetPanResponder","onMoveShouldSetPanResponder","onStartShouldSetPanResponderCapture","onMoveShouldSetPanResponderCapture","clearInteractionTimeout","onPanResponderGrant","onShouldBlockNativeResponder","onPanResponderReject","onPanResponderRelease","setInteractionTimeout","onPanResponderStart","onPanResponderMove","onPanResponderEnd","onPanResponderTerminate","onPanResponderTerminationRequest","getInteractionHandle","Klass","instancePool","standardReleaser","poolSize","addPoolingTo","CopyConstructor","pooler","NewKlass","_wrapperListRef","scrollToLocation","listRef","getListRef","_stickySectionHeadersEnabled","stickySectionHeadersEnabled","TouchHistoryMath","centroidDimension","touchesChangedAfter","isXAxis","ofCurrent","oneTouchData","touchTrack","noCentroid","ViewabilityHelper","viewAreaCoveragePercentThreshold","_hasInteracted","_timers","_viewableIndices","_viewableItems","itemCount","scrollOffset","viewportHeight","renderRange","itemVisiblePercentThreshold","viewAreaMode","viewablePercentThreshold","viewableIndices","firstVisible","metrics","_isViewable","itemLength","_isEntirelyVisible","pixels","_getPixelsVisible","createViewToken","waitForInteraction","computeViewableItems","minimumViewTime","_onUpdateSync","viewableIndicesToCheck","prevItems","nextItems","viewable","_step$value","_step2$value","_viewable","isViewable","computeWindowedRenderLimits","maxToRenderPerBatch","windowSize","getFrameMetricsApprox","visibleBegin","visibleEnd","overscanLength","fillPreference","overscanBegin","overscanEnd","leadFactor","lastItemOffset","_elementsThatOverlapO","elementsThatOverlapOffsets","outLength","trailingOffset","overscanFirst","overscanLast","newCellCount","maxNewCells","firstWillAddMore","firstShouldIncrement","lastWillAddMore","lastShouldIncrement","VirtualizedListContext","VirtualizedListContextProvider","cellKey","getScrollMetrics","getOutermostParentListRef","getNestedChildState","registerAsNestedChild","unregisterAsNestedChild","debugInfo","listKey","VirtualizedListCellContextProvider","_ref3","_usedIndexForKey","_keylessItemComponentName","horizontalOrDefault","initialNumToRenderOrDefault","initialNumToRender","maxToRenderPerBatchOrDefault","onEndReachedThresholdOrDefault","onEndReachedThreshold","windowSizeOrDefault","VirtualizedList","_getScrollMetrics","_scrollMetrics","_getOutermostParentListRef","_isNestedWithSameOrientation","_getNestedChildState","existingChildData","_nestedChildLists","_registerAsNestedChild","childList","childListsInCell","_cellKeysToChildListKeys","describeNestedLists","parentDebugInfo","_unregisterAsNestedChild","_onUpdateSeparators","_cellRefs","updateSeparatorProps","_getSpacerKey","isVertical","_averageCellLength","_frames","_footerLength","_hasDoneInitialScroll","_hasMore","_hasWarned","_headerLength","_hiPriInProgress","_highestMeasuredFrameIndex","_indicesToKeys","_offsetFromParentVirtualizedList","_prevParentOffset","contentLength","_scrollRef","_sentEndForContentLength","_totalCellLength","_totalCellsMeasured","_viewabilityTuples","_captureScrollRef","_defaultRenderScrollComponent","_props$refreshing","_onCellUnmount","_onLayout","measureLayoutRelativeToContainingList","_selectLength","_scheduleCellsToRenderUpdate","_maybeCallOnEndReached","_onLayoutEmpty","_onLayoutFooter","_triggerRemeasureForChildListsInCell","_getFooterCellKey","_onLayoutHeader","_onContentSizeChange","initialScrollIndex","_convertParentScrollMetrics","_onScroll","_selectOffset","_this$_convertParentS","perf","prevDt","_updateViewableItems","_fillRateHelper","activate","_computeBlankness","_onScrollBeginDrag","viewabilityHelper","_onScrollEndDrag","_onMomentumScrollBegin","_onMomentumScrollEnd","_updateCellsToRender","_this$props3","isVirtualizationDisabled","_isVirtualizationDisabled","_this$_scrollMetrics","renderAhead","distanceFromEnd","_getFrameMetricsApprox","newFirst","newLast","cellKeyForIndex","childListKeys","someChildHasMore","childKey","hasMore","_createViewToken","_this$props4","getItemLayout","_this$props5","_updateCellsToRenderBatcher","_this$props$updateCel","updateCellsBatchingPeriod","storedState","_getListKey","invertedWheelEventHandler","inverted","veryLast","onScrollToIndexFailed","viewOffset","viewPosition","averageItemLength","highestMeasuredFrameIndex","_this$context","_getCellKey","_this$context2","setupWebWheelHandler","dispose","teardownWebWheelHandler","cells","stickyIndicesFromProps","inversionStyle","prevCellKey","_this$props6","CellRendererComponent","ItemSeparatorComponent","stickyOffset","ListHeaderComponent","CellRenderer","fillRateHelper","onUpdateSeparators","_onCellLayout","onUnmount","parentProps","disableVirtualization","nestedContext","flatStyles","_this$props7","ListEmptyComponent","ListFooterComponent","_this$props8","horizontallyInverted","verticallyInverted","ListHeaderComponentStyle","spacerKey","lastInitialIndex","_this$state","_pushCells","firstAfterInitial","insertedStickySpacer","initBlock","stickyBlock","leadSpace","trailSpace","_initBlock","firstSpace","endFrame","tailSpacerLength","_element","_element2","ListFooterComponentStyle","scrollProps","invertStickyHeaders","innerRet","_getDebugInfo","renderScrollComponent","_renderDebugOverlay","_this$props9","extraData","resetViewableIndices","hiPriInProgress","computeBlankness","_step3","_iterator3","framesInLayout","windowTop","frameLast","windowLen","visTop","visLen","debugOverlayBase","debugOverlay","debugOverlayFrame","debugOverlayFrameLast","debugOverlayFrameVis","_this$props10","onEndReached","_this$_scrollMetrics2","_this$state2","_this$_scrollMetrics3","hiPri","scrollingThreshold","distTop","distBottom","schedule","separatorProps","highlighted","leadingItem","_separators","highlight","_this$props11","unhighlight","_this$props12","updateProps","_this$props13","_this$props14","_renderElement","itemSeparator","cellStyle","rowReverse","columnReverse","ItemWithSeparator","LeadingSeparatorComponent","SeparatorComponent","setSelfHighlightCallback","updateHighlightFor","setSelfUpdatePropsCallback","updatePropsFor","section","leadingSeparatorHiglighted","setLeadingSeparatorHighlighted","separatorHighlighted","setSeparatorHighlighted","_React$useState3","leadingSection","trailingItem","trailingSection","leadingSeparatorProps","setLeadingSeparatorProps","_React$useState4","setSeparatorProps","leadingSeparator","VirtualizedSectionList","_subExtractor","_convertViewable","_info$index","keyExtractorWithNullableIndex","keyExtractorWithNonNullableIndex","_onViewableItemsChanged","_renderItem","listItemCount","infoIndex","renderSectionHeader","renderSectionFooter","_getSeparatorComponent","SectionSeparatorComponent","_setUpdateHighlightFor","_setUpdatePropsFor","_updateHighlightFor","_updatePropsFor","_updatePropsMap","updateHighlight","_updateHighlightMap","updateHighlightFn","updatePropsFn","itemIndex","sectionIndex","sections","toIndexParams","passThroughProps","listHeaderOffset","itemIdx","sectionData","extractor","isLastItemInList","isLastItemInSection","deepDiffer","maxDepth","twoKey","EmitterSubscription","emitter","subscriber","removeSubscription","sparseFilterPredicate","_subscriber","addSubscription","removeAllSubscriptions","subscriptions","getSubscriptionsForType","_EventSubscription","EventSubscriptionVendor","_subscriptionsForType","subscriptionsForType","makeEmptyFunction","thatReturns","thatReturnsFalse","thatReturnsTrue","thatReturnsNull","thatReturnsThis","thatReturnsArgument","storeKey","_Provider$childContex","subscriptionKey","_Component","_proto","storeShape","subscriptionShape","prefixUnsafeLifecycleMethods","hotReloadingVersion","dummyState","connectAdvanced","selectorFactory","_contextTypes","_childContextTypes","_ref2$getDisplayName","_ref2$methodName","_ref2$renderCountProp","renderCountProp","_ref2$shouldHandleSta","shouldHandleStateChanges","_ref2$storeKey","_ref2$withRef","connectOptions","Connect","selectorFactoryOptions","renderCount","propsMode","setWrappedInstance","initSelector","initSubscription","trySubscribe","tryUnsubscribe","notifyNestedSubs","getWrappedInstance","wrappedInstance","sourceSelector","getState","parentSub","onStateChange","notifyNestedSubsOnComponentDidUpdate","isSubscribed","addExtraProps","withExtras","_ref$connectHOC","connectHOC","_ref$mapStateToPropsF","mapStateToPropsFactories","_ref$mapDispatchToPro","mapDispatchToPropsFactories","_ref$mergePropsFactor","mergePropsFactories","_ref$selectorFactory","factories","strictEqual","mapStateToProps","mapDispatchToProps","mergeProps","_ref3$pure","_ref3$areStatesEqual","areStatesEqual","_ref3$areOwnPropsEqua","areOwnPropsEqual","_ref3$areStatePropsEq","areStatePropsEqual","_ref3$areMergedPropsE","areMergedPropsEqual","extraOptions","initMapStateToProps","initMapDispatchToProps","initMergeProps","wrapMapToPropsFunc","wrapMapToPropsConstant","bindActionCreators","defaultMergeProps","stateProps","dispatchProps","ownProps","mergedProps","hasRunOnce","nextMergedProps","impureFinalPropsSelectorFactory","pureFinalPropsSelectorFactory","handleNewState","nextStateProps","statePropsChanged","handleSubsequentCalls","nextOwnProps","propsChanged","stateChanged","dependsOnOwnProps","hasRunAtLeastOnce","firstState","firstOwnProps","finalPropsSelectorFactory","getConstant","constantSelector","getDependsOnOwnProps","mapToProps","proxy","stateOrDispatch","subscribe","Subscription","nullListeners","notify","unsubscribe","addNestedSub","shallowEqual","objA","objB","keysB","BrowserRouter","_React$Component","_ret","Link","router","innerRef","NavLink","activeClassName","activeStyle","getIsActive","ariaCurrent","escapedPath","isEmptyChildren","Route","computeMatch","computedMatch","sensitive","nextContext","_context$router","staticContext","Router","isExact","_element$props","pathProp","patternCache","cacheCount","compilePath","compiledPattern","_options","_options$exact","_options$strict","_options$sensitive","_compilePath","defaultDelimiter","PATH_REGEXP","asterisk","optional","escapeGroup","escapeString","encodeURIComponentPretty","encodeURI","tokensToFunction","pretty","isarray","attachKeys","regexpToRegexp","arrayToRegexp","pathToRegexp","tokensToRegExp","endsWithDelimiter","compile","Toast","ToastContainer","POSITION","TOP_LEFT","TOP_RIGHT","TOP_CENTER","BOTTOM_LEFT","BOTTOM_RIGHT","BOTTOM_CENTER","TYPE","INFO","SUCCESS","WARNING","DEFAULT","ACTION","SHOW","CLEAR","DID_MOUNT","WILL_UNMOUNT","ON_CHANGE","NOOP","RT_NAMESPACE","isValidDelay","objectValues","canUseDom","falseOrDelay","eventManager","emitQueue","cancelEmit","timers","timer","cssTransition","enter","exit","_ref$duration","_ref$appendPosition","appendPosition","enterDuration","exitDuration","preventExitTransition","enterClassName","exitClassName","Transition","onEnter","animationFillMode","onEntered","onExit","_cx","_animationEvent","isRunning","closeToast","hide","userStyle","controlledProgress","rtl","animationEvent","getX","iLoveInternetExplorer","canCloseOnClick","canDrag","drag","removalDistance","boundingRect","pauseToast","autoClose","playToast","onDragStart","draggablePercent","onDragMove","onDragEnd","onDragTransitionEnd","_this$boundingRect","pauseOnHover","onExitTransitionEnd","onExited","onOpen","bindDragEvents","pauseOnFocusLoss","bindFocusEvents","unbindDragEvents","unbindFocusEvents","onClose","closeButton","closeOnClick","hideProgressBar","bodyClassName","progressClassName","progressStyle","updateId","toastProps","in","appear","CloseButton","ariaLabel","containerId","arialLabel","Bounce","toast","toastKey","isToastActive","buildToast","removeToast","dispatchChange","makeCloseButton","toastClose","toastId","getAutoCloseDelay","toastAutoClose","canBeRendered","parseClassName","belongToContainer","enableMultiContainer","toastOptions","toastClassName","appendToast","staleToastId","_extends2","renderToast","toastToRender","newestOnTop","_this5$collection$toa","isDocumentHidden","disablePointer","TransitionGroup","containers","latestInstance","containerDomNode","containerConfig","lazy","isAnyContainerMounted","mergeOptions","getToastId","generateToastId","dispatchToast","warning","getToast","oldOptions","oldContent","nextOptions","containerInstance","UNMOUNTED","EXITED","ENTERING","ENTERED","EXITING","initialStatus","parentGroup","isMounting","appearStatus","unmountOnExit","mountOnEnter","nextCallback","nextIn","updateStatus","nextStatus","cancelNextCallback","getTimeouts","mounting","nodeRef","forceReflow","performEnter","performExit","appearing","maybeNode","maybeAppearing","timeouts","enterTimeout","safeSetState","onEntering","onExiting","setNextCallback","doesNotHaveTimeoutOrListener","addEndListener","maybeNextCallback","childProps","handleExited","contextValue","firstRender","mounted","prevChildMapping","getInitialChildMapping","getNextChildMapping","currentChildMapping","getChildMapping","childFactory","mapFn","getProp","nextChildMapping","mergeChildMappings","getValueForKey","nextKeysPending","pendingKeys","prevKey","childMapping","pendingNextKey","hasPrev","hasNext","prevChild","isLeaving","keyPrefix","__self","__source","PureComponent","IsSomeRendererActing","_currentValue2","_threadCount","Consumer","createFactory","createRef","createThunkMiddleware","extraArgument","thunk","withExtraArgument","applyMiddleware","middlewares","createStore","reducer","preloadedState","enhancer","_dispatch","middlewareAPI","middleware","bindActionCreator","actionCreator","actionCreators","boundActionCreators","combineReducers","reducers","reducerKeys","finalReducers","finalReducerKeys","shapeAssertionError","assertReducerShape","ActionTypes","previousStateForKey","nextStateForKey","getUndefinedStateErrorMessage","actionType","INIT","ensureCanMutateNextListeners","nextListeners","currentListeners","isDispatching","currentReducer","replaceReducer","nextReducer","observeState","outerSubscribe","_interopDefault","R__default","RS","createTypes$1","_R$merge","defaultOptions$1","camelToScreamingSnake","convertToTypes","typesCreator","createActionCreator","extraPropNames","_merge","rr","typeToReset","originalReducer","resetState","createReducer","createTypes","createActions","Creators","resettableReducer","isAbsolute","spliceOne","hasTrailingSlash","toParts","fromParts","isToAbs","isFromAbs","mustEndAbs","up","sortIndex","startTime","priorityLevel","MessageChannel","unstable_forceFrameRate","port2","port1","unstable_Profiling","unstable_continueExecution","unstable_getFirstCallbackNode","unstable_next","unstable_pauseExecution","unstable_wrapCallback","Immutable","immutableInit","fnObject","fnArray","fnDate","REACT_ELEMENT_TYPE","globalConfig","use_static","instantiateEmptyObject","addPropertyTo","immutabilityTag","isImmutable","isMergableObject","mutatingObjectMethods","mutatingArrayMethods","nonMutatingArrayMethods","nonMutatingObjectMethods","mutatingDateMethods","ImmutableError","makeImmutable","bannedMethods","banProperty","arraySet","mutable","asMutableArray","makeImmutableArray","immutableEmptyArray","arraySetIn","pth","thisHead","setIn","nextHead","objectSetIn","immutableEmptyObject","makeMethodReturnImmutable","currentMethod","asObject","updateIn","getIn","asMutableDate","iteratorResult","keysToRemoveArray","makeImmutableObject","asDeepMutable","asMutable","quickCopy","dest","receivedArray","merger","addToResult","currentObj","otherObj","immutableValue","mergerResult","currentValue","otherFromArray","clearDroppedKeys","objectReplace","objectSet","restArgs","initialVal","getInPath","asMutableObject","instantiatePlainObject","stackRemaining","File","toStatic","toStaticObjectOrArray","static","isArrayish","AbstractTokenizer","numBuffer","bytesLeft","BufferTokenizer","normOptions","bytes2read","normalizeOptions","ReadStreamTokenizer","streamReader","skipBuffer","peek","bufSize","totBytesRead","fromWebStream","webStream","webStreamReader","chainedClose","createStyleq","disableCache","disableMix","definedProperties","nextCache","possibleStyle","classNameChunk","cacheEntry","definedPropertiesChunk","compiledKey","weakMap","subStyle","_prop","compileStyle","markerProp","compiledStyleIndex","_cachedStyles","_compiledStyle","cachedStyles","symbolObservablePonyfill","observable","invariant","provided","dv","UINT8","getUint8","setUint8","getUint16","setUint16","UINT16_BE","setUint32","UINT32_BE","INT32_BE","getInt32","setInt32","UINT64_LE","getBigUint64","setBigUint64","IgnoreType","Uint8ArrayType","encoding","textDecoder","AnsiStringType","extendStatics","__assign","__generator","sent","trys","ops","verb","op","__values","arrayLength","valueLength","validOffsetLength","index2","rnds8","rng","msCrypto","byteToHex","uuid","rnds","printWarning","contractions","emojiRegex","rgxSpaces","rgxEmoji","rgxContraction","rgxPosSingular","rgxPosPlural","rgxsMaster","category","fingerPrintCodes","emoticon","emoji","hashtag","mention","quoted_phrase","currency","alien","rgxs","finalTokens","methods","manageContraction","ct","tokenizeTextUnit","rgxSplit","balance","aword","imax","tokenizeTextRecursively","sentence","tkn","defineConfig","rgx","uniqueCats","addTag","fingerprintCode","tokenize","getTokensFP","fp","addRegex","App","_store","handwritecanvas","marktextrender","audiorecorder","ellipsistext","htmleditor","selectunittype","searchimageonline","generalArticle","collapsiblePanel","marktexteditor_contentedit","referenceanswerview","basepracticemultiunit","basepracticeunitwithgeneralarticle","basearticlepracticesunit","basepracticemultiunitwithsharedtop","posc1and2and3unit","pozb3unit","psbx1unit","pslx1unit","pslx2unit","pscx1unit","pobx2unit","pocx1unit","pocx2unit","pocx4unit","poex1unit","poeo1unit","poka3unit","poka4unit","pola1unit","pomx1unit","pomx2unit","pomx4unit","psuo1unit","pssd2unit","posb1unit","pska5unit","pssd1unit","psso1unit","psdo1aiview","pssd1aiview","single","poca3singleunit","poka1singleunit","poka2singleunit","poka3singleunit","poka4singleunit","pska5singleunit","poea6singleunit","pola1singleunit","psac1singleunit","psba4singleunit","psbb1singleunit","psfa2singleunit","pska1singleunit","layouts","account","admin","portal","plain","practice","room","navbars","mobile","sidebar","footers","portalfooter","screens","teacherlogin","agent","login","userlogin","userregister","forgotpassword","changepassword","registerpartner","activeteacher","management","edit","statistic","withdrawallist","withdrawaldetails","agentapplicationlist","agentapplicationdetails","incomestatistic","redenvelope","wallet","withdrawal","withdrawalcomplete","studentcapitalflow","agentreferralcode","bankcard","subagent","teacheraccount","useraccount","promotion","shareagentlist","shareagentadd","promotionlist","promotiondetails","sharestatistic","redenvelopestatistic","class","detailsnew","homeworkdetails","listnew","student","editnew","import","shiftstudent","unregstudent","course","teaching","bookassignment","bookgroup","addmyunit","dashboard","imagefield","lettersen","radical","batchadd","editjson","unittask","detailslist","makingpicture","templateconfirmation","prototypedesign","templatedevelopment","templatevalidation","picturevalidation","testcontent","feedbackmodification","publishinglist","verification","exam","example","composition","assignmentlist","assignmentpreview","assignmentdetails","review","aiprompts","bbs","homework","addunit","commentlist","classcommentlist","classreviewlist","commentdetails","reviewlist","reviewdetails","unitdetails","unsubmitdetails","unitpreview","makeuplist","homeworksummary","icons","emailverificationcode","phoneverificationcode","user","manageuser","manageteacheruser","manageagentuser","manageotheruser","maps","messageboard","apiexceptionrule","partner","profile","setting","voicesetting","automarknumber","featureconfiguration","redenvelopesetting","chineseparksetting","servicesetting","testspeechrecognition","regionserversetting","currencyInfo","offlineproblem","suggestion","contact","syllable","tables","simplebatchadd","batchexport","move","fields","a5anda6fields","multiunitfields","posc1and2and3fields","anyanswersfield","articlefield","audiofield","charsfield","htmlfield","charstextfield","charstokentextfield","choicecharsfield","choiceimagefield","choicelocalizabletextfield","choicetextfield","contentfield","fillingblanklistfield","generalarticlefield","articleselectfield","layoutmodefield","imagefieldlist","imagedatafield","imagecharsfield","localizabletextfield","marktexteditor","personlist","tablefield","texttablefield","marktexttablefield","imagetexttablefield","spokendialogfield","chinesefield","paragraphfield","readingdialogfield","sentencefield","sentencelocalizabletextfield","orderwordsfield","practicesfield","referenceanswerfield","textsourcefield","answerfields","a1fields","poza4fields","sozb1fields","pozb2fields","pozb3fields","sozc1fields","cpfields","d1fields","pozd3fields","pozd4fields","soze1fields","poze2fields","poze3fields","pozf1fields","g1fields","h1fields","pozi1fields","pozi2fields","pozi3fields","pozi4fields","pozi5fields","pozi6fields","i7fields","pozi8fields","poab1fields","poab2fields","poab3fields","poba1fields","poba2fields","pobb1fields","pobc1fields","pogc1fields","poca1fields","poca2fields","poca3fields","poca4fields","poca5fields","poca6fields","pocb1fields","pocb2fields","pocb3fields","pocc1fields","pocc2fields","pocx1fields","pocx2fields","pocx3fields","poea2fields","poea3fields","poea4fields","poea5fields","poea6fields","poeb1fields","poeb2fields","poeb3fields","poeb4fields","poex1fields","poeo1fields","psuo1fields","poka1fields","poka2fields","poka3fields","poka3simplefields","poka4fields","poka4simplefields","pobx1fields","pobx2fields","pola1fields","pomx1fields","pomx2fields","pomx3fields","pomx4fields","posc1fields","posc2fields","posc3fields","psab1fields","psab4fields","psac1fields","psac2fields","psaf1fields","psag1fields","psah1fields","psah2fields","psar1fields","psba1fields","psba2fields","psba3fields","psba4fields","psba5fields","psba6fields","psbb1fields","psbc1fields","psbx1fields","psbx2fields","pscx1fields","psda1fields","psdb1fields","psdb2fields","psdc1fields","psdc2fields","psdc3fields","psfa1fields","psfa2fields","pslx1fields","pslx2fields","pska5fields","pska5simplefields","pszm1fields","psdo1fields","pssd2fields","pssd2audiofields","posb1fields","pssd1fields","psso1fields","forms","a1form","a4form","b1form","b2form","cpform","unitform","simpleunitform","simplebatchunitform","a5anda6form","b4andd2form","unittype","unittitle","book","submit","addsection","editsection","addrawunit","editrawunit","deleted","unittaskconfiguration","oralbook","editunit","unitlist","readingbook","chineseparkserver","talkchinese","adddialog","editdialog","chooseschool","manage","jiaocai","home","pricing","jobs","undone","downloadapp","studentuse","teacheruse","termscondition","privacy","rewardterms","roomvipterms","aboutus","chinesepark","userhomeworkunit","teachershare","studentshare","joinclass","whiteboard","session","taskqueue","LRUCache","lrunode","setHead","removeAll","BaseComponent","ManagerPartner","EditorPartner","AssistantPartner","viewName","partnerRole","enableProduct","enableOtherAnswer","enablePromotion","enableBbs","enableOralAndReadBook","localState","preAction","curAction","isDone","componentHandleActionDone","componentHandleActionError","displayError","componentHandleError","actionHandlers","executedActions","isExecuting","newError","BaseScreen","routeName","userId","isGuest","isLoggedIn","BaseView","ErrorBoundary","hasError","inVO","errorMessage","errorPage","errorTrace","addError","show","danger","InternalAppConfig","APP_SERVICE_BASE","g_settings","serviceBaseUrl","FILE_SERVER","localFileServerUrl","APP_CLIENT_ID","APP_CLIENT_SECRET","APP_CLIENT_VERSION","APP_CLIENT_BUILD","MOBILE_APP_CLIENT_BUILD","TWITTER_CONSUMER_KEY","FACEBOOK_CLIENT_ID","SESSION_STORAGE_KEY","INITIAL_URL","APPLE_APP_ID","GOOGLE_APP_PACKAGE_NAME","APP_NAME","IOS_APP_ID","ANDROID_APP_ID","IS_PREMIUM_APP","PREMIUM_APP_SCHOOL_ID","APP_ADS_REFRESH_INTERVAL","PREMIUM_APP_ID","IMAGII_DISABLED","IS_APP_UNDER_REVIEW","GOOGLE_WEB_CLIENT_ID","GOOGLE_IOS_CLIENT_ID","WECHAT_APP_ID","SHOW_UNITTEST","STORAGE_KEY","LANGUAGE_SETTING","ONESIGNAL_APP_ID","WECHAT_UNIVERSAL_LINK","ANDROID_APP_DOWNLOAD_LINK","IOS_APP_DOWNLOAD_LINK","UNIT_PASSING_SCORE","AUDIO_RATE_OF_ROBOT","AUDIO_RATE_OF_USER","MAX_AUDIO_RECORD_LIMIT","ENABLE_OFFLINE","LATEST_APPS","LOCAL_REGION_SERVERS","localRegionServers","AppConfig","newConfig","FILE_STORAGE","ROOT_PATH","TEMP_PATH","PINYIN_PATH","LOCAL_FILE_STORAGE","TALK_CHINESE_ROOT_PATH","TEXT_MARK_TYPE","PLAIN_TEXT","HIGHLIGHT","UNDERLINE","BOLD","POP_INPUT","ICON","SKIP","KEYWORD","TYPO","MISSPELT","ERRORLETTER","WRITE_INPUT","SENTENCE_MARK_TYPE","ALIGN_CENTER","ALIGN_RIGHT","LEFT_INDENT","DIALOG","FIELD_TYPE","CHARSFIELD","IMAGEFIELD","AUDIOFIELD","TABLE_COLUMN_TYPE","UNKNOWN","TEXT","IMAGE","TRANSLATION","FIELD_TYPE_MAP_ARRAY","VALID_MP3_MIMES","SUPER_ADMIN_ID","CHARS_FIELD_SYLLABLES_SEPARATOR","USER_GUEST","SUPPORTED_LANGUAGES","culture","USER_ROLE","USER","ADMIN","TEACHER","AGENT","BOOK_MANAGER","ON_CALL","USER_TABLE_TYPES","STUDENT_USER","TEACHER_USER","AGENT_USER","OTHER_USER","BACKGROUND_TASK_TYPE","API_CALL","UNIT_API_CALL","UPDATE_UNIT_RESULT","UNIT_UPLOAD","RESTART_UNIT","RECOGNIZE_AUDIO","COMPLETE_HOMEWORK","START_HOMEWORK","BACKGROUND_TASK_QUEUE_TYPE","UPLOAD","PRIMARY_COLOR","SECONDARY_COLOR","CODES","SPA_CLIENT_OLD","TO_BE_AUTHENTICATED","ACCESS_VIOLATION","MISSING_EMAIL","SSO_VIOLATED","NOT_EXIST_CURUSER","ACCOUNT_NOT_EXIST","INACTIVE_ACCOUNT","EXIST_ACCOUNT","MUST_IN_WAITLIST_DUE_TO_MIN_PLAYER_BOUND","MUST_IN_WAITLIST_DUE_TO_MIN_RESTRICT_TEAM_JOIN","USER_HOMEWORK_UNIT_NOT_EXIST","USER_HOMEWORK_NOT_EXIST","ALREADY_JOINED_TEAM","TEAM_JOIN_PENDING","INVITED_MEMBER_JOIN","ADDED_MEMBER_BY_ADMIN","USER_HOMEWORK_NOT_COMPLETED","USER_HOMEWORK_ALREADY_COMPLETED","NEED_PASS_QUIZ","INVALID_NETWORK_EMAIL","REQUIRE_PAYMENT","REQUIRE_SIGN_WAIVERS","REQUIRE_SET_PASSWORD","REQUIRE_COMPLETE_REGISTRATION","REQUIRE_LINK_FACEBOOK","REQUIRE_HTTPS","REQUIRE_ACCEPT_TERM","NEED_REDIRECT_TO_PAYMENT","RECAPTCHA_VALIDATION_FAIL","REMOVE_TEAM_CAPTAIN_ERROR","REQUIRE_SSO_SET_PASSWORD","ALREADY_SCHOOL_MEMBER","PENDING_JOIN_SCHOOL_REQUEST","HAVE_NO_JOINED_SCHOOL","NOT_SESSION_MEMBER","NOT_GAME_MEMBER","REQUIE_VALID_TEAM","TEAM_DOES_NOT_EXIST","NEED_TO_CHOOSE_PACKAGE","NOT_EVENT_MEMBER","CAN_JOIN_AS_NOMAD","NEED_CREATE_NEW_ACCOUNT","SID_IN_USE","SID_PENDING_REQUEST","SID_VERIFY_FAILED","SID_NOT_MATCH","SID_NOT_IN_SHEET","FITNESS_DISABLED","CLUB_DISABLED","CLIENT_TIMEOUT","BACKGROUND_TASK_NOT_READY","MOBILE_UID_PREFIX","PASSWORD_REGEX","HOMEWORK_RESULT_GRADE","PERFECT","EXCELLENT","GOOD","PITY","ENTITY_TYPE","PORTAL","MEMBER","ACCOUNT","NETWORK","SPORT","LEAGUE","DIVISION","REGULARGAME","PLAYOFFGAME","TEAM","CLUB","FITNESS","INTRAMURAL","PLAYOFF","CONVERSATION","FITNESSSESSION","PAYMENT","CURRENCY_TYPE","USD","CNY","GATEWAY","BRAINTREE","WECHAT","STRIPNET","ORDER_STATUS","NEW","COMPLETED","TO_BE_PROCESSED","PROCESSING_FAILURE","NOTIFICATION_RECEIVED","VERIFICATION_FAILED","ORDER_DENIED","TO_BE_DENIED","PENDING","SPEECH_CONSTANT","DEFAULT_RECOGNIZE_TIME_OUT","MAX_RECOGNIZE_TIME_OUT","DEFAULT_WORD_RECOGNIZE_TIME_OUT","MAX_WORD_RECOGNIZE_TIME_OUT","SPEECH_LANG","COURSE_CATEGORY","POEM","NOVEL","CHILDREN_STORY","SPOKEN_LANGUAGE","IDIOMSTORY","CLASSIC_ARTICLE","AnswerTypeEnum","AnswerType_DirectInput","AnswerType_UploadFile","AnswerType_DirectInputOrUploadFile","AnswerType_Audio","AnswerType_UploadImage","AnswerTypeCookieKey","Audio","UploadImage","UnitViewModeEnum","Normal","SimpleBatch","Homework","DefaultPageSize","lngCode","lngArray","nsArray","nsWords","folderPath","isSupportHTTPS","addPrefix","newObj","navigators","cclass","mainNavigator","cplan","errorBoundary","loadScreenErrorHandler","customModule","speechRecognition","autoHeightWebView","reportWordError","bottompopexplanation","bottomPopInput","writeInput","replyInput","wordAnalysisView","commonmodal","commonUpgradeModal","speechTestBox","shareBulletinBoard","chatView","confirmModal","sketchCanvasModal","fileUploadModal","imagePickerModal","pyCandidatesBar","zoomerImage","screenloadingindicator","unitissuereportmodal","mediaTestModal","audioTestModal","pkBooksModal","pkLevelModal","banChatModal","passwordModal","inviteModal","spokenBooksModal","pkResultRankView","userListView","shareScreen","bindMail","forgetpassword","verifyMail","changepasswordfirstlogin","manageUsers","userDetails","splash","introductionView","completeReview","conversation","addMember","chat","createConversation","groupUserList","aichat","addReportMail","addStudyPlan","editReportMail","feedbackSuggestion","inviteFriend","notification","linkEmail","parentEmail","member","myRewards","pointsDetail","profileSetting","resetPassword","rewardHistory","rewardPlanList","rewardTask","setRewardPlan","stats","studyPlanList","myClass","myWallet","fundsDetails","withdraw","bankAccounts","editBankAccount","about","backgroundTaskOverview","makePayment","paymentHistory","webView","deleteAccount","serverSetting","roomHistory","roomHistoryDetails","bookList","chineseTest","completeCourse","startTest","studyTaskChoice","testDecription","testResult","testUnit","network","unitlayout","recordsetting","spokenreadingheader","recordingview","basepracticeunit","askanswerunit","a1unit","poza4unit","poza5unit","poza6unit","sozb1unit","pozb2unit","pozb4unit","sozc1unit","cpunit","d1unit","pozd2unit","pozd3unit","pozd4unit","soze1unit","poze2unit","pozf1unit","g1unit","h1unit","pozi1unit","pozi2unit","pozi3unit","pozi4unit","pozi5unit","pozi6unit","i7unit","pozi8unit","poab1unit","poab2unit","poab3unit","poba1unit","pobb1unit","pobs1unit","pobx1unit","poca3unit","poca4unit","pocc1unit","pocx3unit","poea5unit","poea6unit","poea7unit","pomx3unit","poka1unit","poka2unit","posc1unit","posc2unit","posc3unit","psab2unit","psab3unit","psab4unit","psac1unit","psac2unit","psaf1unit","psah2unit","psar1unit","psba2unit","psba3unit","psba4unit","psbb1unit","psbx2unit","psda1unit","psdb1unit","psdb2unit","psfa1unit","psfa2unit","pska1unit","pszm1unit","psdo1unit","psdo1commentview","pssd1commentview","commentform","psdo1commentform","pssd1commentform","unitview","homeworkcomplete","homeworkhistory","homeworkpeerrevise","peerrevisedetail","homeworkunit","homeworkunitredo","homeworkcompleteredo","newdefault","newlist","newhistorylist","replylist","historypreview","classranking","practiceresult","resultviews","poka1resultview","poka2resultview","poka3resultview","pska1resultview","reviewunit","completehomework","checkunit","checkpracticeresult","checkcomplete","redohomeworkcheckunit","createRoom","chooseRegion","createRoomResult","banChat","blackList","chmodeSetting","noticeSetting","pkResult","passwdSetting","roomSetting","roomManager","vipFeatures","vipPurchase","pkRules","roommember","roomList","addroommember","editroommember","plan","ranking","historylist","studyletter","taskList","letterList","stateDesc","letterDetails","wordList","wordDetails","statisticletterList","topList","offline","homeworkList","downloadHomework","offlineManageHome","learn","productcourse","searchword","bookdetail","addcomment","myactivity","userHomework","baseHomeworkOfflineProcessor","ReactNativeWebDimensionHelper","innerWidth","innerHeight","LOGIN_ASYNC","LOGIN_SUCCESS","LOGIN_FAILURE","WECHAT_LOGIN_ASYNC","WECHAT_LOGIN_SUCCESS","WECHAT_LOGIN_FAILURE","FB_LOGIN_ASYNC","FB_LOGIN_SUCCESS","FB_LOGIN_FAILURE","GOOGLE_LOGIN_ASYNC","GOOGLE_LOGIN_SUCCESS","GOOGLE_LOGIN_FAILURE","ADMIN_LOGIN_SUCCESS","LOAD_SCREEN_VIEW_ASYNC","LOAD_SCREEN_VIEW_SUCCESS","LOAD_SCREEN_VIEW_FAILURE","CHANGE_NAME_ASYNC","CHANGE_NAME_SUCCESS","CHANGE_NAME_FAILURE","CHANGE_GENDER_ASYNC","CHANGE_GENDER_SUCCESS","CHANGE_GENDER_FAILURE","CHANGE_BIRTHDAY_ASYNC","CHANGE_BIRTHDAY_SUCCESS","CHANGE_BIRTHDAY_FAILURE","CHANGE_MEMBER_PHOTO_ASYNC","CHANGE_MEMBER_PHOTO_SUCCESS","CHANGE_MEMBER_PHOTO_FAILURE","CHANGE_ROLE_ASYNC","CHANGE_ROLE_SUCCESS","CHANGE_ROLE_FAILURE","UPLOAD_IMAGE_TO_SERVER_ASYNC","UPLOAD_IMAGE_TO_SERVER_FAILURE","LINK_WECHAT_ASYNC","LINK_WECHAT_SUCCESS","LINK_WECHAT_FAILURE","UNLINK_WECHAT_ASYNC","UNLINK_WECHAT_SUCCESS","UNLINK_WECHAT_FAILURE","LINK_FACEBOOK_ASYNC","LINK_FACEBOOK_SUCCESS","LINK_FACEBOOK_FAILURE","UNLINK_FACEBOOK_ASYNC","UNLINK_FACEBOOK_SUCCESS","UNLINK_FACEBOOK_FAILURE","LINK_GOOGLE_ASYNC","LINK_GOOGLE_SUCCESS","LINK_GOOGLE_FAILURE","UNLINK_GOOGLE_ASYNC","UNLINK_GOOGLE_SUCCESS","UNLINK_GOOGLE_FAILURE","UPDATE_LINK_SETTINGS","CREATE_PLACED_ORDER_ASYNC","CREATE_PLACED_ORDER_SUCCESS","CREATE_PLACED_ORDER_FAILURE","centerAlign","centerMain","centerCross","fontSyllable","iconAudioSyllable","iconAudioWord","Platform","iconAudioSentence","iconAudioOnly","onlyWordFontSize","iconMic","flexDirectionRow","chooseView","chooseViewCenter","chooseViewBorder","flex1","flex2","flex3","baseTitle","pdgb20","itemDefColor","itemSelColor","blockItem","blockItemNoPinyin","blockAnswer","blockAnswerInsertion","blockAnswerInsertionFont","blockAnswerRight","blockAnswerRightFont","blockAnswerWrong","blockAnswerWrongFont","blockSelect","blockSelected","blockSelectCurrent","borRadius3","soundBtn","defFont","letterSpacing","fontSize20","fontSize23","fontSize32","defTranslationFont","defFontPoea7","defTranslationFontPoea7","defBtnFontSize","marginBottom20","marginBottom30","marginVertical20","dividingLine","fatherUnitAudioView","fatherUnitAudio","topHeight","onlyImageSize","imagesSize","Avatar","ContainerStyle","LeftConversation","CenterConversation","RightConversation","singleUnit","overlay","speechBoxContainer","flexRowWrap","flexWrap","choiceWord","btnSubmit","btnSubmitAutoWidth","btnSubmitDisabled","background","cardBackground","listItemBackground","brand","primary","secondary","primaryLight","secondaryLight","note","webBlue","webBlueLight","webWin","webWinLight","webLoss","webLossLight","webTies","webTiesLight","webWarning","webWarningLight","webWaitList","textPrimary","textSecondary","headingPrimary","headingSecondary","textGrey","textGreyDark","textWhite","textWhite75","textWhite54","noticeBg","noticeBorder","badgeInfo","badgeWarning","bgGreyDark","bgGreyLight","facebook","twitter","tabbar","iconDefault","iconSelected","primaryColor","secondaryColor","internalColorObj","newColor","_events","_emitting","hasnull","REGION_SERVER_STORAGE_KEY","RegionServerManager","_disabled","_servers","_selectedId","_autoSelect","_byCountry","_tester","_testResolves","_onTestFinished","_loadPromise","server","_setAppConfigServer","loadStoreEnd","servers","selectedId","autoSelect","startTestAsync","_saveToLocalStoreLater","stopTest","_startTestLater","_pendingTest","selectByCountry","_resolveTests","isEnabled","apiEndPoint","fileServerEndPoint","proxyEndPoint","nodeServerEndPoint","speechRecognizeServiceType","speechReviewServiceType","speechRecognizeUseProxyServer","_pendingSave","resolves","bestId","setSelectedId","g_regionServerServer","TestResult","rtt","TestTask","_onTestResult","_timer","_begin","responseData","_onResult","RegionServerTester","_results","_pendings","_waitings","_concurrent","_maxRound","_curRound","_roundDelay","_started","maxRound","roundDelay","_stopTest","_startTest","bestScore","maxRttTime","_getMaxRttTime","_getScore","serverId","totalTime","totalCount","timeoutCount","baseScore","timeScore","_nextPing","_nextRoundTime","_nextRoundTimer","hasTimeout","getBestId","reslove","loadReply","saveReply","deleteReply","BACK","NavigationService","_routes","_layoutRoutesDict","_routesDict","_routesDictByUID","fullpath","getRoutes","layoutRoutes","fromScreen","targetRouteName","navigateToPageByUID","navigationHistory","targetUID","getRouteByUID","navigateToPage","searchParams","icon","grade","actionReducer","postReducer","successReducer","parentType","failureReducer","Paradux","initialReducers","rootKey","_reducers","_rootKey","_keyedReducers","_registry","reducerWrapper","deregister","initReducers","collectiveState","rootState","nextRootState","actionName","_internalParadux","g_paradux","ReducerRegister","unsubscribeCount","paradux","registerByKey","deregisterByKey","INITIAL_STATE","Actions","tryLoadSession","logout","receiveRefreshedToken","switchBackToSuperAdmin","switchBackToAgent","isLoginFromAdminStatic","superAdminBackupData","switchBackToTeacher","isLoginFromAgent","agentBackupData","authorization","partnerList","isLoginFromSuperAdmin","teacherBackupData","loginSuccessReducer","unitTaskParticipants","isLoginFromTeacher","enableLearnFunction","ENABLE_LEARN_FUNCTION","enableChinesePark","ENABLE_CHINESE_PARK","enableBbsFunction","ENABLE_BBS_FUNCTION","selectPartnerSuccessReducer","superAdmin","newUser","newPartner","organization","newPartnerList","partnerItem","addedBy","fullName","creator","newPhoto","newUserIcon","photo","loadTask","addTask","taskType","deleteTask","updateTask","batchAddTask","executeTaskAsync","executeTaskSuccess","executeTaskSuccessReducer","executeTaskFailure","executeTaskFailureReducer","taskQueue","TaskTypes","isProcessing","isNullOrEmpty","generateUUID","TaskStates","taskData","dataType","ownerId","ownerType","unitType","resourceId","LOGOUT","TRY_LOAD_SESSION","RECEIVE_REFRESHED_TOKEN","SWITCH_BACK_TO_SUPER_ADMIN","SWITCH_BACK_TO_AGENT","SWITCH_BACK_TO_TEACHER","LOAD_TASK","ADD_TASK","DELETE_TASK","UPDATE_TASK","BATCH_ADD_TASK","EXECUTE_TASK_ASYNC","EXECUTE_TASK_SUCCESS","EXECUTE_TASK_FAILURE","SELECT_PARTNER","LOAD_APP_ASYNC","LOAD_APP_SUCCESS","LOAD_APP_FAILURE","CHANGE_PASSWORD_ASYNC","CHANGE_PASSWORD_SUCCESS","CHANGE_PASSWORD_FAILURE","TOGGLE_MODAL","UPDATE_SETTINGS","REGISTER_PARTNER_ASYNC","REGISTER_PARTNER_SUCCESS","REGISTER_PARTNER_FAILURE","GETUSER_BY_EMAIL_ASYNC","GETUSER_BY_EMAIL_SUCCESS","GETUSER_BY_EMAIL_FAILURE","SHOW_COUNT_DOWN","SEND_CORP_CODE_ASYNC","SEND_CORP_CODE_SUCCESS","SEND_CORP_CODE_FAILURE","GET_ALL_COUNTRY_CODE_ASYNC","GET_ALL_COUNTRY_CODE_SUCCESS","GET_ALL_COUNTRY_CODE_FAILURE","SEND_SMS_VERIFY_CODE_ASYNC","SEND_SMS_VERIFY_CODE_SUCCESS","SEND_SMS_VERIFY_CODE_FAILURE","SEND_EMAIL_VERIFY_CODE_ASYNC","SEND_EMAIL_VERIFY_CODE_SUCCESS","SEND_EMAIL_VERIFY_CODE_FAILURE","RESET_TO_INITIAL_DATA","ACTIVE_TEACHER_ASYNC","ACTIVE_TEACHER_SUCCESS","ACTIVE_TEACHER_FAILURE","REGISTER_ASYNC","REGISTER_SUCCESS","REGISTER_FAILURE","UPLOAD_IMAGE_TO_SERVER_SUCCESS","SEND_VERIFY_CODE_ASYNC","SEND_VERIFY_CODE_SUCCESS","SEND_VERIFY_CODE_FAILURE","CLOSE_COUNT_DOWN","CHANGE_SETTINGS","HIDE_SEND_SUCCESSFULE_MSG","LOGIN_OTHER_USER_ASYNC","LOGIN_OTHER_USER_SUCCESS","LOGIN_OTHER_USER_FAILURE","SAVE_USER_ASYNC","SAVE_USER_SUCCESS","SAVE_USER_FAILURE","SAVE_PASSWORD_ASYNC","SAVE_PASSWORD_SUCCESS","SAVE_PASSWORD_FAILURE","UPLOAD_PHOTO_ASYNC","UPLOAD_PHOTO_SUCCESS","UPLOAD_PHOTO_FAILURE","StoreManager","_createStore","appReducer","rootReducer","_configureStore","enhancers","analytics","userProps","pageProps","loadAppAsync","loadAppSuccess","loadAppFailure","mergedReducer","AdminLayout","AccountLayout","PortalLayout","PlainLayout","MobileLayout","RoomLayout","DefaultScreen","isOnCall","isAgent","isStudent","_handleLoadAppAsyncDone","isActionDone","connect","serviceWorker","registration","isMobileWeb","ApiService","apiUrl","jsonData","successCallback","failureCallback","bearerAuth","accessToken","headerJson","replayApiErrorSauce","basicAuth","returnedData","cachedKey","_formalizeError","api","fromCache","apiWithOffline","keyCache","dataCache","validityCheckDelay","tryRefreshTokenTimes","ignoreConvertingCamelCaseRequestArr","_ajax","refreshForced","_getBearerAuthorizationHeader","clientVersion","clientBuild","clientType","clientOS","jsonDataString","_callAjax","pCacheKey","tCacheKey","retriedTimes","isDeactivatedAccount","refreshToken","refreshResponse","offlineCallback","forceNoWait","_ajaxWithOffline","returned","isSSO","formData","processData","contentType","BackgroundTaskService","processTask","taskRoundSec","taskQueueData","processTaskOneByOne","processApiCallTask","saveQueue","errTask","processIndex","runner","processFirstTask","loadApp","partnerId","loadLocalStore","snakeCaseObject","regionServers","setServers","clearLocalStore","loadScreenView","saveUnit","vo","batchAddUnit","firebaseConfig","apiKey","authDomain","projectId","storageBucket","messagingSenderId","appId","measurementId","Analytics","_tracker","callHelper","app","initializeApp","getAnalytics","logEvent","setUserId","setUserProperties","_analytics","screenName","isSdkReady","firebase_screen","firebase_screen_class","user_role","userRole","user_partner","userPartner","page_partner","pagePartner","groupMessage","groupTitle","groupCollapsed","groupEnd","throw","EnglishTokenCodec","_tokenChar","_charToken","_codePoint","spaces","fromCodePoint","tokenToChar","charToToken","decodeToArray","convertSnakeCaseKeysToCamelCase","camelCaseObject","convertCamelCaseKeysToSnakeCase","convertCamelCaseKeysToUpperSnakeCase","pinyinConvert","convertToPinyin","n2","n3","n4","ng2","ng3","ng4","m2","m4","splitPinyinToArray","splitValues","decodeURL","startNdx","addDots","getCurrentPartnerId","getAudioVirtualPathFromSyllable","convertToFileServerPath","serverPath","fileServerPath","replaceHtmlVirtualPath","memberId","isAdmin","isTeacher","isBookManager","isPartner","isEditorPartner","isManagerPartner","isAssistantPartner","isNullOrUndefined","randomizeArray","arr1","arr3","localizeString","localizableString","lan","localizeStringNoChinese","localizeStringByLanguage","translateChinese","sourceLang","isTwoWordsSame","combineTranslation","_return","combineTranslationForSentences","newTranslation","createArrayWithNumbers","isChinese","isEnglish","isChineseWithPunctuation","containSentencePunc","sentencePunctuations","combineFieldsIntoSentences","syllables","sentences","_translation","extractFieldsFromSentences","_chars","_syllables","extractFieldsFromParagraphs","paragraphs","mapSentenceSyllablesIntoWords","sIdx","sArr","wIdx","wArr","lIdx","lArr","isPunctuation","IsNoNeedCompareChar","isChineseCharacters","combineFieldsIntoParagraphs","_sentences","splitParagraph","isSenPunc","tailArr","combineSentence","shouldCombineCallback","itemArray","wordCount","getWords","GetPlainTextFromSentence","combineFieldsIntoDialog","splitMinLength","dialog","extractFieldsFromContentFieldFormData","singleUnitIndex","singleUnitPattern","tempFieldPayloads","fieldIndex","fieldName","combineContentField","fieldPayloads","fieldPayload","_fieldPayload","audioPath","imagePath","extractFieldsFromContentFieldPayloads","isMp3","isMp3File","countryCompareZH","getCountries","allOrderedCountries","allCountries","newOrderedCountries","getCountryName","countryCode","downloadFile","getLastFileName","numberWithCommas","convertToLocalTime","localDate","convertToLocalString","convertToUtcTime","formatToUtcTime","dateString","addDays","setDate","getTimeZone","displayPhone","phone","buildFilePathInUnits","useLocalFilePath","stripDeletedEmail","getLanguageCodes","existsSepcialContent","nameReg","getImageWidthHeightWithPath","imgWidth","imgHeight","maxImgWidth","convertToAbsoluteUrl","buildWordAudioName","wordSyllables","filteredSyllables","hasChineseChars","regExp","getUnicodeOfChineseChar","ichar","getAvatarStr","userName","avatarStr","nameArray","createTwoDimensionArray","getNumberStr","parseSpeechTestResultForWordComponent","letterHelperItem","charHelperItem","colorKind","errorType","accuracyScore","nextInsertedWord","previousInsertedWord","parseSpeechTestResultForSentenceComponent","currentIndex","overrideWordArray","overrideLetterHelperArray","wordItem","charItem","charIndex","phrasesInAnswer","phrases","answer","failCallback","newPhrases","newAnswer","phrase","isSubjective","getWeekDays","daysInWeek","selectedDays","numPerWeek","getContainerSize","isMobile","clearCache","formatTimeDuration","getRealUnitType","convertAnswerToJson","uploadedFiles","parseAnswerJson","parsedObj","targetObjet","isImageAnswerType","answerType","EnumHasFlag","isRecordAnswerType","isNotDefaultAnswerType","extractAllValuesIntoArray","tmpList","getI18nNSWithAllUnitView","unitUIDObject","unitFieldUIDObject","unitUIDObjectNSList","unitFieldUIDObjectNSList","convertNumToCircleNum","insertHtmlContentPrefix","findContentPos","permutationsAll","returnArray","permutations","permutation","hideInitPageLoadingIcon","onPageLoad","fadeTarget","getHtmlInnerTextLength","DOMParser","parseFromString","innerText","isHtmlContentEmpty","getElementsByTagName","trimTailZero","getUserReadingAnswerTotalChars","codec","getNewAttribute","attribute","newAttribute","renderTemplate","textRender","wordMarkMap","wordMarkReMap","sentenceMarkReMap","extractInputSettings","settingString","defaultFirstNumber","fitFirstNumber","paramArray","initialCharCount","isInFitInitialCharCountCase","defaultValueArray","defaultValueToSHow","GetDefaultAnswerToShow","firstNumber","defaultValueToShow","IsAnswerRightForInput","userInput","extractIconSettings","extractNumberSettings","chnText","numText","extractErrorLetterSettings","rightText","errText","ParseMarkTextStrPart","command","charStack","commandArray","tmpChar","UnionAllEnum","orgContent","initialRowCount","addWordToArray","newItem","needPush","lastItem","ParseMarkText","helperStack","commandStack","contentStack","pushCommandNow","pushContentNow","wordObj","ParseSentence","parseObj","ParseSentenceMarkAndLeftPart","hasEndFlag","endFlagIndex","commandEnd","contentStart","contentClosed","leftString","enumArray","targetArray","returnResult","targetEnum","flagEnum","parsedSentence","GetPlainTextFromSentenceForSpeechUse","GetCountOfMarkTypeFromSentence","GetContentListOfMarkTypeFromSentence","GetWordsOfMarkTypeFromSentence","ConvertMarkTypeToString","markDic","ConvertParsedWordToString","parsedWord","wordCommand","ParseSetting","parsedSetting","GetSentenceStyleBySentenceCommand","sentenceCommand","centerAligned","rightAligned","leftIndent","sentenceClassName","dialogRole","dialogRoleA","dialogRoleB","sentenceStyle","GetWordStyleBySentenceCommand","bold","underline","borderBottomWidth","borderBottomStyle","cursorInMarks","marks","marksInSelection","posStart","posEnd","flag1","flag2","flag3","flag4","ContainMarksInSelection","GetWordContainerStyleBySentenceCommand","underlineHighlight","commandContainerStyle","GetDefaultTextFromSentence","JoinWords","forEnLang","lastWord","curWord","lastFirstChar","lastChar","curChar","curLastChar","ReplaceEnglishKeyword","wordStr","keyText","markText","englishReg","prevChar","isNetworkConnected","createStorageEngine","jsonState","groutTitle","TASKQUEUE_STORAGE_KEY","SAVE_UNIT","PROCESSING","FAILED","executeSaveUnitTaskAsync","TaskHelper","saveTaskIntoStorage","targetQueue","taskIndex","newTask","queueType","option","dayjsClass","dayjsFactory","oldParse","cfg","normalizePinyin","isPinyinValid","everything","wrapInList","prevWordFound","wordEnd","wordFound","prevEntry"],"mappings":"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EyyC,GAAW,AAAAN,CAAAA,EAAY,YAAe,CAAG,YAAc,AAAd,EAAiBp2C,GAAG,CAAC,EAAKiE,MAAM,CAAE,IAG/EwyC,AAAY,KAAZA,GAAoBC,AAAY,MAAZA,IACjBD,AAAY,KAAZA,GAAoBC,AAAY,KAAZA,IACxB,MAAO,C,EAAA,CACNxgC,IAAK,MACLq7B,KAAM,mBACP,E,AAGH,CAEA,O,EAAM,EAAK5tC,SAAS,CAACsB,MAAM,CAACuxC,G,QACX,OADjB,UACiB,C,EAAM,EAAKG,WAAW,CAACP,G,QACxC,MAAO,C,EAAAxE,MADDA,CAAAA,GAAW,WACVA,GAAY,CAClB17B,IAAK,MACLq7B,KAAM,YACP,E,QAGD,GAAIzzB,AAAY,KAAZA,EACH,MAAO,C,EAAA,CACN5H,IAAK,MACLq7B,KAAM,YACP,E,aAEF,I,KA3mDYJ,c,GA8mD8B,IAAAyF,UAAU,CACX,GAAAC,SAAS,A,qHClyD5C,IAAMD,EAAa,CACzB,MACA,MACA,OACA,MACA,OACA,OACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,OACA,MACA,MACA,OACA,MACA,MACA,MACA,KACA,MACA,KACA,MACA,MACA,MACA,MACA,OACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,OACA,OACA,MACA,MACA,MACA,MACA,OACA,MACA,QACA,MACA,MACA,MACA,OACA,OACA,QACA,MACA,MACA,MACA,MACA,MACA,MACA,KACA,KACA,SACA,MACA,MACA,MACA,MACA,MACA,KACA,MACA,IACA,KACA,MACA,MACA,MACA,QACA,MACA,OACA,OACA,OACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,OACA,OACA,MACA,MACA,MACA,KACA,MACA,MACA,MACA,OACA,MACA,MACA,QACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,QACA,MACA,MACA,MACA,KACA,MACA,KACA,KACA,MACA,OACA,MACA,MACA,MACA,OACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,UACA,QACA,MACA,OACA,MACA,OACA,MACA,MACA,OACA,MACA,MACA,MACA,MACA,OACA,OACA,OACA,OACA,MACA,MACA,MACA,MACA,MACA,OACA,OACA,OACA,OACA,OACA,MACA,KACA,CAEYC,EAAY,CACxB,aACA,YACA,YACA,aACA,aACA,cACA,oBACA,oBACA,aACA,YACA,qBACA,4BACA,yBACA,uBACA,0BACA,0CACA,iDACA,kDACA,0EACA,4EACA,oEACA,kBACA,oBACA,+BACA,mBACA,sBACA,8BACA,gCACA,6BACA,YACA,aACA,mBACA,aACA,kBACA,gBACA,YACA,cACA,iBACA,iBACA,yBACA,aACA,aACA,aACA,YACA,YACA,YACA,yBACA,kBACA,eACA,YACA,gBACA,YACA,kBACA,oBACA,4BACA,2BACA,gCACA,kBACA,mBACA,YACA,aACA,gCACA,WACA,WACA,kBACA,eACA,cACA,yBACA,kBACA,mBACA,wBACA,iCACA,wCACA,oCACA,oBACA,6BACA,oBACA,yBACA,qBACA,oBACA,oBACA,kBACA,aACA,wBACA,YACA,YACA,YACA,YACA,YACA,YACA,aACA,kBACA,iCACA,aACA,sBACA,aACA,sBACA,aACA,YACA,oBACA,mBACA,gBACA,aACA,WACA,oBACA,+BACA,cACA,4BACA,4BACA,cACA,yBACA,cACA,aACA,sBACA,mBACA,oBACA,oBACA,wBACA,uBACA,cACA,cACA,2BACA,YACA,aACA,cACA,aACA,aACA,aACA,+BACA,aACA,+BACA,4BACA,qBACA,YACA,8BACA,YACA,YACA,mBACA,YACA,6BACA,gBACA,wBACA,sBACA,oBACA,qBACA,+BACA,mBACA,6BACA,6BACA,wBACA,0CACA,+BACA,oBACA,wEACA,uEACA,0EACA,oDACA,mDACA,0DACA,2DACA,8CACA,uDACA,iDACA,mDACA,mDACA,yDACA,6DACA,2BACA,+BACA,A,oPCzVM,SAASV,cAA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BACN,IAAM,KACN,IAAM,0BACN,IAAM,6BACN,IAAM,KACN,IAAM,qBACN,IAAM,IACN,IAAM,iDACN,IAAM,aACN,IAAM,UACN,IAAM,cACN,KAAO,eACP,KAAO,KACP,KAAO,WACP,KAAO,gBACP,GAAK,gBACL,GAAK,MACL,GAAK,8BACL,GAAK,0IACL,KAAO,8BACP,KAAO,kBACP,KAAO,gCACP,KAAO,mDACP,KAAO,IACP,KAAO,UACP,KAAO,MACP,IAAM,YACN,IAAM,WACN,IAAM,IACN,IAAM,KACN,IAAM,mCACN,IAAM,GACN,IAAM,gBACN,KAAO,kBACP,KAAO,8BACP,KAAO,qBACP,GAAK,MACL,GAAK,iCACL,GAAK,0EACL,GAAK,MACL,GAAK,UACL,GAAK,cACL,GAAK,MACL,GAAK,UACL,GAAK,gCACL,GAAK,MACL,GAAK,KACL,GAAK,KACL,IAAM,KACN,IAAM,UACN,IAAM,gBACN,IAAM,QACN,IAAM,gBACN,IAAM,aACN,IAAM,WACN,IAAM,gBACN,KAAO,wBACP,KAAO,OACP,KAAO,IACP,IAAM,MACN,IAAM,gBACN,IAAM,UACN,IAAM,OACN,GAAK,6BACL,IAAM,SACN,IAAM,QACN,KAAO,IACP,KAAO,UACP,KAAO,IACP,GAAK,eACL,GAAK,gCACL,GAAK,WACL,GAAK,gBACL,KAAO,wCACP,KAAO,4BACP,KAAO,GACP,KAAO,MACP,IAAM,GACN,IAAM,GACN,IAAM,GACN,IAAM,UACN,GAAK,WACL,GAAK,KACL,GAAK,IACL,GAAK,yBACL,KAAO,WACP,KAAO,UACP,KAAO,YACP,IAAM,mBACN,IAAM,QACN,IAAM,iCACN,IAAM,UACN,IAAM,QACN,IAAM,KACN,IAAM,MACN,IAAM,UACN,IAAM,gBACN,IAAM,IACN,IAAM,oBACN,IAAM,qBACN,IAAM,qBACN,IAAM,OACN,IAAM,cACN,KAAO,OACP,KAAO,UACP,KAAO,IACP,KAAO,SACP,KAAO,eACP,KAAO,uDACP,KAAO,sCACP,KAAO,iBACP,MAAQ,qBACR,MAAQ,4BACR,MAAQ,aACR,MAAQ,eACR,KAAO,kBACP,KA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AQ,iBACR,MAAQ,mBACR,KAAO,IACP,KAAO,iDACP,KAAO,cACP,KAAO,cACP,IAAM,GACN,IAAM,GACN,IAAM,GACN,IAAM,MACN,IAAM,+CACN,IAAM,IACN,IAAM,8CACN,IAAM,mBACN,IAAM,wBACN,KAAO,uFACP,KAAO,QACP,KAAO,MACP,IAAM,MACN,IAAM,sDACN,IAAM,mBACN,IAAM,mBACN,GAAK,IACL,KAAO,wDACP,KAAO,oBACP,KAAO,SACP,IAAM,MACN,IAAM,IACN,IAAM,kCACN,IAAM,UACN,IAAM,WACN,GAAK,QACL,GAAK,iDACL,GAAK,8BACL,GAAK,iFACL,KAAO,gCACP,KAAO,KACP,KAAO,SACP,IAAM,IACN,IAAM,gCACN,IAAM,QACN,IAAM,OACN,IAAM,KACN,IAAM,OACN,IAAM,mCACN,IAAM,gBACN,IAAM,kCACN,GAAK,aACL,GAAK,kCACL,GAAK,uBACL,IAAM,YACN,GAAK,MACL,GAAK,WACL,GAAK,aACL,GAAK,mBACL,GAAK,gBACL,IAAM,KACN,IAAM,SACN,IAAM,kBACN,IAAM,KACN,IAAM,sBACN,IAAM,aACN,IAAM,uBACN,KAAO,IACP,KAAO,gCACP,KAAO,WACP,KAAO,GACP,IAAM,IACN,IAAM,8BACN,IAAM,eACN,IAAM,8BACN,GAAK,OACL,GAAK,IACL,GAAK,KACL,IAAM,2CACN,IAAM,oBACN,IAAM,yBACN,IAAM,KACN,IAAM,sBACN,IAAM,YACN,KAAO,MACP,KAAO,yCACP,KAAO,qBACP,KAAO,UACP,GAAK,KACL,GAAK,wCACL,GAAK,sBACL,GAAK,uCACL,KAAO,qBACP,KAAO,8BACP,KAAO,WACP,KAAO,IACP,KAAO,WACP,KAAO,gBACP,KAAO,WACP,IAAM,QACN,IAAM,GACN,IAAM,uBACN,IAAM,mCACN,IAAM,qCACN,KAAO,0BACP,KAAO,SACP,KAAO,KACP,IAAM,GACN,IAAM,OACN,GAAK,KACL,GAAK,6BACL,GAAK,IACL,GAAK,8DACL,IAAM,IACN,IAAM,sBACN,IAAM,KACN,IAAM,GACN,GAAK,KACL,GAAK,sBACL,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O,IACP,KAAO,IACP,KAAO,IACP,MAAQ,MACR,MAAQ,IACR,MAAQ,OACR,MAAQ,QACR,MAAQ,MACR,OAAS,mBACT,OAAS,SACT,OAAS,IACT,KAAO,MACP,KAAO,OACP,KAAO,gBACP,KAAO,KACP,KAAO,aACP,KAAO,KACP,KAAO,sBACP,GAAK,IACL,GAAK,eACL,GAAK,GACL,GAAK,WACL,GAAK,0CACL,IAAM,OACN,IAAM,0BACN,IAAM,IACN,IAAM,qBACN,IAAM,mBACN,IAAM,0CACN,IAAM,oBACN,IAAM,eACN,KAAO,gBACP,KAAO,0CACP,KAAO,kBACP,KAAO,QACP,IAAM,8BACN,IAAM,4BACN,IAAM,KACN,IAAM,IACN,GAAK,YACL,KAAO,MACP,KAAO,uBACP,KAAO,IACP,GAAK,YACL,GAAK,kDACL,GAAK,UACL,GAAK,0CACL,KAAO,YACP,KAAO,6BACP,KAAO,0BACP,KAAO,QACP,KAAO,UACP,KAAO,8BACP,KAAO,YACP,KAAO,UACP,IAAM,SACN,IAAM,GACN,IAAM,WACN,IAAM,MACN,KAAO,qBACP,KAAO,uBACP,KAAO,sBACP,KAAO,MACP,KAAO,WACP,KAAO,oDACP,KAAO,WACP,KAAO,QACP,IAAM,GACN,IAAM,UACN,IAAM,OACN,IAAM,UACN,IAAM,KACN,GAAK,IACL,GAAK,mBACL,GAAK,8CACL,GAAK,QACL,GAAK,YACL,KAAO,QACP,KAAO,mBACP,KAAO,MACP,KAAO,QACP,IAAM,QACN,IAAM,iBACN,IAAM,SACN,IAAM,WACN,IAAM,aACN,IAAM,mBACN,IAAM,IACN,IAAM,GACN,IAAM,+BACN,IAAM,4CACN,IAAM,aACN,IAAM,eACN,GAAK,IACL,GAAK,6BACL,GAAK,IACL,GAAK,SACL,GAAK,cACL,IAAM,GACN,IAAM,SACN,IAAM,IACN,IAAM,KACN,IAAM,qBACN,IAAM,wBACN,IAAM,sCACN,IAAM,yBACN,KAAO,SACP,KAAO,SACP,KAAO,2BACP,KAAO,YACP,IAAM,yCACN,IAAM,oDACN,IAAM,wEACN,IAAM,0DACN,IAAM,0BACN,IAAM,8BACN,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,MAAO,MACT,EACA,KAAO,CACLD,MAAO,OACPC,MAAO,MACT,EACA,KAAO,CACLD,MAAO,WACPC,MAAO,UACT,EACA,KAAO,CACLD,MAAO,UACPC,MAAO,SACT,EACA,KAAO,CACLD,MAAO,YACPC,MAAO,WACT,EACA,KAAO,CACLD,MAAO,YACPC,MAAO,WACT,EACA,KAAO,CACLD,MAAO,cACPC,MAAO,aACT,EACA,KAAO,CACLD,MAAO,cACPC,MAAO,aACT,EACA,KAAO,CACLD,MAAO,gBACPC,MAAO,eACT,EACA,EAAG,CACDD,MAAO,OACPC,MAAO,MACT,CACF,EAEaC,GAAQ,CACnB,EAAG,CACDC,MAAO,CACT,EACA,GAAK,CACHA,MAAO,IACT,EACA,EAAG,CACDA,MAAO,CACT,CACF,EAEa/1I,GAAS,CACpB,EAAG,CACDA,OAAQ,MACV,EACA,IAAM,CACJA,OAAQ,OACV,EACA,GAAK,CACHA,OAAQ,QACV,EACA,IAAM,CACJA,OAAQ,QACV,EACA,EAAG,CACDA,OAAQ,QACV,CACF,EAEag2I,GAAQ,CACnB,EAAG,CACDC,WAAY,CACd,EACA,GAAK,CACHA,WAAY,GACd,EACA,GAAK,CACHA,WAAY,EACd,EACA,GAAK,CACHA,WAAY,GACd,EACA,GAAK,CACHA,WAAY,EACd,EACA,GAAK,CACHA,WAAY,GACd,EACA,GAAK,CACHA,WAAY,EACd,EACA,GAAK,CACHA,WAAY,GACd,EACA,GAAK,CACHA,WAAY,EACd,EACA,GAAK,CACHA,WAAY,GACd,EACA,EAAG,CACDA,WAAY,CACd,CACF,EAEaC,GAAQ,CACnB,EAAG,CACDl2I,OAAQ,MACV,EACA,GAAK,CACHA,OAAQ,OACV,EACA,GAAK,CACHA,OAAQ,QACV,EACA,GAAK,CACHA,OAAQ,MACV,EACA,GAAK,CACHA,OAAQ,OACV,EACA,EAAG,CACDA,OAAQ,MACV,CACF,EAEam2I,GAAa,CACxB,EAAG,CACDC,OAAQ,EACRC,OAAQ,CACV,EACA,GAAK,CACHD,OAAQ,KACRC,OAAQ,GACV,EACA,GAAK,CACHD,OAAQ,IACRC,OAAQ,IACV,EACA,GAAK,CACHD,OAAQ,KACRC,OAAQ,GACV,EACA,IAAM,CACJD,OAAQ,IACRC,OAAQ,IACV,EACA,IAAM,CACJD,OAAQ,KACRC,OAAQ,GACV,EACA,EAAG,CACDD,OAAQ,EACRC,OAAQ,CACV,CACF,EAEaC,GAAO,CAClB,EAAG,CACDP,MAAO,EACP/1I,OAAQ,MACV,EACA,GAAK,CACH+1I,MAAO,GACP/1I,OAAQ,OACV,EACA,GAAK,CACH+1I,MAAO,GACP/1I,OAAQ,OACV,EACA,GAAK,CACH+1I,MAAO,IACP/1I,OAAQ,OACV,EACA,GAAK,CACHA,OAAQ,MACV,EACA,GAAK,CACHA,OAAQ,OACV,EACA,GAAK,CACHA,OAAQ,MACV,EACA,GAAK,CACHA,OAAQ,OACV,EACA,GAAK,CACHA,OAAQ,MACV,EACA,GAAK,CACH+1I,MAAO,IACP/1I,OAAQ,MACV,EACA,EAAG,CACD+1I,MAAO,EACP/1I,OAAQ,MACV,CACF,EAEau2I,GAAS,CACpB,EAAG,CACDN,WAAY,EACZj2I,OAAQ,MACV,EACA,IAAM,CACJi2I,WAAY,IACZj2I,OAAQ,OACV,EACA,GAAK,CACHi2I,WAAY,GACZj2I,OAAQ,MACV,EACA,IAAM,CACJi2I,WAAY,IACZj2I,OAAQ,OACV,EACA,GAAK,CACHi2I,WAAY,GACZj2I,OAAQ,MACV,EACA,IAAM,CACJi2I,WAAY,GACZj2I,OAAQ,OACV,EACA,EAAG,CACDi2I,WAAY,EACZj2I,OAAQ,MACV,CACF,C,8NCxRO,IAAMw2I,EAAW,CACtB,EAAG,CACD5vI,QAAS,EACTmvI,MAAO,EACT,EACA,GAAK,CACHA,MAAO,GACT,EACA,GAAK,CACHA,MAAO,EACT,EACA,GAAK,CACHnvI,QAAS,EACTmvI,MAAO,IACT,EACA,GAAK,CACHA,MAAO,GACT,EACA,EAAG,CACDnvI,QAAS,EACTmvI,MAAO,CACT,CACF,EAEaU,EAAa,CACxB,EAAG,CACD7vI,QAAS,EACT6uI,WAAY,GACd,EACA,GAAK,CACH7uI,QAAS,EACT6uI,WAAY,GACd,EACA,IAAM,CACJA,WAAY,EACd,EACA,GAAK,CACHA,WAAY,EACd,EACA,EAAG,CACDA,WAAY,CACd,CACF,EAEaiB,GAAe,CAC1B,EAAG,CACD9vI,QAAS,EACT6uI,WAAY,IACd,EACA,GAAK,CACH7uI,QAAS,EACT6uI,WAAY,EACd,EACA,IAAM,CACJA,WAAY,GACd,EACA,GAAK,CACHA,WAAY,CACd,EACA,EAAG,CACDA,WAAY,CACd,CACF,EAEakB,GAAgB,CAC3B,EAAG,CACD/vI,QAAS,EACTqvI,WAAY,GACd,EACA,GAAK,CACHrvI,QAAS,EACTqvI,WAAY,GACd,EACA,IAAM,CACJA,WAAY,CACd,EACA,GAAK,CACHA,WAAY,EACd,EACA,EAAG,CACDA,WAAY,CACd,CACF,EAEaW,GAAe,CAC1B,EAAG,CACDhwI,QAAS,EACTqvI,WAAY,IACd,EACA,GAAK,CACHrvI,QAAS,EACTqvI,WAAY,EACd,EACA,IAAM,CACJA,WAAY,EACd,EACA,GAAK,CACHA,WAAY,CACd,EACA,EAAG,CACDA,WAAY,CACd,CACF,C,mOCtGO,IAAMY,EAAY,CACvB,EAAG,CACDjwI,QAAS,EACTmvI,MAAO,CACT,EACA,GAAK,CACHA,MAAO,EACT,EACA,GAAK,CACHnvI,QAAS,EACTmvI,MAAO,IACT,EACA,IAAM,CACJA,MAAO,IACT,EACA,EAAG,CACDnvI,QAAS,EACTmvI,MAAO,EACT,CACF,EAEae,EAAc,CACzB,EAAG,CACDlwI,QAAS,EACT6uI,WAAY,CACd,EACA,GAAK,CACH7uI,QAAS,EACT6uI,WAAY,GACd,EACA,GAAK,CACHA,WAAY,EACd,EACA,IAAM,CACJA,WAAY,EACd,EACA,IAAM,CACJ7uI,QAAS,CACX,EACA,EAAG,CACDA,QAAS,EACT6uI,WAAY,IACd,CACF,EAEasB,GAAgB,CAC3B,EAAG,CACDnwI,QAAS,EACT6uI,WAAY,CACd,EACA,GAAK,CACH7uI,QAAS,EACT6uI,WAAY,EACd,EACA,GAAK,CACHA,WAAY,GACd,EACA,IAAM,CACJA,WAAY,GACd,EACA,IAAM,CACJ7uI,QAAS,CACX,EACA,EAAG,CACDA,QA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YAAa,wCACbC,YAAa,wCACbC,SAAU,qCACVC,SAAU,qCACVC,YAAa,wCACbC,YAAa,wCACbC,YAAa,wCACbC,YAAa,wCACbC,YAAa,wCACbC,YAAa,wCACbC,SAAU,qCACVC,YAAa,wCACbC,YAAa,wCACbC,YAAa,wCACbC,YAAa,wCACbC,YAAa,wCACbC,YAAa,wCACbC,YAAa,wCACbC,YAAa,wCACbC,YAAa,wCACbC,YAAa,wCACbC,YAAa,wCACbC,YAAa,wCACbC,YAAa,wCACbC,YAAa,wCACbC,YAAa,wCACbC,YAAa,wCACbC,YAAa,wCACbC,YAAa,wCACbC,YAAa,wCACbC,YAAa,wCACbC,YAAa,wCACbC,YAAa,wCACbC,YAAa,wCACbC,YAAa,wCACbC,YAAa,wCACbC,YAAa,wCACbC,YAAa,wCACbC,YAAa,wCACbC,YAAa,wCACbC,YAAa,wCACbC,YAAa,wCACbC,YAAa,wCACbC,YAAa,wCACbC,YAAa,wCACbC,YAAa,wCACbC,YAAa,wCACbC,YAAa,wCACbC,YAAa,wCACbC,kBAAmB,8CACnBC,YAAa,wCACbC,kBAAmB,8CACnBC,YAAa,wCACbC,YAAa,wCACbC,YAAa,wCACbC,YAAa,wCACbC,YAAa,wCACbC,YAAa,wCACbC,YAAa,wCACbC,YAAa,wCACbC,YAAa,wCACbC,YAAa,wCACbC,YAAa,wCACbC,YAAa,wCACbC,YAAa,wCACbC,YAAa,wCACbC,YAAa,wCACbC,YAAa,wCACbC,YAAa,wCACbC,YAAa,wCACbC,YAAa,wCACbC,YAAa,wCACbC,YAAa,wCACbC,YAAa,wCACbC,YAAa,wCACbC,YAAa,wCACbC,YAAa,wCACbC,YAAa,wCACbC,YAAa,wCACbC,YAAa,wCACbC,YAAa,wCACbC,YAAa,wCACbC,YAAa,wCACbC,YAAa,wCACbC,YAAa,wCACbC,YAAa,wCACbC,YAAa,wCACbC,YAAa,wCACbC,YAAa,wCACbC,YAAa,wCACbC,YAAa,wCACbC,YAAa,wCACbC,YAAa,wCACbC,kBAAmB,8CACnBC,YAAa,wCACbC,YAAa,wCACbC,YAAa,wCACbC,iBAAkB,6CAClBC,YAAa,wCACbC,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"}