{"version":3,"file":"js/8558-8794d6ace94c1cc6dfb2.js","mappings":"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B,GAAS,IAAMA,EAAQA,CAC9D,uBChBA,UAWI,EAAO,QAAW,2BAAP,EAMN,WAOP,IAAIC,EAAoB,CAEtB,gBACA,YACA,cACA,SACA,aACA,MACA,MACA,WACA,UACA,QACA,WACA,aAEA,aACA,YAGA,QACA,UAGA,OAGA,UAEA,QACA,SAEA,QAEA,SAEA,SACA,YACA,OACA,QACA,QACA,QACA,aACA,cAGA,UAEA,OAGA,UACA,OAEA,OAEA,YACA,YACA,cAGA,cACA,YAEA,OACA,YACA,SACA,WACA,YAIA,OACA,UAEA,QACA,MACA,OAGA,OACA,MAEA,YAEA,UACA,UACA,SAEA,WAEA,OACA,OACA,SAEA,YACA,QAEA,QACA,aAGA,YACA,WACA,OACA,OACA,SACA,SACA,OAEA,OACA,WACA,UACA,QACA,cACA,YACA,SACA,SACA,WAEA,MACA,aACA,YACA,cAEA,YAEA,OACA,QAEA,MAGA,UAEA,OAIA,SAEA,YAGA,OAEA,WACA,OACA,UACA,UACA,YACA,WACA,WACA,cACA,aACA,SACA,YACA,QACA,aAEA,OACA,UAEA,WACA,YACA,QAEA,aACA,UACA,SACA,cACA,aACA,UAGA,UACA,OACA,QACA,QAEA,MACA,QACA,QAEA,SACA,OACA,WACA,WACA,UACA,YAEA,YACA,UAEA,SAIA,QACA,WAEA,UACA,SACA,YACA,UAEA,QAIA,aACA,YACA,cAIA,SAEA,SAGA,aACA,cACA,WACA,UACA,UACA,OACA,UACA,MAEA,SAKA,UACA,UACA,UACA,SACA,QACA,QACA,WAEA,QAEA,QACA,UACA,OACA,OACA,WACA,OAGA,YAEA,UAGA,QAEA,QACA,YAGA,WACA,WAGA,SACA,SACA,UACA,SAKA,UACA,iBAEA,QAGA,YACA,eACA,QAGA,WACA,OACA,aACA,gBACA,YACA,WAEA,WAEA,SAEA,SACA,UAEA,UACA,QAGA,WAEA,SAMA,OAEA,OACA,WAQEhqB,EAAQ,CACViqB,OAAS,CACPC,IAAY,IAAIpuB,OAAQ,cAAmC,MAC3DquB,OAAY,IAAIruB,OAAQ,YAAmC,MAC3D+L,SAAY,IAAI/L,OA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","sources":["webpack://wooftech/./node_modules/@rails/actioncable/app/assets/javascripts/actioncable.esm.js","webpack://wooftech/./node_modules/@react-native/normalize-colors/index.js","webpack://wooftech/./node_modules/@kaspernj/api-maker/src/base-component.jsx","webpack://wooftech/./node_modules/@kaspernj/api-maker/src/use-router.jsx","webpack://wooftech/./node_modules/@kaspernj/api-maker/src/router.jsx","webpack://wooftech/./node_modules/flash-notifications/src/container/notification.jsx","webpack://wooftech/./node_modules/flash-notifications/src/container/index.jsx","webpack://wooftech/./node_modules/haya-select/src/config.js","webpack://wooftech/./node_modules/react-native-vector-icons/FontAwesome.js","webpack://wooftech/./node_modules/react-native-vector-icons/lib/NativeRNVectorIcons.web.js","webpack://wooftech/./node_modules/react-native-vector-icons/lib/ensure-native-module-available.js","webpack://wooftech/./node_modules/react-native-vector-icons/lib/create-icon-source-cache.js","webpack://wooftech/./node_modules/react-native-vector-icons/lib/icon-button.js","webpack://wooftech/./node_modules/react-native-vector-icons/lib/create-icon-set.js","webpack://wooftech/./node_modules/react-native-vector-icons/lib/object-utils.js","webpack://wooftech/./node_modules/call-bind/callBound.js","webpack://wooftech/./node_modules/call-bind/index.js","webpack://wooftech/./node_modules/call-bind/node_modules/function-bind/implementation.js","webpack://wooftech/./node_modules/call-bind/node_modules/function-bind/index.js","webpack://wooftech/./node_modules/clone-deep/index.js","webpack://wooftech/./node_modules/clone-deep/node_modules/is-plain-object/index.js","webpack://wooftech/./node_modules/css-in-js-utils/es/assignStyle.js","webpack://wooftech/./node_modules/css-in-js-utils/es/camelCaseProperty.js","webpack://wooftech/./node_modules/css-in-js-utils/es/hyphenateProperty.js","webpack://wooftech/./node_modules/css-in-js-utils/es/cssifyDeclaration.js","webpack://wooftech/./node_modules/css-in-js-utils/es/cssifyObject.js","webpack://wooftech/./node_modules/css-in-js-utils/es/isPrefixedProperty.js","webpack://wooftech/./node_modules/css-in-js-utils/es/isPrefixedValue.js","webpack://wooftech/./node_modules/css-in-js-utils/es/isUnitlessProperty.js","webpack://wooftech/./node_modules/css-in-js-utils/es/unprefixProperty.js","webpack://wooftech/./node_modules/css-in-js-utils/es/normalizeProperty.js","webpack://wooftech/./node_modules/css-in-js-utils/es/resolveArrayValue.js","webpack://wooftech/./node_modules/css-in-js-utils/es/unprefixValue.js","webpack://wooftech/./node_modules/css-in-js-utils/lib/hyphenateProperty.js","webpack://wooftech/./node_modules/css-in-js-utils/lib/isPrefixedValue.js","webpack://wooftech/./node_modules/define-data-property/index.js","webpack://wooftech/./node_modules/define-properties/index.js","webpack://wooftech/./node_modules/define-properties/node_modules/get-intrinsic/index.js","webpack://wooftech/./node_modules/define-properties/node_modules/has-property-descriptors/index.js","webpack://wooftech/./node_modules/es-define-property/index.js","webpack://wooftech/./node_modules/es-errors/eval.js","webpack://wooftech/./node_modules/es-errors/index.js","webpack://wooftech/./node_modules/es-errors/range.js","webpack://wooftech/./node_modules/es-errors/ref.js","webpack://wooftech/./node_modules/es-errors/syntax.js","webpack://wooftech/./node_modules/es-errors/type.js","webpack://wooftech/./node_modules/es-errors/uri.js","webpack://wooftech/./node_modules/es-set-tostringtag/index.js","webpack://wooftech/./node_modules/es-set-tostringtag/node_modules/has-tostringtag/shams.js","webpack://wooftech/./node_modules/events/events.js","webpack://wooftech/./node_modules/fbjs/lib/emptyFunction.js","webpack://wooftech/./node_modules/fbjs/lib/invariant.js","webpack://wooftech/./node_modules/fbjs/lib/warning.js","webpack://wooftech/./node_modules/function-bind/implementation.js","webpack://wooftech/./node_modules/function-bind/index.js","webpack://wooftech/./node_modules/get-intrinsic/index.js","webpack://wooftech/./node_modules/get-intrinsic/node_modules/function-bind/implementation.js","webpack://wooftech/./node_modules/get-intrinsic/node_modules/function-bind/index.js","webpack://wooftech/./node_modules/get-intrinsic/node_modules/has-proto/index.js","webpack://wooftech/./node_modules/globalthis/implementation.browser.js","webpack://wooftech/./node_modules/globalthis/index.js","webpack://wooftech/./node_modules/globalthis/node_modules/define-properties/index.js","webpack://wooftech/./node_modules/globalthis/node_modules/get-intrinsic/index.js","webpack://wooftech/./node_modules/globalthis/node_modules/has-property-descriptors/index.js","webpack://wooftech/./node_modules/globalthis/polyfill.js","webpack://wooftech/./node_modules/globalthis/shim.js","webpack://wooftech/./node_modules/gopd/index.js","webpack://wooftech/./node_modules/gopd/node_modules/get-intrinsic/index.js","webpack://wooftech/./node_modules/has-property-descriptors/index.js","webpack://wooftech/./node_modules/has-symbols/index.js","webpack://wooftech/./node_modules/has-symbols/shams.js","webpack://wooftech/./node_modules/has/src/index.js","webpack://wooftech/./node_modules/hasown/index.js","webpack://wooftech/./node_modules/hasown/node_modules/function-bind/implementation.js","webpack://wooftech/./node_modules/hasown/node_modules/function-bind/index.js","webpack://wooftech/./node_modules/history/index.js","webpack://wooftech/./node_modules/hyphenate-style-name/index.js","webpack://wooftech/./node_modules/inflection/lib/inflection.js","webpack://wooftech/./node_modules/inline-style-prefixer/lib/createPrefixer.js","webpack://wooftech/./node_modules/inline-style-prefixer/lib/plugins/backgroundClip.js","webpack://wooftech/./node_modules/inline-style-prefixer/lib/plugins/crossFade.js","webpack://wooftech/./node_modules/inline-style-prefixer/lib/plugins/cursor.js","webpack://wooftech/./node_modules/inline-style-prefixer/lib/plugins/filter.js","webpack://wooftech/./node_modules/inline-style-prefixer/lib/plugins/imageSet.js","webpack://wooftech/./node_modules/inline-style-prefixer/lib/plugins/logical.js","webpack://wooftech/./node_modules/inline-style-prefixer/lib/plugins/position.js","webpack://wooftech/./node_modules/inline-style-prefixer/lib/plugins/sizing.js","webpack://wooftech/./node_modules/inline-style-prefixer/lib/plugins/transition.js","webpack://wooftech/./node_modules/inline-style-prefixer/lib/utils/addNewValuesOnly.js","webpack://wooftech/./node_modules/inline-style-prefixer/lib/utils/capitalizeString.js","webpack://wooftech/./node_modules/inline-style-prefixer/lib/utils/isObject.js","webpack://wooftech/./node_modules/inline-style-prefixer/lib/utils/prefixProperty.js","webpack://wooftech/./node_modules/inline-style-prefixer/lib/utils/prefixValue.js","webpack://wooftech/./node_modules/isarray/index.js","webpack://wooftech/./node_modules/isobject/index.js","webpack://wooftech/./node_modules/js-money/lib/currency.js","webpack://wooftech/./node_modules/js-money/lib/index.js","webpack://wooftech/./node_modules/js-money/lib/money.js","webpack://wooftech/./node_modules/kind-of/index.js","webpack://wooftech/./node_modules/lodash/_Symbol.js","webpack://wooftech/./node_modules/lodash/_apply.js","webpack://wooftech/./node_modules/lodash/_arrayLikeKeys.js","webpack://wooftech/./node_modules/lodash/_assignValue.js","webpack://wooftech/./node_modules/lodash/_baseAssignValue.js","webpack://wooftech/./node_modules/lodash/_baseGetTag.js","webpack://wooftech/./node_modules/lodash/_baseIsArguments.js","webpack://wooftech/./node_modules/lodash/_baseIsNative.js","webpack://wooftech/./node_modules/lodash/_baseIsTypedArray.js","webpack://wooftech/./node_modules/lodash/_baseKeysIn.js","webpack://wooftech/./node_modules/lodash/_baseRest.js","webpack://wooftech/./node_modules/lodash/_baseSetToString.js","webpack://wooftech/./node_modules/lodash/_baseTimes.js","webpack://wooftech/./node_modules/lodash/_baseUnary.js","webpack://wooftech/./node_modules/lodash/_copyObject.js","webpack://wooftech/./node_modules/lodash/_coreJsData.js","webpack://wooftech/./node_modules/lodash/_createAssigner.js","webpack://wooftech/./node_modules/lodash/_defineProperty.js","webpack://wooftech/./node_modules/lodash/_freeGlobal.js","webpack://wooftech/./node_modules/lodash/_getNative.js","webpack://wooftech/./node_modules/lodash/_getPrototype.js","webpack://wooftech/./node_modules/lodash/_getRawTag.js","webpack://wooftech/./node_modules/lodash/_getValue.js","webpack://wooftech/./node_modules/lodash/_isIndex.js","webpack://wooftech/./node_modules/lodash/_isIterateeCall.js","webpack://wooftech/./node_modules/lodash/_isMasked.js","webpack://wooftech/./node_modules/lodash/_isPrototype.js","webpack://wooftech/./node_modules/lodash/_nativeKeysIn.js","webpack://wooftech/./node_modules/lodash/_nodeUtil.js","webpack://wooftech/./node_modules/lodash/_objectToString.js","webpack://wooftech/./node_modules/lodash/_overArg.js","webpack://wooftech/./node_modules/lodash/_overRest.js","webpack://wooftech/./node_modules/lodash/_root.js","webpack://wooftech/./node_modules/lodash/_setToString.js","webpack://wooftech/./node_modules/lodash/_shortOut.js","webpack://wooftech/./node_modules/lodash/_toSource.js","webpack://wooftech/./node_modules/lodash/assignIn.js","webpack://wooftech/./node_modules/lodash/constant.js","webpack://wooftech/./node_modules/lodash/eq.js","webpack://wooftech/./node_modules/lodash/extend.js","webpack://wooftech/./node_modules/lodash/identity.js","webpack://wooftech/./node_modules/lodash/isArguments.js","webpack://wooftech/./node_modules/lodash/isArray.js","webpack://wooftech/./node_modules/lodash/isArrayLike.js","webpack://wooftech/./node_modules/lodash/isBuffer.js","webpack://wooftech/./node_modules/lodash/isFunction.js","webpack://wooftech/./node_modules/lodash/isLength.js","webpack://wooftech/./node_modules/lodash/isNaN.js","webpack://wooftech/./node_modules/lodash/isNumber.js","webpack://wooftech/./node_modules/lodash/isObject.js","webpack://wooftech/./node_modules/lodash/isObjectLike.js","webpack://wooftech/./node_modules/lodash/isPlainObject.js","webpack://wooftech/./node_modules/lodash/isString.js","webpack://wooftech/./node_modules/lodash/isTypedArray.js","webpack://wooftech/./node_modules/lodash/keysIn.js","webpack://wooftech/./node_modules/lodash/stubFalse.js","webpack://wooftech/./node_modules/nullthrows/nullthrows.js","webpack://wooftech/./node_modules/object-keys/implementation.js","webpack://wooftech/./node_modules/object-keys/index.js","webpack://wooftech/./node_modules/object-keys/isArguments.js","webpack://wooftech/./node_modules/object-to-formdata/src/index.js","webpack://wooftech/./node_modules/object.assign/implementation.js","webpack://wooftech/./node_modules/object.assign/index.js","webpack://wooftech/./node_modules/object.assign/polyfill.js","webpack://wooftech/./node_modules/object.assign/shim.js","webpack://wooftech/./node_modules/postcss-value-parser/lib/index.js","webpack://wooftech/./node_modules/postcss-value-parser/lib/parse.js","webpack://wooftech/./node_modules/postcss-value-parser/lib/stringify.js","webpack://wooftech/./node_modules/postcss-value-parser/lib/unit.js","webpack://wooftech/./node_modules/postcss-value-parser/lib/walk.js","webpack://wooftech/./node_modules/prop-types-exact/build/helpers/isPlainObject.js","webpack://wooftech/./node_modules/prop-types-exact/src/index.js","webpack://wooftech/./node_modules/prop-types/factoryWithThrowingShims.js","webpack://wooftech/./node_modules/prop-types/index.js","webpack://wooftech/./node_modules/prop-types/lib/ReactPropTypesSecret.js","webpack://wooftech/./node_modules/qs/lib/formats.js","webpack://wooftech/./node_modules/qs/lib/index.js","webpack://wooftech/./node_modules/qs/lib/parse.js","webpack://wooftech/./node_modules/qs/lib/stringify.js","webpack://wooftech/./node_modules/qs/lib/utils.js","webpack://wooftech/./node_modules/react-dom/cjs/react-dom.production.min.js","webpack://wooftech/./node_modules/react-dom/client.js","webpack://wooftech/./node_modules/react-dom/index.js","webpack://wooftech/./node_modules/react-native-web/dist/cjs/exports/Dimensions/index.js","webpack://wooftech/./node_modules/react-native-web/dist/cjs/exports/Modal/ModalAnimation.js","webpack://wooftech/./node_modules/react-native-web/dist/cjs/exports/Modal/ModalContent.js","webpack://wooftech/./node_modules/react-native-web/dist/cjs/exports/Modal/ModalFocusTrap.js","webpack://wooftech/./node_modules/react-native-web/dist/cjs/exports/Modal/ModalPortal.js","webpack://wooftech/./node_modules/react-native-web/dist/cjs/exports/Modal/index.js","webpack://wooftech/./node_modules/react-native-web/dist/cjs/exports/PixelRatio/index.js","webpack://wooftech/./node_modules/react-native-web/dist/cjs/exports/Platform/index.js","webpack://wooftech/./node_modules/react-native-web/dist/cjs/exports/Pressable/index.js","webpack://wooftech/./node_modules/react-native-web/dist/cjs/exports/StyleSheet/compiler/createReactDOMStyle.js","webpack://wooftech/./node_modules/react-native-web/dist/cjs/exports/StyleSheet/compiler/hash.js","webpack://wooftech/./node_modules/react-native-web/dist/cjs/exports/StyleSheet/compiler/hyphenateStyleName.js","webpack://wooftech/./node_modules/react-native-web/dist/cjs/exports/StyleSheet/compiler/index.js","webpack://wooftech/./node_modules/react-native-web/dist/cjs/exports/StyleSheet/compiler/normalizeColor.js","webpack://wooftech/./node_modules/react-native-web/dist/cjs/exports/StyleSheet/compiler/normalizeValueWithProperty.js","webpack://wooftech/./node_modules/react-native-web/dist/cjs/exports/StyleSheet/compiler/unitlessNumbers.js","webpack://wooftech/./node_modules/react-native-web/dist/cjs/exports/StyleSheet/dom/createCSSStyleSheet.js","webpack://wooftech/./node_modules/react-native-web/dist/cjs/exports/StyleSheet/dom/createOrderedCSSStyleSheet.js","webpack://wooftech/./node_modules/react-native-web/dist/cjs/exports/StyleSheet/dom/index.js","webpack://wooftech/./node_modules/react-native-web/dist/cjs/exports/StyleSheet/index.js","webpack://wooftech/./node_modules/react-native-web/dist/cjs/exports/StyleSheet/preprocess.js","webpack://wooftech/./node_modules/react-native-web/dist/cjs/exports/StyleSheet/validate.js","webpack://wooftech/./node_modules/react-native-web/dist/cjs/exports/Text/TextAncestorContext.js","webpack://wooftech/./node_modules/react-native-web/dist/cjs/exports/Text/index.js","webpack://wooftech/./node_modules/react-native-web/dist/cjs/exports/TouchableHighlight/index.js","webpack://wooftech/./node_modules/react-native-web/dist/cjs/exports/UIManager/index.js","webpack://wooftech/./node_modules/react-native-web/dist/cjs/exports/View/index.js","webpack://wooftech/./node_modules/react-native-web/dist/cjs/exports/createElement/index.js","webpack://wooftech/./node_modules/react-native-web/dist/cjs/exports/processColor/index.js","webpack://wooftech/./node_modules/react-native-web/dist/cjs/modules/AccessibilityUtil/index.js","webpack://wooftech/./node_modules/react-native-web/dist/cjs/modules/AccessibilityUtil/isDisabled.js","webpack://wooftech/./node_modules/react-native-web/dist/cjs/modules/AccessibilityUtil/propsToAccessibilityComponent.js","webpack://wooftech/./node_modules/react-native-web/dist/cjs/modules/AccessibilityUtil/propsToAriaRole.js","webpack://wooftech/./node_modules/react-native-web/dist/cjs/modules/addEventListener/index.js","webpack://wooftech/./node_modules/react-native-web/dist/cjs/modules/canUseDom/index.js","webpack://wooftech/./node_modules/react-native-web/dist/cjs/modules/createDOMProps/index.js","webpack://wooftech/./node_modules/react-native-web/dist/cjs/modules/forwardedProps/index.js","webpack://wooftech/./node_modules/react-native-web/dist/cjs/modules/getBoundingClientRect/index.js","webpack://wooftech/./node_modules/react-native-web/dist/cjs/modules/isSelectionValid/index.js","webpack://wooftech/./node_modules/react-native-web/dist/cjs/modules/isWebColor/index.js","webpack://wooftech/./node_modules/react-native-web/dist/cjs/modules/mergeRefs/index.js","webpack://wooftech/./node_modules/react-native-web/dist/cjs/modules/modality/index.js","webpack://wooftech/./node_modules/react-native-web/dist/cjs/modules/pick/index.js","webpack://wooftech/./node_modules/react-native-web/dist/cjs/modules/prefixStyles/index.js","webpack://wooftech/./node_modules/react-native-web/dist/cjs/modules/prefixStyles/static.js","webpack://wooftech/./node_modules/react-native-web/dist/cjs/modules/setValueForStyles/dangerousStyleValue.js","webpack://wooftech/./node_modules/react-native-web/dist/cjs/modules/setValueForStyles/index.js","webpack://wooftech/./node_modules/react-native-web/dist/cjs/modules/unitlessNumbers/index.js","webpack://wooftech/./node_modules/react-native-web/dist/cjs/modules/useElementLayout/index.js","webpack://wooftech/./node_modules/react-native-web/dist/cjs/modules/useEvent/index.js","webpack://wooftech/./node_modules/react-native-web/dist/cjs/modules/useHover/index.js","webpack://wooftech/./node_modules/react-native-web/dist/cjs/modules/useLayoutEffect/index.js","webpack://wooftech/./node_modules/react-native-web/dist/cjs/modules/useLocale/index.js","webpack://wooftech/./node_modules/react-native-web/dist/cjs/modules/useLocale/isLocaleRTL.js","webpack://wooftech/./node_modules/react-native-web/dist/cjs/modules/useMergeRefs/index.js","webpack://wooftech/./node_modules/react-native-web/dist/cjs/modules/usePlatformMethods/index.js","webpack://wooftech/./node_modules/react-native-web/dist/cjs/modules/usePressEvents/PressResponder.js","webpack://wooftech/./node_modules/react-native-web/dist/cjs/modules/usePressEvents/index.js","webpack://wooftech/./node_modules/react-native-web/dist/cjs/modules/useResponderEvents/ResponderEventTypes.js","webpack://wooftech/./node_modules/react-native-web/dist/cjs/modules/useResponderEvents/ResponderSystem.js","webpack://wooftech/./node_modules/react-native-web/dist/cjs/modules/useResponderEvents/ResponderTouchHistoryStore.js","webpack://wooftech/./node_modules/react-native-web/dist/cjs/modules/useResponderEvents/createResponderEvent.js","webpack://wooftech/./node_modules/react-native-web/dist/cjs/modules/useResponderEvents/index.js","webpack://wooftech/./node_modules/react-native-web/dist/cjs/modules/useResponderEvents/utils.js","webpack://wooftech/./node_modules/react-native-web/dist/cjs/modules/useStable/index.js","webpack://wooftech/./node_modules/react-native-web/dist/cjs/modules/warnOnce/index.js","webpack://wooftech/./node_modules/react-native-web/dist/exports/AccessibilityInfo/index.js","webpack://wooftech/./node_modules/react-native-web/dist/vendor/react-native/Animated/NativeAnimatedModule.js","webpack://wooftech/./node_modules/react-native-web/dist/vendor/react-native/Animated/NativeAnimatedHelper.js","webpack://wooftech/./node_modules/react-native-web/dist/vendor/react-native/Utilities/Platform.js","webpack://wooftech/./node_modules/react-native-web/dist/vendor/react-native/ReactNative/ReactNativeFeatureFlags.js","webpack://wooftech/./node_modules/react-native-web/dist/vendor/react-native/TurboModule/TurboModuleRegistry.js","webpack://wooftech/./node_modules/react-native-web/dist/vendor/react-native/Animated/nodes/AnimatedNode.js","webpack://wooftech/./node_modules/react-native-web/dist/vendor/react-native/Animated/nodes/AnimatedWithChildren.js","webpack://wooftech/./node_modules/react-native-web/dist/vendor/react-native/Animated/nodes/AnimatedInterpolation.js","webpack://wooftech/./node_modules/react-native-web/dist/vendor/react-native/Animated/nodes/AnimatedValue.js","webpack://wooftech/./node_modules/react-native-web/dist/vendor/react-native/Animated/AnimatedEvent.js","webpack://wooftech/./node_modules/react-native-web/dist/vendor/react-native/Animated/nodes/AnimatedTransform.js","webpack://wooftech/./node_modules/react-native-web/dist/vendor/react-native/Animated/nodes/AnimatedStyle.js","webpack://wooftech/./node_modules/react-native-web/dist/vendor/react-native/Animated/nodes/AnimatedProps.js","webpack://wooftech/./node_modules/react-native-web/dist/vendor/react-native/Animated/useAnimatedProps.js","webpack://wooftech/./node_modules/react-native-web/dist/vendor/react-native/Utilities/useRefEffect.js","webpack://wooftech/./node_modules/react-native-web/dist/vendor/react-native/Animated/createAnimatedComponent.js","webpack://wooftech/./node_modules/react-native-web/dist/vendor/react-native/Utilities/useMergeRefs.js","webpack://wooftech/./node_modules/react-native-web/dist/vendor/react-native/Animated/components/AnimatedFlatList.js","webpack://wooftech/./node_modules/react-native-web/dist/vendor/react-native/Animated/components/AnimatedImage.js","webpack://wooftech/./node_modules/react-native-web/dist/vendor/react-native/Animated/components/AnimatedScrollView.js","webpack://wooftech/./node_modules/react-native-web/dist/vendor/react-native/Animated/components/AnimatedSectionList.js","webpack://wooftech/./node_modules/react-native-web/dist/vendor/react-native/Animated/components/AnimatedText.js","webpack://wooftech/./node_modules/react-native-web/dist/vendor/react-native/Animated/components/AnimatedView.js","webpack://wooftech/./node_modules/react-native-web/dist/vendor/react-native/Animated/nodes/AnimatedAddition.js","webpack://wooftech/./node_modules/react-native-web/dist/vendor/react-native/Animated/nodes/AnimatedDiffClamp.js","webpack://wooftech/./node_modules/react-native-web/dist/vendor/react-native/Animated/nodes/AnimatedDivision.js","webpack://wooftech/./node_modules/react-native-web/dist/vendor/react-native/Animated/nodes/AnimatedModulo.js","webpack://wooftech/./node_modules/react-native-web/dist/vendor/react-native/Animated/nodes/AnimatedMultiplication.js","webpack://wooftech/./node_modules/react-native-web/dist/vendor/react-native/Animated/nodes/AnimatedSubtraction.js","webpack://wooftech/./node_modules/react-native-web/dist/vendor/react-native/Animated/nodes/AnimatedTracking.js","webpack://wooftech/./node_modules/react-native-web/dist/vendor/react-native/Animated/nodes/AnimatedValueXY.js","webpack://wooftech/./node_modules/react-native-web/dist/vendor/react-native/Animated/animations/Animation.js","webpack://wooftech/./node_modules/react-native-web/dist/vendor/react-native/Animated/animations/DecayAnimation.js","webpack://wooftech/./node_modules/react-native-web/dist/vendor/react-native/Animated/SpringConfig.js","webpack://wooftech/./node_modules/react-native-web/dist/vendor/react-native/Animated/animations/SpringAnimation.js","webpack://wooftech/./node_modules/react-native-web/dist/vendor/react-native/Animated/animations/TimingAnimation.js","webpack://wooftech/./node_modules/react-native-web/dist/vendor/react-native/Animated/nodes/AnimatedColor.js","webpack://wooftech/./node_modules/react-native-web/dist/vendor/react-native/Animated/AnimatedImplementation.js","webpack://wooftech/./node_modules/react-native-web/dist/vendor/react-native/Animated/AnimatedMock.js","webpack://wooftech/./node_modules/react-native-web/dist/vendor/react-native/Animated/Animated.js","webpack://wooftech/./node_modules/react-native-web/dist/exports/Animated/index.js","webpack://wooftech/./node_modules/react-native-web/dist/exports/Appearance/index.js","webpack://wooftech/./node_modules/react-native-web/dist/exports/Dimensions/index.js","webpack://wooftech/./node_modules/react-native-web/dist/vendor/react-native/Animated/bezier.js","webpack://wooftech/./node_modules/react-native-web/dist/vendor/react-native/Animated/Easing.js","webpack://wooftech/./node_modules/react-native-web/dist/exports/Easing/index.js","webpack://wooftech/./node_modules/react-native-web/dist/vendor/react-native/deepDiffer/index.js","webpack://wooftech/./node_modules/react-native-web/dist/vendor/react-native/FlatList/index.js","webpack://wooftech/./node_modules/react-native-web/dist/exports/FlatList/index.js","webpack://wooftech/./node_modules/react-native-web/dist/exports/I18nManager/index.js","webpack://wooftech/./node_modules/react-native-web/dist/modules/AssetRegistry/index.js","webpack://wooftech/./node_modules/react-native-web/dist/modules/ImageLoader/index.js","webpack://wooftech/./node_modules/react-native-web/dist/exports/Image/index.js","webpack://wooftech/./node_modules/react-native-web/dist/exports/InteractionManager/TaskQueue.js","webpack://wooftech/./node_modules/react-native-web/dist/modules/requestIdleCallback/index.js","webpack://wooftech/./node_modules/react-native-web/dist/exports/InteractionManager/index.js","webpack://wooftech/./node_modules/react-native-web/dist/exports/Keyboard/index.js","webpack://wooftech/./node_modules/react-native-web/dist/exports/NativeModules/index.js","webpack://wooftech/./node_modules/react-native-web/dist/exports/PixelRatio/index.js","webpack://wooftech/./node_modules/react-native-web/dist/exports/Platform/index.js","webpack://wooftech/./node_modules/react-native-web/dist/modules/addEventListener/index.js","webpack://wooftech/./node_modules/react-native-web/dist/modules/modality/index.js","webpack://wooftech/./node_modules/react-native-web/dist/modules/useEvent/index.js","webpack://wooftech/./node_modules/react-native-web/dist/modules/useHover/index.js","webpack://wooftech/./node_modules/react-native-web/dist/exports/Pressable/index.js","webpack://wooftech/./node_modules/react-native-web/dist/exports/RefreshControl/index.js","webpack://wooftech/./node_modules/react-native-web/dist/exports/ScrollView/ScrollViewBase.js","webpack://wooftech/./node_modules/react-native-web/dist/exports/ScrollView/index.js","webpack://wooftech/./node_modules/react-native-web/dist/vendor/react-native/VirtualizedSectionList/index.js","webpack://wooftech/./node_modules/react-native-web/dist/vendor/react-native/SectionList/index.js","webpack://wooftech/./node_modules/react-native-web/dist/exports/SectionList/index.js","webpack://wooftech/./node_modules/react-native-web/dist/modules/isWebColor/index.js","webpack://wooftech/./node_modules/react-native-web/dist/exports/StyleSheet/compiler/normalizeColor.js","webpack://wooftech/./node_modules/react-native-web/dist/exports/StyleSheet/compiler/unitlessNumbers.js","webpack://wooftech/./node_modules/react-native-web/dist/exports/StyleSheet/compiler/normalizeValueWithProperty.js","webpack://wooftech/./node_modules/react-native-web/dist/exports/StyleSheet/dom/createCSSStyleSheet.js","webpack://wooftech/./node_modules/react-native-web/dist/exports/StyleSheet/dom/createOrderedCSSStyleSheet.js","webpack://wooftech/./node_modules/react-native-web/dist/exports/StyleSheet/dom/index.js","webpack://wooftech/./node_modules/react-native-web/dist/exports/StyleSheet/compiler/createReactDOMStyle.js","webpack://wooftech/./node_modules/react-native-web/dist/exports/StyleSheet/compiler/hash.js","webpack://wooftech/./node_modules/react-native-web/dist/exports/StyleSheet/compiler/hyphenateStyleName.js","webpack://wooftech/./node_modules/react-native-web/dist/modules/prefixStyles/static.js","webpack://wooftech/./node_modules/react-native-web/dist/modules/prefixStyles/index.js","webpack://wooftech/./node_modules/react-native-web/dist/exports/StyleSheet/compiler/index.js","webpack://wooftech/./node_modules/react-native-web/dist/exports/StyleSheet/index.js","webpack://wooftech/./node_modules/react-native-web/dist/exports/StyleSheet/preprocess.js","webpack://wooftech/./node_modules/react-native-web/dist/exports/Text/TextAncestorContext.js","webpack://wooftech/./node_modules/react-native-web/dist/exports/Text/index.js","webpack://wooftech/./node_modules/react-native-web/dist/exports/TextInput/index.js","webpack://wooftech/./node_modules/react-native-web/dist/modules/unitlessNumbers/index.js","webpack://wooftech/./node_modules/react-native-web/dist/modules/setValueForStyles/dangerousStyleValue.js","webpack://wooftech/./node_modules/react-native-web/dist/modules/setValueForStyles/index.js","webpack://wooftech/./node_modules/react-native-web/dist/exports/UIManager/index.js","webpack://wooftech/./node_modules/react-native-web/dist/exports/View/index.js","webpack://wooftech/./node_modules/react-native-web/dist/modules/createDOMProps/index.js","webpack://wooftech/./node_modules/react-native-web/dist/exports/createElement/index.js","webpack://wooftech/./node_modules/react-native-web/dist/exports/findNodeHandle/index.js","webpack://wooftech/./node_modules/react-native-web/dist/exports/processColor/index.js","webpack://wooftech/./node_modules/react-native-web/dist/exports/useWindowDimensions/index.js","webpack://wooftech/./node_modules/react-native-web/dist/exports/unmountComponentAtNode/index.js","webpack://wooftech/./node_modules/react-native-web/dist/exports/render/index.js","webpack://wooftech/./node_modules/react-native-web/dist/exports/Alert/index.js","webpack://wooftech/./node_modules/react-native-web/dist/exports/AppRegistry/AppContainer.js","webpack://wooftech/./node_modules/react-native-web/dist/exports/AppRegistry/index.js","webpack://wooftech/./node_modules/react-native-web/dist/exports/AppRegistry/renderApplication.js","webpack://wooftech/./node_modules/react-native-web/dist/exports/AppState/index.js","webpack://wooftech/./node_modules/react-native-web/dist/exports/BackHandler/index.js","webpack://wooftech/./node_modules/react-native-web/dist/exports/Clipboard/index.js","webpack://wooftech/./node_modules/react-native-web/dist/vendor/react-native/LayoutAnimation/index.js","webpack://wooftech/./node_modules/react-native-web/dist/exports/LayoutAnimation/index.js","webpack://wooftech/./node_modules/react-native-web/dist/exports/Linking/index.js","webpack://wooftech/./node_modules/react-native-web/dist/exports/NativeEventEmitter/index.js","webpack://wooftech/./node_modules/react-native-web/dist/vendor/react-native/TouchHistoryMath/index.js","webpack://wooftech/./node_modules/react-native-web/dist/vendor/react-native/PanResponder/index.js","webpack://wooftech/./node_modules/react-native-web/dist/exports/PanResponder/index.js","webpack://wooftech/./node_modules/react-native-web/dist/exports/Share/index.js","webpack://wooftech/./node_modules/react-native-web/dist/exports/Vibration/index.js","webpack://wooftech/./node_modules/react-native-web/dist/exports/ActivityIndicator/index.js","webpack://wooftech/./node_modules/react-native-web/dist/exports/TouchableOpacity/index.js","webpack://wooftech/./node_modules/react-native-web/dist/exports/Button/index.js","webpack://wooftech/./node_modules/react-native-web/dist/exports/CheckBox/index.js","webpack://wooftech/./node_modules/react-native-web/dist/exports/ImageBackground/index.js","webpack://wooftech/./node_modules/react-native-web/dist/exports/KeyboardAvoidingView/index.js","webpack://wooftech/./node_modules/react-native-web/dist/exports/Modal/ModalPortal.js","webpack://wooftech/./node_modules/react-native-web/dist/exports/Modal/ModalAnimation.js","webpack://wooftech/./node_modules/react-native-web/dist/exports/Modal/ModalContent.js","webpack://wooftech/./node_modules/react-native-web/dist/exports/Modal/ModalFocusTrap.js","webpack://wooftech/./node_modules/react-native-web/dist/exports/Modal/index.js","webpack://wooftech/./node_modules/react-native-web/dist/exports/Picker/index.js","webpack://wooftech/./node_modules/react-native-web/dist/exports/Picker/PickerItem.js","webpack://wooftech/./node_modules/react-native-web/dist/exports/ProgressBar/index.js","webpack://wooftech/./node_modules/react-native-web/dist/exports/SafeAreaView/index.js","webpack://wooftech/./node_modules/react-native-web/dist/exports/StatusBar/index.js","webpack://wooftech/./node_modules/react-native-web/dist/modules/multiplyStyleLengthValue/index.js","webpack://wooftech/./node_modules/react-native-web/dist/exports/Switch/index.js","webpack://wooftech/./node_modules/react-native-web/dist/vendor/react-native/PooledClass/index.js","webpack://wooftech/./node_modules/react-native-web/dist/exports/Touchable/BoundingDimensions.js","webpack://wooftech/./node_modules/react-native-web/dist/exports/Touchable/Position.js","webpack://wooftech/./node_modules/react-native-web/dist/exports/Touchable/index.js","webpack://wooftech/./node_modules/react-native-web/dist/exports/TouchableHighlight/index.js","webpack://wooftech/./node_modules/react-native-web/dist/modules/UnimplementedView/index.js","webpack://wooftech/./node_modules/react-native-web/dist/exports/TouchableNativeFeedback/index.js","webpack://wooftech/./node_modules/react-native-web/dist/exports/TouchableWithoutFeedback/index.js","webpack://wooftech/./node_modules/react-native-web/dist/exports/VirtualizedList/index.js","webpack://wooftech/./node_modules/react-native-web/dist/exports/YellowBox/index.js","webpack://wooftech/./node_modules/react-native-web/dist/exports/LogBox/index.js","webpack://wooftech/./node_modules/react-native-web/dist/exports/DeviceEventEmitter/index.js","webpack://wooftech/./node_modules/react-native-web/dist/exports/useColorScheme/index.js","webpack://wooftech/./node_modules/react-native-web/dist/exports/useLocaleContext/index.js","webpack://wooftech/./node_modules/react-native-web/dist/modules/AccessibilityUtil/isDisabled.js","webpack://wooftech/./node_modules/react-native-web/dist/modules/AccessibilityUtil/propsToAriaRole.js","webpack://wooftech/./node_modules/react-native-web/dist/modules/AccessibilityUtil/propsToAccessibilityComponent.js","webpack://wooftech/./node_modules/react-native-web/dist/modules/AccessibilityUtil/index.js","webpack://wooftech/./node_modules/react-native-web/dist/modules/TextInputState/index.js","webpack://wooftech/./node_modules/react-native-web/dist/modules/canUseDom/index.js","webpack://wooftech/./node_modules/react-native-web/dist/modules/dismissKeyboard/index.js","webpack://wooftech/./node_modules/react-native-web/dist/modules/forwardedProps/index.js","webpack://wooftech/./node_modules/react-native-web/dist/modules/getBoundingClientRect/index.js","webpack://wooftech/./node_modules/react-native-web/dist/modules/mergeRefs/index.js","webpack://wooftech/./node_modules/react-native-web/dist/modules/pick/index.js","webpack://wooftech/./node_modules/react-native-web/dist/modules/useElementLayout/index.js","webpack://wooftech/./node_modules/react-native-web/dist/modules/useLayoutEffect/index.js","webpack://wooftech/./node_modules/react-native-web/dist/modules/useLocale/isLocaleRTL.js","webpack://wooftech/./node_modules/react-native-web/dist/modules/useLocale/index.js","webpack://wooftech/./node_modules/react-native-web/dist/modules/useMergeRefs/index.js","webpack://wooftech/./node_modules/react-native-web/dist/modules/usePlatformMethods/index.js","webpack://wooftech/./node_modules/react-native-web/dist/modules/usePressEvents/PressResponder.js","webpack://wooftech/./node_modules/react-native-web/dist/modules/usePressEvents/index.js","webpack://wooftech/./node_modules/react-native-web/dist/modules/useResponderEvents/createResponderEvent.js","webpack://wooftech/./node_modules/react-native-web/dist/modules/useResponderEvents/ResponderEventTypes.js","webpack://wooftech/./node_modules/react-native-web/dist/modules/useResponderEvents/utils.js","webpack://wooftech/./node_modules/react-native-web/dist/modules/isSelectionValid/index.js","webpack://wooftech/./node_modules/react-native-web/dist/modules/useResponderEvents/ResponderTouchHistoryStore.js","webpack://wooftech/./node_modules/react-native-web/dist/modules/useResponderEvents/ResponderSystem.js","webpack://wooftech/./node_modules/react-native-web/dist/modules/useResponderEvents/index.js","webpack://wooftech/./node_modules/react-native-web/dist/modules/useStable/index.js","webpack://wooftech/./node_modules/react-native-web/dist/modules/warnOnce/index.js","webpack://wooftech/./node_modules/react-native-web/dist/vendor/react-native/EventEmitter/NativeEventEmitter.js","webpack://wooftech/./node_modules/react-native-web/dist/vendor/react-native/EventEmitter/RCTDeviceEventEmitter.js","webpack://wooftech/./node_modules/react-native-web/dist/vendor/react-native/VirtualizeUtils/index.js","webpack://wooftech/./node_modules/react-native-web/dist/vendor/react-native/Batchinator/index.js","webpack://wooftech/./node_modules/react-native-web/dist/vendor/react-native/Utilities/clamp.js","webpack://wooftech/./node_modules/react-native-web/dist/vendor/react-native/infoLog/index.js","webpack://wooftech/./node_modules/react-native-web/dist/vendor/react-native/VirtualizedList/CellRenderMask.js","webpack://wooftech/./node_modules/react-native-web/dist/vendor/react-native/VirtualizedList/ChildListCollection.js","webpack://wooftech/./node_modules/react-native-web/dist/vendor/react-native/FillRateHelper/index.js","webpack://wooftech/./node_modules/react-native-web/dist/vendor/react-native/VirtualizedList/StateSafePureComponent.js","webpack://wooftech/./node_modules/react-native-web/dist/vendor/react-native/ViewabilityHelper/index.js","webpack://wooftech/./node_modules/react-native-web/dist/vendor/react-native/VirtualizedList/VirtualizedListContext.js","webpack://wooftech/./node_modules/react-native-web/dist/vendor/react-native/VirtualizedList/VirtualizedListCellRenderer.js","webpack://wooftech/./node_modules/react-native-web/dist/vendor/react-native/VirtualizedList/index.js","webpack://wooftech/./node_modules/react-native-web/dist/vendor/react-native/vendor/emitter/EventEmitter.js","webpack://wooftech/./node_modules/react/cjs/react.production.min.js","webpack://wooftech/./node_modules/reflect.ownkeys/implementation.js","webpack://wooftech/./node_modules/reflect.ownkeys/index.js","webpack://wooftech/./node_modules/reflect.ownkeys/node_modules/define-properties/index.js","webpack://wooftech/./node_modules/reflect.ownkeys/node_modules/es-abstract/node_modules/has-property-descriptors/index.js","webpack://wooftech/./node_modules/reflect.ownkeys/node_modules/has-property-descriptors/index.js","webpack://wooftech/./node_modules/reflect.ownkeys/node_modules/has-property-descriptors/node_modules/get-intrinsic/index.js","webpack://wooftech/./node_modules/reflect.ownkeys/polyfill.js","webpack://wooftech/./node_modules/reflect.ownkeys/shim.js","webpack://wooftech/./node_modules/scheduler/cjs/scheduler.production.min.js","webpack://wooftech/./node_modules/scheduler/index.js","webpack://wooftech/./node_modules/set-function-length/index.js","webpack://wooftech/./node_modules/shallow-clone/index.js","webpack://wooftech/./node_modules/side-channel/index.js","webpack://wooftech/./node_modules/side-channel/node_modules/get-intrinsic/index.js","webpack://wooftech/./node_modules/side-channel/node_modules/object-inspect/index.js","webpack://wooftech/./node_modules/source-map/lib/array-set.js","webpack://wooftech/./node_modules/source-map/lib/base64-vlq.js","webpack://wooftech/./node_modules/source-map/lib/base64.js","webpack://wooftech/./node_modules/source-map/lib/binary-search.js","webpack://wooftech/./node_modules/source-map/lib/mapping-list.js","webpack://wooftech/./node_modules/source-map/lib/quick-sort.js","webpack://wooftech/./node_modules/source-map/lib/source-map-consumer.js","webpack://wooftech/./node_modules/source-map/lib/source-map-generator.js","webpack://wooftech/./node_modules/source-map/lib/source-node.js","webpack://wooftech/./node_modules/source-map/lib/util.js","webpack://wooftech/./node_modules/source-map/source-map.js","webpack://wooftech/./node_modules/spark-md5/spark-md5.js","webpack://wooftech/./node_modules/stimulus/dist/stimulus.js","webpack://wooftech/./node_modules/stimulus/dist/webpack-helpers.js","webpack://wooftech/./node_modules/strftime/strftime.js","webpack://wooftech/./node_modules/styleq/dist/styleq.js","webpack://wooftech/./node_modules/styleq/dist/transform-localize-style.js","webpack://wooftech/./node_modules/styleq/transform-localize-style.js","webpack://wooftech/./node_modules/wake-event/wake-event.js","webpack://wooftech/./node_modules/@babel/runtime/helpers/defineProperty.js","webpack://wooftech/./node_modules/@babel/runtime/helpers/extends.js","webpack://wooftech/./node_modules/@babel/runtime/helpers/interopRequireDefault.js","webpack://wooftech/./node_modules/@babel/runtime/helpers/interopRequireWildcard.js","webpack://wooftech/./node_modules/@babel/runtime/helpers/objectSpread2.js","webpack://wooftech/./node_modules/@babel/runtime/helpers/objectWithoutPropertiesLoose.js","webpack://wooftech/./node_modules/@babel/runtime/helpers/toPrimitive.js","webpack://wooftech/./node_modules/@babel/runtime/helpers/toPropertyKey.js","webpack://wooftech/./node_modules/@babel/runtime/helpers/typeof.js","webpack://wooftech/./node_modules/epic-locks/index.cjs","webpack://wooftech/./node_modules/epic-locks/src/readers-writer-lock.cjs","webpack://wooftech/./node_modules/form-data-objectizer/index.cjs","webpack://wooftech/./node_modules/numberable/index.cjs","webpack://wooftech/./node_modules/reflect.ownkeys/node_modules/es-abstract/2023/CreateMethodProperty.js","webpack://wooftech/./node_modules/reflect.ownkeys/node_modules/es-abstract/2023/FromPropertyDescriptor.js","webpack://wooftech/./node_modules/reflect.ownkeys/node_modules/es-abstract/2023/IsDataDescriptor.js","webpack://wooftech/./node_modules/reflect.ownkeys/node_modules/es-abstract/2023/IsPropertyKey.js","webpack://wooftech/./node_modules/reflect.ownkeys/node_modules/es-abstract/2023/SameValue.js","webpack://wooftech/./node_modules/reflect.ownkeys/node_modules/es-abstract/2023/Type.js","webpack://wooftech/./node_modules/reflect.ownkeys/node_modules/es-abstract/5/Type.js","webpack://wooftech/./node_modules/reflect.ownkeys/node_modules/es-abstract/helpers/DefineOwnProperty.js","webpack://wooftech/./node_modules/reflect.ownkeys/node_modules/es-abstract/helpers/IsArray.js","webpack://wooftech/./node_modules/reflect.ownkeys/node_modules/es-abstract/helpers/OwnPropertyKeys.js","webpack://wooftech/./node_modules/reflect.ownkeys/node_modules/es-abstract/helpers/fromPropertyDescriptor.js","webpack://wooftech/./node_modules/reflect.ownkeys/node_modules/es-abstract/helpers/isNaN.js","webpack://wooftech/./node_modules/reflect.ownkeys/node_modules/es-abstract/helpers/records/property-descriptor.js","webpack://wooftech/./node_modules/uniqunize/index.cjs","webpack://wooftech/./node_modules/@babel/runtime/helpers/esm/arrayLikeToArray.js","webpack://wooftech/./node_modules/@babel/runtime/helpers/esm/createForOfIteratorHelperLoose.js","webpack://wooftech/./node_modules/@babel/runtime/helpers/esm/unsupportedIterableToArray.js","webpack://wooftech/./node_modules/@babel/runtime/helpers/esm/extends.js","webpack://wooftech/./node_modules/@babel/runtime/helpers/esm/typeof.js","webpack://wooftech/./node_modules/@babel/runtime/helpers/esm/toPropertyKey.js","webpack://wooftech/./node_modules/@babel/runtime/helpers/esm/toPrimitive.js","webpack://wooftech/./node_modules/@babel/runtime/helpers/esm/defineProperty.js","webpack://wooftech/./node_modules/@babel/runtime/helpers/esm/objectSpread2.js","webpack://wooftech/./node_modules/@babel/runtime/helpers/esm/objectWithoutPropertiesLoose.js","webpack://wooftech/./node_modules/@kaspernj/api-maker/src/error-messages.mjs","webpack://wooftech/./node_modules/@kaspernj/api-maker/src/base-error.mjs","webpack://wooftech/./node_modules/@kaspernj/api-maker/src/can-can.mjs","webpack://wooftech/./node_modules/@kaspernj/api-maker/src/collection.mjs","webpack://wooftech/./node_modules/@kaspernj/api-maker/src/api.mjs","webpack://wooftech/./node_modules/@kaspernj/api-maker/src/command-submit-data.mjs","webpack://wooftech/./node_modules/@kaspernj/api-maker/src/destroy-error.mjs","webpack://wooftech/./node_modules/@kaspernj/api-maker/src/serializer.mjs","webpack://wooftech/./node_modules/@kaspernj/api-maker/src/commands-pool.mjs","webpack://wooftech/./node_modules/@kaspernj/api-maker/src/config.mjs","webpack://wooftech/./node_modules/@kaspernj/api-maker/src/custom-error.mjs","webpack://wooftech/./node_modules/@kaspernj/api-maker/src/deserializer.mjs","webpack://wooftech/./node_modules/@kaspernj/api-maker/src/devise.mjs","webpack://wooftech/./node_modules/stacktrace-parser/dist/stack-trace-parser.esm.js","webpack://wooftech/./node_modules/@kaspernj/api-maker/src/source-maps-loader.mjs","webpack://wooftech/./node_modules/@kaspernj/api-maker/src/error-logger.mjs","webpack://wooftech/./node_modules/@kaspernj/api-maker/src/events.mjs","webpack://wooftech/./node_modules/@kaspernj/api-maker/src/logger.mjs","webpack://wooftech/./node_modules/@kaspernj/api-maker/src/model-class-require.mjs","webpack://wooftech/./node_modules/@kaspernj/api-maker/src/base-model/column.mjs","webpack://wooftech/./node_modules/@kaspernj/api-maker/src/base-model/attribute.mjs","webpack://wooftech/./node_modules/@kaspernj/api-maker/src/attribute-not-loaded-error.mjs","webpack://wooftech/./node_modules/@kaspernj/api-maker/src/cache-key-generator.mjs","webpack://wooftech/./node_modules/@kaspernj/api-maker/src/model-name.mjs","webpack://wooftech/./node_modules/@kaspernj/api-maker/src/not-loaded-error.mjs","webpack://wooftech/./node_modules/@kaspernj/api-maker/src/base-model/reflection.mjs","webpack://wooftech/./node_modules/@kaspernj/api-maker/src/base-model/scope.mjs","webpack://wooftech/./node_modules/@kaspernj/api-maker/src/base-model.mjs","webpack://wooftech/./node_modules/@kaspernj/api-maker/src/model-recipes-model-loader.mjs","webpack://wooftech/./node_modules/@kaspernj/api-maker/src/model-recipes-loader.mjs","webpack://wooftech/./node_modules/@kaspernj/api-maker/src/preloaded.mjs","webpack://wooftech/./node_modules/@kaspernj/api-maker/src/models-response-reader.mjs","webpack://wooftech/./node_modules/@kaspernj/api-maker/src/result.mjs","webpack://wooftech/./node_modules/@kaspernj/api-maker/src/routes-native.mjs","webpack://wooftech/./node_modules/@kaspernj/api-maker/src/run-last.mjs","webpack://wooftech/./node_modules/@kaspernj/api-maker/src/services.mjs","webpack://wooftech/./node_modules/@kaspernj/api-maker/src/session-status-updater.mjs","webpack://wooftech/./node_modules/@kaspernj/api-maker/src/url-encode.mjs","webpack://wooftech/./node_modules/@kaspernj/api-maker/src/use-event-emitter.mjs","webpack://wooftech/./node_modules/@kaspernj/api-maker/src/use-event-listener.mjs","webpack://wooftech/./node_modules/@kaspernj/api-maker/src/validation-error.mjs","webpack://wooftech/./node_modules/@kaspernj/api-maker/src/validation-errors.mjs","webpack://wooftech/./node_modules/on-location-changed/src/on-location-changed-callback.js","webpack://wooftech/./node_modules/on-location-changed/src/callbacks-handler.js","webpack://wooftech/./node_modules/on-location-changed/src/on-location-changed.js","webpack://wooftech/./node_modules/on-location-changed/src/use-path.js","webpack://wooftech/./node_modules/set-state-compare/src/memo-compare-props.js","webpack://wooftech/./node_modules/set-state-compare/src/memo.js","webpack://wooftech/./node_modules/set-state-compare/src/shape-component.js","webpack://wooftech/./node_modules/set-state-compare/src/shared.js","webpack://wooftech/./node_modules/diggerize/index.mjs","webpack://wooftech/./node_modules/escape-string-regexp/index.js","webpack://wooftech/./node_modules/fetching-object/index.mjs","webpack://wooftech/./node_modules/i18n-on-steroids/src/error-handlers/raiser.mjs","webpack://wooftech/./node_modules/i18n-on-steroids/index.mjs","webpack://wooftech/./node_modules/i18n-on-steroids/src/error-handlers/raise-in-background.mjs","webpack://wooftech/./node_modules/i18n-on-steroids/src/events.mjs","webpack://wooftech/./node_modules/i18n-on-steroids/src/use-i18n.mjs","webpack://wooftech/./node_modules/i18n-on-steroids/src/use-locale.mjs","webpack://wooftech/./node_modules/incorporator/index.mjs","webpack://wooftech/./node_modules/parent-element/index.mjs","webpack://wooftech/./node_modules/uuid/dist/esm-browser/native.js","webpack://wooftech/./node_modules/uuid/dist/esm-browser/rng.js","webpack://wooftech/./node_modules/uuid/dist/esm-browser/stringify.js","webpack://wooftech/./node_modules/uuid/dist/esm-browser/v4.js"],"sourcesContent":["var adapters = {\n logger: typeof console !== \"undefined\" ? console : undefined,\n WebSocket: typeof WebSocket !== \"undefined\" ? WebSocket : undefined\n};\n\nvar logger = {\n log(...messages) {\n if (this.enabled) {\n messages.push(Date.now());\n adapters.logger.log(\"[ActionCable]\", ...messages);\n }\n }\n};\n\nconst now = () => (new Date).getTime();\n\nconst secondsSince = time => (now() - time) / 1e3;\n\nclass ConnectionMonitor {\n constructor(connection) {\n this.visibilityDidChange = this.visibilityDidChange.bind(this);\n this.connection = connection;\n this.reconnectAttempts = 0;\n }\n start() {\n if (!this.isRunning()) {\n this.startedAt = now();\n delete this.stoppedAt;\n this.startPolling();\n addEventListener(\"visibilitychange\", this.visibilityDidChange);\n logger.log(`ConnectionMonitor started. stale threshold = ${this.constructor.staleThreshold} s`);\n }\n }\n stop() {\n if (this.isRunning()) {\n this.stoppedAt = now();\n this.stopPolling();\n removeEventListener(\"visibilitychange\", this.visibilityDidChange);\n logger.log(\"ConnectionMonitor stopped\");\n }\n }\n isRunning() {\n return this.startedAt && !this.stoppedAt;\n }\n recordMessage() {\n this.pingedAt = now();\n }\n recordConnect() {\n this.reconnectAttempts = 0;\n delete this.disconnectedAt;\n logger.log(\"ConnectionMonitor recorded connect\");\n }\n recordDisconnect() {\n this.disconnectedAt = now();\n logger.log(\"ConnectionMonitor recorded disconnect\");\n }\n startPolling() {\n this.stopPolling();\n this.poll();\n }\n stopPolling() {\n clearTimeout(this.pollTimeout);\n }\n poll() {\n this.pollTimeout = setTimeout((() => {\n this.reconnectIfStale();\n this.poll();\n }), this.getPollInterval());\n }\n getPollInterval() {\n const {staleThreshold: staleThreshold, reconnectionBackoffRate: reconnectionBackoffRate} = this.constructor;\n const backoff = Math.pow(1 + reconnectionBackoffRate, Math.min(this.reconnectAttempts, 10));\n const jitterMax = this.reconnectAttempts === 0 ? 1 : reconnectionBackoffRate;\n const jitter = jitterMax * Math.random();\n return staleThreshold * 1e3 * backoff * (1 + jitter);\n }\n reconnectIfStale() {\n if (this.connectionIsStale()) {\n logger.log(`ConnectionMonitor detected stale connection. reconnectAttempts = ${this.reconnectAttempts}, time stale = ${secondsSince(this.refreshedAt)} s, stale threshold = ${this.constructor.staleThreshold} s`);\n this.reconnectAttempts++;\n if (this.disconnectedRecently()) {\n logger.log(`ConnectionMonitor skipping reopening recent disconnect. time disconnected = ${secondsSince(this.disconnectedAt)} s`);\n } else {\n logger.log(\"ConnectionMonitor reopening\");\n this.connection.reopen();\n }\n }\n }\n get refreshedAt() {\n return this.pingedAt ? this.pingedAt : this.startedAt;\n }\n connectionIsStale() {\n return secondsSince(this.refreshedAt) > this.constructor.staleThreshold;\n }\n disconnectedRecently() {\n return this.disconnectedAt && secondsSince(this.disconnectedAt) < this.constructor.staleThreshold;\n }\n visibilityDidChange() {\n if (document.visibilityState === \"visible\") {\n setTimeout((() => {\n if (this.connectionIsStale() || !this.connection.isOpen()) {\n logger.log(`ConnectionMonitor reopening stale connection on visibilitychange. visibilityState = ${document.visibilityState}`);\n this.connection.reopen();\n }\n }), 200);\n }\n }\n}\n\nConnectionMonitor.staleThreshold = 6;\n\nConnectionMonitor.reconnectionBackoffRate = .15;\n\nvar INTERNAL = {\n message_types: {\n welcome: \"welcome\",\n disconnect: \"disconnect\",\n ping: \"ping\",\n confirmation: \"confirm_subscription\",\n rejection: \"reject_subscription\"\n },\n disconnect_reasons: {\n unauthorized: \"unauthorized\",\n invalid_request: \"invalid_request\",\n server_restart: \"server_restart\",\n remote: \"remote\"\n },\n default_mount_path: \"/cable\",\n protocols: [ \"actioncable-v1-json\", \"actioncable-unsupported\" ]\n};\n\nconst {message_types: message_types, protocols: protocols} = INTERNAL;\n\nconst supportedProtocols = protocols.slice(0, protocols.length - 1);\n\nconst indexOf = [].indexOf;\n\nclass Connection {\n constructor(consumer) {\n this.open = this.open.bind(this);\n this.consumer = consumer;\n this.subscriptions = this.consumer.subscriptions;\n this.monitor = new ConnectionMonitor(this);\n this.disconnected = true;\n }\n send(data) {\n if (this.isOpen()) {\n this.webSocket.send(JSON.stringify(data));\n return true;\n } else {\n return false;\n }\n }\n open() {\n if (this.isActive()) {\n logger.log(`Attempted to open WebSocket, but existing socket is ${this.getState()}`);\n return false;\n } else {\n const socketProtocols = [ ...protocols, ...this.consumer.subprotocols || [] ];\n logger.log(`Opening WebSocket, current state is ${this.getState()}, subprotocols: ${socketProtocols}`);\n if (this.webSocket) {\n this.uninstallEventHandlers();\n }\n this.webSocket = new adapters.WebSocket(this.consumer.url, socketProtocols);\n this.installEventHandlers();\n this.monitor.start();\n return true;\n }\n }\n close({allowReconnect: allowReconnect} = {\n allowReconnect: true\n }) {\n if (!allowReconnect) {\n this.monitor.stop();\n }\n if (this.isOpen()) {\n return this.webSocket.close();\n }\n }\n reopen() {\n logger.log(`Reopening WebSocket, current state is ${this.getState()}`);\n if (this.isActive()) {\n try {\n return this.close();\n } catch (error) {\n logger.log(\"Failed to reopen WebSocket\", error);\n } finally {\n logger.log(`Reopening WebSocket in ${this.constructor.reopenDelay}ms`);\n setTimeout(this.open, this.constructor.reopenDelay);\n }\n } else {\n return this.open();\n }\n }\n getProtocol() {\n if (this.webSocket) {\n return this.webSocket.protocol;\n }\n }\n isOpen() {\n return this.isState(\"open\");\n }\n isActive() {\n return this.isState(\"open\", \"connecting\");\n }\n triedToReconnect() {\n return this.monitor.reconnectAttempts > 0;\n }\n isProtocolSupported() {\n return indexOf.call(supportedProtocols, this.getProtocol()) >= 0;\n }\n isState(...states) {\n return indexOf.call(states, this.getState()) >= 0;\n }\n getState() {\n if (this.webSocket) {\n for (let state in adapters.WebSocket) {\n if (adapters.WebSocket[state] === this.webSocket.readyState) {\n return state.toLowerCase();\n }\n }\n }\n return null;\n }\n installEventHandlers() {\n for (let eventName in this.events) {\n const handler = this.events[eventName].bind(this);\n this.webSocket[`on${eventName}`] = handler;\n }\n }\n uninstallEventHandlers() {\n for (let eventName in this.events) {\n this.webSocket[`on${eventName}`] = function() {};\n }\n }\n}\n\nConnection.reopenDelay = 500;\n\nConnection.prototype.events = {\n message(event) {\n if (!this.isProtocolSupported()) {\n return;\n }\n const {identifier: identifier, message: message, reason: reason, reconnect: reconnect, type: type} = JSON.parse(event.data);\n this.monitor.recordMessage();\n switch (type) {\n case message_types.welcome:\n if (this.triedToReconnect()) {\n this.reconnectAttempted = true;\n }\n this.monitor.recordConnect();\n return this.subscriptions.reload();\n\n case message_types.disconnect:\n logger.log(`Disconnecting. Reason: ${reason}`);\n return this.close({\n allowReconnect: reconnect\n });\n\n case message_types.ping:\n return null;\n\n case message_types.confirmation:\n this.subscriptions.confirmSubscription(identifier);\n if (this.reconnectAttempted) {\n this.reconnectAttempted = false;\n return this.subscriptions.notify(identifier, \"connected\", {\n reconnected: true\n });\n } else {\n return this.subscriptions.notify(identifier, \"connected\", {\n reconnected: false\n });\n }\n\n case message_types.rejection:\n return this.subscriptions.reject(identifier);\n\n default:\n return this.subscriptions.notify(identifier, \"received\", message);\n }\n },\n open() {\n logger.log(`WebSocket onopen event, using '${this.getProtocol()}' subprotocol`);\n this.disconnected = false;\n if (!this.isProtocolSupported()) {\n logger.log(\"Protocol is unsupported. Stopping monitor and disconnecting.\");\n return this.close({\n allowReconnect: false\n });\n }\n },\n close(event) {\n logger.log(\"WebSocket onclose event\");\n if (this.disconnected) {\n return;\n }\n this.disconnected = true;\n this.monitor.recordDisconnect();\n return this.subscriptions.notifyAll(\"disconnected\", {\n willAttemptReconnect: this.monitor.isRunning()\n });\n },\n error() {\n logger.log(\"WebSocket onerror event\");\n }\n};\n\nconst extend = function(object, properties) {\n if (properties != null) {\n for (let key in properties) {\n const value = properties[key];\n object[key] = value;\n }\n }\n return object;\n};\n\nclass Subscription {\n constructor(consumer, params = {}, mixin) {\n this.consumer = consumer;\n this.identifier = JSON.stringify(params);\n extend(this, mixin);\n }\n perform(action, data = {}) {\n data.action = action;\n return this.send(data);\n }\n send(data) {\n return this.consumer.send({\n command: \"message\",\n identifier: this.identifier,\n data: JSON.stringify(data)\n });\n }\n unsubscribe() {\n return this.consumer.subscriptions.remove(this);\n }\n}\n\nclass SubscriptionGuarantor {\n constructor(subscriptions) {\n this.subscriptions = subscriptions;\n this.pendingSubscriptions = [];\n }\n guarantee(subscription) {\n if (this.pendingSubscriptions.indexOf(subscription) == -1) {\n logger.log(`SubscriptionGuarantor guaranteeing ${subscription.identifier}`);\n this.pendingSubscriptions.push(subscription);\n } else {\n logger.log(`SubscriptionGuarantor already guaranteeing ${subscription.identifier}`);\n }\n this.startGuaranteeing();\n }\n forget(subscription) {\n logger.log(`SubscriptionGuarantor forgetting ${subscription.identifier}`);\n this.pendingSubscriptions = this.pendingSubscriptions.filter((s => s !== subscription));\n }\n startGuaranteeing() {\n this.stopGuaranteeing();\n this.retrySubscribing();\n }\n stopGuaranteeing() {\n clearTimeout(this.retryTimeout);\n }\n retrySubscribing() {\n this.retryTimeout = setTimeout((() => {\n if (this.subscriptions && typeof this.subscriptions.subscribe === \"function\") {\n this.pendingSubscriptions.map((subscription => {\n logger.log(`SubscriptionGuarantor resubscribing ${subscription.identifier}`);\n this.subscriptions.subscribe(subscription);\n }));\n }\n }), 500);\n }\n}\n\nclass Subscriptions {\n constructor(consumer) {\n this.consumer = consumer;\n this.guarantor = new SubscriptionGuarantor(this);\n this.subscriptions = [];\n }\n create(channelName, mixin) {\n const channel = channelName;\n const params = typeof channel === \"object\" ? channel : {\n channel: channel\n };\n const subscription = new Subscription(this.consumer, params, mixin);\n return this.add(subscription);\n }\n add(subscription) {\n this.subscriptions.push(subscription);\n this.consumer.ensureActiveConnection();\n this.notify(subscription, \"initialized\");\n this.subscribe(subscription);\n return subscription;\n }\n remove(subscription) {\n this.forget(subscription);\n if (!this.findAll(subscription.identifier).length) {\n this.sendCommand(subscription, \"unsubscribe\");\n }\n return subscription;\n }\n reject(identifier) {\n return this.findAll(identifier).map((subscription => {\n this.forget(subscription);\n this.notify(subscription, \"rejected\");\n return subscription;\n }));\n }\n forget(subscription) {\n this.guarantor.forget(subscription);\n this.subscriptions = this.subscriptions.filter((s => s !== subscription));\n return subscription;\n }\n findAll(identifier) {\n return this.subscriptions.filter((s => s.identifier === identifier));\n }\n reload() {\n return this.subscriptions.map((subscription => this.subscribe(subscription)));\n }\n notifyAll(callbackName, ...args) {\n return this.subscriptions.map((subscription => this.notify(subscription, callbackName, ...args)));\n }\n notify(subscription, callbackName, ...args) {\n let subscriptions;\n if (typeof subscription === \"string\") {\n subscriptions = this.findAll(subscription);\n } else {\n subscriptions = [ subscription ];\n }\n return subscriptions.map((subscription => typeof subscription[callbackName] === \"function\" ? subscription[callbackName](...args) : undefined));\n }\n subscribe(subscription) {\n if (this.sendCommand(subscription, \"subscribe\")) {\n this.guarantor.guarantee(subscription);\n }\n }\n confirmSubscription(identifier) {\n logger.log(`Subscription confirmed ${identifier}`);\n this.findAll(identifier).map((subscription => this.guarantor.forget(subscription)));\n }\n sendCommand(subscription, command) {\n const {identifier: identifier} = subscription;\n return this.consumer.send({\n command: command,\n identifier: identifier\n });\n }\n}\n\nclass Consumer {\n constructor(url) {\n this._url = url;\n this.subscriptions = new Subscriptions(this);\n this.connection = new Connection(this);\n this.subprotocols = [];\n }\n get url() {\n return createWebSocketURL(this._url);\n }\n send(data) {\n return this.connection.send(data);\n }\n connect() {\n return this.connection.open();\n }\n disconnect() {\n return this.connection.close({\n allowReconnect: false\n });\n }\n ensureActiveConnection() {\n if (!this.connection.isActive()) {\n return this.connection.open();\n }\n }\n addSubProtocol(subprotocol) {\n this.subprotocols = [ ...this.subprotocols, subprotocol ];\n }\n}\n\nfunction createWebSocketURL(url) {\n if (typeof url === \"function\") {\n url = url();\n }\n if (url && !/^wss?:/i.test(url)) {\n const a = document.createElement(\"a\");\n a.href = url;\n a.href = a.href;\n a.protocol = a.protocol.replace(\"http\", \"ws\");\n return a.href;\n } else {\n return url;\n }\n}\n\nfunction createConsumer(url = getConfig(\"url\") || INTERNAL.default_mount_path) {\n return new Consumer(url);\n}\n\nfunction getConfig(name) {\n const element = document.head.querySelector(`meta[name='action-cable-${name}']`);\n if (element) {\n return element.getAttribute(\"content\");\n }\n}\n\nexport { Connection, ConnectionMonitor, Consumer, INTERNAL, Subscription, SubscriptionGuarantor, Subscriptions, adapters, createConsumer, createWebSocketURL, getConfig, logger };\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 fetchingObject from \"fetching-object\"\nimport {ShapeComponent} from \"set-state-compare/src/shape-component\"\n\nexport default class BaseComponent extends ShapeComponent {\n p = fetchingObject(() => this.props)\n s = fetchingObject(() => this.shape || this.state)\n tt = fetchingObject(this)\n}\n","import config from \"./config.mjs\"\nimport escapeStringRegexp from \"escape-string-regexp\"\nimport * as inflection from \"inflection\"\nimport PropTypes from \"prop-types\"\nimport {useCallback, useMemo} from \"react\"\nimport useShape from \"set-state-compare/src/use-shape.js\"\n\nconst useRouter = (props) => {\n const s = useShape(props)\n\n const findRouteParams = useCallback((routeDefinition) => {\n const result = []\n const parts = routeDefinition.path.split(\"/\")\n\n for (const part of parts) {\n if (part.match(/^:([a-z_]+)$/))\n result.push(part)\n }\n\n return result\n }, [])\n\n const getPath = useCallback(() => {\n let path = s.p.path || window.location.pathname\n\n path = path.replace(/[/]+$/, \"\")\n\n return path\n }, [])\n\n const getRouteDefinitions = useCallback(() => s.p.routeDefinitions || config.getRouteDefinitions(), [])\n const getRoutes = useCallback(() => s.p.routes || config.getRoutes(), [])\n\n const parseRouteDefinitions = useCallback(() => {\n const Locales = require(\"shared/locales\").default\n const routeDefinitions = getRouteDefinitions()\n const routes = getRoutes()\n const regex = /:([A-z\\d_]+)/\n const parsedRouteDefinitions = []\n\n for (const locale of Locales.availableLocales()) {\n for (const routeDefinition of routeDefinitions.routes) {\n const routePathName = `${inflection.camelize(routeDefinition.name, true)}Path`\n const params = findRouteParams(routeDefinition)\n\n params.push({locale})\n\n if (!(routePathName in routes))\n throw new Error(`${routePathName} not found in routes: ${Object.keys(routes, \", \")}`)\n\n const routePath = routes[routePathName](...params).replace(/[/]+$/, \"\")\n const groups = []\n let pathRegexString = \"^\"\n\n pathRegexString += escapeStringRegexp(routePath)\n\n while (true) {\n const match = pathRegexString.match(regex)\n\n if (!match) break\n\n const variableName = match[1]\n\n groups.push(variableName)\n\n pathRegexString = pathRegexString.replace(match[0], \"([^/]+)\")\n }\n\n pathRegexString += \"$\"\n\n const pathRegex = new RegExp(pathRegexString)\n\n parsedRouteDefinitions.push({groups, pathRegex, routeDefinition})\n }\n }\n\n return parsedRouteDefinitions\n }, [])\n\n const parsedRouteDefinitions = useMemo(() => parseRouteDefinitions(), [])\n\n s.updateMeta({parsedRouteDefinitions})\n\n const findMatchingRoute = useCallback(() => {\n const path = getPath()\n\n for (const parsedRouteDefinition of s.m.parsedRouteDefinitions) {\n const match = path.match(parsedRouteDefinition.pathRegex)\n let matched, params\n\n if (match) {\n matched = true\n params = {}\n\n for (const groupKey in parsedRouteDefinition.groups) {\n const groupName = parsedRouteDefinition.groups[groupKey]\n\n params[groupName] = match[Number(groupKey) + 1]\n }\n }\n\n if (path == \"\" && parsedRouteDefinition.routeDefinition.path == \"/\") matched = true\n if (matched) {\n return {params, parsedRouteDefinition}\n }\n }\n }, [])\n\n const matchingRoute = findMatchingRoute()\n const params = matchingRoute?.params || {}\n const match = {\n matchingRoute,\n params\n }\n\n return {match}\n}\n\nuseRouter.propTypes = {\n path: PropTypes.string,\n routeDefinitions: PropTypes.object,\n routes: PropTypes.object\n}\n\nexport default useRouter\n","import BaseComponent from \"./base-component\"\nimport PropTypes from \"prop-types\"\nimport propTypesExact from \"prop-types-exact\"\nimport React, {memo} from \"react\"\nimport {shapeComponent} from \"set-state-compare/src/shape-component.js\"\nimport {Suspense} from \"react\"\nimport useRouter from \"./use-router\"\n\nexport default memo(shapeComponent(class ApiMakerRouter extends BaseComponent {\n static propTypes = propTypesExact({\n history: PropTypes.object,\n notFoundComponent: PropTypes.elementType,\n path: PropTypes.string,\n requireComponent: PropTypes.func.isRequired,\n routeDefinitions: PropTypes.object,\n routes: PropTypes.object\n })\n\n render() {\n const {notFoundComponent, path, requireComponent, routeDefinitions, routes} = this.props\n const {match} = useRouter({path, routes, routeDefinitions})\n const {matchingRoute} = match\n\n if (!matchingRoute) {\n if (notFoundComponent) {\n const NotFoundComponent = notFoundComponent\n\n return (\n }>\n \n \n )\n } else {\n return null\n }\n }\n\n const Component = requireComponent({routeDefinition: matchingRoute.parsedRouteDefinition.routeDefinition})\n\n return (\n }>\n \n \n )\n }\n}))\n","import {Pressable, Text, View} from \"react-native\"\nimport {memo} from \"react\"\nimport PropTypes from \"prop-types\"\nimport PropTypesExact from \"prop-types-exact\"\nimport {shapeComponent, ShapeComponent} from \"set-state-compare/src/shape-component.js\"\n\nexport default memo(shapeComponent(class NotificationsNotification extends ShapeComponent {\n static propTypes = PropTypesExact({\n className: PropTypes.string,\n message: PropTypes.string.isRequired,\n notification: PropTypes.object.isRequired,\n onRemovedClicked: PropTypes.func.isRequired,\n title: PropTypes.string.isRequired,\n type: PropTypes.string.isRequired\n })\n\n render() {\n const {className, message, title, type} = this.props\n\n const style = {\n width: 300,\n maxWidth: \"100%\",\n marginBottom: 15,\n padding: 15,\n borderRadius: 11,\n cursor: \"pointer\"\n }\n\n if (type == \"error\") {\n style.border = \"1px solid rgba(161 34 32 / 95%)\"\n style.background = \"rgba(161 34 32 / 87%)\"\n }\n\n if (type == \"success\") {\n style.border = \"1px solid rgba(0 0 0 / 95%)\"\n style.background = \"rgba(0 0 0 / 87%)\"\n }\n\n\n if (type == \"alert\") {\n style.border = \"1px solid rgba(204 51 0 / 95%)\"\n style.background = \"rgba(204 51 0 / 87%)\"\n }\n\n return (\n \n \n \n \n {title}\n \n \n \n \n {message}\n \n \n \n \n )\n }\n\n onRemovedClicked = () => {\n this.props.onRemovedClicked(this.props.notification)\n }\n}))\n","import {memo} from \"react\"\nimport {digg} from \"diggerize\"\nimport Notification from \"./notification\"\nimport {shapeComponent, ShapeComponent} from \"set-state-compare/src/shape-component.js\"\nimport useEventListener from \"@kaspernj/api-maker/src/use-event-listener\"\nimport {View} from \"react-native\"\n\nexport default memo(shapeComponent(class FlashNotificationsContainer extends ShapeComponent {\n setup() {\n this.useStates({\n count: 0,\n notifications: []\n })\n\n useEventListener(window, \"pushNotification\", this.onPushNotification)\n }\n\n render() {\n return (\n \n {this.state.notifications.map((notification) =>\n \n )}\n \n )\n }\n\n onPushNotification = (event) => {\n const detail = digg(event, \"detail\")\n const count = this.state.count + 1\n\n setTimeout(() => this.removeNotification(count), 4000)\n\n const notification = {\n count,\n message: digg(detail, \"message\"),\n title: digg(detail, \"title\"),\n type: digg(detail, \"type\")\n }\n\n this.setState({count, notifications: this.state.notifications.concat([notification])})\n }\n\n onRemovedClicked = (notification) => this.removeNotification(digg(notification, \"count\"))\n\n removeNotification = (count) => {\n this.setState({\n notifications: this.state.notifications.filter((notification) => notification.count != count)\n })\n }\n}))\n","class HayaSelectConfiguration {\n getBodyPortal() {\n if (!this._bodyPortal) throw new Error(\"bodyPortal wasn't set\")\n\n return this._bodyPortal\n }\n\n setBodyPortal(newBodyPortal) {\n this._bodyPortal = newBodyPortal\n }\n}\n\nconst configuration = new HayaSelectConfiguration()\n\nexport default configuration\n","/**\n * FontAwesome icon set component.\n * Usage: \n */\n\nimport createIconSet from './lib/create-icon-set';\nimport glyphMap from './glyphmaps/FontAwesome.json';\n\nconst iconSet = createIconSet(glyphMap, 'FontAwesome', 'FontAwesome.ttf');\n\nexport default iconSet;\nexport const {\n Button,\n getImageSource,\n getImageSourceSync,\n} = iconSet;\n","// @flow\n\nexport default {};\n","import NativeIconAPI from './NativeRNVectorIcons';\n\nexport default function ensureNativeModuleAvailable() {\n if (!NativeIconAPI) {\n throw new Error(\n 'The native RNVectorIcons API is not available, did you properly integrate the module? Please verify your autolinking setup and recompile.'\n );\n }\n}\n","const TYPE_VALUE = 'value';\nconst TYPE_ERROR = 'error';\n\nexport default function createIconSourceCache() {\n const cache = new Map();\n\n const setValue = (key, value) =>\n cache.set(key, { type: TYPE_VALUE, data: value });\n\n const setError = (key, error) =>\n cache.set(key, { type: TYPE_ERROR, data: error });\n\n const has = key => cache.has(key);\n\n const get = key => {\n if (!cache.has(key)) {\n return undefined;\n }\n const { type, data } = cache.get(key);\n if (type === TYPE_ERROR) {\n throw data;\n }\n return data;\n };\n\n return { setValue, setError, has, get };\n}\n","import React, { PureComponent } from 'react';\nimport PropTypes from 'prop-types';\nimport { StyleSheet, Text, TouchableHighlight, View } from 'react-native';\nimport { pick, omit } from './object-utils';\n\nconst styles = StyleSheet.create({\n container: {\n flexDirection: 'row',\n justifyContent: 'flex-start',\n alignItems: 'center',\n padding: 8,\n },\n touchable: {\n overflow: 'hidden',\n },\n icon: {\n marginRight: 10,\n },\n text: {\n fontWeight: '600',\n backgroundColor: 'transparent',\n },\n});\n\nconst IOS7_BLUE = '#007AFF';\n\nconst TEXT_PROP_NAMES = [\n 'ellipsizeMode',\n 'numberOfLines',\n 'textBreakStrategy',\n 'selectable',\n 'suppressHighlighting',\n 'allowFontScaling',\n 'adjustsFontSizeToFit',\n 'minimumFontScale',\n];\n\nconst TOUCHABLE_PROP_NAMES = [\n 'accessible',\n 'accessibilityLabel',\n 'accessibilityHint',\n 'accessibilityComponentType',\n 'accessibilityRole',\n 'accessibilityStates',\n 'accessibilityTraits',\n 'onFocus',\n 'onBlur',\n 'disabled',\n 'onPress',\n 'onPressIn',\n 'onPressOut',\n 'onLayout',\n 'onLongPress',\n 'nativeID',\n 'testID',\n 'delayPressIn',\n 'delayPressOut',\n 'delayLongPress',\n 'activeOpacity',\n 'underlayColor',\n 'selectionColor',\n 'onShowUnderlay',\n 'onHideUnderlay',\n 'hasTVPreferredFocus',\n 'tvParallaxProperties',\n];\n\nexport default function createIconButtonComponent(Icon) {\n return class IconButton extends PureComponent {\n static propTypes = {\n backgroundColor: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.number,\n ]),\n borderRadius: PropTypes.number,\n color: PropTypes.any, // eslint-disable-line react/forbid-prop-types\n size: PropTypes.number,\n iconStyle: PropTypes.any, // eslint-disable-line react/forbid-prop-types\n style: PropTypes.any, // eslint-disable-line react/forbid-prop-types\n children: PropTypes.node,\n };\n\n static defaultProps = {\n backgroundColor: IOS7_BLUE,\n borderRadius: 5,\n color: 'white',\n size: 20,\n };\n\n render() {\n const { style, iconStyle, children, ...restProps } = this.props;\n\n const iconProps = pick(\n restProps,\n TEXT_PROP_NAMES,\n 'style',\n 'name',\n 'size',\n 'color'\n );\n const touchableProps = pick(restProps, TOUCHABLE_PROP_NAMES);\n const props = omit(\n restProps,\n Object.keys(iconProps),\n Object.keys(touchableProps),\n 'iconStyle',\n 'borderRadius',\n 'backgroundColor'\n );\n iconProps.style = iconStyle ? [styles.icon, iconStyle] : styles.icon;\n\n const colorStyle = pick(this.props, 'color');\n const blockStyle = pick(this.props, 'backgroundColor', 'borderRadius');\n\n return (\n \n \n \n {typeof children === 'string' ? (\n \n {children}\n \n ) : (\n children\n )}\n \n \n );\n }\n };\n}\n","import React, { PureComponent } from 'react';\nimport PropTypes from 'prop-types';\nimport { Platform, PixelRatio, processColor, Text } from 'react-native';\n\nimport ensureNativeModuleAvailable from './ensure-native-module-available';\nimport createIconSourceCache from './create-icon-source-cache';\nimport createIconButtonComponent from './icon-button';\nimport NativeIconAPI from './NativeRNVectorIcons';\n\nexport const DEFAULT_ICON_SIZE = 12;\nexport const DEFAULT_ICON_COLOR = 'black';\n\nexport default function createIconSet(\n glyphMap,\n fontFamily,\n fontFile,\n fontStyle\n) {\n // Android doesn't care about actual fontFamily name, it will only look in fonts folder.\n const fontBasename = fontFile\n ? fontFile.replace(/\\.(otf|ttf)$/, '')\n : fontFamily;\n\n const fontReference = Platform.select({\n windows: `/Assets/${fontFile}#${fontFamily}`,\n android: fontBasename,\n web: fontBasename,\n default: fontFamily,\n });\n\n const IconNamePropType = PropTypes.oneOf(Object.keys(glyphMap));\n\n class Icon extends PureComponent {\n static propTypes = {\n allowFontScaling: PropTypes.bool,\n name: IconNamePropType,\n size: PropTypes.number,\n color: PropTypes.any, // eslint-disable-line react/forbid-prop-types\n children: PropTypes.node,\n style: PropTypes.any, // eslint-disable-line react/forbid-prop-types\n };\n\n static defaultProps = {\n size: DEFAULT_ICON_SIZE,\n allowFontScaling: false,\n };\n\n render() {\n const { name, size, color, style, children, ...props } = this.props;\n\n let glyph = name ? glyphMap[name] || '?' : '';\n if (typeof glyph === 'number') {\n glyph = String.fromCodePoint(glyph);\n }\n\n const styleDefaults = {\n fontSize: size,\n color,\n };\n\n const styleOverrides = {\n fontFamily: fontReference,\n fontWeight: 'normal',\n fontStyle: 'normal',\n };\n\n props.style = [styleDefaults, style, styleOverrides, fontStyle || {}];\n\n return (\n \n {glyph}\n {children}\n \n );\n }\n }\n\n const imageSourceCache = createIconSourceCache();\n\n function resolveGlyph(name) {\n const glyph = glyphMap[name] || '?';\n if (typeof glyph === 'number') {\n return String.fromCodePoint(glyph);\n }\n return glyph;\n }\n\n function getImageSourceSync(\n name,\n size = DEFAULT_ICON_SIZE,\n color = DEFAULT_ICON_COLOR\n ) {\n ensureNativeModuleAvailable();\n\n const glyph = resolveGlyph(name);\n const processedColor = processColor(color);\n const cacheKey = `${glyph}:${size}:${processedColor}`;\n\n if (imageSourceCache.has(cacheKey)) {\n return imageSourceCache.get(cacheKey);\n }\n try {\n const imagePath = NativeIconAPI.getImageForFontSync(\n fontReference,\n glyph,\n size,\n processedColor\n );\n const value = { uri: imagePath, scale: PixelRatio.get() };\n imageSourceCache.setValue(cacheKey, value);\n return value;\n } catch (error) {\n imageSourceCache.setError(cacheKey, error);\n throw error;\n }\n }\n\n async function getImageSource(\n name,\n size = DEFAULT_ICON_SIZE,\n color = DEFAULT_ICON_COLOR\n ) {\n ensureNativeModuleAvailable();\n\n const glyph = resolveGlyph(name);\n const processedColor = processColor(color);\n const cacheKey = `${glyph}:${size}:${processedColor}`;\n\n if (imageSourceCache.has(cacheKey)) {\n return imageSourceCache.get(cacheKey);\n }\n try {\n const imagePath = await NativeIconAPI.getImageForFont(\n fontReference,\n glyph,\n size,\n processedColor\n );\n const value = { uri: imagePath, scale: PixelRatio.get() };\n imageSourceCache.setValue(cacheKey, value);\n return value;\n } catch (error) {\n imageSourceCache.setError(cacheKey, error);\n throw error;\n }\n }\n\n async function loadFont(file = fontFile) {\n if (Platform.OS === 'ios') {\n ensureNativeModuleAvailable();\n if (!file) {\n throw new Error('Unable to load font, because no file was specified. ');\n }\n await NativeIconAPI.loadFontWithFileName(...file.split('.'));\n }\n }\n\n function hasIcon(name) {\n return Object.prototype.hasOwnProperty.call(glyphMap, name);\n }\n\n function getRawGlyphMap() {\n return glyphMap;\n }\n\n function getFontFamily() {\n return fontReference;\n }\n\n Icon.Button = createIconButtonComponent(Icon);\n Icon.getImageSource = getImageSource;\n Icon.getImageSourceSync = getImageSourceSync;\n Icon.loadFont = loadFont;\n Icon.hasIcon = hasIcon;\n Icon.getRawGlyphMap = getRawGlyphMap;\n Icon.getFontFamily = getFontFamily;\n\n return Icon;\n}\n","const pick = (obj, ...keys) =>\n keys\n .flat()\n .filter(key => Object.prototype.hasOwnProperty.call(obj, key))\n .reduce((acc, key) => {\n acc[key] = obj[key];\n return acc;\n }, {});\n\nconst omit = (obj, ...keysToOmit) => {\n const keysToOmitSet = new Set(keysToOmit.flat());\n return Object.getOwnPropertyNames(obj)\n .filter(key => !keysToOmitSet.has(key))\n .reduce((acc, key) => {\n acc[key] = obj[key];\n return acc;\n }, {});\n};\n\nmodule.exports = { pick, omit };\n","'use strict';\n\nvar GetIntrinsic = require('get-intrinsic');\n\nvar callBind = require('./');\n\nvar $indexOf = callBind(GetIntrinsic('String.prototype.indexOf'));\n\nmodule.exports = function callBoundIntrinsic(name, allowMissing) {\n\tvar intrinsic = GetIntrinsic(name, !!allowMissing);\n\tif (typeof intrinsic === 'function' && $indexOf(name, '.prototype.') > -1) {\n\t\treturn callBind(intrinsic);\n\t}\n\treturn intrinsic;\n};\n","'use strict';\n\nvar bind = require('function-bind');\nvar GetIntrinsic = require('get-intrinsic');\nvar setFunctionLength = require('set-function-length');\n\nvar $TypeError = require('es-errors/type');\nvar $apply = GetIntrinsic('%Function.prototype.apply%');\nvar $call = GetIntrinsic('%Function.prototype.call%');\nvar $reflectApply = GetIntrinsic('%Reflect.apply%', true) || bind.call($call, $apply);\n\nvar $defineProperty = require('es-define-property');\nvar $max = GetIntrinsic('%Math.max%');\n\nmodule.exports = function callBind(originalFunction) {\n\tif (typeof originalFunction !== 'function') {\n\t\tthrow new $TypeError('a function is required');\n\t}\n\tvar func = $reflectApply(bind, $call, arguments);\n\treturn setFunctionLength(\n\t\tfunc,\n\t\t1 + $max(0, originalFunction.length - (arguments.length - 1)),\n\t\ttrue\n\t);\n};\n\nvar applyBind = function applyBind() {\n\treturn $reflectApply(bind, $apply, arguments);\n};\n\nif ($defineProperty) {\n\t$defineProperty(module.exports, 'apply', { value: applyBind });\n} else {\n\tmodule.exports.apply = applyBind;\n}\n","'use strict';\n\n/* eslint no-invalid-this: 1 */\n\nvar ERROR_MESSAGE = 'Function.prototype.bind called on incompatible ';\nvar toStr = Object.prototype.toString;\nvar max = Math.max;\nvar funcType = '[object Function]';\n\nvar concatty = function concatty(a, b) {\n var arr = [];\n\n for (var i = 0; i < a.length; i += 1) {\n arr[i] = a[i];\n }\n for (var j = 0; j < b.length; j += 1) {\n arr[j + a.length] = b[j];\n }\n\n return arr;\n};\n\nvar slicy = function slicy(arrLike, offset) {\n var arr = [];\n for (var i = offset || 0, j = 0; i < arrLike.length; i += 1, j += 1) {\n arr[j] = arrLike[i];\n }\n return arr;\n};\n\nvar joiny = function (arr, joiner) {\n var str = '';\n for (var i = 0; i < arr.length; i += 1) {\n str += arr[i];\n if (i + 1 < arr.length) {\n str += joiner;\n }\n }\n return str;\n};\n\nmodule.exports = function bind(that) {\n var target = this;\n if (typeof target !== 'function' || toStr.apply(target) !== funcType) {\n throw new TypeError(ERROR_MESSAGE + target);\n }\n var args = slicy(arguments, 1);\n\n var bound;\n var binder = function () {\n if (this instanceof bound) {\n var result = target.apply(\n this,\n concatty(args, arguments)\n );\n if (Object(result) === result) {\n return result;\n }\n return this;\n }\n return target.apply(\n that,\n concatty(args, arguments)\n );\n\n };\n\n var boundLength = max(0, target.length - args.length);\n var boundArgs = [];\n for (var i = 0; i < boundLength; i++) {\n boundArgs[i] = '$' + i;\n }\n\n bound = Function('binder', 'return function (' + joiny(boundArgs, ',') + '){ return binder.apply(this,arguments); }')(binder);\n\n if (target.prototype) {\n var Empty = function Empty() {};\n Empty.prototype = target.prototype;\n bound.prototype = new Empty();\n Empty.prototype = null;\n }\n\n return bound;\n};\n","'use strict';\n\nvar implementation = require('./implementation');\n\nmodule.exports = Function.prototype.bind || implementation;\n","'use strict';\n\n/**\n * Module dependenices\n */\n\nconst clone = require('shallow-clone');\nconst typeOf = require('kind-of');\nconst isPlainObject = require('is-plain-object');\n\nfunction cloneDeep(val, instanceClone) {\n switch (typeOf(val)) {\n case 'object':\n return cloneObjectDeep(val, instanceClone);\n case 'array':\n return cloneArrayDeep(val, instanceClone);\n default: {\n return clone(val);\n }\n }\n}\n\nfunction cloneObjectDeep(val, instanceClone) {\n if (typeof instanceClone === 'function') {\n return instanceClone(val);\n }\n if (instanceClone || isPlainObject(val)) {\n const res = new val.constructor();\n for (let key in val) {\n res[key] = cloneDeep(val[key], instanceClone);\n }\n return res;\n }\n return val;\n}\n\nfunction cloneArrayDeep(val, instanceClone) {\n const res = new val.constructor(val.length);\n for (let i = 0; i < val.length; i++) {\n res[i] = cloneDeep(val[i], instanceClone);\n }\n return res;\n}\n\n/**\n * Expose `cloneDeep`\n */\n\nmodule.exports = cloneDeep;\n","/*!\n * is-plain-object \n *\n * Copyright (c) 2014-2017, Jon Schlinkert.\n * Released under the MIT License.\n */\n\n'use strict';\n\nvar isObject = require('isobject');\n\nfunction isObjectObject(o) {\n return isObject(o) === true\n && Object.prototype.toString.call(o) === '[object Object]';\n}\n\nmodule.exports = function isPlainObject(o) {\n var ctor,prot;\n\n if (isObjectObject(o) === false) return false;\n\n // If has modified constructor\n ctor = o.constructor;\n if (typeof ctor !== 'function') return false;\n\n // If has modified prototype\n prot = ctor.prototype;\n if (isObjectObject(prot) === false) return false;\n\n // If constructor does not have an Object-specific method\n if (prot.hasOwnProperty('isPrototypeOf') === false) {\n return false;\n }\n\n // Most likely a plain Object\n return true;\n};\n","function _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nfunction _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }\n\nfunction _nonIterableSpread() { throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(n); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _iterableToArray(iter) { if (typeof Symbol !== \"undefined\" && Symbol.iterator in Object(iter)) return Array.from(iter); }\n\nfunction _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\nfunction filterUniqueArray(arr) {\n return arr.filter(function (val, index) {\n return arr.lastIndexOf(val) === index;\n });\n}\n\nexport default function assignStyle(base) {\n for (var i = 0, len = arguments.length <= 1 ? 0 : arguments.length - 1; i < len; ++i) {\n var style = i + 1 < 1 || arguments.length <= i + 1 ? undefined : arguments[i + 1];\n\n for (var property in style) {\n var value = style[property];\n var baseValue = base[property];\n\n if (baseValue && value) {\n if (Array.isArray(baseValue)) {\n base[property] = filterUniqueArray(baseValue.concat(value));\n continue;\n }\n\n if (Array.isArray(value)) {\n base[property] = filterUniqueArray([baseValue].concat(_toConsumableArray(value)));\n continue;\n }\n\n if (_typeof(value) === 'object') {\n base[property] = assignStyle({}, baseValue, value);\n continue;\n }\n }\n\n base[property] = value;\n }\n }\n\n return base;\n}","var DASH = /-([a-z])/g;\nvar MS = /^Ms/g;\nvar cache = {};\n\nfunction toUpper(match) {\n return match[1].toUpperCase();\n}\n\nexport default function camelCaseProperty(property) {\n if (cache.hasOwnProperty(property)) {\n return cache[property];\n }\n\n var camelProp = property.replace(DASH, toUpper).replace(MS, 'ms');\n cache[property] = camelProp;\n return camelProp;\n}","import 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\nvar $defineProperty = require('es-define-property');\n\nvar $SyntaxError = require('es-errors/syntax');\nvar $TypeError = require('es-errors/type');\n\nvar gopd = require('gopd');\n\n/** @type {import('.')} */\nmodule.exports = function defineDataProperty(\n\tobj,\n\tproperty,\n\tvalue\n) {\n\tif (!obj || (typeof obj !== 'object' && typeof obj !== 'function')) {\n\t\tthrow new $TypeError('`obj` must be an object or a function`');\n\t}\n\tif (typeof property !== 'string' && typeof property !== 'symbol') {\n\t\tthrow new $TypeError('`property` must be a string or a symbol`');\n\t}\n\tif (arguments.length > 3 && typeof arguments[3] !== 'boolean' && arguments[3] !== null) {\n\t\tthrow new $TypeError('`nonEnumerable`, if provided, must be a boolean or null');\n\t}\n\tif (arguments.length > 4 && typeof arguments[4] !== 'boolean' && arguments[4] !== null) {\n\t\tthrow new $TypeError('`nonWritable`, if provided, must be a boolean or null');\n\t}\n\tif (arguments.length > 5 && typeof arguments[5] !== 'boolean' && arguments[5] !== null) {\n\t\tthrow new $TypeError('`nonConfigurable`, if provided, must be a boolean or null');\n\t}\n\tif (arguments.length > 6 && typeof arguments[6] !== 'boolean') {\n\t\tthrow new $TypeError('`loose`, if provided, must be a boolean');\n\t}\n\n\tvar nonEnumerable = arguments.length > 3 ? arguments[3] : null;\n\tvar nonWritable = arguments.length > 4 ? arguments[4] : null;\n\tvar nonConfigurable = arguments.length > 5 ? arguments[5] : null;\n\tvar loose = arguments.length > 6 ? arguments[6] : false;\n\n\t/* @type {false | TypedPropertyDescriptor} */\n\tvar desc = !!gopd && gopd(obj, property);\n\n\tif ($defineProperty) {\n\t\t$defineProperty(obj, property, {\n\t\t\tconfigurable: nonConfigurable === null && desc ? desc.configurable : !nonConfigurable,\n\t\t\tenumerable: nonEnumerable === null && desc ? desc.enumerable : !nonEnumerable,\n\t\t\tvalue: value,\n\t\t\twritable: nonWritable === null && desc ? desc.writable : !nonWritable\n\t\t});\n\t} else if (loose || (!nonEnumerable && !nonWritable && !nonConfigurable)) {\n\t\t// must fall back to [[Set]], and was not explicitly asked to make non-enumerable, non-writable, or non-configurable\n\t\tobj[property] = value; // eslint-disable-line no-param-reassign\n\t} else {\n\t\tthrow new $SyntaxError('This environment does not support defining a property as non-configurable, non-writable, or non-enumerable.');\n\t}\n};\n","'use strict';\n\nvar keys = require('object-keys');\nvar hasSymbols = typeof Symbol === 'function' && typeof Symbol('foo') === 'symbol';\n\nvar toStr = Object.prototype.toString;\nvar concat = Array.prototype.concat;\nvar defineDataProperty = require('define-data-property');\n\nvar isFunction = function (fn) {\n\treturn typeof fn === 'function' && toStr.call(fn) === '[object Function]';\n};\n\nvar supportsDescriptors = require('has-property-descriptors')();\n\nvar defineProperty = function (object, name, value, predicate) {\n\tif (name in object) {\n\t\tif (predicate === true) {\n\t\t\tif (object[name] === value) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t} else if (!isFunction(predicate) || !predicate()) {\n\t\t\treturn;\n\t\t}\n\t}\n\n\tif (supportsDescriptors) {\n\t\tdefineDataProperty(object, name, value, true);\n\t} else {\n\t\tdefineDataProperty(object, name, value);\n\t}\n};\n\nvar defineProperties = function (object, map) {\n\tvar predicates = arguments.length > 2 ? arguments[2] : {};\n\tvar props = keys(map);\n\tif (hasSymbols) {\n\t\tprops = concat.call(props, Object.getOwnPropertySymbols(map));\n\t}\n\tfor (var i = 0; i < props.length; i += 1) {\n\t\tdefineProperty(object, props[i], map[props[i]], predicates[props[i]]);\n\t}\n};\n\ndefineProperties.supportsDescriptors = !!supportsDescriptors;\n\nmodule.exports = defineProperties;\n","'use strict';\n\nvar undefined;\n\nvar $SyntaxError = SyntaxError;\nvar $Function = Function;\nvar $TypeError = TypeError;\n\n// eslint-disable-next-line consistent-return\nvar getEvalledConstructor = function (expressionSyntax) {\n\ttry {\n\t\treturn $Function('\"use strict\"; return (' + expressionSyntax + ').constructor;')();\n\t} catch (e) {}\n};\n\nvar $gOPD = Object.getOwnPropertyDescriptor;\nif ($gOPD) {\n\ttry {\n\t\t$gOPD({}, '');\n\t} catch (e) {\n\t\t$gOPD = null; // this is IE 8, which has a broken gOPD\n\t}\n}\n\nvar throwTypeError = function () {\n\tthrow new $TypeError();\n};\nvar ThrowTypeError = $gOPD\n\t? (function () {\n\t\ttry {\n\t\t\t// eslint-disable-next-line no-unused-expressions, no-caller, no-restricted-properties\n\t\t\targuments.callee; // IE 8 does not throw here\n\t\t\treturn throwTypeError;\n\t\t} catch (calleeThrows) {\n\t\t\ttry {\n\t\t\t\t// IE 8 throws on Object.getOwnPropertyDescriptor(arguments, '')\n\t\t\t\treturn $gOPD(arguments, 'callee').get;\n\t\t\t} catch (gOPDthrows) {\n\t\t\t\treturn throwTypeError;\n\t\t\t}\n\t\t}\n\t}())\n\t: throwTypeError;\n\nvar hasSymbols = require('has-symbols')();\n\nvar getProto = Object.getPrototypeOf || function (x) { return x.__proto__; }; // eslint-disable-line no-proto\n\nvar needsEval = {};\n\nvar TypedArray = typeof Uint8Array === 'undefined' ? undefined : getProto(Uint8Array);\n\nvar INTRINSICS = {\n\t'%AggregateError%': typeof AggregateError === 'undefined' ? undefined : AggregateError,\n\t'%Array%': Array,\n\t'%ArrayBuffer%': typeof ArrayBuffer === 'undefined' ? undefined : ArrayBuffer,\n\t'%ArrayIteratorPrototype%': hasSymbols ? getProto([][Symbol.iterator]()) : undefined,\n\t'%AsyncFromSyncIteratorPrototype%': undefined,\n\t'%AsyncFunction%': needsEval,\n\t'%AsyncGenerator%': needsEval,\n\t'%AsyncGeneratorFunction%': needsEval,\n\t'%AsyncIteratorPrototype%': needsEval,\n\t'%Atomics%': typeof Atomics === 'undefined' ? undefined : Atomics,\n\t'%BigInt%': typeof BigInt === 'undefined' ? undefined : BigInt,\n\t'%Boolean%': Boolean,\n\t'%DataView%': typeof DataView === 'undefined' ? undefined : DataView,\n\t'%Date%': Date,\n\t'%decodeURI%': decodeURI,\n\t'%decodeURIComponent%': decodeURIComponent,\n\t'%encodeURI%': encodeURI,\n\t'%encodeURIComponent%': encodeURIComponent,\n\t'%Error%': Error,\n\t'%eval%': eval, // eslint-disable-line no-eval\n\t'%EvalError%': EvalError,\n\t'%Float32Array%': typeof Float32Array === 'undefined' ? undefined : Float32Array,\n\t'%Float64Array%': typeof Float64Array === 'undefined' ? undefined : Float64Array,\n\t'%FinalizationRegistry%': typeof FinalizationRegistry === 'undefined' ? undefined : FinalizationRegistry,\n\t'%Function%': $Function,\n\t'%GeneratorFunction%': needsEval,\n\t'%Int8Array%': typeof Int8Array === 'undefined' ? undefined : Int8Array,\n\t'%Int16Array%': typeof Int16Array === 'undefined' ? undefined : Int16Array,\n\t'%Int32Array%': typeof Int32Array === 'undefined' ? undefined : Int32Array,\n\t'%isFinite%': isFinite,\n\t'%isNaN%': isNaN,\n\t'%IteratorPrototype%': hasSymbols ? getProto(getProto([][Symbol.iterator]())) : undefined,\n\t'%JSON%': typeof JSON === 'object' ? JSON : undefined,\n\t'%Map%': typeof Map === 'undefined' ? undefined : Map,\n\t'%MapIteratorPrototype%': typeof Map === 'undefined' || !hasSymbols ? undefined : getProto(new Map()[Symbol.iterator]()),\n\t'%Math%': Math,\n\t'%Number%': Number,\n\t'%Object%': Object,\n\t'%parseFloat%': parseFloat,\n\t'%parseInt%': parseInt,\n\t'%Promise%': typeof Promise === 'undefined' ? undefined : Promise,\n\t'%Proxy%': typeof Proxy === 'undefined' ? undefined : Proxy,\n\t'%RangeError%': RangeError,\n\t'%ReferenceError%': ReferenceError,\n\t'%Reflect%': typeof Reflect === 'undefined' ? undefined : Reflect,\n\t'%RegExp%': RegExp,\n\t'%Set%': typeof Set === 'undefined' ? undefined : Set,\n\t'%SetIteratorPrototype%': typeof Set === 'undefined' || !hasSymbols ? undefined : getProto(new Set()[Symbol.iterator]()),\n\t'%SharedArrayBuffer%': typeof SharedArrayBuffer === 'undefined' ? undefined : SharedArrayBuffer,\n\t'%String%': String,\n\t'%StringIteratorPrototype%': hasSymbols ? getProto(''[Symbol.iterator]()) : undefined,\n\t'%Symbol%': hasSymbols ? Symbol : undefined,\n\t'%SyntaxError%': $SyntaxError,\n\t'%ThrowTypeError%': ThrowTypeError,\n\t'%TypedArray%': TypedArray,\n\t'%TypeError%': $TypeError,\n\t'%Uint8Array%': typeof Uint8Array === 'undefined' ? undefined : Uint8Array,\n\t'%Uint8ClampedArray%': typeof Uint8ClampedArray === 'undefined' ? undefined : Uint8ClampedArray,\n\t'%Uint16Array%': typeof Uint16Array === 'undefined' ? undefined : Uint16Array,\n\t'%Uint32Array%': typeof Uint32Array === 'undefined' ? undefined : Uint32Array,\n\t'%URIError%': URIError,\n\t'%WeakMap%': typeof WeakMap === 'undefined' ? undefined : WeakMap,\n\t'%WeakRef%': typeof WeakRef === 'undefined' ? undefined : WeakRef,\n\t'%WeakSet%': typeof WeakSet === 'undefined' ? undefined : WeakSet\n};\n\nvar doEval = function doEval(name) {\n\tvar value;\n\tif (name === '%AsyncFunction%') {\n\t\tvalue = getEvalledConstructor('async function () {}');\n\t} else if (name === '%GeneratorFunction%') {\n\t\tvalue = getEvalledConstructor('function* () {}');\n\t} else if (name === '%AsyncGeneratorFunction%') {\n\t\tvalue = getEvalledConstructor('async function* () {}');\n\t} else if (name === '%AsyncGenerator%') {\n\t\tvar fn = doEval('%AsyncGeneratorFunction%');\n\t\tif (fn) {\n\t\t\tvalue = fn.prototype;\n\t\t}\n\t} else if (name === '%AsyncIteratorPrototype%') {\n\t\tvar gen = doEval('%AsyncGenerator%');\n\t\tif (gen) {\n\t\t\tvalue = getProto(gen.prototype);\n\t\t}\n\t}\n\n\tINTRINSICS[name] = value;\n\n\treturn value;\n};\n\nvar LEGACY_ALIASES = {\n\t'%ArrayBufferPrototype%': ['ArrayBuffer', 'prototype'],\n\t'%ArrayPrototype%': ['Array', 'prototype'],\n\t'%ArrayProto_entries%': ['Array', 'prototype', 'entries'],\n\t'%ArrayProto_forEach%': ['Array', 'prototype', 'forEach'],\n\t'%ArrayProto_keys%': ['Array', 'prototype', 'keys'],\n\t'%ArrayProto_values%': ['Array', 'prototype', 'values'],\n\t'%AsyncFunctionPrototype%': ['AsyncFunction', 'prototype'],\n\t'%AsyncGenerator%': ['AsyncGeneratorFunction', 'prototype'],\n\t'%AsyncGeneratorPrototype%': ['AsyncGeneratorFunction', 'prototype', 'prototype'],\n\t'%BooleanPrototype%': ['Boolean', 'prototype'],\n\t'%DataViewPrototype%': ['DataView', 'prototype'],\n\t'%DatePrototype%': ['Date', 'prototype'],\n\t'%ErrorPrototype%': ['Error', 'prototype'],\n\t'%EvalErrorPrototype%': ['EvalError', 'prototype'],\n\t'%Float32ArrayPrototype%': ['Float32Array', 'prototype'],\n\t'%Float64ArrayPrototype%': ['Float64Array', 'prototype'],\n\t'%FunctionPrototype%': ['Function', 'prototype'],\n\t'%Generator%': ['GeneratorFunction', 'prototype'],\n\t'%GeneratorPrototype%': ['GeneratorFunction', 'prototype', 'prototype'],\n\t'%Int8ArrayPrototype%': ['Int8Array', 'prototype'],\n\t'%Int16ArrayPrototype%': ['Int16Array', 'prototype'],\n\t'%Int32ArrayPrototype%': ['Int32Array', 'prototype'],\n\t'%JSONParse%': ['JSON', 'parse'],\n\t'%JSONStringify%': ['JSON', 'stringify'],\n\t'%MapPrototype%': ['Map', 'prototype'],\n\t'%NumberPrototype%': ['Number', 'prototype'],\n\t'%ObjectPrototype%': ['Object', 'prototype'],\n\t'%ObjProto_toString%': ['Object', 'prototype', 'toString'],\n\t'%ObjProto_valueOf%': ['Object', 'prototype', 'valueOf'],\n\t'%PromisePrototype%': ['Promise', 'prototype'],\n\t'%PromiseProto_then%': ['Promise', 'prototype', 'then'],\n\t'%Promise_all%': ['Promise', 'all'],\n\t'%Promise_reject%': ['Promise', 'reject'],\n\t'%Promise_resolve%': ['Promise', 'resolve'],\n\t'%RangeErrorPrototype%': ['RangeError', 'prototype'],\n\t'%ReferenceErrorPrototype%': ['ReferenceError', 'prototype'],\n\t'%RegExpPrototype%': ['RegExp', 'prototype'],\n\t'%SetPrototype%': ['Set', 'prototype'],\n\t'%SharedArrayBufferPrototype%': ['SharedArrayBuffer', 'prototype'],\n\t'%StringPrototype%': ['String', 'prototype'],\n\t'%SymbolPrototype%': ['Symbol', 'prototype'],\n\t'%SyntaxErrorPrototype%': ['SyntaxError', 'prototype'],\n\t'%TypedArrayPrototype%': ['TypedArray', 'prototype'],\n\t'%TypeErrorPrototype%': ['TypeError', 'prototype'],\n\t'%Uint8ArrayPrototype%': ['Uint8Array', 'prototype'],\n\t'%Uint8ClampedArrayPrototype%': ['Uint8ClampedArray', 'prototype'],\n\t'%Uint16ArrayPrototype%': ['Uint16Array', 'prototype'],\n\t'%Uint32ArrayPrototype%': ['Uint32Array', 'prototype'],\n\t'%URIErrorPrototype%': ['URIError', 'prototype'],\n\t'%WeakMapPrototype%': ['WeakMap', 'prototype'],\n\t'%WeakSetPrototype%': ['WeakSet', 'prototype']\n};\n\nvar bind = require('function-bind');\nvar hasOwn = require('has');\nvar $concat = bind.call(Function.call, Array.prototype.concat);\nvar $spliceApply = bind.call(Function.apply, Array.prototype.splice);\nvar $replace = bind.call(Function.call, String.prototype.replace);\nvar $strSlice = bind.call(Function.call, String.prototype.slice);\nvar $exec = bind.call(Function.call, RegExp.prototype.exec);\n\n/* adapted from https://github.com/lodash/lodash/blob/4.17.15/dist/lodash.js#L6735-L6744 */\nvar rePropName = /[^%.[\\]]+|\\[(?:(-?\\d+(?:\\.\\d+)?)|([\"'])((?:(?!\\2)[^\\\\]|\\\\.)*?)\\2)\\]|(?=(?:\\.|\\[\\])(?:\\.|\\[\\]|%$))/g;\nvar reEscapeChar = /\\\\(\\\\)?/g; /** Used to match backslashes in property paths. */\nvar stringToPath = function stringToPath(string) {\n\tvar first = $strSlice(string, 0, 1);\n\tvar last = $strSlice(string, -1);\n\tif (first === '%' && last !== '%') {\n\t\tthrow new $SyntaxError('invalid intrinsic syntax, expected closing `%`');\n\t} else if (last === '%' && first !== '%') {\n\t\tthrow new $SyntaxError('invalid intrinsic syntax, expected opening `%`');\n\t}\n\tvar result = [];\n\t$replace(string, rePropName, function (match, number, quote, subString) {\n\t\tresult[result.length] = quote ? $replace(subString, reEscapeChar, '$1') : number || match;\n\t});\n\treturn result;\n};\n/* end adaptation */\n\nvar getBaseIntrinsic = function getBaseIntrinsic(name, allowMissing) {\n\tvar intrinsicName = name;\n\tvar alias;\n\tif (hasOwn(LEGACY_ALIASES, intrinsicName)) {\n\t\talias = LEGACY_ALIASES[intrinsicName];\n\t\tintrinsicName = '%' + alias[0] + '%';\n\t}\n\n\tif (hasOwn(INTRINSICS, intrinsicName)) {\n\t\tvar value = INTRINSICS[intrinsicName];\n\t\tif (value === needsEval) {\n\t\t\tvalue = doEval(intrinsicName);\n\t\t}\n\t\tif (typeof value === 'undefined' && !allowMissing) {\n\t\t\tthrow new $TypeError('intrinsic ' + name + ' exists, but is not available. Please file an issue!');\n\t\t}\n\n\t\treturn {\n\t\t\talias: alias,\n\t\t\tname: intrinsicName,\n\t\t\tvalue: value\n\t\t};\n\t}\n\n\tthrow new $SyntaxError('intrinsic ' + name + ' does not exist!');\n};\n\nmodule.exports = function GetIntrinsic(name, allowMissing) {\n\tif (typeof name !== 'string' || name.length === 0) {\n\t\tthrow new $TypeError('intrinsic name must be a non-empty string');\n\t}\n\tif (arguments.length > 1 && typeof allowMissing !== 'boolean') {\n\t\tthrow new $TypeError('\"allowMissing\" argument must be a boolean');\n\t}\n\n\tif ($exec(/^%?[^%]*%?$/g, name) === null) {\n\t\tthrow new $SyntaxError('`%` may not be present anywhere but at the beginning and end of the intrinsic name');\n\t}\n\tvar parts = stringToPath(name);\n\tvar intrinsicBaseName = parts.length > 0 ? parts[0] : '';\n\n\tvar intrinsic = getBaseIntrinsic('%' + intrinsicBaseName + '%', allowMissing);\n\tvar intrinsicRealName = intrinsic.name;\n\tvar value = intrinsic.value;\n\tvar skipFurtherCaching = false;\n\n\tvar alias = intrinsic.alias;\n\tif (alias) {\n\t\tintrinsicBaseName = alias[0];\n\t\t$spliceApply(parts, $concat([0, 1], alias));\n\t}\n\n\tfor (var i = 1, isOwn = true; i < parts.length; i += 1) {\n\t\tvar part = parts[i];\n\t\tvar first = $strSlice(part, 0, 1);\n\t\tvar last = $strSlice(part, -1);\n\t\tif (\n\t\t\t(\n\t\t\t\t(first === '\"' || first === \"'\" || first === '`')\n\t\t\t\t|| (last === '\"' || last === \"'\" || last === '`')\n\t\t\t)\n\t\t\t&& first !== last\n\t\t) {\n\t\t\tthrow new $SyntaxError('property names with quotes must have matching quotes');\n\t\t}\n\t\tif (part === 'constructor' || !isOwn) {\n\t\t\tskipFurtherCaching = true;\n\t\t}\n\n\t\tintrinsicBaseName += '.' + part;\n\t\tintrinsicRealName = '%' + intrinsicBaseName + '%';\n\n\t\tif (hasOwn(INTRINSICS, intrinsicRealName)) {\n\t\t\tvalue = INTRINSICS[intrinsicRealName];\n\t\t} else if (value != null) {\n\t\t\tif (!(part in value)) {\n\t\t\t\tif (!allowMissing) {\n\t\t\t\t\tthrow new $TypeError('base intrinsic for ' + name + ' exists, but the property is not available.');\n\t\t\t\t}\n\t\t\t\treturn void undefined;\n\t\t\t}\n\t\t\tif ($gOPD && (i + 1) >= parts.length) {\n\t\t\t\tvar desc = $gOPD(value, part);\n\t\t\t\tisOwn = !!desc;\n\n\t\t\t\t// By convention, when a data property is converted to an accessor\n\t\t\t\t// property to emulate a data property that does not suffer from\n\t\t\t\t// the override mistake, that accessor's getter is marked with\n\t\t\t\t// an `originalValue` property. Here, when we detect this, we\n\t\t\t\t// uphold the illusion by pretending to see that original data\n\t\t\t\t// property, i.e., returning the value rather than the getter\n\t\t\t\t// itself.\n\t\t\t\tif (isOwn && 'get' in desc && !('originalValue' in desc.get)) {\n\t\t\t\t\tvalue = desc.get;\n\t\t\t\t} else {\n\t\t\t\t\tvalue = value[part];\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tisOwn = hasOwn(value, part);\n\t\t\t\tvalue = value[part];\n\t\t\t}\n\n\t\t\tif (isOwn && !skipFurtherCaching) {\n\t\t\t\tINTRINSICS[intrinsicRealName] = value;\n\t\t\t}\n\t\t}\n\t}\n\treturn value;\n};\n","'use strict';\n\nvar GetIntrinsic = require('get-intrinsic');\n\nvar $defineProperty = GetIntrinsic('%Object.defineProperty%', true);\n\nvar hasPropertyDescriptors = function hasPropertyDescriptors() {\n\tif ($defineProperty) {\n\t\ttry {\n\t\t\t$defineProperty({}, 'a', { value: 1 });\n\t\t\treturn true;\n\t\t} catch (e) {\n\t\t\t// IE 8 has a broken defineProperty\n\t\t\treturn false;\n\t\t}\n\t}\n\treturn false;\n};\n\nhasPropertyDescriptors.hasArrayLengthDefineBug = function hasArrayLengthDefineBug() {\n\t// node v0.6 has a bug where array lengths can be Set but not Defined\n\tif (!hasPropertyDescriptors()) {\n\t\treturn null;\n\t}\n\ttry {\n\t\treturn $defineProperty([], 'length', { value: 1 }).length !== 1;\n\t} catch (e) {\n\t\t// In Firefox 4-22, defining length on an array throws an exception.\n\t\treturn true;\n\t}\n};\n\nmodule.exports = hasPropertyDescriptors;\n","'use strict';\n\nvar GetIntrinsic = require('get-intrinsic');\n\n/** @type {import('.')} */\nvar $defineProperty = GetIntrinsic('%Object.defineProperty%', true) || false;\nif ($defineProperty) {\n\ttry {\n\t\t$defineProperty({}, 'a', { value: 1 });\n\t} catch (e) {\n\t\t// IE 8 has a broken defineProperty\n\t\t$defineProperty = false;\n\t}\n}\n\nmodule.exports = $defineProperty;\n","'use strict';\n\n/** @type {import('./eval')} */\nmodule.exports = EvalError;\n","'use strict';\n\n/** @type {import('.')} */\nmodule.exports = Error;\n","'use strict';\n\n/** @type {import('./range')} */\nmodule.exports = RangeError;\n","'use strict';\n\n/** @type {import('./ref')} */\nmodule.exports = ReferenceError;\n","'use strict';\n\n/** @type {import('./syntax')} */\nmodule.exports = SyntaxError;\n","'use strict';\n\n/** @type {import('./type')} */\nmodule.exports = TypeError;\n","'use strict';\n\n/** @type {import('./uri')} */\nmodule.exports = URIError;\n","'use strict';\n\nvar GetIntrinsic = require('get-intrinsic');\n\nvar $defineProperty = GetIntrinsic('%Object.defineProperty%', true);\n\nvar hasToStringTag = require('has-tostringtag/shams')();\nvar hasOwn = require('hasown');\n\nvar toStringTag = hasToStringTag ? Symbol.toStringTag : null;\n\n/** @type {import('.')} */\nmodule.exports = function setToStringTag(object, value) {\n\tvar overrideIfSet = arguments.length > 2 && arguments[2] && arguments[2].force;\n\tif (toStringTag && (overrideIfSet || !hasOwn(object, toStringTag))) {\n\t\tif ($defineProperty) {\n\t\t\t$defineProperty(object, toStringTag, {\n\t\t\t\tconfigurable: true,\n\t\t\t\tenumerable: false,\n\t\t\t\tvalue: value,\n\t\t\t\twritable: false\n\t\t\t});\n\t\t} else {\n\t\t\tobject[toStringTag] = value; // eslint-disable-line no-param-reassign\n\t\t}\n\t}\n};\n","'use strict';\n\nvar hasSymbols = require('has-symbols/shams');\n\n/** @type {import('.')} */\nmodule.exports = function hasToStringTagShams() {\n\treturn hasSymbols() && !!Symbol.toStringTag;\n};\n","// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n\n'use strict';\n\nvar R = typeof Reflect === 'object' ? Reflect : null\nvar ReflectApply = R && typeof R.apply === 'function'\n ? R.apply\n : function ReflectApply(target, receiver, args) {\n return Function.prototype.apply.call(target, receiver, args);\n }\n\nvar ReflectOwnKeys\nif (R && typeof R.ownKeys === 'function') {\n ReflectOwnKeys = R.ownKeys\n} else if (Object.getOwnPropertySymbols) {\n ReflectOwnKeys = function ReflectOwnKeys(target) {\n return Object.getOwnPropertyNames(target)\n .concat(Object.getOwnPropertySymbols(target));\n };\n} else {\n ReflectOwnKeys = function ReflectOwnKeys(target) {\n return Object.getOwnPropertyNames(target);\n };\n}\n\nfunction ProcessEmitWarning(warning) {\n if (console && console.warn) console.warn(warning);\n}\n\nvar NumberIsNaN = Number.isNaN || function NumberIsNaN(value) {\n return value !== value;\n}\n\nfunction EventEmitter() {\n EventEmitter.init.call(this);\n}\nmodule.exports = EventEmitter;\nmodule.exports.once = once;\n\n// Backwards-compat with node 0.10.x\nEventEmitter.EventEmitter = EventEmitter;\n\nEventEmitter.prototype._events = undefined;\nEventEmitter.prototype._eventsCount = 0;\nEventEmitter.prototype._maxListeners = undefined;\n\n// By default EventEmitters will print a warning if more than 10 listeners are\n// added to it. This is a useful default which helps finding memory leaks.\nvar defaultMaxListeners = 10;\n\nfunction checkListener(listener) {\n if (typeof listener !== 'function') {\n throw new TypeError('The \"listener\" argument must be of type Function. Received type ' + typeof listener);\n }\n}\n\nObject.defineProperty(EventEmitter, 'defaultMaxListeners', {\n enumerable: true,\n get: function() {\n return defaultMaxListeners;\n },\n set: function(arg) {\n if (typeof arg !== 'number' || arg < 0 || NumberIsNaN(arg)) {\n throw new RangeError('The value of \"defaultMaxListeners\" is out of range. It must be a non-negative number. Received ' + arg + '.');\n }\n defaultMaxListeners = arg;\n }\n});\n\nEventEmitter.init = function() {\n\n if (this._events === undefined ||\n this._events === Object.getPrototypeOf(this)._events) {\n this._events = Object.create(null);\n this._eventsCount = 0;\n }\n\n this._maxListeners = this._maxListeners || undefined;\n};\n\n// Obviously not all Emitters should be limited to 10. This function allows\n// that to be increased. Set to zero for unlimited.\nEventEmitter.prototype.setMaxListeners = function setMaxListeners(n) {\n if (typeof n !== 'number' || n < 0 || NumberIsNaN(n)) {\n throw new RangeError('The value of \"n\" is out of range. It must be a non-negative number. Received ' + n + '.');\n }\n this._maxListeners = n;\n return this;\n};\n\nfunction _getMaxListeners(that) {\n if (that._maxListeners === undefined)\n return EventEmitter.defaultMaxListeners;\n return that._maxListeners;\n}\n\nEventEmitter.prototype.getMaxListeners = function getMaxListeners() {\n return _getMaxListeners(this);\n};\n\nEventEmitter.prototype.emit = function emit(type) {\n var args = [];\n for (var i = 1; i < arguments.length; i++) args.push(arguments[i]);\n var doError = (type === 'error');\n\n var events = this._events;\n if (events !== undefined)\n doError = (doError && events.error === undefined);\n else if (!doError)\n return false;\n\n // If there is no 'error' event listener then throw.\n if (doError) {\n var er;\n if (args.length > 0)\n er = args[0];\n if (er instanceof Error) {\n // Note: The comments on the `throw` lines are intentional, they show\n // up in Node's output if this results in an unhandled exception.\n throw er; // Unhandled 'error' event\n }\n // At least give some kind of context to the user\n var err = new Error('Unhandled error.' + (er ? ' (' + er.message + ')' : ''));\n err.context = er;\n throw err; // Unhandled 'error' event\n }\n\n var handler = events[type];\n\n if (handler === undefined)\n return false;\n\n if (typeof handler === 'function') {\n ReflectApply(handler, this, args);\n } else {\n var len = handler.length;\n var listeners = arrayClone(handler, len);\n for (var i = 0; i < len; ++i)\n ReflectApply(listeners[i], this, args);\n }\n\n return true;\n};\n\nfunction _addListener(target, type, listener, prepend) {\n var m;\n var events;\n var existing;\n\n checkListener(listener);\n\n events = target._events;\n if (events === undefined) {\n events = target._events = Object.create(null);\n target._eventsCount = 0;\n } else {\n // To avoid recursion in the case that type === \"newListener\"! Before\n // adding it to the listeners, first emit \"newListener\".\n if (events.newListener !== undefined) {\n target.emit('newListener', type,\n listener.listener ? listener.listener : listener);\n\n // Re-assign `events` because a newListener handler could have caused the\n // this._events to be assigned to a new object\n events = target._events;\n }\n existing = events[type];\n }\n\n if (existing === undefined) {\n // Optimize the case of one listener. Don't need the extra array object.\n existing = events[type] = listener;\n ++target._eventsCount;\n } else {\n if (typeof existing === 'function') {\n // Adding the second element, need to change to array.\n existing = events[type] =\n prepend ? [listener, existing] : [existing, listener];\n // If we've already got an array, just append.\n } else if (prepend) {\n existing.unshift(listener);\n } else {\n existing.push(listener);\n }\n\n // Check for listener leak\n m = _getMaxListeners(target);\n if (m > 0 && existing.length > m && !existing.warned) {\n existing.warned = true;\n // No error code for this since it is a Warning\n // eslint-disable-next-line no-restricted-syntax\n var w = new Error('Possible EventEmitter memory leak detected. ' +\n existing.length + ' ' + String(type) + ' listeners ' +\n 'added. Use emitter.setMaxListeners() to ' +\n 'increase limit');\n w.name = 'MaxListenersExceededWarning';\n w.emitter = target;\n w.type = type;\n w.count = existing.length;\n ProcessEmitWarning(w);\n }\n }\n\n return target;\n}\n\nEventEmitter.prototype.addListener = function addListener(type, listener) {\n return _addListener(this, type, listener, false);\n};\n\nEventEmitter.prototype.on = EventEmitter.prototype.addListener;\n\nEventEmitter.prototype.prependListener =\n function prependListener(type, listener) {\n return _addListener(this, type, listener, true);\n };\n\nfunction onceWrapper() {\n if (!this.fired) {\n this.target.removeListener(this.type, this.wrapFn);\n this.fired = true;\n if (arguments.length === 0)\n return this.listener.call(this.target);\n return this.listener.apply(this.target, arguments);\n }\n}\n\nfunction _onceWrap(target, type, listener) {\n var state = { fired: false, wrapFn: undefined, target: target, type: type, listener: listener };\n var wrapped = onceWrapper.bind(state);\n wrapped.listener = listener;\n state.wrapFn = wrapped;\n return wrapped;\n}\n\nEventEmitter.prototype.once = function once(type, listener) {\n checkListener(listener);\n this.on(type, _onceWrap(this, type, listener));\n return this;\n};\n\nEventEmitter.prototype.prependOnceListener =\n function prependOnceListener(type, listener) {\n checkListener(listener);\n this.prependListener(type, _onceWrap(this, type, listener));\n return this;\n };\n\n// Emits a 'removeListener' event if and only if the listener was removed.\nEventEmitter.prototype.removeListener =\n function removeListener(type, listener) {\n var list, events, position, i, originalListener;\n\n checkListener(listener);\n\n events = this._events;\n if (events === undefined)\n return this;\n\n list = events[type];\n if (list === undefined)\n return this;\n\n if (list === listener || list.listener === listener) {\n if (--this._eventsCount === 0)\n this._events = Object.create(null);\n else {\n delete events[type];\n if (events.removeListener)\n this.emit('removeListener', type, list.listener || listener);\n }\n } else if (typeof list !== 'function') {\n position = -1;\n\n for (i = list.length - 1; i >= 0; i--) {\n if (list[i] === listener || list[i].listener === listener) {\n originalListener = list[i].listener;\n position = i;\n break;\n }\n }\n\n if (position < 0)\n return this;\n\n if (position === 0)\n list.shift();\n else {\n spliceOne(list, position);\n }\n\n if (list.length === 1)\n events[type] = list[0];\n\n if (events.removeListener !== undefined)\n this.emit('removeListener', type, originalListener || listener);\n }\n\n return this;\n };\n\nEventEmitter.prototype.off = EventEmitter.prototype.removeListener;\n\nEventEmitter.prototype.removeAllListeners =\n function removeAllListeners(type) {\n var listeners, events, i;\n\n events = this._events;\n if (events === undefined)\n return this;\n\n // not listening for removeListener, no need to emit\n if (events.removeListener === undefined) {\n if (arguments.length === 0) {\n this._events = Object.create(null);\n this._eventsCount = 0;\n } else if (events[type] !== undefined) {\n if (--this._eventsCount === 0)\n this._events = Object.create(null);\n else\n delete events[type];\n }\n return this;\n }\n\n // emit removeListener for all listeners on all events\n if (arguments.length === 0) {\n var keys = Object.keys(events);\n var key;\n for (i = 0; i < keys.length; ++i) {\n key = keys[i];\n if (key === 'removeListener') continue;\n this.removeAllListeners(key);\n }\n this.removeAllListeners('removeListener');\n this._events = Object.create(null);\n this._eventsCount = 0;\n return this;\n }\n\n listeners = events[type];\n\n if (typeof listeners === 'function') {\n this.removeListener(type, listeners);\n } else if (listeners !== undefined) {\n // LIFO order\n for (i = listeners.length - 1; i >= 0; i--) {\n this.removeListener(type, listeners[i]);\n }\n }\n\n return this;\n };\n\nfunction _listeners(target, type, unwrap) {\n var events = target._events;\n\n if (events === undefined)\n return [];\n\n var evlistener = events[type];\n if (evlistener === undefined)\n return [];\n\n if (typeof evlistener === 'function')\n return unwrap ? [evlistener.listener || evlistener] : [evlistener];\n\n return unwrap ?\n unwrapListeners(evlistener) : arrayClone(evlistener, evlistener.length);\n}\n\nEventEmitter.prototype.listeners = function listeners(type) {\n return _listeners(this, type, true);\n};\n\nEventEmitter.prototype.rawListeners = function rawListeners(type) {\n return _listeners(this, type, false);\n};\n\nEventEmitter.listenerCount = function(emitter, type) {\n if (typeof emitter.listenerCount === 'function') {\n return emitter.listenerCount(type);\n } else {\n return listenerCount.call(emitter, type);\n }\n};\n\nEventEmitter.prototype.listenerCount = listenerCount;\nfunction listenerCount(type) {\n var events = this._events;\n\n if (events !== undefined) {\n var evlistener = events[type];\n\n if (typeof evlistener === 'function') {\n return 1;\n } else if (evlistener !== undefined) {\n return evlistener.length;\n }\n }\n\n return 0;\n}\n\nEventEmitter.prototype.eventNames = function eventNames() {\n return this._eventsCount > 0 ? ReflectOwnKeys(this._events) : [];\n};\n\nfunction arrayClone(arr, n) {\n var copy = new Array(n);\n for (var i = 0; i < n; ++i)\n copy[i] = arr[i];\n return copy;\n}\n\nfunction spliceOne(list, index) {\n for (; index + 1 < list.length; index++)\n list[index] = list[index + 1];\n list.pop();\n}\n\nfunction unwrapListeners(arr) {\n var ret = new Array(arr.length);\n for (var i = 0; i < ret.length; ++i) {\n ret[i] = arr[i].listener || arr[i];\n }\n return ret;\n}\n\nfunction once(emitter, name) {\n return new Promise(function (resolve, reject) {\n function errorListener(err) {\n emitter.removeListener(name, resolver);\n reject(err);\n }\n\n function resolver() {\n if (typeof emitter.removeListener === 'function') {\n emitter.removeListener('error', errorListener);\n }\n resolve([].slice.call(arguments));\n };\n\n eventTargetAgnosticAddListener(emitter, name, resolver, { once: true });\n if (name !== 'error') {\n addErrorHandlerIfEventEmitter(emitter, errorListener, { once: true });\n }\n });\n}\n\nfunction addErrorHandlerIfEventEmitter(emitter, handler, flags) {\n if (typeof emitter.on === 'function') {\n eventTargetAgnosticAddListener(emitter, 'error', handler, flags);\n }\n}\n\nfunction eventTargetAgnosticAddListener(emitter, name, listener, flags) {\n if (typeof emitter.on === 'function') {\n if (flags.once) {\n emitter.once(name, listener);\n } else {\n emitter.on(name, listener);\n }\n } else if (typeof emitter.addEventListener === 'function') {\n // EventTarget does not have `error` event semantics like Node\n // EventEmitters, we do not listen for `error` events here.\n emitter.addEventListener(name, function wrapListener(arg) {\n // IE does not have builtin `{ once: true }` support so we\n // have to do it manually.\n if (flags.once) {\n emitter.removeEventListener(name, wrapListener);\n }\n listener(arg);\n });\n } else {\n throw new TypeError('The \"emitter\" argument must be of type EventEmitter. Received type ' + typeof emitter);\n }\n}\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;","'use strict';\n\n/* eslint no-invalid-this: 1 */\n\nvar ERROR_MESSAGE = 'Function.prototype.bind called on incompatible ';\nvar slice = Array.prototype.slice;\nvar toStr = Object.prototype.toString;\nvar funcType = '[object Function]';\n\nmodule.exports = function bind(that) {\n var target = this;\n if (typeof target !== 'function' || toStr.call(target) !== funcType) {\n throw new TypeError(ERROR_MESSAGE + target);\n }\n var args = slice.call(arguments, 1);\n\n var bound;\n var binder = function () {\n if (this instanceof bound) {\n var result = target.apply(\n this,\n args.concat(slice.call(arguments))\n );\n if (Object(result) === result) {\n return result;\n }\n return this;\n } else {\n return target.apply(\n that,\n args.concat(slice.call(arguments))\n );\n }\n };\n\n var boundLength = Math.max(0, target.length - args.length);\n var boundArgs = [];\n for (var i = 0; i < boundLength; i++) {\n boundArgs.push('$' + i);\n }\n\n bound = Function('binder', 'return function (' + boundArgs.join(',') + '){ return binder.apply(this,arguments); }')(binder);\n\n if (target.prototype) {\n var Empty = function Empty() {};\n Empty.prototype = target.prototype;\n bound.prototype = new Empty();\n Empty.prototype = null;\n }\n\n return bound;\n};\n","'use strict';\n\nvar implementation = require('./implementation');\n\nmodule.exports = Function.prototype.bind || implementation;\n","'use strict';\n\nvar undefined;\n\nvar $Error = require('es-errors');\nvar $EvalError = require('es-errors/eval');\nvar $RangeError = require('es-errors/range');\nvar $ReferenceError = require('es-errors/ref');\nvar $SyntaxError = require('es-errors/syntax');\nvar $TypeError = require('es-errors/type');\nvar $URIError = require('es-errors/uri');\n\nvar $Function = Function;\n\n// eslint-disable-next-line consistent-return\nvar getEvalledConstructor = function (expressionSyntax) {\n\ttry {\n\t\treturn $Function('\"use strict\"; return (' + expressionSyntax + ').constructor;')();\n\t} catch (e) {}\n};\n\nvar $gOPD = Object.getOwnPropertyDescriptor;\nif ($gOPD) {\n\ttry {\n\t\t$gOPD({}, '');\n\t} catch (e) {\n\t\t$gOPD = null; // this is IE 8, which has a broken gOPD\n\t}\n}\n\nvar throwTypeError = function () {\n\tthrow new $TypeError();\n};\nvar ThrowTypeError = $gOPD\n\t? (function () {\n\t\ttry {\n\t\t\t// eslint-disable-next-line no-unused-expressions, no-caller, no-restricted-properties\n\t\t\targuments.callee; // IE 8 does not throw here\n\t\t\treturn throwTypeError;\n\t\t} catch (calleeThrows) {\n\t\t\ttry {\n\t\t\t\t// IE 8 throws on Object.getOwnPropertyDescriptor(arguments, '')\n\t\t\t\treturn $gOPD(arguments, 'callee').get;\n\t\t\t} catch (gOPDthrows) {\n\t\t\t\treturn throwTypeError;\n\t\t\t}\n\t\t}\n\t}())\n\t: throwTypeError;\n\nvar hasSymbols = require('has-symbols')();\nvar hasProto = require('has-proto')();\n\nvar getProto = Object.getPrototypeOf || (\n\thasProto\n\t\t? function (x) { return x.__proto__; } // eslint-disable-line no-proto\n\t\t: null\n);\n\nvar needsEval = {};\n\nvar TypedArray = typeof Uint8Array === 'undefined' || !getProto ? undefined : getProto(Uint8Array);\n\nvar INTRINSICS = {\n\t__proto__: null,\n\t'%AggregateError%': typeof AggregateError === 'undefined' ? undefined : AggregateError,\n\t'%Array%': Array,\n\t'%ArrayBuffer%': typeof ArrayBuffer === 'undefined' ? undefined : ArrayBuffer,\n\t'%ArrayIteratorPrototype%': hasSymbols && getProto ? getProto([][Symbol.iterator]()) : undefined,\n\t'%AsyncFromSyncIteratorPrototype%': undefined,\n\t'%AsyncFunction%': needsEval,\n\t'%AsyncGenerator%': needsEval,\n\t'%AsyncGeneratorFunction%': needsEval,\n\t'%AsyncIteratorPrototype%': needsEval,\n\t'%Atomics%': typeof Atomics === 'undefined' ? undefined : Atomics,\n\t'%BigInt%': typeof BigInt === 'undefined' ? undefined : BigInt,\n\t'%BigInt64Array%': typeof BigInt64Array === 'undefined' ? undefined : BigInt64Array,\n\t'%BigUint64Array%': typeof BigUint64Array === 'undefined' ? undefined : BigUint64Array,\n\t'%Boolean%': Boolean,\n\t'%DataView%': typeof DataView === 'undefined' ? undefined : DataView,\n\t'%Date%': Date,\n\t'%decodeURI%': decodeURI,\n\t'%decodeURIComponent%': decodeURIComponent,\n\t'%encodeURI%': encodeURI,\n\t'%encodeURIComponent%': encodeURIComponent,\n\t'%Error%': $Error,\n\t'%eval%': eval, // eslint-disable-line no-eval\n\t'%EvalError%': $EvalError,\n\t'%Float32Array%': typeof Float32Array === 'undefined' ? undefined : Float32Array,\n\t'%Float64Array%': typeof Float64Array === 'undefined' ? undefined : Float64Array,\n\t'%FinalizationRegistry%': typeof FinalizationRegistry === 'undefined' ? undefined : FinalizationRegistry,\n\t'%Function%': $Function,\n\t'%GeneratorFunction%': needsEval,\n\t'%Int8Array%': typeof Int8Array === 'undefined' ? undefined : Int8Array,\n\t'%Int16Array%': typeof Int16Array === 'undefined' ? undefined : Int16Array,\n\t'%Int32Array%': typeof Int32Array === 'undefined' ? undefined : Int32Array,\n\t'%isFinite%': isFinite,\n\t'%isNaN%': isNaN,\n\t'%IteratorPrototype%': hasSymbols && getProto ? getProto(getProto([][Symbol.iterator]())) : undefined,\n\t'%JSON%': typeof JSON === 'object' ? JSON : undefined,\n\t'%Map%': typeof Map === 'undefined' ? undefined : Map,\n\t'%MapIteratorPrototype%': typeof Map === 'undefined' || !hasSymbols || !getProto ? undefined : getProto(new Map()[Symbol.iterator]()),\n\t'%Math%': Math,\n\t'%Number%': Number,\n\t'%Object%': Object,\n\t'%parseFloat%': parseFloat,\n\t'%parseInt%': parseInt,\n\t'%Promise%': typeof Promise === 'undefined' ? undefined : Promise,\n\t'%Proxy%': typeof Proxy === 'undefined' ? undefined : Proxy,\n\t'%RangeError%': $RangeError,\n\t'%ReferenceError%': $ReferenceError,\n\t'%Reflect%': typeof Reflect === 'undefined' ? undefined : Reflect,\n\t'%RegExp%': RegExp,\n\t'%Set%': typeof Set === 'undefined' ? undefined : Set,\n\t'%SetIteratorPrototype%': typeof Set === 'undefined' || !hasSymbols || !getProto ? undefined : getProto(new Set()[Symbol.iterator]()),\n\t'%SharedArrayBuffer%': typeof SharedArrayBuffer === 'undefined' ? undefined : SharedArrayBuffer,\n\t'%String%': String,\n\t'%StringIteratorPrototype%': hasSymbols && getProto ? getProto(''[Symbol.iterator]()) : undefined,\n\t'%Symbol%': hasSymbols ? Symbol : undefined,\n\t'%SyntaxError%': $SyntaxError,\n\t'%ThrowTypeError%': ThrowTypeError,\n\t'%TypedArray%': TypedArray,\n\t'%TypeError%': $TypeError,\n\t'%Uint8Array%': typeof Uint8Array === 'undefined' ? undefined : Uint8Array,\n\t'%Uint8ClampedArray%': typeof Uint8ClampedArray === 'undefined' ? undefined : Uint8ClampedArray,\n\t'%Uint16Array%': typeof Uint16Array === 'undefined' ? undefined : Uint16Array,\n\t'%Uint32Array%': typeof Uint32Array === 'undefined' ? undefined : Uint32Array,\n\t'%URIError%': $URIError,\n\t'%WeakMap%': typeof WeakMap === 'undefined' ? undefined : WeakMap,\n\t'%WeakRef%': typeof WeakRef === 'undefined' ? undefined : WeakRef,\n\t'%WeakSet%': typeof WeakSet === 'undefined' ? undefined : WeakSet\n};\n\nif (getProto) {\n\ttry {\n\t\tnull.error; // eslint-disable-line no-unused-expressions\n\t} catch (e) {\n\t\t// https://github.com/tc39/proposal-shadowrealm/pull/384#issuecomment-1364264229\n\t\tvar errorProto = getProto(getProto(e));\n\t\tINTRINSICS['%Error.prototype%'] = errorProto;\n\t}\n}\n\nvar doEval = function doEval(name) {\n\tvar value;\n\tif (name === '%AsyncFunction%') {\n\t\tvalue = getEvalledConstructor('async function () {}');\n\t} else if (name === '%GeneratorFunction%') {\n\t\tvalue = getEvalledConstructor('function* () {}');\n\t} else if (name === '%AsyncGeneratorFunction%') {\n\t\tvalue = getEvalledConstructor('async function* () {}');\n\t} else if (name === '%AsyncGenerator%') {\n\t\tvar fn = doEval('%AsyncGeneratorFunction%');\n\t\tif (fn) {\n\t\t\tvalue = fn.prototype;\n\t\t}\n\t} else if (name === '%AsyncIteratorPrototype%') {\n\t\tvar gen = doEval('%AsyncGenerator%');\n\t\tif (gen && getProto) {\n\t\t\tvalue = getProto(gen.prototype);\n\t\t}\n\t}\n\n\tINTRINSICS[name] = value;\n\n\treturn value;\n};\n\nvar LEGACY_ALIASES = {\n\t__proto__: null,\n\t'%ArrayBufferPrototype%': ['ArrayBuffer', 'prototype'],\n\t'%ArrayPrototype%': ['Array', 'prototype'],\n\t'%ArrayProto_entries%': ['Array', 'prototype', 'entries'],\n\t'%ArrayProto_forEach%': ['Array', 'prototype', 'forEach'],\n\t'%ArrayProto_keys%': ['Array', 'prototype', 'keys'],\n\t'%ArrayProto_values%': ['Array', 'prototype', 'values'],\n\t'%AsyncFunctionPrototype%': ['AsyncFunction', 'prototype'],\n\t'%AsyncGenerator%': ['AsyncGeneratorFunction', 'prototype'],\n\t'%AsyncGeneratorPrototype%': ['AsyncGeneratorFunction', 'prototype', 'prototype'],\n\t'%BooleanPrototype%': ['Boolean', 'prototype'],\n\t'%DataViewPrototype%': ['DataView', 'prototype'],\n\t'%DatePrototype%': ['Date', 'prototype'],\n\t'%ErrorPrototype%': ['Error', 'prototype'],\n\t'%EvalErrorPrototype%': ['EvalError', 'prototype'],\n\t'%Float32ArrayPrototype%': ['Float32Array', 'prototype'],\n\t'%Float64ArrayPrototype%': ['Float64Array', 'prototype'],\n\t'%FunctionPrototype%': ['Function', 'prototype'],\n\t'%Generator%': ['GeneratorFunction', 'prototype'],\n\t'%GeneratorPrototype%': ['GeneratorFunction', 'prototype', 'prototype'],\n\t'%Int8ArrayPrototype%': ['Int8Array', 'prototype'],\n\t'%Int16ArrayPrototype%': ['Int16Array', 'prototype'],\n\t'%Int32ArrayPrototype%': ['Int32Array', 'prototype'],\n\t'%JSONParse%': ['JSON', 'parse'],\n\t'%JSONStringify%': ['JSON', 'stringify'],\n\t'%MapPrototype%': ['Map', 'prototype'],\n\t'%NumberPrototype%': ['Number', 'prototype'],\n\t'%ObjectPrototype%': ['Object', 'prototype'],\n\t'%ObjProto_toString%': ['Object', 'prototype', 'toString'],\n\t'%ObjProto_valueOf%': ['Object', 'prototype', 'valueOf'],\n\t'%PromisePrototype%': ['Promise', 'prototype'],\n\t'%PromiseProto_then%': ['Promise', 'prototype', 'then'],\n\t'%Promise_all%': ['Promise', 'all'],\n\t'%Promise_reject%': ['Promise', 'reject'],\n\t'%Promise_resolve%': ['Promise', 'resolve'],\n\t'%RangeErrorPrototype%': ['RangeError', 'prototype'],\n\t'%ReferenceErrorPrototype%': ['ReferenceError', 'prototype'],\n\t'%RegExpPrototype%': ['RegExp', 'prototype'],\n\t'%SetPrototype%': ['Set', 'prototype'],\n\t'%SharedArrayBufferPrototype%': ['SharedArrayBuffer', 'prototype'],\n\t'%StringPrototype%': ['String', 'prototype'],\n\t'%SymbolPrototype%': ['Symbol', 'prototype'],\n\t'%SyntaxErrorPrototype%': ['SyntaxError', 'prototype'],\n\t'%TypedArrayPrototype%': ['TypedArray', 'prototype'],\n\t'%TypeErrorPrototype%': ['TypeError', 'prototype'],\n\t'%Uint8ArrayPrototype%': ['Uint8Array', 'prototype'],\n\t'%Uint8ClampedArrayPrototype%': ['Uint8ClampedArray', 'prototype'],\n\t'%Uint16ArrayPrototype%': ['Uint16Array', 'prototype'],\n\t'%Uint32ArrayPrototype%': ['Uint32Array', 'prototype'],\n\t'%URIErrorPrototype%': ['URIError', 'prototype'],\n\t'%WeakMapPrototype%': ['WeakMap', 'prototype'],\n\t'%WeakSetPrototype%': ['WeakSet', 'prototype']\n};\n\nvar bind = require('function-bind');\nvar hasOwn = require('hasown');\nvar $concat = bind.call(Function.call, Array.prototype.concat);\nvar $spliceApply = bind.call(Function.apply, Array.prototype.splice);\nvar $replace = bind.call(Function.call, String.prototype.replace);\nvar $strSlice = bind.call(Function.call, String.prototype.slice);\nvar $exec = bind.call(Function.call, RegExp.prototype.exec);\n\n/* adapted from https://github.com/lodash/lodash/blob/4.17.15/dist/lodash.js#L6735-L6744 */\nvar rePropName = /[^%.[\\]]+|\\[(?:(-?\\d+(?:\\.\\d+)?)|([\"'])((?:(?!\\2)[^\\\\]|\\\\.)*?)\\2)\\]|(?=(?:\\.|\\[\\])(?:\\.|\\[\\]|%$))/g;\nvar reEscapeChar = /\\\\(\\\\)?/g; /** Used to match backslashes in property paths. */\nvar stringToPath = function stringToPath(string) {\n\tvar first = $strSlice(string, 0, 1);\n\tvar last = $strSlice(string, -1);\n\tif (first === '%' && last !== '%') {\n\t\tthrow new $SyntaxError('invalid intrinsic syntax, expected closing `%`');\n\t} else if (last === '%' && first !== '%') {\n\t\tthrow new $SyntaxError('invalid intrinsic syntax, expected opening `%`');\n\t}\n\tvar result = [];\n\t$replace(string, rePropName, function (match, number, quote, subString) {\n\t\tresult[result.length] = quote ? $replace(subString, reEscapeChar, '$1') : number || match;\n\t});\n\treturn result;\n};\n/* end adaptation */\n\nvar getBaseIntrinsic = function getBaseIntrinsic(name, allowMissing) {\n\tvar intrinsicName = name;\n\tvar alias;\n\tif (hasOwn(LEGACY_ALIASES, intrinsicName)) {\n\t\talias = LEGACY_ALIASES[intrinsicName];\n\t\tintrinsicName = '%' + alias[0] + '%';\n\t}\n\n\tif (hasOwn(INTRINSICS, intrinsicName)) {\n\t\tvar value = INTRINSICS[intrinsicName];\n\t\tif (value === needsEval) {\n\t\t\tvalue = doEval(intrinsicName);\n\t\t}\n\t\tif (typeof value === 'undefined' && !allowMissing) {\n\t\t\tthrow new $TypeError('intrinsic ' + name + ' exists, but is not available. Please file an issue!');\n\t\t}\n\n\t\treturn {\n\t\t\talias: alias,\n\t\t\tname: intrinsicName,\n\t\t\tvalue: value\n\t\t};\n\t}\n\n\tthrow new $SyntaxError('intrinsic ' + name + ' does not exist!');\n};\n\nmodule.exports = function GetIntrinsic(name, allowMissing) {\n\tif (typeof name !== 'string' || name.length === 0) {\n\t\tthrow new $TypeError('intrinsic name must be a non-empty string');\n\t}\n\tif (arguments.length > 1 && typeof allowMissing !== 'boolean') {\n\t\tthrow new $TypeError('\"allowMissing\" argument must be a boolean');\n\t}\n\n\tif ($exec(/^%?[^%]*%?$/, name) === null) {\n\t\tthrow new $SyntaxError('`%` may not be present anywhere but at the beginning and end of the intrinsic name');\n\t}\n\tvar parts = stringToPath(name);\n\tvar intrinsicBaseName = parts.length > 0 ? parts[0] : '';\n\n\tvar intrinsic = getBaseIntrinsic('%' + intrinsicBaseName + '%', allowMissing);\n\tvar intrinsicRealName = intrinsic.name;\n\tvar value = intrinsic.value;\n\tvar skipFurtherCaching = false;\n\n\tvar alias = intrinsic.alias;\n\tif (alias) {\n\t\tintrinsicBaseName = alias[0];\n\t\t$spliceApply(parts, $concat([0, 1], alias));\n\t}\n\n\tfor (var i = 1, isOwn = true; i < parts.length; i += 1) {\n\t\tvar part = parts[i];\n\t\tvar first = $strSlice(part, 0, 1);\n\t\tvar last = $strSlice(part, -1);\n\t\tif (\n\t\t\t(\n\t\t\t\t(first === '\"' || first === \"'\" || first === '`')\n\t\t\t\t|| (last === '\"' || last === \"'\" || last === '`')\n\t\t\t)\n\t\t\t&& first !== last\n\t\t) {\n\t\t\tthrow new $SyntaxError('property names with quotes must have matching quotes');\n\t\t}\n\t\tif (part === 'constructor' || !isOwn) {\n\t\t\tskipFurtherCaching = true;\n\t\t}\n\n\t\tintrinsicBaseName += '.' + part;\n\t\tintrinsicRealName = '%' + intrinsicBaseName + '%';\n\n\t\tif (hasOwn(INTRINSICS, intrinsicRealName)) {\n\t\t\tvalue = INTRINSICS[intrinsicRealName];\n\t\t} else if (value != null) {\n\t\t\tif (!(part in value)) {\n\t\t\t\tif (!allowMissing) {\n\t\t\t\t\tthrow new $TypeError('base intrinsic for ' + name + ' exists, but the property is not available.');\n\t\t\t\t}\n\t\t\t\treturn void undefined;\n\t\t\t}\n\t\t\tif ($gOPD && (i + 1) >= parts.length) {\n\t\t\t\tvar desc = $gOPD(value, part);\n\t\t\t\tisOwn = !!desc;\n\n\t\t\t\t// By convention, when a data property is converted to an accessor\n\t\t\t\t// property to emulate a data property that does not suffer from\n\t\t\t\t// the override mistake, that accessor's getter is marked with\n\t\t\t\t// an `originalValue` property. Here, when we detect this, we\n\t\t\t\t// uphold the illusion by pretending to see that original data\n\t\t\t\t// property, i.e., returning the value rather than the getter\n\t\t\t\t// itself.\n\t\t\t\tif (isOwn && 'get' in desc && !('originalValue' in desc.get)) {\n\t\t\t\t\tvalue = desc.get;\n\t\t\t\t} else {\n\t\t\t\t\tvalue = value[part];\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tisOwn = hasOwn(value, part);\n\t\t\t\tvalue = value[part];\n\t\t\t}\n\n\t\t\tif (isOwn && !skipFurtherCaching) {\n\t\t\t\tINTRINSICS[intrinsicRealName] = value;\n\t\t\t}\n\t\t}\n\t}\n\treturn value;\n};\n","'use strict';\n\n/* eslint no-invalid-this: 1 */\n\nvar ERROR_MESSAGE = 'Function.prototype.bind called on incompatible ';\nvar toStr = Object.prototype.toString;\nvar max = Math.max;\nvar funcType = '[object Function]';\n\nvar concatty = function concatty(a, b) {\n var arr = [];\n\n for (var i = 0; i < a.length; i += 1) {\n arr[i] = a[i];\n }\n for (var j = 0; j < b.length; j += 1) {\n arr[j + a.length] = b[j];\n }\n\n return arr;\n};\n\nvar slicy = function slicy(arrLike, offset) {\n var arr = [];\n for (var i = offset || 0, j = 0; i < arrLike.length; i += 1, j += 1) {\n arr[j] = arrLike[i];\n }\n return arr;\n};\n\nvar joiny = function (arr, joiner) {\n var str = '';\n for (var i = 0; i < arr.length; i += 1) {\n str += arr[i];\n if (i + 1 < arr.length) {\n str += joiner;\n }\n }\n return str;\n};\n\nmodule.exports = function bind(that) {\n var target = this;\n if (typeof target !== 'function' || toStr.apply(target) !== funcType) {\n throw new TypeError(ERROR_MESSAGE + target);\n }\n var args = slicy(arguments, 1);\n\n var bound;\n var binder = function () {\n if (this instanceof bound) {\n var result = target.apply(\n this,\n concatty(args, arguments)\n );\n if (Object(result) === result) {\n return result;\n }\n return this;\n }\n return target.apply(\n that,\n concatty(args, arguments)\n );\n\n };\n\n var boundLength = max(0, target.length - args.length);\n var boundArgs = [];\n for (var i = 0; i < boundLength; i++) {\n boundArgs[i] = '$' + i;\n }\n\n bound = Function('binder', 'return function (' + joiny(boundArgs, ',') + '){ return binder.apply(this,arguments); }')(binder);\n\n if (target.prototype) {\n var Empty = function Empty() {};\n Empty.prototype = target.prototype;\n bound.prototype = new Empty();\n Empty.prototype = null;\n }\n\n return bound;\n};\n","'use strict';\n\nvar implementation = require('./implementation');\n\nmodule.exports = Function.prototype.bind || implementation;\n","'use strict';\n\nvar test = {\n\tfoo: {}\n};\n\nvar $Object = Object;\n\nmodule.exports = function hasProto() {\n\treturn { __proto__: test }.foo === test.foo && !({ __proto__: null } instanceof $Object);\n};\n","/* eslint no-negated-condition: 0, no-new-func: 0 */\n\n'use strict';\n\nif (typeof self !== 'undefined') {\n\tmodule.exports = self;\n} else if (typeof window !== 'undefined') {\n\tmodule.exports = window;\n} else {\n\tmodule.exports = Function('return this')();\n}\n","'use strict';\n\nvar defineProperties = require('define-properties');\n\nvar implementation = require('./implementation');\nvar getPolyfill = require('./polyfill');\nvar shim = require('./shim');\n\nvar polyfill = getPolyfill();\n\nvar getGlobal = function () { return polyfill; };\n\ndefineProperties(getGlobal, {\n\tgetPolyfill: getPolyfill,\n\timplementation: implementation,\n\tshim: shim\n});\n\nmodule.exports = getGlobal;\n","'use strict';\n\nvar keys = require('object-keys');\nvar hasSymbols = typeof Symbol === 'function' && typeof Symbol('foo') === 'symbol';\n\nvar toStr = Object.prototype.toString;\nvar concat = Array.prototype.concat;\nvar origDefineProperty = Object.defineProperty;\n\nvar isFunction = function (fn) {\n\treturn typeof fn === 'function' && toStr.call(fn) === '[object Function]';\n};\n\nvar hasPropertyDescriptors = require('has-property-descriptors')();\n\nvar supportsDescriptors = origDefineProperty && hasPropertyDescriptors;\n\nvar defineProperty = function (object, name, value, predicate) {\n\tif (name in object && (!isFunction(predicate) || !predicate())) {\n\t\treturn;\n\t}\n\tif (supportsDescriptors) {\n\t\torigDefineProperty(object, name, {\n\t\t\tconfigurable: true,\n\t\t\tenumerable: false,\n\t\t\tvalue: value,\n\t\t\twritable: true\n\t\t});\n\t} else {\n\t\tobject[name] = value; // eslint-disable-line no-param-reassign\n\t}\n};\n\nvar defineProperties = function (object, map) {\n\tvar predicates = arguments.length > 2 ? arguments[2] : {};\n\tvar props = keys(map);\n\tif (hasSymbols) {\n\t\tprops = concat.call(props, Object.getOwnPropertySymbols(map));\n\t}\n\tfor (var i = 0; i < props.length; i += 1) {\n\t\tdefineProperty(object, props[i], map[props[i]], predicates[props[i]]);\n\t}\n};\n\ndefineProperties.supportsDescriptors = !!supportsDescriptors;\n\nmodule.exports = defineProperties;\n","'use strict';\n\nvar undefined;\n\nvar $SyntaxError = SyntaxError;\nvar $Function = Function;\nvar $TypeError = TypeError;\n\n// eslint-disable-next-line consistent-return\nvar getEvalledConstructor = function (expressionSyntax) {\n\ttry {\n\t\treturn $Function('\"use strict\"; return (' + expressionSyntax + ').constructor;')();\n\t} catch (e) {}\n};\n\nvar $gOPD = Object.getOwnPropertyDescriptor;\nif ($gOPD) {\n\ttry {\n\t\t$gOPD({}, '');\n\t} catch (e) {\n\t\t$gOPD = null; // this is IE 8, which has a broken gOPD\n\t}\n}\n\nvar throwTypeError = function () {\n\tthrow new $TypeError();\n};\nvar ThrowTypeError = $gOPD\n\t? (function () {\n\t\ttry {\n\t\t\t// eslint-disable-next-line no-unused-expressions, no-caller, no-restricted-properties\n\t\t\targuments.callee; // IE 8 does not throw here\n\t\t\treturn throwTypeError;\n\t\t} catch (calleeThrows) {\n\t\t\ttry {\n\t\t\t\t// IE 8 throws on Object.getOwnPropertyDescriptor(arguments, '')\n\t\t\t\treturn $gOPD(arguments, 'callee').get;\n\t\t\t} catch (gOPDthrows) {\n\t\t\t\treturn throwTypeError;\n\t\t\t}\n\t\t}\n\t}())\n\t: throwTypeError;\n\nvar hasSymbols = require('has-symbols')();\n\nvar getProto = Object.getPrototypeOf || function (x) { return x.__proto__; }; // eslint-disable-line no-proto\n\nvar needsEval = {};\n\nvar TypedArray = typeof Uint8Array === 'undefined' ? undefined : getProto(Uint8Array);\n\nvar INTRINSICS = {\n\t'%AggregateError%': typeof AggregateError === 'undefined' ? undefined : AggregateError,\n\t'%Array%': Array,\n\t'%ArrayBuffer%': typeof ArrayBuffer === 'undefined' ? undefined : ArrayBuffer,\n\t'%ArrayIteratorPrototype%': hasSymbols ? getProto([][Symbol.iterator]()) : undefined,\n\t'%AsyncFromSyncIteratorPrototype%': undefined,\n\t'%AsyncFunction%': needsEval,\n\t'%AsyncGenerator%': needsEval,\n\t'%AsyncGeneratorFunction%': needsEval,\n\t'%AsyncIteratorPrototype%': needsEval,\n\t'%Atomics%': typeof Atomics === 'undefined' ? undefined : Atomics,\n\t'%BigInt%': typeof BigInt === 'undefined' ? undefined : BigInt,\n\t'%Boolean%': Boolean,\n\t'%DataView%': typeof DataView === 'undefined' ? undefined : DataView,\n\t'%Date%': Date,\n\t'%decodeURI%': decodeURI,\n\t'%decodeURIComponent%': decodeURIComponent,\n\t'%encodeURI%': encodeURI,\n\t'%encodeURIComponent%': encodeURIComponent,\n\t'%Error%': Error,\n\t'%eval%': eval, // eslint-disable-line no-eval\n\t'%EvalError%': EvalError,\n\t'%Float32Array%': typeof Float32Array === 'undefined' ? undefined : Float32Array,\n\t'%Float64Array%': typeof Float64Array === 'undefined' ? undefined : Float64Array,\n\t'%FinalizationRegistry%': typeof FinalizationRegistry === 'undefined' ? undefined : FinalizationRegistry,\n\t'%Function%': $Function,\n\t'%GeneratorFunction%': needsEval,\n\t'%Int8Array%': typeof Int8Array === 'undefined' ? undefined : Int8Array,\n\t'%Int16Array%': typeof Int16Array === 'undefined' ? undefined : Int16Array,\n\t'%Int32Array%': typeof Int32Array === 'undefined' ? undefined : Int32Array,\n\t'%isFinite%': isFinite,\n\t'%isNaN%': isNaN,\n\t'%IteratorPrototype%': hasSymbols ? getProto(getProto([][Symbol.iterator]())) : undefined,\n\t'%JSON%': typeof JSON === 'object' ? JSON : undefined,\n\t'%Map%': typeof Map === 'undefined' ? undefined : Map,\n\t'%MapIteratorPrototype%': typeof Map === 'undefined' || !hasSymbols ? undefined : getProto(new Map()[Symbol.iterator]()),\n\t'%Math%': Math,\n\t'%Number%': Number,\n\t'%Object%': Object,\n\t'%parseFloat%': parseFloat,\n\t'%parseInt%': parseInt,\n\t'%Promise%': typeof Promise === 'undefined' ? undefined : Promise,\n\t'%Proxy%': typeof Proxy === 'undefined' ? undefined : Proxy,\n\t'%RangeError%': RangeError,\n\t'%ReferenceError%': ReferenceError,\n\t'%Reflect%': typeof Reflect === 'undefined' ? undefined : Reflect,\n\t'%RegExp%': RegExp,\n\t'%Set%': typeof Set === 'undefined' ? undefined : Set,\n\t'%SetIteratorPrototype%': typeof Set === 'undefined' || !hasSymbols ? undefined : getProto(new Set()[Symbol.iterator]()),\n\t'%SharedArrayBuffer%': typeof SharedArrayBuffer === 'undefined' ? undefined : SharedArrayBuffer,\n\t'%String%': String,\n\t'%StringIteratorPrototype%': hasSymbols ? getProto(''[Symbol.iterator]()) : undefined,\n\t'%Symbol%': hasSymbols ? Symbol : undefined,\n\t'%SyntaxError%': $SyntaxError,\n\t'%ThrowTypeError%': ThrowTypeError,\n\t'%TypedArray%': TypedArray,\n\t'%TypeError%': $TypeError,\n\t'%Uint8Array%': typeof Uint8Array === 'undefined' ? undefined : Uint8Array,\n\t'%Uint8ClampedArray%': typeof Uint8ClampedArray === 'undefined' ? undefined : Uint8ClampedArray,\n\t'%Uint16Array%': typeof Uint16Array === 'undefined' ? undefined : Uint16Array,\n\t'%Uint32Array%': typeof Uint32Array === 'undefined' ? undefined : Uint32Array,\n\t'%URIError%': URIError,\n\t'%WeakMap%': typeof WeakMap === 'undefined' ? undefined : WeakMap,\n\t'%WeakRef%': typeof WeakRef === 'undefined' ? undefined : WeakRef,\n\t'%WeakSet%': typeof WeakSet === 'undefined' ? undefined : WeakSet\n};\n\nvar doEval = function doEval(name) {\n\tvar value;\n\tif (name === '%AsyncFunction%') {\n\t\tvalue = getEvalledConstructor('async function () {}');\n\t} else if (name === '%GeneratorFunction%') {\n\t\tvalue = getEvalledConstructor('function* () {}');\n\t} else if (name === '%AsyncGeneratorFunction%') {\n\t\tvalue = getEvalledConstructor('async function* () {}');\n\t} else if (name === '%AsyncGenerator%') {\n\t\tvar fn = doEval('%AsyncGeneratorFunction%');\n\t\tif (fn) {\n\t\t\tvalue = fn.prototype;\n\t\t}\n\t} else if (name === '%AsyncIteratorPrototype%') {\n\t\tvar gen = doEval('%AsyncGenerator%');\n\t\tif (gen) {\n\t\t\tvalue = getProto(gen.prototype);\n\t\t}\n\t}\n\n\tINTRINSICS[name] = value;\n\n\treturn value;\n};\n\nvar LEGACY_ALIASES = {\n\t'%ArrayBufferPrototype%': ['ArrayBuffer', 'prototype'],\n\t'%ArrayPrototype%': ['Array', 'prototype'],\n\t'%ArrayProto_entries%': ['Array', 'prototype', 'entries'],\n\t'%ArrayProto_forEach%': ['Array', 'prototype', 'forEach'],\n\t'%ArrayProto_keys%': ['Array', 'prototype', 'keys'],\n\t'%ArrayProto_values%': ['Array', 'prototype', 'values'],\n\t'%AsyncFunctionPrototype%': ['AsyncFunction', 'prototype'],\n\t'%AsyncGenerator%': ['AsyncGeneratorFunction', 'prototype'],\n\t'%AsyncGeneratorPrototype%': ['AsyncGeneratorFunction', 'prototype', 'prototype'],\n\t'%BooleanPrototype%': ['Boolean', 'prototype'],\n\t'%DataViewPrototype%': ['DataView', 'prototype'],\n\t'%DatePrototype%': ['Date', 'prototype'],\n\t'%ErrorPrototype%': ['Error', 'prototype'],\n\t'%EvalErrorPrototype%': ['EvalError', 'prototype'],\n\t'%Float32ArrayPrototype%': ['Float32Array', 'prototype'],\n\t'%Float64ArrayPrototype%': ['Float64Array', 'prototype'],\n\t'%FunctionPrototype%': ['Function', 'prototype'],\n\t'%Generator%': ['GeneratorFunction', 'prototype'],\n\t'%GeneratorPrototype%': ['GeneratorFunction', 'prototype', 'prototype'],\n\t'%Int8ArrayPrototype%': ['Int8Array', 'prototype'],\n\t'%Int16ArrayPrototype%': ['Int16Array', 'prototype'],\n\t'%Int32ArrayPrototype%': ['Int32Array', 'prototype'],\n\t'%JSONParse%': ['JSON', 'parse'],\n\t'%JSONStringify%': ['JSON', 'stringify'],\n\t'%MapPrototype%': ['Map', 'prototype'],\n\t'%NumberPrototype%': ['Number', 'prototype'],\n\t'%ObjectPrototype%': ['Object', 'prototype'],\n\t'%ObjProto_toString%': ['Object', 'prototype', 'toString'],\n\t'%ObjProto_valueOf%': ['Object', 'prototype', 'valueOf'],\n\t'%PromisePrototype%': ['Promise', 'prototype'],\n\t'%PromiseProto_then%': ['Promise', 'prototype', 'then'],\n\t'%Promise_all%': ['Promise', 'all'],\n\t'%Promise_reject%': ['Promise', 'reject'],\n\t'%Promise_resolve%': ['Promise', 'resolve'],\n\t'%RangeErrorPrototype%': ['RangeError', 'prototype'],\n\t'%ReferenceErrorPrototype%': ['ReferenceError', 'prototype'],\n\t'%RegExpPrototype%': ['RegExp', 'prototype'],\n\t'%SetPrototype%': ['Set', 'prototype'],\n\t'%SharedArrayBufferPrototype%': ['SharedArrayBuffer', 'prototype'],\n\t'%StringPrototype%': ['String', 'prototype'],\n\t'%SymbolPrototype%': ['Symbol', 'prototype'],\n\t'%SyntaxErrorPrototype%': ['SyntaxError', 'prototype'],\n\t'%TypedArrayPrototype%': ['TypedArray', 'prototype'],\n\t'%TypeErrorPrototype%': ['TypeError', 'prototype'],\n\t'%Uint8ArrayPrototype%': ['Uint8Array', 'prototype'],\n\t'%Uint8ClampedArrayPrototype%': ['Uint8ClampedArray', 'prototype'],\n\t'%Uint16ArrayPrototype%': ['Uint16Array', 'prototype'],\n\t'%Uint32ArrayPrototype%': ['Uint32Array', 'prototype'],\n\t'%URIErrorPrototype%': ['URIError', 'prototype'],\n\t'%WeakMapPrototype%': ['WeakMap', 'prototype'],\n\t'%WeakSetPrototype%': ['WeakSet', 'prototype']\n};\n\nvar bind = require('function-bind');\nvar hasOwn = require('has');\nvar $concat = bind.call(Function.call, Array.prototype.concat);\nvar $spliceApply = bind.call(Function.apply, Array.prototype.splice);\nvar $replace = bind.call(Function.call, String.prototype.replace);\nvar $strSlice = bind.call(Function.call, String.prototype.slice);\nvar $exec = bind.call(Function.call, RegExp.prototype.exec);\n\n/* adapted from https://github.com/lodash/lodash/blob/4.17.15/dist/lodash.js#L6735-L6744 */\nvar rePropName = /[^%.[\\]]+|\\[(?:(-?\\d+(?:\\.\\d+)?)|([\"'])((?:(?!\\2)[^\\\\]|\\\\.)*?)\\2)\\]|(?=(?:\\.|\\[\\])(?:\\.|\\[\\]|%$))/g;\nvar reEscapeChar = /\\\\(\\\\)?/g; /** Used to match backslashes in property paths. */\nvar stringToPath = function stringToPath(string) {\n\tvar first = $strSlice(string, 0, 1);\n\tvar last = $strSlice(string, -1);\n\tif (first === '%' && last !== '%') {\n\t\tthrow new $SyntaxError('invalid intrinsic syntax, expected closing `%`');\n\t} else if (last === '%' && first !== '%') {\n\t\tthrow new $SyntaxError('invalid intrinsic syntax, expected opening `%`');\n\t}\n\tvar result = [];\n\t$replace(string, rePropName, function (match, number, quote, subString) {\n\t\tresult[result.length] = quote ? $replace(subString, reEscapeChar, '$1') : number || match;\n\t});\n\treturn result;\n};\n/* end adaptation */\n\nvar getBaseIntrinsic = function getBaseIntrinsic(name, allowMissing) {\n\tvar intrinsicName = name;\n\tvar alias;\n\tif (hasOwn(LEGACY_ALIASES, intrinsicName)) {\n\t\talias = LEGACY_ALIASES[intrinsicName];\n\t\tintrinsicName = '%' + alias[0] + '%';\n\t}\n\n\tif (hasOwn(INTRINSICS, intrinsicName)) {\n\t\tvar value = INTRINSICS[intrinsicName];\n\t\tif (value === needsEval) {\n\t\t\tvalue = doEval(intrinsicName);\n\t\t}\n\t\tif (typeof value === 'undefined' && !allowMissing) {\n\t\t\tthrow new $TypeError('intrinsic ' + name + ' exists, but is not available. Please file an issue!');\n\t\t}\n\n\t\treturn {\n\t\t\talias: alias,\n\t\t\tname: intrinsicName,\n\t\t\tvalue: value\n\t\t};\n\t}\n\n\tthrow new $SyntaxError('intrinsic ' + name + ' does not exist!');\n};\n\nmodule.exports = function GetIntrinsic(name, allowMissing) {\n\tif (typeof name !== 'string' || name.length === 0) {\n\t\tthrow new $TypeError('intrinsic name must be a non-empty string');\n\t}\n\tif (arguments.length > 1 && typeof allowMissing !== 'boolean') {\n\t\tthrow new $TypeError('\"allowMissing\" argument must be a boolean');\n\t}\n\n\tif ($exec(/^%?[^%]*%?$/g, name) === null) {\n\t\tthrow new $SyntaxError('`%` may not be present anywhere but at the beginning and end of the intrinsic name');\n\t}\n\tvar parts = stringToPath(name);\n\tvar intrinsicBaseName = parts.length > 0 ? parts[0] : '';\n\n\tvar intrinsic = getBaseIntrinsic('%' + intrinsicBaseName + '%', allowMissing);\n\tvar intrinsicRealName = intrinsic.name;\n\tvar value = intrinsic.value;\n\tvar skipFurtherCaching = false;\n\n\tvar alias = intrinsic.alias;\n\tif (alias) {\n\t\tintrinsicBaseName = alias[0];\n\t\t$spliceApply(parts, $concat([0, 1], alias));\n\t}\n\n\tfor (var i = 1, isOwn = true; i < parts.length; i += 1) {\n\t\tvar part = parts[i];\n\t\tvar first = $strSlice(part, 0, 1);\n\t\tvar last = $strSlice(part, -1);\n\t\tif (\n\t\t\t(\n\t\t\t\t(first === '\"' || first === \"'\" || first === '`')\n\t\t\t\t|| (last === '\"' || last === \"'\" || last === '`')\n\t\t\t)\n\t\t\t&& first !== last\n\t\t) {\n\t\t\tthrow new $SyntaxError('property names with quotes must have matching quotes');\n\t\t}\n\t\tif (part === 'constructor' || !isOwn) {\n\t\t\tskipFurtherCaching = true;\n\t\t}\n\n\t\tintrinsicBaseName += '.' + part;\n\t\tintrinsicRealName = '%' + intrinsicBaseName + '%';\n\n\t\tif (hasOwn(INTRINSICS, intrinsicRealName)) {\n\t\t\tvalue = INTRINSICS[intrinsicRealName];\n\t\t} else if (value != null) {\n\t\t\tif (!(part in value)) {\n\t\t\t\tif (!allowMissing) {\n\t\t\t\t\tthrow new $TypeError('base intrinsic for ' + name + ' exists, but the property is not available.');\n\t\t\t\t}\n\t\t\t\treturn void undefined;\n\t\t\t}\n\t\t\tif ($gOPD && (i + 1) >= parts.length) {\n\t\t\t\tvar desc = $gOPD(value, part);\n\t\t\t\tisOwn = !!desc;\n\n\t\t\t\t// By convention, when a data property is converted to an accessor\n\t\t\t\t// property to emulate a data property that does not suffer from\n\t\t\t\t// the override mistake, that accessor's getter is marked with\n\t\t\t\t// an `originalValue` property. Here, when we detect this, we\n\t\t\t\t// uphold the illusion by pretending to see that original data\n\t\t\t\t// property, i.e., returning the value rather than the getter\n\t\t\t\t// itself.\n\t\t\t\tif (isOwn && 'get' in desc && !('originalValue' in desc.get)) {\n\t\t\t\t\tvalue = desc.get;\n\t\t\t\t} else {\n\t\t\t\t\tvalue = value[part];\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tisOwn = hasOwn(value, part);\n\t\t\t\tvalue = value[part];\n\t\t\t}\n\n\t\t\tif (isOwn && !skipFurtherCaching) {\n\t\t\t\tINTRINSICS[intrinsicRealName] = value;\n\t\t\t}\n\t\t}\n\t}\n\treturn value;\n};\n","'use strict';\n\nvar GetIntrinsic = require('get-intrinsic');\n\nvar $defineProperty = GetIntrinsic('%Object.defineProperty%', true);\n\nvar hasPropertyDescriptors = function hasPropertyDescriptors() {\n\tif ($defineProperty) {\n\t\ttry {\n\t\t\t$defineProperty({}, 'a', { value: 1 });\n\t\t\treturn true;\n\t\t} catch (e) {\n\t\t\t// IE 8 has a broken defineProperty\n\t\t\treturn false;\n\t\t}\n\t}\n\treturn false;\n};\n\nhasPropertyDescriptors.hasArrayLengthDefineBug = function hasArrayLengthDefineBug() {\n\t// node v0.6 has a bug where array lengths can be Set but not Defined\n\tif (!hasPropertyDescriptors()) {\n\t\treturn null;\n\t}\n\ttry {\n\t\treturn $defineProperty([], 'length', { value: 1 }).length !== 1;\n\t} catch (e) {\n\t\t// In Firefox 4-22, defining length on an array throws an exception.\n\t\treturn true;\n\t}\n};\n\nmodule.exports = hasPropertyDescriptors;\n","'use strict';\n\nvar implementation = require('./implementation');\n\nmodule.exports = function getPolyfill() {\n\tif (typeof global !== 'object' || !global || global.Math !== Math || global.Array !== Array) {\n\t\treturn implementation;\n\t}\n\treturn global;\n};\n","'use strict';\n\nvar define = require('define-properties');\nvar getPolyfill = require('./polyfill');\n\nmodule.exports = function shimGlobal() {\n\tvar polyfill = getPolyfill();\n\tif (define.supportsDescriptors) {\n\t\tvar descriptor = Object.getOwnPropertyDescriptor(polyfill, 'globalThis');\n\t\tif (!descriptor || (descriptor.configurable && (descriptor.enumerable || !descriptor.writable || globalThis !== polyfill))) { // eslint-disable-line max-len\n\t\t\tObject.defineProperty(polyfill, 'globalThis', {\n\t\t\t\tconfigurable: true,\n\t\t\t\tenumerable: false,\n\t\t\t\tvalue: polyfill,\n\t\t\t\twritable: true\n\t\t\t});\n\t\t}\n\t} else if (typeof globalThis !== 'object' || globalThis !== polyfill) {\n\t\tpolyfill.globalThis = polyfill;\n\t}\n\treturn polyfill;\n};\n","'use strict';\n\nvar GetIntrinsic = require('get-intrinsic');\n\nvar $gOPD = GetIntrinsic('%Object.getOwnPropertyDescriptor%', true);\n\nif ($gOPD) {\n\ttry {\n\t\t$gOPD([], 'length');\n\t} catch (e) {\n\t\t// IE 8 has a broken gOPD\n\t\t$gOPD = null;\n\t}\n}\n\nmodule.exports = $gOPD;\n","'use strict';\n\nvar undefined;\n\nvar $SyntaxError = SyntaxError;\nvar $Function = Function;\nvar $TypeError = TypeError;\n\n// eslint-disable-next-line consistent-return\nvar getEvalledConstructor = function (expressionSyntax) {\n\ttry {\n\t\treturn $Function('\"use strict\"; return (' + expressionSyntax + ').constructor;')();\n\t} catch (e) {}\n};\n\nvar $gOPD = Object.getOwnPropertyDescriptor;\nif ($gOPD) {\n\ttry {\n\t\t$gOPD({}, '');\n\t} catch (e) {\n\t\t$gOPD = null; // this is IE 8, which has a broken gOPD\n\t}\n}\n\nvar throwTypeError = function () {\n\tthrow new $TypeError();\n};\nvar ThrowTypeError = $gOPD\n\t? (function () {\n\t\ttry {\n\t\t\t// eslint-disable-next-line no-unused-expressions, no-caller, no-restricted-properties\n\t\t\targuments.callee; // IE 8 does not throw here\n\t\t\treturn throwTypeError;\n\t\t} catch (calleeThrows) {\n\t\t\ttry {\n\t\t\t\t// IE 8 throws on Object.getOwnPropertyDescriptor(arguments, '')\n\t\t\t\treturn $gOPD(arguments, 'callee').get;\n\t\t\t} catch (gOPDthrows) {\n\t\t\t\treturn throwTypeError;\n\t\t\t}\n\t\t}\n\t}())\n\t: throwTypeError;\n\nvar hasSymbols = require('has-symbols')();\n\nvar getProto = Object.getPrototypeOf || function (x) { return x.__proto__; }; // eslint-disable-line no-proto\n\nvar needsEval = {};\n\nvar TypedArray = typeof Uint8Array === 'undefined' ? undefined : getProto(Uint8Array);\n\nvar INTRINSICS = {\n\t'%AggregateError%': typeof AggregateError === 'undefined' ? undefined : AggregateError,\n\t'%Array%': Array,\n\t'%ArrayBuffer%': typeof ArrayBuffer === 'undefined' ? undefined : ArrayBuffer,\n\t'%ArrayIteratorPrototype%': hasSymbols ? getProto([][Symbol.iterator]()) : undefined,\n\t'%AsyncFromSyncIteratorPrototype%': undefined,\n\t'%AsyncFunction%': needsEval,\n\t'%AsyncGenerator%': needsEval,\n\t'%AsyncGeneratorFunction%': needsEval,\n\t'%AsyncIteratorPrototype%': needsEval,\n\t'%Atomics%': typeof Atomics === 'undefined' ? undefined : Atomics,\n\t'%BigInt%': typeof BigInt === 'undefined' ? undefined : BigInt,\n\t'%Boolean%': Boolean,\n\t'%DataView%': typeof DataView === 'undefined' ? undefined : DataView,\n\t'%Date%': Date,\n\t'%decodeURI%': decodeURI,\n\t'%decodeURIComponent%': decodeURIComponent,\n\t'%encodeURI%': encodeURI,\n\t'%encodeURIComponent%': encodeURIComponent,\n\t'%Error%': Error,\n\t'%eval%': eval, // eslint-disable-line no-eval\n\t'%EvalError%': EvalError,\n\t'%Float32Array%': typeof Float32Array === 'undefined' ? undefined : Float32Array,\n\t'%Float64Array%': typeof Float64Array === 'undefined' ? undefined : Float64Array,\n\t'%FinalizationRegistry%': typeof FinalizationRegistry === 'undefined' ? undefined : FinalizationRegistry,\n\t'%Function%': $Function,\n\t'%GeneratorFunction%': needsEval,\n\t'%Int8Array%': typeof Int8Array === 'undefined' ? undefined : Int8Array,\n\t'%Int16Array%': typeof Int16Array === 'undefined' ? undefined : Int16Array,\n\t'%Int32Array%': typeof Int32Array === 'undefined' ? undefined : Int32Array,\n\t'%isFinite%': isFinite,\n\t'%isNaN%': isNaN,\n\t'%IteratorPrototype%': hasSymbols ? getProto(getProto([][Symbol.iterator]())) : undefined,\n\t'%JSON%': typeof JSON === 'object' ? JSON : undefined,\n\t'%Map%': typeof Map === 'undefined' ? undefined : Map,\n\t'%MapIteratorPrototype%': typeof Map === 'undefined' || !hasSymbols ? undefined : getProto(new Map()[Symbol.iterator]()),\n\t'%Math%': Math,\n\t'%Number%': Number,\n\t'%Object%': Object,\n\t'%parseFloat%': parseFloat,\n\t'%parseInt%': parseInt,\n\t'%Promise%': typeof Promise === 'undefined' ? undefined : Promise,\n\t'%Proxy%': typeof Proxy === 'undefined' ? undefined : Proxy,\n\t'%RangeError%': RangeError,\n\t'%ReferenceError%': ReferenceError,\n\t'%Reflect%': typeof Reflect === 'undefined' ? undefined : Reflect,\n\t'%RegExp%': RegExp,\n\t'%Set%': typeof Set === 'undefined' ? undefined : Set,\n\t'%SetIteratorPrototype%': typeof Set === 'undefined' || !hasSymbols ? undefined : getProto(new Set()[Symbol.iterator]()),\n\t'%SharedArrayBuffer%': typeof SharedArrayBuffer === 'undefined' ? undefined : SharedArrayBuffer,\n\t'%String%': String,\n\t'%StringIteratorPrototype%': hasSymbols ? getProto(''[Symbol.iterator]()) : undefined,\n\t'%Symbol%': hasSymbols ? Symbol : undefined,\n\t'%SyntaxError%': $SyntaxError,\n\t'%ThrowTypeError%': ThrowTypeError,\n\t'%TypedArray%': TypedArray,\n\t'%TypeError%': $TypeError,\n\t'%Uint8Array%': typeof Uint8Array === 'undefined' ? undefined : Uint8Array,\n\t'%Uint8ClampedArray%': typeof Uint8ClampedArray === 'undefined' ? undefined : Uint8ClampedArray,\n\t'%Uint16Array%': typeof Uint16Array === 'undefined' ? undefined : Uint16Array,\n\t'%Uint32Array%': typeof Uint32Array === 'undefined' ? undefined : Uint32Array,\n\t'%URIError%': URIError,\n\t'%WeakMap%': typeof WeakMap === 'undefined' ? undefined : WeakMap,\n\t'%WeakRef%': typeof WeakRef === 'undefined' ? undefined : WeakRef,\n\t'%WeakSet%': typeof WeakSet === 'undefined' ? undefined : WeakSet\n};\n\nvar doEval = function doEval(name) {\n\tvar value;\n\tif (name === '%AsyncFunction%') {\n\t\tvalue = getEvalledConstructor('async function () {}');\n\t} else if (name === '%GeneratorFunction%') {\n\t\tvalue = getEvalledConstructor('function* () {}');\n\t} else if (name === '%AsyncGeneratorFunction%') {\n\t\tvalue = getEvalledConstructor('async function* () {}');\n\t} else if (name === '%AsyncGenerator%') {\n\t\tvar fn = doEval('%AsyncGeneratorFunction%');\n\t\tif (fn) {\n\t\t\tvalue = fn.prototype;\n\t\t}\n\t} else if (name === '%AsyncIteratorPrototype%') {\n\t\tvar gen = doEval('%AsyncGenerator%');\n\t\tif (gen) {\n\t\t\tvalue = getProto(gen.prototype);\n\t\t}\n\t}\n\n\tINTRINSICS[name] = value;\n\n\treturn value;\n};\n\nvar LEGACY_ALIASES = {\n\t'%ArrayBufferPrototype%': ['ArrayBuffer', 'prototype'],\n\t'%ArrayPrototype%': ['Array', 'prototype'],\n\t'%ArrayProto_entries%': ['Array', 'prototype', 'entries'],\n\t'%ArrayProto_forEach%': ['Array', 'prototype', 'forEach'],\n\t'%ArrayProto_keys%': ['Array', 'prototype', 'keys'],\n\t'%ArrayProto_values%': ['Array', 'prototype', 'values'],\n\t'%AsyncFunctionPrototype%': ['AsyncFunction', 'prototype'],\n\t'%AsyncGenerator%': ['AsyncGeneratorFunction', 'prototype'],\n\t'%AsyncGeneratorPrototype%': ['AsyncGeneratorFunction', 'prototype', 'prototype'],\n\t'%BooleanPrototype%': ['Boolean', 'prototype'],\n\t'%DataViewPrototype%': ['DataView', 'prototype'],\n\t'%DatePrototype%': ['Date', 'prototype'],\n\t'%ErrorPrototype%': ['Error', 'prototype'],\n\t'%EvalErrorPrototype%': ['EvalError', 'prototype'],\n\t'%Float32ArrayPrototype%': ['Float32Array', 'prototype'],\n\t'%Float64ArrayPrototype%': ['Float64Array', 'prototype'],\n\t'%FunctionPrototype%': ['Function', 'prototype'],\n\t'%Generator%': ['GeneratorFunction', 'prototype'],\n\t'%GeneratorPrototype%': ['GeneratorFunction', 'prototype', 'prototype'],\n\t'%Int8ArrayPrototype%': ['Int8Array', 'prototype'],\n\t'%Int16ArrayPrototype%': ['Int16Array', 'prototype'],\n\t'%Int32ArrayPrototype%': ['Int32Array', 'prototype'],\n\t'%JSONParse%': ['JSON', 'parse'],\n\t'%JSONStringify%': ['JSON', 'stringify'],\n\t'%MapPrototype%': ['Map', 'prototype'],\n\t'%NumberPrototype%': ['Number', 'prototype'],\n\t'%ObjectPrototype%': ['Object', 'prototype'],\n\t'%ObjProto_toString%': ['Object', 'prototype', 'toString'],\n\t'%ObjProto_valueOf%': ['Object', 'prototype', 'valueOf'],\n\t'%PromisePrototype%': ['Promise', 'prototype'],\n\t'%PromiseProto_then%': ['Promise', 'prototype', 'then'],\n\t'%Promise_all%': ['Promise', 'all'],\n\t'%Promise_reject%': ['Promise', 'reject'],\n\t'%Promise_resolve%': ['Promise', 'resolve'],\n\t'%RangeErrorPrototype%': ['RangeError', 'prototype'],\n\t'%ReferenceErrorPrototype%': ['ReferenceError', 'prototype'],\n\t'%RegExpPrototype%': ['RegExp', 'prototype'],\n\t'%SetPrototype%': ['Set', 'prototype'],\n\t'%SharedArrayBufferPrototype%': ['SharedArrayBuffer', 'prototype'],\n\t'%StringPrototype%': ['String', 'prototype'],\n\t'%SymbolPrototype%': ['Symbol', 'prototype'],\n\t'%SyntaxErrorPrototype%': ['SyntaxError', 'prototype'],\n\t'%TypedArrayPrototype%': ['TypedArray', 'prototype'],\n\t'%TypeErrorPrototype%': ['TypeError', 'prototype'],\n\t'%Uint8ArrayPrototype%': ['Uint8Array', 'prototype'],\n\t'%Uint8ClampedArrayPrototype%': ['Uint8ClampedArray', 'prototype'],\n\t'%Uint16ArrayPrototype%': ['Uint16Array', 'prototype'],\n\t'%Uint32ArrayPrototype%': ['Uint32Array', 'prototype'],\n\t'%URIErrorPrototype%': ['URIError', 'prototype'],\n\t'%WeakMapPrototype%': ['WeakMap', 'prototype'],\n\t'%WeakSetPrototype%': ['WeakSet', 'prototype']\n};\n\nvar bind = require('function-bind');\nvar hasOwn = require('has');\nvar $concat = bind.call(Function.call, Array.prototype.concat);\nvar $spliceApply = bind.call(Function.apply, Array.prototype.splice);\nvar $replace = bind.call(Function.call, String.prototype.replace);\nvar $strSlice = bind.call(Function.call, String.prototype.slice);\nvar $exec = bind.call(Function.call, RegExp.prototype.exec);\n\n/* adapted from https://github.com/lodash/lodash/blob/4.17.15/dist/lodash.js#L6735-L6744 */\nvar rePropName = /[^%.[\\]]+|\\[(?:(-?\\d+(?:\\.\\d+)?)|([\"'])((?:(?!\\2)[^\\\\]|\\\\.)*?)\\2)\\]|(?=(?:\\.|\\[\\])(?:\\.|\\[\\]|%$))/g;\nvar reEscapeChar = /\\\\(\\\\)?/g; /** Used to match backslashes in property paths. */\nvar stringToPath = function stringToPath(string) {\n\tvar first = $strSlice(string, 0, 1);\n\tvar last = $strSlice(string, -1);\n\tif (first === '%' && last !== '%') {\n\t\tthrow new $SyntaxError('invalid intrinsic syntax, expected closing `%`');\n\t} else if (last === '%' && first !== '%') {\n\t\tthrow new $SyntaxError('invalid intrinsic syntax, expected opening `%`');\n\t}\n\tvar result = [];\n\t$replace(string, rePropName, function (match, number, quote, subString) {\n\t\tresult[result.length] = quote ? $replace(subString, reEscapeChar, '$1') : number || match;\n\t});\n\treturn result;\n};\n/* end adaptation */\n\nvar getBaseIntrinsic = function getBaseIntrinsic(name, allowMissing) {\n\tvar intrinsicName = name;\n\tvar alias;\n\tif (hasOwn(LEGACY_ALIASES, intrinsicName)) {\n\t\talias = LEGACY_ALIASES[intrinsicName];\n\t\tintrinsicName = '%' + alias[0] + '%';\n\t}\n\n\tif (hasOwn(INTRINSICS, intrinsicName)) {\n\t\tvar value = INTRINSICS[intrinsicName];\n\t\tif (value === needsEval) {\n\t\t\tvalue = doEval(intrinsicName);\n\t\t}\n\t\tif (typeof value === 'undefined' && !allowMissing) {\n\t\t\tthrow new $TypeError('intrinsic ' + name + ' exists, but is not available. Please file an issue!');\n\t\t}\n\n\t\treturn {\n\t\t\talias: alias,\n\t\t\tname: intrinsicName,\n\t\t\tvalue: value\n\t\t};\n\t}\n\n\tthrow new $SyntaxError('intrinsic ' + name + ' does not exist!');\n};\n\nmodule.exports = function GetIntrinsic(name, allowMissing) {\n\tif (typeof name !== 'string' || name.length === 0) {\n\t\tthrow new $TypeError('intrinsic name must be a non-empty string');\n\t}\n\tif (arguments.length > 1 && typeof allowMissing !== 'boolean') {\n\t\tthrow new $TypeError('\"allowMissing\" argument must be a boolean');\n\t}\n\n\tif ($exec(/^%?[^%]*%?$/, name) === null) {\n\t\tthrow new $SyntaxError('`%` may not be present anywhere but at the beginning and end of the intrinsic name');\n\t}\n\tvar parts = stringToPath(name);\n\tvar intrinsicBaseName = parts.length > 0 ? parts[0] : '';\n\n\tvar intrinsic = getBaseIntrinsic('%' + intrinsicBaseName + '%', allowMissing);\n\tvar intrinsicRealName = intrinsic.name;\n\tvar value = intrinsic.value;\n\tvar skipFurtherCaching = false;\n\n\tvar alias = intrinsic.alias;\n\tif (alias) {\n\t\tintrinsicBaseName = alias[0];\n\t\t$spliceApply(parts, $concat([0, 1], alias));\n\t}\n\n\tfor (var i = 1, isOwn = true; i < parts.length; i += 1) {\n\t\tvar part = parts[i];\n\t\tvar first = $strSlice(part, 0, 1);\n\t\tvar last = $strSlice(part, -1);\n\t\tif (\n\t\t\t(\n\t\t\t\t(first === '\"' || first === \"'\" || first === '`')\n\t\t\t\t|| (last === '\"' || last === \"'\" || last === '`')\n\t\t\t)\n\t\t\t&& first !== last\n\t\t) {\n\t\t\tthrow new $SyntaxError('property names with quotes must have matching quotes');\n\t\t}\n\t\tif (part === 'constructor' || !isOwn) {\n\t\t\tskipFurtherCaching = true;\n\t\t}\n\n\t\tintrinsicBaseName += '.' + part;\n\t\tintrinsicRealName = '%' + intrinsicBaseName + '%';\n\n\t\tif (hasOwn(INTRINSICS, intrinsicRealName)) {\n\t\t\tvalue = INTRINSICS[intrinsicRealName];\n\t\t} else if (value != null) {\n\t\t\tif (!(part in value)) {\n\t\t\t\tif (!allowMissing) {\n\t\t\t\t\tthrow new $TypeError('base intrinsic for ' + name + ' exists, but the property is not available.');\n\t\t\t\t}\n\t\t\t\treturn void undefined;\n\t\t\t}\n\t\t\tif ($gOPD && (i + 1) >= parts.length) {\n\t\t\t\tvar desc = $gOPD(value, part);\n\t\t\t\tisOwn = !!desc;\n\n\t\t\t\t// By convention, when a data property is converted to an accessor\n\t\t\t\t// property to emulate a data property that does not suffer from\n\t\t\t\t// the override mistake, that accessor's getter is marked with\n\t\t\t\t// an `originalValue` property. Here, when we detect this, we\n\t\t\t\t// uphold the illusion by pretending to see that original data\n\t\t\t\t// property, i.e., returning the value rather than the getter\n\t\t\t\t// itself.\n\t\t\t\tif (isOwn && 'get' in desc && !('originalValue' in desc.get)) {\n\t\t\t\t\tvalue = desc.get;\n\t\t\t\t} else {\n\t\t\t\t\tvalue = value[part];\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tisOwn = hasOwn(value, part);\n\t\t\t\tvalue = value[part];\n\t\t\t}\n\n\t\t\tif (isOwn && !skipFurtherCaching) {\n\t\t\t\tINTRINSICS[intrinsicRealName] = value;\n\t\t\t}\n\t\t}\n\t}\n\treturn value;\n};\n","'use strict';\n\nvar $defineProperty = require('es-define-property');\n\nvar hasPropertyDescriptors = function hasPropertyDescriptors() {\n\treturn !!$defineProperty;\n};\n\nhasPropertyDescriptors.hasArrayLengthDefineBug = function hasArrayLengthDefineBug() {\n\t// node v0.6 has a bug where array lengths can be Set but not Defined\n\tif (!$defineProperty) {\n\t\treturn null;\n\t}\n\ttry {\n\t\treturn $defineProperty([], 'length', { value: 1 }).length !== 1;\n\t} catch (e) {\n\t\t// In Firefox 4-22, defining length on an array throws an exception.\n\t\treturn true;\n\t}\n};\n\nmodule.exports = hasPropertyDescriptors;\n","'use strict';\n\nvar origSymbol = typeof Symbol !== 'undefined' && Symbol;\nvar hasSymbolSham = require('./shams');\n\nmodule.exports = function hasNativeSymbols() {\n\tif (typeof origSymbol !== 'function') { return false; }\n\tif (typeof Symbol !== 'function') { return false; }\n\tif (typeof origSymbol('foo') !== 'symbol') { return false; }\n\tif (typeof Symbol('bar') !== 'symbol') { return false; }\n\n\treturn hasSymbolSham();\n};\n","'use strict';\n\n/* eslint complexity: [2, 18], max-statements: [2, 33] */\nmodule.exports = function hasSymbols() {\n\tif (typeof Symbol !== 'function' || typeof Object.getOwnPropertySymbols !== 'function') { return false; }\n\tif (typeof Symbol.iterator === 'symbol') { return true; }\n\n\tvar obj = {};\n\tvar sym = Symbol('test');\n\tvar symObj = Object(sym);\n\tif (typeof sym === 'string') { return false; }\n\n\tif (Object.prototype.toString.call(sym) !== '[object Symbol]') { return false; }\n\tif (Object.prototype.toString.call(symObj) !== '[object Symbol]') { return false; }\n\n\t// temp disabled per https://github.com/ljharb/object.assign/issues/17\n\t// if (sym instanceof Symbol) { return false; }\n\t// temp disabled per https://github.com/WebReflection/get-own-property-symbols/issues/4\n\t// if (!(symObj instanceof Symbol)) { return false; }\n\n\t// if (typeof Symbol.prototype.toString !== 'function') { return false; }\n\t// if (String(sym) !== Symbol.prototype.toString.call(sym)) { return false; }\n\n\tvar symVal = 42;\n\tobj[sym] = symVal;\n\tfor (sym in obj) { return false; } // eslint-disable-line no-restricted-syntax, no-unreachable-loop\n\tif (typeof Object.keys === 'function' && Object.keys(obj).length !== 0) { return false; }\n\n\tif (typeof Object.getOwnPropertyNames === 'function' && Object.getOwnPropertyNames(obj).length !== 0) { return false; }\n\n\tvar syms = Object.getOwnPropertySymbols(obj);\n\tif (syms.length !== 1 || syms[0] !== sym) { return false; }\n\n\tif (!Object.prototype.propertyIsEnumerable.call(obj, sym)) { return false; }\n\n\tif (typeof Object.getOwnPropertyDescriptor === 'function') {\n\t\tvar descriptor = Object.getOwnPropertyDescriptor(obj, sym);\n\t\tif (descriptor.value !== symVal || descriptor.enumerable !== true) { return false; }\n\t}\n\n\treturn true;\n};\n","'use strict';\n\nvar bind = require('function-bind');\n\nmodule.exports = bind.call(Function.call, Object.prototype.hasOwnProperty);\n","'use strict';\n\nvar call = Function.prototype.call;\nvar $hasOwn = Object.prototype.hasOwnProperty;\nvar bind = require('function-bind');\n\n/** @type {import('.')} */\nmodule.exports = bind.call(call, $hasOwn);\n","'use strict';\n\n/* eslint no-invalid-this: 1 */\n\nvar ERROR_MESSAGE = 'Function.prototype.bind called on incompatible ';\nvar toStr = Object.prototype.toString;\nvar max = Math.max;\nvar funcType = '[object Function]';\n\nvar concatty = function concatty(a, b) {\n var arr = [];\n\n for (var i = 0; i < a.length; i += 1) {\n arr[i] = a[i];\n }\n for (var j = 0; j < b.length; j += 1) {\n arr[j + a.length] = b[j];\n }\n\n return arr;\n};\n\nvar slicy = function slicy(arrLike, offset) {\n var arr = [];\n for (var i = offset || 0, j = 0; i < arrLike.length; i += 1, j += 1) {\n arr[j] = arrLike[i];\n }\n return arr;\n};\n\nvar joiny = function (arr, joiner) {\n var str = '';\n for (var i = 0; i < arr.length; i += 1) {\n str += arr[i];\n if (i + 1 < arr.length) {\n str += joiner;\n }\n }\n return str;\n};\n\nmodule.exports = function bind(that) {\n var target = this;\n if (typeof target !== 'function' || toStr.apply(target) !== funcType) {\n throw new TypeError(ERROR_MESSAGE + target);\n }\n var args = slicy(arguments, 1);\n\n var bound;\n var binder = function () {\n if (this instanceof bound) {\n var result = target.apply(\n this,\n concatty(args, arguments)\n );\n if (Object(result) === result) {\n return result;\n }\n return this;\n }\n return target.apply(\n that,\n concatty(args, arguments)\n );\n\n };\n\n var boundLength = max(0, target.length - args.length);\n var boundArgs = [];\n for (var i = 0; i < boundLength; i++) {\n boundArgs[i] = '$' + i;\n }\n\n bound = Function('binder', 'return function (' + joiny(boundArgs, ',') + '){ return binder.apply(this,arguments); }')(binder);\n\n if (target.prototype) {\n var Empty = function Empty() {};\n Empty.prototype = target.prototype;\n bound.prototype = new Empty();\n Empty.prototype = null;\n }\n\n return bound;\n};\n","'use strict';\n\nvar implementation = require('./implementation');\n\nmodule.exports = Function.prototype.bind || implementation;\n","import _extends from '@babel/runtime/helpers/esm/extends';\n\n/**\r\n * Actions represent the type of change to a location value.\r\n *\r\n * @see https://github.com/remix-run/history/tree/main/docs/api-reference.md#action\r\n */\nvar Action;\n\n(function (Action) {\n /**\r\n * A POP indicates a change to an arbitrary index in the history stack, such\r\n * as a back or forward navigation. It does not describe the direction of the\r\n * navigation, only that the current index changed.\r\n *\r\n * Note: This is the default action for newly created history objects.\r\n */\n Action[\"Pop\"] = \"POP\";\n /**\r\n * A PUSH indicates a new entry being added to the history stack, such as when\r\n * a link is clicked and a new page loads. When this happens, all subsequent\r\n * entries in the stack are lost.\r\n */\n\n Action[\"Push\"] = \"PUSH\";\n /**\r\n * A REPLACE indicates the entry at the current index in the history stack\r\n * being replaced by a new one.\r\n */\n\n Action[\"Replace\"] = \"REPLACE\";\n})(Action || (Action = {}));\n\nvar readOnly = process.env.NODE_ENV !== \"production\" ? function (obj) {\n return Object.freeze(obj);\n} : function (obj) {\n return obj;\n};\n\nfunction warning(cond, message) {\n if (!cond) {\n // eslint-disable-next-line no-console\n if (typeof console !== 'undefined') console.warn(message);\n\n try {\n // Welcome to debugging history!\n //\n // This error is thrown as a convenience so you can more easily\n // find the source for a warning that appears in the console by\n // enabling \"pause on exceptions\" in your JavaScript debugger.\n throw new Error(message); // eslint-disable-next-line no-empty\n } catch (e) {}\n }\n}\n\nvar BeforeUnloadEventType = 'beforeunload';\nvar HashChangeEventType = 'hashchange';\nvar PopStateEventType = 'popstate';\n/**\r\n * Browser history stores the location in regular URLs. This is the standard for\r\n * most web apps, but it requires some configuration on the server to ensure you\r\n * serve the same app at multiple URLs.\r\n *\r\n * @see https://github.com/remix-run/history/tree/main/docs/api-reference.md#createbrowserhistory\r\n */\n\nfunction createBrowserHistory(options) {\n if (options === void 0) {\n options = {};\n }\n\n var _options = options,\n _options$window = _options.window,\n window = _options$window === void 0 ? document.defaultView : _options$window;\n var globalHistory = window.history;\n\n function getIndexAndLocation() {\n var _window$location = window.location,\n pathname = _window$location.pathname,\n search = _window$location.search,\n hash = _window$location.hash;\n var state = globalHistory.state || {};\n return [state.idx, readOnly({\n pathname: pathname,\n search: search,\n hash: hash,\n state: state.usr || null,\n key: state.key || 'default'\n })];\n }\n\n var blockedPopTx = null;\n\n function handlePop() {\n if (blockedPopTx) {\n blockers.call(blockedPopTx);\n blockedPopTx = null;\n } else {\n var nextAction = Action.Pop;\n\n var _getIndexAndLocation = getIndexAndLocation(),\n nextIndex = _getIndexAndLocation[0],\n nextLocation = _getIndexAndLocation[1];\n\n if (blockers.length) {\n if (nextIndex != null) {\n var delta = index - nextIndex;\n\n if (delta) {\n // Revert the POP\n blockedPopTx = {\n action: nextAction,\n location: nextLocation,\n retry: function retry() {\n go(delta * -1);\n }\n };\n go(delta);\n }\n } else {\n // Trying to POP to a location with no index. We did not create\n // this location, so we can't effectively block the navigation.\n process.env.NODE_ENV !== \"production\" ? warning(false, // TODO: Write up a doc that explains our blocking strategy in\n // detail and link to it here so people can understand better what\n // is going on and how to avoid it.\n \"You are trying to block a POP navigation to a location that was not \" + \"created by the history library. The block will fail silently in \" + \"production, but in general you should do all navigation with the \" + \"history library (instead of using window.history.pushState directly) \" + \"to avoid this situation.\") : void 0;\n }\n } else {\n applyTx(nextAction);\n }\n }\n }\n\n window.addEventListener(PopStateEventType, handlePop);\n var action = Action.Pop;\n\n var _getIndexAndLocation2 = getIndexAndLocation(),\n index = _getIndexAndLocation2[0],\n location = _getIndexAndLocation2[1];\n\n var listeners = createEvents();\n var blockers = createEvents();\n\n if (index == null) {\n index = 0;\n globalHistory.replaceState(_extends({}, globalHistory.state, {\n idx: index\n }), '');\n }\n\n function createHref(to) {\n return typeof to === 'string' ? to : createPath(to);\n } // state defaults to `null` because `window.history.state` does\n\n\n function getNextLocation(to, state) {\n if (state === void 0) {\n state = null;\n }\n\n return readOnly(_extends({\n pathname: location.pathname,\n hash: '',\n search: ''\n }, typeof to === 'string' ? parsePath(to) : to, {\n state: state,\n key: createKey()\n }));\n }\n\n function getHistoryStateAndUrl(nextLocation, index) {\n return [{\n usr: nextLocation.state,\n key: nextLocation.key,\n idx: index\n }, createHref(nextLocation)];\n }\n\n function allowTx(action, location, retry) {\n return !blockers.length || (blockers.call({\n action: action,\n location: location,\n retry: retry\n }), false);\n }\n\n function applyTx(nextAction) {\n action = nextAction;\n\n var _getIndexAndLocation3 = getIndexAndLocation();\n\n index = _getIndexAndLocation3[0];\n location = _getIndexAndLocation3[1];\n listeners.call({\n action: action,\n location: location\n });\n }\n\n function push(to, state) {\n var nextAction = Action.Push;\n var nextLocation = getNextLocation(to, state);\n\n function retry() {\n push(to, state);\n }\n\n if (allowTx(nextAction, nextLocation, retry)) {\n var _getHistoryStateAndUr = getHistoryStateAndUrl(nextLocation, index + 1),\n historyState = _getHistoryStateAndUr[0],\n url = _getHistoryStateAndUr[1]; // TODO: Support forced reloading\n // try...catch because iOS limits us to 100 pushState calls :/\n\n\n try {\n globalHistory.pushState(historyState, '', url);\n } catch (error) {\n // They are going to lose state here, but there is no real\n // way to warn them about it since the page will refresh...\n window.location.assign(url);\n }\n\n applyTx(nextAction);\n }\n }\n\n function replace(to, state) {\n var nextAction = Action.Replace;\n var nextLocation = getNextLocation(to, state);\n\n function retry() {\n replace(to, state);\n }\n\n if (allowTx(nextAction, nextLocation, retry)) {\n var _getHistoryStateAndUr2 = getHistoryStateAndUrl(nextLocation, index),\n historyState = _getHistoryStateAndUr2[0],\n url = _getHistoryStateAndUr2[1]; // TODO: Support forced reloading\n\n\n globalHistory.replaceState(historyState, '', url);\n applyTx(nextAction);\n }\n }\n\n function go(delta) {\n globalHistory.go(delta);\n }\n\n var history = {\n get action() {\n return action;\n },\n\n get location() {\n return location;\n },\n\n createHref: createHref,\n push: push,\n replace: replace,\n go: go,\n back: function back() {\n go(-1);\n },\n forward: function forward() {\n go(1);\n },\n listen: function listen(listener) {\n return listeners.push(listener);\n },\n block: function block(blocker) {\n var unblock = blockers.push(blocker);\n\n if (blockers.length === 1) {\n window.addEventListener(BeforeUnloadEventType, promptBeforeUnload);\n }\n\n return function () {\n unblock(); // Remove the beforeunload listener so the document may\n // still be salvageable in the pagehide event.\n // See https://html.spec.whatwg.org/#unloading-documents\n\n if (!blockers.length) {\n window.removeEventListener(BeforeUnloadEventType, promptBeforeUnload);\n }\n };\n }\n };\n return history;\n}\n/**\r\n * Hash history stores the location in window.location.hash. This makes it ideal\r\n * for situations where you don't want to send the location to the server for\r\n * some reason, either because you do cannot configure it or the URL space is\r\n * reserved for something else.\r\n *\r\n * @see https://github.com/remix-run/history/tree/main/docs/api-reference.md#createhashhistory\r\n */\n\nfunction createHashHistory(options) {\n if (options === void 0) {\n options = {};\n }\n\n var _options2 = options,\n _options2$window = _options2.window,\n window = _options2$window === void 0 ? document.defaultView : _options2$window;\n var globalHistory = window.history;\n\n function getIndexAndLocation() {\n var _parsePath = parsePath(window.location.hash.substr(1)),\n _parsePath$pathname = _parsePath.pathname,\n pathname = _parsePath$pathname === void 0 ? '/' : _parsePath$pathname,\n _parsePath$search = _parsePath.search,\n search = _parsePath$search === void 0 ? '' : _parsePath$search,\n _parsePath$hash = _parsePath.hash,\n hash = _parsePath$hash === void 0 ? '' : _parsePath$hash;\n\n var state = globalHistory.state || {};\n return [state.idx, readOnly({\n pathname: pathname,\n search: search,\n hash: hash,\n state: state.usr || null,\n key: state.key || 'default'\n })];\n }\n\n var blockedPopTx = null;\n\n function handlePop() {\n if (blockedPopTx) {\n blockers.call(blockedPopTx);\n blockedPopTx = null;\n } else {\n var nextAction = Action.Pop;\n\n var _getIndexAndLocation4 = getIndexAndLocation(),\n nextIndex = _getIndexAndLocation4[0],\n nextLocation = _getIndexAndLocation4[1];\n\n if (blockers.length) {\n if (nextIndex != null) {\n var delta = index - nextIndex;\n\n if (delta) {\n // Revert the POP\n blockedPopTx = {\n action: nextAction,\n location: nextLocation,\n retry: function retry() {\n go(delta * -1);\n }\n };\n go(delta);\n }\n } else {\n // Trying to POP to a location with no index. We did not create\n // this location, so we can't effectively block the navigation.\n process.env.NODE_ENV !== \"production\" ? warning(false, // TODO: Write up a doc that explains our blocking strategy in\n // detail and link to it here so people can understand better\n // what is going on and how to avoid it.\n \"You are trying to block a POP navigation to a location that was not \" + \"created by the history library. The block will fail silently in \" + \"production, but in general you should do all navigation with the \" + \"history library (instead of using window.history.pushState directly) \" + \"to avoid this situation.\") : void 0;\n }\n } else {\n applyTx(nextAction);\n }\n }\n }\n\n window.addEventListener(PopStateEventType, handlePop); // popstate does not fire on hashchange in IE 11 and old (trident) Edge\n // https://developer.mozilla.org/de/docs/Web/API/Window/popstate_event\n\n window.addEventListener(HashChangeEventType, function () {\n var _getIndexAndLocation5 = getIndexAndLocation(),\n nextLocation = _getIndexAndLocation5[1]; // Ignore extraneous hashchange events.\n\n\n if (createPath(nextLocation) !== createPath(location)) {\n handlePop();\n }\n });\n var action = Action.Pop;\n\n var _getIndexAndLocation6 = getIndexAndLocation(),\n index = _getIndexAndLocation6[0],\n location = _getIndexAndLocation6[1];\n\n var listeners = createEvents();\n var blockers = createEvents();\n\n if (index == null) {\n index = 0;\n globalHistory.replaceState(_extends({}, globalHistory.state, {\n idx: index\n }), '');\n }\n\n function getBaseHref() {\n var base = document.querySelector('base');\n var href = '';\n\n if (base && base.getAttribute('href')) {\n var url = window.location.href;\n var hashIndex = url.indexOf('#');\n href = hashIndex === -1 ? url : url.slice(0, hashIndex);\n }\n\n return href;\n }\n\n function createHref(to) {\n return getBaseHref() + '#' + (typeof to === 'string' ? to : createPath(to));\n }\n\n function getNextLocation(to, state) {\n if (state === void 0) {\n state = null;\n }\n\n return readOnly(_extends({\n pathname: location.pathname,\n hash: '',\n search: ''\n }, typeof to === 'string' ? parsePath(to) : to, {\n state: state,\n key: createKey()\n }));\n }\n\n function getHistoryStateAndUrl(nextLocation, index) {\n return [{\n usr: nextLocation.state,\n key: nextLocation.key,\n idx: index\n }, createHref(nextLocation)];\n }\n\n function allowTx(action, location, retry) {\n return !blockers.length || (blockers.call({\n action: action,\n location: location,\n retry: retry\n }), false);\n }\n\n function applyTx(nextAction) {\n action = nextAction;\n\n var _getIndexAndLocation7 = getIndexAndLocation();\n\n index = _getIndexAndLocation7[0];\n location = _getIndexAndLocation7[1];\n listeners.call({\n action: action,\n location: location\n });\n }\n\n function push(to, state) {\n var nextAction = Action.Push;\n var nextLocation = getNextLocation(to, state);\n\n function retry() {\n push(to, state);\n }\n\n process.env.NODE_ENV !== \"production\" ? warning(nextLocation.pathname.charAt(0) === '/', \"Relative pathnames are not supported in hash history.push(\" + JSON.stringify(to) + \")\") : void 0;\n\n if (allowTx(nextAction, nextLocation, retry)) {\n var _getHistoryStateAndUr3 = getHistoryStateAndUrl(nextLocation, index + 1),\n historyState = _getHistoryStateAndUr3[0],\n url = _getHistoryStateAndUr3[1]; // TODO: Support forced reloading\n // try...catch because iOS limits us to 100 pushState calls :/\n\n\n try {\n globalHistory.pushState(historyState, '', url);\n } catch (error) {\n // They are going to lose state here, but there is no real\n // way to warn them about it since the page will refresh...\n window.location.assign(url);\n }\n\n applyTx(nextAction);\n }\n }\n\n function replace(to, state) {\n var nextAction = Action.Replace;\n var nextLocation = getNextLocation(to, state);\n\n function retry() {\n replace(to, state);\n }\n\n process.env.NODE_ENV !== \"production\" ? warning(nextLocation.pathname.charAt(0) === '/', \"Relative pathnames are not supported in hash history.replace(\" + JSON.stringify(to) + \")\") : void 0;\n\n if (allowTx(nextAction, nextLocation, retry)) {\n var _getHistoryStateAndUr4 = getHistoryStateAndUrl(nextLocation, index),\n historyState = _getHistoryStateAndUr4[0],\n url = _getHistoryStateAndUr4[1]; // TODO: Support forced reloading\n\n\n globalHistory.replaceState(historyState, '', url);\n applyTx(nextAction);\n }\n }\n\n function go(delta) {\n globalHistory.go(delta);\n }\n\n var history = {\n get action() {\n return action;\n },\n\n get location() {\n return location;\n },\n\n createHref: createHref,\n push: push,\n replace: replace,\n go: go,\n back: function back() {\n go(-1);\n },\n forward: function forward() {\n go(1);\n },\n listen: function listen(listener) {\n return listeners.push(listener);\n },\n block: function block(blocker) {\n var unblock = blockers.push(blocker);\n\n if (blockers.length === 1) {\n window.addEventListener(BeforeUnloadEventType, promptBeforeUnload);\n }\n\n return function () {\n unblock(); // Remove the beforeunload listener so the document may\n // still be salvageable in the pagehide event.\n // See https://html.spec.whatwg.org/#unloading-documents\n\n if (!blockers.length) {\n window.removeEventListener(BeforeUnloadEventType, promptBeforeUnload);\n }\n };\n }\n };\n return history;\n}\n/**\r\n * Memory history stores the current location in memory. It is designed for use\r\n * in stateful non-browser environments like tests and React Native.\r\n *\r\n * @see https://github.com/remix-run/history/tree/main/docs/api-reference.md#creatememoryhistory\r\n */\n\nfunction createMemoryHistory(options) {\n if (options === void 0) {\n options = {};\n }\n\n var _options3 = options,\n _options3$initialEntr = _options3.initialEntries,\n initialEntries = _options3$initialEntr === void 0 ? ['/'] : _options3$initialEntr,\n initialIndex = _options3.initialIndex;\n var entries = initialEntries.map(function (entry) {\n var location = readOnly(_extends({\n pathname: '/',\n search: '',\n hash: '',\n state: null,\n key: createKey()\n }, typeof entry === 'string' ? parsePath(entry) : entry));\n process.env.NODE_ENV !== \"production\" ? warning(location.pathname.charAt(0) === '/', \"Relative pathnames are not supported in createMemoryHistory({ initialEntries }) (invalid entry: \" + JSON.stringify(entry) + \")\") : void 0;\n return location;\n });\n var index = clamp(initialIndex == null ? entries.length - 1 : initialIndex, 0, entries.length - 1);\n var action = Action.Pop;\n var location = entries[index];\n var listeners = createEvents();\n var blockers = createEvents();\n\n function createHref(to) {\n return typeof to === 'string' ? to : createPath(to);\n }\n\n function getNextLocation(to, state) {\n if (state === void 0) {\n state = null;\n }\n\n return readOnly(_extends({\n pathname: location.pathname,\n search: '',\n hash: ''\n }, typeof to === 'string' ? parsePath(to) : to, {\n state: state,\n key: createKey()\n }));\n }\n\n function allowTx(action, location, retry) {\n return !blockers.length || (blockers.call({\n action: action,\n location: location,\n retry: retry\n }), false);\n }\n\n function applyTx(nextAction, nextLocation) {\n action = nextAction;\n location = nextLocation;\n listeners.call({\n action: action,\n location: location\n });\n }\n\n function push(to, state) {\n var nextAction = Action.Push;\n var nextLocation = getNextLocation(to, state);\n\n function retry() {\n push(to, state);\n }\n\n process.env.NODE_ENV !== \"production\" ? warning(location.pathname.charAt(0) === '/', \"Relative pathnames are not supported in memory history.push(\" + JSON.stringify(to) + \")\") : void 0;\n\n if (allowTx(nextAction, nextLocation, retry)) {\n index += 1;\n entries.splice(index, entries.length, nextLocation);\n applyTx(nextAction, nextLocation);\n }\n }\n\n function replace(to, state) {\n var nextAction = Action.Replace;\n var nextLocation = getNextLocation(to, state);\n\n function retry() {\n replace(to, state);\n }\n\n process.env.NODE_ENV !== \"production\" ? warning(location.pathname.charAt(0) === '/', \"Relative pathnames are not supported in memory history.replace(\" + JSON.stringify(to) + \")\") : void 0;\n\n if (allowTx(nextAction, nextLocation, retry)) {\n entries[index] = nextLocation;\n applyTx(nextAction, nextLocation);\n }\n }\n\n function go(delta) {\n var nextIndex = clamp(index + delta, 0, entries.length - 1);\n var nextAction = Action.Pop;\n var nextLocation = entries[nextIndex];\n\n function retry() {\n go(delta);\n }\n\n if (allowTx(nextAction, nextLocation, retry)) {\n index = nextIndex;\n applyTx(nextAction, nextLocation);\n }\n }\n\n var history = {\n get index() {\n return index;\n },\n\n get action() {\n return action;\n },\n\n get location() {\n return location;\n },\n\n createHref: createHref,\n push: push,\n replace: replace,\n go: go,\n back: function back() {\n go(-1);\n },\n forward: function forward() {\n go(1);\n },\n listen: function listen(listener) {\n return listeners.push(listener);\n },\n block: function block(blocker) {\n return blockers.push(blocker);\n }\n };\n return history;\n} ////////////////////////////////////////////////////////////////////////////////\n// UTILS\n////////////////////////////////////////////////////////////////////////////////\n\nfunction clamp(n, lowerBound, upperBound) {\n return Math.min(Math.max(n, lowerBound), upperBound);\n}\n\nfunction promptBeforeUnload(event) {\n // Cancel the event.\n event.preventDefault(); // Chrome (and legacy IE) requires returnValue to be set.\n\n event.returnValue = '';\n}\n\nfunction createEvents() {\n var handlers = [];\n return {\n get length() {\n return handlers.length;\n },\n\n push: function push(fn) {\n handlers.push(fn);\n return function () {\n handlers = handlers.filter(function (handler) {\n return handler !== fn;\n });\n };\n },\n call: function call(arg) {\n handlers.forEach(function (fn) {\n return fn && fn(arg);\n });\n }\n };\n}\n\nfunction createKey() {\n return Math.random().toString(36).substr(2, 8);\n}\n/**\r\n * Creates a string URL path from the given pathname, search, and hash components.\r\n *\r\n * @see https://github.com/remix-run/history/tree/main/docs/api-reference.md#createpath\r\n */\n\n\nfunction createPath(_ref) {\n var _ref$pathname = _ref.pathname,\n pathname = _ref$pathname === void 0 ? '/' : _ref$pathname,\n _ref$search = _ref.search,\n search = _ref$search === void 0 ? '' : _ref$search,\n _ref$hash = _ref.hash,\n hash = _ref$hash === void 0 ? '' : _ref$hash;\n if (search && search !== '?') pathname += search.charAt(0) === '?' ? search : '?' + search;\n if (hash && hash !== '#') pathname += hash.charAt(0) === '#' ? hash : '#' + hash;\n return pathname;\n}\n/**\r\n * Parses a string URL path into its separate pathname, search, and hash components.\r\n *\r\n * @see https://github.com/remix-run/history/tree/main/docs/api-reference.md#parsepath\r\n */\n\nfunction parsePath(path) {\n var parsedPath = {};\n\n if (path) {\n var hashIndex = path.indexOf('#');\n\n if (hashIndex >= 0) {\n parsedPath.hash = path.substr(hashIndex);\n path = path.substr(0, hashIndex);\n }\n\n var searchIndex = path.indexOf('?');\n\n if (searchIndex >= 0) {\n parsedPath.search = path.substr(searchIndex);\n path = path.substr(0, searchIndex);\n }\n\n if (path) {\n parsedPath.pathname = path;\n }\n }\n\n return parsedPath;\n}\n\nexport { Action, createBrowserHistory, createHashHistory, createMemoryHistory, createPath, parsePath };\n//# sourceMappingURL=index.js.map\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","/*!\n * inflection\n * Copyright(c) 2011 Ben Lin \n * MIT Licensed\n *\n * @fileoverview\n * A port of inflection-js to node.js module.\n */\n\n( function ( root, factory ){\n if( typeof define === 'function' && define.amd ){\n define([], factory );\n }else if( typeof exports === 'object' ){\n module.exports = factory();\n }else{\n root.inflection = factory();\n }\n}( this, function (){\n\n /**\n * @description This is a list of nouns that use the same form for both singular and plural.\n * This list should remain entirely in lower case to correctly match Strings.\n * @private\n */\n var uncountable_words = [\n // 'access',\n 'accommodation',\n 'adulthood',\n 'advertising',\n 'advice',\n 'aggression',\n 'aid',\n 'air',\n 'aircraft',\n 'alcohol',\n 'anger',\n 'applause',\n 'arithmetic',\n // 'art',\n 'assistance',\n 'athletics',\n // 'attention',\n\n 'bacon',\n 'baggage',\n // 'ballet',\n // 'beauty',\n 'beef',\n // 'beer',\n // 'behavior',\n 'biology',\n // 'billiards',\n 'blood',\n 'botany',\n // 'bowels',\n 'bread',\n // 'business',\n 'butter',\n\n 'carbon',\n 'cardboard',\n 'cash',\n 'chalk',\n 'chaos',\n 'chess',\n 'crossroads',\n 'countryside',\n\n // 'damage',\n 'dancing',\n // 'danger',\n 'deer',\n // 'delight',\n // 'dessert',\n 'dignity',\n 'dirt',\n // 'distribution',\n 'dust',\n\n 'economics',\n 'education',\n 'electricity',\n // 'employment',\n // 'energy',\n 'engineering',\n 'enjoyment',\n // 'entertainment',\n 'envy',\n 'equipment',\n 'ethics',\n 'evidence',\n 'evolution',\n\n // 'failure',\n // 'faith',\n 'fame',\n 'fiction',\n // 'fish',\n 'flour',\n 'flu',\n 'food',\n // 'freedom',\n // 'fruit',\n 'fuel',\n 'fun',\n // 'funeral',\n 'furniture',\n\n 'gallows',\n 'garbage',\n 'garlic',\n // 'gas',\n 'genetics',\n // 'glass',\n 'gold',\n 'golf',\n 'gossip',\n // 'grass',\n 'gratitude',\n 'grief',\n // 'ground',\n 'guilt',\n 'gymnastics',\n\n // 'hair',\n 'happiness',\n 'hardware',\n 'harm',\n 'hate',\n 'hatred',\n 'health',\n 'heat',\n // 'height',\n 'help',\n 'homework',\n 'honesty',\n 'honey',\n 'hospitality',\n 'housework',\n 'humour',\n 'hunger',\n 'hydrogen',\n\n 'ice',\n 'importance',\n 'inflation',\n 'information',\n // 'injustice',\n 'innocence',\n // 'intelligence',\n 'iron',\n 'irony',\n\n 'jam',\n // 'jealousy',\n // 'jelly',\n 'jewelry',\n // 'joy',\n 'judo',\n // 'juice',\n // 'justice',\n\n 'karate',\n // 'kindness',\n 'knowledge',\n\n // 'labour',\n 'lack',\n // 'land',\n 'laughter',\n 'lava',\n 'leather',\n 'leisure',\n 'lightning',\n 'linguine',\n 'linguini',\n 'linguistics',\n 'literature',\n 'litter',\n 'livestock',\n 'logic',\n 'loneliness',\n // 'love',\n 'luck',\n 'luggage',\n\n 'macaroni',\n 'machinery',\n 'magic',\n // 'mail',\n 'management',\n 'mankind',\n 'marble',\n 'mathematics',\n 'mayonnaise',\n 'measles',\n // 'meat',\n // 'metal',\n 'methane',\n 'milk',\n 'minus',\n 'money',\n // 'moose',\n 'mud',\n 'music',\n 'mumps',\n\n 'nature',\n 'news',\n 'nitrogen',\n 'nonsense',\n 'nurture',\n 'nutrition',\n\n 'obedience',\n 'obesity',\n // 'oil',\n 'oxygen',\n\n // 'paper',\n // 'passion',\n 'pasta',\n 'patience',\n // 'permission',\n 'physics',\n 'poetry',\n 'pollution',\n 'poverty',\n // 'power',\n 'pride',\n // 'production',\n // 'progress',\n // 'pronunciation',\n 'psychology',\n 'publicity',\n 'punctuation',\n\n // 'quality',\n // 'quantity',\n 'quartz',\n\n 'racism',\n // 'rain',\n // 'recreation',\n 'relaxation',\n 'reliability',\n 'research',\n 'respect',\n 'revenge',\n 'rice',\n 'rubbish',\n 'rum',\n\n 'safety',\n // 'salad',\n // 'salt',\n // 'sand',\n // 'satire',\n 'scenery',\n 'seafood',\n 'seaside',\n 'series',\n 'shame',\n 'sheep',\n 'shopping',\n // 'silence',\n 'sleep',\n // 'slang'\n 'smoke',\n 'smoking',\n 'snow',\n 'soap',\n 'software',\n 'soil',\n // 'sorrow',\n // 'soup',\n 'spaghetti',\n // 'speed',\n 'species',\n // 'spelling',\n // 'sport',\n 'steam',\n // 'strength',\n 'stuff',\n 'stupidity',\n // 'success',\n // 'sugar',\n 'sunshine',\n 'symmetry',\n\n // 'tea',\n 'tennis',\n 'thirst',\n 'thunder',\n 'timber',\n // 'time',\n // 'toast',\n // 'tolerance',\n // 'trade',\n 'traffic',\n 'transportation',\n // 'travel',\n 'trust',\n\n // 'understanding',\n 'underwear',\n 'unemployment',\n 'unity',\n // 'usage',\n\n 'validity',\n 'veal',\n 'vegetation',\n 'vegetarianism',\n 'vengeance',\n 'violence',\n // 'vision',\n 'vitality',\n\n 'warmth',\n // 'water',\n 'wealth',\n 'weather',\n // 'weight',\n 'welfare',\n 'wheat',\n // 'whiskey',\n // 'width',\n 'wildlife',\n // 'wine',\n 'wisdom',\n // 'wood',\n // 'wool',\n // 'work',\n\n // 'yeast',\n 'yoga',\n\n 'zinc',\n 'zoology'\n ];\n\n /**\n * @description These rules translate from the singular form of a noun to its plural form.\n * @private\n */\n\n var regex = {\n plural : {\n men : new RegExp( '^(m|wom)en$' , 'gi' ),\n people : new RegExp( '(pe)ople$' , 'gi' ),\n children : new RegExp( '(child)ren$' , 'gi' ),\n tia : new RegExp( '([ti])a$' , 'gi' ),\n analyses : new RegExp( '((a)naly|(b)a|(d)iagno|(p)arenthe|(p)rogno|(s)ynop|(t)he)ses$','gi' ),\n drives : new RegExp( '(drive)s$' , 'gi' ),\n hives : new RegExp( '(hi|ti)ves$' , 'gi' ),\n curves : new RegExp( '(curve)s$' , 'gi' ),\n lrves : new RegExp( '([lr])ves$' , 'gi' ),\n aves : new RegExp( '([a])ves$' , 'gi' ),\n foves : new RegExp( '([^fo])ves$' , 'gi' ),\n movies : new RegExp( '(m)ovies$' , 'gi' ),\n aeiouyies : new RegExp( '([^aeiouy]|qu)ies$' , 'gi' ),\n series : new RegExp( '(s)eries$' , 'gi' ),\n xes : new RegExp( '(x|ch|ss|sh)es$' , 'gi' ),\n mice : new RegExp( '([m|l])ice$' , 'gi' ),\n buses : new RegExp( '(bus)es$' , 'gi' ),\n oes : new RegExp( '(o)es$' , 'gi' ),\n shoes : new RegExp( '(shoe)s$' , 'gi' ),\n crises : new RegExp( '(cris|ax|test)es$' , 'gi' ),\n octopuses : new RegExp( '(octop|vir)uses$' , 'gi' ),\n aliases : new RegExp( '(alias|canvas|status|campus)es$', 'gi' ),\n summonses : new RegExp( '^(summons|bonus)es$' , 'gi' ),\n oxen : new RegExp( '^(ox)en' , 'gi' ),\n matrices : new RegExp( '(matr)ices$' , 'gi' ),\n vertices : new RegExp( '(vert|ind)ices$' , 'gi' ),\n feet : new RegExp( '^feet$' , 'gi' ),\n teeth : new RegExp( '^teeth$' , 'gi' ),\n geese : new RegExp( '^geese$' , 'gi' ),\n quizzes : new RegExp( '(quiz)zes$' , 'gi' ),\n whereases : new RegExp( '^(whereas)es$' , 'gi' ),\n criteria : new RegExp( '^(criteri)a$' , 'gi' ),\n genera : new RegExp( '^genera$' , 'gi' ),\n ss : new RegExp( 'ss$' , 'gi' ),\n s : new RegExp( 's$' , 'gi' )\n },\n\n singular : {\n man : new RegExp( '^(m|wom)an$' , 'gi' ),\n person : new RegExp( '(pe)rson$' , 'gi' ),\n child : new RegExp( '(child)$' , 'gi' ),\n drive : new RegExp( '(drive)$' , 'gi' ),\n ox : new RegExp( '^(ox)$' , 'gi' ),\n axis : new RegExp( '(ax|test)is$' , 'gi' ),\n octopus : new RegExp( '(octop|vir)us$' , 'gi' ),\n alias : new RegExp( '(alias|status|canvas|campus)$', 'gi' ),\n summons : new RegExp( '^(summons|bonus)$' , 'gi' ),\n bus : new RegExp( '(bu)s$' , 'gi' ),\n buffalo : new RegExp( '(buffal|tomat|potat)o$' , 'gi' ),\n tium : new RegExp( '([ti])um$' , 'gi' ),\n sis : new RegExp( 'sis$' , 'gi' ),\n ffe : new RegExp( '(?:([^f])fe|([lr])f)$' , 'gi' ),\n hive : new RegExp( '(hi|ti)ve$' , 'gi' ),\n aeiouyy : new RegExp( '([^aeiouy]|qu)y$' , 'gi' ),\n x : new RegExp( '(x|ch|ss|sh)$' , 'gi' ),\n matrix : new RegExp( '(matr)ix$' , 'gi' ),\n vertex : new RegExp( '(vert|ind)ex$' , 'gi' ),\n mouse : new RegExp( '([m|l])ouse$' , 'gi' ),\n foot : new RegExp( '^foot$' , 'gi' ),\n tooth : new RegExp( '^tooth$' , 'gi' ),\n goose : new RegExp( '^goose$' , 'gi' ),\n quiz : new RegExp( '(quiz)$' , 'gi' ),\n whereas : new RegExp( '^(whereas)$' , 'gi' ),\n criterion : new RegExp( '^(criteri)on$' , 'gi' ),\n genus : new RegExp( '^genus$' , 'gi' ),\n s : new RegExp( 's$' , 'gi' ),\n common : new RegExp( '$' , 'gi' )\n }\n };\n\n var plural_rules = [\n\n // do not replace if its already a plural word\n [ regex.plural.men ],\n [ regex.plural.people ],\n [ regex.plural.children ],\n [ regex.plural.tia ],\n [ regex.plural.analyses ],\n [ regex.plural.drives ],\n [ regex.plural.hives ],\n [ regex.plural.curves ],\n [ regex.plural.lrves ],\n [ regex.plural.foves ],\n [ regex.plural.aeiouyies ],\n [ regex.plural.series ],\n [ regex.plural.movies ],\n [ regex.plural.xes ],\n [ regex.plural.mice ],\n [ regex.plural.buses ],\n [ regex.plural.oes ],\n [ regex.plural.shoes ],\n [ regex.plural.crises ],\n [ regex.plural.octopuses ],\n [ regex.plural.aliases ],\n [ regex.plural.summonses ],\n [ regex.plural.oxen ],\n [ regex.plural.matrices ],\n [ regex.plural.feet ],\n [ regex.plural.teeth ],\n [ regex.plural.geese ],\n [ regex.plural.quizzes ],\n [ regex.plural.whereases ],\n [ regex.plural.criteria ],\n [ regex.plural.genera ],\n\n // original rule\n [ regex.singular.man , '$1en' ],\n [ regex.singular.person , '$1ople' ],\n [ regex.singular.child , '$1ren' ],\n [ regex.singular.drive , '$1s' ],\n [ regex.singular.ox , '$1en' ],\n [ regex.singular.axis , '$1es' ],\n [ regex.singular.octopus , '$1uses' ],\n [ regex.singular.alias , '$1es' ],\n [ regex.singular.summons , '$1es' ],\n [ regex.singular.bus , '$1ses' ],\n [ regex.singular.buffalo , '$1oes' ],\n [ regex.singular.tium , '$1a' ],\n [ regex.singular.sis , 'ses' ],\n [ regex.singular.ffe , '$1$2ves' ],\n [ regex.singular.hive , '$1ves' ],\n [ regex.singular.aeiouyy , '$1ies' ],\n [ regex.singular.matrix , '$1ices' ],\n [ regex.singular.vertex , '$1ices' ],\n [ regex.singular.x , '$1es' ],\n [ regex.singular.mouse , '$1ice' ],\n [ regex.singular.foot , 'feet' ],\n [ regex.singular.tooth , 'teeth' ],\n [ regex.singular.goose , 'geese' ],\n [ regex.singular.quiz , '$1zes' ],\n [ regex.singular.whereas , '$1es' ],\n [ regex.singular.criterion, '$1a' ],\n [ regex.singular.genus , 'genera' ],\n\n [ regex.singular.s , 's' ],\n [ regex.singular.common, 's' ]\n ];\n\n /**\n * @description These rules translate from the plural form of a noun to its singular form.\n * @private\n */\n var singular_rules = [\n\n // do not replace if its already a singular word\n [ regex.singular.man ],\n [ regex.singular.person ],\n [ regex.singular.child ],\n [ regex.singular.drive ],\n [ regex.singular.ox ],\n [ regex.singular.axis ],\n [ regex.singular.octopus ],\n [ regex.singular.alias ],\n [ regex.singular.summons ],\n [ regex.singular.bus ],\n [ regex.singular.buffalo ],\n [ regex.singular.tium ],\n [ regex.singular.sis ],\n [ regex.singular.ffe ],\n [ regex.singular.hive ],\n [ regex.singular.aeiouyy ],\n [ regex.singular.x ],\n [ regex.singular.matrix ],\n [ regex.singular.mouse ],\n [ regex.singular.foot ],\n [ regex.singular.tooth ],\n [ regex.singular.goose ],\n [ regex.singular.quiz ],\n [ regex.singular.whereas ],\n [ regex.singular.criterion ],\n [ regex.singular.genus ],\n\n // original rule\n [ regex.plural.men , '$1an' ],\n [ regex.plural.people , '$1rson' ],\n [ regex.plural.children , '$1' ],\n [ regex.plural.drives , '$1'],\n [ regex.plural.genera , 'genus'],\n [ regex.plural.criteria , '$1on'],\n [ regex.plural.tia , '$1um' ],\n [ regex.plural.analyses , '$1$2sis' ],\n [ regex.plural.hives , '$1ve' ],\n [ regex.plural.curves , '$1' ],\n [ regex.plural.lrves , '$1f' ],\n [ regex.plural.aves , '$1ve' ],\n [ regex.plural.foves , '$1fe' ],\n [ regex.plural.movies , '$1ovie' ],\n [ regex.plural.aeiouyies, '$1y' ],\n [ regex.plural.series , '$1eries' ],\n [ regex.plural.xes , '$1' ],\n [ regex.plural.mice , '$1ouse' ],\n [ regex.plural.buses , '$1' ],\n [ regex.plural.oes , '$1' ],\n [ regex.plural.shoes , '$1' ],\n [ regex.plural.crises , '$1is' ],\n [ regex.plural.octopuses, '$1us' ],\n [ regex.plural.aliases , '$1' ],\n [ regex.plural.summonses, '$1' ],\n [ regex.plural.oxen , '$1' ],\n [ regex.plural.matrices , '$1ix' ],\n [ regex.plural.vertices , '$1ex' ],\n [ regex.plural.feet , 'foot' ],\n [ regex.plural.teeth , 'tooth' ],\n [ regex.plural.geese , 'goose' ],\n [ regex.plural.quizzes , '$1' ],\n [ regex.plural.whereases, '$1' ],\n\n [ regex.plural.ss, 'ss' ],\n [ regex.plural.s , '' ]\n ];\n\n /**\n * @description This is a list of words that should not be capitalized for title case.\n * @private\n */\n var non_titlecased_words = [\n 'and', 'or', 'nor', 'a', 'an', 'the', 'so', 'but', 'to', 'of', 'at','by',\n 'from', 'into', 'on', 'onto', 'off', 'out', 'in', 'over', 'with', 'for'\n ];\n\n /**\n * @description These are regular expressions used for converting between String formats.\n * @private\n */\n var id_suffix = new RegExp( '(_ids|_id)$', 'g' );\n var underbar = new RegExp( '_', 'g' );\n var space_or_underbar = new RegExp( '[\\ _]', 'g' );\n var uppercase = new RegExp( '([A-Z])', 'g' );\n var underbar_prefix = new RegExp( '^_' );\n\n var inflector = {\n\n /**\n * A helper method that applies rules based replacement to a String.\n * @private\n * @function\n * @param {String} str String to modify and return based on the passed rules.\n * @param {Array: [RegExp, String]} rules Regexp to match paired with String to use for replacement\n * @param {Array: [String]} skip Strings to skip if they match\n * @param {String} override String to return as though this method succeeded (used to conform to APIs)\n * @returns {String} Return passed String modified by passed rules.\n * @example\n *\n * this._apply_rules( 'cows', singular_rules ); // === 'cow'\n */\n _apply_rules : function ( str, rules, skip, override ){\n if( override ){\n str = override;\n }else{\n var ignore = ( inflector.indexOf( skip, str.toLowerCase()) > -1 );\n\n if( !ignore ){\n var i = 0;\n var j = rules.length;\n\n for( ; i < j; i++ ){\n if( str.match( rules[ i ][ 0 ])){\n if( rules[ i ][ 1 ] !== undefined ){\n str = str.replace( rules[ i ][ 0 ], rules[ i ][ 1 ]);\n }\n break;\n }\n }\n }\n }\n\n return str;\n },\n\n\n\n /**\n * This lets us detect if an Array contains a given element.\n * @public\n * @function\n * @param {Array} arr The subject array.\n * @param {Object} item Object to locate in the Array.\n * @param {Number} from_index Starts checking from this position in the Array.(optional)\n * @param {Function} compare_func Function used to compare Array item vs passed item.(optional)\n * @returns {Number} Return index position in the Array of the passed item.\n * @example\n *\n * var inflection = require( 'inflection' );\n *\n * inflection.indexOf([ 'hi','there' ], 'guys' ); // === -1\n * inflection.indexOf([ 'hi','there' ], 'hi' ); // === 0\n */\n indexOf : function ( arr, item, from_index, compare_func ){\n if( !from_index ){\n from_index = -1;\n }\n\n var index = -1;\n var i = from_index;\n var j = arr.length;\n\n for( ; i < j; i++ ){\n if( arr[ i ] === item || compare_func && compare_func( arr[ i ], item )){\n index = i;\n break;\n }\n }\n\n return index;\n },\n\n\n\n /**\n * This function adds pluralization support to every String object.\n * @public\n * @function\n * @param {String} str The subject string.\n * @param {String} plural Overrides normal output with said String.(optional)\n * @returns {String} Singular English language nouns are returned in plural form.\n * @example\n *\n * var inflection = require( 'inflection' );\n *\n * inflection.pluralize( 'person' ); // === 'people'\n * inflection.pluralize( 'octopus' ); // === 'octopuses'\n * inflection.pluralize( 'Hat' ); // === 'Hats'\n * inflection.pluralize( 'person', 'guys' ); // === 'guys'\n */\n pluralize : function ( str, plural ){\n return inflector._apply_rules( str, plural_rules, uncountable_words, plural );\n },\n\n\n\n /**\n * This function adds singularization support to every String object.\n * @public\n * @function\n * @param {String} str The subject string.\n * @param {String} singular Overrides normal output with said String.(optional)\n * @returns {String} Plural English language nouns are returned in singular form.\n * @example\n *\n * var inflection = require( 'inflection' );\n *\n * inflection.singularize( 'people' ); // === 'person'\n * inflection.singularize( 'octopuses' ); // === 'octopus'\n * inflection.singularize( 'Hats' ); // === 'Hat'\n * inflection.singularize( 'guys', 'person' ); // === 'person'\n */\n singularize : function ( str, singular ){\n return inflector._apply_rules( str, singular_rules, uncountable_words, singular );\n },\n\n\n /**\n * This function will pluralize or singularlize a String appropriately based on a number value\n * @public\n * @function\n * @param {String} str The subject string.\n * @param {Number} count The number to base pluralization off of.\n * @param {String} singular Overrides normal output with said String.(optional)\n * @param {String} plural Overrides normal output with said String.(optional)\n * @returns {String} English language nouns are returned in the plural or singular form based on the count.\n * @example\n *\n * var inflection = require( 'inflection' );\n *\n * inflection.inflect( 'people' 1 ); // === 'person'\n * inflection.inflect( 'octopuses' 1 ); // === 'octopus'\n * inflection.inflect( 'Hats' 1 ); // === 'Hat'\n * inflection.inflect( 'guys', 1 , 'person' ); // === 'person'\n * inflection.inflect( 'inches', 1.5 ); // === 'inches'\n * inflection.inflect( 'person', 2 ); // === 'people'\n * inflection.inflect( 'octopus', 2 ); // === 'octopuses'\n * inflection.inflect( 'Hat', 2 ); // === 'Hats'\n * inflection.inflect( 'person', 2, null, 'guys' ); // === 'guys'\n */\n inflect : function ( str, count, singular, plural ){\n count = parseFloat( count, 10 );\n\n if( isNaN( count )) return str;\n\n if( count === 1 ){\n return inflector._apply_rules( str, singular_rules, uncountable_words, singular );\n }else{\n return inflector._apply_rules( str, plural_rules, uncountable_words, plural );\n }\n },\n\n\n\n /**\n * This function adds camelization support to every String object.\n * @public\n * @function\n * @param {String} str The subject string.\n * @param {Boolean} low_first_letter Default is to capitalize the first letter of the results.(optional)\n * Passing true will lowercase it.\n * @returns {String} Lower case underscored words will be returned in camel case.\n * additionally '/' is translated to '::'\n * @example\n *\n * var inflection = require( 'inflection' );\n *\n * inflection.camelize( 'message_properties' ); // === 'MessageProperties'\n * inflection.camelize( 'message_properties', true ); // === 'messageProperties'\n */\n camelize : function ( str, low_first_letter ){\n var str_path = str.split( '/' );\n var i = 0;\n var j = str_path.length;\n var str_arr, init_x, k, l, first;\n\n for( ; i < j; i++ ){\n str_arr = str_path[ i ].split( '_' );\n k = 0;\n l = str_arr.length;\n\n for( ; k < l; k++ ){\n if( k !== 0 ){\n str_arr[ k ] = str_arr[ k ].toLowerCase();\n }\n\n first = str_arr[ k ].charAt( 0 );\n first = low_first_letter && i === 0 && k === 0\n ? first.toLowerCase() : first.toUpperCase();\n str_arr[ k ] = first + str_arr[ k ].substring( 1 );\n }\n\n str_path[ i ] = str_arr.join( '' );\n }\n\n return str_path.join( '::' );\n },\n\n\n\n /**\n * This function adds underscore support to every String object.\n * @public\n * @function\n * @param {String} str The subject string.\n * @param {Boolean} all_upper_case Default is to lowercase and add underscore prefix.(optional)\n * Passing true will return as entered.\n * @returns {String} Camel cased words are returned as lower cased and underscored.\n * additionally '::' is translated to '/'.\n * @example\n *\n * var inflection = require( 'inflection' );\n *\n * inflection.underscore( 'MessageProperties' ); // === 'message_properties'\n * inflection.underscore( 'messageProperties' ); // === 'message_properties'\n * inflection.underscore( 'MP', true ); // === 'MP'\n */\n underscore : function ( str, all_upper_case ){\n if( all_upper_case && str === str.toUpperCase()) return str;\n\n var str_path = str.split( '::' );\n var i = 0;\n var j = str_path.length;\n\n for( ; i < j; i++ ){\n str_path[ i ] = str_path[ i ].replace( uppercase, '_$1' );\n str_path[ i ] = str_path[ i ].replace( underbar_prefix, '' );\n }\n\n return str_path.join( '/' ).toLowerCase();\n },\n\n\n\n /**\n * This function adds humanize support to every String object.\n * @public\n * @function\n * @param {String} str The subject string.\n * @param {Boolean} low_first_letter Default is to capitalize the first letter of the results.(optional)\n * Passing true will lowercase it.\n * @returns {String} Lower case underscored words will be returned in humanized form.\n * @example\n *\n * var inflection = require( 'inflection' );\n *\n * inflection.humanize( 'message_properties' ); // === 'Message properties'\n * inflection.humanize( 'message_properties', true ); // === 'message properties'\n */\n humanize : function ( str, low_first_letter ){\n str = str.toLowerCase();\n str = str.replace( id_suffix, '' );\n str = str.replace( underbar, ' ' );\n\n if( !low_first_letter ){\n str = inflector.capitalize( str );\n }\n\n return str;\n },\n\n\n\n /**\n * This function adds capitalization support to every String object.\n * @public\n * @function\n * @param {String} str The subject string.\n * @returns {String} All characters will be lower case and the first will be upper.\n * @example\n *\n * var inflection = require( 'inflection' );\n *\n * inflection.capitalize( 'message_properties' ); // === 'Message_properties'\n * inflection.capitalize( 'message properties', true ); // === 'Message properties'\n */\n capitalize : function ( str ){\n str = str.toLowerCase();\n\n return str.substring( 0, 1 ).toUpperCase() + str.substring( 1 );\n },\n\n\n\n /**\n * This function replaces underscores with dashes in the string.\n * @public\n * @function\n * @param {String} str The subject string.\n * @returns {String} Replaces all spaces or underscores with dashes.\n * @example\n *\n * var inflection = require( 'inflection' );\n *\n * inflection.dasherize( 'message_properties' ); // === 'message-properties'\n * inflection.dasherize( 'Message Properties' ); // === 'Message-Properties'\n */\n dasherize : function ( str ){\n return str.replace( space_or_underbar, '-' );\n },\n\n\n\n /**\n * This function adds titleize support to every String object.\n * @public\n * @function\n * @param {String} str The subject string.\n * @returns {String} Capitalizes words as you would for a book title.\n * @example\n *\n * var inflection = require( 'inflection' );\n *\n * inflection.titleize( 'message_properties' ); // === 'Message Properties'\n * inflection.titleize( 'message properties to keep' ); // === 'Message Properties to Keep'\n */\n titleize : function ( str ){\n str = str.toLowerCase().replace( underbar, ' ' );\n var str_arr = str.split( ' ' );\n var i = 0;\n var j = str_arr.length;\n var d, k, l;\n\n for( ; i < j; i++ ){\n d = str_arr[ i ].split( '-' );\n k = 0;\n l = d.length;\n\n for( ; k < l; k++){\n if( inflector.indexOf( non_titlecased_words, d[ k ].toLowerCase()) < 0 ){\n d[ k ] = inflector.capitalize( d[ k ]);\n }\n }\n\n str_arr[ i ] = d.join( '-' );\n }\n\n str = str_arr.join( ' ' );\n str = str.substring( 0, 1 ).toUpperCase() + str.substring( 1 );\n\n return str;\n },\n\n\n\n /**\n * This function adds demodulize support to every String object.\n * @public\n * @function\n * @param {String} str The subject string.\n * @returns {String} Removes module names leaving only class names.(Ruby style)\n * @example\n *\n * var inflection = require( 'inflection' );\n *\n * inflection.demodulize( 'Message::Bus::Properties' ); // === 'Properties'\n */\n demodulize : function ( str ){\n var str_arr = str.split( '::' );\n\n return str_arr[ str_arr.length - 1 ];\n },\n\n\n\n /**\n * This function adds tableize support to every String object.\n * @public\n * @function\n * @param {String} str The subject string.\n * @returns {String} Return camel cased words into their underscored plural form.\n * @example\n *\n * var inflection = require( 'inflection' );\n *\n * inflection.tableize( 'MessageBusProperty' ); // === 'message_bus_properties'\n */\n tableize : function ( str ){\n str = inflector.underscore( str );\n str = inflector.pluralize( str );\n\n return str;\n },\n\n\n\n /**\n * This function adds classification support to every String object.\n * @public\n * @function\n * @param {String} str The subject string.\n * @returns {String} Underscored plural nouns become the camel cased singular form.\n * @example\n *\n * var inflection = require( 'inflection' );\n *\n * inflection.classify( 'message_bus_properties' ); // === 'MessageBusProperty'\n */\n classify : function ( str ){\n str = inflector.camelize( str );\n str = inflector.singularize( str );\n\n return str;\n },\n\n\n\n /**\n * This function adds foreign key support to every String object.\n * @public\n * @function\n * @param {String} str The subject string.\n * @param {Boolean} drop_id_ubar Default is to seperate id with an underbar at the end of the class name,\n you can pass true to skip it.(optional)\n * @returns {String} Underscored plural nouns become the camel cased singular form.\n * @example\n *\n * var inflection = require( 'inflection' );\n *\n * inflection.foreign_key( 'MessageBusProperty' ); // === 'message_bus_property_id'\n * inflection.foreign_key( 'MessageBusProperty', true ); // === 'message_bus_propertyid'\n */\n foreign_key : function ( str, drop_id_ubar ){\n str = inflector.demodulize( str );\n str = inflector.underscore( str ) + (( drop_id_ubar ) ? ( '' ) : ( '_' )) + 'id';\n\n return str;\n },\n\n\n\n /**\n * This function adds ordinalize support to every String object.\n * @public\n * @function\n * @param {String} str The subject string.\n * @returns {String} Return all found numbers their sequence like '22nd'.\n * @example\n *\n * var inflection = require( 'inflection' );\n *\n * inflection.ordinalize( 'the 1 pitch' ); // === 'the 1st pitch'\n */\n ordinalize : function ( str ){\n var str_arr = str.split( ' ' );\n var i = 0;\n var j = str_arr.length;\n\n for( ; i < j; i++ ){\n var k = parseInt( str_arr[ i ], 10 );\n\n if( !isNaN( k )){\n var ltd = str_arr[ i ].substring( str_arr[ i ].length - 2 );\n var ld = str_arr[ i ].substring( str_arr[ i ].length - 1 );\n var suf = 'th';\n\n if( ltd != '11' && ltd != '12' && ltd != '13' ){\n if( ld === '1' ){\n suf = 'st';\n }else if( ld === '2' ){\n suf = 'nd';\n }else if( ld === '3' ){\n suf = 'rd';\n }\n }\n\n str_arr[ i ] += suf;\n }\n }\n\n return str_arr.join( ' ' );\n },\n\n /**\n * This function performs multiple inflection methods on a string\n * @public\n * @function\n * @param {String} str The subject string.\n * @param {Array} arr An array of inflection methods.\n * @returns {String}\n * @example\n *\n * var inflection = require( 'inflection' );\n *\n * inflection.transform( 'all job', [ 'pluralize', 'capitalize', 'dasherize' ]); // === 'All-jobs'\n */\n transform : function ( str, arr ){\n var i = 0;\n var j = arr.length;\n\n for( ;i < j; i++ ){\n var method = arr[ i ];\n\n if( inflector.hasOwnProperty( method )){\n str = inflector[ method ]( str );\n }\n }\n\n return str;\n }\n };\n\n/**\n * @public\n */\n inflector.version = '1.13.1';\n\n return inflector;\n}));\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}","var toString = {}.toString;\n\nmodule.exports = Array.isArray || function (arr) {\n return toString.call(arr) == '[object Array]';\n};\n","/*!\n * isobject \n *\n * Copyright (c) 2014-2017, Jon Schlinkert.\n * Released under the MIT License.\n */\n\n'use strict';\n\nmodule.exports = function isObject(val) {\n return val != null && typeof val === 'object' && Array.isArray(val) === false;\n};\n","/**\r\n * This file is part of the JS Money library\r\n *\r\n * Copyright (c) 2014 David Kalosi\r\n *\r\n * For the full copyright and license information, please view the LICENSE\r\n * file that was distributed with this source code.\r\n */\r\n\r\nvar currencies = {\r\n \"USD\": {\r\n \"symbol\": \"$\",\r\n \"name\": \"US Dollar\",\r\n \"symbol_native\": \"$\",\r\n \"decimal_digits\": 2,\r\n \"rounding\": 0,\r\n \"code\": \"USD\",\r\n \"name_plural\": \"US dollars\"\r\n },\r\n \"CAD\": {\r\n \"symbol\": \"CA$\",\r\n \"name\": \"Canadian Dollar\",\r\n \"symbol_native\": \"$\",\r\n \"decimal_digits\": 2,\r\n \"rounding\": 0,\r\n \"code\": \"CAD\",\r\n \"name_plural\": \"Canadian dollars\"\r\n },\r\n \"EUR\": {\r\n \"symbol\": \"€\",\r\n \"name\": \"Euro\",\r\n \"symbol_native\": \"€\",\r\n \"decimal_digits\": 2,\r\n \"rounding\": 0,\r\n \"code\": \"EUR\",\r\n \"name_plural\": \"euros\"\r\n },\r\n \"BTC\": {\r\n \"symbol\": \"BTC\",\r\n \"name\": \"Bitcoin\",\r\n \"symbol_native\": \"฿\",\r\n \"decimal_digits\": 8,\r\n \"rounding\": 0,\r\n \"code\": \"BTC\",\r\n \"name_plural\": \"Bitcoins\"\r\n },\r\n \"AED\": {\r\n \"symbol\": \"AED\",\r\n \"name\": \"United Arab Emirates Dirham\",\r\n \"symbol_native\": \"د.إ.‏\",\r\n \"decimal_digits\": 2,\r\n \"rounding\": 0,\r\n \"code\": \"AED\",\r\n \"name_plural\": \"UAE dirhams\"\r\n },\r\n \"AFN\": {\r\n \"symbol\": \"Af\",\r\n \"name\": \"Afghan Afghani\",\r\n \"symbol_native\": \"؋\",\r\n \"decimal_digits\": 2,\r\n \"rounding\": 0,\r\n \"code\": \"AFN\",\r\n \"name_plural\": \"Afghan Afghanis\"\r\n },\r\n \"ALL\": {\r\n \"symbol\": \"ALL\",\r\n \"name\": \"Albanian Lek\",\r\n \"symbol_native\": \"Lek\",\r\n \"decimal_digits\": 2,\r\n \"rounding\": 0,\r\n \"code\": \"ALL\",\r\n \"name_plural\": \"Albanian lekë\"\r\n },\r\n \"AMD\": {\r\n \"symbol\": \"AMD\",\r\n \"name\": \"Armenian Dram\",\r\n \"symbol_native\": \"դր.\",\r\n \"decimal_digits\": 2,\r\n \"rounding\": 0,\r\n \"code\": \"AMD\",\r\n \"name_plural\": \"Armenian drams\"\r\n },\r\n \"ARS\": {\r\n \"symbol\": \"AR$\",\r\n \"name\": \"Argentine Peso\",\r\n \"symbol_native\": \"$\",\r\n \"decimal_digits\": 2,\r\n \"rounding\": 0,\r\n \"code\": \"ARS\",\r\n \"name_plural\": \"Argentine pesos\"\r\n },\r\n \"AUD\": {\r\n \"symbol\": \"AU$\",\r\n \"name\": \"Australian Dollar\",\r\n \"symbol_native\": \"$\",\r\n \"decimal_digits\": 2,\r\n \"rounding\": 0,\r\n \"code\": \"AUD\",\r\n \"name_plural\": \"Australian dollars\"\r\n },\r\n \"AZN\": {\r\n \"symbol\": \"man.\",\r\n \"name\": \"Azerbaijani Manat\",\r\n \"symbol_native\": \"ман.\",\r\n \"decimal_digits\": 2,\r\n \"rounding\": 0,\r\n \"code\": \"AZN\",\r\n \"name_plural\": \"Azerbaijani manats\"\r\n },\r\n \"BAM\": {\r\n \"symbol\": \"KM\",\r\n \"name\": \"Bosnia-Herzegovina Convertible Mark\",\r\n \"symbol_native\": \"KM\",\r\n \"decimal_digits\": 2,\r\n \"rounding\": 0,\r\n \"code\": \"BAM\",\r\n \"name_plural\": \"Bosnia-Herzegovina convertible marks\"\r\n },\r\n \"BDT\": {\r\n \"symbol\": \"Tk\",\r\n \"name\": \"Bangladeshi Taka\",\r\n \"symbol_native\": \"৳\",\r\n \"decimal_digits\": 2,\r\n \"rounding\": 0,\r\n \"code\": \"BDT\",\r\n \"name_plural\": \"Bangladeshi takas\"\r\n },\r\n \"BGN\": {\r\n \"symbol\": \"BGN\",\r\n \"name\": \"Bulgarian Lev\",\r\n \"symbol_native\": \"лв.\",\r\n \"decimal_digits\": 2,\r\n \"rounding\": 0,\r\n \"code\": \"BGN\",\r\n \"name_plural\": \"Bulgarian leva\"\r\n },\r\n \"BHD\": {\r\n \"symbol\": \"BD\",\r\n \"name\": \"Bahraini Dinar\",\r\n \"symbol_native\": \"د.ب.‏\",\r\n \"decimal_digits\": 3,\r\n \"rounding\": 0,\r\n \"code\": \"BHD\",\r\n \"name_plural\": \"Bahraini dinars\"\r\n },\r\n \"BIF\": {\r\n \"symbol\": \"FBu\",\r\n \"name\": \"Burundian Franc\",\r\n \"symbol_native\": \"FBu\",\r\n \"decimal_digits\": 0,\r\n \"rounding\": 0,\r\n \"code\": \"BIF\",\r\n \"name_plural\": \"Burundian francs\"\r\n },\r\n \"BND\": {\r\n \"symbol\": \"BN$\",\r\n \"name\": \"Brunei Dollar\",\r\n \"symbol_native\": \"$\",\r\n \"decimal_digits\": 2,\r\n \"rounding\": 0,\r\n \"code\": \"BND\",\r\n \"name_plural\": \"Brunei dollars\"\r\n },\r\n \"BOB\": {\r\n \"symbol\": \"Bs\",\r\n \"name\": \"Bolivian Boliviano\",\r\n \"symbol_native\": \"Bs\",\r\n \"decimal_digits\": 2,\r\n \"rounding\": 0,\r\n \"code\": \"BOB\",\r\n \"name_plural\": \"Bolivian bolivianos\"\r\n },\r\n \"BRL\": {\r\n \"symbol\": \"R$\",\r\n \"name\": \"Brazilian Real\",\r\n \"symbol_native\": \"R$\",\r\n \"decimal_digits\": 2,\r\n \"rounding\": 0,\r\n \"code\": \"BRL\",\r\n \"name_plural\": \"Brazilian reals\"\r\n },\r\n \"BWP\": {\r\n \"symbol\": \"BWP\",\r\n \"name\": \"Botswanan Pula\",\r\n \"symbol_native\": \"P\",\r\n \"decimal_digits\": 2,\r\n \"rounding\": 0,\r\n \"code\": \"BWP\",\r\n \"name_plural\": \"Botswanan pulas\"\r\n },\r\n \"BYR\": {\r\n \"symbol\": \"BYR\",\r\n \"name\": \"Belarusian Ruble\",\r\n \"symbol_native\": \"BYR\",\r\n \"decimal_digits\": 0,\r\n \"rounding\": 0,\r\n \"code\": \"BYR\",\r\n \"name_plural\": \"Belarusian rubles\"\r\n },\r\n \"BZD\": {\r\n \"symbol\": \"BZ$\",\r\n \"name\": \"Belize Dollar\",\r\n \"symbol_native\": \"$\",\r\n \"decimal_digits\": 2,\r\n \"rounding\": 0,\r\n \"code\": \"BZD\",\r\n \"name_plural\": \"Belize dollars\"\r\n },\r\n \"CDF\": {\r\n \"symbol\": \"CDF\",\r\n \"name\": \"Congolese Franc\",\r\n \"symbol_native\": \"FrCD\",\r\n \"decimal_digits\": 2,\r\n \"rounding\": 0,\r\n \"code\": \"CDF\",\r\n \"name_plural\": \"Congolese francs\"\r\n },\r\n \"CHF\": {\r\n \"symbol\": \"CHF\",\r\n \"name\": \"Swiss Franc\",\r\n \"symbol_native\": \"CHF\",\r\n \"decimal_digits\": 2,\r\n \"rounding\": 0.05,\r\n \"code\": \"CHF\",\r\n \"name_plural\": \"Swiss francs\"\r\n },\r\n \"CLP\": {\r\n \"symbol\": \"CL$\",\r\n \"name\": \"Chilean Peso\",\r\n \"symbol_native\": \"$\",\r\n \"decimal_digits\": 0,\r\n \"rounding\": 0,\r\n \"code\": \"CLP\",\r\n \"name_plural\": \"Chilean pesos\"\r\n },\r\n \"CNY\": {\r\n \"symbol\": \"CN¥\",\r\n \"name\": \"Chinese Yuan\",\r\n \"symbol_native\": \"CN¥\",\r\n \"decimal_digits\": 2,\r\n \"rounding\": 0,\r\n \"code\": \"CNY\",\r\n \"name_plural\": \"Chinese yuan\"\r\n },\r\n \"COP\": {\r\n \"symbol\": \"CO$\",\r\n \"name\": \"Colombian Peso\",\r\n \"symbol_native\": \"$\",\r\n \"decimal_digits\": 2,\r\n \"rounding\": 0,\r\n \"code\": \"COP\",\r\n \"name_plural\": \"Colombian pesos\"\r\n },\r\n \"CRC\": {\r\n \"symbol\": \"₡\",\r\n \"name\": \"Costa Rican Colón\",\r\n \"symbol_native\": \"₡\",\r\n \"decimal_digits\": 2,\r\n \"rounding\": 0,\r\n \"code\": \"CRC\",\r\n \"name_plural\": \"Costa Rican colóns\"\r\n },\r\n \"CVE\": {\r\n \"symbol\": \"CV$\",\r\n \"name\": \"Cape Verdean Escudo\",\r\n \"symbol_native\": \"CV$\",\r\n \"decimal_digits\": 2,\r\n \"rounding\": 0,\r\n \"code\": \"CVE\",\r\n \"name_plural\": \"Cape Verdean escudos\"\r\n },\r\n \"CZK\": {\r\n \"symbol\": \"Kč\",\r\n \"name\": \"Czech Republic Koruna\",\r\n \"symbol_native\": \"Kč\",\r\n \"decimal_digits\": 2,\r\n \"rounding\": 0,\r\n \"code\": \"CZK\",\r\n \"name_plural\": \"Czech Republic korunas\"\r\n },\r\n \"DJF\": {\r\n \"symbol\": \"Fdj\",\r\n \"name\": \"Djiboutian Franc\",\r\n \"symbol_native\": \"Fdj\",\r\n \"decimal_digits\": 0,\r\n \"rounding\": 0,\r\n \"code\": \"DJF\",\r\n \"name_plural\": \"Djiboutian francs\"\r\n },\r\n \"DKK\": {\r\n \"symbol\": \"Dkr\",\r\n \"name\": \"Danish Krone\",\r\n \"symbol_native\": \"kr\",\r\n \"decimal_digits\": 2,\r\n \"rounding\": 0,\r\n \"code\": \"DKK\",\r\n \"name_plural\": \"Danish kroner\"\r\n },\r\n \"DOP\": {\r\n \"symbol\": \"RD$\",\r\n \"name\": \"Dominican Peso\",\r\n \"symbol_native\": \"RD$\",\r\n \"decimal_digits\": 2,\r\n \"rounding\": 0,\r\n \"code\": \"DOP\",\r\n \"name_plural\": \"Dominican pesos\"\r\n },\r\n \"DZD\": {\r\n \"symbol\": \"DA\",\r\n \"name\": \"Algerian Dinar\",\r\n \"symbol_native\": \"د.ج.‏\",\r\n \"decimal_digits\": 2,\r\n \"rounding\": 0,\r\n \"code\": \"DZD\",\r\n \"name_plural\": \"Algerian dinars\"\r\n },\r\n \"EEK\": {\r\n \"symbol\": \"Ekr\",\r\n \"name\": \"Estonian Kroon\",\r\n \"symbol_native\": \"kr\",\r\n \"decimal_digits\": 2,\r\n \"rounding\": 0,\r\n \"code\": \"EEK\",\r\n \"name_plural\": \"Estonian kroons\"\r\n },\r\n \"EGP\": {\r\n \"symbol\": \"EGP\",\r\n \"name\": \"Egyptian Pound\",\r\n \"symbol_native\": \"ج.م.‏\",\r\n \"decimal_digits\": 2,\r\n \"rounding\": 0,\r\n \"code\": \"EGP\",\r\n \"name_plural\": \"Egyptian pounds\"\r\n },\r\n \"ERN\": {\r\n \"symbol\": \"Nfk\",\r\n \"name\": \"Eritrean Nakfa\",\r\n \"symbol_native\": \"Nfk\",\r\n \"decimal_digits\": 2,\r\n \"rounding\": 0,\r\n \"code\": \"ERN\",\r\n \"name_plural\": \"Eritrean nakfas\"\r\n },\r\n \"ETB\": {\r\n \"symbol\": \"Br\",\r\n \"name\": \"Ethiopian Birr\",\r\n \"symbol_native\": \"Br\",\r\n \"decimal_digits\": 2,\r\n \"rounding\": 0,\r\n \"code\": \"ETB\",\r\n \"name_plural\": \"Ethiopian birrs\"\r\n },\r\n \"GBP\": {\r\n \"symbol\": \"£\",\r\n \"name\": \"British Pound Sterling\",\r\n \"symbol_native\": \"£\",\r\n \"decimal_digits\": 2,\r\n \"rounding\": 0,\r\n \"code\": \"GBP\",\r\n \"name_plural\": \"British pounds sterling\"\r\n },\r\n \"GEL\": {\r\n \"symbol\": \"GEL\",\r\n \"name\": \"Georgian Lari\",\r\n \"symbol_native\": \"GEL\",\r\n \"decimal_digits\": 2,\r\n \"rounding\": 0,\r\n \"code\": \"GEL\",\r\n \"name_plural\": \"Georgian laris\"\r\n },\r\n \"GHS\": {\r\n \"symbol\": \"GH₵\",\r\n \"name\": \"Ghanaian Cedi\",\r\n \"symbol_native\": \"GH₵\",\r\n \"decimal_digits\": 2,\r\n \"rounding\": 0,\r\n \"code\": \"GHS\",\r\n \"name_plural\": \"Ghanaian cedis\"\r\n },\r\n \"GNF\": {\r\n \"symbol\": \"FG\",\r\n \"name\": \"Guinean Franc\",\r\n \"symbol_native\": \"FG\",\r\n \"decimal_digits\": 0,\r\n \"rounding\": 0,\r\n \"code\": \"GNF\",\r\n \"name_plural\": \"Guinean francs\"\r\n },\r\n \"GTQ\": {\r\n \"symbol\": \"GTQ\",\r\n \"name\": \"Guatemalan Quetzal\",\r\n \"symbol_native\": \"Q\",\r\n \"decimal_digits\": 2,\r\n \"rounding\": 0,\r\n \"code\": \"GTQ\",\r\n \"name_plural\": \"Guatemalan quetzals\"\r\n },\r\n \"HKD\": {\r\n \"symbol\": \"HK$\",\r\n \"name\": \"Hong Kong Dollar\",\r\n \"symbol_native\": \"$\",\r\n \"decimal_digits\": 2,\r\n \"rounding\": 0,\r\n \"code\": \"HKD\",\r\n \"name_plural\": \"Hong Kong dollars\"\r\n },\r\n \"HNL\": {\r\n \"symbol\": \"HNL\",\r\n \"name\": \"Honduran Lempira\",\r\n \"symbol_native\": \"L\",\r\n \"decimal_digits\": 2,\r\n \"rounding\": 0,\r\n \"code\": \"HNL\",\r\n \"name_plural\": \"Honduran lempiras\"\r\n },\r\n \"HRK\": {\r\n \"symbol\": \"kn\",\r\n \"name\": \"Croatian Kuna\",\r\n \"symbol_native\": \"kn\",\r\n \"decimal_digits\": 2,\r\n \"rounding\": 0,\r\n \"code\": \"HRK\",\r\n \"name_plural\": \"Croatian kunas\"\r\n },\r\n \"HUF\": {\r\n \"symbol\": \"Ft\",\r\n \"name\": \"Hungarian Forint\",\r\n \"symbol_native\": \"Ft\",\r\n \"decimal_digits\": 2,\r\n \"rounding\": 0,\r\n \"code\": \"HUF\",\r\n \"name_plural\": \"Hungarian forints\"\r\n },\r\n \"IDR\": {\r\n \"symbol\": \"Rp\",\r\n \"name\": \"Indonesian Rupiah\",\r\n \"symbol_native\": \"Rp\",\r\n \"decimal_digits\": 2,\r\n \"rounding\": 0,\r\n \"code\": \"IDR\",\r\n \"name_plural\": \"Indonesian rupiahs\"\r\n },\r\n \"ILS\": {\r\n \"symbol\": \"₪\",\r\n \"name\": \"Israeli New Sheqel\",\r\n \"symbol_native\": \"₪\",\r\n \"decimal_digits\": 2,\r\n \"rounding\": 0,\r\n \"code\": \"ILS\",\r\n \"name_plural\": \"Israeli new sheqels\"\r\n },\r\n \"INR\": {\r\n \"symbol\": \"Rs\",\r\n \"name\": \"Indian Rupee\",\r\n \"symbol_native\": \"টকা\",\r\n \"decimal_digits\": 2,\r\n \"rounding\": 0,\r\n \"code\": \"INR\",\r\n \"name_plural\": \"Indian rupees\"\r\n },\r\n \"IQD\": {\r\n \"symbol\": \"IQD\",\r\n \"name\": \"Iraqi Dinar\",\r\n \"symbol_native\": \"د.ع.‏\",\r\n \"decimal_digits\": 3,\r\n \"rounding\": 0,\r\n \"code\": \"IQD\",\r\n \"name_plural\": \"Iraqi dinars\"\r\n },\r\n \"IRR\": {\r\n \"symbol\": \"IRR\",\r\n \"name\": \"Iranian Rial\",\r\n \"symbol_native\": \"﷼\",\r\n \"decimal_digits\": 2,\r\n \"rounding\": 0,\r\n \"code\": \"IRR\",\r\n \"name_plural\": \"Iranian rials\"\r\n },\r\n \"ISK\": {\r\n \"symbol\": \"Ikr\",\r\n \"name\": \"Icelandic Króna\",\r\n \"symbol_native\": \"kr\",\r\n \"decimal_digits\": 0,\r\n \"rounding\": 0,\r\n \"code\": \"ISK\",\r\n \"name_plural\": \"Icelandic krónur\"\r\n },\r\n \"JMD\": {\r\n \"symbol\": \"J$\",\r\n \"name\": \"Jamaican Dollar\",\r\n \"symbol_native\": \"$\",\r\n \"decimal_digits\": 2,\r\n \"rounding\": 0,\r\n \"code\": \"JMD\",\r\n \"name_plural\": \"Jamaican dollars\"\r\n },\r\n \"JOD\": {\r\n \"symbol\": \"JD\",\r\n \"name\": \"Jordanian Dinar\",\r\n \"symbol_native\": \"د.أ.‏\",\r\n \"decimal_digits\": 3,\r\n \"rounding\": 0,\r\n \"code\": \"JOD\",\r\n \"name_plural\": \"Jordanian dinars\"\r\n },\r\n \"JPY\": {\r\n \"symbol\": \"¥\",\r\n \"name\": \"Japanese Yen\",\r\n \"symbol_native\": \"¥\",\r\n \"decimal_digits\": 0,\r\n \"rounding\": 0,\r\n \"code\": \"JPY\",\r\n \"name_plural\": \"Japanese yen\"\r\n },\r\n \"KES\": {\r\n \"symbol\": \"Ksh\",\r\n \"name\": \"Kenyan Shilling\",\r\n \"symbol_native\": \"Ksh\",\r\n \"decimal_digits\": 2,\r\n \"rounding\": 0,\r\n \"code\": \"KES\",\r\n \"name_plural\": \"Kenyan shillings\"\r\n },\r\n \"KHR\": {\r\n \"symbol\": \"KHR\",\r\n \"name\": \"Cambodian Riel\",\r\n \"symbol_native\": \"៛\",\r\n \"decimal_digits\": 2,\r\n \"rounding\": 0,\r\n \"code\": \"KHR\",\r\n \"name_plural\": \"Cambodian riels\"\r\n },\r\n \"KMF\": {\r\n \"symbol\": \"CF\",\r\n \"name\": \"Comorian Franc\",\r\n \"symbol_native\": \"FC\",\r\n \"decimal_digits\": 0,\r\n \"rounding\": 0,\r\n \"code\": \"KMF\",\r\n \"name_plural\": \"Comorian francs\"\r\n },\r\n \"KRW\": {\r\n \"symbol\": \"₩\",\r\n \"name\": \"South Korean Won\",\r\n \"symbol_native\": \"₩\",\r\n \"decimal_digits\": 0,\r\n \"rounding\": 0,\r\n \"code\": \"KRW\",\r\n \"name_plural\": \"South Korean won\"\r\n },\r\n \"KWD\": {\r\n \"symbol\": \"KD\",\r\n \"name\": \"Kuwaiti Dinar\",\r\n \"symbol_native\": \"د.ك.‏\",\r\n \"decimal_digits\": 3,\r\n \"rounding\": 0,\r\n \"code\": \"KWD\",\r\n \"name_plural\": \"Kuwaiti dinars\"\r\n },\r\n \"KZT\": {\r\n \"symbol\": \"KZT\",\r\n \"name\": \"Kazakhstani Tenge\",\r\n \"symbol_native\": \"тңг.\",\r\n \"decimal_digits\": 2,\r\n \"rounding\": 0,\r\n \"code\": \"KZT\",\r\n \"name_plural\": \"Kazakhstani tenges\"\r\n },\r\n \"LAK\": {\r\n \"symbol\": \"₭\",\r\n \"name\": \"Lao kip\",\r\n \"symbol_native\": \"ກີບ\",\r\n \"decimal_digits\": 2,\r\n \"rounding\": 0,\r\n \"code\": \"LAK\",\r\n \"name_plural\": \"Lao kips\"\r\n },\r\n \"LBP\": {\r\n \"symbol\": \"LB£\",\r\n \"name\": \"Lebanese Pound\",\r\n \"symbol_native\": \"ل.ل.‏\",\r\n \"decimal_digits\": 2,\r\n \"rounding\": 0,\r\n \"code\": \"LBP\",\r\n \"name_plural\": \"Lebanese pounds\"\r\n },\r\n \"LKR\": {\r\n \"symbol\": \"SLRs\",\r\n \"name\": \"Sri Lankan Rupee\",\r\n \"symbol_native\": \"SL Re\",\r\n \"decimal_digits\": 2,\r\n \"rounding\": 0,\r\n \"code\": \"LKR\",\r\n \"name_plural\": \"Sri Lankan rupees\"\r\n },\r\n \"LTL\": {\r\n \"symbol\": \"Lt\",\r\n \"name\": \"Lithuanian Litas\",\r\n \"symbol_native\": \"Lt\",\r\n \"decimal_digits\": 2,\r\n \"rounding\": 0,\r\n \"code\": \"LTL\",\r\n \"name_plural\": \"Lithuanian litai\"\r\n },\r\n \"LVL\": {\r\n \"symbol\": \"Ls\",\r\n \"name\": \"Latvian Lats\",\r\n \"symbol_native\": \"Ls\",\r\n \"decimal_digits\": 2,\r\n \"rounding\": 0,\r\n \"code\": \"LVL\",\r\n \"name_plural\": \"Latvian lati\"\r\n },\r\n \"LYD\": {\r\n \"symbol\": \"LD\",\r\n \"name\": \"Libyan Dinar\",\r\n \"symbol_native\": \"د.ل.‏\",\r\n \"decimal_digits\": 3,\r\n \"rounding\": 0,\r\n \"code\": \"LYD\",\r\n \"name_plural\": \"Libyan dinars\"\r\n },\r\n \"MAD\": {\r\n \"symbol\": \"MAD\",\r\n \"name\": \"Moroccan Dirham\",\r\n \"symbol_native\": \"د.م.‏\",\r\n \"decimal_digits\": 2,\r\n \"rounding\": 0,\r\n \"code\": \"MAD\",\r\n \"name_plural\": \"Moroccan dirhams\"\r\n },\r\n \"MDL\": {\r\n \"symbol\": \"MDL\",\r\n \"name\": \"Moldovan Leu\",\r\n \"symbol_native\": \"MDL\",\r\n \"decimal_digits\": 2,\r\n \"rounding\": 0,\r\n \"code\": \"MDL\",\r\n \"name_plural\": \"Moldovan lei\"\r\n },\r\n \"MGA\": {\r\n \"symbol\": \"MGA\",\r\n \"name\": \"Malagasy Ariary\",\r\n \"symbol_native\": \"MGA\",\r\n \"decimal_digits\": 2,\r\n \"rounding\": 0,\r\n \"code\": \"MGA\",\r\n \"name_plural\": \"Malagasy Ariaries\"\r\n },\r\n \"MKD\": {\r\n \"symbol\": \"MKD\",\r\n \"name\": \"Macedonian Denar\",\r\n \"symbol_native\": \"MKD\",\r\n \"decimal_digits\": 2,\r\n \"rounding\": 0,\r\n \"code\": \"MKD\",\r\n \"name_plural\": \"Macedonian denari\"\r\n },\r\n \"MMK\": {\r\n \"symbol\": \"MMK\",\r\n \"name\": \"Myanma Kyat\",\r\n \"symbol_native\": \"K\",\r\n \"decimal_digits\": 2,\r\n \"rounding\": 0,\r\n \"code\": \"MMK\",\r\n \"name_plural\": \"Myanma kyats\"\r\n },\r\n \"MOP\": {\r\n \"symbol\": \"MOP$\",\r\n \"name\": \"Macanese Pataca\",\r\n \"symbol_native\": \"MOP$\",\r\n \"decimal_digits\": 2,\r\n \"rounding\": 0,\r\n \"code\": \"MOP\",\r\n \"name_plural\": \"Macanese patacas\"\r\n },\r\n \"MUR\": {\r\n \"symbol\": \"MURs\",\r\n \"name\": \"Mauritian Rupee\",\r\n \"symbol_native\": \"MURs\",\r\n \"decimal_digits\": 2,\r\n \"rounding\": 0,\r\n \"code\": \"MUR\",\r\n \"name_plural\": \"Mauritian rupees\"\r\n },\r\n \"MXN\": {\r\n \"symbol\": \"MX$\",\r\n \"name\": \"Mexican Peso\",\r\n \"symbol_native\": \"$\",\r\n \"decimal_digits\": 2,\r\n \"rounding\": 0,\r\n \"code\": \"MXN\",\r\n \"name_plural\": \"Mexican pesos\"\r\n },\r\n \"MYR\": {\r\n \"symbol\": \"RM\",\r\n \"name\": \"Malaysian Ringgit\",\r\n \"symbol_native\": \"RM\",\r\n \"decimal_digits\": 2,\r\n \"rounding\": 0,\r\n \"code\": \"MYR\",\r\n \"name_plural\": \"Malaysian ringgits\"\r\n },\r\n \"MZN\": {\r\n \"symbol\": \"MTn\",\r\n \"name\": \"Mozambican Metical\",\r\n \"symbol_native\": \"MTn\",\r\n \"decimal_digits\": 2,\r\n \"rounding\": 0,\r\n \"code\": \"MZN\",\r\n \"name_plural\": \"Mozambican meticals\"\r\n },\r\n \"NAD\": {\r\n \"symbol\": \"N$\",\r\n \"name\": \"Namibian Dollar\",\r\n \"symbol_native\": \"N$\",\r\n \"decimal_digits\": 2,\r\n \"rounding\": 0,\r\n \"code\": \"NAD\",\r\n \"name_plural\": \"Namibian dollars\"\r\n },\r\n \"NGN\": {\r\n \"symbol\": \"₦\",\r\n \"name\": \"Nigerian Naira\",\r\n \"symbol_native\": \"₦\",\r\n \"decimal_digits\": 2,\r\n \"rounding\": 0,\r\n \"code\": \"NGN\",\r\n \"name_plural\": \"Nigerian nairas\"\r\n },\r\n \"NIO\": {\r\n \"symbol\": \"C$\",\r\n \"name\": \"Nicaraguan Córdoba\",\r\n \"symbol_native\": \"C$\",\r\n \"decimal_digits\": 2,\r\n \"rounding\": 0,\r\n \"code\": \"NIO\",\r\n \"name_plural\": \"Nicaraguan córdobas\"\r\n },\r\n \"NOK\": {\r\n \"symbol\": \"Nkr\",\r\n \"name\": \"Norwegian Krone\",\r\n \"symbol_native\": \"kr\",\r\n \"decimal_digits\": 2,\r\n \"rounding\": 0,\r\n \"code\": \"NOK\",\r\n \"name_plural\": \"Norwegian kroner\"\r\n },\r\n \"NPR\": {\r\n \"symbol\": \"NPRs\",\r\n \"name\": \"Nepalese Rupee\",\r\n \"symbol_native\": \"नेरू\",\r\n \"decimal_digits\": 2,\r\n \"rounding\": 0,\r\n \"code\": \"NPR\",\r\n \"name_plural\": \"Nepalese rupees\"\r\n },\r\n \"NZD\": {\r\n \"symbol\": \"NZ$\",\r\n \"name\": \"New Zealand Dollar\",\r\n \"symbol_native\": \"$\",\r\n \"decimal_digits\": 2,\r\n \"rounding\": 0,\r\n \"code\": \"NZD\",\r\n \"name_plural\": \"New Zealand dollars\"\r\n },\r\n \"OMR\": {\r\n \"symbol\": \"OMR\",\r\n \"name\": \"Omani Rial\",\r\n \"symbol_native\": \"ر.ع.‏\",\r\n \"decimal_digits\": 3,\r\n \"rounding\": 0,\r\n \"code\": \"OMR\",\r\n \"name_plural\": \"Omani rials\"\r\n },\r\n \"PAB\": {\r\n \"symbol\": \"B/.\",\r\n \"name\": \"Panamanian Balboa\",\r\n \"symbol_native\": \"B/.\",\r\n \"decimal_digits\": 2,\r\n \"rounding\": 0,\r\n \"code\": \"PAB\",\r\n \"name_plural\": \"Panamanian balboas\"\r\n },\r\n \"PEN\": {\r\n \"symbol\": \"S/.\",\r\n \"name\": \"Peruvian Nuevo Sol\",\r\n \"symbol_native\": \"S/.\",\r\n \"decimal_digits\": 2,\r\n \"rounding\": 0,\r\n \"code\": \"PEN\",\r\n \"name_plural\": \"Peruvian nuevos soles\"\r\n },\r\n \"PHP\": {\r\n \"symbol\": \"₱\",\r\n \"name\": \"Philippine Peso\",\r\n \"symbol_native\": \"₱\",\r\n \"decimal_digits\": 2,\r\n \"rounding\": 0,\r\n \"code\": \"PHP\",\r\n \"name_plural\": \"Philippine pesos\"\r\n },\r\n \"PKR\": {\r\n \"symbol\": \"PKRs\",\r\n \"name\": \"Pakistani Rupee\",\r\n \"symbol_native\": \"₨\",\r\n \"decimal_digits\": 2,\r\n \"rounding\": 0,\r\n \"code\": \"PKR\",\r\n \"name_plural\": \"Pakistani rupees\"\r\n },\r\n \"PLN\": {\r\n \"symbol\": \"zł\",\r\n \"name\": \"Polish Zloty\",\r\n \"symbol_native\": \"zł\",\r\n \"decimal_digits\": 2,\r\n \"rounding\": 0,\r\n \"code\": \"PLN\",\r\n \"name_plural\": \"Polish zlotys\"\r\n },\r\n \"PYG\": {\r\n \"symbol\": \"₲\",\r\n \"name\": \"Paraguayan Guarani\",\r\n \"symbol_native\": \"₲\",\r\n \"decimal_digits\": 0,\r\n \"rounding\": 0,\r\n \"code\": \"PYG\",\r\n \"name_plural\": \"Paraguayan guaranis\"\r\n },\r\n \"QAR\": {\r\n \"symbol\": \"QR\",\r\n \"name\": \"Qatari Rial\",\r\n \"symbol_native\": \"ر.ق.‏\",\r\n \"decimal_digits\": 2,\r\n \"rounding\": 0,\r\n \"code\": \"QAR\",\r\n \"name_plural\": \"Qatari rials\"\r\n },\r\n \"RON\": {\r\n \"symbol\": \"RON\",\r\n \"name\": \"Romanian Leu\",\r\n \"symbol_native\": \"RON\",\r\n \"decimal_digits\": 2,\r\n \"rounding\": 0,\r\n \"code\": \"RON\",\r\n \"name_plural\": \"Romanian lei\"\r\n },\r\n \"RSD\": {\r\n \"symbol\": \"din.\",\r\n \"name\": \"Serbian Dinar\",\r\n \"symbol_native\": \"дин.\",\r\n \"decimal_digits\": 2,\r\n \"rounding\": 0,\r\n \"code\": \"RSD\",\r\n \"name_plural\": \"Serbian dinars\"\r\n },\r\n \"RUB\": {\r\n \"symbol\": \"RUB\",\r\n \"name\": \"Russian Ruble\",\r\n \"symbol_native\": \"₽\",\r\n \"decimal_digits\": 2,\r\n \"rounding\": 0,\r\n \"code\": \"RUB\",\r\n \"name_plural\": \"Russian rubles\"\r\n },\r\n \"RWF\": {\r\n \"symbol\": \"RWF\",\r\n \"name\": \"Rwandan Franc\",\r\n \"symbol_native\": \"FR\",\r\n \"decimal_digits\": 0,\r\n \"rounding\": 0,\r\n \"code\": \"RWF\",\r\n \"name_plural\": \"Rwandan francs\"\r\n },\r\n \"SAR\": {\r\n \"symbol\": \"SR\",\r\n \"name\": \"Saudi Riyal\",\r\n \"symbol_native\": \"ر.س.‏\",\r\n \"decimal_digits\": 2,\r\n \"rounding\": 0,\r\n \"code\": \"SAR\",\r\n \"name_plural\": \"Saudi riyals\"\r\n },\r\n \"SDG\": {\r\n \"symbol\": \"SDG\",\r\n \"name\": \"Sudanese Pound\",\r\n \"symbol_native\": \"SDG\",\r\n \"decimal_digits\": 2,\r\n \"rounding\": 0,\r\n \"code\": \"SDG\",\r\n \"name_plural\": \"Sudanese pounds\"\r\n },\r\n \"SEK\": {\r\n \"symbol\": \"Skr\",\r\n \"name\": \"Swedish Krona\",\r\n \"symbol_native\": \"kr\",\r\n \"decimal_digits\": 2,\r\n \"rounding\": 0,\r\n \"code\": \"SEK\",\r\n \"name_plural\": \"Swedish kronor\"\r\n },\r\n \"SGD\": {\r\n \"symbol\": \"S$\",\r\n \"name\": \"Singapore Dollar\",\r\n \"symbol_native\": \"$\",\r\n \"decimal_digits\": 2,\r\n \"rounding\": 0,\r\n \"code\": \"SGD\",\r\n \"name_plural\": \"Singapore dollars\"\r\n },\r\n \"SOS\": {\r\n \"symbol\": \"Ssh\",\r\n \"name\": \"Somali Shilling\",\r\n \"symbol_native\": \"Ssh\",\r\n \"decimal_digits\": 2,\r\n \"rounding\": 0,\r\n \"code\": \"SOS\",\r\n \"name_plural\": \"Somali shillings\"\r\n },\r\n \"SYP\": {\r\n \"symbol\": \"SY£\",\r\n \"name\": \"Syrian Pound\",\r\n \"symbol_native\": \"ل.س.‏\",\r\n \"decimal_digits\": 2,\r\n \"rounding\": 0,\r\n \"code\": \"SYP\",\r\n \"name_plural\": \"Syrian pounds\"\r\n },\r\n \"THB\": {\r\n \"symbol\": \"฿\",\r\n \"name\": \"Thai Baht\",\r\n \"symbol_native\": \"฿\",\r\n \"decimal_digits\": 2,\r\n \"rounding\": 0,\r\n \"code\": \"THB\",\r\n \"name_plural\": \"Thai baht\"\r\n },\r\n \"TND\": {\r\n \"symbol\": \"DT\",\r\n \"name\": \"Tunisian Dinar\",\r\n \"symbol_native\": \"د.ت.‏\",\r\n \"decimal_digits\": 3,\r\n \"rounding\": 0,\r\n \"code\": \"TND\",\r\n \"name_plural\": \"Tunisian dinars\"\r\n },\r\n \"TOP\": {\r\n \"symbol\": \"T$\",\r\n \"name\": \"Tongan Paʻanga\",\r\n \"symbol_native\": \"T$\",\r\n \"decimal_digits\": 2,\r\n \"rounding\": 0,\r\n \"code\": \"TOP\",\r\n \"name_plural\": \"Tongan paʻanga\"\r\n },\r\n \"TRY\": {\r\n \"symbol\": \"TL\",\r\n \"name\": \"Turkish Lira\",\r\n \"symbol_native\": \"TL\",\r\n \"decimal_digits\": 2,\r\n \"rounding\": 0,\r\n \"code\": \"TRY\",\r\n \"name_plural\": \"Turkish Lira\"\r\n },\r\n \"TTD\": {\r\n \"symbol\": \"TT$\",\r\n \"name\": \"Trinidad and Tobago Dollar\",\r\n \"symbol_native\": \"$\",\r\n \"decimal_digits\": 2,\r\n \"rounding\": 0,\r\n \"code\": \"TTD\",\r\n \"name_plural\": \"Trinidad and Tobago dollars\"\r\n },\r\n \"TWD\": {\r\n \"symbol\": \"NT$\",\r\n \"name\": \"New Taiwan Dollar\",\r\n \"symbol_native\": \"NT$\",\r\n \"decimal_digits\": 2,\r\n \"rounding\": 0,\r\n \"code\": \"TWD\",\r\n \"name_plural\": \"New Taiwan dollars\"\r\n },\r\n \"TZS\": {\r\n \"symbol\": \"TSh\",\r\n \"name\": \"Tanzanian Shilling\",\r\n \"symbol_native\": \"TSh\",\r\n \"decimal_digits\": 2,\r\n \"rounding\": 0,\r\n \"code\": \"TZS\",\r\n \"name_plural\": \"Tanzanian shillings\"\r\n },\r\n \"UAH\": {\r\n \"symbol\": \"₴\",\r\n \"name\": \"Ukrainian Hryvnia\",\r\n \"symbol_native\": \"₴\",\r\n \"decimal_digits\": 2,\r\n \"rounding\": 0,\r\n \"code\": \"UAH\",\r\n \"name_plural\": \"Ukrainian hryvnias\"\r\n },\r\n \"UGX\": {\r\n \"symbol\": \"USh\",\r\n \"name\": \"Ugandan Shilling\",\r\n \"symbol_native\": \"USh\",\r\n \"decimal_digits\": 0,\r\n \"rounding\": 0,\r\n \"code\": \"UGX\",\r\n \"name_plural\": \"Ugandan shillings\"\r\n },\r\n \"UYU\": {\r\n \"symbol\": \"$U\",\r\n \"name\": \"Uruguayan Peso\",\r\n \"symbol_native\": \"$\",\r\n \"decimal_digits\": 2,\r\n \"rounding\": 0,\r\n \"code\": \"UYU\",\r\n \"name_plural\": \"Uruguayan pesos\"\r\n },\r\n \"UZS\": {\r\n \"symbol\": \"UZS\",\r\n \"name\": \"Uzbekistan Som\",\r\n \"symbol_native\": \"UZS\",\r\n \"decimal_digits\": 2,\r\n \"rounding\": 0,\r\n \"code\": \"UZS\",\r\n \"name_plural\": \"Uzbekistan som\"\r\n },\r\n \"VEF\": {\r\n \"symbol\": \"Bs.F.\",\r\n \"name\": \"Venezuelan Bolívar\",\r\n \"symbol_native\": \"Bs.F.\",\r\n \"decimal_digits\": 2,\r\n \"rounding\": 0,\r\n \"code\": \"VEF\",\r\n \"name_plural\": \"Venezuelan bolívars\"\r\n },\r\n \"VND\": {\r\n \"symbol\": \"₫\",\r\n \"name\": \"Vietnamese Dong\",\r\n \"symbol_native\": \"₫\",\r\n \"decimal_digits\": 0,\r\n \"rounding\": 0,\r\n \"code\": \"VND\",\r\n \"name_plural\": \"Vietnamese dong\"\r\n },\r\n \"XAF\": {\r\n \"symbol\": \"FCFA\",\r\n \"name\": \"CFA Franc BEAC\",\r\n \"symbol_native\": \"FCFA\",\r\n \"decimal_digits\": 0,\r\n \"rounding\": 0,\r\n \"code\": \"XAF\",\r\n \"name_plural\": \"CFA francs BEAC\"\r\n },\r\n \"XOF\": {\r\n \"symbol\": \"CFA\",\r\n \"name\": \"CFA Franc BCEAO\",\r\n \"symbol_native\": \"CFA\",\r\n \"decimal_digits\": 0,\r\n \"rounding\": 0,\r\n \"code\": \"XOF\",\r\n \"name_plural\": \"CFA francs BCEAO\"\r\n },\r\n \"YER\": {\r\n \"symbol\": \"YR\",\r\n \"name\": \"Yemeni Rial\",\r\n \"symbol_native\": \"ر.ي.‏\",\r\n \"decimal_digits\": 2,\r\n \"rounding\": 0,\r\n \"code\": \"YER\",\r\n \"name_plural\": \"Yemeni rials\"\r\n },\r\n \"ZAR\": {\r\n \"symbol\": \"R\",\r\n \"name\": \"South African Rand\",\r\n \"symbol_native\": \"R\",\r\n \"decimal_digits\": 2,\r\n \"rounding\": 0,\r\n \"code\": \"ZAR\",\r\n \"name_plural\": \"South African rand\"\r\n },\r\n \"ZMK\": {\r\n \"symbol\": \"ZK\",\r\n \"name\": \"Zambian Kwacha\",\r\n \"symbol_native\": \"ZK\",\r\n \"decimal_digits\": 0,\r\n \"rounding\": 0,\r\n \"code\": \"ZMK\",\r\n \"name_plural\": \"Zambian kwachas\"\r\n }\r\n};\r\n\r\nObject.keys(currencies).forEach(function (currency) {\r\n module.exports[currency] = currencies[currency]; \r\n});\r\n","/**\n * This file is part of the JS Money library\n *\n * Copyright (c) 2014 David Kalosi\n *\n * For the full copyright and license information, please view the LICENSE\n * file that was distributed with this source code.\n */\n\nmodule.exports = require('./money');\n","/**\r\n * This file is part of the JS Money library\r\n *\r\n * Copyright (c) 2014 David Kalosi\r\n *\r\n * For the full copyright and license information, please view the LICENSE\r\n * file that was distributed with this source code.\r\n */\r\n\r\nvar extend = require('lodash/extend');\r\nvar isFunction = require('lodash/isFunction');\r\nvar isNaN = require('lodash/isNaN');\r\nvar isObject = require('lodash/isObject');\r\nvar isPlainObject = require('lodash/isPlainObject');\r\nvar isString = require('lodash/isString');\r\nvar currencies = require('./currency');\r\n\r\nvar isInt = function (n) {\r\n return Number(n) === n && n % 1 === 0;\r\n};\r\n\r\nvar decimalPlaces = function (num) {\r\n var match = ('' + num).match(/(?:\\.(\\d+))?(?:[eE]([+-]?\\d+))?$/);\r\n\r\n if (!match)\r\n return 0;\r\n\r\n return Math.max(0,\r\n (match[1] ? match[1].length : 0) - (match[2] ? +match[2] : 0));\r\n};\r\n\r\nvar assertSameCurrency = function (left, right) {\r\n if (left.currency !== right.currency)\r\n throw new Error('Different currencies');\r\n};\r\n\r\nvar assertType = function (other) {\r\n if (!(other instanceof Money))\r\n throw new TypeError('Instance of Money required');\r\n};\r\n\r\nvar assertOperand = function (operand) {\r\n if (isNaN(parseFloat(operand)) && !isFinite(operand))\r\n throw new TypeError('Operand must be a number');\r\n};\r\n\r\n/**\r\n * Creates a new Money instance.\r\n * The created Money instances is a value object thus it is immutable.\r\n *\r\n * @param {Number} amount\r\n * @param {Object/String} currency\r\n * @returns {Money}\r\n * @constructor\r\n */\r\nfunction Money(amount, currency) {\r\n if (isString(currency))\r\n currency = currencies[currency];\r\n\r\n if (!isPlainObject(currency))\r\n throw new TypeError('Invalid currency');\r\n\r\n if (!isInt(amount))\r\n throw new TypeError('Amount must be an integer');\r\n\r\n this.amount = amount;\r\n this.currency = currency.code;\r\n Object.freeze(this);\r\n}\r\n\r\nMoney.fromInteger = function (amount, currency) {\r\n if (isObject(amount)) {\r\n if (amount.amount === undefined || amount.currency === undefined)\r\n throw new TypeError('Missing required parameters amount,currency');\r\n\r\n currency = amount.currency;\r\n amount = amount.amount;\r\n }\r\n\r\n if (!isInt(amount))\r\n throw new TypeError('Amount must be an integer value');\r\n\r\n return new Money(amount, currency);\r\n};\r\n\r\nMoney.fromDecimal = function (amount, currency, rounder) {\r\n if (isObject(amount)) {\r\n if (amount.amount === undefined || amount.currency === undefined)\r\n throw new TypeError('Missing required parameters amount,currency');\r\n\r\n rounder = currency;\r\n currency = amount.currency;\r\n amount = amount.amount;\r\n }\r\n\r\n if (isString(currency))\r\n currency = currencies[currency];\r\n\r\n if (!isPlainObject(currency))\r\n throw new TypeError('Invalid currency');\r\n\r\n if (rounder === undefined) {\r\n var decimals = decimalPlaces(amount);\r\n\r\n if (decimals > currency.decimal_digits)\r\n throw new Error(\"The currency \" + currency.code + \" supports only \"\r\n + currency.decimal_digits + \" decimal digits\");\r\n } else {\r\n if (['round', 'floor', 'ceil'].indexOf(rounder) === -1 && typeof rounder !== 'function')\r\n throw new TypeError('Invalid parameter rounder');\r\n\r\n if (isString(rounder))\r\n rounder = Math[rounder];\r\n }\r\n\r\n var precisionMultiplier = Math.pow(10, currency.decimal_digits);\r\n var resultAmount = amount * precisionMultiplier;\r\n\r\n if (rounder)\r\n resultAmount = rounder(resultAmount);\r\n\r\n return new Money(resultAmount, currency);\r\n};\r\n\r\n/**\r\n * Returns true if the two instances of Money are equal, false otherwise.\r\n *\r\n * @param {Money} other\r\n * @returns {Boolean}\r\n */\r\nMoney.prototype.equals = function (other) {\r\n var self = this;\r\n assertType(other);\r\n\r\n return self.amount === other.amount &&\r\n self.currency === other.currency;\r\n};\r\n\r\n/**\r\n * Adds the two objects together creating a new Money instance that holds the result of the operation.\r\n *\r\n * @param {Money} other\r\n * @returns {Money}\r\n */\r\nMoney.prototype.add = function (other) {\r\n var self = this;\r\n assertType(other);\r\n assertSameCurrency(self, other);\r\n\r\n return new Money(self.amount + other.amount, self.currency);\r\n};\r\n\r\n/**\r\n * Subtracts the two objects creating a new Money instance that holds the result of the operation.\r\n *\r\n * @param {Money} other\r\n * @returns {Money}\r\n */\r\nMoney.prototype.subtract = function (other) {\r\n var self = this;\r\n assertType(other);\r\n assertSameCurrency(self, other);\r\n\r\n return new Money(self.amount - other.amount, self.currency);\r\n};\r\n\r\n/**\r\n * Multiplies the object by the multiplier returning a new Money instance that holds the result of the operation.\r\n *\r\n * @param {Number} multiplier\r\n * @param {Function} [fn=Math.round]\r\n * @returns {Money}\r\n */\r\nMoney.prototype.multiply = function (multiplier, fn) {\r\n if (!isFunction(fn))\r\n fn = Math.round;\r\n\r\n assertOperand(multiplier);\r\n var amount = fn(this.amount * multiplier);\r\n\r\n return new Money(amount, this.currency);\r\n};\r\n\r\n/**\r\n * Divides the object by the multiplier returning a new Money instance that holds the result of the operation.\r\n *\r\n * @param {Number} divisor\r\n * @param {Function} [fn=Math.round]\r\n * @returns {Money}\r\n */\r\nMoney.prototype.divide = function (divisor, fn) {\r\n if (!isFunction(fn))\r\n fn = Math.round;\r\n\r\n assertOperand(divisor);\r\n var amount = fn(this.amount / divisor);\r\n\r\n return new Money(amount, this.currency);\r\n};\r\n\r\n/**\r\n * Allocates fund bases on the ratios provided returing an array of objects as a product of the allocation.\r\n *\r\n * @param {Array} other\r\n * @returns {Array.Money}\r\n */\r\nMoney.prototype.allocate = function (ratios) {\r\n var self = this;\r\n var remainder = self.amount;\r\n var results = [];\r\n var total = 0;\r\n\r\n ratios.forEach(function (ratio) {\r\n total += ratio;\r\n });\r\n\r\n ratios.forEach(function (ratio) {\r\n var share = Math.floor(self.amount * ratio / total)\r\n results.push(new Money(share, self.currency));\r\n remainder -= share;\r\n });\r\n\r\n for (var i = 0; remainder > 0; i++) {\r\n results[i] = new Money(results[i].amount + 1, results[i].currency);\r\n remainder--;\r\n }\r\n\r\n return results;\r\n};\r\n\r\n/**\r\n * Compares two instances of Money.\r\n *\r\n * @param {Money} other\r\n * @returns {Number}\r\n */\r\nMoney.prototype.compare = function (other) {\r\n var self = this;\r\n\r\n assertType(other);\r\n assertSameCurrency(self, other);\r\n\r\n if (self.amount === other.amount)\r\n return 0;\r\n\r\n return self.amount > other.amount ? 1 : -1;\r\n};\r\n\r\n/**\r\n * Checks whether the value represented by this object is greater than the other.\r\n *\r\n * @param {Money} other\r\n * @returns {boolean}\r\n */\r\nMoney.prototype.greaterThan = function (other) {\r\n return 1 === this.compare(other);\r\n};\r\n\r\n/**\r\n * Checks whether the value represented by this object is greater or equal to the other.\r\n *\r\n * @param {Money} other\r\n * @returns {boolean}\r\n */\r\nMoney.prototype.greaterThanOrEqual = function (other) {\r\n return 0 <= this.compare(other);\r\n};\r\n\r\n/**\r\n * Checks whether the value represented by this object is less than the other.\r\n *\r\n * @param {Money} other\r\n * @returns {boolean}\r\n */\r\nMoney.prototype.lessThan = function (other) {\r\n return -1 === this.compare(other);\r\n};\r\n\r\n/**\r\n * Checks whether the value represented by this object is less than or equal to the other.\r\n *\r\n * @param {Money} other\r\n * @returns {boolean}\r\n */\r\nMoney.prototype.lessThanOrEqual = function (other) {\r\n return 0 >= this.compare(other);\r\n};\r\n\r\n/**\r\n * Returns true if the amount is zero.\r\n *\r\n * @returns {boolean}\r\n */\r\nMoney.prototype.isZero = function () {\r\n return this.amount === 0;\r\n};\r\n\r\n/**\r\n * Returns true if the amount is positive.\r\n *\r\n * @returns {boolean}\r\n */\r\nMoney.prototype.isPositive = function () {\r\n return this.amount > 0;\r\n};\r\n\r\n/**\r\n * Returns true if the amount is negative.\r\n *\r\n * @returns {boolean}\r\n */\r\nMoney.prototype.isNegative = function () {\r\n return this.amount < 0;\r\n};\r\n\r\n/**\r\n * Returns the decimal value as a float.\r\n *\r\n * @returns {number}\r\n */\r\nMoney.prototype.toDecimal = function () {\r\n return Number(this.toString());\r\n};\r\n\r\n/**\r\n * Returns the decimal value as a string.\r\n *\r\n * @returns {string}\r\n */\r\nMoney.prototype.toString = function () {\r\n var currency = currencies[this.currency];\r\n return (this.amount / Math.pow(10, currency.decimal_digits)).toFixed(currency.decimal_digits);\r\n};\r\n\r\n/**\r\n * Returns a serialised version of the instance.\r\n *\r\n * @returns {{amount: number, currency: string}}\r\n */\r\nMoney.prototype.toJSON = function () {\r\n return {\r\n amount: this.amount,\r\n currency: this.currency\r\n };\r\n};\r\n\r\n/**\r\n * Returns the amount represented by this object.\r\n *\r\n * @returns {number}\r\n */\r\nMoney.prototype.getAmount = function () {\r\n return this.amount;\r\n};\r\n\r\n/**\r\n * Returns the currency represented by this object.\r\n *\r\n * @returns {string}\r\n */\r\nMoney.prototype.getCurrency = function () {\r\n return this.currency;\r\n};\r\n\r\nmodule.exports = extend(Money, currencies);\r\n","var toString = Object.prototype.toString;\n\nmodule.exports = function kindOf(val) {\n if (val === void 0) return 'undefined';\n if (val === null) return 'null';\n\n var type = typeof val;\n if (type === 'boolean') return 'boolean';\n if (type === 'string') return 'string';\n if (type === 'number') return 'number';\n if (type === 'symbol') return 'symbol';\n if (type === 'function') {\n return isGeneratorFn(val) ? 'generatorfunction' : 'function';\n }\n\n if (isArray(val)) return 'array';\n if (isBuffer(val)) return 'buffer';\n if (isArguments(val)) return 'arguments';\n if (isDate(val)) return 'date';\n if (isError(val)) return 'error';\n if (isRegexp(val)) return 'regexp';\n\n switch (ctorName(val)) {\n case 'Symbol': return 'symbol';\n case 'Promise': return 'promise';\n\n // Set, Map, WeakSet, WeakMap\n case 'WeakMap': return 'weakmap';\n case 'WeakSet': return 'weakset';\n case 'Map': return 'map';\n case 'Set': return 'set';\n\n // 8-bit typed arrays\n case 'Int8Array': return 'int8array';\n case 'Uint8Array': return 'uint8array';\n case 'Uint8ClampedArray': return 'uint8clampedarray';\n\n // 16-bit typed arrays\n case 'Int16Array': return 'int16array';\n case 'Uint16Array': return 'uint16array';\n\n // 32-bit typed arrays\n case 'Int32Array': return 'int32array';\n case 'Uint32Array': return 'uint32array';\n case 'Float32Array': return 'float32array';\n case 'Float64Array': return 'float64array';\n }\n\n if (isGeneratorObj(val)) {\n return 'generator';\n }\n\n // Non-plain objects\n type = toString.call(val);\n switch (type) {\n case '[object Object]': return 'object';\n // iterators\n case '[object Map Iterator]': return 'mapiterator';\n case '[object Set Iterator]': return 'setiterator';\n case '[object String Iterator]': return 'stringiterator';\n case '[object Array Iterator]': return 'arrayiterator';\n }\n\n // other\n return type.slice(8, -1).toLowerCase().replace(/\\s/g, '');\n};\n\nfunction ctorName(val) {\n return typeof val.constructor === 'function' ? val.constructor.name : null;\n}\n\nfunction isArray(val) {\n if (Array.isArray) return Array.isArray(val);\n return val instanceof Array;\n}\n\nfunction isError(val) {\n return val instanceof Error || (typeof val.message === 'string' && val.constructor && typeof val.constructor.stackTraceLimit === 'number');\n}\n\nfunction isDate(val) {\n if (val instanceof Date) return true;\n return typeof val.toDateString === 'function'\n && typeof val.getDate === 'function'\n && typeof val.setDate === 'function';\n}\n\nfunction isRegexp(val) {\n if (val instanceof RegExp) return true;\n return typeof val.flags === 'string'\n && typeof val.ignoreCase === 'boolean'\n && typeof val.multiline === 'boolean'\n && typeof val.global === 'boolean';\n}\n\nfunction isGeneratorFn(name, val) {\n return ctorName(name) === 'GeneratorFunction';\n}\n\nfunction isGeneratorObj(val) {\n return typeof val.throw === 'function'\n && typeof val.return === 'function'\n && typeof val.next === 'function';\n}\n\nfunction isArguments(val) {\n try {\n if (typeof val.length === 'number' && typeof val.callee === 'function') {\n return true;\n }\n } catch (err) {\n if (err.message.indexOf('callee') !== -1) {\n return true;\n }\n }\n return false;\n}\n\n/**\n * If you need to support Safari 5-7 (8-10 yr-old browser),\n * take a look at https://github.com/feross/is-buffer\n */\n\nfunction isBuffer(val) {\n if (val.constructor && typeof val.constructor.isBuffer === 'function') {\n return val.constructor.isBuffer(val);\n }\n return false;\n}\n","var root = require('./_root');\n\n/** Built-in value references. */\nvar Symbol = root.Symbol;\n\nmodule.exports = Symbol;\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","var baseTimes = require('./_baseTimes'),\n isArguments = require('./isArguments'),\n isArray = require('./isArray'),\n isBuffer = require('./isBuffer'),\n isIndex = require('./_isIndex'),\n isTypedArray = require('./isTypedArray');\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Creates an array of the enumerable property names of the array-like `value`.\n *\n * @private\n * @param {*} value The value to query.\n * @param {boolean} inherited Specify returning inherited property names.\n * @returns {Array} Returns the array of property names.\n */\nfunction arrayLikeKeys(value, inherited) {\n var isArr = isArray(value),\n isArg = !isArr && isArguments(value),\n isBuff = !isArr && !isArg && isBuffer(value),\n isType = !isArr && !isArg && !isBuff && isTypedArray(value),\n skipIndexes = isArr || isArg || isBuff || isType,\n result = skipIndexes ? baseTimes(value.length, String) : [],\n length = result.length;\n\n for (var key in value) {\n if ((inherited || hasOwnProperty.call(value, key)) &&\n !(skipIndexes && (\n // Safari 9 has enumerable `arguments.length` in strict mode.\n key == 'length' ||\n // Node.js 0.10 has enumerable non-index properties on buffers.\n (isBuff && (key == 'offset' || key == 'parent')) ||\n // PhantomJS 2 has enumerable non-index properties on typed arrays.\n (isType && (key == 'buffer' || key == 'byteLength' || key == 'byteOffset')) ||\n // Skip index properties.\n isIndex(key, length)\n ))) {\n result.push(key);\n }\n }\n return result;\n}\n\nmodule.exports = arrayLikeKeys;\n","var baseAssignValue = require('./_baseAssignValue'),\n eq = require('./eq');\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Assigns `value` to `key` of `object` if the existing value is not equivalent\n * using [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)\n * for equality comparisons.\n *\n * @private\n * @param {Object} object The object to modify.\n * @param {string} key The key of the property to assign.\n * @param {*} value The value to assign.\n */\nfunction assignValue(object, key, value) {\n var objValue = object[key];\n if (!(hasOwnProperty.call(object, key) && eq(objValue, value)) ||\n (value === undefined && !(key in object))) {\n baseAssignValue(object, key, value);\n }\n}\n\nmodule.exports = assignValue;\n","var defineProperty = require('./_defineProperty');\n\n/**\n * The base implementation of `assignValue` and `assignMergeValue` without\n * value checks.\n *\n * @private\n * @param {Object} object The object to modify.\n * @param {string} key The key of the property to assign.\n * @param {*} value The value to assign.\n */\nfunction baseAssignValue(object, key, value) {\n if (key == '__proto__' && defineProperty) {\n defineProperty(object, key, {\n 'configurable': true,\n 'enumerable': true,\n 'value': value,\n 'writable': true\n });\n } else {\n object[key] = value;\n }\n}\n\nmodule.exports = baseAssignValue;\n","var Symbol = require('./_Symbol'),\n getRawTag = require('./_getRawTag'),\n objectToString = require('./_objectToString');\n\n/** `Object#toString` result references. */\nvar nullTag = '[object Null]',\n undefinedTag = '[object Undefined]';\n\n/** Built-in value references. */\nvar symToStringTag = Symbol ? Symbol.toStringTag : undefined;\n\n/**\n * The base implementation of `getTag` without fallbacks for buggy environments.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the `toStringTag`.\n */\nfunction baseGetTag(value) {\n if (value == null) {\n return value === undefined ? undefinedTag : nullTag;\n }\n return (symToStringTag && symToStringTag in Object(value))\n ? getRawTag(value)\n : objectToString(value);\n}\n\nmodule.exports = baseGetTag;\n","var 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 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 isObject = require('./isObject'),\n isPrototype = require('./_isPrototype'),\n nativeKeysIn = require('./_nativeKeysIn');\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * The base implementation of `_.keysIn` which doesn't treat sparse arrays as dense.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n */\nfunction baseKeysIn(object) {\n if (!isObject(object)) {\n return nativeKeysIn(object);\n }\n var isProto = isPrototype(object),\n result = [];\n\n for (var key in object) {\n if (!(key == 'constructor' && (isProto || !hasOwnProperty.call(object, key)))) {\n result.push(key);\n }\n }\n return result;\n}\n\nmodule.exports = baseKeysIn;\n","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","/**\n * The base implementation of `_.unary` without support for storing metadata.\n *\n * @private\n * @param {Function} func The function to cap arguments for.\n * @returns {Function} Returns the new capped function.\n */\nfunction baseUnary(func) {\n return function(value) {\n return func(value);\n };\n}\n\nmodule.exports = baseUnary;\n","var 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","/** Detect free variable `global` from Node.js. */\nvar freeGlobal = typeof global == 'object' && global && global.Object === Object && global;\n\nmodule.exports = freeGlobal;\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 overArg = require('./_overArg');\n\n/** Built-in value references. */\nvar getPrototype = overArg(Object.getPrototypeOf, Object);\n\nmodule.exports = getPrototype;\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","/**\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","/** 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 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","/**\n * This function is like\n * [`Object.keys`](http://ecma-international.org/ecma-262/7.0/#sec-object.keys)\n * except that it includes inherited enumerable properties.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n */\nfunction nativeKeysIn(object) {\n var result = [];\n if (object != null) {\n for (var key in Object(object)) {\n result.push(key);\n }\n }\n return result;\n}\n\nmodule.exports = nativeKeysIn;\n","var 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","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","/** Used for built-in method references. */\nvar funcProto = Function.prototype;\n\n/** Used to resolve the decompiled source of functions. */\nvar funcToString = funcProto.toString;\n\n/**\n * Converts `func` to its source code.\n *\n * @private\n * @param {Function} func The function to convert.\n * @returns {string} Returns the source code.\n */\nfunction toSource(func) {\n if (func != null) {\n try {\n return funcToString.call(func);\n } catch (e) {}\n try {\n return (func + '');\n } catch (e) {}\n }\n return '';\n}\n\nmodule.exports = toSource;\n","var copyObject = require('./_copyObject'),\n createAssigner = require('./_createAssigner'),\n keysIn = require('./keysIn');\n\n/**\n * This method is like `_.assign` except that it iterates over own and\n * inherited source properties.\n *\n * **Note:** This method mutates `object`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @alias extend\n * @category Object\n * @param {Object} object The destination object.\n * @param {...Object} [sources] The source objects.\n * @returns {Object} Returns `object`.\n * @see _.assign\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 * _.assignIn({ 'a': 0 }, new Foo, new Bar);\n * // => { 'a': 1, 'b': 2, 'c': 3, 'd': 4 }\n */\nvar assignIn = createAssigner(function(object, source) {\n copyObject(source, keysIn(source), object);\n});\n\nmodule.exports = assignIn;\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","/**\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","module.exports = require('./assignIn');\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 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 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","var isNumber = require('./isNumber');\n\n/**\n * Checks if `value` is `NaN`.\n *\n * **Note:** This method is based on\n * [`Number.isNaN`](https://mdn.io/Number/isNaN) and is not the same as\n * global [`isNaN`](https://mdn.io/isNaN) which returns `true` for\n * `undefined` and other non-number values.\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 `NaN`, else `false`.\n * @example\n *\n * _.isNaN(NaN);\n * // => true\n *\n * _.isNaN(new Number(NaN));\n * // => true\n *\n * isNaN(undefined);\n * // => true\n *\n * _.isNaN(undefined);\n * // => false\n */\nfunction isNaN(value) {\n // An `NaN` primitive is the only value that is not equal to itself.\n // Perform the `toStringTag` check first to avoid errors with some\n // ActiveX objects in IE.\n return isNumber(value) && value != +value;\n}\n\nmodule.exports = isNaN;\n","var baseGetTag = require('./_baseGetTag'),\n isObjectLike = require('./isObjectLike');\n\n/** `Object#toString` result references. */\nvar numberTag = '[object Number]';\n\n/**\n * Checks if `value` is classified as a `Number` primitive or object.\n *\n * **Note:** To exclude `Infinity`, `-Infinity`, and `NaN`, which are\n * classified as numbers, use the `_.isFinite` method.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a number, else `false`.\n * @example\n *\n * _.isNumber(3);\n * // => true\n *\n * _.isNumber(Number.MIN_VALUE);\n * // => true\n *\n * _.isNumber(Infinity);\n * // => true\n *\n * _.isNumber('3');\n * // => false\n */\nfunction isNumber(value) {\n return typeof value == 'number' ||\n (isObjectLike(value) && baseGetTag(value) == numberTag);\n}\n\nmodule.exports = isNumber;\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 getPrototype = require('./_getPrototype'),\n isObjectLike = require('./isObjectLike');\n\n/** `Object#toString` result references. */\nvar objectTag = '[object Object]';\n\n/** Used for built-in method references. */\nvar funcProto = Function.prototype,\n objectProto = Object.prototype;\n\n/** Used to resolve the decompiled source of functions. */\nvar funcToString = funcProto.toString;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/** Used to infer the `Object` constructor. */\nvar objectCtorString = funcToString.call(Object);\n\n/**\n * Checks if `value` is a plain object, that is, an object created by the\n * `Object` constructor or one with a `[[Prototype]]` of `null`.\n *\n * @static\n * @memberOf _\n * @since 0.8.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a plain object, else `false`.\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * }\n *\n * _.isPlainObject(new Foo);\n * // => false\n *\n * _.isPlainObject([1, 2, 3]);\n * // => false\n *\n * _.isPlainObject({ 'x': 0, 'y': 0 });\n * // => true\n *\n * _.isPlainObject(Object.create(null));\n * // => true\n */\nfunction isPlainObject(value) {\n if (!isObjectLike(value) || baseGetTag(value) != objectTag) {\n return false;\n }\n var proto = getPrototype(value);\n if (proto === null) {\n return true;\n }\n var Ctor = hasOwnProperty.call(proto, 'constructor') && proto.constructor;\n return typeof Ctor == 'function' && Ctor instanceof Ctor &&\n funcToString.call(Ctor) == objectCtorString;\n}\n\nmodule.exports = isPlainObject;\n","var baseGetTag = require('./_baseGetTag'),\n isArray = require('./isArray'),\n isObjectLike = require('./isObjectLike');\n\n/** `Object#toString` result references. */\nvar stringTag = '[object String]';\n\n/**\n * Checks if `value` is classified as a `String` primitive or object.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a string, else `false`.\n * @example\n *\n * _.isString('abc');\n * // => true\n *\n * _.isString(1);\n * // => false\n */\nfunction isString(value) {\n return typeof value == 'string' ||\n (!isArray(value) && isObjectLike(value) && baseGetTag(value) == stringTag);\n}\n\nmodule.exports = isString;\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 baseKeysIn = require('./_baseKeysIn'),\n isArrayLike = require('./isArrayLike');\n\n/**\n * Creates an array of the own and inherited enumerable property names of `object`.\n *\n * **Note:** Non-object values are coerced to objects.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Object\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * this.b = 2;\n * }\n *\n * Foo.prototype.c = 3;\n *\n * _.keysIn(new Foo);\n * // => ['a', 'b', 'c'] (iteration order is not guaranteed)\n */\nfunction keysIn(object) {\n return isArrayLike(object) ? arrayLikeKeys(object, true) : baseKeysIn(object);\n}\n\nmodule.exports = keysIn;\n","/**\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","'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","'use strict';\n\nvar keysShim;\nif (!Object.keys) {\n\t// modified from https://github.com/es-shims/es5-shim\n\tvar has = Object.prototype.hasOwnProperty;\n\tvar toStr = Object.prototype.toString;\n\tvar isArgs = require('./isArguments'); // eslint-disable-line global-require\n\tvar isEnumerable = Object.prototype.propertyIsEnumerable;\n\tvar hasDontEnumBug = !isEnumerable.call({ toString: null }, 'toString');\n\tvar hasProtoEnumBug = isEnumerable.call(function () {}, 'prototype');\n\tvar dontEnums = [\n\t\t'toString',\n\t\t'toLocaleString',\n\t\t'valueOf',\n\t\t'hasOwnProperty',\n\t\t'isPrototypeOf',\n\t\t'propertyIsEnumerable',\n\t\t'constructor'\n\t];\n\tvar equalsConstructorPrototype = function (o) {\n\t\tvar ctor = o.constructor;\n\t\treturn ctor && ctor.prototype === o;\n\t};\n\tvar excludedKeys = {\n\t\t$applicationCache: true,\n\t\t$console: true,\n\t\t$external: true,\n\t\t$frame: true,\n\t\t$frameElement: true,\n\t\t$frames: true,\n\t\t$innerHeight: true,\n\t\t$innerWidth: true,\n\t\t$onmozfullscreenchange: true,\n\t\t$onmozfullscreenerror: true,\n\t\t$outerHeight: true,\n\t\t$outerWidth: true,\n\t\t$pageXOffset: true,\n\t\t$pageYOffset: true,\n\t\t$parent: true,\n\t\t$scrollLeft: true,\n\t\t$scrollTop: true,\n\t\t$scrollX: true,\n\t\t$scrollY: true,\n\t\t$self: true,\n\t\t$webkitIndexedDB: true,\n\t\t$webkitStorageInfo: true,\n\t\t$window: true\n\t};\n\tvar hasAutomationEqualityBug = (function () {\n\t\t/* global window */\n\t\tif (typeof window === 'undefined') { return false; }\n\t\tfor (var k in window) {\n\t\t\ttry {\n\t\t\t\tif (!excludedKeys['$' + k] && has.call(window, k) && window[k] !== null && typeof window[k] === 'object') {\n\t\t\t\t\ttry {\n\t\t\t\t\t\tequalsConstructorPrototype(window[k]);\n\t\t\t\t\t} catch (e) {\n\t\t\t\t\t\treturn true;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t} catch (e) {\n\t\t\t\treturn true;\n\t\t\t}\n\t\t}\n\t\treturn false;\n\t}());\n\tvar equalsConstructorPrototypeIfNotBuggy = function (o) {\n\t\t/* global window */\n\t\tif (typeof window === 'undefined' || !hasAutomationEqualityBug) {\n\t\t\treturn equalsConstructorPrototype(o);\n\t\t}\n\t\ttry {\n\t\t\treturn equalsConstructorPrototype(o);\n\t\t} catch (e) {\n\t\t\treturn false;\n\t\t}\n\t};\n\n\tkeysShim = function keys(object) {\n\t\tvar isObject = object !== null && typeof object === 'object';\n\t\tvar isFunction = toStr.call(object) === '[object Function]';\n\t\tvar isArguments = isArgs(object);\n\t\tvar isString = isObject && toStr.call(object) === '[object String]';\n\t\tvar theKeys = [];\n\n\t\tif (!isObject && !isFunction && !isArguments) {\n\t\t\tthrow new TypeError('Object.keys called on a non-object');\n\t\t}\n\n\t\tvar skipProto = hasProtoEnumBug && isFunction;\n\t\tif (isString && object.length > 0 && !has.call(object, 0)) {\n\t\t\tfor (var i = 0; i < object.length; ++i) {\n\t\t\t\ttheKeys.push(String(i));\n\t\t\t}\n\t\t}\n\n\t\tif (isArguments && object.length > 0) {\n\t\t\tfor (var j = 0; j < object.length; ++j) {\n\t\t\t\ttheKeys.push(String(j));\n\t\t\t}\n\t\t} else {\n\t\t\tfor (var name in object) {\n\t\t\t\tif (!(skipProto && name === 'prototype') && has.call(object, name)) {\n\t\t\t\t\ttheKeys.push(String(name));\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tif (hasDontEnumBug) {\n\t\t\tvar skipConstructor = equalsConstructorPrototypeIfNotBuggy(object);\n\n\t\t\tfor (var k = 0; k < dontEnums.length; ++k) {\n\t\t\t\tif (!(skipConstructor && dontEnums[k] === 'constructor') && has.call(object, dontEnums[k])) {\n\t\t\t\t\ttheKeys.push(dontEnums[k]);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\treturn theKeys;\n\t};\n}\nmodule.exports = keysShim;\n","'use strict';\n\nvar slice = Array.prototype.slice;\nvar isArgs = require('./isArguments');\n\nvar origKeys = Object.keys;\nvar keysShim = origKeys ? function keys(o) { return origKeys(o); } : require('./implementation');\n\nvar originalKeys = Object.keys;\n\nkeysShim.shim = function shimObjectKeys() {\n\tif (Object.keys) {\n\t\tvar keysWorksWithArguments = (function () {\n\t\t\t// Safari 5.0 bug\n\t\t\tvar args = Object.keys(arguments);\n\t\t\treturn args && args.length === arguments.length;\n\t\t}(1, 2));\n\t\tif (!keysWorksWithArguments) {\n\t\t\tObject.keys = function keys(object) { // eslint-disable-line func-name-matching\n\t\t\t\tif (isArgs(object)) {\n\t\t\t\t\treturn originalKeys(slice.call(object));\n\t\t\t\t}\n\t\t\t\treturn originalKeys(object);\n\t\t\t};\n\t\t}\n\t} else {\n\t\tObject.keys = keysShim;\n\t}\n\treturn Object.keys || keysShim;\n};\n\nmodule.exports = keysShim;\n","'use strict';\n\nvar toStr = Object.prototype.toString;\n\nmodule.exports = function isArguments(value) {\n\tvar str = toStr.call(value);\n\tvar isArgs = str === '[object Arguments]';\n\tif (!isArgs) {\n\t\tisArgs = str !== '[object Array]' &&\n\t\t\tvalue !== null &&\n\t\t\ttypeof value === 'object' &&\n\t\t\ttypeof value.length === 'number' &&\n\t\t\tvalue.length >= 0 &&\n\t\t\ttoStr.call(value.callee) === '[object Function]';\n\t}\n\treturn isArgs;\n};\n","function isUndefined(value) {\n return value === undefined;\n}\n\nfunction isNull(value) {\n return value === null;\n}\n\nfunction isBoolean(value) {\n return typeof value === 'boolean';\n}\n\nfunction isObject(value) {\n return value === Object(value);\n}\n\nfunction isArray(value) {\n return Array.isArray(value);\n}\n\nfunction isDate(value) {\n return value instanceof Date;\n}\n\nfunction isBlob(value, isReactNative) {\n return isReactNative\n ? isObject(value) && !isUndefined(value.uri)\n : isObject(value) &&\n typeof value.size === 'number' &&\n typeof value.type === 'string' &&\n typeof value.slice === 'function';\n}\n\nfunction isFile(value, isReactNative) {\n return (\n isBlob(value, isReactNative) &&\n typeof value.name === 'string' &&\n (isObject(value.lastModifiedDate) || typeof value.lastModified === 'number')\n );\n}\n\nfunction initCfg(value) {\n return isUndefined(value) ? false : value;\n}\n\nfunction serialize(obj, cfg, fd, pre) {\n cfg = cfg || {};\n fd = fd || new FormData();\n\n cfg.indices = initCfg(cfg.indices);\n cfg.nullsAsUndefineds = initCfg(cfg.nullsAsUndefineds);\n cfg.booleansAsIntegers = initCfg(cfg.booleansAsIntegers);\n cfg.allowEmptyArrays = initCfg(cfg.allowEmptyArrays);\n cfg.noFilesWithArrayNotation = initCfg(cfg.noFilesWithArrayNotation);\n cfg.dotsForObjectNotation = initCfg(cfg.dotsForObjectNotation);\n\n const isReactNative = typeof fd.getParts === 'function';\n\n if (isUndefined(obj)) {\n return fd;\n } else if (isNull(obj)) {\n if (!cfg.nullsAsUndefineds) {\n fd.append(pre, '');\n }\n } else if (isBoolean(obj)) {\n if (cfg.booleansAsIntegers) {\n fd.append(pre, obj ? 1 : 0);\n } else {\n fd.append(pre, obj);\n }\n } else if (isArray(obj)) {\n if (obj.length) {\n obj.forEach((value, index) => {\n let key = pre + '[' + (cfg.indices ? index : '') + ']';\n\n if (cfg.noFilesWithArrayNotation && isFile(value, isReactNative)) {\n key = pre;\n }\n\n serialize(value, cfg, fd, key);\n });\n } else if (cfg.allowEmptyArrays) {\n fd.append(pre + '[]', '');\n }\n } else if (isDate(obj)) {\n fd.append(pre, obj.toISOString());\n } else if (isObject(obj) && !isBlob(obj, isReactNative)) {\n Object.keys(obj).forEach((prop) => {\n const value = obj[prop];\n\n if (isArray(value)) {\n while (prop.length > 2 && prop.lastIndexOf('[]') === prop.length - 2) {\n prop = prop.substring(0, prop.length - 2);\n }\n }\n\n const key = pre\n ? cfg.dotsForObjectNotation\n ? pre + '.' + prop\n : pre + '[' + prop + ']'\n : prop;\n\n serialize(value, cfg, fd, key);\n });\n } else {\n fd.append(pre, obj);\n }\n\n return fd;\n}\n\nmodule.exports = {\n serialize,\n};\n","'use strict';\n\n// modified from https://github.com/es-shims/es6-shim\nvar objectKeys = require('object-keys');\nvar hasSymbols = require('has-symbols/shams')();\nvar callBound = require('call-bind/callBound');\nvar toObject = Object;\nvar $push = callBound('Array.prototype.push');\nvar $propIsEnumerable = callBound('Object.prototype.propertyIsEnumerable');\nvar originalGetSymbols = hasSymbols ? Object.getOwnPropertySymbols : null;\n\n// eslint-disable-next-line no-unused-vars\nmodule.exports = function assign(target, source1) {\n\tif (target == null) { throw new TypeError('target must be an object'); }\n\tvar to = toObject(target); // step 1\n\tif (arguments.length === 1) {\n\t\treturn to; // step 2\n\t}\n\tfor (var s = 1; s < arguments.length; ++s) {\n\t\tvar from = toObject(arguments[s]); // step 3.a.i\n\n\t\t// step 3.a.ii:\n\t\tvar keys = objectKeys(from);\n\t\tvar getSymbols = hasSymbols && (Object.getOwnPropertySymbols || originalGetSymbols);\n\t\tif (getSymbols) {\n\t\t\tvar syms = getSymbols(from);\n\t\t\tfor (var j = 0; j < syms.length; ++j) {\n\t\t\t\tvar key = syms[j];\n\t\t\t\tif ($propIsEnumerable(from, key)) {\n\t\t\t\t\t$push(keys, key);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\t// step 3.a.iii:\n\t\tfor (var i = 0; i < keys.length; ++i) {\n\t\t\tvar nextKey = keys[i];\n\t\t\tif ($propIsEnumerable(from, nextKey)) { // step 3.a.iii.2\n\t\t\t\tvar propValue = from[nextKey]; // step 3.a.iii.2.a\n\t\t\t\tto[nextKey] = propValue; // step 3.a.iii.2.b\n\t\t\t}\n\t\t}\n\t}\n\n\treturn to; // step 4\n};\n","'use strict';\n\nvar defineProperties = require('define-properties');\nvar callBind = require('call-bind');\n\nvar implementation = require('./implementation');\nvar getPolyfill = require('./polyfill');\nvar shim = require('./shim');\n\nvar polyfill = callBind.apply(getPolyfill());\n// eslint-disable-next-line no-unused-vars\nvar bound = function assign(target, source1) {\n\treturn polyfill(Object, arguments);\n};\n\ndefineProperties(bound, {\n\tgetPolyfill: getPolyfill,\n\timplementation: implementation,\n\tshim: shim\n});\n\nmodule.exports = bound;\n","'use strict';\n\nvar implementation = require('./implementation');\n\nvar lacksProperEnumerationOrder = function () {\n\tif (!Object.assign) {\n\t\treturn false;\n\t}\n\t/*\n\t * v8, specifically in node 4.x, has a bug with incorrect property enumeration order\n\t * note: this does not detect the bug unless there's 20 characters\n\t */\n\tvar str = 'abcdefghijklmnopqrst';\n\tvar letters = str.split('');\n\tvar map = {};\n\tfor (var i = 0; i < letters.length; ++i) {\n\t\tmap[letters[i]] = letters[i];\n\t}\n\tvar obj = Object.assign({}, map);\n\tvar actual = '';\n\tfor (var k in obj) {\n\t\tactual += k;\n\t}\n\treturn str !== actual;\n};\n\nvar assignHasPendingExceptions = function () {\n\tif (!Object.assign || !Object.preventExtensions) {\n\t\treturn false;\n\t}\n\t/*\n\t * Firefox 37 still has \"pending exception\" logic in its Object.assign implementation,\n\t * which is 72% slower than our shim, and Firefox 40's native implementation.\n\t */\n\tvar thrower = Object.preventExtensions({ 1: 2 });\n\ttry {\n\t\tObject.assign(thrower, 'xy');\n\t} catch (e) {\n\t\treturn thrower[1] === 'y';\n\t}\n\treturn false;\n};\n\nmodule.exports = function getPolyfill() {\n\tif (!Object.assign) {\n\t\treturn implementation;\n\t}\n\tif (lacksProperEnumerationOrder()) {\n\t\treturn implementation;\n\t}\n\tif (assignHasPendingExceptions()) {\n\t\treturn implementation;\n\t}\n\treturn Object.assign;\n};\n","'use strict';\n\nvar define = require('define-properties');\nvar getPolyfill = require('./polyfill');\n\nmodule.exports = function shimAssign() {\n\tvar polyfill = getPolyfill();\n\tdefine(\n\t\tObject,\n\t\t{ assign: polyfill },\n\t\t{ assign: function () { return Object.assign !== polyfill; } }\n\t);\n\treturn polyfill;\n};\n","var parse = require(\"./parse\");\nvar walk = require(\"./walk\");\nvar stringify = require(\"./stringify\");\n\nfunction ValueParser(value) {\n if (this instanceof ValueParser) {\n this.nodes = parse(value);\n return this;\n }\n return new ValueParser(value);\n}\n\nValueParser.prototype.toString = function() {\n return Array.isArray(this.nodes) ? stringify(this.nodes) : \"\";\n};\n\nValueParser.prototype.walk = function(cb, bubble) {\n walk(this.nodes, cb, bubble);\n return this;\n};\n\nValueParser.unit = require(\"./unit\");\n\nValueParser.walk = walk;\n\nValueParser.stringify = stringify;\n\nmodule.exports = ValueParser;\n","var openParentheses = \"(\".charCodeAt(0);\nvar closeParentheses = \")\".charCodeAt(0);\nvar singleQuote = \"'\".charCodeAt(0);\nvar doubleQuote = '\"'.charCodeAt(0);\nvar backslash = \"\\\\\".charCodeAt(0);\nvar slash = \"/\".charCodeAt(0);\nvar comma = \",\".charCodeAt(0);\nvar colon = \":\".charCodeAt(0);\nvar star = \"*\".charCodeAt(0);\nvar uLower = \"u\".charCodeAt(0);\nvar uUpper = \"U\".charCodeAt(0);\nvar plus = \"+\".charCodeAt(0);\nvar isUnicodeRange = /^[a-f0-9?-]+$/i;\n\nmodule.exports = function(input) {\n var tokens = [];\n var value = input;\n\n var next,\n quote,\n prev,\n token,\n escape,\n escapePos,\n whitespacePos,\n parenthesesOpenPos;\n var pos = 0;\n var code = value.charCodeAt(pos);\n var max = value.length;\n var stack = [{ nodes: tokens }];\n var balanced = 0;\n var parent;\n\n var name = \"\";\n var before = \"\";\n var after = \"\";\n\n while (pos < max) {\n // Whitespaces\n if (code <= 32) {\n next = pos;\n do {\n next += 1;\n code = value.charCodeAt(next);\n } while (code <= 32);\n token = value.slice(pos, next);\n\n prev = tokens[tokens.length - 1];\n if (code === closeParentheses && balanced) {\n after = token;\n } else if (prev && prev.type === \"div\") {\n prev.after = token;\n prev.sourceEndIndex += token.length;\n } else if (\n code === comma ||\n code === colon ||\n (code === slash &&\n value.charCodeAt(next + 1) !== star &&\n (!parent ||\n (parent && parent.type === \"function\" && parent.value !== \"calc\")))\n ) {\n before = token;\n } else {\n tokens.push({\n type: \"space\",\n sourceIndex: pos,\n sourceEndIndex: next,\n value: token\n });\n }\n\n pos = next;\n\n // Quotes\n } else if (code === singleQuote || code === doubleQuote) {\n next = pos;\n quote = code === singleQuote ? \"'\" : '\"';\n token = {\n type: \"string\",\n sourceIndex: pos,\n quote: quote\n };\n do {\n escape = false;\n next = value.indexOf(quote, next + 1);\n if (~next) {\n escapePos = next;\n while (value.charCodeAt(escapePos - 1) === backslash) {\n escapePos -= 1;\n escape = !escape;\n }\n } else {\n value += quote;\n next = value.length - 1;\n token.unclosed = true;\n }\n } while (escape);\n token.value = value.slice(pos + 1, next);\n token.sourceEndIndex = token.unclosed ? next : next + 1;\n tokens.push(token);\n pos = next + 1;\n code = value.charCodeAt(pos);\n\n // Comments\n } else if (code === slash && value.charCodeAt(pos + 1) === star) {\n next = value.indexOf(\"*/\", pos);\n\n token = {\n type: \"comment\",\n sourceIndex: pos,\n sourceEndIndex: next + 2\n };\n\n if (next === -1) {\n token.unclosed = true;\n next = value.length;\n token.sourceEndIndex = next;\n }\n\n token.value = value.slice(pos + 2, next);\n tokens.push(token);\n\n pos = next + 2;\n code = value.charCodeAt(pos);\n\n // Operation within calc\n } else if (\n (code === slash || code === star) &&\n parent &&\n parent.type === \"function\" &&\n parent.value === \"calc\"\n ) {\n token = value[pos];\n tokens.push({\n type: \"word\",\n sourceIndex: pos - before.length,\n sourceEndIndex: pos + token.length,\n value: token\n });\n pos += 1;\n code = value.charCodeAt(pos);\n\n // Dividers\n } else if (code === slash || code === comma || code === colon) {\n token = value[pos];\n\n tokens.push({\n type: \"div\",\n sourceIndex: pos - before.length,\n sourceEndIndex: pos + token.length,\n value: token,\n before: before,\n after: \"\"\n });\n before = \"\";\n\n pos += 1;\n code = value.charCodeAt(pos);\n\n // Open parentheses\n } else if (openParentheses === code) {\n // Whitespaces after open parentheses\n next = pos;\n do {\n next += 1;\n code = value.charCodeAt(next);\n } while (code <= 32);\n parenthesesOpenPos = pos;\n token = {\n type: \"function\",\n sourceIndex: pos - name.length,\n value: name,\n before: value.slice(parenthesesOpenPos + 1, next)\n };\n pos = next;\n\n if (name === \"url\" && code !== singleQuote && code !== doubleQuote) {\n next -= 1;\n do {\n escape = false;\n next = value.indexOf(\")\", next + 1);\n if (~next) {\n escapePos = next;\n while (value.charCodeAt(escapePos - 1) === backslash) {\n escapePos -= 1;\n escape = !escape;\n }\n } else {\n value += \")\";\n next = value.length - 1;\n token.unclosed = true;\n }\n } while (escape);\n // Whitespaces before closed\n whitespacePos = next;\n do {\n whitespacePos -= 1;\n code = value.charCodeAt(whitespacePos);\n } while (code <= 32);\n if (parenthesesOpenPos < whitespacePos) {\n if (pos !== whitespacePos + 1) {\n token.nodes = [\n {\n type: \"word\",\n sourceIndex: pos,\n sourceEndIndex: whitespacePos + 1,\n value: value.slice(pos, whitespacePos + 1)\n }\n ];\n } else {\n token.nodes = [];\n }\n if (token.unclosed && whitespacePos + 1 !== next) {\n token.after = \"\";\n token.nodes.push({\n type: \"space\",\n sourceIndex: whitespacePos + 1,\n sourceEndIndex: next,\n value: value.slice(whitespacePos + 1, next)\n });\n } else {\n token.after = value.slice(whitespacePos + 1, next);\n token.sourceEndIndex = next;\n }\n } else {\n token.after = \"\";\n token.nodes = [];\n }\n pos = next + 1;\n token.sourceEndIndex = token.unclosed ? next : pos;\n code = value.charCodeAt(pos);\n tokens.push(token);\n } else {\n balanced += 1;\n token.after = \"\";\n token.sourceEndIndex = pos + 1;\n tokens.push(token);\n stack.push(token);\n tokens = token.nodes = [];\n parent = token;\n }\n name = \"\";\n\n // Close parentheses\n } else if (closeParentheses === code && balanced) {\n pos += 1;\n code = value.charCodeAt(pos);\n\n parent.after = after;\n parent.sourceEndIndex += after.length;\n after = \"\";\n balanced -= 1;\n stack[stack.length - 1].sourceEndIndex = pos;\n stack.pop();\n parent = stack[balanced];\n tokens = parent.nodes;\n\n // Words\n } else {\n next = pos;\n do {\n if (code === backslash) {\n next += 1;\n }\n next += 1;\n code = value.charCodeAt(next);\n } while (\n next < max &&\n !(\n code <= 32 ||\n code === singleQuote ||\n code === doubleQuote ||\n code === comma ||\n code === colon ||\n code === slash ||\n code === openParentheses ||\n (code === star &&\n parent &&\n parent.type === \"function\" &&\n parent.value === \"calc\") ||\n (code === slash &&\n parent.type === \"function\" &&\n parent.value === \"calc\") ||\n (code === closeParentheses && balanced)\n )\n );\n token = value.slice(pos, next);\n\n if (openParentheses === code) {\n name = token;\n } else if (\n (uLower === token.charCodeAt(0) || uUpper === token.charCodeAt(0)) &&\n plus === token.charCodeAt(1) &&\n isUnicodeRange.test(token.slice(2))\n ) {\n tokens.push({\n type: \"unicode-range\",\n sourceIndex: pos,\n sourceEndIndex: next,\n value: token\n });\n } else {\n tokens.push({\n type: \"word\",\n sourceIndex: pos,\n sourceEndIndex: next,\n value: token\n });\n }\n\n pos = next;\n }\n }\n\n for (pos = stack.length - 1; pos; pos -= 1) {\n stack[pos].unclosed = true;\n stack[pos].sourceEndIndex = value.length;\n }\n\n return stack[0].nodes;\n};\n","function stringifyNode(node, custom) {\n var type = node.type;\n var value = node.value;\n var buf;\n var customResult;\n\n if (custom && (customResult = custom(node)) !== undefined) {\n return customResult;\n } else if (type === \"word\" || type === \"space\") {\n return value;\n } else if (type === \"string\") {\n buf = node.quote || \"\";\n return buf + value + (node.unclosed ? \"\" : buf);\n } else if (type === \"comment\") {\n return \"/*\" + value + (node.unclosed ? \"\" : \"*/\");\n } else if (type === \"div\") {\n return (node.before || \"\") + value + (node.after || \"\");\n } else if (Array.isArray(node.nodes)) {\n buf = stringify(node.nodes, custom);\n if (type !== \"function\") {\n return buf;\n }\n return (\n value +\n \"(\" +\n (node.before || \"\") +\n buf +\n (node.after || \"\") +\n (node.unclosed ? \"\" : \")\")\n );\n }\n return value;\n}\n\nfunction stringify(nodes, custom) {\n var result, i;\n\n if (Array.isArray(nodes)) {\n result = \"\";\n for (i = nodes.length - 1; ~i; i -= 1) {\n result = stringifyNode(nodes[i], custom) + result;\n }\n return result;\n }\n return stringifyNode(nodes, custom);\n}\n\nmodule.exports = stringify;\n","var minus = \"-\".charCodeAt(0);\nvar plus = \"+\".charCodeAt(0);\nvar dot = \".\".charCodeAt(0);\nvar exp = \"e\".charCodeAt(0);\nvar EXP = \"E\".charCodeAt(0);\n\n// Check if three code points would start a number\n// https://www.w3.org/TR/css-syntax-3/#starts-with-a-number\nfunction likeNumber(value) {\n var code = value.charCodeAt(0);\n var nextCode;\n\n if (code === plus || code === minus) {\n nextCode = value.charCodeAt(1);\n\n if (nextCode >= 48 && nextCode <= 57) {\n return true;\n }\n\n var nextNextCode = value.charCodeAt(2);\n\n if (nextCode === dot && nextNextCode >= 48 && nextNextCode <= 57) {\n return true;\n }\n\n return false;\n }\n\n if (code === dot) {\n nextCode = value.charCodeAt(1);\n\n if (nextCode >= 48 && nextCode <= 57) {\n return true;\n }\n\n return false;\n }\n\n if (code >= 48 && code <= 57) {\n return true;\n }\n\n return false;\n}\n\n// Consume a number\n// https://www.w3.org/TR/css-syntax-3/#consume-number\nmodule.exports = function(value) {\n var pos = 0;\n var length = value.length;\n var code;\n var nextCode;\n var nextNextCode;\n\n if (length === 0 || !likeNumber(value)) {\n return false;\n }\n\n code = value.charCodeAt(pos);\n\n if (code === plus || code === minus) {\n pos++;\n }\n\n while (pos < length) {\n code = value.charCodeAt(pos);\n\n if (code < 48 || code > 57) {\n break;\n }\n\n pos += 1;\n }\n\n code = value.charCodeAt(pos);\n nextCode = value.charCodeAt(pos + 1);\n\n if (code === dot && nextCode >= 48 && nextCode <= 57) {\n pos += 2;\n\n while (pos < length) {\n code = value.charCodeAt(pos);\n\n if (code < 48 || code > 57) {\n break;\n }\n\n pos += 1;\n }\n }\n\n code = value.charCodeAt(pos);\n nextCode = value.charCodeAt(pos + 1);\n nextNextCode = value.charCodeAt(pos + 2);\n\n if (\n (code === exp || code === EXP) &&\n ((nextCode >= 48 && nextCode <= 57) ||\n ((nextCode === plus || nextCode === minus) &&\n nextNextCode >= 48 &&\n nextNextCode <= 57))\n ) {\n pos += nextCode === plus || nextCode === minus ? 3 : 2;\n\n while (pos < length) {\n code = value.charCodeAt(pos);\n\n if (code < 48 || code > 57) {\n break;\n }\n\n pos += 1;\n }\n }\n\n return {\n number: value.slice(0, pos),\n unit: value.slice(pos)\n };\n};\n","module.exports = function walk(nodes, cb, bubble) {\n var i, max, node, result;\n\n for (i = 0, max = nodes.length; i < max; i += 1) {\n node = nodes[i];\n if (!bubble) {\n result = cb(node, i, nodes);\n }\n\n if (\n result !== false &&\n node.type === \"function\" &&\n Array.isArray(node.nodes)\n ) {\n walk(node.nodes, cb, bubble);\n }\n\n if (bubble) {\n cb(node, i, nodes);\n }\n }\n};\n","'use strict';\n\nvar isArray = require('isarray');\n\n// TODO: inline, semver-major\n\n/** @type {(x: unknown) => x is object} */\nmodule.exports = function isPlainObject(x) {\n\treturn x && typeof x === 'object' && !isArray(x);\n};\n","'use strict';\n\nvar assign = require('object.assign');\nvar hasOwn = require('hasown');\nvar ownKeys = require('reflect.ownkeys');\nvar TypeError = require('es-errors/type');\n\nvar isPlainObject = require('../build/helpers/isPlainObject');\n\nvar zeroWidthSpace = '\\u200b';\nvar specialProperty = 'prop-types-exact: ' + zeroWidthSpace;\n// eslint-disable-next-line no-restricted-properties\nvar semaphore = typeof Symbol === 'function' && typeof Symbol['for'] === 'function' ? Symbol['for'](specialProperty) : /* istanbul ignore next */ specialProperty;\n\nvar callBound = require('call-bind/callBound');\nvar isEnumerable = callBound('Object.prototype.propertyIsEnumerable');\n\n/** @type {(fn: T) => T} */\nfunction brand(fn) {\n\t// eslint-disable-next-line no-param-reassign\n\tfn[specialProperty] = semaphore;\n\treturn fn;\n}\n\nfunction isBranded(value) {\n\treturn value && value[specialProperty] === semaphore;\n}\n\nmodule.exports = function forbidExtraProps(propTypes) {\n\tif (!isPlainObject(propTypes)) {\n\t\tthrow new TypeError('given propTypes must be an object');\n\t}\n\tif (hasOwn(propTypes, specialProperty) && !isBranded(propTypes[specialProperty])) {\n\t\tthrow new TypeError('Against all odds, you created a propType for a prop that uses both the zero-width space and our custom string - which, sadly, conflicts with `prop-types-exact`');\n\t}\n\n\tvar forbidden = {};\n\tforbidden[specialProperty] = brand(function forbidUnknownProps(props, _, componentName) {\n\t\tvar unknownProps = ownKeys(props).filter(function (prop) {\n\t\t\treturn !hasOwn(propTypes, prop) && isEnumerable(props, prop);\n\t\t});\n\t\tif (unknownProps.length > 0) {\n\t\t\treturn new TypeError(componentName + ': unknown props found: ' + unknownProps.join(', '));\n\t\t}\n\t\treturn null;\n\t});\n\n\treturn assign({}, propTypes, forbidden);\n};\n","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\nvar ReactPropTypesSecret = require('./lib/ReactPropTypesSecret');\n\nfunction emptyFunction() {}\nfunction emptyFunctionWithReset() {}\nemptyFunctionWithReset.resetWarningCache = emptyFunction;\n\nmodule.exports = function() {\n function shim(props, propName, componentName, location, propFullName, secret) {\n if (secret === ReactPropTypesSecret) {\n // It is still safe when called from React.\n return;\n }\n var err = new Error(\n 'Calling PropTypes validators directly is not supported by the `prop-types` package. ' +\n 'Use PropTypes.checkPropTypes() to call them. ' +\n 'Read more at http://fb.me/use-check-prop-types'\n );\n err.name = 'Invariant Violation';\n throw err;\n };\n shim.isRequired = shim;\n function getShim() {\n return shim;\n };\n // Important!\n // Keep this list in sync with production version in `./factoryWithTypeCheckers.js`.\n var ReactPropTypes = {\n array: shim,\n bigint: shim,\n bool: shim,\n func: shim,\n number: shim,\n object: shim,\n string: shim,\n symbol: shim,\n\n any: shim,\n arrayOf: getShim,\n element: shim,\n elementType: shim,\n instanceOf: getShim,\n node: shim,\n objectOf: getShim,\n oneOf: getShim,\n oneOfType: getShim,\n shape: getShim,\n exact: getShim,\n\n checkPropTypes: emptyFunctionWithReset,\n resetWarningCache: emptyFunction\n };\n\n ReactPropTypes.PropTypes = ReactPropTypes;\n\n return ReactPropTypes;\n};\n","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nif (process.env.NODE_ENV !== 'production') {\n var ReactIs = require('react-is');\n\n // By explicitly using `prop-types` you are opting into new development behavior.\n // http://fb.me/prop-types-in-prod\n var throwOnDirectAccess = true;\n module.exports = require('./factoryWithTypeCheckers')(ReactIs.isElement, throwOnDirectAccess);\n} else {\n // By explicitly using `prop-types` you are opting into new production behavior.\n // http://fb.me/prop-types-in-prod\n module.exports = require('./factoryWithThrowingShims')();\n}\n","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\nvar ReactPropTypesSecret = 'SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED';\n\nmodule.exports = ReactPropTypesSecret;\n","'use strict';\n\nvar replace = String.prototype.replace;\nvar percentTwenties = /%20/g;\n\nvar Format = {\n RFC1738: 'RFC1738',\n RFC3986: 'RFC3986'\n};\n\nmodule.exports = {\n 'default': Format.RFC3986,\n formatters: {\n RFC1738: function (value) {\n return replace.call(value, percentTwenties, '+');\n },\n RFC3986: function (value) {\n return String(value);\n }\n },\n RFC1738: Format.RFC1738,\n RFC3986: Format.RFC3986\n};\n","'use strict';\n\nvar stringify = require('./stringify');\nvar parse = require('./parse');\nvar formats = require('./formats');\n\nmodule.exports = {\n formats: formats,\n parse: parse,\n stringify: stringify\n};\n","'use strict';\n\nvar utils = require('./utils');\n\nvar has = Object.prototype.hasOwnProperty;\nvar isArray = Array.isArray;\n\nvar defaults = {\n allowDots: false,\n allowPrototypes: false,\n allowSparse: false,\n arrayLimit: 20,\n charset: 'utf-8',\n charsetSentinel: false,\n comma: false,\n decoder: utils.decode,\n delimiter: '&',\n depth: 5,\n ignoreQueryPrefix: false,\n interpretNumericEntities: false,\n parameterLimit: 1000,\n parseArrays: true,\n plainObjects: false,\n strictNullHandling: false\n};\n\nvar interpretNumericEntities = function (str) {\n return str.replace(/&#(\\d+);/g, function ($0, numberStr) {\n return String.fromCharCode(parseInt(numberStr, 10));\n });\n};\n\nvar parseArrayValue = function (val, options) {\n if (val && typeof val === 'string' && options.comma && val.indexOf(',') > -1) {\n return val.split(',');\n }\n\n return val;\n};\n\n// This is what browsers will submit when the ✓ character occurs in an\n// application/x-www-form-urlencoded body and the encoding of the page containing\n// the form is iso-8859-1, or when the submitted form has an accept-charset\n// attribute of iso-8859-1. Presumably also with other charsets that do not contain\n// the ✓ character, such as us-ascii.\nvar isoSentinel = 'utf8=%26%2310003%3B'; // encodeURIComponent('✓')\n\n// These are the percent-encoded utf-8 octets representing a checkmark, indicating that the request actually is utf-8 encoded.\nvar charsetSentinel = 'utf8=%E2%9C%93'; // encodeURIComponent('✓')\n\nvar parseValues = function parseQueryStringValues(str, options) {\n var obj = {};\n var cleanStr = options.ignoreQueryPrefix ? str.replace(/^\\?/, '') : str;\n var limit = options.parameterLimit === Infinity ? undefined : options.parameterLimit;\n var parts = cleanStr.split(options.delimiter, limit);\n var skipIndex = -1; // Keep track of where the utf8 sentinel was found\n var i;\n\n var charset = options.charset;\n if (options.charsetSentinel) {\n for (i = 0; i < parts.length; ++i) {\n if (parts[i].indexOf('utf8=') === 0) {\n if (parts[i] === charsetSentinel) {\n charset = 'utf-8';\n } else if (parts[i] === isoSentinel) {\n charset = 'iso-8859-1';\n }\n skipIndex = i;\n i = parts.length; // The eslint settings do not allow break;\n }\n }\n }\n\n for (i = 0; i < parts.length; ++i) {\n if (i === skipIndex) {\n continue;\n }\n var part = parts[i];\n\n var bracketEqualsPos = part.indexOf(']=');\n var pos = bracketEqualsPos === -1 ? part.indexOf('=') : bracketEqualsPos + 1;\n\n var key, val;\n if (pos === -1) {\n key = options.decoder(part, defaults.decoder, charset, 'key');\n val = options.strictNullHandling ? null : '';\n } else {\n key = options.decoder(part.slice(0, pos), defaults.decoder, charset, 'key');\n val = utils.maybeMap(\n parseArrayValue(part.slice(pos + 1), options),\n function (encodedVal) {\n return options.decoder(encodedVal, defaults.decoder, charset, 'value');\n }\n );\n }\n\n if (val && options.interpretNumericEntities && charset === 'iso-8859-1') {\n val = interpretNumericEntities(val);\n }\n\n if (part.indexOf('[]=') > -1) {\n val = isArray(val) ? [val] : val;\n }\n\n if (has.call(obj, key)) {\n obj[key] = utils.combine(obj[key], val);\n } else {\n obj[key] = val;\n }\n }\n\n return obj;\n};\n\nvar parseObject = function (chain, val, options, valuesParsed) {\n var leaf = valuesParsed ? val : parseArrayValue(val, options);\n\n for (var i = chain.length - 1; i >= 0; --i) {\n var obj;\n var root = chain[i];\n\n if (root === '[]' && options.parseArrays) {\n obj = [].concat(leaf);\n } else {\n obj = options.plainObjects ? Object.create(null) : {};\n var cleanRoot = root.charAt(0) === '[' && root.charAt(root.length - 1) === ']' ? root.slice(1, -1) : root;\n var index = parseInt(cleanRoot, 10);\n if (!options.parseArrays && cleanRoot === '') {\n obj = { 0: leaf };\n } else if (\n !isNaN(index)\n && root !== cleanRoot\n && String(index) === cleanRoot\n && index >= 0\n && (options.parseArrays && index <= options.arrayLimit)\n ) {\n obj = [];\n obj[index] = leaf;\n } else if (cleanRoot !== '__proto__') {\n obj[cleanRoot] = leaf;\n }\n }\n\n leaf = obj;\n }\n\n return leaf;\n};\n\nvar parseKeys = function parseQueryStringKeys(givenKey, val, options, valuesParsed) {\n if (!givenKey) {\n return;\n }\n\n // Transform dot notation to bracket notation\n var key = options.allowDots ? givenKey.replace(/\\.([^.[]+)/g, '[$1]') : givenKey;\n\n // The regex chunks\n\n var brackets = /(\\[[^[\\]]*])/;\n var child = /(\\[[^[\\]]*])/g;\n\n // Get the parent\n\n var segment = options.depth > 0 && brackets.exec(key);\n var parent = segment ? key.slice(0, segment.index) : key;\n\n // Stash the parent if it exists\n\n var keys = [];\n if (parent) {\n // If we aren't using plain objects, optionally prefix keys that would overwrite object prototype properties\n if (!options.plainObjects && has.call(Object.prototype, parent)) {\n if (!options.allowPrototypes) {\n return;\n }\n }\n\n keys.push(parent);\n }\n\n // Loop through children appending to the array until we hit depth\n\n var i = 0;\n while (options.depth > 0 && (segment = child.exec(key)) !== null && i < options.depth) {\n i += 1;\n if (!options.plainObjects && has.call(Object.prototype, segment[1].slice(1, -1))) {\n if (!options.allowPrototypes) {\n return;\n }\n }\n keys.push(segment[1]);\n }\n\n // If there's a remainder, just add whatever is left\n\n if (segment) {\n keys.push('[' + key.slice(segment.index) + ']');\n }\n\n return parseObject(keys, val, options, valuesParsed);\n};\n\nvar normalizeParseOptions = function normalizeParseOptions(opts) {\n if (!opts) {\n return defaults;\n }\n\n if (opts.decoder !== null && opts.decoder !== undefined && typeof opts.decoder !== 'function') {\n throw new TypeError('Decoder has to be a function.');\n }\n\n if (typeof opts.charset !== 'undefined' && opts.charset !== 'utf-8' && opts.charset !== 'iso-8859-1') {\n throw new TypeError('The charset option must be either utf-8, iso-8859-1, or undefined');\n }\n var charset = typeof opts.charset === 'undefined' ? defaults.charset : opts.charset;\n\n return {\n allowDots: typeof opts.allowDots === 'undefined' ? defaults.allowDots : !!opts.allowDots,\n allowPrototypes: typeof opts.allowPrototypes === 'boolean' ? opts.allowPrototypes : defaults.allowPrototypes,\n allowSparse: typeof opts.allowSparse === 'boolean' ? opts.allowSparse : defaults.allowSparse,\n arrayLimit: typeof opts.arrayLimit === 'number' ? opts.arrayLimit : defaults.arrayLimit,\n charset: charset,\n charsetSentinel: typeof opts.charsetSentinel === 'boolean' ? opts.charsetSentinel : defaults.charsetSentinel,\n comma: typeof opts.comma === 'boolean' ? opts.comma : defaults.comma,\n decoder: typeof opts.decoder === 'function' ? opts.decoder : defaults.decoder,\n delimiter: typeof opts.delimiter === 'string' || utils.isRegExp(opts.delimiter) ? opts.delimiter : defaults.delimiter,\n // eslint-disable-next-line no-implicit-coercion, no-extra-parens\n depth: (typeof opts.depth === 'number' || opts.depth === false) ? +opts.depth : defaults.depth,\n ignoreQueryPrefix: opts.ignoreQueryPrefix === true,\n interpretNumericEntities: typeof opts.interpretNumericEntities === 'boolean' ? opts.interpretNumericEntities : defaults.interpretNumericEntities,\n parameterLimit: typeof opts.parameterLimit === 'number' ? opts.parameterLimit : defaults.parameterLimit,\n parseArrays: opts.parseArrays !== false,\n plainObjects: typeof opts.plainObjects === 'boolean' ? opts.plainObjects : defaults.plainObjects,\n strictNullHandling: typeof opts.strictNullHandling === 'boolean' ? opts.strictNullHandling : defaults.strictNullHandling\n };\n};\n\nmodule.exports = function (str, opts) {\n var options = normalizeParseOptions(opts);\n\n if (str === '' || str === null || typeof str === 'undefined') {\n return options.plainObjects ? Object.create(null) : {};\n }\n\n var tempObj = typeof str === 'string' ? parseValues(str, options) : str;\n var obj = options.plainObjects ? Object.create(null) : {};\n\n // Iterate over the keys and setup the new object\n\n var keys = Object.keys(tempObj);\n for (var i = 0; i < keys.length; ++i) {\n var key = keys[i];\n var newObj = parseKeys(key, tempObj[key], options, typeof str === 'string');\n obj = utils.merge(obj, newObj, options);\n }\n\n if (options.allowSparse === true) {\n return obj;\n }\n\n return utils.compact(obj);\n};\n","'use strict';\n\nvar getSideChannel = require('side-channel');\nvar utils = require('./utils');\nvar formats = require('./formats');\nvar has = Object.prototype.hasOwnProperty;\n\nvar arrayPrefixGenerators = {\n brackets: function brackets(prefix) {\n return prefix + '[]';\n },\n comma: 'comma',\n indices: function indices(prefix, key) {\n return prefix + '[' + key + ']';\n },\n repeat: function repeat(prefix) {\n return prefix;\n }\n};\n\nvar isArray = Array.isArray;\nvar split = String.prototype.split;\nvar push = Array.prototype.push;\nvar pushToArray = function (arr, valueOrArray) {\n push.apply(arr, isArray(valueOrArray) ? valueOrArray : [valueOrArray]);\n};\n\nvar toISO = Date.prototype.toISOString;\n\nvar defaultFormat = formats['default'];\nvar defaults = {\n addQueryPrefix: false,\n allowDots: false,\n charset: 'utf-8',\n charsetSentinel: false,\n delimiter: '&',\n encode: true,\n encoder: utils.encode,\n encodeValuesOnly: false,\n format: defaultFormat,\n formatter: formats.formatters[defaultFormat],\n // deprecated\n indices: false,\n serializeDate: function serializeDate(date) {\n return toISO.call(date);\n },\n skipNulls: false,\n strictNullHandling: false\n};\n\nvar isNonNullishPrimitive = function isNonNullishPrimitive(v) {\n return typeof v === 'string'\n || typeof v === 'number'\n || typeof v === 'boolean'\n || typeof v === 'symbol'\n || typeof v === 'bigint';\n};\n\nvar sentinel = {};\n\nvar stringify = function stringify(\n object,\n prefix,\n generateArrayPrefix,\n commaRoundTrip,\n strictNullHandling,\n skipNulls,\n encoder,\n filter,\n sort,\n allowDots,\n serializeDate,\n format,\n formatter,\n encodeValuesOnly,\n charset,\n sideChannel\n) {\n var obj = object;\n\n var tmpSc = sideChannel;\n var step = 0;\n var findFlag = false;\n while ((tmpSc = tmpSc.get(sentinel)) !== void undefined && !findFlag) {\n // Where object last appeared in the ref tree\n var pos = tmpSc.get(object);\n step += 1;\n if (typeof pos !== 'undefined') {\n if (pos === step) {\n throw new RangeError('Cyclic object value');\n } else {\n findFlag = true; // Break while\n }\n }\n if (typeof tmpSc.get(sentinel) === 'undefined') {\n step = 0;\n }\n }\n\n if (typeof filter === 'function') {\n obj = filter(prefix, obj);\n } else if (obj instanceof Date) {\n obj = serializeDate(obj);\n } else if (generateArrayPrefix === 'comma' && isArray(obj)) {\n obj = utils.maybeMap(obj, function (value) {\n if (value instanceof Date) {\n return serializeDate(value);\n }\n return value;\n });\n }\n\n if (obj === null) {\n if (strictNullHandling) {\n return encoder && !encodeValuesOnly ? encoder(prefix, defaults.encoder, charset, 'key', format) : prefix;\n }\n\n obj = '';\n }\n\n if (isNonNullishPrimitive(obj) || utils.isBuffer(obj)) {\n if (encoder) {\n var keyValue = encodeValuesOnly ? prefix : encoder(prefix, defaults.encoder, charset, 'key', format);\n if (generateArrayPrefix === 'comma' && encodeValuesOnly) {\n var valuesArray = split.call(String(obj), ',');\n var valuesJoined = '';\n for (var i = 0; i < valuesArray.length; ++i) {\n valuesJoined += (i === 0 ? '' : ',') + formatter(encoder(valuesArray[i], defaults.encoder, charset, 'value', format));\n }\n return [formatter(keyValue) + (commaRoundTrip && isArray(obj) && valuesArray.length === 1 ? '[]' : '') + '=' + valuesJoined];\n }\n return [formatter(keyValue) + '=' + formatter(encoder(obj, defaults.encoder, charset, 'value', format))];\n }\n return [formatter(prefix) + '=' + formatter(String(obj))];\n }\n\n var values = [];\n\n if (typeof obj === 'undefined') {\n return values;\n }\n\n var objKeys;\n if (generateArrayPrefix === 'comma' && isArray(obj)) {\n // we need to join elements in\n objKeys = [{ value: obj.length > 0 ? obj.join(',') || null : void undefined }];\n } else if (isArray(filter)) {\n objKeys = filter;\n } else {\n var keys = Object.keys(obj);\n objKeys = sort ? keys.sort(sort) : keys;\n }\n\n var adjustedPrefix = commaRoundTrip && isArray(obj) && obj.length === 1 ? prefix + '[]' : prefix;\n\n for (var j = 0; j < objKeys.length; ++j) {\n var key = objKeys[j];\n var value = typeof key === 'object' && typeof key.value !== 'undefined' ? key.value : obj[key];\n\n if (skipNulls && value === null) {\n continue;\n }\n\n var keyPrefix = isArray(obj)\n ? typeof generateArrayPrefix === 'function' ? generateArrayPrefix(adjustedPrefix, key) : adjustedPrefix\n : adjustedPrefix + (allowDots ? '.' + key : '[' + key + ']');\n\n sideChannel.set(object, step);\n var valueSideChannel = getSideChannel();\n valueSideChannel.set(sentinel, sideChannel);\n pushToArray(values, stringify(\n value,\n keyPrefix,\n generateArrayPrefix,\n commaRoundTrip,\n strictNullHandling,\n skipNulls,\n encoder,\n filter,\n sort,\n allowDots,\n serializeDate,\n format,\n formatter,\n encodeValuesOnly,\n charset,\n valueSideChannel\n ));\n }\n\n return values;\n};\n\nvar normalizeStringifyOptions = function normalizeStringifyOptions(opts) {\n if (!opts) {\n return defaults;\n }\n\n if (opts.encoder !== null && typeof opts.encoder !== 'undefined' && typeof opts.encoder !== 'function') {\n throw new TypeError('Encoder has to be a function.');\n }\n\n var charset = opts.charset || defaults.charset;\n if (typeof opts.charset !== 'undefined' && opts.charset !== 'utf-8' && opts.charset !== 'iso-8859-1') {\n throw new TypeError('The charset option must be either utf-8, iso-8859-1, or undefined');\n }\n\n var format = formats['default'];\n if (typeof opts.format !== 'undefined') {\n if (!has.call(formats.formatters, opts.format)) {\n throw new TypeError('Unknown format option provided.');\n }\n format = opts.format;\n }\n var formatter = formats.formatters[format];\n\n var filter = defaults.filter;\n if (typeof opts.filter === 'function' || isArray(opts.filter)) {\n filter = opts.filter;\n }\n\n return {\n addQueryPrefix: typeof opts.addQueryPrefix === 'boolean' ? opts.addQueryPrefix : defaults.addQueryPrefix,\n allowDots: typeof opts.allowDots === 'undefined' ? defaults.allowDots : !!opts.allowDots,\n charset: charset,\n charsetSentinel: typeof opts.charsetSentinel === 'boolean' ? opts.charsetSentinel : defaults.charsetSentinel,\n delimiter: typeof opts.delimiter === 'undefined' ? defaults.delimiter : opts.delimiter,\n encode: typeof opts.encode === 'boolean' ? opts.encode : defaults.encode,\n encoder: typeof opts.encoder === 'function' ? opts.encoder : defaults.encoder,\n encodeValuesOnly: typeof opts.encodeValuesOnly === 'boolean' ? opts.encodeValuesOnly : defaults.encodeValuesOnly,\n filter: filter,\n format: format,\n formatter: formatter,\n serializeDate: typeof opts.serializeDate === 'function' ? opts.serializeDate : defaults.serializeDate,\n skipNulls: typeof opts.skipNulls === 'boolean' ? opts.skipNulls : defaults.skipNulls,\n sort: typeof opts.sort === 'function' ? opts.sort : null,\n strictNullHandling: typeof opts.strictNullHandling === 'boolean' ? opts.strictNullHandling : defaults.strictNullHandling\n };\n};\n\nmodule.exports = function (object, opts) {\n var obj = object;\n var options = normalizeStringifyOptions(opts);\n\n var objKeys;\n var filter;\n\n if (typeof options.filter === 'function') {\n filter = options.filter;\n obj = filter('', obj);\n } else if (isArray(options.filter)) {\n filter = options.filter;\n objKeys = filter;\n }\n\n var keys = [];\n\n if (typeof obj !== 'object' || obj === null) {\n return '';\n }\n\n var arrayFormat;\n if (opts && opts.arrayFormat in arrayPrefixGenerators) {\n arrayFormat = opts.arrayFormat;\n } else if (opts && 'indices' in opts) {\n arrayFormat = opts.indices ? 'indices' : 'repeat';\n } else {\n arrayFormat = 'indices';\n }\n\n var generateArrayPrefix = arrayPrefixGenerators[arrayFormat];\n if (opts && 'commaRoundTrip' in opts && typeof opts.commaRoundTrip !== 'boolean') {\n throw new TypeError('`commaRoundTrip` must be a boolean, or absent');\n }\n var commaRoundTrip = generateArrayPrefix === 'comma' && opts && opts.commaRoundTrip;\n\n if (!objKeys) {\n objKeys = Object.keys(obj);\n }\n\n if (options.sort) {\n objKeys.sort(options.sort);\n }\n\n var sideChannel = getSideChannel();\n for (var i = 0; i < objKeys.length; ++i) {\n var key = objKeys[i];\n\n if (options.skipNulls && obj[key] === null) {\n continue;\n }\n pushToArray(keys, stringify(\n obj[key],\n key,\n generateArrayPrefix,\n commaRoundTrip,\n options.strictNullHandling,\n options.skipNulls,\n options.encode ? options.encoder : null,\n options.filter,\n options.sort,\n options.allowDots,\n options.serializeDate,\n options.format,\n options.formatter,\n options.encodeValuesOnly,\n options.charset,\n sideChannel\n ));\n }\n\n var joined = keys.join(options.delimiter);\n var prefix = options.addQueryPrefix === true ? '?' : '';\n\n if (options.charsetSentinel) {\n if (options.charset === 'iso-8859-1') {\n // encodeURIComponent('✓'), the \"numeric entity\" representation of a checkmark\n prefix += 'utf8=%26%2310003%3B&';\n } else {\n // encodeURIComponent('✓')\n prefix += 'utf8=%E2%9C%93&';\n }\n }\n\n return joined.length > 0 ? prefix + joined : '';\n};\n","'use strict';\n\nvar formats = require('./formats');\n\nvar has = Object.prototype.hasOwnProperty;\nvar isArray = Array.isArray;\n\nvar hexTable = (function () {\n var array = [];\n for (var i = 0; i < 256; ++i) {\n array.push('%' + ((i < 16 ? '0' : '') + i.toString(16)).toUpperCase());\n }\n\n return array;\n}());\n\nvar compactQueue = function compactQueue(queue) {\n while (queue.length > 1) {\n var item = queue.pop();\n var obj = item.obj[item.prop];\n\n if (isArray(obj)) {\n var compacted = [];\n\n for (var j = 0; j < obj.length; ++j) {\n if (typeof obj[j] !== 'undefined') {\n compacted.push(obj[j]);\n }\n }\n\n item.obj[item.prop] = compacted;\n }\n }\n};\n\nvar arrayToObject = function arrayToObject(source, options) {\n var obj = options && options.plainObjects ? Object.create(null) : {};\n for (var i = 0; i < source.length; ++i) {\n if (typeof source[i] !== 'undefined') {\n obj[i] = source[i];\n }\n }\n\n return obj;\n};\n\nvar merge = function merge(target, source, options) {\n /* eslint no-param-reassign: 0 */\n if (!source) {\n return target;\n }\n\n if (typeof source !== 'object') {\n if (isArray(target)) {\n target.push(source);\n } else if (target && typeof target === 'object') {\n if ((options && (options.plainObjects || options.allowPrototypes)) || !has.call(Object.prototype, source)) {\n target[source] = true;\n }\n } else {\n return [target, source];\n }\n\n return target;\n }\n\n if (!target || typeof target !== 'object') {\n return [target].concat(source);\n }\n\n var mergeTarget = target;\n if (isArray(target) && !isArray(source)) {\n mergeTarget = arrayToObject(target, options);\n }\n\n if (isArray(target) && isArray(source)) {\n source.forEach(function (item, i) {\n if (has.call(target, i)) {\n var targetItem = target[i];\n if (targetItem && typeof targetItem === 'object' && item && typeof item === 'object') {\n target[i] = merge(targetItem, item, options);\n } else {\n target.push(item);\n }\n } else {\n target[i] = item;\n }\n });\n return target;\n }\n\n return Object.keys(source).reduce(function (acc, key) {\n var value = source[key];\n\n if (has.call(acc, key)) {\n acc[key] = merge(acc[key], value, options);\n } else {\n acc[key] = value;\n }\n return acc;\n }, mergeTarget);\n};\n\nvar assign = function assignSingleSource(target, source) {\n return Object.keys(source).reduce(function (acc, key) {\n acc[key] = source[key];\n return acc;\n }, target);\n};\n\nvar decode = function (str, decoder, charset) {\n var strWithoutPlus = str.replace(/\\+/g, ' ');\n if (charset === 'iso-8859-1') {\n // unescape never throws, no try...catch needed:\n return strWithoutPlus.replace(/%[0-9a-f]{2}/gi, unescape);\n }\n // utf-8\n try {\n return decodeURIComponent(strWithoutPlus);\n } catch (e) {\n return strWithoutPlus;\n }\n};\n\nvar encode = function encode(str, defaultEncoder, charset, kind, format) {\n // This code was originally written by Brian White (mscdex) for the io.js core querystring library.\n // It has been adapted here for stricter adherence to RFC 3986\n if (str.length === 0) {\n return str;\n }\n\n var string = str;\n if (typeof str === 'symbol') {\n string = Symbol.prototype.toString.call(str);\n } else if (typeof str !== 'string') {\n string = String(str);\n }\n\n if (charset === 'iso-8859-1') {\n return escape(string).replace(/%u[0-9a-f]{4}/gi, function ($0) {\n return '%26%23' + parseInt($0.slice(2), 16) + '%3B';\n });\n }\n\n var out = '';\n for (var i = 0; i < string.length; ++i) {\n var c = string.charCodeAt(i);\n\n if (\n c === 0x2D // -\n || c === 0x2E // .\n || c === 0x5F // _\n || c === 0x7E // ~\n || (c >= 0x30 && c <= 0x39) // 0-9\n || (c >= 0x41 && c <= 0x5A) // a-z\n || (c >= 0x61 && c <= 0x7A) // A-Z\n || (format === formats.RFC1738 && (c === 0x28 || c === 0x29)) // ( )\n ) {\n out += string.charAt(i);\n continue;\n }\n\n if (c < 0x80) {\n out = out + hexTable[c];\n continue;\n }\n\n if (c < 0x800) {\n out = out + (hexTable[0xC0 | (c >> 6)] + hexTable[0x80 | (c & 0x3F)]);\n continue;\n }\n\n if (c < 0xD800 || c >= 0xE000) {\n out = out + (hexTable[0xE0 | (c >> 12)] + hexTable[0x80 | ((c >> 6) & 0x3F)] + hexTable[0x80 | (c & 0x3F)]);\n continue;\n }\n\n i += 1;\n c = 0x10000 + (((c & 0x3FF) << 10) | (string.charCodeAt(i) & 0x3FF));\n /* eslint operator-linebreak: [2, \"before\"] */\n out += hexTable[0xF0 | (c >> 18)]\n + hexTable[0x80 | ((c >> 12) & 0x3F)]\n + hexTable[0x80 | ((c >> 6) & 0x3F)]\n + hexTable[0x80 | (c & 0x3F)];\n }\n\n return out;\n};\n\nvar compact = function compact(value) {\n var queue = [{ obj: { o: value }, prop: 'o' }];\n var refs = [];\n\n for (var i = 0; i < queue.length; ++i) {\n var item = queue[i];\n var obj = item.obj[item.prop];\n\n var keys = Object.keys(obj);\n for (var j = 0; j < keys.length; ++j) {\n var key = keys[j];\n var val = obj[key];\n if (typeof val === 'object' && val !== null && refs.indexOf(val) === -1) {\n queue.push({ obj: obj, prop: key });\n refs.push(val);\n }\n }\n }\n\n compactQueue(queue);\n\n return value;\n};\n\nvar isRegExp = function isRegExp(obj) {\n return Object.prototype.toString.call(obj) === '[object RegExp]';\n};\n\nvar isBuffer = function isBuffer(obj) {\n if (!obj || typeof obj !== 'object') {\n return false;\n }\n\n return !!(obj.constructor && obj.constructor.isBuffer && obj.constructor.isBuffer(obj));\n};\n\nvar combine = function combine(a, b) {\n return [].concat(a, b);\n};\n\nvar maybeMap = function maybeMap(val, fn) {\n if (isArray(val)) {\n var mapped = [];\n for (var i = 0; i < val.length; i += 1) {\n mapped.push(fn(val[i]));\n }\n return mapped;\n }\n return fn(val);\n};\n\nmodule.exports = {\n arrayToObject: arrayToObject,\n assign: assign,\n combine: combine,\n compact: compact,\n decode: decode,\n encode: encode,\n isBuffer: isBuffer,\n isRegExp: isRegExp,\n maybeMap: maybeMap,\n merge: merge\n};\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&&Ng(k)===l.type){c(a,l.sibling);d=e(l,f.props);d.ref=Lg(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=Tg(f.props.children,a.mode,h,f.key),d.return=a,a=d):(h=Rg(f.type,f.key,f.props,null,a.mode,h),h.ref=Lg(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=Sg(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);Mg(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=Qg(f,a.mode,h),d.return=a,a=d),g(a)):c(a,d)}return J}var Ug=Og(!0),Vg=Og(!1),Wg=Uf(null),Xg=null,Yg=null,Zg=null;function $g(){Zg=Yg=Xg=null}function ah(a){var b=Wg.current;E(Wg);a._currentValue=b}function bh(a,b,c){for(;null!==a;){var d=a.alternate;(a.childLanes&b)!==b?(a.childLanes|=b,null!==d&&(d.childLanes|=b)):null!==d&&(d.childLanes&b)!==b&&(d.childLanes|=b);if(a===c)break;a=a.return}}\nfunction ch(a,b){Xg=a;Zg=Yg=null;a=a.dependencies;null!==a&&null!==a.firstContext&&(0!==(a.lanes&b)&&(dh=!0),a.firstContext=null)}function eh(a){var b=a._currentValue;if(Zg!==a)if(a={context:a,memoizedValue:b,next:null},null===Yg){if(null===Xg)throw Error(p(308));Yg=a;Xg.dependencies={lanes:0,firstContext:a}}else Yg=Yg.next=a;return b}var fh=null;function gh(a){null===fh?fh=[a]:fh.push(a)}\nfunction hh(a,b,c,d){var e=b.interleaved;null===e?(c.next=c,gh(b)):(c.next=e.next,e.next=c);b.interleaved=c;return ih(a,d)}function ih(a,b){a.lanes|=b;var c=a.alternate;null!==c&&(c.lanes|=b);c=a;for(a=a.return;null!==a;)a.childLanes|=b,c=a.alternate,null!==c&&(c.childLanes|=b),c=a,a=a.return;return 3===c.tag?c.stateNode:null}var jh=!1;function kh(a){a.updateQueue={baseState:a.memoizedState,firstBaseUpdate:null,lastBaseUpdate:null,shared:{pending:null,interleaved:null,lanes:0},effects:null}}\nfunction lh(a,b){a=a.updateQueue;b.updateQueue===a&&(b.updateQueue={baseState:a.baseState,firstBaseUpdate:a.firstBaseUpdate,lastBaseUpdate:a.lastBaseUpdate,shared:a.shared,effects:a.effects})}function mh(a,b){return{eventTime:a,lane:b,tag:0,payload:null,callback:null,next:null}}\nfunction nh(a,b,c){var d=a.updateQueue;if(null===d)return null;d=d.shared;if(0!==(K&2)){var e=d.pending;null===e?b.next=b:(b.next=e.next,e.next=b);d.pending=b;return ih(a,c)}e=d.interleaved;null===e?(b.next=b,gh(d)):(b.next=e.next,e.next=b);d.interleaved=b;return ih(a,c)}function oh(a,b,c){b=b.updateQueue;if(null!==b&&(b=b.shared,0!==(c&4194240))){var d=b.lanes;d&=a.pendingLanes;c|=d;b.lanes=c;Cc(a,c)}}\nfunction ph(a,b){var c=a.updateQueue,d=a.alternate;if(null!==d&&(d=d.updateQueue,c===d)){var e=null,f=null;c=c.firstBaseUpdate;if(null!==c){do{var g={eventTime:c.eventTime,lane:c.lane,tag:c.tag,payload:c.payload,callback:c.callback,next:null};null===f?e=f=g:f=f.next=g;c=c.next}while(null!==c);null===f?e=f=b:f=f.next=b}else e=f=b;c={baseState:d.baseState,firstBaseUpdate:e,lastBaseUpdate:f,shared:d.shared,effects:d.effects};a.updateQueue=c;return}a=c.lastBaseUpdate;null===a?c.firstBaseUpdate=b:a.next=\nb;c.lastBaseUpdate=b}\nfunction qh(a,b,c,d){var e=a.updateQueue;jh=!1;var f=e.firstBaseUpdate,g=e.lastBaseUpdate,h=e.shared.pending;if(null!==h){e.shared.pending=null;var k=h,l=k.next;k.next=null;null===g?f=l:g.next=l;g=k;var m=a.alternate;null!==m&&(m=m.updateQueue,h=m.lastBaseUpdate,h!==g&&(null===h?m.firstBaseUpdate=l:h.next=l,m.lastBaseUpdate=k))}if(null!==f){var q=e.baseState;g=0;m=l=k=null;h=f;do{var r=h.lane,y=h.eventTime;if((d&r)===r){null!==m&&(m=m.next={eventTime:y,lane:0,tag:h.tag,payload:h.payload,callback:h.callback,\nnext:null});a:{var n=a,t=h;r=b;y=c;switch(t.tag){case 1:n=t.payload;if(\"function\"===typeof n){q=n.call(y,q,r);break a}q=n;break a;case 3:n.flags=n.flags&-65537|128;case 0:n=t.payload;r=\"function\"===typeof n?n.call(y,q,r):n;if(null===r||void 0===r)break a;q=A({},q,r);break a;case 2:jh=!0}}null!==h.callback&&0!==h.lane&&(a.flags|=64,r=e.effects,null===r?e.effects=[h]:r.push(h))}else y={eventTime:y,lane:r,tag:h.tag,payload:h.payload,callback:h.callback,next:null},null===m?(l=m=y,k=q):m=m.next=y,g|=r;\nh=h.next;if(null===h)if(h=e.shared.pending,null===h)break;else r=h,h=r.next,r.next=null,e.lastBaseUpdate=r,e.shared.pending=null}while(1);null===m&&(k=q);e.baseState=k;e.firstBaseUpdate=l;e.lastBaseUpdate=m;b=e.shared.interleaved;if(null!==b){e=b;do g|=e.lane,e=e.next;while(e!==b)}else null===f&&(e.shared.lanes=0);rh|=g;a.lanes=g;a.memoizedState=q}}\nfunction sh(a,b,c){a=b.effects;b.effects=null;if(null!==a)for(b=0;bc?c:4;a(!0);var d=Gh.transition;Gh.transition={};try{a(!1),b()}finally{C=c,Gh.transition=d}}function wi(){return Uh().memoizedState}\nfunction xi(a,b,c){var d=yi(a);c={lane:d,action:c,hasEagerState:!1,eagerState:null,next:null};if(zi(a))Ai(b,c);else if(c=hh(a,b,c,d),null!==c){var e=R();gi(c,a,d,e);Bi(c,b,d)}}\nfunction ii(a,b,c){var d=yi(a),e={lane:d,action:c,hasEagerState:!1,eagerState:null,next:null};if(zi(a))Ai(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,gh(b)):(e.next=k.next,k.next=e);b.interleaved=e;return}}catch(l){}finally{}c=hh(a,b,e,d);null!==c&&(e=R(),gi(c,a,d,e),Bi(c,b,d))}}\nfunction zi(a){var b=a.alternate;return a===M||null!==b&&b===M}function Ai(a,b){Jh=Ih=!0;var c=a.pending;null===c?b.next=b:(b.next=c.next,c.next=b);a.pending=b}function Bi(a,b,c){if(0!==(c&4194240)){var d=b.lanes;d&=a.pendingLanes;c|=d;b.lanes=c;Cc(a,c)}}\nvar Rh={readContext:eh,useCallback:P,useContext:P,useEffect:P,useImperativeHandle:P,useInsertionEffect:P,useLayoutEffect:P,useMemo:P,useReducer:P,useRef:P,useState:P,useDebugValue:P,useDeferredValue:P,useTransition:P,useMutableSource:P,useSyncExternalStore:P,useId:P,unstable_isNewReconciler:!1},Oh={readContext:eh,useCallback:function(a,b){Th().memoizedState=[a,void 0===b?null:b];return a},useContext:eh,useEffect:mi,useImperativeHandle:function(a,b,c){c=null!==c&&void 0!==c?c.concat([a]):null;return ki(4194308,\n4,pi.bind(null,b,a),c)},useLayoutEffect:function(a,b){return ki(4194308,4,a,b)},useInsertionEffect:function(a,b){return ki(4,2,a,b)},useMemo:function(a,b){var c=Th();b=void 0===b?null:b;a=a();c.memoizedState=[a,b];return a},useReducer:function(a,b,c){var d=Th();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=xi.bind(null,M,a);return[d.memoizedState,a]},useRef:function(a){var b=\nTh();a={current:a};return b.memoizedState=a},useState:hi,useDebugValue:ri,useDeferredValue:function(a){return Th().memoizedState=a},useTransition:function(){var a=hi(!1),b=a[0];a=vi.bind(null,a[1]);Th().memoizedState=a;return[b,a]},useMutableSource:function(){},useSyncExternalStore:function(a,b,c){var d=M,e=Th();if(I){if(void 0===c)throw Error(p(407));c=c()}else{c=b();if(null===Q)throw Error(p(349));0!==(Hh&30)||di(d,b,c)}e.memoizedState=c;var f={value:c,getSnapshot:b};e.queue=f;mi(ai.bind(null,d,\nf,a),[a]);d.flags|=2048;bi(9,ci.bind(null,d,f,c,b),void 0,null);return c},useId:function(){var a=Th(),b=Q.identifierPrefix;if(I){var c=sg;var d=rg;c=(d&~(1<<32-oc(d)-1)).toString(32)+c;b=\":\"+b+\"R\"+c;c=Kh++;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;zj(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;eGj&&(b.flags|=128,d=!0,Dj(f,!1),b.lanes=4194304)}else{if(!d)if(a=Ch(g),null!==a){if(b.flags|=128,d=!0,c=a.updateQueue,null!==c&&(b.updateQueue=c,b.flags|=4),Dj(f,!0),null===f.tail&&\"hidden\"===f.tailMode&&!g.alternate&&!I)return S(b),null}else 2*B()-f.renderingStartTime>Gj&&1073741824!==c&&(b.flags|=128,d=!0,Dj(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=L.current,G(L,d?c&1|2:c&1),b;S(b);return null;case 22:case 23:return Hj(),d=null!==b.memoizedState,null!==a&&null!==a.memoizedState!==d&&(b.flags|=8192),d&&0!==(b.mode&1)?0!==(fj&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 Ij(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 zh(),E(Wf),E(H),Eh(),a=b.flags,0!==(a&65536)&&0===(a&128)?(b.flags=a&-65537|128,b):null;case 5:return Bh(b),null;case 13:E(L);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(L),null;case 4:return zh(),null;case 10:return ah(b.type._context),null;case 22:case 23:return Hj(),\nnull;case 24:return null;default:return null}}var Jj=!1,U=!1,Kj=\"function\"===typeof WeakSet?WeakSet:Set,V=null;function Lj(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 Mj(a,b,c){try{c()}catch(d){W(a,b,d)}}var Nj=!1;\nfunction Oj(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:Ci(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=Nj;Nj=!1;return n}\nfunction Pj(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&&Mj(b,c,f)}e=e.next}while(e!==d)}}function Qj(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 Rj(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 Sj(a){var b=a.alternate;null!==b&&(a.alternate=null,Sj(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 Tj(a){return 5===a.tag||3===a.tag||4===a.tag}\nfunction Uj(a){a:for(;;){for(;null===a.sibling;){if(null===a.return||Tj(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 Vj(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(Vj(a,b,c),a=a.sibling;null!==a;)Vj(a,b,c),a=a.sibling}\nfunction Wj(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(Wj(a,b,c),a=a.sibling;null!==a;)Wj(a,b,c),a=a.sibling}var X=null,Xj=!1;function Yj(a,b,c){for(c=c.child;null!==c;)Zj(a,b,c),c=c.sibling}\nfunction Zj(a,b,c){if(lc&&\"function\"===typeof lc.onCommitFiberUnmount)try{lc.onCommitFiberUnmount(kc,c)}catch(h){}switch(c.tag){case 5:U||Lj(c,b);case 6:var d=X,e=Xj;X=null;Yj(a,b,c);X=d;Xj=e;null!==X&&(Xj?(a=X,c=c.stateNode,8===a.nodeType?a.parentNode.removeChild(c):a.removeChild(c)):X.removeChild(c.stateNode));break;case 18:null!==X&&(Xj?(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=Xj;X=c.stateNode.containerInfo;Xj=!0;\nYj(a,b,c);X=d;Xj=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)?Mj(c,b,g):0!==(f&4)&&Mj(c,b,g));e=e.next}while(e!==d)}Yj(a,b,c);break;case 1:if(!U&&(Lj(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)}Yj(a,b,c);break;case 21:Yj(a,b,c);break;case 22:c.mode&1?(U=(d=U)||null!==\nc.memoizedState,Yj(a,b,c),U=d):Yj(a,b,c);break;default:Yj(a,b,c)}}function ak(a){var b=a.updateQueue;if(null!==b){a.updateQueue=null;var c=a.stateNode;null===c&&(c=a.stateNode=new Kj);b.forEach(function(b){var d=bk.bind(null,a,b);c.has(b)||(c.add(b),b.then(d,d))})}}\nfunction ck(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*lk(d/1960))-d;if(10a?16:a;if(null===wk)var d=!1;else{a=wk;wk=null;xk=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()-fk?Kk(a,0):rk|=c);Dk(a,b)}function Yk(a,b){0===b&&(0===(a.mode&1)?b=1:(b=sc,sc<<=1,0===(sc&130023424)&&(sc=4194304)));var c=R();a=ih(a,b);null!==a&&(Ac(a,b,c),Dk(a,c))}function uj(a){var b=a.memoizedState,c=0;null!==b&&(c=b.retryLane);Yk(a,c)}\nfunction bk(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);Yk(a,c)}var Vk;\nVk=function(a,b,c){if(null!==a)if(a.memoizedProps!==b.pendingProps||Wf.current)dh=!0;else{if(0===(a.lanes&c)&&0===(b.flags&128))return dh=!1,yj(a,b,c);dh=0!==(a.flags&131072)?!0:!1}else dh=!1,I&&0!==(b.flags&1048576)&&ug(b,ng,b.index);b.lanes=0;switch(b.tag){case 2:var d=b.type;ij(a,b);a=b.pendingProps;var e=Yf(b,H.current);ch(b,c);e=Nh(null,b,d,a,e,c);var f=Sh();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,kh(b),e.updater=Ei,b.stateNode=e,e._reactInternals=b,Ii(b,d,a,c),b=jj(null,b,d,!0,f,c)):(b.tag=0,I&&f&&vg(b),Xi(null,b,e,c),b=b.child);return b;case 16:d=b.elementType;a:{ij(a,b);a=b.pendingProps;e=d._init;d=e(d._payload);b.type=d;e=b.tag=Zk(d);a=Ci(d,a);switch(e){case 0:b=cj(null,b,d,a,c);break a;case 1:b=hj(null,b,d,a,c);break a;case 11:b=Yi(null,b,d,a,c);break a;case 14:b=$i(null,b,d,Ci(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:Ci(d,e),cj(a,b,d,e,c);case 1:return d=b.type,e=b.pendingProps,e=b.elementType===d?e:Ci(d,e),hj(a,b,d,e,c);case 3:a:{kj(b);if(null===a)throw Error(p(387));d=b.pendingProps;f=b.memoizedState;e=f.element;lh(a,b);qh(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=Ji(Error(p(423)),b);b=lj(a,b,d,c,e);break a}else if(d!==e){e=Ji(Error(p(424)),b);b=lj(a,b,d,c,e);break a}else for(yg=Lf(b.stateNode.containerInfo.firstChild),xg=b,I=!0,zg=null,c=Vg(b,null,d,c),b.child=c;c;)c.flags=c.flags&-3|4096,c=c.sibling;else{Ig();if(d===e){b=Zi(a,b,c);break a}Xi(a,b,d,c)}b=b.child}return b;case 5:return Ah(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),\ngj(a,b),Xi(a,b,g,c),b.child;case 6:return null===a&&Eg(b),null;case 13:return oj(a,b,c);case 4:return yh(b,b.stateNode.containerInfo),d=b.pendingProps,null===a?b.child=Ug(b,null,d,c):Xi(a,b,d,c),b.child;case 11:return d=b.type,e=b.pendingProps,e=b.elementType===d?e:Ci(d,e),Yi(a,b,d,e,c);case 7:return Xi(a,b,b.pendingProps,c),b.child;case 8:return Xi(a,b,b.pendingProps.children,c),b.child;case 12:return Xi(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(Wg,d._currentValue);d._currentValue=g;if(null!==f)if(He(f.value,g)){if(f.children===e.children&&!Wf.current){b=Zi(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=mh(-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);bh(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);bh(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}Xi(a,b,e.children,c);b=b.child}return b;case 9:return e=b.type,d=b.pendingProps.children,ch(b,c),e=eh(e),d=d(e),b.flags|=1,Xi(a,b,d,c),\nb.child;case 14:return d=b.type,e=Ci(d,b.pendingProps),e=Ci(d.type,e),$i(a,b,d,e,c);case 15:return bj(a,b,b.type,b.pendingProps,c);case 17:return d=b.type,e=b.pendingProps,e=b.elementType===d?e:Ci(d,e),ij(a,b),b.tag=1,Zf(d)?(a=!0,cg(b)):a=!1,ch(b,c),Gi(b,d,e),Ii(b,d,e,c),jj(null,b,d,!0,a,c);case 19:return xj(a,b,c);case 22:return dj(a,b,c)}throw Error(p(156,b.tag));};function Fk(a,b){return ac(a,b)}\nfunction $k(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 $k(a,b,c,d)}function aj(a){a=a.prototype;return!(!a||!a.isReactComponent)}\nfunction Zk(a){if(\"function\"===typeof a)return aj(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 Pg(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 Rg(a,b,c,d,e,f){var g=2;d=a;if(\"function\"===typeof a)aj(a)&&(g=1);else if(\"string\"===typeof a)g=5;else a:switch(a){case ya:return Tg(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 pj(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 Tg(a,b,c,d){a=Bg(7,a,d,b);a.lanes=c;return a}function pj(a,b,c,d){a=Bg(22,a,d,b);a.elementType=Ia;a.lanes=c;a.stateNode={isHidden:!1};return a}function Qg(a,b,c){a=Bg(6,a,null,b);a.lanes=c;return a}\nfunction Sg(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 al(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 bl(a,b,c,d,e,f,g,h,k){a=new al(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};kh(f);return a}function cl(a,b,c){var d=3 handler(dimensions));\n }\n}\nclass Dimensions {\n static get(dimension) {\n if (shouldInit) {\n shouldInit = false;\n update();\n }\n (0, _invariant.default)(dimensions[dimension], \"No dimension set for key \" + dimension);\n return dimensions[dimension];\n }\n static set(initialDimensions) {\n if (initialDimensions) {\n if (_canUseDom.default) {\n (0, _invariant.default)(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}\nexports.default = Dimensions;\nif (_canUseDom.default) {\n if (window.visualViewport) {\n window.visualViewport.addEventListener('resize', handleResize, false);\n } else {\n window.addEventListener('resize', handleResize, false);\n }\n}\nmodule.exports = exports.default;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\").default;\nvar _interopRequireWildcard = require(\"@babel/runtime/helpers/interopRequireWildcard\").default;\nexports.__esModule = true;\nexports.default = void 0;\nvar React = _interopRequireWildcard(require(\"react\"));\nvar _StyleSheet = _interopRequireDefault(require(\"../StyleSheet\"));\nvar _createElement = _interopRequireDefault(require(\"../createElement\"));\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 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 ? (0, _createElement.default)('div', {\n style: isRendering ? getAnimationStyle(animationType, visible) : styles.hidden,\n onAnimationEnd: animationEndCallback,\n children\n }) : null;\n}\nvar styles = _StyleSheet.default.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];\nvar _default = exports.default = ModalAnimation;\nmodule.exports = exports.default;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\").default;\nvar _interopRequireWildcard = require(\"@babel/runtime/helpers/interopRequireWildcard\").default;\nexports.__esModule = true;\nexports.default = void 0;\nvar _extends2 = _interopRequireDefault(require(\"@babel/runtime/helpers/extends\"));\nvar _objectWithoutPropertiesLoose2 = _interopRequireDefault(require(\"@babel/runtime/helpers/objectWithoutPropertiesLoose\"));\nvar React = _interopRequireWildcard(require(\"react\"));\nvar _View = _interopRequireDefault(require(\"../View\"));\nvar _StyleSheet = _interopRequireDefault(require(\"../StyleSheet\"));\nvar _canUseDom = _interopRequireDefault(require(\"../../modules/canUseDom\"));\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 */\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 = (0, _objectWithoutPropertiesLoose2.default)(props, _excluded);\n React.useEffect(() => {\n if (_canUseDom.default) {\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.default, (0, _extends2.default)({}, rest, {\n \"aria-modal\": true,\n ref: forwardedRef,\n role: active ? 'dialog' : null,\n style: style\n }), /*#__PURE__*/React.createElement(_View.default, {\n style: styles.container\n }, children));\n});\nvar styles = _StyleSheet.default.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});\nvar _default = exports.default = ModalContent;\nmodule.exports = exports.default;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\").default;\nvar _interopRequireWildcard = require(\"@babel/runtime/helpers/interopRequireWildcard\").default;\nexports.__esModule = true;\nexports.default = void 0;\nvar React = _interopRequireWildcard(require(\"react\"));\nvar _View = _interopRequireDefault(require(\"../View\"));\nvar _createElement = _interopRequireDefault(require(\"../createElement\"));\nvar _StyleSheet = _interopRequireDefault(require(\"../StyleSheet\"));\nvar _UIManager = _interopRequireDefault(require(\"../UIManager\"));\nvar _canUseDom = _interopRequireDefault(require(\"../../modules/canUseDom\"));\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\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 (0, _createElement.default)('div', {\n role: 'none',\n tabIndex: 0,\n style: styles.focusBracket\n });\n};\nfunction attemptFocus(element) {\n if (!_canUseDom.default) {\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.default) {\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.default.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.default) {\n var lastFocusedElementOutsideTrap = document.activeElement;\n return function () {\n if (lastFocusedElementOutsideTrap && document.contains(lastFocusedElementOutsideTrap)) {\n _UIManager.default.focus(lastFocusedElementOutsideTrap);\n }\n };\n }\n }, []);\n return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(FocusBracket, null), /*#__PURE__*/React.createElement(_View.default, {\n ref: trapElementRef\n }, children), /*#__PURE__*/React.createElement(FocusBracket, null));\n};\nvar _default = exports.default = ModalFocusTrap;\nvar styles = _StyleSheet.default.create({\n focusBracket: {\n outlineStyle: 'none'\n }\n});\nmodule.exports = exports.default;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\").default;\nvar _interopRequireWildcard = require(\"@babel/runtime/helpers/interopRequireWildcard\").default;\nexports.__esModule = true;\nexports.default = void 0;\nvar React = _interopRequireWildcard(require(\"react\"));\nvar _reactDom = _interopRequireDefault(require(\"react-dom\"));\nvar _canUseDom = _interopRequireDefault(require(\"../../modules/canUseDom\"));\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\nfunction ModalPortal(props) {\n var children = props.children;\n var elementRef = React.useRef(null);\n if (_canUseDom.default && !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.default) {\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.default ? /*#__PURE__*/_reactDom.default.createPortal(children, elementRef.current) : null;\n}\nvar _default = exports.default = ModalPortal;\nmodule.exports = exports.default;","\"use strict\";\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\n'use client';\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\").default;\nvar _interopRequireWildcard = require(\"@babel/runtime/helpers/interopRequireWildcard\").default;\nexports.__esModule = true;\nexports.default = void 0;\nvar _extends2 = _interopRequireDefault(require(\"@babel/runtime/helpers/extends\"));\nvar _objectWithoutPropertiesLoose2 = _interopRequireDefault(require(\"@babel/runtime/helpers/objectWithoutPropertiesLoose\"));\nvar React = _interopRequireWildcard(require(\"react\"));\nvar _ModalPortal = _interopRequireDefault(require(\"./ModalPortal\"));\nvar _ModalAnimation = _interopRequireDefault(require(\"./ModalAnimation\"));\nvar _ModalContent = _interopRequireDefault(require(\"./ModalContent\"));\nvar _ModalFocusTrap = _interopRequireDefault(require(\"./ModalFocusTrap\"));\nvar _excluded = [\"animationType\", \"children\", \"onDismiss\", \"onRequestClose\", \"onShow\", \"transparent\", \"visible\"];\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 = (0, _objectWithoutPropertiesLoose2.default)(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.default, null, /*#__PURE__*/React.createElement(_ModalAnimation.default, {\n animationType: animationType,\n onDismiss: onDismissCallback,\n onShow: onShowCallback,\n visible: visible\n }, /*#__PURE__*/React.createElement(_ModalFocusTrap.default, {\n active: isActive\n }, /*#__PURE__*/React.createElement(_ModalContent.default, (0, _extends2.default)({}, rest, {\n active: isActive,\n onRequestClose: onRequestClose,\n ref: forwardedRef,\n transparent: transparent\n }), children))));\n});\nvar _default = exports.default = Modal;\nmodule.exports = exports.default;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\").default;\nexports.__esModule = true;\nexports.default = void 0;\nvar _Dimensions = _interopRequireDefault(require(\"../Dimensions\"));\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\n/**\n * PixelRatio gives access to the device pixel density.\n */\nclass PixelRatio {\n /**\n * Returns the device pixel density.\n */\n static get() {\n return _Dimensions.default.get('window').scale;\n }\n\n /**\n * No equivalent for Web\n */\n static getFontScale() {\n return _Dimensions.default.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}\nexports.default = PixelRatio;\nmodule.exports = exports.default;","\"use strict\";\n\nexports.__esModule = true;\nexports.default = void 0;\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};\nvar _default = exports.default = Platform;\nmodule.exports = exports.default;","\"use strict\";\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 client';\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\").default;\nvar _interopRequireWildcard = require(\"@babel/runtime/helpers/interopRequireWildcard\").default;\nexports.__esModule = true;\nexports.default = void 0;\nvar _extends2 = _interopRequireDefault(require(\"@babel/runtime/helpers/extends\"));\nvar _objectWithoutPropertiesLoose2 = _interopRequireDefault(require(\"@babel/runtime/helpers/objectWithoutPropertiesLoose\"));\nvar _react = _interopRequireWildcard(require(\"react\"));\nvar React = _react;\nvar _useMergeRefs = _interopRequireDefault(require(\"../../modules/useMergeRefs\"));\nvar _useHover = _interopRequireDefault(require(\"../../modules/useHover\"));\nvar _usePressEvents = _interopRequireDefault(require(\"../../modules/usePressEvents\"));\nvar _StyleSheet = _interopRequireDefault(require(\"../StyleSheet\"));\nvar _View = _interopRequireDefault(require(\"../View\"));\nvar _excluded = [\"children\", \"delayLongPress\", \"delayPressIn\", \"delayPressOut\", \"disabled\", \"onBlur\", \"onContextMenu\", \"onFocus\", \"onHoverIn\", \"onHoverOut\", \"onKeyDown\", \"onLongPress\", \"onPress\", \"onPressMove\", \"onPressIn\", \"onPressOut\", \"style\", \"tabIndex\", \"testOnly_hovered\", \"testOnly_pressed\"];\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 = (0, _objectWithoutPropertiesLoose2.default)(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 = (0, _react.useRef)(null);\n var setRef = (0, _useMergeRefs.default)(forwardedRef, hostRef);\n var pressConfig = (0, _react.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 = (0, _usePressEvents.default)(hostRef, pressConfig);\n var onContextMenuPress = pressEventHandlers.onContextMenu,\n onKeyDownPress = pressEventHandlers.onKeyDown;\n (0, _useHover.default)(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.default, (0, _extends2.default)({}, 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 = (0, _react.useState)(false),\n bool = _useState[0],\n setBool = _useState[1];\n return [bool || forced, setBool];\n}\nvar styles = _StyleSheet.default.create({\n active: {\n cursor: 'pointer',\n touchAction: 'manipulation'\n },\n disabled: {\n pointerEvents: 'box-none'\n }\n});\nvar MemoedPressable = /*#__PURE__*/(0, _react.memo)(/*#__PURE__*/(0, _react.forwardRef)(Pressable));\nMemoedPressable.displayName = 'Pressable';\nvar _default = exports.default = MemoedPressable;\nmodule.exports = exports.default;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\").default;\nexports.__esModule = true;\nexports.default = void 0;\nvar _normalizeValueWithProperty = _interopRequireDefault(require(\"./normalizeValueWithProperty\"));\nvar _canUseDom = _interopRequireDefault(require(\"../../../modules/canUseDom\"));\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 * 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.default || 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 = (0, _normalizeValueWithProperty.default)(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};\nvar _default = exports.default = createReactDOMStyle;\nmodule.exports = exports.default;","\"use strict\";\n\nexports.__esModule = true;\nexports.default = void 0;\n/* 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);\nvar _default = exports.default = hash;\nmodule.exports = exports.default;","\"use strict\";\n\nexports.__esModule = true;\nexports.default = void 0;\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 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}\nvar _default = exports.default = hyphenateStyleName;\nmodule.exports = exports.default;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\").default;\nexports.__esModule = true;\nexports.atomic = atomic;\nexports.classic = classic;\nexports.inline = inline;\nexports.stringifyValueWithProperty = stringifyValueWithProperty;\nvar _objectSpread2 = _interopRequireDefault(require(\"@babel/runtime/helpers/objectSpread2\"));\nvar _objectWithoutPropertiesLoose2 = _interopRequireDefault(require(\"@babel/runtime/helpers/objectWithoutPropertiesLoose\"));\nvar _createReactDOMStyle = _interopRequireDefault(require(\"./createReactDOMStyle\"));\nvar _hash = _interopRequireDefault(require(\"./hash\"));\nvar _hyphenateStyleName = _interopRequireDefault(require(\"./hyphenateStyleName\"));\nvar _normalizeValueWithProperty = _interopRequireDefault(require(\"./normalizeValueWithProperty\"));\nvar _prefixStyles = _interopRequireDefault(require(\"../../../modules/prefixStyles\"));\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 */\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'];\nfunction 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 */\nfunction classic(style, name) {\n var compiledStyle = {\n $$css: true\n };\n var compiledRules = [];\n var animationKeyframes = style.animationKeyframes,\n rest = (0, _objectWithoutPropertiesLoose2.default)(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((0, _objectSpread2.default)((0, _objectSpread2.default)({}, 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 */\nfunction 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 (0, _createReactDOMStyle.default)(nextStyle, true);\n}\n\n/**\n * Create a value string that normalizes different input values with a common\n * output.\n */\nfunction stringifyValueWithProperty(value, property) {\n // e.g., 0 => '0px', 'black' => 'rgba(0,0,0,1)'\n var normalizedValue = (0, _normalizeValueWithProperty.default)(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 = (0, _prefixStyles.default)((0, _createReactDOMStyle.default)(style));\n var declarationsString = Object.keys(domStyle).map(property => {\n var value = domStyle[property];\n var prop = (0, _hyphenateStyleName.default)(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 = (0, _hash.default)(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}","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\").default;\nexports.__esModule = true;\nexports.default = void 0;\nvar _isWebColor = _interopRequireDefault(require(\"../../../modules/isWebColor\"));\nvar _processColor = _interopRequireDefault(require(\"../../../exports/processColor\"));\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 normalizeColor = function normalizeColor(color, opacity) {\n if (opacity === void 0) {\n opacity = 1;\n }\n if (color == null) return;\n if (typeof color === 'string' && (0, _isWebColor.default)(color)) {\n return color;\n }\n var colorInt = (0, _processColor.default)(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};\nvar _default = exports.default = normalizeColor;\nmodule.exports = exports.default;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\").default;\nexports.__esModule = true;\nexports.default = normalizeValueWithProperty;\nvar _unitlessNumbers = _interopRequireDefault(require(\"./unitlessNumbers\"));\nvar _normalizeColor = _interopRequireDefault(require(\"./normalizeColor\"));\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 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};\nfunction normalizeValueWithProperty(value, property) {\n var returnValue = value;\n if ((property == null || !_unitlessNumbers.default[property]) && typeof value === 'number') {\n returnValue = value + \"px\";\n } else if (property != null && colorProps[property]) {\n returnValue = (0, _normalizeColor.default)(value);\n }\n return returnValue;\n}\nmodule.exports = exports.default;","\"use strict\";\n\nexports.__esModule = true;\nexports.default = void 0;\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 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});\nvar _default = exports.default = unitlessNumbers;\nmodule.exports = exports.default;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\").default;\nexports.__esModule = true;\nexports.default = createCSSStyleSheet;\nvar _canUseDom = _interopRequireDefault(require(\"../../../modules/canUseDom\"));\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// $FlowFixMe: HTMLStyleElement is incorrectly typed - https://github.com/facebook/flow/issues/2696\nfunction createCSSStyleSheet(id, rootNode, textContent) {\n if (_canUseDom.default) {\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}\nmodule.exports = exports.default;","\"use strict\";\n\nexports.__esModule = true;\nexports.default = createOrderedCSSStyleSheet;\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 */\nfunction 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}\nmodule.exports = exports.default;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\").default;\nexports.__esModule = true;\nexports.createSheet = createSheet;\nvar _canUseDom = _interopRequireDefault(require(\"../../../modules/canUseDom\"));\nvar _createCSSStyleSheet = _interopRequireDefault(require(\"./createCSSStyleSheet\"));\nvar _createOrderedCSSStyleSheet = _interopRequireDefault(require(\"./createOrderedCSSStyleSheet\"));\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 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;}'];\nfunction createSheet(root, id) {\n if (id === void 0) {\n id = defaultId;\n }\n var sheet;\n if (_canUseDom.default) {\n var rootNode = root != null ? root.getRootNode() : document;\n // Create the initial style sheet\n if (sheets.length === 0) {\n sheet = (0, _createOrderedCSSStyleSheet.default)((0, _createCSSStyleSheet.default)(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 = (0, _createOrderedCSSStyleSheet.default)((0, _createCSSStyleSheet.default)(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 = (0, _createOrderedCSSStyleSheet.default)((0, _createCSSStyleSheet.default)(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}","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\").default;\nexports.__esModule = true;\nexports.default = void 0;\nvar _objectSpread2 = _interopRequireDefault(require(\"@babel/runtime/helpers/objectSpread2\"));\nvar _objectWithoutPropertiesLoose2 = _interopRequireDefault(require(\"@babel/runtime/helpers/objectWithoutPropertiesLoose\"));\nvar _compiler = require(\"./compiler\");\nvar _dom = require(\"./dom\");\nvar _transformLocalizeStyle = require(\"styleq/transform-localize-style\");\nvar _preprocess = require(\"./preprocess\");\nvar _styleq = require(\"styleq\");\nvar _validate = require(\"./validate\");\nvar _canUseDom = _interopRequireDefault(require(\"../../modules/canUseDom\"));\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 */\nvar staticStyleMap = new WeakMap();\nvar sheet = (0, _dom.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 = (0, _objectWithoutPropertiesLoose2.default)(_options, _excluded);\n var isRTL = writingDirection === 'rtl';\n return _styleq.styleq.factory({\n transform(style) {\n var compiledStyle = staticStyleMap.get(style);\n if (compiledStyle != null) {\n return (0, _transformLocalizeStyle.localizeStyle)(compiledStyle, isRTL);\n }\n return (0, _preprocess.preprocess)(style, (0, _objectSpread2.default)((0, _objectSpread2.default)({}, 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 = (0, _compiler.atomic)((0, _preprocess.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 = (0, _compiler.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: (0, _objectSpread2.default)({}, 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 (0, _validate.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 /*\n console.warn(\n 'StyleSheet.compose(a, b) is deprecated; use array syntax, i.e., [a,b].'\n );\n */\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] = (0, _compiler.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.default && window.__REACT_DEVTOOLS_GLOBAL_HOOK__) {\n window.__REACT_DEVTOOLS_GLOBAL_HOOK__.resolveRNStyle = StyleSheet.flatten;\n}\nvar stylesheet = StyleSheet;\nvar _default = exports.default = stylesheet;\nmodule.exports = exports.default;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\").default;\nexports.__esModule = true;\nexports.preprocess = exports.default = exports.createTransformValue = exports.createTextShadowValue = exports.createBoxShadowValue = void 0;\nvar _normalizeColor = _interopRequireDefault(require(\"./compiler/normalizeColor\"));\nvar _normalizeValueWithProperty = _interopRequireDefault(require(\"./compiler/normalizeValueWithProperty\"));\nvar _warnOnce = require(\"../../modules/warnOnce\");\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 emptyObject = {};\n\n/**\n * Shadows\n */\n\nvar defaultOffset = {\n height: 0,\n width: 0\n};\nvar 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 = (0, _normalizeValueWithProperty.default)(width);\n var offsetY = (0, _normalizeValueWithProperty.default)(height);\n var blurRadius = (0, _normalizeValueWithProperty.default)(shadowRadius || 0);\n var color = (0, _normalizeColor.default)(shadowColor || 'black', shadowOpacity);\n if (color != null && offsetX != null && offsetY != null && blurRadius != null) {\n return offsetX + \" \" + offsetY + \" \" + blurRadius + \" \" + color;\n }\n};\nexports.createBoxShadowValue = createBoxShadowValue;\nvar 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 = (0, _normalizeValueWithProperty.default)(width);\n var offsetY = (0, _normalizeValueWithProperty.default)(height);\n var blurRadius = (0, _normalizeValueWithProperty.default)(radius);\n var color = (0, _normalizeValueWithProperty.default)(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)'\nexports.createTextShadowValue = createTextShadowValue;\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 = (0, _normalizeValueWithProperty.default)(value, type);\n return type + \"(\" + normalizedValue + \")\";\n }\n};\nvar createTransformValue = value => {\n return value.map(mapTransform).join(' ');\n};\nexports.createTransformValue = createTransformValue;\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 */\nvar preprocess = exports.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 (0, _warnOnce.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 (0, _warnOnce.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 /*\n warnOnce(\n 'fontVariant',\n '\"fontVariant\" style array value is deprecated. Use space-separated values.'\n );\n */\n _value2 = _value2.join(' ');\n }\n nextStyle[prop] = _value2;\n } else if (prop === 'textAlignVertical') {\n /*\n warnOnce(\n 'textAlignVertical',\n '\"textAlignVertical\" style is deprecated. Use \"verticalAlign\".'\n );\n */\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};\nvar _default = exports.default = preprocess;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\").default;\nexports.__esModule = true;\nexports.validate = validate;\nvar _postcssValueParser = _interopRequireDefault(require(\"postcss-value-parser\"));\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 invalidShortforms = {\n background: true,\n borderBottom: true,\n borderLeft: true,\n borderRight: true,\n borderTop: true,\n font: true,\n grid: true,\n outline: true,\n textDecoration: true\n};\nvar invalidMultiValueShortforms = {\n flex: true,\n margin: true,\n padding: true,\n borderColor: true,\n borderRadius: true,\n borderStyle: true,\n borderWidth: true,\n inset: true,\n insetBlock: true,\n insetInline: true,\n marginBlock: true,\n marginInline: true,\n marginHorizontal: true,\n marginVertical: true,\n paddingBlock: true,\n paddingInline: true,\n paddingHorizontal: true,\n paddingVertical: true,\n overflow: true,\n overscrollBehavior: true,\n backgroundPosition: true\n};\nfunction error(message) {\n console.error(message);\n}\nfunction validate(obj) {\n for (var k in obj) {\n var prop = k.trim();\n var value = obj[prop];\n var isInvalid = false;\n if (value === null) {\n continue;\n }\n if (typeof value === 'string' && value.indexOf('!important') > -1) {\n error(\"Invalid style declaration \\\"\" + prop + \":\" + value + \"\\\". Values cannot include \\\"!important\\\"\");\n isInvalid = true;\n } else {\n var suggestion = '';\n if (prop === 'animation' || prop === 'animationName') {\n suggestion = 'Did you mean \"animationKeyframes\"?';\n isInvalid = true;\n } else if (prop === 'direction') {\n suggestion = 'Did you mean \"writingDirection\"?';\n isInvalid = true;\n } else if (invalidShortforms[prop]) {\n suggestion = 'Please use long-form properties.';\n isInvalid = true;\n } else if (invalidMultiValueShortforms[prop]) {\n if (typeof value === 'string' && (0, _postcssValueParser.default)(value).nodes.length > 1) {\n suggestion = \"Value is \\\"\" + value + \"\\\" but only single values are supported.\";\n isInvalid = true;\n }\n }\n if (suggestion !== '') {\n error(\"Invalid style property of \\\"\" + prop + \"\\\". \" + suggestion);\n }\n }\n if (isInvalid) {\n delete obj[k];\n }\n }\n}","\"use strict\";\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 client';\n\nexports.__esModule = true;\nexports.default = void 0;\nvar _react = require(\"react\");\nvar TextAncestorContext = /*#__PURE__*/(0, _react.createContext)(false);\nvar _default = exports.default = TextAncestorContext;\nmodule.exports = exports.default;","\"use strict\";\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\n'use client';\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\").default;\nvar _interopRequireWildcard = require(\"@babel/runtime/helpers/interopRequireWildcard\").default;\nexports.__esModule = true;\nexports.default = void 0;\nvar _objectSpread2 = _interopRequireDefault(require(\"@babel/runtime/helpers/objectSpread2\"));\nvar _objectWithoutPropertiesLoose2 = _interopRequireDefault(require(\"@babel/runtime/helpers/objectWithoutPropertiesLoose\"));\nvar React = _interopRequireWildcard(require(\"react\"));\nvar _createElement = _interopRequireDefault(require(\"../createElement\"));\nvar forwardedProps = _interopRequireWildcard(require(\"../../modules/forwardedProps\"));\nvar _pick = _interopRequireDefault(require(\"../../modules/pick\"));\nvar _useElementLayout = _interopRequireDefault(require(\"../../modules/useElementLayout\"));\nvar _useMergeRefs = _interopRequireDefault(require(\"../../modules/useMergeRefs\"));\nvar _usePlatformMethods = _interopRequireDefault(require(\"../../modules/usePlatformMethods\"));\nvar _useResponderEvents = _interopRequireDefault(require(\"../../modules/useResponderEvents\"));\nvar _StyleSheet = _interopRequireDefault(require(\"../StyleSheet\"));\nvar _TextAncestorContext = _interopRequireDefault(require(\"./TextAncestorContext\"));\nvar _useLocale = require(\"../../modules/useLocale\");\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//import { warnOnce } from '../../modules/warnOnce';\n\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 => (0, _pick.default)(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 = (0, _objectWithoutPropertiesLoose2.default)(props, _excluded);\n\n /*\n if (selectable != null) {\n warnOnce(\n 'selectable',\n 'selectable prop is deprecated. Use styles.userSelect.'\n );\n }\n */\n\n var hasTextAncestor = React.useContext(_TextAncestorContext.default);\n var hostRef = React.useRef(null);\n var _useLocaleContext = (0, _useLocale.useLocaleContext)(),\n contextDirection = _useLocaleContext.direction;\n (0, _useElementLayout.default)(hostRef, onLayout);\n (0, _useResponderEvents.default)(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 ? (0, _useLocale.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 = (0, _usePlatformMethods.default)(supportedProps);\n var setRef = (0, _useMergeRefs.default)(hostRef, platformMethodsRef, forwardedRef);\n supportedProps.ref = setRef;\n var element = (0, _createElement.default)(component, supportedProps, {\n writingDirection\n });\n return hasTextAncestor ? element : /*#__PURE__*/React.createElement(_TextAncestorContext.default.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.default.create({\n text$raw: textStyle,\n textHasAncestor$raw: (0, _objectSpread2.default)((0, _objectSpread2.default)({}, 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});\nvar _default = exports.default = Text;\nmodule.exports = exports.default;","\"use strict\";\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 client';\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\").default;\nvar _interopRequireWildcard = require(\"@babel/runtime/helpers/interopRequireWildcard\").default;\nexports.__esModule = true;\nexports.default = void 0;\nvar _extends2 = _interopRequireDefault(require(\"@babel/runtime/helpers/extends\"));\nvar _objectWithoutPropertiesLoose2 = _interopRequireDefault(require(\"@babel/runtime/helpers/objectWithoutPropertiesLoose\"));\nvar _react = _interopRequireWildcard(require(\"react\"));\nvar React = _react;\nvar _useMergeRefs = _interopRequireDefault(require(\"../../modules/useMergeRefs\"));\nvar _usePressEvents = _interopRequireDefault(require(\"../../modules/usePressEvents\"));\nvar _StyleSheet = _interopRequireDefault(require(\"../StyleSheet\"));\nvar _View = _interopRequireDefault(require(\"../View\"));\nvar _excluded = [\"activeOpacity\", \"children\", \"delayPressIn\", \"delayPressOut\", \"delayLongPress\", \"disabled\", \"focusable\", \"onHideUnderlay\", \"onLongPress\", \"onPress\", \"onPressIn\", \"onPressOut\", \"onShowUnderlay\", \"rejectResponderTermination\", \"style\", \"testOnly_pressed\", \"underlayColor\"];\n//import { warnOnce } from '../../modules/warnOnce';\n\nfunction createExtraStyles(activeOpacity, underlayColor) {\n return {\n child: {\n opacity: activeOpacity !== null && activeOpacity !== void 0 ? activeOpacity : 0.85\n },\n underlay: {\n backgroundColor: underlayColor === undefined ? 'black' : underlayColor\n }\n };\n}\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 /*\n warnOnce(\n 'TouchableHighlight',\n 'TouchableHighlight is deprecated. Please use Pressable.'\n );\n */\n\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 = (0, _objectWithoutPropertiesLoose2.default)(props, _excluded);\n var hostRef = (0, _react.useRef)(null);\n var setRef = (0, _useMergeRefs.default)(forwardedRef, hostRef);\n var _useState = (0, _react.useState)(testOnly_pressed === true ? createExtraStyles(activeOpacity, underlayColor) : null),\n extraStyles = _useState[0],\n setExtraStyles = _useState[1];\n var showUnderlay = (0, _react.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 = (0, _react.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 = (0, _react.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 = (0, _usePressEvents.default)(hostRef, pressConfig);\n var child = React.Children.only(children);\n return /*#__PURE__*/React.createElement(_View.default, (0, _extends2.default)({}, 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.default.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';\nvar _default = exports.default = MemoedTouchableHighlight;\nmodule.exports = exports.default;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\").default;\nexports.__esModule = true;\nexports.default = void 0;\nvar _getBoundingClientRect = _interopRequireDefault(require(\"../../modules/getBoundingClientRect\"));\nvar _setValueForStyles = _interopRequireDefault(require(\"../../modules/setValueForStyles\"));\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 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 = (0, _getBoundingClientRect.default)(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 (0, _setValueForStyles.default)(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};\nvar _default = exports.default = UIManager;\nmodule.exports = exports.default;","\"use strict\";\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\n'use client';\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\").default;\nvar _interopRequireWildcard = require(\"@babel/runtime/helpers/interopRequireWildcard\").default;\nexports.__esModule = true;\nexports.default = void 0;\nvar _objectWithoutPropertiesLoose2 = _interopRequireDefault(require(\"@babel/runtime/helpers/objectWithoutPropertiesLoose\"));\nvar React = _interopRequireWildcard(require(\"react\"));\nvar _createElement = _interopRequireDefault(require(\"../createElement\"));\nvar forwardedProps = _interopRequireWildcard(require(\"../../modules/forwardedProps\"));\nvar _pick = _interopRequireDefault(require(\"../../modules/pick\"));\nvar _useElementLayout = _interopRequireDefault(require(\"../../modules/useElementLayout\"));\nvar _useMergeRefs = _interopRequireDefault(require(\"../../modules/useMergeRefs\"));\nvar _usePlatformMethods = _interopRequireDefault(require(\"../../modules/usePlatformMethods\"));\nvar _useResponderEvents = _interopRequireDefault(require(\"../../modules/useResponderEvents\"));\nvar _StyleSheet = _interopRequireDefault(require(\"../StyleSheet\"));\nvar _TextAncestorContext = _interopRequireDefault(require(\"../Text/TextAncestorContext\"));\nvar _useLocale = require(\"../../modules/useLocale\");\nvar _excluded = [\"hrefAttrs\", \"onLayout\", \"onMoveShouldSetResponder\", \"onMoveShouldSetResponderCapture\", \"onResponderEnd\", \"onResponderGrant\", \"onResponderMove\", \"onResponderReject\", \"onResponderRelease\", \"onResponderStart\", \"onResponderTerminate\", \"onResponderTerminationRequest\", \"onScrollShouldSetResponder\", \"onScrollShouldSetResponderCapture\", \"onSelectionChangeShouldSetResponder\", \"onSelectionChangeShouldSetResponderCapture\", \"onStartShouldSetResponder\", \"onStartShouldSetResponderCapture\"];\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 => (0, _pick.default)(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 = (0, _objectWithoutPropertiesLoose2.default)(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.default);\n var hostRef = React.useRef(null);\n var _useLocaleContext = (0, _useLocale.useLocaleContext)(),\n contextDirection = _useLocaleContext.direction;\n (0, _useElementLayout.default)(hostRef, onLayout);\n (0, _useResponderEvents.default)(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 ? (0, _useLocale.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 = (0, _usePlatformMethods.default)(supportedProps);\n var setRef = (0, _useMergeRefs.default)(hostRef, platformMethodsRef, forwardedRef);\n supportedProps.ref = setRef;\n return (0, _createElement.default)(component, supportedProps, {\n writingDirection\n });\n});\nView.displayName = 'View';\nvar styles = _StyleSheet.default.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});\nvar _default = exports.default = View;\nmodule.exports = exports.default;","\"use strict\";\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'use client';\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\").default;\nexports.__esModule = true;\nexports.default = void 0;\nvar _AccessibilityUtil = _interopRequireDefault(require(\"../../modules/AccessibilityUtil\"));\nvar _createDOMProps = _interopRequireDefault(require(\"../../modules/createDOMProps\"));\nvar _react = _interopRequireDefault(require(\"react\"));\nvar _useLocale = require(\"../../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.default.propsToAccessibilityComponent(props);\n }\n var Component = accessibilityComponent || component;\n var domProps = (0, _createDOMProps.default)(Component, props, options);\n var element = /*#__PURE__*/_react.default.createElement(Component, domProps);\n\n // Update locale context if element's writing direction prop changes\n var elementWithLocaleProvider = domProps.dir ? /*#__PURE__*/_react.default.createElement(_useLocale.LocaleProvider, {\n children: element,\n direction: domProps.dir,\n locale: domProps.lang\n }) : element;\n return elementWithLocaleProvider;\n};\nvar _default = exports.default = createElement;\nmodule.exports = exports.default;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\").default;\nexports.__esModule = true;\nexports.default = void 0;\nvar _normalizeColors = _interopRequireDefault(require(\"@react-native/normalize-colors\"));\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 processColor = color => {\n if (color === undefined || color === null) {\n return color;\n }\n\n // convert number and hex\n var int32Color = (0, _normalizeColors.default)(color);\n if (int32Color === undefined || int32Color === null) {\n return undefined;\n }\n int32Color = (int32Color << 24 | int32Color >>> 8) >>> 0;\n return int32Color;\n};\nvar _default = exports.default = processColor;\nmodule.exports = exports.default;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\").default;\nexports.__esModule = true;\nexports.default = void 0;\nvar _isDisabled = _interopRequireDefault(require(\"./isDisabled\"));\nvar _propsToAccessibilityComponent = _interopRequireDefault(require(\"./propsToAccessibilityComponent\"));\nvar _propsToAriaRole = _interopRequireDefault(require(\"./propsToAriaRole\"));\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 AccessibilityUtil = {\n isDisabled: _isDisabled.default,\n propsToAccessibilityComponent: _propsToAccessibilityComponent.default,\n propsToAriaRole: _propsToAriaRole.default\n};\nvar _default = exports.default = AccessibilityUtil;\nmodule.exports = exports.default;","\"use strict\";\n\nexports.__esModule = true;\nexports.default = void 0;\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 isDisabled = props => props.disabled || Array.isArray(props.accessibilityStates) && props.accessibilityStates.indexOf('disabled') > -1;\nvar _default = exports.default = isDisabled;\nmodule.exports = exports.default;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\").default;\nexports.__esModule = true;\nexports.default = void 0;\nvar _propsToAriaRole = _interopRequireDefault(require(\"./propsToAriaRole\"));\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 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 = (0, _propsToAriaRole.default)(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};\nvar _default = exports.default = propsToAccessibilityComponent;\nmodule.exports = exports.default;","\"use strict\";\n\nexports.__esModule = true;\nexports.default = void 0;\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 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};\nvar _default = exports.default = propsToAriaRole;\nmodule.exports = exports.default;","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source 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\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\").default;\nexports.__esModule = true;\nexports.addEventListener = addEventListener;\nvar _canUseDom = _interopRequireDefault(require(\"../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.default) {\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 */\nfunction 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}","\"use strict\";\n\nexports.__esModule = true;\nexports.default = void 0;\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 canUseDOM = !!(typeof window !== 'undefined' && window.document && window.document.createElement);\nvar _default = exports.default = canUseDOM;\nmodule.exports = exports.default;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\").default;\nexports.__esModule = true;\nexports.default = void 0;\nvar _objectSpread2 = _interopRequireDefault(require(\"@babel/runtime/helpers/objectSpread2\"));\nvar _objectWithoutPropertiesLoose2 = _interopRequireDefault(require(\"@babel/runtime/helpers/objectWithoutPropertiesLoose\"));\nvar _AccessibilityUtil = _interopRequireDefault(require(\"../AccessibilityUtil\"));\nvar _StyleSheet2 = _interopRequireDefault(require(\"../../exports/StyleSheet\"));\nvar _warnOnce = require(\"../warnOnce\");\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 */\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 = _StyleSheet2.default.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 = (0, _objectWithoutPropertiesLoose2.default)(_props, _excluded);\n\n /*\n if (accessibilityDisabled != null) {\n warnOnce('accessibilityDisabled', `accessibilityDisabled is deprecated.`);\n }\n */\n var disabled = ariaDisabled || accessibilityDisabled;\n var role = _AccessibilityUtil.default.propsToAriaRole(props);\n\n // ACCESSIBILITY\n /*\n if (accessibilityActiveDescendant != null) {\n warnOnce(\n 'accessibilityActiveDescendant',\n `accessibilityActiveDescendant is deprecated. Use aria-activedescendant.`\n );\n }\n */\n var _ariaActiveDescendant = ariaActiveDescendant != null ? ariaActiveDescendant : accessibilityActiveDescendant;\n if (_ariaActiveDescendant != null) {\n domProps['aria-activedescendant'] = _ariaActiveDescendant;\n }\n\n /*\n if (accessibilityAtomic != null) {\n warnOnce(\n 'accessibilityAtomic',\n `accessibilityAtomic is deprecated. Use aria-atomic.`\n );\n }\n */\n var _ariaAtomic = ariaAtomic != null ? ariaActiveDescendant : accessibilityAtomic;\n if (_ariaAtomic != null) {\n domProps['aria-atomic'] = _ariaAtomic;\n }\n\n /*\n if (accessibilityAutoComplete != null) {\n warnOnce(\n 'accessibilityAutoComplete',\n `accessibilityAutoComplete is deprecated. Use aria-autocomplete.`\n );\n }\n */\n var _ariaAutoComplete = ariaAutoComplete != null ? ariaAutoComplete : accessibilityAutoComplete;\n if (_ariaAutoComplete != null) {\n domProps['aria-autocomplete'] = _ariaAutoComplete;\n }\n\n /*\n if (accessibilityBusy != null) {\n warnOnce(\n 'accessibilityBusy',\n `accessibilityBusy is deprecated. Use aria-busy.`\n );\n }\n */\n var _ariaBusy = ariaBusy != null ? ariaBusy : accessibilityBusy;\n if (_ariaBusy != null) {\n domProps['aria-busy'] = _ariaBusy;\n }\n\n /*\n if (accessibilityChecked != null) {\n warnOnce(\n 'accessibilityChecked',\n `accessibilityChecked is deprecated. Use aria-checked.`\n );\n }\n */\n var _ariaChecked = ariaChecked != null ? ariaChecked : accessibilityChecked;\n if (_ariaChecked != null) {\n domProps['aria-checked'] = _ariaChecked;\n }\n\n /*\n if (accessibilityColumnCount != null) {\n warnOnce(\n 'accessibilityColumnCount',\n `accessibilityColumnCount is deprecated. Use aria-colcount.`\n );\n }\n */\n var _ariaColumnCount = ariaColumnCount != null ? ariaColumnCount : accessibilityColumnCount;\n if (_ariaColumnCount != null) {\n domProps['aria-colcount'] = _ariaColumnCount;\n }\n\n /*\n if (accessibilityColumnIndex != null) {\n warnOnce(\n 'accessibilityColumnIndex',\n `accessibilityColumnIndex is deprecated. Use aria-colindex.`\n );\n }\n */\n var _ariaColumnIndex = ariaColumnIndex != null ? ariaColumnIndex : accessibilityColumnIndex;\n if (_ariaColumnIndex != null) {\n domProps['aria-colindex'] = _ariaColumnIndex;\n }\n\n /*\n if (accessibilityColumnSpan != null) {\n warnOnce(\n 'accessibilityColumnSpan',\n `accessibilityColumnSpan is deprecated. Use aria-colspan.`\n );\n }\n */\n var _ariaColumnSpan = ariaColumnSpan != null ? ariaColumnSpan : accessibilityColumnSpan;\n if (_ariaColumnSpan != null) {\n domProps['aria-colspan'] = _ariaColumnSpan;\n }\n\n /*\n if (accessibilityControls != null) {\n warnOnce(\n 'accessibilityControls',\n `accessibilityControls is deprecated. Use aria-controls.`\n );\n }\n */\n var _ariaControls = ariaControls != null ? ariaControls : accessibilityControls;\n if (_ariaControls != null) {\n domProps['aria-controls'] = processIDRefList(_ariaControls);\n }\n\n /*\n if (accessibilityCurrent != null) {\n warnOnce(\n 'accessibilityCurrent',\n `accessibilityCurrent is deprecated. Use aria-current.`\n );\n }\n */\n var _ariaCurrent = ariaCurrent != null ? ariaCurrent : accessibilityCurrent;\n if (_ariaCurrent != null) {\n domProps['aria-current'] = _ariaCurrent;\n }\n\n /*\n if (accessibilityDescribedBy != null) {\n warnOnce(\n 'accessibilityDescribedBy',\n `accessibilityDescribedBy is deprecated. Use aria-describedby.`\n );\n }\n */\n var _ariaDescribedBy = ariaDescribedBy != null ? ariaDescribedBy : accessibilityDescribedBy;\n if (_ariaDescribedBy != null) {\n domProps['aria-describedby'] = processIDRefList(_ariaDescribedBy);\n }\n\n /*\n if (accessibilityDetails != null) {\n warnOnce(\n 'accessibilityDetails',\n `accessibilityDetails is deprecated. Use aria-details.`\n );\n }\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\n /*\n if (accessibilityErrorMessage != null) {\n warnOnce(\n 'accessibilityErrorMessage',\n `accessibilityErrorMessage is deprecated. Use aria-errormessage.`\n );\n }\n */\n var _ariaErrorMessage = ariaErrorMessage != null ? ariaErrorMessage : accessibilityErrorMessage;\n if (_ariaErrorMessage != null) {\n domProps['aria-errormessage'] = _ariaErrorMessage;\n }\n\n /*\n if (accessibilityExpanded != null) {\n warnOnce(\n 'accessibilityExpanded',\n `accessibilityExpanded is deprecated. Use aria-expanded.`\n );\n }\n */\n var _ariaExpanded = ariaExpanded != null ? ariaExpanded : accessibilityExpanded;\n if (_ariaExpanded != null) {\n domProps['aria-expanded'] = _ariaExpanded;\n }\n\n /*\n if (accessibilityFlowTo != null) {\n warnOnce(\n 'accessibilityFlowTo',\n `accessibilityFlowTo is deprecated. Use aria-flowto.`\n );\n }\n */\n var _ariaFlowTo = ariaFlowTo != null ? ariaFlowTo : accessibilityFlowTo;\n if (_ariaFlowTo != null) {\n domProps['aria-flowto'] = processIDRefList(_ariaFlowTo);\n }\n\n /*\n if (accessibilityHasPopup != null) {\n warnOnce(\n 'accessibilityHasPopup',\n `accessibilityHasPopup is deprecated. Use aria-haspopup.`\n );\n }\n */\n var _ariaHasPopup = ariaHasPopup != null ? ariaHasPopup : accessibilityHasPopup;\n if (_ariaHasPopup != null) {\n domProps['aria-haspopup'] = _ariaHasPopup;\n }\n\n /*\n if (accessibilityHidden != null) {\n warnOnce(\n 'accessibilityHidden',\n `accessibilityHidden is deprecated. Use aria-hidden.`\n );\n }\n */\n var _ariaHidden = ariaHidden != null ? ariaHidden : accessibilityHidden;\n if (_ariaHidden === true) {\n domProps['aria-hidden'] = _ariaHidden;\n }\n\n /*\n if (accessibilityInvalid != null) {\n warnOnce(\n 'accessibilityInvalid',\n `accessibilityInvalid is deprecated. Use aria-invalid.`\n );\n }\n */\n var _ariaInvalid = ariaInvalid != null ? ariaInvalid : accessibilityInvalid;\n if (_ariaInvalid != null) {\n domProps['aria-invalid'] = _ariaInvalid;\n }\n\n /*\n if (accessibilityKeyShortcuts != null) {\n warnOnce(\n 'accessibilityKeyShortcuts',\n `accessibilityKeyShortcuts is deprecated. Use aria-keyshortcuts.`\n );\n }\n */\n var _ariaKeyShortcuts = ariaKeyShortcuts != null ? ariaKeyShortcuts : accessibilityKeyShortcuts;\n if (_ariaKeyShortcuts != null) {\n domProps['aria-keyshortcuts'] = processIDRefList(_ariaKeyShortcuts);\n }\n\n /*\n if (accessibilityLabel != null) {\n warnOnce(\n 'accessibilityLabel',\n `accessibilityLabel is deprecated. Use aria-label.`\n );\n }\n */\n var _ariaLabel = ariaLabel != null ? ariaLabel : accessibilityLabel;\n if (_ariaLabel != null) {\n domProps['aria-label'] = _ariaLabel;\n }\n\n /*\n if (accessibilityLabelledBy != null) {\n warnOnce(\n 'accessibilityLabelledBy',\n `accessibilityLabelledBy is deprecated. Use aria-labelledby.`\n );\n }\n */\n var _ariaLabelledBy = ariaLabelledBy != null ? ariaLabelledBy : accessibilityLabelledBy;\n if (_ariaLabelledBy != null) {\n domProps['aria-labelledby'] = processIDRefList(_ariaLabelledBy);\n }\n\n /*\n if (accessibilityLevel != null) {\n warnOnce(\n 'accessibilityLevel',\n `accessibilityLevel is deprecated. Use aria-level.`\n );\n }\n */\n var _ariaLevel = ariaLevel != null ? ariaLevel : accessibilityLevel;\n if (_ariaLevel != null) {\n domProps['aria-level'] = _ariaLevel;\n }\n\n /*\n if (accessibilityLiveRegion != null) {\n warnOnce(\n 'accessibilityLiveRegion',\n `accessibilityLiveRegion is deprecated. Use aria-live.`\n );\n }\n */\n var _ariaLive = ariaLive != null ? ariaLive : accessibilityLiveRegion;\n if (_ariaLive != null) {\n domProps['aria-live'] = _ariaLive === 'none' ? 'off' : _ariaLive;\n }\n\n /*\n if (accessibilityModal != null) {\n warnOnce(\n 'accessibilityModal',\n `accessibilityModal is deprecated. Use aria-modal.`\n );\n }\n */\n var _ariaModal = ariaModal != null ? ariaModal : accessibilityModal;\n if (_ariaModal != null) {\n domProps['aria-modal'] = _ariaModal;\n }\n\n /*\n if (accessibilityMultiline != null) {\n warnOnce(\n 'accessibilityMultiline',\n `accessibilityMultiline is deprecated. Use aria-multiline.`\n );\n }\n */\n var _ariaMultiline = ariaMultiline != null ? ariaMultiline : accessibilityMultiline;\n if (_ariaMultiline != null) {\n domProps['aria-multiline'] = _ariaMultiline;\n }\n\n /*\n if (accessibilityMultiSelectable != null) {\n warnOnce(\n 'accessibilityMultiSelectable',\n `accessibilityMultiSelectable is deprecated. Use aria-multiselectable.`\n );\n }\n */\n var _ariaMultiSelectable = ariaMultiSelectable != null ? ariaMultiSelectable : accessibilityMultiSelectable;\n if (_ariaMultiSelectable != null) {\n domProps['aria-multiselectable'] = _ariaMultiSelectable;\n }\n\n /*\n if (accessibilityOrientation != null) {\n warnOnce(\n 'accessibilityOrientation',\n `accessibilityOrientation is deprecated. Use aria-orientation.`\n );\n }\n */\n var _ariaOrientation = ariaOrientation != null ? ariaOrientation : accessibilityOrientation;\n if (_ariaOrientation != null) {\n domProps['aria-orientation'] = _ariaOrientation;\n }\n\n /*\n if (accessibilityOwns != null) {\n warnOnce(\n 'accessibilityOwns',\n `accessibilityOwns is deprecated. Use aria-owns.`\n );\n }\n */\n var _ariaOwns = ariaOwns != null ? ariaOwns : accessibilityOwns;\n if (_ariaOwns != null) {\n domProps['aria-owns'] = processIDRefList(_ariaOwns);\n }\n\n /*\n if (accessibilityPlaceholder != null) {\n warnOnce(\n 'accessibilityPlaceholder',\n `accessibilityPlaceholder is deprecated. Use aria-placeholder.`\n );\n }\n */\n var _ariaPlaceholder = ariaPlaceholder != null ? ariaPlaceholder : accessibilityPlaceholder;\n if (_ariaPlaceholder != null) {\n domProps['aria-placeholder'] = _ariaPlaceholder;\n }\n\n /*\n if (accessibilityPosInSet != null) {\n warnOnce(\n 'accessibilityPosInSet',\n `accessibilityPosInSet is deprecated. Use aria-posinset.`\n );\n }\n */\n var _ariaPosInSet = ariaPosInSet != null ? ariaPosInSet : accessibilityPosInSet;\n if (_ariaPosInSet != null) {\n domProps['aria-posinset'] = _ariaPosInSet;\n }\n\n /*\n if (accessibilityPressed != null) {\n warnOnce(\n 'accessibilityPressed',\n `accessibilityPressed is deprecated. Use aria-pressed.`\n );\n }\n */\n var _ariaPressed = ariaPressed != null ? ariaPressed : accessibilityPressed;\n if (_ariaPressed != null) {\n domProps['aria-pressed'] = _ariaPressed;\n }\n\n /*\n if (accessibilityReadOnly != null) {\n warnOnce(\n 'accessibilityReadOnly',\n `accessibilityReadOnly is deprecated. Use aria-readonly.`\n );\n }\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\n /*\n if (accessibilityRequired != null) {\n warnOnce(\n 'accessibilityRequired',\n `accessibilityRequired is deprecated. Use aria-required.`\n );\n }\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\n /*\n if (accessibilityRole != null) {\n warnOnce('accessibilityRole', `accessibilityRole is deprecated. Use role.`);\n }\n */\n if (role != null) {\n // 'presentation' synonym has wider browser support\n domProps['role'] = role === 'none' ? 'presentation' : role;\n }\n\n /*\n if (accessibilityRoleDescription != null) {\n warnOnce(\n 'accessibilityRoleDescription',\n `accessibilityRoleDescription is deprecated. Use aria-roledescription.`\n );\n }\n */\n var _ariaRoleDescription = ariaRoleDescription != null ? ariaRoleDescription : accessibilityRoleDescription;\n if (_ariaRoleDescription != null) {\n domProps['aria-roledescription'] = _ariaRoleDescription;\n }\n\n /*\n if (accessibilityRowCount != null) {\n warnOnce(\n 'accessibilityRowCount',\n `accessibilityRowCount is deprecated. Use aria-rowcount.`\n );\n }\n */\n var _ariaRowCount = ariaRowCount != null ? ariaRowCount : accessibilityRowCount;\n if (_ariaRowCount != null) {\n domProps['aria-rowcount'] = _ariaRowCount;\n }\n\n /*\n if (accessibilityRowIndex != null) {\n warnOnce(\n 'accessibilityRowIndex',\n `accessibilityRowIndex is deprecated. Use aria-rowindex.`\n );\n }\n */\n var _ariaRowIndex = ariaRowIndex != null ? ariaRowIndex : accessibilityRowIndex;\n if (_ariaRowIndex != null) {\n domProps['aria-rowindex'] = _ariaRowIndex;\n }\n\n /*\n if (accessibilityRowSpan != null) {\n warnOnce(\n 'accessibilityRowSpan',\n `accessibilityRowSpan is deprecated. Use aria-rowspan.`\n );\n }\n */\n var _ariaRowSpan = ariaRowSpan != null ? ariaRowSpan : accessibilityRowSpan;\n if (_ariaRowSpan != null) {\n domProps['aria-rowspan'] = _ariaRowSpan;\n }\n\n /*\n if (accessibilitySelected != null) {\n warnOnce(\n 'accessibilitySelected',\n `accessibilitySelected is deprecated. Use aria-selected.`\n );\n }\n */\n var _ariaSelected = ariaSelected != null ? ariaSelected : accessibilitySelected;\n if (_ariaSelected != null) {\n domProps['aria-selected'] = _ariaSelected;\n }\n\n /*\n if (accessibilitySetSize != null) {\n warnOnce(\n 'accessibilitySetSize',\n `accessibilitySetSize is deprecated. Use aria-setsize.`\n );\n }\n */\n var _ariaSetSize = ariaSetSize != null ? ariaSetSize : accessibilitySetSize;\n if (_ariaSetSize != null) {\n domProps['aria-setsize'] = _ariaSetSize;\n }\n\n /*\n if (accessibilitySort != null) {\n warnOnce(\n 'accessibilitySort',\n `accessibilitySort is deprecated. Use aria-sort.`\n );\n }\n */\n var _ariaSort = ariaSort != null ? ariaSort : accessibilitySort;\n if (_ariaSort != null) {\n domProps['aria-sort'] = _ariaSort;\n }\n\n /*\n if (accessibilityValueMax != null) {\n warnOnce(\n 'accessibilityValueMax',\n `accessibilityValueMax is deprecated. Use aria-valuemax.`\n );\n }\n */\n var _ariaValueMax = ariaValueMax != null ? ariaValueMax : accessibilityValueMax;\n if (_ariaValueMax != null) {\n domProps['aria-valuemax'] = _ariaValueMax;\n }\n\n /*\n if (accessibilityValueMin != null) {\n warnOnce(\n 'accessibilityValueMin',\n `accessibilityValueMin is deprecated. Use aria-valuemin.`\n );\n }\n */\n var _ariaValueMin = ariaValueMin != null ? ariaValueMin : accessibilityValueMin;\n if (_ariaValueMin != null) {\n domProps['aria-valuemin'] = _ariaValueMin;\n }\n\n /*\n if (accessibilityValueNow != null) {\n warnOnce(\n 'accessibilityValueNow',\n `accessibilityValueNow is deprecated. Use aria-valuenow.`\n );\n }\n */\n var _ariaValueNow = ariaValueNow != null ? ariaValueNow : accessibilityValueNow;\n if (_ariaValueNow != null) {\n domProps['aria-valuenow'] = _ariaValueNow;\n }\n\n /*\n if (accessibilityValueText != null) {\n warnOnce(\n 'accessibilityValueText',\n `accessibilityValueText is deprecated. Use aria-valuetext.`\n );\n }\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 /*\n if (focusable != null) {\n warnOnce('focusable', `focusable is deprecated.`);\n }\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 (0, _warnOnce.warnOnce)('pointerEvents', \"props.pointerEvents is deprecated. Use style.pointerEvents\");\n }\n var _StyleSheet = (0, _StyleSheet2.default)([style, pointerEvents && pointerEventsStyles[pointerEvents]], (0, _objectSpread2.default)({\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 /*\n if (nativeID != null) {\n warnOnce('nativeID', `nativeID is deprecated. Use id.`);\n }\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};\nvar _default = exports.default = createDOMProps;\nmodule.exports = exports.default;","\"use strict\";\n\nexports.__esModule = true;\nexports.touchProps = exports.styleProps = exports.mouseProps = exports.keyboardProps = exports.focusProps = exports.defaultProps = exports.clickProps = exports.accessibilityProps = void 0;\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 defaultProps = exports.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};\nvar accessibilityProps = exports.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};\nvar clickProps = exports.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};\nvar focusProps = exports.focusProps = {\n onBlur: true,\n onFocus: true\n};\nvar keyboardProps = exports.keyboardProps = {\n onKeyDown: true,\n onKeyDownCapture: true,\n onKeyUp: true,\n onKeyUpCapture: true\n};\nvar mouseProps = exports.mouseProps = {\n onMouseDown: true,\n onMouseEnter: true,\n onMouseLeave: true,\n onMouseMove: true,\n onMouseOver: true,\n onMouseOut: true,\n onMouseUp: true\n};\nvar touchProps = exports.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};\nvar styleProps = exports.styleProps = {\n style: true\n};","\"use strict\";\n\nexports.__esModule = true;\nexports.default = void 0;\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};\nvar _default = exports.default = getBoundingClientRect;\nmodule.exports = exports.default;","\"use strict\";\n\nexports.__esModule = true;\nexports.default = isSelectionValid;\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\nfunction 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}\nmodule.exports = exports.default;","\"use strict\";\n\nexports.__esModule = true;\nexports.default = void 0;\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 isWebColor = color => color === 'currentcolor' || color === 'currentColor' || color === 'inherit' || color.indexOf('var(') === 0;\nvar _default = exports.default = isWebColor;\nmodule.exports = exports.default;","\"use strict\";\n\nvar _interopRequireWildcard = require(\"@babel/runtime/helpers/interopRequireWildcard\").default;\nexports.__esModule = true;\nexports.default = mergeRefs;\nvar React = _interopRequireWildcard(require(\"react\"));\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\nfunction 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}\nmodule.exports = exports.default;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\").default;\nexports.__esModule = true;\nexports.addModalityListener = addModalityListener;\nexports.getActiveModality = getActiveModality;\nexports.getModality = getModality;\nexports.testOnly_resetActiveModality = testOnly_resetActiveModality;\nvar _addEventListener = require(\"../addEventListener\");\nvar _canUseDom = _interopRequireDefault(require(\"../canUseDom\"));\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 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.default) {\n // Window events\n (0, _addEventListener.addEventListener)(window, BLUR, onBlurWindow, bubbleOptions);\n (0, _addEventListener.addEventListener)(window, FOCUS, onFocusWindow, bubbleOptions);\n // Must be capture phase because 'stopPropagation' might prevent these\n // events bubbling to the document.\n (0, _addEventListener.addEventListener)(document, KEYDOWN, onKeyDown, captureOptions);\n (0, _addEventListener.addEventListener)(document, VISIBILITYCHANGE, onVisibilityChange, captureOptions);\n (0, _addEventListener.addEventListener)(document, POINTERDOWN, onPointerish, captureOptions);\n (0, _addEventListener.addEventListener)(document, POINTERMOVE, onPointerish, captureOptions);\n // Fallback events\n (0, _addEventListener.addEventListener)(document, CONTEXTMENU, onPointerish, captureOptions);\n (0, _addEventListener.addEventListener)(document, MOUSEDOWN, onPointerish, captureOptions);\n (0, _addEventListener.addEventListener)(document, MOUSEMOVE, onPointerish, captureOptions);\n (0, _addEventListener.addEventListener)(document, MOUSEUP, onPointerish, captureOptions);\n (0, _addEventListener.addEventListener)(document, TOUCHCANCEL, onPointerish, captureOptions);\n (0, _addEventListener.addEventListener)(document, TOUCHMOVE, onPointerish, captureOptions);\n (0, _addEventListener.addEventListener)(document, TOUCHSTART, onPointerish, captureOptions);\n (0, _addEventListener.addEventListener)(document, SELECTIONCHANGE, onPointerish, captureOptions);\n (0, _addEventListener.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}\nfunction getActiveModality() {\n return activeModality;\n}\nfunction getModality() {\n return modality;\n}\nfunction addModalityListener(listener) {\n listeners.add(listener);\n return () => {\n listeners.delete(listener);\n };\n}\nfunction testOnly_resetActiveModality() {\n isEmulatingMouseEvents = false;\n activeModality = KEYBOARD;\n modality = KEYBOARD;\n}","\"use strict\";\n\nexports.__esModule = true;\nexports.default = pick;\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\nfunction 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}\nmodule.exports = exports.default;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\").default;\nexports.__esModule = true;\nexports.default = void 0;\nvar _createPrefixer = _interopRequireDefault(require(\"inline-style-prefixer/lib/createPrefixer\"));\nvar _static = _interopRequireDefault(require(\"./static\"));\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 prefixAll = (0, _createPrefixer.default)(_static.default);\nvar _default = exports.default = prefixAll;\nmodule.exports = exports.default;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\").default;\nexports.__esModule = true;\nexports.default = void 0;\nvar _backgroundClip = _interopRequireDefault(require(\"inline-style-prefixer/lib/plugins/backgroundClip\"));\nvar _crossFade = _interopRequireDefault(require(\"inline-style-prefixer/lib/plugins/crossFade\"));\nvar _cursor = _interopRequireDefault(require(\"inline-style-prefixer/lib/plugins/cursor\"));\nvar _filter = _interopRequireDefault(require(\"inline-style-prefixer/lib/plugins/filter\"));\nvar _imageSet = _interopRequireDefault(require(\"inline-style-prefixer/lib/plugins/imageSet\"));\nvar _logical = _interopRequireDefault(require(\"inline-style-prefixer/lib/plugins/logical\"));\nvar _position = _interopRequireDefault(require(\"inline-style-prefixer/lib/plugins/position\"));\nvar _sizing = _interopRequireDefault(require(\"inline-style-prefixer/lib/plugins/sizing\"));\nvar _transition = _interopRequireDefault(require(\"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'];\nvar _default = exports.default = {\n plugins: [_backgroundClip.default, _crossFade.default, _cursor.default, _filter.default, _imageSet.default, _logical.default, _position.default, _sizing.default, _transition.default],\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};\nmodule.exports = exports.default;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\").default;\nexports.__esModule = true;\nexports.default = void 0;\nvar _unitlessNumbers = _interopRequireDefault(require(\"../unitlessNumbers\"));\n/* 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\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 && !(_unitlessNumbers.default.hasOwnProperty(name) && _unitlessNumbers.default[name])) {\n return value + 'px'; // Presumes implicit 'px' suffix for unitless numbers\n }\n return ('' + value).trim();\n}\nvar _default = exports.default = dangerousStyleValue;\nmodule.exports = exports.default;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\").default;\nexports.__esModule = true;\nexports.default = void 0;\nvar _dangerousStyleValue = _interopRequireDefault(require(\"./dangerousStyleValue\"));\n/* 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\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 = (0, _dangerousStyleValue.default)(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}\nvar _default = exports.default = setValueForStyles;\nmodule.exports = exports.default;","\"use strict\";\n\nexports.__esModule = true;\nexports.default = void 0;\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 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});\nvar _default = exports.default = unitlessNumbers;\nmodule.exports = exports.default;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\").default;\nexports.__esModule = true;\nexports.default = useElementLayout;\nvar _useLayoutEffect = _interopRequireDefault(require(\"../useLayoutEffect\"));\nvar _UIManager = _interopRequireDefault(require(\"../../exports/UIManager\"));\nvar _canUseDom = _interopRequireDefault(require(\"../canUseDom\"));\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 DOM_LAYOUT_HANDLER_NAME = '__reactLayoutHandler';\nvar didWarn = !_canUseDom.default;\nvar resizeObserver = null;\nfunction getResizeObserver() {\n if (_canUseDom.default && 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.default.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}\nfunction useElementLayout(ref, onLayout) {\n var observer = getResizeObserver();\n (0, _useLayoutEffect.default)(() => {\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 (0, _useLayoutEffect.default)(() => {\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}\nmodule.exports = exports.default;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\").default;\nexports.__esModule = true;\nexports.default = useEvent;\nvar _addEventListener = require(\"../addEventListener\");\nvar _useLayoutEffect = _interopRequireDefault(require(\"../useLayoutEffect\"));\nvar _useStable = _interopRequireDefault(require(\"../useStable\"));\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/**\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 */\nfunction useEvent(eventType, options) {\n var targetListeners = (0, _useStable.default)(() => new Map());\n var addListener = (0, _useStable.default)(() => {\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 = (0, _addEventListener.addEventListener)(target, eventType, callback, options);\n targetListeners.set(target, removeEventListener);\n return removeEventListener;\n };\n });\n (0, _useLayoutEffect.default)(() => {\n return () => {\n targetListeners.forEach(removeListener => {\n removeListener();\n });\n targetListeners.clear();\n };\n }, [targetListeners]);\n return addListener;\n}\nmodule.exports = exports.default;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\").default;\nexports.__esModule = true;\nexports.default = useHover;\nvar _modality = require(\"../modality\");\nvar _useEvent = _interopRequireDefault(require(\"../useEvent\"));\nvar _useLayoutEffect = _interopRequireDefault(require(\"../useLayoutEffect\"));\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/**\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 : (0, _modality.getModality)();\n}\nfunction 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 = (0, _useEvent.default)(canUsePE ? 'pointermove' : 'mousemove', opts);\n var addEnterListener = (0, _useEvent.default)(canUsePE ? 'pointerenter' : 'mouseenter', opts);\n var addLeaveListener = (0, _useEvent.default)(canUsePE ? 'pointerleave' : 'mouseleave', opts);\n // These custom events are used to implement the \"contain\" prop.\n var addLockListener = (0, _useEvent.default)(lockEventType, opts);\n var addUnlockListener = (0, _useEvent.default)(unlockEventType, opts);\n (0, _useLayoutEffect.default)(() => {\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}\nmodule.exports = exports.default;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\").default;\nexports.__esModule = true;\nexports.default = void 0;\nvar _react = require(\"react\");\nvar _canUseDom = _interopRequireDefault(require(\"../canUseDom\"));\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\nvar useLayoutEffectImpl = _canUseDom.default ? _react.useLayoutEffect : _react.useEffect;\nvar _default = exports.default = useLayoutEffectImpl;\nmodule.exports = exports.default;","\"use strict\";\n\nvar _interopRequireWildcard = require(\"@babel/runtime/helpers/interopRequireWildcard\").default;\nexports.__esModule = true;\nexports.LocaleProvider = LocaleProvider;\nexports.getLocaleDirection = getLocaleDirection;\nexports.useLocaleContext = useLocaleContext;\nvar _react = _interopRequireWildcard(require(\"react\"));\nvar _isLocaleRTL = require(\"./isLocaleRTL\");\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 defaultLocale = {\n direction: 'ltr',\n locale: 'en-US'\n};\nvar LocaleContext = /*#__PURE__*/(0, _react.createContext)(defaultLocale);\nfunction getLocaleDirection(locale) {\n return (0, _isLocaleRTL.isLocaleRTL)(locale) ? 'rtl' : 'ltr';\n}\nfunction 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.default.createElement(LocaleContext.Provider, {\n children: children,\n value: {\n direction: locale ? getLocaleDirection(locale) : direction,\n locale\n }\n }) : children;\n}\nfunction useLocaleContext() {\n return (0, _react.useContext)(LocaleContext);\n}","\"use strict\";\n\nexports.__esModule = true;\nexports.isLocaleRTL = isLocaleRTL;\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 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]);\nvar cache = new Map();\n\n/**\n * Determine the writing direction of a locale\n */\nfunction 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 try {\n // $FlowFixMe\n var script = new Intl.Locale(locale).maximize().script;\n isRTL = rtlScripts.has(script);\n } catch (_unused) {\n // RangeError: Incorrect locale information provided\n // Fallback to inferring from language\n var lang = locale.split('-')[0];\n isRTL = rtlLangs.has(lang);\n }\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}","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\").default;\nvar _interopRequireWildcard = require(\"@babel/runtime/helpers/interopRequireWildcard\").default;\nexports.__esModule = true;\nexports.default = useMergeRefs;\nvar React = _interopRequireWildcard(require(\"react\"));\nvar _mergeRefs = _interopRequireDefault(require(\"../mergeRefs\"));\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\nfunction 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(() => (0, _mergeRefs.default)(...args),\n // eslint-disable-next-line\n [...args]);\n}\nmodule.exports = exports.default;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\").default;\nexports.__esModule = true;\nexports.default = usePlatformMethods;\nvar _UIManager = _interopRequireDefault(require(\"../../exports/UIManager\"));\nvar _useStable = _interopRequireDefault(require(\"../useStable\"));\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 * 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 */\nfunction usePlatformMethods(_ref) {\n var pointerEvents = _ref.pointerEvents,\n style = _ref.style;\n // Avoid creating a new ref on every render.\n var ref = (0, _useStable.default)(() => hostNode => {\n if (hostNode != null) {\n hostNode.measure = callback => _UIManager.default.measure(hostNode, callback);\n hostNode.measureLayout = (relativeToNode, success, failure) => _UIManager.default.measureLayout(hostNode, relativeToNode, failure, success);\n hostNode.measureInWindow = callback => _UIManager.default.measureInWindow(hostNode, callback);\n }\n });\n return ref;\n}\nmodule.exports = exports.default;","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source 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\nexports.__esModule = true;\nexports.default = void 0;\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 */\nclass 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}\nexports.default = PressResponder;\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}\nmodule.exports = exports.default;","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source 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 _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\").default;\nexports.__esModule = true;\nexports.default = usePressEvents;\nvar _PressResponder = _interopRequireDefault(require(\"./PressResponder\"));\nvar _react = require(\"react\");\nfunction usePressEvents(hostRef, config) {\n var pressResponderRef = (0, _react.useRef)(null);\n if (pressResponderRef.current == null) {\n pressResponderRef.current = new _PressResponder.default(config);\n }\n var pressResponder = pressResponderRef.current;\n\n // Re-configure to use the current node and configuration.\n (0, _react.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 (0, _react.useEffect)(() => {\n return () => {\n pressResponder.reset();\n };\n }, [pressResponder]);\n (0, _react.useDebugValue)(config);\n return pressResponder.getEventHandlers();\n}\nmodule.exports = exports.default;","\"use strict\";\n\nexports.__esModule = true;\nexports.TOUCH_START = exports.TOUCH_MOVE = exports.TOUCH_END = exports.TOUCH_CANCEL = exports.SELECTION_CHANGE = exports.SELECT = exports.SCROLL = exports.MOUSE_UP = exports.MOUSE_MOVE = exports.MOUSE_DOWN = exports.MOUSE_CANCEL = exports.FOCUS_OUT = exports.CONTEXT_MENU = exports.BLUR = void 0;\nexports.isCancelish = isCancelish;\nexports.isEndish = isEndish;\nexports.isMoveish = isMoveish;\nexports.isScroll = isScroll;\nexports.isSelectionChange = isSelectionChange;\nexports.isStartish = isStartish;\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 BLUR = exports.BLUR = 'blur';\nvar CONTEXT_MENU = exports.CONTEXT_MENU = 'contextmenu';\nvar FOCUS_OUT = exports.FOCUS_OUT = 'focusout';\nvar MOUSE_DOWN = exports.MOUSE_DOWN = 'mousedown';\nvar MOUSE_MOVE = exports.MOUSE_MOVE = 'mousemove';\nvar MOUSE_UP = exports.MOUSE_UP = 'mouseup';\nvar MOUSE_CANCEL = exports.MOUSE_CANCEL = 'dragstart';\nvar TOUCH_START = exports.TOUCH_START = 'touchstart';\nvar TOUCH_MOVE = exports.TOUCH_MOVE = 'touchmove';\nvar TOUCH_END = exports.TOUCH_END = 'touchend';\nvar TOUCH_CANCEL = exports.TOUCH_CANCEL = 'touchcancel';\nvar SCROLL = exports.SCROLL = 'scroll';\nvar SELECT = exports.SELECT = 'select';\nvar SELECTION_CHANGE = exports.SELECTION_CHANGE = 'selectionchange';\nfunction isStartish(eventType) {\n return eventType === TOUCH_START || eventType === MOUSE_DOWN;\n}\nfunction isMoveish(eventType) {\n return eventType === TOUCH_MOVE || eventType === MOUSE_MOVE;\n}\nfunction isEndish(eventType) {\n return eventType === TOUCH_END || eventType === MOUSE_UP || isCancelish(eventType);\n}\nfunction isCancelish(eventType) {\n return eventType === TOUCH_CANCEL || eventType === MOUSE_CANCEL;\n}\nfunction isScroll(eventType) {\n return eventType === SCROLL;\n}\nfunction isSelectionChange(eventType) {\n return eventType === SELECT || eventType === SELECTION_CHANGE;\n}","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\").default;\nexports.__esModule = true;\nexports.addNode = addNode;\nexports.attachListeners = attachListeners;\nexports.getResponderNode = getResponderNode;\nexports.removeNode = removeNode;\nexports.terminateResponder = terminateResponder;\nvar _createResponderEvent = _interopRequireDefault(require(\"./createResponderEvent\"));\nvar _ResponderEventTypes = require(\"./ResponderEventTypes\");\nvar _utils = require(\"./utils\");\nvar _ResponderTouchHistoryStore = require(\"./ResponderTouchHistoryStore\");\nvar _canUseDom = _interopRequireDefault(require(\"../canUseDom\"));\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\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.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 = (0, _ResponderEventTypes.isStartish)(eventType) && (0, _utils.isPrimaryPointerDown)(domEvent);\n var isMoveEvent = (0, _ResponderEventTypes.isMoveish)(eventType);\n var isEndEvent = (0, _ResponderEventTypes.isEndish)(eventType);\n var isScrollEvent = (0, _ResponderEventTypes.isScroll)(eventType);\n var isSelectionChangeEvent = (0, _ResponderEventTypes.isSelectionChange)(eventType);\n var responderEvent = (0, _createResponderEvent.default)(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 = (0, _utils.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 = (0, _utils.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 = (0, _ResponderEventTypes.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 && (0, _utils.hasValidSelection)(domEvent);\n var isReleaseEvent = isEndEvent && !isTerminateEvent && !(0, _utils.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'];\nfunction attachListeners() {\n if (_canUseDom.default && 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 */\nfunction addNode(id, node, config) {\n (0, _utils.setResponderId)(node, id);\n responderListenersMap.set(id, config);\n}\n\n/**\n * Unregister a node with the ResponderSystem.\n */\nfunction 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 */\nfunction 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 = (0, _createResponderEvent.default)({}, 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 */\nfunction getResponderNode() {\n return currentResponder.node;\n}","\"use strict\";\n\nexports.__esModule = true;\nexports.ResponderTouchHistoryStore = void 0;\nvar _ResponderEventTypes = require(\"./ResponderEventTypes\");\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/**\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}\nclass 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 ((0, _ResponderEventTypes.isMoveish)(topLevelType)) {\n nativeEvent.changedTouches.forEach(touch => recordTouchMove(touch, touchHistory));\n } else if ((0, _ResponderEventTypes.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 ((0, _ResponderEventTypes.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}\nexports.ResponderTouchHistoryStore = ResponderTouchHistoryStore;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\").default;\nexports.__esModule = true;\nexports.default = createResponderEvent;\nvar _getBoundingClientRect = _interopRequireDefault(require(\"../../modules/getBoundingClientRect\"));\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 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 */\nfunction 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 || (0, _getBoundingClientRect.default)(responderEvent.currentTarget);\n if (rect) {\n return x - rect.left;\n }\n }\n function locationY(y) {\n rect = rect || (0, _getBoundingClientRect.default)(responderEvent.currentTarget);\n if (rect) {\n return y - rect.top;\n }\n }\n return responderEvent;\n}\nmodule.exports = exports.default;","\"use strict\";\n\nvar _interopRequireWildcard = require(\"@babel/runtime/helpers/interopRequireWildcard\").default;\nexports.__esModule = true;\nexports.default = useResponderEvents;\nvar React = _interopRequireWildcard(require(\"react\"));\nvar ResponderSystem = _interopRequireWildcard(require(\"./ResponderSystem\"));\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\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}\nfunction 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}\nmodule.exports = exports.default;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\").default;\nexports.__esModule = true;\nexports.getLowestCommonAncestor = getLowestCommonAncestor;\nexports.getResponderPaths = getResponderPaths;\nexports.hasTargetTouches = hasTargetTouches;\nexports.hasValidSelection = hasValidSelection;\nexports.isPrimaryPointerDown = isPrimaryPointerDown;\nexports.setResponderId = setResponderId;\nvar _isSelectionValid = _interopRequireDefault(require(\"../../modules/isSelectionValid\"));\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 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 */\nfunction 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 */\nfunction 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 */\nfunction 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 */\nfunction 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 */\nfunction hasValidSelection(domEvent) {\n if (domEvent.type === 'selectionchange') {\n return (0, _isSelectionValid.default)();\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 */\nfunction 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}","\"use strict\";\n\nvar _interopRequireWildcard = require(\"@babel/runtime/helpers/interopRequireWildcard\").default;\nexports.__esModule = true;\nexports.default = useStable;\nvar React = _interopRequireWildcard(require(\"react\"));\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 UNINITIALIZED = typeof Symbol === 'function' && typeof Symbol() === 'symbol' ? Symbol() : Object.freeze({});\nfunction 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}\nmodule.exports = exports.default;","\"use strict\";\n\nexports.__esModule = true;\nexports.warnOnce = warnOnce;\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 */\nfunction 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 */\n\n'use client';\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) Meta Platforms, Inc. and affiliates.\n *\n * This source 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 TurboModuleRegistry from '../TurboModule/TurboModuleRegistry';\n\n// The config has different keys depending on the type of the Node\n// TODO(T54896888): Make these types strict\n\nexport default TurboModuleRegistry.get('NativeAnimatedModule');","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 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 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};","import Platform from '../../../exports/Platform';\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 * @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;","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source 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 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 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\n'use client';\n\nimport Animated from '../../vendor/react-native/Animated/Animated';\nexport default Animated;","/**\n * Copyright (c) Nicolas Gallagher.\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * \n */\n\n'use client';\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\n'use client';\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 * 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) Meta Platforms, Inc. and affiliates.\n *\n * This 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 * 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;","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 */\n\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\n'use client';\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;","/**\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\n'use client';\n\nimport _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\"];\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: \"in\"\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\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 *\n * This source 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 client';\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;","/**\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\n'use client';\n\nimport _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\"];\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 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\n'use client';\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 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 /*\n console.warn(\n 'StyleSheet.compose(a, b) is deprecated; use array syntax, i.e., [a,b].'\n );\n */\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 /*\n warnOnce(\n 'fontVariant',\n '\"fontVariant\" style array value is deprecated. Use space-separated values.'\n );\n */\n _value2 = _value2.join(' ');\n }\n nextStyle[prop] = _value2;\n } else if (prop === 'textAlignVertical') {\n /*\n warnOnce(\n 'textAlignVertical',\n '\"textAlignVertical\" style is deprecated. Use \"verticalAlign\".'\n );\n */\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) Meta Platforms, Inc. and affiliates.\n *\n * This source 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 client';\n\nimport { createContext } from 'react';\nvar TextAncestorContext = /*#__PURE__*/createContext(false);\nexport default TextAncestorContext;","/**\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\n'use client';\n\nimport _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\"];\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';\n//import { warnOnce } from '../../modules/warnOnce';\n\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\n /*\n if (selectable != null) {\n warnOnce(\n 'selectable',\n 'selectable prop is deprecated. Use styles.userSelect.'\n );\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 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\n'use client';\n\nimport * as React from 'react';\nimport createElement from '../createElement';\nimport * as forwardedProps from '../../modules/forwardedProps';\nimport pick from '../../modules/pick';\nimport useElementLayout from '../../modules/useElementLayout';\nimport useLayoutEffect from '../../modules/useLayoutEffect';\nimport useMergeRefs from '../../modules/useMergeRefs';\nimport usePlatformMethods from '../../modules/usePlatformMethods';\nimport useResponderEvents from '../../modules/useResponderEvents';\nimport { getLocaleDirection, useLocaleContext } from '../../modules/useLocale';\nimport StyleSheet from '../StyleSheet';\nimport TextInputState from '../../modules/TextInputState';\n//import { 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 // Check if the input is still focused after the timeout\n // (see #2704)\n if (hostNode != null && document.activeElement === hostNode) {\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 /*\n if (returnKeyType != null) {\n warnOnce('returnKeyType', 'returnKeyType is deprecated. Use enterKeyHint.');\n }\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 /*\n if (editable != null) {\n warnOnce('editable', 'editable is deprecated. Use readOnly.');\n }\n */\n supportedProps.readOnly = readOnly === true || editable === false;\n /*\n if (numberOfLines != null) {\n warnOnce(\n 'numberOfLines',\n 'TextInput numberOfLines is deprecated. Use rows.'\n );\n }\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) 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 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;","/**\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\n'use client';\n\nimport _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\"];\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\n /*\n if (accessibilityDisabled != null) {\n warnOnce('accessibilityDisabled', `accessibilityDisabled is deprecated.`);\n }\n */\n var disabled = ariaDisabled || accessibilityDisabled;\n var role = AccessibilityUtil.propsToAriaRole(props);\n\n // ACCESSIBILITY\n /*\n if (accessibilityActiveDescendant != null) {\n warnOnce(\n 'accessibilityActiveDescendant',\n `accessibilityActiveDescendant is deprecated. Use aria-activedescendant.`\n );\n }\n */\n var _ariaActiveDescendant = ariaActiveDescendant != null ? ariaActiveDescendant : accessibilityActiveDescendant;\n if (_ariaActiveDescendant != null) {\n domProps['aria-activedescendant'] = _ariaActiveDescendant;\n }\n\n /*\n if (accessibilityAtomic != null) {\n warnOnce(\n 'accessibilityAtomic',\n `accessibilityAtomic is deprecated. Use aria-atomic.`\n );\n }\n */\n var _ariaAtomic = ariaAtomic != null ? ariaActiveDescendant : accessibilityAtomic;\n if (_ariaAtomic != null) {\n domProps['aria-atomic'] = _ariaAtomic;\n }\n\n /*\n if (accessibilityAutoComplete != null) {\n warnOnce(\n 'accessibilityAutoComplete',\n `accessibilityAutoComplete is deprecated. Use aria-autocomplete.`\n );\n }\n */\n var _ariaAutoComplete = ariaAutoComplete != null ? ariaAutoComplete : accessibilityAutoComplete;\n if (_ariaAutoComplete != null) {\n domProps['aria-autocomplete'] = _ariaAutoComplete;\n }\n\n /*\n if (accessibilityBusy != null) {\n warnOnce(\n 'accessibilityBusy',\n `accessibilityBusy is deprecated. Use aria-busy.`\n );\n }\n */\n var _ariaBusy = ariaBusy != null ? ariaBusy : accessibilityBusy;\n if (_ariaBusy != null) {\n domProps['aria-busy'] = _ariaBusy;\n }\n\n /*\n if (accessibilityChecked != null) {\n warnOnce(\n 'accessibilityChecked',\n `accessibilityChecked is deprecated. Use aria-checked.`\n );\n }\n */\n var _ariaChecked = ariaChecked != null ? ariaChecked : accessibilityChecked;\n if (_ariaChecked != null) {\n domProps['aria-checked'] = _ariaChecked;\n }\n\n /*\n if (accessibilityColumnCount != null) {\n warnOnce(\n 'accessibilityColumnCount',\n `accessibilityColumnCount is deprecated. Use aria-colcount.`\n );\n }\n */\n var _ariaColumnCount = ariaColumnCount != null ? ariaColumnCount : accessibilityColumnCount;\n if (_ariaColumnCount != null) {\n domProps['aria-colcount'] = _ariaColumnCount;\n }\n\n /*\n if (accessibilityColumnIndex != null) {\n warnOnce(\n 'accessibilityColumnIndex',\n `accessibilityColumnIndex is deprecated. Use aria-colindex.`\n );\n }\n */\n var _ariaColumnIndex = ariaColumnIndex != null ? ariaColumnIndex : accessibilityColumnIndex;\n if (_ariaColumnIndex != null) {\n domProps['aria-colindex'] = _ariaColumnIndex;\n }\n\n /*\n if (accessibilityColumnSpan != null) {\n warnOnce(\n 'accessibilityColumnSpan',\n `accessibilityColumnSpan is deprecated. Use aria-colspan.`\n );\n }\n */\n var _ariaColumnSpan = ariaColumnSpan != null ? ariaColumnSpan : accessibilityColumnSpan;\n if (_ariaColumnSpan != null) {\n domProps['aria-colspan'] = _ariaColumnSpan;\n }\n\n /*\n if (accessibilityControls != null) {\n warnOnce(\n 'accessibilityControls',\n `accessibilityControls is deprecated. Use aria-controls.`\n );\n }\n */\n var _ariaControls = ariaControls != null ? ariaControls : accessibilityControls;\n if (_ariaControls != null) {\n domProps['aria-controls'] = processIDRefList(_ariaControls);\n }\n\n /*\n if (accessibilityCurrent != null) {\n warnOnce(\n 'accessibilityCurrent',\n `accessibilityCurrent is deprecated. Use aria-current.`\n );\n }\n */\n var _ariaCurrent = ariaCurrent != null ? ariaCurrent : accessibilityCurrent;\n if (_ariaCurrent != null) {\n domProps['aria-current'] = _ariaCurrent;\n }\n\n /*\n if (accessibilityDescribedBy != null) {\n warnOnce(\n 'accessibilityDescribedBy',\n `accessibilityDescribedBy is deprecated. Use aria-describedby.`\n );\n }\n */\n var _ariaDescribedBy = ariaDescribedBy != null ? ariaDescribedBy : accessibilityDescribedBy;\n if (_ariaDescribedBy != null) {\n domProps['aria-describedby'] = processIDRefList(_ariaDescribedBy);\n }\n\n /*\n if (accessibilityDetails != null) {\n warnOnce(\n 'accessibilityDetails',\n `accessibilityDetails is deprecated. Use aria-details.`\n );\n }\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\n /*\n if (accessibilityErrorMessage != null) {\n warnOnce(\n 'accessibilityErrorMessage',\n `accessibilityErrorMessage is deprecated. Use aria-errormessage.`\n );\n }\n */\n var _ariaErrorMessage = ariaErrorMessage != null ? ariaErrorMessage : accessibilityErrorMessage;\n if (_ariaErrorMessage != null) {\n domProps['aria-errormessage'] = _ariaErrorMessage;\n }\n\n /*\n if (accessibilityExpanded != null) {\n warnOnce(\n 'accessibilityExpanded',\n `accessibilityExpanded is deprecated. Use aria-expanded.`\n );\n }\n */\n var _ariaExpanded = ariaExpanded != null ? ariaExpanded : accessibilityExpanded;\n if (_ariaExpanded != null) {\n domProps['aria-expanded'] = _ariaExpanded;\n }\n\n /*\n if (accessibilityFlowTo != null) {\n warnOnce(\n 'accessibilityFlowTo',\n `accessibilityFlowTo is deprecated. Use aria-flowto.`\n );\n }\n */\n var _ariaFlowTo = ariaFlowTo != null ? ariaFlowTo : accessibilityFlowTo;\n if (_ariaFlowTo != null) {\n domProps['aria-flowto'] = processIDRefList(_ariaFlowTo);\n }\n\n /*\n if (accessibilityHasPopup != null) {\n warnOnce(\n 'accessibilityHasPopup',\n `accessibilityHasPopup is deprecated. Use aria-haspopup.`\n );\n }\n */\n var _ariaHasPopup = ariaHasPopup != null ? ariaHasPopup : accessibilityHasPopup;\n if (_ariaHasPopup != null) {\n domProps['aria-haspopup'] = _ariaHasPopup;\n }\n\n /*\n if (accessibilityHidden != null) {\n warnOnce(\n 'accessibilityHidden',\n `accessibilityHidden is deprecated. Use aria-hidden.`\n );\n }\n */\n var _ariaHidden = ariaHidden != null ? ariaHidden : accessibilityHidden;\n if (_ariaHidden === true) {\n domProps['aria-hidden'] = _ariaHidden;\n }\n\n /*\n if (accessibilityInvalid != null) {\n warnOnce(\n 'accessibilityInvalid',\n `accessibilityInvalid is deprecated. Use aria-invalid.`\n );\n }\n */\n var _ariaInvalid = ariaInvalid != null ? ariaInvalid : accessibilityInvalid;\n if (_ariaInvalid != null) {\n domProps['aria-invalid'] = _ariaInvalid;\n }\n\n /*\n if (accessibilityKeyShortcuts != null) {\n warnOnce(\n 'accessibilityKeyShortcuts',\n `accessibilityKeyShortcuts is deprecated. Use aria-keyshortcuts.`\n );\n }\n */\n var _ariaKeyShortcuts = ariaKeyShortcuts != null ? ariaKeyShortcuts : accessibilityKeyShortcuts;\n if (_ariaKeyShortcuts != null) {\n domProps['aria-keyshortcuts'] = processIDRefList(_ariaKeyShortcuts);\n }\n\n /*\n if (accessibilityLabel != null) {\n warnOnce(\n 'accessibilityLabel',\n `accessibilityLabel is deprecated. Use aria-label.`\n );\n }\n */\n var _ariaLabel = ariaLabel != null ? ariaLabel : accessibilityLabel;\n if (_ariaLabel != null) {\n domProps['aria-label'] = _ariaLabel;\n }\n\n /*\n if (accessibilityLabelledBy != null) {\n warnOnce(\n 'accessibilityLabelledBy',\n `accessibilityLabelledBy is deprecated. Use aria-labelledby.`\n );\n }\n */\n var _ariaLabelledBy = ariaLabelledBy != null ? ariaLabelledBy : accessibilityLabelledBy;\n if (_ariaLabelledBy != null) {\n domProps['aria-labelledby'] = processIDRefList(_ariaLabelledBy);\n }\n\n /*\n if (accessibilityLevel != null) {\n warnOnce(\n 'accessibilityLevel',\n `accessibilityLevel is deprecated. Use aria-level.`\n );\n }\n */\n var _ariaLevel = ariaLevel != null ? ariaLevel : accessibilityLevel;\n if (_ariaLevel != null) {\n domProps['aria-level'] = _ariaLevel;\n }\n\n /*\n if (accessibilityLiveRegion != null) {\n warnOnce(\n 'accessibilityLiveRegion',\n `accessibilityLiveRegion is deprecated. Use aria-live.`\n );\n }\n */\n var _ariaLive = ariaLive != null ? ariaLive : accessibilityLiveRegion;\n if (_ariaLive != null) {\n domProps['aria-live'] = _ariaLive === 'none' ? 'off' : _ariaLive;\n }\n\n /*\n if (accessibilityModal != null) {\n warnOnce(\n 'accessibilityModal',\n `accessibilityModal is deprecated. Use aria-modal.`\n );\n }\n */\n var _ariaModal = ariaModal != null ? ariaModal : accessibilityModal;\n if (_ariaModal != null) {\n domProps['aria-modal'] = _ariaModal;\n }\n\n /*\n if (accessibilityMultiline != null) {\n warnOnce(\n 'accessibilityMultiline',\n `accessibilityMultiline is deprecated. Use aria-multiline.`\n );\n }\n */\n var _ariaMultiline = ariaMultiline != null ? ariaMultiline : accessibilityMultiline;\n if (_ariaMultiline != null) {\n domProps['aria-multiline'] = _ariaMultiline;\n }\n\n /*\n if (accessibilityMultiSelectable != null) {\n warnOnce(\n 'accessibilityMultiSelectable',\n `accessibilityMultiSelectable is deprecated. Use aria-multiselectable.`\n );\n }\n */\n var _ariaMultiSelectable = ariaMultiSelectable != null ? ariaMultiSelectable : accessibilityMultiSelectable;\n if (_ariaMultiSelectable != null) {\n domProps['aria-multiselectable'] = _ariaMultiSelectable;\n }\n\n /*\n if (accessibilityOrientation != null) {\n warnOnce(\n 'accessibilityOrientation',\n `accessibilityOrientation is deprecated. Use aria-orientation.`\n );\n }\n */\n var _ariaOrientation = ariaOrientation != null ? ariaOrientation : accessibilityOrientation;\n if (_ariaOrientation != null) {\n domProps['aria-orientation'] = _ariaOrientation;\n }\n\n /*\n if (accessibilityOwns != null) {\n warnOnce(\n 'accessibilityOwns',\n `accessibilityOwns is deprecated. Use aria-owns.`\n );\n }\n */\n var _ariaOwns = ariaOwns != null ? ariaOwns : accessibilityOwns;\n if (_ariaOwns != null) {\n domProps['aria-owns'] = processIDRefList(_ariaOwns);\n }\n\n /*\n if (accessibilityPlaceholder != null) {\n warnOnce(\n 'accessibilityPlaceholder',\n `accessibilityPlaceholder is deprecated. Use aria-placeholder.`\n );\n }\n */\n var _ariaPlaceholder = ariaPlaceholder != null ? ariaPlaceholder : accessibilityPlaceholder;\n if (_ariaPlaceholder != null) {\n domProps['aria-placeholder'] = _ariaPlaceholder;\n }\n\n /*\n if (accessibilityPosInSet != null) {\n warnOnce(\n 'accessibilityPosInSet',\n `accessibilityPosInSet is deprecated. Use aria-posinset.`\n );\n }\n */\n var _ariaPosInSet = ariaPosInSet != null ? ariaPosInSet : accessibilityPosInSet;\n if (_ariaPosInSet != null) {\n domProps['aria-posinset'] = _ariaPosInSet;\n }\n\n /*\n if (accessibilityPressed != null) {\n warnOnce(\n 'accessibilityPressed',\n `accessibilityPressed is deprecated. Use aria-pressed.`\n );\n }\n */\n var _ariaPressed = ariaPressed != null ? ariaPressed : accessibilityPressed;\n if (_ariaPressed != null) {\n domProps['aria-pressed'] = _ariaPressed;\n }\n\n /*\n if (accessibilityReadOnly != null) {\n warnOnce(\n 'accessibilityReadOnly',\n `accessibilityReadOnly is deprecated. Use aria-readonly.`\n );\n }\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\n /*\n if (accessibilityRequired != null) {\n warnOnce(\n 'accessibilityRequired',\n `accessibilityRequired is deprecated. Use aria-required.`\n );\n }\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\n /*\n if (accessibilityRole != null) {\n warnOnce('accessibilityRole', `accessibilityRole is deprecated. Use role.`);\n }\n */\n if (role != null) {\n // 'presentation' synonym has wider browser support\n domProps['role'] = role === 'none' ? 'presentation' : role;\n }\n\n /*\n if (accessibilityRoleDescription != null) {\n warnOnce(\n 'accessibilityRoleDescription',\n `accessibilityRoleDescription is deprecated. Use aria-roledescription.`\n );\n }\n */\n var _ariaRoleDescription = ariaRoleDescription != null ? ariaRoleDescription : accessibilityRoleDescription;\n if (_ariaRoleDescription != null) {\n domProps['aria-roledescription'] = _ariaRoleDescription;\n }\n\n /*\n if (accessibilityRowCount != null) {\n warnOnce(\n 'accessibilityRowCount',\n `accessibilityRowCount is deprecated. Use aria-rowcount.`\n );\n }\n */\n var _ariaRowCount = ariaRowCount != null ? ariaRowCount : accessibilityRowCount;\n if (_ariaRowCount != null) {\n domProps['aria-rowcount'] = _ariaRowCount;\n }\n\n /*\n if (accessibilityRowIndex != null) {\n warnOnce(\n 'accessibilityRowIndex',\n `accessibilityRowIndex is deprecated. Use aria-rowindex.`\n );\n }\n */\n var _ariaRowIndex = ariaRowIndex != null ? ariaRowIndex : accessibilityRowIndex;\n if (_ariaRowIndex != null) {\n domProps['aria-rowindex'] = _ariaRowIndex;\n }\n\n /*\n if (accessibilityRowSpan != null) {\n warnOnce(\n 'accessibilityRowSpan',\n `accessibilityRowSpan is deprecated. Use aria-rowspan.`\n );\n }\n */\n var _ariaRowSpan = ariaRowSpan != null ? ariaRowSpan : accessibilityRowSpan;\n if (_ariaRowSpan != null) {\n domProps['aria-rowspan'] = _ariaRowSpan;\n }\n\n /*\n if (accessibilitySelected != null) {\n warnOnce(\n 'accessibilitySelected',\n `accessibilitySelected is deprecated. Use aria-selected.`\n );\n }\n */\n var _ariaSelected = ariaSelected != null ? ariaSelected : accessibilitySelected;\n if (_ariaSelected != null) {\n domProps['aria-selected'] = _ariaSelected;\n }\n\n /*\n if (accessibilitySetSize != null) {\n warnOnce(\n 'accessibilitySetSize',\n `accessibilitySetSize is deprecated. Use aria-setsize.`\n );\n }\n */\n var _ariaSetSize = ariaSetSize != null ? ariaSetSize : accessibilitySetSize;\n if (_ariaSetSize != null) {\n domProps['aria-setsize'] = _ariaSetSize;\n }\n\n /*\n if (accessibilitySort != null) {\n warnOnce(\n 'accessibilitySort',\n `accessibilitySort is deprecated. Use aria-sort.`\n );\n }\n */\n var _ariaSort = ariaSort != null ? ariaSort : accessibilitySort;\n if (_ariaSort != null) {\n domProps['aria-sort'] = _ariaSort;\n }\n\n /*\n if (accessibilityValueMax != null) {\n warnOnce(\n 'accessibilityValueMax',\n `accessibilityValueMax is deprecated. Use aria-valuemax.`\n );\n }\n */\n var _ariaValueMax = ariaValueMax != null ? ariaValueMax : accessibilityValueMax;\n if (_ariaValueMax != null) {\n domProps['aria-valuemax'] = _ariaValueMax;\n }\n\n /*\n if (accessibilityValueMin != null) {\n warnOnce(\n 'accessibilityValueMin',\n `accessibilityValueMin is deprecated. Use aria-valuemin.`\n );\n }\n */\n var _ariaValueMin = ariaValueMin != null ? ariaValueMin : accessibilityValueMin;\n if (_ariaValueMin != null) {\n domProps['aria-valuemin'] = _ariaValueMin;\n }\n\n /*\n if (accessibilityValueNow != null) {\n warnOnce(\n 'accessibilityValueNow',\n `accessibilityValueNow is deprecated. Use aria-valuenow.`\n );\n }\n */\n var _ariaValueNow = ariaValueNow != null ? ariaValueNow : accessibilityValueNow;\n if (_ariaValueNow != null) {\n domProps['aria-valuenow'] = _ariaValueNow;\n }\n\n /*\n if (accessibilityValueText != null) {\n warnOnce(\n 'accessibilityValueText',\n `accessibilityValueText is deprecated. Use aria-valuetext.`\n );\n }\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 /*\n if (focusable != null) {\n warnOnce('focusable', `focusable is deprecated.`);\n }\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 /*\n if (nativeID != null) {\n warnOnce('nativeID', `nativeID is deprecated. Use id.`);\n }\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\n'use client';\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 { 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 * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source 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 client';\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 *\n * This source 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\n'use client';\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) 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 */\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});","/**\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\n'use client';\n\nimport _objectSpread from \"@babel/runtime/helpers/objectSpread2\";\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\n'use client';\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\n'use client';\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}\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 * \n */\n\nimport NativeEventEmitter from '../../vendor/react-native/EventEmitter/NativeEventEmitter';\nexport default NativeEventEmitter;","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This 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 currentCentroidYOfTouchesChangedAfter: function currentCentroidYOfTouchesChangedAfter(touchHistory, touchesChangedAfter) {\n return TouchHistoryMath.centroidDimension(touchHistory, touchesChangedAfter, false,\n // isXAxis\n true // ofCurrent\n );\n },\n previousCentroidXOfTouchesChangedAfter: function previousCentroidXOfTouchesChangedAfter(touchHistory, touchesChangedAfter) {\n return TouchHistoryMath.centroidDimension(touchHistory, touchesChangedAfter, true,\n // isXAxis\n false // ofCurrent\n );\n },\n previousCentroidYOfTouchesChangedAfter: function previousCentroidYOfTouchesChangedAfter(touchHistory, touchesChangedAfter) {\n return TouchHistoryMath.centroidDimension(touchHistory, touchesChangedAfter, false,\n // isXAxis\n false // ofCurrent\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 currentCentroidY: function currentCentroidY(touchHistory) {\n return TouchHistoryMath.centroidDimension(touchHistory, 0,\n // touchesChangedAfter\n false,\n // isXAxis\n true // ofCurrent\n );\n },\n noCentroid: -1\n};\nexport default TouchHistoryMath;","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * \n * @format\n */\n\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\n'use client';\n\nimport _extends from \"@babel/runtime/helpers/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/objectWithoutPropertiesLoose\";\nvar _excluded = [\"animating\", \"color\", \"hidesWhenStopped\", \"size\", \"style\"];\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 client';\n\nimport _extends from \"@babel/runtime/helpers/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/objectWithoutPropertiesLoose\";\nvar _excluded = [\"activeOpacity\", \"delayPressIn\", \"delayPressOut\", \"delayLongPress\", \"disabled\", \"focusable\", \"onLongPress\", \"onPress\", \"onPressIn\", \"onPressOut\", \"rejectResponderTermination\", \"style\"];\nimport * as React from 'react';\nimport { useCallback, useMemo, useState, useRef } from 'react';\nimport useMergeRefs from '../../modules/useMergeRefs';\nimport usePressEvents from '../../modules/usePressEvents';\nimport StyleSheet from '../StyleSheet';\nimport View from '../View';\n//import { warnOnce } from '../../modules/warnOnce';\n\n/**\n * A wrapper for making views respond properly to touches.\n * On press down, the opacity of the wrapped view is decreased, dimming it.\n */\nfunction TouchableOpacity(props, forwardedRef) {\n /*\n warnOnce(\n 'TouchableOpacity',\n 'TouchableOpacity is deprecated. Please use Pressable.'\n );\n */\n\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) 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';\n//import { warnOnce } from '../../modules/warnOnce';\n\nvar Button = /*#__PURE__*/React.forwardRef((props, forwardedRef) => {\n // warnOnce('Button', 'Button is deprecated. Please use Pressable.');\n\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;","/**\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\n'use client';\n\nimport _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\"];\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;","/**\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\n'use client';\n\nimport _extends from \"@babel/runtime/helpers/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/objectWithoutPropertiesLoose\";\nvar _excluded = [\"behavior\", \"contentContainerStyle\", \"keyboardVerticalOffset\"];\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;","/**\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});","/**\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\n'use client';\n\nimport _extends from \"@babel/runtime/helpers/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/objectWithoutPropertiesLoose\";\nvar _excluded = [\"animationType\", \"children\", \"onDismiss\", \"onRequestClose\", \"onShow\", \"transparent\", \"visible\"];\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) 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\n'use client';\n\nimport _objectSpread from \"@babel/runtime/helpers/objectSpread2\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/objectWithoutPropertiesLoose\";\nvar _excluded = [\"children\", \"enabled\", \"onValueChange\", \"selectedValue\", \"style\", \"testID\", \"itemStyle\", \"mode\", \"prompt\"];\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}","/**\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'use client';\n\nimport _extends from \"@babel/runtime/helpers/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/objectWithoutPropertiesLoose\";\nvar _excluded = [\"color\", \"indeterminate\", \"progress\", \"trackColor\", \"style\"];\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;","/**\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 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;","/**\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'use client';\n\nimport _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\"];\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;","/* 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 * @format\n */\n\n'use client';\n\nimport _extends from \"@babel/runtime/helpers/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/objectWithoutPropertiesLoose\";\nvar _excluded = [\"activeOpacity\", \"children\", \"delayPressIn\", \"delayPressOut\", \"delayLongPress\", \"disabled\", \"focusable\", \"onHideUnderlay\", \"onLongPress\", \"onPress\", \"onPressIn\", \"onPressOut\", \"onShowUnderlay\", \"rejectResponderTermination\", \"style\", \"testOnly_pressed\", \"underlayColor\"];\nimport * as React from 'react';\nimport { useCallback, useMemo, useState, useRef } from 'react';\nimport useMergeRefs from '../../modules/useMergeRefs';\nimport usePressEvents from '../../modules/usePressEvents';\nimport StyleSheet from '../StyleSheet';\nimport View from '../View';\n//import { warnOnce } from '../../modules/warnOnce';\n\nfunction createExtraStyles(activeOpacity, underlayColor) {\n return {\n child: {\n opacity: activeOpacity !== null && activeOpacity !== void 0 ? activeOpacity : 0.85\n },\n underlay: {\n backgroundColor: underlayColor === undefined ? 'black' : underlayColor\n }\n };\n}\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 /*\n warnOnce(\n 'TouchableHighlight',\n 'TouchableHighlight is deprecated. Please use Pressable.'\n );\n */\n\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;","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 */\n\nimport View from '../../exports/View';\nimport React from 'react';\n\n/**\n * Common implementation for a simple stubbed view.\n */\nfunction UnimplementedView(_ref) {\n var style = _ref.style,\n props = _objectWithoutPropertiesLoose(_ref, _excluded);\n return /*#__PURE__*/React.createElement(View, _extends({}, props, {\n style: [unimplementedViewStyles, style]\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 * @format\n */\n\n'use client';\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) Meta Platforms, Inc. and affiliates.\n *\n * This source 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 client';\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;","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\n'use client';\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\n'use client';\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 isDisabled = props => props.disabled || Array.isArray(props.accessibilityStates) && props.accessibilityStates.indexOf('disabled') > -1;\nexport default isDisabled;","/**\n * Copyright (c) Nicolas Gallagher.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * \n */\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 * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source 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]);\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 try {\n // $FlowFixMe\n var script = new Intl.Locale(locale).maximize().script;\n isRTL = rtlScripts.has(script);\n } catch (_unused) {\n // RangeError: Incorrect locale information provided\n // Fallback to inferring from language\n var lang = locale.split('-')[0];\n isRTL = rtlLangs.has(lang);\n }\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\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 */\n\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}","/**\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 2 ? arguments[2] : {};\n\tvar props = keys(map);\n\tif (hasSymbols) {\n\t\tprops = concat.call(props, Object.getOwnPropertySymbols(map));\n\t}\n\tfor (var i = 0; i < props.length; i += 1) {\n\t\tdefineProperty(object, props[i], map[props[i]], predicates[props[i]]);\n\t}\n};\n\ndefineProperties.supportsDescriptors = !!supportsDescriptors;\n\nmodule.exports = defineProperties;\n","'use strict';\n\nvar $defineProperty = require('es-define-property');\n\nvar hasPropertyDescriptors = function hasPropertyDescriptors() {\n\treturn !!$defineProperty;\n};\n\nhasPropertyDescriptors.hasArrayLengthDefineBug = function hasArrayLengthDefineBug() {\n\t// node v0.6 has a bug where array lengths can be Set but not Defined\n\tif (!$defineProperty) {\n\t\treturn null;\n\t}\n\ttry {\n\t\treturn $defineProperty([], 'length', { value: 1 }).length !== 1;\n\t} catch (e) {\n\t\t// In Firefox 4-22, defining length on an array throws an exception.\n\t\treturn true;\n\t}\n};\n\nmodule.exports = hasPropertyDescriptors;\n","'use strict';\n\nvar GetIntrinsic = require('get-intrinsic');\n\nvar $defineProperty = GetIntrinsic('%Object.defineProperty%', true);\n\nvar hasPropertyDescriptors = function hasPropertyDescriptors() {\n\tif ($defineProperty) {\n\t\ttry {\n\t\t\t$defineProperty({}, 'a', { value: 1 });\n\t\t\treturn true;\n\t\t} catch (e) {\n\t\t\t// IE 8 has a broken defineProperty\n\t\t\treturn false;\n\t\t}\n\t}\n\treturn false;\n};\n\nhasPropertyDescriptors.hasArrayLengthDefineBug = function hasArrayLengthDefineBug() {\n\t// node v0.6 has a bug where array lengths can be Set but not Defined\n\tif (!hasPropertyDescriptors()) {\n\t\treturn null;\n\t}\n\ttry {\n\t\treturn $defineProperty([], 'length', { value: 1 }).length !== 1;\n\t} catch (e) {\n\t\t// In Firefox 4-22, defining length on an array throws an exception.\n\t\treturn true;\n\t}\n};\n\nmodule.exports = hasPropertyDescriptors;\n","'use strict';\n\nvar undefined;\n\nvar $SyntaxError = SyntaxError;\nvar $Function = Function;\nvar $TypeError = TypeError;\n\n// eslint-disable-next-line consistent-return\nvar getEvalledConstructor = function (expressionSyntax) {\n\ttry {\n\t\treturn $Function('\"use strict\"; return (' + expressionSyntax + ').constructor;')();\n\t} catch (e) {}\n};\n\nvar $gOPD = Object.getOwnPropertyDescriptor;\nif ($gOPD) {\n\ttry {\n\t\t$gOPD({}, '');\n\t} catch (e) {\n\t\t$gOPD = null; // this is IE 8, which has a broken gOPD\n\t}\n}\n\nvar throwTypeError = function () {\n\tthrow new $TypeError();\n};\nvar ThrowTypeError = $gOPD\n\t? (function () {\n\t\ttry {\n\t\t\t// eslint-disable-next-line no-unused-expressions, no-caller, no-restricted-properties\n\t\t\targuments.callee; // IE 8 does not throw here\n\t\t\treturn throwTypeError;\n\t\t} catch (calleeThrows) {\n\t\t\ttry {\n\t\t\t\t// IE 8 throws on Object.getOwnPropertyDescriptor(arguments, '')\n\t\t\t\treturn $gOPD(arguments, 'callee').get;\n\t\t\t} catch (gOPDthrows) {\n\t\t\t\treturn throwTypeError;\n\t\t\t}\n\t\t}\n\t}())\n\t: throwTypeError;\n\nvar hasSymbols = require('has-symbols')();\n\nvar getProto = Object.getPrototypeOf || function (x) { return x.__proto__; }; // eslint-disable-line no-proto\n\nvar needsEval = {};\n\nvar TypedArray = typeof Uint8Array === 'undefined' ? undefined : getProto(Uint8Array);\n\nvar INTRINSICS = {\n\t'%AggregateError%': typeof AggregateError === 'undefined' ? undefined : AggregateError,\n\t'%Array%': Array,\n\t'%ArrayBuffer%': typeof ArrayBuffer === 'undefined' ? undefined : ArrayBuffer,\n\t'%ArrayIteratorPrototype%': hasSymbols ? getProto([][Symbol.iterator]()) : undefined,\n\t'%AsyncFromSyncIteratorPrototype%': undefined,\n\t'%AsyncFunction%': needsEval,\n\t'%AsyncGenerator%': needsEval,\n\t'%AsyncGeneratorFunction%': needsEval,\n\t'%AsyncIteratorPrototype%': needsEval,\n\t'%Atomics%': typeof Atomics === 'undefined' ? undefined : Atomics,\n\t'%BigInt%': typeof BigInt === 'undefined' ? undefined : BigInt,\n\t'%Boolean%': Boolean,\n\t'%DataView%': typeof DataView === 'undefined' ? undefined : DataView,\n\t'%Date%': Date,\n\t'%decodeURI%': decodeURI,\n\t'%decodeURIComponent%': decodeURIComponent,\n\t'%encodeURI%': encodeURI,\n\t'%encodeURIComponent%': encodeURIComponent,\n\t'%Error%': Error,\n\t'%eval%': eval, // eslint-disable-line no-eval\n\t'%EvalError%': EvalError,\n\t'%Float32Array%': typeof Float32Array === 'undefined' ? undefined : Float32Array,\n\t'%Float64Array%': typeof Float64Array === 'undefined' ? undefined : Float64Array,\n\t'%FinalizationRegistry%': typeof FinalizationRegistry === 'undefined' ? undefined : FinalizationRegistry,\n\t'%Function%': $Function,\n\t'%GeneratorFunction%': needsEval,\n\t'%Int8Array%': typeof Int8Array === 'undefined' ? undefined : Int8Array,\n\t'%Int16Array%': typeof Int16Array === 'undefined' ? undefined : Int16Array,\n\t'%Int32Array%': typeof Int32Array === 'undefined' ? undefined : Int32Array,\n\t'%isFinite%': isFinite,\n\t'%isNaN%': isNaN,\n\t'%IteratorPrototype%': hasSymbols ? getProto(getProto([][Symbol.iterator]())) : undefined,\n\t'%JSON%': typeof JSON === 'object' ? JSON : undefined,\n\t'%Map%': typeof Map === 'undefined' ? undefined : Map,\n\t'%MapIteratorPrototype%': typeof Map === 'undefined' || !hasSymbols ? undefined : getProto(new Map()[Symbol.iterator]()),\n\t'%Math%': Math,\n\t'%Number%': Number,\n\t'%Object%': Object,\n\t'%parseFloat%': parseFloat,\n\t'%parseInt%': parseInt,\n\t'%Promise%': typeof Promise === 'undefined' ? undefined : Promise,\n\t'%Proxy%': typeof Proxy === 'undefined' ? undefined : Proxy,\n\t'%RangeError%': RangeError,\n\t'%ReferenceError%': ReferenceError,\n\t'%Reflect%': typeof Reflect === 'undefined' ? undefined : Reflect,\n\t'%RegExp%': RegExp,\n\t'%Set%': typeof Set === 'undefined' ? undefined : Set,\n\t'%SetIteratorPrototype%': typeof Set === 'undefined' || !hasSymbols ? undefined : getProto(new Set()[Symbol.iterator]()),\n\t'%SharedArrayBuffer%': typeof SharedArrayBuffer === 'undefined' ? undefined : SharedArrayBuffer,\n\t'%String%': String,\n\t'%StringIteratorPrototype%': hasSymbols ? getProto(''[Symbol.iterator]()) : undefined,\n\t'%Symbol%': hasSymbols ? Symbol : undefined,\n\t'%SyntaxError%': $SyntaxError,\n\t'%ThrowTypeError%': ThrowTypeError,\n\t'%TypedArray%': TypedArray,\n\t'%TypeError%': $TypeError,\n\t'%Uint8Array%': typeof Uint8Array === 'undefined' ? undefined : Uint8Array,\n\t'%Uint8ClampedArray%': typeof Uint8ClampedArray === 'undefined' ? undefined : Uint8ClampedArray,\n\t'%Uint16Array%': typeof Uint16Array === 'undefined' ? undefined : Uint16Array,\n\t'%Uint32Array%': typeof Uint32Array === 'undefined' ? undefined : Uint32Array,\n\t'%URIError%': URIError,\n\t'%WeakMap%': typeof WeakMap === 'undefined' ? undefined : WeakMap,\n\t'%WeakRef%': typeof WeakRef === 'undefined' ? undefined : WeakRef,\n\t'%WeakSet%': typeof WeakSet === 'undefined' ? undefined : WeakSet\n};\n\nvar doEval = function doEval(name) {\n\tvar value;\n\tif (name === '%AsyncFunction%') {\n\t\tvalue = getEvalledConstructor('async function () {}');\n\t} else if (name === '%GeneratorFunction%') {\n\t\tvalue = getEvalledConstructor('function* () {}');\n\t} else if (name === '%AsyncGeneratorFunction%') {\n\t\tvalue = getEvalledConstructor('async function* () {}');\n\t} else if (name === '%AsyncGenerator%') {\n\t\tvar fn = doEval('%AsyncGeneratorFunction%');\n\t\tif (fn) {\n\t\t\tvalue = fn.prototype;\n\t\t}\n\t} else if (name === '%AsyncIteratorPrototype%') {\n\t\tvar gen = doEval('%AsyncGenerator%');\n\t\tif (gen) {\n\t\t\tvalue = getProto(gen.prototype);\n\t\t}\n\t}\n\n\tINTRINSICS[name] = value;\n\n\treturn value;\n};\n\nvar LEGACY_ALIASES = {\n\t'%ArrayBufferPrototype%': ['ArrayBuffer', 'prototype'],\n\t'%ArrayPrototype%': ['Array', 'prototype'],\n\t'%ArrayProto_entries%': ['Array', 'prototype', 'entries'],\n\t'%ArrayProto_forEach%': ['Array', 'prototype', 'forEach'],\n\t'%ArrayProto_keys%': ['Array', 'prototype', 'keys'],\n\t'%ArrayProto_values%': ['Array', 'prototype', 'values'],\n\t'%AsyncFunctionPrototype%': ['AsyncFunction', 'prototype'],\n\t'%AsyncGenerator%': ['AsyncGeneratorFunction', 'prototype'],\n\t'%AsyncGeneratorPrototype%': ['AsyncGeneratorFunction', 'prototype', 'prototype'],\n\t'%BooleanPrototype%': ['Boolean', 'prototype'],\n\t'%DataViewPrototype%': ['DataView', 'prototype'],\n\t'%DatePrototype%': ['Date', 'prototype'],\n\t'%ErrorPrototype%': ['Error', 'prototype'],\n\t'%EvalErrorPrototype%': ['EvalError', 'prototype'],\n\t'%Float32ArrayPrototype%': ['Float32Array', 'prototype'],\n\t'%Float64ArrayPrototype%': ['Float64Array', 'prototype'],\n\t'%FunctionPrototype%': ['Function', 'prototype'],\n\t'%Generator%': ['GeneratorFunction', 'prototype'],\n\t'%GeneratorPrototype%': ['GeneratorFunction', 'prototype', 'prototype'],\n\t'%Int8ArrayPrototype%': ['Int8Array', 'prototype'],\n\t'%Int16ArrayPrototype%': ['Int16Array', 'prototype'],\n\t'%Int32ArrayPrototype%': ['Int32Array', 'prototype'],\n\t'%JSONParse%': ['JSON', 'parse'],\n\t'%JSONStringify%': ['JSON', 'stringify'],\n\t'%MapPrototype%': ['Map', 'prototype'],\n\t'%NumberPrototype%': ['Number', 'prototype'],\n\t'%ObjectPrototype%': ['Object', 'prototype'],\n\t'%ObjProto_toString%': ['Object', 'prototype', 'toString'],\n\t'%ObjProto_valueOf%': ['Object', 'prototype', 'valueOf'],\n\t'%PromisePrototype%': ['Promise', 'prototype'],\n\t'%PromiseProto_then%': ['Promise', 'prototype', 'then'],\n\t'%Promise_all%': ['Promise', 'all'],\n\t'%Promise_reject%': ['Promise', 'reject'],\n\t'%Promise_resolve%': ['Promise', 'resolve'],\n\t'%RangeErrorPrototype%': ['RangeError', 'prototype'],\n\t'%ReferenceErrorPrototype%': ['ReferenceError', 'prototype'],\n\t'%RegExpPrototype%': ['RegExp', 'prototype'],\n\t'%SetPrototype%': ['Set', 'prototype'],\n\t'%SharedArrayBufferPrototype%': ['SharedArrayBuffer', 'prototype'],\n\t'%StringPrototype%': ['String', 'prototype'],\n\t'%SymbolPrototype%': ['Symbol', 'prototype'],\n\t'%SyntaxErrorPrototype%': ['SyntaxError', 'prototype'],\n\t'%TypedArrayPrototype%': ['TypedArray', 'prototype'],\n\t'%TypeErrorPrototype%': ['TypeError', 'prototype'],\n\t'%Uint8ArrayPrototype%': ['Uint8Array', 'prototype'],\n\t'%Uint8ClampedArrayPrototype%': ['Uint8ClampedArray', 'prototype'],\n\t'%Uint16ArrayPrototype%': ['Uint16Array', 'prototype'],\n\t'%Uint32ArrayPrototype%': ['Uint32Array', 'prototype'],\n\t'%URIErrorPrototype%': ['URIError', 'prototype'],\n\t'%WeakMapPrototype%': ['WeakMap', 'prototype'],\n\t'%WeakSetPrototype%': ['WeakSet', 'prototype']\n};\n\nvar bind = require('function-bind');\nvar hasOwn = require('has');\nvar $concat = bind.call(Function.call, Array.prototype.concat);\nvar $spliceApply = bind.call(Function.apply, Array.prototype.splice);\nvar $replace = bind.call(Function.call, String.prototype.replace);\nvar $strSlice = bind.call(Function.call, String.prototype.slice);\nvar $exec = bind.call(Function.call, RegExp.prototype.exec);\n\n/* adapted from https://github.com/lodash/lodash/blob/4.17.15/dist/lodash.js#L6735-L6744 */\nvar rePropName = /[^%.[\\]]+|\\[(?:(-?\\d+(?:\\.\\d+)?)|([\"'])((?:(?!\\2)[^\\\\]|\\\\.)*?)\\2)\\]|(?=(?:\\.|\\[\\])(?:\\.|\\[\\]|%$))/g;\nvar reEscapeChar = /\\\\(\\\\)?/g; /** Used to match backslashes in property paths. */\nvar stringToPath = function stringToPath(string) {\n\tvar first = $strSlice(string, 0, 1);\n\tvar last = $strSlice(string, -1);\n\tif (first === '%' && last !== '%') {\n\t\tthrow new $SyntaxError('invalid intrinsic syntax, expected closing `%`');\n\t} else if (last === '%' && first !== '%') {\n\t\tthrow new $SyntaxError('invalid intrinsic syntax, expected opening `%`');\n\t}\n\tvar result = [];\n\t$replace(string, rePropName, function (match, number, quote, subString) {\n\t\tresult[result.length] = quote ? $replace(subString, reEscapeChar, '$1') : number || match;\n\t});\n\treturn result;\n};\n/* end adaptation */\n\nvar getBaseIntrinsic = function getBaseIntrinsic(name, allowMissing) {\n\tvar intrinsicName = name;\n\tvar alias;\n\tif (hasOwn(LEGACY_ALIASES, intrinsicName)) {\n\t\talias = LEGACY_ALIASES[intrinsicName];\n\t\tintrinsicName = '%' + alias[0] + '%';\n\t}\n\n\tif (hasOwn(INTRINSICS, intrinsicName)) {\n\t\tvar value = INTRINSICS[intrinsicName];\n\t\tif (value === needsEval) {\n\t\t\tvalue = doEval(intrinsicName);\n\t\t}\n\t\tif (typeof value === 'undefined' && !allowMissing) {\n\t\t\tthrow new $TypeError('intrinsic ' + name + ' exists, but is not available. Please file an issue!');\n\t\t}\n\n\t\treturn {\n\t\t\talias: alias,\n\t\t\tname: intrinsicName,\n\t\t\tvalue: value\n\t\t};\n\t}\n\n\tthrow new $SyntaxError('intrinsic ' + name + ' does not exist!');\n};\n\nmodule.exports = function GetIntrinsic(name, allowMissing) {\n\tif (typeof name !== 'string' || name.length === 0) {\n\t\tthrow new $TypeError('intrinsic name must be a non-empty string');\n\t}\n\tif (arguments.length > 1 && typeof allowMissing !== 'boolean') {\n\t\tthrow new $TypeError('\"allowMissing\" argument must be a boolean');\n\t}\n\n\tif ($exec(/^%?[^%]*%?$/g, name) === null) {\n\t\tthrow new $SyntaxError('`%` may not be present anywhere but at the beginning and end of the intrinsic name');\n\t}\n\tvar parts = stringToPath(name);\n\tvar intrinsicBaseName = parts.length > 0 ? parts[0] : '';\n\n\tvar intrinsic = getBaseIntrinsic('%' + intrinsicBaseName + '%', allowMissing);\n\tvar intrinsicRealName = intrinsic.name;\n\tvar value = intrinsic.value;\n\tvar skipFurtherCaching = false;\n\n\tvar alias = intrinsic.alias;\n\tif (alias) {\n\t\tintrinsicBaseName = alias[0];\n\t\t$spliceApply(parts, $concat([0, 1], alias));\n\t}\n\n\tfor (var i = 1, isOwn = true; i < parts.length; i += 1) {\n\t\tvar part = parts[i];\n\t\tvar first = $strSlice(part, 0, 1);\n\t\tvar last = $strSlice(part, -1);\n\t\tif (\n\t\t\t(\n\t\t\t\t(first === '\"' || first === \"'\" || first === '`')\n\t\t\t\t|| (last === '\"' || last === \"'\" || last === '`')\n\t\t\t)\n\t\t\t&& first !== last\n\t\t) {\n\t\t\tthrow new $SyntaxError('property names with quotes must have matching quotes');\n\t\t}\n\t\tif (part === 'constructor' || !isOwn) {\n\t\t\tskipFurtherCaching = true;\n\t\t}\n\n\t\tintrinsicBaseName += '.' + part;\n\t\tintrinsicRealName = '%' + intrinsicBaseName + '%';\n\n\t\tif (hasOwn(INTRINSICS, intrinsicRealName)) {\n\t\t\tvalue = INTRINSICS[intrinsicRealName];\n\t\t} else if (value != null) {\n\t\t\tif (!(part in value)) {\n\t\t\t\tif (!allowMissing) {\n\t\t\t\t\tthrow new $TypeError('base intrinsic for ' + name + ' exists, but the property is not available.');\n\t\t\t\t}\n\t\t\t\treturn void undefined;\n\t\t\t}\n\t\t\tif ($gOPD && (i + 1) >= parts.length) {\n\t\t\t\tvar desc = $gOPD(value, part);\n\t\t\t\tisOwn = !!desc;\n\n\t\t\t\t// By convention, when a data property is converted to an accessor\n\t\t\t\t// property to emulate a data property that does not suffer from\n\t\t\t\t// the override mistake, that accessor's getter is marked with\n\t\t\t\t// an `originalValue` property. Here, when we detect this, we\n\t\t\t\t// uphold the illusion by pretending to see that original data\n\t\t\t\t// property, i.e., returning the value rather than the getter\n\t\t\t\t// itself.\n\t\t\t\tif (isOwn && 'get' in desc && !('originalValue' in desc.get)) {\n\t\t\t\t\tvalue = desc.get;\n\t\t\t\t} else {\n\t\t\t\t\tvalue = value[part];\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tisOwn = hasOwn(value, part);\n\t\t\t\tvalue = value[part];\n\t\t\t}\n\n\t\t\tif (isOwn && !skipFurtherCaching) {\n\t\t\t\tINTRINSICS[intrinsicRealName] = value;\n\t\t\t}\n\t\t}\n\t}\n\treturn value;\n};\n","'use strict';\n\nvar implementation = require('./implementation');\n\nmodule.exports = function getPolyfill() {\n\tif (typeof Reflect === 'object' && typeof Reflect.ownKeys === 'function') {\n\t\treturn Reflect.ownKeys;\n\t}\n\treturn implementation;\n};\n","'use strict';\n\nvar CreateMethodProperty = require('es-abstract/2023/CreateMethodProperty');\nvar setToStringTag = require('es-set-tostringtag');\nvar globalThis = require('globalthis')();\n\nvar getPolyfill = require('./polyfill');\n\nmodule.exports = function shimReflectOwnKeys() {\n\tif (typeof Reflect === 'undefined') {\n\t\tvar R = {};\n\t\tsetToStringTag(R, 'Reflect');\n\t\tCreateMethodProperty(globalThis, 'Reflect', R);\n\t}\n\n\tvar polyfill = getPolyfill();\n\tif (polyfill !== Reflect.ownKeys) {\n\t\tCreateMethodProperty(Reflect, 'ownKeys', polyfill);\n\t}\n\treturn polyfill;\n};\n","/**\n * @license React\n * scheduler.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n'use strict';function f(a,b){var c=a.length;a.push(b);a:for(;0>>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","'use strict';\n\nvar GetIntrinsic = require('get-intrinsic');\nvar define = require('define-data-property');\nvar hasDescriptors = require('has-property-descriptors')();\nvar gOPD = require('gopd');\n\nvar $TypeError = require('es-errors/type');\nvar $floor = GetIntrinsic('%Math.floor%');\n\n/** @type {import('.')} */\nmodule.exports = function setFunctionLength(fn, length) {\n\tif (typeof fn !== 'function') {\n\t\tthrow new $TypeError('`fn` is not a function');\n\t}\n\tif (typeof length !== 'number' || length < 0 || length > 0xFFFFFFFF || $floor(length) !== length) {\n\t\tthrow new $TypeError('`length` must be a positive 32-bit integer');\n\t}\n\n\tvar loose = arguments.length > 2 && !!arguments[2];\n\n\tvar functionLengthIsConfigurable = true;\n\tvar functionLengthIsWritable = true;\n\tif ('length' in fn && gOPD) {\n\t\tvar desc = gOPD(fn, 'length');\n\t\tif (desc && !desc.configurable) {\n\t\t\tfunctionLengthIsConfigurable = false;\n\t\t}\n\t\tif (desc && !desc.writable) {\n\t\t\tfunctionLengthIsWritable = false;\n\t\t}\n\t}\n\n\tif (functionLengthIsConfigurable || functionLengthIsWritable || !loose) {\n\t\tif (hasDescriptors) {\n\t\t\tdefine(/** @type {Parameters[0]} */ (fn), 'length', length, true, true);\n\t\t} else {\n\t\t\tdefine(/** @type {Parameters[0]} */ (fn), 'length', length);\n\t\t}\n\t}\n\treturn fn;\n};\n","/*!\n * shallow-clone \n *\n * Copyright (c) 2015-present, Jon Schlinkert.\n * Released under the MIT License.\n */\n\n'use strict';\n\nconst valueOf = Symbol.prototype.valueOf;\nconst typeOf = require('kind-of');\n\nfunction clone(val, deep) {\n switch (typeOf(val)) {\n case 'array':\n return val.slice();\n case 'object':\n return Object.assign({}, val);\n case 'date':\n return new val.constructor(Number(val));\n case 'map':\n return new Map(val);\n case 'set':\n return new Set(val);\n case 'buffer':\n return cloneBuffer(val);\n case 'symbol':\n return cloneSymbol(val);\n case 'arraybuffer':\n return cloneArrayBuffer(val);\n case 'float32array':\n case 'float64array':\n case 'int16array':\n case 'int32array':\n case 'int8array':\n case 'uint16array':\n case 'uint32array':\n case 'uint8clampedarray':\n case 'uint8array':\n return cloneTypedArray(val);\n case 'regexp':\n return cloneRegExp(val);\n case 'error':\n return Object.create(val);\n default: {\n return val;\n }\n }\n}\n\nfunction cloneRegExp(val) {\n const flags = val.flags !== void 0 ? val.flags : (/\\w+$/.exec(val) || void 0);\n const re = new val.constructor(val.source, flags);\n re.lastIndex = val.lastIndex;\n return re;\n}\n\nfunction cloneArrayBuffer(val) {\n const res = new val.constructor(val.byteLength);\n new Uint8Array(res).set(new Uint8Array(val));\n return res;\n}\n\nfunction cloneTypedArray(val, deep) {\n return new val.constructor(val.buffer, val.byteOffset, val.length);\n}\n\nfunction cloneBuffer(val) {\n const len = val.length;\n const buf = Buffer.allocUnsafe ? Buffer.allocUnsafe(len) : Buffer.from(len);\n val.copy(buf);\n return buf;\n}\n\nfunction cloneSymbol(val) {\n return valueOf ? Object(valueOf.call(val)) : {};\n}\n\n/**\n * Expose `clone`\n */\n\nmodule.exports = clone;\n","'use strict';\n\nvar GetIntrinsic = require('get-intrinsic');\nvar callBound = require('call-bind/callBound');\nvar inspect = require('object-inspect');\n\nvar $TypeError = GetIntrinsic('%TypeError%');\nvar $WeakMap = GetIntrinsic('%WeakMap%', true);\nvar $Map = GetIntrinsic('%Map%', true);\n\nvar $weakMapGet = callBound('WeakMap.prototype.get', true);\nvar $weakMapSet = callBound('WeakMap.prototype.set', true);\nvar $weakMapHas = callBound('WeakMap.prototype.has', true);\nvar $mapGet = callBound('Map.prototype.get', true);\nvar $mapSet = callBound('Map.prototype.set', true);\nvar $mapHas = callBound('Map.prototype.has', true);\n\n/*\n * This function traverses the list returning the node corresponding to the\n * given key.\n *\n * That node is also moved to the head of the list, so that if it's accessed\n * again we don't need to traverse the whole list. By doing so, all the recently\n * used nodes can be accessed relatively quickly.\n */\nvar listGetNode = function (list, key) { // eslint-disable-line consistent-return\n\tfor (var prev = list, curr; (curr = prev.next) !== null; prev = curr) {\n\t\tif (curr.key === key) {\n\t\t\tprev.next = curr.next;\n\t\t\tcurr.next = list.next;\n\t\t\tlist.next = curr; // eslint-disable-line no-param-reassign\n\t\t\treturn curr;\n\t\t}\n\t}\n};\n\nvar listGet = function (objects, key) {\n\tvar node = listGetNode(objects, key);\n\treturn node && node.value;\n};\nvar listSet = function (objects, key, value) {\n\tvar node = listGetNode(objects, key);\n\tif (node) {\n\t\tnode.value = value;\n\t} else {\n\t\t// Prepend the new node to the beginning of the list\n\t\tobjects.next = { // eslint-disable-line no-param-reassign\n\t\t\tkey: key,\n\t\t\tnext: objects.next,\n\t\t\tvalue: value\n\t\t};\n\t}\n};\nvar listHas = function (objects, key) {\n\treturn !!listGetNode(objects, key);\n};\n\nmodule.exports = function getSideChannel() {\n\tvar $wm;\n\tvar $m;\n\tvar $o;\n\tvar channel = {\n\t\tassert: function (key) {\n\t\t\tif (!channel.has(key)) {\n\t\t\t\tthrow new $TypeError('Side channel does not contain ' + inspect(key));\n\t\t\t}\n\t\t},\n\t\tget: function (key) { // eslint-disable-line consistent-return\n\t\t\tif ($WeakMap && key && (typeof key === 'object' || typeof key === 'function')) {\n\t\t\t\tif ($wm) {\n\t\t\t\t\treturn $weakMapGet($wm, key);\n\t\t\t\t}\n\t\t\t} else if ($Map) {\n\t\t\t\tif ($m) {\n\t\t\t\t\treturn $mapGet($m, key);\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tif ($o) { // eslint-disable-line no-lonely-if\n\t\t\t\t\treturn listGet($o, key);\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\thas: function (key) {\n\t\t\tif ($WeakMap && key && (typeof key === 'object' || typeof key === 'function')) {\n\t\t\t\tif ($wm) {\n\t\t\t\t\treturn $weakMapHas($wm, key);\n\t\t\t\t}\n\t\t\t} else if ($Map) {\n\t\t\t\tif ($m) {\n\t\t\t\t\treturn $mapHas($m, key);\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tif ($o) { // eslint-disable-line no-lonely-if\n\t\t\t\t\treturn listHas($o, key);\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn false;\n\t\t},\n\t\tset: function (key, value) {\n\t\t\tif ($WeakMap && key && (typeof key === 'object' || typeof key === 'function')) {\n\t\t\t\tif (!$wm) {\n\t\t\t\t\t$wm = new $WeakMap();\n\t\t\t\t}\n\t\t\t\t$weakMapSet($wm, key, value);\n\t\t\t} else if ($Map) {\n\t\t\t\tif (!$m) {\n\t\t\t\t\t$m = new $Map();\n\t\t\t\t}\n\t\t\t\t$mapSet($m, key, value);\n\t\t\t} else {\n\t\t\t\tif (!$o) {\n\t\t\t\t\t/*\n\t\t\t\t\t * Initialize the linked list as an empty node, so that we don't have\n\t\t\t\t\t * to special-case handling of the first node: we can always refer to\n\t\t\t\t\t * it as (previous node).next, instead of something like (list).head\n\t\t\t\t\t */\n\t\t\t\t\t$o = { key: {}, next: null };\n\t\t\t\t}\n\t\t\t\tlistSet($o, key, value);\n\t\t\t}\n\t\t}\n\t};\n\treturn channel;\n};\n","'use strict';\n\nvar undefined;\n\nvar $SyntaxError = SyntaxError;\nvar $Function = Function;\nvar $TypeError = TypeError;\n\n// eslint-disable-next-line consistent-return\nvar getEvalledConstructor = function (expressionSyntax) {\n\ttry {\n\t\treturn $Function('\"use strict\"; return (' + expressionSyntax + ').constructor;')();\n\t} catch (e) {}\n};\n\nvar $gOPD = Object.getOwnPropertyDescriptor;\nif ($gOPD) {\n\ttry {\n\t\t$gOPD({}, '');\n\t} catch (e) {\n\t\t$gOPD = null; // this is IE 8, which has a broken gOPD\n\t}\n}\n\nvar throwTypeError = function () {\n\tthrow new $TypeError();\n};\nvar ThrowTypeError = $gOPD\n\t? (function () {\n\t\ttry {\n\t\t\t// eslint-disable-next-line no-unused-expressions, no-caller, no-restricted-properties\n\t\t\targuments.callee; // IE 8 does not throw here\n\t\t\treturn throwTypeError;\n\t\t} catch (calleeThrows) {\n\t\t\ttry {\n\t\t\t\t// IE 8 throws on Object.getOwnPropertyDescriptor(arguments, '')\n\t\t\t\treturn $gOPD(arguments, 'callee').get;\n\t\t\t} catch (gOPDthrows) {\n\t\t\t\treturn throwTypeError;\n\t\t\t}\n\t\t}\n\t}())\n\t: throwTypeError;\n\nvar hasSymbols = require('has-symbols')();\n\nvar getProto = Object.getPrototypeOf || function (x) { return x.__proto__; }; // eslint-disable-line no-proto\n\nvar needsEval = {};\n\nvar TypedArray = typeof Uint8Array === 'undefined' ? undefined : getProto(Uint8Array);\n\nvar INTRINSICS = {\n\t'%AggregateError%': typeof AggregateError === 'undefined' ? undefined : AggregateError,\n\t'%Array%': Array,\n\t'%ArrayBuffer%': typeof ArrayBuffer === 'undefined' ? undefined : ArrayBuffer,\n\t'%ArrayIteratorPrototype%': hasSymbols ? getProto([][Symbol.iterator]()) : undefined,\n\t'%AsyncFromSyncIteratorPrototype%': undefined,\n\t'%AsyncFunction%': needsEval,\n\t'%AsyncGenerator%': needsEval,\n\t'%AsyncGeneratorFunction%': needsEval,\n\t'%AsyncIteratorPrototype%': needsEval,\n\t'%Atomics%': typeof Atomics === 'undefined' ? undefined : Atomics,\n\t'%BigInt%': typeof BigInt === 'undefined' ? undefined : BigInt,\n\t'%Boolean%': Boolean,\n\t'%DataView%': typeof DataView === 'undefined' ? undefined : DataView,\n\t'%Date%': Date,\n\t'%decodeURI%': decodeURI,\n\t'%decodeURIComponent%': decodeURIComponent,\n\t'%encodeURI%': encodeURI,\n\t'%encodeURIComponent%': encodeURIComponent,\n\t'%Error%': Error,\n\t'%eval%': eval, // eslint-disable-line no-eval\n\t'%EvalError%': EvalError,\n\t'%Float32Array%': typeof Float32Array === 'undefined' ? undefined : Float32Array,\n\t'%Float64Array%': typeof Float64Array === 'undefined' ? undefined : Float64Array,\n\t'%FinalizationRegistry%': typeof FinalizationRegistry === 'undefined' ? undefined : FinalizationRegistry,\n\t'%Function%': $Function,\n\t'%GeneratorFunction%': needsEval,\n\t'%Int8Array%': typeof Int8Array === 'undefined' ? undefined : Int8Array,\n\t'%Int16Array%': typeof Int16Array === 'undefined' ? undefined : Int16Array,\n\t'%Int32Array%': typeof Int32Array === 'undefined' ? undefined : Int32Array,\n\t'%isFinite%': isFinite,\n\t'%isNaN%': isNaN,\n\t'%IteratorPrototype%': hasSymbols ? getProto(getProto([][Symbol.iterator]())) : undefined,\n\t'%JSON%': typeof JSON === 'object' ? JSON : undefined,\n\t'%Map%': typeof Map === 'undefined' ? undefined : Map,\n\t'%MapIteratorPrototype%': typeof Map === 'undefined' || !hasSymbols ? undefined : getProto(new Map()[Symbol.iterator]()),\n\t'%Math%': Math,\n\t'%Number%': Number,\n\t'%Object%': Object,\n\t'%parseFloat%': parseFloat,\n\t'%parseInt%': parseInt,\n\t'%Promise%': typeof Promise === 'undefined' ? undefined : Promise,\n\t'%Proxy%': typeof Proxy === 'undefined' ? undefined : Proxy,\n\t'%RangeError%': RangeError,\n\t'%ReferenceError%': ReferenceError,\n\t'%Reflect%': typeof Reflect === 'undefined' ? undefined : Reflect,\n\t'%RegExp%': RegExp,\n\t'%Set%': typeof Set === 'undefined' ? undefined : Set,\n\t'%SetIteratorPrototype%': typeof Set === 'undefined' || !hasSymbols ? undefined : getProto(new Set()[Symbol.iterator]()),\n\t'%SharedArrayBuffer%': typeof SharedArrayBuffer === 'undefined' ? undefined : SharedArrayBuffer,\n\t'%String%': String,\n\t'%StringIteratorPrototype%': hasSymbols ? getProto(''[Symbol.iterator]()) : undefined,\n\t'%Symbol%': hasSymbols ? Symbol : undefined,\n\t'%SyntaxError%': $SyntaxError,\n\t'%ThrowTypeError%': ThrowTypeError,\n\t'%TypedArray%': TypedArray,\n\t'%TypeError%': $TypeError,\n\t'%Uint8Array%': typeof Uint8Array === 'undefined' ? undefined : Uint8Array,\n\t'%Uint8ClampedArray%': typeof Uint8ClampedArray === 'undefined' ? undefined : Uint8ClampedArray,\n\t'%Uint16Array%': typeof Uint16Array === 'undefined' ? undefined : Uint16Array,\n\t'%Uint32Array%': typeof Uint32Array === 'undefined' ? undefined : Uint32Array,\n\t'%URIError%': URIError,\n\t'%WeakMap%': typeof WeakMap === 'undefined' ? undefined : WeakMap,\n\t'%WeakRef%': typeof WeakRef === 'undefined' ? undefined : WeakRef,\n\t'%WeakSet%': typeof WeakSet === 'undefined' ? undefined : WeakSet\n};\n\nvar doEval = function doEval(name) {\n\tvar value;\n\tif (name === '%AsyncFunction%') {\n\t\tvalue = getEvalledConstructor('async function () {}');\n\t} else if (name === '%GeneratorFunction%') {\n\t\tvalue = getEvalledConstructor('function* () {}');\n\t} else if (name === '%AsyncGeneratorFunction%') {\n\t\tvalue = getEvalledConstructor('async function* () {}');\n\t} else if (name === '%AsyncGenerator%') {\n\t\tvar fn = doEval('%AsyncGeneratorFunction%');\n\t\tif (fn) {\n\t\t\tvalue = fn.prototype;\n\t\t}\n\t} else if (name === '%AsyncIteratorPrototype%') {\n\t\tvar gen = doEval('%AsyncGenerator%');\n\t\tif (gen) {\n\t\t\tvalue = getProto(gen.prototype);\n\t\t}\n\t}\n\n\tINTRINSICS[name] = value;\n\n\treturn value;\n};\n\nvar LEGACY_ALIASES = {\n\t'%ArrayBufferPrototype%': ['ArrayBuffer', 'prototype'],\n\t'%ArrayPrototype%': ['Array', 'prototype'],\n\t'%ArrayProto_entries%': ['Array', 'prototype', 'entries'],\n\t'%ArrayProto_forEach%': ['Array', 'prototype', 'forEach'],\n\t'%ArrayProto_keys%': ['Array', 'prototype', 'keys'],\n\t'%ArrayProto_values%': ['Array', 'prototype', 'values'],\n\t'%AsyncFunctionPrototype%': ['AsyncFunction', 'prototype'],\n\t'%AsyncGenerator%': ['AsyncGeneratorFunction', 'prototype'],\n\t'%AsyncGeneratorPrototype%': ['AsyncGeneratorFunction', 'prototype', 'prototype'],\n\t'%BooleanPrototype%': ['Boolean', 'prototype'],\n\t'%DataViewPrototype%': ['DataView', 'prototype'],\n\t'%DatePrototype%': ['Date', 'prototype'],\n\t'%ErrorPrototype%': ['Error', 'prototype'],\n\t'%EvalErrorPrototype%': ['EvalError', 'prototype'],\n\t'%Float32ArrayPrototype%': ['Float32Array', 'prototype'],\n\t'%Float64ArrayPrototype%': ['Float64Array', 'prototype'],\n\t'%FunctionPrototype%': ['Function', 'prototype'],\n\t'%Generator%': ['GeneratorFunction', 'prototype'],\n\t'%GeneratorPrototype%': ['GeneratorFunction', 'prototype', 'prototype'],\n\t'%Int8ArrayPrototype%': ['Int8Array', 'prototype'],\n\t'%Int16ArrayPrototype%': ['Int16Array', 'prototype'],\n\t'%Int32ArrayPrototype%': ['Int32Array', 'prototype'],\n\t'%JSONParse%': ['JSON', 'parse'],\n\t'%JSONStringify%': ['JSON', 'stringify'],\n\t'%MapPrototype%': ['Map', 'prototype'],\n\t'%NumberPrototype%': ['Number', 'prototype'],\n\t'%ObjectPrototype%': ['Object', 'prototype'],\n\t'%ObjProto_toString%': ['Object', 'prototype', 'toString'],\n\t'%ObjProto_valueOf%': ['Object', 'prototype', 'valueOf'],\n\t'%PromisePrototype%': ['Promise', 'prototype'],\n\t'%PromiseProto_then%': ['Promise', 'prototype', 'then'],\n\t'%Promise_all%': ['Promise', 'all'],\n\t'%Promise_reject%': ['Promise', 'reject'],\n\t'%Promise_resolve%': ['Promise', 'resolve'],\n\t'%RangeErrorPrototype%': ['RangeError', 'prototype'],\n\t'%ReferenceErrorPrototype%': ['ReferenceError', 'prototype'],\n\t'%RegExpPrototype%': ['RegExp', 'prototype'],\n\t'%SetPrototype%': ['Set', 'prototype'],\n\t'%SharedArrayBufferPrototype%': ['SharedArrayBuffer', 'prototype'],\n\t'%StringPrototype%': ['String', 'prototype'],\n\t'%SymbolPrototype%': ['Symbol', 'prototype'],\n\t'%SyntaxErrorPrototype%': ['SyntaxError', 'prototype'],\n\t'%TypedArrayPrototype%': ['TypedArray', 'prototype'],\n\t'%TypeErrorPrototype%': ['TypeError', 'prototype'],\n\t'%Uint8ArrayPrototype%': ['Uint8Array', 'prototype'],\n\t'%Uint8ClampedArrayPrototype%': ['Uint8ClampedArray', 'prototype'],\n\t'%Uint16ArrayPrototype%': ['Uint16Array', 'prototype'],\n\t'%Uint32ArrayPrototype%': ['Uint32Array', 'prototype'],\n\t'%URIErrorPrototype%': ['URIError', 'prototype'],\n\t'%WeakMapPrototype%': ['WeakMap', 'prototype'],\n\t'%WeakSetPrototype%': ['WeakSet', 'prototype']\n};\n\nvar bind = require('function-bind');\nvar hasOwn = require('has');\nvar $concat = bind.call(Function.call, Array.prototype.concat);\nvar $spliceApply = bind.call(Function.apply, Array.prototype.splice);\nvar $replace = bind.call(Function.call, String.prototype.replace);\nvar $strSlice = bind.call(Function.call, String.prototype.slice);\nvar $exec = bind.call(Function.call, RegExp.prototype.exec);\n\n/* adapted from https://github.com/lodash/lodash/blob/4.17.15/dist/lodash.js#L6735-L6744 */\nvar rePropName = /[^%.[\\]]+|\\[(?:(-?\\d+(?:\\.\\d+)?)|([\"'])((?:(?!\\2)[^\\\\]|\\\\.)*?)\\2)\\]|(?=(?:\\.|\\[\\])(?:\\.|\\[\\]|%$))/g;\nvar reEscapeChar = /\\\\(\\\\)?/g; /** Used to match backslashes in property paths. */\nvar stringToPath = function stringToPath(string) {\n\tvar first = $strSlice(string, 0, 1);\n\tvar last = $strSlice(string, -1);\n\tif (first === '%' && last !== '%') {\n\t\tthrow new $SyntaxError('invalid intrinsic syntax, expected closing `%`');\n\t} else if (last === '%' && first !== '%') {\n\t\tthrow new $SyntaxError('invalid intrinsic syntax, expected opening `%`');\n\t}\n\tvar result = [];\n\t$replace(string, rePropName, function (match, number, quote, subString) {\n\t\tresult[result.length] = quote ? $replace(subString, reEscapeChar, '$1') : number || match;\n\t});\n\treturn result;\n};\n/* end adaptation */\n\nvar getBaseIntrinsic = function getBaseIntrinsic(name, allowMissing) {\n\tvar intrinsicName = name;\n\tvar alias;\n\tif (hasOwn(LEGACY_ALIASES, intrinsicName)) {\n\t\talias = LEGACY_ALIASES[intrinsicName];\n\t\tintrinsicName = '%' + alias[0] + '%';\n\t}\n\n\tif (hasOwn(INTRINSICS, intrinsicName)) {\n\t\tvar value = INTRINSICS[intrinsicName];\n\t\tif (value === needsEval) {\n\t\t\tvalue = doEval(intrinsicName);\n\t\t}\n\t\tif (typeof value === 'undefined' && !allowMissing) {\n\t\t\tthrow new $TypeError('intrinsic ' + name + ' exists, but is not available. Please file an issue!');\n\t\t}\n\n\t\treturn {\n\t\t\talias: alias,\n\t\t\tname: intrinsicName,\n\t\t\tvalue: value\n\t\t};\n\t}\n\n\tthrow new $SyntaxError('intrinsic ' + name + ' does not exist!');\n};\n\nmodule.exports = function GetIntrinsic(name, allowMissing) {\n\tif (typeof name !== 'string' || name.length === 0) {\n\t\tthrow new $TypeError('intrinsic name must be a non-empty string');\n\t}\n\tif (arguments.length > 1 && typeof allowMissing !== 'boolean') {\n\t\tthrow new $TypeError('\"allowMissing\" argument must be a boolean');\n\t}\n\n\tif ($exec(/^%?[^%]*%?$/g, name) === null) {\n\t\tthrow new $SyntaxError('`%` may not be present anywhere but at the beginning and end of the intrinsic name');\n\t}\n\tvar parts = stringToPath(name);\n\tvar intrinsicBaseName = parts.length > 0 ? parts[0] : '';\n\n\tvar intrinsic = getBaseIntrinsic('%' + intrinsicBaseName + '%', allowMissing);\n\tvar intrinsicRealName = intrinsic.name;\n\tvar value = intrinsic.value;\n\tvar skipFurtherCaching = false;\n\n\tvar alias = intrinsic.alias;\n\tif (alias) {\n\t\tintrinsicBaseName = alias[0];\n\t\t$spliceApply(parts, $concat([0, 1], alias));\n\t}\n\n\tfor (var i = 1, isOwn = true; i < parts.length; i += 1) {\n\t\tvar part = parts[i];\n\t\tvar first = $strSlice(part, 0, 1);\n\t\tvar last = $strSlice(part, -1);\n\t\tif (\n\t\t\t(\n\t\t\t\t(first === '\"' || first === \"'\" || first === '`')\n\t\t\t\t|| (last === '\"' || last === \"'\" || last === '`')\n\t\t\t)\n\t\t\t&& first !== last\n\t\t) {\n\t\t\tthrow new $SyntaxError('property names with quotes must have matching quotes');\n\t\t}\n\t\tif (part === 'constructor' || !isOwn) {\n\t\t\tskipFurtherCaching = true;\n\t\t}\n\n\t\tintrinsicBaseName += '.' + part;\n\t\tintrinsicRealName = '%' + intrinsicBaseName + '%';\n\n\t\tif (hasOwn(INTRINSICS, intrinsicRealName)) {\n\t\t\tvalue = INTRINSICS[intrinsicRealName];\n\t\t} else if (value != null) {\n\t\t\tif (!(part in value)) {\n\t\t\t\tif (!allowMissing) {\n\t\t\t\t\tthrow new $TypeError('base intrinsic for ' + name + ' exists, but the property is not available.');\n\t\t\t\t}\n\t\t\t\treturn void undefined;\n\t\t\t}\n\t\t\tif ($gOPD && (i + 1) >= parts.length) {\n\t\t\t\tvar desc = $gOPD(value, part);\n\t\t\t\tisOwn = !!desc;\n\n\t\t\t\t// By convention, when a data property is converted to an accessor\n\t\t\t\t// property to emulate a data property that does not suffer from\n\t\t\t\t// the override mistake, that accessor's getter is marked with\n\t\t\t\t// an `originalValue` property. Here, when we detect this, we\n\t\t\t\t// uphold the illusion by pretending to see that original data\n\t\t\t\t// property, i.e., returning the value rather than the getter\n\t\t\t\t// itself.\n\t\t\t\tif (isOwn && 'get' in desc && !('originalValue' in desc.get)) {\n\t\t\t\t\tvalue = desc.get;\n\t\t\t\t} else {\n\t\t\t\t\tvalue = value[part];\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tisOwn = hasOwn(value, part);\n\t\t\t\tvalue = value[part];\n\t\t\t}\n\n\t\t\tif (isOwn && !skipFurtherCaching) {\n\t\t\t\tINTRINSICS[intrinsicRealName] = value;\n\t\t\t}\n\t\t}\n\t}\n\treturn value;\n};\n","var hasMap = typeof Map === 'function' && Map.prototype;\nvar mapSizeDescriptor = Object.getOwnPropertyDescriptor && hasMap ? Object.getOwnPropertyDescriptor(Map.prototype, 'size') : null;\nvar mapSize = hasMap && mapSizeDescriptor && typeof mapSizeDescriptor.get === 'function' ? mapSizeDescriptor.get : null;\nvar mapForEach = hasMap && Map.prototype.forEach;\nvar hasSet = typeof Set === 'function' && Set.prototype;\nvar setSizeDescriptor = Object.getOwnPropertyDescriptor && hasSet ? Object.getOwnPropertyDescriptor(Set.prototype, 'size') : null;\nvar setSize = hasSet && setSizeDescriptor && typeof setSizeDescriptor.get === 'function' ? setSizeDescriptor.get : null;\nvar setForEach = hasSet && Set.prototype.forEach;\nvar hasWeakMap = typeof WeakMap === 'function' && WeakMap.prototype;\nvar weakMapHas = hasWeakMap ? WeakMap.prototype.has : null;\nvar hasWeakSet = typeof WeakSet === 'function' && WeakSet.prototype;\nvar weakSetHas = hasWeakSet ? WeakSet.prototype.has : null;\nvar hasWeakRef = typeof WeakRef === 'function' && WeakRef.prototype;\nvar weakRefDeref = hasWeakRef ? WeakRef.prototype.deref : null;\nvar booleanValueOf = Boolean.prototype.valueOf;\nvar objectToString = Object.prototype.toString;\nvar functionToString = Function.prototype.toString;\nvar $match = String.prototype.match;\nvar $slice = String.prototype.slice;\nvar $replace = String.prototype.replace;\nvar $toUpperCase = String.prototype.toUpperCase;\nvar $toLowerCase = String.prototype.toLowerCase;\nvar $test = RegExp.prototype.test;\nvar $concat = Array.prototype.concat;\nvar $join = Array.prototype.join;\nvar $arrSlice = Array.prototype.slice;\nvar $floor = Math.floor;\nvar bigIntValueOf = typeof BigInt === 'function' ? BigInt.prototype.valueOf : null;\nvar gOPS = Object.getOwnPropertySymbols;\nvar symToString = typeof Symbol === 'function' && typeof Symbol.iterator === 'symbol' ? Symbol.prototype.toString : null;\nvar hasShammedSymbols = typeof Symbol === 'function' && typeof Symbol.iterator === 'object';\n// ie, `has-tostringtag/shams\nvar toStringTag = typeof Symbol === 'function' && Symbol.toStringTag && (typeof Symbol.toStringTag === hasShammedSymbols ? 'object' : 'symbol')\n ? Symbol.toStringTag\n : null;\nvar isEnumerable = Object.prototype.propertyIsEnumerable;\n\nvar gPO = (typeof Reflect === 'function' ? Reflect.getPrototypeOf : Object.getPrototypeOf) || (\n [].__proto__ === Array.prototype // eslint-disable-line no-proto\n ? function (O) {\n return O.__proto__; // eslint-disable-line no-proto\n }\n : null\n);\n\nfunction addNumericSeparator(num, str) {\n if (\n num === Infinity\n || num === -Infinity\n || num !== num\n || (num && num > -1000 && num < 1000)\n || $test.call(/e/, str)\n ) {\n return str;\n }\n var sepRegex = /[0-9](?=(?:[0-9]{3})+(?![0-9]))/g;\n if (typeof num === 'number') {\n var int = num < 0 ? -$floor(-num) : $floor(num); // trunc(num)\n if (int !== num) {\n var intStr = String(int);\n var dec = $slice.call(str, intStr.length + 1);\n return $replace.call(intStr, sepRegex, '$&_') + '.' + $replace.call($replace.call(dec, /([0-9]{3})/g, '$&_'), /_$/, '');\n }\n }\n return $replace.call(str, sepRegex, '$&_');\n}\n\nvar utilInspect = require('./util.inspect');\nvar inspectCustom = utilInspect.custom;\nvar inspectSymbol = isSymbol(inspectCustom) ? inspectCustom : null;\n\nmodule.exports = function inspect_(obj, options, depth, seen) {\n var opts = options || {};\n\n if (has(opts, 'quoteStyle') && (opts.quoteStyle !== 'single' && opts.quoteStyle !== 'double')) {\n throw new TypeError('option \"quoteStyle\" must be \"single\" or \"double\"');\n }\n if (\n has(opts, 'maxStringLength') && (typeof opts.maxStringLength === 'number'\n ? opts.maxStringLength < 0 && opts.maxStringLength !== Infinity\n : opts.maxStringLength !== null\n )\n ) {\n throw new TypeError('option \"maxStringLength\", if provided, must be a positive integer, Infinity, or `null`');\n }\n var customInspect = has(opts, 'customInspect') ? opts.customInspect : true;\n if (typeof customInspect !== 'boolean' && customInspect !== 'symbol') {\n throw new TypeError('option \"customInspect\", if provided, must be `true`, `false`, or `\\'symbol\\'`');\n }\n\n if (\n has(opts, 'indent')\n && opts.indent !== null\n && opts.indent !== '\\t'\n && !(parseInt(opts.indent, 10) === opts.indent && opts.indent > 0)\n ) {\n throw new TypeError('option \"indent\" must be \"\\\\t\", an integer > 0, or `null`');\n }\n if (has(opts, 'numericSeparator') && typeof opts.numericSeparator !== 'boolean') {\n throw new TypeError('option \"numericSeparator\", if provided, must be `true` or `false`');\n }\n var numericSeparator = opts.numericSeparator;\n\n if (typeof obj === 'undefined') {\n return 'undefined';\n }\n if (obj === null) {\n return 'null';\n }\n if (typeof obj === 'boolean') {\n return obj ? 'true' : 'false';\n }\n\n if (typeof obj === 'string') {\n return inspectString(obj, opts);\n }\n if (typeof obj === 'number') {\n if (obj === 0) {\n return Infinity / obj > 0 ? '0' : '-0';\n }\n var str = String(obj);\n return numericSeparator ? addNumericSeparator(obj, str) : str;\n }\n if (typeof obj === 'bigint') {\n var bigIntStr = String(obj) + 'n';\n return numericSeparator ? addNumericSeparator(obj, bigIntStr) : bigIntStr;\n }\n\n var maxDepth = typeof opts.depth === 'undefined' ? 5 : opts.depth;\n if (typeof depth === 'undefined') { depth = 0; }\n if (depth >= maxDepth && maxDepth > 0 && typeof obj === 'object') {\n return isArray(obj) ? '[Array]' : '[Object]';\n }\n\n var indent = getIndent(opts, depth);\n\n if (typeof seen === 'undefined') {\n seen = [];\n } else if (indexOf(seen, obj) >= 0) {\n return '[Circular]';\n }\n\n function inspect(value, from, noIndent) {\n if (from) {\n seen = $arrSlice.call(seen);\n seen.push(from);\n }\n if (noIndent) {\n var newOpts = {\n depth: opts.depth\n };\n if (has(opts, 'quoteStyle')) {\n newOpts.quoteStyle = opts.quoteStyle;\n }\n return inspect_(value, newOpts, depth + 1, seen);\n }\n return inspect_(value, opts, depth + 1, seen);\n }\n\n if (typeof obj === 'function' && !isRegExp(obj)) { // in older engines, regexes are callable\n var name = nameOf(obj);\n var keys = arrObjKeys(obj, inspect);\n return '[Function' + (name ? ': ' + name : ' (anonymous)') + ']' + (keys.length > 0 ? ' { ' + $join.call(keys, ', ') + ' }' : '');\n }\n if (isSymbol(obj)) {\n var symString = hasShammedSymbols ? $replace.call(String(obj), /^(Symbol\\(.*\\))_[^)]*$/, '$1') : symToString.call(obj);\n return typeof obj === 'object' && !hasShammedSymbols ? markBoxed(symString) : symString;\n }\n if (isElement(obj)) {\n var s = '<' + $toLowerCase.call(String(obj.nodeName));\n var attrs = obj.attributes || [];\n for (var i = 0; i < attrs.length; i++) {\n s += ' ' + attrs[i].name + '=' + wrapQuotes(quote(attrs[i].value), 'double', opts);\n }\n s += '>';\n if (obj.childNodes && obj.childNodes.length) { s += '...'; }\n s += '';\n return s;\n }\n if (isArray(obj)) {\n if (obj.length === 0) { return '[]'; }\n var xs = arrObjKeys(obj, inspect);\n if (indent && !singleLineValues(xs)) {\n return '[' + indentedJoin(xs, indent) + ']';\n }\n return '[ ' + $join.call(xs, ', ') + ' ]';\n }\n if (isError(obj)) {\n var parts = arrObjKeys(obj, inspect);\n if (!('cause' in Error.prototype) && 'cause' in obj && !isEnumerable.call(obj, 'cause')) {\n return '{ [' + String(obj) + '] ' + $join.call($concat.call('[cause]: ' + inspect(obj.cause), parts), ', ') + ' }';\n }\n if (parts.length === 0) { return '[' + String(obj) + ']'; }\n return '{ [' + String(obj) + '] ' + $join.call(parts, ', ') + ' }';\n }\n if (typeof obj === 'object' && customInspect) {\n if (inspectSymbol && typeof obj[inspectSymbol] === 'function' && utilInspect) {\n return utilInspect(obj, { depth: maxDepth - depth });\n } else if (customInspect !== 'symbol' && typeof obj.inspect === 'function') {\n return obj.inspect();\n }\n }\n if (isMap(obj)) {\n var mapParts = [];\n mapForEach.call(obj, function (value, key) {\n mapParts.push(inspect(key, obj, true) + ' => ' + inspect(value, obj));\n });\n return collectionOf('Map', mapSize.call(obj), mapParts, indent);\n }\n if (isSet(obj)) {\n var setParts = [];\n setForEach.call(obj, function (value) {\n setParts.push(inspect(value, obj));\n });\n return collectionOf('Set', setSize.call(obj), setParts, indent);\n }\n if (isWeakMap(obj)) {\n return weakCollectionOf('WeakMap');\n }\n if (isWeakSet(obj)) {\n return weakCollectionOf('WeakSet');\n }\n if (isWeakRef(obj)) {\n return weakCollectionOf('WeakRef');\n }\n if (isNumber(obj)) {\n return markBoxed(inspect(Number(obj)));\n }\n if (isBigInt(obj)) {\n return markBoxed(inspect(bigIntValueOf.call(obj)));\n }\n if (isBoolean(obj)) {\n return markBoxed(booleanValueOf.call(obj));\n }\n if (isString(obj)) {\n return markBoxed(inspect(String(obj)));\n }\n if (!isDate(obj) && !isRegExp(obj)) {\n var ys = arrObjKeys(obj, inspect);\n var isPlainObject = gPO ? gPO(obj) === Object.prototype : obj instanceof Object || obj.constructor === Object;\n var protoTag = obj instanceof Object ? '' : 'null prototype';\n var stringTag = !isPlainObject && toStringTag && Object(obj) === obj && toStringTag in obj ? $slice.call(toStr(obj), 8, -1) : protoTag ? 'Object' : '';\n var constructorTag = isPlainObject || typeof obj.constructor !== 'function' ? '' : obj.constructor.name ? obj.constructor.name + ' ' : '';\n var tag = constructorTag + (stringTag || protoTag ? '[' + $join.call($concat.call([], stringTag || [], protoTag || []), ': ') + '] ' : '');\n if (ys.length === 0) { return tag + '{}'; }\n if (indent) {\n return tag + '{' + indentedJoin(ys, indent) + '}';\n }\n return tag + '{ ' + $join.call(ys, ', ') + ' }';\n }\n return String(obj);\n};\n\nfunction wrapQuotes(s, defaultStyle, opts) {\n var quoteChar = (opts.quoteStyle || defaultStyle) === 'double' ? '\"' : \"'\";\n return quoteChar + s + quoteChar;\n}\n\nfunction quote(s) {\n return $replace.call(String(s), /\"/g, '"');\n}\n\nfunction isArray(obj) { return toStr(obj) === '[object Array]' && (!toStringTag || !(typeof obj === 'object' && toStringTag in obj)); }\nfunction isDate(obj) { return toStr(obj) === '[object Date]' && (!toStringTag || !(typeof obj === 'object' && toStringTag in obj)); }\nfunction isRegExp(obj) { return toStr(obj) === '[object RegExp]' && (!toStringTag || !(typeof obj === 'object' && toStringTag in obj)); }\nfunction isError(obj) { return toStr(obj) === '[object Error]' && (!toStringTag || !(typeof obj === 'object' && toStringTag in obj)); }\nfunction isString(obj) { return toStr(obj) === '[object String]' && (!toStringTag || !(typeof obj === 'object' && toStringTag in obj)); }\nfunction isNumber(obj) { return toStr(obj) === '[object Number]' && (!toStringTag || !(typeof obj === 'object' && toStringTag in obj)); }\nfunction isBoolean(obj) { return toStr(obj) === '[object Boolean]' && (!toStringTag || !(typeof obj === 'object' && toStringTag in obj)); }\n\n// Symbol and BigInt do have Symbol.toStringTag by spec, so that can't be used to eliminate false positives\nfunction isSymbol(obj) {\n if (hasShammedSymbols) {\n return obj && typeof obj === 'object' && obj instanceof Symbol;\n }\n if (typeof obj === 'symbol') {\n return true;\n }\n if (!obj || typeof obj !== 'object' || !symToString) {\n return false;\n }\n try {\n symToString.call(obj);\n return true;\n } catch (e) {}\n return false;\n}\n\nfunction isBigInt(obj) {\n if (!obj || typeof obj !== 'object' || !bigIntValueOf) {\n return false;\n }\n try {\n bigIntValueOf.call(obj);\n return true;\n } catch (e) {}\n return false;\n}\n\nvar hasOwn = Object.prototype.hasOwnProperty || function (key) { return key in this; };\nfunction has(obj, key) {\n return hasOwn.call(obj, key);\n}\n\nfunction toStr(obj) {\n return objectToString.call(obj);\n}\n\nfunction nameOf(f) {\n if (f.name) { return f.name; }\n var m = $match.call(functionToString.call(f), /^function\\s*([\\w$]+)/);\n if (m) { return m[1]; }\n return null;\n}\n\nfunction indexOf(xs, x) {\n if (xs.indexOf) { return xs.indexOf(x); }\n for (var i = 0, l = xs.length; i < l; i++) {\n if (xs[i] === x) { return i; }\n }\n return -1;\n}\n\nfunction isMap(x) {\n if (!mapSize || !x || typeof x !== 'object') {\n return false;\n }\n try {\n mapSize.call(x);\n try {\n setSize.call(x);\n } catch (s) {\n return true;\n }\n return x instanceof Map; // core-js workaround, pre-v2.5.0\n } catch (e) {}\n return false;\n}\n\nfunction isWeakMap(x) {\n if (!weakMapHas || !x || typeof x !== 'object') {\n return false;\n }\n try {\n weakMapHas.call(x, weakMapHas);\n try {\n weakSetHas.call(x, weakSetHas);\n } catch (s) {\n return true;\n }\n return x instanceof WeakMap; // core-js workaround, pre-v2.5.0\n } catch (e) {}\n return false;\n}\n\nfunction isWeakRef(x) {\n if (!weakRefDeref || !x || typeof x !== 'object') {\n return false;\n }\n try {\n weakRefDeref.call(x);\n return true;\n } catch (e) {}\n return false;\n}\n\nfunction isSet(x) {\n if (!setSize || !x || typeof x !== 'object') {\n return false;\n }\n try {\n setSize.call(x);\n try {\n mapSize.call(x);\n } catch (m) {\n return true;\n }\n return x instanceof Set; // core-js workaround, pre-v2.5.0\n } catch (e) {}\n return false;\n}\n\nfunction isWeakSet(x) {\n if (!weakSetHas || !x || typeof x !== 'object') {\n return false;\n }\n try {\n weakSetHas.call(x, weakSetHas);\n try {\n weakMapHas.call(x, weakMapHas);\n } catch (s) {\n return true;\n }\n return x instanceof WeakSet; // core-js workaround, pre-v2.5.0\n } catch (e) {}\n return false;\n}\n\nfunction isElement(x) {\n if (!x || typeof x !== 'object') { return false; }\n if (typeof HTMLElement !== 'undefined' && x instanceof HTMLElement) {\n return true;\n }\n return typeof x.nodeName === 'string' && typeof x.getAttribute === 'function';\n}\n\nfunction inspectString(str, opts) {\n if (str.length > opts.maxStringLength) {\n var remaining = str.length - opts.maxStringLength;\n var trailer = '... ' + remaining + ' more character' + (remaining > 1 ? 's' : '');\n return inspectString($slice.call(str, 0, opts.maxStringLength), opts) + trailer;\n }\n // eslint-disable-next-line no-control-regex\n var s = $replace.call($replace.call(str, /(['\\\\])/g, '\\\\$1'), /[\\x00-\\x1f]/g, lowbyte);\n return wrapQuotes(s, 'single', opts);\n}\n\nfunction lowbyte(c) {\n var n = c.charCodeAt(0);\n var x = {\n 8: 'b',\n 9: 't',\n 10: 'n',\n 12: 'f',\n 13: 'r'\n }[n];\n if (x) { return '\\\\' + x; }\n return '\\\\x' + (n < 0x10 ? '0' : '') + $toUpperCase.call(n.toString(16));\n}\n\nfunction markBoxed(str) {\n return 'Object(' + str + ')';\n}\n\nfunction weakCollectionOf(type) {\n return type + ' { ? }';\n}\n\nfunction collectionOf(type, size, entries, indent) {\n var joinedEntries = indent ? indentedJoin(entries, indent) : $join.call(entries, ', ');\n return type + ' (' + size + ') {' + joinedEntries + '}';\n}\n\nfunction singleLineValues(xs) {\n for (var i = 0; i < xs.length; i++) {\n if (indexOf(xs[i], '\\n') >= 0) {\n return false;\n }\n }\n return true;\n}\n\nfunction getIndent(opts, depth) {\n var baseIndent;\n if (opts.indent === '\\t') {\n baseIndent = '\\t';\n } else if (typeof opts.indent === 'number' && opts.indent > 0) {\n baseIndent = $join.call(Array(opts.indent + 1), ' ');\n } else {\n return null;\n }\n return {\n base: baseIndent,\n prev: $join.call(Array(depth + 1), baseIndent)\n };\n}\n\nfunction indentedJoin(xs, indent) {\n if (xs.length === 0) { return ''; }\n var lineJoiner = '\\n' + indent.prev + indent.base;\n return lineJoiner + $join.call(xs, ',' + lineJoiner) + '\\n' + indent.prev;\n}\n\nfunction arrObjKeys(obj, inspect) {\n var isArr = isArray(obj);\n var xs = [];\n if (isArr) {\n xs.length = obj.length;\n for (var i = 0; i < obj.length; i++) {\n xs[i] = has(obj, i) ? inspect(obj[i], obj) : '';\n }\n }\n var syms = typeof gOPS === 'function' ? gOPS(obj) : [];\n var symMap;\n if (hasShammedSymbols) {\n symMap = {};\n for (var k = 0; k < syms.length; k++) {\n symMap['$' + syms[k]] = syms[k];\n }\n }\n\n for (var key in obj) { // eslint-disable-line no-restricted-syntax\n if (!has(obj, key)) { continue; } // eslint-disable-line no-restricted-syntax, no-continue\n if (isArr && String(Number(key)) === key && key < obj.length) { continue; } // eslint-disable-line no-restricted-syntax, no-continue\n if (hasShammedSymbols && symMap['$' + key] instanceof Symbol) {\n // this is to prevent shammed Symbols, which are stored as strings, from being included in the string key section\n continue; // eslint-disable-line no-restricted-syntax, no-continue\n } else if ($test.call(/[^\\w$]/, key)) {\n xs.push(inspect(key, obj) + ': ' + inspect(obj[key], obj));\n } else {\n xs.push(key + ': ' + inspect(obj[key], obj));\n }\n }\n if (typeof gOPS === 'function') {\n for (var j = 0; j < syms.length; j++) {\n if (isEnumerable.call(obj, syms[j])) {\n xs.push('[' + inspect(syms[j]) + ']: ' + inspect(obj[syms[j]], obj));\n }\n }\n }\n return xs;\n}\n","/* -*- Mode: js; js-indent-level: 2; -*- */\n/*\n * Copyright 2011 Mozilla Foundation and contributors\n * Licensed under the New BSD license. See LICENSE or:\n * http://opensource.org/licenses/BSD-3-Clause\n */\n\nvar util = require('./util');\nvar has = Object.prototype.hasOwnProperty;\nvar hasNativeMap = typeof Map !== \"undefined\";\n\n/**\n * A data structure which is a combination of an array and a set. Adding a new\n * member is O(1), testing for membership is O(1), and finding the index of an\n * element is O(1). Removing elements from the set is not supported. Only\n * strings are supported for membership.\n */\nfunction ArraySet() {\n this._array = [];\n this._set = hasNativeMap ? new Map() : Object.create(null);\n}\n\n/**\n * Static method for creating ArraySet instances from an existing array.\n */\nArraySet.fromArray = function ArraySet_fromArray(aArray, aAllowDuplicates) {\n var set = new ArraySet();\n for (var i = 0, len = aArray.length; i < len; i++) {\n set.add(aArray[i], aAllowDuplicates);\n }\n return set;\n};\n\n/**\n * Return how many unique items are in this ArraySet. If duplicates have been\n * added, than those do not count towards the size.\n *\n * @returns Number\n */\nArraySet.prototype.size = function ArraySet_size() {\n return hasNativeMap ? this._set.size : Object.getOwnPropertyNames(this._set).length;\n};\n\n/**\n * Add the given string to this set.\n *\n * @param String aStr\n */\nArraySet.prototype.add = function ArraySet_add(aStr, aAllowDuplicates) {\n var sStr = hasNativeMap ? aStr : util.toSetString(aStr);\n var isDuplicate = hasNativeMap ? this.has(aStr) : has.call(this._set, sStr);\n var idx = this._array.length;\n if (!isDuplicate || aAllowDuplicates) {\n this._array.push(aStr);\n }\n if (!isDuplicate) {\n if (hasNativeMap) {\n this._set.set(aStr, idx);\n } else {\n this._set[sStr] = idx;\n }\n }\n};\n\n/**\n * Is the given string a member of this set?\n *\n * @param String aStr\n */\nArraySet.prototype.has = function ArraySet_has(aStr) {\n if (hasNativeMap) {\n return this._set.has(aStr);\n } else {\n var sStr = util.toSetString(aStr);\n return has.call(this._set, sStr);\n }\n};\n\n/**\n * What is the index of the given string in the array?\n *\n * @param String aStr\n */\nArraySet.prototype.indexOf = function ArraySet_indexOf(aStr) {\n if (hasNativeMap) {\n var idx = this._set.get(aStr);\n if (idx >= 0) {\n return idx;\n }\n } else {\n var sStr = util.toSetString(aStr);\n if (has.call(this._set, sStr)) {\n return this._set[sStr];\n }\n }\n\n throw new Error('\"' + aStr + '\" is not in the set.');\n};\n\n/**\n * What is the element at the given index?\n *\n * @param Number aIdx\n */\nArraySet.prototype.at = function ArraySet_at(aIdx) {\n if (aIdx >= 0 && aIdx < this._array.length) {\n return this._array[aIdx];\n }\n throw new Error('No element indexed by ' + aIdx);\n};\n\n/**\n * Returns the array representation of this set (which has the proper indices\n * indicated by indexOf). Note that this is a copy of the internal array used\n * for storing the members so that no one can mess with internal state.\n */\nArraySet.prototype.toArray = function ArraySet_toArray() {\n return this._array.slice();\n};\n\nexports.ArraySet = ArraySet;\n","/* -*- Mode: js; js-indent-level: 2; -*- */\n/*\n * Copyright 2011 Mozilla Foundation and contributors\n * Licensed under the New BSD license. See LICENSE or:\n * http://opensource.org/licenses/BSD-3-Clause\n *\n * Based on the Base 64 VLQ implementation in Closure Compiler:\n * https://code.google.com/p/closure-compiler/source/browse/trunk/src/com/google/debugging/sourcemap/Base64VLQ.java\n *\n * Copyright 2011 The Closure Compiler Authors. All rights reserved.\n * Redistribution and use in source and binary forms, with or without\n * modification, are permitted provided that the following conditions are\n * met:\n *\n * * Redistributions of source code must retain the above copyright\n * notice, this list of conditions and the following disclaimer.\n * * Redistributions in binary form must reproduce the above\n * copyright notice, this list of conditions and the following\n * disclaimer in the documentation and/or other materials provided\n * with the distribution.\n * * Neither the name of Google Inc. nor the names of its\n * contributors may be used to endorse or promote products derived\n * from this software without specific prior written permission.\n *\n * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS\n * \"AS IS\" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT\n * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR\n * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT\n * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,\n * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT\n * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,\n * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY\n * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT\n * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE\n * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n */\n\nvar base64 = require('./base64');\n\n// A single base 64 digit can contain 6 bits of data. For the base 64 variable\n// length quantities we use in the source map spec, the first bit is the sign,\n// the next four bits are the actual value, and the 6th bit is the\n// continuation bit. The continuation bit tells us whether there are more\n// digits in this value following this digit.\n//\n// Continuation\n// | Sign\n// | |\n// V V\n// 101011\n\nvar VLQ_BASE_SHIFT = 5;\n\n// binary: 100000\nvar VLQ_BASE = 1 << VLQ_BASE_SHIFT;\n\n// binary: 011111\nvar VLQ_BASE_MASK = VLQ_BASE - 1;\n\n// binary: 100000\nvar VLQ_CONTINUATION_BIT = VLQ_BASE;\n\n/**\n * Converts from a two-complement value to a value where the sign bit is\n * placed in the least significant bit. For example, as decimals:\n * 1 becomes 2 (10 binary), -1 becomes 3 (11 binary)\n * 2 becomes 4 (100 binary), -2 becomes 5 (101 binary)\n */\nfunction toVLQSigned(aValue) {\n return aValue < 0\n ? ((-aValue) << 1) + 1\n : (aValue << 1) + 0;\n}\n\n/**\n * Converts to a two-complement value from a value where the sign bit is\n * placed in the least significant bit. For example, as decimals:\n * 2 (10 binary) becomes 1, 3 (11 binary) becomes -1\n * 4 (100 binary) becomes 2, 5 (101 binary) becomes -2\n */\nfunction fromVLQSigned(aValue) {\n var isNegative = (aValue & 1) === 1;\n var shifted = aValue >> 1;\n return isNegative\n ? -shifted\n : shifted;\n}\n\n/**\n * Returns the base 64 VLQ encoded value.\n */\nexports.encode = function base64VLQ_encode(aValue) {\n var encoded = \"\";\n var digit;\n\n var vlq = toVLQSigned(aValue);\n\n do {\n digit = vlq & VLQ_BASE_MASK;\n vlq >>>= VLQ_BASE_SHIFT;\n if (vlq > 0) {\n // There are still more digits in this value, so we must make sure the\n // continuation bit is marked.\n digit |= VLQ_CONTINUATION_BIT;\n }\n encoded += base64.encode(digit);\n } while (vlq > 0);\n\n return encoded;\n};\n\n/**\n * Decodes the next base 64 VLQ value from the given string and returns the\n * value and the rest of the string via the out parameter.\n */\nexports.decode = function base64VLQ_decode(aStr, aIndex, aOutParam) {\n var strLen = aStr.length;\n var result = 0;\n var shift = 0;\n var continuation, digit;\n\n do {\n if (aIndex >= strLen) {\n throw new Error(\"Expected more digits in base 64 VLQ value.\");\n }\n\n digit = base64.decode(aStr.charCodeAt(aIndex++));\n if (digit === -1) {\n throw new Error(\"Invalid base64 digit: \" + aStr.charAt(aIndex - 1));\n }\n\n continuation = !!(digit & VLQ_CONTINUATION_BIT);\n digit &= VLQ_BASE_MASK;\n result = result + (digit << shift);\n shift += VLQ_BASE_SHIFT;\n } while (continuation);\n\n aOutParam.value = fromVLQSigned(result);\n aOutParam.rest = aIndex;\n};\n","/* -*- Mode: js; js-indent-level: 2; -*- */\n/*\n * Copyright 2011 Mozilla Foundation and contributors\n * Licensed under the New BSD license. See LICENSE or:\n * http://opensource.org/licenses/BSD-3-Clause\n */\n\nvar intToCharMap = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/'.split('');\n\n/**\n * Encode an integer in the range of 0 to 63 to a single base 64 digit.\n */\nexports.encode = function (number) {\n if (0 <= number && number < intToCharMap.length) {\n return intToCharMap[number];\n }\n throw new TypeError(\"Must be between 0 and 63: \" + number);\n};\n\n/**\n * Decode a single base 64 character code digit to an integer. Returns -1 on\n * failure.\n */\nexports.decode = function (charCode) {\n var bigA = 65; // 'A'\n var bigZ = 90; // 'Z'\n\n var littleA = 97; // 'a'\n var littleZ = 122; // 'z'\n\n var zero = 48; // '0'\n var nine = 57; // '9'\n\n var plus = 43; // '+'\n var slash = 47; // '/'\n\n var littleOffset = 26;\n var numberOffset = 52;\n\n // 0 - 25: ABCDEFGHIJKLMNOPQRSTUVWXYZ\n if (bigA <= charCode && charCode <= bigZ) {\n return (charCode - bigA);\n }\n\n // 26 - 51: abcdefghijklmnopqrstuvwxyz\n if (littleA <= charCode && charCode <= littleZ) {\n return (charCode - littleA + littleOffset);\n }\n\n // 52 - 61: 0123456789\n if (zero <= charCode && charCode <= nine) {\n return (charCode - zero + numberOffset);\n }\n\n // 62: +\n if (charCode == plus) {\n return 62;\n }\n\n // 63: /\n if (charCode == slash) {\n return 63;\n }\n\n // Invalid base64 digit.\n return -1;\n};\n","/* -*- Mode: js; js-indent-level: 2; -*- */\n/*\n * Copyright 2011 Mozilla Foundation and contributors\n * Licensed under the New BSD license. See LICENSE or:\n * http://opensource.org/licenses/BSD-3-Clause\n */\n\nexports.GREATEST_LOWER_BOUND = 1;\nexports.LEAST_UPPER_BOUND = 2;\n\n/**\n * Recursive implementation of binary search.\n *\n * @param aLow Indices here and lower do not contain the needle.\n * @param aHigh Indices here and higher do not contain the needle.\n * @param aNeedle The element being searched for.\n * @param aHaystack The non-empty array being searched.\n * @param aCompare Function which takes two elements and returns -1, 0, or 1.\n * @param aBias Either 'binarySearch.GREATEST_LOWER_BOUND' or\n * 'binarySearch.LEAST_UPPER_BOUND'. Specifies whether to return the\n * closest element that is smaller than or greater than the one we are\n * searching for, respectively, if the exact element cannot be found.\n */\nfunction recursiveSearch(aLow, aHigh, aNeedle, aHaystack, aCompare, aBias) {\n // This function terminates when one of the following is true:\n //\n // 1. We find the exact element we are looking for.\n //\n // 2. We did not find the exact element, but we can return the index of\n // the next-closest element.\n //\n // 3. We did not find the exact element, and there is no next-closest\n // element than the one we are searching for, so we return -1.\n var mid = Math.floor((aHigh - aLow) / 2) + aLow;\n var cmp = aCompare(aNeedle, aHaystack[mid], true);\n if (cmp === 0) {\n // Found the element we are looking for.\n return mid;\n }\n else if (cmp > 0) {\n // Our needle is greater than aHaystack[mid].\n if (aHigh - mid > 1) {\n // The element is in the upper half.\n return recursiveSearch(mid, aHigh, aNeedle, aHaystack, aCompare, aBias);\n }\n\n // The exact needle element was not found in this haystack. Determine if\n // we are in termination case (3) or (2) and return the appropriate thing.\n if (aBias == exports.LEAST_UPPER_BOUND) {\n return aHigh < aHaystack.length ? aHigh : -1;\n } else {\n return mid;\n }\n }\n else {\n // Our needle is less than aHaystack[mid].\n if (mid - aLow > 1) {\n // The element is in the lower half.\n return recursiveSearch(aLow, mid, aNeedle, aHaystack, aCompare, aBias);\n }\n\n // we are in termination case (3) or (2) and return the appropriate thing.\n if (aBias == exports.LEAST_UPPER_BOUND) {\n return mid;\n } else {\n return aLow < 0 ? -1 : aLow;\n }\n }\n}\n\n/**\n * This is an implementation of binary search which will always try and return\n * the index of the closest element if there is no exact hit. This is because\n * mappings between original and generated line/col pairs are single points,\n * and there is an implicit region between each of them, so a miss just means\n * that you aren't on the very start of a region.\n *\n * @param aNeedle The element you are looking for.\n * @param aHaystack The array that is being searched.\n * @param aCompare A function which takes the needle and an element in the\n * array and returns -1, 0, or 1 depending on whether the needle is less\n * than, equal to, or greater than the element, respectively.\n * @param aBias Either 'binarySearch.GREATEST_LOWER_BOUND' or\n * 'binarySearch.LEAST_UPPER_BOUND'. Specifies whether to return the\n * closest element that is smaller than or greater than the one we are\n * searching for, respectively, if the exact element cannot be found.\n * Defaults to 'binarySearch.GREATEST_LOWER_BOUND'.\n */\nexports.search = function search(aNeedle, aHaystack, aCompare, aBias) {\n if (aHaystack.length === 0) {\n return -1;\n }\n\n var index = recursiveSearch(-1, aHaystack.length, aNeedle, aHaystack,\n aCompare, aBias || exports.GREATEST_LOWER_BOUND);\n if (index < 0) {\n return -1;\n }\n\n // We have found either the exact element, or the next-closest element than\n // the one we are searching for. However, there may be more than one such\n // element. Make sure we always return the smallest of these.\n while (index - 1 >= 0) {\n if (aCompare(aHaystack[index], aHaystack[index - 1], true) !== 0) {\n break;\n }\n --index;\n }\n\n return index;\n};\n","/* -*- Mode: js; js-indent-level: 2; -*- */\n/*\n * Copyright 2014 Mozilla Foundation and contributors\n * Licensed under the New BSD license. See LICENSE or:\n * http://opensource.org/licenses/BSD-3-Clause\n */\n\nvar util = require('./util');\n\n/**\n * Determine whether mappingB is after mappingA with respect to generated\n * position.\n */\nfunction generatedPositionAfter(mappingA, mappingB) {\n // Optimized for most common case\n var lineA = mappingA.generatedLine;\n var lineB = mappingB.generatedLine;\n var columnA = mappingA.generatedColumn;\n var columnB = mappingB.generatedColumn;\n return lineB > lineA || lineB == lineA && columnB >= columnA ||\n util.compareByGeneratedPositionsInflated(mappingA, mappingB) <= 0;\n}\n\n/**\n * A data structure to provide a sorted view of accumulated mappings in a\n * performance conscious manner. It trades a neglibable overhead in general\n * case for a large speedup in case of mappings being added in order.\n */\nfunction MappingList() {\n this._array = [];\n this._sorted = true;\n // Serves as infimum\n this._last = {generatedLine: -1, generatedColumn: 0};\n}\n\n/**\n * Iterate through internal items. This method takes the same arguments that\n * `Array.prototype.forEach` takes.\n *\n * NOTE: The order of the mappings is NOT guaranteed.\n */\nMappingList.prototype.unsortedForEach =\n function MappingList_forEach(aCallback, aThisArg) {\n this._array.forEach(aCallback, aThisArg);\n };\n\n/**\n * Add the given source mapping.\n *\n * @param Object aMapping\n */\nMappingList.prototype.add = function MappingList_add(aMapping) {\n if (generatedPositionAfter(this._last, aMapping)) {\n this._last = aMapping;\n this._array.push(aMapping);\n } else {\n this._sorted = false;\n this._array.push(aMapping);\n }\n};\n\n/**\n * Returns the flat, sorted array of mappings. The mappings are sorted by\n * generated position.\n *\n * WARNING: This method returns internal data without copying, for\n * performance. The return value must NOT be mutated, and should be treated as\n * an immutable borrow. If you want to take ownership, you must make your own\n * copy.\n */\nMappingList.prototype.toArray = function MappingList_toArray() {\n if (!this._sorted) {\n this._array.sort(util.compareByGeneratedPositionsInflated);\n this._sorted = true;\n }\n return this._array;\n};\n\nexports.MappingList = MappingList;\n","/* -*- Mode: js; js-indent-level: 2; -*- */\n/*\n * Copyright 2011 Mozilla Foundation and contributors\n * Licensed under the New BSD license. See LICENSE or:\n * http://opensource.org/licenses/BSD-3-Clause\n */\n\n// It turns out that some (most?) JavaScript engines don't self-host\n// `Array.prototype.sort`. This makes sense because C++ will likely remain\n// faster than JS when doing raw CPU-intensive sorting. However, when using a\n// custom comparator function, calling back and forth between the VM's C++ and\n// JIT'd JS is rather slow *and* loses JIT type information, resulting in\n// worse generated code for the comparator function than would be optimal. In\n// fact, when sorting with a comparator, these costs outweigh the benefits of\n// sorting in C++. By using our own JS-implemented Quick Sort (below), we get\n// a ~3500ms mean speed-up in `bench/bench.html`.\n\n/**\n * Swap the elements indexed by `x` and `y` in the array `ary`.\n *\n * @param {Array} ary\n * The array.\n * @param {Number} x\n * The index of the first item.\n * @param {Number} y\n * The index of the second item.\n */\nfunction swap(ary, x, y) {\n var temp = ary[x];\n ary[x] = ary[y];\n ary[y] = temp;\n}\n\n/**\n * Returns a random integer within the range `low .. high` inclusive.\n *\n * @param {Number} low\n * The lower bound on the range.\n * @param {Number} high\n * The upper bound on the range.\n */\nfunction randomIntInRange(low, high) {\n return Math.round(low + (Math.random() * (high - low)));\n}\n\n/**\n * The Quick Sort algorithm.\n *\n * @param {Array} ary\n * An array to sort.\n * @param {function} comparator\n * Function to use to compare two items.\n * @param {Number} p\n * Start index of the array\n * @param {Number} r\n * End index of the array\n */\nfunction doQuickSort(ary, comparator, p, r) {\n // If our lower bound is less than our upper bound, we (1) partition the\n // array into two pieces and (2) recurse on each half. If it is not, this is\n // the empty array and our base case.\n\n if (p < r) {\n // (1) Partitioning.\n //\n // The partitioning chooses a pivot between `p` and `r` and moves all\n // elements that are less than or equal to the pivot to the before it, and\n // all the elements that are greater than it after it. The effect is that\n // once partition is done, the pivot is in the exact place it will be when\n // the array is put in sorted order, and it will not need to be moved\n // again. This runs in O(n) time.\n\n // Always choose a random pivot so that an input array which is reverse\n // sorted does not cause O(n^2) running time.\n var pivotIndex = randomIntInRange(p, r);\n var i = p - 1;\n\n swap(ary, pivotIndex, r);\n var pivot = ary[r];\n\n // Immediately after `j` is incremented in this loop, the following hold\n // true:\n //\n // * Every element in `ary[p .. i]` is less than or equal to the pivot.\n //\n // * Every element in `ary[i+1 .. j-1]` is greater than the pivot.\n for (var j = p; j < r; j++) {\n if (comparator(ary[j], pivot) <= 0) {\n i += 1;\n swap(ary, i, j);\n }\n }\n\n swap(ary, i + 1, j);\n var q = i + 1;\n\n // (2) Recurse on each half.\n\n doQuickSort(ary, comparator, p, q - 1);\n doQuickSort(ary, comparator, q + 1, r);\n }\n}\n\n/**\n * Sort the given array in-place with the given comparator function.\n *\n * @param {Array} ary\n * An array to sort.\n * @param {function} comparator\n * Function to use to compare two items.\n */\nexports.quickSort = function (ary, comparator) {\n doQuickSort(ary, comparator, 0, ary.length - 1);\n};\n","/* -*- Mode: js; js-indent-level: 2; -*- */\n/*\n * Copyright 2011 Mozilla Foundation and contributors\n * Licensed under the New BSD license. See LICENSE or:\n * http://opensource.org/licenses/BSD-3-Clause\n */\n\nvar util = require('./util');\nvar binarySearch = require('./binary-search');\nvar ArraySet = require('./array-set').ArraySet;\nvar base64VLQ = require('./base64-vlq');\nvar quickSort = require('./quick-sort').quickSort;\n\nfunction SourceMapConsumer(aSourceMap, aSourceMapURL) {\n var sourceMap = aSourceMap;\n if (typeof aSourceMap === 'string') {\n sourceMap = util.parseSourceMapInput(aSourceMap);\n }\n\n return sourceMap.sections != null\n ? new IndexedSourceMapConsumer(sourceMap, aSourceMapURL)\n : new BasicSourceMapConsumer(sourceMap, aSourceMapURL);\n}\n\nSourceMapConsumer.fromSourceMap = function(aSourceMap, aSourceMapURL) {\n return BasicSourceMapConsumer.fromSourceMap(aSourceMap, aSourceMapURL);\n}\n\n/**\n * The version of the source mapping spec that we are consuming.\n */\nSourceMapConsumer.prototype._version = 3;\n\n// `__generatedMappings` and `__originalMappings` are arrays that hold the\n// parsed mapping coordinates from the source map's \"mappings\" attribute. They\n// are lazily instantiated, accessed via the `_generatedMappings` and\n// `_originalMappings` getters respectively, and we only parse the mappings\n// and create these arrays once queried for a source location. We jump through\n// these hoops because there can be many thousands of mappings, and parsing\n// them is expensive, so we only want to do it if we must.\n//\n// Each object in the arrays is of the form:\n//\n// {\n// generatedLine: The line number in the generated code,\n// generatedColumn: The column number in the generated code,\n// source: The path to the original source file that generated this\n// chunk of code,\n// originalLine: The line number in the original source that\n// corresponds to this chunk of generated code,\n// originalColumn: The column number in the original source that\n// corresponds to this chunk of generated code,\n// name: The name of the original symbol which generated this chunk of\n// code.\n// }\n//\n// All properties except for `generatedLine` and `generatedColumn` can be\n// `null`.\n//\n// `_generatedMappings` is ordered by the generated positions.\n//\n// `_originalMappings` is ordered by the original positions.\n\nSourceMapConsumer.prototype.__generatedMappings = null;\nObject.defineProperty(SourceMapConsumer.prototype, '_generatedMappings', {\n configurable: true,\n enumerable: true,\n get: function () {\n if (!this.__generatedMappings) {\n this._parseMappings(this._mappings, this.sourceRoot);\n }\n\n return this.__generatedMappings;\n }\n});\n\nSourceMapConsumer.prototype.__originalMappings = null;\nObject.defineProperty(SourceMapConsumer.prototype, '_originalMappings', {\n configurable: true,\n enumerable: true,\n get: function () {\n if (!this.__originalMappings) {\n this._parseMappings(this._mappings, this.sourceRoot);\n }\n\n return this.__originalMappings;\n }\n});\n\nSourceMapConsumer.prototype._charIsMappingSeparator =\n function SourceMapConsumer_charIsMappingSeparator(aStr, index) {\n var c = aStr.charAt(index);\n return c === \";\" || c === \",\";\n };\n\n/**\n * Parse the mappings in a string in to a data structure which we can easily\n * query (the ordered arrays in the `this.__generatedMappings` and\n * `this.__originalMappings` properties).\n */\nSourceMapConsumer.prototype._parseMappings =\n function SourceMapConsumer_parseMappings(aStr, aSourceRoot) {\n throw new Error(\"Subclasses must implement _parseMappings\");\n };\n\nSourceMapConsumer.GENERATED_ORDER = 1;\nSourceMapConsumer.ORIGINAL_ORDER = 2;\n\nSourceMapConsumer.GREATEST_LOWER_BOUND = 1;\nSourceMapConsumer.LEAST_UPPER_BOUND = 2;\n\n/**\n * Iterate over each mapping between an original source/line/column and a\n * generated line/column in this source map.\n *\n * @param Function aCallback\n * The function that is called with each mapping.\n * @param Object aContext\n * Optional. If specified, this object will be the value of `this` every\n * time that `aCallback` is called.\n * @param aOrder\n * Either `SourceMapConsumer.GENERATED_ORDER` or\n * `SourceMapConsumer.ORIGINAL_ORDER`. Specifies whether you want to\n * iterate over the mappings sorted by the generated file's line/column\n * order or the original's source/line/column order, respectively. Defaults to\n * `SourceMapConsumer.GENERATED_ORDER`.\n */\nSourceMapConsumer.prototype.eachMapping =\n function SourceMapConsumer_eachMapping(aCallback, aContext, aOrder) {\n var context = aContext || null;\n var order = aOrder || SourceMapConsumer.GENERATED_ORDER;\n\n var mappings;\n switch (order) {\n case SourceMapConsumer.GENERATED_ORDER:\n mappings = this._generatedMappings;\n break;\n case SourceMapConsumer.ORIGINAL_ORDER:\n mappings = this._originalMappings;\n break;\n default:\n throw new Error(\"Unknown order of iteration.\");\n }\n\n var sourceRoot = this.sourceRoot;\n mappings.map(function (mapping) {\n var source = mapping.source === null ? null : this._sources.at(mapping.source);\n source = util.computeSourceURL(sourceRoot, source, this._sourceMapURL);\n return {\n source: source,\n generatedLine: mapping.generatedLine,\n generatedColumn: mapping.generatedColumn,\n originalLine: mapping.originalLine,\n originalColumn: mapping.originalColumn,\n name: mapping.name === null ? null : this._names.at(mapping.name)\n };\n }, this).forEach(aCallback, context);\n };\n\n/**\n * Returns all generated line and column information for the original source,\n * line, and column provided. If no column is provided, returns all mappings\n * corresponding to a either the line we are searching for or the next\n * closest line that has any mappings. Otherwise, returns all mappings\n * corresponding to the given line and either the column we are searching for\n * or the next closest column that has any offsets.\n *\n * The only argument is an object with the following properties:\n *\n * - source: The filename of the original source.\n * - line: The line number in the original source. The line number is 1-based.\n * - column: Optional. the column number in the original source.\n * The column number is 0-based.\n *\n * and an array of objects is returned, each with the following properties:\n *\n * - line: The line number in the generated source, or null. The\n * line number is 1-based.\n * - column: The column number in the generated source, or null.\n * The column number is 0-based.\n */\nSourceMapConsumer.prototype.allGeneratedPositionsFor =\n function SourceMapConsumer_allGeneratedPositionsFor(aArgs) {\n var line = util.getArg(aArgs, 'line');\n\n // When there is no exact match, BasicSourceMapConsumer.prototype._findMapping\n // returns the index of the closest mapping less than the needle. By\n // setting needle.originalColumn to 0, we thus find the last mapping for\n // the given line, provided such a mapping exists.\n var needle = {\n source: util.getArg(aArgs, 'source'),\n originalLine: line,\n originalColumn: util.getArg(aArgs, 'column', 0)\n };\n\n needle.source = this._findSourceIndex(needle.source);\n if (needle.source < 0) {\n return [];\n }\n\n var mappings = [];\n\n var index = this._findMapping(needle,\n this._originalMappings,\n \"originalLine\",\n \"originalColumn\",\n util.compareByOriginalPositions,\n binarySearch.LEAST_UPPER_BOUND);\n if (index >= 0) {\n var mapping = this._originalMappings[index];\n\n if (aArgs.column === undefined) {\n var originalLine = mapping.originalLine;\n\n // Iterate until either we run out of mappings, or we run into\n // a mapping for a different line than the one we found. Since\n // mappings are sorted, this is guaranteed to find all mappings for\n // the line we found.\n while (mapping && mapping.originalLine === originalLine) {\n mappings.push({\n line: util.getArg(mapping, 'generatedLine', null),\n column: util.getArg(mapping, 'generatedColumn', null),\n lastColumn: util.getArg(mapping, 'lastGeneratedColumn', null)\n });\n\n mapping = this._originalMappings[++index];\n }\n } else {\n var originalColumn = mapping.originalColumn;\n\n // Iterate until either we run out of mappings, or we run into\n // a mapping for a different line than the one we were searching for.\n // Since mappings are sorted, this is guaranteed to find all mappings for\n // the line we are searching for.\n while (mapping &&\n mapping.originalLine === line &&\n mapping.originalColumn == originalColumn) {\n mappings.push({\n line: util.getArg(mapping, 'generatedLine', null),\n column: util.getArg(mapping, 'generatedColumn', null),\n lastColumn: util.getArg(mapping, 'lastGeneratedColumn', null)\n });\n\n mapping = this._originalMappings[++index];\n }\n }\n }\n\n return mappings;\n };\n\nexports.SourceMapConsumer = SourceMapConsumer;\n\n/**\n * A BasicSourceMapConsumer instance represents a parsed source map which we can\n * query for information about the original file positions by giving it a file\n * position in the generated source.\n *\n * The first parameter is the raw source map (either as a JSON string, or\n * already parsed to an object). According to the spec, source maps have the\n * following attributes:\n *\n * - version: Which version of the source map spec this map is following.\n * - sources: An array of URLs to the original source files.\n * - names: An array of identifiers which can be referrenced by individual mappings.\n * - sourceRoot: Optional. The URL root from which all sources are relative.\n * - sourcesContent: Optional. An array of contents of the original source files.\n * - mappings: A string of base64 VLQs which contain the actual mappings.\n * - file: Optional. The generated file this source map is associated with.\n *\n * Here is an example source map, taken from the source map spec[0]:\n *\n * {\n * version : 3,\n * file: \"out.js\",\n * sourceRoot : \"\",\n * sources: [\"foo.js\", \"bar.js\"],\n * names: [\"src\", \"maps\", \"are\", \"fun\"],\n * mappings: \"AA,AB;;ABCDE;\"\n * }\n *\n * The second parameter, if given, is a string whose value is the URL\n * at which the source map was found. This URL is used to compute the\n * sources array.\n *\n * [0]: https://docs.google.com/document/d/1U1RGAehQwRypUTovF1KRlpiOFze0b-_2gc6fAH0KY0k/edit?pli=1#\n */\nfunction BasicSourceMapConsumer(aSourceMap, aSourceMapURL) {\n var sourceMap = aSourceMap;\n if (typeof aSourceMap === 'string') {\n sourceMap = util.parseSourceMapInput(aSourceMap);\n }\n\n var version = util.getArg(sourceMap, 'version');\n var sources = util.getArg(sourceMap, 'sources');\n // Sass 3.3 leaves out the 'names' array, so we deviate from the spec (which\n // requires the array) to play nice here.\n var names = util.getArg(sourceMap, 'names', []);\n var sourceRoot = util.getArg(sourceMap, 'sourceRoot', null);\n var sourcesContent = util.getArg(sourceMap, 'sourcesContent', null);\n var mappings = util.getArg(sourceMap, 'mappings');\n var file = util.getArg(sourceMap, 'file', null);\n\n // Once again, Sass deviates from the spec and supplies the version as a\n // string rather than a number, so we use loose equality checking here.\n if (version != this._version) {\n throw new Error('Unsupported version: ' + version);\n }\n\n if (sourceRoot) {\n sourceRoot = util.normalize(sourceRoot);\n }\n\n sources = sources\n .map(String)\n // Some source maps produce relative source paths like \"./foo.js\" instead of\n // \"foo.js\". Normalize these first so that future comparisons will succeed.\n // See bugzil.la/1090768.\n .map(util.normalize)\n // Always ensure that absolute sources are internally stored relative to\n // the source root, if the source root is absolute. Not doing this would\n // be particularly problematic when the source root is a prefix of the\n // source (valid, but why??). See github issue #199 and bugzil.la/1188982.\n .map(function (source) {\n return sourceRoot && util.isAbsolute(sourceRoot) && util.isAbsolute(source)\n ? util.relative(sourceRoot, source)\n : source;\n });\n\n // Pass `true` below to allow duplicate names and sources. While source maps\n // are intended to be compressed and deduplicated, the TypeScript compiler\n // sometimes generates source maps with duplicates in them. See Github issue\n // #72 and bugzil.la/889492.\n this._names = ArraySet.fromArray(names.map(String), true);\n this._sources = ArraySet.fromArray(sources, true);\n\n this._absoluteSources = this._sources.toArray().map(function (s) {\n return util.computeSourceURL(sourceRoot, s, aSourceMapURL);\n });\n\n this.sourceRoot = sourceRoot;\n this.sourcesContent = sourcesContent;\n this._mappings = mappings;\n this._sourceMapURL = aSourceMapURL;\n this.file = file;\n}\n\nBasicSourceMapConsumer.prototype = Object.create(SourceMapConsumer.prototype);\nBasicSourceMapConsumer.prototype.consumer = SourceMapConsumer;\n\n/**\n * Utility function to find the index of a source. Returns -1 if not\n * found.\n */\nBasicSourceMapConsumer.prototype._findSourceIndex = function(aSource) {\n var relativeSource = aSource;\n if (this.sourceRoot != null) {\n relativeSource = util.relative(this.sourceRoot, relativeSource);\n }\n\n if (this._sources.has(relativeSource)) {\n return this._sources.indexOf(relativeSource);\n }\n\n // Maybe aSource is an absolute URL as returned by |sources|. In\n // this case we can't simply undo the transform.\n var i;\n for (i = 0; i < this._absoluteSources.length; ++i) {\n if (this._absoluteSources[i] == aSource) {\n return i;\n }\n }\n\n return -1;\n};\n\n/**\n * Create a BasicSourceMapConsumer from a SourceMapGenerator.\n *\n * @param SourceMapGenerator aSourceMap\n * The source map that will be consumed.\n * @param String aSourceMapURL\n * The URL at which the source map can be found (optional)\n * @returns BasicSourceMapConsumer\n */\nBasicSourceMapConsumer.fromSourceMap =\n function SourceMapConsumer_fromSourceMap(aSourceMap, aSourceMapURL) {\n var smc = Object.create(BasicSourceMapConsumer.prototype);\n\n var names = smc._names = ArraySet.fromArray(aSourceMap._names.toArray(), true);\n var sources = smc._sources = ArraySet.fromArray(aSourceMap._sources.toArray(), true);\n smc.sourceRoot = aSourceMap._sourceRoot;\n smc.sourcesContent = aSourceMap._generateSourcesContent(smc._sources.toArray(),\n smc.sourceRoot);\n smc.file = aSourceMap._file;\n smc._sourceMapURL = aSourceMapURL;\n smc._absoluteSources = smc._sources.toArray().map(function (s) {\n return util.computeSourceURL(smc.sourceRoot, s, aSourceMapURL);\n });\n\n // Because we are modifying the entries (by converting string sources and\n // names to indices into the sources and names ArraySets), we have to make\n // a copy of the entry or else bad things happen. Shared mutable state\n // strikes again! See github issue #191.\n\n var generatedMappings = aSourceMap._mappings.toArray().slice();\n var destGeneratedMappings = smc.__generatedMappings = [];\n var destOriginalMappings = smc.__originalMappings = [];\n\n for (var i = 0, length = generatedMappings.length; i < length; i++) {\n var srcMapping = generatedMappings[i];\n var destMapping = new Mapping;\n destMapping.generatedLine = srcMapping.generatedLine;\n destMapping.generatedColumn = srcMapping.generatedColumn;\n\n if (srcMapping.source) {\n destMapping.source = sources.indexOf(srcMapping.source);\n destMapping.originalLine = srcMapping.originalLine;\n destMapping.originalColumn = srcMapping.originalColumn;\n\n if (srcMapping.name) {\n destMapping.name = names.indexOf(srcMapping.name);\n }\n\n destOriginalMappings.push(destMapping);\n }\n\n destGeneratedMappings.push(destMapping);\n }\n\n quickSort(smc.__originalMappings, util.compareByOriginalPositions);\n\n return smc;\n };\n\n/**\n * The version of the source mapping spec that we are consuming.\n */\nBasicSourceMapConsumer.prototype._version = 3;\n\n/**\n * The list of original sources.\n */\nObject.defineProperty(BasicSourceMapConsumer.prototype, 'sources', {\n get: function () {\n return this._absoluteSources.slice();\n }\n});\n\n/**\n * Provide the JIT with a nice shape / hidden class.\n */\nfunction Mapping() {\n this.generatedLine = 0;\n this.generatedColumn = 0;\n this.source = null;\n this.originalLine = null;\n this.originalColumn = null;\n this.name = null;\n}\n\n/**\n * Parse the mappings in a string in to a data structure which we can easily\n * query (the ordered arrays in the `this.__generatedMappings` and\n * `this.__originalMappings` properties).\n */\nBasicSourceMapConsumer.prototype._parseMappings =\n function SourceMapConsumer_parseMappings(aStr, aSourceRoot) {\n var generatedLine = 1;\n var previousGeneratedColumn = 0;\n var previousOriginalLine = 0;\n var previousOriginalColumn = 0;\n var previousSource = 0;\n var previousName = 0;\n var length = aStr.length;\n var index = 0;\n var cachedSegments = {};\n var temp = {};\n var originalMappings = [];\n var generatedMappings = [];\n var mapping, str, segment, end, value;\n\n while (index < length) {\n if (aStr.charAt(index) === ';') {\n generatedLine++;\n index++;\n previousGeneratedColumn = 0;\n }\n else if (aStr.charAt(index) === ',') {\n index++;\n }\n else {\n mapping = new Mapping();\n mapping.generatedLine = generatedLine;\n\n // Because each offset is encoded relative to the previous one,\n // many segments often have the same encoding. We can exploit this\n // fact by caching the parsed variable length fields of each segment,\n // allowing us to avoid a second parse if we encounter the same\n // segment again.\n for (end = index; end < length; end++) {\n if (this._charIsMappingSeparator(aStr, end)) {\n break;\n }\n }\n str = aStr.slice(index, end);\n\n segment = cachedSegments[str];\n if (segment) {\n index += str.length;\n } else {\n segment = [];\n while (index < end) {\n base64VLQ.decode(aStr, index, temp);\n value = temp.value;\n index = temp.rest;\n segment.push(value);\n }\n\n if (segment.length === 2) {\n throw new Error('Found a source, but no line and column');\n }\n\n if (segment.length === 3) {\n throw new Error('Found a source and line, but no column');\n }\n\n cachedSegments[str] = segment;\n }\n\n // Generated column.\n mapping.generatedColumn = previousGeneratedColumn + segment[0];\n previousGeneratedColumn = mapping.generatedColumn;\n\n if (segment.length > 1) {\n // Original source.\n mapping.source = previousSource + segment[1];\n previousSource += segment[1];\n\n // Original line.\n mapping.originalLine = previousOriginalLine + segment[2];\n previousOriginalLine = mapping.originalLine;\n // Lines are stored 0-based\n mapping.originalLine += 1;\n\n // Original column.\n mapping.originalColumn = previousOriginalColumn + segment[3];\n previousOriginalColumn = mapping.originalColumn;\n\n if (segment.length > 4) {\n // Original name.\n mapping.name = previousName + segment[4];\n previousName += segment[4];\n }\n }\n\n generatedMappings.push(mapping);\n if (typeof mapping.originalLine === 'number') {\n originalMappings.push(mapping);\n }\n }\n }\n\n quickSort(generatedMappings, util.compareByGeneratedPositionsDeflated);\n this.__generatedMappings = generatedMappings;\n\n quickSort(originalMappings, util.compareByOriginalPositions);\n this.__originalMappings = originalMappings;\n };\n\n/**\n * Find the mapping that best matches the hypothetical \"needle\" mapping that\n * we are searching for in the given \"haystack\" of mappings.\n */\nBasicSourceMapConsumer.prototype._findMapping =\n function SourceMapConsumer_findMapping(aNeedle, aMappings, aLineName,\n aColumnName, aComparator, aBias) {\n // To return the position we are searching for, we must first find the\n // mapping for the given position and then return the opposite position it\n // points to. Because the mappings are sorted, we can use binary search to\n // find the best mapping.\n\n if (aNeedle[aLineName] <= 0) {\n throw new TypeError('Line must be greater than or equal to 1, got '\n + aNeedle[aLineName]);\n }\n if (aNeedle[aColumnName] < 0) {\n throw new TypeError('Column must be greater than or equal to 0, got '\n + aNeedle[aColumnName]);\n }\n\n return binarySearch.search(aNeedle, aMappings, aComparator, aBias);\n };\n\n/**\n * Compute the last column for each generated mapping. The last column is\n * inclusive.\n */\nBasicSourceMapConsumer.prototype.computeColumnSpans =\n function SourceMapConsumer_computeColumnSpans() {\n for (var index = 0; index < this._generatedMappings.length; ++index) {\n var mapping = this._generatedMappings[index];\n\n // Mappings do not contain a field for the last generated columnt. We\n // can come up with an optimistic estimate, however, by assuming that\n // mappings are contiguous (i.e. given two consecutive mappings, the\n // first mapping ends where the second one starts).\n if (index + 1 < this._generatedMappings.length) {\n var nextMapping = this._generatedMappings[index + 1];\n\n if (mapping.generatedLine === nextMapping.generatedLine) {\n mapping.lastGeneratedColumn = nextMapping.generatedColumn - 1;\n continue;\n }\n }\n\n // The last mapping for each line spans the entire line.\n mapping.lastGeneratedColumn = Infinity;\n }\n };\n\n/**\n * Returns the original source, line, and column information for the generated\n * source's line and column positions provided. The only argument is an object\n * with the following properties:\n *\n * - line: The line number in the generated source. The line number\n * is 1-based.\n * - column: The column number in the generated source. The column\n * number is 0-based.\n * - bias: Either 'SourceMapConsumer.GREATEST_LOWER_BOUND' or\n * 'SourceMapConsumer.LEAST_UPPER_BOUND'. Specifies whether to return the\n * closest element that is smaller than or greater than the one we are\n * searching for, respectively, if the exact element cannot be found.\n * Defaults to 'SourceMapConsumer.GREATEST_LOWER_BOUND'.\n *\n * and an object is returned with the following properties:\n *\n * - source: The original source file, or null.\n * - line: The line number in the original source, or null. The\n * line number is 1-based.\n * - column: The column number in the original source, or null. The\n * column number is 0-based.\n * - name: The original identifier, or null.\n */\nBasicSourceMapConsumer.prototype.originalPositionFor =\n function SourceMapConsumer_originalPositionFor(aArgs) {\n var needle = {\n generatedLine: util.getArg(aArgs, 'line'),\n generatedColumn: util.getArg(aArgs, 'column')\n };\n\n var index = this._findMapping(\n needle,\n this._generatedMappings,\n \"generatedLine\",\n \"generatedColumn\",\n util.compareByGeneratedPositionsDeflated,\n util.getArg(aArgs, 'bias', SourceMapConsumer.GREATEST_LOWER_BOUND)\n );\n\n if (index >= 0) {\n var mapping = this._generatedMappings[index];\n\n if (mapping.generatedLine === needle.generatedLine) {\n var source = util.getArg(mapping, 'source', null);\n if (source !== null) {\n source = this._sources.at(source);\n source = util.computeSourceURL(this.sourceRoot, source, this._sourceMapURL);\n }\n var name = util.getArg(mapping, 'name', null);\n if (name !== null) {\n name = this._names.at(name);\n }\n return {\n source: source,\n line: util.getArg(mapping, 'originalLine', null),\n column: util.getArg(mapping, 'originalColumn', null),\n name: name\n };\n }\n }\n\n return {\n source: null,\n line: null,\n column: null,\n name: null\n };\n };\n\n/**\n * Return true if we have the source content for every source in the source\n * map, false otherwise.\n */\nBasicSourceMapConsumer.prototype.hasContentsOfAllSources =\n function BasicSourceMapConsumer_hasContentsOfAllSources() {\n if (!this.sourcesContent) {\n return false;\n }\n return this.sourcesContent.length >= this._sources.size() &&\n !this.sourcesContent.some(function (sc) { return sc == null; });\n };\n\n/**\n * Returns the original source content. The only argument is the url of the\n * original source file. Returns null if no original source content is\n * available.\n */\nBasicSourceMapConsumer.prototype.sourceContentFor =\n function SourceMapConsumer_sourceContentFor(aSource, nullOnMissing) {\n if (!this.sourcesContent) {\n return null;\n }\n\n var index = this._findSourceIndex(aSource);\n if (index >= 0) {\n return this.sourcesContent[index];\n }\n\n var relativeSource = aSource;\n if (this.sourceRoot != null) {\n relativeSource = util.relative(this.sourceRoot, relativeSource);\n }\n\n var url;\n if (this.sourceRoot != null\n && (url = util.urlParse(this.sourceRoot))) {\n // XXX: file:// URIs and absolute paths lead to unexpected behavior for\n // many users. We can help them out when they expect file:// URIs to\n // behave like it would if they were running a local HTTP server. See\n // https://bugzilla.mozilla.org/show_bug.cgi?id=885597.\n var fileUriAbsPath = relativeSource.replace(/^file:\\/\\//, \"\");\n if (url.scheme == \"file\"\n && this._sources.has(fileUriAbsPath)) {\n return this.sourcesContent[this._sources.indexOf(fileUriAbsPath)]\n }\n\n if ((!url.path || url.path == \"/\")\n && this._sources.has(\"/\" + relativeSource)) {\n return this.sourcesContent[this._sources.indexOf(\"/\" + relativeSource)];\n }\n }\n\n // This function is used recursively from\n // IndexedSourceMapConsumer.prototype.sourceContentFor. In that case, we\n // don't want to throw if we can't find the source - we just want to\n // return null, so we provide a flag to exit gracefully.\n if (nullOnMissing) {\n return null;\n }\n else {\n throw new Error('\"' + relativeSource + '\" is not in the SourceMap.');\n }\n };\n\n/**\n * Returns the generated line and column information for the original source,\n * line, and column positions provided. The only argument is an object with\n * the following properties:\n *\n * - source: The filename of the original source.\n * - line: The line number in the original source. The line number\n * is 1-based.\n * - column: The column number in the original source. The column\n * number is 0-based.\n * - bias: Either 'SourceMapConsumer.GREATEST_LOWER_BOUND' or\n * 'SourceMapConsumer.LEAST_UPPER_BOUND'. Specifies whether to return the\n * closest element that is smaller than or greater than the one we are\n * searching for, respectively, if the exact element cannot be found.\n * Defaults to 'SourceMapConsumer.GREATEST_LOWER_BOUND'.\n *\n * and an object is returned with the following properties:\n *\n * - line: The line number in the generated source, or null. The\n * line number is 1-based.\n * - column: The column number in the generated source, or null.\n * The column number is 0-based.\n */\nBasicSourceMapConsumer.prototype.generatedPositionFor =\n function SourceMapConsumer_generatedPositionFor(aArgs) {\n var source = util.getArg(aArgs, 'source');\n source = this._findSourceIndex(source);\n if (source < 0) {\n return {\n line: null,\n column: null,\n lastColumn: null\n };\n }\n\n var needle = {\n source: source,\n originalLine: util.getArg(aArgs, 'line'),\n originalColumn: util.getArg(aArgs, 'column')\n };\n\n var index = this._findMapping(\n needle,\n this._originalMappings,\n \"originalLine\",\n \"originalColumn\",\n util.compareByOriginalPositions,\n util.getArg(aArgs, 'bias', SourceMapConsumer.GREATEST_LOWER_BOUND)\n );\n\n if (index >= 0) {\n var mapping = this._originalMappings[index];\n\n if (mapping.source === needle.source) {\n return {\n line: util.getArg(mapping, 'generatedLine', null),\n column: util.getArg(mapping, 'generatedColumn', null),\n lastColumn: util.getArg(mapping, 'lastGeneratedColumn', null)\n };\n }\n }\n\n return {\n line: null,\n column: null,\n lastColumn: null\n };\n };\n\nexports.BasicSourceMapConsumer = BasicSourceMapConsumer;\n\n/**\n * An IndexedSourceMapConsumer instance represents a parsed source map which\n * we can query for information. It differs from BasicSourceMapConsumer in\n * that it takes \"indexed\" source maps (i.e. ones with a \"sections\" field) as\n * input.\n *\n * The first parameter is a raw source map (either as a JSON string, or already\n * parsed to an object). According to the spec for indexed source maps, they\n * have the following attributes:\n *\n * - version: Which version of the source map spec this map is following.\n * - file: Optional. The generated file this source map is associated with.\n * - sections: A list of section definitions.\n *\n * Each value under the \"sections\" field has two fields:\n * - offset: The offset into the original specified at which this section\n * begins to apply, defined as an object with a \"line\" and \"column\"\n * field.\n * - map: A source map definition. This source map could also be indexed,\n * but doesn't have to be.\n *\n * Instead of the \"map\" field, it's also possible to have a \"url\" field\n * specifying a URL to retrieve a source map from, but that's currently\n * unsupported.\n *\n * Here's an example source map, taken from the source map spec[0], but\n * modified to omit a section which uses the \"url\" field.\n *\n * {\n * version : 3,\n * file: \"app.js\",\n * sections: [{\n * offset: {line:100, column:10},\n * map: {\n * version : 3,\n * file: \"section.js\",\n * sources: [\"foo.js\", \"bar.js\"],\n * names: [\"src\", \"maps\", \"are\", \"fun\"],\n * mappings: \"AAAA,E;;ABCDE;\"\n * }\n * }],\n * }\n *\n * The second parameter, if given, is a string whose value is the URL\n * at which the source map was found. This URL is used to compute the\n * sources array.\n *\n * [0]: https://docs.google.com/document/d/1U1RGAehQwRypUTovF1KRlpiOFze0b-_2gc6fAH0KY0k/edit#heading=h.535es3xeprgt\n */\nfunction IndexedSourceMapConsumer(aSourceMap, aSourceMapURL) {\n var sourceMap = aSourceMap;\n if (typeof aSourceMap === 'string') {\n sourceMap = util.parseSourceMapInput(aSourceMap);\n }\n\n var version = util.getArg(sourceMap, 'version');\n var sections = util.getArg(sourceMap, 'sections');\n\n if (version != this._version) {\n throw new Error('Unsupported version: ' + version);\n }\n\n this._sources = new ArraySet();\n this._names = new ArraySet();\n\n var lastOffset = {\n line: -1,\n column: 0\n };\n this._sections = sections.map(function (s) {\n if (s.url) {\n // The url field will require support for asynchronicity.\n // See https://github.com/mozilla/source-map/issues/16\n throw new Error('Support for url field in sections not implemented.');\n }\n var offset = util.getArg(s, 'offset');\n var offsetLine = util.getArg(offset, 'line');\n var offsetColumn = util.getArg(offset, 'column');\n\n if (offsetLine < lastOffset.line ||\n (offsetLine === lastOffset.line && offsetColumn < lastOffset.column)) {\n throw new Error('Section offsets must be ordered and non-overlapping.');\n }\n lastOffset = offset;\n\n return {\n generatedOffset: {\n // The offset fields are 0-based, but we use 1-based indices when\n // encoding/decoding from VLQ.\n generatedLine: offsetLine + 1,\n generatedColumn: offsetColumn + 1\n },\n consumer: new SourceMapConsumer(util.getArg(s, 'map'), aSourceMapURL)\n }\n });\n}\n\nIndexedSourceMapConsumer.prototype = Object.create(SourceMapConsumer.prototype);\nIndexedSourceMapConsumer.prototype.constructor = SourceMapConsumer;\n\n/**\n * The version of the source mapping spec that we are consuming.\n */\nIndexedSourceMapConsumer.prototype._version = 3;\n\n/**\n * The list of original sources.\n */\nObject.defineProperty(IndexedSourceMapConsumer.prototype, 'sources', {\n get: function () {\n var sources = [];\n for (var i = 0; i < this._sections.length; i++) {\n for (var j = 0; j < this._sections[i].consumer.sources.length; j++) {\n sources.push(this._sections[i].consumer.sources[j]);\n }\n }\n return sources;\n }\n});\n\n/**\n * Returns the original source, line, and column information for the generated\n * source's line and column positions provided. The only argument is an object\n * with the following properties:\n *\n * - line: The line number in the generated source. The line number\n * is 1-based.\n * - column: The column number in the generated source. The column\n * number is 0-based.\n *\n * and an object is returned with the following properties:\n *\n * - source: The original source file, or null.\n * - line: The line number in the original source, or null. The\n * line number is 1-based.\n * - column: The column number in the original source, or null. The\n * column number is 0-based.\n * - name: The original identifier, or null.\n */\nIndexedSourceMapConsumer.prototype.originalPositionFor =\n function IndexedSourceMapConsumer_originalPositionFor(aArgs) {\n var needle = {\n generatedLine: util.getArg(aArgs, 'line'),\n generatedColumn: util.getArg(aArgs, 'column')\n };\n\n // Find the section containing the generated position we're trying to map\n // to an original position.\n var sectionIndex = binarySearch.search(needle, this._sections,\n function(needle, section) {\n var cmp = needle.generatedLine - section.generatedOffset.generatedLine;\n if (cmp) {\n return cmp;\n }\n\n return (needle.generatedColumn -\n section.generatedOffset.generatedColumn);\n });\n var section = this._sections[sectionIndex];\n\n if (!section) {\n return {\n source: null,\n line: null,\n column: null,\n name: null\n };\n }\n\n return section.consumer.originalPositionFor({\n line: needle.generatedLine -\n (section.generatedOffset.generatedLine - 1),\n column: needle.generatedColumn -\n (section.generatedOffset.generatedLine === needle.generatedLine\n ? section.generatedOffset.generatedColumn - 1\n : 0),\n bias: aArgs.bias\n });\n };\n\n/**\n * Return true if we have the source content for every source in the source\n * map, false otherwise.\n */\nIndexedSourceMapConsumer.prototype.hasContentsOfAllSources =\n function IndexedSourceMapConsumer_hasContentsOfAllSources() {\n return this._sections.every(function (s) {\n return s.consumer.hasContentsOfAllSources();\n });\n };\n\n/**\n * Returns the original source content. The only argument is the url of the\n * original source file. Returns null if no original source content is\n * available.\n */\nIndexedSourceMapConsumer.prototype.sourceContentFor =\n function IndexedSourceMapConsumer_sourceContentFor(aSource, nullOnMissing) {\n for (var i = 0; i < this._sections.length; i++) {\n var section = this._sections[i];\n\n var content = section.consumer.sourceContentFor(aSource, true);\n if (content) {\n return content;\n }\n }\n if (nullOnMissing) {\n return null;\n }\n else {\n throw new Error('\"' + aSource + '\" is not in the SourceMap.');\n }\n };\n\n/**\n * Returns the generated line and column information for the original source,\n * line, and column positions provided. The only argument is an object with\n * the following properties:\n *\n * - source: The filename of the original source.\n * - line: The line number in the original source. The line number\n * is 1-based.\n * - column: The column number in the original source. The column\n * number is 0-based.\n *\n * and an object is returned with the following properties:\n *\n * - line: The line number in the generated source, or null. The\n * line number is 1-based. \n * - column: The column number in the generated source, or null.\n * The column number is 0-based.\n */\nIndexedSourceMapConsumer.prototype.generatedPositionFor =\n function IndexedSourceMapConsumer_generatedPositionFor(aArgs) {\n for (var i = 0; i < this._sections.length; i++) {\n var section = this._sections[i];\n\n // Only consider this section if the requested source is in the list of\n // sources of the consumer.\n if (section.consumer._findSourceIndex(util.getArg(aArgs, 'source')) === -1) {\n continue;\n }\n var generatedPosition = section.consumer.generatedPositionFor(aArgs);\n if (generatedPosition) {\n var ret = {\n line: generatedPosition.line +\n (section.generatedOffset.generatedLine - 1),\n column: generatedPosition.column +\n (section.generatedOffset.generatedLine === generatedPosition.line\n ? section.generatedOffset.generatedColumn - 1\n : 0)\n };\n return ret;\n }\n }\n\n return {\n line: null,\n column: null\n };\n };\n\n/**\n * Parse the mappings in a string in to a data structure which we can easily\n * query (the ordered arrays in the `this.__generatedMappings` and\n * `this.__originalMappings` properties).\n */\nIndexedSourceMapConsumer.prototype._parseMappings =\n function IndexedSourceMapConsumer_parseMappings(aStr, aSourceRoot) {\n this.__generatedMappings = [];\n this.__originalMappings = [];\n for (var i = 0; i < this._sections.length; i++) {\n var section = this._sections[i];\n var sectionMappings = section.consumer._generatedMappings;\n for (var j = 0; j < sectionMappings.length; j++) {\n var mapping = sectionMappings[j];\n\n var source = section.consumer._sources.at(mapping.source);\n source = util.computeSourceURL(section.consumer.sourceRoot, source, this._sourceMapURL);\n this._sources.add(source);\n source = this._sources.indexOf(source);\n\n var name = null;\n if (mapping.name) {\n name = section.consumer._names.at(mapping.name);\n this._names.add(name);\n name = this._names.indexOf(name);\n }\n\n // The mappings coming from the consumer for the section have\n // generated positions relative to the start of the section, so we\n // need to offset them to be relative to the start of the concatenated\n // generated file.\n var adjustedMapping = {\n source: source,\n generatedLine: mapping.generatedLine +\n (section.generatedOffset.generatedLine - 1),\n generatedColumn: mapping.generatedColumn +\n (section.generatedOffset.generatedLine === mapping.generatedLine\n ? section.generatedOffset.generatedColumn - 1\n : 0),\n originalLine: mapping.originalLine,\n originalColumn: mapping.originalColumn,\n name: name\n };\n\n this.__generatedMappings.push(adjustedMapping);\n if (typeof adjustedMapping.originalLine === 'number') {\n this.__originalMappings.push(adjustedMapping);\n }\n }\n }\n\n quickSort(this.__generatedMappings, util.compareByGeneratedPositionsDeflated);\n quickSort(this.__originalMappings, util.compareByOriginalPositions);\n };\n\nexports.IndexedSourceMapConsumer = IndexedSourceMapConsumer;\n","/* -*- Mode: js; js-indent-level: 2; -*- */\n/*\n * Copyright 2011 Mozilla Foundation and contributors\n * Licensed under the New BSD license. See LICENSE or:\n * http://opensource.org/licenses/BSD-3-Clause\n */\n\nvar base64VLQ = require('./base64-vlq');\nvar util = require('./util');\nvar ArraySet = require('./array-set').ArraySet;\nvar MappingList = require('./mapping-list').MappingList;\n\n/**\n * An instance of the SourceMapGenerator represents a source map which is\n * being built incrementally. You may pass an object with the following\n * properties:\n *\n * - file: The filename of the generated source.\n * - sourceRoot: A root for all relative URLs in this source map.\n */\nfunction SourceMapGenerator(aArgs) {\n if (!aArgs) {\n aArgs = {};\n }\n this._file = util.getArg(aArgs, 'file', null);\n this._sourceRoot = util.getArg(aArgs, 'sourceRoot', null);\n this._skipValidation = util.getArg(aArgs, 'skipValidation', false);\n this._sources = new ArraySet();\n this._names = new ArraySet();\n this._mappings = new MappingList();\n this._sourcesContents = null;\n}\n\nSourceMapGenerator.prototype._version = 3;\n\n/**\n * Creates a new SourceMapGenerator based on a SourceMapConsumer\n *\n * @param aSourceMapConsumer The SourceMap.\n */\nSourceMapGenerator.fromSourceMap =\n function SourceMapGenerator_fromSourceMap(aSourceMapConsumer) {\n var sourceRoot = aSourceMapConsumer.sourceRoot;\n var generator = new SourceMapGenerator({\n file: aSourceMapConsumer.file,\n sourceRoot: sourceRoot\n });\n aSourceMapConsumer.eachMapping(function (mapping) {\n var newMapping = {\n generated: {\n line: mapping.generatedLine,\n column: mapping.generatedColumn\n }\n };\n\n if (mapping.source != null) {\n newMapping.source = mapping.source;\n if (sourceRoot != null) {\n newMapping.source = util.relative(sourceRoot, newMapping.source);\n }\n\n newMapping.original = {\n line: mapping.originalLine,\n column: mapping.originalColumn\n };\n\n if (mapping.name != null) {\n newMapping.name = mapping.name;\n }\n }\n\n generator.addMapping(newMapping);\n });\n aSourceMapConsumer.sources.forEach(function (sourceFile) {\n var sourceRelative = sourceFile;\n if (sourceRoot !== null) {\n sourceRelative = util.relative(sourceRoot, sourceFile);\n }\n\n if (!generator._sources.has(sourceRelative)) {\n generator._sources.add(sourceRelative);\n }\n\n var content = aSourceMapConsumer.sourceContentFor(sourceFile);\n if (content != null) {\n generator.setSourceContent(sourceFile, content);\n }\n });\n return generator;\n };\n\n/**\n * Add a single mapping from original source line and column to the generated\n * source's line and column for this source map being created. The mapping\n * object should have the following properties:\n *\n * - generated: An object with the generated line and column positions.\n * - original: An object with the original line and column positions.\n * - source: The original source file (relative to the sourceRoot).\n * - name: An optional original token name for this mapping.\n */\nSourceMapGenerator.prototype.addMapping =\n function SourceMapGenerator_addMapping(aArgs) {\n var generated = util.getArg(aArgs, 'generated');\n var original = util.getArg(aArgs, 'original', null);\n var source = util.getArg(aArgs, 'source', null);\n var name = util.getArg(aArgs, 'name', null);\n\n if (!this._skipValidation) {\n this._validateMapping(generated, original, source, name);\n }\n\n if (source != null) {\n source = String(source);\n if (!this._sources.has(source)) {\n this._sources.add(source);\n }\n }\n\n if (name != null) {\n name = String(name);\n if (!this._names.has(name)) {\n this._names.add(name);\n }\n }\n\n this._mappings.add({\n generatedLine: generated.line,\n generatedColumn: generated.column,\n originalLine: original != null && original.line,\n originalColumn: original != null && original.column,\n source: source,\n name: name\n });\n };\n\n/**\n * Set the source content for a source file.\n */\nSourceMapGenerator.prototype.setSourceContent =\n function SourceMapGenerator_setSourceContent(aSourceFile, aSourceContent) {\n var source = aSourceFile;\n if (this._sourceRoot != null) {\n source = util.relative(this._sourceRoot, source);\n }\n\n if (aSourceContent != null) {\n // Add the source content to the _sourcesContents map.\n // Create a new _sourcesContents map if the property is null.\n if (!this._sourcesContents) {\n this._sourcesContents = Object.create(null);\n }\n this._sourcesContents[util.toSetString(source)] = aSourceContent;\n } else if (this._sourcesContents) {\n // Remove the source file from the _sourcesContents map.\n // If the _sourcesContents map is empty, set the property to null.\n delete this._sourcesContents[util.toSetString(source)];\n if (Object.keys(this._sourcesContents).length === 0) {\n this._sourcesContents = null;\n }\n }\n };\n\n/**\n * Applies the mappings of a sub-source-map for a specific source file to the\n * source map being generated. Each mapping to the supplied source file is\n * rewritten using the supplied source map. Note: The resolution for the\n * resulting mappings is the minimium of this map and the supplied map.\n *\n * @param aSourceMapConsumer The source map to be applied.\n * @param aSourceFile Optional. The filename of the source file.\n * If omitted, SourceMapConsumer's file property will be used.\n * @param aSourceMapPath Optional. The dirname of the path to the source map\n * to be applied. If relative, it is relative to the SourceMapConsumer.\n * This parameter is needed when the two source maps aren't in the same\n * directory, and the source map to be applied contains relative source\n * paths. If so, those relative source paths need to be rewritten\n * relative to the SourceMapGenerator.\n */\nSourceMapGenerator.prototype.applySourceMap =\n function SourceMapGenerator_applySourceMap(aSourceMapConsumer, aSourceFile, aSourceMapPath) {\n var sourceFile = aSourceFile;\n // If aSourceFile is omitted, we will use the file property of the SourceMap\n if (aSourceFile == null) {\n if (aSourceMapConsumer.file == null) {\n throw new Error(\n 'SourceMapGenerator.prototype.applySourceMap requires either an explicit source file, ' +\n 'or the source map\\'s \"file\" property. Both were omitted.'\n );\n }\n sourceFile = aSourceMapConsumer.file;\n }\n var sourceRoot = this._sourceRoot;\n // Make \"sourceFile\" relative if an absolute Url is passed.\n if (sourceRoot != null) {\n sourceFile = util.relative(sourceRoot, sourceFile);\n }\n // Applying the SourceMap can add and remove items from the sources and\n // the names array.\n var newSources = new ArraySet();\n var newNames = new ArraySet();\n\n // Find mappings for the \"sourceFile\"\n this._mappings.unsortedForEach(function (mapping) {\n if (mapping.source === sourceFile && mapping.originalLine != null) {\n // Check if it can be mapped by the source map, then update the mapping.\n var original = aSourceMapConsumer.originalPositionFor({\n line: mapping.originalLine,\n column: mapping.originalColumn\n });\n if (original.source != null) {\n // Copy mapping\n mapping.source = original.source;\n if (aSourceMapPath != null) {\n mapping.source = util.join(aSourceMapPath, mapping.source)\n }\n if (sourceRoot != null) {\n mapping.source = util.relative(sourceRoot, mapping.source);\n }\n mapping.originalLine = original.line;\n mapping.originalColumn = original.column;\n if (original.name != null) {\n mapping.name = original.name;\n }\n }\n }\n\n var source = mapping.source;\n if (source != null && !newSources.has(source)) {\n newSources.add(source);\n }\n\n var name = mapping.name;\n if (name != null && !newNames.has(name)) {\n newNames.add(name);\n }\n\n }, this);\n this._sources = newSources;\n this._names = newNames;\n\n // Copy sourcesContents of applied map.\n aSourceMapConsumer.sources.forEach(function (sourceFile) {\n var content = aSourceMapConsumer.sourceContentFor(sourceFile);\n if (content != null) {\n if (aSourceMapPath != null) {\n sourceFile = util.join(aSourceMapPath, sourceFile);\n }\n if (sourceRoot != null) {\n sourceFile = util.relative(sourceRoot, sourceFile);\n }\n this.setSourceContent(sourceFile, content);\n }\n }, this);\n };\n\n/**\n * A mapping can have one of the three levels of data:\n *\n * 1. Just the generated position.\n * 2. The Generated position, original position, and original source.\n * 3. Generated and original position, original source, as well as a name\n * token.\n *\n * To maintain consistency, we validate that any new mapping being added falls\n * in to one of these categories.\n */\nSourceMapGenerator.prototype._validateMapping =\n function SourceMapGenerator_validateMapping(aGenerated, aOriginal, aSource,\n aName) {\n // When aOriginal is truthy but has empty values for .line and .column,\n // it is most likely a programmer error. In this case we throw a very\n // specific error message to try to guide them the right way.\n // For example: https://github.com/Polymer/polymer-bundler/pull/519\n if (aOriginal && typeof aOriginal.line !== 'number' && typeof aOriginal.column !== 'number') {\n throw new Error(\n 'original.line and original.column are not numbers -- you probably meant to omit ' +\n 'the original mapping entirely and only map the generated position. If so, pass ' +\n 'null for the original mapping instead of an object with empty or null values.'\n );\n }\n\n if (aGenerated && 'line' in aGenerated && 'column' in aGenerated\n && aGenerated.line > 0 && aGenerated.column >= 0\n && !aOriginal && !aSource && !aName) {\n // Case 1.\n return;\n }\n else if (aGenerated && 'line' in aGenerated && 'column' in aGenerated\n && aOriginal && 'line' in aOriginal && 'column' in aOriginal\n && aGenerated.line > 0 && aGenerated.column >= 0\n && aOriginal.line > 0 && aOriginal.column >= 0\n && aSource) {\n // Cases 2 and 3.\n return;\n }\n else {\n throw new Error('Invalid mapping: ' + JSON.stringify({\n generated: aGenerated,\n source: aSource,\n original: aOriginal,\n name: aName\n }));\n }\n };\n\n/**\n * Serialize the accumulated mappings in to the stream of base 64 VLQs\n * specified by the source map format.\n */\nSourceMapGenerator.prototype._serializeMappings =\n function SourceMapGenerator_serializeMappings() {\n var previousGeneratedColumn = 0;\n var previousGeneratedLine = 1;\n var previousOriginalColumn = 0;\n var previousOriginalLine = 0;\n var previousName = 0;\n var previousSource = 0;\n var result = '';\n var next;\n var mapping;\n var nameIdx;\n var sourceIdx;\n\n var mappings = this._mappings.toArray();\n for (var i = 0, len = mappings.length; i < len; i++) {\n mapping = mappings[i];\n next = ''\n\n if (mapping.generatedLine !== previousGeneratedLine) {\n previousGeneratedColumn = 0;\n while (mapping.generatedLine !== previousGeneratedLine) {\n next += ';';\n previousGeneratedLine++;\n }\n }\n else {\n if (i > 0) {\n if (!util.compareByGeneratedPositionsInflated(mapping, mappings[i - 1])) {\n continue;\n }\n next += ',';\n }\n }\n\n next += base64VLQ.encode(mapping.generatedColumn\n - previousGeneratedColumn);\n previousGeneratedColumn = mapping.generatedColumn;\n\n if (mapping.source != null) {\n sourceIdx = this._sources.indexOf(mapping.source);\n next += base64VLQ.encode(sourceIdx - previousSource);\n previousSource = sourceIdx;\n\n // lines are stored 0-based in SourceMap spec version 3\n next += base64VLQ.encode(mapping.originalLine - 1\n - previousOriginalLine);\n previousOriginalLine = mapping.originalLine - 1;\n\n next += base64VLQ.encode(mapping.originalColumn\n - previousOriginalColumn);\n previousOriginalColumn = mapping.originalColumn;\n\n if (mapping.name != null) {\n nameIdx = this._names.indexOf(mapping.name);\n next += base64VLQ.encode(nameIdx - previousName);\n previousName = nameIdx;\n }\n }\n\n result += next;\n }\n\n return result;\n };\n\nSourceMapGenerator.prototype._generateSourcesContent =\n function SourceMapGenerator_generateSourcesContent(aSources, aSourceRoot) {\n return aSources.map(function (source) {\n if (!this._sourcesContents) {\n return null;\n }\n if (aSourceRoot != null) {\n source = util.relative(aSourceRoot, source);\n }\n var key = util.toSetString(source);\n return Object.prototype.hasOwnProperty.call(this._sourcesContents, key)\n ? this._sourcesContents[key]\n : null;\n }, this);\n };\n\n/**\n * Externalize the source map.\n */\nSourceMapGenerator.prototype.toJSON =\n function SourceMapGenerator_toJSON() {\n var map = {\n version: this._version,\n sources: this._sources.toArray(),\n names: this._names.toArray(),\n mappings: this._serializeMappings()\n };\n if (this._file != null) {\n map.file = this._file;\n }\n if (this._sourceRoot != null) {\n map.sourceRoot = this._sourceRoot;\n }\n if (this._sourcesContents) {\n map.sourcesContent = this._generateSourcesContent(map.sources, map.sourceRoot);\n }\n\n return map;\n };\n\n/**\n * Render the source map being generated to a string.\n */\nSourceMapGenerator.prototype.toString =\n function SourceMapGenerator_toString() {\n return JSON.stringify(this.toJSON());\n };\n\nexports.SourceMapGenerator = SourceMapGenerator;\n","/* -*- Mode: js; js-indent-level: 2; -*- */\n/*\n * Copyright 2011 Mozilla Foundation and contributors\n * Licensed under the New BSD license. See LICENSE or:\n * http://opensource.org/licenses/BSD-3-Clause\n */\n\nvar SourceMapGenerator = require('./source-map-generator').SourceMapGenerator;\nvar util = require('./util');\n\n// Matches a Windows-style `\\r\\n` newline or a `\\n` newline used by all other\n// operating systems these days (capturing the result).\nvar REGEX_NEWLINE = /(\\r?\\n)/;\n\n// Newline character code for charCodeAt() comparisons\nvar NEWLINE_CODE = 10;\n\n// Private symbol for identifying `SourceNode`s when multiple versions of\n// the source-map library are loaded. This MUST NOT CHANGE across\n// versions!\nvar isSourceNode = \"$$$isSourceNode$$$\";\n\n/**\n * SourceNodes provide a way to abstract over interpolating/concatenating\n * snippets of generated JavaScript source code while maintaining the line and\n * column information associated with the original source code.\n *\n * @param aLine The original line number.\n * @param aColumn The original column number.\n * @param aSource The original source's filename.\n * @param aChunks Optional. An array of strings which are snippets of\n * generated JS, or other SourceNodes.\n * @param aName The original identifier.\n */\nfunction SourceNode(aLine, aColumn, aSource, aChunks, aName) {\n this.children = [];\n this.sourceContents = {};\n this.line = aLine == null ? null : aLine;\n this.column = aColumn == null ? null : aColumn;\n this.source = aSource == null ? null : aSource;\n this.name = aName == null ? null : aName;\n this[isSourceNode] = true;\n if (aChunks != null) this.add(aChunks);\n}\n\n/**\n * Creates a SourceNode from generated code and a SourceMapConsumer.\n *\n * @param aGeneratedCode The generated code\n * @param aSourceMapConsumer The SourceMap for the generated code\n * @param aRelativePath Optional. The path that relative sources in the\n * SourceMapConsumer should be relative to.\n */\nSourceNode.fromStringWithSourceMap =\n function SourceNode_fromStringWithSourceMap(aGeneratedCode, aSourceMapConsumer, aRelativePath) {\n // The SourceNode we want to fill with the generated code\n // and the SourceMap\n var node = new SourceNode();\n\n // All even indices of this array are one line of the generated code,\n // while all odd indices are the newlines between two adjacent lines\n // (since `REGEX_NEWLINE` captures its match).\n // Processed fragments are accessed by calling `shiftNextLine`.\n var remainingLines = aGeneratedCode.split(REGEX_NEWLINE);\n var remainingLinesIndex = 0;\n var shiftNextLine = function() {\n var lineContents = getNextLine();\n // The last line of a file might not have a newline.\n var newLine = getNextLine() || \"\";\n return lineContents + newLine;\n\n function getNextLine() {\n return remainingLinesIndex < remainingLines.length ?\n remainingLines[remainingLinesIndex++] : undefined;\n }\n };\n\n // We need to remember the position of \"remainingLines\"\n var lastGeneratedLine = 1, lastGeneratedColumn = 0;\n\n // The generate SourceNodes we need a code range.\n // To extract it current and last mapping is used.\n // Here we store the last mapping.\n var lastMapping = null;\n\n aSourceMapConsumer.eachMapping(function (mapping) {\n if (lastMapping !== null) {\n // We add the code from \"lastMapping\" to \"mapping\":\n // First check if there is a new line in between.\n if (lastGeneratedLine < mapping.generatedLine) {\n // Associate first line with \"lastMapping\"\n addMappingWithCode(lastMapping, shiftNextLine());\n lastGeneratedLine++;\n lastGeneratedColumn = 0;\n // The remaining code is added without mapping\n } else {\n // There is no new line in between.\n // Associate the code between \"lastGeneratedColumn\" and\n // \"mapping.generatedColumn\" with \"lastMapping\"\n var nextLine = remainingLines[remainingLinesIndex] || '';\n var code = nextLine.substr(0, mapping.generatedColumn -\n lastGeneratedColumn);\n remainingLines[remainingLinesIndex] = nextLine.substr(mapping.generatedColumn -\n lastGeneratedColumn);\n lastGeneratedColumn = mapping.generatedColumn;\n addMappingWithCode(lastMapping, code);\n // No more remaining code, continue\n lastMapping = mapping;\n return;\n }\n }\n // We add the generated code until the first mapping\n // to the SourceNode without any mapping.\n // Each line is added as separate string.\n while (lastGeneratedLine < mapping.generatedLine) {\n node.add(shiftNextLine());\n lastGeneratedLine++;\n }\n if (lastGeneratedColumn < mapping.generatedColumn) {\n var nextLine = remainingLines[remainingLinesIndex] || '';\n node.add(nextLine.substr(0, mapping.generatedColumn));\n remainingLines[remainingLinesIndex] = nextLine.substr(mapping.generatedColumn);\n lastGeneratedColumn = mapping.generatedColumn;\n }\n lastMapping = mapping;\n }, this);\n // We have processed all mappings.\n if (remainingLinesIndex < remainingLines.length) {\n if (lastMapping) {\n // Associate the remaining code in the current line with \"lastMapping\"\n addMappingWithCode(lastMapping, shiftNextLine());\n }\n // and add the remaining lines without any mapping\n node.add(remainingLines.splice(remainingLinesIndex).join(\"\"));\n }\n\n // Copy sourcesContent into SourceNode\n aSourceMapConsumer.sources.forEach(function (sourceFile) {\n var content = aSourceMapConsumer.sourceContentFor(sourceFile);\n if (content != null) {\n if (aRelativePath != null) {\n sourceFile = util.join(aRelativePath, sourceFile);\n }\n node.setSourceContent(sourceFile, content);\n }\n });\n\n return node;\n\n function addMappingWithCode(mapping, code) {\n if (mapping === null || mapping.source === undefined) {\n node.add(code);\n } else {\n var source = aRelativePath\n ? util.join(aRelativePath, mapping.source)\n : mapping.source;\n node.add(new SourceNode(mapping.originalLine,\n mapping.originalColumn,\n source,\n code,\n mapping.name));\n }\n }\n };\n\n/**\n * Add a chunk of generated JS to this source node.\n *\n * @param aChunk A string snippet of generated JS code, another instance of\n * SourceNode, or an array where each member is one of those things.\n */\nSourceNode.prototype.add = function SourceNode_add(aChunk) {\n if (Array.isArray(aChunk)) {\n aChunk.forEach(function (chunk) {\n this.add(chunk);\n }, this);\n }\n else if (aChunk[isSourceNode] || typeof aChunk === \"string\") {\n if (aChunk) {\n this.children.push(aChunk);\n }\n }\n else {\n throw new TypeError(\n \"Expected a SourceNode, string, or an array of SourceNodes and strings. Got \" + aChunk\n );\n }\n return this;\n};\n\n/**\n * Add a chunk of generated JS to the beginning of this source node.\n *\n * @param aChunk A string snippet of generated JS code, another instance of\n * SourceNode, or an array where each member is one of those things.\n */\nSourceNode.prototype.prepend = function SourceNode_prepend(aChunk) {\n if (Array.isArray(aChunk)) {\n for (var i = aChunk.length-1; i >= 0; i--) {\n this.prepend(aChunk[i]);\n }\n }\n else if (aChunk[isSourceNode] || typeof aChunk === \"string\") {\n this.children.unshift(aChunk);\n }\n else {\n throw new TypeError(\n \"Expected a SourceNode, string, or an array of SourceNodes and strings. Got \" + aChunk\n );\n }\n return this;\n};\n\n/**\n * Walk over the tree of JS snippets in this node and its children. The\n * walking function is called once for each snippet of JS and is passed that\n * snippet and the its original associated source's line/column location.\n *\n * @param aFn The traversal function.\n */\nSourceNode.prototype.walk = function SourceNode_walk(aFn) {\n var chunk;\n for (var i = 0, len = this.children.length; i < len; i++) {\n chunk = this.children[i];\n if (chunk[isSourceNode]) {\n chunk.walk(aFn);\n }\n else {\n if (chunk !== '') {\n aFn(chunk, { source: this.source,\n line: this.line,\n column: this.column,\n name: this.name });\n }\n }\n }\n};\n\n/**\n * Like `String.prototype.join` except for SourceNodes. Inserts `aStr` between\n * each of `this.children`.\n *\n * @param aSep The separator.\n */\nSourceNode.prototype.join = function SourceNode_join(aSep) {\n var newChildren;\n var i;\n var len = this.children.length;\n if (len > 0) {\n newChildren = [];\n for (i = 0; i < len-1; i++) {\n newChildren.push(this.children[i]);\n newChildren.push(aSep);\n }\n newChildren.push(this.children[i]);\n this.children = newChildren;\n }\n return this;\n};\n\n/**\n * Call String.prototype.replace on the very right-most source snippet. Useful\n * for trimming whitespace from the end of a source node, etc.\n *\n * @param aPattern The pattern to replace.\n * @param aReplacement The thing to replace the pattern with.\n */\nSourceNode.prototype.replaceRight = function SourceNode_replaceRight(aPattern, aReplacement) {\n var lastChild = this.children[this.children.length - 1];\n if (lastChild[isSourceNode]) {\n lastChild.replaceRight(aPattern, aReplacement);\n }\n else if (typeof lastChild === 'string') {\n this.children[this.children.length - 1] = lastChild.replace(aPattern, aReplacement);\n }\n else {\n this.children.push(''.replace(aPattern, aReplacement));\n }\n return this;\n};\n\n/**\n * Set the source content for a source file. This will be added to the SourceMapGenerator\n * in the sourcesContent field.\n *\n * @param aSourceFile The filename of the source file\n * @param aSourceContent The content of the source file\n */\nSourceNode.prototype.setSourceContent =\n function SourceNode_setSourceContent(aSourceFile, aSourceContent) {\n this.sourceContents[util.toSetString(aSourceFile)] = aSourceContent;\n };\n\n/**\n * Walk over the tree of SourceNodes. The walking function is called for each\n * source file content and is passed the filename and source content.\n *\n * @param aFn The traversal function.\n */\nSourceNode.prototype.walkSourceContents =\n function SourceNode_walkSourceContents(aFn) {\n for (var i = 0, len = this.children.length; i < len; i++) {\n if (this.children[i][isSourceNode]) {\n this.children[i].walkSourceContents(aFn);\n }\n }\n\n var sources = Object.keys(this.sourceContents);\n for (var i = 0, len = sources.length; i < len; i++) {\n aFn(util.fromSetString(sources[i]), this.sourceContents[sources[i]]);\n }\n };\n\n/**\n * Return the string representation of this source node. Walks over the tree\n * and concatenates all the various snippets together to one string.\n */\nSourceNode.prototype.toString = function SourceNode_toString() {\n var str = \"\";\n this.walk(function (chunk) {\n str += chunk;\n });\n return str;\n};\n\n/**\n * Returns the string representation of this source node along with a source\n * map.\n */\nSourceNode.prototype.toStringWithSourceMap = function SourceNode_toStringWithSourceMap(aArgs) {\n var generated = {\n code: \"\",\n line: 1,\n column: 0\n };\n var map = new SourceMapGenerator(aArgs);\n var sourceMappingActive = false;\n var lastOriginalSource = null;\n var lastOriginalLine = null;\n var lastOriginalColumn = null;\n var lastOriginalName = null;\n this.walk(function (chunk, original) {\n generated.code += chunk;\n if (original.source !== null\n && original.line !== null\n && original.column !== null) {\n if(lastOriginalSource !== original.source\n || lastOriginalLine !== original.line\n || lastOriginalColumn !== original.column\n || lastOriginalName !== original.name) {\n map.addMapping({\n source: original.source,\n original: {\n line: original.line,\n column: original.column\n },\n generated: {\n line: generated.line,\n column: generated.column\n },\n name: original.name\n });\n }\n lastOriginalSource = original.source;\n lastOriginalLine = original.line;\n lastOriginalColumn = original.column;\n lastOriginalName = original.name;\n sourceMappingActive = true;\n } else if (sourceMappingActive) {\n map.addMapping({\n generated: {\n line: generated.line,\n column: generated.column\n }\n });\n lastOriginalSource = null;\n sourceMappingActive = false;\n }\n for (var idx = 0, length = chunk.length; idx < length; idx++) {\n if (chunk.charCodeAt(idx) === NEWLINE_CODE) {\n generated.line++;\n generated.column = 0;\n // Mappings end at eol\n if (idx + 1 === length) {\n lastOriginalSource = null;\n sourceMappingActive = false;\n } else if (sourceMappingActive) {\n map.addMapping({\n source: original.source,\n original: {\n line: original.line,\n column: original.column\n },\n generated: {\n line: generated.line,\n column: generated.column\n },\n name: original.name\n });\n }\n } else {\n generated.column++;\n }\n }\n });\n this.walkSourceContents(function (sourceFile, sourceContent) {\n map.setSourceContent(sourceFile, sourceContent);\n });\n\n return { code: generated.code, map: map };\n};\n\nexports.SourceNode = SourceNode;\n","/* -*- Mode: js; js-indent-level: 2; -*- */\n/*\n * Copyright 2011 Mozilla Foundation and contributors\n * Licensed under the New BSD license. See LICENSE or:\n * http://opensource.org/licenses/BSD-3-Clause\n */\n\n/**\n * This is a helper function for getting values from parameter/options\n * objects.\n *\n * @param args The object we are extracting values from\n * @param name The name of the property we are getting.\n * @param defaultValue An optional value to return if the property is missing\n * from the object. If this is not specified and the property is missing, an\n * error will be thrown.\n */\nfunction getArg(aArgs, aName, aDefaultValue) {\n if (aName in aArgs) {\n return aArgs[aName];\n } else if (arguments.length === 3) {\n return aDefaultValue;\n } else {\n throw new Error('\"' + aName + '\" is a required argument.');\n }\n}\nexports.getArg = getArg;\n\nvar urlRegexp = /^(?:([\\w+\\-.]+):)?\\/\\/(?:(\\w+:\\w+)@)?([\\w.-]*)(?::(\\d+))?(.*)$/;\nvar dataUrlRegexp = /^data:.+\\,.+$/;\n\nfunction urlParse(aUrl) {\n var match = aUrl.match(urlRegexp);\n if (!match) {\n return null;\n }\n return {\n scheme: match[1],\n auth: match[2],\n host: match[3],\n port: match[4],\n path: match[5]\n };\n}\nexports.urlParse = urlParse;\n\nfunction urlGenerate(aParsedUrl) {\n var url = '';\n if (aParsedUrl.scheme) {\n url += aParsedUrl.scheme + ':';\n }\n url += '//';\n if (aParsedUrl.auth) {\n url += aParsedUrl.auth + '@';\n }\n if (aParsedUrl.host) {\n url += aParsedUrl.host;\n }\n if (aParsedUrl.port) {\n url += \":\" + aParsedUrl.port\n }\n if (aParsedUrl.path) {\n url += aParsedUrl.path;\n }\n return url;\n}\nexports.urlGenerate = urlGenerate;\n\n/**\n * Normalizes a path, or the path portion of a URL:\n *\n * - Replaces consecutive slashes with one slash.\n * - Removes unnecessary '.' parts.\n * - Removes unnecessary '/..' parts.\n *\n * Based on code in the Node.js 'path' core module.\n *\n * @param aPath The path or url to normalize.\n */\nfunction normalize(aPath) {\n var path = aPath;\n var url = urlParse(aPath);\n if (url) {\n if (!url.path) {\n return aPath;\n }\n path = url.path;\n }\n var isAbsolute = exports.isAbsolute(path);\n\n var parts = path.split(/\\/+/);\n for (var part, up = 0, i = parts.length - 1; i >= 0; i--) {\n part = parts[i];\n if (part === '.') {\n parts.splice(i, 1);\n } else if (part === '..') {\n up++;\n } else if (up > 0) {\n if (part === '') {\n // The first part is blank if the path is absolute. Trying to go\n // above the root is a no-op. Therefore we can remove all '..' parts\n // directly after the root.\n parts.splice(i + 1, up);\n up = 0;\n } else {\n parts.splice(i, 2);\n up--;\n }\n }\n }\n path = parts.join('/');\n\n if (path === '') {\n path = isAbsolute ? '/' : '.';\n }\n\n if (url) {\n url.path = path;\n return urlGenerate(url);\n }\n return path;\n}\nexports.normalize = normalize;\n\n/**\n * Joins two paths/URLs.\n *\n * @param aRoot The root path or URL.\n * @param aPath The path or URL to be joined with the root.\n *\n * - If aPath is a URL or a data URI, aPath is returned, unless aPath is a\n * scheme-relative URL: Then the scheme of aRoot, if any, is prepended\n * first.\n * - Otherwise aPath is a path. If aRoot is a URL, then its path portion\n * is updated with the result and aRoot is returned. Otherwise the result\n * is returned.\n * - If aPath is absolute, the result is aPath.\n * - Otherwise the two paths are joined with a slash.\n * - Joining for example 'http://' and 'www.example.com' is also supported.\n */\nfunction join(aRoot, aPath) {\n if (aRoot === \"\") {\n aRoot = \".\";\n }\n if (aPath === \"\") {\n aPath = \".\";\n }\n var aPathUrl = urlParse(aPath);\n var aRootUrl = urlParse(aRoot);\n if (aRootUrl) {\n aRoot = aRootUrl.path || '/';\n }\n\n // `join(foo, '//www.example.org')`\n if (aPathUrl && !aPathUrl.scheme) {\n if (aRootUrl) {\n aPathUrl.scheme = aRootUrl.scheme;\n }\n return urlGenerate(aPathUrl);\n }\n\n if (aPathUrl || aPath.match(dataUrlRegexp)) {\n return aPath;\n }\n\n // `join('http://', 'www.example.com')`\n if (aRootUrl && !aRootUrl.host && !aRootUrl.path) {\n aRootUrl.host = aPath;\n return urlGenerate(aRootUrl);\n }\n\n var joined = aPath.charAt(0) === '/'\n ? aPath\n : normalize(aRoot.replace(/\\/+$/, '') + '/' + aPath);\n\n if (aRootUrl) {\n aRootUrl.path = joined;\n return urlGenerate(aRootUrl);\n }\n return joined;\n}\nexports.join = join;\n\nexports.isAbsolute = function (aPath) {\n return aPath.charAt(0) === '/' || urlRegexp.test(aPath);\n};\n\n/**\n * Make a path relative to a URL or another path.\n *\n * @param aRoot The root path or URL.\n * @param aPath The path or URL to be made relative to aRoot.\n */\nfunction relative(aRoot, aPath) {\n if (aRoot === \"\") {\n aRoot = \".\";\n }\n\n aRoot = aRoot.replace(/\\/$/, '');\n\n // It is possible for the path to be above the root. In this case, simply\n // checking whether the root is a prefix of the path won't work. Instead, we\n // need to remove components from the root one by one, until either we find\n // a prefix that fits, or we run out of components to remove.\n var level = 0;\n while (aPath.indexOf(aRoot + '/') !== 0) {\n var index = aRoot.lastIndexOf(\"/\");\n if (index < 0) {\n return aPath;\n }\n\n // If the only part of the root that is left is the scheme (i.e. http://,\n // file:///, etc.), one or more slashes (/), or simply nothing at all, we\n // have exhausted all components, so the path is not relative to the root.\n aRoot = aRoot.slice(0, index);\n if (aRoot.match(/^([^\\/]+:\\/)?\\/*$/)) {\n return aPath;\n }\n\n ++level;\n }\n\n // Make sure we add a \"../\" for each component we removed from the root.\n return Array(level + 1).join(\"../\") + aPath.substr(aRoot.length + 1);\n}\nexports.relative = relative;\n\nvar supportsNullProto = (function () {\n var obj = Object.create(null);\n return !('__proto__' in obj);\n}());\n\nfunction identity (s) {\n return s;\n}\n\n/**\n * Because behavior goes wacky when you set `__proto__` on objects, we\n * have to prefix all the strings in our set with an arbitrary character.\n *\n * See https://github.com/mozilla/source-map/pull/31 and\n * https://github.com/mozilla/source-map/issues/30\n *\n * @param String aStr\n */\nfunction toSetString(aStr) {\n if (isProtoString(aStr)) {\n return '$' + aStr;\n }\n\n return aStr;\n}\nexports.toSetString = supportsNullProto ? identity : toSetString;\n\nfunction fromSetString(aStr) {\n if (isProtoString(aStr)) {\n return aStr.slice(1);\n }\n\n return aStr;\n}\nexports.fromSetString = supportsNullProto ? identity : fromSetString;\n\nfunction isProtoString(s) {\n if (!s) {\n return false;\n }\n\n var length = s.length;\n\n if (length < 9 /* \"__proto__\".length */) {\n return false;\n }\n\n if (s.charCodeAt(length - 1) !== 95 /* '_' */ ||\n s.charCodeAt(length - 2) !== 95 /* '_' */ ||\n s.charCodeAt(length - 3) !== 111 /* 'o' */ ||\n s.charCodeAt(length - 4) !== 116 /* 't' */ ||\n s.charCodeAt(length - 5) !== 111 /* 'o' */ ||\n s.charCodeAt(length - 6) !== 114 /* 'r' */ ||\n s.charCodeAt(length - 7) !== 112 /* 'p' */ ||\n s.charCodeAt(length - 8) !== 95 /* '_' */ ||\n s.charCodeAt(length - 9) !== 95 /* '_' */) {\n return false;\n }\n\n for (var i = length - 10; i >= 0; i--) {\n if (s.charCodeAt(i) !== 36 /* '$' */) {\n return false;\n }\n }\n\n return true;\n}\n\n/**\n * Comparator between two mappings where the original positions are compared.\n *\n * Optionally pass in `true` as `onlyCompareGenerated` to consider two\n * mappings with the same original source/line/column, but different generated\n * line and column the same. Useful when searching for a mapping with a\n * stubbed out mapping.\n */\nfunction compareByOriginalPositions(mappingA, mappingB, onlyCompareOriginal) {\n var cmp = strcmp(mappingA.source, mappingB.source);\n if (cmp !== 0) {\n return cmp;\n }\n\n cmp = mappingA.originalLine - mappingB.originalLine;\n if (cmp !== 0) {\n return cmp;\n }\n\n cmp = mappingA.originalColumn - mappingB.originalColumn;\n if (cmp !== 0 || onlyCompareOriginal) {\n return cmp;\n }\n\n cmp = mappingA.generatedColumn - mappingB.generatedColumn;\n if (cmp !== 0) {\n return cmp;\n }\n\n cmp = mappingA.generatedLine - mappingB.generatedLine;\n if (cmp !== 0) {\n return cmp;\n }\n\n return strcmp(mappingA.name, mappingB.name);\n}\nexports.compareByOriginalPositions = compareByOriginalPositions;\n\n/**\n * Comparator between two mappings with deflated source and name indices where\n * the generated positions are compared.\n *\n * Optionally pass in `true` as `onlyCompareGenerated` to consider two\n * mappings with the same generated line and column, but different\n * source/name/original line and column the same. Useful when searching for a\n * mapping with a stubbed out mapping.\n */\nfunction compareByGeneratedPositionsDeflated(mappingA, mappingB, onlyCompareGenerated) {\n var cmp = mappingA.generatedLine - mappingB.generatedLine;\n if (cmp !== 0) {\n return cmp;\n }\n\n cmp = mappingA.generatedColumn - mappingB.generatedColumn;\n if (cmp !== 0 || onlyCompareGenerated) {\n return cmp;\n }\n\n cmp = strcmp(mappingA.source, mappingB.source);\n if (cmp !== 0) {\n return cmp;\n }\n\n cmp = mappingA.originalLine - mappingB.originalLine;\n if (cmp !== 0) {\n return cmp;\n }\n\n cmp = mappingA.originalColumn - mappingB.originalColumn;\n if (cmp !== 0) {\n return cmp;\n }\n\n return strcmp(mappingA.name, mappingB.name);\n}\nexports.compareByGeneratedPositionsDeflated = compareByGeneratedPositionsDeflated;\n\nfunction strcmp(aStr1, aStr2) {\n if (aStr1 === aStr2) {\n return 0;\n }\n\n if (aStr1 === null) {\n return 1; // aStr2 !== null\n }\n\n if (aStr2 === null) {\n return -1; // aStr1 !== null\n }\n\n if (aStr1 > aStr2) {\n return 1;\n }\n\n return -1;\n}\n\n/**\n * Comparator between two mappings with inflated source and name strings where\n * the generated positions are compared.\n */\nfunction compareByGeneratedPositionsInflated(mappingA, mappingB) {\n var cmp = mappingA.generatedLine - mappingB.generatedLine;\n if (cmp !== 0) {\n return cmp;\n }\n\n cmp = mappingA.generatedColumn - mappingB.generatedColumn;\n if (cmp !== 0) {\n return cmp;\n }\n\n cmp = strcmp(mappingA.source, mappingB.source);\n if (cmp !== 0) {\n return cmp;\n }\n\n cmp = mappingA.originalLine - mappingB.originalLine;\n if (cmp !== 0) {\n return cmp;\n }\n\n cmp = mappingA.originalColumn - mappingB.originalColumn;\n if (cmp !== 0) {\n return cmp;\n }\n\n return strcmp(mappingA.name, mappingB.name);\n}\nexports.compareByGeneratedPositionsInflated = compareByGeneratedPositionsInflated;\n\n/**\n * Strip any JSON XSSI avoidance prefix from the string (as documented\n * in the source maps specification), and then parse the string as\n * JSON.\n */\nfunction parseSourceMapInput(str) {\n return JSON.parse(str.replace(/^\\)]}'[^\\n]*\\n/, ''));\n}\nexports.parseSourceMapInput = parseSourceMapInput;\n\n/**\n * Compute the URL of a source given the the source root, the source's\n * URL, and the source map's URL.\n */\nfunction computeSourceURL(sourceRoot, sourceURL, sourceMapURL) {\n sourceURL = sourceURL || '';\n\n if (sourceRoot) {\n // This follows what Chrome does.\n if (sourceRoot[sourceRoot.length - 1] !== '/' && sourceURL[0] !== '/') {\n sourceRoot += '/';\n }\n // The spec says:\n // Line 4: An optional source root, useful for relocating source\n // files on a server or removing repeated values in the\n // “sources” entry. This value is prepended to the individual\n // entries in the “source” field.\n sourceURL = sourceRoot + sourceURL;\n }\n\n // Historically, SourceMapConsumer did not take the sourceMapURL as\n // a parameter. This mode is still somewhat supported, which is why\n // this code block is conditional. However, it's preferable to pass\n // the source map URL to SourceMapConsumer, so that this function\n // can implement the source URL resolution algorithm as outlined in\n // the spec. This block is basically the equivalent of:\n // new URL(sourceURL, sourceMapURL).toString()\n // ... except it avoids using URL, which wasn't available in the\n // older releases of node still supported by this library.\n //\n // The spec says:\n // If the sources are not absolute URLs after prepending of the\n // “sourceRoot”, the sources are resolved relative to the\n // SourceMap (like resolving script src in a html document).\n if (sourceMapURL) {\n var parsed = urlParse(sourceMapURL);\n if (!parsed) {\n throw new Error(\"sourceMapURL could not be parsed\");\n }\n if (parsed.path) {\n // Strip the last path component, but keep the \"/\".\n var index = parsed.path.lastIndexOf('/');\n if (index >= 0) {\n parsed.path = parsed.path.substring(0, index + 1);\n }\n }\n sourceURL = join(urlGenerate(parsed), sourceURL);\n }\n\n return normalize(sourceURL);\n}\nexports.computeSourceURL = computeSourceURL;\n","/*\n * Copyright 2009-2011 Mozilla Foundation and contributors\n * Licensed under the New BSD license. See LICENSE.txt or:\n * http://opensource.org/licenses/BSD-3-Clause\n */\nexports.SourceMapGenerator = require('./lib/source-map-generator').SourceMapGenerator;\nexports.SourceMapConsumer = require('./lib/source-map-consumer').SourceMapConsumer;\nexports.SourceNode = require('./lib/source-node').SourceNode;\n","(function (factory) {\n if (typeof exports === 'object') {\n // Node/CommonJS\n module.exports = factory();\n } else if (typeof define === 'function' && define.amd) {\n // AMD\n define(factory);\n } else {\n // Browser globals (with support for web workers)\n var glob;\n\n try {\n glob = window;\n } catch (e) {\n glob = self;\n }\n\n glob.SparkMD5 = factory();\n }\n}(function (undefined) {\n\n 'use strict';\n\n /*\n * Fastest md5 implementation around (JKM md5).\n * Credits: Joseph Myers\n *\n * @see http://www.myersdaily.org/joseph/javascript/md5-text.html\n * @see http://jsperf.com/md5-shootout/7\n */\n\n /* this function is much faster,\n so if possible we use it. Some IEs\n are the only ones I know of that\n need the idiotic second function,\n generated by an if clause. */\n var add32 = function (a, b) {\n return (a + b) & 0xFFFFFFFF;\n },\n hex_chr = ['0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'a', 'b', 'c', 'd', 'e', 'f'];\n\n\n function cmn(q, a, b, x, s, t) {\n a = add32(add32(a, q), add32(x, t));\n return add32((a << s) | (a >>> (32 - s)), b);\n }\n\n function md5cycle(x, k) {\n var a = x[0],\n b = x[1],\n c = x[2],\n d = x[3];\n\n a += (b & c | ~b & d) + k[0] - 680876936 | 0;\n a = (a << 7 | a >>> 25) + b | 0;\n d += (a & b | ~a & c) + k[1] - 389564586 | 0;\n d = (d << 12 | d >>> 20) + a | 0;\n c += (d & a | ~d & b) + k[2] + 606105819 | 0;\n c = (c << 17 | c >>> 15) + d | 0;\n b += (c & d | ~c & a) + k[3] - 1044525330 | 0;\n b = (b << 22 | b >>> 10) + c | 0;\n a += (b & c | ~b & d) + k[4] - 176418897 | 0;\n a = (a << 7 | a >>> 25) + b | 0;\n d += (a & b | ~a & c) + k[5] + 1200080426 | 0;\n d = (d << 12 | d >>> 20) + a | 0;\n c += (d & a | ~d & b) + k[6] - 1473231341 | 0;\n c = (c << 17 | c >>> 15) + d | 0;\n b += (c & d | ~c & a) + k[7] - 45705983 | 0;\n b = (b << 22 | b >>> 10) + c | 0;\n a += (b & c | ~b & d) + k[8] + 1770035416 | 0;\n a = (a << 7 | a >>> 25) + b | 0;\n d += (a & b | ~a & c) + k[9] - 1958414417 | 0;\n d = (d << 12 | d >>> 20) + a | 0;\n c += (d & a | ~d & b) + k[10] - 42063 | 0;\n c = (c << 17 | c >>> 15) + d | 0;\n b += (c & d | ~c & a) + k[11] - 1990404162 | 0;\n b = (b << 22 | b >>> 10) + c | 0;\n a += (b & c | ~b & d) + k[12] + 1804603682 | 0;\n a = (a << 7 | a >>> 25) + b | 0;\n d += (a & b | ~a & c) + k[13] - 40341101 | 0;\n d = (d << 12 | d >>> 20) + a | 0;\n c += (d & a | ~d & b) + k[14] - 1502002290 | 0;\n c = (c << 17 | c >>> 15) + d | 0;\n b += (c & d | ~c & a) + k[15] + 1236535329 | 0;\n b = (b << 22 | b >>> 10) + c | 0;\n\n a += (b & d | c & ~d) + k[1] - 165796510 | 0;\n a = (a << 5 | a >>> 27) + b | 0;\n d += (a & c | b & ~c) + k[6] - 1069501632 | 0;\n d = (d << 9 | d >>> 23) + a | 0;\n c += (d & b | a & ~b) + k[11] + 643717713 | 0;\n c = (c << 14 | c >>> 18) + d | 0;\n b += (c & a | d & ~a) + k[0] - 373897302 | 0;\n b = (b << 20 | b >>> 12) + c | 0;\n a += (b & d | c & ~d) + k[5] - 701558691 | 0;\n a = (a << 5 | a >>> 27) + b | 0;\n d += (a & c | b & ~c) + k[10] + 38016083 | 0;\n d = (d << 9 | d >>> 23) + a | 0;\n c += (d & b | a & ~b) + k[15] - 660478335 | 0;\n c = (c << 14 | c >>> 18) + d | 0;\n b += (c & a | d & ~a) + k[4] - 405537848 | 0;\n b = (b << 20 | b >>> 12) + c | 0;\n a += (b & d | c & ~d) + k[9] + 568446438 | 0;\n a = (a << 5 | a >>> 27) + b | 0;\n d += (a & c | b & ~c) + k[14] - 1019803690 | 0;\n d = (d << 9 | d >>> 23) + a | 0;\n c += (d & b | a & ~b) + k[3] - 187363961 | 0;\n c = (c << 14 | c >>> 18) + d | 0;\n b += (c & a | d & ~a) + k[8] + 1163531501 | 0;\n b = (b << 20 | b >>> 12) + c | 0;\n a += (b & d | c & ~d) + k[13] - 1444681467 | 0;\n a = (a << 5 | a >>> 27) + b | 0;\n d += (a & c | b & ~c) + k[2] - 51403784 | 0;\n d = (d << 9 | d >>> 23) + a | 0;\n c += (d & b | a & ~b) + k[7] + 1735328473 | 0;\n c = (c << 14 | c >>> 18) + d | 0;\n b += (c & a | d & ~a) + k[12] - 1926607734 | 0;\n b = (b << 20 | b >>> 12) + c | 0;\n\n a += (b ^ c ^ d) + k[5] - 378558 | 0;\n a = (a << 4 | a >>> 28) + b | 0;\n d += (a ^ b ^ c) + k[8] - 2022574463 | 0;\n d = (d << 11 | d >>> 21) + a | 0;\n c += (d ^ a ^ b) + k[11] + 1839030562 | 0;\n c = (c << 16 | c >>> 16) + d | 0;\n b += (c ^ d ^ a) + k[14] - 35309556 | 0;\n b = (b << 23 | b >>> 9) + c | 0;\n a += (b ^ c ^ d) + k[1] - 1530992060 | 0;\n a = (a << 4 | a >>> 28) + b | 0;\n d += (a ^ b ^ c) + k[4] + 1272893353 | 0;\n d = (d << 11 | d >>> 21) + a | 0;\n c += (d ^ a ^ b) + k[7] - 155497632 | 0;\n c = (c << 16 | c >>> 16) + d | 0;\n b += (c ^ d ^ a) + k[10] - 1094730640 | 0;\n b = (b << 23 | b >>> 9) + c | 0;\n a += (b ^ c ^ d) + k[13] + 681279174 | 0;\n a = (a << 4 | a >>> 28) + b | 0;\n d += (a ^ b ^ c) + k[0] - 358537222 | 0;\n d = (d << 11 | d >>> 21) + a | 0;\n c += (d ^ a ^ b) + k[3] - 722521979 | 0;\n c = (c << 16 | c >>> 16) + d | 0;\n b += (c ^ d ^ a) + k[6] + 76029189 | 0;\n b = (b << 23 | b >>> 9) + c | 0;\n a += (b ^ c ^ d) + k[9] - 640364487 | 0;\n a = (a << 4 | a >>> 28) + b | 0;\n d += (a ^ b ^ c) + k[12] - 421815835 | 0;\n d = (d << 11 | d >>> 21) + a | 0;\n c += (d ^ a ^ b) + k[15] + 530742520 | 0;\n c = (c << 16 | c >>> 16) + d | 0;\n b += (c ^ d ^ a) + k[2] - 995338651 | 0;\n b = (b << 23 | b >>> 9) + c | 0;\n\n a += (c ^ (b | ~d)) + k[0] - 198630844 | 0;\n a = (a << 6 | a >>> 26) + b | 0;\n d += (b ^ (a | ~c)) + k[7] + 1126891415 | 0;\n d = (d << 10 | d >>> 22) + a | 0;\n c += (a ^ (d | ~b)) + k[14] - 1416354905 | 0;\n c = (c << 15 | c >>> 17) + d | 0;\n b += (d ^ (c | ~a)) + k[5] - 57434055 | 0;\n b = (b << 21 |b >>> 11) + c | 0;\n a += (c ^ (b | ~d)) + k[12] + 1700485571 | 0;\n a = (a << 6 | a >>> 26) + b | 0;\n d += (b ^ (a | ~c)) + k[3] - 1894986606 | 0;\n d = (d << 10 | d >>> 22) + a | 0;\n c += (a ^ (d | ~b)) + k[10] - 1051523 | 0;\n c = (c << 15 | c >>> 17) + d | 0;\n b += (d ^ (c | ~a)) + k[1] - 2054922799 | 0;\n b = (b << 21 |b >>> 11) + c | 0;\n a += (c ^ (b | ~d)) + k[8] + 1873313359 | 0;\n a = (a << 6 | a >>> 26) + b | 0;\n d += (b ^ (a | ~c)) + k[15] - 30611744 | 0;\n d = (d << 10 | d >>> 22) + a | 0;\n c += (a ^ (d | ~b)) + k[6] - 1560198380 | 0;\n c = (c << 15 | c >>> 17) + d | 0;\n b += (d ^ (c | ~a)) + k[13] + 1309151649 | 0;\n b = (b << 21 |b >>> 11) + c | 0;\n a += (c ^ (b | ~d)) + k[4] - 145523070 | 0;\n a = (a << 6 | a >>> 26) + b | 0;\n d += (b ^ (a | ~c)) + k[11] - 1120210379 | 0;\n d = (d << 10 | d >>> 22) + a | 0;\n c += (a ^ (d | ~b)) + k[2] + 718787259 | 0;\n c = (c << 15 | c >>> 17) + d | 0;\n b += (d ^ (c | ~a)) + k[9] - 343485551 | 0;\n b = (b << 21 | b >>> 11) + c | 0;\n\n x[0] = a + x[0] | 0;\n x[1] = b + x[1] | 0;\n x[2] = c + x[2] | 0;\n x[3] = d + x[3] | 0;\n }\n\n function md5blk(s) {\n var md5blks = [],\n i; /* Andy King said do it this way. */\n\n for (i = 0; i < 64; i += 4) {\n md5blks[i >> 2] = s.charCodeAt(i) + (s.charCodeAt(i + 1) << 8) + (s.charCodeAt(i + 2) << 16) + (s.charCodeAt(i + 3) << 24);\n }\n return md5blks;\n }\n\n function md5blk_array(a) {\n var md5blks = [],\n i; /* Andy King said do it this way. */\n\n for (i = 0; i < 64; i += 4) {\n md5blks[i >> 2] = a[i] + (a[i + 1] << 8) + (a[i + 2] << 16) + (a[i + 3] << 24);\n }\n return md5blks;\n }\n\n function md51(s) {\n var n = s.length,\n state = [1732584193, -271733879, -1732584194, 271733878],\n i,\n length,\n tail,\n tmp,\n lo,\n hi;\n\n for (i = 64; i <= n; i += 64) {\n md5cycle(state, md5blk(s.substring(i - 64, i)));\n }\n s = s.substring(i - 64);\n length = s.length;\n tail = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0];\n for (i = 0; i < length; i += 1) {\n tail[i >> 2] |= s.charCodeAt(i) << ((i % 4) << 3);\n }\n tail[i >> 2] |= 0x80 << ((i % 4) << 3);\n if (i > 55) {\n md5cycle(state, tail);\n for (i = 0; i < 16; i += 1) {\n tail[i] = 0;\n }\n }\n\n // Beware that the final length might not fit in 32 bits so we take care of that\n tmp = n * 8;\n tmp = tmp.toString(16).match(/(.*?)(.{0,8})$/);\n lo = parseInt(tmp[2], 16);\n hi = parseInt(tmp[1], 16) || 0;\n\n tail[14] = lo;\n tail[15] = hi;\n\n md5cycle(state, tail);\n return state;\n }\n\n function md51_array(a) {\n var n = a.length,\n state = [1732584193, -271733879, -1732584194, 271733878],\n i,\n length,\n tail,\n tmp,\n lo,\n hi;\n\n for (i = 64; i <= n; i += 64) {\n md5cycle(state, md5blk_array(a.subarray(i - 64, i)));\n }\n\n // Not sure if it is a bug, however IE10 will always produce a sub array of length 1\n // containing the last element of the parent array if the sub array specified starts\n // beyond the length of the parent array - weird.\n // https://connect.microsoft.com/IE/feedback/details/771452/typed-array-subarray-issue\n a = (i - 64) < n ? a.subarray(i - 64) : new Uint8Array(0);\n\n length = a.length;\n tail = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0];\n for (i = 0; i < length; i += 1) {\n tail[i >> 2] |= a[i] << ((i % 4) << 3);\n }\n\n tail[i >> 2] |= 0x80 << ((i % 4) << 3);\n if (i > 55) {\n md5cycle(state, tail);\n for (i = 0; i < 16; i += 1) {\n tail[i] = 0;\n }\n }\n\n // Beware that the final length might not fit in 32 bits so we take care of that\n tmp = n * 8;\n tmp = tmp.toString(16).match(/(.*?)(.{0,8})$/);\n lo = parseInt(tmp[2], 16);\n hi = parseInt(tmp[1], 16) || 0;\n\n tail[14] = lo;\n tail[15] = hi;\n\n md5cycle(state, tail);\n\n return state;\n }\n\n function rhex(n) {\n var s = '',\n j;\n for (j = 0; j < 4; j += 1) {\n s += hex_chr[(n >> (j * 8 + 4)) & 0x0F] + hex_chr[(n >> (j * 8)) & 0x0F];\n }\n return s;\n }\n\n function hex(x) {\n var i;\n for (i = 0; i < x.length; i += 1) {\n x[i] = rhex(x[i]);\n }\n return x.join('');\n }\n\n // In some cases the fast add32 function cannot be used..\n if (hex(md51('hello')) !== '5d41402abc4b2a76b9719d911017c592') {\n add32 = function (x, y) {\n var lsw = (x & 0xFFFF) + (y & 0xFFFF),\n msw = (x >> 16) + (y >> 16) + (lsw >> 16);\n return (msw << 16) | (lsw & 0xFFFF);\n };\n }\n\n // ---------------------------------------------------\n\n /**\n * ArrayBuffer slice polyfill.\n *\n * @see https://github.com/ttaubert/node-arraybuffer-slice\n */\n\n if (typeof ArrayBuffer !== 'undefined' && !ArrayBuffer.prototype.slice) {\n (function () {\n function clamp(val, length) {\n val = (val | 0) || 0;\n\n if (val < 0) {\n return Math.max(val + length, 0);\n }\n\n return Math.min(val, length);\n }\n\n ArrayBuffer.prototype.slice = function (from, to) {\n var length = this.byteLength,\n begin = clamp(from, length),\n end = length,\n num,\n target,\n targetArray,\n sourceArray;\n\n if (to !== undefined) {\n end = clamp(to, length);\n }\n\n if (begin > end) {\n return new ArrayBuffer(0);\n }\n\n num = end - begin;\n target = new ArrayBuffer(num);\n targetArray = new Uint8Array(target);\n\n sourceArray = new Uint8Array(this, begin, num);\n targetArray.set(sourceArray);\n\n return target;\n };\n })();\n }\n\n // ---------------------------------------------------\n\n /**\n * Helpers.\n */\n\n function toUtf8(str) {\n if (/[\\u0080-\\uFFFF]/.test(str)) {\n str = unescape(encodeURIComponent(str));\n }\n\n return str;\n }\n\n function utf8Str2ArrayBuffer(str, returnUInt8Array) {\n var length = str.length,\n buff = new ArrayBuffer(length),\n arr = new Uint8Array(buff),\n i;\n\n for (i = 0; i < length; i += 1) {\n arr[i] = str.charCodeAt(i);\n }\n\n return returnUInt8Array ? arr : buff;\n }\n\n function arrayBuffer2Utf8Str(buff) {\n return String.fromCharCode.apply(null, new Uint8Array(buff));\n }\n\n function concatenateArrayBuffers(first, second, returnUInt8Array) {\n var result = new Uint8Array(first.byteLength + second.byteLength);\n\n result.set(new Uint8Array(first));\n result.set(new Uint8Array(second), first.byteLength);\n\n return returnUInt8Array ? result : result.buffer;\n }\n\n function hexToBinaryString(hex) {\n var bytes = [],\n length = hex.length,\n x;\n\n for (x = 0; x < length - 1; x += 2) {\n bytes.push(parseInt(hex.substr(x, 2), 16));\n }\n\n return String.fromCharCode.apply(String, bytes);\n }\n\n // ---------------------------------------------------\n\n /**\n * SparkMD5 OOP implementation.\n *\n * Use this class to perform an incremental md5, otherwise use the\n * static methods instead.\n */\n\n function SparkMD5() {\n // call reset to init the instance\n this.reset();\n }\n\n /**\n * Appends a string.\n * A conversion will be applied if an utf8 string is detected.\n *\n * @param {String} str The string to be appended\n *\n * @return {SparkMD5} The instance itself\n */\n SparkMD5.prototype.append = function (str) {\n // Converts the string to utf8 bytes if necessary\n // Then append as binary\n this.appendBinary(toUtf8(str));\n\n return this;\n };\n\n /**\n * Appends a binary string.\n *\n * @param {String} contents The binary string to be appended\n *\n * @return {SparkMD5} The instance itself\n */\n SparkMD5.prototype.appendBinary = function (contents) {\n this._buff += contents;\n this._length += contents.length;\n\n var length = this._buff.length,\n i;\n\n for (i = 64; i <= length; i += 64) {\n md5cycle(this._hash, md5blk(this._buff.substring(i - 64, i)));\n }\n\n this._buff = this._buff.substring(i - 64);\n\n return this;\n };\n\n /**\n * Finishes the incremental computation, reseting the internal state and\n * returning the result.\n *\n * @param {Boolean} raw True to get the raw string, false to get the hex string\n *\n * @return {String} The result\n */\n SparkMD5.prototype.end = function (raw) {\n var buff = this._buff,\n length = buff.length,\n i,\n tail = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],\n ret;\n\n for (i = 0; i < length; i += 1) {\n tail[i >> 2] |= buff.charCodeAt(i) << ((i % 4) << 3);\n }\n\n this._finish(tail, length);\n ret = hex(this._hash);\n\n if (raw) {\n ret = hexToBinaryString(ret);\n }\n\n this.reset();\n\n return ret;\n };\n\n /**\n * Resets the internal state of the computation.\n *\n * @return {SparkMD5} The instance itself\n */\n SparkMD5.prototype.reset = function () {\n this._buff = '';\n this._length = 0;\n this._hash = [1732584193, -271733879, -1732584194, 271733878];\n\n return this;\n };\n\n /**\n * Gets the internal state of the computation.\n *\n * @return {Object} The state\n */\n SparkMD5.prototype.getState = function () {\n return {\n buff: this._buff,\n length: this._length,\n hash: this._hash.slice()\n };\n };\n\n /**\n * Gets the internal state of the computation.\n *\n * @param {Object} state The state\n *\n * @return {SparkMD5} The instance itself\n */\n SparkMD5.prototype.setState = function (state) {\n this._buff = state.buff;\n this._length = state.length;\n this._hash = state.hash;\n\n return this;\n };\n\n /**\n * Releases memory used by the incremental buffer and other additional\n * resources. If you plan to use the instance again, use reset instead.\n */\n SparkMD5.prototype.destroy = function () {\n delete this._hash;\n delete this._buff;\n delete this._length;\n };\n\n /**\n * Finish the final calculation based on the tail.\n *\n * @param {Array} tail The tail (will be modified)\n * @param {Number} length The length of the remaining buffer\n */\n SparkMD5.prototype._finish = function (tail, length) {\n var i = length,\n tmp,\n lo,\n hi;\n\n tail[i >> 2] |= 0x80 << ((i % 4) << 3);\n if (i > 55) {\n md5cycle(this._hash, tail);\n for (i = 0; i < 16; i += 1) {\n tail[i] = 0;\n }\n }\n\n // Do the final computation based on the tail and length\n // Beware that the final length may not fit in 32 bits so we take care of that\n tmp = this._length * 8;\n tmp = tmp.toString(16).match(/(.*?)(.{0,8})$/);\n lo = parseInt(tmp[2], 16);\n hi = parseInt(tmp[1], 16) || 0;\n\n tail[14] = lo;\n tail[15] = hi;\n md5cycle(this._hash, tail);\n };\n\n /**\n * Performs the md5 hash on a string.\n * A conversion will be applied if utf8 string is detected.\n *\n * @param {String} str The string\n * @param {Boolean} [raw] True to get the raw string, false to get the hex string\n *\n * @return {String} The result\n */\n SparkMD5.hash = function (str, raw) {\n // Converts the string to utf8 bytes if necessary\n // Then compute it using the binary function\n return SparkMD5.hashBinary(toUtf8(str), raw);\n };\n\n /**\n * Performs the md5 hash on a binary string.\n *\n * @param {String} content The binary string\n * @param {Boolean} [raw] True to get the raw string, false to get the hex string\n *\n * @return {String} The result\n */\n SparkMD5.hashBinary = function (content, raw) {\n var hash = md51(content),\n ret = hex(hash);\n\n return raw ? hexToBinaryString(ret) : ret;\n };\n\n // ---------------------------------------------------\n\n /**\n * SparkMD5 OOP implementation for array buffers.\n *\n * Use this class to perform an incremental md5 ONLY for array buffers.\n */\n SparkMD5.ArrayBuffer = function () {\n // call reset to init the instance\n this.reset();\n };\n\n /**\n * Appends an array buffer.\n *\n * @param {ArrayBuffer} arr The array to be appended\n *\n * @return {SparkMD5.ArrayBuffer} The instance itself\n */\n SparkMD5.ArrayBuffer.prototype.append = function (arr) {\n var buff = concatenateArrayBuffers(this._buff.buffer, arr, true),\n length = buff.length,\n i;\n\n this._length += arr.byteLength;\n\n for (i = 64; i <= length; i += 64) {\n md5cycle(this._hash, md5blk_array(buff.subarray(i - 64, i)));\n }\n\n this._buff = (i - 64) < length ? new Uint8Array(buff.buffer.slice(i - 64)) : new Uint8Array(0);\n\n return this;\n };\n\n /**\n * Finishes the incremental computation, reseting the internal state and\n * returning the result.\n *\n * @param {Boolean} raw True to get the raw string, false to get the hex string\n *\n * @return {String} The result\n */\n SparkMD5.ArrayBuffer.prototype.end = function (raw) {\n var buff = this._buff,\n length = buff.length,\n tail = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],\n i,\n ret;\n\n for (i = 0; i < length; i += 1) {\n tail[i >> 2] |= buff[i] << ((i % 4) << 3);\n }\n\n this._finish(tail, length);\n ret = hex(this._hash);\n\n if (raw) {\n ret = hexToBinaryString(ret);\n }\n\n this.reset();\n\n return ret;\n };\n\n /**\n * Resets the internal state of the computation.\n *\n * @return {SparkMD5.ArrayBuffer} The instance itself\n */\n SparkMD5.ArrayBuffer.prototype.reset = function () {\n this._buff = new Uint8Array(0);\n this._length = 0;\n this._hash = [1732584193, -271733879, -1732584194, 271733878];\n\n return this;\n };\n\n /**\n * Gets the internal state of the computation.\n *\n * @return {Object} The state\n */\n SparkMD5.ArrayBuffer.prototype.getState = function () {\n var state = SparkMD5.prototype.getState.call(this);\n\n // Convert buffer to a string\n state.buff = arrayBuffer2Utf8Str(state.buff);\n\n return state;\n };\n\n /**\n * Gets the internal state of the computation.\n *\n * @param {Object} state The state\n *\n * @return {SparkMD5.ArrayBuffer} The instance itself\n */\n SparkMD5.ArrayBuffer.prototype.setState = function (state) {\n // Convert string to buffer\n state.buff = utf8Str2ArrayBuffer(state.buff, true);\n\n return SparkMD5.prototype.setState.call(this, state);\n };\n\n SparkMD5.ArrayBuffer.prototype.destroy = SparkMD5.prototype.destroy;\n\n SparkMD5.ArrayBuffer.prototype._finish = SparkMD5.prototype._finish;\n\n /**\n * Performs the md5 hash on an array buffer.\n *\n * @param {ArrayBuffer} arr The array buffer\n * @param {Boolean} [raw] True to get the raw string, false to get the hex one\n *\n * @return {String} The result\n */\n SparkMD5.ArrayBuffer.hash = function (arr, raw) {\n var hash = md51_array(new Uint8Array(arr)),\n ret = hex(hash);\n\n return raw ? hexToBinaryString(ret) : ret;\n };\n\n return SparkMD5;\n}));\n","/*\nStimulus 3.2.1\nCopyright © 2023 Basecamp, LLC\n */\nclass EventListener {\n constructor(eventTarget, eventName, eventOptions) {\n this.eventTarget = eventTarget;\n this.eventName = eventName;\n this.eventOptions = eventOptions;\n this.unorderedBindings = new Set();\n }\n connect() {\n this.eventTarget.addEventListener(this.eventName, this, this.eventOptions);\n }\n disconnect() {\n this.eventTarget.removeEventListener(this.eventName, this, this.eventOptions);\n }\n bindingConnected(binding) {\n this.unorderedBindings.add(binding);\n }\n bindingDisconnected(binding) {\n this.unorderedBindings.delete(binding);\n }\n handleEvent(event) {\n const extendedEvent = extendEvent(event);\n for (const binding of this.bindings) {\n if (extendedEvent.immediatePropagationStopped) {\n break;\n }\n else {\n binding.handleEvent(extendedEvent);\n }\n }\n }\n hasBindings() {\n return this.unorderedBindings.size > 0;\n }\n get bindings() {\n return Array.from(this.unorderedBindings).sort((left, right) => {\n const leftIndex = left.index, rightIndex = right.index;\n return leftIndex < rightIndex ? -1 : leftIndex > rightIndex ? 1 : 0;\n });\n }\n}\nfunction extendEvent(event) {\n if (\"immediatePropagationStopped\" in event) {\n return event;\n }\n else {\n const { stopImmediatePropagation } = event;\n return Object.assign(event, {\n immediatePropagationStopped: false,\n stopImmediatePropagation() {\n this.immediatePropagationStopped = true;\n stopImmediatePropagation.call(this);\n },\n });\n }\n}\n\nclass Dispatcher {\n constructor(application) {\n this.application = application;\n this.eventListenerMaps = new Map();\n this.started = false;\n }\n start() {\n if (!this.started) {\n this.started = true;\n this.eventListeners.forEach((eventListener) => eventListener.connect());\n }\n }\n stop() {\n if (this.started) {\n this.started = false;\n this.eventListeners.forEach((eventListener) => eventListener.disconnect());\n }\n }\n get eventListeners() {\n return Array.from(this.eventListenerMaps.values()).reduce((listeners, map) => listeners.concat(Array.from(map.values())), []);\n }\n bindingConnected(binding) {\n this.fetchEventListenerForBinding(binding).bindingConnected(binding);\n }\n bindingDisconnected(binding, clearEventListeners = false) {\n this.fetchEventListenerForBinding(binding).bindingDisconnected(binding);\n if (clearEventListeners)\n this.clearEventListenersForBinding(binding);\n }\n handleError(error, message, detail = {}) {\n this.application.handleError(error, `Error ${message}`, detail);\n }\n clearEventListenersForBinding(binding) {\n const eventListener = this.fetchEventListenerForBinding(binding);\n if (!eventListener.hasBindings()) {\n eventListener.disconnect();\n this.removeMappedEventListenerFor(binding);\n }\n }\n removeMappedEventListenerFor(binding) {\n const { eventTarget, eventName, eventOptions } = binding;\n const eventListenerMap = this.fetchEventListenerMapForEventTarget(eventTarget);\n const cacheKey = this.cacheKey(eventName, eventOptions);\n eventListenerMap.delete(cacheKey);\n if (eventListenerMap.size == 0)\n this.eventListenerMaps.delete(eventTarget);\n }\n fetchEventListenerForBinding(binding) {\n const { eventTarget, eventName, eventOptions } = binding;\n return this.fetchEventListener(eventTarget, eventName, eventOptions);\n }\n fetchEventListener(eventTarget, eventName, eventOptions) {\n const eventListenerMap = this.fetchEventListenerMapForEventTarget(eventTarget);\n const cacheKey = this.cacheKey(eventName, eventOptions);\n let eventListener = eventListenerMap.get(cacheKey);\n if (!eventListener) {\n eventListener = this.createEventListener(eventTarget, eventName, eventOptions);\n eventListenerMap.set(cacheKey, eventListener);\n }\n return eventListener;\n }\n createEventListener(eventTarget, eventName, eventOptions) {\n const eventListener = new EventListener(eventTarget, eventName, eventOptions);\n if (this.started) {\n eventListener.connect();\n }\n return eventListener;\n }\n fetchEventListenerMapForEventTarget(eventTarget) {\n let eventListenerMap = this.eventListenerMaps.get(eventTarget);\n if (!eventListenerMap) {\n eventListenerMap = new Map();\n this.eventListenerMaps.set(eventTarget, eventListenerMap);\n }\n return eventListenerMap;\n }\n cacheKey(eventName, eventOptions) {\n const parts = [eventName];\n Object.keys(eventOptions)\n .sort()\n .forEach((key) => {\n parts.push(`${eventOptions[key] ? \"\" : \"!\"}${key}`);\n });\n return parts.join(\":\");\n }\n}\n\nconst defaultActionDescriptorFilters = {\n stop({ event, value }) {\n if (value)\n event.stopPropagation();\n return true;\n },\n prevent({ event, value }) {\n if (value)\n event.preventDefault();\n return true;\n },\n self({ event, value, element }) {\n if (value) {\n return element === event.target;\n }\n else {\n return true;\n }\n },\n};\nconst descriptorPattern = /^(?:(?:([^.]+?)\\+)?(.+?)(?:\\.(.+?))?(?:@(window|document))?->)?(.+?)(?:#([^:]+?))(?::(.+))?$/;\nfunction parseActionDescriptorString(descriptorString) {\n const source = descriptorString.trim();\n const matches = source.match(descriptorPattern) || [];\n let eventName = matches[2];\n let keyFilter = matches[3];\n if (keyFilter && ![\"keydown\", \"keyup\", \"keypress\"].includes(eventName)) {\n eventName += `.${keyFilter}`;\n keyFilter = \"\";\n }\n return {\n eventTarget: parseEventTarget(matches[4]),\n eventName,\n eventOptions: matches[7] ? parseEventOptions(matches[7]) : {},\n identifier: matches[5],\n methodName: matches[6],\n keyFilter: matches[1] || keyFilter,\n };\n}\nfunction parseEventTarget(eventTargetName) {\n if (eventTargetName == \"window\") {\n return window;\n }\n else if (eventTargetName == \"document\") {\n return document;\n }\n}\nfunction parseEventOptions(eventOptions) {\n return eventOptions\n .split(\":\")\n .reduce((options, token) => Object.assign(options, { [token.replace(/^!/, \"\")]: !/^!/.test(token) }), {});\n}\nfunction stringifyEventTarget(eventTarget) {\n if (eventTarget == window) {\n return \"window\";\n }\n else if (eventTarget == document) {\n return \"document\";\n }\n}\n\nfunction camelize(value) {\n return value.replace(/(?:[_-])([a-z0-9])/g, (_, char) => char.toUpperCase());\n}\nfunction namespaceCamelize(value) {\n return camelize(value.replace(/--/g, \"-\").replace(/__/g, \"_\"));\n}\nfunction capitalize(value) {\n return value.charAt(0).toUpperCase() + value.slice(1);\n}\nfunction dasherize(value) {\n return value.replace(/([A-Z])/g, (_, char) => `-${char.toLowerCase()}`);\n}\nfunction tokenize(value) {\n return value.match(/[^\\s]+/g) || [];\n}\n\nfunction isSomething(object) {\n return object !== null && object !== undefined;\n}\nfunction hasProperty(object, property) {\n return Object.prototype.hasOwnProperty.call(object, property);\n}\n\nconst allModifiers = [\"meta\", \"ctrl\", \"alt\", \"shift\"];\nclass Action {\n constructor(element, index, descriptor, schema) {\n this.element = element;\n this.index = index;\n this.eventTarget = descriptor.eventTarget || element;\n this.eventName = descriptor.eventName || getDefaultEventNameForElement(element) || error(\"missing event name\");\n this.eventOptions = descriptor.eventOptions || {};\n this.identifier = descriptor.identifier || error(\"missing identifier\");\n this.methodName = descriptor.methodName || error(\"missing method name\");\n this.keyFilter = descriptor.keyFilter || \"\";\n this.schema = schema;\n }\n static forToken(token, schema) {\n return new this(token.element, token.index, parseActionDescriptorString(token.content), schema);\n }\n toString() {\n const eventFilter = this.keyFilter ? `.${this.keyFilter}` : \"\";\n const eventTarget = this.eventTargetName ? `@${this.eventTargetName}` : \"\";\n return `${this.eventName}${eventFilter}${eventTarget}->${this.identifier}#${this.methodName}`;\n }\n shouldIgnoreKeyboardEvent(event) {\n if (!this.keyFilter) {\n return false;\n }\n const filters = this.keyFilter.split(\"+\");\n if (this.keyFilterDissatisfied(event, filters)) {\n return true;\n }\n const standardFilter = filters.filter((key) => !allModifiers.includes(key))[0];\n if (!standardFilter) {\n return false;\n }\n if (!hasProperty(this.keyMappings, standardFilter)) {\n error(`contains unknown key filter: ${this.keyFilter}`);\n }\n return this.keyMappings[standardFilter].toLowerCase() !== event.key.toLowerCase();\n }\n shouldIgnoreMouseEvent(event) {\n if (!this.keyFilter) {\n return false;\n }\n const filters = [this.keyFilter];\n if (this.keyFilterDissatisfied(event, filters)) {\n return true;\n }\n return false;\n }\n get params() {\n const params = {};\n const pattern = new RegExp(`^data-${this.identifier}-(.+)-param$`, \"i\");\n for (const { name, value } of Array.from(this.element.attributes)) {\n const match = name.match(pattern);\n const key = match && match[1];\n if (key) {\n params[camelize(key)] = typecast(value);\n }\n }\n return params;\n }\n get eventTargetName() {\n return stringifyEventTarget(this.eventTarget);\n }\n get keyMappings() {\n return this.schema.keyMappings;\n }\n keyFilterDissatisfied(event, filters) {\n const [meta, ctrl, alt, shift] = allModifiers.map((modifier) => filters.includes(modifier));\n return event.metaKey !== meta || event.ctrlKey !== ctrl || event.altKey !== alt || event.shiftKey !== shift;\n }\n}\nconst defaultEventNames = {\n a: () => \"click\",\n button: () => \"click\",\n form: () => \"submit\",\n details: () => \"toggle\",\n input: (e) => (e.getAttribute(\"type\") == \"submit\" ? \"click\" : \"input\"),\n select: () => \"change\",\n textarea: () => \"input\",\n};\nfunction getDefaultEventNameForElement(element) {\n const tagName = element.tagName.toLowerCase();\n if (tagName in defaultEventNames) {\n return defaultEventNames[tagName](element);\n }\n}\nfunction error(message) {\n throw new Error(message);\n}\nfunction typecast(value) {\n try {\n return JSON.parse(value);\n }\n catch (o_O) {\n return value;\n }\n}\n\nclass Binding {\n constructor(context, action) {\n this.context = context;\n this.action = action;\n }\n get index() {\n return this.action.index;\n }\n get eventTarget() {\n return this.action.eventTarget;\n }\n get eventOptions() {\n return this.action.eventOptions;\n }\n get identifier() {\n return this.context.identifier;\n }\n handleEvent(event) {\n const actionEvent = this.prepareActionEvent(event);\n if (this.willBeInvokedByEvent(event) && this.applyEventModifiers(actionEvent)) {\n this.invokeWithEvent(actionEvent);\n }\n }\n get eventName() {\n return this.action.eventName;\n }\n get method() {\n const method = this.controller[this.methodName];\n if (typeof method == \"function\") {\n return method;\n }\n throw new Error(`Action \"${this.action}\" references undefined method \"${this.methodName}\"`);\n }\n applyEventModifiers(event) {\n const { element } = this.action;\n const { actionDescriptorFilters } = this.context.application;\n const { controller } = this.context;\n let passes = true;\n for (const [name, value] of Object.entries(this.eventOptions)) {\n if (name in actionDescriptorFilters) {\n const filter = actionDescriptorFilters[name];\n passes = passes && filter({ name, value, event, element, controller });\n }\n else {\n continue;\n }\n }\n return passes;\n }\n prepareActionEvent(event) {\n return Object.assign(event, { params: this.action.params });\n }\n invokeWithEvent(event) {\n const { target, currentTarget } = event;\n try {\n this.method.call(this.controller, event);\n this.context.logDebugActivity(this.methodName, { event, target, currentTarget, action: this.methodName });\n }\n catch (error) {\n const { identifier, controller, element, index } = this;\n const detail = { identifier, controller, element, index, event };\n this.context.handleError(error, `invoking action \"${this.action}\"`, detail);\n }\n }\n willBeInvokedByEvent(event) {\n const eventTarget = event.target;\n if (event instanceof KeyboardEvent && this.action.shouldIgnoreKeyboardEvent(event)) {\n return false;\n }\n if (event instanceof MouseEvent && this.action.shouldIgnoreMouseEvent(event)) {\n return false;\n }\n if (this.element === eventTarget) {\n return true;\n }\n else if (eventTarget instanceof Element && this.element.contains(eventTarget)) {\n return this.scope.containsElement(eventTarget);\n }\n else {\n return this.scope.containsElement(this.action.element);\n }\n }\n get controller() {\n return this.context.controller;\n }\n get methodName() {\n return this.action.methodName;\n }\n get element() {\n return this.scope.element;\n }\n get scope() {\n return this.context.scope;\n }\n}\n\nclass ElementObserver {\n constructor(element, delegate) {\n this.mutationObserverInit = { attributes: true, childList: true, subtree: true };\n this.element = element;\n this.started = false;\n this.delegate = delegate;\n this.elements = new Set();\n this.mutationObserver = new MutationObserver((mutations) => this.processMutations(mutations));\n }\n start() {\n if (!this.started) {\n this.started = true;\n this.mutationObserver.observe(this.element, this.mutationObserverInit);\n this.refresh();\n }\n }\n pause(callback) {\n if (this.started) {\n this.mutationObserver.disconnect();\n this.started = false;\n }\n callback();\n if (!this.started) {\n this.mutationObserver.observe(this.element, this.mutationObserverInit);\n this.started = true;\n }\n }\n stop() {\n if (this.started) {\n this.mutationObserver.takeRecords();\n this.mutationObserver.disconnect();\n this.started = false;\n }\n }\n refresh() {\n if (this.started) {\n const matches = new Set(this.matchElementsInTree());\n for (const element of Array.from(this.elements)) {\n if (!matches.has(element)) {\n this.removeElement(element);\n }\n }\n for (const element of Array.from(matches)) {\n this.addElement(element);\n }\n }\n }\n processMutations(mutations) {\n if (this.started) {\n for (const mutation of mutations) {\n this.processMutation(mutation);\n }\n }\n }\n processMutation(mutation) {\n if (mutation.type == \"attributes\") {\n this.processAttributeChange(mutation.target, mutation.attributeName);\n }\n else if (mutation.type == \"childList\") {\n this.processRemovedNodes(mutation.removedNodes);\n this.processAddedNodes(mutation.addedNodes);\n }\n }\n processAttributeChange(element, attributeName) {\n if (this.elements.has(element)) {\n if (this.delegate.elementAttributeChanged && this.matchElement(element)) {\n this.delegate.elementAttributeChanged(element, attributeName);\n }\n else {\n this.removeElement(element);\n }\n }\n else if (this.matchElement(element)) {\n this.addElement(element);\n }\n }\n processRemovedNodes(nodes) {\n for (const node of Array.from(nodes)) {\n const element = this.elementFromNode(node);\n if (element) {\n this.processTree(element, this.removeElement);\n }\n }\n }\n processAddedNodes(nodes) {\n for (const node of Array.from(nodes)) {\n const element = this.elementFromNode(node);\n if (element && this.elementIsActive(element)) {\n this.processTree(element, this.addElement);\n }\n }\n }\n matchElement(element) {\n return this.delegate.matchElement(element);\n }\n matchElementsInTree(tree = this.element) {\n return this.delegate.matchElementsInTree(tree);\n }\n processTree(tree, processor) {\n for (const element of this.matchElementsInTree(tree)) {\n processor.call(this, element);\n }\n }\n elementFromNode(node) {\n if (node.nodeType == Node.ELEMENT_NODE) {\n return node;\n }\n }\n elementIsActive(element) {\n if (element.isConnected != this.element.isConnected) {\n return false;\n }\n else {\n return this.element.contains(element);\n }\n }\n addElement(element) {\n if (!this.elements.has(element)) {\n if (this.elementIsActive(element)) {\n this.elements.add(element);\n if (this.delegate.elementMatched) {\n this.delegate.elementMatched(element);\n }\n }\n }\n }\n removeElement(element) {\n if (this.elements.has(element)) {\n this.elements.delete(element);\n if (this.delegate.elementUnmatched) {\n this.delegate.elementUnmatched(element);\n }\n }\n }\n}\n\nclass AttributeObserver {\n constructor(element, attributeName, delegate) {\n this.attributeName = attributeName;\n this.delegate = delegate;\n this.elementObserver = new ElementObserver(element, this);\n }\n get element() {\n return this.elementObserver.element;\n }\n get selector() {\n return `[${this.attributeName}]`;\n }\n start() {\n this.elementObserver.start();\n }\n pause(callback) {\n this.elementObserver.pause(callback);\n }\n stop() {\n this.elementObserver.stop();\n }\n refresh() {\n this.elementObserver.refresh();\n }\n get started() {\n return this.elementObserver.started;\n }\n matchElement(element) {\n return element.hasAttribute(this.attributeName);\n }\n matchElementsInTree(tree) {\n const match = this.matchElement(tree) ? [tree] : [];\n const matches = Array.from(tree.querySelectorAll(this.selector));\n return match.concat(matches);\n }\n elementMatched(element) {\n if (this.delegate.elementMatchedAttribute) {\n this.delegate.elementMatchedAttribute(element, this.attributeName);\n }\n }\n elementUnmatched(element) {\n if (this.delegate.elementUnmatchedAttribute) {\n this.delegate.elementUnmatchedAttribute(element, this.attributeName);\n }\n }\n elementAttributeChanged(element, attributeName) {\n if (this.delegate.elementAttributeValueChanged && this.attributeName == attributeName) {\n this.delegate.elementAttributeValueChanged(element, attributeName);\n }\n }\n}\n\nfunction add(map, key, value) {\n fetch(map, key).add(value);\n}\nfunction del(map, key, value) {\n fetch(map, key).delete(value);\n prune(map, key);\n}\nfunction fetch(map, key) {\n let values = map.get(key);\n if (!values) {\n values = new Set();\n map.set(key, values);\n }\n return values;\n}\nfunction prune(map, key) {\n const values = map.get(key);\n if (values != null && values.size == 0) {\n map.delete(key);\n }\n}\n\nclass Multimap {\n constructor() {\n this.valuesByKey = new Map();\n }\n get keys() {\n return Array.from(this.valuesByKey.keys());\n }\n get values() {\n const sets = Array.from(this.valuesByKey.values());\n return sets.reduce((values, set) => values.concat(Array.from(set)), []);\n }\n get size() {\n const sets = Array.from(this.valuesByKey.values());\n return sets.reduce((size, set) => size + set.size, 0);\n }\n add(key, value) {\n add(this.valuesByKey, key, value);\n }\n delete(key, value) {\n del(this.valuesByKey, key, value);\n }\n has(key, value) {\n const values = this.valuesByKey.get(key);\n return values != null && values.has(value);\n }\n hasKey(key) {\n return this.valuesByKey.has(key);\n }\n hasValue(value) {\n const sets = Array.from(this.valuesByKey.values());\n return sets.some((set) => set.has(value));\n }\n getValuesForKey(key) {\n const values = this.valuesByKey.get(key);\n return values ? Array.from(values) : [];\n }\n getKeysForValue(value) {\n return Array.from(this.valuesByKey)\n .filter(([_key, values]) => values.has(value))\n .map(([key, _values]) => key);\n }\n}\n\nclass IndexedMultimap extends Multimap {\n constructor() {\n super();\n this.keysByValue = new Map();\n }\n get values() {\n return Array.from(this.keysByValue.keys());\n }\n add(key, value) {\n super.add(key, value);\n add(this.keysByValue, value, key);\n }\n delete(key, value) {\n super.delete(key, value);\n del(this.keysByValue, value, key);\n }\n hasValue(value) {\n return this.keysByValue.has(value);\n }\n getKeysForValue(value) {\n const set = this.keysByValue.get(value);\n return set ? Array.from(set) : [];\n }\n}\n\nclass SelectorObserver {\n constructor(element, selector, delegate, details) {\n this._selector = selector;\n this.details = details;\n this.elementObserver = new ElementObserver(element, this);\n this.delegate = delegate;\n this.matchesByElement = new Multimap();\n }\n get started() {\n return this.elementObserver.started;\n }\n get selector() {\n return this._selector;\n }\n set selector(selector) {\n this._selector = selector;\n this.refresh();\n }\n start() {\n this.elementObserver.start();\n }\n pause(callback) {\n this.elementObserver.pause(callback);\n }\n stop() {\n this.elementObserver.stop();\n }\n refresh() {\n this.elementObserver.refresh();\n }\n get element() {\n return this.elementObserver.element;\n }\n matchElement(element) {\n const { selector } = this;\n if (selector) {\n const matches = element.matches(selector);\n if (this.delegate.selectorMatchElement) {\n return matches && this.delegate.selectorMatchElement(element, this.details);\n }\n return matches;\n }\n else {\n return false;\n }\n }\n matchElementsInTree(tree) {\n const { selector } = this;\n if (selector) {\n const match = this.matchElement(tree) ? [tree] : [];\n const matches = Array.from(tree.querySelectorAll(selector)).filter((match) => this.matchElement(match));\n return match.concat(matches);\n }\n else {\n return [];\n }\n }\n elementMatched(element) {\n const { selector } = this;\n if (selector) {\n this.selectorMatched(element, selector);\n }\n }\n elementUnmatched(element) {\n const selectors = this.matchesByElement.getKeysForValue(element);\n for (const selector of selectors) {\n this.selectorUnmatched(element, selector);\n }\n }\n elementAttributeChanged(element, _attributeName) {\n const { selector } = this;\n if (selector) {\n const matches = this.matchElement(element);\n const matchedBefore = this.matchesByElement.has(selector, element);\n if (matches && !matchedBefore) {\n this.selectorMatched(element, selector);\n }\n else if (!matches && matchedBefore) {\n this.selectorUnmatched(element, selector);\n }\n }\n }\n selectorMatched(element, selector) {\n this.delegate.selectorMatched(element, selector, this.details);\n this.matchesByElement.add(selector, element);\n }\n selectorUnmatched(element, selector) {\n this.delegate.selectorUnmatched(element, selector, this.details);\n this.matchesByElement.delete(selector, element);\n }\n}\n\nclass StringMapObserver {\n constructor(element, delegate) {\n this.element = element;\n this.delegate = delegate;\n this.started = false;\n this.stringMap = new Map();\n this.mutationObserver = new MutationObserver((mutations) => this.processMutations(mutations));\n }\n start() {\n if (!this.started) {\n this.started = true;\n this.mutationObserver.observe(this.element, { attributes: true, attributeOldValue: true });\n this.refresh();\n }\n }\n stop() {\n if (this.started) {\n this.mutationObserver.takeRecords();\n this.mutationObserver.disconnect();\n this.started = false;\n }\n }\n refresh() {\n if (this.started) {\n for (const attributeName of this.knownAttributeNames) {\n this.refreshAttribute(attributeName, null);\n }\n }\n }\n processMutations(mutations) {\n if (this.started) {\n for (const mutation of mutations) {\n this.processMutation(mutation);\n }\n }\n }\n processMutation(mutation) {\n const attributeName = mutation.attributeName;\n if (attributeName) {\n this.refreshAttribute(attributeName, mutation.oldValue);\n }\n }\n refreshAttribute(attributeName, oldValue) {\n const key = this.delegate.getStringMapKeyForAttribute(attributeName);\n if (key != null) {\n if (!this.stringMap.has(attributeName)) {\n this.stringMapKeyAdded(key, attributeName);\n }\n const value = this.element.getAttribute(attributeName);\n if (this.stringMap.get(attributeName) != value) {\n this.stringMapValueChanged(value, key, oldValue);\n }\n if (value == null) {\n const oldValue = this.stringMap.get(attributeName);\n this.stringMap.delete(attributeName);\n if (oldValue)\n this.stringMapKeyRemoved(key, attributeName, oldValue);\n }\n else {\n this.stringMap.set(attributeName, value);\n }\n }\n }\n stringMapKeyAdded(key, attributeName) {\n if (this.delegate.stringMapKeyAdded) {\n this.delegate.stringMapKeyAdded(key, attributeName);\n }\n }\n stringMapValueChanged(value, key, oldValue) {\n if (this.delegate.stringMapValueChanged) {\n this.delegate.stringMapValueChanged(value, key, oldValue);\n }\n }\n stringMapKeyRemoved(key, attributeName, oldValue) {\n if (this.delegate.stringMapKeyRemoved) {\n this.delegate.stringMapKeyRemoved(key, attributeName, oldValue);\n }\n }\n get knownAttributeNames() {\n return Array.from(new Set(this.currentAttributeNames.concat(this.recordedAttributeNames)));\n }\n get currentAttributeNames() {\n return Array.from(this.element.attributes).map((attribute) => attribute.name);\n }\n get recordedAttributeNames() {\n return Array.from(this.stringMap.keys());\n }\n}\n\nclass TokenListObserver {\n constructor(element, attributeName, delegate) {\n this.attributeObserver = new AttributeObserver(element, attributeName, this);\n this.delegate = delegate;\n this.tokensByElement = new Multimap();\n }\n get started() {\n return this.attributeObserver.started;\n }\n start() {\n this.attributeObserver.start();\n }\n pause(callback) {\n this.attributeObserver.pause(callback);\n }\n stop() {\n this.attributeObserver.stop();\n }\n refresh() {\n this.attributeObserver.refresh();\n }\n get element() {\n return this.attributeObserver.element;\n }\n get attributeName() {\n return this.attributeObserver.attributeName;\n }\n elementMatchedAttribute(element) {\n this.tokensMatched(this.readTokensForElement(element));\n }\n elementAttributeValueChanged(element) {\n const [unmatchedTokens, matchedTokens] = this.refreshTokensForElement(element);\n this.tokensUnmatched(unmatchedTokens);\n this.tokensMatched(matchedTokens);\n }\n elementUnmatchedAttribute(element) {\n this.tokensUnmatched(this.tokensByElement.getValuesForKey(element));\n }\n tokensMatched(tokens) {\n tokens.forEach((token) => this.tokenMatched(token));\n }\n tokensUnmatched(tokens) {\n tokens.forEach((token) => this.tokenUnmatched(token));\n }\n tokenMatched(token) {\n this.delegate.tokenMatched(token);\n this.tokensByElement.add(token.element, token);\n }\n tokenUnmatched(token) {\n this.delegate.tokenUnmatched(token);\n this.tokensByElement.delete(token.element, token);\n }\n refreshTokensForElement(element) {\n const previousTokens = this.tokensByElement.getValuesForKey(element);\n const currentTokens = this.readTokensForElement(element);\n const firstDifferingIndex = zip(previousTokens, currentTokens).findIndex(([previousToken, currentToken]) => !tokensAreEqual(previousToken, currentToken));\n if (firstDifferingIndex == -1) {\n return [[], []];\n }\n else {\n return [previousTokens.slice(firstDifferingIndex), currentTokens.slice(firstDifferingIndex)];\n }\n }\n readTokensForElement(element) {\n const attributeName = this.attributeName;\n const tokenString = element.getAttribute(attributeName) || \"\";\n return parseTokenString(tokenString, element, attributeName);\n }\n}\nfunction parseTokenString(tokenString, element, attributeName) {\n return tokenString\n .trim()\n .split(/\\s+/)\n .filter((content) => content.length)\n .map((content, index) => ({ element, attributeName, content, index }));\n}\nfunction zip(left, right) {\n const length = Math.max(left.length, right.length);\n return Array.from({ length }, (_, index) => [left[index], right[index]]);\n}\nfunction tokensAreEqual(left, right) {\n return left && right && left.index == right.index && left.content == right.content;\n}\n\nclass ValueListObserver {\n constructor(element, attributeName, delegate) {\n this.tokenListObserver = new TokenListObserver(element, attributeName, this);\n this.delegate = delegate;\n this.parseResultsByToken = new WeakMap();\n this.valuesByTokenByElement = new WeakMap();\n }\n get started() {\n return this.tokenListObserver.started;\n }\n start() {\n this.tokenListObserver.start();\n }\n stop() {\n this.tokenListObserver.stop();\n }\n refresh() {\n this.tokenListObserver.refresh();\n }\n get element() {\n return this.tokenListObserver.element;\n }\n get attributeName() {\n return this.tokenListObserver.attributeName;\n }\n tokenMatched(token) {\n const { element } = token;\n const { value } = this.fetchParseResultForToken(token);\n if (value) {\n this.fetchValuesByTokenForElement(element).set(token, value);\n this.delegate.elementMatchedValue(element, value);\n }\n }\n tokenUnmatched(token) {\n const { element } = token;\n const { value } = this.fetchParseResultForToken(token);\n if (value) {\n this.fetchValuesByTokenForElement(element).delete(token);\n this.delegate.elementUnmatchedValue(element, value);\n }\n }\n fetchParseResultForToken(token) {\n let parseResult = this.parseResultsByToken.get(token);\n if (!parseResult) {\n parseResult = this.parseToken(token);\n this.parseResultsByToken.set(token, parseResult);\n }\n return parseResult;\n }\n fetchValuesByTokenForElement(element) {\n let valuesByToken = this.valuesByTokenByElement.get(element);\n if (!valuesByToken) {\n valuesByToken = new Map();\n this.valuesByTokenByElement.set(element, valuesByToken);\n }\n return valuesByToken;\n }\n parseToken(token) {\n try {\n const value = this.delegate.parseValueForToken(token);\n return { value };\n }\n catch (error) {\n return { error };\n }\n }\n}\n\nclass BindingObserver {\n constructor(context, delegate) {\n this.context = context;\n this.delegate = delegate;\n this.bindingsByAction = new Map();\n }\n start() {\n if (!this.valueListObserver) {\n this.valueListObserver = new ValueListObserver(this.element, this.actionAttribute, this);\n this.valueListObserver.start();\n }\n }\n stop() {\n if (this.valueListObserver) {\n this.valueListObserver.stop();\n delete this.valueListObserver;\n this.disconnectAllActions();\n }\n }\n get element() {\n return this.context.element;\n }\n get identifier() {\n return this.context.identifier;\n }\n get actionAttribute() {\n return this.schema.actionAttribute;\n }\n get schema() {\n return this.context.schema;\n }\n get bindings() {\n return Array.from(this.bindingsByAction.values());\n }\n connectAction(action) {\n const binding = new Binding(this.context, action);\n this.bindingsByAction.set(action, binding);\n this.delegate.bindingConnected(binding);\n }\n disconnectAction(action) {\n const binding = this.bindingsByAction.get(action);\n if (binding) {\n this.bindingsByAction.delete(action);\n this.delegate.bindingDisconnected(binding);\n }\n }\n disconnectAllActions() {\n this.bindings.forEach((binding) => this.delegate.bindingDisconnected(binding, true));\n this.bindingsByAction.clear();\n }\n parseValueForToken(token) {\n const action = Action.forToken(token, this.schema);\n if (action.identifier == this.identifier) {\n return action;\n }\n }\n elementMatchedValue(element, action) {\n this.connectAction(action);\n }\n elementUnmatchedValue(element, action) {\n this.disconnectAction(action);\n }\n}\n\nclass ValueObserver {\n constructor(context, receiver) {\n this.context = context;\n this.receiver = receiver;\n this.stringMapObserver = new StringMapObserver(this.element, this);\n this.valueDescriptorMap = this.controller.valueDescriptorMap;\n }\n start() {\n this.stringMapObserver.start();\n this.invokeChangedCallbacksForDefaultValues();\n }\n stop() {\n this.stringMapObserver.stop();\n }\n get element() {\n return this.context.element;\n }\n get controller() {\n return this.context.controller;\n }\n getStringMapKeyForAttribute(attributeName) {\n if (attributeName in this.valueDescriptorMap) {\n return this.valueDescriptorMap[attributeName].name;\n }\n }\n stringMapKeyAdded(key, attributeName) {\n const descriptor = this.valueDescriptorMap[attributeName];\n if (!this.hasValue(key)) {\n this.invokeChangedCallback(key, descriptor.writer(this.receiver[key]), descriptor.writer(descriptor.defaultValue));\n }\n }\n stringMapValueChanged(value, name, oldValue) {\n const descriptor = this.valueDescriptorNameMap[name];\n if (value === null)\n return;\n if (oldValue === null) {\n oldValue = descriptor.writer(descriptor.defaultValue);\n }\n this.invokeChangedCallback(name, value, oldValue);\n }\n stringMapKeyRemoved(key, attributeName, oldValue) {\n const descriptor = this.valueDescriptorNameMap[key];\n if (this.hasValue(key)) {\n this.invokeChangedCallback(key, descriptor.writer(this.receiver[key]), oldValue);\n }\n else {\n this.invokeChangedCallback(key, descriptor.writer(descriptor.defaultValue), oldValue);\n }\n }\n invokeChangedCallbacksForDefaultValues() {\n for (const { key, name, defaultValue, writer } of this.valueDescriptors) {\n if (defaultValue != undefined && !this.controller.data.has(key)) {\n this.invokeChangedCallback(name, writer(defaultValue), undefined);\n }\n }\n }\n invokeChangedCallback(name, rawValue, rawOldValue) {\n const changedMethodName = `${name}Changed`;\n const changedMethod = this.receiver[changedMethodName];\n if (typeof changedMethod == \"function\") {\n const descriptor = this.valueDescriptorNameMap[name];\n try {\n const value = descriptor.reader(rawValue);\n let oldValue = rawOldValue;\n if (rawOldValue) {\n oldValue = descriptor.reader(rawOldValue);\n }\n changedMethod.call(this.receiver, value, oldValue);\n }\n catch (error) {\n if (error instanceof TypeError) {\n error.message = `Stimulus Value \"${this.context.identifier}.${descriptor.name}\" - ${error.message}`;\n }\n throw error;\n }\n }\n }\n get valueDescriptors() {\n const { valueDescriptorMap } = this;\n return Object.keys(valueDescriptorMap).map((key) => valueDescriptorMap[key]);\n }\n get valueDescriptorNameMap() {\n const descriptors = {};\n Object.keys(this.valueDescriptorMap).forEach((key) => {\n const descriptor = this.valueDescriptorMap[key];\n descriptors[descriptor.name] = descriptor;\n });\n return descriptors;\n }\n hasValue(attributeName) {\n const descriptor = this.valueDescriptorNameMap[attributeName];\n const hasMethodName = `has${capitalize(descriptor.name)}`;\n return this.receiver[hasMethodName];\n }\n}\n\nclass TargetObserver {\n constructor(context, delegate) {\n this.context = context;\n this.delegate = delegate;\n this.targetsByName = new Multimap();\n }\n start() {\n if (!this.tokenListObserver) {\n this.tokenListObserver = new TokenListObserver(this.element, this.attributeName, this);\n this.tokenListObserver.start();\n }\n }\n stop() {\n if (this.tokenListObserver) {\n this.disconnectAllTargets();\n this.tokenListObserver.stop();\n delete this.tokenListObserver;\n }\n }\n tokenMatched({ element, content: name }) {\n if (this.scope.containsElement(element)) {\n this.connectTarget(element, name);\n }\n }\n tokenUnmatched({ element, content: name }) {\n this.disconnectTarget(element, name);\n }\n connectTarget(element, name) {\n var _a;\n if (!this.targetsByName.has(name, element)) {\n this.targetsByName.add(name, element);\n (_a = this.tokenListObserver) === null || _a === void 0 ? void 0 : _a.pause(() => this.delegate.targetConnected(element, name));\n }\n }\n disconnectTarget(element, name) {\n var _a;\n if (this.targetsByName.has(name, element)) {\n this.targetsByName.delete(name, element);\n (_a = this.tokenListObserver) === null || _a === void 0 ? void 0 : _a.pause(() => this.delegate.targetDisconnected(element, name));\n }\n }\n disconnectAllTargets() {\n for (const name of this.targetsByName.keys) {\n for (const element of this.targetsByName.getValuesForKey(name)) {\n this.disconnectTarget(element, name);\n }\n }\n }\n get attributeName() {\n return `data-${this.context.identifier}-target`;\n }\n get element() {\n return this.context.element;\n }\n get scope() {\n return this.context.scope;\n }\n}\n\nfunction readInheritableStaticArrayValues(constructor, propertyName) {\n const ancestors = getAncestorsForConstructor(constructor);\n return Array.from(ancestors.reduce((values, constructor) => {\n getOwnStaticArrayValues(constructor, propertyName).forEach((name) => values.add(name));\n return values;\n }, new Set()));\n}\nfunction readInheritableStaticObjectPairs(constructor, propertyName) {\n const ancestors = getAncestorsForConstructor(constructor);\n return ancestors.reduce((pairs, constructor) => {\n pairs.push(...getOwnStaticObjectPairs(constructor, propertyName));\n return pairs;\n }, []);\n}\nfunction getAncestorsForConstructor(constructor) {\n const ancestors = [];\n while (constructor) {\n ancestors.push(constructor);\n constructor = Object.getPrototypeOf(constructor);\n }\n return ancestors.reverse();\n}\nfunction getOwnStaticArrayValues(constructor, propertyName) {\n const definition = constructor[propertyName];\n return Array.isArray(definition) ? definition : [];\n}\nfunction getOwnStaticObjectPairs(constructor, propertyName) {\n const definition = constructor[propertyName];\n return definition ? Object.keys(definition).map((key) => [key, definition[key]]) : [];\n}\n\nclass OutletObserver {\n constructor(context, delegate) {\n this.started = false;\n this.context = context;\n this.delegate = delegate;\n this.outletsByName = new Multimap();\n this.outletElementsByName = new Multimap();\n this.selectorObserverMap = new Map();\n this.attributeObserverMap = new Map();\n }\n start() {\n if (!this.started) {\n this.outletDefinitions.forEach((outletName) => {\n this.setupSelectorObserverForOutlet(outletName);\n this.setupAttributeObserverForOutlet(outletName);\n });\n this.started = true;\n this.dependentContexts.forEach((context) => context.refresh());\n }\n }\n refresh() {\n this.selectorObserverMap.forEach((observer) => observer.refresh());\n this.attributeObserverMap.forEach((observer) => observer.refresh());\n }\n stop() {\n if (this.started) {\n this.started = false;\n this.disconnectAllOutlets();\n this.stopSelectorObservers();\n this.stopAttributeObservers();\n }\n }\n stopSelectorObservers() {\n if (this.selectorObserverMap.size > 0) {\n this.selectorObserverMap.forEach((observer) => observer.stop());\n this.selectorObserverMap.clear();\n }\n }\n stopAttributeObservers() {\n if (this.attributeObserverMap.size > 0) {\n this.attributeObserverMap.forEach((observer) => observer.stop());\n this.attributeObserverMap.clear();\n }\n }\n selectorMatched(element, _selector, { outletName }) {\n const outlet = this.getOutlet(element, outletName);\n if (outlet) {\n this.connectOutlet(outlet, element, outletName);\n }\n }\n selectorUnmatched(element, _selector, { outletName }) {\n const outlet = this.getOutletFromMap(element, outletName);\n if (outlet) {\n this.disconnectOutlet(outlet, element, outletName);\n }\n }\n selectorMatchElement(element, { outletName }) {\n const selector = this.selector(outletName);\n const hasOutlet = this.hasOutlet(element, outletName);\n const hasOutletController = element.matches(`[${this.schema.controllerAttribute}~=${outletName}]`);\n if (selector) {\n return hasOutlet && hasOutletController && element.matches(selector);\n }\n else {\n return false;\n }\n }\n elementMatchedAttribute(_element, attributeName) {\n const outletName = this.getOutletNameFromOutletAttributeName(attributeName);\n if (outletName) {\n this.updateSelectorObserverForOutlet(outletName);\n }\n }\n elementAttributeValueChanged(_element, attributeName) {\n const outletName = this.getOutletNameFromOutletAttributeName(attributeName);\n if (outletName) {\n this.updateSelectorObserverForOutlet(outletName);\n }\n }\n elementUnmatchedAttribute(_element, attributeName) {\n const outletName = this.getOutletNameFromOutletAttributeName(attributeName);\n if (outletName) {\n this.updateSelectorObserverForOutlet(outletName);\n }\n }\n connectOutlet(outlet, element, outletName) {\n var _a;\n if (!this.outletElementsByName.has(outletName, element)) {\n this.outletsByName.add(outletName, outlet);\n this.outletElementsByName.add(outletName, element);\n (_a = this.selectorObserverMap.get(outletName)) === null || _a === void 0 ? void 0 : _a.pause(() => this.delegate.outletConnected(outlet, element, outletName));\n }\n }\n disconnectOutlet(outlet, element, outletName) {\n var _a;\n if (this.outletElementsByName.has(outletName, element)) {\n this.outletsByName.delete(outletName, outlet);\n this.outletElementsByName.delete(outletName, element);\n (_a = this.selectorObserverMap\n .get(outletName)) === null || _a === void 0 ? void 0 : _a.pause(() => this.delegate.outletDisconnected(outlet, element, outletName));\n }\n }\n disconnectAllOutlets() {\n for (const outletName of this.outletElementsByName.keys) {\n for (const element of this.outletElementsByName.getValuesForKey(outletName)) {\n for (const outlet of this.outletsByName.getValuesForKey(outletName)) {\n this.disconnectOutlet(outlet, element, outletName);\n }\n }\n }\n }\n updateSelectorObserverForOutlet(outletName) {\n const observer = this.selectorObserverMap.get(outletName);\n if (observer) {\n observer.selector = this.selector(outletName);\n }\n }\n setupSelectorObserverForOutlet(outletName) {\n const selector = this.selector(outletName);\n const selectorObserver = new SelectorObserver(document.body, selector, this, { outletName });\n this.selectorObserverMap.set(outletName, selectorObserver);\n selectorObserver.start();\n }\n setupAttributeObserverForOutlet(outletName) {\n const attributeName = this.attributeNameForOutletName(outletName);\n const attributeObserver = new AttributeObserver(this.scope.element, attributeName, this);\n this.attributeObserverMap.set(outletName, attributeObserver);\n attributeObserver.start();\n }\n selector(outletName) {\n return this.scope.outlets.getSelectorForOutletName(outletName);\n }\n attributeNameForOutletName(outletName) {\n return this.scope.schema.outletAttributeForScope(this.identifier, outletName);\n }\n getOutletNameFromOutletAttributeName(attributeName) {\n return this.outletDefinitions.find((outletName) => this.attributeNameForOutletName(outletName) === attributeName);\n }\n get outletDependencies() {\n const dependencies = new Multimap();\n this.router.modules.forEach((module) => {\n const constructor = module.definition.controllerConstructor;\n const outlets = readInheritableStaticArrayValues(constructor, \"outlets\");\n outlets.forEach((outlet) => dependencies.add(outlet, module.identifier));\n });\n return dependencies;\n }\n get outletDefinitions() {\n return this.outletDependencies.getKeysForValue(this.identifier);\n }\n get dependentControllerIdentifiers() {\n return this.outletDependencies.getValuesForKey(this.identifier);\n }\n get dependentContexts() {\n const identifiers = this.dependentControllerIdentifiers;\n return this.router.contexts.filter((context) => identifiers.includes(context.identifier));\n }\n hasOutlet(element, outletName) {\n return !!this.getOutlet(element, outletName) || !!this.getOutletFromMap(element, outletName);\n }\n getOutlet(element, outletName) {\n return this.application.getControllerForElementAndIdentifier(element, outletName);\n }\n getOutletFromMap(element, outletName) {\n return this.outletsByName.getValuesForKey(outletName).find((outlet) => outlet.element === element);\n }\n get scope() {\n return this.context.scope;\n }\n get schema() {\n return this.context.schema;\n }\n get identifier() {\n return this.context.identifier;\n }\n get application() {\n return this.context.application;\n }\n get router() {\n return this.application.router;\n }\n}\n\nclass Context {\n constructor(module, scope) {\n this.logDebugActivity = (functionName, detail = {}) => {\n const { identifier, controller, element } = this;\n detail = Object.assign({ identifier, controller, element }, detail);\n this.application.logDebugActivity(this.identifier, functionName, detail);\n };\n this.module = module;\n this.scope = scope;\n this.controller = new module.controllerConstructor(this);\n this.bindingObserver = new BindingObserver(this, this.dispatcher);\n this.valueObserver = new ValueObserver(this, this.controller);\n this.targetObserver = new TargetObserver(this, this);\n this.outletObserver = new OutletObserver(this, this);\n try {\n this.controller.initialize();\n this.logDebugActivity(\"initialize\");\n }\n catch (error) {\n this.handleError(error, \"initializing controller\");\n }\n }\n connect() {\n this.bindingObserver.start();\n this.valueObserver.start();\n this.targetObserver.start();\n this.outletObserver.start();\n try {\n this.controller.connect();\n this.logDebugActivity(\"connect\");\n }\n catch (error) {\n this.handleError(error, \"connecting controller\");\n }\n }\n refresh() {\n this.outletObserver.refresh();\n }\n disconnect() {\n try {\n this.controller.disconnect();\n this.logDebugActivity(\"disconnect\");\n }\n catch (error) {\n this.handleError(error, \"disconnecting controller\");\n }\n this.outletObserver.stop();\n this.targetObserver.stop();\n this.valueObserver.stop();\n this.bindingObserver.stop();\n }\n get application() {\n return this.module.application;\n }\n get identifier() {\n return this.module.identifier;\n }\n get schema() {\n return this.application.schema;\n }\n get dispatcher() {\n return this.application.dispatcher;\n }\n get element() {\n return this.scope.element;\n }\n get parentElement() {\n return this.element.parentElement;\n }\n handleError(error, message, detail = {}) {\n const { identifier, controller, element } = this;\n detail = Object.assign({ identifier, controller, element }, detail);\n this.application.handleError(error, `Error ${message}`, detail);\n }\n targetConnected(element, name) {\n this.invokeControllerMethod(`${name}TargetConnected`, element);\n }\n targetDisconnected(element, name) {\n this.invokeControllerMethod(`${name}TargetDisconnected`, element);\n }\n outletConnected(outlet, element, name) {\n this.invokeControllerMethod(`${namespaceCamelize(name)}OutletConnected`, outlet, element);\n }\n outletDisconnected(outlet, element, name) {\n this.invokeControllerMethod(`${namespaceCamelize(name)}OutletDisconnected`, outlet, element);\n }\n invokeControllerMethod(methodName, ...args) {\n const controller = this.controller;\n if (typeof controller[methodName] == \"function\") {\n controller[methodName](...args);\n }\n }\n}\n\nfunction bless(constructor) {\n return shadow(constructor, getBlessedProperties(constructor));\n}\nfunction shadow(constructor, properties) {\n const shadowConstructor = extend(constructor);\n const shadowProperties = getShadowProperties(constructor.prototype, properties);\n Object.defineProperties(shadowConstructor.prototype, shadowProperties);\n return shadowConstructor;\n}\nfunction getBlessedProperties(constructor) {\n const blessings = readInheritableStaticArrayValues(constructor, \"blessings\");\n return blessings.reduce((blessedProperties, blessing) => {\n const properties = blessing(constructor);\n for (const key in properties) {\n const descriptor = blessedProperties[key] || {};\n blessedProperties[key] = Object.assign(descriptor, properties[key]);\n }\n return blessedProperties;\n }, {});\n}\nfunction getShadowProperties(prototype, properties) {\n return getOwnKeys(properties).reduce((shadowProperties, key) => {\n const descriptor = getShadowedDescriptor(prototype, properties, key);\n if (descriptor) {\n Object.assign(shadowProperties, { [key]: descriptor });\n }\n return shadowProperties;\n }, {});\n}\nfunction getShadowedDescriptor(prototype, properties, key) {\n const shadowingDescriptor = Object.getOwnPropertyDescriptor(prototype, key);\n const shadowedByValue = shadowingDescriptor && \"value\" in shadowingDescriptor;\n if (!shadowedByValue) {\n const descriptor = Object.getOwnPropertyDescriptor(properties, key).value;\n if (shadowingDescriptor) {\n descriptor.get = shadowingDescriptor.get || descriptor.get;\n descriptor.set = shadowingDescriptor.set || descriptor.set;\n }\n return descriptor;\n }\n}\nconst getOwnKeys = (() => {\n if (typeof Object.getOwnPropertySymbols == \"function\") {\n return (object) => [...Object.getOwnPropertyNames(object), ...Object.getOwnPropertySymbols(object)];\n }\n else {\n return Object.getOwnPropertyNames;\n }\n})();\nconst extend = (() => {\n function extendWithReflect(constructor) {\n function extended() {\n return Reflect.construct(constructor, arguments, new.target);\n }\n extended.prototype = Object.create(constructor.prototype, {\n constructor: { value: extended },\n });\n Reflect.setPrototypeOf(extended, constructor);\n return extended;\n }\n function testReflectExtension() {\n const a = function () {\n this.a.call(this);\n };\n const b = extendWithReflect(a);\n b.prototype.a = function () { };\n return new b();\n }\n try {\n testReflectExtension();\n return extendWithReflect;\n }\n catch (error) {\n return (constructor) => class extended extends constructor {\n };\n }\n})();\n\nfunction blessDefinition(definition) {\n return {\n identifier: definition.identifier,\n controllerConstructor: bless(definition.controllerConstructor),\n };\n}\n\nclass Module {\n constructor(application, definition) {\n this.application = application;\n this.definition = blessDefinition(definition);\n this.contextsByScope = new WeakMap();\n this.connectedContexts = new Set();\n }\n get identifier() {\n return this.definition.identifier;\n }\n get controllerConstructor() {\n return this.definition.controllerConstructor;\n }\n get contexts() {\n return Array.from(this.connectedContexts);\n }\n connectContextForScope(scope) {\n const context = this.fetchContextForScope(scope);\n this.connectedContexts.add(context);\n context.connect();\n }\n disconnectContextForScope(scope) {\n const context = this.contextsByScope.get(scope);\n if (context) {\n this.connectedContexts.delete(context);\n context.disconnect();\n }\n }\n fetchContextForScope(scope) {\n let context = this.contextsByScope.get(scope);\n if (!context) {\n context = new Context(this, scope);\n this.contextsByScope.set(scope, context);\n }\n return context;\n }\n}\n\nclass ClassMap {\n constructor(scope) {\n this.scope = scope;\n }\n has(name) {\n return this.data.has(this.getDataKey(name));\n }\n get(name) {\n return this.getAll(name)[0];\n }\n getAll(name) {\n const tokenString = this.data.get(this.getDataKey(name)) || \"\";\n return tokenize(tokenString);\n }\n getAttributeName(name) {\n return this.data.getAttributeNameForKey(this.getDataKey(name));\n }\n getDataKey(name) {\n return `${name}-class`;\n }\n get data() {\n return this.scope.data;\n }\n}\n\nclass DataMap {\n constructor(scope) {\n this.scope = scope;\n }\n get element() {\n return this.scope.element;\n }\n get identifier() {\n return this.scope.identifier;\n }\n get(key) {\n const name = this.getAttributeNameForKey(key);\n return this.element.getAttribute(name);\n }\n set(key, value) {\n const name = this.getAttributeNameForKey(key);\n this.element.setAttribute(name, value);\n return this.get(key);\n }\n has(key) {\n const name = this.getAttributeNameForKey(key);\n return this.element.hasAttribute(name);\n }\n delete(key) {\n if (this.has(key)) {\n const name = this.getAttributeNameForKey(key);\n this.element.removeAttribute(name);\n return true;\n }\n else {\n return false;\n }\n }\n getAttributeNameForKey(key) {\n return `data-${this.identifier}-${dasherize(key)}`;\n }\n}\n\nclass Guide {\n constructor(logger) {\n this.warnedKeysByObject = new WeakMap();\n this.logger = logger;\n }\n warn(object, key, message) {\n let warnedKeys = this.warnedKeysByObject.get(object);\n if (!warnedKeys) {\n warnedKeys = new Set();\n this.warnedKeysByObject.set(object, warnedKeys);\n }\n if (!warnedKeys.has(key)) {\n warnedKeys.add(key);\n this.logger.warn(message, object);\n }\n }\n}\n\nfunction attributeValueContainsToken(attributeName, token) {\n return `[${attributeName}~=\"${token}\"]`;\n}\n\nclass TargetSet {\n constructor(scope) {\n this.scope = scope;\n }\n get element() {\n return this.scope.element;\n }\n get identifier() {\n return this.scope.identifier;\n }\n get schema() {\n return this.scope.schema;\n }\n has(targetName) {\n return this.find(targetName) != null;\n }\n find(...targetNames) {\n return targetNames.reduce((target, targetName) => target || this.findTarget(targetName) || this.findLegacyTarget(targetName), undefined);\n }\n findAll(...targetNames) {\n return targetNames.reduce((targets, targetName) => [\n ...targets,\n ...this.findAllTargets(targetName),\n ...this.findAllLegacyTargets(targetName),\n ], []);\n }\n findTarget(targetName) {\n const selector = this.getSelectorForTargetName(targetName);\n return this.scope.findElement(selector);\n }\n findAllTargets(targetName) {\n const selector = this.getSelectorForTargetName(targetName);\n return this.scope.findAllElements(selector);\n }\n getSelectorForTargetName(targetName) {\n const attributeName = this.schema.targetAttributeForScope(this.identifier);\n return attributeValueContainsToken(attributeName, targetName);\n }\n findLegacyTarget(targetName) {\n const selector = this.getLegacySelectorForTargetName(targetName);\n return this.deprecate(this.scope.findElement(selector), targetName);\n }\n findAllLegacyTargets(targetName) {\n const selector = this.getLegacySelectorForTargetName(targetName);\n return this.scope.findAllElements(selector).map((element) => this.deprecate(element, targetName));\n }\n getLegacySelectorForTargetName(targetName) {\n const targetDescriptor = `${this.identifier}.${targetName}`;\n return attributeValueContainsToken(this.schema.targetAttribute, targetDescriptor);\n }\n deprecate(element, targetName) {\n if (element) {\n const { identifier } = this;\n const attributeName = this.schema.targetAttribute;\n const revisedAttributeName = this.schema.targetAttributeForScope(identifier);\n this.guide.warn(element, `target:${targetName}`, `Please replace ${attributeName}=\"${identifier}.${targetName}\" with ${revisedAttributeName}=\"${targetName}\". ` +\n `The ${attributeName} attribute is deprecated and will be removed in a future version of Stimulus.`);\n }\n return element;\n }\n get guide() {\n return this.scope.guide;\n }\n}\n\nclass OutletSet {\n constructor(scope, controllerElement) {\n this.scope = scope;\n this.controllerElement = controllerElement;\n }\n get element() {\n return this.scope.element;\n }\n get identifier() {\n return this.scope.identifier;\n }\n get schema() {\n return this.scope.schema;\n }\n has(outletName) {\n return this.find(outletName) != null;\n }\n find(...outletNames) {\n return outletNames.reduce((outlet, outletName) => outlet || this.findOutlet(outletName), undefined);\n }\n findAll(...outletNames) {\n return outletNames.reduce((outlets, outletName) => [...outlets, ...this.findAllOutlets(outletName)], []);\n }\n getSelectorForOutletName(outletName) {\n const attributeName = this.schema.outletAttributeForScope(this.identifier, outletName);\n return this.controllerElement.getAttribute(attributeName);\n }\n findOutlet(outletName) {\n const selector = this.getSelectorForOutletName(outletName);\n if (selector)\n return this.findElement(selector, outletName);\n }\n findAllOutlets(outletName) {\n const selector = this.getSelectorForOutletName(outletName);\n return selector ? this.findAllElements(selector, outletName) : [];\n }\n findElement(selector, outletName) {\n const elements = this.scope.queryElements(selector);\n return elements.filter((element) => this.matchesElement(element, selector, outletName))[0];\n }\n findAllElements(selector, outletName) {\n const elements = this.scope.queryElements(selector);\n return elements.filter((element) => this.matchesElement(element, selector, outletName));\n }\n matchesElement(element, selector, outletName) {\n const controllerAttribute = element.getAttribute(this.scope.schema.controllerAttribute) || \"\";\n return element.matches(selector) && controllerAttribute.split(\" \").includes(outletName);\n }\n}\n\nclass Scope {\n constructor(schema, element, identifier, logger) {\n this.targets = new TargetSet(this);\n this.classes = new ClassMap(this);\n this.data = new DataMap(this);\n this.containsElement = (element) => {\n return element.closest(this.controllerSelector) === this.element;\n };\n this.schema = schema;\n this.element = element;\n this.identifier = identifier;\n this.guide = new Guide(logger);\n this.outlets = new OutletSet(this.documentScope, element);\n }\n findElement(selector) {\n return this.element.matches(selector) ? this.element : this.queryElements(selector).find(this.containsElement);\n }\n findAllElements(selector) {\n return [\n ...(this.element.matches(selector) ? [this.element] : []),\n ...this.queryElements(selector).filter(this.containsElement),\n ];\n }\n queryElements(selector) {\n return Array.from(this.element.querySelectorAll(selector));\n }\n get controllerSelector() {\n return attributeValueContainsToken(this.schema.controllerAttribute, this.identifier);\n }\n get isDocumentScope() {\n return this.element === document.documentElement;\n }\n get documentScope() {\n return this.isDocumentScope\n ? this\n : new Scope(this.schema, document.documentElement, this.identifier, this.guide.logger);\n }\n}\n\nclass ScopeObserver {\n constructor(element, schema, delegate) {\n this.element = element;\n this.schema = schema;\n this.delegate = delegate;\n this.valueListObserver = new ValueListObserver(this.element, this.controllerAttribute, this);\n this.scopesByIdentifierByElement = new WeakMap();\n this.scopeReferenceCounts = new WeakMap();\n }\n start() {\n this.valueListObserver.start();\n }\n stop() {\n this.valueListObserver.stop();\n }\n get controllerAttribute() {\n return this.schema.controllerAttribute;\n }\n parseValueForToken(token) {\n const { element, content: identifier } = token;\n return this.parseValueForElementAndIdentifier(element, identifier);\n }\n parseValueForElementAndIdentifier(element, identifier) {\n const scopesByIdentifier = this.fetchScopesByIdentifierForElement(element);\n let scope = scopesByIdentifier.get(identifier);\n if (!scope) {\n scope = this.delegate.createScopeForElementAndIdentifier(element, identifier);\n scopesByIdentifier.set(identifier, scope);\n }\n return scope;\n }\n elementMatchedValue(element, value) {\n const referenceCount = (this.scopeReferenceCounts.get(value) || 0) + 1;\n this.scopeReferenceCounts.set(value, referenceCount);\n if (referenceCount == 1) {\n this.delegate.scopeConnected(value);\n }\n }\n elementUnmatchedValue(element, value) {\n const referenceCount = this.scopeReferenceCounts.get(value);\n if (referenceCount) {\n this.scopeReferenceCounts.set(value, referenceCount - 1);\n if (referenceCount == 1) {\n this.delegate.scopeDisconnected(value);\n }\n }\n }\n fetchScopesByIdentifierForElement(element) {\n let scopesByIdentifier = this.scopesByIdentifierByElement.get(element);\n if (!scopesByIdentifier) {\n scopesByIdentifier = new Map();\n this.scopesByIdentifierByElement.set(element, scopesByIdentifier);\n }\n return scopesByIdentifier;\n }\n}\n\nclass Router {\n constructor(application) {\n this.application = application;\n this.scopeObserver = new ScopeObserver(this.element, this.schema, this);\n this.scopesByIdentifier = new Multimap();\n this.modulesByIdentifier = new Map();\n }\n get element() {\n return this.application.element;\n }\n get schema() {\n return this.application.schema;\n }\n get logger() {\n return this.application.logger;\n }\n get controllerAttribute() {\n return this.schema.controllerAttribute;\n }\n get modules() {\n return Array.from(this.modulesByIdentifier.values());\n }\n get contexts() {\n return this.modules.reduce((contexts, module) => contexts.concat(module.contexts), []);\n }\n start() {\n this.scopeObserver.start();\n }\n stop() {\n this.scopeObserver.stop();\n }\n loadDefinition(definition) {\n this.unloadIdentifier(definition.identifier);\n const module = new Module(this.application, definition);\n this.connectModule(module);\n const afterLoad = definition.controllerConstructor.afterLoad;\n if (afterLoad) {\n afterLoad.call(definition.controllerConstructor, definition.identifier, this.application);\n }\n }\n unloadIdentifier(identifier) {\n const module = this.modulesByIdentifier.get(identifier);\n if (module) {\n this.disconnectModule(module);\n }\n }\n getContextForElementAndIdentifier(element, identifier) {\n const module = this.modulesByIdentifier.get(identifier);\n if (module) {\n return module.contexts.find((context) => context.element == element);\n }\n }\n proposeToConnectScopeForElementAndIdentifier(element, identifier) {\n const scope = this.scopeObserver.parseValueForElementAndIdentifier(element, identifier);\n if (scope) {\n this.scopeObserver.elementMatchedValue(scope.element, scope);\n }\n else {\n console.error(`Couldn't find or create scope for identifier: \"${identifier}\" and element:`, element);\n }\n }\n handleError(error, message, detail) {\n this.application.handleError(error, message, detail);\n }\n createScopeForElementAndIdentifier(element, identifier) {\n return new Scope(this.schema, element, identifier, this.logger);\n }\n scopeConnected(scope) {\n this.scopesByIdentifier.add(scope.identifier, scope);\n const module = this.modulesByIdentifier.get(scope.identifier);\n if (module) {\n module.connectContextForScope(scope);\n }\n }\n scopeDisconnected(scope) {\n this.scopesByIdentifier.delete(scope.identifier, scope);\n const module = this.modulesByIdentifier.get(scope.identifier);\n if (module) {\n module.disconnectContextForScope(scope);\n }\n }\n connectModule(module) {\n this.modulesByIdentifier.set(module.identifier, module);\n const scopes = this.scopesByIdentifier.getValuesForKey(module.identifier);\n scopes.forEach((scope) => module.connectContextForScope(scope));\n }\n disconnectModule(module) {\n this.modulesByIdentifier.delete(module.identifier);\n const scopes = this.scopesByIdentifier.getValuesForKey(module.identifier);\n scopes.forEach((scope) => module.disconnectContextForScope(scope));\n }\n}\n\nconst defaultSchema = {\n controllerAttribute: \"data-controller\",\n actionAttribute: \"data-action\",\n targetAttribute: \"data-target\",\n targetAttributeForScope: (identifier) => `data-${identifier}-target`,\n outletAttributeForScope: (identifier, outlet) => `data-${identifier}-${outlet}-outlet`,\n keyMappings: Object.assign(Object.assign({ enter: \"Enter\", tab: \"Tab\", esc: \"Escape\", space: \" \", up: \"ArrowUp\", down: \"ArrowDown\", left: \"ArrowLeft\", right: \"ArrowRight\", home: \"Home\", end: \"End\", page_up: \"PageUp\", page_down: \"PageDown\" }, objectFromEntries(\"abcdefghijklmnopqrstuvwxyz\".split(\"\").map((c) => [c, c]))), objectFromEntries(\"0123456789\".split(\"\").map((n) => [n, n]))),\n};\nfunction objectFromEntries(array) {\n return array.reduce((memo, [k, v]) => (Object.assign(Object.assign({}, memo), { [k]: v })), {});\n}\n\nclass Application {\n constructor(element = document.documentElement, schema = defaultSchema) {\n this.logger = console;\n this.debug = false;\n this.logDebugActivity = (identifier, functionName, detail = {}) => {\n if (this.debug) {\n this.logFormattedMessage(identifier, functionName, detail);\n }\n };\n this.element = element;\n this.schema = schema;\n this.dispatcher = new Dispatcher(this);\n this.router = new Router(this);\n this.actionDescriptorFilters = Object.assign({}, defaultActionDescriptorFilters);\n }\n static start(element, schema) {\n const application = new this(element, schema);\n application.start();\n return application;\n }\n async start() {\n await domReady();\n this.logDebugActivity(\"application\", \"starting\");\n this.dispatcher.start();\n this.router.start();\n this.logDebugActivity(\"application\", \"start\");\n }\n stop() {\n this.logDebugActivity(\"application\", \"stopping\");\n this.dispatcher.stop();\n this.router.stop();\n this.logDebugActivity(\"application\", \"stop\");\n }\n register(identifier, controllerConstructor) {\n this.load({ identifier, controllerConstructor });\n }\n registerActionOption(name, filter) {\n this.actionDescriptorFilters[name] = filter;\n }\n load(head, ...rest) {\n const definitions = Array.isArray(head) ? head : [head, ...rest];\n definitions.forEach((definition) => {\n if (definition.controllerConstructor.shouldLoad) {\n this.router.loadDefinition(definition);\n }\n });\n }\n unload(head, ...rest) {\n const identifiers = Array.isArray(head) ? head : [head, ...rest];\n identifiers.forEach((identifier) => this.router.unloadIdentifier(identifier));\n }\n get controllers() {\n return this.router.contexts.map((context) => context.controller);\n }\n getControllerForElementAndIdentifier(element, identifier) {\n const context = this.router.getContextForElementAndIdentifier(element, identifier);\n return context ? context.controller : null;\n }\n handleError(error, message, detail) {\n var _a;\n this.logger.error(`%s\\n\\n%o\\n\\n%o`, message, error, detail);\n (_a = window.onerror) === null || _a === void 0 ? void 0 : _a.call(window, message, \"\", 0, 0, error);\n }\n logFormattedMessage(identifier, functionName, detail = {}) {\n detail = Object.assign({ application: this }, detail);\n this.logger.groupCollapsed(`${identifier} #${functionName}`);\n this.logger.log(\"details:\", Object.assign({}, detail));\n this.logger.groupEnd();\n }\n}\nfunction domReady() {\n return new Promise((resolve) => {\n if (document.readyState == \"loading\") {\n document.addEventListener(\"DOMContentLoaded\", () => resolve());\n }\n else {\n resolve();\n }\n });\n}\n\nfunction ClassPropertiesBlessing(constructor) {\n const classes = readInheritableStaticArrayValues(constructor, \"classes\");\n return classes.reduce((properties, classDefinition) => {\n return Object.assign(properties, propertiesForClassDefinition(classDefinition));\n }, {});\n}\nfunction propertiesForClassDefinition(key) {\n return {\n [`${key}Class`]: {\n get() {\n const { classes } = this;\n if (classes.has(key)) {\n return classes.get(key);\n }\n else {\n const attribute = classes.getAttributeName(key);\n throw new Error(`Missing attribute \"${attribute}\"`);\n }\n },\n },\n [`${key}Classes`]: {\n get() {\n return this.classes.getAll(key);\n },\n },\n [`has${capitalize(key)}Class`]: {\n get() {\n return this.classes.has(key);\n },\n },\n };\n}\n\nfunction OutletPropertiesBlessing(constructor) {\n const outlets = readInheritableStaticArrayValues(constructor, \"outlets\");\n return outlets.reduce((properties, outletDefinition) => {\n return Object.assign(properties, propertiesForOutletDefinition(outletDefinition));\n }, {});\n}\nfunction getOutletController(controller, element, identifier) {\n return controller.application.getControllerForElementAndIdentifier(element, identifier);\n}\nfunction getControllerAndEnsureConnectedScope(controller, element, outletName) {\n let outletController = getOutletController(controller, element, outletName);\n if (outletController)\n return outletController;\n controller.application.router.proposeToConnectScopeForElementAndIdentifier(element, outletName);\n outletController = getOutletController(controller, element, outletName);\n if (outletController)\n return outletController;\n}\nfunction propertiesForOutletDefinition(name) {\n const camelizedName = namespaceCamelize(name);\n return {\n [`${camelizedName}Outlet`]: {\n get() {\n const outletElement = this.outlets.find(name);\n const selector = this.outlets.getSelectorForOutletName(name);\n if (outletElement) {\n const outletController = getControllerAndEnsureConnectedScope(this, outletElement, name);\n if (outletController)\n return outletController;\n throw new Error(`The provided outlet element is missing an outlet controller \"${name}\" instance for host controller \"${this.identifier}\"`);\n }\n throw new Error(`Missing outlet element \"${name}\" for host controller \"${this.identifier}\". Stimulus couldn't find a matching outlet element using selector \"${selector}\".`);\n },\n },\n [`${camelizedName}Outlets`]: {\n get() {\n const outlets = this.outlets.findAll(name);\n if (outlets.length > 0) {\n return outlets\n .map((outletElement) => {\n const outletController = getControllerAndEnsureConnectedScope(this, outletElement, name);\n if (outletController)\n return outletController;\n console.warn(`The provided outlet element is missing an outlet controller \"${name}\" instance for host controller \"${this.identifier}\"`, outletElement);\n })\n .filter((controller) => controller);\n }\n return [];\n },\n },\n [`${camelizedName}OutletElement`]: {\n get() {\n const outletElement = this.outlets.find(name);\n const selector = this.outlets.getSelectorForOutletName(name);\n if (outletElement) {\n return outletElement;\n }\n else {\n throw new Error(`Missing outlet element \"${name}\" for host controller \"${this.identifier}\". Stimulus couldn't find a matching outlet element using selector \"${selector}\".`);\n }\n },\n },\n [`${camelizedName}OutletElements`]: {\n get() {\n return this.outlets.findAll(name);\n },\n },\n [`has${capitalize(camelizedName)}Outlet`]: {\n get() {\n return this.outlets.has(name);\n },\n },\n };\n}\n\nfunction TargetPropertiesBlessing(constructor) {\n const targets = readInheritableStaticArrayValues(constructor, \"targets\");\n return targets.reduce((properties, targetDefinition) => {\n return Object.assign(properties, propertiesForTargetDefinition(targetDefinition));\n }, {});\n}\nfunction propertiesForTargetDefinition(name) {\n return {\n [`${name}Target`]: {\n get() {\n const target = this.targets.find(name);\n if (target) {\n return target;\n }\n else {\n throw new Error(`Missing target element \"${name}\" for \"${this.identifier}\" controller`);\n }\n },\n },\n [`${name}Targets`]: {\n get() {\n return this.targets.findAll(name);\n },\n },\n [`has${capitalize(name)}Target`]: {\n get() {\n return this.targets.has(name);\n },\n },\n };\n}\n\nfunction ValuePropertiesBlessing(constructor) {\n const valueDefinitionPairs = readInheritableStaticObjectPairs(constructor, \"values\");\n const propertyDescriptorMap = {\n valueDescriptorMap: {\n get() {\n return valueDefinitionPairs.reduce((result, valueDefinitionPair) => {\n const valueDescriptor = parseValueDefinitionPair(valueDefinitionPair, this.identifier);\n const attributeName = this.data.getAttributeNameForKey(valueDescriptor.key);\n return Object.assign(result, { [attributeName]: valueDescriptor });\n }, {});\n },\n },\n };\n return valueDefinitionPairs.reduce((properties, valueDefinitionPair) => {\n return Object.assign(properties, propertiesForValueDefinitionPair(valueDefinitionPair));\n }, propertyDescriptorMap);\n}\nfunction propertiesForValueDefinitionPair(valueDefinitionPair, controller) {\n const definition = parseValueDefinitionPair(valueDefinitionPair, controller);\n const { key, name, reader: read, writer: write } = definition;\n return {\n [name]: {\n get() {\n const value = this.data.get(key);\n if (value !== null) {\n return read(value);\n }\n else {\n return definition.defaultValue;\n }\n },\n set(value) {\n if (value === undefined) {\n this.data.delete(key);\n }\n else {\n this.data.set(key, write(value));\n }\n },\n },\n [`has${capitalize(name)}`]: {\n get() {\n return this.data.has(key) || definition.hasCustomDefaultValue;\n },\n },\n };\n}\nfunction parseValueDefinitionPair([token, typeDefinition], controller) {\n return valueDescriptorForTokenAndTypeDefinition({\n controller,\n token,\n typeDefinition,\n });\n}\nfunction parseValueTypeConstant(constant) {\n switch (constant) {\n case Array:\n return \"array\";\n case Boolean:\n return \"boolean\";\n case Number:\n return \"number\";\n case Object:\n return \"object\";\n case String:\n return \"string\";\n }\n}\nfunction parseValueTypeDefault(defaultValue) {\n switch (typeof defaultValue) {\n case \"boolean\":\n return \"boolean\";\n case \"number\":\n return \"number\";\n case \"string\":\n return \"string\";\n }\n if (Array.isArray(defaultValue))\n return \"array\";\n if (Object.prototype.toString.call(defaultValue) === \"[object Object]\")\n return \"object\";\n}\nfunction parseValueTypeObject(payload) {\n const { controller, token, typeObject } = payload;\n const hasType = isSomething(typeObject.type);\n const hasDefault = isSomething(typeObject.default);\n const fullObject = hasType && hasDefault;\n const onlyType = hasType && !hasDefault;\n const onlyDefault = !hasType && hasDefault;\n const typeFromObject = parseValueTypeConstant(typeObject.type);\n const typeFromDefaultValue = parseValueTypeDefault(payload.typeObject.default);\n if (onlyType)\n return typeFromObject;\n if (onlyDefault)\n return typeFromDefaultValue;\n if (typeFromObject !== typeFromDefaultValue) {\n const propertyPath = controller ? `${controller}.${token}` : token;\n throw new Error(`The specified default value for the Stimulus Value \"${propertyPath}\" must match the defined type \"${typeFromObject}\". The provided default value of \"${typeObject.default}\" is of type \"${typeFromDefaultValue}\".`);\n }\n if (fullObject)\n return typeFromObject;\n}\nfunction parseValueTypeDefinition(payload) {\n const { controller, token, typeDefinition } = payload;\n const typeObject = { controller, token, typeObject: typeDefinition };\n const typeFromObject = parseValueTypeObject(typeObject);\n const typeFromDefaultValue = parseValueTypeDefault(typeDefinition);\n const typeFromConstant = parseValueTypeConstant(typeDefinition);\n const type = typeFromObject || typeFromDefaultValue || typeFromConstant;\n if (type)\n return type;\n const propertyPath = controller ? `${controller}.${typeDefinition}` : token;\n throw new Error(`Unknown value type \"${propertyPath}\" for \"${token}\" value`);\n}\nfunction defaultValueForDefinition(typeDefinition) {\n const constant = parseValueTypeConstant(typeDefinition);\n if (constant)\n return defaultValuesByType[constant];\n const hasDefault = hasProperty(typeDefinition, \"default\");\n const hasType = hasProperty(typeDefinition, \"type\");\n const typeObject = typeDefinition;\n if (hasDefault)\n return typeObject.default;\n if (hasType) {\n const { type } = typeObject;\n const constantFromType = parseValueTypeConstant(type);\n if (constantFromType)\n return defaultValuesByType[constantFromType];\n }\n return typeDefinition;\n}\nfunction valueDescriptorForTokenAndTypeDefinition(payload) {\n const { token, typeDefinition } = payload;\n const key = `${dasherize(token)}-value`;\n const type = parseValueTypeDefinition(payload);\n return {\n type,\n key,\n name: camelize(key),\n get defaultValue() {\n return defaultValueForDefinition(typeDefinition);\n },\n get hasCustomDefaultValue() {\n return parseValueTypeDefault(typeDefinition) !== undefined;\n },\n reader: readers[type],\n writer: writers[type] || writers.default,\n };\n}\nconst defaultValuesByType = {\n get array() {\n return [];\n },\n boolean: false,\n number: 0,\n get object() {\n return {};\n },\n string: \"\",\n};\nconst readers = {\n array(value) {\n const array = JSON.parse(value);\n if (!Array.isArray(array)) {\n throw new TypeError(`expected value of type \"array\" but instead got value \"${value}\" of type \"${parseValueTypeDefault(array)}\"`);\n }\n return array;\n },\n boolean(value) {\n return !(value == \"0\" || String(value).toLowerCase() == \"false\");\n },\n number(value) {\n return Number(value.replace(/_/g, \"\"));\n },\n object(value) {\n const object = JSON.parse(value);\n if (object === null || typeof object != \"object\" || Array.isArray(object)) {\n throw new TypeError(`expected value of type \"object\" but instead got value \"${value}\" of type \"${parseValueTypeDefault(object)}\"`);\n }\n return object;\n },\n string(value) {\n return value;\n },\n};\nconst writers = {\n default: writeString,\n array: writeJSON,\n object: writeJSON,\n};\nfunction writeJSON(value) {\n return JSON.stringify(value);\n}\nfunction writeString(value) {\n return `${value}`;\n}\n\nclass Controller {\n constructor(context) {\n this.context = context;\n }\n static get shouldLoad() {\n return true;\n }\n static afterLoad(_identifier, _application) {\n return;\n }\n get application() {\n return this.context.application;\n }\n get scope() {\n return this.context.scope;\n }\n get element() {\n return this.scope.element;\n }\n get identifier() {\n return this.scope.identifier;\n }\n get targets() {\n return this.scope.targets;\n }\n get outlets() {\n return this.scope.outlets;\n }\n get classes() {\n return this.scope.classes;\n }\n get data() {\n return this.scope.data;\n }\n initialize() {\n }\n connect() {\n }\n disconnect() {\n }\n dispatch(eventName, { target = this.element, detail = {}, prefix = this.identifier, bubbles = true, cancelable = true, } = {}) {\n const type = prefix ? `${prefix}:${eventName}` : eventName;\n const event = new CustomEvent(type, { detail, bubbles, cancelable });\n target.dispatchEvent(event);\n return event;\n }\n}\nController.blessings = [\n ClassPropertiesBlessing,\n TargetPropertiesBlessing,\n ValuePropertiesBlessing,\n OutletPropertiesBlessing,\n];\nController.targets = [];\nController.outlets = [];\nController.values = {};\n\nexport { Application, AttributeObserver, Context, Controller, ElementObserver, IndexedMultimap, Multimap, SelectorObserver, StringMapObserver, TokenListObserver, ValueListObserver, add, defaultSchema, del, fetch, prune };\n","/*\nStimulus Webpack Helpers 1.0.0\nCopyright © 2021 Basecamp, LLC\n */\nfunction definitionsFromContext(context) {\n return context.keys()\n .map((key) => definitionForModuleWithContextAndKey(context, key))\n .filter((value) => value);\n}\nfunction definitionForModuleWithContextAndKey(context, key) {\n const identifier = identifierForContextKey(key);\n if (identifier) {\n return definitionForModuleAndIdentifier(context(key), identifier);\n }\n}\nfunction definitionForModuleAndIdentifier(module, identifier) {\n const controllerConstructor = module.default;\n if (typeof controllerConstructor == \"function\") {\n return { identifier, controllerConstructor };\n }\n}\nfunction identifierForContextKey(key) {\n const logicalName = (key.match(/^(?:\\.\\/)?(.+)(?:[_-]controller\\..+?)$/) || [])[1];\n if (logicalName) {\n return logicalName.replace(/_/g, \"-\").replace(/\\//g, \"--\");\n }\n}\n\nexport { definitionForModuleAndIdentifier, definitionForModuleWithContextAndKey, definitionsFromContext, identifierForContextKey };\n","//\n// strftime\n// github.com/samsonjs/strftime\n// @_sjs\n//\n// Copyright 2010 - 2021 Sami Samhuri \n//\n// MIT License\n// http://sjs.mit-license.org\n//\n\n;(function() {\n\n var Locales = {\n de_DE: {\n identifier: 'de-DE',\n days: ['Sonntag', 'Montag', 'Dienstag', 'Mittwoch', 'Donnerstag', 'Freitag', 'Samstag'],\n shortDays: ['So', 'Mo', 'Di', 'Mi', 'Do', 'Fr', 'Sa'],\n months: ['Januar', 'Februar', 'März', 'April', 'Mai', 'Juni', 'Juli', 'August', 'September', 'Oktober', 'November', 'Dezember'],\n shortMonths: ['Jan', 'Feb', 'Mär', 'Apr', 'Mai', 'Jun', 'Jul', 'Aug', 'Sep', 'Okt', 'Nov', 'Dez'],\n AM: 'AM',\n PM: 'PM',\n am: 'am',\n pm: 'pm',\n formats: {\n c: '%a %d %b %Y %X %Z',\n D: '%d.%m.%Y',\n F: '%Y-%m-%d',\n R: '%H:%M',\n r: '%I:%M:%S %p',\n T: '%H:%M:%S',\n v: '%e-%b-%Y',\n X: '%T',\n x: '%D'\n }\n },\n\n en_CA: {\n identifier: 'en-CA',\n days: ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday' ],\n shortDays: ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'],\n months: ['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December'],\n shortMonths: ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'],\n ordinalSuffixes: [\n 'st', 'nd', 'rd', 'th', 'th', 'th', 'th', 'th', 'th', 'th',\n 'th', 'th', 'th', 'th', 'th', 'th', 'th', 'th', 'th', 'th',\n 'st', 'nd', 'rd', 'th', 'th', 'th', 'th', 'th', 'th', 'th',\n 'st'\n ],\n AM: 'AM',\n PM: 'PM',\n am: 'am',\n pm: 'pm',\n formats: {\n c: '%a %d %b %Y %X %Z',\n D: '%d/%m/%y',\n F: '%Y-%m-%d',\n R: '%H:%M',\n r: '%I:%M:%S %p',\n T: '%H:%M:%S',\n v: '%e-%b-%Y',\n X: '%r',\n x: '%D'\n }\n },\n\n en_US: {\n identifier: 'en-US',\n days: ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday' ],\n shortDays: ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'],\n months: ['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December'],\n shortMonths: ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'],\n ordinalSuffixes: [\n 'st', 'nd', 'rd', 'th', 'th', 'th', 'th', 'th', 'th', 'th',\n 'th', 'th', 'th', 'th', 'th', 'th', 'th', 'th', 'th', 'th',\n 'st', 'nd', 'rd', 'th', 'th', 'th', 'th', 'th', 'th', 'th',\n 'st'\n ],\n AM: 'AM',\n PM: 'PM',\n am: 'am',\n pm: 'pm',\n formats: {\n c: '%a %d %b %Y %X %Z',\n D: '%m/%d/%y',\n F: '%Y-%m-%d',\n R: '%H:%M',\n r: '%I:%M:%S %p',\n T: '%H:%M:%S',\n v: '%e-%b-%Y',\n X: '%r',\n x: '%D'\n }\n },\n\n es_MX: {\n identifier: 'es-MX',\n days: ['domingo', 'lunes', 'martes', 'miércoles', 'jueves', 'viernes', 'sábado'],\n shortDays: ['dom', 'lun', 'mar', 'mié', 'jue', 'vie', 'sáb'],\n months: ['enero', 'febrero', 'marzo', 'abril', 'mayo', 'junio', 'julio', 'agosto', 'septiembre', 'octubre', 'noviembre',' diciembre'],\n shortMonths: ['ene', 'feb', 'mar', 'abr', 'may', 'jun', 'jul', 'ago', 'sep', 'oct', 'nov', 'dic'],\n AM: 'AM',\n PM: 'PM',\n am: 'am',\n pm: 'pm',\n formats: {\n c: '%a %d %b %Y %X %Z',\n D: '%d/%m/%Y',\n F: '%Y-%m-%d',\n R: '%H:%M',\n r: '%I:%M:%S %p',\n T: '%H:%M:%S',\n v: '%e-%b-%Y',\n X: '%T',\n x: '%D'\n }\n },\n\n fr_FR: {\n identifier: 'fr-FR',\n days: ['dimanche', 'lundi', 'mardi', 'mercredi', 'jeudi', 'vendredi', 'samedi'],\n shortDays: ['dim.', 'lun.', 'mar.', 'mer.', 'jeu.', 'ven.', 'sam.'],\n months: ['janvier', 'février', 'mars', 'avril', 'mai', 'juin', 'juillet', 'août', 'septembre', 'octobre', 'novembre', 'décembre'],\n shortMonths: ['janv.', 'févr.', 'mars', 'avril', 'mai', 'juin', 'juil.', 'août', 'sept.', 'oct.', 'nov.', 'déc.'],\n AM: 'AM',\n PM: 'PM',\n am: 'am',\n pm: 'pm',\n formats: {\n c: '%a %d %b %Y %X %Z',\n D: '%d/%m/%Y',\n F: '%Y-%m-%d',\n R: '%H:%M',\n r: '%I:%M:%S %p',\n T: '%H:%M:%S',\n v: '%e-%b-%Y',\n X: '%T',\n x: '%D'\n }\n },\n\n it_IT: {\n identifier: 'it-IT',\n days: ['domenica', 'lunedì', 'martedì', 'mercoledì', 'giovedì', 'venerdì', 'sabato'],\n shortDays: ['dom', 'lun', 'mar', 'mer', 'gio', 'ven', 'sab'],\n months: ['gennaio', 'febbraio', 'marzo', 'aprile', 'maggio', 'giugno', 'luglio', 'agosto', 'settembre', 'ottobre', 'novembre', 'dicembre'],\n shortMonths: ['gen', 'feb', 'mar', 'apr', 'mag', 'giu', 'lug', 'ago', 'set', 'ott', 'nov', 'dic'],\n AM: 'AM',\n PM: 'PM',\n am: 'am',\n pm: 'pm',\n formats: {\n c: '%a %d %b %Y %X %Z',\n D: '%d/%m/%Y',\n F: '%Y-%m-%d',\n R: '%H:%M',\n r: '%I:%M:%S %p',\n T: '%H:%M:%S',\n v: '%e-%b-%Y',\n X: '%T',\n x: '%D'\n }\n },\n\n nl_NL: {\n identifier: 'nl-NL',\n days: ['zondag', 'maandag', 'dinsdag', 'woensdag', 'donderdag', 'vrijdag', 'zaterdag'],\n shortDays: ['zo', 'ma', 'di', 'wo', 'do', 'vr', 'za'],\n months: ['januari', 'februari', 'maart', 'april', 'mei', 'juni', 'juli', 'augustus', 'september', 'oktober', 'november', 'december'],\n shortMonths: ['jan', 'feb', 'mrt', 'apr', 'mei', 'jun', 'jul', 'aug', 'sep', 'okt', 'nov', 'dec'],\n AM: 'AM',\n PM: 'PM',\n am: 'am',\n pm: 'pm',\n formats: {\n c: '%a %d %b %Y %X %Z',\n D: '%d-%m-%y',\n F: '%Y-%m-%d',\n R: '%H:%M',\n r: '%I:%M:%S %p',\n T: '%H:%M:%S',\n v: '%e-%b-%Y',\n X: '%T',\n x: '%D'\n }\n },\n\n pt_BR: {\n identifier: 'pt-BR',\n days: ['domingo', 'segunda', 'terça', 'quarta', 'quinta', 'sexta', 'sábado'],\n shortDays: ['Dom', 'Seg', 'Ter', 'Qua', 'Qui', 'Sex', 'Sáb'],\n months: ['janeiro', 'fevereiro', 'março', 'abril', 'maio', 'junho', 'julho', 'agosto', 'setembro', 'outubro', 'novembro', 'dezembro'],\n shortMonths: ['Jan', 'Fev', 'Mar', 'Abr', 'Mai', 'Jun', 'Jul', 'Ago', 'Set', 'Out', 'Nov', 'Dez'],\n AM: 'AM',\n PM: 'PM',\n am: 'am',\n pm: 'pm',\n formats: {\n c: '%a %d %b %Y %X %Z',\n D: '%d-%m-%Y',\n F: '%Y-%m-%d',\n R: '%H:%M',\n r: '%I:%M:%S %p',\n T: '%H:%M:%S',\n v: '%e-%b-%Y',\n X: '%T',\n x: '%D'\n }\n },\n\n ru_RU: {\n identifier: 'ru-RU',\n days: ['Воскресенье', 'Понедельник', 'Вторник', 'Среда', 'Четверг', 'Пятница', 'Суббота'],\n shortDays: ['Вс', 'Пн', 'Вт', 'Ср', 'Чт', 'Пт', 'Сб'],\n months: ['Январь', 'Февраль', 'Март', 'Апрель', 'Май', 'Июнь', 'Июль', 'Август', 'Сентябрь', 'Октябрь', 'Ноябрь', 'Декабрь'],\n shortMonths: ['янв', 'фев', 'мар', 'апр', 'май', 'июн', 'июл', 'авг', 'сен', 'окт', 'ноя', 'дек'],\n AM: 'AM',\n PM: 'PM',\n am: 'am',\n pm: 'pm',\n formats: {\n c: '%a %d %b %Y %X',\n D: '%d.%m.%y',\n F: '%Y-%m-%d',\n R: '%H:%M',\n r: '%I:%M:%S %p',\n T: '%H:%M:%S',\n v: '%e-%b-%Y',\n X: '%T',\n x: '%D'\n }\n },\n\n tr_TR: {\n identifier: 'tr-TR',\n days: ['Pazar', 'Pazartesi', 'Salı','Çarşamba', 'Perşembe', 'Cuma', 'Cumartesi'],\n shortDays: ['Paz', 'Pzt', 'Sal', 'Çrş', 'Prş', 'Cum', 'Cts'],\n months: ['Ocak', 'Şubat', 'Mart', 'Nisan', 'Mayıs', 'Haziran', 'Temmuz', 'Ağustos', 'Eylül', 'Ekim', 'Kasım', 'Aralık'],\n shortMonths: ['Oca', 'Şub', 'Mar', 'Nis', 'May', 'Haz', 'Tem', 'Ağu', 'Eyl', 'Eki', 'Kas', 'Ara'],\n AM: 'ÖÖ',\n PM: 'ÖS',\n am: 'ÖÖ',\n pm: 'ÖS',\n formats: {\n c: '%a %d %b %Y %X %Z',\n D: '%d-%m-%Y',\n F: '%Y-%m-%d',\n R: '%H:%M',\n r: '%I:%M:%S %p',\n T: '%H:%M:%S',\n v: '%e-%b-%Y',\n X: '%T',\n x: '%D'\n }\n },\n\n // By michaeljayt\n // https://github.com/michaeljayt/strftime/commit/bcb4c12743811d51e568175aa7bff3fd2a77cef3\n zh_CN: {\n identifier: 'zh-CN',\n days: ['星期日', '星期一', '星期二', '星期三', '星期四', '星期五', '星期六'],\n shortDays: ['日', '一', '二', '三', '四', '五', '六'],\n months: ['一月份', '二月份', '三月份', '四月份', '五月份', '六月份', '七月份', '八月份', '九月份', '十月份', '十一月份', '十二月份'],\n shortMonths: ['一月', '二月', '三月', '四月', '五月', '六月', '七月', '八月', '九月', '十月', '十一月', '十二月'],\n AM: '上午',\n PM: '下午',\n am: '上午',\n pm: '下午',\n formats: {\n c: '%a %d %b %Y %X %Z',\n D: '%d/%m/%y',\n F: '%Y-%m-%d',\n R: '%H:%M',\n r: '%I:%M:%S %p',\n T: '%H:%M:%S',\n v: '%e-%b-%Y',\n X: '%r',\n x: '%D'\n }\n }\n };\n\n var DefaultLocale = Locales['en_US'],\n defaultStrftime = new Strftime(DefaultLocale, 0, false),\n isCommonJS = typeof module !== 'undefined',\n namespace;\n\n // CommonJS / Node module\n if (isCommonJS) {\n namespace = module.exports = defaultStrftime;\n }\n // Browsers and other environments\n else {\n // Get the global object. Works in ES3, ES5, and ES5 strict mode.\n namespace = (function() { return this || (1,eval)('this'); }());\n namespace.strftime = defaultStrftime;\n }\n\n // Polyfill Date.now for old browsers.\n if (typeof Date.now !== 'function') {\n Date.now = function() {\n return +new Date();\n };\n }\n\n function Strftime(locale, customTimezoneOffset, useUtcTimezone) {\n var _locale = locale || DefaultLocale,\n _customTimezoneOffset = customTimezoneOffset || 0,\n _useUtcBasedDate = useUtcTimezone || false,\n\n // we store unix timestamp value here to not create new Date() each iteration (each millisecond)\n // Date.now() is 2 times faster than new Date()\n // while millisecond precise is enough here\n // this could be very helpful when strftime triggered a lot of times one by one\n _cachedDateTimestamp = 0,\n _cachedDate;\n\n function _strftime(format, date) {\n var timestamp;\n\n if (!date) {\n var currentTimestamp = Date.now();\n if (currentTimestamp > _cachedDateTimestamp) {\n _cachedDateTimestamp = currentTimestamp;\n _cachedDate = new Date(_cachedDateTimestamp);\n\n timestamp = _cachedDateTimestamp;\n\n if (_useUtcBasedDate) {\n // how to avoid duplication of date instantiation for utc here?\n // we tied to getTimezoneOffset of the current date\n _cachedDate = new Date(_cachedDateTimestamp + getTimestampToUtcOffsetFor(_cachedDate) + _customTimezoneOffset);\n }\n }\n else {\n timestamp = _cachedDateTimestamp;\n }\n date = _cachedDate;\n }\n else {\n timestamp = date.getTime();\n\n if (_useUtcBasedDate) {\n var utcOffset = getTimestampToUtcOffsetFor(date);\n date = new Date(timestamp + utcOffset + _customTimezoneOffset);\n // If we've crossed a DST boundary with this calculation we need to\n // adjust the new date accordingly or it will be off by an hour in UTC.\n if (getTimestampToUtcOffsetFor(date) !== utcOffset) {\n var newUTCOffset = getTimestampToUtcOffsetFor(date);\n date = new Date(timestamp + newUTCOffset + _customTimezoneOffset);\n }\n }\n }\n\n return _processFormat(format, date, _locale, timestamp);\n }\n\n function _processFormat(format, date, locale, timestamp) {\n var resultString = '',\n padding = null,\n isInScope = false,\n length = format.length,\n extendedTZ = false;\n\n for (var i = 0; i < length; i++) {\n\n var currentCharCode = format.charCodeAt(i);\n\n if (isInScope === true) {\n // '-'\n if (currentCharCode === 45) {\n padding = '';\n continue;\n }\n // '_'\n else if (currentCharCode === 95) {\n padding = ' ';\n continue;\n }\n // '0'\n else if (currentCharCode === 48) {\n padding = '0';\n continue;\n }\n // ':'\n else if (currentCharCode === 58) {\n if (extendedTZ) {\n warn(\"[WARNING] detected use of unsupported %:: or %::: modifiers to strftime\");\n }\n extendedTZ = true;\n continue;\n }\n\n switch (currentCharCode) {\n\n // Examples for new Date(0) in GMT\n\n // '%'\n // case '%':\n case 37:\n resultString += '%';\n break;\n\n // 'Thursday'\n // case 'A':\n case 65:\n resultString += locale.days[date.getDay()];\n break;\n\n // 'January'\n // case 'B':\n case 66:\n resultString += locale.months[date.getMonth()];\n break;\n\n // '19'\n // case 'C':\n case 67:\n resultString += padTill2(Math.floor(date.getFullYear() / 100), padding);\n break;\n\n // '01/01/70'\n // case 'D':\n case 68:\n resultString += _processFormat(locale.formats.D, date, locale, timestamp);\n break;\n\n // '1970-01-01'\n // case 'F':\n case 70:\n resultString += _processFormat(locale.formats.F, date, locale, timestamp);\n break;\n\n // '00'\n // case 'H':\n case 72:\n resultString += padTill2(date.getHours(), padding);\n break;\n\n // '12'\n // case 'I':\n case 73:\n resultString += padTill2(hours12(date.getHours()), padding);\n break;\n\n // '000'\n // case 'L':\n case 76:\n resultString += padTill3(Math.floor(timestamp % 1000));\n break;\n\n // '00'\n // case 'M':\n case 77:\n resultString += padTill2(date.getMinutes(), padding);\n break;\n\n // 'am'\n // case 'P':\n case 80:\n resultString += date.getHours() < 12 ? locale.am : locale.pm;\n break;\n\n // '00:00'\n // case 'R':\n case 82:\n resultString += _processFormat(locale.formats.R, date, locale, timestamp);\n break;\n\n // '00'\n // case 'S':\n case 83:\n resultString += padTill2(date.getSeconds(), padding);\n break;\n\n // '00:00:00'\n // case 'T':\n case 84:\n resultString += _processFormat(locale.formats.T, date, locale, timestamp);\n break;\n\n // '00'\n // case 'U':\n case 85:\n resultString += padTill2(weekNumber(date, 'sunday'), padding);\n break;\n\n // '00'\n // case 'W':\n case 87:\n resultString += padTill2(weekNumber(date, 'monday'), padding);\n break;\n\n // '16:00:00'\n // case 'X':\n case 88:\n resultString += _processFormat(locale.formats.X, date, locale, timestamp);\n break;\n\n // '1970'\n // case 'Y':\n case 89:\n resultString += date.getFullYear();\n break;\n\n // 'GMT'\n // case 'Z':\n case 90:\n if (_useUtcBasedDate && _customTimezoneOffset === 0) {\n resultString += \"GMT\";\n }\n else {\n var tzName = getTimezoneName(date);\n resultString += tzName || '';\n }\n break;\n\n // 'Thu'\n // case 'a':\n case 97:\n resultString += locale.shortDays[date.getDay()];\n break;\n\n // 'Jan'\n // case 'b':\n case 98:\n resultString += locale.shortMonths[date.getMonth()];\n break;\n\n // ''\n // case 'c':\n case 99:\n resultString += _processFormat(locale.formats.c, date, locale, timestamp);\n break;\n\n // '01'\n // case 'd':\n case 100:\n resultString += padTill2(date.getDate(), padding);\n break;\n\n // ' 1'\n // case 'e':\n case 101:\n resultString += padTill2(date.getDate(), padding == null ? ' ' : padding);\n break;\n\n // 'Jan'\n // case 'h':\n case 104:\n resultString += locale.shortMonths[date.getMonth()];\n break;\n\n // '000'\n // case 'j':\n case 106:\n var y = new Date(date.getFullYear(), 0, 1);\n var day = Math.ceil((date.getTime() - y.getTime()) / (1000 * 60 * 60 * 24));\n resultString += padTill3(day);\n break;\n\n // ' 0'\n // case 'k':\n case 107:\n resultString += padTill2(date.getHours(), padding == null ? ' ' : padding);\n break;\n\n // '12'\n // case 'l':\n case 108:\n resultString += padTill2(hours12(date.getHours()), padding == null ? ' ' : padding);\n break;\n\n // '01'\n // case 'm':\n case 109:\n resultString += padTill2(date.getMonth() + 1, padding);\n break;\n\n // '\\n'\n // case 'n':\n case 110:\n resultString += '\\n';\n break;\n\n // '1st'\n // case 'o':\n case 111:\n // Try to use an ordinal suffix from the locale, but fall back to using the old\n // function for compatibility with old locales that lack them.\n var day = date.getDate();\n if (locale.ordinalSuffixes) {\n resultString += String(day) + (locale.ordinalSuffixes[day - 1] || ordinal(day));\n }\n else {\n resultString += String(day) + ordinal(day);\n }\n break;\n\n // 'AM'\n // case 'p':\n case 112:\n resultString += date.getHours() < 12 ? locale.AM : locale.PM;\n break;\n\n // '12:00:00 AM'\n // case 'r':\n case 114:\n resultString += _processFormat(locale.formats.r, date, locale, timestamp);\n break;\n\n // '0'\n // case 's':\n case 115:\n resultString += Math.floor(timestamp / 1000);\n break;\n\n // '\\t'\n // case 't':\n case 116:\n resultString += '\\t';\n break;\n\n // '4'\n // case 'u':\n case 117:\n var day = date.getDay();\n resultString += day === 0 ? 7 : day;\n break; // 1 - 7, Monday is first day of the week\n\n // ' 1-Jan-1970'\n // case 'v':\n case 118:\n resultString += _processFormat(locale.formats.v, date, locale, timestamp);\n break;\n\n // '4'\n // case 'w':\n case 119:\n resultString += date.getDay();\n break; // 0 - 6, Sunday is first day of the week\n\n // '12/31/69'\n // case 'x':\n case 120:\n resultString += _processFormat(locale.formats.x, date, locale, timestamp);\n break;\n\n // '70'\n // case 'y':\n case 121:\n resultString += ('' + date.getFullYear()).slice(2);\n break;\n\n // '+0000'\n // case 'z':\n case 122:\n if (_useUtcBasedDate && _customTimezoneOffset === 0) {\n resultString += extendedTZ ? \"+00:00\" : \"+0000\";\n }\n else {\n var off;\n if (_customTimezoneOffset !== 0) {\n off = _customTimezoneOffset / (60 * 1000);\n }\n else {\n off = -date.getTimezoneOffset();\n }\n var sign = off < 0 ? '-' : '+';\n var sep = extendedTZ ? ':' : '';\n var hours = Math.floor(Math.abs(off / 60));\n var mins = Math.abs(off % 60);\n resultString += sign + padTill2(hours) + sep + padTill2(mins);\n }\n break;\n\n default:\n if (isInScope) {\n resultString += '%';\n }\n resultString += format[i];\n break;\n }\n\n padding = null;\n isInScope = false;\n continue;\n }\n\n // '%'\n if (currentCharCode === 37) {\n isInScope = true;\n continue;\n }\n\n resultString += format[i];\n }\n\n return resultString;\n }\n\n var strftime = _strftime;\n\n strftime.localize = function(locale) {\n return new Strftime(locale || _locale, _customTimezoneOffset, _useUtcBasedDate);\n };\n\n strftime.localizeByIdentifier = function(localeIdentifier) {\n var locale = Locales[localeIdentifier];\n if (!locale) {\n warn('[WARNING] No locale found with identifier \"' + localeIdentifier + '\".');\n return strftime;\n }\n return strftime.localize(locale);\n };\n\n strftime.timezone = function(timezone) {\n var customTimezoneOffset = _customTimezoneOffset;\n var useUtcBasedDate = _useUtcBasedDate;\n\n var timezoneType = typeof timezone;\n if (timezoneType === 'number' || timezoneType === 'string') {\n useUtcBasedDate = true;\n\n // ISO 8601 format timezone string, [-+]HHMM\n if (timezoneType === 'string') {\n var sign = timezone[0] === '-' ? -1 : 1,\n hours = parseInt(timezone.slice(1, 3), 10),\n minutes = parseInt(timezone.slice(3, 5), 10);\n\n customTimezoneOffset = sign * ((60 * hours) + minutes) * 60 * 1000;\n // in minutes: 420\n }\n else if (timezoneType === 'number') {\n customTimezoneOffset = timezone * 60 * 1000;\n }\n }\n\n return new Strftime(_locale, customTimezoneOffset, useUtcBasedDate);\n };\n\n strftime.utc = function() {\n return new Strftime(_locale, _customTimezoneOffset, true);\n };\n\n return strftime;\n }\n\n function padTill2(numberToPad, paddingChar) {\n if (paddingChar === '' || numberToPad > 9) {\n return numberToPad;\n }\n if (paddingChar == null) {\n paddingChar = '0';\n }\n return paddingChar + numberToPad;\n }\n\n function padTill3(numberToPad) {\n if (numberToPad > 99) {\n return numberToPad;\n }\n if (numberToPad > 9) {\n return '0' + numberToPad;\n }\n return '00' + numberToPad;\n }\n\n function hours12(hour) {\n if (hour === 0) {\n return 12;\n }\n else if (hour > 12) {\n return hour - 12;\n }\n return hour;\n }\n\n // firstWeekday: 'sunday' or 'monday', default is 'sunday'\n //\n // Pilfered & ported from Ruby's strftime implementation.\n function weekNumber(date, firstWeekday) {\n firstWeekday = firstWeekday || 'sunday';\n\n // This works by shifting the weekday back by one day if we\n // are treating Monday as the first day of the week.\n var weekday = date.getDay();\n if (firstWeekday === 'monday') {\n if (weekday === 0) // Sunday\n weekday = 6;\n else\n weekday--;\n }\n\n var firstDayOfYearUtc = Date.UTC(date.getFullYear(), 0, 1),\n dateUtc = Date.UTC(date.getFullYear(), date.getMonth(), date.getDate()),\n yday = Math.floor((dateUtc - firstDayOfYearUtc) / 86400000),\n weekNum = (yday + 7 - weekday) / 7;\n\n return Math.floor(weekNum);\n }\n\n // Get the ordinal suffix for a number: st, nd, rd, or th\n function ordinal(number) {\n var i = number % 10;\n var ii = number % 100;\n\n if ((ii >= 11 && ii <= 13) || i === 0 || i >= 4) {\n return 'th';\n }\n switch (i) {\n case 1: return 'st';\n case 2: return 'nd';\n case 3: return 'rd';\n }\n }\n\n function getTimestampToUtcOffsetFor(date) {\n return (date.getTimezoneOffset() || 0) * 60000;\n }\n\n // Tries to get a short timezone name using Date.toLocaleString, falling back on the platform default\n // using Date.toString if necessary.\n function getTimezoneName(date, localeIdentifier) {\n return getShortTimezoneName(date, localeIdentifier) || getDefaultTimezoneName(date);\n }\n\n // Unfortunately this returns GMT+2 when running with `TZ=Europe/Amsterdam node test.js` so it's not\n // perfect.\n function getShortTimezoneName(date, localeIdentifier) {\n if (localeIdentifier == null) return null;\n\n var tzString = date\n .toLocaleString(localeIdentifier, { timeZoneName: 'short' })\n .match(/\\s([\\w]+)$/);\n return tzString && tzString[1];\n }\n\n // This varies by platform so it's not an ideal way to get the time zone name. On most platforms it's\n // a short name but in Node v10+ and Chrome 66+ it's a long name now. Prefer getShortTimezoneName(date)\n // where possible.\n function getDefaultTimezoneName(date) {\n var tzString = date.toString().match(/\\(([\\w\\s]+)\\)/);\n return tzString && tzString[1];\n }\n\n function warn(message) {\n if (typeof console !== 'undefined' && typeof console.warn == 'function') {\n console.warn(message)\n }\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'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.styleq = void 0;\nvar cache = new WeakMap();\nvar compiledKey = '$$css';\n\nfunction createStyleq(options) {\n var disableCache;\n var disableMix;\n var transform;\n\n if (options != null) {\n disableCache = options.disableCache === true;\n disableMix = options.disableMix === true;\n transform = options.transform;\n }\n\n return function styleq() {\n // Keep track of property commits to the className\n var definedProperties = []; // The className and inline style to build up\n\n var className = '';\n var inlineStyle = null; // The current position in the cache graph\n\n var nextCache = disableCache ? null : cache; // This way of creating an array from arguments is fastest\n\n var styles = new Array(arguments.length);\n\n for (var i = 0; i < arguments.length; i++) {\n styles[i] = arguments[i];\n } // Iterate over styles from last to first\n\n\n while (styles.length > 0) {\n var possibleStyle = styles.pop(); // Skip empty items\n\n if (possibleStyle == null || possibleStyle === false) {\n continue;\n } // Push nested styles back onto the stack to be processed\n\n\n if (Array.isArray(possibleStyle)) {\n for (var _i = 0; _i < possibleStyle.length; _i++) {\n styles.push(possibleStyle[_i]);\n }\n\n continue;\n } // Process an individual style object\n\n\n var style = transform != null ? transform(possibleStyle) : possibleStyle;\n\n if (style.$$css) {\n // Build up the class names defined by this object\n var classNameChunk = ''; // Check the cache to see if we've already done this work\n\n if (nextCache != null && nextCache.has(style)) {\n // Cache: read\n var cacheEntry = nextCache.get(style);\n\n if (cacheEntry != null) {\n classNameChunk = cacheEntry[0]; // $FlowIgnore\n\n definedProperties.push.apply(definedProperties, cacheEntry[1]);\n nextCache = cacheEntry[2];\n }\n } // Update the chunks with data from this object\n else {\n // The properties defined by this object\n var definedPropertiesChunk = [];\n\n for (var prop in style) {\n var value = style[prop];\n if (prop === compiledKey) continue; // Each property value is used as an HTML class name\n // { 'debug.string': 'debug.string', opacity: 's-jskmnoqp' }\n\n if (typeof value === 'string' || value === null) {\n // Only add to chunks if this property hasn't already been seen\n if (!definedProperties.includes(prop)) {\n definedProperties.push(prop);\n\n if (nextCache != null) {\n definedPropertiesChunk.push(prop);\n }\n\n if (typeof value === 'string') {\n classNameChunk += classNameChunk ? ' ' + value : value;\n }\n }\n } // If we encounter a value that isn't a string or `null`\n else {\n console.error(\"styleq: \".concat(prop, \" typeof \").concat(String(value), \" is not \\\"string\\\" or \\\"null\\\".\"));\n }\n } // Cache: write\n\n\n if (nextCache != null) {\n // Create the next WeakMap for this sequence of styles\n var weakMap = new WeakMap();\n nextCache.set(style, [classNameChunk, definedPropertiesChunk, weakMap]);\n nextCache = weakMap;\n }\n } // Order of classes in chunks matches property-iteration order of style\n // object. Order of chunks matches passed order of styles from first to\n // last (which we iterate over in reverse).\n\n\n if (classNameChunk) {\n className = className ? classNameChunk + ' ' + className : classNameChunk;\n }\n } // ----- DYNAMIC: Process inline style object -----\n else {\n if (disableMix) {\n if (inlineStyle == null) {\n inlineStyle = {};\n }\n\n inlineStyle = Object.assign({}, style, inlineStyle);\n } else {\n var subStyle = null;\n\n for (var _prop in style) {\n var _value = style[_prop];\n\n if (_value !== undefined) {\n if (!definedProperties.includes(_prop)) {\n if (_value != null) {\n if (inlineStyle == null) {\n inlineStyle = {};\n }\n\n if (subStyle == null) {\n subStyle = {};\n }\n\n subStyle[_prop] = _value;\n }\n\n definedProperties.push(_prop); // Cache is unnecessary overhead if results can't be reused.\n\n nextCache = null;\n }\n }\n }\n\n if (subStyle != null) {\n inlineStyle = Object.assign(subStyle, inlineStyle);\n }\n }\n }\n }\n\n var styleProps = [className, inlineStyle];\n return styleProps;\n };\n}\n\nvar styleq = createStyleq();\nexports.styleq = styleq;\nstyleq.factory = createStyleq;","/**\n * Copyright (c) Nicolas Gallagher\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.localizeStyle = localizeStyle;\nvar cache = new WeakMap();\nvar markerProp = '$$css$localize';\n/**\n * The compiler polyfills logical properties and values, generating a class\n * name for both writing directions. The style objects are annotated by\n * the compiler as needing this runtime transform. The results are memoized.\n *\n * { '$$css$localize': true, float: [ 'float-left', 'float-right' ] }\n * => { float: 'float-left' }\n */\n\nfunction compileStyle(style, isRTL) {\n // Create a new compiled style for styleq\n var compiledStyle = {};\n\n for (var prop in style) {\n if (prop !== markerProp) {\n var value = style[prop];\n\n if (Array.isArray(value)) {\n compiledStyle[prop] = isRTL ? value[1] : value[0];\n } else {\n compiledStyle[prop] = value;\n }\n }\n }\n\n return compiledStyle;\n}\n\nfunction localizeStyle(style, isRTL) {\n if (style[markerProp] != null) {\n var compiledStyleIndex = isRTL ? 1 : 0; // Check the cache in case we've already seen this object\n\n if (cache.has(style)) {\n var _cachedStyles = cache.get(style);\n\n var _compiledStyle = _cachedStyles[compiledStyleIndex];\n\n if (_compiledStyle == null) {\n // Update the missing cache entry\n _compiledStyle = compileStyle(style, isRTL);\n _cachedStyles[compiledStyleIndex] = _compiledStyle;\n cache.set(style, _cachedStyles);\n }\n\n return _compiledStyle;\n } // Create a new compiled style for styleq\n\n\n var compiledStyle = compileStyle(style, isRTL);\n var cachedStyles = new Array(2);\n cachedStyles[compiledStyleIndex] = compiledStyle;\n cache.set(style, cachedStyles);\n return compiledStyle;\n }\n\n return style;\n}","/**\n * Copyright (c) Nicolas Gallagher\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nmodule.exports = require('./dist/transform-localize-style');\n","var timeout = 5000;\nvar lastTime = Date.now();\nvar callbacks = [];\n\nsetInterval(function() {\n var currentTime = Date.now();\n if (currentTime > (lastTime + timeout + 2000)) {\n callbacks.forEach(function (fn) {\n fn();\n });\n }\n lastTime = currentTime;\n}, timeout);\n\nmodule.exports = function (fn) {\n callbacks.push(fn);\n};\n","var toPropertyKey = require(\"./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}\nmodule.exports = _defineProperty, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _extends() {\n return module.exports = _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 }, module.exports.__esModule = true, module.exports[\"default\"] = module.exports, _extends.apply(null, arguments);\n}\nmodule.exports = _extends, 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;","var _typeof = require(\"./typeof.js\")[\"default\"];\nfunction _getRequireWildcardCache(e) {\n if (\"function\" != typeof WeakMap) return null;\n var r = new WeakMap(),\n t = new WeakMap();\n return (_getRequireWildcardCache = function _getRequireWildcardCache(e) {\n return e ? t : r;\n })(e);\n}\nfunction _interopRequireWildcard(e, r) {\n if (!r && e && e.__esModule) return e;\n if (null === e || \"object\" != _typeof(e) && \"function\" != typeof e) return {\n \"default\": e\n };\n var t = _getRequireWildcardCache(r);\n if (t && t.has(e)) return t.get(e);\n var n = {\n __proto__: null\n },\n a = Object.defineProperty && Object.getOwnPropertyDescriptor;\n for (var u in e) if (\"default\" !== u && {}.hasOwnProperty.call(e, u)) {\n var i = a ? Object.getOwnPropertyDescriptor(e, u) : null;\n i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u];\n }\n return n[\"default\"] = e, t && t.set(e, n), n;\n}\nmodule.exports = _interopRequireWildcard, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var defineProperty = require(\"./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}\nmodule.exports = _objectSpread2, 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 _typeof = require(\"./typeof.js\")[\"default\"];\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}\nmodule.exports = toPrimitive, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var _typeof = require(\"./typeof.js\")[\"default\"];\nvar toPrimitive = require(\"./toPrimitive.js\");\nfunction toPropertyKey(t) {\n var i = toPrimitive(t, \"string\");\n return \"symbol\" == _typeof(i) ? i : i + \"\";\n}\nmodule.exports = toPropertyKey, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _typeof(o) {\n \"@babel/helpers - typeof\";\n\n return module.exports = _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 }, module.exports.__esModule = true, module.exports[\"default\"] = module.exports, _typeof(o);\n}\nmodule.exports = _typeof, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","const ReadersWriterLock = require(\"./src/readers-writer-lock.cjs\")\n\nmodule.exports = {\n ReadersWriterLock\n}\n","module.exports = class ReadersWriterLock {\n constructor(args = {}) {\n this._debug = args.debug\n this._readers = 0\n this._writers = 0\n this._processQueueTimeout = null\n this._readQueue = []\n this._writeQueue = []\n }\n\n read(callback) {\n if (this._debug) this._log(\"read\")\n return new Promise((resolve, reject) => {\n this._readWithResolve({callback, resolve, reject})\n })\n }\n\n write(callback) {\n if (this._debug) this._log(\"write\")\n return new Promise((resolve, reject) => {\n this._writeWithResolve({callback, resolve, reject})\n })\n }\n\n _log(message) {\n console.log(\"ReadersWriteLock\", message, JSON.stringify({readers: this._readers, writers: this._writers}))\n }\n\n _readWithResolve(item) {\n if (this._writers > 0) {\n if (this._debug) this._log(\"Queue read\")\n this._readQueue.push(item)\n } else {\n if (this._debug) this._log(\"Process read\")\n this._processRead(item)\n }\n }\n\n _writeWithResolve(item) {\n if (this._readers > 0 || this._writers > 0) {\n if (this._debug) this._log(\"Queue write\")\n this._writeQueue.push(item)\n } else {\n if (this._debug) this._log(\"Process write\")\n this._processWrite(item)\n }\n }\n\n async _processRead(item) {\n this._readers++\n\n try {\n let result\n\n if (item.callback) result = await item.callback()\n await item.resolve(result)\n } catch (error) {\n item.reject(error)\n } finally {\n this._readers--\n this._processQueueLater()\n }\n }\n\n async _processWrite(item) {\n this._writers++\n\n try {\n let result\n\n if (item.callback) result = await item.callback()\n await item.resolve(result)\n } catch (error) {\n item.reject(error)\n } finally {\n this._writers--\n this._processQueueLater()\n }\n }\n\n // First execute anything waiting after having given the lock back to the original caller by executing at the end of the event-queue by timeout-hack\n _processQueueLater() {\n if (this._processQueueTimeout) {\n clearTimeout(this._processQueueTimeout)\n }\n\n this._processQueueTimeout = setTimeout(this._processQueue, 0)\n }\n\n _processQueue = () => {\n if (this._writers == 0) {\n // If no one has begun writing, we should try and proceed to next read item if any\n const readQueueItem = this._readQueue.shift()\n\n if (readQueueItem) {\n if (this._debug) this._log(\"Process next read\")\n this._processRead(readQueueItem)\n } else if (this._readers == 0) {\n // No writers, no next item to read - we should try and proceed to next write item if any\n const writeQueueItem = this._writeQueue.shift()\n\n if (writeQueueItem) {\n if (this._debug) this._log(\"Process next write\")\n this._processWrite(writeQueueItem)\n }\n }\n }\n }\n}\n","module.exports = class FormDataToObject {\n static toObject(formData) {\n const formDataToObject = new FormDataToObject(formData)\n return formDataToObject.toObject()\n }\n\n constructor(formData) {\n this.formData = formData\n }\n\n static formDataFromObject(object, options) {\n if (object instanceof FormData) {\n return object\n } else if (object.nodeName == \"FORM\") {\n if (options) options[\"form\"] = object\n\n return new FormData(object)\n } else {\n throw new Error(\"Didnt know how to get form data from that object\")\n }\n }\n\n toObject() {\n const result = {}\n\n for(const entry of this.formData.entries()) {\n const key = entry[0]\n const value = entry[1]\n\n this.treatInitial(key, value, result)\n }\n\n return result\n }\n\n treatInitial(key, value, result) {\n const firstMatch = key.match(/^(.+?)(\\[([\\s\\S]+$))/)\n\n if (firstMatch) {\n const inputName = firstMatch[1]\n const rest = firstMatch[2]\n\n let newResult\n\n if (inputName in result) {\n newResult = result[inputName]\n } else if (rest == \"[]\") {\n newResult = []\n result[inputName] = newResult\n } else {\n newResult = {}\n result[inputName] = newResult\n }\n\n this.treatSecond(value, rest, newResult)\n } else {\n result[key] = value\n }\n }\n\n treatSecond(value, rest, result) {\n const secondMatch = rest.match(/^\\[(.*?)\\]([\\s\\S]*)$/)\n const key = secondMatch[1]\n const newRest = secondMatch[2]\n\n let newResult\n\n if (rest == \"[]\") {\n result.push(value)\n } else if (newRest == \"\") {\n result[key] = value\n } else {\n if (typeof result == \"object\" && key in result) {\n newResult = result[key]\n } else if (newRest == \"[]\") {\n newResult = []\n result[key] = newResult\n } else {\n newResult = {}\n result[key] = newResult\n }\n\n this.treatSecond(value, newRest, newResult)\n }\n }\n}\n","module.exports = function numberable(number, {delimiter = \",\", precision = 2, separator = \".\"}) {\n // Fixed number of decimals to given precision and convert to string\n number = `${number.toFixed(precision)}`\n\n // Split whole number with decimals\n const numberParts = number.split(\".\")\n const wholeNumbers = numberParts[0]\n\n let decimals = numberParts[1]\n\n // Append decimals if there are fewer then decired\n while(decimals.length < precision) {\n decimals += \"0\"\n }\n\n // Add delimiters to the whole number\n let numberWithDelimiters = \"\"\n let location = wholeNumbers.length\n\n while(location >= 1) {\n if (numberWithDelimiters != \"\") {\n numberWithDelimiters = `${delimiter}${numberWithDelimiters}`\n }\n\n numberWithDelimiters = `${wholeNumbers.substring(location - 3, location)}${numberWithDelimiters}`\n location -= 3\n }\n\n return `${numberWithDelimiters}${separator}${decimals}`\n}\n","'use strict';\n\nvar $TypeError = require('es-errors/type');\n\nvar DefineOwnProperty = require('../helpers/DefineOwnProperty');\n\nvar FromPropertyDescriptor = require('./FromPropertyDescriptor');\nvar IsDataDescriptor = require('./IsDataDescriptor');\nvar IsPropertyKey = require('./IsPropertyKey');\nvar SameValue = require('./SameValue');\nvar Type = require('./Type');\n\n// https://262.ecma-international.org/6.0/#sec-createmethodproperty\n\nmodule.exports = function CreateMethodProperty(O, P, V) {\n\tif (Type(O) !== 'Object') {\n\t\tthrow new $TypeError('Assertion failed: Type(O) is not Object');\n\t}\n\n\tif (!IsPropertyKey(P)) {\n\t\tthrow new $TypeError('Assertion failed: IsPropertyKey(P) is not true');\n\t}\n\n\tvar newDesc = {\n\t\t'[[Configurable]]': true,\n\t\t'[[Enumerable]]': false,\n\t\t'[[Value]]': V,\n\t\t'[[Writable]]': true\n\t};\n\treturn DefineOwnProperty(\n\t\tIsDataDescriptor,\n\t\tSameValue,\n\t\tFromPropertyDescriptor,\n\t\tO,\n\t\tP,\n\t\tnewDesc\n\t);\n};\n","'use strict';\n\nvar $TypeError = require('es-errors/type');\n\nvar isPropertyDescriptor = require('../helpers/records/property-descriptor');\nvar fromPropertyDescriptor = require('../helpers/fromPropertyDescriptor');\n\n// https://262.ecma-international.org/6.0/#sec-frompropertydescriptor\n\nmodule.exports = function FromPropertyDescriptor(Desc) {\n\tif (typeof Desc !== 'undefined' && !isPropertyDescriptor(Desc)) {\n\t\tthrow new $TypeError('Assertion failed: `Desc` must be a Property Descriptor');\n\t}\n\n\treturn fromPropertyDescriptor(Desc);\n};\n","'use strict';\n\nvar $TypeError = require('es-errors/type');\n\nvar hasOwn = require('hasown');\n\nvar isPropertyDescriptor = require('../helpers/records/property-descriptor');\n\n// https://262.ecma-international.org/5.1/#sec-8.10.2\n\nmodule.exports = function IsDataDescriptor(Desc) {\n\tif (typeof Desc === 'undefined') {\n\t\treturn false;\n\t}\n\n\tif (!isPropertyDescriptor(Desc)) {\n\t\tthrow new $TypeError('Assertion failed: `Desc` must be a Property Descriptor');\n\t}\n\n\tif (!hasOwn(Desc, '[[Value]]') && !hasOwn(Desc, '[[Writable]]')) {\n\t\treturn false;\n\t}\n\n\treturn true;\n};\n","'use strict';\n\n// https://262.ecma-international.org/6.0/#sec-ispropertykey\n\nmodule.exports = function IsPropertyKey(argument) {\n\treturn typeof argument === 'string' || typeof argument === 'symbol';\n};\n","'use strict';\n\nvar $isNaN = require('../helpers/isNaN');\n\n// http://262.ecma-international.org/5.1/#sec-9.12\n\nmodule.exports = function SameValue(x, y) {\n\tif (x === y) { // 0 === -0, but they are not identical.\n\t\tif (x === 0) { return 1 / x === 1 / y; }\n\t\treturn true;\n\t}\n\treturn $isNaN(x) && $isNaN(y);\n};\n","'use strict';\n\nvar ES5Type = require('../5/Type');\n\n// https://262.ecma-international.org/11.0/#sec-ecmascript-data-types-and-values\n\nmodule.exports = function Type(x) {\n\tif (typeof x === 'symbol') {\n\t\treturn 'Symbol';\n\t}\n\tif (typeof x === 'bigint') {\n\t\treturn 'BigInt';\n\t}\n\treturn ES5Type(x);\n};\n","'use strict';\n\n// https://262.ecma-international.org/5.1/#sec-8\n\nmodule.exports = function Type(x) {\n\tif (x === null) {\n\t\treturn 'Null';\n\t}\n\tif (typeof x === 'undefined') {\n\t\treturn 'Undefined';\n\t}\n\tif (typeof x === 'function' || typeof x === 'object') {\n\t\treturn 'Object';\n\t}\n\tif (typeof x === 'number') {\n\t\treturn 'Number';\n\t}\n\tif (typeof x === 'boolean') {\n\t\treturn 'Boolean';\n\t}\n\tif (typeof x === 'string') {\n\t\treturn 'String';\n\t}\n};\n","'use strict';\n\nvar hasPropertyDescriptors = require('has-property-descriptors');\n\nvar $defineProperty = require('es-define-property');\n\nvar hasArrayLengthDefineBug = hasPropertyDescriptors.hasArrayLengthDefineBug();\n\n// eslint-disable-next-line global-require\nvar isArray = hasArrayLengthDefineBug && require('../helpers/IsArray');\n\nvar callBound = require('call-bind/callBound');\n\nvar $isEnumerable = callBound('Object.prototype.propertyIsEnumerable');\n\n// eslint-disable-next-line max-params\nmodule.exports = function DefineOwnProperty(IsDataDescriptor, SameValue, FromPropertyDescriptor, O, P, desc) {\n\tif (!$defineProperty) {\n\t\tif (!IsDataDescriptor(desc)) {\n\t\t\t// ES3 does not support getters/setters\n\t\t\treturn false;\n\t\t}\n\t\tif (!desc['[[Configurable]]'] || !desc['[[Writable]]']) {\n\t\t\treturn false;\n\t\t}\n\n\t\t// fallback for ES3\n\t\tif (P in O && $isEnumerable(O, P) !== !!desc['[[Enumerable]]']) {\n\t\t\t// a non-enumerable existing property\n\t\t\treturn false;\n\t\t}\n\n\t\t// property does not exist at all, or exists but is enumerable\n\t\tvar V = desc['[[Value]]'];\n\t\t// eslint-disable-next-line no-param-reassign\n\t\tO[P] = V; // will use [[Define]]\n\t\treturn SameValue(O[P], V);\n\t}\n\tif (\n\t\thasArrayLengthDefineBug\n\t\t&& P === 'length'\n\t\t&& '[[Value]]' in desc\n\t\t&& isArray(O)\n\t\t&& O.length !== desc['[[Value]]']\n\t) {\n\t\t// eslint-disable-next-line no-param-reassign\n\t\tO.length = desc['[[Value]]'];\n\t\treturn O.length === desc['[[Value]]'];\n\t}\n\n\t$defineProperty(O, P, FromPropertyDescriptor(desc));\n\treturn true;\n};\n","'use strict';\n\nvar GetIntrinsic = require('get-intrinsic');\n\nvar $Array = GetIntrinsic('%Array%');\n\n// eslint-disable-next-line global-require\nvar toStr = !$Array.isArray && require('call-bind/callBound')('Object.prototype.toString');\n\nmodule.exports = $Array.isArray || function IsArray(argument) {\n\treturn toStr(argument) === '[object Array]';\n};\n","'use strict';\n\nvar GetIntrinsic = require('get-intrinsic');\n\nvar callBind = require('call-bind');\nvar callBound = require('call-bind/callBound');\n\nvar $ownKeys = GetIntrinsic('%Reflect.ownKeys%', true);\nvar $pushApply = callBind.apply(GetIntrinsic('%Array.prototype.push%'));\nvar $SymbolValueOf = callBound('Symbol.prototype.valueOf', true);\nvar $gOPN = GetIntrinsic('%Object.getOwnPropertyNames%', true);\nvar $gOPS = $SymbolValueOf ? GetIntrinsic('%Object.getOwnPropertySymbols%') : null;\n\nvar keys = require('object-keys');\n\nmodule.exports = $ownKeys || function OwnPropertyKeys(source) {\n\tvar ownKeys = ($gOPN || keys)(source);\n\tif ($gOPS) {\n\t\t$pushApply(ownKeys, $gOPS(source));\n\t}\n\treturn ownKeys;\n};\n","'use strict';\n\nmodule.exports = function fromPropertyDescriptor(Desc) {\n\tif (typeof Desc === 'undefined') {\n\t\treturn Desc;\n\t}\n\tvar obj = {};\n\tif ('[[Value]]' in Desc) {\n\t\tobj.value = Desc['[[Value]]'];\n\t}\n\tif ('[[Writable]]' in Desc) {\n\t\tobj.writable = !!Desc['[[Writable]]'];\n\t}\n\tif ('[[Get]]' in Desc) {\n\t\tobj.get = Desc['[[Get]]'];\n\t}\n\tif ('[[Set]]' in Desc) {\n\t\tobj.set = Desc['[[Set]]'];\n\t}\n\tif ('[[Enumerable]]' in Desc) {\n\t\tobj.enumerable = !!Desc['[[Enumerable]]'];\n\t}\n\tif ('[[Configurable]]' in Desc) {\n\t\tobj.configurable = !!Desc['[[Configurable]]'];\n\t}\n\treturn obj;\n};\n","'use strict';\n\nmodule.exports = Number.isNaN || function isNaN(a) {\n\treturn a !== a;\n};\n","'use strict';\n\nvar $TypeError = require('es-errors/type');\n\nvar hasOwn = require('hasown');\n\nvar allowed = {\n\t__proto__: null,\n\t'[[Configurable]]': true,\n\t'[[Enumerable]]': true,\n\t'[[Get]]': true,\n\t'[[Set]]': true,\n\t'[[Value]]': true,\n\t'[[Writable]]': true\n};\n\n// https://262.ecma-international.org/6.0/#sec-property-descriptor-specification-type\n\nmodule.exports = function isPropertyDescriptor(Desc) {\n\tif (!Desc || typeof Desc !== 'object') {\n\t\treturn false;\n\t}\n\n\tfor (var key in Desc) { // eslint-disable-line\n\t\tif (hasOwn(Desc, key) && !allowed[key]) {\n\t\t\treturn false;\n\t\t}\n\t}\n\n\tvar isData = hasOwn(Desc, '[[Value]]') || hasOwn(Desc, '[[Writable]]');\n\tvar IsAccessor = hasOwn(Desc, '[[Get]]') || hasOwn(Desc, '[[Set]]');\n\tif (isData && IsAccessor) {\n\t\tthrow new $TypeError('Property Descriptors may not be both accessor and data descriptors');\n\t}\n\treturn true;\n};\n","module.exports = function uniqunize(array, callback) {\n const valuesSeen = []\n const uniqueArray = []\n\n for (const index in array) {\n const value = callback ? callback(array[index]) : array[index]\n\n if (!valuesSeen.includes(value)) {\n valuesSeen.push(value)\n uniqueArray.push(array[index])\n }\n }\n\n return uniqueArray\n}\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}\nexport { _arrayLikeToArray 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 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 };","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 };","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 _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 };","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 };","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 {digg} from \"diggerize\"\n\nconst errorMessages = (args) => {\n if (typeof args.response == \"object\") {\n return digg(args, \"response\", \"errors\").map((error) => {\n if (typeof error == \"string\") {\n return error\n }\n\n return digg(error, \"message\")\n })\n }\n}\n\nexport default errorMessages\n","import {dig, digg} from \"diggerize\"\nimport errorMessages from \"./error-messages.mjs\"\n\nexport default class BaseError extends Error {\n static apiMakerType = \"BaseError\"\n\n constructor (message, args = {}) {\n let messageToUse = message\n\n if (\"addResponseErrorsToErrorMessage\" in args && !args.addResponseErrorsToErrorMessage) {\n messageToUse = message\n } else {\n if (typeof args.response == \"object\" && dig(args, \"response\", \"errors\")) {\n if (message) {\n messageToUse = `${messageToUse}: ${errorMessages(args).join(\". \")}`\n } else {\n messageToUse = errorMessages(args).join(\". \")\n }\n }\n }\n\n super(messageToUse)\n this.args = args\n\n // Maintains proper stack trace for where our error was thrown (only available on V8)\n if (Error.captureStackTrace) Error.captureStackTrace(this, BaseError)\n }\n\n errorMessages () {\n return errorMessages(this.args)\n }\n\n errorTypes () {\n if (typeof this.args.response == \"object\") {\n return digg(this, \"args\", \"response\", \"errors\").map((error) => digg(error, \"type\"))\n }\n }\n}\n","import {digg} from \"diggerize\"\nimport EventEmitter from \"events\"\nimport * as inflection from \"inflection\"\nimport {ReadersWriterLock} from \"epic-locks\"\nimport Services from \"./services.mjs\"\n\nconst shared = {}\n\nexport default class ApiMakerCanCan {\n abilities = []\n abilitiesToLoad = []\n abilitiesToLoadData = []\n events = new EventEmitter()\n lock = new ReadersWriterLock()\n\n static current () {\n if (!shared.currentApiMakerCanCan) shared.currentApiMakerCanCan = new ApiMakerCanCan()\n\n return shared.currentApiMakerCanCan\n }\n\n can (ability, subject) {\n let abilityToUse = inflection.underscore(ability)\n const foundAbility = this.findAbility(abilityToUse, subject)\n\n if (foundAbility === undefined) {\n let subjectLabel = subject\n\n // Translate resource-models into class name strings\n if (typeof subject == \"function\" && subject.modelClassData) {\n subjectLabel = digg(subject.modelClassData(), \"name\")\n }\n\n console.error(`Ability not loaded ${subjectLabel}#${abilityToUse}`, {abilities: this.abilities, ability, subject})\n\n return false\n } else {\n return digg(foundAbility, \"can\")\n }\n }\n\n findAbility (ability, subject) {\n return this.abilities.find((abilityData) => {\n const abilityDataSubject = digg(abilityData, \"subject\")\n const abilityDataAbility = digg(abilityData, \"ability\")\n\n if (abilityDataAbility == ability) {\n // If actually same class\n if (abilityDataSubject == subject) return true\n\n // Sometimes in dev when using linking it will actually be two different but identical resource classes\n if (\n typeof subject == \"function\" &&\n subject.modelClassData &&\n typeof abilityDataSubject == \"function\" &&\n abilityDataSubject.modelClassData &&\n digg(subject.modelClassData(), \"name\") == digg(abilityDataSubject.modelClassData(), \"name\")\n ) {\n return true\n }\n }\n\n return false\n })\n }\n\n isAbilityLoaded (ability, subject) {\n const foundAbility = this.findAbility(ability, subject)\n\n if (foundAbility !== undefined) {\n return true\n }\n\n return false\n }\n\n async loadAbilities (abilities) {\n await this.lock.read(async () => {\n const promises = []\n\n for (const abilityData of abilities) {\n const subject = abilityData[0]\n\n if (!subject) throw new Error(`Invalid subject given in abilities: ${subject} - ${JSON.stringify(abilities)}`)\n if (!Array.isArray(abilityData[1])) throw new Error(`Expected an array of abilities but got: ${typeof abilityData[1]}: ${abilityData[1]}`)\n\n for (const ability of abilityData[1]) {\n const promise = this.loadAbility(ability, subject)\n\n promises.push(promise)\n }\n }\n\n await Promise.all(promises)\n })\n }\n\n loadAbility (ability, subject) {\n return new Promise((resolve) => {\n ability = inflection.underscore(ability)\n\n if (this.isAbilityLoaded(ability, subject)) {\n resolve()\n return\n }\n\n const foundAbility = this.abilitiesToLoad.find((abilityToLoad) => digg(abilityToLoad, \"ability\") == ability && digg(abilityToLoad, \"subject\") == subject)\n\n if (foundAbility) {\n foundAbility.callbacks.push(resolve)\n } else {\n this.abilitiesToLoad.push({ability, callbacks: [resolve], subject})\n this.abilitiesToLoadData.push({ability, subject})\n\n this.queueAbilitiesRequest()\n }\n })\n }\n\n queueAbilitiesRequest () {\n if (this.queueAbilitiesRequestTimeout) {\n clearTimeout(this.queueAbilitiesRequestTimeout)\n }\n\n this.queueAbilitiesRequestTimeout = setTimeout(this.sendAbilitiesRequest, 0)\n }\n\n async resetAbilities () {\n await this.lock.write(() => {\n this.abilities = []\n })\n this.events.emit(\"onResetAbilities\")\n }\n\n sendAbilitiesRequest = async () => {\n const abilitiesToLoad = this.abilitiesToLoad\n const abilitiesToLoadData = this.abilitiesToLoadData\n\n this.abilitiesToLoad = []\n this.abilitiesToLoadData = []\n\n // Load abilities from backend\n const result = await Services.current().sendRequest(\"CanCan::LoadAbilities\", {\n request: abilitiesToLoadData\n })\n const abilities = digg(result, \"abilities\")\n\n // Set the loaded abilities\n this.abilities = this.abilities.concat(abilities)\n\n // Call the callbacks that are waiting for the ability to have been loaded\n for (const abilityData of abilitiesToLoad) {\n for (const callback of abilityData.callbacks) {\n callback()\n }\n }\n }\n}\n","import cloneDeep from \"clone-deep\"\nimport CommandsPool from \"./commands-pool.mjs\"\nimport {digg} from \"diggerize\"\nimport * as inflection from \"inflection\"\nimport {incorporate} from \"incorporator\"\nimport modelClassRequire from \"./model-class-require.mjs\"\nimport Result from \"./result.mjs\"\n\nexport default class ApiMakerCollection {\n static apiMakerType = \"Collection\"\n\n constructor(args, queryArgs = {}) {\n this.queryArgs = queryArgs\n this.args = args\n }\n\n abilities(originalAbilities) {\n const newAbilities = {}\n\n for (const originalAbilityName in originalAbilities) {\n const newModelName = inflection.underscore(originalAbilityName)\n const newValues = []\n const originalValues = originalAbilities[originalAbilityName]\n\n for (const originalAbilityName of originalValues) {\n const newAbilityName = inflection.underscore(originalAbilityName)\n newValues.push(newAbilityName)\n }\n\n newAbilities[newModelName] = newValues\n }\n\n return this._merge({abilities: newAbilities})\n }\n\n accessibleBy(abilityName) {\n return this._merge({accessibleBy: inflection.underscore(abilityName)})\n }\n\n async count() {\n const response = await this.clone()._merge({count: true})._response()\n\n return digg(response, \"count\")\n }\n\n distinct() {\n return this._merge({distinct: true})\n }\n\n async each(callback) {\n const array = await this.toArray()\n\n for (const model in array) {\n callback.call(model)\n }\n }\n\n except(...keys) {\n for (const key of keys) {\n if (key == \"page\") {\n delete this.queryArgs[key]\n } else {\n throw new Error(`Unhandled key: ${key}`)\n }\n }\n\n return this\n }\n\n async first() {\n const models = await this.toArray()\n return models[0]\n }\n\n groupBy(...arrayOfTablesAndColumns) {\n const arrayOfTablesAndColumnsWithLowercaseColumns = arrayOfTablesAndColumns.map((tableAndColumn) => {\n if (Array.isArray(tableAndColumn)) {\n return [tableAndColumn[0], tableAndColumn[1].toLowerCase()]\n } else {\n return tableAndColumn.toLowerCase()\n }\n })\n const currentGroupBy = this.queryArgs.groupBy || []\n const newGroupBy = currentGroupBy.concat(arrayOfTablesAndColumnsWithLowercaseColumns)\n\n return this._merge({\n groupBy: newGroupBy\n })\n }\n\n isLoaded() {\n if (this.args.reflectionName in this.args.model.relationshipsCache)\n return true\n\n return false\n }\n\n limit(amount) {\n return this._merge({limit: amount})\n }\n\n preloaded() {\n if (!(this.args.reflectionName in this.args.model.relationshipsCache)) {\n throw new Error(`${this.args.reflectionName} hasnt been loaded yet`)\n }\n\n return this.args.model.relationshipsCache[this.args.reflectionName]\n }\n\n loaded() {\n const {model, reflectionName} = this.args\n\n if (reflectionName in model.relationships) {\n return model.relationships[reflectionName]\n } else if (reflectionName in model.relationshipsCache) {\n return model.relationshipsCache[reflectionName]\n } else if (model.isNewRecord()) {\n const reflectionNameUnderscore = inflection.underscore(reflectionName)\n\n // Initialize as empty and try again to return the empty result\n this.set([])\n\n return digg(model.relationships, reflectionNameUnderscore)\n } else {\n const relationshipsLoaded = uniqunize(Object.keys(model.relationships).concat(Object.keys(model.relationshipsCache)))\n\n throw new Error(`${reflectionName} hasnt been loaded yet on ${model.modelClassData().name}. Loaded was: ${relationshipsLoaded.join(\", \")}`)\n }\n }\n\n // Replaces the relationships with the given new collection.\n set(newCollection) {\n this.args.model.relationships[this.args.reflectionName] = newCollection\n }\n\n // Pushes another model onto the given collection.\n push(newModel) {\n if (!(this.args.reflectionName in this.args.model.relationships)) {\n this.args.model.relationships[this.args.reflectionName] = []\n }\n\n this.args.model.relationships[this.args.reflectionName].push(newModel)\n }\n\n // Array shortcuts\n find = (...args) => this.loaded().find(...args)\n forEach = (...args) => this.loaded().forEach(...args)\n map = (...args) => this.loaded().map(...args)\n\n preload(preloadValue) {\n return this._merge({preload: preloadValue})\n }\n\n page(page) {\n if (!page)\n page = 1\n\n return this._merge({page})\n }\n\n pageKey(pageKey) {\n return this._merge({pageKey})\n }\n\n params() {\n let params = {}\n\n if (this.queryArgs.params) params = incorporate(params, this.queryArgs.params)\n if (this.queryArgs.abilities) params.abilities = this.queryArgs.abilities\n if (this.queryArgs.accessibleBy) params.accessible_by = inflection.underscore(this.queryArgs.accessibleBy)\n if (this.queryArgs.count) params.count = this.queryArgs.count\n if (this.queryArgs.distinct) params.distinct = this.queryArgs.distinct\n if (this.queryArgs.groupBy) params.group_by = this.queryArgs.groupBy\n if (this.queryArgs.ransack) params.q = this.queryArgs.ransack\n if (this.queryArgs.limit) params.limit = this.queryArgs.limit\n if (this.queryArgs.preload) params.preload = this.queryArgs.preload\n if (this.queryArgs.page) params.page = this.queryArgs.page\n if (this.queryArgs.per) params.per = this.queryArgs.per\n if (this.queryArgs.search) params.search = this.queryArgs.search\n if (this.queryArgs.select) params.select = this.queryArgs.select\n if (this.queryArgs.selectColumns) params.select_columns = this.queryArgs.selectColumns\n\n return params\n }\n\n per(per) {\n return this._merge({per})\n }\n\n perKey(perKey) {\n return this._merge({perKey})\n }\n\n ransack(params) {\n if (params) this._merge({ransack: params})\n return this\n }\n\n async result() {\n const response = await this._response()\n const models = digg(response, \"collection\")\n\n this._addQueryToModels(models)\n\n const result = new Result({collection: this, models, response})\n\n return result\n }\n\n search(params) {\n if (params) this._merge({search: params})\n return this\n }\n\n searchKey(searchKey) {\n return this._merge({searchKey})\n }\n\n select(originalSelect) {\n const newSelect = {}\n\n for (const originalModelName in originalSelect) {\n const newModelName = inflection.underscore(originalModelName)\n const newValues = []\n const originalValues = originalSelect[originalModelName]\n\n for (const originalAttributeName of originalValues) {\n const newAttributeName = inflection.underscore(originalAttributeName)\n newValues.push(newAttributeName)\n }\n\n newSelect[newModelName] = newValues\n }\n\n return this._merge({select: newSelect})\n }\n\n selectColumns(originalSelect) {\n const newSelect = {}\n\n for (const originalModelName in originalSelect) {\n const newModelName = inflection.underscore(inflection.underscore(originalModelName))\n const newValues = []\n const originalValues = originalSelect[originalModelName]\n\n for (const originalAttributeName of originalValues) {\n const newAttributeName = inflection.underscore(originalAttributeName)\n newValues.push(newAttributeName)\n }\n\n newSelect[newModelName] = newValues\n }\n\n return this._merge({selectColumns: newSelect})\n }\n\n sort(sortBy) {\n return this._merge({ransack: {s: sortBy}})\n }\n\n async toArray() {\n const response = await this._response()\n const models = digg(response, \"collection\")\n\n this._addQueryToModels(models)\n\n return models\n }\n\n modelClass() {\n const modelName = digg(this.args.modelClass.modelClassData(), \"name\")\n\n return modelClassRequire(modelName)\n }\n\n clone() {\n const clonedQueryArgs = cloneDeep(this.queryArgs)\n\n return new ApiMakerCollection(this.args, clonedQueryArgs)\n }\n\n // This is needed when reloading a version of the model with the same selected attributes and preloads\n _addQueryToModels(models) {\n for(const model of models) {\n model.collection = this\n }\n }\n\n _merge(newQueryArgs) {\n incorporate(this.queryArgs, newQueryArgs)\n\n return this\n }\n\n _response() {\n const modelClassData = this.args.modelClass.modelClassData()\n\n return CommandsPool.addCommand(\n {\n args: this.params(),\n command: `${modelClassData.collectionName}-index`,\n collectionName: modelClassData.collectionName,\n type: \"index\"\n },\n {}\n )\n }\n}\n","import config from \"./config.mjs\"\nimport CustomError from \"./custom-error.mjs\"\nimport FormDataObjectizer from \"form-data-objectizer\"\nimport Logger from \"./logger.mjs\"\nimport qs from \"qs\"\nimport SessionStatusUpdater from \"./session-status-updater.mjs\"\nimport urlEncode from \"./url-encode.mjs\"\n\nconst logger = new Logger({name: \"ApiMaker / Api\"})\n\n// logger.setDebug(true)\n\nexport default class Api {\n static get = async (path, pathParams = null) => await Api.requestLocal({path, pathParams, method: \"GET\"})\n static delete = async (path, pathParams = null) => await Api.requestLocal({path, pathParams, method: \"DELETE\"})\n static patch = async (path, data = {}) => await Api.requestLocal({path, data, method: \"PATCH\"})\n static post = async (path, data = {}) => await Api.requestLocal({path, data, method: \"POST\"})\n\n static async request({data, headers, method, path, pathParams}) {\n let requestPath = \"\"\n if (config.getHost()) requestPath += config.getHost()\n requestPath += path\n\n if (pathParams) {\n const pathParamsString = qs.stringify(pathParams, {arrayFormat: \"brackets\", encoder: urlEncode})\n requestPath += `?${pathParamsString}`\n }\n\n const xhr = new XMLHttpRequest()\n\n xhr.open(method, requestPath, true)\n xhr.withCredentials = true\n\n if (headers) {\n for (const headerName in headers) {\n xhr.setRequestHeader(headerName, headers[headerName])\n }\n }\n\n const response = await Api.executeXhr(xhr, data)\n\n return response\n }\n\n static executeXhr(xhr, data) {\n return new Promise((resolve, reject) => {\n xhr.onload = () => {\n const response = this._parseResponse(xhr)\n\n if (xhr.status == 200) {\n resolve(response)\n } else {\n const customError = new CustomError(`Request failed with code: ${xhr.status}`, {response, xhr})\n\n if (data instanceof FormData) {\n customError.peakflowParameters = FormDataObjectizer.toObject(data)\n } else {\n customError.peakflowParameters = data\n }\n\n reject(customError)\n }\n }\n\n xhr.send(data)\n })\n }\n\n static async requestLocal(args) {\n if (!args.headers) {\n args.headers = {}\n }\n\n const token = await this._token()\n\n logger.debug(() => `Got token: ${token}`)\n\n if (token) {\n args.headers[\"X-CSRF-Token\"] = token\n }\n\n if (args.data) {\n args.headers[\"Content-Type\"] = \"application/json\"\n args.data = JSON.stringify(args.data)\n }\n\n if (args.rawData) {\n args.data = args.rawData\n }\n\n return await this.request(args)\n }\n\n static async put(path, data = {}) {\n return await this.requestLocal({path, data, method: \"PUT\"})\n }\n\n static _token = async () => await SessionStatusUpdater.current().getCsrfToken()\n\n static _parseResponse(xhr) {\n const responseType = xhr.getResponseHeader(\"content-type\")\n\n if (responseType && responseType.startsWith(\"application/json\")) {\n return JSON.parse(xhr.responseText)\n } else {\n return xhr.responseText\n }\n }\n}\n","import objectToFormData from \"object-to-formdata\"\n\nexport default class ApiMakerCommandSubmitData {\n constructor (data) {\n this.data = data\n this.filesCount = 0\n this.jsonData = this.traverseObject(this.data, \"json\")\n }\n\n getFilesCount = () => this.filesCount\n getJsonData = () => this.jsonData\n\n getRawData () {\n if (!this.rawData) {\n this.rawData = this.traverseObject(this.data, \"raw\")\n }\n\n return this.rawData\n }\n\n getFormData () {\n const objectForFormData = this.getRawData() || {}\n\n objectForFormData.json = JSON.stringify(this.getJsonData())\n\n const formData = objectToFormData.serialize(objectForFormData)\n\n return formData\n }\n\n convertDynamic (value, type) {\n if (Array.isArray(value)) {\n return this.traverseArray(value, type)\n } else if (typeof value == \"object\" && value !== null && value.constructor.name == \"Object\") {\n return this.traverseObject(value, type)\n } else {\n return value\n }\n }\n\n shouldSkip (object, type) {\n if (type == \"json\" && object instanceof File) {\n this.filesCount += 1\n return true\n }\n\n if (type == \"raw\" && !Array.isArray(object) && !this.isObject(object) && !(object instanceof File)) {\n return true\n }\n\n return false\n }\n\n isObject (value) {\n if (typeof value == \"object\" && value !== null && value.constructor.name == \"Object\") {\n return true\n }\n\n return false\n }\n\n traverseArray (array, type) {\n const newArray = []\n\n for (const value of array) {\n if (this.shouldSkip(value, type)) {\n continue\n }\n\n if (Array.isArray(value)) {\n newArray.push(this.convertDynamic(value, type))\n } else if (this.isObject(value)) {\n newArray.push(this.convertDynamic(value, type))\n } else {\n newArray.push(value)\n }\n }\n\n return newArray\n }\n\n traverseObject (object, type) {\n const newObject = {}\n\n for (const key in object) {\n const value = object[key]\n\n if (this.shouldSkip(value, type)) {\n continue\n }\n\n if (Array.isArray(value)) {\n newObject[key] = this.convertDynamic(value, type)\n } else if (this.isObject(value)) {\n newObject[key] = this.convertDynamic(value, type)\n } else {\n newObject[key] = value\n }\n }\n\n return newObject\n }\n}\n","import CustomError from \"./custom-error.mjs\"\n\nclass DestroyError extends CustomError {}\n\nDestroyError.apiMakerType = \"DestroyError\"\n\nexport default DestroyError\n","import {digg} from \"diggerize\"\n\nexport default class Serializer {\n static serialize (arg) {\n const serialize = new Serializer(arg)\n\n return serialize.serialize()\n }\n\n constructor (arg) {\n this.arg = arg\n }\n\n serialize () {\n return this.serializeArgument(this.arg)\n }\n\n serializeArgument (arg) {\n if (typeof arg == \"object\" && arg && arg.constructor.apiMakerType == \"BaseModel\") {\n return {\n api_maker_type: \"model\",\n model_class_name: digg(arg.modelClassData(), \"name\"),\n model_id: arg.id()\n }\n } else if (typeof arg == \"function\" && arg.apiMakerType == \"BaseModel\") {\n return {\n api_maker_type: \"resource\",\n name: digg(arg.modelClassData(), \"name\")\n }\n } else if (arg instanceof Date) {\n let offsetNumber = parseInt((arg.getTimezoneOffset() / 60) * 100, 10)\n\n offsetNumber = -offsetNumber\n\n let offset = `${offsetNumber}`\n\n while (offset.length < 4) {\n offset = `0${offset}`\n }\n\n return {\n api_maker_type: \"datetime\",\n value: `${arg.getFullYear()}-${arg.getMonth() + 1}-${arg.getDate()} ${arg.getHours()}:${arg.getMinutes()}:${arg.getSeconds()}+${offset}`\n }\n } else if (Array.isArray(arg)) {\n return this.serializeArray(arg)\n } else if (typeof arg == \"object\" && arg && arg.constructor && arg.constructor.apiMakerType == \"Collection\") {\n return {\n api_maker_type: \"collection\",\n value: this.serializeObject(arg)\n }\n } else if (typeof arg == \"object\" && arg !== null && arg.constructor.name == \"Object\") {\n return this.serializeObject(arg)\n } else {\n return arg\n }\n }\n\n serializeArray (arg) {\n return arg.map((value) => this.serializeArgument(value))\n }\n\n serializeObject (arg) {\n const newObject = {}\n\n for (const key in arg) {\n const value = arg[key]\n const newValue = this.serializeArgument(value)\n const newKey = this.serializeArgument(key)\n\n newObject[newKey] = newValue\n }\n\n return newObject\n }\n}\n","import Api from \"./api.mjs\"\nimport CommandSubmitData from \"./command-submit-data.mjs\"\nimport CustomError from \"./custom-error.mjs\"\nimport DestroyError from \"./destroy-error.mjs\"\nimport Deserializer from \"./deserializer.mjs\"\nimport {dig, digg} from \"diggerize\"\nimport events from \"./events.mjs\"\nimport FormDataObjectizer from \"form-data-objectizer\"\nimport RunLast from \"./run-last.mjs\"\nimport Serializer from \"./serializer.mjs\"\nimport SessionStatusUpdater from \"./session-status-updater.mjs\"\nimport ValidationError from \"./validation-error.mjs\"\nimport {ValidationErrors} from \"./validation-errors.mjs\"\n\nconst shared = {}\n\nexport default class ApiMakerCommandsPool {\n static addCommand(data, args = {}) {\n let pool\n\n if (args.instant) {\n pool = new ApiMakerCommandsPool()\n } else {\n pool = ApiMakerCommandsPool.current()\n }\n\n const promiseResult = pool.addCommand(data)\n\n if (args.instant) {\n pool.flushRunLast.run()\n } else {\n pool.flushRunLast.queue()\n }\n\n return promiseResult\n }\n\n static current() {\n if (!shared.currentApiMakerCommandsPool) shared.currentApiMakerCommandsPool = new ApiMakerCommandsPool()\n\n return shared.currentApiMakerCommandsPool\n }\n\n static flush() {\n ApiMakerCommandsPool.current().flush()\n }\n\n constructor() {\n this.flushCount = 0\n this.pool = {}\n this.poolData = {}\n this.currentId = 1\n this.globalRequestData = {}\n }\n\n addCommand(data) {\n const stack = Error().stack\n\n return new Promise((resolve, reject) => {\n const id = this.currentId\n this.currentId += 1\n\n const commandType = data.type\n const commandName = data.command\n const collectionName = data.collectionName\n\n this.pool[id] = {resolve, reject, stack}\n\n if (!this.poolData[commandType]) this.poolData[commandType] = {}\n if (!this.poolData[commandType][collectionName]) this.poolData[commandType][collectionName] = {}\n if (!this.poolData[commandType][collectionName][commandName]) this.poolData[commandType][collectionName][commandName] = {}\n\n let args\n\n if (data.args?.nodeName == \"FORM\") {\n const formData = new FormData(data.args)\n\n args = FormDataObjectizer.toObject(formData)\n } else if (data.args instanceof FormData) {\n args = FormDataObjectizer.toObject(data.args)\n } else {\n args = Serializer.serialize(data.args)\n }\n\n this.poolData[commandType][collectionName][commandName][id] = {\n args,\n primary_key: data.primaryKey,\n id\n }\n })\n }\n\n commandsCount() {\n return Object.keys(this.pool)\n }\n\n async sendRequest({commandSubmitData, url}) {\n let response\n\n for (let i = 0; i < 3; i++) {\n if (commandSubmitData.getFilesCount() > 0) {\n response = await Api.requestLocal({path: url, method: \"POST\", rawData: commandSubmitData.getFormData()})\n } else {\n response = await Api.requestLocal({path: url, method: \"POST\", data: commandSubmitData.getJsonData()})\n }\n\n if (response.success === false && response.type == \"invalid_authenticity_token\") {\n console.log(\"Invalid authenticity token - try again\")\n await SessionStatusUpdater.current().updateSessionStatus()\n continue\n }\n\n return response\n }\n\n throw new Error(\"Couldnt successfully execute request\")\n }\n\n flush = async () => {\n if (this.commandsCount() == 0) {\n return\n }\n\n const currentPool = this.pool\n const currentPoolData = this.poolData\n\n this.pool = {}\n this.poolData = {}\n this.flushCount++\n\n try {\n const submitData = {pool: currentPoolData}\n\n if (Object.keys(this.globalRequestData).length > 0)\n submitData.global = this.globalRequestData\n\n const commandSubmitData = new CommandSubmitData(submitData)\n const url = \"/api_maker/commands\"\n const response = await this.sendRequest({commandSubmitData, url})\n\n for (const commandId in response.responses) {\n const commandResponse = response.responses[commandId]\n const commandResponseData = Deserializer.parse(commandResponse.data)\n const commandData = currentPool[parseInt(commandId, 10)]\n const responseType = commandResponse.type\n\n if (commandResponseData && typeof commandResponseData == \"object\") {\n const bugReportUrl = dig(commandResponseData, \"bug_report_url\")\n\n if (bugReportUrl) {\n console.log(`Bug report URL: ${bugReportUrl}`)\n }\n }\n\n if (responseType == \"success\") {\n commandData.resolve(commandResponseData)\n } else if (responseType == \"error\") {\n const error = new CustomError(\"Command error\", {response: commandResponseData})\n\n error.stack += \"\\n\"\n error.stack += commandData.stack.split(\"\\n\").slice(1).join(\"\\n\")\n\n commandData.reject(error)\n } else if (responseType == \"failed\") {\n this.handleFailedResponse(commandData, commandResponseData)\n } else {\n throw new Error(`Unhandled response type: ${responseType}`)\n }\n }\n } finally {\n this.flushCount--\n }\n }\n\n handleFailedResponse(commandData, commandResponseData) {\n let error\n\n if (commandResponseData.error_type == \"destroy_error\") {\n error = new DestroyError(`Destroy failed`, {response: commandResponseData})\n } else if (commandResponseData.error_type == \"validation_error\") {\n const validationErrors = new ValidationErrors({\n model: digg(commandResponseData, \"model\"),\n validationErrors: digg(commandResponseData, \"validation_errors\")\n })\n error = new ValidationError(validationErrors, {response: commandResponseData})\n\n events.emit(\"onValidationErrors\", validationErrors)\n } else {\n let errorMessage\n\n if (!commandResponseData.errors) { errorMessage = \"Command failed\" }\n\n error = new CustomError(errorMessage, {response: commandResponseData})\n }\n\n commandData.reject(error)\n }\n\n isActive() {\n if (this.commandsCount() > 0) {\n return true\n }\n\n if (this.flushCount > 0) {\n return true\n }\n\n return false\n }\n\n flushRunLast = new RunLast(this.flush)\n}\n","import * as inflection from \"inflection\"\n\nconst accessors = {\n breakPoints: {\n default: [\n [\"xxl\", 1400],\n [\"xl\", 1200],\n [\"lg\", 992],\n [\"md\", 768],\n [\"sm\", 576],\n [\"xs\", 0]\n ],\n required: true\n },\n currenciesCollection: {required: true},\n history: {required: false},\n host: {required: false},\n i18n: {required: false},\n modal: {required: false},\n routes: {required: false},\n routeDefinitions: {required: false}\n}\n\nclass ApiMakerConfig {\n constructor() {\n if (!globalThis.apiMakerConfigGlobal) globalThis.apiMakerConfigGlobal = {}\n\n this.global = globalThis.apiMakerConfigGlobal\n }\n}\n\nfor (const accessorName in accessors) {\n const accessorData = accessors[accessorName]\n const camelizedAccessor = inflection.camelize(accessorName)\n\n ApiMakerConfig.prototype[`set${camelizedAccessor}`] = function (newValue) { this.global[accessorName] = newValue }\n ApiMakerConfig.prototype[`get${camelizedAccessor}`] = function (...args) {\n if (!this.global[accessorName]) {\n if (accessorData.default) return accessorData.default\n if (accessorData.required) throw new Error(`${accessorName} hasn't been set`)\n }\n\n const value = this.global[accessorName]\n\n if (typeof value == \"function\") return value(...args)\n\n return value\n }\n}\n\nconst apiMakerConfig = new ApiMakerConfig()\n\nexport default apiMakerConfig\n","import BaseError from \"./base-error.mjs\"\n\nclass CustomError extends BaseError {}\n\nCustomError.apiMakerType = \"CustomError\"\n\nexport default CustomError\n","import {digg} from \"diggerize\"\nimport * as inflection from \"inflection\"\nimport modelClassRequire from \"./model-class-require.mjs\"\nimport ModelsResponseReader from \"./models-response-reader.mjs\"\nimport Money from \"js-money\"\n\nexport default class ApiMakerDeserializer {\n static parse (object) {\n if (Array.isArray(object)) {\n return object.map((value) => ApiMakerDeserializer.parse(value))\n } else if (object && typeof object == \"object\") {\n if (object.api_maker_type == \"date\") {\n const date = new Date(digg(object, \"value\"))\n\n date.apiMakerType = \"date\"\n\n return date\n } else if (object.api_maker_type == \"time\") {\n const date = new Date(digg(object, \"value\"))\n\n date.apiMakerType = \"time\"\n\n return date\n } else if (object.api_maker_type == \"collection\") {\n // Need to remove type to avoid circular error\n const {api_maker_type, ...restObject} = object\n\n return ModelsResponseReader.collection(ApiMakerDeserializer.parse(restObject))\n } else if (object.api_maker_type == \"money\") {\n const cents = digg(object, \"amount\")\n const currency = digg(object, \"currency\")\n\n return Money.fromInteger(cents, currency)\n } else if (object.api_maker_type == \"model\") {\n const modelClassName = inflection.classify(digg(object, \"model_name\"))\n const ModelClass = modelClassRequire(modelClassName)\n const data = ApiMakerDeserializer.parse(digg(object, \"serialized\"))\n const model = new ModelClass({data, isNewRecord: false})\n\n return model\n } else if (object.api_maker_type == \"resource\") {\n const modelClassName = inflection.classify(digg(object, \"name\"))\n const ModelClass = modelClassRequire(modelClassName)\n\n return ModelClass\n } else {\n const newObject = {}\n\n for (const key in object) {\n const value = object[key]\n newObject[key] = ApiMakerDeserializer.parse(value)\n }\n\n return newObject\n }\n } else {\n return object\n }\n }\n}\n","import CanCan from \"./can-can.mjs\"\nimport Deserializer from \"./deserializer.mjs\"\nimport {digg} from \"diggerize\"\nimport events from \"./events.mjs\"\nimport * as inflection from \"inflection\"\nimport modelClassRequire from \"./model-class-require.mjs\"\nimport Services from \"./services.mjs\"\n\nconst shared = {}\n\nexport default class ApiMakerDevise {\n static callSignOutEvent(args) {\n events.emit(\"onDeviseSignOut\", {args})\n }\n\n static current() {\n if (!shared.currentApiMakerDevise) {\n shared.currentApiMakerDevise = new ApiMakerDevise()\n }\n\n return shared.currentApiMakerDevise\n }\n\n static events() {\n return events\n }\n\n static addUserScope(scope) {\n const currentMethodName = `current${inflection.camelize(scope)}`\n\n ApiMakerDevise[currentMethodName] = () => ApiMakerDevise.current().getCurrentScope(scope)\n\n const isSignedInMethodName = `is${inflection.camelize(scope)}SignedIn`\n\n ApiMakerDevise[isSignedInMethodName] = () => Boolean(ApiMakerDevise.current().getCurrentScope(scope))\n }\n\n static async signIn(username, password, args = {}) {\n if (!args.scope) args.scope = \"user\"\n\n const postData = {username, password, args}\n const response = await Services.current().sendRequest(\"Devise::SignIn\", postData)\n\n let model = response.model\n\n if (Array.isArray(model)) model = model[0]\n\n await CanCan.current().resetAbilities()\n\n ApiMakerDevise.updateSession(model)\n events.emit(\"onDeviseSignIn\", Object.assign({username}, args))\n\n return {model, response}\n }\n\n static updateSession(model, args = {}) {\n if (!args.scope) args.scope = \"user\"\n\n const camelizedScopeName = inflection.camelize(args.scope, true)\n\n ApiMakerDevise.current().currents[camelizedScopeName] = model\n }\n\n hasCurrentScope(scope) {\n const camelizedScopeName = inflection.camelize(scope, true)\n\n return camelizedScopeName in ApiMakerDevise.current().currents\n }\n\n static setSignedOut(args) {\n ApiMakerDevise.current().currents[inflection.camelize(args.scope, true)] = null\n }\n\n static async signOut(args = {}) {\n if (!args.scope) {\n args.scope = \"user\"\n }\n\n const response = await Services.current().sendRequest(\"Devise::SignOut\", {args})\n\n await CanCan.current().resetAbilities()\n\n // Cannot use the class because they would both import each other\n if (shared.apiMakerSessionStatusUpdater) {\n shared.apiMakerSessionStatusUpdater.updateSessionStatus()\n }\n\n ApiMakerDevise.setSignedOut(args)\n ApiMakerDevise.callSignOutEvent(args)\n\n return response\n }\n\n constructor() {\n this.currents = {}\n }\n\n getCurrentScope(scope) {\n if (!(scope in this.currents)) {\n this.currents[scope] = this.loadCurrentScope(scope)\n }\n\n return this.currents[scope]\n }\n\n hasGlobalCurrentScope(scope) {\n if (globalThis.apiMakerDeviseCurrent && scope in globalThis.apiMakerDeviseCurrent) {\n return true\n }\n\n return false\n }\n\n loadCurrentScope(scope) {\n if (!this.hasGlobalCurrentScope(scope)) {\n return null\n }\n\n const scopeData = globalThis.apiMakerDeviseCurrent[scope]\n\n if (!scopeData) return null\n\n const parsedScopeData = Deserializer.parse(scopeData)\n\n // Might be a collection with preloaded relationships\n if (Array.isArray(parsedScopeData)) return parsedScopeData[0]\n\n const ModelClass = modelClassRequire(scope)\n const modelInstance = new ModelClass({data: parsedScopeData})\n\n return modelInstance\n }\n}\n","var UNKNOWN_FUNCTION = '';\n/**\n * This parses the different stack traces and puts them into one format\n * This borrows heavily from TraceKit (https://github.com/csnover/TraceKit)\n */\n\nfunction parse(stackString) {\n var lines = stackString.split('\\n');\n return lines.reduce(function (stack, line) {\n var parseResult = parseChrome(line) || parseWinjs(line) || parseGecko(line) || parseNode(line) || parseJSC(line);\n\n if (parseResult) {\n stack.push(parseResult);\n }\n\n return stack;\n }, []);\n}\nvar chromeRe = /^\\s*at (.*?) ?\\(((?:file|https?|blob|chrome-extension|native|eval|webpack||\\/|[a-z]:\\\\|\\\\\\\\).*?)(?::(\\d+))?(?::(\\d+))?\\)?\\s*$/i;\nvar chromeEvalRe = /\\((\\S*)(?::(\\d+))(?::(\\d+))\\)/;\n\nfunction parseChrome(line) {\n var parts = chromeRe.exec(line);\n\n if (!parts) {\n return null;\n }\n\n var isNative = parts[2] && parts[2].indexOf('native') === 0; // start of line\n\n var isEval = parts[2] && parts[2].indexOf('eval') === 0; // start of line\n\n var submatch = chromeEvalRe.exec(parts[2]);\n\n if (isEval && submatch != null) {\n // throw out eval line/column and use top-most line/column number\n parts[2] = submatch[1]; // url\n\n parts[3] = submatch[2]; // line\n\n parts[4] = submatch[3]; // column\n }\n\n return {\n file: !isNative ? parts[2] : null,\n methodName: parts[1] || UNKNOWN_FUNCTION,\n arguments: isNative ? [parts[2]] : [],\n lineNumber: parts[3] ? +parts[3] : null,\n column: parts[4] ? +parts[4] : null\n };\n}\n\nvar winjsRe = /^\\s*at (?:((?:\\[object object\\])?.+) )?\\(?((?:file|ms-appx|https?|webpack|blob):.*?):(\\d+)(?::(\\d+))?\\)?\\s*$/i;\n\nfunction parseWinjs(line) {\n var parts = winjsRe.exec(line);\n\n if (!parts) {\n return null;\n }\n\n return {\n file: parts[2],\n methodName: parts[1] || UNKNOWN_FUNCTION,\n arguments: [],\n lineNumber: +parts[3],\n column: parts[4] ? +parts[4] : null\n };\n}\n\nvar geckoRe = /^\\s*(.*?)(?:\\((.*?)\\))?(?:^|@)((?:file|https?|blob|chrome|webpack|resource|\\[native).*?|[^@]*bundle)(?::(\\d+))?(?::(\\d+))?\\s*$/i;\nvar geckoEvalRe = /(\\S+) line (\\d+)(?: > eval line \\d+)* > eval/i;\n\nfunction parseGecko(line) {\n var parts = geckoRe.exec(line);\n\n if (!parts) {\n return null;\n }\n\n var isEval = parts[3] && parts[3].indexOf(' > eval') > -1;\n var submatch = geckoEvalRe.exec(parts[3]);\n\n if (isEval && submatch != null) {\n // throw out eval line/column and use top-most line number\n parts[3] = submatch[1];\n parts[4] = submatch[2];\n parts[5] = null; // no column when eval\n }\n\n return {\n file: parts[3],\n methodName: parts[1] || UNKNOWN_FUNCTION,\n arguments: parts[2] ? parts[2].split(',') : [],\n lineNumber: parts[4] ? +parts[4] : null,\n column: parts[5] ? +parts[5] : null\n };\n}\n\nvar javaScriptCoreRe = /^\\s*(?:([^@]*)(?:\\((.*?)\\))?@)?(\\S.*?):(\\d+)(?::(\\d+))?\\s*$/i;\n\nfunction parseJSC(line) {\n var parts = javaScriptCoreRe.exec(line);\n\n if (!parts) {\n return null;\n }\n\n return {\n file: parts[3],\n methodName: parts[1] || UNKNOWN_FUNCTION,\n arguments: [],\n lineNumber: +parts[4],\n column: parts[5] ? +parts[5] : null\n };\n}\n\nvar nodeRe = /^\\s*at (?:((?:\\[object object\\])?[^\\\\/]+(?: \\[as \\S+\\])?) )?\\(?(.*?):(\\d+)(?::(\\d+))?\\)?\\s*$/i;\n\nfunction parseNode(line) {\n var parts = nodeRe.exec(line);\n\n if (!parts) {\n return null;\n }\n\n return {\n file: parts[2],\n methodName: parts[1] || UNKNOWN_FUNCTION,\n arguments: [],\n lineNumber: +parts[3],\n column: parts[4] ? +parts[4] : null\n };\n}\n\nexport { parse };\n","import * as stackTraceParser from \"stacktrace-parser\"\nimport Logger from \"./logger.mjs\"\nimport {SourceMapConsumer} from \"source-map\"\nimport uniqunize from \"uniqunize\"\n\n// Sometimes this needs to be called and sometimes not\nif (SourceMapConsumer.initialize) {\n SourceMapConsumer.initialize({\n \"lib/mappings.wasm\": \"https://unpkg.com/source-map@0.7.3/lib/mappings.wasm\"\n })\n}\n\nconst logger = new Logger({name: \"ApiMaker / SourceMapsLoader\"})\n\nexport default class SourceMapsLoader {\n constructor() {\n this.isLoadingSourceMaps = false\n this.sourceMaps = []\n this.srcLoaded = {}\n }\n\n loadSourceMapsForScriptTags(callback) {\n this.loadSourceMapsForScriptTagsCallback = callback\n }\n\n sourceMapForSource(callback) {\n this.sourceMapForSourceCallback = callback\n }\n\n async loadSourceMaps(error) {\n if (!error) throw new Error(\"No error was given to SourceMapsLoader#loadSourceMaps\")\n\n this.isLoadingSourceMaps = true\n\n try {\n const promises = []\n const sources = this.getSources(error)\n\n for(const source of sources) {\n if (source.originalUrl && !this.srcLoaded[source.originalUrl]) {\n this.srcLoaded[source.originalUrl] = true\n\n const promise = this.loadSourceMapForSource(source)\n promises.push(promise)\n }\n }\n\n await Promise.all(promises)\n } finally {\n this.isLoadingSourceMaps = false\n }\n }\n\n getSources(error) {\n let sources = this.getSourcesFromScripts()\n\n if (error) sources = sources.concat(this.getSourcesFromError(error))\n\n return uniqunize(sources, (source) => source.originalUrl)\n }\n\n getSourcesFromError(error) {\n const stack = stackTraceParser.parse(error.stack)\n const sources = []\n\n for (const trace of stack) {\n const file = trace.file\n\n if (file != \"\\u003Canonymous>\") {\n const sourceMapUrl = this.getMapURL({src: file})\n\n if (sourceMapUrl) {\n logger.debug(() => `Found source map from error: ${sourceMapUrl}`)\n\n sources.push({originalUrl: file, sourceMapUrl})\n } else {\n logger.debug(() => `Coudn't get source map from: ${file}`)\n }\n }\n }\n\n return sources\n }\n\n getSourcesFromScripts() {\n const scripts = document.querySelectorAll(\"script\")\n const sources = []\n\n for (const script of scripts) {\n const sourceMapUrl = this.getMapURL({script, src: script.src})\n\n if (sourceMapUrl) {\n logger.debug(() => `Found source map from script: ${sourceMapUrl}`)\n sources.push({originalUrl: script.src, sourceMapUrl})\n }\n }\n\n return sources\n }\n\n getMapURL({script, src}) {\n const url = this.loadUrl(src)\n const originalUrl = `${url.origin}${url.pathname}`\n\n if (this.sourceMapForSourceCallback) {\n // Use custom callback to resolve which map-file to download\n return this.sourceMapForSourceCallback({originalUrl, script, src, url})\n } else if (this.includeMapURL(src)) {\n // Default to original URL with '.map' appended\n return `${originalUrl}.map`\n }\n }\n\n includeMapURL = (src) => src.includes(\"/packs/\")\n\n async loadSourceMapForSource({originalUrl, sourceMapUrl}) {\n const xhr = new XMLHttpRequest()\n\n xhr.open(\"GET\", sourceMapUrl, true)\n\n await this.loadXhr(xhr)\n\n const consumer = await new SourceMapConsumer(xhr.responseText)\n\n this.sourceMaps.push({consumer, originalUrl})\n }\n\n loadUrl(url) {\n const parser = document.createElement(\"a\")\n\n parser.href = url\n\n return parser\n }\n\n loadXhr(xhr, postData) {\n return new Promise((resolve) => {\n xhr.onload = () => resolve()\n xhr.send(postData)\n })\n }\n\n parseStackTrace(stackTrace) {\n return this.getStackTraceData(stackTrace)\n .map((traceData) => `at ${traceData.methodName} (${traceData.fileString})`)\n }\n\n getStackTraceData(stackTrace) {\n const stack = stackTraceParser.parse(stackTrace)\n const newSourceMap = []\n\n for (const trace of stack) {\n const sourceMapData = this.sourceMaps.find((sourceMapData) => sourceMapData.originalUrl == trace.file)\n\n let filePath, fileString, original\n\n if (sourceMapData) {\n original = sourceMapData.consumer.originalPositionFor({\n line: trace.lineNumber,\n column: trace.column\n })\n }\n\n if (original && original.source) {\n filePath = original.source.replace(/^webpack:\\/\\/(app|)\\//, \"\")\n fileString = `${filePath}:${original.line}`\n\n if (original.column) {\n fileString += `:${original.column}`\n }\n } else {\n filePath = trace.file\n fileString = `${filePath}:${trace.lineNumber}`\n\n if (trace.column) {\n fileString += `:${trace.column}`\n }\n }\n\n newSourceMap.push({\n filePath,\n fileString,\n methodName: trace.methodName\n })\n }\n\n return newSourceMap\n }\n}\n","import {digg} from \"diggerize\"\nimport SourceMapsLoader from \"./source-maps-loader.mjs\"\n\nexport default class ErrorLogger {\n constructor () {\n this.debugging = false\n this.errorOccurred = false\n this.errors = []\n this.isHandlingError = false\n this.sourceMapsLoader = new SourceMapsLoader()\n this.sourceMapsLoader.loadSourceMapsForScriptTags((script) => {\n const src = script.getAttribute(\"src\")\n const type = script.getAttribute(\"type\")\n\n if (src && (src.includes(\"/packs/\") || src.includes(\"/packs-test/\")) && (type == \"text/javascript\" || !type)) {\n return src\n }\n })\n }\n\n debug(...output) {\n if (this.debugging) console.error(`ApiMaker ErrorLogger:`, ...output)\n }\n\n enable () {\n this.debug(\"Enable called\")\n this.connectOnError()\n this.connectUnhandledRejection()\n }\n\n getErrors = () => this.errors\n\n hasErrorOccurred() {\n return digg(this, \"errorOccurred\")\n }\n\n isLoadingSourceMaps() {\n return digg(this, \"sourceMapsLoader\", \"isLoadingSourceMaps\")\n }\n\n isWorkingOnError() {\n return digg(this, \"isHandlingError\") || this.isLoadingSourceMaps()\n }\n\n connectOnError () {\n window.addEventListener(\"error\", (event) => {\n if (this.debugging) this.debug(`Error:`, event.message)\n this.errorOccurred = true\n\n if (!this.isHandlingError) {\n this.isHandlingError = true\n this.onError(event).finally(() => {\n this.isHandlingError = false\n })\n }\n })\n }\n\n connectUnhandledRejection () {\n window.addEventListener(\"unhandledrejection\", (event) => {\n if (this.debugging) this.debug(`Unhandled rejection:`, event.reason.message)\n this.errorOccurred = true\n\n if (!this.isHandlingError) {\n this.isHandlingError = true\n this.onUnhandledRejection(event).finally(() => {\n this.isHandlingError = false\n })\n }\n })\n }\n\n async onError (event) {\n this.errorOccurred = true\n await this.sourceMapsLoader.loadSourceMaps(event.error)\n\n if (event.error && event.error.stack) {\n const backtrace = this.sourceMapsLoader.parseStackTrace(event.error.stack)\n\n this.errors.push({\n errorClass: event.error ? event.error.name : \"No error class\",\n message: event.message || \"Unknown error\",\n backtrace\n })\n } else {\n this.errors.push({\n errorClass: event.error ? event.error.name : \"No error class\",\n message: event.message || \"Unknown error\",\n backtrace: null\n })\n }\n }\n\n async onUnhandledRejection (event) {\n await this.sourceMapsLoader.loadSourceMaps(event.reason)\n\n if (event.reason.stack) {\n const backtrace = this.sourceMapsLoader.parseStackTrace(event.reason.stack)\n\n this.errors.push({\n errorClass: \"UnhandledRejection\",\n message: event.reason.message || \"Unhandled promise rejection\",\n backtrace\n })\n } else {\n this.errors.push({\n errorClass: \"UnhandledRejection\",\n message: event.reason.message || \"Unhandled promise rejection\",\n backtrace: null\n })\n }\n }\n\n testPromiseError () {\n return new Promise((_resolve) => {\n throw new Error(\"testPromiseError\")\n })\n }\n}\n","import EventEmitter from \"events\"\n\nconst events = new EventEmitter()\n\nevents.setMaxListeners(1000)\n\nexport default events\n","const shared = {}\n\nexport default class ApiMakerLogger {\n static getGlobalDebug = () => shared.isDebugging\n\n static setGlobalDebug(newValue) {\n shared.isDebugging = newValue\n }\n\n constructor(args = {}) {\n this.name = args.name\n }\n\n debug(message) {\n if (this.getDebug()) {\n this.log(message)\n }\n }\n\n error(message) {\n console.error(message)\n }\n\n log(message) {\n if (!this.debug && !ApiMakerLogger.getGlobalDebug()) return\n if (typeof message == \"function\") message = message()\n if (!Array.isArray(message)) message = [message]\n if (this.name) message.unshift(`${this.name}:`)\n\n console.log(...message)\n }\n\n getDebug = () => this.isDebugging\n\n setDebug(value) {\n this.isDebugging = value\n }\n}\n","import * as inflection from \"inflection\"\nimport * as models from \"./models.mjs.erb\"\n\nexport default (modelName) => {\n const requireName = inflection.camelize(modelName)\n const ModelClass = models[requireName]\n\n if (!ModelClass) {\n const modelClasses = Object.keys(models).sort()\n\n throw new Error(`No model called ${modelName} in ${modelClasses.join(\", \")}`)\n }\n\n return ModelClass\n}\n","import {digg} from \"diggerize\"\n\nexport default class ApiMakerBaseModelColumn {\n constructor(columnData) {\n if (!columnData) {\n throw new Error(\"No column data was given\")\n }\n\n this.columnData = columnData\n }\n\n getType = () => digg(this, \"columnData\", \"type\")\n}\n","import Column from \"./column.mjs\"\nimport {digg} from \"diggerize\"\n\nexport default class ApiMakerBaseModelAttribute {\n constructor(attributeData) {\n this.attributeData = attributeData\n }\n\n getColumn() {\n if (!this.column) {\n const columnData = digg(this, \"attributeData\", \"column\")\n\n if (columnData) {\n this.column = new Column(columnData)\n }\n }\n\n return this.column\n }\n\n isColumn = () => Boolean(digg(this, \"attributeData\", \"column\"))\n\n isSelectedByDefault() {\n const isSelectedByDefault = digg(this, \"attributeData\", \"selected_by_default\")\n\n if (isSelectedByDefault || isSelectedByDefault === null) return true\n\n return false\n }\n\n isTranslated = () => digg(this, \"attributeData\", \"translated\")\n name = () => digg(this, \"attributeData\", \"name\")\n}\n","export default class AttributeNotLoadedError extends Error {}\n","import SparkMD5 from \"spark-md5\"\n\nexport default class CacheKeyGenerator {\n constructor(model) {\n this.model = model\n this.allModels = [model]\n this.readModels = {}\n this.recordModelType(model.modelClassData().name)\n this.recordModel(model.modelClassData().name, model)\n this.filledModels = false\n }\n\n local() {\n const md5 = new SparkMD5()\n\n this.feedModel(this.model, md5)\n\n return md5.end()\n }\n\n recordModelType(relationshipType) {\n if (!(relationshipType in this.readModels)) {\n this.readModels[relationshipType] = {}\n }\n }\n\n recordModel(relationshipType, model) {\n this.allModels.push(model)\n this.readModels[relationshipType][model.id() || model.uniqueKey()] = true\n }\n\n isModelRecorded(relationshipType, model) {\n if (model.id() in this.readModels[relationshipType]) {\n return true\n }\n }\n\n fillModels(model) {\n for (const relationshipType in model.relationships) {\n this.recordModelType(relationshipType)\n\n const loadedRelationship = model.relationships[relationshipType]\n\n if (Array.isArray(loadedRelationship)) { // has_many\n for (const anotherModel of loadedRelationship) {\n if (this.isModelRecorded(relationshipType, anotherModel)) {\n continue\n }\n\n this.recordModel(relationshipType, anotherModel)\n this.fillModels(anotherModel)\n }\n } else if (loadedRelationship) { // belongs_to, has_one\n if (this.isModelRecorded(relationshipType, loadedRelationship)) {\n continue\n }\n\n this.recordModel(relationshipType, loadedRelationship)\n this.fillModels(loadedRelationship)\n }\n }\n\n this.filledModels = true\n }\n\n cacheKey() {\n if (!this.filledModels) {\n this.fillModels(this.model)\n }\n\n const md5 = new SparkMD5()\n\n for (const model of this.allModels) {\n this.feedModel(model, md5)\n }\n\n return md5.end()\n }\n\n feedModel(model, md5) {\n md5.append(\"--model--\")\n md5.append(model.modelClassData().name)\n md5.append(\"--unique-key--\")\n md5.append(model.id() || model.uniqueKey())\n\n if (model.markedForDestruction()) {\n md5.append(\"--marked-for-destruction--\")\n }\n\n md5.append(\"-attributes-\")\n\n const attributes = model.attributes()\n\n for (const attributeName in attributes) {\n md5.append(attributeName)\n md5.append(\"--attribute--\")\n md5.append(`${model.readAttributeUnderscore(attributeName)}`)\n }\n }\n}\n","import Config from \"./config.mjs\"\nimport * as inflection from \"inflection\"\n\nexport default class ModelName {\n constructor(data) {\n this.data = data\n }\n\n camelizedLower = () => this.data.modelClassData.camelizedLower\n\n human(args) {\n let argsToUse = args\n\n if (!argsToUse) argsToUse = { count: 1 }\n\n let countKey\n\n if (argsToUse.count > 1 || argsToUse.count < 0) {\n countKey = \"other\"\n } else {\n countKey = \"one\"\n }\n\n const key = `activerecord.models.${this.data.modelClassData.i18nKey}.${countKey}`\n let defaultModelName = this.data.modelClassData.name\n\n if (args?.count > 1) defaultModelName = inflection.pluralize(defaultModelName)\n\n return Config.getI18n().t(key, {defaultValue: defaultModelName})\n }\n\n paramKey = () => this.data.modelClassData.paramKey\n}\n","export default class NotLoadedError extends Error {}\n","import {digg} from \"diggerize\"\nimport * as inflection from \"inflection\"\nimport modelClassRequire from \"../model-class-require.mjs\"\n\nexport default class ApiMakerBaseModelReflection {\n constructor(reflectionData) {\n this.reflectionData = reflectionData\n }\n\n foreignKey = () => digg(this, \"reflectionData\", \"foreignKey\")\n macro = () => digg(this, \"reflectionData\", \"macro\")\n modelClass = () => modelClassRequire(inflection.singularize(inflection.camelize(digg(this, \"reflectionData\", \"resource_name\"))))\n name = () => inflection.camelize(digg(this, \"reflectionData\", \"name\"), true)\n through = () => digg(this, \"reflectionData\", \"through\")\n}\n","import {digg} from \"diggerize\"\nimport * as inflection from \"inflection\"\n\nexport default class ApiMakerBaseModelScope {\n constructor(scopeData) {\n this.scopeData = scopeData\n }\n\n name() {\n return inflection.camelize(digg(this, \"scopeData\", \"name\"), true)\n }\n}\n","import Attribute from \"./base-model/attribute.mjs\"\nimport AttributeNotLoadedError from \"./attribute-not-loaded-error.mjs\"\nimport CacheKeyGenerator from \"./cache-key-generator.mjs\"\nimport Collection from \"./collection.mjs\"\nimport CommandsPool from \"./commands-pool.mjs\"\nimport Config from \"./config.mjs\"\nimport CustomError from \"./custom-error.mjs\"\nimport {digg} from \"diggerize\"\nimport FormDataObjectizer from \"form-data-objectizer\"\nimport * as inflection from \"inflection\"\nimport ModelName from \"./model-name.mjs\"\nimport NotLoadedError from \"./not-loaded-error.mjs\"\nimport objectToFormData from \"object-to-formdata\"\nimport Reflection from \"./base-model/reflection.mjs\"\nimport Scope from \"./base-model/scope.mjs\"\nimport Services from \"./services.mjs\"\nimport ValidationError from \"./validation-error.mjs\"\nimport {ValidationErrors} from \"./validation-errors.mjs\"\n\nconst objectToUnderscore = (object) => {\n const newObject = {}\n\n for (const key in object) {\n const underscoreKey = inflection.underscore(key)\n\n newObject[underscoreKey] = object[key]\n }\n\n return newObject\n}\n\nexport default class BaseModel {\n static apiMakerType = \"BaseModel\"\n\n static attributes() {\n const attributes = digg(this.modelClassData(), \"attributes\")\n const result = []\n\n for (const attributeKey in attributes) {\n const attributeData = attributes[attributeKey]\n const attribute = new Attribute(attributeData)\n\n result.push(attribute)\n }\n\n return result\n }\n\n static hasAttribute(attributeName) {\n const attributes = digg(this.modelClassData(), \"attributes\")\n const lowerCaseAttributeName = inflection.underscore(attributeName)\n\n if (lowerCaseAttributeName in attributes) return true\n\n return false\n }\n\n static modelClassData() {\n throw new Error(\"modelClassData should be overriden by child\")\n }\n\n static newCustomEvent = (validationErrors) => {\n return new CustomEvent(\"validation-errors\", {detail: validationErrors})\n }\n\n static sendValidationErrorsEvent = (validationErrors, options) => {\n if (options && options.form) {\n const event = BaseModel.newCustomEvent(validationErrors)\n options.form.dispatchEvent(event)\n }\n }\n\n static async find(id) {\n const query = {}\n\n query[`${this.primaryKey()}_eq`] = id\n\n const model = await this.ransack(query).first()\n\n if (model) {\n return model\n } else {\n throw new CustomError(\"Record not found\")\n }\n }\n\n static async findOrCreateBy(findOrCreateByArgs, args = {}) {\n const result = await Services.current().sendRequest(\"Models::FindOrCreateBy\", {\n additional_data: args.additionalData,\n find_or_create_by_args: findOrCreateByArgs,\n resource_name: digg(this.modelClassData(), \"name\")\n })\n const model = digg(result, \"model\")\n\n return model\n }\n\n static modelName() {\n return new ModelName({modelClassData: this.modelClassData()})\n }\n\n static primaryKey() {\n return digg(this.modelClassData(), \"primaryKey\")\n }\n\n static ransack(query = {}) {\n return new Collection({modelClass: this}, {ransack: query})\n }\n\n static select(select) {\n return this.ransack().select(select)\n }\n\n static ransackableAssociations() {\n const relationships = digg(this.modelClassData(), \"ransackable_associations\")\n const reflections = []\n\n for (const relationshipData of relationships) {\n reflections.push(new Reflection(relationshipData))\n }\n\n return reflections\n }\n\n static ransackableAttributes() {\n const attributes = digg(this.modelClassData(), \"ransackable_attributes\")\n const result = []\n\n for (const attributeData of attributes) {\n result.push(new Attribute(attributeData))\n }\n\n return result\n }\n\n static ransackableScopes() {\n const ransackableScopes = digg(this.modelClassData(), \"ransackable_scopes\")\n const result = []\n\n for (const scopeData of ransackableScopes) {\n const scope = new Scope(scopeData)\n\n result.push(scope)\n }\n\n return result\n }\n\n static reflections() {\n const relationships = digg(this.modelClassData(), \"relationships\")\n const reflections = []\n\n for (const relationshipData of relationships) {\n const reflection = new Reflection(relationshipData)\n\n reflections.push(reflection)\n }\n\n return reflections\n }\n\n static reflection(name) {\n const foundReflection = this.reflections().find((reflection) => reflection.name() == name)\n\n if (!foundReflection) {\n throw new Error(`No such reflection: ${name} in ${this.reflections().map((reflection) => reflection.name()).join(\", \")}`)\n }\n\n return foundReflection\n }\n\n static _token() {\n const csrfTokenElement = document.querySelector(\"meta[name='csrf-token']\")\n\n if (csrfTokenElement) {\n return csrfTokenElement.getAttribute(\"content\")\n }\n }\n\n constructor(args = {}) {\n this.changes = {}\n this.newRecord = args.isNewRecord\n this.relationshipsCache = {}\n this.relationships = {}\n\n if (args && args.data && args.data.a) {\n this._readModelDataFromArgs(args)\n } else if (args.a) {\n this.abilities = args.b || {}\n this.modelData = objectToUnderscore(args.a)\n } else if (args) {\n this.abilities = {}\n this.modelData = objectToUnderscore(args)\n } else {\n this.abilities = {}\n this.modelData = {}\n }\n }\n\n assignAttributes(newAttributes) {\n for (const key in newAttributes) {\n const newValue = newAttributes[key]\n const attributeUnderscore = inflection.underscore(key)\n\n let applyChange = true\n let deleteChange = false\n\n if (this.isAttributeLoaded(key)) {\n const oldValue = this.readAttribute(key)\n const originalValue = this.modelData[attributeUnderscore]\n\n if (newValue == oldValue) {\n applyChange = false\n } else if (newValue == originalValue) {\n applyChange = false\n deleteChange = true\n }\n }\n\n if (applyChange) {\n this.changes[attributeUnderscore] = newValue\n } else if (deleteChange) {\n delete this.changes[attributeUnderscore]\n }\n }\n }\n\n attributes() {\n const result = {}\n\n for (const key in this.modelData) {\n result[key] = this.modelData[key]\n }\n\n for (const key in this.changes) {\n result[key] = this.changes[key]\n }\n\n return result\n }\n\n can(givenAbilityName) {\n const abilityName = inflection.underscore(givenAbilityName)\n\n if (!(abilityName in this.abilities)) {\n throw new Error(`Ability ${abilityName} hasn't been loaded for ${digg(this.modelClassData(), \"name\")}`)\n }\n\n return this.abilities[abilityName]\n }\n\n clone() {\n const clone = new this.constructor()\n\n clone.abilities = {...this.abilities}\n clone.modelData = {...this.modelData}\n clone.relationships = {...this.relationships}\n clone.relationshipsCache = {...this.relationshipsCache}\n\n return clone\n }\n\n cacheKey() {\n if (this.isPersisted()) {\n const keyParts = [\n this.modelClassData().paramKey,\n this.primaryKey()\n ]\n\n if (\"updated_at\" in this.modelData) {\n const updatedAt = this.updatedAt()\n\n if (typeof updatedAt != \"object\") {\n throw new Error(`updatedAt wasn't an object: ${typeof updatedAt}`)\n } else if (!(\"getTime\" in updatedAt)) {\n throw new Error(`updatedAt didn't support getTime with class: ${updatedAt.constructor && updatedAt.constructor.name}`)\n }\n\n keyParts.push(`updatedAt-${this.updatedAt().getTime()}`)\n }\n\n return keyParts.join(\"-\")\n } else {\n return this.uniqueKey()\n }\n }\n\n localCacheKey() {\n const cacheKeyGenerator = new CacheKeyGenerator(this)\n\n return cacheKeyGenerator.local()\n }\n\n fullCacheKey() {\n const cacheKeyGenerator = new CacheKeyGenerator(this)\n\n return cacheKeyGenerator.cacheKey()\n }\n\n static all() {\n return this.ransack()\n }\n\n async create(attributes, options) {\n if (attributes) this.assignAttributes(attributes)\n const paramKey = this.modelClassData().paramKey\n const modelData = this.getAttributes()\n const dataToUse = {}\n dataToUse[paramKey] = modelData\n let response\n\n try {\n response = await CommandsPool.addCommand(\n {\n args: {\n save: dataToUse\n },\n command: `${this.modelClassData().collectionName}-create`,\n collectionName: this.modelClassData().collectionName,\n primaryKey: this.primaryKey(),\n type: \"create\"\n },\n {}\n )\n } catch (error) {\n BaseModel.parseValidationErrors({error, model: this, options})\n throw error\n }\n\n if (response.model) {\n this._refreshModelFromResponse(response)\n this.changes = {}\n }\n\n return {model: this, response}\n }\n\n async createRaw(rawData, options = {}) {\n const objectData = BaseModel._objectDataFromGivenRawData(rawData, options)\n\n let response\n\n try {\n response = await CommandsPool.addCommand(\n {\n args: {\n save: objectData\n },\n command: `${this.modelClassData().collectionName}-create`,\n collectionName: this.modelClassData().collectionName,\n primaryKey: this.primaryKey(),\n type: \"create\"\n },\n {}\n )\n } catch (error) {\n BaseModel.parseValidationErrors({error, model: this, options})\n throw error\n }\n\n if (response.model) {\n this._refreshModelDataFromResponse(response)\n this.changes = {}\n }\n\n return {model: this, response}\n }\n\n async destroy() {\n const response = await CommandsPool.addCommand(\n {\n args: {query_params: this.collection && this.collection.params()},\n command: `${this.modelClassData().collectionName}-destroy`,\n collectionName: this.modelClassData().collectionName,\n primaryKey: this.primaryKey(),\n type: \"destroy\"\n },\n {}\n )\n\n if (response.success) {\n if (response.model) {\n this._refreshModelDataFromResponse(response)\n this.changes = {}\n }\n\n return {model: this, response}\n } else {\n this.handleResponseError(response)\n }\n }\n\n async ensureAbilities(listOfAbilities) {\n // Populate an array with a list of abilities currently not loaded\n const abilitiesToLoad = []\n\n for (const abilityInList of listOfAbilities) {\n if (!(abilityInList in this.abilities)) {\n abilitiesToLoad.push(abilityInList)\n }\n }\n\n // Load the missing abilities if any\n if (abilitiesToLoad.length > 0) {\n const primaryKeyName = this.constructor.primaryKey()\n const ransackParams = {}\n ransackParams[`${primaryKeyName}_eq`] = this.primaryKey()\n\n const abilitiesParams = {}\n abilitiesParams[digg(this.modelClassData(), \"name\")] = abilitiesToLoad\n\n const anotherModel = await this.constructor\n .ransack(ransackParams)\n .abilities(abilitiesParams)\n .first()\n\n if (!anotherModel) {\n throw new Error(`Could not look up the same model ${this.primaryKey()} with abilities: ${abilitiesToLoad.join(\", \")}`)\n }\n\n const newAbilities = anotherModel.abilities\n for (const newAbility in newAbilities) {\n this.abilities[newAbility] = newAbilities[newAbility]\n }\n }\n }\n\n getAttributes = () => Object.assign(this.modelData, this.changes)\n\n handleResponseError(response) {\n BaseModel.parseValidationErrors({model: this, response})\n throw new new CustomError(\"Response wasn't successful\", {model: this, response})\n }\n\n identifierKey() {\n if (!this._identifierKey) this._identifierKey = this.isPersisted() ? this.primaryKey() : this.uniqueKey()\n\n return this._identifierKey\n }\n\n isAssociationLoaded = (associationName) => this.isAssociationLoadedUnderscore(inflection.underscore(associationName))\n isAssociationLoadedUnderscore (associationNameUnderscore) {\n if (associationNameUnderscore in this.relationshipsCache) return true\n return false\n }\n\n isAssociationPresent(associationName) {\n if (this.isAssociationLoaded(associationName)) return true\n if (associationName in this.relationships) return true\n return false\n }\n\n static parseValidationErrors({error, model, options}) {\n if (!(error instanceof ValidationError)) return\n if (!error.args.response.validation_errors) return\n\n const validationErrors = new ValidationErrors({\n model,\n validationErrors: digg(error, \"args\", \"response\", \"validation_errors\")\n })\n\n BaseModel.sendValidationErrorsEvent(validationErrors, options)\n\n if (!options || options.throwValidationError != false) {\n throw error\n }\n }\n\n static humanAttributeName(attributeName) {\n const keyName = digg(this.modelClassData(), \"i18nKey\")\n const i18n = Config.getI18n()\n\n if (i18n) return i18n.t(`activerecord.attributes.${keyName}.${BaseModel.snakeCase(attributeName)}`, {defaultValue: attributeName})\n\n return inflection.humanize(attributeName)\n }\n\n isAttributeChanged(attributeName) {\n const attributeNameUnderscore = inflection.underscore(attributeName)\n const attributeData = this.modelClassData().attributes.find((attribute) => digg(attribute, \"name\") == attributeNameUnderscore)\n\n if (!attributeData) {\n const attributeNames = this.modelClassData().attributes.map((attribute) => digg(attribute, \"name\"))\n\n throw new Error(`Couldn't find an attribute by that name: \"${attributeName}\" in: ${attributeNames.join(\", \")}`)\n }\n\n if (!(attributeNameUnderscore in this.changes))\n return false\n\n const oldValue = this.modelData[attributeNameUnderscore]\n const newValue = this.changes[attributeNameUnderscore]\n const changedMethod = this[`_is${inflection.camelize(attributeData.type, true)}Changed`]\n\n if (!changedMethod)\n throw new Error(`Don't know how to handle type: ${attributeData.type}`)\n\n return changedMethod(oldValue, newValue)\n }\n\n isChanged() {\n const keys = Object.keys(this.changes)\n\n if (keys.length > 0) {\n return true\n } else {\n return false\n }\n }\n\n isNewRecord() {\n if (this.newRecord !== undefined) {\n return this.newRecord\n } else if (\"id\" in this.modelData && this.modelData.id) {\n return false\n } else {\n return true\n }\n }\n\n isPersisted = () => !this.isNewRecord()\n\n static snakeCase = (string) => inflection.underscore(string)\n\n savedChangeToAttribute(attributeName) {\n if (!this.previousModelData)\n return false\n\n const attributeNameUnderscore = inflection.underscore(attributeName)\n const attributeData = this.modelClassData().attributes.find((attribute) => attribute.name == attributeNameUnderscore)\n\n if (!attributeData) {\n const attributeNames = this.modelClassData().attributes.map((attribute) => attribute.name)\n throw new Error(`Couldn't find an attribute by that name: \"${attributeName}\" in: ${attributeNames.join(\", \")}`)\n }\n\n if (!(attributeNameUnderscore in this.previousModelData))\n return true\n\n const oldValue = this.previousModelData[attributeNameUnderscore]\n const newValue = this.modelData[attributeNameUnderscore]\n const changedMethodName = `_is${inflection.camelize(attributeData.type)}Changed`\n const changedMethod = this[changedMethodName]\n\n if (!changedMethod)\n throw new Error(`Don't know how to handle type: ${attributeData.type}`)\n\n return changedMethod(oldValue, newValue)\n }\n\n setNewModel(model) {\n this.setNewModelData(model)\n\n for(const relationshipName in model.relationships) {\n this.relationships[relationshipName] = model.relationships[relationshipName]\n }\n\n for(const relationshipCacheName in model.relationshipsCache) {\n this.relationshipsCache[relationshipCacheName] = model.relationshipsCache[name]\n }\n }\n\n setNewModelData(model) {\n if (!(\"modelData\" in model)) throw new Error(`No modelData in model: ${JSON.stringify(model)}`)\n\n this.previousModelData = Object.assign({}, digg(this, \"modelData\"))\n\n for(const attributeName in model.modelData) {\n this.modelData[attributeName] = model.modelData[attributeName]\n }\n }\n\n _isDateChanged(oldValue, newValue) {\n if (Date.parse(oldValue) != Date.parse(newValue))\n return true\n }\n\n _isIntegerChanged(oldValue, newValue) {\n if (parseInt(oldValue, 10) != parseInt(newValue, 10))\n return true\n }\n\n _isStringChanged (oldValue, newValue) {\n const oldConvertedValue = `${oldValue}`\n const newConvertedValue = `${newValue}`\n\n if (oldConvertedValue != newConvertedValue)\n return true\n }\n\n modelClassData = () => this.constructor.modelClassData()\n\n async reload() {\n const params = this.collection && this.collection.params()\n const ransackParams = {}\n ransackParams[`${this.constructor.primaryKey()}_eq`] = this.primaryKey()\n\n let query = this.constructor.ransack(ransackParams)\n\n if (params) {\n if (params.preload) {\n query.queryArgs.preload = params.preload\n }\n\n if (params.select) {\n query.queryArgs.select = params.select\n }\n\n if (params.select_columns) {\n query.queryArgs.selectColumns = params.select_columns\n }\n }\n\n const model = await query.first()\n this.setNewModel(model)\n this.changes = {}\n }\n\n save() {\n if (this.isNewRecord()) {\n return this.create()\n } else {\n return this.update()\n }\n }\n\n saveRaw(rawData, options = {}) {\n if (this.isNewRecord()) {\n return this.createRaw(rawData, options)\n } else {\n return this.updateRaw(rawData, options)\n }\n }\n\n async update(newAttributes, options) {\n if (newAttributes) {\n this.assignAttributes(newAttributes)\n }\n\n if (Object.keys(this.changes).length == 0) {\n return {model: this}\n }\n\n const paramKey = this.modelClassData().paramKey\n const modelData = this.changes\n const dataToUse = {}\n dataToUse[paramKey] = modelData\n let response\n\n try {\n response = await CommandsPool.addCommand(\n {\n args: {\n query_params: this.collection && this.collection.params(),\n save: dataToUse\n },\n command: `${this.modelClassData().collectionName}-update`,\n collectionName: this.modelClassData().collectionName,\n primaryKey: this.primaryKey(),\n type: \"update\"\n },\n {}\n )\n } catch (error) {\n BaseModel.parseValidationErrors({error, model: this, options})\n throw error\n }\n\n if (response.success) {\n if (response.model) {\n this._refreshModelFromResponse(response)\n this.changes = {}\n }\n\n return {response, model: this}\n } else {\n this.handleResponseError(response)\n }\n }\n\n _refreshModelFromResponse(response) {\n let newModel = digg(response, \"model\")\n\n if (Array.isArray(newModel)) newModel = newModel[0]\n\n this.setNewModel(newModel)\n }\n\n _refreshModelDataFromResponse(response) {\n let newModel = digg(response, \"model\")\n\n if (Array.isArray(newModel)) newModel = newModel[0]\n\n this.setNewModelData(newModel)\n }\n\n static _objectDataFromGivenRawData(rawData, options) {\n if (rawData instanceof FormData || rawData.nodeName == \"FORM\") {\n const formData = FormDataObjectizer.formDataFromObject(rawData, options)\n\n return FormDataObjectizer.toObject(formData)\n }\n\n return rawData\n }\n\n async updateRaw(rawData, options = {}) {\n const objectData = BaseModel._objectDataFromGivenRawData(rawData, options)\n let response\n\n try {\n response = await CommandsPool.addCommand(\n {\n args: {\n query_params: this.collection && this.collection.params(),\n save: objectData,\n simple_model_errors: options?.simpleModelErrors\n },\n command: `${this.modelClassData().collectionName}-update`,\n collectionName: this.modelClassData().collectionName,\n primaryKey: this.primaryKey(),\n type: \"update\"\n },\n {}\n )\n } catch (error) {\n BaseModel.parseValidationErrors({error, model: this, options})\n throw error\n }\n\n if (response.model) {\n this._refreshModelFromResponse(response)\n this.changes = {}\n }\n\n return {response, model: this}\n }\n\n isValid() {\n throw new Error(\"Not implemented yet\")\n }\n\n async isValidOnServer() {\n const modelData = this.getAttributes()\n const paramKey = this.modelClassData().paramKey\n const dataToUse = {}\n dataToUse[paramKey] = modelData\n\n const response = await CommandsPool.addCommand(\n {\n args: {\n save: dataToUse\n },\n command: `${this.modelClassData().collectionName}-valid`,\n collectionName: this.modelClassData().collectionName,\n primaryKey: this.primaryKey(),\n type: \"valid\"\n },\n {}\n )\n\n return {valid: response.valid, errors: response.errors}\n }\n\n modelClass = () => this.constructor\n\n preloadRelationship(relationshipName, model) {\n this.relationshipsCache[BaseModel.snakeCase(relationshipName)] = model\n this.relationships[BaseModel.snakeCase(relationshipName)] = model\n }\n\n markForDestruction() {\n this._markedForDestruction = true\n }\n\n markedForDestruction = () => this._markedForDestruction\n\n uniqueKey() {\n if (!this.uniqueKeyValue) {\n const min = 5000000000000000\n const max = 9007199254740991\n const randomBetween = Math.floor(Math.random() * (max - min + 1) + min)\n this.uniqueKeyValue = randomBetween\n }\n\n return this.uniqueKeyValue\n }\n\n static async _callCollectionCommand(args, commandArgs) {\n const formOrDataObject = args.args\n\n try {\n return await CommandsPool.addCommand(args, commandArgs)\n } catch (error) {\n let form\n\n if (commandArgs.form) {\n form = commandArgs.form\n } else if (formOrDataObject?.nodeName == \"FORM\") {\n form = formOrDataObject\n }\n\n if (form) BaseModel.parseValidationErrors({error, options: {form}})\n\n throw error\n }\n }\n\n _callMemberCommand = (args, commandArgs) => CommandsPool.addCommand(args, commandArgs)\n\n static _postDataFromArgs(args) {\n let postData\n\n if (args) {\n if (args instanceof FormData) {\n postData = args\n } else {\n postData = objectToFormData.serialize(args, {}, null, \"args\")\n }\n } else {\n postData = new FormData()\n }\n\n return postData\n }\n\n readAttribute(attributeName) {\n const attributeNameUnderscore = inflection.underscore(attributeName)\n\n return this.readAttributeUnderscore(attributeNameUnderscore)\n }\n\n readAttributeUnderscore(attributeName) {\n if (attributeName in this.changes) {\n return this.changes[attributeName]\n } else if (attributeName in this.modelData) {\n return this.modelData[attributeName]\n } else if (this.isNewRecord()) {\n // Return null if this is a new record and the attribute name is a recognized attribute\n const attributes = digg(this.modelClassData(), \"attributes\")\n\n if (attributeName in attributes) return null\n }\n\n if (this.isPersisted()) {\n throw new AttributeNotLoadedError(`No such attribute: ${digg(this.modelClassData(), \"name\")}#${attributeName}: ${JSON.stringify(this.modelData)}`)\n }\n }\n\n isAttributeLoaded(attributeName) {\n const attributeNameUnderscore = inflection.underscore(attributeName)\n\n if (attributeNameUnderscore in this.changes) return true\n if (attributeNameUnderscore in this.modelData) return true\n return false\n }\n\n _isPresent(value) {\n if (!value) {\n return false\n } else if (typeof value == \"string\" && value.match(/^\\s*$/)) {\n return false\n }\n\n return true\n }\n\n async _loadBelongsToReflection(args, queryArgs = {}) {\n if (args.reflectionName in this.relationships) {\n return this.relationships[args.reflectionName]\n } else if (args.reflectionName in this.relationshipsCache) {\n return this.relationshipsCache[args.reflectionName]\n } else {\n const collection = new Collection(args, queryArgs)\n const model = await collection.first()\n this.relationshipsCache[args.reflectionName] = model\n return model\n }\n }\n\n _readBelongsToReflection({reflectionName}) {\n if (reflectionName in this.relationships) {\n return this.relationships[reflectionName]\n } else if (reflectionName in this.relationshipsCache) {\n return this.relationshipsCache[reflectionName]\n }\n\n if (this.isNewRecord()) return null\n\n const loadedRelationships = Object.keys(this.relationshipsCache)\n const modelClassName = digg(this.modelClassData(), \"name\")\n\n throw new NotLoadedError(`${modelClassName}#${reflectionName} hasn't been loaded yet. Only these were loaded: ${loadedRelationships.join(\", \")}`)\n }\n\n async _loadHasManyReflection(args, queryArgs = {}) {\n if (args.reflectionName in this.relationships) {\n return this.relationships[args.reflectionName]\n } else if (args.reflectionName in this.relationshipsCache) {\n return this.relationshipsCache[args.reflectionName]\n }\n\n const collection = new Collection(args, queryArgs)\n const models = await collection.toArray()\n\n this.relationshipsCache[args.reflectionName] = models\n\n return models\n }\n\n async _loadHasOneReflection(args, queryArgs = {}) {\n if (args.reflectionName in this.relationships) {\n return this.relationships[args.reflectionName]\n } else if (args.reflectionName in this.relationshipsCache) {\n return this.relationshipsCache[args.reflectionName]\n } else {\n const collection = new Collection(args, queryArgs)\n const model = await collection.first()\n\n this.relationshipsCache[args.reflectionName] = model\n\n return model\n }\n }\n\n _readHasOneReflection({reflectionName}) {\n if (reflectionName in this.relationships) {\n return this.relationships[reflectionName]\n } else if (reflectionName in this.relationshipsCache) {\n return this.relationshipsCache[reflectionName]\n }\n\n if (this.isNewRecord()) {\n return null\n }\n\n const loadedRelationships = Object.keys(this.relationshipsCache)\n const modelClassName = digg(this.modelClassData(), \"name\")\n\n throw new NotLoadedError(`${modelClassName}#${reflectionName} hasn't been loaded yet. Only these were loaded: ${loadedRelationships.join(\", \")}`)\n }\n\n _readModelDataFromArgs(args) {\n this.abilities = args.data.b || {}\n this.collection = args.collection\n this.modelData = objectToUnderscore(args.data.a)\n this.preloadedRelationships = args.data.r\n }\n\n _readPreloadedRelationships(preloaded) {\n if (!this.preloadedRelationships) {\n return\n }\n\n const relationships = digg(this.modelClassData(), \"relationships\")\n\n for (const relationshipName in this.preloadedRelationships) {\n const relationshipData = this.preloadedRelationships[relationshipName]\n const relationshipClassData = relationships.find((relationship) => digg(relationship, \"name\") == relationshipName)\n\n if (!relationshipClassData) {\n const modelName = digg(this.modelClassData(), \"name\")\n const relationshipsList = relationships.map((relationship) => relationship.name).join(\", \")\n\n throw new Error(`Could not find the relation ${relationshipName} on the ${modelName} model: ${relationshipsList}`)\n }\n\n const relationshipType = digg(relationshipClassData, \"collectionName\")\n\n if (relationshipName in this.relationshipsCache) {\n throw new Error(`${relationshipName} has already been loaded`)\n }\n\n if (!relationshipClassData) {\n throw new Error(`No relationship on ${digg(this.modelClassData(), \"name\")} by that name: ${relationshipName}`)\n }\n\n if (!relationshipData) {\n this.relationshipsCache[relationshipName] = null\n this.relationships[relationshipName] = null\n } else if (Array.isArray(relationshipData)) {\n this.relationshipsCache[relationshipName] = []\n this.relationships[relationshipName] = []\n\n for (const relationshipId of relationshipData) {\n const model = preloaded.getModel(relationshipType, relationshipId)\n\n this.relationshipsCache[relationshipName].push(model)\n this.relationships[relationshipName].push(model)\n }\n } else {\n const model = preloaded.getModel(relationshipType, relationshipData)\n\n this.relationshipsCache[relationshipName] = model\n this.relationships[relationshipName] = model\n }\n }\n }\n\n primaryKey = () => this.readAttributeUnderscore(this.constructor.primaryKey())\n}\n","import BaseModel from \"./base-model.mjs\"\nimport Collection from \"./collection.mjs\"\nimport {digg, digs} from \"diggerize\"\nimport * as inflection from \"inflection\"\n\nexport default class ApiMakerModelRecipesModelLoader {\n constructor ({modelRecipe, modelRecipesLoader}) {\n if (!modelRecipe) throw new Error(\"No 'modelRecipe' was given\")\n\n this.modelRecipesLoader = modelRecipesLoader\n this.modelRecipe = modelRecipe\n }\n\n createClass () {\n const {modelRecipe} = digs(this, \"modelRecipe\")\n const {\n attributes,\n collection_commands: collectionCommands,\n member_commands: memberCommands,\n model_class_data: modelClassData,\n relationships\n } = digs(\n modelRecipe,\n \"attributes\",\n \"collection_commands\",\n \"member_commands\",\n \"model_class_data\",\n \"relationships\"\n )\n const {name: modelClassName} = digs(modelClassData, \"name\")\n const ModelClass = class ApiMakerModel extends BaseModel { }\n\n Object.defineProperty(ModelClass, \"name\", {writable: false, value: modelClassName})\n\n ModelClass.prototype.constructor.modelClassData = () => modelClassData\n\n this.addAttributeMethodsToModelClass(ModelClass, attributes)\n this.addRelationshipsToModelClass(ModelClass, modelClassData, relationships)\n this.addQueryCommandsToModelClass(ModelClass, collectionCommands)\n this.addMemberCommandsToModelClass(ModelClass, memberCommands)\n\n return ModelClass\n }\n\n addAttributeMethodsToModelClass (ModelClass, attributes) {\n for (const attributeName in attributes) {\n const attribute = attributes[attributeName]\n const {name} = digs(attribute, \"name\")\n const methodName = inflection.camelize(name, true)\n const hasMethodName = inflection.camelize(`has_${name}`, true)\n\n ModelClass.prototype[methodName] = function () {\n return this.readAttributeUnderscore(attributeName)\n }\n\n ModelClass.prototype[hasMethodName] = function () {\n const value = this[methodName]()\n\n return this._isPresent(value)\n }\n }\n }\n\n addQueryCommandsToModelClass (ModelClass, collectionCommands) {\n for (const collectionCommandName in collectionCommands) {\n const methodName = inflection.camelize(collectionCommandName, true)\n\n ModelClass[methodName] = function (args, commandArgs = {}) {\n return this._callCollectionCommand(\n {\n args,\n command: collectionCommandName,\n collectionName: digg(this.modelClassData(), \"collectionName\"),\n type: \"collection\"\n },\n commandArgs\n )\n }\n }\n }\n\n addMemberCommandsToModelClass (ModelClass, memberCommands) {\n for (const memberCommandName in memberCommands) {\n const methodName = inflection.camelize(memberCommandName, true)\n\n ModelClass.prototype[methodName] = function (args, commandArgs = {}) {\n return this._callMemberCommand(\n {\n args,\n command: memberCommandName,\n primaryKey: this.primaryKey(),\n collectionName: this.modelClassData().collectionName,\n type: \"member\"\n },\n commandArgs\n )\n }\n }\n }\n\n addRelationshipsToModelClass (ModelClass, modelClassData, relationships) {\n const {modelRecipesLoader} = digs(this, \"modelRecipesLoader\")\n\n for (const relationshipName in relationships) {\n const relationship = relationships[relationshipName]\n const {\n active_record: {\n name: activeRecordName,\n primary_key: activeRecordPrimaryKey\n },\n class_name: className,\n foreign_key: foreignKey,\n klass: {primary_key: klassPrimaryKey},\n options: {as: optionsAs, primary_key: optionsPrimaryKey, through: optionsThrough},\n resource_name: resourceName,\n type\n } = digs(\n relationship,\n \"active_record\",\n \"class_name\",\n \"foreign_key\",\n \"klass\",\n \"options\",\n \"resource_name\",\n \"type\"\n )\n const loadMethodName = inflection.camelize(`load_${relationshipName}`, true)\n const modelMethodName = inflection.camelize(relationshipName, true)\n\n if (type == \"belongs_to\") {\n this.defineBelongsToGetMethod({ModelClass, modelMethodName, relationshipName})\n this.defineBelongsToLoadMethod({\n foreignKey,\n klassPrimaryKey,\n loadMethodName,\n ModelClass,\n modelRecipesLoader,\n optionsPrimaryKey,\n relationshipName,\n resourceName\n })\n } else if (type == \"has_many\") {\n this.defineHasManyGetMethod({\n activeRecordName,\n className,\n foreignKey,\n ModelClass,\n modelMethodName,\n modelRecipesLoader,\n optionsAs,\n optionsPrimaryKey,\n optionsThrough,\n relationshipName,\n resourceName\n })\n this.defineHasManyLoadMethod({foreignKey, loadMethodName, ModelClass, modelClassData, modelRecipesLoader, relationshipName, resourceName})\n } else if (type == \"has_one\") {\n this.defineHasOneGetMethd({ModelClass, modelMethodName, relationshipName})\n this.defineHasOneLoadMethod({\n activeRecordPrimaryKey,\n foreignKey,\n loadMethodName,\n ModelClass,\n modelClassData,\n modelRecipesLoader,\n optionsThrough,\n relationshipName,\n resourceName\n })\n } else {\n throw new Error(`Unknown relationship type: ${type}`)\n }\n }\n }\n\n defineBelongsToGetMethod ({ModelClass, modelMethodName, relationshipName}) {\n ModelClass.prototype[modelMethodName] = function () {\n return this._readBelongsToReflection({reflectionName: relationshipName})\n }\n }\n\n defineBelongsToLoadMethod ({foreignKey, klassPrimaryKey, ModelClass, modelRecipesLoader, loadMethodName, optionsPrimaryKey, relationshipName, resourceName}) {\n ModelClass.prototype[loadMethodName] = function () {\n const foreignKeyMethodName = inflection.camelize(foreignKey, true)\n\n if (!(foreignKeyMethodName in this)) throw new Error(`Foreign key method wasn't defined: ${foreignKeyMethodName}`)\n\n const id = this[foreignKeyMethodName]()\n const modelClass = modelRecipesLoader.getModelClass(resourceName)\n const ransack = {}\n const ransackIdSearchKey = `${optionsPrimaryKey || klassPrimaryKey}_eq`\n\n ransack[ransackIdSearchKey] = id\n\n return this._loadBelongsToReflection(\n {reflectionName: relationshipName, model: this, modelClass},\n {ransack}\n )\n }\n }\n\n defineHasManyGetMethod ({\n activeRecordName,\n className,\n foreignKey,\n ModelClass,\n modelMethodName,\n modelRecipesLoader,\n optionsAs,\n optionsPrimaryKey,\n optionsThrough,\n relationshipName,\n resourceName\n }) {\n ModelClass.prototype[modelMethodName] = function () {\n const id = this.primaryKey()\n const modelClass = modelRecipesLoader.getModelClass(resourceName)\n const ransack = {}\n\n ransack[`${foreignKey}_eq`] = id\n\n const hasManyParameters = {\n reflectionName: relationshipName,\n model: this,\n modelName: className,\n modelClass\n }\n\n let queryParameters\n\n if (optionsThrough) {\n queryParameters = {\n params: {\n through: {\n model: activeRecordName,\n id: this.primaryKey(),\n reflection: relationshipName\n }\n }\n }\n } else {\n const ransack = {}\n const primaryKeyColumnName = optionsPrimaryKey || digg(ModelClass.modelClassData(), \"primaryKey\")\n const primaryKeyMethodName = inflection.camelize(primaryKeyColumnName, true)\n\n if (!(primaryKeyMethodName in this)) throw new Error(`No such primary key method: ${primaryKeyMethodName}`)\n\n ransack[`${foreignKey}_eq`] = this[primaryKeyMethodName]()\n\n if (optionsAs) {\n ransack[`${optionsAs}_type_eq`] = activeRecordName\n }\n\n queryParameters = {ransack}\n }\n\n return new Collection(hasManyParameters, queryParameters)\n }\n }\n\n defineHasManyLoadMethod ({foreignKey, loadMethodName, ModelClass, modelClassData, modelRecipesLoader, optionsThrough, relationshipName, resourceName}) {\n ModelClass.prototype[loadMethodName] = function () {\n const id = this.primaryKey()\n const modelClass = modelRecipesLoader.getModelClass(resourceName)\n\n if (optionsThrough) {\n const modelClassName = digg(modelClassData, \"className\")\n\n return this._loadHasManyReflection(\n {\n reflectionName: relationshipName,\n model: this,\n modelClass\n },\n {\n params: {\n through: {\n model: modelClassName,\n id,\n reflection: relationshipName\n }\n }\n }\n )\n } else {\n const ransack = {}\n\n ransack[`${foreignKey}_eq`] = id\n\n return this._loadHasManyReflection(\n {\n reflectionName: relationshipName,\n model: this,\n modelClass\n },\n {ransack}\n )\n }\n }\n }\n\n defineHasOneGetMethd ({ModelClass, modelMethodName, relationshipName}) {\n ModelClass.prototype[modelMethodName] = function () {\n return this._readHasOneReflection({reflectionName: relationshipName})\n }\n }\n\n defineHasOneLoadMethod ({\n activeRecordPrimaryKey,\n foreignKey,\n loadMethodName,\n ModelClass,\n modelClassData,\n modelRecipesLoader,\n optionsThrough,\n relationshipName,\n resourceName\n }) {\n ModelClass.prototype[loadMethodName] = function () {\n const primaryKeyMethodName = inflection.camelize(activeRecordPrimaryKey, true)\n\n if (!(primaryKeyMethodName in this)) throw new Error(`Primary key method wasn't defined: ${primaryKeyMethodName}`)\n\n const id = this[primaryKeyMethodName]()\n const modelClass = modelRecipesLoader.getModelClass(resourceName)\n\n if (optionsThrough) {\n const modelClassName = digg(modelClassData, \"className\")\n\n return this._loadHasOneReflection(\n {reflectionName: relationshipName, model: this, modelClass},\n {params: {through: {model: modelClassName, id, reflection: relationshipName}}}\n )\n } else {\n const ransack = {}\n\n ransack[`${foreignKey}_eq`] = id\n\n return this._loadHasOneReflection(\n {\n reflectionName: relationshipName,\n model: this,\n modelClass\n },\n {ransack}\n )\n }\n }\n }\n}\n","import {digg, digs} from \"diggerize\"\nimport ModelRecipesModelLoader from \"./model-recipes-model-loader.mjs\"\n\nexport default class ModelRecipesLoader {\n constructor ({recipes}) {\n this.modelClasses = {}\n this.recipes = recipes\n }\n\n getModelClass (name) {\n return digg(this, \"modelClasses\", name)\n }\n\n load () {\n const {recipes} = digs(this, \"recipes\")\n const {models} = digs(recipes, \"models\")\n\n for (const modelName in models) {\n const modelRecipe = models[modelName]\n const modelClassLoader = new ModelRecipesModelLoader({modelRecipe, modelRecipesLoader: this})\n const modelClass = modelClassLoader.createClass()\n\n this.modelClasses[modelName] = modelClass\n }\n\n return this.modelClasses\n }\n}\n","import * as inflection from \"inflection\"\nimport modelClassRequire from \"./model-class-require.mjs\"\n\nexport default class ApiMakerPreloaded {\n constructor (response) {\n this.response = response\n this.loadPreloadedModels()\n }\n\n loadPreloadedModels () {\n this.preloaded = {}\n\n for (const preloadedType in this.response.preloaded) {\n const modelClassName = inflection.classify(preloadedType)\n const ModelClass = modelClassRequire(modelClassName)\n\n for (const preloadedId in this.response.preloaded[preloadedType]) {\n const preloadedData = this.response.preloaded[preloadedType][preloadedId]\n const model = new ModelClass({data: preloadedData, isNewRecord: false})\n\n if (!this.preloaded[preloadedType]) {\n this.preloaded[preloadedType] = {}\n }\n\n this.preloaded[preloadedType][preloadedId] = model\n }\n }\n\n for (const modelType in this.preloaded) {\n for (const modelId in this.preloaded[modelType]) {\n this.preloaded[modelType][modelId]._readPreloadedRelationships(this)\n }\n }\n }\n\n getModel (type, id) {\n if (!this.preloaded[type] || !this.preloaded[type][id]) {\n throw new Error(`Could not find a ${type} by that ID: ${id}`)\n }\n\n return this.preloaded[type][id]\n }\n}\n","import * as inflection from \"inflection\"\nimport modelClassRequire from \"./model-class-require.mjs\"\nimport Preloaded from \"./preloaded.mjs\"\n\nexport default class ModelsResponseReader {\n static first (response) {\n return ModelsResponseReader.collection(response)[0]\n }\n\n static collection (response) {\n const reader = new ModelsResponseReader({response})\n return reader.models()\n }\n\n constructor (args) {\n this.collection = args.collection\n this.response = args.response\n }\n\n models () {\n const preloaded = new Preloaded(this.response)\n const models = []\n\n for (const modelType in this.response.data) {\n const modelClassName = inflection.classify(modelType)\n const ModelClass = modelClassRequire(modelClassName)\n const collectionName = ModelClass.modelClassData().collectionName\n\n for (const modelId of this.response.data[modelType]) {\n const modelData = this.response.preloaded[collectionName][modelId]\n\n if (!modelData)\n throw new Error(`Couldn't find model data for ${collectionName}(${modelId})`)\n\n const model = new ModelClass({\n collection: this.collection,\n data: modelData,\n isNewRecord: false\n })\n\n model._readPreloadedRelationships(preloaded)\n models.push(model)\n }\n }\n\n return models\n }\n}\n","export default class ApiMakerResult {\n constructor (data) {\n this.data = data\n }\n\n count = () => this.data.response.meta.count\n currentPage = () => this.data.response.meta.currentPage\n models = () => this.data.models\n modelClass = () => this.data.collection.modelClass()\n perPage = () => this.data.response.meta.perPage\n totalCount = () => this.data.response.meta.totalCount\n totalPages = () => this.data.response.meta.totalPages\n}\n","import {dig, digg, digs} from \"diggerize\"\nimport * as inflection from \"inflection\"\nimport qs from \"qs\"\nimport urlEncode from \"./url-encode.mjs\"\n\nexport default class ApiMakerRoutesNative {\n constructor ({getLocale}) {\n this.getLocale = getLocale\n this.routeDefinitions = []\n this.routeTranslationParts = {}\n }\n\n loadRouteDefinitions (routeDefinitions, routeDefinitionArgs) {\n for (const routeDefinition of digg(routeDefinitions, \"routes\")) {\n const {name, path} = digs(routeDefinition, \"name\", \"path\")\n const rawPathParts = path.split(\"/\")\n const pathMethodName = `${inflection.camelize(name, true)}Path`\n const urlMethodName = `${inflection.camelize(name, true)}Url`\n\n if (routeDefinitionArgs && routeDefinitionArgs.localized) {\n const localizedRoutes = {}\n\n for (const locale in this.routeTranslationParts) {\n let variableCount = 0\n\n const localizedPathParts = [\n {type: \"pathPart\", name: \"\"},\n {type: \"pathPart\", name: locale}\n ]\n\n for (let i = 1; i < rawPathParts.length; i++) {\n const pathPart = rawPathParts[i]\n const variableMatch = pathPart.match(/^:([A-z_]+)$/)\n\n if (variableMatch) {\n localizedPathParts.push({type: \"variable\", count: variableCount++})\n } else if (pathPart) {\n const name = this.i18n.t(`routes.${pathPart}`, null, {default: pathPart, locale})\n\n localizedPathParts.push({type: \"pathPart\", name})\n }\n }\n\n localizedRoutes[locale] = localizedPathParts\n }\n\n this[pathMethodName] = (...args) => this.translateRoute({args, localizedRoutes})\n this[urlMethodName] = (...args) => this.translateRoute({args, localizedRoutes, url: true})\n } else {\n let variableCount = 0\n\n const pathParts = rawPathParts.map((pathPart) => {\n const variableMatch = pathPart.match(/^:([A-z_]+)$/)\n\n if (variableMatch) {\n return {type: \"variable\", count: variableCount}\n } else {\n return {type: \"pathPart\", name: pathPart}\n }\n })\n\n this[pathMethodName] = (...args) => this.translateRoute({args, pathParts})\n this[urlMethodName] = (...args) => this.translateRoute({args, pathParts, url: true})\n }\n }\n }\n\n loadRouteTranslations (i18n) {\n this.i18n = i18n\n const locales = digg(i18n, \"locales\")\n\n for (const locale in locales) {\n const routeTranslations = dig(locales, locale, \"routes\")\n\n if (!routeTranslations) continue\n if (!(locale in this.routeTranslationParts)) this.routeTranslationParts[locale] = {}\n\n for (const key in routeTranslations) {\n this.routeTranslationParts[locale][key] = routeTranslations[key]\n }\n }\n }\n\n translateRoute ({args, localizedRoutes, pathParts, url}) {\n let options\n\n // Extract options from args if any\n const lastArg = args[args.length - 1]\n\n if (lastArg && typeof lastArg == \"object\") {\n options = args.pop()\n } else {\n options = {}\n }\n\n // Take locale from options if given or fall back to fallback\n const {locale, host, port, protocol, ...restOptions} = options\n\n if (localizedRoutes) {\n // Put together route with variables and static translated parts (which were translated and cached previously)\n let translatedRoute = digg(localizedRoutes, locale || this.getLocale())\n .map((pathPart) => {\n if (pathPart.type == \"pathPart\") {\n return pathPart.name\n } else if (pathPart.type == \"variable\") {\n // Args might not contain the right amount of variables, so dont change this to 'digg'\n return dig(args, digg(pathPart, \"count\"))\n } else {\n throw new Error(`Unhandled path part type: ${pathPart.type}`)\n }\n })\n .join(\"/\")\n\n if (restOptions && Object.keys(restOptions).length > 0) {\n translatedRoute += `?${qs.stringify(restOptions, {encoder: urlEncode})}`\n }\n\n if (url) return this.addHostToRoute({host, port, protocol, translatedRoute})\n\n return translatedRoute\n } else if (pathParts) {\n // Put together route with variables and static translated parts (which were translated and cached previously)\n let translatedRoute = pathParts\n .map((pathPart) => {\n if (pathPart.type == \"pathPart\") {\n return pathPart.name\n } else if (pathPart.type == \"variable\") {\n return digg(args, digg(pathPart, \"count\"))\n } else {\n throw new Error(`Unhandled path part type: ${pathPart.type}`)\n }\n })\n .join(\"/\")\n\n if (restOptions && Object.keys(restOptions).length > 0) {\n translatedRoute += `?${qs.stringify(restOptions, {encoder: urlEncode})}`\n }\n\n if (url) return this.addHostToRoute({host, port, protocol, translatedRoute})\n\n return translatedRoute\n }\n\n throw new Error(\"Unhandled state\")\n }\n\n addHostToRoute ({host, port, protocol, translatedRoute}) {\n let fullUrl = \"\"\n\n const hostToUse = host || globalThis.location && globalThis.location.host\n const portToUse = port || globalThis.location && globalThis.location.port\n\n if (!hostToUse) throw new Error(\"Unable to detect host\")\n\n if (protocol) {\n fullUrl += `${protocol}://`\n } else if (globalThis.location && globalThis.location.protocol) {\n fullUrl += `${globalThis.location.protocol}//`\n } else {\n fullUrl += \"https://\"\n }\n\n fullUrl += hostToUse\n\n if (portToUse && ((protocol == \"http\" && portToUse != 80) || (protocol == \"https\" && port != 443))) {\n fullUrl += `:${portToUse}`\n }\n\n fullUrl += translatedRoute\n\n return fullUrl\n }\n}\n","export default class RunLast {\n constructor(callback) {\n if (!callback) throw new Error(\"Empty callback given\")\n\n this.callback = callback\n }\n\n // Try to batch calls to backend while waiting for the event-queue-call to clear any other jobs before the request and reset on every flush call\n // If only waiting a single time, then other event-queue-jobs might be before us and queue other jobs that might queue calls to the backend\n queue() {\n this.flushTriggerCount = 0\n this.clearTimeout()\n this.flushTrigger()\n }\n\n flushTrigger = () => {\n if (this.flushTriggerCount >= 10) {\n this.run()\n } else {\n this.flushTriggerCount++\n this.flushTriggerQueue()\n }\n }\n\n flushTriggerQueue() {\n this.flushTimeout = setTimeout(this.flushTrigger, 0)\n }\n\n clearTimeout() {\n if (this.flushTimeout) {\n clearTimeout(this.flushTimeout)\n }\n }\n\n run() {\n this.clearTimeout()\n this.callback()\n }\n}\n","import CommandsPool from \"./commands-pool.mjs\"\n\nconst shared = {}\n\nexport default class ApiMakerServices {\n static current () {\n if (!shared.currentApiMakerService) shared.currentApiMakerService = new ApiMakerServices()\n\n return shared.currentApiMakerService\n }\n\n sendRequest (serviceName, args) {\n return CommandsPool.addCommand({\n args: {\n service_args: args,\n service_name: serviceName\n },\n command: \"services\",\n collectionName: \"calls\",\n type: \"service\"\n })\n }\n}\n","import config from \"./config.mjs\"\nimport Devise from \"./devise.mjs\"\nimport * as inflection from \"inflection\"\nimport Logger from \"./logger.mjs\"\nimport wakeEvent from \"wake-event\"\n\nconst logger = new Logger({name: \"ApiMaker / SessionStatusUpdater\"})\nconst shared = {}\n\n// logger.setDebug(true)\n\nexport default class ApiMakerSessionStatusUpdater {\n static current(args) {\n if (!shared.apiMakerSessionStatusUpdater) {\n shared.apiMakerSessionStatusUpdater = new ApiMakerSessionStatusUpdater(args)\n }\n\n return shared.apiMakerSessionStatusUpdater\n }\n\n constructor(args = {}) {\n this.events = {}\n this.timeout = args.timeout || 600000\n this.useMetaElement = (\"useMetaElement\" in args) ? args.useMetaElement : true\n\n this.connectOnlineEvent()\n this.connectWakeEvent()\n }\n\n connectOnlineEvent() {\n window.addEventListener(\"online\", this.updateSessionStatus, false)\n }\n\n connectWakeEvent() {\n wakeEvent(this.updateSessionStatus)\n }\n\n async getCsrfToken() {\n if (this.csrfToken) {\n logger.debug(`Get CSRF token from set variable: ${this.csrfToken}`)\n\n return this.csrfToken\n }\n\n if (this.useMetaElement) {\n const csrfTokenElement = document.querySelector(\"meta[name='csrf-token']\")\n\n if (csrfTokenElement) {\n logger.debug(() => `Get CSRF token from meta element: ${csrfTokenElement.getAttribute(\"content\")}`)\n\n this.csrfToken = csrfTokenElement.getAttribute(\"content\")\n\n return this.csrfToken\n }\n }\n\n logger.debug(\"Updating session status because no CSRF token set yet\")\n await this.updateSessionStatus()\n\n if (this.csrfToken) {\n logger.debug(() => `Returning CSRF token after updating session status: ${this.csrfToken}`)\n\n return this.csrfToken\n }\n\n throw new Error(\"CSRF token hasn't been set\")\n }\n\n sessionStatus() {\n return new Promise((resolve) => {\n const host = config.getHost()\n let requestPath = \"\"\n\n if (host) requestPath += host\n\n requestPath += \"/api_maker/session_statuses\"\n\n const xhr = new XMLHttpRequest()\n xhr.open(\"POST\", requestPath, true)\n xhr.onload = () => {\n const response = JSON.parse(xhr.responseText)\n resolve(response)\n }\n xhr.send()\n })\n }\n\n onSignedOut(callback) {\n this.addEvent(\"onSignedOut\", callback)\n }\n\n startTimeout() {\n logger.debug(\"startTimeout\")\n\n if (this.updateTimeout)\n clearTimeout(this.updateTimeout)\n\n this.updateTimeout = setTimeout(\n () => {\n this.startTimeout()\n this.updateSessionStatus()\n },\n this.timeout\n )\n }\n\n stopTimeout() {\n if (this.updateTimeout)\n clearTimeout(this.updateTimeout)\n }\n\n updateSessionStatus = async () => {\n logger.debug(\"updateSessionStatus\")\n\n const result = await this.sessionStatus()\n\n logger.debug(() => `Result: ${JSON.stringify(result, null, 2)}`)\n this.updateMetaElementsFromResult(result)\n this.updateUserSessionsFromResult(result)\n }\n\n updateMetaElementsFromResult(result) {\n logger.debug(\"updateMetaElementsFromResult\")\n\n this.csrfToken = result.csrf_token\n\n if (this.useMetaElement) {\n const csrfTokenElement = document.querySelector(\"meta[name='csrf-token']\")\n\n if (csrfTokenElement) {\n logger.debug(() => `Changing token from \"${csrfTokenElement.getAttribute(\"content\")}\" to \"${result.csrf_token}\"`)\n csrfTokenElement.setAttribute(\"content\", result.csrf_token)\n } else {\n logger.debug(\"csrf token element couldn't be found\")\n }\n }\n }\n\n updateUserSessionsFromResult(result) {\n for (const scopeName in result.scopes) {\n this.updateUserSessionScopeFromResult(scopeName, result.scopes[scopeName])\n }\n }\n\n updateUserSessionScopeFromResult(scopeName, scope) {\n const deviseIsSignedInMethodName = `is${inflection.camelize(scopeName)}SignedIn`\n\n if (!(deviseIsSignedInMethodName in Devise)) {\n throw new Error(`No such method in Devise: ${deviseIsSignedInMethodName}`)\n }\n\n const currentlySignedIn = Devise[deviseIsSignedInMethodName]()\n const signedInOnBackend = scope.signed_in\n\n if (currentlySignedIn && !signedInOnBackend) {\n logger.debug(() => `${inflection.camelize(scopeName)} signed in on frontend but not in backend!`)\n\n Devise.setSignedOut({scope: scopeName})\n Devise.callSignOutEvent({scope: scopeName})\n }\n }\n}\n","import escapeStringRegexp from \"escape-string-regexp\"\n\nconst replaces = {\n \" \": \"+\",\n \"&\": \"%26\",\n \"#\": \"%23\",\n \"+\": \"%2B\",\n \"/\": \"%2F\",\n \"?\": \"%3F\"\n}\n\nconst regexp = new RegExp(`(${Object.keys(replaces).map(escapeStringRegexp).join(\"|\")})`, \"g\")\n\nconst urlEncode = (string) => {\n return String(string).replaceAll(regexp, (character) => replaces[character])\n}\n\nexport default urlEncode\n","import {useLayoutEffect} from \"react\"\n\nconst ApiMakerUseEventEmitter = (events, event, onCalled) => {\n useLayoutEffect(() => {\n if (events) {\n events.addListener(event, onCalled)\n\n return () => {\n events.removeListener(event, onCalled)\n }\n }\n }, [events, event, onCalled])\n}\n\nexport default ApiMakerUseEventEmitter\n","import {useCallback, useLayoutEffect} from \"react\"\n\nconst ApiMakerUseEventListener = (target, event, onCalled) => {\n const onCalledCallback = useCallback((...args) => {\n onCalled.apply(null, args)\n }, [target, event, onCalled])\n\n useLayoutEffect(() => {\n if (target) {\n target.addEventListener(event, onCalledCallback)\n\n return () => {\n target.removeEventListener(event, onCalledCallback)\n }\n }\n }, [target, event, onCalled])\n}\n\nexport default ApiMakerUseEventListener\n","import BaseError from \"./base-error.mjs\"\nimport * as inflection from \"inflection\"\n\nclass ValidationError extends BaseError {\n constructor(validationErrors, args) {\n const errorMessage = validationErrors.getUnhandledErrorMessage() || validationErrors.getErrorMessage()\n const forwardedArgs = {addResponseErrorsToErrorMessage: false}\n const newArgs = Object.assign({}, args, forwardedArgs)\n\n super(errorMessage, newArgs)\n this.validationErrors = validationErrors\n }\n\n getUnhandledErrors = () => this.validationErrors.getValidationErrors().filter((validationError) => !validationError.getHandled())\n getValidationErrors = () => digg(this, \"validationErrors\")\n\n hasUnhandledErrors() {\n const unhandledError = this.validationErrors.getValidationErrors().find((validationError) => !validationError.getHandled())\n\n return Boolean(unhandledError)\n }\n\n hasValidationErrorForAttribute(attributeName) {\n const underscoredAttributeName = inflection.underscore(attributeName)\n const foundAttribute = this.validationErrors.getValidationErrors().find((validationError) => validationError.getAttributeName() == underscoredAttributeName)\n\n if (foundAttribute) return true\n\n return false\n }\n}\n\nValidationError.apiMakerType = \"ValidationError\"\n\nexport default ValidationError\n","import {digg, digs} from \"diggerize\"\nimport * as inflection from \"inflection\"\nimport modelClassRequire from \"./model-class-require.mjs\"\n\nclass ValidationError {\n constructor(args) {\n this.attributeName = digg(args, \"attribute_name\")\n this.attributeType = digg(args, \"attribute_type\")\n this.errorMessages = digg(args, \"error_messages\")\n this.errorTypes = digg(args, \"error_types\")\n this.inputName = args.input_name\n this.handled = false\n this.modelName = digg(args, \"model_name\")\n }\n\n matchesAttributeAndInputName(attributeName, inputName) {\n if (this.getInputName() == inputName) return true\n if (!attributeName) return false\n\n // A relationship column ends with \"_id\". We should try for validation errors on an attribute without the \"_id\" as well\n const attributeNameIdMatch = attributeName.match(/^(.+)Id$/)\n if (!attributeNameIdMatch) return false\n\n const attributeNameWithoutId = inflection.underscore(attributeNameIdMatch[1])\n const attributeUnderScoreName = inflection.underscore(attributeName)\n const inputNameWithoutId = inputName.replace(`[${attributeUnderScoreName}]`, `[${attributeNameWithoutId}]`)\n\n if (this.getInputName() == inputNameWithoutId) return true\n\n return false\n }\n\n getAttributeName = () => digg(this, \"attributeName\")\n getErrorMessages = () => digg(this, \"errorMessages\")\n\n getFullErrorMessages() {\n const {attributeType} = digs(this, \"attributeType\")\n\n if (attributeType == \"base\") {\n return this.getErrorMessages()\n } else {\n const fullErrorMessages = []\n\n for (const errorMessage of this.getErrorMessages()) {\n const attributeHumanName = this.getModelClass().humanAttributeName(this.getAttributeName())\n fullErrorMessages.push(`${attributeHumanName} ${errorMessage}`)\n }\n\n return fullErrorMessages\n }\n }\n\n getHandled = () => digg(this, \"handled\")\n getInputName = () => digg(this, \"inputName\")\n\n getModelClass() {\n const modelName = inflection.classify(digg(this, \"modelName\"))\n\n return modelClassRequire(modelName)\n }\n\n setHandled() {\n this.handled = true\n }\n}\n\nclass ValidationErrors {\n constructor(args) {\n this.rootModel = digg(args, \"model\")\n this.validationErrors = digg(args, \"validationErrors\").map((validationError) => new ValidationError(validationError))\n }\n\n getErrorMessage() {\n const fullErrorMessages = []\n\n for (const validationError of this.validationErrors) {\n for (const fullErrorMessage of validationError.getFullErrorMessages()) {\n fullErrorMessages.push(fullErrorMessage)\n }\n }\n\n return fullErrorMessages.join(\". \")\n }\n\n getValidationErrors = () => this.validationErrors\n\n getValidationErrorsForInput ({attribute, inputName, onMatchValidationError}) {\n const validationErrors = this.validationErrors.filter((validationError) => {\n if (onMatchValidationError) {\n return onMatchValidationError(validationError)\n } else {\n return validationError.matchesAttributeAndInputName(attribute, inputName)\n }\n })\n\n validationErrors.map((validationError) => validationError.setHandled())\n\n return validationErrors\n }\n\n getUnhandledErrorMessage () {\n const unhandledValidationErrors = this.validationErrors.filter((validationError) => !validationError.getHandled())\n\n if (unhandledValidationErrors.length > 0) {\n const unhandledValidationErrorMessages = []\n\n for (const unhandledValidationError of unhandledValidationErrors) {\n for (const errorMessage of unhandledValidationError.getFullErrorMessages()) {\n unhandledValidationErrorMessages.push(errorMessage)\n }\n }\n\n return unhandledValidationErrorMessages.join(\". \")\n }\n }\n}\n\nexport {\n ValidationError,\n ValidationErrors\n}\n","export default class OnLocationChangedCallback {\n constructor(callbacksHandler, id, callback) {\n this.callback = callback\n this.callbacksHandler = callbacksHandler\n this.id = id\n this.callCallback = this.callCallback.bind(this)\n this.disconnect = this.disconnect.bind(this)\n }\n\n callCallback() {\n try {\n this.callback()\n } catch (error) {\n // Throw error in a callback to avoid interrupting other callbacks and properly.\n setTimeout(() => { throw error }, 0)\n }\n }\n\n disconnect() {\n delete this.callbacksHandler.callbacks[this.id]\n }\n}\n","import {digg} from \"diggerize\"\nimport OnLocationChangedCallback from \"./on-location-changed-callback.js\"\n\nclass CallbacksHandler {\n constructor() {\n this.callbacks = {}\n this.count = 0\n this.currentLocationHref = location.href\n }\n\n callCallbacks = () => {\n for (const count in this.callbacks) {\n this.callbacks[count].callCallback()\n }\n }\n\n connectMutationObserver() {\n const body = document.querySelector(\"body\")\n\n // Solution recommended various places on the internet is to observe for changed and then check if the location has changed.\n const observer = new MutationObserver(digg(this, \"onLocationMightHaveChanged\"))\n const config = {subtree: true, childList: true}\n\n observer.observe(body, config)\n observer.observe(document, config)\n }\n\n connectReactRouterHistory(history) {\n // A React Router history can be registered globally (must be imported before this file).\n history.listen(digg(this, \"onLocationMightHaveChanged\"))\n }\n\n connectWindowEvents() {\n // If the hash has changed then maybe the entire location has? Trying to catch location change as early as possible.\n window.addEventListener(\"hashchange\", digg(this, \"onLocationMightHaveChanged\"))\n\n // 'popstate' is only called doing certain actions (React Router won't trigger this for example).\n window.addEventListener(\"popstate\", digg(this, \"onLocationMightHaveChanged\"))\n }\n\n connectInterval = () => setInterval(digg(this, \"onLocationMightHaveChanged\"), 500)\n\n onLocationChanged = (givenCallback) => {\n this.count += 1\n\n const callback = new OnLocationChangedCallback(this, this.count, givenCallback)\n\n this.callbacks[this.count] = callback\n\n return callback\n }\n\n onLocationMightHaveChanged = () => {\n if (location.href != this.currentLocationHref) {\n this.currentLocationHref = location.href\n this.callCallbacks()\n }\n }\n}\n\n// Prevent anything from spawning multiple instances (which happened!)\nif (!globalThis.onLocationChangedCallbacksHandler) {\n globalThis.onLocationChangedCallbacksHandler = new CallbacksHandler()\n}\n\nconst callbacksHandler = globalThis.onLocationChangedCallbacksHandler\n\n// Export the single handler that is supposed to exist\nexport {callbacksHandler}\n","import {callbacksHandler} from \"./callbacks-handler.js\"\n\nconst onLocationChanged = (callback) => callbacksHandler.onLocationChanged(callback)\n\nexport default onLocationChanged\n","import onLocationChanged from \"./on-location-changed.js\"\nimport {useCallback, useEffect, useMemo, useState} from \"react\"\n\nconst usePath = () => {\n const [path, setPath] = useState(globalThis.location.pathname)\n const shared = useMemo(() => ({}), [])\n\n shared.path = path\n\n const onLocationChangedCallback = useCallback(() => {\n const newPath = globalThis.location.pathname\n\n if (newPath != shared.path) {\n setPath(newPath)\n }\n }, [])\n\n useEffect(() => {\n const onLocationChangedEvent = onLocationChanged(onLocationChangedCallback)\n\n return () => {\n onLocationChangedEvent.disconnect()\n }\n }, [])\n\n return path\n}\n\nexport default usePath\n","import {simpleObjectValuesDifferent} from \"./diff-utils.js\"\n\nconst memoCompareProps = (prevProps, nextProps, debug) => {\n if (debug) {\n console.log(\"memoCompareProps\", {prevProps, nextProps})\n }\n\n if (Object.keys(nextProps).length != Object.keys(prevProps).length) {\n if (debug) {\n console.log(`Keys length was different - prev ${Object.keys(prevProps).length} after ${Object.keys(nextProps).length}`)\n }\n\n return false\n }\n\n if (debug) {\n console.log(\"Running simpleObjectValuesDifferent\")\n }\n\n const result = simpleObjectValuesDifferent(nextProps, prevProps, {debug})\n\n if (debug) {\n console.log(`Was it different: ${result}`)\n }\n\n return !result\n}\n\nconst memoComparePropsWithDebug = (prevProps, nextProps) => memoCompareProps(prevProps, nextProps, true)\n\nexport {memoComparePropsWithDebug}\nexport default memoCompareProps\n","import memoCompareProps, {memoComparePropsWithDebug} from \"./memo-compare-props.js\"\nimport React from \"react\"\n\nconst memo = (component) => React.memo(component, memoCompareProps)\nconst memoWithDebug = (component) => React.memo(component, memoComparePropsWithDebug)\n\nexport {memoWithDebug}\nexport default memo\n","import {anythingDifferent} from \"./diff-utils.js\"\nimport {dig} from \"diggerize\"\nimport fetchingObject from \"fetching-object\"\nimport memoCompareProps from \"./memo-compare-props.js\"\nimport PropTypes from \"prop-types\"\nimport shared from \"./shared.js\"\nimport {useEffect, useMemo, useState} from \"react\"\n\nclass ShapeComponent {\n constructor(props) {\n this.props = props\n this.setStates = {}\n this.state = {}\n this.__firstRenderCompleted = false\n this.tt = fetchingObject(this)\n this.p = fetchingObject(() => this.props)\n this.s = fetchingObject(this.state)\n }\n\n setInstance(variables) {\n for (const name in variables) {\n this[name] = variables[name]\n }\n }\n\n setState(statesList, callback) {\n if (typeof statesList == \"function\") {\n statesList = statesList(this.state)\n }\n\n for (const stateName in statesList) {\n const newValue = statesList[stateName]\n\n if (!(stateName in this.setStates)) {\n throw new Error(`No such state: ${stateName}`)\n }\n\n this.setStates[stateName](newValue)\n }\n\n if (callback) {\n shared.renderingCallbacks.push(callback)\n }\n }\n\n stylingFor(stylingName, style = {}) {\n let customStyling = dig(this, \"props\", \"styles\", stylingName)\n\n if (typeof customStyling == \"function\") {\n customStyling = customStyling({state: this.state, style})\n }\n\n if (customStyling) {\n return Object.assign(style, customStyling)\n }\n\n return style\n }\n\n useState(stateName, defaultValue) {\n const [stateValue, setState] = useState(defaultValue)\n\n if (!(stateName in this.state)) {\n this.state[stateName] = stateValue\n this.setStates[stateName] = (newValue) => {\n if (anythingDifferent(this.state[stateName], newValue)) {\n let prevState\n\n if (this.componentDidUpdate) {\n prevState = Object.assign({}, this.state)\n }\n\n this.state[stateName] = newValue\n\n // Avoid React error if using set-state while rendering (like in a useMemo callback)\n if (shared.rendering > 0) {\n shared.renderingCallbacks.push(() => {\n setState(newValue)\n })\n } else {\n setState(newValue)\n }\n\n if (this.componentDidUpdate) {\n this.componentDidUpdate(this.props, prevState)\n }\n }\n }\n }\n\n return this.setStates[stateName]\n }\n\n useStates(statesList) {\n if (Array.isArray(statesList)) {\n for(const stateName of statesList) {\n this.useState(stateName)\n }\n } else {\n for(const stateName in statesList) {\n const defaultValue = statesList[stateName]\n\n this.useState(stateName, defaultValue)\n }\n }\n }\n}\n\nconst shapeComponent = (ShapeClass) => {\n const functionalComponent = (props) => {\n // Count rendering to avoid setting state while rendering which causes a console-error from React\n shared.rendering += 1\n\n try {\n // Calculate and validate props\n let actualProps\n\n if (ShapeClass.defaultProps) {\n // Undefined values are removed from the props because they shouldn't override default values\n const propsWithoutUndefined = Object.assign({}, props)\n\n for (const key in propsWithoutUndefined) {\n const value = propsWithoutUndefined[key]\n\n if (value === undefined) {\n delete propsWithoutUndefined[key]\n }\n }\n\n actualProps = Object.assign({}, ShapeClass.defaultProps, propsWithoutUndefined)\n } else {\n actualProps = props\n }\n\n if (ShapeClass.propTypes) {\n const validateProps = {}\n\n for (const key in actualProps) {\n // Accessing 'key' will result in a warning in the console\n if (key == \"key\") continue\n\n validateProps[key] = actualProps[key]\n }\n\n PropTypes.checkPropTypes(ShapeClass.propTypes, validateProps, \"prop\", ShapeClass.name)\n }\n\n const shape = useMemo(() => new ShapeClass(actualProps), [])\n const prevProps = shape.props\n\n shape.props = actualProps\n\n if (shape.setup) {\n shape.setup()\n }\n\n if (shape.componentDidUpdate && shape.__firstRenderCompleted && memoCompareProps(shape.props, props)) {\n shape.componentDidUpdate(prevProps, shape.state)\n }\n\n if (shape.componentDidMount || shape.componentWillUnmount) {\n useEffect(() => {\n if (shape.componentDidMount) {\n shape.componentDidMount()\n }\n\n return () => {\n if (shape.componentWillUnmount) {\n shape.componentWillUnmount()\n }\n }\n }, [])\n }\n\n shape.__firstRenderCompleted = true\n\n // Run any callbacks added by setState(states, callback) once rendering is done\n useEffect(() => {\n if (shared.rendering == 0) {\n try {\n for (const callback of shared.renderingCallbacks) {\n new Promise(() => callback())\n }\n } finally {\n shared.renderingCallbacks.length = 0\n }\n }\n })\n\n // Finally render the component and return it\n return shape.render()\n } finally {\n shared.rendering -= 1\n }\n }\n\n functionalComponent.displayName = ShapeClass.name\n\n Object.defineProperty(functionalComponent, \"name\", {value: ShapeClass.name})\n\n return functionalComponent\n}\n\nexport {shapeComponent, ShapeComponent}\n","if (!window.setStateCompareData) {\n window.setStateCompareData = {\n rendering: 0,\n renderingCallbacks: []\n }\n}\n\nconst shared = window.setStateCompareData\n\nexport default shared\n","function digger(target, keys, {callFunctions = false, throwError = true}) {\n let digged = target\n const currentPath = []\n\n for (const key of keys) {\n currentPath.push(key)\n\n if (!(key in digged)) {\n if (throwError) {\n throw new Error(`Path didn't exist: ${currentPath.join(\".\")}`)\n } else {\n return undefined\n }\n } else {\n digged = digged[key]\n }\n\n if (typeof digged === \"function\" && callFunctions) {\n digged = digged()\n }\n }\n\n return digged\n}\n\nconst dig = function dig(target, ...keys) {\n return digger(target, keys, {throwError: false})\n}\n\nconst digg = function dig(target, ...keys) {\n return digger(target, keys, {throwError: true})\n}\n\nconst digs = function digs(target, ...keys) {\n const result = {}\n\n for(let key of keys) {\n if (!(key in target)) throw new Error(`Target didn't contain expected key: ${key}`)\n\n result[key] = target[key]\n }\n\n return result\n}\n\nexport {dig, digg, digger, digs}\n","export default function escapeStringRegexp(string) {\n\tif (typeof string !== 'string') {\n\t\tthrow new TypeError('Expected a string');\n\t}\n\n\t// Escape characters with special meaning either inside or outside character sets.\n\t// Use a simple backslash escape when it’s always valid, and a `\\xnn` escape when the simpler form would be disallowed by Unicode patterns’ stricter grammar.\n\treturn string\n\t\t.replace(/[|\\\\{}()[\\]^$+*?.]/g, '\\\\$&')\n\t\t.replace(/-/g, '\\\\x2d');\n}\n","class PropertyNotFoundError extends Error {\n constructor(message) {\n super(message)\n this.name = \"PropertyNotFoundError\"\n }\n}\n\nconst fetchingObjectHandler = {\n get(receiver, prop) {\n if (typeof receiver == \"function\") receiver = receiver()\n if (!(prop in receiver)) throw new PropertyNotFoundError(`Property not found: ${prop}`)\n\n return Reflect.get(receiver, prop)\n },\n\n set(receiver, prop, newValue) {\n if (typeof receiver == \"function\") receiver = receiver()\n if (!(prop in receiver)) throw new PropertyNotFoundError(`Property not found: ${prop}`)\n\n return Reflect.set(receiver, prop, newValue)\n }\n}\n\nconst fetchingObject = (wrappedObject = {}) => new Proxy(wrappedObject, fetchingObjectHandler)\n\nexport default fetchingObject\n","export default class ErrorHandlersRaiser {\n constructor(i18n) {\n this.i18n = i18n\n }\n\n handleError({error}) {\n throw error\n }\n}\n","import events from \"./src/events.mjs\"\nimport {dig, digg} from \"diggerize\"\nimport numberable from \"numberable\"\nimport Raiser from \"./src/error-handlers/raiser.mjs\"\nimport strftime from \"strftime\"\n\nexport default class I18nOnSteroids {\n constructor(args) {\n this.errorHandler = new Raiser(this)\n this.locales = {}\n\n if (args?.fallbacks) {\n this.fallbacks = args.fallbacks\n } else {\n this.fallbacks = {}\n }\n }\n\n setErrorHandler(errorHandler) {\n this.errorHandler = errorHandler\n }\n\n setLocale(locale) {\n this.locale = locale\n events.emit(\"localeChanged\")\n }\n\n setLocaleOnStrftime() {\n const monthNames = [...Object.values(this.t(\"date.month_names\"))]\n const abbrMonthNames = [...Object.values(this.t(\"date.abbr_month_names\"))]\n\n monthNames.shift()\n abbrMonthNames.shift()\n\n const strftimeLocales = {\n days: Object.values(this.t(\"date.day_names\")),\n shortDays: Object.values(this.t(\"date.abbr_day_names\")),\n months: monthNames,\n shortMonths: abbrMonthNames\n }\n\n this.strftime = strftime.localize(strftimeLocales)\n }\n\n scanRequireContext(contextLoader) {\n contextLoader.keys().forEach((id) => {\n const content = contextLoader(id)\n\n this._scanRecursive(content, this.locales, [], id)\n })\n }\n\n scanObject(object) {\n this._scanRecursive(object, this.locales, [])\n }\n\n _scanRecursive(data, storage, currentPath, id) {\n for (const key in data) {\n const value = data[key]\n\n if (typeof value == \"object\") {\n if (!(key in storage)) {\n storage[key] = {}\n }\n\n this._scanRecursive(value, storage[key], currentPath.concat([key], id))\n } else {\n if (key in storage) {\n console.error(`Key already found in locales: ${currentPath.join(\".\")}.${key} '${id}'`, {oldValue: storage[key], newValue: value})\n }\n\n storage[key] = value\n }\n }\n }\n\n l(format, date) {\n const formatValue = this.t(format)\n const formattedDate = this.strftime(formatValue, date)\n\n return formattedDate\n }\n\n t(key, variables, args) {\n const locale = args?.locale || this.locale\n const path = key.split(\".\")\n const localesToTry = this.fallbacks[locale] || [locale]\n let defaultValue, value\n\n for (const locale of localesToTry) {\n value = this._lookup(locale, path)\n\n if (value) {\n break\n }\n }\n\n if (variables && \"defaultValue\" in variables) {\n defaultValue = digg(variables, \"defaultValue\")\n delete variables.defaultValue\n }\n\n if (value === undefined) {\n if (args?.default) {\n value = args.default\n } else if (defaultValue) {\n value = defaultValue\n }\n }\n\n if (value) {\n return this.insertVariables(value, variables)\n }\n\n const error = Error(`Key didn't exist: ${locale}.${key}`)\n\n return this.errorHandler.handleError({error, key, path, variables})\n }\n\n insertVariables(value, variables) {\n if (variables) {\n for (const key in variables) {\n value = value.replace(`%{${key}}`, variables[key])\n }\n }\n\n return value\n }\n\n _lookup = (locale, path) => dig(this.locales, locale, ...path)\n\n toNumber(number) {\n return numberable(number, {\n delimiter: this.t(\"number.format.delimiter\"),\n precision: this.t(\"number.format.precision\"),\n separator: this.t(\"number.format.separator\")\n })\n }\n}\n","// Raises an error outside the normal thread and returns the last part of the key as a string\nexport default class ErrorHandlersRaiseInBackground {\n constructor(i18n) {\n this.i18n = i18n\n }\n\n handleError({error, path}) {\n setTimeout(\n () => {\n throw error\n },\n 0\n )\n\n // Return the last part of the path as a string\n return path[path.length - 1]\n }\n}\n","import EventEmitter from \"events\"\n\nconst events = new EventEmitter()\n\nevents.setMaxListeners(1000)\n\nexport default events\n","import {useCallback, useMemo} from \"react\"\nimport useLocale from \"./use-locale.mjs\"\n\nconst useI18n = ({namespace}) => {\n const shared = useMemo(() => ({}), [])\n const locale = useLocale()\n\n shared.locale = locale\n shared.namespace = namespace\n\n const t = useCallback((key, variables, args = {}) => {\n const newArgs = Object.assign({locale: shared.locale}, args)\n\n if (key.startsWith(\".\")) {\n key = `${shared.namespace}${key}`\n }\n\n return I18n.t(key, variables, newArgs)\n }, [])\n\n return {\n locale,\n t\n }\n}\n\nexport default useI18n\n","import events from \"./events.mjs\"\nimport {useCallback, useEffect, useState} from \"react\"\n\nconst useLocale = () => {\n const [locale, setLocale] = useState(I18n.locale)\n const updateLocale = useCallback(() => {\n setLocale(I18n.locale)\n }, [])\n\n useEffect(() => {\n events.addListener(\"localeChanged\", updateLocale)\n\n return () => {\n events.removeListener(\"localeChanged\", updateLocale)\n }\n }, [])\n\n return locale\n}\n\nexport default useLocale\n","const incorporate = (...objects) => {\n const incorporator = new Incorporator({objects})\n\n return incorporator.merge()\n}\n\nexport {incorporate}\n\nexport default class Incorporator {\n constructor({objects}) {\n this.objects = objects\n this.replaceArrayIfExistsValue = false\n }\n\n replaceArrayIfExists(newValue) {\n this.replaceArrayIfExistsValue = newValue\n }\n\n merge() {\n return this.mergeObjects(...this.objects)\n }\n\n isPlainObject = (input) => {\n if (input && typeof input === \"object\" && !Array.isArray(input)) {\n return true\n }\n\n return false\n }\n\n mergeObjects = (firstObject, ...objects) => {\n for (const object of objects) {\n this.mergeObjectsInto(firstObject, object)\n }\n\n return firstObject\n }\n\n mergeArraysInto = (mergeIntoValue, ...arrays) => {\n for (const array of arrays) {\n for (const value of array) {\n if (!mergeIntoValue.includes(value)) {\n mergeIntoValue.push(value)\n }\n }\n }\n }\n\n mergeObjectsInto = (mergeInto, object) => {\n for (const key in object) {\n const value = object[key]\n\n if (key in mergeInto) {\n const mergeIntoValue = mergeInto[key]\n\n if (Array.isArray(value) && !this.replaceArrayIfExistsValue) {\n // Current value isn't an array - turn into array and then merge into that\n if (!Array.isArray(mergeIntoValue)) {\n mergeInto[key] = [mergeIntoValue]\n }\n\n this.mergeArraysInto(mergeInto[key], value)\n } else if (this.isPlainObject(mergeIntoValue) && this.isPlainObject(value)) {\n this.mergeObjectsInto(mergeIntoValue, value)\n } else {\n mergeInto[key] = value\n }\n } else {\n mergeInto[key] = value\n }\n }\n }\n}\n","class ParentElementsResult {\n constructor(element, path) {\n this.element = element\n this.path = path\n }\n\n getElement() {\n return this.element\n }\n\n getPath() {\n return this.path\n }\n}\n\nconst parentElement = ({element, callback}) => {\n const results = parentElements({element, breakAfterFirstFound: true, callback})\n\n if (results.length > 0) {\n return results[0].getElement()\n }\n}\n\nconst parentElements = ({element, breakAfterFirstFound, callback, currentPath = [], results = []}) => {\n const parent = element.parentNode\n const includeInResults = callback({element: parent})\n\n if (includeInResults) {\n const elementResult = new ParentElementsResult(parent, currentPath)\n\n results.push(elementResult)\n\n if (breakAfterFirstFound) {\n return results\n }\n }\n\n if (parent?.parentNode && (!breakAfterFirstFound || results.length == 0)) {\n parentElements({\n breakAfterFirstFound,\n element: parent,\n callback,\n currentPath: [...currentPath, parent],\n results\n })\n }\n\n return results\n}\n\nexport {\n parentElement,\n parentElements\n}\n","const randomUUID = typeof crypto !== 'undefined' && crypto.randomUUID && crypto.randomUUID.bind(crypto);\nexport default { randomUUID };\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmF0aXZlLWJyb3dzZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvbmF0aXZlLWJyb3dzZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsTUFBTSxVQUFVLEdBQ2QsT0FBTyxNQUFNLEtBQUssV0FBVyxJQUFJLE1BQU0sQ0FBQyxVQUFVLElBQUksTUFBTSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7QUFFdkYsZUFBZSxFQUFFLFVBQVUsRUFBRSxDQUFDIn0=","let getRandomValues;\nconst rnds8 = new Uint8Array(16);\nexport default function rng() {\n if (!getRandomValues) {\n if (typeof crypto === 'undefined' || !crypto.getRandomValues) {\n throw new Error('crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported');\n }\n getRandomValues = crypto.getRandomValues.bind(crypto);\n }\n return getRandomValues(rnds8);\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm5nLWJyb3dzZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvcm5nLWJyb3dzZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBSUEsSUFBSSxlQUEwRCxDQUFDO0FBRS9ELE1BQU0sS0FBSyxHQUFHLElBQUksVUFBVSxDQUFDLEVBQUUsQ0FBQyxDQUFDO0FBRWpDLE1BQU0sQ0FBQyxPQUFPLFVBQVUsR0FBRztJQUV6QixJQUFJLENBQUMsZUFBZSxFQUFFLENBQUM7UUFDckIsSUFBSSxPQUFPLE1BQU0sS0FBSyxXQUFXLElBQUksQ0FBQyxNQUFNLENBQUMsZUFBZSxFQUFFLENBQUM7WUFDN0QsTUFBTSxJQUFJLEtBQUssQ0FDYiwwR0FBMEcsQ0FDM0csQ0FBQztRQUNKLENBQUM7UUFFRCxlQUFlLEdBQUcsTUFBTSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDeEQsQ0FBQztJQUVELE9BQU8sZUFBZSxDQUFDLEtBQUssQ0FBQyxDQUFDO0FBQ2hDLENBQUMifQ==","import validate from './validate.js';\nconst byteToHex = [];\nfor (let i = 0; i < 256; ++i) {\n byteToHex.push((i + 0x100).toString(16).slice(1));\n}\nexport function unsafeStringify(arr, offset = 0) {\n return (byteToHex[arr[offset + 0]] +\n byteToHex[arr[offset + 1]] +\n byteToHex[arr[offset + 2]] +\n byteToHex[arr[offset + 3]] +\n '-' +\n byteToHex[arr[offset + 4]] +\n byteToHex[arr[offset + 5]] +\n '-' +\n byteToHex[arr[offset + 6]] +\n byteToHex[arr[offset + 7]] +\n '-' +\n byteToHex[arr[offset + 8]] +\n byteToHex[arr[offset + 9]] +\n '-' +\n byteToHex[arr[offset + 10]] +\n byteToHex[arr[offset + 11]] +\n byteToHex[arr[offset + 12]] +\n byteToHex[arr[offset + 13]] +\n byteToHex[arr[offset + 14]] +\n byteToHex[arr[offset + 15]]).toLowerCase();\n}\nfunction stringify(arr, offset = 0) {\n const uuid = unsafeStringify(arr, offset);\n if (!validate(uuid)) {\n throw TypeError('Stringified UUID is invalid');\n }\n return uuid;\n}\nexport default stringify;\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RyaW5naWZ5LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3N0cmluZ2lmeS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLFFBQVEsTUFBTSxlQUFlLENBQUM7QUFNckMsTUFBTSxTQUFTLEdBQWEsRUFBRSxDQUFDO0FBRS9CLEtBQUssSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxHQUFHLEVBQUUsRUFBRSxDQUFDLEVBQUUsQ0FBQztJQUM3QixTQUFTLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxHQUFHLEtBQUssQ0FBQyxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNwRCxDQUFDO0FBRUQsTUFBTSxVQUFVLGVBQWUsQ0FBQyxHQUFlLEVBQUUsTUFBTSxHQUFHLENBQUM7SUFNekQsT0FBTyxDQUNMLFNBQVMsQ0FBQyxHQUFHLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxDQUFDO1FBQzFCLFNBQVMsQ0FBQyxHQUFHLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxDQUFDO1FBQzFCLFNBQVMsQ0FBQyxHQUFHLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxDQUFDO1FBQzFCLFNBQVMsQ0FBQyxHQUFHLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxDQUFDO1FBQzFCLEdBQUc7UUFDSCxTQUFTLENBQUMsR0FBRyxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsQ0FBQztRQUMxQixTQUFTLENBQUMsR0FBRyxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsQ0FBQztRQUMxQixHQUFHO1FBQ0gsU0FBUyxDQUFDLEdBQUcsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLENBQUM7UUFDMUIsU0FBUyxDQUFDLEdBQUcsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLENBQUM7UUFDMUIsR0FBRztRQUNILFNBQVMsQ0FBQyxHQUFHLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxDQUFDO1FBQzFCLFNBQVMsQ0FBQyxHQUFHLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxDQUFDO1FBQzFCLEdBQUc7UUFDSCxTQUFTLENBQUMsR0FBRyxDQUFDLE1BQU0sR0FBRyxFQUFFLENBQUMsQ0FBQztRQUMzQixTQUFTLENBQUMsR0FBRyxDQUFDLE1BQU0sR0FBRyxFQUFFLENBQUMsQ0FBQztRQUMzQixTQUFTLENBQUMsR0FBRyxDQUFDLE1BQU0sR0FBRyxFQUFFLENBQUMsQ0FBQztRQUMzQixTQUFTLENBQUMsR0FBRyxDQUFDLE1BQU0sR0FBRyxFQUFFLENBQUMsQ0FBQztRQUMzQixTQUFTLENBQUMsR0FBRyxDQUFDLE1BQU0sR0FBRyxFQUFFLENBQUMsQ0FBQztRQUMzQixTQUFTLENBQUMsR0FBRyxDQUFDLE1BQU0sR0FBRyxFQUFFLENBQUMsQ0FBQyxDQUM1QixDQUFDLFdBQVcsRUFBRSxDQUFDO0FBQ2xCLENBQUM7QUFFRCxTQUFTLFNBQVMsQ0FBQyxHQUFlLEVBQUUsTUFBTSxHQUFHLENBQUM7SUFDNUMsTUFBTSxJQUFJLEdBQUcsZUFBZSxDQUFDLEdBQUcsRUFBRSxNQUFNLENBQUMsQ0FBQztJQU8xQyxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUM7UUFDcEIsTUFBTSxTQUFTLENBQUMsNkJBQTZCLENBQUMsQ0FBQztJQUNqRCxDQUFDO0lBRUQsT0FBTyxJQUFJLENBQUM7QUFDZCxDQUFDO0FBRUQsZUFBZSxTQUFTLENBQUMifQ==","import native from './native.js';\nimport rng from './rng.js';\nimport { unsafeStringify } from './stringify.js';\nfunction v4(options, buf, offset) {\n if (native.randomUUID && !buf && !options) {\n return native.randomUUID();\n }\n options = options || {};\n const rnds = options.random || (options.rng || rng)();\n rnds[6] = (rnds[6] & 0x0f) | 0x40;\n rnds[8] = (rnds[8] & 0x3f) | 0x80;\n if (buf) {\n offset = offset || 0;\n for (let i = 0; i < 16; ++i) {\n buf[offset + i] = rnds[i];\n }\n return buf;\n }\n return unsafeStringify(rnds);\n}\nexport default v4;\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidjQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvdjQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxNQUFNLE1BQU0sYUFBYSxDQUFDO0FBQ2pDLE9BQU8sR0FBRyxNQUFNLFVBQVUsQ0FBQztBQUMzQixPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFJakQsU0FBUyxFQUFFLENBQUMsT0FBeUIsRUFBRSxHQUFnQixFQUFFLE1BQWU7SUFDdEUsSUFBSSxNQUFNLENBQUMsVUFBVSxJQUFJLENBQUMsR0FBRyxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUM7UUFDMUMsT0FBTyxNQUFNLENBQUMsVUFBVSxFQUFFLENBQUM7SUFDN0IsQ0FBQztJQUVELE9BQU8sR0FBRyxPQUFPLElBQUksRUFBRSxDQUFDO0lBRXhCLE1BQU0sSUFBSSxHQUFHLE9BQU8sQ0FBQyxNQUFNLElBQUksQ0FBQyxPQUFPLENBQUMsR0FBRyxJQUFJLEdBQUcsQ0FBQyxFQUFFLENBQUM7SUFHdEQsSUFBSSxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxHQUFHLElBQUksQ0FBQyxHQUFHLElBQUksQ0FBQztJQUNsQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEdBQUcsSUFBSSxDQUFDLEdBQUcsSUFBSSxDQUFDO0lBR2xDLElBQUksR0FBRyxFQUFFLENBQUM7UUFDUixNQUFNLEdBQUcsTUFBTSxJQUFJLENBQUMsQ0FBQztRQUVyQixLQUFLLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsRUFBRSxFQUFFLEVBQUUsQ0FBQyxFQUFFLENBQUM7WUFDNUIsR0FBRyxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsR0FBRyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDNUIsQ0FBQztRQUVELE9BQU8sR0FBRyxDQUFDO0lBQ2IsQ0FBQztJQUVELE9BQU8sZUFBZSxDQUFDLElBQUksQ0FBQyxDQUFDO0FBQy9CLENBQUM7QUFFRCxlQUFlLEVBQUUsQ0FBQyJ9"],"names":["adapters","logger","console","undefined","WebSocket","log","messages","this","enabled","push","Date","now","getTime","secondsSince","time","ConnectionMonitor","constructor","connection","visibilityDidChange","bind","reconnectAttempts","start","isRunning","startedAt","stoppedAt","startPolling","addEventListener","staleThreshold","stop","stopPolling","removeEventListener","recordMessage","pingedAt","recordConnect","disconnectedAt","recordDisconnect","poll","clearTimeout","pollTimeout","setTimeout","reconnectIfStale","getPollInterval","reconnectionBackoffRate","Math","pow","min","random","connectionIsStale","refreshedAt","disconnectedRecently","reopen","document","visibilityState","isOpen","INTERNAL","message_types","welcome","disconnect","ping","confirmation","rejection","disconnect_reasons","unauthorized","invalid_request","server_restart","remote","default_mount_path","protocols","supportedProtocols","slice","length","indexOf","Connection","consumer","open","subscriptions","monitor","disconnected","send","data","webSocket","JSON","stringify","isActive","getState","socketProtocols","subprotocols","uninstallEventHandlers","url","installEventHandlers","close","allowReconnect","error","reopenDelay","getProtocol","protocol","isState","triedToReconnect","isProtocolSupported","call","states","state","readyState","toLowerCase","eventName","events","handler","prototype","message","event","identifier","reason","reconnect","type","parse","reconnectAttempted","reload","confirmSubscription","notify","reconnected","reject","notifyAll","willAttemptReconnect","Subscription","params","mixin","object","properties","key","value","extend","perform","action","command","unsubscribe","remove","SubscriptionGuarantor","pendingSubscriptions","guarantee","subscription","startGuaranteeing","forget","filter","s","stopGuaranteeing","retrySubscribing","retryTimeout","subscribe","map","Subscriptions","guarantor","create","channelName","channel","add","ensureActiveConnection","findAll","sendCommand","callbackName","args","Consumer","_url","test","a","createElement","href","replace","createWebSocketURL","connect","addSubProtocol","subprotocol","createConsumer","name","element","head","querySelector","getAttribute","getConfig","hue2rgb","p","q","t","hslToRgb","h","l","r","g","b","round","NUMBER","PERCENTAGE","join","callWithSlashSeparator","commaSeparatedCall","cachedMatchers","parse255","str","int","parseInt","parse360","parseFloat","parse1","num","parsePercentage","module","exports","color","matchers","rgb","RegExp","rgba","hsl","hsla","hwb","hex3","hex4","hex6","hex8","getMatchers","match","exec","colorFromKeyword","normalizeKeyword","w","gray","red","green","blue","hwbToRgb","BaseComponent","_ShapeComponent","_this","_classCallCheck","_len","arguments","Array","_key","_callSuper","concat","fetchingObject","props","shape","tt","_inherits","ShapeComponent","useRouter","useShape","findRouteParams","useCallback","routeDefinition","_step","result","_iterator","_createForOfIteratorHelper","path","split","n","done","part","err","e","f","getPath","window","location","pathname","getRouteDefinitions","routeDefinitions","config","getRoutes","routes","parseRouteDefinitions","_step2","Locales","require","regex","parsedRouteDefinitions","_iterator2","availableLocales","_step3","locale","_iterator3","routePathName","inflection","camelize","Error","Object","keys","routePath","apply","_toConsumableArray","groups","pathRegexString","escapeStringRegexp","variableName","pathRegex","useMemo","updateMeta","matchingRoute","_step4","_iterator4","m","parsedRouteDefinition","matched","groupKey","Number","findMatchingRoute","propTypes","PropTypes","memo","shapeComponent","_ApiMakerRouter","_BaseComponent","ApiMakerRouter","_this$props","notFoundComponent","requireComponent","NotFoundComponent","React","Suspense","fallback","Component","propTypesExact","history","isRequired","_NotificationsNotification","NotificationsNotification","onRemovedClicked","notification","className","title","style","width","maxWidth","marginBottom","padding","borderRadius","cursor","border","background","Pressable","dataSet","class","classNames","onPress","View","Text","fontWeight","PropTypesExact","FlashNotificationsContainer","onPushNotification","detail","digg","count","removeNotification","setState","notifications","useStates","useEventListener","_this2","position","zIndex","top","right","Notification","configuration","HayaSelectConfiguration","_bodyPortal","newBodyPortal","iconSet","createIconSet","glyphMap","Button","getImageSource","getImageSourceSync","ensureNativeModuleAvailable","NativeIconAPI","TYPE_VALUE","TYPE_ERROR","styles","StyleSheet","container","flexDirection","justifyContent","alignItems","touchable","overflow","icon","marginRight","text","backgroundColor","IOS7_BLUE","TEXT_PROP_NAMES","TOUCHABLE_PROP_NAMES","createIconButtonComponent","Icon","_IconButton","_PureComponent","IconButton","iconStyle","children","restProps","_objectWithoutProperties","_excluded","iconProps","pick","touchableProps","omit","colorStyle","blockStyle","TouchableHighlight","assign","selectable","PureComponent","defaultProps","size","_regeneratorRuntime","hasOwnProperty","o","defineProperty","i","Symbol","iterator","c","asyncIterator","u","toStringTag","define","enumerable","configurable","writable","wrap","Generator","Context","makeInvokeMethod","tryCatch","arg","y","GeneratorFunction","GeneratorFunctionPrototype","d","getPrototypeOf","v","values","defineIteratorMethods","forEach","_invoke","AsyncIterator","invoke","resolve","__await","then","callInvokeWithMethodAndArg","method","delegate","maybeInvokeDelegate","sent","_sent","dispatchException","abrupt","TypeError","resultName","next","nextLoc","pushTryEntry","tryLoc","catchLoc","finallyLoc","afterLoc","tryEntries","resetTryEntry","completion","reset","isNaN","displayName","isGeneratorFunction","mark","setPrototypeOf","__proto__","awrap","async","Promise","reverse","pop","prev","charAt","rval","handle","complete","finish","delegateYield","asyncGeneratorStep","_asyncToGenerator","_next","_throw","_defineProperties","_toPropertyKey","toPrimitive","String","_toPrimitive","_getPrototypeOf","ReferenceError","_assertThisInitialized","_possibleConstructorReturn","_isNativeReflectConstruct","Reflect","construct","Boolean","valueOf","_setPrototypeOf","DEFAULT_ICON_SIZE","DEFAULT_ICON_COLOR","fontFamily","fontFile","fontStyle","fontBasename","fontReference","Platform","windows","android","web","default","includes","_objectWithoutPropertiesLoose","getOwnPropertySymbols","propertyIsEnumerable","glyph","fromCodePoint","styleDefaults","fontSize","styleOverrides","allowFontScaling","cache","imageSourceCache","Map","setValue","set","setError","has","get","_cache$get","resolveGlyph","_getImageSource","_callee","processedColor","cacheKey","imagePath","_args","_context","processColor","getImageForFont","uri","scale","PixelRatio","t0","_loadFont","_callee2","file","_args2","_context2","loadFontWithFileName","_x","getImageForFontSync","loadFont","hasIcon","getRawGlyphMap","getFontFamily","obj","flat","reduce","acc","_len2","keysToOmit","_key2","keysToOmitSet","Set","getOwnPropertyNames","GetIntrinsic","callBind","$indexOf","allowMissing","intrinsic","setFunctionLength","$TypeError","$apply","$call","$reflectApply","$defineProperty","$max","originalFunction","func","applyBind","toStr","toString","max","concatty","arr","j","that","target","bound","arrLike","offset","slicy","boundLength","boundArgs","Function","joiner","joiny","Empty","implementation","clone","typeOf","isPlainObject","cloneDeep","val","instanceClone","res","cloneObjectDeep","cloneArrayDeep","isObject","isObjectObject","ctor","prot","_typeof","isArray","_arrayLikeToArray","_arrayWithoutHoles","iter","from","_iterableToArray","minLen","_unsupportedIterableToArray","_nonIterableSpread","len","arr2","filterUniqueArray","index","lastIndexOf","assignStyle","base","property","baseValue","DASH","MS","toUpper","toUpperCase","camelCaseProperty","camelProp","hyphenateProperty","cssifyDeclaration","cssifyObject","css","RE","isPrefixedProperty","isPrefixedValue","unitlessProperties","borderImageOutset","borderImageSlice","borderImageWidth","lineHeight","opacity","orphans","tabSize","widows","zoom","fillOpacity","floodOpacity","stopOpacity","strokeDasharray","strokeDashoffset","strokeMiterlimit","strokeOpacity","strokeWidth","prefixedUnitlessProperties","prefixes","getPrefixedProperty","prefix","jLen","_property","isUnitlessProperty","unprefixProperty","propertyWithoutPrefix","normalizeProperty","resolveArrayValue","unprefixValue","_hyphenateStyleName2","_hyphenateStyleName","__esModule","$SyntaxError","gopd","nonEnumerable","nonWritable","nonConfigurable","loose","desc","hasSymbols","defineDataProperty","supportsDescriptors","predicate","fn","defineProperties","predicates","SyntaxError","$Function","getEvalledConstructor","expressionSyntax","$gOPD","getOwnPropertyDescriptor","throwTypeError","ThrowTypeError","calleeThrows","gOPDthrows","getProto","x","needsEval","TypedArray","Uint8Array","INTRINSICS","AggregateError","ArrayBuffer","Atomics","BigInt","DataView","decodeURI","decodeURIComponent","encodeURI","encodeURIComponent","eval","EvalError","Float32Array","Float64Array","FinalizationRegistry","Int8Array","Int16Array","Int32Array","isFinite","Proxy","RangeError","SharedArrayBuffer","Uint8ClampedArray","Uint16Array","Uint32Array","URIError","WeakMap","WeakRef","WeakSet","doEval","gen","LEGACY_ALIASES","hasOwn","$concat","$spliceApply","splice","$replace","$strSlice","$exec","rePropName","reEscapeChar","getBaseIntrinsic","alias","intrinsicName","parts","string","first","last","number","quote","subString","stringToPath","intrinsicBaseName","intrinsicRealName","skipFurtherCaching","isOwn","hasPropertyDescriptors","hasArrayLengthDefineBug","hasToStringTag","overrideIfSet","force","ReflectOwnKeys","R","ReflectApply","receiver","ownKeys","NumberIsNaN","EventEmitter","init","once","emitter","errorListener","removeListener","resolver","eventTargetAgnosticAddListener","flags","on","addErrorHandlerIfEventEmitter","_events","_eventsCount","_maxListeners","defaultMaxListeners","checkListener","listener","_getMaxListeners","_addListener","prepend","existing","warning","newListener","emit","unshift","warned","warn","onceWrapper","fired","wrapFn","_onceWrap","wrapped","_listeners","unwrap","evlistener","ret","unwrapListeners","arrayClone","listenerCount","copy","wrapListener","setMaxListeners","getMaxListeners","doError","er","context","listeners","addListener","prependListener","prependOnceListener","list","originalListener","shift","spliceOne","off","removeAllListeners","rawListeners","eventNames","makeEmptyFunction","emptyFunction","thatReturns","thatReturnsFalse","thatReturnsTrue","thatReturnsNull","thatReturnsThis","thatReturnsArgument","validateFormat","format","condition","argIndex","framesToPop","$Error","$EvalError","$RangeError","$ReferenceError","$URIError","hasProto","BigInt64Array","BigUint64Array","errorProto","foo","$Object","self","getPolyfill","shim","polyfill","getGlobal","origDefineProperty","descriptor","globalThis","origSymbol","hasSymbolSham","sym","symObj","syms","$hasOwn","Action","readOnly","BeforeUnloadEventType","PopStateEventType","createBrowserHistory","options","_options$window","defaultView","globalHistory","getIndexAndLocation","_window$location","search","hash","idx","usr","blockedPopTx","blockers","nextAction","Pop","_getIndexAndLocation","nextIndex","nextLocation","delta","retry","go","applyTx","_getIndexAndLocation2","createEvents","createHref","to","createPath","getNextLocation","parsePath","createKey","getHistoryStateAndUrl","allowTx","_getIndexAndLocation3","replaceState","Push","_getHistoryStateAndUr","historyState","pushState","Replace","_getHistoryStateAndUr2","back","forward","listen","block","blocker","unblock","promptBeforeUnload","preventDefault","returnValue","handlers","substr","_ref","_ref$pathname","_ref$search","_ref$hash","parsedPath","hashIndex","searchIndex","uppercasePattern","msPattern","toHyphenLower","hName","uncountable_words","plural","men","people","tia","analyses","drives","hives","curves","lrves","aves","foves","movies","aeiouyies","series","xes","mice","buses","oes","shoes","crises","octopuses","aliases","summonses","oxen","matrices","vertices","feet","teeth","geese","quizzes","whereases","criteria","genera","ss","singular","man","person","child","drive","ox","axis","octopus","summons","bus","buffalo","tium","sis","ffe","hive","aeiouyy","matrix","vertex","mouse","foot","tooth","goose","quiz","whereas","criterion","genus","common","plural_rules","singular_rules","non_titlecased_words","id_suffix","underbar","space_or_underbar","uppercase","underbar_prefix","inflector","_apply_rules","rules","skip","override","item","from_index","compare_func","pluralize","singularize","inflect","low_first_letter","str_arr","k","str_path","substring","underscore","all_upper_case","humanize","capitalize","dasherize","titleize","demodulize","tableize","classify","foreign_key","drop_id_ubar","ordinalize","ltd","ld","suf","transform","prefixMap","plugins","_isObject2","combinedValue","processedValue","_prefixValue2","_addNewValuesOnly2","_processedValue","_prefixProperty2","_interopRequireDefault","_cssInJsUtils","CROSS_FADE_REGEX","grab","grabbing","FILTER_REGEX","_isPrefixedValue2","_isPrefixedValue","alternativeProps","alternativePropList","marginBlockStart","marginBlockEnd","marginInlineStart","marginInlineEnd","paddingBlockStart","paddingBlockEnd","paddingInlineStart","paddingInlineEnd","borderBlockStart","borderBlockStartColor","borderBlockStartStyle","borderBlockStartWidth","borderBlockEnd","borderBlockEndColor","borderBlockEndStyle","borderBlockEndWidth","borderInlineStart","borderInlineStartColor","borderInlineStartStyle","borderInlineStartWidth","borderInlineEnd","borderInlineEndColor","borderInlineEndStyle","borderInlineEndWidth","maxHeight","height","columnWidth","minWidth","minHeight","propertyPrefixMap","outputValue","multipleValues","singleValue","dashCaseProperty","_hyphenateProperty2","pLen","prefixMapping","prefixValue","webkitOutput","mozOutput","_capitalizeString2","transition","transitionProperty","WebkitTransition","WebkitTransitionProperty","MozTransition","MozTransitionProperty","Webkit","Moz","ms","addIfNew","prefixProperties","requiredPrefixes","capitalizedProperty","prefixedProperty","_capitalizeString","metaData","currencies","currency","isFunction","isString","isInt","assertSameCurrency","left","assertType","other","Money","assertOperand","operand","amount","code","freeze","fromInteger","fromDecimal","rounder","decimal_digits","resultAmount","equals","subtract","multiply","multiplier","divide","divisor","allocate","ratios","remainder","results","total","ratio","share","floor","compare","greaterThan","greaterThanOrEqual","lessThan","lessThanOrEqual","isZero","isPositive","isNegative","toDecimal","toFixed","toJSON","getAmount","getCurrency","ctorName","isGeneratorFn","isBuffer","callee","isArguments","toDateString","getDate","setDate","isDate","stackTraceLimit","isError","ignoreCase","multiline","global","isRegexp","throw","return","isGeneratorObj","thisArg","baseTimes","isIndex","isTypedArray","inherited","isArr","isArg","isBuff","isType","skipIndexes","baseAssignValue","eq","objValue","getRawTag","objectToString","symToStringTag","baseGetTag","isObjectLike","isMasked","toSource","reIsHostCtor","funcProto","objectProto","funcToString","reIsNative","isLength","typedArrayTags","isPrototype","nativeKeysIn","isProto","identity","overRest","setToString","constant","baseSetToString","iteratee","assignValue","source","customizer","isNew","newValue","coreJsData","baseRest","isIterateeCall","assigner","sources","guard","getNative","freeGlobal","baseIsNative","getValue","getPrototype","overArg","nativeObjectToString","tag","unmasked","reIsUint","isArrayLike","uid","maskSrcKey","IE_PROTO","Ctor","freeExports","nodeType","freeModule","freeProcess","process","nodeUtil","types","binding","nativeMax","array","otherArgs","freeSelf","root","shortOut","nativeNow","lastCalled","stamp","remaining","copyObject","createAssigner","keysIn","assignIn","baseIsArguments","stubFalse","Buffer","isNumber","objectCtorString","proto","baseIsTypedArray","baseUnary","nodeIsTypedArray","arrayLikeKeys","baseKeysIn","nullthrows","keysShim","isArgs","isEnumerable","hasDontEnumBug","hasProtoEnumBug","dontEnums","equalsConstructorPrototype","excludedKeys","$applicationCache","$console","$external","$frame","$frameElement","$frames","$innerHeight","$innerWidth","$onmozfullscreenchange","$onmozfullscreenerror","$outerHeight","$outerWidth","$pageXOffset","$pageYOffset","$parent","$scrollLeft","$scrollTop","$scrollX","$scrollY","$self","$webkitIndexedDB","$webkitStorageInfo","$window","hasAutomationEqualityBug","theKeys","skipProto","skipConstructor","equalsConstructorPrototypeIfNotBuggy","origKeys","originalKeys","keysWorksWithArguments","isUndefined","isBlob","isReactNative","initCfg","serialize","cfg","fd","pre","FormData","indices","nullsAsUndefineds","booleansAsIntegers","allowEmptyArrays","noFilesWithArrayNotation","dotsForObjectNotation","getParts","append","isBoolean","lastModifiedDate","lastModified","isFile","prop","toISOString","objectKeys","callBound","toObject","$push","$propIsEnumerable","originalGetSymbols","source1","getSymbols","nextKey","propValue","letters","actual","lacksProperEnumerationOrder","preventExtensions","thrower","assignHasPendingExceptions","walk","ValueParser","nodes","cb","bubble","unit","openParentheses","charCodeAt","closeParentheses","singleQuote","doubleQuote","backslash","slash","comma","colon","star","uLower","uUpper","plus","isUnicodeRange","input","token","escape","escapePos","whitespacePos","parenthesesOpenPos","parent","tokens","pos","stack","balanced","before","after","sourceEndIndex","sourceIndex","unclosed","stringifyNode","node","custom","buf","customResult","minus","dot","exp","EXP","nextCode","nextNextCode","likeNumber","specialProperty","semaphore","forbidden","_","componentName","unknownProps","ReactPropTypesSecret","emptyFunctionWithReset","resetWarningCache","propName","propFullName","secret","getShim","ReactPropTypes","bigint","bool","symbol","any","arrayOf","elementType","instanceOf","objectOf","oneOf","oneOfType","exact","checkPropTypes","percentTwenties","Format","formatters","RFC1738","RFC3986","formats","utils","defaults","allowDots","allowPrototypes","allowSparse","arrayLimit","charset","charsetSentinel","decoder","decode","delimiter","depth","ignoreQueryPrefix","interpretNumericEntities","parameterLimit","parseArrays","plainObjects","strictNullHandling","$0","numberStr","fromCharCode","parseArrayValue","parseKeys","givenKey","valuesParsed","segment","chain","leaf","cleanRoot","parseObject","opts","isRegExp","normalizeParseOptions","tempObj","cleanStr","limit","Infinity","skipIndex","bracketEqualsPos","maybeMap","encodedVal","combine","parseValues","newObj","merge","compact","getSideChannel","arrayPrefixGenerators","brackets","repeat","pushToArray","valueOrArray","toISO","defaultFormat","addQueryPrefix","encode","encoder","encodeValuesOnly","formatter","serializeDate","date","skipNulls","sentinel","generateArrayPrefix","commaRoundTrip","sort","sideChannel","tmpSc","step","findFlag","keyValue","valuesArray","valuesJoined","objKeys","adjustedPrefix","keyPrefix","valueSideChannel","normalizeStringifyOptions","arrayFormat","joined","hexTable","arrayToObject","queue","refs","compacted","compactQueue","strWithoutPlus","unescape","defaultEncoder","kind","out","mapped","mergeTarget","targetItem","aa","ca","da","ea","fa","ha","ia","ja","ka","la","ma","acceptsBooleans","attributeName","attributeNamespace","mustUseProperty","propertyName","sanitizeURL","removeEmptyString","z","ra","sa","ta","pa","qa","oa","removeAttribute","setAttribute","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","A","Ma","trim","Na","Oa","prepareStackTrace","Pa","render","Qa","$$typeof","_payload","_init","Ra","Sa","Ta","nodeName","Va","_valueTracker","stopTracking","Ua","Wa","checked","Xa","activeElement","body","Ya","defaultChecked","defaultValue","_wrapperState","initialChecked","Za","initialValue","controlled","ab","bb","db","ownerDocument","eb","fb","selected","defaultSelected","disabled","gb","dangerouslySetInnerHTML","hb","ib","jb","textContent","kb","lb","mb","nb","namespaceURI","innerHTML","firstChild","removeChild","appendChild","MSApp","execUnsafeLocalFunction","ob","lastChild","nodeValue","pb","animationIterationCount","aspectRatio","boxFlex","boxFlexGroup","boxOrdinalGroup","columnCount","columns","flex","flexGrow","flexPositive","flexShrink","flexNegative","flexOrder","gridArea","gridRow","gridRowEnd","gridRowSpan","gridRowStart","gridColumn","gridColumnEnd","gridColumnSpan","gridColumnStart","lineClamp","order","qb","rb","sb","setProperty","tb","menuitem","area","br","col","embed","hr","img","keygen","link","meta","param","track","wbr","ub","vb","is","wb","xb","srcElement","correspondingUseElement","parentNode","yb","zb","Ab","Bb","Cb","stateNode","Db","Eb","Fb","Gb","Hb","Ib","Jb","Kb","Lb","Mb","Nb","onError","Ob","Pb","Qb","Rb","Sb","Tb","Vb","alternate","Wb","memoizedState","dehydrated","Xb","Zb","sibling","current","Yb","$b","ac","unstable_scheduleCallback","bc","unstable_cancelCallback","cc","unstable_shouldYield","dc","unstable_requestPaint","B","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","C","Dc","Ec","Fc","Gc","Hc","Ic","Jc","Kc","Lc","Mc","Nc","Oc","Pc","Qc","Rc","Sc","delete","pointerId","Tc","nativeEvent","blockedOn","domEventName","eventSystemFlags","targetContainers","Vc","Wc","priority","isDehydrated","containerInfo","Xc","Yc","dispatchEvent","Zc","$c","ad","bd","cd","ReactCurrentBatchConfig","dd","ed","gd","hd","id","Uc","stopPropagation","jd","kd","md","nd","od","keyCode","charCode","pd","qd","rd","_reactName","_targetInst","currentTarget","isDefaultPrevented","defaultPrevented","isPropagationStopped","cancelBubble","persist","isPersistent","wd","xd","yd","sd","eventPhase","bubbles","cancelable","timeStamp","isTrusted","td","ud","view","vd","Ad","screenX","screenY","clientX","clientY","pageX","pageY","ctrlKey","shiftKey","altKey","metaKey","getModifierState","zd","button","buttons","relatedTarget","fromElement","toElement","movementX","movementY","Bd","Dd","dataTransfer","Fd","Hd","animationName","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","which","Rd","Td","pressure","tangentialPressure","tiltX","tiltY","twist","pointerType","isPrimary","Vd","touches","targetTouches","changedTouches","Xd","Yd","deltaX","wheelDeltaX","deltaY","wheelDeltaY","wheelDelta","deltaZ","deltaMode","Zd","$d","ae","be","documentMode","ce","de","ee","fe","ge","he","ie","le","datetime","email","month","password","range","tel","week","me","ne","oe","pe","qe","re","se","te","ue","ve","we","xe","ye","ze","oninput","Ae","detachEvent","Be","Ce","attachEvent","De","Ee","Fe","He","Ie","Je","Ke","nextSibling","Le","contains","compareDocumentPosition","Me","HTMLIFrameElement","contentWindow","Ne","contentEditable","Oe","focusedElem","selectionRange","documentElement","end","selectionStart","selectionEnd","getSelection","rangeCount","anchorNode","anchorOffset","focusNode","focusOffset","createRange","setStart","removeAllRanges","addRange","setEnd","scrollLeft","scrollTop","focus","Pe","Qe","Re","Se","Te","Ue","Ve","We","animationend","animationiteration","animationstart","transitionend","Xe","Ye","Ze","animation","$e","af","bf","cf","df","ef","ff","gf","hf","lf","mf","nf","Ub","instance","D","of","pf","qf","rf","sf","capture","passive","J","F","tf","uf","parentWindow","vf","wf","na","xa","$a","ba","je","char","ke","xf","yf","zf","Af","Bf","Cf","Df","Ef","__html","Ff","Gf","Hf","Jf","queueMicrotask","catch","If","Kf","Lf","Mf","previousSibling","Nf","Of","Pf","Qf","Rf","Sf","Tf","Uf","E","G","Vf","H","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","I","zg","Ag","Bg","deletions","Cg","pendingProps","treeContext","retryLane","Dg","mode","Eg","Fg","Gg","memoizedProps","Hg","Ig","Jg","Kg","Lg","ref","_owner","_stringRef","Mg","Ng","Og","Pg","Qg","Rg","Sg","Tg","Ug","Vg","Wg","Xg","Yg","Zg","$g","ah","_currentValue","bh","childLanes","ch","dependencies","firstContext","lanes","dh","eh","memoizedValue","fh","gh","hh","interleaved","ih","jh","kh","updateQueue","baseState","firstBaseUpdate","lastBaseUpdate","shared","pending","effects","lh","mh","eventTime","lane","payload","callback","nh","K","oh","ph","qh","rh","sh","th","uh","vh","wh","xh","yh","tagName","zh","Ah","Bh","L","Ch","revealOrder","Dh","Eh","_workInProgressVersionPrimary","Fh","ReactCurrentDispatcher","Gh","Hh","M","N","O","Ih","Jh","Kh","Lh","P","Mh","Nh","Oh","Ph","Qh","Rh","Sh","Th","baseQueue","Uh","Vh","Wh","lastRenderedReducer","hasEagerState","eagerState","lastRenderedState","dispatch","Xh","Yh","Zh","$h","ai","getSnapshot","bi","ci","Q","di","lastEffect","stores","ei","fi","gi","hi","ii","destroy","deps","ji","ki","li","mi","ni","oi","pi","qi","ri","si","ti","ui","vi","wi","xi","yi","zi","Ai","Bi","readContext","useContext","useEffect","useImperativeHandle","useInsertionEffect","useLayoutEffect","useReducer","useRef","useState","useDebugValue","useDeferredValue","useTransition","useMutableSource","useSyncExternalStore","useId","unstable_isNewReconciler","identifierPrefix","Ci","Di","Ei","isMounted","_reactInternals","enqueueSetState","enqueueReplaceState","enqueueForceUpdate","Fi","shouldComponentUpdate","isPureReactComponent","Gi","contextType","updater","Hi","componentWillReceiveProps","UNSAFE_componentWillReceiveProps","Ii","getDerivedStateFromProps","getSnapshotBeforeUpdate","UNSAFE_componentWillMount","componentWillMount","componentDidMount","Ji","digest","Ki","Li","Mi","Ni","Oi","Pi","Qi","getDerivedStateFromError","componentDidCatch","Ri","componentStack","Si","pingCache","Ti","Ui","Vi","Wi","ReactCurrentOwner","Xi","Yi","Zi","$i","aj","bj","cj","dj","baseLanes","cachePool","transitions","ej","fj","gj","hj","ij","UNSAFE_componentWillUpdate","componentWillUpdate","componentDidUpdate","jj","kj","pendingContext","lj","zj","Aj","Bj","Cj","mj","nj","oj","pj","qj","sj","dataset","dgst","tj","uj","_reactRetry","rj","subtreeFlags","vj","wj","isBackwards","rendering","renderingStartTime","tail","tailMode","xj","Dj","S","Ej","Fj","wasMultiple","multiple","suppressHydrationWarning","onClick","onclick","createElementNS","autoFocus","createTextNode","T","Gj","Hj","Ij","Jj","U","Kj","V","Lj","W","Mj","Nj","Pj","Qj","Rj","Sj","Tj","Uj","Vj","insertBefore","_reactRootContainer","Wj","X","Xj","Yj","Zj","onCommitFiberUnmount","componentWillUnmount","ak","bk","ck","dk","ek","isHidden","fk","gk","display","hk","ik","jk","kk","__reactInternalSnapshotBeforeUpdate","src","Vk","lk","ceil","mk","nk","ok","Y","Z","pk","qk","rk","sk","tk","uk","vk","wk","xk","yk","zk","Ak","Bk","Ck","Dk","callbackNode","expirationTimes","expiredLanes","wc","callbackPriority","ig","Ek","Fk","Gk","Hk","Ik","Jk","Kk","Lk","Mk","Nk","Ok","finishedWork","finishedLanes","Pk","timeoutHandle","Qk","Rk","Sk","Tk","Uk","mutableReadLanes","Bc","Oj","onCommitFiberRoot","mc","onRecoverableError","Wk","onPostCommitFiberRoot","Xk","Yk","$k","isReactComponent","pendingChildren","al","mutableSourceEagerHydrationData","bl","pendingSuspenseBoundaries","dl","el","fl","gl","hl","il","yj","Zk","kl","reportError","ll","_internalRoot","ml","nl","ol","pl","rl","ql","unmount","unstable_scheduleHydration","querySelectorAll","form","sl","usingClientEntryPoint","Events","tl","findFiberByHostInstance","bundleType","version","rendererPackageName","ul","rendererConfig","overrideHookState","overrideHookStateDeletePath","overrideHookStateRenamePath","overrideProps","overridePropsDeletePath","overridePropsRenamePath","setErrorHandler","setSuspenseHandler","scheduleUpdate","currentDispatcherRef","findHostInstanceByFiber","findHostInstancesForRefresh","scheduleRefresh","scheduleRoot","setRefreshHandler","getCurrentFiber","reconcilerVersion","__REACT_DEVTOOLS_GLOBAL_HOOK__","vl","isDisabled","supportsFiber","inject","createPortal","cl","createRoot","unstable_strictMode","findDOMNode","flushSync","hydrate","hydrateRoot","hydratedSources","_getVersion","_source","unmountComponentAtNode","unstable_batchedUpdates","unstable_renderSubtreeIntoContainer","checkDCE","_invariant","_canUseDom","dimensions","fontScale","screen","shouldInit","update","win","visualViewport","docEl","clientHeight","clientWidth","devicePixelRatio","handleResize","dimension","initialDimensions","_handler","_interopRequireWildcard","_StyleSheet","_createElement","getAnimationStyle","animationType","visible","animatedSlideInStyles","animatedSlideOutStyles","animatedFadeInStyles","animatedFadeOutStyles","hidden","bottom","animatedIn","animationDuration","ANIMATION_DURATION","animationTimingFunction","animatedOut","pointerEvents","fadeIn","animationKeyframes","fadeOut","slideIn","slideOut","onDismiss","onShow","_React$useState","isRendering","setIsRendering","wasVisible","wasRendering","isAnimated","animationEndCallback","onAnimationEnd","_extends2","_objectWithoutPropertiesLoose2","_View","ModalContent","forwardRef","forwardedRef","active","onRequestClose","transparent","rest","closeOnEscape","modal","modalTransparent","modalOpaque","role","_UIManager","FocusBracket","tabIndex","focusBracket","attemptFocus","focusFirstDescendant","childNodes","focusLastDescendant","trapElementRef","focusRef","trapFocusInProgress","lastFocusedElement","trapFocus","Node","hasFocused","lastFocusedElementOutsideTrap","Fragment","outlineStyle","_reactDom","elementRef","_ModalPortal","_ModalAnimation","_ModalContent","_ModalFocusTrap","uniqueModalIdentifier","activeModalStack","activeModalListeners","notifyActiveModalListeners","activeModalId","modalId","removeActiveModal","Modal","_props$visible","setIsActive","onDismissCallback","onShowCallback","addActiveModal","_Dimensions","getFontScale","getPixelSizeForLayoutSize","layoutSize","roundToNearestPixel","OS","select","isTesting","_react","_useMergeRefs","_useHover","_usePressEvents","delayLongPress","delayPressIn","delayPressOut","onBlur","onContextMenu","onFocus","onHoverIn","onHoverOut","onKeyDown","onLongPress","onPressMove","onPressIn","onPressOut","testOnly_hovered","testOnly_pressed","_useForceableState","useForceableState","hovered","setHovered","_useForceableState2","focused","setFocused","_useForceableState3","pressed","setPressed","hostRef","setRef","pressConfig","delayPressStart","delayPressEnd","onPressChange","onPressStart","onPressEnd","pressEventHandlers","onContextMenuPress","onKeyDownPress","contain","onHoverChange","onHoverStart","onHoverEnd","_tabIndex","interactionState","blurHandler","focusHandler","contextMenuHandler","keyDownHandler","forced","_useState","touchAction","MemoedPressable","_normalizeValueWithProperty","emptyObject","supportsCSS3TextDecoration","CSS","supports","SYSTEM_FONT_STACK","STYLE_SHORT_FORM_EXPANSIONS","borderColor","borderBlockColor","borderInlineColor","borderStyle","borderBlockStyle","borderInlineStyle","borderWidth","borderBlockWidth","borderInlineWidth","insetBlock","insetInline","marginBlock","marginInline","paddingBlock","paddingInline","overscrollBehavior","borderEndStartRadius","borderEndEndRadius","borderStartStartRadius","borderStartEndRadius","insetBlockEnd","insetBlockStart","isInline","resolvedStyle","_loop","backgroundClip","WebkitBackgroundClip","flexBasis","textDecorationLine","textDecoration","direction","_value","longFormProperties","marginLeft","marginTop","paddingLeft","paddingRight","paddingTop","paddingBottom","longForm","seed","murmurhash2_32_gc","atomic","compiledStyle","$$css","compiledRules","atomicCompile","srcProp","valueString","stringifyValueWithProperty","cachedResult","createIdentifier","customGroup","atomicGroup","selector","_processKeyframesValu2","processKeyframesValue","animationNames","keyframesRules","createDeclarationBlock","_block","finalValue","_block2","_block3","_block4","_block5","scrollbarWidth","_block6","createAtomicRules","orderedRules","localizeableValue","PROPERTIES_VALUE","_left","_right","propPolyfill","PROPERTIES_I18N","ltr","rtl","PROPERTIES_FLIP","polyfillIndices","ltrPolyfillValues","rtlPolyfillValues","ltrVal","ltrPolyfill","rtlPolyfill","_ltr","_rtl","classic","_processKeyframesValu","_objectSpread2","classicGroup","inline","originalStyle","isRTL","frozenProps","nextStyle","originalValue","originalProp","originalValues","valuePolyfill","_createReactDOMStyle","_hash","_prefixStyles","inset","margin","insetInlineEnd","insetInlineStart","borderTopLeftRadius","borderTopRightRadius","borderBottomLeftRadius","borderBottomRightRadius","borderLeftColor","borderLeftStyle","borderLeftWidth","borderRightColor","borderRightStyle","borderRightWidth","normalizedValue","domStyle","keyframesValue","keyframes","_createKeyframes","steps","stepName","createKeyframes","_isWebColor","_processColor","colorInt","_unitlessNumbers","colorProps","_normalizeColor","borderTopColor","borderBottomColor","shadowColor","textDecorationColor","textShadowColor","unitlessNumbers","gridRowGap","gridColumnGap","scaleX","scaleY","scaleZ","shadowOpacity","prefixKey","rootNode","getElementById","ShadowRoot","sheet","group","selectors","cssRules","cssRule","cssText","selectorText","groupPattern","decodeGroupRule","getSelectorText","sheetInsert","orderedGroups","getOrderedGroups","nextGroupIndex","nextGroup","isInserted","insertRule","insertRuleAt","groupNumber","previousStart","getTextContent","marker","insert","groupValue","markerRule","encodeGroupRule","selectorPattern","createSheet","defaultId","getRootNode","sheets","_createOrderedCSSStyleSheet","_createCSSStyleSheet","initialRules","rule","roots","initialSheet","_compiler","_dom","_transformLocalizeStyle","_preprocess","_styleq","staticStyleMap","defaultPreprocessOptions","shadow","textShadow","insertRules","compiledOrderedRules","absoluteFillObject","absoluteFill","compiledStyles","_atomic","styleObj","_classic","compileAndInsertReset","preprocess","writingDirection","styleProps","_options","preprocessOptions","styleq","factory","localizeStyle","customStyleq","compose","style1","style2","flatten","flatArray","getSheet","hairlineWidth","resolveRNStyle","stylesheet","createTransformValue","createTextShadowValue","createBoxShadowValue","_warnOnce","defaultOffset","shadowOffset","shadowRadius","offsetX","offsetY","blurRadius","textShadowOffset","textShadowRadius","_ref2","radius","mapTransform","PROPERTIES_STANDARD","borderBottomEndRadius","borderBottomStartRadius","borderTopEndRadius","borderTopStartRadius","borderEndColor","borderEndStyle","borderEndWidth","borderStartColor","borderStartStyle","borderStartWidth","marginEnd","marginHorizontal","marginStart","marginVertical","paddingEnd","paddingHorizontal","paddingStart","paddingVertical","ignoredProps","elevation","overlayColor","resizeMode","tintColor","warnOnce","boxShadowValue","boxShadow","textShadowValue","_value2","verticalAlign","validate","isInvalid","suggestion","invalidShortforms","invalidMultiValueShortforms","_postcssValueParser","borderBottom","borderLeft","borderRight","borderTop","font","grid","outline","backgroundPosition","TextAncestorContext","createContext","forwardedProps","_pick","_useElementLayout","_usePlatformMethods","_useResponderEvents","_TextAncestorContext","_useLocale","forwardPropsList","accessibilityProps","clickProps","focusProps","keyboardProps","mouseProps","touchProps","lang","hrefAttrs","numberOfLines","onLayout","onMoveShouldSetResponder","onMoveShouldSetResponderCapture","onResponderEnd","onResponderGrant","onResponderMove","onResponderReject","onResponderRelease","onResponderStart","onResponderTerminate","onResponderTerminationRequest","onScrollShouldSetResponder","onScrollShouldSetResponderCapture","onSelectionChangeShouldSetResponder","onSelectionChangeShouldSetResponderCapture","onStartShouldSetResponder","onStartShouldSetResponderCapture","hasTextAncestor","contextDirection","useLocaleContext","handleClick","component","langDirection","getLocaleDirection","componentDirection","dir","supportedProps","pickProps","WebkitLineClamp","textHasAncestor$raw","text$raw","textOneLine","textMultiLine","notSelectable","pressable","download","rel","platformMethodsRef","Provider","textStyle","boxSizing","listStyle","textAlign","whiteSpace","wordWrap","textOverflow","WebkitBoxOrient","userSelect","createExtraStyles","activeOpacity","underlayColor","underlay","hasPressHandler","focusable","onHideUnderlay","onShowUnderlay","rejectResponderTermination","extraStyles","setExtraStyles","showUnderlay","hideUnderlay","Children","only","accessibilityDisabled","actionable","cloneElement","MemoedTouchableHighlight","_getBoundingClientRect","_setValueForStyles","getRect","offsetHeight","offsetWidth","offsetLeft","offsetTop","offsetParent","clientLeft","clientTop","scrollY","scrollX","measureLayout","relativeToNativeNode","relativeNode","isConnected","relativeRect","_getRect","elementsToIgnore","BODY","INPUT","SELECT","TEXTAREA","UIManager","blur","isContentEditable","measure","measureInWindow","_getBoundingClientRec","onFail","onSuccess","updateView","configureNextLayoutAnimation","onAnimationDidEnd","setLayoutAnimationEnabledExperimental","onScroll","onWheel","view$raw","_AccessibilityUtil","_createDOMProps","accessibilityComponent","propsToAccessibilityComponent","domProps","LocaleProvider","_normalizeColors","int32Color","_isDisabled","_propsToAccessibilityComponent","_propsToAriaRole","AccessibilityUtil","propsToAriaRole","accessibilityStates","roleComponents","article","banner","blockquote","complementary","contentinfo","deletion","emphasis","figure","insertion","listitem","main","navigation","paragraph","region","strong","accessibilityRole","level","accessibilityLevel","accessibilityRoleToWebRole","adjustable","header","image","imagebutton","keyboardkey","label","none","summary","_role","inferredRole","canUsePassiveEvents","getOptions","compatListener","supported","supportsPassiveEvents","canUseDOM","_StyleSheet2","processIDRefList","idRefList","pointerEventsStyles","auto","_props","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","ariaLabel","accessibilityLabel","ariaLabelledBy","accessibilityLabelledBy","ariaLevel","ariaLive","accessibilityLiveRegion","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","nativeID","testID","_ariaActiveDescendant","_ariaAtomic","_ariaAutoComplete","_ariaBusy","_ariaChecked","_ariaColumnCount","_ariaColumnIndex","_ariaColumnSpan","_ariaControls","_ariaCurrent","_ariaDescribedBy","_ariaDetails","_ariaErrorMessage","_ariaExpanded","_ariaFlowTo","_ariaHasPopup","_ariaHidden","_ariaInvalid","_ariaKeyShortcuts","_ariaLabel","_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","inlineStyle","_id","onAuxClick","onGotPointerCapture","onLostPointerCapture","onPointerCancel","onPointerDown","onPointerEnter","onPointerMove","onPointerLeave","onPointerOut","onPointerOver","onPointerUp","onKeyDownCapture","onKeyUp","onKeyUpCapture","onMouseDown","onMouseEnter","onMouseLeave","onMouseMove","onMouseOver","onMouseOut","onMouseUp","onTouchCancel","onTouchCancelCapture","onTouchEnd","onTouchEndCapture","onTouchMove","onTouchMoveCapture","onTouchStart","onTouchStartCapture","getBoundingClientRect","selection","isTextNode","TEXT_NODE","addModalityListener","getActiveModality","activeModality","getModality","modality","testOnly_resetActiveModality","isEmulatingMouseEvents","KEYBOARD","previousModality","previousActiveModality","_addEventListener","MOUSE","TOUCH","CONTEXTMENU","MOUSEDOWN","MOUSEMOVE","MOUSEUP","POINTERDOWN","POINTERMOVE","SCROLL","SELECTIONCHANGE","TOUCHCANCEL","TOUCHMOVE","TOUCHSTART","bubbleOptions","captureOptions","restoreModality","callListeners","onPointerish","eventType","PointerEvent","nextObj","_createPrefixer","_static","prefixAll","_backgroundClip","_crossFade","_cursor","_filter","_imageSet","_logical","_position","_sizing","_transition","wms","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","columnSpan","backdropFilter","hyphens","flowInto","flowFrom","regionFragment","textOrientation","fontKerning","textSizeAdjust","isCustomProperty","_dangerousStyleValue","styleName","styleValue","observer","ResizeObserver","resizeObserver","entries","entry","DOM_LAYOUT_HANDLER_NAME","layout","getResizeObserver","_useLayoutEffect","observe","unobserve","targetListeners","_useStable","removeTargetListener","clear","targetRef","onHoverUpdate","canUsePE","supportsPointerEvent","addMoveListener","_useEvent","addEnterListener","addLeaveListener","addLockListener","lockEventType","addUnlockListener","unlockEventType","hoverEnd","leaveListener","getPointerType","dispatchCustomEvent","moveListener","hoverStart","lockEvent","_modality","createEvent","_ref$bubbles","_ref$cancelable","initCustomEvent","useLayoutEffectImpl","LocaleContext","_isLocaleRTL","defaultLocale","isLocaleRTL","cachedRTL","Intl","Locale","script","maximize","rtlScripts","_unused","rtlLangs","_lang","_mergeRefs","hostNode","relativeToNode","success","failure","DELAY","ERROR","LONG_PRESS_DETECTED","NOT_RESPONDER","RESPONDER_ACTIVE_LONG_PRESS_START","RESPONDER_ACTIVE_PRESS_START","RESPONDER_INACTIVE_PRESS_START","RESPONDER_RELEASE","RESPONDER_TERMINATED","Transitions","RESPONDER_GRANT","getElementRole","getElementType","isActiveSignal","signal","isButtonRole","isPressStartSignal","isValidKeyPress","isSpacebar","isButtonish","normalizeDelay","delay","getTouchFromResponderEvent","_event$nativeEvent","_eventHandlers","_isPointerTouch","_longPressDelayTimeout","_longPressDispatched","_pressDelayTimeout","_pressOutDelayTimeout","_touchState","_responderElement","configure","_config","_cancelLongPressDelayTimeout","_cancelPressDelayTimeout","_cancelPressOutDelayTimeout","getEventHandlers","_createEventHandlers","shouldDelay","_selectionTerminated","_receiveSignal","_handleLongPress","keyupHandler","isNativeInteractiveElement","isActiveElement","isSpacebarKey","touch","_touchActivatePosition","hypot","_this$_config","_this$_config2","_this$_config3","prevState","nextState","_performTransitionSideEffects","isTerminalSignal","isPrevActive","isNextActive","_activate","_deactivate","_this$_config4","_onLongPress","_this$_config5","_this$_config6","pressResponderRef","_PressResponder","pressResponder","TOUCH_START","TOUCH_MOVE","TOUCH_END","TOUCH_CANCEL","SELECTION_CHANGE","MOUSE_UP","MOUSE_MOVE","MOUSE_DOWN","MOUSE_CANCEL","FOCUS_OUT","CONTEXT_MENU","BLUR","isCancelish","isEndish","isMoveish","isScroll","isSelectionChange","isStartish","addNode","_utils","setResponderId","responderListenersMap","attachListeners","__reactResponderSystemActive","eventListener","documentEventsBubblePhase","documentEventsCapturePhase","getResponderNode","currentResponder","removeNode","terminateResponder","_createResponderEvent","_ResponderEventTypes","_ResponderTouchHistoryStore","startRegistration","moveRegistration","shouldSetResponderEvents","touchstart","mousedown","touchmove","mousemove","scroll","emptyResponder","idPath","trackedTouchCount","responderTouchHistoryStore","ResponderTouchHistoryStore","changeCurrentResponder","responder","getResponderConfig","domEvent","eventTarget","isStartEvent","isPrimaryPointerDown","isMoveEvent","isEndEvent","isScrollEvent","isSelectionChangeEvent","responderEvent","recordTouchTrack","wantsResponder","eventPaths","getResponderPaths","wasNegotiated","currentResponderIdPath","eventIdPath","lowestCommonAncestor","getLowestCommonAncestor","nodePath","shouldSetCallbacks","shouldSetCallbackCaptureName","shouldSetCallbackBubbleName","check","shouldSetCallback","_i","_result","_id2","_node2","findWantsResponder","_currentResponder2","currentId","currentNode","_getResponderConfig2","dispatchConfig","registrationName","_getResponderConfig3","allowTransfer","attemptTransfer","_currentResponder","_getResponderConfig","isTerminateEvent","hasValidSelection","isReleaseEvent","hasTargetTouches","shouldTerminate","_currentResponder3","__DEV__","MAX_TOUCH_BANK","timestampForTouch","timestamp","getTouchIdentifier","recordTouchStart","touchHistory","touchRecord","touchBank","touchActive","startPageX","startPageY","startTimeStamp","currentPageX","currentPageY","currentTimeStamp","previousPageX","previousPageY","previousTimeStamp","resetTouchRecord","createTouchRecord","mostRecentTimeStamp","printTouch","printTouchBank","printed","_touchHistory","numberActiveTouches","indexOfSingleActiveTouch","topLevelType","recordTouchMove","recordTouchEnd","touchTrackToCheck","activeRecord","rect","propagationWasStopped","domEventChangedTouches","domEventType","normalizeIdentifier","normalizeTouches","locationX","locationY","emulatedTouches","emptyArray","getInitialValue","useStable","idCounter","isAttachedRef","ResponderSystem","requiresResponderSystem","isResponder","pathA","pathB","pathALength","pathBLength","itemA","indexA","itemB","indexB","eventPath","composedPathFallback","composedPath","getEventPath","getResponderId","_isSelectionValid","isPrimaryMouseDown","isPrimaryMouseMove","noModifiers","keyName","UNINITIALIZED","isScreenReaderEnabled","prefersReducedMotionMedia","matchMedia","AccessibilityInfo","isReduceMotionEnabled","matches","fetch","setAccessibilityFocus","reactTag","announceForAccessibility","announcement","nativeEventEmitter","isLayoutAnimationEnabled","shouldEmitW3CPointerEvents","shouldPressibilityUseW3CPointerEventsForHover","animatedShouldDebounceQueueFlush","animatedShouldUseSingleOp","RN$Bridgeless","__nativeAnimatedNodeTagCount","__nativeAnimationIdCount","waitingForQueuedOperations","queueOperations","queueAndExecuteBatchedOperations","flushQueueTimeout","nativeOps","API","saveValueCallback","queueOperation","setWaitingForIdentifier","unsetWaitingForIdentifier","disableQueue","clearImmediate","setImmediate","flushQueue","createAnimatedNode","updateAnimatedNodeConfig","startListeningToAnimatedNodeValue","stopListeningToAnimatedNodeValue","connectAnimatedNodes","parentTag","childTag","disconnectAnimatedNodes","startAnimatingNode","animationId","nodeTag","endCallback","stopAnimation","setAnimatedNodeValue","setAnimatedNodeOffset","flattenAnimatedNodeOffset","extractAnimatedNodeOffset","connectAnimatedNodeToView","viewTag","disconnectAnimatedNodeFromView","restoreDefaultValues","dropAnimatedNode","addAnimatedEventToView","eventMapping","removeAnimatedEventFromView","animatedNodeTag","SUPPORTED_COLOR_STYLES","SUPPORTED_STYLES","translateX","translateY","SUPPORTED_TRANSFORMS","rotate","rotateX","rotateY","rotateZ","perspective","SUPPORTED_INTERPOLATION_PARAMS","inputRange","outputRange","extrapolate","extrapolateRight","extrapolateLeft","isSupportedStyleProp","isSupportedTransformProp","isSupportedInterpolationParam","generateNewAnimationId","_warnedMissingNativeAnimated","shouldUseNativeDriver","useNativeDriver","isSupportedColorStyleProp","addWhitelistedStyleProp","addWhitelistedTransformProp","addWhitelistedInterpolationParam","validateStyles","validateTransform","configs","validateInterpolation","_key3","generateNewNodeTag","assertNativeAnimatedModule","transformDataType","PI","NativeEventEmitter","NativeAnimatedAPI","NativeAnimatedHelper","_uniqueId","__attach","__detach","__isNative","__nativeTag","__getValue","__getAnimatedValue","__addChild","__removeChild","__getChildren","__makeNative","platformConfig","_platformConfig","hasListeners","_startListeningToNativeValueUpdates","_stopListeningForNativeValueUpdates","__nativeAnimatedValueListener","__shouldUpdateListenersForNewNativeTag","__getNativeTag","__onAnimatedValueUpdateReceived","__callListeners","_this$__nativeTag","nativeTag","__getNativeConfig","__getPlatformConfig","__setPlatformConfig","super","_children","linear","createInterpolation","colorToRgba","pattern","stringShapeRegex","checkPattern","outputRanges","interpolations","shouldRound","startsWith","createInterpolationFromStringOutputRange","checkInfiniteRange","checkValidInputRange","easing","findRange","inputMin","inputMax","outputMin","outputMax","interpolate","normalizedColor","AnimatedInterpolation","_parent","_interpolation","parentValue","__transformDataType","__createInterpolation","_startingValue","_offset","_animation","operation","_updateValue","setOffset","flattenOffset","extractOffset","resetAnimation","animate","__isInteraction","InteractionManager","createInteractionHandle","previousAnimation","clearInteractionHandle","_tracking","tracking","flush","animatedStyles","findAnimatedStyles","animatedStyle","attachNativeEvent","viewRef","argMapping","eventMappings","traverse","nativeEventPath","animatedValueTag","mapping","detach","AnimatedEvent","_argMapping","__addListener","_callListeners","_attachedEvent","__removeListener","__getHandler","recMapping","recEvt","mappingKey","_len3","_key4","transforms","_transforms","transConfigs","flattenStyle","createAnimatedStyle","inputStyle","_inputStyle","_style","_walkStyleAndGetValues","updatedStyle","_walkStyleAndGetAnimatedValues","styleConfig","styleKey","_callback","_animatedView","__disconnectAnimatedView","__connectAnimatedView","setNativeView","animatedView","nativeViewTag","__restoreDefaultValues","propsConfig","propKey","useAnimatedProps","onUpdateRef","prevNodeRef","isUnmountingRef","prevNode","useAnimatedPropsLifecycle","effect","cleanupRef","refEffect","getScrollableNode","getEventTarget","_events$_i","_propName","callbackRef","reduceAnimatedProps","collapsable","createAnimatedComponent","_useAnimatedProps","reducedProps","_refs","useMergeRefs","passthroughAnimatedPropExplicitValues","passthroughStyle","passthroughProps","mergedStyle","FlatList","scrollEventThrottle","ScrollView","SectionList","_a","_b","_min","_max","_lastValue","diff","_warnedAboutDivideByZero","modulus","_modulus","animationClass","animationConfig","_animationClass","_animationConfig","_useNativeDriver","toValue","__getNativeAnimationConfig","valueIn","jointCallback","getLayout","getTranslateTransform","startNativeAnimationNextId","fromValue","onUpdate","onEnd","animatedValue","__nativeId","__debouncedOnEnd","__onEnd","__startNativeAnimation","startNativeAnimationWaitId","_config$deceleration","_config$isInteraction","_config$iterations","_deceleration","deceleration","_velocity","velocity","isInteraction","__iterations","iterations","__active","_fromValue","_onUpdate","_startTime","_animationFrame","requestAnimationFrame","abs","finished","cancelAnimationFrame","stiffnessFromOrigamiValue","oValue","dampingFromOrigamiValue","fromOrigamiTensionAndFriction","tension","friction","stiffness","damping","fromBouncinessAndSpeed","bounciness","speed","normalize","startValue","endValue","projectNormal","bouncyTension","bouncyFriction","b3Friction2","b3Friction3","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","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","v0","zeta","sqrt","omega0","omega1","x0","envelope","sin","cos","_envelope","isOvershooting","isVelocity","isDisplacement","_easeInOut","_config$easing","_config$duration","_easing","Easing","inOut","ease","_duration","duration","frames","numFrames","frame","defaultColor","isRgbaValue","AnimatedColor","isRgbaAnimatedValue","rgbaAnimatedValue","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","singleConfig","_startNativeLoop","_isUsingNativeDriver","sequence","animations","doneCount","hasEnded","endResult","Value","ValueXY","Color","Interpolation","decay","_start3","spring","_start","modulo","diffClamp","stagger","loop","_temp","_ref$iterations","_ref$resetBeforeItera","resetBeforeIteration","isFinished","iterationsSoFar","restart","animatedEvent","forkEvent","unforkEvent","Event","inAnimationCallback","mockAnimationStart","guardedCallback","emptyAnimation","mockCompositeAnimation","anyValue","AnimatedImplementation","Animated","AnimatedMock","Image","query","listenerMapping","Appearance","getColorScheme","addChangeListener","mappedListener","colorScheme","Dimensions","NEWTON_ITERATIONS","SUBDIVISION_PRECISION","SUBDIVISION_MAX_ITERATIONS","kSampleStepSize","float32ArraySupported","aA1","aA2","calcBezier","aT","getSlope","bezier","mX1","mY1","mX2","mY2","sampleValues","getTForX","intervalStart","currentSample","kSplineTableSize","guessForT","initialSlope","_aGuessT","aGuessT","currentSlope","newtonRaphsonIterate","_aA","_aB","currentX","currentT","binarySubdivide","step0","step1","quad","cubic","poly","circle","elastic","bounce","_t","_t2","t2","x1","y1","x2","y2","deepDiffer","one","two","maxDepth","twoKey","numColumnsOrDefault","numColumns","scrollToEnd","_listRef","scrollToIndex","scrollToItem","scrollToOffset","recordInteraction","flashScrollIndicators","getScrollResponder","getNativeScrollRef","getScrollRef","_virtualizedListPairs","_captureRef","_getItem","itemIndex","_item","_getItemCount","_keyExtractor","items","_this$props$keyExtrac","keyExtractor","_renderer","ListItemComponent","renderItem","columnWrapperStyle","extraData","cols","renderProp","info","_item2","_index","row","it","separators","_memoizedRenderer","_checkProps","viewabilityConfigCallbackPairs","pair","viewabilityConfig","onViewableItemsChanged","_createOnViewableItemsChanged","prevProps","getItem","getItemCount","horizontal","_pushMultiColumnViewable","_this$props$keyExtrac2","changed","viewableItems","removeClippedSubviews","_removeClippedSubviews","_this$props$strictMod","strictMode","renderer","VirtualizedList","I18nManager","allowRTL","forceRTL","getConstants","assets","getAssetByID","assetId","dataUriPattern","ImageUriCache","_entries","lastUsedTimestamp","refCount","_cleanUpIfNeeded","leastRecentlyUsedKey","leastRecentlyUsedEntry","imageUris","_maximumEntries","requests","ImageLoader","abort","requestId","onerror","onload","getSize","interval","setInterval","load","clearInterval","naturalHeight","naturalWidth","onLoad","onDecode","prefetch","queryCache","uris","LOADED","LOADING","_filterId","svgDataUriPattern","resolveAssetUri","asset","scales","preferredScale","curr","scaleSuffix","httpServerLocation","svg","defaultSource","draggable","onLoadEnd","onLoadStart","updateState","_React$useState2","updateLayout","hiddenImageRef","filterRef","requestRef","shouldDisplaySource","_extractNonStandardSt","filterId","tintColorProp","flatStyle","filters","shadowString","extractNonStandardStyleProps","_resizeMode","_tintColor","selectedSource","displayImageUri","imageSizeStyle","_getAssetByID","resolveAssetDimensions","backgroundImage","backgroundSize","_hiddenImageRef$curre","_height3","_width3","scaleFactor","getBackgroundSize","hiddenImage","alt","accessibilityImage$raw","abortPendingRequest","_layout","undo","resizeModeStyles","visibility","floodColor","in2","operator","createTintColorSVG","ImageWithStatics","backgroundRepeat","center","cover","stretch","onMoreTasks","_onMoreTasks","_queueStack","tasks","popable","enqueue","task","_getCurrentQueue","enqueueTasks","cancelTasks","tasksToCancel","hasTasksToProcess","processNext","_genPromise","run","stackIdx","stackItem","ex","isSupported","requestIdleCallback","didTimeout","timeRemaining","cancelIdleCallback","_emitter","interactionStart","interactionComplete","runAfterInteractions","promise","_scheduleUpdate","_taskQueue","cancel","_inc","_addInteractionSet","_deleteInteractionSet","setDeadline","deadline","_deadline","_interactionSet","_nextUpdateHandle","_processUpdate","interactionCount","nextInteractionCount","begin","Keyboard","isVisible","dismiss","NativeModules","useEvent","usePressEvents","useHover","colors","onRefresh","progressBackgroundColor","progressViewOffset","refreshing","titleColor","normalizeScrollEvent","contentOffset","contentSize","scrollHeight","scrollWidth","layoutMeasurement","ScrollViewBase","_props$scrollEnabled","scrollEnabled","_props$scrollEventThr","showsHorizontalScrollIndicator","showsVerticalScrollIndicator","scrollState","isScrolling","scrollLastTick","scrollTimeout","scrollRef","createPreventableScrollHandler","handleScrollTick","hideScrollbar","lastTick","eventThrottle","timeSinceLastTick","handleScrollEnd","handleScrollStart","scrollDisabled","overflowX","overflowY","_scrollNodeRef","_innerViewRef","isTouching","lastMomentumScrollBeginTime","lastMomentumScrollEndTime","observedScrollSinceBecomingResponder","becameResponderWhileAnimating","scrollResponderHandleScrollShouldSetResponder","scrollResponderHandleStartShouldSetResponderCapture","scrollResponderIsAnimating","scrollResponderHandleTerminationRequest","scrollResponderHandleTouchEnd","scrollResponderHandleResponderRelease","currentlyFocusedTextInput","TextInputState","currentlyFocusedField","keyboardShouldPersistTaps","onScrollResponderKeyboardDismissed","blurTextInput","scrollResponderHandleScroll","scrollResponderHandleResponderGrant","scrollResponderHandleScrollBeginDrag","onScrollBeginDrag","scrollResponderHandleScrollEndDrag","onScrollEndDrag","scrollResponderHandleMomentumScrollBegin","onMomentumScrollBegin","scrollResponderHandleMomentumScrollEnd","onMomentumScrollEnd","scrollResponderHandleTouchStart","scrollResponderHandleTouchMove","scrollResponderScrollTo","animated","behavior","scrollResponderZoomTo","scrollResponderScrollNativeHandleToKeyboard","nodeHandle","additionalOffset","preventNegativeScrollOffset","additionalScrollOffset","getInnerViewNode","scrollResponderTextInputFocusError","scrollResponderInputMeasureAndScrollToKeyboard","keyboardScreenY","keyboardWillOpenTo","endCoordinates","scrollOffsetY","scrollResponderKeyboardWillShow","onKeyboardWillShow","scrollResponderKeyboardWillHide","onKeyboardWillHide","scrollResponderKeyboardDidShow","onKeyboardDidShow","scrollResponderKeyboardDidHide","onKeyboardDidHide","scrollResponderFlashScrollIndicators","getInnerViewRef","scrollTo","scrollResponderNode","_handleContentOnLayout","_e$nativeEvent$layout","onContentSizeChange","_handleScroll","keyboardDismissMode","dismissKeyboard","_setInnerViewRef","_setScrollNodeRef","mergeRefs","scrollResponderHandleStartShouldSetResponder","scrollResponderHandleResponderReject","contentContainerStyle","refreshControl","stickyHeaderIndices","pagingEnabled","centerContent","contentSizeChangeProps","hasStickyHeaderIndices","isSticky","stickyHeader","pagingEnabledChild","contentContainer","contentContainerHorizontal","contentContainerCenterContent","baseStyle","baseHorizontal","baseVertical","pagingEnabledStyle","pagingEnabledHorizontal","pagingEnabledVertical","scrollResponderHandleTerminate","ScrollViewClass","scrollView","commonStyle","WebkitOverflowScrolling","scrollSnapType","scrollSnapAlign","ForwardedScrollView","VirtualizedSectionList","_subExtractor","_convertViewable","viewable","_info$index","keyExtractorWithNullableIndex","section","keyExtractorWithNonNullableIndex","_onViewableItemsChanged","_renderItem","listItemCount","infoIndex","renderSectionHeader","renderSectionFooter","SeparatorComponent","_getSeparatorComponent","ItemWithSeparator","LeadingSeparatorComponent","SectionSeparatorComponent","cellKey","leadingItem","leadingSection","prevCellKey","setSelfHighlightCallback","_setUpdateHighlightFor","setSelfUpdatePropsCallback","_setUpdatePropsFor","updateHighlightFor","_updateHighlightFor","updatePropsFor","_updatePropsFor","trailingItem","trailingSection","inverted","updateProps","_updatePropsMap","updateHighlight","_updateHighlightMap","updateHighlightFn","updatePropsFn","scrollToLocation","sectionIndex","sections","viewOffset","stickySectionHeadersEnabled","__getFrameMetricsApprox","toIndexParams","getListRef","passThroughProps","ItemSeparatorComponent","listHeaderOffset","ListHeaderComponent","itemCount","itemIdx","sectionData","_this$props2","isLastItemInList","isLastItemInSection","leadingSeparatorHiglighted","setLeadingSeparatorHighlighted","separatorHighlighted","setSeparatorHighlighted","_React$useState3","leadingSeparatorProps","setLeadingSeparatorProps","_React$useState4","separatorProps","setSeparatorProps","highlight","unhighlight","newProps","leadingSeparator","highlighted","separator","_wrapperListRef","listRef","_stickySectionHeadersEnabled","normalizeValueWithProperty","normalizeColor","createCSSStyleSheet","createOrderedCSSStyleSheet","OrderedCSSStyleSheet","crossFade","imageSet","logical","sizing","createPrefixer","prefixStyles","setSelection","isSelectionStale","setSelectionRange","autoCapitalize","autoComplete","autoCorrect","maxLength","onChange","placeholder","rows","spellCheck","focusTimeout","TextInput","_inputMode","_props$autoCapitalize","autoCompleteType","_props$autoCorrect","blurOnSubmit","caretHidden","clearTextOnFocus","editable","enterKeyHint","inputMode","keyboardType","_props$multiline","onChangeText","onKeyPress","onSelectionChange","onSubmitEditing","placeholderTextColor","_props$readOnly","returnKeyType","_props$secureTextEntr","secureTextEntry","selectTextOnFocus","showSoftInputOnFocus","prevSelection","prevSecureTextEntry","handleContentSizeChange","newHeight","newWidth","imperativeRef","isFocused","_currentlyFocusedNode","shouldBlurOnSubmit","isComposing","isEventComposing","onSelect","_e$target","_selection","textinput$raw","virtualkeyboardpolicy","State","MozAppearance","WebkitAppearance","resize","caretColor","useWindowDimensions","dims","setDims","handleChange","reactRoot","hydrateLegacy","renderLegacy","alert","RootTagContext","AppContainer","WrapperComponent","innerView","appContainer","rootTag","wrapperComponentProvider","runnables","componentProviderInstrumentationHook","AppRegistry","getAppKeys","getApplication","appKey","appParameters","registerComponent","componentProvider","RootComponent","initialProps","getStyleElement","renderApplication","shouldHydrate","renderFn","registerConfig","registerRunnable","runApplication","setComponentProviderInstrumentationHook","hook","setWrapperComponentProvider","provider","unmountApplicationComponentAtRootTag","isPrefixed","EVENT_TYPES","VISIBILITY_CHANGE_EVENT","VISIBILITY_STATE_PROPERTY","AppStates","changeEmitter","AppState","currentState","isAvailable","clipboardAvailable","exitApp","Clipboard","queryCommandSupported","getString","setString","selectNodeContents","execCommand","configureNext","Presets","easeInEaseOut","springDamping","Types","easeIn","easeOut","keyboard","Properties","scaleXY","checkConfig","initialURL","urlToOpen","URL","_eventCallbacks","_dispatchEvent","filteredCallbacks","canOpenURL","getInitialURL","openURL","_validateURL","TouchHistoryMath","centroidDimension","touchesChangedAfter","isXAxis","ofCurrent","oneTouchData","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","shouldCancelClick","timeout","stateID","panHandlers","onStartShouldSetPanResponder","onMoveShouldSetPanResponder","onStartShouldSetPanResponderCapture","onMoveShouldSetPanResponderCapture","clearInteractionTimeout","onPanResponderGrant","onShouldBlockNativeResponder","onPanResponderReject","onPanResponderRelease","setInteractionTimeout","onPanResponderStart","onPanResponderMove","onPanResponderEnd","onPanResponderTerminate","onPanResponderTerminationRequest","onClickCapture","getInteractionHandle","content","navigator","sharedAction","dismissedAction","vibrate","createSvgCircle","cx","cy","fill","ActivityIndicator","_props$animating","animating","_props$color","_props$hidesWhenStopp","hidesWhenStopped","_props$size","viewBox","stroke","indicatorSizes","animationPause","animationPlayState","small","large","TouchableOpacity","setDuration","_useState2","opacityOverride","setOpacityOverride","setOpacityTo","setOpacityActive","setOpacityInactive","isGrant","transitionDuration","MemoedTouchableOpacity","buttonDisabled","textDisabled","textTransform","CheckBox","onValueChange","fakeControl","fakeControlChecked","fakeControlDisabled","fakeControlCheckedAndDisabled","nativeControl","cursorInherit","cursorDefault","ImageBackground","_props$style","imageStyle","imageRef","_StyleSheet$flatten","KeyboardAvoidingView","relativeKeyboardHeight","keyboardFrame","keyboardY","keyboardVerticalOffset","onKeyboardChange","Picker","selectedValue","itemStyle","prompt","selectedIndex","initial","usePlatformMethods","Item","ProgressBar","_props$indeterminate","indeterminate","_props$progress","progress","_props$trackColor","trackColor","percentageProgress","forcedColorAdjust","cssFunction","SafeAreaView","StatusBar","setBackgroundColor","setBarStyle","setHidden","setNetworkActivityIndicatorVisible","setTranslucent","CSS_UNIT_RE","thumbDefaultBoxShadow","thumbFocusedBoxShadow","defaultDisabledTrackColor","defaultDisabledThumbColor","Switch","activeThumbColor","activeTrackColor","_props$disabled","thumbColor","_props$value","thumbRef","handleFocusState","styleHeight","styleWidth","trackBorderRadius","trackCurrentColor","true","false","thumbCurrentColor","thumbHeight","thumbWidth","rootStyle","disabledTrackColor","disabledThumbColor","trackStyle","thumbStyle","thumb","thumbActive","alignSelf","twoArgumentPooler","a1","a2","Klass","instancePool","standardReleaser","destructor","poolSize","DEFAULT_POOLER","addPoolingTo","CopyConstructor","pooler","NewKlass","getPooled","release","BoundingDimensions","getPooledFromElement","Position","extractSingleTouch","hasTouches","hasChangedTouches","States","baseStatesConditions","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","IsActive","IsPressingIn","IsLongPressingIn","Signals","ENTER_PRESS_RECT","LEAVE_PRESS_RECT","TouchableMixin","touchableNode","getTouchableNode","_touchableBlurListener","_isTouchableKeyboardActive","touchState","touchableHandleResponderTerminate","touchableDelayTimeout","longPressDelayTimeout","pressOutDelayTimeout","pressInLocation","responderID","touchableGetInitialState","touchableHandleResponderTerminationRequest","touchableHandleStartShouldSetResponder","touchableLongPressCancelsPress","touchableHandleResponderGrant","dispatchID","delayMS","touchableGetHighlightDelayMS","_handleDelay","longDelayMS","touchableGetLongPressDelayMS","LONG_PRESS_THRESHOLD","_handleLongDelay","touchableHandleResponderRelease","touchableHandleResponderMove","positionOnActivate","dimensionsOnActivate","pressRectOffset","touchableGetPressRectOffset","pressExpandLeft","pressExpandTop","pressExpandRight","pressExpandBottom","hitSlop","touchableGetHitSlop","_getDistanceBetweenPoints","touchableHandleFocus","touchableHandleBlur","_remeasureMetricsOnActivation","_handleQueryLayout","globalX","globalY","curState","_performSideEffectsForTransition","_isHighlight","_savePressInLocation","bX","bY","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","unimplementedViewStyles","accessibilityState","accessibilityValue","TouchableWithoutFeedback","elementProps","MemoedTouchableWithoutFeedback","YellowBox","ignoreWarnings","ignoreLogs","ignoreAllLogs","uninstall","install","useColorScheme","setColorScheme","focusTextInput","textFieldNode","useElementLayout","PressResponder","createResponderEvent","useResponderEvents","nativeModule","_nativeModule","_this$_nativeModule","_this$_nativeModule2","removeListeners","_this$_nativeModule3","_this$_nativeModule4","computeWindowedRenderLimits","maxToRenderPerBatch","windowSize","getFrameMetricsApprox","scrollMetrics","visibleLength","_scrollMetrics$zoomSc","zoomScale","visibleBegin","visibleEnd","overscanLength","fillPreference","overscanBegin","overscanEnd","_elementsThatOverlapO","offsets","getFrameMetrics","offsetIndex","currentOffset","mid","scaledOffsetStart","scaledOffsetEnd","elementsThatOverlapOffsets","overscanFirst","overscanLast","newCellCount","newRangeCount","maxNewCells","firstWillAddMore","firstShouldIncrement","lastWillAddMore","lastShouldIncrement","dispose","_taskHandle","schedule","CellRenderMask","numCells","_numCells","_regions","isSpacer","enumerateRegions","addCells","cells","_this$_findRegion","_findRegion","firstIntersect","firstIntersectIdx","_this$_findRegion2","lastIntersect","lastIntersectIdx","newLeadRegion","newTailRegion","newMainRegion","replacementRegions","numRegionsToDelete","every","cellIdx","firstIdx","lastIdx","middleIdx","middleRegion","ChildListCollection","_cellKeyToChildren","_childrenToCellKey","_this$_cellKeyToChild","cellLists","listSet","forEachInCell","_this$_cellKeyToChild2","anyInCell","_this$_cellKeyToChild3","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","setSampleRate","sampleRate","setMinSampleCount","minSampleCount","_anyBlankStartTime","_enabled","_info","_mostlyBlankStartTime","_samplesStartTime","_getFrameMetrics","_resetData","activate","performance","deactivateAndFlush","computeBlankness","cellsAroundViewport","dOffset","scrollSpeed","blankTop","firstFrame","inLayout","blankBottom","lastFrame","bottomEdge","blankness","StateSafePureComponent","_inAsyncStateUpdate","_installSetStateHooks","partialState","newState","_isViewable","viewAreaMode","viewablePercentThreshold","viewportHeight","itemLength","_isEntirelyVisible","pixels","visibleHeight","_getPixelsVisible","viewAreaCoveragePercentThreshold","_hasInteracted","_timers","_viewableIndices","_viewableItems","computeViewableItems","scrollOffset","renderRange","itemVisiblePercentThreshold","viewableIndices","firstVisible","metrics","createViewToken","waitForInteraction","minimumViewTime","_onUpdateSync","resetViewableIndices","viewableIndicesToCheck","prevItems","nextItems","_step$value","_step2$value","_viewable","isViewable","VirtualizedListContext","VirtualizedListContextProvider","getScrollMetrics","getOutermostParentListRef","registerAsNestedChild","unregisterAsNestedChild","VirtualizedListCellContextProvider","_ref3","currContext","CellRenderer","_separators","onUpdateSeparators","_this$props3","_onLayout","onCellLayout","updateSeparatorProps","onUnmount","_renderElement","_this$props4","CellRendererComponent","inversionStyle","onCellFocusCapture","itemSeparator","cellStyle","rowReverse","columnReverse","onFocusCapture","_usedIndexForKey","_keylessItemComponentName","horizontalOrDefault","maxToRenderPerBatchOrDefault","onEndReachedThresholdOrDefault","onEndReachedThreshold","getScrollingThreshold","threshold","windowSizeOrDefault","veryLast","_footerLength","_scrollMetrics","_scrollRef","getItemLayout","onScrollToIndexFailed","viewPosition","_highestMeasuredFrameIndex","averageItemLength","_averageCellLength","highestMeasuredFrameIndex","_getOffsetApprox","_nestedChildLists","childList","_viewabilityTuples","viewabilityHelper","_updateViewableItems","_getCellKey","_this$context","hasMore","_hasMore","_this$props$updateCel","_getScrollMetrics","_getOutermostParentListRef","_isNestedWithSameOrientation","_registerAsNestedChild","_unregisterAsNestedChild","_onUpdateSeparators","_cellRefs","_getSpacerKey","isVertical","_frames","_hasTriggeredInitialScrollToIndex","_hasWarned","_headerLength","_hiPriInProgress","_indicesToKeys","_lastFocusedCellKey","_offsetFromParentVirtualizedList","_prevParentOffset","contentLength","_sentStartForContentLength","_sentEndForContentLength","_totalCellLength","_totalCellsMeasured","_captureScrollRef","_defaultRenderScrollComponent","_props$refreshing","RefreshControl","_onCellLayout","_selectOffset","_selectLength","_scheduleCellsToRenderUpdate","_triggerRemeasureForChildListsInCell","_computeBlankness","_onCellUnmount","measureLayoutRelativeToContainingList","_maybeCallOnEdgeReached","_onLayoutEmpty","_onLayoutFooter","_getFooterCellKey","_onLayoutHeader","_onContentSizeChange","initialScrollIndex","_convertParentScrollMetrics","_onScroll","_this$_convertParentS","perf","prevDt","_fillRateHelper","_onScrollBeginDrag","tuple","_onScrollEndDrag","_onMomentumScrollBegin","_onMomentumScrollEnd","_updateCellsToRender","_adjustCellsAroundViewport","renderMask","_createRenderMask","_getNonViewportRenderRegions","_createViewToken","isInteger","frameMetrics","focusedCellIndex","heightOfCellsBeforeFocused","heightOfCellsAfterFocused","_updateCellsToRenderBatcher","updateCellsBatchingPeriod","initialRenderRegion","_initialRenderRegion","invertedWheelEventHandler","ev","scrollLength","clientLength","isEventTargetScrollable","leftoverDelta","targetDelta","nextScrollLeft","nextScrollTop","additionalRegions","_i2","_allRegions","initialRegion","stickyIndicesSet","_ensureClosestStickyHeader","_props$initialScrollI","initialNumToRender","firstCellIndex","stickyOffset","newCellsAroundViewport","_this$_scrollMetrics","distanceFromEnd","_constrainToItemCount","disableVirtualization","renderAhead","EPSILON","childIdx","_findFirstChildWithMore","cellKeyForIndex","setupWebWheelHandler","teardownWebWheelHandler","constrainedCells","_pushCells","stickyIndicesFromProps","debug","shouldListenForLayout","_onCellFocusCapture","nestedContext","_this$props5","ListEmptyComponent","ListFooterComponent","_this$props6","horizontallyInverted","verticallyInverted","_element","ListHeaderComponentStyle","_element2","spacerKey","renderRegions","lastSpacer","findLastWhere","firstMetrics","lastMetrics","spacerSize","_element3","ListFooterComponentStyle","scrollProps","invertStickyHeaders","renderScrollComponent","_renderDebugOverlay","_this$props7","hiPriInProgress","framesInLayout","windowTop","frameLast","windowLen","visTop","visLen","debugOverlayBase","debugOverlay","debugOverlayFrame","debugOverlayFrameLast","debugOverlayFrameVis","_this$props8","onStartReached","onStartReachedThreshold","onEndReached","_this$_scrollMetrics2","distanceFromStart","isWithinStartThreshold","isWithinEndThreshold","_this$state$cellsArou","_this$_scrollMetrics3","hiPri","onStartReachedThresholdOrDefault","distTop","distBottom","_registry","registrations","registry","registration","_arr","forceUpdate","__self","__source","_status","toArray","Profiler","StrictMode","act","_currentValue2","_threadCount","_defaultValue","_globalName","createFactory","createRef","isValidElement","lazy","startTransition","unstable_act","OwnPropertyKeys","CreateMethodProperty","setToStringTag","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","hasDescriptors","gOPD","$floor","functionLengthIsConfigurable","functionLengthIsWritable","deep","allocUnsafe","cloneBuffer","cloneSymbol","byteLength","cloneArrayBuffer","buffer","byteOffset","cloneTypedArray","lastIndex","cloneRegExp","inspect","$WeakMap","$Map","$weakMapGet","$weakMapSet","$weakMapHas","$mapGet","$mapSet","$mapHas","listGetNode","$wm","$m","$o","assert","objects","listGet","listHas","hasMap","mapSizeDescriptor","mapSize","mapForEach","hasSet","setSizeDescriptor","setSize","setForEach","weakMapHas","weakSetHas","weakRefDeref","deref","booleanValueOf","functionToString","$match","$slice","$toUpperCase","$toLowerCase","$test","$join","$arrSlice","bigIntValueOf","gOPS","symToString","hasShammedSymbols","gPO","addNumericSeparator","sepRegex","intStr","dec","utilInspect","inspectCustom","inspectSymbol","isSymbol","wrapQuotes","defaultStyle","quoteChar","quoteStyle","inspect_","seen","maxStringLength","customInspect","indent","numericSeparator","inspectString","bigIntStr","baseIndent","getIndent","noIndent","newOpts","nameOf","arrObjKeys","symString","markBoxed","HTMLElement","isElement","attrs","attributes","xs","singleLineValues","indentedJoin","cause","isMap","mapParts","collectionOf","isSet","setParts","isWeakMap","weakCollectionOf","isWeakSet","isWeakRef","isBigInt","ys","protoTag","stringTag","trailer","lowbyte","lineJoiner","symMap","util","hasNativeMap","ArraySet","_array","_set","fromArray","aArray","aAllowDuplicates","aStr","sStr","toSetString","isDuplicate","at","aIdx","base64","aValue","digit","encoded","vlq","toVLQSigned","VLQ_BASE","aIndex","aOutParam","continuation","shifted","strLen","intToCharMap","recursiveSearch","aLow","aHigh","aNeedle","aHaystack","aCompare","aBias","cmp","LEAST_UPPER_BOUND","GREATEST_LOWER_BOUND","MappingList","_sorted","_last","generatedLine","generatedColumn","unsortedForEach","aCallback","aThisArg","aMapping","mappingA","mappingB","lineA","lineB","columnA","columnB","compareByGeneratedPositionsInflated","swap","ary","temp","doQuickSort","comparator","low","high","pivot","binarySearch","base64VLQ","quickSort","SourceMapConsumer","aSourceMap","aSourceMapURL","sourceMap","parseSourceMapInput","IndexedSourceMapConsumer","BasicSourceMapConsumer","getArg","names","sourceRoot","sourcesContent","mappings","_version","isAbsolute","relative","_names","_sources","_absoluteSources","computeSourceURL","_mappings","_sourceMapURL","Mapping","originalLine","originalColumn","lastOffset","line","column","_sections","offsetLine","offsetColumn","generatedOffset","fromSourceMap","__generatedMappings","_parseMappings","__originalMappings","_charIsMappingSeparator","aSourceRoot","GENERATED_ORDER","ORIGINAL_ORDER","eachMapping","aContext","aOrder","_generatedMappings","_originalMappings","allGeneratedPositionsFor","aArgs","needle","_findSourceIndex","_findMapping","compareByOriginalPositions","lastColumn","aSource","relativeSource","smc","_sourceRoot","_generateSourcesContent","_file","generatedMappings","destGeneratedMappings","destOriginalMappings","srcMapping","destMapping","previousGeneratedColumn","previousOriginalLine","previousOriginalColumn","previousSource","previousName","cachedSegments","originalMappings","compareByGeneratedPositionsDeflated","aMappings","aLineName","aColumnName","aComparator","computeColumnSpans","nextMapping","lastGeneratedColumn","originalPositionFor","hasContentsOfAllSources","some","sourceContentFor","nullOnMissing","urlParse","fileUriAbsPath","scheme","generatedPositionFor","bias","generatedPosition","sectionMappings","adjustedMapping","SourceMapGenerator","_skipValidation","_sourcesContents","aSourceMapConsumer","generator","newMapping","generated","original","addMapping","sourceFile","sourceRelative","setSourceContent","_validateMapping","aSourceFile","aSourceContent","applySourceMap","aSourceMapPath","newSources","newNames","aGenerated","aOriginal","aName","_serializeMappings","nameIdx","sourceIdx","previousGeneratedLine","aSources","REGEX_NEWLINE","isSourceNode","SourceNode","aLine","aColumn","aChunks","sourceContents","fromStringWithSourceMap","aGeneratedCode","aRelativePath","remainingLines","remainingLinesIndex","shiftNextLine","getNextLine","lastGeneratedLine","lastMapping","nextLine","addMappingWithCode","aChunk","chunk","aFn","aSep","newChildren","replaceRight","aPattern","aReplacement","walkSourceContents","fromSetString","toStringWithSourceMap","sourceMappingActive","lastOriginalSource","lastOriginalLine","lastOriginalColumn","lastOriginalName","sourceContent","aDefaultValue","urlRegexp","dataUrlRegexp","aUrl","auth","host","port","urlGenerate","aParsedUrl","aPath","up","aRoot","aPathUrl","aRootUrl","supportsNullProto","isProtoString","strcmp","aStr1","aStr2","onlyCompareOriginal","onlyCompareGenerated","sourceURL","sourceMapURL","parsed","hex_chr","md5cycle","md5blk","md5blks","md5blk_array","md51","tmp","lo","md51_array","subarray","rhex","hex","toUtf8","utf8Str2ArrayBuffer","returnUInt8Array","buff","arrayBuffer2Utf8Str","concatenateArrayBuffers","second","hexToBinaryString","bytes","SparkMD5","clamp","targetArray","sourceArray","appendBinary","contents","_buff","_length","raw","_finish","hashBinary","EventListener","eventOptions","unorderedBindings","bindingConnected","bindingDisconnected","handleEvent","extendedEvent","stopImmediatePropagation","immediatePropagationStopped","extendEvent","bindings","hasBindings","leftIndex","rightIndex","Dispatcher","application","eventListenerMaps","started","eventListeners","fetchEventListenerForBinding","clearEventListeners","clearEventListenersForBinding","handleError","removeMappedEventListenerFor","eventListenerMap","fetchEventListenerMapForEventTarget","fetchEventListener","createEventListener","defaultActionDescriptorFilters","prevent","descriptorPattern","parseEventTarget","eventTargetName","namespaceCamelize","isSomething","hasProperty","allModifiers","schema","defaultEventNames","getDefaultEventNameForElement","methodName","keyFilter","forToken","descriptorString","parseActionDescriptorString","eventFilter","shouldIgnoreKeyboardEvent","keyFilterDissatisfied","standardFilter","keyMappings","shouldIgnoreMouseEvent","typecast","ctrl","modifier","details","textarea","o_O","Binding","actionEvent","prepareActionEvent","willBeInvokedByEvent","applyEventModifiers","invokeWithEvent","controller","actionDescriptorFilters","passes","logDebugActivity","KeyboardEvent","MouseEvent","Element","scope","containsElement","ElementObserver","mutationObserverInit","subtree","elements","mutationObserver","MutationObserver","mutations","processMutations","refresh","pause","takeRecords","matchElementsInTree","removeElement","addElement","mutation","processMutation","processAttributeChange","processRemovedNodes","removedNodes","processAddedNodes","addedNodes","elementAttributeChanged","matchElement","elementFromNode","processTree","elementIsActive","tree","processor","ELEMENT_NODE","elementMatched","elementUnmatched","AttributeObserver","elementObserver","hasAttribute","elementMatchedAttribute","elementUnmatchedAttribute","elementAttributeValueChanged","del","prune","Multimap","valuesByKey","hasKey","hasValue","getValuesForKey","getKeysForValue","_values","SelectorObserver","_selector","matchesByElement","selectorMatchElement","selectorMatched","selectorUnmatched","_attributeName","matchedBefore","StringMapObserver","stringMap","attributeOldValue","knownAttributeNames","refreshAttribute","oldValue","getStringMapKeyForAttribute","stringMapKeyAdded","stringMapValueChanged","stringMapKeyRemoved","currentAttributeNames","recordedAttributeNames","attribute","TokenListObserver","attributeObserver","tokensByElement","tokensMatched","readTokensForElement","unmatchedTokens","matchedTokens","refreshTokensForElement","tokensUnmatched","tokenMatched","tokenUnmatched","previousTokens","currentTokens","firstDifferingIndex","zip","findIndex","previousToken","currentToken","tokenString","parseTokenString","ValueListObserver","tokenListObserver","parseResultsByToken","valuesByTokenByElement","fetchParseResultForToken","fetchValuesByTokenForElement","elementMatchedValue","elementUnmatchedValue","parseResult","parseToken","valuesByToken","parseValueForToken","BindingObserver","bindingsByAction","valueListObserver","actionAttribute","disconnectAllActions","connectAction","disconnectAction","ValueObserver","stringMapObserver","valueDescriptorMap","invokeChangedCallbacksForDefaultValues","invokeChangedCallback","writer","valueDescriptorNameMap","valueDescriptors","rawValue","rawOldValue","changedMethodName","changedMethod","reader","descriptors","hasMethodName","TargetObserver","targetsByName","disconnectAllTargets","connectTarget","disconnectTarget","targetConnected","targetDisconnected","readInheritableStaticArrayValues","ancestors","getAncestorsForConstructor","definition","getOwnStaticArrayValues","readInheritableStaticObjectPairs","pairs","getOwnStaticObjectPairs","OutletObserver","outletsByName","outletElementsByName","selectorObserverMap","attributeObserverMap","outletDefinitions","outletName","setupSelectorObserverForOutlet","setupAttributeObserverForOutlet","dependentContexts","disconnectAllOutlets","stopSelectorObservers","stopAttributeObservers","outlet","getOutlet","connectOutlet","getOutletFromMap","disconnectOutlet","hasOutlet","hasOutletController","controllerAttribute","getOutletNameFromOutletAttributeName","updateSelectorObserverForOutlet","outletConnected","outletDisconnected","selectorObserver","attributeNameForOutletName","outlets","getSelectorForOutletName","outletAttributeForScope","find","outletDependencies","router","modules","controllerConstructor","dependentControllerIdentifiers","identifiers","contexts","getControllerForElementAndIdentifier","functionName","bindingObserver","dispatcher","valueObserver","targetObserver","outletObserver","initialize","parentElement","invokeControllerMethod","bless","shadowConstructor","shadowProperties","getOwnKeys","shadowingDescriptor","getShadowedDescriptor","getShadowProperties","blessings","blessedProperties","blessing","getBlessedProperties","extendWithReflect","extended","testReflectExtension","Module","blessDefinition","contextsByScope","connectedContexts","connectContextForScope","fetchContextForScope","disconnectContextForScope","ClassMap","getDataKey","getAll","getAttributeName","getAttributeNameForKey","DataMap","Guide","warnedKeysByObject","warnedKeys","attributeValueContainsToken","TargetSet","targetName","targetNames","findTarget","findLegacyTarget","targets","findAllTargets","findAllLegacyTargets","getSelectorForTargetName","findElement","findAllElements","targetAttributeForScope","getLegacySelectorForTargetName","deprecate","targetDescriptor","targetAttribute","revisedAttributeName","guide","OutletSet","controllerElement","outletNames","findOutlet","findAllOutlets","queryElements","matchesElement","Scope","classes","closest","controllerSelector","documentScope","isDocumentScope","ScopeObserver","scopesByIdentifierByElement","scopeReferenceCounts","parseValueForElementAndIdentifier","scopesByIdentifier","fetchScopesByIdentifierForElement","createScopeForElementAndIdentifier","referenceCount","scopeConnected","scopeDisconnected","Router","scopeObserver","modulesByIdentifier","loadDefinition","unloadIdentifier","connectModule","afterLoad","disconnectModule","getContextForElementAndIdentifier","proposeToConnectScopeForElementAndIdentifier","defaultSchema","enter","tab","esc","space","down","home","page_up","page_down","objectFromEntries","Application","logFormattedMessage","register","registerActionOption","shouldLoad","unload","controllers","groupCollapsed","groupEnd","getOutletController","getControllerAndEnsureConnectedScope","outletController","parseValueDefinitionPair","typeDefinition","typeObject","typeFromObject","hasType","hasDefault","fullObject","onlyType","onlyDefault","parseValueTypeConstant","typeFromDefaultValue","parseValueTypeDefault","parseValueTypeObject","typeFromConstant","propertyPath","parseValueTypeDefinition","defaultValuesByType","constantFromType","defaultValueForDefinition","hasCustomDefaultValue","readers","writers","valueDescriptorForTokenAndTypeDefinition","boolean","writeJSON","Controller","_identifier","_application","CustomEvent","classDefinition","targetDefinition","propertiesForTargetDefinition","valueDefinitionPairs","propertyDescriptorMap","valueDefinitionPair","valueDescriptor","read","write","propertiesForValueDefinitionPair","outletDefinition","camelizedName","outletElement","propertiesForOutletDefinition","definitionsFromContext","logicalName","identifierForContextKey","definitionForModuleAndIdentifier","definitionForModuleWithContextAndKey","de_DE","days","shortDays","months","shortMonths","AM","PM","am","pm","en_CA","ordinalSuffixes","en_US","es_MX","fr_FR","it_IT","nl_NL","pt_BR","ru_RU","tr_TR","zh_CN","DefaultLocale","defaultStrftime","Strftime","customTimezoneOffset","useUtcTimezone","_cachedDate","_locale","_customTimezoneOffset","_useUtcBasedDate","_cachedDateTimestamp","_processFormat","resultString","isInScope","extendedTZ","currentCharCode","getDay","getMonth","padTill2","getFullYear","getHours","hours12","padTill3","getMinutes","getSeconds","weekNumber","getTimezoneName","day","ordinal","sign","getTimezoneOffset","sep","hours","mins","strftime","utcOffset","getTimestampToUtcOffsetFor","newUTCOffset","currentTimestamp","localize","localizeByIdentifier","localeIdentifier","timezone","useUtcBasedDate","timezoneType","utc","numberToPad","paddingChar","hour","firstWeekday","weekday","firstDayOfYearUtc","UTC","dateUtc","weekNum","tzString","toLocaleString","timeZoneName","getShortTimezoneName","getDefaultTimezoneName","createStyleq","disableCache","disableMix","definedProperties","nextCache","possibleStyle","classNameChunk","cacheEntry","definedPropertiesChunk","weakMap","subStyle","_prop","markerProp","compiledStyleIndex","_cachedStyles","_compiledStyle","compileStyle","cachedStyles","callbacks","currentTime","toPropertyKey","_extends","_getRequireWildcardCache","getOwnPropertyDescriptors","ReadersWriterLock","_debug","_readers","_writers","_processQueueTimeout","_readQueue","_writeQueue","_log","_readWithResolve","_writeWithResolve","_processRead","_processWrite","_processQueueLater","_processQueue","readQueueItem","writeQueueItem","FormDataToObject","formData","formDataFromObject","treatInitial","firstMatch","inputName","newResult","treatSecond","secondMatch","newRest","precision","numberParts","wholeNumbers","decimals","numberWithDelimiters","DefineOwnProperty","FromPropertyDescriptor","IsDataDescriptor","IsPropertyKey","SameValue","Type","isPropertyDescriptor","fromPropertyDescriptor","Desc","argument","$isNaN","ES5Type","$isEnumerable","$Array","$ownKeys","$pushApply","$SymbolValueOf","$gOPN","$gOPS","allowed","isData","IsAccessor","valuesSeen","uniqueArray","_createForOfIteratorHelperLoose","_defineProperty","response","BaseError","static","messageToUse","addResponseErrorsToErrorMessage","captureStackTrace","errorMessages","errorTypes","ApiMakerCanCan","abilities","abilitiesToLoad","abilitiesToLoadData","lock","currentApiMakerCanCan","can","ability","subject","abilityToUse","foundAbility","findAbility","subjectLabel","modelClassData","abilityData","abilityDataSubject","isAbilityLoaded","loadAbilities","promises","loadAbility","all","abilityToLoad","queueAbilitiesRequest","queueAbilitiesRequestTimeout","sendAbilitiesRequest","resetAbilities","sendRequest","request","ApiMakerCollection","queryArgs","originalAbilities","newAbilities","originalAbilityName","newModelName","newValues","newAbilityName","_merge","accessibleBy","abilityName","_response","distinct","each","model","except","groupBy","arrayOfTablesAndColumns","arrayOfTablesAndColumnsWithLowercaseColumns","tableAndColumn","newGroupBy","isLoaded","reflectionName","relationshipsCache","preloaded","loaded","relationships","isNewRecord","reflectionNameUnderscore","relationshipsLoaded","uniqunize","newCollection","newModel","preload","preloadValue","page","pageKey","accessible_by","group_by","ransack","per","selectColumns","select_columns","perKey","models","_addQueryToModels","collection","searchKey","originalSelect","newSelect","originalModelName","originalAttributeName","newAttributeName","sortBy","modelClass","modelName","clonedQueryArgs","newQueryArgs","addCommand","collectionName","Api","pathParams","requestLocal","headers","requestPath","getHost","xhr","XMLHttpRequest","withCredentials","headerName","setRequestHeader","executeXhr","_parseResponse","status","customError","peakflowParameters","_token","rawData","put","getCsrfToken","responseType","getResponseHeader","responseText","ApiMakerCommandSubmitData","filesCount","jsonData","traverseObject","getFilesCount","getJsonData","getRawData","getFormData","objectForFormData","json","convertDynamic","traverseArray","shouldSkip","File","newArray","newObject","DestroyError","apiMakerType","Serializer","serializeArgument","api_maker_type","model_class_name","model_id","offsetNumber","serializeArray","serializeObject","ApiMakerCommandsPool","pool","instant","promiseResult","flushRunLast","currentApiMakerCommandsPool","flushCount","poolData","globalRequestData","commandType","commandName","primary_key","primaryKey","commandsCount","commandSubmitData","updateSessionStatus","currentPool","currentPoolData","submitData","commandId","responses","commandResponse","commandResponseData","commandData","bugReportUrl","handleFailedResponse","error_type","validationErrors","errorMessage","errors","accessors","breakPoints","currenciesCollection","i18n","ApiMakerConfig","apiMakerConfigGlobal","accessorName","accessorData","camelizedAccessor","apiMakerConfig","CustomError","ApiMakerDeserializer","restObject","cents","modelClassName","ApiMakerDevise","callSignOutEvent","currentApiMakerDevise","addUserScope","currentMethodName","getCurrentScope","isSignedInMethodName","signIn","username","postData","updateSession","camelizedScopeName","currents","hasCurrentScope","setSignedOut","signOut","apiMakerSessionStatusUpdater","loadCurrentScope","hasGlobalCurrentScope","apiMakerDeviseCurrent","scopeData","parsedScopeData","UNKNOWN_FUNCTION","stackString","chromeRe","isNative","isEval","submatch","chromeEvalRe","lineNumber","parseChrome","winjsRe","parseWinjs","geckoRe","geckoEvalRe","parseGecko","nodeRe","parseNode","javaScriptCoreRe","parseJSC","SourceMapsLoader","isLoadingSourceMaps","sourceMaps","srcLoaded","loadSourceMapsForScriptTags","loadSourceMapsForScriptTagsCallback","sourceMapForSource","sourceMapForSourceCallback","loadSourceMaps","getSources","originalUrl","loadSourceMapForSource","getSourcesFromScripts","getSourcesFromError","trace","sourceMapUrl","getMapURL","scripts","loadUrl","origin","includeMapURL","loadXhr","parser","parseStackTrace","stackTrace","getStackTraceData","traceData","fileString","newSourceMap","sourceMapData","filePath","ErrorLogger","debugging","errorOccurred","isHandlingError","sourceMapsLoader","output","enable","connectOnError","connectUnhandledRejection","getErrors","hasErrorOccurred","isWorkingOnError","finally","onUnhandledRejection","backtrace","errorClass","testPromiseError","_resolve","ApiMakerLogger","isDebugging","setGlobalDebug","getDebug","getGlobalDebug","setDebug","requireName","ModelClass","modelClasses","ApiMakerBaseModelColumn","columnData","getType","ApiMakerBaseModelAttribute","attributeData","getColumn","isColumn","isSelectedByDefault","isTranslated","AttributeNotLoadedError","CacheKeyGenerator","allModels","readModels","recordModelType","recordModel","filledModels","local","md5","feedModel","relationshipType","uniqueKey","isModelRecorded","fillModels","loadedRelationship","anotherModel","markedForDestruction","readAttributeUnderscore","ModelName","camelizedLower","human","countKey","argsToUse","i18nKey","defaultModelName","getI18n","paramKey","NotLoadedError","ApiMakerBaseModelReflection","reflectionData","foreignKey","macro","through","ApiMakerBaseModelScope","objectToUnderscore","BaseModel","attributeKey","newCustomEvent","findOrCreateBy","findOrCreateByArgs","additional_data","additionalData","find_or_create_by_args","resource_name","ransackableAssociations","reflections","relationshipData","ransackableAttributes","ransackableScopes","reflection","foundReflection","csrfTokenElement","changes","newRecord","_readModelDataFromArgs","modelData","assignAttributes","newAttributes","attributeUnderscore","applyChange","deleteChange","isAttributeLoaded","readAttribute","givenAbilityName","isPersisted","keyParts","updatedAt","localCacheKey","fullCacheKey","getAttributes","dataToUse","save","parseValidationErrors","_refreshModelFromResponse","createRaw","objectData","_objectDataFromGivenRawData","_refreshModelDataFromResponse","query_params","handleResponseError","ensureAbilities","listOfAbilities","abilityInList","ransackParams","abilitiesParams","newAbility","identifierKey","_identifierKey","isAssociationLoaded","associationName","isAssociationLoadedUnderscore","associationNameUnderscore","isAssociationPresent","validation_errors","sendValidationErrorsEvent","throwValidationError","humanAttributeName","snakeCase","isAttributeChanged","attributeNameUnderscore","attributeNames","isChanged","savedChangeToAttribute","previousModelData","setNewModel","setNewModelData","relationshipName","relationshipCacheName","_isDateChanged","_isIntegerChanged","_isStringChanged","saveRaw","updateRaw","simple_model_errors","simpleModelErrors","isValid","isValidOnServer","valid","preloadRelationship","markForDestruction","_markedForDestruction","uniqueKeyValue","randomBetween","_callCollectionCommand","commandArgs","formOrDataObject","_callMemberCommand","_postDataFromArgs","_isPresent","_loadBelongsToReflection","_readBelongsToReflection","loadedRelationships","_loadHasManyReflection","_loadHasOneReflection","_readHasOneReflection","preloadedRelationships","_readPreloadedRelationships","relationshipClassData","relationship","relationshipsList","relationshipId","getModel","ApiMakerModelRecipesModelLoader","modelRecipe","modelRecipesLoader","createClass","collection_commands","collectionCommands","member_commands","memberCommands","model_class_data","addAttributeMethodsToModelClass","addRelationshipsToModelClass","addQueryCommandsToModelClass","addMemberCommandsToModelClass","collectionCommandName","memberCommandName","active_record","activeRecordName","activeRecordPrimaryKey","class_name","klass","klassPrimaryKey","as","optionsAs","optionsPrimaryKey","optionsThrough","resourceName","loadMethodName","modelMethodName","defineBelongsToGetMethod","defineBelongsToLoadMethod","defineHasManyGetMethod","defineHasManyLoadMethod","defineHasOneGetMethd","defineHasOneLoadMethod","foreignKeyMethodName","getModelClass","hasManyParameters","queryParameters","primaryKeyColumnName","primaryKeyMethodName","ModelRecipesLoader","recipes","ApiMakerPreloaded","loadPreloadedModels","preloadedType","preloadedId","modelType","modelId","ModelsResponseReader","ApiMakerResult","currentPage","perPage","totalCount","totalPages","ApiMakerRoutesNative","getLocale","routeTranslationParts","loadRouteDefinitions","routeDefinitionArgs","rawPathParts","pathMethodName","urlMethodName","localized","localizedRoutes","variableCount","localizedPathParts","pathPart","translateRoute","pathParts","loadRouteTranslations","locales","routeTranslations","lastArg","restOptions","translatedRoute","addHostToRoute","fullUrl","hostToUse","portToUse","RunLast","flushTriggerCount","flushTrigger","flushTriggerQueue","flushTimeout","ApiMakerServices","currentApiMakerService","serviceName","service_args","service_name","ApiMakerSessionStatusUpdater","useMetaElement","connectOnlineEvent","connectWakeEvent","csrfToken","sessionStatus","onSignedOut","addEvent","startTimeout","updateTimeout","stopTimeout","updateMetaElementsFromResult","updateUserSessionsFromResult","csrf_token","scopeName","scopes","updateUserSessionScopeFromResult","deviseIsSignedInMethodName","currentlySignedIn","signedInOnBackend","signed_in","replaces","regexp","replaceAll","character","onCalled","onCalledCallback","ValidationError","getUnhandledErrorMessage","getErrorMessage","getUnhandledErrors","getValidationErrors","validationError","getHandled","hasUnhandledErrors","unhandledError","hasValidationErrorForAttribute","underscoredAttributeName","attributeType","input_name","handled","matchesAttributeAndInputName","getInputName","attributeNameIdMatch","attributeNameWithoutId","attributeUnderScoreName","inputNameWithoutId","getErrorMessages","getFullErrorMessages","fullErrorMessages","attributeHumanName","setHandled","ValidationErrors","rootModel","fullErrorMessage","getValidationErrorsForInput","onMatchValidationError","unhandledValidationErrors","unhandledValidationErrorMessages","unhandledValidationError","OnLocationChangedCallback","callbacksHandler","callCallback","CallbacksHandler","callCallbacks","connectInterval","onLocationChanged","givenCallback","onLocationMightHaveChanged","currentLocationHref","onLocationChangedCallbacksHandler","_slicedToArray","setPath","onLocationChangedCallback","newPath","onLocationChangedEvent","memoCompareProps","nextProps","simpleObjectValuesDifferent","setStates","__firstRenderCompleted","variables","statesList","stateName","renderingCallbacks","stylingName","customStyling","dig","_useState3","stateValue","anythingDifferent","ShapeClass","functionalComponent","actualProps","propsWithoutUndefined","validateProps","setup","setStateCompareData","digger","callFunctions","throwError","digged","currentPath","digs","PropertyNotFoundError","fetchingObjectHandler","wrappedObject","ErrorHandlersRaiser","I18nOnSteroids","errorHandler","fallbacks","setLocale","setLocaleOnStrftime","monthNames","abbrMonthNames","strftimeLocales","scanRequireContext","contextLoader","_scanRecursive","scanObject","storage","formatValue","localesToTry","_lookup","insertVariables","toNumber","numberable","ErrorHandlersRaiseInBackground","namespace","newArgs","I18n","updateLocale","incorporate","Incorporator","replaceArrayIfExistsValue","replaceArrayIfExists","mergeObjects","firstObject","mergeObjectsInto","mergeArraysInto","mergeIntoValue","arrays","mergeInto","ParentElementsResult","getElement","parentElements","breakAfterFirstFound","elementResult","randomUUID","crypto","getRandomValues","rnds8","rng","byteToHex","unsafeStringify","rnds"],"sourceRoot":""}