{"version":3,"file":"js/5477-9865321423cf59a6fe58.js","mappings":"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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/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-apply-helpers/actualApply.js","webpack://wooftech/./node_modules/call-bind-apply-helpers/applyBind.js","webpack://wooftech/./node_modules/call-bind-apply-helpers/functionApply.js","webpack://wooftech/./node_modules/call-bind-apply-helpers/functionCall.js","webpack://wooftech/./node_modules/call-bind-apply-helpers/index.js","webpack://wooftech/./node_modules/call-bind-apply-helpers/reflectApply.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/get-intrinsic/index.js","webpack://wooftech/./node_modules/call-bind/node_modules/has-proto/index.js","webpack://wooftech/./node_modules/call-bound/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/conjointment/build/portal-provider.js","webpack://wooftech/./node_modules/conjointment/build/portal-host.js","webpack://wooftech/./node_modules/conjointment/build/portal.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/function-bind/implementation.js","webpack://wooftech/./node_modules/define-properties/node_modules/function-bind/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/dunder-proto/get.js","webpack://wooftech/./node_modules/dunder-proto/node_modules/gopd/gOPD.js","webpack://wooftech/./node_modules/dunder-proto/node_modules/gopd/index.js","webpack://wooftech/./node_modules/es-define-property/index.js","webpack://wooftech/./node_modules/es-define-property/node_modules/get-intrinsic/index.js","webpack://wooftech/./node_modules/es-define-property/node_modules/has-proto/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-object-atoms/index.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/es-define-property/index.js","webpack://wooftech/./node_modules/get-intrinsic/node_modules/gopd/gOPD.js","webpack://wooftech/./node_modules/get-intrinsic/node_modules/gopd/index.js","webpack://wooftech/./node_modules/get-intrinsic/node_modules/has-symbols/index.js","webpack://wooftech/./node_modules/get-intrinsic/node_modules/has-symbols/shams.js","webpack://wooftech/./node_modules/gopd/index.js","webpack://wooftech/./node_modules/gopd/node_modules/function-bind/implementation.js","webpack://wooftech/./node_modules/gopd/node_modules/function-bind/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/node_modules/function-bind/implementation.js","webpack://wooftech/./node_modules/has/node_modules/function-bind/index.js","webpack://wooftech/./node_modules/has/src/index.js","webpack://wooftech/./node_modules/hasown/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/math-intrinsics/abs.js","webpack://wooftech/./node_modules/math-intrinsics/floor.js","webpack://wooftech/./node_modules/math-intrinsics/max.js","webpack://wooftech/./node_modules/math-intrinsics/min.js","webpack://wooftech/./node_modules/math-intrinsics/pow.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/node_modules/call-bind/index.js","webpack://wooftech/./node_modules/object.assign/node_modules/has-symbols/shams.js","webpack://wooftech/./node_modules/object.assign/polyfill.js","webpack://wooftech/./node_modules/object.assign/shim.js","webpack://wooftech/./node_modules/own-keys/index.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/safe-push-apply/index.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/set-function-length/node_modules/get-intrinsic/index.js","webpack://wooftech/./node_modules/set-function-length/node_modules/has-proto/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/function-bind/implementation.js","webpack://wooftech/./node_modules/side-channel/node_modules/function-bind/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/classnames/index.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/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 {ShapeComponent} from \"set-state-compare/src/shape-component\"\n\nexport default class BaseComponent extends ShapeComponent {\n // Nothing yet.\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","/**\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 bind = require('function-bind');\n\nvar $apply = require('./functionApply');\nvar $call = require('./functionCall');\nvar $reflectApply = require('./reflectApply');\n\n/** @type {import('./actualApply')} */\nmodule.exports = $reflectApply || bind.call($call, $apply);\n","'use strict';\n\nvar bind = require('function-bind');\nvar $apply = require('./functionApply');\nvar actualApply = require('./actualApply');\n\n/** @type {import('./applyBind')} */\nmodule.exports = function applyBind() {\n\treturn actualApply(bind, $apply, arguments);\n};\n","'use strict';\n\n/** @type {import('./functionApply')} */\nmodule.exports = Function.prototype.apply;\n","'use strict';\n\n/** @type {import('./functionCall')} */\nmodule.exports = Function.prototype.call;\n","'use strict';\n\nvar bind = require('function-bind');\nvar $TypeError = require('es-errors/type');\n\nvar $call = require('./functionCall');\nvar $actualApply = require('./actualApply');\n\n/** @type {import('.')} */\nmodule.exports = function callBindBasic(args) {\n\tif (args.length < 1 || typeof args[0] !== 'function') {\n\t\tthrow new $TypeError('a function is required');\n\t}\n\treturn $actualApply(bind, $call, args);\n};\n","'use strict';\n\n/** @type {import('./reflectApply')} */\nmodule.exports = typeof Reflect !== 'undefined' && Reflect && Reflect.apply;\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\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\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","'use strict';\n\nvar GetIntrinsic = require('get-intrinsic');\n\nvar callBindBasic = require('call-bind-apply-helpers');\n\n/** @type {(thisArg: string, searchString: string, position?: number) => number} */\nvar $indexOf = callBindBasic([GetIntrinsic('%String.prototype.indexOf%')]);\n\n/** @type {import('.')} */\nmodule.exports = function callBoundIntrinsic(name, allowMissing) {\n\t// eslint-disable-next-line no-extra-parens\n\tvar intrinsic = /** @type {Parameters[0][0]} */ (GetIntrinsic(name, !!allowMissing));\n\tif (typeof intrinsic === 'function' && $indexOf(name, '.prototype.') > -1) {\n\t\treturn callBindBasic([intrinsic]);\n\t}\n\treturn intrinsic;\n};\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","import { createContext } from \"react\";\nimport { shapeComponent, ShapeComponent } from \"set-state-compare/src/shape-component\";\nimport { HostsContext } from \"./portal-host\";\nimport memo from \"set-state-compare/src/memo\";\nconst PortalsContext = createContext();\nexport { PortalsContext };\nexport default memo(shapeComponent(class ConjointmentPortalProvider extends ShapeComponent {\n hosts = {};\n newHosts = {};\n portals = {};\n providerValue = { provider: this };\n registerHost(host) {\n const name = host.p.name;\n this.tt.hosts[name] = host;\n for (const key in this.tt.portals) {\n const portal = this.tt.portals[key];\n if (portal.p.host == name) {\n host.registerPortal(portal);\n }\n }\n }\n registerPortal(portal) {\n this.portals[portal.tt.id] = portal;\n }\n unregisterHost(host) {\n delete this.tt.hosts[host.p.name];\n }\n unregisterPortal(portal) {\n delete this.portals[portal.tt.id];\n }\n render() {\n return (React.createElement(PortalsContext.Provider, { value: this },\n React.createElement(HostsContext.Provider, { value: this.tt.newHosts }, this.props.children)));\n }\n}));\n//# sourceMappingURL=portal-provider.js.map","import { createContext, Fragment, useContext, useEffect } from \"react\";\nimport { shapeComponent, ShapeComponent } from \"set-state-compare/src/shape-component\";\nimport memo from \"set-state-compare/src/memo\";\nimport { PortalsContext } from \"./portal-provider\";\nimport PropTypes from \"prop-types\";\nimport propTypesExact from \"prop-types-exact\";\nconst HostsContext = createContext();\nexport { HostsContext };\nexport default memo(shapeComponent(class ConjointmentPortalHost extends ShapeComponent {\n static defaultProps = {\n name: \"base\",\n placement: \"above\"\n };\n static propTypes = propTypesExact({\n children: PropTypes.node,\n name: PropTypes.string.isRequired,\n placement: PropTypes.string.isRequired\n });\n setup() {\n const { hosts } = useContext(HostsContext);\n this.provider = useContext(PortalsContext);\n this.newHosts = Object.assign({}, hosts);\n this.newHosts[this.p.name] = this;\n if (!this.provider)\n throw new Error(\"No provider was set\");\n this.useStates({\n portals: {}\n });\n useEffect(() => {\n this.provider.registerHost(this);\n return () => {\n this.provider.unregisterHost(this);\n };\n }, []);\n }\n registerPortal(portal) {\n const newPortals = Object.assign({}, this.s.portals);\n newPortals[portal.tt.id] = portal.props.children;\n this.setState({ portals: newPortals });\n }\n setContent(portal) {\n const newPortals = Object.assign({}, this.s.portals);\n if (!(portal.tt.id in newPortals))\n throw new Error(`No such portal: ${portal.p.name} (${portal.tt.id})`);\n newPortals[portal.tt.id] = portal.props.children;\n this.setState({ portals: newPortals });\n }\n unregisterPortal(portal) {\n const newPortals = Object.assign({}, this.s.portals);\n delete newPortals[portal.tt.id];\n this.setState({ portals: newPortals });\n }\n render() {\n return (React.createElement(HostsContext.Provider, { value: { host: this, hosts: this.tt.newHosts } },\n this.p.placement == \"above\" && this.portalContent(),\n this.props.children,\n this.p.placement == \"below\" && this.portalContent()));\n }\n portalContent = () => Object.keys(this.s.portals).map((id) => React.createElement(Fragment, { key: `portal-${id}` }, this.s.portals[id]));\n}));\n//# sourceMappingURL=portal-host.js.map","import { shapeComponent, ShapeComponent } from \"set-state-compare/src/shape-component\";\nimport { HostsContext } from \"./portal-host\";\nimport memo from \"set-state-compare/src/memo\";\nimport { useContext, useEffect, useMemo } from \"react\";\nimport { PortalsContext } from \"./portal-provider\";\nimport PropTypes from \"prop-types\";\nimport propTypesExact from \"prop-types-exact\";\nconst shared = {\n idCount: 0\n};\nexport default memo(shapeComponent(class ConjointmentPortal extends ShapeComponent {\n static defaultProps = {\n host: \"base\"\n };\n static propTypes = propTypesExact({\n children: PropTypes.node,\n host: PropTypes.string.isRequired,\n name: PropTypes.string\n });\n id = shared.idCount++;\n mounted = false;\n setup() {\n const { host, hosts } = useContext(HostsContext);\n this.lastHost = host;\n this.provider = useContext(PortalsContext);\n this.host = hosts[this.p.host];\n if (!this.host)\n throw new Error(`Couldn't find host ${this.p.host} for ${this.props.name || this.tt.id} in ${Object.keys(hosts).join(\", \")}`);\n if (!this.provider)\n throw new Error(\"No provider was set\");\n if (this.mounted)\n this.host?.setContent(this);\n useEffect(() => {\n this.provider.registerPortal(this);\n this.host?.registerPortal(this);\n this.host?.setContent(this);\n this.mounted = true;\n return () => {\n this.host?.unregisterPortal(this);\n this.provider.unregisterPortal(this);\n };\n }, []);\n }\n render = () => null;\n}));\n//# sourceMappingURL=portal.js.map","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\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 $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 callBind = require('call-bind-apply-helpers');\nvar gOPD = require('gopd');\n\nvar hasProtoAccessor;\ntry {\n\t// eslint-disable-next-line no-extra-parens, no-proto\n\thasProtoAccessor = /** @type {{ __proto__?: typeof Array.prototype }} */ ([]).__proto__ === Array.prototype;\n} catch (e) {\n\tif (!e || typeof e !== 'object' || !('code' in e) || e.code !== 'ERR_PROTO_ACCESS') {\n\t\tthrow e;\n\t}\n}\n\n// eslint-disable-next-line no-extra-parens\nvar desc = !!hasProtoAccessor && gOPD && gOPD(Object.prototype, /** @type {keyof typeof Object.prototype} */ ('__proto__'));\n\nvar $Object = Object;\nvar $getPrototypeOf = $Object.getPrototypeOf;\n\n/** @type {import('./get')} */\nmodule.exports = desc && typeof desc.get === 'function'\n\t? callBind([desc.get])\n\t: typeof $getPrototypeOf === 'function'\n\t\t? /** @type {import('./get')} */ function getDunder(value) {\n\t\t\t// eslint-disable-next-line eqeqeq\n\t\t\treturn $getPrototypeOf(value == null ? value : $Object(value));\n\t\t}\n\t\t: false;\n","'use strict';\n\n/** @type {import('./gOPD')} */\nmodule.exports = Object.getOwnPropertyDescriptor;\n","'use strict';\n\n/** @type {import('.')} */\nvar $gOPD = require('./gOPD');\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 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\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\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","'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\n/** @type {import('.')} */\nmodule.exports = Object;\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 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 undefined;\n\nvar $Object = require('es-object-atoms');\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 abs = require('math-intrinsics/abs');\nvar floor = require('math-intrinsics/floor');\nvar max = require('math-intrinsics/max');\nvar min = require('math-intrinsics/min');\nvar pow = require('math-intrinsics/pow');\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 = require('gopd');\nvar $defineProperty = require('es-define-property');\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 getDunderProto = require('dunder-proto/get');\n\nvar getProto = (typeof Reflect === 'function' && Reflect.getPrototypeOf)\n\t|| $Object.getPrototypeOf\n\t|| getDunderProto;\n\nvar $apply = require('call-bind-apply-helpers/functionApply');\nvar $call = require('call-bind-apply-helpers/functionCall');\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'%Object.getOwnPropertyDescriptor%': $gOPD,\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\t'%Function.prototype.call%': $call,\n\t'%Function.prototype.apply%': $apply,\n\t'%Object.defineProperty%': $defineProperty,\n\t'%Math.abs%': abs,\n\t'%Math.floor%': floor,\n\t'%Math.max%': max,\n\t'%Math.min%': min,\n\t'%Math.pow%': pow\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($call, Array.prototype.concat);\nvar $spliceApply = bind.call($apply, Array.prototype.splice);\nvar $replace = bind.call($call, String.prototype.replace);\nvar $strSlice = bind.call($call, String.prototype.slice);\nvar $exec = bind.call($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/** @type {import('.')} */\nvar $defineProperty = Object.defineProperty || 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('./gOPD')} */\nmodule.exports = Object.getOwnPropertyDescriptor;\n","'use strict';\n\n/** @type {import('.')} */\nvar $gOPD = require('./gOPD');\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 origSymbol = typeof Symbol !== 'undefined' && Symbol;\nvar hasSymbolSham = require('./shams');\n\n/** @type {import('.')} */\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/** @type {import('./shams')} */\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\t/** @type {{ [k in symbol]?: unknown }} */\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 (var _ 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\t// eslint-disable-next-line no-extra-parens\n\t\tvar descriptor = /** @type {PropertyDescriptor} */ (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 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\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 $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\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 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","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\n/** @type {import('./abs')} */\nmodule.exports = Math.abs;\n","'use strict';\n\n/** @type {import('./floor')} */\nmodule.exports = Math.floor;\n","'use strict';\n\n/** @type {import('./max')} */\nmodule.exports = Math.max;\n","'use strict';\n\n/** @type {import('./min')} */\nmodule.exports = Math.min;\n","'use strict';\n\n/** @type {import('./pow')} */\nmodule.exports = Math.pow;\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-bound');\nvar $Object = require('es-object-atoms');\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 = $Object(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 = $Object(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 setFunctionLength = require('set-function-length');\n\nvar $defineProperty = require('es-define-property');\n\nvar callBindBasic = require('call-bind-apply-helpers');\nvar applyBind = require('call-bind-apply-helpers/applyBind');\n\nmodule.exports = function callBind(originalFunction) {\n\tvar func = callBindBasic(arguments);\n\tvar adjustedLength = originalFunction.length - (arguments.length - 1);\n\treturn setFunctionLength(\n\t\tfunc,\n\t\t1 + (adjustedLength > 0 ? adjustedLength : 0),\n\t\ttrue\n\t);\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/** @type {import('./shams')} */\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\t/** @type {{ [k in symbol]?: unknown }} */\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 (var _ 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\t// eslint-disable-next-line no-extra-parens\n\t\tvar descriptor = /** @type {PropertyDescriptor} */ (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 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","'use strict';\n\nvar GetIntrinsic = require('get-intrinsic');\n\nvar safePushApply = require('safe-push-apply');\n\nvar $ownKeys = GetIntrinsic('%Reflect.ownKeys%', true);\nvar $gOPN = GetIntrinsic('%Object.getOwnPropertyNames%', true);\nvar $gOPS = GetIntrinsic('%Object.getOwnPropertySymbols%', true);\n\nvar keys = require('object-keys');\n\n/** @type {import('.')} */\nmodule.exports = $ownKeys || function ownKeys(source) {\n\t/** @type {(keyof typeof source)[]} */\n\tvar sourceKeys = ($gOPN || keys)(source);\n\tif ($gOPS) {\n\t\tsafePushApply(sourceKeys, $gOPS(source));\n\t}\n\treturn sourceKeys;\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('own-keys');\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-bound');\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>>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","'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\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","/*!\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\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 $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;","/*!\n\tCopyright (c) 2018 Jed Watson.\n\tLicensed under the MIT License (MIT), see\n\thttp://jedwatson.github.io/classnames\n*/\n/* global define */\n\n(function () {\n\t'use strict';\n\n\tvar hasOwn = {}.hasOwnProperty;\n\n\tfunction classNames () {\n\t\tvar classes = '';\n\n\t\tfor (var i = 0; i < arguments.length; i++) {\n\t\t\tvar arg = arguments[i];\n\t\t\tif (arg) {\n\t\t\t\tclasses = appendClass(classes, parseValue(arg));\n\t\t\t}\n\t\t}\n\n\t\treturn classes;\n\t}\n\n\tfunction parseValue (arg) {\n\t\tif (typeof arg === 'string' || typeof arg === 'number') {\n\t\t\treturn arg;\n\t\t}\n\n\t\tif (typeof arg !== 'object') {\n\t\t\treturn '';\n\t\t}\n\n\t\tif (Array.isArray(arg)) {\n\t\t\treturn classNames.apply(null, arg);\n\t\t}\n\n\t\tif (arg.toString !== Object.prototype.toString && !arg.toString.toString().includes('[native code]')) {\n\t\t\treturn arg.toString();\n\t\t}\n\n\t\tvar classes = '';\n\n\t\tfor (var key in arg) {\n\t\t\tif (hasOwn.call(arg, key) && arg[key]) {\n\t\t\t\tclasses = appendClass(classes, key);\n\t\t\t}\n\t\t}\n\n\t\treturn classes;\n\t}\n\n\tfunction appendClass (value, newClass) {\n\t\tif (!newClass) {\n\t\t\treturn value;\n\t\t}\n\t\n\t\tif (value) {\n\t\t\treturn value + ' ' + newClass;\n\t\t}\n\t\n\t\treturn value + newClass;\n\t}\n\n\tif (typeof module !== 'undefined' && module.exports) {\n\t\tclassNames.default = classNames;\n\t\tmodule.exports = classNames;\n\t} else if (typeof define === 'function' && typeof define.amd === 'object' && define.amd) {\n\t\t// register as 'classnames', consistent with npm package name\n\t\tdefine('classnames', [], function () {\n\t\t\treturn classNames;\n\t\t});\n\t} else {\n\t\twindow.classNames = classNames;\n\t}\n}());\n","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","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, args) => {\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 (!args?.silent) {\n if (shared.rendering > 0) {\n shared.renderingCallbacks.push(() => {\n setState(newValue)\n })\n } else {\n setState(newValue)\n }\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","const shared = {\n rendering: 0,\n renderingCallbacks: []\n}\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","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","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","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"],"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","_classCallCheck","_callSuper","arguments","_inherits","ShapeComponent","useRouter","props","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","concat","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","_this","_len","Array","_key","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","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","$apply","$call","$reflectApply","actualApply","Function","$TypeError","$actualApply","GetIntrinsic","callBind","$indexOf","allowMissing","intrinsic","setFunctionLength","$defineProperty","$max","originalFunction","func","applyBind","$Error","$EvalError","$RangeError","$ReferenceError","$SyntaxError","$URIError","$Function","getEvalledConstructor","expressionSyntax","$gOPD","getOwnPropertyDescriptor","throwTypeError","ThrowTypeError","calleeThrows","gOPDthrows","hasSymbols","hasProto","getProto","x","needsEval","TypedArray","Uint8Array","INTRINSICS","AggregateError","ArrayBuffer","Atomics","BigInt","BigInt64Array","BigUint64Array","DataView","decodeURI","decodeURIComponent","encodeURI","encodeURIComponent","eval","Float32Array","Float64Array","FinalizationRegistry","Int8Array","Int16Array","Int32Array","isFinite","Proxy","SharedArrayBuffer","Uint8ClampedArray","Uint16Array","Uint32Array","WeakMap","WeakRef","WeakSet","errorProto","doEval","fn","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","desc","foo","$Object","callBindBasic","clone","typeOf","isPlainObject","cloneDeep","val","instanceClone","res","cloneObjectDeep","cloneArrayDeep","isObject","isObjectObject","toString","ctor","prot","PortalsContext","createContext","hosts","newHosts","portals","providerValue","provider","registerHost","host","tt","portal","registerPortal","id","unregisterHost","unregisterPortal","render","Provider","HostsContext","static","placement","setup","useContext","useEffect","newPortals","setContent","portalContent","Fragment","shared","idCount","mounted","lastHost","_typeof","arr","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","j","jLen","_property","isUnitlessProperty","unprefixProperty","propertyWithoutPrefix","normalizeProperty","resolveArrayValue","unprefixValue","_hyphenateStyleName2","_hyphenateStyleName","__esModule","gopd","nonEnumerable","nonWritable","nonConfigurable","loose","toStr","defineDataProperty","supportsDescriptors","predicate","defineProperties","predicates","that","target","bound","boundLength","max","boundArgs","Empty","implementation","SyntaxError","EvalError","RangeError","URIError","hasPropertyDescriptors","hasArrayLengthDefineBug","hasProtoAccessor","gOPD","code","$getPrototypeOf","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","concatty","arrLike","offset","slicy","joiner","joiny","abs","floor","getDunderProto","origSymbol","hasSymbolSham","sym","symObj","_","syms","descriptor","$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","freeze","fromInteger","fromDecimal","rounder","decimal_digits","resultAmount","equals","self","subtract","multiply","multiplier","divide","divisor","allocate","ratios","remainder","results","total","ratio","share","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","shim","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","$push","$propIsEnumerable","originalGetSymbols","source1","getSymbols","nextKey","propValue","getPolyfill","polyfill","adjustedLength","letters","actual","lacksProperEnumerationOrder","preventExtensions","thrower","assignHasPendingExceptions","safePushApply","$ownKeys","$gOPN","$gOPS","sourceKeys","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","shape","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","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","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","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","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","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","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","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","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","rect","propagationWasStopped","domEventChangedTouches","domEventType","force","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","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","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","configuration","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","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","useHover","usePressEvents","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","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","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","$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","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","appendClass","parseValue","newClass","ReadersWriterLock","_debug","_readers","_writers","_processQueueTimeout","_readQueue","_writeQueue","_log","_readWithResolve","_writeWithResolve","_processRead","_processWrite","_processQueueLater","_processQueue","readQueueItem","writeQueueItem","FormDataToObject","toObject","formData","formDataFromObject","treatInitial","firstMatch","inputName","newResult","treatSecond","secondMatch","newRest","precision","numberParts","wholeNumbers","decimals","numberWithDelimiters","valuesSeen","uniqueArray","_createForOfIteratorHelperLoose","_defineProperty","response","BaseError","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","globalThis","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","fetchingObject","variables","statesList","stateName","renderingCallbacks","stylingName","customStyling","dig","_useState3","stateValue","anythingDifferent","silent","ShapeClass","functionalComponent","actualProps","propsWithoutUndefined","validateProps","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":""}