diff --git "a/web-build/static/js/571.32ec8475.js.map" "b/web-build/static/js/571.32ec8475.js.map" new file mode 100644--- /dev/null +++ "b/web-build/static/js/571.32ec8475.js.map" @@ -0,0 +1 @@ +{"version":3,"file":"static/js/571.32ec8475.js","mappings":"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","sources":["node_modules/@react-native-community/slider/dist/RNCSliderNativeComponent.web.js","node_modules/@react-native-community/slider/dist/Slider.js","node_modules/@react-native-community/slider/dist/components/StepNumber.js","node_modules/@react-native-community/slider/dist/components/StepsIndicator.js","node_modules/@react-native-community/slider/dist/components/TrackMark.js","node_modules/@react-native-community/slider/dist/index.js","node_modules/@react-native-community/slider/dist/utils/constants.js","node_modules/@react-native-community/slider/dist/utils/styles.js","node_modules/@react-native/assets-registry/registry.js","node_modules/@react-native/normalize-colors/index.js","node_modules/expo-asset/src/AssetSourceResolver.ts","node_modules/expo-asset/src/PlatformUtils.web.ts","node_modules/expo-asset/src/AssetSources.ts","node_modules/expo-asset/src/AssetUris.ts","node_modules/expo-asset/src/resolveAssetSource.ts","node_modules/expo-asset/src/Asset.ts","node_modules/expo-asset/src/LocalAssets.web.ts","node_modules/expo-asset/src/ImageAssets.ts","node_modules/expo-asset/src/ExpoAsset.web.ts","node_modules/expo-av/src/AV.ts","node_modules/expo-av/src/AV.types.ts","node_modules/expo-av/src/Audio.types.ts","node_modules/expo-av/src/Audio/Recording.ts","node_modules/expo-av/src/Audio.ts","node_modules/expo-av/src/Audio/AudioAvailability.ts","node_modules/expo-av/src/Audio/RecordingConstants.ts","node_modules/expo-modules-core/src/EventEmitter.ts","node_modules/expo-av/src/Audio/Sound.ts","node_modules/expo-av/src/ExponentAV.web.ts","node_modules/expo-font/src/Font.types.ts","node_modules/expo-font/src/ExpoFontLoader.web.ts","node_modules/expo-font/src/FontLoader.web.ts","node_modules/expo-font/src/memory.ts","node_modules/expo-font/src/server.ts","node_modules/expo-font/src/Font.ts","node_modules/expo-font/src/FontHooks.ts","node_modules/expo-image-picker/src/ExponentImagePicker.web.ts","node_modules/expo-image-picker/src/ImagePicker.ts","node_modules/expo-image-picker/src/ImagePicker.types.ts","node_modules/expo-modules-core/src/PermissionsHook.ts","node_modules/expo-modules-core/src/PermissionsInterface.ts","node_modules/expo-modules-core/src/environment/browser.web.ts","node_modules/expo-modules-core/src/Platform.ts","node_modules/@babel/runtime/helpers/esm/isNativeReflectConstruct.js","node_modules/@babel/runtime/helpers/esm/wrapNativeSuper.js","node_modules/@babel/runtime/helpers/esm/isNativeFunction.js","node_modules/@babel/runtime/helpers/esm/construct.js","node_modules/expo-modules-core/src/errors/CodedError.ts","node_modules/expo-modules-core/src/errors/UnavailabilityError.ts","node_modules/expo-status-bar/src/StatusBar.web.ts","node_modules/react-native-element-dropdown/src/toolkits/index.ts","node_modules/react-native-element-dropdown/src/useDeviceOrientation.ts","node_modules/react-native-element-dropdown/src/components/TextInput/styles.ts","node_modules/react-native-element-dropdown/src/components/TextInput/index.tsx","node_modules/react-native-element-dropdown/src/components/Dropdown/styles.ts","node_modules/react-native-element-dropdown/src/components/Dropdown/index.tsx","node_modules/react-native-element-dropdown/src/components/MultiSelect/styles.ts","node_modules/react-native-element-dropdown/src/components/MultiSelect/index.tsx","node_modules/react-native-element-dropdown/src/components/SelectCountry/styles.ts","node_modules/react-native-element-dropdown/src/components/SelectCountry/index.tsx","node_modules/react-native-web/dist/exports/ActivityIndicator/index.js","node_modules/react-native-web/dist/vendor/react-native/ReactNative/ReactNativeFeatureFlags.js","node_modules/react-native-web/dist/vendor/react-native/Animated/NativeAnimatedHelper.js","node_modules/react-native-web/dist/vendor/react-native/TurboModule/TurboModuleRegistry.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/AnimatedWithChildren.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/AnimatedValue.js","node_modules/react-native-web/dist/vendor/react-native/Animated/AnimatedEvent.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/AnimatedStyle.js","node_modules/react-native-web/dist/vendor/react-native/Animated/nodes/AnimatedProps.js","node_modules/react-native-web/dist/vendor/react-native/Animated/useAnimatedProps.js","node_modules/react-native-web/dist/vendor/react-native/Utilities/useRefEffect.js","node_modules/react-native-web/dist/vendor/react-native/Animated/createAnimatedComponent.js","node_modules/react-native-web/dist/vendor/react-native/Utilities/useMergeRefs.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/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/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/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/AnimatedValueXY.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/SpringConfig.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/nodes/AnimatedColor.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/Animated.js","node_modules/react-native-web/dist/exports/Animated/index.js","node_modules/react-native-web/dist/exports/DeviceEventEmitter/index.js","node_modules/react-native-web/dist/exports/Dimensions/index.js","node_modules/react-native-web/dist/vendor/react-native/Animated/Easing.js","node_modules/react-native-web/dist/vendor/react-native/Animated/bezier.js","node_modules/react-native-web/dist/exports/Easing/index.js","node_modules/react-native-web/dist/vendor/react-native/deepDiffer/index.js","node_modules/react-native-web/node_modules/memoize-one/dist/memoize-one.esm.js","node_modules/react-native-web/dist/vendor/react-native/FlatList/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/modules/AssetRegistry/index.js","node_modules/react-native-web/dist/modules/ImageLoader/index.js","node_modules/react-native-web/dist/exports/Image/index.js","node_modules/react-native-web/dist/exports/InteractionManager/TaskQueue.js","node_modules/react-native-web/dist/modules/requestIdleCallback/index.js","node_modules/react-native-web/dist/exports/InteractionManager/index.js","node_modules/react-native-web/dist/exports/Keyboard/index.js","node_modules/react-native-web/dist/exports/Modal/ModalPortal.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/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/PixelRatio/index.js","node_modules/react-native-web/dist/exports/Platform/index.js","node_modules/react-native-web/dist/modules/addEventListener/index.js","node_modules/react-native-web/dist/modules/modality/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/exports/Pressable/index.js","node_modules/react-native-web/dist/exports/RefreshControl/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/vendor/react-native/VirtualizedSectionList/index.js","node_modules/react-native-web/dist/vendor/react-native/SectionList/index.js","node_modules/react-native-web/dist/exports/SectionList/index.js","node_modules/react-native-web/dist/exports/StatusBar/index.js","node_modules/react-native-web/dist/modules/isWebColor/index.js","node_modules/react-native-web/dist/exports/StyleSheet/compiler/normalizeColor.js","node_modules/react-native-web/dist/exports/StyleSheet/compiler/unitlessNumbers.js","node_modules/react-native-web/dist/exports/StyleSheet/compiler/normalizeValueWithProperty.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/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/modules/prefixStyles/static.js","node_modules/react-native-web/dist/modules/prefixStyles/index.js","node_modules/react-native-web/dist/exports/StyleSheet/compiler/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/modules/multiplyStyleLengthValue/index.js","node_modules/react-native-web/dist/exports/Switch/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/TextInput/index.js","node_modules/react-native-web/dist/exports/TouchableHighlight/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/modules/unitlessNumbers/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/exports/UIManager/index.js","node_modules/react-native-web/dist/exports/View/index.js","node_modules/react-native-web/dist/modules/createDOMProps/index.js","node_modules/react-native-web/dist/exports/createElement/index.js","node_modules/react-native-web/dist/exports/processColor/index.js","node_modules/react-native-web/dist/exports/useWindowDimensions/index.js","node_modules/react-native-web/dist/exports/findNodeHandle/index.js","node_modules/react-native-web/dist/exports/unmountComponentAtNode/index.js","node_modules/react-native-web/dist/exports/render/index.js","node_modules/react-native-web/dist/exports/AccessibilityInfo/index.js","node_modules/react-native-web/dist/exports/Alert/index.js","node_modules/react-native-web/dist/exports/Appearance/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/BackHandler/index.js","node_modules/react-native-web/dist/exports/Clipboard/index.js","node_modules/react-native-web/dist/vendor/react-native/LayoutAnimation/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/vendor/react-native/TouchHistoryMath/index.js","node_modules/react-native-web/dist/vendor/react-native/PanResponder/index.js","node_modules/react-native-web/dist/exports/PanResponder/index.js","node_modules/react-native-web/dist/exports/Share/index.js","node_modules/react-native-web/dist/exports/Vibration/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/ImageBackground/index.js","node_modules/react-native-web/dist/exports/KeyboardAvoidingView/index.js","node_modules/react-native-web/dist/exports/Picker/index.js","node_modules/react-native-web/dist/exports/Picker/PickerItem.js","node_modules/react-native-web/dist/exports/ProgressBar/index.js","node_modules/react-native-web/dist/exports/SafeAreaView/index.js","node_modules/react-native-web/dist/vendor/react-native/PooledClass/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/modules/UnimplementedView/index.js","node_modules/react-native-web/dist/exports/TouchableNativeFeedback/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/LogBox/index.js","node_modules/react-native-web/dist/exports/useColorScheme/index.js","node_modules/react-native-web/dist/exports/useLocaleContext/index.js","node_modules/react-native-web/dist/modules/AccessibilityUtil/propsToAriaRole.js","node_modules/react-native-web/dist/modules/AccessibilityUtil/propsToAccessibilityComponent.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/TextInputState/index.js","node_modules/react-native-web/dist/modules/canUseDom/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/mergeRefs/index.js","node_modules/react-native-web/dist/modules/pick/index.js","node_modules/react-native-web/dist/modules/useElementLayout/index.js","node_modules/react-native-web/dist/modules/useLayoutEffect/index.js","node_modules/react-native-web/dist/modules/useLocale/isLocaleRTL.js","node_modules/react-native-web/dist/modules/useLocale/index.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/createResponderEvent.js","node_modules/react-native-web/dist/modules/useResponderEvents/ResponderEventTypes.js","node_modules/react-native-web/dist/modules/useResponderEvents/utils.js","node_modules/react-native-web/dist/modules/isSelectionValid/index.js","node_modules/react-native-web/dist/modules/useResponderEvents/ResponderTouchHistoryStore.js","node_modules/react-native-web/dist/modules/useResponderEvents/ResponderSystem.js","node_modules/react-native-web/dist/modules/useResponderEvents/index.js","node_modules/react-native-web/dist/modules/useStable/index.js","node_modules/react-native-web/dist/modules/warnOnce/index.js","node_modules/react-native-web/dist/vendor/react-native/EventEmitter/NativeEventEmitter.js","node_modules/react-native-web/dist/vendor/react-native/EventEmitter/RCTDeviceEventEmitter.js","node_modules/react-native-web/dist/vendor/react-native/VirtualizeUtils/index.js","node_modules/react-native-web/dist/vendor/react-native/Batchinator/index.js","node_modules/react-native-web/dist/vendor/react-native/Utilities/clamp.js","node_modules/react-native-web/dist/vendor/react-native/infoLog/index.js","node_modules/react-native-web/dist/vendor/react-native/VirtualizedList/CellRenderMask.js","node_modules/react-native-web/dist/vendor/react-native/VirtualizedList/ChildListCollection.js","node_modules/react-native-web/dist/vendor/react-native/FillRateHelper/index.js","node_modules/react-native-web/dist/vendor/react-native/VirtualizedList/StateSafePureComponent.js","node_modules/react-native-web/dist/vendor/react-native/ViewabilityHelper/index.js","node_modules/react-native-web/dist/vendor/react-native/VirtualizedList/VirtualizedListContext.js","node_modules/react-native-web/dist/vendor/react-native/VirtualizedList/VirtualizedListCellRenderer.js","node_modules/react-native-web/dist/vendor/react-native/VirtualizedList/index.js","node_modules/react-native-web/dist/vendor/react-native/vendor/emitter/EventEmitter.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/hyphenateProperty.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/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/unprefixProperty.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/unprefixValue.js","node_modules/css-in-js-utils/lib/hyphenateProperty.js","node_modules/css-in-js-utils/lib/isPrefixedValue.js","node_modules/fbjs/lib/emptyFunction.js","node_modules/fbjs/lib/invariant.js","node_modules/fbjs/lib/warning.js","node_modules/fontfaceobserver/fontfaceobserver.standalone.js","node_modules/hyphenate-style-name/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/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/_arraySome.js","node_modules/lodash/_assignValue.js","node_modules/lodash/_assocIndexOf.js","node_modules/lodash/_baseAssignValue.js","node_modules/lodash/_baseDifference.js","node_modules/lodash/_baseFindIndex.js","node_modules/lodash/_baseFlatten.js","node_modules/lodash/_baseGet.js","node_modules/lodash/_baseGetAllKeys.js","node_modules/lodash/_baseGetTag.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/_baseMatches.js","node_modules/lodash/_baseMatchesProperty.js","node_modules/lodash/_baseProperty.js","node_modules/lodash/_basePropertyDeep.js","node_modules/lodash/_baseRest.js","node_modules/lodash/_baseSetToString.js","node_modules/lodash/_baseTimes.js","node_modules/lodash/_baseToString.js","node_modules/lodash/_baseTrim.js","node_modules/lodash/_baseUnary.js","node_modules/lodash/_cacheHas.js","node_modules/lodash/_castPath.js","node_modules/lodash/_copyObject.js","node_modules/lodash/_coreJsData.js","node_modules/lodash/_createAssigner.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/_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/_stringToPath.js","node_modules/lodash/_toKey.js","node_modules/lodash/_toSource.js","node_modules/lodash/_trimmedEndIndex.js","node_modules/lodash/assign.js","node_modules/lodash/constant.js","node_modules/lodash/differenceWith.js","node_modules/lodash/eq.js","node_modules/lodash/findIndex.js","node_modules/lodash/get.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/isArrayLikeObject.js","node_modules/lodash/isBuffer.js","node_modules/lodash/isEqual.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/last.js","node_modules/lodash/memoize.js","node_modules/lodash/property.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/nullthrows/nullthrows.js","node_modules/react-dom/cjs/react-dom.production.min.js","node_modules/react-dom/client.js","node_modules/react-dom/index.js","node_modules/react-dom/node_modules/scheduler/cjs/scheduler.production.min.js","node_modules/react-dom/node_modules/scheduler/index.js","node_modules/react/cjs/react-jsx-runtime.production.min.js","node_modules/react/cjs/react.production.min.js","node_modules/react/index.js","node_modules/react/jsx-runtime.js","node_modules/styleq/dist/styleq.js","node_modules/styleq/dist/transform-localize-style.js","node_modules/@babel/runtime/helpers/arrayLikeToArray.js","node_modules/@babel/runtime/helpers/arrayWithHoles.js","node_modules/@babel/runtime/helpers/arrayWithoutHoles.js","node_modules/@babel/runtime/helpers/interopRequireDefault.js","node_modules/@babel/runtime/helpers/iterableToArray.js","node_modules/@babel/runtime/helpers/iterableToArrayLimit.js","node_modules/@babel/runtime/helpers/nonIterableRest.js","node_modules/@babel/runtime/helpers/nonIterableSpread.js","node_modules/@babel/runtime/helpers/objectWithoutProperties.js","node_modules/@babel/runtime/helpers/objectWithoutPropertiesLoose.js","node_modules/@babel/runtime/helpers/slicedToArray.js","node_modules/@babel/runtime/helpers/toConsumableArray.js","node_modules/@babel/runtime/helpers/unsupportedIterableToArray.js","node_modules/@babel/runtime/helpers/esm/arrayLikeToArray.js","node_modules/@babel/runtime/helpers/esm/asyncToGenerator.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/get.js","node_modules/@babel/runtime/helpers/esm/superPropBase.js","node_modules/@babel/runtime/helpers/esm/getPrototypeOf.js","node_modules/@babel/runtime/helpers/esm/inherits.js","node_modules/@babel/runtime/helpers/esm/objectSpread2.js","node_modules/@babel/runtime/helpers/esm/objectWithoutPropertiesLoose.js","node_modules/@babel/runtime/helpers/esm/possibleConstructorReturn.js","node_modules/@babel/runtime/helpers/esm/assertThisInitialized.js","node_modules/@babel/runtime/helpers/esm/setPrototypeOf.js","node_modules/@babel/runtime/helpers/esm/slicedToArray.js","node_modules/@babel/runtime/helpers/esm/arrayWithHoles.js","node_modules/@babel/runtime/helpers/esm/iterableToArrayLimit.js","node_modules/@babel/runtime/helpers/esm/nonIterableRest.js","node_modules/@babel/runtime/helpers/esm/toConsumableArray.js","node_modules/@babel/runtime/helpers/esm/arrayWithoutHoles.js","node_modules/@babel/runtime/helpers/esm/iterableToArray.js","node_modules/@babel/runtime/helpers/esm/nonIterableSpread.js","node_modules/@babel/runtime/helpers/esm/toPropertyKey.js","node_modules/@babel/runtime/helpers/esm/toPrimitive.js","node_modules/@babel/runtime/helpers/esm/typeof.js","node_modules/@babel/runtime/helpers/esm/unsupportedIterableToArray.js"],"sourcesContent":["var _interopRequireDefault=require(\"@babel/runtime/helpers/interopRequireDefault\");Object.defineProperty(exports,\"__esModule\",{value:true});exports.default=void 0;var _toConsumableArray2=_interopRequireDefault(require(\"@babel/runtime/helpers/toConsumableArray\"));var _slicedToArray2=_interopRequireDefault(require(\"@babel/runtime/helpers/slicedToArray\"));var _objectWithoutProperties2=_interopRequireDefault(require(\"@babel/runtime/helpers/objectWithoutProperties\"));var _reactDom=_interopRequireDefault(require(\"react-dom\"));var _react=_interopRequireWildcard(require(\"react\"));var _reactNative=require(\"react-native\");var _jsxRuntime=require(\"react/jsx-runtime\");var _excluded=[\"value\",\"minimumValue\",\"maximumValue\",\"lowerLimit\",\"upperLimit\",\"step\",\"minimumTrackTintColor\",\"maximumTrackTintColor\",\"thumbTintColor\",\"thumbStyle\",\"style\",\"inverted\",\"disabled\",\"trackHeight\",\"thumbSize\",\"thumbImage\",\"onRNCSliderSlidingStart\",\"onRNCSliderSlidingComplete\",\"onRNCSliderValueChange\"];var _this=this,_jsxFileName=\"/Users/bartoszklonowski/Desktop/Projects/react-native-slider/package/src/RNCSliderNativeComponent.web.tsx\";function _getRequireWildcardCache(e){if(\"function\"!=typeof WeakMap)return null;var r=new WeakMap(),t=new WeakMap();return(_getRequireWildcardCache=function _getRequireWildcardCache(e){return e?t:r;})(e);}function _interopRequireWildcard(e,r){if(!r&&e&&e.__esModule)return e;if(null===e||\"object\"!=typeof e&&\"function\"!=typeof e)return{default:e};var t=_getRequireWildcardCache(r);if(t&&t.has(e))return t.get(e);var n={__proto__:null},a=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var u in e)if(\"default\"!==u&&{}.hasOwnProperty.call(e,u)){var i=a?Object.getOwnPropertyDescriptor(e,u):null;i&&(i.get||i.set)?Object.defineProperty(n,u,i):n[u]=e[u];}return n.default=e,t&&t.set(e,n),n;}var valueToEvent=function valueToEvent(value){return{nativeEvent:{value:value}};};var RCTSliderWebComponent=_react.default.forwardRef(function(_ref,forwardedRef){var initialValue=_ref.value,_ref$minimumValue=_ref.minimumValue,minimumValue=_ref$minimumValue===void 0?0:_ref$minimumValue,_ref$maximumValue=_ref.maximumValue,maximumValue=_ref$maximumValue===void 0?0:_ref$maximumValue,_ref$lowerLimit=_ref.lowerLimit,lowerLimit=_ref$lowerLimit===void 0?0:_ref$lowerLimit,_ref$upperLimit=_ref.upperLimit,upperLimit=_ref$upperLimit===void 0?0:_ref$upperLimit,_ref$step=_ref.step,step=_ref$step===void 0?1:_ref$step,_ref$minimumTrackTint=_ref.minimumTrackTintColor,minimumTrackTintColor=_ref$minimumTrackTint===void 0?'#009688':_ref$minimumTrackTint,_ref$maximumTrackTint=_ref.maximumTrackTintColor,maximumTrackTintColor=_ref$maximumTrackTint===void 0?'#939393':_ref$maximumTrackTint,_ref$thumbTintColor=_ref.thumbTintColor,thumbTintColor=_ref$thumbTintColor===void 0?'#009688':_ref$thumbTintColor,_ref$thumbStyle=_ref.thumbStyle,thumbStyle=_ref$thumbStyle===void 0?{}:_ref$thumbStyle,_ref$style=_ref.style,style=_ref$style===void 0?{}:_ref$style,_ref$inverted=_ref.inverted,inverted=_ref$inverted===void 0?false:_ref$inverted,_ref$disabled=_ref.disabled,disabled=_ref$disabled===void 0?false:_ref$disabled,_ref$trackHeight=_ref.trackHeight,trackHeight=_ref$trackHeight===void 0?4:_ref$trackHeight,_ref$thumbSize=_ref.thumbSize,thumbSize=_ref$thumbSize===void 0?20:_ref$thumbSize,thumbImage=_ref.thumbImage,_ref$onRNCSliderSlidi=_ref.onRNCSliderSlidingStart,onRNCSliderSlidingStart=_ref$onRNCSliderSlidi===void 0?function(_){}:_ref$onRNCSliderSlidi,_ref$onRNCSliderSlidi2=_ref.onRNCSliderSlidingComplete,onRNCSliderSlidingComplete=_ref$onRNCSliderSlidi2===void 0?function(_){}:_ref$onRNCSliderSlidi2,_ref$onRNCSliderValue=_ref.onRNCSliderValueChange,onRNCSliderValueChange=_ref$onRNCSliderValue===void 0?function(_){}:_ref$onRNCSliderValue,others=(0,_objectWithoutProperties2.default)(_ref,_excluded);var containerSize=_react.default.useRef({width:0,height:0});var containerPositionX=_react.default.useRef(0);var containerRef=forwardedRef||_react.default.createRef();var containerPositionInvalidated=_react.default.useRef(false);var _React$useState=_react.default.useState(initialValue||minimumValue),_React$useState2=(0,_slicedToArray2.default)(_React$useState,2),value=_React$useState2[0],setValue=_React$useState2[1];var lastInitialValue=_react.default.useRef();var animationValues=_react.default.useRef({val:new _reactNative.Animated.Value(value),min:new _reactNative.Animated.Value(minimumValue),max:new _reactNative.Animated.Value(maximumValue),diff:new _reactNative.Animated.Value(maximumValue-minimumValue||1)}).current;_react.default.useEffect(function(){animationValues.min.setValue(minimumValue);animationValues.max.setValue(maximumValue);animationValues.diff.setValue(maximumValue-minimumValue||1);},[animationValues,minimumValue,maximumValue]);var minPercent=_react.default.useRef(_reactNative.Animated.multiply(new _reactNative.Animated.Value(100),_reactNative.Animated.divide(_reactNative.Animated.subtract(animationValues.val,animationValues.min),animationValues.diff))).current;var maxPercent=_react.default.useRef(_reactNative.Animated.subtract(new _reactNative.Animated.Value(100),minPercent)).current;var onValueChange=(0,_react.useCallback)(function(value){onRNCSliderValueChange&&onRNCSliderValueChange(valueToEvent(value));},[onRNCSliderValueChange]);var onSlidingStart=(0,_react.useCallback)(function(value){isUserInteracting.current=true;onRNCSliderSlidingStart&&onRNCSliderSlidingStart(valueToEvent(value));},[onRNCSliderSlidingStart]);var onSlidingComplete=(0,_react.useCallback)(function(value){isUserInteracting.current=false;onRNCSliderSlidingComplete&&onRNCSliderSlidingComplete(valueToEvent(value));},[onRNCSliderSlidingComplete]);var isUserInteracting=_react.default.useRef(false);var _updateValue=(0,_react.useCallback)(function(newValue){var hardRounded=decimalPrecision.current<20?Number.parseFloat(newValue.toFixed(decimalPrecision.current)):newValue;var withinBounds=Math.max(minimumValue,Math.min(hardRounded,maximumValue));if(value!==withinBounds){setValue(withinBounds);if(isUserInteracting.current){onValueChange(withinBounds);}return withinBounds;}return hardRounded;},[minimumValue,maximumValue,value,onValueChange]);_react.default.useLayoutEffect(function(){if(initialValue!==lastInitialValue.current){lastInitialValue.current=initialValue;var newValue=_updateValue(initialValue);animationValues.val.setValue(newValue);}},[initialValue,_updateValue,animationValues]);_react.default.useEffect(function(){var invalidateContainerPosition=function invalidateContainerPosition(){containerPositionInvalidated.current=true;};var onDocumentScroll=function onDocumentScroll(e){var isAlreadyInvalidated=!containerPositionInvalidated.current;if(isAlreadyInvalidated&&containerRef.current&&e.target.contains(containerRef.current)){invalidateContainerPosition();}};window.addEventListener('resize',invalidateContainerPosition);document.addEventListener('scroll',onDocumentScroll,{capture:true});return function(){window.removeEventListener('resize',invalidateContainerPosition);document.removeEventListener('scroll',onDocumentScroll,{capture:true});};},[containerRef]);var containerStyle=[{flexGrow:1,flexShrink:1,flexBasis:'auto',flexDirection:'row',alignItems:'center'},style];var trackStyle={height:trackHeight,borderRadius:trackHeight/2,userSelect:'none'};var minimumTrackStyle=Object.assign({},trackStyle,{backgroundColor:minimumTrackTintColor,flexGrow:minPercent});var maximumTrackStyle=Object.assign({},trackStyle,{backgroundColor:maximumTrackTintColor,flexGrow:maxPercent});var thumbViewStyle=[{width:thumbSize,height:thumbSize,backgroundColor:thumbTintColor,zIndex:1,borderRadius:thumbSize/2,overflow:'hidden'},thumbStyle];var decimalPrecision=_react.default.useRef(calculatePrecision(minimumValue,maximumValue,step));_react.default.useEffect(function(){decimalPrecision.current=calculatePrecision(minimumValue,maximumValue,step);},[maximumValue,minimumValue,step]);var updateContainerPositionX=function updateContainerPositionX(){var _ReactDOM$findDOMNode;var positionX=(_ReactDOM$findDOMNode=_reactDom.default.findDOMNode(containerRef.current).getBoundingClientRect())==null?void 0:_ReactDOM$findDOMNode.x;containerPositionX.current=positionX!=null?positionX:0;};var getValueFromNativeEvent=function getValueFromNativeEvent(pageX){var adjustForThumbSize=(containerSize.current.width||1)>thumbSize;var width=(containerSize.current.width||1)-(adjustForThumbSize?thumbSize:0);if(containerPositionInvalidated.current){containerPositionInvalidated.current=false;updateContainerPositionX();}var containerX=containerPositionX.current+(adjustForThumbSize?thumbSize/2:0);var lowerValue=minimumValueupperLimit?upperLimit:maximumValue;if(pageXcontainerX+width){return inverted?lowerValue:upperValue;}else{var x=pageX-containerX;var newValue=inverted?maximumValue-(maximumValue-minimumValue)*x/width:minimumValue+(maximumValue-minimumValue)*x/width;var valueAfterStep=step?Math.round(newValue/step)*step:newValue;var valueAfterLowerLimit=valueAfterStepupperLimit?upperLimit:valueAfterLowerLimit;return valueInLimitRange;}};var onTouchEnd=function onTouchEnd(_ref2){var nativeEvent=_ref2.nativeEvent;var newValue=_updateValue(getValueFromNativeEvent(nativeEvent.pageX));animationValues.val.setValue(newValue);onSlidingComplete(newValue);};var onMove=function onMove(_ref3){var nativeEvent=_ref3.nativeEvent;var newValue=getValueFromNativeEvent(nativeEvent.pageX);animationValues.val.setValue(newValue);_updateValue(newValue);};var accessibilityActions=function accessibilityActions(event){var tenth=(maximumValue-minimumValue)/10;switch(event.nativeEvent.actionName){case'increment':_updateValue(value+(step||tenth));break;case'decrement':_updateValue(value-(step||tenth));break;}};_react.default.useImperativeHandle(forwardedRef,function(){return{updateValue:function updateValue(val){_updateValue(val);}};},[_updateValue]);return(0,_jsxRuntime.jsxs)(_reactNative.View,Object.assign({ref:containerRef,onLayout:function onLayout(_ref4){var layout=_ref4.nativeEvent.layout;containerSize.current.height=layout.height;containerSize.current.width=layout.width;if(containerRef.current){updateContainerPositionX();}},accessibilityActions:[{name:'increment',label:'increment'},{name:'decrement',label:'decrement'}],onAccessibilityAction:accessibilityActions,accessible:true,accessibilityRole:'adjustable',style:containerStyle},others,{onStartShouldSetResponder:function onStartShouldSetResponder(){return!disabled;},onMoveShouldSetResponder:function onMoveShouldSetResponder(){return!disabled;},onResponderGrant:function onResponderGrant(){return onSlidingStart(value);},onResponderRelease:onTouchEnd,onResponderMove:onMove,children:[(0,_jsxRuntime.jsx)(_reactNative.Animated.View,{pointerEvents:\"none\",style:minimumTrackStyle}),(0,_jsxRuntime.jsx)(_reactNative.View,{pointerEvents:\"none\",style:thumbViewStyle,children:thumbImage!==undefined?(0,_jsxRuntime.jsx)(_reactNative.Image,{source:thumbImage,style:{width:'100%',height:'100%'}}):null}),(0,_jsxRuntime.jsx)(_reactNative.Animated.View,{pointerEvents:\"none\",style:maximumTrackStyle})]}));});function calculatePrecision(minimumValue,maximumValue,step){if(!step){return Infinity;}else{var decimals=[minimumValue,maximumValue,step].map(function(value){return((value+'').split('.').pop()||'').length;});return Math.max.apply(Math,(0,_toConsumableArray2.default)(decimals));}}RCTSliderWebComponent.displayName='RTCSliderWebComponent';var _default=exports.default=RCTSliderWebComponent;","var _interopRequireDefault=require(\"@babel/runtime/helpers/interopRequireDefault\");Object.defineProperty(exports,\"__esModule\",{value:true});exports.default=void 0;var _slicedToArray2=_interopRequireDefault(require(\"@babel/runtime/helpers/slicedToArray\"));var _objectWithoutProperties2=_interopRequireDefault(require(\"@babel/runtime/helpers/objectWithoutProperties\"));var _react=_interopRequireWildcard(require(\"react\"));var _reactNative=require(\"react-native\");var _index=_interopRequireDefault(require(\"./index\"));var _StepsIndicator=require(\"./components/StepsIndicator\");var _styles=require(\"./utils/styles\");var _constants=require(\"./utils/constants\");var _jsxRuntime=require(\"react/jsx-runtime\");var _excluded=[\"onValueChange\",\"onSlidingStart\",\"onSlidingComplete\",\"onAccessibilityAction\"];var _this=this,_jsxFileName=\"/Users/bartoszklonowski/Desktop/Projects/react-native-slider/package/src/Slider.tsx\";function _getRequireWildcardCache(e){if(\"function\"!=typeof WeakMap)return null;var r=new WeakMap(),t=new WeakMap();return(_getRequireWildcardCache=function _getRequireWildcardCache(e){return e?t:r;})(e);}function _interopRequireWildcard(e,r){if(!r&&e&&e.__esModule)return e;if(null===e||\"object\"!=typeof e&&\"function\"!=typeof e)return{default:e};var t=_getRequireWildcardCache(r);if(t&&t.has(e))return t.get(e);var n={__proto__:null},a=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var u in e)if(\"default\"!==u&&{}.hasOwnProperty.call(e,u)){var i=a?Object.getOwnPropertyDescriptor(e,u):null;i&&(i.get||i.set)?Object.defineProperty(n,u,i):n[u]=e[u];}return n.default=e,t&&t.set(e,n),n;}var SliderComponent=function SliderComponent(props,forwardedRef){var _props$value,_props$accessibilityS;var onValueChange=props.onValueChange,onSlidingStart=props.onSlidingStart,onSlidingComplete=props.onSlidingComplete,onAccessibilityAction=props.onAccessibilityAction,localProps=(0,_objectWithoutProperties2.default)(props,_excluded);var _useState=(0,_react.useState)((_props$value=props.value)!=null?_props$value:props.minimumValue),_useState2=(0,_slicedToArray2.default)(_useState,2),currentValue=_useState2[0],setCurrentValue=_useState2[1];var _useState3=(0,_react.useState)(0),_useState4=(0,_slicedToArray2.default)(_useState3,2),width=_useState4[0],setWidth=_useState4[1];var options=Array.from({length:(localProps.maximumValue-localProps.minimumValue)/(localProps.step?localProps.step:_constants.constants.DEFAULT_STEP_RESOLUTION)+1},function(_,index){return index;});var defaultStyle=_reactNative.Platform.OS==='ios'?_styles.styles.defaultSlideriOS:_styles.styles.defaultSlider;var sliderStyle={zIndex:1,width:width};var style=_reactNative.StyleSheet.compose(props.style,defaultStyle);var onValueChangeEvent=function onValueChangeEvent(event){onValueChange&&onValueChange(event.nativeEvent.value);setCurrentValue(event.nativeEvent.value);};var _disabled=typeof props.disabled==='boolean'?props.disabled:((_props$accessibilityS=props.accessibilityState)==null?void 0:_props$accessibilityS.disabled)===true;var _accessibilityState=typeof props.disabled==='boolean'?Object.assign({},props.accessibilityState,{disabled:props.disabled}):props.accessibilityState;var onSlidingStartEvent=onSlidingStart?function(event){onSlidingStart(event.nativeEvent.value);}:null;var onSlidingCompleteEvent=onSlidingComplete?function(event){onSlidingComplete(event.nativeEvent.value);}:null;var onAccessibilityActionEvent=onAccessibilityAction?function(event){onAccessibilityAction(event);}:null;var value=Number.isNaN(props.value)||!props.value?undefined:props.value;var lowerLimit=!!localProps.lowerLimit||localProps.lowerLimit===0?localProps.lowerLimit:_reactNative.Platform.select({web:localProps.minimumValue,default:_constants.constants.LIMIT_MIN_VALUE});var upperLimit=!!localProps.upperLimit||localProps.upperLimit===0?localProps.upperLimit:_reactNative.Platform.select({web:localProps.maximumValue,default:_constants.constants.LIMIT_MAX_VALUE});return(0,_jsxRuntime.jsxs)(_reactNative.View,{onLayout:function onLayout(event){setWidth(event.nativeEvent.layout.width);},style:[_styles.styles,style,{justifyContent:'center'}],children:[props.StepMarker||!!props.renderStepNumber?(0,_jsxRuntime.jsx)(_StepsIndicator.StepsIndicator,{options:options,sliderWidth:width,currentValue:currentValue,renderStepNumber:localProps.renderStepNumber,thumbImage:localProps.thumbImage,StepMarker:localProps.StepMarker,isLTR:localProps.inverted}):null,(0,_jsxRuntime.jsx)(_index.default,Object.assign({},localProps,{value:value,lowerLimit:lowerLimit,upperLimit:upperLimit,accessibilityState:_accessibilityState,thumbImage:_reactNative.Platform.OS==='web'?props.thumbImage:props.StepMarker?undefined:_reactNative.Image.resolveAssetSource(props.thumbImage),ref:forwardedRef,style:[sliderStyle,defaultStyle,{alignContent:'center',alignItems:'center'}],onChange:onValueChangeEvent,onRNCSliderSlidingStart:onSlidingStartEvent,onRNCSliderSlidingComplete:onSlidingCompleteEvent,onRNCSliderValueChange:onValueChangeEvent,disabled:_disabled,onStartShouldSetResponder:function onStartShouldSetResponder(){return true;},onResponderTerminationRequest:function onResponderTerminationRequest(){return false;},onRNCSliderAccessibilityAction:onAccessibilityActionEvent,thumbTintColor:props.thumbImage&&!!props.StepMarker?'transparent':props.thumbTintColor}))]});};var SliderWithRef=_react.default.forwardRef(SliderComponent);SliderWithRef.defaultProps={value:0,minimumValue:0,maximumValue:1,step:0,inverted:false,tapToSeek:false,lowerLimit:_reactNative.Platform.select({web:undefined,default:_constants.constants.LIMIT_MIN_VALUE}),upperLimit:_reactNative.Platform.select({web:undefined,default:_constants.constants.LIMIT_MAX_VALUE})};var _default=exports.default=SliderWithRef;","var _interopRequireDefault=require(\"@babel/runtime/helpers/interopRequireDefault\");Object.defineProperty(exports,\"__esModule\",{value:true});exports.StepNumber=void 0;var _react=_interopRequireDefault(require(\"react\"));var _reactNative=require(\"react-native\");var _styles=require(\"../utils/styles\");var _jsxRuntime=require(\"react/jsx-runtime\");var _this=this,_jsxFileName=\"/Users/bartoszklonowski/Desktop/Projects/react-native-slider/package/src/components/StepNumber.tsx\";var StepNumber=exports.StepNumber=function StepNumber(_ref){var i=_ref.i,style=_ref.style;return(0,_jsxRuntime.jsx)(_reactNative.View,{style:_styles.styles.stepNumber,children:(0,_jsxRuntime.jsx)(_reactNative.Text,{style:style,children:i})});};","Object.defineProperty(exports,\"__esModule\",{value:true});exports.StepsIndicator=void 0;var _react=_interopRequireWildcard(require(\"react\"));var _reactNative=require(\"react-native\");var _StepNumber=require(\"./StepNumber\");var _TrackMark=require(\"./TrackMark\");var _styles=require(\"../utils/styles\");var _constants=require(\"../utils/constants\");var _jsxRuntime=require(\"react/jsx-runtime\");var _this=this,_jsxFileName=\"/Users/bartoszklonowski/Desktop/Projects/react-native-slider/package/src/components/StepsIndicator.tsx\";function _getRequireWildcardCache(e){if(\"function\"!=typeof WeakMap)return null;var r=new WeakMap(),t=new WeakMap();return(_getRequireWildcardCache=function _getRequireWildcardCache(e){return e?t:r;})(e);}function _interopRequireWildcard(e,r){if(!r&&e&&e.__esModule)return e;if(null===e||\"object\"!=typeof e&&\"function\"!=typeof e)return{default:e};var t=_getRequireWildcardCache(r);if(t&&t.has(e))return t.get(e);var n={__proto__:null},a=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var u in e)if(\"default\"!==u&&{}.hasOwnProperty.call(e,u)){var i=a?Object.getOwnPropertyDescriptor(e,u):null;i&&(i.get||i.set)?Object.defineProperty(n,u,i):n[u]=e[u];}return n.default=e,t&&t.set(e,n),n;}var StepsIndicator=exports.StepsIndicator=function StepsIndicator(_ref){var options=_ref.options,sliderWidth=_ref.sliderWidth,currentValue=_ref.currentValue,StepMarker=_ref.StepMarker,renderStepNumber=_ref.renderStepNumber,thumbImage=_ref.thumbImage,isLTR=_ref.isLTR;var stepNumberFontStyle={fontSize:options.length>9?_constants.constants.STEP_NUMBER_TEXT_FONT_SMALL:_constants.constants.STEP_NUMBER_TEXT_FONT_BIG};var values=isLTR?options.reverse():options;return(0,_jsxRuntime.jsx)(_reactNative.View,{pointerEvents:\"none\",style:[_styles.styles.stepsIndicator,{marginHorizontal:sliderWidth*_constants.constants.MARGIN_HORIZONTAL_PADDING}],children:values.map(function(i,index){return(0,_jsxRuntime.jsx)(_react.Fragment,{children:(0,_jsxRuntime.jsxs)(_reactNative.View,{style:_styles.styles.stepIndicatorElement,children:[(0,_jsxRuntime.jsx)(_TrackMark.SliderTrackMark,{isTrue:currentValue===i,thumbImage:thumbImage,StepMarker:StepMarker},`${index}-SliderTrackMark`),renderStepNumber?(0,_jsxRuntime.jsx)(_StepNumber.StepNumber,{i:i,style:stepNumberFontStyle},`${index}th-step`):null]})},index);})});};","var _interopRequireDefault=require(\"@babel/runtime/helpers/interopRequireDefault\");Object.defineProperty(exports,\"__esModule\",{value:true});exports.SliderTrackMark=void 0;var _react=_interopRequireDefault(require(\"react\"));var _reactNative=require(\"react-native\");var _styles=require(\"../utils/styles\");var _jsxRuntime=require(\"react/jsx-runtime\");var _this=this,_jsxFileName=\"/Users/bartoszklonowski/Desktop/Projects/react-native-slider/package/src/components/TrackMark.tsx\";var SliderTrackMark=exports.SliderTrackMark=function SliderTrackMark(_ref){var isTrue=_ref.isTrue,thumbImage=_ref.thumbImage,StepMarker=_ref.StepMarker;return(0,_jsxRuntime.jsxs)(_reactNative.View,{style:_styles.styles.trackMarkContainer,children:[StepMarker?(0,_jsxRuntime.jsx)(StepMarker,{stepMarked:isTrue}):null,thumbImage&&isTrue?(0,_jsxRuntime.jsx)(_reactNative.View,{style:_styles.styles.thumbImageContainer,children:(0,_jsxRuntime.jsx)(_reactNative.Image,{source:thumbImage,style:_styles.styles.thumbImage})}):null]});};","Object.defineProperty(exports,\"__esModule\",{value:true});exports.default=void 0;var RNCSlider=require('./RNCSliderNativeComponent').default;var _default=exports.default=RNCSlider;","Object.defineProperty(exports,\"__esModule\",{value:true});exports.constants=void 0;var constants=exports.constants={MARGIN_HORIZONTAL_PADDING:0.05,STEP_NUMBER_TEXT_FONT_SMALL:8,STEP_NUMBER_TEXT_FONT_BIG:12,LIMIT_MIN_VALUE:Number.MIN_SAFE_INTEGER,LIMIT_MAX_VALUE:Number.MAX_SAFE_INTEGER,DEFAULT_STEP_RESOLUTION:100};","Object.defineProperty(exports,\"__esModule\",{value:true});exports.styles=void 0;var _reactNative=require(\"react-native\");var styles=exports.styles=_reactNative.StyleSheet.create({stepNumber:{marginTop:20,alignItems:'center',position:'absolute'},sliderMainContainer:{zIndex:1,width:'100%'},defaultSlideriOS:{height:40},defaultSlider:{},stepsIndicator:{flex:1,flexDirection:'row',justifyContent:'space-between',top:_reactNative.Platform.OS==='ios'?10:0,zIndex:2},trackMarkContainer:{alignItems:'center',alignContent:'center',alignSelf:'center',justifyContent:'center',position:'absolute',zIndex:3},thumbImageContainer:{position:'absolute',zIndex:3,justifyContent:'center',alignItems:'center',alignContent:'center'},thumbImage:{alignContent:'center',alignItems:'center',position:'absolute'},stepIndicatorElement:{alignItems:'center',alignContent:'center'},defaultIndicatorMarked:{height:20,width:5,backgroundColor:'#CCCCCC'},defaultIndicatorIdle:{height:10,width:2,backgroundColor:'#C0C0C0'}});","/**\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 * @flow strict\n * @format\n */\n\n'use strict';\n\nexport type PackagerAsset = {\n +__packager_asset: boolean,\n +fileSystemLocation: string,\n +httpServerLocation: string,\n +width: ?number,\n +height: ?number,\n +scales: Array,\n +hash: string,\n +name: string,\n +type: string,\n ...\n};\n\nconst assets: Array = [];\n\nfunction registerAsset(asset: PackagerAsset): number {\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}\n\nfunction getAssetByID(assetId: number): PackagerAsset {\n return assets[assetId - 1];\n}\n\nmodule.exports = {registerAsset, getAssetByID};\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 * @noflow\n */\n\n/* eslint no-bitwise: 0 */\n\n'use strict';\n\nfunction normalizeColor(color) {\n if (typeof color === 'number') {\n if (color >>> 0 === color && color >= 0 && color <= 0xffffffff) {\n return color;\n }\n return null;\n }\n\n if (typeof color !== 'string') {\n return null;\n }\n\n const matchers = getMatchers();\n let match;\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 const colorFromKeyword = normalizeKeyword(color);\n if (colorFromKeyword != null) {\n return colorFromKeyword;\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\n if ((match = matchers.rgba.exec(color))) {\n // rgba(R G B / A) notation\n if (match[6] !== undefined) {\n return (\n ((parse255(match[6]) << 24) | // r\n (parse255(match[7]) << 16) | // g\n (parse255(match[8]) << 8) | // b\n parse1(match[9])) >>> // a\n 0\n );\n }\n\n // rgba(R, G, B, A) notation\n return (\n ((parse255(match[2]) << 24) | // r\n (parse255(match[3]) << 16) | // g\n (parse255(match[4]) << 8) | // b\n parse1(match[5])) >>> // a\n 0\n );\n }\n\n if ((match = matchers.hex3.exec(color))) {\n return (\n parseInt(\n match[1] +\n match[1] + // r\n match[2] +\n match[2] + // g\n match[3] +\n match[3] + // b\n 'ff', // a\n 16,\n ) >>> 0\n );\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 (\n parseInt(\n match[1] +\n match[1] + // r\n match[2] +\n match[2] + // g\n match[3] +\n match[3] + // b\n match[4] +\n match[4], // a\n 16,\n ) >>> 0\n );\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\n if ((match = matchers.hsla.exec(color))) {\n // hsla(H S L / A) notation\n if (match[6] !== undefined) {\n return (\n (hslToRgb(\n parse360(match[6]), // h\n parsePercentage(match[7]), // s\n parsePercentage(match[8]), // l\n ) |\n parse1(match[9])) >>> // a\n 0\n );\n }\n\n // hsla(H, S, L, A) notation\n return (\n (hslToRgb(\n parse360(match[2]), // h\n parsePercentage(match[3]), // s\n parsePercentage(match[4]), // l\n ) |\n parse1(match[5])) >>> // a\n 0\n );\n }\n\n if ((match = matchers.hwb.exec(color))) {\n return (\n (hwbToRgb(\n parse360(match[1]), // h\n parsePercentage(match[2]), // w\n parsePercentage(match[3]), // b\n ) |\n 0x000000ff) >>> // a\n 0\n );\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 const q = l < 0.5 ? l * (1 + s) : l + s - l * s;\n const p = 2 * l - q;\n const r = hue2rgb(p, q, h + 1 / 3);\n const g = hue2rgb(p, q, h);\n const 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\nfunction hwbToRgb(h, w, b) {\n if (w + b >= 1) {\n const gray = Math.round((w * 255) / (w + b));\n\n return (gray << 24) | (gray << 16) | (gray << 8);\n }\n\n const red = hue2rgb(0, 1, h + 1 / 3) * (1 - w - b) + w;\n const green = hue2rgb(0, 1, h) * (1 - w - b) + w;\n const blue = hue2rgb(0, 1, h - 1 / 3) * (1 - w - b) + w;\n\n return (\n (Math.round(red * 255) << 24) |\n (Math.round(green * 255) << 16) |\n (Math.round(blue * 255) << 8)\n );\n}\n\nconst NUMBER = '[-+]?\\\\d*\\\\.?\\\\d+';\nconst PERCENTAGE = NUMBER + '%';\n\nfunction call(...args) {\n return '\\\\(\\\\s*(' + args.join(')\\\\s*,?\\\\s*(') + ')\\\\s*\\\\)';\n}\n\nfunction callWithSlashSeparator(...args) {\n return (\n '\\\\(\\\\s*(' +\n args.slice(0, args.length - 1).join(')\\\\s*,?\\\\s*(') +\n ')\\\\s*/\\\\s*(' +\n args[args.length - 1] +\n ')\\\\s*\\\\)'\n );\n}\n\nfunction commaSeparatedCall(...args) {\n return '\\\\(\\\\s*(' + args.join(')\\\\s*,\\\\s*(') + ')\\\\s*\\\\)';\n}\n\nlet cachedMatchers;\n\nfunction getMatchers() {\n if (cachedMatchers === undefined) {\n cachedMatchers = {\n rgb: new RegExp('rgb' + call(NUMBER, NUMBER, NUMBER)),\n rgba: new RegExp(\n 'rgba(' +\n commaSeparatedCall(NUMBER, NUMBER, NUMBER, NUMBER) +\n '|' +\n callWithSlashSeparator(NUMBER, NUMBER, NUMBER, NUMBER) +\n ')',\n ),\n hsl: new RegExp('hsl' + call(NUMBER, PERCENTAGE, PERCENTAGE)),\n hsla: new RegExp(\n 'hsla(' +\n commaSeparatedCall(NUMBER, PERCENTAGE, PERCENTAGE, NUMBER) +\n '|' +\n callWithSlashSeparator(NUMBER, PERCENTAGE, PERCENTAGE, NUMBER) +\n ')',\n ),\n hwb: new RegExp('hwb' + call(NUMBER, PERCENTAGE, PERCENTAGE)),\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 }\n return cachedMatchers;\n}\n\nfunction parse255(str) {\n const 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 const int = parseFloat(str);\n return (((int % 360) + 360) % 360) / 360;\n}\n\nfunction parse1(str) {\n const 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 const int = parseFloat(str);\n if (int < 0) {\n return 0;\n }\n if (int > 100) {\n return 1;\n }\n return int / 100;\n}\n\nfunction normalizeKeyword(name) {\n // prettier-ignore\n switch (name) {\n case 'transparent': return 0x00000000;\n // http://www.w3.org/TR/css3-color/#svg-color\n case 'aliceblue': return 0xf0f8ffff;\n case 'antiquewhite': return 0xfaebd7ff;\n case 'aqua': return 0x00ffffff;\n case 'aquamarine': return 0x7fffd4ff;\n case 'azure': return 0xf0ffffff;\n case 'beige': return 0xf5f5dcff;\n case 'bisque': return 0xffe4c4ff;\n case 'black': return 0x000000ff;\n case 'blanchedalmond': return 0xffebcdff;\n case 'blue': return 0x0000ffff;\n case 'blueviolet': return 0x8a2be2ff;\n case 'brown': return 0xa52a2aff;\n case 'burlywood': return 0xdeb887ff;\n case 'burntsienna': return 0xea7e5dff;\n case 'cadetblue': return 0x5f9ea0ff;\n case 'chartreuse': return 0x7fff00ff;\n case 'chocolate': return 0xd2691eff;\n case 'coral': return 0xff7f50ff;\n case 'cornflowerblue': return 0x6495edff;\n case 'cornsilk': return 0xfff8dcff;\n case 'crimson': return 0xdc143cff;\n case 'cyan': return 0x00ffffff;\n case 'darkblue': return 0x00008bff;\n case 'darkcyan': return 0x008b8bff;\n case 'darkgoldenrod': return 0xb8860bff;\n case 'darkgray': return 0xa9a9a9ff;\n case 'darkgreen': return 0x006400ff;\n case 'darkgrey': return 0xa9a9a9ff;\n case 'darkkhaki': return 0xbdb76bff;\n case 'darkmagenta': return 0x8b008bff;\n case 'darkolivegreen': return 0x556b2fff;\n case 'darkorange': return 0xff8c00ff;\n case 'darkorchid': return 0x9932ccff;\n case 'darkred': return 0x8b0000ff;\n case 'darksalmon': return 0xe9967aff;\n case 'darkseagreen': return 0x8fbc8fff;\n case 'darkslateblue': return 0x483d8bff;\n case 'darkslategray': return 0x2f4f4fff;\n case 'darkslategrey': return 0x2f4f4fff;\n case 'darkturquoise': return 0x00ced1ff;\n case 'darkviolet': return 0x9400d3ff;\n case 'deeppink': return 0xff1493ff;\n case 'deepskyblue': return 0x00bfffff;\n case 'dimgray': return 0x696969ff;\n case 'dimgrey': return 0x696969ff;\n case 'dodgerblue': return 0x1e90ffff;\n case 'firebrick': return 0xb22222ff;\n case 'floralwhite': return 0xfffaf0ff;\n case 'forestgreen': return 0x228b22ff;\n case 'fuchsia': return 0xff00ffff;\n case 'gainsboro': return 0xdcdcdcff;\n case 'ghostwhite': return 0xf8f8ffff;\n case 'gold': return 0xffd700ff;\n case 'goldenrod': return 0xdaa520ff;\n case 'gray': return 0x808080ff;\n case 'green': return 0x008000ff;\n case 'greenyellow': return 0xadff2fff;\n case 'grey': return 0x808080ff;\n case 'honeydew': return 0xf0fff0ff;\n case 'hotpink': return 0xff69b4ff;\n case 'indianred': return 0xcd5c5cff;\n case 'indigo': return 0x4b0082ff;\n case 'ivory': return 0xfffff0ff;\n case 'khaki': return 0xf0e68cff;\n case 'lavender': return 0xe6e6faff;\n case 'lavenderblush': return 0xfff0f5ff;\n case 'lawngreen': return 0x7cfc00ff;\n case 'lemonchiffon': return 0xfffacdff;\n case 'lightblue': return 0xadd8e6ff;\n case 'lightcoral': return 0xf08080ff;\n case 'lightcyan': return 0xe0ffffff;\n case 'lightgoldenrodyellow': return 0xfafad2ff;\n case 'lightgray': return 0xd3d3d3ff;\n case 'lightgreen': return 0x90ee90ff;\n case 'lightgrey': return 0xd3d3d3ff;\n case 'lightpink': return 0xffb6c1ff;\n case 'lightsalmon': return 0xffa07aff;\n case 'lightseagreen': return 0x20b2aaff;\n case 'lightskyblue': return 0x87cefaff;\n case 'lightslategray': return 0x778899ff;\n case 'lightslategrey': return 0x778899ff;\n case 'lightsteelblue': return 0xb0c4deff;\n case 'lightyellow': return 0xffffe0ff;\n case 'lime': return 0x00ff00ff;\n case 'limegreen': return 0x32cd32ff;\n case 'linen': return 0xfaf0e6ff;\n case 'magenta': return 0xff00ffff;\n case 'maroon': return 0x800000ff;\n case 'mediumaquamarine': return 0x66cdaaff;\n case 'mediumblue': return 0x0000cdff;\n case 'mediumorchid': return 0xba55d3ff;\n case 'mediumpurple': return 0x9370dbff;\n case 'mediumseagreen': return 0x3cb371ff;\n case 'mediumslateblue': return 0x7b68eeff;\n case 'mediumspringgreen': return 0x00fa9aff;\n case 'mediumturquoise': return 0x48d1ccff;\n case 'mediumvioletred': return 0xc71585ff;\n case 'midnightblue': return 0x191970ff;\n case 'mintcream': return 0xf5fffaff;\n case 'mistyrose': return 0xffe4e1ff;\n case 'moccasin': return 0xffe4b5ff;\n case 'navajowhite': return 0xffdeadff;\n case 'navy': return 0x000080ff;\n case 'oldlace': return 0xfdf5e6ff;\n case 'olive': return 0x808000ff;\n case 'olivedrab': return 0x6b8e23ff;\n case 'orange': return 0xffa500ff;\n case 'orangered': return 0xff4500ff;\n case 'orchid': return 0xda70d6ff;\n case 'palegoldenrod': return 0xeee8aaff;\n case 'palegreen': return 0x98fb98ff;\n case 'paleturquoise': return 0xafeeeeff;\n case 'palevioletred': return 0xdb7093ff;\n case 'papayawhip': return 0xffefd5ff;\n case 'peachpuff': return 0xffdab9ff;\n case 'peru': return 0xcd853fff;\n case 'pink': return 0xffc0cbff;\n case 'plum': return 0xdda0ddff;\n case 'powderblue': return 0xb0e0e6ff;\n case 'purple': return 0x800080ff;\n case 'rebeccapurple': return 0x663399ff;\n case 'red': return 0xff0000ff;\n case 'rosybrown': return 0xbc8f8fff;\n case 'royalblue': return 0x4169e1ff;\n case 'saddlebrown': return 0x8b4513ff;\n case 'salmon': return 0xfa8072ff;\n case 'sandybrown': return 0xf4a460ff;\n case 'seagreen': return 0x2e8b57ff;\n case 'seashell': return 0xfff5eeff;\n case 'sienna': return 0xa0522dff;\n case 'silver': return 0xc0c0c0ff;\n case 'skyblue': return 0x87ceebff;\n case 'slateblue': return 0x6a5acdff;\n case 'slategray': return 0x708090ff;\n case 'slategrey': return 0x708090ff;\n case 'snow': return 0xfffafaff;\n case 'springgreen': return 0x00ff7fff;\n case 'steelblue': return 0x4682b4ff;\n case 'tan': return 0xd2b48cff;\n case 'teal': return 0x008080ff;\n case 'thistle': return 0xd8bfd8ff;\n case 'tomato': return 0xff6347ff;\n case 'turquoise': return 0x40e0d0ff;\n case 'violet': return 0xee82eeff;\n case 'wheat': return 0xf5deb3ff;\n case 'white': return 0xffffffff;\n case 'whitesmoke': return 0xf5f5f5ff;\n case 'yellow': return 0xffff00ff;\n case 'yellowgreen': return 0x9acd32ff;\n }\n return null;\n}\n\nmodule.exports = normalizeColor;\n","import type { PackagerAsset } from '@react-native/assets-registry/registry';\nimport { Platform } from 'expo-modules-core';\nimport { PixelRatio } from 'react-native';\n\nexport type ResolvedAssetSource = {\n __packager_asset: boolean;\n width?: number;\n height?: number;\n uri: string;\n scale: number;\n};\n\n// Returns the Metro dev server-specific asset location.\nfunction getScaledAssetPath(asset): string {\n const scale = AssetSourceResolver.pickScale(asset.scales, PixelRatio.get());\n const scaleSuffix = scale === 1 ? '' : '@' + scale + 'x';\n const type = !asset.type ? '' : `.${asset.type}`;\n if (__DEV__) {\n return asset.httpServerLocation + '/' + asset.name + scaleSuffix + type;\n } else {\n return asset.httpServerLocation.replace(/\\.\\.\\//g, '_') + '/' + asset.name + scaleSuffix + type;\n }\n}\n\nexport default class AssetSourceResolver {\n private readonly serverUrl: string;\n // where the jsbundle is being run from\n // NOTE(EvanBacon): Never defined on web.\n private readonly jsbundleUrl: string | undefined | null;\n // the asset to resolve\n public readonly asset: PackagerAsset;\n\n constructor(\n serverUrl: string | undefined | null,\n jsbundleUrl: string | undefined | null,\n asset: PackagerAsset\n ) {\n this.serverUrl = serverUrl || 'https://expo.dev';\n this.jsbundleUrl = null;\n this.asset = asset;\n }\n\n // Always true for web runtimes\n isLoadedFromServer(): boolean {\n return true;\n }\n\n // Always false for web runtimes\n isLoadedFromFileSystem(): boolean {\n return false;\n }\n\n defaultAsset(): ResolvedAssetSource {\n return this.assetServerURL();\n }\n\n /**\n * @returns absolute remote URL for the hosted asset.\n */\n assetServerURL(): ResolvedAssetSource {\n const fromUrl = new URL(getScaledAssetPath(this.asset), this.serverUrl);\n fromUrl.searchParams.set('platform', Platform.OS);\n fromUrl.searchParams.set('hash', this.asset.hash);\n return this.fromSource(\n // Relative on web\n fromUrl.toString().replace(fromUrl.origin, '')\n );\n }\n\n fromSource(source: string): ResolvedAssetSource {\n return {\n __packager_asset: true,\n width: this.asset.width ?? undefined,\n height: this.asset.height ?? undefined,\n uri: source,\n scale: AssetSourceResolver.pickScale(this.asset.scales, PixelRatio.get()),\n };\n }\n\n static pickScale(scales: number[], deviceScale: number): number {\n for (let i = 0; i < scales.length; i++) {\n if (scales[i] >= deviceScale) {\n return scales[i];\n }\n }\n return scales[scales.length - 1] || 1;\n }\n}\n","export const IS_ENV_WITH_LOCAL_ASSETS = false;\n\nexport function getLocalAssets(): Record {\n return {};\n}\n\nexport function getManifest2() {\n return {};\n}\n\n// Compute manifest base URL if available\nexport const manifestBaseUrl = null;\n","import type { PackagerAsset } from '@react-native/assets-registry/registry';\nimport { Platform } from 'expo-modules-core';\nimport { PixelRatio, NativeModules } from 'react-native';\n\nimport AssetSourceResolver from './AssetSourceResolver';\nimport { getManifest2, manifestBaseUrl } from './PlatformUtils';\n\n// @docsMissing\nexport type AssetMetadata = Pick<\n PackagerAsset,\n 'httpServerLocation' | 'name' | 'hash' | 'type' | 'scales' | 'width' | 'height'\n> & {\n uri?: string;\n fileHashes?: string[];\n fileUris?: string[];\n};\n\nexport type AssetSource = {\n uri: string;\n hash: string;\n};\n\n/**\n * Selects the best file for the given asset (ex: choosing the best scale for images) and returns\n * a { uri, hash } pair for the specific asset file.\n *\n * If the asset isn't an image with multiple scales, the first file is selected.\n */\nexport function selectAssetSource(meta: AssetMetadata): AssetSource {\n // This logic is based on that of AssetSourceResolver, with additional support for file hashes and\n // explicitly provided URIs\n const scale = AssetSourceResolver.pickScale(meta.scales, PixelRatio.get());\n const index = meta.scales.findIndex((s) => s === scale);\n const hash = meta.fileHashes ? meta.fileHashes[index] ?? meta.fileHashes[0] : meta.hash;\n\n // Allow asset processors to directly provide the URL to load\n const uri = meta.fileUris ? meta.fileUris[index] ?? meta.fileUris[0] : meta.uri;\n if (uri) {\n return { uri: resolveUri(uri), hash };\n }\n\n const fileScale = scale === 1 ? '' : `@${scale}x`;\n const fileExtension = meta.type ? `.${encodeURIComponent(meta.type)}` : '';\n const suffix = `/${encodeURIComponent(meta.name)}${fileScale}${fileExtension}`;\n const params = new URLSearchParams({\n platform: Platform.OS,\n hash: meta.hash,\n });\n\n // For assets with a specified absolute URL, we use the existing origin instead of prepending the\n // development server or production CDN URL origin\n if (/^https?:\\/\\//.test(meta.httpServerLocation)) {\n const uri = meta.httpServerLocation + suffix + '?' + params;\n return { uri, hash };\n }\n\n // For assets during development using manifest2, we use the development server's URL origin\n const manifest2 = getManifest2();\n\n const devServerUrl = manifest2?.extra?.expoGo?.developer\n ? 'http://' + manifest2.extra.expoGo.debuggerHost\n : null;\n if (devServerUrl) {\n const baseUrl = new URL(meta.httpServerLocation + suffix, devServerUrl);\n\n baseUrl.searchParams.set('platform', Platform.OS);\n baseUrl.searchParams.set('hash', meta.hash);\n return {\n uri: baseUrl.href,\n hash,\n };\n }\n\n // Temporary fallback for loading assets in Expo Go home\n if (NativeModules.ExponentKernel) {\n return { uri: `https://classic-assets.eascdn.net/~assets/${encodeURIComponent(hash)}`, hash };\n }\n\n // In correctly configured apps, we arrive here if the asset is locally available on disk due to\n // being managed by expo-updates, and `getLocalAssetUri(hash)` must return a local URI for this\n // hash. Since the asset is local, we don't have a remote URL and specify an invalid URL (an empty\n // string) as a placeholder.\n return { uri: '', hash };\n}\n\n/**\n * Resolves the given URI to an absolute URI. If the given URI is already an absolute URI, it is\n * simply returned. Otherwise, if it is a relative URI, it is resolved relative to the manifest's\n * base URI.\n */\nexport function resolveUri(uri: string): string {\n // `manifestBaseUrl` is always an absolute URL or `null`.\n return manifestBaseUrl ? new URL(uri, manifestBaseUrl).href : uri;\n}\n\n// A very cheap path canonicalization like path.join but without depending on a `path` polyfill.\nexport function pathJoin(...paths: string[]): string {\n // Start by simply combining paths, without worrying about \"..\" or \".\"\n const combined = paths\n .map((part, index) => {\n if (index === 0) {\n return part.trim().replace(/\\/*$/, '');\n }\n return part.trim().replace(/(^\\/*|\\/*$)/g, '');\n })\n .filter((part) => part.length > 0)\n .join('/')\n .split('/');\n\n // Handle \"..\" and \".\" in paths\n const resolved: string[] = [];\n for (const part of combined) {\n if (part === '..') {\n resolved.pop(); // Remove the last element from the result\n } else if (part !== '.') {\n resolved.push(part);\n }\n }\n\n return resolved.join('/');\n}\n","export function getFilename(url: string): string {\n const { pathname, searchParams } = new URL(url, 'https://e');\n\n // When attached to a dev server, we use `unstable_path` to represent the file path. This ensures\n // the file name is not canonicalized by the browser.\n // NOTE(EvanBacon): This is technically not tied to `__DEV__` as it's possible to use this while bundling in production\n // mode.\n if (__DEV__) {\n if (searchParams.has('unstable_path')) {\n const encodedFilePath = decodeURIComponent(searchParams.get('unstable_path')!);\n return getBasename(encodedFilePath);\n }\n }\n\n return getBasename(pathname);\n}\n\nfunction getBasename(pathname: string): string {\n return pathname.substring(pathname.lastIndexOf('/') + 1);\n}\n\nexport function getFileExtension(url: string): string {\n const filename = getFilename(url);\n const dotIndex = filename.lastIndexOf('.');\n // Ignore leading dots for hidden files\n return dotIndex > 0 ? filename.substring(dotIndex) : '';\n}\n\n/**\n * Returns the base URL from a manifest's URL. For example, given a manifest hosted at\n * https://example.com/app/manifest.json, the base URL would be https://example.com/app/. Query\n * parameters and fragments also are removed.\n *\n * For an Expo-hosted project with a manifest hosted at https://exp.host/@user/project/index.exp, the\n * base URL would be https://exp.host/@user/project.\n *\n * We also normalize the \"exp\" protocol to \"http\" to handle internal URLs with the Expo schemes used\n * to tell the OS to open the URLs in the the Expo client.\n */\nexport function getManifestBaseUrl(manifestUrl: string): string {\n const urlObject = new URL(manifestUrl);\n\n let nextProtocol = urlObject.protocol;\n // Change the scheme to http(s) if it is exp(s)\n if (nextProtocol === 'exp:') {\n nextProtocol = 'http:';\n } else if (nextProtocol === 'exps:') {\n nextProtocol = 'https:';\n }\n urlObject.protocol = nextProtocol;\n\n // Trim filename, query parameters, and fragment, if any\n const directory = urlObject.pathname.substring(0, urlObject.pathname.lastIndexOf('/') + 1);\n urlObject.pathname = directory;\n urlObject.search = '';\n urlObject.hash = '';\n\n // The URL spec doesn't allow for changing the protocol to `http` or `https`\n // without a port set so instead, we'll just swap the protocol manually.\n return urlObject.protocol !== nextProtocol\n ? urlObject.href.replace(urlObject.protocol, nextProtocol)\n : urlObject.href;\n}\n","import { getAssetByID } from '@react-native/assets-registry/registry';\n\nimport AssetSourceResolver, { ResolvedAssetSource } from './AssetSourceResolver';\n\nlet _customSourceTransformer: (resolver: AssetSourceResolver) => ResolvedAssetSource;\n\nexport function setCustomSourceTransformer(\n transformer: (resolver: AssetSourceResolver) => ResolvedAssetSource\n): void {\n _customSourceTransformer = transformer;\n}\n\n/**\n * `source` is either a number (opaque type returned by require('./foo.png'))\n * or an `ImageSource` like { uri: '' }\n */\nexport default function resolveAssetSource(source: any): ResolvedAssetSource | null {\n if (typeof source === 'object') {\n return source;\n }\n\n const asset = getAssetByID(source);\n if (!asset) {\n return null;\n }\n\n const resolver = new AssetSourceResolver(\n // Doesn't matter since this is removed on web\n 'https://expo.dev',\n null,\n asset\n );\n if (_customSourceTransformer) {\n return _customSourceTransformer(resolver);\n }\n return resolver.defaultAsset();\n}\n\nObject.defineProperty(resolveAssetSource, 'setCustomSourceTransformer', {\n get() {\n return setCustomSourceTransformer;\n },\n});\n\nexport const { pickScale } = AssetSourceResolver;\n","import { getAssetByID } from '@react-native/assets-registry/registry';\nimport { Platform } from 'expo-modules-core';\n\nimport { AssetMetadata, selectAssetSource } from './AssetSources';\nimport * as AssetUris from './AssetUris';\nimport { downloadAsync } from './ExpoAsset';\nimport * as ImageAssets from './ImageAssets';\nimport { getLocalAssetUri } from './LocalAssets';\nimport { IS_ENV_WITH_LOCAL_ASSETS } from './PlatformUtils';\nimport resolveAssetSource from './resolveAssetSource';\n\n// @docsMissing\nexport type AssetDescriptor = {\n name: string;\n type: string;\n hash?: string | null;\n uri: string;\n width?: number | null;\n height?: number | null;\n};\n\ntype DownloadPromiseCallbacks = {\n resolve: () => void;\n reject: (error: Error) => void;\n};\n\nexport { AssetMetadata };\n\n/**\n * The `Asset` class represents an asset in your app. It gives metadata about the asset (such as its\n * name and type) and provides facilities to load the asset data.\n */\nexport class Asset {\n private static byHash = {};\n private static byUri = {};\n\n /**\n * The name of the asset file without the extension. Also without the part from `@` onward in the\n * filename (used to specify scale factor for images).\n */\n public name: string;\n /**\n * The extension of the asset filename.\n */\n public readonly type: string;\n /**\n * The MD5 hash of the asset's data.\n */\n public readonly hash: string | null = null;\n /**\n * A URI that points to the asset's data on the remote server. When running the published version\n * of your app, this refers to the location on Expo's asset server where Expo has stored your\n * asset. When running the app from Expo CLI during development, this URI points to Expo CLI's\n * server running on your computer and the asset is served directly from your computer. If you\n * are not using Classic Updates (legacy), this field should be ignored as we ensure your assets\n * are on device before before running your application logic.\n */\n public readonly uri: string;\n /**\n * If the asset has been downloaded (by calling [`downloadAsync()`](#downloadasync)), the\n * `file://` URI pointing to the local file on the device that contains the asset data.\n */\n public localUri: string | null = null;\n /**\n * If the asset is an image, the width of the image data divided by the scale factor. The scale\n * factor is the number after `@` in the filename, or `1` if not present.\n */\n public width: number | null = null;\n /**\n * If the asset is an image, the height of the image data divided by the scale factor. The scale factor is the number after `@` in the filename, or `1` if not present.\n */\n public height: number | null = null;\n\n private downloading: boolean = false;\n\n /**\n * Whether the asset has finished downloading from a call to [`downloadAsync()`](#downloadasync).\n */\n public downloaded: boolean = false;\n\n private _downloadCallbacks: DownloadPromiseCallbacks[] = [];\n\n constructor({ name, type, hash = null, uri, width, height }: AssetDescriptor) {\n this.name = name;\n this.type = type;\n this.hash = hash;\n this.uri = uri;\n\n if (typeof width === 'number') {\n this.width = width;\n }\n if (typeof height === 'number') {\n this.height = height;\n }\n\n if (hash) {\n this.localUri = getLocalAssetUri(hash, type);\n if (this.localUri) {\n this.downloaded = true;\n }\n }\n\n if (Platform.OS === 'web') {\n if (!name) {\n this.name = AssetUris.getFilename(uri);\n }\n if (!type) {\n this.type = AssetUris.getFileExtension(uri);\n }\n }\n }\n\n // @needsAudit\n /**\n * A helper that wraps `Asset.fromModule(module).downloadAsync` for convenience.\n * @param moduleId An array of `require('path/to/file')` or external network URLs. Can also be\n * just one module or URL without an Array.\n * @return Returns a Promise that fulfills with an array of `Asset`s when the asset(s) has been\n * saved to disk.\n * @example\n * ```ts\n * const [{ localUri }] = await Asset.loadAsync(require('./assets/snack-icon.png'));\n * ```\n */\n static loadAsync(moduleId: number | number[] | string | string[]): Promise {\n const moduleIds = Array.isArray(moduleId) ? moduleId : [moduleId];\n return Promise.all(moduleIds.map((moduleId) => Asset.fromModule(moduleId).downloadAsync()));\n }\n\n // @needsAudit\n /**\n * Returns the [`Asset`](#asset) instance representing an asset given its module or URL.\n * @param virtualAssetModule The value of `require('path/to/file')` for the asset or external\n * network URL\n * @return The [`Asset`](#asset) instance for the asset.\n */\n static fromModule(virtualAssetModule: number | string): Asset {\n if (typeof virtualAssetModule === 'string') {\n return Asset.fromURI(virtualAssetModule);\n }\n\n const meta = getAssetByID(virtualAssetModule);\n if (!meta) {\n throw new Error(`Module \"${virtualAssetModule}\" is missing from the asset registry`);\n }\n\n // Outside of the managed env we need the moduleId to initialize the asset\n // because resolveAssetSource depends on it\n if (!IS_ENV_WITH_LOCAL_ASSETS) {\n // null-check is performed above with `getAssetByID`.\n const { uri } = resolveAssetSource(virtualAssetModule)!;\n\n const asset = new Asset({\n name: meta.name,\n type: meta.type,\n hash: meta.hash,\n uri,\n width: meta.width,\n height: meta.height,\n });\n\n // For images backward compatibility,\n // keeps localUri the same as uri for React Native's Image that\n // works fine with drawable resource names.\n if (Platform.OS === 'android' && !uri.includes(':') && (meta.width || meta.height)) {\n asset.localUri = asset.uri;\n asset.downloaded = true;\n }\n\n Asset.byHash[meta.hash] = asset;\n return asset;\n }\n\n return Asset.fromMetadata(meta);\n }\n\n // @docsMissing\n static fromMetadata(meta: AssetMetadata): Asset {\n // The hash of the whole asset, not to be confused with the hash of a specific file returned\n // from `selectAssetSource`\n const metaHash = meta.hash;\n if (Asset.byHash[metaHash]) {\n return Asset.byHash[metaHash];\n }\n\n const { uri, hash } = selectAssetSource(meta);\n const asset = new Asset({\n name: meta.name,\n type: meta.type,\n hash,\n uri,\n width: meta.width,\n height: meta.height,\n });\n Asset.byHash[metaHash] = asset;\n return asset;\n }\n\n // @docsMissing\n static fromURI(uri: string): Asset {\n if (Asset.byUri[uri]) {\n return Asset.byUri[uri];\n }\n\n // Possibly a Base64-encoded URI\n let type = '';\n if (uri.indexOf(';base64') > -1) {\n type = uri.split(';')[0].split('/')[1];\n } else {\n const extension = AssetUris.getFileExtension(uri);\n type = extension.startsWith('.') ? extension.substring(1) : extension;\n }\n\n const asset = new Asset({\n name: '',\n type,\n hash: null,\n uri,\n });\n\n Asset.byUri[uri] = asset;\n\n return asset;\n }\n\n // @needsAudit\n /**\n * Downloads the asset data to a local file in the device's cache directory. Once the returned\n * promise is fulfilled without error, the [`localUri`](#localuri) field of this asset points\n * to a local file containing the asset data. The asset is only downloaded if an up-to-date local\n * file for the asset isn't already present due to an earlier download. The downloaded `Asset`\n * will be returned when the promise is resolved.\n * @return Returns a Promise which fulfills with an `Asset` instance.\n */\n async downloadAsync(): Promise {\n if (this.downloaded) {\n return this;\n }\n if (this.downloading) {\n await new Promise((resolve, reject) => {\n this._downloadCallbacks.push({ resolve, reject });\n });\n return this;\n }\n this.downloading = true;\n\n try {\n if (Platform.OS === 'web') {\n if (ImageAssets.isImageType(this.type)) {\n const { width, height, name } = await ImageAssets.getImageInfoAsync(this.uri);\n this.width = width;\n this.height = height;\n this.name = name;\n } else {\n this.name = AssetUris.getFilename(this.uri);\n }\n }\n this.localUri = await downloadAsync(this.uri, this.hash, this.type);\n\n this.downloaded = true;\n this._downloadCallbacks.forEach(({ resolve }) => resolve());\n } catch (e) {\n this._downloadCallbacks.forEach(({ reject }) => reject(e));\n throw e;\n } finally {\n this.downloading = false;\n this._downloadCallbacks = [];\n }\n return this;\n }\n}\n","export function getLocalAssetUri(hash: string, type: string | null): string | null {\n // noop on web\n return null;\n}\n","/* eslint-env browser */\nimport { Platform } from 'expo-modules-core';\n\nimport { getFilename } from './AssetUris';\n\ntype ImageInfo = {\n name: string;\n width: number;\n height: number;\n};\n\nexport function isImageType(type: string): boolean {\n return /^(jpeg|jpg|gif|png|bmp|webp|heic)$/i.test(type);\n}\n\nexport function getImageInfoAsync(url: string): Promise {\n if (!Platform.isDOMAvailable) {\n return Promise.resolve({ name: getFilename(url), width: 0, height: 0 });\n }\n return new Promise((resolve, reject) => {\n const img = new Image();\n img.onerror = reject;\n img.onload = () => {\n resolve({\n name: getFilename(url),\n width: img.naturalWidth,\n height: img.naturalHeight,\n });\n };\n img.src = url;\n });\n}\n","export async function downloadAsync(\n url: string,\n _hash: string | null,\n _type: string\n): Promise {\n return url;\n}\n","import { Asset } from 'expo-asset';\nimport { Platform } from 'expo-modules-core';\n\nimport {\n AVPlaybackSource,\n AVPlaybackNativeSource,\n AVPlaybackStatus,\n AVPlaybackStatusToSet,\n PitchCorrectionQuality,\n AVPlaybackTolerance,\n} from './AV.types';\n\n// TODO add:\n// disableFocusOnAndroid\n// audio routes (at least did become noisy on android)\n// pan\n// pitch\n// API to explicitly request audio focus / session\n// API to select stream type on Android\n// subtitles API\n\n/**\n * @hidden\n */\nexport const _DEFAULT_PROGRESS_UPDATE_INTERVAL_MILLIS: number = 500;\n\n// @needsAudit\n/**\n * The default initial `AVPlaybackStatusToSet` of all `Audio.Sound` objects and `Video` components is as follows:\n *\n * ```javascript\n * {\n * progressUpdateIntervalMillis: 500,\n * positionMillis: 0,\n * shouldPlay: false,\n * rate: 1.0,\n * shouldCorrectPitch: false,\n * volume: 1.0,\n * isMuted: false,\n * isLooping: false,\n * }\n * ```\n *\n * This default initial status can be overwritten by setting the optional `initialStatus` in `loadAsync()` or `Audio.Sound.createAsync()`.\n */\nexport const _DEFAULT_INITIAL_PLAYBACK_STATUS: AVPlaybackStatusToSet = {\n positionMillis: 0,\n progressUpdateIntervalMillis: _DEFAULT_PROGRESS_UPDATE_INTERVAL_MILLIS,\n shouldPlay: false,\n rate: 1.0,\n shouldCorrectPitch: false,\n volume: 1.0,\n audioPan: 0,\n isMuted: false,\n isLooping: false,\n};\n\n// @needsAudit\n/**\n * @hidden\n */\nexport function getNativeSourceFromSource(\n source?: AVPlaybackSource | null\n): AVPlaybackNativeSource | null {\n let uri: string | null = null;\n let overridingExtension: string | null = null;\n let headers: AVPlaybackNativeSource['headers'];\n\n if (typeof source === 'string' && Platform.OS === 'web') {\n return {\n uri: source,\n overridingExtension,\n headers,\n };\n }\n\n const asset: Asset | null = _getAssetFromPlaybackSource(source);\n if (asset != null) {\n uri = asset.localUri || asset.uri;\n } else if (\n source != null &&\n typeof source !== 'number' &&\n 'uri' in source &&\n typeof source.uri === 'string'\n ) {\n uri = source.uri;\n }\n\n if (uri == null) {\n return null;\n }\n\n if (\n source != null &&\n typeof source !== 'number' &&\n 'overrideFileExtensionAndroid' in source &&\n typeof source.overrideFileExtensionAndroid === 'string'\n ) {\n overridingExtension = source.overrideFileExtensionAndroid;\n }\n\n if (\n source != null &&\n typeof source !== 'number' &&\n 'headers' in source &&\n typeof source.headers === 'object'\n ) {\n headers = source.headers;\n }\n return { uri, overridingExtension, headers };\n}\n\nfunction _getAssetFromPlaybackSource(source?: AVPlaybackSource | null): Asset | null {\n if (source == null) {\n return null;\n }\n\n let asset: Asset | null = null;\n if (typeof source === 'number') {\n asset = Asset.fromModule(source);\n } else if (source instanceof Asset) {\n asset = source;\n }\n return asset;\n}\n\n// @needsAudit\n/**\n * @hidden\n */\nexport function assertStatusValuesInBounds(status: AVPlaybackStatusToSet): void {\n if (typeof status.rate === 'number' && (status.rate < 0 || status.rate > 32)) {\n throw new RangeError('Rate value must be between 0.0 and 32.0');\n }\n if (typeof status.volume === 'number' && (status.volume < 0 || status.volume > 1)) {\n throw new RangeError('Volume value must be between 0.0 and 1.0');\n }\n if (typeof status.audioPan === 'number' && (status.audioPan < -1 || status.audioPan > 1)) {\n throw new RangeError('Pan value must be between -1.0 and 1.0');\n }\n}\n\n// @needsAudit\n/**\n * @hidden\n */\nexport async function getNativeSourceAndFullInitialStatusForLoadAsync(\n source: AVPlaybackSource | null,\n initialStatus: AVPlaybackStatusToSet | null,\n downloadFirst: boolean\n): Promise<{\n nativeSource: AVPlaybackNativeSource;\n fullInitialStatus: AVPlaybackStatusToSet;\n}> {\n // Get the full initial status\n const fullInitialStatus: AVPlaybackStatusToSet =\n initialStatus == null\n ? _DEFAULT_INITIAL_PLAYBACK_STATUS\n : {\n ..._DEFAULT_INITIAL_PLAYBACK_STATUS,\n ...initialStatus,\n };\n assertStatusValuesInBounds(fullInitialStatus);\n\n if (typeof source === 'string' && Platform.OS === 'web') {\n return {\n nativeSource: {\n uri: source,\n overridingExtension: null,\n },\n fullInitialStatus,\n };\n }\n\n // Download first if necessary.\n const asset = _getAssetFromPlaybackSource(source);\n if (downloadFirst && asset) {\n // TODO we can download remote uri too once @nikki93 has integrated this into Asset\n await asset.downloadAsync();\n }\n\n // Get the native source\n const nativeSource: AVPlaybackNativeSource | null = getNativeSourceFromSource(source);\n\n if (nativeSource === null) {\n throw new Error(`Cannot load an AV asset from a null playback source`);\n }\n\n // If asset has been downloaded use the localUri\n if (asset && asset.localUri) {\n nativeSource.uri = asset.localUri;\n }\n\n return { nativeSource, fullInitialStatus };\n}\n\n// @needsAudit\n/**\n * @hidden\n */\nexport function getUnloadedStatus(error: string | null = null): AVPlaybackStatus {\n return {\n isLoaded: false,\n ...(error ? { error } : null),\n };\n}\n\n// @needsAudit\nexport interface AV {\n /**\n * Sets a new `AVPlaybackStatusToSet` on the `playbackObject`. This method can only be called if the media has been loaded.\n * @param status The new `AVPlaybackStatusToSet` of the `playbackObject`, whose values will override the current playback status.\n * @return A `Promise` that is fulfilled with the `AVPlaybackStatus` of the `playbackObject` once the new status has been set successfully,\n * or rejects if setting the new status failed. See below for details on `AVPlaybackStatus`.\n */\n setStatusAsync(status: AVPlaybackStatusToSet): Promise;\n\n /**\n * Gets the `AVPlaybackStatus` of the `playbackObject`.\n * @return A `Promise` that is fulfilled with the `AVPlaybackStatus` of the `playbackObject`.\n */\n getStatusAsync(): Promise;\n}\n\n// @needsAudit\n/**\n * On the `playbackObject` reference, the following API is provided.\n */\nexport interface Playback extends AV {\n /**\n * This is equivalent to `playbackObject.setStatusAsync({ shouldPlay: true })`.\n *\n * Playback may not start immediately after calling this function for reasons such as buffering. Make sure to update your UI based\n * on the `isPlaying` and `isBuffering` properties of the `AVPlaybackStatus`.\n */\n playAsync(): Promise;\n\n /**\n * Loads the media from `source` into memory and prepares it for playing. This must be called before calling `setStatusAsync()`\n * or any of the convenience set status methods. This method can only be called if the `playbackObject` is in an unloaded state.\n * @param source The source of the media.\n * @param initialStatus The initial intended `AVPlaybackStatusToSet` of the `playbackObject`, whose values will override the default initial playback status.\n * This value defaults to `{}` if no parameter is passed. For more information see the details on `AVPlaybackStatusToSet` type\n * and the default initial playback status.\n * @param downloadAsync If set to `true`, the system will attempt to download the resource to the device before loading.\n * This value defaults to `true`. Note that at the moment, this will only work for `source`s of the form `require('path/to/file')` or `Asset` objects.\n * @return A `Promise` that is fulfilled with the `AVPlaybackStatus` of the `playbackObject` once it is loaded, or rejects if loading failed.\n * The `Promise` will also reject if the `playbackObject` was already loaded. See below for details on `AVPlaybackStatus`.\n */\n loadAsync(\n source: AVPlaybackSource,\n initialStatus?: AVPlaybackStatusToSet,\n downloadAsync?: boolean\n ): Promise;\n\n /**\n * Unloads the media from memory. `loadAsync()` must be called again in order to be able to play the media.\n * > This cleanup function will be automatically called in the `Video` component's `componentWillUnmount`.\n * @return A `Promise` that is fulfilled with the `AVPlaybackStatus` of the `playbackObject` once it is unloaded, or rejects if unloading failed.\n */\n unloadAsync(): Promise;\n\n /**\n * This is equivalent to `playbackObject.setStatusAsync({ shouldPlay: true, positionMillis, seekMillisToleranceAfter: tolerances.seekMillisToleranceAfter, seekMillisToleranceBefore: tolerances.seekMillisToleranceBefore })`.\n *\n * Playback may not start immediately after calling this function for reasons such as buffering. Make sure to update your UI based\n * on the `isPlaying` and `isBuffering` properties of the `AVPlaybackStatus`.\n * @param positionMillis The desired position of playback in milliseconds.\n * @param tolerances The tolerances are used only on iOS ([more details](#what-is-seek-tolerance-and-why-would)).\n */\n playFromPositionAsync(\n positionMillis: number,\n tolerances?: AVPlaybackTolerance\n ): Promise;\n\n /**\n * This is equivalent to `playbackObject.setStatusAsync({ shouldPlay: false })`.\n */\n pauseAsync(): Promise;\n\n /**\n * This is equivalent to `playbackObject.setStatusAsync({ shouldPlay: false, positionMillis: 0 })`.\n */\n stopAsync(): Promise;\n\n /**\n * Replays the playback item. When using `playFromPositionAsync(0)` the item is seeked to the position at `0 ms`.\n * On iOS this method uses internal implementation of the player and is able to play the item from the beginning immediately.\n * @param status The new `AVPlaybackStatusToSet` of the `playbackObject`, whose values will override the current playback status.\n * `positionMillis` and `shouldPlay` properties will be overridden with respectively `0` and `true`.\n * @return A `Promise` that is fulfilled with the `AVPlaybackStatus` of the `playbackObject` once the new status has been set successfully,\n * or rejects if setting the new status failed.\n */\n replayAsync(status: AVPlaybackStatusToSet): Promise;\n\n /**\n * This is equivalent to `playbackObject.setStatusAsync({ positionMillis })`.\n * @param positionMillis The desired position of playback in milliseconds.\n * @param tolerances The tolerances are used only on iOS ([more details](#what-is-seek-tolerance-and-why-would)).\n */\n setPositionAsync(\n positionMillis: number,\n tolerances?: AVPlaybackTolerance\n ): Promise;\n\n /**\n * This is equivalent to `playbackObject.setStatusAsync({ rate, shouldCorrectPitch, pitchCorrectionQuality })`.\n * @param rate The desired playback rate of the media. This value must be between `0.0` and `32.0`. Only available on Android API version 23 and later and iOS.\n * @param shouldCorrectPitch A boolean describing if we should correct the pitch for a changed rate. If set to `true`, the pitch of the audio will be corrected\n * (so a rate different than `1.0` will timestretch the audio).\n * @param pitchCorrectionQuality iOS time pitch algorithm setting, defaults to `Audio.PitchCorrectionQuality.Medium`.\n * Using `Audio.PitchCorrectionQuality.Low` may cause automatic playback rate changes on iOS >= 17, as AVAudioTimePitchAlgorithmLowQualityZeroLatency is deprecated.\n */\n setRateAsync(\n rate: number,\n shouldCorrectPitch: boolean,\n pitchCorrectionQuality?: PitchCorrectionQuality\n ): Promise;\n\n /**\n * This is equivalent to `playbackObject.setStatusAsync({ volume, audioPan })`.\n * Note: `audioPan` is currently only supported on Android using `androidImplementation: 'MediaPlayer'`\n * @param volume A number between `0.0` (silence) and `1.0` (maximum volume).\n * @param audioPan A number between `-1.0` (full left) and `1.0` (full right).\n */\n setVolumeAsync(volume: number, audioPan?: number): Promise;\n\n /**\n * This is equivalent to `playbackObject.setStatusAsync({ isMuted })`.\n * @param isMuted A boolean describing if the audio of this media should be muted.\n */\n setIsMutedAsync(isMuted: boolean): Promise;\n\n /**\n * This is equivalent to `playbackObject.setStatusAsync({ isLooping })`.\n * @param isLooping A boolean describing if the media should play once (`false`) or loop indefinitely (`true`).\n */\n setIsLoopingAsync(isLooping: boolean): Promise;\n\n /**\n * This is equivalent to `playbackObject.setStatusAsync({ progressUpdateIntervalMillis })`.\n * @param progressUpdateIntervalMillis The new minimum interval in milliseconds between calls of `onPlaybackStatusUpdate`.\n * See `setOnPlaybackStatusUpdate()` for details.\n */\n setProgressUpdateIntervalAsync(progressUpdateIntervalMillis: number): Promise;\n}\n\n/**\n * @hidden\n * A mixin that defines common playback methods for A/V classes, so they implement the `Playback`\n * interface.\n */\nexport const PlaybackMixin = {\n async playAsync(): Promise {\n return (this as any as Playback).setStatusAsync({ shouldPlay: true });\n },\n\n async playFromPositionAsync(\n positionMillis: number,\n tolerances: AVPlaybackTolerance = {}\n ): Promise {\n return (this as any as Playback).setStatusAsync({\n positionMillis,\n shouldPlay: true,\n seekMillisToleranceAfter: tolerances.toleranceMillisAfter,\n seekMillisToleranceBefore: tolerances.toleranceMillisBefore,\n });\n },\n\n async pauseAsync(): Promise {\n return (this as any as Playback).setStatusAsync({ shouldPlay: false });\n },\n\n async stopAsync(): Promise {\n return (this as any as Playback).setStatusAsync({ positionMillis: 0, shouldPlay: false });\n },\n\n async setPositionAsync(\n positionMillis: number,\n tolerances: AVPlaybackTolerance = {}\n ): Promise {\n return (this as any as Playback).setStatusAsync({\n positionMillis,\n seekMillisToleranceAfter: tolerances.toleranceMillisAfter,\n seekMillisToleranceBefore: tolerances.toleranceMillisBefore,\n });\n },\n\n async setRateAsync(\n rate: number,\n shouldCorrectPitch: boolean = false,\n pitchCorrectionQuality: PitchCorrectionQuality = PitchCorrectionQuality.Medium\n ): Promise {\n return (this as any as Playback).setStatusAsync({\n rate,\n shouldCorrectPitch,\n pitchCorrectionQuality,\n });\n },\n\n async setVolumeAsync(volume: number, audioPan?: number): Promise {\n return (this as any as Playback).setStatusAsync({ volume, audioPan });\n },\n\n async setIsMutedAsync(isMuted: boolean): Promise {\n return (this as any as Playback).setStatusAsync({ isMuted });\n },\n\n async setIsLoopingAsync(isLooping: boolean): Promise {\n return (this as any as Playback).setStatusAsync({ isLooping });\n },\n\n async setProgressUpdateIntervalAsync(\n progressUpdateIntervalMillis: number\n ): Promise {\n return (this as any as Playback).setStatusAsync({ progressUpdateIntervalMillis });\n },\n};\n\nexport * from './AV.types';\n","import { Asset } from 'expo-asset';\n\nimport ExponentAV from './ExponentAV';\n\n// @needsAudit\n/**\n * Check [official Apple documentation](https://developer.apple.com/documentation/avfoundation/audio_settings/time_pitch_algorithm_settings) for more information.\n */\nexport enum PitchCorrectionQuality {\n /**\n * Equivalent to `AVAudioTimePitchAlgorithmLowQualityZeroLatency`.\n */\n Low = ExponentAV && ExponentAV.Qualities && ExponentAV.Qualities.Low,\n /**\n * Equivalent to `AVAudioTimePitchAlgorithmTimeDomain`.\n */\n Medium = ExponentAV && ExponentAV.Qualities && ExponentAV.Qualities.Medium,\n /**\n * Equivalent to `AVAudioTimePitchAlgorithmSpectral`.\n */\n High = ExponentAV && ExponentAV.Qualities && ExponentAV.Qualities.High,\n}\n\n// @needsAudit\n/**\n * The following forms of source are supported:\n * - A dictionary of the form `AVPlaybackSourceObject`.\n * The `overrideFileExtensionAndroid` property may come in handy if the player receives an URL like `example.com/play` which redirects to `example.com/player.m3u8`.\n * Setting this property to `m3u8` would allow the Android player to properly infer the content type of the media and use proper media file reader.\n * - `require('path/to/file')` for a media file asset in the source code directory.\n * - An [`Asset`](./asset) object for a media file asset.\n *\n * The [iOS developer documentation](https://developer.apple.com/library/archive/documentation/MacOSX/Conceptual/OSX_Technology_Overview/MediaLayer/MediaLayer.html)\n * lists the audio and video formats supported on iOS.\n *\n * There are two sets of audio and video formats supported on Android: [formats supported by ExoPlayer](https://exoplayer.dev/supported-formats.html)\n * and [formats supported by Android's MediaPlayer](https://developer.android.com/guide/topics/media/platform/supported-formats#formats-table).\n * Expo uses ExoPlayer implementation by default. To use `MediaPlayer`, add `androidImplementation: 'MediaPlayer'` to the initial status of the AV object.\n */\nexport type AVPlaybackSource = number | AVPlaybackSourceObject | Asset;\n\n// @needsAudit\n/**\n * One of the possible forms of the `AVPlaybackSource`.\n */\nexport type AVPlaybackSourceObject = {\n /**\n * A network URL pointing to a media file.\n */\n uri: string;\n /**\n * An optional string overriding extension inferred from the URL.\n * @platform android\n */\n overrideFileExtensionAndroid?: string;\n /**\n * An optional headers object passed in a network request.\n */\n headers?: Record;\n};\n\n/**\n * @hidden\n */\nexport type AVPlaybackNativeSource = {\n uri: string;\n overridingExtension?: string | null;\n headers?: Record;\n};\n\n// @needsAudit\n/**\n * Object passed to the `onMetadataUpdate` function.\n */\nexport type AVMetadata = {\n /**\n * A string with the title of the sound object.\n */\n title?: string;\n};\n\n// @needsAudit\n/**\n * This is the structure returned from all playback API calls and describes the state of the `playbackObject` at that point in time.\n * It can take a form of `AVPlaybackStatusSuccess` or `AVPlaybackStatusError` based on the `playbackObject` load status.\n */\nexport type AVPlaybackStatus = AVPlaybackStatusError | AVPlaybackStatusSuccess;\n\n// @needsAudit\nexport type AVPlaybackStatusError = {\n /**\n * A boolean set to `false`.\n */\n isLoaded: false;\n /**\n * Underlying implementation to use (when set to `MediaPlayer` it uses [Android's MediaPlayer](https://developer.android.com/reference/android/media/MediaPlayer.html),\n * uses [ExoPlayer](https://exoplayer.dev/) otherwise). You may need to use this property if you're trying to play an item unsupported by ExoPlayer\n * ([formats supported by ExoPlayer](https://exoplayer.dev/supported-formats.html), [formats supported by Android's MediaPlayer](https://developer.android.com/guide/topics/media/platform/supported-formats#formats-table)).\n *\n * Note that setting this property takes effect only when the AV object is just being created (toggling its value later will do nothing).\n *\n * @platform android\n */\n androidImplementation?: string;\n /**\n * A string only present if the `playbackObject` just encountered a fatal error and forced unload.\n * Populated exactly once when an error forces the object to unload.\n */\n error?: string;\n};\n\n// @needsAudit\nexport type AVPlaybackStatusSuccess = {\n /**\n * A boolean set to `true`.\n */\n isLoaded: true;\n /**\n * Underlying implementation to use (when set to `MediaPlayer` it uses [Android's MediaPlayer](https://developer.android.com/reference/android/media/MediaPlayer.html),\n * uses [ExoPlayer](https://exoplayer.dev/) otherwise). You may need to use this property if you're trying to play an item unsupported by ExoPlayer\n * ([formats supported by ExoPlayer](https://exoplayer.dev/supported-formats.html), [formats supported by Android's MediaPlayer](https://developer.android.com/guide/topics/media/platform/supported-formats#formats-table)).\n *\n * Note that setting this property takes effect only when the AV object is just being created (toggling its value later will do nothing).\n *\n * @platform android\n */\n androidImplementation?: string;\n /**\n * The location of the media source.\n */\n uri: string;\n /**\n * The minimum interval in milliseconds between calls of `onPlaybackStatusUpdate`. See `setOnPlaybackStatusUpdate()` for details.\n */\n progressUpdateIntervalMillis: number;\n /**\n * The duration of the media in milliseconds. This is only present if the media has a duration.\n * > Note that in some cases, a media file's duration is readable on Android, but not on iOS.\n */\n durationMillis?: number;\n /**\n * The current position of playback in milliseconds.\n */\n positionMillis: number;\n /**\n * The position until which the media has been buffered into memory. Like `durationMillis`, this is only present in some cases.\n */\n playableDurationMillis?: number;\n // @docsMissing\n seekMillisToleranceBefore?: number;\n // @docsMissing\n seekMillisToleranceAfter?: number;\n /**\n * A boolean describing if the media is supposed to play.\n */\n shouldPlay: boolean;\n /**\n * A boolean describing if the media is currently playing.\n */\n isPlaying: boolean;\n /**\n * A boolean describing if the media is currently buffering.\n */\n isBuffering: boolean;\n /**\n * The current rate of the media.\n */\n rate: number;\n /**\n * A boolean describing if we are correcting the pitch for a changed rate.\n */\n shouldCorrectPitch: boolean;\n /**\n * iOS time pitch algorithm setting. See `setRateAsync` for details.\n */\n pitchCorrectionQuality?: PitchCorrectionQuality;\n /**\n * The current volume of the audio for this media.\n */\n volume: number;\n /**\n * A boolean describing if the audio of this media is currently muted.\n */\n isMuted: boolean;\n /**\n * The current audio panning value of the audio for this media.\n */\n audioPan: number;\n /**\n * A boolean describing if the media is currently looping.\n */\n isLooping: boolean;\n /**\n * A boolean describing if the media just played to completion at the time that this status was received.\n * When the media plays to completion, the function passed in `setOnPlaybackStatusUpdate()` is called exactly once\n * with `didJustFinish` set to `true`. `didJustFinish` is never `true` in any other case.\n */\n didJustFinish: boolean;\n};\n\n// @needsAudit\n/**\n * This is the structure passed to `setStatusAsync()` to modify the state of the `playbackObject`.\n */\nexport type AVPlaybackStatusToSet = {\n /**\n * Underlying implementation to use (when set to `MediaPlayer` it uses [Android's MediaPlayer](https://developer.android.com/reference/android/media/MediaPlayer.html),\n * uses [ExoPlayer](https://exoplayer.dev/) otherwise). You may need to use this property if you're trying to play an item unsupported by ExoPlayer\n * ([formats supported by ExoPlayer](https://exoplayer.dev/supported-formats.html), [formats supported by Android's MediaPlayer](https://developer.android.com/guide/topics/media/platform/supported-formats#formats-table)).\n *\n * Note that setting this property takes effect only when the AV object is just being created (toggling its value later will do nothing).\n *\n * @platform android\n */\n androidImplementation?: string;\n /**\n * The minimum interval in milliseconds between calls of `onPlaybackStatusUpdate`. See `setOnPlaybackStatusUpdate()` for details.\n */\n progressUpdateIntervalMillis?: number;\n /**\n * The current position of playback in milliseconds.\n */\n positionMillis?: number;\n // @docsMissing\n seekMillisToleranceBefore?: number;\n // @docsMissing\n seekMillisToleranceAfter?: number;\n /**\n * A boolean describing if the media is supposed to play.\n */\n shouldPlay?: boolean;\n /**\n * The current rate of the media.\n * @platform android API 23+\n * @platform ios\n */\n rate?: number;\n /**\n * A boolean describing if we are correcting the pitch for a changed rate.\n */\n shouldCorrectPitch?: boolean;\n /**\n * The current volume of the audio for this media.\n * > Note that this only affect the audio of this `playbackObject` and do NOT affect the system volume.\n */\n volume?: number;\n /**\n * A boolean describing if the audio of this media is currently muted.\n * > Note that this only affect the audio of this `playbackObject` and do NOT affect the system volume.\n */\n isMuted?: boolean;\n /**\n * The current audio panning value of the audio for this media.\n * > Note that this only affect the audio of this `playbackObject` and do NOT affect the system volume.\n * > Also note that this is only available when the video was loaded using `androidImplementation: 'MediaPlayer'`\n * @platform android\n */\n audioPan?: number;\n /**\n * A boolean describing if the media is currently looping.\n */\n isLooping?: boolean;\n /**\n * iOS time pitch algorithm setting. See `setRateAsync` for details.\n */\n pitchCorrectionQuality?: PitchCorrectionQuality;\n};\n\n// @docsMissing\nexport type AVPlaybackTolerance = { toleranceMillisBefore?: number; toleranceMillisAfter?: number };\n","// @needsAudit\nexport type AudioMode = {\n /**\n * A boolean selecting if recording is enabled on iOS.\n * > When this flag is set to `true`, playback may be routed to the phone earpiece instead of to the speaker. Set it back to `false` after stopping recording to reenable playback through the speaker.\n * @default false\n */\n allowsRecordingIOS: boolean;\n /**\n * An enum selecting how your experience's audio should interact with the audio from other apps on iOS.\n */\n interruptionModeIOS: InterruptionModeIOS;\n /**\n * A boolean selecting if your experience's audio should play in silent mode on iOS.\n * @default false\n */\n playsInSilentModeIOS: boolean;\n /**\n * A boolean selecting if the audio session (playback or recording) should stay active even when the app goes into background.\n * > This is not available in Expo Go for iOS, it will only work in standalone apps.\n * > To enable it for standalone apps, [follow the instructions below](#playing-or-recording-audio-in-background-ios)\n * > to add `UIBackgroundModes` to your app configuration.\n * @default false\n */\n staysActiveInBackground: boolean;\n /**\n * An enum selecting how your experience's audio should interact with the audio from other apps on Android.\n */\n interruptionModeAndroid: InterruptionModeAndroid;\n /**\n * A boolean selecting if your experience's audio should automatically be lowered in volume (\"duck\") if audio from another\n * app interrupts your experience. If `false`, audio from other apps will pause your audio.\n * @default true\n */\n shouldDuckAndroid: boolean;\n /**\n * A boolean selecting if the audio is routed to earpiece on Android.\n * @default false\n */\n playThroughEarpieceAndroid: boolean;\n};\n\n// @needsAudit\nexport enum InterruptionModeIOS {\n /**\n * **This is the default option.** If this option is set, your experience's audio is mixed with audio playing in background apps.\n */\n MixWithOthers = 0,\n /**\n * If this option is set, your experience's audio interrupts audio from other apps.\n */\n DoNotMix = 1,\n /**\n * If this option is set, your experience's audio lowers the volume (\"ducks\") of audio from other apps while your audio plays.\n */\n DuckOthers = 2,\n}\n\nexport enum InterruptionModeAndroid {\n /**\n * If this option is set, your experience's audio interrupts audio from other apps.\n */\n DoNotMix = 1,\n /**\n * **This is the default option.** If this option is set, your experience's audio lowers the volume (\"ducks\") of audio from other apps while your audio plays.\n */\n DuckOthers = 2,\n}\n","import {\n PermissionResponse,\n PermissionStatus,\n PermissionHookOptions,\n createPermissionHook,\n EventEmitter,\n Subscription,\n Platform,\n} from 'expo-modules-core';\n\nimport { isAudioEnabled, throwIfAudioIsDisabled } from './AudioAvailability';\nimport {\n RecordingInput,\n RecordingObject,\n RecordingOptions,\n RecordingStatus,\n} from './Recording.types';\nimport { RecordingOptionsPresets } from './RecordingConstants';\nimport { Sound, SoundObject } from './Sound';\nimport {\n _DEFAULT_PROGRESS_UPDATE_INTERVAL_MILLIS,\n AVPlaybackStatus,\n AVPlaybackStatusToSet,\n} from '../AV';\nimport ExponentAV from '../ExponentAV';\n\nlet _recorderExists: boolean = false;\nconst eventEmitter = Platform.OS === 'android' ? new EventEmitter(ExponentAV) : null;\n\n/**\n * Checks user's permissions for audio recording.\n * @return A promise that resolves to an object of type `PermissionResponse`.\n * @platform android\n * @platform ios\n */\nexport async function getPermissionsAsync(): Promise {\n return ExponentAV.getPermissionsAsync();\n}\n\n/**\n * Asks the user to grant permissions for audio recording.\n * @return A promise that resolves to an object of type `PermissionResponse`.\n * @platform android\n * @platform ios\n */\nexport async function requestPermissionsAsync(): Promise {\n return ExponentAV.requestPermissionsAsync();\n}\n\n/**\n * Check or request permissions to record audio.\n * This uses both `requestPermissionAsync` and `getPermissionsAsync` to interact with the permissions.\n *\n * @example\n * ```ts\n * const [permissionResponse, requestPermission] = Audio.usePermissions();\n * ```\n */\nexport const usePermissions = createPermissionHook({\n getMethod: getPermissionsAsync,\n requestMethod: requestPermissionsAsync,\n});\n\n// @needsAudit\n/**\n * > **warning** **Warning**: Experimental for web.\n *\n * This class represents an audio recording. After creating an instance of this class, `prepareToRecordAsync`\n * must be called in order to record audio. Once recording is finished, call `stopAndUnloadAsync`. Note that\n * only one recorder is allowed to exist in the state between `prepareToRecordAsync` and `stopAndUnloadAsync`\n * at any given time.\n *\n * Note that your experience must request audio recording permissions in order for recording to function.\n * See the [`Permissions` module](/guides/permissions) for more details.\n *\n * Additionally, audio recording is [not supported in the iOS Simulator](/workflow/ios-simulator/#limitations).\n *\n * @example\n * ```ts\n * const recording = new Audio.Recording();\n * try {\n * await recording.prepareToRecordAsync(Audio.RecordingOptionsPresets.HIGH_QUALITY);\n * await recording.startAsync();\n * // You are now recording!\n * } catch (error) {\n * // An error occurred!\n * }\n * ```\n *\n * @return A newly constructed instance of `Audio.Recording`.\n * @platform android\n * @platform ios\n */\nexport class Recording {\n _subscription: Subscription | null = null;\n _canRecord: boolean = false;\n _isDoneRecording: boolean = false;\n _finalDurationMillis: number = 0;\n _uri: string | null = null;\n _onRecordingStatusUpdate: ((status: RecordingStatus) => void) | null = null;\n _progressUpdateTimeoutVariable: number | null = null;\n _progressUpdateIntervalMillis: number = _DEFAULT_PROGRESS_UPDATE_INTERVAL_MILLIS;\n _options: RecordingOptions | null = null;\n\n // Internal methods\n\n _cleanupForUnloadedRecorder = async (finalStatus?: RecordingStatus) => {\n this._canRecord = false;\n this._isDoneRecording = true;\n this._finalDurationMillis = finalStatus?.durationMillis ?? 0;\n _recorderExists = false;\n if (this._subscription) {\n this._subscription.remove();\n this._subscription = null;\n }\n this._disablePolling();\n return await this.getStatusAsync(); // Automatically calls onRecordingStatusUpdate for the final state.\n };\n\n _pollingLoop = async () => {\n if (isAudioEnabled() && this._canRecord && this._onRecordingStatusUpdate != null) {\n this._progressUpdateTimeoutVariable = setTimeout(\n this._pollingLoop,\n this._progressUpdateIntervalMillis\n ) as any;\n try {\n await this.getStatusAsync();\n } catch {\n this._disablePolling();\n }\n }\n };\n\n _disablePolling() {\n if (this._progressUpdateTimeoutVariable != null) {\n clearTimeout(this._progressUpdateTimeoutVariable);\n this._progressUpdateTimeoutVariable = null;\n }\n }\n\n _enablePollingIfNecessaryAndPossible() {\n if (isAudioEnabled() && this._canRecord && this._onRecordingStatusUpdate != null) {\n this._disablePolling();\n this._pollingLoop();\n }\n }\n\n _callOnRecordingStatusUpdateForNewStatus(status: RecordingStatus) {\n if (this._onRecordingStatusUpdate != null) {\n this._onRecordingStatusUpdate(status);\n }\n }\n\n async _performOperationAndHandleStatusAsync(\n operation: () => Promise\n ): Promise {\n throwIfAudioIsDisabled();\n if (this._canRecord) {\n const status = await operation();\n this._callOnRecordingStatusUpdateForNewStatus(status);\n return status;\n } else {\n throw new Error('Cannot complete operation because this recorder is not ready to record.');\n }\n }\n\n /**\n * Creates and starts a recording using the given options, with optional `onRecordingStatusUpdate` and `progressUpdateIntervalMillis`.\n *\n * ```ts\n * const { recording, status } = await Audio.Recording.createAsync(\n * options,\n * onRecordingStatusUpdate,\n * progressUpdateIntervalMillis\n * );\n *\n * // Which is equivalent to the following:\n * const recording = new Audio.Recording();\n * await recording.prepareToRecordAsync(options);\n * recording.setOnRecordingStatusUpdate(onRecordingStatusUpdate);\n * await recording.startAsync();\n * ```\n *\n * @param options Options for the recording, including sample rate, bitrate, channels, format, encoder, and extension. If no options are passed to,\n * the recorder will be created with options `Audio.RecordingOptionsPresets.LOW_QUALITY`. See below for details on `RecordingOptions`.\n * @param onRecordingStatusUpdate A function taking a single parameter `status` (a dictionary, described in `getStatusAsync`).\n * @param progressUpdateIntervalMillis The interval between calls of `onRecordingStatusUpdate`. This value defaults to 500 milliseconds.\n *\n * @example\n * ```ts\n * try {\n * const { recording: recordingObject, status } = await Audio.Recording.createAsync(\n * Audio.RecordingOptionsPresets.HIGH_QUALITY\n * );\n * // You are now recording!\n * } catch (error) {\n * // An error occurred!\n * }\n * ```\n *\n * @return A `Promise` that is rejected if creation failed, or fulfilled with the following dictionary if creation succeeded.\n */\n static createAsync = async (\n options: RecordingOptions = RecordingOptionsPresets.LOW_QUALITY,\n onRecordingStatusUpdate: ((status: RecordingStatus) => void) | null = null,\n progressUpdateIntervalMillis: number | null = null\n ): Promise => {\n const recording: Recording = new Recording();\n if (progressUpdateIntervalMillis) {\n recording._progressUpdateIntervalMillis = progressUpdateIntervalMillis;\n }\n recording.setOnRecordingStatusUpdate(onRecordingStatusUpdate);\n await recording.prepareToRecordAsync({\n ...options,\n keepAudioActiveHint: true,\n });\n try {\n const status = await recording.startAsync();\n return { recording, status };\n } catch (err) {\n recording.stopAndUnloadAsync();\n throw err;\n }\n };\n\n // Get status API\n\n /**\n * Gets the `status` of the `Recording`.\n * @return A `Promise` that is resolved with the `RecordingStatus` object.\n */\n getStatusAsync = async (): Promise => {\n // Automatically calls onRecordingStatusUpdate.\n if (this._canRecord) {\n return this._performOperationAndHandleStatusAsync(() => ExponentAV.getAudioRecordingStatus());\n }\n const status = {\n canRecord: false,\n isRecording: false,\n isDoneRecording: this._isDoneRecording,\n durationMillis: this._finalDurationMillis,\n };\n this._callOnRecordingStatusUpdateForNewStatus(status);\n return status;\n };\n\n /**\n * Sets a function to be called regularly with the `RecordingStatus` of the `Recording`.\n *\n * `onRecordingStatusUpdate` will be called when another call to the API for this recording completes (such as `prepareToRecordAsync()`,\n * `startAsync()`, `getStatusAsync()`, or `stopAndUnloadAsync()`), and will also be called at regular intervals while the recording can record.\n * Call `setProgressUpdateInterval()` to modify the interval with which `onRecordingStatusUpdate` is called while the recording can record.\n *\n * @param onRecordingStatusUpdate A function taking a single parameter `RecordingStatus`.\n */\n setOnRecordingStatusUpdate(onRecordingStatusUpdate: ((status: RecordingStatus) => void) | null) {\n this._onRecordingStatusUpdate = onRecordingStatusUpdate;\n if (onRecordingStatusUpdate == null) {\n this._disablePolling();\n } else {\n this._enablePollingIfNecessaryAndPossible();\n }\n this.getStatusAsync();\n }\n\n /**\n * Sets the interval with which `onRecordingStatusUpdate` is called while the recording can record.\n * See `setOnRecordingStatusUpdate` for details. This value defaults to 500 milliseconds.\n * @param progressUpdateIntervalMillis The new interval between calls of `onRecordingStatusUpdate`.\n */\n setProgressUpdateInterval(progressUpdateIntervalMillis: number) {\n this._progressUpdateIntervalMillis = progressUpdateIntervalMillis;\n this.getStatusAsync();\n }\n\n // Record API\n\n /**\n * Loads the recorder into memory and prepares it for recording. This must be called before calling `startAsync()`.\n * This method can only be called if the `Recording` instance has never yet been prepared.\n *\n * @param options `RecordingOptions` for the recording, including sample rate, bitrate, channels, format, encoder, and extension.\n * If no options are passed to `prepareToRecordAsync()`, the recorder will be created with options `Audio.RecordingOptionsPresets.LOW_QUALITY`.\n *\n * @return A `Promise` that is fulfilled when the recorder is loaded and prepared, or rejects if this failed. If another `Recording` exists\n * in your experience that is currently prepared to record, the `Promise` will reject. If the `RecordingOptions` provided are invalid,\n * the `Promise` will also reject. The promise is resolved with the `RecordingStatus` of the recording.\n */\n async prepareToRecordAsync(\n options: RecordingOptions = RecordingOptionsPresets.LOW_QUALITY\n ): Promise {\n throwIfAudioIsDisabled();\n\n if (_recorderExists) {\n throw new Error('Only one Recording object can be prepared at a given time.');\n }\n\n if (this._isDoneRecording) {\n throw new Error('This Recording object is done recording; you must make a new one.');\n }\n\n if (!options || !options.android || !options.ios) {\n throw new Error(\n 'You must provide recording options for android and ios in order to prepare to record.'\n );\n }\n\n const extensionRegex = /^\\.\\w+$/;\n if (\n !options.android.extension ||\n !options.ios.extension ||\n !extensionRegex.test(options.android.extension) ||\n !extensionRegex.test(options.ios.extension)\n ) {\n throw new Error(`Your file extensions must match ${extensionRegex.toString()}.`);\n }\n\n if (!this._canRecord) {\n if (eventEmitter) {\n this._subscription = eventEmitter.addListener(\n 'Expo.Recording.recorderUnloaded',\n this._cleanupForUnloadedRecorder\n );\n }\n\n const {\n uri,\n status,\n }: {\n uri: string | null;\n // status is of type RecordingStatus, but without the canRecord field populated\n status: Pick>;\n } = await ExponentAV.prepareAudioRecorder(options);\n _recorderExists = true;\n this._uri = uri;\n this._options = options;\n this._canRecord = true;\n\n const currentStatus = { ...status, canRecord: true };\n this._callOnRecordingStatusUpdateForNewStatus(currentStatus);\n this._enablePollingIfNecessaryAndPossible();\n return currentStatus;\n } else {\n throw new Error('This Recording object is already prepared to record.');\n }\n }\n\n /**\n * Returns a list of available recording inputs. This method can only be called if the `Recording` has been prepared.\n * @return A `Promise` that is fulfilled with an array of `RecordingInput` objects.\n */\n async getAvailableInputs(): Promise {\n return ExponentAV.getAvailableInputs();\n }\n\n /**\n * Returns the currently-selected recording input. This method can only be called if the `Recording` has been prepared.\n * @return A `Promise` that is fulfilled with a `RecordingInput` object.\n */\n async getCurrentInput(): Promise {\n return ExponentAV.getCurrentInput();\n }\n\n /**\n * Sets the current recording input.\n * @param inputUid The uid of a `RecordingInput`.\n * @return A `Promise` that is resolved if successful or rejected if not.\n */\n async setInput(inputUid: string): Promise {\n return ExponentAV.setInput(inputUid);\n }\n\n /**\n * Begins recording. This method can only be called if the `Recording` has been prepared.\n * @return A `Promise` that is fulfilled when recording has begun, or rejects if recording could not be started.\n * The promise is resolved with the `RecordingStatus` of the recording.\n */\n async startAsync(): Promise {\n return this._performOperationAndHandleStatusAsync(() => ExponentAV.startAudioRecording());\n }\n\n /**\n * Pauses recording. This method can only be called if the `Recording` has been prepared.\n *\n * > This is only available on Android API version 24 and later.\n *\n * @return A `Promise` that is fulfilled when recording has paused, or rejects if recording could not be paused.\n * If the Android API version is less than 24, the `Promise` will reject. The promise is resolved with the\n * `RecordingStatus` of the recording.\n */\n async pauseAsync(): Promise {\n return this._performOperationAndHandleStatusAsync(() => ExponentAV.pauseAudioRecording());\n }\n\n /**\n * Stops the recording and deallocates the recorder from memory. This reverts the `Recording` instance\n * to an unprepared state, and another `Recording` instance must be created in order to record again.\n * This method can only be called if the `Recording` has been prepared.\n *\n * > On Android this method may fail with `E_AUDIO_NODATA` when called too soon after `startAsync` and\n * > no audio data has been recorded yet. In that case the recorded file will be invalid and should be discarded.\n *\n * @return A `Promise` that is fulfilled when recording has stopped, or rejects if recording could not be stopped.\n * The promise is resolved with the `RecordingStatus` of the recording.\n */\n async stopAndUnloadAsync(): Promise {\n if (!this._canRecord) {\n if (this._isDoneRecording) {\n throw new Error('Cannot unload a Recording that has already been unloaded.');\n } else {\n throw new Error('Cannot unload a Recording that has not been prepared.');\n }\n }\n // We perform a separate native API call so that the state of the Recording can be updated with\n // the final duration of the recording. (We cast stopStatus as Object to appease Flow)\n let stopResult: RecordingStatus | undefined;\n let stopError: Error | undefined;\n try {\n stopResult = await ExponentAV.stopAudioRecording();\n } catch (err) {\n stopError = err;\n }\n\n // Web has to return the URI at the end of recording, so needs a little destructuring\n if (Platform.OS === 'web' && stopResult?.uri !== undefined) {\n this._uri = stopResult.uri;\n }\n\n // Clean-up and return status\n await ExponentAV.unloadAudioRecorder();\n const status = await this._cleanupForUnloadedRecorder(stopResult);\n return stopError ? Promise.reject(stopError) : status;\n }\n\n // Read API\n\n /**\n * Gets the local URI of the `Recording`. Note that this will only succeed once the `Recording` is prepared\n * to record. On web, this will not return the URI until the recording is finished.\n * @return A `string` with the local URI of the `Recording`, or `null` if the `Recording` is not prepared\n * to record (or, on Web, if the recording has not finished).\n */\n getURI(): string | null {\n return this._uri;\n }\n\n /**\n * @deprecated Use `createNewLoadedSoundAsync()` instead.\n */\n async createNewLoadedSound(\n initialStatus: AVPlaybackStatusToSet = {},\n onPlaybackStatusUpdate: ((status: AVPlaybackStatus) => void) | null = null\n ): Promise {\n console.warn(\n `createNewLoadedSound is deprecated in favor of createNewLoadedSoundAsync, which has the same API aside from the method name`\n );\n return this.createNewLoadedSoundAsync(initialStatus, onPlaybackStatusUpdate);\n }\n\n /**\n * Creates and loads a new `Sound` object to play back the `Recording`. Note that this will only succeed once the `Recording`\n * is done recording and `stopAndUnloadAsync()` has been called.\n *\n * @param initialStatus The initial intended `PlaybackStatusToSet` of the sound, whose values will override the default initial playback status.\n * This value defaults to `{}` if no parameter is passed. See the [AV documentation](/versions/latest/sdk/av) for details on `PlaybackStatusToSet`\n * and the default initial playback status.\n * @param onPlaybackStatusUpdate A function taking a single parameter `PlaybackStatus`. This value defaults to `null` if no parameter is passed.\n * See the [AV documentation](/versions/latest/sdk/av) for details on the functionality provided by `onPlaybackStatusUpdate`\n *\n * @return A `Promise` that is rejected if creation failed, or fulfilled with the `SoundObject`.\n */\n async createNewLoadedSoundAsync(\n initialStatus: AVPlaybackStatusToSet = {},\n onPlaybackStatusUpdate: ((status: AVPlaybackStatus) => void) | null = null\n ): Promise {\n if (this._uri == null || !this._isDoneRecording) {\n throw new Error('Cannot create sound when the Recording has not finished!');\n }\n return Sound.createAsync(\n // $FlowFixMe: Flow can't distinguish between this literal and Asset\n { uri: this._uri },\n initialStatus,\n onPlaybackStatusUpdate,\n false\n );\n }\n}\n\nexport { PermissionResponse, PermissionStatus, PermissionHookOptions };\n\nexport * from './RecordingConstants';\n\nexport * from './Recording.types';\n","import { AudioMode, InterruptionModeAndroid, InterruptionModeIOS } from './Audio.types';\nimport ExponentAV from './ExponentAV';\n\nexport * from './Audio/Recording';\nexport * from './Audio/Sound';\nexport { setIsEnabledAsync } from './Audio/AudioAvailability';\nexport { PitchCorrectionQuality } from './AV';\n\nconst _populateMissingKeys = (\n userAudioMode: Partial,\n defaultAudioMode: AudioMode\n): AudioMode => {\n for (const key in defaultAudioMode) {\n if (!userAudioMode.hasOwnProperty(key)) {\n userAudioMode[key] = defaultAudioMode[key];\n }\n }\n return userAudioMode as AudioMode;\n};\n\nconst defaultMode: AudioMode = {\n allowsRecordingIOS: false,\n interruptionModeIOS: InterruptionModeIOS.MixWithOthers,\n playsInSilentModeIOS: false,\n staysActiveInBackground: false,\n interruptionModeAndroid: InterruptionModeAndroid.DuckOthers,\n shouldDuckAndroid: true,\n playThroughEarpieceAndroid: false,\n};\n\nlet currentAudioMode: AudioMode | null = null;\n\nfunction getCurrentAudioMode(): AudioMode {\n if (!currentAudioMode) {\n return defaultMode;\n }\n return currentAudioMode;\n}\n\n/**\n * We provide this API to customize the audio experience on iOS and Android.\n * @param partialMode\n * @return A `Promise` that will reject if the audio mode could not be enabled for the device.\n */\nexport async function setAudioModeAsync(partialMode: Partial): Promise {\n const mode = _populateMissingKeys(partialMode, getCurrentAudioMode());\n\n if (!InterruptionModeIOS[mode.interruptionModeIOS]) {\n throw new Error(`\"interruptionModeIOS\" was set to an invalid value.`);\n }\n if (!InterruptionModeAndroid[mode.interruptionModeAndroid]) {\n throw new Error(`\"interruptionModeAndroid\" was set to an invalid value.`);\n }\n if (\n typeof mode.allowsRecordingIOS !== 'boolean' ||\n typeof mode.playsInSilentModeIOS !== 'boolean' ||\n typeof mode.staysActiveInBackground !== 'boolean' ||\n typeof mode.shouldDuckAndroid !== 'boolean' ||\n typeof mode.playThroughEarpieceAndroid !== 'boolean'\n ) {\n throw new Error(\n '\"allowsRecordingIOS\", \"playsInSilentModeIOS\", \"playThroughEarpieceAndroid\", \"staysActiveInBackground\" and \"shouldDuckAndroid\" must be booleans.'\n );\n }\n currentAudioMode = mode;\n return await ExponentAV.setAudioMode(mode);\n}\n","import ExponentAV from '../ExponentAV';\n\nlet _enabled = true;\n\nexport function isAudioEnabled(): boolean {\n return _enabled;\n}\n\nexport function throwIfAudioIsDisabled(): void {\n if (!_enabled) {\n throw new Error('Cannot complete operation because audio is not enabled.');\n }\n}\n\n// @needsAudit\n/**\n * Audio is enabled by default, but if you want to write your own Audio API in a bare workflow app, you might want to disable the Audio API.\n * @param value `true` enables Audio, and `false` disables it.\n * @return A `Promise` that will reject if audio playback could not be enabled for the device.\n */\nexport async function setIsEnabledAsync(value: boolean): Promise {\n _enabled = value;\n await ExponentAV.setAudioIsEnabled(value);\n // TODO : We immediately pause all players when disabled, but we do not resume all shouldPlay\n // players when enabled. Perhaps for completeness we should allow this; the design of the\n // enabling API is for people to enable / disable this audio library, but I think that it should\n // intuitively also double as a global pause/resume.\n}\n","import type { RecordingOptions } from './Recording.types';\n\n// @docsMissing\nexport enum AndroidOutputFormat {\n DEFAULT = 0,\n THREE_GPP = 1,\n MPEG_4 = 2,\n AMR_NB = 3,\n AMR_WB = 4,\n AAC_ADIF = 5,\n AAC_ADTS = 6,\n RTP_AVP = 7,\n MPEG2TS = 8,\n WEBM = 9,\n}\n\n// @docsMissing\nexport enum AndroidAudioEncoder {\n DEFAULT = 0,\n AMR_NB = 1,\n AMR_WB = 2,\n AAC = 3,\n HE_AAC = 4,\n AAC_ELD = 5,\n}\n\n// @docsMissing\n/**\n * > **Note** Not all of the iOS formats included in this list of constants are currently supported by iOS,\n * > in spite of appearing in the Apple source code. For an accurate list of formats supported by iOS, see\n * > [Core Audio Codecs](https://developer.apple.com/library/content/documentation/MusicAudio/Conceptual/CoreAudioOverview/CoreAudioEssentials/CoreAudioEssentials.html)\n * > and [iPhone Audio File Formats](https://developer.apple.com/library/content/documentation/MusicAudio/Conceptual/CoreAudioOverview/CoreAudioEssentials/CoreAudioEssentials.html).\n */\nexport enum IOSOutputFormat {\n LINEARPCM = 'lpcm',\n AC3 = 'ac-3',\n '60958AC3' = 'cac3',\n APPLEIMA4 = 'ima4',\n MPEG4AAC = 'aac ',\n MPEG4CELP = 'celp',\n MPEG4HVXC = 'hvxc',\n MPEG4TWINVQ = 'twvq',\n MACE3 = 'MAC3',\n MACE6 = 'MAC6',\n ULAW = 'ulaw',\n ALAW = 'alaw',\n QDESIGN = 'QDMC',\n QDESIGN2 = 'QDM2',\n QUALCOMM = 'Qclp',\n MPEGLAYER1 = '.mp1',\n MPEGLAYER2 = '.mp2',\n MPEGLAYER3 = '.mp3',\n APPLELOSSLESS = 'alac',\n MPEG4AAC_HE = 'aach',\n MPEG4AAC_LD = 'aacl',\n MPEG4AAC_ELD = 'aace',\n MPEG4AAC_ELD_SBR = 'aacf',\n MPEG4AAC_ELD_V2 = 'aacg',\n MPEG4AAC_HE_V2 = 'aacp',\n MPEG4AAC_SPATIAL = 'aacs',\n AMR = 'samr',\n AMR_WB = 'sawb',\n AUDIBLE = 'AUDB',\n ILBC = 'ilbc',\n DVIINTELIMA = 0x6d730011,\n MICROSOFTGSM = 0x6d730031,\n AES3 = 'aes3',\n ENHANCEDAC3 = 'ec-3',\n}\n\n// @docsMissing\nexport enum IOSAudioQuality {\n MIN = 0,\n LOW = 0x20,\n MEDIUM = 0x40,\n HIGH = 0x60,\n MAX = 0x7f,\n}\n\n// @docsMissing\nexport enum IOSBitRateStrategy {\n CONSTANT = 0,\n LONG_TERM_AVERAGE = 1,\n VARIABLE_CONSTRAINED = 2,\n VARIABLE = 3,\n}\n\n// TODO : maybe make presets for music and speech, or lossy / lossless.\n\nconst HIGH_QUALITY: RecordingOptions = {\n isMeteringEnabled: true,\n android: {\n extension: '.m4a',\n outputFormat: AndroidOutputFormat.MPEG_4,\n audioEncoder: AndroidAudioEncoder.AAC,\n sampleRate: 44100,\n numberOfChannels: 2,\n bitRate: 128000,\n },\n ios: {\n extension: '.m4a',\n outputFormat: IOSOutputFormat.MPEG4AAC,\n audioQuality: IOSAudioQuality.MAX,\n sampleRate: 44100,\n numberOfChannels: 2,\n bitRate: 128000,\n linearPCMBitDepth: 16,\n linearPCMIsBigEndian: false,\n linearPCMIsFloat: false,\n },\n web: {\n mimeType: 'audio/webm',\n bitsPerSecond: 128000,\n },\n};\n\nconst LOW_QUALITY: RecordingOptions = {\n isMeteringEnabled: true,\n android: {\n extension: '.3gp',\n outputFormat: AndroidOutputFormat.THREE_GPP,\n audioEncoder: AndroidAudioEncoder.AMR_NB,\n sampleRate: 44100,\n numberOfChannels: 2,\n bitRate: 128000,\n },\n ios: {\n extension: '.m4a',\n audioQuality: IOSAudioQuality.MIN,\n outputFormat: IOSOutputFormat.MPEG4AAC,\n sampleRate: 44100,\n numberOfChannels: 2,\n bitRate: 64000,\n linearPCMBitDepth: 16,\n linearPCMIsBigEndian: false,\n linearPCMIsFloat: false,\n },\n web: {\n mimeType: 'audio/webm',\n bitsPerSecond: 128000,\n },\n};\n\n/**\n * Constant which contains definitions of the two preset examples of `RecordingOptions`, as implemented in the Audio SDK.\n *\n * # `HIGH_QUALITY`\n * ```ts\n * RecordingOptionsPresets.HIGH_QUALITY = {\n * isMeteringEnabled: true,\n * android: {\n * extension: '.m4a',\n * outputFormat: AndroidOutputFormat.MPEG_4,\n * audioEncoder: AndroidAudioEncoder.AAC,\n * sampleRate: 44100,\n * numberOfChannels: 2,\n * bitRate: 128000,\n * },\n * ios: {\n * extension: '.m4a',\n * outputFormat: IOSOutputFormat.MPEG4AAC,\n * audioQuality: IOSAudioQuality.MAX,\n * sampleRate: 44100,\n * numberOfChannels: 2,\n * bitRate: 128000,\n * linearPCMBitDepth: 16,\n * linearPCMIsBigEndian: false,\n * linearPCMIsFloat: false,\n * },\n * web: {\n * mimeType: 'audio/webm',\n * bitsPerSecond: 128000,\n * },\n * };\n * ```\n *\n * # `LOW_QUALITY`\n * ```ts\n * RecordingOptionsPresets.LOW_QUALITY = {\n * isMeteringEnabled: true,\n * android: {\n * extension: '.3gp',\n * outputFormat: AndroidOutputFormat.THREE_GPP,\n * audioEncoder: AndroidAudioEncoder.AMR_NB,\n * sampleRate: 44100,\n * numberOfChannels: 2,\n * bitRate: 128000,\n * },\n * ios: {\n * extension: '.caf',\n * audioQuality: IOSAudioQuality.MIN,\n * sampleRate: 44100,\n * numberOfChannels: 2,\n * bitRate: 128000,\n * linearPCMBitDepth: 16,\n * linearPCMIsBigEndian: false,\n * linearPCMIsFloat: false,\n * },\n * web: {\n * mimeType: 'audio/webm',\n * bitsPerSecond: 128000,\n * },\n * };\n * ```\n */\nexport const RecordingOptionsPresets: Record = {\n HIGH_QUALITY,\n LOW_QUALITY,\n};\n","import invariant from 'invariant';\nimport { NativeEventEmitter, Platform } from 'react-native';\n\nconst nativeEmitterSubscriptionKey = '@@nativeEmitterSubscription@@';\n\ntype NativeModule = {\n __expo_module_name__?: string;\n startObserving?: () => void;\n stopObserving?: () => void;\n\n // Erase these types as they would conflict with the new NativeModule type.\n // This EventEmitter is deprecated anyway.\n addListener?: any;\n removeListeners?: any;\n};\n\n// @needsAudit\nexport type Subscription = {\n /**\n * A method to unsubscribe the listener.\n */\n remove: () => void;\n};\n\nexport class EventEmitter {\n _listenerCount = 0;\n\n // @ts-expect-error\n _nativeModule: NativeModule;\n\n // @ts-expect-error\n _eventEmitter: NativeEventEmitter;\n\n constructor(nativeModule: NativeModule) {\n // If the native module is a new module, just return it back as it's already an event emitter.\n // This is for backwards compatibility until we stop using this legacy class in other packages.\n if (nativeModule.__expo_module_name__) {\n // @ts-expect-error\n return nativeModule;\n }\n this._nativeModule = nativeModule;\n this._eventEmitter = new NativeEventEmitter(nativeModule as any);\n }\n\n addListener(eventName: string, listener: (event: T) => void): Subscription {\n if (!this._listenerCount && Platform.OS !== 'ios' && this._nativeModule.startObserving) {\n this._nativeModule.startObserving();\n }\n\n this._listenerCount++;\n const nativeEmitterSubscription = this._eventEmitter.addListener(eventName, listener);\n const subscription = {\n [nativeEmitterSubscriptionKey]: nativeEmitterSubscription,\n remove: () => {\n this.removeSubscription(subscription);\n },\n };\n return subscription;\n }\n\n removeAllListeners(eventName: string): void {\n // @ts-ignore: the EventEmitter interface has been changed in react-native@0.64.0\n const removedListenerCount = this._eventEmitter.listenerCount\n ? // @ts-ignore: this is available since 0.64\n this._eventEmitter.listenerCount(eventName)\n : // @ts-ignore: this is available in older versions\n this._eventEmitter.listeners(eventName).length;\n this._eventEmitter.removeAllListeners(eventName);\n this._listenerCount -= removedListenerCount;\n invariant(\n this._listenerCount >= 0,\n `EventEmitter must have a non-negative number of listeners`\n );\n\n if (!this._listenerCount && Platform.OS !== 'ios' && this._nativeModule.stopObserving) {\n this._nativeModule.stopObserving();\n }\n }\n\n removeSubscription(subscription: Subscription): void {\n const nativeEmitterSubscription = subscription[nativeEmitterSubscriptionKey];\n if (!nativeEmitterSubscription) {\n return;\n }\n\n if ('remove' in nativeEmitterSubscription) {\n nativeEmitterSubscription.remove();\n }\n this._listenerCount--;\n\n // Ensure that the emitter's internal state remains correct even if `removeSubscription` is\n // called again with the same subscription\n delete subscription[nativeEmitterSubscriptionKey];\n\n // Release closed-over references to the emitter\n subscription.remove = () => {};\n\n if (!this._listenerCount && Platform.OS !== 'ios' && this._nativeModule.stopObserving) {\n this._nativeModule.stopObserving();\n }\n }\n\n emit(eventName: string, ...params: any[]): void {\n this._eventEmitter.emit(eventName, ...params);\n }\n}\n","import { EventEmitter, Platform, UnavailabilityError } from 'expo-modules-core';\n\nimport { throwIfAudioIsDisabled } from './AudioAvailability';\nimport {\n Playback,\n PlaybackMixin,\n AVPlaybackSource,\n AVMetadata,\n AVPlaybackStatus,\n AVPlaybackStatusToSet,\n assertStatusValuesInBounds,\n getNativeSourceAndFullInitialStatusForLoadAsync,\n getUnloadedStatus,\n AVPlaybackTolerance,\n} from '../AV';\nimport { PitchCorrectionQuality } from '../Audio';\nimport ExponentAV from '../ExponentAV';\n\n// @needsAudit\nexport type AudioChannel = {\n /**\n * All samples for this specific Audio Channel in PCM Buffer format (-1 to 1).\n */\n frames: number[];\n};\n\n// @needsAudit\n/**\n * Object passed to the `onAudioSampleReceived` function. Represents a single sample from an audio source.\n * The sample contains all frames (PCM Buffer values) for each channel of the audio, so if the audio is _stereo_ (interleaved),\n * there will be two channels, one for left and one for right audio.\n */\nexport type AudioSample = {\n /**\n * An array representing the data from each channel in PCM Buffer format. Array elements are objects in the following format: `{ frames: number[] }`,\n * where each frame is a number in PCM Buffer format (`-1` to `1` range).\n */\n channels: AudioChannel[];\n /**\n * A number representing the timestamp of the current sample in seconds, relative to the audio track's timeline.\n * > **Known issue:** When using the `ExoPlayer` Android implementation, the timestamp is always `-1`.\n */\n timestamp: number;\n};\n\n// @needsAudit\nexport type SoundObject = {\n /**\n * The newly created and loaded `Sound` object.\n */\n sound: Sound;\n /**\n * The `PlaybackStatus` of the `Sound` object. See the [AV documentation](/versions/latest/sdk/av) for further information.\n */\n status: AVPlaybackStatus;\n};\n\ntype AudioInstance = number | HTMLMediaElement | null;\ntype AudioSampleCallback = ((sample: AudioSample) => void) | null;\n\ndeclare global {\n interface Global {\n __EXAV_setOnAudioSampleReceivedCallback:\n | ((key: number, callback: AudioSampleCallback) => void)\n | undefined;\n }\n}\n\n// @needsAudit\n/**\n * This class represents a sound corresponding to an Asset or URL.\n * @return A newly constructed instance of `Audio.Sound`.\n *\n * @example\n * ```ts\n * const sound = new Audio.Sound();\n * try {\n * await sound.loadAsync(require('./assets/sounds/hello.mp3'));\n * await sound.playAsync();\n * // Your sound is playing!\n *\n * // Don't forget to unload the sound from memory\n * // when you are done using the Sound object\n * await sound.unloadAsync();\n * } catch (error) {\n * // An error occurred!\n * }\n * ```\n *\n * > Method not described below and the rest of the API for `Audio.Sound` is the same as the imperative playback API for `Video`.\n * > See the [AV documentation](/versions/latest/sdk/av) for further information.\n */\nexport class Sound implements Playback {\n _loaded: boolean = false;\n _loading: boolean = false;\n _key: AudioInstance = null;\n _lastStatusUpdate: string | null = null;\n _lastStatusUpdateTime: Date | null = null;\n _subscriptions: { remove: () => void }[] = [];\n _eventEmitter: EventEmitter = new EventEmitter(ExponentAV);\n _coalesceStatusUpdatesInMillis: number = 100;\n _onPlaybackStatusUpdate: ((status: AVPlaybackStatus) => void) | null = null;\n _onMetadataUpdate: ((metadata: AVMetadata) => void) | null = null;\n _onAudioSampleReceived: AudioSampleCallback = null;\n\n /** @deprecated Use `Sound.createAsync()` instead */\n static create = async (\n source: AVPlaybackSource,\n initialStatus: AVPlaybackStatusToSet = {},\n onPlaybackStatusUpdate: ((status: AVPlaybackStatus) => void) | null = null,\n downloadFirst: boolean = true\n ): Promise => {\n console.warn(\n `Sound.create is deprecated in favor of Sound.createAsync with the same API except for the new method name`\n );\n return Sound.createAsync(source, initialStatus, onPlaybackStatusUpdate, downloadFirst);\n };\n\n /**\n * Creates and loads a sound from source.\n *\n * ```ts\n * const { sound } = await Audio.Sound.createAsync(\n * source,\n * initialStatus,\n * onPlaybackStatusUpdate,\n * downloadFirst\n * );\n *\n * // Which is equivalent to the following:\n * const sound = new Audio.Sound();\n * sound.setOnPlaybackStatusUpdate(onPlaybackStatusUpdate);\n * await sound.loadAsync(source, initialStatus, downloadFirst);\n * ```\n *\n * @param source The source of the sound. See the [AV documentation](/versions/latest/sdk/av/#playback-api) for details on the possible `source` values.\n *\n * @param initialStatus The initial intended `PlaybackStatusToSet` of the sound, whose values will override the default initial playback status.\n * This value defaults to `{}` if no parameter is passed. See the [AV documentation](/versions/latest/sdk/av) for details on `PlaybackStatusToSet` and the default\n * initial playback status.\n *\n * @param onPlaybackStatusUpdate A function taking a single parameter `PlaybackStatus`. This value defaults to `null` if no parameter is passed.\n * See the [AV documentation](/versions/latest/sdk/av) for details on the functionality provided by `onPlaybackStatusUpdate`\n *\n * @param downloadFirst If set to true, the system will attempt to download the resource to the device before loading. This value defaults to `true`.\n * Note that at the moment, this will only work for `source`s of the form `require('path/to/file')` or `Asset` objects.\n *\n * @example\n * ```ts\n * try {\n * const { sound: soundObject, status } = await Audio.Sound.createAsync(\n * require('./assets/sounds/hello.mp3'),\n * { shouldPlay: true }\n * );\n * // Your sound is playing!\n * } catch (error) {\n * // An error occurred!\n * }\n * ```\n *\n * @return A `Promise` that is rejected if creation failed, or fulfilled with the `SoundObject` if creation succeeded.\n */\n static createAsync = async (\n source: AVPlaybackSource,\n initialStatus: AVPlaybackStatusToSet = {},\n onPlaybackStatusUpdate: ((status: AVPlaybackStatus) => void) | null = null,\n downloadFirst: boolean = true\n ): Promise => {\n const sound: Sound = new Sound();\n sound.setOnPlaybackStatusUpdate(onPlaybackStatusUpdate);\n const status: AVPlaybackStatus = await sound.loadAsync(source, initialStatus, downloadFirst);\n return { sound, status };\n };\n\n // Internal methods\n\n _callOnPlaybackStatusUpdateForNewStatus(status: AVPlaybackStatus) {\n const shouldDismissBasedOnCoalescing =\n this._lastStatusUpdateTime &&\n JSON.stringify(status) === this._lastStatusUpdate &&\n Date.now() - this._lastStatusUpdateTime.getTime() < this._coalesceStatusUpdatesInMillis;\n\n if (this._onPlaybackStatusUpdate != null && !shouldDismissBasedOnCoalescing) {\n this._onPlaybackStatusUpdate(status);\n this._lastStatusUpdateTime = new Date();\n this._lastStatusUpdate = JSON.stringify(status);\n }\n }\n\n async _performOperationAndHandleStatusAsync(\n operation: () => Promise\n ): Promise {\n throwIfAudioIsDisabled();\n if (this._loaded) {\n const status = await operation();\n this._callOnPlaybackStatusUpdateForNewStatus(status);\n return status;\n } else {\n throw new Error('Cannot complete operation because sound is not loaded.');\n }\n }\n\n private _updateAudioSampleReceivedCallback() {\n if (globalThis.__EXAV_setOnAudioSampleReceivedCallback == null) {\n if (Platform.OS === 'ios' || Platform.OS === 'android') {\n console.warn(\n 'expo-av: Failed to set up Audio Sample Buffer callback. ' +\n \"Do you have 'Remote Debugging' enabled in your app's Developer Menu (https://docs.expo.dev/workflow/debugging)? \" +\n 'Audio Sample Buffer callbacks are not supported while using Remote Debugging, you will need to disable it to use them.'\n );\n return;\n } else {\n throw new UnavailabilityError('expo-av', 'setOnAudioSampleReceived');\n }\n }\n if (this._key == null) {\n throw new Error(\n 'Cannot set Audio Sample Buffer callback when the Sound instance has not been successfully loaded/initialized!'\n );\n }\n if (typeof this._key !== 'number') {\n throw new Error(\n `Cannot set Audio Sample Buffer callback when Sound instance key is of type ${typeof this\n ._key}! (expected: number)`\n );\n }\n\n globalThis.__EXAV_setOnAudioSampleReceivedCallback(this._key, this._onAudioSampleReceived);\n }\n\n _internalStatusUpdateCallback = ({\n key,\n status,\n }: {\n key: AudioInstance;\n status: AVPlaybackStatus;\n }) => {\n if (this._key === key) {\n this._callOnPlaybackStatusUpdateForNewStatus(status);\n }\n };\n\n _internalMetadataUpdateCallback = ({\n key,\n metadata,\n }: {\n key: AudioInstance;\n metadata: AVMetadata;\n }) => {\n if (this._key === key) {\n this._onMetadataUpdate?.(metadata);\n }\n };\n\n _internalErrorCallback = ({ key, error }: { key: AudioInstance; error: string }) => {\n if (this._key === key) {\n this._errorCallback(error);\n }\n };\n\n // TODO: We can optimize by only using time observer on native if (this._onPlaybackStatusUpdate).\n _subscribeToNativeEvents() {\n if (this._loaded) {\n this._subscriptions.push(\n this._eventEmitter.addListener(\n 'didUpdatePlaybackStatus',\n this._internalStatusUpdateCallback\n ),\n this._eventEmitter.addListener('didUpdateMetadata', this._internalMetadataUpdateCallback)\n );\n\n this._subscriptions.push(\n this._eventEmitter.addListener('ExponentAV.onError', this._internalErrorCallback)\n );\n }\n }\n\n _clearSubscriptions() {\n this._subscriptions.forEach((e) => e.remove());\n this._subscriptions = [];\n }\n\n _errorCallback = (error: string) => {\n this._clearSubscriptions();\n this._loaded = false;\n this._key = null;\n this._callOnPlaybackStatusUpdateForNewStatus(getUnloadedStatus(error));\n };\n\n // ### Unified playback API ### (consistent with Video.js)\n // All calls automatically call onPlaybackStatusUpdate as a side effect.\n\n // Get status API\n\n getStatusAsync = async (): Promise => {\n if (this._loaded) {\n return this._performOperationAndHandleStatusAsync(() =>\n ExponentAV.getStatusForSound(this._key)\n );\n }\n const status: AVPlaybackStatus = getUnloadedStatus();\n this._callOnPlaybackStatusUpdateForNewStatus(status);\n return status;\n };\n\n /**\n * Sets a function to be called regularly with the `AVPlaybackStatus` of the playback object.\n *\n * `onPlaybackStatusUpdate` will be called whenever a call to the API for this playback object completes\n * (such as `setStatusAsync()`, `getStatusAsync()`, or `unloadAsync()`), nd will also be called at regular intervals\n * while the media is in the loaded state.\n *\n * Set `progressUpdateIntervalMillis` via `setStatusAsync()` or `setProgressUpdateIntervalAsync()` to modify\n * the interval with which `onPlaybackStatusUpdate` is called while loaded.\n *\n * @param onPlaybackStatusUpdate A function taking a single parameter `AVPlaybackStatus`.\n */\n setOnPlaybackStatusUpdate(onPlaybackStatusUpdate: ((status: AVPlaybackStatus) => void) | null) {\n this._onPlaybackStatusUpdate = onPlaybackStatusUpdate;\n this.getStatusAsync();\n }\n\n /**\n * Sets a function to be called whenever the metadata of the sound object changes, if one is set.\n * @param onMetadataUpdate A function taking a single object of type `AVMetadata` as a parameter.\n * @platform ios\n */\n setOnMetadataUpdate(onMetadataUpdate: (metadata: AVMetadata) => void) {\n this._onMetadataUpdate = onMetadataUpdate;\n }\n\n /**\n * Sets a function to be called during playback, receiving the audio sample as parameter.\n * @param callback A function taking the `AudioSampleCallback` as parameter.\n */\n setOnAudioSampleReceived(callback: AudioSampleCallback) {\n this._onAudioSampleReceived = callback;\n if (this._key != null) {\n this._updateAudioSampleReceivedCallback();\n }\n }\n\n // Loading / unloading API\n\n async loadAsync(\n source: AVPlaybackSource,\n initialStatus: AVPlaybackStatusToSet = {},\n downloadFirst: boolean = true\n ): Promise {\n throwIfAudioIsDisabled();\n if (this._loading) {\n throw new Error('The Sound is already loading.');\n }\n if (!this._loaded) {\n this._loading = true;\n\n const { nativeSource, fullInitialStatus } =\n await getNativeSourceAndFullInitialStatusForLoadAsync(source, initialStatus, downloadFirst);\n\n // This is a workaround, since using load with resolve / reject seems to not work.\n return new Promise((resolve, reject) => {\n const loadSuccess = (result: [AudioInstance, AVPlaybackStatus]) => {\n const [key, status] = result;\n this._key = key;\n this._loaded = true;\n this._loading = false;\n this._subscribeToNativeEvents();\n this._callOnPlaybackStatusUpdateForNewStatus(status);\n resolve(status);\n };\n\n const loadError = (error: Error) => {\n this._loading = false;\n reject(error);\n };\n\n ExponentAV.loadForSound(nativeSource, fullInitialStatus).then(loadSuccess).catch(loadError);\n });\n } else {\n throw new Error('The Sound is already loaded.');\n }\n }\n\n async unloadAsync(): Promise {\n if (this._loaded) {\n this._loaded = false;\n const key = this._key;\n this._key = null;\n const status = await ExponentAV.unloadForSound(key);\n this._callOnPlaybackStatusUpdateForNewStatus(status);\n this._clearSubscriptions();\n return status;\n } else {\n return this.getStatusAsync(); // Automatically calls onPlaybackStatusUpdate.\n }\n }\n\n // Set status API (only available while isLoaded = true)\n\n async setStatusAsync(status: AVPlaybackStatusToSet): Promise {\n assertStatusValuesInBounds(status);\n return this._performOperationAndHandleStatusAsync(() =>\n ExponentAV.setStatusForSound(this._key, status)\n );\n }\n\n async replayAsync(status: AVPlaybackStatusToSet = {}): Promise {\n if (status.positionMillis && status.positionMillis !== 0) {\n throw new Error('Requested position after replay has to be 0.');\n }\n\n return this._performOperationAndHandleStatusAsync(() =>\n ExponentAV.replaySound(this._key, {\n ...status,\n positionMillis: 0,\n shouldPlay: true,\n })\n );\n }\n\n // Methods of the Playback interface that are set via PlaybackMixin\n playAsync!: () => Promise;\n playFromPositionAsync!: (\n positionMillis: number,\n tolerances?: AVPlaybackTolerance\n ) => Promise;\n pauseAsync!: () => Promise;\n stopAsync!: () => Promise;\n setPositionAsync!: (\n positionMillis: number,\n tolerances?: AVPlaybackTolerance\n ) => Promise;\n setRateAsync!: (\n rate: number,\n shouldCorrectPitch: boolean,\n pitchCorrectionQuality?: PitchCorrectionQuality\n ) => Promise;\n setVolumeAsync!: (volume: number, audioPan?: number) => Promise;\n setIsMutedAsync!: (isMuted: boolean) => Promise;\n setIsLoopingAsync!: (isLooping: boolean) => Promise;\n setProgressUpdateIntervalAsync!: (\n progressUpdateIntervalMillis: number\n ) => Promise;\n}\n\nObject.assign(Sound.prototype, PlaybackMixin);\n","import { DeviceEventEmitter, PermissionResponse, PermissionStatus } from 'expo-modules-core';\n\nimport type { AVPlaybackNativeSource, AVPlaybackStatus, AVPlaybackStatusToSet } from './AV.types';\nimport type { RecordingStatus } from './Audio/Recording.types';\nimport { RecordingOptionsPresets } from './Audio/RecordingConstants';\n\nasync function getPermissionWithQueryAsync(\n name: PermissionNameWithAdditionalValues\n): Promise {\n if (!navigator || !navigator.permissions || !navigator.permissions.query) return null;\n\n try {\n const { state } = await navigator.permissions.query({ name });\n switch (state) {\n case 'granted':\n return PermissionStatus.GRANTED;\n case 'denied':\n return PermissionStatus.DENIED;\n default:\n return PermissionStatus.UNDETERMINED;\n }\n } catch {\n // Firefox - TypeError: 'microphone' (value of 'name' member of PermissionDescriptor) is not a valid value for enumeration PermissionName.\n return PermissionStatus.UNDETERMINED;\n }\n}\n\nfunction getUserMedia(constraints: MediaStreamConstraints): Promise {\n if (navigator.mediaDevices && navigator.mediaDevices.getUserMedia) {\n return navigator.mediaDevices.getUserMedia(constraints);\n }\n\n // Some browsers partially implement mediaDevices. We can't just assign an object\n // with getUserMedia as it would overwrite existing properties.\n // Here, we will just add the getUserMedia property if it's missing.\n\n // First get ahold of the legacy getUserMedia, if present\n const getUserMedia =\n // TODO: this method is deprecated, migrate to https://developer.mozilla.org/en-US/docs/Web/API/MediaDevices/getUserMedia\n navigator.getUserMedia ||\n navigator.webkitGetUserMedia ||\n navigator.mozGetUserMedia ||\n function () {\n const error: any = new Error('Permission unimplemented');\n error.code = 0;\n error.name = 'NotAllowedError';\n throw error;\n };\n\n return new Promise((resolve, reject) => {\n getUserMedia.call(navigator, constraints, resolve, reject);\n });\n}\n\nfunction getStatusFromMedia(media?: HTMLMediaElement): AVPlaybackStatus {\n if (!media) {\n return {\n isLoaded: false,\n error: undefined,\n };\n }\n\n const isPlaying = !!(\n media.currentTime > 0 &&\n !media.paused &&\n !media.ended &&\n media.readyState > 2\n );\n\n const status: AVPlaybackStatus = {\n isLoaded: true,\n uri: media.src,\n progressUpdateIntervalMillis: 100, //TODO: Bacon: Add interval between calls\n durationMillis: media.duration * 1000,\n positionMillis: media.currentTime * 1000,\n // playableDurationMillis: media.buffered * 1000,\n // seekMillisToleranceBefore?: number\n // seekMillisToleranceAfter?: number\n shouldPlay: media.autoplay,\n isPlaying,\n isBuffering: false, //media.waiting,\n rate: media.playbackRate,\n // TODO: Bacon: This seems too complicated right now: https://webaudio.github.io/web-audio-api/#dom-biquadfilternode-frequency\n shouldCorrectPitch: false,\n volume: media.volume,\n audioPan: 0,\n isMuted: media.muted,\n isLooping: media.loop,\n didJustFinish: media.ended,\n };\n\n return status;\n}\n\nasync function setStatusForMedia(\n media: HTMLMediaElement,\n status: AVPlaybackStatusToSet\n): Promise {\n if (status.positionMillis !== undefined) {\n media.currentTime = status.positionMillis / 1000;\n }\n // if (status.progressUpdateIntervalMillis !== undefined) {\n // media.progressUpdateIntervalMillis = status.progressUpdateIntervalMillis;\n // }\n // if (status.seekMillisToleranceBefore !== undefined) {\n // media.seekMillisToleranceBefore = status.seekMillisToleranceBefore;\n // }\n // if (status.seekMillisToleranceAfter !== undefined) {\n // media.seekMillisToleranceAfter = status.seekMillisToleranceAfter;\n // }\n // if (status.shouldCorrectPitch !== undefined) {\n // media.shouldCorrectPitch = status.shouldCorrectPitch;\n // }\n if (status.shouldPlay !== undefined) {\n if (status.shouldPlay) {\n await media.play();\n } else {\n await media.pause();\n }\n }\n if (status.rate !== undefined) {\n media.playbackRate = status.rate;\n }\n if (status.shouldCorrectPitch !== undefined) {\n media.preservesPitch = status.shouldCorrectPitch;\n }\n if (status.volume !== undefined) {\n media.volume = status.volume;\n }\n if (status.isMuted !== undefined) {\n media.muted = status.isMuted;\n }\n if (status.isLooping !== undefined) {\n media.loop = status.isLooping;\n }\n\n return getStatusFromMedia(media);\n}\n\nlet mediaRecorder: null | any /*MediaRecorder*/ = null;\nlet mediaRecorderUptimeOfLastStartResume: number = 0;\nlet mediaRecorderDurationAlreadyRecorded: number = 0;\nlet mediaRecorderIsRecording: boolean = false;\n\nfunction getAudioRecorderDurationMillis() {\n let duration = mediaRecorderDurationAlreadyRecorded;\n if (mediaRecorderIsRecording && mediaRecorderUptimeOfLastStartResume > 0) {\n duration += Date.now() - mediaRecorderUptimeOfLastStartResume;\n }\n return duration;\n}\n\nexport default {\n async getStatusForVideo(element: HTMLMediaElement): Promise {\n return getStatusFromMedia(element);\n },\n async loadForVideo(\n element: HTMLMediaElement,\n nativeSource: AVPlaybackNativeSource,\n fullInitialStatus: AVPlaybackStatusToSet\n ): Promise {\n return getStatusFromMedia(element);\n },\n async unloadForVideo(element: HTMLMediaElement): Promise {\n return getStatusFromMedia(element);\n },\n async setStatusForVideo(\n element: HTMLMediaElement,\n status: AVPlaybackStatusToSet\n ): Promise {\n return setStatusForMedia(element, status);\n },\n async replayVideo(\n element: HTMLMediaElement,\n status: AVPlaybackStatusToSet\n ): Promise {\n return setStatusForMedia(element, status);\n },\n /* Audio */\n async setAudioMode() {},\n async setAudioIsEnabled() {},\n async getStatusForSound(element: HTMLMediaElement) {\n return getStatusFromMedia(element);\n },\n async loadForSound(\n nativeSource: string | { uri: string; [key: string]: any },\n fullInitialStatus: AVPlaybackStatusToSet\n ): Promise<[HTMLMediaElement, AVPlaybackStatus]> {\n const source = typeof nativeSource === 'string' ? nativeSource : nativeSource.uri;\n const media = new Audio(source);\n\n media.ontimeupdate = () => {\n DeviceEventEmitter.emit('didUpdatePlaybackStatus', {\n key: media,\n status: getStatusFromMedia(media),\n });\n };\n\n media.onerror = () => {\n DeviceEventEmitter.emit('ExponentAV.onError', {\n key: media,\n error: media.error!.message,\n });\n };\n\n const status = await setStatusForMedia(media, fullInitialStatus);\n\n return [media, status];\n },\n async unloadForSound(element: HTMLMediaElement) {\n element.pause();\n element.removeAttribute('src');\n element.load();\n return getStatusFromMedia(element);\n },\n async setStatusForSound(\n element: HTMLMediaElement,\n status: AVPlaybackStatusToSet\n ): Promise {\n return setStatusForMedia(element, status);\n },\n async replaySound(\n element: HTMLMediaElement,\n status: AVPlaybackStatusToSet\n ): Promise {\n return setStatusForMedia(element, status);\n },\n\n /* Recording */\n // async setUnloadedCallbackForAndroidRecording() {},\n async getAudioRecordingStatus(): Promise {\n return {\n canRecord: mediaRecorder?.state === 'recording' || mediaRecorder?.state === 'inactive',\n isRecording: mediaRecorder?.state === 'recording',\n isDoneRecording: false,\n durationMillis: getAudioRecorderDurationMillis(),\n uri: null,\n };\n },\n async prepareAudioRecorder(options): Promise<{\n uri: string | null;\n // status is of type RecordingStatus, but without the canRecord field populated\n status: Pick>;\n }> {\n if (typeof navigator !== 'undefined' && !navigator.mediaDevices) {\n throw new Error('No media devices available');\n }\n\n mediaRecorderUptimeOfLastStartResume = 0;\n mediaRecorderDurationAlreadyRecorded = 0;\n\n const stream = await getUserMedia({ audio: true });\n\n mediaRecorder = new (window as any).MediaRecorder(\n stream,\n options?.web || RecordingOptionsPresets.HIGH_QUALITY.web\n );\n\n mediaRecorder.addEventListener('pause', () => {\n mediaRecorderDurationAlreadyRecorded = getAudioRecorderDurationMillis();\n mediaRecorderIsRecording = false;\n });\n\n mediaRecorder.addEventListener('resume', () => {\n mediaRecorderUptimeOfLastStartResume = Date.now();\n mediaRecorderIsRecording = true;\n });\n\n mediaRecorder.addEventListener('start', () => {\n mediaRecorderUptimeOfLastStartResume = Date.now();\n mediaRecorderDurationAlreadyRecorded = 0;\n mediaRecorderIsRecording = true;\n });\n\n mediaRecorder.addEventListener('stop', () => {\n mediaRecorderDurationAlreadyRecorded = getAudioRecorderDurationMillis();\n mediaRecorderIsRecording = false;\n\n // Clears recording icon in Chrome tab\n stream.getTracks().forEach((track) => track.stop());\n });\n\n const { uri, ...status } = await this.getAudioRecordingStatus();\n\n return { uri: null, status };\n },\n async startAudioRecording(): Promise {\n if (mediaRecorder === null) {\n throw new Error(\n 'Cannot start an audio recording without initializing a MediaRecorder. Run prepareToRecordAsync() before attempting to start an audio recording.'\n );\n }\n\n if (mediaRecorder.state === 'paused') {\n mediaRecorder.resume();\n } else {\n mediaRecorder.start();\n }\n\n return this.getAudioRecordingStatus();\n },\n async pauseAudioRecording(): Promise {\n if (mediaRecorder === null) {\n throw new Error(\n 'Cannot start an audio recording without initializing a MediaRecorder. Run prepareToRecordAsync() before attempting to start an audio recording.'\n );\n }\n\n // Set status to paused\n mediaRecorder.pause();\n\n return this.getAudioRecordingStatus();\n },\n async stopAudioRecording(): Promise {\n if (mediaRecorder === null) {\n throw new Error(\n 'Cannot start an audio recording without initializing a MediaRecorder. Run prepareToRecordAsync() before attempting to start an audio recording.'\n );\n }\n\n if (mediaRecorder.state === 'inactive') {\n return this.getAudioRecordingStatus();\n }\n\n const dataPromise = new Promise((resolve) =>\n mediaRecorder.addEventListener('dataavailable', (e) => resolve(e.data))\n );\n\n mediaRecorder.stop();\n\n const data = await dataPromise;\n const url = URL.createObjectURL(data);\n\n return {\n ...(await this.getAudioRecordingStatus()),\n uri: url,\n };\n },\n async unloadAudioRecorder(): Promise {\n mediaRecorder = null;\n },\n\n async getPermissionsAsync(): Promise {\n const maybeStatus = await getPermissionWithQueryAsync('microphone');\n switch (maybeStatus) {\n case PermissionStatus.GRANTED:\n return {\n status: PermissionStatus.GRANTED,\n expires: 'never',\n canAskAgain: true,\n granted: true,\n };\n case PermissionStatus.DENIED:\n return {\n status: PermissionStatus.DENIED,\n expires: 'never',\n canAskAgain: true,\n granted: false,\n };\n default:\n return await this.requestPermissionsAsync();\n }\n },\n async requestPermissionsAsync(): Promise {\n try {\n const stream = await getUserMedia({ audio: true });\n stream.getTracks().forEach((track) => track.stop());\n return {\n status: PermissionStatus.GRANTED,\n expires: 'never',\n canAskAgain: true,\n granted: true,\n };\n } catch {\n return {\n status: PermissionStatus.DENIED,\n expires: 'never',\n canAskAgain: true,\n granted: false,\n };\n }\n },\n};\n","import { Asset } from 'expo-asset';\n\n// @needsAudit\n/**\n * The different types of assets you can provide to the [`loadAsync()`](#loadasyncfontfamilyorfontmap-source) function.\n * A font source can be a URI, a module ID, or an Expo Asset.\n */\nexport type FontSource = string | number | Asset | FontResource;\n\n// @needsAudit\n/**\n * An object used to dictate the resource that is loaded into the provided font namespace when used\n * with [`loadAsync`](#loadasyncfontfamilyorfontmap-source).\n */\nexport type FontResource = {\n uri?: string | number;\n /**\n * Sets the [`font-display`](#fontdisplay) property for a given typeface in the browser.\n * @platform web\n */\n display?: FontDisplay;\n default?: string;\n};\n\n// @needsAudit\n/**\n * Sets the [font-display](https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display)\n * for a given typeface. The default font value on web is `FontDisplay.AUTO`.\n * Even though setting the `fontDisplay` does nothing on native platforms, the default behavior\n * emulates `FontDisplay.SWAP` on flagship devices like iOS, Samsung, Pixel, etc. Default\n * functionality varies on One Plus devices. In the browser this value is set in the generated\n * `@font-face` CSS block and not as a style property meaning you cannot dynamically change this\n * value based on the element it's used in.\n * @platform web\n */\nexport enum FontDisplay {\n /**\n * __(Default)__ The font display strategy is defined by the user agent or platform.\n * This generally defaults to the text being invisible until the font is loaded.\n * Good for buttons or banners that require a specific treatment.\n */\n AUTO = 'auto',\n /**\n * Fallback text is rendered immediately with a default font while the desired font is loaded.\n * This is good for making the content appear to load instantly and is usually preferred.\n */\n SWAP = 'swap',\n /**\n * The text will be invisible until the font has loaded. If the font fails to load then nothing\n * will appear - it's best to turn this off when debugging missing text.\n */\n BLOCK = 'block',\n /**\n * Splits the behavior between `SWAP` and `BLOCK`.\n * There will be a [100ms timeout](https://developers.google.com/web/updates/2016/02/font-display?hl=en)\n * where the text with a custom font is invisible, after that the text will either swap to the\n * styled text or it'll show the unstyled text and continue to load the custom font. This is good\n * for buttons that need a custom font but should also be quickly available to screen-readers.\n */\n FALLBACK = 'fallback',\n /**\n * This works almost identically to `FALLBACK`, the only difference is that the browser will\n * decide to load the font based on slow connection speed or critical resource demand.\n */\n OPTIONAL = 'optional',\n}\n\n// @needsAudit\n/**\n * Object used to query fonts for unloading.\n */\nexport type UnloadFontOptions = Pick;\n","import { CodedError, Platform } from 'expo-modules-core';\nimport FontObserver from 'fontfaceobserver';\n\nimport { UnloadFontOptions } from './Font';\nimport { FontDisplay, FontResource } from './Font.types';\n\nfunction getFontFaceStyleSheet(): CSSStyleSheet | null {\n if (!Platform.isDOMAvailable) {\n return null;\n }\n const styleSheet = getStyleElement();\n return styleSheet.sheet ? (styleSheet.sheet as CSSStyleSheet) : null;\n}\n\ntype RuleItem = { rule: CSSFontFaceRule; index: number };\n\nfunction getFontFaceRules(): RuleItem[] {\n const sheet = getFontFaceStyleSheet();\n if (sheet) {\n // @ts-ignore: rule iterator\n const rules = [...sheet.cssRules];\n\n const items: RuleItem[] = [];\n\n for (let i = 0; i < rules.length; i++) {\n const rule = rules[i];\n if (rule instanceof CSSFontFaceRule) {\n items.push({ rule, index: i });\n }\n }\n return items;\n }\n return [];\n}\n\nfunction getFontFaceRulesMatchingResource(\n fontFamilyName: string,\n options?: UnloadFontOptions\n): RuleItem[] {\n const rules = getFontFaceRules();\n return rules.filter(({ rule }) => {\n return (\n rule.style.fontFamily === fontFamilyName &&\n (options && options.display ? options.display === (rule.style as any).fontDisplay : true)\n );\n });\n}\n\nconst serverContext: Set<{ name: string; css: string; resourceId: string }> = new Set();\n\nfunction getHeadElements(): {\n $$type: string;\n rel?: string;\n href?: string;\n as?: string;\n crossorigin?: string;\n children?: string;\n id?: string;\n type?: string;\n}[] {\n const entries = [...serverContext.entries()];\n if (!entries.length) {\n return [];\n }\n const css = entries.map(([{ css }]) => css).join('\\n');\n const links = entries.map(([{ resourceId }]) => resourceId);\n // TODO: Maybe return nothing if no fonts were loaded.\n return [\n {\n $$type: 'style',\n children: css,\n id: ID,\n type: 'text/css',\n },\n ...links.map((resourceId) => ({\n $$type: 'link',\n rel: 'preload',\n href: resourceId,\n as: 'font',\n crossorigin: '',\n })),\n ];\n}\n\nexport default {\n async unloadAllAsync(): Promise {\n if (!Platform.isDOMAvailable) return;\n\n const element = document.getElementById(ID);\n if (element && element instanceof HTMLStyleElement) {\n document.removeChild(element);\n }\n },\n\n async unloadAsync(fontFamilyName: string, options?: UnloadFontOptions): Promise {\n const sheet = getFontFaceStyleSheet();\n if (!sheet) return;\n const items = getFontFaceRulesMatchingResource(fontFamilyName, options);\n for (const item of items) {\n sheet.deleteRule(item.index);\n }\n },\n\n getServerResources(): string[] {\n const elements = getHeadElements();\n\n return elements\n .map((element) => {\n switch (element.$$type) {\n case 'style':\n return ``;\n case 'link':\n return ``;\n default:\n return '';\n }\n })\n .filter(Boolean);\n },\n\n resetServerContext() {\n serverContext.clear();\n },\n\n isLoaded(fontFamilyName: string, resource: UnloadFontOptions = {}): boolean {\n if (typeof window === 'undefined') {\n return !![...serverContext.values()].find((asset) => {\n return asset.name === fontFamilyName;\n });\n }\n return getFontFaceRulesMatchingResource(fontFamilyName, resource)?.length > 0;\n },\n\n // NOTE(EvanBacon): No async keyword! This cannot return a promise in Node environments.\n loadAsync(fontFamilyName: string, resource: FontResource): Promise {\n if (typeof window === 'undefined') {\n serverContext.add({\n name: fontFamilyName,\n css: _createWebFontTemplate(fontFamilyName, resource),\n // @ts-expect-error: typeof string\n resourceId: resource.uri!,\n });\n return Promise.resolve();\n }\n\n const canInjectStyle = document.head && typeof document.head.appendChild === 'function';\n if (!canInjectStyle) {\n throw new CodedError(\n 'ERR_WEB_ENVIRONMENT',\n `The browser's \\`document.head\\` element doesn't support injecting fonts.`\n );\n }\n\n const style = getStyleElement();\n document.head!.appendChild(style);\n\n const res = getFontFaceRulesMatchingResource(fontFamilyName, resource);\n if (!res.length) {\n _createWebStyle(fontFamilyName, resource);\n }\n\n if (!isFontLoadingListenerSupported()) {\n return Promise.resolve();\n }\n\n return new FontObserver(fontFamilyName, { display: resource.display }).load(null, 6000);\n },\n};\n\nconst ID = 'expo-generated-fonts';\n\nfunction getStyleElement(): HTMLStyleElement {\n const element = document.getElementById(ID);\n if (element && element instanceof HTMLStyleElement) {\n return element;\n }\n const styleElement = document.createElement('style');\n styleElement.id = ID;\n styleElement.type = 'text/css';\n return styleElement;\n}\n\nexport function _createWebFontTemplate(fontFamily: string, resource: FontResource): string {\n return `@font-face{font-family:${fontFamily};src:url(${resource.uri});font-display:${\n resource.display || FontDisplay.AUTO\n }}`;\n}\n\nfunction _createWebStyle(fontFamily: string, resource: FontResource): HTMLStyleElement {\n const fontStyle = _createWebFontTemplate(fontFamily, resource);\n\n const styleElement = getStyleElement();\n // @ts-ignore: TypeScript does not define HTMLStyleElement::styleSheet. This is just for IE and\n // possibly can be removed if it's unnecessary on IE 11.\n if (styleElement.styleSheet) {\n const styleElementIE = styleElement as any;\n styleElementIE.styleSheet.cssText = styleElementIE.styleSheet.cssText\n ? styleElementIE.styleSheet.cssText + fontStyle\n : fontStyle;\n } else {\n const textNode = document.createTextNode(fontStyle);\n styleElement.appendChild(textNode);\n }\n return styleElement;\n}\n\nfunction isFontLoadingListenerSupported(): boolean {\n const { userAgent } = window.navigator;\n // WebKit is broken https://github.com/bramstein/fontfaceobserver/issues/95\n const isIOS = !!userAgent.match(/iPad|iPhone/i);\n const isSafari = /^((?!chrome|android).)*safari/i.test(navigator.userAgent);\n // Edge is broken https://github.com/bramstein/fontfaceobserver/issues/109#issuecomment-333356795\n const isEdge = userAgent.includes('Edge');\n // Internet Explorer\n const isIE = userAgent.includes('Trident');\n // Firefox\n const isFirefox = userAgent.includes('Firefox');\n return !isSafari && !isIOS && !isEdge && !isIE && !isFirefox;\n}\n","import { Asset } from 'expo-asset';\nimport { CodedError } from 'expo-modules-core';\n\nimport ExpoFontLoader from './ExpoFontLoader';\nimport { FontResource, FontSource, FontDisplay } from './Font.types';\n\nfunction uriFromFontSource(asset: any): string | null {\n if (typeof asset === 'string') {\n return asset || null;\n } else if (typeof asset === 'object') {\n return asset.uri || asset.localUri || asset.default || null;\n } else if (typeof asset === 'number') {\n return uriFromFontSource(Asset.fromModule(asset));\n }\n return null;\n}\n\nfunction displayFromFontSource(asset: any): FontDisplay | undefined {\n return asset.display || FontDisplay.AUTO;\n}\n\nexport function fontFamilyNeedsScoping(name: string): boolean {\n return false;\n}\n\nexport function getAssetForSource(source: FontSource): Asset | FontResource {\n const uri = uriFromFontSource(source);\n const display = displayFromFontSource(source);\n\n if (!uri || typeof uri !== 'string') {\n throwInvalidSourceError(uri);\n }\n\n return {\n uri: uri!,\n display,\n };\n}\n\nfunction throwInvalidSourceError(source: any): never {\n let type: string = typeof source;\n if (type === 'object') type = JSON.stringify(source, null, 2);\n throw new CodedError(\n `ERR_FONT_SOURCE`,\n `Expected font asset of type \\`string | FontResource | Asset\\` instead got: ${type}`\n );\n}\n\n// NOTE(EvanBacon): No async keyword!\nexport function loadSingleFontAsync(name: string, input: Asset | FontResource): Promise {\n if (typeof input !== 'object' || typeof input.uri !== 'string' || (input as any).downloadAsync) {\n throwInvalidSourceError(input);\n }\n\n try {\n return ExpoFontLoader.loadAsync(name, input);\n } catch {\n // No-op.\n }\n\n return Promise.resolve();\n}\n\nexport function getNativeFontName(name: string): string {\n return name;\n}\n","export const loaded: { [name: string]: boolean } = {};\nexport const loadPromises: { [name: string]: Promise } = {};\n","import { CodedError } from 'expo-modules-core';\n\nimport ExpoFontLoader from './ExpoFontLoader';\nimport { FontSource } from './Font.types';\nimport { getAssetForSource, loadSingleFontAsync } from './FontLoader';\n\n/**\n * @returns the server resources that should be statically extracted.\n * @private\n */\nexport function getServerResources(): string[] {\n return ExpoFontLoader.getServerResources();\n}\n\n/**\n * @returns clear the server resources from the global scope.\n * @private\n */\nexport function resetServerContext() {\n return ExpoFontLoader.resetServerContext();\n}\n\nexport function registerStaticFont(fontFamily: string, source?: FontSource | null) {\n // MUST BE A SYNC FUNCTION!\n if (!source) {\n throw new CodedError(\n `ERR_FONT_SOURCE`,\n `Cannot load null or undefined font source: { \"${fontFamily}\": ${source} }. Expected asset of type \\`FontSource\\` for fontFamily of name: \"${fontFamily}\"`\n );\n }\n const asset = getAssetForSource(source);\n\n loadSingleFontAsync(fontFamily, asset);\n}\n","import { CodedError, Platform, UnavailabilityError } from 'expo-modules-core';\n\nimport ExpoFontLoader from './ExpoFontLoader';\nimport { FontDisplay, FontSource, FontResource, UnloadFontOptions } from './Font.types';\nimport {\n getAssetForSource,\n loadSingleFontAsync,\n fontFamilyNeedsScoping,\n getNativeFontName,\n} from './FontLoader';\nimport { loaded, loadPromises } from './memory';\nimport { registerStaticFont } from './server';\n\n// @needsAudit\n// note(brentvatne): at some point we may want to warn if this is called outside of a managed app.\n/**\n * Used to transform font family names to the scoped name. This does not need to\n * be called in standalone or bare apps but it will return unscoped font family\n * names if it is called in those contexts.\n *\n * @param fontFamily Name of font to process.\n * @returns Returns a name processed for use with the [current workflow](https://docs.expo.dev/archive/managed-vs-bare/).\n */\nexport function processFontFamily(fontFamily: string | null): string | null {\n if (!fontFamily || !fontFamilyNeedsScoping(fontFamily)) {\n return fontFamily;\n }\n\n if (!isLoaded(fontFamily)) {\n if (__DEV__) {\n if (isLoading(fontFamily)) {\n console.warn(\n `You started loading the font \"${fontFamily}\", but used it before it finished loading. You need to wait for Font.loadAsync to complete before using the font.`\n );\n } else {\n console.warn(\n `fontFamily \"${fontFamily}\" is not a system font and has not been loaded through expo-font.`\n );\n }\n }\n }\n\n return `ExpoFont-${getNativeFontName(fontFamily)}`;\n}\n\n// @needsAudit\n/**\n * Synchronously detect if the font for `fontFamily` has finished loading.\n *\n * @param fontFamily The name used to load the `FontResource`.\n * @return Returns `true` if the font has fully loaded.\n */\nexport function isLoaded(fontFamily: string): boolean {\n if (Platform.OS === 'web') {\n return fontFamily in loaded || !!ExpoFontLoader.isLoaded(fontFamily);\n }\n return fontFamily in loaded || ExpoFontLoader.customNativeFonts?.includes(fontFamily);\n}\n\n// @needsAudit\n/**\n * Synchronously detect if the font for `fontFamily` is still being loaded.\n *\n * @param fontFamily The name used to load the `FontResource`.\n * @returns Returns `true` if the font is still loading.\n */\nexport function isLoading(fontFamily: string): boolean {\n return fontFamily in loadPromises;\n}\n\n// @needsAudit\n/**\n * Highly efficient method for loading fonts from static or remote resources which can then be used\n * with the platform's native text elements. In the browser this generates a `@font-face` block in\n * a shared style sheet for fonts. No CSS is needed to use this method.\n *\n * @param fontFamilyOrFontMap string or map of values that can be used as the [`fontFamily`](https://reactnative.dev/docs/text#style)\n * style prop with React Native Text elements.\n * @param source the font asset that should be loaded into the `fontFamily` namespace.\n *\n * @return Returns a promise that fulfils when the font has loaded. Often you may want to wrap the\n * method in a `try/catch/finally` to ensure the app continues if the font fails to load.\n */\nexport function loadAsync(\n fontFamilyOrFontMap: string | Record,\n source?: FontSource\n): Promise {\n // NOTE(EvanBacon): Static render pass on web must be synchronous to collect all fonts.\n // Because of this, `loadAsync` doesn't use the `async` keyword and deviates from the\n // standard Expo SDK style guide.\n const isServer = Platform.OS === 'web' && typeof window === 'undefined';\n\n if (typeof fontFamilyOrFontMap === 'object') {\n if (source) {\n return Promise.reject(\n new CodedError(\n `ERR_FONT_API`,\n `No fontFamily can be used for the provided source: ${source}. The second argument of \\`loadAsync()\\` can only be used with a \\`string\\` value as the first argument.`\n )\n );\n }\n const fontMap = fontFamilyOrFontMap;\n const names = Object.keys(fontMap);\n\n if (isServer) {\n names.map((name) => registerStaticFont(name, fontMap[name]));\n return Promise.resolve();\n }\n\n return Promise.all(names.map((name) => loadFontInNamespaceAsync(name, fontMap[name]))).then(\n () => {}\n );\n }\n\n if (isServer) {\n registerStaticFont(fontFamilyOrFontMap, source);\n return Promise.resolve();\n }\n\n return loadFontInNamespaceAsync(fontFamilyOrFontMap, source);\n}\n\nasync function loadFontInNamespaceAsync(\n fontFamily: string,\n source?: FontSource | null\n): Promise {\n if (!source) {\n throw new CodedError(\n `ERR_FONT_SOURCE`,\n `Cannot load null or undefined font source: { \"${fontFamily}\": ${source} }. Expected asset of type \\`FontSource\\` for fontFamily of name: \"${fontFamily}\"`\n );\n }\n\n if (loaded[fontFamily]) {\n return;\n }\n\n if (loadPromises.hasOwnProperty(fontFamily)) {\n return loadPromises[fontFamily];\n }\n\n // Important: we want all callers that concurrently try to load the same font to await the same\n // promise. If we're here, we haven't created the promise yet. To ensure we create only one\n // promise in the program, we need to create the promise synchronously without yielding the event\n // loop from this point.\n\n const asset = getAssetForSource(source);\n loadPromises[fontFamily] = (async () => {\n try {\n await loadSingleFontAsync(fontFamily, asset);\n loaded[fontFamily] = true;\n } finally {\n delete loadPromises[fontFamily];\n }\n })();\n\n await loadPromises[fontFamily];\n}\n\n// @needsAudit\n/**\n * Unloads all the custom fonts. This is used for testing.\n */\nexport async function unloadAllAsync(): Promise {\n if (!ExpoFontLoader.unloadAllAsync) {\n throw new UnavailabilityError('expo-font', 'unloadAllAsync');\n }\n\n if (Object.keys(loadPromises).length) {\n throw new CodedError(\n `ERR_UNLOAD`,\n `Cannot unload fonts while they're still loading: ${Object.keys(loadPromises).join(', ')}`\n );\n }\n\n for (const fontFamily of Object.keys(loaded)) {\n delete loaded[fontFamily];\n }\n\n await ExpoFontLoader.unloadAllAsync();\n}\n\n// @needsAudit\n/**\n * Unload custom fonts matching the `fontFamily`s and display values provided.\n * Because fonts are automatically unloaded on every platform this is mostly used for testing.\n *\n * @param fontFamilyOrFontMap The name or names of the custom fonts that will be unloaded.\n * @param options When `fontFamilyOrFontMap` is a string, this should be the font source used to load\n * the custom font originally.\n */\nexport async function unloadAsync(\n fontFamilyOrFontMap: string | Record,\n options?: UnloadFontOptions\n): Promise {\n if (!ExpoFontLoader.unloadAsync) {\n throw new UnavailabilityError('expo-font', 'unloadAsync');\n }\n if (typeof fontFamilyOrFontMap === 'object') {\n if (options) {\n throw new CodedError(\n `ERR_FONT_API`,\n `No fontFamily can be used for the provided options: ${options}. The second argument of \\`unloadAsync()\\` can only be used with a \\`string\\` value as the first argument.`\n );\n }\n const fontMap = fontFamilyOrFontMap;\n const names = Object.keys(fontMap);\n await Promise.all(names.map((name) => unloadFontInNamespaceAsync(name, fontMap[name])));\n return;\n }\n\n return await unloadFontInNamespaceAsync(fontFamilyOrFontMap, options);\n}\n\nasync function unloadFontInNamespaceAsync(\n fontFamily: string,\n options?: UnloadFontOptions | null\n): Promise {\n if (!loaded[fontFamily]) {\n return;\n } else {\n delete loaded[fontFamily];\n }\n\n // Important: we want all callers that concurrently try to load the same font to await the same\n // promise. If we're here, we haven't created the promise yet. To ensure we create only one\n // promise in the program, we need to create the promise synchronously without yielding the event\n // loop from this point.\n\n const nativeFontName = getNativeFontName(fontFamily);\n\n if (!nativeFontName) {\n throw new CodedError(`ERR_FONT_FAMILY`, `Cannot unload an empty name`);\n }\n\n await ExpoFontLoader.unloadAsync(nativeFontName, options);\n}\n\nexport { FontDisplay, FontSource, FontResource, UnloadFontOptions };\n","import { useEffect, useState } from 'react';\n\nimport { loadAsync, isLoaded } from './Font';\nimport { FontSource } from './Font.types';\n\nfunction isMapLoaded(map: string | Record) {\n if (typeof map === 'string') {\n return isLoaded(map);\n } else {\n return Object.keys(map).every((fontFamily) => isLoaded(fontFamily));\n }\n}\n\nfunction useRuntimeFonts(map: string | Record): [boolean, Error | null] {\n const [loaded, setLoaded] = useState(\n // For web rehydration, we need to check if the fonts are already loaded during the static render.\n // Native will also benefit from this optimization.\n isMapLoaded(map)\n );\n const [error, setError] = useState(null);\n\n useEffect(() => {\n loadAsync(map)\n .then(() => setLoaded(true))\n .catch(setError);\n }, []);\n\n return [loaded, error];\n}\n\nfunction useStaticFonts(map: string | Record): [boolean, Error | null] {\n loadAsync(map);\n return [true, null];\n}\n\n// @needsAudit\n/**\n * ```ts\n * const [loaded, error] = useFonts({ ... });\n * ```\n * Load a map of fonts with [`loadAsync`](#loadasyncfontfamilyorfontmap-source). This returns a `boolean` if the fonts are\n * loaded and ready to use. It also returns an error if something went wrong, to use in development.\n *\n * > Note, the fonts are not \"reloaded\" when you dynamically change the font map.\n *\n * @param map A map of `fontFamily`s to [`FontSource`](#fontsource)s. After loading the font you can\n * use the key in the `fontFamily` style prop of a `Text` element.\n *\n * @return\n * - __loaded__ (`boolean`) - A boolean to detect if the font for `fontFamily` has finished\n * loading.\n * - __error__ (`Error | null`) - An error encountered when loading the fonts.\n */\nexport const useFonts: (map: string | Record) => [boolean, Error | null] =\n typeof window === 'undefined' ? useStaticFonts : useRuntimeFonts;\n","import { PermissionResponse, PermissionStatus, Platform } from 'expo-modules-core';\n\nimport {\n ImagePickerAsset,\n ImagePickerResult,\n MediaTypeOptions,\n OpenFileBrowserOptions,\n} from './ImagePicker.types';\n\nconst MediaTypeInput = {\n [MediaTypeOptions.All]: 'video/mp4,video/quicktime,video/x-m4v,video/*,image/*',\n [MediaTypeOptions.Images]: 'image/*',\n [MediaTypeOptions.Videos]: 'video/mp4,video/quicktime,video/x-m4v,video/*',\n};\n\nexport default {\n async launchImageLibraryAsync({\n mediaTypes = MediaTypeOptions.Images,\n allowsMultipleSelection = false,\n base64 = false,\n }): Promise {\n // SSR guard\n if (!Platform.isDOMAvailable) {\n return { canceled: true, assets: null };\n }\n return await openFileBrowserAsync({\n mediaTypes,\n allowsMultipleSelection,\n base64,\n });\n },\n\n async launchCameraAsync({\n mediaTypes = MediaTypeOptions.Images,\n allowsMultipleSelection = false,\n base64 = false,\n }): Promise {\n // SSR guard\n if (!Platform.isDOMAvailable) {\n return { canceled: true, assets: null };\n }\n return await openFileBrowserAsync({\n mediaTypes,\n allowsMultipleSelection,\n capture: true,\n base64,\n });\n },\n\n /*\n * Delegate to expo-permissions to request camera permissions\n */\n async getCameraPermissionsAsync() {\n return permissionGrantedResponse();\n },\n async requestCameraPermissionsAsync() {\n return permissionGrantedResponse();\n },\n\n /*\n * Camera roll permissions don't need to be requested on web, so we always\n * respond with granted.\n */\n async getMediaLibraryPermissionsAsync(_writeOnly: boolean) {\n return permissionGrantedResponse();\n },\n async requestMediaLibraryPermissionsAsync(_writeOnly: boolean): Promise {\n return permissionGrantedResponse();\n },\n};\n\nfunction permissionGrantedResponse(): PermissionResponse {\n return {\n status: PermissionStatus.GRANTED,\n expires: 'never',\n granted: true,\n canAskAgain: true,\n };\n}\n\nfunction openFileBrowserAsync({\n mediaTypes,\n capture = false,\n allowsMultipleSelection = false,\n base64,\n}: OpenFileBrowserOptions): Promise {\n const mediaTypeFormat = MediaTypeInput[mediaTypes];\n\n const input = document.createElement('input');\n input.style.display = 'none';\n input.setAttribute('type', 'file');\n input.setAttribute('accept', mediaTypeFormat);\n input.setAttribute('id', String(Math.random()));\n if (allowsMultipleSelection) {\n input.setAttribute('multiple', 'multiple');\n }\n if (capture) {\n input.setAttribute('capture', 'camera');\n }\n document.body.appendChild(input);\n\n return new Promise((resolve) => {\n input.addEventListener('change', async () => {\n if (input.files) {\n const files = allowsMultipleSelection ? input.files : [input.files[0]];\n const assets: ImagePickerAsset[] = await Promise.all(\n Array.from(files).map((file) => readFile(file, { base64 }))\n );\n\n resolve({ canceled: false, assets });\n } else {\n resolve({ canceled: true, assets: null });\n }\n document.body.removeChild(input);\n });\n\n const event = new MouseEvent('click');\n input.dispatchEvent(event);\n });\n}\n\nfunction readFile(targetFile: File, options: { base64: boolean }): Promise {\n return new Promise((resolve, reject) => {\n const reader = new FileReader();\n reader.onerror = () => {\n reject(new Error(`Failed to read the selected media because the operation failed.`));\n };\n reader.onload = ({ target }) => {\n const uri = (target as any).result;\n const returnRaw = () => resolve({ uri, width: 0, height: 0 });\n\n if (typeof uri === 'string') {\n const image = new Image();\n image.src = uri;\n\n image.onload = () => {\n resolve({\n uri,\n width: image.naturalWidth ?? image.width,\n height: image.naturalHeight ?? image.height,\n mimeType: targetFile.type,\n fileName: targetFile.name,\n // The blob's result cannot be directly decoded as Base64 without\n // first removing the Data-URL declaration preceding the\n // Base64-encoded data. To retrieve only the Base64 encoded string,\n // first remove data:*/*;base64, from the result.\n // https://developer.mozilla.org/en-US/docs/Web/API/FileReader/readAsDataURL\n ...(options.base64 && { base64: uri.substr(uri.indexOf(',') + 1) }),\n });\n };\n image.onerror = () => returnRaw();\n } else {\n returnRaw();\n }\n };\n\n reader.readAsDataURL(targetFile);\n });\n}\n","import {\n PermissionStatus,\n PermissionExpiration,\n PermissionHookOptions,\n PermissionResponse,\n createPermissionHook,\n UnavailabilityError,\n CodedError,\n} from 'expo-modules-core';\n\nimport ExponentImagePicker from './ExponentImagePicker';\nimport {\n CameraPermissionResponse,\n MediaLibraryPermissionResponse,\n ImagePickerResult,\n ImagePickerErrorResult,\n ImagePickerOptions,\n} from './ImagePicker.types';\n\nfunction validateOptions(options: ImagePickerOptions) {\n const { aspect, quality, videoMaxDuration } = options;\n\n if (aspect != null) {\n const [x, y] = aspect;\n\n if (x <= 0 || y <= 0) {\n throw new CodedError(\n 'ERR_INVALID_ARGUMENT',\n `Invalid aspect ratio values ${x}:${y}. Provide positive numbers.`\n );\n }\n }\n\n if (quality && (quality < 0 || quality > 1)) {\n throw new CodedError(\n 'ERR_INVALID_ARGUMENT',\n `Invalid 'quality' value ${quality}. Provide a value between 0 and 1.`\n );\n }\n\n if (videoMaxDuration && videoMaxDuration < 0) {\n throw new CodedError(\n 'ERR_INVALID_ARGUMENT',\n `Invalid 'videoMaxDuration' value ${videoMaxDuration}. Provide a non-negative number.`\n );\n }\n\n return options;\n}\n\n// @needsAudit\n/**\n * Checks user's permissions for accessing camera.\n * @return A promise that fulfills with an object of type [CameraPermissionResponse](#camerapermissionresponse).\n */\nexport async function getCameraPermissionsAsync(): Promise {\n return ExponentImagePicker.getCameraPermissionsAsync();\n}\n\n// @needsAudit\n/**\n * Checks user's permissions for accessing photos.\n * @param writeOnly Whether to request write or read and write permissions. Defaults to `false`\n * @return A promise that fulfills with an object of type [MediaLibraryPermissionResponse](#medialibrarypermissionresponse).\n */\nexport async function getMediaLibraryPermissionsAsync(\n writeOnly: boolean = false\n): Promise {\n return ExponentImagePicker.getMediaLibraryPermissionsAsync(writeOnly);\n}\n\n// @needsAudit\n/**\n * Asks the user to grant permissions for accessing camera. This does nothing on web because the\n * browser camera is not used.\n * @return A promise that fulfills with an object of type [CameraPermissionResponse](#camerarollpermissionresponse).\n */\nexport async function requestCameraPermissionsAsync(): Promise {\n return ExponentImagePicker.requestCameraPermissionsAsync();\n}\n\n// @needsAudit\n/**\n * Asks the user to grant permissions for accessing user's photo. This method does nothing on web.\n * @param writeOnly Whether to request write or read and write permissions. Defaults to `false`\n * @return A promise that fulfills with an object of type [MediaLibraryPermissionResponse](#medialibrarypermissionresponse).\n */\nexport async function requestMediaLibraryPermissionsAsync(\n writeOnly: boolean = false\n): Promise {\n const imagePickerMethod = ExponentImagePicker.requestMediaLibraryPermissionsAsync;\n return imagePickerMethod(writeOnly);\n}\n\n// @needsAudit\n/**\n * Check or request permissions to access the media library.\n * This uses both `requestMediaLibraryPermissionsAsync` and `getMediaLibraryPermissionsAsync` to interact with the permissions.\n *\n * @example\n * ```ts\n * const [status, requestPermission] = ImagePicker.useMediaLibraryPermissions();\n * ```\n */\nexport const useMediaLibraryPermissions = createPermissionHook<\n MediaLibraryPermissionResponse,\n { writeOnly?: boolean }\n>({\n // TODO(cedric): permission requesters should have an options param or a different requester\n getMethod: (options) => getMediaLibraryPermissionsAsync(options?.writeOnly),\n requestMethod: (options) => requestMediaLibraryPermissionsAsync(options?.writeOnly),\n});\n\n// @needsAudit\n/**\n * Check or request permissions to access the camera.\n * This uses both `requestCameraPermissionsAsync` and `getCameraPermissionsAsync` to interact with the permissions.\n *\n * @example\n * ```ts\n * const [status, requestPermission] = ImagePicker.useCameraPermissions();\n * ```\n */\nexport const useCameraPermissions = createPermissionHook({\n getMethod: getCameraPermissionsAsync,\n requestMethod: requestCameraPermissionsAsync,\n});\n\n// @needsAudit\n/**\n * Android system sometimes kills the `MainActivity` after the `ImagePicker` finishes. When this\n * happens, we lost the data selected from the `ImagePicker`. However, you can retrieve the lost\n * data by calling `getPendingResultAsync`. You can test this functionality by turning on\n * `Don't keep activities` in the developer options.\n * @return\n * - **On Android:** a promise that resolves to an array of objects of exactly same type as in\n * `ImagePicker.launchImageLibraryAsync` or `ImagePicker.launchCameraAsync` if the `ImagePicker`\n * finished successfully. Otherwise, to the array of [`ImagePickerErrorResult`](#imagepickerimagepickererrorresult).\n * - **On other platforms:** an empty array.\n */\nexport async function getPendingResultAsync(): Promise<\n (ImagePickerResult | ImagePickerErrorResult)[]\n> {\n if (ExponentImagePicker.getPendingResultAsync) {\n return ExponentImagePicker.getPendingResultAsync();\n }\n return [];\n}\n\n// @needsAudit\n/**\n * Display the system UI for taking a photo with the camera. Requires `Permissions.CAMERA`.\n * On Android and iOS 10 `Permissions.CAMERA_ROLL` is also required. On mobile web, this must be\n * called immediately in a user interaction like a button press, otherwise the browser will block\n * the request without a warning.\n * > **Note:** Make sure that you handle `MainActivity` destruction on **Android**. See [ImagePicker.getPendingResultAsync](#imagepickergetpendingresultasync).\n * > **Notes for Web:** The system UI can only be shown after user activation (e.g. a `Button` press).\n * Therefore, calling `launchCameraAsync` in `componentDidMount`, for example, will **not** work as\n * intended. The `cancelled` event will not be returned in the browser due to platform restrictions\n * and inconsistencies across browsers.\n * @param options An `ImagePickerOptions` object.\n * @return A promise that resolves to an object with `canceled` and `assets` fields.\n * When the user canceled the action the `assets` is always `null`, otherwise it's an array of\n * the selected media assets which have a form of [`ImagePickerAsset`](#imagepickerasset).\n */\nexport async function launchCameraAsync(\n options: ImagePickerOptions = {}\n): Promise {\n if (!ExponentImagePicker.launchCameraAsync) {\n throw new UnavailabilityError('ImagePicker', 'launchCameraAsync');\n }\n return await ExponentImagePicker.launchCameraAsync(validateOptions(options));\n}\n\n// @needsAudit\n/**\n * Display the system UI for choosing an image or a video from the phone's library.\n * Requires `Permissions.MEDIA_LIBRARY` on iOS 10 only. On mobile web, this must be called\n * immediately in a user interaction like a button press, otherwise the browser will block the\n * request without a warning.\n *\n * **Animated GIFs support:** On Android, if the selected image is an animated GIF, the result image will be an\n * animated GIF too if and only if `quality` is explicitly set to `1.0` and `allowsEditing` is set to `false`.\n * Otherwise compression and/or cropper will pick the first frame of the GIF and return it as the\n * result (on Android the result will be a PNG). On iOS, both quality and cropping are supported.\n *\n * > **Notes for Web:** The system UI can only be shown after user activation (e.g. a `Button` press).\n * Therefore, calling `launchImageLibraryAsync` in `componentDidMount`, for example, will **not**\n * work as intended. The `cancelled` event will not be returned in the browser due to platform\n * restrictions and inconsistencies across browsers.\n * @param options An object extended by [`ImagePickerOptions`](#imagepickeroptions).\n * @return A promise that resolves to an object with `canceled` and `assets` fields.\n * When the user canceled the action the `assets` is always `null`, otherwise it's an array of\n * the selected media assets which have a form of [`ImagePickerAsset`](#imagepickerasset).\n */\nexport async function launchImageLibraryAsync(\n options?: ImagePickerOptions\n): Promise {\n if (!ExponentImagePicker.launchImageLibraryAsync) {\n throw new UnavailabilityError('ImagePicker', 'launchImageLibraryAsync');\n }\n if (options?.allowsEditing && options.allowsMultipleSelection) {\n console.warn(\n '[expo-image-picker] `allowsEditing` is not supported when `allowsMultipleSelection` is enabled and will be ignored.' +\n \"Disable either 'allowsEditing' or 'allowsMultipleSelection' in 'launchImageLibraryAsync' \" +\n 'to fix this warning.'\n );\n }\n return await ExponentImagePicker.launchImageLibraryAsync(options ?? {});\n}\n\nexport * from './ImagePicker.types';\n\nexport type { PermissionExpiration, PermissionHookOptions, PermissionResponse };\nexport { PermissionStatus };\n","import { PermissionResponse } from 'expo-modules-core';\n\n// @needsAudit\n/**\n * Alias for `PermissionResponse` type exported by `expo-modules-core`.\n */\nexport type CameraPermissionResponse = PermissionResponse;\n\n// @needsAudit\n/**\n * Extends `PermissionResponse` type exported by `expo-modules-core`, containing additional iOS-specific field.\n */\nexport type MediaLibraryPermissionResponse = PermissionResponse & {\n /**\n * Indicates if your app has access to the whole or only part of the photo library. Possible values are:\n * - `'all'` if the user granted your app access to the whole photo library\n * - `'limited'` if the user granted your app access only to selected photos (only available on Android API 34+ and iOS 14.0+)\n * - `'none'` if user denied or hasn't yet granted the permission\n */\n accessPrivileges?: 'all' | 'limited' | 'none';\n};\n\n// @needsAudit\nexport enum MediaTypeOptions {\n /**\n * Images and videos.\n */\n All = 'All',\n /**\n * Only videos.\n */\n Videos = 'Videos',\n /**\n * Only images.\n */\n Images = 'Images',\n}\n\n// @needsAudit\nexport enum VideoExportPreset {\n /**\n * Resolution: __Unchanged__ •\n * Video compression: __None__ •\n * Audio compression: __None__\n */\n Passthrough = 0,\n /**\n * Resolution: __Depends on the device__ •\n * Video compression: __H.264__ •\n * Audio compression: __AAC__\n */\n LowQuality = 1,\n /**\n * Resolution: __Depends on the device__ •\n * Video compression: __H.264__ •\n * Audio compression: __AAC__\n */\n MediumQuality = 2,\n /**\n * Resolution: __Depends on the device__ •\n * Video compression: __H.264__ •\n * Audio compression: __AAC__\n */\n HighestQuality = 3,\n /**\n * Resolution: __640 × 480__ •\n * Video compression: __H.264__ •\n * Audio compression: __AAC__\n */\n H264_640x480 = 4,\n /**\n * Resolution: __960 × 540__ •\n * Video compression: __H.264__ •\n * Audio compression: __AAC__\n */\n H264_960x540 = 5,\n /**\n * Resolution: __1280 × 720__ •\n * Video compression: __H.264__ •\n * Audio compression: __AAC__\n */\n H264_1280x720 = 6,\n /**\n * Resolution: __1920 × 1080__ •\n * Video compression: __H.264__ •\n * Audio compression: __AAC__\n */\n H264_1920x1080 = 7,\n /**\n * Resolution: __3840 × 2160__ •\n * Video compression: __H.264__ •\n * Audio compression: __AAC__\n */\n H264_3840x2160 = 8,\n /**\n * Resolution: __1920 × 1080__ •\n * Video compression: __HEVC__ •\n * Audio compression: __AAC__\n */\n HEVC_1920x1080 = 9,\n /**\n * Resolution: __3840 × 2160__ •\n * Video compression: __HEVC__ •\n * Audio compression: __AAC__\n */\n HEVC_3840x2160 = 10,\n}\n\n// @needsAudit\nexport enum UIImagePickerControllerQualityType {\n /**\n * Highest available resolution.\n */\n High = 0,\n /**\n * Depends on the device.\n */\n Medium = 1,\n /**\n * Depends on the device.\n */\n Low = 2,\n /**\n * 640 × 480\n */\n VGA640x480 = 3,\n /**\n * 1280 × 720\n */\n IFrame1280x720 = 4,\n /**\n * 960 × 540\n */\n IFrame960x540 = 5,\n}\n\n/**\n * Picker presentation style. Its values are directly mapped to the [`UIModalPresentationStyle`](https://developer.apple.com/documentation/uikit/uiviewcontroller/1621355-modalpresentationstyle).\n *\n * @platform ios\n */\nexport enum UIImagePickerPresentationStyle {\n /**\n * A presentation style in which the presented picker covers the screen.\n */\n FULL_SCREEN = 'fullScreen',\n /**\n * A presentation style that partially covers the underlying content.\n */\n PAGE_SHEET = 'pageSheet',\n /**\n * A presentation style that displays the picker centered in the screen.\n */\n FORM_SHEET = 'formSheet',\n /**\n * A presentation style where the picker is displayed over the app's content.\n */\n CURRENT_CONTEXT = 'currentContext',\n /**\n * A presentation style in which the picker view covers the screen.\n */\n OVER_FULL_SCREEN = 'overFullScreen',\n /**\n * A presentation style where the picker is displayed over the app's content.\n */\n OVER_CURRENT_CONTEXT = 'overCurrentContext',\n /**\n * A presentation style where the picker is displayed in a popover view.\n */\n POPOVER = 'popover',\n /**\n * The default presentation style chosen by the system.\n * On older iOS versions, falls back to `WebBrowserPresentationStyle.FullScreen`.\n *\n * @platform ios\n */\n AUTOMATIC = 'automatic',\n}\n\n/**\n * Picker preferred asset representation mode. Its values are directly mapped to the [`PHPickerConfigurationAssetRepresentationMode`](https://developer.apple.com/documentation/photokit/phpickerconfigurationassetrepresentationmode).\n *\n * @platform ios\n */\nexport enum UIImagePickerPreferredAssetRepresentationMode {\n /**\n * A mode that indicates that the system chooses the appropriate asset representation.\n */\n Automatic = 'automatic',\n /**\n * A mode that uses the most compatible asset representation.\n */\n Compatible = 'compatible',\n /**\n * A mode that uses the current representation to avoid transcoding, if possible.\n */\n Current = 'current',\n}\n\nexport enum CameraType {\n /**\n * Back/rear camera.\n */\n back = 'back',\n /**\n * Front camera\n */\n front = 'front',\n}\n\n/**\n * @hidden\n * @deprecated Use `ImagePickerAsset` instead\n */\nexport type ImageInfo = ImagePickerAsset;\n\n/**\n * Represents an asset (image or video) returned by the image picker or camera.\n */\nexport type ImagePickerAsset = {\n /**\n * URI to the local image or video file (usable as the source of an `Image` element, in the case of\n * an image) and `width` and `height` specify the dimensions of the media.\n */\n uri: string;\n /**\n * The unique ID that represents the picked image or video, if picked from the library. It can be used\n * by [expo-media-library](./media-library) to manage the picked asset.\n *\n * > This might be `null` when the ID is unavailable or the user gave limited permission to access the media library.\n * > On Android, the ID is unavailable when the user selects a photo by directly browsing file system.\n *\n * @platform ios\n * @platform android\n */\n assetId?: string | null;\n /**\n * Width of the image or video.\n */\n width: number;\n /**\n * Height of the image or video.\n */\n height: number;\n /**\n * The type of the asset.\n */\n type?: 'image' | 'video';\n /**\n * Preferred filename to use when saving this item. This might be `null` when the name is unavailable\n * or user gave limited permission to access the media library.\n *\n */\n fileName?: string | null;\n /**\n * File size of the picked image or video, in bytes.\n *\n */\n fileSize?: number;\n /**\n * The `exif` field is included if the `exif` option is truthy, and is an object containing the\n * image's EXIF data. The names of this object's properties are EXIF tags and the values are the\n * respective EXIF values for those tags.\n */\n exif?: Record | null;\n /**\n * When the `base64` option is truthy, it is a Base64-encoded string of the selected image's JPEG data, otherwise `null`.\n * If you prepend this with `'data:image/jpeg;base64,'` to create a data URI,\n * you can use it as the source of an `Image` element; for example:\n * ```ts\n * \n * ```\n */\n base64?: string | null;\n /**\n * Length of the video in milliseconds or `null` if the asset is not a video.\n */\n duration?: number | null;\n /**\n * The MIME type of the selected asset or `null` if could not be determined.\n */\n mimeType?: string;\n};\n\n// @needsAudit\nexport type ImagePickerErrorResult = {\n /**\n * The error code.\n */\n code: string;\n /**\n * The error message.\n */\n message: string;\n /**\n * The exception which caused the error.\n */\n exception?: string;\n};\n\n// @needsAudit\n/**\n * Type representing successful and canceled pick result.\n */\nexport type ImagePickerResult = ImagePickerSuccessResult | ImagePickerCanceledResult;\n\n/**\n * Type representing successful pick result.\n */\nexport type ImagePickerSuccessResult = {\n /**\n * Boolean flag set to `false` showing that the request was successful.\n */\n canceled: false;\n /**\n * An array of picked assets.\n */\n assets: ImagePickerAsset[];\n};\n\n/**\n * Type representing canceled pick result.\n */\nexport type ImagePickerCanceledResult = {\n /**\n * Boolean flag set to `true` showing that the request was canceled.\n */\n canceled: true;\n /**\n * `null` signifying that the request was canceled.\n */\n assets: null;\n};\n\n/**\n * @hidden\n * @deprecated Use `ImagePickerResult` instead.\n */\nexport type ImagePickerCancelledResult = ImagePickerCanceledResult;\n\n/**\n * @hidden\n * @deprecated `ImagePickerMultipleResult` has been deprecated in favor of `ImagePickerResult`.\n */\nexport type ImagePickerMultipleResult = ImagePickerResult;\n\n// @needsAudit\nexport type ImagePickerOptions = {\n /**\n * Whether to show a UI to edit the image after it is picked. On Android the user can crop and\n * rotate the image and on iOS simply crop it.\n *\n * > - Cropping multiple images is not supported - this option is mutually exclusive with `allowsMultipleSelection`.\n * > - On iOS, this option is ignored if `allowsMultipleSelection` is enabled.\n * > - On iOS cropping a `.bmp` image will convert it to `.png`.\n *\n * @default false\n * @platform ios\n * @platform android\n */\n allowsEditing?: boolean;\n /**\n * An array with two entries `[x, y]` specifying the aspect ratio to maintain if the user is\n * allowed to edit the image (by passing `allowsEditing: true`). This is only applicable on\n * Android, since on iOS the crop rectangle is always a square.\n */\n aspect?: [number, number];\n /**\n * Specify the quality of compression, from `0` to `1`. `0` means compress for small size,\n * `1` means compress for maximum quality.\n * > Note: If the selected image has been compressed before, the size of the output file may be\n * > bigger than the size of the original image.\n *\n * > Note: On iOS, if a `.bmp` or `.png` image is selected from the library, this option is ignored.\n *\n * @default 0.2\n * @platform ios\n * @platform android\n */\n quality?: number;\n /**\n * Choose what type of media to pick.\n * @default ImagePicker.MediaTypeOptions.Images\n */\n mediaTypes?: MediaTypeOptions;\n /**\n * Whether to also include the EXIF data for the image. On iOS the EXIF data does not include GPS\n * tags in the camera case.\n */\n exif?: boolean;\n /**\n * Whether to also include the image data in Base64 format.\n */\n base64?: boolean;\n /**\n * Specify preset which will be used to compress selected video.\n * @default ImagePicker.VideoExportPreset.Passthrough\n * @platform ios 11+\n * @deprecated See [`videoExportPreset`](https://developer.apple.com/documentation/uikit/uiimagepickercontroller/2890964-videoexportpreset?language=objc)\n * in Apple documentation.\n */\n videoExportPreset?: VideoExportPreset;\n /**\n * Specify the quality of recorded videos. Defaults to the highest quality available for the device.\n * @default ImagePicker.UIImagePickerControllerQualityType.High\n * @platform ios\n */\n videoQuality?: UIImagePickerControllerQualityType;\n /**\n * Whether or not to allow selecting multiple media files at once.\n *\n * > Cropping multiple images is not supported - this option is mutually exclusive with `allowsEditing`.\n * > If this option is enabled, then `allowsEditing` is ignored.\n *\n * @default false\n * @platform ios 14+\n * @platform android\n * @platform web\n */\n allowsMultipleSelection?: boolean;\n /**\n * The maximum number of items that user can select. Applicable when `allowsMultipleSelection` is enabled.\n * Setting the value to `0` sets the selection limit to the maximum that the system supports.\n *\n * @platform ios 14+\n * @platform android\n * @default 0\n */\n selectionLimit?: number;\n /**\n * Whether to display number badges when assets are selected. The badges are numbered\n * in selection order. Assets are then returned in the exact same order they were selected.\n *\n * > Assets should be returned in the selection order regardless of this option,\n * > but there is no guarantee that it is always true when this option is disabled.\n *\n * @platform ios 15+\n * @default false\n */\n orderedSelection?: boolean;\n /**\n * Maximum duration, in seconds, for video recording. Setting this to `0` disables the limit.\n * Defaults to `0` (no limit).\n * - **On iOS**, when `allowsEditing` is set to `true`, maximum duration is limited to 10 minutes.\n * This limit is applied automatically, if `0` or no value is specified.\n * - **On Android**, effect of this option depends on support of installed camera app.\n * - **On Web** this option has no effect - the limit is browser-dependant.\n */\n videoMaxDuration?: number;\n /**\n * Choose [presentation style](https://developer.apple.com/documentation/uikit/uiviewcontroller/1621355-modalpresentationstyle?language=objc)\n * to customize view during taking photo/video.\n * @default ImagePicker.UIImagePickerPresentationStyle.Automatic\n * @platform ios\n */\n presentationStyle?: UIImagePickerPresentationStyle;\n /**\n * Selects the camera-facing type. The `CameraType` enum provides two options:\n * `front` for the front-facing camera and `back` for the back-facing camera.\n * - **On Android**, the behavior of this option may vary based on the camera app installed on the device.\n * @default CameraType.back\n * @platform ios\n * @platform android\n */\n cameraType?: CameraType;\n /**\n * Choose [preferred asset representation mode](https://developer.apple.com/documentation/photokit/phpickerconfigurationassetrepresentationmode)\n * to use when loading assets.\n * @default ImagePicker.UIImagePickerPreferredAssetRepresentationMode.Automatic\n * @platform ios 14+\n */\n preferredAssetRepresentationMode?: UIImagePickerPreferredAssetRepresentationMode;\n /**\n * Uses the legacy image picker on Android. This will allow media to be selected from outside the users photo library.\n * @platform android\n * @default false\n */\n legacy?: boolean;\n};\n\n// @needsAudit\nexport type OpenFileBrowserOptions = {\n /**\n * Choose what type of media to pick.\n * @default ImagePicker.MediaTypeOptions.Images\n */\n mediaTypes: MediaTypeOptions;\n // @docsMissing\n capture?: boolean;\n /**\n * Whether or not to allow selecting multiple media files at once.\n * @platform web\n */\n allowsMultipleSelection: boolean;\n /**\n * Whether to also include the image data in Base64 format.\n */\n base64: boolean;\n};\n\n/**\n * @hidden\n * @deprecated Use `ImagePickerResult` or `OpenFileBrowserOptions` instead.\n */\nexport type ExpandImagePickerResult =\n T extends {\n allowsMultipleSelection: true;\n }\n ? ImagePickerResult\n : ImagePickerResult;\n","// Copyright © 2024 650 Industries.\n\n'use client';\n\nimport { useCallback, useEffect, useRef, useState } from 'react';\n\nimport { PermissionResponse } from './PermissionsInterface';\n\n// These types are identical, but improves the readability for suggestions in editors\ntype RequestPermissionMethod = () => Promise;\ntype GetPermissionMethod = () => Promise;\n\ninterface PermissionHookMethods {\n /** The permission method that requests the user to grant permission. */\n requestMethod: (options?: Options) => Promise;\n /** The permission method that only fetches the current permission status. */\n getMethod: (options?: Options) => Promise;\n}\n\ninterface PermissionHookBehavior {\n /** If the hook should automatically fetch the current permission status, without asking the user. */\n get?: boolean;\n /** If the hook should automatically request the user to grant permission. */\n request?: boolean;\n}\n\nexport type PermissionHookOptions = PermissionHookBehavior & Options;\n\n/**\n * Get or request permission for protected functionality within the app.\n * It uses separate permission requesters to interact with a single permission.\n * By default, the hook will only retrieve the permission status.\n */\nfunction usePermission(\n methods: PermissionHookMethods,\n options?: PermissionHookOptions\n): [Permission | null, RequestPermissionMethod, GetPermissionMethod] {\n const isMounted = useRef(true);\n const [status, setStatus] = useState(null);\n const { get = true, request = false, ...permissionOptions } = options || {};\n\n const getPermission = useCallback(async () => {\n const response = await methods.getMethod(\n Object.keys(permissionOptions).length > 0 ? (permissionOptions as Options) : undefined\n );\n if (isMounted.current) setStatus(response);\n return response;\n }, [methods.getMethod]);\n\n const requestPermission = useCallback(async () => {\n const response = await methods.requestMethod(\n Object.keys(permissionOptions).length > 0 ? (permissionOptions as Options) : undefined\n );\n if (isMounted.current) setStatus(response);\n return response;\n }, [methods.requestMethod]);\n\n useEffect(\n function runMethods() {\n if (request) requestPermission();\n if (!request && get) getPermission();\n },\n [get, request, requestPermission, getPermission]\n );\n\n // Workaround for unmounting components receiving state updates\n useEffect(function didMount() {\n isMounted.current = true;\n return () => {\n isMounted.current = false;\n };\n }, []);\n\n return [status, requestPermission, getPermission];\n}\n\n/**\n * Create a new permission hook with the permission methods built-in.\n * This can be used to quickly create specific permission hooks in every module.\n */\nexport function createPermissionHook(\n methods: PermissionHookMethods\n) {\n return (options?: PermissionHookOptions) =>\n usePermission(methods, options);\n}\n","export enum PermissionStatus {\n /**\n * User has granted the permission.\n */\n GRANTED = 'granted',\n /**\n * User hasn't granted or denied the permission yet.\n */\n UNDETERMINED = 'undetermined',\n /**\n * User has denied the permission.\n */\n DENIED = 'denied',\n}\n\n/**\n * Permission expiration time. Currently, all permissions are granted permanently.\n */\nexport type PermissionExpiration = 'never' | number;\n\n/**\n * An object obtained by permissions get and request functions.\n */\nexport interface PermissionResponse {\n /**\n * Determines the status of the permission.\n */\n status: PermissionStatus;\n /**\n * Determines time when the permission expires.\n */\n expires: PermissionExpiration;\n /**\n * A convenience boolean that indicates if the permission is granted.\n */\n granted: boolean;\n /**\n * Indicates if user can be asked again for specific permission.\n * If not, one should be directed to the Settings app\n * in order to enable/disable the permission.\n */\n canAskAgain: boolean;\n}\n","declare global {\n // Add IE-specific interface to Window\n interface Window {\n attachEvent(event: string, listener: EventListener): boolean;\n }\n}\n\n// Used for delegating node actions when browser APIs aren't available\n// like in SSR websites.\nexport const isDOMAvailable = typeof window !== 'undefined' && !!window.document?.createElement;\nexport const canUseEventListeners =\n isDOMAvailable && !!(window.addEventListener || window.attachEvent);\nexport const canUseViewport = isDOMAvailable && !!window.screen;\nexport const isAsyncDebugging = false;\n","import { Platform as ReactNativePlatform, PlatformOSType } from 'react-native';\n\nimport {\n isDOMAvailable,\n canUseEventListeners,\n canUseViewport,\n isAsyncDebugging,\n} from './environment/browser';\n\nexport type PlatformSelectOSType = PlatformOSType | 'native' | 'electron' | 'default';\n\nexport type PlatformSelect = (specifics: { [platform in PlatformSelectOSType]?: T }) => T;\n\nconst Platform = {\n /**\n * Denotes the currently running platform.\n * Can be one of ios, android, web.\n */\n OS: ReactNativePlatform.OS,\n /**\n * Returns the value with the matching platform.\n * Object keys can be any of ios, android, native, web, default.\n *\n * @ios ios, native, default\n * @android android, native, default\n * @web web, default\n */\n select: ReactNativePlatform.select as PlatformSelect,\n /**\n * Denotes if the DOM API is available in the current environment.\n * The DOM is not available in native React runtimes and Node.js.\n */\n isDOMAvailable,\n /**\n * Denotes if the current environment can attach event listeners\n * to the window. This will return false in native React\n * runtimes and Node.js.\n */\n canUseEventListeners,\n /**\n * Denotes if the current environment can inspect properties of the\n * screen on which the current window is being rendered. This will\n * return false in native React runtimes and Node.js.\n */\n canUseViewport,\n /**\n * If the JavaScript is being executed in a remote JavaScript environment.\n * When `true`, synchronous native invocations cannot be executed.\n */\n isAsyncDebugging,\n};\n\nexport default Platform;\n","function _isNativeReflectConstruct() {\n try {\n var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {}));\n } catch (t) {}\n return (_isNativeReflectConstruct = function _isNativeReflectConstruct() {\n return !!t;\n })();\n}\nexport { _isNativeReflectConstruct as default };","import getPrototypeOf from \"./getPrototypeOf.js\";\nimport setPrototypeOf from \"./setPrototypeOf.js\";\nimport isNativeFunction from \"./isNativeFunction.js\";\nimport construct from \"./construct.js\";\nfunction _wrapNativeSuper(t) {\n var r = \"function\" == typeof Map ? new Map() : void 0;\n return _wrapNativeSuper = function _wrapNativeSuper(t) {\n if (null === t || !isNativeFunction(t)) return t;\n if (\"function\" != typeof t) throw new TypeError(\"Super expression must either be null or a function\");\n if (void 0 !== r) {\n if (r.has(t)) return r.get(t);\n r.set(t, Wrapper);\n }\n function Wrapper() {\n return construct(t, arguments, getPrototypeOf(this).constructor);\n }\n return Wrapper.prototype = Object.create(t.prototype, {\n constructor: {\n value: Wrapper,\n enumerable: !1,\n writable: !0,\n configurable: !0\n }\n }), setPrototypeOf(Wrapper, t);\n }, _wrapNativeSuper(t);\n}\nexport { _wrapNativeSuper as default };","function _isNativeFunction(t) {\n try {\n return -1 !== Function.toString.call(t).indexOf(\"[native code]\");\n } catch (n) {\n return \"function\" == typeof t;\n }\n}\nexport { _isNativeFunction as default };","import isNativeReflectConstruct from \"./isNativeReflectConstruct.js\";\nimport setPrototypeOf from \"./setPrototypeOf.js\";\nfunction _construct(t, e, r) {\n if (isNativeReflectConstruct()) return Reflect.construct.apply(null, arguments);\n var o = [null];\n o.push.apply(o, e);\n var p = new (t.bind.apply(t, o))();\n return r && setPrototypeOf(p, r.prototype), p;\n}\nexport { _construct as default };","/**\n * A general error class that should be used for all errors in Expo modules.\n * Guarantees a `code` field that can be used to differentiate between different\n * types of errors without further subclassing Error.\n */\nexport class CodedError extends Error {\n code: string;\n info?: any;\n\n constructor(code: string, message: string) {\n super(message);\n this.code = code;\n }\n}\n","import { CodedError } from './CodedError';\nimport Platform from '../Platform';\n\n/**\n * A class for errors to be thrown when a property is accessed which is\n * unavailable, unsupported, or not currently implemented on the running\n * platform.\n */\nexport class UnavailabilityError extends CodedError {\n constructor(moduleName: string, propertyName: string) {\n super(\n 'ERR_UNAVAILABLE',\n `The method or property ${moduleName}.${propertyName} is not available on ${Platform.OS}, are you sure you've linked all the native dependencies properly?`\n );\n }\n}\n","export function setStatusBarBackgroundColor() {}\nexport function setStatusBarNetworkActivityIndicatorVisible() {}\nexport function setStatusBarHidden() {}\nexport function setStatusBarStyle() {}\nexport function setStatusBarTranslucent() {}\nexport function StatusBar() {\n return null;\n}\n","import { Platform, PixelRatio, Dimensions } from 'react-native';\nimport type { IUseDetectDevice } from './model';\n\nconst { width, height } = Dimensions.get('window');\n\nconst isTablet = () => {\n let pixelDensity = PixelRatio.get();\n const adjustedWidth = width * pixelDensity;\n const adjustedHeight = height * pixelDensity;\n if (pixelDensity < 2 && (adjustedWidth >= 1000 || adjustedHeight >= 1000)) {\n return true;\n } else {\n return (\n pixelDensity === 2 && (adjustedWidth >= 1824 || adjustedHeight >= 1824)\n );\n }\n};\n\nconst useDetectDevice: IUseDetectDevice = {\n isAndroid: Platform.OS === 'android',\n isIOS: Platform.OS === 'ios',\n isTablet: isTablet(),\n};\n\nexport { useDetectDevice };\n","/* eslint-disable @typescript-eslint/no-shadow */\nimport { useEffect, useState } from 'react';\nimport { Dimensions, ScaledSize } from 'react-native';\n\nconst isOrientationPortrait = ({ width, height }: ScaledSize) =>\n height >= width;\nconst isOrientationLandscape = ({ width, height }: ScaledSize) =>\n width >= height;\n\nexport function useDeviceOrientation() {\n const screen = Dimensions.get('screen');\n const initialState = {\n portrait: isOrientationPortrait(screen),\n landscape: isOrientationLandscape(screen),\n };\n\n const [orientation, setOrientation] = useState(initialState);\n\n useEffect(() => {\n const onChange = ({ screen }: { screen: ScaledSize }) => {\n setOrientation({\n portrait: isOrientationPortrait(screen),\n landscape: isOrientationLandscape(screen),\n });\n };\n\n const subscription = Dimensions.addEventListener('change', onChange);\n\n return () => {\n if (typeof subscription?.remove === 'function') {\n subscription.remove();\n }\n };\n }, []);\n\n return orientation.portrait ? 'PORTRAIT' : 'LANDSCAPE';\n}\n","import { I18nManager, StyleSheet } from 'react-native';\n\nexport const styles = StyleSheet.create({\n container: {\n backgroundColor: 'white',\n borderRadius: 8,\n padding: 12,\n justifyContent: 'center',\n },\n textInput: {\n flexDirection: I18nManager.isRTL ? 'row-reverse' : 'row',\n alignItems: 'center',\n flex: 1,\n },\n input: {\n fontSize: 16,\n flex: 1,\n textAlign: I18nManager.isRTL ? 'right' : 'left',\n },\n label: {\n marginBottom: 4,\n fontSize: 16,\n },\n row: {\n flexDirection: I18nManager.isRTL ? 'row-reverse' : 'row',\n },\n icon: {\n width: 20,\n height: 20,\n },\n});\n","/* eslint-disable @typescript-eslint/no-shadow */\nimport React, { useEffect, useState } from 'react';\nimport {\n Image,\n TextInput,\n TouchableOpacity,\n View,\n TouchableWithoutFeedback,\n StyleSheet,\n} from 'react-native';\nimport type { CTextInput } from './model';\nimport { styles } from './styles';\n\nconst ic_close = require('../../assets/close.png');\n\nconst TextInputComponent: CTextInput = (props) => {\n const {\n fontFamily,\n style,\n value,\n placeholderTextColor = '#000',\n placeholder = '',\n showIcon,\n inputStyle,\n iconStyle,\n onChangeText = (_value: string) => {},\n renderLeftIcon,\n renderRightIcon,\n } = props;\n\n const [text, setText] = useState('');\n\n useEffect(() => {\n if (value) {\n setText(value);\n }\n }, [value]);\n\n const onChange = (text: string) => {\n setText(text);\n onChangeText(text);\n };\n\n const _renderRightIcon = () => {\n if (showIcon) {\n if (renderRightIcon) {\n return renderRightIcon();\n }\n if (text.length > 0) {\n return (\n onChange('')}>\n \n \n );\n }\n return null;\n }\n return null;\n };\n\n const font = () => {\n if (fontFamily) {\n return {\n fontFamily: fontFamily,\n };\n } else {\n return {};\n }\n };\n\n return (\n \n \n \n {renderLeftIcon?.()}\n \n {_renderRightIcon()}\n \n \n \n );\n};\n\nexport default TextInputComponent;\n","import { I18nManager, StyleSheet } from 'react-native';\n\nexport const styles = StyleSheet.create({\n mainWrap: {\n justifyContent: 'center',\n },\n container: {\n flexShrink: 1,\n borderWidth: 0.5,\n borderColor: '#EEEEEE',\n backgroundColor: 'white',\n shadowColor: '#000',\n shadowOffset: {\n width: 0,\n height: 1,\n },\n shadowOpacity: 0.2,\n shadowRadius: 1.41,\n elevation: 2,\n },\n flex1: {\n flex: 1,\n },\n flexShrink: {\n flexShrink: 1,\n },\n wrapTop: {\n justifyContent: 'flex-end',\n },\n dropdown: {\n flexDirection: I18nManager.isRTL ? 'row-reverse' : 'row',\n justifyContent: 'space-between',\n alignItems: 'center',\n },\n title: {\n marginVertical: 5,\n fontSize: 16,\n writingDirection: I18nManager.isRTL ? 'rtl' : 'ltr',\n },\n item: {\n padding: 17,\n flexDirection: I18nManager.isRTL ? 'row-reverse' : 'row',\n justifyContent: 'space-between',\n alignItems: 'center',\n },\n textItem: {\n flex: 1,\n fontSize: 16,\n writingDirection: I18nManager.isRTL ? 'rtl' : 'ltr',\n },\n icon: {\n width: 20,\n height: 20,\n },\n input: {\n borderWidth: 0.5,\n borderColor: '#DDDDDD',\n paddingHorizontal: 8,\n marginBottom: 8,\n margin: 6,\n height: 45,\n },\n fullScreen: {\n alignItems: 'center',\n justifyContent: 'center',\n },\n});\n","/* eslint-disable @typescript-eslint/no-shadow */\nimport _assign from 'lodash/assign';\nimport _differenceWith from 'lodash/differenceWith';\nimport _findIndex from 'lodash/findIndex';\nimport _get from 'lodash/get';\nimport _isEqual from 'lodash/isEqual';\n\nimport React, {\n JSXElementConstructor,\n ReactElement,\n useCallback,\n useEffect,\n useImperativeHandle,\n useMemo,\n useRef,\n useState,\n} from 'react';\nimport {\n Dimensions,\n FlatList,\n I18nManager,\n Image,\n Keyboard,\n KeyboardEvent,\n Modal,\n StyleSheet,\n Text,\n TouchableHighlight,\n TouchableWithoutFeedback,\n View,\n ViewStyle,\n StatusBar,\n} from 'react-native';\nimport { useDetectDevice } from '../../toolkits';\nimport { useDeviceOrientation } from '../../useDeviceOrientation';\nimport CInput from '../TextInput';\nimport { DropdownProps } from './model';\nimport { styles } from './styles';\n\nconst { isTablet } = useDetectDevice;\nconst ic_down = require('../../assets/down.png');\n\nconst statusBarHeight: number = StatusBar.currentHeight || 0;\n\nconst DropdownComponent: (\n props: DropdownProps\n) => ReactElement> | null =\n React.forwardRef((props, currentRef) => {\n const orientation = useDeviceOrientation();\n const {\n testID,\n itemTestIDField,\n onChange,\n style = {},\n containerStyle,\n placeholderStyle,\n selectedTextStyle,\n itemContainerStyle,\n itemTextStyle,\n inputSearchStyle,\n iconStyle,\n selectedTextProps = {},\n data = [],\n labelField,\n valueField,\n searchField,\n value,\n activeColor = '#F6F7F8',\n fontFamily,\n iconColor = 'gray',\n searchPlaceholder,\n placeholder = 'Select item',\n search = false,\n maxHeight = 340,\n minHeight = 0,\n disable = false,\n keyboardAvoiding = true,\n inverted = true,\n renderLeftIcon,\n renderRightIcon,\n renderItem,\n renderInputSearch,\n onFocus,\n onBlur,\n autoScroll = true,\n showsVerticalScrollIndicator = true,\n dropdownPosition = 'auto',\n flatListProps,\n searchQuery,\n backgroundColor,\n onChangeText,\n confirmSelectItem,\n onConfirmSelectItem,\n accessibilityLabel,\n itemAccessibilityLabelField,\n mode = 'default',\n closeModalWhenSelectedItem = true,\n excludeItems = [],\n excludeSearchItems = [],\n } = props;\n\n const ref = useRef(null);\n const refList = useRef(null);\n const [visible, setVisible] = useState(false);\n const [currentValue, setCurrentValue] = useState(null);\n const [listData, setListData] = useState(data);\n const [position, setPosition] = useState();\n const [keyboardHeight, setKeyboardHeight] = useState(0);\n const [searchText, setSearchText] = useState('');\n\n const { width: W, height: H } = Dimensions.get('window');\n const styleContainerVertical: ViewStyle = useMemo(() => {\n return {\n backgroundColor: 'rgba(0,0,0,0.1)',\n alignItems: 'center',\n };\n }, []);\n const styleHorizontal: ViewStyle = useMemo(() => {\n return {\n width: orientation === 'LANDSCAPE' ? W / 2 : '100%',\n alignSelf: 'center',\n };\n }, [W, orientation]);\n\n useImperativeHandle(currentRef, () => {\n return { open: eventOpen, close: eventClose };\n });\n\n useEffect(() => {\n return eventClose;\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n const excludeData = useCallback(\n (data: any[]) => {\n if (excludeItems.length > 0) {\n const getData = _differenceWith(\n data,\n excludeItems,\n (obj1, obj2) => _get(obj1, valueField) === _get(obj2, valueField)\n );\n return getData || [];\n } else {\n return data || [];\n }\n },\n [excludeItems, valueField]\n );\n\n useEffect(() => {\n const filterData = excludeData(data);\n setListData([...filterData]);\n if (searchText) {\n onSearch(searchText);\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [data, searchText]);\n\n const eventOpen = () => {\n if (!disable) {\n setVisible(true);\n if (onFocus) {\n onFocus();\n }\n\n if (searchText.length > 0) {\n onSearch(searchText);\n }\n scrollIndex();\n }\n };\n\n const eventClose = useCallback(() => {\n if (!disable) {\n setVisible(false);\n if (onBlur) {\n onBlur();\n }\n }\n }, [disable, onBlur]);\n\n const font = useCallback(() => {\n if (fontFamily) {\n return {\n fontFamily: fontFamily,\n };\n } else {\n return {};\n }\n }, [fontFamily]);\n\n const _measure = useCallback(() => {\n if (ref && ref?.current) {\n ref.current.measureInWindow((pageX, pageY, width, height) => {\n let isFull = isTablet\n ? false\n : mode === 'modal' || orientation === 'LANDSCAPE';\n\n if (mode === 'auto') {\n isFull = false;\n }\n\n const top = isFull ? 20 : height + pageY + 2;\n const bottom = H - top + height;\n const left = I18nManager.isRTL ? W - width - pageX : pageX;\n\n setPosition({\n isFull,\n width: Math.floor(width),\n top: Math.floor(top + statusBarHeight),\n bottom: Math.floor(bottom - statusBarHeight),\n left: Math.floor(left),\n height: Math.floor(height),\n });\n });\n }\n }, [H, W, orientation, mode]);\n\n const onKeyboardDidShow = useCallback(\n (e: KeyboardEvent) => {\n _measure();\n setKeyboardHeight(e.endCoordinates.height);\n },\n [_measure]\n );\n\n const onKeyboardDidHide = useCallback(() => {\n setKeyboardHeight(0);\n _measure();\n }, [_measure]);\n\n useEffect(() => {\n const susbcriptionKeyboardDidShow = Keyboard.addListener(\n 'keyboardDidShow',\n onKeyboardDidShow\n );\n const susbcriptionKeyboardDidHide = Keyboard.addListener(\n 'keyboardDidHide',\n onKeyboardDidHide\n );\n\n return () => {\n if (typeof susbcriptionKeyboardDidShow?.remove === 'function') {\n susbcriptionKeyboardDidShow.remove();\n }\n\n if (typeof susbcriptionKeyboardDidHide?.remove === 'function') {\n susbcriptionKeyboardDidHide.remove();\n }\n };\n }, [onKeyboardDidHide, onKeyboardDidShow]);\n\n const getValue = useCallback(() => {\n const defaultValue =\n typeof value === 'object' ? _get(value, valueField) : value;\n\n const getItem = data.filter((e) =>\n _isEqual(defaultValue, _get(e, valueField))\n );\n\n if (getItem.length > 0) {\n setCurrentValue(getItem[0]);\n } else {\n setCurrentValue(null);\n }\n }, [data, value, valueField]);\n\n useEffect(() => {\n getValue();\n }, [value, data, getValue]);\n\n const scrollIndex = useCallback(() => {\n if (autoScroll && data?.length > 0 && listData?.length === data?.length) {\n setTimeout(() => {\n if (refList && refList?.current) {\n const defaultValue =\n typeof value === 'object' ? _get(value, valueField) : value;\n\n const index = _findIndex(listData, (e) =>\n _isEqual(defaultValue, _get(e, valueField))\n );\n if (\n listData?.length > 0 &&\n index > -1 &&\n index <= listData?.length - 1\n ) {\n try {\n refList.current.scrollToIndex({\n index: index,\n animated: false,\n });\n } catch (error) {\n console.warn(`scrollToIndex error: ${error}`);\n }\n }\n }\n }, 200);\n }\n }, [autoScroll, data.length, listData, value, valueField]);\n\n const showOrClose = useCallback(() => {\n if (!disable) {\n const visibleStatus = !visible;\n\n if (keyboardHeight > 0 && !visibleStatus) {\n return Keyboard.dismiss();\n }\n\n if (!visibleStatus) {\n if (onChangeText) {\n onChangeText('');\n }\n setSearchText('');\n onSearch('');\n }\n\n _measure();\n setVisible(visibleStatus);\n const filterData = excludeData(data);\n setListData(filterData);\n\n if (visibleStatus) {\n if (onFocus) {\n onFocus();\n }\n } else {\n if (onBlur) {\n onBlur();\n }\n }\n\n if (searchText.length > 0) {\n onSearch(searchText);\n }\n scrollIndex();\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [\n disable,\n keyboardHeight,\n visible,\n _measure,\n data,\n searchText,\n scrollIndex,\n onFocus,\n onBlur,\n ]);\n\n const onSearch = useCallback(\n (text: string) => {\n if (text.length > 0) {\n const defaultFilterFunction = (e: any) => {\n const item = _get(e, searchField || labelField)\n ?.toLowerCase()\n .replace(/\\s/g, '')\n .normalize('NFD')\n .replace(/[\\u0300-\\u036f]/g, '');\n const key = text\n .toLowerCase()\n .replace(/\\s/g, '')\n .normalize('NFD')\n .replace(/[\\u0300-\\u036f]/g, '');\n\n return item.indexOf(key) >= 0;\n };\n\n const propSearchFunction = (e: any) => {\n const labelText = _get(e, searchField || labelField);\n\n return searchQuery?.(text, labelText);\n };\n\n const dataSearch = data.filter(\n searchQuery ? propSearchFunction : defaultFilterFunction\n );\n\n if (excludeSearchItems.length > 0 || excludeItems.length > 0) {\n const excludeSearchData = _differenceWith(\n dataSearch,\n excludeSearchItems,\n (obj1, obj2) => _get(obj1, valueField) === _get(obj2, valueField)\n );\n\n const filterData = excludeData(excludeSearchData);\n setListData(filterData);\n } else {\n setListData(dataSearch);\n }\n } else {\n const filterData = excludeData(data);\n setListData(filterData);\n }\n },\n [\n data,\n searchQuery,\n excludeSearchItems,\n excludeItems,\n searchField,\n labelField,\n valueField,\n excludeData,\n ]\n );\n\n const onSelect = useCallback(\n (item: any) => {\n if (confirmSelectItem && onConfirmSelectItem) {\n return onConfirmSelectItem(item);\n }\n\n setCurrentValue(item);\n onChange(item);\n\n if (closeModalWhenSelectedItem) {\n if (onChangeText) {\n onChangeText('');\n }\n setSearchText('');\n onSearch('');\n eventClose();\n }\n },\n [\n confirmSelectItem,\n eventClose,\n onChange,\n onChangeText,\n onConfirmSelectItem,\n onSearch,\n closeModalWhenSelectedItem,\n ]\n );\n\n const _renderDropdown = () => {\n const isSelected = currentValue && _get(currentValue, valueField);\n return (\n \n \n {renderLeftIcon?.(visible)}\n \n {isSelected !== null\n ? _get(currentValue, labelField)\n : placeholder}\n \n {renderRightIcon ? (\n renderRightIcon(visible)\n ) : (\n \n )}\n \n \n );\n };\n\n const _renderItem = useCallback(\n ({ item, index }: { item: any; index: number }) => {\n const isSelected = currentValue && _get(currentValue, valueField);\n const selected = _isEqual(_get(item, valueField), isSelected);\n _assign(item, { _index: index });\n return (\n onSelect(item)}\n >\n \n {renderItem ? (\n renderItem(item, selected)\n ) : (\n \n \n {_get(item, labelField)}\n \n \n )}\n \n \n );\n },\n [\n accessibilityLabel,\n activeColor,\n currentValue,\n font,\n itemAccessibilityLabelField,\n itemContainerStyle,\n itemTestIDField,\n itemTextStyle,\n labelField,\n onSelect,\n renderItem,\n valueField,\n ]\n );\n\n const renderSearch = useCallback(() => {\n if (search) {\n if (renderInputSearch) {\n return renderInputSearch((text) => {\n if (onChangeText) {\n setSearchText(text);\n onChangeText(text);\n }\n onSearch(text);\n });\n } else {\n return (\n {\n if (onChangeText) {\n setSearchText(e);\n onChangeText(e);\n }\n onSearch(e);\n }}\n placeholderTextColor=\"gray\"\n iconStyle={[{ tintColor: iconColor }, iconStyle]}\n />\n );\n }\n }\n return null;\n }, [\n accessibilityLabel,\n font,\n iconColor,\n iconStyle,\n inputSearchStyle,\n onChangeText,\n onSearch,\n renderInputSearch,\n search,\n searchPlaceholder,\n testID,\n searchText,\n ]);\n\n const _renderList = useCallback(\n (isTopPosition: boolean) => {\n const isInverted = !inverted ? false : isTopPosition;\n\n const _renderListHelper = () => {\n return (\n index.toString()}\n showsVerticalScrollIndicator={showsVerticalScrollIndicator}\n />\n );\n };\n\n return (\n \n \n {isInverted && _renderListHelper()}\n {renderSearch()}\n {!isInverted && _renderListHelper()}\n \n \n );\n },\n [\n _renderItem,\n accessibilityLabel,\n flatListProps,\n listData,\n inverted,\n renderSearch,\n scrollIndex,\n showsVerticalScrollIndicator,\n testID,\n ]\n );\n\n const _renderModal = useCallback(() => {\n if (visible && position) {\n const { isFull, width, height, top, bottom, left } = position;\n\n const onAutoPosition = () => {\n if (keyboardHeight > 0) {\n return bottom < keyboardHeight + height;\n }\n\n return bottom < (search ? 150 : 100);\n };\n\n if (width && top && bottom) {\n const styleVertical: ViewStyle = {\n left: left,\n maxHeight: maxHeight,\n minHeight: minHeight,\n };\n const isTopPosition =\n dropdownPosition === 'auto'\n ? onAutoPosition()\n : dropdownPosition === 'top';\n\n let keyboardStyle: ViewStyle = {};\n\n let extendHeight = !isTopPosition ? top : bottom;\n if (\n keyboardAvoiding &&\n keyboardHeight > 0 &&\n isTopPosition &&\n dropdownPosition === 'auto'\n ) {\n extendHeight = keyboardHeight;\n }\n\n return (\n \n \n \n \n \n {_renderList(isTopPosition)}\n \n \n \n \n \n );\n }\n return null;\n }\n return null;\n }, [\n visible,\n search,\n position,\n keyboardHeight,\n maxHeight,\n minHeight,\n dropdownPosition,\n keyboardAvoiding,\n showOrClose,\n styleContainerVertical,\n backgroundColor,\n containerStyle,\n styleHorizontal,\n _renderList,\n ]);\n\n return (\n \n {_renderDropdown()}\n {_renderModal()}\n \n );\n });\n\nexport default DropdownComponent;\n","import { I18nManager, StyleSheet } from 'react-native';\n\nexport const styles = StyleSheet.create({\n mainWrap: {\n justifyContent: 'center',\n },\n container: {\n flexShrink: 1,\n backgroundColor: 'white',\n borderWidth: 0.5,\n borderColor: '#EEEEEE',\n shadowColor: '#000',\n shadowOffset: {\n width: 0,\n height: 1,\n },\n shadowOpacity: 0.2,\n shadowRadius: 1.41,\n elevation: 2,\n },\n flex1: {\n flex: 1,\n },\n flexShrink: {\n flexShrink: 1,\n },\n wrapTop: {\n justifyContent: 'flex-end',\n },\n dropdown: {\n flexDirection: I18nManager.isRTL ? 'row-reverse' : 'row',\n justifyContent: 'space-between',\n alignItems: 'center',\n },\n dropdownInside: {\n flexDirection: I18nManager.isRTL ? 'row-reverse' : 'row',\n justifyContent: 'space-between',\n alignItems: 'center',\n minHeight: 35,\n },\n title: {\n marginVertical: 5,\n fontSize: 16,\n writingDirection: I18nManager.isRTL ? 'rtl' : 'ltr',\n },\n wrapItem: {\n marginBottom: 0.5,\n },\n item: {\n padding: 17,\n flexDirection: I18nManager.isRTL ? 'row-reverse' : 'row',\n justifyContent: 'space-between',\n alignItems: 'center',\n },\n textItem: {\n flex: 1,\n fontSize: 16,\n writingDirection: I18nManager.isRTL ? 'rtl' : 'ltr',\n },\n icon: {\n width: 20,\n height: 20,\n },\n input: {\n borderWidth: 0.5,\n borderColor: '#DDDDDD',\n paddingHorizontal: 8,\n marginBottom: 8,\n margin: 6,\n height: 45,\n },\n rowSelectedItem: {\n flexDirection: I18nManager.isRTL ? 'row-reverse' : 'row',\n flexWrap: 'wrap',\n },\n selectedItem: {\n padding: 8,\n alignItems: 'center',\n justifyContent: 'center',\n borderWidth: 0.5,\n borderColor: 'gray',\n paddingHorizontal: 8,\n marginVertical: 6,\n marginRight: 8,\n flexDirection: I18nManager.isRTL ? 'row-reverse' : 'row',\n },\n selectedTextItem: {\n marginLeft: 5,\n color: 'gray',\n fontSize: 16,\n writingDirection: I18nManager.isRTL ? 'rtl' : 'ltr',\n },\n selectedTextLeftItem: {\n fontSize: 12,\n color: 'gray',\n writingDirection: I18nManager.isRTL ? 'rtl' : 'ltr',\n },\n fullScreen: {\n alignItems: 'center',\n justifyContent: 'center',\n },\n});\n","/* eslint-disable @typescript-eslint/no-shadow */\nimport _assign from 'lodash/assign';\nimport _differenceWith from 'lodash/differenceWith';\nimport _get from 'lodash/get';\nimport React, {\n JSXElementConstructor,\n ReactElement,\n useCallback,\n useEffect,\n useImperativeHandle,\n useMemo,\n useRef,\n useState,\n} from 'react';\nimport {\n Dimensions,\n FlatList,\n I18nManager,\n Image,\n Keyboard,\n KeyboardEvent,\n Modal,\n StyleSheet,\n Text,\n TouchableHighlight,\n TouchableWithoutFeedback,\n View,\n ViewStyle,\n StatusBar,\n} from 'react-native';\nimport { useDetectDevice } from '../../toolkits';\nimport { useDeviceOrientation } from '../../useDeviceOrientation';\nimport CInput from '../TextInput';\nimport { MultiSelectProps } from './model';\nimport { styles } from './styles';\n\nconst { isTablet } = useDetectDevice;\nconst ic_down = require('../../assets/down.png');\nconst statusBarHeight: number = StatusBar.currentHeight || 0;\n\nconst MultiSelectComponent: (\n props: MultiSelectProps\n) => ReactElement> | null =\n React.forwardRef((props, currentRef) => {\n const orientation = useDeviceOrientation();\n const {\n testID,\n itemTestIDField,\n onChange,\n data = [],\n value,\n style = {},\n labelField,\n valueField,\n searchField,\n selectedStyle,\n selectedTextStyle,\n itemContainerStyle,\n itemTextStyle,\n iconStyle,\n selectedTextProps = {},\n activeColor = '#F6F7F8',\n containerStyle,\n fontFamily,\n placeholderStyle,\n iconColor = 'gray',\n inputSearchStyle,\n searchPlaceholder,\n placeholder = 'Select item',\n search = false,\n maxHeight = 340,\n minHeight = 0,\n maxSelect,\n disable = false,\n keyboardAvoiding = true,\n inside = false,\n inverted = true,\n renderItem,\n renderLeftIcon,\n renderRightIcon,\n renderSelectedItem,\n renderInputSearch,\n onFocus,\n onBlur,\n showsVerticalScrollIndicator = true,\n dropdownPosition = 'auto',\n flatListProps,\n alwaysRenderSelectedItem = false,\n searchQuery,\n backgroundColor,\n onChangeText,\n confirmSelectItem,\n confirmUnSelectItem,\n onConfirmSelectItem,\n accessibilityLabel,\n itemAccessibilityLabelField,\n visibleSelectedItem = true,\n mode = 'default',\n excludeItems = [],\n excludeSearchItems = [],\n } = props;\n\n const ref = useRef(null);\n const [visible, setVisible] = useState(false);\n const [currentValue, setCurrentValue] = useState([]);\n const [listData, setListData] = useState(data);\n const [, setKey] = useState(Math.random());\n const [position, setPosition] = useState();\n const [keyboardHeight, setKeyboardHeight] = useState(0);\n const [searchText, setSearchText] = useState('');\n\n const { width: W, height: H } = Dimensions.get('window');\n const styleContainerVertical: ViewStyle = useMemo(() => {\n return {\n backgroundColor: 'rgba(0,0,0,0.1)',\n alignItems: 'center',\n };\n }, []);\n const styleHorizontal: ViewStyle = useMemo(() => {\n return {\n width: orientation === 'LANDSCAPE' ? W / 2 : '100%',\n alignSelf: 'center',\n };\n }, [W, orientation]);\n\n useImperativeHandle(currentRef, () => {\n return { open: eventOpen, close: eventClose };\n });\n\n useEffect(() => {\n return eventClose;\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n const excludeData = useCallback(\n (data: any[]) => {\n if (excludeItems.length > 0) {\n const getData = _differenceWith(\n data,\n excludeItems,\n (obj1, obj2) => _get(obj1, valueField) === _get(obj2, valueField)\n );\n return getData || [];\n } else {\n return data || [];\n }\n },\n [excludeItems, valueField]\n );\n\n useEffect(() => {\n const filterData = excludeData(data);\n setListData([...filterData]);\n\n if (searchText) {\n onSearch(searchText);\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [data, searchText]);\n\n const eventOpen = () => {\n if (!disable) {\n setVisible(true);\n if (onFocus) {\n onFocus();\n }\n\n if (searchText.length > 0) {\n onSearch(searchText);\n }\n }\n };\n\n const eventClose = () => {\n if (!disable) {\n setVisible(false);\n if (onBlur) {\n onBlur();\n }\n }\n };\n\n const font = useCallback(() => {\n if (fontFamily) {\n return {\n fontFamily: fontFamily,\n };\n } else {\n return {};\n }\n }, [fontFamily]);\n\n const getValue = useCallback(() => {\n setCurrentValue(value ? [...value] : []);\n }, [value]);\n\n const _measure = useCallback(() => {\n if (ref && ref?.current) {\n ref.current.measureInWindow((pageX, pageY, width, height) => {\n let isFull = isTablet\n ? false\n : mode === 'modal' || orientation === 'LANDSCAPE';\n\n if (mode === 'auto') {\n isFull = false;\n }\n\n const top = isFull ? 20 : height + pageY + 2;\n const bottom = H - top + height;\n const left = I18nManager.isRTL ? W - width - pageX : pageX;\n\n setPosition({\n isFull,\n width: Math.floor(width),\n top: Math.floor(top + statusBarHeight),\n bottom: Math.floor(bottom - statusBarHeight),\n left: Math.floor(left),\n height: Math.floor(height),\n });\n });\n }\n }, [H, W, orientation, mode]);\n\n const onKeyboardDidShow = useCallback(\n (e: KeyboardEvent) => {\n _measure();\n setKeyboardHeight(e.endCoordinates.height);\n },\n [_measure]\n );\n\n const onKeyboardDidHide = useCallback(() => {\n setKeyboardHeight(0);\n _measure();\n }, [_measure]);\n\n useEffect(() => {\n const susbcriptionKeyboardDidShow = Keyboard.addListener(\n 'keyboardDidShow',\n onKeyboardDidShow\n );\n const susbcriptionKeyboardDidHide = Keyboard.addListener(\n 'keyboardDidHide',\n onKeyboardDidHide\n );\n\n return () => {\n if (typeof susbcriptionKeyboardDidShow?.remove === 'function') {\n susbcriptionKeyboardDidShow.remove();\n }\n\n if (typeof susbcriptionKeyboardDidHide?.remove === 'function') {\n susbcriptionKeyboardDidHide.remove();\n }\n };\n }, [onKeyboardDidHide, onKeyboardDidShow]);\n\n useEffect(() => {\n getValue();\n }, [getValue, value]);\n\n const showOrClose = useCallback(() => {\n if (!disable) {\n const visibleStatus = !visible;\n\n if (keyboardHeight > 0 && !visibleStatus) {\n return Keyboard.dismiss();\n }\n\n _measure();\n setVisible(visibleStatus);\n const filterData = excludeData(data);\n setListData(filterData);\n\n if (visibleStatus) {\n if (onFocus) {\n onFocus();\n }\n } else {\n if (onBlur) {\n onBlur();\n }\n }\n\n if (searchText.length > 0) {\n onSearch(searchText);\n }\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [\n disable,\n keyboardHeight,\n visible,\n _measure,\n data,\n searchText,\n onFocus,\n onBlur,\n ]);\n\n const onSearch = useCallback(\n (text: string) => {\n if (text.length > 0) {\n const defaultFilterFunction = (e: any) => {\n const item = _get(e, searchField || labelField)\n ?.toLowerCase()\n .replace(/\\s/g, '')\n .normalize('NFD')\n .replace(/[\\u0300-\\u036f]/g, '');\n const key = text\n .toLowerCase()\n .replace(/\\s/g, '')\n .normalize('NFD')\n .replace(/[\\u0300-\\u036f]/g, '');\n\n return item.indexOf(key) >= 0;\n };\n\n const propSearchFunction = (e: any) => {\n const labelText = _get(e, searchField || labelField);\n\n return searchQuery?.(text, labelText);\n };\n\n const dataSearch = data.filter(\n searchQuery ? propSearchFunction : defaultFilterFunction\n );\n\n if (excludeSearchItems.length > 0 || excludeItems.length > 0) {\n const excludeSearchData = _differenceWith(\n dataSearch,\n excludeSearchItems,\n (obj1, obj2) => _get(obj1, valueField) === _get(obj2, valueField)\n );\n\n const filterData = excludeData(excludeSearchData);\n setListData(filterData);\n } else {\n setListData(dataSearch);\n }\n } else {\n const filterData = excludeData(data);\n setListData(filterData);\n }\n },\n [\n data,\n searchQuery,\n excludeSearchItems,\n excludeItems,\n searchField,\n labelField,\n valueField,\n excludeData,\n ]\n );\n\n const onSelect = useCallback(\n (item: any) => {\n const newCurrentValue = [...currentValue];\n const index = newCurrentValue.findIndex(\n (e) => e === _get(item, valueField)\n );\n if (index > -1) {\n newCurrentValue.splice(index, 1);\n } else {\n if (maxSelect) {\n if (newCurrentValue.length < maxSelect) {\n newCurrentValue.push(_get(item, valueField));\n }\n } else {\n newCurrentValue.push(_get(item, valueField));\n }\n }\n\n if (onConfirmSelectItem) {\n if (index > -1) {\n if (confirmUnSelectItem) {\n onConfirmSelectItem(newCurrentValue);\n } else {\n onChange(newCurrentValue);\n }\n } else {\n if (confirmSelectItem) {\n onConfirmSelectItem(newCurrentValue);\n } else {\n onChange(newCurrentValue);\n }\n }\n } else {\n onChange(newCurrentValue);\n }\n\n setKey(Math.random());\n },\n [\n confirmSelectItem,\n confirmUnSelectItem,\n currentValue,\n maxSelect,\n onChange,\n onConfirmSelectItem,\n valueField,\n ]\n );\n\n const _renderDropdown = () => {\n return (\n \n \n {renderLeftIcon?.(visible)}\n \n {placeholder}\n \n {renderRightIcon ? (\n renderRightIcon(visible)\n ) : (\n \n )}\n \n \n );\n };\n\n const checkSelected = useCallback(\n (item: any) => {\n const index = currentValue.findIndex(\n (e) => e === _get(item, valueField)\n );\n return index > -1;\n },\n [currentValue, valueField]\n );\n\n const _renderItem = useCallback(\n ({ item, index }: { item: any; index: number }) => {\n const selected = checkSelected(item);\n _assign(item, { _index: index });\n return (\n onSelect(item)}\n >\n \n {renderItem ? (\n renderItem(item, selected)\n ) : (\n \n \n {_get(item, labelField)}\n \n \n )}\n \n \n );\n },\n [\n accessibilityLabel,\n activeColor,\n checkSelected,\n font,\n itemAccessibilityLabelField,\n itemContainerStyle,\n itemTestIDField,\n itemTextStyle,\n labelField,\n onSelect,\n renderItem,\n ]\n );\n\n const renderSearch = useCallback(() => {\n if (search) {\n if (renderInputSearch) {\n return renderInputSearch((text) => {\n if (onChangeText) {\n setSearchText(text);\n onChangeText(text);\n }\n onSearch(text);\n });\n } else {\n return (\n {\n if (onChangeText) {\n setSearchText(e);\n onChangeText(e);\n }\n onSearch(e);\n }}\n placeholderTextColor=\"gray\"\n iconStyle={[{ tintColor: iconColor }, iconStyle]}\n />\n );\n }\n }\n return null;\n }, [\n accessibilityLabel,\n font,\n iconColor,\n iconStyle,\n inputSearchStyle,\n onChangeText,\n onSearch,\n renderInputSearch,\n search,\n searchPlaceholder,\n testID,\n ]);\n\n const _renderList = useCallback(\n (isTopPosition: boolean) => {\n const isInverted = !inverted ? false : isTopPosition;\n\n const _renderListHelper = () => {\n return (\n index.toString()}\n showsVerticalScrollIndicator={showsVerticalScrollIndicator}\n />\n );\n };\n\n return (\n \n \n {isInverted && _renderListHelper()}\n {renderSearch()}\n {!isInverted && _renderListHelper()}\n \n \n );\n },\n [\n _renderItem,\n accessibilityLabel,\n flatListProps,\n listData,\n inverted,\n renderSearch,\n showsVerticalScrollIndicator,\n testID,\n ]\n );\n\n const _renderModal = useCallback(() => {\n if (visible && position) {\n const { isFull, width, height, top, bottom, left } = position;\n\n const onAutoPosition = () => {\n if (keyboardHeight > 0) {\n return bottom < keyboardHeight + height;\n }\n\n return bottom < (search ? 150 : 100);\n };\n\n if (width && top && bottom) {\n const styleVertical: ViewStyle = {\n left: left,\n maxHeight: maxHeight,\n minHeight: minHeight,\n };\n const isTopPosition =\n dropdownPosition === 'auto'\n ? onAutoPosition()\n : dropdownPosition === 'top';\n\n let keyboardStyle: ViewStyle = {};\n\n let extendHeight = !isTopPosition ? top : bottom;\n if (\n keyboardAvoiding &&\n keyboardHeight > 0 &&\n isTopPosition &&\n dropdownPosition === 'auto'\n ) {\n extendHeight = keyboardHeight;\n }\n\n return (\n \n \n \n \n \n {_renderList(isTopPosition)}\n \n \n \n \n \n );\n }\n return null;\n }\n return null;\n }, [\n visible,\n search,\n position,\n keyboardHeight,\n maxHeight,\n minHeight,\n dropdownPosition,\n keyboardAvoiding,\n showOrClose,\n styleContainerVertical,\n backgroundColor,\n containerStyle,\n styleHorizontal,\n _renderList,\n ]);\n\n const unSelect = (item: any) => {\n if (!disable) {\n onSelect(item);\n }\n };\n\n const _renderItemSelected = (inside: boolean) => {\n const list = data.filter((e: any) => {\n const check = value?.indexOf(_get(e, valueField));\n if (check !== -1) {\n return e;\n }\n });\n\n return (\n \n {list.map((e) => {\n if (renderSelectedItem) {\n return (\n unSelect(e)}\n >\n {renderSelectedItem(e, () => {\n unSelect(e);\n })}\n \n );\n } else {\n return (\n unSelect(e)}\n >\n \n \n {_get(e, labelField)}\n \n \n ⓧ\n \n \n \n );\n }\n })}\n \n );\n };\n\n const _renderInside = () => {\n return (\n \n {_renderDropdownInside()}\n {_renderModal()}\n \n );\n };\n\n const _renderDropdownInside = () => {\n return (\n \n \n {renderLeftIcon?.()}\n {value && value?.length > 0 ? (\n _renderItemSelected(true)\n ) : (\n \n {placeholder}\n \n )}\n {renderRightIcon ? (\n renderRightIcon()\n ) : (\n \n )}\n \n \n );\n };\n\n if (inside) {\n return _renderInside();\n }\n\n return (\n <>\n \n {_renderDropdown()}\n {_renderModal()}\n \n {(!visible || alwaysRenderSelectedItem) &&\n visibleSelectedItem &&\n _renderItemSelected(false)}\n \n );\n });\n\nexport default MultiSelectComponent;\n","import { I18nManager, StyleSheet } from 'react-native';\n\nexport const styles = StyleSheet.create({\n dropdown: {\n width: 58,\n paddingHorizontal: 6,\n height: 26,\n },\n container: {\n width: 60,\n },\n item: {\n flexDirection: I18nManager.isRTL ? 'row-reverse' : 'row',\n padding: 6,\n alignItems: 'center',\n },\n image: {\n width: 20,\n height: 20,\n marginRight: 3,\n marginVertical: 4,\n },\n selectedTextStyle: {\n flex: 1,\n fontSize: 12,\n writingDirection: I18nManager.isRTL ? 'rtl' : 'ltr',\n },\n});\n","import React, {\n useImperativeHandle,\n useMemo,\n useRef,\n ReactElement,\n JSXElementConstructor,\n} from 'react';\nimport { Image, View, Text } from 'react-native';\nimport Dropdown from '../Dropdown';\nimport { SelectCountryProps } from './model';\nimport { styles } from './styles';\n\nconst SelectCountryComponent: (\n props: SelectCountryProps\n) => ReactElement> | null =\n React.forwardRef((props, currentRef) => {\n const {\n data,\n value,\n valueField,\n labelField,\n imageField,\n selectedTextStyle,\n imageStyle,\n } = props;\n const ref: any = useRef(null);\n\n useImperativeHandle(currentRef, () => {\n return { open: eventOpen, close: eventClose };\n });\n\n const eventOpen = () => {\n ref.current.open();\n };\n\n const eventClose = () => {\n ref.current.close();\n };\n\n const _renderItem = (item: any) => {\n return (\n \n \n \n {item[labelField]}\n \n \n );\n };\n\n const selectItem: any = useMemo(() => {\n const index = data.findIndex((e: any) => e[valueField] === value);\n return data[index];\n }, [data, valueField, value]);\n\n return (\n {\n if (selectItem?.image) {\n return (\n \n );\n } else {\n return null;\n }\n }}\n />\n );\n });\n\nexport default SelectCountryComponent;\n","import _extends from \"@babel/runtime/helpers/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/objectWithoutPropertiesLoose\";\nvar _excluded = [\"animating\", \"color\", \"hidesWhenStopped\", \"size\", \"style\"];\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 */\n\nimport * as React from 'react';\nimport StyleSheet from '../StyleSheet';\nimport View from '../View';\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});\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 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 \"aria-valuemax\": 1,\n \"aria-valuemin\": 0,\n ref: forwardedRef,\n role: \"progressbar\",\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: 'rotate(0deg)'\n },\n '100%': {\n transform: 'rotate(360deg)'\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) 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'use strict';\n\nvar ReactNativeFeatureFlags = {\n isLayoutAnimationEnabled: () => true,\n shouldEmitW3CPointerEvents: () => false,\n shouldPressibilityUseW3CPointerEventsForHover: () => false,\n animatedShouldDebounceQueueFlush: () => false,\n animatedShouldUseSingleOp: () => false\n};\nexport default ReactNativeFeatureFlags;","import _objectSpread from \"@babel/runtime/helpers/objectSpread2\";\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\nimport NativeAnimatedNonTurboModule from './NativeAnimatedModule';\nimport NativeAnimatedTurboModule from './NativeAnimatedTurboModule';\nimport NativeEventEmitter from '../EventEmitter/NativeEventEmitter';\nimport Platform from '../Utilities/Platform';\nimport ReactNativeFeatureFlags from '../ReactNative/ReactNativeFeatureFlags';\nimport invariant from 'fbjs/lib/invariant';\nimport RCTDeviceEventEmitter from '../EventEmitter/RCTDeviceEventEmitter';\n// TODO T69437152 @petetheheat - Delete this fork when Fabric ships to 100%.\nvar NativeAnimatedModule = Platform.OS === 'ios' && global.RN$Bridgeless === true ? NativeAnimatedTurboModule : NativeAnimatedNonTurboModule;\nvar __nativeAnimatedNodeTagCount = 1; /* used for animated nodes */\nvar __nativeAnimationIdCount = 1; /* used for started animations */\n\nvar nativeEventEmitter;\nvar waitingForQueuedOperations = new Set();\nvar queueOperations = false;\nvar queue = [];\n// $FlowFixMe\nvar singleOpQueue = [];\nvar useSingleOpBatching = false;\nPlatform.OS === 'android' && !!(NativeAnimatedModule != null && NativeAnimatedModule.queueAndExecuteBatchedOperations) && ReactNativeFeatureFlags.animatedShouldUseSingleOp();\nvar flushQueueTimeout = null;\nvar eventListenerGetValueCallbacks = {};\nvar eventListenerAnimationFinishedCallbacks = {};\nvar globalEventEmitterGetValueListener = null;\nvar globalEventEmitterAnimationFinishedListener = null;\nvar nativeOps = useSingleOpBatching ? function () {\n var apis = ['createAnimatedNode',\n // 1\n 'updateAnimatedNodeConfig',\n // 2\n 'getValue',\n // 3\n 'startListeningToAnimatedNodeValue',\n // 4\n 'stopListeningToAnimatedNodeValue',\n // 5\n 'connectAnimatedNodes',\n // 6\n 'disconnectAnimatedNodes',\n // 7\n 'startAnimatingNode',\n // 8\n 'stopAnimation',\n // 9\n 'setAnimatedNodeValue',\n // 10\n 'setAnimatedNodeOffset',\n // 11\n 'flattenAnimatedNodeOffset',\n // 12\n 'extractAnimatedNodeOffset',\n // 13\n 'connectAnimatedNodeToView',\n // 14\n 'disconnectAnimatedNodeFromView',\n // 15\n 'restoreDefaultValues',\n // 16\n 'dropAnimatedNode',\n // 17\n 'addAnimatedEventToView',\n // 18\n 'removeAnimatedEventFromView',\n // 19\n 'addListener',\n // 20\n 'removeListener' // 21\n ];\n\n return apis.reduce((acc, functionName, i) => {\n // These indices need to be kept in sync with the indices in native (see NativeAnimatedModule in Java, or the equivalent for any other native platform).\n // $FlowFixMe[prop-missing]\n acc[functionName] = i + 1;\n return acc;\n }, {});\n}() : NativeAnimatedModule;\n\n/**\n * Wrappers around NativeAnimatedModule to provide flow and autocomplete support for\n * the native module methods, and automatic queue management on Android\n */\nvar API = {\n getValue: function getValue(tag, saveValueCallback) {\n invariant(nativeOps, 'Native animated module is not available');\n if (useSingleOpBatching) {\n if (saveValueCallback) {\n eventListenerGetValueCallbacks[tag] = saveValueCallback;\n }\n // $FlowFixMe\n API.queueOperation(nativeOps.getValue, tag);\n } else {\n API.queueOperation(nativeOps.getValue, tag, saveValueCallback);\n }\n },\n setWaitingForIdentifier: function setWaitingForIdentifier(id) {\n waitingForQueuedOperations.add(id);\n queueOperations = true;\n if (ReactNativeFeatureFlags.animatedShouldDebounceQueueFlush() && flushQueueTimeout) {\n clearTimeout(flushQueueTimeout);\n }\n },\n unsetWaitingForIdentifier: function unsetWaitingForIdentifier(id) {\n waitingForQueuedOperations.delete(id);\n if (waitingForQueuedOperations.size === 0) {\n queueOperations = false;\n API.disableQueue();\n }\n },\n disableQueue: function disableQueue() {\n invariant(nativeOps, 'Native animated module is not available');\n if (ReactNativeFeatureFlags.animatedShouldDebounceQueueFlush()) {\n var prevTimeout = flushQueueTimeout;\n clearImmediate(prevTimeout);\n flushQueueTimeout = setImmediate(API.flushQueue);\n } else {\n API.flushQueue();\n }\n },\n flushQueue: function flushQueue() {\n /*\n invariant(NativeAnimatedModule, 'Native animated module is not available');\n flushQueueTimeout = null;\n // Early returns before calling any APIs\n if (useSingleOpBatching && singleOpQueue.length === 0) {\n return;\n }\n if (!useSingleOpBatching && queue.length === 0) {\n return;\n }\n if (useSingleOpBatching) {\n // Set up event listener for callbacks if it's not set up\n if (\n !globalEventEmitterGetValueListener ||\n !globalEventEmitterAnimationFinishedListener\n ) {\n setupGlobalEventEmitterListeners();\n }\n // Single op batching doesn't use callback functions, instead we\n // use RCTDeviceEventEmitter. This reduces overhead of sending lots of\n // JSI functions across to native code; but also, TM infrastructure currently\n // does not support packing a function into native arrays.\n NativeAnimatedModule.queueAndExecuteBatchedOperations?.(singleOpQueue);\n singleOpQueue.length = 0;\n } else {\n Platform.OS === 'android' && NativeAnimatedModule.startOperationBatch?.();\n for (let q = 0, l = queue.length; q < l; q++) {\n queue[q]();\n }\n queue.length = 0;\n Platform.OS === 'android' &&\n NativeAnimatedModule.finishOperationBatch?.();\n }\n */\n },\n queueOperation: function queueOperation(fn) {\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 if (useSingleOpBatching) {\n // Get the command ID from the queued function, and push that ID and any arguments needed to execute the operation\n // $FlowFixMe: surprise, fn is actually a number\n singleOpQueue.push(fn, ...args);\n return;\n }\n\n // If queueing is explicitly on, *or* the queue has not yet\n // been flushed, use the queue. This is to prevent operations\n // from being executed out of order.\n if (queueOperations || queue.length !== 0) {\n queue.push(() => fn(...args));\n } else {\n fn(...args);\n }\n },\n createAnimatedNode: function createAnimatedNode(tag, config) {\n invariant(nativeOps, 'Native animated module is not available');\n API.queueOperation(nativeOps.createAnimatedNode, tag, config);\n },\n updateAnimatedNodeConfig: function updateAnimatedNodeConfig(tag, config) {\n invariant(nativeOps, 'Native animated module is not available');\n //if (nativeOps.updateAnimatedNodeConfig) {\n // API.queueOperation(nativeOps.updateAnimatedNodeConfig, tag, config);\n //}\n },\n\n startListeningToAnimatedNodeValue: function startListeningToAnimatedNodeValue(tag) {\n invariant(nativeOps, 'Native animated module is not available');\n API.queueOperation(nativeOps.startListeningToAnimatedNodeValue, tag);\n },\n stopListeningToAnimatedNodeValue: function stopListeningToAnimatedNodeValue(tag) {\n invariant(nativeOps, 'Native animated module is not available');\n API.queueOperation(nativeOps.stopListeningToAnimatedNodeValue, tag);\n },\n connectAnimatedNodes: function connectAnimatedNodes(parentTag, childTag) {\n invariant(nativeOps, 'Native animated module is not available');\n API.queueOperation(nativeOps.connectAnimatedNodes, parentTag, childTag);\n },\n disconnectAnimatedNodes: function disconnectAnimatedNodes(parentTag, childTag) {\n invariant(nativeOps, 'Native animated module is not available');\n API.queueOperation(nativeOps.disconnectAnimatedNodes, parentTag, childTag);\n },\n startAnimatingNode: function startAnimatingNode(animationId, nodeTag, config, endCallback) {\n invariant(nativeOps, 'Native animated module is not available');\n if (useSingleOpBatching) {\n if (endCallback) {\n eventListenerAnimationFinishedCallbacks[animationId] = endCallback;\n }\n // $FlowFixMe\n API.queueOperation(nativeOps.startAnimatingNode, animationId, nodeTag, config);\n } else {\n API.queueOperation(nativeOps.startAnimatingNode, animationId, nodeTag, config, endCallback);\n }\n },\n stopAnimation: function stopAnimation(animationId) {\n invariant(nativeOps, 'Native animated module is not available');\n API.queueOperation(nativeOps.stopAnimation, animationId);\n },\n setAnimatedNodeValue: function setAnimatedNodeValue(nodeTag, value) {\n invariant(nativeOps, 'Native animated module is not available');\n API.queueOperation(nativeOps.setAnimatedNodeValue, nodeTag, value);\n },\n setAnimatedNodeOffset: function setAnimatedNodeOffset(nodeTag, offset) {\n invariant(nativeOps, 'Native animated module is not available');\n API.queueOperation(nativeOps.setAnimatedNodeOffset, nodeTag, offset);\n },\n flattenAnimatedNodeOffset: function flattenAnimatedNodeOffset(nodeTag) {\n invariant(nativeOps, 'Native animated module is not available');\n API.queueOperation(nativeOps.flattenAnimatedNodeOffset, nodeTag);\n },\n extractAnimatedNodeOffset: function extractAnimatedNodeOffset(nodeTag) {\n invariant(nativeOps, 'Native animated module is not available');\n API.queueOperation(nativeOps.extractAnimatedNodeOffset, nodeTag);\n },\n connectAnimatedNodeToView: function connectAnimatedNodeToView(nodeTag, viewTag) {\n invariant(nativeOps, 'Native animated module is not available');\n API.queueOperation(nativeOps.connectAnimatedNodeToView, nodeTag, viewTag);\n },\n disconnectAnimatedNodeFromView: function disconnectAnimatedNodeFromView(nodeTag, viewTag) {\n invariant(nativeOps, 'Native animated module is not available');\n API.queueOperation(nativeOps.disconnectAnimatedNodeFromView, nodeTag, viewTag);\n },\n restoreDefaultValues: function restoreDefaultValues(nodeTag) {\n invariant(nativeOps, 'Native animated module is not available');\n // Backwards compat with older native runtimes, can be removed later.\n if (nativeOps.restoreDefaultValues != null) {\n API.queueOperation(nativeOps.restoreDefaultValues, nodeTag);\n }\n },\n dropAnimatedNode: function dropAnimatedNode(tag) {\n invariant(nativeOps, 'Native animated module is not available');\n API.queueOperation(nativeOps.dropAnimatedNode, tag);\n },\n addAnimatedEventToView: function addAnimatedEventToView(viewTag, eventName, eventMapping) {\n invariant(nativeOps, 'Native animated module is not available');\n API.queueOperation(nativeOps.addAnimatedEventToView, viewTag, eventName, eventMapping);\n },\n removeAnimatedEventFromView(viewTag, eventName, animatedNodeTag) {\n invariant(nativeOps, 'Native animated module is not available');\n API.queueOperation(nativeOps.removeAnimatedEventFromView, viewTag, eventName, animatedNodeTag);\n }\n};\nfunction setupGlobalEventEmitterListeners() {\n globalEventEmitterGetValueListener = RCTDeviceEventEmitter.addListener('onNativeAnimatedModuleGetValue', function (params) {\n var tag = params.tag;\n var callback = eventListenerGetValueCallbacks[tag];\n if (!callback) {\n return;\n }\n callback(params.value);\n delete eventListenerGetValueCallbacks[tag];\n });\n globalEventEmitterAnimationFinishedListener = RCTDeviceEventEmitter.addListener('onNativeAnimatedModuleAnimationFinished', function (params) {\n var animationId = params.animationId;\n var callback = eventListenerAnimationFinishedCallbacks[animationId];\n if (!callback) {\n return;\n }\n callback(params);\n delete eventListenerAnimationFinishedCallbacks[animationId];\n });\n}\n\n/**\n * Styles allowed by the native animated implementation.\n *\n * In general native animated implementation should support any numeric or color property that\n * doesn't need to be updated through the shadow view hierarchy (all non-layout properties).\n */\nvar SUPPORTED_COLOR_STYLES = {\n backgroundColor: true,\n borderBottomColor: true,\n borderColor: true,\n borderEndColor: true,\n borderLeftColor: true,\n borderRightColor: true,\n borderStartColor: true,\n borderTopColor: true,\n color: true,\n tintColor: true\n};\nvar SUPPORTED_STYLES = _objectSpread(_objectSpread({}, SUPPORTED_COLOR_STYLES), {}, {\n borderBottomEndRadius: true,\n borderBottomLeftRadius: true,\n borderBottomRightRadius: true,\n borderBottomStartRadius: true,\n borderRadius: true,\n borderTopEndRadius: true,\n borderTopLeftRadius: true,\n borderTopRightRadius: true,\n borderTopStartRadius: true,\n elevation: true,\n opacity: true,\n transform: true,\n zIndex: true,\n /* ios styles */\n shadowOpacity: true,\n shadowRadius: true,\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};\nfunction addWhitelistedStyleProp(prop) {\n SUPPORTED_STYLES[prop] = true;\n}\nfunction addWhitelistedTransformProp(prop) {\n SUPPORTED_TRANSFORMS[prop] = true;\n}\nfunction addWhitelistedInterpolationParam(param) {\n SUPPORTED_INTERPOLATION_PARAMS[param] = true;\n}\nfunction isSupportedColorStyleProp(prop) {\n return SUPPORTED_COLOR_STYLES.hasOwnProperty(prop);\n}\nfunction isSupportedStyleProp(prop) {\n return SUPPORTED_STYLES.hasOwnProperty(prop);\n}\nfunction isSupportedTransformProp(prop) {\n return SUPPORTED_TRANSFORMS.hasOwnProperty(prop);\n}\nfunction isSupportedInterpolationParam(param) {\n return SUPPORTED_INTERPOLATION_PARAMS.hasOwnProperty(param);\n}\nfunction validateTransform(configs) {\n configs.forEach(config => {\n if (!isSupportedTransformProp(config.property)) {\n throw new Error(\"Property '\" + config.property + \"' is not supported by native animated module\");\n }\n });\n}\nfunction validateStyles(styles) {\n for (var _key2 in styles) {\n if (!isSupportedStyleProp(_key2)) {\n throw new Error(\"Style property '\" + _key2 + \"' is not supported by native animated module\");\n }\n }\n}\nfunction validateInterpolation(config) {\n for (var _key3 in config) {\n if (!isSupportedInterpolationParam(_key3)) {\n throw new Error(\"Interpolation property '\" + _key3 + \"' is not supported by native animated module\");\n }\n }\n}\nfunction generateNewNodeTag() {\n return __nativeAnimatedNodeTagCount++;\n}\nfunction generateNewAnimationId() {\n return __nativeAnimationIdCount++;\n}\nfunction assertNativeAnimatedModule() {\n invariant(NativeAnimatedModule, 'Native animated module is not available');\n}\nvar _warnedMissingNativeAnimated = false;\nfunction 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 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 `bundle exec pod install` first. Read more about autolinking: https://github.com/react-native-community/cli/blob/master/docs/autolinking.md');\n _warnedMissingNativeAnimated = true;\n }\n return false;\n }\n return config.useNativeDriver || false;\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 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}\nexport { API, isSupportedColorStyleProp, isSupportedStyleProp, isSupportedTransformProp, isSupportedInterpolationParam, addWhitelistedStyleProp, addWhitelistedTransformProp, addWhitelistedInterpolationParam, validateStyles, validateTransform, validateInterpolation, generateNewNodeTag, generateNewAnimationId, assertNativeAnimatedModule, shouldUseNativeDriver, transformDataType };\nexport default {\n API,\n isSupportedColorStyleProp,\n isSupportedStyleProp,\n isSupportedTransformProp,\n isSupportedInterpolationParam,\n addWhitelistedStyleProp,\n addWhitelistedTransformProp,\n addWhitelistedInterpolationParam,\n validateStyles,\n validateTransform,\n validateInterpolation,\n generateNewNodeTag,\n generateNewAnimationId,\n assertNativeAnimatedModule,\n shouldUseNativeDriver,\n transformDataType,\n // $FlowExpectedError[unsafe-getters-setters] - unsafe getter lint suppresion\n // $FlowExpectedError[missing-type-arg] - unsafe getter lint suppresion\n get nativeEventEmitter() {\n if (!nativeEventEmitter) {\n nativeEventEmitter = new NativeEventEmitter(\n // T88715063: NativeEventEmitter only used this parameter on iOS. Now it uses it on all platforms, so this code was modified automatically to preserve its behavior\n // If you want to use the native module on other platforms, please remove this condition and test its behavior\n Platform.OS !== 'ios' ? null : NativeAnimatedModule);\n }\n return nativeEventEmitter;\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\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 * \n * @format\n */\n\n'use strict';\n\nimport NativeAnimatedHelper from '../NativeAnimatedHelper';\nvar NativeAnimatedAPI = NativeAnimatedHelper.API;\nimport invariant from 'fbjs/lib/invariant';\nvar _uniqueId = 1;\n\n// Note(vjeux): this would be better as an interface but flow doesn't\n// support them yet\nclass AnimatedNode {\n __attach() {}\n __detach() {\n if (this.__isNative && this.__nativeTag != null) {\n NativeAnimatedHelper.API.dropAnimatedNode(this.__nativeTag);\n this.__nativeTag = undefined;\n }\n }\n __getValue() {}\n __getAnimatedValue() {\n return this.__getValue();\n }\n __addChild(child) {}\n __removeChild(child) {}\n __getChildren() {\n return [];\n }\n\n /* Methods and props used by native Animated impl */\n\n constructor() {\n this._listeners = {};\n }\n __makeNative(platformConfig) {\n if (!this.__isNative) {\n throw new Error('This node cannot be made a \"native\" animated node');\n }\n this._platformConfig = platformConfig;\n if (this.hasListeners()) {\n this._startListeningToNativeValueUpdates();\n }\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#addlistener\n */\n addListener(callback) {\n var id = String(_uniqueId++);\n this._listeners[id] = callback;\n if (this.__isNative) {\n this._startListeningToNativeValueUpdates();\n }\n return id;\n }\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#removelistener\n */\n removeListener(id) {\n delete this._listeners[id];\n if (this.__isNative && !this.hasListeners()) {\n this._stopListeningForNativeValueUpdates();\n }\n }\n\n /**\n * Remove all registered listeners.\n *\n * See https://reactnative.dev/docs/animatedvalue#removealllisteners\n */\n removeAllListeners() {\n this._listeners = {};\n if (this.__isNative) {\n this._stopListeningForNativeValueUpdates();\n }\n }\n hasListeners() {\n return !!Object.keys(this._listeners).length;\n }\n _startListeningToNativeValueUpdates() {\n if (this.__nativeAnimatedValueListener && !this.__shouldUpdateListenersForNewNativeTag) {\n return;\n }\n if (this.__shouldUpdateListenersForNewNativeTag) {\n this.__shouldUpdateListenersForNewNativeTag = false;\n this._stopListeningForNativeValueUpdates();\n }\n NativeAnimatedAPI.startListeningToAnimatedNodeValue(this.__getNativeTag());\n this.__nativeAnimatedValueListener = NativeAnimatedHelper.nativeEventEmitter.addListener('onAnimatedValueUpdate', data => {\n if (data.tag !== this.__getNativeTag()) {\n return;\n }\n this.__onAnimatedValueUpdateReceived(data.value);\n });\n }\n __onAnimatedValueUpdateReceived(value) {\n this.__callListeners(value);\n }\n __callListeners(value) {\n for (var _key in this._listeners) {\n this._listeners[_key]({\n value\n });\n }\n }\n _stopListeningForNativeValueUpdates() {\n if (!this.__nativeAnimatedValueListener) {\n return;\n }\n this.__nativeAnimatedValueListener.remove();\n this.__nativeAnimatedValueListener = null;\n NativeAnimatedAPI.stopListeningToAnimatedNodeValue(this.__getNativeTag());\n }\n __getNativeTag() {\n var _this$__nativeTag;\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 if (this.__nativeTag == null) {\n this.__nativeTag = nativeTag;\n var config = this.__getNativeConfig();\n if (this._platformConfig) {\n config.platformConfig = this._platformConfig;\n }\n NativeAnimatedHelper.API.createAnimatedNode(nativeTag, config);\n this.__shouldUpdateListenersForNewNativeTag = true;\n }\n return nativeTag;\n }\n __getNativeConfig() {\n throw new Error('This JS animated node type cannot be used as native animated node');\n }\n toJSON() {\n return this.__getValue();\n }\n __getPlatformConfig() {\n return this._platformConfig;\n }\n __setPlatformConfig(platformConfig) {\n this._platformConfig = platformConfig;\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\n'use strict';\n\nimport _createForOfIteratorHelperLoose from \"@babel/runtime/helpers/createForOfIteratorHelperLoose\";\nimport AnimatedNode from './AnimatedNode';\nimport NativeAnimatedHelper from '../NativeAnimatedHelper';\nclass AnimatedWithChildren extends AnimatedNode {\n constructor() {\n super();\n this._children = [];\n }\n __makeNative(platformConfig) {\n if (!this.__isNative) {\n this.__isNative = true;\n for (var _iterator = _createForOfIteratorHelperLoose(this._children), _step; !(_step = _iterator()).done;) {\n var child = _step.value;\n child.__makeNative(platformConfig);\n NativeAnimatedHelper.API.connectAnimatedNodes(this.__getNativeTag(), child.__getNativeTag());\n }\n }\n super.__makeNative(platformConfig);\n }\n __addChild(child) {\n if (this._children.length === 0) {\n this.__attach();\n }\n this._children.push(child);\n if (this.__isNative) {\n // Only accept \"native\" animated nodes as children\n child.__makeNative(this.__getPlatformConfig());\n NativeAnimatedHelper.API.connectAnimatedNodes(this.__getNativeTag(), child.__getNativeTag());\n }\n }\n __removeChild(child) {\n var index = this._children.indexOf(child);\n if (index === -1) {\n console.warn(\"Trying to remove a child that doesn't exist\");\n return;\n }\n if (this.__isNative && child.__isNative) {\n NativeAnimatedHelper.API.disconnectAnimatedNodes(this.__getNativeTag(), child.__getNativeTag());\n }\n this._children.splice(index, 1);\n if (this._children.length === 0) {\n this.__detach();\n }\n }\n __getChildren() {\n return this._children;\n }\n __callListeners(value) {\n super.__callListeners(value);\n if (!this.__isNative) {\n for (var _iterator2 = _createForOfIteratorHelperLoose(this._children), _step2; !(_step2 = _iterator2()).done;) {\n var child = _step2.value;\n // $FlowFixMe[method-unbinding] added when improving typing for this parameters\n if (child.__getValue) {\n child.__callListeners(child.__getValue());\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 * \n * @format\n */\n\n/* eslint no-bitwise: 0 */\n\n'use strict';\n\nimport _objectSpread from \"@babel/runtime/helpers/objectSpread2\";\nimport AnimatedWithChildren from './AnimatedWithChildren';\nimport NativeAnimatedHelper from '../NativeAnimatedHelper';\nimport invariant from 'fbjs/lib/invariant';\nimport normalizeColor from '@react-native/normalize-colors';\nvar __DEV__ = process.env.NODE_ENV !== 'production';\nvar linear = t => t;\n\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 */\nfunction createInterpolation(config) {\n if (config.outputRange && typeof config.outputRange[0] === 'string') {\n return createInterpolationFromStringOutputRange(config);\n }\n var outputRange = config.outputRange;\n var inputRange = config.inputRange;\n if (__DEV__) {\n checkInfiniteRange('outputRange', outputRange);\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 }\n var easing = config.easing || linear;\n var extrapolateLeft = 'extend';\n if (config.extrapolateLeft !== undefined) {\n extrapolateLeft = config.extrapolateLeft;\n } else if (config.extrapolate !== undefined) {\n extrapolateLeft = config.extrapolate;\n }\n var extrapolateRight = 'extend';\n if (config.extrapolateRight !== undefined) {\n extrapolateRight = config.extrapolateRight;\n } else if (config.extrapolate !== undefined) {\n extrapolateRight = config.extrapolate;\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}\nfunction interpolate(input, inputMin, inputMax, outputMin, outputMax, easing, extrapolateLeft, extrapolateRight) {\n var result = input;\n\n // Extrapolate\n if (result < inputMin) {\n if (extrapolateLeft === 'identity') {\n return result;\n } else if (extrapolateLeft === 'clamp') {\n result = inputMin;\n } else if (extrapolateLeft === 'extend') {\n // noop\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') {\n // noop\n }\n }\n if (outputMin === outputMax) {\n return outputMin;\n }\n if (inputMin === inputMax) {\n if (input <= inputMin) {\n return outputMin;\n }\n return outputMax;\n }\n\n // Input Range\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 }\n\n // Easing\n result = easing(result);\n\n // Output Range\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 return result;\n}\nfunction colorToRgba(input) {\n var normalizedColor = normalizeColor(input);\n if (normalizedColor === null || typeof normalizedColor !== 'number') {\n return input;\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}\nvar stringShapeRegex = /[+-]?(?:\\d+\\.?\\d*|\\.\\d+)(?:[eE][+-]?\\d+)?/g;\n\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 */\nfunction createInterpolationFromStringOutputRange(config) {\n var outputRange = config.outputRange;\n invariant(outputRange.length >= 2, 'Bad output range');\n outputRange = outputRange.map(colorToRgba);\n checkPattern(outputRange);\n\n // ['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 /* $FlowFixMe[incompatible-use] (>=0.18.0): `outputRange[0].match()` can\n * return `null`. Need to guard against this possibility. */\n var outputRanges = outputRange[0].match(stringShapeRegex).map(() => []);\n outputRange.forEach(value => {\n /* $FlowFixMe[incompatible-use] (>=0.18.0): `value.match()` can return\n * `null`. Need to guard against this possibility. */\n value.match(stringShapeRegex).forEach((number, i) => {\n outputRanges[i].push(+number);\n });\n });\n var interpolations = outputRange[0].match(stringShapeRegex)\n /* $FlowFixMe[incompatible-use] (>=0.18.0): `outputRange[0].match()` can\n * return `null`. Need to guard against this possibility. */\n /* $FlowFixMe[incompatible-call] (>=0.18.0): `outputRange[0].match()` can\n * return `null`. Need to guard against this possibility. */.map((value, i) => {\n return createInterpolation(_objectSpread(_objectSpread({}, config), {}, {\n outputRange: outputRanges[i]\n }));\n });\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 var shouldRound = isRgbOrRgba(outputRange[0]);\n return input => {\n var i = 0;\n // 'rgba(0, 100, 200, 0)'\n // ->\n // 'rgba(${interpolations[0](input)}, ${interpolations[1](input)}, ...'\n return outputRange[0].replace(stringShapeRegex, () => {\n var val = +interpolations[i++](input);\n if (shouldRound) {\n val = i < 4 ? Math.round(val) : Math.round(val * 1000) / 1000;\n }\n return String(val);\n });\n };\n}\nfunction isRgbOrRgba(range) {\n return typeof range === 'string' && range.startsWith('rgb');\n}\nfunction checkPattern(arr) {\n var pattern = arr[0].replace(stringShapeRegex, '');\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}\nfunction findRange(input, inputRange) {\n var i;\n for (i = 1; i < inputRange.length - 1; ++i) {\n if (inputRange[i] >= input) {\n break;\n }\n }\n return i - 1;\n}\nfunction checkValidInputRange(arr) {\n invariant(arr.length >= 2, 'inputRange must have at least 2 elements');\n var message = 'inputRange must be monotonically non-decreasing ' + String(arr);\n for (var i = 1; i < arr.length; ++i) {\n invariant(arr[i] >= arr[i - 1], message);\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[incompatible-type] (>=0.13.0) - In the addition expression\n * below this comment, one or both of the operands may be something that\n * doesn't cleanly convert to a string, like undefined, null, and object,\n * etc. If you really mean this implicit string conversion, you can do\n * something like String(myThing) */\n name + 'cannot be ]-infinity;+infinity[ ' + arr);\n}\nclass AnimatedInterpolation extends AnimatedWithChildren {\n // Export for testing.\n\n constructor(parent, config) {\n super();\n this._parent = parent;\n this._config = config;\n this._interpolation = createInterpolation(config);\n }\n __makeNative(platformConfig) {\n this._parent.__makeNative(platformConfig);\n super.__makeNative(platformConfig);\n }\n __getValue() {\n var parentValue = this._parent.__getValue();\n invariant(typeof parentValue === 'number', 'Cannot interpolate an input which is not a number.');\n return this._interpolation(parentValue);\n }\n interpolate(config) {\n return new AnimatedInterpolation(this, config);\n }\n __attach() {\n this._parent.__addChild(this);\n }\n __detach() {\n this._parent.__removeChild(this);\n super.__detach();\n }\n __transformDataType(range) {\n return range.map(NativeAnimatedHelper.transformDataType);\n }\n __getNativeConfig() {\n if (__DEV__) {\n NativeAnimatedHelper.validateInterpolation(this._config);\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 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}\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\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/**\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 */\nfunction _flush(rootNode) {\n var animatedStyles = new Set();\n function findAnimatedStyles(node) {\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 error\n * delete this comment and run Flow. */\n if (typeof node.update === 'function') {\n animatedStyles.add(node);\n } else {\n node.__getChildren().forEach(findAnimatedStyles);\n }\n }\n findAnimatedStyles(rootNode);\n // $FlowFixMe[prop-missing]\n animatedStyles.forEach(animatedStyle => animatedStyle.update());\n}\n\n/**\n * Some operations are executed only on batch end, which is _mostly_ scheduled when\n * Animated component props change. For some of the changes which require immediate execution\n * (e.g. setValue), we create a separate batch in case none is scheduled.\n */\nfunction _executeAsAnimatedBatch(id, operation) {\n NativeAnimatedAPI.setWaitingForIdentifier(id);\n operation();\n NativeAnimatedAPI.unsetWaitingForIdentifier(id);\n}\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\n */\nclass AnimatedValue extends AnimatedWithChildren {\n constructor(value, config) {\n super();\n if (typeof value !== 'number') {\n throw new Error('AnimatedValue: Attempting to set value to undefined');\n }\n this._startingValue = this._value = value;\n this._offset = 0;\n this._animation = null;\n if (config && config.useNativeDriver) {\n this.__makeNative();\n }\n }\n __detach() {\n if (this.__isNative) {\n NativeAnimatedAPI.getValue(this.__getNativeTag(), value => {\n this._value = value - this._offset;\n });\n }\n this.stopAnimation();\n super.__detach();\n }\n __getValue() {\n return this._value + this._offset;\n }\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#setvalue\n */\n setValue(value) {\n if (this._animation) {\n this._animation.stop();\n this._animation = null;\n }\n this._updateValue(value, !this.__isNative /* don't perform a flush for natively driven values */);\n\n if (this.__isNative) {\n _executeAsAnimatedBatch(this.__getNativeTag().toString(), () => NativeAnimatedAPI.setAnimatedNodeValue(this.__getNativeTag(), value));\n }\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#setoffset\n */\n setOffset(offset) {\n this._offset = offset;\n if (this.__isNative) {\n NativeAnimatedAPI.setAnimatedNodeOffset(this.__getNativeTag(), offset);\n }\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#flattenoffset\n */\n flattenOffset() {\n this._value += this._offset;\n this._offset = 0;\n if (this.__isNative) {\n NativeAnimatedAPI.flattenAnimatedNodeOffset(this.__getNativeTag());\n }\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#extractoffset\n */\n extractOffset() {\n this._offset += this._value;\n this._value = 0;\n if (this.__isNative) {\n NativeAnimatedAPI.extractAnimatedNodeOffset(this.__getNativeTag());\n }\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#stopanimation\n */\n stopAnimation(callback) {\n this.stopTracking();\n this._animation && this._animation.stop();\n this._animation = null;\n if (callback) {\n if (this.__isNative) {\n NativeAnimatedAPI.getValue(this.__getNativeTag(), callback);\n } else {\n callback(this.__getValue());\n }\n }\n }\n\n /**\n * Stops any animation and resets the value to its original.\n *\n * See https://reactnative.dev/docs/animatedvalue#resetanimation\n */\n resetAnimation(callback) {\n this.stopAnimation(callback);\n this._value = this._startingValue;\n if (this.__isNative) {\n NativeAnimatedAPI.setAnimatedNodeValue(this.__getNativeTag(), this._startingValue);\n }\n }\n __onAnimatedValueUpdateReceived(value) {\n this._updateValue(value, false /*flush*/);\n }\n\n /**\n * Interpolates the value before updating the property, e.g. mapping 0-1 to\n * 0-10.\n */\n interpolate(config) {\n return new AnimatedInterpolation(this, config);\n }\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#animate\n */\n animate(animation, callback) {\n var handle = null;\n if (animation.__isInteraction) {\n handle = InteractionManager.createInteractionHandle();\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\n this._updateValue(value, true /* flush */);\n }, result => {\n this._animation = null;\n if (handle !== null) {\n InteractionManager.clearInteractionHandle(handle);\n }\n callback && callback(result);\n }, previousAnimation, this);\n }\n\n /**\n * Typically only used internally.\n */\n stopTracking() {\n this._tracking && this._tracking.__detach();\n this._tracking = null;\n }\n\n /**\n * Typically only used internally.\n */\n track(tracking) {\n this.stopTracking();\n this._tracking = tracking;\n // Make sure that the tracking animation starts executing\n this._tracking && this._tracking.update();\n }\n _updateValue(value, flush) {\n if (value === undefined) {\n throw new Error('AnimatedValue: Attempting to set value to undefined');\n }\n this._value = value;\n if (flush) {\n _flush(this);\n }\n super.__callListeners(this.__getValue());\n }\n __getNativeConfig() {\n return {\n type: 'value',\n value: this._value,\n offset: this._offset\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\n'use strict';\n\nimport AnimatedValue from './nodes/AnimatedValue';\nimport NativeAnimatedHelper from './NativeAnimatedHelper';\nimport invariant from 'fbjs/lib/invariant';\nimport { shouldUseNativeDriver } from './NativeAnimatedHelper';\nvar __DEV__ = process.env.NODE_ENV !== 'production';\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 var traverse = (value, path) => {\n if (value instanceof AnimatedValue) {\n value.__makeNative();\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 invariant(argMapping[0] && argMapping[0].nativeEvent, 'Native driven events only support animated values contained inside `nativeEvent`.');\n\n // Assume that the event containing `nativeEvent` is always the first argument.\n traverse(argMapping[0].nativeEvent, []);\n if (viewRef != null) {\n eventMappings.forEach(mapping => {\n NativeAnimatedHelper.API.addAnimatedEventToView(viewRef, eventName, mapping);\n });\n }\n return {\n detach() {\n if (viewRef != null) {\n eventMappings.forEach(mapping => {\n NativeAnimatedHelper.API.removeAnimatedEventFromView(viewRef, eventName,\n // $FlowFixMe[incompatible-call]\n mapping.animatedValueTag);\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 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 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 for (var mappingKey in recMapping) {\n validate(recMapping[mappingKey], recEvt[mappingKey], mappingKey);\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}\nexport class AnimatedEvent {\n constructor(argMapping, config) {\n this._listeners = [];\n this._argMapping = argMapping;\n if (config == null) {\n console.warn('Animated.event now requires a second argument for options');\n config = {\n useNativeDriver: false\n };\n }\n if (config.listener) {\n this.__addListener(config.listener);\n }\n this._callListeners = this._callListeners.bind(this);\n this._attachedEvent = null;\n this.__isNative = shouldUseNativeDriver(config);\n }\n __addListener(callback) {\n this._listeners.push(callback);\n }\n __removeListener(callback) {\n this._listeners = this._listeners.filter(listener => listener !== callback);\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 __detach(viewTag, eventName) {\n invariant(this.__isNative, 'Only native driven events need to be detached.');\n this._attachedEvent && this._attachedEvent.detach();\n }\n __getHandler() {\n var _this = this;\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 if (!_validatedMapping) {\n validateMapping(_this._argMapping, args);\n _validatedMapping = true;\n }\n _this._callListeners(...args);\n };\n } else {\n return this._callListeners;\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 if (__DEV__ && !validatedMapping) {\n validateMapping(_this._argMapping, args);\n validatedMapping = true;\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 _this._argMapping.forEach((mapping, idx) => {\n traverse(mapping, args[idx], 'arg' + idx);\n });\n _this._callListeners(...args);\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 this._listeners.forEach(listener => listener(...args));\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\n'use strict';\n\nimport AnimatedNode from './AnimatedNode';\nimport AnimatedWithChildren from './AnimatedWithChildren';\nimport NativeAnimatedHelper from '../NativeAnimatedHelper';\nclass AnimatedTransform extends AnimatedWithChildren {\n constructor(transforms) {\n super();\n this._transforms = transforms;\n }\n __makeNative() {\n this._transforms.forEach(transform => {\n for (var key in transform) {\n var value = transform[key];\n if (value instanceof AnimatedNode) {\n value.__makeNative();\n }\n }\n });\n super.__makeNative();\n }\n __getValue() {\n return this._transforms.map(transform => {\n var result = {};\n for (var key in transform) {\n var value = transform[key];\n if (value instanceof AnimatedNode) {\n result[key] = value.__getValue();\n } else {\n result[key] = value;\n }\n }\n return result;\n });\n }\n __getAnimatedValue() {\n return this._transforms.map(transform => {\n var result = {};\n for (var key in transform) {\n var value = transform[key];\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 return result;\n });\n }\n __attach() {\n this._transforms.forEach(transform => {\n for (var key in transform) {\n var value = transform[key];\n if (value instanceof AnimatedNode) {\n value.__addChild(this);\n }\n }\n });\n }\n __detach() {\n this._transforms.forEach(transform => {\n for (var key in transform) {\n var value = transform[key];\n if (value instanceof AnimatedNode) {\n value.__removeChild(this);\n }\n }\n });\n super.__detach();\n }\n __getNativeConfig() {\n var transConfigs = [];\n this._transforms.forEach(transform => {\n for (var key in transform) {\n var value = transform[key];\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 NativeAnimatedHelper.validateTransform(transConfigs);\n return {\n type: 'transform',\n transforms: transConfigs\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\n'use strict';\n\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;\nfunction createAnimatedStyle(inputStyle) {\n var style = flattenStyle(inputStyle);\n var animatedStyles = {};\n for (var key in style) {\n var value = style[key];\n if (key === 'transform' && Array.isArray(value)) {\n animatedStyles[key] = new AnimatedTransform(value);\n } else if (value instanceof AnimatedNode) {\n animatedStyles[key] = value;\n } else if (value && !Array.isArray(value) && typeof value === 'object') {\n animatedStyles[key] = createAnimatedStyle(value);\n }\n }\n return animatedStyles;\n}\nclass AnimatedStyle extends AnimatedWithChildren {\n constructor(style) {\n super();\n this._inputStyle = style;\n this._style = createAnimatedStyle(style);\n }\n\n // Recursively get values for nested styles (like iOS's shadowOffset)\n _walkStyleAndGetValues(style) {\n var updatedStyle = {};\n for (var key in style) {\n var value = style[key];\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 return updatedStyle;\n }\n __getValue() {\n return [this._inputStyle, this._walkStyleAndGetValues(this._style)];\n }\n\n // Recursively get animated values for nested styles (like iOS's shadowOffset)\n _walkStyleAndGetAnimatedValues(style) {\n var updatedStyle = {};\n for (var key in style) {\n var value = style[key];\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 return updatedStyle;\n }\n __getAnimatedValue() {\n return this._walkStyleAndGetAnimatedValues(this._style);\n }\n __attach() {\n for (var key in this._style) {\n var value = this._style[key];\n if (value instanceof AnimatedNode) {\n value.__addChild(this);\n }\n }\n }\n __detach() {\n for (var key in this._style) {\n var value = this._style[key];\n if (value instanceof AnimatedNode) {\n value.__removeChild(this);\n }\n }\n super.__detach();\n }\n __makeNative() {\n for (var key in this._style) {\n var value = this._style[key];\n if (value instanceof AnimatedNode) {\n value.__makeNative();\n }\n }\n super.__makeNative();\n }\n __getNativeConfig() {\n var styleConfig = {};\n for (var styleKey in this._style) {\n if (this._style[styleKey] instanceof AnimatedNode) {\n var style = this._style[styleKey];\n style.__makeNative();\n styleConfig[styleKey] = style.__getNativeTag();\n }\n }\n NativeAnimatedHelper.validateStyles(styleConfig);\n return {\n type: 'style',\n style: styleConfig\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\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 invariant from 'fbjs/lib/invariant';\nclass AnimatedProps extends AnimatedNode {\n constructor(props, callback) {\n super();\n if (props.style) {\n props = _objectSpread(_objectSpread({}, props), {}, {\n style: new AnimatedStyle(props.style)\n });\n }\n this._props = props;\n this._callback = callback;\n this.__attach();\n }\n __getValue() {\n var props = {};\n for (var key in this._props) {\n var value = this._props[key];\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 return props;\n }\n __getAnimatedValue() {\n var props = {};\n for (var key in this._props) {\n var value = this._props[key];\n if (value instanceof AnimatedNode) {\n props[key] = value.__getAnimatedValue();\n }\n }\n return props;\n }\n __attach() {\n for (var key in this._props) {\n var value = this._props[key];\n if (value instanceof AnimatedNode) {\n value.__addChild(this);\n }\n }\n }\n __detach() {\n if (this.__isNative && this._animatedView) {\n this.__disconnectAnimatedView();\n }\n for (var key in this._props) {\n var value = this._props[key];\n if (value instanceof AnimatedNode) {\n value.__removeChild(this);\n }\n }\n super.__detach();\n }\n update() {\n this._callback();\n }\n __makeNative() {\n if (!this.__isNative) {\n this.__isNative = true;\n for (var key in this._props) {\n var value = this._props[key];\n if (value instanceof AnimatedNode) {\n value.__makeNative();\n }\n }\n if (this._animatedView) {\n this.__connectAnimatedView();\n }\n }\n }\n setNativeView(animatedView) {\n if (this._animatedView === animatedView) {\n return;\n }\n this._animatedView = animatedView;\n if (this.__isNative) {\n this.__connectAnimatedView();\n }\n }\n __connectAnimatedView() {\n invariant(this.__isNative, 'Expected node to be marked as \"native\"');\n var nativeViewTag = this._animatedView;\n invariant(nativeViewTag != null, 'Unable to locate attached view in the native tree');\n NativeAnimatedHelper.API.connectAnimatedNodeToView(this.__getNativeTag(), nativeViewTag);\n }\n __disconnectAnimatedView() {\n invariant(this.__isNative, 'Expected node to be marked as \"native\"');\n var nativeViewTag = this._animatedView;\n invariant(nativeViewTag != null, 'Unable to locate attached view in the native tree');\n NativeAnimatedHelper.API.disconnectAnimatedNodeFromView(this.__getNativeTag(), nativeViewTag);\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 __getNativeConfig() {\n var propsConfig = {};\n for (var propKey in this._props) {\n var value = this._props[propKey];\n if (value instanceof AnimatedNode) {\n value.__makeNative();\n propsConfig[propKey] = value.__getNativeTag();\n }\n }\n return {\n type: 'props',\n props: propsConfig\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\n'use strict';\n\nimport _objectSpread from \"@babel/runtime/helpers/objectSpread2\";\nimport AnimatedProps from './nodes/AnimatedProps';\nimport { AnimatedEvent } from './AnimatedEvent';\nimport useRefEffect from '../Utilities/useRefEffect';\nimport NativeAnimatedHelper from './NativeAnimatedHelper';\nimport { useCallback, useEffect, useMemo, useReducer, useRef } from 'react';\nimport useLayoutEffect from '../../../modules/useLayoutEffect';\nexport default function useAnimatedProps(props) {\n var _useReducer = useReducer(count => count + 1, 0),\n scheduleUpdate = _useReducer[1];\n var onUpdateRef = useRef(null);\n\n // TODO: Only invalidate `node` if animated props or `style` change. In the\n // previous implementation, we permitted `style` to override props with the\n // same name property name as styles, so we can probably continue doing that.\n // The ordering of other props *should* not matter.\n var node = useMemo(() => new AnimatedProps(props, () => onUpdateRef.current == null ? void 0 : onUpdateRef.current()), [props]);\n useAnimatedPropsLifecycle(node);\n\n // TODO: This \"effect\" does three things:\n //\n // 1) Call `setNativeView`.\n // 2) Update `onUpdateRef`.\n // 3) Update listeners for `AnimatedEvent` props.\n //\n // Ideally, each of these would be separat \"effects\" so that they are not\n // unnecessarily re-run when irrelevant dependencies change. For example, we\n // should be able to hoist all `AnimatedEvent` props and only do #3 if either\n // the `AnimatedEvent` props change or `instance` changes.\n //\n // But there is no way to transparently compose three separate callback refs,\n // so we just combine them all into one for now.\n var refEffect = useCallback(instance => {\n // NOTE: This may be called more often than necessary (e.g. when `props`\n // changes), but `setNativeView` already optimizes for that.\n node.setNativeView(instance);\n\n // NOTE: This callback is only used by the JavaScript animation driver.\n onUpdateRef.current = () => {\n // Schedule an update for this component to update `reducedProps`,\n // but do not compute it immediately. If a parent also updated, we\n // need to merge those new props in before updating.\n scheduleUpdate();\n };\n var target = getEventTarget(instance);\n var events = [];\n for (var propName in props) {\n var propValue = props[propName];\n if (propValue instanceof AnimatedEvent && propValue.__isNative) {\n propValue.__attach(target, propName);\n events.push([propName, propValue]);\n }\n }\n return () => {\n onUpdateRef.current = null;\n for (var _i = 0, _events = events; _i < _events.length; _i++) {\n var _events$_i = _events[_i],\n _propName = _events$_i[0],\n _propValue = _events$_i[1];\n _propValue.__detach(target, _propName);\n }\n };\n }, [props, node]);\n var callbackRef = useRefEffect(refEffect);\n return [reduceAnimatedProps(node), callbackRef];\n}\nfunction reduceAnimatedProps(node) {\n // Force `collapsable` to be false so that the native view is not flattened.\n // Flattened views cannot be accurately referenced by the native driver.\n return _objectSpread(_objectSpread({}, node.__getValue()), {}, {\n collapsable: false\n });\n}\n\n/**\n * Manages the lifecycle of the supplied `AnimatedProps` by invoking `__attach`\n * and `__detach`. However, this is more complicated because `AnimatedProps`\n * uses reference counting to determine when to recursively detach its children\n * nodes. So in order to optimize this, we avoid detaching until the next attach\n * unless we are unmounting.\n */\nfunction useAnimatedPropsLifecycle(node) {\n var prevNodeRef = useRef(null);\n var isUnmountingRef = useRef(false);\n useEffect(() => {\n // It is ok for multiple components to call `flushQueue` because it noops\n // if the queue is empty. When multiple animated components are mounted at\n // the same time. Only first component flushes the queue and the others will noop.\n NativeAnimatedHelper.API.flushQueue();\n });\n useLayoutEffect(() => {\n isUnmountingRef.current = false;\n return () => {\n isUnmountingRef.current = true;\n };\n }, []);\n useLayoutEffect(() => {\n node.__attach();\n if (prevNodeRef.current != null) {\n var prevNode = prevNodeRef.current;\n // TODO: Stop restoring default values (unless `reset` is called).\n prevNode.__restoreDefaultValues();\n prevNode.__detach();\n prevNodeRef.current = null;\n }\n return () => {\n if (isUnmountingRef.current) {\n // NOTE: Do not restore default values on unmount, see D18197735.\n node.__detach();\n } else {\n prevNodeRef.current = node;\n }\n };\n }, [node]);\n}\nfunction getEventTarget(instance) {\n return typeof instance === 'object' && typeof (instance == null ? void 0 : instance.getScrollableNode) === 'function' ?\n // $FlowFixMe[incompatible-use] - Legacy instance assumptions.\n instance.getScrollableNode() : instance;\n}\n\n// $FlowFixMe[unclear-type] - Legacy instance assumptions.\nfunction isFabricInstance(instance) {\n var _instance$getScrollRe;\n return hasFabricHandle(instance) ||\n // 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 instance would actually be the underlying host component and the above check\n // would be sufficient.\n hasFabricHandle(instance == null ? void 0 : instance.getNativeScrollRef == null ? void 0 : instance.getNativeScrollRef()) || hasFabricHandle(instance == null ? void 0 : instance.getScrollResponder == null ? void 0 : (_instance$getScrollRe = instance.getScrollResponder()) == null ? void 0 : _instance$getScrollRe.getNativeScrollRef == null ? void 0 : _instance$getScrollRe.getNativeScrollRef());\n}\n\n// $FlowFixMe[unclear-type] - Legacy instance assumptions.\nfunction hasFabricHandle(instance) {\n var _instance$_internalIn, _instance$_internalIn2;\n // eslint-disable-next-line dot-notation\n return (instance == null ? void 0 : (_instance$_internalIn = instance['_internalInstanceHandle']) == null ? void 0 : (_instance$_internalIn2 = _instance$_internalIn.stateNode) == null ? void 0 : _instance$_internalIn2.canonical) != null;\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\nimport { useCallback, useRef } from 'react';\n/**\n * Constructs a callback ref that provides similar semantics as `useEffect`. The\n * supplied `effect` callback will be called with non-null component instances.\n * The `effect` callback can also optionally return a cleanup function.\n *\n * When a component is updated or unmounted, the cleanup function is called. The\n * `effect` callback will then be called again, if applicable.\n *\n * When a new `effect` callback is supplied, the previously returned cleanup\n * function will be called before the new `effect` callback is called with the\n * same instance.\n *\n * WARNING: The `effect` callback should be stable (e.g. using `useCallback`).\n */\nexport default function useRefEffect(effect) {\n var cleanupRef = useRef(undefined);\n return useCallback(instance => {\n if (cleanupRef.current) {\n cleanupRef.current();\n cleanupRef.current = undefined;\n }\n if (instance != null) {\n cleanupRef.current = effect(instance);\n }\n }, [effect]);\n}","import _extends from \"@babel/runtime/helpers/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/objectWithoutPropertiesLoose\";\nvar _excluded = [\"style\"];\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\nimport useAnimatedProps from './useAnimatedProps';\nimport useMergeRefs from '../Utilities/useMergeRefs';\nimport StyleSheet from '../../../exports/StyleSheet';\nimport View from '../../../exports/View';\nimport * as React from 'react';\n/**\n * Experimental implementation of `createAnimatedComponent` that is intended to\n * be compatible with concurrent rendering.\n */\nexport default function createAnimatedComponent(Component) {\n return /*#__PURE__*/React.forwardRef((props, forwardedRef) => {\n var _useAnimatedProps = useAnimatedProps(props),\n reducedProps = _useAnimatedProps[0],\n callbackRef = _useAnimatedProps[1];\n var ref = useMergeRefs(callbackRef, forwardedRef);\n\n // Some components require explicit passthrough values for animation\n // to work properly. For example, if an animated component is\n // transformed and Pressable, onPress will not work after transform\n // without these passthrough values.\n // $FlowFixMe[prop-missing]\n var passthroughAnimatedPropExplicitValues = reducedProps.passthroughAnimatedPropExplicitValues,\n style = reducedProps.style;\n var _ref = passthroughAnimatedPropExplicitValues !== null && passthroughAnimatedPropExplicitValues !== void 0 ? passthroughAnimatedPropExplicitValues : {},\n passthroughStyle = _ref.style,\n passthroughProps = _objectWithoutPropertiesLoose(_ref, _excluded);\n var mergedStyle = [style, passthroughStyle];\n return /*#__PURE__*/React.createElement(Component, _extends({}, reducedProps, passthroughProps, {\n style: mergedStyle,\n ref: ref\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\nimport { useCallback } from 'react';\n/**\n * Constructs a new ref that forwards new values to each of the given refs. The\n * given refs will always be invoked in the order that they are supplied.\n *\n * WARNING: A known problem of merging refs using this approach is that if any\n * of the given refs change, the returned callback ref will also be changed. If\n * the returned callback ref is supplied as a `ref` to a React element, this may\n * lead to problems with the given refs being invoked more times than desired.\n */\nexport default function useMergeRefs() {\n for (var _len = arguments.length, refs = new Array(_len), _key = 0; _key < _len; _key++) {\n refs[_key] = arguments[_key];\n }\n return useCallback(current => {\n for (var _i = 0, _refs = refs; _i < _refs.length; _i++) {\n var ref = _refs[_i];\n if (ref != null) {\n if (typeof ref === 'function') {\n ref(current);\n } else {\n ref.current = current;\n }\n }\n }\n }, [...refs] // eslint-disable-line react-hooks/exhaustive-deps\n );\n}","import _extends from \"@babel/runtime/helpers/extends\";\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\nimport * as React from 'react';\nimport FlatList from '../../../../exports/FlatList';\nimport createAnimatedComponent from '../createAnimatedComponent';\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 */\n\nimport * as React from 'react';\nimport Image from '../../../../exports/Image';\nimport createAnimatedComponent from '../createAnimatedComponent';\nexport default createAnimatedComponent(Image);","import _extends from \"@babel/runtime/helpers/extends\";\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\nimport * as React from 'react';\nimport ScrollView from '../../../../exports/ScrollView';\nimport createAnimatedComponent from '../createAnimatedComponent';\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);","import _extends from \"@babel/runtime/helpers/extends\";\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\nimport * as React from 'react';\nimport SectionList from '../../../../exports/SectionList';\nimport createAnimatedComponent from '../createAnimatedComponent';\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 */\n\nimport * as React from 'react';\nimport Text from '../../../../exports/Text';\nimport createAnimatedComponent from '../createAnimatedComponent';\nexport default createAnimatedComponent(Text);","/**\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\nimport * as React from 'react';\nimport View from '../../../../exports/View';\nimport createAnimatedComponent from '../createAnimatedComponent';\nexport default createAnimatedComponent(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 * @format\n */\n\n'use strict';\n\nimport AnimatedInterpolation from './AnimatedInterpolation';\nimport AnimatedValue from './AnimatedValue';\nimport AnimatedWithChildren from './AnimatedWithChildren';\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 __makeNative(platformConfig) {\n this._a.__makeNative(platformConfig);\n this._b.__makeNative(platformConfig);\n super.__makeNative(platformConfig);\n }\n __getValue() {\n return this._a.__getValue() + this._b.__getValue();\n }\n interpolate(config) {\n return new AnimatedInterpolation(this, config);\n }\n __attach() {\n this._a.__addChild(this);\n this._b.__addChild(this);\n }\n __detach() {\n this._a.__removeChild(this);\n this._b.__removeChild(this);\n super.__detach();\n }\n __getNativeConfig() {\n return {\n type: 'addition',\n input: [this._a.__getNativeTag(), this._b.__getNativeTag()]\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\n'use strict';\n\nimport AnimatedInterpolation from './AnimatedInterpolation';\nimport AnimatedWithChildren from './AnimatedWithChildren';\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 __makeNative(platformConfig) {\n this._a.__makeNative(platformConfig);\n super.__makeNative(platformConfig);\n }\n interpolate(config) {\n return new AnimatedInterpolation(this, config);\n }\n __getValue() {\n var value = this._a.__getValue();\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 __attach() {\n this._a.__addChild(this);\n }\n __detach() {\n this._a.__removeChild(this);\n super.__detach();\n }\n __getNativeConfig() {\n return {\n type: 'diffclamp',\n input: this._a.__getNativeTag(),\n min: this._min,\n max: this._max\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\n'use strict';\n\nimport AnimatedInterpolation from './AnimatedInterpolation';\nimport AnimatedNode from './AnimatedNode';\nimport AnimatedValue from './AnimatedValue';\nimport AnimatedWithChildren from './AnimatedWithChildren';\nclass AnimatedDivision extends AnimatedWithChildren {\n constructor(a, b) {\n super();\n this._warnedAboutDivideByZero = false;\n if (b === 0 || b instanceof AnimatedNode && b.__getValue() === 0) {\n console.error('Detected potential division by zero in AnimatedDivision');\n }\n this._a = typeof a === 'number' ? new AnimatedValue(a) : a;\n this._b = typeof b === 'number' ? new AnimatedValue(b) : b;\n }\n __makeNative(platformConfig) {\n this._a.__makeNative(platformConfig);\n this._b.__makeNative(platformConfig);\n super.__makeNative(platformConfig);\n }\n __getValue() {\n var a = this._a.__getValue();\n var b = this._b.__getValue();\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 }\n // Passing infinity/NaN to Fabric will cause a native crash\n return 0;\n }\n this._warnedAboutDivideByZero = false;\n return a / b;\n }\n interpolate(config) {\n return new AnimatedInterpolation(this, config);\n }\n __attach() {\n this._a.__addChild(this);\n this._b.__addChild(this);\n }\n __detach() {\n this._a.__removeChild(this);\n this._b.__removeChild(this);\n super.__detach();\n }\n __getNativeConfig() {\n return {\n type: 'division',\n input: [this._a.__getNativeTag(), this._b.__getNativeTag()]\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'use strict';\n\nimport AnimatedInterpolation from './AnimatedInterpolation';\nimport AnimatedWithChildren from './AnimatedWithChildren';\nclass AnimatedModulo extends AnimatedWithChildren {\n constructor(a, modulus) {\n super();\n this._a = a;\n this._modulus = modulus;\n }\n __makeNative(platformConfig) {\n this._a.__makeNative(platformConfig);\n super.__makeNative(platformConfig);\n }\n __getValue() {\n return (this._a.__getValue() % this._modulus + this._modulus) % this._modulus;\n }\n interpolate(config) {\n return new AnimatedInterpolation(this, config);\n }\n __attach() {\n this._a.__addChild(this);\n }\n __detach() {\n this._a.__removeChild(this);\n super.__detach();\n }\n __getNativeConfig() {\n return {\n type: 'modulus',\n input: this._a.__getNativeTag(),\n modulus: this._modulus\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\n'use strict';\n\nimport AnimatedInterpolation from './AnimatedInterpolation';\nimport AnimatedValue from './AnimatedValue';\nimport AnimatedWithChildren from './AnimatedWithChildren';\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 __makeNative(platformConfig) {\n this._a.__makeNative(platformConfig);\n this._b.__makeNative(platformConfig);\n super.__makeNative(platformConfig);\n }\n __getValue() {\n return this._a.__getValue() * this._b.__getValue();\n }\n interpolate(config) {\n return new AnimatedInterpolation(this, config);\n }\n __attach() {\n this._a.__addChild(this);\n this._b.__addChild(this);\n }\n __detach() {\n this._a.__removeChild(this);\n this._b.__removeChild(this);\n super.__detach();\n }\n __getNativeConfig() {\n return {\n type: 'multiplication',\n input: [this._a.__getNativeTag(), this._b.__getNativeTag()]\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\n'use strict';\n\nimport AnimatedInterpolation from './AnimatedInterpolation';\nimport AnimatedValue from './AnimatedValue';\nimport AnimatedWithChildren from './AnimatedWithChildren';\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 __makeNative(platformConfig) {\n this._a.__makeNative(platformConfig);\n this._b.__makeNative(platformConfig);\n super.__makeNative(platformConfig);\n }\n __getValue() {\n return this._a.__getValue() - this._b.__getValue();\n }\n interpolate(config) {\n return new AnimatedInterpolation(this, config);\n }\n __attach() {\n this._a.__addChild(this);\n this._b.__addChild(this);\n }\n __detach() {\n this._a.__removeChild(this);\n this._b.__removeChild(this);\n super.__detach();\n }\n __getNativeConfig() {\n return {\n type: 'subtraction',\n input: [this._a.__getNativeTag(), this._b.__getNativeTag()]\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\n'use strict';\n\nimport _objectSpread from \"@babel/runtime/helpers/objectSpread2\";\nimport AnimatedValue from './AnimatedValue';\nimport AnimatedNode from './AnimatedNode';\nimport { generateNewAnimationId, shouldUseNativeDriver } from '../NativeAnimatedHelper';\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 this.__attach();\n }\n __makeNative() {\n this.__isNative = true;\n this._parent.__makeNative();\n super.__makeNative();\n this._value.__makeNative();\n }\n __getValue() {\n return this._parent.__getValue();\n }\n __attach() {\n this._parent.__addChild(this);\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 __detach() {\n this._parent.__removeChild(this);\n super.__detach();\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 __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 var animationConfig = animation.__getNativeAnimationConfig();\n return {\n type: 'tracking',\n animationId: generateNewAnimationId(),\n animationConfig,\n toValue: this._parent.__getNativeTag(),\n value: this._value.__getNativeTag()\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\n'use strict';\n\nimport AnimatedValue from './AnimatedValue';\nimport AnimatedWithChildren from './AnimatedWithChildren';\nimport invariant from 'fbjs/lib/invariant';\nvar _uniqueId = 1;\n\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 */\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 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 this._listeners = {};\n }\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 setValue(value) {\n this.x.setValue(value.x);\n this.y.setValue(value.y);\n }\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 setOffset(offset) {\n this.x.setOffset(offset.x);\n this.y.setOffset(offset.y);\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/animatedvaluexy.html#flattenoffset\n */\n flattenOffset() {\n this.x.flattenOffset();\n this.y.flattenOffset();\n }\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 extractOffset() {\n this.x.extractOffset();\n this.y.extractOffset();\n }\n __getValue() {\n return {\n x: this.x.__getValue(),\n y: this.y.__getValue()\n };\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 resetAnimation(callback) {\n this.x.resetAnimation();\n this.y.resetAnimation();\n callback && callback(this.__getValue());\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/animatedvaluexy.html#stopanimation\n */\n stopAnimation(callback) {\n this.x.stopAnimation();\n this.y.stopAnimation();\n callback && callback(this.__getValue());\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 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 addListener(callback) {\n var id = String(_uniqueId++);\n var jointCallback = _ref => {\n var number = _ref.value;\n callback(this.__getValue());\n };\n this._listeners[id] = {\n x: this.x.addListener(jointCallback),\n y: this.y.addListener(jointCallback)\n };\n return id;\n }\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 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 /**\n * Remove all registered listeners.\n *\n * See https://reactnative.dev/docs/animatedvaluexy.html#removealllisteners\n */\n removeAllListeners() {\n this.x.removeAllListeners();\n this.y.removeAllListeners();\n this._listeners = {};\n }\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 getLayout() {\n return {\n left: this.x,\n top: this.y\n };\n }\n\n /**\n * Converts `{x, y}` into a useable translation transform.\n *\n * See https://reactnative.dev/docs/animatedvaluexy.html#gettranslatetransform\n */\n getTranslateTransform() {\n return [{\n translateX: this.x\n }, {\n translateY: this.y\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\n'use strict';\n\nimport NativeAnimatedHelper from '../NativeAnimatedHelper';\nvar startNativeAnimationNextId = 1;\n\n// 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.\nclass Animation {\n start(fromValue, onUpdate, onEnd, previousAnimation, animatedValue) {}\n stop() {\n if (this.__nativeId) {\n NativeAnimatedHelper.API.stopAnimation(this.__nativeId);\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 }\n // Helper function for subclasses to make sure onEnd is only called once.\n __debouncedOnEnd(result) {\n var onEnd = this.__onEnd;\n this.__onEnd = null;\n onEnd && onEnd(result);\n }\n __startNativeAnimation(animatedValue) {\n var startNativeAnimationWaitId = startNativeAnimationNextId + \":startAnimation\";\n startNativeAnimationNextId += 1;\n NativeAnimatedHelper.API.setWaitingForIdentifier(startNativeAnimationWaitId);\n try {\n var config = this.__getNativeAnimationConfig();\n animatedValue.__makeNative(config.platformConfig);\n this.__nativeId = NativeAnimatedHelper.generateNewAnimationId();\n NativeAnimatedHelper.API.startAnimatingNode(this.__nativeId, animatedValue.__getNativeTag(), config,\n // $FlowFixMe[method-unbinding] added when improving typing for this parameters\n this.__debouncedOnEnd.bind(this));\n } catch (e) {\n throw e;\n } finally {\n NativeAnimatedHelper.API.unsetWaitingForIdentifier(startNativeAnimationWaitId);\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\n'use strict';\n\nimport Animation from './Animation';\nimport { shouldUseNativeDriver } from '../NativeAnimatedHelper';\nclass DecayAnimation extends Animation {\n constructor(config) {\n var _config$deceleration, _config$isInteraction, _config$iterations;\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 __getNativeAnimationConfig() {\n return {\n type: 'decay',\n deceleration: this._deceleration,\n velocity: this._velocity,\n iterations: this.__iterations\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 if (this._useNativeDriver) {\n this.__startNativeAnimation(animatedValue);\n } else {\n this._animationFrame = requestAnimationFrame(this.onUpdate.bind(this));\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 this._onUpdate(value);\n if (Math.abs(this._lastValue - value) < 0.1) {\n this.__debouncedOnEnd({\n finished: true\n });\n return;\n }\n this._lastValue = value;\n if (this.__active) {\n this._animationFrame = requestAnimationFrame(this.onUpdate.bind(this));\n }\n }\n stop() {\n super.stop();\n this.__active = false;\n global.cancelAnimationFrame(this._animationFrame);\n this.__debouncedOnEnd({\n finished: false\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 * @format\n * \n */\n\n'use strict';\n\nfunction stiffnessFromOrigamiValue(oValue) {\n return (oValue - 30) * 3.62 + 194;\n}\nfunction dampingFromOrigamiValue(oValue) {\n return (oValue - 8) * 3 + 25;\n}\nfunction fromOrigamiTensionAndFriction(tension, friction) {\n return {\n stiffness: stiffnessFromOrigamiValue(tension),\n damping: dampingFromOrigamiValue(friction)\n };\n}\nfunction fromBouncinessAndSpeed(bounciness, speed) {\n function normalize(value, startValue, endValue) {\n return (value - startValue) / (endValue - startValue);\n }\n function projectNormal(n, start, end) {\n return start + n * (end - start);\n }\n function linearInterpolation(t, start, end) {\n return t * end + (1 - t) * start;\n }\n function quadraticOutInterpolation(t, start, end) {\n return linearInterpolation(2 * t - t * t, start, end);\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 function b3Friction2(x) {\n return 0.000044 * Math.pow(x, 3) - 0.006 * Math.pow(x, 2) + 0.36 * x + 2;\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 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 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}\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\n'use strict';\n\nimport Animation from './Animation';\nimport SpringConfig from '../SpringConfig';\nimport invariant from 'fbjs/lib/invariant';\nimport { shouldUseNativeDriver } from '../NativeAnimatedHelper';\nimport AnimatedColor from '../nodes/AnimatedColor';\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 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._platformConfig = config.platformConfig;\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 if (config.stiffness !== undefined || config.damping !== undefined || config.mass !== undefined) {\n var _config$stiffness, _config$damping, _config$mass;\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 // 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 // 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 this._stiffness = _springConfig.stiffness;\n this._damping = _springConfig.damping;\n this._mass = 1;\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 __getNativeAnimationConfig() {\n var _this$_initialVelocit;\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 platformConfig: this._platformConfig\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 if (previousAnimation instanceof SpringAnimation) {\n var internalState = previousAnimation.getInternalState();\n this._lastPosition = internalState.lastPosition;\n this._lastVelocity = internalState.lastVelocity;\n // Set the initial velocity to the last velocity\n this._initialVelocity = this._lastVelocity;\n this._lastTime = internalState.lastTime;\n }\n var start = () => {\n if (this._useNativeDriver) {\n this.__startNativeAnimation(animatedValue);\n } else {\n this.onUpdate();\n }\n };\n\n // If this._delay is more than 0, we start after the timeout.\n if (this._delay) {\n this._timeout = setTimeout(start, this._delay);\n } else {\n start();\n }\n }\n getInternalState() {\n return {\n lastPosition: this._lastPosition,\n lastVelocity: this._lastVelocity,\n lastTime: this._lastTime\n };\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 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 if (now > this._lastTime + MAX_STEPS) {\n now = this._lastTime + MAX_STEPS;\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 var omega0 = Math.sqrt(k / m); // undamped angular frequency of the oscillator (rad/ms)\n var omega1 = omega0 * Math.sqrt(1.0 - zeta * zeta); // exponential decay\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 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));\n // This looks crazy -- it's actually just the derivative of the\n // oscillation function\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 position = this._toValue - _envelope * (x0 + (v0 + omega0 * x0) * t);\n velocity = _envelope * (v0 * (t * omega0 - 1) + t * x0 * (omega0 * omega0));\n }\n this._lastTime = now;\n this._lastPosition = position;\n this._lastVelocity = velocity;\n this._onUpdate(position);\n if (!this.__active) {\n // a listener might have stopped us in _onUpdate\n return;\n }\n\n // Conditions for stopping the spring animation\n var isOvershooting = false;\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 var isVelocity = Math.abs(velocity) <= this._restSpeedThreshold;\n var isDisplacement = true;\n if (this._stiffness !== 0) {\n isDisplacement = Math.abs(this._toValue - position) <= this._restDisplacementThreshold;\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 this._onUpdate(this._toValue);\n }\n this.__debouncedOnEnd({\n finished: true\n });\n return;\n }\n // $FlowFixMe[method-unbinding] added when improving typing for this parameters\n this._animationFrame = requestAnimationFrame(this.onUpdate.bind(this));\n }\n stop() {\n super.stop();\n this.__active = false;\n clearTimeout(this._timeout);\n global.cancelAnimationFrame(this._animationFrame);\n this.__debouncedOnEnd({\n finished: false\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\n'use strict';\n\nimport AnimatedValue from '../nodes/AnimatedValue';\nimport AnimatedValueXY from '../nodes/AnimatedValueXY';\nimport AnimatedInterpolation from '../nodes/AnimatedInterpolation';\nimport Easing from '../../../../exports/Easing';\nimport Animation from './Animation';\nimport { shouldUseNativeDriver } from '../NativeAnimatedHelper';\nimport AnimatedColor from '../nodes/AnimatedColor';\nvar _easeInOut;\nfunction easeInOut() {\n if (!_easeInOut) {\n _easeInOut = Easing.inOut(Easing.ease);\n }\n return _easeInOut;\n}\nclass TimingAnimation extends Animation {\n constructor(config) {\n var _config$easing, _config$duration, _config$delay, _config$iterations, _config$isInteraction;\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._platformConfig = config.platformConfig;\n this.__isInteraction = (_config$isInteraction = config.isInteraction) !== null && _config$isInteraction !== void 0 ? _config$isInteraction : !this._useNativeDriver;\n }\n __getNativeAnimationConfig() {\n var frameDuration = 1000.0 / 60.0;\n var frames = [];\n var numFrames = Math.round(this._duration / frameDuration);\n for (var frame = 0; frame < numFrames; frame++) {\n frames.push(this._easing(frame / numFrames));\n }\n frames.push(this._easing(1));\n return {\n type: 'frames',\n frames,\n toValue: this._toValue,\n iterations: this.__iterations,\n platformConfig: this._platformConfig\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 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 this.__debouncedOnEnd({\n finished: true\n });\n } else {\n this._startTime = Date.now();\n if (this._useNativeDriver) {\n this.__startNativeAnimation(animatedValue);\n } else {\n this._animationFrame = requestAnimationFrame(\n // $FlowFixMe[method-unbinding] added when improving typing for this parameters\n this.onUpdate.bind(this));\n }\n }\n };\n if (this._delay) {\n this._timeout = setTimeout(start, this._delay);\n } else {\n start();\n }\n }\n onUpdate() {\n var now = Date.now();\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 this.__debouncedOnEnd({\n finished: true\n });\n return;\n }\n this._onUpdate(this._fromValue + this._easing((now - this._startTime) / this._duration) * (this._toValue - this._fromValue));\n if (this.__active) {\n // $FlowFixMe[method-unbinding] added when improving typing for this parameters\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 this.__debouncedOnEnd({\n finished: false\n });\n }\n}\nexport default TimingAnimation;","/**\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'use strict';\n\nimport AnimatedValue from './AnimatedValue';\nimport AnimatedWithChildren from './AnimatedWithChildren';\nimport normalizeColor from '@react-native/normalize-colors';\nimport NativeAnimatedHelper from '../NativeAnimatedHelper';\nvar NativeAnimatedAPI = NativeAnimatedHelper.API;\nvar defaultColor = {\n r: 0,\n g: 0,\n b: 0,\n a: 1.0\n};\nvar _uniqueId = 1;\nvar processColorObject = color => {\n return color;\n};\n\n/* eslint no-bitwise: 0 */\nfunction processColor(color) {\n if (color === undefined || color === null) {\n return null;\n }\n if (isRgbaValue(color)) {\n // $FlowIgnore[incompatible-cast] - Type is verified above\n return color;\n }\n var normalizedColor = normalizeColor(\n // $FlowIgnore[incompatible-cast] - Type is verified above\n color);\n if (normalizedColor === undefined || normalizedColor === null) {\n return null;\n }\n if (typeof normalizedColor === 'object') {\n var processedColorObj = processColorObject(normalizedColor);\n if (processedColorObj != null) {\n return processedColorObj;\n }\n } else if (typeof normalizedColor === 'number') {\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 {\n r,\n g,\n b,\n a\n };\n }\n return null;\n}\nfunction isRgbaValue(value) {\n return value && typeof value.r === 'number' && typeof value.g === 'number' && typeof value.b === 'number' && typeof value.a === 'number';\n}\nfunction isRgbaAnimatedValue(value) {\n return value && value.r instanceof AnimatedValue && value.g instanceof AnimatedValue && value.b instanceof AnimatedValue && value.a instanceof AnimatedValue;\n}\nexport default class AnimatedColor extends AnimatedWithChildren {\n constructor(valueIn, config) {\n super();\n this._listeners = {};\n var value = valueIn !== null && valueIn !== void 0 ? valueIn : defaultColor;\n if (isRgbaAnimatedValue(value)) {\n // $FlowIgnore[incompatible-cast] - Type is verified above\n var rgbaAnimatedValue = value;\n this.r = rgbaAnimatedValue.r;\n this.g = rgbaAnimatedValue.g;\n this.b = rgbaAnimatedValue.b;\n this.a = rgbaAnimatedValue.a;\n } else {\n var _processColor;\n var processedColor = // $FlowIgnore[incompatible-cast] - Type is verified above\n (_processColor = processColor(value)) !== null && _processColor !== void 0 ? _processColor : defaultColor;\n var initColor = defaultColor;\n if (isRgbaValue(processedColor)) {\n // $FlowIgnore[incompatible-cast] - Type is verified above\n initColor = processedColor;\n } else {\n // $FlowIgnore[incompatible-cast] - Type is verified above\n this.nativeColor = processedColor;\n }\n this.r = new AnimatedValue(initColor.r);\n this.g = new AnimatedValue(initColor.g);\n this.b = new AnimatedValue(initColor.b);\n this.a = new AnimatedValue(initColor.a);\n }\n if (this.nativeColor || config && config.useNativeDriver) {\n this.__makeNative();\n }\n }\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 setValue(value) {\n var _processColor2;\n var shouldUpdateNodeConfig = false;\n if (this.__isNative) {\n var nativeTag = this.__getNativeTag();\n NativeAnimatedAPI.setWaitingForIdentifier(nativeTag.toString());\n }\n var processedColor = (_processColor2 = processColor(value)) !== null && _processColor2 !== void 0 ? _processColor2 : defaultColor;\n if (isRgbaValue(processedColor)) {\n // $FlowIgnore[incompatible-type] - Type is verified above\n var rgbaValue = processedColor;\n this.r.setValue(rgbaValue.r);\n this.g.setValue(rgbaValue.g);\n this.b.setValue(rgbaValue.b);\n this.a.setValue(rgbaValue.a);\n if (this.nativeColor != null) {\n this.nativeColor = null;\n shouldUpdateNodeConfig = true;\n }\n } else {\n // $FlowIgnore[incompatible-type] - Type is verified above\n var nativeColor = processedColor;\n if (this.nativeColor !== nativeColor) {\n this.nativeColor = nativeColor;\n shouldUpdateNodeConfig = true;\n }\n }\n if (this.__isNative) {\n var _nativeTag = this.__getNativeTag();\n if (shouldUpdateNodeConfig) {\n NativeAnimatedAPI.updateAnimatedNodeConfig(_nativeTag, this.__getNativeConfig());\n }\n NativeAnimatedAPI.unsetWaitingForIdentifier(_nativeTag.toString());\n }\n }\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 setOffset(offset) {\n this.r.setOffset(offset.r);\n this.g.setOffset(offset.g);\n this.b.setOffset(offset.b);\n this.a.setOffset(offset.a);\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 flattenOffset() {\n this.r.flattenOffset();\n this.g.flattenOffset();\n this.b.flattenOffset();\n this.a.flattenOffset();\n }\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 extractOffset() {\n this.r.extractOffset();\n this.g.extractOffset();\n this.b.extractOffset();\n this.a.extractOffset();\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 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 addListener(callback) {\n var id = String(_uniqueId++);\n var jointCallback = _ref => {\n var number = _ref.value;\n callback(this.__getValue());\n };\n this._listeners[id] = {\n r: this.r.addListener(jointCallback),\n g: this.g.addListener(jointCallback),\n b: this.b.addListener(jointCallback),\n a: this.a.addListener(jointCallback)\n };\n return id;\n }\n\n /**\n * Unregister a listener. The `id` param shall match the identifier\n * previously returned by `addListener()`.\n */\n removeListener(id) {\n this.r.removeListener(this._listeners[id].r);\n this.g.removeListener(this._listeners[id].g);\n this.b.removeListener(this._listeners[id].b);\n this.a.removeListener(this._listeners[id].a);\n delete this._listeners[id];\n }\n\n /**\n * Remove all registered listeners.\n */\n removeAllListeners() {\n this.r.removeAllListeners();\n this.g.removeAllListeners();\n this.b.removeAllListeners();\n this.a.removeAllListeners();\n this._listeners = {};\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 stopAnimation(callback) {\n this.r.stopAnimation();\n this.g.stopAnimation();\n this.b.stopAnimation();\n this.a.stopAnimation();\n callback && callback(this.__getValue());\n }\n\n /**\n * Stops any animation and resets the value to its original.\n */\n resetAnimation(callback) {\n this.r.resetAnimation();\n this.g.resetAnimation();\n this.b.resetAnimation();\n this.a.resetAnimation();\n callback && callback(this.__getValue());\n }\n __getValue() {\n if (this.nativeColor != null) {\n return this.nativeColor;\n } else {\n return \"rgba(\" + this.r.__getValue() + \", \" + this.g.__getValue() + \", \" + this.b.__getValue() + \", \" + this.a.__getValue() + \")\";\n }\n }\n __attach() {\n this.r.__addChild(this);\n this.g.__addChild(this);\n this.b.__addChild(this);\n this.a.__addChild(this);\n super.__attach();\n }\n __detach() {\n this.r.__removeChild(this);\n this.g.__removeChild(this);\n this.b.__removeChild(this);\n this.a.__removeChild(this);\n super.__detach();\n }\n __makeNative(platformConfig) {\n this.r.__makeNative(platformConfig);\n this.g.__makeNative(platformConfig);\n this.b.__makeNative(platformConfig);\n this.a.__makeNative(platformConfig);\n super.__makeNative(platformConfig);\n }\n __getNativeConfig() {\n return {\n type: 'color',\n r: this.r.__getNativeTag(),\n g: this.g.__getNativeTag(),\n b: this.b.__getNativeTag(),\n a: this.a.__getNativeTag(),\n nativeColor: this.nativeColor\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\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';\nimport AnimatedColor from './nodes/AnimatedColor';\nvar add = function add(a, b) {\n return new AnimatedAddition(a, b);\n};\nvar subtract = function subtract(a, b) {\n return new AnimatedSubtraction(a, b);\n};\nvar divide = function divide(a, b) {\n return new AnimatedDivision(a, b);\n};\nvar multiply = function multiply(a, b) {\n return new AnimatedMultiplication(a, b);\n};\nvar modulo = function modulo(a, modulus) {\n return new AnimatedModulo(a, modulus);\n};\nvar diffClamp = function diffClamp(a, min, max) {\n return new AnimatedDiffClamp(a, min, max);\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};\nvar maybeVectorAnim = function maybeVectorAnim(value, config, anim) {\n if (value instanceof AnimatedValueXY) {\n var configX = _objectSpread({}, config);\n var configY = _objectSpread({}, config);\n for (var key in config) {\n var _config$key = config[key],\n x = _config$key.x,\n y = _config$key.y;\n if (x !== undefined && y !== undefined) {\n configX[key] = x;\n configY[key] = y;\n }\n }\n var aX = anim(value.x, configX);\n var aY = anim(value.y, configY);\n // We use `stopTogether: false` here because otherwise tracking will break\n // because the second animation will get stopped before it can update.\n return parallel([aX, aY], {\n stopTogether: false\n });\n } else if (value instanceof AnimatedColor) {\n var configR = _objectSpread({}, config);\n var configG = _objectSpread({}, config);\n var configB = _objectSpread({}, config);\n var configA = _objectSpread({}, config);\n for (var _key in config) {\n var _config$_key = config[_key],\n r = _config$_key.r,\n g = _config$_key.g,\n b = _config$_key.b,\n a = _config$_key.a;\n if (r !== undefined && g !== undefined && b !== undefined && a !== undefined) {\n configR[_key] = r;\n configG[_key] = g;\n configB[_key] = b;\n configA[_key] = a;\n }\n }\n var aR = anim(value.r, configR);\n var aG = anim(value.g, configG);\n var aB = anim(value.b, configB);\n var aA = anim(value.a, configA);\n // We use `stopTogether: false` here because otherwise tracking will break\n // because the second animation will get stopped before it can update.\n return parallel([aR, aG, aB, aA], {\n stopTogether: false\n });\n }\n return null;\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 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 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 _start(value, singleConfig);\n },\n _isUsingNativeDriver: function _isUsingNativeDriver() {\n return config.useNativeDriver || false;\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 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 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 _start2(value, singleConfig);\n },\n _isUsingNativeDriver: function _isUsingNativeDriver() {\n return config.useNativeDriver || false;\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 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 _start3(value, singleConfig);\n },\n _isUsingNativeDriver: function _isUsingNativeDriver() {\n return config.useNativeDriver || false;\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 current++;\n if (current === animations.length) {\n callback && callback(result);\n return;\n }\n animations[current].start(onComplete);\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};\nvar parallel = function parallel(animations, config) {\n var doneCount = 0;\n // Make sure we only call stop() at most once for each animation\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 animations.forEach((animation, idx) => {\n var cb = function cb(endResult) {\n hasEnded[idx] = true;\n doneCount++;\n if (doneCount === animations.length) {\n doneCount = 0;\n callback && callback(endResult);\n return;\n }\n if (!endResult.finished && stopTogether) {\n result.stop();\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};\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};\nvar stagger = function stagger(time, animations) {\n return parallel(animations.map((animation, i) => {\n return sequence([delay(time * i), animation]);\n }));\n};\nvar loop = function loop(animation, // $FlowFixMe[prop-missing]\n_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 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 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 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\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};\nfunction forkEvent(event, listener) {\n if (!event) {\n return listener;\n } else if (event instanceof AnimatedEvent) {\n event.__addListener(listener);\n return event;\n } else {\n return function () {\n typeof event === 'function' && event(...arguments);\n listener(...arguments);\n };\n }\n}\nfunction unforkEvent(event, listener) {\n if (event && event instanceof AnimatedEvent) {\n event.__removeListener(listener);\n }\n}\nvar event = function event(argMapping, config) {\n var animatedEvent = new AnimatedEvent(argMapping, config);\n if (animatedEvent.__isNative) {\n return animatedEvent;\n } else {\n return animatedEvent.__getHandler();\n }\n};\n\n// All types of animated nodes that represent scalar numbers and can be interpolated (etc)\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\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#value\n */\n Value: AnimatedValue,\n /**\n * 2D value class for driving 2D animations, such as pan gestures.\n *\n * See https://reactnative.dev/docs/animatedvaluexy\n */\n ValueXY: AnimatedValueXY,\n /**\n * Value class for driving color animations.\n */\n Color: AnimatedColor,\n /**\n * Exported to use the Interpolation type in flow.\n *\n * See https://reactnative.dev/docs/animated#interpolation\n */\n Interpolation: AnimatedInterpolation,\n /**\n * Exported for ease of type checking. All animated values derive from this\n * class.\n *\n * See https://reactnative.dev/docs/animated#node\n */\n Node: AnimatedNode,\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#decay\n */\n decay,\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#timing\n */\n timing,\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#spring\n */\n spring,\n /**\n * Creates a new Animated value composed from two Animated values added\n * together.\n *\n * See https://reactnative.dev/docs/animated#add\n */\n add,\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#subtract\n */\n subtract,\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#divide\n */\n divide,\n /**\n * Creates a new Animated value composed from two Animated values multiplied\n * together.\n *\n * See https://reactnative.dev/docs/animated#multiply\n */\n multiply,\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#modulo\n */\n modulo,\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#diffclamp\n */\n diffClamp,\n /**\n * Starts an animation after the given delay.\n *\n * See https://reactnative.dev/docs/animated#delay\n */\n delay,\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#sequence\n */\n sequence,\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#parallel\n */\n parallel,\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#stagger\n */\n stagger,\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#loop\n */\n loop,\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#event\n */\n event,\n /**\n * Make any React component Animatable. Used to create `Animated.View`, etc.\n *\n * See https://reactnative.dev/docs/animated#createanimatedcomponent\n */\n createAnimatedComponent,\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#attachnativeevent\n */\n attachNativeEvent,\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#forkevent\n */\n forkEvent,\n unforkEvent,\n /**\n * Expose Event class, so it can be used as a type for type checkers.\n */\n Event: AnimatedEvent\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\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 AnimatedValue from './nodes/AnimatedValue';\nimport AnimatedValueXY from './nodes/AnimatedValueXY';\nimport createAnimatedComponent from './createAnimatedComponent';\nimport AnimatedColor from './nodes/AnimatedColor';\n\n/**\n * Animations are a source of flakiness in snapshot testing. This mock replaces\n * animation functions from AnimatedImplementation with empty animations for\n * predictability in tests. When possible the animation will run immediately\n * to the final state.\n */\n\n// Prevent any callback invocation from recursively triggering another\n// callback, which may trigger another animation\nvar inAnimationCallback = false;\nfunction mockAnimationStart(start) {\n return callback => {\n var guardedCallback = callback == null ? callback : function () {\n if (inAnimationCallback) {\n console.warn('Ignoring recursive animation callback when running mock animations');\n return;\n }\n inAnimationCallback = true;\n try {\n callback(...arguments);\n } finally {\n inAnimationCallback = false;\n }\n };\n start(guardedCallback);\n };\n}\nvar emptyAnimation = {\n start: () => {},\n stop: () => {},\n reset: () => {},\n _startNativeLoop: () => {},\n _isUsingNativeDriver: () => {\n return false;\n }\n};\nvar mockCompositeAnimation = animations => _objectSpread(_objectSpread({}, emptyAnimation), {}, {\n start: mockAnimationStart(callback => {\n animations.forEach(animation => animation.start());\n callback == null ? void 0 : callback({\n finished: true\n });\n })\n});\nvar spring = function spring(value, config) {\n var anyValue = value;\n return _objectSpread(_objectSpread({}, emptyAnimation), {}, {\n start: mockAnimationStart(callback => {\n anyValue.setValue(config.toValue);\n callback == null ? void 0 : callback({\n finished: true\n });\n })\n });\n};\nvar timing = function timing(value, config) {\n var anyValue = value;\n return _objectSpread(_objectSpread({}, emptyAnimation), {}, {\n start: mockAnimationStart(callback => {\n anyValue.setValue(config.toValue);\n callback == null ? void 0 : callback({\n finished: true\n });\n })\n });\n};\nvar decay = function decay(value, config) {\n return emptyAnimation;\n};\nvar sequence = function sequence(animations) {\n return mockCompositeAnimation(animations);\n};\nvar parallel = function parallel(animations, config) {\n return mockCompositeAnimation(animations);\n};\nvar delay = function delay(time) {\n return emptyAnimation;\n};\nvar stagger = function stagger(time, animations) {\n return mockCompositeAnimation(animations);\n};\nvar loop = function loop(animation, // $FlowFixMe[prop-missing]\n_temp) {\n var _ref = _temp === void 0 ? {} : _temp,\n _ref$iterations = _ref.iterations,\n iterations = _ref$iterations === void 0 ? -1 : _ref$iterations;\n return emptyAnimation;\n};\nexport default {\n Value: AnimatedValue,\n ValueXY: AnimatedValueXY,\n Color: AnimatedColor,\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: AnimatedImplementation.event,\n createAnimatedComponent,\n attachNativeEvent,\n forkEvent: AnimatedImplementation.forkEvent,\n unforkEvent: AnimatedImplementation.unforkEvent,\n Event: AnimatedEvent\n};","import _objectSpread from \"@babel/runtime/helpers/objectSpread2\";\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\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) 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\nimport Animated from '../../vendor/react-native/Animated/Animated';\nexport default Animated;","import RCTDeviceEventEmitter from '../../vendor/react-native/EventEmitter/RCTDeviceEventEmitter';\nexport default RCTDeviceEventEmitter;","/**\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 */\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;\nfunction update() {\n if (!canUseDOM) {\n return;\n }\n var win = window;\n var height;\n var width;\n\n /**\n * iOS does not update viewport dimensions on keyboard open/close.\n * window.visualViewport(https://developer.mozilla.org/en-US/docs/Web/API/VisualViewport)\n * is used instead of document.documentElement.clientHeight (which remains as a fallback)\n */\n if (win.visualViewport) {\n var visualViewport = win.visualViewport;\n /**\n * We are multiplying by scale because height and width from visual viewport\n * also react to pinch zoom, and become smaller when zoomed. But it is not desired\n * behaviour, since originally documentElement client height and width were used,\n * and they do not react to pinch zoom.\n */\n height = Math.round(visualViewport.height * visualViewport.scale);\n width = Math.round(visualViewport.width * visualViewport.scale);\n } else {\n var docEl = win.document.documentElement;\n height = docEl.clientHeight;\n width = docEl.clientWidth;\n }\n dimensions.window = {\n fontScale: 1,\n height,\n scale: win.devicePixelRatio || 1,\n width\n };\n dimensions.screen = {\n fontScale: 1,\n height: win.screen.height,\n scale: win.devicePixelRatio || 1,\n width: win.screen.width\n };\n}\nfunction handleResize() {\n update();\n if (Array.isArray(listeners['change'])) {\n listeners['change'].forEach(handler => handler(dimensions));\n }\n}\nexport default class Dimensions {\n static get(dimension) {\n if (shouldInit) {\n shouldInit = false;\n update();\n }\n invariant(dimensions[dimension], \"No dimension set for key \" + dimension);\n return dimensions[dimension];\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 if (initialDimensions.window != null) {\n dimensions.window = initialDimensions.window;\n }\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 static removeEventListener(type, handler) {\n if (Array.isArray(listeners[type])) {\n listeners[type] = listeners[type].filter(_handler => _handler !== handler);\n }\n }\n}\nif (canUseDOM) {\n if (window.visualViewport) {\n window.visualViewport.addEventListener('resize', handleResize, false);\n } else {\n window.addEventListener('resize', handleResize, false);\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 * \n */\n\n'use strict';\n\nimport _bezier from './bezier';\nvar ease;\n\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 */\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 /**\n * A stepping function, returns 1 if `n` is greater than or equal to 1.\n */\n static step1(n) {\n return n >= 1 ? 1 : 0;\n }\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 static linear(t) {\n return t;\n }\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 static ease(t) {\n if (!ease) {\n ease = Easing.bezier(0.42, 0, 1, 1);\n }\n return ease(t);\n }\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 static quad(t) {\n return t * t;\n }\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 static cubic(t) {\n return t * t * t;\n }\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 static poly(n) {\n return t => Math.pow(t, n);\n }\n\n /**\n * A sinusoidal function.\n *\n * http://easings.net/#easeInSine\n */\n static sin(t) {\n return 1 - Math.cos(t * Math.PI / 2);\n }\n\n /**\n * A circular function.\n *\n * http://easings.net/#easeInCirc\n */\n static circle(t) {\n return 1 - Math.sqrt(1 - t * t);\n }\n\n /**\n * An exponential function.\n *\n * http://easings.net/#easeInExpo\n */\n static exp(t) {\n return Math.pow(2, 10 * (t - 1));\n }\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 static elastic(bounciness) {\n if (bounciness === void 0) {\n bounciness = 1;\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 /**\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 static back(s) {\n if (s === void 0) {\n s = 1.70158;\n }\n return t => t * t * ((s + 1) * t - s);\n }\n\n /**\n * Provides a simple bouncing effect.\n *\n * http://easings.net/#easeInBounce\n */\n static bounce(t) {\n if (t < 1 / 2.75) {\n return 7.5625 * t * t;\n }\n if (t < 2 / 2.75) {\n var _t = t - 1.5 / 2.75;\n return 7.5625 * _t * _t + 0.75;\n }\n if (t < 2.5 / 2.75) {\n var _t2 = t - 2.25 / 2.75;\n return 7.5625 * _t2 * _t2 + 0.9375;\n }\n var t2 = t - 2.625 / 2.75;\n return 7.5625 * t2 * t2 + 0.984375;\n }\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 static bezier(x1, y1, x2, y2) {\n return _bezier(x1, y1, x2, y2);\n }\n\n /**\n * Runs an easing function forwards.\n */\n static in(easing) {\n return easing;\n }\n\n /**\n * Runs an easing function backwards.\n */\n static out(easing) {\n return t => 1 - easing(1 - t);\n }\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 static inOut(easing) {\n return t => {\n if (t < 0.5) {\n return easing(t * 2) / 2;\n }\n return 1 - easing((1 - t) * 2) / 2;\n };\n }\n}\nexport default Easing;","/**\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\n'use strict';\n\n// These values are established by empiricism with tests (tradeoff: performance VS precision)\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';\nfunction A(aA1, aA2) {\n return 1.0 - 3.0 * aA2 + 3.0 * aA1;\n}\nfunction B(aA1, aA2) {\n return 3.0 * aA2 - 6.0 * aA1;\n}\nfunction C(aA1) {\n return 3.0 * aA1;\n}\n\n// Returns x(t) given t, x1, and x2, or y(t) given t, y1, and y2.\nfunction calcBezier(aT, aA1, aA2) {\n return ((A(aA1, aA2) * aT + B(aA1, aA2)) * aT + C(aA1)) * aT;\n}\n\n// Returns dx/dt given t, x1, and x2, or dy/dt given t, y1, and y2.\nfunction getSlope(aT, aA1, aA2) {\n return 3.0 * A(aA1, aA2) * aT * aT + 2.0 * B(aA1, aA2) * aT + C(aA1);\n}\nfunction binarySubdivide(aX, _aA, _aB, mX1, mX2) {\n var currentX,\n currentT,\n i = 0,\n aA = _aA,\n aB = _aB;\n do {\n currentT = aA + (aB - aA) / 2.0;\n currentX = calcBezier(currentT, mX1, mX2) - aX;\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 return currentT;\n}\nfunction newtonRaphsonIterate(aX, _aGuessT, mX1, mX2) {\n var aGuessT = _aGuessT;\n for (var i = 0; i < NEWTON_ITERATIONS; ++i) {\n var currentSlope = getSlope(aGuessT, mX1, mX2);\n if (currentSlope === 0.0) {\n return aGuessT;\n }\n var currentX = calcBezier(aGuessT, mX1, mX2) - aX;\n aGuessT -= currentX / currentSlope;\n }\n return aGuessT;\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 }\n\n // Precompute samples table\n var sampleValues = float32ArraySupported ? new Float32Array(kSplineTableSize) : new Array(kSplineTableSize);\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 function getTForX(aX) {\n var intervalStart = 0.0;\n var currentSample = 1;\n var lastSample = kSplineTableSize - 1;\n for (; currentSample !== lastSample && sampleValues[currentSample] <= aX; ++currentSample) {\n intervalStart += kSampleStepSize;\n }\n --currentSample;\n\n // Interpolate to provide an initial guess for t\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 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 return function BezierEasing(x) {\n if (mX1 === mY1 && mX2 === mY2) {\n return x; // linear\n }\n // Because JavaScript number are imprecise, we should guarantee the extremes are right.\n if (x === 0) {\n return 0;\n }\n if (x === 1) {\n return 1;\n }\n return calcBezier(getTForX(x), mY1, mY2);\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 */\n\nimport Easing from '../../vendor/react-native/Animated/Easing';\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 * @format\n * \n */\n\n'use strict';\n\n/*\n * @returns {bool} true if different, false if equal\n */\nvar deepDiffer = function deepDiffer(one, two, maxDepth) {\n if (maxDepth === void 0) {\n maxDepth = -1;\n }\n if (maxDepth === 0) {\n return true;\n }\n if (one === two) {\n // Short circuit on identical object references instead of traversing them.\n return false;\n }\n if (typeof one === 'function' && typeof two === 'function') {\n // We consider all functions equal\n return false;\n }\n if (typeof one !== 'object' || one === null) {\n // Primitives can be directly compared\n return one !== two;\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 if (one.constructor !== two.constructor) {\n return true;\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 if (two.length !== len) {\n return true;\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 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 return false;\n};\nexport default deepDiffer;","var safeIsNaN = Number.isNaN ||\n function ponyfill(value) {\n return typeof value === 'number' && value !== value;\n };\nfunction isEqual(first, second) {\n if (first === second) {\n return true;\n }\n if (safeIsNaN(first) && safeIsNaN(second)) {\n return true;\n }\n return false;\n}\nfunction areInputsEqual(newInputs, lastInputs) {\n if (newInputs.length !== lastInputs.length) {\n return false;\n }\n for (var i = 0; i < newInputs.length; i++) {\n if (!isEqual(newInputs[i], lastInputs[i])) {\n return false;\n }\n }\n return true;\n}\n\nfunction memoizeOne(resultFn, isEqual) {\n if (isEqual === void 0) { isEqual = areInputsEqual; }\n var cache = null;\n function memoized() {\n var newArgs = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n newArgs[_i] = arguments[_i];\n }\n if (cache && cache.lastThis === this && isEqual(newArgs, cache.lastArgs)) {\n return cache.lastResult;\n }\n var lastResult = resultFn.apply(this, newArgs);\n cache = {\n lastResult: lastResult,\n lastArgs: newArgs,\n lastThis: this,\n };\n return lastResult;\n }\n memoized.clear = function clear() {\n cache = null;\n };\n return memoized;\n}\n\nexport { memoizeOne as default };\n","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\", \"strictMode\"];\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\nimport View from '../../../exports/View';\nimport StyleSheet from '../../../exports/StyleSheet';\nimport deepDiffer from '../deepDiffer';\nimport Platform from '../../../exports/Platform';\nimport invariant from 'fbjs/lib/invariant';\nimport * as React from 'react';\nimport VirtualizedList from '../VirtualizedList';\nimport { keyExtractor as defaultKeyExtractor } from '../VirtualizeUtils';\nimport memoizeOne from 'memoize-one';\n/**\n * Default Props Helper Functions\n * Use the following helper functions for default values\n */ // removeClippedSubviewsOrDefault(this.props.removeClippedSubviews)\nfunction removeClippedSubviewsOrDefault(removeClippedSubviews) {\n return removeClippedSubviews !== null && removeClippedSubviews !== void 0 ? removeClippedSubviews : Platform.OS === 'android';\n}\n\n// numColumnsOrDefault(this.props.numColumns)\nfunction numColumnsOrDefault(numColumns) {\n return numColumns !== null && numColumns !== void 0 ? numColumns : 1;\n}\nfunction isArrayLike(data) {\n // $FlowExpectedError[incompatible-use]\n return typeof Object(data).length === 'number';\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 /**\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 scrollToIndex(params) {\n if (this._listRef) {\n this._listRef.scrollToIndex(params);\n }\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 scrollToItem(params) {\n if (this._listRef) {\n this._listRef.scrollToItem(params);\n }\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 scrollToOffset(params) {\n if (this._listRef) {\n this._listRef.scrollToOffset(params);\n }\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 recordInteraction() {\n if (this._listRef) {\n this._listRef.recordInteraction();\n }\n }\n\n /**\n * Displays the scroll indicators momentarily.\n *\n * @platform ios\n */\n flashScrollIndicators() {\n if (this._listRef) {\n this._listRef.flashScrollIndicators();\n }\n }\n\n /**\n * Provides a handle to the underlying scroll responder.\n */\n getScrollResponder() {\n if (this._listRef) {\n return this._listRef.getScrollResponder();\n }\n }\n\n /**\n * Provides a reference to the underlying host component\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 getScrollableNode() {\n if (this._listRef) {\n return this._listRef.getScrollableNode();\n }\n }\n constructor(_props) {\n super(_props);\n this._virtualizedListPairs = [];\n this._captureRef = ref => {\n this._listRef = ref;\n };\n this._getItem = (data, index) => {\n var numColumns = numColumnsOrDefault(this.props.numColumns);\n if (numColumns > 1) {\n var ret = [];\n for (var kk = 0; kk < numColumns; kk++) {\n var itemIndex = index * numColumns + kk;\n if (itemIndex < data.length) {\n var _item = data[itemIndex];\n ret.push(_item);\n }\n }\n return ret;\n } else {\n return data[index];\n }\n };\n this._getItemCount = data => {\n // Legacy behavior of FlatList was to forward \"undefined\" length if invalid\n // data like a non-arraylike object is passed. VirtualizedList would then\n // coerce this, and the math would work out to no-op. For compatibility, if\n // invalid data is passed, we tell VirtualizedList there are zero items\n // available to prevent it from trying to read from the invalid data\n // (without propagating invalidly typed data).\n if (data != null && isArrayLike(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 this._keyExtractor = (items, index) => {\n var _this$props$keyExtrac;\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 if (numColumns > 1) {\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 return items.map((item, kk) => keyExtractor(item, index * numColumns + kk)).join(':');\n }\n\n // $FlowFixMe[incompatible-call] Can't call keyExtractor with an array\n return keyExtractor(items, index);\n };\n this._renderer = (ListItemComponent, renderItem, columnWrapperStyle, numColumns, extraData\n // $FlowFixMe[missing-local-annot]\n ) => {\n var cols = numColumnsOrDefault(numColumns);\n var render = 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 var renderProp = info => {\n if (cols > 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: [styles.row, columnWrapperStyle]\n }, _item2.map((it, kk) => {\n var element = render({\n // $FlowFixMe[incompatible-call]\n item: it,\n index: _index * cols + 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 render(info);\n }\n };\n return ListItemComponent ? {\n ListItemComponent: renderProp\n } : {\n renderItem: renderProp\n };\n };\n this._memoizedRenderer = memoizeOne(this._renderer);\n this._checkProps(this.props);\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 // $FlowFixMe[missing-local-annot]\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 this._checkProps(this.props);\n }\n // $FlowFixMe[missing-local-annot]\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 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 invariant(!(onViewableItemsChanged && viewabilityConfigCallbackPairs), 'FlatList does not support setting both onViewableItemsChanged and ' + 'viewabilityConfigCallbackPairs.');\n }\n _pushMultiColumnViewable(arr, v) {\n var _this$props$keyExtrac2;\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 _createOnViewableItemsChanged(onViewableItemsChanged\n // $FlowFixMe[missing-local-annot]\n ) {\n return info => {\n var numColumns = numColumnsOrDefault(this.props.numColumns);\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 // $FlowFixMe[missing-local-annot]\n\n render() {\n var _this$props = this.props,\n numColumns = _this$props.numColumns,\n columnWrapperStyle = _this$props.columnWrapperStyle,\n _removeClippedSubviews = _this$props.removeClippedSubviews,\n _this$props$strictMod = _this$props.strictMode,\n strictMode = _this$props$strictMod === void 0 ? false : _this$props$strictMod,\n restProps = _objectWithoutPropertiesLoose(_this$props, _excluded);\n var renderer = strictMode ? this._memoizedRenderer : this._renderer;\n return (\n /*#__PURE__*/\n // $FlowFixMe[incompatible-exact] - `restProps` (`Props`) is inexact.\n 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 }, renderer(this.props.ListItemComponent, this.props.renderItem, columnWrapperStyle, numColumns, this.props.extraData)))\n );\n }\n}\nvar styles = StyleSheet.create({\n row: {\n flexDirection: 'row'\n }\n});\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 */\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 */\n\nvar I18nManager = {\n allowRTL() {\n return;\n },\n forceRTL() {\n return;\n },\n getConstants() {\n return {\n isRTL: false\n };\n }\n};\nexport default I18nManager;","/**\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\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 */\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 static add(uri) {\n var entries = ImageUriCache._entries;\n var lastUsedTimestamp = Date.now();\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 static remove(uri) {\n var entries = ImageUriCache._entries;\n if (entries[uri]) {\n entries[uri].refCount -= 1;\n }\n // Free up entries when the cache is \"full\"\n ImageUriCache._cleanUpIfNeeded();\n }\n static _cleanUpIfNeeded() {\n var entries = ImageUriCache._entries;\n var imageUris = Object.keys(entries);\n if (imageUris.length + 1 > ImageUriCache._maximumEntries) {\n var leastRecentlyUsedKey;\n var leastRecentlyUsedEntry;\n imageUris.forEach(uri => {\n var entry = entries[uri];\n if ((!leastRecentlyUsedEntry || entry.lastUsedTimestamp < leastRecentlyUsedEntry.lastUsedTimestamp) && entry.refCount === 0) {\n leastRecentlyUsedKey = uri;\n leastRecentlyUsedEntry = entry;\n }\n });\n if (leastRecentlyUsedKey) {\n delete entries[leastRecentlyUsedKey];\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 if (image) {\n image.onerror = null;\n image.onload = null;\n image = null;\n delete requests[\"\" + requestId];\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 function callback() {\n var image = requests[\"\" + requestId];\n if (image) {\n var naturalHeight = image.naturalHeight,\n naturalWidth = image.naturalWidth;\n if (naturalHeight && naturalWidth) {\n success(naturalWidth, naturalHeight);\n complete = true;\n }\n }\n if (complete) {\n ImageLoader.abort(requestId);\n clearInterval(interval);\n }\n }\n function errorCallback() {\n if (typeof failure === 'function') {\n failure();\n }\n ImageLoader.abort(requestId);\n clearInterval(interval);\n }\n },\n has(uri) {\n return ImageUriCache.has(uri);\n },\n load(uri, onLoad, onError) {\n id += 1;\n var image = new window.Image();\n image.onerror = onError;\n image.onload = e => {\n // avoid blocking the main thread\n var onDecode = () => onLoad({\n nativeEvent: e\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 image.src = uri;\n requests[\"\" + id] = image;\n return id;\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 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};\nexport default ImageLoader;","import _objectSpread from \"@babel/runtime/helpers/objectSpread2\";\nimport _extends from \"@babel/runtime/helpers/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/objectWithoutPropertiesLoose\";\nvar _excluded = [\"aria-label\", \"accessibilityLabel\", \"blurRadius\", \"defaultSource\", \"draggable\", \"onError\", \"onLayout\", \"onLoad\", \"onLoadEnd\", \"onLoadStart\", \"pointerEvents\", \"source\", \"style\"];\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 */\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';\nimport { warnOnce } from '../../modules/warnOnce';\nvar ERRORED = 'ERRORED';\nvar LOADED = 'LOADED';\nvar LOADING = 'LOADING';\nvar IDLE = 'IDLE';\nvar _filterId = 0;\nvar svgDataUriPattern = /^(data:image\\/svg\\+xml;utf8,)(.*)/;\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}\nfunction extractNonStandardStyleProps(style, blurRadius, filterId, tintColorProp) {\n var flatStyle = StyleSheet.flatten(style);\n var filter = flatStyle.filter,\n resizeMode = flatStyle.resizeMode,\n shadowOffset = flatStyle.shadowOffset,\n tintColor = flatStyle.tintColor;\n if (flatStyle.resizeMode) {\n warnOnce('Image.style.resizeMode', 'Image: style.resizeMode is deprecated. Please use props.resizeMode.');\n }\n if (flatStyle.tintColor) {\n warnOnce('Image.style.tintColor', 'Image: style.tintColor is deprecated. Please use props.tintColor.');\n }\n\n // Add CSS filters\n // React Native exposes these features as props and proprietary styles\n var filters = [];\n var _filter = null;\n if (filter) {\n filters.push(filter);\n }\n if (blurRadius) {\n filters.push(\"blur(\" + blurRadius + \"px)\");\n }\n if (shadowOffset) {\n var shadowString = createBoxShadowValue(flatStyle);\n if (shadowString) {\n filters.push(\"drop-shadow(\" + shadowString + \")\");\n }\n }\n if ((tintColorProp || tintColor) && filterId != null) {\n filters.push(\"url(#tint-\" + filterId + \")\");\n }\n if (filters.length > 0) {\n _filter = filters.join(' ');\n }\n return [resizeMode, _filter, tintColor];\n}\nfunction resolveAssetDimensions(source) {\n if (typeof source === 'number') {\n var _getAssetByID = getAssetByID(source),\n _height = _getAssetByID.height,\n _width = _getAssetByID.width;\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}\nfunction resolveAssetUri(source) {\n var uri = null;\n if (typeof source === 'number') {\n // get the URI from the packager\n var asset = getAssetByID(source);\n if (asset == null) {\n throw new Error(\"Image: asset with ID \\\"\" + source + \"\\\" could not be found. Please check the image source or packager.\");\n }\n var scale = asset.scales[0];\n if (asset.scales.length > 1) {\n var preferredScale = PixelRatio.get();\n // Get the scale which is closest to the preferred scale\n scale = asset.scales.reduce((prev, curr) => Math.abs(curr - preferredScale) < Math.abs(prev - preferredScale) ? curr : prev);\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 if (uri) {\n var match = uri.match(svgDataUriPattern);\n // inline SVG markup may contain characters (e.g., #, \") that need to be escaped\n if (match) {\n var prefix = match[1],\n svg = match[2];\n var encodedSvg = encodeURIComponent(svg);\n return \"\" + prefix + encodedSvg;\n }\n }\n return uri;\n}\nvar Image = /*#__PURE__*/React.forwardRef((props, ref) => {\n var _ariaLabel = props['aria-label'],\n 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 var ariaLabel = _ariaLabel || accessibilityLabel;\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 var _React$useState = React.useState(() => {\n var uri = resolveAssetUri(source);\n if (uri != null) {\n var isLoaded = ImageLoader.has(uri);\n if (isLoaded) {\n return LOADED;\n }\n }\n return IDLE;\n }),\n state = _React$useState[0],\n updateState = _React$useState[1];\n var _React$useState2 = React.useState({}),\n layout = _React$useState2[0],\n updateLayout = _React$useState2[1];\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 var _extractNonStandardSt = extractNonStandardStyleProps(style, blurRadius, filterRef.current, props.tintColor),\n _resizeMode = _extractNonStandardSt[0],\n filter = _extractNonStandardSt[1],\n _tintColor = _extractNonStandardSt[2];\n var resizeMode = props.resizeMode || _resizeMode || 'cover';\n var tintColor = props.tintColor || _tintColor;\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();\n\n // Accessibility image allows users to trigger the browser's image context menu\n var hiddenImage = displayImageUri ? createElement('img', {\n alt: ariaLabel || '',\n style: styles.accessibilityImage$raw,\n draggable: draggable || false,\n ref: hiddenImageRef,\n src: displayImageUri\n }) : null;\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 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 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 }\n\n // Image loading\n var uri = resolveAssetUri(source);\n React.useEffect(() => {\n abortPendingRequest();\n if (uri != null) {\n updateState(LOADING);\n if (onLoadStart) {\n onLoadStart();\n }\n requestRef.current = ImageLoader.load(uri, function load(e) {\n updateState(LOADED);\n if (onLoad) {\n onLoad(e);\n }\n if (onLoadEnd) {\n onLoadEnd();\n }\n }, function error() {\n updateState(ERRORED);\n if (onError) {\n onError({\n nativeEvent: {\n error: \"Failed to load resource \" + uri + \" (404)\"\n }\n });\n }\n if (onLoadEnd) {\n onLoadEnd();\n }\n });\n }\n function abortPendingRequest() {\n if (requestRef.current != null) {\n ImageLoader.abort(requestRef.current);\n requestRef.current = null;\n }\n }\n return abortPendingRequest;\n }, [uri, requestRef, updateState, onError, onLoad, onLoadEnd, onLoadStart]);\n return /*#__PURE__*/React.createElement(View, _extends({}, rest, {\n \"aria-label\": ariaLabel,\n onLayout: handleLayout,\n pointerEvents: pointerEvents,\n ref: ref,\n style: [styles.root, hasTextAncestor && styles.inline, imageSizeStyle, style, styles.undo,\n // TEMP: avoid deprecated shadow props regression\n // until Image refactored to use createElement.\n {\n boxShadow: null\n }]\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';\n\n// $FlowIgnore: This is the correct type, but casting makes it unhappy since the variables aren't defined yet\nvar ImageWithStatics = Image;\nImageWithStatics.getSize = function (uri, success, failure) {\n ImageLoader.getSize(uri, success, failure);\n};\nImageWithStatics.prefetch = function (uri) {\n return ImageLoader.prefetch(uri);\n};\nImageWithStatics.queryCache = function (uris) {\n return ImageLoader.queryCache(uris);\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 undo: {\n // These styles are converted to CSS filters applied to the\n // element displaying the background image.\n blurRadius: null,\n shadowColor: null,\n shadowOpacity: null,\n shadowOffset: null,\n shadowRadius: null,\n tintColor: null,\n // These styles are not supported\n overlayColor: null,\n resizeMode: null\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 _objectSpread from \"@babel/runtime/helpers/objectSpread2\";\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 */\n\nimport invariant from 'fbjs/lib/invariant';\nclass TaskQueue {\n constructor(_ref) {\n var onMoreTasks = _ref.onMoreTasks;\n this._onMoreTasks = onMoreTasks;\n this._queueStack = [{\n tasks: [],\n popable: true\n }];\n }\n enqueue(task) {\n this._getCurrentQueue().push(task);\n }\n enqueueTasks(tasks) {\n tasks.forEach(task => this.enqueue(task));\n }\n cancelTasks(tasksToCancel) {\n this._queueStack = this._queueStack.map(queue => _objectSpread(_objectSpread({}, queue), {}, {\n tasks: queue.tasks.filter(task => tasksToCancel.indexOf(task) === -1)\n })).filter((queue, idx) => queue.tasks.length > 0 || idx === 0);\n }\n hasTasksToProcess() {\n return this._getCurrentQueue().length > 0;\n }\n\n /**\n * Executes the next task in the queue.\n */\n processNext() {\n var queue = this._getCurrentQueue();\n if (queue.length) {\n var task = queue.shift();\n try {\n if (typeof task === 'object' && task.gen) {\n this._genPromise(task);\n } else if (typeof task === 'object' && task.run) {\n task.run();\n } else {\n invariant(typeof task === 'function', 'Expected Function, SimpleTask, or PromiseTask, but got:\\n' + JSON.stringify(task, null, 2));\n task();\n }\n } catch (e) {\n e.message = 'TaskQueue: Error with task ' + (task.name || '') + ': ' + e.message;\n throw e;\n }\n }\n }\n _getCurrentQueue() {\n var stackIdx = this._queueStack.length - 1;\n var queue = this._queueStack[stackIdx];\n if (queue.popable && queue.tasks.length === 0 && stackIdx > 0) {\n this._queueStack.pop();\n return this._getCurrentQueue();\n } else {\n return queue.tasks;\n }\n }\n _genPromise(task) {\n var length = this._queueStack.push({\n tasks: [],\n popable: false\n });\n var stackIdx = length - 1;\n var stackItem = this._queueStack[stackIdx];\n task.gen().then(() => {\n stackItem.popable = true;\n this.hasTasksToProcess() && this._onMoreTasks();\n }).catch(ex => {\n setTimeout(() => {\n ex.message = \"TaskQueue: Error resolving Promise in task \" + task.name + \": \" + ex.message;\n throw ex;\n }, 0);\n });\n }\n}\nexport default TaskQueue;","/**\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';\nvar _requestIdleCallback = function _requestIdleCallback(cb, options) {\n return setTimeout(() => {\n var start = Date.now();\n cb({\n didTimeout: false,\n timeRemaining() {\n return Math.max(0, 50 - (Date.now() - start));\n }\n });\n }, 1);\n};\nvar _cancelIdleCallback = function _cancelIdleCallback(id) {\n clearTimeout(id);\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 };","/**\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 */\n\nimport invariant from 'fbjs/lib/invariant';\nimport TaskQueue from './TaskQueue';\nimport EventEmitter from '../../vendor/react-native/vendor/emitter/EventEmitter';\nimport requestIdleCallback from '../../modules/requestIdleCallback';\nvar _emitter = new EventEmitter();\nvar InteractionManager = {\n Events: {\n interactionStart: 'interactionStart',\n interactionComplete: 'interactionComplete'\n },\n /**\n * Schedule a function to run after all interactions have completed.\n */\n runAfterInteractions(task) {\n var tasks = [];\n var promise = new Promise(resolve => {\n _scheduleUpdate();\n if (task) {\n tasks.push(task);\n }\n tasks.push({\n run: resolve,\n name: 'resolve ' + (task && task.name || '?')\n });\n _taskQueue.enqueueTasks(tasks);\n });\n return {\n then: promise.then.bind(promise),\n done: promise.then.bind(promise),\n cancel: () => {\n _taskQueue.cancelTasks(tasks);\n }\n };\n },\n /**\n * Notify manager that an interaction has started.\n */\n createInteractionHandle() {\n _scheduleUpdate();\n var handle = ++_inc;\n _addInteractionSet.add(handle);\n return handle;\n },\n /**\n * Notify manager that an interaction has completed.\n */\n clearInteractionHandle(handle) {\n invariant(!!handle, 'Must provide a handle to clear.');\n _scheduleUpdate();\n _addInteractionSet.delete(handle);\n _deleteInteractionSet.add(handle);\n },\n addListener: _emitter.addListener.bind(_emitter),\n /**\n *\n * @param deadline\n */\n setDeadline(deadline) {\n _deadline = deadline;\n }\n};\nvar _interactionSet = new Set();\nvar _addInteractionSet = new Set();\nvar _deleteInteractionSet = new Set();\nvar _taskQueue = new TaskQueue({\n onMoreTasks: _scheduleUpdate\n});\nvar _nextUpdateHandle = 0;\nvar _inc = 0;\nvar _deadline = -1;\n\n/**\n * Schedule an asynchronous update to the interaction state.\n */\nfunction _scheduleUpdate() {\n if (!_nextUpdateHandle) {\n if (_deadline > 0) {\n _nextUpdateHandle = setTimeout(_processUpdate);\n } else {\n _nextUpdateHandle = requestIdleCallback(_processUpdate);\n }\n }\n}\n\n/**\n * Notify listeners, process queue, etc\n */\nfunction _processUpdate() {\n _nextUpdateHandle = 0;\n var interactionCount = _interactionSet.size;\n _addInteractionSet.forEach(handle => _interactionSet.add(handle));\n _deleteInteractionSet.forEach(handle => _interactionSet.delete(handle));\n var nextInteractionCount = _interactionSet.size;\n if (interactionCount !== 0 && nextInteractionCount === 0) {\n _emitter.emit(InteractionManager.Events.interactionComplete);\n } else if (interactionCount === 0 && nextInteractionCount !== 0) {\n _emitter.emit(InteractionManager.Events.interactionStart);\n }\n if (nextInteractionCount === 0) {\n // It seems that we can't know the running time of the current event loop,\n // we can only calculate the running time of the current task queue.\n var begin = Date.now();\n while (_taskQueue.hasTasksToProcess()) {\n _taskQueue.processNext();\n if (_deadline > 0 && Date.now() - begin >= _deadline) {\n _scheduleUpdate();\n break;\n }\n }\n }\n _addInteractionSet.clear();\n _deleteInteractionSet.clear();\n}\nexport default InteractionManager;","/**\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 */\n\nimport dismissKeyboard from '../../modules/dismissKeyboard';\n\n// in the future we can use https://github.com/w3c/virtual-keyboard\nvar Keyboard = {\n isVisible() {\n return false;\n },\n addListener() {\n return {\n remove: () => {}\n };\n },\n dismiss() {\n dismissKeyboard();\n },\n removeAllListeners() {},\n removeListener() {}\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 */\n\nimport * as React from 'react';\nimport ReactDOM from 'react-dom';\nimport canUseDOM from '../../modules/canUseDom';\nfunction ModalPortal(props) {\n var children = props.children;\n var elementRef = React.useRef(null);\n if (canUseDOM && !elementRef.current) {\n var element = document.createElement('div');\n if (element && document.body) {\n document.body.appendChild(element);\n elementRef.current = element;\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}\nexport default ModalPortal;","/**\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 */\n\nimport * as React from 'react';\nimport StyleSheet from '../StyleSheet';\nimport createElement from '../createElement';\nvar ANIMATION_DURATION = 300;\nfunction getAnimationStyle(animationType, visible) {\n if (animationType === 'slide') {\n return visible ? animatedSlideInStyles : animatedSlideOutStyles;\n }\n if (animationType === 'fade') {\n return visible ? animatedFadeInStyles : animatedFadeOutStyles;\n }\n return visible ? styles.container : styles.hidden;\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 var _React$useState = React.useState(false),\n isRendering = _React$useState[0],\n setIsRendering = _React$useState[1];\n var wasVisible = React.useRef(false);\n var wasRendering = 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 if (visible) {\n if (onShow) {\n onShow();\n }\n } else {\n setIsRendering(false);\n }\n }, [onShow, visible]);\n React.useEffect(() => {\n if (wasRendering.current && !isRendering && onDismiss) {\n onDismiss();\n }\n wasRendering.current = isRendering;\n }, [isRendering, onDismiss]);\n React.useEffect(() => {\n if (visible) {\n setIsRendering(true);\n }\n if (visible !== wasVisible.current && !isAnimated) {\n // Manually call `animationEndCallback` if no animation is used\n animationEndCallback();\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}\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: 'translateY(0%)',\n animationKeyframes: {\n '0%': {\n transform: 'translateY(100%)'\n },\n '100%': {\n transform: 'translateY(0%)'\n }\n }\n },\n slideOut: {\n transform: 'translateY(100%)',\n animationKeyframes: {\n '0%': {\n transform: 'translateY(0%)'\n },\n '100%': {\n transform: 'translateY(100%)'\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 * 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 */\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 React.useEffect(() => {\n if (canUseDOM) {\n var closeOnEscape = e => {\n if (active && e.key === 'Escape') {\n e.stopPropagation();\n if (onRequestClose) {\n onRequestClose();\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 \"aria-modal\": true,\n ref: forwardedRef,\n role: active ? 'dialog' : null,\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 */\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/**\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 role: 'none',\n tabIndex: 0,\n style: styles.focusBracket\n });\n};\nfunction attemptFocus(element) {\n if (!canUseDOM) {\n return false;\n }\n try {\n element.focus();\n } catch (e) {\n // Do nothing\n }\n return document.activeElement === element;\n}\nfunction focusFirstDescendant(element) {\n for (var i = 0; i < element.childNodes.length; i++) {\n var child = element.childNodes[i];\n if (attemptFocus(child) || focusFirstDescendant(child)) {\n return true;\n }\n }\n return false;\n}\nfunction focusLastDescendant(element) {\n for (var i = element.childNodes.length - 1; i >= 0; i--) {\n var child = element.childNodes[i];\n if (attemptFocus(child) || focusLastDescendant(child)) {\n return true;\n }\n }\n return false;\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 try {\n focusRef.current.trapFocusInProgress = true;\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 if (focusRef.current.lastFocusedElement === document.activeElement) {\n hasFocused = focusLastDescendant(trapElementRef.current);\n }\n // If we couldn't focus a new element then we need to focus onto the trap target\n if (!hasFocused && trapElementRef.current != null && document.activeElement) {\n UIManager.focus(trapElementRef.current);\n }\n }\n } finally {\n focusRef.current.trapFocusInProgress = false;\n }\n focusRef.current.lastFocusedElement = document.activeElement;\n };\n\n // Call the trapFocus callback at least once when this modal has been activated.\n trapFocus();\n document.addEventListener('focus', trapFocus, true);\n return () => document.removeEventListener('focus', trapFocus, true);\n }\n }, [active]);\n\n // To be fully compliant with WCAG we need to refocus element that triggered opening modal\n // after closing it\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};\nexport default ModalFocusTrap;\nvar styles = StyleSheet.create({\n focusBracket: {\n outlineStyle: 'none'\n }\n});","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 * 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 */\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 = {};\nfunction notifyActiveModalListeners() {\n if (activeModalStack.length === 0) {\n return;\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}\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 var index = activeModalStack.indexOf(modalId);\n if (index !== -1) {\n activeModalStack.splice(index, 1);\n notifyActiveModalListeners();\n }\n}\nfunction addActiveModal(modalId, listener) {\n removeActiveModal(modalId);\n activeModalStack.push(modalId);\n activeModalListeners[modalId] = listener;\n notifyActiveModalListeners();\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);\n\n // Set a unique model identifier so we can correctly route\n // dismissals and check the layering of modals.\n var modalId = React.useMemo(() => uniqueModalIdentifier++, []);\n var _React$useState = React.useState(false),\n isActive = _React$useState[0],\n setIsActive = _React$useState[1];\n var onDismissCallback = React.useCallback(() => {\n removeActiveModal(modalId);\n if (onDismiss) {\n onDismiss();\n }\n }, [modalId, onDismiss]);\n var onShowCallback = React.useCallback(() => {\n addActiveModal(modalId, setIsActive);\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 */\n\nimport NativeEventEmitter from '../../vendor/react-native/EventEmitter/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 */\n\nimport UIManager from '../UIManager';\n\n// NativeModules shim\nvar NativeModules = {\n UIManager\n};\nexport default NativeModules;","/**\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 */\n\nimport Dimensions from '../Dimensions';\n\n/**\n * PixelRatio gives access to the device pixel density.\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 /**\n * No equivalent for Web\n */\n static getFontScale() {\n return Dimensions.get('window').fontScale || PixelRatio.get();\n }\n\n /**\n * Converts a layout size (dp) to pixel size (px).\n * Guaranteed to return an integer number.\n */\n static getPixelSizeForLayoutSize(layoutSize) {\n return Math.round(layoutSize * PixelRatio.get());\n }\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 static roundToNearestPixel(layoutSize) {\n var ratio = PixelRatio.get();\n return Math.round(layoutSize * ratio) / ratio;\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 */\n\nvar Platform = {\n OS: 'web',\n select: obj => 'web' in obj ? obj.web : obj.default,\n get isTesting() {\n if (process.env.NODE_ENV === 'test') {\n return true;\n }\n return false;\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\n'use strict';\n\nimport canUseDOM from '../canUseDom';\nvar emptyFunction = () => {};\nfunction supportsPassiveEvents() {\n var supported = false;\n // 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 if (canUseDOM) {\n try {\n var options = {};\n Object.defineProperty(options, 'passive', {\n get() {\n supported = true;\n return false;\n }\n });\n window.addEventListener('test', null, options);\n window.removeEventListener('test', null, options);\n } catch (e) {}\n }\n return supported;\n}\nvar canUsePassiveEvents = supportsPassiveEvents();\nfunction getOptions(options) {\n if (options == null) {\n return false;\n }\n return canUsePassiveEvents ? options : Boolean(options.capture);\n}\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 */\nfunction isPropagationStopped() {\n return this.cancelBubble;\n}\nfunction isDefaultPrevented() {\n return this.defaultPrevented;\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 */\nexport function addEventListener(target, type, listener, options) {\n var opts = getOptions(options);\n var compatListener = e => listener(normalizeEvent(e));\n target.addEventListener(type, compatListener, opts);\n return function removeEventListener() {\n if (target != null) {\n target.removeEventListener(type, compatListener, opts);\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 */\n\nimport { addEventListener } from '../addEventListener';\nimport canUseDOM from '../canUseDom';\nvar supportsPointerEvent = () => !!(typeof window !== 'undefined' && window.PointerEvent != null);\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};\nfunction restoreModality() {\n if (previousModality != null || previousActiveModality != null) {\n if (previousModality != null) {\n modality = previousModality;\n previousModality = null;\n }\n if (previousActiveModality != null) {\n activeModality = previousActiveModality;\n previousActiveModality = null;\n }\n callListeners();\n }\n}\nfunction onBlurWindow() {\n previousModality = modality;\n previousActiveModality = activeModality;\n activeModality = KEYBOARD;\n modality = KEYBOARD;\n callListeners();\n // for fallback events\n isEmulatingMouseEvents = false;\n}\nfunction onFocusWindow() {\n restoreModality();\n}\nfunction onKeyDown(event) {\n if (event.metaKey || event.altKey || event.ctrlKey) {\n return;\n }\n if (modality !== KEYBOARD) {\n modality = KEYBOARD;\n activeModality = KEYBOARD;\n callListeners();\n }\n}\nfunction onVisibilityChange() {\n if (document.visibilityState !== 'hidden') {\n restoreModality();\n }\n}\nfunction onPointerish(event) {\n var eventType = event.type;\n if (supportsPointerEvent()) {\n if (eventType === POINTERDOWN) {\n if (activeModality !== event.pointerType) {\n modality = event.pointerType;\n activeModality = event.pointerType;\n callListeners();\n }\n return;\n }\n if (eventType === POINTERMOVE) {\n if (modality !== event.pointerType) {\n modality = event.pointerType;\n callListeners();\n }\n return;\n }\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 if (eventType === MOUSEMOVE) {\n if (modality !== MOUSE) {\n modality = MOUSE;\n callListeners();\n }\n }\n }\n\n // Flag when browser may produce emulated events\n if (eventType === TOUCHSTART) {\n isEmulatingMouseEvents = true;\n if (event.touches && event.touches.length > 1) {\n isEmulatingMouseEvents = false;\n }\n if (activeModality !== TOUCH) {\n modality = TOUCH;\n activeModality = TOUCH;\n callListeners();\n }\n return;\n }\n\n // Remove flag after emulated events are finished or cancelled, and if an\n // event occurs that cuts short a touch event sequence.\n if (eventType === CONTEXTMENU || eventType === MOUSEUP || eventType === SELECTIONCHANGE || eventType === SCROLL || eventType === TOUCHCANCEL || eventType === TOUCHMOVE) {\n isEmulatingMouseEvents = false;\n }\n }\n}\nif (canUseDOM) {\n // Window events\n addEventListener(window, BLUR, onBlurWindow, bubbleOptions);\n addEventListener(window, FOCUS, onFocusWindow, bubbleOptions);\n // Must be capture phase because 'stopPropagation' might prevent these\n // events bubbling to the document.\n addEventListener(document, KEYDOWN, onKeyDown, captureOptions);\n addEventListener(document, VISIBILITYCHANGE, onVisibilityChange, captureOptions);\n addEventListener(document, POINTERDOWN, onPointerish, captureOptions);\n addEventListener(document, POINTERMOVE, onPointerish, captureOptions);\n // Fallback events\n addEventListener(document, CONTEXTMENU, onPointerish, captureOptions);\n addEventListener(document, MOUSEDOWN, onPointerish, captureOptions);\n addEventListener(document, MOUSEMOVE, onPointerish, captureOptions);\n addEventListener(document, MOUSEUP, onPointerish, captureOptions);\n addEventListener(document, TOUCHCANCEL, onPointerish, captureOptions);\n addEventListener(document, TOUCHMOVE, onPointerish, captureOptions);\n addEventListener(document, TOUCHSTART, onPointerish, captureOptions);\n addEventListener(document, SELECTIONCHANGE, onPointerish, captureOptions);\n addEventListener(document, SCROLL, onPointerish, captureOptions);\n}\nfunction callListeners() {\n var value = {\n activeModality,\n modality\n };\n listeners.forEach(listener => {\n listener(value);\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) 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\nimport { addEventListener } from '../addEventListener';\nimport useLayoutEffect from '../useLayoutEffect';\nimport useStable from '../useStable';\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(eventType, options) {\n var targetListeners = useStable(() => new Map());\n var addListener = useStable(() => {\n return (target, callback) => {\n var removeTargetListener = targetListeners.get(target);\n if (removeTargetListener != null) {\n removeTargetListener();\n }\n if (callback == null) {\n targetListeners.delete(target);\n callback = () => {};\n }\n var removeEventListener = addEventListener(target, eventType, callback, options);\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 */\n\nimport { getModality } from '../modality';\nimport useEvent from '../useEvent';\nimport useLayoutEffect from '../useLayoutEffect';\n\n/**\n * Types\n */\n\n/**\n * Implementation\n */\n\nvar emptyObject = {};\nvar opts = {\n passive: true\n};\nvar lockEventType = 'react-gui:hover:lock';\nvar unlockEventType = 'react-gui:hover:unlock';\nvar supportsPointerEvent = () => !!(typeof window !== 'undefined' && window.PointerEvent != null);\nfunction dispatchCustomEvent(target, type, payload) {\n var event = document.createEvent('CustomEvent');\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 event.initCustomEvent(type, bubbles, cancelable, detail);\n target.dispatchEvent(event);\n}\n\n// This accounts for the non-PointerEvent fallback events.\nfunction getPointerType(event) {\n var pointerType = event.pointerType;\n return pointerType != null ? pointerType : getModality();\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);\n // These custom events are used to implement the \"contain\" prop.\n var addLockListener = useEvent(lockEventType, opts);\n var addUnlockListener = useEvent(unlockEventType, opts);\n useLayoutEffect(() => {\n var target = targetRef.current;\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 if (onHoverChange != null) {\n onHoverChange(false);\n }\n // Remove the listeners once finished.\n addMoveListener(target, null);\n addLeaveListener(target, null);\n };\n\n /**\n * Leave element\n */\n var leaveListener = function leaveListener(e) {\n var target = targetRef.current;\n if (target != null && getPointerType(e) !== 'touch') {\n if (contain) {\n dispatchCustomEvent(target, unlockEventType);\n }\n hoverEnd(e);\n }\n };\n\n /**\n * Move within element\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 if (e.y == null) {\n e.y = e.clientY;\n }\n onHoverUpdate(e);\n }\n }\n };\n\n /**\n * Start the hover gesture\n */\n var hoverStart = function hoverStart(e) {\n if (onHoverStart != null) {\n onHoverStart(e);\n }\n if (onHoverChange != null) {\n onHoverChange(true);\n }\n // Set the listeners needed for the rest of the hover gesture.\n if (onHoverUpdate != null) {\n addMoveListener(target, !disabled ? moveListener : null);\n }\n addLeaveListener(target, !disabled ? leaveListener : null);\n };\n\n /**\n * Enter element\n */\n var enterListener = function enterListener(e) {\n var target = targetRef.current;\n if (target != null && getPointerType(e) !== 'touch') {\n if (contain) {\n dispatchCustomEvent(target, lockEventType);\n }\n hoverStart(e);\n var lockListener = function lockListener(lockEvent) {\n if (lockEvent.target !== target) {\n hoverEnd(e);\n }\n };\n var unlockListener = function unlockListener(lockEvent) {\n if (lockEvent.target !== target) {\n hoverStart(e);\n }\n };\n addLockListener(target, !disabled ? lockListener : null);\n addUnlockListener(target, !disabled ? unlockListener : null);\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) 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\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\", \"onBlur\", \"onContextMenu\", \"onFocus\", \"onHoverIn\", \"onHoverOut\", \"onKeyDown\", \"onLongPress\", \"onPress\", \"onPressMove\", \"onPressIn\", \"onPressOut\", \"style\", \"tabIndex\", \"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 * 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 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 tabIndex = props.tabIndex,\n testOnly_hovered = props.testOnly_hovered,\n testOnly_pressed = props.testOnly_pressed,\n rest = _objectWithoutPropertiesLoose(props, _excluded);\n var _useForceableState = useForceableState(testOnly_hovered === true),\n hovered = _useForceableState[0],\n setHovered = _useForceableState[1];\n var _useForceableState2 = useForceableState(false),\n focused = _useForceableState2[0],\n setFocused = _useForceableState2[1];\n var _useForceableState3 = useForceableState(testOnly_pressed === true),\n pressed = _useForceableState3[0],\n setPressed = _useForceableState3[1];\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 (e.nativeEvent.target === hostRef.current) {\n setFocused(false);\n if (onBlur != null) {\n onBlur(e);\n }\n }\n }, [hostRef, setFocused, onBlur]);\n var focusHandler = React.useCallback(e => {\n if (e.nativeEvent.target === hostRef.current) {\n setFocused(true);\n if (onFocus != null) {\n onFocus(e);\n }\n }\n }, [hostRef, setFocused, onFocus]);\n var contextMenuHandler = React.useCallback(e => {\n if (onContextMenuPress != null) {\n onContextMenuPress(e);\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 if (onKeyDown != null) {\n onKeyDown(e);\n }\n }, [onKeyDown, onKeyDownPress]);\n var _tabIndex;\n if (tabIndex !== undefined) {\n _tabIndex = tabIndex;\n } else {\n _tabIndex = disabled ? -1 : 0;\n }\n return /*#__PURE__*/React.createElement(View, _extends({}, rest, pressEventHandlers, {\n \"aria-disabled\": disabled,\n onBlur: blurHandler,\n onContextMenu: contextMenuHandler,\n onFocus: focusHandler,\n onKeyDown: keyDownHandler,\n ref: setRef,\n style: [disabled ? styles.disabled : styles.active, typeof style === 'function' ? style(interactionState) : style],\n tabIndex: _tabIndex\n }), typeof children === 'function' ? children(interactionState) : children);\n}\nfunction useForceableState(forced) {\n var _useState = useState(false),\n bool = _useState[0],\n setBool = _useState[1];\n return [bool || forced, setBool];\n}\nvar styles = StyleSheet.create({\n active: {\n cursor: 'pointer',\n touchAction: 'manipulation'\n },\n disabled: {\n pointerEvents: 'box-none'\n }\n});\nvar MemoedPressable = /*#__PURE__*/memo( /*#__PURE__*/forwardRef(Pressable));\nMemoedPressable.displayName = 'Pressable';\nexport default MemoedPressable;","import _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/objectWithoutPropertiesLoose\";\nvar _excluded = [\"colors\", \"enabled\", \"onRefresh\", \"progressBackgroundColor\", \"progressViewOffset\", \"refreshing\", \"size\", \"tintColor\", \"title\", \"titleColor\"];\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 */\n\nimport View from '../View';\nimport React from 'react';\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 return /*#__PURE__*/React.createElement(View, rest);\n}\nexport default RefreshControl;","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 * 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\nimport * as React from 'react';\nimport StyleSheet from '../StyleSheet';\nimport View from '../View';\nimport useMergeRefs from '../../modules/useMergeRefs';\nfunction normalizeScrollEvent(e) {\n return {\n nativeEvent: {\n contentOffset: {\n get x() {\n return e.target.scrollLeft;\n },\n get y() {\n return e.target.scrollTop;\n }\n },\n contentSize: {\n get height() {\n return e.target.scrollHeight;\n },\n get width() {\n return e.target.scrollWidth;\n }\n },\n layoutMeasurement: {\n get height() {\n return e.target.offsetHeight;\n },\n get width() {\n return e.target.offsetWidth;\n }\n }\n },\n timeStamp: Date.now()\n };\n}\nfunction shouldEmitScrollEvent(lastTick, eventThrottle) {\n var timeSinceLastTick = Date.now() - lastTick;\n return eventThrottle > 0 && timeSinceLastTick >= eventThrottle;\n}\n\n/**\n * Encapsulates the Web-specific scroll throttling and disabling logic\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 var scrollState = React.useRef({\n isScrolling: false,\n scrollLastTick: 0\n });\n var scrollTimeout = React.useRef(null);\n var scrollRef = React.useRef(null);\n function createPreventableScrollHandler(handler) {\n return e => {\n if (scrollEnabled) {\n if (handler) {\n handler(e);\n }\n }\n };\n }\n function handleScroll(e) {\n e.stopPropagation();\n if (e.target === scrollRef.current) {\n e.persist();\n // A scroll happened, so the scroll resets the scrollend timeout.\n if (scrollTimeout.current != null) {\n clearTimeout(scrollTimeout.current);\n }\n scrollTimeout.current = setTimeout(() => {\n handleScrollEnd(e);\n }, 100);\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 function handleScrollStart(e) {\n scrollState.current.isScrolling = true;\n handleScrollTick(e);\n }\n function handleScrollTick(e) {\n scrollState.current.scrollLastTick = Date.now();\n if (onScroll) {\n onScroll(normalizeScrollEvent(e));\n }\n }\n function handleScrollEnd(e) {\n scrollState.current.isScrolling = false;\n if (onScroll) {\n onScroll(normalizeScrollEvent(e));\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});\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\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 * 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 */\n\nimport Dimensions from '../Dimensions';\nimport dismissKeyboard from '../../modules/dismissKeyboard';\nimport invariant from 'fbjs/lib/invariant';\nimport mergeRefs from '../../modules/mergeRefs';\nimport Platform from '../Platform';\nimport ScrollViewBase from './ScrollViewBase';\nimport StyleSheet from '../StyleSheet';\nimport TextInputState from '../../modules/TextInputState';\nimport UIManager from '../UIManager';\nimport View from '../View';\nimport React from 'react';\nimport warning from 'fbjs/lib/warning';\nvar emptyObject = {};\nvar IS_ANIMATING_TOUCH_START_THRESHOLD_MS = 16;\nclass ScrollView extends React.Component {\n constructor() {\n super(...arguments);\n this._scrollNodeRef = null;\n this._innerViewRef = null;\n this.isTouching = false;\n this.lastMomentumScrollBeginTime = 0;\n this.lastMomentumScrollEndTime = 0;\n this.observedScrollSinceBecomingResponder = false;\n this.becameResponderWhileAnimating = false;\n this.scrollResponderHandleScrollShouldSetResponder = () => {\n return this.isTouching;\n };\n this.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 this.scrollResponderHandleTerminationRequest = () => {\n return !this.observedScrollSinceBecomingResponder;\n };\n this.scrollResponderHandleTouchEnd = e => {\n var nativeEvent = e.nativeEvent;\n this.isTouching = nativeEvent.touches.length !== 0;\n this.props.onTouchEnd && this.props.onTouchEnd(e);\n };\n this.scrollResponderHandleResponderRelease = e => {\n this.props.onResponderRelease && this.props.onResponderRelease(e);\n\n // By default scroll views will unfocus a textField\n // if another touch occurs outside of it\n var currentlyFocusedTextInput = TextInputState.currentlyFocusedField();\n if (!this.props.keyboardShouldPersistTaps && currentlyFocusedTextInput != null && e.target !== currentlyFocusedTextInput && !this.observedScrollSinceBecomingResponder && !this.becameResponderWhileAnimating) {\n this.props.onScrollResponderKeyboardDismissed && this.props.onScrollResponderKeyboardDismissed(e);\n TextInputState.blurTextInput(currentlyFocusedTextInput);\n }\n };\n this.scrollResponderHandleScroll = e => {\n this.observedScrollSinceBecomingResponder = true;\n this.props.onScroll && this.props.onScroll(e);\n };\n this.scrollResponderHandleResponderGrant = e => {\n this.observedScrollSinceBecomingResponder = false;\n this.props.onResponderGrant && this.props.onResponderGrant(e);\n this.becameResponderWhileAnimating = this.scrollResponderIsAnimating();\n };\n this.scrollResponderHandleScrollBeginDrag = e => {\n this.props.onScrollBeginDrag && this.props.onScrollBeginDrag(e);\n };\n this.scrollResponderHandleScrollEndDrag = e => {\n this.props.onScrollEndDrag && this.props.onScrollEndDrag(e);\n };\n this.scrollResponderHandleMomentumScrollBegin = e => {\n this.lastMomentumScrollBeginTime = Date.now();\n this.props.onMomentumScrollBegin && this.props.onMomentumScrollBegin(e);\n };\n this.scrollResponderHandleMomentumScrollEnd = e => {\n this.lastMomentumScrollEndTime = Date.now();\n this.props.onMomentumScrollEnd && this.props.onMomentumScrollEnd(e);\n };\n this.scrollResponderHandleTouchStart = e => {\n this.isTouching = true;\n this.props.onTouchStart && this.props.onTouchStart(e);\n };\n this.scrollResponderHandleTouchMove = e => {\n this.props.onTouchMove && this.props.onTouchMove(e);\n };\n this.scrollResponderIsAnimating = () => {\n var now = Date.now();\n var timeSinceLastMomentumScrollEnd = now - this.lastMomentumScrollEndTime;\n var isAnimating = timeSinceLastMomentumScrollEnd < IS_ANIMATING_TOUCH_START_THRESHOLD_MS || this.lastMomentumScrollEndTime < this.lastMomentumScrollBeginTime;\n return isAnimating;\n };\n this.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 x = _ref.x;\n y = _ref.y;\n animated = _ref.animated;\n }\n var node = this.getScrollableNode();\n var left = x || 0;\n var top = y || 0;\n if (node != null) {\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 this.scrollResponderZoomTo = (rect, animated) => {\n if (Platform.OS !== 'ios') {\n invariant('zoomToRect is not implemented');\n }\n };\n this.scrollResponderScrollNativeHandleToKeyboard = (nodeHandle, additionalOffset, preventNegativeScrollOffset) => {\n this.additionalScrollOffset = additionalOffset || 0;\n this.preventNegativeScrollOffset = !!preventNegativeScrollOffset;\n UIManager.measureLayout(nodeHandle, this.getInnerViewNode(), this.scrollResponderTextInputFocusError, this.scrollResponderInputMeasureAndScrollToKeyboard);\n };\n this.scrollResponderInputMeasureAndScrollToKeyboard = (left, top, width, height) => {\n var keyboardScreenY = Dimensions.get('window').height;\n if (this.keyboardWillOpenTo) {\n keyboardScreenY = this.keyboardWillOpenTo.endCoordinates.screenY;\n }\n var scrollOffsetY = top - keyboardScreenY + height + this.additionalScrollOffset;\n\n // 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 if (this.preventNegativeScrollOffset) {\n scrollOffsetY = Math.max(0, scrollOffsetY);\n }\n this.scrollResponderScrollTo({\n x: 0,\n y: scrollOffsetY,\n animated: true\n });\n this.additionalOffset = 0;\n this.preventNegativeScrollOffset = false;\n };\n this.scrollResponderKeyboardWillShow = e => {\n this.keyboardWillOpenTo = e;\n this.props.onKeyboardWillShow && this.props.onKeyboardWillShow(e);\n };\n this.scrollResponderKeyboardWillHide = e => {\n this.keyboardWillOpenTo = null;\n this.props.onKeyboardWillHide && this.props.onKeyboardWillHide(e);\n };\n this.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 this.props.onKeyboardDidShow && this.props.onKeyboardDidShow(e);\n };\n this.scrollResponderKeyboardDidHide = e => {\n this.keyboardWillOpenTo = null;\n this.props.onKeyboardDidHide && this.props.onKeyboardDidHide(e);\n };\n this.flashScrollIndicators = () => {\n this.scrollResponderFlashScrollIndicators();\n };\n this.getScrollResponder = () => {\n return this;\n };\n this.getScrollableNode = () => {\n return this._scrollNodeRef;\n };\n this.getInnerViewRef = () => {\n return this._innerViewRef;\n };\n this.getInnerViewNode = () => {\n return this._innerViewRef;\n };\n this.getNativeScrollRef = () => {\n return this._scrollNodeRef;\n };\n this.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 _ref2 = y || emptyObject;\n x = _ref2.x;\n y = _ref2.y;\n animated = _ref2.animated;\n }\n this.scrollResponderScrollTo({\n x: x || 0,\n y: y || 0,\n animated: animated !== false\n });\n };\n this.scrollToEnd = options => {\n // Default to true\n var animated = (options && options.animated) !== false;\n var horizontal = this.props.horizontal;\n var scrollResponderNode = this.getScrollableNode();\n var x = horizontal ? scrollResponderNode.scrollWidth : 0;\n var y = horizontal ? 0 : scrollResponderNode.scrollHeight;\n this.scrollResponderScrollTo({\n x,\n y,\n animated\n });\n };\n this._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 this._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 if (this.props.keyboardDismissMode === 'on-drag') {\n dismissKeyboard();\n }\n this.scrollResponderHandleScroll(e);\n };\n this._setInnerViewRef = node => {\n this._innerViewRef = node;\n };\n this._setScrollNodeRef = node => {\n this._scrollNodeRef = node;\n // 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 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 var ref = mergeRefs(this.props.forwardedRef);\n ref(node);\n };\n }\n /**\n * ------------------------------------------------------\n * START SCROLLRESPONDER\n * ------------------------------------------------------\n */\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 /**\n * Invoke this from an `onScroll` event.\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() {\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\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() {\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\n /**\n * Invoke this from an `onTouchEnd` event.\n *\n * @param {SyntheticEvent} e Event.\n */\n\n /**\n * Invoke this from an `onResponderRelease` event.\n */\n\n /**\n * Invoke this from an `onResponderGrant` event.\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\n /**\n * Invoke this from an `onScrollEndDrag` event.\n */\n\n /**\n * Invoke this from an `onMomentumScrollBegin` event.\n */\n\n /**\n * Invoke this from an `onMomentumScrollEnd` event.\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\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\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\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\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\n /**\n * Displays the scroll indicators momentarily.\n */\n 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\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\n scrollResponderTextInputFocusError(e) {\n console.error('Error measuring text field: ', e);\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\n /**\n * ------------------------------------------------------\n * END SCROLLRESPONDER\n * ------------------------------------------------------\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\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\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\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 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 var contentSizeChangeProps = {};\n if (onContentSizeChange) {\n contentSizeChangeProps = {\n onLayout: this._handleContentOnLayout\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 if (child != null && (isSticky || pagingEnabled)) {\n return /*#__PURE__*/React.createElement(View, {\n style: [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 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 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 if (refreshControl) {\n return /*#__PURE__*/React.cloneElement(refreshControl, {\n style: props.style\n }, scrollView);\n }\n return scrollView;\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: 'translateZ(0)',\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;","import _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\"];\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\nimport View from '../../../exports/View';\nimport VirtualizedList from '../VirtualizedList';\nimport { keyExtractor as defaultKeyExtractor } from '../VirtualizeUtils';\nimport invariant from 'fbjs/lib/invariant';\nimport * as React from 'react';\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 this._keyExtractor = (item, index) => {\n var info = this._subExtractor(index);\n return info && info.key || String(index);\n };\n this._convertViewable = viewable => {\n var _info$index;\n invariant(viewable.index != null, 'Received a broken ViewToken');\n var info = this._subExtractor(viewable.index);\n if (!info) {\n return null;\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 this._onViewableItemsChanged = _ref => {\n var viewableItems = _ref.viewableItems,\n changed = _ref.changed;\n var onViewableItemsChanged = this.props.onViewableItemsChanged;\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 this._renderItem = listItemCount =>\n // eslint-disable-next-line react/no-unstable-nested-components\n _ref2 => {\n var item = _ref2.item,\n index = _ref2.index;\n var info = this._subExtractor(index);\n if (!info) {\n return null;\n }\n var infoIndex = info.index;\n if (infoIndex == null) {\n var section = info.section;\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 var SeparatorComponent = this._getSeparatorComponent(index, info, listItemCount);\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\n // Callback to provide updateHighlight for this item\n ,\n setSelfHighlightCallback: this._setUpdateHighlightFor,\n setSelfUpdatePropsCallback: this._setUpdatePropsFor\n // 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 this._updatePropsFor = (cellKey, value) => {\n var updateProps = this._updatePropsMap[cellKey];\n if (updateProps != null) {\n updateProps(value);\n }\n };\n this._updateHighlightFor = (cellKey, value) => {\n var updateHighlight = this._updateHighlightMap[cellKey];\n if (updateHighlight != null) {\n updateHighlight(value);\n }\n };\n this._setUpdateHighlightFor = (cellKey, updateHighlightFn) => {\n if (updateHighlightFn != null) {\n this._updateHighlightMap[cellKey] = updateHighlightFn;\n } else {\n // $FlowFixMe[prop-missing]\n delete this._updateHighlightFor[cellKey];\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 this._updateHighlightMap = {};\n this._updatePropsMap = {};\n this._captureRef = ref => {\n this._listRef = ref;\n };\n }\n scrollToLocation(params) {\n var index = params.itemIndex;\n for (var i = 0; i < params.sectionIndex; i++) {\n index += this.props.getItemCount(this.props.sections[i].data) + 2;\n }\n var viewOffset = params.viewOffset || 0;\n if (this._listRef == null) {\n return;\n }\n if (params.itemIndex > 0 && this.props.stickySectionHeadersEnabled) {\n var frame = this._listRef.__getFrameMetricsApprox(index - params.itemIndex, this._listRef.props);\n viewOffset += frame.length;\n }\n var toIndexParams = _objectSpread(_objectSpread({}, params), {}, {\n viewOffset,\n index\n });\n // $FlowFixMe[incompatible-use]\n this._listRef.scrollToIndex(toIndexParams);\n }\n getListRef() {\n return this._listRef;\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 var listHeaderOffset = this.props.ListHeaderComponent ? 1 : 0;\n var stickyHeaderIndices = this.props.stickySectionHeadersEnabled ? [] : undefined;\n var itemCount = 0;\n for (var _iterator = _createForOfIteratorHelperLoose(this.props.sections), _step; !(_step = _iterator()).done;) {\n var section = _step.value;\n // Track the section header indices\n if (stickyHeaderIndices != null) {\n stickyHeaderIndices.push(itemCount + listHeaderOffset);\n }\n\n // Add two for the section header and footer.\n itemCount += 2;\n itemCount += this.props.getItemCount(section.data);\n }\n var renderItem = this._renderItem(itemCount);\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 _getItem(props, sections, index) {\n if (!sections) {\n return null;\n }\n var itemIdx = index - 1;\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 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 // $FlowFixMe[missing-local-annot]\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 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 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 _getSeparatorComponent(index, info, listItemCount) {\n info = info || this._subExtractor(index);\n if (!info) {\n return null;\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 if (SectionSeparatorComponent && isLastItemInSection) {\n return SectionSeparatorComponent;\n }\n if (ItemSeparatorComponent && !isLastItemInSection && !isLastItemInList) {\n return ItemSeparatorComponent;\n }\n return null;\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 var _React$useState = React.useState(false),\n leadingSeparatorHiglighted = _React$useState[0],\n setLeadingSeparatorHighlighted = _React$useState[1];\n var _React$useState2 = React.useState(false),\n separatorHighlighted = _React$useState2[0],\n setSeparatorHighlighted = _React$useState2[1];\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 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 React.useEffect(() => {\n setSelfHighlightCallback(cellKey, setSeparatorHighlighted);\n // $FlowFixMe[incompatible-call]\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 if (prevCellKey != null) {\n updateHighlightFor(prevCellKey, true);\n }\n },\n unhighlight: () => {\n setLeadingSeparatorHighlighted(false);\n setSeparatorHighlighted(false);\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\n/* $FlowFixMe[class-object-subtyping] added when improving typing for this\n * parameters */\n// $FlowFixMe[method-unbinding]\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 * \n * @format\n */\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 * 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 this._captureRef = ref => {\n this._wrapperListRef = ref;\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 /**\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 recordInteraction() {\n var listRef = this._wrapperListRef && this._wrapperListRef.getListRef();\n listRef && listRef.recordInteraction();\n }\n\n /**\n * Displays the scroll indicators momentarily.\n *\n * @platform ios\n */\n flashScrollIndicators() {\n var listRef = this._wrapperListRef && this._wrapperListRef.getListRef();\n listRef && listRef.flashScrollIndicators();\n }\n\n /**\n * Provides a handle to the underlying scroll responder.\n */\n getScrollResponder() {\n var listRef = this._wrapperListRef && this._wrapperListRef.getListRef();\n if (listRef) {\n return listRef.getScrollResponder();\n }\n }\n getScrollableNode() {\n var listRef = this._wrapperListRef && this._wrapperListRef.getListRef();\n if (listRef) {\n return listRef.getScrollableNode();\n }\n }\n render() {\n var _this$props = this.props,\n _stickySectionHeadersEnabled = _this$props.stickySectionHeadersEnabled,\n restProps = _objectWithoutPropertiesLoose(_this$props, _excluded);\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 * 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\nimport SectionList from '../../vendor/react-native/SectionList';\nexport default SectionList;","/**\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\nvar emptyFunction = () => {};\nfunction StatusBar() {\n return null;\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 */\n\nvar isWebColor = color => color === 'currentcolor' || color === 'currentColor' || color === 'inherit' || color.indexOf('var(') === 0;\nexport default isWebColor;","/**\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\nimport isWebColor from '../../../modules/isWebColor';\nimport processColor from '../../../exports/processColor';\nvar normalizeColor = function normalizeColor(color, opacity) {\n if (opacity === void 0) {\n opacity = 1;\n }\n if (color == null) return;\n if (typeof color === 'string' && isWebColor(color)) {\n return color;\n }\n var colorInt = processColor(color);\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};\nexport default normalizeColor;","/**\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 */\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/**\n * Support style names that may come passed in prefixed by adding permutations\n * of vendor prefixes.\n */\nvar prefixes = ['ms', 'Moz', 'O', 'Webkit'];\nvar prefixKey = (prefix, key) => {\n return prefix + key.charAt(0).toUpperCase() + key.substring(1);\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 */\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 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 return returnValue;\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';\n\n// $FlowFixMe: HTMLStyleElement is incorrectly typed - https://github.com/facebook/flow/issues/2696\nexport default function createCSSStyleSheet(id, rootNode, textContent) {\n if (canUseDOM) {\n var root = rootNode != null ? rootNode : document;\n var element = root.getElementById(id);\n if (element == null) {\n element = document.createElement('style');\n element.setAttribute('id', id);\n if (typeof textContent === 'string') {\n element.appendChild(document.createTextNode(textContent));\n }\n if (root instanceof ShadowRoot) {\n root.insertBefore(element, root.firstChild);\n } else {\n var head = root.head;\n if (head) {\n head.insertBefore(element, head.firstChild);\n }\n }\n }\n // $FlowFixMe: HTMLElement is incorrectly typed\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 */\n\nvar slice = Array.prototype.slice;\n\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 */\nexport default function createOrderedCSSStyleSheet(sheet) {\n var groups = {};\n var selectors = {};\n\n /**\n * Hydrate approximate record from any existing rules in the sheet.\n */\n if (sheet != null) {\n var group;\n slice.call(sheet.cssRules).forEach((cssRule, i) => {\n var cssText = cssRule.cssText;\n // Create record of existing selectors and rules\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 if (selectorText != null) {\n selectors[selectorText] = true;\n groups[group].rules.push(cssText);\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];\n // Insert rule before the next group, or at the end of the stylesheet\n var position = nextGroup != null && groups[nextGroup].start != null ? groups[nextGroup].start : sheet.cssRules.length;\n var isInserted = insertRuleAt(sheet, text, position);\n if (isInserted) {\n // Set the starting index of the new group\n if (groups[group].start == null) {\n groups[group].start = position;\n }\n // Increment the starting index of all subsequent groups\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 return isInserted;\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;\n // Sorting provides deterministic order of styles in group for\n // build-time extraction of the style sheet.\n var marker = rules.shift();\n rules.sort();\n rules.unshift(marker);\n return rules.join('\\n');\n }).join('\\n');\n },\n /**\n * Insert a rule into the style sheet\n */\n insert(cssText, groupValue) {\n var group = Number(groupValue);\n\n // Create a new group.\n if (groups[group] == null) {\n var markerRule = encodeGroupRule(group);\n // Create the internal record.\n groups[group] = {\n start: null,\n rules: [markerRule]\n };\n // Update CSSOM.\n if (sheet != null) {\n sheetInsert(sheet, group, markerRule);\n }\n }\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 var selectorText = getSelectorText(cssText);\n if (selectorText != null && selectors[selectorText] == null) {\n // Update the internal records.\n selectors[selectorText] = true;\n groups[group].rules.push(cssText);\n // Update CSSOM.\n if (sheet != null) {\n var isInserted = sheetInsert(sheet, group, cssText);\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 return OrderedCSSStyleSheet;\n}\n\n/**\n * Helper functions\n */\n\nfunction encodeGroupRule(group) {\n return \"[stylesheet-group=\\\"\" + group + \"\\\"]{}\";\n}\nvar groupPattern = /[\"']/g;\nfunction decodeGroupRule(cssRule) {\n return Number(cssRule.selectorText.split(groupPattern)[1]);\n}\nfunction getOrderedGroups(obj) {\n return Object.keys(obj).map(Number).sort((a, b) => a > b ? 1 : -1);\n}\nvar selectorPattern = /\\s*([,])\\s*/g;\nfunction getSelectorText(cssText) {\n var selector = cssText.split('{')[0].trim();\n return selector !== '' ? selector.replace(selectorPattern, '$1') : null;\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 */\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 = [\n// 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;}',\n// 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 var sheet;\n if (canUseDOM) {\n var rootNode = root != null ? root.getRootNode() : document;\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 roots.set(rootNode, sheets.length);\n sheets.push(sheet);\n } else {\n var index = roots.get(rootNode);\n if (index == null) {\n var initialSheet = sheets[0];\n // If we're creating a new sheet, populate it with existing styles\n var textContent = initialSheet != null ? initialSheet.getTextContent() : '';\n // Cast rootNode to 'any' because Flow types for getRootNode are wrong\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 return {\n getTextContent() {\n return sheet.getTextContent();\n },\n id,\n insert(cssText, groupValue) {\n sheets.forEach(s => {\n s.insert(cssText, groupValue);\n });\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 */\n\nimport normalizeValueWithProperty from './normalizeValueWithProperty';\nimport canUseDOM from '../../../modules/canUseDom';\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 */\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 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 borderBlockColor: ['borderTopColor', 'borderBottomColor'],\n borderInlineColor: ['borderRightColor', 'borderLeftColor'],\n borderRadius: ['borderTopLeftRadius', 'borderTopRightRadius', 'borderBottomRightRadius', 'borderBottomLeftRadius'],\n borderStyle: ['borderTopStyle', 'borderRightStyle', 'borderBottomStyle', 'borderLeftStyle'],\n borderBlockStyle: ['borderTopStyle', 'borderBottomStyle'],\n borderInlineStyle: ['borderRightStyle', 'borderLeftStyle'],\n borderWidth: ['borderTopWidth', 'borderRightWidth', 'borderBottomWidth', 'borderLeftWidth'],\n borderBlockWidth: ['borderTopWidth', 'borderBottomWidth'],\n borderInlineWidth: ['borderRightWidth', 'borderLeftWidth'],\n insetBlock: ['top', 'bottom'],\n insetInline: ['left', 'right'],\n marginBlock: ['marginTop', 'marginBottom'],\n marginInline: ['marginRight', 'marginLeft'],\n paddingBlock: ['paddingTop', 'paddingBottom'],\n paddingInline: ['paddingRight', 'paddingLeft'],\n overflow: ['overflowX', 'overflowY'],\n overscrollBehavior: ['overscrollBehaviorX', 'overscrollBehaviorY'],\n borderBlockStartColor: ['borderTopColor'],\n borderBlockStartStyle: ['borderTopStyle'],\n borderBlockStartWidth: ['borderTopWidth'],\n borderBlockEndColor: ['borderBottomColor'],\n borderBlockEndStyle: ['borderBottomStyle'],\n borderBlockEndWidth: ['borderBottomWidth'],\n //borderInlineStartColor: ['borderLeftColor'],\n //borderInlineStartStyle: ['borderLeftStyle'],\n //borderInlineStartWidth: ['borderLeftWidth'],\n //borderInlineEndColor: ['borderRightColor'],\n //borderInlineEndStyle: ['borderRightStyle'],\n //borderInlineEndWidth: ['borderRightWidth'],\n borderEndStartRadius: ['borderBottomLeftRadius'],\n borderEndEndRadius: ['borderBottomRightRadius'],\n borderStartStartRadius: ['borderTopLeftRadius'],\n borderStartEndRadius: ['borderTopRightRadius'],\n insetBlockEnd: ['bottom'],\n insetBlockStart: ['top'],\n //insetInlineEnd: ['right'],\n //insetInlineStart: ['left'],\n marginBlockStart: ['marginTop'],\n marginBlockEnd: ['marginBottom'],\n //marginInlineStart: ['marginLeft'],\n //marginInlineEnd: ['marginRight'],\n paddingBlockStart: ['paddingTop'],\n paddingBlockEnd: ['paddingBottom']\n //paddingInlineStart: ['marginLeft'],\n //paddingInlineEnd: ['marginRight'],\n};\n\n/**\n * Reducer\n */\n\nvar createReactDOMStyle = (style, isInline) => {\n if (!style) {\n return emptyObject;\n }\n var resolvedStyle = {};\n var _loop = function _loop() {\n var value = style[prop];\n if (\n // Ignore everything with a null value\n value == null) {\n return \"continue\";\n }\n 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 === '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 === 'writingDirection') {\n resolvedStyle.direction = value;\n } else {\n var _value = normalizeValueWithProperty(style[prop], prop);\n var longFormProperties = STYLE_SHORT_FORM_EXPANSIONS[prop];\n if (isInline && prop === 'inset') {\n if (style.insetInline == null) {\n resolvedStyle.left = _value;\n resolvedStyle.right = _value;\n }\n if (style.insetBlock == null) {\n resolvedStyle.top = _value;\n resolvedStyle.bottom = _value;\n }\n } else if (isInline && prop === 'margin') {\n if (style.marginInline == null) {\n resolvedStyle.marginLeft = _value;\n resolvedStyle.marginRight = _value;\n }\n if (style.marginBlock == null) {\n resolvedStyle.marginTop = _value;\n resolvedStyle.marginBottom = _value;\n }\n } else if (isInline && prop === 'padding') {\n if (style.paddingInline == null) {\n resolvedStyle.paddingLeft = _value;\n resolvedStyle.paddingRight = _value;\n }\n if (style.paddingBlock == 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] = _value;\n }\n }\n };\n for (var prop in style) {\n var _ret = _loop();\n if (_ret === \"continue\") continue;\n }\n return resolvedStyle;\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 */\n\nfunction murmurhash2_32_gc(str, seed) {\n var l = str.length,\n h = seed ^ l,\n i = 0,\n k;\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 switch (l) {\n case 3:\n h ^= (str.charCodeAt(i + 2) & 0xff) << 16;\n case 2:\n h ^= (str.charCodeAt(i + 1) & 0xff) << 8;\n case 1:\n h ^= str.charCodeAt(i) & 0xff;\n h = (h & 0xffff) * 0x5bd1e995 + (((h >>> 16) * 0x5bd1e995 & 0xffff) << 16);\n }\n h ^= h >>> 13;\n h = (h & 0xffff) * 0x5bd1e995 + (((h >>> 16) * 0x5bd1e995 & 0xffff) << 16);\n h ^= h >>> 15;\n return h >>> 0;\n}\nvar hash = str => murmurhash2_32_gc(str, 1).toString(36);\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 */\n\nvar uppercasePattern = /[A-Z]/g;\nvar msPattern = /^ms-/;\nvar cache = {};\nfunction toHyphenLower(match) {\n return '-' + match.toLowerCase();\n}\nfunction hyphenateStyleName(name) {\n if (name in cache) {\n return cache[name];\n }\n var hName = name.replace(uppercasePattern, toHyphenLower);\n return cache[name] = msPattern.test(hName) ? '-' + hName : hName;\n}\nexport default hyphenateStyleName;","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 */\n\nimport createPrefixer from 'inline-style-prefixer/lib/createPrefixer';\nimport staticData from './static';\nvar prefixAll = createPrefixer(staticData);\nexport default prefixAll;","import _objectSpread from \"@babel/runtime/helpers/objectSpread2\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/objectWithoutPropertiesLoose\";\nvar _excluded = [\"animationKeyframes\"];\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\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 = 3;\nvar customGroup = {\n borderColor: 2,\n borderRadius: 2,\n borderStyle: 2,\n borderWidth: 2,\n display: 2,\n flex: 2,\n inset: 2,\n margin: 2,\n overflow: 2,\n overscrollBehavior: 2,\n padding: 2,\n insetBlock: 2.1,\n insetInline: 2.1,\n marginInline: 2.1,\n marginBlock: 2.1,\n paddingInline: 2.1,\n paddingBlock: 2.1,\n borderBlockStartColor: 2.2,\n borderBlockStartStyle: 2.2,\n borderBlockStartWidth: 2.2,\n borderBlockEndColor: 2.2,\n borderBlockEndStyle: 2.2,\n borderBlockEndWidth: 2.2,\n borderInlineStartColor: 2.2,\n borderInlineStartStyle: 2.2,\n borderInlineStartWidth: 2.2,\n borderInlineEndColor: 2.2,\n borderInlineEndStyle: 2.2,\n borderInlineEndWidth: 2.2,\n borderEndStartRadius: 2.2,\n borderEndEndRadius: 2.2,\n borderStartStartRadius: 2.2,\n borderStartEndRadius: 2.2,\n insetBlockEnd: 2.2,\n insetBlockStart: 2.2,\n insetInlineEnd: 2.2,\n insetInlineStart: 2.2,\n marginBlockStart: 2.2,\n marginBlockEnd: 2.2,\n marginInlineStart: 2.2,\n marginInlineEnd: 2.2,\n paddingBlockStart: 2.2,\n paddingBlockEnd: 2.2,\n paddingInlineStart: 2.2,\n paddingInlineEnd: 2.2\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';\n\n// Map of LTR property names to their BiDi equivalent.\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};\n\n// Map of I18N property names to their LTR equivalent.\nvar PROPERTIES_I18N = {\n borderStartStartRadius: borderTopLeftRadius,\n borderStartEndRadius: borderTopRightRadius,\n borderEndStartRadius: borderBottomLeftRadius,\n borderEndEndRadius: borderBottomRightRadius,\n borderInlineStartColor: borderLeftColor,\n borderInlineStartStyle: borderLeftStyle,\n borderInlineStartWidth: borderLeftWidth,\n borderInlineEndColor: borderRightColor,\n borderInlineEndStyle: borderRightStyle,\n borderInlineEndWidth: borderRightWidth,\n insetInlineEnd: right,\n insetInlineStart: left,\n marginInlineStart: marginLeft,\n marginInlineEnd: marginRight,\n paddingInlineStart: paddingLeft,\n paddingInlineEnd: paddingRight\n};\nvar PROPERTIES_VALUE = ['clear', 'float', 'textAlign'];\nexport function atomic(style) {\n var compiledStyle = {\n $$css: true\n };\n var compiledRules = [];\n function atomicCompile(srcProp, prop, value) {\n var valueString = stringifyValueWithProperty(value, prop);\n var cacheKey = prop + valueString;\n var cachedResult = cache.get(cacheKey);\n var identifier;\n if (cachedResult != null) {\n identifier = cachedResult[0];\n compiledRules.push(cachedResult[1]);\n } else {\n var v = srcProp !== prop ? cacheKey : valueString;\n identifier = createIdentifier('r', srcProp, v);\n var order = customGroup[srcProp] || 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 return identifier;\n }\n Object.keys(style).sort().forEach(srcProp => {\n var value = style[srcProp];\n if (value != null) {\n var localizeableValue;\n // BiDi flip values\n if (PROPERTIES_VALUE.indexOf(srcProp) > -1) {\n var _left = atomicCompile(srcProp, srcProp, 'left');\n var _right = atomicCompile(srcProp, srcProp, 'right');\n if (value === 'start') {\n localizeableValue = [_left, _right];\n } else if (value === 'end') {\n localizeableValue = [_right, _left];\n }\n }\n // BiDi flip properties\n var propPolyfill = PROPERTIES_I18N[srcProp];\n if (propPolyfill != null) {\n var ltr = atomicCompile(srcProp, propPolyfill, value);\n var rtl = atomicCompile(srcProp, PROPERTIES_FLIP[propPolyfill], value);\n localizeableValue = [ltr, rtl];\n }\n // BiDi flip transitionProperty value\n if (srcProp === 'transitionProperty') {\n var values = Array.isArray(value) ? value : [value];\n var polyfillIndices = [];\n for (var i = 0; i < values.length; i++) {\n var val = values[i];\n if (typeof val === 'string' && PROPERTIES_I18N[val] != null) {\n polyfillIndices.push(i);\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 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 var _ltr = atomicCompile(srcProp, srcProp, ltrPolyfillValues);\n var _rtl = atomicCompile(srcProp, srcProp, rtlPolyfillValues);\n localizeableValue = [_ltr, _rtl];\n }\n });\n }\n }\n if (localizeableValue == null) {\n localizeableValue = atomicCompile(srcProp, srcProp, value);\n } else {\n compiledStyle['$$css$localize'] = true;\n }\n compiledStyle[srcProp] = localizeableValue;\n }\n });\n return [compiledStyle, compiledRules];\n}\n\n/**\n * Compile simple style object to classic CSS rules.\n * No support for 'placeholderTextColor', 'scrollbarWidth', or 'pointerEvents'.\n */\nexport function classic(style, name) {\n var compiledStyle = {\n $$css: true\n };\n var compiledRules = [];\n var animationKeyframes = style.animationKeyframes,\n rest = _objectWithoutPropertiesLoose(style, _excluded);\n var identifier = createIdentifier('css', name, JSON.stringify(style));\n var selector = \".\" + identifier;\n var animationName;\n if (animationKeyframes != null) {\n var _processKeyframesValu = processKeyframesValue(animationKeyframes),\n animationNames = _processKeyframesValu[0],\n keyframesRules = _processKeyframesValu[1];\n animationName = animationNames.join(',');\n compiledRules.push(...keyframesRules);\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/**\n * Compile simple style object to inline DOM styles.\n * No support for 'animationKeyframes', 'placeholderTextColor', 'scrollbarWidth', or 'pointerEvents'.\n */\nexport function inline(originalStyle, isRTL) {\n var style = originalStyle || emptyObject;\n var frozenProps = {};\n var nextStyle = {};\n var _loop = function _loop() {\n var originalValue = style[originalProp];\n var prop = originalProp;\n var value = originalValue;\n if (!Object.prototype.hasOwnProperty.call(style, originalProp) || originalValue == null) {\n return \"continue\";\n }\n\n // BiDi flip values\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 }\n // BiDi flip properties\n var propPolyfill = PROPERTIES_I18N[originalProp];\n if (propPolyfill != null) {\n prop = isRTL ? PROPERTIES_FLIP[propPolyfill] : propPolyfill;\n }\n // BiDi flip transitionProperty value\n if (originalProp === 'transitionProperty') {\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 if (valuePolyfill != null) {\n originalValues[i] = isRTL ? PROPERTIES_FLIP[valuePolyfill] : valuePolyfill;\n value = originalValues.join(' ');\n }\n }\n });\n }\n\n // Create finalized style\n if (!frozenProps[prop]) {\n nextStyle[prop] = value;\n }\n if (prop === originalProp) {\n frozenProps[prop] = true;\n }\n\n // if (PROPERTIES_I18N.hasOwnProperty(originalProp)) {\n // frozenProps[prop] = true;\n //}\n };\n for (var originalProp in style) {\n var _ret = _loop();\n if (_ret === \"continue\") continue;\n }\n return createReactDOMStyle(nextStyle, true);\n}\n\n/**\n * Create a value string that normalizes different input values with a common\n * output.\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/**\n * Create the Atomic CSS rules needed for a given StyleSheet rule.\n * Translates StyleSheet declarations to CSS.\n */\nfunction createAtomicRules(identifier, property, value) {\n var rules = [];\n var selector = \".\" + identifier;\n\n // Handle non-standard properties and object values that require multiple\n // CSS rules to be created.\n switch (property) {\n case 'animationKeyframes':\n {\n var _processKeyframesValu2 = processKeyframesValue(value),\n animationNames = _processKeyframesValu2[0],\n keyframesRules = _processKeyframesValu2[1];\n var block = createDeclarationBlock({\n animationName: animationNames.join(',')\n });\n rules.push(\"\" + selector + block, ...keyframesRules);\n break;\n }\n\n // Equivalent to using '::placeholder'\n case 'placeholderTextColor':\n {\n var _block = createDeclarationBlock({\n color: value,\n opacity: 1\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\n // Polyfill for additional 'pointer-events' values\n // See d13f78622b233a0afc0c7a200c0a0792c8ca9e58\n case 'pointerEvents':\n {\n var finalValue = value;\n if (value === 'auto' || value === 'box-only') {\n finalValue = 'auto!important';\n if (value === 'box-only') {\n var _block2 = createDeclarationBlock({\n pointerEvents: 'none'\n });\n rules.push(selector + \">*\" + _block2);\n }\n } else if (value === 'none' || value === 'box-none') {\n finalValue = 'none!important';\n if (value === 'box-none') {\n var _block3 = createDeclarationBlock({\n pointerEvents: 'auto'\n });\n rules.push(selector + \">*\" + _block3);\n }\n }\n var _block4 = createDeclarationBlock({\n pointerEvents: finalValue\n });\n rules.push(\"\" + selector + _block4);\n break;\n }\n\n // Polyfill for draft spec\n // https://drafts.csswg.org/css-scrollbars-1/\n case 'scrollbarWidth':\n {\n if (value === 'none') {\n rules.push(selector + \"::-webkit-scrollbar{display:none}\");\n }\n var _block5 = createDeclarationBlock({\n scrollbarWidth: value\n });\n rules.push(\"\" + selector + _block5);\n break;\n }\n default:\n {\n var _block6 = createDeclarationBlock({\n [property]: value\n });\n rules.push(\"\" + selector + _block6);\n break;\n }\n }\n return rules;\n}\n\n/**\n * Creates a CSS declaration block from a StyleSheet object.\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);\n // 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 if (Array.isArray(value)) {\n return value.map(v => prop + \":\" + v).join(';');\n } else {\n return prop + \":\" + value;\n }\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/**\n * An identifier is associated with a unique set of styles.\n */\nfunction createIdentifier(prefix, name, key) {\n var hashedString = hash(name + key);\n return process.env.NODE_ENV !== 'production' ? prefix + \"-\" + name + \"-\" + hashedString : prefix + \"-\" + hashedString;\n}\n\n/**\n * Create individual CSS keyframes rules.\n */\nfunction createKeyframes(keyframes) {\n var prefixes = ['-webkit-', ''];\n var identifier = createIdentifier('r', 'animation', JSON.stringify(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/**\n * Create CSS keyframes rules and names from a StyleSheet keyframes object.\n */\nfunction processKeyframesValue(keyframesValue) {\n if (typeof keyframesValue === 'number') {\n throw new Error(\"Invalid CSS keyframes type: \" + typeof keyframesValue);\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 animationNames.push(identifier);\n rules.push(...keyframesRules);\n }\n });\n return [animationNames, rules];\n}","import _objectSpread from \"@babel/runtime/helpers/objectSpread2\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/objectWithoutPropertiesLoose\";\nvar _excluded = [\"writingDirection\"];\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\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();\nvar defaultPreprocessOptions = {\n shadow: true,\n textShadow: true\n};\nfunction customStyleq(styles, options) {\n if (options === void 0) {\n options = {};\n }\n var _options = options,\n writingDirection = _options.writingDirection,\n preprocessOptions = _objectWithoutPropertiesLoose(_options, _excluded);\n var isRTL = writingDirection === 'rtl';\n return styleq.factory({\n transform(style) {\n var compiledStyle = staticStyleMap.get(style);\n if (compiledStyle != null) {\n return localizeStyle(compiledStyle, isRTL);\n }\n return preprocess(style, _objectSpread(_objectSpread({}, defaultPreprocessOptions), preprocessOptions));\n }\n })(styles);\n}\nfunction insertRules(compiledOrderedRules) {\n compiledOrderedRules.forEach(_ref => {\n var rules = _ref[0],\n order = _ref[1];\n if (sheet != null) {\n rules.forEach(rule => {\n sheet.insert(rule, order);\n });\n }\n });\n}\nfunction compileAndInsertAtomic(style) {\n var _atomic = atomic(preprocess(style, defaultPreprocessOptions)),\n compiledStyle = _atomic[0],\n compiledOrderedRules = _atomic[1];\n insertRules(compiledOrderedRules);\n return compiledStyle;\n}\nfunction compileAndInsertReset(style, key) {\n var _classic = classic(style, key),\n compiledStyle = _classic[0],\n compiledOrderedRules = _classic[1];\n insertRules(compiledOrderedRules);\n return compiledStyle;\n}\n\n/* ----- API ----- */\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/**\n * create\n */\nfunction create(styles) {\n Object.keys(styles).forEach(key => {\n var styleObj = styles[key];\n // Only compile at runtime if the style is not already compiled\n if (styleObj != null && styleObj.$$css !== true) {\n var compiledStyles;\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 compiledStyles = compileAndInsertAtomic(styleObj);\n }\n staticStyleMap.set(styleObj, compiledStyles);\n }\n });\n return styles;\n}\n\n/**\n * compose\n */\nfunction compose(style1, style2) {\n if (process.env.NODE_ENV !== 'production') {\n /* eslint-disable prefer-rest-params */\n var len = arguments.length;\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 console.warn('StyleSheet.compose(a, b) is deprecated; use array syntax, i.e., [a,b].');\n }\n return [style1, style2];\n}\n\n/**\n * flatten\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 var flatArray = styles.flat(Infinity);\n var result = {};\n for (var i = 0; i < flatArray.length; i++) {\n var style = flatArray[i];\n if (style != null && typeof style === 'object') {\n // $FlowFixMe\n Object.assign(result, style);\n }\n }\n return result;\n}\n\n/**\n * getSheet\n */\nfunction getSheet() {\n return {\n id: sheet.id,\n textContent: sheet.getTextContent()\n };\n}\n\n/**\n * resolve\n */\n\nfunction StyleSheet(styles, options) {\n if (options === void 0) {\n options = {};\n }\n var isRTL = options.writingDirection === 'rtl';\n var styleProps = customStyleq(styles, options);\n if (Array.isArray(styleProps) && styleProps[1] != null) {\n styleProps[1] = inline(styleProps[1], isRTL);\n }\n return styleProps;\n}\nStyleSheet.absoluteFill = absoluteFill;\nStyleSheet.absoluteFillObject = absoluteFillObject;\nStyleSheet.create = create;\nStyleSheet.compose = compose;\nStyleSheet.flatten = flatten;\nStyleSheet.getSheet = getSheet;\n// `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.\nStyleSheet.hairlineWidth = 1;\nif (canUseDOM && window.__REACT_DEVTOOLS_GLOBAL_HOOK__) {\n window.__REACT_DEVTOOLS_GLOBAL_HOOK__.resolveRNStyle = StyleSheet.flatten;\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 */\n\nimport normalizeColor from './compiler/normalizeColor';\nimport normalizeValueWithProperty from './compiler/normalizeValueWithProperty';\nimport { warnOnce } from '../../modules/warnOnce';\nvar emptyObject = {};\n\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 var _ref = shadowOffset || defaultOffset,\n height = _ref.height,\n width = _ref.width;\n var offsetX = normalizeValueWithProperty(width);\n var offsetY = normalizeValueWithProperty(height);\n var blurRadius = normalizeValueWithProperty(shadowRadius || 0);\n var color = normalizeColor(shadowColor || 'black', shadowOpacity);\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 var _ref2 = textShadowOffset || defaultOffset,\n height = _ref2.height,\n width = _ref2.width;\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 if (color && (height !== 0 || width !== 0 || radius !== 0) && offsetX != null && offsetY != null && blurRadius != null) {\n return offsetX + \" \" + offsetY + \" \" + blurRadius + \" \" + color;\n }\n};\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)'\nvar mapTransform = transform => {\n var type = Object.keys(transform)[0];\n var value = transform[type];\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};\nexport var createTransformValue = value => {\n return value.map(mapTransform).join(' ');\n};\nvar PROPERTIES_STANDARD = {\n borderBottomEndRadius: 'borderEndEndRadius',\n borderBottomStartRadius: 'borderEndStartRadius',\n borderTopEndRadius: 'borderStartEndRadius',\n borderTopStartRadius: 'borderStartStartRadius',\n borderEndColor: 'borderInlineEndColor',\n borderEndStyle: 'borderInlineEndStyle',\n borderEndWidth: 'borderInlineEndWidth',\n borderStartColor: 'borderInlineStartColor',\n borderStartStyle: 'borderInlineStartStyle',\n borderStartWidth: 'borderInlineStartWidth',\n end: 'insetInlineEnd',\n marginEnd: 'marginInlineEnd',\n marginHorizontal: 'marginInline',\n marginStart: 'marginInlineStart',\n marginVertical: 'marginBlock',\n paddingEnd: 'paddingInlineEnd',\n paddingHorizontal: 'paddingInline',\n paddingStart: 'paddingInlineStart',\n paddingVertical: 'paddingBlock',\n start: 'insetInlineStart'\n};\nvar ignoredProps = {\n elevation: true,\n overlayColor: true,\n resizeMode: true,\n tintColor: true\n};\n\n/**\n * Preprocess styles\n */\nexport var preprocess = function preprocess(originalStyle, options) {\n if (options === void 0) {\n options = {};\n }\n var style = originalStyle || emptyObject;\n var nextStyle = {};\n\n // Convert shadow styles\n if (options.shadow === true, style.shadowColor != null || style.shadowOffset != null || style.shadowOpacity != null || style.shadowRadius != null) {\n warnOnce('shadowStyles', \"\\\"shadow*\\\" style props are deprecated. Use \\\"boxShadow\\\".\");\n var boxShadowValue = createBoxShadowValue(style);\n if (boxShadowValue != null && nextStyle.boxShadow == null) {\n var boxShadow = style.boxShadow;\n var value = boxShadow ? boxShadow + \", \" + boxShadowValue : boxShadowValue;\n nextStyle.boxShadow = value;\n }\n }\n\n // Convert text shadow styles\n if (options.textShadow === true, style.textShadowColor != null || style.textShadowOffset != null || style.textShadowRadius != null) {\n warnOnce('textShadowStyles', \"\\\"textShadow*\\\" style props are deprecated. Use \\\"textShadow\\\".\");\n var textShadowValue = createTextShadowValue(style);\n if (textShadowValue != null && nextStyle.textShadow == null) {\n var textShadow = style.textShadow;\n var _value = textShadow ? textShadow + \", \" + textShadowValue : textShadowValue;\n nextStyle.textShadow = _value;\n }\n }\n for (var originalProp in style) {\n if (\n // Ignore some React Native styles\n ignoredProps[originalProp] != null || originalProp === 'shadowColor' || originalProp === 'shadowOffset' || originalProp === 'shadowOpacity' || originalProp === 'shadowRadius' || originalProp === 'textShadowColor' || originalProp === 'textShadowOffset' || originalProp === 'textShadowRadius') {\n continue;\n }\n var originalValue = style[originalProp];\n var prop = PROPERTIES_STANDARD[originalProp] || originalProp;\n var _value2 = originalValue;\n if (!Object.prototype.hasOwnProperty.call(style, originalProp) || prop !== originalProp && style[prop] != null) {\n continue;\n }\n if (prop === 'aspectRatio' && typeof _value2 === 'number') {\n nextStyle[prop] = _value2.toString();\n } else if (prop === 'fontVariant') {\n if (Array.isArray(_value2) && _value2.length > 0) {\n warnOnce('fontVariant', '\"fontVariant\" style array value is deprecated. Use space-separated values.');\n _value2 = _value2.join(' ');\n }\n nextStyle[prop] = _value2;\n } else if (prop === 'textAlignVertical') {\n warnOnce('textAlignVertical', '\"textAlignVertical\" style is deprecated. Use \"verticalAlign\".');\n if (style.verticalAlign == null) {\n nextStyle.verticalAlign = _value2 === 'center' ? 'middle' : _value2;\n }\n } else if (prop === 'transform') {\n if (Array.isArray(_value2)) {\n _value2 = createTransformValue(_value2);\n }\n nextStyle.transform = _value2;\n } else {\n nextStyle[prop] = _value2;\n }\n }\n\n // $FlowIgnore\n return nextStyle;\n};\nexport default preprocess;","/**\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\nvar CSS_UNIT_RE = /^[+-]?\\d*(?:\\.\\d+)?(?:[Ee][+-]?\\d+)?(%|\\w*)/;\nvar getUnit = str => str.match(CSS_UNIT_RE)[1];\nvar isNumeric = n => {\n return !isNaN(parseFloat(n)) && isFinite(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};\nexport default multiplyStyleLengthValue;","import _objectSpread from \"@babel/runtime/helpers/objectSpread2\";\nimport _extends from \"@babel/runtime/helpers/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/objectWithoutPropertiesLoose\";\nvar _excluded = [\"aria-label\", \"accessibilityLabel\", \"activeThumbColor\", \"activeTrackColor\", \"disabled\", \"onValueChange\", \"style\", \"thumbColor\", \"trackColor\", \"value\"];\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\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 ariaLabel = props['aria-label'],\n 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 var thumbRef = React.useRef(null);\n function handleChange(event) {\n if (onValueChange != null) {\n onValueChange(event.nativeEvent.target.checked);\n }\n }\n function handleFocusState(event) {\n var isFocused = event.nativeEvent.type === 'focus';\n var boxShadow = isFocused ? thumbFocusedBoxShadow : thumbDefaultBoxShadow;\n if (thumbRef.current != null) {\n thumbRef.current.style.boxShadow = boxShadow;\n }\n }\n var _StyleSheet$flatten = StyleSheet.flatten(style),\n styleHeight = _StyleSheet$flatten.height,\n styleWidth = _StyleSheet$flatten.width;\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 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 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 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 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 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 'aria-label': ariaLabel || 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: 'translateZ(0)',\n transitionDuration: '0.1s'\n },\n thumbActive: {\n insetInlineStart: '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;","/**\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\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 * 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 */\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';\nimport { warnOnce } from '../../modules/warnOnce';\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});\nvar pickProps = props => pick(props, forwardPropsList);\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 if (selectable != null) {\n warnOnce('selectable', 'selectable prop is deprecated. Use styles.userSelect.');\n }\n var hasTextAncestor = React.useContext(TextAncestorContext);\n var hostRef = React.useRef(null);\n var _useLocaleContext = useLocaleContext(),\n contextDirection = _useLocaleContext.direction;\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;\n // 'auto' by default allows browsers to infer writing direction (root elements only)\n if (!hasTextAncestor) {\n supportedProps.dir = componentDirection != null ? componentDirection : 'auto';\n }\n if (onClick || onPress) {\n supportedProps.onClick = handleClick;\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 if (props.href != null) {\n component = 'a';\n if (hrefAttrs != null) {\n var download = hrefAttrs.download,\n rel = hrefAttrs.rel,\n target = hrefAttrs.target;\n if (download != null) {\n supportedProps.download = download;\n }\n if (rel != null) {\n supportedProps.rel = rel;\n }\n if (typeof target === 'string') {\n supportedProps.target = target.charAt(0) !== '_' ? '_' + target : target;\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 position: 'relative',\n textAlign: 'start',\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 textAlign: '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;","/**\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 */\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';\nimport { warnOnce } from '../../modules/warnOnce';\n\n/**\n * Determines whether a 'selection' prop differs from a node's existing\n * selection state.\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/**\n * Certain input types do no support 'selectSelectionRange' and will throw an\n * error.\n */\nvar setSelection = (node, selection) => {\n if (isSelectionStale(node, selection)) {\n var start = selection.start,\n end = selection.end;\n try {\n node.setSelectionRange(start, end || start);\n } catch (e) {}\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});\nvar pickProps = props => pick(props, forwardPropsList);\n\n// If an Input Method Editor is processing key input, the 'keyCode' is 229.\n// https://www.w3.org/TR/uievents/#determine-keydown-keyup-keyCode\nfunction isEventComposing(nativeEvent) {\n return nativeEvent.isComposing || nativeEvent.keyCode === 229;\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 caretHidden = props.caretHidden,\n clearTextOnFocus = props.clearTextOnFocus,\n dir = props.dir,\n editable = props.editable,\n enterKeyHint = props.enterKeyHint,\n inputMode = props.inputMode,\n keyboardType = props.keyboardType,\n _props$multiline = props.multiline,\n multiline = _props$multiline === void 0 ? false : _props$multiline,\n numberOfLines = 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 _props$readOnly = props.readOnly,\n readOnly = _props$readOnly === void 0 ? false : _props$readOnly,\n returnKeyType = props.returnKeyType,\n rows = props.rows,\n _props$secureTextEntr = props.secureTextEntry,\n secureTextEntry = _props$secureTextEntr === void 0 ? false : _props$secureTextEntr,\n selection = props.selection,\n selectTextOnFocus = props.selectTextOnFocus,\n showSoftInputOnFocus = props.showSoftInputOnFocus,\n spellCheck = props.spellCheck;\n var type;\n var _inputMode;\n if (inputMode != null) {\n _inputMode = inputMode;\n if (inputMode === 'email') {\n type = 'email';\n } else if (inputMode === 'tel') {\n type = 'tel';\n } else if (inputMode === 'search') {\n type = 'search';\n } else if (inputMode === 'url') {\n type = 'url';\n } else {\n type = 'text';\n }\n } else if (keyboardType != null) {\n warnOnce('keyboardType', 'keyboardType is deprecated. Use inputMode.');\n switch (keyboardType) {\n case 'email-address':\n type = 'email';\n break;\n case 'number-pad':\n case 'numeric':\n _inputMode = 'numeric';\n break;\n case 'decimal-pad':\n _inputMode = 'decimal';\n break;\n case 'phone-pad':\n type = 'tel';\n break;\n case 'search':\n case 'web-search':\n type = 'search';\n break;\n case 'url':\n type = 'url';\n break;\n default:\n type = 'text';\n }\n }\n if (secureTextEntry) {\n type = 'password';\n }\n var dimensions = React.useRef({\n height: null,\n width: null\n });\n var hostRef = React.useRef(null);\n var prevSelection = React.useRef(null);\n var prevSecureTextEntry = React.useRef(false);\n React.useEffect(() => {\n if (hostRef.current && prevSelection.current) {\n setSelection(hostRef.current, prevSelection.current);\n }\n prevSecureTextEntry.current = secureTextEntry;\n }, [secureTextEntry]);\n var handleContentSizeChange = React.useCallback(hostNode => {\n if (multiline && onContentSizeChange && hostNode != null) {\n var newHeight = hostNode.scrollHeight;\n var newWidth = hostNode.scrollWidth;\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 hostNode.isFocused = function () {\n return hostNode != null && TextInputState.currentlyFocusedField() === hostNode;\n };\n handleContentSizeChange(hostNode);\n }\n }, [handleContentSizeChange]);\n function handleBlur(e) {\n TextInputState._currentlyFocusedNode = null;\n if (onBlur) {\n e.nativeEvent.text = e.target.value;\n onBlur(e);\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 if (onChange) {\n onChange(e);\n }\n if (onChangeText) {\n onChangeText(text);\n }\n }\n function handleFocus(e) {\n var hostNode = e.target;\n if (onFocus) {\n e.nativeEvent.text = hostNode.value;\n onFocus(e);\n }\n if (hostNode != null) {\n TextInputState._currentlyFocusedNode = hostNode;\n if (clearTextOnFocus) {\n hostNode.value = '';\n }\n if (selectTextOnFocus) {\n // Safari requires selection to occur in a setTimeout\n if (focusTimeout != null) {\n clearTimeout(focusTimeout);\n }\n focusTimeout = setTimeout(() => {\n if (hostNode != null) {\n hostNode.select();\n }\n }, 0);\n }\n }\n }\n function handleKeyDown(e) {\n var hostNode = e.target;\n // Prevent key events bubbling (see #612)\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 if (onKeyPress) {\n onKeyPress(e);\n }\n if (e.key === 'Enter' && !e.shiftKey &&\n // 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 if (shouldBlurOnSubmit && hostNode != null) {\n setTimeout(() => hostNode.blur(), 0);\n }\n }\n }\n function handleSelectionChange(e) {\n try {\n var _e$target = e.target,\n selectionStart = _e$target.selectionStart,\n selectionEnd = _e$target.selectionEnd;\n var _selection = {\n start: selectionStart,\n end: selectionEnd\n };\n if (onSelectionChange) {\n e.nativeEvent.selection = _selection;\n e.nativeEvent.text = e.target.value;\n onSelectionChange(e);\n }\n if (prevSecureTextEntry.current === secureTextEntry) {\n prevSelection.current = _selection;\n }\n } catch (e) {}\n }\n useLayoutEffect(() => {\n var node = hostRef.current;\n if (node != null && selection != null) {\n setSelection(node, selection);\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 var _useLocaleContext = useLocaleContext(),\n contextDirection = _useLocaleContext.direction;\n var supportedProps = pickProps(props);\n supportedProps.autoCapitalize = autoCapitalize;\n supportedProps.autoComplete = autoComplete || autoCompleteType || 'on';\n supportedProps.autoCorrect = autoCorrect ? 'on' : 'off';\n // 'auto' by default allows browsers to infer writing direction\n supportedProps.dir = dir !== undefined ? dir : 'auto';\n if (returnKeyType != null) {\n warnOnce('returnKeyType', 'returnKeyType is deprecated. Use enterKeyHint.');\n }\n supportedProps.enterKeyHint = 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 if (editable != null) {\n warnOnce('editable', 'editable is deprecated. Use readOnly.');\n }\n supportedProps.readOnly = readOnly === true || editable === false;\n if (numberOfLines != null) {\n warnOnce('numberOfLines', 'TextInput numberOfLines is deprecated. Use rows.');\n }\n supportedProps.rows = multiline ? rows != null ? rows : numberOfLines : 1;\n supportedProps.spellCheck = spellCheck != null ? spellCheck : autoCorrect;\n supportedProps.style = [{\n '--placeholderTextColor': placeholderTextColor\n }, styles.textinput$raw, styles.placeholder, props.style, caretHidden && styles.caretHidden];\n supportedProps.type = multiline ? undefined : type;\n supportedProps.virtualkeyboardpolicy = showSoftInputOnFocus === false ? 'manual' : 'auto';\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';\n// $FlowFixMe\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 caretHidden: {\n caretColor: 'transparent'\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 * @format\n */\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';\nimport { warnOnce } from '../../modules/warnOnce';\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}\nfunction hasPressHandler(props) {\n return props.onPress != null || props.onPressIn != null || props.onPressOut != null || props.onLongPress != null;\n}\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 */\nfunction TouchableHighlight(props, forwardedRef) {\n warnOnce('TouchableHighlight', 'TouchableHighlight is deprecated. Please use Pressable.');\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 var hostRef = useRef(null);\n var setRef = useMergeRefs(forwardedRef, hostRef);\n var _useState = useState(testOnly_pressed === true ? createExtraStyles(activeOpacity, underlayColor) : null),\n extraStyles = _useState[0],\n setExtraStyles = _useState[1];\n var showUnderlay = useCallback(() => {\n if (!hasPressHandler(props)) {\n return;\n }\n setExtraStyles(createExtraStyles(activeOpacity, underlayColor));\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 if (hasPressHandler(props)) {\n setExtraStyles(null);\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 onPressStart(event) {\n showUnderlay();\n if (onPressIn != null) {\n onPressIn(event);\n }\n },\n onPressEnd(event) {\n hideUnderlay();\n if (onPressOut != null) {\n onPressOut(event);\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 ? 'box-none' : undefined,\n ref: setRef,\n style: [styles.root, style, !disabled && styles.actionable, extraStyles && extraStyles.underlay]\n }), /*#__PURE__*/React.cloneElement(child, {\n style: [child.props.style, extraStyles && extraStyles.child]\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) 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'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';\nimport { warnOnce } from '../../modules/warnOnce';\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 warnOnce('TouchableOpacity', 'TouchableOpacity is deprecated. Please use Pressable.');\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 var hostRef = useRef(null);\n var setRef = useMergeRefs(forwardedRef, hostRef);\n var _useState = useState('0s'),\n duration = _useState[0],\n setDuration = _useState[1];\n var _useState2 = useState(null),\n opacityOverride = _useState2[0],\n setOpacityOverride = _useState2[1];\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 onPressStart(event) {\n var isGrant = event.dispatchConfig != null ? event.dispatchConfig.registrationName === 'onResponderGrant' : event.type === 'keydown';\n setOpacityActive(isGrant ? 0 : 150);\n if (onPressIn != null) {\n onPressIn(event);\n }\n },\n onPressEnd(event) {\n setOpacityInactive(250);\n if (onPressOut != null) {\n onPressOut(event);\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 ? 'box-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}\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\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';\nimport { warnOnce } from '../../modules/warnOnce';\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};\nvar pickProps = props => pick(props, forwardPropsList);\nfunction TouchableWithoutFeedback(props, forwardedRef) {\n warnOnce('TouchableWithoutFeedback', 'TouchableWithoutFeedback is deprecated. Please use Pressable.');\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}\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 */\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/**\n * Support style names that may come passed in prefixed by adding permutations\n * of vendor prefixes.\n */\nvar prefixes = ['ms', 'Moz', 'O', 'Webkit'];\nvar prefixKey = (prefix, key) => {\n return prefix + key.charAt(0).toUpperCase() + key.substring(1);\n};\nObject.keys(unitlessNumbers).forEach(prop => {\n prefixes.forEach(prefix => {\n unitlessNumbers[prefixKey(prefix, prop)] = unitlessNumbers[prop];\n });\n});\nexport default unitlessNumbers;","/* 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 */\n\nimport isUnitlessNumber from '../unitlessNumbers';\n\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 */\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\n var isEmpty = value == null || typeof value === 'boolean' || value === '';\n if (isEmpty) {\n return '';\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}\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 */\n\nimport dangerousStyleValue from './dangerousStyleValue';\n\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 */\nfunction setValueForStyles(node, styles) {\n var style = node.style;\n for (var styleName in styles) {\n if (!styles.hasOwnProperty(styleName)) {\n continue;\n }\n var isCustomProperty = styleName.indexOf('--') === 0;\n var styleValue = dangerousStyleValue(styleName, styles[styleName], isCustomProperty);\n if (styleName === 'float') {\n styleName = 'cssFloat';\n }\n if (isCustomProperty) {\n style.setProperty(styleName, styleValue);\n } else {\n style[styleName] = styleValue;\n }\n }\n}\nexport default setValueForStyles;","/**\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\nimport getBoundingClientRect from '../../modules/getBoundingClientRect';\nimport setValueForStyles from '../../modules/setValueForStyles';\nvar getRect = node => {\n var height = node.offsetHeight;\n var width = node.offsetWidth;\n var left = node.offsetLeft;\n var top = node.offsetTop;\n node = node.offsetParent;\n while (node && node.nodeType === 1 /* Node.ELEMENT_NODE */) {\n left += node.offsetLeft + node.clientLeft - node.scrollLeft;\n top += node.offsetTop + node.clientTop - node.scrollTop;\n node = node.offsetParent;\n }\n top -= window.scrollY;\n left -= window.scrollX;\n return {\n width,\n height,\n top,\n left\n };\n};\nvar measureLayout = (node, relativeToNativeNode, callback) => {\n var relativeNode = relativeToNativeNode || node && node.parentNode;\n if (node && relativeNode) {\n setTimeout(() => {\n if (node.isConnected && relativeNode.isConnected) {\n var relativeRect = getRect(relativeNode);\n var _getRect = getRect(node),\n height = _getRect.height,\n left = _getRect.left,\n top = _getRect.top,\n width = _getRect.width;\n var x = left - relativeRect.left;\n var y = top - relativeRect.top;\n callback(x, y, width, height, left, top);\n }\n }, 0);\n }\n};\nvar elementsToIgnore = {\n A: true,\n BODY: 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 focus(node) {\n try {\n var name = node.nodeName;\n // A tabIndex of -1 allows element to be programmatically focused but\n // prevents keyboard focus. We don't want to set the tabindex value on\n // elements that should not prevent keyboard focus.\n if (node.getAttribute('tabIndex') == null && node.isContentEditable !== true && elementsToIgnore[name] == null) {\n node.setAttribute('tabIndex', '-1');\n }\n node.focus();\n } catch (err) {}\n },\n measure(node, callback) {\n measureLayout(node, null, callback);\n },\n measureInWindow(node, callback) {\n if (node) {\n setTimeout(() => {\n var _getBoundingClientRec = getBoundingClientRect(node),\n height = _getBoundingClientRec.height,\n left = _getBoundingClientRec.left,\n top = _getBoundingClientRec.top,\n width = _getBoundingClientRec.width;\n callback(left, top, width, height);\n }, 0);\n }\n },\n measureLayout(node, relativeToNativeNode, onFail, onSuccess) {\n measureLayout(node, relativeToNativeNode, onSuccess);\n },\n updateView(node, props) {\n for (var prop in props) {\n if (!Object.prototype.hasOwnProperty.call(props, prop)) {\n continue;\n }\n var value = props[prop];\n switch (prop) {\n case 'style':\n {\n setValueForStyles(node, value);\n break;\n }\n case 'class':\n case 'className':\n {\n node.setAttribute('class', value);\n break;\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 default:\n node.setAttribute(prop, value);\n }\n }\n },\n configureNextLayoutAnimation(config, onAnimationDidEnd) {\n onAnimationDidEnd();\n },\n // mocks\n setLayoutAnimationEnabledExperimental() {}\n};\nexport default UIManager;","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 * 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 */\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.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});\nvar pickProps = props => pick(props, forwardPropsList);\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 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 var hasTextAncestor = React.useContext(TextAncestorContext);\n var hostRef = React.useRef(null);\n var _useLocaleContext = useLocaleContext(),\n contextDirection = _useLocaleContext.direction;\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 if (props.href != null) {\n component = 'a';\n if (hrefAttrs != null) {\n var download = hrefAttrs.download,\n rel = hrefAttrs.rel,\n target = hrefAttrs.target;\n if (download != null) {\n supportedProps.download = download;\n }\n if (rel != null) {\n supportedProps.rel = rel;\n }\n if (typeof target === 'string') {\n supportedProps.target = target.charAt(0) !== '_' ? '_' + target : target;\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;","import _objectSpread from \"@babel/runtime/helpers/objectSpread2\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/objectWithoutPropertiesLoose\";\nvar _excluded = [\"aria-activedescendant\", \"accessibilityActiveDescendant\", \"aria-atomic\", \"accessibilityAtomic\", \"aria-autocomplete\", \"accessibilityAutoComplete\", \"aria-busy\", \"accessibilityBusy\", \"aria-checked\", \"accessibilityChecked\", \"aria-colcount\", \"accessibilityColumnCount\", \"aria-colindex\", \"accessibilityColumnIndex\", \"aria-colspan\", \"accessibilityColumnSpan\", \"aria-controls\", \"accessibilityControls\", \"aria-current\", \"accessibilityCurrent\", \"aria-describedby\", \"accessibilityDescribedBy\", \"aria-details\", \"accessibilityDetails\", \"aria-disabled\", \"accessibilityDisabled\", \"aria-errormessage\", \"accessibilityErrorMessage\", \"aria-expanded\", \"accessibilityExpanded\", \"aria-flowto\", \"accessibilityFlowTo\", \"aria-haspopup\", \"accessibilityHasPopup\", \"aria-hidden\", \"accessibilityHidden\", \"aria-invalid\", \"accessibilityInvalid\", \"aria-keyshortcuts\", \"accessibilityKeyShortcuts\", \"aria-label\", \"accessibilityLabel\", \"aria-labelledby\", \"accessibilityLabelledBy\", \"aria-level\", \"accessibilityLevel\", \"aria-live\", \"accessibilityLiveRegion\", \"aria-modal\", \"accessibilityModal\", \"aria-multiline\", \"accessibilityMultiline\", \"aria-multiselectable\", \"accessibilityMultiSelectable\", \"aria-orientation\", \"accessibilityOrientation\", \"aria-owns\", \"accessibilityOwns\", \"aria-placeholder\", \"accessibilityPlaceholder\", \"aria-posinset\", \"accessibilityPosInSet\", \"aria-pressed\", \"accessibilityPressed\", \"aria-readonly\", \"accessibilityReadOnly\", \"aria-required\", \"accessibilityRequired\", \"role\", \"accessibilityRole\", \"aria-roledescription\", \"accessibilityRoleDescription\", \"aria-rowcount\", \"accessibilityRowCount\", \"aria-rowindex\", \"accessibilityRowIndex\", \"aria-rowspan\", \"accessibilityRowSpan\", \"aria-selected\", \"accessibilitySelected\", \"aria-setsize\", \"accessibilitySetSize\", \"aria-sort\", \"accessibilitySort\", \"aria-valuemax\", \"accessibilityValueMax\", \"aria-valuemin\", \"accessibilityValueMin\", \"aria-valuenow\", \"accessibilityValueNow\", \"aria-valuetext\", \"accessibilityValueText\", \"dataSet\", \"focusable\", \"id\", \"nativeID\", \"pointerEvents\", \"style\", \"tabIndex\", \"testID\"];\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\nimport AccessibilityUtil from '../AccessibilityUtil';\nimport StyleSheet from '../../exports/StyleSheet';\nimport { warnOnce } from '../warnOnce';\nvar emptyObject = {};\nvar hasOwnProperty = Object.prototype.hasOwnProperty;\nvar isArray = Array.isArray;\nvar uppercasePattern = /[A-Z]/g;\nfunction toHyphenLower(match) {\n return '-' + match.toLowerCase();\n}\nfunction hyphenateString(str) {\n return str.replace(uppercasePattern, toHyphenLower);\n}\nfunction processIDRefList(idRefList) {\n return isArray(idRefList) ? idRefList.join(' ') : idRefList;\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});\nvar createDOMProps = (elementType, props, options) => {\n if (!props) {\n props = emptyObject;\n }\n var _props = props,\n ariaActiveDescendant = _props['aria-activedescendant'],\n accessibilityActiveDescendant = _props.accessibilityActiveDescendant,\n ariaAtomic = _props['aria-atomic'],\n accessibilityAtomic = _props.accessibilityAtomic,\n ariaAutoComplete = _props['aria-autocomplete'],\n accessibilityAutoComplete = _props.accessibilityAutoComplete,\n ariaBusy = _props['aria-busy'],\n accessibilityBusy = _props.accessibilityBusy,\n ariaChecked = _props['aria-checked'],\n accessibilityChecked = _props.accessibilityChecked,\n ariaColumnCount = _props['aria-colcount'],\n accessibilityColumnCount = _props.accessibilityColumnCount,\n ariaColumnIndex = _props['aria-colindex'],\n accessibilityColumnIndex = _props.accessibilityColumnIndex,\n ariaColumnSpan = _props['aria-colspan'],\n accessibilityColumnSpan = _props.accessibilityColumnSpan,\n ariaControls = _props['aria-controls'],\n accessibilityControls = _props.accessibilityControls,\n ariaCurrent = _props['aria-current'],\n accessibilityCurrent = _props.accessibilityCurrent,\n ariaDescribedBy = _props['aria-describedby'],\n accessibilityDescribedBy = _props.accessibilityDescribedBy,\n ariaDetails = _props['aria-details'],\n accessibilityDetails = _props.accessibilityDetails,\n ariaDisabled = _props['aria-disabled'],\n accessibilityDisabled = _props.accessibilityDisabled,\n ariaErrorMessage = _props['aria-errormessage'],\n accessibilityErrorMessage = _props.accessibilityErrorMessage,\n ariaExpanded = _props['aria-expanded'],\n accessibilityExpanded = _props.accessibilityExpanded,\n ariaFlowTo = _props['aria-flowto'],\n accessibilityFlowTo = _props.accessibilityFlowTo,\n ariaHasPopup = _props['aria-haspopup'],\n accessibilityHasPopup = _props.accessibilityHasPopup,\n ariaHidden = _props['aria-hidden'],\n accessibilityHidden = _props.accessibilityHidden,\n ariaInvalid = _props['aria-invalid'],\n accessibilityInvalid = _props.accessibilityInvalid,\n ariaKeyShortcuts = _props['aria-keyshortcuts'],\n accessibilityKeyShortcuts = _props.accessibilityKeyShortcuts,\n ariaLabel = _props['aria-label'],\n accessibilityLabel = _props.accessibilityLabel,\n ariaLabelledBy = _props['aria-labelledby'],\n accessibilityLabelledBy = _props.accessibilityLabelledBy,\n ariaLevel = _props['aria-level'],\n accessibilityLevel = _props.accessibilityLevel,\n ariaLive = _props['aria-live'],\n accessibilityLiveRegion = _props.accessibilityLiveRegion,\n ariaModal = _props['aria-modal'],\n accessibilityModal = _props.accessibilityModal,\n ariaMultiline = _props['aria-multiline'],\n accessibilityMultiline = _props.accessibilityMultiline,\n ariaMultiSelectable = _props['aria-multiselectable'],\n accessibilityMultiSelectable = _props.accessibilityMultiSelectable,\n ariaOrientation = _props['aria-orientation'],\n accessibilityOrientation = _props.accessibilityOrientation,\n ariaOwns = _props['aria-owns'],\n accessibilityOwns = _props.accessibilityOwns,\n ariaPlaceholder = _props['aria-placeholder'],\n accessibilityPlaceholder = _props.accessibilityPlaceholder,\n ariaPosInSet = _props['aria-posinset'],\n accessibilityPosInSet = _props.accessibilityPosInSet,\n ariaPressed = _props['aria-pressed'],\n accessibilityPressed = _props.accessibilityPressed,\n ariaReadOnly = _props['aria-readonly'],\n accessibilityReadOnly = _props.accessibilityReadOnly,\n ariaRequired = _props['aria-required'],\n accessibilityRequired = _props.accessibilityRequired,\n ariaRole = _props.role,\n accessibilityRole = _props.accessibilityRole,\n ariaRoleDescription = _props['aria-roledescription'],\n accessibilityRoleDescription = _props.accessibilityRoleDescription,\n ariaRowCount = _props['aria-rowcount'],\n accessibilityRowCount = _props.accessibilityRowCount,\n ariaRowIndex = _props['aria-rowindex'],\n accessibilityRowIndex = _props.accessibilityRowIndex,\n ariaRowSpan = _props['aria-rowspan'],\n accessibilityRowSpan = _props.accessibilityRowSpan,\n ariaSelected = _props['aria-selected'],\n accessibilitySelected = _props.accessibilitySelected,\n ariaSetSize = _props['aria-setsize'],\n accessibilitySetSize = _props.accessibilitySetSize,\n ariaSort = _props['aria-sort'],\n accessibilitySort = _props.accessibilitySort,\n ariaValueMax = _props['aria-valuemax'],\n accessibilityValueMax = _props.accessibilityValueMax,\n ariaValueMin = _props['aria-valuemin'],\n accessibilityValueMin = _props.accessibilityValueMin,\n ariaValueNow = _props['aria-valuenow'],\n accessibilityValueNow = _props.accessibilityValueNow,\n ariaValueText = _props['aria-valuetext'],\n accessibilityValueText = _props.accessibilityValueText,\n dataSet = _props.dataSet,\n focusable = _props.focusable,\n id = _props.id,\n nativeID = _props.nativeID,\n pointerEvents = _props.pointerEvents,\n style = _props.style,\n tabIndex = _props.tabIndex,\n testID = _props.testID,\n domProps = _objectWithoutPropertiesLoose(_props, _excluded);\n if (accessibilityDisabled != null) {\n warnOnce('accessibilityDisabled', \"accessibilityDisabled is deprecated.\");\n }\n var disabled = ariaDisabled || accessibilityDisabled;\n var role = AccessibilityUtil.propsToAriaRole(props);\n\n // ACCESSIBILITY\n if (accessibilityActiveDescendant != null) {\n warnOnce('accessibilityActiveDescendant', \"accessibilityActiveDescendant is deprecated. Use aria-activedescendant.\");\n }\n var _ariaActiveDescendant = ariaActiveDescendant != null ? ariaActiveDescendant : accessibilityActiveDescendant;\n if (_ariaActiveDescendant != null) {\n domProps['aria-activedescendant'] = _ariaActiveDescendant;\n }\n if (accessibilityAtomic != null) {\n warnOnce('accessibilityAtomic', \"accessibilityAtomic is deprecated. Use aria-atomic.\");\n }\n var _ariaAtomic = ariaAtomic != null ? ariaActiveDescendant : accessibilityAtomic;\n if (_ariaAtomic != null) {\n domProps['aria-atomic'] = _ariaAtomic;\n }\n if (accessibilityAutoComplete != null) {\n warnOnce('accessibilityAutoComplete', \"accessibilityAutoComplete is deprecated. Use aria-autocomplete.\");\n }\n var _ariaAutoComplete = ariaAutoComplete != null ? ariaAutoComplete : accessibilityAutoComplete;\n if (_ariaAutoComplete != null) {\n domProps['aria-autocomplete'] = _ariaAutoComplete;\n }\n if (accessibilityBusy != null) {\n warnOnce('accessibilityBusy', \"accessibilityBusy is deprecated. Use aria-busy.\");\n }\n var _ariaBusy = ariaBusy != null ? ariaBusy : accessibilityBusy;\n if (_ariaBusy != null) {\n domProps['aria-busy'] = _ariaBusy;\n }\n if (accessibilityChecked != null) {\n warnOnce('accessibilityChecked', \"accessibilityChecked is deprecated. Use aria-checked.\");\n }\n var _ariaChecked = ariaChecked != null ? ariaChecked : accessibilityChecked;\n if (_ariaChecked != null) {\n domProps['aria-checked'] = _ariaChecked;\n }\n if (accessibilityColumnCount != null) {\n warnOnce('accessibilityColumnCount', \"accessibilityColumnCount is deprecated. Use aria-colcount.\");\n }\n var _ariaColumnCount = ariaColumnCount != null ? ariaColumnCount : accessibilityColumnCount;\n if (_ariaColumnCount != null) {\n domProps['aria-colcount'] = _ariaColumnCount;\n }\n if (accessibilityColumnIndex != null) {\n warnOnce('accessibilityColumnIndex', \"accessibilityColumnIndex is deprecated. Use aria-colindex.\");\n }\n var _ariaColumnIndex = ariaColumnIndex != null ? ariaColumnIndex : accessibilityColumnIndex;\n if (_ariaColumnIndex != null) {\n domProps['aria-colindex'] = _ariaColumnIndex;\n }\n if (accessibilityColumnSpan != null) {\n warnOnce('accessibilityColumnSpan', \"accessibilityColumnSpan is deprecated. Use aria-colspan.\");\n }\n var _ariaColumnSpan = ariaColumnSpan != null ? ariaColumnSpan : accessibilityColumnSpan;\n if (_ariaColumnSpan != null) {\n domProps['aria-colspan'] = _ariaColumnSpan;\n }\n if (accessibilityControls != null) {\n warnOnce('accessibilityControls', \"accessibilityControls is deprecated. Use aria-controls.\");\n }\n var _ariaControls = ariaControls != null ? ariaControls : accessibilityControls;\n if (_ariaControls != null) {\n domProps['aria-controls'] = processIDRefList(_ariaControls);\n }\n if (accessibilityCurrent != null) {\n warnOnce('accessibilityCurrent', \"accessibilityCurrent is deprecated. Use aria-current.\");\n }\n var _ariaCurrent = ariaCurrent != null ? ariaCurrent : accessibilityCurrent;\n if (_ariaCurrent != null) {\n domProps['aria-current'] = _ariaCurrent;\n }\n if (accessibilityDescribedBy != null) {\n warnOnce('accessibilityDescribedBy', \"accessibilityDescribedBy is deprecated. Use aria-describedby.\");\n }\n var _ariaDescribedBy = ariaDescribedBy != null ? ariaDescribedBy : accessibilityDescribedBy;\n if (_ariaDescribedBy != null) {\n domProps['aria-describedby'] = processIDRefList(_ariaDescribedBy);\n }\n if (accessibilityDetails != null) {\n warnOnce('accessibilityDetails', \"accessibilityDetails is deprecated. Use aria-details.\");\n }\n var _ariaDetails = ariaDetails != null ? ariaDetails : accessibilityDetails;\n if (_ariaDetails != null) {\n domProps['aria-details'] = _ariaDetails;\n }\n if (disabled === true) {\n domProps['aria-disabled'] = true;\n // Enhance with native semantics\n if (elementType === 'button' || elementType === 'form' || elementType === 'input' || elementType === 'select' || elementType === 'textarea') {\n domProps.disabled = true;\n }\n }\n if (accessibilityErrorMessage != null) {\n warnOnce('accessibilityErrorMessage', \"accessibilityErrorMessage is deprecated. Use aria-errormessage.\");\n }\n var _ariaErrorMessage = ariaErrorMessage != null ? ariaErrorMessage : accessibilityErrorMessage;\n if (_ariaErrorMessage != null) {\n domProps['aria-errormessage'] = _ariaErrorMessage;\n }\n if (accessibilityExpanded != null) {\n warnOnce('accessibilityExpanded', \"accessibilityExpanded is deprecated. Use aria-expanded.\");\n }\n var _ariaExpanded = ariaExpanded != null ? ariaExpanded : accessibilityExpanded;\n if (_ariaExpanded != null) {\n domProps['aria-expanded'] = _ariaExpanded;\n }\n if (accessibilityFlowTo != null) {\n warnOnce('accessibilityFlowTo', \"accessibilityFlowTo is deprecated. Use aria-flowto.\");\n }\n var _ariaFlowTo = ariaFlowTo != null ? ariaFlowTo : accessibilityFlowTo;\n if (_ariaFlowTo != null) {\n domProps['aria-flowto'] = processIDRefList(_ariaFlowTo);\n }\n if (accessibilityHasPopup != null) {\n warnOnce('accessibilityHasPopup', \"accessibilityHasPopup is deprecated. Use aria-haspopup.\");\n }\n var _ariaHasPopup = ariaHasPopup != null ? ariaHasPopup : accessibilityHasPopup;\n if (_ariaHasPopup != null) {\n domProps['aria-haspopup'] = _ariaHasPopup;\n }\n if (accessibilityHidden != null) {\n warnOnce('accessibilityHidden', \"accessibilityHidden is deprecated. Use aria-hidden.\");\n }\n var _ariaHidden = ariaHidden != null ? ariaHidden : accessibilityHidden;\n if (_ariaHidden === true) {\n domProps['aria-hidden'] = _ariaHidden;\n }\n if (accessibilityInvalid != null) {\n warnOnce('accessibilityInvalid', \"accessibilityInvalid is deprecated. Use aria-invalid.\");\n }\n var _ariaInvalid = ariaInvalid != null ? ariaInvalid : accessibilityInvalid;\n if (_ariaInvalid != null) {\n domProps['aria-invalid'] = _ariaInvalid;\n }\n if (accessibilityKeyShortcuts != null) {\n warnOnce('accessibilityKeyShortcuts', \"accessibilityKeyShortcuts is deprecated. Use aria-keyshortcuts.\");\n }\n var _ariaKeyShortcuts = ariaKeyShortcuts != null ? ariaKeyShortcuts : accessibilityKeyShortcuts;\n if (_ariaKeyShortcuts != null) {\n domProps['aria-keyshortcuts'] = processIDRefList(_ariaKeyShortcuts);\n }\n if (accessibilityLabel != null) {\n warnOnce('accessibilityLabel', \"accessibilityLabel is deprecated. Use aria-label.\");\n }\n var _ariaLabel = ariaLabel != null ? ariaLabel : accessibilityLabel;\n if (_ariaLabel != null) {\n domProps['aria-label'] = _ariaLabel;\n }\n if (accessibilityLabelledBy != null) {\n warnOnce('accessibilityLabelledBy', \"accessibilityLabelledBy is deprecated. Use aria-labelledby.\");\n }\n var _ariaLabelledBy = ariaLabelledBy != null ? ariaLabelledBy : accessibilityLabelledBy;\n if (_ariaLabelledBy != null) {\n domProps['aria-labelledby'] = processIDRefList(_ariaLabelledBy);\n }\n if (accessibilityLevel != null) {\n warnOnce('accessibilityLevel', \"accessibilityLevel is deprecated. Use aria-level.\");\n }\n var _ariaLevel = ariaLevel != null ? ariaLevel : accessibilityLevel;\n if (_ariaLevel != null) {\n domProps['aria-level'] = _ariaLevel;\n }\n if (accessibilityLiveRegion != null) {\n warnOnce('accessibilityLiveRegion', \"accessibilityLiveRegion is deprecated. Use aria-live.\");\n }\n var _ariaLive = ariaLive != null ? ariaLive : accessibilityLiveRegion;\n if (_ariaLive != null) {\n domProps['aria-live'] = _ariaLive === 'none' ? 'off' : _ariaLive;\n }\n if (accessibilityModal != null) {\n warnOnce('accessibilityModal', \"accessibilityModal is deprecated. Use aria-modal.\");\n }\n var _ariaModal = ariaModal != null ? ariaModal : accessibilityModal;\n if (_ariaModal != null) {\n domProps['aria-modal'] = _ariaModal;\n }\n if (accessibilityMultiline != null) {\n warnOnce('accessibilityMultiline', \"accessibilityMultiline is deprecated. Use aria-multiline.\");\n }\n var _ariaMultiline = ariaMultiline != null ? ariaMultiline : accessibilityMultiline;\n if (_ariaMultiline != null) {\n domProps['aria-multiline'] = _ariaMultiline;\n }\n if (accessibilityMultiSelectable != null) {\n warnOnce('accessibilityMultiSelectable', \"accessibilityMultiSelectable is deprecated. Use aria-multiselectable.\");\n }\n var _ariaMultiSelectable = ariaMultiSelectable != null ? ariaMultiSelectable : accessibilityMultiSelectable;\n if (_ariaMultiSelectable != null) {\n domProps['aria-multiselectable'] = _ariaMultiSelectable;\n }\n if (accessibilityOrientation != null) {\n warnOnce('accessibilityOrientation', \"accessibilityOrientation is deprecated. Use aria-orientation.\");\n }\n var _ariaOrientation = ariaOrientation != null ? ariaOrientation : accessibilityOrientation;\n if (_ariaOrientation != null) {\n domProps['aria-orientation'] = _ariaOrientation;\n }\n if (accessibilityOwns != null) {\n warnOnce('accessibilityOwns', \"accessibilityOwns is deprecated. Use aria-owns.\");\n }\n var _ariaOwns = ariaOwns != null ? ariaOwns : accessibilityOwns;\n if (_ariaOwns != null) {\n domProps['aria-owns'] = processIDRefList(_ariaOwns);\n }\n if (accessibilityPlaceholder != null) {\n warnOnce('accessibilityPlaceholder', \"accessibilityPlaceholder is deprecated. Use aria-placeholder.\");\n }\n var _ariaPlaceholder = ariaPlaceholder != null ? ariaPlaceholder : accessibilityPlaceholder;\n if (_ariaPlaceholder != null) {\n domProps['aria-placeholder'] = _ariaPlaceholder;\n }\n if (accessibilityPosInSet != null) {\n warnOnce('accessibilityPosInSet', \"accessibilityPosInSet is deprecated. Use aria-posinset.\");\n }\n var _ariaPosInSet = ariaPosInSet != null ? ariaPosInSet : accessibilityPosInSet;\n if (_ariaPosInSet != null) {\n domProps['aria-posinset'] = _ariaPosInSet;\n }\n if (accessibilityPressed != null) {\n warnOnce('accessibilityPressed', \"accessibilityPressed is deprecated. Use aria-pressed.\");\n }\n var _ariaPressed = ariaPressed != null ? ariaPressed : accessibilityPressed;\n if (_ariaPressed != null) {\n domProps['aria-pressed'] = _ariaPressed;\n }\n if (accessibilityReadOnly != null) {\n warnOnce('accessibilityReadOnly', \"accessibilityReadOnly is deprecated. Use aria-readonly.\");\n }\n var _ariaReadOnly = ariaReadOnly != null ? ariaReadOnly : accessibilityReadOnly;\n if (_ariaReadOnly != null) {\n domProps['aria-readonly'] = _ariaReadOnly;\n // Enhance with native semantics\n if (elementType === 'input' || elementType === 'select' || elementType === 'textarea') {\n domProps.readOnly = true;\n }\n }\n if (accessibilityRequired != null) {\n warnOnce('accessibilityRequired', \"accessibilityRequired is deprecated. Use aria-required.\");\n }\n var _ariaRequired = ariaRequired != null ? ariaRequired : accessibilityRequired;\n if (_ariaRequired != null) {\n domProps['aria-required'] = _ariaRequired;\n // Enhance with native semantics\n if (elementType === 'input' || elementType === 'select' || elementType === 'textarea') {\n domProps.required = accessibilityRequired;\n }\n }\n if (accessibilityRole != null) {\n warnOnce('accessibilityRole', \"accessibilityRole is deprecated. Use role.\");\n }\n if (role != null) {\n // 'presentation' synonym has wider browser support\n domProps['role'] = role === 'none' ? 'presentation' : role;\n }\n if (accessibilityRoleDescription != null) {\n warnOnce('accessibilityRoleDescription', \"accessibilityRoleDescription is deprecated. Use aria-roledescription.\");\n }\n var _ariaRoleDescription = ariaRoleDescription != null ? ariaRoleDescription : accessibilityRoleDescription;\n if (_ariaRoleDescription != null) {\n domProps['aria-roledescription'] = _ariaRoleDescription;\n }\n if (accessibilityRowCount != null) {\n warnOnce('accessibilityRowCount', \"accessibilityRowCount is deprecated. Use aria-rowcount.\");\n }\n var _ariaRowCount = ariaRowCount != null ? ariaRowCount : accessibilityRowCount;\n if (_ariaRowCount != null) {\n domProps['aria-rowcount'] = _ariaRowCount;\n }\n if (accessibilityRowIndex != null) {\n warnOnce('accessibilityRowIndex', \"accessibilityRowIndex is deprecated. Use aria-rowindex.\");\n }\n var _ariaRowIndex = ariaRowIndex != null ? ariaRowIndex : accessibilityRowIndex;\n if (_ariaRowIndex != null) {\n domProps['aria-rowindex'] = _ariaRowIndex;\n }\n if (accessibilityRowSpan != null) {\n warnOnce('accessibilityRowSpan', \"accessibilityRowSpan is deprecated. Use aria-rowspan.\");\n }\n var _ariaRowSpan = ariaRowSpan != null ? ariaRowSpan : accessibilityRowSpan;\n if (_ariaRowSpan != null) {\n domProps['aria-rowspan'] = _ariaRowSpan;\n }\n if (accessibilitySelected != null) {\n warnOnce('accessibilitySelected', \"accessibilitySelected is deprecated. Use aria-selected.\");\n }\n var _ariaSelected = ariaSelected != null ? ariaSelected : accessibilitySelected;\n if (_ariaSelected != null) {\n domProps['aria-selected'] = _ariaSelected;\n }\n if (accessibilitySetSize != null) {\n warnOnce('accessibilitySetSize', \"accessibilitySetSize is deprecated. Use aria-setsize.\");\n }\n var _ariaSetSize = ariaSetSize != null ? ariaSetSize : accessibilitySetSize;\n if (_ariaSetSize != null) {\n domProps['aria-setsize'] = _ariaSetSize;\n }\n if (accessibilitySort != null) {\n warnOnce('accessibilitySort', \"accessibilitySort is deprecated. Use aria-sort.\");\n }\n var _ariaSort = ariaSort != null ? ariaSort : accessibilitySort;\n if (_ariaSort != null) {\n domProps['aria-sort'] = _ariaSort;\n }\n if (accessibilityValueMax != null) {\n warnOnce('accessibilityValueMax', \"accessibilityValueMax is deprecated. Use aria-valuemax.\");\n }\n var _ariaValueMax = ariaValueMax != null ? ariaValueMax : accessibilityValueMax;\n if (_ariaValueMax != null) {\n domProps['aria-valuemax'] = _ariaValueMax;\n }\n if (accessibilityValueMin != null) {\n warnOnce('accessibilityValueMin', \"accessibilityValueMin is deprecated. Use aria-valuemin.\");\n }\n var _ariaValueMin = ariaValueMin != null ? ariaValueMin : accessibilityValueMin;\n if (_ariaValueMin != null) {\n domProps['aria-valuemin'] = _ariaValueMin;\n }\n if (accessibilityValueNow != null) {\n warnOnce('accessibilityValueNow', \"accessibilityValueNow is deprecated. Use aria-valuenow.\");\n }\n var _ariaValueNow = ariaValueNow != null ? ariaValueNow : accessibilityValueNow;\n if (_ariaValueNow != null) {\n domProps['aria-valuenow'] = _ariaValueNow;\n }\n if (accessibilityValueText != null) {\n warnOnce('accessibilityValueText', \"accessibilityValueText is deprecated. Use aria-valuetext.\");\n }\n var _ariaValueText = ariaValueText != null ? ariaValueText : accessibilityValueText;\n if (_ariaValueText != null) {\n domProps['aria-valuetext'] = _ariaValueText;\n }\n\n // \"dataSet\" replaced with \"data-*\"\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 if (dataValue != null) {\n domProps[\"data-\" + dataName] = dataValue;\n }\n }\n }\n }\n\n // FOCUS\n if (tabIndex === 0 || tabIndex === '0' || tabIndex === -1 || tabIndex === '-1') {\n domProps.tabIndex = tabIndex;\n } else {\n if (focusable != null) {\n warnOnce('focusable', \"focusable is deprecated.\");\n }\n\n // \"focusable\" indicates that an element may be a keyboard tab-stop.\n if (focusable === false) {\n domProps.tabIndex = '-1';\n }\n if (\n // 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 (\n // 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 }\n }\n\n // Resolve styles\n if (pointerEvents != null) {\n warnOnce('pointerEvents', \"props.pointerEvents is deprecated. Use style.pointerEvents\");\n }\n var _StyleSheet = StyleSheet([style, pointerEvents && pointerEventsStyles[pointerEvents]], _objectSpread({\n writingDirection: 'ltr'\n }, options)),\n className = _StyleSheet[0],\n inlineStyle = _StyleSheet[1];\n if (className) {\n domProps.className = className;\n }\n if (inlineStyle) {\n domProps.style = inlineStyle;\n }\n\n // OTHER\n // Native element ID\n if (nativeID != null) {\n warnOnce('nativeID', \"nativeID is deprecated. Use id.\");\n }\n var _id = id != null ? id : nativeID;\n if (_id != null) {\n domProps.id = _id;\n }\n // Automated test IDs\n if (testID != null) {\n domProps['data-testid'] = testID;\n }\n if (domProps.type == null && elementType === 'button') {\n domProps.type = 'button';\n }\n return domProps;\n};\nexport default createDOMProps;","/**\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\nimport AccessibilityUtil from '../../modules/AccessibilityUtil';\nimport createDOMProps from '../../modules/createDOMProps';\nimport React from 'react';\nimport { LocaleProvider } from '../../modules/useLocale';\nvar createElement = (component, props, options) => {\n // Use equivalent platform elements where possible.\n var accessibilityComponent;\n if (component && component.constructor === String) {\n accessibilityComponent = AccessibilityUtil.propsToAccessibilityComponent(props);\n }\n var Component = accessibilityComponent || component;\n var domProps = createDOMProps(Component, props, options);\n var element = /*#__PURE__*/React.createElement(Component, domProps);\n\n // Update locale context if element's writing direction prop changes\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};\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 */\n\nimport normalizeColor from '@react-native/normalize-colors';\nvar processColor = color => {\n if (color === undefined || color === null) {\n return color;\n }\n\n // convert number and hex\n var int32Color = normalizeColor(color);\n if (int32Color === undefined || int32Color === null) {\n return undefined;\n }\n int32Color = (int32Color << 24 | int32Color >>> 8) >>> 0;\n return int32Color;\n};\nexport default processColor;","/**\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\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 useEffect(() => {\n function handleChange(_ref) {\n var window = _ref.window;\n if (window != null) {\n setDims(window);\n }\n }\n Dimensions.addEventListener('change', handleChange);\n // 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 setDims(Dimensions.get('window'));\n return () => {\n Dimensions.removeEventListener('change', handleChange);\n };\n }, []);\n return dims;\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 */\n\nimport { findDOMNode } from 'react-dom';\n\n/**\n * @deprecated imperatively finding the DOM element of a react component has been deprecated in React 18.\n * You should use ref properties on the component instead.\n */\nvar findNodeHandle = component => {\n var node;\n try {\n node = findDOMNode(component);\n } catch (e) {}\n return node;\n};\nexport default findNodeHandle;","/**\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\nimport { unmountComponentAtNode } from 'react-dom';\nexport default unmountComponentAtNode;","/**\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\nimport { hydrate as domLegacyHydrate, render as domLegacyRender } from 'react-dom';\nimport { createRoot as domCreateRoot, hydrateRoot as domHydrateRoot } from 'react-dom/client';\nimport unmountComponentAtNode from '../unmountComponentAtNode';\nimport { createSheet } from '../StyleSheet/dom';\nexport function hydrate(element, root) {\n createSheet(root);\n return domHydrateRoot(root, element);\n}\nexport function render(element, root) {\n createSheet(root);\n var reactRoot = domCreateRoot(root);\n reactRoot.render(element);\n return reactRoot;\n}\nexport function hydrateLegacy(element, root, callback) {\n createSheet(root);\n domLegacyHydrate(element, root, callback);\n return {\n unmount: function unmount() {\n return unmountComponentAtNode(root);\n }\n };\n}\nexport default function renderLegacy(element, root, callback) {\n createSheet(root);\n domLegacyRender(element, root, callback);\n return {\n unmount: function unmount() {\n return unmountComponentAtNode(root);\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 */\nimport canUseDOM from '../../modules/canUseDom';\nfunction isScreenReaderEnabled() {\n return new Promise((resolve, reject) => {\n resolve(true);\n });\n}\nvar prefersReducedMotionMedia = canUseDOM && typeof window.matchMedia === 'function' ? window.matchMedia('(prefers-reduced-motion: reduce)') : null;\nfunction isReduceMotionEnabled() {\n return new Promise((resolve, reject) => {\n resolve(prefersReducedMotionMedia ? prefersReducedMotionMedia.matches : true);\n });\n}\nfunction addChangeListener(fn) {\n if (prefersReducedMotionMedia != null) {\n prefersReducedMotionMedia.addEventListener != null ? prefersReducedMotionMedia.addEventListener('change', fn) : prefersReducedMotionMedia.addListener(fn);\n }\n}\nfunction removeChangeListener(fn) {\n if (prefersReducedMotionMedia != null) {\n prefersReducedMotionMedia.removeEventListener != null ? prefersReducedMotionMedia.removeEventListener('change', fn) : prefersReducedMotionMedia.removeListener(fn);\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 * 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 * Deprecated\n */\n fetch: isScreenReaderEnabled,\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 var listener = event => {\n handler(event.matches);\n };\n addChangeListener(listener);\n handlers[handler] = listener;\n }\n return {\n remove: () => AccessibilityInfo.removeEventListener(eventName, handler)\n };\n },\n /**\n * Set accessibility focus to a react component.\n */\n setAccessibilityFocus: function setAccessibilityFocus(reactTag) {},\n /**\n * Post a string to be announced by the screen reader.\n */\n announceForAccessibility: function announceForAccessibility(announcement) {},\n /**\n * Remove an event handler.\n */\n removeEventListener: function removeEventListener(eventName, handler) {\n if (eventName === 'reduceMotionChanged') {\n var listener = handlers[handler];\n if (!listener || !prefersReducedMotionMedia) {\n return;\n }\n removeChangeListener(listener);\n }\n return;\n }\n};\nexport default AccessibilityInfo;","/**\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\nclass Alert {\n static alert() {}\n}\nexport default Alert;","/**\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';\nfunction getQuery() {\n return canUseDOM && window.matchMedia != null ? window.matchMedia('(prefers-color-scheme: dark)') : null;\n}\nvar query = getQuery();\nvar listenerMapping = new WeakMap();\nvar Appearance = {\n getColorScheme() {\n return query && query.matches ? 'dark' : 'light';\n },\n addChangeListener(listener) {\n var mappedListener = listenerMapping.get(listener);\n if (!mappedListener) {\n mappedListener = _ref => {\n var matches = _ref.matches;\n listener({\n colorScheme: matches ? 'dark' : 'light'\n });\n };\n listenerMapping.set(listener, mappedListener);\n }\n if (query) {\n query.addListener(mappedListener);\n }\n function remove() {\n var mappedListener = listenerMapping.get(listener);\n if (query && mappedListener) {\n query.removeListener(mappedListener);\n }\n listenerMapping.delete(listener);\n }\n return {\n remove\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 */\n\nimport * as React from 'react';\nimport StyleSheet from '../StyleSheet';\nimport View from '../View';\nvar RootTagContext = /*#__PURE__*/React.createContext(null);\nvar AppContainer = /*#__PURE__*/React.forwardRef((props, forwardedRef) => {\n var children = props.children,\n WrapperComponent = props.WrapperComponent;\n var innerView = /*#__PURE__*/React.createElement(View, {\n children: children,\n key: 1,\n style: styles.appContainer\n });\n if (WrapperComponent) {\n innerView = /*#__PURE__*/React.createElement(WrapperComponent, null, innerView);\n }\n return /*#__PURE__*/React.createElement(RootTagContext.Provider, {\n value: props.rootTag\n }, /*#__PURE__*/React.createElement(View, {\n ref: forwardedRef,\n style: styles.appContainer\n }, innerView));\n});\nAppContainer.displayName = 'AppContainer';\nexport default AppContainer;\nvar styles = StyleSheet.create({\n appContainer: {\n flex: 1,\n pointerEvents: 'box-none'\n }\n});","import _objectSpread from \"@babel/runtime/helpers/objectSpread2\";\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 */\n\nimport invariant from 'fbjs/lib/invariant';\nimport unmountComponentAtNode from '../unmountComponentAtNode';\nimport renderApplication, { getApplication as _getApplication } from './renderApplication';\nvar emptyObject = {};\nvar runnables = {};\nvar componentProviderInstrumentationHook = component => component();\nvar wrapperComponentProvider;\n\n/**\n * `AppRegistry` is the JS entry point to running all React Native apps.\n */\nexport default class AppRegistry {\n static getAppKeys() {\n return Object.keys(runnables);\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 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 mode: appParameters.mode || 'concurrent',\n rootTag: appParameters.rootTag\n })\n };\n return appKey;\n }\n static registerConfig(config) {\n config.forEach(_ref => {\n var appKey = _ref.appKey,\n component = _ref.component,\n run = _ref.run;\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 }\n\n // TODO: fix style sheet creation when using this method\n static registerRunnable(appKey, run) {\n runnables[appKey] = {\n run\n };\n return appKey;\n }\n static runApplication(appKey, appParameters) {\n var isDevelopment = process.env.NODE_ENV !== 'production' && process.env.NODE_ENV !== 'test';\n if (isDevelopment) {\n var params = _objectSpread({}, appParameters);\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 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 return runnables[appKey].run(appParameters);\n }\n static setComponentProviderInstrumentationHook(hook) {\n componentProviderInstrumentationHook = hook;\n }\n static setWrapperComponentProvider(provider) {\n wrapperComponentProvider = provider;\n }\n static unmountApplicationComponentAtRootTag(rootTag) {\n unmountComponentAtNode(rootTag);\n }\n}","import _extends from \"@babel/runtime/helpers/extends\";\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 */\n\nimport AppContainer from './AppContainer';\nimport invariant from 'fbjs/lib/invariant';\nimport renderLegacy, { hydrateLegacy, 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 mode = options.mode,\n rootTag = options.rootTag;\n var renderFn = shouldHydrate ? mode === 'concurrent' ? hydrate : hydrateLegacy : mode === 'concurrent' ? render : renderLegacy;\n invariant(rootTag, 'Expect to have a valid rootTag, instead got ', rootTag);\n return renderFn( /*#__PURE__*/React.createElement(AppContainer, {\n WrapperComponent: WrapperComponent,\n ref: callback,\n rootTag: rootTag\n }, /*#__PURE__*/React.createElement(RootComponent, initialProps)), rootTag);\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));\n // Don't escape CSS text\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 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 */\n\nimport invariant from 'fbjs/lib/invariant';\nimport EventEmitter from '../../vendor/react-native/vendor/emitter/EventEmitter';\nimport canUseDOM from '../../modules/canUseDom';\n\n// Android 4.4 browser\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 switch (document[VISIBILITY_STATE_PROPERTY]) {\n case 'hidden':\n case 'prerender':\n case 'unloaded':\n return AppStates.BACKGROUND;\n default:\n return AppStates.ACTIVE;\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 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 return changeEmitter.addListener(type, handler);\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 */\n\nfunction emptyFunction() {}\nvar BackHandler = {\n exitApp: emptyFunction,\n addEventListener() {\n console.error('BackHandler is not supported on web and should not be used.');\n return {\n remove: emptyFunction\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 */\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 return clipboardAvailable;\n }\n static getString() {\n return Promise.resolve('');\n }\n static setString(text) {\n var success = false;\n var body = document.body;\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);\n\n // select the text\n var selection = window.getSelection();\n selection.removeAllRanges();\n var range = document.createRange();\n range.selectNodeContents(node);\n selection.addRange(range);\n\n // attempt to copy\n try {\n document.execCommand('copy');\n success = true;\n } catch (e) {}\n\n // remove selection and node\n selection.removeAllRanges();\n body.removeChild(node);\n }\n return success;\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\n'use strict';\n\nimport Platform from '../../../exports/Platform';\nimport UIManager from '../../../exports/UIManager';\nvar __DEV__ = process.env.NODE_ENV !== 'production';\nfunction configureNext(config, onAnimationDidEnd) {\n if (!Platform.isTesting) {\n UIManager.configureNextLayoutAnimation(config, onAnimationDidEnd !== null && onAnimationDidEnd !== void 0 ? onAnimationDidEnd : function () {}, function () {} /* unused onError */);\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}\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/**\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 */\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 * 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 checkConfig() {\n console.error('LayoutAnimation.checkConfig(...) has been disabled.');\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) 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 */\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 */\n\nimport invariant from 'fbjs/lib/invariant';\nimport canUseDOM from '../../modules/canUseDom';\nvar initialURL = canUseDOM ? window.location.href : '';\nclass Linking {\n constructor() {\n this._eventCallbacks = {};\n }\n /**\n * An object mapping of event name\n * and all the callbacks subscribing to it\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 var listeners = this._eventCallbacks[event];\n if (listeners != null && Array.isArray(listeners)) {\n listeners.map(listener => {\n listener(...data);\n });\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 addEventListener(eventType, callback) {\n var _this = this;\n if (!_this._eventCallbacks[eventType]) {\n _this._eventCallbacks[eventType] = [callback];\n }\n _this._eventCallbacks[eventType].push(callback);\n return {\n remove() {\n var callbacks = _this._eventCallbacks[eventType];\n var filteredCallbacks = callbacks.filter(c => c.toString() !== callback.toString());\n _this._eventCallbacks[eventType] = filteredCallbacks;\n }\n };\n }\n\n /**\n * Removes a previously added event listener for the specified event. The callback must\n * be the same object as the one passed to `addEventListener`.\n */\n removeEventListener(eventType, callback) {\n console.error(\"Linking.removeEventListener('\" + eventType + \"', ...): Method has been \" + 'deprecated. Please instead use `remove()` on the subscription ' + 'returned by `Linking.addEventListener`.');\n var callbacks = this._eventCallbacks[eventType];\n var filteredCallbacks = callbacks.filter(c => c.toString() !== callback.toString());\n this._eventCallbacks[eventType] = filteredCallbacks;\n }\n canOpenURL() {\n return Promise.resolve(true);\n }\n getInitialURL() {\n return Promise.resolve(initialURL);\n }\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 openURL(url, target) {\n if (arguments.length === 1) {\n target = '_blank';\n }\n try {\n open(url, target);\n this._dispatchEvent('onOpen', url);\n return Promise.resolve();\n } catch (e) {\n return Promise.reject(e);\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}\nvar open = (url, target) => {\n if (canUseDOM) {\n var urlToOpen = new URL(url, window.location).toString();\n if (urlToOpen.indexOf('tel:') === 0) {\n window.location = urlToOpen;\n } else {\n window.open(urlToOpen, target, 'noopener');\n }\n }\n};\nexport default new Linking();","/**\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\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 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 if (touchTrack !== null && touchTrack !== undefined && touchTrack.touchActive && touchTrack.currentTimeStamp >= touchesChangedAfter) {\n var toAdd = void 0; // Yuck, program temporarily in invalid state.\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 total += toAdd;\n count++;\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,\n // isXAxis\n true // ofCurrent\n );\n },\n\n currentCentroidYOfTouchesChangedAfter: function currentCentroidYOfTouchesChangedAfter(touchHistory, touchesChangedAfter) {\n return TouchHistoryMath.centroidDimension(touchHistory, touchesChangedAfter, false,\n // isXAxis\n true // ofCurrent\n );\n },\n\n previousCentroidXOfTouchesChangedAfter: function previousCentroidXOfTouchesChangedAfter(touchHistory, touchesChangedAfter) {\n return TouchHistoryMath.centroidDimension(touchHistory, touchesChangedAfter, true,\n // isXAxis\n false // ofCurrent\n );\n },\n\n previousCentroidYOfTouchesChangedAfter: function previousCentroidYOfTouchesChangedAfter(touchHistory, touchesChangedAfter) {\n return TouchHistoryMath.centroidDimension(touchHistory, touchesChangedAfter, false,\n // isXAxis\n false // ofCurrent\n );\n },\n\n currentCentroidX: function currentCentroidX(touchHistory) {\n return TouchHistoryMath.centroidDimension(touchHistory, 0,\n // touchesChangedAfter\n true,\n // isXAxis\n true // ofCurrent\n );\n },\n\n currentCentroidY: function currentCentroidY(touchHistory) {\n return TouchHistoryMath.centroidDimension(touchHistory, 0,\n // touchesChangedAfter\n false,\n // isXAxis\n true // ofCurrent\n );\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\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/**\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\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;\n // All `gestureState` accounts for timeStamps up until:\n gestureState._accountsForMovesUpTo = 0;\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);\n\n // TODO: This must be filtered intelligently.\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 * @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 onMoveShouldSetResponder(event) {\n return config.onMoveShouldSetPanResponder == null ? false : config.onMoveShouldSetPanResponder(event, gestureState);\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 gestureState.numberActiveTouches = event.touchHistory.numberActiveTouches;\n return config.onStartShouldSetPanResponderCapture != null ? config.onStartShouldSetPanResponderCapture(event, gestureState) : false;\n },\n onMoveShouldSetResponderCapture(event) {\n var touchHistory = event.touchHistory;\n // 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 if (gestureState._accountsForMovesUpTo === touchHistory.mostRecentTimeStamp) {\n return false;\n }\n PanResponder._updateGestureStateOnMove(gestureState, touchHistory);\n return config.onMoveShouldSetPanResponderCapture ? config.onMoveShouldSetPanResponderCapture(event, gestureState) : false;\n },\n onResponderGrant(event) {\n if (!interactionState.handle) {\n interactionState.handle = InteractionManager.createInteractionHandle();\n }\n if (interactionState.timeout) {\n clearInteractionTimeout(interactionState);\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 if (config.onPanResponderGrant) {\n config.onPanResponderGrant(event, gestureState);\n }\n // TODO: t7467124 investigate if this can be removed\n return config.onShouldBlockNativeResponder == null ? true : config.onShouldBlockNativeResponder(event, gestureState);\n },\n onResponderReject(event) {\n clearInteractionHandle(interactionState, config.onPanResponderReject, event, gestureState);\n },\n onResponderRelease(event) {\n clearInteractionHandle(interactionState, config.onPanResponderRelease, event, gestureState);\n setInteractionTimeout(interactionState);\n PanResponder._initializeGestureState(gestureState);\n },\n onResponderStart(event) {\n var touchHistory = event.touchHistory;\n gestureState.numberActiveTouches = touchHistory.numberActiveTouches;\n if (config.onPanResponderStart) {\n config.onPanResponderStart(event, gestureState);\n }\n },\n onResponderMove(event) {\n var touchHistory = event.touchHistory;\n // Guard against the dispatch of two touch moves when there are two\n // simultaneously changed touches.\n if (gestureState._accountsForMovesUpTo === touchHistory.mostRecentTimeStamp) {\n return;\n }\n // Filter out any touch moves past the first one - we would have\n // already processed multi-touch geometry during the first event.\n PanResponder._updateGestureStateOnMove(gestureState, touchHistory);\n if (config.onPanResponderMove) {\n config.onPanResponderMove(event, gestureState);\n }\n },\n onResponderEnd(event) {\n var touchHistory = event.touchHistory;\n gestureState.numberActiveTouches = touchHistory.numberActiveTouches;\n clearInteractionHandle(interactionState, config.onPanResponderEnd, event, gestureState);\n },\n onResponderTerminate(event) {\n clearInteractionHandle(interactionState, config.onPanResponderTerminate, event, gestureState);\n setInteractionTimeout(interactionState);\n PanResponder._initializeGestureState(gestureState);\n },\n onResponderTerminationRequest(event) {\n return config.onPanResponderTerminationRequest == null ? true : config.onPanResponderTerminationRequest(event, gestureState);\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 getInteractionHandle() {\n return interactionState.handle;\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 if (callback) {\n callback(event, gestureState);\n }\n}\nfunction clearInteractionTimeout(interactionState) {\n clearTimeout(interactionState.timeout);\n}\nfunction setInteractionTimeout(interactionState) {\n interactionState.timeout = setTimeout(() => {\n interactionState.shouldCancelClick = false;\n }, 250);\n}\nexport default PanResponder;","import PanResponder from '../../vendor/react-native/PanResponder';\nexport default PanResponder;","/**\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 */\n\nimport invariant from 'fbjs/lib/invariant';\nclass Share {\n static share(content, options) {\n if (options === void 0) {\n options = {};\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 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 /**\n * The content was successfully shared.\n */\n static get sharedAction() {\n return 'sharedAction';\n }\n\n /**\n * The dialog has been dismissed.\n * @platform ios\n */\n static get dismissedAction() {\n return 'dismissedAction';\n }\n}\nexport default Share;","/**\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 */\n\nvar vibrate = pattern => {\n if ('vibrate' in window.navigator) {\n window.navigator.vibrate(pattern);\n }\n};\nvar Vibration = {\n cancel() {\n vibrate(0);\n },\n vibrate(pattern) {\n if (pattern === void 0) {\n pattern = 400;\n }\n vibrate(pattern);\n }\n};\nexport default Vibration;","/**\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 */\n\nimport * as React from 'react';\nimport StyleSheet from '../StyleSheet';\nimport TouchableOpacity from '../TouchableOpacity';\nimport Text from '../Text';\nimport { warnOnce } from '../../modules/warnOnce';\nvar Button = /*#__PURE__*/React.forwardRef((props, forwardedRef) => {\n warnOnce('Button', 'Button is deprecated. Please use Pressable.');\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 = [\"aria-readonly\", \"color\", \"disabled\", \"onChange\", \"onValueChange\", \"readOnly\", \"style\", \"value\"];\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 */\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 ariaReadOnly = props['aria-readonly'],\n color = props.color,\n disabled = props.disabled,\n onChange = props.onChange,\n onValueChange = props.onValueChange,\n readOnly = props.readOnly,\n style = props.style,\n value = props.value,\n other = _objectWithoutPropertiesLoose(props, _excluded);\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 var fakeControl = /*#__PURE__*/React.createElement(View, {\n style: [styles.fakeControl, value && styles.fakeControlChecked,\n // 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 readOnly: readOnly === true || ariaReadOnly === true || other.accessibilityReadOnly === true,\n ref: forwardedRef,\n style: [styles.nativeControl, styles.cursorInherit],\n type: 'checkbox'\n });\n return /*#__PURE__*/React.createElement(View, _extends({}, other, {\n \"aria-disabled\": disabled,\n \"aria-readonly\": ariaReadOnly,\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;","import _extends from \"@babel/runtime/helpers/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/objectWithoutPropertiesLoose\";\nvar _excluded = [\"children\", \"style\", \"imageStyle\", \"imageRef\"];\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 */\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/**\n * Very simple drop-in replacement for which supports nesting views.\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 var _StyleSheet$flatten = StyleSheet.flatten(style),\n height = _StyleSheet$flatten.height,\n width = _StyleSheet$flatten.width;\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 _extends from \"@babel/runtime/helpers/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/objectWithoutPropertiesLoose\";\nvar _excluded = [\"behavior\", \"contentContainerStyle\", \"keyboardVerticalOffset\"];\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 */\n\nimport * as React from 'react';\nimport View from '../View';\nclass KeyboardAvoidingView extends React.Component {\n constructor() {\n super(...arguments);\n this.frame = null;\n this.onLayout = event => {\n this.frame = event.nativeEvent.layout;\n };\n }\n relativeKeyboardHeight(keyboardFrame) {\n var frame = this.frame;\n if (!frame || !keyboardFrame) {\n return 0;\n }\n var keyboardY = keyboardFrame.screenY - (this.props.keyboardVerticalOffset || 0);\n return Math.max(frame.y + frame.height - keyboardY, 0);\n }\n onKeyboardChange(event) {}\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 return /*#__PURE__*/React.createElement(View, _extends({\n onLayout: this.onLayout\n }, rest));\n }\n}\nexport default KeyboardAvoidingView;","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 * 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 */\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 var hostRef = React.useRef(null);\n function handleChange(e) {\n var _e$target = e.target,\n selectedIndex = _e$target.selectedIndex,\n value = _e$target.value;\n if (onValueChange) {\n onValueChange(value, selectedIndex);\n }\n }\n\n // $FlowFixMe\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 var platformMethodsRef = usePlatformMethods(supportedProps);\n var setRef = useMergeRefs(hostRef, platformMethodsRef, forwardedRef);\n supportedProps.ref = setRef;\n return createElement('select', supportedProps);\n});\n\n// $FlowFixMe\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 */\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 _extends from \"@babel/runtime/helpers/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/objectWithoutPropertiesLoose\";\nvar _excluded = [\"color\", \"indeterminate\", \"progress\", \"trackColor\", \"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 * \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 var percentageProgress = progress * 100;\n var width = indeterminate ? '25%' : percentageProgress + \"%\";\n return /*#__PURE__*/React.createElement(View, _extends({}, other, {\n \"aria-valuemax\": 100,\n \"aria-valuemin\": 0,\n \"aria-valuenow\": indeterminate ? null : percentageProgress,\n ref: ref,\n role: \"progressbar\",\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: 'translateX(-100%)'\n },\n '100%': {\n transform: 'translateX(400%)'\n }\n }],\n animationTimingFunction: 'linear',\n animationIterationCount: 'infinite'\n }\n});\nexport default ProgressBar;","import _extends from \"@babel/runtime/helpers/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/objectWithoutPropertiesLoose\";\nvar _excluded = [\"style\"];\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 */\n\nimport * as React from 'react';\nimport StyleSheet from '../StyleSheet';\nimport View from '../View';\nimport canUseDOM from '../../modules/canUseDom';\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 return 'env';\n}();\nvar SafeAreaView = /*#__PURE__*/React.forwardRef((props, ref) => {\n var style = props.style,\n rest = _objectWithoutPropertiesLoose(props, _excluded);\n return /*#__PURE__*/React.createElement(View, _extends({}, rest, {\n ref: ref,\n style: [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;","/* 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 invariant from 'fbjs/lib/invariant';\nvar twoArgumentPooler = function twoArgumentPooler(a1, a2) {\n var Klass = this;\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};\nvar standardReleaser = function standardReleaser(instance) {\n var Klass = this;\n instance.destructor();\n if (Klass.instancePool.length < Klass.poolSize) {\n Klass.instancePool.push(instance);\n }\n};\nvar DEFAULT_POOL_SIZE = 10;\nvar DEFAULT_POOLER = twoArgumentPooler;\n\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 */\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 if (!NewKlass.poolSize) {\n NewKlass.poolSize = DEFAULT_POOL_SIZE;\n }\n NewKlass.release = standardReleaser;\n return NewKlass;\n};\nvar PooledClass = {\n addPoolingTo: addPoolingTo,\n twoArgumentPooler: twoArgumentPooler\n};\nexport default PooledClass;","/**\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 */\n\nimport PooledClass from '../../vendor/react-native/PooledClass';\nvar twoArgumentPooler = PooledClass.twoArgumentPooler;\n\n/**\n * PooledClass representing the bounding rectangle of a region.\n */\nfunction BoundingDimensions(width, height) {\n this.width = width;\n this.height = height;\n}\nBoundingDimensions.prototype.destructor = function () {\n this.width = null;\n this.height = null;\n};\nBoundingDimensions.getPooledFromElement = function (element) {\n return BoundingDimensions.getPooled(element.offsetWidth, element.offsetHeight);\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 */\n\nimport PooledClass from '../../vendor/react-native/PooledClass';\nvar twoArgumentPooler = PooledClass.twoArgumentPooler;\nfunction Position(left, top) {\n this.left = left;\n this.top = top;\n}\nPosition.prototype.destructor = function () {\n this.left = null;\n this.top = null;\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\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 normalizeColor from '@react-native/normalize-colors';\nimport Position from './Position';\nimport React from 'react';\nimport UIManager from '../UIManager';\nimport View from '../View';\nimport { warnOnce } from '../../modules/warnOnce';\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/**\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 * - Add a method to get your touchable component's node.\n * getTouchableNode: function() {\n * return this.touchableRef.current\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\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 * Quick lookup map for states that are considered to be \"active\"\n */\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};\nvar IsActive = _objectSpread(_objectSpread({}, baseStatesConditions), {}, {\n RESPONDER_ACTIVE_PRESS_OUT: true,\n RESPONDER_ACTIVE_PRESS_IN: true\n});\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 */\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});\nvar IsLongPressingIn = _objectSpread(_objectSpread({}, baseStatesConditions), {}, {\n RESPONDER_ACTIVE_LONG_PRESS_IN: true\n});\n\n/**\n * Inputs to the state machine.\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 * 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};\n\n// ==== Typical Constants for integrating into UI components ====\n// var HIT_EXPAND_PX = 20;\n// var HIT_VERT_OFFSET_PX = 10;\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;\n\n// 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 */\nvar TouchableMixin = {\n // HACK (part 1): basic support for touchable interactions using a keyboard\n componentDidMount: function componentDidMount() {\n warnOnce('TouchableMixin', 'TouchableMixin is deprecated. Please use Pressable.');\n var touchableNode = this.getTouchableNode && this.getTouchableNode();\n if (touchableNode && 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 this._isTouchableKeyboardActive = false;\n }\n };\n touchableNode.addEventListener('blur', this._touchableBlurListener);\n }\n },\n /**\n * Clear all timeouts on unmount\n */\n componentWillUnmount: function componentWillUnmount() {\n var touchableNode = this.getTouchableNode && this.getTouchableNode();\n if (touchableNode && touchableNode.addEventListener) {\n touchableNode.removeEventListener('blur', this._touchableBlurListener);\n }\n this.touchableDelayTimeout && clearTimeout(this.touchableDelayTimeout);\n this.longPressDelayTimeout && clearTimeout(this.longPressDelayTimeout);\n this.pressOutDelayTimeout && clearTimeout(this.pressOutDelayTimeout);\n // Clear DOM nodes\n this.pressInLocation = null;\n this.state.touchable.responderID = null;\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 * Must return true if embedded in a native platform scroll view.\n */\n touchableHandleResponderTerminationRequest: function touchableHandleResponderTerminationRequest() {\n return !this.props.rejectResponderTermination;\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 * Return true to cancel press on long press.\n */\n touchableLongPressCancelsPress: function touchableLongPressCancelsPress() {\n return true;\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;\n // 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 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 this._receiveSignal(Signals.RESPONDER_GRANT, e);\n var delayMS = this.touchableGetHighlightDelayMS !== undefined ? Math.max(this.touchableGetHighlightDelayMS(), 0) : HIGHLIGHT_DELAY_MS;\n delayMS = isNaN(delayMS) ? HIGHLIGHT_DELAY_MS : delayMS;\n if (delayMS !== 0) {\n this.touchableDelayTimeout = setTimeout(this._handleDelay.bind(this, e), delayMS);\n } else {\n this._handleDelay(e);\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 * Place as callback for a DOM element's `onResponderRelease` event.\n */\n touchableHandleResponderRelease: function touchableHandleResponderRelease(e) {\n this.pressInLocation = null;\n this._receiveSignal(Signals.RESPONDER_RELEASE, e);\n },\n /**\n * Place as callback for a DOM element's `onResponderTerminate` event.\n */\n touchableHandleResponderTerminate: function touchableHandleResponderTerminate(e) {\n this.pressInLocation = null;\n this._receiveSignal(Signals.RESPONDER_TERMINATED, e);\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 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 if (hitSlop) {\n pressExpandLeft += hitSlop.left || 0;\n pressExpandTop += hitSlop.top || 0;\n pressExpandRight += hitSlop.right || 0;\n pressExpandBottom += hitSlop.bottom || 0;\n }\n var touch = extractSingleTouch(e.nativeEvent);\n var pageX = touch && touch.pageX;\n var pageY = touch && touch.pageY;\n if (this.pressInLocation) {\n var movedDistance = this._getDistanceBetweenPoints(pageX, pageY, this.pressInLocation.pageX, this.pressInLocation.pageY);\n if (movedDistance > LONG_PRESS_ALLOWED_MOVEMENT) {\n this._cancelLongPressDelayTimeout();\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 if (isTouchWithinActive) {\n var prevState = this.state.touchable.touchState;\n this._receiveSignal(Signals.ENTER_PRESS_RECT, e);\n var curState = this.state.touchable.touchState;\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 this._receiveSignal(Signals.LEAVE_PRESS_RECT, e);\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 * 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\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 if (tag == null) {\n return;\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 this.state.touchable.positionOnActivate && Position.release(this.state.touchable.positionOnActivate);\n this.state.touchable.dimensionsOnActivate &&\n // $FlowFixMe\n BoundingDimensions.release(this.state.touchable.dimensionsOnActivate);\n this.state.touchable.positionOnActivate = Position.getPooled(globalX, globalY);\n // $FlowFixMe\n this.state.touchable.dimensionsOnActivate = BoundingDimensions.getPooled(w, h);\n },\n _handleDelay: function _handleDelay(e) {\n this.touchableDelayTimeout = null;\n this._receiveSignal(Signals.DELAY, e);\n },\n _handleLongDelay: function _handleLongDelay(e) {\n this.longPressDelayTimeout = null;\n var curState = this.state.touchable.touchState;\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 * 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 if (!responderID && signal === Signals.RESPONDER_RELEASE) {\n return;\n }\n if (!nextState) {\n throw new Error('Unrecognized signal `' + signal + '` or state `' + curState + '` for Touchable responder `' + responderID + '`');\n }\n if (nextState === States.ERROR) {\n throw new Error('Touchable cannot transition from `' + curState + '` to `' + signal + '` for responder `' + responderID + '`');\n }\n if (curState !== nextState) {\n this._performSideEffectsForTransition(curState, nextState, signal, e);\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 * 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 var newIsHighlight = this._isHighlight(nextState);\n var isFinalSignal = signal === Signals.RESPONDER_TERMINATED || signal === Signals.RESPONDER_RELEASE;\n if (isFinalSignal) {\n this._cancelLongPressDelayTimeout();\n }\n var isInitialTransition = curState === States.NOT_RESPONDER && nextState === States.RESPONDER_INACTIVE_PRESS_IN;\n var isActiveTransition = !IsActive[curState] && IsActive[nextState];\n if (isInitialTransition || isActiveTransition) {\n this._remeasureMetricsOnActivation();\n }\n if (IsPressingIn[curState] && signal === Signals.LONG_PRESS_DETECTED) {\n this.touchableHandleLongPress && this.touchableHandleLongPress(e);\n }\n if (newIsHighlight && !curIsHighlight) {\n this._startHighlight(e);\n } else if (!newIsHighlight && curIsHighlight) {\n this._endHighlight(e);\n }\n if (IsPressingIn[curState] && signal === Signals.RESPONDER_RELEASE) {\n var hasLongPressHandler = !!this.props.onLongPress;\n var pressIsLongButStillCallOnPress = IsLongPressingIn[curState] && (\n // 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 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 this._endHighlight(e);\n }\n this.touchableHandlePress(e);\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 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 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 e.stopPropagation();\n // prevent the default behaviour unless the Touchable functions as a link\n // and Enter is pressed\n if (!(key === 'Enter' && AccessibilityUtil.propsToAriaRole(this.props) === 'link')) {\n e.preventDefault();\n }\n }\n },\n withoutDefaultFocusAndBlur: {}\n};\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 */\nvar touchableHandleFocus = TouchableMixin.touchableHandleFocus,\n touchableHandleBlur = TouchableMixin.touchableHandleBlur,\n TouchableMixinWithoutDefaultFocusAndBlur = _objectWithoutPropertiesLoose(TouchableMixin, [\"touchableHandleFocus\", \"touchableHandleBlur\"]);\nTouchableMixin.withoutDefaultFocusAndBlur = TouchableMixinWithoutDefaultFocusAndBlur;\nvar Touchable = {\n Mixin: TouchableMixin,\n TOUCH_TARGET_DEBUG: false,\n // Highlights all touchable targets. Toggle with Inspector.\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 if (!Touchable.TOUCH_TARGET_DEBUG) {\n return null;\n }\n if (process.env.NODE_ENV !== 'production') {\n throw Error('Touchable.TOUCH_TARGET_DEBUG should not be enabled in prod!');\n }\n var debugHitSlopStyle = {};\n hitSlop = hitSlop || {\n top: 0,\n bottom: 0,\n left: 0,\n right: 0\n };\n for (var key in hitSlop) {\n debugHitSlopStyle[key] = -hitSlop[key];\n }\n var normalizedColor = normalizeColor(color);\n if (typeof normalizedColor !== 'number') {\n return null;\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) 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\nimport View from '../../exports/View';\nimport React from 'react';\n\n/**\n * Common implementation for a simple stubbed view.\n */\nclass UnimplementedView extends React.Component {\n render() {\n return /*#__PURE__*/React.createElement(View, {\n style: [unimplementedViewStyles, this.props.style]\n }, this.props.children);\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) 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\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 */\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 */\n\nimport React from 'react';\nimport UnimplementedView from '../../modules/UnimplementedView';\nfunction YellowBox(props) {\n return /*#__PURE__*/React.createElement(UnimplementedView, props);\n}\nYellowBox.ignoreWarnings = () => {};\nexport default YellowBox;","/**\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 */\n\nvar LogBox = {\n ignoreLogs() {},\n ignoreAllLogs() {},\n uninstall() {},\n install() {}\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 */\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 React.useEffect(() => {\n function listener(appearance) {\n setColorScheme(appearance.colorScheme);\n }\n var _Appearance$addChange = Appearance.addChangeListener(listener),\n remove = _Appearance$addChange.remove;\n return remove;\n });\n return colorScheme;\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\nimport { useLocaleContext } from '../../modules/useLocale';\nexport default useLocaleContext;","/**\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\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};\nvar propsToAriaRole = _ref => {\n var accessibilityRole = _ref.accessibilityRole,\n role = _ref.role;\n var _role = role || accessibilityRole;\n if (_role) {\n var inferredRole = accessibilityRoleToWebRole[_role];\n if (inferredRole !== null) {\n // ignore roles that don't map to web\n return inferredRole || _role;\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 */\n\nimport propsToAriaRole from './propsToAriaRole';\nvar roleComponents = {\n article: 'article',\n banner: 'header',\n blockquote: 'blockquote',\n button: 'button',\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 paragraph: 'p',\n region: 'section',\n strong: 'strong'\n};\nvar emptyObject = {};\nvar propsToAccessibilityComponent = function propsToAccessibilityComponent(props) {\n if (props === void 0) {\n props = emptyObject;\n }\n var roleProp = props.role || props.accessibilityRole;\n // special-case for \"label\" role which doesn't map to an ARIA role\n if (roleProp === 'label') {\n return 'label';\n }\n var role = propsToAriaRole(props);\n if (role) {\n if (role === 'heading') {\n var level = props.accessibilityLevel || props['aria-level'];\n if (level != null) {\n return \"h\" + level;\n }\n return 'h1';\n }\n return roleComponents[role];\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 */\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 */\n\nvar isDisabled = props => props.disabled || Array.isArray(props.accessibilityStates) && props.accessibilityStates.indexOf('disabled') > -1;\nexport default isDisabled;","/**\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 */\n\nimport UIManager from '../../exports/UIManager';\n\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 */\nvar TextInputState = {\n /**\n * Internal state\n */\n _currentlyFocusedNode: null,\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 return this._currentlyFocusedNode;\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 if (document.activeElement !== textFieldNode) {\n UIManager.focus(textFieldNode);\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 if (document.activeElement === textFieldNode) {\n UIManager.blur(textFieldNode);\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 */\n\nvar canUseDOM = !!(typeof window !== 'undefined' && window.document && window.document.createElement);\nexport default canUseDOM;","/**\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\nimport TextInputState from '../TextInputState';\nvar dismissKeyboard = () => {\n TextInputState.blurTextInput(TextInputState.currentlyFocusedField());\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 */\n\nexport var defaultProps = {\n children: true,\n dataSet: true,\n dir: true,\n id: true,\n ref: true,\n suppressHydrationWarning: true,\n tabIndex: true,\n testID: true,\n // @deprecated\n focusable: true,\n nativeID: true\n};\nexport var accessibilityProps = {\n 'aria-activedescendant': true,\n 'aria-atomic': true,\n 'aria-autocomplete': true,\n 'aria-busy': true,\n 'aria-checked': true,\n 'aria-colcount': true,\n 'aria-colindex': true,\n 'aria-colspan': true,\n 'aria-controls': true,\n 'aria-current': true,\n 'aria-describedby': true,\n 'aria-details': true,\n 'aria-disabled': true,\n 'aria-errormessage': true,\n 'aria-expanded': true,\n 'aria-flowto': true,\n 'aria-haspopup': true,\n 'aria-hidden': true,\n 'aria-invalid': true,\n 'aria-keyshortcuts': true,\n 'aria-label': true,\n 'aria-labelledby': true,\n 'aria-level': true,\n 'aria-live': true,\n 'aria-modal': true,\n 'aria-multiline': true,\n 'aria-multiselectable': true,\n 'aria-orientation': true,\n 'aria-owns': true,\n 'aria-placeholder': true,\n 'aria-posinset': true,\n 'aria-pressed': true,\n 'aria-readonly': true,\n 'aria-required': true,\n role: true,\n 'aria-roledescription': true,\n 'aria-rowcount': true,\n 'aria-rowindex': true,\n 'aria-rowspan': true,\n 'aria-selected': true,\n 'aria-setsize': true,\n 'aria-sort': true,\n 'aria-valuemax': true,\n 'aria-valuemin': true,\n 'aria-valuenow': true,\n 'aria-valuetext': true,\n // @deprecated\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};\nexport var clickProps = {\n onClick: true,\n onAuxClick: true,\n onContextMenu: true,\n onGotPointerCapture: true,\n onLostPointerCapture: true,\n onPointerCancel: true,\n onPointerDown: true,\n onPointerEnter: true,\n onPointerMove: true,\n onPointerLeave: true,\n onPointerOut: true,\n onPointerOver: true,\n onPointerUp: 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 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 */\n\nvar getBoundingClientRect = node => {\n if (node != null) {\n var isElement = node.nodeType === 1; /* Node.ELEMENT_NODE */\n if (isElement && typeof node.getBoundingClientRect === 'function') {\n return node.getBoundingClientRect();\n }\n }\n};\nexport default getBoundingClientRect;","/**\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\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 return function forwardRef(node) {\n args.forEach(ref => {\n if (ref == null) {\n return;\n }\n if (typeof ref === 'function') {\n ref(node);\n return;\n }\n if (typeof ref === 'object') {\n ref.current = node;\n return;\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 */\n\nexport default function pick(obj, list) {\n var nextObj = {};\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 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 */\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;\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 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 return resizeObserver;\n}\nexport default function useElementLayout(ref, onLayout) {\n var observer = getResizeObserver();\n useLayoutEffect(() => {\n var node = ref.current;\n if (node != null) {\n node[DOM_LAYOUT_HANDLER_NAME] = onLayout;\n }\n }, [ref, onLayout]);\n\n // Observing is done in a separate effect to avoid this effect running\n // when 'onLayout' changes.\n useLayoutEffect(() => {\n var node = ref.current;\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 return () => {\n if (node != null && observer != null) {\n observer.unobserve(node);\n }\n };\n }, [ref, observer]);\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 */\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 */\n\nvar rtlScripts = new Set(['Arab', 'Syrc', 'Samr', 'Mand', 'Thaa', 'Mend', 'Nkoo', 'Adlm', 'Rohg', 'Hebr']);\nvar rtlLangs = new Set(['ae',\n// Avestan\n'ar',\n// Arabic\n'arc',\n// Aramaic\n'bcc',\n// Southern Balochi\n'bqi',\n// Bakthiari\n'ckb',\n// Sorani\n'dv',\n// Dhivehi\n'fa', 'far',\n// Persian\n'glk',\n// Gilaki\n'he', 'iw',\n// Hebrew\n'khw',\n// Khowar\n'ks',\n// Kashmiri\n'ku',\n// Kurdish\n'mzn',\n// Mazanderani\n'nqo',\n// N'Ko\n'pnb',\n// Western Punjabi\n'ps',\n// Pashto\n'sd',\n// Sindhi\n'ug',\n// Uyghur\n'ur',\n// Urdu\n'yi' // Yiddish\n]);\n\nvar cache = new Map();\n\n/**\n * Determine the writing direction of a locale\n */\nexport function isLocaleRTL(locale) {\n var cachedRTL = cache.get(locale);\n if (cachedRTL) {\n return cachedRTL;\n }\n var isRTL = false;\n // $FlowFixMe\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 cache.set(locale, isRTL);\n return isRTL;\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\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) 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\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 return React.useMemo(() => mergeRefs(...args),\n // eslint-disable-next-line\n [...args]);\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\nimport UIManager from '../../exports/UIManager';\nimport useStable from '../useStable';\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 */\nexport default function usePlatformMethods(_ref) {\n var pointerEvents = _ref.pointerEvents,\n style = _ref.style;\n // Avoid creating a new ref on every render.\n var ref = useStable(() => hostNode => {\n if (hostNode != null) {\n hostNode.measure = callback => UIManager.measure(hostNode, callback);\n hostNode.measureLayout = (relativeToNode, success, failure) => UIManager.measureLayout(hostNode, relativeToNode, failure, success);\n hostNode.measureInWindow = callback => UIManager.measureInWindow(hostNode, callback);\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\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});\nvar getElementRole = element => element.getAttribute('role');\nvar getElementType = element => element.tagName.toLowerCase();\nvar isActiveSignal = signal => signal === RESPONDER_ACTIVE_PRESS_START || signal === RESPONDER_ACTIVE_LONG_PRESS_START;\nvar isButtonRole = element => getElementRole(element) === 'button';\nvar isPressStartSignal = signal => signal === RESPONDER_INACTIVE_PRESS_START || signal === RESPONDER_ACTIVE_PRESS_START || signal === RESPONDER_ACTIVE_LONG_PRESS_START;\nvar isTerminalSignal = signal => signal === RESPONDER_TERMINATED || signal === RESPONDER_RELEASE;\nvar isValidKeyPress = event => {\n var key = event.key,\n target = event.target;\n var isSpacebar = key === ' ' || key === 'Spacebar';\n var isButtonish = getElementType(target) === 'button' || isButtonRole(target);\n return key === 'Enter' || isSpacebar && isButtonish;\n};\nvar DEFAULT_LONG_PRESS_DELAY_MS = 450; // 500 - 50\nvar DEFAULT_PRESS_DELAY_MS = 50;\n\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 */\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._responderElement = null;\n this.configure(config);\n }\n configure(config) {\n this._config = config;\n }\n\n /**\n * Resets any pending timers. This should be called on unmount.\n */\n reset() {\n this._cancelLongPressDelayTimeout();\n this._cancelPressDelayTimeout();\n this._cancelPressOutDelayTimeout();\n }\n\n /**\n * Returns a set of props to spread into the interactive element.\n */\n getEventHandlers() {\n if (this._eventHandlers == null) {\n this._eventHandlers = this._createEventHandlers();\n }\n return this._eventHandlers;\n }\n _createEventHandlers() {\n var start = (event, shouldDelay) => {\n event.persist();\n this._cancelPressOutDelayTimeout();\n this._longPressDispatched = false;\n this._selectionTerminated = false;\n this._touchState = NOT_RESPONDER;\n this._isPointerTouch = event.nativeEvent.type === 'touchstart';\n this._receiveSignal(RESPONDER_GRANT, event);\n var delayPressStart = normalizeDelay(this._config.delayPressStart, 0, DEFAULT_PRESS_DELAY_MS);\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 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 var end = event => {\n this._receiveSignal(RESPONDER_RELEASE, event);\n };\n var keyupHandler = event => {\n var onPress = this._config.onPress;\n var target = event.target;\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 = getElementType(target);\n var isNativeInteractiveElement = role === 'link' || elementType === 'a' || elementType === 'button' || elementType === 'input' || elementType === 'select' || elementType === 'textarea';\n var isActiveElement = this._responderElement === target;\n if (onPress != null && !isNativeInteractiveElement && isActiveElement) {\n onPress(event);\n }\n this._responderElement = null;\n }\n };\n return {\n onStartShouldSetResponder: event => {\n var disabled = this._config.disabled;\n if (disabled && isButtonRole(event.currentTarget)) {\n event.stopPropagation();\n }\n if (disabled == null) {\n return true;\n }\n return !disabled;\n },\n onKeyDown: event => {\n var disabled = this._config.disabled;\n var key = event.key,\n target = event.target;\n if (!disabled && isValidKeyPress(event)) {\n if (this._touchState === NOT_RESPONDER) {\n start(event, false);\n this._responderElement = target;\n // Listen to 'keyup' on document to account for situations where\n // focus is moved to another element during 'keydown'.\n document.addEventListener('keyup', keyupHandler);\n }\n var isSpacebarKey = key === ' ' || key === 'Spacebar';\n var role = getElementRole(target);\n var isButtonLikeRole = role === 'button' || role === 'menuitem';\n if (isSpacebarKey && isButtonLikeRole && getElementType(target) !== 'button') {\n // Prevent spacebar scrolling the window if using non-native button\n event.preventDefault();\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 var touch = getTouchFromResponderEvent(event);\n if (this._touchActivatePosition != null) {\n var deltaX = this._touchActivatePosition.pageX - touch.pageX;\n var deltaY = this._touchActivatePosition.pageY - touch.pageY;\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 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;\n // If `onLongPress` is provided, don't terminate on `contextmenu` as default\n // behavior will be prevented for non-mouse pointers.\n if (!disabled && onLongPress != null && this._isPointerTouch && event.nativeEvent.type === 'contextmenu') {\n return false;\n }\n if (cancelable == null) {\n return true;\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 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 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 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 /**\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 _receiveSignal(signal, event) {\n var prevState = this._touchState;\n var nextState = null;\n if (Transitions[prevState] != null) {\n nextState = Transitions[prevState][signal];\n }\n if (this._touchState === NOT_RESPONDER && signal === RESPONDER_RELEASE) {\n return;\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 this._touchState = nextState;\n }\n }\n\n /**\n * Performs a transition between touchable states and identify any activations\n * or deactivations (and callback invocations).\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 this._cancelLongPressDelayTimeout();\n }\n if (isPressStartSignal(prevState) && signal === LONG_PRESS_DETECTED) {\n var onLongPress = this._config.onLongPress;\n // Long press is not supported for keyboards because 'click' can be dispatched\n // immediately (and multiple times) after 'keydown'.\n if (onLongPress != null && event.nativeEvent.key == null) {\n onLongPress(event);\n this._longPressDispatched = true;\n }\n }\n var isPrevActive = isActiveSignal(prevState);\n var isNextActive = isActiveSignal(nextState);\n if (!isPrevActive && isNextActive) {\n this._activate(event);\n } else if (isPrevActive && !isNextActive) {\n this._deactivate(event);\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 if (onPress != null) {\n var isPressCanceledByLongPress = _onLongPress != null && prevState === RESPONDER_ACTIVE_LONG_PRESS_START;\n if (!isPressCanceledByLongPress) {\n // If we never activated (due to delays), activate and deactivate now.\n if (!isNextActive && !isPrevActive) {\n this._activate(event);\n this._deactivate(event);\n }\n }\n }\n }\n this._cancelPressDelayTimeout();\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 if (onPressStart != null) {\n onPressStart(event);\n }\n if (onPressChange != null) {\n onPressChange(true);\n }\n }\n _deactivate(event) {\n var _this$_config6 = this._config,\n onPressChange = _this$_config6.onPressChange,\n onPressEnd = _this$_config6.onPressEnd;\n function end() {\n if (onPressEnd != null) {\n onPressEnd(event);\n }\n if (onPressChange != null) {\n onPressChange(false);\n }\n }\n var delayPressEnd = normalizeDelay(this._config.delayPressEnd);\n if (delayPressEnd > 0) {\n this._pressOutDelayTimeout = setTimeout(() => {\n end();\n }, delayPressEnd);\n } else {\n end();\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 _cancelLongPressDelayTimeout() {\n if (this._longPressDelayTimeout != null) {\n clearTimeout(this._longPressDelayTimeout);\n this._longPressDelayTimeout = null;\n }\n }\n _cancelPressDelayTimeout() {\n if (this._pressDelayTimeout != null) {\n clearTimeout(this._pressDelayTimeout);\n this._pressDelayTimeout = null;\n }\n }\n _cancelPressOutDelayTimeout() {\n if (this._pressOutDelayTimeout != null) {\n clearTimeout(this._pressOutDelayTimeout);\n this._pressOutDelayTimeout = null;\n }\n }\n}\nfunction normalizeDelay(delay, min, fallback) {\n if (min === void 0) {\n min = 0;\n }\n if (fallback === void 0) {\n fallback = 0;\n }\n return Math.max(min, delay !== null && delay !== void 0 ? delay : fallback);\n}\nfunction getTouchFromResponderEvent(event) {\n var _event$nativeEvent = event.nativeEvent,\n changedTouches = _event$nativeEvent.changedTouches,\n touches = _event$nativeEvent.touches;\n if (touches != null && touches.length > 0) {\n return touches[0];\n }\n if (changedTouches != null && changedTouches.length > 0) {\n return changedTouches[0];\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\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 if (pressResponderRef.current == null) {\n pressResponderRef.current = new PressResponder(config);\n }\n var pressResponder = pressResponderRef.current;\n\n // Re-configure to use the current node and configuration.\n useEffect(() => {\n pressResponder.configure(config);\n }, [config, pressResponder]);\n\n // 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 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 */\n\nimport getBoundingClientRect from '../../modules/getBoundingClientRect';\nvar emptyFunction = () => {};\nvar emptyObject = {};\nvar emptyArray = [];\n\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 */\nfunction normalizeIdentifier(identifier) {\n return identifier > 20 ? identifier % 20 : identifier;\n}\n\n/**\n * Converts a native DOM event to a ResponderEvent.\n * Mouse events are transformed into fake touch events.\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 function normalizeTouches(touches) {\n return Array.prototype.slice.call(touches).map(touch => {\n return {\n force: touch.force,\n identifier: normalizeIdentifier(touch.identifier),\n get locationX() {\n return locationX(touch.clientX);\n },\n get locationY() {\n return locationY(touch.clientY);\n },\n pageX: touch.pageX,\n pageY: touch.pageY,\n target: touch.target,\n timestamp\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 get locationX() {\n return locationX(clientX);\n },\n get locationY() {\n return locationY(clientY);\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 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 isDefaultPrevented() {\n return domEvent.defaultPrevented;\n },\n isPropagationStopped() {\n return propagationWasStopped;\n },\n isTrusted: domEvent.isTrusted,\n nativeEvent: {\n altKey: false,\n ctrlKey: false,\n metaKey,\n shiftKey,\n changedTouches,\n force,\n identifier,\n get locationX() {\n return locationX(clientX);\n },\n get locationY() {\n return locationY(clientY);\n },\n pageX,\n pageY,\n target: domEvent.target,\n timestamp,\n touches,\n type: domEventType\n },\n persist: emptyFunction,\n preventDefault,\n stopPropagation() {\n propagationWasStopped = true;\n },\n target: domEvent.target,\n timeStamp: timestamp,\n touchHistory: responderTouchHistoryStore.touchHistory\n };\n\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 function locationX(x) {\n rect = rect || getBoundingClientRect(responderEvent.currentTarget);\n if (rect) {\n return x - rect.left;\n }\n }\n function locationY(y) {\n rect = rect || getBoundingClientRect(responderEvent.currentTarget);\n if (rect) {\n return y - rect.top;\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\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\nimport isSelectionValid from '../../modules/isSelectionValid';\nvar keyName = '__reactResponderId';\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}\nfunction composedPathFallback(target) {\n var path = [];\n while (target != null && target !== document.body) {\n path.push(target);\n target = target.parentNode;\n }\n return path;\n}\n\n/**\n * Retrieve the responderId from a host node\n */\nfunction getResponderId(node) {\n if (node != null) {\n return node[keyName];\n }\n return null;\n}\n\n/**\n * Store the responderId on a host node\n */\nexport function setResponderId(node, id) {\n if (node != null) {\n node[keyName] = id;\n }\n}\n\n/**\n * Filter the event path to contain only the nodes attached to the responder system\n */\nexport function getResponderPaths(domEvent) {\n var idPath = [];\n var nodePath = [];\n var eventPath = getEventPath(domEvent);\n for (var i = 0; i < eventPath.length; i++) {\n var node = eventPath[i];\n var id = getResponderId(node);\n if (id != null) {\n idPath.push(id);\n nodePath.push(node);\n }\n }\n return {\n idPath,\n nodePath\n };\n}\n\n/**\n * Walk the paths and find the first common ancestor\n */\nexport function getLowestCommonAncestor(pathA, pathB) {\n var pathALength = pathA.length;\n var pathBLength = pathB.length;\n if (\n // If either path is empty\n pathALength === 0 || pathBLength === 0 ||\n // 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 var itemA = pathA[0];\n var indexA = 0;\n var itemB = pathB[0];\n var indexB = 0;\n\n // If A is deeper, skip indices that can't match.\n if (pathALength - pathBLength > 0) {\n indexA = pathALength - pathBLength;\n itemA = pathA[indexA];\n pathALength = pathBLength;\n }\n\n // If B is deeper, skip indices that can't match\n if (pathBLength - pathALength > 0) {\n indexB = pathBLength - pathALength;\n itemB = pathB[indexB];\n pathBLength = pathALength;\n }\n\n // Walk in lockstep until a match is found\n var depth = pathALength;\n while (depth--) {\n if (itemA === itemB) {\n return itemA;\n }\n itemA = pathA[indexA++];\n itemB = pathB[indexB++];\n }\n return null;\n}\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 */\nexport function hasTargetTouches(target, touches) {\n if (!touches || touches.length === 0) {\n return false;\n }\n for (var i = 0; i < touches.length; i++) {\n var node = touches[i].target;\n if (node != null) {\n if (target.contains(node)) {\n return true;\n }\n }\n }\n return false;\n}\n\n/**\n * Ignore 'selectionchange' events that don't correspond with a person's intent to\n * select text.\n */\nexport function hasValidSelection(domEvent) {\n if (domEvent.type === 'selectionchange') {\n return isSelectionValid();\n }\n return domEvent.type === 'select';\n}\n\n/**\n * Events are only valid if the primary button was used without specific modifier keys.\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 if (isTouch || isPrimaryMouseDown && noModifiers || isPrimaryMouseMove && noModifiers) {\n return true;\n }\n return false;\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\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) 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\nimport { isStartish, isMoveish, isEndish } from './ResponderEventTypes';\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 */\n\nvar __DEV__ = process.env.NODE_ENV !== 'production';\nvar MAX_TOUCH_BANK = 20;\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/**\n * TODO: Instead of making gestures recompute filtered velocity, we could\n * include a built in velocity computation that can be reused globally.\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}\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}\nfunction getTouchIdentifier(_ref) {\n var identifier = _ref.identifier;\n if (identifier == null) {\n console.error('Touch object is missing identifier.');\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 return identifier;\n}\nfunction recordTouchStart(touch, touchHistory) {\n var identifier = getTouchIdentifier(touch);\n var touchRecord = touchHistory.touchBank[identifier];\n if (touchRecord) {\n resetTouchRecord(touchRecord, touch);\n } else {\n touchHistory.touchBank[identifier] = createTouchRecord(touch);\n }\n touchHistory.mostRecentTimeStamp = timestampForTouch(touch);\n}\nfunction recordTouchMove(touch, touchHistory) {\n var touchRecord = touchHistory.touchBank[getTouchIdentifier(touch)];\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}\nfunction recordTouchEnd(touch, touchHistory) {\n var touchRecord = touchHistory.touchBank[getTouchIdentifier(touch)];\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}\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}\nfunction printTouchBank(touchHistory) {\n var touchBank = touchHistory.touchBank;\n var printed = JSON.stringify(touchBank.slice(0, MAX_TOUCH_BANK));\n if (touchBank.length > MAX_TOUCH_BANK) {\n printed += ' (original size: ' + touchBank.length + ')';\n }\n return printed;\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 recordTouchTrack(topLevelType, nativeEvent) {\n var touchHistory = this._touchHistory;\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 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 if (touchHistory.numberActiveTouches === 1) {\n var touchBank = touchHistory.touchBank;\n for (var i = 0; i < touchBank.length; i++) {\n var touchTrackToCheck = touchBank[i];\n if (touchTrackToCheck != null && touchTrackToCheck.touchActive) {\n touchHistory.indexOfSingleActiveTouch = i;\n break;\n }\n }\n if (__DEV__) {\n var activeRecord = touchBank[touchHistory.indexOfSingleActiveTouch];\n if (!(activeRecord != null && activeRecord.touchActive)) {\n console.error('Cannot find single active touch.');\n }\n }\n }\n }\n }\n get touchHistory() {\n return this._touchHistory;\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\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 + + */\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\n/* ------------ TYPES ------------ */\n\nvar emptyObject = {};\n\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();\nfunction changeCurrentResponder(responder) {\n currentResponder = responder;\n}\nfunction getResponderConfig(id) {\n var config = responderListenersMap.get(id);\n return config != null ? config : emptyObject;\n}\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 */\nfunction eventListener(domEvent) {\n var eventType = domEvent.type;\n var eventTarget = domEvent.target;\n\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\n // Flag when browser may produce emulated events\n if (eventType === 'touchstart') {\n isEmulatingMouseEvents = true;\n }\n // Remove flag when browser will not produce emulated events\n if (eventType === 'touchmove' || trackedTouchCount > 1) {\n isEmulatingMouseEvents = false;\n }\n // Ignore various events in particular circumstances\n if (\n // Ignore browser emulated mouse events\n eventType === 'mousedown' && isEmulatingMouseEvents || eventType === 'mousemove' && isEmulatingMouseEvents ||\n // Ignore mousemove if a mousedown didn't occur first\n eventType === 'mousemove' && trackedTouchCount < 1) {\n return;\n }\n // Remove flag after emulated events are finished\n if (isEmulatingMouseEvents && eventType === 'mouseup') {\n if (trackedTouchCount === 0) {\n isEmulatingMouseEvents = false;\n }\n return;\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 /**\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 responderTouchHistoryStore.recordTouchTrack(eventType, responderEvent.nativeEvent);\n }\n\n /**\n * Responder System logic\n */\n\n var eventPaths = getResponderPaths(domEvent);\n var wasNegotiated = false;\n var wantsResponder;\n\n // If an event occured that might change the current responder...\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 if (currentResponderIdPath != null && eventIdPath != null) {\n var lowestCommonAncestor = getLowestCommonAncestor(currentResponderIdPath, eventIdPath);\n if (lowestCommonAncestor != null) {\n var indexOfLowestCommonAncestor = eventIdPath.indexOf(lowestCommonAncestor);\n // Skip the current responder so it doesn't receive unexpected \"shouldSet\" events.\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 if (eventPaths != null) {\n // If a node wants to become the responder, attempt to transfer.\n wantsResponder = findWantsResponder(eventPaths, domEvent, responderEvent);\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 }\n\n // If there is now a responder, invoke its callbacks for the lifecycle of the gesture.\n if (currentResponder.id != null && currentResponder.node != null) {\n var _currentResponder = currentResponder,\n id = _currentResponder.id,\n node = _currentResponder.node;\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 responderEvent.bubbles = false;\n responderEvent.cancelable = false;\n responderEvent.currentTarget = node;\n\n // Start\n if (isStartEvent) {\n if (onResponderStart != null) {\n responderEvent.dispatchConfig.registrationName = 'onResponderStart';\n onResponderStart(responderEvent);\n }\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) ||\n // native context menu\n eventType === 'contextmenu' ||\n // window blur\n eventType === 'blur' && eventTarget === window ||\n // responder (or ancestors) blur\n eventType === 'blur' && eventTarget.contains(node) && domEvent.relatedTarget !== node ||\n // native scroll without using a pointer\n isScrollEvent && trackedTouchCount === 0 ||\n // native scroll on node that is parent of the responder (allow siblings to scroll)\n isScrollEvent && eventTarget.contains(node) && eventTarget !== node ||\n // native select/selectionchange on node\n isSelectionChangeEvent && hasValidSelection(domEvent);\n var isReleaseEvent = isEndEvent && !isTerminateEvent && !hasTargetTouches(node, domEvent.touches);\n\n // End\n if (isEndEvent) {\n if (onResponderEnd != null) {\n responderEvent.dispatchConfig.registrationName = 'onResponderEnd';\n onResponderEnd(responderEvent);\n }\n }\n // Release\n if (isReleaseEvent) {\n if (onResponderRelease != null) {\n responderEvent.dispatchConfig.registrationName = 'onResponderRelease';\n onResponderRelease(responderEvent);\n }\n changeCurrentResponder(emptyResponder);\n }\n // Terminate\n if (isTerminateEvent) {\n var shouldTerminate = true;\n\n // Responders can still avoid termination but only for these events.\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 if (onResponderTerminationRequest(responderEvent) === false) {\n shouldTerminate = false;\n }\n }\n }\n if (shouldTerminate) {\n if (onResponderTerminate != null) {\n responderEvent.dispatchConfig.registrationName = 'onResponderTerminate';\n onResponderTerminate(responderEvent);\n }\n changeCurrentResponder(emptyResponder);\n isEmulatingMouseEvents = false;\n trackedTouchCount = 0;\n }\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 */\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 var check = function check(id, node, callbackName) {\n var config = getResponderConfig(id);\n var shouldSetCallback = config[callbackName];\n if (shouldSetCallback != null) {\n responderEvent.currentTarget = node;\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 };\n\n // capture\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 if (result != null) {\n return result;\n }\n if (responderEvent.isPropagationStopped() === true) {\n return;\n }\n }\n\n // bubble\n if (bubbles) {\n for (var _i = 0; _i < idPath.length; _i++) {\n var _id = idPath[_i];\n var _node = nodePath[_i];\n var _result = check(_id, _node, shouldSetCallbackBubbleName);\n if (_result != null) {\n return _result;\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 if (target === _node2) {\n return check(_id2, _node2, shouldSetCallbackBubbleName);\n }\n }\n }\n}\n\n/**\n * Attempt to transfer the responder.\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 var _getResponderConfig2 = getResponderConfig(id),\n onResponderGrant = _getResponderConfig2.onResponderGrant,\n onResponderReject = _getResponderConfig2.onResponderReject;\n responderEvent.bubbles = false;\n responderEvent.cancelable = false;\n responderEvent.currentTarget = node;\n\n // Set responder\n if (currentId == null) {\n if (onResponderGrant != null) {\n responderEvent.currentTarget = node;\n responderEvent.dispatchConfig.registrationName = 'onResponderGrant';\n onResponderGrant(responderEvent);\n }\n changeCurrentResponder(wantsResponder);\n }\n // Negotiate with current responder\n else {\n var _getResponderConfig3 = getResponderConfig(currentId),\n onResponderTerminate = _getResponderConfig3.onResponderTerminate,\n onResponderTerminationRequest = _getResponderConfig3.onResponderTerminationRequest;\n var allowTransfer = true;\n if (onResponderTerminationRequest != null) {\n responderEvent.currentTarget = currentNode;\n responderEvent.dispatchConfig.registrationName = 'onResponderTerminationRequest';\n if (onResponderTerminationRequest(responderEvent) === false) {\n allowTransfer = false;\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 }\n // Grant next responder\n if (onResponderGrant != null) {\n responderEvent.currentTarget = node;\n responderEvent.dispatchConfig.registrationName = 'onResponderGrant';\n onResponderGrant(responderEvent);\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\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 */\nvar documentEventsCapturePhase = ['blur', 'scroll'];\nvar documentEventsBubblePhase = [\n// mouse\n'mousedown', 'mousemove', 'mouseup', 'dragstart',\n// touch\n'touchstart', 'touchmove', 'touchend', 'touchcancel',\n// 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/**\n * Register a node with the ResponderSystem.\n */\nexport function addNode(id, node, config) {\n setResponderId(node, id);\n responderListenersMap.set(id, config);\n}\n\n/**\n * Unregister a node with the ResponderSystem.\n */\nexport function removeNode(id) {\n if (currentResponder.id === id) {\n terminateResponder();\n }\n if (responderListenersMap.has(id)) {\n responderListenersMap.delete(id);\n }\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 */\nexport function terminateResponder() {\n var _currentResponder3 = currentResponder,\n id = _currentResponder3.id,\n node = _currentResponder3.node;\n if (id != null && node != null) {\n var _getResponderConfig4 = getResponderConfig(id),\n onResponderTerminate = _getResponderConfig4.onResponderTerminate;\n if (onResponderTerminate != null) {\n var event = createResponderEvent({}, responderTouchHistoryStore);\n event.currentTarget = node;\n onResponderTerminate(event);\n }\n changeCurrentResponder(emptyResponder);\n }\n isEmulatingMouseEvents = false;\n trackedTouchCount = 0;\n}\n\n/**\n * Allow unit tests to inspect the current responder in the system.\n * FOR TESTING ONLY.\n */\nexport function getResponderNode() {\n return currentResponder.node;\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 */\n\nimport * as React from 'react';\nimport * as ResponderSystem from './ResponderSystem';\nvar emptyObject = {};\nvar idCounter = 0;\nfunction useStable(getInitialValue) {\n var ref = React.useRef(null);\n if (ref.current == null) {\n ref.current = getInitialValue();\n }\n return ref.current;\n}\nexport default function useResponderEvents(hostRef, config) {\n if (config === void 0) {\n config = emptyObject;\n }\n var id = useStable(() => idCounter++);\n var isAttachedRef = React.useRef(false);\n\n // 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 React.useEffect(() => {\n ResponderSystem.attachListeners();\n return () => {\n ResponderSystem.removeNode(id);\n };\n }, [id]);\n\n // Register and unregister with the Responder System as necessary\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 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) 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\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 if (ref.current === UNINITIALIZED) {\n ref.current = getInitialValue();\n }\n // $FlowFixMe (#64650789) Trouble refining types where `Symbol` is concerned.\n return ref.current;\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 */\n\nvar warnedKeys = {};\n\n/**\n * A simple function that prints a warning message once per session.\n *\n * @param {string} key - The key used to ensure the message is printed once.\n * This should be unique to the callsite.\n * @param {string} message - The message to print\n */\nexport function warnOnce(key, message) {\n if (process.env.NODE_ENV !== 'production') {\n if (warnedKeys[key]) {\n return;\n }\n console.warn(message);\n warnedKeys[key] = true;\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\n'use strict';\n\nimport Platform from '../../../exports/Platform';\nimport RCTDeviceEventEmitter from './RCTDeviceEventEmitter';\nimport invariant from 'fbjs/lib/invariant';\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 addListener(eventType, listener, context) {\n var _this$_nativeModule;\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 (_this$_nativeModule2 = this._nativeModule) == null ? void 0 : _this$_nativeModule2.removeListeners(1);\n // $FlowFixMe[incompatible-use]\n subscription.remove();\n subscription = null;\n }\n }\n };\n }\n\n /**\n * @deprecated Use `remove` on the EventSubscription from `addListener`.\n */\n removeListener(eventType, listener) {\n var _this$_nativeModule3;\n (_this$_nativeModule3 = this._nativeModule) == null ? void 0 : _this$_nativeModule3.removeListeners(1);\n // NOTE: This will report a deprecation notice via `console.error`.\n // $FlowFixMe[prop-missing] - `removeListener` exists but is deprecated.\n RCTDeviceEventEmitter.removeListener(eventType, listener);\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 // Generally, `RCTDeviceEventEmitter` is directly invoked. But this is\n // included for completeness.\n RCTDeviceEventEmitter.emit(eventType, ...args);\n }\n removeAllListeners(eventType) {\n var _this$_nativeModule4;\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 listenerCount(eventType) {\n return RCTDeviceEventEmitter.listenerCount(eventType);\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\nimport EventEmitter from '../vendor/emitter/EventEmitter';\n\n// 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\n'use strict';\n\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 */\nexport function elementsThatOverlapOffsets(offsets, props, getFrameMetrics, zoomScale) {\n if (zoomScale === void 0) {\n zoomScale = 1;\n }\n var itemCount = props.getItemCount(props.data);\n var result = [];\n for (var offsetIndex = 0; offsetIndex < offsets.length; offsetIndex++) {\n var currentOffset = offsets[offsetIndex];\n var left = 0;\n var right = itemCount - 1;\n while (left <= right) {\n // eslint-disable-next-line no-bitwise\n var mid = left + (right - left >>> 1);\n var frame = getFrameMetrics(mid, props);\n var scaledOffsetStart = frame.offset * zoomScale;\n var scaledOffsetEnd = (frame.offset + frame.length) * zoomScale;\n\n // We want the first frame that contains the offset, with inclusive bounds. Thus, for the\n // first frame the scaledOffsetStart is inclusive, while for other frames it is exclusive.\n if (mid === 0 && currentOffset < scaledOffsetStart || mid !== 0 && currentOffset <= scaledOffsetStart) {\n right = mid - 1;\n } else if (currentOffset > scaledOffsetEnd) {\n left = mid + 1;\n } else {\n result[offsetIndex] = mid;\n break;\n }\n }\n }\n return result;\n}\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 */\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/**\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 */\nexport function computeWindowedRenderLimits(props, maxToRenderPerBatch, windowSize, prev, getFrameMetricsApprox, scrollMetrics) {\n var itemCount = props.getItemCount(props.data);\n if (itemCount === 0) {\n return {\n first: 0,\n last: -1\n };\n }\n var offset = scrollMetrics.offset,\n velocity = scrollMetrics.velocity,\n visibleLength = scrollMetrics.visibleLength,\n _scrollMetrics$zoomSc = scrollMetrics.zoomScale,\n zoomScale = _scrollMetrics$zoomSc === void 0 ? 1 : _scrollMetrics$zoomSc;\n\n // 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 var visibleBegin = Math.max(0, offset);\n var visibleEnd = visibleBegin + visibleLength;\n var overscanLength = (windowSize - 1) * visibleLength;\n\n // Considering velocity seems to introduce more churn than it's worth.\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, props).offset * zoomScale;\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 }\n\n // Find the indices that correspond to the items at the render boundaries we're targeting.\n var _elementsThatOverlapO = elementsThatOverlapOffsets([overscanBegin, visibleBegin, visibleEnd, overscanEnd], props, getFrameMetricsApprox, zoomScale),\n overscanFirst = _elementsThatOverlapO[0],\n first = _elementsThatOverlapO[1],\n last = _elementsThatOverlapO[2],\n overscanLast = _elementsThatOverlapO[3];\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 };\n\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 var newCellCount = newRangeCount(prev, visible);\n while (true) {\n if (first <= overscanFirst && last >= overscanLast) {\n // If we fill the entire overscan range, we're done.\n break;\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 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 if (firstShouldIncrement && !(fillPreference === 'after' && lastShouldIncrement && lastWillAddMore)) {\n if (firstWillAddMore) {\n newCellCount++;\n }\n first--;\n }\n if (lastShouldIncrement && !(fillPreference === 'before' && firstShouldIncrement && firstWillAddMore)) {\n if (lastWillAddMore) {\n newCellCount++;\n }\n last++;\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 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 if (typeof item === 'object' && (item == null ? void 0 : item.id) != null) {\n return item.id;\n }\n return String(index);\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\n'use strict';\n\nimport InteractionManager from '../../../exports/InteractionManager';\n\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 */\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 dispose(options) {\n if (options === void 0) {\n options = {\n abort: false\n };\n }\n if (this._taskHandle) {\n this._taskHandle.cancel();\n if (!options.abort) {\n this._callback();\n }\n this._taskHandle = null;\n }\n }\n schedule() {\n if (this._taskHandle) {\n return;\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 this._callback();\n });\n }, this._delay);\n this._taskHandle = {\n cancel: () => clearTimeout(timeoutHandle)\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 * @format\n * \n */\n\n'use strict';\n\nfunction clamp(min, value, max) {\n if (value < min) {\n return min;\n }\n if (value > max) {\n return max;\n }\n return value;\n}\nexport default clamp;","/**\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\n'use strict';\n\n/**\n * Intentional info-level logging for clear separation from ad-hoc console debug logging.\n */\nfunction infoLog() {\n return console.log(...arguments);\n}\nexport default infoLog;","import _objectSpread from \"@babel/runtime/helpers/objectSpread2\";\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\nimport invariant from 'fbjs/lib/invariant';\nexport class CellRenderMask {\n constructor(numCells) {\n invariant(numCells >= 0, 'CellRenderMask must contain a non-negative number os cells');\n this._numCells = numCells;\n if (numCells === 0) {\n this._regions = [];\n } else {\n this._regions = [{\n first: 0,\n last: numCells - 1,\n isSpacer: true\n }];\n }\n }\n enumerateRegions() {\n return this._regions;\n }\n addCells(cells) {\n invariant(cells.first >= 0 && cells.first < this._numCells && cells.last >= -1 && cells.last < this._numCells && cells.last >= cells.first - 1, 'CellRenderMask.addCells called with invalid cell range');\n\n // VirtualizedList uses inclusive ranges, where zero-count states are\n // possible. E.g. [0, -1] for no cells, starting at 0.\n if (cells.last < cells.first) {\n return;\n }\n var _this$_findRegion = this._findRegion(cells.first),\n firstIntersect = _this$_findRegion[0],\n firstIntersectIdx = _this$_findRegion[1];\n var _this$_findRegion2 = this._findRegion(cells.last),\n lastIntersect = _this$_findRegion2[0],\n lastIntersectIdx = _this$_findRegion2[1];\n\n // Fast-path if the cells to add are already all present in the mask. We\n // will otherwise need to do some mutation.\n if (firstIntersectIdx === lastIntersectIdx && !firstIntersect.isSpacer) {\n return;\n }\n\n // We need to replace the existing covered regions with 1-3 new regions\n // depending whether we need to split spacers out of overlapping regions.\n var newLeadRegion = [];\n var newTailRegion = [];\n var newMainRegion = _objectSpread(_objectSpread({}, cells), {}, {\n isSpacer: false\n });\n if (firstIntersect.first < newMainRegion.first) {\n if (firstIntersect.isSpacer) {\n newLeadRegion.push({\n first: firstIntersect.first,\n last: newMainRegion.first - 1,\n isSpacer: true\n });\n } else {\n newMainRegion.first = firstIntersect.first;\n }\n }\n if (lastIntersect.last > newMainRegion.last) {\n if (lastIntersect.isSpacer) {\n newTailRegion.push({\n first: newMainRegion.last + 1,\n last: lastIntersect.last,\n isSpacer: true\n });\n } else {\n newMainRegion.last = lastIntersect.last;\n }\n }\n var replacementRegions = [...newLeadRegion, newMainRegion, ...newTailRegion];\n var numRegionsToDelete = lastIntersectIdx - firstIntersectIdx + 1;\n this._regions.splice(firstIntersectIdx, numRegionsToDelete, ...replacementRegions);\n }\n numCells() {\n return this._numCells;\n }\n equals(other) {\n return this._numCells === other._numCells && this._regions.length === other._regions.length && this._regions.every((region, i) => region.first === other._regions[i].first && region.last === other._regions[i].last && region.isSpacer === other._regions[i].isSpacer);\n }\n _findRegion(cellIdx) {\n var firstIdx = 0;\n var lastIdx = this._regions.length - 1;\n while (firstIdx <= lastIdx) {\n var middleIdx = Math.floor((firstIdx + lastIdx) / 2);\n var middleRegion = this._regions[middleIdx];\n if (cellIdx >= middleRegion.first && cellIdx <= middleRegion.last) {\n return [middleRegion, middleIdx];\n } else if (cellIdx < middleRegion.first) {\n lastIdx = middleIdx - 1;\n } else if (cellIdx > middleRegion.last) {\n firstIdx = middleIdx + 1;\n }\n }\n invariant(false, \"A region was not found containing cellIdx \" + cellIdx);\n }\n}","import _createForOfIteratorHelperLoose from \"@babel/runtime/helpers/createForOfIteratorHelperLoose\";\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\nimport invariant from 'fbjs/lib/invariant';\nexport default class ChildListCollection {\n constructor() {\n this._cellKeyToChildren = new Map();\n this._childrenToCellKey = new Map();\n }\n add(list, cellKey) {\n var _this$_cellKeyToChild;\n invariant(!this._childrenToCellKey.has(list), 'Trying to add already present child list');\n var cellLists = (_this$_cellKeyToChild = this._cellKeyToChildren.get(cellKey)) !== null && _this$_cellKeyToChild !== void 0 ? _this$_cellKeyToChild : new Set();\n cellLists.add(list);\n this._cellKeyToChildren.set(cellKey, cellLists);\n this._childrenToCellKey.set(list, cellKey);\n }\n remove(list) {\n var cellKey = this._childrenToCellKey.get(list);\n invariant(cellKey != null, 'Trying to remove non-present child list');\n this._childrenToCellKey.delete(list);\n var cellLists = this._cellKeyToChildren.get(cellKey);\n invariant(cellLists, '_cellKeyToChildren should contain cellKey');\n cellLists.delete(list);\n if (cellLists.size === 0) {\n this._cellKeyToChildren.delete(cellKey);\n }\n }\n forEach(fn) {\n for (var _iterator = _createForOfIteratorHelperLoose(this._cellKeyToChildren.values()), _step; !(_step = _iterator()).done;) {\n var listSet = _step.value;\n for (var _iterator2 = _createForOfIteratorHelperLoose(listSet), _step2; !(_step2 = _iterator2()).done;) {\n var list = _step2.value;\n fn(list);\n }\n }\n }\n forEachInCell(cellKey, fn) {\n var _this$_cellKeyToChild2;\n var listSet = (_this$_cellKeyToChild2 = this._cellKeyToChildren.get(cellKey)) !== null && _this$_cellKeyToChild2 !== void 0 ? _this$_cellKeyToChild2 : [];\n for (var _iterator3 = _createForOfIteratorHelperLoose(listSet), _step3; !(_step3 = _iterator3()).done;) {\n var list = _step3.value;\n fn(list);\n }\n }\n anyInCell(cellKey, fn) {\n var _this$_cellKeyToChild3;\n var listSet = (_this$_cellKeyToChild3 = this._cellKeyToChildren.get(cellKey)) !== null && _this$_cellKeyToChild3 !== void 0 ? _this$_cellKeyToChild3 : [];\n for (var _iterator4 = _createForOfIteratorHelperLoose(listSet), _step4; !(_step4 = _iterator4()).done;) {\n var list = _step4.value;\n if (fn(list)) {\n return true;\n }\n }\n return false;\n }\n size() {\n return this._childrenToCellKey.size;\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\n'use strict';\n\nimport _objectSpread from \"@babel/runtime/helpers/objectSpread2\";\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}\nvar DEBUG = false;\nvar _listeners = [];\nvar _minSampleCount = 10;\nvar _sampleRate = DEBUG ? 1 : null;\n\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 */\nclass FillRateHelper {\n static addListener(callback) {\n if (_sampleRate === null) {\n console.warn('Call `FillRateHelper.setSampleRate` before `addListener`.');\n }\n _listeners.push(callback);\n return {\n remove: () => {\n _listeners = _listeners.filter(listener => callback !== listener);\n }\n };\n }\n static setSampleRate(sampleRate) {\n _sampleRate = sampleRate;\n }\n static setMinSampleCount(minSampleCount) {\n _minSampleCount = minSampleCount;\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 this._resetData();\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 deactivateAndFlush() {\n if (!this._enabled) {\n return;\n }\n var start = this._samplesStartTime; // const for flow\n if (start == null) {\n DEBUG && console.debug('FillRateHelper: bail on deactivate with no start time');\n return;\n }\n if (this._info.sample_count < _minSampleCount) {\n // Don't bother with under-sampled events.\n this._resetData();\n return;\n }\n var total_time_spent = global.performance.now() - start;\n var info = _objectSpread(_objectSpread({}, this._info), {}, {\n total_time_spent\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 for (var key in derived) {\n // $FlowFixMe[prop-missing]\n derived[key] = Math.round(1000 * derived[key]) / 1000;\n }\n console.debug('FillRateHelper deactivateAndFlush: ', {\n derived,\n info\n });\n }\n _listeners.forEach(listener => listener(info));\n this._resetData();\n }\n computeBlankness(props, cellsAroundViewport, scrollMetrics) {\n if (!this._enabled || props.getItemCount(props.data) === 0 || cellsAroundViewport.last < cellsAroundViewport.first || this._samplesStartTime == null) {\n return 0;\n }\n var dOffset = scrollMetrics.dOffset,\n offset = scrollMetrics.offset,\n velocity = scrollMetrics.velocity,\n visibleLength = scrollMetrics.visibleLength;\n\n // Denominator metrics that we track for all events - most of the time there is no blankness and\n // we want to capture that.\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\n // Whether blank now or not, record the elapsed time blank if we were blank last time.\n var now = global.performance.now();\n if (this._anyBlankStartTime != null) {\n this._info.any_blank_ms += now - this._anyBlankStartTime;\n }\n this._anyBlankStartTime = null;\n if (this._mostlyBlankStartTime != null) {\n this._info.mostly_blank_ms += now - this._mostlyBlankStartTime;\n }\n this._mostlyBlankStartTime = null;\n var blankTop = 0;\n var first = cellsAroundViewport.first;\n var firstFrame = this._getFrameMetrics(first, props);\n while (first <= cellsAroundViewport.last && (!firstFrame || !firstFrame.inLayout)) {\n firstFrame = this._getFrameMetrics(first, props);\n first++;\n }\n // Only count blankTop if we aren't rendering the first item, otherwise we will count the header\n // as blank.\n if (firstFrame && first > 0) {\n blankTop = Math.min(visibleLength, Math.max(0, firstFrame.offset - offset));\n }\n var blankBottom = 0;\n var last = cellsAroundViewport.last;\n var lastFrame = this._getFrameMetrics(last, props);\n while (last >= cellsAroundViewport.first && (!lastFrame || !lastFrame.inLayout)) {\n lastFrame = this._getFrameMetrics(last, props);\n last--;\n }\n // Only count blankBottom if we aren't rendering the last item, otherwise we will count the\n // footer as blank.\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 var pixels_blank = Math.round(blankTop + blankBottom);\n var blankness = pixels_blank / visibleLength;\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 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 return blankness;\n }\n enabled() {\n return this._enabled;\n }\n _resetData() {\n this._anyBlankStartTime = null;\n this._info = new Info();\n this._mostlyBlankStartTime = null;\n this._samplesStartTime = null;\n }\n}\nexport default FillRateHelper;","/**\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\nimport invariant from 'fbjs/lib/invariant';\nimport * as React from 'react';\n\n/**\n * `setState` is called asynchronously, and should not rely on the value of\n * `this.props` or `this.state`:\n * https://reactjs.org/docs/state-and-lifecycle.html#state-updates-may-be-asynchronous\n *\n * SafePureComponent adds runtime enforcement, to catch cases where these\n * variables are read in a state updater function, instead of the ones passed\n * in.\n */\nexport default class StateSafePureComponent extends React.PureComponent {\n constructor(props) {\n super(props);\n this._inAsyncStateUpdate = false;\n this._installSetStateHooks();\n }\n setState(partialState, callback) {\n if (typeof partialState === 'function') {\n super.setState((state, props) => {\n this._inAsyncStateUpdate = true;\n var ret;\n try {\n ret = partialState(state, props);\n } catch (err) {\n throw err;\n } finally {\n this._inAsyncStateUpdate = false;\n }\n return ret;\n }, callback);\n } else {\n super.setState(partialState, callback);\n }\n }\n _installSetStateHooks() {\n var that = this;\n var props = this.props,\n state = this.state;\n Object.defineProperty(this, 'props', {\n get() {\n invariant(!that._inAsyncStateUpdate, '\"this.props\" should not be accessed during state updates');\n return props;\n },\n set(newProps) {\n props = newProps;\n }\n });\n Object.defineProperty(this, 'state', {\n get() {\n invariant(!that._inAsyncStateUpdate, '\"this.state\" should not be acceessed during state updates');\n return state;\n },\n set(newState) {\n state = newState;\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 * \n * @format\n */\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 * 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 this._hasInteracted = false;\n this._timers = new Set();\n this._viewableIndices = [];\n this._viewableItems = new Map();\n this._config = config;\n }\n\n /**\n * Cleanup, e.g. on unmount. Clears any pending timers.\n */\n dispose() {\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 see\n * the error delete this comment and run Flow. */\n this._timers.forEach(clearTimeout);\n }\n\n /**\n * Determines which items are viewable based on the current metrics and config.\n */\n computeViewableItems(props, scrollOffset, viewportHeight, getFrameMetrics,\n // Optional optimization to reduce the scan size\n renderRange) {\n var itemCount = props.getItemCount(props.data);\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 if (itemCount === 0) {\n return viewableIndices;\n }\n var firstVisible = -1;\n var _ref = renderRange || {\n first: 0,\n last: itemCount - 1\n },\n first = _ref.first,\n last = _ref.last;\n if (last >= itemCount) {\n console.warn('Invalid render range computing viewability ' + JSON.stringify({\n renderRange,\n itemCount\n }));\n return [];\n }\n for (var idx = first; idx <= last; idx++) {\n var metrics = getFrameMetrics(idx, props);\n if (!metrics) {\n continue;\n }\n var top = metrics.offset - scrollOffset;\n var bottom = top + metrics.length;\n if (top < viewportHeight && bottom > 0) {\n firstVisible = idx;\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 return viewableIndices;\n }\n\n /**\n * Figures out which items are viewable and how that has changed from before and calls\n * `onViewableItemsChanged` as appropriate.\n */\n onUpdate(props, scrollOffset, viewportHeight, getFrameMetrics, createViewToken, onViewableItemsChanged,\n // Optional optimization to reduce the scan size\n renderRange) {\n var itemCount = props.getItemCount(props.data);\n if (this._config.waitForInteraction && !this._hasInteracted || itemCount === 0 || !getFrameMetrics(0, props)) {\n return;\n }\n var viewableIndices = [];\n if (itemCount) {\n viewableIndices = this.computeViewableItems(props, scrollOffset, viewportHeight, getFrameMetrics, renderRange);\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 this._viewableIndices = viewableIndices;\n if (this._config.minimumViewTime) {\n var handle = setTimeout(() => {\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 this._timers.delete(handle);\n this._onUpdateSync(props, viewableIndices, onViewableItemsChanged, createViewToken);\n }, this._config.minimumViewTime);\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 see\n * the error delete this comment and run Flow. */\n this._timers.add(handle);\n } else {\n this._onUpdateSync(props, viewableIndices, onViewableItemsChanged, createViewToken);\n }\n }\n\n /**\n * clean-up cached _viewableIndices to evaluate changed items on next update\n */\n resetViewableIndices() {\n this._viewableIndices = [];\n }\n\n /**\n * Records that an interaction has happened even if there has been no scroll.\n */\n recordInteraction() {\n this._hasInteracted = true;\n }\n _onUpdateSync(props, viewableIndicesToCheck, onViewableItemsChanged, 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, props);\n return [viewable.key, viewable];\n }));\n var changed = [];\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 if (!prevItems.has(key)) {\n changed.push(viewable);\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 if (!nextItems.has(_key)) {\n changed.push(_objectSpread(_objectSpread({}, _viewable), {}, {\n isViewable: false\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}\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 var percent = 100 * (viewAreaMode ? pixels / viewportHeight : pixels / itemLength);\n return percent >= viewablePercentThreshold;\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}\nfunction _isEntirelyVisible(top, bottom, viewportHeight) {\n return top >= 0 && bottom <= viewportHeight && bottom > top;\n}\nexport default ViewabilityHelper;","import _objectSpread from \"@babel/runtime/helpers/objectSpread2\";\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\nimport * as React from 'react';\nimport { useContext, useMemo } from 'react';\nvar __DEV__ = process.env.NODE_ENV !== 'production';\nexport var VirtualizedListContext = /*#__PURE__*/React.createContext(null);\nif (__DEV__) {\n VirtualizedListContext.displayName = 'VirtualizedListContext';\n}\n\n/**\n * Resets the context. Intended for use by portal-like components (e.g. Modal).\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/**\n * Sets the context with memoization. Intended to be used by `VirtualizedList`.\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 registerAsNestedChild: value.registerAsNestedChild,\n unregisterAsNestedChild: value.unregisterAsNestedChild\n }), [value.getScrollMetrics, value.horizontal, value.getOutermostParentListRef, value.registerAsNestedChild, value.unregisterAsNestedChild]);\n return /*#__PURE__*/React.createElement(VirtualizedListContext.Provider, {\n value: context\n }, children);\n}\n\n/**\n * Sets the `cellKey`. Intended to be used by `VirtualizedList` for each cell.\n */\nexport function VirtualizedListCellContextProvider(_ref3) {\n var cellKey = _ref3.cellKey,\n children = _ref3.children;\n // Avoid setting a newly created context object if the values are identical.\n var currContext = useContext(VirtualizedListContext);\n var context = useMemo(() => currContext == null ? null : _objectSpread(_objectSpread({}, currContext), {}, {\n cellKey\n }), [currContext, cellKey]);\n return /*#__PURE__*/React.createElement(VirtualizedListContext.Provider, {\n value: context\n }, children);\n}","import _extends from \"@babel/runtime/helpers/extends\";\nimport _objectSpread from \"@babel/runtime/helpers/objectSpread2\";\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\nimport View from '../../../exports/View';\nimport StyleSheet from '../../../exports/StyleSheet';\nimport { VirtualizedListCellContextProvider } from './VirtualizedListContext.js';\nimport invariant from 'fbjs/lib/invariant';\nimport * as React from 'react';\nexport default class 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$props = this.props,\n cellKey = _this$props.cellKey,\n prevCellKey = _this$props.prevCellKey;\n this.props.onUpdateSeparators([cellKey, prevCellKey], {\n highlighted: true\n });\n },\n unhighlight: () => {\n var _this$props2 = this.props,\n cellKey = _this$props2.cellKey,\n prevCellKey = _this$props2.prevCellKey;\n this.props.onUpdateSeparators([cellKey, prevCellKey], {\n highlighted: false\n });\n },\n updateProps: (select, newProps) => {\n var _this$props3 = this.props,\n cellKey = _this$props3.cellKey,\n prevCellKey = _this$props3.prevCellKey;\n this.props.onUpdateSeparators([select === 'leading' ? prevCellKey : cellKey], newProps);\n }\n };\n this._onLayout = nativeEvent => {\n this.props.onCellLayout && this.props.onCellLayout(nativeEvent, this.props.cellKey, this.props.index);\n };\n }\n static getDerivedStateFromProps(props, prevState) {\n return {\n separatorProps: _objectSpread(_objectSpread({}, prevState.separatorProps), {}, {\n leadingItem: props.item\n })\n };\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 // $FlowFixMe[missing-local-annot]\n updateSeparatorProps(newProps) {\n this.setState(state => ({\n separatorProps: _objectSpread(_objectSpread({}, state.separatorProps), newProps)\n }));\n }\n componentWillUnmount() {\n this.props.onUnmount(this.props.cellKey);\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 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 /* $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 if (renderItem) {\n return renderItem({\n item,\n index,\n separators: this._separators\n });\n }\n invariant(false, 'VirtualizedList: Either ListItemComponent or renderItem props are required but none were found.');\n }\n render() {\n var _this$props4 = this.props,\n CellRendererComponent = _this$props4.CellRendererComponent,\n ItemSeparatorComponent = _this$props4.ItemSeparatorComponent,\n ListItemComponent = _this$props4.ListItemComponent,\n cellKey = _this$props4.cellKey,\n horizontal = _this$props4.horizontal,\n item = _this$props4.item,\n index = _this$props4.index,\n inversionStyle = _this$props4.inversionStyle,\n onCellFocusCapture = _this$props4.onCellFocusCapture,\n onCellLayout = _this$props4.onCellLayout,\n renderItem = _this$props4.renderItem;\n var element = this._renderElement(renderItem, ListItemComponent, item, index);\n\n // NOTE: that when this is a sticky header, `onLayout` will get automatically extracted and\n // called explicitly by `ScrollViewStickyHeader`.\n var itemSeparator = /*#__PURE__*/React.isValidElement(ItemSeparatorComponent) ?\n // $FlowFixMe[incompatible-type]\n ItemSeparatorComponent :\n // $FlowFixMe[incompatible-type]\n 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 ? /*#__PURE__*/React.createElement(View, _extends({\n style: cellStyle,\n onFocusCapture: onCellFocusCapture\n }, onCellLayout && {\n onLayout: this._onLayout\n }), element, itemSeparator) : /*#__PURE__*/React.createElement(CellRendererComponent, _extends({\n cellKey: cellKey,\n index: index,\n item: item,\n style: cellStyle,\n onFocusCapture: onCellFocusCapture\n }, onCellLayout && {\n onLayout: this._onLayout\n }), element, itemSeparator);\n return /*#__PURE__*/React.createElement(VirtualizedListCellContextProvider, {\n cellKey: this.props.cellKey\n }, result);\n }\n}\nvar styles = StyleSheet.create({\n row: {\n flexDirection: 'row'\n },\n rowReverse: {\n flexDirection: 'row-reverse'\n },\n columnReverse: {\n flexDirection: 'column-reverse'\n }\n});","import _createForOfIteratorHelperLoose from \"@babel/runtime/helpers/createForOfIteratorHelperLoose\";\nimport _extends from \"@babel/runtime/helpers/extends\";\nimport _objectSpread from \"@babel/runtime/helpers/objectSpread2\";\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\nimport RefreshControl from '../../../exports/RefreshControl';\nimport ScrollView from '../../../exports/ScrollView';\nimport View from '../../../exports/View';\nimport StyleSheet from '../../../exports/StyleSheet';\nimport findNodeHandle from '../../../exports/findNodeHandle';\nimport Batchinator from '../Batchinator';\nimport clamp from '../Utilities/clamp';\nimport infoLog from '../infoLog';\nimport { CellRenderMask } from './CellRenderMask';\nimport ChildListCollection from './ChildListCollection';\nimport FillRateHelper from '../FillRateHelper';\nimport StateSafePureComponent from './StateSafePureComponent';\nimport ViewabilityHelper from '../ViewabilityHelper';\nimport CellRenderer from './VirtualizedListCellRenderer';\nimport { VirtualizedListCellContextProvider, VirtualizedListContext, VirtualizedListContextProvider } from './VirtualizedListContext.js';\nimport { computeWindowedRenderLimits, keyExtractor as defaultKeyExtractor } from '../VirtualizeUtils';\nimport invariant from 'fbjs/lib/invariant';\nimport nullthrows from 'nullthrows';\nimport * as React from 'react';\nvar __DEV__ = process.env.NODE_ENV !== 'production';\nvar ON_EDGE_REACHED_EPSILON = 0.001;\nvar _usedIndexForKey = false;\nvar _keylessItemComponentName = '';\n/**\n * Default Props Helper Functions\n * Use the following helper functions for default values\n */ // horizontalOrDefault(this.props.horizontal)\nfunction horizontalOrDefault(horizontal) {\n return horizontal !== null && horizontal !== void 0 ? horizontal : false;\n}\n\n// initialNumToRenderOrDefault(this.props.initialNumToRender)\nfunction initialNumToRenderOrDefault(initialNumToRender) {\n return initialNumToRender !== null && initialNumToRender !== void 0 ? initialNumToRender : 10;\n}\n\n// maxToRenderPerBatchOrDefault(this.props.maxToRenderPerBatch)\nfunction maxToRenderPerBatchOrDefault(maxToRenderPerBatch) {\n return maxToRenderPerBatch !== null && maxToRenderPerBatch !== void 0 ? maxToRenderPerBatch : 10;\n}\n\n// onStartReachedThresholdOrDefault(this.props.onStartReachedThreshold)\nfunction onStartReachedThresholdOrDefault(onStartReachedThreshold) {\n return onStartReachedThreshold !== null && onStartReachedThreshold !== void 0 ? onStartReachedThreshold : 2;\n}\n\n// onEndReachedThresholdOrDefault(this.props.onEndReachedThreshold)\nfunction onEndReachedThresholdOrDefault(onEndReachedThreshold) {\n return onEndReachedThreshold !== null && onEndReachedThreshold !== void 0 ? onEndReachedThreshold : 2;\n}\n\n// getScrollingThreshold(visibleLength, onEndReachedThreshold)\nfunction getScrollingThreshold(threshold, visibleLength) {\n return threshold * visibleLength / 2;\n}\n\n// scrollEventThrottleOrDefault(this.props.scrollEventThrottle)\nfunction scrollEventThrottleOrDefault(scrollEventThrottle) {\n return scrollEventThrottle !== null && scrollEventThrottle !== void 0 ? scrollEventThrottle : 50;\n}\n\n// windowSizeOrDefault(this.props.windowSize)\nfunction windowSizeOrDefault(windowSize) {\n return windowSize !== null && windowSize !== void 0 ? windowSize : 21;\n}\nfunction findLastWhere(arr, predicate) {\n for (var i = arr.length - 1; i >= 0; i--) {\n if (predicate(arr[i])) {\n return arr[i];\n }\n }\n return null;\n}\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 */\nclass VirtualizedList extends StateSafePureComponent {\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 if (veryLast < 0) {\n return;\n }\n var frame = this.__getFrameMetricsApprox(veryLast, this.props);\n var offset = Math.max(0, frame.offset + frame.length + this._footerLength - this._scrollMetrics.visibleLength);\n if (this._scrollRef == null) {\n return;\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 this._scrollRef.scrollTo(horizontalOrDefault(this.props.horizontal) ? {\n x: offset,\n animated\n } : {\n y: offset,\n animated\n });\n }\n\n // scrollToIndex may be janky without getItemLayout prop\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 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 var frame = this.__getFrameMetricsApprox(Math.floor(index), this.props);\n var offset = Math.max(0, this._getOffsetApprox(index, this.props) - (viewPosition || 0) * (this._scrollMetrics.visibleLength - frame.length)) - (viewOffset || 0);\n if (this._scrollRef == null) {\n return;\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 this._scrollRef.scrollTo(horizontal ? {\n x: offset,\n animated\n } : {\n y: offset,\n animated\n });\n }\n\n // scrollToItem may be janky without getItemLayout prop. Required linear scan through items -\n // use scrollToIndex instead if possible.\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 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 /**\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 scrollToOffset(params) {\n var animated = params.animated,\n offset = params.offset;\n if (this._scrollRef == null) {\n return;\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 this._scrollRef.scrollTo(horizontalOrDefault(this.props.horizontal) ? {\n x: offset,\n animated\n } : {\n y: offset,\n animated\n });\n }\n recordInteraction() {\n this._nestedChildLists.forEach(childList => {\n childList.recordInteraction();\n });\n this._viewabilityTuples.forEach(t => {\n t.viewabilityHelper.recordInteraction();\n });\n this._updateViewableItems(this.props, this.state.cellsAroundViewport);\n }\n flashScrollIndicators() {\n if (this._scrollRef == null) {\n return;\n }\n this._scrollRef.flashScrollIndicators();\n }\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 getScrollResponder() {\n if (this._scrollRef && this._scrollRef.getScrollResponder) {\n return this._scrollRef.getScrollResponder();\n }\n }\n getScrollableNode() {\n if (this._scrollRef && this._scrollRef.getScrollableNode) {\n return this._scrollRef.getScrollableNode();\n } else {\n return this._scrollRef;\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 _getCellKey() {\n var _this$context;\n return ((_this$context = this.context) == null ? void 0 : _this$context.cellKey) || 'rootList';\n }\n\n // $FlowFixMe[missing-local-annot]\n\n hasMore() {\n return this._hasMore;\n }\n\n // $FlowFixMe[missing-local-annot]\n\n // REACT-NATIVE-WEB patch to preserve during future RN merges: Support inverted wheel scroller.\n\n constructor(_props) {\n var _this$props$updateCel;\n super(_props);\n this._getScrollMetrics = () => {\n return this._scrollMetrics;\n };\n this._getOutermostParentListRef = () => {\n if (this._isNestedWithSameOrientation()) {\n return this.context.getOutermostParentListRef();\n } else {\n return this;\n }\n };\n this._registerAsNestedChild = childList => {\n this._nestedChildLists.add(childList.ref, childList.cellKey);\n if (this._hasInteracted) {\n childList.ref.recordInteraction();\n }\n };\n this._unregisterAsNestedChild = childList => {\n this._nestedChildLists.remove(childList.ref);\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 this._getSpacerKey = isVertical => isVertical ? 'height' : 'width';\n this._averageCellLength = 0;\n this._cellRefs = {};\n this._frames = {};\n this._footerLength = 0;\n this._hasTriggeredInitialScrollToIndex = 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._lastFocusedCellKey = null;\n this._nestedChildLists = new ChildListCollection();\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 zoomScale: 1\n };\n this._scrollRef = null;\n this._sentStartForContentLength = 0;\n this._sentEndForContentLength = 0;\n this._totalCellLength = 0;\n this._totalCellsMeasured = 0;\n this._viewabilityTuples = [];\n this._captureScrollRef = ref => {\n this._scrollRef = ref;\n };\n this._defaultRenderScrollComponent = props => {\n var onRefresh = props.onRefresh;\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 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 // $FlowFixMe[incompatible-use]\n React.createElement(ScrollView, _extends({}, props, {\n refreshControl: props.refreshControl == null ? /*#__PURE__*/React.createElement(RefreshControl\n // $FlowFixMe[incompatible-type]\n , {\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 // $FlowFixMe[incompatible-use]\n return /*#__PURE__*/React.createElement(ScrollView, props);\n }\n };\n this._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 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 this._scheduleCellsToRenderUpdate();\n } else {\n this._frames[cellKey].inLayout = true;\n }\n this._triggerRemeasureForChildListsInCell(cellKey);\n this._computeBlankness();\n this._updateViewableItems(this.props, this.state.cellsAroundViewport);\n };\n this._onCellUnmount = cellKey => {\n delete this._cellRefs[cellKey];\n var curr = this._frames[cellKey];\n if (curr) {\n this._frames[cellKey] = _objectSpread(_objectSpread({}, curr), {}, {\n inLayout: false\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 this.props.onLayout && this.props.onLayout(e);\n this._scheduleCellsToRenderUpdate();\n this._maybeCallOnEdgeReached();\n };\n this._onLayoutEmpty = e => {\n this.props.onLayout && this.props.onLayout(e);\n };\n this._onLayoutFooter = e => {\n this._triggerRemeasureForChildListsInCell(this._getFooterCellKey());\n this._footerLength = this._selectLength(e.nativeEvent.layout);\n };\n this._onLayoutHeader = e => {\n this._headerLength = this._selectLength(e.nativeEvent.layout);\n };\n this._onContentSizeChange = (width, height) => {\n if (width > 0 && height > 0 && this.props.initialScrollIndex != null && this.props.initialScrollIndex > 0 && !this._hasTriggeredInitialScrollToIndex) {\n if (this.props.contentOffset == null) {\n if (this.props.initialScrollIndex < this.props.getItemCount(this.props.data)) {\n this.scrollToIndex({\n animated: false,\n index: nullthrows(this.props.initialScrollIndex)\n });\n } else {\n this.scrollToEnd({\n animated: false\n });\n }\n }\n this._hasTriggeredInitialScrollToIndex = true;\n }\n if (this.props.onContentSizeChange) {\n this.props.onContentSizeChange(width, height);\n }\n this._scrollMetrics.contentLength = this._selectLength({\n height,\n width\n });\n this._scheduleCellsToRenderUpdate();\n this._maybeCallOnEdgeReached();\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;\n // Child's visible length is the same as its parent's\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 this._onScroll = e => {\n this._nestedChildLists.forEach(childList => {\n childList._onScroll(e);\n });\n if (this.props.onScroll) {\n this.props.onScroll(e);\n }\n var timestamp = e.timeStamp;\n var visibleLength = this._selectLength(e.nativeEvent.layoutMeasurement);\n var contentLength = this._selectLength(e.nativeEvent.contentSize);\n var offset = this._selectOffset(e.nativeEvent.contentOffset);\n var dOffset = offset - this._scrollMetrics.offset;\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 var _this$_convertParentS = this._convertParentScrollMetrics({\n visibleLength,\n offset\n });\n visibleLength = _this$_convertParentS.visibleLength;\n contentLength = _this$_convertParentS.contentLength;\n offset = _this$_convertParentS.offset;\n dOffset = _this$_convertParentS.dOffset;\n }\n var dt = this._scrollMetrics.timestamp ? Math.max(1, timestamp - this._scrollMetrics.timestamp) : 1;\n var velocity = dOffset / dt;\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 // For invalid negative values (w/ RTL), set this to 1.\n var zoomScale = e.nativeEvent.zoomScale < 0 ? 1 : e.nativeEvent.zoomScale;\n this._scrollMetrics = {\n contentLength,\n dt,\n dOffset,\n offset,\n timestamp,\n velocity,\n visibleLength,\n zoomScale\n };\n this._updateViewableItems(this.props, this.state.cellsAroundViewport);\n if (!this.props) {\n return;\n }\n this._maybeCallOnEdgeReached();\n if (velocity !== 0) {\n this._fillRateHelper.activate();\n }\n this._computeBlankness();\n this._scheduleCellsToRenderUpdate();\n };\n this._onScrollBeginDrag = e => {\n this._nestedChildLists.forEach(childList => {\n childList._onScrollBeginDrag(e);\n });\n this._viewabilityTuples.forEach(tuple => {\n tuple.viewabilityHelper.recordInteraction();\n });\n this._hasInteracted = true;\n this.props.onScrollBeginDrag && this.props.onScrollBeginDrag(e);\n };\n this._onScrollEndDrag = e => {\n this._nestedChildLists.forEach(childList => {\n childList._onScrollEndDrag(e);\n });\n var velocity = e.nativeEvent.velocity;\n if (velocity) {\n this._scrollMetrics.velocity = this._selectOffset(velocity);\n }\n this._computeBlankness();\n this.props.onScrollEndDrag && this.props.onScrollEndDrag(e);\n };\n this._onMomentumScrollBegin = e => {\n this._nestedChildLists.forEach(childList => {\n childList._onMomentumScrollBegin(e);\n });\n this.props.onMomentumScrollBegin && this.props.onMomentumScrollBegin(e);\n };\n this._onMomentumScrollEnd = e => {\n this._nestedChildLists.forEach(childList => {\n childList._onMomentumScrollEnd(e);\n });\n this._scrollMetrics.velocity = 0;\n this._computeBlankness();\n this.props.onMomentumScrollEnd && this.props.onMomentumScrollEnd(e);\n };\n this._updateCellsToRender = () => {\n this._updateViewableItems(this.props, this.state.cellsAroundViewport);\n this.setState((state, props) => {\n var cellsAroundViewport = this._adjustCellsAroundViewport(props, state.cellsAroundViewport);\n var renderMask = VirtualizedList._createRenderMask(props, cellsAroundViewport, this._getNonViewportRenderRegions(props));\n if (cellsAroundViewport.first === state.cellsAroundViewport.first && cellsAroundViewport.last === state.cellsAroundViewport.last && renderMask.equals(state.renderMask)) {\n return null;\n }\n return {\n cellsAroundViewport,\n renderMask\n };\n });\n };\n this._createViewToken = (index, isViewable, props\n // $FlowFixMe[missing-local-annot]\n ) => {\n var data = props.data,\n getItem = props.getItem;\n var item = getItem(data, index);\n return {\n index,\n item,\n key: this._keyExtractor(item, index, props),\n isViewable\n };\n };\n this._getOffsetApprox = (index, props) => {\n if (Number.isInteger(index)) {\n return this.__getFrameMetricsApprox(index, props).offset;\n } else {\n var frameMetrics = this.__getFrameMetricsApprox(Math.floor(index), props);\n var remainder = index - Math.floor(index);\n return frameMetrics.offset + remainder * frameMetrics.length;\n }\n };\n this.__getFrameMetricsApprox = (index, props) => {\n var frame = this._getFrameMetrics(index, props);\n if (frame && frame.index === index) {\n // check for invalid frames due to row re-ordering\n return frame;\n } else {\n var data = props.data,\n getItemCount = props.getItemCount,\n getItemLayout = props.getItemLayout;\n invariant(index >= 0 && index < getItemCount(data), 'Tried to get frame for out of range index ' + index);\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 this._getFrameMetrics = (index, props) => {\n var data = props.data,\n getItem = props.getItem,\n getItemCount = props.getItemCount,\n getItemLayout = props.getItemLayout;\n invariant(index >= 0 && index < getItemCount(data), 'Tried to get frame for out of range index ' + index);\n var item = getItem(data, index);\n var frame = this._frames[this._keyExtractor(item, index, props)];\n if (!frame || frame.index !== index) {\n if (getItemLayout) {\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 return getItemLayout(data, index);\n }\n }\n return frame;\n };\n this._getNonViewportRenderRegions = props => {\n // Keep a viewport's worth of content around the last focused cell to allow\n // random navigation around it without any blanking. E.g. tabbing from one\n // focused item out of viewport to another.\n if (!(this._lastFocusedCellKey && this._cellRefs[this._lastFocusedCellKey])) {\n return [];\n }\n var lastFocusedCellRenderer = this._cellRefs[this._lastFocusedCellKey];\n var focusedCellIndex = lastFocusedCellRenderer.props.index;\n var itemCount = props.getItemCount(props.data);\n\n // The last cell we rendered may be at a new index. Bail if we don't know\n // where it is.\n if (focusedCellIndex >= itemCount || this._keyExtractor(props.getItem(props.data, focusedCellIndex), focusedCellIndex, props) !== this._lastFocusedCellKey) {\n return [];\n }\n var first = focusedCellIndex;\n var heightOfCellsBeforeFocused = 0;\n for (var i = first - 1; i >= 0 && heightOfCellsBeforeFocused < this._scrollMetrics.visibleLength; i--) {\n first--;\n heightOfCellsBeforeFocused += this.__getFrameMetricsApprox(i, props).length;\n }\n var last = focusedCellIndex;\n var heightOfCellsAfterFocused = 0;\n for (var _i = last + 1; _i < itemCount && heightOfCellsAfterFocused < this._scrollMetrics.visibleLength; _i++) {\n last++;\n heightOfCellsAfterFocused += this.__getFrameMetricsApprox(_i, props).length;\n }\n return [{\n first,\n last\n }];\n };\n this._checkProps(_props);\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 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 {\n var _this$props3 = this.props,\n onViewableItemsChanged = _this$props3.onViewableItemsChanged,\n viewabilityConfig = _this$props3.viewabilityConfig;\n if (onViewableItemsChanged) {\n this._viewabilityTuples.push({\n viewabilityHelper: new ViewabilityHelper(viewabilityConfig),\n onViewableItemsChanged: onViewableItemsChanged\n });\n }\n }\n var initialRenderRegion = VirtualizedList._initialRenderRegion(_props);\n this.state = {\n cellsAroundViewport: initialRenderRegion,\n renderMask: VirtualizedList._createRenderMask(_props, initialRenderRegion)\n };\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 this.invertedWheelEventHandler = ev => {\n var scrollOffset = this.props.horizontal ? ev.target.scrollLeft : ev.target.scrollTop;\n var scrollLength = this.props.horizontal ? ev.target.scrollWidth : ev.target.scrollHeight;\n var clientLength = this.props.horizontal ? ev.target.clientWidth : ev.target.clientHeight;\n var isEventTargetScrollable = scrollLength > clientLength;\n var delta = this.props.horizontal ? ev.deltaX || ev.wheelDeltaX : ev.deltaY || ev.wheelDeltaY;\n var leftoverDelta = delta;\n if (isEventTargetScrollable) {\n leftoverDelta = delta < 0 ? Math.min(delta + scrollOffset, 0) : Math.max(delta - (scrollLength - clientLength - scrollOffset), 0);\n }\n var targetDelta = delta - leftoverDelta;\n if (this.props.inverted && this._scrollRef && this._scrollRef.getScrollableNode) {\n var node = this._scrollRef.getScrollableNode();\n if (this.props.horizontal) {\n ev.target.scrollLeft += targetDelta;\n var nextScrollLeft = node.scrollLeft - leftoverDelta;\n node.scrollLeft = !this.props.getItemLayout ? Math.min(nextScrollLeft, this._totalCellLength) : nextScrollLeft;\n } else {\n ev.target.scrollTop += targetDelta;\n var nextScrollTop = node.scrollTop - leftoverDelta;\n node.scrollTop = !this.props.getItemLayout ? Math.min(nextScrollTop, this._totalCellLength) : nextScrollTop;\n }\n ev.preventDefault();\n }\n };\n }\n _checkProps(props) {\n var onScroll = props.onScroll,\n windowSize = props.windowSize,\n getItemCount = props.getItemCount,\n data = props.data,\n initialScrollIndex = props.initialScrollIndex;\n invariant(\n // $FlowFixMe[prop-missing]\n !onScroll || !onScroll.__isNative, 'Components based on VirtualizedList must be wrapped with Animated.createAnimatedComponent ' + 'to support native onScroll events with useNativeDriver');\n invariant(windowSizeOrDefault(windowSize) > 0, 'VirtualizedList: The windowSize prop must be present and set to a value greater than 0.');\n invariant(getItemCount, 'VirtualizedList: The \"getItemCount\" prop must be provided');\n var itemCount = getItemCount(data);\n if (initialScrollIndex != null && !this._hasTriggeredInitialScrollToIndex && (initialScrollIndex < 0 || itemCount > 0 && initialScrollIndex >= itemCount) && !this._hasWarned.initialScrollIndex) {\n console.warn(\"initialScrollIndex \\\"\" + initialScrollIndex + \"\\\" is not valid (list has \" + itemCount + \" items)\");\n this._hasWarned.initialScrollIndex = true;\n }\n if (__DEV__ && !this._hasWarned.flexWrap) {\n // $FlowFixMe[underconstrained-implicit-instantiation]\n var flatStyles = StyleSheet.flatten(this.props.contentContainerStyle);\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 this._hasWarned.flexWrap = true;\n }\n }\n }\n static _createRenderMask(props, cellsAroundViewport, additionalRegions) {\n var itemCount = props.getItemCount(props.data);\n invariant(cellsAroundViewport.first >= 0 && cellsAroundViewport.last >= cellsAroundViewport.first - 1 && cellsAroundViewport.last < itemCount, \"Invalid cells around viewport \\\"[\" + cellsAroundViewport.first + \", \" + cellsAroundViewport.last + \"]\\\" was passed to VirtualizedList._createRenderMask\");\n var renderMask = new CellRenderMask(itemCount);\n if (itemCount > 0) {\n var allRegions = [cellsAroundViewport, ...(additionalRegions !== null && additionalRegions !== void 0 ? additionalRegions : [])];\n for (var _i2 = 0, _allRegions = allRegions; _i2 < _allRegions.length; _i2++) {\n var region = _allRegions[_i2];\n renderMask.addCells(region);\n }\n\n // The initially rendered cells are retained as part of the\n // \"scroll-to-top\" optimization\n if (props.initialScrollIndex == null || props.initialScrollIndex <= 0) {\n var initialRegion = VirtualizedList._initialRenderRegion(props);\n renderMask.addCells(initialRegion);\n }\n\n // The layout coordinates of sticker headers may be off-screen while the\n // actual header is on-screen. Keep the most recent before the viewport\n // rendered, even if its layout coordinates are not in viewport.\n var stickyIndicesSet = new Set(props.stickyHeaderIndices);\n VirtualizedList._ensureClosestStickyHeader(props, stickyIndicesSet, renderMask, cellsAroundViewport.first);\n }\n return renderMask;\n }\n static _initialRenderRegion(props) {\n var _props$initialScrollI;\n var itemCount = props.getItemCount(props.data);\n var firstCellIndex = Math.max(0, Math.min(itemCount - 1, Math.floor((_props$initialScrollI = props.initialScrollIndex) !== null && _props$initialScrollI !== void 0 ? _props$initialScrollI : 0)));\n var lastCellIndex = Math.min(itemCount, firstCellIndex + initialNumToRenderOrDefault(props.initialNumToRender)) - 1;\n return {\n first: firstCellIndex,\n last: lastCellIndex\n };\n }\n static _ensureClosestStickyHeader(props, stickyIndicesSet, renderMask, cellIdx) {\n var stickyOffset = props.ListHeaderComponent ? 1 : 0;\n for (var itemIdx = cellIdx - 1; itemIdx >= 0; itemIdx--) {\n if (stickyIndicesSet.has(itemIdx + stickyOffset)) {\n renderMask.addCells({\n first: itemIdx,\n last: itemIdx\n });\n break;\n }\n }\n }\n _adjustCellsAroundViewport(props, cellsAroundViewport) {\n var data = props.data,\n getItemCount = props.getItemCount;\n var onEndReachedThreshold = onEndReachedThresholdOrDefault(props.onEndReachedThreshold);\n var _this$_scrollMetrics = this._scrollMetrics,\n contentLength = _this$_scrollMetrics.contentLength,\n offset = _this$_scrollMetrics.offset,\n visibleLength = _this$_scrollMetrics.visibleLength;\n var distanceFromEnd = contentLength - visibleLength - offset;\n\n // 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 return cellsAroundViewport.last >= getItemCount(data) ? VirtualizedList._constrainToItemCount(cellsAroundViewport, props) : cellsAroundViewport;\n }\n var newCellsAroundViewport;\n if (props.disableVirtualization) {\n var renderAhead = distanceFromEnd < onEndReachedThreshold * visibleLength ? maxToRenderPerBatchOrDefault(props.maxToRenderPerBatch) : 0;\n newCellsAroundViewport = {\n first: 0,\n last: Math.min(cellsAroundViewport.last + renderAhead, getItemCount(data) - 1)\n };\n } else {\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\n // Thus, we want to recalculate the windowed render limits if any of the following hold:\n // - initialScrollIndex is undefined or is 0\n // - initialScrollIndex > 0 AND scrolling is complete\n // - initialScrollIndex > 0 AND the end of the list is visible (this handles the case\n // where the list is shorter than the visible area)\n if (props.initialScrollIndex && !this._scrollMetrics.offset && Math.abs(distanceFromEnd) >= Number.EPSILON) {\n return cellsAroundViewport.last >= getItemCount(data) ? VirtualizedList._constrainToItemCount(cellsAroundViewport, props) : cellsAroundViewport;\n }\n newCellsAroundViewport = computeWindowedRenderLimits(props, maxToRenderPerBatchOrDefault(props.maxToRenderPerBatch), windowSizeOrDefault(props.windowSize), cellsAroundViewport, this.__getFrameMetricsApprox, this._scrollMetrics);\n invariant(newCellsAroundViewport.last < getItemCount(data), 'computeWindowedRenderLimits() should return range in-bounds');\n }\n if (this._nestedChildLists.size() > 0) {\n // 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 // Will this prevent rendering if the nested list doesn't realize the end?\n var childIdx = this._findFirstChildWithMore(newCellsAroundViewport.first, newCellsAroundViewport.last);\n newCellsAroundViewport.last = childIdx !== null && childIdx !== void 0 ? childIdx : newCellsAroundViewport.last;\n }\n return newCellsAroundViewport;\n }\n _findFirstChildWithMore(first, last) {\n for (var ii = first; ii <= last; ii++) {\n var cellKeyForIndex = this._indicesToKeys.get(ii);\n if (cellKeyForIndex != null && this._nestedChildLists.anyInCell(cellKeyForIndex, childList => childList.hasMore())) {\n return ii;\n }\n }\n return null;\n }\n componentDidMount() {\n if (this._isNestedWithSameOrientation()) {\n this.context.registerAsNestedChild({\n ref: this,\n cellKey: this.context.cellKey\n });\n }\n\n // REACT-NATIVE-WEB patch to preserve during future RN merges: Support inverted wheel scroller.\n this.setupWebWheelHandler();\n }\n componentWillUnmount() {\n if (this._isNestedWithSameOrientation()) {\n this.context.unregisterAsNestedChild({\n ref: this\n });\n }\n this._updateCellsToRenderBatcher.dispose({\n abort: true\n });\n this._viewabilityTuples.forEach(tuple => {\n tuple.viewabilityHelper.dispose();\n });\n this._fillRateHelper.deactivateAndFlush();\n\n // REACT-NATIVE-WEB patch to preserve during future RN merges: Support inverted wheel scroller.\n this.teardownWebWheelHandler();\n }\n\n // REACT-NATIVE-WEB patch to preserve during future RN merges: Support inverted wheel scroller.\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 }\n\n // REACT-NATIVE-WEB patch to preserve during future RN merges: Support inverted wheel scroller.\n teardownWebWheelHandler() {\n if (this._scrollRef && this._scrollRef.getScrollableNode) {\n this._scrollRef.getScrollableNode().removeEventListener('wheel', this.invertedWheelEventHandler);\n }\n }\n static getDerivedStateFromProps(newProps, prevState) {\n // 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 var itemCount = newProps.getItemCount(newProps.data);\n if (itemCount === prevState.renderMask.numCells()) {\n return prevState;\n }\n var constrainedCells = VirtualizedList._constrainToItemCount(prevState.cellsAroundViewport, newProps);\n return {\n cellsAroundViewport: constrainedCells,\n renderMask: VirtualizedList._createRenderMask(newProps, constrainedCells)\n };\n }\n _pushCells(cells, stickyHeaderIndices, stickyIndicesFromProps, first, last, inversionStyle) {\n var _this = this;\n var _this$props4 = this.props,\n CellRendererComponent = _this$props4.CellRendererComponent,\n ItemSeparatorComponent = _this$props4.ItemSeparatorComponent,\n ListHeaderComponent = _this$props4.ListHeaderComponent,\n ListItemComponent = _this$props4.ListItemComponent,\n data = _this$props4.data,\n debug = _this$props4.debug,\n getItem = _this$props4.getItem,\n getItemCount = _this$props4.getItemCount,\n getItemLayout = _this$props4.getItemLayout,\n horizontal = _this$props4.horizontal,\n renderItem = _this$props4.renderItem;\n var stickyOffset = ListHeaderComponent ? 1 : 0;\n var end = getItemCount(data) - 1;\n var prevCellKey;\n last = Math.min(end, last);\n var _loop = function _loop() {\n var item = getItem(data, ii);\n var key = _this._keyExtractor(item, ii, _this.props);\n _this._indicesToKeys.set(ii, key);\n if (stickyIndicesFromProps.has(ii + stickyOffset)) {\n stickyHeaderIndices.push(cells.length);\n }\n var shouldListenForLayout = getItemLayout == null || debug || _this._fillRateHelper.enabled();\n cells.push( /*#__PURE__*/React.createElement(CellRenderer, _extends({\n CellRendererComponent: CellRendererComponent,\n ItemSeparatorComponent: ii < end ? ItemSeparatorComponent : undefined,\n ListItemComponent: ListItemComponent,\n cellKey: key,\n horizontal: horizontal,\n index: ii,\n inversionStyle: inversionStyle,\n item: item,\n key: key,\n prevCellKey: prevCellKey,\n onUpdateSeparators: _this._onUpdateSeparators,\n onCellFocusCapture: e => _this._onCellFocusCapture(key),\n onUnmount: _this._onCellUnmount,\n ref: _ref => {\n _this._cellRefs[key] = _ref;\n },\n renderItem: renderItem\n }, shouldListenForLayout && {\n onCellLayout: _this._onCellLayout\n })));\n prevCellKey = key;\n };\n for (var ii = first; ii <= last; ii++) {\n _loop();\n }\n }\n static _constrainToItemCount(cells, props) {\n var itemCount = props.getItemCount(props.data);\n var last = Math.min(itemCount - 1, cells.last);\n var maxToRenderPerBatch = maxToRenderPerBatchOrDefault(props.maxToRenderPerBatch);\n return {\n first: clamp(0, itemCount - 1 - maxToRenderPerBatch, cells.first),\n last\n };\n }\n _isNestedWithSameOrientation() {\n var nestedContext = this.context;\n return !!(nestedContext && !!nestedContext.horizontal === horizontalOrDefault(this.props.horizontal));\n }\n _keyExtractor(item, index, props\n // $FlowFixMe[missing-local-annot]\n ) {\n if (props.keyExtractor != null) {\n return props.keyExtractor(item, index);\n }\n var key = defaultKeyExtractor(item, index);\n if (key === String(index)) {\n _usedIndexForKey = true;\n if (item.type && item.type.displayName) {\n _keylessItemComponentName = item.type.displayName;\n }\n }\n return key;\n }\n render() {\n this._checkProps(this.props);\n var _this$props5 = this.props,\n ListEmptyComponent = _this$props5.ListEmptyComponent,\n ListFooterComponent = _this$props5.ListFooterComponent,\n ListHeaderComponent = _this$props5.ListHeaderComponent;\n var _this$props6 = this.props,\n data = _this$props6.data,\n horizontal = _this$props6.horizontal;\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 // 1. Add cell for ListHeaderComponent\n if (ListHeaderComponent) {\n if (stickyIndicesFromProps.has(0)) {\n stickyHeaderIndices.push(0);\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: [inversionStyle, this.props.ListHeaderComponentStyle]\n },\n // $FlowFixMe[incompatible-type] - Typing ReactNativeComponent revealed errors\n _element)));\n }\n\n // 2a. Add a cell for ListEmptyComponent if applicable\n var itemCount = this.props.getItemCount(data);\n if (itemCount === 0 && ListEmptyComponent) {\n var _element2 = /*#__PURE__*/React.isValidElement(ListEmptyComponent) ? ListEmptyComponent :\n /*#__PURE__*/\n // $FlowFixMe[not-a-component]\n // $FlowFixMe[incompatible-type-arg]\n React.createElement(ListEmptyComponent, null);\n cells.push( /*#__PURE__*/React.createElement(VirtualizedListCellContextProvider, {\n cellKey: this._getCellKey() + '-empty',\n key: \"$empty\"\n }, /*#__PURE__*/React.cloneElement(_element2, {\n onLayout: event => {\n this._onLayoutEmpty(event);\n if (_element2.props.onLayout) {\n _element2.props.onLayout(event);\n }\n },\n style: [inversionStyle, _element2.props.style]\n })));\n }\n\n // 2b. Add cells and spacers for each item\n if (itemCount > 0) {\n _usedIndexForKey = false;\n _keylessItemComponentName = '';\n var spacerKey = this._getSpacerKey(!horizontal);\n var renderRegions = this.state.renderMask.enumerateRegions();\n var lastSpacer = findLastWhere(renderRegions, r => r.isSpacer);\n for (var _iterator = _createForOfIteratorHelperLoose(renderRegions), _step; !(_step = _iterator()).done;) {\n var section = _step.value;\n if (section.isSpacer) {\n // Legacy behavior is to avoid spacers when virtualization is\n // disabled (including head spacers on initial render).\n if (this.props.disableVirtualization) {\n continue;\n }\n\n // 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 var isLastSpacer = section === lastSpacer;\n var constrainToMeasured = isLastSpacer && !this.props.getItemLayout;\n var last = constrainToMeasured ? clamp(section.first - 1, section.last, this._highestMeasuredFrameIndex) : section.last;\n var firstMetrics = this.__getFrameMetricsApprox(section.first, this.props);\n var lastMetrics = this.__getFrameMetricsApprox(last, this.props);\n var spacerSize = lastMetrics.offset + lastMetrics.length - firstMetrics.offset;\n cells.push( /*#__PURE__*/React.createElement(View, {\n key: \"$spacer-\" + section.first,\n style: {\n [spacerKey]: spacerSize\n }\n }));\n } else {\n this._pushCells(cells, stickyHeaderIndices, stickyIndicesFromProps, section.first, section.last, inversionStyle);\n }\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\n // 3. Add cell for ListFooterComponent\n if (ListFooterComponent) {\n var _element3 = /*#__PURE__*/React.isValidElement(ListFooterComponent) ? ListFooterComponent :\n /*#__PURE__*/\n // $FlowFixMe[not-a-component]\n // $FlowFixMe[incompatible-type-arg]\n React.createElement(ListFooterComponent, null);\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: [inversionStyle, this.props.ListFooterComponentStyle]\n },\n // $FlowFixMe[incompatible-type] - Typing ReactNativeComponent revealed errors\n _element3)));\n }\n\n // 4. Render the ScrollView\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 this._hasMore = this.state.cellsAroundViewport.last < itemCount - 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 registerAsNestedChild: this._registerAsNestedChild,\n unregisterAsNestedChild: this._unregisterAsNestedChild\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 this.props.scrollEnabled !== false\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 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 componentDidUpdate(prevProps) {\n var _this$props7 = this.props,\n data = _this$props7.data,\n extraData = _this$props7.extraData;\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 }\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 var hiPriInProgress = this._hiPriInProgress;\n this._scheduleCellsToRenderUpdate();\n // Make sure setting `this._hiPriInProgress` back to false after `componentDidUpdate`\n // is triggered with `this._hiPriInProgress = true`\n if (hiPriInProgress) {\n this._hiPriInProgress = false;\n }\n }\n\n // Used for preventing scrollToIndex from being called multiple times for initialScrollIndex\n\n // flag to prevent infinite hiPri cell limit update\n\n // $FlowFixMe[missing-local-annot]\n\n /* $FlowFixMe[missing-local-annot] The type annotation(s) required by Flow's\n * LTI update could not be added via codemod */\n\n _computeBlankness() {\n this._fillRateHelper.computeBlankness(this.props, this.state.cellsAroundViewport, this._scrollMetrics);\n }\n\n /* $FlowFixMe[missing-local-annot] The type annotation(s) required by Flow's\n * LTI update could not be added via codemod */\n\n _onCellFocusCapture(cellKey) {\n this._lastFocusedCellKey = cellKey;\n this._updateCellsToRender();\n }\n _triggerRemeasureForChildListsInCell(cellKey) {\n this._nestedChildLists.forEachInCell(cellKey, childList => {\n childList.measureLayoutRelativeToContainingList();\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 }\n // We are assuming that getOutermostParentListRef().getScrollRef()\n // is a non-null reference to a ScrollView\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 var scrollMetrics = this._convertParentScrollMetrics(this.context.getScrollMetrics());\n var metricsChanged = this._scrollMetrics.visibleLength !== scrollMetrics.visibleLength || this._scrollMetrics.offset !== scrollMetrics.offset;\n if (metricsChanged) {\n this._scrollMetrics.visibleLength = scrollMetrics.visibleLength;\n this._scrollMetrics.offset = scrollMetrics.offset;\n\n // If metrics of the scrollView changed, then we triggered remeasure for child list\n // to ensure VirtualizedList has the right information.\n this._nestedChildLists.forEach(childList => {\n childList.measureLayoutRelativeToContainingList();\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 _getFooterCellKey() {\n return this._getCellKey() + '-footer';\n }\n // $FlowFixMe[missing-local-annot]\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 for (var ii = 0; ii < itemCount; ii++) {\n var frame = this.__getFrameMetricsApprox(ii, this.props);\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 if (frame.inLayout) {\n framesInLayout.push(frame);\n }\n }\n var windowTop = this.__getFrameMetricsApprox(this.state.cellsAroundViewport.first, this.props).offset;\n var frameLast = this.__getFrameMetricsApprox(this.state.cellsAroundViewport.last, this.props);\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 _selectLength(metrics) {\n return !horizontalOrDefault(this.props.horizontal) ? metrics.height : metrics.width;\n }\n _selectOffset(metrics) {\n return !horizontalOrDefault(this.props.horizontal) ? metrics.y : metrics.x;\n }\n _maybeCallOnEdgeReached() {\n var _this$props8 = this.props,\n data = _this$props8.data,\n getItemCount = _this$props8.getItemCount,\n onStartReached = _this$props8.onStartReached,\n onStartReachedThreshold = _this$props8.onStartReachedThreshold,\n onEndReached = _this$props8.onEndReached,\n onEndReachedThreshold = _this$props8.onEndReachedThreshold,\n initialScrollIndex = _this$props8.initialScrollIndex;\n var _this$_scrollMetrics2 = this._scrollMetrics,\n contentLength = _this$_scrollMetrics2.contentLength,\n visibleLength = _this$_scrollMetrics2.visibleLength,\n offset = _this$_scrollMetrics2.offset;\n var distanceFromStart = offset;\n var distanceFromEnd = contentLength - visibleLength - offset;\n\n // Especially when oERT is zero it's necessary to 'floor' very small distance values to be 0\n // since debouncing causes us to not fire this event for every single \"pixel\" we scroll and can thus\n // be at the edge of the list with a distance approximating 0 but not quite there.\n if (distanceFromStart < ON_EDGE_REACHED_EPSILON) {\n distanceFromStart = 0;\n }\n if (distanceFromEnd < ON_EDGE_REACHED_EPSILON) {\n distanceFromEnd = 0;\n }\n\n // TODO: T121172172 Look into why we're \"defaulting\" to a threshold of 2px\n // when oERT is not present (different from 2 viewports used elsewhere)\n var DEFAULT_THRESHOLD_PX = 2;\n var startThreshold = onStartReachedThreshold != null ? onStartReachedThreshold * visibleLength : DEFAULT_THRESHOLD_PX;\n var endThreshold = onEndReachedThreshold != null ? onEndReachedThreshold * visibleLength : DEFAULT_THRESHOLD_PX;\n var isWithinStartThreshold = distanceFromStart <= startThreshold;\n var isWithinEndThreshold = distanceFromEnd <= endThreshold;\n\n // First check if the user just scrolled within the end threshold\n // and call onEndReached only once for a given content length,\n // and only if onStartReached is not being executed\n if (onEndReached && this.state.cellsAroundViewport.last === getItemCount(data) - 1 && isWithinEndThreshold && this._scrollMetrics.contentLength !== this._sentEndForContentLength) {\n this._sentEndForContentLength = this._scrollMetrics.contentLength;\n onEndReached({\n distanceFromEnd\n });\n }\n\n // Next check if the user just scrolled within the start threshold\n // and call onStartReached only once for a given content length,\n // and only if onEndReached is not being executed\n else if (onStartReached != null && this.state.cellsAroundViewport.first === 0 && isWithinStartThreshold && this._scrollMetrics.contentLength !== this._sentStartForContentLength) {\n // On initial mount when using initialScrollIndex the offset will be 0 initially\n // and will trigger an unexpected onStartReached. To avoid this we can use\n // timestamp to differentiate between the initial scroll metrics and when we actually\n // received the first scroll event.\n if (!initialScrollIndex || this._scrollMetrics.timestamp !== 0) {\n this._sentStartForContentLength = this._scrollMetrics.contentLength;\n onStartReached({\n distanceFromStart\n });\n }\n }\n\n // If the user scrolls away from the start or end and back again,\n // cause onStartReached or onEndReached to be triggered again\n else {\n this._sentStartForContentLength = isWithinStartThreshold ? this._sentStartForContentLength : 0;\n this._sentEndForContentLength = isWithinEndThreshold ? this._sentEndForContentLength : 0;\n }\n }\n\n /* Translates metrics from a scroll event in a parent VirtualizedList into\n * coordinates relative to the child list.\n */\n\n _scheduleCellsToRenderUpdate() {\n var _this$state$cellsArou = this.state.cellsAroundViewport,\n first = _this$state$cellsArou.first,\n last = _this$state$cellsArou.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 onStartReachedThreshold = onStartReachedThresholdOrDefault(this.props.onStartReachedThreshold);\n var onEndReachedThreshold = onEndReachedThresholdOrDefault(this.props.onEndReachedThreshold);\n // 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 if (first > 0) {\n var distTop = offset - this.__getFrameMetricsApprox(first, this.props).offset;\n hiPri = distTop < 0 || velocity < -2 && distTop < getScrollingThreshold(onStartReachedThreshold, visibleLength);\n }\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 if (!hiPri && last >= 0 && last < itemCount - 1) {\n var distBottom = this.__getFrameMetricsApprox(last, this.props).offset - (offset + visibleLength);\n hiPri = distBottom < 0 || velocity > 2 && distBottom < getScrollingThreshold(onEndReachedThreshold, visibleLength);\n }\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 if (hiPri && (this._averageCellLength || this.props.getItemLayout) && !this._hiPriInProgress) {\n this._hiPriInProgress = true;\n // Don't worry about interactions when scrolling quickly; focus on filling content as fast\n // as possible.\n this._updateCellsToRenderBatcher.dispose({\n abort: true\n });\n this._updateCellsToRender();\n return;\n } else {\n this._updateCellsToRenderBatcher.schedule();\n }\n }\n\n /**\n * Gets an approximate offset to an item at a given index. Supports\n * fractional indices.\n */\n\n _updateViewableItems(props, cellsAroundViewport) {\n this._viewabilityTuples.forEach(tuple => {\n tuple.viewabilityHelper.onUpdate(props, this._scrollMetrics.offset, this._scrollMetrics.visibleLength, this._getFrameMetrics, this._createViewToken, tuple.onViewableItemsChanged, cellsAroundViewport);\n });\n }\n}\nVirtualizedList.contextType = VirtualizedListContext;\nvar styles = StyleSheet.create({\n verticallyInverted: {\n transform: 'scaleY(-1)'\n },\n horizontallyInverted: {\n transform: 'scaleX(-1)'\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\n/**\n * EventEmitter manages listeners and publishes events to them.\n *\n * EventEmitter accepts a single type parameter that defines the valid events\n * and associated listener argument(s).\n *\n * @example\n *\n * const emitter = new EventEmitter<{\n * success: [number, string],\n * error: [Error],\n * }>();\n *\n * emitter.on('success', (statusCode, responseText) => {...});\n * emitter.emit('success', 200, '...');\n *\n * emitter.on('error', error => {...});\n * emitter.emit('error', new Error('Resource not found'));\n *\n */\nexport default class EventEmitter {\n constructor() {\n this._registry = {};\n }\n /**\n * Registers a listener that is called when the supplied event is emitted.\n * Returns a subscription that has a `remove` method to undo registration.\n */\n addListener(eventType, listener, context) {\n var registrations = allocate(this._registry, eventType);\n var registration = {\n context,\n listener,\n remove() {\n registrations.delete(registration);\n }\n };\n registrations.add(registration);\n return registration;\n }\n\n /**\n * Emits the supplied event. Additional arguments supplied to `emit` will be\n * passed through to each of the registered listeners.\n *\n * If a listener modifies the listeners registered for the same event, those\n * changes will not be reflected in the current invocation of `emit`.\n */\n emit(eventType) {\n var registrations = this._registry[eventType];\n if (registrations != null) {\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 for (var _i = 0, _arr = [...registrations]; _i < _arr.length; _i++) {\n var registration = _arr[_i];\n registration.listener.apply(registration.context, args);\n }\n }\n }\n\n /**\n * Removes all registered listeners.\n */\n removeAllListeners(eventType) {\n if (eventType == null) {\n this._registry = {};\n } else {\n delete this._registry[eventType];\n }\n }\n\n /**\n * Returns the number of registered listeners for the supplied event.\n */\n listenerCount(eventType) {\n var registrations = this._registry[eventType];\n return registrations == null ? 0 : registrations.size;\n }\n}\nfunction allocate(registry, eventType) {\n var registrations = registry[eventType];\n if (registrations == null) {\n registrations = new Set();\n registry[eventType] = registrations;\n }\n return registrations;\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 hyphenateStyleName from 'hyphenate-style-name';\nexport default function hyphenateProperty(property) {\n return hyphenateStyleName(property);\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}","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}","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}","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-)/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}","\"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;","/* Font Face Observer v2.3.0 - © Bram Stein. License: BSD-3-Clause */(function(){function p(a,c){document.addEventListener?a.addEventListener(\"scroll\",c,!1):a.attachEvent(\"scroll\",c)}function u(a){document.body?a():document.addEventListener?document.addEventListener(\"DOMContentLoaded\",function b(){document.removeEventListener(\"DOMContentLoaded\",b);a()}):document.attachEvent(\"onreadystatechange\",function g(){if(\"interactive\"==document.readyState||\"complete\"==document.readyState)document.detachEvent(\"onreadystatechange\",g),a()})};function w(a){this.g=document.createElement(\"div\");this.g.setAttribute(\"aria-hidden\",\"true\");this.g.appendChild(document.createTextNode(a));this.h=document.createElement(\"span\");this.i=document.createElement(\"span\");this.m=document.createElement(\"span\");this.j=document.createElement(\"span\");this.l=-1;this.h.style.cssText=\"max-width:none;display:inline-block;position:absolute;height:100%;width:100%;overflow:scroll;font-size:16px;\";this.i.style.cssText=\"max-width:none;display:inline-block;position:absolute;height:100%;width:100%;overflow:scroll;font-size:16px;\";\nthis.j.style.cssText=\"max-width:none;display:inline-block;position:absolute;height:100%;width:100%;overflow:scroll;font-size:16px;\";this.m.style.cssText=\"display:inline-block;width:200%;height:200%;font-size:16px;max-width:none;\";this.h.appendChild(this.m);this.i.appendChild(this.j);this.g.appendChild(this.h);this.g.appendChild(this.i)}\nfunction x(a,c){a.g.style.cssText=\"max-width:none;min-width:20px;min-height:20px;display:inline-block;overflow:hidden;position:absolute;width:auto;margin:0;padding:0;top:-999px;white-space:nowrap;font-synthesis:none;font:\"+c+\";\"}function B(a){var c=a.g.offsetWidth,b=c+100;a.j.style.width=b+\"px\";a.i.scrollLeft=b;a.h.scrollLeft=a.h.scrollWidth+100;return a.l!==c?(a.l=c,!0):!1}function C(a,c){function b(){var e=g;B(e)&&null!==e.g.parentNode&&c(e.l)}var g=a;p(a.h,b);p(a.i,b);B(a)};function D(a,c,b){c=c||{};b=b||window;this.family=a;this.style=c.style||\"normal\";this.weight=c.weight||\"normal\";this.stretch=c.stretch||\"normal\";this.context=b}var E=null,F=null,G=null,H=null;function I(a){null===F&&(M(a)&&/Apple/.test(window.navigator.vendor)?(a=/AppleWebKit\\/([0-9]+)(?:\\.([0-9]+))(?:\\.([0-9]+))/.exec(window.navigator.userAgent),F=!!a&&603>parseInt(a[1],10)):F=!1);return F}function M(a){null===H&&(H=!!a.document.fonts);return H}\nfunction N(a,c){var b=a.style,g=a.weight;if(null===G){var e=document.createElement(\"div\");try{e.style.font=\"condensed 100px sans-serif\"}catch(q){}G=\"\"!==e.style.font}return[b,g,G?a.stretch:\"\",\"100px\",c].join(\" \")}\nD.prototype.load=function(a,c){var b=this,g=a||\"BESbswy\",e=0,q=c||3E3,J=(new Date).getTime();return new Promise(function(K,L){if(M(b.context)&&!I(b.context)){var O=new Promise(function(r,t){function h(){(new Date).getTime()-J>=q?t(Error(\"\"+q+\"ms timeout exceeded\")):b.context.document.fonts.load(N(b,'\"'+b.family+'\"'),g).then(function(n){1<=n.length?r():setTimeout(h,25)},t)}h()}),P=new Promise(function(r,t){e=setTimeout(function(){t(Error(\"\"+q+\"ms timeout exceeded\"))},q)});Promise.race([P,O]).then(function(){clearTimeout(e);\nK(b)},L)}else u(function(){function r(){var d;if(d=-1!=k&&-1!=l||-1!=k&&-1!=m||-1!=l&&-1!=m)(d=k!=l&&k!=m&&l!=m)||(null===E&&(d=/AppleWebKit\\/([0-9]+)(?:\\.([0-9]+))/.exec(window.navigator.userAgent),E=!!d&&(536>parseInt(d[1],10)||536===parseInt(d[1],10)&&11>=parseInt(d[2],10))),d=E&&(k==y&&l==y&&m==y||k==z&&l==z&&m==z||k==A&&l==A&&m==A)),d=!d;d&&(null!==f.parentNode&&f.parentNode.removeChild(f),clearTimeout(e),K(b))}function t(){if((new Date).getTime()-J>=q)null!==f.parentNode&&f.parentNode.removeChild(f),\nL(Error(\"\"+q+\"ms timeout exceeded\"));else{var d=b.context.document.hidden;if(!0===d||void 0===d)k=h.g.offsetWidth,l=n.g.offsetWidth,m=v.g.offsetWidth,r();e=setTimeout(t,50)}}var h=new w(g),n=new w(g),v=new w(g),k=-1,l=-1,m=-1,y=-1,z=-1,A=-1,f=document.createElement(\"div\");f.dir=\"ltr\";x(h,N(b,\"sans-serif\"));x(n,N(b,\"serif\"));x(v,N(b,\"monospace\"));f.appendChild(h.g);f.appendChild(n.g);f.appendChild(v.g);b.context.document.body.appendChild(f);y=h.g.offsetWidth;z=n.g.offsetWidth;A=v.g.offsetWidth;t();\nC(h,function(d){k=d;r()});x(h,N(b,'\"'+b.family+'\",sans-serif'));C(n,function(d){l=d;r()});x(n,N(b,'\"'+b.family+'\",serif'));C(v,function(d){m=d;r()});x(v,N(b,'\"'+b.family+'\",monospace'))})})};\"object\"===typeof module?module.exports=D:(window.FontFaceObserver=D,window.FontFaceObserver.prototype.load=D.prototype.load);}());\n","/* eslint-disable no-var, prefer-template */\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 (cache.hasOwnProperty(name)) {\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\n","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = createPrefixer;\n\nvar _prefixProperty = require('./utils/prefixProperty');\n\nvar _prefixProperty2 = _interopRequireDefault(_prefixProperty);\n\nvar _prefixValue = require('./utils/prefixValue');\n\nvar _prefixValue2 = _interopRequireDefault(_prefixValue);\n\nvar _addNewValuesOnly = require('./utils/addNewValuesOnly');\n\nvar _addNewValuesOnly2 = _interopRequireDefault(_addNewValuesOnly);\n\nvar _isObject = require('./utils/isObject');\n\nvar _isObject2 = _interopRequireDefault(_isObject);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction createPrefixer(_ref) {\n var prefixMap = _ref.prefixMap,\n plugins = _ref.plugins;\n\n return function prefix(style) {\n for (var property in style) {\n var value = style[property];\n\n // handle nested objects\n if ((0, _isObject2.default)(value)) {\n style[property] = prefix(value);\n // handle array values\n } else if (Array.isArray(value)) {\n var combinedValue = [];\n\n for (var i = 0, len = value.length; i < len; ++i) {\n var processedValue = (0, _prefixValue2.default)(plugins, property, value[i], style, prefixMap);\n\n (0, _addNewValuesOnly2.default)(combinedValue, processedValue || value[i]);\n }\n\n // only modify the value if it was touched\n // by any plugin to prevent unnecessary mutations\n if (combinedValue.length > 0) {\n style[property] = combinedValue;\n }\n } else {\n var _processedValue = (0, _prefixValue2.default)(plugins, property, value, style, prefixMap);\n\n // only modify the value if it was touched\n // by any plugin to prevent unnecessary mutations\n if (_processedValue) {\n style[property] = _processedValue;\n }\n\n style = (0, _prefixProperty2.default)(prefixMap, property, style);\n }\n }\n\n return style;\n };\n}","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = backgroundClip;\nfunction backgroundClip() {\n return null;\n}","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = crossFade;\n\nvar _cssInJsUtils = require('css-in-js-utils');\n\nvar CROSS_FADE_REGEX = /cross-fade\\(/g;\n// http://caniuse.com/#search=cross-fade\nvar prefixes = ['-webkit-', ''];\n\nfunction crossFade(property, value) {\n if (typeof value === 'string' && !(0, _cssInJsUtils.isPrefixedValue)(value) && value.indexOf('cross-fade(') !== -1) {\n return prefixes.map(function (prefix) {\n return value.replace(CROSS_FADE_REGEX, prefix + 'cross-fade(');\n });\n }\n}","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = cursor;\nvar prefixes = ['-webkit-', '-moz-', ''];\n\nvar values = {\n 'zoom-in': true,\n 'zoom-out': true,\n grab: true,\n grabbing: true\n};\n\nfunction cursor(property, value) {\n if (property === 'cursor' && values.hasOwnProperty(value)) {\n return prefixes.map(function (prefix) {\n return prefix + value;\n });\n }\n}","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = filter;\n\nvar _cssInJsUtils = require('css-in-js-utils');\n\nvar FILTER_REGEX = /filter\\(/g;\n// http://caniuse.com/#feat=css-filter-function\nvar prefixes = ['-webkit-', ''];\n\nfunction filter(property, value) {\n if (typeof value === 'string' && !(0, _cssInJsUtils.isPrefixedValue)(value) && value.indexOf('filter(') !== -1) {\n return prefixes.map(function (prefix) {\n return value.replace(FILTER_REGEX, prefix + 'filter(');\n });\n }\n}","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = imageSet;\n\nvar _isPrefixedValue = require('css-in-js-utils/lib/isPrefixedValue');\n\nvar _isPrefixedValue2 = _interopRequireDefault(_isPrefixedValue);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n// http://caniuse.com/#feat=css-image-set\nvar prefixes = ['-webkit-', ''];\n\nfunction imageSet(property, value) {\n if (typeof value === 'string' && !(0, _isPrefixedValue2.default)(value) && value.indexOf('image-set(') > -1) {\n return prefixes.map(function (prefix) {\n return value.replace(/image-set\\(/g, prefix + 'image-set(');\n });\n }\n}","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = logical;\nvar alternativeProps = {\n marginBlockStart: ['WebkitMarginBefore'],\n marginBlockEnd: ['WebkitMarginAfter'],\n marginInlineStart: ['WebkitMarginStart', 'MozMarginStart'],\n marginInlineEnd: ['WebkitMarginEnd', 'MozMarginEnd'],\n paddingBlockStart: ['WebkitPaddingBefore'],\n paddingBlockEnd: ['WebkitPaddingAfter'],\n paddingInlineStart: ['WebkitPaddingStart', 'MozPaddingStart'],\n paddingInlineEnd: ['WebkitPaddingEnd', 'MozPaddingEnd'],\n borderBlockStart: ['WebkitBorderBefore'],\n borderBlockStartColor: ['WebkitBorderBeforeColor'],\n borderBlockStartStyle: ['WebkitBorderBeforeStyle'],\n borderBlockStartWidth: ['WebkitBorderBeforeWidth'],\n borderBlockEnd: ['WebkitBorderAfter'],\n borderBlockEndColor: ['WebkitBorderAfterColor'],\n borderBlockEndStyle: ['WebkitBorderAfterStyle'],\n borderBlockEndWidth: ['WebkitBorderAfterWidth'],\n borderInlineStart: ['WebkitBorderStart', 'MozBorderStart'],\n borderInlineStartColor: ['WebkitBorderStartColor', 'MozBorderStartColor'],\n borderInlineStartStyle: ['WebkitBorderStartStyle', 'MozBorderStartStyle'],\n borderInlineStartWidth: ['WebkitBorderStartWidth', 'MozBorderStartWidth'],\n borderInlineEnd: ['WebkitBorderEnd', 'MozBorderEnd'],\n borderInlineEndColor: ['WebkitBorderEndColor', 'MozBorderEndColor'],\n borderInlineEndStyle: ['WebkitBorderEndStyle', 'MozBorderEndStyle'],\n borderInlineEndWidth: ['WebkitBorderEndWidth', 'MozBorderEndWidth']\n};\n\nfunction logical(property, value, style) {\n if (Object.prototype.hasOwnProperty.call(alternativeProps, property)) {\n var alternativePropList = alternativeProps[property];\n for (var i = 0, len = alternativePropList.length; i < len; ++i) {\n style[alternativePropList[i]] = value;\n }\n }\n}","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = position;\nfunction position(property, value) {\n if (property === 'position' && value === 'sticky') {\n return ['-webkit-sticky', 'sticky'];\n }\n}","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = sizing;\nvar prefixes = ['-webkit-', '-moz-', ''];\n\nvar properties = {\n maxHeight: true,\n maxWidth: true,\n width: true,\n height: true,\n columnWidth: true,\n minWidth: true,\n minHeight: true\n};\nvar values = {\n 'min-content': true,\n 'max-content': true,\n 'fill-available': true,\n 'fit-content': true,\n 'contain-floats': true\n};\n\nfunction sizing(property, value) {\n if (properties.hasOwnProperty(property) && values.hasOwnProperty(value)) {\n return prefixes.map(function (prefix) {\n return prefix + value;\n });\n }\n}","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = transition;\n\nvar _hyphenateProperty = require('css-in-js-utils/lib/hyphenateProperty');\n\nvar _hyphenateProperty2 = _interopRequireDefault(_hyphenateProperty);\n\nvar _isPrefixedValue = require('css-in-js-utils/lib/isPrefixedValue');\n\nvar _isPrefixedValue2 = _interopRequireDefault(_isPrefixedValue);\n\nvar _capitalizeString = require('../utils/capitalizeString');\n\nvar _capitalizeString2 = _interopRequireDefault(_capitalizeString);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar properties = {\n transition: true,\n transitionProperty: true,\n WebkitTransition: true,\n WebkitTransitionProperty: true,\n MozTransition: true,\n MozTransitionProperty: true\n};\n\nvar prefixMapping = {\n Webkit: '-webkit-',\n Moz: '-moz-',\n ms: '-ms-'\n};\n\nfunction prefixValue(value, propertyPrefixMap) {\n if ((0, _isPrefixedValue2.default)(value)) {\n return value;\n }\n\n // only split multi values, not cubic beziers\n var multipleValues = value.split(/,(?![^()]*(?:\\([^()]*\\))?\\))/g);\n\n for (var i = 0, len = multipleValues.length; i < len; ++i) {\n var singleValue = multipleValues[i];\n var values = [singleValue];\n for (var property in propertyPrefixMap) {\n var dashCaseProperty = (0, _hyphenateProperty2.default)(property);\n\n if (singleValue.indexOf(dashCaseProperty) > -1 && dashCaseProperty !== 'order') {\n var prefixes = propertyPrefixMap[property];\n for (var j = 0, pLen = prefixes.length; j < pLen; ++j) {\n // join all prefixes and create a new value\n values.unshift(singleValue.replace(dashCaseProperty, prefixMapping[prefixes[j]] + dashCaseProperty));\n }\n }\n }\n\n multipleValues[i] = values.join(',');\n }\n\n return multipleValues.join(',');\n}\n\nfunction transition(property, value, style, propertyPrefixMap) {\n // also check for already prefixed transitions\n if (typeof value === 'string' && properties.hasOwnProperty(property)) {\n var outputValue = prefixValue(value, propertyPrefixMap);\n // if the property is already prefixed\n var webkitOutput = outputValue.split(/,(?![^()]*(?:\\([^()]*\\))?\\))/g).filter(function (val) {\n return !/-moz-|-ms-/.test(val);\n }).join(',');\n\n if (property.indexOf('Webkit') > -1) {\n return webkitOutput;\n }\n\n var mozOutput = outputValue.split(/,(?![^()]*(?:\\([^()]*\\))?\\))/g).filter(function (val) {\n return !/-webkit-|-ms-/.test(val);\n }).join(',');\n\n if (property.indexOf('Moz') > -1) {\n return mozOutput;\n }\n\n style['Webkit' + (0, _capitalizeString2.default)(property)] = webkitOutput;\n style['Moz' + (0, _capitalizeString2.default)(property)] = mozOutput;\n return outputValue;\n }\n}","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = addNewValuesOnly;\nfunction addIfNew(list, value) {\n if (list.indexOf(value) === -1) {\n list.push(value);\n }\n}\n\nfunction addNewValuesOnly(list, values) {\n if (Array.isArray(values)) {\n for (var i = 0, len = values.length; i < len; ++i) {\n addIfNew(list, values[i]);\n }\n } else {\n addIfNew(list, values);\n }\n}","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = capitalizeString;\nfunction capitalizeString(str) {\n return str.charAt(0).toUpperCase() + str.slice(1);\n}","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = isObject;\nfunction isObject(value) {\n return value instanceof Object && !Array.isArray(value);\n}","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = prefixProperty;\n\nvar _capitalizeString = require('./capitalizeString');\n\nvar _capitalizeString2 = _interopRequireDefault(_capitalizeString);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction prefixProperty(prefixProperties, property, style) {\n var requiredPrefixes = prefixProperties[property];\n\n if (requiredPrefixes && style.hasOwnProperty(property)) {\n var capitalizedProperty = (0, _capitalizeString2.default)(property);\n\n for (var i = 0; i < requiredPrefixes.length; ++i) {\n var prefixedProperty = requiredPrefixes[i] + capitalizedProperty;\n\n if (!style[prefixedProperty]) {\n style[prefixedProperty] = style[property];\n }\n }\n }\n\n return style;\n}","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = prefixValue;\nfunction prefixValue(plugins, property, value, style, metaData) {\n for (var i = 0, len = plugins.length; i < len; ++i) {\n var processedValue = plugins[i](property, value, style, metaData);\n\n // we can stop processing if a value is returned\n // as all plugin criteria are unique\n if (processedValue) {\n return processedValue;\n }\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\n/**\n * Use invariant() to assert state which your program assumes to be true.\n *\n * Provide sprintf-style format (only %s is supported) and arguments\n * to provide information about what broke and what you were\n * expecting.\n *\n * The invariant message will be stripped in production, but the invariant\n * will remain to ensure logic does not differ in production.\n */\n\nvar invariant = function(condition, format, a, b, c, d, e, f) {\n if (process.env.NODE_ENV !== 'production') {\n if (format === undefined) {\n throw new Error('invariant requires an error message argument');\n }\n }\n\n if (!condition) {\n var error;\n if (format === undefined) {\n error = new Error(\n 'Minified exception occurred; use the non-minified dev environment ' +\n 'for the full error message and additional helpful warnings.'\n );\n } else {\n var args = [a, b, c, d, e, f];\n var argIndex = 0;\n error = new Error(\n format.replace(/%s/g, function() { return args[argIndex++]; })\n );\n error.name = 'Invariant Violation';\n }\n\n error.framesToPop = 1; // we don't care about invariant's own frame\n throw error;\n }\n};\n\nmodule.exports = invariant;\n","var getNative = require('./_getNative'),\n root = require('./_root');\n\n/* Built-in method references that are verified to be native. */\nvar DataView = getNative(root, 'DataView');\n\nmodule.exports = DataView;\n","var hashClear = require('./_hashClear'),\n hashDelete = require('./_hashDelete'),\n hashGet = require('./_hashGet'),\n hashHas = require('./_hashHas'),\n hashSet = require('./_hashSet');\n\n/**\n * Creates a hash object.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction Hash(entries) {\n var index = -1,\n length = entries == null ? 0 : entries.length;\n\n this.clear();\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\n}\n\n// Add methods to `Hash`.\nHash.prototype.clear = hashClear;\nHash.prototype['delete'] = hashDelete;\nHash.prototype.get = hashGet;\nHash.prototype.has = hashHas;\nHash.prototype.set = hashSet;\n\nmodule.exports = Hash;\n","var listCacheClear = require('./_listCacheClear'),\n listCacheDelete = require('./_listCacheDelete'),\n listCacheGet = require('./_listCacheGet'),\n listCacheHas = require('./_listCacheHas'),\n listCacheSet = require('./_listCacheSet');\n\n/**\n * Creates an list cache object.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction ListCache(entries) {\n var index = -1,\n length = entries == null ? 0 : entries.length;\n\n this.clear();\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\n}\n\n// Add methods to `ListCache`.\nListCache.prototype.clear = listCacheClear;\nListCache.prototype['delete'] = listCacheDelete;\nListCache.prototype.get = listCacheGet;\nListCache.prototype.has = listCacheHas;\nListCache.prototype.set = listCacheSet;\n\nmodule.exports = ListCache;\n","var getNative = require('./_getNative'),\n root = require('./_root');\n\n/* Built-in method references that are verified to be native. */\nvar Map = getNative(root, 'Map');\n\nmodule.exports = Map;\n","var mapCacheClear = require('./_mapCacheClear'),\n mapCacheDelete = require('./_mapCacheDelete'),\n mapCacheGet = require('./_mapCacheGet'),\n mapCacheHas = require('./_mapCacheHas'),\n mapCacheSet = require('./_mapCacheSet');\n\n/**\n * Creates a map cache object to store key-value pairs.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction MapCache(entries) {\n var index = -1,\n length = entries == null ? 0 : entries.length;\n\n this.clear();\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\n}\n\n// Add methods to `MapCache`.\nMapCache.prototype.clear = mapCacheClear;\nMapCache.prototype['delete'] = mapCacheDelete;\nMapCache.prototype.get = mapCacheGet;\nMapCache.prototype.has = mapCacheHas;\nMapCache.prototype.set = mapCacheSet;\n\nmodule.exports = MapCache;\n","var getNative = require('./_getNative'),\n root = require('./_root');\n\n/* Built-in method references that are verified to be native. */\nvar Promise = getNative(root, 'Promise');\n\nmodule.exports = Promise;\n","var getNative = require('./_getNative'),\n root = require('./_root');\n\n/* Built-in method references that are verified to be native. */\nvar Set = getNative(root, 'Set');\n\nmodule.exports = Set;\n","var MapCache = require('./_MapCache'),\n setCacheAdd = require('./_setCacheAdd'),\n setCacheHas = require('./_setCacheHas');\n\n/**\n *\n * Creates an array cache object to store unique values.\n *\n * @private\n * @constructor\n * @param {Array} [values] The values to cache.\n */\nfunction SetCache(values) {\n var index = -1,\n length = values == null ? 0 : values.length;\n\n this.__data__ = new MapCache;\n while (++index < length) {\n this.add(values[index]);\n }\n}\n\n// Add methods to `SetCache`.\nSetCache.prototype.add = SetCache.prototype.push = setCacheAdd;\nSetCache.prototype.has = setCacheHas;\n\nmodule.exports = SetCache;\n","var ListCache = require('./_ListCache'),\n stackClear = require('./_stackClear'),\n stackDelete = require('./_stackDelete'),\n stackGet = require('./_stackGet'),\n stackHas = require('./_stackHas'),\n stackSet = require('./_stackSet');\n\n/**\n * Creates a stack cache object to store key-value pairs.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction Stack(entries) {\n var data = this.__data__ = new ListCache(entries);\n this.size = data.size;\n}\n\n// Add methods to `Stack`.\nStack.prototype.clear = stackClear;\nStack.prototype['delete'] = stackDelete;\nStack.prototype.get = stackGet;\nStack.prototype.has = stackHas;\nStack.prototype.set = stackSet;\n\nmodule.exports = Stack;\n","var root = require('./_root');\n\n/** Built-in value references. */\nvar Symbol = root.Symbol;\n\nmodule.exports = Symbol;\n","var root = require('./_root');\n\n/** Built-in value references. */\nvar Uint8Array = root.Uint8Array;\n\nmodule.exports = Uint8Array;\n","var getNative = require('./_getNative'),\n root = require('./_root');\n\n/* Built-in method references that are verified to be native. */\nvar WeakMap = getNative(root, 'WeakMap');\n\nmodule.exports = WeakMap;\n","/**\n * A faster alternative to `Function#apply`, this function invokes `func`\n * with the `this` binding of `thisArg` and the arguments of `args`.\n *\n * @private\n * @param {Function} func The function to invoke.\n * @param {*} thisArg The `this` binding of `func`.\n * @param {Array} args The arguments to invoke `func` with.\n * @returns {*} Returns the result of `func`.\n */\nfunction apply(func, thisArg, args) {\n switch (args.length) {\n case 0: return func.call(thisArg);\n case 1: return func.call(thisArg, args[0]);\n case 2: return func.call(thisArg, args[0], args[1]);\n case 3: return func.call(thisArg, args[0], args[1], args[2]);\n }\n return func.apply(thisArg, args);\n}\n\nmodule.exports = apply;\n","/**\n * A specialized version of `_.filter` for arrays without support for\n * iteratee shorthands.\n *\n * @private\n * @param {Array} [array] The array to iterate over.\n * @param {Function} predicate The function invoked per iteration.\n * @returns {Array} Returns the new filtered array.\n */\nfunction arrayFilter(array, predicate) {\n var index = -1,\n length = array == null ? 0 : array.length,\n resIndex = 0,\n result = [];\n\n while (++index < length) {\n var value = array[index];\n if (predicate(value, index, array)) {\n result[resIndex++] = value;\n }\n }\n return result;\n}\n\nmodule.exports = arrayFilter;\n","var baseIndexOf = require('./_baseIndexOf');\n\n/**\n * A specialized version of `_.includes` for arrays without support for\n * specifying an index to search from.\n *\n * @private\n * @param {Array} [array] The array to inspect.\n * @param {*} target The value to search for.\n * @returns {boolean} Returns `true` if `target` is found, else `false`.\n */\nfunction arrayIncludes(array, value) {\n var length = array == null ? 0 : array.length;\n return !!length && baseIndexOf(array, value, 0) > -1;\n}\n\nmodule.exports = arrayIncludes;\n","/**\n * This function is like `arrayIncludes` except that it accepts a comparator.\n *\n * @private\n * @param {Array} [array] The array to inspect.\n * @param {*} target The value to search for.\n * @param {Function} comparator The comparator invoked per element.\n * @returns {boolean} Returns `true` if `target` is found, else `false`.\n */\nfunction arrayIncludesWith(array, value, comparator) {\n var index = -1,\n length = array == null ? 0 : array.length;\n\n while (++index < length) {\n if (comparator(value, array[index])) {\n return true;\n }\n }\n return false;\n}\n\nmodule.exports = arrayIncludesWith;\n","var baseTimes = require('./_baseTimes'),\n isArguments = require('./isArguments'),\n isArray = require('./isArray'),\n isBuffer = require('./isBuffer'),\n isIndex = require('./_isIndex'),\n isTypedArray = require('./isTypedArray');\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Creates an array of the enumerable property names of the array-like `value`.\n *\n * @private\n * @param {*} value The value to query.\n * @param {boolean} inherited Specify returning inherited property names.\n * @returns {Array} Returns the array of property names.\n */\nfunction arrayLikeKeys(value, inherited) {\n var isArr = isArray(value),\n isArg = !isArr && isArguments(value),\n isBuff = !isArr && !isArg && isBuffer(value),\n isType = !isArr && !isArg && !isBuff && isTypedArray(value),\n skipIndexes = isArr || isArg || isBuff || isType,\n result = skipIndexes ? baseTimes(value.length, String) : [],\n length = result.length;\n\n for (var key in value) {\n if ((inherited || hasOwnProperty.call(value, key)) &&\n !(skipIndexes && (\n // Safari 9 has enumerable `arguments.length` in strict mode.\n key == 'length' ||\n // Node.js 0.10 has enumerable non-index properties on buffers.\n (isBuff && (key == 'offset' || key == 'parent')) ||\n // PhantomJS 2 has enumerable non-index properties on typed arrays.\n (isType && (key == 'buffer' || key == 'byteLength' || key == 'byteOffset')) ||\n // Skip index properties.\n isIndex(key, length)\n ))) {\n result.push(key);\n }\n }\n return result;\n}\n\nmodule.exports = arrayLikeKeys;\n","/**\n * A specialized version of `_.map` for arrays without support for iteratee\n * shorthands.\n *\n * @private\n * @param {Array} [array] The array to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Array} Returns the new mapped array.\n */\nfunction arrayMap(array, iteratee) {\n var index = -1,\n length = array == null ? 0 : array.length,\n result = Array(length);\n\n while (++index < length) {\n result[index] = iteratee(array[index], index, array);\n }\n return result;\n}\n\nmodule.exports = arrayMap;\n","/**\n * Appends the elements of `values` to `array`.\n *\n * @private\n * @param {Array} array The array to modify.\n * @param {Array} values The values to append.\n * @returns {Array} Returns `array`.\n */\nfunction arrayPush(array, values) {\n var index = -1,\n length = values.length,\n offset = array.length;\n\n while (++index < length) {\n array[offset + index] = values[index];\n }\n return array;\n}\n\nmodule.exports = arrayPush;\n","/**\n * A specialized version of `_.some` for arrays without support for iteratee\n * shorthands.\n *\n * @private\n * @param {Array} [array] The array to iterate over.\n * @param {Function} predicate The function invoked per iteration.\n * @returns {boolean} Returns `true` if any element passes the predicate check,\n * else `false`.\n */\nfunction arraySome(array, predicate) {\n var index = -1,\n length = array == null ? 0 : array.length;\n\n while (++index < length) {\n if (predicate(array[index], index, array)) {\n return true;\n }\n }\n return false;\n}\n\nmodule.exports = arraySome;\n","var baseAssignValue = require('./_baseAssignValue'),\n eq = require('./eq');\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Assigns `value` to `key` of `object` if the existing value is not equivalent\n * using [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)\n * for equality comparisons.\n *\n * @private\n * @param {Object} object The object to modify.\n * @param {string} key The key of the property to assign.\n * @param {*} value The value to assign.\n */\nfunction assignValue(object, key, value) {\n var objValue = object[key];\n if (!(hasOwnProperty.call(object, key) && eq(objValue, value)) ||\n (value === undefined && !(key in object))) {\n baseAssignValue(object, key, value);\n }\n}\n\nmodule.exports = assignValue;\n","var eq = require('./eq');\n\n/**\n * Gets the index at which the `key` is found in `array` of key-value pairs.\n *\n * @private\n * @param {Array} array The array to inspect.\n * @param {*} key The key to search for.\n * @returns {number} Returns the index of the matched value, else `-1`.\n */\nfunction assocIndexOf(array, key) {\n var length = array.length;\n while (length--) {\n if (eq(array[length][0], key)) {\n return length;\n }\n }\n return -1;\n}\n\nmodule.exports = assocIndexOf;\n","var defineProperty = require('./_defineProperty');\n\n/**\n * The base implementation of `assignValue` and `assignMergeValue` without\n * value checks.\n *\n * @private\n * @param {Object} object The object to modify.\n * @param {string} key The key of the property to assign.\n * @param {*} value The value to assign.\n */\nfunction baseAssignValue(object, key, value) {\n if (key == '__proto__' && defineProperty) {\n defineProperty(object, key, {\n 'configurable': true,\n 'enumerable': true,\n 'value': value,\n 'writable': true\n });\n } else {\n object[key] = value;\n }\n}\n\nmodule.exports = baseAssignValue;\n","var SetCache = require('./_SetCache'),\n arrayIncludes = require('./_arrayIncludes'),\n arrayIncludesWith = require('./_arrayIncludesWith'),\n arrayMap = require('./_arrayMap'),\n baseUnary = require('./_baseUnary'),\n cacheHas = require('./_cacheHas');\n\n/** Used as the size to enable large array optimizations. */\nvar LARGE_ARRAY_SIZE = 200;\n\n/**\n * The base implementation of methods like `_.difference` without support\n * for excluding multiple arrays or iteratee shorthands.\n *\n * @private\n * @param {Array} array The array to inspect.\n * @param {Array} values The values to exclude.\n * @param {Function} [iteratee] The iteratee invoked per element.\n * @param {Function} [comparator] The comparator invoked per element.\n * @returns {Array} Returns the new array of filtered values.\n */\nfunction baseDifference(array, values, iteratee, comparator) {\n var index = -1,\n includes = arrayIncludes,\n isCommon = true,\n length = array.length,\n result = [],\n valuesLength = values.length;\n\n if (!length) {\n return result;\n }\n if (iteratee) {\n values = arrayMap(values, baseUnary(iteratee));\n }\n if (comparator) {\n includes = arrayIncludesWith;\n isCommon = false;\n }\n else if (values.length >= LARGE_ARRAY_SIZE) {\n includes = cacheHas;\n isCommon = false;\n values = new SetCache(values);\n }\n outer:\n while (++index < length) {\n var value = array[index],\n computed = iteratee == null ? value : iteratee(value);\n\n value = (comparator || value !== 0) ? value : 0;\n if (isCommon && computed === computed) {\n var valuesIndex = valuesLength;\n while (valuesIndex--) {\n if (values[valuesIndex] === computed) {\n continue outer;\n }\n }\n result.push(value);\n }\n else if (!includes(values, computed, comparator)) {\n result.push(value);\n }\n }\n return result;\n}\n\nmodule.exports = baseDifference;\n","/**\n * The base implementation of `_.findIndex` and `_.findLastIndex` without\n * support for iteratee shorthands.\n *\n * @private\n * @param {Array} array The array to inspect.\n * @param {Function} predicate The function invoked per iteration.\n * @param {number} fromIndex The index to search from.\n * @param {boolean} [fromRight] Specify iterating from right to left.\n * @returns {number} Returns the index of the matched value, else `-1`.\n */\nfunction baseFindIndex(array, predicate, fromIndex, fromRight) {\n var length = array.length,\n index = fromIndex + (fromRight ? 1 : -1);\n\n while ((fromRight ? index-- : ++index < length)) {\n if (predicate(array[index], index, array)) {\n return index;\n }\n }\n return -1;\n}\n\nmodule.exports = baseFindIndex;\n","var arrayPush = require('./_arrayPush'),\n isFlattenable = require('./_isFlattenable');\n\n/**\n * The base implementation of `_.flatten` with support for restricting flattening.\n *\n * @private\n * @param {Array} array The array to flatten.\n * @param {number} depth The maximum recursion depth.\n * @param {boolean} [predicate=isFlattenable] The function invoked per iteration.\n * @param {boolean} [isStrict] Restrict to values that pass `predicate` checks.\n * @param {Array} [result=[]] The initial result value.\n * @returns {Array} Returns the new flattened array.\n */\nfunction baseFlatten(array, depth, predicate, isStrict, result) {\n var index = -1,\n length = array.length;\n\n predicate || (predicate = isFlattenable);\n result || (result = []);\n\n while (++index < length) {\n var value = array[index];\n if (depth > 0 && predicate(value)) {\n if (depth > 1) {\n // Recursively flatten arrays (susceptible to call stack limits).\n baseFlatten(value, depth - 1, predicate, isStrict, result);\n } else {\n arrayPush(result, value);\n }\n } else if (!isStrict) {\n result[result.length] = value;\n }\n }\n return result;\n}\n\nmodule.exports = baseFlatten;\n","var castPath = require('./_castPath'),\n toKey = require('./_toKey');\n\n/**\n * The base implementation of `_.get` without support for default values.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {Array|string} path The path of the property to get.\n * @returns {*} Returns the resolved value.\n */\nfunction baseGet(object, path) {\n path = castPath(path, object);\n\n var index = 0,\n length = path.length;\n\n while (object != null && index < length) {\n object = object[toKey(path[index++])];\n }\n return (index && index == length) ? object : undefined;\n}\n\nmodule.exports = baseGet;\n","var arrayPush = require('./_arrayPush'),\n isArray = require('./isArray');\n\n/**\n * The base implementation of `getAllKeys` and `getAllKeysIn` which uses\n * `keysFunc` and `symbolsFunc` to get the enumerable property names and\n * symbols of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {Function} keysFunc The function to get the keys of `object`.\n * @param {Function} symbolsFunc The function to get the symbols of `object`.\n * @returns {Array} Returns the array of property names and symbols.\n */\nfunction baseGetAllKeys(object, keysFunc, symbolsFunc) {\n var result = keysFunc(object);\n return isArray(object) ? result : arrayPush(result, symbolsFunc(object));\n}\n\nmodule.exports = baseGetAllKeys;\n","var Symbol = require('./_Symbol'),\n getRawTag = require('./_getRawTag'),\n objectToString = require('./_objectToString');\n\n/** `Object#toString` result references. */\nvar nullTag = '[object Null]',\n undefinedTag = '[object Undefined]';\n\n/** Built-in value references. */\nvar symToStringTag = Symbol ? Symbol.toStringTag : undefined;\n\n/**\n * The base implementation of `getTag` without fallbacks for buggy environments.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the `toStringTag`.\n */\nfunction baseGetTag(value) {\n if (value == null) {\n return value === undefined ? undefinedTag : nullTag;\n }\n return (symToStringTag && symToStringTag in Object(value))\n ? getRawTag(value)\n : objectToString(value);\n}\n\nmodule.exports = baseGetTag;\n","/**\n * The base implementation of `_.hasIn` without support for deep paths.\n *\n * @private\n * @param {Object} [object] The object to query.\n * @param {Array|string} key The key to check.\n * @returns {boolean} Returns `true` if `key` exists, else `false`.\n */\nfunction baseHasIn(object, key) {\n return object != null && key in Object(object);\n}\n\nmodule.exports = baseHasIn;\n","var baseFindIndex = require('./_baseFindIndex'),\n baseIsNaN = require('./_baseIsNaN'),\n strictIndexOf = require('./_strictIndexOf');\n\n/**\n * The base implementation of `_.indexOf` without `fromIndex` bounds checks.\n *\n * @private\n * @param {Array} array The array to inspect.\n * @param {*} value The value to search for.\n * @param {number} fromIndex The index to search from.\n * @returns {number} Returns the index of the matched value, else `-1`.\n */\nfunction baseIndexOf(array, value, fromIndex) {\n return value === value\n ? strictIndexOf(array, value, fromIndex)\n : baseFindIndex(array, baseIsNaN, fromIndex);\n}\n\nmodule.exports = baseIndexOf;\n","var baseGetTag = require('./_baseGetTag'),\n isObjectLike = require('./isObjectLike');\n\n/** `Object#toString` result references. */\nvar argsTag = '[object Arguments]';\n\n/**\n * The base implementation of `_.isArguments`.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an `arguments` object,\n */\nfunction baseIsArguments(value) {\n return isObjectLike(value) && baseGetTag(value) == argsTag;\n}\n\nmodule.exports = baseIsArguments;\n","var baseIsEqualDeep = require('./_baseIsEqualDeep'),\n isObjectLike = require('./isObjectLike');\n\n/**\n * The base implementation of `_.isEqual` which supports partial comparisons\n * and tracks traversed objects.\n *\n * @private\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @param {boolean} bitmask The bitmask flags.\n * 1 - Unordered comparison\n * 2 - Partial comparison\n * @param {Function} [customizer] The function to customize comparisons.\n * @param {Object} [stack] Tracks traversed `value` and `other` objects.\n * @returns {boolean} Returns `true` if the values are equivalent, else `false`.\n */\nfunction baseIsEqual(value, other, bitmask, customizer, stack) {\n if (value === other) {\n return true;\n }\n if (value == null || other == null || (!isObjectLike(value) && !isObjectLike(other))) {\n return value !== value && other !== other;\n }\n return baseIsEqualDeep(value, other, bitmask, customizer, baseIsEqual, stack);\n}\n\nmodule.exports = baseIsEqual;\n","var Stack = require('./_Stack'),\n equalArrays = require('./_equalArrays'),\n equalByTag = require('./_equalByTag'),\n equalObjects = require('./_equalObjects'),\n getTag = require('./_getTag'),\n isArray = require('./isArray'),\n isBuffer = require('./isBuffer'),\n isTypedArray = require('./isTypedArray');\n\n/** Used to compose bitmasks for value comparisons. */\nvar COMPARE_PARTIAL_FLAG = 1;\n\n/** `Object#toString` result references. */\nvar argsTag = '[object Arguments]',\n arrayTag = '[object Array]',\n objectTag = '[object Object]';\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * A specialized version of `baseIsEqual` for arrays and objects which performs\n * deep comparisons and tracks traversed objects enabling objects with circular\n * references to be compared.\n *\n * @private\n * @param {Object} object The object to compare.\n * @param {Object} other The other object to compare.\n * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details.\n * @param {Function} customizer The function to customize comparisons.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Object} [stack] Tracks traversed `object` and `other` objects.\n * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.\n */\nfunction baseIsEqualDeep(object, other, bitmask, customizer, equalFunc, stack) {\n var objIsArr = isArray(object),\n othIsArr = isArray(other),\n objTag = objIsArr ? arrayTag : getTag(object),\n othTag = othIsArr ? arrayTag : getTag(other);\n\n objTag = objTag == argsTag ? objectTag : objTag;\n othTag = othTag == argsTag ? objectTag : othTag;\n\n var objIsObj = objTag == objectTag,\n othIsObj = othTag == objectTag,\n isSameTag = objTag == othTag;\n\n if (isSameTag && isBuffer(object)) {\n if (!isBuffer(other)) {\n return false;\n }\n objIsArr = true;\n objIsObj = false;\n }\n if (isSameTag && !objIsObj) {\n stack || (stack = new Stack);\n return (objIsArr || isTypedArray(object))\n ? equalArrays(object, other, bitmask, customizer, equalFunc, stack)\n : equalByTag(object, other, objTag, bitmask, customizer, equalFunc, stack);\n }\n if (!(bitmask & COMPARE_PARTIAL_FLAG)) {\n var objIsWrapped = objIsObj && hasOwnProperty.call(object, '__wrapped__'),\n othIsWrapped = othIsObj && hasOwnProperty.call(other, '__wrapped__');\n\n if (objIsWrapped || othIsWrapped) {\n var objUnwrapped = objIsWrapped ? object.value() : object,\n othUnwrapped = othIsWrapped ? other.value() : other;\n\n stack || (stack = new Stack);\n return equalFunc(objUnwrapped, othUnwrapped, bitmask, customizer, stack);\n }\n }\n if (!isSameTag) {\n return false;\n }\n stack || (stack = new Stack);\n return equalObjects(object, other, bitmask, customizer, equalFunc, stack);\n}\n\nmodule.exports = baseIsEqualDeep;\n","var Stack = require('./_Stack'),\n baseIsEqual = require('./_baseIsEqual');\n\n/** Used to compose bitmasks for value comparisons. */\nvar COMPARE_PARTIAL_FLAG = 1,\n COMPARE_UNORDERED_FLAG = 2;\n\n/**\n * The base implementation of `_.isMatch` without support for iteratee shorthands.\n *\n * @private\n * @param {Object} object The object to inspect.\n * @param {Object} source The object of property values to match.\n * @param {Array} matchData The property names, values, and compare flags to match.\n * @param {Function} [customizer] The function to customize comparisons.\n * @returns {boolean} Returns `true` if `object` is a match, else `false`.\n */\nfunction baseIsMatch(object, source, matchData, customizer) {\n var index = matchData.length,\n length = index,\n noCustomizer = !customizer;\n\n if (object == null) {\n return !length;\n }\n object = Object(object);\n while (index--) {\n var data = matchData[index];\n if ((noCustomizer && data[2])\n ? data[1] !== object[data[0]]\n : !(data[0] in object)\n ) {\n return false;\n }\n }\n while (++index < length) {\n data = matchData[index];\n var key = data[0],\n objValue = object[key],\n srcValue = data[1];\n\n if (noCustomizer && data[2]) {\n if (objValue === undefined && !(key in object)) {\n return false;\n }\n } else {\n var stack = new Stack;\n if (customizer) {\n var result = customizer(objValue, srcValue, key, object, source, stack);\n }\n if (!(result === undefined\n ? baseIsEqual(srcValue, objValue, COMPARE_PARTIAL_FLAG | COMPARE_UNORDERED_FLAG, customizer, stack)\n : result\n )) {\n return false;\n }\n }\n }\n return true;\n}\n\nmodule.exports = baseIsMatch;\n","/**\n * The base implementation of `_.isNaN` without support for number objects.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is `NaN`, else `false`.\n */\nfunction baseIsNaN(value) {\n return value !== value;\n}\n\nmodule.exports = baseIsNaN;\n","var isFunction = require('./isFunction'),\n isMasked = require('./_isMasked'),\n isObject = require('./isObject'),\n toSource = require('./_toSource');\n\n/**\n * Used to match `RegExp`\n * [syntax characters](http://ecma-international.org/ecma-262/7.0/#sec-patterns).\n */\nvar reRegExpChar = /[\\\\^$.*+?()[\\]{}|]/g;\n\n/** Used to detect host constructors (Safari). */\nvar reIsHostCtor = /^\\[object .+?Constructor\\]$/;\n\n/** Used for built-in method references. */\nvar funcProto = Function.prototype,\n objectProto = Object.prototype;\n\n/** Used to resolve the decompiled source of functions. */\nvar funcToString = funcProto.toString;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/** Used to detect if a method is native. */\nvar reIsNative = RegExp('^' +\n funcToString.call(hasOwnProperty).replace(reRegExpChar, '\\\\$&')\n .replace(/hasOwnProperty|(function).*?(?=\\\\\\()| for .+?(?=\\\\\\])/g, '$1.*?') + '$'\n);\n\n/**\n * The base implementation of `_.isNative` without bad shim checks.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a native function,\n * else `false`.\n */\nfunction baseIsNative(value) {\n if (!isObject(value) || isMasked(value)) {\n return false;\n }\n var pattern = isFunction(value) ? reIsNative : reIsHostCtor;\n return pattern.test(toSource(value));\n}\n\nmodule.exports = baseIsNative;\n","var baseGetTag = require('./_baseGetTag'),\n isLength = require('./isLength'),\n isObjectLike = require('./isObjectLike');\n\n/** `Object#toString` result references. */\nvar argsTag = '[object Arguments]',\n arrayTag = '[object Array]',\n boolTag = '[object Boolean]',\n dateTag = '[object Date]',\n errorTag = '[object Error]',\n funcTag = '[object Function]',\n mapTag = '[object Map]',\n numberTag = '[object Number]',\n objectTag = '[object Object]',\n regexpTag = '[object RegExp]',\n setTag = '[object Set]',\n stringTag = '[object String]',\n weakMapTag = '[object WeakMap]';\n\nvar arrayBufferTag = '[object ArrayBuffer]',\n dataViewTag = '[object DataView]',\n float32Tag = '[object Float32Array]',\n float64Tag = '[object Float64Array]',\n int8Tag = '[object Int8Array]',\n int16Tag = '[object Int16Array]',\n int32Tag = '[object Int32Array]',\n uint8Tag = '[object Uint8Array]',\n uint8ClampedTag = '[object Uint8ClampedArray]',\n uint16Tag = '[object Uint16Array]',\n uint32Tag = '[object Uint32Array]';\n\n/** Used to identify `toStringTag` values of typed arrays. */\nvar typedArrayTags = {};\ntypedArrayTags[float32Tag] = typedArrayTags[float64Tag] =\ntypedArrayTags[int8Tag] = typedArrayTags[int16Tag] =\ntypedArrayTags[int32Tag] = typedArrayTags[uint8Tag] =\ntypedArrayTags[uint8ClampedTag] = typedArrayTags[uint16Tag] =\ntypedArrayTags[uint32Tag] = true;\ntypedArrayTags[argsTag] = typedArrayTags[arrayTag] =\ntypedArrayTags[arrayBufferTag] = typedArrayTags[boolTag] =\ntypedArrayTags[dataViewTag] = typedArrayTags[dateTag] =\ntypedArrayTags[errorTag] = typedArrayTags[funcTag] =\ntypedArrayTags[mapTag] = typedArrayTags[numberTag] =\ntypedArrayTags[objectTag] = typedArrayTags[regexpTag] =\ntypedArrayTags[setTag] = typedArrayTags[stringTag] =\ntypedArrayTags[weakMapTag] = false;\n\n/**\n * The base implementation of `_.isTypedArray` without Node.js optimizations.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a typed array, else `false`.\n */\nfunction baseIsTypedArray(value) {\n return isObjectLike(value) &&\n isLength(value.length) && !!typedArrayTags[baseGetTag(value)];\n}\n\nmodule.exports = baseIsTypedArray;\n","var baseMatches = require('./_baseMatches'),\n baseMatchesProperty = require('./_baseMatchesProperty'),\n identity = require('./identity'),\n isArray = require('./isArray'),\n property = require('./property');\n\n/**\n * The base implementation of `_.iteratee`.\n *\n * @private\n * @param {*} [value=_.identity] The value to convert to an iteratee.\n * @returns {Function} Returns the iteratee.\n */\nfunction baseIteratee(value) {\n // Don't store the `typeof` result in a variable to avoid a JIT bug in Safari 9.\n // See https://bugs.webkit.org/show_bug.cgi?id=156034 for more details.\n if (typeof value == 'function') {\n return value;\n }\n if (value == null) {\n return identity;\n }\n if (typeof value == 'object') {\n return isArray(value)\n ? baseMatchesProperty(value[0], value[1])\n : baseMatches(value);\n }\n return property(value);\n}\n\nmodule.exports = baseIteratee;\n","var isPrototype = require('./_isPrototype'),\n nativeKeys = require('./_nativeKeys');\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * The base implementation of `_.keys` which doesn't treat sparse arrays as dense.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n */\nfunction baseKeys(object) {\n if (!isPrototype(object)) {\n return nativeKeys(object);\n }\n var result = [];\n for (var key in Object(object)) {\n if (hasOwnProperty.call(object, key) && key != 'constructor') {\n result.push(key);\n }\n }\n return result;\n}\n\nmodule.exports = baseKeys;\n","var baseIsMatch = require('./_baseIsMatch'),\n getMatchData = require('./_getMatchData'),\n matchesStrictComparable = require('./_matchesStrictComparable');\n\n/**\n * The base implementation of `_.matches` which doesn't clone `source`.\n *\n * @private\n * @param {Object} source The object of property values to match.\n * @returns {Function} Returns the new spec function.\n */\nfunction baseMatches(source) {\n var matchData = getMatchData(source);\n if (matchData.length == 1 && matchData[0][2]) {\n return matchesStrictComparable(matchData[0][0], matchData[0][1]);\n }\n return function(object) {\n return object === source || baseIsMatch(object, source, matchData);\n };\n}\n\nmodule.exports = baseMatches;\n","var baseIsEqual = require('./_baseIsEqual'),\n get = require('./get'),\n hasIn = require('./hasIn'),\n isKey = require('./_isKey'),\n isStrictComparable = require('./_isStrictComparable'),\n matchesStrictComparable = require('./_matchesStrictComparable'),\n toKey = require('./_toKey');\n\n/** Used to compose bitmasks for value comparisons. */\nvar COMPARE_PARTIAL_FLAG = 1,\n COMPARE_UNORDERED_FLAG = 2;\n\n/**\n * The base implementation of `_.matchesProperty` which doesn't clone `srcValue`.\n *\n * @private\n * @param {string} path The path of the property to get.\n * @param {*} srcValue The value to match.\n * @returns {Function} Returns the new spec function.\n */\nfunction baseMatchesProperty(path, srcValue) {\n if (isKey(path) && isStrictComparable(srcValue)) {\n return matchesStrictComparable(toKey(path), srcValue);\n }\n return function(object) {\n var objValue = get(object, path);\n return (objValue === undefined && objValue === srcValue)\n ? hasIn(object, path)\n : baseIsEqual(srcValue, objValue, COMPARE_PARTIAL_FLAG | COMPARE_UNORDERED_FLAG);\n };\n}\n\nmodule.exports = baseMatchesProperty;\n","/**\n * The base implementation of `_.property` without support for deep paths.\n *\n * @private\n * @param {string} key The key of the property to get.\n * @returns {Function} Returns the new accessor function.\n */\nfunction baseProperty(key) {\n return function(object) {\n return object == null ? undefined : object[key];\n };\n}\n\nmodule.exports = baseProperty;\n","var baseGet = require('./_baseGet');\n\n/**\n * A specialized version of `baseProperty` which supports deep paths.\n *\n * @private\n * @param {Array|string} path The path of the property to get.\n * @returns {Function} Returns the new accessor function.\n */\nfunction basePropertyDeep(path) {\n return function(object) {\n return baseGet(object, path);\n };\n}\n\nmodule.exports = basePropertyDeep;\n","var identity = require('./identity'),\n overRest = require('./_overRest'),\n setToString = require('./_setToString');\n\n/**\n * The base implementation of `_.rest` which doesn't validate or coerce arguments.\n *\n * @private\n * @param {Function} func The function to apply a rest parameter to.\n * @param {number} [start=func.length-1] The start position of the rest parameter.\n * @returns {Function} Returns the new function.\n */\nfunction baseRest(func, start) {\n return setToString(overRest(func, start, identity), func + '');\n}\n\nmodule.exports = baseRest;\n","var constant = require('./constant'),\n defineProperty = require('./_defineProperty'),\n identity = require('./identity');\n\n/**\n * The base implementation of `setToString` without support for hot loop shorting.\n *\n * @private\n * @param {Function} func The function to modify.\n * @param {Function} string The `toString` result.\n * @returns {Function} Returns `func`.\n */\nvar baseSetToString = !defineProperty ? identity : function(func, string) {\n return defineProperty(func, 'toString', {\n 'configurable': true,\n 'enumerable': false,\n 'value': constant(string),\n 'writable': true\n });\n};\n\nmodule.exports = baseSetToString;\n","/**\n * The base implementation of `_.times` without support for iteratee shorthands\n * or max array length checks.\n *\n * @private\n * @param {number} n The number of times to invoke `iteratee`.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Array} Returns the array of results.\n */\nfunction baseTimes(n, iteratee) {\n var index = -1,\n result = Array(n);\n\n while (++index < n) {\n result[index] = iteratee(index);\n }\n return result;\n}\n\nmodule.exports = baseTimes;\n","var Symbol = require('./_Symbol'),\n arrayMap = require('./_arrayMap'),\n isArray = require('./isArray'),\n isSymbol = require('./isSymbol');\n\n/** Used as references for various `Number` constants. */\nvar INFINITY = 1 / 0;\n\n/** Used to convert symbols to primitives and strings. */\nvar symbolProto = Symbol ? Symbol.prototype : undefined,\n symbolToString = symbolProto ? symbolProto.toString : undefined;\n\n/**\n * The base implementation of `_.toString` which doesn't convert nullish\n * values to empty strings.\n *\n * @private\n * @param {*} value The value to process.\n * @returns {string} Returns the string.\n */\nfunction baseToString(value) {\n // Exit early for strings to avoid a performance hit in some environments.\n if (typeof value == 'string') {\n return value;\n }\n if (isArray(value)) {\n // Recursively convert values (susceptible to call stack limits).\n return arrayMap(value, baseToString) + '';\n }\n if (isSymbol(value)) {\n return symbolToString ? symbolToString.call(value) : '';\n }\n var result = (value + '');\n return (result == '0' && (1 / value) == -INFINITY) ? '-0' : result;\n}\n\nmodule.exports = baseToString;\n","var trimmedEndIndex = require('./_trimmedEndIndex');\n\n/** Used to match leading whitespace. */\nvar reTrimStart = /^\\s+/;\n\n/**\n * The base implementation of `_.trim`.\n *\n * @private\n * @param {string} string The string to trim.\n * @returns {string} Returns the trimmed string.\n */\nfunction baseTrim(string) {\n return string\n ? string.slice(0, trimmedEndIndex(string) + 1).replace(reTrimStart, '')\n : string;\n}\n\nmodule.exports = baseTrim;\n","/**\n * The base implementation of `_.unary` without support for storing metadata.\n *\n * @private\n * @param {Function} func The function to cap arguments for.\n * @returns {Function} Returns the new capped function.\n */\nfunction baseUnary(func) {\n return function(value) {\n return func(value);\n };\n}\n\nmodule.exports = baseUnary;\n","/**\n * Checks if a `cache` value for `key` exists.\n *\n * @private\n * @param {Object} cache The cache to query.\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction cacheHas(cache, key) {\n return cache.has(key);\n}\n\nmodule.exports = cacheHas;\n","var isArray = require('./isArray'),\n isKey = require('./_isKey'),\n stringToPath = require('./_stringToPath'),\n toString = require('./toString');\n\n/**\n * Casts `value` to a path array if it's not one.\n *\n * @private\n * @param {*} value The value to inspect.\n * @param {Object} [object] The object to query keys on.\n * @returns {Array} Returns the cast property path array.\n */\nfunction castPath(value, object) {\n if (isArray(value)) {\n return value;\n }\n return isKey(value, object) ? [value] : stringToPath(toString(value));\n}\n\nmodule.exports = castPath;\n","var assignValue = require('./_assignValue'),\n baseAssignValue = require('./_baseAssignValue');\n\n/**\n * Copies properties of `source` to `object`.\n *\n * @private\n * @param {Object} source The object to copy properties from.\n * @param {Array} props The property identifiers to copy.\n * @param {Object} [object={}] The object to copy properties to.\n * @param {Function} [customizer] The function to customize copied values.\n * @returns {Object} Returns `object`.\n */\nfunction copyObject(source, props, object, customizer) {\n var isNew = !object;\n object || (object = {});\n\n var index = -1,\n length = props.length;\n\n while (++index < length) {\n var key = props[index];\n\n var newValue = customizer\n ? customizer(object[key], source[key], key, object, source)\n : undefined;\n\n if (newValue === undefined) {\n newValue = source[key];\n }\n if (isNew) {\n baseAssignValue(object, key, newValue);\n } else {\n assignValue(object, key, newValue);\n }\n }\n return object;\n}\n\nmodule.exports = copyObject;\n","var root = require('./_root');\n\n/** Used to detect overreaching core-js shims. */\nvar coreJsData = root['__core-js_shared__'];\n\nmodule.exports = coreJsData;\n","var baseRest = require('./_baseRest'),\n isIterateeCall = require('./_isIterateeCall');\n\n/**\n * Creates a function like `_.assign`.\n *\n * @private\n * @param {Function} assigner The function to assign values.\n * @returns {Function} Returns the new assigner function.\n */\nfunction createAssigner(assigner) {\n return baseRest(function(object, sources) {\n var index = -1,\n length = sources.length,\n customizer = length > 1 ? sources[length - 1] : undefined,\n guard = length > 2 ? sources[2] : undefined;\n\n customizer = (assigner.length > 3 && typeof customizer == 'function')\n ? (length--, customizer)\n : undefined;\n\n if (guard && isIterateeCall(sources[0], sources[1], guard)) {\n customizer = length < 3 ? undefined : customizer;\n length = 1;\n }\n object = Object(object);\n while (++index < length) {\n var source = sources[index];\n if (source) {\n assigner(object, source, index, customizer);\n }\n }\n return object;\n });\n}\n\nmodule.exports = createAssigner;\n","var getNative = require('./_getNative');\n\nvar defineProperty = (function() {\n try {\n var func = getNative(Object, 'defineProperty');\n func({}, '', {});\n return func;\n } catch (e) {}\n}());\n\nmodule.exports = defineProperty;\n","var SetCache = require('./_SetCache'),\n arraySome = require('./_arraySome'),\n cacheHas = require('./_cacheHas');\n\n/** Used to compose bitmasks for value comparisons. */\nvar COMPARE_PARTIAL_FLAG = 1,\n COMPARE_UNORDERED_FLAG = 2;\n\n/**\n * A specialized version of `baseIsEqualDeep` for arrays with support for\n * partial deep comparisons.\n *\n * @private\n * @param {Array} array The array to compare.\n * @param {Array} other The other array to compare.\n * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details.\n * @param {Function} customizer The function to customize comparisons.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Object} stack Tracks traversed `array` and `other` objects.\n * @returns {boolean} Returns `true` if the arrays are equivalent, else `false`.\n */\nfunction equalArrays(array, other, bitmask, customizer, equalFunc, stack) {\n var isPartial = bitmask & COMPARE_PARTIAL_FLAG,\n arrLength = array.length,\n othLength = other.length;\n\n if (arrLength != othLength && !(isPartial && othLength > arrLength)) {\n return false;\n }\n // Check that cyclic values are equal.\n var arrStacked = stack.get(array);\n var othStacked = stack.get(other);\n if (arrStacked && othStacked) {\n return arrStacked == other && othStacked == array;\n }\n var index = -1,\n result = true,\n seen = (bitmask & COMPARE_UNORDERED_FLAG) ? new SetCache : undefined;\n\n stack.set(array, other);\n stack.set(other, array);\n\n // Ignore non-index properties.\n while (++index < arrLength) {\n var arrValue = array[index],\n othValue = other[index];\n\n if (customizer) {\n var compared = isPartial\n ? customizer(othValue, arrValue, index, other, array, stack)\n : customizer(arrValue, othValue, index, array, other, stack);\n }\n if (compared !== undefined) {\n if (compared) {\n continue;\n }\n result = false;\n break;\n }\n // Recursively compare arrays (susceptible to call stack limits).\n if (seen) {\n if (!arraySome(other, function(othValue, othIndex) {\n if (!cacheHas(seen, othIndex) &&\n (arrValue === othValue || equalFunc(arrValue, othValue, bitmask, customizer, stack))) {\n return seen.push(othIndex);\n }\n })) {\n result = false;\n break;\n }\n } else if (!(\n arrValue === othValue ||\n equalFunc(arrValue, othValue, bitmask, customizer, stack)\n )) {\n result = false;\n break;\n }\n }\n stack['delete'](array);\n stack['delete'](other);\n return result;\n}\n\nmodule.exports = equalArrays;\n","var Symbol = require('./_Symbol'),\n Uint8Array = require('./_Uint8Array'),\n eq = require('./eq'),\n equalArrays = require('./_equalArrays'),\n mapToArray = require('./_mapToArray'),\n setToArray = require('./_setToArray');\n\n/** Used to compose bitmasks for value comparisons. */\nvar COMPARE_PARTIAL_FLAG = 1,\n COMPARE_UNORDERED_FLAG = 2;\n\n/** `Object#toString` result references. */\nvar boolTag = '[object Boolean]',\n dateTag = '[object Date]',\n errorTag = '[object Error]',\n mapTag = '[object Map]',\n numberTag = '[object Number]',\n regexpTag = '[object RegExp]',\n setTag = '[object Set]',\n stringTag = '[object String]',\n symbolTag = '[object Symbol]';\n\nvar arrayBufferTag = '[object ArrayBuffer]',\n dataViewTag = '[object DataView]';\n\n/** Used to convert symbols to primitives and strings. */\nvar symbolProto = Symbol ? Symbol.prototype : undefined,\n symbolValueOf = symbolProto ? symbolProto.valueOf : undefined;\n\n/**\n * A specialized version of `baseIsEqualDeep` for comparing objects of\n * the same `toStringTag`.\n *\n * **Note:** This function only supports comparing values with tags of\n * `Boolean`, `Date`, `Error`, `Number`, `RegExp`, or `String`.\n *\n * @private\n * @param {Object} object The object to compare.\n * @param {Object} other The other object to compare.\n * @param {string} tag The `toStringTag` of the objects to compare.\n * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details.\n * @param {Function} customizer The function to customize comparisons.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Object} stack Tracks traversed `object` and `other` objects.\n * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.\n */\nfunction equalByTag(object, other, tag, bitmask, customizer, equalFunc, stack) {\n switch (tag) {\n case dataViewTag:\n if ((object.byteLength != other.byteLength) ||\n (object.byteOffset != other.byteOffset)) {\n return false;\n }\n object = object.buffer;\n other = other.buffer;\n\n case arrayBufferTag:\n if ((object.byteLength != other.byteLength) ||\n !equalFunc(new Uint8Array(object), new Uint8Array(other))) {\n return false;\n }\n return true;\n\n case boolTag:\n case dateTag:\n case numberTag:\n // Coerce booleans to `1` or `0` and dates to milliseconds.\n // Invalid dates are coerced to `NaN`.\n return eq(+object, +other);\n\n case errorTag:\n return object.name == other.name && object.message == other.message;\n\n case regexpTag:\n case stringTag:\n // Coerce regexes to strings and treat strings, primitives and objects,\n // as equal. See http://www.ecma-international.org/ecma-262/7.0/#sec-regexp.prototype.tostring\n // for more details.\n return object == (other + '');\n\n case mapTag:\n var convert = mapToArray;\n\n case setTag:\n var isPartial = bitmask & COMPARE_PARTIAL_FLAG;\n convert || (convert = setToArray);\n\n if (object.size != other.size && !isPartial) {\n return false;\n }\n // Assume cyclic values are equal.\n var stacked = stack.get(object);\n if (stacked) {\n return stacked == other;\n }\n bitmask |= COMPARE_UNORDERED_FLAG;\n\n // Recursively compare objects (susceptible to call stack limits).\n stack.set(object, other);\n var result = equalArrays(convert(object), convert(other), bitmask, customizer, equalFunc, stack);\n stack['delete'](object);\n return result;\n\n case symbolTag:\n if (symbolValueOf) {\n return symbolValueOf.call(object) == symbolValueOf.call(other);\n }\n }\n return false;\n}\n\nmodule.exports = equalByTag;\n","var getAllKeys = require('./_getAllKeys');\n\n/** Used to compose bitmasks for value comparisons. */\nvar COMPARE_PARTIAL_FLAG = 1;\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * A specialized version of `baseIsEqualDeep` for objects with support for\n * partial deep comparisons.\n *\n * @private\n * @param {Object} object The object to compare.\n * @param {Object} other The other object to compare.\n * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details.\n * @param {Function} customizer The function to customize comparisons.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Object} stack Tracks traversed `object` and `other` objects.\n * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.\n */\nfunction equalObjects(object, other, bitmask, customizer, equalFunc, stack) {\n var isPartial = bitmask & COMPARE_PARTIAL_FLAG,\n objProps = getAllKeys(object),\n objLength = objProps.length,\n othProps = getAllKeys(other),\n othLength = othProps.length;\n\n if (objLength != othLength && !isPartial) {\n return false;\n }\n var index = objLength;\n while (index--) {\n var key = objProps[index];\n if (!(isPartial ? key in other : hasOwnProperty.call(other, key))) {\n return false;\n }\n }\n // Check that cyclic values are equal.\n var objStacked = stack.get(object);\n var othStacked = stack.get(other);\n if (objStacked && othStacked) {\n return objStacked == other && othStacked == object;\n }\n var result = true;\n stack.set(object, other);\n stack.set(other, object);\n\n var skipCtor = isPartial;\n while (++index < objLength) {\n key = objProps[index];\n var objValue = object[key],\n othValue = other[key];\n\n if (customizer) {\n var compared = isPartial\n ? customizer(othValue, objValue, key, other, object, stack)\n : customizer(objValue, othValue, key, object, other, stack);\n }\n // Recursively compare objects (susceptible to call stack limits).\n if (!(compared === undefined\n ? (objValue === othValue || equalFunc(objValue, othValue, bitmask, customizer, stack))\n : compared\n )) {\n result = false;\n break;\n }\n skipCtor || (skipCtor = key == 'constructor');\n }\n if (result && !skipCtor) {\n var objCtor = object.constructor,\n othCtor = other.constructor;\n\n // Non `Object` object instances with different constructors are not equal.\n if (objCtor != othCtor &&\n ('constructor' in object && 'constructor' in other) &&\n !(typeof objCtor == 'function' && objCtor instanceof objCtor &&\n typeof othCtor == 'function' && othCtor instanceof othCtor)) {\n result = false;\n }\n }\n stack['delete'](object);\n stack['delete'](other);\n return result;\n}\n\nmodule.exports = equalObjects;\n","/** Detect free variable `global` from Node.js. */\nvar freeGlobal = typeof global == 'object' && global && global.Object === Object && global;\n\nmodule.exports = freeGlobal;\n","var baseGetAllKeys = require('./_baseGetAllKeys'),\n getSymbols = require('./_getSymbols'),\n keys = require('./keys');\n\n/**\n * Creates an array of own enumerable property names and symbols of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names and symbols.\n */\nfunction getAllKeys(object) {\n return baseGetAllKeys(object, keys, getSymbols);\n}\n\nmodule.exports = getAllKeys;\n","var isKeyable = require('./_isKeyable');\n\n/**\n * Gets the data for `map`.\n *\n * @private\n * @param {Object} map The map to query.\n * @param {string} key The reference key.\n * @returns {*} Returns the map data.\n */\nfunction getMapData(map, key) {\n var data = map.__data__;\n return isKeyable(key)\n ? data[typeof key == 'string' ? 'string' : 'hash']\n : data.map;\n}\n\nmodule.exports = getMapData;\n","var isStrictComparable = require('./_isStrictComparable'),\n keys = require('./keys');\n\n/**\n * Gets the property names, values, and compare flags of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the match data of `object`.\n */\nfunction getMatchData(object) {\n var result = keys(object),\n length = result.length;\n\n while (length--) {\n var key = result[length],\n value = object[key];\n\n result[length] = [key, value, isStrictComparable(value)];\n }\n return result;\n}\n\nmodule.exports = getMatchData;\n","var baseIsNative = require('./_baseIsNative'),\n getValue = require('./_getValue');\n\n/**\n * Gets the native function at `key` of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {string} key The key of the method to get.\n * @returns {*} Returns the function if it's native, else `undefined`.\n */\nfunction getNative(object, key) {\n var value = getValue(object, key);\n return baseIsNative(value) ? value : undefined;\n}\n\nmodule.exports = getNative;\n","var Symbol = require('./_Symbol');\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar nativeObjectToString = objectProto.toString;\n\n/** Built-in value references. */\nvar symToStringTag = Symbol ? Symbol.toStringTag : undefined;\n\n/**\n * A specialized version of `baseGetTag` which ignores `Symbol.toStringTag` values.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the raw `toStringTag`.\n */\nfunction getRawTag(value) {\n var isOwn = hasOwnProperty.call(value, symToStringTag),\n tag = value[symToStringTag];\n\n try {\n value[symToStringTag] = undefined;\n var unmasked = true;\n } catch (e) {}\n\n var result = nativeObjectToString.call(value);\n if (unmasked) {\n if (isOwn) {\n value[symToStringTag] = tag;\n } else {\n delete value[symToStringTag];\n }\n }\n return result;\n}\n\nmodule.exports = getRawTag;\n","var arrayFilter = require('./_arrayFilter'),\n stubArray = require('./stubArray');\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Built-in value references. */\nvar propertyIsEnumerable = objectProto.propertyIsEnumerable;\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeGetSymbols = Object.getOwnPropertySymbols;\n\n/**\n * Creates an array of the own enumerable symbols of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of symbols.\n */\nvar getSymbols = !nativeGetSymbols ? stubArray : function(object) {\n if (object == null) {\n return [];\n }\n object = Object(object);\n return arrayFilter(nativeGetSymbols(object), function(symbol) {\n return propertyIsEnumerable.call(object, symbol);\n });\n};\n\nmodule.exports = getSymbols;\n","var DataView = require('./_DataView'),\n Map = require('./_Map'),\n Promise = require('./_Promise'),\n Set = require('./_Set'),\n WeakMap = require('./_WeakMap'),\n baseGetTag = require('./_baseGetTag'),\n toSource = require('./_toSource');\n\n/** `Object#toString` result references. */\nvar mapTag = '[object Map]',\n objectTag = '[object Object]',\n promiseTag = '[object Promise]',\n setTag = '[object Set]',\n weakMapTag = '[object WeakMap]';\n\nvar dataViewTag = '[object DataView]';\n\n/** Used to detect maps, sets, and weakmaps. */\nvar dataViewCtorString = toSource(DataView),\n mapCtorString = toSource(Map),\n promiseCtorString = toSource(Promise),\n setCtorString = toSource(Set),\n weakMapCtorString = toSource(WeakMap);\n\n/**\n * Gets the `toStringTag` of `value`.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the `toStringTag`.\n */\nvar getTag = baseGetTag;\n\n// Fallback for data views, maps, sets, and weak maps in IE 11 and promises in Node.js < 6.\nif ((DataView && getTag(new DataView(new ArrayBuffer(1))) != dataViewTag) ||\n (Map && getTag(new Map) != mapTag) ||\n (Promise && getTag(Promise.resolve()) != promiseTag) ||\n (Set && getTag(new Set) != setTag) ||\n (WeakMap && getTag(new WeakMap) != weakMapTag)) {\n getTag = function(value) {\n var result = baseGetTag(value),\n Ctor = result == objectTag ? value.constructor : undefined,\n ctorString = Ctor ? toSource(Ctor) : '';\n\n if (ctorString) {\n switch (ctorString) {\n case dataViewCtorString: return dataViewTag;\n case mapCtorString: return mapTag;\n case promiseCtorString: return promiseTag;\n case setCtorString: return setTag;\n case weakMapCtorString: return weakMapTag;\n }\n }\n return result;\n };\n}\n\nmodule.exports = getTag;\n","/**\n * Gets the value at `key` of `object`.\n *\n * @private\n * @param {Object} [object] The object to query.\n * @param {string} key The key of the property to get.\n * @returns {*} Returns the property value.\n */\nfunction getValue(object, key) {\n return object == null ? undefined : object[key];\n}\n\nmodule.exports = getValue;\n","var castPath = require('./_castPath'),\n isArguments = require('./isArguments'),\n isArray = require('./isArray'),\n isIndex = require('./_isIndex'),\n isLength = require('./isLength'),\n toKey = require('./_toKey');\n\n/**\n * Checks if `path` exists on `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {Array|string} path The path to check.\n * @param {Function} hasFunc The function to check properties.\n * @returns {boolean} Returns `true` if `path` exists, else `false`.\n */\nfunction hasPath(object, path, hasFunc) {\n path = castPath(path, object);\n\n var index = -1,\n length = path.length,\n result = false;\n\n while (++index < length) {\n var key = toKey(path[index]);\n if (!(result = object != null && hasFunc(object, key))) {\n break;\n }\n object = object[key];\n }\n if (result || ++index != length) {\n return result;\n }\n length = object == null ? 0 : object.length;\n return !!length && isLength(length) && isIndex(key, length) &&\n (isArray(object) || isArguments(object));\n}\n\nmodule.exports = hasPath;\n","var nativeCreate = require('./_nativeCreate');\n\n/**\n * Removes all key-value entries from the hash.\n *\n * @private\n * @name clear\n * @memberOf Hash\n */\nfunction hashClear() {\n this.__data__ = nativeCreate ? nativeCreate(null) : {};\n this.size = 0;\n}\n\nmodule.exports = hashClear;\n","/**\n * Removes `key` and its value from the hash.\n *\n * @private\n * @name delete\n * @memberOf Hash\n * @param {Object} hash The hash to modify.\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction hashDelete(key) {\n var result = this.has(key) && delete this.__data__[key];\n this.size -= result ? 1 : 0;\n return result;\n}\n\nmodule.exports = hashDelete;\n","var nativeCreate = require('./_nativeCreate');\n\n/** Used to stand-in for `undefined` hash values. */\nvar HASH_UNDEFINED = '__lodash_hash_undefined__';\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Gets the hash value for `key`.\n *\n * @private\n * @name get\n * @memberOf Hash\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction hashGet(key) {\n var data = this.__data__;\n if (nativeCreate) {\n var result = data[key];\n return result === HASH_UNDEFINED ? undefined : result;\n }\n return hasOwnProperty.call(data, key) ? data[key] : undefined;\n}\n\nmodule.exports = hashGet;\n","var nativeCreate = require('./_nativeCreate');\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Checks if a hash value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf Hash\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction hashHas(key) {\n var data = this.__data__;\n return nativeCreate ? (data[key] !== undefined) : hasOwnProperty.call(data, key);\n}\n\nmodule.exports = hashHas;\n","var nativeCreate = require('./_nativeCreate');\n\n/** Used to stand-in for `undefined` hash values. */\nvar HASH_UNDEFINED = '__lodash_hash_undefined__';\n\n/**\n * Sets the hash `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf Hash\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the hash instance.\n */\nfunction hashSet(key, value) {\n var data = this.__data__;\n this.size += this.has(key) ? 0 : 1;\n data[key] = (nativeCreate && value === undefined) ? HASH_UNDEFINED : value;\n return this;\n}\n\nmodule.exports = hashSet;\n","var Symbol = require('./_Symbol'),\n isArguments = require('./isArguments'),\n isArray = require('./isArray');\n\n/** Built-in value references. */\nvar spreadableSymbol = Symbol ? Symbol.isConcatSpreadable : undefined;\n\n/**\n * Checks if `value` is a flattenable `arguments` object or array.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is flattenable, else `false`.\n */\nfunction isFlattenable(value) {\n return isArray(value) || isArguments(value) ||\n !!(spreadableSymbol && value && value[spreadableSymbol]);\n}\n\nmodule.exports = isFlattenable;\n","/** Used as references for various `Number` constants. */\nvar MAX_SAFE_INTEGER = 9007199254740991;\n\n/** Used to detect unsigned integer values. */\nvar reIsUint = /^(?:0|[1-9]\\d*)$/;\n\n/**\n * Checks if `value` is a valid array-like index.\n *\n * @private\n * @param {*} value The value to check.\n * @param {number} [length=MAX_SAFE_INTEGER] The upper bounds of a valid index.\n * @returns {boolean} Returns `true` if `value` is a valid index, else `false`.\n */\nfunction isIndex(value, length) {\n var type = typeof value;\n length = length == null ? MAX_SAFE_INTEGER : length;\n\n return !!length &&\n (type == 'number' ||\n (type != 'symbol' && reIsUint.test(value))) &&\n (value > -1 && value % 1 == 0 && value < length);\n}\n\nmodule.exports = isIndex;\n","var eq = require('./eq'),\n isArrayLike = require('./isArrayLike'),\n isIndex = require('./_isIndex'),\n isObject = require('./isObject');\n\n/**\n * Checks if the given arguments are from an iteratee call.\n *\n * @private\n * @param {*} value The potential iteratee value argument.\n * @param {*} index The potential iteratee index or key argument.\n * @param {*} object The potential iteratee object argument.\n * @returns {boolean} Returns `true` if the arguments are from an iteratee call,\n * else `false`.\n */\nfunction isIterateeCall(value, index, object) {\n if (!isObject(object)) {\n return false;\n }\n var type = typeof index;\n if (type == 'number'\n ? (isArrayLike(object) && isIndex(index, object.length))\n : (type == 'string' && index in object)\n ) {\n return eq(object[index], value);\n }\n return false;\n}\n\nmodule.exports = isIterateeCall;\n","var isArray = require('./isArray'),\n isSymbol = require('./isSymbol');\n\n/** Used to match property names within property paths. */\nvar reIsDeepProp = /\\.|\\[(?:[^[\\]]*|([\"'])(?:(?!\\1)[^\\\\]|\\\\.)*?\\1)\\]/,\n reIsPlainProp = /^\\w*$/;\n\n/**\n * Checks if `value` is a property name and not a property path.\n *\n * @private\n * @param {*} value The value to check.\n * @param {Object} [object] The object to query keys on.\n * @returns {boolean} Returns `true` if `value` is a property name, else `false`.\n */\nfunction isKey(value, object) {\n if (isArray(value)) {\n return false;\n }\n var type = typeof value;\n if (type == 'number' || type == 'symbol' || type == 'boolean' ||\n value == null || isSymbol(value)) {\n return true;\n }\n return reIsPlainProp.test(value) || !reIsDeepProp.test(value) ||\n (object != null && value in Object(object));\n}\n\nmodule.exports = isKey;\n","/**\n * Checks if `value` is suitable for use as unique object key.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is suitable, else `false`.\n */\nfunction isKeyable(value) {\n var type = typeof value;\n return (type == 'string' || type == 'number' || type == 'symbol' || type == 'boolean')\n ? (value !== '__proto__')\n : (value === null);\n}\n\nmodule.exports = isKeyable;\n","var coreJsData = require('./_coreJsData');\n\n/** Used to detect methods masquerading as native. */\nvar maskSrcKey = (function() {\n var uid = /[^.]+$/.exec(coreJsData && coreJsData.keys && coreJsData.keys.IE_PROTO || '');\n return uid ? ('Symbol(src)_1.' + uid) : '';\n}());\n\n/**\n * Checks if `func` has its source masked.\n *\n * @private\n * @param {Function} func The function to check.\n * @returns {boolean} Returns `true` if `func` is masked, else `false`.\n */\nfunction isMasked(func) {\n return !!maskSrcKey && (maskSrcKey in func);\n}\n\nmodule.exports = isMasked;\n","/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/**\n * Checks if `value` is likely a prototype object.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a prototype, else `false`.\n */\nfunction isPrototype(value) {\n var Ctor = value && value.constructor,\n proto = (typeof Ctor == 'function' && Ctor.prototype) || objectProto;\n\n return value === proto;\n}\n\nmodule.exports = isPrototype;\n","var isObject = require('./isObject');\n\n/**\n * Checks if `value` is suitable for strict equality comparisons, i.e. `===`.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` if suitable for strict\n * equality comparisons, else `false`.\n */\nfunction isStrictComparable(value) {\n return value === value && !isObject(value);\n}\n\nmodule.exports = isStrictComparable;\n","/**\n * Removes all key-value entries from the list cache.\n *\n * @private\n * @name clear\n * @memberOf ListCache\n */\nfunction listCacheClear() {\n this.__data__ = [];\n this.size = 0;\n}\n\nmodule.exports = listCacheClear;\n","var assocIndexOf = require('./_assocIndexOf');\n\n/** Used for built-in method references. */\nvar arrayProto = Array.prototype;\n\n/** Built-in value references. */\nvar splice = arrayProto.splice;\n\n/**\n * Removes `key` and its value from the list cache.\n *\n * @private\n * @name delete\n * @memberOf ListCache\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction listCacheDelete(key) {\n var data = this.__data__,\n index = assocIndexOf(data, key);\n\n if (index < 0) {\n return false;\n }\n var lastIndex = data.length - 1;\n if (index == lastIndex) {\n data.pop();\n } else {\n splice.call(data, index, 1);\n }\n --this.size;\n return true;\n}\n\nmodule.exports = listCacheDelete;\n","var assocIndexOf = require('./_assocIndexOf');\n\n/**\n * Gets the list cache value for `key`.\n *\n * @private\n * @name get\n * @memberOf ListCache\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction listCacheGet(key) {\n var data = this.__data__,\n index = assocIndexOf(data, key);\n\n return index < 0 ? undefined : data[index][1];\n}\n\nmodule.exports = listCacheGet;\n","var assocIndexOf = require('./_assocIndexOf');\n\n/**\n * Checks if a list cache value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf ListCache\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction listCacheHas(key) {\n return assocIndexOf(this.__data__, key) > -1;\n}\n\nmodule.exports = listCacheHas;\n","var assocIndexOf = require('./_assocIndexOf');\n\n/**\n * Sets the list cache `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf ListCache\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the list cache instance.\n */\nfunction listCacheSet(key, value) {\n var data = this.__data__,\n index = assocIndexOf(data, key);\n\n if (index < 0) {\n ++this.size;\n data.push([key, value]);\n } else {\n data[index][1] = value;\n }\n return this;\n}\n\nmodule.exports = listCacheSet;\n","var Hash = require('./_Hash'),\n ListCache = require('./_ListCache'),\n Map = require('./_Map');\n\n/**\n * Removes all key-value entries from the map.\n *\n * @private\n * @name clear\n * @memberOf MapCache\n */\nfunction mapCacheClear() {\n this.size = 0;\n this.__data__ = {\n 'hash': new Hash,\n 'map': new (Map || ListCache),\n 'string': new Hash\n };\n}\n\nmodule.exports = mapCacheClear;\n","var getMapData = require('./_getMapData');\n\n/**\n * Removes `key` and its value from the map.\n *\n * @private\n * @name delete\n * @memberOf MapCache\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction mapCacheDelete(key) {\n var result = getMapData(this, key)['delete'](key);\n this.size -= result ? 1 : 0;\n return result;\n}\n\nmodule.exports = mapCacheDelete;\n","var getMapData = require('./_getMapData');\n\n/**\n * Gets the map value for `key`.\n *\n * @private\n * @name get\n * @memberOf MapCache\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction mapCacheGet(key) {\n return getMapData(this, key).get(key);\n}\n\nmodule.exports = mapCacheGet;\n","var getMapData = require('./_getMapData');\n\n/**\n * Checks if a map value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf MapCache\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction mapCacheHas(key) {\n return getMapData(this, key).has(key);\n}\n\nmodule.exports = mapCacheHas;\n","var getMapData = require('./_getMapData');\n\n/**\n * Sets the map `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf MapCache\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the map cache instance.\n */\nfunction mapCacheSet(key, value) {\n var data = getMapData(this, key),\n size = data.size;\n\n data.set(key, value);\n this.size += data.size == size ? 0 : 1;\n return this;\n}\n\nmodule.exports = mapCacheSet;\n","/**\n * Converts `map` to its key-value pairs.\n *\n * @private\n * @param {Object} map The map to convert.\n * @returns {Array} Returns the key-value pairs.\n */\nfunction mapToArray(map) {\n var index = -1,\n result = Array(map.size);\n\n map.forEach(function(value, key) {\n result[++index] = [key, value];\n });\n return result;\n}\n\nmodule.exports = mapToArray;\n","/**\n * A specialized version of `matchesProperty` for source values suitable\n * for strict equality comparisons, i.e. `===`.\n *\n * @private\n * @param {string} key The key of the property to get.\n * @param {*} srcValue The value to match.\n * @returns {Function} Returns the new spec function.\n */\nfunction matchesStrictComparable(key, srcValue) {\n return function(object) {\n if (object == null) {\n return false;\n }\n return object[key] === srcValue &&\n (srcValue !== undefined || (key in Object(object)));\n };\n}\n\nmodule.exports = matchesStrictComparable;\n","var memoize = require('./memoize');\n\n/** Used as the maximum memoize cache size. */\nvar MAX_MEMOIZE_SIZE = 500;\n\n/**\n * A specialized version of `_.memoize` which clears the memoized function's\n * cache when it exceeds `MAX_MEMOIZE_SIZE`.\n *\n * @private\n * @param {Function} func The function to have its output memoized.\n * @returns {Function} Returns the new memoized function.\n */\nfunction memoizeCapped(func) {\n var result = memoize(func, function(key) {\n if (cache.size === MAX_MEMOIZE_SIZE) {\n cache.clear();\n }\n return key;\n });\n\n var cache = result.cache;\n return result;\n}\n\nmodule.exports = memoizeCapped;\n","var getNative = require('./_getNative');\n\n/* Built-in method references that are verified to be native. */\nvar nativeCreate = getNative(Object, 'create');\n\nmodule.exports = nativeCreate;\n","var overArg = require('./_overArg');\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeKeys = overArg(Object.keys, Object);\n\nmodule.exports = nativeKeys;\n","var freeGlobal = require('./_freeGlobal');\n\n/** Detect free variable `exports`. */\nvar freeExports = typeof exports == 'object' && exports && !exports.nodeType && exports;\n\n/** Detect free variable `module`. */\nvar freeModule = freeExports && typeof module == 'object' && module && !module.nodeType && module;\n\n/** Detect the popular CommonJS extension `module.exports`. */\nvar moduleExports = freeModule && freeModule.exports === freeExports;\n\n/** Detect free variable `process` from Node.js. */\nvar freeProcess = moduleExports && freeGlobal.process;\n\n/** Used to access faster Node.js helpers. */\nvar nodeUtil = (function() {\n try {\n // Use `util.types` for Node.js 10+.\n var types = freeModule && freeModule.require && freeModule.require('util').types;\n\n if (types) {\n return types;\n }\n\n // Legacy `process.binding('util')` for Node.js < 10.\n return freeProcess && freeProcess.binding && freeProcess.binding('util');\n } catch (e) {}\n}());\n\nmodule.exports = nodeUtil;\n","/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar nativeObjectToString = objectProto.toString;\n\n/**\n * Converts `value` to a string using `Object.prototype.toString`.\n *\n * @private\n * @param {*} value The value to convert.\n * @returns {string} Returns the converted string.\n */\nfunction objectToString(value) {\n return nativeObjectToString.call(value);\n}\n\nmodule.exports = objectToString;\n","/**\n * Creates a unary function that invokes `func` with its argument transformed.\n *\n * @private\n * @param {Function} func The function to wrap.\n * @param {Function} transform The argument transform.\n * @returns {Function} Returns the new function.\n */\nfunction overArg(func, transform) {\n return function(arg) {\n return func(transform(arg));\n };\n}\n\nmodule.exports = overArg;\n","var apply = require('./_apply');\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeMax = Math.max;\n\n/**\n * A specialized version of `baseRest` which transforms the rest array.\n *\n * @private\n * @param {Function} func The function to apply a rest parameter to.\n * @param {number} [start=func.length-1] The start position of the rest parameter.\n * @param {Function} transform The rest array transform.\n * @returns {Function} Returns the new function.\n */\nfunction overRest(func, start, transform) {\n start = nativeMax(start === undefined ? (func.length - 1) : start, 0);\n return function() {\n var args = arguments,\n index = -1,\n length = nativeMax(args.length - start, 0),\n array = Array(length);\n\n while (++index < length) {\n array[index] = args[start + index];\n }\n index = -1;\n var otherArgs = Array(start + 1);\n while (++index < start) {\n otherArgs[index] = args[index];\n }\n otherArgs[start] = transform(array);\n return apply(func, this, otherArgs);\n };\n}\n\nmodule.exports = overRest;\n","var freeGlobal = require('./_freeGlobal');\n\n/** Detect free variable `self`. */\nvar freeSelf = typeof self == 'object' && self && self.Object === Object && self;\n\n/** Used as a reference to the global object. */\nvar root = freeGlobal || freeSelf || Function('return this')();\n\nmodule.exports = root;\n","/** Used to stand-in for `undefined` hash values. */\nvar HASH_UNDEFINED = '__lodash_hash_undefined__';\n\n/**\n * Adds `value` to the array cache.\n *\n * @private\n * @name add\n * @memberOf SetCache\n * @alias push\n * @param {*} value The value to cache.\n * @returns {Object} Returns the cache instance.\n */\nfunction setCacheAdd(value) {\n this.__data__.set(value, HASH_UNDEFINED);\n return this;\n}\n\nmodule.exports = setCacheAdd;\n","/**\n * Checks if `value` is in the array cache.\n *\n * @private\n * @name has\n * @memberOf SetCache\n * @param {*} value The value to search for.\n * @returns {number} Returns `true` if `value` is found, else `false`.\n */\nfunction setCacheHas(value) {\n return this.__data__.has(value);\n}\n\nmodule.exports = setCacheHas;\n","/**\n * Converts `set` to an array of its values.\n *\n * @private\n * @param {Object} set The set to convert.\n * @returns {Array} Returns the values.\n */\nfunction setToArray(set) {\n var index = -1,\n result = Array(set.size);\n\n set.forEach(function(value) {\n result[++index] = value;\n });\n return result;\n}\n\nmodule.exports = setToArray;\n","var baseSetToString = require('./_baseSetToString'),\n shortOut = require('./_shortOut');\n\n/**\n * Sets the `toString` method of `func` to return `string`.\n *\n * @private\n * @param {Function} func The function to modify.\n * @param {Function} string The `toString` result.\n * @returns {Function} Returns `func`.\n */\nvar setToString = shortOut(baseSetToString);\n\nmodule.exports = setToString;\n","/** Used to detect hot functions by number of calls within a span of milliseconds. */\nvar HOT_COUNT = 800,\n HOT_SPAN = 16;\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeNow = Date.now;\n\n/**\n * Creates a function that'll short out and invoke `identity` instead\n * of `func` when it's called `HOT_COUNT` or more times in `HOT_SPAN`\n * milliseconds.\n *\n * @private\n * @param {Function} func The function to restrict.\n * @returns {Function} Returns the new shortable function.\n */\nfunction shortOut(func) {\n var count = 0,\n lastCalled = 0;\n\n return function() {\n var stamp = nativeNow(),\n remaining = HOT_SPAN - (stamp - lastCalled);\n\n lastCalled = stamp;\n if (remaining > 0) {\n if (++count >= HOT_COUNT) {\n return arguments[0];\n }\n } else {\n count = 0;\n }\n return func.apply(undefined, arguments);\n };\n}\n\nmodule.exports = shortOut;\n","var ListCache = require('./_ListCache');\n\n/**\n * Removes all key-value entries from the stack.\n *\n * @private\n * @name clear\n * @memberOf Stack\n */\nfunction stackClear() {\n this.__data__ = new ListCache;\n this.size = 0;\n}\n\nmodule.exports = stackClear;\n","/**\n * Removes `key` and its value from the stack.\n *\n * @private\n * @name delete\n * @memberOf Stack\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction stackDelete(key) {\n var data = this.__data__,\n result = data['delete'](key);\n\n this.size = data.size;\n return result;\n}\n\nmodule.exports = stackDelete;\n","/**\n * Gets the stack value for `key`.\n *\n * @private\n * @name get\n * @memberOf Stack\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction stackGet(key) {\n return this.__data__.get(key);\n}\n\nmodule.exports = stackGet;\n","/**\n * Checks if a stack value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf Stack\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction stackHas(key) {\n return this.__data__.has(key);\n}\n\nmodule.exports = stackHas;\n","var ListCache = require('./_ListCache'),\n Map = require('./_Map'),\n MapCache = require('./_MapCache');\n\n/** Used as the size to enable large array optimizations. */\nvar LARGE_ARRAY_SIZE = 200;\n\n/**\n * Sets the stack `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf Stack\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the stack cache instance.\n */\nfunction stackSet(key, value) {\n var data = this.__data__;\n if (data instanceof ListCache) {\n var pairs = data.__data__;\n if (!Map || (pairs.length < LARGE_ARRAY_SIZE - 1)) {\n pairs.push([key, value]);\n this.size = ++data.size;\n return this;\n }\n data = this.__data__ = new MapCache(pairs);\n }\n data.set(key, value);\n this.size = data.size;\n return this;\n}\n\nmodule.exports = stackSet;\n","/**\n * A specialized version of `_.indexOf` which performs strict equality\n * comparisons of values, i.e. `===`.\n *\n * @private\n * @param {Array} array The array to inspect.\n * @param {*} value The value to search for.\n * @param {number} fromIndex The index to search from.\n * @returns {number} Returns the index of the matched value, else `-1`.\n */\nfunction strictIndexOf(array, value, fromIndex) {\n var index = fromIndex - 1,\n length = array.length;\n\n while (++index < length) {\n if (array[index] === value) {\n return index;\n }\n }\n return -1;\n}\n\nmodule.exports = strictIndexOf;\n","var memoizeCapped = require('./_memoizeCapped');\n\n/** Used to match property names within property paths. */\nvar rePropName = /[^.[\\]]+|\\[(?:(-?\\d+(?:\\.\\d+)?)|([\"'])((?:(?!\\2)[^\\\\]|\\\\.)*?)\\2)\\]|(?=(?:\\.|\\[\\])(?:\\.|\\[\\]|$))/g;\n\n/** Used to match backslashes in property paths. */\nvar reEscapeChar = /\\\\(\\\\)?/g;\n\n/**\n * Converts `string` to a property path array.\n *\n * @private\n * @param {string} string The string to convert.\n * @returns {Array} Returns the property path array.\n */\nvar stringToPath = memoizeCapped(function(string) {\n var result = [];\n if (string.charCodeAt(0) === 46 /* . */) {\n result.push('');\n }\n string.replace(rePropName, function(match, number, quote, subString) {\n result.push(quote ? subString.replace(reEscapeChar, '$1') : (number || match));\n });\n return result;\n});\n\nmodule.exports = stringToPath;\n","var isSymbol = require('./isSymbol');\n\n/** Used as references for various `Number` constants. */\nvar INFINITY = 1 / 0;\n\n/**\n * Converts `value` to a string key if it's not a string or symbol.\n *\n * @private\n * @param {*} value The value to inspect.\n * @returns {string|symbol} Returns the key.\n */\nfunction toKey(value) {\n if (typeof value == 'string' || isSymbol(value)) {\n return value;\n }\n var result = (value + '');\n return (result == '0' && (1 / value) == -INFINITY) ? '-0' : result;\n}\n\nmodule.exports = toKey;\n","/** Used for built-in method references. */\nvar funcProto = Function.prototype;\n\n/** Used to resolve the decompiled source of functions. */\nvar funcToString = funcProto.toString;\n\n/**\n * Converts `func` to its source code.\n *\n * @private\n * @param {Function} func The function to convert.\n * @returns {string} Returns the source code.\n */\nfunction toSource(func) {\n if (func != null) {\n try {\n return funcToString.call(func);\n } catch (e) {}\n try {\n return (func + '');\n } catch (e) {}\n }\n return '';\n}\n\nmodule.exports = toSource;\n","/** Used to match a single whitespace character. */\nvar reWhitespace = /\\s/;\n\n/**\n * Used by `_.trim` and `_.trimEnd` to get the index of the last non-whitespace\n * character of `string`.\n *\n * @private\n * @param {string} string The string to inspect.\n * @returns {number} Returns the index of the last non-whitespace character.\n */\nfunction trimmedEndIndex(string) {\n var index = string.length;\n\n while (index-- && reWhitespace.test(string.charAt(index))) {}\n return index;\n}\n\nmodule.exports = trimmedEndIndex;\n","var assignValue = require('./_assignValue'),\n copyObject = require('./_copyObject'),\n createAssigner = require('./_createAssigner'),\n isArrayLike = require('./isArrayLike'),\n isPrototype = require('./_isPrototype'),\n keys = require('./keys');\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Assigns own enumerable string keyed properties of source objects to the\n * destination object. Source objects are applied from left to right.\n * Subsequent sources overwrite property assignments of previous sources.\n *\n * **Note:** This method mutates `object` and is loosely based on\n * [`Object.assign`](https://mdn.io/Object/assign).\n *\n * @static\n * @memberOf _\n * @since 0.10.0\n * @category Object\n * @param {Object} object The destination object.\n * @param {...Object} [sources] The source objects.\n * @returns {Object} Returns `object`.\n * @see _.assignIn\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * }\n *\n * function Bar() {\n * this.c = 3;\n * }\n *\n * Foo.prototype.b = 2;\n * Bar.prototype.d = 4;\n *\n * _.assign({ 'a': 0 }, new Foo, new Bar);\n * // => { 'a': 1, 'c': 3 }\n */\nvar assign = createAssigner(function(object, source) {\n if (isPrototype(source) || isArrayLike(source)) {\n copyObject(source, keys(source), object);\n return;\n }\n for (var key in source) {\n if (hasOwnProperty.call(source, key)) {\n assignValue(object, key, source[key]);\n }\n }\n});\n\nmodule.exports = assign;\n","/**\n * Creates a function that returns `value`.\n *\n * @static\n * @memberOf _\n * @since 2.4.0\n * @category Util\n * @param {*} value The value to return from the new function.\n * @returns {Function} Returns the new constant function.\n * @example\n *\n * var objects = _.times(2, _.constant({ 'a': 1 }));\n *\n * console.log(objects);\n * // => [{ 'a': 1 }, { 'a': 1 }]\n *\n * console.log(objects[0] === objects[1]);\n * // => true\n */\nfunction constant(value) {\n return function() {\n return value;\n };\n}\n\nmodule.exports = constant;\n","var baseDifference = require('./_baseDifference'),\n baseFlatten = require('./_baseFlatten'),\n baseRest = require('./_baseRest'),\n isArrayLikeObject = require('./isArrayLikeObject'),\n last = require('./last');\n\n/**\n * This method is like `_.difference` except that it accepts `comparator`\n * which is invoked to compare elements of `array` to `values`. The order and\n * references of result values are determined by the first array. The comparator\n * is invoked with two arguments: (arrVal, othVal).\n *\n * **Note:** Unlike `_.pullAllWith`, this method returns a new array.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Array\n * @param {Array} array The array to inspect.\n * @param {...Array} [values] The values to exclude.\n * @param {Function} [comparator] The comparator invoked per element.\n * @returns {Array} Returns the new array of filtered values.\n * @example\n *\n * var objects = [{ 'x': 1, 'y': 2 }, { 'x': 2, 'y': 1 }];\n *\n * _.differenceWith(objects, [{ 'x': 1, 'y': 2 }], _.isEqual);\n * // => [{ 'x': 2, 'y': 1 }]\n */\nvar differenceWith = baseRest(function(array, values) {\n var comparator = last(values);\n if (isArrayLikeObject(comparator)) {\n comparator = undefined;\n }\n return isArrayLikeObject(array)\n ? baseDifference(array, baseFlatten(values, 1, isArrayLikeObject, true), undefined, comparator)\n : [];\n});\n\nmodule.exports = differenceWith;\n","/**\n * Performs a\n * [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)\n * comparison between two values to determine if they are equivalent.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @returns {boolean} Returns `true` if the values are equivalent, else `false`.\n * @example\n *\n * var object = { 'a': 1 };\n * var other = { 'a': 1 };\n *\n * _.eq(object, object);\n * // => true\n *\n * _.eq(object, other);\n * // => false\n *\n * _.eq('a', 'a');\n * // => true\n *\n * _.eq('a', Object('a'));\n * // => false\n *\n * _.eq(NaN, NaN);\n * // => true\n */\nfunction eq(value, other) {\n return value === other || (value !== value && other !== other);\n}\n\nmodule.exports = eq;\n","var baseFindIndex = require('./_baseFindIndex'),\n baseIteratee = require('./_baseIteratee'),\n toInteger = require('./toInteger');\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeMax = Math.max;\n\n/**\n * This method is like `_.find` except that it returns the index of the first\n * element `predicate` returns truthy for instead of the element itself.\n *\n * @static\n * @memberOf _\n * @since 1.1.0\n * @category Array\n * @param {Array} array The array to inspect.\n * @param {Function} [predicate=_.identity] The function invoked per iteration.\n * @param {number} [fromIndex=0] The index to search from.\n * @returns {number} Returns the index of the found element, else `-1`.\n * @example\n *\n * var users = [\n * { 'user': 'barney', 'active': false },\n * { 'user': 'fred', 'active': false },\n * { 'user': 'pebbles', 'active': true }\n * ];\n *\n * _.findIndex(users, function(o) { return o.user == 'barney'; });\n * // => 0\n *\n * // The `_.matches` iteratee shorthand.\n * _.findIndex(users, { 'user': 'fred', 'active': false });\n * // => 1\n *\n * // The `_.matchesProperty` iteratee shorthand.\n * _.findIndex(users, ['active', false]);\n * // => 0\n *\n * // The `_.property` iteratee shorthand.\n * _.findIndex(users, 'active');\n * // => 2\n */\nfunction findIndex(array, predicate, fromIndex) {\n var length = array == null ? 0 : array.length;\n if (!length) {\n return -1;\n }\n var index = fromIndex == null ? 0 : toInteger(fromIndex);\n if (index < 0) {\n index = nativeMax(length + index, 0);\n }\n return baseFindIndex(array, baseIteratee(predicate, 3), index);\n}\n\nmodule.exports = findIndex;\n","var baseGet = require('./_baseGet');\n\n/**\n * Gets the value at `path` of `object`. If the resolved value is\n * `undefined`, the `defaultValue` is returned in its place.\n *\n * @static\n * @memberOf _\n * @since 3.7.0\n * @category Object\n * @param {Object} object The object to query.\n * @param {Array|string} path The path of the property to get.\n * @param {*} [defaultValue] The value returned for `undefined` resolved values.\n * @returns {*} Returns the resolved value.\n * @example\n *\n * var object = { 'a': [{ 'b': { 'c': 3 } }] };\n *\n * _.get(object, 'a[0].b.c');\n * // => 3\n *\n * _.get(object, ['a', '0', 'b', 'c']);\n * // => 3\n *\n * _.get(object, 'a.b.c', 'default');\n * // => 'default'\n */\nfunction get(object, path, defaultValue) {\n var result = object == null ? undefined : baseGet(object, path);\n return result === undefined ? defaultValue : result;\n}\n\nmodule.exports = get;\n","var baseHasIn = require('./_baseHasIn'),\n hasPath = require('./_hasPath');\n\n/**\n * Checks if `path` is a direct or inherited property of `object`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Object\n * @param {Object} object The object to query.\n * @param {Array|string} path The path to check.\n * @returns {boolean} Returns `true` if `path` exists, else `false`.\n * @example\n *\n * var object = _.create({ 'a': _.create({ 'b': 2 }) });\n *\n * _.hasIn(object, 'a');\n * // => true\n *\n * _.hasIn(object, 'a.b');\n * // => true\n *\n * _.hasIn(object, ['a', 'b']);\n * // => true\n *\n * _.hasIn(object, 'b');\n * // => false\n */\nfunction hasIn(object, path) {\n return object != null && hasPath(object, path, baseHasIn);\n}\n\nmodule.exports = hasIn;\n","/**\n * This method returns the first argument it receives.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Util\n * @param {*} value Any value.\n * @returns {*} Returns `value`.\n * @example\n *\n * var object = { 'a': 1 };\n *\n * console.log(_.identity(object) === object);\n * // => true\n */\nfunction identity(value) {\n return value;\n}\n\nmodule.exports = identity;\n","var baseIsArguments = require('./_baseIsArguments'),\n isObjectLike = require('./isObjectLike');\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/** Built-in value references. */\nvar propertyIsEnumerable = objectProto.propertyIsEnumerable;\n\n/**\n * Checks if `value` is likely an `arguments` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an `arguments` object,\n * else `false`.\n * @example\n *\n * _.isArguments(function() { return arguments; }());\n * // => true\n *\n * _.isArguments([1, 2, 3]);\n * // => false\n */\nvar isArguments = baseIsArguments(function() { return arguments; }()) ? baseIsArguments : function(value) {\n return isObjectLike(value) && hasOwnProperty.call(value, 'callee') &&\n !propertyIsEnumerable.call(value, 'callee');\n};\n\nmodule.exports = isArguments;\n","/**\n * Checks if `value` is classified as an `Array` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an array, else `false`.\n * @example\n *\n * _.isArray([1, 2, 3]);\n * // => true\n *\n * _.isArray(document.body.children);\n * // => false\n *\n * _.isArray('abc');\n * // => false\n *\n * _.isArray(_.noop);\n * // => false\n */\nvar isArray = Array.isArray;\n\nmodule.exports = isArray;\n","var isFunction = require('./isFunction'),\n isLength = require('./isLength');\n\n/**\n * Checks if `value` is array-like. A value is considered array-like if it's\n * not a function and has a `value.length` that's an integer greater than or\n * equal to `0` and less than or equal to `Number.MAX_SAFE_INTEGER`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is array-like, else `false`.\n * @example\n *\n * _.isArrayLike([1, 2, 3]);\n * // => true\n *\n * _.isArrayLike(document.body.children);\n * // => true\n *\n * _.isArrayLike('abc');\n * // => true\n *\n * _.isArrayLike(_.noop);\n * // => false\n */\nfunction isArrayLike(value) {\n return value != null && isLength(value.length) && !isFunction(value);\n}\n\nmodule.exports = isArrayLike;\n","var isArrayLike = require('./isArrayLike'),\n isObjectLike = require('./isObjectLike');\n\n/**\n * This method is like `_.isArrayLike` except that it also checks if `value`\n * is an object.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an array-like object,\n * else `false`.\n * @example\n *\n * _.isArrayLikeObject([1, 2, 3]);\n * // => true\n *\n * _.isArrayLikeObject(document.body.children);\n * // => true\n *\n * _.isArrayLikeObject('abc');\n * // => false\n *\n * _.isArrayLikeObject(_.noop);\n * // => false\n */\nfunction isArrayLikeObject(value) {\n return isObjectLike(value) && isArrayLike(value);\n}\n\nmodule.exports = isArrayLikeObject;\n","var root = require('./_root'),\n stubFalse = require('./stubFalse');\n\n/** Detect free variable `exports`. */\nvar freeExports = typeof exports == 'object' && exports && !exports.nodeType && exports;\n\n/** Detect free variable `module`. */\nvar freeModule = freeExports && typeof module == 'object' && module && !module.nodeType && module;\n\n/** Detect the popular CommonJS extension `module.exports`. */\nvar moduleExports = freeModule && freeModule.exports === freeExports;\n\n/** Built-in value references. */\nvar Buffer = moduleExports ? root.Buffer : undefined;\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeIsBuffer = Buffer ? Buffer.isBuffer : undefined;\n\n/**\n * Checks if `value` is a buffer.\n *\n * @static\n * @memberOf _\n * @since 4.3.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a buffer, else `false`.\n * @example\n *\n * _.isBuffer(new Buffer(2));\n * // => true\n *\n * _.isBuffer(new Uint8Array(2));\n * // => false\n */\nvar isBuffer = nativeIsBuffer || stubFalse;\n\nmodule.exports = isBuffer;\n","var baseIsEqual = require('./_baseIsEqual');\n\n/**\n * Performs a deep comparison between two values to determine if they are\n * equivalent.\n *\n * **Note:** This method supports comparing arrays, array buffers, booleans,\n * date objects, error objects, maps, numbers, `Object` objects, regexes,\n * sets, strings, symbols, and typed arrays. `Object` objects are compared\n * by their own, not inherited, enumerable properties. Functions and DOM\n * nodes are compared by strict equality, i.e. `===`.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @returns {boolean} Returns `true` if the values are equivalent, else `false`.\n * @example\n *\n * var object = { 'a': 1 };\n * var other = { 'a': 1 };\n *\n * _.isEqual(object, other);\n * // => true\n *\n * object === other;\n * // => false\n */\nfunction isEqual(value, other) {\n return baseIsEqual(value, other);\n}\n\nmodule.exports = isEqual;\n","var baseGetTag = require('./_baseGetTag'),\n isObject = require('./isObject');\n\n/** `Object#toString` result references. */\nvar asyncTag = '[object AsyncFunction]',\n funcTag = '[object Function]',\n genTag = '[object GeneratorFunction]',\n proxyTag = '[object Proxy]';\n\n/**\n * Checks if `value` is classified as a `Function` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a function, else `false`.\n * @example\n *\n * _.isFunction(_);\n * // => true\n *\n * _.isFunction(/abc/);\n * // => false\n */\nfunction isFunction(value) {\n if (!isObject(value)) {\n return false;\n }\n // The use of `Object#toString` avoids issues with the `typeof` operator\n // in Safari 9 which returns 'object' for typed arrays and other constructors.\n var tag = baseGetTag(value);\n return tag == funcTag || tag == genTag || tag == asyncTag || tag == proxyTag;\n}\n\nmodule.exports = isFunction;\n","/** Used as references for various `Number` constants. */\nvar MAX_SAFE_INTEGER = 9007199254740991;\n\n/**\n * Checks if `value` is a valid array-like length.\n *\n * **Note:** This method is loosely based on\n * [`ToLength`](http://ecma-international.org/ecma-262/7.0/#sec-tolength).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a valid length, else `false`.\n * @example\n *\n * _.isLength(3);\n * // => true\n *\n * _.isLength(Number.MIN_VALUE);\n * // => false\n *\n * _.isLength(Infinity);\n * // => false\n *\n * _.isLength('3');\n * // => false\n */\nfunction isLength(value) {\n return typeof value == 'number' &&\n value > -1 && value % 1 == 0 && value <= MAX_SAFE_INTEGER;\n}\n\nmodule.exports = isLength;\n","/**\n * Checks if `value` is the\n * [language type](http://www.ecma-international.org/ecma-262/7.0/#sec-ecmascript-language-types)\n * of `Object`. (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`)\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an object, else `false`.\n * @example\n *\n * _.isObject({});\n * // => true\n *\n * _.isObject([1, 2, 3]);\n * // => true\n *\n * _.isObject(_.noop);\n * // => true\n *\n * _.isObject(null);\n * // => false\n */\nfunction isObject(value) {\n var type = typeof value;\n return value != null && (type == 'object' || type == 'function');\n}\n\nmodule.exports = isObject;\n","/**\n * Checks if `value` is object-like. A value is object-like if it's not `null`\n * and has a `typeof` result of \"object\".\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is object-like, else `false`.\n * @example\n *\n * _.isObjectLike({});\n * // => true\n *\n * _.isObjectLike([1, 2, 3]);\n * // => true\n *\n * _.isObjectLike(_.noop);\n * // => false\n *\n * _.isObjectLike(null);\n * // => false\n */\nfunction isObjectLike(value) {\n return value != null && typeof value == 'object';\n}\n\nmodule.exports = isObjectLike;\n","var baseGetTag = require('./_baseGetTag'),\n isObjectLike = require('./isObjectLike');\n\n/** `Object#toString` result references. */\nvar symbolTag = '[object Symbol]';\n\n/**\n * Checks if `value` is classified as a `Symbol` primitive or object.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a symbol, else `false`.\n * @example\n *\n * _.isSymbol(Symbol.iterator);\n * // => true\n *\n * _.isSymbol('abc');\n * // => false\n */\nfunction isSymbol(value) {\n return typeof value == 'symbol' ||\n (isObjectLike(value) && baseGetTag(value) == symbolTag);\n}\n\nmodule.exports = isSymbol;\n","var baseIsTypedArray = require('./_baseIsTypedArray'),\n baseUnary = require('./_baseUnary'),\n nodeUtil = require('./_nodeUtil');\n\n/* Node.js helper references. */\nvar nodeIsTypedArray = nodeUtil && nodeUtil.isTypedArray;\n\n/**\n * Checks if `value` is classified as a typed array.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a typed array, else `false`.\n * @example\n *\n * _.isTypedArray(new Uint8Array);\n * // => true\n *\n * _.isTypedArray([]);\n * // => false\n */\nvar isTypedArray = nodeIsTypedArray ? baseUnary(nodeIsTypedArray) : baseIsTypedArray;\n\nmodule.exports = isTypedArray;\n","var arrayLikeKeys = require('./_arrayLikeKeys'),\n baseKeys = require('./_baseKeys'),\n isArrayLike = require('./isArrayLike');\n\n/**\n * Creates an array of the own enumerable property names of `object`.\n *\n * **Note:** Non-object values are coerced to objects. See the\n * [ES spec](http://ecma-international.org/ecma-262/7.0/#sec-object.keys)\n * for more details.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Object\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * this.b = 2;\n * }\n *\n * Foo.prototype.c = 3;\n *\n * _.keys(new Foo);\n * // => ['a', 'b'] (iteration order is not guaranteed)\n *\n * _.keys('hi');\n * // => ['0', '1']\n */\nfunction keys(object) {\n return isArrayLike(object) ? arrayLikeKeys(object) : baseKeys(object);\n}\n\nmodule.exports = keys;\n","/**\n * Gets the last element of `array`.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Array\n * @param {Array} array The array to query.\n * @returns {*} Returns the last element of `array`.\n * @example\n *\n * _.last([1, 2, 3]);\n * // => 3\n */\nfunction last(array) {\n var length = array == null ? 0 : array.length;\n return length ? array[length - 1] : undefined;\n}\n\nmodule.exports = last;\n","var MapCache = require('./_MapCache');\n\n/** Error message constants. */\nvar FUNC_ERROR_TEXT = 'Expected a function';\n\n/**\n * Creates a function that memoizes the result of `func`. If `resolver` is\n * provided, it determines the cache key for storing the result based on the\n * arguments provided to the memoized function. By default, the first argument\n * provided to the memoized function is used as the map cache key. The `func`\n * is invoked with the `this` binding of the memoized function.\n *\n * **Note:** The cache is exposed as the `cache` property on the memoized\n * function. Its creation may be customized by replacing the `_.memoize.Cache`\n * constructor with one whose instances implement the\n * [`Map`](http://ecma-international.org/ecma-262/7.0/#sec-properties-of-the-map-prototype-object)\n * method interface of `clear`, `delete`, `get`, `has`, and `set`.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Function\n * @param {Function} func The function to have its output memoized.\n * @param {Function} [resolver] The function to resolve the cache key.\n * @returns {Function} Returns the new memoized function.\n * @example\n *\n * var object = { 'a': 1, 'b': 2 };\n * var other = { 'c': 3, 'd': 4 };\n *\n * var values = _.memoize(_.values);\n * values(object);\n * // => [1, 2]\n *\n * values(other);\n * // => [3, 4]\n *\n * object.a = 2;\n * values(object);\n * // => [1, 2]\n *\n * // Modify the result cache.\n * values.cache.set(object, ['a', 'b']);\n * values(object);\n * // => ['a', 'b']\n *\n * // Replace `_.memoize.Cache`.\n * _.memoize.Cache = WeakMap;\n */\nfunction memoize(func, resolver) {\n if (typeof func != 'function' || (resolver != null && typeof resolver != 'function')) {\n throw new TypeError(FUNC_ERROR_TEXT);\n }\n var memoized = function() {\n var args = arguments,\n key = resolver ? resolver.apply(this, args) : args[0],\n cache = memoized.cache;\n\n if (cache.has(key)) {\n return cache.get(key);\n }\n var result = func.apply(this, args);\n memoized.cache = cache.set(key, result) || cache;\n return result;\n };\n memoized.cache = new (memoize.Cache || MapCache);\n return memoized;\n}\n\n// Expose `MapCache`.\nmemoize.Cache = MapCache;\n\nmodule.exports = memoize;\n","var baseProperty = require('./_baseProperty'),\n basePropertyDeep = require('./_basePropertyDeep'),\n isKey = require('./_isKey'),\n toKey = require('./_toKey');\n\n/**\n * Creates a function that returns the value at `path` of a given object.\n *\n * @static\n * @memberOf _\n * @since 2.4.0\n * @category Util\n * @param {Array|string} path The path of the property to get.\n * @returns {Function} Returns the new accessor function.\n * @example\n *\n * var objects = [\n * { 'a': { 'b': 2 } },\n * { 'a': { 'b': 1 } }\n * ];\n *\n * _.map(objects, _.property('a.b'));\n * // => [2, 1]\n *\n * _.map(_.sortBy(objects, _.property(['a', 'b'])), 'a.b');\n * // => [1, 2]\n */\nfunction property(path) {\n return isKey(path) ? baseProperty(toKey(path)) : basePropertyDeep(path);\n}\n\nmodule.exports = property;\n","/**\n * This method returns a new empty array.\n *\n * @static\n * @memberOf _\n * @since 4.13.0\n * @category Util\n * @returns {Array} Returns the new empty array.\n * @example\n *\n * var arrays = _.times(2, _.stubArray);\n *\n * console.log(arrays);\n * // => [[], []]\n *\n * console.log(arrays[0] === arrays[1]);\n * // => false\n */\nfunction stubArray() {\n return [];\n}\n\nmodule.exports = stubArray;\n","/**\n * This method returns `false`.\n *\n * @static\n * @memberOf _\n * @since 4.13.0\n * @category Util\n * @returns {boolean} Returns `false`.\n * @example\n *\n * _.times(2, _.stubFalse);\n * // => [false, false]\n */\nfunction stubFalse() {\n return false;\n}\n\nmodule.exports = stubFalse;\n","var toNumber = require('./toNumber');\n\n/** Used as references for various `Number` constants. */\nvar INFINITY = 1 / 0,\n MAX_INTEGER = 1.7976931348623157e+308;\n\n/**\n * Converts `value` to a finite number.\n *\n * @static\n * @memberOf _\n * @since 4.12.0\n * @category Lang\n * @param {*} value The value to convert.\n * @returns {number} Returns the converted number.\n * @example\n *\n * _.toFinite(3.2);\n * // => 3.2\n *\n * _.toFinite(Number.MIN_VALUE);\n * // => 5e-324\n *\n * _.toFinite(Infinity);\n * // => 1.7976931348623157e+308\n *\n * _.toFinite('3.2');\n * // => 3.2\n */\nfunction toFinite(value) {\n if (!value) {\n return value === 0 ? value : 0;\n }\n value = toNumber(value);\n if (value === INFINITY || value === -INFINITY) {\n var sign = (value < 0 ? -1 : 1);\n return sign * MAX_INTEGER;\n }\n return value === value ? value : 0;\n}\n\nmodule.exports = toFinite;\n","var toFinite = require('./toFinite');\n\n/**\n * Converts `value` to an integer.\n *\n * **Note:** This method is loosely based on\n * [`ToInteger`](http://www.ecma-international.org/ecma-262/7.0/#sec-tointeger).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to convert.\n * @returns {number} Returns the converted integer.\n * @example\n *\n * _.toInteger(3.2);\n * // => 3\n *\n * _.toInteger(Number.MIN_VALUE);\n * // => 0\n *\n * _.toInteger(Infinity);\n * // => 1.7976931348623157e+308\n *\n * _.toInteger('3.2');\n * // => 3\n */\nfunction toInteger(value) {\n var result = toFinite(value),\n remainder = result % 1;\n\n return result === result ? (remainder ? result - remainder : result) : 0;\n}\n\nmodule.exports = toInteger;\n","var baseTrim = require('./_baseTrim'),\n isObject = require('./isObject'),\n isSymbol = require('./isSymbol');\n\n/** Used as references for various `Number` constants. */\nvar NAN = 0 / 0;\n\n/** Used to detect bad signed hexadecimal string values. */\nvar reIsBadHex = /^[-+]0x[0-9a-f]+$/i;\n\n/** Used to detect binary string values. */\nvar reIsBinary = /^0b[01]+$/i;\n\n/** Used to detect octal string values. */\nvar reIsOctal = /^0o[0-7]+$/i;\n\n/** Built-in method references without a dependency on `root`. */\nvar freeParseInt = parseInt;\n\n/**\n * Converts `value` to a number.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to process.\n * @returns {number} Returns the number.\n * @example\n *\n * _.toNumber(3.2);\n * // => 3.2\n *\n * _.toNumber(Number.MIN_VALUE);\n * // => 5e-324\n *\n * _.toNumber(Infinity);\n * // => Infinity\n *\n * _.toNumber('3.2');\n * // => 3.2\n */\nfunction toNumber(value) {\n if (typeof value == 'number') {\n return value;\n }\n if (isSymbol(value)) {\n return NAN;\n }\n if (isObject(value)) {\n var other = typeof value.valueOf == 'function' ? value.valueOf() : value;\n value = isObject(other) ? (other + '') : other;\n }\n if (typeof value != 'string') {\n return value === 0 ? value : +value;\n }\n value = baseTrim(value);\n var isBinary = reIsBinary.test(value);\n return (isBinary || reIsOctal.test(value))\n ? freeParseInt(value.slice(2), isBinary ? 2 : 8)\n : (reIsBadHex.test(value) ? NAN : +value);\n}\n\nmodule.exports = toNumber;\n","var baseToString = require('./_baseToString');\n\n/**\n * Converts `value` to a string. An empty string is returned for `null`\n * and `undefined` values. The sign of `-0` is preserved.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to convert.\n * @returns {string} Returns the converted string.\n * @example\n *\n * _.toString(null);\n * // => ''\n *\n * _.toString(-0);\n * // => '-0'\n *\n * _.toString([1, 2, 3]);\n * // => '1,2,3'\n */\nfunction toString(value) {\n return value == null ? '' : baseToString(value);\n}\n\nmodule.exports = toString;\n","'use strict';\n\nfunction nullthrows(x, message) {\n if (x != null) {\n return x;\n }\n var error = new Error(message !== undefined ? message : 'Got unexpected ' + x);\n error.framesToPop = 1; // Skip nullthrows's own stack frame.\n throw error;\n}\n\nmodule.exports = nullthrows;\nmodule.exports.default = nullthrows;\n\nObject.defineProperty(module.exports, '__esModule', {value: true});\n","/**\n * @license React\n * react-dom.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n/*\n Modernizr 3.0.0pre (Custom Build) | MIT\n*/\n'use strict';var aa=require(\"react\"),ca=require(\"scheduler\");function p(a){for(var b=\"https://reactjs.org/docs/error-decoder.html?invariant=\"+a,c=1;cb}return!1}function v(a,b,c,d,e,f,g){this.acceptsBooleans=2===b||3===b||4===b;this.attributeName=d;this.attributeNamespace=e;this.mustUseProperty=c;this.propertyName=a;this.type=b;this.sanitizeURL=f;this.removeEmptyString=g}var z={};\n\"children dangerouslySetInnerHTML defaultValue defaultChecked innerHTML suppressContentEditableWarning suppressHydrationWarning style\".split(\" \").forEach(function(a){z[a]=new v(a,0,!1,a,null,!1,!1)});[[\"acceptCharset\",\"accept-charset\"],[\"className\",\"class\"],[\"htmlFor\",\"for\"],[\"httpEquiv\",\"http-equiv\"]].forEach(function(a){var b=a[0];z[b]=new v(b,1,!1,a[1],null,!1,!1)});[\"contentEditable\",\"draggable\",\"spellCheck\",\"value\"].forEach(function(a){z[a]=new v(a,2,!1,a.toLowerCase(),null,!1,!1)});\n[\"autoReverse\",\"externalResourcesRequired\",\"focusable\",\"preserveAlpha\"].forEach(function(a){z[a]=new v(a,2,!1,a,null,!1,!1)});\"allowFullScreen async autoFocus autoPlay controls default defer disabled disablePictureInPicture disableRemotePlayback formNoValidate hidden loop noModule noValidate open playsInline readOnly required reversed scoped seamless itemScope\".split(\" \").forEach(function(a){z[a]=new v(a,3,!1,a.toLowerCase(),null,!1,!1)});\n[\"checked\",\"multiple\",\"muted\",\"selected\"].forEach(function(a){z[a]=new v(a,3,!0,a,null,!1,!1)});[\"capture\",\"download\"].forEach(function(a){z[a]=new v(a,4,!1,a,null,!1,!1)});[\"cols\",\"rows\",\"size\",\"span\"].forEach(function(a){z[a]=new v(a,6,!1,a,null,!1,!1)});[\"rowSpan\",\"start\"].forEach(function(a){z[a]=new v(a,5,!1,a.toLowerCase(),null,!1,!1)});var ra=/[\\-:]([a-z])/g;function sa(a){return a[1].toUpperCase()}\n\"accent-height alignment-baseline arabic-form baseline-shift cap-height clip-path clip-rule color-interpolation color-interpolation-filters color-profile color-rendering dominant-baseline enable-background fill-opacity fill-rule flood-color flood-opacity font-family font-size font-size-adjust font-stretch font-style font-variant font-weight glyph-name glyph-orientation-horizontal glyph-orientation-vertical horiz-adv-x horiz-origin-x image-rendering letter-spacing lighting-color marker-end marker-mid marker-start overline-position overline-thickness paint-order panose-1 pointer-events rendering-intent shape-rendering stop-color stop-opacity strikethrough-position strikethrough-thickness stroke-dasharray stroke-dashoffset stroke-linecap stroke-linejoin stroke-miterlimit stroke-opacity stroke-width text-anchor text-decoration text-rendering underline-position underline-thickness unicode-bidi unicode-range units-per-em v-alphabetic v-hanging v-ideographic v-mathematical vector-effect vert-adv-y vert-origin-x vert-origin-y word-spacing writing-mode xmlns:xlink x-height\".split(\" \").forEach(function(a){var b=a.replace(ra,\nsa);z[b]=new v(b,1,!1,a,null,!1,!1)});\"xlink:actuate xlink:arcrole xlink:role xlink:show xlink:title xlink:type\".split(\" \").forEach(function(a){var b=a.replace(ra,sa);z[b]=new v(b,1,!1,a,\"http://www.w3.org/1999/xlink\",!1,!1)});[\"xml:base\",\"xml:lang\",\"xml:space\"].forEach(function(a){var b=a.replace(ra,sa);z[b]=new v(b,1,!1,a,\"http://www.w3.org/XML/1998/namespace\",!1,!1)});[\"tabIndex\",\"crossOrigin\"].forEach(function(a){z[a]=new v(a,1,!1,a.toLowerCase(),null,!1,!1)});\nz.xlinkHref=new v(\"xlinkHref\",1,!1,\"xlink:href\",\"http://www.w3.org/1999/xlink\",!0,!1);[\"src\",\"href\",\"action\",\"formAction\"].forEach(function(a){z[a]=new v(a,1,!1,a.toLowerCase(),null,!0,!0)});\nfunction ta(a,b,c,d){var e=z.hasOwnProperty(b)?z[b]:null;if(null!==e?0!==e.type:d||!(2h||e[g]!==f[h]){var k=\"\\n\"+e[g].replace(\" at new \",\" at \");a.displayName&&k.includes(\"\")&&(k=k.replace(\"\",a.displayName));return k}while(1<=g&&0<=h)}break}}}finally{Na=!1,Error.prepareStackTrace=c}return(a=a?a.displayName||a.name:\"\")?Ma(a):\"\"}\nfunction Pa(a){switch(a.tag){case 5:return Ma(a.type);case 16:return Ma(\"Lazy\");case 13:return Ma(\"Suspense\");case 19:return Ma(\"SuspenseList\");case 0:case 2:case 15:return a=Oa(a.type,!1),a;case 11:return a=Oa(a.type.render,!1),a;case 1:return a=Oa(a.type,!0),a;default:return\"\"}}\nfunction Qa(a){if(null==a)return null;if(\"function\"===typeof a)return a.displayName||a.name||null;if(\"string\"===typeof a)return a;switch(a){case ya:return\"Fragment\";case wa:return\"Portal\";case Aa:return\"Profiler\";case za:return\"StrictMode\";case Ea:return\"Suspense\";case Fa:return\"SuspenseList\"}if(\"object\"===typeof a)switch(a.$$typeof){case Ca:return(a.displayName||\"Context\")+\".Consumer\";case Ba:return(a._context.displayName||\"Context\")+\".Provider\";case Da:var b=a.render;a=a.displayName;a||(a=b.displayName||\nb.name||\"\",a=\"\"!==a?\"ForwardRef(\"+a+\")\":\"ForwardRef\");return a;case Ga:return b=a.displayName||null,null!==b?b:Qa(a.type)||\"Memo\";case Ha:b=a._payload;a=a._init;try{return Qa(a(b))}catch(c){}}return null}\nfunction Ra(a){var b=a.type;switch(a.tag){case 24:return\"Cache\";case 9:return(b.displayName||\"Context\")+\".Consumer\";case 10:return(b._context.displayName||\"Context\")+\".Provider\";case 18:return\"DehydratedFragment\";case 11:return a=b.render,a=a.displayName||a.name||\"\",b.displayName||(\"\"!==a?\"ForwardRef(\"+a+\")\":\"ForwardRef\");case 7:return\"Fragment\";case 5:return b;case 4:return\"Portal\";case 3:return\"Root\";case 6:return\"Text\";case 16:return Qa(b);case 8:return b===za?\"StrictMode\":\"Mode\";case 22:return\"Offscreen\";\ncase 12:return\"Profiler\";case 21:return\"Scope\";case 13:return\"Suspense\";case 19:return\"SuspenseList\";case 25:return\"TracingMarker\";case 1:case 0:case 17:case 2:case 14:case 15:if(\"function\"===typeof b)return b.displayName||b.name||null;if(\"string\"===typeof b)return b}return null}function Sa(a){switch(typeof a){case \"boolean\":case \"number\":case \"string\":case \"undefined\":return a;case \"object\":return a;default:return\"\"}}\nfunction Ta(a){var b=a.type;return(a=a.nodeName)&&\"input\"===a.toLowerCase()&&(\"checkbox\"===b||\"radio\"===b)}\nfunction Ua(a){var b=Ta(a)?\"checked\":\"value\",c=Object.getOwnPropertyDescriptor(a.constructor.prototype,b),d=\"\"+a[b];if(!a.hasOwnProperty(b)&&\"undefined\"!==typeof c&&\"function\"===typeof c.get&&\"function\"===typeof c.set){var e=c.get,f=c.set;Object.defineProperty(a,b,{configurable:!0,get:function(){return e.call(this)},set:function(a){d=\"\"+a;f.call(this,a)}});Object.defineProperty(a,b,{enumerable:c.enumerable});return{getValue:function(){return d},setValue:function(a){d=\"\"+a},stopTracking:function(){a._valueTracker=\nnull;delete a[b]}}}}function Va(a){a._valueTracker||(a._valueTracker=Ua(a))}function Wa(a){if(!a)return!1;var b=a._valueTracker;if(!b)return!0;var c=b.getValue();var d=\"\";a&&(d=Ta(a)?a.checked?\"true\":\"false\":a.value);a=d;return a!==c?(b.setValue(a),!0):!1}function Xa(a){a=a||(\"undefined\"!==typeof document?document:void 0);if(\"undefined\"===typeof a)return null;try{return a.activeElement||a.body}catch(b){return a.body}}\nfunction Ya(a,b){var c=b.checked;return A({},b,{defaultChecked:void 0,defaultValue:void 0,value:void 0,checked:null!=c?c:a._wrapperState.initialChecked})}function Za(a,b){var c=null==b.defaultValue?\"\":b.defaultValue,d=null!=b.checked?b.checked:b.defaultChecked;c=Sa(null!=b.value?b.value:c);a._wrapperState={initialChecked:d,initialValue:c,controlled:\"checkbox\"===b.type||\"radio\"===b.type?null!=b.checked:null!=b.value}}function ab(a,b){b=b.checked;null!=b&&ta(a,\"checked\",b,!1)}\nfunction bb(a,b){ab(a,b);var c=Sa(b.value),d=b.type;if(null!=c)if(\"number\"===d){if(0===c&&\"\"===a.value||a.value!=c)a.value=\"\"+c}else a.value!==\"\"+c&&(a.value=\"\"+c);else if(\"submit\"===d||\"reset\"===d){a.removeAttribute(\"value\");return}b.hasOwnProperty(\"value\")?cb(a,b.type,c):b.hasOwnProperty(\"defaultValue\")&&cb(a,b.type,Sa(b.defaultValue));null==b.checked&&null!=b.defaultChecked&&(a.defaultChecked=!!b.defaultChecked)}\nfunction db(a,b,c){if(b.hasOwnProperty(\"value\")||b.hasOwnProperty(\"defaultValue\")){var d=b.type;if(!(\"submit\"!==d&&\"reset\"!==d||void 0!==b.value&&null!==b.value))return;b=\"\"+a._wrapperState.initialValue;c||b===a.value||(a.value=b);a.defaultValue=b}c=a.name;\"\"!==c&&(a.name=\"\");a.defaultChecked=!!a._wrapperState.initialChecked;\"\"!==c&&(a.name=c)}\nfunction cb(a,b,c){if(\"number\"!==b||Xa(a.ownerDocument)!==a)null==c?a.defaultValue=\"\"+a._wrapperState.initialValue:a.defaultValue!==\"\"+c&&(a.defaultValue=\"\"+c)}var eb=Array.isArray;\nfunction fb(a,b,c,d){a=a.options;if(b){b={};for(var e=0;e\"+b.valueOf().toString()+\"\";for(b=mb.firstChild;a.firstChild;)a.removeChild(a.firstChild);for(;b.firstChild;)a.appendChild(b.firstChild)}});\nfunction ob(a,b){if(b){var c=a.firstChild;if(c&&c===a.lastChild&&3===c.nodeType){c.nodeValue=b;return}}a.textContent=b}\nvar pb={animationIterationCount:!0,aspectRatio:!0,borderImageOutset:!0,borderImageSlice:!0,borderImageWidth:!0,boxFlex:!0,boxFlexGroup:!0,boxOrdinalGroup:!0,columnCount:!0,columns:!0,flex:!0,flexGrow:!0,flexPositive:!0,flexShrink:!0,flexNegative:!0,flexOrder:!0,gridArea:!0,gridRow:!0,gridRowEnd:!0,gridRowSpan:!0,gridRowStart:!0,gridColumn:!0,gridColumnEnd:!0,gridColumnSpan:!0,gridColumnStart:!0,fontWeight:!0,lineClamp:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,tabSize:!0,widows:!0,zIndex:!0,\nzoom:!0,fillOpacity:!0,floodOpacity:!0,stopOpacity:!0,strokeDasharray:!0,strokeDashoffset:!0,strokeMiterlimit:!0,strokeOpacity:!0,strokeWidth:!0},qb=[\"Webkit\",\"ms\",\"Moz\",\"O\"];Object.keys(pb).forEach(function(a){qb.forEach(function(b){b=b+a.charAt(0).toUpperCase()+a.substring(1);pb[b]=pb[a]})});function rb(a,b,c){return null==b||\"boolean\"===typeof b||\"\"===b?\"\":c||\"number\"!==typeof b||0===b||pb.hasOwnProperty(a)&&pb[a]?(\"\"+b).trim():b+\"px\"}\nfunction sb(a,b){a=a.style;for(var c in b)if(b.hasOwnProperty(c)){var d=0===c.indexOf(\"--\"),e=rb(c,b[c],d);\"float\"===c&&(c=\"cssFloat\");d?a.setProperty(c,e):a[c]=e}}var tb=A({menuitem:!0},{area:!0,base:!0,br:!0,col:!0,embed:!0,hr:!0,img:!0,input:!0,keygen:!0,link:!0,meta:!0,param:!0,source:!0,track:!0,wbr:!0});\nfunction ub(a,b){if(b){if(tb[a]&&(null!=b.children||null!=b.dangerouslySetInnerHTML))throw Error(p(137,a));if(null!=b.dangerouslySetInnerHTML){if(null!=b.children)throw Error(p(60));if(\"object\"!==typeof b.dangerouslySetInnerHTML||!(\"__html\"in b.dangerouslySetInnerHTML))throw Error(p(61));}if(null!=b.style&&\"object\"!==typeof b.style)throw Error(p(62));}}\nfunction vb(a,b){if(-1===a.indexOf(\"-\"))return\"string\"===typeof b.is;switch(a){case \"annotation-xml\":case \"color-profile\":case \"font-face\":case \"font-face-src\":case \"font-face-uri\":case \"font-face-format\":case \"font-face-name\":case \"missing-glyph\":return!1;default:return!0}}var wb=null;function xb(a){a=a.target||a.srcElement||window;a.correspondingUseElement&&(a=a.correspondingUseElement);return 3===a.nodeType?a.parentNode:a}var yb=null,zb=null,Ab=null;\nfunction Bb(a){if(a=Cb(a)){if(\"function\"!==typeof yb)throw Error(p(280));var b=a.stateNode;b&&(b=Db(b),yb(a.stateNode,a.type,b))}}function Eb(a){zb?Ab?Ab.push(a):Ab=[a]:zb=a}function Fb(){if(zb){var a=zb,b=Ab;Ab=zb=null;Bb(a);if(b)for(a=0;a>>=0;return 0===a?32:31-(pc(a)/qc|0)|0}var rc=64,sc=4194304;\nfunction tc(a){switch(a&-a){case 1:return 1;case 2:return 2;case 4:return 4;case 8:return 8;case 16:return 16;case 32:return 32;case 64:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return a&4194240;case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:return a&130023424;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 1073741824;\ndefault:return a}}function uc(a,b){var c=a.pendingLanes;if(0===c)return 0;var d=0,e=a.suspendedLanes,f=a.pingedLanes,g=c&268435455;if(0!==g){var h=g&~e;0!==h?d=tc(h):(f&=g,0!==f&&(d=tc(f)))}else g=c&~e,0!==g?d=tc(g):0!==f&&(d=tc(f));if(0===d)return 0;if(0!==b&&b!==d&&0===(b&e)&&(e=d&-d,f=b&-b,e>=f||16===e&&0!==(f&4194240)))return b;0!==(d&4)&&(d|=c&16);b=a.entangledLanes;if(0!==b)for(a=a.entanglements,b&=d;0c;c++)b.push(a);return b}\nfunction Ac(a,b,c){a.pendingLanes|=b;536870912!==b&&(a.suspendedLanes=0,a.pingedLanes=0);a=a.eventTimes;b=31-oc(b);a[b]=c}function Bc(a,b){var c=a.pendingLanes&~b;a.pendingLanes=b;a.suspendedLanes=0;a.pingedLanes=0;a.expiredLanes&=b;a.mutableReadLanes&=b;a.entangledLanes&=b;b=a.entanglements;var d=a.eventTimes;for(a=a.expirationTimes;0=be),ee=String.fromCharCode(32),fe=!1;\nfunction ge(a,b){switch(a){case \"keyup\":return-1!==$d.indexOf(b.keyCode);case \"keydown\":return 229!==b.keyCode;case \"keypress\":case \"mousedown\":case \"focusout\":return!0;default:return!1}}function he(a){a=a.detail;return\"object\"===typeof a&&\"data\"in a?a.data:null}var ie=!1;function je(a,b){switch(a){case \"compositionend\":return he(b);case \"keypress\":if(32!==b.which)return null;fe=!0;return ee;case \"textInput\":return a=b.data,a===ee&&fe?null:a;default:return null}}\nfunction ke(a,b){if(ie)return\"compositionend\"===a||!ae&&ge(a,b)?(a=nd(),md=ld=kd=null,ie=!1,a):null;switch(a){case \"paste\":return null;case \"keypress\":if(!(b.ctrlKey||b.altKey||b.metaKey)||b.ctrlKey&&b.altKey){if(b.char&&1=b)return{node:c,offset:b-a};a=d}a:{for(;c;){if(c.nextSibling){c=c.nextSibling;break a}c=c.parentNode}c=void 0}c=Je(c)}}function Le(a,b){return a&&b?a===b?!0:a&&3===a.nodeType?!1:b&&3===b.nodeType?Le(a,b.parentNode):\"contains\"in a?a.contains(b):a.compareDocumentPosition?!!(a.compareDocumentPosition(b)&16):!1:!1}\nfunction Me(){for(var a=window,b=Xa();b instanceof a.HTMLIFrameElement;){try{var c=\"string\"===typeof b.contentWindow.location.href}catch(d){c=!1}if(c)a=b.contentWindow;else break;b=Xa(a.document)}return b}function Ne(a){var b=a&&a.nodeName&&a.nodeName.toLowerCase();return b&&(\"input\"===b&&(\"text\"===a.type||\"search\"===a.type||\"tel\"===a.type||\"url\"===a.type||\"password\"===a.type)||\"textarea\"===b||\"true\"===a.contentEditable)}\nfunction Oe(a){var b=Me(),c=a.focusedElem,d=a.selectionRange;if(b!==c&&c&&c.ownerDocument&&Le(c.ownerDocument.documentElement,c)){if(null!==d&&Ne(c))if(b=d.start,a=d.end,void 0===a&&(a=b),\"selectionStart\"in c)c.selectionStart=b,c.selectionEnd=Math.min(a,c.value.length);else if(a=(b=c.ownerDocument||document)&&b.defaultView||window,a.getSelection){a=a.getSelection();var e=c.textContent.length,f=Math.min(d.start,e);d=void 0===d.end?f:Math.min(d.end,e);!a.extend&&f>d&&(e=d,d=f,f=e);e=Ke(c,f);var g=Ke(c,\nd);e&&g&&(1!==a.rangeCount||a.anchorNode!==e.node||a.anchorOffset!==e.offset||a.focusNode!==g.node||a.focusOffset!==g.offset)&&(b=b.createRange(),b.setStart(e.node,e.offset),a.removeAllRanges(),f>d?(a.addRange(b),a.extend(g.node,g.offset)):(b.setEnd(g.node,g.offset),a.addRange(b)))}b=[];for(a=c;a=a.parentNode;)1===a.nodeType&&b.push({element:a,left:a.scrollLeft,top:a.scrollTop});\"function\"===typeof c.focus&&c.focus();for(c=0;c=document.documentMode,Qe=null,Re=null,Se=null,Te=!1;\nfunction Ue(a,b,c){var d=c.window===c?c.document:9===c.nodeType?c:c.ownerDocument;Te||null==Qe||Qe!==Xa(d)||(d=Qe,\"selectionStart\"in d&&Ne(d)?d={start:d.selectionStart,end:d.selectionEnd}:(d=(d.ownerDocument&&d.ownerDocument.defaultView||window).getSelection(),d={anchorNode:d.anchorNode,anchorOffset:d.anchorOffset,focusNode:d.focusNode,focusOffset:d.focusOffset}),Se&&Ie(Se,d)||(Se=d,d=oe(Re,\"onSelect\"),0Tf||(a.current=Sf[Tf],Sf[Tf]=null,Tf--)}function G(a,b){Tf++;Sf[Tf]=a.current;a.current=b}var Vf={},H=Uf(Vf),Wf=Uf(!1),Xf=Vf;function Yf(a,b){var c=a.type.contextTypes;if(!c)return Vf;var d=a.stateNode;if(d&&d.__reactInternalMemoizedUnmaskedChildContext===b)return d.__reactInternalMemoizedMaskedChildContext;var e={},f;for(f in c)e[f]=b[f];d&&(a=a.stateNode,a.__reactInternalMemoizedUnmaskedChildContext=b,a.__reactInternalMemoizedMaskedChildContext=e);return e}\nfunction Zf(a){a=a.childContextTypes;return null!==a&&void 0!==a}function $f(){E(Wf);E(H)}function ag(a,b,c){if(H.current!==Vf)throw Error(p(168));G(H,b);G(Wf,c)}function bg(a,b,c){var d=a.stateNode;b=b.childContextTypes;if(\"function\"!==typeof d.getChildContext)return c;d=d.getChildContext();for(var e in d)if(!(e in b))throw Error(p(108,Ra(a)||\"Unknown\",e));return A({},c,d)}\nfunction cg(a){a=(a=a.stateNode)&&a.__reactInternalMemoizedMergedChildContext||Vf;Xf=H.current;G(H,a);G(Wf,Wf.current);return!0}function dg(a,b,c){var d=a.stateNode;if(!d)throw Error(p(169));c?(a=bg(a,b,Xf),d.__reactInternalMemoizedMergedChildContext=a,E(Wf),E(H),G(H,a)):E(Wf);G(Wf,c)}var eg=null,fg=!1,gg=!1;function hg(a){null===eg?eg=[a]:eg.push(a)}function ig(a){fg=!0;hg(a)}\nfunction jg(){if(!gg&&null!==eg){gg=!0;var a=0,b=C;try{var c=eg;for(C=1;a>=g;e-=g;rg=1<<32-oc(b)+e|c<w?(x=u,u=null):x=u.sibling;var n=r(e,u,h[w],k);if(null===n){null===u&&(u=x);break}a&&u&&null===n.alternate&&b(e,u);g=f(n,g,w);null===m?l=n:m.sibling=n;m=n;u=x}if(w===h.length)return c(e,u),I&&tg(e,w),l;if(null===u){for(;ww?(x=m,m=null):x=m.sibling;var t=r(e,m,n.value,k);if(null===t){null===m&&(m=x);break}a&&m&&null===t.alternate&&b(e,m);g=f(t,g,w);null===u?l=t:u.sibling=t;u=t;m=x}if(n.done)return c(e,\nm),I&&tg(e,w),l;if(null===m){for(;!n.done;w++,n=h.next())n=q(e,n.value,k),null!==n&&(g=f(n,g,w),null===u?l=n:u.sibling=n,u=n);I&&tg(e,w);return l}for(m=d(e,m);!n.done;w++,n=h.next())n=y(m,e,w,n.value,k),null!==n&&(a&&null!==n.alternate&&m.delete(null===n.key?w:n.key),g=f(n,g,w),null===u?l=n:u.sibling=n,u=n);a&&m.forEach(function(a){return b(e,a)});I&&tg(e,w);return l}function J(a,d,f,h){\"object\"===typeof f&&null!==f&&f.type===ya&&null===f.key&&(f=f.props.children);if(\"object\"===typeof f&&null!==f){switch(f.$$typeof){case va:a:{for(var k=\nf.key,l=d;null!==l;){if(l.key===k){k=f.type;if(k===ya){if(7===l.tag){c(a,l.sibling);d=e(l,f.props.children);d.return=a;a=d;break a}}else if(l.elementType===k||\"object\"===typeof k&&null!==k&&k.$$typeof===Ha&&uh(k)===l.type){c(a,l.sibling);d=e(l,f.props);d.ref=sh(a,l,f);d.return=a;a=d;break a}c(a,l);break}else b(a,l);l=l.sibling}f.type===ya?(d=Ah(f.props.children,a.mode,h,f.key),d.return=a,a=d):(h=yh(f.type,f.key,f.props,null,a.mode,h),h.ref=sh(a,d,f),h.return=a,a=h)}return g(a);case wa:a:{for(l=f.key;null!==\nd;){if(d.key===l)if(4===d.tag&&d.stateNode.containerInfo===f.containerInfo&&d.stateNode.implementation===f.implementation){c(a,d.sibling);d=e(d,f.children||[]);d.return=a;a=d;break a}else{c(a,d);break}else b(a,d);d=d.sibling}d=zh(f,a.mode,h);d.return=a;a=d}return g(a);case Ha:return l=f._init,J(a,d,l(f._payload),h)}if(eb(f))return n(a,d,f,h);if(Ka(f))return t(a,d,f,h);th(a,f)}return\"string\"===typeof f&&\"\"!==f||\"number\"===typeof f?(f=\"\"+f,null!==d&&6===d.tag?(c(a,d.sibling),d=e(d,f),d.return=a,a=d):\n(c(a,d),d=xh(f,a.mode,h),d.return=a,a=d),g(a)):c(a,d)}return J}var Bh=vh(!0),Ch=vh(!1),Dh={},Eh=Uf(Dh),Fh=Uf(Dh),Gh=Uf(Dh);function Hh(a){if(a===Dh)throw Error(p(174));return a}function Ih(a,b){G(Gh,b);G(Fh,a);G(Eh,Dh);a=b.nodeType;switch(a){case 9:case 11:b=(b=b.documentElement)?b.namespaceURI:lb(null,\"\");break;default:a=8===a?b.parentNode:b,b=a.namespaceURI||null,a=a.tagName,b=lb(b,a)}E(Eh);G(Eh,b)}function Jh(){E(Eh);E(Fh);E(Gh)}\nfunction Kh(a){Hh(Gh.current);var b=Hh(Eh.current);var c=lb(b,a.type);b!==c&&(G(Fh,a),G(Eh,c))}function Lh(a){Fh.current===a&&(E(Eh),E(Fh))}var M=Uf(0);\nfunction Mh(a){for(var b=a;null!==b;){if(13===b.tag){var c=b.memoizedState;if(null!==c&&(c=c.dehydrated,null===c||\"$?\"===c.data||\"$!\"===c.data))return b}else if(19===b.tag&&void 0!==b.memoizedProps.revealOrder){if(0!==(b.flags&128))return b}else if(null!==b.child){b.child.return=b;b=b.child;continue}if(b===a)break;for(;null===b.sibling;){if(null===b.return||b.return===a)return null;b=b.return}b.sibling.return=b.return;b=b.sibling}return null}var Nh=[];\nfunction Oh(){for(var a=0;ac?c:4;a(!0);var d=Qh.transition;Qh.transition={};try{a(!1),b()}finally{C=c,Qh.transition=d}}function Fi(){return di().memoizedState}\nfunction Gi(a,b,c){var d=lh(a);c={lane:d,action:c,hasEagerState:!1,eagerState:null,next:null};if(Hi(a))Ii(b,c);else if(c=Yg(a,b,c,d),null!==c){var e=L();mh(c,a,d,e);Ji(c,b,d)}}\nfunction ri(a,b,c){var d=lh(a),e={lane:d,action:c,hasEagerState:!1,eagerState:null,next:null};if(Hi(a))Ii(b,e);else{var f=a.alternate;if(0===a.lanes&&(null===f||0===f.lanes)&&(f=b.lastRenderedReducer,null!==f))try{var g=b.lastRenderedState,h=f(g,c);e.hasEagerState=!0;e.eagerState=h;if(He(h,g)){var k=b.interleaved;null===k?(e.next=e,Xg(b)):(e.next=k.next,k.next=e);b.interleaved=e;return}}catch(l){}finally{}c=Yg(a,b,e,d);null!==c&&(e=L(),mh(c,a,d,e),Ji(c,b,d))}}\nfunction Hi(a){var b=a.alternate;return a===N||null!==b&&b===N}function Ii(a,b){Th=Sh=!0;var c=a.pending;null===c?b.next=b:(b.next=c.next,c.next=b);a.pending=b}function Ji(a,b,c){if(0!==(c&4194240)){var d=b.lanes;d&=a.pendingLanes;c|=d;b.lanes=c;Cc(a,c)}}\nvar ai={readContext:Vg,useCallback:Q,useContext:Q,useEffect:Q,useImperativeHandle:Q,useInsertionEffect:Q,useLayoutEffect:Q,useMemo:Q,useReducer:Q,useRef:Q,useState:Q,useDebugValue:Q,useDeferredValue:Q,useTransition:Q,useMutableSource:Q,useSyncExternalStore:Q,useId:Q,unstable_isNewReconciler:!1},Yh={readContext:Vg,useCallback:function(a,b){ci().memoizedState=[a,void 0===b?null:b];return a},useContext:Vg,useEffect:vi,useImperativeHandle:function(a,b,c){c=null!==c&&void 0!==c?c.concat([a]):null;return ti(4194308,\n4,yi.bind(null,b,a),c)},useLayoutEffect:function(a,b){return ti(4194308,4,a,b)},useInsertionEffect:function(a,b){return ti(4,2,a,b)},useMemo:function(a,b){var c=ci();b=void 0===b?null:b;a=a();c.memoizedState=[a,b];return a},useReducer:function(a,b,c){var d=ci();b=void 0!==c?c(b):b;d.memoizedState=d.baseState=b;a={pending:null,interleaved:null,lanes:0,dispatch:null,lastRenderedReducer:a,lastRenderedState:b};d.queue=a;a=a.dispatch=Gi.bind(null,N,a);return[d.memoizedState,a]},useRef:function(a){var b=\nci();a={current:a};return b.memoizedState=a},useState:qi,useDebugValue:Ai,useDeferredValue:function(a){return ci().memoizedState=a},useTransition:function(){var a=qi(!1),b=a[0];a=Ei.bind(null,a[1]);ci().memoizedState=a;return[b,a]},useMutableSource:function(){},useSyncExternalStore:function(a,b,c){var d=N,e=ci();if(I){if(void 0===c)throw Error(p(407));c=c()}else{c=b();if(null===R)throw Error(p(349));0!==(Rh&30)||ni(d,b,c)}e.memoizedState=c;var f={value:c,getSnapshot:b};e.queue=f;vi(ki.bind(null,d,\nf,a),[a]);d.flags|=2048;li(9,mi.bind(null,d,f,c,b),void 0,null);return c},useId:function(){var a=ci(),b=R.identifierPrefix;if(I){var c=sg;var d=rg;c=(d&~(1<<32-oc(d)-1)).toString(32)+c;b=\":\"+b+\"R\"+c;c=Uh++;0\\x3c/script>\",a=a.removeChild(a.firstChild)):\n\"string\"===typeof d.is?a=g.createElement(c,{is:d.is}):(a=g.createElement(c),\"select\"===c&&(g=a,d.multiple?g.multiple=!0:d.size&&(g.size=d.size))):a=g.createElementNS(a,c);a[Of]=b;a[Pf]=d;Aj(a,b,!1,!1);b.stateNode=a;a:{g=vb(c,d);switch(c){case \"dialog\":D(\"cancel\",a);D(\"close\",a);e=d;break;case \"iframe\":case \"object\":case \"embed\":D(\"load\",a);e=d;break;case \"video\":case \"audio\":for(e=0;eHj&&(b.flags|=128,d=!0,Ej(f,!1),b.lanes=4194304)}else{if(!d)if(a=Mh(g),null!==a){if(b.flags|=128,d=!0,c=a.updateQueue,null!==c&&(b.updateQueue=c,b.flags|=4),Ej(f,!0),null===f.tail&&\"hidden\"===f.tailMode&&!g.alternate&&!I)return S(b),null}else 2*B()-f.renderingStartTime>Hj&&1073741824!==c&&(b.flags|=128,d=!0,Ej(f,!1),b.lanes=4194304);f.isBackwards?(g.sibling=b.child,b.child=g):(c=f.last,null!==c?c.sibling=g:b.child=g,f.last=g)}if(null!==f.tail)return b=f.tail,f.rendering=\nb,f.tail=b.sibling,f.renderingStartTime=B(),b.sibling=null,c=M.current,G(M,d?c&1|2:c&1),b;S(b);return null;case 22:case 23:return Ij(),d=null!==b.memoizedState,null!==a&&null!==a.memoizedState!==d&&(b.flags|=8192),d&&0!==(b.mode&1)?0!==(gj&1073741824)&&(S(b),b.subtreeFlags&6&&(b.flags|=8192)):S(b),null;case 24:return null;case 25:return null}throw Error(p(156,b.tag));}\nfunction Jj(a,b){wg(b);switch(b.tag){case 1:return Zf(b.type)&&$f(),a=b.flags,a&65536?(b.flags=a&-65537|128,b):null;case 3:return Jh(),E(Wf),E(H),Oh(),a=b.flags,0!==(a&65536)&&0===(a&128)?(b.flags=a&-65537|128,b):null;case 5:return Lh(b),null;case 13:E(M);a=b.memoizedState;if(null!==a&&null!==a.dehydrated){if(null===b.alternate)throw Error(p(340));Ig()}a=b.flags;return a&65536?(b.flags=a&-65537|128,b):null;case 19:return E(M),null;case 4:return Jh(),null;case 10:return Rg(b.type._context),null;case 22:case 23:return Ij(),\nnull;case 24:return null;default:return null}}var Kj=!1,U=!1,Lj=\"function\"===typeof WeakSet?WeakSet:Set,V=null;function Mj(a,b){var c=a.ref;if(null!==c)if(\"function\"===typeof c)try{c(null)}catch(d){W(a,b,d)}else c.current=null}function Nj(a,b,c){try{c()}catch(d){W(a,b,d)}}var Oj=!1;\nfunction Pj(a,b){Cf=dd;a=Me();if(Ne(a)){if(\"selectionStart\"in a)var c={start:a.selectionStart,end:a.selectionEnd};else a:{c=(c=a.ownerDocument)&&c.defaultView||window;var d=c.getSelection&&c.getSelection();if(d&&0!==d.rangeCount){c=d.anchorNode;var e=d.anchorOffset,f=d.focusNode;d=d.focusOffset;try{c.nodeType,f.nodeType}catch(F){c=null;break a}var g=0,h=-1,k=-1,l=0,m=0,q=a,r=null;b:for(;;){for(var y;;){q!==c||0!==e&&3!==q.nodeType||(h=g+e);q!==f||0!==d&&3!==q.nodeType||(k=g+d);3===q.nodeType&&(g+=\nq.nodeValue.length);if(null===(y=q.firstChild))break;r=q;q=y}for(;;){if(q===a)break b;r===c&&++l===e&&(h=g);r===f&&++m===d&&(k=g);if(null!==(y=q.nextSibling))break;q=r;r=q.parentNode}q=y}c=-1===h||-1===k?null:{start:h,end:k}}else c=null}c=c||{start:0,end:0}}else c=null;Df={focusedElem:a,selectionRange:c};dd=!1;for(V=b;null!==V;)if(b=V,a=b.child,0!==(b.subtreeFlags&1028)&&null!==a)a.return=b,V=a;else for(;null!==V;){b=V;try{var n=b.alternate;if(0!==(b.flags&1024))switch(b.tag){case 0:case 11:case 15:break;\ncase 1:if(null!==n){var t=n.memoizedProps,J=n.memoizedState,x=b.stateNode,w=x.getSnapshotBeforeUpdate(b.elementType===b.type?t:Lg(b.type,t),J);x.__reactInternalSnapshotBeforeUpdate=w}break;case 3:var u=b.stateNode.containerInfo;1===u.nodeType?u.textContent=\"\":9===u.nodeType&&u.documentElement&&u.removeChild(u.documentElement);break;case 5:case 6:case 4:case 17:break;default:throw Error(p(163));}}catch(F){W(b,b.return,F)}a=b.sibling;if(null!==a){a.return=b.return;V=a;break}V=b.return}n=Oj;Oj=!1;return n}\nfunction Qj(a,b,c){var d=b.updateQueue;d=null!==d?d.lastEffect:null;if(null!==d){var e=d=d.next;do{if((e.tag&a)===a){var f=e.destroy;e.destroy=void 0;void 0!==f&&Nj(b,c,f)}e=e.next}while(e!==d)}}function Rj(a,b){b=b.updateQueue;b=null!==b?b.lastEffect:null;if(null!==b){var c=b=b.next;do{if((c.tag&a)===a){var d=c.create;c.destroy=d()}c=c.next}while(c!==b)}}function Sj(a){var b=a.ref;if(null!==b){var c=a.stateNode;switch(a.tag){case 5:a=c;break;default:a=c}\"function\"===typeof b?b(a):b.current=a}}\nfunction Tj(a){var b=a.alternate;null!==b&&(a.alternate=null,Tj(b));a.child=null;a.deletions=null;a.sibling=null;5===a.tag&&(b=a.stateNode,null!==b&&(delete b[Of],delete b[Pf],delete b[of],delete b[Qf],delete b[Rf]));a.stateNode=null;a.return=null;a.dependencies=null;a.memoizedProps=null;a.memoizedState=null;a.pendingProps=null;a.stateNode=null;a.updateQueue=null}function Uj(a){return 5===a.tag||3===a.tag||4===a.tag}\nfunction Vj(a){a:for(;;){for(;null===a.sibling;){if(null===a.return||Uj(a.return))return null;a=a.return}a.sibling.return=a.return;for(a=a.sibling;5!==a.tag&&6!==a.tag&&18!==a.tag;){if(a.flags&2)continue a;if(null===a.child||4===a.tag)continue a;else a.child.return=a,a=a.child}if(!(a.flags&2))return a.stateNode}}\nfunction Wj(a,b,c){var d=a.tag;if(5===d||6===d)a=a.stateNode,b?8===c.nodeType?c.parentNode.insertBefore(a,b):c.insertBefore(a,b):(8===c.nodeType?(b=c.parentNode,b.insertBefore(a,c)):(b=c,b.appendChild(a)),c=c._reactRootContainer,null!==c&&void 0!==c||null!==b.onclick||(b.onclick=Bf));else if(4!==d&&(a=a.child,null!==a))for(Wj(a,b,c),a=a.sibling;null!==a;)Wj(a,b,c),a=a.sibling}\nfunction Xj(a,b,c){var d=a.tag;if(5===d||6===d)a=a.stateNode,b?c.insertBefore(a,b):c.appendChild(a);else if(4!==d&&(a=a.child,null!==a))for(Xj(a,b,c),a=a.sibling;null!==a;)Xj(a,b,c),a=a.sibling}var X=null,Yj=!1;function Zj(a,b,c){for(c=c.child;null!==c;)ak(a,b,c),c=c.sibling}\nfunction ak(a,b,c){if(lc&&\"function\"===typeof lc.onCommitFiberUnmount)try{lc.onCommitFiberUnmount(kc,c)}catch(h){}switch(c.tag){case 5:U||Mj(c,b);case 6:var d=X,e=Yj;X=null;Zj(a,b,c);X=d;Yj=e;null!==X&&(Yj?(a=X,c=c.stateNode,8===a.nodeType?a.parentNode.removeChild(c):a.removeChild(c)):X.removeChild(c.stateNode));break;case 18:null!==X&&(Yj?(a=X,c=c.stateNode,8===a.nodeType?Kf(a.parentNode,c):1===a.nodeType&&Kf(a,c),bd(a)):Kf(X,c.stateNode));break;case 4:d=X;e=Yj;X=c.stateNode.containerInfo;Yj=!0;\nZj(a,b,c);X=d;Yj=e;break;case 0:case 11:case 14:case 15:if(!U&&(d=c.updateQueue,null!==d&&(d=d.lastEffect,null!==d))){e=d=d.next;do{var f=e,g=f.destroy;f=f.tag;void 0!==g&&(0!==(f&2)?Nj(c,b,g):0!==(f&4)&&Nj(c,b,g));e=e.next}while(e!==d)}Zj(a,b,c);break;case 1:if(!U&&(Mj(c,b),d=c.stateNode,\"function\"===typeof d.componentWillUnmount))try{d.props=c.memoizedProps,d.state=c.memoizedState,d.componentWillUnmount()}catch(h){W(c,b,h)}Zj(a,b,c);break;case 21:Zj(a,b,c);break;case 22:c.mode&1?(U=(d=U)||null!==\nc.memoizedState,Zj(a,b,c),U=d):Zj(a,b,c);break;default:Zj(a,b,c)}}function bk(a){var b=a.updateQueue;if(null!==b){a.updateQueue=null;var c=a.stateNode;null===c&&(c=a.stateNode=new Lj);b.forEach(function(b){var d=ck.bind(null,a,b);c.has(b)||(c.add(b),b.then(d,d))})}}\nfunction dk(a,b){var c=b.deletions;if(null!==c)for(var d=0;de&&(e=g);d&=~f}d=e;d=B()-d;d=(120>d?120:480>d?480:1080>d?1080:1920>d?1920:3E3>d?3E3:4320>d?4320:1960*mk(d/1960))-d;if(10a?16:a;if(null===xk)var d=!1;else{a=xk;xk=null;yk=0;if(0!==(K&6))throw Error(p(331));var e=K;K|=4;for(V=a.current;null!==V;){var f=V,g=f.child;if(0!==(V.flags&16)){var h=f.deletions;if(null!==h){for(var k=0;kB()-gk?Lk(a,0):sk|=c);Ek(a,b)}function Zk(a,b){0===b&&(0===(a.mode&1)?b=1:(b=sc,sc<<=1,0===(sc&130023424)&&(sc=4194304)));var c=L();a=Zg(a,b);null!==a&&(Ac(a,b,c),Ek(a,c))}function vj(a){var b=a.memoizedState,c=0;null!==b&&(c=b.retryLane);Zk(a,c)}\nfunction ck(a,b){var c=0;switch(a.tag){case 13:var d=a.stateNode;var e=a.memoizedState;null!==e&&(c=e.retryLane);break;case 19:d=a.stateNode;break;default:throw Error(p(314));}null!==d&&d.delete(b);Zk(a,c)}var Wk;\nWk=function(a,b,c){if(null!==a)if(a.memoizedProps!==b.pendingProps||Wf.current)Ug=!0;else{if(0===(a.lanes&c)&&0===(b.flags&128))return Ug=!1,zj(a,b,c);Ug=0!==(a.flags&131072)?!0:!1}else Ug=!1,I&&0!==(b.flags&1048576)&&ug(b,ng,b.index);b.lanes=0;switch(b.tag){case 2:var d=b.type;jj(a,b);a=b.pendingProps;var e=Yf(b,H.current);Tg(b,c);e=Xh(null,b,d,a,e,c);var f=bi();b.flags|=1;\"object\"===typeof e&&null!==e&&\"function\"===typeof e.render&&void 0===e.$$typeof?(b.tag=1,b.memoizedState=null,b.updateQueue=\nnull,Zf(d)?(f=!0,cg(b)):f=!1,b.memoizedState=null!==e.state&&void 0!==e.state?e.state:null,ah(b),e.updater=nh,b.stateNode=e,e._reactInternals=b,rh(b,d,a,c),b=kj(null,b,d,!0,f,c)):(b.tag=0,I&&f&&vg(b),Yi(null,b,e,c),b=b.child);return b;case 16:d=b.elementType;a:{jj(a,b);a=b.pendingProps;e=d._init;d=e(d._payload);b.type=d;e=b.tag=$k(d);a=Lg(d,a);switch(e){case 0:b=dj(null,b,d,a,c);break a;case 1:b=ij(null,b,d,a,c);break a;case 11:b=Zi(null,b,d,a,c);break a;case 14:b=aj(null,b,d,Lg(d.type,a),c);break a}throw Error(p(306,\nd,\"\"));}return b;case 0:return d=b.type,e=b.pendingProps,e=b.elementType===d?e:Lg(d,e),dj(a,b,d,e,c);case 1:return d=b.type,e=b.pendingProps,e=b.elementType===d?e:Lg(d,e),ij(a,b,d,e,c);case 3:a:{lj(b);if(null===a)throw Error(p(387));d=b.pendingProps;f=b.memoizedState;e=f.element;bh(a,b);gh(b,d,null,c);var g=b.memoizedState;d=g.element;if(f.isDehydrated)if(f={element:d,isDehydrated:!1,cache:g.cache,pendingSuspenseBoundaries:g.pendingSuspenseBoundaries,transitions:g.transitions},b.updateQueue.baseState=\nf,b.memoizedState=f,b.flags&256){e=Ki(Error(p(423)),b);b=mj(a,b,d,c,e);break a}else if(d!==e){e=Ki(Error(p(424)),b);b=mj(a,b,d,c,e);break a}else for(yg=Lf(b.stateNode.containerInfo.firstChild),xg=b,I=!0,zg=null,c=Ch(b,null,d,c),b.child=c;c;)c.flags=c.flags&-3|4096,c=c.sibling;else{Ig();if(d===e){b=$i(a,b,c);break a}Yi(a,b,d,c)}b=b.child}return b;case 5:return Kh(b),null===a&&Eg(b),d=b.type,e=b.pendingProps,f=null!==a?a.memoizedProps:null,g=e.children,Ef(d,e)?g=null:null!==f&&Ef(d,f)&&(b.flags|=32),\nhj(a,b),Yi(a,b,g,c),b.child;case 6:return null===a&&Eg(b),null;case 13:return pj(a,b,c);case 4:return Ih(b,b.stateNode.containerInfo),d=b.pendingProps,null===a?b.child=Bh(b,null,d,c):Yi(a,b,d,c),b.child;case 11:return d=b.type,e=b.pendingProps,e=b.elementType===d?e:Lg(d,e),Zi(a,b,d,e,c);case 7:return Yi(a,b,b.pendingProps,c),b.child;case 8:return Yi(a,b,b.pendingProps.children,c),b.child;case 12:return Yi(a,b,b.pendingProps.children,c),b.child;case 10:a:{d=b.type._context;e=b.pendingProps;f=b.memoizedProps;\ng=e.value;G(Mg,d._currentValue);d._currentValue=g;if(null!==f)if(He(f.value,g)){if(f.children===e.children&&!Wf.current){b=$i(a,b,c);break a}}else for(f=b.child,null!==f&&(f.return=b);null!==f;){var h=f.dependencies;if(null!==h){g=f.child;for(var k=h.firstContext;null!==k;){if(k.context===d){if(1===f.tag){k=ch(-1,c&-c);k.tag=2;var l=f.updateQueue;if(null!==l){l=l.shared;var m=l.pending;null===m?k.next=k:(k.next=m.next,m.next=k);l.pending=k}}f.lanes|=c;k=f.alternate;null!==k&&(k.lanes|=c);Sg(f.return,\nc,b);h.lanes|=c;break}k=k.next}}else if(10===f.tag)g=f.type===b.type?null:f.child;else if(18===f.tag){g=f.return;if(null===g)throw Error(p(341));g.lanes|=c;h=g.alternate;null!==h&&(h.lanes|=c);Sg(g,c,b);g=f.sibling}else g=f.child;if(null!==g)g.return=f;else for(g=f;null!==g;){if(g===b){g=null;break}f=g.sibling;if(null!==f){f.return=g.return;g=f;break}g=g.return}f=g}Yi(a,b,e.children,c);b=b.child}return b;case 9:return e=b.type,d=b.pendingProps.children,Tg(b,c),e=Vg(e),d=d(e),b.flags|=1,Yi(a,b,d,c),\nb.child;case 14:return d=b.type,e=Lg(d,b.pendingProps),e=Lg(d.type,e),aj(a,b,d,e,c);case 15:return cj(a,b,b.type,b.pendingProps,c);case 17:return d=b.type,e=b.pendingProps,e=b.elementType===d?e:Lg(d,e),jj(a,b),b.tag=1,Zf(d)?(a=!0,cg(b)):a=!1,Tg(b,c),ph(b,d,e),rh(b,d,e,c),kj(null,b,d,!0,a,c);case 19:return yj(a,b,c);case 22:return ej(a,b,c)}throw Error(p(156,b.tag));};function Gk(a,b){return ac(a,b)}\nfunction al(a,b,c,d){this.tag=a;this.key=c;this.sibling=this.child=this.return=this.stateNode=this.type=this.elementType=null;this.index=0;this.ref=null;this.pendingProps=b;this.dependencies=this.memoizedState=this.updateQueue=this.memoizedProps=null;this.mode=d;this.subtreeFlags=this.flags=0;this.deletions=null;this.childLanes=this.lanes=0;this.alternate=null}function Bg(a,b,c,d){return new al(a,b,c,d)}function bj(a){a=a.prototype;return!(!a||!a.isReactComponent)}\nfunction $k(a){if(\"function\"===typeof a)return bj(a)?1:0;if(void 0!==a&&null!==a){a=a.$$typeof;if(a===Da)return 11;if(a===Ga)return 14}return 2}\nfunction wh(a,b){var c=a.alternate;null===c?(c=Bg(a.tag,b,a.key,a.mode),c.elementType=a.elementType,c.type=a.type,c.stateNode=a.stateNode,c.alternate=a,a.alternate=c):(c.pendingProps=b,c.type=a.type,c.flags=0,c.subtreeFlags=0,c.deletions=null);c.flags=a.flags&14680064;c.childLanes=a.childLanes;c.lanes=a.lanes;c.child=a.child;c.memoizedProps=a.memoizedProps;c.memoizedState=a.memoizedState;c.updateQueue=a.updateQueue;b=a.dependencies;c.dependencies=null===b?null:{lanes:b.lanes,firstContext:b.firstContext};\nc.sibling=a.sibling;c.index=a.index;c.ref=a.ref;return c}\nfunction yh(a,b,c,d,e,f){var g=2;d=a;if(\"function\"===typeof a)bj(a)&&(g=1);else if(\"string\"===typeof a)g=5;else a:switch(a){case ya:return Ah(c.children,e,f,b);case za:g=8;e|=8;break;case Aa:return a=Bg(12,c,b,e|2),a.elementType=Aa,a.lanes=f,a;case Ea:return a=Bg(13,c,b,e),a.elementType=Ea,a.lanes=f,a;case Fa:return a=Bg(19,c,b,e),a.elementType=Fa,a.lanes=f,a;case Ia:return qj(c,e,f,b);default:if(\"object\"===typeof a&&null!==a)switch(a.$$typeof){case Ba:g=10;break a;case Ca:g=9;break a;case Da:g=11;\nbreak a;case Ga:g=14;break a;case Ha:g=16;d=null;break a}throw Error(p(130,null==a?a:typeof a,\"\"));}b=Bg(g,c,b,e);b.elementType=a;b.type=d;b.lanes=f;return b}function Ah(a,b,c,d){a=Bg(7,a,d,b);a.lanes=c;return a}function qj(a,b,c,d){a=Bg(22,a,d,b);a.elementType=Ia;a.lanes=c;a.stateNode={isHidden:!1};return a}function xh(a,b,c){a=Bg(6,a,null,b);a.lanes=c;return a}\nfunction zh(a,b,c){b=Bg(4,null!==a.children?a.children:[],a.key,b);b.lanes=c;b.stateNode={containerInfo:a.containerInfo,pendingChildren:null,implementation:a.implementation};return b}\nfunction bl(a,b,c,d,e){this.tag=b;this.containerInfo=a;this.finishedWork=this.pingCache=this.current=this.pendingChildren=null;this.timeoutHandle=-1;this.callbackNode=this.pendingContext=this.context=null;this.callbackPriority=0;this.eventTimes=zc(0);this.expirationTimes=zc(-1);this.entangledLanes=this.finishedLanes=this.mutableReadLanes=this.expiredLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0;this.entanglements=zc(0);this.identifierPrefix=d;this.onRecoverableError=e;this.mutableSourceEagerHydrationData=\nnull}function cl(a,b,c,d,e,f,g,h,k){a=new bl(a,b,c,h,k);1===b?(b=1,!0===f&&(b|=8)):b=0;f=Bg(3,null,null,b);a.current=f;f.stateNode=a;f.memoizedState={element:d,isDehydrated:c,cache:null,transitions:null,pendingSuspenseBoundaries:null};ah(f);return a}function dl(a,b,c){var d=3>>1,e=a[d];if(0>>1;dg(C,c))ng(x,C)?(a[d]=x,a[n]=c,d=n):(a[d]=C,a[m]=c,d=m);else if(ng(x,c))a[d]=x,a[n]=c,d=n;else break a}}return b}\nfunction g(a,b){var c=a.sortIndex-b.sortIndex;return 0!==c?c:a.id-b.id}if(\"object\"===typeof performance&&\"function\"===typeof performance.now){var l=performance;exports.unstable_now=function(){return l.now()}}else{var p=Date,q=p.now();exports.unstable_now=function(){return p.now()-q}}var r=[],t=[],u=1,v=null,y=3,z=!1,A=!1,B=!1,D=\"function\"===typeof setTimeout?setTimeout:null,E=\"function\"===typeof clearTimeout?clearTimeout:null,F=\"undefined\"!==typeof setImmediate?setImmediate:null;\n\"undefined\"!==typeof navigator&&void 0!==navigator.scheduling&&void 0!==navigator.scheduling.isInputPending&&navigator.scheduling.isInputPending.bind(navigator.scheduling);function G(a){for(var b=h(t);null!==b;){if(null===b.callback)k(t);else if(b.startTime<=a)k(t),b.sortIndex=b.expirationTime,f(r,b);else break;b=h(t)}}function H(a){B=!1;G(a);if(!A)if(null!==h(r))A=!0,I(J);else{var b=h(t);null!==b&&K(H,b.startTime-a)}}\nfunction J(a,b){A=!1;B&&(B=!1,E(L),L=-1);z=!0;var c=y;try{G(b);for(v=h(r);null!==v&&(!(v.expirationTime>b)||a&&!M());){var d=v.callback;if(\"function\"===typeof d){v.callback=null;y=v.priorityLevel;var e=d(v.expirationTime<=b);b=exports.unstable_now();\"function\"===typeof e?v.callback=e:v===h(r)&&k(r);G(b)}else k(r);v=h(r)}if(null!==v)var w=!0;else{var m=h(t);null!==m&&K(H,m.startTime-b);w=!1}return w}finally{v=null,y=c,z=!1}}var N=!1,O=null,L=-1,P=5,Q=-1;\nfunction M(){return exports.unstable_now()-Qa||125d?(a.sortIndex=c,f(t,a),null===h(r)&&a===h(t)&&(B?(E(L),L=-1):B=!0,K(H,c-d))):(a.sortIndex=e,f(r,a),A||z||(A=!0,I(J)));return a};\nexports.unstable_shouldYield=M;exports.unstable_wrapCallback=function(a){var b=y;return function(){var c=y;y=b;try{return a.apply(this,arguments)}finally{y=c}}};\n","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('./cjs/scheduler.production.min.js');\n} else {\n module.exports = require('./cjs/scheduler.development.js');\n}\n","/**\n * @license React\n * react-jsx-runtime.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n'use strict';var f=require(\"react\"),k=Symbol.for(\"react.element\"),l=Symbol.for(\"react.fragment\"),m=Object.prototype.hasOwnProperty,n=f.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner,p={key:!0,ref:!0,__self:!0,__source:!0};\nfunction q(c,a,g){var b,d={},e=null,h=null;void 0!==g&&(e=\"\"+g);void 0!==a.key&&(e=\"\"+a.key);void 0!==a.ref&&(h=a.ref);for(b in a)m.call(a,b)&&!p.hasOwnProperty(b)&&(d[b]=a[b]);if(c&&c.defaultProps)for(b in a=c.defaultProps,a)void 0===d[b]&&(d[b]=a[b]);return{$$typeof:k,type:c,key:e,ref:h,props:d,_owner:n.current}}exports.Fragment=l;exports.jsx=q;exports.jsxs=q;\n","/**\n * @license React\n * react.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n'use strict';var l=Symbol.for(\"react.element\"),n=Symbol.for(\"react.portal\"),p=Symbol.for(\"react.fragment\"),q=Symbol.for(\"react.strict_mode\"),r=Symbol.for(\"react.profiler\"),t=Symbol.for(\"react.provider\"),u=Symbol.for(\"react.context\"),v=Symbol.for(\"react.forward_ref\"),w=Symbol.for(\"react.suspense\"),x=Symbol.for(\"react.memo\"),y=Symbol.for(\"react.lazy\"),z=Symbol.iterator;function A(a){if(null===a||\"object\"!==typeof a)return null;a=z&&a[z]||a[\"@@iterator\"];return\"function\"===typeof a?a:null}\nvar B={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},C=Object.assign,D={};function E(a,b,e){this.props=a;this.context=b;this.refs=D;this.updater=e||B}E.prototype.isReactComponent={};\nE.prototype.setState=function(a,b){if(\"object\"!==typeof a&&\"function\"!==typeof a&&null!=a)throw Error(\"setState(...): takes an object of state variables to update or a function which returns an object of state variables.\");this.updater.enqueueSetState(this,a,b,\"setState\")};E.prototype.forceUpdate=function(a){this.updater.enqueueForceUpdate(this,a,\"forceUpdate\")};function F(){}F.prototype=E.prototype;function G(a,b,e){this.props=a;this.context=b;this.refs=D;this.updater=e||B}var H=G.prototype=new F;\nH.constructor=G;C(H,E.prototype);H.isPureReactComponent=!0;var I=Array.isArray,J=Object.prototype.hasOwnProperty,K={current:null},L={key:!0,ref:!0,__self:!0,__source:!0};\nfunction M(a,b,e){var d,c={},k=null,h=null;if(null!=b)for(d in void 0!==b.ref&&(h=b.ref),void 0!==b.key&&(k=\"\"+b.key),b)J.call(b,d)&&!L.hasOwnProperty(d)&&(c[d]=b[d]);var g=arguments.length-2;if(1===g)c.children=e;else if(1 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}","function _arrayLikeToArray(r, a) {\n (null == a || a > r.length) && (a = r.length);\n for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e];\n return n;\n}\nmodule.exports = _arrayLikeToArray, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _arrayWithHoles(r) {\n if (Array.isArray(r)) return r;\n}\nmodule.exports = _arrayWithHoles, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var arrayLikeToArray = require(\"./arrayLikeToArray.js\");\nfunction _arrayWithoutHoles(r) {\n if (Array.isArray(r)) return arrayLikeToArray(r);\n}\nmodule.exports = _arrayWithoutHoles, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _interopRequireDefault(e) {\n return e && e.__esModule ? e : {\n \"default\": e\n };\n}\nmodule.exports = _interopRequireDefault, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _iterableToArray(r) {\n if (\"undefined\" != typeof Symbol && null != r[Symbol.iterator] || null != r[\"@@iterator\"]) return Array.from(r);\n}\nmodule.exports = _iterableToArray, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _iterableToArrayLimit(r, l) {\n var t = null == r ? null : \"undefined\" != typeof Symbol && r[Symbol.iterator] || r[\"@@iterator\"];\n if (null != t) {\n var e,\n n,\n i,\n u,\n a = [],\n f = !0,\n o = !1;\n try {\n if (i = (t = t.call(r)).next, 0 === l) {\n if (Object(t) !== t) return;\n f = !1;\n } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0);\n } catch (r) {\n o = !0, n = r;\n } finally {\n try {\n if (!f && null != t[\"return\"] && (u = t[\"return\"](), Object(u) !== u)) return;\n } finally {\n if (o) throw n;\n }\n }\n return a;\n }\n}\nmodule.exports = _iterableToArrayLimit, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","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}\nmodule.exports = _nonIterableRest, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","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}\nmodule.exports = _nonIterableSpread, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var objectWithoutPropertiesLoose = require(\"./objectWithoutPropertiesLoose.js\");\nfunction _objectWithoutProperties(e, t) {\n if (null == e) return {};\n var o,\n r,\n i = objectWithoutPropertiesLoose(e, t);\n if (Object.getOwnPropertySymbols) {\n var s = Object.getOwnPropertySymbols(e);\n for (r = 0; r < s.length; r++) o = s[r], t.includes(o) || {}.propertyIsEnumerable.call(e, o) && (i[o] = e[o]);\n }\n return i;\n}\nmodule.exports = _objectWithoutProperties, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _objectWithoutPropertiesLoose(r, e) {\n if (null == r) return {};\n var t = {};\n for (var n in r) if ({}.hasOwnProperty.call(r, n)) {\n if (e.includes(n)) continue;\n t[n] = r[n];\n }\n return t;\n}\nmodule.exports = _objectWithoutPropertiesLoose, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var arrayWithHoles = require(\"./arrayWithHoles.js\");\nvar iterableToArrayLimit = require(\"./iterableToArrayLimit.js\");\nvar unsupportedIterableToArray = require(\"./unsupportedIterableToArray.js\");\nvar nonIterableRest = require(\"./nonIterableRest.js\");\nfunction _slicedToArray(r, e) {\n return arrayWithHoles(r) || iterableToArrayLimit(r, e) || unsupportedIterableToArray(r, e) || nonIterableRest();\n}\nmodule.exports = _slicedToArray, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var arrayWithoutHoles = require(\"./arrayWithoutHoles.js\");\nvar iterableToArray = require(\"./iterableToArray.js\");\nvar unsupportedIterableToArray = require(\"./unsupportedIterableToArray.js\");\nvar nonIterableSpread = require(\"./nonIterableSpread.js\");\nfunction _toConsumableArray(r) {\n return arrayWithoutHoles(r) || iterableToArray(r) || unsupportedIterableToArray(r) || nonIterableSpread();\n}\nmodule.exports = _toConsumableArray, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var arrayLikeToArray = require(\"./arrayLikeToArray.js\");\nfunction _unsupportedIterableToArray(r, a) {\n if (r) {\n if (\"string\" == typeof r) return arrayLikeToArray(r, a);\n var t = {}.toString.call(r).slice(8, -1);\n return \"Object\" === t && r.constructor && (t = r.constructor.name), \"Map\" === t || \"Set\" === t ? Array.from(r) : \"Arguments\" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? arrayLikeToArray(r, a) : void 0;\n }\n}\nmodule.exports = _unsupportedIterableToArray, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _arrayLikeToArray(r, a) {\n (null == a || a > r.length) && (a = r.length);\n for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e];\n return n;\n}\nexport { _arrayLikeToArray as default };","function asyncGeneratorStep(n, t, e, r, o, a, c) {\n try {\n var i = n[a](c),\n u = i.value;\n } catch (n) {\n return void e(n);\n }\n i.done ? t(u) : Promise.resolve(u).then(r, o);\n}\nfunction _asyncToGenerator(n) {\n return function () {\n var t = this,\n e = arguments;\n return new Promise(function (r, o) {\n var a = n.apply(t, e);\n function _next(n) {\n asyncGeneratorStep(a, r, o, _next, _throw, \"next\", n);\n }\n function _throw(n) {\n asyncGeneratorStep(a, r, o, _next, _throw, \"throw\", n);\n }\n _next(void 0);\n });\n };\n}\nexport { _asyncToGenerator as default };","function _classCallCheck(a, n) {\n if (!(a instanceof n)) throw new TypeError(\"Cannot call a class as a function\");\n}\nexport { _classCallCheck as default };","import toPropertyKey from \"./toPropertyKey.js\";\nfunction _defineProperties(e, r) {\n for (var t = 0; t < r.length; t++) {\n var o = r[t];\n o.enumerable = o.enumerable || !1, o.configurable = !0, \"value\" in o && (o.writable = !0), Object.defineProperty(e, toPropertyKey(o.key), o);\n }\n}\nfunction _createClass(e, r, t) {\n return r && _defineProperties(e.prototype, r), t && _defineProperties(e, t), Object.defineProperty(e, \"prototype\", {\n writable: !1\n }), e;\n}\nexport { _createClass as default };","import unsupportedIterableToArray from \"./unsupportedIterableToArray.js\";\nfunction _createForOfIteratorHelperLoose(r, e) {\n var t = \"undefined\" != typeof Symbol && r[Symbol.iterator] || r[\"@@iterator\"];\n if (t) return (t = t.call(r)).next.bind(t);\n if (Array.isArray(r) || (t = unsupportedIterableToArray(r)) || e && r && \"number\" == typeof r.length) {\n t && (r = t);\n var o = 0;\n return function () {\n return o >= r.length ? {\n done: !0\n } : {\n done: !1,\n value: r[o++]\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}\nexport { _createForOfIteratorHelperLoose as default };","import toPropertyKey from \"./toPropertyKey.js\";\nfunction _defineProperty(e, r, t) {\n return (r = toPropertyKey(r)) in e ? Object.defineProperty(e, r, {\n value: t,\n enumerable: !0,\n configurable: !0,\n writable: !0\n }) : e[r] = t, e;\n}\nexport { _defineProperty as default };","function _extends() {\n return _extends = Object.assign ? Object.assign.bind() : function (n) {\n for (var e = 1; e < arguments.length; e++) {\n var t = arguments[e];\n for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]);\n }\n return n;\n }, _extends.apply(null, arguments);\n}\nexport { _extends as default };","import superPropBase from \"./superPropBase.js\";\nfunction _get() {\n return _get = \"undefined\" != typeof Reflect && Reflect.get ? Reflect.get.bind() : function (e, t, r) {\n var p = superPropBase(e, t);\n if (p) {\n var n = Object.getOwnPropertyDescriptor(p, t);\n return n.get ? n.get.call(arguments.length < 3 ? e : r) : n.value;\n }\n }, _get.apply(null, arguments);\n}\nexport { _get as default };","import getPrototypeOf from \"./getPrototypeOf.js\";\nfunction _superPropBase(t, o) {\n for (; !{}.hasOwnProperty.call(t, o) && null !== (t = getPrototypeOf(t)););\n return t;\n}\nexport { _superPropBase as default };","function _getPrototypeOf(t) {\n return _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function (t) {\n return t.__proto__ || Object.getPrototypeOf(t);\n }, _getPrototypeOf(t);\n}\nexport { _getPrototypeOf as default };","import setPrototypeOf from \"./setPrototypeOf.js\";\nfunction _inherits(t, e) {\n if (\"function\" != typeof e && null !== e) throw new TypeError(\"Super expression must either be null or a function\");\n t.prototype = Object.create(e && e.prototype, {\n constructor: {\n value: t,\n writable: !0,\n configurable: !0\n }\n }), Object.defineProperty(t, \"prototype\", {\n writable: !1\n }), e && setPrototypeOf(t, e);\n}\nexport { _inherits as default };","import defineProperty from \"./defineProperty.js\";\nfunction ownKeys(e, r) {\n var t = Object.keys(e);\n if (Object.getOwnPropertySymbols) {\n var o = Object.getOwnPropertySymbols(e);\n r && (o = o.filter(function (r) {\n return Object.getOwnPropertyDescriptor(e, r).enumerable;\n })), t.push.apply(t, o);\n }\n return t;\n}\nfunction _objectSpread2(e) {\n for (var r = 1; r < arguments.length; r++) {\n var t = null != arguments[r] ? arguments[r] : {};\n r % 2 ? ownKeys(Object(t), !0).forEach(function (r) {\n defineProperty(e, r, t[r]);\n }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) {\n Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r));\n });\n }\n return e;\n}\nexport { _objectSpread2 as default };","function _objectWithoutPropertiesLoose(r, e) {\n if (null == r) return {};\n var t = {};\n for (var n in r) if ({}.hasOwnProperty.call(r, n)) {\n if (e.includes(n)) continue;\n t[n] = r[n];\n }\n return t;\n}\nexport { _objectWithoutPropertiesLoose as default };","import _typeof from \"./typeof.js\";\nimport assertThisInitialized from \"./assertThisInitialized.js\";\nfunction _possibleConstructorReturn(t, e) {\n if (e && (\"object\" == _typeof(e) || \"function\" == typeof e)) return e;\n if (void 0 !== e) throw new TypeError(\"Derived constructors may only return object or undefined\");\n return assertThisInitialized(t);\n}\nexport { _possibleConstructorReturn as default };","function _assertThisInitialized(e) {\n if (void 0 === e) throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n return e;\n}\nexport { _assertThisInitialized as default };","function _setPrototypeOf(t, e) {\n return _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function (t, e) {\n return t.__proto__ = e, t;\n }, _setPrototypeOf(t, e);\n}\nexport { _setPrototypeOf as default };","import arrayWithHoles from \"./arrayWithHoles.js\";\nimport iterableToArrayLimit from \"./iterableToArrayLimit.js\";\nimport unsupportedIterableToArray from \"./unsupportedIterableToArray.js\";\nimport nonIterableRest from \"./nonIterableRest.js\";\nfunction _slicedToArray(r, e) {\n return arrayWithHoles(r) || iterableToArrayLimit(r, e) || unsupportedIterableToArray(r, e) || nonIterableRest();\n}\nexport { _slicedToArray as default };","function _arrayWithHoles(r) {\n if (Array.isArray(r)) return r;\n}\nexport { _arrayWithHoles as default };","function _iterableToArrayLimit(r, l) {\n var t = null == r ? null : \"undefined\" != typeof Symbol && r[Symbol.iterator] || r[\"@@iterator\"];\n if (null != t) {\n var e,\n n,\n i,\n u,\n a = [],\n f = !0,\n o = !1;\n try {\n if (i = (t = t.call(r)).next, 0 === l) {\n if (Object(t) !== t) return;\n f = !1;\n } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0);\n } catch (r) {\n o = !0, n = r;\n } finally {\n try {\n if (!f && null != t[\"return\"] && (u = t[\"return\"](), Object(u) !== u)) return;\n } finally {\n if (o) throw n;\n }\n }\n return a;\n }\n}\nexport { _iterableToArrayLimit as 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}\nexport { _nonIterableRest as default };","import arrayWithoutHoles from \"./arrayWithoutHoles.js\";\nimport iterableToArray from \"./iterableToArray.js\";\nimport unsupportedIterableToArray from \"./unsupportedIterableToArray.js\";\nimport nonIterableSpread from \"./nonIterableSpread.js\";\nfunction _toConsumableArray(r) {\n return arrayWithoutHoles(r) || iterableToArray(r) || unsupportedIterableToArray(r) || nonIterableSpread();\n}\nexport { _toConsumableArray as default };","import arrayLikeToArray from \"./arrayLikeToArray.js\";\nfunction _arrayWithoutHoles(r) {\n if (Array.isArray(r)) return arrayLikeToArray(r);\n}\nexport { _arrayWithoutHoles as default };","function _iterableToArray(r) {\n if (\"undefined\" != typeof Symbol && null != r[Symbol.iterator] || null != r[\"@@iterator\"]) return Array.from(r);\n}\nexport { _iterableToArray as 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}\nexport { _nonIterableSpread as default };","import _typeof from \"./typeof.js\";\nimport toPrimitive from \"./toPrimitive.js\";\nfunction toPropertyKey(t) {\n var i = toPrimitive(t, \"string\");\n return \"symbol\" == _typeof(i) ? i : i + \"\";\n}\nexport { toPropertyKey as default };","import _typeof from \"./typeof.js\";\nfunction toPrimitive(t, r) {\n if (\"object\" != _typeof(t) || !t) return t;\n var e = t[Symbol.toPrimitive];\n if (void 0 !== e) {\n var i = e.call(t, r || \"default\");\n if (\"object\" != _typeof(i)) return i;\n throw new TypeError(\"@@toPrimitive must return a primitive value.\");\n }\n return (\"string\" === r ? String : Number)(t);\n}\nexport { toPrimitive as default };","function _typeof(o) {\n \"@babel/helpers - typeof\";\n\n return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) {\n return typeof o;\n } : function (o) {\n return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o;\n }, _typeof(o);\n}\nexport { _typeof as default };","import arrayLikeToArray from \"./arrayLikeToArray.js\";\nfunction _unsupportedIterableToArray(r, a) {\n if (r) {\n if (\"string\" == typeof r) return arrayLikeToArray(r, a);\n var t = {}.toString.call(r).slice(8, -1);\n return \"Object\" === t && r.constructor && (t = r.constructor.name), \"Map\" === t || \"Set\" === t ? Array.from(r) : \"Arguments\" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? arrayLikeToArray(r, a) : void 0;\n }\n}\nexport { _unsupportedIterableToArray as default };"],"names":["_interopRequireDefault","require","Object","defineProperty","exports","value","_toConsumableArray2","_slicedToArray2","_objectWithoutProperties2","_reactDom","_react","e","r","__esModule","default","t","_getRequireWildcardCache","has","get","n","__proto__","a","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","_interopRequireWildcard","_reactNative","_jsxRuntime","_excluded","WeakMap","valueToEvent","nativeEvent","RCTSliderWebComponent","forwardRef","_ref","forwardedRef","initialValue","_ref$minimumValue","minimumValue","_ref$maximumValue","maximumValue","_ref$lowerLimit","lowerLimit","_ref$upperLimit","upperLimit","_ref$step","step","_ref$minimumTrackTint","minimumTrackTintColor","_ref$maximumTrackTint","maximumTrackTintColor","_ref$thumbTintColor","thumbTintColor","_ref$thumbStyle","thumbStyle","_ref$style","style","_ref$inverted","inverted","_ref$disabled","disabled","_ref$trackHeight","trackHeight","_ref$thumbSize","thumbSize","thumbImage","_ref$onRNCSliderSlidi","onRNCSliderSlidingStart","_","_ref$onRNCSliderSlidi2","onRNCSliderSlidingComplete","_ref$onRNCSliderValue","onRNCSliderValueChange","others","containerSize","useRef","width","height","containerPositionX","containerRef","createRef","containerPositionInvalidated","_React$useState","useState","_React$useState2","setValue","lastInitialValue","animationValues","val","Animated","Value","min","max","diff","current","useEffect","minPercent","multiply","divide","subtract","maxPercent","onValueChange","useCallback","onSlidingStart","isUserInteracting","onSlidingComplete","_updateValue","newValue","hardRounded","decimalPrecision","Number","parseFloat","toFixed","withinBounds","Math","useLayoutEffect","invalidateContainerPosition","onDocumentScroll","target","contains","window","addEventListener","document","capture","removeEventListener","containerStyle","flexGrow","flexShrink","flexBasis","flexDirection","alignItems","trackStyle","borderRadius","userSelect","minimumTrackStyle","assign","backgroundColor","maximumTrackStyle","thumbViewStyle","zIndex","overflow","calculatePrecision","updateContainerPositionX","_ReactDOM$findDOMNode","positionX","findDOMNode","getBoundingClientRect","x","getValueFromNativeEvent","pageX","adjustForThumbSize","containerX","lowerValue","upperValue","valueAfterStep","round","valueAfterLowerLimit","useImperativeHandle","updateValue","jsxs","View","ref","onLayout","_ref4","layout","accessibilityActions","name","label","onAccessibilityAction","event","tenth","actionName","accessible","accessibilityRole","onStartShouldSetResponder","onMoveShouldSetResponder","onResponderGrant","onResponderRelease","_ref2","onResponderMove","_ref3","children","jsx","pointerEvents","undefined","Image","source","decimals","map","split","pop","length","apply","Infinity","displayName","_index","_StepsIndicator","_styles","_constants","SliderWithRef","props","_props$value","_props$accessibilityS","localProps","_useState","_useState2","currentValue","setCurrentValue","_useState3","_useState4","setWidth","options","Array","from","constants","DEFAULT_STEP_RESOLUTION","index","defaultStyle","Platform","OS","styles","defaultSlideriOS","defaultSlider","sliderStyle","StyleSheet","compose","onValueChangeEvent","_disabled","accessibilityState","_accessibilityState","onSlidingStartEvent","onSlidingCompleteEvent","onAccessibilityActionEvent","isNaN","select","web","LIMIT_MIN_VALUE","LIMIT_MAX_VALUE","justifyContent","StepMarker","renderStepNumber","StepsIndicator","sliderWidth","isLTR","resolveAssetSource","alignContent","onChange","onResponderTerminationRequest","onRNCSliderAccessibilityAction","defaultProps","tapToSeek","StepNumber","stepNumber","Text","_StepNumber","_TrackMark","stepNumberFontStyle","fontSize","STEP_NUMBER_TEXT_FONT_SMALL","STEP_NUMBER_TEXT_FONT_BIG","values","reverse","stepsIndicator","marginHorizontal","MARGIN_HORIZONTAL_PADDING","Fragment","stepIndicatorElement","SliderTrackMark","isTrue","trackMarkContainer","stepMarked","thumbImageContainer","RNCSlider","MIN_SAFE_INTEGER","MAX_SAFE_INTEGER","create","marginTop","position","sliderMainContainer","flex","top","alignSelf","defaultIndicatorMarked","defaultIndicatorIdle","assets","module","registerAsset","asset","push","getAssetByID","assetId","hue2rgb","p","q","hslToRgb","h","s","l","g","b","NUMBER","PERCENTAGE","args","join","callWithSlashSeparator","slice","commaSeparatedCall","cachedMatchers","parse255","str","int","parseInt","parse360","parse1","num","parsePercentage","color","matchers","rgb","RegExp","rgba","hsl","hsla","hwb","hex3","hex4","hex6","hex8","getMatchers","match","exec","colorFromKeyword","normalizeKeyword","w","gray","red","green","blue","hwbToRgb","AssetSourceResolver","constructor","serverUrl","jsbundleUrl","this","isLoadedFromServer","isLoadedFromFileSystem","defaultAsset","assetServerURL","fromUrl","URL","scale","pickScale","scales","PixelRatio","scaleSuffix","type","httpServerLocation","replace","getScaledAssetPath","searchParams","hash","fromSource","toString","origin","__packager_asset","uri","deviceScale","manifestBaseUrl","resolveUri","href","getFilename","url","_URL","pathname","substring","lastIndexOf","getBasename","getFileExtension","filename","dotIndex","_customSourceTransformer","setCustomSourceTransformer","transformer","resolver","Asset","static","localUri","downloading","downloaded","_downloadCallbacks","AssetUris","loadAsync","moduleId","moduleIds","isArray","Promise","all","fromModule","downloadAsync","virtualAssetModule","fromURI","meta","Error","byHash","fromMetadata","metaHash","findIndex","fileHashes","fileUris","fileScale","fileExtension","encodeURIComponent","suffix","params","URLSearchParams","platform","test","manifest2","devServerUrl","extra","expoGo","developer","debuggerHost","baseUrl","NativeModules","ExponentKernel","selectAssetSource","byUri","indexOf","extension","startsWith","resolve","reject","isDOMAvailable","img","onerror","onload","naturalWidth","naturalHeight","src","async","forEach","_DEFAULT_PROGRESS_UPDATE_INTERVAL_MILLIS","_DEFAULT_INITIAL_PLAYBACK_STATUS","positionMillis","progressUpdateIntervalMillis","shouldPlay","rate","shouldCorrectPitch","volume","audioPan","isMuted","isLooping","getNativeSourceFromSource","headers","overridingExtension","_getAssetFromPlaybackSource","overrideFileExtensionAndroid","assertStatusValuesInBounds","status","RangeError","getNativeSourceAndFullInitialStatusForLoadAsync","_x","_x2","_x3","_getNativeSourceAndFullInitialStatusForLoadAsync","arguments","_asyncToGenerator","initialStatus","downloadFirst","fullInitialStatus","_objectSpread","nativeSource","getUnloadedStatus","error","isLoaded","PlaybackMixin","playAsync","_playAsync","setStatusAsync","playFromPositionAsync","_playFromPositionAsync","tolerances","seekMillisToleranceAfter","toleranceMillisAfter","seekMillisToleranceBefore","toleranceMillisBefore","_x4","pauseAsync","_pauseAsync","stopAsync","_stopAsync","setPositionAsync","_setPositionAsync","_x5","setRateAsync","_setRateAsync","pitchCorrectionQuality","PitchCorrectionQuality","Medium","_x6","setVolumeAsync","_setVolumeAsync","_x7","_x8","setIsMutedAsync","_setIsMutedAsync","_x9","setIsLoopingAsync","_setIsLoopingAsync","_x10","setProgressUpdateIntervalAsync","_setProgressUpdateIntervalAsync","_x11","ExponentAV","Qualities","Low","High","InterruptionModeIOS","InterruptionModeAndroid","_recorderExists","eventEmitter","getPermissionsAsync","requestPermissionsAsync","usePermissions","createPermissionHook","getMethod","requestMethod","Recording","_subscription","_canRecord","_isDoneRecording","_finalDurationMillis","_uri","_onRecordingStatusUpdate","_progressUpdateTimeoutVariable","_progressUpdateIntervalMillis","_options","_cleanupForUnloadedRecorder","finalStatus","durationMillis","remove","_disablePolling","getStatusAsync","_pollingLoop","isAudioEnabled","setTimeout","clearTimeout","_enablePollingIfNecessaryAndPossible","_callOnRecordingStatusUpdateForNewStatus","_performOperationAndHandleStatusAsync","operation","throwIfAudioIsDisabled","RecordingOptionsPresets","LOW_QUALITY","onRecordingStatusUpdate","recording","setOnRecordingStatusUpdate","prepareToRecordAsync","keepAudioActiveHint","startAsync","err","stopAndUnloadAsync","getAudioRecordingStatus","canRecord","isRecording","isDoneRecording","setProgressUpdateInterval","android","ios","extensionRegex","addListener","prepareAudioRecorder","currentStatus","getAvailableInputs","getCurrentInput","setInput","inputUid","startAudioRecording","pauseAudioRecording","stopResult","stopError","stopAudioRecording","unloadAudioRecorder","getURI","createNewLoadedSound","onPlaybackStatusUpdate","console","warn","createNewLoadedSoundAsync","Sound","createAsync","_populateMissingKeys","userAudioMode","defaultAudioMode","key","defaultMode","allowsRecordingIOS","interruptionModeIOS","MixWithOthers","playsInSilentModeIOS","staysActiveInBackground","interruptionModeAndroid","DuckOthers","shouldDuckAndroid","playThroughEarpieceAndroid","currentAudioMode","setAudioModeAsync","_setAudioModeAsync","partialMode","mode","setAudioMode","_enabled","setIsEnabledAsync","_setIsEnabledAsync","setAudioIsEnabled","AndroidOutputFormat","AndroidAudioEncoder","IOSOutputFormat","IOSAudioQuality","IOSBitRateStrategy","HIGH_QUALITY","isMeteringEnabled","outputFormat","MPEG_4","audioEncoder","AAC","sampleRate","numberOfChannels","bitRate","MPEG4AAC","audioQuality","MAX","linearPCMBitDepth","linearPCMIsBigEndian","linearPCMIsFloat","mimeType","bitsPerSecond","THREE_GPP","AMR_NB","MIN","nativeEmitterSubscriptionKey","EventEmitter","_listenerCount","nativeModule","__expo_module_name__","_nativeModule","_eventEmitter","NativeEventEmitter","eventName","listener","startObserving","nativeEmitterSubscription","subscription","removeSubscription","removeAllListeners","removedListenerCount","listenerCount","listeners","invariant","stopObserving","emit","_createClass","_this","_classCallCheck","_loaded","_loading","_key","_lastStatusUpdate","_lastStatusUpdateTime","_subscriptions","_coalesceStatusUpdatesInMillis","_onPlaybackStatusUpdate","_onMetadataUpdate","_onAudioSampleReceived","_internalStatusUpdateCallback","_callOnPlaybackStatusUpdateForNewStatus","_internalMetadataUpdateCallback","metadata","_internalErrorCallback","_errorCallback","_clearSubscriptions","getStatusForSound","shouldDismissBasedOnCoalescing","JSON","stringify","Date","now","getTime","_performOperationAndHandleStatusAsync2","globalThis","__EXAV_setOnAudioSampleReceivedCallback","UnavailabilityError","onMetadataUpdate","callback","_updateAudioSampleReceivedCallback","_loadAsync","_this2","_yield$getNativeSourc","loadForSound","then","result","_result","_slicedToArray","_subscribeToNativeEvents","catch","_unloadAsync","unloadForSound","_setStatusAsync","_this3","setStatusForSound","_replayAsync","_this4","replaySound","_ref5","_ref6","sound","setOnPlaybackStatusUpdate","prototype","getUserMedia","constraints","navigator","mediaDevices","webkitGetUserMedia","mozGetUserMedia","code","getStatusFromMedia","media","isPlaying","currentTime","paused","ended","readyState","duration","autoplay","isBuffering","playbackRate","muted","loop","didJustFinish","setStatusForMedia","play","pause","preservesPitch","mediaRecorder","mediaRecorderUptimeOfLastStartResume","mediaRecorderDurationAlreadyRecorded","mediaRecorderIsRecording","getAudioRecorderDurationMillis","getStatusForVideo","element","loadForVideo","unloadForVideo","setStatusForVideo","replayVideo","Audio","ontimeupdate","DeviceEventEmitter","message","removeAttribute","load","state","stream","audio","MediaRecorder","getTracks","track","stop","_await$this$getAudioR","_objectWithoutPropertiesLoose","resume","start","dataPromise","data","createObjectURL","permissions","query","PermissionStatus","GRANTED","DENIED","UNDETERMINED","getPermissionWithQueryAsync","expires","canAskAgain","granted","FontDisplay","getFontFaceStyleSheet","styleSheet","getStyleElement","sheet","getFontFaceRulesMatchingResource","fontFamilyName","rules","cssRules","items","rule","CSSFontFaceRule","getFontFaceRules","filter","fontFamily","display","fontDisplay","serverContext","Set","unloadAllAsync","getElementById","ID","HTMLStyleElement","removeChild","unloadAsync","item","deleteRule","getServerResources","entries","css","links","resourceId","$$type","id","rel","as","crossorigin","getHeadElements","Boolean","resetServerContext","clear","resource","head","appendChild","CodedError","fontStyle","AUTO","_createWebFontTemplate","styleElement","styleElementIE","cssText","textNode","createTextNode","_createWebStyle","userAgent","isIOS","isSafari","isEdge","includes","isIE","isFirefox","isFontLoadingListenerSupported","FontObserver","createElement","uriFromFontSource","getAssetForSource","throwInvalidSourceError","loadSingleFontAsync","input","ExpoFontLoader","_unused","loaded","loadPromises","registerStaticFont","loadFontInNamespaceAsync","_loadFontInNamespaceAsync","useFonts","setLoaded","keys","every","isMapLoaded","setError","fontFamilyOrFontMap","isServer","fontMap","names","MediaTypeInput","MediaTypeOptions","All","Images","Videos","launchImageLibraryAsync","mediaTypes","allowsMultipleSelection","base64","openFileBrowserAsync","canceled","launchCameraAsync","getCameraPermissionsAsync","permissionGrantedResponse","requestCameraPermissionsAsync","getMediaLibraryPermissionsAsync","_writeOnly","requestMediaLibraryPermissionsAsync","mediaTypeFormat","setAttribute","String","random","body","files","file","readFile","targetFile","reader","FileReader","returnRaw","image","fileName","substr","readAsDataURL","MouseEvent","dispatchEvent","ExponentImagePicker","writeOnly","imagePickerMethod","useMediaLibraryPermissions","useCameraPermissions","getPendingResultAsync","aspect","quality","videoMaxDuration","y","validateOptions","allowsEditing","VideoExportPreset","UIImagePickerControllerQualityType","UIImagePickerPresentationStyle","UIImagePickerPreferredAssetRepresentationMode","CameraType","methods","isMounted","setStatus","request","permissionOptions","getPermission","response","requestPermission","usePermission","_window$document","canUseEventListeners","attachEvent","canUseViewport","screen","ReactNativePlatform","isAsyncDebugging","_isNativeReflectConstruct","valueOf","Reflect","construct","_wrapNativeSuper","Map","Function","TypeError","Wrapper","o","bind","setPrototypeOf","getPrototypeOf","enumerable","writable","configurable","_Error","_callSuper","_inherits","_CodedError","moduleName","propertyName","setStatusBarBackgroundColor","setStatusBarNetworkActivityIndicatorVisible","setStatusBarHidden","setStatusBarStyle","setStatusBarTranslucent","StatusBar","_Dimensions$get","Dimensions","useDetectDevice","isAndroid","isTablet","pixelDensity","adjustedWidth","adjustedHeight","isOrientationPortrait","isOrientationLandscape","useDeviceOrientation","initialState","portrait","landscape","orientation","setOrientation","container","padding","textInput","I18nManager","isRTL","textAlign","marginBottom","row","icon","ic_close","_props$placeholderTex","placeholderTextColor","_props$placeholder","placeholder","showIcon","inputStyle","iconStyle","_props$onChangeText","onChangeText","_value","renderLeftIcon","renderRightIcon","text","setText","React","TouchableWithoutFeedback","TextInput","_extends","flatten","TouchableOpacity","onPress","mainWrap","borderWidth","borderColor","shadowColor","shadowOffset","shadowOpacity","shadowRadius","elevation","flex1","wrapTop","dropdown","title","marginVertical","writingDirection","textItem","paddingHorizontal","margin","fullScreen","ic_down","statusBarHeight","currentHeight","DropdownComponent","currentRef","testID","itemTestIDField","_props$style","placeholderStyle","selectedTextStyle","itemContainerStyle","itemTextStyle","inputSearchStyle","_props$selectedTextPr","selectedTextProps","_props$data","labelField","valueField","searchField","_props$activeColor","activeColor","_props$iconColor","iconColor","searchPlaceholder","_props$search","search","_props$maxHeight","maxHeight","_props$minHeight","minHeight","_props$disable","disable","_props$keyboardAvoidi","keyboardAvoiding","_props$inverted","renderItem","renderInputSearch","onFocus","onBlur","_props$autoScroll","autoScroll","_props$showsVerticalS","showsVerticalScrollIndicator","_props$dropdownPositi","dropdownPosition","flatListProps","searchQuery","confirmSelectItem","onConfirmSelectItem","accessibilityLabel","itemAccessibilityLabelField","_props$mode","_props$closeModalWhen","closeModalWhenSelectedItem","_props$excludeItems","excludeItems","_props$excludeSearchI","excludeSearchItems","refList","visible","setVisible","_useState5","_useState6","listData","setListData","_useState7","_useState8","setPosition","_useState9","_useState10","keyboardHeight","setKeyboardHeight","_useState11","_useState12","searchText","setSearchText","W","H","styleContainerVertical","useMemo","styleHorizontal","open","eventOpen","close","eventClose","excludeData","_differenceWith","obj1","obj2","_get","filterData","_toConsumableArray","onSearch","scrollIndex","font","_measure","measureInWindow","pageY","isFull","bottom","left","floor","onKeyboardDidShow","endCoordinates","onKeyboardDidHide","susbcriptionKeyboardDidShow","Keyboard","susbcriptionKeyboardDidHide","getValue","defaultValue","getItem","_isEqual","_findIndex","scrollToIndex","animated","showOrClose","visibleStatus","dismiss","dataSearch","labelText","_get2","toLowerCase","normalize","excludeSearchData","onSelect","_renderItem","isSelected","selected","_assign","TouchableHighlight","underlayColor","renderSearch","CInput","autoCorrect","tintColor","_renderList","isTopPosition","isInverted","_renderListHelper","FlatList","keyboardShouldPersistTaps","onScrollToIndexFailed","keyExtractor","_item","_renderModal","styleVertical","extendHeight","Modal","transparent","statusBarTranslucent","supportedOrientations","onRequestClose","paddingBottom","paddingTop","_renderDropdown","dropdownInside","wrapItem","rowSelectedItem","flexWrap","selectedItem","marginRight","selectedTextItem","marginLeft","selectedTextLeftItem","MultiSelectComponent","selectedStyle","maxSelect","_props$inside","inside","renderSelectedItem","_props$alwaysRenderSe","alwaysRenderSelectedItem","confirmUnSelectItem","_props$visibleSelecte","visibleSelectedItem","setKey","_useState13","_useState14","newCurrentValue","splice","checkSelected","unSelect","_renderItemSelected","list","_renderDropdownInside","imageField","imageStyle","selectItem","Dropdown","createSvgCircle","cx","cy","fill","strokeWidth","ActivityIndicator","_props$animating","animating","_props$color","_props$hidesWhenStopp","hidesWhenStopped","_props$size","size","other","svg","viewBox","stroke","opacity","strokeDasharray","strokeDashoffset","role","indicatorSizes","animation","animationPause","visibility","animationDuration","animationKeyframes","transform","animationTimingFunction","animationIterationCount","animationPlayState","small","large","isLayoutAnimationEnabled","shouldEmitW3CPointerEvents","shouldPressibilityUseW3CPointerEventsForHover","animatedShouldDebounceQueueFlush","animatedShouldUseSingleOp","nativeEventEmitter","NativeAnimatedModule","__nativeAnimatedNodeTagCount","__nativeAnimationIdCount","waitingForQueuedOperations","queueOperations","queue","flushQueueTimeout","nativeOps","API","tag","saveValueCallback","queueOperation","setWaitingForIdentifier","add","ReactNativeFeatureFlags","unsetWaitingForIdentifier","delete","disableQueue","clearImmediate","setImmediate","flushQueue","fn","_len","createAnimatedNode","config","updateAnimatedNodeConfig","startListeningToAnimatedNodeValue","stopListeningToAnimatedNodeValue","connectAnimatedNodes","parentTag","childTag","disconnectAnimatedNodes","startAnimatingNode","animationId","nodeTag","endCallback","stopAnimation","setAnimatedNodeValue","setAnimatedNodeOffset","offset","flattenAnimatedNodeOffset","extractAnimatedNodeOffset","connectAnimatedNodeToView","viewTag","disconnectAnimatedNodeFromView","restoreDefaultValues","dropAnimatedNode","addAnimatedEventToView","eventMapping","removeAnimatedEventFromView","animatedNodeTag","SUPPORTED_COLOR_STYLES","borderBottomColor","borderEndColor","borderLeftColor","borderRightColor","borderStartColor","borderTopColor","SUPPORTED_STYLES","borderBottomEndRadius","borderBottomLeftRadius","borderBottomRightRadius","borderBottomStartRadius","borderTopEndRadius","borderTopLeftRadius","borderTopRightRadius","borderTopStartRadius","scaleX","scaleY","translateX","translateY","SUPPORTED_TRANSFORMS","rotate","rotateX","rotateY","rotateZ","perspective","SUPPORTED_INTERPOLATION_PARAMS","inputRange","outputRange","extrapolate","extrapolateRight","extrapolateLeft","isSupportedStyleProp","prop","isSupportedTransformProp","isSupportedInterpolationParam","param","generateNewAnimationId","_warnedMissingNativeAnimated","shouldUseNativeDriver","useNativeDriver","isSupportedColorStyleProp","addWhitelistedStyleProp","addWhitelistedTransformProp","addWhitelistedInterpolationParam","validateStyles","_key2","validateTransform","configs","property","validateInterpolation","_key3","generateNewNodeTag","assertNativeAnimatedModule","transformDataType","PI","NativeAnimatedAPI","NativeAnimatedHelper","_uniqueId","AnimatedNode","_listeners","__isNative","__nativeTag","__getValue","child","platformConfig","_platformConfig","hasListeners","_startListeningToNativeValueUpdates","_stopListeningForNativeValueUpdates","__nativeAnimatedValueListener","__shouldUpdateListenersForNewNativeTag","__getNativeTag","__onAnimatedValueUpdateReceived","__callListeners","_this$__nativeTag","nativeTag","__getNativeConfig","_getPrototypeOf","_possibleConstructorReturn","_superPropGet","_AnimatedNode","AnimatedWithChildren","_children","_step","_iterator","_createForOfIteratorHelperLoose","done","__makeNative","__attach","__getPlatformConfig","__detach","_step2","_iterator2","__DEV__","linear","createInterpolation","colorToRgba","arr","pattern","stringShapeRegex","checkPattern","outputRanges","number","interpolations","shouldRound","range","createInterpolationFromStringOutputRange","checkInfiniteRange","checkValidInputRange","easing","findRange","inputMin","inputMax","outputMin","outputMax","interpolate","normalizedColor","normalizeColor","AnimatedInterpolation","_AnimatedWithChildren","parent","_parent","_config","_interpolation","parentValue","__addChild","__removeChild","__transformDataType","__createInterpolation","AnimatedValue","_startingValue","_offset","_animation","stopTracking","handle","__isInteraction","InteractionManager","createInteractionHandle","previousAnimation","clearInteractionHandle","_tracking","tracking","update","flush","rootNode","animatedStyles","findAnimatedStyles","node","__getChildren","animatedStyle","_flush","attachNativeEvent","viewRef","argMapping","eventMappings","traverse","path","nativeEventPath","animatedValueTag","concat","mapping","detach","AnimatedEvent","_argMapping","__addListener","_callListeners","_attachedEvent","_len2","recMapping","recEvt","mappingKey","idx","_len3","_key4","AnimatedTransform","transforms","_transforms","__getAnimatedValue","transConfigs","flattenStyle","createAnimatedStyle","AnimatedStyle","_inputStyle","_style","updatedStyle","_walkStyleAndGetValues","_walkStyleAndGetAnimatedValues","styleConfig","styleKey","AnimatedProps","_props","_callback","__getHandler","_animatedView","__disconnectAnimatedView","__connectAnimatedView","animatedView","nativeViewTag","propsConfig","propKey","useAnimatedProps","scheduleUpdate","useReducer","count","onUpdateRef","prevNodeRef","isUnmountingRef","prevNode","__restoreDefaultValues","useAnimatedPropsLifecycle","callbackRef","effect","cleanupRef","instance","useRefEffect","setNativeView","getScrollableNode","getEventTarget","events","propName","propValue","_i","_events","_events$_i","_propName","reduceAnimatedProps","collapsable","createAnimatedComponent","Component","_useAnimatedProps","reducedProps","refs","_refs","useMergeRefs","passthroughAnimatedPropExplicitValues","passthroughStyle","passthroughProps","mergedStyle","scrollEventThrottle","ScrollView","SectionList","AnimatedAddition","_a","_b","AnimatedDiffClamp","_min","_max","_lastValue","AnimatedDivision","_warnedAboutDivideByZero","AnimatedModulo","modulus","_modulus","AnimatedMultiplication","AnimatedSubtraction","AnimatedTracking","animationClass","animationConfig","_animationClass","_animationConfig","_useNativeDriver","animate","toValue","__getNativeAnimationConfig","AnimatedValueXY","valueIn","setOffset","flattenOffset","extractOffset","resetAnimation","jointCallback","removeListener","startNativeAnimationNextId","Animation","fromValue","onUpdate","onEnd","animatedValue","__nativeId","__onEnd","startNativeAnimationWaitId","__debouncedOnEnd","_Animation","DecayAnimation","_config$deceleration","_config$isInteraction","_config$iterations","_deceleration","deceleration","_velocity","velocity","isInteraction","__iterations","iterations","__active","_fromValue","_onUpdate","_startTime","__startNativeAnimation","_animationFrame","requestAnimationFrame","exp","abs","finished","global","cancelAnimationFrame","stiffnessFromOrigamiValue","oValue","dampingFromOrigamiValue","fromOrigamiTensionAndFriction","tension","friction","stiffness","damping","fromBouncinessAndSpeed","bounciness","speed","startValue","endValue","projectNormal","end","bouncyTension","bouncyFriction","pow","b3Friction2","b3Friction3","b3Nobounce","linearInterpolation","SpringAnimation","_config$overshootClam","_config$restDisplacem","_config$restSpeedThre","_config$velocity","_config$velocity2","_config$delay","_config$stiffness","_config$damping","_config$mass","_overshootClamping","overshootClamping","_restDisplacementThreshold","restDisplacementThreshold","_restSpeedThreshold","restSpeedThreshold","_initialVelocity","_lastVelocity","_toValue","_delay","delay","mass","_stiffness","_damping","_mass","_config$bounciness","_config$speed","springConfig","SpringConfig","_config$tension","_config$friction","_springConfig","_this$_initialVelocit","initialVelocity","_startPosition","_lastPosition","_lastTime","_frameTime","internalState","getInternalState","lastPosition","lastVelocity","lastTime","_timeout","deltaTime","c","m","k","v0","zeta","sqrt","omega0","omega1","x0","envelope","sin","cos","_envelope","isOvershooting","isVelocity","isDisplacement","_easeInOut","TimingAnimation","_config$easing","_config$duration","_easing","Easing","inOut","ease","_duration","frames","numFrames","frame","defaultColor","processColor","isRgbaValue","AnimatedColor","isRgbaAnimatedValue","rgbaAnimatedValue","_processColor","processedColor","initColor","nativeColor","_processColor2","shouldUpdateNodeConfig","rgbaValue","_nativeTag","_combineCallbacks","onComplete","maybeVectorAnim","anim","configX","configY","_config$key","aX","aY","parallel","stopTogether","configR","configG","configB","configA","_config$_key","aR","aG","aB","aA","timing","_start2","configuration","singleValue","singleConfig","reset","_startNativeLoop","_isUsingNativeDriver","sequence","animations","doneCount","hasEnded","cb","endResult","time","ValueXY","Color","Interpolation","Node","decay","_start3","spring","_start","modulo","diffClamp","stagger","_temp","_ref$iterations","_ref$resetBeforeItera","resetBeforeIteration","isFinished","iterationsSoFar","restart","animatedEvent","forkEvent","unforkEvent","__removeListener","Event","inAnimationCallback","mockAnimationStart","guardedCallback","emptyAnimation","mockCompositeAnimation","anyValue","AnimatedImplementation","isTesting","AnimatedMock","dimensions","fontScale","shouldInit","canUseDOM","win","visualViewport","docEl","documentElement","clientHeight","clientWidth","devicePixelRatio","handleResize","handler","dimension","initialDimensions","_handler","NEWTON_ITERATIONS","SUBDIVISION_PRECISION","SUBDIVISION_MAX_ITERATIONS","kSampleStepSize","float32ArraySupported","Float32Array","A","aA1","aA2","B","C","calcBezier","aT","getSlope","bezier","mX1","mY1","mX2","mY2","sampleValues","getTForX","intervalStart","currentSample","kSplineTableSize","guessForT","initialSlope","_aGuessT","aGuessT","currentSlope","newtonRaphsonIterate","_aA","_aB","currentX","currentT","binarySubdivide","_t","_t2","t2","x1","y1","x2","y2","_bezier","deepDiffer","one","two","maxDepth","len","ii","twoKey","safeIsNaN","areInputsEqual","newInputs","lastInputs","first","second","numColumnsOrDefault","numColumns","_React$PureComponent","_virtualizedListPairs","_captureRef","_listRef","_getItem","ret","kk","itemIndex","_getItemCount","isArrayLike","ceil","_keyExtractor","_this$props$keyExtrac","defaultKeyExtractor","_renderer","ListItemComponent","columnWrapperStyle","extraData","cols","render","renderProp","info","_item2","it","separators","_memoizedRenderer","resultFn","isEqual","cache","memoized","newArgs","lastThis","lastArgs","lastResult","memoizeOne","_checkProps","viewabilityConfigCallbackPairs","pair","viewabilityConfig","onViewableItemsChanged","_createOnViewableItemsChanged","scrollToEnd","scrollToItem","scrollToOffset","recordInteraction","flashScrollIndicators","getScrollResponder","getScrollRef","prevProps","getItemCount","horizontal","v","_this$props$keyExtrac2","changed","viewableItems","_pushMultiColumnViewable","removeClippedSubviews","_this$props","_removeClippedSubviews","_this$props$strictMod","strictMode","restProps","renderer","VirtualizedList","allowRTL","forceRTL","getConstants","dataUriPattern","ImageUriCache","_entries","lastUsedTimestamp","refCount","_cleanUpIfNeeded","leastRecentlyUsedKey","leastRecentlyUsedEntry","imageUris","_maximumEntries","entry","requests","ImageLoader","abort","requestId","getSize","success","failure","complete","interval","setInterval","clearInterval","onLoad","onError","onDecode","decode","prefetch","queryCache","uris","LOADED","LOADING","_filterId","svgDataUriPattern","resolveAssetUri","preferredScale","reduce","prev","curr","prefix","_ariaLabel","blurRadius","defaultSource","draggable","onLoadEnd","onLoadStart","rest","ariaLabel","updateState","updateLayout","hasTextAncestor","TextAncestorContext","hiddenImageRef","filterRef","requestRef","shouldDisplaySource","_extractNonStandardSt","filterId","tintColorProp","flatStyle","resizeMode","warnOnce","filters","_filter","shadowString","createBoxShadowValue","extractNonStandardStyleProps","_resizeMode","_tintColor","selectedSource","displayImageUri","imageSizeStyle","_getAssetByID","resolveAssetDimensions","backgroundImage","backgroundSize","_hiddenImageRef$curre","_height3","_width3","scaleFactor","getBackgroundSize","hiddenImage","alt","accessibilityImage$raw","abortPendingRequest","_layout","root","inline","undo","boxShadow","resizeModeStyles","suppressHydrationWarning","floodColor","in2","operator","createTintColorSVG","ImageWithStatics","overlayColor","absoluteFillObject","backgroundPosition","backgroundRepeat","center","contain","cover","none","repeat","stretch","TaskQueue","onMoreTasks","_onMoreTasks","_queueStack","tasks","popable","task","_getCurrentQueue","enqueue","tasksToCancel","shift","gen","_genPromise","run","stackIdx","stackItem","hasTasksToProcess","ex","isSupported","requestIdleCallback","didTimeout","timeRemaining","cancelIdleCallback","_emitter","Events","interactionStart","interactionComplete","runAfterInteractions","promise","_scheduleUpdate","_taskQueue","enqueueTasks","cancel","cancelTasks","_inc","_addInteractionSet","_deleteInteractionSet","setDeadline","deadline","_deadline","_interactionSet","_nextUpdateHandle","_processUpdate","interactionCount","nextInteractionCount","begin","processNext","isVisible","dismissKeyboard","elementRef","ReactDOM","getAnimationStyle","animationType","animatedSlideInStyles","animatedSlideOutStyles","animatedFadeInStyles","animatedFadeOutStyles","hidden","right","animatedIn","ANIMATION_DURATION","animatedOut","fadeIn","fadeOut","slideIn","slideOut","onDismiss","onShow","isRendering","setIsRendering","wasVisible","wasRendering","isAnimated","animationEndCallback","currentTarget","onAnimationEnd","ModalContent","active","closeOnEscape","stopPropagation","modal","modalTransparent","modalOpaque","FocusBracket","tabIndex","focusBracket","attemptFocus","focus","activeElement","focusFirstDescendant","childNodes","focusLastDescendant","trapElementRef","focusRef","trapFocusInProgress","lastFocusedElement","trapFocus","hasFocused","UIManager","lastFocusedElementOutsideTrap","outlineStyle","uniqueModalIdentifier","activeModalStack","activeModalListeners","notifyActiveModalListeners","activeModalId","modalId","removeActiveModal","_props$visible","isActive","setIsActive","onDismissCallback","onShowCallback","addActiveModal","ModalPortal","ModalAnimation","ModalFocusTrap","layoutSize","ratio","obj","emptyFunction","canUsePassiveEvents","supported","supportsPassiveEvents","isPropagationStopped","cancelBubble","isDefaultPrevented","defaultPrevented","opts","getOptions","compatListener","persist","previousModality","previousActiveModality","activeModality","modality","isEmulatingMouseEvents","KEYBOARD","MOUSE","TOUCH","CONTEXTMENU","MOUSEDOWN","MOUSEMOVE","MOUSEUP","POINTERDOWN","POINTERMOVE","SCROLL","SELECTIONCHANGE","TOUCHCANCEL","TOUCHMOVE","TOUCHSTART","bubbleOptions","passive","captureOptions","restoreModality","callListeners","onPointerish","eventType","PointerEvent","pointerType","touches","metaKey","altKey","ctrlKey","visibilityState","useEvent","targetListeners","useStable","removeTargetListener","emptyObject","lockEventType","unlockEventType","supportsPointerEvent","dispatchCustomEvent","payload","createEvent","_ref$bubbles","bubbles","_ref$cancelable","cancelable","detail","initCustomEvent","getPointerType","useForceableState","forced","cursor","touchAction","MemoedPressable","memo","delayLongPress","delayPressIn","delayPressOut","onContextMenu","onHoverIn","onHoverOut","onKeyDown","onLongPress","onPressMove","onPressIn","onPressOut","testOnly_hovered","testOnly_pressed","_useForceableState","hovered","setHovered","_useForceableState2","focused","setFocused","_useForceableState3","pressed","setPressed","hostRef","setRef","pressConfig","delayPressStart","delayPressEnd","onPressChange","onPressStart","onPressEnd","pressEventHandlers","usePressEvents","onContextMenuPress","onKeyDownPress","targetRef","onHoverStart","onHoverChange","onHoverUpdate","onHoverEnd","canUsePE","addMoveListener","addEnterListener","addLeaveListener","addLockListener","addUnlockListener","hoverEnd","leaveListener","moveListener","clientX","clientY","hoverStart","lockEvent","useHover","_tabIndex","interactionState","blurHandler","focusHandler","contextMenuHandler","keyDownHandler","colors","enabled","onRefresh","progressBackgroundColor","progressViewOffset","refreshing","titleColor","normalizeScrollEvent","contentOffset","scrollLeft","scrollTop","contentSize","scrollHeight","scrollWidth","layoutMeasurement","offsetHeight","offsetWidth","timeStamp","ScrollViewBase","onScroll","onTouchMove","onWheel","_props$scrollEnabled","scrollEnabled","_props$scrollEventThr","showsHorizontalScrollIndicator","scrollState","isScrolling","scrollLastTick","scrollTimeout","scrollRef","createPreventableScrollHandler","handleScrollTick","hideScrollbar","handleScrollEnd","lastTick","eventThrottle","timeSinceLastTick","shouldEmitScrollEvent","handleScrollStart","scrollDisabled","overflowX","overflowY","scrollbarWidth","_React$Component","_scrollNodeRef","_innerViewRef","isTouching","lastMomentumScrollBeginTime","lastMomentumScrollEndTime","observedScrollSinceBecomingResponder","becameResponderWhileAnimating","scrollResponderHandleScrollShouldSetResponder","scrollResponderHandleStartShouldSetResponderCapture","scrollResponderIsAnimating","scrollResponderHandleTerminationRequest","scrollResponderHandleTouchEnd","onTouchEnd","scrollResponderHandleResponderRelease","currentlyFocusedTextInput","TextInputState","currentlyFocusedField","onScrollResponderKeyboardDismissed","blurTextInput","scrollResponderHandleScroll","scrollResponderHandleResponderGrant","scrollResponderHandleScrollBeginDrag","onScrollBeginDrag","scrollResponderHandleScrollEndDrag","onScrollEndDrag","scrollResponderHandleMomentumScrollBegin","onMomentumScrollBegin","scrollResponderHandleMomentumScrollEnd","onMomentumScrollEnd","scrollResponderHandleTouchStart","onTouchStart","scrollResponderHandleTouchMove","scrollResponderScrollTo","scroll","behavior","scrollResponderZoomTo","rect","scrollResponderScrollNativeHandleToKeyboard","nodeHandle","additionalOffset","preventNegativeScrollOffset","additionalScrollOffset","measureLayout","getInnerViewNode","scrollResponderTextInputFocusError","scrollResponderInputMeasureAndScrollToKeyboard","keyboardScreenY","keyboardWillOpenTo","screenY","scrollOffsetY","scrollResponderKeyboardWillShow","onKeyboardWillShow","scrollResponderKeyboardWillHide","onKeyboardWillHide","scrollResponderKeyboardDidShow","scrollResponderKeyboardDidHide","scrollResponderFlashScrollIndicators","getInnerViewRef","getNativeScrollRef","scrollTo","scrollResponderNode","_handleContentOnLayout","_e$nativeEvent$layout","onContentSizeChange","_handleScroll","keyboardDismissMode","_setInnerViewRef","_setScrollNodeRef","mergeRefs","warning","contentContainerStyle","refreshControl","stickyHeaderIndices","pagingEnabled","centerContent","contentSizeChangeProps","hasStickyHeaderIndices","isSticky","stickyHeader","pagingEnabledChild","contentContainer","contentContainerHorizontal","contentContainerCenterContent","baseStyle","baseHorizontal","baseVertical","pagingEnabledStyle","pagingEnabledHorizontal","pagingEnabledVertical","scrollResponderHandleStartShouldSetResponder","onStartShouldSetResponderCapture","onScrollShouldSetResponder","onResponderTerminate","scrollResponderHandleTerminate","onResponderReject","scrollResponderHandleResponderReject","ScrollViewClass","scrollView","commonStyle","WebkitOverflowScrolling","scrollSnapType","scrollSnapAlign","ForwardedScrollView","ItemWithSeparator","LeadingSeparatorComponent","SeparatorComponent","cellKey","prevCellKey","setSelfHighlightCallback","updateHighlightFor","setSelfUpdatePropsCallback","updatePropsFor","section","leadingSeparatorHiglighted","setLeadingSeparatorHighlighted","separatorHighlighted","setSeparatorHighlighted","_React$useState3","leadingItem","leadingSection","trailingItem","trailingSection","leadingSeparatorProps","setLeadingSeparatorProps","_React$useState4","separatorProps","setSeparatorProps","highlight","unhighlight","updateProps","newProps","leadingSeparator","highlighted","separator","VirtualizedSectionList","_subExtractor","_convertViewable","viewable","_info$index","keyExtractorWithNullableIndex","keyExtractorWithNonNullableIndex","_onViewableItemsChanged","listItemCount","infoIndex","header","renderSectionHeader","renderSectionFooter","_getSeparatorComponent","SectionSeparatorComponent","_setUpdateHighlightFor","_setUpdatePropsFor","_updateHighlightFor","_updatePropsFor","_updatePropsMap","updateHighlight","_updateHighlightMap","updateHighlightFn","updatePropsFn","sectionIndex","sections","viewOffset","stickySectionHeadersEnabled","__getFrameMetricsApprox","toIndexParams","passThroughProps","ItemSeparatorComponent","listHeaderOffset","ListHeaderComponent","itemCount","itemIdx","sectionData","_this$props2","isLastItemInList","isLastItemInSection","_wrapperListRef","scrollToLocation","listRef","getListRef","_stickySectionHeadersEnabled","setBackgroundColor","setBarStyle","setHidden","setNetworkActivityIndicatorVisible","setTranslucent","isWebColor","colorInt","unitlessNumbers","aspectRatio","borderImageOutset","borderImageSlice","borderImageWidth","boxFlex","boxFlexGroup","boxOrdinalGroup","columnCount","flexOrder","flexPositive","flexNegative","fontWeight","gridRow","gridRowEnd","gridRowGap","gridRowStart","gridColumn","gridColumnEnd","gridColumnGap","gridColumnStart","lineClamp","order","orphans","tabSize","widows","zoom","fillOpacity","floodOpacity","stopOpacity","strokeMiterlimit","strokeOpacity","scaleZ","prefixes","charAt","toUpperCase","prefixKey","colorProps","textDecorationColor","textShadowColor","normalizeValueWithProperty","returnValue","createCSSStyleSheet","textContent","ShadowRoot","insertBefore","firstChild","createOrderedCSSStyleSheet","group","groups","selectors","cssRule","selectorText","groupPattern","decodeGroupRule","getSelectorText","sheetInsert","orderedGroups","getOrderedGroups","nextGroupIndex","nextGroup","isInserted","insertRule","insertRuleAt","groupNumber","previousStart","OrderedCSSStyleSheet","getTextContent","marker","sort","unshift","insert","groupValue","markerRule","encodeGroupRule","selectorPattern","selector","trim","defaultId","roots","sheets","initialRules","createSheet","getRootNode","initialSheet","supportsCSS3TextDecoration","CSS","supports","SYSTEM_FONT_STACK","STYLE_SHORT_FORM_EXPANSIONS","borderBlockColor","borderInlineColor","borderStyle","borderBlockStyle","borderInlineStyle","borderBlockWidth","borderInlineWidth","insetBlock","insetInline","marginBlock","marginInline","paddingBlock","paddingInline","overscrollBehavior","borderBlockStartColor","borderBlockStartStyle","borderBlockStartWidth","borderBlockEndColor","borderBlockEndStyle","borderBlockEndWidth","borderEndStartRadius","borderEndEndRadius","borderStartStartRadius","borderStartEndRadius","insetBlockEnd","insetBlockStart","marginBlockStart","marginBlockEnd","paddingBlockStart","paddingBlockEnd","isInline","resolvedStyle","_loop","backgroundClip","WebkitBackgroundClip","stack","textDecorationLine","textDecoration","direction","longFormProperties","paddingLeft","paddingRight","longForm","seed","charCodeAt","murmurhash2_32_gc","uppercasePattern","msPattern","toHyphenLower","hName","wms","plugins","crossFade","imageSet","logical","sizing","transition","prefixMap","appearance","textEmphasisPosition","textEmphasis","textEmphasisStyle","textEmphasisColor","boxDecorationBreak","clipPath","maskImage","maskMode","maskRepeat","maskPosition","maskClip","maskOrigin","maskSize","maskComposite","mask","maskBorderSource","maskBorderMode","maskBorderSlice","maskBorderWidth","maskBorderOutset","maskBorderRepeat","maskBorder","maskType","textDecorationStyle","textDecorationSkip","breakAfter","breakBefore","breakInside","columnFill","columnGap","columnRule","columnRuleColor","columnRuleStyle","columnRuleWidth","columns","columnSpan","columnWidth","backdropFilter","hyphens","flowInto","flowFrom","regionFragment","textOrientation","fontKerning","textSizeAdjust","createPrefixer","staticData","classicGroup","atomicGroup","customGroup","inset","borderInlineStartColor","borderInlineStartStyle","borderInlineStartWidth","borderInlineEndColor","borderInlineEndStyle","borderInlineEndWidth","insetInlineEnd","insetInlineStart","marginInlineStart","marginInlineEnd","paddingInlineStart","paddingInlineEnd","borderLeftStyle","borderLeftWidth","borderRightStyle","borderRightWidth","PROPERTIES_FLIP","_PROPERTIES_FLIP","_defineProperty","PROPERTIES_I18N","PROPERTIES_VALUE","atomic","compiledStyle","$$css","compiledRules","atomicCompile","srcProp","identifier","valueString","normalizedValue","stringifyValueWithProperty","cacheKey","cachedResult","createIdentifier","_processKeyframesValu2","processKeyframesValue","animationNames","keyframesRules","block","createDeclarationBlock","animationName","_block","finalValue","_block2","_block3","_block4","_block5","_block6","createAtomicRules","orderedRules","localizeableValue","_left","_right","propPolyfill","ltr","rtl","polyfillIndices","ltrPolyfillValues","rtlPolyfillValues","ltrVal","ltrPolyfill","rtlPolyfill","_ltr","_rtl","domStyle","prefixStyles","createReactDOMStyle","hyphenateStyleName","keyframesValue","keyframes","_createKeyframes","steps","stepName","createKeyframes","staticStyleMap","defaultPreprocessOptions","shadow","textShadow","insertRules","compiledOrderedRules","compileAndInsertReset","_classic","_processKeyframesValu","classic","absoluteFill","compiledStyles","styleObj","_atomic","preprocess","compileAndInsertAtomic","styleProps","preprocessOptions","styleq","factory","localizeStyle","customStyleq","originalStyle","frozenProps","nextStyle","originalValue","originalProp","originalValues","valuePolyfill","style1","style2","flatArray","flat","getSheet","hairlineWidth","__REACT_DEVTOOLS_GLOBAL_HOOK__","resolveRNStyle","defaultOffset","offsetX","offsetY","createTextShadowValue","textShadowOffset","textShadowRadius","radius","mapTransform","createTransformValue","PROPERTIES_STANDARD","borderEndStyle","borderEndWidth","borderStartStyle","borderStartWidth","marginEnd","marginStart","paddingEnd","paddingStart","paddingVertical","ignoredProps","boxShadowValue","textShadowValue","_value2","verticalAlign","CSS_UNIT_RE","multiple","isFinite","thumbDefaultBoxShadow","thumbFocusedBoxShadow","defaultDisabledTrackColor","defaultDisabledThumbColor","Switch","activeThumbColor","activeTrackColor","_props$disabled","thumbColor","trackColor","thumbRef","handleFocusState","_StyleSheet$flatten","styleHeight","styleWidth","minWidth","multiplyStyleLengthValue","trackBorderRadius","trackCurrentColor","true","false","thumbCurrentColor","thumbHeight","thumbWidth","rootStyle","cursorDefault","disabledTrackColor","disabledThumbColor","thumb","thumbActive","nativeControl","checked","cursorInherit","forcedColorAdjust","transitionDuration","createContext","forwardPropsList","forwardedProps","lang","hrefAttrs","numberOfLines","onClick","onMoveShouldSetResponderCapture","onResponderEnd","onResponderStart","onScrollShouldSetResponderCapture","onSelectionChangeShouldSetResponder","onSelectionChangeShouldSetResponderCapture","selectable","contextDirection","useLocaleContext","useElementLayout","useResponderEvents","handleClick","component","langDirection","getLocaleDirection","componentDirection","dir","supportedProps","pick","pickProps","WebkitLineClamp","textHasAncestor$raw","text$raw","textOneLine","textMultiLine","notSelectable","pressable","download","platformMethodsRef","usePlatformMethods","Provider","textStyle","border","boxSizing","listStyle","whiteSpace","wordWrap","maxWidth","textOverflow","WebkitBoxOrient","setSelection","selection","selectionEnd","selectionStart","isSelectionStale","setSelectionRange","autoCapitalize","autoComplete","autoFocus","maxLength","readOnly","rows","spellCheck","focusTimeout","_inputMode","_props$autoCapitalize","autoCompleteType","_props$autoCorrect","blurOnSubmit","caretHidden","clearTextOnFocus","editable","enterKeyHint","inputMode","keyboardType","_props$multiline","multiline","onKeyPress","onSelectionChange","onSubmitEditing","_props$readOnly","returnKeyType","_props$secureTextEntr","secureTextEntry","selectTextOnFocus","showSoftInputOnFocus","prevSelection","prevSecureTextEntry","handleContentSizeChange","hostNode","newHeight","newWidth","imperativeRef","isFocused","_currentlyFocusedNode","shouldBlurOnSubmit","isComposing","keyCode","isEventComposing","shiftKey","preventDefault","blur","_e$target","_selection","textinput$raw","virtualkeyboardpolicy","State","MozAppearance","WebkitAppearance","resize","caretColor","createExtraStyles","activeOpacity","underlay","hasPressHandler","actionable","MemoedTouchableHighlight","focusable","onHideUnderlay","onShowUnderlay","rejectResponderTermination","extraStyles","setExtraStyles","showUnderlay","hideUnderlay","only","accessibilityDisabled","transitionProperty","MemoedTouchableOpacity","setDuration","opacityOverride","setOpacityOverride","setOpacityTo","setOpacityActive","setOpacityInactive","isGrant","dispatchConfig","registrationName","accessibilityLiveRegion","accessibilityValue","nativeID","MemoedTouchableWithoutFeedback","elementProps","isCustomProperty","isUnitlessNumber","styleName","styleValue","dangerousStyleValue","setProperty","getRect","offsetLeft","offsetTop","offsetParent","nodeType","clientLeft","clientTop","scrollY","scrollX","relativeToNativeNode","relativeNode","parentNode","isConnected","relativeRect","_getRect","elementsToIgnore","BODY","INPUT","SELECT","TEXTAREA","nodeName","getAttribute","isContentEditable","measure","_getBoundingClientRec","onFail","onSuccess","updateView","setValueForStyles","configureNextLayoutAnimation","onAnimationDidEnd","setLayoutAnimationEnabledExperimental","view$raw","processIDRefList","idRefList","pointerEventsStyles","auto","elementType","ariaActiveDescendant","accessibilityActiveDescendant","ariaAtomic","accessibilityAtomic","ariaAutoComplete","accessibilityAutoComplete","ariaBusy","accessibilityBusy","ariaChecked","accessibilityChecked","ariaColumnCount","accessibilityColumnCount","ariaColumnIndex","accessibilityColumnIndex","ariaColumnSpan","accessibilityColumnSpan","ariaControls","accessibilityControls","ariaCurrent","accessibilityCurrent","ariaDescribedBy","accessibilityDescribedBy","ariaDetails","accessibilityDetails","ariaDisabled","ariaErrorMessage","accessibilityErrorMessage","ariaExpanded","accessibilityExpanded","ariaFlowTo","accessibilityFlowTo","ariaHasPopup","accessibilityHasPopup","ariaHidden","accessibilityHidden","ariaInvalid","accessibilityInvalid","ariaKeyShortcuts","accessibilityKeyShortcuts","ariaLabelledBy","accessibilityLabelledBy","ariaLevel","accessibilityLevel","ariaLive","ariaModal","accessibilityModal","ariaMultiline","accessibilityMultiline","ariaMultiSelectable","accessibilityMultiSelectable","ariaOrientation","accessibilityOrientation","ariaOwns","accessibilityOwns","ariaPlaceholder","accessibilityPlaceholder","ariaPosInSet","accessibilityPosInSet","ariaPressed","accessibilityPressed","ariaReadOnly","accessibilityReadOnly","ariaRequired","accessibilityRequired","ariaRoleDescription","accessibilityRoleDescription","ariaRowCount","accessibilityRowCount","ariaRowIndex","accessibilityRowIndex","ariaRowSpan","accessibilityRowSpan","ariaSelected","accessibilitySelected","ariaSetSize","accessibilitySetSize","ariaSort","accessibilitySort","ariaValueMax","accessibilityValueMax","ariaValueMin","accessibilityValueMin","ariaValueNow","accessibilityValueNow","ariaValueText","accessibilityValueText","dataSet","domProps","AccessibilityUtil","propsToAriaRole","_ariaActiveDescendant","_ariaAtomic","_ariaAutoComplete","_ariaBusy","_ariaChecked","_ariaColumnCount","_ariaColumnIndex","_ariaColumnSpan","_ariaControls","_ariaCurrent","_ariaDescribedBy","_ariaDetails","_ariaErrorMessage","_ariaExpanded","_ariaFlowTo","_ariaHasPopup","_ariaHidden","_ariaInvalid","_ariaKeyShortcuts","_ariaLabelledBy","_ariaLevel","_ariaLive","_ariaModal","_ariaMultiline","_ariaMultiSelectable","_ariaOrientation","_ariaOwns","_ariaPlaceholder","_ariaPosInSet","_ariaPressed","_ariaReadOnly","_ariaRequired","required","_ariaRoleDescription","_ariaRowCount","_ariaRowIndex","_ariaRowSpan","_ariaSelected","_ariaSetSize","_ariaSort","_ariaValueMax","_ariaValueMin","_ariaValueNow","_ariaValueText","dataProp","dataName","dataValue","_StyleSheet","className","inlineStyle","_id","accessibilityComponent","propsToAccessibilityComponent","createDOMProps","LocaleProvider","locale","int32Color","useWindowDimensions","dims","setDims","handleChange","unmountComponentAtNode","hydrate","domHydrateRoot","reactRoot","domCreateRoot","hydrateLegacy","domLegacyHydrate","unmount","renderLegacy","domLegacyRender","isScreenReaderEnabled","prefersReducedMotionMedia","matchMedia","handlers","AccessibilityInfo","isReduceMotionEnabled","matches","fetch","setAccessibilityFocus","reactTag","announceForAccessibility","announcement","Alert","listenerMapping","getColorScheme","addChangeListener","mappedListener","colorScheme","RootTagContext","AppContainer","WrapperComponent","innerView","appContainer","rootTag","wrapperComponentProvider","runnables","componentProviderInstrumentationHook","AppRegistry","appKey","appParameters","getApplication","componentProvider","RootComponent","initialProps","dangerouslySetInnerHTML","__html","shouldHydrate","renderFn","renderApplication","registerRunnable","registerComponent","hook","provider","isPrefixed","EVENT_TYPES","VISIBILITY_CHANGE_EVENT","VISIBILITY_STATE_PROPERTY","AppStates","changeEmitter","AppState","isAvailable","currentState","exitApp","clipboardAvailable","Clipboard","queryCommandSupported","getSelection","removeAllRanges","createRange","selectNodeContents","addRange","execCommand","configureNext","Presets","easeInEaseOut","springDamping","Types","freeze","easeIn","easeOut","keyboard","Properties","scaleXY","checkConfig","initialURL","location","Linking","_eventCallbacks","filteredCallbacks","_dispatchEvent","urlToOpen","TouchHistoryMath","centroidDimension","touchHistory","touchesChangedAfter","isXAxis","ofCurrent","touchBank","total","oneTouchData","numberActiveTouches","indexOfSingleActiveTouch","touchActive","currentTimeStamp","currentPageX","currentPageY","previousPageX","previousPageY","touchTrack","noCentroid","currentCentroidXOfTouchesChangedAfter","currentCentroidYOfTouchesChangedAfter","previousCentroidXOfTouchesChangedAfter","previousCentroidYOfTouchesChangedAfter","currentCentroidX","currentCentroidY","PanResponder","_initializeGestureState","gestureState","moveX","moveY","y0","dx","dy","vx","vy","_accountsForMovesUpTo","_updateGestureStateOnMove","movedAfter","prevX","prevY","nextDX","nextDY","dt","mostRecentTimeStamp","shouldCancelClick","timeout","stateID","panHandlers","onStartShouldSetPanResponder","onMoveShouldSetPanResponder","onStartShouldSetPanResponderCapture","onMoveShouldSetPanResponderCapture","clearInteractionTimeout","onPanResponderGrant","onShouldBlockNativeResponder","onPanResponderReject","onPanResponderRelease","setInteractionTimeout","onPanResponderStart","onPanResponderMove","onPanResponderEnd","onPanResponderTerminate","onPanResponderTerminationRequest","onClickCapture","getInteractionHandle","Share","content","share","vibrate","Button","button","buttonDisabled","textDisabled","textTransform","CheckBox","fakeControl","fakeControlChecked","fakeControlDisabled","fakeControlCheckedAndDisabled","ImageBackground","imageRef","KeyboardAvoidingView","keyboardFrame","keyboardY","keyboardVerticalOffset","Picker","selectedValue","itemStyle","prompt","selectedIndex","initial","Item","ProgressBar","_props$indeterminate","indeterminate","_props$progress","progress","_props$trackColor","percentageProgress","cssFunction","SafeAreaView","twoArgumentPooler","a1","a2","Klass","instancePool","standardReleaser","destructor","poolSize","DEFAULT_POOLER","addPoolingTo","CopyConstructor","pooler","NewKlass","getPooled","release","PooledClass","BoundingDimensions","getPooledFromElement","Position","extractSingleTouch","changedTouches","hasTouches","hasChangedTouches","States","baseStatesConditions","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","IsActive","IsPressingIn","IsLongPressingIn","Signals","Transitions","DELAY","RESPONDER_GRANT","RESPONDER_RELEASE","RESPONDER_TERMINATED","ENTER_PRESS_RECT","LEAVE_PRESS_RECT","LONG_PRESS_DETECTED","TouchableMixin","componentDidMount","touchableNode","getTouchableNode","_touchableBlurListener","_isTouchableKeyboardActive","touchable","touchState","touchableHandleResponderTerminate","componentWillUnmount","touchableDelayTimeout","longPressDelayTimeout","pressOutDelayTimeout","pressInLocation","responderID","touchableGetInitialState","touchableHandleResponderTerminationRequest","touchableHandleStartShouldSetResponder","touchableLongPressCancelsPress","touchableHandleResponderGrant","dispatchID","_receiveSignal","delayMS","touchableGetHighlightDelayMS","_handleDelay","longDelayMS","touchableGetLongPressDelayMS","LONG_PRESS_THRESHOLD","_handleLongDelay","touchableHandleResponderRelease","touchableHandleResponderMove","positionOnActivate","dimensionsOnActivate","pressRectOffset","touchableGetPressRectOffset","pressExpandLeft","pressExpandTop","pressExpandRight","pressExpandBottom","hitSlop","touchableGetHitSlop","touch","_getDistanceBetweenPoints","_cancelLongPressDelayTimeout","prevState","touchableHandleFocus","touchableHandleBlur","_remeasureMetricsOnActivation","_handleQueryLayout","globalX","globalY","curState","signal","nextState","_performSideEffectsForTransition","_isHighlight","_savePressInLocation","locationX","locationY","bX","bY","deltaX","deltaY","curIsHighlight","newIsHighlight","isInitialTransition","isActiveTransition","touchableHandleLongPress","_startHighlight","_endHighlight","hasLongPressHandler","pressIsLongButStillCallOnPress","touchableHandlePress","_playTouchSound","playTouchSound","touchableHandleActivePressIn","touchableHandleActivePressOut","touchableGetPressOutDelayMS","touchableHandleKeyEvent","withoutDefaultFocusAndBlur","TouchableMixinWithoutDefaultFocusAndBlur","Touchable","Mixin","TOUCH_TARGET_DEBUG","renderDebugView","debugHitSlopStyle","hexColor","UnimplementedView","unimplementedViewStyles","YellowBox","ignoreWarnings","ignoreLogs","ignoreAllLogs","uninstall","install","useColorScheme","Appearance","setColorScheme","accessibilityRoleToWebRole","adjustable","imagebutton","keyboardkey","link","summary","_role","inferredRole","roleComponents","article","banner","blockquote","complementary","contentinfo","deletion","emphasis","figure","insertion","form","listitem","main","navigation","paragraph","region","strong","isDisabled","accessibilityStates","level","focusTextInput","textFieldNode","accessibilityProps","clickProps","onAuxClick","onGotPointerCapture","onLostPointerCapture","onPointerCancel","onPointerDown","onPointerEnter","onPointerMove","onPointerLeave","onPointerOut","onPointerOver","onPointerUp","focusProps","keyboardProps","onKeyDownCapture","onKeyUp","onKeyUpCapture","mouseProps","onMouseDown","onMouseEnter","onMouseLeave","onMouseMove","onMouseOver","onMouseOut","onMouseUp","touchProps","onTouchCancel","onTouchCancelCapture","onTouchEndCapture","onTouchMoveCapture","onTouchStartCapture","nextObj","DOM_LAYOUT_HANDLER_NAME","resizeObserver","observer","ResizeObserver","observe","unobserve","rtlScripts","rtlLangs","LocaleContext","cachedRTL","Intl","Locale","script","maximize","isLocaleRTL","useContext","relativeToNode","RESPONDER_ACTIVE_LONG_PRESS_START","RESPONDER_ACTIVE_PRESS_START","RESPONDER_INACTIVE_PRESS_START","getElementRole","getElementType","tagName","isActiveSignal","isButtonRole","isPressStartSignal","isValidKeyPress","isSpacebar","isButtonish","PressResponder","_eventHandlers","_isPointerTouch","_longPressDelayTimeout","_longPressDispatched","_pressDelayTimeout","_pressOutDelayTimeout","_touchState","_responderElement","configure","_cancelPressDelayTimeout","_cancelPressOutDelayTimeout","_createEventHandlers","shouldDelay","_selectionTerminated","normalizeDelay","_handleLongPress","keyupHandler","isNativeInteractiveElement","isActiveElement","isSpacebarKey","getTouchFromResponderEvent","_touchActivatePosition","hypot","_this$_config","_this$_config2","_this$_config3","_performTransitionSideEffects","isTerminalSignal","isPrevActive","isNextActive","_activate","_deactivate","_this$_config4","_onLongPress","_this$_config5","_this$_config6","fallback","_event$nativeEvent","pressResponderRef","pressResponder","useDebugValue","getEventHandlers","emptyArray","normalizeIdentifier","createResponderEvent","domEvent","responderTouchHistoryStore","propagationWasStopped","domEventChangedTouches","domEventType","force","timestamp","normalizeTouches","emulatedTouches","responderEvent","eventPhase","isTrusted","MOUSE_DOWN","MOUSE_MOVE","MOUSE_UP","MOUSE_CANCEL","TOUCH_START","TOUCH_MOVE","TOUCH_END","TOUCH_CANCEL","SELECTION_CHANGE","isStartish","isMoveish","isEndish","isCancelish","keyName","composedPathFallback","getResponderId","getResponderPaths","idPath","nodePath","eventPath","anchorNode","composedPath","getEventPath","hasValidSelection","string","focusNode","isTextNode","TEXT_NODE","isSelectionValid","MAX_TOUCH_BANK","timestampForTouch","getTouchIdentifier","recordTouchStart","touchRecord","startPageX","startPageY","startTimeStamp","previousTimeStamp","resetTouchRecord","createTouchRecord","printTouch","printTouchBank","printed","ResponderTouchHistoryStore","_touchHistory","topLevelType","recordTouchMove","recordTouchEnd","touchTrackToCheck","activeRecord","startRegistration","moveRegistration","shouldSetResponderEvents","touchstart","mousedown","touchmove","mousemove","emptyResponder","responderListenersMap","trackedTouchCount","currentResponder","changeCurrentResponder","responder","getResponderConfig","eventListener","eventTarget","isStartEvent","buttons","noModifiers","isPrimaryPointerDown","isMoveEvent","isEndEvent","isScrollEvent","isScroll","isSelectionChangeEvent","isSelectionChange","recordTouchTrack","wantsResponder","eventPaths","wasNegotiated","currentResponderIdPath","eventIdPath","lowestCommonAncestor","pathA","pathB","pathALength","pathBLength","itemA","indexA","itemB","indexB","depth","getLowestCommonAncestor","shouldSetCallbacks","shouldSetCallbackCaptureName","shouldSetCallbackBubbleName","check","callbackName","shouldSetCallback","_id2","_node2","findWantsResponder","_currentResponder2","currentId","currentNode","_getResponderConfig2","_getResponderConfig3","allowTransfer","attemptTransfer","_currentResponder","_getResponderConfig","isTerminateEvent","relatedTarget","isReleaseEvent","hasTargetTouches","shouldTerminate","documentEventsCapturePhase","documentEventsBubblePhase","addNode","setResponderId","removeNode","_currentResponder3","terminateResponder","idCounter","getInitialValue","isAttachedRef","__reactResponderSystemActive","ResponderSystem","requiresResponderSystem","isResponder","UNINITIALIZED","Symbol","context","_this$_nativeModule","RCTDeviceEventEmitter","_this$_nativeModule2","removeListeners","_this$_nativeModule3","_this$_nativeModule4","elementsThatOverlapOffsets","offsets","getFrameMetrics","zoomScale","offsetIndex","currentOffset","mid","scaledOffsetStart","scaledOffsetEnd","newRangeCount","next","last","computeWindowedRenderLimits","maxToRenderPerBatch","windowSize","getFrameMetricsApprox","scrollMetrics","visibleLength","_scrollMetrics$zoomSc","visibleBegin","visibleEnd","overscanLength","fillPreference","overscanBegin","overscanEnd","_elementsThatOverlapO","overscanFirst","overscanLast","newCellCount","maxNewCells","firstWillAddMore","firstShouldIncrement","lastWillAddMore","lastShouldIncrement","Batchinator","_taskHandle","timeoutHandle","_console","log","CellRenderMask","numCells","_numCells","_regions","isSpacer","cells","_this$_regions","_this$_findRegion","_findRegion","firstIntersect","firstIntersectIdx","_this$_findRegion2","lastIntersect","lastIntersectIdx","newLeadRegion","newTailRegion","newMainRegion","replacementRegions","numRegionsToDelete","cellIdx","firstIdx","lastIdx","middleIdx","middleRegion","ChildListCollection","_cellKeyToChildren","_childrenToCellKey","_this$_cellKeyToChild","cellLists","listSet","_this$_cellKeyToChild2","_step3","_iterator3","_this$_cellKeyToChild3","_step4","_iterator4","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","_anyBlankStartTime","_info","_mostlyBlankStartTime","_samplesStartTime","_getFrameMetrics","_resetData","performance","cellsAroundViewport","dOffset","scrollSpeed","blankTop","firstFrame","inLayout","blankBottom","lastFrame","bottomEdge","blankness","deactivateAndFlush","minSampleCount","StateSafePureComponent","_inAsyncStateUpdate","_installSetStateHooks","partialState","that","newState","_isViewable","viewAreaMode","viewablePercentThreshold","viewportHeight","itemLength","_isEntirelyVisible","pixels","visibleHeight","_getPixelsVisible","ViewabilityHelper","viewAreaCoveragePercentThreshold","_hasInteracted","_timers","_viewableIndices","_viewableItems","scrollOffset","renderRange","itemVisiblePercentThreshold","viewableIndices","firstVisible","metrics","createViewToken","waitForInteraction","computeViewableItems","minimumViewTime","_onUpdateSync","viewableIndicesToCheck","prevItems","nextItems","_step$value","_step2$value","_viewable","isViewable","VirtualizedListContext","VirtualizedListContextProvider","getScrollMetrics","getOutermostParentListRef","registerAsNestedChild","unregisterAsNestedChild","VirtualizedListCellContextProvider","currContext","CellRenderer","_separators","onUpdateSeparators","_this$props3","_onLayout","onCellLayout","setState","onUnmount","_this$props4","CellRendererComponent","inversionStyle","onCellFocusCapture","_renderElement","itemSeparator","cellStyle","rowReverse","columnReverse","onFocusCapture","_usedIndexForKey","_keylessItemComponentName","horizontalOrDefault","maxToRenderPerBatchOrDefault","onEndReachedThresholdOrDefault","onEndReachedThreshold","getScrollingThreshold","threshold","windowSizeOrDefault","_StateSafePureCompone","_this$props$updateCel","_getScrollMetrics","_scrollMetrics","_getOutermostParentListRef","_isNestedWithSameOrientation","_registerAsNestedChild","childList","_nestedChildLists","_unregisterAsNestedChild","_onUpdateSeparators","_cellRefs","updateSeparatorProps","_getSpacerKey","isVertical","_averageCellLength","_frames","_footerLength","_hasTriggeredInitialScrollToIndex","_hasMore","_hasWarned","_headerLength","_hiPriInProgress","_highestMeasuredFrameIndex","_indicesToKeys","_lastFocusedCellKey","_offsetFromParentVirtualizedList","_prevParentOffset","contentLength","_scrollRef","_sentStartForContentLength","_sentEndForContentLength","_totalCellLength","_totalCellsMeasured","_viewabilityTuples","_captureScrollRef","_defaultRenderScrollComponent","_props$refreshing","RefreshControl","_onCellLayout","_selectOffset","_selectLength","_scheduleCellsToRenderUpdate","_triggerRemeasureForChildListsInCell","_computeBlankness","_updateViewableItems","_onCellUnmount","measureLayoutRelativeToContainingList","_maybeCallOnEdgeReached","_onLayoutEmpty","_onLayoutFooter","_getFooterCellKey","_onLayoutHeader","_onContentSizeChange","initialScrollIndex","nullthrows","_convertParentScrollMetrics","_onScroll","_this$_convertParentS","perf","infoLog","prevDt","_fillRateHelper","activate","_onScrollBeginDrag","tuple","viewabilityHelper","_onScrollEndDrag","_onMomentumScrollBegin","_onMomentumScrollEnd","_updateCellsToRender","_adjustCellsAroundViewport","renderMask","_createRenderMask","_getNonViewportRenderRegions","equals","_createViewToken","_getOffsetApprox","isInteger","frameMetrics","remainder","getItemLayout","focusedCellIndex","heightOfCellsBeforeFocused","heightOfCellsAfterFocused","_updateCellsToRenderBatcher","updateCellsBatchingPeriod","initialRenderRegion","_initialRenderRegion","invertedWheelEventHandler","ev","scrollLength","clientLength","isEventTargetScrollable","delta","wheelDeltaX","wheelDeltaY","leftoverDelta","targetDelta","nextScrollLeft","nextScrollTop","veryLast","viewPosition","averageItemLength","highestMeasuredFrameIndex","_this$context","newCellsAroundViewport","_this$_scrollMetrics","distanceFromEnd","_constrainToItemCount","disableVirtualization","renderAhead","EPSILON","childIdx","_findFirstChildWithMore","cellKeyForIndex","anyInCell","hasMore","setupWebWheelHandler","dispose","teardownWebWheelHandler","stickyIndicesFromProps","debug","stickyOffset","shouldListenForLayout","_onCellFocusCapture","nestedContext","_this$props5","ListEmptyComponent","ListFooterComponent","_this$props6","horizontallyInverted","verticallyInverted","_element","_getCellKey","ListHeaderComponentStyle","_element2","spacerKey","renderRegions","enumerateRegions","lastSpacer","predicate","findLastWhere","clamp","firstMetrics","lastMetrics","spacerSize","_pushCells","_element3","ListFooterComponentStyle","scrollProps","invertStickyHeaders","renderScrollComponent","_renderDebugOverlay","_this$props7","resetViewableIndices","hiPriInProgress","computeBlankness","forEachInCell","_this5","framesInLayout","windowTop","frameLast","windowLen","visTop","visLen","debugOverlayBase","debugOverlay","f","debugOverlayFrame","debugOverlayFrameLast","debugOverlayFrameVis","_this$props8","onStartReached","onStartReachedThreshold","onEndReached","_this$_scrollMetrics2","distanceFromStart","isWithinStartThreshold","isWithinEndThreshold","_this$state$cellsArou","_this$_scrollMetrics3","hiPri","onStartReachedThresholdOrDefault","distTop","distBottom","schedule","_this6","additionalRegions","_i2","_allRegions","addCells","initialRegion","stickyIndicesSet","_ensureClosestStickyHeader","_props$initialScrollI","initialNumToRender","firstCellIndex","constrainedCells","contextType","_registry","registrations","registry","allocate","registration","_arr","_typeof","iterator","_arrayLikeToArray","_arrayWithoutHoles","iter","_iterableToArray","minLen","_unsupportedIterableToArray","_nonIterableSpread","arr2","filterUniqueArray","assignStyle","base","baseValue","DASH","MS","toUpper","camelCaseProperty","camelProp","hyphenateProperty","cssifyDeclaration","cssifyObject","RE","isPrefixedProperty","isPrefixedValue","unitlessProperties","lineHeight","prefixedUnitlessProperties","getPrefixedProperty","j","jLen","_property","isUnitlessProperty","unprefixProperty","propertyWithoutPrefix","normalizeProperty","resolveArrayValue","unprefixValue","_hyphenateStyleName2","_hyphenateStyleName","makeEmptyFunction","arg","thatReturns","thatReturnsFalse","thatReturnsTrue","thatReturnsNull","thatReturnsThis","thatReturnsArgument","validateFormat","format","condition","argIndex","framesToPop","D","family","weight","E","F","G","M","fonts","N","J","K","L","vendor","I","O","P","race","detachEvent","d","z","_isObject2","combinedValue","processedValue","_prefixValue2","_addNewValuesOnly2","_processedValue","_prefixProperty2","_cssInJsUtils","CROSS_FADE_REGEX","grab","grabbing","FILTER_REGEX","_isPrefixedValue2","_isPrefixedValue","alternativeProps","alternativePropList","borderBlockStart","borderBlockEnd","borderInlineStart","borderInlineEnd","properties","propertyPrefixMap","outputValue","multipleValues","dashCaseProperty","_hyphenateProperty2","pLen","prefixMapping","prefixValue","webkitOutput","mozOutput","_capitalizeString2","WebkitTransition","WebkitTransitionProperty","MozTransition","MozTransitionProperty","Webkit","Moz","ms","addIfNew","prefixProperties","requiredPrefixes","capitalizedProperty","prefixedProperty","_capitalizeString","metaData","DataView","getNative","hashClear","hashDelete","hashGet","hashHas","hashSet","Hash","listCacheClear","listCacheDelete","listCacheGet","listCacheHas","listCacheSet","ListCache","mapCacheClear","mapCacheDelete","mapCacheGet","mapCacheHas","mapCacheSet","MapCache","setCacheAdd","setCacheHas","SetCache","__data__","stackClear","stackDelete","stackGet","stackHas","stackSet","Stack","Uint8Array","func","thisArg","array","resIndex","baseIndexOf","comparator","baseTimes","isArguments","isBuffer","isIndex","isTypedArray","inherited","isArr","isArg","isBuff","isType","skipIndexes","iteratee","baseAssignValue","eq","object","objValue","arrayIncludes","arrayIncludesWith","arrayMap","baseUnary","cacheHas","isCommon","valuesLength","outer","computed","valuesIndex","fromIndex","fromRight","arrayPush","isFlattenable","baseFlatten","isStrict","castPath","toKey","keysFunc","symbolsFunc","getRawTag","objectToString","symToStringTag","toStringTag","baseFindIndex","baseIsNaN","strictIndexOf","baseGetTag","isObjectLike","baseIsEqualDeep","baseIsEqual","bitmask","customizer","equalArrays","equalByTag","equalObjects","getTag","argsTag","arrayTag","objectTag","equalFunc","objIsArr","othIsArr","objTag","othTag","objIsObj","othIsObj","isSameTag","objIsWrapped","othIsWrapped","objUnwrapped","othUnwrapped","matchData","noCustomizer","srcValue","COMPARE_PARTIAL_FLAG","isFunction","isMasked","isObject","toSource","reIsHostCtor","funcProto","objectProto","funcToString","reIsNative","isLength","typedArrayTags","baseMatches","baseMatchesProperty","identity","isPrototype","nativeKeys","baseIsMatch","getMatchData","matchesStrictComparable","hasIn","isKey","isStrictComparable","baseGet","overRest","setToString","constant","baseSetToString","isSymbol","symbolProto","symbolToString","baseToString","trimmedEndIndex","reTrimStart","stringToPath","assignValue","isNew","coreJsData","baseRest","isIterateeCall","assigner","sources","guard","arraySome","isPartial","arrLength","othLength","arrStacked","othStacked","seen","arrValue","othValue","compared","othIndex","mapToArray","setToArray","symbolValueOf","byteLength","byteOffset","buffer","convert","stacked","getAllKeys","objProps","objLength","objStacked","skipCtor","objCtor","othCtor","freeGlobal","baseGetAllKeys","getSymbols","isKeyable","baseIsNative","nativeObjectToString","isOwn","unmasked","arrayFilter","stubArray","propertyIsEnumerable","nativeGetSymbols","getOwnPropertySymbols","symbol","mapTag","promiseTag","setTag","weakMapTag","dataViewTag","dataViewCtorString","mapCtorString","promiseCtorString","setCtorString","weakMapCtorString","ArrayBuffer","Ctor","ctorString","hasFunc","nativeCreate","spreadableSymbol","isConcatSpreadable","reIsUint","reIsDeepProp","reIsPlainProp","maskSrcKey","uid","IE_PROTO","assocIndexOf","getMapData","memoize","overArg","freeExports","freeModule","freeProcess","process","nodeUtil","types","binding","nativeMax","otherArgs","freeSelf","self","shortOut","nativeNow","lastCalled","stamp","remaining","pairs","LARGE_ARRAY_SIZE","memoizeCapped","rePropName","reEscapeChar","quote","subString","reWhitespace","copyObject","createAssigner","baseDifference","isArrayLikeObject","differenceWith","baseIteratee","toInteger","baseHasIn","hasPath","baseIsArguments","stubFalse","Buffer","baseIsTypedArray","nodeIsTypedArray","arrayLikeKeys","baseKeys","Cache","baseProperty","basePropertyDeep","toNumber","INFINITY","toFinite","baseTrim","reIsBadHex","reIsBinary","reIsOctal","freeParseInt","isBinary","aa","ca","da","ea","fa","ha","ia","ja","ka","la","ma","acceptsBooleans","attributeName","attributeNamespace","mustUseProperty","sanitizeURL","removeEmptyString","ra","sa","ta","pa","qa","oa","setAttributeNS","xlinkHref","ua","__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED","va","for","wa","ya","za","Aa","Ba","Ca","Da","Ea","Fa","Ga","Ha","Ia","Ja","Ka","La","Ma","Na","Oa","prepareStackTrace","Pa","Qa","$$typeof","_context","_payload","_init","Ra","Sa","Ta","Va","_valueTracker","Ua","Wa","Xa","Ya","defaultChecked","_wrapperState","initialChecked","Za","controlled","ab","bb","db","ownerDocument","eb","fb","defaultSelected","gb","hb","ib","jb","kb","lb","mb","nb","namespaceURI","innerHTML","MSApp","execUnsafeLocalFunction","ob","lastChild","nodeValue","pb","gridArea","gridRowSpan","gridColumnSpan","qb","rb","sb","tb","menuitem","area","br","col","embed","hr","keygen","wbr","ub","vb","is","wb","xb","srcElement","correspondingUseElement","yb","zb","Ab","Bb","Cb","stateNode","Db","Eb","Fb","Gb","Hb","Ib","Jb","Kb","Lb","Mb","Nb","Ob","Pb","Qb","Rb","Sb","Tb","Vb","alternate","return","flags","Wb","memoizedState","dehydrated","Xb","Zb","sibling","Yb","$b","ac","unstable_scheduleCallback","bc","unstable_cancelCallback","cc","unstable_shouldYield","dc","unstable_requestPaint","unstable_now","ec","unstable_getCurrentPriorityLevel","fc","unstable_ImmediatePriority","gc","unstable_UserBlockingPriority","hc","unstable_NormalPriority","ic","unstable_LowPriority","jc","unstable_IdlePriority","kc","lc","oc","clz32","pc","qc","LN2","rc","sc","tc","uc","pendingLanes","suspendedLanes","pingedLanes","entangledLanes","entanglements","vc","xc","yc","zc","Ac","eventTimes","Cc","Dc","Ec","Fc","Gc","Hc","Ic","Jc","Kc","Lc","Mc","Nc","Oc","Pc","Qc","Rc","Sc","pointerId","Tc","blockedOn","domEventName","eventSystemFlags","targetContainers","Vc","Wc","priority","isDehydrated","containerInfo","Xc","Yc","Zc","$c","ad","bd","cd","ReactCurrentBatchConfig","dd","ed","fd","gd","hd","Uc","jd","kd","ld","md","nd","od","charCode","pd","qd","rd","_reactName","_targetInst","isPersistent","wd","xd","yd","sd","td","ud","view","vd","Ad","screenX","getModifierState","zd","fromElement","toElement","movementX","movementY","Bd","Dd","dataTransfer","Fd","Hd","elapsedTime","pseudoElement","Id","clipboardData","Jd","Ld","Md","Esc","Spacebar","Left","Up","Right","Down","Del","Win","Menu","Apps","Scroll","MozPrintableKey","Nd","Od","Alt","Control","Meta","Shift","Pd","Qd","fromCharCode","which","Rd","Td","pressure","tangentialPressure","tiltX","tiltY","twist","isPrimary","Vd","targetTouches","Xd","Yd","wheelDelta","deltaZ","deltaMode","Zd","$d","ae","be","documentMode","ce","de","ee","fe","ge","he","ie","le","date","datetime","email","month","password","tel","week","me","ne","oe","pe","qe","re","se","te","ue","ve","we","xe","ye","ze","oninput","Ae","Be","Ce","De","Ee","Fe","He","Ie","Je","Ke","nextSibling","Le","compareDocumentPosition","Me","HTMLIFrameElement","contentWindow","Ne","contentEditable","Oe","focusedElem","selectionRange","defaultView","extend","rangeCount","anchorOffset","focusOffset","setStart","setEnd","Pe","Qe","Re","Se","Te","Ue","Ve","We","animationend","animationiteration","animationstart","transitionend","Xe","Ye","Ze","$e","af","bf","cf","df","ef","ff","gf","hf","lf","mf","nf","Ub","of","pf","qf","rf","sf","tf","uf","parentWindow","vf","wf","na","xa","$a","ba","je","char","ke","xf","yf","zf","Af","Bf","Cf","Df","Ef","Ff","Gf","Hf","Jf","queueMicrotask","If","Kf","Lf","Mf","previousSibling","Nf","Of","Pf","Qf","Rf","Sf","Tf","Uf","Vf","Wf","Xf","Yf","contextTypes","__reactInternalMemoizedUnmaskedChildContext","__reactInternalMemoizedMaskedChildContext","Zf","childContextTypes","$f","ag","bg","getChildContext","cg","__reactInternalMemoizedMergedChildContext","dg","eg","fg","gg","hg","jg","kg","lg","mg","ng","og","pg","qg","rg","sg","tg","ug","vg","wg","xg","yg","zg","Ag","Bg","deletions","Cg","pendingProps","treeContext","retryLane","Dg","Eg","Fg","Gg","memoizedProps","Hg","Ig","Jg","Kg","Lg","Mg","Ng","Og","Pg","Qg","Rg","_currentValue","Sg","childLanes","Tg","dependencies","firstContext","lanes","Ug","Vg","memoizedValue","Wg","Xg","Yg","interleaved","Zg","$g","ah","updateQueue","baseState","firstBaseUpdate","lastBaseUpdate","shared","pending","effects","bh","ch","eventTime","lane","dh","eh","fh","gh","hh","ih","jh","kh","nh","_reactInternals","enqueueSetState","lh","mh","enqueueReplaceState","enqueueForceUpdate","oh","shouldComponentUpdate","isPureReactComponent","ph","updater","qh","componentWillReceiveProps","UNSAFE_componentWillReceiveProps","rh","getDerivedStateFromProps","getSnapshotBeforeUpdate","UNSAFE_componentWillMount","componentWillMount","sh","_owner","_stringRef","th","uh","vh","wh","xh","yh","implementation","zh","Ah","Bh","Ch","Dh","Eh","Fh","Gh","Hh","Ih","Jh","Kh","Lh","Mh","revealOrder","Nh","Oh","_workInProgressVersionPrimary","Ph","ReactCurrentDispatcher","Qh","Rh","Sh","Th","Uh","Vh","Q","Wh","Xh","Yh","Zh","$h","ai","bi","ci","baseQueue","di","ei","fi","lastRenderedReducer","action","hasEagerState","eagerState","lastRenderedState","dispatch","gi","hi","ji","ki","getSnapshot","li","mi","R","ni","lastEffect","stores","oi","pi","qi","ri","destroy","deps","si","ti","ui","vi","wi","xi","yi","zi","Ai","Bi","Ci","Di","Ei","Fi","Gi","Hi","Ii","Ji","readContext","useInsertionEffect","useDeferredValue","useTransition","useMutableSource","useSyncExternalStore","useId","unstable_isNewReconciler","identifierPrefix","Ki","digest","Li","Mi","Ni","Oi","Pi","Qi","Ri","getDerivedStateFromError","componentDidCatch","Si","componentStack","Ti","pingCache","Ui","Vi","Wi","Xi","ReactCurrentOwner","Yi","Zi","$i","aj","bj","compare","cj","dj","ej","baseLanes","cachePool","transitions","fj","gj","hj","ij","jj","UNSAFE_componentWillUpdate","componentWillUpdate","componentDidUpdate","kj","lj","pendingContext","mj","Aj","Bj","Cj","Dj","nj","oj","pj","qj","rj","tj","dataset","dgst","uj","vj","_reactRetry","sj","subtreeFlags","wj","xj","isBackwards","rendering","renderingStartTime","tail","tailMode","yj","Ej","S","Fj","Gj","wasMultiple","onclick","createElementNS","T","Hj","Ij","Jj","Kj","U","Lj","WeakSet","V","Mj","Nj","Oj","Qj","Rj","Sj","Tj","Uj","Vj","Wj","_reactRootContainer","Xj","X","Yj","Zj","ak","onCommitFiberUnmount","bk","ck","dk","ek","fk","isHidden","gk","hk","ik","jk","lk","__reactInternalSnapshotBeforeUpdate","Wk","mk","nk","ok","pk","Y","Z","qk","rk","sk","tk","uk","vk","wk","xk","yk","zk","Ak","Bk","Ck","Dk","Ek","callbackNode","expirationTimes","expiredLanes","wc","callbackPriority","ig","Fk","Gk","Hk","Ik","Jk","Kk","Lk","Mk","Nk","Ok","Pk","finishedWork","finishedLanes","Qk","Rk","Sk","Tk","Uk","Vk","mutableReadLanes","Bc","Pj","onCommitFiberRoot","mc","onRecoverableError","Xk","onPostCommitFiberRoot","Yk","Zk","al","isReactComponent","pendingChildren","bl","mutableSourceEagerHydrationData","cl","pendingSuspenseBoundaries","el","fl","gl","hl","il","jl","zj","$k","ll","reportError","ml","_internalRoot","nl","ol","pl","ql","sl","rl","unstable_scheduleHydration","querySelectorAll","tl","usingClientEntryPoint","ul","findFiberByHostInstance","bundleType","version","rendererPackageName","vl","rendererConfig","overrideHookState","overrideHookStateDeletePath","overrideHookStateRenamePath","overrideProps","overridePropsDeletePath","overridePropsRenamePath","setErrorHandler","setSuspenseHandler","currentDispatcherRef","findHostInstanceByFiber","findHostInstancesForRefresh","scheduleRefresh","scheduleRoot","setRefreshHandler","getCurrentFiber","reconcilerVersion","wl","supportsFiber","inject","createPortal","dl","createRoot","unstable_strictMode","flushSync","hydrateRoot","hydratedSources","_getVersion","_source","unstable_batchedUpdates","unstable_renderSubtreeIntoContainer","checkDCE","sortIndex","startTime","expirationTime","priorityLevel","scheduling","isInputPending","MessageChannel","port2","port1","onmessage","postMessage","unstable_Profiling","unstable_continueExecution","unstable_forceFrameRate","unstable_getFirstCallbackNode","unstable_next","unstable_pauseExecution","unstable_runWithPriority","unstable_wrapCallback","__self","__source","forceUpdate","escape","_status","Children","toArray","Profiler","PureComponent","StrictMode","Suspense","cloneElement","_currentValue2","_threadCount","Consumer","_defaultValue","_globalName","createFactory","isValidElement","lazy","startTransition","unstable_act","createStyleq","disableCache","disableMix","definedProperties","nextCache","possibleStyle","classNameChunk","cacheEntry","definedPropertiesChunk","weakMap","subStyle","_prop","markerProp","compiledStyleIndex","_cachedStyles","_compiledStyle","compileStyle","cachedStyles","arrayLikeToArray","objectWithoutPropertiesLoose","arrayWithHoles","iterableToArrayLimit","unsupportedIterableToArray","nonIterableRest","arrayWithoutHoles","iterableToArray","nonIterableSpread","asyncGeneratorStep","_next","_throw","_defineProperties","ownKeys","_objectSpread2","getOwnPropertyDescriptors","defineProperties","ReferenceError","_setPrototypeOf","toPropertyKey","toPrimitive"],"sourceRoot":""} \ No newline at end of file