{"version":3,"sources":["__prelude__","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/metro-runtime@0.80.12/node_modules/metro-runtime/src/polyfills/require.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/@react-native+js-polyfills@0.73.1/node_modules/@react-native/js-polyfills/console.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/@react-native+js-polyfills@0.73.1/node_modules/@react-native/js-polyfills/error-guard.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/@react-native+js-polyfills@0.73.1/node_modules/@react-native/js-polyfills/Object.es8.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/index.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/@tarojs+rn-supporter@4.1.0_lvpsg5nn5nv2ajqhysme2ppo2u/node_modules/@tarojs/rn-supporter/entry-file.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/react-native-gesture-handler@2.14.1_react-native@0.73.1_@babel+core@7.24.4_@babel+preset-env@_tmkimtkv5n2lql55evcao7oiuq/node_modules/react-native-gesture-handler/src/index.ts","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/react-native-gesture-handler@2.14.1_react-native@0.73.1_@babel+core@7.24.4_@babel+preset-env@_tmkimtkv5n2lql55evcao7oiuq/node_modules/react-native-gesture-handler/src/components/GestureButtons.tsx","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/@babel+runtime@7.24.4/node_modules/@babel/runtime/helpers/interopRequireDefault.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/@babel+runtime@7.24.4/node_modules/@babel/runtime/helpers/objectWithoutProperties.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/@babel+runtime@7.24.4/node_modules/@babel/runtime/helpers/objectWithoutPropertiesLoose.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/@babel+runtime@7.24.4/node_modules/@babel/runtime/helpers/classCallCheck.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/@babel+runtime@7.24.4/node_modules/@babel/runtime/helpers/createClass.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/@babel+runtime@7.24.4/node_modules/@babel/runtime/helpers/toPropertyKey.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/@babel+runtime@7.24.4/node_modules/@babel/runtime/helpers/toPrimitive.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/@babel+runtime@7.24.4/node_modules/@babel/runtime/helpers/typeof.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/@babel+runtime@7.24.4/node_modules/@babel/runtime/helpers/possibleConstructorReturn.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/@babel+runtime@7.24.4/node_modules/@babel/runtime/helpers/assertThisInitialized.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/@babel+runtime@7.24.4/node_modules/@babel/runtime/helpers/getPrototypeOf.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/@babel+runtime@7.24.4/node_modules/@babel/runtime/helpers/inherits.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/@babel+runtime@7.24.4/node_modules/@babel/runtime/helpers/setPrototypeOf.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/react@18.3.1/node_modules/react/index.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/react@18.3.1/node_modules/react/cjs/react.development.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/react-native@0.73.1_@babel+core@7.24.4_@babel+preset-env@7.29.0_@babel+core@7.24.4__react@18.3.1/node_modules/react-native/index.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/react-native@0.73.1_@babel+core@7.24.4_@babel+preset-env@7.29.0_@babel+core@7.24.4__react@18.3.1/node_modules/react-native/Libraries/Components/AccessibilityInfo/AccessibilityInfo.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/react-native@0.73.1_@babel+core@7.24.4_@babel+preset-env@7.29.0_@babel+core@7.24.4__react@18.3.1/node_modules/react-native/Libraries/EventEmitter/RCTDeviceEventEmitter.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/@babel+runtime@7.24.4/node_modules/@babel/runtime/helpers/get.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/@babel+runtime@7.24.4/node_modules/@babel/runtime/helpers/superPropBase.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/react-native@0.73.1_@babel+core@7.24.4_@babel+preset-env@7.29.0_@babel+core@7.24.4__react@18.3.1/node_modules/react-native/Libraries/vendor/emitter/EventEmitter.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/@babel+runtime@7.24.4/node_modules/@babel/runtime/helpers/classPrivateFieldLooseBase.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/@babel+runtime@7.24.4/node_modules/@babel/runtime/helpers/classPrivateFieldLooseKey.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/react-native@0.73.1_@babel+core@7.24.4_@babel+preset-env@7.29.0_@babel+core@7.24.4__react@18.3.1/node_modules/react-native/Libraries/Performance/Systrace.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/react-native@0.73.1_@babel+core@7.24.4_@babel+preset-env@7.29.0_@babel+core@7.24.4__react@18.3.1/node_modules/react-native/Libraries/Utilities/Platform.ios.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/react-native@0.73.1_@babel+core@7.24.4_@babel+preset-env@7.29.0_@babel+core@7.24.4__react@18.3.1/node_modules/react-native/Libraries/Utilities/NativePlatformConstantsIOS.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/react-native@0.73.1_@babel+core@7.24.4_@babel+preset-env@7.29.0_@babel+core@7.24.4__react@18.3.1/node_modules/react-native/Libraries/TurboModule/TurboModuleRegistry.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/invariant@2.2.4/node_modules/invariant/browser.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/react-native@0.73.1_@babel+core@7.24.4_@babel+preset-env@7.29.0_@babel+core@7.24.4__react@18.3.1/node_modules/react-native/Libraries/BatchedBridge/NativeModules.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/@babel+runtime@7.24.4/node_modules/@babel/runtime/helpers/slicedToArray.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/@babel+runtime@7.24.4/node_modules/@babel/runtime/helpers/arrayWithHoles.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/@babel+runtime@7.24.4/node_modules/@babel/runtime/helpers/iterableToArrayLimit.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/@babel+runtime@7.24.4/node_modules/@babel/runtime/helpers/unsupportedIterableToArray.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/@babel+runtime@7.24.4/node_modules/@babel/runtime/helpers/arrayLikeToArray.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/@babel+runtime@7.24.4/node_modules/@babel/runtime/helpers/nonIterableRest.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/react-native@0.73.1_@babel+core@7.24.4_@babel+preset-env@7.29.0_@babel+core@7.24.4__react@18.3.1/node_modules/react-native/Libraries/BatchedBridge/BatchedBridge.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/react-native@0.73.1_@babel+core@7.24.4_@babel+preset-env@7.29.0_@babel+core@7.24.4__react@18.3.1/node_modules/react-native/Libraries/BatchedBridge/MessageQueue.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/@babel+runtime@7.24.4/node_modules/@babel/runtime/helpers/toConsumableArray.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/@babel+runtime@7.24.4/node_modules/@babel/runtime/helpers/arrayWithoutHoles.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/@babel+runtime@7.24.4/node_modules/@babel/runtime/helpers/iterableToArray.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/@babel+runtime@7.24.4/node_modules/@babel/runtime/helpers/nonIterableSpread.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/react-native@0.73.1_@babel+core@7.24.4_@babel+preset-env@7.29.0_@babel+core@7.24.4__react@18.3.1/node_modules/react-native/Libraries/vendor/core/ErrorUtils.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/react-native@0.73.1_@babel+core@7.24.4_@babel+preset-env@7.29.0_@babel+core@7.24.4__react@18.3.1/node_modules/react-native/Libraries/Utilities/stringifySafe.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/react-native@0.73.1_@babel+core@7.24.4_@babel+preset-env@7.29.0_@babel+core@7.24.4__react@18.3.1/node_modules/react-native/Libraries/Utilities/defineLazyObjectProperty.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/react-native@0.73.1_@babel+core@7.24.4_@babel+preset-env@7.29.0_@babel+core@7.24.4__react@18.3.1/node_modules/react-native/Libraries/Components/AccessibilityInfo/legacySendAccessibilityEvent.ios.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/react-native@0.73.1_@babel+core@7.24.4_@babel+preset-env@7.29.0_@babel+core@7.24.4__react@18.3.1/node_modules/react-native/Libraries/Components/AccessibilityInfo/NativeAccessibilityManager.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/react-native@0.73.1_@babel+core@7.24.4_@babel+preset-env@7.29.0_@babel+core@7.24.4__react@18.3.1/node_modules/react-native/Libraries/Components/AccessibilityInfo/NativeAccessibilityInfo.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/react-native@0.73.1_@babel+core@7.24.4_@babel+preset-env@7.29.0_@babel+core@7.24.4__react@18.3.1/node_modules/react-native/Libraries/ReactNative/RendererProxy.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/react-native@0.73.1_@babel+core@7.24.4_@babel+preset-env@7.29.0_@babel+core@7.24.4__react@18.3.1/node_modules/react-native/Libraries/ReactNative/RendererImplementation.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/react-native@0.73.1_@babel+core@7.24.4_@babel+preset-env@7.29.0_@babel+core@7.24.4__react@18.3.1/node_modules/react-native/Libraries/Renderer/shims/ReactFabric.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/react-native@0.73.1_@babel+core@7.24.4_@babel+preset-env@7.29.0_@babel+core@7.24.4__react@18.3.1/node_modules/react-native/Libraries/Renderer/implementations/ReactFabric-prod.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/react-native@0.73.1_@babel+core@7.24.4_@babel+preset-env@7.29.0_@babel+core@7.24.4__react@18.3.1/node_modules/react-native/Libraries/ReactPrivate/ReactNativePrivateInitializeCore.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/react-native@0.73.1_@babel+core@7.24.4_@babel+preset-env@7.29.0_@babel+core@7.24.4__react@18.3.1/node_modules/react-native/Libraries/Core/InitializeCore.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/react-native@0.73.1_@babel+core@7.24.4_@babel+preset-env@7.29.0_@babel+core@7.24.4__react@18.3.1/node_modules/react-native/Libraries/Core/setUpGlobals.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/react-native@0.73.1_@babel+core@7.24.4_@babel+preset-env@7.29.0_@babel+core@7.24.4__react@18.3.1/node_modules/react-native/Libraries/Core/setUpDOM.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/react-native@0.73.1_@babel+core@7.24.4_@babel+preset-env@7.29.0_@babel+core@7.24.4__react@18.3.1/node_modules/react-native/Libraries/DOM/Geometry/DOMRect.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/react-native@0.73.1_@babel+core@7.24.4_@babel+preset-env@7.29.0_@babel+core@7.24.4__react@18.3.1/node_modules/react-native/Libraries/DOM/Geometry/DOMRectReadOnly.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/react-native@0.73.1_@babel+core@7.24.4_@babel+preset-env@7.29.0_@babel+core@7.24.4__react@18.3.1/node_modules/react-native/Libraries/Core/setUpPerformance.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/react-native@0.73.1_@babel+core@7.24.4_@babel+preset-env@7.29.0_@babel+core@7.24.4__react@18.3.1/node_modules/react-native/Libraries/WebPerformance/NativePerformance.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/react-native@0.73.1_@babel+core@7.24.4_@babel+preset-env@7.29.0_@babel+core@7.24.4__react@18.3.1/node_modules/react-native/Libraries/WebPerformance/Performance.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/@babel+runtime@7.24.4/node_modules/@babel/runtime/helpers/readOnlyError.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/react-native@0.73.1_@babel+core@7.24.4_@babel+preset-env@7.29.0_@babel+core@7.24.4__react@18.3.1/node_modules/react-native/Libraries/Utilities/warnOnce.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/react-native@0.73.1_@babel+core@7.24.4_@babel+preset-env@7.29.0_@babel+core@7.24.4__react@18.3.1/node_modules/react-native/Libraries/WebPerformance/EventCounts.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/react-native@0.73.1_@babel+core@7.24.4_@babel+preset-env@7.29.0_@babel+core@7.24.4__react@18.3.1/node_modules/react-native/Libraries/WebPerformance/NativePerformanceObserver.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/react-native@0.73.1_@babel+core@7.24.4_@babel+preset-env@7.29.0_@babel+core@7.24.4__react@18.3.1/node_modules/react-native/Libraries/WebPerformance/PerformanceObserver.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/react-native@0.73.1_@babel+core@7.24.4_@babel+preset-env@7.29.0_@babel+core@7.24.4__react@18.3.1/node_modules/react-native/Libraries/WebPerformance/RawPerformanceEntry.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/react-native@0.73.1_@babel+core@7.24.4_@babel+preset-env@7.29.0_@babel+core@7.24.4__react@18.3.1/node_modules/react-native/Libraries/WebPerformance/PerformanceEventTiming.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/react-native@0.73.1_@babel+core@7.24.4_@babel+preset-env@7.29.0_@babel+core@7.24.4__react@18.3.1/node_modules/react-native/Libraries/WebPerformance/PerformanceEntry.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/react-native@0.73.1_@babel+core@7.24.4_@babel+preset-env@7.29.0_@babel+core@7.24.4__react@18.3.1/node_modules/react-native/Libraries/WebPerformance/MemoryInfo.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/react-native@0.73.1_@babel+core@7.24.4_@babel+preset-env@7.29.0_@babel+core@7.24.4__react@18.3.1/node_modules/react-native/Libraries/WebPerformance/ReactNativeStartupTiming.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/react-native@0.73.1_@babel+core@7.24.4_@babel+preset-env@7.29.0_@babel+core@7.24.4__react@18.3.1/node_modules/react-native/Libraries/Core/setUpErrorHandling.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/react-native@0.73.1_@babel+core@7.24.4_@babel+preset-env@7.29.0_@babel+core@7.24.4__react@18.3.1/node_modules/react-native/Libraries/Core/ExceptionsManager.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/@babel+runtime@7.24.4/node_modules/@babel/runtime/helpers/wrapNativeSuper.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/@babel+runtime@7.24.4/node_modules/@babel/runtime/helpers/isNativeFunction.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/@babel+runtime@7.24.4/node_modules/@babel/runtime/helpers/construct.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/@babel+runtime@7.24.4/node_modules/@babel/runtime/helpers/isNativeReflectConstruct.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/react-native@0.73.1_@babel+core@7.24.4_@babel+preset-env@7.29.0_@babel+core@7.24.4__react@18.3.1/node_modules/react-native/Libraries/Core/Devtools/parseErrorStack.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/stacktrace-parser@0.1.11/node_modules/stacktrace-parser/dist/stack-trace-parser.cjs.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/react-native@0.73.1_@babel+core@7.24.4_@babel+preset-env@7.29.0_@babel+core@7.24.4__react@18.3.1/node_modules/react-native/Libraries/Core/Devtools/parseHermesStack.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/react-native@0.73.1_@babel+core@7.24.4_@babel+preset-env@7.29.0_@babel+core@7.24.4__react@18.3.1/node_modules/react-native/Libraries/Core/NativeExceptionsManager.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/react-native@0.73.1_@babel+core@7.24.4_@babel+preset-env@7.29.0_@babel+core@7.24.4__react@18.3.1/node_modules/react-native/Libraries/Core/polyfillPromise.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/react-native@0.73.1_@babel+core@7.24.4_@babel+preset-env@7.29.0_@babel+core@7.24.4__react@18.3.1/node_modules/react-native/Libraries/Utilities/PolyfillFunctions.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/react-native@0.73.1_@babel+core@7.24.4_@babel+preset-env@7.29.0_@babel+core@7.24.4__react@18.3.1/node_modules/react-native/Libraries/Promise.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/promise@8.3.0/node_modules/promise/setimmediate/finally.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/promise@8.3.0/node_modules/promise/setimmediate/core.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/promise@8.3.0/node_modules/promise/setimmediate/es6-extensions.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/react-native@0.73.1_@babel+core@7.24.4_@babel+preset-env@7.29.0_@babel+core@7.24.4__react@18.3.1/node_modules/react-native/Libraries/Core/setUpRegeneratorRuntime.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/react-native@0.73.1_@babel+core@7.24.4_@babel+preset-env@7.29.0_@babel+core@7.24.4__react@18.3.1/node_modules/react-native/Libraries/Utilities/FeatureDetection.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/regenerator-runtime@0.13.11/node_modules/regenerator-runtime/runtime.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/react-native@0.73.1_@babel+core@7.24.4_@babel+preset-env@7.29.0_@babel+core@7.24.4__react@18.3.1/node_modules/react-native/Libraries/Core/setUpTimers.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/react-native@0.73.1_@babel+core@7.24.4_@babel+preset-env@7.29.0_@babel+core@7.24.4__react@18.3.1/node_modules/react-native/Libraries/Core/Timers/JSTimers.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/react-native@0.73.1_@babel+core@7.24.4_@babel+preset-env@7.29.0_@babel+core@7.24.4__react@18.3.1/node_modules/react-native/Libraries/Core/Timers/NativeTiming.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/react-native@0.73.1_@babel+core@7.24.4_@babel+preset-env@7.29.0_@babel+core@7.24.4__react@18.3.1/node_modules/react-native/Libraries/Core/Timers/immediateShim.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/react-native@0.73.1_@babel+core@7.24.4_@babel+preset-env@7.29.0_@babel+core@7.24.4__react@18.3.1/node_modules/react-native/Libraries/Core/Timers/queueMicrotask.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/react-native@0.73.1_@babel+core@7.24.4_@babel+preset-env@7.29.0_@babel+core@7.24.4__react@18.3.1/node_modules/react-native/Libraries/Core/setUpXHR.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/react-native@0.73.1_@babel+core@7.24.4_@babel+preset-env@7.29.0_@babel+core@7.24.4__react@18.3.1/node_modules/react-native/Libraries/Network/XMLHttpRequest.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/event-target-shim@5.0.1/node_modules/event-target-shim/dist/event-target-shim.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/react-native@0.73.1_@babel+core@7.24.4_@babel+preset-env@7.29.0_@babel+core@7.24.4__react@18.3.1/node_modules/react-native/Libraries/Blob/BlobManager.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/react-native@0.73.1_@babel+core@7.24.4_@babel+preset-env@7.29.0_@babel+core@7.24.4__react@18.3.1/node_modules/react-native/Libraries/Blob/NativeBlobModule.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/base64-js@1.5.1/node_modules/base64-js/index.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/react-native@0.73.1_@babel+core@7.24.4_@babel+preset-env@7.29.0_@babel+core@7.24.4__react@18.3.1/node_modules/react-native/Libraries/Blob/Blob.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/react-native@0.73.1_@babel+core@7.24.4_@babel+preset-env@7.29.0_@babel+core@7.24.4__react@18.3.1/node_modules/react-native/Libraries/Blob/BlobRegistry.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/react-native@0.73.1_@babel+core@7.24.4_@babel+preset-env@7.29.0_@babel+core@7.24.4__react@18.3.1/node_modules/react-native/Libraries/Utilities/GlobalPerformanceLogger.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/react-native@0.73.1_@babel+core@7.24.4_@babel+preset-env@7.29.0_@babel+core@7.24.4__react@18.3.1/node_modules/react-native/Libraries/Utilities/createPerformanceLogger.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/react-native@0.73.1_@babel+core@7.24.4_@babel+preset-env@7.29.0_@babel+core@7.24.4__react@18.3.1/node_modules/react-native/Libraries/ReactNative/ReactNativeFeatureFlags.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/react-native@0.73.1_@babel+core@7.24.4_@babel+preset-env@7.29.0_@babel+core@7.24.4__react@18.3.1/node_modules/react-native/Libraries/Utilities/infoLog.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/react-native@0.73.1_@babel+core@7.24.4_@babel+preset-env@7.29.0_@babel+core@7.24.4__react@18.3.1/node_modules/react-native/Libraries/Network/RCTNetworking.ios.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/react-native@0.73.1_@babel+core@7.24.4_@babel+preset-env@7.29.0_@babel+core@7.24.4__react@18.3.1/node_modules/react-native/Libraries/Network/convertRequestBody.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/react-native@0.73.1_@babel+core@7.24.4_@babel+preset-env@7.29.0_@babel+core@7.24.4__react@18.3.1/node_modules/react-native/Libraries/Network/FormData.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/react-native@0.73.1_@babel+core@7.24.4_@babel+preset-env@7.29.0_@babel+core@7.24.4__react@18.3.1/node_modules/react-native/Libraries/Utilities/binaryToBase64.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/react-native@0.73.1_@babel+core@7.24.4_@babel+preset-env@7.29.0_@babel+core@7.24.4__react@18.3.1/node_modules/react-native/Libraries/Network/NativeNetworkingIOS.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/react-native@0.73.1_@babel+core@7.24.4_@babel+preset-env@7.29.0_@babel+core@7.24.4__react@18.3.1/node_modules/react-native/Libraries/Network/fetch.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/whatwg-fetch@3.6.20/node_modules/whatwg-fetch/dist/fetch.umd.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/react-native@0.73.1_@babel+core@7.24.4_@babel+preset-env@7.29.0_@babel+core@7.24.4__react@18.3.1/node_modules/react-native/Libraries/WebSocket/WebSocket.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/react-native@0.73.1_@babel+core@7.24.4_@babel+preset-env@7.29.0_@babel+core@7.24.4__react@18.3.1/node_modules/react-native/Libraries/EventEmitter/NativeEventEmitter.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/react-native@0.73.1_@babel+core@7.24.4_@babel+preset-env@7.29.0_@babel+core@7.24.4__react@18.3.1/node_modules/react-native/Libraries/WebSocket/NativeWebSocketModule.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/react-native@0.73.1_@babel+core@7.24.4_@babel+preset-env@7.29.0_@babel+core@7.24.4__react@18.3.1/node_modules/react-native/Libraries/WebSocket/WebSocketEvent.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/react-native@0.73.1_@babel+core@7.24.4_@babel+preset-env@7.29.0_@babel+core@7.24.4__react@18.3.1/node_modules/react-native/Libraries/Blob/File.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/react-native@0.73.1_@babel+core@7.24.4_@babel+preset-env@7.29.0_@babel+core@7.24.4__react@18.3.1/node_modules/react-native/Libraries/Blob/FileReader.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/react-native@0.73.1_@babel+core@7.24.4_@babel+preset-env@7.29.0_@babel+core@7.24.4__react@18.3.1/node_modules/react-native/Libraries/Blob/NativeFileReaderModule.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/react-native@0.73.1_@babel+core@7.24.4_@babel+preset-env@7.29.0_@babel+core@7.24.4__react@18.3.1/node_modules/react-native/Libraries/Blob/URL.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/abort-controller@3.0.0/node_modules/abort-controller/dist/abort-controller.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/react-native@0.73.1_@babel+core@7.24.4_@babel+preset-env@7.29.0_@babel+core@7.24.4__react@18.3.1/node_modules/react-native/Libraries/Core/setUpAlert.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/react-native@0.73.1_@babel+core@7.24.4_@babel+preset-env@7.29.0_@babel+core@7.24.4__react@18.3.1/node_modules/react-native/Libraries/Alert/Alert.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/react-native@0.73.1_@babel+core@7.24.4_@babel+preset-env@7.29.0_@babel+core@7.24.4__react@18.3.1/node_modules/react-native/Libraries/Alert/RCTAlertManager.ios.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/react-native@0.73.1_@babel+core@7.24.4_@babel+preset-env@7.29.0_@babel+core@7.24.4__react@18.3.1/node_modules/react-native/Libraries/Alert/NativeAlertManager.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/react-native@0.73.1_@babel+core@7.24.4_@babel+preset-env@7.29.0_@babel+core@7.24.4__react@18.3.1/node_modules/react-native/Libraries/NativeModules/specs/NativeDialogManagerAndroid.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/react-native@0.73.1_@babel+core@7.24.4_@babel+preset-env@7.29.0_@babel+core@7.24.4__react@18.3.1/node_modules/react-native/Libraries/Core/setUpNavigator.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/react-native@0.73.1_@babel+core@7.24.4_@babel+preset-env@7.29.0_@babel+core@7.24.4__react@18.3.1/node_modules/react-native/Libraries/Core/setUpBatchedBridge.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/react-native@0.73.1_@babel+core@7.24.4_@babel+preset-env@7.29.0_@babel+core@7.24.4__react@18.3.1/node_modules/react-native/Libraries/HeapCapture/HeapCapture.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/react-native@0.73.1_@babel+core@7.24.4_@babel+preset-env@7.29.0_@babel+core@7.24.4__react@18.3.1/node_modules/react-native/Libraries/HeapCapture/NativeJSCHeapCapture.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/react-native@0.73.1_@babel+core@7.24.4_@babel+preset-env@7.29.0_@babel+core@7.24.4__react@18.3.1/node_modules/react-native/Libraries/Performance/SamplingProfiler.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/react-native@0.73.1_@babel+core@7.24.4_@babel+preset-env@7.29.0_@babel+core@7.24.4__react@18.3.1/node_modules/react-native/Libraries/Performance/NativeJSCSamplingProfiler.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/react-native@0.73.1_@babel+core@7.24.4_@babel+preset-env@7.29.0_@babel+core@7.24.4__react@18.3.1/node_modules/react-native/Libraries/Utilities/RCTLog.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/react-native@0.73.1_@babel+core@7.24.4_@babel+preset-env@7.29.0_@babel+core@7.24.4__react@18.3.1/node_modules/react-native/Libraries/EventEmitter/RCTNativeAppEventEmitter.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/react-native@0.73.1_@babel+core@7.24.4_@babel+preset-env@7.29.0_@babel+core@7.24.4__react@18.3.1/node_modules/react-native/Libraries/Utilities/HMRClientProdShim.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/react-native@0.73.1_@babel+core@7.24.4_@babel+preset-env@7.29.0_@babel+core@7.24.4__react@18.3.1/node_modules/react-native/Libraries/Core/setUpSegmentFetcher.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/react-native@0.73.1_@babel+core@7.24.4_@babel+preset-env@7.29.0_@babel+core@7.24.4__react@18.3.1/node_modules/react-native/Libraries/Core/SegmentFetcher/NativeSegmentFetcher.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/react-native@0.73.1_@babel+core@7.24.4_@babel+preset-env@7.29.0_@babel+core@7.24.4__react@18.3.1/node_modules/react-native/Libraries/ReactNative/AppRegistry.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/react-native@0.73.1_@babel+core@7.24.4_@babel+preset-env@7.29.0_@babel+core@7.24.4__react@18.3.1/node_modules/react-native/Libraries/BugReporting/BugReporting.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/react-native@0.73.1_@babel+core@7.24.4_@babel+preset-env@7.29.0_@babel+core@7.24.4__react@18.3.1/node_modules/react-native/Libraries/NativeModules/specs/NativeRedBox.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/react-native@0.73.1_@babel+core@7.24.4_@babel+preset-env@7.29.0_@babel+core@7.24.4__react@18.3.1/node_modules/react-native/Libraries/BugReporting/NativeBugReporting.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/react-native@0.73.1_@babel+core@7.24.4_@babel+preset-env@7.29.0_@babel+core@7.24.4__react@18.3.1/node_modules/react-native/Libraries/BugReporting/dumpReactTree.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/react-native@0.73.1_@babel+core@7.24.4_@babel+preset-env@7.29.0_@babel+core@7.24.4__react@18.3.1/node_modules/react-native/Libraries/Utilities/SceneTracker.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/react-native@0.73.1_@babel+core@7.24.4_@babel+preset-env@7.29.0_@babel+core@7.24.4__react@18.3.1/node_modules/react-native/Libraries/ReactNative/HeadlessJsTaskError.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/react-native@0.73.1_@babel+core@7.24.4_@babel+preset-env@7.29.0_@babel+core@7.24.4__react@18.3.1/node_modules/react-native/Libraries/ReactNative/NativeHeadlessJsTaskSupport.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/react-native@0.73.1_@babel+core@7.24.4_@babel+preset-env@7.29.0_@babel+core@7.24.4__react@18.3.1/node_modules/react-native/Libraries/ReactNative/renderApplication.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/react-native@0.73.1_@babel+core@7.24.4_@babel+preset-env@7.29.0_@babel+core@7.24.4__react@18.3.1/node_modules/react-native/Libraries/Utilities/PerformanceLoggerContext.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/react-native@0.73.1_@babel+core@7.24.4_@babel+preset-env@7.29.0_@babel+core@7.24.4__react@18.3.1/node_modules/react-native/Libraries/ReactNative/AppContainer.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/react-native@0.73.1_@babel+core@7.24.4_@babel+preset-env@7.29.0_@babel+core@7.24.4__react@18.3.1/node_modules/react-native/Libraries/Components/View/View.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/react-native@0.73.1_@babel+core@7.24.4_@babel+preset-env@7.29.0_@babel+core@7.24.4__react@18.3.1/node_modules/react-native/Libraries/StyleSheet/flattenStyle.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/react-native@0.73.1_@babel+core@7.24.4_@babel+preset-env@7.29.0_@babel+core@7.24.4__react@18.3.1/node_modules/react-native/Libraries/Text/TextAncestor.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/react-native@0.73.1_@babel+core@7.24.4_@babel+preset-env@7.29.0_@babel+core@7.24.4__react@18.3.1/node_modules/react-native/Libraries/Components/View/ViewNativeComponent.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/react-native@0.73.1_@babel+core@7.24.4_@babel+preset-env@7.29.0_@babel+core@7.24.4__react@18.3.1/node_modules/react-native/Libraries/NativeComponent/NativeComponentRegistry.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/react-native@0.73.1_@babel+core@7.24.4_@babel+preset-env@7.29.0_@babel+core@7.24.4__react@18.3.1/node_modules/react-native/Libraries/ReactNative/getNativeComponentAttributes.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/react-native@0.73.1_@babel+core@7.24.4_@babel+preset-env@7.29.0_@babel+core@7.24.4__react@18.3.1/node_modules/react-native/Libraries/ReactNative/UIManager.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/nullthrows@1.1.1/node_modules/nullthrows/nullthrows.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/react-native@0.73.1_@babel+core@7.24.4_@babel+preset-env@7.29.0_@babel+core@7.24.4__react@18.3.1/node_modules/react-native/Libraries/ReactNative/BridgelessUIManager.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/react-native@0.73.1_@babel+core@7.24.4_@babel+preset-env@7.29.0_@babel+core@7.24.4__react@18.3.1/node_modules/react-native/Libraries/NativeComponent/NativeComponentRegistryUnstable.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/react-native@0.73.1_@babel+core@7.24.4_@babel+preset-env@7.29.0_@babel+core@7.24.4__react@18.3.1/node_modules/react-native/Libraries/ReactNative/PaperUIManager.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/react-native@0.73.1_@babel+core@7.24.4_@babel+preset-env@7.29.0_@babel+core@7.24.4__react@18.3.1/node_modules/react-native/Libraries/ReactNative/NativeUIManager.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/react-native@0.73.1_@babel+core@7.24.4_@babel+preset-env@7.29.0_@babel+core@7.24.4__react@18.3.1/node_modules/react-native/Libraries/ReactNative/UIManagerProperties.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/react-native@0.73.1_@babel+core@7.24.4_@babel+preset-env@7.29.0_@babel+core@7.24.4__react@18.3.1/node_modules/react-native/Libraries/ReactNative/FabricUIManager.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/react-native@0.73.1_@babel+core@7.24.4_@babel+preset-env@7.29.0_@babel+core@7.24.4__react@18.3.1/node_modules/react-native/Libraries/Components/View/ReactNativeStyleAttributes.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/react-native@0.73.1_@babel+core@7.24.4_@babel+preset-env@7.29.0_@babel+core@7.24.4__react@18.3.1/node_modules/react-native/Libraries/StyleSheet/processAspectRatio.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/react-native@0.73.1_@babel+core@7.24.4_@babel+preset-env@7.29.0_@babel+core@7.24.4__react@18.3.1/node_modules/react-native/Libraries/StyleSheet/processColor.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/react-native@0.73.1_@babel+core@7.24.4_@babel+preset-env@7.29.0_@babel+core@7.24.4__react@18.3.1/node_modules/react-native/Libraries/StyleSheet/normalizeColor.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/@react-native+normalize-colors@0.73.2/node_modules/@react-native/normalize-colors/index.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/react-native@0.73.1_@babel+core@7.24.4_@babel+preset-env@7.29.0_@babel+core@7.24.4__react@18.3.1/node_modules/react-native/Libraries/StyleSheet/PlatformColorValueTypes.ios.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/react-native@0.73.1_@babel+core@7.24.4_@babel+preset-env@7.29.0_@babel+core@7.24.4__react@18.3.1/node_modules/react-native/Libraries/StyleSheet/processFontVariant.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/react-native@0.73.1_@babel+core@7.24.4_@babel+preset-env@7.29.0_@babel+core@7.24.4__react@18.3.1/node_modules/react-native/Libraries/StyleSheet/processTransform.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/@babel+runtime@7.24.4/node_modules/@babel/runtime/helpers/defineProperty.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/react-native@0.73.1_@babel+core@7.24.4_@babel+preset-env@7.29.0_@babel+core@7.24.4__react@18.3.1/node_modules/react-native/Libraries/StyleSheet/processTransformOrigin.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/react-native@0.73.1_@babel+core@7.24.4_@babel+preset-env@7.29.0_@babel+core@7.24.4__react@18.3.1/node_modules/react-native/Libraries/Utilities/differ/sizesDiffer.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/react-native@0.73.1_@babel+core@7.24.4_@babel+preset-env@7.29.0_@babel+core@7.24.4__react@18.3.1/node_modules/react-native/Libraries/Utilities/differ/matricesDiffer.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/react-native@0.73.1_@babel+core@7.24.4_@babel+preset-env@7.29.0_@babel+core@7.24.4__react@18.3.1/node_modules/react-native/Libraries/Utilities/differ/pointsDiffer.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/react-native@0.73.1_@babel+core@7.24.4_@babel+preset-env@7.29.0_@babel+core@7.24.4__react@18.3.1/node_modules/react-native/Libraries/Utilities/differ/insetsDiffer.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/react-native@0.73.1_@babel+core@7.24.4_@babel+preset-env@7.29.0_@babel+core@7.24.4__react@18.3.1/node_modules/react-native/Libraries/StyleSheet/processColorArray.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/react-native@0.73.1_@babel+core@7.24.4_@babel+preset-env@7.29.0_@babel+core@7.24.4__react@18.3.1/node_modules/react-native/Libraries/Image/resolveAssetSource.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/react-native@0.73.1_@babel+core@7.24.4_@babel+preset-env@7.29.0_@babel+core@7.24.4__react@18.3.1/node_modules/react-native/Libraries/NativeModules/specs/NativeSourceCode.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/@react-native+assets-registry@0.73.1/node_modules/@react-native/assets-registry/registry.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/react-native@0.73.1_@babel+core@7.24.4_@babel+preset-env@7.29.0_@babel+core@7.24.4__react@18.3.1/node_modules/react-native/Libraries/Image/AssetSourceResolver.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/react-native@0.73.1_@babel+core@7.24.4_@babel+preset-env@7.29.0_@babel+core@7.24.4__react@18.3.1/node_modules/react-native/Libraries/Image/AssetUtils.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/react-native@0.73.1_@babel+core@7.24.4_@babel+preset-env@7.29.0_@babel+core@7.24.4__react@18.3.1/node_modules/react-native/Libraries/Utilities/PixelRatio.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/react-native@0.73.1_@babel+core@7.24.4_@babel+preset-env@7.29.0_@babel+core@7.24.4__react@18.3.1/node_modules/react-native/Libraries/Utilities/Dimensions.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/react-native@0.73.1_@babel+core@7.24.4_@babel+preset-env@7.29.0_@babel+core@7.24.4__react@18.3.1/node_modules/react-native/Libraries/Utilities/NativeDeviceInfo.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/@react-native+assets-registry@0.73.1/node_modules/@react-native/assets-registry/path-support.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/react-native@0.73.1_@babel+core@7.24.4_@babel+preset-env@7.29.0_@babel+core@7.24.4__react@18.3.1/node_modules/react-native/Libraries/Renderer/shims/ReactNativeViewConfigRegistry.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/react-native@0.73.1_@babel+core@7.24.4_@babel+preset-env@7.29.0_@babel+core@7.24.4__react@18.3.1/node_modules/react-native/Libraries/Utilities/verifyComponentAttributeEquivalence.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/react-native@0.73.1_@babel+core@7.24.4_@babel+preset-env@7.29.0_@babel+core@7.24.4__react@18.3.1/node_modules/react-native/Libraries/NativeComponent/PlatformBaseViewConfig.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/react-native@0.73.1_@babel+core@7.24.4_@babel+preset-env@7.29.0_@babel+core@7.24.4__react@18.3.1/node_modules/react-native/Libraries/NativeComponent/BaseViewConfig.ios.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/react-native@0.73.1_@babel+core@7.24.4_@babel+preset-env@7.29.0_@babel+core@7.24.4__react@18.3.1/node_modules/react-native/Libraries/NativeComponent/ViewConfigIgnore.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/react-native@0.73.1_@babel+core@7.24.4_@babel+preset-env@7.29.0_@babel+core@7.24.4__react@18.3.1/node_modules/react-native/Libraries/NativeComponent/StaticViewConfigValidator.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/react-native@0.73.1_@babel+core@7.24.4_@babel+preset-env@7.29.0_@babel+core@7.24.4__react@18.3.1/node_modules/react-native/Libraries/NativeComponent/ViewConfig.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/react-native@0.73.1_@babel+core@7.24.4_@babel+preset-env@7.29.0_@babel+core@7.24.4__react@18.3.1/node_modules/react-native/Libraries/Utilities/codegenNativeCommands.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/react@18.3.1/node_modules/react/jsx-runtime.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/react@18.3.1/node_modules/react/cjs/react-jsx-runtime.development.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/react-native@0.73.1_@babel+core@7.24.4_@babel+preset-env@7.29.0_@babel+core@7.24.4__react@18.3.1/node_modules/react-native/Libraries/StyleSheet/StyleSheet.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/react-native@0.73.1_@babel+core@7.24.4_@babel+preset-env@7.29.0_@babel+core@7.24.4__react@18.3.1/node_modules/react-native/Libraries/Inspector/DevtoolsOverlay.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/react-native@0.73.1_@babel+core@7.24.4_@babel+preset-env@7.29.0_@babel+core@7.24.4__react@18.3.1/node_modules/react-native/Libraries/Inspector/ElementBox.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/react-native@0.73.1_@babel+core@7.24.4_@babel+preset-env@7.29.0_@babel+core@7.24.4__react@18.3.1/node_modules/react-native/Libraries/Inspector/resolveBoxStyle.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/react-native@0.73.1_@babel+core@7.24.4_@babel+preset-env@7.29.0_@babel+core@7.24.4__react@18.3.1/node_modules/react-native/Libraries/ReactNative/I18nManager.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/react-native@0.73.1_@babel+core@7.24.4_@babel+preset-env@7.29.0_@babel+core@7.24.4__react@18.3.1/node_modules/react-native/Libraries/ReactNative/NativeI18nManager.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/react-native@0.73.1_@babel+core@7.24.4_@babel+preset-env@7.29.0_@babel+core@7.24.4__react@18.3.1/node_modules/react-native/Libraries/Inspector/BorderBox.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/react-native@0.73.1_@babel+core@7.24.4_@babel+preset-env@7.29.0_@babel+core@7.24.4__react@18.3.1/node_modules/react-native/Libraries/Inspector/getInspectorDataForViewAtPoint.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/react-native@0.73.1_@babel+core@7.24.4_@babel+preset-env@7.29.0_@babel+core@7.24.4__react@18.3.1/node_modules/react-native/Libraries/Components/TraceUpdateOverlay/TraceUpdateOverlay.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/react-native@0.73.1_@babel+core@7.24.4_@babel+preset-env@7.29.0_@babel+core@7.24.4__react@18.3.1/node_modules/react-native/Libraries/Components/TraceUpdateOverlay/TraceUpdateOverlayNativeComponent.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/react-native@0.73.1_@babel+core@7.24.4_@babel+preset-env@7.29.0_@babel+core@7.24.4__react@18.3.1/node_modules/react-native/Libraries/Utilities/codegenNativeComponent.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/react-native@0.73.1_@babel+core@7.24.4_@babel+preset-env@7.29.0_@babel+core@7.24.4__react@18.3.1/node_modules/react-native/Libraries/ReactNative/requireNativeComponent.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/react-native@0.73.1_@babel+core@7.24.4_@babel+preset-env@7.29.0_@babel+core@7.24.4__react@18.3.1/node_modules/react-native/Libraries/Renderer/shims/createReactNativeComponentClass.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/react-native@0.73.1_@babel+core@7.24.4_@babel+preset-env@7.29.0_@babel+core@7.24.4__react@18.3.1/node_modules/react-native/Libraries/ReactPrivate/ReactNativePrivateInterface.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/react-native@0.73.1_@babel+core@7.24.4_@babel+preset-env@7.29.0_@babel+core@7.24.4__react@18.3.1/node_modules/react-native/Libraries/EventEmitter/RCTEventEmitter.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/react-native@0.73.1_@babel+core@7.24.4_@babel+preset-env@7.29.0_@babel+core@7.24.4__react@18.3.1/node_modules/react-native/Libraries/Components/TextInput/TextInputState.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/react-native@0.73.1_@babel+core@7.24.4_@babel+preset-env@7.29.0_@babel+core@7.24.4__react@18.3.1/node_modules/react-native/Libraries/Components/TextInput/RCTSingelineTextInputNativeComponent.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/react-native@0.73.1_@babel+core@7.24.4_@babel+preset-env@7.29.0_@babel+core@7.24.4__react@18.3.1/node_modules/react-native/Libraries/Components/TextInput/RCTTextInputViewConfig.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/react-native@0.73.1_@babel+core@7.24.4_@babel+preset-env@7.29.0_@babel+core@7.24.4__react@18.3.1/node_modules/react-native/Libraries/Utilities/differ/deepDiffer.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/react-native@0.73.1_@babel+core@7.24.4_@babel+preset-env@7.29.0_@babel+core@7.24.4__react@18.3.1/node_modules/react-native/Libraries/Utilities/deepFreezeAndThrowOnMutationInDev.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/react-native@0.73.1_@babel+core@7.24.4_@babel+preset-env@7.29.0_@babel+core@7.24.4__react@18.3.1/node_modules/react-native/Libraries/Core/ReactFiberErrorDialog.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/react-native@0.73.1_@babel+core@7.24.4_@babel+preset-env@7.29.0_@babel+core@7.24.4__react@18.3.1/node_modules/react-native/Libraries/Core/RawEventEmitter.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/react-native@0.73.1_@babel+core@7.24.4_@babel+preset-env@7.29.0_@babel+core@7.24.4__react@18.3.1/node_modules/react-native/Libraries/Events/CustomEvent.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/react-native@0.73.1_@babel+core@7.24.4_@babel+preset-env@7.29.0_@babel+core@7.24.4__react@18.3.1/node_modules/react-native/Libraries/Events/EventPolyfill.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/react-native@0.73.1_@babel+core@7.24.4_@babel+preset-env@7.29.0_@babel+core@7.24.4__react@18.3.1/node_modules/react-native/Libraries/ReactNative/ReactFabricPublicInstance/ReactNativeAttributePayload.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/react-native@0.73.1_@babel+core@7.24.4_@babel+preset-env@7.29.0_@babel+core@7.24.4__react@18.3.1/node_modules/react-native/Libraries/ReactNative/ReactFabricPublicInstance/ReactFabricPublicInstance.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/react-native@0.73.1_@babel+core@7.24.4_@babel+preset-env@7.29.0_@babel+core@7.24.4__react@18.3.1/node_modules/react-native/Libraries/DOM/Nodes/ReactNativeElement.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/react-native@0.73.1_@babel+core@7.24.4_@babel+preset-env@7.29.0_@babel+core@7.24.4__react@18.3.1/node_modules/react-native/Libraries/ReactNative/ReactFabricPublicInstance/warnForStyleProps.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/react-native@0.73.1_@babel+core@7.24.4_@babel+preset-env@7.29.0_@babel+core@7.24.4__react@18.3.1/node_modules/react-native/Libraries/DOM/Nodes/ReadOnlyElement.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/react-native@0.73.1_@babel+core@7.24.4_@babel+preset-env@7.29.0_@babel+core@7.24.4__react@18.3.1/node_modules/react-native/Libraries/DOM/Nodes/ReadOnlyNode.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/react-native@0.73.1_@babel+core@7.24.4_@babel+preset-env@7.29.0_@babel+core@7.24.4__react@18.3.1/node_modules/react-native/Libraries/DOM/OldStyleCollections/NodeList.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/react-native@0.73.1_@babel+core@7.24.4_@babel+preset-env@7.29.0_@babel+core@7.24.4__react@18.3.1/node_modules/react-native/Libraries/DOM/OldStyleCollections/ArrayLikeUtils.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/react-native@0.73.1_@babel+core@7.24.4_@babel+preset-env@7.29.0_@babel+core@7.24.4__react@18.3.1/node_modules/react-native/Libraries/DOM/OldStyleCollections/HTMLCollection.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/react-native@0.73.1_@babel+core@7.24.4_@babel+preset-env@7.29.0_@babel+core@7.24.4__react@18.3.1/node_modules/react-native/Libraries/DOM/Nodes/Utilities/Traversal.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/react-native@0.73.1_@babel+core@7.24.4_@babel+preset-env@7.29.0_@babel+core@7.24.4__react@18.3.1/node_modules/react-native/Libraries/ReactNative/ReactFabricPublicInstance/ReactFabricHostComponent.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/react-native@0.73.1_@babel+core@7.24.4_@babel+preset-env@7.29.0_@babel+core@7.24.4__react@18.3.1/node_modules/react-native/Libraries/DOM/Nodes/ReadOnlyText.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/react-native@0.73.1_@babel+core@7.24.4_@babel+preset-env@7.29.0_@babel+core@7.24.4__react@18.3.1/node_modules/react-native/Libraries/DOM/Nodes/ReadOnlyCharacterData.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/react-native@0.73.1_@babel+core@7.24.4_@babel+preset-env@7.29.0_@babel+core@7.24.4__react@18.3.1/node_modules/react-native/Libraries/ReactNative/RootTag.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/react-native@0.73.1_@babel+core@7.24.4_@babel+preset-env@7.29.0_@babel+core@7.24.4__react@18.3.1/node_modules/react-native/Libraries/ReactNative/DisplayMode.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/react-native@0.73.1_@babel+core@7.24.4_@babel+preset-env@7.29.0_@babel+core@7.24.4__react@18.3.1/node_modules/react-native/Libraries/ReactNative/getCachedComponentWithDebugName.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/react-native@0.73.1_@babel+core@7.24.4_@babel+preset-env@7.29.0_@babel+core@7.24.4__react@18.3.1/node_modules/react-native/Libraries/Utilities/BackHandler.ios.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/react-native@0.73.1_@babel+core@7.24.4_@babel+preset-env@7.29.0_@babel+core@7.24.4__react@18.3.1/node_modules/react-native/Libraries/Components/UnimplementedViews/UnimplementedView.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/scheduler@0.24.0-canary-efb381bbf-20230505/node_modules/scheduler/index.native.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/scheduler@0.24.0-canary-efb381bbf-20230505/node_modules/scheduler/cjs/scheduler.native.development.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/react-native@0.73.1_@babel+core@7.24.4_@babel+preset-env@7.29.0_@babel+core@7.24.4__react@18.3.1/node_modules/react-native/Libraries/Renderer/shims/ReactNative.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/react-native@0.73.1_@babel+core@7.24.4_@babel+preset-env@7.29.0_@babel+core@7.24.4__react@18.3.1/node_modules/react-native/Libraries/Renderer/implementations/ReactNativeRenderer-prod.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/react-native@0.73.1_@babel+core@7.24.4_@babel+preset-env@7.29.0_@babel+core@7.24.4__react@18.3.1/node_modules/react-native/Libraries/Components/ActivityIndicator/ActivityIndicator.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/react-native@0.73.1_@babel+core@7.24.4_@babel+preset-env@7.29.0_@babel+core@7.24.4__react@18.3.1/node_modules/react-native/Libraries/Components/ProgressBarAndroid/ProgressBarAndroid.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/react-native@0.73.1_@babel+core@7.24.4_@babel+preset-env@7.29.0_@babel+core@7.24.4__react@18.3.1/node_modules/react-native/Libraries/Components/ActivityIndicator/ActivityIndicatorViewNativeComponent.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/react-native@0.73.1_@babel+core@7.24.4_@babel+preset-env@7.29.0_@babel+core@7.24.4__react@18.3.1/node_modules/react-native/Libraries/Components/Button.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/react-native@0.73.1_@babel+core@7.24.4_@babel+preset-env@7.29.0_@babel+core@7.24.4__react@18.3.1/node_modules/react-native/Libraries/Text/Text.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/react-native@0.73.1_@babel+core@7.24.4_@babel+preset-env@7.29.0_@babel+core@7.24.4__react@18.3.1/node_modules/react-native/Libraries/Pressability/PressabilityDebug.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/react-native@0.73.1_@babel+core@7.24.4_@babel+preset-env@7.29.0_@babel+core@7.24.4__react@18.3.1/node_modules/react-native/Libraries/Pressability/usePressability.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/react-native@0.73.1_@babel+core@7.24.4_@babel+preset-env@7.29.0_@babel+core@7.24.4__react@18.3.1/node_modules/react-native/Libraries/Pressability/Pressability.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/react-native@0.73.1_@babel+core@7.24.4_@babel+preset-env@7.29.0_@babel+core@7.24.4__react@18.3.1/node_modules/react-native/Libraries/Components/Sound/SoundManager.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/react-native@0.73.1_@babel+core@7.24.4_@babel+preset-env@7.29.0_@babel+core@7.24.4__react@18.3.1/node_modules/react-native/Libraries/Components/Sound/NativeSoundManager.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/react-native@0.73.1_@babel+core@7.24.4_@babel+preset-env@7.29.0_@babel+core@7.24.4__react@18.3.1/node_modules/react-native/Libraries/Pressability/PressabilityPerformanceEventEmitter.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/react-native@0.73.1_@babel+core@7.24.4_@babel+preset-env@7.29.0_@babel+core@7.24.4__react@18.3.1/node_modules/react-native/Libraries/Pressability/HoverState.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/react-native@0.73.1_@babel+core@7.24.4_@babel+preset-env@7.29.0_@babel+core@7.24.4__react@18.3.1/node_modules/react-native/Libraries/StyleSheet/Rect.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/react-native@0.73.1_@babel+core@7.24.4_@babel+preset-env@7.29.0_@babel+core@7.24.4__react@18.3.1/node_modules/react-native/Libraries/Text/TextNativeComponent.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/deprecated-react-native-prop-types@5.0.0/node_modules/deprecated-react-native-prop-types/index.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/deprecated-react-native-prop-types@5.0.0/node_modules/deprecated-react-native-prop-types/DeprecatedColorPropType.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/deprecated-react-native-prop-types@5.0.0/node_modules/deprecated-react-native-prop-types/DeprecatedEdgeInsetsPropType.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/prop-types@15.8.1/node_modules/prop-types/index.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/react-is@16.13.1/node_modules/react-is/index.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/react-is@16.13.1/node_modules/react-is/cjs/react-is.development.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/prop-types@15.8.1/node_modules/prop-types/factoryWithTypeCheckers.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/prop-types@15.8.1/node_modules/prop-types/lib/ReactPropTypesSecret.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/prop-types@15.8.1/node_modules/prop-types/lib/has.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/object-assign@4.1.1/node_modules/object-assign/index.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/prop-types@15.8.1/node_modules/prop-types/checkPropTypes.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/deprecated-react-native-prop-types@5.0.0/node_modules/deprecated-react-native-prop-types/DeprecatedImagePropType.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/deprecated-react-native-prop-types@5.0.0/node_modules/deprecated-react-native-prop-types/DeprecatedViewPropTypes.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/deprecated-react-native-prop-types@5.0.0/node_modules/deprecated-react-native-prop-types/DeprecatedViewAccessibility.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/deprecated-react-native-prop-types@5.0.0/node_modules/deprecated-react-native-prop-types/DeprecatedStyleSheetPropType.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/deprecated-react-native-prop-types@5.0.0/node_modules/deprecated-react-native-prop-types/deprecatedCreateStrictShapeTypeChecker.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/deprecated-react-native-prop-types@5.0.0/node_modules/deprecated-react-native-prop-types/DeprecatedViewStylePropTypes.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/deprecated-react-native-prop-types@5.0.0/node_modules/deprecated-react-native-prop-types/DeprecatedLayoutPropTypes.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/deprecated-react-native-prop-types@5.0.0/node_modules/deprecated-react-native-prop-types/DeprecatedShadowPropTypesIOS.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/deprecated-react-native-prop-types@5.0.0/node_modules/deprecated-react-native-prop-types/DeprecatedTransformPropTypes.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/deprecated-react-native-prop-types@5.0.0/node_modules/deprecated-react-native-prop-types/DeprecatedImageSourcePropType.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/deprecated-react-native-prop-types@5.0.0/node_modules/deprecated-react-native-prop-types/DeprecatedImageStylePropTypes.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/deprecated-react-native-prop-types@5.0.0/node_modules/deprecated-react-native-prop-types/DeprecatedPointPropType.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/deprecated-react-native-prop-types@5.0.0/node_modules/deprecated-react-native-prop-types/DeprecatedTextInputPropTypes.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/deprecated-react-native-prop-types@5.0.0/node_modules/deprecated-react-native-prop-types/DeprecatedTextPropTypes.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/deprecated-react-native-prop-types@5.0.0/node_modules/deprecated-react-native-prop-types/DeprecatedTextStylePropTypes.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/react-native@0.73.1_@babel+core@7.24.4_@babel+preset-env@7.29.0_@babel+core@7.24.4__react@18.3.1/node_modules/react-native/Libraries/Components/Touchable/TouchableNativeFeedback.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/react-native@0.73.1_@babel+core@7.24.4_@babel+preset-env@7.29.0_@babel+core@7.24.4__react@18.3.1/node_modules/react-native/Libraries/Components/Touchable/TouchableOpacity.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/react-native@0.73.1_@babel+core@7.24.4_@babel+preset-env@7.29.0_@babel+core@7.24.4__react@18.3.1/node_modules/react-native/Libraries/Animated/Animated.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/react-native@0.73.1_@babel+core@7.24.4_@babel+preset-env@7.29.0_@babel+core@7.24.4__react@18.3.1/node_modules/react-native/Libraries/Animated/AnimatedImplementation.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/react-native@0.73.1_@babel+core@7.24.4_@babel+preset-env@7.29.0_@babel+core@7.24.4__react@18.3.1/node_modules/react-native/Libraries/Animated/animations/DecayAnimation.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/react-native@0.73.1_@babel+core@7.24.4_@babel+preset-env@7.29.0_@babel+core@7.24.4__react@18.3.1/node_modules/react-native/Libraries/Animated/NativeAnimatedHelper.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/react-native@0.73.1_@babel+core@7.24.4_@babel+preset-env@7.29.0_@babel+core@7.24.4__react@18.3.1/node_modules/react-native/Libraries/Animated/NativeAnimatedModule.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/react-native@0.73.1_@babel+core@7.24.4_@babel+preset-env@7.29.0_@babel+core@7.24.4__react@18.3.1/node_modules/react-native/Libraries/Animated/shouldUseTurboAnimatedModule.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/react-native@0.73.1_@babel+core@7.24.4_@babel+preset-env@7.29.0_@babel+core@7.24.4__react@18.3.1/node_modules/react-native/Libraries/Animated/NativeAnimatedTurboModule.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/react-native@0.73.1_@babel+core@7.24.4_@babel+preset-env@7.29.0_@babel+core@7.24.4__react@18.3.1/node_modules/react-native/Libraries/Animated/animations/Animation.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/react-native@0.73.1_@babel+core@7.24.4_@babel+preset-env@7.29.0_@babel+core@7.24.4__react@18.3.1/node_modules/react-native/Libraries/Animated/nodes/AnimatedColor.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/react-native@0.73.1_@babel+core@7.24.4_@babel+preset-env@7.29.0_@babel+core@7.24.4__react@18.3.1/node_modules/react-native/Libraries/Animated/nodes/AnimatedValue.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/react-native@0.73.1_@babel+core@7.24.4_@babel+preset-env@7.29.0_@babel+core@7.24.4__react@18.3.1/node_modules/react-native/Libraries/Interaction/InteractionManager.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/react-native@0.73.1_@babel+core@7.24.4_@babel+preset-env@7.29.0_@babel+core@7.24.4__react@18.3.1/node_modules/react-native/Libraries/Interaction/TaskQueue.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/react-native@0.73.1_@babel+core@7.24.4_@babel+preset-env@7.29.0_@babel+core@7.24.4__react@18.3.1/node_modules/react-native/Libraries/Animated/nodes/AnimatedInterpolation.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/react-native@0.73.1_@babel+core@7.24.4_@babel+preset-env@7.29.0_@babel+core@7.24.4__react@18.3.1/node_modules/react-native/Libraries/Animated/Easing.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/react-native@0.73.1_@babel+core@7.24.4_@babel+preset-env@7.29.0_@babel+core@7.24.4__react@18.3.1/node_modules/react-native/Libraries/Animated/bezier.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/react-native@0.73.1_@babel+core@7.24.4_@babel+preset-env@7.29.0_@babel+core@7.24.4__react@18.3.1/node_modules/react-native/Libraries/Animated/nodes/AnimatedWithChildren.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/react-native@0.73.1_@babel+core@7.24.4_@babel+preset-env@7.29.0_@babel+core@7.24.4__react@18.3.1/node_modules/react-native/Libraries/Animated/nodes/AnimatedNode.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/react-native@0.73.1_@babel+core@7.24.4_@babel+preset-env@7.29.0_@babel+core@7.24.4__react@18.3.1/node_modules/react-native/Libraries/Animated/nodes/AnimatedProps.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/react-native@0.73.1_@babel+core@7.24.4_@babel+preset-env@7.29.0_@babel+core@7.24.4__react@18.3.1/node_modules/react-native/Libraries/Animated/nodes/AnimatedObject.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/react-native@0.73.1_@babel+core@7.24.4_@babel+preset-env@7.29.0_@babel+core@7.24.4__react@18.3.1/node_modules/react-native/Libraries/Animated/nodes/AnimatedStyle.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/react-native@0.73.1_@babel+core@7.24.4_@babel+preset-env@7.29.0_@babel+core@7.24.4__react@18.3.1/node_modules/react-native/Libraries/Animated/nodes/AnimatedTransform.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/react-native@0.73.1_@babel+core@7.24.4_@babel+preset-env@7.29.0_@babel+core@7.24.4__react@18.3.1/node_modules/react-native/Libraries/Animated/AnimatedEvent.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/react-native@0.73.1_@babel+core@7.24.4_@babel+preset-env@7.29.0_@babel+core@7.24.4__react@18.3.1/node_modules/react-native/Libraries/Animated/nodes/AnimatedValueXY.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/react-native@0.73.1_@babel+core@7.24.4_@babel+preset-env@7.29.0_@babel+core@7.24.4__react@18.3.1/node_modules/react-native/Libraries/Animated/animations/SpringAnimation.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/react-native@0.73.1_@babel+core@7.24.4_@babel+preset-env@7.29.0_@babel+core@7.24.4__react@18.3.1/node_modules/react-native/Libraries/Animated/SpringConfig.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/react-native@0.73.1_@babel+core@7.24.4_@babel+preset-env@7.29.0_@babel+core@7.24.4__react@18.3.1/node_modules/react-native/Libraries/Animated/animations/TimingAnimation.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/react-native@0.73.1_@babel+core@7.24.4_@babel+preset-env@7.29.0_@babel+core@7.24.4__react@18.3.1/node_modules/react-native/Libraries/Animated/createAnimatedComponent.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/react-native@0.73.1_@babel+core@7.24.4_@babel+preset-env@7.29.0_@babel+core@7.24.4__react@18.3.1/node_modules/react-native/Libraries/Utilities/useMergeRefs.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/react-native@0.73.1_@babel+core@7.24.4_@babel+preset-env@7.29.0_@babel+core@7.24.4__react@18.3.1/node_modules/react-native/Libraries/Animated/useAnimatedProps.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/react-native@0.73.1_@babel+core@7.24.4_@babel+preset-env@7.29.0_@babel+core@7.24.4__react@18.3.1/node_modules/react-native/Libraries/Utilities/useRefEffect.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/react-native@0.73.1_@babel+core@7.24.4_@babel+preset-env@7.29.0_@babel+core@7.24.4__react@18.3.1/node_modules/react-native/Libraries/ReactNative/ReactFabricPublicInstance/ReactFabricPublicInstanceUtils.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/react-native@0.73.1_@babel+core@7.24.4_@babel+preset-env@7.29.0_@babel+core@7.24.4__react@18.3.1/node_modules/react-native/Libraries/Animated/nodes/AnimatedAddition.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/react-native@0.73.1_@babel+core@7.24.4_@babel+preset-env@7.29.0_@babel+core@7.24.4__react@18.3.1/node_modules/react-native/Libraries/Animated/nodes/AnimatedDiffClamp.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/react-native@0.73.1_@babel+core@7.24.4_@babel+preset-env@7.29.0_@babel+core@7.24.4__react@18.3.1/node_modules/react-native/Libraries/Animated/nodes/AnimatedDivision.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/react-native@0.73.1_@babel+core@7.24.4_@babel+preset-env@7.29.0_@babel+core@7.24.4__react@18.3.1/node_modules/react-native/Libraries/Animated/nodes/AnimatedModulo.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/react-native@0.73.1_@babel+core@7.24.4_@babel+preset-env@7.29.0_@babel+core@7.24.4__react@18.3.1/node_modules/react-native/Libraries/Animated/nodes/AnimatedMultiplication.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/react-native@0.73.1_@babel+core@7.24.4_@babel+preset-env@7.29.0_@babel+core@7.24.4__react@18.3.1/node_modules/react-native/Libraries/Animated/nodes/AnimatedSubtraction.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/react-native@0.73.1_@babel+core@7.24.4_@babel+preset-env@7.29.0_@babel+core@7.24.4__react@18.3.1/node_modules/react-native/Libraries/Animated/nodes/AnimatedTracking.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/react-native@0.73.1_@babel+core@7.24.4_@babel+preset-env@7.29.0_@babel+core@7.24.4__react@18.3.1/node_modules/react-native/Libraries/Animated/AnimatedMock.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/react-native@0.73.1_@babel+core@7.24.4_@babel+preset-env@7.29.0_@babel+core@7.24.4__react@18.3.1/node_modules/react-native/Libraries/Animated/components/AnimatedFlatList.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/react-native@0.73.1_@babel+core@7.24.4_@babel+preset-env@7.29.0_@babel+core@7.24.4__react@18.3.1/node_modules/react-native/Libraries/Lists/FlatList.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/memoize-one@5.2.1/node_modules/memoize-one/dist/memoize-one.cjs.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/@react-native+virtualized-lists@0.73.4_react-native@0.73.1_@babel+core@7.24.4_@babel+preset-e_mj34z3v4ylbzj5esfhosnzl4u4/node_modules/@react-native/virtualized-lists/index.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/@react-native+virtualized-lists@0.73.4_react-native@0.73.1_@babel+core@7.24.4_@babel+preset-e_mj34z3v4ylbzj5esfhosnzl4u4/node_modules/@react-native/virtualized-lists/Lists/VirtualizeUtils.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/@react-native+virtualized-lists@0.73.4_react-native@0.73.1_@babel+core@7.24.4_@babel+preset-e_mj34z3v4ylbzj5esfhosnzl4u4/node_modules/@react-native/virtualized-lists/Lists/VirtualizedList.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/@react-native+virtualized-lists@0.73.4_react-native@0.73.1_@babel+core@7.24.4_@babel+preset-e_mj34z3v4ylbzj5esfhosnzl4u4/node_modules/@react-native/virtualized-lists/Interaction/Batchinator.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/@react-native+virtualized-lists@0.73.4_react-native@0.73.1_@babel+core@7.24.4_@babel+preset-e_mj34z3v4ylbzj5esfhosnzl4u4/node_modules/@react-native/virtualized-lists/Utilities/clamp.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/@react-native+virtualized-lists@0.73.4_react-native@0.73.1_@babel+core@7.24.4_@babel+preset-e_mj34z3v4ylbzj5esfhosnzl4u4/node_modules/@react-native/virtualized-lists/Utilities/infoLog.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/@react-native+virtualized-lists@0.73.4_react-native@0.73.1_@babel+core@7.24.4_@babel+preset-e_mj34z3v4ylbzj5esfhosnzl4u4/node_modules/@react-native/virtualized-lists/Lists/ChildListCollection.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/@react-native+virtualized-lists@0.73.4_react-native@0.73.1_@babel+core@7.24.4_@babel+preset-e_mj34z3v4ylbzj5esfhosnzl4u4/node_modules/@react-native/virtualized-lists/Lists/FillRateHelper.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/@react-native+virtualized-lists@0.73.4_react-native@0.73.1_@babel+core@7.24.4_@babel+preset-e_mj34z3v4ylbzj5esfhosnzl4u4/node_modules/@react-native/virtualized-lists/Lists/ListMetricsAggregator.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/@react-native+virtualized-lists@0.73.4_react-native@0.73.1_@babel+core@7.24.4_@babel+preset-e_mj34z3v4ylbzj5esfhosnzl4u4/node_modules/@react-native/virtualized-lists/Lists/StateSafePureComponent.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/@react-native+virtualized-lists@0.73.4_react-native@0.73.1_@babel+core@7.24.4_@babel+preset-e_mj34z3v4ylbzj5esfhosnzl4u4/node_modules/@react-native/virtualized-lists/Lists/ViewabilityHelper.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/@react-native+virtualized-lists@0.73.4_react-native@0.73.1_@babel+core@7.24.4_@babel+preset-e_mj34z3v4ylbzj5esfhosnzl4u4/node_modules/@react-native/virtualized-lists/Lists/VirtualizedListCellRenderer.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/@react-native+virtualized-lists@0.73.4_react-native@0.73.1_@babel+core@7.24.4_@babel+preset-e_mj34z3v4ylbzj5esfhosnzl4u4/node_modules/@react-native/virtualized-lists/Lists/VirtualizedListContext.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/@react-native+virtualized-lists@0.73.4_react-native@0.73.1_@babel+core@7.24.4_@babel+preset-e_mj34z3v4ylbzj5esfhosnzl4u4/node_modules/@react-native/virtualized-lists/Lists/VirtualizedListProps.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/@react-native+virtualized-lists@0.73.4_react-native@0.73.1_@babel+core@7.24.4_@babel+preset-e_mj34z3v4ylbzj5esfhosnzl4u4/node_modules/@react-native/virtualized-lists/Lists/CellRenderMask.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/@react-native+virtualized-lists@0.73.4_react-native@0.73.1_@babel+core@7.24.4_@babel+preset-e_mj34z3v4ylbzj5esfhosnzl4u4/node_modules/@react-native/virtualized-lists/Lists/VirtualizedSectionList.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/react-native@0.73.1_@babel+core@7.24.4_@babel+preset-env@7.29.0_@babel+core@7.24.4__react@18.3.1/node_modules/react-native/Libraries/Animated/components/AnimatedImage.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/react-native@0.73.1_@babel+core@7.24.4_@babel+preset-env@7.29.0_@babel+core@7.24.4__react@18.3.1/node_modules/react-native/Libraries/Image/Image.ios.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/@babel+runtime@7.24.4/node_modules/@babel/runtime/helpers/asyncToGenerator.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/react-native@0.73.1_@babel+core@7.24.4_@babel+preset-env@7.29.0_@babel+core@7.24.4__react@18.3.1/node_modules/react-native/Libraries/Image/ImageAnalyticsTagContext.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/react-native@0.73.1_@babel+core@7.24.4_@babel+preset-env@7.29.0_@babel+core@7.24.4__react@18.3.1/node_modules/react-native/Libraries/Image/ImageInjection.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/react-native@0.73.1_@babel+core@7.24.4_@babel+preset-env@7.29.0_@babel+core@7.24.4__react@18.3.1/node_modules/react-native/Libraries/Image/ImageViewNativeComponent.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/react-native@0.73.1_@babel+core@7.24.4_@babel+preset-env@7.29.0_@babel+core@7.24.4__react@18.3.1/node_modules/react-native/Libraries/Image/TextInlineImageNativeComponent.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/react-native@0.73.1_@babel+core@7.24.4_@babel+preset-env@7.29.0_@babel+core@7.24.4__react@18.3.1/node_modules/react-native/Libraries/Image/NativeImageLoaderIOS.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/react-native@0.73.1_@babel+core@7.24.4_@babel+preset-env@7.29.0_@babel+core@7.24.4__react@18.3.1/node_modules/react-native/Libraries/Image/ImageSourceUtils.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/react-native@0.73.1_@babel+core@7.24.4_@babel+preset-env@7.29.0_@babel+core@7.24.4__react@18.3.1/node_modules/react-native/Libraries/Image/ImageUtils.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/react-native@0.73.1_@babel+core@7.24.4_@babel+preset-env@7.29.0_@babel+core@7.24.4__react@18.3.1/node_modules/react-native/Libraries/Animated/components/AnimatedScrollView.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/react-native@0.73.1_@babel+core@7.24.4_@babel+preset-env@7.29.0_@babel+core@7.24.4__react@18.3.1/node_modules/react-native/Libraries/Components/RefreshControl/RefreshControl.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/react-native@0.73.1_@babel+core@7.24.4_@babel+preset-env@7.29.0_@babel+core@7.24.4__react@18.3.1/node_modules/react-native/Libraries/Components/RefreshControl/AndroidSwipeRefreshLayoutNativeComponent.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/react-native@0.73.1_@babel+core@7.24.4_@babel+preset-env@7.29.0_@babel+core@7.24.4__react@18.3.1/node_modules/react-native/Libraries/Components/RefreshControl/PullToRefreshViewNativeComponent.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/react-native@0.73.1_@babel+core@7.24.4_@babel+preset-env@7.29.0_@babel+core@7.24.4__react@18.3.1/node_modules/react-native/Libraries/Components/ScrollView/ScrollView.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/react-native@0.73.1_@babel+core@7.24.4_@babel+preset-env@7.29.0_@babel+core@7.24.4__react@18.3.1/node_modules/react-native/Libraries/Interaction/FrameRateLogger.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/react-native@0.73.1_@babel+core@7.24.4_@babel+preset-env@7.29.0_@babel+core@7.24.4__react@18.3.1/node_modules/react-native/Libraries/Interaction/NativeFrameRateLogger.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/react-native@0.73.1_@babel+core@7.24.4_@babel+preset-env@7.29.0_@babel+core@7.24.4__react@18.3.1/node_modules/react-native/Libraries/StyleSheet/splitLayoutProps.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/react-native@0.73.1_@babel+core@7.24.4_@babel+preset-env@7.29.0_@babel+core@7.24.4__react@18.3.1/node_modules/react-native/Libraries/Utilities/dismissKeyboard.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/react-native@0.73.1_@babel+core@7.24.4_@babel+preset-env@7.29.0_@babel+core@7.24.4__react@18.3.1/node_modules/react-native/Libraries/Components/Keyboard/Keyboard.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/react-native@0.73.1_@babel+core@7.24.4_@babel+preset-env@7.29.0_@babel+core@7.24.4__react@18.3.1/node_modules/react-native/Libraries/LayoutAnimation/LayoutAnimation.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/react-native@0.73.1_@babel+core@7.24.4_@babel+preset-env@7.29.0_@babel+core@7.24.4__react@18.3.1/node_modules/react-native/Libraries/Components/Keyboard/NativeKeyboardObserver.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/react-native@0.73.1_@babel+core@7.24.4_@babel+preset-env@7.29.0_@babel+core@7.24.4__react@18.3.1/node_modules/react-native/Libraries/Components/ScrollView/AndroidHorizontalScrollContentViewNativeComponent.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/react-native@0.73.1_@babel+core@7.24.4_@babel+preset-env@7.29.0_@babel+core@7.24.4__react@18.3.1/node_modules/react-native/Libraries/Components/ScrollView/AndroidHorizontalScrollViewNativeComponent.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/react-native@0.73.1_@babel+core@7.24.4_@babel+preset-env@7.29.0_@babel+core@7.24.4__react@18.3.1/node_modules/react-native/Libraries/Components/ScrollView/processDecelerationRate.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/react-native@0.73.1_@babel+core@7.24.4_@babel+preset-env@7.29.0_@babel+core@7.24.4__react@18.3.1/node_modules/react-native/Libraries/Components/ScrollView/ScrollContentViewNativeComponent.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/react-native@0.73.1_@babel+core@7.24.4_@babel+preset-env@7.29.0_@babel+core@7.24.4__react@18.3.1/node_modules/react-native/Libraries/Components/ScrollView/ScrollViewCommands.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/react-native@0.73.1_@babel+core@7.24.4_@babel+preset-env@7.29.0_@babel+core@7.24.4__react@18.3.1/node_modules/react-native/Libraries/Components/ScrollView/ScrollViewContext.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/react-native@0.73.1_@babel+core@7.24.4_@babel+preset-env@7.29.0_@babel+core@7.24.4__react@18.3.1/node_modules/react-native/Libraries/Components/ScrollView/ScrollViewNativeComponent.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/react-native@0.73.1_@babel+core@7.24.4_@babel+preset-env@7.29.0_@babel+core@7.24.4__react@18.3.1/node_modules/react-native/Libraries/Components/ScrollView/ScrollViewStickyHeader.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/react-native@0.73.1_@babel+core@7.24.4_@babel+preset-env@7.29.0_@babel+core@7.24.4__react@18.3.1/node_modules/react-native/Libraries/Animated/components/AnimatedSectionList.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/react-native@0.73.1_@babel+core@7.24.4_@babel+preset-env@7.29.0_@babel+core@7.24.4__react@18.3.1/node_modules/react-native/Libraries/Lists/SectionList.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/react-native@0.73.1_@babel+core@7.24.4_@babel+preset-env@7.29.0_@babel+core@7.24.4__react@18.3.1/node_modules/react-native/Libraries/Animated/components/AnimatedText.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/react-native@0.73.1_@babel+core@7.24.4_@babel+preset-env@7.29.0_@babel+core@7.24.4__react@18.3.1/node_modules/react-native/Libraries/Animated/components/AnimatedView.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/react-native@0.73.1_@babel+core@7.24.4_@babel+preset-env@7.29.0_@babel+core@7.24.4__react@18.3.1/node_modules/react-native/Libraries/Components/DrawerAndroid/DrawerLayoutAndroid.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/react-native@0.73.1_@babel+core@7.24.4_@babel+preset-env@7.29.0_@babel+core@7.24.4__react@18.3.1/node_modules/react-native/Libraries/Image/ImageBackground.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/react-native@0.73.1_@babel+core@7.24.4_@babel+preset-env@7.29.0_@babel+core@7.24.4__react@18.3.1/node_modules/react-native/Libraries/Components/TextInput/InputAccessoryView.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/react-native@0.73.1_@babel+core@7.24.4_@babel+preset-env@7.29.0_@babel+core@7.24.4__react@18.3.1/node_modules/react-native/Libraries/Components/TextInput/RCTInputAccessoryViewNativeComponent.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/react-native@0.73.1_@babel+core@7.24.4_@babel+preset-env@7.29.0_@babel+core@7.24.4__react@18.3.1/node_modules/react-native/Libraries/Components/Keyboard/KeyboardAvoidingView.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/react-native@0.73.1_@babel+core@7.24.4_@babel+preset-env@7.29.0_@babel+core@7.24.4__react@18.3.1/node_modules/react-native/Libraries/Modal/Modal.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/react-native@0.73.1_@babel+core@7.24.4_@babel+preset-env@7.29.0_@babel+core@7.24.4__react@18.3.1/node_modules/react-native/Libraries/Modal/ModalInjection.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/react-native@0.73.1_@babel+core@7.24.4_@babel+preset-env@7.29.0_@babel+core@7.24.4__react@18.3.1/node_modules/react-native/Libraries/Modal/NativeModalManager.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/react-native@0.73.1_@babel+core@7.24.4_@babel+preset-env@7.29.0_@babel+core@7.24.4__react@18.3.1/node_modules/react-native/Libraries/Modal/RCTModalHostViewNativeComponent.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/react-native@0.73.1_@babel+core@7.24.4_@babel+preset-env@7.29.0_@babel+core@7.24.4__react@18.3.1/node_modules/react-native/Libraries/Components/Pressable/Pressable.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/react-native@0.73.1_@babel+core@7.24.4_@babel+preset-env@7.29.0_@babel+core@7.24.4__react@18.3.1/node_modules/react-native/Libraries/Components/Pressable/useAndroidRippleForView.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/react-native@0.73.1_@babel+core@7.24.4_@babel+preset-env@7.29.0_@babel+core@7.24.4__react@18.3.1/node_modules/react-native/Libraries/Components/SafeAreaView/SafeAreaView.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/react-native@0.73.1_@babel+core@7.24.4_@babel+preset-env@7.29.0_@babel+core@7.24.4__react@18.3.1/node_modules/react-native/Libraries/Components/SafeAreaView/RCTSafeAreaViewNativeComponent.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/react-native@0.73.1_@babel+core@7.24.4_@babel+preset-env@7.29.0_@babel+core@7.24.4__react@18.3.1/node_modules/react-native/Libraries/Components/StatusBar/StatusBar.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/react-native@0.73.1_@babel+core@7.24.4_@babel+preset-env@7.29.0_@babel+core@7.24.4__react@18.3.1/node_modules/react-native/Libraries/Components/StatusBar/NativeStatusBarManagerAndroid.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/react-native@0.73.1_@babel+core@7.24.4_@babel+preset-env@7.29.0_@babel+core@7.24.4__react@18.3.1/node_modules/react-native/Libraries/Components/StatusBar/NativeStatusBarManagerIOS.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/react-native@0.73.1_@babel+core@7.24.4_@babel+preset-env@7.29.0_@babel+core@7.24.4__react@18.3.1/node_modules/react-native/Libraries/Components/Switch/Switch.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/react-native@0.73.1_@babel+core@7.24.4_@babel+preset-env@7.29.0_@babel+core@7.24.4__react@18.3.1/node_modules/react-native/Libraries/Components/Switch/AndroidSwitchNativeComponent.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/react-native@0.73.1_@babel+core@7.24.4_@babel+preset-env@7.29.0_@babel+core@7.24.4__react@18.3.1/node_modules/react-native/Libraries/Components/Switch/SwitchNativeComponent.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/react-native@0.73.1_@babel+core@7.24.4_@babel+preset-env@7.29.0_@babel+core@7.24.4__react@18.3.1/node_modules/react-native/Libraries/Components/TextInput/TextInput.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/react-native@0.73.1_@babel+core@7.24.4_@babel+preset-env@7.29.0_@babel+core@7.24.4__react@18.3.1/node_modules/react-native/Libraries/Components/TextInput/AndroidTextInputNativeComponent.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/react-native@0.73.1_@babel+core@7.24.4_@babel+preset-env@7.29.0_@babel+core@7.24.4__react@18.3.1/node_modules/react-native/Libraries/Components/TextInput/RCTMultilineTextInputNativeComponent.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/react-native@0.73.1_@babel+core@7.24.4_@babel+preset-env@7.29.0_@babel+core@7.24.4__react@18.3.1/node_modules/react-native/Libraries/Components/Touchable/Touchable.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/react-native@0.73.1_@babel+core@7.24.4_@babel+preset-env@7.29.0_@babel+core@7.24.4__react@18.3.1/node_modules/react-native/Libraries/Components/Touchable/BoundingDimensions.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/react-native@0.73.1_@babel+core@7.24.4_@babel+preset-env@7.29.0_@babel+core@7.24.4__react@18.3.1/node_modules/react-native/Libraries/Components/Touchable/PooledClass.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/react-native@0.73.1_@babel+core@7.24.4_@babel+preset-env@7.29.0_@babel+core@7.24.4__react@18.3.1/node_modules/react-native/Libraries/Components/Touchable/Position.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/react-native@0.73.1_@babel+core@7.24.4_@babel+preset-env@7.29.0_@babel+core@7.24.4__react@18.3.1/node_modules/react-native/Libraries/Components/Touchable/TouchableHighlight.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/react-native@0.73.1_@babel+core@7.24.4_@babel+preset-env@7.29.0_@babel+core@7.24.4__react@18.3.1/node_modules/react-native/Libraries/Components/Touchable/TouchableWithoutFeedback.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/react-native@0.73.1_@babel+core@7.24.4_@babel+preset-env@7.29.0_@babel+core@7.24.4__react@18.3.1/node_modules/react-native/Libraries/Lists/VirtualizedList.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/react-native@0.73.1_@babel+core@7.24.4_@babel+preset-env@7.29.0_@babel+core@7.24.4__react@18.3.1/node_modules/react-native/Libraries/Lists/VirtualizedSectionList.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/react-native@0.73.1_@babel+core@7.24.4_@babel+preset-env@7.29.0_@babel+core@7.24.4__react@18.3.1/node_modules/react-native/Libraries/ActionSheetIOS/ActionSheetIOS.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/react-native@0.73.1_@babel+core@7.24.4_@babel+preset-env@7.29.0_@babel+core@7.24.4__react@18.3.1/node_modules/react-native/Libraries/ActionSheetIOS/NativeActionSheetManager.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/react-native@0.73.1_@babel+core@7.24.4_@babel+preset-env@7.29.0_@babel+core@7.24.4__react@18.3.1/node_modules/react-native/Libraries/Utilities/Appearance.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/react-native@0.73.1_@babel+core@7.24.4_@babel+preset-env@7.29.0_@babel+core@7.24.4__react@18.3.1/node_modules/react-native/Libraries/Utilities/NativeAppearance.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/react-native@0.73.1_@babel+core@7.24.4_@babel+preset-env@7.29.0_@babel+core@7.24.4__react@18.3.1/node_modules/react-native/Libraries/AppState/AppState.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/react-native@0.73.1_@babel+core@7.24.4_@babel+preset-env@7.29.0_@babel+core@7.24.4__react@18.3.1/node_modules/react-native/Libraries/Utilities/logError.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/react-native@0.73.1_@babel+core@7.24.4_@babel+preset-env@7.29.0_@babel+core@7.24.4__react@18.3.1/node_modules/react-native/Libraries/AppState/NativeAppState.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/react-native@0.73.1_@babel+core@7.24.4_@babel+preset-env@7.29.0_@babel+core@7.24.4__react@18.3.1/node_modules/react-native/Libraries/Components/Clipboard/Clipboard.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/react-native@0.73.1_@babel+core@7.24.4_@babel+preset-env@7.29.0_@babel+core@7.24.4__react@18.3.1/node_modules/react-native/Libraries/Components/Clipboard/NativeClipboard.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/react-native@0.73.1_@babel+core@7.24.4_@babel+preset-env@7.29.0_@babel+core@7.24.4__react@18.3.1/node_modules/react-native/Libraries/Utilities/DeviceInfo.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/react-native@0.73.1_@babel+core@7.24.4_@babel+preset-env@7.29.0_@babel+core@7.24.4__react@18.3.1/node_modules/react-native/Libraries/Utilities/DevSettings.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/react-native@0.73.1_@babel+core@7.24.4_@babel+preset-env@7.29.0_@babel+core@7.24.4__react@18.3.1/node_modules/react-native/Libraries/NativeModules/specs/NativeDevSettings.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/react-native@0.73.1_@babel+core@7.24.4_@babel+preset-env@7.29.0_@babel+core@7.24.4__react@18.3.1/node_modules/react-native/Libraries/Linking/Linking.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/react-native@0.73.1_@babel+core@7.24.4_@babel+preset-env@7.29.0_@babel+core@7.24.4__react@18.3.1/node_modules/react-native/Libraries/Linking/NativeIntentAndroid.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/react-native@0.73.1_@babel+core@7.24.4_@babel+preset-env@7.29.0_@babel+core@7.24.4__react@18.3.1/node_modules/react-native/Libraries/Linking/NativeLinkingManager.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/react-native@0.73.1_@babel+core@7.24.4_@babel+preset-env@7.29.0_@babel+core@7.24.4__react@18.3.1/node_modules/react-native/Libraries/LogBox/LogBox.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/react-native@0.73.1_@babel+core@7.24.4_@babel+preset-env@7.29.0_@babel+core@7.24.4__react@18.3.1/node_modules/react-native/Libraries/Interaction/PanResponder.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/react-native@0.73.1_@babel+core@7.24.4_@babel+preset-env@7.29.0_@babel+core@7.24.4__react@18.3.1/node_modules/react-native/Libraries/Interaction/TouchHistoryMath.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/react-native@0.73.1_@babel+core@7.24.4_@babel+preset-env@7.29.0_@babel+core@7.24.4__react@18.3.1/node_modules/react-native/Libraries/PermissionsAndroid/PermissionsAndroid.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/react-native@0.73.1_@babel+core@7.24.4_@babel+preset-env@7.29.0_@babel+core@7.24.4__react@18.3.1/node_modules/react-native/Libraries/PermissionsAndroid/NativePermissionsAndroid.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/react-native@0.73.1_@babel+core@7.24.4_@babel+preset-env@7.29.0_@babel+core@7.24.4__react@18.3.1/node_modules/react-native/Libraries/PushNotificationIOS/PushNotificationIOS.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/react-native@0.73.1_@babel+core@7.24.4_@babel+preset-env@7.29.0_@babel+core@7.24.4__react@18.3.1/node_modules/react-native/Libraries/PushNotificationIOS/NativePushNotificationManagerIOS.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/react-native@0.73.1_@babel+core@7.24.4_@babel+preset-env@7.29.0_@babel+core@7.24.4__react@18.3.1/node_modules/react-native/Libraries/Settings/Settings.ios.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/react-native@0.73.1_@babel+core@7.24.4_@babel+preset-env@7.29.0_@babel+core@7.24.4__react@18.3.1/node_modules/react-native/Libraries/Settings/NativeSettingsManager.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/react-native@0.73.1_@babel+core@7.24.4_@babel+preset-env@7.29.0_@babel+core@7.24.4__react@18.3.1/node_modules/react-native/Libraries/Share/Share.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/react-native@0.73.1_@babel+core@7.24.4_@babel+preset-env@7.29.0_@babel+core@7.24.4__react@18.3.1/node_modules/react-native/Libraries/Share/NativeShareModule.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/react-native@0.73.1_@babel+core@7.24.4_@babel+preset-env@7.29.0_@babel+core@7.24.4__react@18.3.1/node_modules/react-native/Libraries/Components/ToastAndroid/ToastAndroid.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/react-native@0.73.1_@babel+core@7.24.4_@babel+preset-env@7.29.0_@babel+core@7.24.4__react@18.3.1/node_modules/react-native/Libraries/Animated/useAnimatedValue.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/react-native@0.73.1_@babel+core@7.24.4_@babel+preset-env@7.29.0_@babel+core@7.24.4__react@18.3.1/node_modules/react-native/Libraries/Utilities/useColorScheme.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/react-native@0.73.1_@babel+core@7.24.4_@babel+preset-env@7.29.0_@babel+core@7.24.4__react@18.3.1/node_modules/react-native/Libraries/Utilities/useWindowDimensions.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/react-native@0.73.1_@babel+core@7.24.4_@babel+preset-env@7.29.0_@babel+core@7.24.4__react@18.3.1/node_modules/react-native/Libraries/UTFSequence.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/react-native@0.73.1_@babel+core@7.24.4_@babel+preset-env@7.29.0_@babel+core@7.24.4__react@18.3.1/node_modules/react-native/Libraries/Vibration/Vibration.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/react-native@0.73.1_@babel+core@7.24.4_@babel+preset-env@7.29.0_@babel+core@7.24.4__react@18.3.1/node_modules/react-native/Libraries/Vibration/NativeVibration.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/react-native@0.73.1_@babel+core@7.24.4_@babel+preset-env@7.29.0_@babel+core@7.24.4__react@18.3.1/node_modules/react-native/Libraries/YellowBox/YellowBoxDeprecated.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/react-native@0.73.1_@babel+core@7.24.4_@babel+preset-env@7.29.0_@babel+core@7.24.4__react@18.3.1/node_modules/react-native/Libraries/StyleSheet/PlatformColorValueTypesIOS.ios.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/react-native-gesture-handler@2.14.1_react-native@0.73.1_@babel+core@7.24.4_@babel+preset-env@_tmkimtkv5n2lql55evcao7oiuq/node_modules/react-native-gesture-handler/src/handlers/createNativeWrapper.tsx","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/react-native-gesture-handler@2.14.1_react-native@0.73.1_@babel+core@7.24.4_@babel+preset-env@_tmkimtkv5n2lql55evcao7oiuq/node_modules/react-native-gesture-handler/src/handlers/NativeViewGestureHandler.ts","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/react-native-gesture-handler@2.14.1_react-native@0.73.1_@babel+core@7.24.4_@babel+preset-env@_tmkimtkv5n2lql55evcao7oiuq/node_modules/react-native-gesture-handler/src/handlers/createHandler.tsx","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/lodash@4.17.23/node_modules/lodash/isEqual.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/lodash@4.17.23/node_modules/lodash/_baseIsEqual.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/lodash@4.17.23/node_modules/lodash/isObjectLike.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/lodash@4.17.23/node_modules/lodash/_baseIsEqualDeep.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/lodash@4.17.23/node_modules/lodash/isArray.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/lodash@4.17.23/node_modules/lodash/_getTag.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/lodash@4.17.23/node_modules/lodash/_toSource.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/lodash@4.17.23/node_modules/lodash/_DataView.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/lodash@4.17.23/node_modules/lodash/_getNative.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/lodash@4.17.23/node_modules/lodash/_getValue.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/lodash@4.17.23/node_modules/lodash/_baseIsNative.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/lodash@4.17.23/node_modules/lodash/isObject.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/lodash@4.17.23/node_modules/lodash/_isMasked.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/lodash@4.17.23/node_modules/lodash/_coreJsData.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/lodash@4.17.23/node_modules/lodash/_root.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/lodash@4.17.23/node_modules/lodash/_freeGlobal.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/lodash@4.17.23/node_modules/lodash/isFunction.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/lodash@4.17.23/node_modules/lodash/_baseGetTag.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/lodash@4.17.23/node_modules/lodash/_Symbol.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/lodash@4.17.23/node_modules/lodash/_getRawTag.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/lodash@4.17.23/node_modules/lodash/_objectToString.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/lodash@4.17.23/node_modules/lodash/_Map.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/lodash@4.17.23/node_modules/lodash/_Promise.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/lodash@4.17.23/node_modules/lodash/_Set.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/lodash@4.17.23/node_modules/lodash/_WeakMap.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/lodash@4.17.23/node_modules/lodash/isBuffer.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/lodash@4.17.23/node_modules/lodash/stubFalse.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/lodash@4.17.23/node_modules/lodash/_Stack.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/lodash@4.17.23/node_modules/lodash/_ListCache.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/lodash@4.17.23/node_modules/lodash/_listCacheClear.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/lodash@4.17.23/node_modules/lodash/_listCacheDelete.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/lodash@4.17.23/node_modules/lodash/_assocIndexOf.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/lodash@4.17.23/node_modules/lodash/eq.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/lodash@4.17.23/node_modules/lodash/_listCacheGet.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/lodash@4.17.23/node_modules/lodash/_listCacheHas.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/lodash@4.17.23/node_modules/lodash/_listCacheSet.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/lodash@4.17.23/node_modules/lodash/_stackClear.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/lodash@4.17.23/node_modules/lodash/_stackDelete.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/lodash@4.17.23/node_modules/lodash/_stackGet.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/lodash@4.17.23/node_modules/lodash/_stackHas.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/lodash@4.17.23/node_modules/lodash/_stackSet.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/lodash@4.17.23/node_modules/lodash/_MapCache.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/lodash@4.17.23/node_modules/lodash/_mapCacheClear.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/lodash@4.17.23/node_modules/lodash/_Hash.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/lodash@4.17.23/node_modules/lodash/_hashClear.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/lodash@4.17.23/node_modules/lodash/_nativeCreate.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/lodash@4.17.23/node_modules/lodash/_hashDelete.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/lodash@4.17.23/node_modules/lodash/_hashGet.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/lodash@4.17.23/node_modules/lodash/_hashHas.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/lodash@4.17.23/node_modules/lodash/_hashSet.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/lodash@4.17.23/node_modules/lodash/_mapCacheDelete.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/lodash@4.17.23/node_modules/lodash/_getMapData.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/lodash@4.17.23/node_modules/lodash/_isKeyable.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/lodash@4.17.23/node_modules/lodash/_mapCacheGet.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/lodash@4.17.23/node_modules/lodash/_mapCacheHas.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/lodash@4.17.23/node_modules/lodash/_mapCacheSet.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/lodash@4.17.23/node_modules/lodash/isTypedArray.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/lodash@4.17.23/node_modules/lodash/_nodeUtil.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/lodash@4.17.23/node_modules/lodash/_baseUnary.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/lodash@4.17.23/node_modules/lodash/_baseIsTypedArray.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/lodash@4.17.23/node_modules/lodash/isLength.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/lodash@4.17.23/node_modules/lodash/_equalArrays.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/lodash@4.17.23/node_modules/lodash/_SetCache.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/lodash@4.17.23/node_modules/lodash/_setCacheAdd.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/lodash@4.17.23/node_modules/lodash/_setCacheHas.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/lodash@4.17.23/node_modules/lodash/_arraySome.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/lodash@4.17.23/node_modules/lodash/_cacheHas.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/lodash@4.17.23/node_modules/lodash/_equalByTag.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/lodash@4.17.23/node_modules/lodash/_Uint8Array.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/lodash@4.17.23/node_modules/lodash/_mapToArray.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/lodash@4.17.23/node_modules/lodash/_setToArray.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/lodash@4.17.23/node_modules/lodash/_equalObjects.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/lodash@4.17.23/node_modules/lodash/_getAllKeys.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/lodash@4.17.23/node_modules/lodash/_baseGetAllKeys.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/lodash@4.17.23/node_modules/lodash/_arrayPush.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/lodash@4.17.23/node_modules/lodash/keys.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/lodash@4.17.23/node_modules/lodash/isArrayLike.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/lodash@4.17.23/node_modules/lodash/_arrayLikeKeys.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/lodash@4.17.23/node_modules/lodash/isArguments.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/lodash@4.17.23/node_modules/lodash/_baseIsArguments.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/lodash@4.17.23/node_modules/lodash/_baseTimes.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/lodash@4.17.23/node_modules/lodash/_isIndex.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/lodash@4.17.23/node_modules/lodash/_baseKeys.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/lodash@4.17.23/node_modules/lodash/_isPrototype.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/lodash@4.17.23/node_modules/lodash/_nativeKeys.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/lodash@4.17.23/node_modules/lodash/_overArg.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/lodash@4.17.23/node_modules/lodash/_getSymbols.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/lodash@4.17.23/node_modules/lodash/stubArray.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/lodash@4.17.23/node_modules/lodash/_arrayFilter.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/react-native-gesture-handler@2.14.1_react-native@0.73.1_@babel+core@7.24.4_@babel+preset-env@_tmkimtkv5n2lql55evcao7oiuq/node_modules/react-native-gesture-handler/src/RNGestureHandlerModule.ts","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/react-native-gesture-handler@2.14.1_react-native@0.73.1_@babel+core@7.24.4_@babel+preset-env@_tmkimtkv5n2lql55evcao7oiuq/node_modules/react-native-gesture-handler/src/utils.ts","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/react-native-gesture-handler@2.14.1_react-native@0.73.1_@babel+core@7.24.4_@babel+preset-env@_tmkimtkv5n2lql55evcao7oiuq/node_modules/react-native-gesture-handler/src/GestureHandlerRootViewContext.ts","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/react-native-gesture-handler@2.14.1_react-native@0.73.1_@babel+core@7.24.4_@babel+preset-env@_tmkimtkv5n2lql55evcao7oiuq/node_modules/react-native-gesture-handler/src/State.ts","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/react-native-gesture-handler@2.14.1_react-native@0.73.1_@babel+core@7.24.4_@babel+preset-env@_tmkimtkv5n2lql55evcao7oiuq/node_modules/react-native-gesture-handler/src/ActionType.ts","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/react-native-gesture-handler@2.14.1_react-native@0.73.1_@babel+core@7.24.4_@babel+preset-env@_tmkimtkv5n2lql55evcao7oiuq/node_modules/react-native-gesture-handler/src/handlers/handlersRegistry.ts","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/react-native-gesture-handler@2.14.1_react-native@0.73.1_@babel+core@7.24.4_@babel+preset-env@_tmkimtkv5n2lql55evcao7oiuq/node_modules/react-native-gesture-handler/src/handlers/gestureHandlerCommon.ts","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/react-native-gesture-handler@2.14.1_react-native@0.73.1_@babel+core@7.24.4_@babel+preset-env@_tmkimtkv5n2lql55evcao7oiuq/node_modules/react-native-gesture-handler/src/ghQueueMicrotask.ts","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/react-native-gesture-handler@2.14.1_react-native@0.73.1_@babel+core@7.24.4_@babel+preset-env@_tmkimtkv5n2lql55evcao7oiuq/node_modules/react-native-gesture-handler/src/components/GestureHandlerButton.tsx","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/react-native-gesture-handler@2.14.1_react-native@0.73.1_@babel+core@7.24.4_@babel+preset-env@_tmkimtkv5n2lql55evcao7oiuq/node_modules/react-native-gesture-handler/src/specs/RNGestureHandlerButtonNativeComponent.ts","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/react-native-gesture-handler@2.14.1_react-native@0.73.1_@babel+core@7.24.4_@babel+preset-env@_tmkimtkv5n2lql55evcao7oiuq/node_modules/react-native-gesture-handler/src/Directions.ts","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/react-native-gesture-handler@2.14.1_react-native@0.73.1_@babel+core@7.24.4_@babel+preset-env@_tmkimtkv5n2lql55evcao7oiuq/node_modules/react-native-gesture-handler/src/components/GestureComponents.tsx","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/react-native-gesture-handler@2.14.1_react-native@0.73.1_@babel+core@7.24.4_@babel+preset-env@_tmkimtkv5n2lql55evcao7oiuq/node_modules/react-native-gesture-handler/src/handlers/FlingGestureHandler.ts","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/react-native-gesture-handler@2.14.1_react-native@0.73.1_@babel+core@7.24.4_@babel+preset-env@_tmkimtkv5n2lql55evcao7oiuq/node_modules/react-native-gesture-handler/src/handlers/ForceTouchGestureHandler.ts","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/react-native-gesture-handler@2.14.1_react-native@0.73.1_@babel+core@7.24.4_@babel+preset-env@_tmkimtkv5n2lql55evcao7oiuq/node_modules/react-native-gesture-handler/src/PlatformConstants.ts","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/react-native-gesture-handler@2.14.1_react-native@0.73.1_@babel+core@7.24.4_@babel+preset-env@_tmkimtkv5n2lql55evcao7oiuq/node_modules/react-native-gesture-handler/src/handlers/gestures/gestureObjects.ts","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/react-native-gesture-handler@2.14.1_react-native@0.73.1_@babel+core@7.24.4_@babel+preset-env@_tmkimtkv5n2lql55evcao7oiuq/node_modules/react-native-gesture-handler/src/handlers/gestures/tapGesture.ts","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/react-native-gesture-handler@2.14.1_react-native@0.73.1_@babel+core@7.24.4_@babel+preset-env@_tmkimtkv5n2lql55evcao7oiuq/node_modules/react-native-gesture-handler/src/handlers/gestures/gesture.ts","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/react-native-gesture-handler@2.14.1_react-native@0.73.1_@babel+core@7.24.4_@babel+preset-env@_tmkimtkv5n2lql55evcao7oiuq/node_modules/react-native-gesture-handler/src/handlers/gestures/panGesture.ts","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/react-native-gesture-handler@2.14.1_react-native@0.73.1_@babel+core@7.24.4_@babel+preset-env@_tmkimtkv5n2lql55evcao7oiuq/node_modules/react-native-gesture-handler/src/handlers/gestures/pinchGesture.ts","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/react-native-gesture-handler@2.14.1_react-native@0.73.1_@babel+core@7.24.4_@babel+preset-env@_tmkimtkv5n2lql55evcao7oiuq/node_modules/react-native-gesture-handler/src/handlers/gestures/rotationGesture.ts","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/react-native-gesture-handler@2.14.1_react-native@0.73.1_@babel+core@7.24.4_@babel+preset-env@_tmkimtkv5n2lql55evcao7oiuq/node_modules/react-native-gesture-handler/src/handlers/gestures/flingGesture.ts","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/react-native-gesture-handler@2.14.1_react-native@0.73.1_@babel+core@7.24.4_@babel+preset-env@_tmkimtkv5n2lql55evcao7oiuq/node_modules/react-native-gesture-handler/src/handlers/gestures/longPressGesture.ts","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/react-native-gesture-handler@2.14.1_react-native@0.73.1_@babel+core@7.24.4_@babel+preset-env@_tmkimtkv5n2lql55evcao7oiuq/node_modules/react-native-gesture-handler/src/handlers/gestures/forceTouchGesture.ts","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/react-native-gesture-handler@2.14.1_react-native@0.73.1_@babel+core@7.24.4_@babel+preset-env@_tmkimtkv5n2lql55evcao7oiuq/node_modules/react-native-gesture-handler/src/handlers/gestures/nativeGesture.ts","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/react-native-gesture-handler@2.14.1_react-native@0.73.1_@babel+core@7.24.4_@babel+preset-env@_tmkimtkv5n2lql55evcao7oiuq/node_modules/react-native-gesture-handler/src/handlers/gestures/manualGesture.ts","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/react-native-gesture-handler@2.14.1_react-native@0.73.1_@babel+core@7.24.4_@babel+preset-env@_tmkimtkv5n2lql55evcao7oiuq/node_modules/react-native-gesture-handler/src/handlers/gestures/hoverGesture.ts","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/react-native-gesture-handler@2.14.1_react-native@0.73.1_@babel+core@7.24.4_@babel+preset-env@_tmkimtkv5n2lql55evcao7oiuq/node_modules/react-native-gesture-handler/src/handlers/gestures/gestureComposition.ts","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/react-native-gesture-handler@2.14.1_react-native@0.73.1_@babel+core@7.24.4_@babel+preset-env@_tmkimtkv5n2lql55evcao7oiuq/node_modules/react-native-gesture-handler/src/handlers/gestures/GestureDetector.tsx","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/react-native-gesture-handler@2.14.1_react-native@0.73.1_@babel+core@7.24.4_@babel+preset-env@_tmkimtkv5n2lql55evcao7oiuq/node_modules/react-native-gesture-handler/src/handlers/TapGestureHandler.ts","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/react-native-gesture-handler@2.14.1_react-native@0.73.1_@babel+core@7.24.4_@babel+preset-env@_tmkimtkv5n2lql55evcao7oiuq/node_modules/react-native-gesture-handler/src/handlers/PanGestureHandler.ts","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/react-native-gesture-handler@2.14.1_react-native@0.73.1_@babel+core@7.24.4_@babel+preset-env@_tmkimtkv5n2lql55evcao7oiuq/node_modules/react-native-gesture-handler/src/handlers/LongPressGestureHandler.ts","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/react-native-gesture-handler@2.14.1_react-native@0.73.1_@babel+core@7.24.4_@babel+preset-env@_tmkimtkv5n2lql55evcao7oiuq/node_modules/react-native-gesture-handler/src/TouchEventType.ts","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/react-native-gesture-handler@2.14.1_react-native@0.73.1_@babel+core@7.24.4_@babel+preset-env@_tmkimtkv5n2lql55evcao7oiuq/node_modules/react-native-gesture-handler/src/handlers/gestures/reanimatedWrapper.ts","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/react-native-reanimated@3.16.0_@babel+core@7.24.4_react-native@0.73.1_@babel+core@7.24.4_@bab_ee7tkjbttshncmlub6s3l5fbca/node_modules/react-native-reanimated/src/index.ts","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/react-native-reanimated@3.16.0_@babel+core@7.24.4_react-native@0.73.1_@babel+core@7.24.4_@bab_ee7tkjbttshncmlub6s3l5fbca/node_modules/react-native-reanimated/src/layoutReanimation/index.ts","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/react-native-reanimated@3.16.0_@babel+core@7.24.4_react-native@0.73.1_@babel+core@7.24.4_@bab_ee7tkjbttshncmlub6s3l5fbca/node_modules/react-native-reanimated/src/layoutReanimation/animationsManager.ts","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/react-native-reanimated@3.16.0_@babel+core@7.24.4_react-native@0.73.1_@babel+core@7.24.4_@bab_ee7tkjbttshncmlub6s3l5fbca/node_modules/react-native-reanimated/src/layoutReanimation/animationBuilder/index.ts","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/react-native-reanimated@3.16.0_@babel+core@7.24.4_react-native@0.73.1_@babel+core@7.24.4_@bab_ee7tkjbttshncmlub6s3l5fbca/node_modules/react-native-reanimated/src/layoutReanimation/animationBuilder/BaseAnimationBuilder.ts","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/react-native-reanimated@3.16.0_@babel+core@7.24.4_react-native@0.73.1_@babel+core@7.24.4_@bab_ee7tkjbttshncmlub6s3l5fbca/node_modules/react-native-reanimated/src/commonTypes.ts","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/react-native-reanimated@3.16.0_@babel+core@7.24.4_react-native@0.73.1_@babel+core@7.24.4_@bab_ee7tkjbttshncmlub6s3l5fbca/node_modules/react-native-reanimated/src/errors.ts","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/react-native-reanimated@3.16.0_@babel+core@7.24.4_react-native@0.73.1_@babel+core@7.24.4_@bab_ee7tkjbttshncmlub6s3l5fbca/node_modules/react-native-reanimated/src/animation/index.ts","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/react-native-reanimated@3.16.0_@babel+core@7.24.4_react-native@0.73.1_@babel+core@7.24.4_@bab_ee7tkjbttshncmlub6s3l5fbca/node_modules/react-native-reanimated/src/animation/util.ts","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/react-native-reanimated@3.16.0_@babel+core@7.24.4_react-native@0.73.1_@babel+core@7.24.4_@bab_ee7tkjbttshncmlub6s3l5fbca/node_modules/react-native-reanimated/src/PlatformChecker.ts","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/react-native-reanimated@3.16.0_@babel+core@7.24.4_react-native@0.73.1_@babel+core@7.24.4_@bab_ee7tkjbttshncmlub6s3l5fbca/node_modules/react-native-reanimated/src/ReducedMotion.ts","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/react-native-reanimated@3.16.0_@babel+core@7.24.4_react-native@0.73.1_@babel+core@7.24.4_@bab_ee7tkjbttshncmlub6s3l5fbca/node_modules/react-native-reanimated/src/mutables.ts","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/react-native-reanimated@3.16.0_@babel+core@7.24.4_react-native@0.73.1_@babel+core@7.24.4_@bab_ee7tkjbttshncmlub6s3l5fbca/node_modules/react-native-reanimated/src/logger/index.ts","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/react-native-reanimated@3.16.0_@babel+core@7.24.4_react-native@0.73.1_@babel+core@7.24.4_@bab_ee7tkjbttshncmlub6s3l5fbca/node_modules/react-native-reanimated/src/logger/logger.ts","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/react-native-reanimated@3.16.0_@babel+core@7.24.4_react-native@0.73.1_@babel+core@7.24.4_@bab_ee7tkjbttshncmlub6s3l5fbca/node_modules/react-native-reanimated/src/logger/LogBox.ts","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/react-native-reanimated@3.16.0_@babel+core@7.24.4_react-native@0.73.1_@babel+core@7.24.4_@bab_ee7tkjbttshncmlub6s3l5fbca/node_modules/react-native-reanimated/src/valueSetter.ts","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/react-native-reanimated@3.16.0_@babel+core@7.24.4_react-native@0.73.1_@babel+core@7.24.4_@bab_ee7tkjbttshncmlub6s3l5fbca/node_modules/react-native-reanimated/src/shareables.ts","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/react-native-reanimated@3.16.0_@babel+core@7.24.4_react-native@0.73.1_@babel+core@7.24.4_@bab_ee7tkjbttshncmlub6s3l5fbca/node_modules/react-native-reanimated/src/NativeReanimated/index.ts","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/react-native-reanimated@3.16.0_@babel+core@7.24.4_react-native@0.73.1_@babel+core@7.24.4_@bab_ee7tkjbttshncmlub6s3l5fbca/node_modules/react-native-reanimated/src/js-reanimated/index.ts","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/react-native-reanimated@3.16.0_@babel+core@7.24.4_react-native@0.73.1_@babel+core@7.24.4_@bab_ee7tkjbttshncmlub6s3l5fbca/node_modules/react-native-reanimated/src/js-reanimated/JSReanimated.ts","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/react-native-reanimated@3.16.0_@babel+core@7.24.4_react-native@0.73.1_@babel+core@7.24.4_@bab_ee7tkjbttshncmlub6s3l5fbca/node_modules/react-native-reanimated/src/mockedRequestAnimationFrame.ts","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/react-native-reanimated@3.16.0_@babel+core@7.24.4_react-native@0.73.1_@babel+core@7.24.4_@bab_ee7tkjbttshncmlub6s3l5fbca/node_modules/react-native-reanimated/src/js-reanimated/webUtils.ts","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/react-native-reanimated@3.16.0_@babel+core@7.24.4_react-native@0.73.1_@babel+core@7.24.4_@bab_ee7tkjbttshncmlub6s3l5fbca/node_modules/react-native-reanimated/src/propsAllowlists.ts","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/react-native-reanimated@3.16.0_@babel+core@7.24.4_react-native@0.73.1_@babel+core@7.24.4_@bab_ee7tkjbttshncmlub6s3l5fbca/node_modules/react-native-reanimated/src/NativeReanimated/NativeReanimated.ts","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/react-native-reanimated@3.16.0_@babel+core@7.24.4_react-native@0.73.1_@babel+core@7.24.4_@bab_ee7tkjbttshncmlub6s3l5fbca/node_modules/react-native-reanimated/src/specs/NativeReanimatedModule.ts","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/react-native-reanimated@3.16.0_@babel+core@7.24.4_react-native@0.73.1_@babel+core@7.24.4_@bab_ee7tkjbttshncmlub6s3l5fbca/node_modules/react-native-reanimated/src/platform-specific/jsVersion.ts","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/react-native-reanimated@3.16.0_@babel+core@7.24.4_react-native@0.73.1_@babel+core@7.24.4_@bab_ee7tkjbttshncmlub6s3l5fbca/node_modules/react-native-reanimated/src/valueUnpacker.ts","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/react-native-reanimated@3.16.0_@babel+core@7.24.4_react-native@0.73.1_@babel+core@7.24.4_@bab_ee7tkjbttshncmlub6s3l5fbca/node_modules/react-native-reanimated/src/fabricUtils.ts","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/react-native-reanimated@3.16.0_@babel+core@7.24.4_react-native@0.73.1_@babel+core@7.24.4_@bab_ee7tkjbttshncmlub6s3l5fbca/node_modules/react-native-reanimated/src/shareableMappingCache.ts","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/react-native-reanimated@3.16.0_@babel+core@7.24.4_react-native@0.73.1_@babel+core@7.24.4_@bab_ee7tkjbttshncmlub6s3l5fbca/node_modules/react-native-reanimated/src/threads.ts","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/react-native-reanimated@3.16.0_@babel+core@7.24.4_react-native@0.73.1_@babel+core@7.24.4_@bab_ee7tkjbttshncmlub6s3l5fbca/node_modules/react-native-reanimated/src/animation/transformationMatrix/matrixUtils.tsx","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/react-native-reanimated@3.16.0_@babel+core@7.24.4_react-native@0.73.1_@babel+core@7.24.4_@bab_ee7tkjbttshncmlub6s3l5fbca/node_modules/react-native-reanimated/src/Colors.ts","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/react-native-reanimated@3.16.0_@babel+core@7.24.4_react-native@0.73.1_@babel+core@7.24.4_@bab_ee7tkjbttshncmlub6s3l5fbca/node_modules/react-native-reanimated/src/core.ts","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/react-native-reanimated@3.16.0_@babel+core@7.24.4_react-native@0.73.1_@babel+core@7.24.4_@bab_ee7tkjbttshncmlub6s3l5fbca/node_modules/react-native-reanimated/src/runtimes.ts","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/react-native-reanimated@3.16.0_@babel+core@7.24.4_react-native@0.73.1_@babel+core@7.24.4_@bab_ee7tkjbttshncmlub6s3l5fbca/node_modules/react-native-reanimated/src/initializers.ts","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/react-native-reanimated@3.16.0_@babel+core@7.24.4_react-native@0.73.1_@babel+core@7.24.4_@bab_ee7tkjbttshncmlub6s3l5fbca/node_modules/react-native-reanimated/src/mappers.ts","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/react-native-reanimated@3.16.0_@babel+core@7.24.4_react-native@0.73.1_@babel+core@7.24.4_@bab_ee7tkjbttshncmlub6s3l5fbca/node_modules/react-native-reanimated/src/isSharedValue.ts","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/react-native-reanimated@3.16.0_@babel+core@7.24.4_react-native@0.73.1_@babel+core@7.24.4_@bab_ee7tkjbttshncmlub6s3l5fbca/node_modules/react-native-reanimated/src/SensorContainer.ts","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/react-native-reanimated@3.16.0_@babel+core@7.24.4_react-native@0.73.1_@babel+core@7.24.4_@bab_ee7tkjbttshncmlub6s3l5fbca/node_modules/react-native-reanimated/src/Sensor.ts","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/react-native-reanimated@3.16.0_@babel+core@7.24.4_react-native@0.73.1_@babel+core@7.24.4_@bab_ee7tkjbttshncmlub6s3l5fbca/node_modules/react-native-reanimated/src/animation/clamp.ts","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/react-native-reanimated@3.16.0_@babel+core@7.24.4_react-native@0.73.1_@babel+core@7.24.4_@bab_ee7tkjbttshncmlub6s3l5fbca/node_modules/react-native-reanimated/src/animation/decay/index.ts","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/react-native-reanimated@3.16.0_@babel+core@7.24.4_react-native@0.73.1_@babel+core@7.24.4_@bab_ee7tkjbttshncmlub6s3l5fbca/node_modules/react-native-reanimated/src/animation/decay/decay.ts","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/react-native-reanimated@3.16.0_@babel+core@7.24.4_react-native@0.73.1_@babel+core@7.24.4_@bab_ee7tkjbttshncmlub6s3l5fbca/node_modules/react-native-reanimated/src/animation/decay/utils.ts","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/react-native-reanimated@3.16.0_@babel+core@7.24.4_react-native@0.73.1_@babel+core@7.24.4_@bab_ee7tkjbttshncmlub6s3l5fbca/node_modules/react-native-reanimated/src/animation/decay/rubberBandDecay.ts","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/react-native-reanimated@3.16.0_@babel+core@7.24.4_react-native@0.73.1_@babel+core@7.24.4_@bab_ee7tkjbttshncmlub6s3l5fbca/node_modules/react-native-reanimated/src/animation/decay/rigidDecay.ts","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/react-native-reanimated@3.16.0_@babel+core@7.24.4_react-native@0.73.1_@babel+core@7.24.4_@bab_ee7tkjbttshncmlub6s3l5fbca/node_modules/react-native-reanimated/src/animation/delay.ts","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/react-native-reanimated@3.16.0_@babel+core@7.24.4_react-native@0.73.1_@babel+core@7.24.4_@bab_ee7tkjbttshncmlub6s3l5fbca/node_modules/react-native-reanimated/src/animation/repeat.ts","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/react-native-reanimated@3.16.0_@babel+core@7.24.4_react-native@0.73.1_@babel+core@7.24.4_@bab_ee7tkjbttshncmlub6s3l5fbca/node_modules/react-native-reanimated/src/animation/sequence.ts","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/react-native-reanimated@3.16.0_@babel+core@7.24.4_react-native@0.73.1_@babel+core@7.24.4_@bab_ee7tkjbttshncmlub6s3l5fbca/node_modules/react-native-reanimated/src/animation/spring.ts","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/react-native-reanimated@3.16.0_@babel+core@7.24.4_react-native@0.73.1_@babel+core@7.24.4_@bab_ee7tkjbttshncmlub6s3l5fbca/node_modules/react-native-reanimated/src/animation/springUtils.ts","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/react-native-reanimated@3.16.0_@babel+core@7.24.4_react-native@0.73.1_@babel+core@7.24.4_@bab_ee7tkjbttshncmlub6s3l5fbca/node_modules/react-native-reanimated/src/animation/styleAnimation.ts","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/react-native-reanimated@3.16.0_@babel+core@7.24.4_react-native@0.73.1_@babel+core@7.24.4_@bab_ee7tkjbttshncmlub6s3l5fbca/node_modules/react-native-reanimated/src/animation/timing.ts","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/react-native-reanimated@3.16.0_@babel+core@7.24.4_react-native@0.73.1_@babel+core@7.24.4_@bab_ee7tkjbttshncmlub6s3l5fbca/node_modules/react-native-reanimated/src/Easing.ts","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/react-native-reanimated@3.16.0_@babel+core@7.24.4_react-native@0.73.1_@babel+core@7.24.4_@bab_ee7tkjbttshncmlub6s3l5fbca/node_modules/react-native-reanimated/src/Bezier.ts","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/react-native-reanimated@3.16.0_@babel+core@7.24.4_react-native@0.73.1_@babel+core@7.24.4_@bab_ee7tkjbttshncmlub6s3l5fbca/node_modules/react-native-reanimated/src/layoutReanimation/animationBuilder/ComplexAnimationBuilder.ts","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/react-native-reanimated@3.16.0_@babel+core@7.24.4_react-native@0.73.1_@babel+core@7.24.4_@bab_ee7tkjbttshncmlub6s3l5fbca/node_modules/react-native-reanimated/src/layoutReanimation/animationBuilder/Keyframe.ts","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/react-native-reanimated@3.16.0_@babel+core@7.24.4_react-native@0.73.1_@babel+core@7.24.4_@bab_ee7tkjbttshncmlub6s3l5fbca/node_modules/react-native-reanimated/src/layoutReanimation/animationBuilder/commonTypes.ts","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/react-native-reanimated@3.16.0_@babel+core@7.24.4_react-native@0.73.1_@babel+core@7.24.4_@bab_ee7tkjbttshncmlub6s3l5fbca/node_modules/react-native-reanimated/src/layoutReanimation/defaultAnimations/index.ts","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/react-native-reanimated@3.16.0_@babel+core@7.24.4_react-native@0.73.1_@babel+core@7.24.4_@bab_ee7tkjbttshncmlub6s3l5fbca/node_modules/react-native-reanimated/src/layoutReanimation/defaultAnimations/Flip.ts","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/react-native-reanimated@3.16.0_@babel+core@7.24.4_react-native@0.73.1_@babel+core@7.24.4_@bab_ee7tkjbttshncmlub6s3l5fbca/node_modules/react-native-reanimated/src/layoutReanimation/defaultAnimations/Stretch.ts","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/react-native-reanimated@3.16.0_@babel+core@7.24.4_react-native@0.73.1_@babel+core@7.24.4_@bab_ee7tkjbttshncmlub6s3l5fbca/node_modules/react-native-reanimated/src/layoutReanimation/defaultAnimations/Fade.ts","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/react-native-reanimated@3.16.0_@babel+core@7.24.4_react-native@0.73.1_@babel+core@7.24.4_@bab_ee7tkjbttshncmlub6s3l5fbca/node_modules/react-native-reanimated/src/layoutReanimation/defaultAnimations/Slide.ts","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/react-native-reanimated@3.16.0_@babel+core@7.24.4_react-native@0.73.1_@babel+core@7.24.4_@bab_ee7tkjbttshncmlub6s3l5fbca/node_modules/react-native-reanimated/src/layoutReanimation/defaultAnimations/Zoom.ts","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/react-native-reanimated@3.16.0_@babel+core@7.24.4_react-native@0.73.1_@babel+core@7.24.4_@bab_ee7tkjbttshncmlub6s3l5fbca/node_modules/react-native-reanimated/src/layoutReanimation/defaultAnimations/Bounce.ts","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/react-native-reanimated@3.16.0_@babel+core@7.24.4_react-native@0.73.1_@babel+core@7.24.4_@bab_ee7tkjbttshncmlub6s3l5fbca/node_modules/react-native-reanimated/src/layoutReanimation/defaultAnimations/Lightspeed.ts","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/react-native-reanimated@3.16.0_@babel+core@7.24.4_react-native@0.73.1_@babel+core@7.24.4_@bab_ee7tkjbttshncmlub6s3l5fbca/node_modules/react-native-reanimated/src/layoutReanimation/defaultAnimations/Pinwheel.ts","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/react-native-reanimated@3.16.0_@babel+core@7.24.4_react-native@0.73.1_@babel+core@7.24.4_@bab_ee7tkjbttshncmlub6s3l5fbca/node_modules/react-native-reanimated/src/layoutReanimation/defaultAnimations/Rotate.ts","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/react-native-reanimated@3.16.0_@babel+core@7.24.4_react-native@0.73.1_@babel+core@7.24.4_@bab_ee7tkjbttshncmlub6s3l5fbca/node_modules/react-native-reanimated/src/layoutReanimation/defaultAnimations/Roll.ts","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/react-native-reanimated@3.16.0_@babel+core@7.24.4_react-native@0.73.1_@babel+core@7.24.4_@bab_ee7tkjbttshncmlub6s3l5fbca/node_modules/react-native-reanimated/src/layoutReanimation/defaultTransitions/index.ts","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/react-native-reanimated@3.16.0_@babel+core@7.24.4_react-native@0.73.1_@babel+core@7.24.4_@bab_ee7tkjbttshncmlub6s3l5fbca/node_modules/react-native-reanimated/src/layoutReanimation/defaultTransitions/LinearTransition.ts","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/react-native-reanimated@3.16.0_@babel+core@7.24.4_react-native@0.73.1_@babel+core@7.24.4_@bab_ee7tkjbttshncmlub6s3l5fbca/node_modules/react-native-reanimated/src/layoutReanimation/defaultTransitions/FadingTransition.ts","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/react-native-reanimated@3.16.0_@babel+core@7.24.4_react-native@0.73.1_@babel+core@7.24.4_@bab_ee7tkjbttshncmlub6s3l5fbca/node_modules/react-native-reanimated/src/layoutReanimation/defaultTransitions/SequencedTransition.ts","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/react-native-reanimated@3.16.0_@babel+core@7.24.4_react-native@0.73.1_@babel+core@7.24.4_@bab_ee7tkjbttshncmlub6s3l5fbca/node_modules/react-native-reanimated/src/layoutReanimation/defaultTransitions/JumpingTransition.ts","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/react-native-reanimated@3.16.0_@babel+core@7.24.4_react-native@0.73.1_@babel+core@7.24.4_@bab_ee7tkjbttshncmlub6s3l5fbca/node_modules/react-native-reanimated/src/layoutReanimation/defaultTransitions/CurvedTransition.ts","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/react-native-reanimated@3.16.0_@babel+core@7.24.4_react-native@0.73.1_@babel+core@7.24.4_@bab_ee7tkjbttshncmlub6s3l5fbca/node_modules/react-native-reanimated/src/layoutReanimation/defaultTransitions/EntryExitTransition.ts","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/react-native-reanimated@3.16.0_@babel+core@7.24.4_react-native@0.73.1_@babel+core@7.24.4_@bab_ee7tkjbttshncmlub6s3l5fbca/node_modules/react-native-reanimated/src/layoutReanimation/sharedTransitions/index.ts","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/react-native-reanimated@3.16.0_@babel+core@7.24.4_react-native@0.73.1_@babel+core@7.24.4_@bab_ee7tkjbttshncmlub6s3l5fbca/node_modules/react-native-reanimated/src/layoutReanimation/sharedTransitions/SharedTransition.ts","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/react-native-reanimated@3.16.0_@babel+core@7.24.4_react-native@0.73.1_@babel+core@7.24.4_@bab_ee7tkjbttshncmlub6s3l5fbca/node_modules/react-native-reanimated/src/UpdateLayoutAnimations.ts","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/react-native-reanimated@3.16.0_@babel+core@7.24.4_react-native@0.73.1_@babel+core@7.24.4_@bab_ee7tkjbttshncmlub6s3l5fbca/node_modules/react-native-reanimated/src/layoutReanimation/sharedTransitions/ProgressTransitionManager.ts","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/react-native-reanimated@3.16.0_@babel+core@7.24.4_react-native@0.73.1_@babel+core@7.24.4_@bab_ee7tkjbttshncmlub6s3l5fbca/node_modules/react-native-reanimated/src/interpolateColor.ts","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/react-native-reanimated@3.16.0_@babel+core@7.24.4_react-native@0.73.1_@babel+core@7.24.4_@bab_ee7tkjbttshncmlub6s3l5fbca/node_modules/react-native-reanimated/src/interpolation.ts","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/react-native-reanimated@3.16.0_@babel+core@7.24.4_react-native@0.73.1_@babel+core@7.24.4_@bab_ee7tkjbttshncmlub6s3l5fbca/node_modules/react-native-reanimated/src/hook/useSharedValue.ts","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/react-native-reanimated@3.16.0_@babel+core@7.24.4_react-native@0.73.1_@babel+core@7.24.4_@bab_ee7tkjbttshncmlub6s3l5fbca/node_modules/react-native-reanimated/src/component/LayoutAnimationConfig.tsx","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/react-native-reanimated@3.16.0_@babel+core@7.24.4_react-native@0.73.1_@babel+core@7.24.4_@bab_ee7tkjbttshncmlub6s3l5fbca/node_modules/react-native-reanimated/src/platformFunctions/findNodeHandle.ts","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/react-native-reanimated@3.16.0_@babel+core@7.24.4_react-native@0.73.1_@babel+core@7.24.4_@bab_ee7tkjbttshncmlub6s3l5fbca/node_modules/react-native-reanimated/src/component/PerformanceMonitor.tsx","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/react-native-reanimated@3.16.0_@babel+core@7.24.4_react-native@0.73.1_@babel+core@7.24.4_@bab_ee7tkjbttshncmlub6s3l5fbca/node_modules/react-native-reanimated/src/ConfigHelper.ts","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/react-native-reanimated@3.16.0_@babel+core@7.24.4_react-native@0.73.1_@babel+core@7.24.4_@bab_ee7tkjbttshncmlub6s3l5fbca/node_modules/react-native-reanimated/src/createAnimatedComponent/index.ts","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/react-native-reanimated@3.16.0_@babel+core@7.24.4_react-native@0.73.1_@babel+core@7.24.4_@bab_ee7tkjbttshncmlub6s3l5fbca/node_modules/react-native-reanimated/src/createAnimatedComponent/createAnimatedComponent.tsx","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/react-native-reanimated@3.16.0_@babel+core@7.24.4_react-native@0.73.1_@babel+core@7.24.4_@bab_ee7tkjbttshncmlub6s3l5fbca/node_modules/react-native-reanimated/src/createAnimatedComponent/JSPropsUpdater.ts","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/react-native-reanimated@3.16.0_@babel+core@7.24.4_react-native@0.73.1_@babel+core@7.24.4_@bab_ee7tkjbttshncmlub6s3l5fbca/node_modules/react-native-reanimated/src/createAnimatedComponent/setAndForwardRef.ts","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/react-native-reanimated@3.16.0_@babel+core@7.24.4_react-native@0.73.1_@babel+core@7.24.4_@bab_ee7tkjbttshncmlub6s3l5fbca/node_modules/react-native-reanimated/src/layoutReanimation/web/index.ts","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/react-native-reanimated@3.16.0_@babel+core@7.24.4_react-native@0.73.1_@babel+core@7.24.4_@bab_ee7tkjbttshncmlub6s3l5fbca/node_modules/react-native-reanimated/src/layoutReanimation/web/domUtils.ts","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/react-native-reanimated@3.16.0_@babel+core@7.24.4_react-native@0.73.1_@babel+core@7.24.4_@bab_ee7tkjbttshncmlub6s3l5fbca/node_modules/react-native-reanimated/src/layoutReanimation/web/config.ts","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/react-native-reanimated@3.16.0_@babel+core@7.24.4_react-native@0.73.1_@babel+core@7.24.4_@bab_ee7tkjbttshncmlub6s3l5fbca/node_modules/react-native-reanimated/src/layoutReanimation/web/animation/Fade.web.ts","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/react-native-reanimated@3.16.0_@babel+core@7.24.4_react-native@0.73.1_@babel+core@7.24.4_@bab_ee7tkjbttshncmlub6s3l5fbca/node_modules/react-native-reanimated/src/layoutReanimation/web/animationParser.ts","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/react-native-reanimated@3.16.0_@babel+core@7.24.4_react-native@0.73.1_@babel+core@7.24.4_@bab_ee7tkjbttshncmlub6s3l5fbca/node_modules/react-native-reanimated/src/layoutReanimation/web/Easing.web.ts","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/react-native-reanimated@3.16.0_@babel+core@7.24.4_react-native@0.73.1_@babel+core@7.24.4_@bab_ee7tkjbttshncmlub6s3l5fbca/node_modules/react-native-reanimated/src/layoutReanimation/web/animation/Bounce.web.ts","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/react-native-reanimated@3.16.0_@babel+core@7.24.4_react-native@0.73.1_@babel+core@7.24.4_@bab_ee7tkjbttshncmlub6s3l5fbca/node_modules/react-native-reanimated/src/layoutReanimation/web/animation/Flip.web.ts","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/react-native-reanimated@3.16.0_@babel+core@7.24.4_react-native@0.73.1_@babel+core@7.24.4_@bab_ee7tkjbttshncmlub6s3l5fbca/node_modules/react-native-reanimated/src/layoutReanimation/web/animation/Stretch.web.ts","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/react-native-reanimated@3.16.0_@babel+core@7.24.4_react-native@0.73.1_@babel+core@7.24.4_@bab_ee7tkjbttshncmlub6s3l5fbca/node_modules/react-native-reanimated/src/layoutReanimation/web/animation/Zoom.web.ts","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/react-native-reanimated@3.16.0_@babel+core@7.24.4_react-native@0.73.1_@babel+core@7.24.4_@bab_ee7tkjbttshncmlub6s3l5fbca/node_modules/react-native-reanimated/src/layoutReanimation/web/animation/Slide.web.ts","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/react-native-reanimated@3.16.0_@babel+core@7.24.4_react-native@0.73.1_@babel+core@7.24.4_@bab_ee7tkjbttshncmlub6s3l5fbca/node_modules/react-native-reanimated/src/layoutReanimation/web/animation/Lightspeed.web.ts","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/react-native-reanimated@3.16.0_@babel+core@7.24.4_react-native@0.73.1_@babel+core@7.24.4_@bab_ee7tkjbttshncmlub6s3l5fbca/node_modules/react-native-reanimated/src/layoutReanimation/web/animation/Pinwheel.web.ts","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/react-native-reanimated@3.16.0_@babel+core@7.24.4_react-native@0.73.1_@babel+core@7.24.4_@bab_ee7tkjbttshncmlub6s3l5fbca/node_modules/react-native-reanimated/src/layoutReanimation/web/animation/Rotate.web.ts","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/react-native-reanimated@3.16.0_@babel+core@7.24.4_react-native@0.73.1_@babel+core@7.24.4_@bab_ee7tkjbttshncmlub6s3l5fbca/node_modules/react-native-reanimated/src/layoutReanimation/web/animation/Roll.web.ts","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/react-native-reanimated@3.16.0_@babel+core@7.24.4_react-native@0.73.1_@babel+core@7.24.4_@bab_ee7tkjbttshncmlub6s3l5fbca/node_modules/react-native-reanimated/src/layoutReanimation/web/componentStyle.ts","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/react-native-reanimated@3.16.0_@babel+core@7.24.4_react-native@0.73.1_@babel+core@7.24.4_@bab_ee7tkjbttshncmlub6s3l5fbca/node_modules/react-native-reanimated/src/layoutReanimation/web/componentUtils.ts","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/react-native-reanimated@3.16.0_@babel+core@7.24.4_react-native@0.73.1_@babel+core@7.24.4_@bab_ee7tkjbttshncmlub6s3l5fbca/node_modules/react-native-reanimated/src/layoutReanimation/web/createAnimation.ts","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/react-native-reanimated@3.16.0_@babel+core@7.24.4_react-native@0.73.1_@babel+core@7.24.4_@bab_ee7tkjbttshncmlub6s3l5fbca/node_modules/react-native-reanimated/src/layoutReanimation/web/transition/Linear.web.ts","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/react-native-reanimated@3.16.0_@babel+core@7.24.4_react-native@0.73.1_@babel+core@7.24.4_@bab_ee7tkjbttshncmlub6s3l5fbca/node_modules/react-native-reanimated/src/layoutReanimation/web/transition/Sequenced.web.ts","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/react-native-reanimated@3.16.0_@babel+core@7.24.4_react-native@0.73.1_@babel+core@7.24.4_@bab_ee7tkjbttshncmlub6s3l5fbca/node_modules/react-native-reanimated/src/layoutReanimation/web/transition/Fading.web.ts","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/react-native-reanimated@3.16.0_@babel+core@7.24.4_react-native@0.73.1_@babel+core@7.24.4_@bab_ee7tkjbttshncmlub6s3l5fbca/node_modules/react-native-reanimated/src/layoutReanimation/web/transition/Jumping.web.ts","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/react-native-reanimated@3.16.0_@babel+core@7.24.4_react-native@0.73.1_@babel+core@7.24.4_@bab_ee7tkjbttshncmlub6s3l5fbca/node_modules/react-native-reanimated/src/layoutReanimation/web/transition/Curved.web.ts","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/react-native-reanimated@3.16.0_@babel+core@7.24.4_react-native@0.73.1_@babel+core@7.24.4_@bab_ee7tkjbttshncmlub6s3l5fbca/node_modules/react-native-reanimated/src/layoutReanimation/web/transition/EntryExit.web.ts","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/react-native-reanimated@3.16.0_@babel+core@7.24.4_react-native@0.73.1_@babel+core@7.24.4_@bab_ee7tkjbttshncmlub6s3l5fbca/node_modules/react-native-reanimated/src/layoutReanimation/web/animationsManager.ts","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/react-native-reanimated@3.16.0_@babel+core@7.24.4_react-native@0.73.1_@babel+core@7.24.4_@bab_ee7tkjbttshncmlub6s3l5fbca/node_modules/react-native-reanimated/src/createAnimatedComponent/InlinePropManager.ts","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/react-native-reanimated@3.16.0_@babel+core@7.24.4_react-native@0.73.1_@babel+core@7.24.4_@bab_ee7tkjbttshncmlub6s3l5fbca/node_modules/react-native-reanimated/src/UpdateProps.ts","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/react-native-reanimated@3.16.0_@babel+core@7.24.4_react-native@0.73.1_@babel+core@7.24.4_@bab_ee7tkjbttshncmlub6s3l5fbca/node_modules/react-native-reanimated/src/createAnimatedComponent/utils.ts","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/react-native-reanimated@3.16.0_@babel+core@7.24.4_react-native@0.73.1_@babel+core@7.24.4_@bab_ee7tkjbttshncmlub6s3l5fbca/node_modules/react-native-reanimated/src/ViewDescriptorsSet.ts","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/react-native-reanimated@3.16.0_@babel+core@7.24.4_react-native@0.73.1_@babel+core@7.24.4_@bab_ee7tkjbttshncmlub6s3l5fbca/node_modules/react-native-reanimated/src/createAnimatedComponent/PropsFilter.tsx","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/react-native-reanimated@3.16.0_@babel+core@7.24.4_react-native@0.73.1_@babel+core@7.24.4_@bab_ee7tkjbttshncmlub6s3l5fbca/node_modules/react-native-reanimated/src/WorkletEventHandler.ts","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/react-native-reanimated@3.16.0_@babel+core@7.24.4_react-native@0.73.1_@babel+core@7.24.4_@bab_ee7tkjbttshncmlub6s3l5fbca/node_modules/react-native-reanimated/src/animationBuilder.tsx","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/react-native-reanimated@3.16.0_@babel+core@7.24.4_react-native@0.73.1_@babel+core@7.24.4_@bab_ee7tkjbttshncmlub6s3l5fbca/node_modules/react-native-reanimated/src/createAnimatedComponent/NativeEventsManager.ts","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/react-native-reanimated@3.16.0_@babel+core@7.24.4_react-native@0.73.1_@babel+core@7.24.4_@bab_ee7tkjbttshncmlub6s3l5fbca/node_modules/react-native-reanimated/src/PropsRegistry.ts","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/react-native-reanimated@3.16.0_@babel+core@7.24.4_react-native@0.73.1_@babel+core@7.24.4_@bab_ee7tkjbttshncmlub6s3l5fbca/node_modules/react-native-reanimated/src/platform-specific/RNRenderer.ts","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/react-native-reanimated@3.16.0_@babel+core@7.24.4_react-native@0.73.1_@babel+core@7.24.4_@bab_ee7tkjbttshncmlub6s3l5fbca/node_modules/react-native-reanimated/src/createAnimatedComponent/getViewInfo.ts","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/react-native-reanimated@3.16.0_@babel+core@7.24.4_react-native@0.73.1_@babel+core@7.24.4_@bab_ee7tkjbttshncmlub6s3l5fbca/node_modules/react-native-reanimated/src/hook/index.ts","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/react-native-reanimated@3.16.0_@babel+core@7.24.4_react-native@0.73.1_@babel+core@7.24.4_@bab_ee7tkjbttshncmlub6s3l5fbca/node_modules/react-native-reanimated/src/hook/useAnimatedGestureHandler.ts","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/react-native-reanimated@3.16.0_@babel+core@7.24.4_react-native@0.73.1_@babel+core@7.24.4_@bab_ee7tkjbttshncmlub6s3l5fbca/node_modules/react-native-reanimated/src/hook/useHandler.ts","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/react-native-reanimated@3.16.0_@babel+core@7.24.4_react-native@0.73.1_@babel+core@7.24.4_@bab_ee7tkjbttshncmlub6s3l5fbca/node_modules/react-native-reanimated/src/hook/utils.ts","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/react-native-reanimated@3.16.0_@babel+core@7.24.4_react-native@0.73.1_@babel+core@7.24.4_@bab_ee7tkjbttshncmlub6s3l5fbca/node_modules/react-native-reanimated/src/hook/useEvent.ts","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/react-native-reanimated@3.16.0_@babel+core@7.24.4_react-native@0.73.1_@babel+core@7.24.4_@bab_ee7tkjbttshncmlub6s3l5fbca/node_modules/react-native-reanimated/src/hook/useAnimatedKeyboard.ts","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/react-native-reanimated@3.16.0_@babel+core@7.24.4_react-native@0.73.1_@babel+core@7.24.4_@bab_ee7tkjbttshncmlub6s3l5fbca/node_modules/react-native-reanimated/src/hook/useAnimatedProps.ts","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/react-native-reanimated@3.16.0_@babel+core@7.24.4_react-native@0.73.1_@babel+core@7.24.4_@bab_ee7tkjbttshncmlub6s3l5fbca/node_modules/react-native-reanimated/src/hook/useAnimatedStyle.ts","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/react-native-reanimated@3.16.0_@babel+core@7.24.4_react-native@0.73.1_@babel+core@7.24.4_@bab_ee7tkjbttshncmlub6s3l5fbca/node_modules/react-native-reanimated/src/hook/useAnimatedReaction.ts","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/react-native-reanimated@3.16.0_@babel+core@7.24.4_react-native@0.73.1_@babel+core@7.24.4_@bab_ee7tkjbttshncmlub6s3l5fbca/node_modules/react-native-reanimated/src/hook/useAnimatedRef.ts","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/react-native-reanimated@3.16.0_@babel+core@7.24.4_react-native@0.73.1_@babel+core@7.24.4_@bab_ee7tkjbttshncmlub6s3l5fbca/node_modules/react-native-reanimated/src/hook/useAnimatedScrollHandler.ts","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/react-native-reanimated@3.16.0_@babel+core@7.24.4_react-native@0.73.1_@babel+core@7.24.4_@bab_ee7tkjbttshncmlub6s3l5fbca/node_modules/react-native-reanimated/src/hook/useAnimatedSensor.ts","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/react-native-reanimated@3.16.0_@babel+core@7.24.4_react-native@0.73.1_@babel+core@7.24.4_@bab_ee7tkjbttshncmlub6s3l5fbca/node_modules/react-native-reanimated/src/hook/useComposedEventHandler.ts","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/react-native-reanimated@3.16.0_@babel+core@7.24.4_react-native@0.73.1_@babel+core@7.24.4_@bab_ee7tkjbttshncmlub6s3l5fbca/node_modules/react-native-reanimated/src/hook/useDerivedValue.ts","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/react-native-reanimated@3.16.0_@babel+core@7.24.4_react-native@0.73.1_@babel+core@7.24.4_@bab_ee7tkjbttshncmlub6s3l5fbca/node_modules/react-native-reanimated/src/hook/useFrameCallback.ts","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/react-native-reanimated@3.16.0_@babel+core@7.24.4_react-native@0.73.1_@babel+core@7.24.4_@bab_ee7tkjbttshncmlub6s3l5fbca/node_modules/react-native-reanimated/src/frameCallback/FrameCallbackRegistryJS.ts","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/react-native-reanimated@3.16.0_@babel+core@7.24.4_react-native@0.73.1_@babel+core@7.24.4_@bab_ee7tkjbttshncmlub6s3l5fbca/node_modules/react-native-reanimated/src/frameCallback/FrameCallbackRegistryUI.ts","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/react-native-reanimated@3.16.0_@babel+core@7.24.4_react-native@0.73.1_@babel+core@7.24.4_@bab_ee7tkjbttshncmlub6s3l5fbca/node_modules/react-native-reanimated/src/hook/useReducedMotion.ts","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/react-native-reanimated@3.16.0_@babel+core@7.24.4_react-native@0.73.1_@babel+core@7.24.4_@bab_ee7tkjbttshncmlub6s3l5fbca/node_modules/react-native-reanimated/src/hook/useScrollViewOffset.ts","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/react-native-reanimated@3.16.0_@babel+core@7.24.4_react-native@0.73.1_@babel+core@7.24.4_@bab_ee7tkjbttshncmlub6s3l5fbca/node_modules/react-native-reanimated/src/hook/useWorkletCallback.ts","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/react-native-reanimated@3.16.0_@babel+core@7.24.4_react-native@0.73.1_@babel+core@7.24.4_@bab_ee7tkjbttshncmlub6s3l5fbca/node_modules/react-native-reanimated/src/component/ReducedMotionConfig.tsx","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/react-native-reanimated@3.16.0_@babel+core@7.24.4_react-native@0.73.1_@babel+core@7.24.4_@bab_ee7tkjbttshncmlub6s3l5fbca/node_modules/react-native-reanimated/src/screenTransition/index.ts","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/react-native-reanimated@3.16.0_@babel+core@7.24.4_react-native@0.73.1_@babel+core@7.24.4_@bab_ee7tkjbttshncmlub6s3l5fbca/node_modules/react-native-reanimated/src/screenTransition/presets.ts","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/react-native-reanimated@3.16.0_@babel+core@7.24.4_react-native@0.73.1_@babel+core@7.24.4_@bab_ee7tkjbttshncmlub6s3l5fbca/node_modules/react-native-reanimated/src/screenTransition/animationManager.ts","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/react-native-reanimated@3.16.0_@babel+core@7.24.4_react-native@0.73.1_@babel+core@7.24.4_@bab_ee7tkjbttshncmlub6s3l5fbca/node_modules/react-native-reanimated/src/screenTransition/styleUpdater.ts","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/react-native-reanimated@3.16.0_@babel+core@7.24.4_react-native@0.73.1_@babel+core@7.24.4_@bab_ee7tkjbttshncmlub6s3l5fbca/node_modules/react-native-reanimated/src/screenTransition/swipeSimulator.ts","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/react-native-reanimated@3.16.0_@babel+core@7.24.4_react-native@0.73.1_@babel+core@7.24.4_@bab_ee7tkjbttshncmlub6s3l5fbca/node_modules/react-native-reanimated/src/screenTransition/RNScreensTurboModule.ts","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/react-native-reanimated@3.16.0_@babel+core@7.24.4_react-native@0.73.1_@babel+core@7.24.4_@bab_ee7tkjbttshncmlub6s3l5fbca/node_modules/react-native-reanimated/src/jestUtils.ts","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/react-native-reanimated@3.16.0_@babel+core@7.24.4_react-native@0.73.1_@babel+core@7.24.4_@bab_ee7tkjbttshncmlub6s3l5fbca/node_modules/react-native-reanimated/src/PropAdapters.ts","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/react-native-reanimated@3.16.0_@babel+core@7.24.4_react-native@0.73.1_@babel+core@7.24.4_@bab_ee7tkjbttshncmlub6s3l5fbca/node_modules/react-native-reanimated/src/platformFunctions/index.ts","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/react-native-reanimated@3.16.0_@babel+core@7.24.4_react-native@0.73.1_@babel+core@7.24.4_@bab_ee7tkjbttshncmlub6s3l5fbca/node_modules/react-native-reanimated/src/platformFunctions/dispatchCommand.ts","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/react-native-reanimated@3.16.0_@babel+core@7.24.4_react-native@0.73.1_@babel+core@7.24.4_@bab_ee7tkjbttshncmlub6s3l5fbca/node_modules/react-native-reanimated/src/platformFunctions/getRelativeCoords.ts","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/react-native-reanimated@3.16.0_@babel+core@7.24.4_react-native@0.73.1_@babel+core@7.24.4_@bab_ee7tkjbttshncmlub6s3l5fbca/node_modules/react-native-reanimated/src/platformFunctions/measure.ts","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/react-native-reanimated@3.16.0_@babel+core@7.24.4_react-native@0.73.1_@babel+core@7.24.4_@bab_ee7tkjbttshncmlub6s3l5fbca/node_modules/react-native-reanimated/src/platformFunctions/scrollTo.ts","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/react-native-reanimated@3.16.0_@babel+core@7.24.4_react-native@0.73.1_@babel+core@7.24.4_@bab_ee7tkjbttshncmlub6s3l5fbca/node_modules/react-native-reanimated/src/platformFunctions/setGestureState.ts","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/react-native-reanimated@3.16.0_@babel+core@7.24.4_react-native@0.73.1_@babel+core@7.24.4_@bab_ee7tkjbttshncmlub6s3l5fbca/node_modules/react-native-reanimated/src/platformFunctions/setNativeProps.ts","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/react-native-reanimated@3.16.0_@babel+core@7.24.4_react-native@0.73.1_@babel+core@7.24.4_@bab_ee7tkjbttshncmlub6s3l5fbca/node_modules/react-native-reanimated/src/pluginUtils.ts","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/react-native-reanimated@3.16.0_@babel+core@7.24.4_react-native@0.73.1_@babel+core@7.24.4_@bab_ee7tkjbttshncmlub6s3l5fbca/node_modules/react-native-reanimated/src/publicGlobals.ts","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/react-native-reanimated@3.16.0_@babel+core@7.24.4_react-native@0.73.1_@babel+core@7.24.4_@bab_ee7tkjbttshncmlub6s3l5fbca/node_modules/react-native-reanimated/src/Animated.ts","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/react-native-reanimated@3.16.0_@babel+core@7.24.4_react-native@0.73.1_@babel+core@7.24.4_@bab_ee7tkjbttshncmlub6s3l5fbca/node_modules/react-native-reanimated/src/component/FlatList.tsx","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/react-native-reanimated@3.16.0_@babel+core@7.24.4_react-native@0.73.1_@babel+core@7.24.4_@bab_ee7tkjbttshncmlub6s3l5fbca/node_modules/react-native-reanimated/src/component/View.ts","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/react-native-reanimated@3.16.0_@babel+core@7.24.4_react-native@0.73.1_@babel+core@7.24.4_@bab_ee7tkjbttshncmlub6s3l5fbca/node_modules/react-native-reanimated/src/component/Image.ts","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/react-native-reanimated@3.16.0_@babel+core@7.24.4_react-native@0.73.1_@babel+core@7.24.4_@bab_ee7tkjbttshncmlub6s3l5fbca/node_modules/react-native-reanimated/src/component/ScrollView.tsx","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/react-native-reanimated@3.16.0_@babel+core@7.24.4_react-native@0.73.1_@babel+core@7.24.4_@bab_ee7tkjbttshncmlub6s3l5fbca/node_modules/react-native-reanimated/src/component/Text.ts","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/react-native-gesture-handler@2.14.1_react-native@0.73.1_@babel+core@7.24.4_@babel+preset-env@_tmkimtkv5n2lql55evcao7oiuq/node_modules/react-native-gesture-handler/src/handlers/gestures/gestureStateManager.ts","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/react-native-gesture-handler@2.14.1_react-native@0.73.1_@babel+core@7.24.4_@babel+preset-env@_tmkimtkv5n2lql55evcao7oiuq/node_modules/react-native-gesture-handler/src/handlers/gestures/eventReceiver.ts","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/react-native-gesture-handler@2.14.1_react-native@0.73.1_@babel+core@7.24.4_@babel+preset-env@_tmkimtkv5n2lql55evcao7oiuq/node_modules/react-native-gesture-handler/src/EnableNewWebImplementation.ts","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/react-native-gesture-handler@2.14.1_react-native@0.73.1_@babel+core@7.24.4_@babel+preset-env@_tmkimtkv5n2lql55evcao7oiuq/node_modules/react-native-gesture-handler/src/getShadowNodeFromRef.ts","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/react-native-gesture-handler@2.14.1_react-native@0.73.1_@babel+core@7.24.4_@babel+preset-env@_tmkimtkv5n2lql55evcao7oiuq/node_modules/react-native-gesture-handler/src/handlers/PinchGestureHandler.ts","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/react-native-gesture-handler@2.14.1_react-native@0.73.1_@babel+core@7.24.4_@babel+preset-env@_tmkimtkv5n2lql55evcao7oiuq/node_modules/react-native-gesture-handler/src/handlers/RotationGestureHandler.ts","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/react-native-gesture-handler@2.14.1_react-native@0.73.1_@babel+core@7.24.4_@babel+preset-env@_tmkimtkv5n2lql55evcao7oiuq/node_modules/react-native-gesture-handler/src/components/touchables/index.ts","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/react-native-gesture-handler@2.14.1_react-native@0.73.1_@babel+core@7.24.4_@babel+preset-env@_tmkimtkv5n2lql55evcao7oiuq/node_modules/react-native-gesture-handler/src/components/touchables/TouchableNativeFeedback.tsx","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/react-native-gesture-handler@2.14.1_react-native@0.73.1_@babel+core@7.24.4_@babel+preset-env@_tmkimtkv5n2lql55evcao7oiuq/node_modules/react-native-gesture-handler/src/components/touchables/TouchableWithoutFeedback.tsx","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/react-native-gesture-handler@2.14.1_react-native@0.73.1_@babel+core@7.24.4_@babel+preset-env@_tmkimtkv5n2lql55evcao7oiuq/node_modules/react-native-gesture-handler/src/components/touchables/GenericTouchable.tsx","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/react-native-gesture-handler@2.14.1_react-native@0.73.1_@babel+core@7.24.4_@babel+preset-env@_tmkimtkv5n2lql55evcao7oiuq/node_modules/react-native-gesture-handler/src/components/touchables/TouchableOpacity.tsx","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/react-native-gesture-handler@2.14.1_react-native@0.73.1_@babel+core@7.24.4_@babel+preset-env@_tmkimtkv5n2lql55evcao7oiuq/node_modules/react-native-gesture-handler/src/components/touchables/TouchableHighlight.tsx","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/react-native-gesture-handler@2.14.1_react-native@0.73.1_@babel+core@7.24.4_@babel+preset-env@_tmkimtkv5n2lql55evcao7oiuq/node_modules/react-native-gesture-handler/src/components/gestureHandlerRootHOC.tsx","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/hoist-non-react-statics@3.3.2/node_modules/hoist-non-react-statics/dist/hoist-non-react-statics.cjs.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/react-native-gesture-handler@2.14.1_react-native@0.73.1_@babel+core@7.24.4_@babel+preset-env@_tmkimtkv5n2lql55evcao7oiuq/node_modules/react-native-gesture-handler/src/components/GestureHandlerRootView.tsx","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/react-native-gesture-handler@2.14.1_react-native@0.73.1_@babel+core@7.24.4_@babel+preset-env@_tmkimtkv5n2lql55evcao7oiuq/node_modules/react-native-gesture-handler/src/init.ts","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/react-native-gesture-handler@2.14.1_react-native@0.73.1_@babel+core@7.24.4_@babel+preset-env@_tmkimtkv5n2lql55evcao7oiuq/node_modules/react-native-gesture-handler/src/components/Swipeable.tsx","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/react-native-gesture-handler@2.14.1_react-native@0.73.1_@babel+core@7.24.4_@babel+preset-env@_tmkimtkv5n2lql55evcao7oiuq/node_modules/react-native-gesture-handler/src/components/DrawerLayout.tsx","/Users/HandsomeLiu/Documents/sidespace/smart-community/src/app.tsx","/Users/HandsomeLiu/Documents/sidespace/smart-community/src/app.scss","/Users/HandsomeLiu/Documents/sidespace/smart-community/src/contexts/user.tsx","/Users/HandsomeLiu/Documents/sidespace/smart-community/src/utils/storage.ts","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/@tarojs+taro-rn@4.1.0_tbtffiqgatmntfpoxzci53s6de/node_modules/@tarojs/taro-rn/dist/lib/getEnv/index.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/@tarojs+taro-rn@4.1.0_tbtffiqgatmntfpoxzci53s6de/node_modules/@tarojs/taro-rn/dist/lib/ENV_TYPE/index.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/@tarojs+taro-rn@4.1.0_tbtffiqgatmntfpoxzci53s6de/node_modules/@tarojs/taro-rn/dist/lib/getStorage/index.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/@react-native-async-storage+async-storage@1.21.0_react-native@0.73.1_@babel+core@7.24.4_@babe_3k4ulrsse5rk7wbx2mi35zjaoy/node_modules/@react-native-async-storage/async-storage/src/index.ts","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/@react-native-async-storage+async-storage@1.21.0_react-native@0.73.1_@babel+core@7.24.4_@babe_3k4ulrsse5rk7wbx2mi35zjaoy/node_modules/@react-native-async-storage/async-storage/src/hooks.ts","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/@react-native-async-storage+async-storage@1.21.0_react-native@0.73.1_@babel+core@7.24.4_@babe_3k4ulrsse5rk7wbx2mi35zjaoy/node_modules/@react-native-async-storage/async-storage/src/AsyncStorage.native.ts","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/@react-native-async-storage+async-storage@1.21.0_react-native@0.73.1_@babel+core@7.24.4_@babe_3k4ulrsse5rk7wbx2mi35zjaoy/node_modules/@react-native-async-storage/async-storage/src/RCTAsyncStorage.ts","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/@react-native-async-storage+async-storage@1.21.0_react-native@0.73.1_@babel+core@7.24.4_@babe_3k4ulrsse5rk7wbx2mi35zjaoy/node_modules/@react-native-async-storage/async-storage/src/shouldFallbackToLegacyNativeModule.ts","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/@react-native-async-storage+async-storage@1.21.0_react-native@0.73.1_@babel+core@7.24.4_@babe_3k4ulrsse5rk7wbx2mi35zjaoy/node_modules/@react-native-async-storage/async-storage/src/helpers.ts","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/@tarojs+taro-rn@4.1.0_tbtffiqgatmntfpoxzci53s6de/node_modules/@tarojs/taro-rn/dist/utils/index.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/@tarojs+taro-rn@4.1.0_tbtffiqgatmntfpoxzci53s6de/node_modules/@tarojs/taro-rn/dist/utils/callbackManager.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/@tarojs+taro-rn@4.1.0_tbtffiqgatmntfpoxzci53s6de/node_modules/@tarojs/taro-rn/dist/lib/setStorage/index.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/@tarojs+taro-rn@4.1.0_tbtffiqgatmntfpoxzci53s6de/node_modules/@tarojs/taro-rn/dist/lib/removeStorage/index.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/@tarojs+taro-rn@4.1.0_tbtffiqgatmntfpoxzci53s6de/node_modules/@tarojs/taro-rn/dist/lib/getStorageSync/index.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/@tarojs+taro-rn@4.1.0_tbtffiqgatmntfpoxzci53s6de/node_modules/@tarojs/taro-rn/dist/lib/unsupportedApi.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/@tarojs+taro-rn@4.1.0_tbtffiqgatmntfpoxzci53s6de/node_modules/@tarojs/taro-rn/dist/lib/setStorageSync/index.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/@tarojs+taro-rn@4.1.0_tbtffiqgatmntfpoxzci53s6de/node_modules/@tarojs/taro-rn/dist/lib/removeStorageSync/index.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/src/services/request.ts","/Users/HandsomeLiu/Documents/sidespace/smart-community/src/utils/env.ts","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/@tarojs+taro-rn@4.1.0_tbtffiqgatmntfpoxzci53s6de/node_modules/@tarojs/taro-rn/dist/lib/request/index.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/src/services/api/auth.ts","/Users/HandsomeLiu/Documents/sidespace/smart-community/src/services/api/pif.ts","/Users/HandsomeLiu/Documents/sidespace/smart-community/src/services/mock.ts","/Users/HandsomeLiu/Documents/sidespace/smart-community/src/pages/login/index.tsx","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/@tarojs+components-rn@4.1.0_omshubcpzj63vfhqg4hbn4bxhi/node_modules/@tarojs/components-rn/dist/components/View/index.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/@tarojs+components-rn@4.1.0_omshubcpzj63vfhqg4hbn4bxhi/node_modules/@tarojs/components-rn/dist/components/hooks/useClickable.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/@tarojs+components-rn@4.1.0_omshubcpzj63vfhqg4hbn4bxhi/node_modules/@tarojs/components-rn/dist/utils/index.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/@tarojs+components-rn@4.1.0_omshubcpzj63vfhqg4hbn4bxhi/node_modules/@tarojs/components-rn/dist/components/Text/index.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/@tarojs+components-rn@4.1.0_omshubcpzj63vfhqg4hbn4bxhi/node_modules/@tarojs/components-rn/dist/components/Input/index.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/@tarojs+components-rn@4.1.0_omshubcpzj63vfhqg4hbn4bxhi/node_modules/@tarojs/components-rn/dist/components/Image/index.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/react-native-svg@13.7.0_react-native@0.73.1_@babel+core@7.24.4_@babel+preset-env@7.29.0_@babe_i7hhenyn7by536l4w3uciszkxy/node_modules/react-native-svg/src/index.ts","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/react-native-svg@13.7.0_react-native@0.73.1_@babel+core@7.24.4_@babel+preset-env@7.29.0_@babe_i7hhenyn7by536l4w3uciszkxy/node_modules/react-native-svg/src/ReactNativeSVG.ts","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/react-native-svg@13.7.0_react-native@0.73.1_@babel+core@7.24.4_@babel+preset-env@7.29.0_@babe_i7hhenyn7by536l4w3uciszkxy/node_modules/react-native-svg/src/LocalSvg.tsx","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/react-native-svg@13.7.0_react-native@0.73.1_@babel+core@7.24.4_@babel+preset-env@7.29.0_@babe_i7hhenyn7by536l4w3uciszkxy/node_modules/react-native-svg/src/xml.tsx","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/react-native-svg@13.7.0_react-native@0.73.1_@babel+core@7.24.4_@babel+preset-env@7.29.0_@babe_i7hhenyn7by536l4w3uciszkxy/node_modules/react-native-svg/src/elements/Rect.tsx","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/react-native-svg@13.7.0_react-native@0.73.1_@babel+core@7.24.4_@babel+preset-env@7.29.0_@babe_i7hhenyn7by536l4w3uciszkxy/node_modules/react-native-svg/src/elements/Shape.tsx","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/react-native-svg@13.7.0_react-native@0.73.1_@babel+core@7.24.4_@babel+preset-env@7.29.0_@babe_i7hhenyn7by536l4w3uciszkxy/node_modules/react-native-svg/src/lib/SvgTouchableMixin.ts","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/react-native-svg@13.7.0_react-native@0.73.1_@babel+core@7.24.4_@babel+preset-env@7.29.0_@babe_i7hhenyn7by536l4w3uciszkxy/node_modules/react-native-svg/src/lib/extract/extractBrush.ts","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/react-native-svg@13.7.0_react-native@0.73.1_@babel+core@7.24.4_@babel+preset-env@7.29.0_@babe_i7hhenyn7by536l4w3uciszkxy/node_modules/react-native-svg/src/fabric/NativeSvgRenderableModule.ts","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/react-native-svg@13.7.0_react-native@0.73.1_@babel+core@7.24.4_@babel+preset-env@7.29.0_@babe_i7hhenyn7by536l4w3uciszkxy/node_modules/react-native-svg/src/fabric/RectNativeComponent.ts","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/react-native-svg@13.7.0_react-native@0.73.1_@babel+core@7.24.4_@babel+preset-env@7.29.0_@babe_i7hhenyn7by536l4w3uciszkxy/node_modules/react-native-svg/src/lib/extract/extractProps.ts","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/react-native-svg@13.7.0_react-native@0.73.1_@babel+core@7.24.4_@babel+preset-env@7.29.0_@babe_i7hhenyn7by536l4w3uciszkxy/node_modules/react-native-svg/src/lib/extract/extractFill.ts","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/react-native-svg@13.7.0_react-native@0.73.1_@babel+core@7.24.4_@babel+preset-env@7.29.0_@babe_i7hhenyn7by536l4w3uciszkxy/node_modules/react-native-svg/src/lib/extract/extractOpacity.ts","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/react-native-svg@13.7.0_react-native@0.73.1_@babel+core@7.24.4_@babel+preset-env@7.29.0_@babe_i7hhenyn7by536l4w3uciszkxy/node_modules/react-native-svg/src/lib/extract/extractStroke.ts","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/react-native-svg@13.7.0_react-native@0.73.1_@babel+core@7.24.4_@babel+preset-env@7.29.0_@babe_i7hhenyn7by536l4w3uciszkxy/node_modules/react-native-svg/src/lib/extract/extractLengthList.ts","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/react-native-svg@13.7.0_react-native@0.73.1_@babel+core@7.24.4_@babel+preset-env@7.29.0_@babe_i7hhenyn7by536l4w3uciszkxy/node_modules/react-native-svg/src/lib/extract/extractTransform.ts","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/react-native-svg@13.7.0_react-native@0.73.1_@babel+core@7.24.4_@babel+preset-env@7.29.0_@babe_i7hhenyn7by536l4w3uciszkxy/node_modules/react-native-svg/src/lib/Matrix2D.ts","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/react-native-svg@13.7.0_react-native@0.73.1_@babel+core@7.24.4_@babel+preset-env@7.29.0_@babe_i7hhenyn7by536l4w3uciszkxy/node_modules/react-native-svg/src/lib/extract/transform.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/react-native-svg@13.7.0_react-native@0.73.1_@babel+core@7.24.4_@babel+preset-env@7.29.0_@babe_i7hhenyn7by536l4w3uciszkxy/node_modules/react-native-svg/src/lib/extract/extractResponder.ts","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/react-native-svg@13.7.0_react-native@0.73.1_@babel+core@7.24.4_@babel+preset-env@7.29.0_@babe_i7hhenyn7by536l4w3uciszkxy/node_modules/react-native-svg/src/lib/util.ts","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/react-native-svg@13.7.0_react-native@0.73.1_@babel+core@7.24.4_@babel+preset-env@7.29.0_@babe_i7hhenyn7by536l4w3uciszkxy/node_modules/react-native-svg/src/elements/Circle.tsx","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/react-native-svg@13.7.0_react-native@0.73.1_@babel+core@7.24.4_@babel+preset-env@7.29.0_@babe_i7hhenyn7by536l4w3uciszkxy/node_modules/react-native-svg/src/fabric/CircleNativeComponent.ts","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/react-native-svg@13.7.0_react-native@0.73.1_@babel+core@7.24.4_@babel+preset-env@7.29.0_@babe_i7hhenyn7by536l4w3uciszkxy/node_modules/react-native-svg/src/elements/Ellipse.tsx","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/react-native-svg@13.7.0_react-native@0.73.1_@babel+core@7.24.4_@babel+preset-env@7.29.0_@babe_i7hhenyn7by536l4w3uciszkxy/node_modules/react-native-svg/src/fabric/EllipseNativeComponent.ts","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/react-native-svg@13.7.0_react-native@0.73.1_@babel+core@7.24.4_@babel+preset-env@7.29.0_@babe_i7hhenyn7by536l4w3uciszkxy/node_modules/react-native-svg/src/elements/Polygon.tsx","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/react-native-svg@13.7.0_react-native@0.73.1_@babel+core@7.24.4_@babel+preset-env@7.29.0_@babe_i7hhenyn7by536l4w3uciszkxy/node_modules/react-native-svg/src/elements/Path.tsx","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/react-native-svg@13.7.0_react-native@0.73.1_@babel+core@7.24.4_@babel+preset-env@7.29.0_@babe_i7hhenyn7by536l4w3uciszkxy/node_modules/react-native-svg/src/fabric/PathNativeComponent.ts","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/react-native-svg@13.7.0_react-native@0.73.1_@babel+core@7.24.4_@babel+preset-env@7.29.0_@babe_i7hhenyn7by536l4w3uciszkxy/node_modules/react-native-svg/src/lib/extract/extractPolyPoints.ts","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/react-native-svg@13.7.0_react-native@0.73.1_@babel+core@7.24.4_@babel+preset-env@7.29.0_@babe_i7hhenyn7by536l4w3uciszkxy/node_modules/react-native-svg/src/elements/Polyline.tsx","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/react-native-svg@13.7.0_react-native@0.73.1_@babel+core@7.24.4_@babel+preset-env@7.29.0_@babe_i7hhenyn7by536l4w3uciszkxy/node_modules/react-native-svg/src/elements/Line.tsx","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/react-native-svg@13.7.0_react-native@0.73.1_@babel+core@7.24.4_@babel+preset-env@7.29.0_@babe_i7hhenyn7by536l4w3uciszkxy/node_modules/react-native-svg/src/fabric/LineNativeComponent.ts","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/react-native-svg@13.7.0_react-native@0.73.1_@babel+core@7.24.4_@babel+preset-env@7.29.0_@babe_i7hhenyn7by536l4w3uciszkxy/node_modules/react-native-svg/src/elements/Svg.tsx","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/react-native-svg@13.7.0_react-native@0.73.1_@babel+core@7.24.4_@babel+preset-env@7.29.0_@babe_i7hhenyn7by536l4w3uciszkxy/node_modules/react-native-svg/src/lib/extract/extractViewBox.ts","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/react-native-svg@13.7.0_react-native@0.73.1_@babel+core@7.24.4_@babel+preset-env@7.29.0_@babe_i7hhenyn7by536l4w3uciszkxy/node_modules/react-native-svg/src/elements/G.tsx","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/react-native-svg@13.7.0_react-native@0.73.1_@babel+core@7.24.4_@babel+preset-env@7.29.0_@babe_i7hhenyn7by536l4w3uciszkxy/node_modules/react-native-svg/src/fabric/GroupNativeComponent.ts","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/react-native-svg@13.7.0_react-native@0.73.1_@babel+core@7.24.4_@babel+preset-env@7.29.0_@babe_i7hhenyn7by536l4w3uciszkxy/node_modules/react-native-svg/src/lib/extract/extractText.tsx","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/react-native-svg@13.7.0_react-native@0.73.1_@babel+core@7.24.4_@babel+preset-env@7.29.0_@babe_i7hhenyn7by536l4w3uciszkxy/node_modules/react-native-svg/src/fabric/AndroidSvgViewNativeComponent.ts","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/react-native-svg@13.7.0_react-native@0.73.1_@babel+core@7.24.4_@babel+preset-env@7.29.0_@babe_i7hhenyn7by536l4w3uciszkxy/node_modules/react-native-svg/src/fabric/IOSSvgViewNativeComponent.ts","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/react-native-svg@13.7.0_react-native@0.73.1_@babel+core@7.24.4_@babel+preset-env@7.29.0_@babe_i7hhenyn7by536l4w3uciszkxy/node_modules/react-native-svg/src/fabric/NativeSvgViewModule.ts","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/react-native-svg@13.7.0_react-native@0.73.1_@babel+core@7.24.4_@babel+preset-env@7.29.0_@babe_i7hhenyn7by536l4w3uciszkxy/node_modules/react-native-svg/src/elements/Text.tsx","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/react-native-svg@13.7.0_react-native@0.73.1_@babel+core@7.24.4_@babel+preset-env@7.29.0_@babe_i7hhenyn7by536l4w3uciszkxy/node_modules/react-native-svg/src/elements/TSpan.tsx","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/react-native-svg@13.7.0_react-native@0.73.1_@babel+core@7.24.4_@babel+preset-env@7.29.0_@babe_i7hhenyn7by536l4w3uciszkxy/node_modules/react-native-svg/src/fabric/TSpanNativeComponent.ts","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/react-native-svg@13.7.0_react-native@0.73.1_@babel+core@7.24.4_@babel+preset-env@7.29.0_@babe_i7hhenyn7by536l4w3uciszkxy/node_modules/react-native-svg/src/fabric/TextNativeComponent.ts","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/react-native-svg@13.7.0_react-native@0.73.1_@babel+core@7.24.4_@babel+preset-env@7.29.0_@babe_i7hhenyn7by536l4w3uciszkxy/node_modules/react-native-svg/src/elements/TextPath.tsx","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/react-native-svg@13.7.0_react-native@0.73.1_@babel+core@7.24.4_@babel+preset-env@7.29.0_@babe_i7hhenyn7by536l4w3uciszkxy/node_modules/react-native-svg/src/fabric/TextPathNativeComponent.ts","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/react-native-svg@13.7.0_react-native@0.73.1_@babel+core@7.24.4_@babel+preset-env@7.29.0_@babe_i7hhenyn7by536l4w3uciszkxy/node_modules/react-native-svg/src/elements/Use.tsx","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/react-native-svg@13.7.0_react-native@0.73.1_@babel+core@7.24.4_@babel+preset-env@7.29.0_@babe_i7hhenyn7by536l4w3uciszkxy/node_modules/react-native-svg/src/fabric/UseNativeComponent.ts","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/react-native-svg@13.7.0_react-native@0.73.1_@babel+core@7.24.4_@babel+preset-env@7.29.0_@babe_i7hhenyn7by536l4w3uciszkxy/node_modules/react-native-svg/src/elements/Image.tsx","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/react-native-svg@13.7.0_react-native@0.73.1_@babel+core@7.24.4_@babel+preset-env@7.29.0_@babe_i7hhenyn7by536l4w3uciszkxy/node_modules/react-native-svg/src/fabric/ImageNativeComponent.ts","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/react-native-svg@13.7.0_react-native@0.73.1_@babel+core@7.24.4_@babel+preset-env@7.29.0_@babe_i7hhenyn7by536l4w3uciszkxy/node_modules/react-native-svg/src/elements/Symbol.tsx","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/react-native-svg@13.7.0_react-native@0.73.1_@babel+core@7.24.4_@babel+preset-env@7.29.0_@babe_i7hhenyn7by536l4w3uciszkxy/node_modules/react-native-svg/src/fabric/SymbolNativeComponent.ts","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/react-native-svg@13.7.0_react-native@0.73.1_@babel+core@7.24.4_@babel+preset-env@7.29.0_@babe_i7hhenyn7by536l4w3uciszkxy/node_modules/react-native-svg/src/elements/Defs.tsx","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/react-native-svg@13.7.0_react-native@0.73.1_@babel+core@7.24.4_@babel+preset-env@7.29.0_@babe_i7hhenyn7by536l4w3uciszkxy/node_modules/react-native-svg/src/fabric/DefsNativeComponent.ts","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/react-native-svg@13.7.0_react-native@0.73.1_@babel+core@7.24.4_@babel+preset-env@7.29.0_@babe_i7hhenyn7by536l4w3uciszkxy/node_modules/react-native-svg/src/elements/LinearGradient.tsx","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/react-native-svg@13.7.0_react-native@0.73.1_@babel+core@7.24.4_@babel+preset-env@7.29.0_@babe_i7hhenyn7by536l4w3uciszkxy/node_modules/react-native-svg/src/lib/extract/extractGradient.ts","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/react-native-svg@13.7.0_react-native@0.73.1_@babel+core@7.24.4_@babel+preset-env@7.29.0_@babe_i7hhenyn7by536l4w3uciszkxy/node_modules/react-native-svg/src/lib/units.ts","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/react-native-svg@13.7.0_react-native@0.73.1_@babel+core@7.24.4_@babel+preset-env@7.29.0_@babe_i7hhenyn7by536l4w3uciszkxy/node_modules/react-native-svg/src/fabric/LinearGradientNativeComponent.ts","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/react-native-svg@13.7.0_react-native@0.73.1_@babel+core@7.24.4_@babel+preset-env@7.29.0_@babe_i7hhenyn7by536l4w3uciszkxy/node_modules/react-native-svg/src/elements/RadialGradient.tsx","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/react-native-svg@13.7.0_react-native@0.73.1_@babel+core@7.24.4_@babel+preset-env@7.29.0_@babe_i7hhenyn7by536l4w3uciszkxy/node_modules/react-native-svg/src/fabric/RadialGradientNativeComponent.ts","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/react-native-svg@13.7.0_react-native@0.73.1_@babel+core@7.24.4_@babel+preset-env@7.29.0_@babe_i7hhenyn7by536l4w3uciszkxy/node_modules/react-native-svg/src/elements/Stop.tsx","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/react-native-svg@13.7.0_react-native@0.73.1_@babel+core@7.24.4_@babel+preset-env@7.29.0_@babe_i7hhenyn7by536l4w3uciszkxy/node_modules/react-native-svg/src/elements/ClipPath.tsx","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/react-native-svg@13.7.0_react-native@0.73.1_@babel+core@7.24.4_@babel+preset-env@7.29.0_@babe_i7hhenyn7by536l4w3uciszkxy/node_modules/react-native-svg/src/fabric/ClipPathNativeComponent.ts","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/react-native-svg@13.7.0_react-native@0.73.1_@babel+core@7.24.4_@babel+preset-env@7.29.0_@babe_i7hhenyn7by536l4w3uciszkxy/node_modules/react-native-svg/src/elements/Pattern.tsx","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/react-native-svg@13.7.0_react-native@0.73.1_@babel+core@7.24.4_@babel+preset-env@7.29.0_@babe_i7hhenyn7by536l4w3uciszkxy/node_modules/react-native-svg/src/fabric/PatternNativeComponent.ts","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/react-native-svg@13.7.0_react-native@0.73.1_@babel+core@7.24.4_@babel+preset-env@7.29.0_@babe_i7hhenyn7by536l4w3uciszkxy/node_modules/react-native-svg/src/elements/Mask.tsx","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/react-native-svg@13.7.0_react-native@0.73.1_@babel+core@7.24.4_@babel+preset-env@7.29.0_@babe_i7hhenyn7by536l4w3uciszkxy/node_modules/react-native-svg/src/fabric/MaskNativeComponent.ts","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/react-native-svg@13.7.0_react-native@0.73.1_@babel+core@7.24.4_@babel+preset-env@7.29.0_@babe_i7hhenyn7by536l4w3uciszkxy/node_modules/react-native-svg/src/elements/Marker.tsx","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/react-native-svg@13.7.0_react-native@0.73.1_@babel+core@7.24.4_@babel+preset-env@7.29.0_@babe_i7hhenyn7by536l4w3uciszkxy/node_modules/react-native-svg/src/fabric/MarkerNativeComponent.ts","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/react-native-svg@13.7.0_react-native@0.73.1_@babel+core@7.24.4_@babel+preset-env@7.29.0_@babe_i7hhenyn7by536l4w3uciszkxy/node_modules/react-native-svg/src/css.tsx","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/css-tree@1.1.3/node_modules/css-tree/lib/index.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/css-tree@1.1.3/node_modules/css-tree/lib/syntax/index.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/css-tree@1.1.3/node_modules/css-tree/lib/syntax/create.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/css-tree@1.1.3/node_modules/css-tree/lib/parser/create.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/css-tree@1.1.3/node_modules/css-tree/lib/tokenizer/const.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/css-tree@1.1.3/node_modules/css-tree/lib/common/TokenStream.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/css-tree@1.1.3/node_modules/css-tree/lib/tokenizer/utils.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/css-tree@1.1.3/node_modules/css-tree/lib/tokenizer/char-code-definitions.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/css-tree@1.1.3/node_modules/css-tree/lib/common/OffsetToLocation.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/css-tree@1.1.3/node_modules/css-tree/lib/common/adopt-buffer.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/css-tree@1.1.3/node_modules/css-tree/lib/tokenizer/index.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/css-tree@1.1.3/node_modules/css-tree/lib/parser/sequence.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/css-tree@1.1.3/node_modules/css-tree/lib/common/List.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/css-tree@1.1.3/node_modules/css-tree/lib/common/SyntaxError.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/css-tree@1.1.3/node_modules/css-tree/lib/utils/createCustomError.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/css-tree@1.1.3/node_modules/css-tree/lib/walker/create.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/css-tree@1.1.3/node_modules/css-tree/lib/generator/create.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/css-tree@1.1.3/node_modules/css-tree/lib/generator/sourceMap.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/source-map@0.6.1/node_modules/source-map/lib/source-map-generator.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/source-map@0.6.1/node_modules/source-map/lib/util.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/source-map@0.6.1/node_modules/source-map/lib/array-set.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/source-map@0.6.1/node_modules/source-map/lib/mapping-list.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/source-map@0.6.1/node_modules/source-map/lib/base64-vlq.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/source-map@0.6.1/node_modules/source-map/lib/base64.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/css-tree@1.1.3/node_modules/css-tree/lib/convertor/create.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/css-tree@1.1.3/node_modules/css-tree/lib/lexer/Lexer.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/css-tree@1.1.3/node_modules/css-tree/lib/lexer/match-graph.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/css-tree@1.1.3/node_modules/css-tree/lib/definition-syntax/parse.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/css-tree@1.1.3/node_modules/css-tree/lib/definition-syntax/tokenizer.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/css-tree@1.1.3/node_modules/css-tree/lib/definition-syntax/SyntaxError.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/css-tree@1.1.3/node_modules/css-tree/lib/definition-syntax/generate.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/css-tree@1.1.3/node_modules/css-tree/lib/lexer/trace.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/css-tree@1.1.3/node_modules/css-tree/lib/lexer/prepare-tokens.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/css-tree@1.1.3/node_modules/css-tree/lib/lexer/match.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/css-tree@1.1.3/node_modules/css-tree/lib/lexer/error.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/css-tree@1.1.3/node_modules/css-tree/lib/lexer/structure.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/css-tree@1.1.3/node_modules/css-tree/lib/lexer/generic.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/css-tree@1.1.3/node_modules/css-tree/lib/lexer/generic-an-plus-b.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/css-tree@1.1.3/node_modules/css-tree/lib/lexer/generic-urange.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/css-tree@1.1.3/node_modules/css-tree/lib/utils/names.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/css-tree@1.1.3/node_modules/css-tree/lib/lexer/search.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/css-tree@1.1.3/node_modules/css-tree/lib/definition-syntax/walk.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/css-tree@1.1.3/node_modules/css-tree/lib/definition-syntax/index.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/css-tree@1.1.3/node_modules/css-tree/lib/utils/clone.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/css-tree@1.1.3/node_modules/css-tree/lib/syntax/config/mix.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/css-tree@1.1.3/node_modules/css-tree/lib/syntax/config/lexer.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/css-tree@1.1.3/node_modules/css-tree/data/index.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/mdn-data@2.0.14/node_modules/mdn-data/css/syntaxes.json","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/css-tree@1.1.3/node_modules/css-tree/data/patch.json","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/mdn-data@2.0.14/node_modules/mdn-data/css/at-rules.json","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/mdn-data@2.0.14/node_modules/mdn-data/css/properties.json","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/css-tree@1.1.3/node_modules/css-tree/lib/syntax/node/index.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/css-tree@1.1.3/node_modules/css-tree/lib/syntax/node/AnPlusB.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/css-tree@1.1.3/node_modules/css-tree/lib/syntax/node/Atrule.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/css-tree@1.1.3/node_modules/css-tree/lib/syntax/node/Raw.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/css-tree@1.1.3/node_modules/css-tree/lib/syntax/node/AtrulePrelude.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/css-tree@1.1.3/node_modules/css-tree/lib/syntax/node/AttributeSelector.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/css-tree@1.1.3/node_modules/css-tree/lib/syntax/node/Block.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/css-tree@1.1.3/node_modules/css-tree/lib/syntax/node/Brackets.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/css-tree@1.1.3/node_modules/css-tree/lib/syntax/node/CDC.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/css-tree@1.1.3/node_modules/css-tree/lib/syntax/node/CDO.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/css-tree@1.1.3/node_modules/css-tree/lib/syntax/node/ClassSelector.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/css-tree@1.1.3/node_modules/css-tree/lib/syntax/node/Combinator.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/css-tree@1.1.3/node_modules/css-tree/lib/syntax/node/Comment.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/css-tree@1.1.3/node_modules/css-tree/lib/syntax/node/Declaration.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/css-tree@1.1.3/node_modules/css-tree/lib/syntax/node/DeclarationList.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/css-tree@1.1.3/node_modules/css-tree/lib/syntax/node/Dimension.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/css-tree@1.1.3/node_modules/css-tree/lib/syntax/node/Function.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/css-tree@1.1.3/node_modules/css-tree/lib/syntax/node/Hash.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/css-tree@1.1.3/node_modules/css-tree/lib/syntax/node/Identifier.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/css-tree@1.1.3/node_modules/css-tree/lib/syntax/node/IdSelector.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/css-tree@1.1.3/node_modules/css-tree/lib/syntax/node/MediaFeature.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/css-tree@1.1.3/node_modules/css-tree/lib/syntax/node/MediaQuery.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/css-tree@1.1.3/node_modules/css-tree/lib/syntax/node/MediaQueryList.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/css-tree@1.1.3/node_modules/css-tree/lib/syntax/node/Nth.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/css-tree@1.1.3/node_modules/css-tree/lib/syntax/node/Number.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/css-tree@1.1.3/node_modules/css-tree/lib/syntax/node/Operator.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/css-tree@1.1.3/node_modules/css-tree/lib/syntax/node/Parentheses.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/css-tree@1.1.3/node_modules/css-tree/lib/syntax/node/Percentage.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/css-tree@1.1.3/node_modules/css-tree/lib/syntax/node/PseudoClassSelector.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/css-tree@1.1.3/node_modules/css-tree/lib/syntax/node/PseudoElementSelector.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/css-tree@1.1.3/node_modules/css-tree/lib/syntax/node/Ratio.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/css-tree@1.1.3/node_modules/css-tree/lib/syntax/node/Rule.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/css-tree@1.1.3/node_modules/css-tree/lib/syntax/node/Selector.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/css-tree@1.1.3/node_modules/css-tree/lib/syntax/node/SelectorList.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/css-tree@1.1.3/node_modules/css-tree/lib/syntax/node/String.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/css-tree@1.1.3/node_modules/css-tree/lib/syntax/node/StyleSheet.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/css-tree@1.1.3/node_modules/css-tree/lib/syntax/node/TypeSelector.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/css-tree@1.1.3/node_modules/css-tree/lib/syntax/node/UnicodeRange.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/css-tree@1.1.3/node_modules/css-tree/lib/syntax/node/Url.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/css-tree@1.1.3/node_modules/css-tree/lib/syntax/node/Value.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/css-tree@1.1.3/node_modules/css-tree/lib/syntax/node/WhiteSpace.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/css-tree@1.1.3/node_modules/css-tree/lib/syntax/config/parser.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/css-tree@1.1.3/node_modules/css-tree/lib/syntax/scope/index.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/css-tree@1.1.3/node_modules/css-tree/lib/syntax/scope/atrulePrelude.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/css-tree@1.1.3/node_modules/css-tree/lib/syntax/scope/default.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/css-tree@1.1.3/node_modules/css-tree/lib/syntax/scope/selector.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/css-tree@1.1.3/node_modules/css-tree/lib/syntax/scope/value.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/css-tree@1.1.3/node_modules/css-tree/lib/syntax/function/expression.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/css-tree@1.1.3/node_modules/css-tree/lib/syntax/function/var.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/css-tree@1.1.3/node_modules/css-tree/lib/syntax/atrule/index.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/css-tree@1.1.3/node_modules/css-tree/lib/syntax/atrule/font-face.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/css-tree@1.1.3/node_modules/css-tree/lib/syntax/atrule/import.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/css-tree@1.1.3/node_modules/css-tree/lib/syntax/atrule/media.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/css-tree@1.1.3/node_modules/css-tree/lib/syntax/atrule/page.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/css-tree@1.1.3/node_modules/css-tree/lib/syntax/atrule/supports.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/css-tree@1.1.3/node_modules/css-tree/lib/syntax/pseudo/index.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/css-tree@1.1.3/node_modules/css-tree/lib/syntax/pseudo/dir.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/css-tree@1.1.3/node_modules/css-tree/lib/syntax/pseudo/has.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/css-tree@1.1.3/node_modules/css-tree/lib/syntax/pseudo/lang.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/css-tree@1.1.3/node_modules/css-tree/lib/syntax/pseudo/matches.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/css-tree@1.1.3/node_modules/css-tree/lib/syntax/pseudo/common/selectorList.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/css-tree@1.1.3/node_modules/css-tree/lib/syntax/pseudo/not.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/css-tree@1.1.3/node_modules/css-tree/lib/syntax/pseudo/nth-child.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/css-tree@1.1.3/node_modules/css-tree/lib/syntax/pseudo/common/nthWithOfClause.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/css-tree@1.1.3/node_modules/css-tree/lib/syntax/pseudo/nth-last-child.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/css-tree@1.1.3/node_modules/css-tree/lib/syntax/pseudo/nth-last-of-type.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/css-tree@1.1.3/node_modules/css-tree/lib/syntax/pseudo/common/nth.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/css-tree@1.1.3/node_modules/css-tree/lib/syntax/pseudo/nth-of-type.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/css-tree@1.1.3/node_modules/css-tree/lib/syntax/pseudo/slotted.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/css-tree@1.1.3/node_modules/css-tree/lib/syntax/config/walker.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/css-tree@1.1.3/node_modules/css-tree/package.json","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/css-select@5.2.2/node_modules/css-select/lib/index.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/domutils@3.2.2/node_modules/domutils/lib/index.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/domutils@3.2.2/node_modules/domutils/lib/stringify.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/dom-serializer@2.0.0/node_modules/dom-serializer/lib/index.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/domelementtype@2.3.0/node_modules/domelementtype/lib/index.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/entities@4.5.0/node_modules/entities/lib/index.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/entities@4.5.0/node_modules/entities/lib/decode.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/entities@4.5.0/node_modules/entities/lib/generated/decode-data-html.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/entities@4.5.0/node_modules/entities/lib/generated/decode-data-xml.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/entities@4.5.0/node_modules/entities/lib/decode_codepoint.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/entities@4.5.0/node_modules/entities/lib/escape.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/entities@4.5.0/node_modules/entities/lib/encode.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/entities@4.5.0/node_modules/entities/lib/generated/encode-html.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/dom-serializer@2.0.0/node_modules/dom-serializer/lib/foreignNames.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/domhandler@5.0.3/node_modules/domhandler/lib/index.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/domhandler@5.0.3/node_modules/domhandler/lib/node.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/domutils@3.2.2/node_modules/domutils/lib/traversal.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/domutils@3.2.2/node_modules/domutils/lib/manipulation.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/domutils@3.2.2/node_modules/domutils/lib/querying.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/domutils@3.2.2/node_modules/domutils/lib/legacy.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/domutils@3.2.2/node_modules/domutils/lib/helpers.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/domutils@3.2.2/node_modules/domutils/lib/feeds.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/boolbase@1.0.0/node_modules/boolbase/index.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/css-select@5.2.2/node_modules/css-select/lib/compile.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/css-select@5.2.2/node_modules/css-select/lib/sort.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/css-what@6.2.2/node_modules/css-what/lib/commonjs/index.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/css-what@6.2.2/node_modules/css-what/lib/commonjs/types.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/css-what@6.2.2/node_modules/css-what/lib/commonjs/parse.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/css-what@6.2.2/node_modules/css-what/lib/commonjs/stringify.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/css-select@5.2.2/node_modules/css-select/lib/pseudo-selectors/subselects.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/css-select@5.2.2/node_modules/css-select/lib/general.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/css-select@5.2.2/node_modules/css-select/lib/attributes.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/css-select@5.2.2/node_modules/css-select/lib/pseudo-selectors/index.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/css-select@5.2.2/node_modules/css-select/lib/pseudo-selectors/filters.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/nth-check@2.1.1/node_modules/nth-check/lib/index.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/nth-check@2.1.1/node_modules/nth-check/lib/parse.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/nth-check@2.1.1/node_modules/nth-check/lib/compile.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/css-select@5.2.2/node_modules/css-select/lib/pseudo-selectors/pseudos.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/css-select@5.2.2/node_modules/css-select/lib/pseudo-selectors/aliases.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/react-native-svg@13.7.0_react-native@0.73.1_@babel+core@7.24.4_@babel+preset-env@7.29.0_@babe_i7hhenyn7by536l4w3uciszkxy/node_modules/react-native-svg/src/fabric/index.ts","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/react-native-svg@13.7.0_react-native@0.73.1_@babel+core@7.24.4_@babel+preset-env@7.29.0_@babe_i7hhenyn7by536l4w3uciszkxy/node_modules/react-native-svg/src/fabric/ForeignObjectNativeComponent.ts","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/react-native-svg@13.7.0_react-native@0.73.1_@babel+core@7.24.4_@babel+preset-env@7.29.0_@babe_i7hhenyn7by536l4w3uciszkxy/node_modules/react-native-svg/src/elements/ForeignObject.tsx","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/react-native-svg@13.7.0_react-native@0.73.1_@babel+core@7.24.4_@babel+preset-env@7.29.0_@babe_i7hhenyn7by536l4w3uciszkxy/node_modules/react-native-svg/src/lib/extract/types.ts","/Users/HandsomeLiu/Documents/sidespace/smart-community/src/pages/login/index.rn.scss","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/@tarojs+runtime-rn@4.1.0_xgsvwdzfaz46c4zca4ctb6rudy/node_modules/@tarojs/runtime-rn/dist/index.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/@tarojs+runtime-rn@4.1.0_xgsvwdzfaz46c4zca4ctb6rudy/node_modules/@tarojs/runtime-rn/dist/current.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/@tarojs+runtime-rn@4.1.0_xgsvwdzfaz46c4zca4ctb6rudy/node_modules/@tarojs/runtime-rn/dist/router.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/@tarojs+router-rn@4.1.0_react-native-gesture-handler@2.14.1_react-native@0.73.1_@babel+core@7_qciijl7vifmhqtyz6ivnnowrwu/node_modules/@tarojs/router-rn/dist/index.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/@tarojs+router-rn@4.1.0_react-native-gesture-handler@2.14.1_react-native@0.73.1_@babel+core@7_qciijl7vifmhqtyz6ivnnowrwu/node_modules/@tarojs/router-rn/dist/navigationBar.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/@tarojs+router-rn@4.1.0_react-native-gesture-handler@2.14.1_react-native@0.73.1_@babel+core@7_qciijl7vifmhqtyz6ivnnowrwu/node_modules/@tarojs/router-rn/dist/rootNavigation.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/@tarojs+router-rn@4.1.0_react-native-gesture-handler@2.14.1_react-native@0.73.1_@babel+core@7_qciijl7vifmhqtyz6ivnnowrwu/node_modules/@tarojs/router-rn/dist/utils/index.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/query-string@9.3.1/node_modules/query-string/index.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/query-string@9.3.1/node_modules/query-string/base.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/decode-uri-component@0.4.1/node_modules/decode-uri-component/index.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/split-on-first@3.0.0/node_modules/split-on-first/index.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/filter-obj@5.1.0/node_modules/filter-obj/index.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/lodash@4.17.23/node_modules/lodash/lodash.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/@react-navigation+native@6.1.18_react-native@0.73.1_@babel+core@7.24.4_@babel+preset-env@7.29_v57seuyt7aqz4zvxa5raf5baiy/node_modules/@react-navigation/native/src/index.tsx","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/@react-navigation+native@6.1.18_react-native@0.73.1_@babel+core@7.24.4_@babel+preset-env@7.29_v57seuyt7aqz4zvxa5raf5baiy/node_modules/@react-navigation/native/src/Link.tsx","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/@react-navigation+native@6.1.18_react-native@0.73.1_@babel+core@7.24.4_@babel+preset-env@7.29_v57seuyt7aqz4zvxa5raf5baiy/node_modules/@react-navigation/native/src/useLinkProps.tsx","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/@react-navigation+native@6.1.18_react-native@0.73.1_@babel+core@7.24.4_@babel+preset-env@7.29_v57seuyt7aqz4zvxa5raf5baiy/node_modules/@react-navigation/native/src/LinkingContext.tsx","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/@react-navigation+native@6.1.18_react-native@0.73.1_@babel+core@7.24.4_@babel+preset-env@7.29_v57seuyt7aqz4zvxa5raf5baiy/node_modules/@react-navigation/native/src/useLinkTo.tsx","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/@react-navigation+core@6.4.17_react@18.3.1/node_modules/@react-navigation/core/src/index.tsx","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/@react-navigation+core@6.4.17_react@18.3.1/node_modules/@react-navigation/core/src/BaseNavigationContainer.tsx","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/@react-navigation+core@6.4.17_react@18.3.1/node_modules/@react-navigation/core/src/checkDuplicateRouteNames.tsx","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/@react-navigation+core@6.4.17_react@18.3.1/node_modules/@react-navigation/core/src/checkSerializable.tsx","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/@react-navigation+core@6.4.17_react@18.3.1/node_modules/@react-navigation/core/src/EnsureSingleNavigator.tsx","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/@react-navigation+core@6.4.17_react@18.3.1/node_modules/@react-navigation/core/src/findFocusedRoute.tsx","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/@react-navigation+core@6.4.17_react@18.3.1/node_modules/@react-navigation/core/src/NavigationBuilderContext.tsx","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/@react-navigation+core@6.4.17_react@18.3.1/node_modules/@react-navigation/core/src/NavigationContainerRefContext.tsx","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/@react-navigation+core@6.4.17_react@18.3.1/node_modules/@react-navigation/core/src/NavigationContext.tsx","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/@react-navigation+core@6.4.17_react@18.3.1/node_modules/@react-navigation/core/src/NavigationRouteContext.tsx","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/@react-navigation+core@6.4.17_react@18.3.1/node_modules/@react-navigation/core/src/NavigationStateContext.tsx","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/@react-navigation+core@6.4.17_react@18.3.1/node_modules/@react-navigation/core/src/UnhandledActionContext.tsx","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/@react-navigation+core@6.4.17_react@18.3.1/node_modules/@react-navigation/core/src/useChildListeners.tsx","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/@react-navigation+core@6.4.17_react@18.3.1/node_modules/@react-navigation/core/src/useEventEmitter.tsx","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/@react-navigation+core@6.4.17_react@18.3.1/node_modules/@react-navigation/core/src/useKeyedChildListeners.tsx","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/@react-navigation+core@6.4.17_react@18.3.1/node_modules/@react-navigation/core/src/useOptionsGetters.tsx","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/@react-navigation+core@6.4.17_react@18.3.1/node_modules/@react-navigation/core/src/useSyncState.tsx","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/@react-navigation+core@6.4.17_react@18.3.1/node_modules/@react-navigation/core/src/createNavigationContainerRef.tsx","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/@react-navigation+routers@6.1.9/node_modules/@react-navigation/routers/src/index.tsx","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/@react-navigation+routers@6.1.9/node_modules/@react-navigation/routers/src/CommonActions.tsx","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/@react-navigation+routers@6.1.9/node_modules/@react-navigation/routers/src/BaseRouter.tsx","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/nanoid@3.3.11/node_modules/nanoid/non-secure/index.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/@react-navigation+routers@6.1.9/node_modules/@react-navigation/routers/src/DrawerRouter.tsx","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/@react-navigation+routers@6.1.9/node_modules/@react-navigation/routers/src/TabRouter.tsx","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/@react-navigation+routers@6.1.9/node_modules/@react-navigation/routers/src/StackRouter.tsx","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/@react-navigation+routers@6.1.9/node_modules/@react-navigation/routers/src/types.tsx","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/@react-navigation+core@6.4.17_react@18.3.1/node_modules/@react-navigation/core/src/useScheduleUpdate.tsx","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/@react-navigation+core@6.4.17_react@18.3.1/node_modules/@react-navigation/core/src/createNavigatorFactory.tsx","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/@react-navigation+core@6.4.17_react@18.3.1/node_modules/@react-navigation/core/src/Group.tsx","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/@react-navigation+core@6.4.17_react@18.3.1/node_modules/@react-navigation/core/src/Screen.tsx","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/@react-navigation+core@6.4.17_react@18.3.1/node_modules/@react-navigation/core/src/CurrentRenderContext.tsx","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/@react-navigation+core@6.4.17_react@18.3.1/node_modules/@react-navigation/core/src/getActionFromState.tsx","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/@react-navigation+core@6.4.17_react@18.3.1/node_modules/@react-navigation/core/src/getFocusedRouteNameFromRoute.tsx","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/@react-navigation+core@6.4.17_react@18.3.1/node_modules/@react-navigation/core/src/useRouteCache.tsx","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/@react-navigation+core@6.4.17_react@18.3.1/node_modules/@react-navigation/core/src/getPathFromState.tsx","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/query-string@7.1.3/node_modules/query-string/index.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/strict-uri-encode@2.0.0/node_modules/strict-uri-encode/index.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/decode-uri-component@0.2.2/node_modules/decode-uri-component/index.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/split-on-first@1.1.0/node_modules/split-on-first/index.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/filter-obj@1.1.0/node_modules/filter-obj/index.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/@react-navigation+core@6.4.17_react@18.3.1/node_modules/@react-navigation/core/src/fromEntries.tsx","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/@react-navigation+core@6.4.17_react@18.3.1/node_modules/@react-navigation/core/src/validatePathConfig.tsx","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/@react-navigation+core@6.4.17_react@18.3.1/node_modules/@react-navigation/core/src/getStateFromPath.tsx","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/escape-string-regexp@4.0.0/node_modules/escape-string-regexp/index.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/@react-navigation+core@6.4.17_react@18.3.1/node_modules/@react-navigation/core/src/NavigationHelpersContext.tsx","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/@react-navigation+core@6.4.17_react@18.3.1/node_modules/@react-navigation/core/src/PreventRemoveContext.tsx","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/@react-navigation+core@6.4.17_react@18.3.1/node_modules/@react-navigation/core/src/PreventRemoveProvider.tsx","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/use-latest-callback@0.2.6_react@18.3.1/node_modules/use-latest-callback/lib/src/index.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/@react-navigation+core@6.4.17_react@18.3.1/node_modules/@react-navigation/core/src/types.tsx","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/@react-navigation+core@6.4.17_react@18.3.1/node_modules/@react-navigation/core/src/useFocusEffect.tsx","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/@react-navigation+core@6.4.17_react@18.3.1/node_modules/@react-navigation/core/src/useNavigation.tsx","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/@react-navigation+core@6.4.17_react@18.3.1/node_modules/@react-navigation/core/src/useIsFocused.tsx","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/@react-navigation+core@6.4.17_react@18.3.1/node_modules/@react-navigation/core/src/useNavigationBuilder.tsx","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/@react-navigation+core@6.4.17_react@18.3.1/node_modules/@react-navigation/core/src/isArrayEqual.tsx","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/@react-navigation+core@6.4.17_react@18.3.1/node_modules/@react-navigation/core/src/isRecordEqual.tsx","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/@react-navigation+core@6.4.17_react@18.3.1/node_modules/@react-navigation/core/src/useComponent.tsx","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/@react-navigation+core@6.4.17_react@18.3.1/node_modules/@react-navigation/core/src/useCurrentRender.tsx","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/@react-navigation+core@6.4.17_react@18.3.1/node_modules/@react-navigation/core/src/useDescriptors.tsx","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/@react-navigation+core@6.4.17_react@18.3.1/node_modules/@react-navigation/core/src/SceneView.tsx","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/@react-navigation+core@6.4.17_react@18.3.1/node_modules/@react-navigation/core/src/StaticContainer.tsx","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/@react-navigation+core@6.4.17_react@18.3.1/node_modules/@react-navigation/core/src/useNavigationCache.tsx","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/@react-navigation+core@6.4.17_react@18.3.1/node_modules/@react-navigation/core/src/useFocusedListenersChildrenAdapter.tsx","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/@react-navigation+core@6.4.17_react@18.3.1/node_modules/@react-navigation/core/src/useFocusEvents.tsx","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/@react-navigation+core@6.4.17_react@18.3.1/node_modules/@react-navigation/core/src/useNavigationHelpers.tsx","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/@react-navigation+core@6.4.17_react@18.3.1/node_modules/@react-navigation/core/src/useOnAction.tsx","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/@react-navigation+core@6.4.17_react@18.3.1/node_modules/@react-navigation/core/src/useOnPreventRemove.tsx","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/@react-navigation+core@6.4.17_react@18.3.1/node_modules/@react-navigation/core/src/useOnGetState.tsx","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/@react-navigation+core@6.4.17_react@18.3.1/node_modules/@react-navigation/core/src/useOnRouteFocus.tsx","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/@react-navigation+core@6.4.17_react@18.3.1/node_modules/@react-navigation/core/src/useRegisterNavigator.tsx","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/@react-navigation+core@6.4.17_react@18.3.1/node_modules/@react-navigation/core/src/useNavigationContainerRef.tsx","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/@react-navigation+core@6.4.17_react@18.3.1/node_modules/@react-navigation/core/src/useNavigationState.tsx","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/@react-navigation+core@6.4.17_react@18.3.1/node_modules/@react-navigation/core/src/usePreventRemove.tsx","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/@react-navigation+core@6.4.17_react@18.3.1/node_modules/@react-navigation/core/src/usePreventRemoveContext.tsx","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/@react-navigation+core@6.4.17_react@18.3.1/node_modules/@react-navigation/core/src/useRoute.tsx","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/@react-navigation+native@6.1.18_react-native@0.73.1_@babel+core@7.24.4_@babel+preset-env@7.29_v57seuyt7aqz4zvxa5raf5baiy/node_modules/@react-navigation/native/src/NavigationContainer.tsx","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/@react-navigation+native@6.1.18_react-native@0.73.1_@babel+core@7.24.4_@babel+preset-env@7.29_v57seuyt7aqz4zvxa5raf5baiy/node_modules/@react-navigation/native/src/theming/DefaultTheme.tsx","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/@react-navigation+native@6.1.18_react-native@0.73.1_@babel+core@7.24.4_@babel+preset-env@7.29_v57seuyt7aqz4zvxa5raf5baiy/node_modules/@react-navigation/native/src/theming/ThemeProvider.tsx","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/@react-navigation+native@6.1.18_react-native@0.73.1_@babel+core@7.24.4_@babel+preset-env@7.29_v57seuyt7aqz4zvxa5raf5baiy/node_modules/@react-navigation/native/src/theming/ThemeContext.tsx","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/@react-navigation+native@6.1.18_react-native@0.73.1_@babel+core@7.24.4_@babel+preset-env@7.29_v57seuyt7aqz4zvxa5raf5baiy/node_modules/@react-navigation/native/src/useBackButton.native.tsx","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/@react-navigation+native@6.1.18_react-native@0.73.1_@babel+core@7.24.4_@babel+preset-env@7.29_v57seuyt7aqz4zvxa5raf5baiy/node_modules/@react-navigation/native/src/useDocumentTitle.native.tsx","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/@react-navigation+native@6.1.18_react-native@0.73.1_@babel+core@7.24.4_@babel+preset-env@7.29_v57seuyt7aqz4zvxa5raf5baiy/node_modules/@react-navigation/native/src/useLinking.native.tsx","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/@react-navigation+native@6.1.18_react-native@0.73.1_@babel+core@7.24.4_@babel+preset-env@7.29_v57seuyt7aqz4zvxa5raf5baiy/node_modules/@react-navigation/native/src/extractPathFromURL.tsx","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/@react-navigation+native@6.1.18_react-native@0.73.1_@babel+core@7.24.4_@babel+preset-env@7.29_v57seuyt7aqz4zvxa5raf5baiy/node_modules/@react-navigation/native/src/useThenable.tsx","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/@react-navigation+native@6.1.18_react-native@0.73.1_@babel+core@7.24.4_@babel+preset-env@7.29_v57seuyt7aqz4zvxa5raf5baiy/node_modules/@react-navigation/native/src/ServerContainer.tsx","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/@react-navigation+native@6.1.18_react-native@0.73.1_@babel+core@7.24.4_@babel+preset-env@7.29_v57seuyt7aqz4zvxa5raf5baiy/node_modules/@react-navigation/native/src/ServerContext.tsx","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/@react-navigation+native@6.1.18_react-native@0.73.1_@babel+core@7.24.4_@babel+preset-env@7.29_v57seuyt7aqz4zvxa5raf5baiy/node_modules/@react-navigation/native/src/theming/DarkTheme.tsx","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/@react-navigation+native@6.1.18_react-native@0.73.1_@babel+core@7.24.4_@babel+preset-env@7.29_v57seuyt7aqz4zvxa5raf5baiy/node_modules/@react-navigation/native/src/theming/useTheme.tsx","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/@react-navigation+native@6.1.18_react-native@0.73.1_@babel+core@7.24.4_@babel+preset-env@7.29_v57seuyt7aqz4zvxa5raf5baiy/node_modules/@react-navigation/native/src/types.tsx","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/@react-navigation+native@6.1.18_react-native@0.73.1_@babel+core@7.24.4_@babel+preset-env@7.29_v57seuyt7aqz4zvxa5raf5baiy/node_modules/@react-navigation/native/src/useLinkBuilder.tsx","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/@react-navigation+native@6.1.18_react-native@0.73.1_@babel+core@7.24.4_@babel+preset-env@7.29_v57seuyt7aqz4zvxa5raf5baiy/node_modules/@react-navigation/native/src/useScrollToTop.tsx","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/@tarojs+router-rn@4.1.0_react-native-gesture-handler@2.14.1_react-native@0.73.1_@babel+core@7_qciijl7vifmhqtyz6ivnnowrwu/node_modules/@tarojs/router-rn/dist/provider.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/@tarojs+router-rn@4.1.0_react-native-gesture-handler@2.14.1_react-native@0.73.1_@babel+core@7_qciijl7vifmhqtyz6ivnnowrwu/node_modules/@tarojs/router-rn/dist/router.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/@tarojs+router-rn@4.1.0_react-native-gesture-handler@2.14.1_react-native@0.73.1_@babel+core@7_qciijl7vifmhqtyz6ivnnowrwu/node_modules/@tarojs/router-rn/dist/view/BackButton.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/@tarojs+router-rn@4.1.0_react-native-gesture-handler@2.14.1_react-native@0.73.1_@babel+core@7_qciijl7vifmhqtyz6ivnnowrwu/node_modules/@tarojs/router-rn/dist/view/HeadTitle.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/@tarojs+router-rn@4.1.0_react-native-gesture-handler@2.14.1_react-native@0.73.1_@babel+core@7_qciijl7vifmhqtyz6ivnnowrwu/node_modules/@tarojs/router-rn/dist/view/Loading.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/@tarojs+router-rn@4.1.0_react-native-gesture-handler@2.14.1_react-native@0.73.1_@babel+core@7_qciijl7vifmhqtyz6ivnnowrwu/node_modules/@tarojs/router-rn/dist/view/TabBar.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/@tarojs+router-rn@4.1.0_react-native-gesture-handler@2.14.1_react-native@0.73.1_@babel+core@7_qciijl7vifmhqtyz6ivnnowrwu/node_modules/@tarojs/router-rn/dist/view/TabBarItem.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/@tarojs+router-rn@4.1.0_react-native-gesture-handler@2.14.1_react-native@0.73.1_@babel+core@7_qciijl7vifmhqtyz6ivnnowrwu/node_modules/@tarojs/router-rn/dist/view/Badge.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/@tarojs+router-rn@4.1.0_react-native-gesture-handler@2.14.1_react-native@0.73.1_@babel+core@7_qciijl7vifmhqtyz6ivnnowrwu/node_modules/@tarojs/router-rn/dist/view/tabBarUtils.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/react-native-safe-area-context@4.11.1_react-native@0.73.1_@babel+core@7.24.4_@babel+preset-en_m36gzb5n52hqw3jixhd66ymjje/node_modules/react-native-safe-area-context/src/index.tsx","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/react-native-safe-area-context@4.11.1_react-native@0.73.1_@babel+core@7.24.4_@babel+preset-en_m36gzb5n52hqw3jixhd66ymjje/node_modules/react-native-safe-area-context/src/SafeAreaContext.tsx","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/react-native-safe-area-context@4.11.1_react-native@0.73.1_@babel+core@7.24.4_@babel+preset-en_m36gzb5n52hqw3jixhd66ymjje/node_modules/react-native-safe-area-context/src/NativeSafeAreaProvider.tsx","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/react-native-safe-area-context@4.11.1_react-native@0.73.1_@babel+core@7.24.4_@babel+preset-en_m36gzb5n52hqw3jixhd66ymjje/node_modules/react-native-safe-area-context/src/specs/NativeSafeAreaProvider.ts","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/react-native-safe-area-context@4.11.1_react-native@0.73.1_@babel+core@7.24.4_@babel+preset-en_m36gzb5n52hqw3jixhd66ymjje/node_modules/react-native-safe-area-context/src/SafeAreaView.tsx","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/react-native-safe-area-context@4.11.1_react-native@0.73.1_@babel+core@7.24.4_@babel+preset-en_m36gzb5n52hqw3jixhd66ymjje/node_modules/react-native-safe-area-context/src/specs/NativeSafeAreaView.ts","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/react-native-safe-area-context@4.11.1_react-native@0.73.1_@babel+core@7.24.4_@babel+preset-en_m36gzb5n52hqw3jixhd66ymjje/node_modules/react-native-safe-area-context/src/InitialWindow.native.ts","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/react-native-safe-area-context@4.11.1_react-native@0.73.1_@babel+core@7.24.4_@babel+preset-en_m36gzb5n52hqw3jixhd66ymjje/node_modules/react-native-safe-area-context/src/specs/NativeSafeAreaContext.ts","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/react-native-safe-area-context@4.11.1_react-native@0.73.1_@babel+core@7.24.4_@babel+preset-en_m36gzb5n52hqw3jixhd66ymjje/node_modules/react-native-safe-area-context/src/SafeArea.types.ts","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/@react-navigation+stack@6.4.1_@react-navigation+native@6.1.18_react-native@0.73.1_@babel+core_gloqlnpvqq3who7hsmyzk6wz54/node_modules/@react-navigation/stack/src/index.tsx","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/@react-navigation+stack@6.4.1_@react-navigation+native@6.1.18_react-native@0.73.1_@babel+core_gloqlnpvqq3who7hsmyzk6wz54/node_modules/@react-navigation/stack/src/TransitionConfigs/CardStyleInterpolators.tsx","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/@react-navigation+stack@6.4.1_@react-navigation+native@6.1.18_react-native@0.73.1_@babel+core_gloqlnpvqq3who7hsmyzk6wz54/node_modules/@react-navigation/stack/src/utils/conditional.tsx","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/@react-navigation+stack@6.4.1_@react-navigation+native@6.1.18_react-native@0.73.1_@babel+core_gloqlnpvqq3who7hsmyzk6wz54/node_modules/@react-navigation/stack/src/TransitionConfigs/HeaderStyleInterpolators.tsx","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/@react-navigation+stack@6.4.1_@react-navigation+native@6.1.18_react-native@0.73.1_@babel+core_gloqlnpvqq3who7hsmyzk6wz54/node_modules/@react-navigation/stack/src/TransitionConfigs/TransitionPresets.tsx","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/@react-navigation+stack@6.4.1_@react-navigation+native@6.1.18_react-native@0.73.1_@babel+core_gloqlnpvqq3who7hsmyzk6wz54/node_modules/@react-navigation/stack/src/TransitionConfigs/TransitionSpecs.tsx","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/@react-navigation+stack@6.4.1_@react-navigation+native@6.1.18_react-native@0.73.1_@babel+core_gloqlnpvqq3who7hsmyzk6wz54/node_modules/@react-navigation/stack/src/navigators/createStackNavigator.tsx","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/warn-once@0.1.1/node_modules/warn-once/index.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/@react-navigation+stack@6.4.1_@react-navigation+native@6.1.18_react-native@0.73.1_@babel+core_gloqlnpvqq3who7hsmyzk6wz54/node_modules/@react-navigation/stack/src/views/Stack/StackView.tsx","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/@react-navigation+stack@6.4.1_@react-navigation+native@6.1.18_react-native@0.73.1_@babel+core_gloqlnpvqq3who7hsmyzk6wz54/node_modules/@react-navigation/stack/src/utils/ModalPresentationContext.tsx","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/@react-navigation+stack@6.4.1_@react-navigation+native@6.1.18_react-native@0.73.1_@babel+core_gloqlnpvqq3who7hsmyzk6wz54/node_modules/@react-navigation/stack/src/views/Header/HeaderContainer.tsx","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/@react-navigation+stack@6.4.1_@react-navigation+native@6.1.18_react-native@0.73.1_@babel+core_gloqlnpvqq3who7hsmyzk6wz54/node_modules/@react-navigation/stack/src/views/Header/Header.tsx","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/@react-navigation+stack@6.4.1_@react-navigation+native@6.1.18_react-native@0.73.1_@babel+core_gloqlnpvqq3who7hsmyzk6wz54/node_modules/@react-navigation/stack/src/utils/debounce.tsx","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/@react-navigation+stack@6.4.1_@react-navigation+native@6.1.18_react-native@0.73.1_@babel+core_gloqlnpvqq3who7hsmyzk6wz54/node_modules/@react-navigation/stack/src/views/Header/HeaderSegment.tsx","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/@react-navigation+stack@6.4.1_@react-navigation+native@6.1.18_react-native@0.73.1_@babel+core_gloqlnpvqq3who7hsmyzk6wz54/node_modules/@react-navigation/stack/src/utils/memoize.tsx","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/@react-navigation+elements@1.3.31_@react-navigation+native@6.1.18_react-native@0.73.1_@babel+_7xmtsrzuz53lq4yaa7palckx5i/node_modules/@react-navigation/elements/src/index.tsx","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/@react-navigation+elements@1.3.31_@react-navigation+native@6.1.18_react-native@0.73.1_@babel+_7xmtsrzuz53lq4yaa7palckx5i/node_modules/@react-navigation/elements/src/Background.tsx","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/@react-navigation+elements@1.3.31_@react-navigation+native@6.1.18_react-native@0.73.1_@babel+_7xmtsrzuz53lq4yaa7palckx5i/node_modules/@react-navigation/elements/src/Header/getDefaultHeaderHeight.tsx","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/@react-navigation+elements@1.3.31_@react-navigation+native@6.1.18_react-native@0.73.1_@babel+_7xmtsrzuz53lq4yaa7palckx5i/node_modules/@react-navigation/elements/src/Header/getHeaderTitle.tsx","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/@react-navigation+elements@1.3.31_@react-navigation+native@6.1.18_react-native@0.73.1_@babel+_7xmtsrzuz53lq4yaa7palckx5i/node_modules/@react-navigation/elements/src/Header/Header.tsx","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/@react-navigation+elements@1.3.31_@react-navigation+native@6.1.18_react-native@0.73.1_@babel+_7xmtsrzuz53lq4yaa7palckx5i/node_modules/@react-navigation/elements/src/Header/HeaderBackground.tsx","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/@react-navigation+elements@1.3.31_@react-navigation+native@6.1.18_react-native@0.73.1_@babel+_7xmtsrzuz53lq4yaa7palckx5i/node_modules/@react-navigation/elements/src/Header/HeaderShownContext.tsx","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/@react-navigation+elements@1.3.31_@react-navigation+native@6.1.18_react-native@0.73.1_@babel+_7xmtsrzuz53lq4yaa7palckx5i/node_modules/@react-navigation/elements/src/getNamedContext.tsx","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/@react-navigation+elements@1.3.31_@react-navigation+native@6.1.18_react-native@0.73.1_@babel+_7xmtsrzuz53lq4yaa7palckx5i/node_modules/@react-navigation/elements/src/Header/HeaderTitle.tsx","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/@react-navigation+elements@1.3.31_@react-navigation+native@6.1.18_react-native@0.73.1_@babel+_7xmtsrzuz53lq4yaa7palckx5i/node_modules/@react-navigation/elements/src/Header/HeaderBackButton.tsx","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/@react-navigation+elements@1.3.31_@react-navigation+native@6.1.18_react-native@0.73.1_@babel+_7xmtsrzuz53lq4yaa7palckx5i/node_modules/@react-navigation/elements/src/MaskedView.ios.tsx","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/@react-navigation+elements@1.3.31_@react-navigation+native@6.1.18_react-native@0.73.1_@babel+_7xmtsrzuz53lq4yaa7palckx5i/node_modules/@react-navigation/elements/src/MaskedViewNative.tsx","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/@react-navigation+elements@1.3.31_@react-navigation+native@6.1.18_react-native@0.73.1_@babel+_7xmtsrzuz53lq4yaa7palckx5i/node_modules/@react-navigation/elements/src/PlatformPressable.tsx","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/@react-navigation+elements@1.3.31_@react-navigation+native@6.1.18_react-native@0.73.1_@babel+_7xmtsrzuz53lq4yaa7palckx5i/node_modules/@react-navigation/elements/src/assets/back-icon.png","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/react-native@0.73.1_@babel+core@7.24.4_@babel+preset-env@7.29.0_@babel+core@7.24.4__react@18.3.1/node_modules/react-native/Libraries/Image/AssetRegistry.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/@react-navigation+elements@1.3.31_@react-navigation+native@6.1.18_react-native@0.73.1_@babel+_7xmtsrzuz53lq4yaa7palckx5i/node_modules/@react-navigation/elements/src/assets/back-icon-mask.png","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/@react-navigation+elements@1.3.31_@react-navigation+native@6.1.18_react-native@0.73.1_@babel+_7xmtsrzuz53lq4yaa7palckx5i/node_modules/@react-navigation/elements/src/Header/HeaderBackContext.tsx","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/@react-navigation+elements@1.3.31_@react-navigation+native@6.1.18_react-native@0.73.1_@babel+_7xmtsrzuz53lq4yaa7palckx5i/node_modules/@react-navigation/elements/src/Header/HeaderHeightContext.tsx","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/@react-navigation+elements@1.3.31_@react-navigation+native@6.1.18_react-native@0.73.1_@babel+_7xmtsrzuz53lq4yaa7palckx5i/node_modules/@react-navigation/elements/src/Header/useHeaderHeight.tsx","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/@react-navigation+elements@1.3.31_@react-navigation+native@6.1.18_react-native@0.73.1_@babel+_7xmtsrzuz53lq4yaa7palckx5i/node_modules/@react-navigation/elements/src/MissingIcon.tsx","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/@react-navigation+elements@1.3.31_@react-navigation+native@6.1.18_react-native@0.73.1_@babel+_7xmtsrzuz53lq4yaa7palckx5i/node_modules/@react-navigation/elements/src/ResourceSavingView.tsx","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/@react-navigation+elements@1.3.31_@react-navigation+native@6.1.18_react-native@0.73.1_@babel+_7xmtsrzuz53lq4yaa7palckx5i/node_modules/@react-navigation/elements/src/SafeAreaProviderCompat.tsx","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/@react-navigation+elements@1.3.31_@react-navigation+native@6.1.18_react-native@0.73.1_@babel+_7xmtsrzuz53lq4yaa7palckx5i/node_modules/@react-navigation/elements/src/Screen.tsx","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/@react-navigation+elements@1.3.31_@react-navigation+native@6.1.18_react-native@0.73.1_@babel+_7xmtsrzuz53lq4yaa7palckx5i/node_modules/@react-navigation/elements/src/types.tsx","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/@react-navigation+stack@6.4.1_@react-navigation+native@6.1.18_react-native@0.73.1_@babel+core_gloqlnpvqq3who7hsmyzk6wz54/node_modules/@react-navigation/stack/src/views/Stack/CardStack.tsx","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/color@4.2.3/node_modules/color/index.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/color-convert@2.0.1/node_modules/color-convert/index.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/color-convert@2.0.1/node_modules/color-convert/conversions.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/color-name@1.1.4/node_modules/color-name/index.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/color-convert@2.0.1/node_modules/color-convert/route.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/color-string@1.9.1/node_modules/color-string/index.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/simple-swizzle@0.2.4/node_modules/simple-swizzle/index.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/is-arrayish@0.3.4/node_modules/is-arrayish/index.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/@react-navigation+stack@6.4.1_@react-navigation+native@6.1.18_react-native@0.73.1_@babel+core_gloqlnpvqq3who7hsmyzk6wz54/node_modules/@react-navigation/stack/src/utils/findLastIndex.tsx","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/@react-navigation+stack@6.4.1_@react-navigation+native@6.1.18_react-native@0.73.1_@babel+core_gloqlnpvqq3who7hsmyzk6wz54/node_modules/@react-navigation/stack/src/utils/getDistanceForDirection.tsx","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/@react-navigation+stack@6.4.1_@react-navigation+native@6.1.18_react-native@0.73.1_@babel+core_gloqlnpvqq3who7hsmyzk6wz54/node_modules/@react-navigation/stack/src/utils/getInvertedMultiplier.tsx","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/@react-navigation+stack@6.4.1_@react-navigation+native@6.1.18_react-native@0.73.1_@babel+core_gloqlnpvqq3who7hsmyzk6wz54/node_modules/@react-navigation/stack/src/views/Stack/CardContainer.tsx","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/@react-navigation+stack@6.4.1_@react-navigation+native@6.1.18_react-native@0.73.1_@babel+core_gloqlnpvqq3who7hsmyzk6wz54/node_modules/@react-navigation/stack/src/utils/useKeyboardManager.tsx","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/@react-navigation+stack@6.4.1_@react-navigation+native@6.1.18_react-native@0.73.1_@babel+core_gloqlnpvqq3who7hsmyzk6wz54/node_modules/@react-navigation/stack/src/views/Stack/Card.tsx","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/@react-navigation+stack@6.4.1_@react-navigation+native@6.1.18_react-native@0.73.1_@babel+core_gloqlnpvqq3who7hsmyzk6wz54/node_modules/@react-navigation/stack/src/utils/CardAnimationContext.tsx","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/@react-navigation+stack@6.4.1_@react-navigation+native@6.1.18_react-native@0.73.1_@babel+core_gloqlnpvqq3who7hsmyzk6wz54/node_modules/@react-navigation/stack/src/views/ModalStatusBarManager.tsx","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/@react-navigation+stack@6.4.1_@react-navigation+native@6.1.18_react-native@0.73.1_@babel+core_gloqlnpvqq3who7hsmyzk6wz54/node_modules/@react-navigation/stack/src/views/Stack/CardSheet.tsx","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/@react-navigation+stack@6.4.1_@react-navigation+native@6.1.18_react-native@0.73.1_@babel+core_gloqlnpvqq3who7hsmyzk6wz54/node_modules/@react-navigation/stack/src/views/GestureHandler.ios.tsx","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/@react-navigation+stack@6.4.1_@react-navigation+native@6.1.18_react-native@0.73.1_@babel+core_gloqlnpvqq3who7hsmyzk6wz54/node_modules/@react-navigation/stack/src/views/GestureHandlerNative.tsx","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/@react-navigation+stack@6.4.1_@react-navigation+native@6.1.18_react-native@0.73.1_@babel+core_gloqlnpvqq3who7hsmyzk6wz54/node_modules/@react-navigation/stack/src/utils/GestureHandlerRefContext.tsx","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/@react-navigation+stack@6.4.1_@react-navigation+native@6.1.18_react-native@0.73.1_@babel+core_gloqlnpvqq3who7hsmyzk6wz54/node_modules/@react-navigation/stack/src/views/Screens.tsx","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/react-native-screens@3.20.0_react-native@0.73.1_@babel+core@7.24.4_@babel+preset-env@7.29.0_@_greioz6g23am22qlvc3qmw3g3q/node_modules/react-native-screens/src/index.native.tsx","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/react-native-screens@3.20.0_react-native@0.73.1_@babel+core@7.24.4_@babel+preset-env@7.29.0_@_greioz6g23am22qlvc3qmw3g3q/node_modules/react-native-screens/src/TransitionProgressContext.tsx","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/react-native-screens@3.20.0_react-native@0.73.1_@babel+core@7.24.4_@babel+preset-env@7.29.0_@_greioz6g23am22qlvc3qmw3g3q/node_modules/react-native-screens/src/useTransitionProgress.tsx","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/react-native@0.73.1_@babel+core@7.24.4_@babel+preset-env@7.29.0_@babel+core@7.24.4__react@18.3.1/node_modules/react-native/package.json","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/react-freeze@1.0.4_react@18.3.1/node_modules/react-freeze/src/index.tsx","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/react-native-screens@3.20.0_react-native@0.73.1_@babel+core@7.24.4_@babel+preset-env@7.29.0_@_greioz6g23am22qlvc3qmw3g3q/node_modules/react-native-screens/src/utils.ts","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/@react-navigation+stack@6.4.1_@react-navigation+native@6.1.18_react-native@0.73.1_@babel+core_gloqlnpvqq3who7hsmyzk6wz54/node_modules/@react-navigation/stack/src/utils/useCardAnimation.tsx","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/@react-navigation+stack@6.4.1_@react-navigation+native@6.1.18_react-native@0.73.1_@babel+core_gloqlnpvqq3who7hsmyzk6wz54/node_modules/@react-navigation/stack/src/utils/useGestureHandlerRef.tsx","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/@react-navigation+bottom-tabs@6.6.1_@react-navigation+native@6.1.18_react-native@0.73.1_@babe_43oifiqliiplw7oxes6ii5hu74/node_modules/@react-navigation/bottom-tabs/src/index.tsx","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/@react-navigation+bottom-tabs@6.6.1_@react-navigation+native@6.1.18_react-native@0.73.1_@babe_43oifiqliiplw7oxes6ii5hu74/node_modules/@react-navigation/bottom-tabs/src/navigators/createBottomTabNavigator.tsx","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/@react-navigation+bottom-tabs@6.6.1_@react-navigation+native@6.1.18_react-native@0.73.1_@babe_43oifiqliiplw7oxes6ii5hu74/node_modules/@react-navigation/bottom-tabs/src/views/BottomTabView.tsx","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/@react-navigation+bottom-tabs@6.6.1_@react-navigation+native@6.1.18_react-native@0.73.1_@babe_43oifiqliiplw7oxes6ii5hu74/node_modules/@react-navigation/bottom-tabs/src/utils/BottomTabBarHeightCallbackContext.tsx","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/@react-navigation+bottom-tabs@6.6.1_@react-navigation+native@6.1.18_react-native@0.73.1_@babe_43oifiqliiplw7oxes6ii5hu74/node_modules/@react-navigation/bottom-tabs/src/utils/BottomTabBarHeightContext.tsx","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/@react-navigation+bottom-tabs@6.6.1_@react-navigation+native@6.1.18_react-native@0.73.1_@babe_43oifiqliiplw7oxes6ii5hu74/node_modules/@react-navigation/bottom-tabs/src/views/BottomTabBar.tsx","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/@react-navigation+bottom-tabs@6.6.1_@react-navigation+native@6.1.18_react-native@0.73.1_@babe_43oifiqliiplw7oxes6ii5hu74/node_modules/@react-navigation/bottom-tabs/src/utils/useIsKeyboardShown.tsx","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/@react-navigation+bottom-tabs@6.6.1_@react-navigation+native@6.1.18_react-native@0.73.1_@babe_43oifiqliiplw7oxes6ii5hu74/node_modules/@react-navigation/bottom-tabs/src/views/BottomTabItem.tsx","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/@react-navigation+bottom-tabs@6.6.1_@react-navigation+native@6.1.18_react-native@0.73.1_@babe_43oifiqliiplw7oxes6ii5hu74/node_modules/@react-navigation/bottom-tabs/src/views/TabBarIcon.tsx","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/@react-navigation+bottom-tabs@6.6.1_@react-navigation+native@6.1.18_react-native@0.73.1_@babe_43oifiqliiplw7oxes6ii5hu74/node_modules/@react-navigation/bottom-tabs/src/views/Badge.tsx","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/@react-navigation+bottom-tabs@6.6.1_@react-navigation+native@6.1.18_react-native@0.73.1_@babe_43oifiqliiplw7oxes6ii5hu74/node_modules/@react-navigation/bottom-tabs/src/views/ScreenFallback.tsx","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/@react-navigation+bottom-tabs@6.6.1_@react-navigation+native@6.1.18_react-native@0.73.1_@babe_43oifiqliiplw7oxes6ii5hu74/node_modules/@react-navigation/bottom-tabs/src/utils/useBottomTabBarHeight.tsx","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/@react-navigation+native-stack@6.11.0_@react-navigation+native@6.1.18_react-native@0.73.1_@ba_vmqjj7mvcfnm3qn3mwzf6h5v2q/node_modules/@react-navigation/native-stack/src/index.tsx","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/@react-navigation+native-stack@6.11.0_@react-navigation+native@6.1.18_react-native@0.73.1_@ba_vmqjj7mvcfnm3qn3mwzf6h5v2q/node_modules/@react-navigation/native-stack/src/navigators/createNativeStackNavigator.tsx","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/@react-navigation+native-stack@6.11.0_@react-navigation+native@6.1.18_react-native@0.73.1_@ba_vmqjj7mvcfnm3qn3mwzf6h5v2q/node_modules/@react-navigation/native-stack/src/views/NativeStackView.native.tsx","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/@react-navigation+native-stack@6.11.0_@react-navigation+native@6.1.18_react-native@0.73.1_@ba_vmqjj7mvcfnm3qn3mwzf6h5v2q/node_modules/@react-navigation/native-stack/src/utils/useDismissedRouteError.tsx","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/@react-navigation+native-stack@6.11.0_@react-navigation+native@6.1.18_react-native@0.73.1_@ba_vmqjj7mvcfnm3qn3mwzf6h5v2q/node_modules/@react-navigation/native-stack/src/utils/useInvalidPreventRemoveError.tsx","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/@react-navigation+native-stack@6.11.0_@react-navigation+native@6.1.18_react-native@0.73.1_@ba_vmqjj7mvcfnm3qn3mwzf6h5v2q/node_modules/@react-navigation/native-stack/src/views/DebugContainer.native.tsx","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/@react-navigation+native-stack@6.11.0_@react-navigation+native@6.1.18_react-native@0.73.1_@ba_vmqjj7mvcfnm3qn3mwzf6h5v2q/node_modules/@react-navigation/native-stack/src/views/HeaderConfig.tsx","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/@react-navigation+native-stack@6.11.0_@react-navigation+native@6.1.18_react-native@0.73.1_@ba_vmqjj7mvcfnm3qn3mwzf6h5v2q/node_modules/@react-navigation/native-stack/src/views/FontProcessor.native.tsx","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/@tarojs+router-rn@4.1.0_react-native-gesture-handler@2.14.1_react-native@0.73.1_@babel+core@7_qciijl7vifmhqtyz6ivnnowrwu/node_modules/@tarojs/router-rn/dist/tabBar.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/@tarojs+runtime-rn@4.1.0_xgsvwdzfaz46c4zca4ctb6rudy/node_modules/@tarojs/runtime-rn/dist/page.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/@tarojs+runtime-rn@4.1.0_xgsvwdzfaz46c4zca4ctb6rudy/node_modules/@tarojs/runtime-rn/dist/utils.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/@tarojs+runtime-rn@4.1.0_xgsvwdzfaz46c4zca4ctb6rudy/node_modules/@tarojs/runtime-rn/dist/app.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/@tarojs+components-rn@4.1.0_omshubcpzj63vfhqg4hbn4bxhi/node_modules/@tarojs/components-rn/dist/components/Provider/index.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/@ant-design+react-native@5.0.0_@babel+preset-env@7.29.0_@babel+core@7.24.4__@react-native-com_w4cp73f5qma3r33jom5pwjdo2y/node_modules/@ant-design/react-native/lib/provider/index.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/@ant-design+react-native@5.0.0_@babel+preset-env@7.29.0_@babel+core@7.24.4__@react-native-com_w4cp73f5qma3r33jom5pwjdo2y/node_modules/@ant-design/react-native/lib/locale-provider/index.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/@babel+runtime@7.24.4/node_modules/@babel/runtime/helpers/extends.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/@ant-design+react-native@5.0.0_@babel+preset-env@7.29.0_@babel+core@7.24.4__@react-native-com_w4cp73f5qma3r33jom5pwjdo2y/node_modules/@ant-design/react-native/lib/portal/index.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/@ant-design+react-native@5.0.0_@babel+preset-env@7.29.0_@babel+core@7.24.4__@react-native-com_w4cp73f5qma3r33jom5pwjdo2y/node_modules/@ant-design/react-native/lib/portal/portal.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/@ant-design+react-native@5.0.0_@babel+preset-env@7.29.0_@babel+core@7.24.4__@react-native-com_w4cp73f5qma3r33jom5pwjdo2y/node_modules/@ant-design/react-native/lib/portal/portal-consumer.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/@ant-design+react-native@5.0.0_@babel+preset-env@7.29.0_@babel+core@7.24.4__@react-native-com_w4cp73f5qma3r33jom5pwjdo2y/node_modules/@ant-design/react-native/lib/portal/portal-host.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/@ant-design+react-native@5.0.0_@babel+preset-env@7.29.0_@babel+core@7.24.4__@react-native-com_w4cp73f5qma3r33jom5pwjdo2y/node_modules/@ant-design/react-native/lib/portal/portal-manager.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/@ant-design+react-native@5.0.0_@babel+preset-env@7.29.0_@babel+core@7.24.4__@react-native-com_w4cp73f5qma3r33jom5pwjdo2y/node_modules/@ant-design/react-native/lib/style/index.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/shallowequal@1.1.0/node_modules/shallowequal/index.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/@ant-design+react-native@5.0.0_@babel+preset-env@7.29.0_@babel+core@7.24.4__@react-native-com_w4cp73f5qma3r33jom5pwjdo2y/node_modules/@ant-design/react-native/lib/style/themes/default.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/@tarojs+shared@4.1.0/node_modules/@tarojs/shared/dist/index.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/@tarojs+shared@4.1.0/node_modules/@tarojs/shared/dist/constants.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/@tarojs+shared@4.1.0/node_modules/@tarojs/shared/dist/utils.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/@tarojs+shared@4.1.0/node_modules/@tarojs/shared/dist/components.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/@tarojs+shared@4.1.0/node_modules/@tarojs/shared/dist/runtime-hooks.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/@tarojs+shared@4.1.0/node_modules/@tarojs/shared/dist/is.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/@tarojs+shared@4.1.0/node_modules/@tarojs/shared/dist/event-emitter.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/@tarojs+shared@4.1.0/node_modules/@tarojs/shared/dist/event-channel.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/@tarojs+shared@4.1.0/node_modules/@tarojs/shared/dist/shortcuts.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/@tarojs+shared@4.1.0/node_modules/@tarojs/shared/dist/native-apis.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/react-native-root-siblings@5.0.1/node_modules/react-native-root-siblings/lib/RootSiblingsManager.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/react-native-root-siblings@5.0.1/node_modules/react-native-root-siblings/lib/ChildrenWrapper.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/react-native-root-siblings@5.0.1/node_modules/react-native-root-siblings/lib/wrapRootComponent.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/react-native-root-siblings@5.0.1/node_modules/react-native-root-siblings/lib/RootController.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/react-native-root-siblings@5.0.1/node_modules/react-native-root-siblings/lib/RootSiblings.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/react-native-root-siblings@5.0.1/node_modules/react-native-root-siblings/lib/StaticContainer.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/@tarojs+runtime-rn@4.1.0_xgsvwdzfaz46c4zca4ctb6rudy/node_modules/@tarojs/runtime-rn/dist/emmiter.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/@tarojs+runtime-rn@4.1.0_xgsvwdzfaz46c4zca4ctb6rudy/node_modules/@tarojs/runtime-rn/dist/compute.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/react-native-device-info@13.1.0_react-native@0.73.1_@babel+core@7.24.4_@babel+preset-env@7.29_tkx7ec4hwczcxmnib5fxz3c7a4/node_modules/react-native-device-info/src/index.ts","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/react-native-device-info@13.1.0_react-native@0.73.1_@babel+core@7.24.4_@babel+preset-env@7.29_tkx7ec4hwczcxmnib5fxz3c7a4/node_modules/react-native-device-info/src/internal/devicesWithDynamicIsland.ts","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/react-native-device-info@13.1.0_react-native@0.73.1_@babel+core@7.24.4_@babel+preset-env@7.29_tkx7ec4hwczcxmnib5fxz3c7a4/node_modules/react-native-device-info/src/internal/devicesWithNotch.ts","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/react-native-device-info@13.1.0_react-native@0.73.1_@babel+core@7.24.4_@babel+preset-env@7.29_tkx7ec4hwczcxmnib5fxz3c7a4/node_modules/react-native-device-info/src/internal/nativeInterface.ts","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/react-native-device-info@13.1.0_react-native@0.73.1_@babel+core@7.24.4_@babel+preset-env@7.29_tkx7ec4hwczcxmnib5fxz3c7a4/node_modules/react-native-device-info/src/web/index.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/react-native-device-info@13.1.0_react-native@0.73.1_@babel+core@7.24.4_@babel+preset-env@7.29_tkx7ec4hwczcxmnib5fxz3c7a4/node_modules/react-native-device-info/src/internal/supported-platform-info.ts","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/react-native-device-info@13.1.0_react-native@0.73.1_@babel+core@7.24.4_@babel+preset-env@7.29_tkx7ec4hwczcxmnib5fxz3c7a4/node_modules/react-native-device-info/src/internal/asyncHookWrappers.ts","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/@tarojs+runtime-rn@4.1.0_xgsvwdzfaz46c4zca4ctb6rudy/node_modules/@tarojs/runtime-rn/dist/scale2dp.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/@tarojs+runtime-rn@4.1.0_xgsvwdzfaz46c4zca4ctb6rudy/node_modules/@tarojs/runtime-rn/dist/hooks.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/@tarojs+taro-rn@4.1.0_tbtffiqgatmntfpoxzci53s6de/node_modules/@tarojs/taro-rn/dist/api/index.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/@tarojs+taro-rn@4.1.0_tbtffiqgatmntfpoxzci53s6de/node_modules/@tarojs/taro-rn/dist/lib/showToast/index.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/@tarojs+taro-rn@4.1.0_tbtffiqgatmntfpoxzci53s6de/node_modules/@tarojs/taro-rn/dist/lib/showModal/toast.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/@tarojs+taro-rn@4.1.0_tbtffiqgatmntfpoxzci53s6de/node_modules/@tarojs/taro-rn/dist/lib/showModal/error.png","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/@tarojs+taro-rn@4.1.0_tbtffiqgatmntfpoxzci53s6de/node_modules/@tarojs/taro-rn/dist/lib/showModal/success.png","/Users/HandsomeLiu/Documents/sidespace/smart-community/src/services/api/user.ts","/Users/HandsomeLiu/Documents/sidespace/smart-community/src/assets/images/logo_login.png","/Users/HandsomeLiu/Documents/sidespace/smart-community/src/components/linear-gradient/index.rn.tsx","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/react-native-linear-gradient@2.8.3_react-native@0.73.1_@babel+core@7.24.4_@babel+preset-env@7_bhnd5bk5rly4srli7epawga65i/node_modules/react-native-linear-gradient/index.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/react-native-linear-gradient@2.8.3_react-native@0.73.1_@babel+core@7.24.4_@babel+preset-env@7_bhnd5bk5rly4srli7epawga65i/node_modules/react-native-linear-gradient/index.ios.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/react-native-linear-gradient@2.8.3_react-native@0.73.1_@babel+core@7.24.4_@babel+preset-env@7_bhnd5bk5rly4srli7epawga65i/node_modules/react-native-linear-gradient/common.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/react-native-linear-gradient@2.8.3_react-native@0.73.1_@babel+core@7.24.4_@babel+preset-env@7_bhnd5bk5rly4srli7epawga65i/node_modules/react-native-linear-gradient/index.android.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/react-native-linear-gradient@2.8.3_react-native@0.73.1_@babel+core@7.24.4_@babel+preset-env@7_bhnd5bk5rly4srli7epawga65i/node_modules/react-native-linear-gradient/index.windows.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/src/pages/index/index.tsx","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/@tarojs+components-rn@4.1.0_omshubcpzj63vfhqg4hbn4bxhi/node_modules/@tarojs/components-rn/dist/components/ScrollView/index.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/@tarojs+components-rn@4.1.0_omshubcpzj63vfhqg4hbn4bxhi/node_modules/@tarojs/components-rn/dist/components/Swiper/index.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/@tarojs+components-rn@4.1.0_omshubcpzj63vfhqg4hbn4bxhi/node_modules/@tarojs/components-rn/dist/components/Swiper/carousel.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/react-native-pager-view@6.9.1_react-native@0.73.1_@babel+core@7.24.4_@babel+preset-env@7.29.0_psgvty4t6rxwlk73sozodscopa/node_modules/react-native-pager-view/src/index.tsx","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/react-native-pager-view@6.9.1_react-native@0.73.1_@babel+core@7.24.4_@babel+preset-env@7.29.0_psgvty4t6rxwlk73sozodscopa/node_modules/react-native-pager-view/src/usePagerView.ts","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/react-native-pager-view@6.9.1_react-native@0.73.1_@babel+core@7.24.4_@babel+preset-env@7.29.0_psgvty4t6rxwlk73sozodscopa/node_modules/react-native-pager-view/src/PagerView.tsx","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/react-native-pager-view@6.9.1_react-native@0.73.1_@babel+core@7.24.4_@babel+preset-env@7.29.0_psgvty4t6rxwlk73sozodscopa/node_modules/react-native-pager-view/src/PagerViewNativeComponent.ts","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/react-native-pager-view@6.9.1_react-native@0.73.1_@babel+core@7.24.4_@babel+preset-env@7.29.0_psgvty4t6rxwlk73sozodscopa/node_modules/react-native-pager-view/src/utils.tsx","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/@tarojs+components-rn@4.1.0_omshubcpzj63vfhqg4hbn4bxhi/node_modules/@tarojs/components-rn/dist/components/Swiper/pagination.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/@tarojs+components-rn@4.1.0_omshubcpzj63vfhqg4hbn4bxhi/node_modules/@tarojs/components-rn/dist/components/SwiperItem/index.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/@tarojs+components-rn@4.1.0_omshubcpzj63vfhqg4hbn4bxhi/node_modules/@tarojs/components-rn/dist/components/SwiperItem/styles.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/dayjs@1.11.19/node_modules/dayjs/dayjs.min.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/dayjs@1.11.19/node_modules/dayjs/plugin/relativeTime.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/dayjs@1.11.19/node_modules/dayjs/locale/zh-cn.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/src/pages/index/index.rn.scss","/Users/HandsomeLiu/Documents/sidespace/smart-community/src/services/api/home.ts","/Users/HandsomeLiu/Documents/sidespace/smart-community/src/services/api/article.ts","/Users/HandsomeLiu/Documents/sidespace/smart-community/src/assets/images/home_like.png","/Users/HandsomeLiu/Documents/sidespace/smart-community/src/assets/images/home_dislike.png","/Users/HandsomeLiu/Documents/sidespace/smart-community/src/assets/images/search.png","/Users/HandsomeLiu/Documents/sidespace/smart-community/src/assets/images/home_message.png","/Users/HandsomeLiu/Documents/sidespace/smart-community/src/pages/service/index.tsx","/Users/HandsomeLiu/Documents/sidespace/smart-community/src/pages/service/index.rn.scss","/Users/HandsomeLiu/Documents/sidespace/smart-community/src/assets/images/friends.png","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/@tarojs+taro-rn@4.1.0_tbtffiqgatmntfpoxzci53s6de/node_modules/@tarojs/taro-rn/dist/lib/showLoading/index.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/src/services/payment/index.rn.ts","/Users/HandsomeLiu/Documents/sidespace/smart-community/src/services/api/payment.ts","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/react-native-wechat-lib@1.1.27_react-native@0.73.1_@babel+core@7.24.4_@babel+preset-env@7.29._odeefdnvzptriur57hqv74a5x4/node_modules/react-native-wechat-lib/index.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/events@1.0.1/node_modules/events/events.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/@0x5e+react-native-alipay@0.2.7-beta.2_react-native@0.73.1_@babel+core@7.24.4_@babel+preset-e_ihkucn6ojg7nl7zphotfafnx74/node_modules/@0x5e/react-native-alipay/index.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/jsrsasign@8.0.24/node_modules/jsrsasign/lib/jsrsasign.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/buffer@5.7.1/node_modules/buffer/index.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/ieee754@1.2.1/node_modules/ieee754/index.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/@tarojs+taro-rn@4.1.0_tbtffiqgatmntfpoxzci53s6de/node_modules/@tarojs/taro-rn/dist/lib/hideLoading/index.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/src/components/payment-modal/index.rn.tsx","/Users/HandsomeLiu/Documents/sidespace/smart-community/src/pages/forum/index.tsx","/Users/HandsomeLiu/Documents/sidespace/smart-community/src/pages/forum/index.rn.scss","/Users/HandsomeLiu/Documents/sidespace/smart-community/src/pages/moments/index.tsx","/Users/HandsomeLiu/Documents/sidespace/smart-community/src/pages/moments/index.rn.scss","/Users/HandsomeLiu/Documents/sidespace/smart-community/src/services/api/invitation.ts","/Users/HandsomeLiu/Documents/sidespace/smart-community/src/assets/images/icon/share.png","/Users/HandsomeLiu/Documents/sidespace/smart-community/src/assets/images/icon/like.png","/Users/HandsomeLiu/Documents/sidespace/smart-community/src/assets/images/icon/reply.png","/Users/HandsomeLiu/Documents/sidespace/smart-community/src/assets/images/tab/home_edit.png","/Users/HandsomeLiu/Documents/sidespace/smart-community/src/pages/my/index.tsx","/Users/HandsomeLiu/Documents/sidespace/smart-community/src/pages/my/index.rn.scss","/Users/HandsomeLiu/Documents/sidespace/smart-community/src/assets/images/releases.png","/Users/HandsomeLiu/Documents/sidespace/smart-community/src/assets/images/my_set.png","/Users/HandsomeLiu/Documents/sidespace/smart-community/src/pages/post-detail/index.tsx","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/@tarojs+components-rn@4.1.0_omshubcpzj63vfhqg4hbn4bxhi/node_modules/@tarojs/components-rn/dist/components/Button/index.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/@tarojs+components-rn@4.1.0_omshubcpzj63vfhqg4hbn4bxhi/node_modules/@tarojs/components-rn/dist/assets/loading.png","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/@tarojs+components-rn@4.1.0_omshubcpzj63vfhqg4hbn4bxhi/node_modules/@tarojs/components-rn/dist/assets/loading-warn.png","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/@tarojs+components-rn@4.1.0_omshubcpzj63vfhqg4hbn4bxhi/node_modules/@tarojs/components-rn/dist/components/Button/styles.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/src/pages/post-detail/index.rn.scss","/Users/HandsomeLiu/Documents/sidespace/smart-community/src/services/api/comment.ts","/Users/HandsomeLiu/Documents/sidespace/smart-community/src/pages/publish/index.tsx","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/@tarojs+components-rn@4.1.0_omshubcpzj63vfhqg4hbn4bxhi/node_modules/@tarojs/components-rn/dist/components/Textarea/index.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/@tarojs+components-rn@4.1.0_omshubcpzj63vfhqg4hbn4bxhi/node_modules/@tarojs/components-rn/dist/components/Switch/index.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/@tarojs+components-rn@4.1.0_omshubcpzj63vfhqg4hbn4bxhi/node_modules/@tarojs/components-rn/dist/components/Checkbox/index.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/@tarojs+components-rn@4.1.0_omshubcpzj63vfhqg4hbn4bxhi/node_modules/@tarojs/components-rn/dist/components/Icon/index.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/@tarojs+components-rn@4.1.0_omshubcpzj63vfhqg4hbn4bxhi/node_modules/@tarojs/components-rn/dist/assets/weui.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/@tarojs+components-rn@4.1.0_omshubcpzj63vfhqg4hbn4bxhi/node_modules/@tarojs/components-rn/dist/assets/icons/circle.png","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/@tarojs+components-rn@4.1.0_omshubcpzj63vfhqg4hbn4bxhi/node_modules/@tarojs/components-rn/dist/assets/icons/download.png","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/@tarojs+components-rn@4.1.0_omshubcpzj63vfhqg4hbn4bxhi/node_modules/@tarojs/components-rn/dist/assets/icons/info.png","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/@tarojs+components-rn@4.1.0_omshubcpzj63vfhqg4hbn4bxhi/node_modules/@tarojs/components-rn/dist/assets/icons/safe_success.png","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/@tarojs+components-rn@4.1.0_omshubcpzj63vfhqg4hbn4bxhi/node_modules/@tarojs/components-rn/dist/assets/icons/safe_warn.png","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/@tarojs+components-rn@4.1.0_omshubcpzj63vfhqg4hbn4bxhi/node_modules/@tarojs/components-rn/dist/assets/icons/success.png","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/@tarojs+components-rn@4.1.0_omshubcpzj63vfhqg4hbn4bxhi/node_modules/@tarojs/components-rn/dist/assets/icons/success_circle.png","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/@tarojs+components-rn@4.1.0_omshubcpzj63vfhqg4hbn4bxhi/node_modules/@tarojs/components-rn/dist/assets/icons/success_no_circle.png","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/@tarojs+components-rn@4.1.0_omshubcpzj63vfhqg4hbn4bxhi/node_modules/@tarojs/components-rn/dist/assets/icons/waiting.png","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/@tarojs+components-rn@4.1.0_omshubcpzj63vfhqg4hbn4bxhi/node_modules/@tarojs/components-rn/dist/assets/icons/waiting_circle.png","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/@tarojs+components-rn@4.1.0_omshubcpzj63vfhqg4hbn4bxhi/node_modules/@tarojs/components-rn/dist/assets/icons/warn.png","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/@tarojs+components-rn@4.1.0_omshubcpzj63vfhqg4hbn4bxhi/node_modules/@tarojs/components-rn/dist/assets/icons/info_circle.png","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/@tarojs+components-rn@4.1.0_omshubcpzj63vfhqg4hbn4bxhi/node_modules/@tarojs/components-rn/dist/assets/icons/cancel.png","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/@tarojs+components-rn@4.1.0_omshubcpzj63vfhqg4hbn4bxhi/node_modules/@tarojs/components-rn/dist/assets/icons/search.png","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/@tarojs+components-rn@4.1.0_omshubcpzj63vfhqg4hbn4bxhi/node_modules/@tarojs/components-rn/dist/assets/icons/clear.png","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/@tarojs+components-rn@4.1.0_omshubcpzj63vfhqg4hbn4bxhi/node_modules/@tarojs/components-rn/dist/assets/icons/back.png","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/@tarojs+components-rn@4.1.0_omshubcpzj63vfhqg4hbn4bxhi/node_modules/@tarojs/components-rn/dist/assets/icons/delete.png","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/@tarojs+components-rn@4.1.0_omshubcpzj63vfhqg4hbn4bxhi/node_modules/@tarojs/components-rn/dist/components/Checkbox/styles.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/@tarojs+components-rn@4.1.0_omshubcpzj63vfhqg4hbn4bxhi/node_modules/@tarojs/components-rn/dist/components/Picker/index.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/@tarojs+components-rn@4.1.0_omshubcpzj63vfhqg4hbn4bxhi/node_modules/@tarojs/components-rn/dist/components/Picker/date.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/@ant-design+react-native@5.0.0_@babel+preset-env@7.29.0_@babel+core@7.24.4__@react-native-com_w4cp73f5qma3r33jom5pwjdo2y/node_modules/@ant-design/react-native/lib/date-picker/index.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/@ant-design+react-native@5.0.0_@babel+preset-env@7.29.0_@babel+core@7.24.4__@react-native-com_w4cp73f5qma3r33jom5pwjdo2y/node_modules/@ant-design/react-native/lib/picker/style/index.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/@ant-design+react-native@5.0.0_@babel+preset-env@7.29.0_@babel+core@7.24.4__@react-native-com_w4cp73f5qma3r33jom5pwjdo2y/node_modules/@ant-design/react-native/lib/date-picker/datepicker/index.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/@ant-design+react-native@5.0.0_@babel+preset-env@7.29.0_@babel+core@7.24.4__@react-native-com_w4cp73f5qma3r33jom5pwjdo2y/node_modules/@ant-design/react-native/lib/date-picker/datepicker/DatePicker.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/@ant-design+react-native@5.0.0_@babel+preset-env@7.29.0_@babel+core@7.24.4__@react-native-com_w4cp73f5qma3r33jom5pwjdo2y/node_modules/@ant-design/react-native/lib/picker/MultiPicker.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/@ant-design+react-native@5.0.0_@babel+preset-env@7.29.0_@babel+core@7.24.4__@react-native-com_w4cp73f5qma3r33jom5pwjdo2y/node_modules/@ant-design/react-native/lib/picker/MultiPickerMixin.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/@ant-design+react-native@5.0.0_@babel+preset-env@7.29.0_@babel+core@7.24.4__@react-native-com_w4cp73f5qma3r33jom5pwjdo2y/node_modules/@ant-design/react-native/lib/picker/Picker.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/@ant-design+react-native@5.0.0_@babel+preset-env@7.29.0_@babel+core@7.24.4__@react-native-com_w4cp73f5qma3r33jom5pwjdo2y/node_modules/@ant-design/react-native/lib/picker/NativePicker.ios.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/@react-native-picker+picker@2.8.1_react-native@0.73.1_@babel+core@7.24.4_@babel+preset-env@7._kk5efhbvu6zyqu4q6vzt2ckjae/node_modules/@react-native-picker/picker/js/index.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/@react-native-picker+picker@2.8.1_react-native@0.73.1_@babel+core@7.24.4_@babel+preset-env@7._kk5efhbvu6zyqu4q6vzt2ckjae/node_modules/@react-native-picker/picker/js/Picker.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/@react-native-picker+picker@2.8.1_react-native@0.73.1_@babel+core@7.24.4_@babel+preset-env@7._kk5efhbvu6zyqu4q6vzt2ckjae/node_modules/@react-native-picker/picker/js/PickerAndroid.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/@react-native-picker+picker@2.8.1_react-native@0.73.1_@babel+core@7.24.4_@babel+preset-env@7._kk5efhbvu6zyqu4q6vzt2ckjae/node_modules/@react-native-picker/picker/js/UnimplementedView.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/@react-native-picker+picker@2.8.1_react-native@0.73.1_@babel+core@7.24.4_@babel+preset-env@7._kk5efhbvu6zyqu4q6vzt2ckjae/node_modules/@react-native-picker/picker/js/PickerIOS.ios.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/@react-native-picker+picker@2.8.1_react-native@0.73.1_@babel+core@7.24.4_@babel+preset-env@7._kk5efhbvu6zyqu4q6vzt2ckjae/node_modules/@react-native-picker/picker/js/RNCPickerNativeComponent.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/@react-native-picker+picker@2.8.1_react-native@0.73.1_@babel+core@7.24.4_@babel+preset-env@7._kk5efhbvu6zyqu4q6vzt2ckjae/node_modules/@react-native-picker/picker/js/PickerWindows.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/@react-native-picker+picker@2.8.1_react-native@0.73.1_@babel+core@7.24.4_@babel+preset-env@7._kk5efhbvu6zyqu4q6vzt2ckjae/node_modules/@react-native-picker/picker/js/PickerMacOS.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/@ant-design+react-native@5.0.0_@babel+preset-env@7.29.0_@babel+core@7.24.4__@react-native-com_w4cp73f5qma3r33jom5pwjdo2y/node_modules/@ant-design/react-native/lib/date-picker/datepicker/locale/en_US.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/@ant-design+react-native@5.0.0_@babel+preset-env@7.29.0_@babel+core@7.24.4__@react-native-com_w4cp73f5qma3r33jom5pwjdo2y/node_modules/@ant-design/react-native/lib/date-picker/datepicker/Popup.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/@ant-design+react-native@5.0.0_@babel+preset-env@7.29.0_@babel+core@7.24.4__@react-native-com_w4cp73f5qma3r33jom5pwjdo2y/node_modules/@ant-design/react-native/lib/picker/Popup.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/@ant-design+react-native@5.0.0_@babel+preset-env@7.29.0_@babel+core@7.24.4__@react-native-com_w4cp73f5qma3r33jom5pwjdo2y/node_modules/@ant-design/react-native/lib/modal/ModalView.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/@ant-design+react-native@5.0.0_@babel+preset-env@7.29.0_@babel+core@7.24.4__@react-native-com_w4cp73f5qma3r33jom5pwjdo2y/node_modules/@ant-design/react-native/lib/picker/PopupMixin.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/@ant-design+react-native@5.0.0_@babel+preset-env@7.29.0_@babel+core@7.24.4__@react-native-com_w4cp73f5qma3r33jom5pwjdo2y/node_modules/@ant-design/react-native/lib/_util/getLocale.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/@ant-design+react-native@5.0.0_@babel+preset-env@7.29.0_@babel+core@7.24.4__@react-native-com_w4cp73f5qma3r33jom5pwjdo2y/node_modules/@ant-design/react-native/lib/date-picker/locale/zh_CN.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/@ant-design+react-native@5.0.0_@babel+preset-env@7.29.0_@babel+core@7.24.4__@react-native-com_w4cp73f5qma3r33jom5pwjdo2y/node_modules/@ant-design/react-native/lib/date-picker/datepicker/locale/zh_CN.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/@ant-design+react-native@5.0.0_@babel+preset-env@7.29.0_@babel+core@7.24.4__@react-native-com_w4cp73f5qma3r33jom5pwjdo2y/node_modules/@ant-design/react-native/lib/date-picker/utils.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/@tarojs+components-rn@4.1.0_omshubcpzj63vfhqg4hbn4bxhi/node_modules/@tarojs/components-rn/dist/components/Picker/multiSelector.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/@ant-design+react-native@5.0.0_@babel+preset-env@7.29.0_@babel+core@7.24.4__@react-native-com_w4cp73f5qma3r33jom5pwjdo2y/node_modules/@ant-design/react-native/lib/picker/index.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/array-tree-filter@2.1.0/node_modules/array-tree-filter/lib/index.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/@ant-design+react-native@5.0.0_@babel+preset-env@7.29.0_@babel+core@7.24.4__@react-native-com_w4cp73f5qma3r33jom5pwjdo2y/node_modules/@ant-design/react-native/lib/picker/cascader/index.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/@ant-design+react-native@5.0.0_@babel+preset-env@7.29.0_@babel+core@7.24.4__@react-native-com_w4cp73f5qma3r33jom5pwjdo2y/node_modules/@ant-design/react-native/lib/picker/cascader/Cascader.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/@ant-design+react-native@5.0.0_@babel+preset-env@7.29.0_@babel+core@7.24.4__@react-native-com_w4cp73f5qma3r33jom5pwjdo2y/node_modules/@ant-design/react-native/lib/picker/cascader/Popup.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/@ant-design+react-native@5.0.0_@babel+preset-env@7.29.0_@babel+core@7.24.4__@react-native-com_w4cp73f5qma3r33jom5pwjdo2y/node_modules/@ant-design/react-native/lib/picker/locale/zh_CN.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/@tarojs+components-rn@4.1.0_omshubcpzj63vfhqg4hbn4bxhi/node_modules/@tarojs/components-rn/dist/components/Picker/region.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/@tarojs+components-rn@4.1.0_omshubcpzj63vfhqg4hbn4bxhi/node_modules/@tarojs/components-rn/dist/components/Picker/regionData.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/@tarojs+components-rn@4.1.0_omshubcpzj63vfhqg4hbn4bxhi/node_modules/@tarojs/components-rn/dist/components/Picker/selector.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/@tarojs+components-rn@4.1.0_omshubcpzj63vfhqg4hbn4bxhi/node_modules/@tarojs/components-rn/dist/components/Picker/time.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/src/pages/publish/index.rn.scss","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/@tarojs+taro-rn@4.1.0_tbtffiqgatmntfpoxzci53s6de/node_modules/@tarojs/taro-rn/dist/lib/chooseImage/index.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/@tarojs+taro-rn@4.1.0_tbtffiqgatmntfpoxzci53s6de/node_modules/@tarojs/taro-rn/dist/lib/media.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/expo-image-picker@14.7.1_expo@50.0.2_@babel+core@7.24.4_@react-native+babel-preset@0.73.21_@b_tpg3rohairet5ojenurwmeqgxq/node_modules/expo-image-picker/build/ImagePicker.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/expo-modules-core@1.11.7/node_modules/expo-modules-core/build/index.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/expo-modules-core@1.11.7/node_modules/expo-modules-core/build/errors/CodedError.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/expo-modules-core@1.11.7/node_modules/expo-modules-core/build/EventEmitter.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/expo-modules-core@1.11.7/node_modules/expo-modules-core/build/errors/UnavailabilityError.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/expo-modules-core@1.11.7/node_modules/expo-modules-core/build/Platform.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/expo-modules-core@1.11.7/node_modules/expo-modules-core/build/environment/browser.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/expo-modules-core@1.11.7/node_modules/expo-modules-core/build/NativeViewManagerAdapter.native.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/expo-modules-core@1.11.7/node_modules/expo-modules-core/build/requireNativeModule.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/expo-modules-core@1.11.7/node_modules/expo-modules-core/build/NativeModulesProxy.native.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/expo-modules-core@1.11.7/node_modules/expo-modules-core/build/sweet/setUpErrorManager.fx.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/expo-modules-core@1.11.7/node_modules/expo-modules-core/build/sweet/NativeErrorManager.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/expo-modules-core@1.11.7/node_modules/expo-modules-core/build/uuid/index.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/expo-modules-core@1.11.7/node_modules/expo-modules-core/build/uuid/uuid.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/expo-modules-core@1.11.7/node_modules/expo-modules-core/build/uuid/lib/bytesToUuid.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/expo-modules-core@1.11.7/node_modules/expo-modules-core/build/uuid/uuid.types.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/expo-modules-core@1.11.7/node_modules/expo-modules-core/build/TypedArrays.types.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/expo-modules-core@1.11.7/node_modules/expo-modules-core/build/PermissionsInterface.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/expo-modules-core@1.11.7/node_modules/expo-modules-core/build/PermissionsHook.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/expo-image-picker@14.7.1_expo@50.0.2_@babel+core@7.24.4_@react-native+babel-preset@0.73.21_@b_tpg3rohairet5ojenurwmeqgxq/node_modules/expo-image-picker/build/ExponentImagePicker.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/expo-image-picker@14.7.1_expo@50.0.2_@babel+core@7.24.4_@react-native+babel-preset@0.73.21_@b_tpg3rohairet5ojenurwmeqgxq/node_modules/expo-image-picker/build/ImagePicker.types.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/@react-native-camera-roll+camera-roll@7.10.2_react-native@0.73.1_@babel+core@7.24.4_@babel+pr_igz5tynazpkzvn5xesniixkir4/node_modules/@react-native-camera-roll/camera-roll/src/index.ts","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/@react-native-camera-roll+camera-roll@7.10.2_react-native@0.73.1_@babel+core@7.24.4_@babel+pr_igz5tynazpkzvn5xesniixkir4/node_modules/@react-native-camera-roll/camera-roll/src/useCameraRoll.ts","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/@react-native-camera-roll+camera-roll@7.10.2_react-native@0.73.1_@babel+core@7.24.4_@babel+pr_igz5tynazpkzvn5xesniixkir4/node_modules/@react-native-camera-roll/camera-roll/src/CameraRoll.ts","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/@react-native-camera-roll+camera-roll@7.10.2_react-native@0.73.1_@babel+core@7.24.4_@babel+pr_igz5tynazpkzvn5xesniixkir4/node_modules/@react-native-camera-roll/camera-roll/src/NativeCameraRollModule.ts","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/@react-native-camera-roll+camera-roll@7.10.2_react-native@0.73.1_@babel+core@7.24.4_@babel+pr_igz5tynazpkzvn5xesniixkir4/node_modules/@react-native-camera-roll/camera-roll/src/CameraRollIOSPermission.ts","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/@react-native-camera-roll+camera-roll@7.10.2_react-native@0.73.1_@babel+core@7.24.4_@babel+pr_igz5tynazpkzvn5xesniixkir4/node_modules/@react-native-camera-roll/camera-roll/src/NativeCameraRollPermissionModule.ts","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/@tarojs+taro-rn@4.1.0_tbtffiqgatmntfpoxzci53s6de/node_modules/@tarojs/taro-rn/dist/lib/showActionSheet/index.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/@tarojs+taro-rn@4.1.0_tbtffiqgatmntfpoxzci53s6de/node_modules/@tarojs/taro-rn/dist/lib/showActionSheet/ActionSheet.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/@tarojs+taro-rn@4.1.0_tbtffiqgatmntfpoxzci53s6de/node_modules/@tarojs/taro-rn/dist/lib/variable.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/@tarojs+taro-rn@4.1.0_tbtffiqgatmntfpoxzci53s6de/node_modules/@tarojs/taro-rn/dist/lib/Popup.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/@tarojs+taro-rn@4.1.0_tbtffiqgatmntfpoxzci53s6de/node_modules/@tarojs/taro-rn/dist/lib/Mask.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/expo-camera@14.1.3_expo@50.0.2_@babel+core@7.24.4_@react-native+babel-preset@0.73.21_@babel+c_pon2mnr6b7xbpyhxuz2xh6qntm/node_modules/expo-camera/build/index.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/expo-camera@14.1.3_expo@50.0.2_@babel+core@7.24.4_@react-native+babel-preset@0.73.21_@babel+c_pon2mnr6b7xbpyhxuz2xh6qntm/node_modules/expo-camera/build/Camera.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/expo-camera@14.1.3_expo@50.0.2_@babel+core@7.24.4_@react-native+babel-preset@0.73.21_@babel+c_pon2mnr6b7xbpyhxuz2xh6qntm/node_modules/expo-camera/build/ExpoCamera.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/expo-camera@14.1.3_expo@50.0.2_@babel+core@7.24.4_@react-native+babel-preset@0.73.21_@babel+c_pon2mnr6b7xbpyhxuz2xh6qntm/node_modules/expo-camera/build/ExpoCameraManager.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/expo-camera@14.1.3_expo@50.0.2_@babel+core@7.24.4_@react-native+babel-preset@0.73.21_@babel+c_pon2mnr6b7xbpyhxuz2xh6qntm/node_modules/expo-camera/build/utils/props.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/expo-camera@14.1.3_expo@50.0.2_@babel+core@7.24.4_@react-native+babel-preset@0.73.21_@babel+c_pon2mnr6b7xbpyhxuz2xh6qntm/node_modules/expo-camera/build/Camera.types.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/src/services/upload.ts","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/@tarojs+taro-rn@4.1.0_tbtffiqgatmntfpoxzci53s6de/node_modules/@tarojs/taro-rn/dist/lib/uploadFile/index.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/@tarojs+taro-rn@4.1.0_tbtffiqgatmntfpoxzci53s6de/node_modules/@tarojs/taro-rn/dist/lib/file.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/expo-file-system@16.0.9_expo@50.0.2_@babel+core@7.24.4_@react-native+babel-preset@0.73.21_@ba_p7p6g4zitofyjgzcez6kds32rq/node_modules/expo-file-system/build/index.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/expo-file-system@16.0.9_expo@50.0.2_@babel+core@7.24.4_@react-native+babel-preset@0.73.21_@ba_p7p6g4zitofyjgzcez6kds32rq/node_modules/expo-file-system/build/FileSystem.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/expo-file-system@16.0.9_expo@50.0.2_@babel+core@7.24.4_@react-native+babel-preset@0.73.21_@ba_p7p6g4zitofyjgzcez6kds32rq/node_modules/expo-file-system/build/ExponentFileSystem.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/expo-file-system@16.0.9_expo@50.0.2_@babel+core@7.24.4_@react-native+babel-preset@0.73.21_@ba_p7p6g4zitofyjgzcez6kds32rq/node_modules/expo-file-system/build/ExponentFileSystemShim.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/expo-file-system@16.0.9_expo@50.0.2_@babel+core@7.24.4_@react-native+babel-preset@0.73.21_@ba_p7p6g4zitofyjgzcez6kds32rq/node_modules/expo-file-system/build/FileSystem.types.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/@tarojs+taro-rn@4.1.0_tbtffiqgatmntfpoxzci53s6de/node_modules/@tarojs/taro-rn/dist/lib/getFileInfo/index.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/src/pages/setting/index.tsx","/Users/HandsomeLiu/Documents/sidespace/smart-community/src/pages/setting/index.rn.scss","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/@tarojs+taro-rn@4.1.0_tbtffiqgatmntfpoxzci53s6de/node_modules/@tarojs/taro-rn/dist/lib/showModal/index.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/@tarojs+taro-rn@4.1.0_tbtffiqgatmntfpoxzci53s6de/node_modules/@tarojs/taro-rn/dist/lib/showModal/Dialog.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/@tarojs+taro-rn@4.1.0_tbtffiqgatmntfpoxzci53s6de/node_modules/@tarojs/taro-rn/dist/lib/StyleSheet.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/src/pages/user-info/index.tsx","/Users/HandsomeLiu/Documents/sidespace/smart-community/src/pages/user-info/index.rn.scss","/Users/HandsomeLiu/Documents/sidespace/smart-community/src/pages/reset-password/index.rn.tsx","/Users/HandsomeLiu/Documents/sidespace/smart-community/src/pages/reset-password/index.rn.scss","/Users/HandsomeLiu/Documents/sidespace/smart-community/src/pages/agreement/index.tsx","/Users/HandsomeLiu/Documents/sidespace/smart-community/src/pages/agreement/index.rn.scss","/Users/HandsomeLiu/Documents/sidespace/smart-community/src/pages/article-publish/step1.tsx","/Users/HandsomeLiu/Documents/sidespace/smart-community/src/pages/article-publish/step1.rn.scss","/Users/HandsomeLiu/Documents/sidespace/smart-community/src/pages/article-publish/step2.tsx","/Users/HandsomeLiu/Documents/sidespace/smart-community/src/pages/article-publish/step2.rn.scss","/Users/HandsomeLiu/Documents/sidespace/smart-community/src/pages/inventory/index.tsx","/Users/HandsomeLiu/Documents/sidespace/smart-community/src/pages/inventory/index.rn.scss","/Users/HandsomeLiu/Documents/sidespace/smart-community/src/pages/inventory/detail.tsx","/Users/HandsomeLiu/Documents/sidespace/smart-community/src/pages/inventory/detail.rn.scss","/Users/HandsomeLiu/Documents/sidespace/smart-community/src/pages/message/index.tsx","/Users/HandsomeLiu/Documents/sidespace/smart-community/src/pages/message/index.rn.scss","/Users/HandsomeLiu/Documents/sidespace/smart-community/src/services/api/message.ts","/Users/HandsomeLiu/Documents/sidespace/smart-community/src/pages/my-release/index.tsx","/Users/HandsomeLiu/Documents/sidespace/smart-community/src/pages/my-release/index.rn.scss","/Users/HandsomeLiu/Documents/sidespace/smart-community/src/pages/search/index.tsx","/Users/HandsomeLiu/Documents/sidespace/smart-community/src/pages/search/index.rn.scss","/Users/HandsomeLiu/Documents/sidespace/smart-community/src/pages/circles/index.tsx","/Users/HandsomeLiu/Documents/sidespace/smart-community/src/pages/circles/index.rn.scss","/Users/HandsomeLiu/Documents/sidespace/smart-community/src/pages/circles/all.tsx","/Users/HandsomeLiu/Documents/sidespace/smart-community/src/pages/circles/create.tsx","/Users/HandsomeLiu/Documents/sidespace/smart-community/src/pages/property-report/index.tsx","/Users/HandsomeLiu/Documents/sidespace/smart-community/src/pages/property-report/index.rn.scss","/Users/HandsomeLiu/Documents/sidespace/smart-community/src/services/api/property-report.ts","/Users/HandsomeLiu/Documents/sidespace/smart-community/src/components/selector-field/index.rn.tsx","/Users/HandsomeLiu/Documents/sidespace/smart-community/src/pages/property-report-records/index.tsx","/Users/HandsomeLiu/Documents/sidespace/smart-community/src/pages/property-report-records/index.rn.scss","/Users/HandsomeLiu/Documents/sidespace/smart-community/src/pages/feedback/index.tsx","/Users/HandsomeLiu/Documents/sidespace/smart-community/src/pages/feedback/index.rn.scss","/Users/HandsomeLiu/Documents/sidespace/smart-community/src/services/api/feedback.ts","/Users/HandsomeLiu/Documents/sidespace/smart-community/src/pages/about/index.tsx","/Users/HandsomeLiu/Documents/sidespace/smart-community/src/pages/about/index.rn.scss","/Users/HandsomeLiu/Documents/sidespace/smart-community/src/services/api/app.ts","/Users/HandsomeLiu/Documents/sidespace/smart-community/node_modules/.pnpm/@tarojs+taro-rn@4.1.0_tbtffiqgatmntfpoxzci53s6de/node_modules/@tarojs/taro-rn/dist/lib/makePhoneCall/index.js","/Users/HandsomeLiu/Documents/sidespace/smart-community/src/app.config.ts","/Users/HandsomeLiu/Documents/sidespace/smart-community/src/pages/login/index.config.ts","/Users/HandsomeLiu/Documents/sidespace/smart-community/src/pages/index/index.config.ts","/Users/HandsomeLiu/Documents/sidespace/smart-community/src/pages/service/index.config.ts","/Users/HandsomeLiu/Documents/sidespace/smart-community/src/pages/forum/index.config.ts","/Users/HandsomeLiu/Documents/sidespace/smart-community/src/pages/moments/index.config.ts","/Users/HandsomeLiu/Documents/sidespace/smart-community/src/pages/my/index.config.ts","/Users/HandsomeLiu/Documents/sidespace/smart-community/src/pages/post-detail/index.config.ts","/Users/HandsomeLiu/Documents/sidespace/smart-community/src/pages/publish/index.config.ts","/Users/HandsomeLiu/Documents/sidespace/smart-community/src/pages/setting/index.config.ts","/Users/HandsomeLiu/Documents/sidespace/smart-community/src/pages/user-info/index.config.ts","/Users/HandsomeLiu/Documents/sidespace/smart-community/src/pages/reset-password/index.config.ts","/Users/HandsomeLiu/Documents/sidespace/smart-community/src/pages/agreement/index.config.ts","/Users/HandsomeLiu/Documents/sidespace/smart-community/src/pages/article-publish/step1.config.ts","/Users/HandsomeLiu/Documents/sidespace/smart-community/src/pages/article-publish/step2.config.ts","/Users/HandsomeLiu/Documents/sidespace/smart-community/src/pages/inventory/index.config.ts","/Users/HandsomeLiu/Documents/sidespace/smart-community/src/pages/inventory/detail.config.ts","/Users/HandsomeLiu/Documents/sidespace/smart-community/src/pages/message/index.config.ts","/Users/HandsomeLiu/Documents/sidespace/smart-community/src/pages/my-release/index.config.ts","/Users/HandsomeLiu/Documents/sidespace/smart-community/src/pages/search/index.config.ts","/Users/HandsomeLiu/Documents/sidespace/smart-community/src/pages/circles/index.config.ts","/Users/HandsomeLiu/Documents/sidespace/smart-community/src/pages/circles/all.config.ts","/Users/HandsomeLiu/Documents/sidespace/smart-community/src/pages/circles/create.config.ts","/Users/HandsomeLiu/Documents/sidespace/smart-community/src/pages/property-report/index.config.ts","/Users/HandsomeLiu/Documents/sidespace/smart-community/src/pages/property-report-records/index.config.ts","/Users/HandsomeLiu/Documents/sidespace/smart-community/src/pages/feedback/index.config.ts","/Users/HandsomeLiu/Documents/sidespace/smart-community/src/pages/about/index.config.ts"],"sourcesContent":["var __BUNDLE_START_TIME__=this.nativePerformanceNow?nativePerformanceNow():Date.now(),__DEV__=false,process=this.process||{},__METRO_GLOBAL_PREFIX__='';process.env=process.env||{};process.env.NODE_ENV=process.env.NODE_ENV||\"production\";","\"use strict\";\n\nglobal.__r = metroRequire;\nglobal[`${__METRO_GLOBAL_PREFIX__}__d`] = define;\nglobal.__c = clear;\nglobal.__registerSegment = registerSegment;\nvar modules = clear();\nconst EMPTY = {};\nconst CYCLE_DETECTED = {};\nconst { hasOwnProperty } = {};\nif (__DEV__) {\n global.$RefreshReg$ = () => {};\n global.$RefreshSig$ = () => (type) => type;\n}\nfunction clear() {\n modules = new Map();\n return modules;\n}\nif (__DEV__) {\n var verboseNamesToModuleIds = new Map();\n var getModuleIdForVerboseName = (verboseName) => {\n const moduleId = verboseNamesToModuleIds.get(verboseName);\n if (moduleId == null) {\n throw new Error(`Unknown named module: \"${verboseName}\"`);\n }\n return moduleId;\n };\n var initializingModuleIds = [];\n}\nfunction define(factory, moduleId, dependencyMap) {\n if (modules.has(moduleId)) {\n if (__DEV__) {\n const inverseDependencies = arguments[4];\n if (inverseDependencies) {\n global.__accept(moduleId, factory, dependencyMap, inverseDependencies);\n }\n }\n return;\n }\n const mod = {\n dependencyMap,\n factory,\n hasError: false,\n importedAll: EMPTY,\n importedDefault: EMPTY,\n isInitialized: false,\n publicModule: {\n exports: {},\n },\n };\n modules.set(moduleId, mod);\n if (__DEV__) {\n mod.hot = createHotReloadingObject();\n const verboseName = arguments[3];\n if (verboseName) {\n mod.verboseName = verboseName;\n verboseNamesToModuleIds.set(verboseName, moduleId);\n }\n }\n}\nfunction metroRequire(moduleId) {\n if (__DEV__ && typeof moduleId === \"string\") {\n const verboseName = moduleId;\n moduleId = getModuleIdForVerboseName(verboseName);\n console.warn(\n `Requiring module \"${verboseName}\" by name is only supported for ` +\n \"debugging purposes and will BREAK IN PRODUCTION!\"\n );\n }\n const moduleIdReallyIsNumber = moduleId;\n if (__DEV__) {\n const initializingIndex = initializingModuleIds.indexOf(\n moduleIdReallyIsNumber\n );\n if (initializingIndex !== -1) {\n const cycle = initializingModuleIds\n .slice(initializingIndex)\n .map((id) => modules.get(id)?.verboseName ?? \"[unknown]\");\n if (shouldPrintRequireCycle(cycle)) {\n cycle.push(cycle[0]);\n console.warn(\n `Require cycle: ${cycle.join(\" -> \")}\\n\\n` +\n \"Require cycles are allowed, but can result in uninitialized values. \" +\n \"Consider refactoring to remove the need for a cycle.\"\n );\n }\n }\n }\n const module = modules.get(moduleIdReallyIsNumber);\n return module && module.isInitialized\n ? module.publicModule.exports\n : guardedLoadModule(moduleIdReallyIsNumber, module);\n}\nfunction shouldPrintRequireCycle(modules) {\n const regExps =\n global[__METRO_GLOBAL_PREFIX__ + \"__requireCycleIgnorePatterns\"];\n if (!Array.isArray(regExps)) {\n return true;\n }\n const isIgnored = (module) =>\n module != null && regExps.some((regExp) => regExp.test(module));\n return modules.every((module) => !isIgnored(module));\n}\nfunction metroImportDefault(moduleId) {\n if (__DEV__ && typeof moduleId === \"string\") {\n const verboseName = moduleId;\n moduleId = getModuleIdForVerboseName(verboseName);\n }\n const moduleIdReallyIsNumber = moduleId;\n const maybeInitializedModule = modules.get(moduleIdReallyIsNumber);\n if (\n maybeInitializedModule &&\n maybeInitializedModule.importedDefault !== EMPTY\n ) {\n return maybeInitializedModule.importedDefault;\n }\n const exports = metroRequire(moduleIdReallyIsNumber);\n const importedDefault =\n exports && exports.__esModule ? exports.default : exports;\n const initializedModule = modules.get(moduleIdReallyIsNumber);\n return (initializedModule.importedDefault = importedDefault);\n}\nmetroRequire.importDefault = metroImportDefault;\nfunction metroImportAll(moduleId) {\n if (__DEV__ && typeof moduleId === \"string\") {\n const verboseName = moduleId;\n moduleId = getModuleIdForVerboseName(verboseName);\n }\n const moduleIdReallyIsNumber = moduleId;\n const maybeInitializedModule = modules.get(moduleIdReallyIsNumber);\n if (maybeInitializedModule && maybeInitializedModule.importedAll !== EMPTY) {\n return maybeInitializedModule.importedAll;\n }\n const exports = metroRequire(moduleIdReallyIsNumber);\n let importedAll;\n if (exports && exports.__esModule) {\n importedAll = exports;\n } else {\n importedAll = {};\n if (exports) {\n for (const key in exports) {\n if (hasOwnProperty.call(exports, key)) {\n importedAll[key] = exports[key];\n }\n }\n }\n importedAll.default = exports;\n }\n const initializedModule = modules.get(moduleIdReallyIsNumber);\n return (initializedModule.importedAll = importedAll);\n}\nmetroRequire.importAll = metroImportAll;\nmetroRequire.context = function fallbackRequireContext() {\n if (__DEV__) {\n throw new Error(\n \"The experimental Metro feature `require.context` is not enabled in your project.\\nThis can be enabled by setting the `transformer.unstable_allowRequireContext` property to `true` in your Metro configuration.\"\n );\n }\n throw new Error(\n \"The experimental Metro feature `require.context` is not enabled in your project.\"\n );\n};\nmetroRequire.resolveWeak = function fallbackRequireResolveWeak() {\n if (__DEV__) {\n throw new Error(\n \"require.resolveWeak cannot be called dynamically. Ensure you are using the same version of `metro` and `metro-runtime`.\"\n );\n }\n throw new Error(\"require.resolveWeak cannot be called dynamically.\");\n};\nlet inGuard = false;\nfunction guardedLoadModule(moduleId, module) {\n if (!inGuard && global.ErrorUtils) {\n inGuard = true;\n let returnValue;\n try {\n returnValue = loadModuleImplementation(moduleId, module);\n } catch (e) {\n global.ErrorUtils.reportFatalError(e);\n }\n inGuard = false;\n return returnValue;\n } else {\n return loadModuleImplementation(moduleId, module);\n }\n}\nconst ID_MASK_SHIFT = 16;\nconst LOCAL_ID_MASK = ~0 >>> ID_MASK_SHIFT;\nfunction unpackModuleId(moduleId) {\n const segmentId = moduleId >>> ID_MASK_SHIFT;\n const localId = moduleId & LOCAL_ID_MASK;\n return {\n segmentId,\n localId,\n };\n}\nmetroRequire.unpackModuleId = unpackModuleId;\nfunction packModuleId(value) {\n return (value.segmentId << ID_MASK_SHIFT) + value.localId;\n}\nmetroRequire.packModuleId = packModuleId;\nconst moduleDefinersBySegmentID = [];\nconst definingSegmentByModuleID = new Map();\nfunction registerSegment(segmentId, moduleDefiner, moduleIds) {\n moduleDefinersBySegmentID[segmentId] = moduleDefiner;\n if (__DEV__) {\n if (segmentId === 0 && moduleIds) {\n throw new Error(\n \"registerSegment: Expected moduleIds to be null for main segment\"\n );\n }\n if (segmentId !== 0 && !moduleIds) {\n throw new Error(\n \"registerSegment: Expected moduleIds to be passed for segment #\" +\n segmentId\n );\n }\n }\n if (moduleIds) {\n moduleIds.forEach((moduleId) => {\n if (!modules.has(moduleId) && !definingSegmentByModuleID.has(moduleId)) {\n definingSegmentByModuleID.set(moduleId, segmentId);\n }\n });\n }\n}\nfunction loadModuleImplementation(moduleId, module) {\n if (!module && moduleDefinersBySegmentID.length > 0) {\n const segmentId = definingSegmentByModuleID.get(moduleId) ?? 0;\n const definer = moduleDefinersBySegmentID[segmentId];\n if (definer != null) {\n definer(moduleId);\n module = modules.get(moduleId);\n definingSegmentByModuleID.delete(moduleId);\n }\n }\n const nativeRequire = global.nativeRequire;\n if (!module && nativeRequire) {\n const { segmentId, localId } = unpackModuleId(moduleId);\n nativeRequire(localId, segmentId);\n module = modules.get(moduleId);\n }\n if (!module) {\n throw unknownModuleError(moduleId);\n }\n if (module.hasError) {\n throw module.error;\n }\n if (__DEV__) {\n var Systrace = requireSystrace();\n var Refresh = requireRefresh();\n }\n module.isInitialized = true;\n const { factory, dependencyMap } = module;\n if (__DEV__) {\n initializingModuleIds.push(moduleId);\n }\n try {\n if (__DEV__) {\n Systrace.beginEvent(\"JS_require_\" + (module.verboseName || moduleId));\n }\n const moduleObject = module.publicModule;\n if (__DEV__) {\n moduleObject.hot = module.hot;\n var prevRefreshReg = global.$RefreshReg$;\n var prevRefreshSig = global.$RefreshSig$;\n if (Refresh != null) {\n const RefreshRuntime = Refresh;\n global.$RefreshReg$ = (type, id) => {\n RefreshRuntime.register(type, moduleId + \" \" + id);\n };\n global.$RefreshSig$ =\n RefreshRuntime.createSignatureFunctionForTransform;\n }\n }\n moduleObject.id = moduleId;\n factory(\n global,\n metroRequire,\n metroImportDefault,\n metroImportAll,\n moduleObject,\n moduleObject.exports,\n dependencyMap\n );\n if (!__DEV__) {\n module.factory = undefined;\n module.dependencyMap = undefined;\n }\n if (__DEV__) {\n Systrace.endEvent();\n if (Refresh != null) {\n registerExportsForReactRefresh(Refresh, moduleObject.exports, moduleId);\n }\n }\n return moduleObject.exports;\n } catch (e) {\n module.hasError = true;\n module.error = e;\n module.isInitialized = false;\n module.publicModule.exports = undefined;\n throw e;\n } finally {\n if (__DEV__) {\n if (initializingModuleIds.pop() !== moduleId) {\n throw new Error(\n \"initializingModuleIds is corrupt; something is terribly wrong\"\n );\n }\n global.$RefreshReg$ = prevRefreshReg;\n global.$RefreshSig$ = prevRefreshSig;\n }\n }\n}\nfunction unknownModuleError(id) {\n let message = 'Requiring unknown module \"' + id + '\".';\n if (__DEV__) {\n message +=\n \" If you are sure the module exists, try restarting Metro. \" +\n \"You may also want to run `yarn` or `npm install`.\";\n }\n return Error(message);\n}\nif (__DEV__) {\n metroRequire.Systrace = {\n beginEvent: () => {},\n endEvent: () => {},\n };\n metroRequire.getModules = () => {\n return modules;\n };\n var createHotReloadingObject = function () {\n const hot = {\n _acceptCallback: null,\n _disposeCallback: null,\n _didAccept: false,\n accept: (callback) => {\n hot._didAccept = true;\n hot._acceptCallback = callback;\n },\n dispose: (callback) => {\n hot._disposeCallback = callback;\n },\n };\n return hot;\n };\n let reactRefreshTimeout = null;\n const metroHotUpdateModule = function (\n id,\n factory,\n dependencyMap,\n inverseDependencies\n ) {\n const mod = modules.get(id);\n if (!mod) {\n if (factory) {\n return;\n }\n throw unknownModuleError(id);\n }\n if (!mod.hasError && !mod.isInitialized) {\n mod.factory = factory;\n mod.dependencyMap = dependencyMap;\n return;\n }\n const Refresh = requireRefresh();\n const refreshBoundaryIDs = new Set();\n let didBailOut = false;\n let updatedModuleIDs;\n try {\n updatedModuleIDs = topologicalSort(\n [id],\n (pendingID) => {\n const pendingModule = modules.get(pendingID);\n if (pendingModule == null) {\n return [];\n }\n const pendingHot = pendingModule.hot;\n if (pendingHot == null) {\n throw new Error(\n \"[Refresh] Expected module.hot to always exist in DEV.\"\n );\n }\n let canAccept = pendingHot._didAccept;\n if (!canAccept && Refresh != null) {\n const isBoundary = isReactRefreshBoundary(\n Refresh,\n pendingModule.publicModule.exports\n );\n if (isBoundary) {\n canAccept = true;\n refreshBoundaryIDs.add(pendingID);\n }\n }\n if (canAccept) {\n return [];\n }\n const parentIDs = inverseDependencies[pendingID];\n if (parentIDs.length === 0) {\n performFullRefresh(\"No root boundary\", {\n source: mod,\n failed: pendingModule,\n });\n didBailOut = true;\n return [];\n }\n return parentIDs;\n },\n () => didBailOut\n ).reverse();\n } catch (e) {\n if (e === CYCLE_DETECTED) {\n performFullRefresh(\"Dependency cycle\", {\n source: mod,\n });\n return;\n }\n throw e;\n }\n if (didBailOut) {\n return;\n }\n const seenModuleIDs = new Set();\n for (let i = 0; i < updatedModuleIDs.length; i++) {\n const updatedID = updatedModuleIDs[i];\n if (seenModuleIDs.has(updatedID)) {\n continue;\n }\n seenModuleIDs.add(updatedID);\n const updatedMod = modules.get(updatedID);\n if (updatedMod == null) {\n throw new Error(\"[Refresh] Expected to find the updated module.\");\n }\n const prevExports = updatedMod.publicModule.exports;\n const didError = runUpdatedModule(\n updatedID,\n updatedID === id ? factory : undefined,\n updatedID === id ? dependencyMap : undefined\n );\n const nextExports = updatedMod.publicModule.exports;\n if (didError) {\n return;\n }\n if (refreshBoundaryIDs.has(updatedID)) {\n const isNoLongerABoundary = !isReactRefreshBoundary(\n Refresh,\n nextExports\n );\n const didInvalidate = shouldInvalidateReactRefreshBoundary(\n Refresh,\n prevExports,\n nextExports\n );\n if (isNoLongerABoundary || didInvalidate) {\n const parentIDs = inverseDependencies[updatedID];\n if (parentIDs.length === 0) {\n performFullRefresh(\n isNoLongerABoundary\n ? \"No longer a boundary\"\n : \"Invalidated boundary\",\n {\n source: mod,\n failed: updatedMod,\n }\n );\n return;\n }\n for (let j = 0; j < parentIDs.length; j++) {\n const parentID = parentIDs[j];\n const parentMod = modules.get(parentID);\n if (parentMod == null) {\n throw new Error(\"[Refresh] Expected to find parent module.\");\n }\n const canAcceptParent = isReactRefreshBoundary(\n Refresh,\n parentMod.publicModule.exports\n );\n if (canAcceptParent) {\n refreshBoundaryIDs.add(parentID);\n updatedModuleIDs.push(parentID);\n } else {\n performFullRefresh(\"Invalidated boundary\", {\n source: mod,\n failed: parentMod,\n });\n return;\n }\n }\n }\n }\n }\n if (Refresh != null) {\n if (reactRefreshTimeout == null) {\n reactRefreshTimeout = setTimeout(() => {\n reactRefreshTimeout = null;\n Refresh.performReactRefresh();\n }, 30);\n }\n }\n };\n const topologicalSort = function (roots, getEdges, earlyStop) {\n const result = [];\n const visited = new Set();\n const stack = new Set();\n function traverseDependentNodes(node) {\n if (stack.has(node)) {\n throw CYCLE_DETECTED;\n }\n if (visited.has(node)) {\n return;\n }\n visited.add(node);\n stack.add(node);\n const dependentNodes = getEdges(node);\n if (earlyStop(node)) {\n stack.delete(node);\n return;\n }\n dependentNodes.forEach((dependent) => {\n traverseDependentNodes(dependent);\n });\n stack.delete(node);\n result.push(node);\n }\n roots.forEach((root) => {\n traverseDependentNodes(root);\n });\n return result;\n };\n const runUpdatedModule = function (id, factory, dependencyMap) {\n const mod = modules.get(id);\n if (mod == null) {\n throw new Error(\"[Refresh] Expected to find the module.\");\n }\n const { hot } = mod;\n if (!hot) {\n throw new Error(\"[Refresh] Expected module.hot to always exist in DEV.\");\n }\n if (hot._disposeCallback) {\n try {\n hot._disposeCallback();\n } catch (error) {\n console.error(\n `Error while calling dispose handler for module ${id}: `,\n error\n );\n }\n }\n if (factory) {\n mod.factory = factory;\n }\n if (dependencyMap) {\n mod.dependencyMap = dependencyMap;\n }\n mod.hasError = false;\n mod.error = undefined;\n mod.importedAll = EMPTY;\n mod.importedDefault = EMPTY;\n mod.isInitialized = false;\n const prevExports = mod.publicModule.exports;\n mod.publicModule.exports = {};\n hot._didAccept = false;\n hot._acceptCallback = null;\n hot._disposeCallback = null;\n metroRequire(id);\n if (mod.hasError) {\n mod.hasError = false;\n mod.isInitialized = true;\n mod.error = null;\n mod.publicModule.exports = prevExports;\n return true;\n }\n if (hot._acceptCallback) {\n try {\n hot._acceptCallback();\n } catch (error) {\n console.error(\n `Error while calling accept handler for module ${id}: `,\n error\n );\n }\n }\n return false;\n };\n const performFullRefresh = (reason, modules) => {\n if (\n typeof window !== \"undefined\" &&\n window.location != null &&\n typeof window.location.reload === \"function\"\n ) {\n window.location.reload();\n } else {\n const Refresh = requireRefresh();\n if (Refresh != null) {\n const sourceName = modules.source?.verboseName ?? \"unknown\";\n const failedName = modules.failed?.verboseName ?? \"unknown\";\n Refresh.performFullRefresh(\n `Fast Refresh - ${reason} <${sourceName}> <${failedName}>`\n );\n } else {\n console.warn(\"Could not reload the application after an edit.\");\n }\n }\n };\n var isReactRefreshBoundary = function (Refresh, moduleExports) {\n if (Refresh.isLikelyComponentType(moduleExports)) {\n return true;\n }\n if (moduleExports == null || typeof moduleExports !== \"object\") {\n return false;\n }\n let hasExports = false;\n let areAllExportsComponents = true;\n for (const key in moduleExports) {\n hasExports = true;\n if (key === \"__esModule\") {\n continue;\n }\n const desc = Object.getOwnPropertyDescriptor(moduleExports, key);\n if (desc && desc.get) {\n return false;\n }\n const exportValue = moduleExports[key];\n if (!Refresh.isLikelyComponentType(exportValue)) {\n areAllExportsComponents = false;\n }\n }\n return hasExports && areAllExportsComponents;\n };\n var shouldInvalidateReactRefreshBoundary = (\n Refresh,\n prevExports,\n nextExports\n ) => {\n const prevSignature = getRefreshBoundarySignature(Refresh, prevExports);\n const nextSignature = getRefreshBoundarySignature(Refresh, nextExports);\n if (prevSignature.length !== nextSignature.length) {\n return true;\n }\n for (let i = 0; i < nextSignature.length; i++) {\n if (prevSignature[i] !== nextSignature[i]) {\n return true;\n }\n }\n return false;\n };\n var getRefreshBoundarySignature = (Refresh, moduleExports) => {\n const signature = [];\n signature.push(Refresh.getFamilyByType(moduleExports));\n if (moduleExports == null || typeof moduleExports !== \"object\") {\n return signature;\n }\n for (const key in moduleExports) {\n if (key === \"__esModule\") {\n continue;\n }\n const desc = Object.getOwnPropertyDescriptor(moduleExports, key);\n if (desc && desc.get) {\n continue;\n }\n const exportValue = moduleExports[key];\n signature.push(key);\n signature.push(Refresh.getFamilyByType(exportValue));\n }\n return signature;\n };\n var registerExportsForReactRefresh = (Refresh, moduleExports, moduleID) => {\n Refresh.register(moduleExports, moduleID + \" %exports%\");\n if (moduleExports == null || typeof moduleExports !== \"object\") {\n return;\n }\n for (const key in moduleExports) {\n const desc = Object.getOwnPropertyDescriptor(moduleExports, key);\n if (desc && desc.get) {\n continue;\n }\n const exportValue = moduleExports[key];\n const typeID = moduleID + \" %exports% \" + key;\n Refresh.register(exportValue, typeID);\n }\n };\n global.__accept = metroHotUpdateModule;\n}\nif (__DEV__) {\n var requireSystrace = function requireSystrace() {\n return (\n global[__METRO_GLOBAL_PREFIX__ + \"__SYSTRACE\"] || metroRequire.Systrace\n );\n };\n var requireRefresh = function requireRefresh() {\n return (\n global[__METRO_GLOBAL_PREFIX__ + \"__ReactRefresh\"] || metroRequire.Refresh\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 * @polyfill\n * @nolint\n * @format\n */\n\n/* eslint-disable no-shadow, eqeqeq, curly, no-unused-vars, no-void, no-control-regex */\n\n/**\n * This pipes all of our console logging functions to native logging so that\n * JavaScript errors in required modules show up in Xcode via NSLog.\n */\nconst inspect = (function () {\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 // https://github.com/joyent/node/blob/master/lib/util.js\n\n function inspect(obj, opts) {\n var ctx = {\n seen: [],\n formatValueCalls: 0,\n stylize: stylizeNoColor,\n };\n return formatValue(ctx, obj, opts.depth);\n }\n\n function stylizeNoColor(str, styleType) {\n return str;\n }\n\n function arrayToHash(array) {\n var hash = {};\n\n array.forEach(function (val, idx) {\n hash[val] = true;\n });\n\n return hash;\n }\n\n function formatValue(ctx, value, recurseTimes) {\n ctx.formatValueCalls++;\n if (ctx.formatValueCalls > 200) {\n return `[TOO BIG formatValueCalls ${ctx.formatValueCalls} exceeded limit of 200]`;\n }\n\n // Primitive types cannot have properties\n var primitive = formatPrimitive(ctx, value);\n if (primitive) {\n return primitive;\n }\n\n // Look up the keys of the object.\n var keys = Object.keys(value);\n var visibleKeys = arrayToHash(keys);\n\n // IE doesn't make error fields non-enumerable\n // http://msdn.microsoft.com/en-us/library/ie/dww52sbt(v=vs.94).aspx\n if (\n isError(value) &&\n (keys.indexOf('message') >= 0 || keys.indexOf('description') >= 0)\n ) {\n return formatError(value);\n }\n\n // Some type of object without properties can be shortcutted.\n if (keys.length === 0) {\n if (isFunction(value)) {\n var name = value.name ? ': ' + value.name : '';\n return ctx.stylize('[Function' + name + ']', 'special');\n }\n if (isRegExp(value)) {\n return ctx.stylize(RegExp.prototype.toString.call(value), 'regexp');\n }\n if (isDate(value)) {\n return ctx.stylize(Date.prototype.toString.call(value), 'date');\n }\n if (isError(value)) {\n return formatError(value);\n }\n }\n\n var base = '',\n array = false,\n braces = ['{', '}'];\n\n // Make Array say that they are Array\n if (isArray(value)) {\n array = true;\n braces = ['[', ']'];\n }\n\n // Make functions say that they are functions\n if (isFunction(value)) {\n var n = value.name ? ': ' + value.name : '';\n base = ' [Function' + n + ']';\n }\n\n // Make RegExps say that they are RegExps\n if (isRegExp(value)) {\n base = ' ' + RegExp.prototype.toString.call(value);\n }\n\n // Make dates with properties first say the date\n if (isDate(value)) {\n base = ' ' + Date.prototype.toUTCString.call(value);\n }\n\n // Make error with message first say the error\n if (isError(value)) {\n base = ' ' + formatError(value);\n }\n\n if (keys.length === 0 && (!array || value.length == 0)) {\n return braces[0] + base + braces[1];\n }\n\n if (recurseTimes < 0) {\n if (isRegExp(value)) {\n return ctx.stylize(RegExp.prototype.toString.call(value), 'regexp');\n } else {\n return ctx.stylize('[Object]', 'special');\n }\n }\n\n ctx.seen.push(value);\n\n var output;\n if (array) {\n output = formatArray(ctx, value, recurseTimes, visibleKeys, keys);\n } else {\n output = keys.map(function (key) {\n return formatProperty(\n ctx,\n value,\n recurseTimes,\n visibleKeys,\n key,\n array,\n );\n });\n }\n\n ctx.seen.pop();\n\n return reduceToSingleString(output, base, braces);\n }\n\n function formatPrimitive(ctx, value) {\n if (isUndefined(value)) return ctx.stylize('undefined', 'undefined');\n if (isString(value)) {\n var simple =\n \"'\" +\n JSON.stringify(value)\n .replace(/^\"|\"$/g, '')\n .replace(/'/g, \"\\\\'\")\n .replace(/\\\\\"/g, '\"') +\n \"'\";\n return ctx.stylize(simple, 'string');\n }\n if (isNumber(value)) return ctx.stylize('' + value, 'number');\n if (isBoolean(value)) return ctx.stylize('' + value, 'boolean');\n // For some reason typeof null is \"object\", so special case here.\n if (isNull(value)) return ctx.stylize('null', 'null');\n }\n\n function formatError(value) {\n return '[' + Error.prototype.toString.call(value) + ']';\n }\n\n function formatArray(ctx, value, recurseTimes, visibleKeys, keys) {\n var output = [];\n for (var i = 0, l = value.length; i < l; ++i) {\n if (hasOwnProperty(value, String(i))) {\n output.push(\n formatProperty(\n ctx,\n value,\n recurseTimes,\n visibleKeys,\n String(i),\n true,\n ),\n );\n } else {\n output.push('');\n }\n }\n keys.forEach(function (key) {\n if (!key.match(/^\\d+$/)) {\n output.push(\n formatProperty(ctx, value, recurseTimes, visibleKeys, key, true),\n );\n }\n });\n return output;\n }\n\n function formatProperty(ctx, value, recurseTimes, visibleKeys, key, array) {\n var name, str, desc;\n desc = Object.getOwnPropertyDescriptor(value, key) || {value: value[key]};\n if (desc.get) {\n if (desc.set) {\n str = ctx.stylize('[Getter/Setter]', 'special');\n } else {\n str = ctx.stylize('[Getter]', 'special');\n }\n } else {\n if (desc.set) {\n str = ctx.stylize('[Setter]', 'special');\n }\n }\n if (!hasOwnProperty(visibleKeys, key)) {\n name = '[' + key + ']';\n }\n if (!str) {\n if (ctx.seen.indexOf(desc.value) < 0) {\n if (isNull(recurseTimes)) {\n str = formatValue(ctx, desc.value, null);\n } else {\n str = formatValue(ctx, desc.value, recurseTimes - 1);\n }\n if (str.indexOf('\\n') > -1) {\n if (array) {\n str = str\n .split('\\n')\n .map(function (line) {\n return ' ' + line;\n })\n .join('\\n')\n .slice(2);\n } else {\n str =\n '\\n' +\n str\n .split('\\n')\n .map(function (line) {\n return ' ' + line;\n })\n .join('\\n');\n }\n }\n } else {\n str = ctx.stylize('[Circular]', 'special');\n }\n }\n if (isUndefined(name)) {\n if (array && key.match(/^\\d+$/)) {\n return str;\n }\n name = JSON.stringify('' + key);\n if (name.match(/^\"([a-zA-Z_][a-zA-Z_0-9]*)\"$/)) {\n name = name.slice(1, name.length - 1);\n name = ctx.stylize(name, 'name');\n } else {\n name = name\n .replace(/'/g, \"\\\\'\")\n .replace(/\\\\\"/g, '\"')\n .replace(/(^\"|\"$)/g, \"'\");\n name = ctx.stylize(name, 'string');\n }\n }\n\n return name + ': ' + str;\n }\n\n function reduceToSingleString(output, base, braces) {\n var numLinesEst = 0;\n var length = output.reduce(function (prev, cur) {\n numLinesEst++;\n if (cur.indexOf('\\n') >= 0) numLinesEst++;\n return prev + cur.replace(/\\u001b\\[\\d\\d?m/g, '').length + 1;\n }, 0);\n\n if (length > 60) {\n return (\n braces[0] +\n (base === '' ? '' : base + '\\n ') +\n ' ' +\n output.join(',\\n ') +\n ' ' +\n braces[1]\n );\n }\n\n return braces[0] + base + ' ' + output.join(', ') + ' ' + braces[1];\n }\n\n // NOTE: These type checking functions intentionally don't use `instanceof`\n // because it is fragile and can be easily faked with `Object.create()`.\n function isArray(ar) {\n return Array.isArray(ar);\n }\n\n function isBoolean(arg) {\n return typeof arg === 'boolean';\n }\n\n function isNull(arg) {\n return arg === null;\n }\n\n function isNullOrUndefined(arg) {\n return arg == null;\n }\n\n function isNumber(arg) {\n return typeof arg === 'number';\n }\n\n function isString(arg) {\n return typeof arg === 'string';\n }\n\n function isSymbol(arg) {\n return typeof arg === 'symbol';\n }\n\n function isUndefined(arg) {\n return arg === void 0;\n }\n\n function isRegExp(re) {\n return isObject(re) && objectToString(re) === '[object RegExp]';\n }\n\n function isObject(arg) {\n return typeof arg === 'object' && arg !== null;\n }\n\n function isDate(d) {\n return isObject(d) && objectToString(d) === '[object Date]';\n }\n\n function isError(e) {\n return (\n isObject(e) &&\n (objectToString(e) === '[object Error]' || e instanceof Error)\n );\n }\n\n function isFunction(arg) {\n return typeof arg === 'function';\n }\n\n function objectToString(o) {\n return Object.prototype.toString.call(o);\n }\n\n function hasOwnProperty(obj, prop) {\n return Object.prototype.hasOwnProperty.call(obj, prop);\n }\n\n return inspect;\n})();\n\nconst OBJECT_COLUMN_NAME = '(index)';\nconst LOG_LEVELS = {\n trace: 0,\n info: 1,\n warn: 2,\n error: 3,\n};\nconst INSPECTOR_LEVELS = [];\nINSPECTOR_LEVELS[LOG_LEVELS.trace] = 'debug';\nINSPECTOR_LEVELS[LOG_LEVELS.info] = 'log';\nINSPECTOR_LEVELS[LOG_LEVELS.warn] = 'warning';\nINSPECTOR_LEVELS[LOG_LEVELS.error] = 'error';\n\n// Strip the inner function in getNativeLogFunction(), if in dev also\n// strip method printing to originalConsole.\nconst INSPECTOR_FRAMES_TO_SKIP = __DEV__ ? 2 : 1;\n\nfunction getNativeLogFunction(level) {\n return function () {\n let str;\n if (arguments.length === 1 && typeof arguments[0] === 'string') {\n str = arguments[0];\n } else {\n str = Array.prototype.map\n .call(arguments, function (arg) {\n return inspect(arg, {depth: 10});\n })\n .join(', ');\n }\n\n // TRICKY\n // If more than one argument is provided, the code above collapses them all\n // into a single formatted string. This transform wraps string arguments in\n // single quotes (e.g. \"foo\" -> \"'foo'\") which then breaks the \"Warning:\"\n // check below. So it's important that we look at the first argument, rather\n // than the formatted argument string.\n const firstArg = arguments[0];\n\n let logLevel = level;\n if (\n typeof firstArg === 'string' &&\n firstArg.slice(0, 9) === 'Warning: ' &&\n logLevel >= LOG_LEVELS.error\n ) {\n // React warnings use console.error so that a stack trace is shown,\n // but we don't (currently) want these to show a redbox\n // (Note: Logic duplicated in ExceptionsManager.js.)\n logLevel = LOG_LEVELS.warn;\n }\n if (global.__inspectorLog) {\n global.__inspectorLog(\n INSPECTOR_LEVELS[logLevel],\n str,\n [].slice.call(arguments),\n INSPECTOR_FRAMES_TO_SKIP,\n );\n }\n if (groupStack.length) {\n str = groupFormat('', str);\n }\n global.nativeLoggingHook(str, logLevel);\n };\n}\n\nfunction repeat(element, n) {\n return Array.apply(null, Array(n)).map(function () {\n return element;\n });\n}\n\nfunction consoleTablePolyfill(rows) {\n // convert object -> array\n if (!Array.isArray(rows)) {\n var data = rows;\n rows = [];\n for (var key in data) {\n if (data.hasOwnProperty(key)) {\n var row = data[key];\n row[OBJECT_COLUMN_NAME] = key;\n rows.push(row);\n }\n }\n }\n if (rows.length === 0) {\n global.nativeLoggingHook('', LOG_LEVELS.info);\n return;\n }\n\n var columns = Object.keys(rows[0]).sort();\n var stringRows = [];\n var columnWidths = [];\n\n // Convert each cell to a string. Also\n // figure out max cell width for each column\n columns.forEach(function (k, i) {\n columnWidths[i] = k.length;\n for (var j = 0; j < rows.length; j++) {\n var cellStr = (rows[j][k] || '?').toString();\n stringRows[j] = stringRows[j] || [];\n stringRows[j][i] = cellStr;\n columnWidths[i] = Math.max(columnWidths[i], cellStr.length);\n }\n });\n\n // Join all elements in the row into a single string with | separators\n // (appends extra spaces to each cell to make separators | aligned)\n function joinRow(row, space) {\n var cells = row.map(function (cell, i) {\n var extraSpaces = repeat(' ', columnWidths[i] - cell.length).join('');\n return cell + extraSpaces;\n });\n space = space || ' ';\n return cells.join(space + '|' + space);\n }\n\n var separators = columnWidths.map(function (columnWidth) {\n return repeat('-', columnWidth).join('');\n });\n var separatorRow = joinRow(separators, '-');\n var header = joinRow(columns);\n var table = [header, separatorRow];\n\n for (var i = 0; i < rows.length; i++) {\n table.push(joinRow(stringRows[i]));\n }\n\n // Notice extra empty line at the beginning.\n // Native logging hook adds \"RCTLog >\" at the front of every\n // logged string, which would shift the header and screw up\n // the table\n global.nativeLoggingHook('\\n' + table.join('\\n'), LOG_LEVELS.info);\n}\n\nconst GROUP_PAD = '\\u2502'; // Box light vertical\nconst GROUP_OPEN = '\\u2510'; // Box light down+left\nconst GROUP_CLOSE = '\\u2518'; // Box light up+left\n\nconst groupStack = [];\n\nfunction groupFormat(prefix, msg) {\n // Insert group formatting before the console message\n return groupStack.join('') + prefix + ' ' + (msg || '');\n}\n\nfunction consoleGroupPolyfill(label) {\n global.nativeLoggingHook(groupFormat(GROUP_OPEN, label), LOG_LEVELS.info);\n groupStack.push(GROUP_PAD);\n}\n\nfunction consoleGroupCollapsedPolyfill(label) {\n global.nativeLoggingHook(groupFormat(GROUP_CLOSE, label), LOG_LEVELS.info);\n groupStack.push(GROUP_PAD);\n}\n\nfunction consoleGroupEndPolyfill() {\n groupStack.pop();\n global.nativeLoggingHook(groupFormat(GROUP_CLOSE), LOG_LEVELS.info);\n}\n\nfunction consoleAssertPolyfill(expression, label) {\n if (!expression) {\n global.nativeLoggingHook('Assertion failed: ' + label, LOG_LEVELS.error);\n }\n}\n\nif (global.nativeLoggingHook) {\n const originalConsole = global.console;\n // Preserve the original `console` as `originalConsole`\n if (__DEV__ && originalConsole) {\n const descriptor = Object.getOwnPropertyDescriptor(global, 'console');\n if (descriptor) {\n Object.defineProperty(global, 'originalConsole', descriptor);\n }\n }\n\n global.console = {\n error: getNativeLogFunction(LOG_LEVELS.error),\n info: getNativeLogFunction(LOG_LEVELS.info),\n log: getNativeLogFunction(LOG_LEVELS.info),\n warn: getNativeLogFunction(LOG_LEVELS.warn),\n trace: getNativeLogFunction(LOG_LEVELS.trace),\n debug: getNativeLogFunction(LOG_LEVELS.trace),\n table: consoleTablePolyfill,\n group: consoleGroupPolyfill,\n groupEnd: consoleGroupEndPolyfill,\n groupCollapsed: consoleGroupCollapsedPolyfill,\n assert: consoleAssertPolyfill,\n };\n\n Object.defineProperty(console, '_isPolyfilled', {\n value: true,\n enumerable: false,\n });\n\n // If available, also call the original `console` method since that is\n // sometimes useful. Ex: on OS X, this will let you see rich output in\n // the Safari Web Inspector console.\n if (__DEV__ && originalConsole) {\n Object.keys(console).forEach(methodName => {\n const reactNativeMethod = console[methodName];\n if (originalConsole[methodName]) {\n console[methodName] = function () {\n originalConsole[methodName](...arguments);\n reactNativeMethod.apply(console, arguments);\n };\n }\n });\n\n // The following methods are not supported by this polyfill but\n // we still should pass them to original console if they are\n // supported by it.\n ['clear', 'dir', 'dirxml', 'profile', 'profileEnd'].forEach(methodName => {\n if (typeof originalConsole[methodName] === 'function') {\n console[methodName] = function () {\n originalConsole[methodName](...arguments);\n };\n }\n });\n }\n} else if (!global.console) {\n function stub() {}\n const log = global.print || stub;\n\n global.console = {\n debug: log,\n error: log,\n info: log,\n log: log,\n trace: log,\n warn: log,\n assert(expression, label) {\n if (!expression) {\n log('Assertion failed: ' + label);\n }\n },\n clear: stub,\n dir: stub,\n dirxml: stub,\n group: stub,\n groupCollapsed: stub,\n groupEnd: stub,\n profile: stub,\n profileEnd: stub,\n table: stub,\n };\n\n Object.defineProperty(console, '_isPolyfilled', {\n value: true,\n enumerable: false,\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 * @flow strict\n * @polyfill\n */\n\nlet _inGuard = 0;\n\ntype ErrorHandler = (error: mixed, isFatal: boolean) => void;\ntype Fn = (...Args) => Return;\n\n/**\n * This is the error handler that is called when we encounter an exception\n * when loading a module. This will report any errors encountered before\n * ExceptionsManager is configured.\n */\nlet _globalHandler: ErrorHandler = function onError(\n e: mixed,\n isFatal: boolean,\n) {\n throw e;\n};\n\n/**\n * The particular require runtime that we are using looks for a global\n * `ErrorUtils` object and if it exists, then it requires modules with the\n * error handler specified via ErrorUtils.setGlobalHandler by calling the\n * require function with applyWithGuard. Since the require module is loaded\n * before any of the modules, this ErrorUtils must be defined (and the handler\n * set) globally before requiring anything.\n */\nconst ErrorUtils = {\n setGlobalHandler(fun: ErrorHandler): void {\n _globalHandler = fun;\n },\n getGlobalHandler(): ErrorHandler {\n return _globalHandler;\n },\n reportError(error: mixed): void {\n _globalHandler && _globalHandler(error, false);\n },\n reportFatalError(error: mixed): void {\n // NOTE: This has an untyped call site in Metro.\n _globalHandler && _globalHandler(error, true);\n },\n applyWithGuard, TOut>(\n fun: Fn,\n context?: ?mixed,\n args?: ?TArgs,\n // Unused, but some code synced from www sets it to null.\n unused_onError?: null,\n // Some callers pass a name here, which we ignore.\n unused_name?: ?string,\n ): ?TOut {\n try {\n _inGuard++;\n /* $FlowFixMe[incompatible-call] : TODO T48204745 (1) apply(context,\n * null) is fine. (2) array -> rest array should work */\n /* $FlowFixMe[incompatible-type] : TODO T48204745 (1) apply(context,\n * null) is fine. (2) array -> rest array should work */\n return fun.apply(context, args);\n } catch (e) {\n ErrorUtils.reportError(e);\n } finally {\n _inGuard--;\n }\n return null;\n },\n applyWithGuardIfNeeded, TOut>(\n fun: Fn,\n context?: ?mixed,\n args?: ?TArgs,\n ): ?TOut {\n if (ErrorUtils.inGuard()) {\n /* $FlowFixMe[incompatible-call] : TODO T48204745 (1) apply(context,\n * null) is fine. (2) array -> rest array should work */\n /* $FlowFixMe[incompatible-type] : TODO T48204745 (1) apply(context,\n * null) is fine. (2) array -> rest array should work */\n return fun.apply(context, args);\n } else {\n ErrorUtils.applyWithGuard(fun, context, args);\n }\n return null;\n },\n inGuard(): boolean {\n return !!_inGuard;\n },\n guard, TOut>(\n fun: Fn,\n name?: ?string,\n context?: ?mixed,\n ): ?(...TArgs) => ?TOut {\n // TODO: (moti) T48204753 Make sure this warning is never hit and remove it - types\n // should be sufficient.\n if (typeof fun !== 'function') {\n console.warn('A function must be passed to ErrorUtils.guard, got ', fun);\n return null;\n }\n const guardName = name ?? fun.name ?? '';\n /* $FlowFixMe[missing-this-annot] The 'this' type annotation(s) required by\n * Flow's LTI update could not be added via codemod */\n function guarded(...args: TArgs): ?TOut {\n return ErrorUtils.applyWithGuard(\n fun,\n context ?? this,\n args,\n null,\n guardName,\n );\n }\n\n return guarded;\n },\n};\n\nglobal.ErrorUtils = ErrorUtils;\n\nexport type ErrorUtilsT = typeof ErrorUtils;\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 * @polyfill\n * @nolint\n */\n\n(function () {\n 'use strict';\n\n const hasOwnProperty = Object.prototype.hasOwnProperty;\n\n /**\n * Returns an array of the given object's own enumerable entries.\n * https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/entries\n */\n if (typeof Object.entries !== 'function') {\n Object.entries = function (object) {\n // `null` and `undefined` values are not allowed.\n if (object == null) {\n throw new TypeError('Object.entries called on non-object');\n }\n\n const entries = [];\n for (const key in object) {\n if (hasOwnProperty.call(object, key)) {\n entries.push([key, object[key]]);\n }\n }\n return entries;\n };\n }\n\n /**\n * Returns an array of the given object's own enumerable entries.\n * https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/values\n */\n if (typeof Object.values !== 'function') {\n Object.values = function (object) {\n // `null` and `undefined` values are not allowed.\n if (object == null) {\n throw new TypeError('Object.values called on non-object');\n }\n\n const values = [];\n for (const key in object) {\n if (hasOwnProperty.call(object, key)) {\n values.push(object[key]);\n }\n }\n return values;\n };\n }\n})();\n","import '@tarojs/rn-supporter/entry-file.js'\n","","import { initialize } from './init';\n\nexport { Directions } from './Directions';\nexport { State } from './State';\nexport { default as gestureHandlerRootHOC } from './components/gestureHandlerRootHOC';\nexport { default as GestureHandlerRootView } from './components/GestureHandlerRootView';\nexport type {\n // event types\n GestureEvent,\n HandlerStateChangeEvent,\n // event payloads types\n GestureEventPayload,\n HandlerStateChangeEventPayload,\n // pointer events\n GestureTouchEvent,\n TouchData,\n // new api event types\n GestureUpdateEvent,\n GestureStateChangeEvent,\n} from './handlers/gestureHandlerCommon';\nexport type { GestureType } from './handlers/gestures/gesture';\nexport type {\n TapGestureHandlerEventPayload,\n TapGestureHandlerProps,\n} from './handlers/TapGestureHandler';\nexport type {\n ForceTouchGestureHandlerEventPayload,\n ForceTouchGestureHandlerProps,\n} from './handlers/ForceTouchGestureHandler';\nexport type { ForceTouchGestureChangeEventPayload } from './handlers/gestures/forceTouchGesture';\nexport type {\n LongPressGestureHandlerEventPayload,\n LongPressGestureHandlerProps,\n} from './handlers/LongPressGestureHandler';\nexport type {\n PanGestureHandlerEventPayload,\n PanGestureHandlerProps,\n} from './handlers/PanGestureHandler';\nexport type { PanGestureChangeEventPayload } from './handlers/gestures/panGesture';\nexport type {\n PinchGestureHandlerEventPayload,\n PinchGestureHandlerProps,\n} from './handlers/PinchGestureHandler';\nexport type { PinchGestureChangeEventPayload } from './handlers/gestures/pinchGesture';\nexport type {\n RotationGestureHandlerEventPayload,\n RotationGestureHandlerProps,\n} from './handlers/RotationGestureHandler';\nexport type {\n FlingGestureHandlerEventPayload,\n FlingGestureHandlerProps,\n} from './handlers/FlingGestureHandler';\nexport { TapGestureHandler } from './handlers/TapGestureHandler';\nexport { ForceTouchGestureHandler } from './handlers/ForceTouchGestureHandler';\nexport { LongPressGestureHandler } from './handlers/LongPressGestureHandler';\nexport { PanGestureHandler } from './handlers/PanGestureHandler';\nexport { PinchGestureHandler } from './handlers/PinchGestureHandler';\nexport { RotationGestureHandler } from './handlers/RotationGestureHandler';\nexport { FlingGestureHandler } from './handlers/FlingGestureHandler';\nexport { default as createNativeWrapper } from './handlers/createNativeWrapper';\nexport type {\n NativeViewGestureHandlerPayload,\n NativeViewGestureHandlerProps,\n} from './handlers/NativeViewGestureHandler';\nexport { GestureDetector } from './handlers/gestures/GestureDetector';\nexport { GestureObjects as Gesture } from './handlers/gestures/gestureObjects';\nexport type { TapGestureType as TapGesture } from './handlers/gestures/tapGesture';\nexport type { PanGestureType as PanGesture } from './handlers/gestures/panGesture';\nexport type { FlingGestureType as FlingGesture } from './handlers/gestures/flingGesture';\nexport type { LongPressGestureType as LongPressGesture } from './handlers/gestures/longPressGesture';\nexport type { PinchGestureType as PinchGesture } from './handlers/gestures/pinchGesture';\nexport type { RotationGestureType as RotationGesture } from './handlers/gestures/rotationGesture';\nexport type { ForceTouchGestureType as ForceTouchGesture } from './handlers/gestures/forceTouchGesture';\nexport type { NativeGestureType as NativeGesture } from './handlers/gestures/nativeGesture';\nexport type { ManualGestureType as ManualGesture } from './handlers/gestures/manualGesture';\nexport type { HoverGestureType as HoverGesture } from './handlers/gestures/hoverGesture';\nexport type {\n ComposedGestureType as ComposedGesture,\n RaceGestureType as RaceGesture,\n SimultaneousGestureType as SimultaneousGesture,\n ExclusiveGestureType as ExclusiveGesture,\n} from './handlers/gestures/gestureComposition';\nexport type { GestureStateManagerType as GestureStateManager } from './handlers/gestures/gestureStateManager';\nexport { NativeViewGestureHandler } from './handlers/NativeViewGestureHandler';\nexport type {\n RawButtonProps,\n BaseButtonProps,\n RectButtonProps,\n BorderlessButtonProps,\n} from './components/GestureButtons';\nexport {\n RawButton,\n BaseButton,\n RectButton,\n BorderlessButton,\n PureNativeButton,\n} from './components/GestureButtons';\nexport type {\n TouchableHighlightProps,\n TouchableOpacityProps,\n TouchableWithoutFeedbackProps,\n} from './components/touchables';\nexport {\n TouchableHighlight,\n TouchableNativeFeedback,\n TouchableOpacity,\n TouchableWithoutFeedback,\n} from './components/touchables';\nexport {\n ScrollView,\n Switch,\n TextInput,\n DrawerLayoutAndroid,\n FlatList,\n RefreshControl,\n} from './components/GestureComponents';\nexport { HoverEffect } from './handlers/gestures/hoverGesture';\nexport type {\n //events\n GestureHandlerGestureEvent,\n GestureHandlerStateChangeEvent,\n //event payloads\n GestureHandlerGestureEventNativeEvent,\n GestureHandlerStateChangeNativeEvent,\n NativeViewGestureHandlerGestureEvent,\n NativeViewGestureHandlerStateChangeEvent,\n TapGestureHandlerGestureEvent,\n TapGestureHandlerStateChangeEvent,\n ForceTouchGestureHandlerGestureEvent,\n ForceTouchGestureHandlerStateChangeEvent,\n LongPressGestureHandlerGestureEvent,\n LongPressGestureHandlerStateChangeEvent,\n PanGestureHandlerGestureEvent,\n PanGestureHandlerStateChangeEvent,\n PinchGestureHandlerGestureEvent,\n PinchGestureHandlerStateChangeEvent,\n RotationGestureHandlerGestureEvent,\n RotationGestureHandlerStateChangeEvent,\n FlingGestureHandlerGestureEvent,\n FlingGestureHandlerStateChangeEvent,\n // handlers props\n NativeViewGestureHandlerProperties,\n TapGestureHandlerProperties,\n LongPressGestureHandlerProperties,\n PanGestureHandlerProperties,\n PinchGestureHandlerProperties,\n RotationGestureHandlerProperties,\n FlingGestureHandlerProperties,\n ForceTouchGestureHandlerProperties,\n // buttons props\n RawButtonProperties,\n BaseButtonProperties,\n RectButtonProperties,\n BorderlessButtonProperties,\n} from './handlers/gestureHandlerTypesCompat';\n\nexport type { SwipeableProps } from './components/Swipeable';\nexport { default as Swipeable } from './components/Swipeable';\nexport type {\n DrawerLayoutProps,\n DrawerPosition,\n DrawerState,\n DrawerType,\n DrawerLockMode,\n DrawerKeyboardDismissMode,\n} from './components/DrawerLayout';\nexport { default as DrawerLayout } from './components/DrawerLayout';\n\nexport {\n enableExperimentalWebImplementation,\n enableLegacyWebImplementation,\n} from './EnableNewWebImplementation';\n\ninitialize();\n","import * as React from 'react';\nimport {\n Animated,\n Platform,\n processColor,\n StyleSheet,\n StyleProp,\n ViewStyle,\n} from 'react-native';\n\nimport createNativeWrapper from '../handlers/createNativeWrapper';\nimport GestureHandlerButton from './GestureHandlerButton';\nimport { State } from '../State';\n\nimport {\n GestureEvent,\n HandlerStateChangeEvent,\n} from '../handlers/gestureHandlerCommon';\nimport {\n NativeViewGestureHandlerPayload,\n NativeViewGestureHandlerProps,\n} from '../handlers/NativeViewGestureHandler';\n\nexport interface RawButtonProps extends NativeViewGestureHandlerProps {\n /**\n * Defines if more than one button could be pressed simultaneously. By default\n * set true.\n */\n exclusive?: boolean;\n // TODO: we should transform props in `createNativeWrapper`\n\n /**\n * Android only.\n *\n * Defines color of native ripple animation used since API level 21.\n */\n rippleColor?: any; // it was present in BaseButtonProps before but is used here in code\n\n /**\n * Android only.\n *\n * Defines radius of native ripple animation used since API level 21.\n */\n rippleRadius?: number | null;\n\n /**\n * Android only.\n *\n * Set this to true if you want the ripple animation to render outside the view bounds.\n */\n borderless?: boolean;\n\n /**\n * Android only.\n *\n * Defines whether the ripple animation should be drawn on the foreground of the view.\n */\n foreground?: boolean;\n\n /**\n * Android only.\n *\n * Set this to true if you don't want the system to play sound when the button is pressed.\n */\n touchSoundDisabled?: boolean;\n}\n\nexport interface BaseButtonProps extends RawButtonProps {\n /**\n * Called when the button gets pressed (analogous to `onPress` in\n * `TouchableHighlight` from RN core).\n */\n onPress?: (pointerInside: boolean) => void;\n\n /**\n * Called when the button gets pressed and is held for `delayLongPress`\n * milliseconds.\n */\n onLongPress?: () => void;\n\n /**\n * Called when button changes from inactive to active and vice versa. It\n * passes active state as a boolean variable as a first parameter for that\n * method.\n */\n onActiveStateChange?: (active: boolean) => void;\n style?: StyleProp;\n testID?: string;\n\n /**\n * Delay, in milliseconds, after which the `onLongPress` callback gets called.\n * Defaults to 600.\n */\n delayLongPress?: number;\n}\n\nexport interface RectButtonProps extends BaseButtonProps {\n /**\n * Background color that will be dimmed when button is in active state.\n */\n underlayColor?: string;\n\n /**\n * iOS only.\n *\n * Opacity applied to the underlay when button is in active state.\n */\n activeOpacity?: number;\n}\n\nexport interface BorderlessButtonProps extends BaseButtonProps {\n /**\n * iOS only.\n *\n * Opacity applied to the button when it is in an active state.\n */\n activeOpacity?: number;\n}\n\nexport const RawButton = createNativeWrapper(GestureHandlerButton, {\n shouldCancelWhenOutside: false,\n shouldActivateOnStart: false,\n});\n\nexport class BaseButton extends React.Component {\n static defaultProps = {\n delayLongPress: 600,\n };\n\n private lastActive: boolean;\n private longPressTimeout: ReturnType | undefined;\n private longPressDetected: boolean;\n\n constructor(props: BaseButtonProps) {\n super(props);\n this.lastActive = false;\n this.longPressDetected = false;\n }\n\n private handleEvent = ({\n nativeEvent,\n }: HandlerStateChangeEvent) => {\n const { state, oldState, pointerInside } = nativeEvent;\n const active = pointerInside && state === State.ACTIVE;\n\n if (active !== this.lastActive && this.props.onActiveStateChange) {\n this.props.onActiveStateChange(active);\n }\n\n if (\n !this.longPressDetected &&\n oldState === State.ACTIVE &&\n state !== State.CANCELLED &&\n this.lastActive &&\n this.props.onPress\n ) {\n this.props.onPress(active);\n }\n\n if (\n !this.lastActive &&\n // NativeViewGestureHandler sends different events based on platform\n state === (Platform.OS !== 'android' ? State.ACTIVE : State.BEGAN) &&\n pointerInside\n ) {\n this.longPressDetected = false;\n if (this.props.onLongPress) {\n this.longPressTimeout = setTimeout(\n this.onLongPress,\n this.props.delayLongPress\n );\n }\n } else if (\n // cancel longpress timeout if it's set and the finger moved out of the view\n state === State.ACTIVE &&\n !pointerInside &&\n this.longPressTimeout !== undefined\n ) {\n clearTimeout(this.longPressTimeout);\n this.longPressTimeout = undefined;\n } else if (\n // cancel longpress timeout if it's set and the gesture has finished\n this.longPressTimeout !== undefined &&\n (state === State.END ||\n state === State.CANCELLED ||\n state === State.FAILED)\n ) {\n clearTimeout(this.longPressTimeout);\n this.longPressTimeout = undefined;\n }\n\n this.lastActive = active;\n };\n\n private onLongPress = () => {\n this.longPressDetected = true;\n this.props.onLongPress?.();\n };\n\n // Normally, the parent would execute it's handler first, then forward the\n // event to listeners. However, here our handler is virtually only forwarding\n // events to listeners, so we reverse the order to keep the proper order of\n // the callbacks (from \"raw\" ones to \"processed\").\n private onHandlerStateChange = (\n e: HandlerStateChangeEvent\n ) => {\n this.props.onHandlerStateChange?.(e);\n this.handleEvent(e);\n };\n\n private onGestureEvent = (\n e: GestureEvent\n ) => {\n this.props.onGestureEvent?.(e);\n this.handleEvent(\n e as HandlerStateChangeEvent\n ); // TODO: maybe it is not correct\n };\n\n render() {\n const { rippleColor, ...rest } = this.props;\n\n return (\n \n );\n }\n}\n\nconst AnimatedBaseButton = Animated.createAnimatedComponent(BaseButton);\n\nconst btnStyles = StyleSheet.create({\n underlay: {\n position: 'absolute',\n left: 0,\n right: 0,\n bottom: 0,\n top: 0,\n },\n});\n\nexport class RectButton extends React.Component {\n static defaultProps = {\n activeOpacity: 0.105,\n underlayColor: 'black',\n };\n\n private opacity: Animated.Value;\n\n constructor(props: RectButtonProps) {\n super(props);\n this.opacity = new Animated.Value(0);\n }\n\n private onActiveStateChange = (active: boolean) => {\n if (Platform.OS !== 'android') {\n this.opacity.setValue(active ? this.props.activeOpacity! : 0);\n }\n\n this.props.onActiveStateChange?.(active);\n };\n\n render() {\n const { children, style, ...rest } = this.props;\n\n const resolvedStyle = StyleSheet.flatten(style ?? {});\n\n return (\n \n \n {children}\n \n );\n }\n}\n\nexport class BorderlessButton extends React.Component {\n static defaultProps = {\n activeOpacity: 0.3,\n borderless: true,\n };\n\n private opacity: Animated.Value;\n\n constructor(props: BorderlessButtonProps) {\n super(props);\n this.opacity = new Animated.Value(1);\n }\n\n private onActiveStateChange = (active: boolean) => {\n if (Platform.OS !== 'android') {\n this.opacity.setValue(active ? this.props.activeOpacity! : 1);\n }\n\n this.props.onActiveStateChange?.(active);\n };\n\n render() {\n const { children, style, ...rest } = this.props;\n\n return (\n \n {children}\n \n );\n }\n}\n\nexport { default as PureNativeButton } from './GestureHandlerButton';\n","function _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : {\n \"default\": obj\n };\n}\nmodule.exports = _interopRequireDefault, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var objectWithoutPropertiesLoose = require(\"./objectWithoutPropertiesLoose.js\");\nfunction _objectWithoutProperties(source, excluded) {\n if (source == null) return {};\n var target = objectWithoutPropertiesLoose(source, excluded);\n var key, i;\n if (Object.getOwnPropertySymbols) {\n var sourceSymbolKeys = Object.getOwnPropertySymbols(source);\n for (i = 0; i < sourceSymbolKeys.length; i++) {\n key = sourceSymbolKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue;\n target[key] = source[key];\n }\n }\n return target;\n}\nmodule.exports = _objectWithoutProperties, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _objectWithoutPropertiesLoose(source, excluded) {\n if (source == null) return {};\n var target = {};\n var sourceKeys = Object.keys(source);\n var key, i;\n for (i = 0; i < sourceKeys.length; i++) {\n key = sourceKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n target[key] = source[key];\n }\n return target;\n}\nmodule.exports = _objectWithoutPropertiesLoose, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n}\nmodule.exports = _classCallCheck, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var toPropertyKey = require(\"./toPropertyKey.js\");\nfunction _defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, toPropertyKey(descriptor.key), descriptor);\n }\n}\nfunction _createClass(Constructor, protoProps, staticProps) {\n if (protoProps) _defineProperties(Constructor.prototype, protoProps);\n if (staticProps) _defineProperties(Constructor, staticProps);\n Object.defineProperty(Constructor, \"prototype\", {\n writable: false\n });\n return Constructor;\n}\nmodule.exports = _createClass, 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;","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;","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;","var _typeof = require(\"./typeof.js\")[\"default\"];\nvar assertThisInitialized = require(\"./assertThisInitialized.js\");\nfunction _possibleConstructorReturn(self, call) {\n if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) {\n return call;\n } else if (call !== void 0) {\n throw new TypeError(\"Derived constructors may only return object or undefined\");\n }\n return assertThisInitialized(self);\n}\nmodule.exports = _possibleConstructorReturn, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _assertThisInitialized(self) {\n if (self === void 0) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n return self;\n}\nmodule.exports = _assertThisInitialized, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _getPrototypeOf(o) {\n module.exports = _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function _getPrototypeOf(o) {\n return o.__proto__ || Object.getPrototypeOf(o);\n }, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;\n return _getPrototypeOf(o);\n}\nmodule.exports = _getPrototypeOf, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var setPrototypeOf = require(\"./setPrototypeOf.js\");\nfunction _inherits(subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function\");\n }\n subClass.prototype = Object.create(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n writable: true,\n configurable: true\n }\n });\n Object.defineProperty(subClass, \"prototype\", {\n writable: false\n });\n if (superClass) setPrototypeOf(subClass, superClass);\n}\nmodule.exports = _inherits, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _setPrototypeOf(o, p) {\n module.exports = _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) {\n o.__proto__ = p;\n return o;\n }, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;\n return _setPrototypeOf(o, p);\n}\nmodule.exports = _setPrototypeOf, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('./cjs/react.production.min.js');\n} else {\n module.exports = require('./cjs/react.development.js');\n}\n","/**\n * @license React\n * react.development.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\nif (process.env.NODE_ENV !== \"production\") {\n (function() {\n\n 'use strict';\n\n/* global __REACT_DEVTOOLS_GLOBAL_HOOK__ */\nif (\n typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ !== 'undefined' &&\n typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart ===\n 'function'\n) {\n __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart(new Error());\n}\n var ReactVersion = '18.3.1';\n\n// ATTENTION\n// When adding new symbols to this file,\n// Please consider also adding to 'react-devtools-shared/src/backend/ReactSymbols'\n// The Symbol used to tag the ReactElement-like types.\nvar REACT_ELEMENT_TYPE = Symbol.for('react.element');\nvar REACT_PORTAL_TYPE = Symbol.for('react.portal');\nvar REACT_FRAGMENT_TYPE = Symbol.for('react.fragment');\nvar REACT_STRICT_MODE_TYPE = Symbol.for('react.strict_mode');\nvar REACT_PROFILER_TYPE = Symbol.for('react.profiler');\nvar REACT_PROVIDER_TYPE = Symbol.for('react.provider');\nvar REACT_CONTEXT_TYPE = Symbol.for('react.context');\nvar REACT_FORWARD_REF_TYPE = Symbol.for('react.forward_ref');\nvar REACT_SUSPENSE_TYPE = Symbol.for('react.suspense');\nvar REACT_SUSPENSE_LIST_TYPE = Symbol.for('react.suspense_list');\nvar REACT_MEMO_TYPE = Symbol.for('react.memo');\nvar REACT_LAZY_TYPE = Symbol.for('react.lazy');\nvar REACT_OFFSCREEN_TYPE = Symbol.for('react.offscreen');\nvar MAYBE_ITERATOR_SYMBOL = Symbol.iterator;\nvar FAUX_ITERATOR_SYMBOL = '@@iterator';\nfunction getIteratorFn(maybeIterable) {\n if (maybeIterable === null || typeof maybeIterable !== 'object') {\n return null;\n }\n\n var maybeIterator = MAYBE_ITERATOR_SYMBOL && maybeIterable[MAYBE_ITERATOR_SYMBOL] || maybeIterable[FAUX_ITERATOR_SYMBOL];\n\n if (typeof maybeIterator === 'function') {\n return maybeIterator;\n }\n\n return null;\n}\n\n/**\n * Keeps track of the current dispatcher.\n */\nvar ReactCurrentDispatcher = {\n /**\n * @internal\n * @type {ReactComponent}\n */\n current: null\n};\n\n/**\n * Keeps track of the current batch's configuration such as how long an update\n * should suspend for if it needs to.\n */\nvar ReactCurrentBatchConfig = {\n transition: null\n};\n\nvar ReactCurrentActQueue = {\n current: null,\n // Used to reproduce behavior of `batchedUpdates` in legacy mode.\n isBatchingLegacy: false,\n didScheduleLegacyUpdate: false\n};\n\n/**\n * Keeps track of the current owner.\n *\n * The current owner is the component who should own any components that are\n * currently being constructed.\n */\nvar ReactCurrentOwner = {\n /**\n * @internal\n * @type {ReactComponent}\n */\n current: null\n};\n\nvar ReactDebugCurrentFrame = {};\nvar currentExtraStackFrame = null;\nfunction setExtraStackFrame(stack) {\n {\n currentExtraStackFrame = stack;\n }\n}\n\n{\n ReactDebugCurrentFrame.setExtraStackFrame = function (stack) {\n {\n currentExtraStackFrame = stack;\n }\n }; // Stack implementation injected by the current renderer.\n\n\n ReactDebugCurrentFrame.getCurrentStack = null;\n\n ReactDebugCurrentFrame.getStackAddendum = function () {\n var stack = ''; // Add an extra top frame while an element is being validated\n\n if (currentExtraStackFrame) {\n stack += currentExtraStackFrame;\n } // Delegate to the injected renderer-specific implementation\n\n\n var impl = ReactDebugCurrentFrame.getCurrentStack;\n\n if (impl) {\n stack += impl() || '';\n }\n\n return stack;\n };\n}\n\n// -----------------------------------------------------------------------------\n\nvar enableScopeAPI = false; // Experimental Create Event Handle API.\nvar enableCacheElement = false;\nvar enableTransitionTracing = false; // No known bugs, but needs performance testing\n\nvar enableLegacyHidden = false; // Enables unstable_avoidThisFallback feature in Fiber\n// stuff. Intended to enable React core members to more easily debug scheduling\n// issues in DEV builds.\n\nvar enableDebugTracing = false; // Track which Fiber(s) schedule render work.\n\nvar ReactSharedInternals = {\n ReactCurrentDispatcher: ReactCurrentDispatcher,\n ReactCurrentBatchConfig: ReactCurrentBatchConfig,\n ReactCurrentOwner: ReactCurrentOwner\n};\n\n{\n ReactSharedInternals.ReactDebugCurrentFrame = ReactDebugCurrentFrame;\n ReactSharedInternals.ReactCurrentActQueue = ReactCurrentActQueue;\n}\n\n// by calls to these methods by a Babel plugin.\n//\n// In PROD (or in packages without access to React internals),\n// they are left as they are instead.\n\nfunction warn(format) {\n {\n {\n for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n args[_key - 1] = arguments[_key];\n }\n\n printWarning('warn', format, args);\n }\n }\n}\nfunction error(format) {\n {\n {\n for (var _len2 = arguments.length, args = new Array(_len2 > 1 ? _len2 - 1 : 0), _key2 = 1; _key2 < _len2; _key2++) {\n args[_key2 - 1] = arguments[_key2];\n }\n\n printWarning('error', format, args);\n }\n }\n}\n\nfunction printWarning(level, format, args) {\n // When changing this logic, you might want to also\n // update consoleWithStackDev.www.js as well.\n {\n var ReactDebugCurrentFrame = ReactSharedInternals.ReactDebugCurrentFrame;\n var stack = ReactDebugCurrentFrame.getStackAddendum();\n\n if (stack !== '') {\n format += '%s';\n args = args.concat([stack]);\n } // eslint-disable-next-line react-internal/safe-string-coercion\n\n\n var argsWithFormat = args.map(function (item) {\n return String(item);\n }); // Careful: RN currently depends on this prefix\n\n argsWithFormat.unshift('Warning: ' + format); // We intentionally don't use spread (or .apply) directly because it\n // breaks IE9: https://github.com/facebook/react/issues/13610\n // eslint-disable-next-line react-internal/no-production-logging\n\n Function.prototype.apply.call(console[level], console, argsWithFormat);\n }\n}\n\nvar didWarnStateUpdateForUnmountedComponent = {};\n\nfunction warnNoop(publicInstance, callerName) {\n {\n var _constructor = publicInstance.constructor;\n var componentName = _constructor && (_constructor.displayName || _constructor.name) || 'ReactClass';\n var warningKey = componentName + \".\" + callerName;\n\n if (didWarnStateUpdateForUnmountedComponent[warningKey]) {\n return;\n }\n\n error(\"Can't call %s on a component that is not yet mounted. \" + 'This is a no-op, but it might indicate a bug in your application. ' + 'Instead, assign to `this.state` directly or define a `state = {};` ' + 'class property with the desired state in the %s component.', callerName, componentName);\n\n didWarnStateUpdateForUnmountedComponent[warningKey] = true;\n }\n}\n/**\n * This is the abstract API for an update queue.\n */\n\n\nvar ReactNoopUpdateQueue = {\n /**\n * Checks whether or not this composite component is mounted.\n * @param {ReactClass} publicInstance The instance we want to test.\n * @return {boolean} True if mounted, false otherwise.\n * @protected\n * @final\n */\n isMounted: function (publicInstance) {\n return false;\n },\n\n /**\n * Forces an update. This should only be invoked when it is known with\n * certainty that we are **not** in a DOM transaction.\n *\n * You may want to call this when you know that some deeper aspect of the\n * component's state has changed but `setState` was not called.\n *\n * This will not invoke `shouldComponentUpdate`, but it will invoke\n * `componentWillUpdate` and `componentDidUpdate`.\n *\n * @param {ReactClass} publicInstance The instance that should rerender.\n * @param {?function} callback Called after component is updated.\n * @param {?string} callerName name of the calling function in the public API.\n * @internal\n */\n enqueueForceUpdate: function (publicInstance, callback, callerName) {\n warnNoop(publicInstance, 'forceUpdate');\n },\n\n /**\n * Replaces all of the state. Always use this or `setState` to mutate state.\n * You should treat `this.state` as immutable.\n *\n * There is no guarantee that `this.state` will be immediately updated, so\n * accessing `this.state` after calling this method may return the old value.\n *\n * @param {ReactClass} publicInstance The instance that should rerender.\n * @param {object} completeState Next state.\n * @param {?function} callback Called after component is updated.\n * @param {?string} callerName name of the calling function in the public API.\n * @internal\n */\n enqueueReplaceState: function (publicInstance, completeState, callback, callerName) {\n warnNoop(publicInstance, 'replaceState');\n },\n\n /**\n * Sets a subset of the state. This only exists because _pendingState is\n * internal. This provides a merging strategy that is not available to deep\n * properties which is confusing. TODO: Expose pendingState or don't use it\n * during the merge.\n *\n * @param {ReactClass} publicInstance The instance that should rerender.\n * @param {object} partialState Next partial state to be merged with state.\n * @param {?function} callback Called after component is updated.\n * @param {?string} Name of the calling function in the public API.\n * @internal\n */\n enqueueSetState: function (publicInstance, partialState, callback, callerName) {\n warnNoop(publicInstance, 'setState');\n }\n};\n\nvar assign = Object.assign;\n\nvar emptyObject = {};\n\n{\n Object.freeze(emptyObject);\n}\n/**\n * Base class helpers for the updating state of a component.\n */\n\n\nfunction Component(props, context, updater) {\n this.props = props;\n this.context = context; // If a component has string refs, we will assign a different object later.\n\n this.refs = emptyObject; // We initialize the default updater but the real one gets injected by the\n // renderer.\n\n this.updater = updater || ReactNoopUpdateQueue;\n}\n\nComponent.prototype.isReactComponent = {};\n/**\n * Sets a subset of the state. Always use this to mutate\n * state. You should treat `this.state` as immutable.\n *\n * There is no guarantee that `this.state` will be immediately updated, so\n * accessing `this.state` after calling this method may return the old value.\n *\n * There is no guarantee that calls to `setState` will run synchronously,\n * as they may eventually be batched together. You can provide an optional\n * callback that will be executed when the call to setState is actually\n * completed.\n *\n * When a function is provided to setState, it will be called at some point in\n * the future (not synchronously). It will be called with the up to date\n * component arguments (state, props, context). These values can be different\n * from this.* because your function may be called after receiveProps but before\n * shouldComponentUpdate, and this new state, props, and context will not yet be\n * assigned to this.\n *\n * @param {object|function} partialState Next partial state or function to\n * produce next partial state to be merged with current state.\n * @param {?function} callback Called after state is updated.\n * @final\n * @protected\n */\n\nComponent.prototype.setState = function (partialState, callback) {\n if (typeof partialState !== 'object' && typeof partialState !== 'function' && partialState != null) {\n throw new Error('setState(...): takes an object of state variables to update or a ' + 'function which returns an object of state variables.');\n }\n\n this.updater.enqueueSetState(this, partialState, callback, 'setState');\n};\n/**\n * Forces an update. This should only be invoked when it is known with\n * certainty that we are **not** in a DOM transaction.\n *\n * You may want to call this when you know that some deeper aspect of the\n * component's state has changed but `setState` was not called.\n *\n * This will not invoke `shouldComponentUpdate`, but it will invoke\n * `componentWillUpdate` and `componentDidUpdate`.\n *\n * @param {?function} callback Called after update is complete.\n * @final\n * @protected\n */\n\n\nComponent.prototype.forceUpdate = function (callback) {\n this.updater.enqueueForceUpdate(this, callback, 'forceUpdate');\n};\n/**\n * Deprecated APIs. These APIs used to exist on classic React classes but since\n * we would like to deprecate them, we're not going to move them over to this\n * modern base class. Instead, we define a getter that warns if it's accessed.\n */\n\n\n{\n var deprecatedAPIs = {\n isMounted: ['isMounted', 'Instead, make sure to clean up subscriptions and pending requests in ' + 'componentWillUnmount to prevent memory leaks.'],\n replaceState: ['replaceState', 'Refactor your code to use setState instead (see ' + 'https://github.com/facebook/react/issues/3236).']\n };\n\n var defineDeprecationWarning = function (methodName, info) {\n Object.defineProperty(Component.prototype, methodName, {\n get: function () {\n warn('%s(...) is deprecated in plain JavaScript React classes. %s', info[0], info[1]);\n\n return undefined;\n }\n });\n };\n\n for (var fnName in deprecatedAPIs) {\n if (deprecatedAPIs.hasOwnProperty(fnName)) {\n defineDeprecationWarning(fnName, deprecatedAPIs[fnName]);\n }\n }\n}\n\nfunction ComponentDummy() {}\n\nComponentDummy.prototype = Component.prototype;\n/**\n * Convenience component with default shallow equality check for sCU.\n */\n\nfunction PureComponent(props, context, updater) {\n this.props = props;\n this.context = context; // If a component has string refs, we will assign a different object later.\n\n this.refs = emptyObject;\n this.updater = updater || ReactNoopUpdateQueue;\n}\n\nvar pureComponentPrototype = PureComponent.prototype = new ComponentDummy();\npureComponentPrototype.constructor = PureComponent; // Avoid an extra prototype jump for these methods.\n\nassign(pureComponentPrototype, Component.prototype);\npureComponentPrototype.isPureReactComponent = true;\n\n// an immutable object with a single mutable value\nfunction createRef() {\n var refObject = {\n current: null\n };\n\n {\n Object.seal(refObject);\n }\n\n return refObject;\n}\n\nvar isArrayImpl = Array.isArray; // eslint-disable-next-line no-redeclare\n\nfunction isArray(a) {\n return isArrayImpl(a);\n}\n\n/*\n * The `'' + value` pattern (used in in perf-sensitive code) throws for Symbol\n * and Temporal.* types. See https://github.com/facebook/react/pull/22064.\n *\n * The functions in this module will throw an easier-to-understand,\n * easier-to-debug exception with a clear errors message message explaining the\n * problem. (Instead of a confusing exception thrown inside the implementation\n * of the `value` object).\n */\n// $FlowFixMe only called in DEV, so void return is not possible.\nfunction typeName(value) {\n {\n // toStringTag is needed for namespaced types like Temporal.Instant\n var hasToStringTag = typeof Symbol === 'function' && Symbol.toStringTag;\n var type = hasToStringTag && value[Symbol.toStringTag] || value.constructor.name || 'Object';\n return type;\n }\n} // $FlowFixMe only called in DEV, so void return is not possible.\n\n\nfunction willCoercionThrow(value) {\n {\n try {\n testStringCoercion(value);\n return false;\n } catch (e) {\n return true;\n }\n }\n}\n\nfunction testStringCoercion(value) {\n // If you ended up here by following an exception call stack, here's what's\n // happened: you supplied an object or symbol value to React (as a prop, key,\n // DOM attribute, CSS property, string ref, etc.) and when React tried to\n // coerce it to a string using `'' + value`, an exception was thrown.\n //\n // The most common types that will cause this exception are `Symbol` instances\n // and Temporal objects like `Temporal.Instant`. But any object that has a\n // `valueOf` or `[Symbol.toPrimitive]` method that throws will also cause this\n // exception. (Library authors do this to prevent users from using built-in\n // numeric operators like `+` or comparison operators like `>=` because custom\n // methods are needed to perform accurate arithmetic or comparison.)\n //\n // To fix the problem, coerce this object or symbol value to a string before\n // passing it to React. The most reliable way is usually `String(value)`.\n //\n // To find which value is throwing, check the browser or debugger console.\n // Before this exception was thrown, there should be `console.error` output\n // that shows the type (Symbol, Temporal.PlainDate, etc.) that caused the\n // problem and how that type was used: key, atrribute, input value prop, etc.\n // In most cases, this console output also shows the component and its\n // ancestor components where the exception happened.\n //\n // eslint-disable-next-line react-internal/safe-string-coercion\n return '' + value;\n}\nfunction checkKeyStringCoercion(value) {\n {\n if (willCoercionThrow(value)) {\n error('The provided key is an unsupported type %s.' + ' This value must be coerced to a string before before using it here.', typeName(value));\n\n return testStringCoercion(value); // throw (to help callers find troubleshooting comments)\n }\n }\n}\n\nfunction getWrappedName(outerType, innerType, wrapperName) {\n var displayName = outerType.displayName;\n\n if (displayName) {\n return displayName;\n }\n\n var functionName = innerType.displayName || innerType.name || '';\n return functionName !== '' ? wrapperName + \"(\" + functionName + \")\" : wrapperName;\n} // Keep in sync with react-reconciler/getComponentNameFromFiber\n\n\nfunction getContextName(type) {\n return type.displayName || 'Context';\n} // Note that the reconciler package should generally prefer to use getComponentNameFromFiber() instead.\n\n\nfunction getComponentNameFromType(type) {\n if (type == null) {\n // Host root, text node or just invalid type.\n return null;\n }\n\n {\n if (typeof type.tag === 'number') {\n error('Received an unexpected object in getComponentNameFromType(). ' + 'This is likely a bug in React. Please file an issue.');\n }\n }\n\n if (typeof type === 'function') {\n return type.displayName || type.name || null;\n }\n\n if (typeof type === 'string') {\n return type;\n }\n\n switch (type) {\n case REACT_FRAGMENT_TYPE:\n return 'Fragment';\n\n case REACT_PORTAL_TYPE:\n return 'Portal';\n\n case REACT_PROFILER_TYPE:\n return 'Profiler';\n\n case REACT_STRICT_MODE_TYPE:\n return 'StrictMode';\n\n case REACT_SUSPENSE_TYPE:\n return 'Suspense';\n\n case REACT_SUSPENSE_LIST_TYPE:\n return 'SuspenseList';\n\n }\n\n if (typeof type === 'object') {\n switch (type.$$typeof) {\n case REACT_CONTEXT_TYPE:\n var context = type;\n return getContextName(context) + '.Consumer';\n\n case REACT_PROVIDER_TYPE:\n var provider = type;\n return getContextName(provider._context) + '.Provider';\n\n case REACT_FORWARD_REF_TYPE:\n return getWrappedName(type, type.render, 'ForwardRef');\n\n case REACT_MEMO_TYPE:\n var outerName = type.displayName || null;\n\n if (outerName !== null) {\n return outerName;\n }\n\n return getComponentNameFromType(type.type) || 'Memo';\n\n case REACT_LAZY_TYPE:\n {\n var lazyComponent = type;\n var payload = lazyComponent._payload;\n var init = lazyComponent._init;\n\n try {\n return getComponentNameFromType(init(payload));\n } catch (x) {\n return null;\n }\n }\n\n // eslint-disable-next-line no-fallthrough\n }\n }\n\n return null;\n}\n\nvar hasOwnProperty = Object.prototype.hasOwnProperty;\n\nvar RESERVED_PROPS = {\n key: true,\n ref: true,\n __self: true,\n __source: true\n};\nvar specialPropKeyWarningShown, specialPropRefWarningShown, didWarnAboutStringRefs;\n\n{\n didWarnAboutStringRefs = {};\n}\n\nfunction hasValidRef(config) {\n {\n if (hasOwnProperty.call(config, 'ref')) {\n var getter = Object.getOwnPropertyDescriptor(config, 'ref').get;\n\n if (getter && getter.isReactWarning) {\n return false;\n }\n }\n }\n\n return config.ref !== undefined;\n}\n\nfunction hasValidKey(config) {\n {\n if (hasOwnProperty.call(config, 'key')) {\n var getter = Object.getOwnPropertyDescriptor(config, 'key').get;\n\n if (getter && getter.isReactWarning) {\n return false;\n }\n }\n }\n\n return config.key !== undefined;\n}\n\nfunction defineKeyPropWarningGetter(props, displayName) {\n var warnAboutAccessingKey = function () {\n {\n if (!specialPropKeyWarningShown) {\n specialPropKeyWarningShown = true;\n\n error('%s: `key` is not a prop. Trying to access it will result ' + 'in `undefined` being returned. If you need to access the same ' + 'value within the child component, you should pass it as a different ' + 'prop. (https://reactjs.org/link/special-props)', displayName);\n }\n }\n };\n\n warnAboutAccessingKey.isReactWarning = true;\n Object.defineProperty(props, 'key', {\n get: warnAboutAccessingKey,\n configurable: true\n });\n}\n\nfunction defineRefPropWarningGetter(props, displayName) {\n var warnAboutAccessingRef = function () {\n {\n if (!specialPropRefWarningShown) {\n specialPropRefWarningShown = true;\n\n error('%s: `ref` is not a prop. Trying to access it will result ' + 'in `undefined` being returned. If you need to access the same ' + 'value within the child component, you should pass it as a different ' + 'prop. (https://reactjs.org/link/special-props)', displayName);\n }\n }\n };\n\n warnAboutAccessingRef.isReactWarning = true;\n Object.defineProperty(props, 'ref', {\n get: warnAboutAccessingRef,\n configurable: true\n });\n}\n\nfunction warnIfStringRefCannotBeAutoConverted(config) {\n {\n if (typeof config.ref === 'string' && ReactCurrentOwner.current && config.__self && ReactCurrentOwner.current.stateNode !== config.__self) {\n var componentName = getComponentNameFromType(ReactCurrentOwner.current.type);\n\n if (!didWarnAboutStringRefs[componentName]) {\n error('Component \"%s\" contains the string ref \"%s\". ' + 'Support for string refs will be removed in a future major release. ' + 'This case cannot be automatically converted to an arrow function. ' + 'We ask you to manually fix this case by using useRef() or createRef() instead. ' + 'Learn more about using refs safely here: ' + 'https://reactjs.org/link/strict-mode-string-ref', componentName, config.ref);\n\n didWarnAboutStringRefs[componentName] = true;\n }\n }\n }\n}\n/**\n * Factory method to create a new React element. This no longer adheres to\n * the class pattern, so do not use new to call it. Also, instanceof check\n * will not work. Instead test $$typeof field against Symbol.for('react.element') to check\n * if something is a React Element.\n *\n * @param {*} type\n * @param {*} props\n * @param {*} key\n * @param {string|object} ref\n * @param {*} owner\n * @param {*} self A *temporary* helper to detect places where `this` is\n * different from the `owner` when React.createElement is called, so that we\n * can warn. We want to get rid of owner and replace string `ref`s with arrow\n * functions, and as long as `this` and owner are the same, there will be no\n * change in behavior.\n * @param {*} source An annotation object (added by a transpiler or otherwise)\n * indicating filename, line number, and/or other information.\n * @internal\n */\n\n\nvar ReactElement = function (type, key, ref, self, source, owner, props) {\n var element = {\n // This tag allows us to uniquely identify this as a React Element\n $$typeof: REACT_ELEMENT_TYPE,\n // Built-in properties that belong on the element\n type: type,\n key: key,\n ref: ref,\n props: props,\n // Record the component responsible for creating this element.\n _owner: owner\n };\n\n {\n // The validation flag is currently mutative. We put it on\n // an external backing store so that we can freeze the whole object.\n // This can be replaced with a WeakMap once they are implemented in\n // commonly used development environments.\n element._store = {}; // To make comparing ReactElements easier for testing purposes, we make\n // the validation flag non-enumerable (where possible, which should\n // include every environment we run tests in), so the test framework\n // ignores it.\n\n Object.defineProperty(element._store, 'validated', {\n configurable: false,\n enumerable: false,\n writable: true,\n value: false\n }); // self and source are DEV only properties.\n\n Object.defineProperty(element, '_self', {\n configurable: false,\n enumerable: false,\n writable: false,\n value: self\n }); // Two elements created in two different places should be considered\n // equal for testing purposes and therefore we hide it from enumeration.\n\n Object.defineProperty(element, '_source', {\n configurable: false,\n enumerable: false,\n writable: false,\n value: source\n });\n\n if (Object.freeze) {\n Object.freeze(element.props);\n Object.freeze(element);\n }\n }\n\n return element;\n};\n/**\n * Create and return a new ReactElement of the given type.\n * See https://reactjs.org/docs/react-api.html#createelement\n */\n\nfunction createElement(type, config, children) {\n var propName; // Reserved names are extracted\n\n var props = {};\n var key = null;\n var ref = null;\n var self = null;\n var source = null;\n\n if (config != null) {\n if (hasValidRef(config)) {\n ref = config.ref;\n\n {\n warnIfStringRefCannotBeAutoConverted(config);\n }\n }\n\n if (hasValidKey(config)) {\n {\n checkKeyStringCoercion(config.key);\n }\n\n key = '' + config.key;\n }\n\n self = config.__self === undefined ? null : config.__self;\n source = config.__source === undefined ? null : config.__source; // Remaining properties are added to a new props object\n\n for (propName in config) {\n if (hasOwnProperty.call(config, propName) && !RESERVED_PROPS.hasOwnProperty(propName)) {\n props[propName] = config[propName];\n }\n }\n } // Children can be more than one argument, and those are transferred onto\n // the newly allocated props object.\n\n\n var childrenLength = arguments.length - 2;\n\n if (childrenLength === 1) {\n props.children = children;\n } else if (childrenLength > 1) {\n var childArray = Array(childrenLength);\n\n for (var i = 0; i < childrenLength; i++) {\n childArray[i] = arguments[i + 2];\n }\n\n {\n if (Object.freeze) {\n Object.freeze(childArray);\n }\n }\n\n props.children = childArray;\n } // Resolve default props\n\n\n if (type && type.defaultProps) {\n var defaultProps = type.defaultProps;\n\n for (propName in defaultProps) {\n if (props[propName] === undefined) {\n props[propName] = defaultProps[propName];\n }\n }\n }\n\n {\n if (key || ref) {\n var displayName = typeof type === 'function' ? type.displayName || type.name || 'Unknown' : type;\n\n if (key) {\n defineKeyPropWarningGetter(props, displayName);\n }\n\n if (ref) {\n defineRefPropWarningGetter(props, displayName);\n }\n }\n }\n\n return ReactElement(type, key, ref, self, source, ReactCurrentOwner.current, props);\n}\nfunction cloneAndReplaceKey(oldElement, newKey) {\n var newElement = ReactElement(oldElement.type, newKey, oldElement.ref, oldElement._self, oldElement._source, oldElement._owner, oldElement.props);\n return newElement;\n}\n/**\n * Clone and return a new ReactElement using element as the starting point.\n * See https://reactjs.org/docs/react-api.html#cloneelement\n */\n\nfunction cloneElement(element, config, children) {\n if (element === null || element === undefined) {\n throw new Error(\"React.cloneElement(...): The argument must be a React element, but you passed \" + element + \".\");\n }\n\n var propName; // Original props are copied\n\n var props = assign({}, element.props); // Reserved names are extracted\n\n var key = element.key;\n var ref = element.ref; // Self is preserved since the owner is preserved.\n\n var self = element._self; // Source is preserved since cloneElement is unlikely to be targeted by a\n // transpiler, and the original source is probably a better indicator of the\n // true owner.\n\n var source = element._source; // Owner will be preserved, unless ref is overridden\n\n var owner = element._owner;\n\n if (config != null) {\n if (hasValidRef(config)) {\n // Silently steal the ref from the parent.\n ref = config.ref;\n owner = ReactCurrentOwner.current;\n }\n\n if (hasValidKey(config)) {\n {\n checkKeyStringCoercion(config.key);\n }\n\n key = '' + config.key;\n } // Remaining properties override existing props\n\n\n var defaultProps;\n\n if (element.type && element.type.defaultProps) {\n defaultProps = element.type.defaultProps;\n }\n\n for (propName in config) {\n if (hasOwnProperty.call(config, propName) && !RESERVED_PROPS.hasOwnProperty(propName)) {\n if (config[propName] === undefined && defaultProps !== undefined) {\n // Resolve default props\n props[propName] = defaultProps[propName];\n } else {\n props[propName] = config[propName];\n }\n }\n }\n } // Children can be more than one argument, and those are transferred onto\n // the newly allocated props object.\n\n\n var childrenLength = arguments.length - 2;\n\n if (childrenLength === 1) {\n props.children = children;\n } else if (childrenLength > 1) {\n var childArray = Array(childrenLength);\n\n for (var i = 0; i < childrenLength; i++) {\n childArray[i] = arguments[i + 2];\n }\n\n props.children = childArray;\n }\n\n return ReactElement(element.type, key, ref, self, source, owner, props);\n}\n/**\n * Verifies the object is a ReactElement.\n * See https://reactjs.org/docs/react-api.html#isvalidelement\n * @param {?object} object\n * @return {boolean} True if `object` is a ReactElement.\n * @final\n */\n\nfunction isValidElement(object) {\n return typeof object === 'object' && object !== null && object.$$typeof === REACT_ELEMENT_TYPE;\n}\n\nvar SEPARATOR = '.';\nvar SUBSEPARATOR = ':';\n/**\n * Escape and wrap key so it is safe to use as a reactid\n *\n * @param {string} key to be escaped.\n * @return {string} the escaped key.\n */\n\nfunction escape(key) {\n var escapeRegex = /[=:]/g;\n var escaperLookup = {\n '=': '=0',\n ':': '=2'\n };\n var escapedString = key.replace(escapeRegex, function (match) {\n return escaperLookup[match];\n });\n return '$' + escapedString;\n}\n/**\n * TODO: Test that a single child and an array with one item have the same key\n * pattern.\n */\n\n\nvar didWarnAboutMaps = false;\nvar userProvidedKeyEscapeRegex = /\\/+/g;\n\nfunction escapeUserProvidedKey(text) {\n return text.replace(userProvidedKeyEscapeRegex, '$&/');\n}\n/**\n * Generate a key string that identifies a element within a set.\n *\n * @param {*} element A element that could contain a manual key.\n * @param {number} index Index that is used if a manual key is not provided.\n * @return {string}\n */\n\n\nfunction getElementKey(element, index) {\n // Do some typechecking here since we call this blindly. We want to ensure\n // that we don't block potential future ES APIs.\n if (typeof element === 'object' && element !== null && element.key != null) {\n // Explicit key\n {\n checkKeyStringCoercion(element.key);\n }\n\n return escape('' + element.key);\n } // Implicit key determined by the index in the set\n\n\n return index.toString(36);\n}\n\nfunction mapIntoArray(children, array, escapedPrefix, nameSoFar, callback) {\n var type = typeof children;\n\n if (type === 'undefined' || type === 'boolean') {\n // All of the above are perceived as null.\n children = null;\n }\n\n var invokeCallback = false;\n\n if (children === null) {\n invokeCallback = true;\n } else {\n switch (type) {\n case 'string':\n case 'number':\n invokeCallback = true;\n break;\n\n case 'object':\n switch (children.$$typeof) {\n case REACT_ELEMENT_TYPE:\n case REACT_PORTAL_TYPE:\n invokeCallback = true;\n }\n\n }\n }\n\n if (invokeCallback) {\n var _child = children;\n var mappedChild = callback(_child); // If it's the only child, treat the name as if it was wrapped in an array\n // so that it's consistent if the number of children grows:\n\n var childKey = nameSoFar === '' ? SEPARATOR + getElementKey(_child, 0) : nameSoFar;\n\n if (isArray(mappedChild)) {\n var escapedChildKey = '';\n\n if (childKey != null) {\n escapedChildKey = escapeUserProvidedKey(childKey) + '/';\n }\n\n mapIntoArray(mappedChild, array, escapedChildKey, '', function (c) {\n return c;\n });\n } else if (mappedChild != null) {\n if (isValidElement(mappedChild)) {\n {\n // The `if` statement here prevents auto-disabling of the safe\n // coercion ESLint rule, so we must manually disable it below.\n // $FlowFixMe Flow incorrectly thinks React.Portal doesn't have a key\n if (mappedChild.key && (!_child || _child.key !== mappedChild.key)) {\n checkKeyStringCoercion(mappedChild.key);\n }\n }\n\n mappedChild = cloneAndReplaceKey(mappedChild, // Keep both the (mapped) and old keys if they differ, just as\n // traverseAllChildren used to do for objects as children\n escapedPrefix + ( // $FlowFixMe Flow incorrectly thinks React.Portal doesn't have a key\n mappedChild.key && (!_child || _child.key !== mappedChild.key) ? // $FlowFixMe Flow incorrectly thinks existing element's key can be a number\n // eslint-disable-next-line react-internal/safe-string-coercion\n escapeUserProvidedKey('' + mappedChild.key) + '/' : '') + childKey);\n }\n\n array.push(mappedChild);\n }\n\n return 1;\n }\n\n var child;\n var nextName;\n var subtreeCount = 0; // Count of children found in the current subtree.\n\n var nextNamePrefix = nameSoFar === '' ? SEPARATOR : nameSoFar + SUBSEPARATOR;\n\n if (isArray(children)) {\n for (var i = 0; i < children.length; i++) {\n child = children[i];\n nextName = nextNamePrefix + getElementKey(child, i);\n subtreeCount += mapIntoArray(child, array, escapedPrefix, nextName, callback);\n }\n } else {\n var iteratorFn = getIteratorFn(children);\n\n if (typeof iteratorFn === 'function') {\n var iterableChildren = children;\n\n {\n // Warn about using Maps as children\n if (iteratorFn === iterableChildren.entries) {\n if (!didWarnAboutMaps) {\n warn('Using Maps as children is not supported. ' + 'Use an array of keyed ReactElements instead.');\n }\n\n didWarnAboutMaps = true;\n }\n }\n\n var iterator = iteratorFn.call(iterableChildren);\n var step;\n var ii = 0;\n\n while (!(step = iterator.next()).done) {\n child = step.value;\n nextName = nextNamePrefix + getElementKey(child, ii++);\n subtreeCount += mapIntoArray(child, array, escapedPrefix, nextName, callback);\n }\n } else if (type === 'object') {\n // eslint-disable-next-line react-internal/safe-string-coercion\n var childrenString = String(children);\n throw new Error(\"Objects are not valid as a React child (found: \" + (childrenString === '[object Object]' ? 'object with keys {' + Object.keys(children).join(', ') + '}' : childrenString) + \"). \" + 'If you meant to render a collection of children, use an array ' + 'instead.');\n }\n }\n\n return subtreeCount;\n}\n\n/**\n * Maps children that are typically specified as `props.children`.\n *\n * See https://reactjs.org/docs/react-api.html#reactchildrenmap\n *\n * The provided mapFunction(child, index) will be called for each\n * leaf child.\n *\n * @param {?*} children Children tree container.\n * @param {function(*, int)} func The map function.\n * @param {*} context Context for mapFunction.\n * @return {object} Object containing the ordered map of results.\n */\nfunction mapChildren(children, func, context) {\n if (children == null) {\n return children;\n }\n\n var result = [];\n var count = 0;\n mapIntoArray(children, result, '', '', function (child) {\n return func.call(context, child, count++);\n });\n return result;\n}\n/**\n * Count the number of children that are typically specified as\n * `props.children`.\n *\n * See https://reactjs.org/docs/react-api.html#reactchildrencount\n *\n * @param {?*} children Children tree container.\n * @return {number} The number of children.\n */\n\n\nfunction countChildren(children) {\n var n = 0;\n mapChildren(children, function () {\n n++; // Don't return anything\n });\n return n;\n}\n\n/**\n * Iterates through children that are typically specified as `props.children`.\n *\n * See https://reactjs.org/docs/react-api.html#reactchildrenforeach\n *\n * The provided forEachFunc(child, index) will be called for each\n * leaf child.\n *\n * @param {?*} children Children tree container.\n * @param {function(*, int)} forEachFunc\n * @param {*} forEachContext Context for forEachContext.\n */\nfunction forEachChildren(children, forEachFunc, forEachContext) {\n mapChildren(children, function () {\n forEachFunc.apply(this, arguments); // Don't return anything.\n }, forEachContext);\n}\n/**\n * Flatten a children object (typically specified as `props.children`) and\n * return an array with appropriately re-keyed children.\n *\n * See https://reactjs.org/docs/react-api.html#reactchildrentoarray\n */\n\n\nfunction toArray(children) {\n return mapChildren(children, function (child) {\n return child;\n }) || [];\n}\n/**\n * Returns the first child in a collection of children and verifies that there\n * is only one child in the collection.\n *\n * See https://reactjs.org/docs/react-api.html#reactchildrenonly\n *\n * The current implementation of this function assumes that a single child gets\n * passed without a wrapper, but the purpose of this helper function is to\n * abstract away the particular structure of children.\n *\n * @param {?object} children Child collection structure.\n * @return {ReactElement} The first and only `ReactElement` contained in the\n * structure.\n */\n\n\nfunction onlyChild(children) {\n if (!isValidElement(children)) {\n throw new Error('React.Children.only expected to receive a single React element child.');\n }\n\n return children;\n}\n\nfunction createContext(defaultValue) {\n // TODO: Second argument used to be an optional `calculateChangedBits`\n // function. Warn to reserve for future use?\n var context = {\n $$typeof: REACT_CONTEXT_TYPE,\n // As a workaround to support multiple concurrent renderers, we categorize\n // some renderers as primary and others as secondary. We only expect\n // there to be two concurrent renderers at most: React Native (primary) and\n // Fabric (secondary); React DOM (primary) and React ART (secondary).\n // Secondary renderers store their context values on separate fields.\n _currentValue: defaultValue,\n _currentValue2: defaultValue,\n // Used to track how many concurrent renderers this context currently\n // supports within in a single renderer. Such as parallel server rendering.\n _threadCount: 0,\n // These are circular\n Provider: null,\n Consumer: null,\n // Add these to use same hidden class in VM as ServerContext\n _defaultValue: null,\n _globalName: null\n };\n context.Provider = {\n $$typeof: REACT_PROVIDER_TYPE,\n _context: context\n };\n var hasWarnedAboutUsingNestedContextConsumers = false;\n var hasWarnedAboutUsingConsumerProvider = false;\n var hasWarnedAboutDisplayNameOnConsumer = false;\n\n {\n // A separate object, but proxies back to the original context object for\n // backwards compatibility. It has a different $$typeof, so we can properly\n // warn for the incorrect usage of Context as a Consumer.\n var Consumer = {\n $$typeof: REACT_CONTEXT_TYPE,\n _context: context\n }; // $FlowFixMe: Flow complains about not setting a value, which is intentional here\n\n Object.defineProperties(Consumer, {\n Provider: {\n get: function () {\n if (!hasWarnedAboutUsingConsumerProvider) {\n hasWarnedAboutUsingConsumerProvider = true;\n\n error('Rendering is not supported and will be removed in ' + 'a future major release. Did you mean to render instead?');\n }\n\n return context.Provider;\n },\n set: function (_Provider) {\n context.Provider = _Provider;\n }\n },\n _currentValue: {\n get: function () {\n return context._currentValue;\n },\n set: function (_currentValue) {\n context._currentValue = _currentValue;\n }\n },\n _currentValue2: {\n get: function () {\n return context._currentValue2;\n },\n set: function (_currentValue2) {\n context._currentValue2 = _currentValue2;\n }\n },\n _threadCount: {\n get: function () {\n return context._threadCount;\n },\n set: function (_threadCount) {\n context._threadCount = _threadCount;\n }\n },\n Consumer: {\n get: function () {\n if (!hasWarnedAboutUsingNestedContextConsumers) {\n hasWarnedAboutUsingNestedContextConsumers = true;\n\n error('Rendering is not supported and will be removed in ' + 'a future major release. Did you mean to render instead?');\n }\n\n return context.Consumer;\n }\n },\n displayName: {\n get: function () {\n return context.displayName;\n },\n set: function (displayName) {\n if (!hasWarnedAboutDisplayNameOnConsumer) {\n warn('Setting `displayName` on Context.Consumer has no effect. ' + \"You should set it directly on the context with Context.displayName = '%s'.\", displayName);\n\n hasWarnedAboutDisplayNameOnConsumer = true;\n }\n }\n }\n }); // $FlowFixMe: Flow complains about missing properties because it doesn't understand defineProperty\n\n context.Consumer = Consumer;\n }\n\n {\n context._currentRenderer = null;\n context._currentRenderer2 = null;\n }\n\n return context;\n}\n\nvar Uninitialized = -1;\nvar Pending = 0;\nvar Resolved = 1;\nvar Rejected = 2;\n\nfunction lazyInitializer(payload) {\n if (payload._status === Uninitialized) {\n var ctor = payload._result;\n var thenable = ctor(); // Transition to the next state.\n // This might throw either because it's missing or throws. If so, we treat it\n // as still uninitialized and try again next time. Which is the same as what\n // happens if the ctor or any wrappers processing the ctor throws. This might\n // end up fixing it if the resolution was a concurrency bug.\n\n thenable.then(function (moduleObject) {\n if (payload._status === Pending || payload._status === Uninitialized) {\n // Transition to the next state.\n var resolved = payload;\n resolved._status = Resolved;\n resolved._result = moduleObject;\n }\n }, function (error) {\n if (payload._status === Pending || payload._status === Uninitialized) {\n // Transition to the next state.\n var rejected = payload;\n rejected._status = Rejected;\n rejected._result = error;\n }\n });\n\n if (payload._status === Uninitialized) {\n // In case, we're still uninitialized, then we're waiting for the thenable\n // to resolve. Set it as pending in the meantime.\n var pending = payload;\n pending._status = Pending;\n pending._result = thenable;\n }\n }\n\n if (payload._status === Resolved) {\n var moduleObject = payload._result;\n\n {\n if (moduleObject === undefined) {\n error('lazy: Expected the result of a dynamic imp' + 'ort() call. ' + 'Instead received: %s\\n\\nYour code should look like: \\n ' + // Break up imports to avoid accidentally parsing them as dependencies.\n 'const MyComponent = lazy(() => imp' + \"ort('./MyComponent'))\\n\\n\" + 'Did you accidentally put curly braces around the import?', moduleObject);\n }\n }\n\n {\n if (!('default' in moduleObject)) {\n error('lazy: Expected the result of a dynamic imp' + 'ort() call. ' + 'Instead received: %s\\n\\nYour code should look like: \\n ' + // Break up imports to avoid accidentally parsing them as dependencies.\n 'const MyComponent = lazy(() => imp' + \"ort('./MyComponent'))\", moduleObject);\n }\n }\n\n return moduleObject.default;\n } else {\n throw payload._result;\n }\n}\n\nfunction lazy(ctor) {\n var payload = {\n // We use these fields to store the result.\n _status: Uninitialized,\n _result: ctor\n };\n var lazyType = {\n $$typeof: REACT_LAZY_TYPE,\n _payload: payload,\n _init: lazyInitializer\n };\n\n {\n // In production, this would just set it on the object.\n var defaultProps;\n var propTypes; // $FlowFixMe\n\n Object.defineProperties(lazyType, {\n defaultProps: {\n configurable: true,\n get: function () {\n return defaultProps;\n },\n set: function (newDefaultProps) {\n error('React.lazy(...): It is not supported to assign `defaultProps` to ' + 'a lazy component import. Either specify them where the component ' + 'is defined, or create a wrapping component around it.');\n\n defaultProps = newDefaultProps; // Match production behavior more closely:\n // $FlowFixMe\n\n Object.defineProperty(lazyType, 'defaultProps', {\n enumerable: true\n });\n }\n },\n propTypes: {\n configurable: true,\n get: function () {\n return propTypes;\n },\n set: function (newPropTypes) {\n error('React.lazy(...): It is not supported to assign `propTypes` to ' + 'a lazy component import. Either specify them where the component ' + 'is defined, or create a wrapping component around it.');\n\n propTypes = newPropTypes; // Match production behavior more closely:\n // $FlowFixMe\n\n Object.defineProperty(lazyType, 'propTypes', {\n enumerable: true\n });\n }\n }\n });\n }\n\n return lazyType;\n}\n\nfunction forwardRef(render) {\n {\n if (render != null && render.$$typeof === REACT_MEMO_TYPE) {\n error('forwardRef requires a render function but received a `memo` ' + 'component. Instead of forwardRef(memo(...)), use ' + 'memo(forwardRef(...)).');\n } else if (typeof render !== 'function') {\n error('forwardRef requires a render function but was given %s.', render === null ? 'null' : typeof render);\n } else {\n if (render.length !== 0 && render.length !== 2) {\n error('forwardRef render functions accept exactly two parameters: props and ref. %s', render.length === 1 ? 'Did you forget to use the ref parameter?' : 'Any additional parameter will be undefined.');\n }\n }\n\n if (render != null) {\n if (render.defaultProps != null || render.propTypes != null) {\n error('forwardRef render functions do not support propTypes or defaultProps. ' + 'Did you accidentally pass a React component?');\n }\n }\n }\n\n var elementType = {\n $$typeof: REACT_FORWARD_REF_TYPE,\n render: render\n };\n\n {\n var ownName;\n Object.defineProperty(elementType, 'displayName', {\n enumerable: false,\n configurable: true,\n get: function () {\n return ownName;\n },\n set: function (name) {\n ownName = name; // The inner component shouldn't inherit this display name in most cases,\n // because the component may be used elsewhere.\n // But it's nice for anonymous functions to inherit the name,\n // so that our component-stack generation logic will display their frames.\n // An anonymous function generally suggests a pattern like:\n // React.forwardRef((props, ref) => {...});\n // This kind of inner function is not used elsewhere so the side effect is okay.\n\n if (!render.name && !render.displayName) {\n render.displayName = name;\n }\n }\n });\n }\n\n return elementType;\n}\n\nvar REACT_MODULE_REFERENCE;\n\n{\n REACT_MODULE_REFERENCE = Symbol.for('react.module.reference');\n}\n\nfunction isValidElementType(type) {\n if (typeof type === 'string' || typeof type === 'function') {\n return true;\n } // Note: typeof might be other than 'symbol' or 'number' (e.g. if it's a polyfill).\n\n\n if (type === REACT_FRAGMENT_TYPE || type === REACT_PROFILER_TYPE || enableDebugTracing || type === REACT_STRICT_MODE_TYPE || type === REACT_SUSPENSE_TYPE || type === REACT_SUSPENSE_LIST_TYPE || enableLegacyHidden || type === REACT_OFFSCREEN_TYPE || enableScopeAPI || enableCacheElement || enableTransitionTracing ) {\n return true;\n }\n\n if (typeof type === 'object' && type !== null) {\n if (type.$$typeof === REACT_LAZY_TYPE || type.$$typeof === REACT_MEMO_TYPE || type.$$typeof === REACT_PROVIDER_TYPE || type.$$typeof === REACT_CONTEXT_TYPE || type.$$typeof === REACT_FORWARD_REF_TYPE || // This needs to include all possible module reference object\n // types supported by any Flight configuration anywhere since\n // we don't know which Flight build this will end up being used\n // with.\n type.$$typeof === REACT_MODULE_REFERENCE || type.getModuleId !== undefined) {\n return true;\n }\n }\n\n return false;\n}\n\nfunction memo(type, compare) {\n {\n if (!isValidElementType(type)) {\n error('memo: The first argument must be a component. Instead ' + 'received: %s', type === null ? 'null' : typeof type);\n }\n }\n\n var elementType = {\n $$typeof: REACT_MEMO_TYPE,\n type: type,\n compare: compare === undefined ? null : compare\n };\n\n {\n var ownName;\n Object.defineProperty(elementType, 'displayName', {\n enumerable: false,\n configurable: true,\n get: function () {\n return ownName;\n },\n set: function (name) {\n ownName = name; // The inner component shouldn't inherit this display name in most cases,\n // because the component may be used elsewhere.\n // But it's nice for anonymous functions to inherit the name,\n // so that our component-stack generation logic will display their frames.\n // An anonymous function generally suggests a pattern like:\n // React.memo((props) => {...});\n // This kind of inner function is not used elsewhere so the side effect is okay.\n\n if (!type.name && !type.displayName) {\n type.displayName = name;\n }\n }\n });\n }\n\n return elementType;\n}\n\nfunction resolveDispatcher() {\n var dispatcher = ReactCurrentDispatcher.current;\n\n {\n if (dispatcher === null) {\n error('Invalid hook call. Hooks can only be called inside of the body of a function component. This could happen for' + ' one of the following reasons:\\n' + '1. You might have mismatching versions of React and the renderer (such as React DOM)\\n' + '2. You might be breaking the Rules of Hooks\\n' + '3. You might have more than one copy of React in the same app\\n' + 'See https://reactjs.org/link/invalid-hook-call for tips about how to debug and fix this problem.');\n }\n } // Will result in a null access error if accessed outside render phase. We\n // intentionally don't throw our own error because this is in a hot path.\n // Also helps ensure this is inlined.\n\n\n return dispatcher;\n}\nfunction useContext(Context) {\n var dispatcher = resolveDispatcher();\n\n {\n // TODO: add a more generic warning for invalid values.\n if (Context._context !== undefined) {\n var realContext = Context._context; // Don't deduplicate because this legitimately causes bugs\n // and nobody should be using this in existing code.\n\n if (realContext.Consumer === Context) {\n error('Calling useContext(Context.Consumer) is not supported, may cause bugs, and will be ' + 'removed in a future major release. Did you mean to call useContext(Context) instead?');\n } else if (realContext.Provider === Context) {\n error('Calling useContext(Context.Provider) is not supported. ' + 'Did you mean to call useContext(Context) instead?');\n }\n }\n }\n\n return dispatcher.useContext(Context);\n}\nfunction useState(initialState) {\n var dispatcher = resolveDispatcher();\n return dispatcher.useState(initialState);\n}\nfunction useReducer(reducer, initialArg, init) {\n var dispatcher = resolveDispatcher();\n return dispatcher.useReducer(reducer, initialArg, init);\n}\nfunction useRef(initialValue) {\n var dispatcher = resolveDispatcher();\n return dispatcher.useRef(initialValue);\n}\nfunction useEffect(create, deps) {\n var dispatcher = resolveDispatcher();\n return dispatcher.useEffect(create, deps);\n}\nfunction useInsertionEffect(create, deps) {\n var dispatcher = resolveDispatcher();\n return dispatcher.useInsertionEffect(create, deps);\n}\nfunction useLayoutEffect(create, deps) {\n var dispatcher = resolveDispatcher();\n return dispatcher.useLayoutEffect(create, deps);\n}\nfunction useCallback(callback, deps) {\n var dispatcher = resolveDispatcher();\n return dispatcher.useCallback(callback, deps);\n}\nfunction useMemo(create, deps) {\n var dispatcher = resolveDispatcher();\n return dispatcher.useMemo(create, deps);\n}\nfunction useImperativeHandle(ref, create, deps) {\n var dispatcher = resolveDispatcher();\n return dispatcher.useImperativeHandle(ref, create, deps);\n}\nfunction useDebugValue(value, formatterFn) {\n {\n var dispatcher = resolveDispatcher();\n return dispatcher.useDebugValue(value, formatterFn);\n }\n}\nfunction useTransition() {\n var dispatcher = resolveDispatcher();\n return dispatcher.useTransition();\n}\nfunction useDeferredValue(value) {\n var dispatcher = resolveDispatcher();\n return dispatcher.useDeferredValue(value);\n}\nfunction useId() {\n var dispatcher = resolveDispatcher();\n return dispatcher.useId();\n}\nfunction useSyncExternalStore(subscribe, getSnapshot, getServerSnapshot) {\n var dispatcher = resolveDispatcher();\n return dispatcher.useSyncExternalStore(subscribe, getSnapshot, getServerSnapshot);\n}\n\n// Helpers to patch console.logs to avoid logging during side-effect free\n// replaying on render function. This currently only patches the object\n// lazily which won't cover if the log function was extracted eagerly.\n// We could also eagerly patch the method.\nvar disabledDepth = 0;\nvar prevLog;\nvar prevInfo;\nvar prevWarn;\nvar prevError;\nvar prevGroup;\nvar prevGroupCollapsed;\nvar prevGroupEnd;\n\nfunction disabledLog() {}\n\ndisabledLog.__reactDisabledLog = true;\nfunction disableLogs() {\n {\n if (disabledDepth === 0) {\n /* eslint-disable react-internal/no-production-logging */\n prevLog = console.log;\n prevInfo = console.info;\n prevWarn = console.warn;\n prevError = console.error;\n prevGroup = console.group;\n prevGroupCollapsed = console.groupCollapsed;\n prevGroupEnd = console.groupEnd; // https://github.com/facebook/react/issues/19099\n\n var props = {\n configurable: true,\n enumerable: true,\n value: disabledLog,\n writable: true\n }; // $FlowFixMe Flow thinks console is immutable.\n\n Object.defineProperties(console, {\n info: props,\n log: props,\n warn: props,\n error: props,\n group: props,\n groupCollapsed: props,\n groupEnd: props\n });\n /* eslint-enable react-internal/no-production-logging */\n }\n\n disabledDepth++;\n }\n}\nfunction reenableLogs() {\n {\n disabledDepth--;\n\n if (disabledDepth === 0) {\n /* eslint-disable react-internal/no-production-logging */\n var props = {\n configurable: true,\n enumerable: true,\n writable: true\n }; // $FlowFixMe Flow thinks console is immutable.\n\n Object.defineProperties(console, {\n log: assign({}, props, {\n value: prevLog\n }),\n info: assign({}, props, {\n value: prevInfo\n }),\n warn: assign({}, props, {\n value: prevWarn\n }),\n error: assign({}, props, {\n value: prevError\n }),\n group: assign({}, props, {\n value: prevGroup\n }),\n groupCollapsed: assign({}, props, {\n value: prevGroupCollapsed\n }),\n groupEnd: assign({}, props, {\n value: prevGroupEnd\n })\n });\n /* eslint-enable react-internal/no-production-logging */\n }\n\n if (disabledDepth < 0) {\n error('disabledDepth fell below zero. ' + 'This is a bug in React. Please file an issue.');\n }\n }\n}\n\nvar ReactCurrentDispatcher$1 = ReactSharedInternals.ReactCurrentDispatcher;\nvar prefix;\nfunction describeBuiltInComponentFrame(name, source, ownerFn) {\n {\n if (prefix === undefined) {\n // Extract the VM specific prefix used by each line.\n try {\n throw Error();\n } catch (x) {\n var match = x.stack.trim().match(/\\n( *(at )?)/);\n prefix = match && match[1] || '';\n }\n } // We use the prefix to ensure our stacks line up with native stack frames.\n\n\n return '\\n' + prefix + name;\n }\n}\nvar reentry = false;\nvar componentFrameCache;\n\n{\n var PossiblyWeakMap = typeof WeakMap === 'function' ? WeakMap : Map;\n componentFrameCache = new PossiblyWeakMap();\n}\n\nfunction describeNativeComponentFrame(fn, construct) {\n // If something asked for a stack inside a fake render, it should get ignored.\n if ( !fn || reentry) {\n return '';\n }\n\n {\n var frame = componentFrameCache.get(fn);\n\n if (frame !== undefined) {\n return frame;\n }\n }\n\n var control;\n reentry = true;\n var previousPrepareStackTrace = Error.prepareStackTrace; // $FlowFixMe It does accept undefined.\n\n Error.prepareStackTrace = undefined;\n var previousDispatcher;\n\n {\n previousDispatcher = ReactCurrentDispatcher$1.current; // Set the dispatcher in DEV because this might be call in the render function\n // for warnings.\n\n ReactCurrentDispatcher$1.current = null;\n disableLogs();\n }\n\n try {\n // This should throw.\n if (construct) {\n // Something should be setting the props in the constructor.\n var Fake = function () {\n throw Error();\n }; // $FlowFixMe\n\n\n Object.defineProperty(Fake.prototype, 'props', {\n set: function () {\n // We use a throwing setter instead of frozen or non-writable props\n // because that won't throw in a non-strict mode function.\n throw Error();\n }\n });\n\n if (typeof Reflect === 'object' && Reflect.construct) {\n // We construct a different control for this case to include any extra\n // frames added by the construct call.\n try {\n Reflect.construct(Fake, []);\n } catch (x) {\n control = x;\n }\n\n Reflect.construct(fn, [], Fake);\n } else {\n try {\n Fake.call();\n } catch (x) {\n control = x;\n }\n\n fn.call(Fake.prototype);\n }\n } else {\n try {\n throw Error();\n } catch (x) {\n control = x;\n }\n\n fn();\n }\n } catch (sample) {\n // This is inlined manually because closure doesn't do it for us.\n if (sample && control && typeof sample.stack === 'string') {\n // This extracts the first frame from the sample that isn't also in the control.\n // Skipping one frame that we assume is the frame that calls the two.\n var sampleLines = sample.stack.split('\\n');\n var controlLines = control.stack.split('\\n');\n var s = sampleLines.length - 1;\n var c = controlLines.length - 1;\n\n while (s >= 1 && c >= 0 && sampleLines[s] !== controlLines[c]) {\n // We expect at least one stack frame to be shared.\n // Typically this will be the root most one. However, stack frames may be\n // cut off due to maximum stack limits. In this case, one maybe cut off\n // earlier than the other. We assume that the sample is longer or the same\n // and there for cut off earlier. So we should find the root most frame in\n // the sample somewhere in the control.\n c--;\n }\n\n for (; s >= 1 && c >= 0; s--, c--) {\n // Next we find the first one that isn't the same which should be the\n // frame that called our sample function and the control.\n if (sampleLines[s] !== controlLines[c]) {\n // In V8, the first line is describing the message but other VMs don't.\n // If we're about to return the first line, and the control is also on the same\n // line, that's a pretty good indicator that our sample threw at same line as\n // the control. I.e. before we entered the sample frame. So we ignore this result.\n // This can happen if you passed a class to function component, or non-function.\n if (s !== 1 || c !== 1) {\n do {\n s--;\n c--; // We may still have similar intermediate frames from the construct call.\n // The next one that isn't the same should be our match though.\n\n if (c < 0 || sampleLines[s] !== controlLines[c]) {\n // V8 adds a \"new\" prefix for native classes. Let's remove it to make it prettier.\n var _frame = '\\n' + sampleLines[s].replace(' at new ', ' at '); // If our component frame is labeled \"\"\n // but we have a user-provided \"displayName\"\n // splice it in to make the stack more readable.\n\n\n if (fn.displayName && _frame.includes('')) {\n _frame = _frame.replace('', fn.displayName);\n }\n\n {\n if (typeof fn === 'function') {\n componentFrameCache.set(fn, _frame);\n }\n } // Return the line we found.\n\n\n return _frame;\n }\n } while (s >= 1 && c >= 0);\n }\n\n break;\n }\n }\n }\n } finally {\n reentry = false;\n\n {\n ReactCurrentDispatcher$1.current = previousDispatcher;\n reenableLogs();\n }\n\n Error.prepareStackTrace = previousPrepareStackTrace;\n } // Fallback to just using the name if we couldn't make it throw.\n\n\n var name = fn ? fn.displayName || fn.name : '';\n var syntheticFrame = name ? describeBuiltInComponentFrame(name) : '';\n\n {\n if (typeof fn === 'function') {\n componentFrameCache.set(fn, syntheticFrame);\n }\n }\n\n return syntheticFrame;\n}\nfunction describeFunctionComponentFrame(fn, source, ownerFn) {\n {\n return describeNativeComponentFrame(fn, false);\n }\n}\n\nfunction shouldConstruct(Component) {\n var prototype = Component.prototype;\n return !!(prototype && prototype.isReactComponent);\n}\n\nfunction describeUnknownElementTypeFrameInDEV(type, source, ownerFn) {\n\n if (type == null) {\n return '';\n }\n\n if (typeof type === 'function') {\n {\n return describeNativeComponentFrame(type, shouldConstruct(type));\n }\n }\n\n if (typeof type === 'string') {\n return describeBuiltInComponentFrame(type);\n }\n\n switch (type) {\n case REACT_SUSPENSE_TYPE:\n return describeBuiltInComponentFrame('Suspense');\n\n case REACT_SUSPENSE_LIST_TYPE:\n return describeBuiltInComponentFrame('SuspenseList');\n }\n\n if (typeof type === 'object') {\n switch (type.$$typeof) {\n case REACT_FORWARD_REF_TYPE:\n return describeFunctionComponentFrame(type.render);\n\n case REACT_MEMO_TYPE:\n // Memo may contain any component type so we recursively resolve it.\n return describeUnknownElementTypeFrameInDEV(type.type, source, ownerFn);\n\n case REACT_LAZY_TYPE:\n {\n var lazyComponent = type;\n var payload = lazyComponent._payload;\n var init = lazyComponent._init;\n\n try {\n // Lazy may contain any component type so we recursively resolve it.\n return describeUnknownElementTypeFrameInDEV(init(payload), source, ownerFn);\n } catch (x) {}\n }\n }\n }\n\n return '';\n}\n\nvar loggedTypeFailures = {};\nvar ReactDebugCurrentFrame$1 = ReactSharedInternals.ReactDebugCurrentFrame;\n\nfunction setCurrentlyValidatingElement(element) {\n {\n if (element) {\n var owner = element._owner;\n var stack = describeUnknownElementTypeFrameInDEV(element.type, element._source, owner ? owner.type : null);\n ReactDebugCurrentFrame$1.setExtraStackFrame(stack);\n } else {\n ReactDebugCurrentFrame$1.setExtraStackFrame(null);\n }\n }\n}\n\nfunction checkPropTypes(typeSpecs, values, location, componentName, element) {\n {\n // $FlowFixMe This is okay but Flow doesn't know it.\n var has = Function.call.bind(hasOwnProperty);\n\n for (var typeSpecName in typeSpecs) {\n if (has(typeSpecs, typeSpecName)) {\n var error$1 = void 0; // Prop type validation may throw. In case they do, we don't want to\n // fail the render phase where it didn't fail before. So we log it.\n // After these have been cleaned up, we'll let them throw.\n\n try {\n // This is intentionally an invariant that gets caught. It's the same\n // behavior as without this statement except with a better message.\n if (typeof typeSpecs[typeSpecName] !== 'function') {\n // eslint-disable-next-line react-internal/prod-error-codes\n var err = Error((componentName || 'React class') + ': ' + location + ' type `' + typeSpecName + '` is invalid; ' + 'it must be a function, usually from the `prop-types` package, but received `' + typeof typeSpecs[typeSpecName] + '`.' + 'This often happens because of typos such as `PropTypes.function` instead of `PropTypes.func`.');\n err.name = 'Invariant Violation';\n throw err;\n }\n\n error$1 = typeSpecs[typeSpecName](values, typeSpecName, componentName, location, null, 'SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED');\n } catch (ex) {\n error$1 = ex;\n }\n\n if (error$1 && !(error$1 instanceof Error)) {\n setCurrentlyValidatingElement(element);\n\n error('%s: type specification of %s' + ' `%s` is invalid; the type checker ' + 'function must return `null` or an `Error` but returned a %s. ' + 'You may have forgotten to pass an argument to the type checker ' + 'creator (arrayOf, instanceOf, objectOf, oneOf, oneOfType, and ' + 'shape all require an argument).', componentName || 'React class', location, typeSpecName, typeof error$1);\n\n setCurrentlyValidatingElement(null);\n }\n\n if (error$1 instanceof Error && !(error$1.message in loggedTypeFailures)) {\n // Only monitor this failure once because there tends to be a lot of the\n // same error.\n loggedTypeFailures[error$1.message] = true;\n setCurrentlyValidatingElement(element);\n\n error('Failed %s type: %s', location, error$1.message);\n\n setCurrentlyValidatingElement(null);\n }\n }\n }\n }\n}\n\nfunction setCurrentlyValidatingElement$1(element) {\n {\n if (element) {\n var owner = element._owner;\n var stack = describeUnknownElementTypeFrameInDEV(element.type, element._source, owner ? owner.type : null);\n setExtraStackFrame(stack);\n } else {\n setExtraStackFrame(null);\n }\n }\n}\n\nvar propTypesMisspellWarningShown;\n\n{\n propTypesMisspellWarningShown = false;\n}\n\nfunction getDeclarationErrorAddendum() {\n if (ReactCurrentOwner.current) {\n var name = getComponentNameFromType(ReactCurrentOwner.current.type);\n\n if (name) {\n return '\\n\\nCheck the render method of `' + name + '`.';\n }\n }\n\n return '';\n}\n\nfunction getSourceInfoErrorAddendum(source) {\n if (source !== undefined) {\n var fileName = source.fileName.replace(/^.*[\\\\\\/]/, '');\n var lineNumber = source.lineNumber;\n return '\\n\\nCheck your code at ' + fileName + ':' + lineNumber + '.';\n }\n\n return '';\n}\n\nfunction getSourceInfoErrorAddendumForProps(elementProps) {\n if (elementProps !== null && elementProps !== undefined) {\n return getSourceInfoErrorAddendum(elementProps.__source);\n }\n\n return '';\n}\n/**\n * Warn if there's no key explicitly set on dynamic arrays of children or\n * object keys are not valid. This allows us to keep track of children between\n * updates.\n */\n\n\nvar ownerHasKeyUseWarning = {};\n\nfunction getCurrentComponentErrorInfo(parentType) {\n var info = getDeclarationErrorAddendum();\n\n if (!info) {\n var parentName = typeof parentType === 'string' ? parentType : parentType.displayName || parentType.name;\n\n if (parentName) {\n info = \"\\n\\nCheck the top-level render call using <\" + parentName + \">.\";\n }\n }\n\n return info;\n}\n/**\n * Warn if the element doesn't have an explicit key assigned to it.\n * This element is in an array. The array could grow and shrink or be\n * reordered. All children that haven't already been validated are required to\n * have a \"key\" property assigned to it. Error statuses are cached so a warning\n * will only be shown once.\n *\n * @internal\n * @param {ReactElement} element Element that requires a key.\n * @param {*} parentType element's parent's type.\n */\n\n\nfunction validateExplicitKey(element, parentType) {\n if (!element._store || element._store.validated || element.key != null) {\n return;\n }\n\n element._store.validated = true;\n var currentComponentErrorInfo = getCurrentComponentErrorInfo(parentType);\n\n if (ownerHasKeyUseWarning[currentComponentErrorInfo]) {\n return;\n }\n\n ownerHasKeyUseWarning[currentComponentErrorInfo] = true; // Usually the current owner is the offender, but if it accepts children as a\n // property, it may be the creator of the child that's responsible for\n // assigning it a key.\n\n var childOwner = '';\n\n if (element && element._owner && element._owner !== ReactCurrentOwner.current) {\n // Give the component that originally created this child.\n childOwner = \" It was passed a child from \" + getComponentNameFromType(element._owner.type) + \".\";\n }\n\n {\n setCurrentlyValidatingElement$1(element);\n\n error('Each child in a list should have a unique \"key\" prop.' + '%s%s See https://reactjs.org/link/warning-keys for more information.', currentComponentErrorInfo, childOwner);\n\n setCurrentlyValidatingElement$1(null);\n }\n}\n/**\n * Ensure that every element either is passed in a static location, in an\n * array with an explicit keys property defined, or in an object literal\n * with valid key property.\n *\n * @internal\n * @param {ReactNode} node Statically passed child of any type.\n * @param {*} parentType node's parent's type.\n */\n\n\nfunction validateChildKeys(node, parentType) {\n if (typeof node !== 'object') {\n return;\n }\n\n if (isArray(node)) {\n for (var i = 0; i < node.length; i++) {\n var child = node[i];\n\n if (isValidElement(child)) {\n validateExplicitKey(child, parentType);\n }\n }\n } else if (isValidElement(node)) {\n // This element was passed in a valid location.\n if (node._store) {\n node._store.validated = true;\n }\n } else if (node) {\n var iteratorFn = getIteratorFn(node);\n\n if (typeof iteratorFn === 'function') {\n // Entry iterators used to provide implicit keys,\n // but now we print a separate warning for them later.\n if (iteratorFn !== node.entries) {\n var iterator = iteratorFn.call(node);\n var step;\n\n while (!(step = iterator.next()).done) {\n if (isValidElement(step.value)) {\n validateExplicitKey(step.value, parentType);\n }\n }\n }\n }\n }\n}\n/**\n * Given an element, validate that its props follow the propTypes definition,\n * provided by the type.\n *\n * @param {ReactElement} element\n */\n\n\nfunction validatePropTypes(element) {\n {\n var type = element.type;\n\n if (type === null || type === undefined || typeof type === 'string') {\n return;\n }\n\n var propTypes;\n\n if (typeof type === 'function') {\n propTypes = type.propTypes;\n } else if (typeof type === 'object' && (type.$$typeof === REACT_FORWARD_REF_TYPE || // Note: Memo only checks outer props here.\n // Inner props are checked in the reconciler.\n type.$$typeof === REACT_MEMO_TYPE)) {\n propTypes = type.propTypes;\n } else {\n return;\n }\n\n if (propTypes) {\n // Intentionally inside to avoid triggering lazy initializers:\n var name = getComponentNameFromType(type);\n checkPropTypes(propTypes, element.props, 'prop', name, element);\n } else if (type.PropTypes !== undefined && !propTypesMisspellWarningShown) {\n propTypesMisspellWarningShown = true; // Intentionally inside to avoid triggering lazy initializers:\n\n var _name = getComponentNameFromType(type);\n\n error('Component %s declared `PropTypes` instead of `propTypes`. Did you misspell the property assignment?', _name || 'Unknown');\n }\n\n if (typeof type.getDefaultProps === 'function' && !type.getDefaultProps.isReactClassApproved) {\n error('getDefaultProps is only used on classic React.createClass ' + 'definitions. Use a static property named `defaultProps` instead.');\n }\n }\n}\n/**\n * Given a fragment, validate that it can only be provided with fragment props\n * @param {ReactElement} fragment\n */\n\n\nfunction validateFragmentProps(fragment) {\n {\n var keys = Object.keys(fragment.props);\n\n for (var i = 0; i < keys.length; i++) {\n var key = keys[i];\n\n if (key !== 'children' && key !== 'key') {\n setCurrentlyValidatingElement$1(fragment);\n\n error('Invalid prop `%s` supplied to `React.Fragment`. ' + 'React.Fragment can only have `key` and `children` props.', key);\n\n setCurrentlyValidatingElement$1(null);\n break;\n }\n }\n\n if (fragment.ref !== null) {\n setCurrentlyValidatingElement$1(fragment);\n\n error('Invalid attribute `ref` supplied to `React.Fragment`.');\n\n setCurrentlyValidatingElement$1(null);\n }\n }\n}\nfunction createElementWithValidation(type, props, children) {\n var validType = isValidElementType(type); // We warn in this case but don't throw. We expect the element creation to\n // succeed and there will likely be errors in render.\n\n if (!validType) {\n var info = '';\n\n if (type === undefined || typeof type === 'object' && type !== null && Object.keys(type).length === 0) {\n info += ' You likely forgot to export your component from the file ' + \"it's defined in, or you might have mixed up default and named imports.\";\n }\n\n var sourceInfo = getSourceInfoErrorAddendumForProps(props);\n\n if (sourceInfo) {\n info += sourceInfo;\n } else {\n info += getDeclarationErrorAddendum();\n }\n\n var typeString;\n\n if (type === null) {\n typeString = 'null';\n } else if (isArray(type)) {\n typeString = 'array';\n } else if (type !== undefined && type.$$typeof === REACT_ELEMENT_TYPE) {\n typeString = \"<\" + (getComponentNameFromType(type.type) || 'Unknown') + \" />\";\n info = ' Did you accidentally export a JSX literal instead of a component?';\n } else {\n typeString = typeof type;\n }\n\n {\n error('React.createElement: type is invalid -- expected a string (for ' + 'built-in components) or a class/function (for composite ' + 'components) but got: %s.%s', typeString, info);\n }\n }\n\n var element = createElement.apply(this, arguments); // The result can be nullish if a mock or a custom function is used.\n // TODO: Drop this when these are no longer allowed as the type argument.\n\n if (element == null) {\n return element;\n } // Skip key warning if the type isn't valid since our key validation logic\n // doesn't expect a non-string/function type and can throw confusing errors.\n // We don't want exception behavior to differ between dev and prod.\n // (Rendering will throw with a helpful message and as soon as the type is\n // fixed, the key warnings will appear.)\n\n\n if (validType) {\n for (var i = 2; i < arguments.length; i++) {\n validateChildKeys(arguments[i], type);\n }\n }\n\n if (type === REACT_FRAGMENT_TYPE) {\n validateFragmentProps(element);\n } else {\n validatePropTypes(element);\n }\n\n return element;\n}\nvar didWarnAboutDeprecatedCreateFactory = false;\nfunction createFactoryWithValidation(type) {\n var validatedFactory = createElementWithValidation.bind(null, type);\n validatedFactory.type = type;\n\n {\n if (!didWarnAboutDeprecatedCreateFactory) {\n didWarnAboutDeprecatedCreateFactory = true;\n\n warn('React.createFactory() is deprecated and will be removed in ' + 'a future major release. Consider using JSX ' + 'or use React.createElement() directly instead.');\n } // Legacy hook: remove it\n\n\n Object.defineProperty(validatedFactory, 'type', {\n enumerable: false,\n get: function () {\n warn('Factory.type is deprecated. Access the class directly ' + 'before passing it to createFactory.');\n\n Object.defineProperty(this, 'type', {\n value: type\n });\n return type;\n }\n });\n }\n\n return validatedFactory;\n}\nfunction cloneElementWithValidation(element, props, children) {\n var newElement = cloneElement.apply(this, arguments);\n\n for (var i = 2; i < arguments.length; i++) {\n validateChildKeys(arguments[i], newElement.type);\n }\n\n validatePropTypes(newElement);\n return newElement;\n}\n\nfunction startTransition(scope, options) {\n var prevTransition = ReactCurrentBatchConfig.transition;\n ReactCurrentBatchConfig.transition = {};\n var currentTransition = ReactCurrentBatchConfig.transition;\n\n {\n ReactCurrentBatchConfig.transition._updatedFibers = new Set();\n }\n\n try {\n scope();\n } finally {\n ReactCurrentBatchConfig.transition = prevTransition;\n\n {\n if (prevTransition === null && currentTransition._updatedFibers) {\n var updatedFibersCount = currentTransition._updatedFibers.size;\n\n if (updatedFibersCount > 10) {\n warn('Detected a large number of updates inside startTransition. ' + 'If this is due to a subscription please re-write it to use React provided hooks. ' + 'Otherwise concurrent mode guarantees are off the table.');\n }\n\n currentTransition._updatedFibers.clear();\n }\n }\n }\n}\n\nvar didWarnAboutMessageChannel = false;\nvar enqueueTaskImpl = null;\nfunction enqueueTask(task) {\n if (enqueueTaskImpl === null) {\n try {\n // read require off the module object to get around the bundlers.\n // we don't want them to detect a require and bundle a Node polyfill.\n var requireString = ('require' + Math.random()).slice(0, 7);\n var nodeRequire = module && module[requireString]; // assuming we're in node, let's try to get node's\n // version of setImmediate, bypassing fake timers if any.\n\n enqueueTaskImpl = nodeRequire.call(module, 'timers').setImmediate;\n } catch (_err) {\n // we're in a browser\n // we can't use regular timers because they may still be faked\n // so we try MessageChannel+postMessage instead\n enqueueTaskImpl = function (callback) {\n {\n if (didWarnAboutMessageChannel === false) {\n didWarnAboutMessageChannel = true;\n\n if (typeof MessageChannel === 'undefined') {\n error('This browser does not have a MessageChannel implementation, ' + 'so enqueuing tasks via await act(async () => ...) will fail. ' + 'Please file an issue at https://github.com/facebook/react/issues ' + 'if you encounter this warning.');\n }\n }\n }\n\n var channel = new MessageChannel();\n channel.port1.onmessage = callback;\n channel.port2.postMessage(undefined);\n };\n }\n }\n\n return enqueueTaskImpl(task);\n}\n\nvar actScopeDepth = 0;\nvar didWarnNoAwaitAct = false;\nfunction act(callback) {\n {\n // `act` calls can be nested, so we track the depth. This represents the\n // number of `act` scopes on the stack.\n var prevActScopeDepth = actScopeDepth;\n actScopeDepth++;\n\n if (ReactCurrentActQueue.current === null) {\n // This is the outermost `act` scope. Initialize the queue. The reconciler\n // will detect the queue and use it instead of Scheduler.\n ReactCurrentActQueue.current = [];\n }\n\n var prevIsBatchingLegacy = ReactCurrentActQueue.isBatchingLegacy;\n var result;\n\n try {\n // Used to reproduce behavior of `batchedUpdates` in legacy mode. Only\n // set to `true` while the given callback is executed, not for updates\n // triggered during an async event, because this is how the legacy\n // implementation of `act` behaved.\n ReactCurrentActQueue.isBatchingLegacy = true;\n result = callback(); // Replicate behavior of original `act` implementation in legacy mode,\n // which flushed updates immediately after the scope function exits, even\n // if it's an async function.\n\n if (!prevIsBatchingLegacy && ReactCurrentActQueue.didScheduleLegacyUpdate) {\n var queue = ReactCurrentActQueue.current;\n\n if (queue !== null) {\n ReactCurrentActQueue.didScheduleLegacyUpdate = false;\n flushActQueue(queue);\n }\n }\n } catch (error) {\n popActScope(prevActScopeDepth);\n throw error;\n } finally {\n ReactCurrentActQueue.isBatchingLegacy = prevIsBatchingLegacy;\n }\n\n if (result !== null && typeof result === 'object' && typeof result.then === 'function') {\n var thenableResult = result; // The callback is an async function (i.e. returned a promise). Wait\n // for it to resolve before exiting the current scope.\n\n var wasAwaited = false;\n var thenable = {\n then: function (resolve, reject) {\n wasAwaited = true;\n thenableResult.then(function (returnValue) {\n popActScope(prevActScopeDepth);\n\n if (actScopeDepth === 0) {\n // We've exited the outermost act scope. Recursively flush the\n // queue until there's no remaining work.\n recursivelyFlushAsyncActWork(returnValue, resolve, reject);\n } else {\n resolve(returnValue);\n }\n }, function (error) {\n // The callback threw an error.\n popActScope(prevActScopeDepth);\n reject(error);\n });\n }\n };\n\n {\n if (!didWarnNoAwaitAct && typeof Promise !== 'undefined') {\n // eslint-disable-next-line no-undef\n Promise.resolve().then(function () {}).then(function () {\n if (!wasAwaited) {\n didWarnNoAwaitAct = true;\n\n error('You called act(async () => ...) without await. ' + 'This could lead to unexpected testing behaviour, ' + 'interleaving multiple act calls and mixing their ' + 'scopes. ' + 'You should - await act(async () => ...);');\n }\n });\n }\n }\n\n return thenable;\n } else {\n var returnValue = result; // The callback is not an async function. Exit the current scope\n // immediately, without awaiting.\n\n popActScope(prevActScopeDepth);\n\n if (actScopeDepth === 0) {\n // Exiting the outermost act scope. Flush the queue.\n var _queue = ReactCurrentActQueue.current;\n\n if (_queue !== null) {\n flushActQueue(_queue);\n ReactCurrentActQueue.current = null;\n } // Return a thenable. If the user awaits it, we'll flush again in\n // case additional work was scheduled by a microtask.\n\n\n var _thenable = {\n then: function (resolve, reject) {\n // Confirm we haven't re-entered another `act` scope, in case\n // the user does something weird like await the thenable\n // multiple times.\n if (ReactCurrentActQueue.current === null) {\n // Recursively flush the queue until there's no remaining work.\n ReactCurrentActQueue.current = [];\n recursivelyFlushAsyncActWork(returnValue, resolve, reject);\n } else {\n resolve(returnValue);\n }\n }\n };\n return _thenable;\n } else {\n // Since we're inside a nested `act` scope, the returned thenable\n // immediately resolves. The outer scope will flush the queue.\n var _thenable2 = {\n then: function (resolve, reject) {\n resolve(returnValue);\n }\n };\n return _thenable2;\n }\n }\n }\n}\n\nfunction popActScope(prevActScopeDepth) {\n {\n if (prevActScopeDepth !== actScopeDepth - 1) {\n error('You seem to have overlapping act() calls, this is not supported. ' + 'Be sure to await previous act() calls before making a new one. ');\n }\n\n actScopeDepth = prevActScopeDepth;\n }\n}\n\nfunction recursivelyFlushAsyncActWork(returnValue, resolve, reject) {\n {\n var queue = ReactCurrentActQueue.current;\n\n if (queue !== null) {\n try {\n flushActQueue(queue);\n enqueueTask(function () {\n if (queue.length === 0) {\n // No additional work was scheduled. Finish.\n ReactCurrentActQueue.current = null;\n resolve(returnValue);\n } else {\n // Keep flushing work until there's none left.\n recursivelyFlushAsyncActWork(returnValue, resolve, reject);\n }\n });\n } catch (error) {\n reject(error);\n }\n } else {\n resolve(returnValue);\n }\n }\n}\n\nvar isFlushing = false;\n\nfunction flushActQueue(queue) {\n {\n if (!isFlushing) {\n // Prevent re-entrance.\n isFlushing = true;\n var i = 0;\n\n try {\n for (; i < queue.length; i++) {\n var callback = queue[i];\n\n do {\n callback = callback(true);\n } while (callback !== null);\n }\n\n queue.length = 0;\n } catch (error) {\n // If something throws, leave the remaining callbacks on the queue.\n queue = queue.slice(i + 1);\n throw error;\n } finally {\n isFlushing = false;\n }\n }\n }\n}\n\nvar createElement$1 = createElementWithValidation ;\nvar cloneElement$1 = cloneElementWithValidation ;\nvar createFactory = createFactoryWithValidation ;\nvar Children = {\n map: mapChildren,\n forEach: forEachChildren,\n count: countChildren,\n toArray: toArray,\n only: onlyChild\n};\n\nexports.Children = Children;\nexports.Component = Component;\nexports.Fragment = REACT_FRAGMENT_TYPE;\nexports.Profiler = REACT_PROFILER_TYPE;\nexports.PureComponent = PureComponent;\nexports.StrictMode = REACT_STRICT_MODE_TYPE;\nexports.Suspense = REACT_SUSPENSE_TYPE;\nexports.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED = ReactSharedInternals;\nexports.act = act;\nexports.cloneElement = cloneElement$1;\nexports.createContext = createContext;\nexports.createElement = createElement$1;\nexports.createFactory = createFactory;\nexports.createRef = createRef;\nexports.forwardRef = forwardRef;\nexports.isValidElement = isValidElement;\nexports.lazy = lazy;\nexports.memo = memo;\nexports.startTransition = startTransition;\nexports.unstable_act = act;\nexports.useCallback = useCallback;\nexports.useContext = useContext;\nexports.useDebugValue = useDebugValue;\nexports.useDeferredValue = useDeferredValue;\nexports.useEffect = useEffect;\nexports.useId = useId;\nexports.useImperativeHandle = useImperativeHandle;\nexports.useInsertionEffect = useInsertionEffect;\nexports.useLayoutEffect = useLayoutEffect;\nexports.useMemo = useMemo;\nexports.useReducer = useReducer;\nexports.useRef = useRef;\nexports.useState = useState;\nexports.useSyncExternalStore = useSyncExternalStore;\nexports.useTransition = useTransition;\nexports.version = ReactVersion;\n /* global __REACT_DEVTOOLS_GLOBAL_HOOK__ */\nif (\n typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ !== 'undefined' &&\n typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop ===\n 'function'\n) {\n __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop(new Error());\n}\n \n })();\n}\n","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @format\n * @flow\n */\n\n'use strict';\n\n// Components\nimport typeof AccessibilityInfo from './Libraries/Components/AccessibilityInfo/AccessibilityInfo';\nimport typeof ActivityIndicator from './Libraries/Components/ActivityIndicator/ActivityIndicator';\nimport typeof Button from './Libraries/Components/Button';\nimport typeof DrawerLayoutAndroid from './Libraries/Components/DrawerAndroid/DrawerLayoutAndroid';\nimport typeof FlatList from './Libraries/Lists/FlatList';\nimport typeof Image from './Libraries/Image/Image';\nimport typeof ImageBackground from './Libraries/Image/ImageBackground';\nimport typeof InputAccessoryView from './Libraries/Components/TextInput/InputAccessoryView';\nimport typeof KeyboardAvoidingView from './Libraries/Components/Keyboard/KeyboardAvoidingView';\nimport typeof Modal from './Libraries/Modal/Modal';\nimport typeof Pressable from './Libraries/Components/Pressable/Pressable';\nimport typeof ProgressBarAndroid from './Libraries/Components/ProgressBarAndroid/ProgressBarAndroid';\nimport typeof RefreshControl from './Libraries/Components/RefreshControl/RefreshControl';\nimport typeof SafeAreaView from './Libraries/Components/SafeAreaView/SafeAreaView';\nimport typeof ScrollView from './Libraries/Components/ScrollView/ScrollView';\nimport typeof SectionList from './Libraries/Lists/SectionList';\nimport typeof StatusBar from './Libraries/Components/StatusBar/StatusBar';\nimport typeof Switch from './Libraries/Components/Switch/Switch';\nimport typeof Text from './Libraries/Text/Text';\nimport typeof TextInput from './Libraries/Components/TextInput/TextInput';\nimport typeof Touchable from './Libraries/Components/Touchable/Touchable';\nimport typeof TouchableHighlight from './Libraries/Components/Touchable/TouchableHighlight';\nimport typeof TouchableNativeFeedback from './Libraries/Components/Touchable/TouchableNativeFeedback';\nimport typeof TouchableOpacity from './Libraries/Components/Touchable/TouchableOpacity';\nimport typeof TouchableWithoutFeedback from './Libraries/Components/Touchable/TouchableWithoutFeedback';\nimport typeof View from './Libraries/Components/View/View';\nimport typeof VirtualizedList from './Libraries/Lists/VirtualizedList';\nimport typeof VirtualizedSectionList from './Libraries/Lists/VirtualizedSectionList';\n\n// APIs\nimport typeof ActionSheetIOS from './Libraries/ActionSheetIOS/ActionSheetIOS';\nimport typeof Alert from './Libraries/Alert/Alert';\nimport typeof Animated from './Libraries/Animated/Animated';\nimport typeof * as AnimatedModule from './Libraries/Animated/Animated';\nimport typeof Appearance from './Libraries/Utilities/Appearance';\nimport typeof AppRegistry from './Libraries/ReactNative/AppRegistry';\nimport typeof AppState from './Libraries/AppState/AppState';\nimport typeof BackHandler from './Libraries/Utilities/BackHandler';\nimport typeof Clipboard from './Libraries/Components/Clipboard/Clipboard';\nimport typeof DeviceInfo from './Libraries/Utilities/DeviceInfo';\nimport typeof DevSettings from './Libraries/Utilities/DevSettings';\nimport typeof Dimensions from './Libraries/Utilities/Dimensions';\nimport typeof Easing from './Libraries/Animated/Easing';\nimport typeof ReactNative from './Libraries/Renderer/shims/ReactNative';\nimport typeof I18nManager from './Libraries/ReactNative/I18nManager';\nimport typeof InteractionManager from './Libraries/Interaction/InteractionManager';\nimport typeof Keyboard from './Libraries/Components/Keyboard/Keyboard';\nimport typeof LayoutAnimation from './Libraries/LayoutAnimation/LayoutAnimation';\nimport typeof Linking from './Libraries/Linking/Linking';\nimport typeof LogBox from './Libraries/LogBox/LogBox';\nimport typeof NativeDialogManagerAndroid from './Libraries/NativeModules/specs/NativeDialogManagerAndroid';\nimport typeof NativeEventEmitter from './Libraries/EventEmitter/NativeEventEmitter';\nimport typeof Networking from './Libraries/Network/RCTNetworking';\nimport typeof PanResponder from './Libraries/Interaction/PanResponder';\nimport typeof PermissionsAndroid from './Libraries/PermissionsAndroid/PermissionsAndroid';\nimport typeof PixelRatio from './Libraries/Utilities/PixelRatio';\nimport typeof PushNotificationIOS from './Libraries/PushNotificationIOS/PushNotificationIOS';\nimport typeof Settings from './Libraries/Settings/Settings';\nimport typeof Share from './Libraries/Share/Share';\nimport typeof StyleSheet from './Libraries/StyleSheet/StyleSheet';\nimport typeof * as Systrace from './Libraries/Performance/Systrace';\nimport typeof ToastAndroid from './Libraries/Components/ToastAndroid/ToastAndroid';\nimport typeof * as TurboModuleRegistry from './Libraries/TurboModule/TurboModuleRegistry';\nimport typeof UIManager from './Libraries/ReactNative/UIManager';\nimport typeof useAnimatedValue from './Libraries/Animated/useAnimatedValue';\nimport typeof useColorScheme from './Libraries/Utilities/useColorScheme';\nimport typeof useWindowDimensions from './Libraries/Utilities/useWindowDimensions';\nimport typeof UTFSequence from './Libraries/UTFSequence';\nimport typeof Vibration from './Libraries/Vibration/Vibration';\nimport typeof YellowBox from './Libraries/YellowBox/YellowBoxDeprecated';\n\n// Plugins\nimport typeof {DynamicColorIOS} from './Libraries/StyleSheet/PlatformColorValueTypesIOS';\nimport typeof NativeModules from './Libraries/BatchedBridge/NativeModules';\nimport typeof Platform from './Libraries/Utilities/Platform';\nimport typeof {PlatformColor} from './Libraries/StyleSheet/PlatformColorValueTypes';\nimport typeof processColor from './Libraries/StyleSheet/processColor';\nimport typeof RCTDeviceEventEmitter from './Libraries/EventEmitter/RCTDeviceEventEmitter';\nimport typeof RCTNativeAppEventEmitter from './Libraries/EventEmitter/RCTNativeAppEventEmitter';\nimport typeof {RootTagContext} from './Libraries/ReactNative/RootTag';\n\nimport type {HostComponent as _HostComponentInternal} from './Libraries/Renderer/shims/ReactNativeTypes';\n\nexport type HostComponent = _HostComponentInternal;\n\nconst invariant = require('invariant');\nconst warnOnce = require('./Libraries/Utilities/warnOnce');\n\nmodule.exports = {\n // Components\n get AccessibilityInfo(): AccessibilityInfo {\n return require('./Libraries/Components/AccessibilityInfo/AccessibilityInfo')\n .default;\n },\n get ActivityIndicator(): ActivityIndicator {\n return require('./Libraries/Components/ActivityIndicator/ActivityIndicator')\n .default;\n },\n get Button(): Button {\n return require('./Libraries/Components/Button');\n },\n // $FlowFixMe[value-as-type]\n get DrawerLayoutAndroid(): DrawerLayoutAndroid {\n return require('./Libraries/Components/DrawerAndroid/DrawerLayoutAndroid');\n },\n get FlatList(): FlatList {\n return require('./Libraries/Lists/FlatList');\n },\n get Image(): Image {\n return require('./Libraries/Image/Image');\n },\n get ImageBackground(): ImageBackground {\n return require('./Libraries/Image/ImageBackground');\n },\n get InputAccessoryView(): InputAccessoryView {\n return require('./Libraries/Components/TextInput/InputAccessoryView');\n },\n get KeyboardAvoidingView(): KeyboardAvoidingView {\n return require('./Libraries/Components/Keyboard/KeyboardAvoidingView')\n .default;\n },\n get Modal(): Modal {\n return require('./Libraries/Modal/Modal');\n },\n get Pressable(): Pressable {\n return require('./Libraries/Components/Pressable/Pressable').default;\n },\n // $FlowFixMe[value-as-type]\n get ProgressBarAndroid(): ProgressBarAndroid {\n warnOnce(\n 'progress-bar-android-moved',\n 'ProgressBarAndroid has been extracted from react-native core and will be removed in a future release. ' +\n \"It can now be installed and imported from '@react-native-community/progress-bar-android' instead of 'react-native'. \" +\n 'See https://github.com/react-native-progress-view/progress-bar-android',\n );\n return require('./Libraries/Components/ProgressBarAndroid/ProgressBarAndroid');\n },\n get RefreshControl(): RefreshControl {\n return require('./Libraries/Components/RefreshControl/RefreshControl');\n },\n get SafeAreaView(): SafeAreaView {\n return require('./Libraries/Components/SafeAreaView/SafeAreaView').default;\n },\n get ScrollView(): ScrollView {\n return require('./Libraries/Components/ScrollView/ScrollView');\n },\n get SectionList(): SectionList {\n return require('./Libraries/Lists/SectionList').default;\n },\n get StatusBar(): StatusBar {\n return require('./Libraries/Components/StatusBar/StatusBar');\n },\n get Switch(): Switch {\n return require('./Libraries/Components/Switch/Switch').default;\n },\n get Text(): Text {\n return require('./Libraries/Text/Text');\n },\n get TextInput(): TextInput {\n return require('./Libraries/Components/TextInput/TextInput');\n },\n get Touchable(): Touchable {\n return require('./Libraries/Components/Touchable/Touchable');\n },\n get TouchableHighlight(): TouchableHighlight {\n return require('./Libraries/Components/Touchable/TouchableHighlight');\n },\n get TouchableNativeFeedback(): TouchableNativeFeedback {\n return require('./Libraries/Components/Touchable/TouchableNativeFeedback');\n },\n get TouchableOpacity(): TouchableOpacity {\n return require('./Libraries/Components/Touchable/TouchableOpacity');\n },\n get TouchableWithoutFeedback(): TouchableWithoutFeedback {\n return require('./Libraries/Components/Touchable/TouchableWithoutFeedback');\n },\n get View(): View {\n return require('./Libraries/Components/View/View');\n },\n get VirtualizedList(): VirtualizedList {\n return require('./Libraries/Lists/VirtualizedList');\n },\n get VirtualizedSectionList(): VirtualizedSectionList {\n return require('./Libraries/Lists/VirtualizedSectionList');\n },\n\n // APIs\n get ActionSheetIOS(): ActionSheetIOS {\n return require('./Libraries/ActionSheetIOS/ActionSheetIOS');\n },\n get Alert(): Alert {\n return require('./Libraries/Alert/Alert');\n },\n // Include any types exported in the Animated module together with its default export, so\n // you can references types such as Animated.Numeric\n get Animated(): {...$Diff, ...Animated} {\n // $FlowExpectedError[prop-missing]: we only return the default export, all other exports are types\n return require('./Libraries/Animated/Animated').default;\n },\n get Appearance(): Appearance {\n return require('./Libraries/Utilities/Appearance');\n },\n get AppRegistry(): AppRegistry {\n return require('./Libraries/ReactNative/AppRegistry');\n },\n get AppState(): AppState {\n return require('./Libraries/AppState/AppState');\n },\n get BackHandler(): BackHandler {\n return require('./Libraries/Utilities/BackHandler');\n },\n get Clipboard(): Clipboard {\n warnOnce(\n 'clipboard-moved',\n 'Clipboard has been extracted from react-native core and will be removed in a future release. ' +\n \"It can now be installed and imported from '@react-native-clipboard/clipboard' instead of 'react-native'. \" +\n 'See https://github.com/react-native-clipboard/clipboard',\n );\n return require('./Libraries/Components/Clipboard/Clipboard');\n },\n get DeviceInfo(): DeviceInfo {\n return require('./Libraries/Utilities/DeviceInfo');\n },\n get DevSettings(): DevSettings {\n return require('./Libraries/Utilities/DevSettings');\n },\n get Dimensions(): Dimensions {\n return require('./Libraries/Utilities/Dimensions').default;\n },\n get Easing(): Easing {\n return require('./Libraries/Animated/Easing').default;\n },\n get findNodeHandle(): $PropertyType {\n return require('./Libraries/ReactNative/RendererProxy').findNodeHandle;\n },\n get I18nManager(): I18nManager {\n return require('./Libraries/ReactNative/I18nManager');\n },\n get InteractionManager(): InteractionManager {\n return require('./Libraries/Interaction/InteractionManager');\n },\n get Keyboard(): Keyboard {\n return require('./Libraries/Components/Keyboard/Keyboard');\n },\n get LayoutAnimation(): LayoutAnimation {\n return require('./Libraries/LayoutAnimation/LayoutAnimation');\n },\n get Linking(): Linking {\n return require('./Libraries/Linking/Linking');\n },\n get LogBox(): LogBox {\n return require('./Libraries/LogBox/LogBox').default;\n },\n get NativeDialogManagerAndroid(): NativeDialogManagerAndroid {\n return require('./Libraries/NativeModules/specs/NativeDialogManagerAndroid')\n .default;\n },\n get NativeEventEmitter(): NativeEventEmitter {\n return require('./Libraries/EventEmitter/NativeEventEmitter').default;\n },\n get Networking(): Networking {\n return require('./Libraries/Network/RCTNetworking').default;\n },\n get PanResponder(): PanResponder {\n return require('./Libraries/Interaction/PanResponder').default;\n },\n get PermissionsAndroid(): PermissionsAndroid {\n return require('./Libraries/PermissionsAndroid/PermissionsAndroid');\n },\n get PixelRatio(): PixelRatio {\n return require('./Libraries/Utilities/PixelRatio').default;\n },\n get PushNotificationIOS(): PushNotificationIOS {\n warnOnce(\n 'pushNotificationIOS-moved',\n 'PushNotificationIOS has been extracted from react-native core and will be removed in a future release. ' +\n \"It can now be installed and imported from '@react-native-community/push-notification-ios' instead of 'react-native'. \" +\n 'See https://github.com/react-native-push-notification-ios/push-notification-ios',\n );\n return require('./Libraries/PushNotificationIOS/PushNotificationIOS');\n },\n get Settings(): Settings {\n return require('./Libraries/Settings/Settings');\n },\n get Share(): Share {\n return require('./Libraries/Share/Share');\n },\n get StyleSheet(): StyleSheet {\n return require('./Libraries/StyleSheet/StyleSheet');\n },\n get Systrace(): Systrace {\n return require('./Libraries/Performance/Systrace');\n },\n // $FlowFixMe[value-as-type]\n get ToastAndroid(): ToastAndroid {\n return require('./Libraries/Components/ToastAndroid/ToastAndroid');\n },\n get TurboModuleRegistry(): TurboModuleRegistry {\n return require('./Libraries/TurboModule/TurboModuleRegistry');\n },\n get UIManager(): UIManager {\n return require('./Libraries/ReactNative/UIManager');\n },\n get unstable_batchedUpdates(): $PropertyType<\n ReactNative,\n 'unstable_batchedUpdates',\n > {\n return require('./Libraries/ReactNative/RendererProxy')\n .unstable_batchedUpdates;\n },\n get useAnimatedValue(): useAnimatedValue {\n return require('./Libraries/Animated/useAnimatedValue').default;\n },\n get useColorScheme(): useColorScheme {\n return require('./Libraries/Utilities/useColorScheme').default;\n },\n get useWindowDimensions(): useWindowDimensions {\n return require('./Libraries/Utilities/useWindowDimensions').default;\n },\n get UTFSequence(): UTFSequence {\n return require('./Libraries/UTFSequence').default;\n },\n get Vibration(): Vibration {\n return require('./Libraries/Vibration/Vibration');\n },\n get YellowBox(): YellowBox {\n return require('./Libraries/YellowBox/YellowBoxDeprecated');\n },\n\n // Plugins\n get DeviceEventEmitter(): RCTDeviceEventEmitter {\n return require('./Libraries/EventEmitter/RCTDeviceEventEmitter').default;\n },\n get DynamicColorIOS(): DynamicColorIOS {\n return require('./Libraries/StyleSheet/PlatformColorValueTypesIOS')\n .DynamicColorIOS;\n },\n get NativeAppEventEmitter(): RCTNativeAppEventEmitter {\n return require('./Libraries/EventEmitter/RCTNativeAppEventEmitter');\n },\n get NativeModules(): NativeModules {\n return require('./Libraries/BatchedBridge/NativeModules');\n },\n get Platform(): Platform {\n return require('./Libraries/Utilities/Platform');\n },\n get PlatformColor(): PlatformColor {\n return require('./Libraries/StyleSheet/PlatformColorValueTypes')\n .PlatformColor;\n },\n get processColor(): processColor {\n return require('./Libraries/StyleSheet/processColor').default;\n },\n get requireNativeComponent(): (\n uiViewClassName: string,\n ) => HostComponent {\n return require('./Libraries/ReactNative/requireNativeComponent').default;\n },\n get RootTagContext(): RootTagContext {\n return require('./Libraries/ReactNative/RootTag').RootTagContext;\n },\n get unstable_enableLogBox(): () => void {\n return () =>\n console.warn(\n 'LogBox is enabled by default so there is no need to call unstable_enableLogBox() anymore. This is a no op and will be removed in the next version.',\n );\n },\n // Deprecated Prop Types\n get ColorPropType(): $FlowFixMe {\n console.error(\n 'ColorPropType will be removed from React Native, along with all ' +\n 'other PropTypes. We recommend that you migrate away from PropTypes ' +\n 'and switch to a type system like TypeScript. If you need to ' +\n 'continue using ColorPropType, migrate to the ' +\n \"'deprecated-react-native-prop-types' package.\",\n );\n return require('deprecated-react-native-prop-types').ColorPropType;\n },\n get EdgeInsetsPropType(): $FlowFixMe {\n console.error(\n 'EdgeInsetsPropType will be removed from React Native, along with all ' +\n 'other PropTypes. We recommend that you migrate away from PropTypes ' +\n 'and switch to a type system like TypeScript. If you need to ' +\n 'continue using EdgeInsetsPropType, migrate to the ' +\n \"'deprecated-react-native-prop-types' package.\",\n );\n return require('deprecated-react-native-prop-types').EdgeInsetsPropType;\n },\n get PointPropType(): $FlowFixMe {\n console.error(\n 'PointPropType will be removed from React Native, along with all ' +\n 'other PropTypes. We recommend that you migrate away from PropTypes ' +\n 'and switch to a type system like TypeScript. If you need to ' +\n 'continue using PointPropType, migrate to the ' +\n \"'deprecated-react-native-prop-types' package.\",\n );\n return require('deprecated-react-native-prop-types').PointPropType;\n },\n get ViewPropTypes(): $FlowFixMe {\n console.error(\n 'ViewPropTypes will be removed from React Native, along with all ' +\n 'other PropTypes. We recommend that you migrate away from PropTypes ' +\n 'and switch to a type system like TypeScript. If you need to ' +\n 'continue using ViewPropTypes, migrate to the ' +\n \"'deprecated-react-native-prop-types' package.\",\n );\n return require('deprecated-react-native-prop-types').ViewPropTypes;\n },\n};\n\nif (__DEV__) {\n /* $FlowFixMe[prop-missing] This is intentional: Flow will error when\n * attempting to access ART. */\n /* $FlowFixMe[invalid-export] This is intentional: Flow will error when\n * attempting to access ART. */\n Object.defineProperty(module.exports, 'ART', {\n configurable: true,\n get() {\n invariant(\n false,\n 'ART has been removed from React Native. ' +\n \"It can now be installed and imported from '@react-native-community/art' instead of 'react-native'. \" +\n 'See https://github.com/react-native-art/art',\n );\n },\n });\n\n /* $FlowFixMe[prop-missing] This is intentional: Flow will error when\n * attempting to access ListView. */\n /* $FlowFixMe[invalid-export] This is intentional: Flow will error when\n * attempting to access ListView. */\n Object.defineProperty(module.exports, 'ListView', {\n configurable: true,\n get() {\n invariant(\n false,\n 'ListView has been removed from React Native. ' +\n 'See https://fb.me/nolistview for more information or use ' +\n '`deprecated-react-native-listview`.',\n );\n },\n });\n\n /* $FlowFixMe[prop-missing] This is intentional: Flow will error when\n * attempting to access SwipeableListView. */\n /* $FlowFixMe[invalid-export] This is intentional: Flow will error when\n * attempting to access SwipeableListView. */\n Object.defineProperty(module.exports, 'SwipeableListView', {\n configurable: true,\n get() {\n invariant(\n false,\n 'SwipeableListView has been removed from React Native. ' +\n 'See https://fb.me/nolistview for more information or use ' +\n '`deprecated-react-native-swipeable-listview`.',\n );\n },\n });\n\n /* $FlowFixMe[prop-missing] This is intentional: Flow will error when\n * attempting to access WebView. */\n /* $FlowFixMe[invalid-export] This is intentional: Flow will error when\n * attempting to access WebView. */\n Object.defineProperty(module.exports, 'WebView', {\n configurable: true,\n get() {\n invariant(\n false,\n 'WebView has been removed from React Native. ' +\n \"It can now be installed and imported from 'react-native-webview' instead of 'react-native'. \" +\n 'See https://github.com/react-native-webview/react-native-webview',\n );\n },\n });\n\n /* $FlowFixMe[prop-missing] This is intentional: Flow will error when\n * attempting to access NetInfo. */\n /* $FlowFixMe[invalid-export] This is intentional: Flow will error when\n * attempting to access NetInfo. */\n Object.defineProperty(module.exports, 'NetInfo', {\n configurable: true,\n get() {\n invariant(\n false,\n 'NetInfo has been removed from React Native. ' +\n \"It can now be installed and imported from '@react-native-community/netinfo' instead of 'react-native'. \" +\n 'See https://github.com/react-native-netinfo/react-native-netinfo',\n );\n },\n });\n\n /* $FlowFixMe[prop-missing] This is intentional: Flow will error when\n * attempting to access CameraRoll. */\n /* $FlowFixMe[invalid-export] This is intentional: Flow will error when\n * attempting to access CameraRoll. */\n Object.defineProperty(module.exports, 'CameraRoll', {\n configurable: true,\n get() {\n invariant(\n false,\n 'CameraRoll has been removed from React Native. ' +\n \"It can now be installed and imported from '@react-native-community/cameraroll' instead of 'react-native'. \" +\n 'See https://github.com/react-native-cameraroll/react-native-cameraroll',\n );\n },\n });\n\n /* $FlowFixMe[prop-missing] This is intentional: Flow will error when\n * attempting to access ImageStore. */\n /* $FlowFixMe[invalid-export] This is intentional: Flow will error when\n * attempting to access ImageStore. */\n Object.defineProperty(module.exports, 'ImageStore', {\n configurable: true,\n get() {\n invariant(\n false,\n 'ImageStore has been removed from React Native. ' +\n 'To get a base64-encoded string from a local image use either of the following third-party libraries:' +\n \"* expo-file-system: `readAsStringAsync(filepath, 'base64')`\" +\n \"* react-native-fs: `readFile(filepath, 'base64')`\",\n );\n },\n });\n\n /* $FlowFixMe[prop-missing] This is intentional: Flow will error when\n * attempting to access ImageEditor. */\n /* $FlowFixMe[invalid-export] This is intentional: Flow will error when\n * attempting to access ImageEditor. */\n Object.defineProperty(module.exports, 'ImageEditor', {\n configurable: true,\n get() {\n invariant(\n false,\n 'ImageEditor has been removed from React Native. ' +\n \"It can now be installed and imported from '@react-native-community/image-editor' instead of 'react-native'. \" +\n 'See https://github.com/callstack/react-native-image-editor',\n );\n },\n });\n\n /* $FlowFixMe[prop-missing] This is intentional: Flow will error when\n * attempting to access TimePickerAndroid. */\n /* $FlowFixMe[invalid-export] This is intentional: Flow will error when\n * attempting to access TimePickerAndroid. */\n Object.defineProperty(module.exports, 'TimePickerAndroid', {\n configurable: true,\n get() {\n invariant(\n false,\n 'TimePickerAndroid has been removed from React Native. ' +\n \"It can now be installed and imported from '@react-native-community/datetimepicker' instead of 'react-native'. \" +\n 'See https://github.com/react-native-datetimepicker/datetimepicker',\n );\n },\n });\n\n /* $FlowFixMe[prop-missing] This is intentional: Flow will error when\n * attempting to access ToolbarAndroid. */\n /* $FlowFixMe[invalid-export] This is intentional: Flow will error when\n * attempting to access ToolbarAndroid. */\n Object.defineProperty(module.exports, 'ToolbarAndroid', {\n configurable: true,\n get() {\n invariant(\n false,\n 'ToolbarAndroid has been removed from React Native. ' +\n \"It can now be installed and imported from '@react-native-community/toolbar-android' instead of 'react-native'. \" +\n 'See https://github.com/react-native-toolbar-android/toolbar-android',\n );\n },\n });\n\n /* $FlowFixMe[prop-missing] This is intentional: Flow will error when\n * attempting to access ViewPagerAndroid. */\n /* $FlowFixMe[invalid-export] This is intentional: Flow will error when\n * attempting to access ViewPagerAndroid. */\n Object.defineProperty(module.exports, 'ViewPagerAndroid', {\n configurable: true,\n get() {\n invariant(\n false,\n 'ViewPagerAndroid has been removed from React Native. ' +\n \"It can now be installed and imported from 'react-native-pager-view' instead of 'react-native'. \" +\n 'See https://github.com/callstack/react-native-pager-view',\n );\n },\n });\n\n /* $FlowFixMe[prop-missing] This is intentional: Flow will error when\n * attempting to access CheckBox. */\n /* $FlowFixMe[invalid-export] This is intentional: Flow will error when\n * attempting to access CheckBox. */\n Object.defineProperty(module.exports, 'CheckBox', {\n configurable: true,\n get() {\n invariant(\n false,\n 'CheckBox has been removed from React Native. ' +\n \"It can now be installed and imported from '@react-native-community/checkbox' instead of 'react-native'. \" +\n 'See https://github.com/react-native-checkbox/react-native-checkbox',\n );\n },\n });\n\n /* $FlowFixMe[prop-missing] This is intentional: Flow will error when\n * attempting to access SegmentedControlIOS. */\n /* $FlowFixMe[invalid-export] This is intentional: Flow will error when\n * attempting to access SegmentedControlIOS. */\n Object.defineProperty(module.exports, 'SegmentedControlIOS', {\n configurable: true,\n get() {\n invariant(\n false,\n 'SegmentedControlIOS has been removed from React Native. ' +\n \"It can now be installed and imported from '@react-native-community/segmented-checkbox' instead of 'react-native'.\" +\n 'See https://github.com/react-native-segmented-control/segmented-control',\n );\n },\n });\n\n /* $FlowFixMe[prop-missing] This is intentional: Flow will error when\n * attempting to access StatusBarIOS. */\n /* $FlowFixMe[invalid-export] This is intentional: Flow will error when\n * attempting to access StatusBarIOS. */\n Object.defineProperty(module.exports, 'StatusBarIOS', {\n configurable: true,\n get() {\n invariant(\n false,\n 'StatusBarIOS has been removed from React Native. ' +\n 'Has been merged with StatusBar. ' +\n 'See https://reactnative.dev/docs/statusbar',\n );\n },\n });\n\n /* $FlowFixMe[prop-missing] This is intentional: Flow will error when\n * attempting to access PickerIOS. */\n /* $FlowFixMe[invalid-export] This is intentional: Flow will error when\n * attempting to access PickerIOS. */\n Object.defineProperty(module.exports, 'PickerIOS', {\n configurable: true,\n get() {\n invariant(\n false,\n 'PickerIOS has been removed from React Native. ' +\n \"It can now be installed and imported from '@react-native-picker/picker' instead of 'react-native'. \" +\n 'See https://github.com/react-native-picker/picker',\n );\n },\n });\n\n /* $FlowFixMe[prop-missing] This is intentional: Flow will error when\n * attempting to access Picker. */\n /* $FlowFixMe[invalid-export] This is intentional: Flow will error when\n * attempting to access Picker. */\n Object.defineProperty(module.exports, 'Picker', {\n configurable: true,\n get() {\n invariant(\n false,\n 'Picker has been removed from React Native. ' +\n \"It can now be installed and imported from '@react-native-picker/picker' instead of 'react-native'. \" +\n 'See https://github.com/react-native-picker/picker',\n );\n },\n });\n /* $FlowFixMe[prop-missing] This is intentional: Flow will error when\n * attempting to access DatePickerAndroid. */\n /* $FlowFixMe[invalid-export] This is intentional: Flow will error when\n * attempting to access DatePickerAndroid. */\n Object.defineProperty(module.exports, 'DatePickerAndroid', {\n configurable: true,\n get() {\n invariant(\n false,\n 'DatePickerAndroid has been removed from React Native. ' +\n \"It can now be installed and imported from '@react-native-community/datetimepicker' instead of 'react-native'. \" +\n 'See https://github.com/react-native-datetimepicker/datetimepicker',\n );\n },\n });\n /* $FlowFixMe[prop-missing] This is intentional: Flow will error when\n * attempting to access MaskedViewIOS. */\n /* $FlowFixMe[invalid-export] This is intentional: Flow will error when\n * attempting to access MaskedViewIOS. */\n Object.defineProperty(module.exports, 'MaskedViewIOS', {\n configurable: true,\n get() {\n invariant(\n false,\n 'MaskedViewIOS has been removed from React Native. ' +\n \"It can now be installed and imported from '@react-native-community/react-native-masked-view' instead of 'react-native'. \" +\n 'See https://github.com/react-native-masked-view/masked-view',\n );\n },\n });\n /* $FlowFixMe[prop-missing] This is intentional: Flow will error when\n * attempting to access AsyncStorage. */\n /* $FlowFixMe[invalid-export] This is intentional: Flow will error when\n * attempting to access AsyncStorage. */\n Object.defineProperty(module.exports, 'AsyncStorage', {\n configurable: true,\n get() {\n invariant(\n false,\n 'AsyncStorage has been removed from react-native core. ' +\n \"It can now be installed and imported from '@react-native-async-storage/async-storage' instead of 'react-native'. \" +\n 'See https://github.com/react-native-async-storage/async-storage',\n );\n },\n });\n /* $FlowFixMe[prop-missing] This is intentional: Flow will error when\n * attempting to access ImagePickerIOS. */\n /* $FlowFixMe[invalid-export] This is intentional: Flow will error when\n * attempting to access ImagePickerIOS. */\n Object.defineProperty(module.exports, 'ImagePickerIOS', {\n configurable: true,\n get() {\n invariant(\n false,\n 'ImagePickerIOS has been removed from React Native. ' +\n \"Please upgrade to use either '@react-native-community/react-native-image-picker' or 'expo-image-picker'. \" +\n \"If you cannot upgrade to a different library, please install the deprecated '@react-native-community/image-picker-ios' package. \" +\n 'See https://github.com/rnc-archive/react-native-image-picker-ios',\n );\n },\n });\n /* $FlowFixMe[prop-missing] This is intentional: Flow will error when\n * attempting to access ProgressViewIOS. */\n /* $FlowFixMe[invalid-export] This is intentional: Flow will error when\n * attempting to access ProgressViewIOS. */\n Object.defineProperty(module.exports, 'ProgressViewIOS', {\n configurable: true,\n get() {\n invariant(\n false,\n 'ProgressViewIOS has been removed from react-native core. ' +\n \"It can now be installed and imported from '@react-native-community/progress-view' instead of 'react-native'. \" +\n 'See https://github.com/react-native-progress-view/progress-view',\n );\n },\n });\n /* $FlowFixMe[prop-missing] This is intentional: Flow will error when\n * attempting to access DatePickerIOS. */\n /* $FlowFixMe[invalid-export] This is intentional: Flow will error when\n * attempting to access DatePickerIOS. */\n Object.defineProperty(module.exports, 'DatePickerIOS', {\n configurable: true,\n get() {\n invariant(\n false,\n 'DatePickerIOS has been removed from react-native core. ' +\n \"It can now be installed and imported from '@react-native-community/datetimepicker' instead of 'react-native'. \" +\n 'See https://github.com/react-native-datetimepicker/datetimepicker',\n );\n },\n });\n /* $FlowFixMe[prop-missing] This is intentional: Flow will error when\n * attempting to access Slider. */\n /* $FlowFixMe[invalid-export] This is intentional: Flow will error when\n * attempting to access Slider. */\n Object.defineProperty(module.exports, 'Slider', {\n configurable: true,\n get() {\n invariant(\n false,\n 'Slider has been removed from react-native core. ' +\n \"It can now be installed and imported from '@react-native-community/slider' instead of 'react-native'. \" +\n 'See https://github.com/callstack/react-native-slider',\n );\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 * @flow strict-local\n * @format\n */\n\nimport type {HostComponent} from '../../Renderer/shims/ReactNativeTypes';\nimport type {EventSubscription} from '../../vendor/emitter/EventEmitter';\nimport type {ElementRef} from 'react';\n\nimport RCTDeviceEventEmitter from '../../EventEmitter/RCTDeviceEventEmitter';\nimport {sendAccessibilityEvent} from '../../ReactNative/RendererProxy';\nimport Platform from '../../Utilities/Platform';\nimport legacySendAccessibilityEvent from './legacySendAccessibilityEvent';\nimport NativeAccessibilityInfoAndroid from './NativeAccessibilityInfo';\nimport NativeAccessibilityManagerIOS from './NativeAccessibilityManager';\n\n// Events that are only supported on Android.\ntype AccessibilityEventDefinitionsAndroid = {\n accessibilityServiceChanged: [boolean],\n};\n\n// Events that are only supported on iOS.\ntype AccessibilityEventDefinitionsIOS = {\n announcementFinished: [{announcement: string, success: boolean}],\n boldTextChanged: [boolean],\n grayscaleChanged: [boolean],\n invertColorsChanged: [boolean],\n reduceTransparencyChanged: [boolean],\n};\n\ntype AccessibilityEventDefinitions = {\n ...AccessibilityEventDefinitionsAndroid,\n ...AccessibilityEventDefinitionsIOS,\n change: [boolean], // screenReaderChanged\n reduceMotionChanged: [boolean],\n screenReaderChanged: [boolean],\n};\n\ntype AccessibilityEventTypes = 'click' | 'focus' | 'viewHoverEnter';\n\n// Mapping of public event names to platform-specific event names.\nconst EventNames: Map<\n $Keys,\n string,\n> = Platform.OS === 'android'\n ? new Map([\n ['change', 'touchExplorationDidChange'],\n ['reduceMotionChanged', 'reduceMotionDidChange'],\n ['screenReaderChanged', 'touchExplorationDidChange'],\n ['accessibilityServiceChanged', 'accessibilityServiceDidChange'],\n ])\n : new Map([\n ['announcementFinished', 'announcementFinished'],\n ['boldTextChanged', 'boldTextChanged'],\n ['change', 'screenReaderChanged'],\n ['grayscaleChanged', 'grayscaleChanged'],\n ['invertColorsChanged', 'invertColorsChanged'],\n ['reduceMotionChanged', 'reduceMotionChanged'],\n ['reduceTransparencyChanged', 'reduceTransparencyChanged'],\n ['screenReaderChanged', 'screenReaderChanged'],\n ]);\n\n/**\n * Sometimes it's useful to know whether or not the device has a screen reader\n * that is currently active. The `AccessibilityInfo` API is designed for this\n * purpose. You can use it to query the current state of the screen reader as\n * well as to register to be notified when the state of the screen reader\n * changes.\n *\n * See https://reactnative.dev/docs/accessibilityinfo\n */\nconst AccessibilityInfo = {\n /**\n * Query whether bold text is currently enabled.\n *\n * Returns a promise which resolves to a boolean.\n * The result is `true` when bold text is enabled and `false` otherwise.\n *\n * See https://reactnative.dev/docs/accessibilityinfo#isBoldTextEnabled\n */\n isBoldTextEnabled(): Promise {\n if (Platform.OS === 'android') {\n return Promise.resolve(false);\n } else {\n return new Promise((resolve, reject) => {\n if (NativeAccessibilityManagerIOS != null) {\n NativeAccessibilityManagerIOS.getCurrentBoldTextState(\n resolve,\n reject,\n );\n } else {\n reject(null);\n }\n });\n }\n },\n\n /**\n * Query whether grayscale is currently enabled.\n *\n * Returns a promise which resolves to a boolean.\n * The result is `true` when grayscale is enabled and `false` otherwise.\n *\n * See https://reactnative.dev/docs/accessibilityinfo#isGrayscaleEnabled\n */\n isGrayscaleEnabled(): Promise {\n if (Platform.OS === 'android') {\n return Promise.resolve(false);\n } else {\n return new Promise((resolve, reject) => {\n if (NativeAccessibilityManagerIOS != null) {\n NativeAccessibilityManagerIOS.getCurrentGrayscaleState(\n resolve,\n reject,\n );\n } else {\n reject(null);\n }\n });\n }\n },\n\n /**\n * Query whether inverted colors are currently enabled.\n *\n * Returns a promise which resolves to a boolean.\n * The result is `true` when invert color is enabled and `false` otherwise.\n *\n * See https://reactnative.dev/docs/accessibilityinfo#isInvertColorsEnabled\n */\n isInvertColorsEnabled(): Promise {\n if (Platform.OS === 'android') {\n return Promise.resolve(false);\n } else {\n return new Promise((resolve, reject) => {\n if (NativeAccessibilityManagerIOS != null) {\n NativeAccessibilityManagerIOS.getCurrentInvertColorsState(\n resolve,\n reject,\n );\n } else {\n reject(null);\n }\n });\n }\n },\n\n /**\n * Query whether reduced motion is currently enabled.\n *\n * Returns a promise which resolves to a boolean.\n * The result is `true` when a reduce motion is enabled and `false` otherwise.\n *\n * See https://reactnative.dev/docs/accessibilityinfo#isReduceMotionEnabled\n */\n isReduceMotionEnabled(): Promise {\n return new Promise((resolve, reject) => {\n if (Platform.OS === 'android') {\n if (NativeAccessibilityInfoAndroid != null) {\n NativeAccessibilityInfoAndroid.isReduceMotionEnabled(resolve);\n } else {\n reject(null);\n }\n } else {\n if (NativeAccessibilityManagerIOS != null) {\n NativeAccessibilityManagerIOS.getCurrentReduceMotionState(\n resolve,\n reject,\n );\n } else {\n reject(null);\n }\n }\n });\n },\n\n /**\n * Query whether reduce motion and prefer cross-fade transitions settings are currently enabled.\n *\n * Returns a promise which resolves to a boolean.\n * The result is `true` when prefer cross-fade transitions is enabled and `false` otherwise.\n *\n * See https://reactnative.dev/docs/accessibilityinfo#prefersCrossFadeTransitions\n */\n prefersCrossFadeTransitions(): Promise {\n return new Promise((resolve, reject) => {\n if (Platform.OS === 'android') {\n return Promise.resolve(false);\n } else {\n if (\n NativeAccessibilityManagerIOS?.getCurrentPrefersCrossFadeTransitionsState !=\n null\n ) {\n NativeAccessibilityManagerIOS.getCurrentPrefersCrossFadeTransitionsState(\n resolve,\n reject,\n );\n } else {\n reject(null);\n }\n }\n });\n },\n\n /**\n * Query whether reduced transparency is currently enabled.\n *\n * Returns a promise which resolves to a boolean.\n * The result is `true` when a reduce transparency is enabled and `false` otherwise.\n *\n * See https://reactnative.dev/docs/accessibilityinfo#isReduceTransparencyEnabled\n */\n isReduceTransparencyEnabled(): Promise {\n if (Platform.OS === 'android') {\n return Promise.resolve(false);\n } else {\n return new Promise((resolve, reject) => {\n if (NativeAccessibilityManagerIOS != null) {\n NativeAccessibilityManagerIOS.getCurrentReduceTransparencyState(\n resolve,\n reject,\n );\n } else {\n reject(null);\n }\n });\n }\n },\n\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 * See https://reactnative.dev/docs/accessibilityinfo#isScreenReaderEnabled\n */\n isScreenReaderEnabled(): Promise {\n return new Promise((resolve, reject) => {\n if (Platform.OS === 'android') {\n if (NativeAccessibilityInfoAndroid != null) {\n NativeAccessibilityInfoAndroid.isTouchExplorationEnabled(resolve);\n } else {\n reject(null);\n }\n } else {\n if (NativeAccessibilityManagerIOS != null) {\n NativeAccessibilityManagerIOS.getCurrentVoiceOverState(\n resolve,\n reject,\n );\n } else {\n reject(null);\n }\n }\n });\n },\n\n /**\n * Query whether Accessibility Service is currently enabled.\n *\n * Returns a promise which resolves to a boolean.\n * The result is `true` when any service is enabled and `false` otherwise.\n *\n * @platform android\n *\n * See https://reactnative.dev/docs/accessibilityinfo/#isaccessibilityserviceenabled-android\n */\n isAccessibilityServiceEnabled(): Promise {\n return new Promise((resolve, reject) => {\n if (Platform.OS === 'android') {\n if (\n NativeAccessibilityInfoAndroid != null &&\n NativeAccessibilityInfoAndroid.isAccessibilityServiceEnabled != null\n ) {\n NativeAccessibilityInfoAndroid.isAccessibilityServiceEnabled(resolve);\n } else {\n reject(null);\n }\n } else {\n reject(null);\n }\n });\n },\n\n /**\n * Add an event handler. Supported events:\n *\n * - `reduceMotionChanged`: Fires when the state of the reduce motion toggle changes.\n * The argument to the event handler is a boolean. The boolean is `true` when a reduce\n * motion is enabled (or when \"Transition Animation Scale\" in \"Developer options\" is\n * \"Animation off\") and `false` otherwise.\n * - `screenReaderChanged`: Fires when the state of the screen reader changes. The argument\n * to the event handler is a boolean. The boolean is `true` when a screen\n * reader is enabled and `false` otherwise.\n *\n * These events are only supported on iOS:\n *\n * - `boldTextChanged`: iOS-only event. Fires when the state of the bold text toggle changes.\n * The argument to the event handler is a boolean. The boolean is `true` when a bold text\n * is enabled and `false` otherwise.\n * - `grayscaleChanged`: iOS-only event. Fires when the state of the gray scale toggle changes.\n * The argument to the event handler is a boolean. The boolean is `true` when a gray scale\n * is enabled and `false` otherwise.\n * - `invertColorsChanged`: iOS-only event. Fires when the state of the invert colors toggle\n * changes. The argument to the event handler is a boolean. The boolean is `true` when a invert\n * colors is enabled and `false` otherwise.\n * - `reduceTransparencyChanged`: iOS-only event. Fires when the state of the reduce transparency\n * toggle changes. The argument to the event handler is a boolean. The boolean is `true`\n * when a reduce transparency is enabled and `false` otherwise.\n * - `announcementFinished`: iOS-only event. Fires when the screen reader has\n * finished making an announcement. The argument to the event handler is a\n * dictionary with these keys:\n * - `announcement`: The string announced by the screen reader.\n * - `success`: A boolean indicating whether the announcement was\n * successfully made.\n *\n * See https://reactnative.dev/docs/accessibilityinfo#addeventlistener\n */\n addEventListener>(\n eventName: K,\n // $FlowIssue[incompatible-type] - Flow bug with unions and generics (T128099423)\n handler: (...$ElementType) => void,\n ): EventSubscription {\n const deviceEventName = EventNames.get(eventName);\n return deviceEventName == null\n ? {remove(): void {}}\n : // $FlowFixMe[incompatible-call]\n RCTDeviceEventEmitter.addListener(deviceEventName, handler);\n },\n\n /**\n * Set accessibility focus to a React component.\n *\n * See https://reactnative.dev/docs/accessibilityinfo#setaccessibilityfocus\n */\n setAccessibilityFocus(reactTag: number): void {\n legacySendAccessibilityEvent(reactTag, 'focus');\n },\n\n /**\n * Send a named accessibility event to a HostComponent.\n */\n sendAccessibilityEvent(\n handle: ElementRef>,\n eventType: AccessibilityEventTypes,\n ) {\n // iOS only supports 'focus' event types\n if (Platform.OS === 'ios' && eventType === 'click') {\n return;\n }\n // route through React renderer to distinguish between Fabric and non-Fabric handles\n sendAccessibilityEvent(handle, eventType);\n },\n\n /**\n * Post a string to be announced by the screen reader.\n *\n * See https://reactnative.dev/docs/accessibilityinfo#announceforaccessibility\n */\n announceForAccessibility(announcement: string): void {\n if (Platform.OS === 'android') {\n NativeAccessibilityInfoAndroid?.announceForAccessibility(announcement);\n } else {\n NativeAccessibilityManagerIOS?.announceForAccessibility(announcement);\n }\n },\n\n /**\n * Post a string to be announced by the screen reader.\n * - `announcement`: The string announced by the screen reader.\n * - `options`: An object that configures the reading options.\n * - `queue`: The announcement will be queued behind existing announcements. iOS only.\n */\n announceForAccessibilityWithOptions(\n announcement: string,\n options: {queue?: boolean},\n ): void {\n if (Platform.OS === 'android') {\n NativeAccessibilityInfoAndroid?.announceForAccessibility(announcement);\n } else {\n if (NativeAccessibilityManagerIOS?.announceForAccessibilityWithOptions) {\n NativeAccessibilityManagerIOS?.announceForAccessibilityWithOptions(\n announcement,\n options,\n );\n } else {\n NativeAccessibilityManagerIOS?.announceForAccessibility(announcement);\n }\n }\n },\n\n /**\n * Get the recommended timeout for changes to the UI needed by this user.\n *\n * See https://reactnative.dev/docs/accessibilityinfo#getrecommendedtimeoutmillis\n */\n getRecommendedTimeoutMillis(originalTimeout: number): Promise {\n if (Platform.OS === 'android') {\n return new Promise((resolve, reject) => {\n if (NativeAccessibilityInfoAndroid?.getRecommendedTimeoutMillis) {\n NativeAccessibilityInfoAndroid.getRecommendedTimeoutMillis(\n originalTimeout,\n resolve,\n );\n } else {\n resolve(originalTimeout);\n }\n });\n } else {\n return Promise.resolve(originalTimeout);\n }\n },\n};\n\nexport default AccessibilityInfo;\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 * @flow strict\n * @format\n */\n\nimport type {IEventEmitter} from '../vendor/emitter/EventEmitter';\n\nimport {beginEvent, endEvent} from '../Performance/Systrace';\nimport EventEmitter from '../vendor/emitter/EventEmitter';\n\n// FIXME: use typed events\ntype RCTDeviceEventDefinitions = $FlowFixMe;\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 */\nclass RCTDeviceEventEmitter extends EventEmitter {\n // Add systrace to RCTDeviceEventEmitter.emit method for debugging\n emit>(\n eventType: TEvent,\n ...args: RCTDeviceEventDefinitions[TEvent]\n ): void {\n beginEvent(() => `RCTDeviceEventEmitter.emit#${eventType}`);\n super.emit(eventType, ...args);\n endEvent();\n }\n}\nconst instance = new RCTDeviceEventEmitter();\n\nObject.defineProperty(global, '__rctDeviceEventEmitter', {\n configurable: true,\n value: instance,\n});\n\nexport default (instance: IEventEmitter);\n","var superPropBase = require(\"./superPropBase.js\");\nfunction _get() {\n if (typeof Reflect !== \"undefined\" && Reflect.get) {\n module.exports = _get = Reflect.get.bind(), module.exports.__esModule = true, module.exports[\"default\"] = module.exports;\n } else {\n module.exports = _get = function _get(target, property, receiver) {\n var base = superPropBase(target, property);\n if (!base) return;\n var desc = Object.getOwnPropertyDescriptor(base, property);\n if (desc.get) {\n return desc.get.call(arguments.length < 3 ? target : receiver);\n }\n return desc.value;\n }, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;\n }\n return _get.apply(this, arguments);\n}\nmodule.exports = _get, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var getPrototypeOf = require(\"./getPrototypeOf.js\");\nfunction _superPropBase(object, property) {\n while (!Object.prototype.hasOwnProperty.call(object, property)) {\n object = getPrototypeOf(object);\n if (object === null) break;\n }\n return object;\n}\nmodule.exports = _superPropBase, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @flow strict\n * @format\n */\n\nexport interface EventSubscription {\n remove(): void;\n}\n\nexport interface IEventEmitter {\n addListener>(\n eventType: TEvent,\n listener: (...args: TEventToArgsMap[TEvent]) => mixed,\n context?: mixed,\n ): EventSubscription;\n\n emit>(\n eventType: TEvent,\n ...args: TEventToArgsMap[TEvent]\n ): void;\n\n removeAllListeners>(eventType?: ?TEvent): void;\n\n listenerCount>(eventType: TEvent): number;\n}\n\ninterface Registration {\n +context: mixed;\n +listener: (...args: TArgs) => mixed;\n +remove: () => void;\n}\n\ntype Registry = $ObjMap<\n TEventToArgsMap,\n (TArgs) => Set>,\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 implements IEventEmitter\n{\n #registry: 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>(\n eventType: TEvent,\n listener: (...args: TEventToArgsMap[TEvent]) => mixed,\n context: mixed,\n ): EventSubscription {\n if (typeof listener !== 'function') {\n throw new TypeError(\n 'EventEmitter.addListener(...): 2nd argument must be a function.',\n );\n }\n const registrations = allocate<\n TEventToArgsMap,\n TEvent,\n TEventToArgsMap[TEvent],\n >(this.#registry, eventType);\n const registration: Registration = {\n context,\n listener,\n remove(): void {\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>(\n eventType: TEvent,\n ...args: TEventToArgsMap[TEvent]\n ): void {\n const registrations: ?Set> =\n this.#registry[eventType];\n if (registrations != null) {\n // Copy `registrations` to take a snapshot when we invoke `emit`, in case\n // registrations are added or removed when listeners are invoked.\n for (const registration of Array.from(registrations)) {\n registration.listener.apply(registration.context, args);\n }\n }\n }\n\n /**\n * Removes all registered listeners.\n */\n removeAllListeners>(\n eventType?: ?TEvent,\n ): void {\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: TEvent): number {\n const registrations: ?Set> = this.#registry[eventType];\n return registrations == null ? 0 : registrations.size;\n }\n}\n\nfunction allocate<\n TEventToArgsMap: {...},\n TEvent: $Keys,\n TEventArgs: TEventToArgsMap[TEvent],\n>(\n registry: Registry,\n eventType: TEvent,\n): Set> {\n let registrations: ?Set> = registry[eventType];\n if (registrations == null) {\n registrations = new Set();\n registry[eventType] = registrations;\n }\n return registrations;\n}\n","function _classPrivateFieldBase(receiver, privateKey) {\n if (!Object.prototype.hasOwnProperty.call(receiver, privateKey)) {\n throw new TypeError(\"attempted to use private field on non-instance\");\n }\n return receiver;\n}\nmodule.exports = _classPrivateFieldBase, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var id = 0;\nfunction _classPrivateFieldKey(name) {\n return \"__private_\" + id++ + \"_\" + name;\n}\nmodule.exports = _classPrivateFieldKey, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @flow strict\n * @format\n */\n\nimport typeof * as SystraceModule from './Systrace';\n\nconst TRACE_TAG_REACT_APPS = 1 << 17; // eslint-disable-line no-bitwise\n\nlet _asyncCookie = 0;\n\ntype EventName = string | (() => string);\ntype EventArgs = ?{[string]: string};\n\n/**\n * Indicates if the application is currently being traced.\n *\n * Calling methods on this module when the application isn't being traced is\n * cheap, but this method can be used to avoid computing expensive values for\n * those functions.\n *\n * @example\n * if (Systrace.isEnabled()) {\n * const expensiveArgs = computeExpensiveArgs();\n * Systrace.beginEvent('myEvent', expensiveArgs);\n * }\n */\nexport function isEnabled(): boolean {\n return global.nativeTraceIsTracing\n ? global.nativeTraceIsTracing(TRACE_TAG_REACT_APPS)\n : Boolean(global.__RCTProfileIsProfiling);\n}\n\n/**\n * @deprecated This function is now a no-op but it's left for backwards\n * compatibility. `isEnabled` will now synchronously check if we're actively\n * profiling or not. This is necessary because we don't have callbacks to know\n * when profiling has started/stopped on Android APIs.\n */\nexport function setEnabled(_doEnable: boolean): void {}\n\n/**\n * Marks the start of a synchronous event that should end in the same stack\n * frame. The end of this event should be marked using the `endEvent` function.\n */\nexport function beginEvent(eventName: EventName, args?: EventArgs): void {\n if (isEnabled()) {\n const eventNameString =\n typeof eventName === 'function' ? eventName() : eventName;\n global.nativeTraceBeginSection(TRACE_TAG_REACT_APPS, eventNameString, args);\n }\n}\n\n/**\n * Marks the end of a synchronous event started in the same stack frame.\n */\nexport function endEvent(args?: EventArgs): void {\n if (isEnabled()) {\n global.nativeTraceEndSection(TRACE_TAG_REACT_APPS, args);\n }\n}\n\n/**\n * Marks the start of a potentially asynchronous event. The end of this event\n * should be marked calling the `endAsyncEvent` function with the cookie\n * returned by this function.\n */\nexport function beginAsyncEvent(\n eventName: EventName,\n args?: EventArgs,\n): number {\n const cookie = _asyncCookie;\n if (isEnabled()) {\n _asyncCookie++;\n const eventNameString =\n typeof eventName === 'function' ? eventName() : eventName;\n global.nativeTraceBeginAsyncSection(\n TRACE_TAG_REACT_APPS,\n eventNameString,\n cookie,\n args,\n );\n }\n return cookie;\n}\n\n/**\n * Marks the end of a potentially asynchronous event, which was started with\n * the given cookie.\n */\nexport function endAsyncEvent(\n eventName: EventName,\n cookie: number,\n args?: EventArgs,\n): void {\n if (isEnabled()) {\n const eventNameString =\n typeof eventName === 'function' ? eventName() : eventName;\n global.nativeTraceEndAsyncSection(\n TRACE_TAG_REACT_APPS,\n eventNameString,\n cookie,\n args,\n );\n }\n}\n\n/**\n * Registers a new value for a counter event.\n */\nexport function counterEvent(eventName: EventName, value: number): void {\n if (isEnabled()) {\n const eventNameString =\n typeof eventName === 'function' ? eventName() : eventName;\n global.nativeTraceCounter &&\n global.nativeTraceCounter(TRACE_TAG_REACT_APPS, eventNameString, value);\n }\n}\n\nif (__DEV__) {\n const Systrace: SystraceModule = {\n isEnabled,\n setEnabled,\n beginEvent,\n endEvent,\n beginAsyncEvent,\n endAsyncEvent,\n counterEvent,\n };\n\n // The metro require polyfill can not have dependencies (true for all polyfills).\n // Ensure that `Systrace` is available in polyfill by exposing it globally.\n global[(global.__METRO_GLOBAL_PREFIX__ || '') + '__SYSTRACE'] = Systrace;\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 * @flow strict\n */\n\nimport type {\n Platform as PlatformType,\n PlatformSelectSpec,\n} from './Platform.flow';\n\nimport NativePlatformConstantsIOS from './NativePlatformConstantsIOS';\n\nconst Platform: PlatformType = {\n __constants: null,\n OS: 'ios',\n // $FlowFixMe[unsafe-getters-setters]\n get Version(): string {\n // $FlowFixMe[object-this-reference]\n return this.constants.osVersion;\n },\n // $FlowFixMe[unsafe-getters-setters]\n get constants(): {|\n forceTouchAvailable: boolean,\n interfaceIdiom: string,\n isTesting: boolean,\n isDisableAnimations?: boolean,\n osVersion: string,\n reactNativeVersion: {|\n major: number,\n minor: number,\n patch: number,\n prerelease: ?number,\n |},\n systemName: string,\n |} {\n // $FlowFixMe[object-this-reference]\n if (this.__constants == null) {\n // $FlowFixMe[object-this-reference]\n this.__constants = NativePlatformConstantsIOS.getConstants();\n }\n // $FlowFixMe[object-this-reference]\n return this.__constants;\n },\n // $FlowFixMe[unsafe-getters-setters]\n get isPad(): boolean {\n // $FlowFixMe[object-this-reference]\n return this.constants.interfaceIdiom === 'pad';\n },\n // $FlowFixMe[unsafe-getters-setters]\n get isTV(): boolean {\n // $FlowFixMe[object-this-reference]\n return this.constants.interfaceIdiom === 'tv';\n },\n // $FlowFixMe[unsafe-getters-setters]\n get isTesting(): boolean {\n if (__DEV__) {\n // $FlowFixMe[object-this-reference]\n return this.constants.isTesting;\n }\n return false;\n },\n // $FlowFixMe[unsafe-getters-setters]\n get isDisableAnimations(): boolean {\n // $FlowFixMe[object-this-reference]\n return this.constants.isDisableAnimations ?? this.isTesting;\n },\n select: (spec: PlatformSelectSpec): T =>\n // $FlowFixMe[incompatible-return]\n 'ios' in spec ? spec.ios : 'native' in spec ? spec.native : spec.default,\n};\n\nmodule.exports = Platform;\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 * @flow strict\n * @format\n */\n\nimport type {TurboModule} from '../TurboModule/RCTExport';\n\nimport * as TurboModuleRegistry from '../TurboModule/TurboModuleRegistry';\n\nexport type PlatformConstantsIOS = {|\n isTesting: boolean,\n isDisableAnimations?: boolean,\n reactNativeVersion: {|\n major: number,\n minor: number,\n patch: number,\n prerelease: ?number,\n |},\n forceTouchAvailable: boolean,\n osVersion: string,\n systemName: string,\n interfaceIdiom: string,\n|};\n\nexport interface Spec extends TurboModule {\n +getConstants: () => PlatformConstantsIOS;\n}\n\nexport default (TurboModuleRegistry.getEnforcing(\n 'PlatformConstants',\n): Spec);\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 * @flow strict\n * @format\n */\n\nimport type {TurboModule} from './RCTExport';\n\nimport invariant from 'invariant';\n\nconst NativeModules = require('../BatchedBridge/NativeModules');\n\nconst turboModuleProxy = global.__turboModuleProxy;\n\nconst moduleLoadHistory = {\n NativeModules: ([]: Array),\n TurboModules: ([]: Array),\n NotFound: ([]: Array),\n};\n\nfunction isBridgeless() {\n return global.RN$Bridgeless === true;\n}\n\nfunction isTurboModuleInteropEnabled() {\n return global.RN$TurboInterop === true;\n}\n\n// TODO(154308585): Remove \"module not found\" debug info logging\nfunction shouldReportDebugInfo() {\n return true;\n}\n\n// TODO(148943970): Consider reversing the lookup here:\n// Lookup on __turboModuleProxy, then lookup on nativeModuleProxy\nfunction requireModule(name: string): ?T {\n if (!isBridgeless() || isTurboModuleInteropEnabled()) {\n // Backward compatibility layer during migration.\n const legacyModule = NativeModules[name];\n if (legacyModule != null) {\n if (shouldReportDebugInfo()) {\n moduleLoadHistory.NativeModules.push(name);\n }\n return ((legacyModule: $FlowFixMe): T);\n }\n }\n\n if (turboModuleProxy != null) {\n const module: ?T = turboModuleProxy(name);\n if (module != null) {\n if (shouldReportDebugInfo()) {\n moduleLoadHistory.TurboModules.push(name);\n }\n return module;\n }\n }\n\n if (shouldReportDebugInfo() && !moduleLoadHistory.NotFound.includes(name)) {\n moduleLoadHistory.NotFound.push(name);\n }\n return null;\n}\n\nexport function get(name: string): ?T {\n return requireModule(name);\n}\n\nexport function getEnforcing(name: string): T {\n const module = requireModule(name);\n let message =\n `TurboModuleRegistry.getEnforcing(...): '${name}' could not be found. ` +\n 'Verify that a module by this name is registered in the native binary.';\n\n if (shouldReportDebugInfo()) {\n message += 'Bridgeless mode: ' + (isBridgeless() ? 'true' : 'false') + '. ';\n message +=\n 'TurboModule interop: ' +\n (isTurboModuleInteropEnabled() ? 'true' : 'false') +\n '. ';\n message += 'Modules loaded: ' + JSON.stringify(moduleLoadHistory);\n }\n\n invariant(module != null, message);\n return module;\n}\n","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\n/**\n * Use invariant() to assert state which your program assumes to be true.\n *\n * Provide sprintf-style format (only %s is supported) and arguments\n * to provide information about what broke and what you were\n * expecting.\n *\n * The invariant message will be stripped in production, but the invariant\n * will remain to ensure logic does not differ in production.\n */\n\nvar invariant = function(condition, format, a, b, c, d, e, f) {\n if (process.env.NODE_ENV !== 'production') {\n if (format === undefined) {\n throw new Error('invariant requires an error message argument');\n }\n }\n\n if (!condition) {\n var error;\n if (format === undefined) {\n error = new Error(\n 'Minified exception occurred; use the non-minified dev environment ' +\n 'for the full error message and additional helpful warnings.'\n );\n } else {\n var args = [a, b, c, d, e, f];\n var argIndex = 0;\n error = new Error(\n format.replace(/%s/g, function() { return args[argIndex++]; })\n );\n error.name = 'Invariant Violation';\n }\n\n error.framesToPop = 1; // we don't care about invariant's own frame\n throw error;\n }\n};\n\nmodule.exports = invariant;\n","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This 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 * @flow strict\n */\n\n'use strict';\n\nimport type {ExtendedError} from '../Core/ExtendedError';\n\nconst BatchedBridge = require('./BatchedBridge');\nconst invariant = require('invariant');\n\nexport type ModuleConfig = [\n string /* name */,\n ?{...} /* constants */,\n ?$ReadOnlyArray /* functions */,\n ?$ReadOnlyArray /* promise method IDs */,\n ?$ReadOnlyArray /* sync method IDs */,\n];\n\nexport type MethodType = 'async' | 'promise' | 'sync';\n\nfunction genModule(\n config: ?ModuleConfig,\n moduleID: number,\n): ?{\n name: string,\n module?: {...},\n ...\n} {\n if (!config) {\n return null;\n }\n\n const [moduleName, constants, methods, promiseMethods, syncMethods] = config;\n invariant(\n !moduleName.startsWith('RCT') && !moduleName.startsWith('RK'),\n \"Module name prefixes should've been stripped by the native side \" +\n \"but wasn't for \" +\n moduleName,\n );\n\n if (!constants && !methods) {\n // Module contents will be filled in lazily later\n return {name: moduleName};\n }\n\n const module: {[string]: mixed} = {};\n methods &&\n methods.forEach((methodName, methodID) => {\n const isPromise =\n (promiseMethods && arrayContains(promiseMethods, methodID)) || false;\n const isSync =\n (syncMethods && arrayContains(syncMethods, methodID)) || false;\n invariant(\n !isPromise || !isSync,\n 'Cannot have a method that is both async and a sync hook',\n );\n const methodType = isPromise ? 'promise' : isSync ? 'sync' : 'async';\n module[methodName] = genMethod(moduleID, methodID, methodType);\n });\n\n Object.assign(module, constants);\n\n if (module.getConstants == null) {\n module.getConstants = () => constants || Object.freeze({});\n } else {\n console.warn(\n `Unable to define method 'getConstants()' on NativeModule '${moduleName}'. NativeModule '${moduleName}' already has a constant or method called 'getConstants'. Please remove it.`,\n );\n }\n\n if (__DEV__) {\n BatchedBridge.createDebugLookup(moduleID, moduleName, methods);\n }\n\n return {name: moduleName, module};\n}\n\n// export this method as a global so we can call it from native\nglobal.__fbGenNativeModule = genModule;\n\nfunction loadModule(name: string, moduleID: number): ?{...} {\n invariant(\n global.nativeRequireModuleConfig,\n \"Can't lazily create module without nativeRequireModuleConfig\",\n );\n const config = global.nativeRequireModuleConfig(name);\n const info = genModule(config, moduleID);\n return info && info.module;\n}\n\nfunction genMethod(moduleID: number, methodID: number, type: MethodType) {\n let fn = null;\n if (type === 'promise') {\n fn = function promiseMethodWrapper(...args: Array) {\n // In case we reject, capture a useful stack trace here.\n /* $FlowFixMe[class-object-subtyping] added when improving typing for\n * this parameters */\n const enqueueingFrameError: ExtendedError = new Error();\n return new Promise((resolve, reject) => {\n BatchedBridge.enqueueNativeCall(\n moduleID,\n methodID,\n args,\n data => resolve(data),\n errorData =>\n reject(\n updateErrorWithErrorData(\n (errorData: $FlowFixMe),\n enqueueingFrameError,\n ),\n ),\n );\n });\n };\n } else {\n fn = function nonPromiseMethodWrapper(...args: Array) {\n const lastArg = args.length > 0 ? args[args.length - 1] : null;\n const secondLastArg = args.length > 1 ? args[args.length - 2] : null;\n const hasSuccessCallback = typeof lastArg === 'function';\n const hasErrorCallback = typeof secondLastArg === 'function';\n hasErrorCallback &&\n invariant(\n hasSuccessCallback,\n 'Cannot have a non-function arg after a function arg.',\n );\n // $FlowFixMe[incompatible-type]\n const onSuccess: ?(mixed) => void = hasSuccessCallback ? lastArg : null;\n // $FlowFixMe[incompatible-type]\n const onFail: ?(mixed) => void = hasErrorCallback ? secondLastArg : null;\n // $FlowFixMe[unsafe-addition]\n const callbackCount = hasSuccessCallback + hasErrorCallback;\n const newArgs = args.slice(0, args.length - callbackCount);\n if (type === 'sync') {\n return BatchedBridge.callNativeSyncHook(\n moduleID,\n methodID,\n newArgs,\n onFail,\n onSuccess,\n );\n } else {\n BatchedBridge.enqueueNativeCall(\n moduleID,\n methodID,\n newArgs,\n onFail,\n onSuccess,\n );\n }\n };\n }\n // $FlowFixMe[prop-missing]\n fn.type = type;\n return fn;\n}\n\nfunction arrayContains(array: $ReadOnlyArray, value: T): boolean {\n return array.indexOf(value) !== -1;\n}\n\nfunction updateErrorWithErrorData(\n errorData: {message: string, ...},\n error: ExtendedError,\n): ExtendedError {\n /* $FlowFixMe[class-object-subtyping] added when improving typing for this\n * parameters */\n return Object.assign(error, errorData || {});\n}\n\nlet NativeModules: {[moduleName: string]: $FlowFixMe, ...} = {};\nif (global.nativeModuleProxy) {\n NativeModules = global.nativeModuleProxy;\n} else if (!global.nativeExtensions) {\n const bridgeConfig = global.__fbBatchedBridgeConfig;\n invariant(\n bridgeConfig,\n '__fbBatchedBridgeConfig is not set, cannot invoke native modules',\n );\n\n const defineLazyObjectProperty = require('../Utilities/defineLazyObjectProperty');\n (bridgeConfig.remoteModuleConfig || []).forEach(\n (config: ModuleConfig, moduleID: number) => {\n // Initially this config will only contain the module name when running in JSC. The actual\n // configuration of the module will be lazily loaded.\n const info = genModule(config, moduleID);\n if (!info) {\n return;\n }\n\n if (info.module) {\n NativeModules[info.name] = info.module;\n }\n // If there's no module config, define a lazy getter\n else {\n defineLazyObjectProperty(NativeModules, info.name, {\n get: () => loadModule(info.name, moduleID),\n });\n }\n },\n );\n}\n\nmodule.exports = NativeModules;\n","var arrayWithHoles = require(\"./arrayWithHoles.js\");\nvar iterableToArrayLimit = require(\"./iterableToArrayLimit.js\");\nvar unsupportedIterableToArray = require(\"./unsupportedIterableToArray.js\");\nvar nonIterableRest = require(\"./nonIterableRest.js\");\nfunction _slicedToArray(arr, i) {\n return arrayWithHoles(arr) || iterableToArrayLimit(arr, i) || unsupportedIterableToArray(arr, i) || nonIterableRest();\n}\nmodule.exports = _slicedToArray, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _arrayWithHoles(arr) {\n if (Array.isArray(arr)) return arr;\n}\nmodule.exports = _arrayWithHoles, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _iterableToArrayLimit(r, l) {\n var t = null == r ? null : \"undefined\" != typeof Symbol && r[Symbol.iterator] || r[\"@@iterator\"];\n if (null != t) {\n var e,\n n,\n i,\n u,\n a = [],\n f = !0,\n o = !1;\n try {\n if (i = (t = t.call(r)).next, 0 === l) {\n if (Object(t) !== t) return;\n f = !1;\n } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0);\n } catch (r) {\n o = !0, n = r;\n } finally {\n try {\n if (!f && null != t[\"return\"] && (u = t[\"return\"](), Object(u) !== u)) return;\n } finally {\n if (o) throw n;\n }\n }\n return a;\n }\n}\nmodule.exports = _iterableToArrayLimit, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var arrayLikeToArray = require(\"./arrayLikeToArray.js\");\nfunction _unsupportedIterableToArray(o, minLen) {\n if (!o) return;\n if (typeof o === \"string\") return arrayLikeToArray(o, minLen);\n var n = Object.prototype.toString.call(o).slice(8, -1);\n if (n === \"Object\" && o.constructor) n = o.constructor.name;\n if (n === \"Map\" || n === \"Set\") return Array.from(o);\n if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return arrayLikeToArray(o, minLen);\n}\nmodule.exports = _unsupportedIterableToArray, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _arrayLikeToArray(arr, len) {\n if (len == null || len > arr.length) len = arr.length;\n for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i];\n return arr2;\n}\nmodule.exports = _arrayLikeToArray, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _nonIterableRest() {\n throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}\nmodule.exports = _nonIterableRest, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This 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 * @flow strict\n */\n\n'use strict';\n\nconst MessageQueue = require('./MessageQueue');\n\nconst BatchedBridge: MessageQueue = new MessageQueue();\n\n// Wire up the batched bridge on the global object so that we can call into it.\n// Ideally, this would be the inverse relationship. I.e. the native environment\n// provides this global directly with its script embedded. Then this module\n// would export it. A possible fix would be to trim the dependencies in\n// MessageQueue to its minimal features and embed that in the native runtime.\n\nObject.defineProperty(global, '__fbBatchedBridge', {\n configurable: true,\n value: BatchedBridge,\n});\n\nmodule.exports = BatchedBridge;\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 * @flow strict\n * @format\n */\n\n'use strict';\n\nconst Systrace = require('../Performance/Systrace');\nconst deepFreezeAndThrowOnMutationInDev = require('../Utilities/deepFreezeAndThrowOnMutationInDev');\nconst stringifySafe = require('../Utilities/stringifySafe').default;\nconst warnOnce = require('../Utilities/warnOnce');\nconst ErrorUtils = require('../vendor/core/ErrorUtils');\nconst invariant = require('invariant');\n\nexport type SpyData = {\n type: number,\n module: ?string,\n method: string | number,\n args: mixed[],\n ...\n};\n\nconst TO_JS = 0;\nconst TO_NATIVE = 1;\n\nconst MODULE_IDS = 0;\nconst METHOD_IDS = 1;\nconst PARAMS = 2;\nconst MIN_TIME_BETWEEN_FLUSHES_MS = 5;\n\n// eslint-disable-next-line no-bitwise\nconst TRACE_TAG_REACT_APPS = 1 << 17;\n\nconst DEBUG_INFO_LIMIT = 32;\n\nclass MessageQueue {\n _lazyCallableModules: {[key: string]: (void) => {...}, ...};\n _queue: [number[], number[], mixed[], number];\n _successCallbacks: Map void>;\n _failureCallbacks: Map void>;\n _callID: number;\n _lastFlush: number;\n _eventLoopStartTime: number;\n _reactNativeMicrotasksCallback: ?() => void;\n\n _debugInfo: {[number]: [number, number], ...};\n _remoteModuleTable: {[number]: string, ...};\n _remoteMethodTable: {[number]: $ReadOnlyArray, ...};\n\n __spy: ?(data: SpyData) => void;\n\n constructor() {\n this._lazyCallableModules = {};\n this._queue = [[], [], [], 0];\n this._successCallbacks = new Map();\n this._failureCallbacks = new Map();\n this._callID = 0;\n this._lastFlush = 0;\n this._eventLoopStartTime = Date.now();\n this._reactNativeMicrotasksCallback = null;\n\n if (__DEV__) {\n this._debugInfo = {};\n this._remoteModuleTable = {};\n this._remoteMethodTable = {};\n }\n\n // $FlowFixMe[cannot-write]\n this.callFunctionReturnFlushedQueue =\n // $FlowFixMe[method-unbinding] added when improving typing for this parameters\n this.callFunctionReturnFlushedQueue.bind(this);\n // $FlowFixMe[cannot-write]\n // $FlowFixMe[method-unbinding] added when improving typing for this parameters\n this.flushedQueue = this.flushedQueue.bind(this);\n\n // $FlowFixMe[cannot-write]\n this.invokeCallbackAndReturnFlushedQueue =\n // $FlowFixMe[method-unbinding] added when improving typing for this parameters\n this.invokeCallbackAndReturnFlushedQueue.bind(this);\n }\n\n /**\n * Public APIs\n */\n\n static spy(spyOrToggle: boolean | ((data: SpyData) => void)) {\n if (spyOrToggle === true) {\n MessageQueue.prototype.__spy = info => {\n console.log(\n `${info.type === TO_JS ? 'N->JS' : 'JS->N'} : ` +\n `${info.module != null ? info.module + '.' : ''}${info.method}` +\n `(${JSON.stringify(info.args)})`,\n );\n };\n } else if (spyOrToggle === false) {\n MessageQueue.prototype.__spy = null;\n } else {\n MessageQueue.prototype.__spy = spyOrToggle;\n }\n }\n\n callFunctionReturnFlushedQueue(\n module: string,\n method: string,\n args: mixed[],\n ): null | [Array, Array, Array, number] {\n this.__guard(() => {\n this.__callFunction(module, method, args);\n });\n\n return this.flushedQueue();\n }\n\n invokeCallbackAndReturnFlushedQueue(\n cbID: number,\n args: mixed[],\n ): null | [Array, Array, Array, number] {\n this.__guard(() => {\n this.__invokeCallback(cbID, args);\n });\n\n return this.flushedQueue();\n }\n\n flushedQueue(): null | [Array, Array, Array, number] {\n this.__guard(() => {\n this.__callReactNativeMicrotasks();\n });\n\n const queue = this._queue;\n this._queue = [[], [], [], this._callID];\n return queue[0].length ? queue : null;\n }\n\n getEventLoopRunningTime(): number {\n return Date.now() - this._eventLoopStartTime;\n }\n\n registerCallableModule(name: string, module: {...}) {\n this._lazyCallableModules[name] = () => module;\n }\n\n registerLazyCallableModule(name: string, factory: void => interface {}) {\n let module: interface {};\n let getValue: ?(void) => interface {} = factory;\n this._lazyCallableModules[name] = () => {\n if (getValue) {\n module = getValue();\n getValue = null;\n }\n /* $FlowFixMe[class-object-subtyping] added when improving typing for\n * this parameters */\n return module;\n };\n }\n\n getCallableModule(name: string): {...} | null {\n const getValue = this._lazyCallableModules[name];\n return getValue ? getValue() : null;\n }\n\n callNativeSyncHook(\n moduleID: number,\n methodID: number,\n params: mixed[],\n onFail: ?(...mixed[]) => void,\n onSucc: ?(...mixed[]) => void,\n ): mixed {\n if (__DEV__) {\n invariant(\n global.nativeCallSyncHook,\n 'Calling synchronous methods on native ' +\n 'modules is not supported in Chrome.\\n\\n Consider providing alternative ' +\n 'methods to expose this method in debug mode, e.g. by exposing constants ' +\n 'ahead-of-time.',\n );\n }\n this.processCallbacks(moduleID, methodID, params, onFail, onSucc);\n return global.nativeCallSyncHook(moduleID, methodID, params);\n }\n\n processCallbacks(\n moduleID: number,\n methodID: number,\n params: mixed[],\n onFail: ?(...mixed[]) => void,\n onSucc: ?(...mixed[]) => void,\n ): void {\n if (onFail || onSucc) {\n if (__DEV__) {\n this._debugInfo[this._callID] = [moduleID, methodID];\n if (this._callID > DEBUG_INFO_LIMIT) {\n delete this._debugInfo[this._callID - DEBUG_INFO_LIMIT];\n }\n if (this._successCallbacks.size > 500) {\n const info: {[number]: {method: string, module: string}} = {};\n this._successCallbacks.forEach((_, callID) => {\n const debug = this._debugInfo[callID];\n const module = debug && this._remoteModuleTable[debug[0]];\n const method = debug && this._remoteMethodTable[debug[0]][debug[1]];\n info[callID] = {module, method};\n });\n warnOnce(\n 'excessive-number-of-pending-callbacks',\n `Excessive number of pending callbacks: ${\n this._successCallbacks.size\n }. Some pending callbacks that might have leaked by never being called from native code: ${stringifySafe(\n info,\n )}`,\n );\n }\n }\n // Encode callIDs into pairs of callback identifiers by shifting left and using the rightmost bit\n // to indicate fail (0) or success (1)\n // eslint-disable-next-line no-bitwise\n onFail && params.push(this._callID << 1);\n // eslint-disable-next-line no-bitwise\n onSucc && params.push((this._callID << 1) | 1);\n this._successCallbacks.set(this._callID, onSucc);\n this._failureCallbacks.set(this._callID, onFail);\n }\n if (__DEV__) {\n global.nativeTraceBeginAsyncFlow &&\n global.nativeTraceBeginAsyncFlow(\n TRACE_TAG_REACT_APPS,\n 'native',\n this._callID,\n );\n }\n this._callID++;\n }\n\n enqueueNativeCall(\n moduleID: number,\n methodID: number,\n params: mixed[],\n onFail: ?(...mixed[]) => void,\n onSucc: ?(...mixed[]) => void,\n ): void {\n this.processCallbacks(moduleID, methodID, params, onFail, onSucc);\n\n this._queue[MODULE_IDS].push(moduleID);\n this._queue[METHOD_IDS].push(methodID);\n\n if (__DEV__) {\n // Validate that parameters passed over the bridge are\n // folly-convertible. As a special case, if a prop value is a\n // function it is permitted here, and special-cased in the\n // conversion.\n const isValidArgument = (val: mixed): boolean => {\n switch (typeof val) {\n case 'undefined':\n case 'boolean':\n case 'string':\n return true;\n case 'number':\n return isFinite(val);\n case 'object':\n if (val == null) {\n return true;\n }\n\n if (Array.isArray(val)) {\n return val.every(isValidArgument);\n }\n\n for (const k in val) {\n if (typeof val[k] !== 'function' && !isValidArgument(val[k])) {\n return false;\n }\n }\n\n return true;\n case 'function':\n return false;\n default:\n return false;\n }\n };\n\n // Replacement allows normally non-JSON-convertible values to be\n // seen. There is ambiguity with string values, but in context,\n // it should at least be a strong hint.\n const replacer = (key: string, val: $FlowFixMe) => {\n const t = typeof val;\n if (t === 'function') {\n return '<>';\n } else if (t === 'number' && !isFinite(val)) {\n return '<<' + val.toString() + '>>';\n } else {\n return val;\n }\n };\n\n // Note that JSON.stringify\n invariant(\n isValidArgument(params),\n '%s is not usable as a native method argument',\n JSON.stringify(params, replacer),\n );\n\n // The params object should not be mutated after being queued\n deepFreezeAndThrowOnMutationInDev(params);\n }\n this._queue[PARAMS].push(params);\n\n const now = Date.now();\n if (\n global.nativeFlushQueueImmediate &&\n now - this._lastFlush >= MIN_TIME_BETWEEN_FLUSHES_MS\n ) {\n const queue = this._queue;\n this._queue = [[], [], [], this._callID];\n this._lastFlush = now;\n global.nativeFlushQueueImmediate(queue);\n }\n Systrace.counterEvent('pending_js_to_native_queue', this._queue[0].length);\n if (__DEV__ && this.__spy && isFinite(moduleID)) {\n // $FlowFixMe[not-a-function]\n this.__spy({\n type: TO_NATIVE,\n module: this._remoteModuleTable[moduleID],\n method: this._remoteMethodTable[moduleID][methodID],\n args: params,\n });\n } else if (this.__spy) {\n this.__spy({\n type: TO_NATIVE,\n module: moduleID + '',\n method: methodID,\n args: params,\n });\n }\n }\n\n createDebugLookup(\n moduleID: number,\n name: string,\n methods: ?$ReadOnlyArray,\n ) {\n if (__DEV__) {\n this._remoteModuleTable[moduleID] = name;\n this._remoteMethodTable[moduleID] = methods || [];\n }\n }\n\n // For JSTimers to register its callback. Otherwise a circular dependency\n // between modules is introduced. Note that only one callback may be\n // registered at a time.\n setReactNativeMicrotasksCallback(fn: () => void) {\n this._reactNativeMicrotasksCallback = fn;\n }\n\n /**\n * Private methods\n */\n\n __guard(fn: () => void) {\n if (this.__shouldPauseOnThrow()) {\n fn();\n } else {\n try {\n fn();\n } catch (error) {\n ErrorUtils.reportFatalError(error);\n }\n }\n }\n\n // MessageQueue installs a global handler to catch all exceptions where JS users can register their own behavior\n // This handler makes all exceptions to be propagated from inside MessageQueue rather than by the VM at their origin\n // This makes stacktraces to be placed at MessageQueue rather than at where they were launched\n // The parameter DebuggerInternal.shouldPauseOnThrow is used to check before catching all exceptions and\n // can be configured by the VM or any Inspector\n __shouldPauseOnThrow(): boolean {\n return (\n // $FlowFixMe[cannot-resolve-name]\n typeof DebuggerInternal !== 'undefined' &&\n // $FlowFixMe[cannot-resolve-name]\n DebuggerInternal.shouldPauseOnThrow === true\n );\n }\n\n __callReactNativeMicrotasks() {\n Systrace.beginEvent('JSTimers.callReactNativeMicrotasks()');\n try {\n if (this._reactNativeMicrotasksCallback != null) {\n this._reactNativeMicrotasksCallback();\n }\n } finally {\n Systrace.endEvent();\n }\n }\n\n __callFunction(module: string, method: string, args: mixed[]): void {\n this._lastFlush = Date.now();\n this._eventLoopStartTime = this._lastFlush;\n if (__DEV__ || this.__spy) {\n Systrace.beginEvent(`${module}.${method}(${stringifySafe(args)})`);\n } else {\n Systrace.beginEvent(`${module}.${method}(...)`);\n }\n try {\n if (this.__spy) {\n this.__spy({type: TO_JS, module, method, args});\n }\n const moduleMethods = this.getCallableModule(module);\n if (!moduleMethods) {\n const callableModuleNames = Object.keys(this._lazyCallableModules);\n const n = callableModuleNames.length;\n const callableModuleNameList = callableModuleNames.join(', ');\n\n // TODO(T122225939): Remove after investigation: Why are we getting to this line in bridgeless mode?\n const isBridgelessMode =\n global.RN$Bridgeless === true ? 'true' : 'false';\n invariant(\n false,\n `Failed to call into JavaScript module method ${module}.${method}(). Module has not been registered as callable. Bridgeless Mode: ${isBridgelessMode}. Registered callable JavaScript modules (n = ${n}): ${callableModuleNameList}.\n A frequent cause of the error is that the application entry file path is incorrect. This can also happen when the JS bundle is corrupt or there is an early initialization error when loading React Native.`,\n );\n }\n if (!moduleMethods[method]) {\n invariant(\n false,\n `Failed to call into JavaScript module method ${module}.${method}(). Module exists, but the method is undefined.`,\n );\n }\n moduleMethods[method].apply(moduleMethods, args);\n } finally {\n Systrace.endEvent();\n }\n }\n\n __invokeCallback(cbID: number, args: mixed[]): void {\n this._lastFlush = Date.now();\n this._eventLoopStartTime = this._lastFlush;\n\n // The rightmost bit of cbID indicates fail (0) or success (1), the other bits are the callID shifted left.\n // eslint-disable-next-line no-bitwise\n const callID = cbID >>> 1;\n // eslint-disable-next-line no-bitwise\n const isSuccess = cbID & 1;\n const callback = isSuccess\n ? this._successCallbacks.get(callID)\n : this._failureCallbacks.get(callID);\n\n if (__DEV__) {\n const debug = this._debugInfo[callID];\n const module = debug && this._remoteModuleTable[debug[0]];\n const method = debug && this._remoteMethodTable[debug[0]][debug[1]];\n invariant(\n callback,\n `No callback found with cbID ${cbID} and callID ${callID} for ` +\n (method\n ? ` ${module}.${method} - most likely the callback was already invoked`\n : `module ${module || ''}`) +\n `. Args: '${stringifySafe(args)}'`,\n );\n const profileName = debug\n ? ''\n : cbID;\n if (callback && this.__spy) {\n this.__spy({type: TO_JS, module: null, method: profileName, args});\n }\n Systrace.beginEvent(\n `MessageQueue.invokeCallback(${profileName}, ${stringifySafe(args)})`,\n );\n }\n\n try {\n if (!callback) {\n return;\n }\n\n this._successCallbacks.delete(callID);\n this._failureCallbacks.delete(callID);\n callback(...args);\n } finally {\n if (__DEV__) {\n Systrace.endEvent();\n }\n }\n }\n}\n\nmodule.exports = MessageQueue;\n","var arrayWithoutHoles = require(\"./arrayWithoutHoles.js\");\nvar iterableToArray = require(\"./iterableToArray.js\");\nvar unsupportedIterableToArray = require(\"./unsupportedIterableToArray.js\");\nvar nonIterableSpread = require(\"./nonIterableSpread.js\");\nfunction _toConsumableArray(arr) {\n return arrayWithoutHoles(arr) || iterableToArray(arr) || unsupportedIterableToArray(arr) || nonIterableSpread();\n}\nmodule.exports = _toConsumableArray, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var arrayLikeToArray = require(\"./arrayLikeToArray.js\");\nfunction _arrayWithoutHoles(arr) {\n if (Array.isArray(arr)) return arrayLikeToArray(arr);\n}\nmodule.exports = _arrayWithoutHoles, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _iterableToArray(iter) {\n if (typeof Symbol !== \"undefined\" && iter[Symbol.iterator] != null || iter[\"@@iterator\"] != null) return Array.from(iter);\n}\nmodule.exports = _iterableToArray, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _nonIterableSpread() {\n throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}\nmodule.exports = _nonIterableSpread, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This 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 * @flow strict\n */\n\nimport type {ErrorUtilsT} from '@react-native/js-polyfills/error-guard';\n\n/**\n * The particular require runtime that we are using looks for a global\n * `ErrorUtils` object and if it exists, then it requires modules with the\n * error handler specified via ErrorUtils.setGlobalHandler by calling the\n * require function with applyWithGuard. Since the require module is loaded\n * before any of the modules, this ErrorUtils must be defined (and the handler\n * set) globally before requiring anything.\n *\n * However, we still want to treat ErrorUtils as a module so that other modules\n * that use it aren't just using a global variable, so simply export the global\n * variable here. ErrorUtils is originally defined in a file named error-guard.js.\n */\nmodule.exports = (global.ErrorUtils: ErrorUtilsT);\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 * @flow strict\n */\n\nimport invariant from 'invariant';\n\n/**\n * Tries to stringify with JSON.stringify and toString, but catches exceptions\n * (e.g. from circular objects) and always returns a string and never throws.\n */\nexport function createStringifySafeWithLimits(limits: {|\n maxDepth?: number,\n maxStringLimit?: number,\n maxArrayLimit?: number,\n maxObjectKeysLimit?: number,\n|}): mixed => string {\n const {\n maxDepth = Number.POSITIVE_INFINITY,\n maxStringLimit = Number.POSITIVE_INFINITY,\n maxArrayLimit = Number.POSITIVE_INFINITY,\n maxObjectKeysLimit = Number.POSITIVE_INFINITY,\n } = limits;\n const stack: Array = [];\n /* $FlowFixMe[missing-this-annot] The 'this' type annotation(s) required by\n * Flow's LTI update could not be added via codemod */\n function replacer(key: string, value: mixed): mixed {\n while (stack.length && this !== stack[0]) {\n stack.shift();\n }\n\n if (typeof value === 'string') {\n const truncatedString = '...(truncated)...';\n if (value.length > maxStringLimit + truncatedString.length) {\n return value.substring(0, maxStringLimit) + truncatedString;\n }\n return value;\n }\n if (typeof value !== 'object' || value === null) {\n return value;\n }\n\n let retval: mixed = value;\n if (Array.isArray(value)) {\n if (stack.length >= maxDepth) {\n retval = `[ ... array with ${value.length} values ... ]`;\n } else if (value.length > maxArrayLimit) {\n retval = value\n .slice(0, maxArrayLimit)\n .concat([\n `... extra ${value.length - maxArrayLimit} values truncated ...`,\n ]);\n }\n } else {\n // Add refinement after Array.isArray call.\n invariant(typeof value === 'object', 'This was already found earlier');\n let keys = Object.keys(value);\n if (stack.length >= maxDepth) {\n retval = `{ ... object with ${keys.length} keys ... }`;\n } else if (keys.length > maxObjectKeysLimit) {\n // Return a sample of the keys.\n retval = ({}: {[string]: mixed});\n for (let k of keys.slice(0, maxObjectKeysLimit)) {\n retval[k] = value[k];\n }\n const truncatedKey = '...(truncated keys)...';\n retval[truncatedKey] = keys.length - maxObjectKeysLimit;\n }\n }\n stack.unshift(retval);\n return retval;\n }\n\n return function stringifySafe(arg: mixed): string {\n if (arg === undefined) {\n return 'undefined';\n } else if (arg === null) {\n return 'null';\n } else if (typeof arg === 'function') {\n try {\n return arg.toString();\n } catch (e) {\n return '[function unknown]';\n }\n } else if (arg instanceof Error) {\n return arg.name + ': ' + arg.message;\n } else {\n // Perform a try catch, just in case the object has a circular\n // reference or stringify throws for some other reason.\n try {\n const ret = JSON.stringify(arg, replacer);\n if (ret === undefined) {\n return '[\"' + typeof arg + '\" failed to stringify]';\n }\n return ret;\n } catch (e) {\n if (typeof arg.toString === 'function') {\n try {\n // $FlowFixMe[incompatible-use] : toString shouldn't take any arguments in general.\n return arg.toString();\n } catch (E) {}\n }\n }\n }\n return '[\"' + typeof arg + '\" failed to stringify]';\n };\n}\n\nconst stringifySafe: mixed => string = createStringifySafeWithLimits({\n maxDepth: 10,\n maxStringLimit: 100,\n maxArrayLimit: 50,\n maxObjectKeysLimit: 50,\n});\n\nexport default stringifySafe;\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 * @flow strict\n */\n\n'use strict';\n\n/**\n * Defines a lazily evaluated property on the supplied `object`.\n */\nfunction defineLazyObjectProperty(\n object: interface {},\n name: string,\n descriptor: {\n get: () => T,\n enumerable?: boolean,\n writable?: boolean,\n ...\n },\n): void {\n const {get} = descriptor;\n const enumerable = descriptor.enumerable !== false;\n const writable = descriptor.writable !== false;\n\n let value;\n let valueSet = false;\n function getValue(): T {\n // WORKAROUND: A weird infinite loop occurs where calling `getValue` calls\n // `setValue` which calls `Object.defineProperty` which somehow triggers\n // `getValue` again. Adding `valueSet` breaks this loop.\n if (!valueSet) {\n // Calling `get()` here can trigger an infinite loop if it fails to\n // remove the getter on the property, which can happen when executing\n // JS in a V8 context. `valueSet = true` will break this loop, and\n // sets the value of the property to undefined, until the code in `get()`\n // finishes, at which point the property is set to the correct value.\n valueSet = true;\n setValue(get());\n }\n return value;\n }\n function setValue(newValue: T): void {\n value = newValue;\n valueSet = true;\n Object.defineProperty(object, name, {\n value: newValue,\n configurable: true,\n enumerable,\n writable,\n });\n }\n\n Object.defineProperty(object, name, {\n get: getValue,\n set: setValue,\n configurable: true,\n enumerable,\n });\n}\n\nmodule.exports = defineLazyObjectProperty;\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 * @flow strict-local\n */\n\nimport NativeAccessibilityManager from './NativeAccessibilityManager';\n\n/**\n * This is a function exposed to the React Renderer that can be used by the\n * pre-Fabric renderer to emit accessibility events to pre-Fabric nodes.\n */\nfunction legacySendAccessibilityEvent(\n reactTag: number,\n eventType: string,\n): void {\n if (eventType === 'focus' && NativeAccessibilityManager) {\n NativeAccessibilityManager.setAccessibilityFocus(reactTag);\n }\n}\n\nmodule.exports = legacySendAccessibilityEvent;\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 * @flow\n * @format\n */\n\nimport type {TurboModule} from '../../TurboModule/RCTExport';\n\nimport * as TurboModuleRegistry from '../../TurboModule/TurboModuleRegistry';\n\nexport interface Spec extends TurboModule {\n +getCurrentBoldTextState: (\n onSuccess: (isBoldTextEnabled: boolean) => void,\n onError: (error: Object) => void,\n ) => void;\n +getCurrentGrayscaleState: (\n onSuccess: (isGrayscaleEnabled: boolean) => void,\n onError: (error: Object) => void,\n ) => void;\n +getCurrentInvertColorsState: (\n onSuccess: (isInvertColorsEnabled: boolean) => void,\n onError: (error: Object) => void,\n ) => void;\n +getCurrentReduceMotionState: (\n onSuccess: (isReduceMotionEnabled: boolean) => void,\n onError: (error: Object) => void,\n ) => void;\n +getCurrentPrefersCrossFadeTransitionsState?: (\n onSuccess: (prefersCrossFadeTransitions: boolean) => void,\n onError: (error: Object) => void,\n ) => void;\n +getCurrentReduceTransparencyState: (\n onSuccess: (isReduceTransparencyEnabled: boolean) => void,\n onError: (error: Object) => void,\n ) => void;\n +getCurrentVoiceOverState: (\n onSuccess: (isScreenReaderEnabled: boolean) => void,\n onError: (error: Object) => void,\n ) => void;\n +setAccessibilityContentSizeMultipliers: (JSMultipliers: {|\n +extraSmall?: ?number,\n +small?: ?number,\n +medium?: ?number,\n +large?: ?number,\n +extraLarge?: ?number,\n +extraExtraLarge?: ?number,\n +extraExtraExtraLarge?: ?number,\n +accessibilityMedium?: ?number,\n +accessibilityLarge?: ?number,\n +accessibilityExtraLarge?: ?number,\n +accessibilityExtraExtraLarge?: ?number,\n +accessibilityExtraExtraExtraLarge?: ?number,\n |}) => void;\n +setAccessibilityFocus: (reactTag: number) => void;\n +announceForAccessibility: (announcement: string) => void;\n +announceForAccessibilityWithOptions?: (\n announcement: string,\n options: {queue?: boolean},\n ) => void;\n}\n\nexport default (TurboModuleRegistry.get('AccessibilityManager'): ?Spec);\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 * @flow strict\n * @format\n */\n\nimport type {TurboModule} from '../../TurboModule/RCTExport';\n\nimport * as TurboModuleRegistry from '../../TurboModule/TurboModuleRegistry';\n\nexport interface Spec extends TurboModule {\n +isReduceMotionEnabled: (\n onSuccess: (isReduceMotionEnabled: boolean) => void,\n ) => void;\n +isTouchExplorationEnabled: (\n onSuccess: (isScreenReaderEnabled: boolean) => void,\n ) => void;\n +isAccessibilityServiceEnabled?: ?(\n onSuccess: (isAccessibilityServiceEnabled: boolean) => void,\n ) => void;\n +setAccessibilityFocus: (reactTag: number) => void;\n +announceForAccessibility: (announcement: string) => void;\n +getRecommendedTimeoutMillis?: (\n mSec: number,\n onSuccess: (recommendedTimeoutMillis: number) => void,\n ) => void;\n}\n\nexport default (TurboModuleRegistry.get('AccessibilityInfo'): ?Spec);\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 * @flow strict-local\n */\n\n/**\n * This module exists to allow apps to select their renderer implementation\n * (e.g.: Fabric-only, Paper-only) without having to pull all the renderer\n * implementations into their app bundle, which affects app size.\n *\n * By default, the setup will be:\n * -> RendererProxy\n * -> RendererImplementation (which uses Fabric or Paper depending on a flag at runtime)\n *\n * But this will allow a setup like this without duplicating logic:\n * -> RendererProxy (fork)\n * -> RendererImplementation (which uses Fabric or Paper depending on a flag at runtime)\n * or -> OtherImplementation (which uses Fabric only)\n */\n\nexport * from './RendererImplementation';\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 * @flow strict-local\n */\n\nimport type {HostComponent} from '../Renderer/shims/ReactNativeTypes';\nimport type {Element, ElementRef, ElementType} from 'react';\n\nimport {type RootTag} from './RootTag';\n\nexport function renderElement({\n element,\n rootTag,\n useFabric,\n useConcurrentRoot,\n}: {\n element: Element,\n rootTag: number,\n useFabric: boolean,\n useConcurrentRoot: boolean,\n}): void {\n if (useFabric) {\n require('../Renderer/shims/ReactFabric').render(\n element,\n rootTag,\n null,\n useConcurrentRoot,\n );\n } else {\n require('../Renderer/shims/ReactNative').render(element, rootTag);\n }\n}\n\nexport function findHostInstance_DEPRECATED(\n componentOrHandle: ?(ElementRef | number),\n): ?ElementRef> {\n return require('../Renderer/shims/ReactNative').findHostInstance_DEPRECATED(\n componentOrHandle,\n );\n}\n\nexport function findNodeHandle(\n componentOrHandle: ?(ElementRef | number),\n): ?number {\n return require('../Renderer/shims/ReactNative').findNodeHandle(\n componentOrHandle,\n );\n}\n\nexport function dispatchCommand(\n handle: ElementRef>,\n command: string,\n args: Array,\n): void {\n if (global.RN$Bridgeless === true) {\n // Note: this function has the same implementation in the legacy and new renderer.\n // However, evaluating the old renderer comes with some side effects.\n return require('../Renderer/shims/ReactFabric').dispatchCommand(\n handle,\n command,\n args,\n );\n } else {\n return require('../Renderer/shims/ReactNative').dispatchCommand(\n handle,\n command,\n args,\n );\n }\n}\n\nexport function sendAccessibilityEvent(\n handle: ElementRef>,\n eventType: string,\n): void {\n return require('../Renderer/shims/ReactNative').sendAccessibilityEvent(\n handle,\n eventType,\n );\n}\n\n/**\n * This method is used by AppRegistry to unmount a root when using the old\n * React Native renderer (Paper).\n */\nexport function unmountComponentAtNodeAndRemoveContainer(rootTag: RootTag) {\n // $FlowExpectedError[incompatible-type] rootTag is an opaque type so we can't really cast it as is.\n const rootTagAsNumber: number = rootTag;\n require('../Renderer/shims/ReactNative').unmountComponentAtNodeAndRemoveContainer(\n rootTagAsNumber,\n );\n}\n\nexport function unstable_batchedUpdates(\n fn: T => void,\n bookkeeping: T,\n): void {\n // This doesn't actually do anything when batching updates for a Fabric root.\n return require('../Renderer/shims/ReactNative').unstable_batchedUpdates(\n fn,\n bookkeeping,\n );\n}\n\nexport function isProfilingRenderer(): boolean {\n return Boolean(__DEV__);\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 * @noformat\n * @flow\n * @nolint\n * @generated SignedSource<>\n */\n\n'use strict';\n\nimport {BatchedBridge} from 'react-native/Libraries/ReactPrivate/ReactNativePrivateInterface';\n\nimport type {ReactFabricType} from './ReactNativeTypes';\n\nlet ReactFabric;\n\nif (__DEV__) {\n ReactFabric = require('../implementations/ReactFabric-dev');\n} else {\n ReactFabric = require('../implementations/ReactFabric-prod');\n}\n\nglobal.RN$stopSurface = ReactFabric.stopSurface;\n\nif (global.RN$Bridgeless !== true) {\n BatchedBridge.registerCallableModule('ReactFabric', ReactFabric);\n}\n\nmodule.exports = (ReactFabric: ReactFabricType);\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 * @noflow\n * @nolint\n * @providesModule ReactFabric-prod\n * @preventMunge\n * @generated SignedSource<>\n */\n\n\"use strict\";\nrequire(\"react-native/Libraries/ReactPrivate/ReactNativePrivateInitializeCore\");\nvar ReactNativePrivateInterface = require(\"react-native/Libraries/ReactPrivate/ReactNativePrivateInterface\"),\n React = require(\"react\"),\n Scheduler = require(\"scheduler\");\nfunction invokeGuardedCallbackImpl(name, func, context, a, b, c, d, e, f) {\n var funcArgs = Array.prototype.slice.call(arguments, 3);\n try {\n func.apply(context, funcArgs);\n } catch (error) {\n this.onError(error);\n }\n}\nvar hasError = !1,\n caughtError = null,\n hasRethrowError = !1,\n rethrowError = null,\n reporter = {\n onError: function(error) {\n hasError = !0;\n caughtError = error;\n }\n };\nfunction invokeGuardedCallback(name, func, context, a, b, c, d, e, f) {\n hasError = !1;\n caughtError = null;\n invokeGuardedCallbackImpl.apply(reporter, arguments);\n}\nfunction invokeGuardedCallbackAndCatchFirstError(\n name,\n func,\n context,\n a,\n b,\n c,\n d,\n e,\n f\n) {\n invokeGuardedCallback.apply(this, arguments);\n if (hasError) {\n if (hasError) {\n var error = caughtError;\n hasError = !1;\n caughtError = null;\n } else\n throw Error(\n \"clearCaughtError was called but no error was captured. This error is likely caused by a bug in React. Please file an issue.\"\n );\n hasRethrowError || ((hasRethrowError = !0), (rethrowError = error));\n }\n}\nvar isArrayImpl = Array.isArray,\n getFiberCurrentPropsFromNode = null,\n getInstanceFromNode = null,\n getNodeFromInstance = null;\nfunction executeDispatch(event, listener, inst) {\n var type = event.type || \"unknown-event\";\n event.currentTarget = getNodeFromInstance(inst);\n invokeGuardedCallbackAndCatchFirstError(type, listener, void 0, event);\n event.currentTarget = null;\n}\nfunction executeDirectDispatch(event) {\n var dispatchListener = event._dispatchListeners,\n dispatchInstance = event._dispatchInstances;\n if (isArrayImpl(dispatchListener))\n throw Error(\"executeDirectDispatch(...): Invalid `event`.\");\n event.currentTarget = dispatchListener\n ? getNodeFromInstance(dispatchInstance)\n : null;\n dispatchListener = dispatchListener ? dispatchListener(event) : null;\n event.currentTarget = null;\n event._dispatchListeners = null;\n event._dispatchInstances = null;\n return dispatchListener;\n}\nvar assign = Object.assign;\nfunction functionThatReturnsTrue() {\n return !0;\n}\nfunction functionThatReturnsFalse() {\n return !1;\n}\nfunction SyntheticEvent(\n dispatchConfig,\n targetInst,\n nativeEvent,\n nativeEventTarget\n) {\n this.dispatchConfig = dispatchConfig;\n this._targetInst = targetInst;\n this.nativeEvent = nativeEvent;\n this._dispatchInstances = this._dispatchListeners = null;\n dispatchConfig = this.constructor.Interface;\n for (var propName in dispatchConfig)\n dispatchConfig.hasOwnProperty(propName) &&\n ((targetInst = dispatchConfig[propName])\n ? (this[propName] = targetInst(nativeEvent))\n : \"target\" === propName\n ? (this.target = nativeEventTarget)\n : (this[propName] = nativeEvent[propName]));\n this.isDefaultPrevented = (null != nativeEvent.defaultPrevented\n ? nativeEvent.defaultPrevented\n : !1 === nativeEvent.returnValue)\n ? functionThatReturnsTrue\n : functionThatReturnsFalse;\n this.isPropagationStopped = functionThatReturnsFalse;\n return this;\n}\nassign(SyntheticEvent.prototype, {\n preventDefault: function() {\n this.defaultPrevented = !0;\n var event = this.nativeEvent;\n event &&\n (event.preventDefault\n ? event.preventDefault()\n : \"unknown\" !== typeof event.returnValue && (event.returnValue = !1),\n (this.isDefaultPrevented = functionThatReturnsTrue));\n },\n stopPropagation: function() {\n var event = this.nativeEvent;\n event &&\n (event.stopPropagation\n ? event.stopPropagation()\n : \"unknown\" !== typeof event.cancelBubble && (event.cancelBubble = !0),\n (this.isPropagationStopped = functionThatReturnsTrue));\n },\n persist: function() {\n this.isPersistent = functionThatReturnsTrue;\n },\n isPersistent: functionThatReturnsFalse,\n destructor: function() {\n var Interface = this.constructor.Interface,\n propName;\n for (propName in Interface) this[propName] = null;\n this.nativeEvent = this._targetInst = this.dispatchConfig = null;\n this.isPropagationStopped = this.isDefaultPrevented = functionThatReturnsFalse;\n this._dispatchInstances = this._dispatchListeners = null;\n }\n});\nSyntheticEvent.Interface = {\n type: null,\n target: null,\n currentTarget: function() {\n return null;\n },\n eventPhase: null,\n bubbles: null,\n cancelable: null,\n timeStamp: function(event) {\n return event.timeStamp || Date.now();\n },\n defaultPrevented: null,\n isTrusted: null\n};\nSyntheticEvent.extend = function(Interface) {\n function E() {}\n function Class() {\n return Super.apply(this, arguments);\n }\n var Super = this;\n E.prototype = Super.prototype;\n var prototype = new E();\n assign(prototype, Class.prototype);\n Class.prototype = prototype;\n Class.prototype.constructor = Class;\n Class.Interface = assign({}, Super.Interface, Interface);\n Class.extend = Super.extend;\n addEventPoolingTo(Class);\n return Class;\n};\naddEventPoolingTo(SyntheticEvent);\nfunction createOrGetPooledEvent(\n dispatchConfig,\n targetInst,\n nativeEvent,\n nativeInst\n) {\n if (this.eventPool.length) {\n var instance = this.eventPool.pop();\n this.call(instance, dispatchConfig, targetInst, nativeEvent, nativeInst);\n return instance;\n }\n return new this(dispatchConfig, targetInst, nativeEvent, nativeInst);\n}\nfunction releasePooledEvent(event) {\n if (!(event instanceof this))\n throw Error(\n \"Trying to release an event instance into a pool of a different type.\"\n );\n event.destructor();\n 10 > this.eventPool.length && this.eventPool.push(event);\n}\nfunction addEventPoolingTo(EventConstructor) {\n EventConstructor.getPooled = createOrGetPooledEvent;\n EventConstructor.eventPool = [];\n EventConstructor.release = releasePooledEvent;\n}\nvar ResponderSyntheticEvent = SyntheticEvent.extend({\n touchHistory: function() {\n return null;\n }\n});\nfunction isStartish(topLevelType) {\n return \"topTouchStart\" === topLevelType;\n}\nfunction isMoveish(topLevelType) {\n return \"topTouchMove\" === topLevelType;\n}\nvar startDependencies = [\"topTouchStart\"],\n moveDependencies = [\"topTouchMove\"],\n endDependencies = [\"topTouchCancel\", \"topTouchEnd\"],\n touchBank = [],\n touchHistory = {\n touchBank: touchBank,\n numberActiveTouches: 0,\n indexOfSingleActiveTouch: -1,\n mostRecentTimeStamp: 0\n };\nfunction timestampForTouch(touch) {\n return touch.timeStamp || touch.timestamp;\n}\nfunction getTouchIdentifier(_ref) {\n _ref = _ref.identifier;\n if (null == _ref) throw Error(\"Touch object is missing identifier.\");\n return _ref;\n}\nfunction recordTouchStart(touch) {\n var identifier = getTouchIdentifier(touch),\n touchRecord = touchBank[identifier];\n touchRecord\n ? ((touchRecord.touchActive = !0),\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 : ((touchRecord = {\n touchActive: !0,\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 (touchBank[identifier] = touchRecord));\n touchHistory.mostRecentTimeStamp = timestampForTouch(touch);\n}\nfunction recordTouchMove(touch) {\n var touchRecord = touchBank[getTouchIdentifier(touch)];\n touchRecord &&\n ((touchRecord.touchActive = !0),\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}\nfunction recordTouchEnd(touch) {\n var touchRecord = touchBank[getTouchIdentifier(touch)];\n touchRecord &&\n ((touchRecord.touchActive = !1),\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}\nvar instrumentationCallback,\n ResponderTouchHistoryStore = {\n instrument: function(callback) {\n instrumentationCallback = callback;\n },\n recordTouchTrack: function(topLevelType, nativeEvent) {\n null != instrumentationCallback &&\n instrumentationCallback(topLevelType, nativeEvent);\n if (isMoveish(topLevelType))\n nativeEvent.changedTouches.forEach(recordTouchMove);\n else if (isStartish(topLevelType))\n nativeEvent.changedTouches.forEach(recordTouchStart),\n (touchHistory.numberActiveTouches = nativeEvent.touches.length),\n 1 === touchHistory.numberActiveTouches &&\n (touchHistory.indexOfSingleActiveTouch =\n nativeEvent.touches[0].identifier);\n else if (\n \"topTouchEnd\" === topLevelType ||\n \"topTouchCancel\" === topLevelType\n )\n if (\n (nativeEvent.changedTouches.forEach(recordTouchEnd),\n (touchHistory.numberActiveTouches = nativeEvent.touches.length),\n 1 === touchHistory.numberActiveTouches)\n )\n for (\n topLevelType = 0;\n topLevelType < touchBank.length;\n topLevelType++\n )\n if (\n ((nativeEvent = touchBank[topLevelType]),\n null != nativeEvent && nativeEvent.touchActive)\n ) {\n touchHistory.indexOfSingleActiveTouch = topLevelType;\n break;\n }\n },\n touchHistory: touchHistory\n };\nfunction accumulate(current, next) {\n if (null == next)\n throw Error(\n \"accumulate(...): Accumulated items must not be null or undefined.\"\n );\n return null == current\n ? next\n : isArrayImpl(current)\n ? current.concat(next)\n : isArrayImpl(next)\n ? [current].concat(next)\n : [current, next];\n}\nfunction accumulateInto(current, next) {\n if (null == next)\n throw Error(\n \"accumulateInto(...): Accumulated items must not be null or undefined.\"\n );\n if (null == current) return next;\n if (isArrayImpl(current)) {\n if (isArrayImpl(next)) return current.push.apply(current, next), current;\n current.push(next);\n return current;\n }\n return isArrayImpl(next) ? [current].concat(next) : [current, next];\n}\nfunction forEachAccumulated(arr, cb, scope) {\n Array.isArray(arr) ? arr.forEach(cb, scope) : arr && cb.call(scope, arr);\n}\nvar responderInst = null,\n trackedTouchCount = 0;\nfunction changeResponder(nextResponderInst, blockHostResponder) {\n var oldResponderInst = responderInst;\n responderInst = nextResponderInst;\n if (null !== ResponderEventPlugin.GlobalResponderHandler)\n ResponderEventPlugin.GlobalResponderHandler.onChange(\n oldResponderInst,\n nextResponderInst,\n blockHostResponder\n );\n}\nvar eventTypes = {\n startShouldSetResponder: {\n phasedRegistrationNames: {\n bubbled: \"onStartShouldSetResponder\",\n captured: \"onStartShouldSetResponderCapture\"\n },\n dependencies: startDependencies\n },\n scrollShouldSetResponder: {\n phasedRegistrationNames: {\n bubbled: \"onScrollShouldSetResponder\",\n captured: \"onScrollShouldSetResponderCapture\"\n },\n dependencies: [\"topScroll\"]\n },\n selectionChangeShouldSetResponder: {\n phasedRegistrationNames: {\n bubbled: \"onSelectionChangeShouldSetResponder\",\n captured: \"onSelectionChangeShouldSetResponderCapture\"\n },\n dependencies: [\"topSelectionChange\"]\n },\n moveShouldSetResponder: {\n phasedRegistrationNames: {\n bubbled: \"onMoveShouldSetResponder\",\n captured: \"onMoveShouldSetResponderCapture\"\n },\n dependencies: moveDependencies\n },\n responderStart: {\n registrationName: \"onResponderStart\",\n dependencies: startDependencies\n },\n responderMove: {\n registrationName: \"onResponderMove\",\n dependencies: moveDependencies\n },\n responderEnd: {\n registrationName: \"onResponderEnd\",\n dependencies: endDependencies\n },\n responderRelease: {\n registrationName: \"onResponderRelease\",\n dependencies: endDependencies\n },\n responderTerminationRequest: {\n registrationName: \"onResponderTerminationRequest\",\n dependencies: []\n },\n responderGrant: { registrationName: \"onResponderGrant\", dependencies: [] },\n responderReject: { registrationName: \"onResponderReject\", dependencies: [] },\n responderTerminate: {\n registrationName: \"onResponderTerminate\",\n dependencies: []\n }\n};\nfunction getParent(inst) {\n do inst = inst.return;\n while (inst && 5 !== inst.tag);\n return inst ? inst : null;\n}\nfunction traverseTwoPhase(inst, fn, arg) {\n for (var path = []; inst; ) path.push(inst), (inst = getParent(inst));\n for (inst = path.length; 0 < inst--; ) fn(path[inst], \"captured\", arg);\n for (inst = 0; inst < path.length; inst++) fn(path[inst], \"bubbled\", arg);\n}\nfunction getListener(inst, registrationName) {\n inst = inst.stateNode;\n if (null === inst) return null;\n inst = getFiberCurrentPropsFromNode(inst);\n if (null === inst) return null;\n if ((inst = inst[registrationName]) && \"function\" !== typeof inst)\n throw Error(\n \"Expected `\" +\n registrationName +\n \"` listener to be a function, instead got a value of `\" +\n typeof inst +\n \"` type.\"\n );\n return inst;\n}\nfunction accumulateDirectionalDispatches(inst, phase, event) {\n if (\n (phase = getListener(\n inst,\n event.dispatchConfig.phasedRegistrationNames[phase]\n ))\n )\n (event._dispatchListeners = accumulateInto(\n event._dispatchListeners,\n phase\n )),\n (event._dispatchInstances = accumulateInto(\n event._dispatchInstances,\n inst\n ));\n}\nfunction accumulateDirectDispatchesSingle(event) {\n if (event && event.dispatchConfig.registrationName) {\n var inst = event._targetInst;\n if (inst && event && event.dispatchConfig.registrationName) {\n var listener = getListener(inst, event.dispatchConfig.registrationName);\n listener &&\n ((event._dispatchListeners = accumulateInto(\n event._dispatchListeners,\n listener\n )),\n (event._dispatchInstances = accumulateInto(\n event._dispatchInstances,\n inst\n )));\n }\n }\n}\nfunction accumulateTwoPhaseDispatchesSingleSkipTarget(event) {\n if (event && event.dispatchConfig.phasedRegistrationNames) {\n var targetInst = event._targetInst;\n targetInst = targetInst ? getParent(targetInst) : null;\n traverseTwoPhase(targetInst, accumulateDirectionalDispatches, event);\n }\n}\nfunction accumulateTwoPhaseDispatchesSingle(event) {\n event &&\n event.dispatchConfig.phasedRegistrationNames &&\n traverseTwoPhase(event._targetInst, accumulateDirectionalDispatches, event);\n}\nvar ResponderEventPlugin = {\n _getResponder: function() {\n return responderInst;\n },\n eventTypes: eventTypes,\n extractEvents: function(\n topLevelType,\n targetInst,\n nativeEvent,\n nativeEventTarget\n ) {\n if (isStartish(topLevelType)) trackedTouchCount += 1;\n else if (\n \"topTouchEnd\" === topLevelType ||\n \"topTouchCancel\" === topLevelType\n )\n if (0 <= trackedTouchCount) --trackedTouchCount;\n else return null;\n ResponderTouchHistoryStore.recordTouchTrack(topLevelType, nativeEvent);\n if (\n targetInst &&\n ((\"topScroll\" === topLevelType && !nativeEvent.responderIgnoreScroll) ||\n (0 < trackedTouchCount && \"topSelectionChange\" === topLevelType) ||\n isStartish(topLevelType) ||\n isMoveish(topLevelType))\n ) {\n var shouldSetEventType = isStartish(topLevelType)\n ? eventTypes.startShouldSetResponder\n : isMoveish(topLevelType)\n ? eventTypes.moveShouldSetResponder\n : \"topSelectionChange\" === topLevelType\n ? eventTypes.selectionChangeShouldSetResponder\n : eventTypes.scrollShouldSetResponder;\n if (responderInst)\n b: {\n var JSCompiler_temp = responderInst;\n for (\n var depthA = 0, tempA = JSCompiler_temp;\n tempA;\n tempA = getParent(tempA)\n )\n depthA++;\n tempA = 0;\n for (var tempB = targetInst; tempB; tempB = getParent(tempB))\n tempA++;\n for (; 0 < depthA - tempA; )\n (JSCompiler_temp = getParent(JSCompiler_temp)), depthA--;\n for (; 0 < tempA - depthA; )\n (targetInst = getParent(targetInst)), tempA--;\n for (; depthA--; ) {\n if (\n JSCompiler_temp === targetInst ||\n JSCompiler_temp === targetInst.alternate\n )\n break b;\n JSCompiler_temp = getParent(JSCompiler_temp);\n targetInst = getParent(targetInst);\n }\n JSCompiler_temp = null;\n }\n else JSCompiler_temp = targetInst;\n targetInst = JSCompiler_temp;\n JSCompiler_temp = targetInst === responderInst;\n shouldSetEventType = ResponderSyntheticEvent.getPooled(\n shouldSetEventType,\n targetInst,\n nativeEvent,\n nativeEventTarget\n );\n shouldSetEventType.touchHistory =\n ResponderTouchHistoryStore.touchHistory;\n JSCompiler_temp\n ? forEachAccumulated(\n shouldSetEventType,\n accumulateTwoPhaseDispatchesSingleSkipTarget\n )\n : forEachAccumulated(\n shouldSetEventType,\n accumulateTwoPhaseDispatchesSingle\n );\n b: {\n JSCompiler_temp = shouldSetEventType._dispatchListeners;\n targetInst = shouldSetEventType._dispatchInstances;\n if (isArrayImpl(JSCompiler_temp))\n for (\n depthA = 0;\n depthA < JSCompiler_temp.length &&\n !shouldSetEventType.isPropagationStopped();\n depthA++\n ) {\n if (\n JSCompiler_temp[depthA](shouldSetEventType, targetInst[depthA])\n ) {\n JSCompiler_temp = targetInst[depthA];\n break b;\n }\n }\n else if (\n JSCompiler_temp &&\n JSCompiler_temp(shouldSetEventType, targetInst)\n ) {\n JSCompiler_temp = targetInst;\n break b;\n }\n JSCompiler_temp = null;\n }\n shouldSetEventType._dispatchInstances = null;\n shouldSetEventType._dispatchListeners = null;\n shouldSetEventType.isPersistent() ||\n shouldSetEventType.constructor.release(shouldSetEventType);\n if (JSCompiler_temp && JSCompiler_temp !== responderInst)\n if (\n ((shouldSetEventType = ResponderSyntheticEvent.getPooled(\n eventTypes.responderGrant,\n JSCompiler_temp,\n nativeEvent,\n nativeEventTarget\n )),\n (shouldSetEventType.touchHistory =\n ResponderTouchHistoryStore.touchHistory),\n forEachAccumulated(\n shouldSetEventType,\n accumulateDirectDispatchesSingle\n ),\n (targetInst = !0 === executeDirectDispatch(shouldSetEventType)),\n responderInst)\n )\n if (\n ((depthA = ResponderSyntheticEvent.getPooled(\n eventTypes.responderTerminationRequest,\n responderInst,\n nativeEvent,\n nativeEventTarget\n )),\n (depthA.touchHistory = ResponderTouchHistoryStore.touchHistory),\n forEachAccumulated(depthA, accumulateDirectDispatchesSingle),\n (tempA =\n !depthA._dispatchListeners || executeDirectDispatch(depthA)),\n depthA.isPersistent() || depthA.constructor.release(depthA),\n tempA)\n ) {\n depthA = ResponderSyntheticEvent.getPooled(\n eventTypes.responderTerminate,\n responderInst,\n nativeEvent,\n nativeEventTarget\n );\n depthA.touchHistory = ResponderTouchHistoryStore.touchHistory;\n forEachAccumulated(depthA, accumulateDirectDispatchesSingle);\n var JSCompiler_temp$jscomp$0 = accumulate(\n JSCompiler_temp$jscomp$0,\n [shouldSetEventType, depthA]\n );\n changeResponder(JSCompiler_temp, targetInst);\n } else\n (shouldSetEventType = ResponderSyntheticEvent.getPooled(\n eventTypes.responderReject,\n JSCompiler_temp,\n nativeEvent,\n nativeEventTarget\n )),\n (shouldSetEventType.touchHistory =\n ResponderTouchHistoryStore.touchHistory),\n forEachAccumulated(\n shouldSetEventType,\n accumulateDirectDispatchesSingle\n ),\n (JSCompiler_temp$jscomp$0 = accumulate(\n JSCompiler_temp$jscomp$0,\n shouldSetEventType\n ));\n else\n (JSCompiler_temp$jscomp$0 = accumulate(\n JSCompiler_temp$jscomp$0,\n shouldSetEventType\n )),\n changeResponder(JSCompiler_temp, targetInst);\n else JSCompiler_temp$jscomp$0 = null;\n } else JSCompiler_temp$jscomp$0 = null;\n shouldSetEventType = responderInst && isStartish(topLevelType);\n JSCompiler_temp = responderInst && isMoveish(topLevelType);\n targetInst =\n responderInst &&\n (\"topTouchEnd\" === topLevelType || \"topTouchCancel\" === topLevelType);\n if (\n (shouldSetEventType = shouldSetEventType\n ? eventTypes.responderStart\n : JSCompiler_temp\n ? eventTypes.responderMove\n : targetInst\n ? eventTypes.responderEnd\n : null)\n )\n (shouldSetEventType = ResponderSyntheticEvent.getPooled(\n shouldSetEventType,\n responderInst,\n nativeEvent,\n nativeEventTarget\n )),\n (shouldSetEventType.touchHistory =\n ResponderTouchHistoryStore.touchHistory),\n forEachAccumulated(\n shouldSetEventType,\n accumulateDirectDispatchesSingle\n ),\n (JSCompiler_temp$jscomp$0 = accumulate(\n JSCompiler_temp$jscomp$0,\n shouldSetEventType\n ));\n shouldSetEventType = responderInst && \"topTouchCancel\" === topLevelType;\n if (\n (topLevelType =\n responderInst &&\n !shouldSetEventType &&\n (\"topTouchEnd\" === topLevelType || \"topTouchCancel\" === topLevelType))\n )\n a: {\n if ((topLevelType = nativeEvent.touches) && 0 !== topLevelType.length)\n for (\n JSCompiler_temp = 0;\n JSCompiler_temp < topLevelType.length;\n JSCompiler_temp++\n )\n if (\n ((targetInst = topLevelType[JSCompiler_temp].target),\n null !== targetInst &&\n void 0 !== targetInst &&\n 0 !== targetInst)\n ) {\n depthA = getInstanceFromNode(targetInst);\n b: {\n for (targetInst = responderInst; depthA; ) {\n if (\n targetInst === depthA ||\n targetInst === depthA.alternate\n ) {\n targetInst = !0;\n break b;\n }\n depthA = getParent(depthA);\n }\n targetInst = !1;\n }\n if (targetInst) {\n topLevelType = !1;\n break a;\n }\n }\n topLevelType = !0;\n }\n if (\n (topLevelType = shouldSetEventType\n ? eventTypes.responderTerminate\n : topLevelType\n ? eventTypes.responderRelease\n : null)\n )\n (nativeEvent = ResponderSyntheticEvent.getPooled(\n topLevelType,\n responderInst,\n nativeEvent,\n nativeEventTarget\n )),\n (nativeEvent.touchHistory = ResponderTouchHistoryStore.touchHistory),\n forEachAccumulated(nativeEvent, accumulateDirectDispatchesSingle),\n (JSCompiler_temp$jscomp$0 = accumulate(\n JSCompiler_temp$jscomp$0,\n nativeEvent\n )),\n changeResponder(null);\n return JSCompiler_temp$jscomp$0;\n },\n GlobalResponderHandler: null,\n injection: {\n injectGlobalResponderHandler: function(GlobalResponderHandler) {\n ResponderEventPlugin.GlobalResponderHandler = GlobalResponderHandler;\n }\n }\n },\n eventPluginOrder = null,\n namesToPlugins = {};\nfunction recomputePluginOrdering() {\n if (eventPluginOrder)\n for (var pluginName in namesToPlugins) {\n var pluginModule = namesToPlugins[pluginName],\n pluginIndex = eventPluginOrder.indexOf(pluginName);\n if (-1 >= pluginIndex)\n throw Error(\n \"EventPluginRegistry: Cannot inject event plugins that do not exist in the plugin ordering, `\" +\n (pluginName + \"`.\")\n );\n if (!plugins[pluginIndex]) {\n if (!pluginModule.extractEvents)\n throw Error(\n \"EventPluginRegistry: Event plugins must implement an `extractEvents` method, but `\" +\n (pluginName + \"` does not.\")\n );\n plugins[pluginIndex] = pluginModule;\n pluginIndex = pluginModule.eventTypes;\n for (var eventName in pluginIndex) {\n var JSCompiler_inline_result = void 0;\n var dispatchConfig = pluginIndex[eventName],\n eventName$jscomp$0 = eventName;\n if (eventNameDispatchConfigs.hasOwnProperty(eventName$jscomp$0))\n throw Error(\n \"EventPluginRegistry: More than one plugin attempted to publish the same event name, `\" +\n (eventName$jscomp$0 + \"`.\")\n );\n eventNameDispatchConfigs[eventName$jscomp$0] = dispatchConfig;\n var phasedRegistrationNames = dispatchConfig.phasedRegistrationNames;\n if (phasedRegistrationNames) {\n for (JSCompiler_inline_result in phasedRegistrationNames)\n phasedRegistrationNames.hasOwnProperty(\n JSCompiler_inline_result\n ) &&\n publishRegistrationName(\n phasedRegistrationNames[JSCompiler_inline_result],\n pluginModule,\n eventName$jscomp$0\n );\n JSCompiler_inline_result = !0;\n } else\n dispatchConfig.registrationName\n ? (publishRegistrationName(\n dispatchConfig.registrationName,\n pluginModule,\n eventName$jscomp$0\n ),\n (JSCompiler_inline_result = !0))\n : (JSCompiler_inline_result = !1);\n if (!JSCompiler_inline_result)\n throw Error(\n \"EventPluginRegistry: Failed to publish event `\" +\n eventName +\n \"` for plugin `\" +\n pluginName +\n \"`.\"\n );\n }\n }\n }\n}\nfunction publishRegistrationName(registrationName, pluginModule) {\n if (registrationNameModules[registrationName])\n throw Error(\n \"EventPluginRegistry: More than one plugin attempted to publish the same registration name, `\" +\n (registrationName + \"`.\")\n );\n registrationNameModules[registrationName] = pluginModule;\n}\nvar plugins = [],\n eventNameDispatchConfigs = {},\n registrationNameModules = {};\nfunction getListeners(\n inst,\n registrationName,\n phase,\n dispatchToImperativeListeners\n) {\n var stateNode = inst.stateNode;\n if (null === stateNode) return null;\n inst = getFiberCurrentPropsFromNode(stateNode);\n if (null === inst) return null;\n if ((inst = inst[registrationName]) && \"function\" !== typeof inst)\n throw Error(\n \"Expected `\" +\n registrationName +\n \"` listener to be a function, instead got a value of `\" +\n typeof inst +\n \"` type.\"\n );\n if (\n !(\n dispatchToImperativeListeners &&\n stateNode.canonical &&\n stateNode.canonical._eventListeners\n )\n )\n return inst;\n var listeners = [];\n inst && listeners.push(inst);\n var requestedPhaseIsCapture = \"captured\" === phase,\n mangledImperativeRegistrationName = requestedPhaseIsCapture\n ? \"rn:\" + registrationName.replace(/Capture$/, \"\")\n : \"rn:\" + registrationName;\n stateNode.canonical._eventListeners[mangledImperativeRegistrationName] &&\n 0 <\n stateNode.canonical._eventListeners[mangledImperativeRegistrationName]\n .length &&\n stateNode.canonical._eventListeners[\n mangledImperativeRegistrationName\n ].forEach(function(listenerObj) {\n if (\n (null != listenerObj.options.capture && listenerObj.options.capture) ===\n requestedPhaseIsCapture\n ) {\n var listenerFnWrapper = function(syntheticEvent) {\n var eventInst = new ReactNativePrivateInterface.CustomEvent(\n mangledImperativeRegistrationName,\n { detail: syntheticEvent.nativeEvent }\n );\n eventInst.isTrusted = !0;\n eventInst.setSyntheticEvent(syntheticEvent);\n for (\n var _len = arguments.length,\n args = Array(1 < _len ? _len - 1 : 0),\n _key = 1;\n _key < _len;\n _key++\n )\n args[_key - 1] = arguments[_key];\n listenerObj.listener.apply(listenerObj, [eventInst].concat(args));\n };\n listenerObj.options.once\n ? listeners.push(function() {\n stateNode.canonical.removeEventListener_unstable(\n mangledImperativeRegistrationName,\n listenerObj.listener,\n listenerObj.capture\n );\n listenerObj.invalidated ||\n ((listenerObj.invalidated = !0),\n listenerObj.listener.apply(listenerObj, arguments));\n })\n : listeners.push(listenerFnWrapper);\n }\n });\n return 0 === listeners.length\n ? null\n : 1 === listeners.length\n ? listeners[0]\n : listeners;\n}\nvar customBubblingEventTypes =\n ReactNativePrivateInterface.ReactNativeViewConfigRegistry\n .customBubblingEventTypes,\n customDirectEventTypes =\n ReactNativePrivateInterface.ReactNativeViewConfigRegistry\n .customDirectEventTypes;\nfunction accumulateListenersAndInstances(inst, event, listeners) {\n var listenersLength = listeners\n ? isArrayImpl(listeners)\n ? listeners.length\n : 1\n : 0;\n if (0 < listenersLength)\n if (\n ((event._dispatchListeners = accumulateInto(\n event._dispatchListeners,\n listeners\n )),\n null == event._dispatchInstances && 1 === listenersLength)\n )\n event._dispatchInstances = inst;\n else\n for (\n event._dispatchInstances = event._dispatchInstances || [],\n isArrayImpl(event._dispatchInstances) ||\n (event._dispatchInstances = [event._dispatchInstances]),\n listeners = 0;\n listeners < listenersLength;\n listeners++\n )\n event._dispatchInstances.push(inst);\n}\nfunction accumulateDirectionalDispatches$1(inst, phase, event) {\n phase = getListeners(\n inst,\n event.dispatchConfig.phasedRegistrationNames[phase],\n phase,\n !0\n );\n accumulateListenersAndInstances(inst, event, phase);\n}\nfunction traverseTwoPhase$1(inst, fn, arg, skipBubbling) {\n for (var path = []; inst; ) {\n path.push(inst);\n do inst = inst.return;\n while (inst && 5 !== inst.tag);\n inst = inst ? inst : null;\n }\n for (inst = path.length; 0 < inst--; ) fn(path[inst], \"captured\", arg);\n if (skipBubbling) fn(path[0], \"bubbled\", arg);\n else\n for (inst = 0; inst < path.length; inst++) fn(path[inst], \"bubbled\", arg);\n}\nfunction accumulateTwoPhaseDispatchesSingle$1(event) {\n event &&\n event.dispatchConfig.phasedRegistrationNames &&\n traverseTwoPhase$1(\n event._targetInst,\n accumulateDirectionalDispatches$1,\n event,\n !1\n );\n}\nfunction accumulateDirectDispatchesSingle$1(event) {\n if (event && event.dispatchConfig.registrationName) {\n var inst = event._targetInst;\n if (inst && event && event.dispatchConfig.registrationName) {\n var listeners = getListeners(\n inst,\n event.dispatchConfig.registrationName,\n \"bubbled\",\n !1\n );\n accumulateListenersAndInstances(inst, event, listeners);\n }\n }\n}\nif (eventPluginOrder)\n throw Error(\n \"EventPluginRegistry: Cannot inject event plugin ordering more than once. You are likely trying to load more than one copy of React.\"\n );\neventPluginOrder = Array.prototype.slice.call([\n \"ResponderEventPlugin\",\n \"ReactNativeBridgeEventPlugin\"\n]);\nrecomputePluginOrdering();\nvar injectedNamesToPlugins$jscomp$inline_223 = {\n ResponderEventPlugin: ResponderEventPlugin,\n ReactNativeBridgeEventPlugin: {\n eventTypes: {},\n extractEvents: function(\n topLevelType,\n targetInst,\n nativeEvent,\n nativeEventTarget\n ) {\n if (null == targetInst) return null;\n var bubbleDispatchConfig = customBubblingEventTypes[topLevelType],\n directDispatchConfig = customDirectEventTypes[topLevelType];\n if (!bubbleDispatchConfig && !directDispatchConfig)\n throw Error(\n 'Unsupported top level event type \"' + topLevelType + '\" dispatched'\n );\n topLevelType = SyntheticEvent.getPooled(\n bubbleDispatchConfig || directDispatchConfig,\n targetInst,\n nativeEvent,\n nativeEventTarget\n );\n if (bubbleDispatchConfig)\n null != topLevelType &&\n null != topLevelType.dispatchConfig.phasedRegistrationNames &&\n topLevelType.dispatchConfig.phasedRegistrationNames.skipBubbling\n ? topLevelType &&\n topLevelType.dispatchConfig.phasedRegistrationNames &&\n traverseTwoPhase$1(\n topLevelType._targetInst,\n accumulateDirectionalDispatches$1,\n topLevelType,\n !0\n )\n : forEachAccumulated(\n topLevelType,\n accumulateTwoPhaseDispatchesSingle$1\n );\n else if (directDispatchConfig)\n forEachAccumulated(topLevelType, accumulateDirectDispatchesSingle$1);\n else return null;\n return topLevelType;\n }\n }\n },\n isOrderingDirty$jscomp$inline_224 = !1,\n pluginName$jscomp$inline_225;\nfor (pluginName$jscomp$inline_225 in injectedNamesToPlugins$jscomp$inline_223)\n if (\n injectedNamesToPlugins$jscomp$inline_223.hasOwnProperty(\n pluginName$jscomp$inline_225\n )\n ) {\n var pluginModule$jscomp$inline_226 =\n injectedNamesToPlugins$jscomp$inline_223[pluginName$jscomp$inline_225];\n if (\n !namesToPlugins.hasOwnProperty(pluginName$jscomp$inline_225) ||\n namesToPlugins[pluginName$jscomp$inline_225] !==\n pluginModule$jscomp$inline_226\n ) {\n if (namesToPlugins[pluginName$jscomp$inline_225])\n throw Error(\n \"EventPluginRegistry: Cannot inject two different event plugins using the same name, `\" +\n (pluginName$jscomp$inline_225 + \"`.\")\n );\n namesToPlugins[\n pluginName$jscomp$inline_225\n ] = pluginModule$jscomp$inline_226;\n isOrderingDirty$jscomp$inline_224 = !0;\n }\n }\nisOrderingDirty$jscomp$inline_224 && recomputePluginOrdering();\nfunction getInstanceFromInstance(instanceHandle) {\n return instanceHandle;\n}\ngetFiberCurrentPropsFromNode = function(inst) {\n return inst.canonical.currentProps;\n};\ngetInstanceFromNode = getInstanceFromInstance;\ngetNodeFromInstance = function(inst) {\n inst = inst.stateNode.canonical;\n if (!inst._nativeTag) throw Error(\"All native instances should have a tag.\");\n return inst;\n};\nResponderEventPlugin.injection.injectGlobalResponderHandler({\n onChange: function(from, to, blockNativeResponder) {\n var fromOrTo = from || to;\n (fromOrTo = fromOrTo && fromOrTo.stateNode) &&\n fromOrTo.canonical._internalInstanceHandle\n ? (from &&\n nativeFabricUIManager.setIsJSResponder(\n from.stateNode.node,\n !1,\n blockNativeResponder || !1\n ),\n to &&\n nativeFabricUIManager.setIsJSResponder(\n to.stateNode.node,\n !0,\n blockNativeResponder || !1\n ))\n : null !== to\n ? ReactNativePrivateInterface.UIManager.setJSResponder(\n to.stateNode.canonical._nativeTag,\n blockNativeResponder\n )\n : ReactNativePrivateInterface.UIManager.clearJSResponder();\n }\n});\nvar ReactSharedInternals =\n React.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED,\n REACT_ELEMENT_TYPE = Symbol.for(\"react.element\"),\n REACT_PORTAL_TYPE = Symbol.for(\"react.portal\"),\n REACT_FRAGMENT_TYPE = Symbol.for(\"react.fragment\"),\n REACT_STRICT_MODE_TYPE = Symbol.for(\"react.strict_mode\"),\n REACT_PROFILER_TYPE = Symbol.for(\"react.profiler\"),\n REACT_PROVIDER_TYPE = Symbol.for(\"react.provider\"),\n REACT_CONTEXT_TYPE = Symbol.for(\"react.context\"),\n REACT_FORWARD_REF_TYPE = Symbol.for(\"react.forward_ref\"),\n REACT_SUSPENSE_TYPE = Symbol.for(\"react.suspense\"),\n REACT_SUSPENSE_LIST_TYPE = Symbol.for(\"react.suspense_list\"),\n REACT_MEMO_TYPE = Symbol.for(\"react.memo\"),\n REACT_LAZY_TYPE = Symbol.for(\"react.lazy\");\nSymbol.for(\"react.scope\");\nSymbol.for(\"react.debug_trace_mode\");\nvar REACT_OFFSCREEN_TYPE = Symbol.for(\"react.offscreen\");\nSymbol.for(\"react.legacy_hidden\");\nSymbol.for(\"react.cache\");\nSymbol.for(\"react.tracing_marker\");\nvar MAYBE_ITERATOR_SYMBOL = Symbol.iterator;\nfunction getIteratorFn(maybeIterable) {\n if (null === maybeIterable || \"object\" !== typeof maybeIterable) return null;\n maybeIterable =\n (MAYBE_ITERATOR_SYMBOL && maybeIterable[MAYBE_ITERATOR_SYMBOL]) ||\n maybeIterable[\"@@iterator\"];\n return \"function\" === typeof maybeIterable ? maybeIterable : null;\n}\nfunction getComponentNameFromType(type) {\n if (null == type) return null;\n if (\"function\" === typeof type) return type.displayName || type.name || null;\n if (\"string\" === typeof type) return type;\n switch (type) {\n case REACT_FRAGMENT_TYPE:\n return \"Fragment\";\n case REACT_PORTAL_TYPE:\n return \"Portal\";\n case REACT_PROFILER_TYPE:\n return \"Profiler\";\n case REACT_STRICT_MODE_TYPE:\n return \"StrictMode\";\n case REACT_SUSPENSE_TYPE:\n return \"Suspense\";\n case REACT_SUSPENSE_LIST_TYPE:\n return \"SuspenseList\";\n }\n if (\"object\" === typeof type)\n switch (type.$$typeof) {\n case REACT_CONTEXT_TYPE:\n return (type.displayName || \"Context\") + \".Consumer\";\n case REACT_PROVIDER_TYPE:\n return (type._context.displayName || \"Context\") + \".Provider\";\n case REACT_FORWARD_REF_TYPE:\n var innerType = type.render;\n type = type.displayName;\n type ||\n ((type = innerType.displayName || innerType.name || \"\"),\n (type = \"\" !== type ? \"ForwardRef(\" + type + \")\" : \"ForwardRef\"));\n return type;\n case REACT_MEMO_TYPE:\n return (\n (innerType = type.displayName || null),\n null !== innerType\n ? innerType\n : getComponentNameFromType(type.type) || \"Memo\"\n );\n case REACT_LAZY_TYPE:\n innerType = type._payload;\n type = type._init;\n try {\n return getComponentNameFromType(type(innerType));\n } catch (x) {}\n }\n return null;\n}\nfunction getComponentNameFromFiber(fiber) {\n var type = fiber.type;\n switch (fiber.tag) {\n case 24:\n return \"Cache\";\n case 9:\n return (type.displayName || \"Context\") + \".Consumer\";\n case 10:\n return (type._context.displayName || \"Context\") + \".Provider\";\n case 18:\n return \"DehydratedFragment\";\n case 11:\n return (\n (fiber = type.render),\n (fiber = fiber.displayName || fiber.name || \"\"),\n type.displayName ||\n (\"\" !== fiber ? \"ForwardRef(\" + fiber + \")\" : \"ForwardRef\")\n );\n case 7:\n return \"Fragment\";\n case 5:\n return type;\n case 4:\n return \"Portal\";\n case 3:\n return \"Root\";\n case 6:\n return \"Text\";\n case 16:\n return getComponentNameFromType(type);\n case 8:\n return type === REACT_STRICT_MODE_TYPE ? \"StrictMode\" : \"Mode\";\n case 22:\n return \"Offscreen\";\n case 12:\n return \"Profiler\";\n case 21:\n return \"Scope\";\n case 13:\n return \"Suspense\";\n case 19:\n return \"SuspenseList\";\n case 25:\n return \"TracingMarker\";\n case 1:\n case 0:\n case 17:\n case 2:\n case 14:\n case 15:\n if (\"function\" === typeof type)\n return type.displayName || type.name || null;\n if (\"string\" === typeof type) return type;\n }\n return null;\n}\nfunction getNearestMountedFiber(fiber) {\n var node = fiber,\n nearestMounted = fiber;\n if (fiber.alternate) for (; node.return; ) node = node.return;\n else {\n fiber = node;\n do\n (node = fiber),\n 0 !== (node.flags & 4098) && (nearestMounted = node.return),\n (fiber = node.return);\n while (fiber);\n }\n return 3 === node.tag ? nearestMounted : null;\n}\nfunction assertIsMounted(fiber) {\n if (getNearestMountedFiber(fiber) !== fiber)\n throw Error(\"Unable to find node on an unmounted component.\");\n}\nfunction findCurrentFiberUsingSlowPath(fiber) {\n var alternate = fiber.alternate;\n if (!alternate) {\n alternate = getNearestMountedFiber(fiber);\n if (null === alternate)\n throw Error(\"Unable to find node on an unmounted component.\");\n return alternate !== fiber ? null : fiber;\n }\n for (var a = fiber, b = alternate; ; ) {\n var parentA = a.return;\n if (null === parentA) break;\n var parentB = parentA.alternate;\n if (null === parentB) {\n b = parentA.return;\n if (null !== b) {\n a = b;\n continue;\n }\n break;\n }\n if (parentA.child === parentB.child) {\n for (parentB = parentA.child; parentB; ) {\n if (parentB === a) return assertIsMounted(parentA), fiber;\n if (parentB === b) return assertIsMounted(parentA), alternate;\n parentB = parentB.sibling;\n }\n throw Error(\"Unable to find node on an unmounted component.\");\n }\n if (a.return !== b.return) (a = parentA), (b = parentB);\n else {\n for (var didFindChild = !1, child$0 = parentA.child; child$0; ) {\n if (child$0 === a) {\n didFindChild = !0;\n a = parentA;\n b = parentB;\n break;\n }\n if (child$0 === b) {\n didFindChild = !0;\n b = parentA;\n a = parentB;\n break;\n }\n child$0 = child$0.sibling;\n }\n if (!didFindChild) {\n for (child$0 = parentB.child; child$0; ) {\n if (child$0 === a) {\n didFindChild = !0;\n a = parentB;\n b = parentA;\n break;\n }\n if (child$0 === b) {\n didFindChild = !0;\n b = parentB;\n a = parentA;\n break;\n }\n child$0 = child$0.sibling;\n }\n if (!didFindChild)\n throw Error(\n \"Child was not found in either parent set. This indicates a bug in React related to the return pointer. Please file an issue.\"\n );\n }\n }\n if (a.alternate !== b)\n throw Error(\n \"Return fibers should always be each others' alternates. This error is likely caused by a bug in React. Please file an issue.\"\n );\n }\n if (3 !== a.tag)\n throw Error(\"Unable to find node on an unmounted component.\");\n return a.stateNode.current === a ? fiber : alternate;\n}\nfunction findCurrentHostFiber(parent) {\n parent = findCurrentFiberUsingSlowPath(parent);\n return null !== parent ? findCurrentHostFiberImpl(parent) : null;\n}\nfunction findCurrentHostFiberImpl(node) {\n if (5 === node.tag || 6 === node.tag) return node;\n for (node = node.child; null !== node; ) {\n var match = findCurrentHostFiberImpl(node);\n if (null !== match) return match;\n node = node.sibling;\n }\n return null;\n}\nfunction mountSafeCallback_NOT_REALLY_SAFE(context, callback) {\n return function() {\n if (\n callback &&\n (\"boolean\" !== typeof context.__isMounted || context.__isMounted)\n )\n return callback.apply(context, arguments);\n };\n}\nvar emptyObject = {},\n removedKeys = null,\n removedKeyCount = 0,\n deepDifferOptions = { unsafelyIgnoreFunctions: !0 };\nfunction defaultDiffer(prevProp, nextProp) {\n return \"object\" !== typeof nextProp || null === nextProp\n ? !0\n : ReactNativePrivateInterface.deepDiffer(\n prevProp,\n nextProp,\n deepDifferOptions\n );\n}\nfunction restoreDeletedValuesInNestedArray(\n updatePayload,\n node,\n validAttributes\n) {\n if (isArrayImpl(node))\n for (var i = node.length; i-- && 0 < removedKeyCount; )\n restoreDeletedValuesInNestedArray(\n updatePayload,\n node[i],\n validAttributes\n );\n else if (node && 0 < removedKeyCount)\n for (i in removedKeys)\n if (removedKeys[i]) {\n var nextProp = node[i];\n if (void 0 !== nextProp) {\n var attributeConfig = validAttributes[i];\n if (attributeConfig) {\n \"function\" === typeof nextProp && (nextProp = !0);\n \"undefined\" === typeof nextProp && (nextProp = null);\n if (\"object\" !== typeof attributeConfig)\n updatePayload[i] = nextProp;\n else if (\n \"function\" === typeof attributeConfig.diff ||\n \"function\" === typeof attributeConfig.process\n )\n (nextProp =\n \"function\" === typeof attributeConfig.process\n ? attributeConfig.process(nextProp)\n : nextProp),\n (updatePayload[i] = nextProp);\n removedKeys[i] = !1;\n removedKeyCount--;\n }\n }\n }\n}\nfunction diffNestedProperty(\n updatePayload,\n prevProp,\n nextProp,\n validAttributes\n) {\n if (!updatePayload && prevProp === nextProp) return updatePayload;\n if (!prevProp || !nextProp)\n return nextProp\n ? addNestedProperty(updatePayload, nextProp, validAttributes)\n : prevProp\n ? clearNestedProperty(updatePayload, prevProp, validAttributes)\n : updatePayload;\n if (!isArrayImpl(prevProp) && !isArrayImpl(nextProp))\n return diffProperties(updatePayload, prevProp, nextProp, validAttributes);\n if (isArrayImpl(prevProp) && isArrayImpl(nextProp)) {\n var minLength =\n prevProp.length < nextProp.length ? prevProp.length : nextProp.length,\n i;\n for (i = 0; i < minLength; i++)\n updatePayload = diffNestedProperty(\n updatePayload,\n prevProp[i],\n nextProp[i],\n validAttributes\n );\n for (; i < prevProp.length; i++)\n updatePayload = clearNestedProperty(\n updatePayload,\n prevProp[i],\n validAttributes\n );\n for (; i < nextProp.length; i++)\n updatePayload = addNestedProperty(\n updatePayload,\n nextProp[i],\n validAttributes\n );\n return updatePayload;\n }\n return isArrayImpl(prevProp)\n ? diffProperties(\n updatePayload,\n ReactNativePrivateInterface.flattenStyle(prevProp),\n nextProp,\n validAttributes\n )\n : diffProperties(\n updatePayload,\n prevProp,\n ReactNativePrivateInterface.flattenStyle(nextProp),\n validAttributes\n );\n}\nfunction addNestedProperty(updatePayload, nextProp, validAttributes) {\n if (!nextProp) return updatePayload;\n if (!isArrayImpl(nextProp))\n return diffProperties(\n updatePayload,\n emptyObject,\n nextProp,\n validAttributes\n );\n for (var i = 0; i < nextProp.length; i++)\n updatePayload = addNestedProperty(\n updatePayload,\n nextProp[i],\n validAttributes\n );\n return updatePayload;\n}\nfunction clearNestedProperty(updatePayload, prevProp, validAttributes) {\n if (!prevProp) return updatePayload;\n if (!isArrayImpl(prevProp))\n return diffProperties(\n updatePayload,\n prevProp,\n emptyObject,\n validAttributes\n );\n for (var i = 0; i < prevProp.length; i++)\n updatePayload = clearNestedProperty(\n updatePayload,\n prevProp[i],\n validAttributes\n );\n return updatePayload;\n}\nfunction diffProperties(updatePayload, prevProps, nextProps, validAttributes) {\n var attributeConfig, propKey;\n for (propKey in nextProps)\n if ((attributeConfig = validAttributes[propKey])) {\n var prevProp = prevProps[propKey];\n var nextProp = nextProps[propKey];\n \"function\" === typeof nextProp &&\n ((nextProp = !0), \"function\" === typeof prevProp && (prevProp = !0));\n \"undefined\" === typeof nextProp &&\n ((nextProp = null),\n \"undefined\" === typeof prevProp && (prevProp = null));\n removedKeys && (removedKeys[propKey] = !1);\n if (updatePayload && void 0 !== updatePayload[propKey])\n if (\"object\" !== typeof attributeConfig)\n updatePayload[propKey] = nextProp;\n else {\n if (\n \"function\" === typeof attributeConfig.diff ||\n \"function\" === typeof attributeConfig.process\n )\n (attributeConfig =\n \"function\" === typeof attributeConfig.process\n ? attributeConfig.process(nextProp)\n : nextProp),\n (updatePayload[propKey] = attributeConfig);\n }\n else if (prevProp !== nextProp)\n if (\"object\" !== typeof attributeConfig)\n defaultDiffer(prevProp, nextProp) &&\n ((updatePayload || (updatePayload = {}))[propKey] = nextProp);\n else if (\n \"function\" === typeof attributeConfig.diff ||\n \"function\" === typeof attributeConfig.process\n ) {\n if (\n void 0 === prevProp ||\n (\"function\" === typeof attributeConfig.diff\n ? attributeConfig.diff(prevProp, nextProp)\n : defaultDiffer(prevProp, nextProp))\n )\n (attributeConfig =\n \"function\" === typeof attributeConfig.process\n ? attributeConfig.process(nextProp)\n : nextProp),\n ((updatePayload || (updatePayload = {}))[\n propKey\n ] = attributeConfig);\n } else\n (removedKeys = null),\n (removedKeyCount = 0),\n (updatePayload = diffNestedProperty(\n updatePayload,\n prevProp,\n nextProp,\n attributeConfig\n )),\n 0 < removedKeyCount &&\n updatePayload &&\n (restoreDeletedValuesInNestedArray(\n updatePayload,\n nextProp,\n attributeConfig\n ),\n (removedKeys = null));\n }\n for (var propKey$2 in prevProps)\n void 0 === nextProps[propKey$2] &&\n (!(attributeConfig = validAttributes[propKey$2]) ||\n (updatePayload && void 0 !== updatePayload[propKey$2]) ||\n ((prevProp = prevProps[propKey$2]),\n void 0 !== prevProp &&\n (\"object\" !== typeof attributeConfig ||\n \"function\" === typeof attributeConfig.diff ||\n \"function\" === typeof attributeConfig.process\n ? (((updatePayload || (updatePayload = {}))[propKey$2] = null),\n removedKeys || (removedKeys = {}),\n removedKeys[propKey$2] ||\n ((removedKeys[propKey$2] = !0), removedKeyCount++))\n : (updatePayload = clearNestedProperty(\n updatePayload,\n prevProp,\n attributeConfig\n )))));\n return updatePayload;\n}\nfunction batchedUpdatesImpl(fn, bookkeeping) {\n return fn(bookkeeping);\n}\nvar isInsideEventHandler = !1;\nfunction batchedUpdates(fn, bookkeeping) {\n if (isInsideEventHandler) return fn(bookkeeping);\n isInsideEventHandler = !0;\n try {\n return batchedUpdatesImpl(fn, bookkeeping);\n } finally {\n isInsideEventHandler = !1;\n }\n}\nvar eventQueue = null;\nfunction executeDispatchesAndReleaseTopLevel(e) {\n if (e) {\n var dispatchListeners = e._dispatchListeners,\n dispatchInstances = e._dispatchInstances;\n if (isArrayImpl(dispatchListeners))\n for (\n var i = 0;\n i < dispatchListeners.length && !e.isPropagationStopped();\n i++\n )\n executeDispatch(e, dispatchListeners[i], dispatchInstances[i]);\n else\n dispatchListeners &&\n executeDispatch(e, dispatchListeners, dispatchInstances);\n e._dispatchListeners = null;\n e._dispatchInstances = null;\n e.isPersistent() || e.constructor.release(e);\n }\n}\nfunction dispatchEvent(target, topLevelType, nativeEvent) {\n var eventTarget = null;\n if (null != target) {\n var stateNode = target.stateNode;\n null != stateNode && (eventTarget = stateNode.canonical);\n }\n batchedUpdates(function() {\n var event = { eventName: topLevelType, nativeEvent: nativeEvent };\n ReactNativePrivateInterface.RawEventEmitter.emit(topLevelType, event);\n ReactNativePrivateInterface.RawEventEmitter.emit(\"*\", event);\n event = eventTarget;\n for (\n var events = null, legacyPlugins = plugins, i = 0;\n i < legacyPlugins.length;\n i++\n ) {\n var possiblePlugin = legacyPlugins[i];\n possiblePlugin &&\n (possiblePlugin = possiblePlugin.extractEvents(\n topLevelType,\n target,\n nativeEvent,\n event\n )) &&\n (events = accumulateInto(events, possiblePlugin));\n }\n event = events;\n null !== event && (eventQueue = accumulateInto(eventQueue, event));\n event = eventQueue;\n eventQueue = null;\n if (event) {\n forEachAccumulated(event, executeDispatchesAndReleaseTopLevel);\n if (eventQueue)\n throw Error(\n \"processEventQueue(): Additional events were enqueued while processing an event queue. Support for this has not yet been implemented.\"\n );\n if (hasRethrowError)\n throw ((event = rethrowError),\n (hasRethrowError = !1),\n (rethrowError = null),\n event);\n }\n });\n}\nvar scheduleCallback = Scheduler.unstable_scheduleCallback,\n cancelCallback = Scheduler.unstable_cancelCallback,\n shouldYield = Scheduler.unstable_shouldYield,\n requestPaint = Scheduler.unstable_requestPaint,\n now = Scheduler.unstable_now,\n ImmediatePriority = Scheduler.unstable_ImmediatePriority,\n UserBlockingPriority = Scheduler.unstable_UserBlockingPriority,\n NormalPriority = Scheduler.unstable_NormalPriority,\n IdlePriority = Scheduler.unstable_IdlePriority,\n rendererID = null,\n injectedHook = null;\nfunction onCommitRoot(root) {\n if (injectedHook && \"function\" === typeof injectedHook.onCommitFiberRoot)\n try {\n injectedHook.onCommitFiberRoot(\n rendererID,\n root,\n void 0,\n 128 === (root.current.flags & 128)\n );\n } catch (err) {}\n}\nvar clz32 = Math.clz32 ? Math.clz32 : clz32Fallback,\n log = Math.log,\n LN2 = Math.LN2;\nfunction clz32Fallback(x) {\n x >>>= 0;\n return 0 === x ? 32 : (31 - ((log(x) / LN2) | 0)) | 0;\n}\nvar nextTransitionLane = 64,\n nextRetryLane = 4194304;\nfunction getHighestPriorityLanes(lanes) {\n switch (lanes & -lanes) {\n case 1:\n return 1;\n case 2:\n return 2;\n case 4:\n return 4;\n case 8:\n return 8;\n case 16:\n return 16;\n case 32:\n return 32;\n case 64:\n case 128:\n case 256:\n case 512:\n case 1024:\n case 2048:\n case 4096:\n case 8192:\n case 16384:\n case 32768:\n case 65536:\n case 131072:\n case 262144:\n case 524288:\n case 1048576:\n case 2097152:\n return lanes & 4194240;\n case 4194304:\n case 8388608:\n case 16777216:\n case 33554432:\n case 67108864:\n return lanes & 130023424;\n case 134217728:\n return 134217728;\n case 268435456:\n return 268435456;\n case 536870912:\n return 536870912;\n case 1073741824:\n return 1073741824;\n default:\n return lanes;\n }\n}\nfunction getNextLanes(root, wipLanes) {\n var pendingLanes = root.pendingLanes;\n if (0 === pendingLanes) return 0;\n var nextLanes = 0,\n suspendedLanes = root.suspendedLanes,\n pingedLanes = root.pingedLanes,\n nonIdlePendingLanes = pendingLanes & 268435455;\n if (0 !== nonIdlePendingLanes) {\n var nonIdleUnblockedLanes = nonIdlePendingLanes & ~suspendedLanes;\n 0 !== nonIdleUnblockedLanes\n ? (nextLanes = getHighestPriorityLanes(nonIdleUnblockedLanes))\n : ((pingedLanes &= nonIdlePendingLanes),\n 0 !== pingedLanes &&\n (nextLanes = getHighestPriorityLanes(pingedLanes)));\n } else\n (nonIdlePendingLanes = pendingLanes & ~suspendedLanes),\n 0 !== nonIdlePendingLanes\n ? (nextLanes = getHighestPriorityLanes(nonIdlePendingLanes))\n : 0 !== pingedLanes &&\n (nextLanes = getHighestPriorityLanes(pingedLanes));\n if (0 === nextLanes) return 0;\n if (\n 0 !== wipLanes &&\n wipLanes !== nextLanes &&\n 0 === (wipLanes & suspendedLanes) &&\n ((suspendedLanes = nextLanes & -nextLanes),\n (pingedLanes = wipLanes & -wipLanes),\n suspendedLanes >= pingedLanes ||\n (16 === suspendedLanes && 0 !== (pingedLanes & 4194240)))\n )\n return wipLanes;\n 0 !== (nextLanes & 4) && (nextLanes |= pendingLanes & 16);\n wipLanes = root.entangledLanes;\n if (0 !== wipLanes)\n for (root = root.entanglements, wipLanes &= nextLanes; 0 < wipLanes; )\n (pendingLanes = 31 - clz32(wipLanes)),\n (suspendedLanes = 1 << pendingLanes),\n (nextLanes |= root[pendingLanes]),\n (wipLanes &= ~suspendedLanes);\n return nextLanes;\n}\nfunction computeExpirationTime(lane, currentTime) {\n switch (lane) {\n case 1:\n case 2:\n case 4:\n return currentTime + 250;\n case 8:\n case 16:\n case 32:\n case 64:\n case 128:\n case 256:\n case 512:\n case 1024:\n case 2048:\n case 4096:\n case 8192:\n case 16384:\n case 32768:\n case 65536:\n case 131072:\n case 262144:\n case 524288:\n case 1048576:\n case 2097152:\n return currentTime + 5e3;\n case 4194304:\n case 8388608:\n case 16777216:\n case 33554432:\n case 67108864:\n return -1;\n case 134217728:\n case 268435456:\n case 536870912:\n case 1073741824:\n return -1;\n default:\n return -1;\n }\n}\nfunction getLanesToRetrySynchronouslyOnError(root) {\n root = root.pendingLanes & -1073741825;\n return 0 !== root ? root : root & 1073741824 ? 1073741824 : 0;\n}\nfunction claimNextTransitionLane() {\n var lane = nextTransitionLane;\n nextTransitionLane <<= 1;\n 0 === (nextTransitionLane & 4194240) && (nextTransitionLane = 64);\n return lane;\n}\nfunction createLaneMap(initial) {\n for (var laneMap = [], i = 0; 31 > i; i++) laneMap.push(initial);\n return laneMap;\n}\nfunction markRootUpdated(root, updateLane, eventTime) {\n root.pendingLanes |= updateLane;\n 536870912 !== updateLane &&\n ((root.suspendedLanes = 0), (root.pingedLanes = 0));\n root = root.eventTimes;\n updateLane = 31 - clz32(updateLane);\n root[updateLane] = eventTime;\n}\nfunction markRootFinished(root, remainingLanes) {\n var noLongerPendingLanes = root.pendingLanes & ~remainingLanes;\n root.pendingLanes = remainingLanes;\n root.suspendedLanes = 0;\n root.pingedLanes = 0;\n root.expiredLanes &= remainingLanes;\n root.mutableReadLanes &= remainingLanes;\n root.entangledLanes &= remainingLanes;\n remainingLanes = root.entanglements;\n var eventTimes = root.eventTimes;\n for (root = root.expirationTimes; 0 < noLongerPendingLanes; ) {\n var index$7 = 31 - clz32(noLongerPendingLanes),\n lane = 1 << index$7;\n remainingLanes[index$7] = 0;\n eventTimes[index$7] = -1;\n root[index$7] = -1;\n noLongerPendingLanes &= ~lane;\n }\n}\nfunction markRootEntangled(root, entangledLanes) {\n var rootEntangledLanes = (root.entangledLanes |= entangledLanes);\n for (root = root.entanglements; rootEntangledLanes; ) {\n var index$8 = 31 - clz32(rootEntangledLanes),\n lane = 1 << index$8;\n (lane & entangledLanes) | (root[index$8] & entangledLanes) &&\n (root[index$8] |= entangledLanes);\n rootEntangledLanes &= ~lane;\n }\n}\nvar currentUpdatePriority = 0;\nfunction lanesToEventPriority(lanes) {\n lanes &= -lanes;\n return 1 < lanes\n ? 4 < lanes\n ? 0 !== (lanes & 268435455)\n ? 16\n : 536870912\n : 4\n : 1;\n}\nfunction shim$1() {\n throw Error(\n \"The current renderer does not support hydration. This error is likely caused by a bug in React. Please file an issue.\"\n );\n}\nvar _nativeFabricUIManage = nativeFabricUIManager,\n createNode = _nativeFabricUIManage.createNode,\n cloneNode = _nativeFabricUIManage.cloneNode,\n cloneNodeWithNewChildren = _nativeFabricUIManage.cloneNodeWithNewChildren,\n cloneNodeWithNewChildrenAndProps =\n _nativeFabricUIManage.cloneNodeWithNewChildrenAndProps,\n cloneNodeWithNewProps = _nativeFabricUIManage.cloneNodeWithNewProps,\n createChildNodeSet = _nativeFabricUIManage.createChildSet,\n appendChildNode = _nativeFabricUIManage.appendChild,\n appendChildNodeToSet = _nativeFabricUIManage.appendChildToSet,\n completeRoot = _nativeFabricUIManage.completeRoot,\n registerEventHandler = _nativeFabricUIManage.registerEventHandler,\n fabricMeasure = _nativeFabricUIManage.measure,\n fabricMeasureInWindow = _nativeFabricUIManage.measureInWindow,\n fabricMeasureLayout = _nativeFabricUIManage.measureLayout,\n FabricDiscretePriority = _nativeFabricUIManage.unstable_DiscreteEventPriority,\n fabricGetCurrentEventPriority =\n _nativeFabricUIManage.unstable_getCurrentEventPriority,\n _setNativeProps = _nativeFabricUIManage.setNativeProps,\n getViewConfigForType =\n ReactNativePrivateInterface.ReactNativeViewConfigRegistry.get,\n nextReactTag = 2;\nregisterEventHandler && registerEventHandler(dispatchEvent);\nvar ReactFabricHostComponent = (function() {\n function ReactFabricHostComponent(\n tag,\n viewConfig,\n props,\n internalInstanceHandle\n ) {\n this._nativeTag = tag;\n this.viewConfig = viewConfig;\n this.currentProps = props;\n this._internalInstanceHandle = internalInstanceHandle;\n }\n var _proto = ReactFabricHostComponent.prototype;\n _proto.blur = function() {\n ReactNativePrivateInterface.TextInputState.blurTextInput(this);\n };\n _proto.focus = function() {\n ReactNativePrivateInterface.TextInputState.focusTextInput(this);\n };\n _proto.measure = function(callback) {\n var stateNode = this._internalInstanceHandle.stateNode;\n null != stateNode &&\n fabricMeasure(\n stateNode.node,\n mountSafeCallback_NOT_REALLY_SAFE(this, callback)\n );\n };\n _proto.measureInWindow = function(callback) {\n var stateNode = this._internalInstanceHandle.stateNode;\n null != stateNode &&\n fabricMeasureInWindow(\n stateNode.node,\n mountSafeCallback_NOT_REALLY_SAFE(this, callback)\n );\n };\n _proto.measureLayout = function(relativeToNativeNode, onSuccess, onFail) {\n if (\n \"number\" !== typeof relativeToNativeNode &&\n relativeToNativeNode instanceof ReactFabricHostComponent\n ) {\n var toStateNode = this._internalInstanceHandle.stateNode;\n relativeToNativeNode =\n relativeToNativeNode._internalInstanceHandle.stateNode;\n null != toStateNode &&\n null != relativeToNativeNode &&\n fabricMeasureLayout(\n toStateNode.node,\n relativeToNativeNode.node,\n mountSafeCallback_NOT_REALLY_SAFE(this, onFail),\n mountSafeCallback_NOT_REALLY_SAFE(this, onSuccess)\n );\n }\n };\n _proto.setNativeProps = function(nativeProps) {\n nativeProps = diffProperties(\n null,\n emptyObject,\n nativeProps,\n this.viewConfig.validAttributes\n );\n var stateNode = this._internalInstanceHandle.stateNode;\n null != stateNode &&\n null != nativeProps &&\n _setNativeProps(stateNode.node, nativeProps);\n };\n _proto.addEventListener_unstable = function(eventType, listener, options) {\n if (\"string\" !== typeof eventType)\n throw Error(\"addEventListener_unstable eventType must be a string\");\n if (\"function\" !== typeof listener)\n throw Error(\"addEventListener_unstable listener must be a function\");\n var optionsObj =\n \"object\" === typeof options && null !== options ? options : {};\n options =\n (\"boolean\" === typeof options ? options : optionsObj.capture) || !1;\n var once = optionsObj.once || !1;\n optionsObj = optionsObj.passive || !1;\n var eventListeners = this._eventListeners || {};\n null == this._eventListeners && (this._eventListeners = eventListeners);\n var namedEventListeners = eventListeners[eventType] || [];\n null == eventListeners[eventType] &&\n (eventListeners[eventType] = namedEventListeners);\n namedEventListeners.push({\n listener: listener,\n invalidated: !1,\n options: {\n capture: options,\n once: once,\n passive: optionsObj,\n signal: null\n }\n });\n };\n _proto.removeEventListener_unstable = function(eventType, listener, options) {\n var optionsObj =\n \"object\" === typeof options && null !== options ? options : {},\n capture =\n (\"boolean\" === typeof options ? options : optionsObj.capture) || !1;\n (options = this._eventListeners) &&\n (optionsObj = options[eventType]) &&\n (options[eventType] = optionsObj.filter(function(listenerObj) {\n return !(\n listenerObj.listener === listener &&\n listenerObj.options.capture === capture\n );\n }));\n };\n return ReactFabricHostComponent;\n})();\nfunction createTextInstance(\n text,\n rootContainerInstance,\n hostContext,\n internalInstanceHandle\n) {\n hostContext = nextReactTag;\n nextReactTag += 2;\n return {\n node: createNode(\n hostContext,\n \"RCTRawText\",\n rootContainerInstance,\n { text: text },\n internalInstanceHandle\n )\n };\n}\nvar scheduleTimeout = setTimeout,\n cancelTimeout = clearTimeout;\nfunction cloneHiddenInstance(instance) {\n var node = instance.node;\n var JSCompiler_inline_result = diffProperties(\n null,\n emptyObject,\n { style: { display: \"none\" } },\n instance.canonical.viewConfig.validAttributes\n );\n return {\n node: cloneNodeWithNewProps(node, JSCompiler_inline_result),\n canonical: instance.canonical\n };\n}\nfunction describeComponentFrame(name, source, ownerName) {\n source = \"\";\n ownerName && (source = \" (created by \" + ownerName + \")\");\n return \"\\n in \" + (name || \"Unknown\") + source;\n}\nfunction describeFunctionComponentFrame(fn, source) {\n return fn\n ? describeComponentFrame(fn.displayName || fn.name || null, source, null)\n : \"\";\n}\nvar hasOwnProperty = Object.prototype.hasOwnProperty,\n valueStack = [],\n index = -1;\nfunction createCursor(defaultValue) {\n return { current: defaultValue };\n}\nfunction pop(cursor) {\n 0 > index ||\n ((cursor.current = valueStack[index]), (valueStack[index] = null), index--);\n}\nfunction push(cursor, value) {\n index++;\n valueStack[index] = cursor.current;\n cursor.current = value;\n}\nvar emptyContextObject = {},\n contextStackCursor = createCursor(emptyContextObject),\n didPerformWorkStackCursor = createCursor(!1),\n previousContext = emptyContextObject;\nfunction getMaskedContext(workInProgress, unmaskedContext) {\n var contextTypes = workInProgress.type.contextTypes;\n if (!contextTypes) return emptyContextObject;\n var instance = workInProgress.stateNode;\n if (\n instance &&\n instance.__reactInternalMemoizedUnmaskedChildContext === unmaskedContext\n )\n return instance.__reactInternalMemoizedMaskedChildContext;\n var context = {},\n key;\n for (key in contextTypes) context[key] = unmaskedContext[key];\n instance &&\n ((workInProgress = workInProgress.stateNode),\n (workInProgress.__reactInternalMemoizedUnmaskedChildContext = unmaskedContext),\n (workInProgress.__reactInternalMemoizedMaskedChildContext = context));\n return context;\n}\nfunction isContextProvider(type) {\n type = type.childContextTypes;\n return null !== type && void 0 !== type;\n}\nfunction popContext() {\n pop(didPerformWorkStackCursor);\n pop(contextStackCursor);\n}\nfunction pushTopLevelContextObject(fiber, context, didChange) {\n if (contextStackCursor.current !== emptyContextObject)\n throw Error(\n \"Unexpected context found on stack. This error is likely caused by a bug in React. Please file an issue.\"\n );\n push(contextStackCursor, context);\n push(didPerformWorkStackCursor, didChange);\n}\nfunction processChildContext(fiber, type, parentContext) {\n var instance = fiber.stateNode;\n type = type.childContextTypes;\n if (\"function\" !== typeof instance.getChildContext) return parentContext;\n instance = instance.getChildContext();\n for (var contextKey in instance)\n if (!(contextKey in type))\n throw Error(\n (getComponentNameFromFiber(fiber) || \"Unknown\") +\n '.getChildContext(): key \"' +\n contextKey +\n '\" is not defined in childContextTypes.'\n );\n return assign({}, parentContext, instance);\n}\nfunction pushContextProvider(workInProgress) {\n workInProgress =\n ((workInProgress = workInProgress.stateNode) &&\n workInProgress.__reactInternalMemoizedMergedChildContext) ||\n emptyContextObject;\n previousContext = contextStackCursor.current;\n push(contextStackCursor, workInProgress);\n push(didPerformWorkStackCursor, didPerformWorkStackCursor.current);\n return !0;\n}\nfunction invalidateContextProvider(workInProgress, type, didChange) {\n var instance = workInProgress.stateNode;\n if (!instance)\n throw Error(\n \"Expected to have an instance by this point. This error is likely caused by a bug in React. Please file an issue.\"\n );\n didChange\n ? ((workInProgress = processChildContext(\n workInProgress,\n type,\n previousContext\n )),\n (instance.__reactInternalMemoizedMergedChildContext = workInProgress),\n pop(didPerformWorkStackCursor),\n pop(contextStackCursor),\n push(contextStackCursor, workInProgress))\n : pop(didPerformWorkStackCursor);\n push(didPerformWorkStackCursor, didChange);\n}\nfunction is(x, y) {\n return (x === y && (0 !== x || 1 / x === 1 / y)) || (x !== x && y !== y);\n}\nvar objectIs = \"function\" === typeof Object.is ? Object.is : is,\n syncQueue = null,\n includesLegacySyncCallbacks = !1,\n isFlushingSyncQueue = !1;\nfunction flushSyncCallbacks() {\n if (!isFlushingSyncQueue && null !== syncQueue) {\n isFlushingSyncQueue = !0;\n var i = 0,\n previousUpdatePriority = currentUpdatePriority;\n try {\n var queue = syncQueue;\n for (currentUpdatePriority = 1; i < queue.length; i++) {\n var callback = queue[i];\n do callback = callback(!0);\n while (null !== callback);\n }\n syncQueue = null;\n includesLegacySyncCallbacks = !1;\n } catch (error) {\n throw (null !== syncQueue && (syncQueue = syncQueue.slice(i + 1)),\n scheduleCallback(ImmediatePriority, flushSyncCallbacks),\n error);\n } finally {\n (currentUpdatePriority = previousUpdatePriority),\n (isFlushingSyncQueue = !1);\n }\n }\n return null;\n}\nvar forkStack = [],\n forkStackIndex = 0,\n treeForkProvider = null,\n idStack = [],\n idStackIndex = 0,\n treeContextProvider = null;\nfunction popTreeContext(workInProgress) {\n for (; workInProgress === treeForkProvider; )\n (treeForkProvider = forkStack[--forkStackIndex]),\n (forkStack[forkStackIndex] = null),\n --forkStackIndex,\n (forkStack[forkStackIndex] = null);\n for (; workInProgress === treeContextProvider; )\n (treeContextProvider = idStack[--idStackIndex]),\n (idStack[idStackIndex] = null),\n --idStackIndex,\n (idStack[idStackIndex] = null),\n --idStackIndex,\n (idStack[idStackIndex] = null);\n}\nvar hydrationErrors = null,\n ReactCurrentBatchConfig = ReactSharedInternals.ReactCurrentBatchConfig;\nfunction shallowEqual(objA, objB) {\n if (objectIs(objA, objB)) return !0;\n if (\n \"object\" !== typeof objA ||\n null === objA ||\n \"object\" !== typeof objB ||\n null === objB\n )\n return !1;\n var keysA = Object.keys(objA),\n keysB = Object.keys(objB);\n if (keysA.length !== keysB.length) return !1;\n for (keysB = 0; keysB < keysA.length; keysB++) {\n var currentKey = keysA[keysB];\n if (\n !hasOwnProperty.call(objB, currentKey) ||\n !objectIs(objA[currentKey], objB[currentKey])\n )\n return !1;\n }\n return !0;\n}\nfunction describeFiber(fiber) {\n switch (fiber.tag) {\n case 5:\n return describeComponentFrame(fiber.type, null, null);\n case 16:\n return describeComponentFrame(\"Lazy\", null, null);\n case 13:\n return describeComponentFrame(\"Suspense\", null, null);\n case 19:\n return describeComponentFrame(\"SuspenseList\", null, null);\n case 0:\n case 2:\n case 15:\n return describeFunctionComponentFrame(fiber.type, null);\n case 11:\n return describeFunctionComponentFrame(fiber.type.render, null);\n case 1:\n return (fiber = describeFunctionComponentFrame(fiber.type, null)), fiber;\n default:\n return \"\";\n }\n}\nfunction resolveDefaultProps(Component, baseProps) {\n if (Component && Component.defaultProps) {\n baseProps = assign({}, baseProps);\n Component = Component.defaultProps;\n for (var propName in Component)\n void 0 === baseProps[propName] &&\n (baseProps[propName] = Component[propName]);\n return baseProps;\n }\n return baseProps;\n}\nvar valueCursor = createCursor(null),\n currentlyRenderingFiber = null,\n lastContextDependency = null,\n lastFullyObservedContext = null;\nfunction resetContextDependencies() {\n lastFullyObservedContext = lastContextDependency = currentlyRenderingFiber = null;\n}\nfunction popProvider(context) {\n var currentValue = valueCursor.current;\n pop(valueCursor);\n context._currentValue2 = currentValue;\n}\nfunction scheduleContextWorkOnParentPath(parent, renderLanes, propagationRoot) {\n for (; null !== parent; ) {\n var alternate = parent.alternate;\n (parent.childLanes & renderLanes) !== renderLanes\n ? ((parent.childLanes |= renderLanes),\n null !== alternate && (alternate.childLanes |= renderLanes))\n : null !== alternate &&\n (alternate.childLanes & renderLanes) !== renderLanes &&\n (alternate.childLanes |= renderLanes);\n if (parent === propagationRoot) break;\n parent = parent.return;\n }\n}\nfunction prepareToReadContext(workInProgress, renderLanes) {\n currentlyRenderingFiber = workInProgress;\n lastFullyObservedContext = lastContextDependency = null;\n workInProgress = workInProgress.dependencies;\n null !== workInProgress &&\n null !== workInProgress.firstContext &&\n (0 !== (workInProgress.lanes & renderLanes) && (didReceiveUpdate = !0),\n (workInProgress.firstContext = null));\n}\nfunction readContext(context) {\n var value = context._currentValue2;\n if (lastFullyObservedContext !== context)\n if (\n ((context = { context: context, memoizedValue: value, next: null }),\n null === lastContextDependency)\n ) {\n if (null === currentlyRenderingFiber)\n throw Error(\n \"Context can only be read while React is rendering. In classes, you can read it in the render method or getDerivedStateFromProps. In function components, you can read it directly in the function body, but not inside Hooks like useReducer() or useMemo().\"\n );\n lastContextDependency = context;\n currentlyRenderingFiber.dependencies = {\n lanes: 0,\n firstContext: context\n };\n } else lastContextDependency = lastContextDependency.next = context;\n return value;\n}\nvar concurrentQueues = null;\nfunction pushConcurrentUpdateQueue(queue) {\n null === concurrentQueues\n ? (concurrentQueues = [queue])\n : concurrentQueues.push(queue);\n}\nfunction enqueueConcurrentHookUpdate(fiber, queue, update, lane) {\n var interleaved = queue.interleaved;\n null === interleaved\n ? ((update.next = update), pushConcurrentUpdateQueue(queue))\n : ((update.next = interleaved.next), (interleaved.next = update));\n queue.interleaved = update;\n return markUpdateLaneFromFiberToRoot(fiber, lane);\n}\nfunction markUpdateLaneFromFiberToRoot(sourceFiber, lane) {\n sourceFiber.lanes |= lane;\n var alternate = sourceFiber.alternate;\n null !== alternate && (alternate.lanes |= lane);\n alternate = sourceFiber;\n for (sourceFiber = sourceFiber.return; null !== sourceFiber; )\n (sourceFiber.childLanes |= lane),\n (alternate = sourceFiber.alternate),\n null !== alternate && (alternate.childLanes |= lane),\n (alternate = sourceFiber),\n (sourceFiber = sourceFiber.return);\n return 3 === alternate.tag ? alternate.stateNode : null;\n}\nvar hasForceUpdate = !1;\nfunction initializeUpdateQueue(fiber) {\n fiber.updateQueue = {\n baseState: fiber.memoizedState,\n firstBaseUpdate: null,\n lastBaseUpdate: null,\n shared: { pending: null, interleaved: null, lanes: 0 },\n effects: null\n };\n}\nfunction cloneUpdateQueue(current, workInProgress) {\n current = current.updateQueue;\n workInProgress.updateQueue === current &&\n (workInProgress.updateQueue = {\n baseState: current.baseState,\n firstBaseUpdate: current.firstBaseUpdate,\n lastBaseUpdate: current.lastBaseUpdate,\n shared: current.shared,\n effects: current.effects\n });\n}\nfunction createUpdate(eventTime, lane) {\n return {\n eventTime: eventTime,\n lane: lane,\n tag: 0,\n payload: null,\n callback: null,\n next: null\n };\n}\nfunction enqueueUpdate(fiber, update, lane) {\n var updateQueue = fiber.updateQueue;\n if (null === updateQueue) return null;\n updateQueue = updateQueue.shared;\n if (0 !== (executionContext & 2)) {\n var pending = updateQueue.pending;\n null === pending\n ? (update.next = update)\n : ((update.next = pending.next), (pending.next = update));\n updateQueue.pending = update;\n return markUpdateLaneFromFiberToRoot(fiber, lane);\n }\n pending = updateQueue.interleaved;\n null === pending\n ? ((update.next = update), pushConcurrentUpdateQueue(updateQueue))\n : ((update.next = pending.next), (pending.next = update));\n updateQueue.interleaved = update;\n return markUpdateLaneFromFiberToRoot(fiber, lane);\n}\nfunction entangleTransitions(root, fiber, lane) {\n fiber = fiber.updateQueue;\n if (null !== fiber && ((fiber = fiber.shared), 0 !== (lane & 4194240))) {\n var queueLanes = fiber.lanes;\n queueLanes &= root.pendingLanes;\n lane |= queueLanes;\n fiber.lanes = lane;\n markRootEntangled(root, lane);\n }\n}\nfunction enqueueCapturedUpdate(workInProgress, capturedUpdate) {\n var queue = workInProgress.updateQueue,\n current = workInProgress.alternate;\n if (\n null !== current &&\n ((current = current.updateQueue), queue === current)\n ) {\n var newFirst = null,\n newLast = null;\n queue = queue.firstBaseUpdate;\n if (null !== queue) {\n do {\n var clone = {\n eventTime: queue.eventTime,\n lane: queue.lane,\n tag: queue.tag,\n payload: queue.payload,\n callback: queue.callback,\n next: null\n };\n null === newLast\n ? (newFirst = newLast = clone)\n : (newLast = newLast.next = clone);\n queue = queue.next;\n } while (null !== queue);\n null === newLast\n ? (newFirst = newLast = capturedUpdate)\n : (newLast = newLast.next = capturedUpdate);\n } else newFirst = newLast = capturedUpdate;\n queue = {\n baseState: current.baseState,\n firstBaseUpdate: newFirst,\n lastBaseUpdate: newLast,\n shared: current.shared,\n effects: current.effects\n };\n workInProgress.updateQueue = queue;\n return;\n }\n workInProgress = queue.lastBaseUpdate;\n null === workInProgress\n ? (queue.firstBaseUpdate = capturedUpdate)\n : (workInProgress.next = capturedUpdate);\n queue.lastBaseUpdate = capturedUpdate;\n}\nfunction processUpdateQueue(\n workInProgress$jscomp$0,\n props,\n instance,\n renderLanes\n) {\n var queue = workInProgress$jscomp$0.updateQueue;\n hasForceUpdate = !1;\n var firstBaseUpdate = queue.firstBaseUpdate,\n lastBaseUpdate = queue.lastBaseUpdate,\n pendingQueue = queue.shared.pending;\n if (null !== pendingQueue) {\n queue.shared.pending = null;\n var lastPendingUpdate = pendingQueue,\n firstPendingUpdate = lastPendingUpdate.next;\n lastPendingUpdate.next = null;\n null === lastBaseUpdate\n ? (firstBaseUpdate = firstPendingUpdate)\n : (lastBaseUpdate.next = firstPendingUpdate);\n lastBaseUpdate = lastPendingUpdate;\n var current = workInProgress$jscomp$0.alternate;\n null !== current &&\n ((current = current.updateQueue),\n (pendingQueue = current.lastBaseUpdate),\n pendingQueue !== lastBaseUpdate &&\n (null === pendingQueue\n ? (current.firstBaseUpdate = firstPendingUpdate)\n : (pendingQueue.next = firstPendingUpdate),\n (current.lastBaseUpdate = lastPendingUpdate)));\n }\n if (null !== firstBaseUpdate) {\n var newState = queue.baseState;\n lastBaseUpdate = 0;\n current = firstPendingUpdate = lastPendingUpdate = null;\n pendingQueue = firstBaseUpdate;\n do {\n var updateLane = pendingQueue.lane,\n updateEventTime = pendingQueue.eventTime;\n if ((renderLanes & updateLane) === updateLane) {\n null !== current &&\n (current = current.next = {\n eventTime: updateEventTime,\n lane: 0,\n tag: pendingQueue.tag,\n payload: pendingQueue.payload,\n callback: pendingQueue.callback,\n next: null\n });\n a: {\n var workInProgress = workInProgress$jscomp$0,\n update = pendingQueue;\n updateLane = props;\n updateEventTime = instance;\n switch (update.tag) {\n case 1:\n workInProgress = update.payload;\n if (\"function\" === typeof workInProgress) {\n newState = workInProgress.call(\n updateEventTime,\n newState,\n updateLane\n );\n break a;\n }\n newState = workInProgress;\n break a;\n case 3:\n workInProgress.flags = (workInProgress.flags & -65537) | 128;\n case 0:\n workInProgress = update.payload;\n updateLane =\n \"function\" === typeof workInProgress\n ? workInProgress.call(updateEventTime, newState, updateLane)\n : workInProgress;\n if (null === updateLane || void 0 === updateLane) break a;\n newState = assign({}, newState, updateLane);\n break a;\n case 2:\n hasForceUpdate = !0;\n }\n }\n null !== pendingQueue.callback &&\n 0 !== pendingQueue.lane &&\n ((workInProgress$jscomp$0.flags |= 64),\n (updateLane = queue.effects),\n null === updateLane\n ? (queue.effects = [pendingQueue])\n : updateLane.push(pendingQueue));\n } else\n (updateEventTime = {\n eventTime: updateEventTime,\n lane: updateLane,\n tag: pendingQueue.tag,\n payload: pendingQueue.payload,\n callback: pendingQueue.callback,\n next: null\n }),\n null === current\n ? ((firstPendingUpdate = current = updateEventTime),\n (lastPendingUpdate = newState))\n : (current = current.next = updateEventTime),\n (lastBaseUpdate |= updateLane);\n pendingQueue = pendingQueue.next;\n if (null === pendingQueue)\n if (((pendingQueue = queue.shared.pending), null === pendingQueue))\n break;\n else\n (updateLane = pendingQueue),\n (pendingQueue = updateLane.next),\n (updateLane.next = null),\n (queue.lastBaseUpdate = updateLane),\n (queue.shared.pending = null);\n } while (1);\n null === current && (lastPendingUpdate = newState);\n queue.baseState = lastPendingUpdate;\n queue.firstBaseUpdate = firstPendingUpdate;\n queue.lastBaseUpdate = current;\n props = queue.shared.interleaved;\n if (null !== props) {\n queue = props;\n do (lastBaseUpdate |= queue.lane), (queue = queue.next);\n while (queue !== props);\n } else null === firstBaseUpdate && (queue.shared.lanes = 0);\n workInProgressRootSkippedLanes |= lastBaseUpdate;\n workInProgress$jscomp$0.lanes = lastBaseUpdate;\n workInProgress$jscomp$0.memoizedState = newState;\n }\n}\nfunction commitUpdateQueue(finishedWork, finishedQueue, instance) {\n finishedWork = finishedQueue.effects;\n finishedQueue.effects = null;\n if (null !== finishedWork)\n for (\n finishedQueue = 0;\n finishedQueue < finishedWork.length;\n finishedQueue++\n ) {\n var effect = finishedWork[finishedQueue],\n callback = effect.callback;\n if (null !== callback) {\n effect.callback = null;\n if (\"function\" !== typeof callback)\n throw Error(\n \"Invalid argument passed as callback. Expected a function. Instead received: \" +\n callback\n );\n callback.call(instance);\n }\n }\n}\nvar emptyRefsObject = new React.Component().refs;\nfunction applyDerivedStateFromProps(\n workInProgress,\n ctor,\n getDerivedStateFromProps,\n nextProps\n) {\n ctor = workInProgress.memoizedState;\n getDerivedStateFromProps = getDerivedStateFromProps(nextProps, ctor);\n getDerivedStateFromProps =\n null === getDerivedStateFromProps || void 0 === getDerivedStateFromProps\n ? ctor\n : assign({}, ctor, getDerivedStateFromProps);\n workInProgress.memoizedState = getDerivedStateFromProps;\n 0 === workInProgress.lanes &&\n (workInProgress.updateQueue.baseState = getDerivedStateFromProps);\n}\nvar classComponentUpdater = {\n isMounted: function(component) {\n return (component = component._reactInternals)\n ? getNearestMountedFiber(component) === component\n : !1;\n },\n enqueueSetState: function(inst, payload, callback) {\n inst = inst._reactInternals;\n var eventTime = requestEventTime(),\n lane = requestUpdateLane(inst),\n update = createUpdate(eventTime, lane);\n update.payload = payload;\n void 0 !== callback && null !== callback && (update.callback = callback);\n payload = enqueueUpdate(inst, update, lane);\n null !== payload &&\n (scheduleUpdateOnFiber(payload, inst, lane, eventTime),\n entangleTransitions(payload, inst, lane));\n },\n enqueueReplaceState: function(inst, payload, callback) {\n inst = inst._reactInternals;\n var eventTime = requestEventTime(),\n lane = requestUpdateLane(inst),\n update = createUpdate(eventTime, lane);\n update.tag = 1;\n update.payload = payload;\n void 0 !== callback && null !== callback && (update.callback = callback);\n payload = enqueueUpdate(inst, update, lane);\n null !== payload &&\n (scheduleUpdateOnFiber(payload, inst, lane, eventTime),\n entangleTransitions(payload, inst, lane));\n },\n enqueueForceUpdate: function(inst, callback) {\n inst = inst._reactInternals;\n var eventTime = requestEventTime(),\n lane = requestUpdateLane(inst),\n update = createUpdate(eventTime, lane);\n update.tag = 2;\n void 0 !== callback && null !== callback && (update.callback = callback);\n callback = enqueueUpdate(inst, update, lane);\n null !== callback &&\n (scheduleUpdateOnFiber(callback, inst, lane, eventTime),\n entangleTransitions(callback, inst, lane));\n }\n};\nfunction checkShouldComponentUpdate(\n workInProgress,\n ctor,\n oldProps,\n newProps,\n oldState,\n newState,\n nextContext\n) {\n workInProgress = workInProgress.stateNode;\n return \"function\" === typeof workInProgress.shouldComponentUpdate\n ? workInProgress.shouldComponentUpdate(newProps, newState, nextContext)\n : ctor.prototype && ctor.prototype.isPureReactComponent\n ? !shallowEqual(oldProps, newProps) || !shallowEqual(oldState, newState)\n : !0;\n}\nfunction constructClassInstance(workInProgress, ctor, props) {\n var isLegacyContextConsumer = !1,\n unmaskedContext = emptyContextObject;\n var context = ctor.contextType;\n \"object\" === typeof context && null !== context\n ? (context = readContext(context))\n : ((unmaskedContext = isContextProvider(ctor)\n ? previousContext\n : contextStackCursor.current),\n (isLegacyContextConsumer = ctor.contextTypes),\n (context = (isLegacyContextConsumer =\n null !== isLegacyContextConsumer && void 0 !== isLegacyContextConsumer)\n ? getMaskedContext(workInProgress, unmaskedContext)\n : emptyContextObject));\n ctor = new ctor(props, context);\n workInProgress.memoizedState =\n null !== ctor.state && void 0 !== ctor.state ? ctor.state : null;\n ctor.updater = classComponentUpdater;\n workInProgress.stateNode = ctor;\n ctor._reactInternals = workInProgress;\n isLegacyContextConsumer &&\n ((workInProgress = workInProgress.stateNode),\n (workInProgress.__reactInternalMemoizedUnmaskedChildContext = unmaskedContext),\n (workInProgress.__reactInternalMemoizedMaskedChildContext = context));\n return ctor;\n}\nfunction callComponentWillReceiveProps(\n workInProgress,\n instance,\n newProps,\n nextContext\n) {\n workInProgress = instance.state;\n \"function\" === typeof instance.componentWillReceiveProps &&\n instance.componentWillReceiveProps(newProps, nextContext);\n \"function\" === typeof instance.UNSAFE_componentWillReceiveProps &&\n instance.UNSAFE_componentWillReceiveProps(newProps, nextContext);\n instance.state !== workInProgress &&\n classComponentUpdater.enqueueReplaceState(instance, instance.state, null);\n}\nfunction mountClassInstance(workInProgress, ctor, newProps, renderLanes) {\n var instance = workInProgress.stateNode;\n instance.props = newProps;\n instance.state = workInProgress.memoizedState;\n instance.refs = emptyRefsObject;\n initializeUpdateQueue(workInProgress);\n var contextType = ctor.contextType;\n \"object\" === typeof contextType && null !== contextType\n ? (instance.context = readContext(contextType))\n : ((contextType = isContextProvider(ctor)\n ? previousContext\n : contextStackCursor.current),\n (instance.context = getMaskedContext(workInProgress, contextType)));\n instance.state = workInProgress.memoizedState;\n contextType = ctor.getDerivedStateFromProps;\n \"function\" === typeof contextType &&\n (applyDerivedStateFromProps(workInProgress, ctor, contextType, newProps),\n (instance.state = workInProgress.memoizedState));\n \"function\" === typeof ctor.getDerivedStateFromProps ||\n \"function\" === typeof instance.getSnapshotBeforeUpdate ||\n (\"function\" !== typeof instance.UNSAFE_componentWillMount &&\n \"function\" !== typeof instance.componentWillMount) ||\n ((ctor = instance.state),\n \"function\" === typeof instance.componentWillMount &&\n instance.componentWillMount(),\n \"function\" === typeof instance.UNSAFE_componentWillMount &&\n instance.UNSAFE_componentWillMount(),\n ctor !== instance.state &&\n classComponentUpdater.enqueueReplaceState(instance, instance.state, null),\n processUpdateQueue(workInProgress, newProps, instance, renderLanes),\n (instance.state = workInProgress.memoizedState));\n \"function\" === typeof instance.componentDidMount &&\n (workInProgress.flags |= 4);\n}\nfunction coerceRef(returnFiber, current, element) {\n returnFiber = element.ref;\n if (\n null !== returnFiber &&\n \"function\" !== typeof returnFiber &&\n \"object\" !== typeof returnFiber\n ) {\n if (element._owner) {\n element = element._owner;\n if (element) {\n if (1 !== element.tag)\n throw Error(\n \"Function components cannot have string refs. We recommend using useRef() instead. Learn more about using refs safely here: https://react.dev/link/strict-mode-string-ref\"\n );\n var inst = element.stateNode;\n }\n if (!inst)\n throw Error(\n \"Missing owner for string ref \" +\n returnFiber +\n \". This error is likely caused by a bug in React. Please file an issue.\"\n );\n var resolvedInst = inst,\n stringRef = \"\" + returnFiber;\n if (\n null !== current &&\n null !== current.ref &&\n \"function\" === typeof current.ref &&\n current.ref._stringRef === stringRef\n )\n return current.ref;\n current = function(value) {\n var refs = resolvedInst.refs;\n refs === emptyRefsObject && (refs = resolvedInst.refs = {});\n null === value ? delete refs[stringRef] : (refs[stringRef] = value);\n };\n current._stringRef = stringRef;\n return current;\n }\n if (\"string\" !== typeof returnFiber)\n throw Error(\n \"Expected ref to be a function, a string, an object returned by React.createRef(), or null.\"\n );\n if (!element._owner)\n throw Error(\n \"Element ref was specified as a string (\" +\n returnFiber +\n \") but no owner was set. This could happen for one of the following reasons:\\n1. You may be adding a ref to a function component\\n2. You may be adding a ref to a component that was not created inside a component's render method\\n3. You have multiple copies of React loaded\\nSee https://react.dev/link/refs-must-have-owner for more information.\"\n );\n }\n return returnFiber;\n}\nfunction throwOnInvalidObjectType(returnFiber, newChild) {\n returnFiber = Object.prototype.toString.call(newChild);\n throw Error(\n \"Objects are not valid as a React child (found: \" +\n (\"[object Object]\" === returnFiber\n ? \"object with keys {\" + Object.keys(newChild).join(\", \") + \"}\"\n : returnFiber) +\n \"). If you meant to render a collection of children, use an array instead.\"\n );\n}\nfunction resolveLazy(lazyType) {\n var init = lazyType._init;\n return init(lazyType._payload);\n}\nfunction ChildReconciler(shouldTrackSideEffects) {\n function deleteChild(returnFiber, childToDelete) {\n if (shouldTrackSideEffects) {\n var deletions = returnFiber.deletions;\n null === deletions\n ? ((returnFiber.deletions = [childToDelete]), (returnFiber.flags |= 16))\n : deletions.push(childToDelete);\n }\n }\n function deleteRemainingChildren(returnFiber, currentFirstChild) {\n if (!shouldTrackSideEffects) return null;\n for (; null !== currentFirstChild; )\n deleteChild(returnFiber, currentFirstChild),\n (currentFirstChild = currentFirstChild.sibling);\n return null;\n }\n function mapRemainingChildren(returnFiber, currentFirstChild) {\n for (returnFiber = new Map(); null !== currentFirstChild; )\n null !== currentFirstChild.key\n ? returnFiber.set(currentFirstChild.key, currentFirstChild)\n : returnFiber.set(currentFirstChild.index, currentFirstChild),\n (currentFirstChild = currentFirstChild.sibling);\n return returnFiber;\n }\n function useFiber(fiber, pendingProps) {\n fiber = createWorkInProgress(fiber, pendingProps);\n fiber.index = 0;\n fiber.sibling = null;\n return fiber;\n }\n function placeChild(newFiber, lastPlacedIndex, newIndex) {\n newFiber.index = newIndex;\n if (!shouldTrackSideEffects)\n return (newFiber.flags |= 1048576), lastPlacedIndex;\n newIndex = newFiber.alternate;\n if (null !== newIndex)\n return (\n (newIndex = newIndex.index),\n newIndex < lastPlacedIndex\n ? ((newFiber.flags |= 2), lastPlacedIndex)\n : newIndex\n );\n newFiber.flags |= 2;\n return lastPlacedIndex;\n }\n function placeSingleChild(newFiber) {\n shouldTrackSideEffects &&\n null === newFiber.alternate &&\n (newFiber.flags |= 2);\n return newFiber;\n }\n function updateTextNode(returnFiber, current, textContent, lanes) {\n if (null === current || 6 !== current.tag)\n return (\n (current = createFiberFromText(textContent, returnFiber.mode, lanes)),\n (current.return = returnFiber),\n current\n );\n current = useFiber(current, textContent);\n current.return = returnFiber;\n return current;\n }\n function updateElement(returnFiber, current, element, lanes) {\n var elementType = element.type;\n if (elementType === REACT_FRAGMENT_TYPE)\n return updateFragment(\n returnFiber,\n current,\n element.props.children,\n lanes,\n element.key\n );\n if (\n null !== current &&\n (current.elementType === elementType ||\n (\"object\" === typeof elementType &&\n null !== elementType &&\n elementType.$$typeof === REACT_LAZY_TYPE &&\n resolveLazy(elementType) === current.type))\n )\n return (\n (lanes = useFiber(current, element.props)),\n (lanes.ref = coerceRef(returnFiber, current, element)),\n (lanes.return = returnFiber),\n lanes\n );\n lanes = createFiberFromTypeAndProps(\n element.type,\n element.key,\n element.props,\n null,\n returnFiber.mode,\n lanes\n );\n lanes.ref = coerceRef(returnFiber, current, element);\n lanes.return = returnFiber;\n return lanes;\n }\n function updatePortal(returnFiber, current, portal, lanes) {\n if (\n null === current ||\n 4 !== current.tag ||\n current.stateNode.containerInfo !== portal.containerInfo ||\n current.stateNode.implementation !== portal.implementation\n )\n return (\n (current = createFiberFromPortal(portal, returnFiber.mode, lanes)),\n (current.return = returnFiber),\n current\n );\n current = useFiber(current, portal.children || []);\n current.return = returnFiber;\n return current;\n }\n function updateFragment(returnFiber, current, fragment, lanes, key) {\n if (null === current || 7 !== current.tag)\n return (\n (current = createFiberFromFragment(\n fragment,\n returnFiber.mode,\n lanes,\n key\n )),\n (current.return = returnFiber),\n current\n );\n current = useFiber(current, fragment);\n current.return = returnFiber;\n return current;\n }\n function createChild(returnFiber, newChild, lanes) {\n if (\n (\"string\" === typeof newChild && \"\" !== newChild) ||\n \"number\" === typeof newChild\n )\n return (\n (newChild = createFiberFromText(\n \"\" + newChild,\n returnFiber.mode,\n lanes\n )),\n (newChild.return = returnFiber),\n newChild\n );\n if (\"object\" === typeof newChild && null !== newChild) {\n switch (newChild.$$typeof) {\n case REACT_ELEMENT_TYPE:\n return (\n (lanes = createFiberFromTypeAndProps(\n newChild.type,\n newChild.key,\n newChild.props,\n null,\n returnFiber.mode,\n lanes\n )),\n (lanes.ref = coerceRef(returnFiber, null, newChild)),\n (lanes.return = returnFiber),\n lanes\n );\n case REACT_PORTAL_TYPE:\n return (\n (newChild = createFiberFromPortal(\n newChild,\n returnFiber.mode,\n lanes\n )),\n (newChild.return = returnFiber),\n newChild\n );\n case REACT_LAZY_TYPE:\n var init = newChild._init;\n return createChild(returnFiber, init(newChild._payload), lanes);\n }\n if (isArrayImpl(newChild) || getIteratorFn(newChild))\n return (\n (newChild = createFiberFromFragment(\n newChild,\n returnFiber.mode,\n lanes,\n null\n )),\n (newChild.return = returnFiber),\n newChild\n );\n throwOnInvalidObjectType(returnFiber, newChild);\n }\n return null;\n }\n function updateSlot(returnFiber, oldFiber, newChild, lanes) {\n var key = null !== oldFiber ? oldFiber.key : null;\n if (\n (\"string\" === typeof newChild && \"\" !== newChild) ||\n \"number\" === typeof newChild\n )\n return null !== key\n ? null\n : updateTextNode(returnFiber, oldFiber, \"\" + newChild, lanes);\n if (\"object\" === typeof newChild && null !== newChild) {\n switch (newChild.$$typeof) {\n case REACT_ELEMENT_TYPE:\n return newChild.key === key\n ? updateElement(returnFiber, oldFiber, newChild, lanes)\n : null;\n case REACT_PORTAL_TYPE:\n return newChild.key === key\n ? updatePortal(returnFiber, oldFiber, newChild, lanes)\n : null;\n case REACT_LAZY_TYPE:\n return (\n (key = newChild._init),\n updateSlot(returnFiber, oldFiber, key(newChild._payload), lanes)\n );\n }\n if (isArrayImpl(newChild) || getIteratorFn(newChild))\n return null !== key\n ? null\n : updateFragment(returnFiber, oldFiber, newChild, lanes, null);\n throwOnInvalidObjectType(returnFiber, newChild);\n }\n return null;\n }\n function updateFromMap(\n existingChildren,\n returnFiber,\n newIdx,\n newChild,\n lanes\n ) {\n if (\n (\"string\" === typeof newChild && \"\" !== newChild) ||\n \"number\" === typeof newChild\n )\n return (\n (existingChildren = existingChildren.get(newIdx) || null),\n updateTextNode(returnFiber, existingChildren, \"\" + newChild, lanes)\n );\n if (\"object\" === typeof newChild && null !== newChild) {\n switch (newChild.$$typeof) {\n case REACT_ELEMENT_TYPE:\n return (\n (existingChildren =\n existingChildren.get(\n null === newChild.key ? newIdx : newChild.key\n ) || null),\n updateElement(returnFiber, existingChildren, newChild, lanes)\n );\n case REACT_PORTAL_TYPE:\n return (\n (existingChildren =\n existingChildren.get(\n null === newChild.key ? newIdx : newChild.key\n ) || null),\n updatePortal(returnFiber, existingChildren, newChild, lanes)\n );\n case REACT_LAZY_TYPE:\n var init = newChild._init;\n return updateFromMap(\n existingChildren,\n returnFiber,\n newIdx,\n init(newChild._payload),\n lanes\n );\n }\n if (isArrayImpl(newChild) || getIteratorFn(newChild))\n return (\n (existingChildren = existingChildren.get(newIdx) || null),\n updateFragment(returnFiber, existingChildren, newChild, lanes, null)\n );\n throwOnInvalidObjectType(returnFiber, newChild);\n }\n return null;\n }\n function reconcileChildrenArray(\n returnFiber,\n currentFirstChild,\n newChildren,\n lanes\n ) {\n for (\n var resultingFirstChild = null,\n previousNewFiber = null,\n oldFiber = currentFirstChild,\n newIdx = (currentFirstChild = 0),\n nextOldFiber = null;\n null !== oldFiber && newIdx < newChildren.length;\n newIdx++\n ) {\n oldFiber.index > newIdx\n ? ((nextOldFiber = oldFiber), (oldFiber = null))\n : (nextOldFiber = oldFiber.sibling);\n var newFiber = updateSlot(\n returnFiber,\n oldFiber,\n newChildren[newIdx],\n lanes\n );\n if (null === newFiber) {\n null === oldFiber && (oldFiber = nextOldFiber);\n break;\n }\n shouldTrackSideEffects &&\n oldFiber &&\n null === newFiber.alternate &&\n deleteChild(returnFiber, oldFiber);\n currentFirstChild = placeChild(newFiber, currentFirstChild, newIdx);\n null === previousNewFiber\n ? (resultingFirstChild = newFiber)\n : (previousNewFiber.sibling = newFiber);\n previousNewFiber = newFiber;\n oldFiber = nextOldFiber;\n }\n if (newIdx === newChildren.length)\n return (\n deleteRemainingChildren(returnFiber, oldFiber), resultingFirstChild\n );\n if (null === oldFiber) {\n for (; newIdx < newChildren.length; newIdx++)\n (oldFiber = createChild(returnFiber, newChildren[newIdx], lanes)),\n null !== oldFiber &&\n ((currentFirstChild = placeChild(\n oldFiber,\n currentFirstChild,\n newIdx\n )),\n null === previousNewFiber\n ? (resultingFirstChild = oldFiber)\n : (previousNewFiber.sibling = oldFiber),\n (previousNewFiber = oldFiber));\n return resultingFirstChild;\n }\n for (\n oldFiber = mapRemainingChildren(returnFiber, oldFiber);\n newIdx < newChildren.length;\n newIdx++\n )\n (nextOldFiber = updateFromMap(\n oldFiber,\n returnFiber,\n newIdx,\n newChildren[newIdx],\n lanes\n )),\n null !== nextOldFiber &&\n (shouldTrackSideEffects &&\n null !== nextOldFiber.alternate &&\n oldFiber.delete(\n null === nextOldFiber.key ? newIdx : nextOldFiber.key\n ),\n (currentFirstChild = placeChild(\n nextOldFiber,\n currentFirstChild,\n newIdx\n )),\n null === previousNewFiber\n ? (resultingFirstChild = nextOldFiber)\n : (previousNewFiber.sibling = nextOldFiber),\n (previousNewFiber = nextOldFiber));\n shouldTrackSideEffects &&\n oldFiber.forEach(function(child) {\n return deleteChild(returnFiber, child);\n });\n return resultingFirstChild;\n }\n function reconcileChildrenIterator(\n returnFiber,\n currentFirstChild,\n newChildrenIterable,\n lanes\n ) {\n var iteratorFn = getIteratorFn(newChildrenIterable);\n if (\"function\" !== typeof iteratorFn)\n throw Error(\n \"An object is not an iterable. This error is likely caused by a bug in React. Please file an issue.\"\n );\n newChildrenIterable = iteratorFn.call(newChildrenIterable);\n if (null == newChildrenIterable)\n throw Error(\"An iterable object provided no iterator.\");\n for (\n var previousNewFiber = (iteratorFn = null),\n oldFiber = currentFirstChild,\n newIdx = (currentFirstChild = 0),\n nextOldFiber = null,\n step = newChildrenIterable.next();\n null !== oldFiber && !step.done;\n newIdx++, step = newChildrenIterable.next()\n ) {\n oldFiber.index > newIdx\n ? ((nextOldFiber = oldFiber), (oldFiber = null))\n : (nextOldFiber = oldFiber.sibling);\n var newFiber = updateSlot(returnFiber, oldFiber, step.value, lanes);\n if (null === newFiber) {\n null === oldFiber && (oldFiber = nextOldFiber);\n break;\n }\n shouldTrackSideEffects &&\n oldFiber &&\n null === newFiber.alternate &&\n deleteChild(returnFiber, oldFiber);\n currentFirstChild = placeChild(newFiber, currentFirstChild, newIdx);\n null === previousNewFiber\n ? (iteratorFn = newFiber)\n : (previousNewFiber.sibling = newFiber);\n previousNewFiber = newFiber;\n oldFiber = nextOldFiber;\n }\n if (step.done)\n return deleteRemainingChildren(returnFiber, oldFiber), iteratorFn;\n if (null === oldFiber) {\n for (; !step.done; newIdx++, step = newChildrenIterable.next())\n (step = createChild(returnFiber, step.value, lanes)),\n null !== step &&\n ((currentFirstChild = placeChild(step, currentFirstChild, newIdx)),\n null === previousNewFiber\n ? (iteratorFn = step)\n : (previousNewFiber.sibling = step),\n (previousNewFiber = step));\n return iteratorFn;\n }\n for (\n oldFiber = mapRemainingChildren(returnFiber, oldFiber);\n !step.done;\n newIdx++, step = newChildrenIterable.next()\n )\n (step = updateFromMap(oldFiber, returnFiber, newIdx, step.value, lanes)),\n null !== step &&\n (shouldTrackSideEffects &&\n null !== step.alternate &&\n oldFiber.delete(null === step.key ? newIdx : step.key),\n (currentFirstChild = placeChild(step, currentFirstChild, newIdx)),\n null === previousNewFiber\n ? (iteratorFn = step)\n : (previousNewFiber.sibling = step),\n (previousNewFiber = step));\n shouldTrackSideEffects &&\n oldFiber.forEach(function(child) {\n return deleteChild(returnFiber, child);\n });\n return iteratorFn;\n }\n function reconcileChildFibers(\n returnFiber,\n currentFirstChild,\n newChild,\n lanes\n ) {\n \"object\" === typeof newChild &&\n null !== newChild &&\n newChild.type === REACT_FRAGMENT_TYPE &&\n null === newChild.key &&\n (newChild = newChild.props.children);\n if (\"object\" === typeof newChild && null !== newChild) {\n switch (newChild.$$typeof) {\n case REACT_ELEMENT_TYPE:\n a: {\n for (\n var key = newChild.key, child = currentFirstChild;\n null !== child;\n\n ) {\n if (child.key === key) {\n key = newChild.type;\n if (key === REACT_FRAGMENT_TYPE) {\n if (7 === child.tag) {\n deleteRemainingChildren(returnFiber, child.sibling);\n currentFirstChild = useFiber(\n child,\n newChild.props.children\n );\n currentFirstChild.return = returnFiber;\n returnFiber = currentFirstChild;\n break a;\n }\n } else if (\n child.elementType === key ||\n (\"object\" === typeof key &&\n null !== key &&\n key.$$typeof === REACT_LAZY_TYPE &&\n resolveLazy(key) === child.type)\n ) {\n deleteRemainingChildren(returnFiber, child.sibling);\n currentFirstChild = useFiber(child, newChild.props);\n currentFirstChild.ref = coerceRef(\n returnFiber,\n child,\n newChild\n );\n currentFirstChild.return = returnFiber;\n returnFiber = currentFirstChild;\n break a;\n }\n deleteRemainingChildren(returnFiber, child);\n break;\n } else deleteChild(returnFiber, child);\n child = child.sibling;\n }\n newChild.type === REACT_FRAGMENT_TYPE\n ? ((currentFirstChild = createFiberFromFragment(\n newChild.props.children,\n returnFiber.mode,\n lanes,\n newChild.key\n )),\n (currentFirstChild.return = returnFiber),\n (returnFiber = currentFirstChild))\n : ((lanes = createFiberFromTypeAndProps(\n newChild.type,\n newChild.key,\n newChild.props,\n null,\n returnFiber.mode,\n lanes\n )),\n (lanes.ref = coerceRef(\n returnFiber,\n currentFirstChild,\n newChild\n )),\n (lanes.return = returnFiber),\n (returnFiber = lanes));\n }\n return placeSingleChild(returnFiber);\n case REACT_PORTAL_TYPE:\n a: {\n for (child = newChild.key; null !== currentFirstChild; ) {\n if (currentFirstChild.key === child)\n if (\n 4 === currentFirstChild.tag &&\n currentFirstChild.stateNode.containerInfo ===\n newChild.containerInfo &&\n currentFirstChild.stateNode.implementation ===\n newChild.implementation\n ) {\n deleteRemainingChildren(\n returnFiber,\n currentFirstChild.sibling\n );\n currentFirstChild = useFiber(\n currentFirstChild,\n newChild.children || []\n );\n currentFirstChild.return = returnFiber;\n returnFiber = currentFirstChild;\n break a;\n } else {\n deleteRemainingChildren(returnFiber, currentFirstChild);\n break;\n }\n else deleteChild(returnFiber, currentFirstChild);\n currentFirstChild = currentFirstChild.sibling;\n }\n currentFirstChild = createFiberFromPortal(\n newChild,\n returnFiber.mode,\n lanes\n );\n currentFirstChild.return = returnFiber;\n returnFiber = currentFirstChild;\n }\n return placeSingleChild(returnFiber);\n case REACT_LAZY_TYPE:\n return (\n (child = newChild._init),\n reconcileChildFibers(\n returnFiber,\n currentFirstChild,\n child(newChild._payload),\n lanes\n )\n );\n }\n if (isArrayImpl(newChild))\n return reconcileChildrenArray(\n returnFiber,\n currentFirstChild,\n newChild,\n lanes\n );\n if (getIteratorFn(newChild))\n return reconcileChildrenIterator(\n returnFiber,\n currentFirstChild,\n newChild,\n lanes\n );\n throwOnInvalidObjectType(returnFiber, newChild);\n }\n return (\"string\" === typeof newChild && \"\" !== newChild) ||\n \"number\" === typeof newChild\n ? ((newChild = \"\" + newChild),\n null !== currentFirstChild && 6 === currentFirstChild.tag\n ? (deleteRemainingChildren(returnFiber, currentFirstChild.sibling),\n (currentFirstChild = useFiber(currentFirstChild, newChild)),\n (currentFirstChild.return = returnFiber),\n (returnFiber = currentFirstChild))\n : (deleteRemainingChildren(returnFiber, currentFirstChild),\n (currentFirstChild = createFiberFromText(\n newChild,\n returnFiber.mode,\n lanes\n )),\n (currentFirstChild.return = returnFiber),\n (returnFiber = currentFirstChild)),\n placeSingleChild(returnFiber))\n : deleteRemainingChildren(returnFiber, currentFirstChild);\n }\n return reconcileChildFibers;\n}\nvar reconcileChildFibers = ChildReconciler(!0),\n mountChildFibers = ChildReconciler(!1),\n NO_CONTEXT = {},\n contextStackCursor$1 = createCursor(NO_CONTEXT),\n contextFiberStackCursor = createCursor(NO_CONTEXT),\n rootInstanceStackCursor = createCursor(NO_CONTEXT);\nfunction requiredContext(c) {\n if (c === NO_CONTEXT)\n throw Error(\n \"Expected host context to exist. This error is likely caused by a bug in React. Please file an issue.\"\n );\n return c;\n}\nfunction pushHostContainer(fiber, nextRootInstance) {\n push(rootInstanceStackCursor, nextRootInstance);\n push(contextFiberStackCursor, fiber);\n push(contextStackCursor$1, NO_CONTEXT);\n pop(contextStackCursor$1);\n push(contextStackCursor$1, { isInAParentText: !1 });\n}\nfunction popHostContainer() {\n pop(contextStackCursor$1);\n pop(contextFiberStackCursor);\n pop(rootInstanceStackCursor);\n}\nfunction pushHostContext(fiber) {\n requiredContext(rootInstanceStackCursor.current);\n var context = requiredContext(contextStackCursor$1.current);\n var JSCompiler_inline_result = fiber.type;\n JSCompiler_inline_result =\n \"AndroidTextInput\" === JSCompiler_inline_result ||\n \"RCTMultilineTextInputView\" === JSCompiler_inline_result ||\n \"RCTSinglelineTextInputView\" === JSCompiler_inline_result ||\n \"RCTText\" === JSCompiler_inline_result ||\n \"RCTVirtualText\" === JSCompiler_inline_result;\n JSCompiler_inline_result =\n context.isInAParentText !== JSCompiler_inline_result\n ? { isInAParentText: JSCompiler_inline_result }\n : context;\n context !== JSCompiler_inline_result &&\n (push(contextFiberStackCursor, fiber),\n push(contextStackCursor$1, JSCompiler_inline_result));\n}\nfunction popHostContext(fiber) {\n contextFiberStackCursor.current === fiber &&\n (pop(contextStackCursor$1), pop(contextFiberStackCursor));\n}\nvar suspenseStackCursor = createCursor(0);\nfunction findFirstSuspended(row) {\n for (var node = row; null !== node; ) {\n if (13 === node.tag) {\n var state = node.memoizedState;\n if (null !== state && (null === state.dehydrated || shim$1() || shim$1()))\n return node;\n } else if (19 === node.tag && void 0 !== node.memoizedProps.revealOrder) {\n if (0 !== (node.flags & 128)) return node;\n } else if (null !== node.child) {\n node.child.return = node;\n node = node.child;\n continue;\n }\n if (node === row) break;\n for (; null === node.sibling; ) {\n if (null === node.return || node.return === row) return null;\n node = node.return;\n }\n node.sibling.return = node.return;\n node = node.sibling;\n }\n return null;\n}\nvar workInProgressSources = [];\nfunction resetWorkInProgressVersions() {\n for (var i = 0; i < workInProgressSources.length; i++)\n workInProgressSources[i]._workInProgressVersionSecondary = null;\n workInProgressSources.length = 0;\n}\nvar ReactCurrentDispatcher$1 = ReactSharedInternals.ReactCurrentDispatcher,\n ReactCurrentBatchConfig$1 = ReactSharedInternals.ReactCurrentBatchConfig,\n renderLanes = 0,\n currentlyRenderingFiber$1 = null,\n currentHook = null,\n workInProgressHook = null,\n didScheduleRenderPhaseUpdate = !1,\n didScheduleRenderPhaseUpdateDuringThisPass = !1,\n globalClientIdCounter = 0;\nfunction throwInvalidHookError() {\n throw Error(\n \"Invalid hook call. Hooks can only be called inside of the body of a function component. This could happen for one of the following reasons:\\n1. You might have mismatching versions of React and the renderer (such as React DOM)\\n2. You might be breaking the Rules of Hooks\\n3. You might have more than one copy of React in the same app\\nSee https://react.dev/link/invalid-hook-call for tips about how to debug and fix this problem.\"\n );\n}\nfunction areHookInputsEqual(nextDeps, prevDeps) {\n if (null === prevDeps) return !1;\n for (var i = 0; i < prevDeps.length && i < nextDeps.length; i++)\n if (!objectIs(nextDeps[i], prevDeps[i])) return !1;\n return !0;\n}\nfunction renderWithHooks(\n current,\n workInProgress,\n Component,\n props,\n secondArg,\n nextRenderLanes\n) {\n renderLanes = nextRenderLanes;\n currentlyRenderingFiber$1 = workInProgress;\n workInProgress.memoizedState = null;\n workInProgress.updateQueue = null;\n workInProgress.lanes = 0;\n ReactCurrentDispatcher$1.current =\n null === current || null === current.memoizedState\n ? HooksDispatcherOnMount\n : HooksDispatcherOnUpdate;\n current = Component(props, secondArg);\n if (didScheduleRenderPhaseUpdateDuringThisPass) {\n nextRenderLanes = 0;\n do {\n didScheduleRenderPhaseUpdateDuringThisPass = !1;\n if (25 <= nextRenderLanes)\n throw Error(\n \"Too many re-renders. React limits the number of renders to prevent an infinite loop.\"\n );\n nextRenderLanes += 1;\n workInProgressHook = currentHook = null;\n workInProgress.updateQueue = null;\n ReactCurrentDispatcher$1.current = HooksDispatcherOnRerender;\n current = Component(props, secondArg);\n } while (didScheduleRenderPhaseUpdateDuringThisPass);\n }\n ReactCurrentDispatcher$1.current = ContextOnlyDispatcher;\n workInProgress = null !== currentHook && null !== currentHook.next;\n renderLanes = 0;\n workInProgressHook = currentHook = currentlyRenderingFiber$1 = null;\n didScheduleRenderPhaseUpdate = !1;\n if (workInProgress)\n throw Error(\n \"Rendered fewer hooks than expected. This may be caused by an accidental early return statement.\"\n );\n return current;\n}\nfunction mountWorkInProgressHook() {\n var hook = {\n memoizedState: null,\n baseState: null,\n baseQueue: null,\n queue: null,\n next: null\n };\n null === workInProgressHook\n ? (currentlyRenderingFiber$1.memoizedState = workInProgressHook = hook)\n : (workInProgressHook = workInProgressHook.next = hook);\n return workInProgressHook;\n}\nfunction updateWorkInProgressHook() {\n if (null === currentHook) {\n var nextCurrentHook = currentlyRenderingFiber$1.alternate;\n nextCurrentHook =\n null !== nextCurrentHook ? nextCurrentHook.memoizedState : null;\n } else nextCurrentHook = currentHook.next;\n var nextWorkInProgressHook =\n null === workInProgressHook\n ? currentlyRenderingFiber$1.memoizedState\n : workInProgressHook.next;\n if (null !== nextWorkInProgressHook)\n (workInProgressHook = nextWorkInProgressHook),\n (currentHook = nextCurrentHook);\n else {\n if (null === nextCurrentHook)\n throw Error(\"Rendered more hooks than during the previous render.\");\n currentHook = nextCurrentHook;\n nextCurrentHook = {\n memoizedState: currentHook.memoizedState,\n baseState: currentHook.baseState,\n baseQueue: currentHook.baseQueue,\n queue: currentHook.queue,\n next: null\n };\n null === workInProgressHook\n ? (currentlyRenderingFiber$1.memoizedState = workInProgressHook = nextCurrentHook)\n : (workInProgressHook = workInProgressHook.next = nextCurrentHook);\n }\n return workInProgressHook;\n}\nfunction basicStateReducer(state, action) {\n return \"function\" === typeof action ? action(state) : action;\n}\nfunction updateReducer(reducer) {\n var hook = updateWorkInProgressHook(),\n queue = hook.queue;\n if (null === queue)\n throw Error(\n \"Should have a queue. This is likely a bug in React. Please file an issue.\"\n );\n queue.lastRenderedReducer = reducer;\n var current = currentHook,\n baseQueue = current.baseQueue,\n pendingQueue = queue.pending;\n if (null !== pendingQueue) {\n if (null !== baseQueue) {\n var baseFirst = baseQueue.next;\n baseQueue.next = pendingQueue.next;\n pendingQueue.next = baseFirst;\n }\n current.baseQueue = baseQueue = pendingQueue;\n queue.pending = null;\n }\n if (null !== baseQueue) {\n pendingQueue = baseQueue.next;\n current = current.baseState;\n var newBaseQueueFirst = (baseFirst = null),\n newBaseQueueLast = null,\n update = pendingQueue;\n do {\n var updateLane = update.lane;\n if ((renderLanes & updateLane) === updateLane)\n null !== newBaseQueueLast &&\n (newBaseQueueLast = newBaseQueueLast.next = {\n lane: 0,\n action: update.action,\n hasEagerState: update.hasEagerState,\n eagerState: update.eagerState,\n next: null\n }),\n (current = update.hasEagerState\n ? update.eagerState\n : reducer(current, update.action));\n else {\n var clone = {\n lane: updateLane,\n action: update.action,\n hasEagerState: update.hasEagerState,\n eagerState: update.eagerState,\n next: null\n };\n null === newBaseQueueLast\n ? ((newBaseQueueFirst = newBaseQueueLast = clone),\n (baseFirst = current))\n : (newBaseQueueLast = newBaseQueueLast.next = clone);\n currentlyRenderingFiber$1.lanes |= updateLane;\n workInProgressRootSkippedLanes |= updateLane;\n }\n update = update.next;\n } while (null !== update && update !== pendingQueue);\n null === newBaseQueueLast\n ? (baseFirst = current)\n : (newBaseQueueLast.next = newBaseQueueFirst);\n objectIs(current, hook.memoizedState) || (didReceiveUpdate = !0);\n hook.memoizedState = current;\n hook.baseState = baseFirst;\n hook.baseQueue = newBaseQueueLast;\n queue.lastRenderedState = current;\n }\n reducer = queue.interleaved;\n if (null !== reducer) {\n baseQueue = reducer;\n do\n (pendingQueue = baseQueue.lane),\n (currentlyRenderingFiber$1.lanes |= pendingQueue),\n (workInProgressRootSkippedLanes |= pendingQueue),\n (baseQueue = baseQueue.next);\n while (baseQueue !== reducer);\n } else null === baseQueue && (queue.lanes = 0);\n return [hook.memoizedState, queue.dispatch];\n}\nfunction rerenderReducer(reducer) {\n var hook = updateWorkInProgressHook(),\n queue = hook.queue;\n if (null === queue)\n throw Error(\n \"Should have a queue. This is likely a bug in React. Please file an issue.\"\n );\n queue.lastRenderedReducer = reducer;\n var dispatch = queue.dispatch,\n lastRenderPhaseUpdate = queue.pending,\n newState = hook.memoizedState;\n if (null !== lastRenderPhaseUpdate) {\n queue.pending = null;\n var update = (lastRenderPhaseUpdate = lastRenderPhaseUpdate.next);\n do (newState = reducer(newState, update.action)), (update = update.next);\n while (update !== lastRenderPhaseUpdate);\n objectIs(newState, hook.memoizedState) || (didReceiveUpdate = !0);\n hook.memoizedState = newState;\n null === hook.baseQueue && (hook.baseState = newState);\n queue.lastRenderedState = newState;\n }\n return [newState, dispatch];\n}\nfunction updateMutableSource() {}\nfunction updateSyncExternalStore(subscribe, getSnapshot) {\n var fiber = currentlyRenderingFiber$1,\n hook = updateWorkInProgressHook(),\n nextSnapshot = getSnapshot(),\n snapshotChanged = !objectIs(hook.memoizedState, nextSnapshot);\n snapshotChanged &&\n ((hook.memoizedState = nextSnapshot), (didReceiveUpdate = !0));\n hook = hook.queue;\n updateEffect(subscribeToStore.bind(null, fiber, hook, subscribe), [\n subscribe\n ]);\n if (\n hook.getSnapshot !== getSnapshot ||\n snapshotChanged ||\n (null !== workInProgressHook && workInProgressHook.memoizedState.tag & 1)\n ) {\n fiber.flags |= 2048;\n pushEffect(\n 9,\n updateStoreInstance.bind(null, fiber, hook, nextSnapshot, getSnapshot),\n void 0,\n null\n );\n if (null === workInProgressRoot)\n throw Error(\n \"Expected a work-in-progress root. This is a bug in React. Please file an issue.\"\n );\n 0 !== (renderLanes & 30) ||\n pushStoreConsistencyCheck(fiber, getSnapshot, nextSnapshot);\n }\n return nextSnapshot;\n}\nfunction pushStoreConsistencyCheck(fiber, getSnapshot, renderedSnapshot) {\n fiber.flags |= 16384;\n fiber = { getSnapshot: getSnapshot, value: renderedSnapshot };\n getSnapshot = currentlyRenderingFiber$1.updateQueue;\n null === getSnapshot\n ? ((getSnapshot = { lastEffect: null, stores: null }),\n (currentlyRenderingFiber$1.updateQueue = getSnapshot),\n (getSnapshot.stores = [fiber]))\n : ((renderedSnapshot = getSnapshot.stores),\n null === renderedSnapshot\n ? (getSnapshot.stores = [fiber])\n : renderedSnapshot.push(fiber));\n}\nfunction updateStoreInstance(fiber, inst, nextSnapshot, getSnapshot) {\n inst.value = nextSnapshot;\n inst.getSnapshot = getSnapshot;\n checkIfSnapshotChanged(inst) && forceStoreRerender(fiber);\n}\nfunction subscribeToStore(fiber, inst, subscribe) {\n return subscribe(function() {\n checkIfSnapshotChanged(inst) && forceStoreRerender(fiber);\n });\n}\nfunction checkIfSnapshotChanged(inst) {\n var latestGetSnapshot = inst.getSnapshot;\n inst = inst.value;\n try {\n var nextValue = latestGetSnapshot();\n return !objectIs(inst, nextValue);\n } catch (error) {\n return !0;\n }\n}\nfunction forceStoreRerender(fiber) {\n var root = markUpdateLaneFromFiberToRoot(fiber, 1);\n null !== root && scheduleUpdateOnFiber(root, fiber, 1, -1);\n}\nfunction mountState(initialState) {\n var hook = mountWorkInProgressHook();\n \"function\" === typeof initialState && (initialState = initialState());\n hook.memoizedState = hook.baseState = initialState;\n initialState = {\n pending: null,\n interleaved: null,\n lanes: 0,\n dispatch: null,\n lastRenderedReducer: basicStateReducer,\n lastRenderedState: initialState\n };\n hook.queue = initialState;\n initialState = initialState.dispatch = dispatchSetState.bind(\n null,\n currentlyRenderingFiber$1,\n initialState\n );\n return [hook.memoizedState, initialState];\n}\nfunction pushEffect(tag, create, destroy, deps) {\n tag = { tag: tag, create: create, destroy: destroy, deps: deps, next: null };\n create = currentlyRenderingFiber$1.updateQueue;\n null === create\n ? ((create = { lastEffect: null, stores: null }),\n (currentlyRenderingFiber$1.updateQueue = create),\n (create.lastEffect = tag.next = tag))\n : ((destroy = create.lastEffect),\n null === destroy\n ? (create.lastEffect = tag.next = tag)\n : ((deps = destroy.next),\n (destroy.next = tag),\n (tag.next = deps),\n (create.lastEffect = tag)));\n return tag;\n}\nfunction updateRef() {\n return updateWorkInProgressHook().memoizedState;\n}\nfunction mountEffectImpl(fiberFlags, hookFlags, create, deps) {\n var hook = mountWorkInProgressHook();\n currentlyRenderingFiber$1.flags |= fiberFlags;\n hook.memoizedState = pushEffect(\n 1 | hookFlags,\n create,\n void 0,\n void 0 === deps ? null : deps\n );\n}\nfunction updateEffectImpl(fiberFlags, hookFlags, create, deps) {\n var hook = updateWorkInProgressHook();\n deps = void 0 === deps ? null : deps;\n var destroy = void 0;\n if (null !== currentHook) {\n var prevEffect = currentHook.memoizedState;\n destroy = prevEffect.destroy;\n if (null !== deps && areHookInputsEqual(deps, prevEffect.deps)) {\n hook.memoizedState = pushEffect(hookFlags, create, destroy, deps);\n return;\n }\n }\n currentlyRenderingFiber$1.flags |= fiberFlags;\n hook.memoizedState = pushEffect(1 | hookFlags, create, destroy, deps);\n}\nfunction mountEffect(create, deps) {\n return mountEffectImpl(8390656, 8, create, deps);\n}\nfunction updateEffect(create, deps) {\n return updateEffectImpl(2048, 8, create, deps);\n}\nfunction updateInsertionEffect(create, deps) {\n return updateEffectImpl(4, 2, create, deps);\n}\nfunction updateLayoutEffect(create, deps) {\n return updateEffectImpl(4, 4, create, deps);\n}\nfunction imperativeHandleEffect(create, ref) {\n if (\"function\" === typeof ref)\n return (\n (create = create()),\n ref(create),\n function() {\n ref(null);\n }\n );\n if (null !== ref && void 0 !== ref)\n return (\n (create = create()),\n (ref.current = create),\n function() {\n ref.current = null;\n }\n );\n}\nfunction updateImperativeHandle(ref, create, deps) {\n deps = null !== deps && void 0 !== deps ? deps.concat([ref]) : null;\n return updateEffectImpl(\n 4,\n 4,\n imperativeHandleEffect.bind(null, create, ref),\n deps\n );\n}\nfunction mountDebugValue() {}\nfunction updateCallback(callback, deps) {\n var hook = updateWorkInProgressHook();\n deps = void 0 === deps ? null : deps;\n var prevState = hook.memoizedState;\n if (\n null !== prevState &&\n null !== deps &&\n areHookInputsEqual(deps, prevState[1])\n )\n return prevState[0];\n hook.memoizedState = [callback, deps];\n return callback;\n}\nfunction updateMemo(nextCreate, deps) {\n var hook = updateWorkInProgressHook();\n deps = void 0 === deps ? null : deps;\n var prevState = hook.memoizedState;\n if (\n null !== prevState &&\n null !== deps &&\n areHookInputsEqual(deps, prevState[1])\n )\n return prevState[0];\n nextCreate = nextCreate();\n hook.memoizedState = [nextCreate, deps];\n return nextCreate;\n}\nfunction updateDeferredValueImpl(hook, prevValue, value) {\n if (0 === (renderLanes & 21))\n return (\n hook.baseState && ((hook.baseState = !1), (didReceiveUpdate = !0)),\n (hook.memoizedState = value)\n );\n objectIs(value, prevValue) ||\n ((value = claimNextTransitionLane()),\n (currentlyRenderingFiber$1.lanes |= value),\n (workInProgressRootSkippedLanes |= value),\n (hook.baseState = !0));\n return prevValue;\n}\nfunction startTransition(setPending, callback) {\n var previousPriority = currentUpdatePriority;\n currentUpdatePriority =\n 0 !== previousPriority && 4 > previousPriority ? previousPriority : 4;\n setPending(!0);\n var prevTransition = ReactCurrentBatchConfig$1.transition;\n ReactCurrentBatchConfig$1.transition = {};\n try {\n setPending(!1), callback();\n } finally {\n (currentUpdatePriority = previousPriority),\n (ReactCurrentBatchConfig$1.transition = prevTransition);\n }\n}\nfunction updateId() {\n return updateWorkInProgressHook().memoizedState;\n}\nfunction dispatchReducerAction(fiber, queue, action) {\n var lane = requestUpdateLane(fiber);\n action = {\n lane: lane,\n action: action,\n hasEagerState: !1,\n eagerState: null,\n next: null\n };\n if (isRenderPhaseUpdate(fiber)) enqueueRenderPhaseUpdate(queue, action);\n else if (\n ((action = enqueueConcurrentHookUpdate(fiber, queue, action, lane)),\n null !== action)\n ) {\n var eventTime = requestEventTime();\n scheduleUpdateOnFiber(action, fiber, lane, eventTime);\n entangleTransitionUpdate(action, queue, lane);\n }\n}\nfunction dispatchSetState(fiber, queue, action) {\n var lane = requestUpdateLane(fiber),\n update = {\n lane: lane,\n action: action,\n hasEagerState: !1,\n eagerState: null,\n next: null\n };\n if (isRenderPhaseUpdate(fiber)) enqueueRenderPhaseUpdate(queue, update);\n else {\n var alternate = fiber.alternate;\n if (\n 0 === fiber.lanes &&\n (null === alternate || 0 === alternate.lanes) &&\n ((alternate = queue.lastRenderedReducer), null !== alternate)\n )\n try {\n var currentState = queue.lastRenderedState,\n eagerState = alternate(currentState, action);\n update.hasEagerState = !0;\n update.eagerState = eagerState;\n if (objectIs(eagerState, currentState)) {\n var interleaved = queue.interleaved;\n null === interleaved\n ? ((update.next = update), pushConcurrentUpdateQueue(queue))\n : ((update.next = interleaved.next), (interleaved.next = update));\n queue.interleaved = update;\n return;\n }\n } catch (error) {\n } finally {\n }\n action = enqueueConcurrentHookUpdate(fiber, queue, update, lane);\n null !== action &&\n ((update = requestEventTime()),\n scheduleUpdateOnFiber(action, fiber, lane, update),\n entangleTransitionUpdate(action, queue, lane));\n }\n}\nfunction isRenderPhaseUpdate(fiber) {\n var alternate = fiber.alternate;\n return (\n fiber === currentlyRenderingFiber$1 ||\n (null !== alternate && alternate === currentlyRenderingFiber$1)\n );\n}\nfunction enqueueRenderPhaseUpdate(queue, update) {\n didScheduleRenderPhaseUpdateDuringThisPass = didScheduleRenderPhaseUpdate = !0;\n var pending = queue.pending;\n null === pending\n ? (update.next = update)\n : ((update.next = pending.next), (pending.next = update));\n queue.pending = update;\n}\nfunction entangleTransitionUpdate(root, queue, lane) {\n if (0 !== (lane & 4194240)) {\n var queueLanes = queue.lanes;\n queueLanes &= root.pendingLanes;\n lane |= queueLanes;\n queue.lanes = lane;\n markRootEntangled(root, lane);\n }\n}\nvar ContextOnlyDispatcher = {\n readContext: readContext,\n useCallback: throwInvalidHookError,\n useContext: throwInvalidHookError,\n useEffect: throwInvalidHookError,\n useImperativeHandle: throwInvalidHookError,\n useInsertionEffect: throwInvalidHookError,\n useLayoutEffect: throwInvalidHookError,\n useMemo: throwInvalidHookError,\n useReducer: throwInvalidHookError,\n useRef: throwInvalidHookError,\n useState: throwInvalidHookError,\n useDebugValue: throwInvalidHookError,\n useDeferredValue: throwInvalidHookError,\n useTransition: throwInvalidHookError,\n useMutableSource: throwInvalidHookError,\n useSyncExternalStore: throwInvalidHookError,\n useId: throwInvalidHookError,\n unstable_isNewReconciler: !1\n },\n HooksDispatcherOnMount = {\n readContext: readContext,\n useCallback: function(callback, deps) {\n mountWorkInProgressHook().memoizedState = [\n callback,\n void 0 === deps ? null : deps\n ];\n return callback;\n },\n useContext: readContext,\n useEffect: mountEffect,\n useImperativeHandle: function(ref, create, deps) {\n deps = null !== deps && void 0 !== deps ? deps.concat([ref]) : null;\n return mountEffectImpl(\n 4,\n 4,\n imperativeHandleEffect.bind(null, create, ref),\n deps\n );\n },\n useLayoutEffect: function(create, deps) {\n return mountEffectImpl(4, 4, create, deps);\n },\n useInsertionEffect: function(create, deps) {\n return mountEffectImpl(4, 2, create, deps);\n },\n useMemo: function(nextCreate, deps) {\n var hook = mountWorkInProgressHook();\n deps = void 0 === deps ? null : deps;\n nextCreate = nextCreate();\n hook.memoizedState = [nextCreate, deps];\n return nextCreate;\n },\n useReducer: function(reducer, initialArg, init) {\n var hook = mountWorkInProgressHook();\n initialArg = void 0 !== init ? init(initialArg) : initialArg;\n hook.memoizedState = hook.baseState = initialArg;\n reducer = {\n pending: null,\n interleaved: null,\n lanes: 0,\n dispatch: null,\n lastRenderedReducer: reducer,\n lastRenderedState: initialArg\n };\n hook.queue = reducer;\n reducer = reducer.dispatch = dispatchReducerAction.bind(\n null,\n currentlyRenderingFiber$1,\n reducer\n );\n return [hook.memoizedState, reducer];\n },\n useRef: function(initialValue) {\n var hook = mountWorkInProgressHook();\n initialValue = { current: initialValue };\n return (hook.memoizedState = initialValue);\n },\n useState: mountState,\n useDebugValue: mountDebugValue,\n useDeferredValue: function(value) {\n return (mountWorkInProgressHook().memoizedState = value);\n },\n useTransition: function() {\n var _mountState = mountState(!1),\n isPending = _mountState[0];\n _mountState = startTransition.bind(null, _mountState[1]);\n mountWorkInProgressHook().memoizedState = _mountState;\n return [isPending, _mountState];\n },\n useMutableSource: function() {},\n useSyncExternalStore: function(subscribe, getSnapshot) {\n var fiber = currentlyRenderingFiber$1,\n hook = mountWorkInProgressHook();\n var nextSnapshot = getSnapshot();\n if (null === workInProgressRoot)\n throw Error(\n \"Expected a work-in-progress root. This is a bug in React. Please file an issue.\"\n );\n 0 !== (renderLanes & 30) ||\n pushStoreConsistencyCheck(fiber, getSnapshot, nextSnapshot);\n hook.memoizedState = nextSnapshot;\n var inst = { value: nextSnapshot, getSnapshot: getSnapshot };\n hook.queue = inst;\n mountEffect(subscribeToStore.bind(null, fiber, inst, subscribe), [\n subscribe\n ]);\n fiber.flags |= 2048;\n pushEffect(\n 9,\n updateStoreInstance.bind(null, fiber, inst, nextSnapshot, getSnapshot),\n void 0,\n null\n );\n return nextSnapshot;\n },\n useId: function() {\n var hook = mountWorkInProgressHook(),\n identifierPrefix = workInProgressRoot.identifierPrefix,\n globalClientId = globalClientIdCounter++;\n identifierPrefix =\n \":\" + identifierPrefix + \"r\" + globalClientId.toString(32) + \":\";\n return (hook.memoizedState = identifierPrefix);\n },\n unstable_isNewReconciler: !1\n },\n HooksDispatcherOnUpdate = {\n readContext: readContext,\n useCallback: updateCallback,\n useContext: readContext,\n useEffect: updateEffect,\n useImperativeHandle: updateImperativeHandle,\n useInsertionEffect: updateInsertionEffect,\n useLayoutEffect: updateLayoutEffect,\n useMemo: updateMemo,\n useReducer: updateReducer,\n useRef: updateRef,\n useState: function() {\n return updateReducer(basicStateReducer);\n },\n useDebugValue: mountDebugValue,\n useDeferredValue: function(value) {\n var hook = updateWorkInProgressHook();\n return updateDeferredValueImpl(hook, currentHook.memoizedState, value);\n },\n useTransition: function() {\n var isPending = updateReducer(basicStateReducer)[0],\n start = updateWorkInProgressHook().memoizedState;\n return [isPending, start];\n },\n useMutableSource: updateMutableSource,\n useSyncExternalStore: updateSyncExternalStore,\n useId: updateId,\n unstable_isNewReconciler: !1\n },\n HooksDispatcherOnRerender = {\n readContext: readContext,\n useCallback: updateCallback,\n useContext: readContext,\n useEffect: updateEffect,\n useImperativeHandle: updateImperativeHandle,\n useInsertionEffect: updateInsertionEffect,\n useLayoutEffect: updateLayoutEffect,\n useMemo: updateMemo,\n useReducer: rerenderReducer,\n useRef: updateRef,\n useState: function() {\n return rerenderReducer(basicStateReducer);\n },\n useDebugValue: mountDebugValue,\n useDeferredValue: function(value) {\n var hook = updateWorkInProgressHook();\n return null === currentHook\n ? (hook.memoizedState = value)\n : updateDeferredValueImpl(hook, currentHook.memoizedState, value);\n },\n useTransition: function() {\n var isPending = rerenderReducer(basicStateReducer)[0],\n start = updateWorkInProgressHook().memoizedState;\n return [isPending, start];\n },\n useMutableSource: updateMutableSource,\n useSyncExternalStore: updateSyncExternalStore,\n useId: updateId,\n unstable_isNewReconciler: !1\n };\nfunction createCapturedValueAtFiber(value, source) {\n try {\n var info = \"\",\n node = source;\n do (info += describeFiber(node)), (node = node.return);\n while (node);\n var JSCompiler_inline_result = info;\n } catch (x) {\n JSCompiler_inline_result =\n \"\\nError generating stack: \" + x.message + \"\\n\" + x.stack;\n }\n return {\n value: value,\n source: source,\n stack: JSCompiler_inline_result,\n digest: null\n };\n}\nfunction createCapturedValue(value, digest, stack) {\n return {\n value: value,\n source: null,\n stack: null != stack ? stack : null,\n digest: null != digest ? digest : null\n };\n}\nif (\n \"function\" !==\n typeof ReactNativePrivateInterface.ReactFiberErrorDialog.showErrorDialog\n)\n throw Error(\n \"Expected ReactFiberErrorDialog.showErrorDialog to be a function.\"\n );\nfunction logCapturedError(boundary, errorInfo) {\n try {\n !1 !==\n ReactNativePrivateInterface.ReactFiberErrorDialog.showErrorDialog({\n componentStack: null !== errorInfo.stack ? errorInfo.stack : \"\",\n error: errorInfo.value,\n errorBoundary:\n null !== boundary && 1 === boundary.tag ? boundary.stateNode : null\n }) && console.error(errorInfo.value);\n } catch (e) {\n setTimeout(function() {\n throw e;\n });\n }\n}\nvar PossiblyWeakMap = \"function\" === typeof WeakMap ? WeakMap : Map;\nfunction createRootErrorUpdate(fiber, errorInfo, lane) {\n lane = createUpdate(-1, lane);\n lane.tag = 3;\n lane.payload = { element: null };\n var error = errorInfo.value;\n lane.callback = function() {\n hasUncaughtError || ((hasUncaughtError = !0), (firstUncaughtError = error));\n logCapturedError(fiber, errorInfo);\n };\n return lane;\n}\nfunction createClassErrorUpdate(fiber, errorInfo, lane) {\n lane = createUpdate(-1, lane);\n lane.tag = 3;\n var getDerivedStateFromError = fiber.type.getDerivedStateFromError;\n if (\"function\" === typeof getDerivedStateFromError) {\n var error = errorInfo.value;\n lane.payload = function() {\n return getDerivedStateFromError(error);\n };\n lane.callback = function() {\n logCapturedError(fiber, errorInfo);\n };\n }\n var inst = fiber.stateNode;\n null !== inst &&\n \"function\" === typeof inst.componentDidCatch &&\n (lane.callback = function() {\n logCapturedError(fiber, errorInfo);\n \"function\" !== typeof getDerivedStateFromError &&\n (null === legacyErrorBoundariesThatAlreadyFailed\n ? (legacyErrorBoundariesThatAlreadyFailed = new Set([this]))\n : legacyErrorBoundariesThatAlreadyFailed.add(this));\n var stack = errorInfo.stack;\n this.componentDidCatch(errorInfo.value, {\n componentStack: null !== stack ? stack : \"\"\n });\n });\n return lane;\n}\nfunction attachPingListener(root, wakeable, lanes) {\n var pingCache = root.pingCache;\n if (null === pingCache) {\n pingCache = root.pingCache = new PossiblyWeakMap();\n var threadIDs = new Set();\n pingCache.set(wakeable, threadIDs);\n } else\n (threadIDs = pingCache.get(wakeable)),\n void 0 === threadIDs &&\n ((threadIDs = new Set()), pingCache.set(wakeable, threadIDs));\n threadIDs.has(lanes) ||\n (threadIDs.add(lanes),\n (root = pingSuspendedRoot.bind(null, root, wakeable, lanes)),\n wakeable.then(root, root));\n}\nvar ReactCurrentOwner$1 = ReactSharedInternals.ReactCurrentOwner,\n didReceiveUpdate = !1;\nfunction reconcileChildren(current, workInProgress, nextChildren, renderLanes) {\n workInProgress.child =\n null === current\n ? mountChildFibers(workInProgress, null, nextChildren, renderLanes)\n : reconcileChildFibers(\n workInProgress,\n current.child,\n nextChildren,\n renderLanes\n );\n}\nfunction updateForwardRef(\n current,\n workInProgress,\n Component,\n nextProps,\n renderLanes\n) {\n Component = Component.render;\n var ref = workInProgress.ref;\n prepareToReadContext(workInProgress, renderLanes);\n nextProps = renderWithHooks(\n current,\n workInProgress,\n Component,\n nextProps,\n ref,\n renderLanes\n );\n if (null !== current && !didReceiveUpdate)\n return (\n (workInProgress.updateQueue = current.updateQueue),\n (workInProgress.flags &= -2053),\n (current.lanes &= ~renderLanes),\n bailoutOnAlreadyFinishedWork(current, workInProgress, renderLanes)\n );\n workInProgress.flags |= 1;\n reconcileChildren(current, workInProgress, nextProps, renderLanes);\n return workInProgress.child;\n}\nfunction updateMemoComponent(\n current,\n workInProgress,\n Component,\n nextProps,\n renderLanes\n) {\n if (null === current) {\n var type = Component.type;\n if (\n \"function\" === typeof type &&\n !shouldConstruct(type) &&\n void 0 === type.defaultProps &&\n null === Component.compare &&\n void 0 === Component.defaultProps\n )\n return (\n (workInProgress.tag = 15),\n (workInProgress.type = type),\n updateSimpleMemoComponent(\n current,\n workInProgress,\n type,\n nextProps,\n renderLanes\n )\n );\n current = createFiberFromTypeAndProps(\n Component.type,\n null,\n nextProps,\n workInProgress,\n workInProgress.mode,\n renderLanes\n );\n current.ref = workInProgress.ref;\n current.return = workInProgress;\n return (workInProgress.child = current);\n }\n type = current.child;\n if (0 === (current.lanes & renderLanes)) {\n var prevProps = type.memoizedProps;\n Component = Component.compare;\n Component = null !== Component ? Component : shallowEqual;\n if (Component(prevProps, nextProps) && current.ref === workInProgress.ref)\n return bailoutOnAlreadyFinishedWork(current, workInProgress, renderLanes);\n }\n workInProgress.flags |= 1;\n current = createWorkInProgress(type, nextProps);\n current.ref = workInProgress.ref;\n current.return = workInProgress;\n return (workInProgress.child = current);\n}\nfunction updateSimpleMemoComponent(\n current,\n workInProgress,\n Component,\n nextProps,\n renderLanes\n) {\n if (null !== current) {\n var prevProps = current.memoizedProps;\n if (\n shallowEqual(prevProps, nextProps) &&\n current.ref === workInProgress.ref\n )\n if (\n ((didReceiveUpdate = !1),\n (workInProgress.pendingProps = nextProps = prevProps),\n 0 !== (current.lanes & renderLanes))\n )\n 0 !== (current.flags & 131072) && (didReceiveUpdate = !0);\n else\n return (\n (workInProgress.lanes = current.lanes),\n bailoutOnAlreadyFinishedWork(current, workInProgress, renderLanes)\n );\n }\n return updateFunctionComponent(\n current,\n workInProgress,\n Component,\n nextProps,\n renderLanes\n );\n}\nfunction updateOffscreenComponent(current, workInProgress, renderLanes) {\n var nextProps = workInProgress.pendingProps,\n nextChildren = nextProps.children,\n prevState = null !== current ? current.memoizedState : null;\n if (\"hidden\" === nextProps.mode)\n if (0 === (workInProgress.mode & 1))\n (workInProgress.memoizedState = {\n baseLanes: 0,\n cachePool: null,\n transitions: null\n }),\n push(subtreeRenderLanesCursor, subtreeRenderLanes),\n (subtreeRenderLanes |= renderLanes);\n else {\n if (0 === (renderLanes & 1073741824))\n return (\n (current =\n null !== prevState\n ? prevState.baseLanes | renderLanes\n : renderLanes),\n (workInProgress.lanes = workInProgress.childLanes = 1073741824),\n (workInProgress.memoizedState = {\n baseLanes: current,\n cachePool: null,\n transitions: null\n }),\n (workInProgress.updateQueue = null),\n push(subtreeRenderLanesCursor, subtreeRenderLanes),\n (subtreeRenderLanes |= current),\n null\n );\n workInProgress.memoizedState = {\n baseLanes: 0,\n cachePool: null,\n transitions: null\n };\n nextProps = null !== prevState ? prevState.baseLanes : renderLanes;\n push(subtreeRenderLanesCursor, subtreeRenderLanes);\n subtreeRenderLanes |= nextProps;\n }\n else\n null !== prevState\n ? ((nextProps = prevState.baseLanes | renderLanes),\n (workInProgress.memoizedState = null))\n : (nextProps = renderLanes),\n push(subtreeRenderLanesCursor, subtreeRenderLanes),\n (subtreeRenderLanes |= nextProps);\n reconcileChildren(current, workInProgress, nextChildren, renderLanes);\n return workInProgress.child;\n}\nfunction markRef(current, workInProgress) {\n var ref = workInProgress.ref;\n if (\n (null === current && null !== ref) ||\n (null !== current && current.ref !== ref)\n )\n workInProgress.flags |= 512;\n}\nfunction updateFunctionComponent(\n current,\n workInProgress,\n Component,\n nextProps,\n renderLanes\n) {\n var context = isContextProvider(Component)\n ? previousContext\n : contextStackCursor.current;\n context = getMaskedContext(workInProgress, context);\n prepareToReadContext(workInProgress, renderLanes);\n Component = renderWithHooks(\n current,\n workInProgress,\n Component,\n nextProps,\n context,\n renderLanes\n );\n if (null !== current && !didReceiveUpdate)\n return (\n (workInProgress.updateQueue = current.updateQueue),\n (workInProgress.flags &= -2053),\n (current.lanes &= ~renderLanes),\n bailoutOnAlreadyFinishedWork(current, workInProgress, renderLanes)\n );\n workInProgress.flags |= 1;\n reconcileChildren(current, workInProgress, Component, renderLanes);\n return workInProgress.child;\n}\nfunction updateClassComponent(\n current,\n workInProgress,\n Component,\n nextProps,\n renderLanes\n) {\n if (isContextProvider(Component)) {\n var hasContext = !0;\n pushContextProvider(workInProgress);\n } else hasContext = !1;\n prepareToReadContext(workInProgress, renderLanes);\n if (null === workInProgress.stateNode)\n resetSuspendedCurrentOnMountInLegacyMode(current, workInProgress),\n constructClassInstance(workInProgress, Component, nextProps),\n mountClassInstance(workInProgress, Component, nextProps, renderLanes),\n (nextProps = !0);\n else if (null === current) {\n var instance = workInProgress.stateNode,\n oldProps = workInProgress.memoizedProps;\n instance.props = oldProps;\n var oldContext = instance.context,\n contextType = Component.contextType;\n \"object\" === typeof contextType && null !== contextType\n ? (contextType = readContext(contextType))\n : ((contextType = isContextProvider(Component)\n ? previousContext\n : contextStackCursor.current),\n (contextType = getMaskedContext(workInProgress, contextType)));\n var getDerivedStateFromProps = Component.getDerivedStateFromProps,\n hasNewLifecycles =\n \"function\" === typeof getDerivedStateFromProps ||\n \"function\" === typeof instance.getSnapshotBeforeUpdate;\n hasNewLifecycles ||\n (\"function\" !== typeof instance.UNSAFE_componentWillReceiveProps &&\n \"function\" !== typeof instance.componentWillReceiveProps) ||\n ((oldProps !== nextProps || oldContext !== contextType) &&\n callComponentWillReceiveProps(\n workInProgress,\n instance,\n nextProps,\n contextType\n ));\n hasForceUpdate = !1;\n var oldState = workInProgress.memoizedState;\n instance.state = oldState;\n processUpdateQueue(workInProgress, nextProps, instance, renderLanes);\n oldContext = workInProgress.memoizedState;\n oldProps !== nextProps ||\n oldState !== oldContext ||\n didPerformWorkStackCursor.current ||\n hasForceUpdate\n ? (\"function\" === typeof getDerivedStateFromProps &&\n (applyDerivedStateFromProps(\n workInProgress,\n Component,\n getDerivedStateFromProps,\n nextProps\n ),\n (oldContext = workInProgress.memoizedState)),\n (oldProps =\n hasForceUpdate ||\n checkShouldComponentUpdate(\n workInProgress,\n Component,\n oldProps,\n nextProps,\n oldState,\n oldContext,\n contextType\n ))\n ? (hasNewLifecycles ||\n (\"function\" !== typeof instance.UNSAFE_componentWillMount &&\n \"function\" !== typeof instance.componentWillMount) ||\n (\"function\" === typeof instance.componentWillMount &&\n instance.componentWillMount(),\n \"function\" === typeof instance.UNSAFE_componentWillMount &&\n instance.UNSAFE_componentWillMount()),\n \"function\" === typeof instance.componentDidMount &&\n (workInProgress.flags |= 4))\n : (\"function\" === typeof instance.componentDidMount &&\n (workInProgress.flags |= 4),\n (workInProgress.memoizedProps = nextProps),\n (workInProgress.memoizedState = oldContext)),\n (instance.props = nextProps),\n (instance.state = oldContext),\n (instance.context = contextType),\n (nextProps = oldProps))\n : (\"function\" === typeof instance.componentDidMount &&\n (workInProgress.flags |= 4),\n (nextProps = !1));\n } else {\n instance = workInProgress.stateNode;\n cloneUpdateQueue(current, workInProgress);\n oldProps = workInProgress.memoizedProps;\n contextType =\n workInProgress.type === workInProgress.elementType\n ? oldProps\n : resolveDefaultProps(workInProgress.type, oldProps);\n instance.props = contextType;\n hasNewLifecycles = workInProgress.pendingProps;\n oldState = instance.context;\n oldContext = Component.contextType;\n \"object\" === typeof oldContext && null !== oldContext\n ? (oldContext = readContext(oldContext))\n : ((oldContext = isContextProvider(Component)\n ? previousContext\n : contextStackCursor.current),\n (oldContext = getMaskedContext(workInProgress, oldContext)));\n var getDerivedStateFromProps$jscomp$0 = Component.getDerivedStateFromProps;\n (getDerivedStateFromProps =\n \"function\" === typeof getDerivedStateFromProps$jscomp$0 ||\n \"function\" === typeof instance.getSnapshotBeforeUpdate) ||\n (\"function\" !== typeof instance.UNSAFE_componentWillReceiveProps &&\n \"function\" !== typeof instance.componentWillReceiveProps) ||\n ((oldProps !== hasNewLifecycles || oldState !== oldContext) &&\n callComponentWillReceiveProps(\n workInProgress,\n instance,\n nextProps,\n oldContext\n ));\n hasForceUpdate = !1;\n oldState = workInProgress.memoizedState;\n instance.state = oldState;\n processUpdateQueue(workInProgress, nextProps, instance, renderLanes);\n var newState = workInProgress.memoizedState;\n oldProps !== hasNewLifecycles ||\n oldState !== newState ||\n didPerformWorkStackCursor.current ||\n hasForceUpdate\n ? (\"function\" === typeof getDerivedStateFromProps$jscomp$0 &&\n (applyDerivedStateFromProps(\n workInProgress,\n Component,\n getDerivedStateFromProps$jscomp$0,\n nextProps\n ),\n (newState = workInProgress.memoizedState)),\n (contextType =\n hasForceUpdate ||\n checkShouldComponentUpdate(\n workInProgress,\n Component,\n contextType,\n nextProps,\n oldState,\n newState,\n oldContext\n ) ||\n !1)\n ? (getDerivedStateFromProps ||\n (\"function\" !== typeof instance.UNSAFE_componentWillUpdate &&\n \"function\" !== typeof instance.componentWillUpdate) ||\n (\"function\" === typeof instance.componentWillUpdate &&\n instance.componentWillUpdate(nextProps, newState, oldContext),\n \"function\" === typeof instance.UNSAFE_componentWillUpdate &&\n instance.UNSAFE_componentWillUpdate(\n nextProps,\n newState,\n oldContext\n )),\n \"function\" === typeof instance.componentDidUpdate &&\n (workInProgress.flags |= 4),\n \"function\" === typeof instance.getSnapshotBeforeUpdate &&\n (workInProgress.flags |= 1024))\n : (\"function\" !== typeof instance.componentDidUpdate ||\n (oldProps === current.memoizedProps &&\n oldState === current.memoizedState) ||\n (workInProgress.flags |= 4),\n \"function\" !== typeof instance.getSnapshotBeforeUpdate ||\n (oldProps === current.memoizedProps &&\n oldState === current.memoizedState) ||\n (workInProgress.flags |= 1024),\n (workInProgress.memoizedProps = nextProps),\n (workInProgress.memoizedState = newState)),\n (instance.props = nextProps),\n (instance.state = newState),\n (instance.context = oldContext),\n (nextProps = contextType))\n : (\"function\" !== typeof instance.componentDidUpdate ||\n (oldProps === current.memoizedProps &&\n oldState === current.memoizedState) ||\n (workInProgress.flags |= 4),\n \"function\" !== typeof instance.getSnapshotBeforeUpdate ||\n (oldProps === current.memoizedProps &&\n oldState === current.memoizedState) ||\n (workInProgress.flags |= 1024),\n (nextProps = !1));\n }\n return finishClassComponent(\n current,\n workInProgress,\n Component,\n nextProps,\n hasContext,\n renderLanes\n );\n}\nfunction finishClassComponent(\n current,\n workInProgress,\n Component,\n shouldUpdate,\n hasContext,\n renderLanes\n) {\n markRef(current, workInProgress);\n var didCaptureError = 0 !== (workInProgress.flags & 128);\n if (!shouldUpdate && !didCaptureError)\n return (\n hasContext && invalidateContextProvider(workInProgress, Component, !1),\n bailoutOnAlreadyFinishedWork(current, workInProgress, renderLanes)\n );\n shouldUpdate = workInProgress.stateNode;\n ReactCurrentOwner$1.current = workInProgress;\n var nextChildren =\n didCaptureError && \"function\" !== typeof Component.getDerivedStateFromError\n ? null\n : shouldUpdate.render();\n workInProgress.flags |= 1;\n null !== current && didCaptureError\n ? ((workInProgress.child = reconcileChildFibers(\n workInProgress,\n current.child,\n null,\n renderLanes\n )),\n (workInProgress.child = reconcileChildFibers(\n workInProgress,\n null,\n nextChildren,\n renderLanes\n )))\n : reconcileChildren(current, workInProgress, nextChildren, renderLanes);\n workInProgress.memoizedState = shouldUpdate.state;\n hasContext && invalidateContextProvider(workInProgress, Component, !0);\n return workInProgress.child;\n}\nfunction pushHostRootContext(workInProgress) {\n var root = workInProgress.stateNode;\n root.pendingContext\n ? pushTopLevelContextObject(\n workInProgress,\n root.pendingContext,\n root.pendingContext !== root.context\n )\n : root.context &&\n pushTopLevelContextObject(workInProgress, root.context, !1);\n pushHostContainer(workInProgress, root.containerInfo);\n}\nvar SUSPENDED_MARKER = { dehydrated: null, treeContext: null, retryLane: 0 };\nfunction mountSuspenseOffscreenState(renderLanes) {\n return { baseLanes: renderLanes, cachePool: null, transitions: null };\n}\nfunction updateSuspenseComponent(current, workInProgress, renderLanes) {\n var nextProps = workInProgress.pendingProps,\n suspenseContext = suspenseStackCursor.current,\n showFallback = !1,\n didSuspend = 0 !== (workInProgress.flags & 128),\n JSCompiler_temp;\n (JSCompiler_temp = didSuspend) ||\n (JSCompiler_temp =\n null !== current && null === current.memoizedState\n ? !1\n : 0 !== (suspenseContext & 2));\n if (JSCompiler_temp) (showFallback = !0), (workInProgress.flags &= -129);\n else if (null === current || null !== current.memoizedState)\n suspenseContext |= 1;\n push(suspenseStackCursor, suspenseContext & 1);\n if (null === current) {\n current = workInProgress.memoizedState;\n if (null !== current && null !== current.dehydrated)\n return (\n 0 === (workInProgress.mode & 1)\n ? (workInProgress.lanes = 1)\n : shim$1()\n ? (workInProgress.lanes = 8)\n : (workInProgress.lanes = 1073741824),\n null\n );\n didSuspend = nextProps.children;\n current = nextProps.fallback;\n return showFallback\n ? ((nextProps = workInProgress.mode),\n (showFallback = workInProgress.child),\n (didSuspend = { mode: \"hidden\", children: didSuspend }),\n 0 === (nextProps & 1) && null !== showFallback\n ? ((showFallback.childLanes = 0),\n (showFallback.pendingProps = didSuspend))\n : (showFallback = createFiberFromOffscreen(\n didSuspend,\n nextProps,\n 0,\n null\n )),\n (current = createFiberFromFragment(\n current,\n nextProps,\n renderLanes,\n null\n )),\n (showFallback.return = workInProgress),\n (current.return = workInProgress),\n (showFallback.sibling = current),\n (workInProgress.child = showFallback),\n (workInProgress.child.memoizedState = mountSuspenseOffscreenState(\n renderLanes\n )),\n (workInProgress.memoizedState = SUSPENDED_MARKER),\n current)\n : mountSuspensePrimaryChildren(workInProgress, didSuspend);\n }\n suspenseContext = current.memoizedState;\n if (\n null !== suspenseContext &&\n ((JSCompiler_temp = suspenseContext.dehydrated), null !== JSCompiler_temp)\n )\n return updateDehydratedSuspenseComponent(\n current,\n workInProgress,\n didSuspend,\n nextProps,\n JSCompiler_temp,\n suspenseContext,\n renderLanes\n );\n if (showFallback) {\n showFallback = nextProps.fallback;\n didSuspend = workInProgress.mode;\n suspenseContext = current.child;\n JSCompiler_temp = suspenseContext.sibling;\n var primaryChildProps = { mode: \"hidden\", children: nextProps.children };\n 0 === (didSuspend & 1) && workInProgress.child !== suspenseContext\n ? ((nextProps = workInProgress.child),\n (nextProps.childLanes = 0),\n (nextProps.pendingProps = primaryChildProps),\n (workInProgress.deletions = null))\n : ((nextProps = createWorkInProgress(suspenseContext, primaryChildProps)),\n (nextProps.subtreeFlags = suspenseContext.subtreeFlags & 14680064));\n null !== JSCompiler_temp\n ? (showFallback = createWorkInProgress(JSCompiler_temp, showFallback))\n : ((showFallback = createFiberFromFragment(\n showFallback,\n didSuspend,\n renderLanes,\n null\n )),\n (showFallback.flags |= 2));\n showFallback.return = workInProgress;\n nextProps.return = workInProgress;\n nextProps.sibling = showFallback;\n workInProgress.child = nextProps;\n nextProps = showFallback;\n showFallback = workInProgress.child;\n didSuspend = current.child.memoizedState;\n didSuspend =\n null === didSuspend\n ? mountSuspenseOffscreenState(renderLanes)\n : {\n baseLanes: didSuspend.baseLanes | renderLanes,\n cachePool: null,\n transitions: didSuspend.transitions\n };\n showFallback.memoizedState = didSuspend;\n showFallback.childLanes = current.childLanes & ~renderLanes;\n workInProgress.memoizedState = SUSPENDED_MARKER;\n return nextProps;\n }\n showFallback = current.child;\n current = showFallback.sibling;\n nextProps = createWorkInProgress(showFallback, {\n mode: \"visible\",\n children: nextProps.children\n });\n 0 === (workInProgress.mode & 1) && (nextProps.lanes = renderLanes);\n nextProps.return = workInProgress;\n nextProps.sibling = null;\n null !== current &&\n ((renderLanes = workInProgress.deletions),\n null === renderLanes\n ? ((workInProgress.deletions = [current]), (workInProgress.flags |= 16))\n : renderLanes.push(current));\n workInProgress.child = nextProps;\n workInProgress.memoizedState = null;\n return nextProps;\n}\nfunction mountSuspensePrimaryChildren(workInProgress, primaryChildren) {\n primaryChildren = createFiberFromOffscreen(\n { mode: \"visible\", children: primaryChildren },\n workInProgress.mode,\n 0,\n null\n );\n primaryChildren.return = workInProgress;\n return (workInProgress.child = primaryChildren);\n}\nfunction retrySuspenseComponentWithoutHydrating(\n current,\n workInProgress,\n renderLanes,\n recoverableError\n) {\n null !== recoverableError &&\n (null === hydrationErrors\n ? (hydrationErrors = [recoverableError])\n : hydrationErrors.push(recoverableError));\n reconcileChildFibers(workInProgress, current.child, null, renderLanes);\n current = mountSuspensePrimaryChildren(\n workInProgress,\n workInProgress.pendingProps.children\n );\n current.flags |= 2;\n workInProgress.memoizedState = null;\n return current;\n}\nfunction updateDehydratedSuspenseComponent(\n current,\n workInProgress,\n didSuspend,\n nextProps,\n suspenseInstance,\n suspenseState,\n renderLanes\n) {\n if (didSuspend) {\n if (workInProgress.flags & 256)\n return (\n (workInProgress.flags &= -257),\n (suspenseState = createCapturedValue(\n Error(\n \"There was an error while hydrating this Suspense boundary. Switched to client rendering.\"\n )\n )),\n retrySuspenseComponentWithoutHydrating(\n current,\n workInProgress,\n renderLanes,\n suspenseState\n )\n );\n if (null !== workInProgress.memoizedState)\n return (\n (workInProgress.child = current.child),\n (workInProgress.flags |= 128),\n null\n );\n suspenseState = nextProps.fallback;\n didSuspend = workInProgress.mode;\n nextProps = createFiberFromOffscreen(\n { mode: \"visible\", children: nextProps.children },\n didSuspend,\n 0,\n null\n );\n suspenseState = createFiberFromFragment(\n suspenseState,\n didSuspend,\n renderLanes,\n null\n );\n suspenseState.flags |= 2;\n nextProps.return = workInProgress;\n suspenseState.return = workInProgress;\n nextProps.sibling = suspenseState;\n workInProgress.child = nextProps;\n 0 !== (workInProgress.mode & 1) &&\n reconcileChildFibers(workInProgress, current.child, null, renderLanes);\n workInProgress.child.memoizedState = mountSuspenseOffscreenState(\n renderLanes\n );\n workInProgress.memoizedState = SUSPENDED_MARKER;\n return suspenseState;\n }\n if (0 === (workInProgress.mode & 1))\n return retrySuspenseComponentWithoutHydrating(\n current,\n workInProgress,\n renderLanes,\n null\n );\n if (shim$1())\n return (\n (suspenseState = shim$1().digest),\n (suspenseState = createCapturedValue(\n Error(\n \"The server could not finish this Suspense boundary, likely due to an error during server rendering. Switched to client rendering.\"\n ),\n suspenseState,\n void 0\n )),\n retrySuspenseComponentWithoutHydrating(\n current,\n workInProgress,\n renderLanes,\n suspenseState\n )\n );\n didSuspend = 0 !== (renderLanes & current.childLanes);\n if (didReceiveUpdate || didSuspend) {\n nextProps = workInProgressRoot;\n if (null !== nextProps) {\n switch (renderLanes & -renderLanes) {\n case 4:\n didSuspend = 2;\n break;\n case 16:\n didSuspend = 8;\n break;\n case 64:\n case 128:\n case 256:\n case 512:\n case 1024:\n case 2048:\n case 4096:\n case 8192:\n case 16384:\n case 32768:\n case 65536:\n case 131072:\n case 262144:\n case 524288:\n case 1048576:\n case 2097152:\n case 4194304:\n case 8388608:\n case 16777216:\n case 33554432:\n case 67108864:\n didSuspend = 32;\n break;\n case 536870912:\n didSuspend = 268435456;\n break;\n default:\n didSuspend = 0;\n }\n didSuspend =\n 0 !== (didSuspend & (nextProps.suspendedLanes | renderLanes))\n ? 0\n : didSuspend;\n 0 !== didSuspend &&\n didSuspend !== suspenseState.retryLane &&\n ((suspenseState.retryLane = didSuspend),\n markUpdateLaneFromFiberToRoot(current, didSuspend),\n scheduleUpdateOnFiber(nextProps, current, didSuspend, -1));\n }\n renderDidSuspendDelayIfPossible();\n suspenseState = createCapturedValue(\n Error(\n \"This Suspense boundary received an update before it finished hydrating. This caused the boundary to switch to client rendering. The usual way to fix this is to wrap the original update in startTransition.\"\n )\n );\n return retrySuspenseComponentWithoutHydrating(\n current,\n workInProgress,\n renderLanes,\n suspenseState\n );\n }\n if (shim$1())\n return (\n (workInProgress.flags |= 128),\n (workInProgress.child = current.child),\n retryDehydratedSuspenseBoundary.bind(null, current),\n shim$1(),\n null\n );\n current = mountSuspensePrimaryChildren(workInProgress, nextProps.children);\n current.flags |= 4096;\n return current;\n}\nfunction scheduleSuspenseWorkOnFiber(fiber, renderLanes, propagationRoot) {\n fiber.lanes |= renderLanes;\n var alternate = fiber.alternate;\n null !== alternate && (alternate.lanes |= renderLanes);\n scheduleContextWorkOnParentPath(fiber.return, renderLanes, propagationRoot);\n}\nfunction initSuspenseListRenderState(\n workInProgress,\n isBackwards,\n tail,\n lastContentRow,\n tailMode\n) {\n var renderState = workInProgress.memoizedState;\n null === renderState\n ? (workInProgress.memoizedState = {\n isBackwards: isBackwards,\n rendering: null,\n renderingStartTime: 0,\n last: lastContentRow,\n tail: tail,\n tailMode: tailMode\n })\n : ((renderState.isBackwards = isBackwards),\n (renderState.rendering = null),\n (renderState.renderingStartTime = 0),\n (renderState.last = lastContentRow),\n (renderState.tail = tail),\n (renderState.tailMode = tailMode));\n}\nfunction updateSuspenseListComponent(current, workInProgress, renderLanes) {\n var nextProps = workInProgress.pendingProps,\n revealOrder = nextProps.revealOrder,\n tailMode = nextProps.tail;\n reconcileChildren(current, workInProgress, nextProps.children, renderLanes);\n nextProps = suspenseStackCursor.current;\n if (0 !== (nextProps & 2))\n (nextProps = (nextProps & 1) | 2), (workInProgress.flags |= 128);\n else {\n if (null !== current && 0 !== (current.flags & 128))\n a: for (current = workInProgress.child; null !== current; ) {\n if (13 === current.tag)\n null !== current.memoizedState &&\n scheduleSuspenseWorkOnFiber(current, renderLanes, workInProgress);\n else if (19 === current.tag)\n scheduleSuspenseWorkOnFiber(current, renderLanes, workInProgress);\n else if (null !== current.child) {\n current.child.return = current;\n current = current.child;\n continue;\n }\n if (current === workInProgress) break a;\n for (; null === current.sibling; ) {\n if (null === current.return || current.return === workInProgress)\n break a;\n current = current.return;\n }\n current.sibling.return = current.return;\n current = current.sibling;\n }\n nextProps &= 1;\n }\n push(suspenseStackCursor, nextProps);\n if (0 === (workInProgress.mode & 1)) workInProgress.memoizedState = null;\n else\n switch (revealOrder) {\n case \"forwards\":\n renderLanes = workInProgress.child;\n for (revealOrder = null; null !== renderLanes; )\n (current = renderLanes.alternate),\n null !== current &&\n null === findFirstSuspended(current) &&\n (revealOrder = renderLanes),\n (renderLanes = renderLanes.sibling);\n renderLanes = revealOrder;\n null === renderLanes\n ? ((revealOrder = workInProgress.child),\n (workInProgress.child = null))\n : ((revealOrder = renderLanes.sibling), (renderLanes.sibling = null));\n initSuspenseListRenderState(\n workInProgress,\n !1,\n revealOrder,\n renderLanes,\n tailMode\n );\n break;\n case \"backwards\":\n renderLanes = null;\n revealOrder = workInProgress.child;\n for (workInProgress.child = null; null !== revealOrder; ) {\n current = revealOrder.alternate;\n if (null !== current && null === findFirstSuspended(current)) {\n workInProgress.child = revealOrder;\n break;\n }\n current = revealOrder.sibling;\n revealOrder.sibling = renderLanes;\n renderLanes = revealOrder;\n revealOrder = current;\n }\n initSuspenseListRenderState(\n workInProgress,\n !0,\n renderLanes,\n null,\n tailMode\n );\n break;\n case \"together\":\n initSuspenseListRenderState(workInProgress, !1, null, null, void 0);\n break;\n default:\n workInProgress.memoizedState = null;\n }\n return workInProgress.child;\n}\nfunction resetSuspendedCurrentOnMountInLegacyMode(current, workInProgress) {\n 0 === (workInProgress.mode & 1) &&\n null !== current &&\n ((current.alternate = null),\n (workInProgress.alternate = null),\n (workInProgress.flags |= 2));\n}\nfunction bailoutOnAlreadyFinishedWork(current, workInProgress, renderLanes) {\n null !== current && (workInProgress.dependencies = current.dependencies);\n workInProgressRootSkippedLanes |= workInProgress.lanes;\n if (0 === (renderLanes & workInProgress.childLanes)) return null;\n if (null !== current && workInProgress.child !== current.child)\n throw Error(\"Resuming work not yet implemented.\");\n if (null !== workInProgress.child) {\n current = workInProgress.child;\n renderLanes = createWorkInProgress(current, current.pendingProps);\n workInProgress.child = renderLanes;\n for (renderLanes.return = workInProgress; null !== current.sibling; )\n (current = current.sibling),\n (renderLanes = renderLanes.sibling = createWorkInProgress(\n current,\n current.pendingProps\n )),\n (renderLanes.return = workInProgress);\n renderLanes.sibling = null;\n }\n return workInProgress.child;\n}\nfunction attemptEarlyBailoutIfNoScheduledUpdate(\n current,\n workInProgress,\n renderLanes\n) {\n switch (workInProgress.tag) {\n case 3:\n pushHostRootContext(workInProgress);\n break;\n case 5:\n pushHostContext(workInProgress);\n break;\n case 1:\n isContextProvider(workInProgress.type) &&\n pushContextProvider(workInProgress);\n break;\n case 4:\n pushHostContainer(workInProgress, workInProgress.stateNode.containerInfo);\n break;\n case 10:\n var context = workInProgress.type._context,\n nextValue = workInProgress.memoizedProps.value;\n push(valueCursor, context._currentValue2);\n context._currentValue2 = nextValue;\n break;\n case 13:\n context = workInProgress.memoizedState;\n if (null !== context) {\n if (null !== context.dehydrated)\n return (\n push(suspenseStackCursor, suspenseStackCursor.current & 1),\n (workInProgress.flags |= 128),\n null\n );\n if (0 !== (renderLanes & workInProgress.child.childLanes))\n return updateSuspenseComponent(current, workInProgress, renderLanes);\n push(suspenseStackCursor, suspenseStackCursor.current & 1);\n current = bailoutOnAlreadyFinishedWork(\n current,\n workInProgress,\n renderLanes\n );\n return null !== current ? current.sibling : null;\n }\n push(suspenseStackCursor, suspenseStackCursor.current & 1);\n break;\n case 19:\n context = 0 !== (renderLanes & workInProgress.childLanes);\n if (0 !== (current.flags & 128)) {\n if (context)\n return updateSuspenseListComponent(\n current,\n workInProgress,\n renderLanes\n );\n workInProgress.flags |= 128;\n }\n nextValue = workInProgress.memoizedState;\n null !== nextValue &&\n ((nextValue.rendering = null),\n (nextValue.tail = null),\n (nextValue.lastEffect = null));\n push(suspenseStackCursor, suspenseStackCursor.current);\n if (context) break;\n else return null;\n case 22:\n case 23:\n return (\n (workInProgress.lanes = 0),\n updateOffscreenComponent(current, workInProgress, renderLanes)\n );\n }\n return bailoutOnAlreadyFinishedWork(current, workInProgress, renderLanes);\n}\nfunction hadNoMutationsEffects(current, completedWork) {\n if (null !== current && current.child === completedWork.child) return !0;\n if (0 !== (completedWork.flags & 16)) return !1;\n for (current = completedWork.child; null !== current; ) {\n if (0 !== (current.flags & 12854) || 0 !== (current.subtreeFlags & 12854))\n return !1;\n current = current.sibling;\n }\n return !0;\n}\nvar appendAllChildren,\n updateHostContainer,\n updateHostComponent$1,\n updateHostText$1;\nappendAllChildren = function(\n parent,\n workInProgress,\n needsVisibilityToggle,\n isHidden\n) {\n for (var node = workInProgress.child; null !== node; ) {\n if (5 === node.tag) {\n var instance = node.stateNode;\n needsVisibilityToggle &&\n isHidden &&\n (instance = cloneHiddenInstance(instance));\n appendChildNode(parent.node, instance.node);\n } else if (6 === node.tag) {\n instance = node.stateNode;\n if (needsVisibilityToggle && isHidden)\n throw Error(\"Not yet implemented.\");\n appendChildNode(parent.node, instance.node);\n } else if (4 !== node.tag)\n if (22 === node.tag && null !== node.memoizedState)\n (instance = node.child),\n null !== instance && (instance.return = node),\n appendAllChildren(parent, node, !0, !0);\n else if (null !== node.child) {\n node.child.return = node;\n node = node.child;\n continue;\n }\n if (node === workInProgress) break;\n for (; null === node.sibling; ) {\n if (null === node.return || node.return === workInProgress) return;\n node = node.return;\n }\n node.sibling.return = node.return;\n node = node.sibling;\n }\n};\nfunction appendAllChildrenToContainer(\n containerChildSet,\n workInProgress,\n needsVisibilityToggle,\n isHidden\n) {\n for (var node = workInProgress.child; null !== node; ) {\n if (5 === node.tag) {\n var instance = node.stateNode;\n needsVisibilityToggle &&\n isHidden &&\n (instance = cloneHiddenInstance(instance));\n appendChildNodeToSet(containerChildSet, instance.node);\n } else if (6 === node.tag) {\n instance = node.stateNode;\n if (needsVisibilityToggle && isHidden)\n throw Error(\"Not yet implemented.\");\n appendChildNodeToSet(containerChildSet, instance.node);\n } else if (4 !== node.tag)\n if (22 === node.tag && null !== node.memoizedState)\n (instance = node.child),\n null !== instance && (instance.return = node),\n appendAllChildrenToContainer(containerChildSet, node, !0, !0);\n else if (null !== node.child) {\n node.child.return = node;\n node = node.child;\n continue;\n }\n if (node === workInProgress) break;\n for (; null === node.sibling; ) {\n if (null === node.return || node.return === workInProgress) return;\n node = node.return;\n }\n node.sibling.return = node.return;\n node = node.sibling;\n }\n}\nupdateHostContainer = function(current, workInProgress) {\n var portalOrRoot = workInProgress.stateNode;\n if (!hadNoMutationsEffects(current, workInProgress)) {\n current = portalOrRoot.containerInfo;\n var newChildSet = createChildNodeSet(current);\n appendAllChildrenToContainer(newChildSet, workInProgress, !1, !1);\n portalOrRoot.pendingChildren = newChildSet;\n workInProgress.flags |= 4;\n completeRoot(current, newChildSet);\n }\n};\nupdateHostComponent$1 = function(current, workInProgress, type, newProps) {\n type = current.stateNode;\n var oldProps = current.memoizedProps;\n if (\n (current = hadNoMutationsEffects(current, workInProgress)) &&\n oldProps === newProps\n )\n workInProgress.stateNode = type;\n else {\n var recyclableInstance = workInProgress.stateNode;\n requiredContext(contextStackCursor$1.current);\n var updatePayload = null;\n oldProps !== newProps &&\n ((oldProps = diffProperties(\n null,\n oldProps,\n newProps,\n recyclableInstance.canonical.viewConfig.validAttributes\n )),\n (recyclableInstance.canonical.currentProps = newProps),\n (updatePayload = oldProps));\n current && null === updatePayload\n ? (workInProgress.stateNode = type)\n : ((newProps = updatePayload),\n (oldProps = type.node),\n (type = {\n node: current\n ? null !== newProps\n ? cloneNodeWithNewProps(oldProps, newProps)\n : cloneNode(oldProps)\n : null !== newProps\n ? cloneNodeWithNewChildrenAndProps(oldProps, newProps)\n : cloneNodeWithNewChildren(oldProps),\n canonical: type.canonical\n }),\n (workInProgress.stateNode = type),\n current\n ? (workInProgress.flags |= 4)\n : appendAllChildren(type, workInProgress, !1, !1));\n }\n};\nupdateHostText$1 = function(current, workInProgress, oldText, newText) {\n oldText !== newText\n ? ((current = requiredContext(rootInstanceStackCursor.current)),\n (oldText = requiredContext(contextStackCursor$1.current)),\n (workInProgress.stateNode = createTextInstance(\n newText,\n current,\n oldText,\n workInProgress\n )),\n (workInProgress.flags |= 4))\n : (workInProgress.stateNode = current.stateNode);\n};\nfunction cutOffTailIfNeeded(renderState, hasRenderedATailFallback) {\n switch (renderState.tailMode) {\n case \"hidden\":\n hasRenderedATailFallback = renderState.tail;\n for (var lastTailNode = null; null !== hasRenderedATailFallback; )\n null !== hasRenderedATailFallback.alternate &&\n (lastTailNode = hasRenderedATailFallback),\n (hasRenderedATailFallback = hasRenderedATailFallback.sibling);\n null === lastTailNode\n ? (renderState.tail = null)\n : (lastTailNode.sibling = null);\n break;\n case \"collapsed\":\n lastTailNode = renderState.tail;\n for (var lastTailNode$62 = null; null !== lastTailNode; )\n null !== lastTailNode.alternate && (lastTailNode$62 = lastTailNode),\n (lastTailNode = lastTailNode.sibling);\n null === lastTailNode$62\n ? hasRenderedATailFallback || null === renderState.tail\n ? (renderState.tail = null)\n : (renderState.tail.sibling = null)\n : (lastTailNode$62.sibling = null);\n }\n}\nfunction bubbleProperties(completedWork) {\n var didBailout =\n null !== completedWork.alternate &&\n completedWork.alternate.child === completedWork.child,\n newChildLanes = 0,\n subtreeFlags = 0;\n if (didBailout)\n for (var child$63 = completedWork.child; null !== child$63; )\n (newChildLanes |= child$63.lanes | child$63.childLanes),\n (subtreeFlags |= child$63.subtreeFlags & 14680064),\n (subtreeFlags |= child$63.flags & 14680064),\n (child$63.return = completedWork),\n (child$63 = child$63.sibling);\n else\n for (child$63 = completedWork.child; null !== child$63; )\n (newChildLanes |= child$63.lanes | child$63.childLanes),\n (subtreeFlags |= child$63.subtreeFlags),\n (subtreeFlags |= child$63.flags),\n (child$63.return = completedWork),\n (child$63 = child$63.sibling);\n completedWork.subtreeFlags |= subtreeFlags;\n completedWork.childLanes = newChildLanes;\n return didBailout;\n}\nfunction completeWork(current, workInProgress, renderLanes) {\n var newProps = workInProgress.pendingProps;\n popTreeContext(workInProgress);\n switch (workInProgress.tag) {\n case 2:\n case 16:\n case 15:\n case 0:\n case 11:\n case 7:\n case 8:\n case 12:\n case 9:\n case 14:\n return bubbleProperties(workInProgress), null;\n case 1:\n return (\n isContextProvider(workInProgress.type) && popContext(),\n bubbleProperties(workInProgress),\n null\n );\n case 3:\n return (\n (renderLanes = workInProgress.stateNode),\n popHostContainer(),\n pop(didPerformWorkStackCursor),\n pop(contextStackCursor),\n resetWorkInProgressVersions(),\n renderLanes.pendingContext &&\n ((renderLanes.context = renderLanes.pendingContext),\n (renderLanes.pendingContext = null)),\n (null !== current && null !== current.child) ||\n null === current ||\n (current.memoizedState.isDehydrated &&\n 0 === (workInProgress.flags & 256)) ||\n ((workInProgress.flags |= 1024),\n null !== hydrationErrors &&\n (queueRecoverableErrors(hydrationErrors),\n (hydrationErrors = null))),\n updateHostContainer(current, workInProgress),\n bubbleProperties(workInProgress),\n null\n );\n case 5:\n popHostContext(workInProgress);\n renderLanes = requiredContext(rootInstanceStackCursor.current);\n var type = workInProgress.type;\n if (null !== current && null != workInProgress.stateNode)\n updateHostComponent$1(\n current,\n workInProgress,\n type,\n newProps,\n renderLanes\n ),\n current.ref !== workInProgress.ref && (workInProgress.flags |= 512);\n else {\n if (!newProps) {\n if (null === workInProgress.stateNode)\n throw Error(\n \"We must have new props for new mounts. This error is likely caused by a bug in React. Please file an issue.\"\n );\n bubbleProperties(workInProgress);\n return null;\n }\n requiredContext(contextStackCursor$1.current);\n current = nextReactTag;\n nextReactTag += 2;\n type = getViewConfigForType(type);\n var updatePayload = diffProperties(\n null,\n emptyObject,\n newProps,\n type.validAttributes\n );\n renderLanes = createNode(\n current,\n type.uiViewClassName,\n renderLanes,\n updatePayload,\n workInProgress\n );\n current = new ReactFabricHostComponent(\n current,\n type,\n newProps,\n workInProgress\n );\n current = { node: renderLanes, canonical: current };\n appendAllChildren(current, workInProgress, !1, !1);\n workInProgress.stateNode = current;\n null !== workInProgress.ref && (workInProgress.flags |= 512);\n }\n bubbleProperties(workInProgress);\n return null;\n case 6:\n if (current && null != workInProgress.stateNode)\n updateHostText$1(\n current,\n workInProgress,\n current.memoizedProps,\n newProps\n );\n else {\n if (\"string\" !== typeof newProps && null === workInProgress.stateNode)\n throw Error(\n \"We must have new props for new mounts. This error is likely caused by a bug in React. Please file an issue.\"\n );\n current = requiredContext(rootInstanceStackCursor.current);\n renderLanes = requiredContext(contextStackCursor$1.current);\n workInProgress.stateNode = createTextInstance(\n newProps,\n current,\n renderLanes,\n workInProgress\n );\n }\n bubbleProperties(workInProgress);\n return null;\n case 13:\n pop(suspenseStackCursor);\n newProps = workInProgress.memoizedState;\n if (\n null === current ||\n (null !== current.memoizedState &&\n null !== current.memoizedState.dehydrated)\n ) {\n if (null !== newProps && null !== newProps.dehydrated) {\n if (null === current) {\n throw Error(\n \"A dehydrated suspense component was completed without a hydrated node. This is probably a bug in React.\"\n );\n throw Error(\n \"Expected prepareToHydrateHostSuspenseInstance() to never be called. This error is likely caused by a bug in React. Please file an issue.\"\n );\n }\n 0 === (workInProgress.flags & 128) &&\n (workInProgress.memoizedState = null);\n workInProgress.flags |= 4;\n bubbleProperties(workInProgress);\n type = !1;\n } else\n null !== hydrationErrors &&\n (queueRecoverableErrors(hydrationErrors), (hydrationErrors = null)),\n (type = !0);\n if (!type) return workInProgress.flags & 65536 ? workInProgress : null;\n }\n if (0 !== (workInProgress.flags & 128))\n return (workInProgress.lanes = renderLanes), workInProgress;\n renderLanes = null !== newProps;\n renderLanes !== (null !== current && null !== current.memoizedState) &&\n renderLanes &&\n ((workInProgress.child.flags |= 8192),\n 0 !== (workInProgress.mode & 1) &&\n (null === current || 0 !== (suspenseStackCursor.current & 1)\n ? 0 === workInProgressRootExitStatus &&\n (workInProgressRootExitStatus = 3)\n : renderDidSuspendDelayIfPossible()));\n null !== workInProgress.updateQueue && (workInProgress.flags |= 4);\n bubbleProperties(workInProgress);\n return null;\n case 4:\n return (\n popHostContainer(),\n updateHostContainer(current, workInProgress),\n bubbleProperties(workInProgress),\n null\n );\n case 10:\n return (\n popProvider(workInProgress.type._context),\n bubbleProperties(workInProgress),\n null\n );\n case 17:\n return (\n isContextProvider(workInProgress.type) && popContext(),\n bubbleProperties(workInProgress),\n null\n );\n case 19:\n pop(suspenseStackCursor);\n type = workInProgress.memoizedState;\n if (null === type) return bubbleProperties(workInProgress), null;\n newProps = 0 !== (workInProgress.flags & 128);\n updatePayload = type.rendering;\n if (null === updatePayload)\n if (newProps) cutOffTailIfNeeded(type, !1);\n else {\n if (\n 0 !== workInProgressRootExitStatus ||\n (null !== current && 0 !== (current.flags & 128))\n )\n for (current = workInProgress.child; null !== current; ) {\n updatePayload = findFirstSuspended(current);\n if (null !== updatePayload) {\n workInProgress.flags |= 128;\n cutOffTailIfNeeded(type, !1);\n current = updatePayload.updateQueue;\n null !== current &&\n ((workInProgress.updateQueue = current),\n (workInProgress.flags |= 4));\n workInProgress.subtreeFlags = 0;\n current = renderLanes;\n for (renderLanes = workInProgress.child; null !== renderLanes; )\n (newProps = renderLanes),\n (type = current),\n (newProps.flags &= 14680066),\n (updatePayload = newProps.alternate),\n null === updatePayload\n ? ((newProps.childLanes = 0),\n (newProps.lanes = type),\n (newProps.child = null),\n (newProps.subtreeFlags = 0),\n (newProps.memoizedProps = null),\n (newProps.memoizedState = null),\n (newProps.updateQueue = null),\n (newProps.dependencies = null),\n (newProps.stateNode = null))\n : ((newProps.childLanes = updatePayload.childLanes),\n (newProps.lanes = updatePayload.lanes),\n (newProps.child = updatePayload.child),\n (newProps.subtreeFlags = 0),\n (newProps.deletions = null),\n (newProps.memoizedProps = updatePayload.memoizedProps),\n (newProps.memoizedState = updatePayload.memoizedState),\n (newProps.updateQueue = updatePayload.updateQueue),\n (newProps.type = updatePayload.type),\n (type = updatePayload.dependencies),\n (newProps.dependencies =\n null === type\n ? null\n : {\n lanes: type.lanes,\n firstContext: type.firstContext\n })),\n (renderLanes = renderLanes.sibling);\n push(\n suspenseStackCursor,\n (suspenseStackCursor.current & 1) | 2\n );\n return workInProgress.child;\n }\n current = current.sibling;\n }\n null !== type.tail &&\n now() > workInProgressRootRenderTargetTime &&\n ((workInProgress.flags |= 128),\n (newProps = !0),\n cutOffTailIfNeeded(type, !1),\n (workInProgress.lanes = 4194304));\n }\n else {\n if (!newProps)\n if (\n ((current = findFirstSuspended(updatePayload)), null !== current)\n ) {\n if (\n ((workInProgress.flags |= 128),\n (newProps = !0),\n (current = current.updateQueue),\n null !== current &&\n ((workInProgress.updateQueue = current),\n (workInProgress.flags |= 4)),\n cutOffTailIfNeeded(type, !0),\n null === type.tail &&\n \"hidden\" === type.tailMode &&\n !updatePayload.alternate)\n )\n return bubbleProperties(workInProgress), null;\n } else\n 2 * now() - type.renderingStartTime >\n workInProgressRootRenderTargetTime &&\n 1073741824 !== renderLanes &&\n ((workInProgress.flags |= 128),\n (newProps = !0),\n cutOffTailIfNeeded(type, !1),\n (workInProgress.lanes = 4194304));\n type.isBackwards\n ? ((updatePayload.sibling = workInProgress.child),\n (workInProgress.child = updatePayload))\n : ((current = type.last),\n null !== current\n ? (current.sibling = updatePayload)\n : (workInProgress.child = updatePayload),\n (type.last = updatePayload));\n }\n if (null !== type.tail)\n return (\n (workInProgress = type.tail),\n (type.rendering = workInProgress),\n (type.tail = workInProgress.sibling),\n (type.renderingStartTime = now()),\n (workInProgress.sibling = null),\n (current = suspenseStackCursor.current),\n push(suspenseStackCursor, newProps ? (current & 1) | 2 : current & 1),\n workInProgress\n );\n bubbleProperties(workInProgress);\n return null;\n case 22:\n case 23:\n return (\n popRenderLanes(),\n (renderLanes = null !== workInProgress.memoizedState),\n null !== current &&\n (null !== current.memoizedState) !== renderLanes &&\n (workInProgress.flags |= 8192),\n renderLanes && 0 !== (workInProgress.mode & 1)\n ? 0 !== (subtreeRenderLanes & 1073741824) &&\n bubbleProperties(workInProgress)\n : bubbleProperties(workInProgress),\n null\n );\n case 24:\n return null;\n case 25:\n return null;\n }\n throw Error(\n \"Unknown unit of work tag (\" +\n workInProgress.tag +\n \"). This error is likely caused by a bug in React. Please file an issue.\"\n );\n}\nfunction unwindWork(current, workInProgress) {\n popTreeContext(workInProgress);\n switch (workInProgress.tag) {\n case 1:\n return (\n isContextProvider(workInProgress.type) && popContext(),\n (current = workInProgress.flags),\n current & 65536\n ? ((workInProgress.flags = (current & -65537) | 128), workInProgress)\n : null\n );\n case 3:\n return (\n popHostContainer(),\n pop(didPerformWorkStackCursor),\n pop(contextStackCursor),\n resetWorkInProgressVersions(),\n (current = workInProgress.flags),\n 0 !== (current & 65536) && 0 === (current & 128)\n ? ((workInProgress.flags = (current & -65537) | 128), workInProgress)\n : null\n );\n case 5:\n return popHostContext(workInProgress), null;\n case 13:\n pop(suspenseStackCursor);\n current = workInProgress.memoizedState;\n if (\n null !== current &&\n null !== current.dehydrated &&\n null === workInProgress.alternate\n )\n throw Error(\n \"Threw in newly mounted dehydrated component. This is likely a bug in React. Please file an issue.\"\n );\n current = workInProgress.flags;\n return current & 65536\n ? ((workInProgress.flags = (current & -65537) | 128), workInProgress)\n : null;\n case 19:\n return pop(suspenseStackCursor), null;\n case 4:\n return popHostContainer(), null;\n case 10:\n return popProvider(workInProgress.type._context), null;\n case 22:\n case 23:\n return popRenderLanes(), null;\n case 24:\n return null;\n default:\n return null;\n }\n}\nvar PossiblyWeakSet = \"function\" === typeof WeakSet ? WeakSet : Set,\n nextEffect = null;\nfunction safelyDetachRef(current, nearestMountedAncestor) {\n var ref = current.ref;\n if (null !== ref)\n if (\"function\" === typeof ref)\n try {\n ref(null);\n } catch (error) {\n captureCommitPhaseError(current, nearestMountedAncestor, error);\n }\n else ref.current = null;\n}\nfunction safelyCallDestroy(current, nearestMountedAncestor, destroy) {\n try {\n destroy();\n } catch (error) {\n captureCommitPhaseError(current, nearestMountedAncestor, error);\n }\n}\nvar shouldFireAfterActiveInstanceBlur = !1;\nfunction commitBeforeMutationEffects(root, firstChild) {\n for (nextEffect = firstChild; null !== nextEffect; )\n if (\n ((root = nextEffect),\n (firstChild = root.child),\n 0 !== (root.subtreeFlags & 1028) && null !== firstChild)\n )\n (firstChild.return = root), (nextEffect = firstChild);\n else\n for (; null !== nextEffect; ) {\n root = nextEffect;\n try {\n var current = root.alternate;\n if (0 !== (root.flags & 1024))\n switch (root.tag) {\n case 0:\n case 11:\n case 15:\n break;\n case 1:\n if (null !== current) {\n var prevProps = current.memoizedProps,\n prevState = current.memoizedState,\n instance = root.stateNode,\n snapshot = instance.getSnapshotBeforeUpdate(\n root.elementType === root.type\n ? prevProps\n : resolveDefaultProps(root.type, prevProps),\n prevState\n );\n instance.__reactInternalSnapshotBeforeUpdate = snapshot;\n }\n break;\n case 3:\n break;\n case 5:\n case 6:\n case 4:\n case 17:\n break;\n default:\n throw Error(\n \"This unit of work tag should not have side-effects. This error is likely caused by a bug in React. Please file an issue.\"\n );\n }\n } catch (error) {\n captureCommitPhaseError(root, root.return, error);\n }\n firstChild = root.sibling;\n if (null !== firstChild) {\n firstChild.return = root.return;\n nextEffect = firstChild;\n break;\n }\n nextEffect = root.return;\n }\n current = shouldFireAfterActiveInstanceBlur;\n shouldFireAfterActiveInstanceBlur = !1;\n return current;\n}\nfunction commitHookEffectListUnmount(\n flags,\n finishedWork,\n nearestMountedAncestor\n) {\n var updateQueue = finishedWork.updateQueue;\n updateQueue = null !== updateQueue ? updateQueue.lastEffect : null;\n if (null !== updateQueue) {\n var effect = (updateQueue = updateQueue.next);\n do {\n if ((effect.tag & flags) === flags) {\n var destroy = effect.destroy;\n effect.destroy = void 0;\n void 0 !== destroy &&\n safelyCallDestroy(finishedWork, nearestMountedAncestor, destroy);\n }\n effect = effect.next;\n } while (effect !== updateQueue);\n }\n}\nfunction commitHookEffectListMount(flags, finishedWork) {\n finishedWork = finishedWork.updateQueue;\n finishedWork = null !== finishedWork ? finishedWork.lastEffect : null;\n if (null !== finishedWork) {\n var effect = (finishedWork = finishedWork.next);\n do {\n if ((effect.tag & flags) === flags) {\n var create$75 = effect.create;\n effect.destroy = create$75();\n }\n effect = effect.next;\n } while (effect !== finishedWork);\n }\n}\nfunction detachFiberAfterEffects(fiber) {\n var alternate = fiber.alternate;\n null !== alternate &&\n ((fiber.alternate = null), detachFiberAfterEffects(alternate));\n fiber.child = null;\n fiber.deletions = null;\n fiber.sibling = null;\n fiber.stateNode = null;\n fiber.return = null;\n fiber.dependencies = null;\n fiber.memoizedProps = null;\n fiber.memoizedState = null;\n fiber.pendingProps = null;\n fiber.stateNode = null;\n fiber.updateQueue = null;\n}\nfunction recursivelyTraverseDeletionEffects(\n finishedRoot,\n nearestMountedAncestor,\n parent\n) {\n for (parent = parent.child; null !== parent; )\n commitDeletionEffectsOnFiber(finishedRoot, nearestMountedAncestor, parent),\n (parent = parent.sibling);\n}\nfunction commitDeletionEffectsOnFiber(\n finishedRoot,\n nearestMountedAncestor,\n deletedFiber\n) {\n if (injectedHook && \"function\" === typeof injectedHook.onCommitFiberUnmount)\n try {\n injectedHook.onCommitFiberUnmount(rendererID, deletedFiber);\n } catch (err) {}\n switch (deletedFiber.tag) {\n case 5:\n safelyDetachRef(deletedFiber, nearestMountedAncestor);\n case 6:\n recursivelyTraverseDeletionEffects(\n finishedRoot,\n nearestMountedAncestor,\n deletedFiber\n );\n break;\n case 18:\n break;\n case 4:\n createChildNodeSet(deletedFiber.stateNode.containerInfo);\n recursivelyTraverseDeletionEffects(\n finishedRoot,\n nearestMountedAncestor,\n deletedFiber\n );\n break;\n case 0:\n case 11:\n case 14:\n case 15:\n var updateQueue = deletedFiber.updateQueue;\n if (\n null !== updateQueue &&\n ((updateQueue = updateQueue.lastEffect), null !== updateQueue)\n ) {\n var effect = (updateQueue = updateQueue.next);\n do {\n var _effect = effect,\n destroy = _effect.destroy;\n _effect = _effect.tag;\n void 0 !== destroy &&\n (0 !== (_effect & 2)\n ? safelyCallDestroy(deletedFiber, nearestMountedAncestor, destroy)\n : 0 !== (_effect & 4) &&\n safelyCallDestroy(\n deletedFiber,\n nearestMountedAncestor,\n destroy\n ));\n effect = effect.next;\n } while (effect !== updateQueue);\n }\n recursivelyTraverseDeletionEffects(\n finishedRoot,\n nearestMountedAncestor,\n deletedFiber\n );\n break;\n case 1:\n safelyDetachRef(deletedFiber, nearestMountedAncestor);\n updateQueue = deletedFiber.stateNode;\n if (\"function\" === typeof updateQueue.componentWillUnmount)\n try {\n (updateQueue.props = deletedFiber.memoizedProps),\n (updateQueue.state = deletedFiber.memoizedState),\n updateQueue.componentWillUnmount();\n } catch (error) {\n captureCommitPhaseError(deletedFiber, nearestMountedAncestor, error);\n }\n recursivelyTraverseDeletionEffects(\n finishedRoot,\n nearestMountedAncestor,\n deletedFiber\n );\n break;\n case 21:\n recursivelyTraverseDeletionEffects(\n finishedRoot,\n nearestMountedAncestor,\n deletedFiber\n );\n break;\n case 22:\n recursivelyTraverseDeletionEffects(\n finishedRoot,\n nearestMountedAncestor,\n deletedFiber\n );\n break;\n default:\n recursivelyTraverseDeletionEffects(\n finishedRoot,\n nearestMountedAncestor,\n deletedFiber\n );\n }\n}\nfunction attachSuspenseRetryListeners(finishedWork) {\n var wakeables = finishedWork.updateQueue;\n if (null !== wakeables) {\n finishedWork.updateQueue = null;\n var retryCache = finishedWork.stateNode;\n null === retryCache &&\n (retryCache = finishedWork.stateNode = new PossiblyWeakSet());\n wakeables.forEach(function(wakeable) {\n var retry = resolveRetryWakeable.bind(null, finishedWork, wakeable);\n retryCache.has(wakeable) ||\n (retryCache.add(wakeable), wakeable.then(retry, retry));\n });\n }\n}\nfunction recursivelyTraverseMutationEffects(root, parentFiber) {\n var deletions = parentFiber.deletions;\n if (null !== deletions)\n for (var i = 0; i < deletions.length; i++) {\n var childToDelete = deletions[i];\n try {\n commitDeletionEffectsOnFiber(root, parentFiber, childToDelete);\n var alternate = childToDelete.alternate;\n null !== alternate && (alternate.return = null);\n childToDelete.return = null;\n } catch (error) {\n captureCommitPhaseError(childToDelete, parentFiber, error);\n }\n }\n if (parentFiber.subtreeFlags & 12854)\n for (parentFiber = parentFiber.child; null !== parentFiber; )\n commitMutationEffectsOnFiber(parentFiber, root),\n (parentFiber = parentFiber.sibling);\n}\nfunction commitMutationEffectsOnFiber(finishedWork, root) {\n var current = finishedWork.alternate,\n flags = finishedWork.flags;\n switch (finishedWork.tag) {\n case 0:\n case 11:\n case 14:\n case 15:\n recursivelyTraverseMutationEffects(root, finishedWork);\n commitReconciliationEffects(finishedWork);\n if (flags & 4) {\n try {\n commitHookEffectListUnmount(3, finishedWork, finishedWork.return),\n commitHookEffectListMount(3, finishedWork);\n } catch (error) {\n captureCommitPhaseError(finishedWork, finishedWork.return, error);\n }\n try {\n commitHookEffectListUnmount(5, finishedWork, finishedWork.return);\n } catch (error$79) {\n captureCommitPhaseError(finishedWork, finishedWork.return, error$79);\n }\n }\n break;\n case 1:\n recursivelyTraverseMutationEffects(root, finishedWork);\n commitReconciliationEffects(finishedWork);\n flags & 512 &&\n null !== current &&\n safelyDetachRef(current, current.return);\n break;\n case 5:\n recursivelyTraverseMutationEffects(root, finishedWork);\n commitReconciliationEffects(finishedWork);\n flags & 512 &&\n null !== current &&\n safelyDetachRef(current, current.return);\n break;\n case 6:\n recursivelyTraverseMutationEffects(root, finishedWork);\n commitReconciliationEffects(finishedWork);\n break;\n case 3:\n recursivelyTraverseMutationEffects(root, finishedWork);\n commitReconciliationEffects(finishedWork);\n break;\n case 4:\n recursivelyTraverseMutationEffects(root, finishedWork);\n commitReconciliationEffects(finishedWork);\n break;\n case 13:\n recursivelyTraverseMutationEffects(root, finishedWork);\n commitReconciliationEffects(finishedWork);\n root = finishedWork.child;\n root.flags & 8192 &&\n ((current = null !== root.memoizedState),\n (root.stateNode.isHidden = current),\n !current ||\n (null !== root.alternate && null !== root.alternate.memoizedState) ||\n (globalMostRecentFallbackTime = now()));\n flags & 4 && attachSuspenseRetryListeners(finishedWork);\n break;\n case 22:\n recursivelyTraverseMutationEffects(root, finishedWork);\n commitReconciliationEffects(finishedWork);\n flags & 8192 &&\n (finishedWork.stateNode.isHidden = null !== finishedWork.memoizedState);\n break;\n case 19:\n recursivelyTraverseMutationEffects(root, finishedWork);\n commitReconciliationEffects(finishedWork);\n flags & 4 && attachSuspenseRetryListeners(finishedWork);\n break;\n case 21:\n break;\n default:\n recursivelyTraverseMutationEffects(root, finishedWork),\n commitReconciliationEffects(finishedWork);\n }\n}\nfunction commitReconciliationEffects(finishedWork) {\n var flags = finishedWork.flags;\n flags & 2 && (finishedWork.flags &= -3);\n flags & 4096 && (finishedWork.flags &= -4097);\n}\nfunction commitLayoutEffects(finishedWork) {\n for (nextEffect = finishedWork; null !== nextEffect; ) {\n var fiber = nextEffect,\n firstChild = fiber.child;\n if (0 !== (fiber.subtreeFlags & 8772) && null !== firstChild)\n (firstChild.return = fiber), (nextEffect = firstChild);\n else\n for (fiber = finishedWork; null !== nextEffect; ) {\n firstChild = nextEffect;\n if (0 !== (firstChild.flags & 8772)) {\n var current = firstChild.alternate;\n try {\n if (0 !== (firstChild.flags & 8772))\n switch (firstChild.tag) {\n case 0:\n case 11:\n case 15:\n commitHookEffectListMount(5, firstChild);\n break;\n case 1:\n var instance = firstChild.stateNode;\n if (firstChild.flags & 4)\n if (null === current) instance.componentDidMount();\n else {\n var prevProps =\n firstChild.elementType === firstChild.type\n ? current.memoizedProps\n : resolveDefaultProps(\n firstChild.type,\n current.memoizedProps\n );\n instance.componentDidUpdate(\n prevProps,\n current.memoizedState,\n instance.__reactInternalSnapshotBeforeUpdate\n );\n }\n var updateQueue = firstChild.updateQueue;\n null !== updateQueue &&\n commitUpdateQueue(firstChild, updateQueue, instance);\n break;\n case 3:\n var updateQueue$76 = firstChild.updateQueue;\n if (null !== updateQueue$76) {\n current = null;\n if (null !== firstChild.child)\n switch (firstChild.child.tag) {\n case 5:\n current = firstChild.child.stateNode.canonical;\n break;\n case 1:\n current = firstChild.child.stateNode;\n }\n commitUpdateQueue(firstChild, updateQueue$76, current);\n }\n break;\n case 5:\n if (null === current && firstChild.flags & 4)\n throw Error(\n \"The current renderer does not support mutation. This error is likely caused by a bug in React. Please file an issue.\"\n );\n break;\n case 6:\n break;\n case 4:\n break;\n case 12:\n break;\n case 13:\n break;\n case 19:\n case 17:\n case 21:\n case 22:\n case 23:\n case 25:\n break;\n default:\n throw Error(\n \"This unit of work tag should not have side-effects. This error is likely caused by a bug in React. Please file an issue.\"\n );\n }\n if (firstChild.flags & 512) {\n current = void 0;\n var ref = firstChild.ref;\n if (null !== ref) {\n var instance$jscomp$0 = firstChild.stateNode;\n switch (firstChild.tag) {\n case 5:\n current = instance$jscomp$0.canonical;\n break;\n default:\n current = instance$jscomp$0;\n }\n \"function\" === typeof ref\n ? ref(current)\n : (ref.current = current);\n }\n }\n } catch (error) {\n captureCommitPhaseError(firstChild, firstChild.return, error);\n }\n }\n if (firstChild === fiber) {\n nextEffect = null;\n break;\n }\n current = firstChild.sibling;\n if (null !== current) {\n current.return = firstChild.return;\n nextEffect = current;\n break;\n }\n nextEffect = firstChild.return;\n }\n }\n}\nvar ceil = Math.ceil,\n ReactCurrentDispatcher$2 = ReactSharedInternals.ReactCurrentDispatcher,\n ReactCurrentOwner$2 = ReactSharedInternals.ReactCurrentOwner,\n ReactCurrentBatchConfig$2 = ReactSharedInternals.ReactCurrentBatchConfig,\n executionContext = 0,\n workInProgressRoot = null,\n workInProgress = null,\n workInProgressRootRenderLanes = 0,\n subtreeRenderLanes = 0,\n subtreeRenderLanesCursor = createCursor(0),\n workInProgressRootExitStatus = 0,\n workInProgressRootFatalError = null,\n workInProgressRootSkippedLanes = 0,\n workInProgressRootInterleavedUpdatedLanes = 0,\n workInProgressRootPingedLanes = 0,\n workInProgressRootConcurrentErrors = null,\n workInProgressRootRecoverableErrors = null,\n globalMostRecentFallbackTime = 0,\n workInProgressRootRenderTargetTime = Infinity,\n workInProgressTransitions = null,\n hasUncaughtError = !1,\n firstUncaughtError = null,\n legacyErrorBoundariesThatAlreadyFailed = null,\n rootDoesHavePassiveEffects = !1,\n rootWithPendingPassiveEffects = null,\n pendingPassiveEffectsLanes = 0,\n nestedUpdateCount = 0,\n rootWithNestedUpdates = null,\n currentEventTime = -1,\n currentEventTransitionLane = 0;\nfunction requestEventTime() {\n return 0 !== (executionContext & 6)\n ? now()\n : -1 !== currentEventTime\n ? currentEventTime\n : (currentEventTime = now());\n}\nfunction requestUpdateLane(fiber) {\n if (0 === (fiber.mode & 1)) return 1;\n if (0 !== (executionContext & 2) && 0 !== workInProgressRootRenderLanes)\n return workInProgressRootRenderLanes & -workInProgressRootRenderLanes;\n if (null !== ReactCurrentBatchConfig.transition)\n return (\n 0 === currentEventTransitionLane &&\n (currentEventTransitionLane = claimNextTransitionLane()),\n currentEventTransitionLane\n );\n fiber = currentUpdatePriority;\n if (0 === fiber)\n a: {\n fiber = fabricGetCurrentEventPriority\n ? fabricGetCurrentEventPriority()\n : null;\n if (null != fiber)\n switch (fiber) {\n case FabricDiscretePriority:\n fiber = 1;\n break a;\n }\n fiber = 16;\n }\n return fiber;\n}\nfunction scheduleUpdateOnFiber(root, fiber, lane, eventTime) {\n if (50 < nestedUpdateCount)\n throw ((nestedUpdateCount = 0),\n (rootWithNestedUpdates = null),\n Error(\n \"Maximum update depth exceeded. This can happen when a component repeatedly calls setState inside componentWillUpdate or componentDidUpdate. React limits the number of nested updates to prevent infinite loops.\"\n ));\n markRootUpdated(root, lane, eventTime);\n if (0 === (executionContext & 2) || root !== workInProgressRoot)\n root === workInProgressRoot &&\n (0 === (executionContext & 2) &&\n (workInProgressRootInterleavedUpdatedLanes |= lane),\n 4 === workInProgressRootExitStatus &&\n markRootSuspended$1(root, workInProgressRootRenderLanes)),\n ensureRootIsScheduled(root, eventTime),\n 1 === lane &&\n 0 === executionContext &&\n 0 === (fiber.mode & 1) &&\n ((workInProgressRootRenderTargetTime = now() + 500),\n includesLegacySyncCallbacks && flushSyncCallbacks());\n}\nfunction ensureRootIsScheduled(root, currentTime) {\n for (\n var existingCallbackNode = root.callbackNode,\n suspendedLanes = root.suspendedLanes,\n pingedLanes = root.pingedLanes,\n expirationTimes = root.expirationTimes,\n lanes = root.pendingLanes;\n 0 < lanes;\n\n ) {\n var index$5 = 31 - clz32(lanes),\n lane = 1 << index$5,\n expirationTime = expirationTimes[index$5];\n if (-1 === expirationTime) {\n if (0 === (lane & suspendedLanes) || 0 !== (lane & pingedLanes))\n expirationTimes[index$5] = computeExpirationTime(lane, currentTime);\n } else expirationTime <= currentTime && (root.expiredLanes |= lane);\n lanes &= ~lane;\n }\n suspendedLanes = getNextLanes(\n root,\n root === workInProgressRoot ? workInProgressRootRenderLanes : 0\n );\n if (0 === suspendedLanes)\n null !== existingCallbackNode && cancelCallback(existingCallbackNode),\n (root.callbackNode = null),\n (root.callbackPriority = 0);\n else if (\n ((currentTime = suspendedLanes & -suspendedLanes),\n root.callbackPriority !== currentTime)\n ) {\n null != existingCallbackNode && cancelCallback(existingCallbackNode);\n if (1 === currentTime)\n 0 === root.tag\n ? ((existingCallbackNode = performSyncWorkOnRoot.bind(null, root)),\n (includesLegacySyncCallbacks = !0),\n null === syncQueue\n ? (syncQueue = [existingCallbackNode])\n : syncQueue.push(existingCallbackNode))\n : ((existingCallbackNode = performSyncWorkOnRoot.bind(null, root)),\n null === syncQueue\n ? (syncQueue = [existingCallbackNode])\n : syncQueue.push(existingCallbackNode)),\n scheduleCallback(ImmediatePriority, flushSyncCallbacks),\n (existingCallbackNode = null);\n else {\n switch (lanesToEventPriority(suspendedLanes)) {\n case 1:\n existingCallbackNode = ImmediatePriority;\n break;\n case 4:\n existingCallbackNode = UserBlockingPriority;\n break;\n case 16:\n existingCallbackNode = NormalPriority;\n break;\n case 536870912:\n existingCallbackNode = IdlePriority;\n break;\n default:\n existingCallbackNode = NormalPriority;\n }\n existingCallbackNode = scheduleCallback$1(\n existingCallbackNode,\n performConcurrentWorkOnRoot.bind(null, root)\n );\n }\n root.callbackPriority = currentTime;\n root.callbackNode = existingCallbackNode;\n }\n}\nfunction performConcurrentWorkOnRoot(root, didTimeout) {\n currentEventTime = -1;\n currentEventTransitionLane = 0;\n if (0 !== (executionContext & 6))\n throw Error(\"Should not already be working.\");\n var originalCallbackNode = root.callbackNode;\n if (flushPassiveEffects() && root.callbackNode !== originalCallbackNode)\n return null;\n var lanes = getNextLanes(\n root,\n root === workInProgressRoot ? workInProgressRootRenderLanes : 0\n );\n if (0 === lanes) return null;\n if (0 !== (lanes & 30) || 0 !== (lanes & root.expiredLanes) || didTimeout)\n didTimeout = renderRootSync(root, lanes);\n else {\n didTimeout = lanes;\n var prevExecutionContext = executionContext;\n executionContext |= 2;\n var prevDispatcher = pushDispatcher();\n if (\n workInProgressRoot !== root ||\n workInProgressRootRenderLanes !== didTimeout\n )\n (workInProgressTransitions = null),\n (workInProgressRootRenderTargetTime = now() + 500),\n prepareFreshStack(root, didTimeout);\n do\n try {\n workLoopConcurrent();\n break;\n } catch (thrownValue) {\n handleError(root, thrownValue);\n }\n while (1);\n resetContextDependencies();\n ReactCurrentDispatcher$2.current = prevDispatcher;\n executionContext = prevExecutionContext;\n null !== workInProgress\n ? (didTimeout = 0)\n : ((workInProgressRoot = null),\n (workInProgressRootRenderLanes = 0),\n (didTimeout = workInProgressRootExitStatus));\n }\n if (0 !== didTimeout) {\n 2 === didTimeout &&\n ((prevExecutionContext = getLanesToRetrySynchronouslyOnError(root)),\n 0 !== prevExecutionContext &&\n ((lanes = prevExecutionContext),\n (didTimeout = recoverFromConcurrentError(root, prevExecutionContext))));\n if (1 === didTimeout)\n throw ((originalCallbackNode = workInProgressRootFatalError),\n prepareFreshStack(root, 0),\n markRootSuspended$1(root, lanes),\n ensureRootIsScheduled(root, now()),\n originalCallbackNode);\n if (6 === didTimeout) markRootSuspended$1(root, lanes);\n else {\n prevExecutionContext = root.current.alternate;\n if (\n 0 === (lanes & 30) &&\n !isRenderConsistentWithExternalStores(prevExecutionContext) &&\n ((didTimeout = renderRootSync(root, lanes)),\n 2 === didTimeout &&\n ((prevDispatcher = getLanesToRetrySynchronouslyOnError(root)),\n 0 !== prevDispatcher &&\n ((lanes = prevDispatcher),\n (didTimeout = recoverFromConcurrentError(root, prevDispatcher)))),\n 1 === didTimeout)\n )\n throw ((originalCallbackNode = workInProgressRootFatalError),\n prepareFreshStack(root, 0),\n markRootSuspended$1(root, lanes),\n ensureRootIsScheduled(root, now()),\n originalCallbackNode);\n root.finishedWork = prevExecutionContext;\n root.finishedLanes = lanes;\n switch (didTimeout) {\n case 0:\n case 1:\n throw Error(\"Root did not complete. This is a bug in React.\");\n case 2:\n commitRoot(\n root,\n workInProgressRootRecoverableErrors,\n workInProgressTransitions\n );\n break;\n case 3:\n markRootSuspended$1(root, lanes);\n if (\n (lanes & 130023424) === lanes &&\n ((didTimeout = globalMostRecentFallbackTime + 500 - now()),\n 10 < didTimeout)\n ) {\n if (0 !== getNextLanes(root, 0)) break;\n prevExecutionContext = root.suspendedLanes;\n if ((prevExecutionContext & lanes) !== lanes) {\n requestEventTime();\n root.pingedLanes |= root.suspendedLanes & prevExecutionContext;\n break;\n }\n root.timeoutHandle = scheduleTimeout(\n commitRoot.bind(\n null,\n root,\n workInProgressRootRecoverableErrors,\n workInProgressTransitions\n ),\n didTimeout\n );\n break;\n }\n commitRoot(\n root,\n workInProgressRootRecoverableErrors,\n workInProgressTransitions\n );\n break;\n case 4:\n markRootSuspended$1(root, lanes);\n if ((lanes & 4194240) === lanes) break;\n didTimeout = root.eventTimes;\n for (prevExecutionContext = -1; 0 < lanes; ) {\n var index$4 = 31 - clz32(lanes);\n prevDispatcher = 1 << index$4;\n index$4 = didTimeout[index$4];\n index$4 > prevExecutionContext && (prevExecutionContext = index$4);\n lanes &= ~prevDispatcher;\n }\n lanes = prevExecutionContext;\n lanes = now() - lanes;\n lanes =\n (120 > lanes\n ? 120\n : 480 > lanes\n ? 480\n : 1080 > lanes\n ? 1080\n : 1920 > lanes\n ? 1920\n : 3e3 > lanes\n ? 3e3\n : 4320 > lanes\n ? 4320\n : 1960 * ceil(lanes / 1960)) - lanes;\n if (10 < lanes) {\n root.timeoutHandle = scheduleTimeout(\n commitRoot.bind(\n null,\n root,\n workInProgressRootRecoverableErrors,\n workInProgressTransitions\n ),\n lanes\n );\n break;\n }\n commitRoot(\n root,\n workInProgressRootRecoverableErrors,\n workInProgressTransitions\n );\n break;\n case 5:\n commitRoot(\n root,\n workInProgressRootRecoverableErrors,\n workInProgressTransitions\n );\n break;\n default:\n throw Error(\"Unknown root exit status.\");\n }\n }\n }\n ensureRootIsScheduled(root, now());\n return root.callbackNode === originalCallbackNode\n ? performConcurrentWorkOnRoot.bind(null, root)\n : null;\n}\nfunction recoverFromConcurrentError(root, errorRetryLanes) {\n var errorsFromFirstAttempt = workInProgressRootConcurrentErrors;\n root.current.memoizedState.isDehydrated &&\n (prepareFreshStack(root, errorRetryLanes).flags |= 256);\n root = renderRootSync(root, errorRetryLanes);\n 2 !== root &&\n ((errorRetryLanes = workInProgressRootRecoverableErrors),\n (workInProgressRootRecoverableErrors = errorsFromFirstAttempt),\n null !== errorRetryLanes && queueRecoverableErrors(errorRetryLanes));\n return root;\n}\nfunction queueRecoverableErrors(errors) {\n null === workInProgressRootRecoverableErrors\n ? (workInProgressRootRecoverableErrors = errors)\n : workInProgressRootRecoverableErrors.push.apply(\n workInProgressRootRecoverableErrors,\n errors\n );\n}\nfunction isRenderConsistentWithExternalStores(finishedWork) {\n for (var node = finishedWork; ; ) {\n if (node.flags & 16384) {\n var updateQueue = node.updateQueue;\n if (\n null !== updateQueue &&\n ((updateQueue = updateQueue.stores), null !== updateQueue)\n )\n for (var i = 0; i < updateQueue.length; i++) {\n var check = updateQueue[i],\n getSnapshot = check.getSnapshot;\n check = check.value;\n try {\n if (!objectIs(getSnapshot(), check)) return !1;\n } catch (error) {\n return !1;\n }\n }\n }\n updateQueue = node.child;\n if (node.subtreeFlags & 16384 && null !== updateQueue)\n (updateQueue.return = node), (node = updateQueue);\n else {\n if (node === finishedWork) break;\n for (; null === node.sibling; ) {\n if (null === node.return || node.return === finishedWork) return !0;\n node = node.return;\n }\n node.sibling.return = node.return;\n node = node.sibling;\n }\n }\n return !0;\n}\nfunction markRootSuspended$1(root, suspendedLanes) {\n suspendedLanes &= ~workInProgressRootPingedLanes;\n suspendedLanes &= ~workInProgressRootInterleavedUpdatedLanes;\n root.suspendedLanes |= suspendedLanes;\n root.pingedLanes &= ~suspendedLanes;\n for (root = root.expirationTimes; 0 < suspendedLanes; ) {\n var index$6 = 31 - clz32(suspendedLanes),\n lane = 1 << index$6;\n root[index$6] = -1;\n suspendedLanes &= ~lane;\n }\n}\nfunction performSyncWorkOnRoot(root) {\n if (0 !== (executionContext & 6))\n throw Error(\"Should not already be working.\");\n flushPassiveEffects();\n var lanes = getNextLanes(root, 0);\n if (0 === (lanes & 1)) return ensureRootIsScheduled(root, now()), null;\n var exitStatus = renderRootSync(root, lanes);\n if (0 !== root.tag && 2 === exitStatus) {\n var errorRetryLanes = getLanesToRetrySynchronouslyOnError(root);\n 0 !== errorRetryLanes &&\n ((lanes = errorRetryLanes),\n (exitStatus = recoverFromConcurrentError(root, errorRetryLanes)));\n }\n if (1 === exitStatus)\n throw ((exitStatus = workInProgressRootFatalError),\n prepareFreshStack(root, 0),\n markRootSuspended$1(root, lanes),\n ensureRootIsScheduled(root, now()),\n exitStatus);\n if (6 === exitStatus)\n throw Error(\"Root did not complete. This is a bug in React.\");\n root.finishedWork = root.current.alternate;\n root.finishedLanes = lanes;\n commitRoot(\n root,\n workInProgressRootRecoverableErrors,\n workInProgressTransitions\n );\n ensureRootIsScheduled(root, now());\n return null;\n}\nfunction popRenderLanes() {\n subtreeRenderLanes = subtreeRenderLanesCursor.current;\n pop(subtreeRenderLanesCursor);\n}\nfunction prepareFreshStack(root, lanes) {\n root.finishedWork = null;\n root.finishedLanes = 0;\n var timeoutHandle = root.timeoutHandle;\n -1 !== timeoutHandle &&\n ((root.timeoutHandle = -1), cancelTimeout(timeoutHandle));\n if (null !== workInProgress)\n for (timeoutHandle = workInProgress.return; null !== timeoutHandle; ) {\n var interruptedWork = timeoutHandle;\n popTreeContext(interruptedWork);\n switch (interruptedWork.tag) {\n case 1:\n interruptedWork = interruptedWork.type.childContextTypes;\n null !== interruptedWork &&\n void 0 !== interruptedWork &&\n popContext();\n break;\n case 3:\n popHostContainer();\n pop(didPerformWorkStackCursor);\n pop(contextStackCursor);\n resetWorkInProgressVersions();\n break;\n case 5:\n popHostContext(interruptedWork);\n break;\n case 4:\n popHostContainer();\n break;\n case 13:\n pop(suspenseStackCursor);\n break;\n case 19:\n pop(suspenseStackCursor);\n break;\n case 10:\n popProvider(interruptedWork.type._context);\n break;\n case 22:\n case 23:\n popRenderLanes();\n }\n timeoutHandle = timeoutHandle.return;\n }\n workInProgressRoot = root;\n workInProgress = root = createWorkInProgress(root.current, null);\n workInProgressRootRenderLanes = subtreeRenderLanes = lanes;\n workInProgressRootExitStatus = 0;\n workInProgressRootFatalError = null;\n workInProgressRootPingedLanes = workInProgressRootInterleavedUpdatedLanes = workInProgressRootSkippedLanes = 0;\n workInProgressRootRecoverableErrors = workInProgressRootConcurrentErrors = null;\n if (null !== concurrentQueues) {\n for (lanes = 0; lanes < concurrentQueues.length; lanes++)\n if (\n ((timeoutHandle = concurrentQueues[lanes]),\n (interruptedWork = timeoutHandle.interleaved),\n null !== interruptedWork)\n ) {\n timeoutHandle.interleaved = null;\n var firstInterleavedUpdate = interruptedWork.next,\n lastPendingUpdate = timeoutHandle.pending;\n if (null !== lastPendingUpdate) {\n var firstPendingUpdate = lastPendingUpdate.next;\n lastPendingUpdate.next = firstInterleavedUpdate;\n interruptedWork.next = firstPendingUpdate;\n }\n timeoutHandle.pending = interruptedWork;\n }\n concurrentQueues = null;\n }\n return root;\n}\nfunction handleError(root$jscomp$0, thrownValue) {\n do {\n var erroredWork = workInProgress;\n try {\n resetContextDependencies();\n ReactCurrentDispatcher$1.current = ContextOnlyDispatcher;\n if (didScheduleRenderPhaseUpdate) {\n for (\n var hook = currentlyRenderingFiber$1.memoizedState;\n null !== hook;\n\n ) {\n var queue = hook.queue;\n null !== queue && (queue.pending = null);\n hook = hook.next;\n }\n didScheduleRenderPhaseUpdate = !1;\n }\n renderLanes = 0;\n workInProgressHook = currentHook = currentlyRenderingFiber$1 = null;\n didScheduleRenderPhaseUpdateDuringThisPass = !1;\n ReactCurrentOwner$2.current = null;\n if (null === erroredWork || null === erroredWork.return) {\n workInProgressRootExitStatus = 1;\n workInProgressRootFatalError = thrownValue;\n workInProgress = null;\n break;\n }\n a: {\n var root = root$jscomp$0,\n returnFiber = erroredWork.return,\n sourceFiber = erroredWork,\n value = thrownValue;\n thrownValue = workInProgressRootRenderLanes;\n sourceFiber.flags |= 32768;\n if (\n null !== value &&\n \"object\" === typeof value &&\n \"function\" === typeof value.then\n ) {\n var wakeable = value,\n sourceFiber$jscomp$0 = sourceFiber,\n tag = sourceFiber$jscomp$0.tag;\n if (\n 0 === (sourceFiber$jscomp$0.mode & 1) &&\n (0 === tag || 11 === tag || 15 === tag)\n ) {\n var currentSource = sourceFiber$jscomp$0.alternate;\n currentSource\n ? ((sourceFiber$jscomp$0.updateQueue = currentSource.updateQueue),\n (sourceFiber$jscomp$0.memoizedState =\n currentSource.memoizedState),\n (sourceFiber$jscomp$0.lanes = currentSource.lanes))\n : ((sourceFiber$jscomp$0.updateQueue = null),\n (sourceFiber$jscomp$0.memoizedState = null));\n }\n b: {\n sourceFiber$jscomp$0 = returnFiber;\n do {\n var JSCompiler_temp;\n if ((JSCompiler_temp = 13 === sourceFiber$jscomp$0.tag)) {\n var nextState = sourceFiber$jscomp$0.memoizedState;\n JSCompiler_temp =\n null !== nextState\n ? null !== nextState.dehydrated\n ? !0\n : !1\n : !0;\n }\n if (JSCompiler_temp) {\n var suspenseBoundary = sourceFiber$jscomp$0;\n break b;\n }\n sourceFiber$jscomp$0 = sourceFiber$jscomp$0.return;\n } while (null !== sourceFiber$jscomp$0);\n suspenseBoundary = null;\n }\n if (null !== suspenseBoundary) {\n suspenseBoundary.flags &= -257;\n value = suspenseBoundary;\n sourceFiber$jscomp$0 = thrownValue;\n if (0 === (value.mode & 1))\n if (value === returnFiber) value.flags |= 65536;\n else {\n value.flags |= 128;\n sourceFiber.flags |= 131072;\n sourceFiber.flags &= -52805;\n if (1 === sourceFiber.tag)\n if (null === sourceFiber.alternate) sourceFiber.tag = 17;\n else {\n var update = createUpdate(-1, 1);\n update.tag = 2;\n enqueueUpdate(sourceFiber, update, 1);\n }\n sourceFiber.lanes |= 1;\n }\n else (value.flags |= 65536), (value.lanes = sourceFiber$jscomp$0);\n suspenseBoundary.mode & 1 &&\n attachPingListener(root, wakeable, thrownValue);\n thrownValue = suspenseBoundary;\n root = wakeable;\n var wakeables = thrownValue.updateQueue;\n if (null === wakeables) {\n var updateQueue = new Set();\n updateQueue.add(root);\n thrownValue.updateQueue = updateQueue;\n } else wakeables.add(root);\n break a;\n } else {\n if (0 === (thrownValue & 1)) {\n attachPingListener(root, wakeable, thrownValue);\n renderDidSuspendDelayIfPossible();\n break a;\n }\n value = Error(\n \"A component suspended while responding to synchronous input. This will cause the UI to be replaced with a loading indicator. To fix, updates that suspend should be wrapped with startTransition.\"\n );\n }\n }\n root = value = createCapturedValueAtFiber(value, sourceFiber);\n 4 !== workInProgressRootExitStatus &&\n (workInProgressRootExitStatus = 2);\n null === workInProgressRootConcurrentErrors\n ? (workInProgressRootConcurrentErrors = [root])\n : workInProgressRootConcurrentErrors.push(root);\n root = returnFiber;\n do {\n switch (root.tag) {\n case 3:\n wakeable = value;\n root.flags |= 65536;\n thrownValue &= -thrownValue;\n root.lanes |= thrownValue;\n var update$jscomp$0 = createRootErrorUpdate(\n root,\n wakeable,\n thrownValue\n );\n enqueueCapturedUpdate(root, update$jscomp$0);\n break a;\n case 1:\n wakeable = value;\n var ctor = root.type,\n instance = root.stateNode;\n if (\n 0 === (root.flags & 128) &&\n (\"function\" === typeof ctor.getDerivedStateFromError ||\n (null !== instance &&\n \"function\" === typeof instance.componentDidCatch &&\n (null === legacyErrorBoundariesThatAlreadyFailed ||\n !legacyErrorBoundariesThatAlreadyFailed.has(instance))))\n ) {\n root.flags |= 65536;\n thrownValue &= -thrownValue;\n root.lanes |= thrownValue;\n var update$32 = createClassErrorUpdate(\n root,\n wakeable,\n thrownValue\n );\n enqueueCapturedUpdate(root, update$32);\n break a;\n }\n }\n root = root.return;\n } while (null !== root);\n }\n completeUnitOfWork(erroredWork);\n } catch (yetAnotherThrownValue) {\n thrownValue = yetAnotherThrownValue;\n workInProgress === erroredWork &&\n null !== erroredWork &&\n (workInProgress = erroredWork = erroredWork.return);\n continue;\n }\n break;\n } while (1);\n}\nfunction pushDispatcher() {\n var prevDispatcher = ReactCurrentDispatcher$2.current;\n ReactCurrentDispatcher$2.current = ContextOnlyDispatcher;\n return null === prevDispatcher ? ContextOnlyDispatcher : prevDispatcher;\n}\nfunction renderDidSuspendDelayIfPossible() {\n if (\n 0 === workInProgressRootExitStatus ||\n 3 === workInProgressRootExitStatus ||\n 2 === workInProgressRootExitStatus\n )\n workInProgressRootExitStatus = 4;\n null === workInProgressRoot ||\n (0 === (workInProgressRootSkippedLanes & 268435455) &&\n 0 === (workInProgressRootInterleavedUpdatedLanes & 268435455)) ||\n markRootSuspended$1(workInProgressRoot, workInProgressRootRenderLanes);\n}\nfunction renderRootSync(root, lanes) {\n var prevExecutionContext = executionContext;\n executionContext |= 2;\n var prevDispatcher = pushDispatcher();\n if (workInProgressRoot !== root || workInProgressRootRenderLanes !== lanes)\n (workInProgressTransitions = null), prepareFreshStack(root, lanes);\n do\n try {\n workLoopSync();\n break;\n } catch (thrownValue) {\n handleError(root, thrownValue);\n }\n while (1);\n resetContextDependencies();\n executionContext = prevExecutionContext;\n ReactCurrentDispatcher$2.current = prevDispatcher;\n if (null !== workInProgress)\n throw Error(\n \"Cannot commit an incomplete root. This error is likely caused by a bug in React. Please file an issue.\"\n );\n workInProgressRoot = null;\n workInProgressRootRenderLanes = 0;\n return workInProgressRootExitStatus;\n}\nfunction workLoopSync() {\n for (; null !== workInProgress; ) performUnitOfWork(workInProgress);\n}\nfunction workLoopConcurrent() {\n for (; null !== workInProgress && !shouldYield(); )\n performUnitOfWork(workInProgress);\n}\nfunction performUnitOfWork(unitOfWork) {\n var next = beginWork$1(unitOfWork.alternate, unitOfWork, subtreeRenderLanes);\n unitOfWork.memoizedProps = unitOfWork.pendingProps;\n null === next ? completeUnitOfWork(unitOfWork) : (workInProgress = next);\n ReactCurrentOwner$2.current = null;\n}\nfunction completeUnitOfWork(unitOfWork) {\n var completedWork = unitOfWork;\n do {\n var current = completedWork.alternate;\n unitOfWork = completedWork.return;\n if (0 === (completedWork.flags & 32768)) {\n if (\n ((current = completeWork(current, completedWork, subtreeRenderLanes)),\n null !== current)\n ) {\n workInProgress = current;\n return;\n }\n } else {\n current = unwindWork(current, completedWork);\n if (null !== current) {\n current.flags &= 32767;\n workInProgress = current;\n return;\n }\n if (null !== unitOfWork)\n (unitOfWork.flags |= 32768),\n (unitOfWork.subtreeFlags = 0),\n (unitOfWork.deletions = null);\n else {\n workInProgressRootExitStatus = 6;\n workInProgress = null;\n return;\n }\n }\n completedWork = completedWork.sibling;\n if (null !== completedWork) {\n workInProgress = completedWork;\n return;\n }\n workInProgress = completedWork = unitOfWork;\n } while (null !== completedWork);\n 0 === workInProgressRootExitStatus && (workInProgressRootExitStatus = 5);\n}\nfunction commitRoot(root, recoverableErrors, transitions) {\n var previousUpdateLanePriority = currentUpdatePriority,\n prevTransition = ReactCurrentBatchConfig$2.transition;\n try {\n (ReactCurrentBatchConfig$2.transition = null),\n (currentUpdatePriority = 1),\n commitRootImpl(\n root,\n recoverableErrors,\n transitions,\n previousUpdateLanePriority\n );\n } finally {\n (ReactCurrentBatchConfig$2.transition = prevTransition),\n (currentUpdatePriority = previousUpdateLanePriority);\n }\n return null;\n}\nfunction commitRootImpl(\n root,\n recoverableErrors,\n transitions,\n renderPriorityLevel\n) {\n do flushPassiveEffects();\n while (null !== rootWithPendingPassiveEffects);\n if (0 !== (executionContext & 6))\n throw Error(\"Should not already be working.\");\n transitions = root.finishedWork;\n var lanes = root.finishedLanes;\n if (null === transitions) return null;\n root.finishedWork = null;\n root.finishedLanes = 0;\n if (transitions === root.current)\n throw Error(\n \"Cannot commit the same tree as before. This error is likely caused by a bug in React. Please file an issue.\"\n );\n root.callbackNode = null;\n root.callbackPriority = 0;\n var remainingLanes = transitions.lanes | transitions.childLanes;\n markRootFinished(root, remainingLanes);\n root === workInProgressRoot &&\n ((workInProgress = workInProgressRoot = null),\n (workInProgressRootRenderLanes = 0));\n (0 === (transitions.subtreeFlags & 2064) &&\n 0 === (transitions.flags & 2064)) ||\n rootDoesHavePassiveEffects ||\n ((rootDoesHavePassiveEffects = !0),\n scheduleCallback$1(NormalPriority, function() {\n flushPassiveEffects();\n return null;\n }));\n remainingLanes = 0 !== (transitions.flags & 15990);\n if (0 !== (transitions.subtreeFlags & 15990) || remainingLanes) {\n remainingLanes = ReactCurrentBatchConfig$2.transition;\n ReactCurrentBatchConfig$2.transition = null;\n var previousPriority = currentUpdatePriority;\n currentUpdatePriority = 1;\n var prevExecutionContext = executionContext;\n executionContext |= 4;\n ReactCurrentOwner$2.current = null;\n commitBeforeMutationEffects(root, transitions);\n commitMutationEffectsOnFiber(transitions, root);\n root.current = transitions;\n commitLayoutEffects(transitions, root, lanes);\n requestPaint();\n executionContext = prevExecutionContext;\n currentUpdatePriority = previousPriority;\n ReactCurrentBatchConfig$2.transition = remainingLanes;\n } else root.current = transitions;\n rootDoesHavePassiveEffects &&\n ((rootDoesHavePassiveEffects = !1),\n (rootWithPendingPassiveEffects = root),\n (pendingPassiveEffectsLanes = lanes));\n remainingLanes = root.pendingLanes;\n 0 === remainingLanes && (legacyErrorBoundariesThatAlreadyFailed = null);\n onCommitRoot(transitions.stateNode, renderPriorityLevel);\n ensureRootIsScheduled(root, now());\n if (null !== recoverableErrors)\n for (\n renderPriorityLevel = root.onRecoverableError, transitions = 0;\n transitions < recoverableErrors.length;\n transitions++\n )\n (lanes = recoverableErrors[transitions]),\n renderPriorityLevel(lanes.value, {\n componentStack: lanes.stack,\n digest: lanes.digest\n });\n if (hasUncaughtError)\n throw ((hasUncaughtError = !1),\n (root = firstUncaughtError),\n (firstUncaughtError = null),\n root);\n 0 !== (pendingPassiveEffectsLanes & 1) &&\n 0 !== root.tag &&\n flushPassiveEffects();\n remainingLanes = root.pendingLanes;\n 0 !== (remainingLanes & 1)\n ? root === rootWithNestedUpdates\n ? nestedUpdateCount++\n : ((nestedUpdateCount = 0), (rootWithNestedUpdates = root))\n : (nestedUpdateCount = 0);\n flushSyncCallbacks();\n return null;\n}\nfunction flushPassiveEffects() {\n if (null !== rootWithPendingPassiveEffects) {\n var renderPriority = lanesToEventPriority(pendingPassiveEffectsLanes),\n prevTransition = ReactCurrentBatchConfig$2.transition,\n previousPriority = currentUpdatePriority;\n try {\n ReactCurrentBatchConfig$2.transition = null;\n currentUpdatePriority = 16 > renderPriority ? 16 : renderPriority;\n if (null === rootWithPendingPassiveEffects)\n var JSCompiler_inline_result = !1;\n else {\n renderPriority = rootWithPendingPassiveEffects;\n rootWithPendingPassiveEffects = null;\n pendingPassiveEffectsLanes = 0;\n if (0 !== (executionContext & 6))\n throw Error(\"Cannot flush passive effects while already rendering.\");\n var prevExecutionContext = executionContext;\n executionContext |= 4;\n for (nextEffect = renderPriority.current; null !== nextEffect; ) {\n var fiber = nextEffect,\n child = fiber.child;\n if (0 !== (nextEffect.flags & 16)) {\n var deletions = fiber.deletions;\n if (null !== deletions) {\n for (var i = 0; i < deletions.length; i++) {\n var fiberToDelete = deletions[i];\n for (nextEffect = fiberToDelete; null !== nextEffect; ) {\n var fiber$jscomp$0 = nextEffect;\n switch (fiber$jscomp$0.tag) {\n case 0:\n case 11:\n case 15:\n commitHookEffectListUnmount(8, fiber$jscomp$0, fiber);\n }\n var child$jscomp$0 = fiber$jscomp$0.child;\n if (null !== child$jscomp$0)\n (child$jscomp$0.return = fiber$jscomp$0),\n (nextEffect = child$jscomp$0);\n else\n for (; null !== nextEffect; ) {\n fiber$jscomp$0 = nextEffect;\n var sibling = fiber$jscomp$0.sibling,\n returnFiber = fiber$jscomp$0.return;\n detachFiberAfterEffects(fiber$jscomp$0);\n if (fiber$jscomp$0 === fiberToDelete) {\n nextEffect = null;\n break;\n }\n if (null !== sibling) {\n sibling.return = returnFiber;\n nextEffect = sibling;\n break;\n }\n nextEffect = returnFiber;\n }\n }\n }\n var previousFiber = fiber.alternate;\n if (null !== previousFiber) {\n var detachedChild = previousFiber.child;\n if (null !== detachedChild) {\n previousFiber.child = null;\n do {\n var detachedSibling = detachedChild.sibling;\n detachedChild.sibling = null;\n detachedChild = detachedSibling;\n } while (null !== detachedChild);\n }\n }\n nextEffect = fiber;\n }\n }\n if (0 !== (fiber.subtreeFlags & 2064) && null !== child)\n (child.return = fiber), (nextEffect = child);\n else\n b: for (; null !== nextEffect; ) {\n fiber = nextEffect;\n if (0 !== (fiber.flags & 2048))\n switch (fiber.tag) {\n case 0:\n case 11:\n case 15:\n commitHookEffectListUnmount(9, fiber, fiber.return);\n }\n var sibling$jscomp$0 = fiber.sibling;\n if (null !== sibling$jscomp$0) {\n sibling$jscomp$0.return = fiber.return;\n nextEffect = sibling$jscomp$0;\n break b;\n }\n nextEffect = fiber.return;\n }\n }\n var finishedWork = renderPriority.current;\n for (nextEffect = finishedWork; null !== nextEffect; ) {\n child = nextEffect;\n var firstChild = child.child;\n if (0 !== (child.subtreeFlags & 2064) && null !== firstChild)\n (firstChild.return = child), (nextEffect = firstChild);\n else\n b: for (child = finishedWork; null !== nextEffect; ) {\n deletions = nextEffect;\n if (0 !== (deletions.flags & 2048))\n try {\n switch (deletions.tag) {\n case 0:\n case 11:\n case 15:\n commitHookEffectListMount(9, deletions);\n }\n } catch (error) {\n captureCommitPhaseError(deletions, deletions.return, error);\n }\n if (deletions === child) {\n nextEffect = null;\n break b;\n }\n var sibling$jscomp$1 = deletions.sibling;\n if (null !== sibling$jscomp$1) {\n sibling$jscomp$1.return = deletions.return;\n nextEffect = sibling$jscomp$1;\n break b;\n }\n nextEffect = deletions.return;\n }\n }\n executionContext = prevExecutionContext;\n flushSyncCallbacks();\n if (\n injectedHook &&\n \"function\" === typeof injectedHook.onPostCommitFiberRoot\n )\n try {\n injectedHook.onPostCommitFiberRoot(rendererID, renderPriority);\n } catch (err) {}\n JSCompiler_inline_result = !0;\n }\n return JSCompiler_inline_result;\n } finally {\n (currentUpdatePriority = previousPriority),\n (ReactCurrentBatchConfig$2.transition = prevTransition);\n }\n }\n return !1;\n}\nfunction captureCommitPhaseErrorOnRoot(rootFiber, sourceFiber, error) {\n sourceFiber = createCapturedValueAtFiber(error, sourceFiber);\n sourceFiber = createRootErrorUpdate(rootFiber, sourceFiber, 1);\n rootFiber = enqueueUpdate(rootFiber, sourceFiber, 1);\n sourceFiber = requestEventTime();\n null !== rootFiber &&\n (markRootUpdated(rootFiber, 1, sourceFiber),\n ensureRootIsScheduled(rootFiber, sourceFiber));\n}\nfunction captureCommitPhaseError(sourceFiber, nearestMountedAncestor, error) {\n if (3 === sourceFiber.tag)\n captureCommitPhaseErrorOnRoot(sourceFiber, sourceFiber, error);\n else\n for (\n nearestMountedAncestor = sourceFiber.return;\n null !== nearestMountedAncestor;\n\n ) {\n if (3 === nearestMountedAncestor.tag) {\n captureCommitPhaseErrorOnRoot(\n nearestMountedAncestor,\n sourceFiber,\n error\n );\n break;\n } else if (1 === nearestMountedAncestor.tag) {\n var instance = nearestMountedAncestor.stateNode;\n if (\n \"function\" ===\n typeof nearestMountedAncestor.type.getDerivedStateFromError ||\n (\"function\" === typeof instance.componentDidCatch &&\n (null === legacyErrorBoundariesThatAlreadyFailed ||\n !legacyErrorBoundariesThatAlreadyFailed.has(instance)))\n ) {\n sourceFiber = createCapturedValueAtFiber(error, sourceFiber);\n sourceFiber = createClassErrorUpdate(\n nearestMountedAncestor,\n sourceFiber,\n 1\n );\n nearestMountedAncestor = enqueueUpdate(\n nearestMountedAncestor,\n sourceFiber,\n 1\n );\n sourceFiber = requestEventTime();\n null !== nearestMountedAncestor &&\n (markRootUpdated(nearestMountedAncestor, 1, sourceFiber),\n ensureRootIsScheduled(nearestMountedAncestor, sourceFiber));\n break;\n }\n }\n nearestMountedAncestor = nearestMountedAncestor.return;\n }\n}\nfunction pingSuspendedRoot(root, wakeable, pingedLanes) {\n var pingCache = root.pingCache;\n null !== pingCache && pingCache.delete(wakeable);\n wakeable = requestEventTime();\n root.pingedLanes |= root.suspendedLanes & pingedLanes;\n workInProgressRoot === root &&\n (workInProgressRootRenderLanes & pingedLanes) === pingedLanes &&\n (4 === workInProgressRootExitStatus ||\n (3 === workInProgressRootExitStatus &&\n (workInProgressRootRenderLanes & 130023424) ===\n workInProgressRootRenderLanes &&\n 500 > now() - globalMostRecentFallbackTime)\n ? prepareFreshStack(root, 0)\n : (workInProgressRootPingedLanes |= pingedLanes));\n ensureRootIsScheduled(root, wakeable);\n}\nfunction retryTimedOutBoundary(boundaryFiber, retryLane) {\n 0 === retryLane &&\n (0 === (boundaryFiber.mode & 1)\n ? (retryLane = 1)\n : ((retryLane = nextRetryLane),\n (nextRetryLane <<= 1),\n 0 === (nextRetryLane & 130023424) && (nextRetryLane = 4194304)));\n var eventTime = requestEventTime();\n boundaryFiber = markUpdateLaneFromFiberToRoot(boundaryFiber, retryLane);\n null !== boundaryFiber &&\n (markRootUpdated(boundaryFiber, retryLane, eventTime),\n ensureRootIsScheduled(boundaryFiber, eventTime));\n}\nfunction retryDehydratedSuspenseBoundary(boundaryFiber) {\n var suspenseState = boundaryFiber.memoizedState,\n retryLane = 0;\n null !== suspenseState && (retryLane = suspenseState.retryLane);\n retryTimedOutBoundary(boundaryFiber, retryLane);\n}\nfunction resolveRetryWakeable(boundaryFiber, wakeable) {\n var retryLane = 0;\n switch (boundaryFiber.tag) {\n case 13:\n var retryCache = boundaryFiber.stateNode;\n var suspenseState = boundaryFiber.memoizedState;\n null !== suspenseState && (retryLane = suspenseState.retryLane);\n break;\n case 19:\n retryCache = boundaryFiber.stateNode;\n break;\n default:\n throw Error(\n \"Pinged unknown suspense boundary type. This is probably a bug in React.\"\n );\n }\n null !== retryCache && retryCache.delete(wakeable);\n retryTimedOutBoundary(boundaryFiber, retryLane);\n}\nvar beginWork$1;\nbeginWork$1 = function(current, workInProgress, renderLanes) {\n if (null !== current)\n if (\n current.memoizedProps !== workInProgress.pendingProps ||\n didPerformWorkStackCursor.current\n )\n didReceiveUpdate = !0;\n else {\n if (\n 0 === (current.lanes & renderLanes) &&\n 0 === (workInProgress.flags & 128)\n )\n return (\n (didReceiveUpdate = !1),\n attemptEarlyBailoutIfNoScheduledUpdate(\n current,\n workInProgress,\n renderLanes\n )\n );\n didReceiveUpdate = 0 !== (current.flags & 131072) ? !0 : !1;\n }\n else didReceiveUpdate = !1;\n workInProgress.lanes = 0;\n switch (workInProgress.tag) {\n case 2:\n var Component = workInProgress.type;\n resetSuspendedCurrentOnMountInLegacyMode(current, workInProgress);\n current = workInProgress.pendingProps;\n var context = getMaskedContext(\n workInProgress,\n contextStackCursor.current\n );\n prepareToReadContext(workInProgress, renderLanes);\n context = renderWithHooks(\n null,\n workInProgress,\n Component,\n current,\n context,\n renderLanes\n );\n workInProgress.flags |= 1;\n if (\n \"object\" === typeof context &&\n null !== context &&\n \"function\" === typeof context.render &&\n void 0 === context.$$typeof\n ) {\n workInProgress.tag = 1;\n workInProgress.memoizedState = null;\n workInProgress.updateQueue = null;\n if (isContextProvider(Component)) {\n var hasContext = !0;\n pushContextProvider(workInProgress);\n } else hasContext = !1;\n workInProgress.memoizedState =\n null !== context.state && void 0 !== context.state\n ? context.state\n : null;\n initializeUpdateQueue(workInProgress);\n context.updater = classComponentUpdater;\n workInProgress.stateNode = context;\n context._reactInternals = workInProgress;\n mountClassInstance(workInProgress, Component, current, renderLanes);\n workInProgress = finishClassComponent(\n null,\n workInProgress,\n Component,\n !0,\n hasContext,\n renderLanes\n );\n } else\n (workInProgress.tag = 0),\n reconcileChildren(null, workInProgress, context, renderLanes),\n (workInProgress = workInProgress.child);\n return workInProgress;\n case 16:\n Component = workInProgress.elementType;\n a: {\n resetSuspendedCurrentOnMountInLegacyMode(current, workInProgress);\n current = workInProgress.pendingProps;\n context = Component._init;\n Component = context(Component._payload);\n workInProgress.type = Component;\n context = workInProgress.tag = resolveLazyComponentTag(Component);\n current = resolveDefaultProps(Component, current);\n switch (context) {\n case 0:\n workInProgress = updateFunctionComponent(\n null,\n workInProgress,\n Component,\n current,\n renderLanes\n );\n break a;\n case 1:\n workInProgress = updateClassComponent(\n null,\n workInProgress,\n Component,\n current,\n renderLanes\n );\n break a;\n case 11:\n workInProgress = updateForwardRef(\n null,\n workInProgress,\n Component,\n current,\n renderLanes\n );\n break a;\n case 14:\n workInProgress = updateMemoComponent(\n null,\n workInProgress,\n Component,\n resolveDefaultProps(Component.type, current),\n renderLanes\n );\n break a;\n }\n throw Error(\n \"Element type is invalid. Received a promise that resolves to: \" +\n Component +\n \". Lazy element type must resolve to a class or function.\"\n );\n }\n return workInProgress;\n case 0:\n return (\n (Component = workInProgress.type),\n (context = workInProgress.pendingProps),\n (context =\n workInProgress.elementType === Component\n ? context\n : resolveDefaultProps(Component, context)),\n updateFunctionComponent(\n current,\n workInProgress,\n Component,\n context,\n renderLanes\n )\n );\n case 1:\n return (\n (Component = workInProgress.type),\n (context = workInProgress.pendingProps),\n (context =\n workInProgress.elementType === Component\n ? context\n : resolveDefaultProps(Component, context)),\n updateClassComponent(\n current,\n workInProgress,\n Component,\n context,\n renderLanes\n )\n );\n case 3:\n pushHostRootContext(workInProgress);\n if (null === current)\n throw Error(\"Should have a current fiber. This is a bug in React.\");\n context = workInProgress.pendingProps;\n Component = workInProgress.memoizedState.element;\n cloneUpdateQueue(current, workInProgress);\n processUpdateQueue(workInProgress, context, null, renderLanes);\n context = workInProgress.memoizedState.element;\n context === Component\n ? (workInProgress = bailoutOnAlreadyFinishedWork(\n current,\n workInProgress,\n renderLanes\n ))\n : (reconcileChildren(current, workInProgress, context, renderLanes),\n (workInProgress = workInProgress.child));\n return workInProgress;\n case 5:\n return (\n pushHostContext(workInProgress),\n (Component = workInProgress.pendingProps.children),\n markRef(current, workInProgress),\n reconcileChildren(current, workInProgress, Component, renderLanes),\n workInProgress.child\n );\n case 6:\n return null;\n case 13:\n return updateSuspenseComponent(current, workInProgress, renderLanes);\n case 4:\n return (\n pushHostContainer(\n workInProgress,\n workInProgress.stateNode.containerInfo\n ),\n (Component = workInProgress.pendingProps),\n null === current\n ? (workInProgress.child = reconcileChildFibers(\n workInProgress,\n null,\n Component,\n renderLanes\n ))\n : reconcileChildren(current, workInProgress, Component, renderLanes),\n workInProgress.child\n );\n case 11:\n return (\n (Component = workInProgress.type),\n (context = workInProgress.pendingProps),\n (context =\n workInProgress.elementType === Component\n ? context\n : resolveDefaultProps(Component, context)),\n updateForwardRef(\n current,\n workInProgress,\n Component,\n context,\n renderLanes\n )\n );\n case 7:\n return (\n reconcileChildren(\n current,\n workInProgress,\n workInProgress.pendingProps,\n renderLanes\n ),\n workInProgress.child\n );\n case 8:\n return (\n reconcileChildren(\n current,\n workInProgress,\n workInProgress.pendingProps.children,\n renderLanes\n ),\n workInProgress.child\n );\n case 12:\n return (\n reconcileChildren(\n current,\n workInProgress,\n workInProgress.pendingProps.children,\n renderLanes\n ),\n workInProgress.child\n );\n case 10:\n a: {\n Component = workInProgress.type._context;\n context = workInProgress.pendingProps;\n hasContext = workInProgress.memoizedProps;\n var newValue = context.value;\n push(valueCursor, Component._currentValue2);\n Component._currentValue2 = newValue;\n if (null !== hasContext)\n if (objectIs(hasContext.value, newValue)) {\n if (\n hasContext.children === context.children &&\n !didPerformWorkStackCursor.current\n ) {\n workInProgress = bailoutOnAlreadyFinishedWork(\n current,\n workInProgress,\n renderLanes\n );\n break a;\n }\n } else\n for (\n hasContext = workInProgress.child,\n null !== hasContext && (hasContext.return = workInProgress);\n null !== hasContext;\n\n ) {\n var list = hasContext.dependencies;\n if (null !== list) {\n newValue = hasContext.child;\n for (\n var dependency = list.firstContext;\n null !== dependency;\n\n ) {\n if (dependency.context === Component) {\n if (1 === hasContext.tag) {\n dependency = createUpdate(-1, renderLanes & -renderLanes);\n dependency.tag = 2;\n var updateQueue = hasContext.updateQueue;\n if (null !== updateQueue) {\n updateQueue = updateQueue.shared;\n var pending = updateQueue.pending;\n null === pending\n ? (dependency.next = dependency)\n : ((dependency.next = pending.next),\n (pending.next = dependency));\n updateQueue.pending = dependency;\n }\n }\n hasContext.lanes |= renderLanes;\n dependency = hasContext.alternate;\n null !== dependency && (dependency.lanes |= renderLanes);\n scheduleContextWorkOnParentPath(\n hasContext.return,\n renderLanes,\n workInProgress\n );\n list.lanes |= renderLanes;\n break;\n }\n dependency = dependency.next;\n }\n } else if (10 === hasContext.tag)\n newValue =\n hasContext.type === workInProgress.type\n ? null\n : hasContext.child;\n else if (18 === hasContext.tag) {\n newValue = hasContext.return;\n if (null === newValue)\n throw Error(\n \"We just came from a parent so we must have had a parent. This is a bug in React.\"\n );\n newValue.lanes |= renderLanes;\n list = newValue.alternate;\n null !== list && (list.lanes |= renderLanes);\n scheduleContextWorkOnParentPath(\n newValue,\n renderLanes,\n workInProgress\n );\n newValue = hasContext.sibling;\n } else newValue = hasContext.child;\n if (null !== newValue) newValue.return = hasContext;\n else\n for (newValue = hasContext; null !== newValue; ) {\n if (newValue === workInProgress) {\n newValue = null;\n break;\n }\n hasContext = newValue.sibling;\n if (null !== hasContext) {\n hasContext.return = newValue.return;\n newValue = hasContext;\n break;\n }\n newValue = newValue.return;\n }\n hasContext = newValue;\n }\n reconcileChildren(\n current,\n workInProgress,\n context.children,\n renderLanes\n );\n workInProgress = workInProgress.child;\n }\n return workInProgress;\n case 9:\n return (\n (context = workInProgress.type),\n (Component = workInProgress.pendingProps.children),\n prepareToReadContext(workInProgress, renderLanes),\n (context = readContext(context)),\n (Component = Component(context)),\n (workInProgress.flags |= 1),\n reconcileChildren(current, workInProgress, Component, renderLanes),\n workInProgress.child\n );\n case 14:\n return (\n (Component = workInProgress.type),\n (context = resolveDefaultProps(Component, workInProgress.pendingProps)),\n (context = resolveDefaultProps(Component.type, context)),\n updateMemoComponent(\n current,\n workInProgress,\n Component,\n context,\n renderLanes\n )\n );\n case 15:\n return updateSimpleMemoComponent(\n current,\n workInProgress,\n workInProgress.type,\n workInProgress.pendingProps,\n renderLanes\n );\n case 17:\n return (\n (Component = workInProgress.type),\n (context = workInProgress.pendingProps),\n (context =\n workInProgress.elementType === Component\n ? context\n : resolveDefaultProps(Component, context)),\n resetSuspendedCurrentOnMountInLegacyMode(current, workInProgress),\n (workInProgress.tag = 1),\n isContextProvider(Component)\n ? ((current = !0), pushContextProvider(workInProgress))\n : (current = !1),\n prepareToReadContext(workInProgress, renderLanes),\n constructClassInstance(workInProgress, Component, context),\n mountClassInstance(workInProgress, Component, context, renderLanes),\n finishClassComponent(\n null,\n workInProgress,\n Component,\n !0,\n current,\n renderLanes\n )\n );\n case 19:\n return updateSuspenseListComponent(current, workInProgress, renderLanes);\n case 22:\n return updateOffscreenComponent(current, workInProgress, renderLanes);\n }\n throw Error(\n \"Unknown unit of work tag (\" +\n workInProgress.tag +\n \"). This error is likely caused by a bug in React. Please file an issue.\"\n );\n};\nfunction scheduleCallback$1(priorityLevel, callback) {\n return scheduleCallback(priorityLevel, callback);\n}\nfunction FiberNode(tag, pendingProps, key, mode) {\n this.tag = tag;\n this.key = key;\n this.sibling = this.child = this.return = this.stateNode = this.type = this.elementType = null;\n this.index = 0;\n this.ref = null;\n this.pendingProps = pendingProps;\n this.dependencies = this.memoizedState = this.updateQueue = this.memoizedProps = null;\n this.mode = mode;\n this.subtreeFlags = this.flags = 0;\n this.deletions = null;\n this.childLanes = this.lanes = 0;\n this.alternate = null;\n}\nfunction createFiber(tag, pendingProps, key, mode) {\n return new FiberNode(tag, pendingProps, key, mode);\n}\nfunction shouldConstruct(Component) {\n Component = Component.prototype;\n return !(!Component || !Component.isReactComponent);\n}\nfunction resolveLazyComponentTag(Component) {\n if (\"function\" === typeof Component)\n return shouldConstruct(Component) ? 1 : 0;\n if (void 0 !== Component && null !== Component) {\n Component = Component.$$typeof;\n if (Component === REACT_FORWARD_REF_TYPE) return 11;\n if (Component === REACT_MEMO_TYPE) return 14;\n }\n return 2;\n}\nfunction createWorkInProgress(current, pendingProps) {\n var workInProgress = current.alternate;\n null === workInProgress\n ? ((workInProgress = createFiber(\n current.tag,\n pendingProps,\n current.key,\n current.mode\n )),\n (workInProgress.elementType = current.elementType),\n (workInProgress.type = current.type),\n (workInProgress.stateNode = current.stateNode),\n (workInProgress.alternate = current),\n (current.alternate = workInProgress))\n : ((workInProgress.pendingProps = pendingProps),\n (workInProgress.type = current.type),\n (workInProgress.flags = 0),\n (workInProgress.subtreeFlags = 0),\n (workInProgress.deletions = null));\n workInProgress.flags = current.flags & 14680064;\n workInProgress.childLanes = current.childLanes;\n workInProgress.lanes = current.lanes;\n workInProgress.child = current.child;\n workInProgress.memoizedProps = current.memoizedProps;\n workInProgress.memoizedState = current.memoizedState;\n workInProgress.updateQueue = current.updateQueue;\n pendingProps = current.dependencies;\n workInProgress.dependencies =\n null === pendingProps\n ? null\n : { lanes: pendingProps.lanes, firstContext: pendingProps.firstContext };\n workInProgress.sibling = current.sibling;\n workInProgress.index = current.index;\n workInProgress.ref = current.ref;\n return workInProgress;\n}\nfunction createFiberFromTypeAndProps(\n type,\n key,\n pendingProps,\n owner,\n mode,\n lanes\n) {\n var fiberTag = 2;\n owner = type;\n if (\"function\" === typeof type) shouldConstruct(type) && (fiberTag = 1);\n else if (\"string\" === typeof type) fiberTag = 5;\n else\n a: switch (type) {\n case REACT_FRAGMENT_TYPE:\n return createFiberFromFragment(pendingProps.children, mode, lanes, key);\n case REACT_STRICT_MODE_TYPE:\n fiberTag = 8;\n mode |= 8;\n break;\n case REACT_PROFILER_TYPE:\n return (\n (type = createFiber(12, pendingProps, key, mode | 2)),\n (type.elementType = REACT_PROFILER_TYPE),\n (type.lanes = lanes),\n type\n );\n case REACT_SUSPENSE_TYPE:\n return (\n (type = createFiber(13, pendingProps, key, mode)),\n (type.elementType = REACT_SUSPENSE_TYPE),\n (type.lanes = lanes),\n type\n );\n case REACT_SUSPENSE_LIST_TYPE:\n return (\n (type = createFiber(19, pendingProps, key, mode)),\n (type.elementType = REACT_SUSPENSE_LIST_TYPE),\n (type.lanes = lanes),\n type\n );\n case REACT_OFFSCREEN_TYPE:\n return createFiberFromOffscreen(pendingProps, mode, lanes, key);\n default:\n if (\"object\" === typeof type && null !== type)\n switch (type.$$typeof) {\n case REACT_PROVIDER_TYPE:\n fiberTag = 10;\n break a;\n case REACT_CONTEXT_TYPE:\n fiberTag = 9;\n break a;\n case REACT_FORWARD_REF_TYPE:\n fiberTag = 11;\n break a;\n case REACT_MEMO_TYPE:\n fiberTag = 14;\n break a;\n case REACT_LAZY_TYPE:\n fiberTag = 16;\n owner = null;\n break a;\n }\n throw Error(\n \"Element type is invalid: expected a string (for built-in components) or a class/function (for composite components) but got: \" +\n ((null == type ? type : typeof type) + \".\")\n );\n }\n key = createFiber(fiberTag, pendingProps, key, mode);\n key.elementType = type;\n key.type = owner;\n key.lanes = lanes;\n return key;\n}\nfunction createFiberFromFragment(elements, mode, lanes, key) {\n elements = createFiber(7, elements, key, mode);\n elements.lanes = lanes;\n return elements;\n}\nfunction createFiberFromOffscreen(pendingProps, mode, lanes, key) {\n pendingProps = createFiber(22, pendingProps, key, mode);\n pendingProps.elementType = REACT_OFFSCREEN_TYPE;\n pendingProps.lanes = lanes;\n pendingProps.stateNode = { isHidden: !1 };\n return pendingProps;\n}\nfunction createFiberFromText(content, mode, lanes) {\n content = createFiber(6, content, null, mode);\n content.lanes = lanes;\n return content;\n}\nfunction createFiberFromPortal(portal, mode, lanes) {\n mode = createFiber(\n 4,\n null !== portal.children ? portal.children : [],\n portal.key,\n mode\n );\n mode.lanes = lanes;\n mode.stateNode = {\n containerInfo: portal.containerInfo,\n pendingChildren: null,\n implementation: portal.implementation\n };\n return mode;\n}\nfunction FiberRootNode(\n containerInfo,\n tag,\n hydrate,\n identifierPrefix,\n onRecoverableError\n) {\n this.tag = tag;\n this.containerInfo = containerInfo;\n this.finishedWork = this.pingCache = this.current = this.pendingChildren = null;\n this.timeoutHandle = -1;\n this.callbackNode = this.pendingContext = this.context = null;\n this.callbackPriority = 0;\n this.eventTimes = createLaneMap(0);\n this.expirationTimes = createLaneMap(-1);\n this.entangledLanes = this.finishedLanes = this.mutableReadLanes = this.expiredLanes = this.pingedLanes = this.suspendedLanes = this.pendingLanes = 0;\n this.entanglements = createLaneMap(0);\n this.identifierPrefix = identifierPrefix;\n this.onRecoverableError = onRecoverableError;\n}\nfunction createPortal(children, containerInfo, implementation) {\n var key =\n 3 < arguments.length && void 0 !== arguments[3] ? arguments[3] : null;\n return {\n $$typeof: REACT_PORTAL_TYPE,\n key: null == key ? null : \"\" + key,\n children: children,\n containerInfo: containerInfo,\n implementation: implementation\n };\n}\nfunction findHostInstance(component) {\n var fiber = component._reactInternals;\n if (void 0 === fiber) {\n if (\"function\" === typeof component.render)\n throw Error(\"Unable to find node on an unmounted component.\");\n component = Object.keys(component).join(\",\");\n throw Error(\n \"Argument appears to not be a ReactComponent. Keys: \" + component\n );\n }\n component = findCurrentHostFiber(fiber);\n return null === component ? null : component.stateNode;\n}\nfunction updateContainer(element, container, parentComponent, callback) {\n var current = container.current,\n eventTime = requestEventTime(),\n lane = requestUpdateLane(current);\n a: if (parentComponent) {\n parentComponent = parentComponent._reactInternals;\n b: {\n if (\n getNearestMountedFiber(parentComponent) !== parentComponent ||\n 1 !== parentComponent.tag\n )\n throw Error(\n \"Expected subtree parent to be a mounted class component. This error is likely caused by a bug in React. Please file an issue.\"\n );\n var JSCompiler_inline_result = parentComponent;\n do {\n switch (JSCompiler_inline_result.tag) {\n case 3:\n JSCompiler_inline_result =\n JSCompiler_inline_result.stateNode.context;\n break b;\n case 1:\n if (isContextProvider(JSCompiler_inline_result.type)) {\n JSCompiler_inline_result =\n JSCompiler_inline_result.stateNode\n .__reactInternalMemoizedMergedChildContext;\n break b;\n }\n }\n JSCompiler_inline_result = JSCompiler_inline_result.return;\n } while (null !== JSCompiler_inline_result);\n throw Error(\n \"Found unexpected detached subtree parent. This error is likely caused by a bug in React. Please file an issue.\"\n );\n }\n if (1 === parentComponent.tag) {\n var Component = parentComponent.type;\n if (isContextProvider(Component)) {\n parentComponent = processChildContext(\n parentComponent,\n Component,\n JSCompiler_inline_result\n );\n break a;\n }\n }\n parentComponent = JSCompiler_inline_result;\n } else parentComponent = emptyContextObject;\n null === container.context\n ? (container.context = parentComponent)\n : (container.pendingContext = parentComponent);\n container = createUpdate(eventTime, lane);\n container.payload = { element: element };\n callback = void 0 === callback ? null : callback;\n null !== callback && (container.callback = callback);\n element = enqueueUpdate(current, container, lane);\n null !== element &&\n (scheduleUpdateOnFiber(element, current, lane, eventTime),\n entangleTransitions(element, current, lane));\n return lane;\n}\nfunction emptyFindFiberByHostInstance() {\n return null;\n}\nfunction findNodeHandle(componentOrHandle) {\n if (null == componentOrHandle) return null;\n if (\"number\" === typeof componentOrHandle) return componentOrHandle;\n if (componentOrHandle._nativeTag) return componentOrHandle._nativeTag;\n if (componentOrHandle.canonical && componentOrHandle.canonical._nativeTag)\n return componentOrHandle.canonical._nativeTag;\n componentOrHandle = findHostInstance(componentOrHandle);\n return null == componentOrHandle\n ? componentOrHandle\n : componentOrHandle.canonical\n ? componentOrHandle.canonical._nativeTag\n : componentOrHandle._nativeTag;\n}\nfunction onRecoverableError(error) {\n console.error(error);\n}\nbatchedUpdatesImpl = function(fn, a) {\n var prevExecutionContext = executionContext;\n executionContext |= 1;\n try {\n return fn(a);\n } finally {\n (executionContext = prevExecutionContext),\n 0 === executionContext &&\n ((workInProgressRootRenderTargetTime = now() + 500),\n includesLegacySyncCallbacks && flushSyncCallbacks());\n }\n};\nvar roots = new Map(),\n devToolsConfig$jscomp$inline_938 = {\n findFiberByHostInstance: getInstanceFromInstance,\n bundleType: 0,\n version: \"18.2.0-next-9e3b772b8-20220608\",\n rendererPackageName: \"react-native-renderer\",\n rendererConfig: {\n getInspectorDataForViewTag: function() {\n throw Error(\n \"getInspectorDataForViewTag() is not available in production\"\n );\n },\n getInspectorDataForViewAtPoint: function() {\n throw Error(\n \"getInspectorDataForViewAtPoint() is not available in production.\"\n );\n }.bind(null, findNodeHandle)\n }\n };\nvar internals$jscomp$inline_1180 = {\n bundleType: devToolsConfig$jscomp$inline_938.bundleType,\n version: devToolsConfig$jscomp$inline_938.version,\n rendererPackageName: devToolsConfig$jscomp$inline_938.rendererPackageName,\n rendererConfig: devToolsConfig$jscomp$inline_938.rendererConfig,\n overrideHookState: null,\n overrideHookStateDeletePath: null,\n overrideHookStateRenamePath: null,\n overrideProps: null,\n overridePropsDeletePath: null,\n overridePropsRenamePath: null,\n setErrorHandler: null,\n setSuspenseHandler: null,\n scheduleUpdate: null,\n currentDispatcherRef: ReactSharedInternals.ReactCurrentDispatcher,\n findHostInstanceByFiber: function(fiber) {\n fiber = findCurrentHostFiber(fiber);\n return null === fiber ? null : fiber.stateNode;\n },\n findFiberByHostInstance:\n devToolsConfig$jscomp$inline_938.findFiberByHostInstance ||\n emptyFindFiberByHostInstance,\n findHostInstancesForRefresh: null,\n scheduleRefresh: null,\n scheduleRoot: null,\n setRefreshHandler: null,\n getCurrentFiber: null,\n reconcilerVersion: \"18.2.0-next-9e3b772b8-20220608\"\n};\nif (\"undefined\" !== typeof __REACT_DEVTOOLS_GLOBAL_HOOK__) {\n var hook$jscomp$inline_1181 = __REACT_DEVTOOLS_GLOBAL_HOOK__;\n if (\n !hook$jscomp$inline_1181.isDisabled &&\n hook$jscomp$inline_1181.supportsFiber\n )\n try {\n (rendererID = hook$jscomp$inline_1181.inject(\n internals$jscomp$inline_1180\n )),\n (injectedHook = hook$jscomp$inline_1181);\n } catch (err) {}\n}\nexports.createPortal = function(children, containerTag) {\n return createPortal(\n children,\n containerTag,\n null,\n 2 < arguments.length && void 0 !== arguments[2] ? arguments[2] : null\n );\n};\nexports.dispatchCommand = function(handle, command, args) {\n null != handle._nativeTag &&\n (null != handle._internalInstanceHandle\n ? ((handle = handle._internalInstanceHandle.stateNode),\n null != handle &&\n nativeFabricUIManager.dispatchCommand(handle.node, command, args))\n : ReactNativePrivateInterface.UIManager.dispatchViewManagerCommand(\n handle._nativeTag,\n command,\n args\n ));\n};\nexports.findHostInstance_DEPRECATED = function(componentOrHandle) {\n if (null == componentOrHandle) return null;\n if (componentOrHandle._nativeTag) return componentOrHandle;\n if (componentOrHandle.canonical && componentOrHandle.canonical._nativeTag)\n return componentOrHandle.canonical;\n componentOrHandle = findHostInstance(componentOrHandle);\n return null == componentOrHandle\n ? componentOrHandle\n : componentOrHandle.canonical\n ? componentOrHandle.canonical\n : componentOrHandle;\n};\nexports.findNodeHandle = findNodeHandle;\nexports.getInspectorDataForInstance = void 0;\nexports.render = function(element, containerTag, callback, concurrentRoot) {\n var root = roots.get(containerTag);\n root ||\n ((root = concurrentRoot ? 1 : 0),\n (concurrentRoot = new FiberRootNode(\n containerTag,\n root,\n !1,\n \"\",\n onRecoverableError\n )),\n (root = createFiber(3, null, null, 1 === root ? 1 : 0)),\n (concurrentRoot.current = root),\n (root.stateNode = concurrentRoot),\n (root.memoizedState = {\n element: null,\n isDehydrated: !1,\n cache: null,\n transitions: null,\n pendingSuspenseBoundaries: null\n }),\n initializeUpdateQueue(root),\n (root = concurrentRoot),\n roots.set(containerTag, root));\n updateContainer(element, root, null, callback);\n a: if (((element = root.current), element.child))\n switch (element.child.tag) {\n case 5:\n element = element.child.stateNode.canonical;\n break a;\n default:\n element = element.child.stateNode;\n }\n else element = null;\n return element;\n};\nexports.sendAccessibilityEvent = function(handle, eventType) {\n null != handle._nativeTag &&\n (null != handle._internalInstanceHandle\n ? ((handle = handle._internalInstanceHandle.stateNode),\n null != handle &&\n nativeFabricUIManager.sendAccessibilityEvent(handle.node, eventType))\n : ReactNativePrivateInterface.legacySendAccessibilityEvent(\n handle._nativeTag,\n eventType\n ));\n};\nexports.stopSurface = function(containerTag) {\n var root = roots.get(containerTag);\n root &&\n updateContainer(null, root, null, function() {\n roots.delete(containerTag);\n });\n};\nexports.unmountComponentAtNode = function(containerTag) {\n this.stopSurface(containerTag);\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 * @flow strict-local\n */\n\nimport '../Core/InitializeCore';\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 * @flow strict-local\n */\n\n/**\n * Sets up global variables typical in most JavaScript environments.\n *\n * 1. Global timers (via `setTimeout` etc).\n * 2. Global console object.\n * 3. Hooks for printing stack traces with source maps.\n *\n * Leaves enough room in the environment for implementing your own:\n *\n * 1. Require system.\n * 2. Bridged modules.\n *\n */\n\n'use strict';\n\nconst start = Date.now();\n\nrequire('./setUpGlobals');\nrequire('./setUpDOM');\nrequire('./setUpPerformance');\nrequire('./setUpErrorHandling');\nrequire('./polyfillPromise');\nrequire('./setUpRegeneratorRuntime');\nrequire('./setUpTimers');\nrequire('./setUpXHR');\nrequire('./setUpAlert');\nrequire('./setUpNavigator');\nrequire('./setUpBatchedBridge');\nrequire('./setUpSegmentFetcher');\nif (__DEV__) {\n require('./checkNativeVersion');\n require('./setUpDeveloperTools');\n require('../LogBox/LogBox').default.install();\n}\n\nrequire('../ReactNative/AppRegistry');\n\nconst GlobalPerformanceLogger = require('../Utilities/GlobalPerformanceLogger');\n// We could just call GlobalPerformanceLogger.markPoint at the top of the file,\n// but then we'd be excluding the time it took to require the logger.\n// Instead, we just use Date.now and backdate the timestamp.\nGlobalPerformanceLogger.markPoint(\n 'initializeCore_start',\n GlobalPerformanceLogger.currentTimestamp() - (Date.now() - start),\n);\nGlobalPerformanceLogger.markPoint('initializeCore_end');\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 * @flow strict\n * @format\n */\n\n'use strict';\n\n/**\n * Sets up global variables for React Native.\n * You can use this module directly, or just require InitializeCore.\n */\nif (global.window === undefined) {\n // $FlowExpectedError[cannot-write] The global isn't writable anywhere but here, where we define it.\n global.window = global;\n}\n\nif (global.self === undefined) {\n // $FlowExpectedError[cannot-write] The global isn't writable anywhere but here, where we define it.\n global.self = global;\n}\n\n// Set up process\n// $FlowExpectedError[cannot-write] The global isn't writable anywhere but here, where we define it.\nglobal.process = global.process || {};\n// $FlowExpectedError[cannot-write] The global isn't writable anywhere but here, where we define it.\nglobal.process.env = global.process.env || {};\nif (!global.process.env.NODE_ENV) {\n // $FlowExpectedError[cannot-write] The global isn't writable anywhere but here, where we define it.\n global.process.env.NODE_ENV = __DEV__ ? 'development' : 'production';\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 * @flow strict\n * @format\n */\n\nimport DOMRect from '../DOM/Geometry/DOMRect';\nimport DOMRectReadOnly from '../DOM/Geometry/DOMRectReadOnly';\n\n// $FlowExpectedError[cannot-write] The global isn't writable anywhere but here, where we define it\nglobal.DOMRect = DOMRect;\n\n// $FlowExpectedError[cannot-write] The global isn't writable anywhere but here, where we define it\nglobal.DOMRectReadOnly = DOMRectReadOnly;\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 * @flow strict\n * @format\n */\n\n/**\n * The JSDoc comments in this file have been extracted from [DOMRect](https://developer.mozilla.org/en-US/docs/Web/API/DOMRect).\n * Content by [Mozilla Contributors](https://developer.mozilla.org/en-US/docs/Web/API/DOMRect/contributors.txt),\n * licensed under [CC-BY-SA 2.5](https://creativecommons.org/licenses/by-sa/2.5/).\n */\n\nimport DOMRectReadOnly, {type DOMRectLike} from './DOMRectReadOnly';\n\n// flowlint unsafe-getters-setters:off\n\n/**\n * A `DOMRect` describes the size and position of a rectangle.\n * The type of box represented by the `DOMRect` is specified by the method or property that returned it.\n *\n * This is a (mostly) spec-compliant version of `DOMRect` (https://developer.mozilla.org/en-US/docs/Web/API/DOMRect).\n */\nexport default class DOMRect extends DOMRectReadOnly {\n /**\n * The x coordinate of the `DOMRect`'s origin.\n */\n get x(): number {\n return this.__getInternalX();\n }\n\n set x(x: ?number) {\n this.__setInternalX(x);\n }\n\n /**\n * The y coordinate of the `DOMRect`'s origin.\n */\n get y(): number {\n return this.__getInternalY();\n }\n\n set y(y: ?number) {\n this.__setInternalY(y);\n }\n\n /**\n * The width of the `DOMRect`.\n */\n get width(): number {\n return this.__getInternalWidth();\n }\n\n set width(width: ?number) {\n this.__setInternalWidth(width);\n }\n\n /**\n * The height of the `DOMRect`.\n */\n get height(): number {\n return this.__getInternalHeight();\n }\n\n set height(height: ?number) {\n this.__setInternalHeight(height);\n }\n\n /**\n * Creates a new `DOMRect` object with a given location and dimensions.\n */\n static fromRect(rect?: ?DOMRectLike): DOMRect {\n if (!rect) {\n return new DOMRect();\n }\n\n return new DOMRect(rect.x, rect.y, rect.width, rect.height);\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 * @flow strict\n * @format\n */\n\n/**\n * The JSDoc comments in this file have been extracted from [DOMRectReadOnly](https://developer.mozilla.org/en-US/docs/Web/API/DOMRectReadOnly).\n * Content by [Mozilla Contributors](https://developer.mozilla.org/en-US/docs/Web/API/DOMRectReadOnly/contributors.txt),\n * licensed under [CC-BY-SA 2.5](https://creativecommons.org/licenses/by-sa/2.5/).\n */\n\n// flowlint sketchy-null:off, unsafe-getters-setters:off\n\nexport interface DOMRectLike {\n x?: ?number;\n y?: ?number;\n width?: ?number;\n height?: ?number;\n}\n\nfunction castToNumber(value: mixed): number {\n return value ? Number(value) : 0;\n}\n\n/**\n * The `DOMRectReadOnly` interface specifies the standard properties used by `DOMRect` to define a rectangle whose properties are immutable.\n *\n * This is a (mostly) spec-compliant version of `DOMRectReadOnly` (https://developer.mozilla.org/en-US/docs/Web/API/DOMRectReadOnly).\n */\nexport default class DOMRectReadOnly {\n _x: number;\n _y: number;\n _width: number;\n _height: number;\n\n constructor(x: ?number, y: ?number, width: ?number, height: ?number) {\n this.__setInternalX(x);\n this.__setInternalY(y);\n this.__setInternalWidth(width);\n this.__setInternalHeight(height);\n }\n\n /**\n * The x coordinate of the `DOMRectReadOnly`'s origin.\n */\n get x(): number {\n return this._x;\n }\n\n /**\n * The y coordinate of the `DOMRectReadOnly`'s origin.\n */\n get y(): number {\n return this._y;\n }\n\n /**\n * The width of the `DOMRectReadOnly`.\n */\n get width(): number {\n return this._width;\n }\n\n /**\n * The height of the `DOMRectReadOnly`.\n */\n get height(): number {\n return this._height;\n }\n\n /**\n * Returns the top coordinate value of the `DOMRect` (has the same value as `y`, or `y + height` if `height` is negative).\n */\n get top(): number {\n const height = this._height;\n const y = this._y;\n\n if (height < 0) {\n return y + height;\n }\n\n return y;\n }\n\n /**\n * Returns the right coordinate value of the `DOMRect` (has the same value as ``x + width`, or `x` if `width` is negative).\n */\n get right(): number {\n const width = this._width;\n const x = this._x;\n\n if (width < 0) {\n return x;\n }\n\n return x + width;\n }\n\n /**\n * Returns the bottom coordinate value of the `DOMRect` (has the same value as `y + height`, or `y` if `height` is negative).\n */\n get bottom(): number {\n const height = this._height;\n const y = this._y;\n\n if (height < 0) {\n return y;\n }\n\n return y + height;\n }\n\n /**\n * Returns the left coordinate value of the `DOMRect` (has the same value as `x`, or `x + width` if `width` is negative).\n */\n get left(): number {\n const width = this._width;\n const x = this._x;\n\n if (width < 0) {\n return x + width;\n }\n\n return x;\n }\n\n toJSON(): {\n x: number,\n y: number,\n width: number,\n height: number,\n top: number,\n left: number,\n bottom: number,\n right: number,\n } {\n const {x, y, width, height, top, left, bottom, right} = this;\n return {x, y, width, height, top, left, bottom, right};\n }\n\n /**\n * Creates a new `DOMRectReadOnly` object with a given location and dimensions.\n */\n static fromRect(rect?: ?DOMRectLike): DOMRectReadOnly {\n if (!rect) {\n return new DOMRectReadOnly();\n }\n\n return new DOMRectReadOnly(rect.x, rect.y, rect.width, rect.height);\n }\n\n __getInternalX(): number {\n return this._x;\n }\n\n __getInternalY(): number {\n return this._y;\n }\n\n __getInternalWidth(): number {\n return this._width;\n }\n\n __getInternalHeight(): number {\n return this._height;\n }\n\n __setInternalX(x: ?number) {\n this._x = castToNumber(x);\n }\n\n __setInternalY(y: ?number) {\n this._y = castToNumber(y);\n }\n\n __setInternalWidth(width: ?number) {\n this._width = castToNumber(width);\n }\n\n __setInternalHeight(height: ?number) {\n this._height = castToNumber(height);\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 * @flow strict\n * @format\n */\n\nimport NativePerformance from '../WebPerformance/NativePerformance';\nimport Performance from '../WebPerformance/Performance';\n\n// In case if the native implementation of the Performance API is available, use it,\n// otherwise fall back to the legacy/default one, which only defines 'Performance.now()'\nif (NativePerformance) {\n // $FlowExpectedError[cannot-write]\n global.performance = new Performance();\n} else {\n if (!global.performance) {\n // $FlowExpectedError[cannot-write]\n global.performance = ({\n now: function () {\n const performanceNow = global.nativePerformanceNow || Date.now;\n return performanceNow();\n },\n }: {now?: () => number});\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 * @flow strict\n * @format\n */\n\nimport type {TurboModule} from '../TurboModule/RCTExport';\n\nimport * as TurboModuleRegistry from '../TurboModule/TurboModuleRegistry';\n\nexport type NativeMemoryInfo = {[key: string]: ?number};\n\nexport type ReactNativeStartupTiming = {[key: string]: ?number};\n\nexport interface Spec extends TurboModule {\n +mark: (name: string, startTime: number) => void;\n +measure: (\n name: string,\n startTime: number,\n endTime: number,\n duration?: number,\n startMark?: string,\n endMark?: string,\n ) => void;\n +getSimpleMemoryInfo: () => NativeMemoryInfo;\n +getReactNativeStartupTiming: () => ReactNativeStartupTiming;\n}\n\nexport default (TurboModuleRegistry.get('NativePerformanceCxx'): ?Spec);\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 * @flow strict\n */\n\n// flowlint unsafe-getters-setters:off\n\nimport type {HighResTimeStamp, PerformanceEntryType} from './PerformanceEntry';\nimport type {PerformanceEntryList} from './PerformanceObserver';\n\nimport warnOnce from '../Utilities/warnOnce';\nimport EventCounts from './EventCounts';\nimport MemoryInfo from './MemoryInfo';\nimport NativePerformance from './NativePerformance';\nimport NativePerformanceObserver from './NativePerformanceObserver';\nimport {ALWAYS_LOGGED_ENTRY_TYPES, PerformanceEntry} from './PerformanceEntry';\nimport {warnNoNativePerformanceObserver} from './PerformanceObserver';\nimport {\n performanceEntryTypeToRaw,\n rawToPerformanceEntry,\n} from './RawPerformanceEntry';\nimport {RawPerformanceEntryTypeValues} from './RawPerformanceEntry';\nimport ReactNativeStartupTiming from './ReactNativeStartupTiming';\n\ntype DetailType = mixed;\n\nexport type PerformanceMarkOptions = {\n detail?: DetailType,\n startTime?: HighResTimeStamp,\n};\n\ndeclare var global: {\n // This value is defined directly via JSI, if available.\n +nativePerformanceNow?: ?() => number,\n};\n\nconst getCurrentTimeStamp: () => HighResTimeStamp = global.nativePerformanceNow\n ? global.nativePerformanceNow\n : () => Date.now();\n\n// We want some of the performance entry types to be always logged,\n// even if they are not currently observed - this is either to be able to\n// retrieve them at any time via Performance.getEntries* or to refer by other entries\n// (such as when measures may refer to marks, even if the latter are not observed)\nif (NativePerformanceObserver?.setIsBuffered) {\n NativePerformanceObserver?.setIsBuffered(\n ALWAYS_LOGGED_ENTRY_TYPES.map(performanceEntryTypeToRaw),\n true,\n );\n}\n\nexport class PerformanceMark extends PerformanceEntry {\n detail: DetailType;\n\n constructor(markName: string, markOptions?: PerformanceMarkOptions) {\n super({\n name: markName,\n entryType: 'mark',\n startTime: markOptions?.startTime ?? getCurrentTimeStamp(),\n duration: 0,\n });\n\n if (markOptions) {\n this.detail = markOptions.detail;\n }\n }\n}\n\nexport type TimeStampOrName = HighResTimeStamp | string;\n\nexport type PerformanceMeasureOptions = {\n detail?: DetailType,\n start?: TimeStampOrName,\n end?: TimeStampOrName,\n duration?: HighResTimeStamp,\n};\n\nexport class PerformanceMeasure extends PerformanceEntry {\n detail: DetailType;\n\n constructor(measureName: string, measureOptions?: PerformanceMeasureOptions) {\n super({\n name: measureName,\n entryType: 'measure',\n startTime: 0,\n duration: measureOptions?.duration ?? 0,\n });\n\n if (measureOptions) {\n this.detail = measureOptions.detail;\n }\n }\n}\n\nfunction warnNoNativePerformance() {\n warnOnce(\n 'missing-native-performance',\n 'Missing native implementation of Performance',\n );\n}\n\n/**\n * Partial implementation of the Performance interface for RN,\n * corresponding to the standard in\n * https://www.w3.org/TR/user-timing/#extensions-performance-interface\n */\nexport default class Performance {\n eventCounts: EventCounts = new EventCounts();\n\n // Get the current JS memory information.\n get memory(): MemoryInfo {\n if (NativePerformance?.getSimpleMemoryInfo) {\n // JSI API implementations may have different variants of names for the JS\n // heap information we need here. We will parse the result based on our\n // guess of the implementation for now.\n const memoryInfo = NativePerformance.getSimpleMemoryInfo();\n if (memoryInfo.hasOwnProperty('hermes_heapSize')) {\n // We got memory information from Hermes\n const {\n hermes_heapSize: totalJSHeapSize,\n hermes_allocatedBytes: usedJSHeapSize,\n } = memoryInfo;\n\n return new MemoryInfo({\n jsHeapSizeLimit: null, // We don't know the heap size limit from Hermes.\n totalJSHeapSize,\n usedJSHeapSize,\n });\n } else {\n // JSC and V8 has no native implementations for memory information in JSI::Instrumentation\n return new MemoryInfo();\n }\n }\n\n return new MemoryInfo();\n }\n\n // Startup metrics is not used in web, but only in React Native.\n get reactNativeStartupTiming(): ReactNativeStartupTiming {\n if (NativePerformance?.getReactNativeStartupTiming) {\n const {\n startTime,\n endTime,\n initializeRuntimeStart,\n initializeRuntimeEnd,\n executeJavaScriptBundleEntryPointStart,\n executeJavaScriptBundleEntryPointEnd,\n } = NativePerformance.getReactNativeStartupTiming();\n return new ReactNativeStartupTiming({\n startTime,\n endTime,\n initializeRuntimeStart,\n initializeRuntimeEnd,\n executeJavaScriptBundleEntryPointStart,\n executeJavaScriptBundleEntryPointEnd,\n });\n }\n return new ReactNativeStartupTiming();\n }\n\n mark(\n markName: string,\n markOptions?: PerformanceMarkOptions,\n ): PerformanceMark {\n const mark = new PerformanceMark(markName, markOptions);\n\n if (NativePerformance?.mark) {\n NativePerformance.mark(markName, mark.startTime);\n } else {\n warnNoNativePerformance();\n }\n\n return mark;\n }\n\n clearMarks(markName?: string): void {\n if (!NativePerformanceObserver?.clearEntries) {\n warnNoNativePerformanceObserver();\n return;\n }\n\n NativePerformanceObserver?.clearEntries(\n RawPerformanceEntryTypeValues.MARK,\n markName,\n );\n }\n\n measure(\n measureName: string,\n startMarkOrOptions?: string | PerformanceMeasureOptions,\n endMark?: string,\n ): PerformanceMeasure {\n let options;\n let startMarkName,\n endMarkName = endMark,\n duration,\n startTime = 0,\n endTime = 0;\n\n if (typeof startMarkOrOptions === 'string') {\n startMarkName = startMarkOrOptions;\n } else if (startMarkOrOptions !== undefined) {\n options = startMarkOrOptions;\n if (endMark !== undefined) {\n throw new TypeError(\n \"Performance.measure: Can't have both options and endMark\",\n );\n }\n if (options.start === undefined && options.end === undefined) {\n throw new TypeError(\n 'Performance.measure: Must have at least one of start/end specified in options',\n );\n }\n if (\n options.start !== undefined &&\n options.end !== undefined &&\n options.duration !== undefined\n ) {\n throw new TypeError(\n \"Performance.measure: Can't have both start/end and duration explicitly in options\",\n );\n }\n\n if (typeof options.start === 'number') {\n startTime = options.start;\n } else {\n startMarkName = options.start;\n }\n\n if (typeof options.end === 'number') {\n endTime = options.end;\n } else {\n endMarkName = options.end;\n }\n\n duration = options.duration ?? duration;\n }\n\n const measure = new PerformanceMeasure(measureName, options);\n\n if (NativePerformance?.measure) {\n NativePerformance.measure(\n measureName,\n startTime,\n endTime,\n duration,\n startMarkName,\n endMarkName,\n );\n } else {\n warnNoNativePerformance();\n }\n\n return measure;\n }\n\n clearMeasures(measureName?: string): void {\n if (!NativePerformanceObserver?.clearEntries) {\n warnNoNativePerformanceObserver();\n return;\n }\n\n NativePerformanceObserver?.clearEntries(\n RawPerformanceEntryTypeValues.MEASURE,\n measureName,\n );\n }\n\n /**\n * Returns a double, measured in milliseconds.\n * https://developer.mozilla.org/en-US/docs/Web/API/Performance/now\n */\n now(): HighResTimeStamp {\n return getCurrentTimeStamp();\n }\n\n /**\n * An extension that allows to get back to JS all currently logged marks/measures\n * (in our case, be it from JS or native), see\n * https://www.w3.org/TR/performance-timeline/#extensions-to-the-performance-interface\n */\n getEntries(): PerformanceEntryList {\n if (!NativePerformanceObserver?.getEntries) {\n warnNoNativePerformanceObserver();\n return [];\n }\n return NativePerformanceObserver.getEntries().map(rawToPerformanceEntry);\n }\n\n getEntriesByType(entryType: PerformanceEntryType): PerformanceEntryList {\n if (!ALWAYS_LOGGED_ENTRY_TYPES.includes(entryType)) {\n console.warn(\n `Performance.getEntriesByType: Only valid for ${JSON.stringify(\n ALWAYS_LOGGED_ENTRY_TYPES,\n )} entry types, got ${entryType}`,\n );\n return [];\n }\n\n if (!NativePerformanceObserver?.getEntries) {\n warnNoNativePerformanceObserver();\n return [];\n }\n return NativePerformanceObserver.getEntries(\n performanceEntryTypeToRaw(entryType),\n ).map(rawToPerformanceEntry);\n }\n\n getEntriesByName(\n entryName: string,\n entryType?: PerformanceEntryType,\n ): PerformanceEntryList {\n if (\n entryType !== undefined &&\n !ALWAYS_LOGGED_ENTRY_TYPES.includes(entryType)\n ) {\n console.warn(\n `Performance.getEntriesByName: Only valid for ${JSON.stringify(\n ALWAYS_LOGGED_ENTRY_TYPES,\n )} entry types, got ${entryType}`,\n );\n return [];\n }\n\n if (!NativePerformanceObserver?.getEntries) {\n warnNoNativePerformanceObserver();\n return [];\n }\n return NativePerformanceObserver.getEntries(\n entryType != null ? performanceEntryTypeToRaw(entryType) : undefined,\n entryName,\n ).map(rawToPerformanceEntry);\n }\n}\n","function _readOnlyError(name) {\n throw new TypeError(\"\\\"\" + name + \"\\\" is read-only\");\n}\nmodule.exports = _readOnlyError, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This 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 * @flow strict\n */\n\n'use strict';\n\nconst warnedKeys: {[string]: boolean, ...} = {};\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: string, message: string) {\n if (warnedKeys[key]) {\n return;\n }\n\n console.warn(message);\n\n warnedKeys[key] = true;\n}\n\nmodule.exports = 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 * @flow strict\n * @format\n */\n\nimport NativePerformanceObserver from './NativePerformanceObserver';\nimport {warnNoNativePerformanceObserver} from './PerformanceObserver';\n\ntype EventCountsForEachCallbackType =\n | (() => void)\n | ((value: number) => void)\n | ((value: number, key: string) => void)\n | ((value: number, key: string, map: Map) => void);\n\nlet cachedEventCounts: ?Map;\n\nfunction getCachedEventCounts(): Map {\n if (cachedEventCounts) {\n return cachedEventCounts;\n }\n if (!NativePerformanceObserver) {\n warnNoNativePerformanceObserver();\n return new Map();\n }\n\n cachedEventCounts = new Map(\n NativePerformanceObserver.getEventCounts(),\n );\n // $FlowFixMe[incompatible-call]\n global.queueMicrotask(() => {\n // To be consistent with the calls to the API from the same task,\n // but also not to refetch the data from native too often,\n // schedule to invalidate the cache later,\n // after the current task is guaranteed to have finished.\n cachedEventCounts = null;\n });\n return cachedEventCounts ?? new Map();\n}\n/**\n * Implementation of the EventCounts Web Performance API\n * corresponding to the standard in\n * https://www.w3.org/TR/event-timing/#eventcounts\n */\nexport default class EventCounts {\n // flowlint unsafe-getters-setters:off\n get size(): number {\n return getCachedEventCounts().size;\n }\n\n entries(): Iterator<[string, number]> {\n return getCachedEventCounts().entries();\n }\n\n forEach(callback: EventCountsForEachCallbackType): void {\n return getCachedEventCounts().forEach(callback);\n }\n\n get(key: string): ?number {\n return getCachedEventCounts().get(key);\n }\n\n has(key: string): boolean {\n return getCachedEventCounts().has(key);\n }\n\n keys(): Iterator {\n return getCachedEventCounts().keys();\n }\n\n values(): Iterator {\n return getCachedEventCounts().values();\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 * @flow strict\n * @format\n */\n\nimport type {TurboModule} from '../TurboModule/RCTExport';\n\nimport * as TurboModuleRegistry from '../TurboModule/TurboModuleRegistry';\n\nexport type RawPerformanceEntryType = number;\n\nexport type RawPerformanceEntry = {|\n name: string,\n entryType: RawPerformanceEntryType,\n startTime: number,\n duration: number,\n // For \"event\" entries only:\n processingStart?: number,\n processingEnd?: number,\n interactionId?: number,\n|};\n\nexport type GetPendingEntriesResult = {|\n entries: $ReadOnlyArray,\n droppedEntriesCount: number,\n|};\n\nexport interface Spec extends TurboModule {\n +startReporting: (entryType: RawPerformanceEntryType) => void;\n +stopReporting: (entryType: RawPerformanceEntryType) => void;\n +setIsBuffered: (\n entryTypes: $ReadOnlyArray,\n isBuffered: boolean,\n ) => void;\n +popPendingEntries: () => GetPendingEntriesResult;\n +setOnPerformanceEntryCallback: (callback?: () => void) => void;\n +logRawEntry: (entry: RawPerformanceEntry) => void;\n +getEventCounts: () => $ReadOnlyArray<[string, number]>;\n +setDurationThreshold: (\n entryType: RawPerformanceEntryType,\n durationThreshold: number,\n ) => void;\n +clearEntries: (\n entryType: RawPerformanceEntryType,\n entryName?: string,\n ) => void;\n +getEntries: (\n entryType?: RawPerformanceEntryType,\n entryName?: string,\n ) => $ReadOnlyArray;\n}\n\nexport default (TurboModuleRegistry.get(\n 'NativePerformanceObserverCxx',\n): ?Spec);\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 * @flow strict\n */\n\nimport type {HighResTimeStamp, PerformanceEntryType} from './PerformanceEntry';\n\nimport warnOnce from '../Utilities/warnOnce';\nimport NativePerformanceObserver from './NativePerformanceObserver';\nimport {PerformanceEntry} from './PerformanceEntry';\nimport {\n performanceEntryTypeToRaw,\n rawToPerformanceEntry,\n} from './RawPerformanceEntry';\n\nexport type PerformanceEntryList = $ReadOnlyArray;\n\nexport class PerformanceObserverEntryList {\n _entries: PerformanceEntryList;\n\n constructor(entries: PerformanceEntryList) {\n this._entries = entries;\n }\n\n getEntries(): PerformanceEntryList {\n return this._entries;\n }\n\n getEntriesByType(type: PerformanceEntryType): PerformanceEntryList {\n return this._entries.filter(entry => entry.entryType === type);\n }\n\n getEntriesByName(\n name: string,\n type?: PerformanceEntryType,\n ): PerformanceEntryList {\n if (type === undefined) {\n return this._entries.filter(entry => entry.name === name);\n } else {\n return this._entries.filter(\n entry => entry.name === name && entry.entryType === type,\n );\n }\n }\n}\n\nexport type PerformanceObserverCallback = (\n list: PerformanceObserverEntryList,\n observer: PerformanceObserver,\n // The number of buffered entries which got dropped from the buffer due to the buffer being full:\n droppedEntryCount?: number,\n) => void;\n\nexport type PerformanceObserverInit =\n | {\n entryTypes: Array,\n }\n | {\n type: PerformanceEntryType,\n durationThreshold?: HighResTimeStamp,\n };\n\ntype PerformanceObserverConfig = {|\n callback: PerformanceObserverCallback,\n // Map of {entryType: durationThreshold}\n entryTypes: $ReadOnlyMap,\n|};\n\nconst observerCountPerEntryType: Map = new Map();\nconst registeredObservers: Map =\n new Map();\nlet isOnPerformanceEntryCallbackSet: boolean = false;\n\n// This is a callback that gets scheduled and periodically called from the native side\nconst onPerformanceEntry = () => {\n if (!NativePerformanceObserver) {\n return;\n }\n const entryResult = NativePerformanceObserver.popPendingEntries();\n const rawEntries = entryResult?.entries ?? [];\n const droppedEntriesCount = entryResult?.droppedEntriesCount;\n if (rawEntries.length === 0) {\n return;\n }\n const entries = rawEntries.map(rawToPerformanceEntry);\n for (const [observer, observerConfig] of registeredObservers.entries()) {\n const entriesForObserver: PerformanceEntryList = entries.filter(entry => {\n if (!observerConfig.entryTypes.has(entry.entryType)) {\n return false;\n }\n const durationThreshold = observerConfig.entryTypes.get(entry.entryType);\n return entry.duration >= (durationThreshold ?? 0);\n });\n observerConfig.callback(\n new PerformanceObserverEntryList(entriesForObserver),\n observer,\n droppedEntriesCount,\n );\n }\n};\n\nexport function warnNoNativePerformanceObserver() {\n warnOnce(\n 'missing-native-performance-observer',\n 'Missing native implementation of PerformanceObserver',\n );\n}\n\nfunction applyDurationThresholds() {\n const durationThresholds: Map = Array.from(\n registeredObservers.values(),\n )\n .map(config => config.entryTypes)\n .reduce(\n (accumulator, currentValue) => union(accumulator, currentValue),\n new Map(),\n );\n\n for (const [entryType, durationThreshold] of durationThresholds) {\n NativePerformanceObserver?.setDurationThreshold(\n performanceEntryTypeToRaw(entryType),\n durationThreshold ?? 0,\n );\n }\n}\n\n/**\n * Implementation of the PerformanceObserver interface for RN,\n * corresponding to the standard in https://www.w3.org/TR/performance-timeline/\n *\n * @example\n * const observer = new PerformanceObserver((list, _observer) => {\n * const entries = list.getEntries();\n * entries.forEach(entry => {\n * reportEvent({\n * eventName: entry.name,\n * startTime: entry.startTime,\n * endTime: entry.startTime + entry.duration,\n * processingStart: entry.processingStart,\n * processingEnd: entry.processingEnd,\n * interactionId: entry.interactionId,\n * });\n * });\n * });\n * observer.observe({ type: \"event\" });\n */\nexport default class PerformanceObserver {\n _callback: PerformanceObserverCallback;\n _type: 'single' | 'multiple' | void;\n\n constructor(callback: PerformanceObserverCallback) {\n this._callback = callback;\n }\n\n observe(options: PerformanceObserverInit): void {\n if (!NativePerformanceObserver) {\n warnNoNativePerformanceObserver();\n return;\n }\n\n this._validateObserveOptions(options);\n\n let requestedEntryTypes;\n\n if (options.entryTypes) {\n this._type = 'multiple';\n requestedEntryTypes = new Map(\n options.entryTypes.map(t => [t, undefined]),\n );\n } else {\n this._type = 'single';\n requestedEntryTypes = new Map([\n [options.type, options.durationThreshold],\n ]);\n }\n\n // The same observer may receive multiple calls to \"observe\", so we need\n // to check what is new on this call vs. previous ones.\n const currentEntryTypes = registeredObservers.get(this)?.entryTypes;\n const nextEntryTypes = currentEntryTypes\n ? union(requestedEntryTypes, currentEntryTypes)\n : requestedEntryTypes;\n\n // This `observe` call is a no-op because there are no new things to observe.\n if (currentEntryTypes && currentEntryTypes.size === nextEntryTypes.size) {\n return;\n }\n\n registeredObservers.set(this, {\n callback: this._callback,\n entryTypes: nextEntryTypes,\n });\n\n if (!isOnPerformanceEntryCallbackSet) {\n NativePerformanceObserver.setOnPerformanceEntryCallback(\n onPerformanceEntry,\n );\n isOnPerformanceEntryCallbackSet = true;\n }\n\n // We only need to start listenening to new entry types being observed in\n // this observer.\n const newEntryTypes = currentEntryTypes\n ? difference(\n new Set(requestedEntryTypes.keys()),\n new Set(currentEntryTypes.keys()),\n )\n : new Set(requestedEntryTypes.keys());\n for (const type of newEntryTypes) {\n if (!observerCountPerEntryType.has(type)) {\n const rawType = performanceEntryTypeToRaw(type);\n NativePerformanceObserver.startReporting(rawType);\n }\n observerCountPerEntryType.set(\n type,\n (observerCountPerEntryType.get(type) ?? 0) + 1,\n );\n }\n applyDurationThresholds();\n }\n\n disconnect(): void {\n if (!NativePerformanceObserver) {\n warnNoNativePerformanceObserver();\n return;\n }\n\n const observerConfig = registeredObservers.get(this);\n if (!observerConfig) {\n return;\n }\n\n // Disconnect this observer\n for (const type of observerConfig.entryTypes.keys()) {\n const numberOfObserversForThisType =\n observerCountPerEntryType.get(type) ?? 0;\n if (numberOfObserversForThisType === 1) {\n observerCountPerEntryType.delete(type);\n NativePerformanceObserver.stopReporting(\n performanceEntryTypeToRaw(type),\n );\n } else if (numberOfObserversForThisType !== 0) {\n observerCountPerEntryType.set(type, numberOfObserversForThisType - 1);\n }\n }\n\n // Disconnect all observers if this was the last one\n registeredObservers.delete(this);\n if (registeredObservers.size === 0) {\n NativePerformanceObserver.setOnPerformanceEntryCallback(undefined);\n isOnPerformanceEntryCallbackSet = false;\n }\n\n applyDurationThresholds();\n }\n\n _validateObserveOptions(options: PerformanceObserverInit): void {\n const {type, entryTypes, durationThreshold} = options;\n\n if (!type && !entryTypes) {\n throw new TypeError(\n \"Failed to execute 'observe' on 'PerformanceObserver': An observe() call must not include both entryTypes and type arguments.\",\n );\n }\n\n if (entryTypes && type) {\n throw new TypeError(\n \"Failed to execute 'observe' on 'PerformanceObserver': An observe() call must include either entryTypes or type arguments.\",\n );\n }\n\n if (this._type === 'multiple' && type) {\n throw new Error(\n \"Failed to execute 'observe' on 'PerformanceObserver': This observer has performed observe({entryTypes:...}, therefore it cannot perform observe({type:...})\",\n );\n }\n\n if (this._type === 'single' && entryTypes) {\n throw new Error(\n \"Failed to execute 'observe' on 'PerformanceObserver': This PerformanceObserver has performed observe({type:...}, therefore it cannot perform observe({entryTypes:...})\",\n );\n }\n\n if (entryTypes && durationThreshold !== undefined) {\n throw new TypeError(\n \"Failed to execute 'observe' on 'PerformanceObserver': An observe() call must not include both entryTypes and durationThreshold arguments.\",\n );\n }\n }\n\n static supportedEntryTypes: $ReadOnlyArray =\n Object.freeze(['mark', 'measure', 'event']);\n}\n\n// As a Set union, except if value exists in both, we take minimum\nfunction union(\n a: $ReadOnlyMap,\n b: $ReadOnlyMap,\n): Map {\n const res = new Map();\n for (const [k, v] of a) {\n if (!b.has(k)) {\n res.set(k, v);\n } else {\n res.set(k, Math.min(v ?? 0, b.get(k) ?? 0));\n }\n }\n return res;\n}\n\nfunction difference(a: $ReadOnlySet, b: $ReadOnlySet): Set {\n return new Set([...a].filter(x => !b.has(x)));\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 * @flow strict\n */\n\nimport type {\n RawPerformanceEntry,\n RawPerformanceEntryType,\n} from './NativePerformanceObserver';\nimport type {PerformanceEntryType} from './PerformanceEntry';\n\nimport {PerformanceEntry} from './PerformanceEntry';\nimport {PerformanceEventTiming} from './PerformanceEventTiming';\n\nexport const RawPerformanceEntryTypeValues = {\n UNDEFINED: 0,\n MARK: 1,\n MEASURE: 2,\n EVENT: 3,\n};\n\nexport function rawToPerformanceEntry(\n entry: RawPerformanceEntry,\n): PerformanceEntry {\n if (entry.entryType === RawPerformanceEntryTypeValues.EVENT) {\n return new PerformanceEventTiming({\n name: entry.name,\n startTime: entry.startTime,\n duration: entry.duration,\n processingStart: entry.processingStart,\n processingEnd: entry.processingEnd,\n interactionId: entry.interactionId,\n });\n } else {\n return new PerformanceEntry({\n name: entry.name,\n entryType: rawToPerformanceEntryType(entry.entryType),\n startTime: entry.startTime,\n duration: entry.duration,\n });\n }\n}\n\nexport function rawToPerformanceEntryType(\n type: RawPerformanceEntryType,\n): PerformanceEntryType {\n switch (type) {\n case RawPerformanceEntryTypeValues.MARK:\n return 'mark';\n case RawPerformanceEntryTypeValues.MEASURE:\n return 'measure';\n case RawPerformanceEntryTypeValues.EVENT:\n return 'event';\n case RawPerformanceEntryTypeValues.UNDEFINED:\n throw new TypeError(\n \"rawToPerformanceEntryType: UNDEFINED can't be cast to PerformanceEntryType\",\n );\n default:\n throw new TypeError(\n `rawToPerformanceEntryType: unexpected performance entry type received: ${type}`,\n );\n }\n}\n\nexport function performanceEntryTypeToRaw(\n type: PerformanceEntryType,\n): RawPerformanceEntryType {\n switch (type) {\n case 'mark':\n return RawPerformanceEntryTypeValues.MARK;\n case 'measure':\n return RawPerformanceEntryTypeValues.MEASURE;\n case 'event':\n return RawPerformanceEntryTypeValues.EVENT;\n default:\n // Verify exhaustive check with Flow\n (type: empty);\n throw new TypeError(\n `performanceEntryTypeToRaw: unexpected performance entry type received: ${type}`,\n );\n }\n}\n","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @format\n * @flow strict\n */\n\nimport type {HighResTimeStamp, PerformanceEntryJSON} from './PerformanceEntry';\n\nimport {PerformanceEntry} from './PerformanceEntry';\n\nexport type PerformanceEventTimingJSON = {\n ...PerformanceEntryJSON,\n processingStart: HighResTimeStamp,\n processingEnd: HighResTimeStamp,\n interactionId: number,\n ...\n};\n\nexport class PerformanceEventTiming extends PerformanceEntry {\n processingStart: HighResTimeStamp;\n processingEnd: HighResTimeStamp;\n interactionId: number;\n\n constructor(init: {\n name: string,\n startTime?: HighResTimeStamp,\n duration?: HighResTimeStamp,\n processingStart?: HighResTimeStamp,\n processingEnd?: HighResTimeStamp,\n interactionId?: number,\n }) {\n super({\n name: init.name,\n entryType: 'event',\n startTime: init.startTime ?? 0,\n duration: init.duration ?? 0,\n });\n this.processingStart = init.processingStart ?? 0;\n this.processingEnd = init.processingEnd ?? 0;\n this.interactionId = init.interactionId ?? 0;\n }\n\n toJSON(): PerformanceEventTimingJSON {\n return {\n ...super.toJSON(),\n processingStart: this.processingStart,\n processingEnd: this.processingEnd,\n interactionId: this.interactionId,\n };\n }\n}\n","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @format\n * @flow strict\n */\n\nexport type HighResTimeStamp = number;\nexport type PerformanceEntryType = 'mark' | 'measure' | 'event';\n\nexport type PerformanceEntryJSON = {\n name: string,\n entryType: PerformanceEntryType,\n startTime: HighResTimeStamp,\n duration: HighResTimeStamp,\n ...\n};\n\nexport const ALWAYS_LOGGED_ENTRY_TYPES: $ReadOnlyArray = [\n 'mark',\n 'measure',\n];\n\nexport class PerformanceEntry {\n name: string;\n entryType: PerformanceEntryType;\n startTime: HighResTimeStamp;\n duration: HighResTimeStamp;\n\n constructor(init: {\n name: string,\n entryType: PerformanceEntryType,\n startTime: HighResTimeStamp,\n duration: HighResTimeStamp,\n }) {\n this.name = init.name;\n this.entryType = init.entryType;\n this.startTime = init.startTime;\n this.duration = init.duration;\n }\n\n toJSON(): PerformanceEntryJSON {\n return {\n name: this.name,\n entryType: this.entryType,\n startTime: this.startTime,\n duration: this.duration,\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 * @flow strict\n * @format\n * @oncall react_native\n */\n\n// flowlint unsafe-getters-setters:off\n\ntype MemoryInfoLike = {\n jsHeapSizeLimit: ?number,\n totalJSHeapSize: ?number,\n usedJSHeapSize: ?number,\n};\n\n// Read-only object with JS memory information. This is returned by the performance.memory API.\nexport default class MemoryInfo {\n _jsHeapSizeLimit: ?number;\n _totalJSHeapSize: ?number;\n _usedJSHeapSize: ?number;\n\n constructor(memoryInfo: ?MemoryInfoLike) {\n if (memoryInfo != null) {\n this._jsHeapSizeLimit = memoryInfo.jsHeapSizeLimit;\n this._totalJSHeapSize = memoryInfo.totalJSHeapSize;\n this._usedJSHeapSize = memoryInfo.usedJSHeapSize;\n }\n }\n\n /**\n * The maximum size of the heap, in bytes, that is available to the context\n */\n get jsHeapSizeLimit(): ?number {\n return this._jsHeapSizeLimit;\n }\n\n /**\n * The total allocated heap size, in bytes\n */\n get totalJSHeapSize(): ?number {\n return this._totalJSHeapSize;\n }\n\n /**\n * The currently active segment of JS heap, in bytes.\n */\n get usedJSHeapSize(): ?number {\n return this._usedJSHeapSize;\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 * @flow strict\n * @format\n * @oncall react_native\n */\n\n// flowlint unsafe-getters-setters:off\n\ntype ReactNativeStartupTimingLike = {\n startTime: ?number,\n endTime: ?number,\n initializeRuntimeStart: ?number,\n initializeRuntimeEnd: ?number,\n executeJavaScriptBundleEntryPointStart: ?number,\n executeJavaScriptBundleEntryPointEnd: ?number,\n};\n\n// Read-only object with RN startup timing information.\n// This is returned by the performance.reactNativeStartup API.\nexport default class ReactNativeStartupTiming {\n // All time information here are in ms. The values may be null if not provided.\n // We do NOT match web spect here for two reasons:\n // 1. The `ReactNativeStartupTiming` is non-standard API\n // 2. The timing information is relative to the time origin, which means `0` has valid meaning\n _startTime: ?number;\n _endTime: ?number;\n _initializeRuntimeStart: ?number;\n _initializeRuntimeEnd: ?number;\n _executeJavaScriptBundleEntryPointStart: ?number;\n _executeJavaScriptBundleEntryPointEnd: ?number;\n\n constructor(startUpTiming: ?ReactNativeStartupTimingLike) {\n if (startUpTiming != null) {\n this._startTime = startUpTiming.startTime;\n this._endTime = startUpTiming.endTime;\n this._initializeRuntimeStart = startUpTiming.initializeRuntimeStart;\n this._initializeRuntimeEnd = startUpTiming.initializeRuntimeEnd;\n this._executeJavaScriptBundleEntryPointStart =\n startUpTiming.executeJavaScriptBundleEntryPointStart;\n this._executeJavaScriptBundleEntryPointEnd =\n startUpTiming.executeJavaScriptBundleEntryPointEnd;\n }\n }\n\n /**\n * Start time of the RN app startup process. This is provided by the platform by implementing the `ReactMarker.setAppStartTime` API in the native platform code.\n */\n get startTime(): ?number {\n return this._startTime;\n }\n\n /**\n * End time of the RN app startup process. This is equal to `executeJavaScriptBundleEntryPointEnd`.\n */\n get endTime(): ?number {\n return this._endTime;\n }\n\n /**\n * Start time when RN runtime get initialized. This is when RN infra first kicks in app startup process.\n */\n get initializeRuntimeStart(): ?number {\n return this._initializeRuntimeStart;\n }\n\n /**\n * End time when RN runtime get initialized. This is the last marker before ends of the app startup process.\n */\n get initializeRuntimeEnd(): ?number {\n return this._initializeRuntimeEnd;\n }\n\n /**\n * Start time of JS bundle being executed. This indicates the RN JS bundle is loaded and start to be evaluated.\n */\n get executeJavaScriptBundleEntryPointStart(): ?number {\n return this._executeJavaScriptBundleEntryPointStart;\n }\n\n /**\n * End time of JS bundle being executed. This indicates all the synchronous entry point jobs are finished.\n */\n get executeJavaScriptBundleEntryPointEnd(): ?number {\n return this._executeJavaScriptBundleEntryPointEnd;\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 * @flow strict-local\n * @format\n */\n\n'use strict';\n\n/**\n * Sets up the console and exception handling (redbox) for React Native.\n * You can use this module directly, or just require InitializeCore.\n */\nconst ExceptionsManager = require('./ExceptionsManager');\nExceptionsManager.installConsoleErrorReporter();\n\n// Set up error handler\nif (!global.__fbDisableExceptionsManager) {\n const handleError = (e: mixed, isFatal: boolean) => {\n try {\n ExceptionsManager.handleException(e, isFatal);\n } catch (ee) {\n console.log('Failed to print error: ', ee.message);\n throw e;\n }\n };\n\n const ErrorUtils = require('../vendor/core/ErrorUtils');\n ErrorUtils.setGlobalHandler(handleError);\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 * @flow strict\n */\n\n'use strict';\n\nimport type {ExtendedError} from './ExtendedError';\nimport type {ExceptionData} from './NativeExceptionsManager';\n\nclass SyntheticError extends Error {\n name: string = '';\n}\n\ntype ExceptionDecorator = ExceptionData => ExceptionData;\n\nlet userExceptionDecorator: ?ExceptionDecorator;\nlet inUserExceptionDecorator = false;\n\n// This Symbol is used to decorate an ExtendedError with extra data in select usecases.\n// Note that data passed using this method should be strictly contained,\n// as data that's not serializable/too large may cause issues with passing the error to the native code.\nconst decoratedExtraDataKey: symbol = Symbol('decoratedExtraDataKey');\n\n/**\n * Allows the app to add information to the exception report before it is sent\n * to native. This API is not final.\n */\n\nfunction unstable_setExceptionDecorator(\n exceptionDecorator: ?ExceptionDecorator,\n) {\n userExceptionDecorator = exceptionDecorator;\n}\n\nfunction preprocessException(data: ExceptionData): ExceptionData {\n if (userExceptionDecorator && !inUserExceptionDecorator) {\n inUserExceptionDecorator = true;\n try {\n return userExceptionDecorator(data);\n } catch {\n // Fall through\n } finally {\n inUserExceptionDecorator = false;\n }\n }\n return data;\n}\n\n/**\n * Handles the developer-visible aspect of errors and exceptions\n */\nlet exceptionID = 0;\nfunction reportException(\n e: ExtendedError,\n isFatal: boolean,\n reportToConsole: boolean, // only true when coming from handleException; the error has not yet been logged\n) {\n const parseErrorStack = require('./Devtools/parseErrorStack');\n const stack = parseErrorStack(e?.stack);\n const currentExceptionID = ++exceptionID;\n const originalMessage = e.message || '';\n let message = originalMessage;\n if (e.componentStack != null) {\n message += `\\n\\nThis error is located at:${e.componentStack}`;\n }\n const namePrefix = e.name == null || e.name === '' ? '' : `${e.name}: `;\n\n if (!message.startsWith(namePrefix)) {\n message = namePrefix + message;\n }\n\n message =\n e.jsEngine == null ? message : `${message}, js engine: ${e.jsEngine}`;\n\n // $FlowFixMe[unclear-type]\n const extraData: Object = {\n // $FlowFixMe[incompatible-use] we can't define a type with a Symbol-keyed field in flow\n ...e[decoratedExtraDataKey],\n jsEngine: e.jsEngine,\n rawStack: e.stack,\n };\n if (e.cause != null && typeof e.cause === 'object') {\n extraData.stackSymbols = e.cause.stackSymbols;\n extraData.stackReturnAddresses = e.cause.stackReturnAddresses;\n extraData.stackElements = e.cause.stackElements;\n }\n\n const data = preprocessException({\n message,\n originalMessage: message === originalMessage ? null : originalMessage,\n name: e.name == null || e.name === '' ? null : e.name,\n componentStack:\n typeof e.componentStack === 'string' ? e.componentStack : null,\n stack,\n id: currentExceptionID,\n isFatal,\n extraData,\n });\n\n if (reportToConsole) {\n // we feed back into console.error, to make sure any methods that are\n // monkey patched on top of console.error are called when coming from\n // handleException\n console.error(data.message);\n }\n\n if (__DEV__) {\n const LogBox = require('../LogBox/LogBox').default;\n LogBox.addException({\n ...data,\n isComponentError: !!e.isComponentError,\n });\n } else if (isFatal || e.type !== 'warn') {\n const NativeExceptionsManager =\n require('./NativeExceptionsManager').default;\n if (NativeExceptionsManager) {\n NativeExceptionsManager.reportException(data);\n }\n }\n}\n\ndeclare var console: {\n error: typeof console.error,\n _errorOriginal: typeof console.error,\n reportErrorsAsExceptions: boolean,\n ...\n};\n\n// If we trigger console.error _from_ handleException,\n// we do want to make sure that console.error doesn't trigger error reporting again\nlet inExceptionHandler = false;\n\n/**\n * Logs exceptions to the (native) console and displays them\n */\nfunction handleException(e: mixed, isFatal: boolean) {\n let error: Error;\n if (e instanceof Error) {\n error = e;\n } else {\n // Workaround for reporting errors caused by `throw 'some string'`\n // Unfortunately there is no way to figure out the stacktrace in this\n // case, so if you ended up here trying to trace an error, look for\n // `throw ''` somewhere in your codebase.\n error = new SyntheticError(e);\n }\n try {\n inExceptionHandler = true;\n /* $FlowFixMe[class-object-subtyping] added when improving typing for this\n * parameters */\n reportException(error, isFatal, /*reportToConsole*/ true);\n } finally {\n inExceptionHandler = false;\n }\n}\n\n/* $FlowFixMe[missing-local-annot] The type annotation(s) required by Flow's\n * LTI update could not be added via codemod */\nfunction reactConsoleErrorHandler(...args) {\n // bubble up to any original handlers\n console._errorOriginal(...args);\n if (!console.reportErrorsAsExceptions) {\n return;\n }\n if (inExceptionHandler) {\n // The fundamental trick here is that are multiple entry point to logging errors:\n // (see D19743075 for more background)\n //\n // 1. An uncaught exception being caught by the global handler\n // 2. An error being logged throw console.error\n //\n // However, console.error is monkey patched multiple times: by this module, and by the\n // DevTools setup that sends messages to Metro.\n // The patching order cannot be relied upon.\n //\n // So, some scenarios that are handled by this flag:\n //\n // Logging an error:\n // 1. console.error called from user code\n // 2. (possibly) arrives _first_ at DevTool handler, send to Metro\n // 3. Bubbles to here\n // 4. goes into report Exception.\n // 5. should not trigger console.error again, to avoid looping / logging twice\n // 6. should still bubble up to original console\n // (which might either be console.log, or the DevTools handler in case it patched _earlier_ and (2) didn't happen)\n //\n // Throwing an uncaught exception:\n // 1. exception thrown\n // 2. picked up by handleException\n // 3. should be sent to console.error (not console._errorOriginal, as DevTools might have patched _later_ and it needs to send it to Metro)\n // 4. that _might_ bubble again to the `reactConsoleErrorHandle` defined here\n // -> should not handle exception _again_, to avoid looping / showing twice (this code branch)\n // 5. should still bubble up to original console (which might either be console.log, or the DevTools handler in case that one patched _earlier_)\n return;\n }\n\n let error;\n\n const firstArg = args[0];\n if (firstArg?.stack) {\n // reportException will console.error this with high enough fidelity.\n error = firstArg;\n } else {\n const stringifySafe = require('../Utilities/stringifySafe').default;\n if (typeof firstArg === 'string' && firstArg.startsWith('Warning: ')) {\n // React warnings use console.error so that a stack trace is shown, but\n // we don't (currently) want these to show a redbox\n // (Note: Logic duplicated in polyfills/console.js.)\n return;\n }\n const message = args\n .map(arg => (typeof arg === 'string' ? arg : stringifySafe(arg)))\n .join(' ');\n\n error = new SyntheticError(message);\n error.name = 'console.error';\n }\n\n reportException(\n /* $FlowFixMe[class-object-subtyping] added when improving typing for this\n * parameters */\n error,\n false, // isFatal\n false, // reportToConsole\n );\n}\n\n/**\n * Shows a redbox with stacktrace for all console.error messages. Disable by\n * setting `console.reportErrorsAsExceptions = false;` in your app.\n */\nfunction installConsoleErrorReporter() {\n // Enable reportErrorsAsExceptions\n if (console._errorOriginal) {\n return; // already installed\n }\n // Flow doesn't like it when you set arbitrary values on a global object\n console._errorOriginal = console.error.bind(console);\n console.error = reactConsoleErrorHandler;\n if (console.reportErrorsAsExceptions === undefined) {\n // Individual apps can disable this\n // Flow doesn't like it when you set arbitrary values on a global object\n console.reportErrorsAsExceptions = true;\n }\n}\n\nmodule.exports = {\n decoratedExtraDataKey,\n handleException,\n installConsoleErrorReporter,\n SyntheticError,\n unstable_setExceptionDecorator,\n};\n","var getPrototypeOf = require(\"./getPrototypeOf.js\");\nvar setPrototypeOf = require(\"./setPrototypeOf.js\");\nvar isNativeFunction = require(\"./isNativeFunction.js\");\nvar construct = require(\"./construct.js\");\nfunction _wrapNativeSuper(Class) {\n var _cache = typeof Map === \"function\" ? new Map() : undefined;\n module.exports = _wrapNativeSuper = function _wrapNativeSuper(Class) {\n if (Class === null || !isNativeFunction(Class)) return Class;\n if (typeof Class !== \"function\") {\n throw new TypeError(\"Super expression must either be null or a function\");\n }\n if (typeof _cache !== \"undefined\") {\n if (_cache.has(Class)) return _cache.get(Class);\n _cache.set(Class, Wrapper);\n }\n function Wrapper() {\n return construct(Class, arguments, getPrototypeOf(this).constructor);\n }\n Wrapper.prototype = Object.create(Class.prototype, {\n constructor: {\n value: Wrapper,\n enumerable: false,\n writable: true,\n configurable: true\n }\n });\n return setPrototypeOf(Wrapper, Class);\n }, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;\n return _wrapNativeSuper(Class);\n}\nmodule.exports = _wrapNativeSuper, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _isNativeFunction(fn) {\n try {\n return Function.toString.call(fn).indexOf(\"[native code]\") !== -1;\n } catch (e) {\n return typeof fn === \"function\";\n }\n}\nmodule.exports = _isNativeFunction, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var setPrototypeOf = require(\"./setPrototypeOf.js\");\nvar isNativeReflectConstruct = require(\"./isNativeReflectConstruct.js\");\nfunction _construct(t, e, r) {\n if (isNativeReflectConstruct()) return Reflect.construct.apply(null, arguments);\n var o = [null];\n o.push.apply(o, e);\n var p = new (t.bind.apply(t, o))();\n return r && setPrototypeOf(p, r.prototype), p;\n}\nmodule.exports = _construct, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _isNativeReflectConstruct() {\n try {\n var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {}));\n } catch (t) {}\n return (module.exports = _isNativeReflectConstruct = function _isNativeReflectConstruct() {\n return !!t;\n }, module.exports.__esModule = true, module.exports[\"default\"] = module.exports)();\n}\nmodule.exports = _isNativeReflectConstruct, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This 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 * @flow strict\n */\n\n'use strict';\n\nimport type {StackFrame} from '../NativeExceptionsManager';\nimport type {HermesParsedStack} from './parseHermesStack';\n\nconst parseHermesStack = require('./parseHermesStack');\n\nfunction convertHermesStack(stack: HermesParsedStack): Array {\n const frames: Array = [];\n for (const entry of stack.entries) {\n if (entry.type !== 'FRAME') {\n continue;\n }\n const {location, functionName} = entry;\n if (location.type === 'NATIVE' || location.type === 'INTERNAL_BYTECODE') {\n continue;\n }\n frames.push({\n methodName: functionName,\n file: location.sourceUrl,\n lineNumber: location.line1Based,\n column:\n location.type === 'SOURCE'\n ? location.column1Based - 1\n : location.virtualOffset0Based,\n });\n }\n return frames;\n}\n\nfunction parseErrorStack(errorStack?: string): Array {\n if (errorStack == null) {\n return [];\n }\n\n const stacktraceParser = require('stacktrace-parser');\n const parsedStack = Array.isArray(errorStack)\n ? errorStack\n : global.HermesInternal\n ? convertHermesStack(parseHermesStack(errorStack))\n : stacktraceParser.parse(errorStack).map((frame): StackFrame => ({\n ...frame,\n column: frame.column != null ? frame.column - 1 : null,\n }));\n\n return parsedStack;\n}\n\nmodule.exports = parseErrorStack;\n","'use strict';\n\nObject.defineProperty(exports, '__esModule', { value: true });\n\nvar 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|rsc||\\/|[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|rsc|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|rsc|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\nexports.parse = parse;\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 * @flow strict\n */\n\n'use strict';\n\ntype HermesStackLocationNative = $ReadOnly<{\n type: 'NATIVE',\n}>;\n\ntype HermesStackLocationSource = $ReadOnly<{\n type: 'SOURCE',\n sourceUrl: string,\n line1Based: number,\n column1Based: number,\n}>;\n\ntype HermesStackLocationInternalBytecode = $ReadOnly<{\n type: 'INTERNAL_BYTECODE',\n sourceUrl: string,\n line1Based: number,\n virtualOffset0Based: number,\n}>;\n\ntype HermesStackLocationBytecode = $ReadOnly<{\n type: 'BYTECODE',\n sourceUrl: string,\n line1Based: number,\n virtualOffset0Based: number,\n}>;\n\ntype HermesStackLocation =\n | HermesStackLocationNative\n | HermesStackLocationSource\n | HermesStackLocationInternalBytecode\n | HermesStackLocationBytecode;\n\ntype HermesStackEntryFrame = $ReadOnly<{\n type: 'FRAME',\n location: HermesStackLocation,\n functionName: string,\n}>;\n\ntype HermesStackEntrySkipped = $ReadOnly<{\n type: 'SKIPPED',\n count: number,\n}>;\n\ntype HermesStackEntry = HermesStackEntryFrame | HermesStackEntrySkipped;\n\nexport type HermesParsedStack = $ReadOnly<{\n message: string,\n entries: $ReadOnlyArray,\n}>;\n\n// Capturing groups:\n// 1. function name\n// 2. is this a native stack frame?\n// 3. is this a bytecode address or a source location?\n// 4. source URL (filename)\n// 5. line number (1 based)\n// 6. column number (1 based) or virtual offset (0 based)\nconst RE_FRAME =\n /^ {4}at (.+?)(?: \\((native)\\)?| \\((address at )?(.*?):(\\d+):(\\d+)\\))$/;\n\n// Capturing groups:\n// 1. count of skipped frames\nconst RE_SKIPPED = /^ {4}... skipping (\\d+) frames$/;\n\nfunction isInternalBytecodeSourceUrl(sourceUrl: string): boolean {\n // See https://github.com/facebook/hermes/blob/3332fa020cae0bab751f648db7c94e1d687eeec7/lib/VM/Runtime.cpp#L1100\n return sourceUrl === 'InternalBytecode.js';\n}\n\nfunction parseLine(line: string): ?HermesStackEntry {\n const asFrame = line.match(RE_FRAME);\n if (asFrame) {\n return {\n type: 'FRAME',\n functionName: asFrame[1],\n location:\n asFrame[2] === 'native'\n ? {type: 'NATIVE'}\n : asFrame[3] === 'address at '\n ? isInternalBytecodeSourceUrl(asFrame[4])\n ? {\n type: 'INTERNAL_BYTECODE',\n sourceUrl: asFrame[4],\n line1Based: Number.parseInt(asFrame[5], 10),\n virtualOffset0Based: Number.parseInt(asFrame[6], 10),\n }\n : {\n type: 'BYTECODE',\n sourceUrl: asFrame[4],\n line1Based: Number.parseInt(asFrame[5], 10),\n virtualOffset0Based: Number.parseInt(asFrame[6], 10),\n }\n : {\n type: 'SOURCE',\n sourceUrl: asFrame[4],\n line1Based: Number.parseInt(asFrame[5], 10),\n column1Based: Number.parseInt(asFrame[6], 10),\n },\n };\n }\n const asSkipped = line.match(RE_SKIPPED);\n if (asSkipped) {\n return {\n type: 'SKIPPED',\n count: Number.parseInt(asSkipped[1], 10),\n };\n }\n}\n\nmodule.exports = function parseHermesStack(stack: string): HermesParsedStack {\n const lines = stack.split(/\\n/);\n let entries: Array = [];\n let lastMessageLine = -1;\n for (let i = 0; i < lines.length; ++i) {\n const line = lines[i];\n if (!line) {\n continue;\n }\n const entry = parseLine(line);\n if (entry) {\n entries.push(entry);\n continue;\n }\n // No match - we're still in the message\n lastMessageLine = i;\n entries = [];\n }\n const message = lines.slice(0, lastMessageLine + 1).join('\\n');\n return {message, entries};\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 * @flow strict\n * @format\n */\n\nimport type {TurboModule} from '../TurboModule/RCTExport';\n\nimport * as TurboModuleRegistry from '../TurboModule/TurboModuleRegistry';\n\nconst Platform = require('../Utilities/Platform');\n\nexport type StackFrame = {|\n column: ?number,\n file: ?string,\n lineNumber: ?number,\n methodName: string,\n collapse?: boolean,\n|};\nexport type ExceptionData = {\n message: string,\n originalMessage: ?string,\n name: ?string,\n componentStack: ?string,\n stack: Array,\n id: number,\n isFatal: boolean,\n // flowlint-next-line unclear-type:off\n extraData?: Object,\n ...\n};\nexport interface Spec extends TurboModule {\n // Deprecated: Use `reportException`\n +reportFatalException: (\n message: string,\n stack: Array,\n exceptionId: number,\n ) => void;\n // Deprecated: Use `reportException`\n +reportSoftException: (\n message: string,\n stack: Array,\n exceptionId: number,\n ) => void;\n +reportException?: (data: ExceptionData) => void;\n +updateExceptionMessage: (\n message: string,\n stack: Array,\n exceptionId: number,\n ) => void;\n // TODO(T53311281): This is a noop on iOS now. Implement it.\n +dismissRedbox?: () => void;\n}\n\nconst NativeModule =\n TurboModuleRegistry.getEnforcing('ExceptionsManager');\n\nconst ExceptionsManager = {\n reportFatalException(\n message: string,\n stack: Array,\n exceptionId: number,\n ) {\n NativeModule.reportFatalException(message, stack, exceptionId);\n },\n reportSoftException(\n message: string,\n stack: Array,\n exceptionId: number,\n ) {\n NativeModule.reportSoftException(message, stack, exceptionId);\n },\n updateExceptionMessage(\n message: string,\n stack: Array,\n exceptionId: number,\n ) {\n NativeModule.updateExceptionMessage(message, stack, exceptionId);\n },\n dismissRedbox(): void {\n if (Platform.OS !== 'ios' && NativeModule.dismissRedbox) {\n // TODO(T53311281): This is a noop on iOS now. Implement it.\n NativeModule.dismissRedbox();\n }\n },\n reportException(data: ExceptionData): void {\n if (NativeModule.reportException) {\n NativeModule.reportException(data);\n return;\n }\n if (data.isFatal) {\n ExceptionsManager.reportFatalException(data.message, data.stack, data.id);\n } else {\n ExceptionsManager.reportSoftException(data.message, data.stack, data.id);\n }\n },\n};\n\nexport default ExceptionsManager;\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 * @flow strict\n * @format\n */\n\n'use strict';\n\nconst {polyfillGlobal} = require('../Utilities/PolyfillFunctions');\n\n/**\n * Set up Promise. The native Promise implementation throws the following error:\n * ERROR: Event loop not supported.\n *\n * If you don't need these polyfills, don't use InitializeCore; just directly\n * require the modules you need from InitializeCore for setup.\n */\n\n// If global.Promise is provided by Hermes, we are confident that it can provide\n// all the methods needed by React Native, so we can directly use it.\nif (global?.HermesInternal?.hasPromise?.()) {\n const HermesPromise = global.Promise;\n\n if (__DEV__) {\n if (typeof HermesPromise !== 'function') {\n console.error('HermesPromise does not exist');\n }\n global.HermesInternal?.enablePromiseRejectionTracker?.(\n require('../promiseRejectionTrackingOptions').default,\n );\n }\n} else {\n polyfillGlobal('Promise', () => require('../Promise'));\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 * @flow strict\n * @format\n */\n\n'use strict';\n\nconst defineLazyObjectProperty = require('./defineLazyObjectProperty');\n\n/**\n * Sets an object's property. If a property with the same name exists, this will\n * replace it but maintain its descriptor configuration. The property will be\n * replaced with a lazy getter.\n *\n * In DEV mode the original property value will be preserved as `original[PropertyName]`\n * so that, if necessary, it can be restored. For example, if you want to route\n * network requests through DevTools (to trace them):\n *\n * global.XMLHttpRequest = global.originalXMLHttpRequest;\n *\n * @see https://github.com/facebook/react-native/issues/934\n */\nfunction polyfillObjectProperty(\n object: {...},\n name: string,\n getValue: () => T,\n): void {\n const descriptor = Object.getOwnPropertyDescriptor<$FlowFixMe>(object, name);\n if (__DEV__ && descriptor) {\n const backupName = `original${name[0].toUpperCase()}${name.slice(1)}`;\n Object.defineProperty(object, backupName, descriptor);\n }\n\n const {enumerable, writable, configurable = false} = descriptor || {};\n if (descriptor && !configurable) {\n console.error('Failed to set polyfill. ' + name + ' is not configurable.');\n return;\n }\n\n defineLazyObjectProperty(object, name, {\n get: getValue,\n enumerable: enumerable !== false,\n writable: writable !== false,\n });\n}\n\nfunction polyfillGlobal(name: string, getValue: () => T): void {\n polyfillObjectProperty(global, name, getValue);\n}\n\nmodule.exports = {polyfillObjectProperty, polyfillGlobal};\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 * @flow strict\n */\n\n'use strict';\n\nconst Promise = require('promise/setimmediate/es6-extensions');\n\nrequire('promise/setimmediate/finally');\n\nif (__DEV__) {\n require('promise/setimmediate/rejection-tracking').enable(\n require('./promiseRejectionTrackingOptions').default,\n );\n}\n\nmodule.exports = Promise;\n","'use strict';\n\nvar Promise = require('./core.js');\n\nmodule.exports = Promise;\nPromise.prototype.finally = function (f) {\n return this.then(function (value) {\n return Promise.resolve(f()).then(function () {\n return value;\n });\n }, function (err) {\n return Promise.resolve(f()).then(function () {\n throw err;\n });\n });\n};\n","'use strict';\n\n\n\nfunction noop() {}\n\n// States:\n//\n// 0 - pending\n// 1 - fulfilled with _value\n// 2 - rejected with _value\n// 3 - adopted the state of another promise, _value\n//\n// once the state is no longer pending (0) it is immutable\n\n// All `_` prefixed properties will be reduced to `_{random number}`\n// at build time to obfuscate them and discourage their use.\n// We don't use symbols or Object.defineProperty to fully hide them\n// because the performance isn't good enough.\n\n\n// to avoid using try/catch inside critical functions, we\n// extract them to here.\nvar LAST_ERROR = null;\nvar IS_ERROR = {};\nfunction getThen(obj) {\n try {\n return obj.then;\n } catch (ex) {\n LAST_ERROR = ex;\n return IS_ERROR;\n }\n}\n\nfunction tryCallOne(fn, a) {\n try {\n return fn(a);\n } catch (ex) {\n LAST_ERROR = ex;\n return IS_ERROR;\n }\n}\nfunction tryCallTwo(fn, a, b) {\n try {\n fn(a, b);\n } catch (ex) {\n LAST_ERROR = ex;\n return IS_ERROR;\n }\n}\n\nmodule.exports = Promise;\n\nfunction Promise(fn) {\n if (typeof this !== 'object') {\n throw new TypeError('Promises must be constructed via new');\n }\n if (typeof fn !== 'function') {\n throw new TypeError('Promise constructor\\'s argument is not a function');\n }\n this._x = 0;\n this._y = 0;\n this._z = null;\n this._A = null;\n if (fn === noop) return;\n doResolve(fn, this);\n}\nPromise._B = null;\nPromise._C = null;\nPromise._D = noop;\n\nPromise.prototype.then = function(onFulfilled, onRejected) {\n if (this.constructor !== Promise) {\n return safeThen(this, onFulfilled, onRejected);\n }\n var res = new Promise(noop);\n handle(this, new Handler(onFulfilled, onRejected, res));\n return res;\n};\n\nfunction safeThen(self, onFulfilled, onRejected) {\n return new self.constructor(function (resolve, reject) {\n var res = new Promise(noop);\n res.then(resolve, reject);\n handle(self, new Handler(onFulfilled, onRejected, res));\n });\n}\nfunction handle(self, deferred) {\n while (self._y === 3) {\n self = self._z;\n }\n if (Promise._B) {\n Promise._B(self);\n }\n if (self._y === 0) {\n if (self._x === 0) {\n self._x = 1;\n self._A = deferred;\n return;\n }\n if (self._x === 1) {\n self._x = 2;\n self._A = [self._A, deferred];\n return;\n }\n self._A.push(deferred);\n return;\n }\n handleResolved(self, deferred);\n}\n\nfunction handleResolved(self, deferred) {\n setImmediate(function() {\n var cb = self._y === 1 ? deferred.onFulfilled : deferred.onRejected;\n if (cb === null) {\n if (self._y === 1) {\n resolve(deferred.promise, self._z);\n } else {\n reject(deferred.promise, self._z);\n }\n return;\n }\n var ret = tryCallOne(cb, self._z);\n if (ret === IS_ERROR) {\n reject(deferred.promise, LAST_ERROR);\n } else {\n resolve(deferred.promise, ret);\n }\n });\n}\nfunction resolve(self, newValue) {\n // Promise Resolution Procedure: https://github.com/promises-aplus/promises-spec#the-promise-resolution-procedure\n if (newValue === self) {\n return reject(\n self,\n new TypeError('A promise cannot be resolved with itself.')\n );\n }\n if (\n newValue &&\n (typeof newValue === 'object' || typeof newValue === 'function')\n ) {\n var then = getThen(newValue);\n if (then === IS_ERROR) {\n return reject(self, LAST_ERROR);\n }\n if (\n then === self.then &&\n newValue instanceof Promise\n ) {\n self._y = 3;\n self._z = newValue;\n finale(self);\n return;\n } else if (typeof then === 'function') {\n doResolve(then.bind(newValue), self);\n return;\n }\n }\n self._y = 1;\n self._z = newValue;\n finale(self);\n}\n\nfunction reject(self, newValue) {\n self._y = 2;\n self._z = newValue;\n if (Promise._C) {\n Promise._C(self, newValue);\n }\n finale(self);\n}\nfunction finale(self) {\n if (self._x === 1) {\n handle(self, self._A);\n self._A = null;\n }\n if (self._x === 2) {\n for (var i = 0; i < self._A.length; i++) {\n handle(self, self._A[i]);\n }\n self._A = null;\n }\n}\n\nfunction Handler(onFulfilled, onRejected, promise){\n this.onFulfilled = typeof onFulfilled === 'function' ? onFulfilled : null;\n this.onRejected = typeof onRejected === 'function' ? onRejected : null;\n this.promise = promise;\n}\n\n/**\n * Take a potentially misbehaving resolver function and make sure\n * onFulfilled and onRejected are only called once.\n *\n * Makes no guarantees about asynchrony.\n */\nfunction doResolve(fn, promise) {\n var done = false;\n var res = tryCallTwo(fn, function (value) {\n if (done) return;\n done = true;\n resolve(promise, value);\n }, function (reason) {\n if (done) return;\n done = true;\n reject(promise, reason);\n });\n if (!done && res === IS_ERROR) {\n done = true;\n reject(promise, LAST_ERROR);\n }\n}\n","'use strict';\n\n//This file contains the ES6 extensions to the core Promises/A+ API\n\nvar Promise = require('./core.js');\n\nmodule.exports = Promise;\n\n/* Static Functions */\n\nvar TRUE = valuePromise(true);\nvar FALSE = valuePromise(false);\nvar NULL = valuePromise(null);\nvar UNDEFINED = valuePromise(undefined);\nvar ZERO = valuePromise(0);\nvar EMPTYSTRING = valuePromise('');\n\nfunction valuePromise(value) {\n var p = new Promise(Promise._D);\n p._y = 1;\n p._z = value;\n return p;\n}\nPromise.resolve = function (value) {\n if (value instanceof Promise) return value;\n\n if (value === null) return NULL;\n if (value === undefined) return UNDEFINED;\n if (value === true) return TRUE;\n if (value === false) return FALSE;\n if (value === 0) return ZERO;\n if (value === '') return EMPTYSTRING;\n\n if (typeof value === 'object' || typeof value === 'function') {\n try {\n var then = value.then;\n if (typeof then === 'function') {\n return new Promise(then.bind(value));\n }\n } catch (ex) {\n return new Promise(function (resolve, reject) {\n reject(ex);\n });\n }\n }\n return valuePromise(value);\n};\n\nvar iterableToArray = function (iterable) {\n if (typeof Array.from === 'function') {\n // ES2015+, iterables exist\n iterableToArray = Array.from;\n return Array.from(iterable);\n }\n\n // ES5, only arrays and array-likes exist\n iterableToArray = function (x) { return Array.prototype.slice.call(x); };\n return Array.prototype.slice.call(iterable);\n}\n\nPromise.all = function (arr) {\n var args = iterableToArray(arr);\n\n return new Promise(function (resolve, reject) {\n if (args.length === 0) return resolve([]);\n var remaining = args.length;\n function res(i, val) {\n if (val && (typeof val === 'object' || typeof val === 'function')) {\n if (val instanceof Promise && val.then === Promise.prototype.then) {\n while (val._y === 3) {\n val = val._z;\n }\n if (val._y === 1) return res(i, val._z);\n if (val._y === 2) reject(val._z);\n val.then(function (val) {\n res(i, val);\n }, reject);\n return;\n } else {\n var then = val.then;\n if (typeof then === 'function') {\n var p = new Promise(then.bind(val));\n p.then(function (val) {\n res(i, val);\n }, reject);\n return;\n }\n }\n }\n args[i] = val;\n if (--remaining === 0) {\n resolve(args);\n }\n }\n for (var i = 0; i < args.length; i++) {\n res(i, args[i]);\n }\n });\n};\n\nfunction onSettledFulfill(value) {\n return { status: 'fulfilled', value: value };\n}\nfunction onSettledReject(reason) {\n return { status: 'rejected', reason: reason };\n}\nfunction mapAllSettled(item) {\n if(item && (typeof item === 'object' || typeof item === 'function')){\n if(item instanceof Promise && item.then === Promise.prototype.then){\n return item.then(onSettledFulfill, onSettledReject);\n }\n var then = item.then;\n if (typeof then === 'function') {\n return new Promise(then.bind(item)).then(onSettledFulfill, onSettledReject)\n }\n }\n\n return onSettledFulfill(item);\n}\nPromise.allSettled = function (iterable) {\n return Promise.all(iterableToArray(iterable).map(mapAllSettled));\n};\n\nPromise.reject = function (value) {\n return new Promise(function (resolve, reject) {\n reject(value);\n });\n};\n\nPromise.race = function (values) {\n return new Promise(function (resolve, reject) {\n iterableToArray(values).forEach(function(value){\n Promise.resolve(value).then(resolve, reject);\n });\n });\n};\n\n/* Prototype Methods */\n\nPromise.prototype['catch'] = function (onRejected) {\n return this.then(null, onRejected);\n};\n\nfunction getAggregateError(errors){\n if(typeof AggregateError === 'function'){\n return new AggregateError(errors,'All promises were rejected');\n }\n\n var error = new Error('All promises were rejected');\n\n error.name = 'AggregateError';\n error.errors = errors;\n\n return error;\n}\n\nPromise.any = function promiseAny(values) {\n return new Promise(function(resolve, reject) {\n var promises = iterableToArray(values);\n var hasResolved = false;\n var rejectionReasons = [];\n\n function resolveOnce(value) {\n if (!hasResolved) {\n hasResolved = true;\n resolve(value);\n }\n }\n\n function rejectionCheck(reason) {\n rejectionReasons.push(reason);\n\n if (rejectionReasons.length === promises.length) {\n reject(getAggregateError(rejectionReasons));\n }\n }\n\n if(promises.length === 0){\n reject(getAggregateError(rejectionReasons));\n } else {\n promises.forEach(function(value){\n Promise.resolve(value).then(resolveOnce, rejectionCheck);\n });\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 * @flow strict-local\n * @format\n */\n\n'use strict';\n\nconst {hasNativeConstructor} = require('../Utilities/FeatureDetection');\nconst {polyfillGlobal} = require('../Utilities/PolyfillFunctions');\n\n/**\n * Set up regenerator.\n * You can use this module directly, or just require InitializeCore.\n */\n\nlet hasNativeGenerator;\ntry {\n // If this function was lowered by regenerator-transform, it will try to\n // access `global.regeneratorRuntime` which doesn't exist yet and will throw.\n hasNativeGenerator = hasNativeConstructor(\n function* () {},\n 'GeneratorFunction',\n );\n} catch {\n // In this case, we know generators are not provided natively.\n hasNativeGenerator = false;\n}\n\n// If generators are provided natively, which suggests that there was no\n// regenerator-transform, then there is no need to set up the runtime.\nif (!hasNativeGenerator) {\n polyfillGlobal('regeneratorRuntime', () => {\n // The require just sets up the global, so make sure when we first\n // invoke it the global does not exist\n delete global.regeneratorRuntime;\n\n // regenerator-runtime/runtime exports the regeneratorRuntime object, so we\n // can return it safely.\n return require('regenerator-runtime/runtime'); // flowlint-line untyped-import:off\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 * @flow\n * @format\n */\n\n/**\n * @return whether or not a @param {function} f is provided natively by calling\n * `toString` and check if the result includes `[native code]` in it.\n *\n * Note that a polyfill can technically fake this behavior but few does it.\n * Therefore, this is usually good enough for our purpose.\n */\nfunction isNativeFunction(f: Function): boolean {\n return typeof f === 'function' && f.toString().indexOf('[native code]') > -1;\n}\n\n/**\n * @return whether or not the constructor of @param {object} o is an native\n * function named with @param {string} expectedName.\n */\nfunction hasNativeConstructor(o: Object, expectedName: string): boolean {\n const con = Object.getPrototypeOf(o).constructor;\n return con.name === expectedName && isNativeFunction(con);\n}\n\nmodule.exports = {isNativeFunction, hasNativeConstructor};\n","/**\n * Copyright (c) 2014-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nvar runtime = (function (exports) {\n \"use strict\";\n\n var Op = Object.prototype;\n var hasOwn = Op.hasOwnProperty;\n var defineProperty = Object.defineProperty || function (obj, key, desc) { obj[key] = desc.value; };\n var undefined; // More compressible than void 0.\n var $Symbol = typeof Symbol === \"function\" ? Symbol : {};\n var iteratorSymbol = $Symbol.iterator || \"@@iterator\";\n var asyncIteratorSymbol = $Symbol.asyncIterator || \"@@asyncIterator\";\n var toStringTagSymbol = $Symbol.toStringTag || \"@@toStringTag\";\n\n function define(obj, key, value) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n return obj[key];\n }\n try {\n // IE 8 has a broken Object.defineProperty that only works on DOM objects.\n define({}, \"\");\n } catch (err) {\n define = function(obj, key, value) {\n return obj[key] = value;\n };\n }\n\n function wrap(innerFn, outerFn, self, tryLocsList) {\n // If outerFn provided and outerFn.prototype is a Generator, then outerFn.prototype instanceof Generator.\n var protoGenerator = outerFn && outerFn.prototype instanceof Generator ? outerFn : Generator;\n var generator = Object.create(protoGenerator.prototype);\n var context = new Context(tryLocsList || []);\n\n // The ._invoke method unifies the implementations of the .next,\n // .throw, and .return methods.\n defineProperty(generator, \"_invoke\", { value: makeInvokeMethod(innerFn, self, context) });\n\n return generator;\n }\n exports.wrap = wrap;\n\n // Try/catch helper to minimize deoptimizations. Returns a completion\n // record like context.tryEntries[i].completion. This interface could\n // have been (and was previously) designed to take a closure to be\n // invoked without arguments, but in all the cases we care about we\n // already have an existing method we want to call, so there's no need\n // to create a new function object. We can even get away with assuming\n // the method takes exactly one argument, since that happens to be true\n // in every case, so we don't have to touch the arguments object. The\n // only additional allocation required is the completion record, which\n // has a stable shape and so hopefully should be cheap to allocate.\n function tryCatch(fn, obj, arg) {\n try {\n return { type: \"normal\", arg: fn.call(obj, arg) };\n } catch (err) {\n return { type: \"throw\", arg: err };\n }\n }\n\n var GenStateSuspendedStart = \"suspendedStart\";\n var GenStateSuspendedYield = \"suspendedYield\";\n var GenStateExecuting = \"executing\";\n var GenStateCompleted = \"completed\";\n\n // Returning this object from the innerFn has the same effect as\n // breaking out of the dispatch switch statement.\n var ContinueSentinel = {};\n\n // Dummy constructor functions that we use as the .constructor and\n // .constructor.prototype properties for functions that return Generator\n // objects. For full spec compliance, you may wish to configure your\n // minifier not to mangle the names of these two functions.\n function Generator() {}\n function GeneratorFunction() {}\n function GeneratorFunctionPrototype() {}\n\n // This is a polyfill for %IteratorPrototype% for environments that\n // don't natively support it.\n var IteratorPrototype = {};\n define(IteratorPrototype, iteratorSymbol, function () {\n return this;\n });\n\n var getProto = Object.getPrototypeOf;\n var NativeIteratorPrototype = getProto && getProto(getProto(values([])));\n if (NativeIteratorPrototype &&\n NativeIteratorPrototype !== Op &&\n hasOwn.call(NativeIteratorPrototype, iteratorSymbol)) {\n // This environment has a native %IteratorPrototype%; use it instead\n // of the polyfill.\n IteratorPrototype = NativeIteratorPrototype;\n }\n\n var Gp = GeneratorFunctionPrototype.prototype =\n Generator.prototype = Object.create(IteratorPrototype);\n GeneratorFunction.prototype = GeneratorFunctionPrototype;\n defineProperty(Gp, \"constructor\", { value: GeneratorFunctionPrototype, configurable: true });\n defineProperty(\n GeneratorFunctionPrototype,\n \"constructor\",\n { value: GeneratorFunction, configurable: true }\n );\n GeneratorFunction.displayName = define(\n GeneratorFunctionPrototype,\n toStringTagSymbol,\n \"GeneratorFunction\"\n );\n\n // Helper for defining the .next, .throw, and .return methods of the\n // Iterator interface in terms of a single ._invoke method.\n function defineIteratorMethods(prototype) {\n [\"next\", \"throw\", \"return\"].forEach(function(method) {\n define(prototype, method, function(arg) {\n return this._invoke(method, arg);\n });\n });\n }\n\n exports.isGeneratorFunction = function(genFun) {\n var ctor = typeof genFun === \"function\" && genFun.constructor;\n return ctor\n ? ctor === GeneratorFunction ||\n // For the native GeneratorFunction constructor, the best we can\n // do is to check its .name property.\n (ctor.displayName || ctor.name) === \"GeneratorFunction\"\n : false;\n };\n\n exports.mark = function(genFun) {\n if (Object.setPrototypeOf) {\n Object.setPrototypeOf(genFun, GeneratorFunctionPrototype);\n } else {\n genFun.__proto__ = GeneratorFunctionPrototype;\n define(genFun, toStringTagSymbol, \"GeneratorFunction\");\n }\n genFun.prototype = Object.create(Gp);\n return genFun;\n };\n\n // Within the body of any async function, `await x` is transformed to\n // `yield regeneratorRuntime.awrap(x)`, so that the runtime can test\n // `hasOwn.call(value, \"__await\")` to determine if the yielded value is\n // meant to be awaited.\n exports.awrap = function(arg) {\n return { __await: arg };\n };\n\n function AsyncIterator(generator, PromiseImpl) {\n function invoke(method, arg, resolve, reject) {\n var record = tryCatch(generator[method], generator, arg);\n if (record.type === \"throw\") {\n reject(record.arg);\n } else {\n var result = record.arg;\n var value = result.value;\n if (value &&\n typeof value === \"object\" &&\n hasOwn.call(value, \"__await\")) {\n return PromiseImpl.resolve(value.__await).then(function(value) {\n invoke(\"next\", value, resolve, reject);\n }, function(err) {\n invoke(\"throw\", err, resolve, reject);\n });\n }\n\n return PromiseImpl.resolve(value).then(function(unwrapped) {\n // When a yielded Promise is resolved, its final value becomes\n // the .value of the Promise<{value,done}> result for the\n // current iteration.\n result.value = unwrapped;\n resolve(result);\n }, function(error) {\n // If a rejected Promise was yielded, throw the rejection back\n // into the async generator function so it can be handled there.\n return invoke(\"throw\", error, resolve, reject);\n });\n }\n }\n\n var previousPromise;\n\n function enqueue(method, arg) {\n function callInvokeWithMethodAndArg() {\n return new PromiseImpl(function(resolve, reject) {\n invoke(method, arg, resolve, reject);\n });\n }\n\n return previousPromise =\n // If enqueue has been called before, then we want to wait until\n // all previous Promises have been resolved before calling invoke,\n // so that results are always delivered in the correct order. If\n // enqueue has not been called before, then it is important to\n // call invoke immediately, without waiting on a callback to fire,\n // so that the async generator function has the opportunity to do\n // any necessary setup in a predictable way. This predictability\n // is why the Promise constructor synchronously invokes its\n // executor callback, and why async functions synchronously\n // execute code before the first await. Since we implement simple\n // async functions in terms of async generators, it is especially\n // important to get this right, even though it requires care.\n previousPromise ? previousPromise.then(\n callInvokeWithMethodAndArg,\n // Avoid propagating failures to Promises returned by later\n // invocations of the iterator.\n callInvokeWithMethodAndArg\n ) : callInvokeWithMethodAndArg();\n }\n\n // Define the unified helper method that is used to implement .next,\n // .throw, and .return (see defineIteratorMethods).\n defineProperty(this, \"_invoke\", { value: enqueue });\n }\n\n defineIteratorMethods(AsyncIterator.prototype);\n define(AsyncIterator.prototype, asyncIteratorSymbol, function () {\n return this;\n });\n exports.AsyncIterator = AsyncIterator;\n\n // Note that simple async functions are implemented on top of\n // AsyncIterator objects; they just return a Promise for the value of\n // the final result produced by the iterator.\n exports.async = function(innerFn, outerFn, self, tryLocsList, PromiseImpl) {\n if (PromiseImpl === void 0) PromiseImpl = Promise;\n\n var iter = new AsyncIterator(\n wrap(innerFn, outerFn, self, tryLocsList),\n PromiseImpl\n );\n\n return exports.isGeneratorFunction(outerFn)\n ? iter // If outerFn is a generator, return the full iterator.\n : iter.next().then(function(result) {\n return result.done ? result.value : iter.next();\n });\n };\n\n function makeInvokeMethod(innerFn, self, context) {\n var state = GenStateSuspendedStart;\n\n return function invoke(method, arg) {\n if (state === GenStateExecuting) {\n throw new Error(\"Generator is already running\");\n }\n\n if (state === GenStateCompleted) {\n if (method === \"throw\") {\n throw arg;\n }\n\n // Be forgiving, per 25.3.3.3.3 of the spec:\n // https://people.mozilla.org/~jorendorff/es6-draft.html#sec-generatorresume\n return doneResult();\n }\n\n context.method = method;\n context.arg = arg;\n\n while (true) {\n var delegate = context.delegate;\n if (delegate) {\n var delegateResult = maybeInvokeDelegate(delegate, context);\n if (delegateResult) {\n if (delegateResult === ContinueSentinel) continue;\n return delegateResult;\n }\n }\n\n if (context.method === \"next\") {\n // Setting context._sent for legacy support of Babel's\n // function.sent implementation.\n context.sent = context._sent = context.arg;\n\n } else if (context.method === \"throw\") {\n if (state === GenStateSuspendedStart) {\n state = GenStateCompleted;\n throw context.arg;\n }\n\n context.dispatchException(context.arg);\n\n } else if (context.method === \"return\") {\n context.abrupt(\"return\", context.arg);\n }\n\n state = GenStateExecuting;\n\n var record = tryCatch(innerFn, self, context);\n if (record.type === \"normal\") {\n // If an exception is thrown from innerFn, we leave state ===\n // GenStateExecuting and loop back for another invocation.\n state = context.done\n ? GenStateCompleted\n : GenStateSuspendedYield;\n\n if (record.arg === ContinueSentinel) {\n continue;\n }\n\n return {\n value: record.arg,\n done: context.done\n };\n\n } else if (record.type === \"throw\") {\n state = GenStateCompleted;\n // Dispatch the exception by looping back around to the\n // context.dispatchException(context.arg) call above.\n context.method = \"throw\";\n context.arg = record.arg;\n }\n }\n };\n }\n\n // Call delegate.iterator[context.method](context.arg) and handle the\n // result, either by returning a { value, done } result from the\n // delegate iterator, or by modifying context.method and context.arg,\n // setting context.delegate to null, and returning the ContinueSentinel.\n function maybeInvokeDelegate(delegate, context) {\n var methodName = context.method;\n var method = delegate.iterator[methodName];\n if (method === undefined) {\n // A .throw or .return when the delegate iterator has no .throw\n // method, or a missing .next mehtod, always terminate the\n // yield* loop.\n context.delegate = null;\n\n // Note: [\"return\"] must be used for ES3 parsing compatibility.\n if (methodName === \"throw\" && delegate.iterator[\"return\"]) {\n // If the delegate iterator has a return method, give it a\n // chance to clean up.\n context.method = \"return\";\n context.arg = undefined;\n maybeInvokeDelegate(delegate, context);\n\n if (context.method === \"throw\") {\n // If maybeInvokeDelegate(context) changed context.method from\n // \"return\" to \"throw\", let that override the TypeError below.\n return ContinueSentinel;\n }\n }\n if (methodName !== \"return\") {\n context.method = \"throw\";\n context.arg = new TypeError(\n \"The iterator does not provide a '\" + methodName + \"' method\");\n }\n\n return ContinueSentinel;\n }\n\n var record = tryCatch(method, delegate.iterator, context.arg);\n\n if (record.type === \"throw\") {\n context.method = \"throw\";\n context.arg = record.arg;\n context.delegate = null;\n return ContinueSentinel;\n }\n\n var info = record.arg;\n\n if (! info) {\n context.method = \"throw\";\n context.arg = new TypeError(\"iterator result is not an object\");\n context.delegate = null;\n return ContinueSentinel;\n }\n\n if (info.done) {\n // Assign the result of the finished delegate to the temporary\n // variable specified by delegate.resultName (see delegateYield).\n context[delegate.resultName] = info.value;\n\n // Resume execution at the desired location (see delegateYield).\n context.next = delegate.nextLoc;\n\n // If context.method was \"throw\" but the delegate handled the\n // exception, let the outer generator proceed normally. If\n // context.method was \"next\", forget context.arg since it has been\n // \"consumed\" by the delegate iterator. If context.method was\n // \"return\", allow the original .return call to continue in the\n // outer generator.\n if (context.method !== \"return\") {\n context.method = \"next\";\n context.arg = undefined;\n }\n\n } else {\n // Re-yield the result returned by the delegate method.\n return info;\n }\n\n // The delegate iterator is finished, so forget it and continue with\n // the outer generator.\n context.delegate = null;\n return ContinueSentinel;\n }\n\n // Define Generator.prototype.{next,throw,return} in terms of the\n // unified ._invoke helper method.\n defineIteratorMethods(Gp);\n\n define(Gp, toStringTagSymbol, \"Generator\");\n\n // A Generator should always return itself as the iterator object when the\n // @@iterator function is called on it. Some browsers' implementations of the\n // iterator prototype chain incorrectly implement this, causing the Generator\n // object to not be returned from this call. This ensures that doesn't happen.\n // See https://github.com/facebook/regenerator/issues/274 for more details.\n define(Gp, iteratorSymbol, function() {\n return this;\n });\n\n define(Gp, \"toString\", function() {\n return \"[object Generator]\";\n });\n\n function pushTryEntry(locs) {\n var entry = { tryLoc: locs[0] };\n\n if (1 in locs) {\n entry.catchLoc = locs[1];\n }\n\n if (2 in locs) {\n entry.finallyLoc = locs[2];\n entry.afterLoc = locs[3];\n }\n\n this.tryEntries.push(entry);\n }\n\n function resetTryEntry(entry) {\n var record = entry.completion || {};\n record.type = \"normal\";\n delete record.arg;\n entry.completion = record;\n }\n\n function Context(tryLocsList) {\n // The root entry object (effectively a try statement without a catch\n // or a finally block) gives us a place to store values thrown from\n // locations where there is no enclosing try statement.\n this.tryEntries = [{ tryLoc: \"root\" }];\n tryLocsList.forEach(pushTryEntry, this);\n this.reset(true);\n }\n\n exports.keys = function(val) {\n var object = Object(val);\n var keys = [];\n for (var key in object) {\n keys.push(key);\n }\n keys.reverse();\n\n // Rather than returning an object with a next method, we keep\n // things simple and return the next function itself.\n return function next() {\n while (keys.length) {\n var key = keys.pop();\n if (key in object) {\n next.value = key;\n next.done = false;\n return next;\n }\n }\n\n // To avoid creating an additional object, we just hang the .value\n // and .done properties off the next function object itself. This\n // also ensures that the minifier will not anonymize the function.\n next.done = true;\n return next;\n };\n };\n\n function values(iterable) {\n if (iterable) {\n var iteratorMethod = iterable[iteratorSymbol];\n if (iteratorMethod) {\n return iteratorMethod.call(iterable);\n }\n\n if (typeof iterable.next === \"function\") {\n return iterable;\n }\n\n if (!isNaN(iterable.length)) {\n var i = -1, next = function next() {\n while (++i < iterable.length) {\n if (hasOwn.call(iterable, i)) {\n next.value = iterable[i];\n next.done = false;\n return next;\n }\n }\n\n next.value = undefined;\n next.done = true;\n\n return next;\n };\n\n return next.next = next;\n }\n }\n\n // Return an iterator with no values.\n return { next: doneResult };\n }\n exports.values = values;\n\n function doneResult() {\n return { value: undefined, done: true };\n }\n\n Context.prototype = {\n constructor: Context,\n\n reset: function(skipTempReset) {\n this.prev = 0;\n this.next = 0;\n // Resetting context._sent for legacy support of Babel's\n // function.sent implementation.\n this.sent = this._sent = undefined;\n this.done = false;\n this.delegate = null;\n\n this.method = \"next\";\n this.arg = undefined;\n\n this.tryEntries.forEach(resetTryEntry);\n\n if (!skipTempReset) {\n for (var name in this) {\n // Not sure about the optimal order of these conditions:\n if (name.charAt(0) === \"t\" &&\n hasOwn.call(this, name) &&\n !isNaN(+name.slice(1))) {\n this[name] = undefined;\n }\n }\n }\n },\n\n stop: function() {\n this.done = true;\n\n var rootEntry = this.tryEntries[0];\n var rootRecord = rootEntry.completion;\n if (rootRecord.type === \"throw\") {\n throw rootRecord.arg;\n }\n\n return this.rval;\n },\n\n dispatchException: function(exception) {\n if (this.done) {\n throw exception;\n }\n\n var context = this;\n function handle(loc, caught) {\n record.type = \"throw\";\n record.arg = exception;\n context.next = loc;\n\n if (caught) {\n // If the dispatched exception was caught by a catch block,\n // then let that catch block handle the exception normally.\n context.method = \"next\";\n context.arg = undefined;\n }\n\n return !! caught;\n }\n\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n var record = entry.completion;\n\n if (entry.tryLoc === \"root\") {\n // Exception thrown outside of any try block that could handle\n // it, so set the completion value of the entire function to\n // throw the exception.\n return handle(\"end\");\n }\n\n if (entry.tryLoc <= this.prev) {\n var hasCatch = hasOwn.call(entry, \"catchLoc\");\n var hasFinally = hasOwn.call(entry, \"finallyLoc\");\n\n if (hasCatch && hasFinally) {\n if (this.prev < entry.catchLoc) {\n return handle(entry.catchLoc, true);\n } else if (this.prev < entry.finallyLoc) {\n return handle(entry.finallyLoc);\n }\n\n } else if (hasCatch) {\n if (this.prev < entry.catchLoc) {\n return handle(entry.catchLoc, true);\n }\n\n } else if (hasFinally) {\n if (this.prev < entry.finallyLoc) {\n return handle(entry.finallyLoc);\n }\n\n } else {\n throw new Error(\"try statement without catch or finally\");\n }\n }\n }\n },\n\n abrupt: function(type, arg) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n if (entry.tryLoc <= this.prev &&\n hasOwn.call(entry, \"finallyLoc\") &&\n this.prev < entry.finallyLoc) {\n var finallyEntry = entry;\n break;\n }\n }\n\n if (finallyEntry &&\n (type === \"break\" ||\n type === \"continue\") &&\n finallyEntry.tryLoc <= arg &&\n arg <= finallyEntry.finallyLoc) {\n // Ignore the finally entry if control is not jumping to a\n // location outside the try/catch block.\n finallyEntry = null;\n }\n\n var record = finallyEntry ? finallyEntry.completion : {};\n record.type = type;\n record.arg = arg;\n\n if (finallyEntry) {\n this.method = \"next\";\n this.next = finallyEntry.finallyLoc;\n return ContinueSentinel;\n }\n\n return this.complete(record);\n },\n\n complete: function(record, afterLoc) {\n if (record.type === \"throw\") {\n throw record.arg;\n }\n\n if (record.type === \"break\" ||\n record.type === \"continue\") {\n this.next = record.arg;\n } else if (record.type === \"return\") {\n this.rval = this.arg = record.arg;\n this.method = \"return\";\n this.next = \"end\";\n } else if (record.type === \"normal\" && afterLoc) {\n this.next = afterLoc;\n }\n\n return ContinueSentinel;\n },\n\n finish: function(finallyLoc) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n if (entry.finallyLoc === finallyLoc) {\n this.complete(entry.completion, entry.afterLoc);\n resetTryEntry(entry);\n return ContinueSentinel;\n }\n }\n },\n\n \"catch\": function(tryLoc) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n if (entry.tryLoc === tryLoc) {\n var record = entry.completion;\n if (record.type === \"throw\") {\n var thrown = record.arg;\n resetTryEntry(entry);\n }\n return thrown;\n }\n }\n\n // The context.catch method must only be called with a location\n // argument that corresponds to a known catch block.\n throw new Error(\"illegal catch attempt\");\n },\n\n delegateYield: function(iterable, resultName, nextLoc) {\n this.delegate = {\n iterator: values(iterable),\n resultName: resultName,\n nextLoc: nextLoc\n };\n\n if (this.method === \"next\") {\n // Deliberately forget the last sent value so that we don't\n // accidentally pass it on to the delegate.\n this.arg = undefined;\n }\n\n return ContinueSentinel;\n }\n };\n\n // Regardless of whether this script is executing as a CommonJS module\n // or not, return the runtime object so that we can declare the variable\n // regeneratorRuntime in the outer scope, which allows this module to be\n // injected easily by `bin/regenerator --include-runtime script.js`.\n return exports;\n\n}(\n // If this script is executing as a CommonJS module, use module.exports\n // as the regeneratorRuntime namespace. Otherwise create a new empty\n // object. Either way, the resulting object will be used to initialize\n // the regeneratorRuntime variable at the top of this file.\n typeof module === \"object\" ? module.exports : {}\n));\n\ntry {\n regeneratorRuntime = runtime;\n} catch (accidentalStrictMode) {\n // This module should not be running in strict mode, so the above\n // assignment should always work unless something is misconfigured. Just\n // in case runtime.js accidentally runs in strict mode, in modern engines\n // we can explicitly access globalThis. In older engines we can escape\n // strict mode using a global Function call. This could conceivably fail\n // if a Content Security Policy forbids using Function, but in that case\n // the proper solution is to fix the accidental strict mode problem. If\n // you've misconfigured your bundler to force strict mode and applied a\n // CSP to forbid Function, and you're not willing to fix either of those\n // problems, please detail your unique predicament in a GitHub issue.\n if (typeof globalThis === \"object\") {\n globalThis.regeneratorRuntime = runtime;\n } else {\n Function(\"r\", \"regeneratorRuntime = r\")(runtime);\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 * @flow strict-local\n * @format\n */\n\n'use strict';\n\nconst {isNativeFunction} = require('../Utilities/FeatureDetection');\nconst {polyfillGlobal} = require('../Utilities/PolyfillFunctions');\n\nif (__DEV__) {\n if (typeof global.Promise !== 'function') {\n console.error('Promise should exist before setting up timers.');\n }\n}\n\n// Currently, Hermes `Promise` is implemented via Internal Bytecode.\nconst hasHermesPromiseQueuedToJSVM =\n global.HermesInternal?.hasPromise?.() === true &&\n global.HermesInternal?.useEngineQueue?.() === true;\n\nconst hasNativePromise = isNativeFunction(Promise);\nconst hasPromiseQueuedToJSVM = hasNativePromise || hasHermesPromiseQueuedToJSVM;\n\n// In bridgeless mode, timers are host functions installed from cpp.\nif (global.RN$Bridgeless !== true) {\n /**\n * Set up timers.\n * You can use this module directly, or just require InitializeCore.\n */\n const defineLazyTimer = (\n name:\n | $TEMPORARY$string<'cancelAnimationFrame'>\n | $TEMPORARY$string<'cancelIdleCallback'>\n | $TEMPORARY$string<'clearInterval'>\n | $TEMPORARY$string<'clearTimeout'>\n | $TEMPORARY$string<'requestAnimationFrame'>\n | $TEMPORARY$string<'requestIdleCallback'>\n | $TEMPORARY$string<'setInterval'>\n | $TEMPORARY$string<'setTimeout'>,\n ) => {\n polyfillGlobal(name, () => require('./Timers/JSTimers')[name]);\n };\n defineLazyTimer('setTimeout');\n defineLazyTimer('clearTimeout');\n defineLazyTimer('setInterval');\n defineLazyTimer('clearInterval');\n defineLazyTimer('requestAnimationFrame');\n defineLazyTimer('cancelAnimationFrame');\n defineLazyTimer('requestIdleCallback');\n defineLazyTimer('cancelIdleCallback');\n}\n\n/**\n * Set up immediate APIs, which is required to use the same microtask queue\n * as the Promise.\n */\nif (hasPromiseQueuedToJSVM) {\n // When promise queues to the JSVM microtasks queue, we shim the immediate\n // APIs via `queueMicrotask` to maintain the backward compatibility.\n polyfillGlobal(\n 'setImmediate',\n () => require('./Timers/immediateShim').setImmediate,\n );\n polyfillGlobal(\n 'clearImmediate',\n () => require('./Timers/immediateShim').clearImmediate,\n );\n} else {\n // When promise was polyfilled hence is queued to the RN microtask queue,\n // we polyfill the immediate APIs as aliases to the ReactNativeMicrotask APIs.\n // Note that in bridgeless mode, immediate APIs are installed from cpp.\n if (global.RN$Bridgeless !== true) {\n polyfillGlobal(\n 'setImmediate',\n () => require('./Timers/JSTimers').queueReactNativeMicrotask,\n );\n polyfillGlobal(\n 'clearImmediate',\n () => require('./Timers/JSTimers').clearReactNativeMicrotask,\n );\n }\n}\n\n/**\n * Set up the microtask queueing API, which is required to use the same\n * microtask queue as the Promise.\n */\nif (hasHermesPromiseQueuedToJSVM) {\n // Fast path for Hermes.\n polyfillGlobal('queueMicrotask', () => global.HermesInternal?.enqueueJob);\n} else {\n // Polyfill it with promise (regardless it's polyfilled or native) otherwise.\n polyfillGlobal(\n 'queueMicrotask',\n () => require('./Timers/queueMicrotask.js').default,\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 * @flow\n */\n\nimport NativeTiming from './NativeTiming';\n\nconst BatchedBridge = require('../../BatchedBridge/BatchedBridge');\nconst Systrace = require('../../Performance/Systrace');\nconst invariant = require('invariant');\n\n/**\n * JS implementation of timer functions. Must be completely driven by an\n * external clock signal, all that's stored here is timerID, timer type, and\n * callback.\n */\n\nexport type JSTimerType =\n | 'setTimeout'\n | 'setInterval'\n | 'requestAnimationFrame'\n | 'queueReactNativeMicrotask'\n | 'requestIdleCallback';\n\n// These timing constants should be kept in sync with the ones in native ios and\n// android `RCTTiming` module.\nconst FRAME_DURATION = 1000 / 60;\nconst IDLE_CALLBACK_FRAME_DEADLINE = 1;\n\n// Parallel arrays\nconst callbacks: Array = [];\nconst types: Array = [];\nconst timerIDs: Array = [];\nlet reactNativeMicrotasks: Array = [];\nlet requestIdleCallbacks: Array = [];\nconst requestIdleCallbackTimeouts: {[number]: number, ...} = {};\n\nlet GUID = 1;\nconst errors: Array = [];\n\nlet hasEmittedTimeDriftWarning = false;\n\n// Returns a free index if one is available, and the next consecutive index otherwise.\nfunction _getFreeIndex(): number {\n let freeIndex = timerIDs.indexOf(null);\n if (freeIndex === -1) {\n freeIndex = timerIDs.length;\n }\n return freeIndex;\n}\n\nfunction _allocateCallback(func: Function, type: JSTimerType): number {\n const id = GUID++;\n const freeIndex = _getFreeIndex();\n timerIDs[freeIndex] = id;\n callbacks[freeIndex] = func;\n types[freeIndex] = type;\n return id;\n}\n\n/**\n * Calls the callback associated with the ID. Also unregister that callback\n * if it was a one time timer (setTimeout), and not unregister it if it was\n * recurring (setInterval).\n */\nfunction _callTimer(timerID: number, frameTime: number, didTimeout: ?boolean) {\n if (timerID > GUID) {\n console.warn(\n 'Tried to call timer with ID %s but no such timer exists.',\n timerID,\n );\n }\n\n // timerIndex of -1 means that no timer with that ID exists. There are\n // two situations when this happens, when a garbage timer ID was given\n // and when a previously existing timer was deleted before this callback\n // fired. In both cases we want to ignore the timer id, but in the former\n // case we warn as well.\n const timerIndex = timerIDs.indexOf(timerID);\n if (timerIndex === -1) {\n return;\n }\n\n const type = types[timerIndex];\n const callback = callbacks[timerIndex];\n if (!callback || !type) {\n console.error('No callback found for timerID ' + timerID);\n return;\n }\n\n if (__DEV__) {\n Systrace.beginEvent(type + ' [invoke]');\n }\n\n // Clear the metadata\n if (type !== 'setInterval') {\n _clearIndex(timerIndex);\n }\n\n try {\n if (\n type === 'setTimeout' ||\n type === 'setInterval' ||\n type === 'queueReactNativeMicrotask'\n ) {\n callback();\n } else if (type === 'requestAnimationFrame') {\n callback(global.performance.now());\n } else if (type === 'requestIdleCallback') {\n callback({\n timeRemaining: function () {\n // TODO: Optimisation: allow running for longer than one frame if\n // there are no pending JS calls on the bridge from native. This\n // would require a way to check the bridge queue synchronously.\n return Math.max(\n 0,\n FRAME_DURATION - (global.performance.now() - frameTime),\n );\n },\n didTimeout: !!didTimeout,\n });\n } else {\n console.error('Tried to call a callback with invalid type: ' + type);\n }\n } catch (e) {\n // Don't rethrow so that we can run all timers.\n errors.push(e);\n }\n\n if (__DEV__) {\n Systrace.endEvent();\n }\n}\n\n/**\n * Performs a single pass over the enqueued reactNativeMicrotasks. Returns whether\n * more reactNativeMicrotasks are queued up (can be used as a condition a while loop).\n */\nfunction _callReactNativeMicrotasksPass() {\n if (reactNativeMicrotasks.length === 0) {\n return false;\n }\n\n if (__DEV__) {\n Systrace.beginEvent('callReactNativeMicrotasksPass()');\n }\n\n // The main reason to extract a single pass is so that we can track\n // in the system trace\n const passReactNativeMicrotasks = reactNativeMicrotasks;\n reactNativeMicrotasks = [];\n\n // Use for loop rather than forEach as per @vjeux's advice\n // https://github.com/facebook/react-native/commit/c8fd9f7588ad02d2293cac7224715f4af7b0f352#commitcomment-14570051\n for (let i = 0; i < passReactNativeMicrotasks.length; ++i) {\n _callTimer(passReactNativeMicrotasks[i], 0);\n }\n\n if (__DEV__) {\n Systrace.endEvent();\n }\n return reactNativeMicrotasks.length > 0;\n}\n\nfunction _clearIndex(i: number) {\n timerIDs[i] = null;\n callbacks[i] = null;\n types[i] = null;\n}\n\nfunction _freeCallback(timerID: number) {\n // timerIDs contains nulls after timers have been removed;\n // ignore nulls upfront so indexOf doesn't find them\n if (timerID == null) {\n return;\n }\n\n const index = timerIDs.indexOf(timerID);\n // See corresponding comment in `callTimers` for reasoning behind this\n if (index !== -1) {\n const type = types[index];\n _clearIndex(index);\n if (\n type !== 'queueReactNativeMicrotask' &&\n type !== 'requestIdleCallback'\n ) {\n deleteTimer(timerID);\n }\n }\n}\n\n/**\n * JS implementation of timer functions. Must be completely driven by an\n * external clock signal, all that's stored here is timerID, timer type, and\n * callback.\n */\nconst JSTimers = {\n /**\n * @param {function} func Callback to be invoked after `duration` ms.\n * @param {number} duration Number of milliseconds.\n */\n setTimeout: function (\n func: Function,\n duration: number,\n ...args: any\n ): number {\n const id = _allocateCallback(\n () => func.apply(undefined, args),\n 'setTimeout',\n );\n createTimer(id, duration || 0, Date.now(), /* recurring */ false);\n return id;\n },\n\n /**\n * @param {function} func Callback to be invoked every `duration` ms.\n * @param {number} duration Number of milliseconds.\n */\n setInterval: function (\n func: Function,\n duration: number,\n ...args: any\n ): number {\n const id = _allocateCallback(\n () => func.apply(undefined, args),\n 'setInterval',\n );\n createTimer(id, duration || 0, Date.now(), /* recurring */ true);\n return id;\n },\n\n /**\n * The React Native microtask mechanism is used to back public APIs e.g.\n * `queueMicrotask`, `clearImmediate`, and `setImmediate` (which is used by\n * the Promise polyfill) when the JSVM microtask mechanism is not used.\n *\n * @param {function} func Callback to be invoked before the end of the\n * current JavaScript execution loop.\n */\n queueReactNativeMicrotask: function (func: Function, ...args: any): number {\n const id = _allocateCallback(\n () => func.apply(undefined, args),\n 'queueReactNativeMicrotask',\n );\n reactNativeMicrotasks.push(id);\n return id;\n },\n\n /**\n * @param {function} func Callback to be invoked every frame.\n */\n requestAnimationFrame: function (func: Function): any | number {\n const id = _allocateCallback(func, 'requestAnimationFrame');\n createTimer(id, 1, Date.now(), /* recurring */ false);\n return id;\n },\n\n /**\n * @param {function} func Callback to be invoked every frame and provided\n * with time remaining in frame.\n * @param {?object} options\n */\n requestIdleCallback: function (\n func: Function,\n options: ?Object,\n ): any | number {\n if (requestIdleCallbacks.length === 0) {\n setSendIdleEvents(true);\n }\n\n const timeout = options && options.timeout;\n const id: number = _allocateCallback(\n timeout != null\n ? (deadline: any) => {\n const timeoutId: number = requestIdleCallbackTimeouts[id];\n if (timeoutId) {\n JSTimers.clearTimeout(timeoutId);\n delete requestIdleCallbackTimeouts[id];\n }\n return func(deadline);\n }\n : func,\n 'requestIdleCallback',\n );\n requestIdleCallbacks.push(id);\n\n if (timeout != null) {\n const timeoutId: number = JSTimers.setTimeout(() => {\n const index: number = requestIdleCallbacks.indexOf(id);\n if (index > -1) {\n requestIdleCallbacks.splice(index, 1);\n _callTimer(id, global.performance.now(), true);\n }\n delete requestIdleCallbackTimeouts[id];\n if (requestIdleCallbacks.length === 0) {\n setSendIdleEvents(false);\n }\n }, timeout);\n requestIdleCallbackTimeouts[id] = timeoutId;\n }\n return id;\n },\n\n cancelIdleCallback: function (timerID: number) {\n _freeCallback(timerID);\n const index = requestIdleCallbacks.indexOf(timerID);\n if (index !== -1) {\n requestIdleCallbacks.splice(index, 1);\n }\n\n const timeoutId = requestIdleCallbackTimeouts[timerID];\n if (timeoutId) {\n JSTimers.clearTimeout(timeoutId);\n delete requestIdleCallbackTimeouts[timerID];\n }\n\n if (requestIdleCallbacks.length === 0) {\n setSendIdleEvents(false);\n }\n },\n\n clearTimeout: function (timerID: number) {\n _freeCallback(timerID);\n },\n\n clearInterval: function (timerID: number) {\n _freeCallback(timerID);\n },\n\n clearReactNativeMicrotask: function (timerID: number) {\n _freeCallback(timerID);\n const index = reactNativeMicrotasks.indexOf(timerID);\n if (index !== -1) {\n reactNativeMicrotasks.splice(index, 1);\n }\n },\n\n cancelAnimationFrame: function (timerID: number) {\n _freeCallback(timerID);\n },\n\n /**\n * This is called from the native side. We are passed an array of timerIDs,\n * and\n */\n callTimers: function (timersToCall: Array): any | void {\n invariant(\n timersToCall.length !== 0,\n 'Cannot call `callTimers` with an empty list of IDs.',\n );\n\n errors.length = 0;\n for (let i = 0; i < timersToCall.length; i++) {\n _callTimer(timersToCall[i], 0);\n }\n\n const errorCount = errors.length;\n if (errorCount > 0) {\n if (errorCount > 1) {\n // Throw all the other errors in a setTimeout, which will throw each\n // error one at a time\n for (let ii = 1; ii < errorCount; ii++) {\n JSTimers.setTimeout(\n ((error: Error) => {\n throw error;\n }).bind(null, errors[ii]),\n 0,\n );\n }\n }\n throw errors[0];\n }\n },\n\n callIdleCallbacks: function (frameTime: number) {\n if (\n FRAME_DURATION - (Date.now() - frameTime) <\n IDLE_CALLBACK_FRAME_DEADLINE\n ) {\n return;\n }\n\n errors.length = 0;\n if (requestIdleCallbacks.length > 0) {\n const passIdleCallbacks = requestIdleCallbacks;\n requestIdleCallbacks = [];\n\n for (let i = 0; i < passIdleCallbacks.length; ++i) {\n _callTimer(passIdleCallbacks[i], frameTime);\n }\n }\n\n if (requestIdleCallbacks.length === 0) {\n setSendIdleEvents(false);\n }\n\n errors.forEach(error =>\n JSTimers.setTimeout(() => {\n throw error;\n }, 0),\n );\n },\n\n /**\n * This is called after we execute any command we receive from native but\n * before we hand control back to native.\n */\n callReactNativeMicrotasks() {\n errors.length = 0;\n while (_callReactNativeMicrotasksPass()) {}\n errors.forEach(error =>\n JSTimers.setTimeout(() => {\n throw error;\n }, 0),\n );\n },\n\n /**\n * Called from native (in development) when environment times are out-of-sync.\n */\n emitTimeDriftWarning(warningMessage: string) {\n if (hasEmittedTimeDriftWarning) {\n return;\n }\n hasEmittedTimeDriftWarning = true;\n console.warn(warningMessage);\n },\n};\n\nfunction createTimer(\n callbackID: number,\n duration: number,\n jsSchedulingTime: number,\n repeats: boolean,\n): void {\n invariant(NativeTiming, 'NativeTiming is available');\n NativeTiming.createTimer(callbackID, duration, jsSchedulingTime, repeats);\n}\n\nfunction deleteTimer(timerID: number): void {\n invariant(NativeTiming, 'NativeTiming is available');\n NativeTiming.deleteTimer(timerID);\n}\n\nfunction setSendIdleEvents(sendIdleEvents: boolean): void {\n invariant(NativeTiming, 'NativeTiming is available');\n NativeTiming.setSendIdleEvents(sendIdleEvents);\n}\n\nlet ExportedJSTimers: {|\n callIdleCallbacks: (frameTime: number) => any | void,\n callReactNativeMicrotasks: () => void,\n callTimers: (timersToCall: Array) => any | void,\n cancelAnimationFrame: (timerID: number) => void,\n cancelIdleCallback: (timerID: number) => void,\n clearReactNativeMicrotask: (timerID: number) => void,\n clearInterval: (timerID: number) => void,\n clearTimeout: (timerID: number) => void,\n emitTimeDriftWarning: (warningMessage: string) => any | void,\n requestAnimationFrame: (func: any) => any | number,\n requestIdleCallback: (func: any, options: ?any) => any | number,\n queueReactNativeMicrotask: (func: any, ...args: any) => number,\n setInterval: (func: any, duration: number, ...args: any) => number,\n setTimeout: (func: any, duration: number, ...args: any) => number,\n|};\n\nif (!NativeTiming) {\n console.warn(\"Timing native module is not available, can't set timers.\");\n // $FlowFixMe[prop-missing] : we can assume timers are generally available\n ExportedJSTimers = ({\n callReactNativeMicrotasks: JSTimers.callReactNativeMicrotasks,\n queueReactNativeMicrotask: JSTimers.queueReactNativeMicrotask,\n }: typeof JSTimers);\n} else {\n ExportedJSTimers = JSTimers;\n}\n\nBatchedBridge.setReactNativeMicrotasksCallback(\n JSTimers.callReactNativeMicrotasks,\n);\n\nmodule.exports = ExportedJSTimers;\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 * @flow strict\n * @format\n */\n\nimport type {TurboModule} from '../../TurboModule/RCTExport';\n\nimport * as TurboModuleRegistry from '../../TurboModule/TurboModuleRegistry';\n\nexport interface Spec extends TurboModule {\n +createTimer: (\n callbackID: number,\n duration: number,\n jsSchedulingTime: number,\n repeats: boolean,\n ) => void;\n +deleteTimer: (timerID: number) => void;\n +setSendIdleEvents: (sendIdleEvents: boolean) => void;\n}\n\nexport default (TurboModuleRegistry.get('Timing'): ?Spec);\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 * @flow\n */\n\n'use strict';\n\n// Globally Unique Immediate ID.\nlet GUIID = 1;\n\n// A global set of the currently cleared immediates.\nconst clearedImmediates: Set = new Set();\n\n/**\n * Shim the setImmediate API on top of queueMicrotask.\n * @param {function} func Callback to be invoked before the end of the\n * current JavaScript execution loop.\n */\nfunction setImmediate(callback: Function, ...args: any): number {\n if (arguments.length < 1) {\n throw new TypeError(\n 'setImmediate must be called with at least one argument (a function to call)',\n );\n }\n if (typeof callback !== 'function') {\n throw new TypeError(\n 'The first argument to setImmediate must be a function.',\n );\n }\n\n const id = GUIID++;\n // This is an edgey case in which the sequentially assigned ID has been\n // \"guessed\" and \"cleared\" ahead of time, so we need to clear it up first.\n if (clearedImmediates.has(id)) {\n clearedImmediates.delete(id);\n }\n\n // $FlowFixMe[incompatible-call]\n global.queueMicrotask(() => {\n if (!clearedImmediates.has(id)) {\n callback.apply(undefined, args);\n } else {\n // Free up the Set entry.\n clearedImmediates.delete(id);\n }\n });\n\n return id;\n}\n\n/**\n * @param {number} immediateID The ID of the immediate to be clearred.\n */\nfunction clearImmediate(immediateID: number) {\n clearedImmediates.add(immediateID);\n}\n\nconst immediateShim = {\n setImmediate: setImmediate,\n clearImmediate: clearImmediate,\n};\n\nmodule.exports = immediateShim;\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 * @flow\n */\n\n'use strict';\n\nlet resolvedPromise;\n\n/**\n * Polyfill for the microtask queueing API defined by WHATWG HTML spec.\n * https://html.spec.whatwg.org/multipage/timers-and-user-prompts.html#dom-queuemicrotask\n *\n * The method must queue a microtask to invoke @param {function} callback, and\n * if the callback throws an exception, report the exception.\n */\nexport default function queueMicrotask(callback: Function) {\n if (arguments.length < 1) {\n throw new TypeError(\n 'queueMicrotask must be called with at least one argument (a function to call)',\n );\n }\n if (typeof callback !== 'function') {\n throw new TypeError('The argument to queueMicrotask must be a function.');\n }\n\n // Try to reuse a lazily allocated resolved promise from closure.\n (resolvedPromise || (resolvedPromise = Promise.resolve()))\n .then(callback)\n .catch(error =>\n // Report the exception until the next tick.\n setTimeout(() => {\n throw error;\n }, 0),\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 * @flow strict-local\n * @format\n */\n\n'use strict';\n\nconst {polyfillGlobal} = require('../Utilities/PolyfillFunctions');\n\n/**\n * Set up XMLHttpRequest. The native XMLHttpRequest in Chrome dev tools is CORS\n * aware and won't let you fetch anything from the internet.\n *\n * You can use this module directly, or just require InitializeCore.\n */\npolyfillGlobal('XMLHttpRequest', () => require('../Network/XMLHttpRequest'));\npolyfillGlobal('FormData', () => require('../Network/FormData'));\n\npolyfillGlobal('fetch', () => require('../Network/fetch').fetch);\npolyfillGlobal('Headers', () => require('../Network/fetch').Headers);\npolyfillGlobal('Request', () => require('../Network/fetch').Request);\npolyfillGlobal('Response', () => require('../Network/fetch').Response);\npolyfillGlobal('WebSocket', () => require('../WebSocket/WebSocket'));\npolyfillGlobal('Blob', () => require('../Blob/Blob'));\npolyfillGlobal('File', () => require('../Blob/File'));\npolyfillGlobal('FileReader', () => require('../Blob/FileReader'));\npolyfillGlobal('URL', () => require('../Blob/URL').URL); // flowlint-line untyped-import:off\npolyfillGlobal('URLSearchParams', () => require('../Blob/URL').URLSearchParams); // flowlint-line untyped-import:off\npolyfillGlobal(\n 'AbortController',\n () => require('abort-controller/dist/abort-controller').AbortController, // flowlint-line untyped-import:off\n);\npolyfillGlobal(\n 'AbortSignal',\n () => require('abort-controller/dist/abort-controller').AbortSignal, // flowlint-line untyped-import:off\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 * @flow\n */\n\n'use strict';\n\nimport type {IPerformanceLogger} from '../Utilities/createPerformanceLogger';\n\nimport {type EventSubscription} from '../vendor/emitter/EventEmitter';\nimport EventTarget from 'event-target-shim';\n\nconst BlobManager = require('../Blob/BlobManager');\nconst GlobalPerformanceLogger = require('../Utilities/GlobalPerformanceLogger');\nconst RCTNetworking = require('./RCTNetworking').default;\nconst base64 = require('base64-js');\nconst invariant = require('invariant');\n\nconst DEBUG_NETWORK_SEND_DELAY: false = false; // Set to a number of milliseconds when debugging\n\nexport type NativeResponseType = 'base64' | 'blob' | 'text';\nexport type ResponseType =\n | ''\n | 'arraybuffer'\n | 'blob'\n | 'document'\n | 'json'\n | 'text';\nexport type Response = ?Object | string;\n\ntype XHRInterceptor = interface {\n requestSent(id: number, url: string, method: string, headers: Object): void,\n responseReceived(\n id: number,\n url: string,\n status: number,\n headers: Object,\n ): void,\n dataReceived(id: number, data: string): void,\n loadingFinished(id: number, encodedDataLength: number): void,\n loadingFailed(id: number, error: string): void,\n};\n\n// The native blob module is optional so inject it here if available.\nif (BlobManager.isAvailable) {\n BlobManager.addNetworkingHandler();\n}\n\nconst UNSENT = 0;\nconst OPENED = 1;\nconst HEADERS_RECEIVED = 2;\nconst LOADING = 3;\nconst DONE = 4;\n\nconst SUPPORTED_RESPONSE_TYPES = {\n arraybuffer: typeof global.ArrayBuffer === 'function',\n blob: typeof global.Blob === 'function',\n document: false,\n json: true,\n text: true,\n '': true,\n};\n\nconst REQUEST_EVENTS = [\n 'abort',\n 'error',\n 'load',\n 'loadstart',\n 'progress',\n 'timeout',\n 'loadend',\n];\n\nconst XHR_EVENTS = REQUEST_EVENTS.concat('readystatechange');\n\nclass XMLHttpRequestEventTarget extends (EventTarget(...REQUEST_EVENTS): any) {\n onload: ?Function;\n onloadstart: ?Function;\n onprogress: ?Function;\n ontimeout: ?Function;\n onerror: ?Function;\n onabort: ?Function;\n onloadend: ?Function;\n}\n\n/**\n * Shared base for platform-specific XMLHttpRequest implementations.\n */\nclass XMLHttpRequest extends (EventTarget(...XHR_EVENTS): any) {\n static UNSENT: number = UNSENT;\n static OPENED: number = OPENED;\n static HEADERS_RECEIVED: number = HEADERS_RECEIVED;\n static LOADING: number = LOADING;\n static DONE: number = DONE;\n\n static _interceptor: ?XHRInterceptor = null;\n\n UNSENT: number = UNSENT;\n OPENED: number = OPENED;\n HEADERS_RECEIVED: number = HEADERS_RECEIVED;\n LOADING: number = LOADING;\n DONE: number = DONE;\n\n // EventTarget automatically initializes these to `null`.\n onload: ?Function;\n onloadstart: ?Function;\n onprogress: ?Function;\n ontimeout: ?Function;\n onerror: ?Function;\n onabort: ?Function;\n onloadend: ?Function;\n onreadystatechange: ?Function;\n\n readyState: number = UNSENT;\n responseHeaders: ?Object;\n status: number = 0;\n timeout: number = 0;\n responseURL: ?string;\n withCredentials: boolean = true;\n\n upload: XMLHttpRequestEventTarget = new XMLHttpRequestEventTarget();\n\n _requestId: ?number;\n _subscriptions: Array;\n\n _aborted: boolean = false;\n _cachedResponse: Response;\n _hasError: boolean = false;\n _headers: Object;\n _lowerCaseResponseHeaders: Object;\n _method: ?string = null;\n _perfKey: ?string = null;\n _responseType: ResponseType;\n _response: string = '';\n _sent: boolean;\n _url: ?string = null;\n _timedOut: boolean = false;\n _trackingName: string = 'unknown';\n _incrementalEvents: boolean = false;\n _performanceLogger: IPerformanceLogger = GlobalPerformanceLogger;\n\n static setInterceptor(interceptor: ?XHRInterceptor) {\n XMLHttpRequest._interceptor = interceptor;\n }\n\n constructor() {\n super();\n this._reset();\n }\n\n _reset(): void {\n this.readyState = this.UNSENT;\n this.responseHeaders = undefined;\n this.status = 0;\n delete this.responseURL;\n\n this._requestId = null;\n\n this._cachedResponse = undefined;\n this._hasError = false;\n this._headers = {};\n this._response = '';\n this._responseType = '';\n this._sent = false;\n this._lowerCaseResponseHeaders = {};\n\n this._clearSubscriptions();\n this._timedOut = false;\n }\n\n get responseType(): ResponseType {\n return this._responseType;\n }\n\n set responseType(responseType: ResponseType): void {\n if (this._sent) {\n throw new Error(\n \"Failed to set the 'responseType' property on 'XMLHttpRequest': The \" +\n 'response type cannot be set after the request has been sent.',\n );\n }\n if (!SUPPORTED_RESPONSE_TYPES.hasOwnProperty(responseType)) {\n console.warn(\n `The provided value '${responseType}' is not a valid 'responseType'.`,\n );\n return;\n }\n\n // redboxes early, e.g. for 'arraybuffer' on ios 7\n invariant(\n SUPPORTED_RESPONSE_TYPES[responseType] || responseType === 'document',\n `The provided value '${responseType}' is unsupported in this environment.`,\n );\n\n if (responseType === 'blob') {\n invariant(\n BlobManager.isAvailable,\n 'Native module BlobModule is required for blob support',\n );\n }\n this._responseType = responseType;\n }\n\n get responseText(): string {\n if (this._responseType !== '' && this._responseType !== 'text') {\n throw new Error(\n \"The 'responseText' property is only available if 'responseType' \" +\n `is set to '' or 'text', but it is '${this._responseType}'.`,\n );\n }\n if (this.readyState < LOADING) {\n return '';\n }\n return this._response;\n }\n\n get response(): Response {\n const {responseType} = this;\n if (responseType === '' || responseType === 'text') {\n return this.readyState < LOADING || this._hasError ? '' : this._response;\n }\n\n if (this.readyState !== DONE) {\n return null;\n }\n\n if (this._cachedResponse !== undefined) {\n return this._cachedResponse;\n }\n\n switch (responseType) {\n case 'document':\n this._cachedResponse = null;\n break;\n\n case 'arraybuffer':\n this._cachedResponse = base64.toByteArray(this._response).buffer;\n break;\n\n case 'blob':\n if (typeof this._response === 'object' && this._response) {\n this._cachedResponse = BlobManager.createFromOptions(this._response);\n } else if (this._response === '') {\n this._cachedResponse = BlobManager.createFromParts([]);\n } else {\n throw new Error(`Invalid response for blob: ${this._response}`);\n }\n break;\n\n case 'json':\n try {\n this._cachedResponse = JSON.parse(this._response);\n } catch (_) {\n this._cachedResponse = null;\n }\n break;\n\n default:\n this._cachedResponse = null;\n }\n\n return this._cachedResponse;\n }\n\n // exposed for testing\n __didCreateRequest(requestId: number): void {\n this._requestId = requestId;\n\n XMLHttpRequest._interceptor &&\n XMLHttpRequest._interceptor.requestSent(\n requestId,\n this._url || '',\n this._method || 'GET',\n this._headers,\n );\n }\n\n // exposed for testing\n __didUploadProgress(\n requestId: number,\n progress: number,\n total: number,\n ): void {\n if (requestId === this._requestId) {\n this.upload.dispatchEvent({\n type: 'progress',\n lengthComputable: true,\n loaded: progress,\n total,\n });\n }\n }\n\n __didReceiveResponse(\n requestId: number,\n status: number,\n responseHeaders: ?Object,\n responseURL: ?string,\n ): void {\n if (requestId === this._requestId) {\n this._perfKey != null &&\n this._performanceLogger.stopTimespan(this._perfKey);\n this.status = status;\n this.setResponseHeaders(responseHeaders);\n this.setReadyState(this.HEADERS_RECEIVED);\n if (responseURL || responseURL === '') {\n this.responseURL = responseURL;\n } else {\n delete this.responseURL;\n }\n\n XMLHttpRequest._interceptor &&\n XMLHttpRequest._interceptor.responseReceived(\n requestId,\n responseURL || this._url || '',\n status,\n responseHeaders || {},\n );\n }\n }\n\n __didReceiveData(requestId: number, response: string): void {\n if (requestId !== this._requestId) {\n return;\n }\n this._response = response;\n this._cachedResponse = undefined; // force lazy recomputation\n this.setReadyState(this.LOADING);\n\n XMLHttpRequest._interceptor &&\n XMLHttpRequest._interceptor.dataReceived(requestId, response);\n }\n\n __didReceiveIncrementalData(\n requestId: number,\n responseText: string,\n progress: number,\n total: number,\n ) {\n if (requestId !== this._requestId) {\n return;\n }\n if (!this._response) {\n this._response = responseText;\n } else {\n this._response += responseText;\n }\n\n XMLHttpRequest._interceptor &&\n XMLHttpRequest._interceptor.dataReceived(requestId, responseText);\n\n this.setReadyState(this.LOADING);\n this.__didReceiveDataProgress(requestId, progress, total);\n }\n\n __didReceiveDataProgress(\n requestId: number,\n loaded: number,\n total: number,\n ): void {\n if (requestId !== this._requestId) {\n return;\n }\n this.dispatchEvent({\n type: 'progress',\n lengthComputable: total >= 0,\n loaded,\n total,\n });\n }\n\n // exposed for testing\n __didCompleteResponse(\n requestId: number,\n error: string,\n timeOutError: boolean,\n ): void {\n if (requestId === this._requestId) {\n if (error) {\n if (this._responseType === '' || this._responseType === 'text') {\n this._response = error;\n }\n this._hasError = true;\n if (timeOutError) {\n this._timedOut = true;\n }\n }\n this._clearSubscriptions();\n this._requestId = null;\n this.setReadyState(this.DONE);\n\n if (error) {\n XMLHttpRequest._interceptor &&\n XMLHttpRequest._interceptor.loadingFailed(requestId, error);\n } else {\n XMLHttpRequest._interceptor &&\n XMLHttpRequest._interceptor.loadingFinished(\n requestId,\n this._response.length,\n );\n }\n }\n }\n\n _clearSubscriptions(): void {\n (this._subscriptions || []).forEach(sub => {\n if (sub) {\n sub.remove();\n }\n });\n this._subscriptions = [];\n }\n\n getAllResponseHeaders(): ?string {\n if (!this.responseHeaders) {\n // according to the spec, return null if no response has been received\n return null;\n }\n\n // Assign to non-nullable local variable.\n const responseHeaders = this.responseHeaders;\n\n const unsortedHeaders: Map<\n string,\n {lowerHeaderName: string, upperHeaderName: string, headerValue: string},\n > = new Map();\n for (const rawHeaderName of Object.keys(responseHeaders)) {\n const headerValue = responseHeaders[rawHeaderName];\n const lowerHeaderName = rawHeaderName.toLowerCase();\n const header = unsortedHeaders.get(lowerHeaderName);\n if (header) {\n header.headerValue += ', ' + headerValue;\n unsortedHeaders.set(lowerHeaderName, header);\n } else {\n unsortedHeaders.set(lowerHeaderName, {\n lowerHeaderName,\n upperHeaderName: rawHeaderName.toUpperCase(),\n headerValue,\n });\n }\n }\n\n // Sort in ascending order, with a being less than b if a's name is legacy-uppercased-byte less than b's name.\n const sortedHeaders = [...unsortedHeaders.values()].sort((a, b) => {\n if (a.upperHeaderName < b.upperHeaderName) {\n return -1;\n }\n if (a.upperHeaderName > b.upperHeaderName) {\n return 1;\n }\n return 0;\n });\n\n // Combine into single text response.\n return (\n sortedHeaders\n .map(header => {\n return header.lowerHeaderName + ': ' + header.headerValue;\n })\n .join('\\r\\n') + '\\r\\n'\n );\n }\n\n getResponseHeader(header: string): ?string {\n const value = this._lowerCaseResponseHeaders[header.toLowerCase()];\n return value !== undefined ? value : null;\n }\n\n setRequestHeader(header: string, value: any): void {\n if (this.readyState !== this.OPENED) {\n throw new Error('Request has not been opened');\n }\n this._headers[header.toLowerCase()] = String(value);\n }\n\n /**\n * Custom extension for tracking origins of request.\n */\n setTrackingName(trackingName: string): XMLHttpRequest {\n this._trackingName = trackingName;\n return this;\n }\n\n /**\n * Custom extension for setting a custom performance logger\n */\n setPerformanceLogger(performanceLogger: IPerformanceLogger): XMLHttpRequest {\n this._performanceLogger = performanceLogger;\n return this;\n }\n\n open(method: string, url: string, async: ?boolean): void {\n /* Other optional arguments are not supported yet */\n if (this.readyState !== this.UNSENT) {\n throw new Error('Cannot open, already sending');\n }\n if (async !== undefined && !async) {\n // async is default\n throw new Error('Synchronous http requests are not supported');\n }\n if (!url) {\n throw new Error('Cannot load an empty url');\n }\n this._method = method.toUpperCase();\n this._url = url;\n this._aborted = false;\n this.setReadyState(this.OPENED);\n }\n\n send(data: any): void {\n if (this.readyState !== this.OPENED) {\n throw new Error('Request has not been opened');\n }\n if (this._sent) {\n throw new Error('Request has already been sent');\n }\n this._sent = true;\n const incrementalEvents =\n this._incrementalEvents || !!this.onreadystatechange || !!this.onprogress;\n\n this._subscriptions.push(\n RCTNetworking.addListener('didSendNetworkData', args =>\n this.__didUploadProgress(...args),\n ),\n );\n this._subscriptions.push(\n RCTNetworking.addListener('didReceiveNetworkResponse', args =>\n this.__didReceiveResponse(...args),\n ),\n );\n this._subscriptions.push(\n RCTNetworking.addListener('didReceiveNetworkData', args =>\n this.__didReceiveData(...args),\n ),\n );\n this._subscriptions.push(\n RCTNetworking.addListener('didReceiveNetworkIncrementalData', args =>\n this.__didReceiveIncrementalData(...args),\n ),\n );\n this._subscriptions.push(\n RCTNetworking.addListener('didReceiveNetworkDataProgress', args =>\n this.__didReceiveDataProgress(...args),\n ),\n );\n this._subscriptions.push(\n RCTNetworking.addListener('didCompleteNetworkResponse', args =>\n this.__didCompleteResponse(...args),\n ),\n );\n\n let nativeResponseType: NativeResponseType = 'text';\n if (this._responseType === 'arraybuffer') {\n nativeResponseType = 'base64';\n }\n if (this._responseType === 'blob') {\n nativeResponseType = 'blob';\n }\n\n const doSend = () => {\n const friendlyName =\n this._trackingName !== 'unknown' ? this._trackingName : this._url;\n this._perfKey = 'network_XMLHttpRequest_' + String(friendlyName);\n this._performanceLogger.startTimespan(this._perfKey);\n invariant(\n this._method,\n 'XMLHttpRequest method needs to be defined (%s).',\n friendlyName,\n );\n invariant(\n this._url,\n 'XMLHttpRequest URL needs to be defined (%s).',\n friendlyName,\n );\n RCTNetworking.sendRequest(\n this._method,\n this._trackingName,\n this._url,\n this._headers,\n data,\n /* $FlowFixMe(>=0.78.0 site=react_native_android_fb) This issue was found\n * when making Flow check .android.js files. */\n nativeResponseType,\n incrementalEvents,\n this.timeout,\n // $FlowFixMe[method-unbinding] added when improving typing for this parameters\n this.__didCreateRequest.bind(this),\n this.withCredentials,\n );\n };\n if (DEBUG_NETWORK_SEND_DELAY) {\n setTimeout(doSend, DEBUG_NETWORK_SEND_DELAY);\n } else {\n doSend();\n }\n }\n\n abort(): void {\n this._aborted = true;\n if (this._requestId) {\n RCTNetworking.abortRequest(this._requestId);\n }\n // only call onreadystatechange if there is something to abort,\n // below logic is per spec\n if (\n !(\n this.readyState === this.UNSENT ||\n (this.readyState === this.OPENED && !this._sent) ||\n this.readyState === this.DONE\n )\n ) {\n this._reset();\n this.setReadyState(this.DONE);\n }\n // Reset again after, in case modified in handler\n this._reset();\n }\n\n setResponseHeaders(responseHeaders: ?Object): void {\n this.responseHeaders = responseHeaders || null;\n const headers = responseHeaders || {};\n this._lowerCaseResponseHeaders = Object.keys(headers).reduce<{\n [string]: any,\n }>((lcaseHeaders, headerName) => {\n lcaseHeaders[headerName.toLowerCase()] = headers[headerName];\n return lcaseHeaders;\n }, {});\n }\n\n setReadyState(newState: number): void {\n this.readyState = newState;\n this.dispatchEvent({type: 'readystatechange'});\n if (newState === this.DONE) {\n if (this._aborted) {\n this.dispatchEvent({type: 'abort'});\n } else if (this._hasError) {\n if (this._timedOut) {\n this.dispatchEvent({type: 'timeout'});\n } else {\n this.dispatchEvent({type: 'error'});\n }\n } else {\n this.dispatchEvent({type: 'load'});\n }\n this.dispatchEvent({type: 'loadend'});\n }\n }\n\n /* global EventListener */\n addEventListener(type: string, listener: EventListener): void {\n // If we dont' have a 'readystatechange' event handler, we don't\n // have to send repeated LOADING events with incremental updates\n // to responseText, which will avoid a bunch of native -> JS\n // bridge traffic.\n if (type === 'readystatechange' || type === 'progress') {\n this._incrementalEvents = true;\n }\n super.addEventListener(type, listener);\n }\n}\n\nmodule.exports = XMLHttpRequest;\n","/**\n * @author Toru Nagashima \n * @copyright 2015 Toru Nagashima. All rights reserved.\n * See LICENSE file in root directory for full license.\n */\n'use strict';\n\nObject.defineProperty(exports, '__esModule', { value: true });\n\n/**\n * @typedef {object} PrivateData\n * @property {EventTarget} eventTarget The event target.\n * @property {{type:string}} event The original event object.\n * @property {number} eventPhase The current event phase.\n * @property {EventTarget|null} currentTarget The current event target.\n * @property {boolean} canceled The flag to prevent default.\n * @property {boolean} stopped The flag to stop propagation.\n * @property {boolean} immediateStopped The flag to stop propagation immediately.\n * @property {Function|null} passiveListener The listener if the current listener is passive. Otherwise this is null.\n * @property {number} timeStamp The unix time.\n * @private\n */\n\n/**\n * Private data for event wrappers.\n * @type {WeakMap}\n * @private\n */\nconst privateData = new WeakMap();\n\n/**\n * Cache for wrapper classes.\n * @type {WeakMap}\n * @private\n */\nconst wrappers = new WeakMap();\n\n/**\n * Get private data.\n * @param {Event} event The event object to get private data.\n * @returns {PrivateData} The private data of the event.\n * @private\n */\nfunction pd(event) {\n const retv = privateData.get(event);\n console.assert(\n retv != null,\n \"'this' is expected an Event object, but got\",\n event\n );\n return retv\n}\n\n/**\n * https://dom.spec.whatwg.org/#set-the-canceled-flag\n * @param data {PrivateData} private data.\n */\nfunction setCancelFlag(data) {\n if (data.passiveListener != null) {\n if (\n typeof console !== \"undefined\" &&\n typeof console.error === \"function\"\n ) {\n console.error(\n \"Unable to preventDefault inside passive event listener invocation.\",\n data.passiveListener\n );\n }\n return\n }\n if (!data.event.cancelable) {\n return\n }\n\n data.canceled = true;\n if (typeof data.event.preventDefault === \"function\") {\n data.event.preventDefault();\n }\n}\n\n/**\n * @see https://dom.spec.whatwg.org/#interface-event\n * @private\n */\n/**\n * The event wrapper.\n * @constructor\n * @param {EventTarget} eventTarget The event target of this dispatching.\n * @param {Event|{type:string}} event The original event to wrap.\n */\nfunction Event(eventTarget, event) {\n privateData.set(this, {\n eventTarget,\n event,\n eventPhase: 2,\n currentTarget: eventTarget,\n canceled: false,\n stopped: false,\n immediateStopped: false,\n passiveListener: null,\n timeStamp: event.timeStamp || Date.now(),\n });\n\n // https://heycam.github.io/webidl/#Unforgeable\n Object.defineProperty(this, \"isTrusted\", { value: false, enumerable: true });\n\n // Define accessors\n const keys = Object.keys(event);\n for (let i = 0; i < keys.length; ++i) {\n const key = keys[i];\n if (!(key in this)) {\n Object.defineProperty(this, key, defineRedirectDescriptor(key));\n }\n }\n}\n\n// Should be enumerable, but class methods are not enumerable.\nEvent.prototype = {\n /**\n * The type of this event.\n * @type {string}\n */\n get type() {\n return pd(this).event.type\n },\n\n /**\n * The target of this event.\n * @type {EventTarget}\n */\n get target() {\n return pd(this).eventTarget\n },\n\n /**\n * The target of this event.\n * @type {EventTarget}\n */\n get currentTarget() {\n return pd(this).currentTarget\n },\n\n /**\n * @returns {EventTarget[]} The composed path of this event.\n */\n composedPath() {\n const currentTarget = pd(this).currentTarget;\n if (currentTarget == null) {\n return []\n }\n return [currentTarget]\n },\n\n /**\n * Constant of NONE.\n * @type {number}\n */\n get NONE() {\n return 0\n },\n\n /**\n * Constant of CAPTURING_PHASE.\n * @type {number}\n */\n get CAPTURING_PHASE() {\n return 1\n },\n\n /**\n * Constant of AT_TARGET.\n * @type {number}\n */\n get AT_TARGET() {\n return 2\n },\n\n /**\n * Constant of BUBBLING_PHASE.\n * @type {number}\n */\n get BUBBLING_PHASE() {\n return 3\n },\n\n /**\n * The target of this event.\n * @type {number}\n */\n get eventPhase() {\n return pd(this).eventPhase\n },\n\n /**\n * Stop event bubbling.\n * @returns {void}\n */\n stopPropagation() {\n const data = pd(this);\n\n data.stopped = true;\n if (typeof data.event.stopPropagation === \"function\") {\n data.event.stopPropagation();\n }\n },\n\n /**\n * Stop event bubbling.\n * @returns {void}\n */\n stopImmediatePropagation() {\n const data = pd(this);\n\n data.stopped = true;\n data.immediateStopped = true;\n if (typeof data.event.stopImmediatePropagation === \"function\") {\n data.event.stopImmediatePropagation();\n }\n },\n\n /**\n * The flag to be bubbling.\n * @type {boolean}\n */\n get bubbles() {\n return Boolean(pd(this).event.bubbles)\n },\n\n /**\n * The flag to be cancelable.\n * @type {boolean}\n */\n get cancelable() {\n return Boolean(pd(this).event.cancelable)\n },\n\n /**\n * Cancel this event.\n * @returns {void}\n */\n preventDefault() {\n setCancelFlag(pd(this));\n },\n\n /**\n * The flag to indicate cancellation state.\n * @type {boolean}\n */\n get defaultPrevented() {\n return pd(this).canceled\n },\n\n /**\n * The flag to be composed.\n * @type {boolean}\n */\n get composed() {\n return Boolean(pd(this).event.composed)\n },\n\n /**\n * The unix time of this event.\n * @type {number}\n */\n get timeStamp() {\n return pd(this).timeStamp\n },\n\n /**\n * The target of this event.\n * @type {EventTarget}\n * @deprecated\n */\n get srcElement() {\n return pd(this).eventTarget\n },\n\n /**\n * The flag to stop event bubbling.\n * @type {boolean}\n * @deprecated\n */\n get cancelBubble() {\n return pd(this).stopped\n },\n set cancelBubble(value) {\n if (!value) {\n return\n }\n const data = pd(this);\n\n data.stopped = true;\n if (typeof data.event.cancelBubble === \"boolean\") {\n data.event.cancelBubble = true;\n }\n },\n\n /**\n * The flag to indicate cancellation state.\n * @type {boolean}\n * @deprecated\n */\n get returnValue() {\n return !pd(this).canceled\n },\n set returnValue(value) {\n if (!value) {\n setCancelFlag(pd(this));\n }\n },\n\n /**\n * Initialize this event object. But do nothing under event dispatching.\n * @param {string} type The event type.\n * @param {boolean} [bubbles=false] The flag to be possible to bubble up.\n * @param {boolean} [cancelable=false] The flag to be possible to cancel.\n * @deprecated\n */\n initEvent() {\n // Do nothing.\n },\n};\n\n// `constructor` is not enumerable.\nObject.defineProperty(Event.prototype, \"constructor\", {\n value: Event,\n configurable: true,\n writable: true,\n});\n\n// Ensure `event instanceof window.Event` is `true`.\nif (typeof window !== \"undefined\" && typeof window.Event !== \"undefined\") {\n Object.setPrototypeOf(Event.prototype, window.Event.prototype);\n\n // Make association for wrappers.\n wrappers.set(window.Event.prototype, Event);\n}\n\n/**\n * Get the property descriptor to redirect a given property.\n * @param {string} key Property name to define property descriptor.\n * @returns {PropertyDescriptor} The property descriptor to redirect the property.\n * @private\n */\nfunction defineRedirectDescriptor(key) {\n return {\n get() {\n return pd(this).event[key]\n },\n set(value) {\n pd(this).event[key] = value;\n },\n configurable: true,\n enumerable: true,\n }\n}\n\n/**\n * Get the property descriptor to call a given method property.\n * @param {string} key Property name to define property descriptor.\n * @returns {PropertyDescriptor} The property descriptor to call the method property.\n * @private\n */\nfunction defineCallDescriptor(key) {\n return {\n value() {\n const event = pd(this).event;\n return event[key].apply(event, arguments)\n },\n configurable: true,\n enumerable: true,\n }\n}\n\n/**\n * Define new wrapper class.\n * @param {Function} BaseEvent The base wrapper class.\n * @param {Object} proto The prototype of the original event.\n * @returns {Function} The defined wrapper class.\n * @private\n */\nfunction defineWrapper(BaseEvent, proto) {\n const keys = Object.keys(proto);\n if (keys.length === 0) {\n return BaseEvent\n }\n\n /** CustomEvent */\n function CustomEvent(eventTarget, event) {\n BaseEvent.call(this, eventTarget, event);\n }\n\n CustomEvent.prototype = Object.create(BaseEvent.prototype, {\n constructor: { value: CustomEvent, configurable: true, writable: true },\n });\n\n // Define accessors.\n for (let i = 0; i < keys.length; ++i) {\n const key = keys[i];\n if (!(key in BaseEvent.prototype)) {\n const descriptor = Object.getOwnPropertyDescriptor(proto, key);\n const isFunc = typeof descriptor.value === \"function\";\n Object.defineProperty(\n CustomEvent.prototype,\n key,\n isFunc\n ? defineCallDescriptor(key)\n : defineRedirectDescriptor(key)\n );\n }\n }\n\n return CustomEvent\n}\n\n/**\n * Get the wrapper class of a given prototype.\n * @param {Object} proto The prototype of the original event to get its wrapper.\n * @returns {Function} The wrapper class.\n * @private\n */\nfunction getWrapper(proto) {\n if (proto == null || proto === Object.prototype) {\n return Event\n }\n\n let wrapper = wrappers.get(proto);\n if (wrapper == null) {\n wrapper = defineWrapper(getWrapper(Object.getPrototypeOf(proto)), proto);\n wrappers.set(proto, wrapper);\n }\n return wrapper\n}\n\n/**\n * Wrap a given event to management a dispatching.\n * @param {EventTarget} eventTarget The event target of this dispatching.\n * @param {Object} event The event to wrap.\n * @returns {Event} The wrapper instance.\n * @private\n */\nfunction wrapEvent(eventTarget, event) {\n const Wrapper = getWrapper(Object.getPrototypeOf(event));\n return new Wrapper(eventTarget, event)\n}\n\n/**\n * Get the immediateStopped flag of a given event.\n * @param {Event} event The event to get.\n * @returns {boolean} The flag to stop propagation immediately.\n * @private\n */\nfunction isStopped(event) {\n return pd(event).immediateStopped\n}\n\n/**\n * Set the current event phase of a given event.\n * @param {Event} event The event to set current target.\n * @param {number} eventPhase New event phase.\n * @returns {void}\n * @private\n */\nfunction setEventPhase(event, eventPhase) {\n pd(event).eventPhase = eventPhase;\n}\n\n/**\n * Set the current target of a given event.\n * @param {Event} event The event to set current target.\n * @param {EventTarget|null} currentTarget New current target.\n * @returns {void}\n * @private\n */\nfunction setCurrentTarget(event, currentTarget) {\n pd(event).currentTarget = currentTarget;\n}\n\n/**\n * Set a passive listener of a given event.\n * @param {Event} event The event to set current target.\n * @param {Function|null} passiveListener New passive listener.\n * @returns {void}\n * @private\n */\nfunction setPassiveListener(event, passiveListener) {\n pd(event).passiveListener = passiveListener;\n}\n\n/**\n * @typedef {object} ListenerNode\n * @property {Function} listener\n * @property {1|2|3} listenerType\n * @property {boolean} passive\n * @property {boolean} once\n * @property {ListenerNode|null} next\n * @private\n */\n\n/**\n * @type {WeakMap>}\n * @private\n */\nconst listenersMap = new WeakMap();\n\n// Listener types\nconst CAPTURE = 1;\nconst BUBBLE = 2;\nconst ATTRIBUTE = 3;\n\n/**\n * Check whether a given value is an object or not.\n * @param {any} x The value to check.\n * @returns {boolean} `true` if the value is an object.\n */\nfunction isObject(x) {\n return x !== null && typeof x === \"object\" //eslint-disable-line no-restricted-syntax\n}\n\n/**\n * Get listeners.\n * @param {EventTarget} eventTarget The event target to get.\n * @returns {Map} The listeners.\n * @private\n */\nfunction getListeners(eventTarget) {\n const listeners = listenersMap.get(eventTarget);\n if (listeners == null) {\n throw new TypeError(\n \"'this' is expected an EventTarget object, but got another value.\"\n )\n }\n return listeners\n}\n\n/**\n * Get the property descriptor for the event attribute of a given event.\n * @param {string} eventName The event name to get property descriptor.\n * @returns {PropertyDescriptor} The property descriptor.\n * @private\n */\nfunction defineEventAttributeDescriptor(eventName) {\n return {\n get() {\n const listeners = getListeners(this);\n let node = listeners.get(eventName);\n while (node != null) {\n if (node.listenerType === ATTRIBUTE) {\n return node.listener\n }\n node = node.next;\n }\n return null\n },\n\n set(listener) {\n if (typeof listener !== \"function\" && !isObject(listener)) {\n listener = null; // eslint-disable-line no-param-reassign\n }\n const listeners = getListeners(this);\n\n // Traverse to the tail while removing old value.\n let prev = null;\n let node = listeners.get(eventName);\n while (node != null) {\n if (node.listenerType === ATTRIBUTE) {\n // Remove old value.\n if (prev !== null) {\n prev.next = node.next;\n } else if (node.next !== null) {\n listeners.set(eventName, node.next);\n } else {\n listeners.delete(eventName);\n }\n } else {\n prev = node;\n }\n\n node = node.next;\n }\n\n // Add new value.\n if (listener !== null) {\n const newNode = {\n listener,\n listenerType: ATTRIBUTE,\n passive: false,\n once: false,\n next: null,\n };\n if (prev === null) {\n listeners.set(eventName, newNode);\n } else {\n prev.next = newNode;\n }\n }\n },\n configurable: true,\n enumerable: true,\n }\n}\n\n/**\n * Define an event attribute (e.g. `eventTarget.onclick`).\n * @param {Object} eventTargetPrototype The event target prototype to define an event attrbite.\n * @param {string} eventName The event name to define.\n * @returns {void}\n */\nfunction defineEventAttribute(eventTargetPrototype, eventName) {\n Object.defineProperty(\n eventTargetPrototype,\n `on${eventName}`,\n defineEventAttributeDescriptor(eventName)\n );\n}\n\n/**\n * Define a custom EventTarget with event attributes.\n * @param {string[]} eventNames Event names for event attributes.\n * @returns {EventTarget} The custom EventTarget.\n * @private\n */\nfunction defineCustomEventTarget(eventNames) {\n /** CustomEventTarget */\n function CustomEventTarget() {\n EventTarget.call(this);\n }\n\n CustomEventTarget.prototype = Object.create(EventTarget.prototype, {\n constructor: {\n value: CustomEventTarget,\n configurable: true,\n writable: true,\n },\n });\n\n for (let i = 0; i < eventNames.length; ++i) {\n defineEventAttribute(CustomEventTarget.prototype, eventNames[i]);\n }\n\n return CustomEventTarget\n}\n\n/**\n * EventTarget.\n *\n * - This is constructor if no arguments.\n * - This is a function which returns a CustomEventTarget constructor if there are arguments.\n *\n * For example:\n *\n * class A extends EventTarget {}\n * class B extends EventTarget(\"message\") {}\n * class C extends EventTarget(\"message\", \"error\") {}\n * class D extends EventTarget([\"message\", \"error\"]) {}\n */\nfunction EventTarget() {\n /*eslint-disable consistent-return */\n if (this instanceof EventTarget) {\n listenersMap.set(this, new Map());\n return\n }\n if (arguments.length === 1 && Array.isArray(arguments[0])) {\n return defineCustomEventTarget(arguments[0])\n }\n if (arguments.length > 0) {\n const types = new Array(arguments.length);\n for (let i = 0; i < arguments.length; ++i) {\n types[i] = arguments[i];\n }\n return defineCustomEventTarget(types)\n }\n throw new TypeError(\"Cannot call a class as a function\")\n /*eslint-enable consistent-return */\n}\n\n// Should be enumerable, but class methods are not enumerable.\nEventTarget.prototype = {\n /**\n * Add a given listener to this event target.\n * @param {string} eventName The event name to add.\n * @param {Function} listener The listener to add.\n * @param {boolean|{capture?:boolean,passive?:boolean,once?:boolean}} [options] The options for this listener.\n * @returns {void}\n */\n addEventListener(eventName, listener, options) {\n if (listener == null) {\n return\n }\n if (typeof listener !== \"function\" && !isObject(listener)) {\n throw new TypeError(\"'listener' should be a function or an object.\")\n }\n\n const listeners = getListeners(this);\n const optionsIsObj = isObject(options);\n const capture = optionsIsObj\n ? Boolean(options.capture)\n : Boolean(options);\n const listenerType = capture ? CAPTURE : BUBBLE;\n const newNode = {\n listener,\n listenerType,\n passive: optionsIsObj && Boolean(options.passive),\n once: optionsIsObj && Boolean(options.once),\n next: null,\n };\n\n // Set it as the first node if the first node is null.\n let node = listeners.get(eventName);\n if (node === undefined) {\n listeners.set(eventName, newNode);\n return\n }\n\n // Traverse to the tail while checking duplication..\n let prev = null;\n while (node != null) {\n if (\n node.listener === listener &&\n node.listenerType === listenerType\n ) {\n // Should ignore duplication.\n return\n }\n prev = node;\n node = node.next;\n }\n\n // Add it.\n prev.next = newNode;\n },\n\n /**\n * Remove a given listener from this event target.\n * @param {string} eventName The event name to remove.\n * @param {Function} listener The listener to remove.\n * @param {boolean|{capture?:boolean,passive?:boolean,once?:boolean}} [options] The options for this listener.\n * @returns {void}\n */\n removeEventListener(eventName, listener, options) {\n if (listener == null) {\n return\n }\n\n const listeners = getListeners(this);\n const capture = isObject(options)\n ? Boolean(options.capture)\n : Boolean(options);\n const listenerType = capture ? CAPTURE : BUBBLE;\n\n let prev = null;\n let node = listeners.get(eventName);\n while (node != null) {\n if (\n node.listener === listener &&\n node.listenerType === listenerType\n ) {\n if (prev !== null) {\n prev.next = node.next;\n } else if (node.next !== null) {\n listeners.set(eventName, node.next);\n } else {\n listeners.delete(eventName);\n }\n return\n }\n\n prev = node;\n node = node.next;\n }\n },\n\n /**\n * Dispatch a given event.\n * @param {Event|{type:string}} event The event to dispatch.\n * @returns {boolean} `false` if canceled.\n */\n dispatchEvent(event) {\n if (event == null || typeof event.type !== \"string\") {\n throw new TypeError('\"event.type\" should be a string.')\n }\n\n // If listeners aren't registered, terminate.\n const listeners = getListeners(this);\n const eventName = event.type;\n let node = listeners.get(eventName);\n if (node == null) {\n return true\n }\n\n // Since we cannot rewrite several properties, so wrap object.\n const wrappedEvent = wrapEvent(this, event);\n\n // This doesn't process capturing phase and bubbling phase.\n // This isn't participating in a tree.\n let prev = null;\n while (node != null) {\n // Remove this listener if it's once\n if (node.once) {\n if (prev !== null) {\n prev.next = node.next;\n } else if (node.next !== null) {\n listeners.set(eventName, node.next);\n } else {\n listeners.delete(eventName);\n }\n } else {\n prev = node;\n }\n\n // Call this listener\n setPassiveListener(\n wrappedEvent,\n node.passive ? node.listener : null\n );\n if (typeof node.listener === \"function\") {\n try {\n node.listener.call(this, wrappedEvent);\n } catch (err) {\n if (\n typeof console !== \"undefined\" &&\n typeof console.error === \"function\"\n ) {\n console.error(err);\n }\n }\n } else if (\n node.listenerType !== ATTRIBUTE &&\n typeof node.listener.handleEvent === \"function\"\n ) {\n node.listener.handleEvent(wrappedEvent);\n }\n\n // Break if `event.stopImmediatePropagation` was called.\n if (isStopped(wrappedEvent)) {\n break\n }\n\n node = node.next;\n }\n setPassiveListener(wrappedEvent, null);\n setEventPhase(wrappedEvent, 0);\n setCurrentTarget(wrappedEvent, null);\n\n return !wrappedEvent.defaultPrevented\n },\n};\n\n// `constructor` is not enumerable.\nObject.defineProperty(EventTarget.prototype, \"constructor\", {\n value: EventTarget,\n configurable: true,\n writable: true,\n});\n\n// Ensure `eventTarget instanceof window.EventTarget` is `true`.\nif (\n typeof window !== \"undefined\" &&\n typeof window.EventTarget !== \"undefined\"\n) {\n Object.setPrototypeOf(EventTarget.prototype, window.EventTarget.prototype);\n}\n\nexports.defineEventAttribute = defineEventAttribute;\nexports.EventTarget = EventTarget;\nexports.default = EventTarget;\n\nmodule.exports = EventTarget\nmodule.exports.EventTarget = module.exports[\"default\"] = EventTarget\nmodule.exports.defineEventAttribute = defineEventAttribute\n//# sourceMappingURL=event-target-shim.js.map\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 * @flow strict-local\n * @format\n */\n\nimport type {BlobCollector, BlobData, BlobOptions} from './BlobTypes';\n\nimport NativeBlobModule from './NativeBlobModule';\nimport {fromByteArray} from 'base64-js';\nimport invariant from 'invariant';\n\nconst Blob = require('./Blob');\nconst BlobRegistry = require('./BlobRegistry');\n\n/*eslint-disable no-bitwise */\n/*eslint-disable eqeqeq */\n\n/**\n * Based on the rfc4122-compliant solution posted at\n * http://stackoverflow.com/questions/105034\n */\nfunction uuidv4(): string {\n return 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, c => {\n const r = (Math.random() * 16) | 0,\n v = c == 'x' ? r : (r & 0x3) | 0x8;\n return v.toString(16);\n });\n}\n\n// **Temporary workaround**\n// TODO(#24654): Use turbomodules for the Blob module.\n// Blob collector is a jsi::HostObject that is used by native to know\n// when the a Blob instance is deallocated. This allows to free the\n// underlying native resources. This is a hack to workaround the fact\n// that the current bridge infra doesn't allow to track js objects\n// deallocation. Ideally the whole Blob object should be a jsi::HostObject.\nfunction createBlobCollector(blobId: string): BlobCollector | null {\n if (global.__blobCollectorProvider == null) {\n return null;\n } else {\n return global.__blobCollectorProvider(blobId);\n }\n}\n\n/**\n * Module to manage blobs. Wrapper around the native blob module.\n */\nclass BlobManager {\n /**\n * If the native blob module is available.\n */\n static isAvailable: boolean = !!NativeBlobModule;\n\n /**\n * Create blob from existing array of blobs.\n */\n static createFromParts(\n parts: Array<$ArrayBufferView | ArrayBuffer | Blob | string>,\n options?: BlobOptions,\n ): Blob {\n invariant(NativeBlobModule, 'NativeBlobModule is available.');\n\n const blobId = uuidv4();\n const items = parts.map(part => {\n if (part instanceof ArrayBuffer || ArrayBuffer.isView(part)) {\n return {\n // $FlowFixMe[incompatible-cast]\n data: fromByteArray(new Uint8Array((part: ArrayBuffer))),\n type: 'string',\n };\n } else if (part instanceof Blob) {\n return {\n data: part.data,\n type: 'blob',\n };\n } else {\n return {\n data: String(part),\n type: 'string',\n };\n }\n });\n const size = items.reduce((acc, curr) => {\n if (curr.type === 'string') {\n return acc + global.unescape(encodeURI(curr.data)).length;\n } else {\n return acc + curr.data.size;\n }\n }, 0);\n\n NativeBlobModule.createFromParts(items, blobId);\n\n return BlobManager.createFromOptions({\n blobId,\n offset: 0,\n size,\n type: options ? options.type : '',\n lastModified: options ? options.lastModified : Date.now(),\n });\n }\n\n /**\n * Create blob instance from blob data from native.\n * Used internally by modules like XHR, WebSocket, etc.\n */\n static createFromOptions(options: BlobData): Blob {\n BlobRegistry.register(options.blobId);\n // $FlowFixMe[prop-missing]\n return Object.assign(Object.create(Blob.prototype), {\n data:\n // Reuse the collector instance when creating from an existing blob.\n // This will make sure that the underlying resource is only deallocated\n // when all blobs that refer to it are deallocated.\n options.__collector == null\n ? {\n ...options,\n __collector: createBlobCollector(options.blobId),\n }\n : options,\n });\n }\n\n /**\n * Deallocate resources for a blob.\n */\n static release(blobId: string): void {\n invariant(NativeBlobModule, 'NativeBlobModule is available.');\n\n BlobRegistry.unregister(blobId);\n if (BlobRegistry.has(blobId)) {\n return;\n }\n NativeBlobModule.release(blobId);\n }\n\n /**\n * Inject the blob content handler in the networking module to support blob\n * requests and responses.\n */\n static addNetworkingHandler(): void {\n invariant(NativeBlobModule, 'NativeBlobModule is available.');\n\n NativeBlobModule.addNetworkingHandler();\n }\n\n /**\n * Indicate the websocket should return a blob for incoming binary\n * messages.\n */\n static addWebSocketHandler(socketId: number): void {\n invariant(NativeBlobModule, 'NativeBlobModule is available.');\n\n NativeBlobModule.addWebSocketHandler(socketId);\n }\n\n /**\n * Indicate the websocket should no longer return a blob for incoming\n * binary messages.\n */\n static removeWebSocketHandler(socketId: number): void {\n invariant(NativeBlobModule, 'NativeBlobModule is available.');\n\n NativeBlobModule.removeWebSocketHandler(socketId);\n }\n\n /**\n * Send a blob message to a websocket.\n */\n static sendOverSocket(blob: Blob, socketId: number): void {\n invariant(NativeBlobModule, 'NativeBlobModule is available.');\n\n NativeBlobModule.sendOverSocket(blob.data, socketId);\n }\n}\n\nmodule.exports = BlobManager;\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 * @flow\n * @format\n */\n\nimport type {TurboModule} from '../TurboModule/RCTExport';\n\nimport * as TurboModuleRegistry from '../TurboModule/TurboModuleRegistry';\n\nexport interface Spec extends TurboModule {\n +getConstants: () => {|BLOB_URI_SCHEME: ?string, BLOB_URI_HOST: ?string|};\n +addNetworkingHandler: () => void;\n +addWebSocketHandler: (id: number) => void;\n +removeWebSocketHandler: (id: number) => void;\n +sendOverSocket: (blob: Object, socketID: number) => void;\n +createFromParts: (parts: Array, withId: string) => void;\n +release: (blobId: string) => void;\n}\n\nconst NativeModule = TurboModuleRegistry.get('BlobModule');\n\nlet constants = null;\nlet NativeBlobModule = null;\n\nif (NativeModule != null) {\n NativeBlobModule = {\n getConstants(): {|BLOB_URI_SCHEME: ?string, BLOB_URI_HOST: ?string|} {\n if (constants == null) {\n constants = NativeModule.getConstants();\n }\n return constants;\n },\n addNetworkingHandler(): void {\n NativeModule.addNetworkingHandler();\n },\n addWebSocketHandler(id: number): void {\n NativeModule.addWebSocketHandler(id);\n },\n removeWebSocketHandler(id: number): void {\n NativeModule.removeWebSocketHandler(id);\n },\n sendOverSocket(blob: Object, socketID: number): void {\n NativeModule.sendOverSocket(blob, socketID);\n },\n createFromParts(parts: Array, withId: string): void {\n NativeModule.createFromParts(parts, withId);\n },\n release(blobId: string): void {\n NativeModule.release(blobId);\n },\n };\n}\n\nexport default (NativeBlobModule: ?Spec);\n","'use strict'\n\nexports.byteLength = byteLength\nexports.toByteArray = toByteArray\nexports.fromByteArray = fromByteArray\n\nvar lookup = []\nvar revLookup = []\nvar Arr = typeof Uint8Array !== 'undefined' ? Uint8Array : Array\n\nvar code = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/'\nfor (var i = 0, len = code.length; i < len; ++i) {\n lookup[i] = code[i]\n revLookup[code.charCodeAt(i)] = i\n}\n\n// Support decoding URL-safe base64 strings, as Node.js does.\n// See: https://en.wikipedia.org/wiki/Base64#URL_applications\nrevLookup['-'.charCodeAt(0)] = 62\nrevLookup['_'.charCodeAt(0)] = 63\n\nfunction getLens (b64) {\n var len = b64.length\n\n if (len % 4 > 0) {\n throw new Error('Invalid string. Length must be a multiple of 4')\n }\n\n // Trim off extra bytes after placeholder bytes are found\n // See: https://github.com/beatgammit/base64-js/issues/42\n var validLen = b64.indexOf('=')\n if (validLen === -1) validLen = len\n\n var placeHoldersLen = validLen === len\n ? 0\n : 4 - (validLen % 4)\n\n return [validLen, placeHoldersLen]\n}\n\n// base64 is 4/3 + up to two characters of the original data\nfunction byteLength (b64) {\n var lens = getLens(b64)\n var validLen = lens[0]\n var placeHoldersLen = lens[1]\n return ((validLen + placeHoldersLen) * 3 / 4) - placeHoldersLen\n}\n\nfunction _byteLength (b64, validLen, placeHoldersLen) {\n return ((validLen + placeHoldersLen) * 3 / 4) - placeHoldersLen\n}\n\nfunction toByteArray (b64) {\n var tmp\n var lens = getLens(b64)\n var validLen = lens[0]\n var placeHoldersLen = lens[1]\n\n var arr = new Arr(_byteLength(b64, validLen, placeHoldersLen))\n\n var curByte = 0\n\n // if there are placeholders, only get up to the last complete 4 chars\n var len = placeHoldersLen > 0\n ? validLen - 4\n : validLen\n\n var i\n for (i = 0; i < len; i += 4) {\n tmp =\n (revLookup[b64.charCodeAt(i)] << 18) |\n (revLookup[b64.charCodeAt(i + 1)] << 12) |\n (revLookup[b64.charCodeAt(i + 2)] << 6) |\n revLookup[b64.charCodeAt(i + 3)]\n arr[curByte++] = (tmp >> 16) & 0xFF\n arr[curByte++] = (tmp >> 8) & 0xFF\n arr[curByte++] = tmp & 0xFF\n }\n\n if (placeHoldersLen === 2) {\n tmp =\n (revLookup[b64.charCodeAt(i)] << 2) |\n (revLookup[b64.charCodeAt(i + 1)] >> 4)\n arr[curByte++] = tmp & 0xFF\n }\n\n if (placeHoldersLen === 1) {\n tmp =\n (revLookup[b64.charCodeAt(i)] << 10) |\n (revLookup[b64.charCodeAt(i + 1)] << 4) |\n (revLookup[b64.charCodeAt(i + 2)] >> 2)\n arr[curByte++] = (tmp >> 8) & 0xFF\n arr[curByte++] = tmp & 0xFF\n }\n\n return arr\n}\n\nfunction tripletToBase64 (num) {\n return lookup[num >> 18 & 0x3F] +\n lookup[num >> 12 & 0x3F] +\n lookup[num >> 6 & 0x3F] +\n lookup[num & 0x3F]\n}\n\nfunction encodeChunk (uint8, start, end) {\n var tmp\n var output = []\n for (var i = start; i < end; i += 3) {\n tmp =\n ((uint8[i] << 16) & 0xFF0000) +\n ((uint8[i + 1] << 8) & 0xFF00) +\n (uint8[i + 2] & 0xFF)\n output.push(tripletToBase64(tmp))\n }\n return output.join('')\n}\n\nfunction fromByteArray (uint8) {\n var tmp\n var len = uint8.length\n var extraBytes = len % 3 // if we have 1 byte left, pad 2 bytes\n var parts = []\n var maxChunkLength = 16383 // must be multiple of 3\n\n // go through the array every three bytes, we'll deal with trailing stuff later\n for (var i = 0, len2 = len - extraBytes; i < len2; i += maxChunkLength) {\n parts.push(encodeChunk(uint8, i, (i + maxChunkLength) > len2 ? len2 : (i + maxChunkLength)))\n }\n\n // pad the end with zeros, but make sure to not forget the extra bytes\n if (extraBytes === 1) {\n tmp = uint8[len - 1]\n parts.push(\n lookup[tmp >> 2] +\n lookup[(tmp << 4) & 0x3F] +\n '=='\n )\n } else if (extraBytes === 2) {\n tmp = (uint8[len - 2] << 8) + uint8[len - 1]\n parts.push(\n lookup[tmp >> 10] +\n lookup[(tmp >> 4) & 0x3F] +\n lookup[(tmp << 2) & 0x3F] +\n '='\n )\n }\n\n return parts.join('')\n}\n","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @flow strict-local\n * @format\n */\n\n'use strict';\n\nimport type {BlobData, BlobOptions} from './BlobTypes';\n\n/**\n * Opaque JS representation of some binary data in native.\n *\n * The API is modeled after the W3C Blob API, with one caveat\n * regarding explicit deallocation. Refer to the `close()`\n * method for further details.\n *\n * Example usage in a React component:\n *\n * class WebSocketImage extends React.Component {\n * state = {blob: null};\n * componentDidMount() {\n * let ws = this.ws = new WebSocket(...);\n * ws.binaryType = 'blob';\n * ws.onmessage = (event) => {\n * if (this.state.blob) {\n * this.state.blob.close();\n * }\n * this.setState({blob: event.data});\n * };\n * }\n * componentUnmount() {\n * if (this.state.blob) {\n * this.state.blob.close();\n * }\n * this.ws.close();\n * }\n * render() {\n * if (!this.state.blob) {\n * return ;\n * }\n * return ;\n * }\n * }\n *\n * Reference: https://developer.mozilla.org/en-US/docs/Web/API/Blob\n */\nclass Blob {\n _data: ?BlobData;\n\n /**\n * Constructor for JS consumers.\n * Currently we only support creating Blobs from other Blobs.\n * Reference: https://developer.mozilla.org/en-US/docs/Web/API/Blob/Blob\n */\n constructor(\n parts: Array<$ArrayBufferView | ArrayBuffer | Blob | string> = [],\n options?: BlobOptions,\n ) {\n const BlobManager = require('./BlobManager');\n this.data = BlobManager.createFromParts(parts, options).data;\n }\n\n /*\n * This method is used to create a new Blob object containing\n * the data in the specified range of bytes of the source Blob.\n * Reference: https://developer.mozilla.org/en-US/docs/Web/API/Blob/slice\n */\n // $FlowFixMe[unsafe-getters-setters]\n set data(data: ?BlobData) {\n this._data = data;\n }\n\n // $FlowFixMe[unsafe-getters-setters]\n get data(): BlobData {\n if (!this._data) {\n throw new Error('Blob has been closed and is no longer available');\n }\n\n return this._data;\n }\n\n slice(start?: number, end?: number, contentType: string = ''): Blob {\n const BlobManager = require('./BlobManager');\n let {offset, size} = this.data;\n\n if (typeof start === 'number') {\n if (start > size) {\n // $FlowFixMe[reassign-const]\n start = size;\n }\n offset += start;\n size -= start;\n\n if (typeof end === 'number') {\n if (end < 0) {\n // $FlowFixMe[reassign-const]\n end = this.size + end;\n }\n if (end > this.size) {\n // $FlowFixMe[reassign-const]\n end = this.size;\n }\n size = end - start;\n }\n }\n return BlobManager.createFromOptions({\n blobId: this.data.blobId,\n offset,\n size,\n type: contentType,\n /* Since `blob.slice()` creates a new view onto the same binary\n * data as the original blob, we should re-use the same collector\n * object so that the underlying resource gets deallocated when\n * the last view into the data is released, not the first.\n */\n __collector: this.data.__collector,\n });\n }\n\n /**\n * This method is in the standard, but not actually implemented by\n * any browsers at this point. It's important for how Blobs work in\n * React Native, however, since we cannot de-allocate resources automatically,\n * so consumers need to explicitly de-allocate them.\n *\n * Note that the semantics around Blobs created via `blob.slice()`\n * and `new Blob([blob])` are different. `blob.slice()` creates a\n * new *view* onto the same binary data, so calling `close()` on any\n * of those views is enough to deallocate the data, whereas\n * `new Blob([blob, ...])` actually copies the data in memory.\n */\n close() {\n const BlobManager = require('./BlobManager');\n BlobManager.release(this.data.blobId);\n this.data = null;\n }\n\n /**\n * Size of the data contained in the Blob object, in bytes.\n */\n // $FlowFixMe[unsafe-getters-setters]\n get size(): number {\n return this.data.size;\n }\n\n /*\n * String indicating the MIME type of the data contained in the Blob.\n * If the type is unknown, this string is empty.\n */\n // $FlowFixMe[unsafe-getters-setters]\n get type(): string {\n return this.data.type || '';\n }\n}\n\nmodule.exports = Blob;\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 * @flow strict\n * @format\n */\n\nconst registry: Map = new Map();\n\nconst register = (id: string) => {\n const used = registry.get(id);\n\n if (used != null) {\n registry.set(id, used + 1);\n } else {\n registry.set(id, 1);\n }\n};\n\nconst unregister = (id: string) => {\n const used = registry.get(id);\n\n if (used != null) {\n if (used <= 1) {\n registry.delete(id);\n } else {\n registry.set(id, used - 1);\n }\n }\n};\n\nconst has = (id: string): number | boolean => {\n return registry.get(id) || false;\n};\n\nmodule.exports = {\n register,\n unregister,\n has,\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 * @flow strict\n * @format\n */\n\nimport type {IPerformanceLogger} from './createPerformanceLogger';\n\nimport createPerformanceLogger from './createPerformanceLogger';\n\n/**\n * This is a global shared instance of IPerformanceLogger that is created with\n * createPerformanceLogger().\n * This logger should be used only for global performance metrics like the ones\n * that are logged during loading bundle. If you want to log something from your\n * React component you should use PerformanceLoggerContext instead.\n */\nconst GlobalPerformanceLogger: IPerformanceLogger =\n createPerformanceLogger(true);\n\nmodule.exports = GlobalPerformanceLogger;\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 * @flow strict\n * @format\n */\n\nimport type {\n Extras,\n ExtraValue,\n IPerformanceLogger,\n Timespan,\n} from './IPerformanceLogger';\n\nimport * as Systrace from '../Performance/Systrace';\nimport ReactNativeFeatureFlags from '../ReactNative/ReactNativeFeatureFlags';\nimport NativePerformance from '../WebPerformance/NativePerformance';\nimport infoLog from './infoLog';\n\nconst _cookies: {[key: string]: number, ...} = {};\n\nconst PRINT_TO_CONSOLE: false = false; // Type as false to prevent accidentally committing `true`;\n\n// This is the prefix for optional logging points/timespans as marks/measures via Performance API,\n// used to separate these internally from other marks/measures\nconst WEB_PERFORMANCE_PREFIX = 'global_perf_';\n\nexport const getCurrentTimestamp: () => number =\n global.nativeQPLTimestamp ?? (() => global.performance.now());\n\nclass PerformanceLogger implements IPerformanceLogger {\n _timespans: {[key: string]: ?Timespan} = {};\n _extras: {[key: string]: ?ExtraValue} = {};\n _points: {[key: string]: ?number} = {};\n _pointExtras: {[key: string]: ?Extras, ...} = {};\n _closed: boolean = false;\n _isGlobalLogger: boolean = false;\n _isGlobalWebPerformanceLoggerEnabled: ?boolean;\n\n constructor(isGlobalLogger?: boolean) {\n this._isGlobalLogger = isGlobalLogger === true;\n }\n\n _isLoggingForWebPerformance(): boolean {\n if (!this._isGlobalLogger || NativePerformance == null) {\n return false;\n }\n if (this._isGlobalWebPerformanceLoggerEnabled == null) {\n this._isGlobalWebPerformanceLoggerEnabled =\n ReactNativeFeatureFlags.isGlobalWebPerformanceLoggerEnabled();\n }\n return this._isGlobalWebPerformanceLoggerEnabled === true;\n }\n\n // NOTE: The Performance.mark/measure calls are wrapped here to ensure that\n // we are safe from the cases when the global 'peformance' object is still not yet defined.\n // It is only necessary in this file because of potential race conditions in the initialization\n // order between 'createPerformanceLogger' and 'setUpPerformance'.\n //\n // In most of the other cases this kind of check for `performance` being defined\n // wouldn't be necessary.\n _performanceMark(key: string, startTime: number) {\n if (this._isLoggingForWebPerformance()) {\n global.performance?.mark?.(key, {\n startTime,\n });\n }\n }\n\n _performanceMeasure(\n key: string,\n start: number | string,\n end: number | string,\n ) {\n if (this._isLoggingForWebPerformance()) {\n global.performance?.measure?.(key, {\n start,\n end,\n });\n }\n }\n\n addTimespan(\n key: string,\n startTime: number,\n endTime: number,\n startExtras?: Extras,\n endExtras?: Extras,\n ) {\n if (this._closed) {\n if (PRINT_TO_CONSOLE && __DEV__) {\n infoLog('PerformanceLogger: addTimespan - has closed ignoring: ', key);\n }\n return;\n }\n if (this._timespans[key]) {\n if (PRINT_TO_CONSOLE && __DEV__) {\n infoLog(\n 'PerformanceLogger: Attempting to add a timespan that already exists ',\n key,\n );\n }\n return;\n }\n\n this._timespans[key] = {\n startTime,\n endTime,\n totalTime: endTime - (startTime || 0),\n startExtras,\n endExtras,\n };\n\n this._performanceMeasure(\n `${WEB_PERFORMANCE_PREFIX}_${key}`,\n startTime,\n endTime,\n );\n }\n\n append(performanceLogger: IPerformanceLogger) {\n this._timespans = {\n ...performanceLogger.getTimespans(),\n ...this._timespans,\n };\n this._extras = {...performanceLogger.getExtras(), ...this._extras};\n this._points = {...performanceLogger.getPoints(), ...this._points};\n this._pointExtras = {\n ...performanceLogger.getPointExtras(),\n ...this._pointExtras,\n };\n }\n\n clear() {\n this._timespans = {};\n this._extras = {};\n this._points = {};\n if (PRINT_TO_CONSOLE) {\n infoLog('PerformanceLogger.js', 'clear');\n }\n }\n\n clearCompleted() {\n for (const key in this._timespans) {\n if (this._timespans[key]?.totalTime != null) {\n delete this._timespans[key];\n }\n }\n this._extras = {};\n this._points = {};\n if (PRINT_TO_CONSOLE) {\n infoLog('PerformanceLogger.js', 'clearCompleted');\n }\n }\n\n close() {\n this._closed = true;\n }\n\n currentTimestamp(): number {\n return getCurrentTimestamp();\n }\n\n getExtras(): {[key: string]: ?ExtraValue} {\n return this._extras;\n }\n\n getPoints(): {[key: string]: ?number} {\n return this._points;\n }\n\n getPointExtras(): {[key: string]: ?Extras} {\n return this._pointExtras;\n }\n\n getTimespans(): {[key: string]: ?Timespan} {\n return this._timespans;\n }\n\n hasTimespan(key: string): boolean {\n return !!this._timespans[key];\n }\n\n isClosed(): boolean {\n return this._closed;\n }\n\n logEverything() {\n if (PRINT_TO_CONSOLE) {\n // log timespans\n for (const key in this._timespans) {\n if (this._timespans[key]?.totalTime != null) {\n infoLog(key + ': ' + this._timespans[key].totalTime + 'ms');\n }\n }\n\n // log extras\n infoLog(this._extras);\n\n // log points\n for (const key in this._points) {\n if (this._points[key] != null) {\n infoLog(key + ': ' + this._points[key] + 'ms');\n }\n }\n }\n }\n\n markPoint(\n key: string,\n timestamp?: number = getCurrentTimestamp(),\n extras?: Extras,\n ) {\n if (this._closed) {\n if (PRINT_TO_CONSOLE && __DEV__) {\n infoLog('PerformanceLogger: markPoint - has closed ignoring: ', key);\n }\n return;\n }\n if (this._points[key] != null) {\n if (PRINT_TO_CONSOLE && __DEV__) {\n infoLog(\n 'PerformanceLogger: Attempting to mark a point that has been already logged ',\n key,\n );\n }\n return;\n }\n this._points[key] = timestamp;\n if (extras) {\n this._pointExtras[key] = extras;\n }\n\n this._performanceMark(`${WEB_PERFORMANCE_PREFIX}_${key}`, timestamp);\n }\n\n removeExtra(key: string): ?ExtraValue {\n const value = this._extras[key];\n delete this._extras[key];\n return value;\n }\n\n setExtra(key: string, value: ExtraValue) {\n if (this._closed) {\n if (PRINT_TO_CONSOLE && __DEV__) {\n infoLog('PerformanceLogger: setExtra - has closed ignoring: ', key);\n }\n return;\n }\n\n if (this._extras.hasOwnProperty(key)) {\n if (PRINT_TO_CONSOLE && __DEV__) {\n infoLog(\n 'PerformanceLogger: Attempting to set an extra that already exists ',\n {key, currentValue: this._extras[key], attemptedValue: value},\n );\n }\n return;\n }\n this._extras[key] = value;\n }\n\n startTimespan(\n key: string,\n timestamp?: number = getCurrentTimestamp(),\n extras?: Extras,\n ) {\n if (this._closed) {\n if (PRINT_TO_CONSOLE && __DEV__) {\n infoLog(\n 'PerformanceLogger: startTimespan - has closed ignoring: ',\n key,\n );\n }\n return;\n }\n\n if (this._timespans[key]) {\n if (PRINT_TO_CONSOLE && __DEV__) {\n infoLog(\n 'PerformanceLogger: Attempting to start a timespan that already exists ',\n key,\n );\n }\n return;\n }\n\n this._timespans[key] = {\n startTime: timestamp,\n startExtras: extras,\n };\n _cookies[key] = Systrace.beginAsyncEvent(key);\n if (PRINT_TO_CONSOLE) {\n infoLog('PerformanceLogger.js', 'start: ' + key);\n }\n\n this._performanceMark(\n `${WEB_PERFORMANCE_PREFIX}_timespan_start_${key}`,\n timestamp,\n );\n }\n\n stopTimespan(\n key: string,\n timestamp?: number = getCurrentTimestamp(),\n extras?: Extras,\n ) {\n if (this._closed) {\n if (PRINT_TO_CONSOLE && __DEV__) {\n infoLog('PerformanceLogger: stopTimespan - has closed ignoring: ', key);\n }\n return;\n }\n\n const timespan = this._timespans[key];\n if (!timespan || timespan.startTime == null) {\n if (PRINT_TO_CONSOLE && __DEV__) {\n infoLog(\n 'PerformanceLogger: Attempting to end a timespan that has not started ',\n key,\n );\n }\n return;\n }\n if (timespan.endTime != null) {\n if (PRINT_TO_CONSOLE && __DEV__) {\n infoLog(\n 'PerformanceLogger: Attempting to end a timespan that has already ended ',\n key,\n );\n }\n return;\n }\n\n timespan.endExtras = extras;\n timespan.endTime = timestamp;\n timespan.totalTime = timespan.endTime - (timespan.startTime || 0);\n if (PRINT_TO_CONSOLE) {\n infoLog('PerformanceLogger.js', 'end: ' + key);\n }\n\n if (_cookies[key] != null) {\n Systrace.endAsyncEvent(key, _cookies[key]);\n delete _cookies[key];\n }\n\n this._performanceMeasure(\n `${WEB_PERFORMANCE_PREFIX}_${key}`,\n `${WEB_PERFORMANCE_PREFIX}_timespan_start_${key}`,\n timestamp,\n );\n }\n}\n\n// Re-exporting for backwards compatibility with all the clients that\n// may still import it from this module.\nexport type {Extras, ExtraValue, IPerformanceLogger, Timespan};\n\n/**\n * This function creates performance loggers that can be used to collect and log\n * various performance data such as timespans, points and extras.\n * The loggers need to have minimal overhead since they're used in production.\n */\nexport default function createPerformanceLogger(\n isGlobalLogger?: boolean,\n): IPerformanceLogger {\n return new PerformanceLogger(isGlobalLogger);\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 * @flow strict\n * @format\n */\n\nexport type FeatureFlags = {|\n /**\n * Function used to enable / disabled Layout Animations in React Native.\n * Default value = true.\n */\n isLayoutAnimationEnabled: () => boolean,\n /**\n * Function used to enable / disable W3C pointer event emitting in React Native.\n * If enabled you must also flip the equivalent native flags on each platform:\n * iOS -> RCTSetDispatchW3CPointerEvents\n * Android -> ReactFeatureFlags.dispatchPointerEvents\n */\n shouldEmitW3CPointerEvents: () => boolean,\n /**\n * Function used to enable / disable Pressibility from using W3C Pointer Events\n * for its hover callbacks\n */\n shouldPressibilityUseW3CPointerEventsForHover: () => boolean,\n /**\n * Enables an experimental flush-queue debouncing in Animated.js.\n */\n animatedShouldDebounceQueueFlush: () => boolean,\n /**\n * Enables an experimental mega-operation for Animated.js that replaces\n * many calls to native with a single call into native, to reduce JSI/JNI\n * traffic.\n */\n animatedShouldUseSingleOp: () => boolean,\n /**\n * Enables GlobalPerformanceLogger replacement with a WebPerformance API based\n * implementation. Tri-state due to being sensitive to initialization order\n * vs the platform-specific ReactNativeFeatureFlags implementation.\n */\n isGlobalWebPerformanceLoggerEnabled: () => ?boolean,\n /**\n * Enables access to the host tree in Fabric using DOM-compatible APIs.\n */\n enableAccessToHostTreeInFabric: () => boolean,\n /**\n * Enables use of AnimatedObject for animating transform values.\n */\n shouldUseAnimatedObjectForTransform: () => boolean,\n /**\n * Enables use of setNativeProps in JS driven animations.\n */\n shouldUseSetNativePropsInFabric: () => boolean,\n /**\n * Enables a hotfix for forcing materialization of views with elevation set.\n */\n shouldForceUnflattenForElevation: () => boolean,\n|};\n\nconst ReactNativeFeatureFlags: FeatureFlags = {\n isLayoutAnimationEnabled: () => true,\n shouldEmitW3CPointerEvents: () => false,\n shouldPressibilityUseW3CPointerEventsForHover: () => false,\n animatedShouldDebounceQueueFlush: () => false,\n animatedShouldUseSingleOp: () => false,\n isGlobalWebPerformanceLoggerEnabled: () => undefined,\n enableAccessToHostTreeInFabric: () => false,\n shouldUseAnimatedObjectForTransform: () => false,\n shouldUseSetNativePropsInFabric: () => false,\n shouldForceUnflattenForElevation: () => false,\n};\n\nmodule.exports = ReactNativeFeatureFlags;\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 * @flow strict\n */\n\n'use strict';\n\n/**\n * Intentional info-level logging for clear separation from ad-hoc console debug logging.\n */\nfunction infoLog(...args: Array): void {\n return console.log(...args);\n}\n\nmodule.exports = infoLog;\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 * @flow strict-local\n * @format\n */\n\n'use strict';\n\nimport RCTDeviceEventEmitter from '../EventEmitter/RCTDeviceEventEmitter';\nimport {type EventSubscription} from '../vendor/emitter/EventEmitter';\nimport convertRequestBody, {type RequestBody} from './convertRequestBody';\nimport NativeNetworkingIOS from './NativeNetworkingIOS';\nimport {type NativeResponseType} from './XMLHttpRequest';\n\ntype RCTNetworkingEventDefinitions = $ReadOnly<{\n didSendNetworkData: [\n [\n number, // requestId\n number, // progress\n number, // total\n ],\n ],\n didReceiveNetworkResponse: [\n [\n number, // requestId\n number, // status\n ?{[string]: string}, // responseHeaders\n ?string, // responseURL\n ],\n ],\n didReceiveNetworkData: [\n [\n number, // requestId\n string, // response\n ],\n ],\n didReceiveNetworkIncrementalData: [\n [\n number, // requestId\n string, // responseText\n number, // progress\n number, // total\n ],\n ],\n didReceiveNetworkDataProgress: [\n [\n number, // requestId\n number, // loaded\n number, // total\n ],\n ],\n didCompleteNetworkResponse: [\n [\n number, // requestId\n string, // error\n boolean, // timeOutError\n ],\n ],\n}>;\n\nconst RCTNetworking = {\n addListener>(\n eventType: K,\n listener: (...$ElementType) => mixed,\n context?: mixed,\n ): EventSubscription {\n // $FlowFixMe[incompatible-call]\n return RCTDeviceEventEmitter.addListener(eventType, listener, context);\n },\n\n sendRequest(\n method: string,\n trackingName: string,\n url: string,\n headers: {...},\n data: RequestBody,\n responseType: NativeResponseType,\n incrementalUpdates: boolean,\n timeout: number,\n callback: (requestId: number) => void,\n withCredentials: boolean,\n ) {\n const body = convertRequestBody(data);\n NativeNetworkingIOS.sendRequest(\n {\n method,\n url,\n data: {...body, trackingName},\n headers,\n responseType,\n incrementalUpdates,\n timeout,\n withCredentials,\n },\n callback,\n );\n },\n\n abortRequest(requestId: number) {\n NativeNetworkingIOS.abortRequest(requestId);\n },\n\n clearCookies(callback: (result: boolean) => void) {\n NativeNetworkingIOS.clearCookies(callback);\n },\n};\n\nexport default RCTNetworking;\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 * @flow\n * @format\n */\n\n'use strict';\n\nconst Blob = require('../Blob/Blob');\nconst binaryToBase64 = require('../Utilities/binaryToBase64');\nconst FormData = require('./FormData');\n\nexport type RequestBody =\n | string\n | Blob\n | FormData\n | {uri: string, ...}\n | ArrayBuffer\n | $ArrayBufferView;\n\nfunction convertRequestBody(body: RequestBody): Object {\n if (typeof body === 'string') {\n return {string: body};\n }\n if (body instanceof Blob) {\n return {blob: body.data};\n }\n if (body instanceof FormData) {\n return {formData: body.getParts()};\n }\n if (body instanceof ArrayBuffer || ArrayBuffer.isView(body)) {\n /* $FlowFixMe[incompatible-call] : no way to assert that 'body' is indeed\n * an ArrayBufferView */\n return {base64: binaryToBase64(body)};\n }\n return body;\n}\n\nmodule.exports = convertRequestBody;\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 * @flow strict\n */\n\n'use strict';\n\ntype FormDataValue = string | {name?: string, type?: string, uri: string};\ntype FormDataNameValuePair = [string, FormDataValue];\n\ntype Headers = {[name: string]: string, ...};\ntype FormDataPart =\n | {\n string: string,\n headers: Headers,\n ...\n }\n | {\n uri: string,\n headers: Headers,\n name?: string,\n type?: string,\n ...\n };\n\n/**\n * Polyfill for XMLHttpRequest2 FormData API, allowing multipart POST requests\n * with mixed data (string, native files) to be submitted via XMLHttpRequest.\n *\n * Example:\n *\n * var photo = {\n * uri: uriFromCameraRoll,\n * type: 'image/jpeg',\n * name: 'photo.jpg',\n * };\n *\n * var body = new FormData();\n * body.append('authToken', 'secret');\n * body.append('photo', photo);\n * body.append('title', 'A beautiful photo!');\n *\n * xhr.open('POST', serverURL);\n * xhr.send(body);\n */\nclass FormData {\n _parts: Array;\n\n constructor() {\n this._parts = [];\n }\n\n append(key: string, value: FormDataValue) {\n // The XMLHttpRequest spec doesn't specify if duplicate keys are allowed.\n // MDN says that any new values should be appended to existing values.\n // In any case, major browsers allow duplicate keys, so that's what we'll do\n // too. They'll simply get appended as additional form data parts in the\n // request body, leaving the server to deal with them.\n this._parts.push([key, value]);\n }\n\n getAll(key: string): Array {\n return this._parts\n .filter(([name]) => name === key)\n .map(([, value]) => value);\n }\n\n getParts(): Array {\n return this._parts.map(([name, value]) => {\n const contentDisposition = 'form-data; name=\"' + name + '\"';\n\n const headers: Headers = {'content-disposition': contentDisposition};\n\n // The body part is a \"blob\", which in React Native just means\n // an object with a `uri` attribute. Optionally, it can also\n // have a `name` and `type` attribute to specify filename and\n // content type (cf. web Blob interface.)\n if (typeof value === 'object' && !Array.isArray(value) && value) {\n if (typeof value.name === 'string') {\n headers['content-disposition'] += '; filename=\"' + value.name + '\"';\n }\n if (typeof value.type === 'string') {\n headers['content-type'] = value.type;\n }\n return {...value, headers, fieldName: name};\n }\n // Convert non-object values to strings as per FormData.append() spec\n return {string: String(value), headers, fieldName: name};\n });\n }\n}\n\nmodule.exports = FormData;\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 * @flow strict\n */\n\n'use strict';\n\nconst base64 = require('base64-js');\n\nfunction binaryToBase64(data: ArrayBuffer | $ArrayBufferView): string {\n if (data instanceof ArrayBuffer) {\n // $FlowFixMe[reassign-const]\n data = new Uint8Array(data);\n }\n if (data instanceof Uint8Array) {\n return base64.fromByteArray(data);\n }\n if (!ArrayBuffer.isView(data)) {\n throw new Error('data must be ArrayBuffer or typed array');\n }\n // Already checked that `data` is `DataView` in `ArrayBuffer.isView(data)`\n const {buffer, byteOffset, byteLength} = ((data: $FlowFixMe): DataView);\n return base64.fromByteArray(new Uint8Array(buffer, byteOffset, byteLength));\n}\n\nmodule.exports = binaryToBase64;\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 * @flow\n * @format\n */\n\nimport type {TurboModule} from '../TurboModule/RCTExport';\n\nimport * as TurboModuleRegistry from '../TurboModule/TurboModuleRegistry';\n\nexport interface Spec extends TurboModule {\n +sendRequest: (\n query: {|\n method: string,\n url: string,\n data: Object,\n headers: Object,\n responseType: string,\n incrementalUpdates: boolean,\n timeout: number,\n withCredentials: boolean,\n |},\n callback: (requestId: number) => void,\n ) => void;\n +abortRequest: (requestId: number) => void;\n +clearCookies: (callback: (result: boolean) => void) => void;\n\n // RCTEventEmitter\n +addListener: (eventName: string) => void;\n +removeListeners: (count: number) => void;\n}\n\nexport default (TurboModuleRegistry.getEnforcing('Networking'): Spec);\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 * @flow strict\n * @format\n */\n\n/* globals Headers, Request, Response */\n\n'use strict';\n\n// side-effectful require() to put fetch,\n// Headers, Request, Response in global scope\nrequire('whatwg-fetch');\n\nmodule.exports = {fetch, Headers, Request, Response};\n","(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports) :\n typeof define === 'function' && define.amd ? define(['exports'], factory) :\n (factory((global.WHATWGFetch = {})));\n}(this, (function (exports) { 'use strict';\n\n /* eslint-disable no-prototype-builtins */\n var g =\n (typeof globalThis !== 'undefined' && globalThis) ||\n (typeof self !== 'undefined' && self) ||\n // eslint-disable-next-line no-undef\n (typeof global !== 'undefined' && global) ||\n {};\n\n var support = {\n searchParams: 'URLSearchParams' in g,\n iterable: 'Symbol' in g && 'iterator' in Symbol,\n blob:\n 'FileReader' in g &&\n 'Blob' in g &&\n (function() {\n try {\n new Blob();\n return true\n } catch (e) {\n return false\n }\n })(),\n formData: 'FormData' in g,\n arrayBuffer: 'ArrayBuffer' in g\n };\n\n function isDataView(obj) {\n return obj && DataView.prototype.isPrototypeOf(obj)\n }\n\n if (support.arrayBuffer) {\n var viewClasses = [\n '[object Int8Array]',\n '[object Uint8Array]',\n '[object Uint8ClampedArray]',\n '[object Int16Array]',\n '[object Uint16Array]',\n '[object Int32Array]',\n '[object Uint32Array]',\n '[object Float32Array]',\n '[object Float64Array]'\n ];\n\n var isArrayBufferView =\n ArrayBuffer.isView ||\n function(obj) {\n return obj && viewClasses.indexOf(Object.prototype.toString.call(obj)) > -1\n };\n }\n\n function normalizeName(name) {\n if (typeof name !== 'string') {\n name = String(name);\n }\n if (/[^a-z0-9\\-#$%&'*+.^_`|~!]/i.test(name) || name === '') {\n throw new TypeError('Invalid character in header field name: \"' + name + '\"')\n }\n return name.toLowerCase()\n }\n\n function normalizeValue(value) {\n if (typeof value !== 'string') {\n value = String(value);\n }\n return value\n }\n\n // Build a destructive iterator for the value list\n function iteratorFor(items) {\n var iterator = {\n next: function() {\n var value = items.shift();\n return {done: value === undefined, value: value}\n }\n };\n\n if (support.iterable) {\n iterator[Symbol.iterator] = function() {\n return iterator\n };\n }\n\n return iterator\n }\n\n function Headers(headers) {\n this.map = {};\n\n if (headers instanceof Headers) {\n headers.forEach(function(value, name) {\n this.append(name, value);\n }, this);\n } else if (Array.isArray(headers)) {\n headers.forEach(function(header) {\n if (header.length != 2) {\n throw new TypeError('Headers constructor: expected name/value pair to be length 2, found' + header.length)\n }\n this.append(header[0], header[1]);\n }, this);\n } else if (headers) {\n Object.getOwnPropertyNames(headers).forEach(function(name) {\n this.append(name, headers[name]);\n }, this);\n }\n }\n\n Headers.prototype.append = function(name, value) {\n name = normalizeName(name);\n value = normalizeValue(value);\n var oldValue = this.map[name];\n this.map[name] = oldValue ? oldValue + ', ' + value : value;\n };\n\n Headers.prototype['delete'] = function(name) {\n delete this.map[normalizeName(name)];\n };\n\n Headers.prototype.get = function(name) {\n name = normalizeName(name);\n return this.has(name) ? this.map[name] : null\n };\n\n Headers.prototype.has = function(name) {\n return this.map.hasOwnProperty(normalizeName(name))\n };\n\n Headers.prototype.set = function(name, value) {\n this.map[normalizeName(name)] = normalizeValue(value);\n };\n\n Headers.prototype.forEach = function(callback, thisArg) {\n for (var name in this.map) {\n if (this.map.hasOwnProperty(name)) {\n callback.call(thisArg, this.map[name], name, this);\n }\n }\n };\n\n Headers.prototype.keys = function() {\n var items = [];\n this.forEach(function(value, name) {\n items.push(name);\n });\n return iteratorFor(items)\n };\n\n Headers.prototype.values = function() {\n var items = [];\n this.forEach(function(value) {\n items.push(value);\n });\n return iteratorFor(items)\n };\n\n Headers.prototype.entries = function() {\n var items = [];\n this.forEach(function(value, name) {\n items.push([name, value]);\n });\n return iteratorFor(items)\n };\n\n if (support.iterable) {\n Headers.prototype[Symbol.iterator] = Headers.prototype.entries;\n }\n\n function consumed(body) {\n if (body._noBody) return\n if (body.bodyUsed) {\n return Promise.reject(new TypeError('Already read'))\n }\n body.bodyUsed = true;\n }\n\n function fileReaderReady(reader) {\n return new Promise(function(resolve, reject) {\n reader.onload = function() {\n resolve(reader.result);\n };\n reader.onerror = function() {\n reject(reader.error);\n };\n })\n }\n\n function readBlobAsArrayBuffer(blob) {\n var reader = new FileReader();\n var promise = fileReaderReady(reader);\n reader.readAsArrayBuffer(blob);\n return promise\n }\n\n function readBlobAsText(blob) {\n var reader = new FileReader();\n var promise = fileReaderReady(reader);\n var match = /charset=([A-Za-z0-9_-]+)/.exec(blob.type);\n var encoding = match ? match[1] : 'utf-8';\n reader.readAsText(blob, encoding);\n return promise\n }\n\n function readArrayBufferAsText(buf) {\n var view = new Uint8Array(buf);\n var chars = new Array(view.length);\n\n for (var i = 0; i < view.length; i++) {\n chars[i] = String.fromCharCode(view[i]);\n }\n return chars.join('')\n }\n\n function bufferClone(buf) {\n if (buf.slice) {\n return buf.slice(0)\n } else {\n var view = new Uint8Array(buf.byteLength);\n view.set(new Uint8Array(buf));\n return view.buffer\n }\n }\n\n function Body() {\n this.bodyUsed = false;\n\n this._initBody = function(body) {\n /*\n fetch-mock wraps the Response object in an ES6 Proxy to\n provide useful test harness features such as flush. However, on\n ES5 browsers without fetch or Proxy support pollyfills must be used;\n the proxy-pollyfill is unable to proxy an attribute unless it exists\n on the object before the Proxy is created. This change ensures\n Response.bodyUsed exists on the instance, while maintaining the\n semantic of setting Request.bodyUsed in the constructor before\n _initBody is called.\n */\n // eslint-disable-next-line no-self-assign\n this.bodyUsed = this.bodyUsed;\n this._bodyInit = body;\n if (!body) {\n this._noBody = true;\n this._bodyText = '';\n } else if (typeof body === 'string') {\n this._bodyText = body;\n } else if (support.blob && Blob.prototype.isPrototypeOf(body)) {\n this._bodyBlob = body;\n } else if (support.formData && FormData.prototype.isPrototypeOf(body)) {\n this._bodyFormData = body;\n } else if (support.searchParams && URLSearchParams.prototype.isPrototypeOf(body)) {\n this._bodyText = body.toString();\n } else if (support.arrayBuffer && support.blob && isDataView(body)) {\n this._bodyArrayBuffer = bufferClone(body.buffer);\n // IE 10-11 can't handle a DataView body.\n this._bodyInit = new Blob([this._bodyArrayBuffer]);\n } else if (support.arrayBuffer && (ArrayBuffer.prototype.isPrototypeOf(body) || isArrayBufferView(body))) {\n this._bodyArrayBuffer = bufferClone(body);\n } else {\n this._bodyText = body = Object.prototype.toString.call(body);\n }\n\n if (!this.headers.get('content-type')) {\n if (typeof body === 'string') {\n this.headers.set('content-type', 'text/plain;charset=UTF-8');\n } else if (this._bodyBlob && this._bodyBlob.type) {\n this.headers.set('content-type', this._bodyBlob.type);\n } else if (support.searchParams && URLSearchParams.prototype.isPrototypeOf(body)) {\n this.headers.set('content-type', 'application/x-www-form-urlencoded;charset=UTF-8');\n }\n }\n };\n\n if (support.blob) {\n this.blob = function() {\n var rejected = consumed(this);\n if (rejected) {\n return rejected\n }\n\n if (this._bodyBlob) {\n return Promise.resolve(this._bodyBlob)\n } else if (this._bodyArrayBuffer) {\n return Promise.resolve(new Blob([this._bodyArrayBuffer]))\n } else if (this._bodyFormData) {\n throw new Error('could not read FormData body as blob')\n } else {\n return Promise.resolve(new Blob([this._bodyText]))\n }\n };\n }\n\n this.arrayBuffer = function() {\n if (this._bodyArrayBuffer) {\n var isConsumed = consumed(this);\n if (isConsumed) {\n return isConsumed\n } else if (ArrayBuffer.isView(this._bodyArrayBuffer)) {\n return Promise.resolve(\n this._bodyArrayBuffer.buffer.slice(\n this._bodyArrayBuffer.byteOffset,\n this._bodyArrayBuffer.byteOffset + this._bodyArrayBuffer.byteLength\n )\n )\n } else {\n return Promise.resolve(this._bodyArrayBuffer)\n }\n } else if (support.blob) {\n return this.blob().then(readBlobAsArrayBuffer)\n } else {\n throw new Error('could not read as ArrayBuffer')\n }\n };\n\n this.text = function() {\n var rejected = consumed(this);\n if (rejected) {\n return rejected\n }\n\n if (this._bodyBlob) {\n return readBlobAsText(this._bodyBlob)\n } else if (this._bodyArrayBuffer) {\n return Promise.resolve(readArrayBufferAsText(this._bodyArrayBuffer))\n } else if (this._bodyFormData) {\n throw new Error('could not read FormData body as text')\n } else {\n return Promise.resolve(this._bodyText)\n }\n };\n\n if (support.formData) {\n this.formData = function() {\n return this.text().then(decode)\n };\n }\n\n this.json = function() {\n return this.text().then(JSON.parse)\n };\n\n return this\n }\n\n // HTTP methods whose capitalization should be normalized\n var methods = ['CONNECT', 'DELETE', 'GET', 'HEAD', 'OPTIONS', 'PATCH', 'POST', 'PUT', 'TRACE'];\n\n function normalizeMethod(method) {\n var upcased = method.toUpperCase();\n return methods.indexOf(upcased) > -1 ? upcased : method\n }\n\n function Request(input, options) {\n if (!(this instanceof Request)) {\n throw new TypeError('Please use the \"new\" operator, this DOM object constructor cannot be called as a function.')\n }\n\n options = options || {};\n var body = options.body;\n\n if (input instanceof Request) {\n if (input.bodyUsed) {\n throw new TypeError('Already read')\n }\n this.url = input.url;\n this.credentials = input.credentials;\n if (!options.headers) {\n this.headers = new Headers(input.headers);\n }\n this.method = input.method;\n this.mode = input.mode;\n this.signal = input.signal;\n if (!body && input._bodyInit != null) {\n body = input._bodyInit;\n input.bodyUsed = true;\n }\n } else {\n this.url = String(input);\n }\n\n this.credentials = options.credentials || this.credentials || 'same-origin';\n if (options.headers || !this.headers) {\n this.headers = new Headers(options.headers);\n }\n this.method = normalizeMethod(options.method || this.method || 'GET');\n this.mode = options.mode || this.mode || null;\n this.signal = options.signal || this.signal || (function () {\n if ('AbortController' in g) {\n var ctrl = new AbortController();\n return ctrl.signal;\n }\n }());\n this.referrer = null;\n\n if ((this.method === 'GET' || this.method === 'HEAD') && body) {\n throw new TypeError('Body not allowed for GET or HEAD requests')\n }\n this._initBody(body);\n\n if (this.method === 'GET' || this.method === 'HEAD') {\n if (options.cache === 'no-store' || options.cache === 'no-cache') {\n // Search for a '_' parameter in the query string\n var reParamSearch = /([?&])_=[^&]*/;\n if (reParamSearch.test(this.url)) {\n // If it already exists then set the value with the current time\n this.url = this.url.replace(reParamSearch, '$1_=' + new Date().getTime());\n } else {\n // Otherwise add a new '_' parameter to the end with the current time\n var reQueryString = /\\?/;\n this.url += (reQueryString.test(this.url) ? '&' : '?') + '_=' + new Date().getTime();\n }\n }\n }\n }\n\n Request.prototype.clone = function() {\n return new Request(this, {body: this._bodyInit})\n };\n\n function decode(body) {\n var form = new FormData();\n body\n .trim()\n .split('&')\n .forEach(function(bytes) {\n if (bytes) {\n var split = bytes.split('=');\n var name = split.shift().replace(/\\+/g, ' ');\n var value = split.join('=').replace(/\\+/g, ' ');\n form.append(decodeURIComponent(name), decodeURIComponent(value));\n }\n });\n return form\n }\n\n function parseHeaders(rawHeaders) {\n var headers = new Headers();\n // Replace instances of \\r\\n and \\n followed by at least one space or horizontal tab with a space\n // https://tools.ietf.org/html/rfc7230#section-3.2\n var preProcessedHeaders = rawHeaders.replace(/\\r?\\n[\\t ]+/g, ' ');\n // Avoiding split via regex to work around a common IE11 bug with the core-js 3.6.0 regex polyfill\n // https://github.com/github/fetch/issues/748\n // https://github.com/zloirock/core-js/issues/751\n preProcessedHeaders\n .split('\\r')\n .map(function(header) {\n return header.indexOf('\\n') === 0 ? header.substr(1, header.length) : header\n })\n .forEach(function(line) {\n var parts = line.split(':');\n var key = parts.shift().trim();\n if (key) {\n var value = parts.join(':').trim();\n try {\n headers.append(key, value);\n } catch (error) {\n console.warn('Response ' + error.message);\n }\n }\n });\n return headers\n }\n\n Body.call(Request.prototype);\n\n function Response(bodyInit, options) {\n if (!(this instanceof Response)) {\n throw new TypeError('Please use the \"new\" operator, this DOM object constructor cannot be called as a function.')\n }\n if (!options) {\n options = {};\n }\n\n this.type = 'default';\n this.status = options.status === undefined ? 200 : options.status;\n if (this.status < 200 || this.status > 599) {\n throw new RangeError(\"Failed to construct 'Response': The status provided (0) is outside the range [200, 599].\")\n }\n this.ok = this.status >= 200 && this.status < 300;\n this.statusText = options.statusText === undefined ? '' : '' + options.statusText;\n this.headers = new Headers(options.headers);\n this.url = options.url || '';\n this._initBody(bodyInit);\n }\n\n Body.call(Response.prototype);\n\n Response.prototype.clone = function() {\n return new Response(this._bodyInit, {\n status: this.status,\n statusText: this.statusText,\n headers: new Headers(this.headers),\n url: this.url\n })\n };\n\n Response.error = function() {\n var response = new Response(null, {status: 200, statusText: ''});\n response.ok = false;\n response.status = 0;\n response.type = 'error';\n return response\n };\n\n var redirectStatuses = [301, 302, 303, 307, 308];\n\n Response.redirect = function(url, status) {\n if (redirectStatuses.indexOf(status) === -1) {\n throw new RangeError('Invalid status code')\n }\n\n return new Response(null, {status: status, headers: {location: url}})\n };\n\n exports.DOMException = g.DOMException;\n try {\n new exports.DOMException();\n } catch (err) {\n exports.DOMException = function(message, name) {\n this.message = message;\n this.name = name;\n var error = Error(message);\n this.stack = error.stack;\n };\n exports.DOMException.prototype = Object.create(Error.prototype);\n exports.DOMException.prototype.constructor = exports.DOMException;\n }\n\n function fetch(input, init) {\n return new Promise(function(resolve, reject) {\n var request = new Request(input, init);\n\n if (request.signal && request.signal.aborted) {\n return reject(new exports.DOMException('Aborted', 'AbortError'))\n }\n\n var xhr = new XMLHttpRequest();\n\n function abortXhr() {\n xhr.abort();\n }\n\n xhr.onload = function() {\n var options = {\n statusText: xhr.statusText,\n headers: parseHeaders(xhr.getAllResponseHeaders() || '')\n };\n // This check if specifically for when a user fetches a file locally from the file system\n // Only if the status is out of a normal range\n if (request.url.indexOf('file://') === 0 && (xhr.status < 200 || xhr.status > 599)) {\n options.status = 200;\n } else {\n options.status = xhr.status;\n }\n options.url = 'responseURL' in xhr ? xhr.responseURL : options.headers.get('X-Request-URL');\n var body = 'response' in xhr ? xhr.response : xhr.responseText;\n setTimeout(function() {\n resolve(new Response(body, options));\n }, 0);\n };\n\n xhr.onerror = function() {\n setTimeout(function() {\n reject(new TypeError('Network request failed'));\n }, 0);\n };\n\n xhr.ontimeout = function() {\n setTimeout(function() {\n reject(new TypeError('Network request timed out'));\n }, 0);\n };\n\n xhr.onabort = function() {\n setTimeout(function() {\n reject(new exports.DOMException('Aborted', 'AbortError'));\n }, 0);\n };\n\n function fixUrl(url) {\n try {\n return url === '' && g.location.href ? g.location.href : url\n } catch (e) {\n return url\n }\n }\n\n xhr.open(request.method, fixUrl(request.url), true);\n\n if (request.credentials === 'include') {\n xhr.withCredentials = true;\n } else if (request.credentials === 'omit') {\n xhr.withCredentials = false;\n }\n\n if ('responseType' in xhr) {\n if (support.blob) {\n xhr.responseType = 'blob';\n } else if (\n support.arrayBuffer\n ) {\n xhr.responseType = 'arraybuffer';\n }\n }\n\n if (init && typeof init.headers === 'object' && !(init.headers instanceof Headers || (g.Headers && init.headers instanceof g.Headers))) {\n var names = [];\n Object.getOwnPropertyNames(init.headers).forEach(function(name) {\n names.push(normalizeName(name));\n xhr.setRequestHeader(name, normalizeValue(init.headers[name]));\n });\n request.headers.forEach(function(value, name) {\n if (names.indexOf(name) === -1) {\n xhr.setRequestHeader(name, value);\n }\n });\n } else {\n request.headers.forEach(function(value, name) {\n xhr.setRequestHeader(name, value);\n });\n }\n\n if (request.signal) {\n request.signal.addEventListener('abort', abortXhr);\n\n xhr.onreadystatechange = function() {\n // DONE (success or failure)\n if (xhr.readyState === 4) {\n request.signal.removeEventListener('abort', abortXhr);\n }\n };\n }\n\n xhr.send(typeof request._bodyInit === 'undefined' ? null : request._bodyInit);\n })\n }\n\n fetch.polyfill = true;\n\n if (!g.fetch) {\n g.fetch = fetch;\n g.Headers = Headers;\n g.Request = Request;\n g.Response = Response;\n }\n\n exports.Headers = Headers;\n exports.Request = Request;\n exports.Response = Response;\n exports.fetch = fetch;\n\n Object.defineProperty(exports, '__esModule', { value: true });\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 * @flow\n */\n\nimport type {BlobData} from '../Blob/BlobTypes';\nimport type {EventSubscription} from '../vendor/emitter/EventEmitter';\n\nimport Blob from '../Blob/Blob';\nimport BlobManager from '../Blob/BlobManager';\nimport NativeEventEmitter from '../EventEmitter/NativeEventEmitter';\nimport binaryToBase64 from '../Utilities/binaryToBase64';\nimport Platform from '../Utilities/Platform';\nimport NativeWebSocketModule from './NativeWebSocketModule';\nimport WebSocketEvent from './WebSocketEvent';\nimport base64 from 'base64-js';\nimport EventTarget from 'event-target-shim';\nimport invariant from 'invariant';\n\ntype ArrayBufferView =\n | Int8Array\n | Uint8Array\n | Uint8ClampedArray\n | Int16Array\n | Uint16Array\n | Int32Array\n | Uint32Array\n | Float32Array\n | Float64Array\n | DataView;\n\ntype BinaryType = 'blob' | 'arraybuffer';\n\nconst CONNECTING = 0;\nconst OPEN = 1;\nconst CLOSING = 2;\nconst CLOSED = 3;\n\nconst CLOSE_NORMAL = 1000;\n\n// Abnormal closure where no code is provided in a control frame\n// https://www.rfc-editor.org/rfc/rfc6455.html#section-7.1.5\nconst CLOSE_ABNORMAL = 1006;\n\nconst WEBSOCKET_EVENTS = ['close', 'error', 'message', 'open'];\n\nlet nextWebSocketId = 0;\n\ntype WebSocketEventDefinitions = {\n websocketOpen: [{id: number, protocol: string}],\n websocketClosed: [{id: number, code: number, reason: string}],\n websocketMessage: [\n | {type: 'binary', id: number, data: string}\n | {type: 'text', id: number, data: string}\n | {type: 'blob', id: number, data: BlobData},\n ],\n websocketFailed: [{id: number, message: string}],\n};\n\n/**\n * Browser-compatible WebSockets implementation.\n *\n * See https://developer.mozilla.org/en-US/docs/Web/API/WebSocket\n * See https://github.com/websockets/ws\n */\nclass WebSocket extends (EventTarget(...WEBSOCKET_EVENTS): any) {\n static CONNECTING: number = CONNECTING;\n static OPEN: number = OPEN;\n static CLOSING: number = CLOSING;\n static CLOSED: number = CLOSED;\n\n CONNECTING: number = CONNECTING;\n OPEN: number = OPEN;\n CLOSING: number = CLOSING;\n CLOSED: number = CLOSED;\n\n _socketId: number;\n _eventEmitter: NativeEventEmitter;\n _subscriptions: Array;\n _binaryType: ?BinaryType;\n\n onclose: ?Function;\n onerror: ?Function;\n onmessage: ?Function;\n onopen: ?Function;\n\n bufferedAmount: number;\n extension: ?string;\n protocol: ?string;\n readyState: number = CONNECTING;\n url: ?string;\n\n constructor(\n url: string,\n protocols: ?string | ?Array,\n options: ?{headers?: {origin?: string, ...}, ...},\n ) {\n super();\n this.url = url;\n if (typeof protocols === 'string') {\n protocols = [protocols];\n }\n\n const {headers = {}, ...unrecognized} = options || {};\n\n // Preserve deprecated backwards compatibility for the 'origin' option\n // $FlowFixMe[prop-missing]\n if (unrecognized && typeof unrecognized.origin === 'string') {\n console.warn(\n 'Specifying `origin` as a WebSocket connection option is deprecated. Include it under `headers` instead.',\n );\n /* $FlowFixMe[prop-missing] (>=0.54.0 site=react_native_fb,react_native_\n * oss) This comment suppresses an error found when Flow v0.54 was\n * deployed. To see the error delete this comment and run Flow. */\n headers.origin = unrecognized.origin;\n /* $FlowFixMe[prop-missing] (>=0.54.0 site=react_native_fb,react_native_\n * oss) This comment suppresses an error found when Flow v0.54 was\n * deployed. To see the error delete this comment and run Flow. */\n delete unrecognized.origin;\n }\n\n // Warn about and discard anything else\n if (Object.keys(unrecognized).length > 0) {\n console.warn(\n 'Unrecognized WebSocket connection option(s) `' +\n Object.keys(unrecognized).join('`, `') +\n '`. ' +\n 'Did you mean to put these under `headers`?',\n );\n }\n\n if (!Array.isArray(protocols)) {\n protocols = null;\n }\n\n this._eventEmitter = 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 : NativeWebSocketModule,\n );\n this._socketId = nextWebSocketId++;\n this._registerEvents();\n NativeWebSocketModule.connect(url, protocols, {headers}, this._socketId);\n }\n\n get binaryType(): ?BinaryType {\n return this._binaryType;\n }\n\n set binaryType(binaryType: BinaryType): void {\n if (binaryType !== 'blob' && binaryType !== 'arraybuffer') {\n throw new Error(\"binaryType must be either 'blob' or 'arraybuffer'\");\n }\n if (this._binaryType === 'blob' || binaryType === 'blob') {\n invariant(\n BlobManager.isAvailable,\n 'Native module BlobModule is required for blob support',\n );\n if (binaryType === 'blob') {\n BlobManager.addWebSocketHandler(this._socketId);\n } else {\n BlobManager.removeWebSocketHandler(this._socketId);\n }\n }\n this._binaryType = binaryType;\n }\n\n close(code?: number, reason?: string): void {\n if (this.readyState === this.CLOSING || this.readyState === this.CLOSED) {\n return;\n }\n\n this.readyState = this.CLOSING;\n this._close(code, reason);\n }\n\n send(data: string | ArrayBuffer | ArrayBufferView | Blob): void {\n if (this.readyState === this.CONNECTING) {\n throw new Error('INVALID_STATE_ERR');\n }\n\n if (data instanceof Blob) {\n invariant(\n BlobManager.isAvailable,\n 'Native module BlobModule is required for blob support',\n );\n BlobManager.sendOverSocket(data, this._socketId);\n return;\n }\n\n if (typeof data === 'string') {\n NativeWebSocketModule.send(data, this._socketId);\n return;\n }\n\n if (data instanceof ArrayBuffer || ArrayBuffer.isView(data)) {\n NativeWebSocketModule.sendBinary(binaryToBase64(data), this._socketId);\n return;\n }\n\n throw new Error('Unsupported data type');\n }\n\n ping(): void {\n if (this.readyState === this.CONNECTING) {\n throw new Error('INVALID_STATE_ERR');\n }\n\n NativeWebSocketModule.ping(this._socketId);\n }\n\n _close(code?: number, reason?: string): void {\n // See https://developer.mozilla.org/en-US/docs/Web/API/CloseEvent\n const statusCode = typeof code === 'number' ? code : CLOSE_NORMAL;\n const closeReason = typeof reason === 'string' ? reason : '';\n NativeWebSocketModule.close(statusCode, closeReason, this._socketId);\n\n if (BlobManager.isAvailable && this._binaryType === 'blob') {\n BlobManager.removeWebSocketHandler(this._socketId);\n }\n }\n\n _unregisterEvents(): void {\n this._subscriptions.forEach(e => e.remove());\n this._subscriptions = [];\n }\n\n _registerEvents(): void {\n this._subscriptions = [\n this._eventEmitter.addListener('websocketMessage', ev => {\n if (ev.id !== this._socketId) {\n return;\n }\n let data: Blob | BlobData | ArrayBuffer | string = ev.data;\n switch (ev.type) {\n case 'binary':\n data = base64.toByteArray(ev.data).buffer;\n break;\n case 'blob':\n data = BlobManager.createFromOptions(ev.data);\n break;\n }\n this.dispatchEvent(new WebSocketEvent('message', {data}));\n }),\n this._eventEmitter.addListener('websocketOpen', ev => {\n if (ev.id !== this._socketId) {\n return;\n }\n this.readyState = this.OPEN;\n this.protocol = ev.protocol;\n this.dispatchEvent(new WebSocketEvent('open'));\n }),\n this._eventEmitter.addListener('websocketClosed', ev => {\n if (ev.id !== this._socketId) {\n return;\n }\n this.readyState = this.CLOSED;\n this.dispatchEvent(\n new WebSocketEvent('close', {\n code: ev.code,\n reason: ev.reason,\n // TODO: missing `wasClean` (exposed on iOS as `clean` but missing on Android)\n }),\n );\n this._unregisterEvents();\n this.close();\n }),\n this._eventEmitter.addListener('websocketFailed', ev => {\n if (ev.id !== this._socketId) {\n return;\n }\n this.readyState = this.CLOSED;\n this.dispatchEvent(\n new WebSocketEvent('error', {\n message: ev.message,\n }),\n );\n this.dispatchEvent(\n new WebSocketEvent('close', {\n code: CLOSE_ABNORMAL,\n reason: ev.message,\n // TODO: Expose `wasClean`\n }),\n );\n this._unregisterEvents();\n this.close();\n }),\n ];\n }\n}\n\nmodule.exports = WebSocket;\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 * @flow strict-local\n * @format\n */\n\n'use strict';\n\nimport type {\n EventSubscription,\n IEventEmitter,\n} from '../vendor/emitter/EventEmitter';\n\nimport Platform from '../Utilities/Platform';\nimport RCTDeviceEventEmitter from './RCTDeviceEventEmitter';\nimport invariant from 'invariant';\n\ninterface NativeModule {\n addListener(eventType: string): void;\n removeListeners(count: number): void;\n}\n\nexport type {EventSubscription};\n\n/**\n * `NativeEventEmitter` is intended for use by Native Modules to emit events to\n * JavaScript listeners. If a `NativeModule` is supplied to the constructor, it\n * will be notified (via `addListener` and `removeListeners`) when the listener\n * count changes to manage \"native memory\".\n *\n * Currently, all native events are fired via a global `RCTDeviceEventEmitter`.\n * This means event names must be globally unique, and it means that call sites\n * can theoretically listen to `RCTDeviceEventEmitter` (although discouraged).\n */\nexport default class NativeEventEmitter\n implements IEventEmitter\n{\n _nativeModule: ?NativeModule;\n\n constructor(nativeModule: ?NativeModule) {\n if (Platform.OS === 'ios') {\n invariant(\n nativeModule != null,\n '`new NativeEventEmitter()` requires a non-null argument.',\n );\n }\n\n const hasAddListener =\n // $FlowFixMe[method-unbinding] added when improving typing for this parameters\n !!nativeModule && typeof nativeModule.addListener === 'function';\n const hasRemoveListeners =\n // $FlowFixMe[method-unbinding] added when improving typing for this parameters\n !!nativeModule && typeof nativeModule.removeListeners === 'function';\n\n if (nativeModule && hasAddListener && hasRemoveListeners) {\n this._nativeModule = nativeModule;\n } else if (nativeModule != null) {\n if (!hasAddListener) {\n console.warn(\n '`new NativeEventEmitter()` was called with a non-null argument without the required `addListener` method.',\n );\n }\n if (!hasRemoveListeners) {\n console.warn(\n '`new NativeEventEmitter()` was called with a non-null argument without the required `removeListeners` method.',\n );\n }\n }\n }\n\n addListener>(\n eventType: TEvent,\n listener: (...args: $ElementType) => mixed,\n context?: mixed,\n ): EventSubscription {\n this._nativeModule?.addListener(eventType);\n let subscription: ?EventSubscription = RCTDeviceEventEmitter.addListener(\n eventType,\n listener,\n context,\n );\n\n return {\n remove: () => {\n if (subscription != null) {\n this._nativeModule?.removeListeners(1);\n // $FlowFixMe[incompatible-use]\n subscription.remove();\n subscription = null;\n }\n },\n };\n }\n\n emit>(\n eventType: TEvent,\n ...args: $ElementType\n ): void {\n // Generally, `RCTDeviceEventEmitter` is directly invoked. But this is\n // included for completeness.\n RCTDeviceEventEmitter.emit(eventType, ...args);\n }\n\n removeAllListeners>(\n eventType?: ?TEvent,\n ): void {\n invariant(\n eventType != null,\n '`NativeEventEmitter.removeAllListener()` requires a non-null argument.',\n );\n this._nativeModule?.removeListeners(this.listenerCount(eventType));\n RCTDeviceEventEmitter.removeAllListeners(eventType);\n }\n\n listenerCount>(eventType: TEvent): number {\n return RCTDeviceEventEmitter.listenerCount(eventType);\n }\n}\n","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @flow\n * @format\n */\n\nimport type {TurboModule} from '../TurboModule/RCTExport';\n\nimport * as TurboModuleRegistry from '../TurboModule/TurboModuleRegistry';\n\nexport interface Spec extends TurboModule {\n +connect: (\n url: string,\n protocols: ?Array,\n options: {|headers?: Object|},\n socketID: number,\n ) => void;\n +send: (message: string, forSocketID: number) => void;\n +sendBinary: (base64String: string, forSocketID: number) => void;\n +ping: (socketID: number) => void;\n +close: (code: number, reason: string, socketID: number) => void;\n\n // RCTEventEmitter\n +addListener: (eventName: string) => void;\n +removeListeners: (count: number) => void;\n}\n\nexport default (TurboModuleRegistry.getEnforcing(\n 'WebSocketModule',\n): Spec);\n","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @format\n */\n\n'use strict';\n\n/**\n * Event object passed to the `onopen`, `onclose`, `onmessage`, `onerror`\n * callbacks of `WebSocket`.\n *\n * The `type` property is \"open\", \"close\", \"message\", \"error\" respectively.\n *\n * In case of \"message\", the `data` property contains the incoming data.\n */\nclass WebSocketEvent {\n constructor(type, eventInitDict) {\n this.type = type.toString();\n Object.assign(this, eventInitDict);\n }\n}\n\nmodule.exports = WebSocketEvent;\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 * @flow\n * @format\n */\n\n'use strict';\n\nimport type {BlobOptions} from './BlobTypes';\n\nconst Blob = require('./Blob');\nconst invariant = require('invariant');\n\n/**\n * The File interface provides information about files.\n */\nclass File extends Blob {\n /**\n * Constructor for JS consumers.\n */\n constructor(\n parts: Array<$ArrayBufferView | ArrayBuffer | Blob | string>,\n name: string,\n options?: BlobOptions,\n ) {\n invariant(\n parts != null && name != null,\n 'Failed to construct `File`: Must pass both `parts` and `name` arguments.',\n );\n\n super(parts, options);\n this.data.name = name;\n }\n\n /**\n * Name of the file.\n */\n get name(): string {\n invariant(this.data.name != null, 'Files must have a name set.');\n return this.data.name;\n }\n\n /*\n * Last modified time of the file.\n */\n get lastModified(): number {\n return this.data.lastModified || 0;\n }\n}\n\nmodule.exports = File;\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 * @flow\n * @format\n */\n\nimport type Blob from './Blob';\n\nimport NativeFileReaderModule from './NativeFileReaderModule';\nimport {toByteArray} from 'base64-js';\nimport EventTarget from 'event-target-shim';\n\ntype ReadyState =\n | 0 // EMPTY\n | 1 // LOADING\n | 2; // DONE\n\ntype ReaderResult = string | ArrayBuffer;\n\nconst READER_EVENTS = [\n 'abort',\n 'error',\n 'load',\n 'loadstart',\n 'loadend',\n 'progress',\n];\n\nconst EMPTY = 0;\nconst LOADING = 1;\nconst DONE = 2;\n\nclass FileReader extends (EventTarget(...READER_EVENTS): any) {\n static EMPTY: number = EMPTY;\n static LOADING: number = LOADING;\n static DONE: number = DONE;\n\n EMPTY: number = EMPTY;\n LOADING: number = LOADING;\n DONE: number = DONE;\n\n _readyState: ReadyState;\n _error: ?Error;\n _result: ?ReaderResult;\n _aborted: boolean = false;\n\n constructor() {\n super();\n this._reset();\n }\n\n _reset(): void {\n this._readyState = EMPTY;\n this._error = null;\n this._result = null;\n }\n\n _setReadyState(newState: ReadyState) {\n this._readyState = newState;\n this.dispatchEvent({type: 'readystatechange'});\n if (newState === DONE) {\n if (this._aborted) {\n this.dispatchEvent({type: 'abort'});\n } else if (this._error) {\n this.dispatchEvent({type: 'error'});\n } else {\n this.dispatchEvent({type: 'load'});\n }\n this.dispatchEvent({type: 'loadend'});\n }\n }\n\n readAsArrayBuffer(blob: ?Blob): void {\n this._aborted = false;\n\n if (blob == null) {\n throw new TypeError(\n \"Failed to execute 'readAsArrayBuffer' on 'FileReader': parameter 1 is not of type 'Blob'\",\n );\n }\n\n NativeFileReaderModule.readAsDataURL(blob.data).then(\n (text: string) => {\n if (this._aborted) {\n return;\n }\n\n const base64 = text.split(',')[1];\n const typedArray = toByteArray(base64);\n\n this._result = typedArray.buffer;\n this._setReadyState(DONE);\n },\n error => {\n if (this._aborted) {\n return;\n }\n this._error = error;\n this._setReadyState(DONE);\n },\n );\n }\n\n readAsDataURL(blob: ?Blob): void {\n this._aborted = false;\n\n if (blob == null) {\n throw new TypeError(\n \"Failed to execute 'readAsDataURL' on 'FileReader': parameter 1 is not of type 'Blob'\",\n );\n }\n\n NativeFileReaderModule.readAsDataURL(blob.data).then(\n (text: string) => {\n if (this._aborted) {\n return;\n }\n this._result = text;\n this._setReadyState(DONE);\n },\n error => {\n if (this._aborted) {\n return;\n }\n this._error = error;\n this._setReadyState(DONE);\n },\n );\n }\n\n readAsText(blob: ?Blob, encoding: string = 'UTF-8'): void {\n this._aborted = false;\n\n if (blob == null) {\n throw new TypeError(\n \"Failed to execute 'readAsText' on 'FileReader': parameter 1 is not of type 'Blob'\",\n );\n }\n\n NativeFileReaderModule.readAsText(blob.data, encoding).then(\n (text: string) => {\n if (this._aborted) {\n return;\n }\n this._result = text;\n this._setReadyState(DONE);\n },\n error => {\n if (this._aborted) {\n return;\n }\n this._error = error;\n this._setReadyState(DONE);\n },\n );\n }\n\n abort() {\n this._aborted = true;\n // only call onreadystatechange if there is something to abort, as per spec\n if (this._readyState !== EMPTY && this._readyState !== DONE) {\n this._reset();\n this._setReadyState(DONE);\n }\n // Reset again after, in case modified in handler\n this._reset();\n }\n\n get readyState(): ReadyState {\n return this._readyState;\n }\n\n get error(): ?Error {\n return this._error;\n }\n\n get result(): ?ReaderResult {\n return this._result;\n }\n}\n\nmodule.exports = FileReader;\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 * @flow\n * @format\n */\n\nimport type {TurboModule} from '../TurboModule/RCTExport';\n\nimport * as TurboModuleRegistry from '../TurboModule/TurboModuleRegistry';\n\nexport interface Spec extends TurboModule {\n +readAsDataURL: (data: Object) => Promise;\n +readAsText: (data: Object, encoding: string) => Promise;\n}\n\nexport default (TurboModuleRegistry.getEnforcing(\n 'FileReaderModule',\n): Spec);\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 * @flow\n */\n\nimport type Blob from './Blob';\n\nimport NativeBlobModule from './NativeBlobModule';\n\nlet BLOB_URL_PREFIX = null;\n\nif (\n NativeBlobModule &&\n typeof NativeBlobModule.getConstants().BLOB_URI_SCHEME === 'string'\n) {\n const constants = NativeBlobModule.getConstants();\n // $FlowFixMe[incompatible-type] asserted above\n // $FlowFixMe[unsafe-addition]\n BLOB_URL_PREFIX = constants.BLOB_URI_SCHEME + ':';\n if (typeof constants.BLOB_URI_HOST === 'string') {\n BLOB_URL_PREFIX += `//${constants.BLOB_URI_HOST}/`;\n }\n}\n\n/**\n * To allow Blobs be accessed via `content://` URIs,\n * you need to register `BlobProvider` as a ContentProvider in your app's `AndroidManifest.xml`:\n *\n * ```xml\n * \n * \n * \n * \n * \n * ```\n * And then define the `blob_provider_authority` string in `res/values/strings.xml`.\n * Use a dotted name that's entirely unique to your app:\n *\n * ```xml\n * \n * your.app.package.blobs\n * \n * ```\n */\n\n// Small subset from whatwg-url: https://github.com/jsdom/whatwg-url/tree/master/src\n// The reference code bloat comes from Unicode issues with URLs, so those won't work here.\nexport class URLSearchParams {\n _searchParams: Array> = [];\n\n constructor(params: any) {\n if (typeof params === 'object') {\n Object.keys(params).forEach(key => this.append(key, params[key]));\n }\n }\n\n append(key: string, value: string): void {\n this._searchParams.push([key, value]);\n }\n\n delete(name: string): void {\n throw new Error('URLSearchParams.delete is not implemented');\n }\n\n get(name: string): void {\n throw new Error('URLSearchParams.get is not implemented');\n }\n\n getAll(name: string): void {\n throw new Error('URLSearchParams.getAll is not implemented');\n }\n\n has(name: string): void {\n throw new Error('URLSearchParams.has is not implemented');\n }\n\n set(name: string, value: string): void {\n throw new Error('URLSearchParams.set is not implemented');\n }\n\n sort(): void {\n throw new Error('URLSearchParams.sort is not implemented');\n }\n\n // $FlowFixMe[unsupported-syntax]\n // $FlowFixMe[missing-local-annot]\n [Symbol.iterator]() {\n return this._searchParams[Symbol.iterator]();\n }\n\n toString(): string {\n if (this._searchParams.length === 0) {\n return '';\n }\n const last = this._searchParams.length - 1;\n return this._searchParams.reduce((acc, curr, index) => {\n return (\n acc +\n encodeURIComponent(curr[0]) +\n '=' +\n encodeURIComponent(curr[1]) +\n (index === last ? '' : '&')\n );\n }, '');\n }\n}\n\nfunction validateBaseUrl(url: string) {\n // from this MIT-licensed gist: https://gist.github.com/dperini/729294\n return /^(?:(?:(?:https?|ftp):)?\\/\\/)(?:(?:[1-9]\\d?|1\\d\\d|2[01]\\d|22[0-3])(?:\\.(?:1?\\d{1,2}|2[0-4]\\d|25[0-5])){2}(?:\\.(?:[1-9]\\d?|1\\d\\d|2[0-4]\\d|25[0-4]))|(?:(?:[a-z0-9\\u00a1-\\uffff][a-z0-9\\u00a1-\\uffff_-]{0,62})?[a-z0-9\\u00a1-\\uffff]\\.)*(?:[a-z\\u00a1-\\uffff]{2,}\\.?))(?::\\d{2,5})?(?:[/?#]\\S*)?$/.test(\n url,\n );\n}\n\nexport class URL {\n _url: string;\n _searchParamsInstance: ?URLSearchParams = null;\n\n static createObjectURL(blob: Blob): string {\n if (BLOB_URL_PREFIX === null) {\n throw new Error('Cannot create URL for blob!');\n }\n return `${BLOB_URL_PREFIX}${blob.data.blobId}?offset=${blob.data.offset}&size=${blob.size}`;\n }\n\n static revokeObjectURL(url: string) {\n // Do nothing.\n }\n\n // $FlowFixMe[missing-local-annot]\n constructor(url: string, base: string | URL) {\n let baseUrl = null;\n if (!base || validateBaseUrl(url)) {\n this._url = url;\n if (!this._url.endsWith('/')) {\n this._url += '/';\n }\n } else {\n if (typeof base === 'string') {\n baseUrl = base;\n if (!validateBaseUrl(baseUrl)) {\n throw new TypeError(`Invalid base URL: ${baseUrl}`);\n }\n } else {\n baseUrl = base.toString();\n }\n if (baseUrl.endsWith('/')) {\n baseUrl = baseUrl.slice(0, baseUrl.length - 1);\n }\n if (!url.startsWith('/')) {\n url = `/${url}`;\n }\n if (baseUrl.endsWith(url)) {\n url = '';\n }\n this._url = `${baseUrl}${url}`;\n }\n }\n\n get hash(): string {\n throw new Error('URL.hash is not implemented');\n }\n\n get host(): string {\n throw new Error('URL.host is not implemented');\n }\n\n get hostname(): string {\n throw new Error('URL.hostname is not implemented');\n }\n\n get href(): string {\n return this.toString();\n }\n\n get origin(): string {\n throw new Error('URL.origin is not implemented');\n }\n\n get password(): string {\n throw new Error('URL.password is not implemented');\n }\n\n get pathname(): string {\n throw new Error('URL.pathname not implemented');\n }\n\n get port(): string {\n throw new Error('URL.port is not implemented');\n }\n\n get protocol(): string {\n throw new Error('URL.protocol is not implemented');\n }\n\n get search(): string {\n throw new Error('URL.search is not implemented');\n }\n\n get searchParams(): URLSearchParams {\n if (this._searchParamsInstance == null) {\n this._searchParamsInstance = new URLSearchParams();\n }\n return this._searchParamsInstance;\n }\n\n toJSON(): string {\n return this.toString();\n }\n\n toString(): string {\n if (this._searchParamsInstance === null) {\n return this._url;\n }\n // $FlowFixMe[incompatible-use]\n const instanceString = this._searchParamsInstance.toString();\n const separator = this._url.indexOf('?') > -1 ? '&' : '?';\n return this._url + separator + instanceString;\n }\n\n get username(): string {\n throw new Error('URL.username is not implemented');\n }\n}\n","/**\n * @author Toru Nagashima \n * See LICENSE file in root directory for full license.\n */\n'use strict';\n\nObject.defineProperty(exports, '__esModule', { value: true });\n\nvar eventTargetShim = require('event-target-shim');\n\n/**\n * The signal class.\n * @see https://dom.spec.whatwg.org/#abortsignal\n */\nclass AbortSignal extends eventTargetShim.EventTarget {\n /**\n * AbortSignal cannot be constructed directly.\n */\n constructor() {\n super();\n throw new TypeError(\"AbortSignal cannot be constructed directly\");\n }\n /**\n * Returns `true` if this `AbortSignal`'s `AbortController` has signaled to abort, and `false` otherwise.\n */\n get aborted() {\n const aborted = abortedFlags.get(this);\n if (typeof aborted !== \"boolean\") {\n throw new TypeError(`Expected 'this' to be an 'AbortSignal' object, but got ${this === null ? \"null\" : typeof this}`);\n }\n return aborted;\n }\n}\neventTargetShim.defineEventAttribute(AbortSignal.prototype, \"abort\");\n/**\n * Create an AbortSignal object.\n */\nfunction createAbortSignal() {\n const signal = Object.create(AbortSignal.prototype);\n eventTargetShim.EventTarget.call(signal);\n abortedFlags.set(signal, false);\n return signal;\n}\n/**\n * Abort a given signal.\n */\nfunction abortSignal(signal) {\n if (abortedFlags.get(signal) !== false) {\n return;\n }\n abortedFlags.set(signal, true);\n signal.dispatchEvent({ type: \"abort\" });\n}\n/**\n * Aborted flag for each instances.\n */\nconst abortedFlags = new WeakMap();\n// Properties should be enumerable.\nObject.defineProperties(AbortSignal.prototype, {\n aborted: { enumerable: true },\n});\n// `toString()` should return `\"[object AbortSignal]\"`\nif (typeof Symbol === \"function\" && typeof Symbol.toStringTag === \"symbol\") {\n Object.defineProperty(AbortSignal.prototype, Symbol.toStringTag, {\n configurable: true,\n value: \"AbortSignal\",\n });\n}\n\n/**\n * The AbortController.\n * @see https://dom.spec.whatwg.org/#abortcontroller\n */\nclass AbortController {\n /**\n * Initialize this controller.\n */\n constructor() {\n signals.set(this, createAbortSignal());\n }\n /**\n * Returns the `AbortSignal` object associated with this object.\n */\n get signal() {\n return getSignal(this);\n }\n /**\n * Abort and signal to any observers that the associated activity is to be aborted.\n */\n abort() {\n abortSignal(getSignal(this));\n }\n}\n/**\n * Associated signals.\n */\nconst signals = new WeakMap();\n/**\n * Get the associated signal of a given controller.\n */\nfunction getSignal(controller) {\n const signal = signals.get(controller);\n if (signal == null) {\n throw new TypeError(`Expected 'this' to be an 'AbortController' object, but got ${controller === null ? \"null\" : typeof controller}`);\n }\n return signal;\n}\n// Properties should be enumerable.\nObject.defineProperties(AbortController.prototype, {\n signal: { enumerable: true },\n abort: { enumerable: true },\n});\nif (typeof Symbol === \"function\" && typeof Symbol.toStringTag === \"symbol\") {\n Object.defineProperty(AbortController.prototype, Symbol.toStringTag, {\n configurable: true,\n value: \"AbortController\",\n });\n}\n\nexports.AbortController = AbortController;\nexports.AbortSignal = AbortSignal;\nexports.default = AbortController;\n\nmodule.exports = AbortController\nmodule.exports.AbortController = module.exports[\"default\"] = AbortController\nmodule.exports.AbortSignal = AbortSignal\n//# sourceMappingURL=abort-controller.js.map\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 * @flow strict-local\n * @format\n */\n\n'use strict';\n\n/**\n * Set up alert().\n * You can use this module directly, or just require InitializeCore.\n */\nif (!global.alert) {\n global.alert = function (text: string) {\n // Require Alert on demand. Requiring it too early can lead to issues\n // with things like Platform not being fully initialized.\n require('../Alert/Alert').alert('Alert', '' + text);\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 * @flow\n */\n\nimport type {DialogOptions} from '../NativeModules/specs/NativeDialogManagerAndroid';\n\nimport Platform from '../Utilities/Platform';\nimport RCTAlertManager from './RCTAlertManager';\n\nexport type AlertType =\n | 'default'\n | 'plain-text'\n | 'secure-text'\n | 'login-password';\nexport type AlertButtonStyle = 'default' | 'cancel' | 'destructive';\nexport type Buttons = Array<{\n text?: string,\n onPress?: ?Function,\n isPreferred?: boolean,\n style?: AlertButtonStyle,\n ...\n}>;\n\ntype Options = {\n cancelable?: ?boolean,\n userInterfaceStyle?: 'unspecified' | 'light' | 'dark',\n onDismiss?: ?() => void,\n ...\n};\n\n/**\n * Launches an alert dialog with the specified title and message.\n *\n * See https://reactnative.dev/docs/alert\n */\nclass Alert {\n static alert(\n title: ?string,\n message?: ?string,\n buttons?: Buttons,\n options?: Options,\n ): void {\n if (Platform.OS === 'ios') {\n Alert.prompt(\n title,\n message,\n buttons,\n 'default',\n undefined,\n undefined,\n options,\n );\n } else if (Platform.OS === 'android') {\n const NativeDialogManagerAndroid =\n require('../NativeModules/specs/NativeDialogManagerAndroid').default;\n if (!NativeDialogManagerAndroid) {\n return;\n }\n const constants = NativeDialogManagerAndroid.getConstants();\n\n const config: DialogOptions = {\n title: title || '',\n message: message || '',\n cancelable: false,\n };\n\n if (options && options.cancelable) {\n config.cancelable = options.cancelable;\n }\n // At most three buttons (neutral, negative, positive). Ignore rest.\n // The text 'OK' should be probably localized. iOS Alert does that in native.\n const defaultPositiveText = 'OK';\n const validButtons: Buttons = buttons\n ? buttons.slice(0, 3)\n : [{text: defaultPositiveText}];\n const buttonPositive = validButtons.pop();\n const buttonNegative = validButtons.pop();\n const buttonNeutral = validButtons.pop();\n\n if (buttonNeutral) {\n config.buttonNeutral = buttonNeutral.text || '';\n }\n if (buttonNegative) {\n config.buttonNegative = buttonNegative.text || '';\n }\n if (buttonPositive) {\n config.buttonPositive = buttonPositive.text || defaultPositiveText;\n }\n\n /* $FlowFixMe[missing-local-annot] The type annotation(s) required by\n * Flow's LTI update could not be added via codemod */\n const onAction = (action, buttonKey) => {\n if (action === constants.buttonClicked) {\n if (buttonKey === constants.buttonNeutral) {\n buttonNeutral.onPress && buttonNeutral.onPress();\n } else if (buttonKey === constants.buttonNegative) {\n buttonNegative.onPress && buttonNegative.onPress();\n } else if (buttonKey === constants.buttonPositive) {\n buttonPositive.onPress && buttonPositive.onPress();\n }\n } else if (action === constants.dismissed) {\n options && options.onDismiss && options.onDismiss();\n }\n };\n const onError = (errorMessage: string) => console.warn(errorMessage);\n NativeDialogManagerAndroid.showAlert(config, onError, onAction);\n }\n }\n\n static prompt(\n title: ?string,\n message?: ?string,\n callbackOrButtons?: ?(((text: string) => void) | Buttons),\n type?: ?AlertType = 'plain-text',\n defaultValue?: string,\n keyboardType?: string,\n options?: Options,\n ): void {\n if (Platform.OS === 'ios') {\n let callbacks: Array = [];\n const buttons = [];\n let cancelButtonKey;\n let destructiveButtonKey;\n let preferredButtonKey;\n if (typeof callbackOrButtons === 'function') {\n callbacks = [callbackOrButtons];\n } else if (Array.isArray(callbackOrButtons)) {\n callbackOrButtons.forEach((btn, index) => {\n callbacks[index] = btn.onPress;\n if (btn.style === 'cancel') {\n cancelButtonKey = String(index);\n } else if (btn.style === 'destructive') {\n destructiveButtonKey = String(index);\n }\n if (btn.isPreferred) {\n preferredButtonKey = String(index);\n }\n if (btn.text || index < (callbackOrButtons || []).length - 1) {\n const btnDef: {[number]: string} = {};\n btnDef[index] = btn.text || '';\n buttons.push(btnDef);\n }\n });\n }\n\n RCTAlertManager.alertWithArgs(\n {\n title: title || '',\n message: message || undefined,\n buttons,\n type: type || undefined,\n defaultValue,\n cancelButtonKey,\n destructiveButtonKey,\n preferredButtonKey,\n keyboardType,\n userInterfaceStyle: options?.userInterfaceStyle || undefined,\n },\n (id, value) => {\n const cb = callbacks[id];\n cb && cb(value);\n },\n );\n }\n }\n}\n\nmodule.exports = Alert;\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 * @flow strict-local\n */\n\nimport type {Args} from './NativeAlertManager';\n\nimport NativeAlertManager from './NativeAlertManager';\n\nmodule.exports = {\n alertWithArgs(\n args: Args,\n callback: (id: number, value: string) => void,\n ): void {\n if (NativeAlertManager == null) {\n return;\n }\n NativeAlertManager.alertWithArgs(args, callback);\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 * @flow\n * @format\n */\n\nimport type {TurboModule} from '../TurboModule/RCTExport';\n\nimport * as TurboModuleRegistry from '../TurboModule/TurboModuleRegistry';\n\nexport type Args = {|\n title?: string,\n message?: string,\n buttons?: Array, // TODO(T67565166): have a better type\n type?: string,\n defaultValue?: string,\n cancelButtonKey?: string,\n destructiveButtonKey?: string,\n preferredButtonKey?: string,\n keyboardType?: string,\n userInterfaceStyle?: string,\n|};\n\nexport interface Spec extends TurboModule {\n +alertWithArgs: (\n args: Args,\n callback: (id: number, value: string) => void,\n ) => void;\n}\n\nexport default (TurboModuleRegistry.get('AlertManager'): ?Spec);\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 * @flow strict\n * @format\n */\n\nimport type {TurboModule} from '../../TurboModule/RCTExport';\n\nimport * as TurboModuleRegistry from '../../TurboModule/TurboModuleRegistry';\n\n/* 'buttonClicked' | 'dismissed' */\ntype DialogAction = string;\n/*\n buttonPositive = -1,\n buttonNegative = -2,\n buttonNeutral = -3\n*/\ntype DialogButtonKey = number;\nexport type DialogOptions = {|\n title?: string,\n message?: string,\n buttonPositive?: string,\n buttonNegative?: string,\n buttonNeutral?: string,\n items?: Array,\n cancelable?: boolean,\n|};\n\nexport interface Spec extends TurboModule {\n +getConstants: () => {|\n +buttonClicked: DialogAction,\n +dismissed: DialogAction,\n +buttonPositive: DialogButtonKey,\n +buttonNegative: DialogButtonKey,\n +buttonNeutral: DialogButtonKey,\n |};\n +showAlert: (\n config: DialogOptions,\n onError: (error: string) => void,\n onAction: (action: DialogAction, buttonKey?: DialogButtonKey) => void,\n ) => void;\n}\n\nexport default (TurboModuleRegistry.get('DialogManagerAndroid'): ?Spec);\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 * @flow strict\n * @format\n */\n\n'use strict';\n\nconst {polyfillObjectProperty} = require('../Utilities/PolyfillFunctions');\n\nconst navigator = global.navigator;\nif (navigator === undefined) {\n // $FlowExpectedError[cannot-write] The global isn't writable anywhere but here, where we define it.\n global.navigator = {product: 'ReactNative'};\n} else {\n // see https://github.com/facebook/react-native/issues/10881\n polyfillObjectProperty(navigator, 'product', () => 'ReactNative');\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 * @flow strict-local\n * @format\n */\n\n'use strict';\n\nlet registerModule;\nif (global.RN$Bridgeless === true && global.RN$registerCallableModule) {\n registerModule = global.RN$registerCallableModule;\n} else {\n const BatchedBridge = require('../BatchedBridge/BatchedBridge');\n registerModule = (\n moduleName:\n | $TEMPORARY$string<'GlobalPerformanceLogger'>\n | $TEMPORARY$string<'HMRClient'>\n | $TEMPORARY$string<'HeapCapture'>\n | $TEMPORARY$string<'JSTimers'>\n | $TEMPORARY$string<'RCTDeviceEventEmitter'>\n | $TEMPORARY$string<'RCTLog'>\n | $TEMPORARY$string<'RCTNativeAppEventEmitter'>\n | $TEMPORARY$string<'SamplingProfiler'>\n | $TEMPORARY$string<'Systrace'>,\n /* $FlowFixMe[missing-local-annot] The type annotation(s) required by\n * Flow's LTI update could not be added via codemod */\n factory,\n ) => BatchedBridge.registerLazyCallableModule(moduleName, factory);\n}\n\nregisterModule('Systrace', () => require('../Performance/Systrace'));\nif (!(global.RN$Bridgeless === true)) {\n registerModule('JSTimers', () => require('./Timers/JSTimers'));\n}\nregisterModule('HeapCapture', () => require('../HeapCapture/HeapCapture'));\nregisterModule('SamplingProfiler', () =>\n require('../Performance/SamplingProfiler'),\n);\nregisterModule('RCTLog', () => require('../Utilities/RCTLog'));\nregisterModule(\n 'RCTDeviceEventEmitter',\n () => require('../EventEmitter/RCTDeviceEventEmitter').default,\n);\nregisterModule('RCTNativeAppEventEmitter', () =>\n require('../EventEmitter/RCTNativeAppEventEmitter'),\n);\nregisterModule('GlobalPerformanceLogger', () =>\n require('../Utilities/GlobalPerformanceLogger'),\n);\n\nif (__DEV__) {\n registerModule('HMRClient', () => require('../Utilities/HMRClient'));\n} else {\n registerModule('HMRClient', () => require('../Utilities/HMRClientProdShim'));\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 * @flow strict\n */\n\nimport NativeJSCHeapCapture from './NativeJSCHeapCapture';\n\nconst HeapCapture = {\n captureHeap: function (path: string) {\n let error = null;\n try {\n global.nativeCaptureHeap(path);\n console.log('HeapCapture.captureHeap succeeded: ' + path);\n } catch (e) {\n console.log('HeapCapture.captureHeap error: ' + e.toString());\n error = e.toString();\n }\n if (NativeJSCHeapCapture) {\n NativeJSCHeapCapture.captureComplete(path, error);\n }\n },\n};\n\nmodule.exports = HeapCapture;\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 * @flow strict\n * @format\n */\n\nimport type {TurboModule} from '../TurboModule/RCTExport';\n\nimport * as TurboModuleRegistry from '../TurboModule/TurboModuleRegistry';\n\nexport interface Spec extends TurboModule {\n +captureComplete: (path: string, error: ?string) => void;\n}\n\nexport default (TurboModuleRegistry.get('JSCHeapCapture'): ?Spec);\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 * @flow strict\n */\n\n'use strict';\n\nconst SamplingProfiler = {\n poke: function (token: number): void {\n let error = null;\n let result = null;\n try {\n result = global.pokeSamplingProfiler();\n if (result === null) {\n console.log('The JSC Sampling Profiler has started');\n } else {\n console.log('The JSC Sampling Profiler has stopped');\n }\n } catch (e) {\n console.log(\n 'Error occurred when restarting Sampling Profiler: ' + e.toString(),\n );\n error = e.toString();\n }\n\n const NativeJSCSamplingProfiler =\n require('./NativeJSCSamplingProfiler').default;\n if (NativeJSCSamplingProfiler) {\n NativeJSCSamplingProfiler.operationComplete(token, result, error);\n }\n },\n};\n\nmodule.exports = SamplingProfiler;\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 * @flow strict\n * @format\n */\n\nimport type {TurboModule} from '../TurboModule/RCTExport';\n\nimport * as TurboModuleRegistry from '../TurboModule/TurboModuleRegistry';\n\nexport interface Spec extends TurboModule {\n +operationComplete: (token: number, result: ?string, error: ?string) => void;\n}\n\nexport default (TurboModuleRegistry.get('JSCSamplingProfiler'): ?Spec);\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 * @flow strict\n */\n\n'use strict';\n\nconst invariant = require('invariant');\n\nconst levelsMap = {\n log: 'log',\n info: 'info',\n warn: 'warn',\n error: 'error',\n fatal: 'error',\n};\n\nlet warningHandler: ?(...Array) => void = null;\n\nconst RCTLog = {\n // level one of log, info, warn, error, mustfix\n logIfNoNativeHook(level: string, ...args: Array): void {\n // We already printed in the native console, so only log here if using a js debugger\n if (typeof global.nativeLoggingHook === 'undefined') {\n RCTLog.logToConsole(level, ...args);\n } else {\n // Report native warnings to LogBox\n if (warningHandler && level === 'warn') {\n warningHandler(...args);\n }\n }\n },\n\n // Log to console regardless of nativeLoggingHook\n logToConsole(level: string, ...args: Array): void {\n const logFn = levelsMap[level];\n invariant(\n logFn,\n 'Level \"' + level + '\" not one of ' + Object.keys(levelsMap).toString(),\n );\n\n console[logFn](...args);\n },\n\n setWarningHandler(handler: typeof warningHandler): void {\n warningHandler = handler;\n },\n};\n\nmodule.exports = RCTLog;\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 * @flow strict-local\n */\n\nimport RCTDeviceEventEmitter from './RCTDeviceEventEmitter';\n\n/**\n * Deprecated - subclass NativeEventEmitter to create granular event modules instead of\n * adding all event listeners directly to RCTNativeAppEventEmitter.\n */\nconst RCTNativeAppEventEmitter = RCTDeviceEventEmitter;\nmodule.exports = RCTNativeAppEventEmitter;\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 * @flow strict-local\n */\n\n'use strict';\n\nimport type {HMRClientNativeInterface} from './HMRClient';\n\n// This shim ensures DEV binary builds don't crash in JS\n// when they're combined with a PROD JavaScript build.\nconst HMRClientProdShim: HMRClientNativeInterface = {\n setup() {},\n enable() {\n console.error(\n 'Fast Refresh is disabled in JavaScript bundles built in production mode. ' +\n 'Did you forget to run Metro?',\n );\n },\n disable() {},\n registerBundle() {},\n log() {},\n};\n\nmodule.exports = HMRClientProdShim;\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 * @flow strict-local\n * @format\n */\n\n'use strict';\n\nexport type FetchSegmentFunction = typeof __fetchSegment;\n\n/**\n * Set up SegmentFetcher.\n * You can use this module directly, or just require InitializeCore.\n */\n\nfunction __fetchSegment(\n segmentId: number,\n options: $ReadOnly<{\n otaBuildNumber: ?string,\n requestedModuleName: string,\n segmentHash: string,\n }>,\n callback: (?Error) => void,\n) {\n const SegmentFetcher =\n require('./SegmentFetcher/NativeSegmentFetcher').default;\n SegmentFetcher.fetchSegment(\n segmentId,\n options,\n (\n errorObject: ?{\n message: string,\n code: string,\n ...\n },\n ) => {\n if (errorObject) {\n const error = new Error(errorObject.message);\n (error: any).code = errorObject.code; // flowlint-line unclear-type: off\n callback(error);\n }\n\n callback(null);\n },\n );\n}\n\nglobal.__fetchSegment = __fetchSegment;\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 * @flow strict\n * @format\n */\n\nimport type {TurboModule} from '../../TurboModule/RCTExport';\n\nimport * as TurboModuleRegistry from '../../TurboModule/TurboModuleRegistry';\n\nexport interface Spec extends TurboModule {\n +fetchSegment: (\n segmentId: number,\n options: Object, // flowlint-line unclear-type: off\n callback: (error: ?Object) => void, // flowlint-line unclear-type: off\n ) => void;\n +getSegment?: (\n segmentId: number,\n options: Object, // flowlint-line unclear-type: off\n callback: (error: ?Object, path: ?string) => void, // flowlint-line unclear-type: off\n ) => void;\n}\n\nexport default (TurboModuleRegistry.getEnforcing('SegmentFetcher'): Spec);\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 * @flow\n * @format\n */\n\nimport type {RootTag} from '../Types/RootTagTypes';\nimport type {IPerformanceLogger} from '../Utilities/createPerformanceLogger';\nimport type {DisplayModeType} from './DisplayMode';\n\nimport BatchedBridge from '../BatchedBridge/BatchedBridge';\nimport BugReporting from '../BugReporting/BugReporting';\nimport createPerformanceLogger from '../Utilities/createPerformanceLogger';\nimport infoLog from '../Utilities/infoLog';\nimport SceneTracker from '../Utilities/SceneTracker';\nimport {coerceDisplayMode} from './DisplayMode';\nimport HeadlessJsTaskError from './HeadlessJsTaskError';\nimport NativeHeadlessJsTaskSupport from './NativeHeadlessJsTaskSupport';\nimport renderApplication from './renderApplication';\nimport {unmountComponentAtNodeAndRemoveContainer} from './RendererProxy';\nimport invariant from 'invariant';\n\ntype Task = (taskData: any) => Promise;\nexport type TaskProvider = () => Task;\ntype TaskCanceller = () => void;\ntype TaskCancelProvider = () => TaskCanceller;\n\nexport type ComponentProvider = () => React$ComponentType;\nexport type ComponentProviderInstrumentationHook = (\n component_: ComponentProvider,\n scopedPerformanceLogger: IPerformanceLogger,\n) => React$ComponentType;\nexport type AppConfig = {\n appKey: string,\n component?: ComponentProvider,\n run?: Runnable,\n section?: boolean,\n ...\n};\ntype AppParameters = {\n initialProps: $ReadOnly<{[string]: mixed, ...}>,\n rootTag: RootTag,\n fabric?: boolean,\n concurrentRoot?: boolean,\n};\nexport type Runnable = (\n appParameters: AppParameters,\n displayMode: DisplayModeType,\n) => void;\nexport type Runnables = {[appKey: string]: Runnable};\nexport type Registry = {\n sections: $ReadOnlyArray,\n runnables: Runnables,\n ...\n};\nexport type WrapperComponentProvider = (\n appParameters: Object,\n) => React$ComponentType;\n\nconst runnables: Runnables = {};\nlet runCount = 1;\nconst sections: Runnables = {};\nconst taskProviders: Map = new Map();\nconst taskCancelProviders: Map = new Map();\nlet componentProviderInstrumentationHook: ComponentProviderInstrumentationHook =\n (component: ComponentProvider) => component();\n\nlet wrapperComponentProvider: ?WrapperComponentProvider;\nlet showArchitectureIndicator = false;\n\n/**\n * `AppRegistry` is the JavaScript entry point to running all React Native apps.\n *\n * See https://reactnative.dev/docs/appregistry\n */\nconst AppRegistry = {\n setWrapperComponentProvider(provider: WrapperComponentProvider) {\n wrapperComponentProvider = provider;\n },\n\n enableArchitectureIndicator(enabled: boolean): void {\n showArchitectureIndicator = enabled;\n },\n\n registerConfig(config: Array): void {\n config.forEach(appConfig => {\n if (appConfig.run) {\n AppRegistry.registerRunnable(appConfig.appKey, appConfig.run);\n } else {\n invariant(\n appConfig.component != null,\n 'AppRegistry.registerConfig(...): Every config is expected to set ' +\n 'either `run` or `component`, but `%s` has neither.',\n appConfig.appKey,\n );\n AppRegistry.registerComponent(\n appConfig.appKey,\n appConfig.component,\n appConfig.section,\n );\n }\n });\n },\n\n /**\n * Registers an app's root component.\n *\n * See https://reactnative.dev/docs/appregistry#registercomponent\n */\n registerComponent(\n appKey: string,\n componentProvider: ComponentProvider,\n section?: boolean,\n ): string {\n const scopedPerformanceLogger = createPerformanceLogger();\n runnables[appKey] = (appParameters, displayMode) => {\n const concurrentRootEnabled = Boolean(\n appParameters.initialProps?.concurrentRoot ||\n appParameters.concurrentRoot,\n );\n renderApplication(\n componentProviderInstrumentationHook(\n componentProvider,\n scopedPerformanceLogger,\n ),\n appParameters.initialProps,\n appParameters.rootTag,\n wrapperComponentProvider && wrapperComponentProvider(appParameters),\n appParameters.fabric,\n showArchitectureIndicator,\n scopedPerformanceLogger,\n appKey === 'LogBox', // is logbox\n appKey,\n displayMode,\n concurrentRootEnabled,\n );\n };\n if (section) {\n sections[appKey] = runnables[appKey];\n }\n return appKey;\n },\n\n registerRunnable(appKey: string, run: Runnable): string {\n runnables[appKey] = run;\n return appKey;\n },\n\n registerSection(appKey: string, component: ComponentProvider): void {\n AppRegistry.registerComponent(appKey, component, true);\n },\n\n getAppKeys(): $ReadOnlyArray {\n return Object.keys(runnables);\n },\n\n getSectionKeys(): $ReadOnlyArray {\n return Object.keys(sections);\n },\n\n getSections(): Runnables {\n return {\n ...sections,\n };\n },\n\n getRunnable(appKey: string): ?Runnable {\n return runnables[appKey];\n },\n\n getRegistry(): Registry {\n return {\n sections: AppRegistry.getSectionKeys(),\n runnables: {...runnables},\n };\n },\n\n setComponentProviderInstrumentationHook(\n hook: ComponentProviderInstrumentationHook,\n ) {\n componentProviderInstrumentationHook = hook;\n },\n\n /**\n * Loads the JavaScript bundle and runs the app.\n *\n * See https://reactnative.dev/docs/appregistry#runapplication\n */\n runApplication(\n appKey: string,\n appParameters: AppParameters,\n displayMode?: number,\n ): void {\n if (appKey !== 'LogBox') {\n const logParams = __DEV__\n ? '\" with ' + JSON.stringify(appParameters)\n : '';\n const msg = 'Running \"' + appKey + logParams;\n infoLog(msg);\n BugReporting.addSource(\n 'AppRegistry.runApplication' + runCount++,\n () => msg,\n );\n }\n invariant(\n runnables[appKey],\n `\"${appKey}\" has not been registered. This can happen if:\\n` +\n '* Metro (the local dev server) is run from the wrong folder. ' +\n 'Check if Metro is running, stop it and restart it in the current project.\\n' +\n \"* A module failed to load due to an error and `AppRegistry.registerComponent` wasn't called.\",\n );\n\n SceneTracker.setActiveScene({name: appKey});\n runnables[appKey](appParameters, coerceDisplayMode(displayMode));\n },\n\n /**\n * Update initial props for a surface that's already rendered\n */\n setSurfaceProps(\n appKey: string,\n appParameters: Object,\n displayMode?: number,\n ): void {\n if (appKey !== 'LogBox') {\n const msg =\n 'Updating props for Surface \"' +\n appKey +\n '\" with ' +\n JSON.stringify(appParameters);\n infoLog(msg);\n BugReporting.addSource(\n 'AppRegistry.setSurfaceProps' + runCount++,\n () => msg,\n );\n }\n invariant(\n runnables[appKey],\n `\"${appKey}\" has not been registered. This can happen if:\\n` +\n '* Metro (the local dev server) is run from the wrong folder. ' +\n 'Check if Metro is running, stop it and restart it in the current project.\\n' +\n \"* A module failed to load due to an error and `AppRegistry.registerComponent` wasn't called.\",\n );\n\n runnables[appKey](appParameters, coerceDisplayMode(displayMode));\n },\n\n /**\n * Stops an application when a view should be destroyed.\n *\n * See https://reactnative.dev/docs/appregistry#unmountapplicationcomponentatroottag\n */\n unmountApplicationComponentAtRootTag(rootTag: RootTag): void {\n unmountComponentAtNodeAndRemoveContainer(rootTag);\n },\n\n /**\n * Register a headless task. A headless task is a bit of code that runs without a UI.\n *\n * See https://reactnative.dev/docs/appregistry#registerheadlesstask\n */\n registerHeadlessTask(taskKey: string, taskProvider: TaskProvider): void {\n // $FlowFixMe[object-this-reference]\n this.registerCancellableHeadlessTask(taskKey, taskProvider, () => () => {\n /* Cancel is no-op */\n });\n },\n\n /**\n * Register a cancellable headless task. A headless task is a bit of code that runs without a UI.\n *\n * See https://reactnative.dev/docs/appregistry#registercancellableheadlesstask\n */\n registerCancellableHeadlessTask(\n taskKey: string,\n taskProvider: TaskProvider,\n taskCancelProvider: TaskCancelProvider,\n ): void {\n if (taskProviders.has(taskKey)) {\n console.warn(\n `registerHeadlessTask or registerCancellableHeadlessTask called multiple times for same key '${taskKey}'`,\n );\n }\n taskProviders.set(taskKey, taskProvider);\n taskCancelProviders.set(taskKey, taskCancelProvider);\n },\n\n /**\n * Only called from native code. Starts a headless task.\n *\n * See https://reactnative.dev/docs/appregistry#startheadlesstask\n */\n startHeadlessTask(taskId: number, taskKey: string, data: any): void {\n const taskProvider = taskProviders.get(taskKey);\n if (!taskProvider) {\n console.warn(`No task registered for key ${taskKey}`);\n if (NativeHeadlessJsTaskSupport) {\n NativeHeadlessJsTaskSupport.notifyTaskFinished(taskId);\n }\n return;\n }\n taskProvider()(data)\n .then(() => {\n if (NativeHeadlessJsTaskSupport) {\n NativeHeadlessJsTaskSupport.notifyTaskFinished(taskId);\n }\n })\n .catch(reason => {\n console.error(reason);\n\n if (\n NativeHeadlessJsTaskSupport &&\n reason instanceof HeadlessJsTaskError\n ) {\n // $FlowFixMe[unused-promise]\n NativeHeadlessJsTaskSupport.notifyTaskRetry(taskId).then(\n retryPosted => {\n if (!retryPosted) {\n NativeHeadlessJsTaskSupport.notifyTaskFinished(taskId);\n }\n },\n );\n }\n });\n },\n\n /**\n * Only called from native code. Cancels a headless task.\n *\n * See https://reactnative.dev/docs/appregistry#cancelheadlesstask\n */\n cancelHeadlessTask(taskId: number, taskKey: string): void {\n const taskCancelProvider = taskCancelProviders.get(taskKey);\n if (!taskCancelProvider) {\n throw new Error(`No task canceller registered for key '${taskKey}'`);\n }\n taskCancelProvider()();\n },\n};\n\n// Register LogBox as a default surface\nAppRegistry.registerComponent('LogBox', () => {\n if (__DEV__ && typeof jest === 'undefined') {\n return require('../LogBox/LogBoxInspectorContainer').default;\n } else {\n return function NoOp() {\n return null;\n };\n }\n});\n\nglobal.RN$AppRegistry = AppRegistry;\n\n// Backwards compat with SurfaceRegistry, remove me later\nglobal.RN$SurfaceRegistry = {\n renderSurface: AppRegistry.runApplication,\n setSurfaceProps: AppRegistry.setSurfaceProps,\n};\n\nif (global.RN$Bridgeless !== true) {\n BatchedBridge.registerCallableModule('AppRegistry', AppRegistry);\n}\n\nmodule.exports = AppRegistry;\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 * @flow strict-local\n */\n\nimport RCTDeviceEventEmitter from '../EventEmitter/RCTDeviceEventEmitter';\nimport NativeRedBox from '../NativeModules/specs/NativeRedBox';\nimport {type EventSubscription} from '../vendor/emitter/EventEmitter';\nimport NativeBugReporting from './NativeBugReporting';\n\ntype ExtraData = {[key: string]: string, ...};\ntype SourceCallback = () => string;\ntype DebugData = {\n extras: ExtraData,\n files: ExtraData,\n ...\n};\n\nfunction defaultExtras() {\n BugReporting.addFileSource('react_hierarchy.txt', () =>\n require('./dumpReactTree')(),\n );\n}\n\n/**\n * A simple class for collecting bug report data. Components can add sources that will be queried when a bug report\n * is created via `collectExtraData`. For example, a list component might add a source that provides the list of rows\n * that are currently visible on screen. Components should also remember to call `remove()` on the object that is\n * returned by `addSource` when they are unmounted.\n */\nclass BugReporting {\n static _extraSources: Map = new Map();\n static _fileSources: Map = new Map();\n static _subscription: ?EventSubscription = null;\n static _redboxSubscription: ?EventSubscription = null;\n\n static _maybeInit() {\n if (!BugReporting._subscription) {\n BugReporting._subscription = RCTDeviceEventEmitter.addListener(\n 'collectBugExtraData',\n // $FlowFixMe[method-unbinding]\n BugReporting.collectExtraData,\n null,\n );\n defaultExtras();\n }\n\n if (!BugReporting._redboxSubscription) {\n BugReporting._redboxSubscription = RCTDeviceEventEmitter.addListener(\n 'collectRedBoxExtraData',\n // $FlowFixMe[method-unbinding]\n BugReporting.collectExtraData,\n null,\n );\n }\n }\n\n /**\n * Maps a string key to a simple callback that should return a string payload to be attached\n * to a bug report. Source callbacks are called when `collectExtraData` is called.\n *\n * Returns an object to remove the source when the component unmounts.\n *\n * Conflicts trample with a warning.\n */\n static addSource(\n key: string,\n callback: SourceCallback,\n ): {remove: () => void, ...} {\n return this._addSource(key, callback, BugReporting._extraSources);\n }\n\n /**\n * Maps a string key to a simple callback that should return a string payload to be attached\n * to a bug report. Source callbacks are called when `collectExtraData` is called.\n *\n * Returns an object to remove the source when the component unmounts.\n *\n * Conflicts trample with a warning.\n */\n static addFileSource(\n key: string,\n callback: SourceCallback,\n ): {remove: () => void, ...} {\n return this._addSource(key, callback, BugReporting._fileSources);\n }\n\n static _addSource(\n key: string,\n callback: SourceCallback,\n source: Map,\n ): {remove: () => void, ...} {\n BugReporting._maybeInit();\n if (source.has(key)) {\n console.warn(\n `BugReporting.add* called multiple times for same key '${key}'`,\n );\n }\n source.set(key, callback);\n return {\n remove: () => {\n source.delete(key);\n },\n };\n }\n\n /**\n * This can be called from a native bug reporting flow, or from JS code.\n *\n * If available, this will call `NativeModules.BugReporting.setExtraData(extraData)`\n * after collecting `extraData`.\n */\n static collectExtraData(): DebugData {\n const extraData: ExtraData = {};\n for (const [key, callback] of BugReporting._extraSources) {\n extraData[key] = callback();\n }\n const fileData: ExtraData = {};\n for (const [key, callback] of BugReporting._fileSources) {\n fileData[key] = callback();\n }\n\n if (NativeBugReporting != null && NativeBugReporting.setExtraData != null) {\n NativeBugReporting.setExtraData(extraData, fileData);\n }\n\n if (NativeRedBox != null && NativeRedBox.setExtraData != null) {\n NativeRedBox.setExtraData(extraData, 'From BugReporting.js');\n }\n\n return {extras: extraData, files: fileData};\n }\n}\n\nmodule.exports = BugReporting;\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 * @flow\n * @format\n */\n\nimport type {TurboModule} from '../../TurboModule/RCTExport';\n\nimport * as TurboModuleRegistry from '../../TurboModule/TurboModuleRegistry';\n\nexport interface Spec extends TurboModule {\n +setExtraData: (extraData: Object, forIdentifier: string) => void;\n +dismiss: () => void;\n}\n\nexport default (TurboModuleRegistry.get('RedBox'): ?Spec);\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 * @flow\n */\n\nimport type {TurboModule} from '../TurboModule/RCTExport';\n\nimport * as TurboModuleRegistry from '../TurboModule/TurboModuleRegistry';\n\nexport interface Spec extends TurboModule {\n +startReportAProblemFlow: () => void;\n +setExtraData: (extraData: Object, extraFiles: Object) => void;\n +setCategoryID: (categoryID: string) => void;\n}\n\nexport default (TurboModuleRegistry.get('BugReporting'): ?Spec);\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 * @flow strict\n */\n\n'use strict';\n\n/*\nconst getReactData = require('getReactData');\n\nconst INDENTATION_SIZE = 2;\nconst MAX_DEPTH = 2;\nconst MAX_STRING_LENGTH = 50;\n*/\n\n/**\n * Dump all React Native root views and their content. This function tries\n * it best to get the content but ultimately relies on implementation details\n * of React and will fail in future versions.\n */\nfunction dumpReactTree(): string {\n try {\n return getReactTree();\n } catch (e) {\n return 'Failed to dump react tree: ' + e;\n }\n}\n\nfunction getReactTree() {\n // TODO(sema): Reenable tree dumps using the Fiber tree structure. #15945684\n return (\n 'React tree dumps have been temporarily disabled while React is ' +\n 'upgraded to Fiber.'\n );\n /*\n let output = '';\n const rootIds = Object.getOwnPropertyNames(ReactNativeMount._instancesByContainerID);\n for (const rootId of rootIds) {\n const instance = ReactNativeMount._instancesByContainerID[rootId];\n output += `============ Root ID: ${rootId} ============\\n`;\n output += dumpNode(instance, 0);\n output += `============ End root ID: ${rootId} ============\\n`;\n }\n return output;\n*/\n}\n\n/*\nfunction dumpNode(node: Object, indentation: number) {\n const data = getReactData(node);\n if (data.nodeType === 'Text') {\n return indent(indentation) + data.text + '\\n';\n } else if (data.nodeType === 'Empty') {\n return '';\n }\n let output = indent(indentation) + `<${data.name}`;\n if (data.nodeType === 'Composite') {\n for (const propName of Object.getOwnPropertyNames(data.props || {})) {\n if (isNormalProp(propName)) {\n try {\n const value = convertValue(data.props[propName]);\n if (value) {\n output += ` ${propName}=${value}`;\n }\n } catch (e) {\n const message = `[Failed to get property: ${e}]`;\n output += ` ${propName}=${message}`;\n }\n }\n }\n }\n let childOutput = '';\n for (const child of data.children || []) {\n childOutput += dumpNode(child, indentation + 1);\n }\n\n if (childOutput) {\n output += '>\\n' + childOutput + indent(indentation) + `\\n`;\n } else {\n output += ' />\\n';\n }\n\n return output;\n}\n\nfunction isNormalProp(name: string): boolean {\n switch (name) {\n case 'children':\n case 'key':\n case 'ref':\n return false;\n default:\n return true;\n }\n}\n\nfunction convertObject(object: Object, depth: number) {\n if (depth >= MAX_DEPTH) {\n return '[...omitted]';\n }\n let output = '{';\n let first = true;\n for (const key of Object.getOwnPropertyNames(object)) {\n if (!first) {\n output += ', ';\n }\n output += `${key}: ${convertValue(object[key], depth + 1)}`;\n first = false;\n }\n return output + '}';\n}\n\nfunction convertValue(value, depth = 0): ?string {\n if (!value) {\n return null;\n }\n\n switch (typeof value) {\n case 'string':\n return JSON.stringify(possiblyEllipsis(value).replace('\\n', '\\\\n'));\n case 'boolean':\n case 'number':\n return JSON.stringify(value);\n case 'function':\n return '[function]';\n case 'object':\n return convertObject(value, depth);\n default:\n return null;\n }\n}\n\nfunction possiblyEllipsis(value: string) {\n if (value.length > MAX_STRING_LENGTH) {\n return value.slice(0, MAX_STRING_LENGTH) + '...';\n } else {\n return value;\n }\n}\n\nfunction indent(size: number) {\n return ' '.repeat(size * INDENTATION_SIZE);\n}\n*/\n\nmodule.exports = dumpReactTree;\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 * @flow strict\n */\n\n'use strict';\n\nexport type Scene = {name: string, [string]: mixed, ...};\n\nlet _listeners: Array<(scene: Scene) => void> = [];\n\nlet _activeScene = {name: 'default'};\n\nconst SceneTracker = {\n setActiveScene(scene: Scene) {\n _activeScene = scene;\n _listeners.forEach(listener => listener(_activeScene));\n },\n\n getActiveScene(): Scene {\n return _activeScene;\n },\n\n addActiveSceneChangedListener(callback: (scene: Scene) => void): {\n remove: () => void,\n ...\n } {\n _listeners.push(callback);\n return {\n remove: () => {\n _listeners = _listeners.filter(listener => callback !== listener);\n },\n };\n },\n};\n\nmodule.exports = SceneTracker;\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 * @flow strict-local\n * @format\n */\n\nexport default class HeadlessJsTaskError extends Error {}\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 * @flow strict\n * @format\n */\n\nimport type {TurboModule} from '../TurboModule/RCTExport';\n\nimport * as TurboModuleRegistry from '../TurboModule/TurboModuleRegistry';\n\nexport interface Spec extends TurboModule {\n +notifyTaskFinished: (taskId: number) => void;\n +notifyTaskRetry: (taskId: number) => Promise;\n}\n\nexport default (TurboModuleRegistry.get('HeadlessJsTaskSupport'): ?Spec);\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 * @flow\n */\n\nimport type {IPerformanceLogger} from '../Utilities/createPerformanceLogger';\n\nimport GlobalPerformanceLogger from '../Utilities/GlobalPerformanceLogger';\nimport PerformanceLoggerContext from '../Utilities/PerformanceLoggerContext';\nimport AppContainer from './AppContainer';\nimport DisplayMode, {type DisplayModeType} from './DisplayMode';\nimport getCachedComponentWithDebugName from './getCachedComponentWithDebugName';\nimport * as Renderer from './RendererProxy';\nimport invariant from 'invariant';\nimport * as React from 'react';\n\n// require BackHandler so it sets the default handler that exits the app if no listeners respond\nimport '../Utilities/BackHandler';\n\ntype OffscreenType = React.AbstractComponent<{\n mode: 'visible' | 'hidden',\n children: React.Node,\n}>;\n\nexport default function renderApplication(\n RootComponent: React.ComponentType,\n initialProps: Props,\n rootTag: any,\n WrapperComponent?: ?React.ComponentType,\n fabric?: boolean,\n showArchitectureIndicator?: boolean,\n scopedPerformanceLogger?: IPerformanceLogger,\n isLogBox?: boolean,\n debugName?: string,\n displayMode?: ?DisplayModeType,\n useConcurrentRoot?: boolean,\n useOffscreen?: boolean,\n) {\n invariant(rootTag, 'Expect to have a valid rootTag, instead got ', rootTag);\n\n const performanceLogger = scopedPerformanceLogger ?? GlobalPerformanceLogger;\n\n let renderable: React.MixedElement = (\n \n \n \n \n \n );\n\n if (__DEV__ && debugName) {\n const RootComponentWithMeaningfulName = getCachedComponentWithDebugName(\n `${debugName}(RootComponent)`,\n );\n renderable = (\n \n {renderable}\n \n );\n }\n\n if (useOffscreen && displayMode != null) {\n // $FlowFixMe[incompatible-type]\n // $FlowFixMe[prop-missing]\n const Offscreen: OffscreenType = React.unstable_Offscreen;\n\n renderable = (\n \n {renderable}\n \n );\n }\n\n performanceLogger.startTimespan('renderApplication_React_render');\n performanceLogger.setExtra(\n 'usedReactConcurrentRoot',\n useConcurrentRoot ? '1' : '0',\n );\n performanceLogger.setExtra('usedReactFabric', fabric ? '1' : '0');\n performanceLogger.setExtra(\n 'usedReactProfiler',\n Renderer.isProfilingRenderer(),\n );\n Renderer.renderElement({\n element: renderable,\n rootTag,\n useFabric: Boolean(fabric),\n useConcurrentRoot: Boolean(useConcurrentRoot),\n });\n performanceLogger.stopTimespan('renderApplication_React_render');\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 * @flow strict\n * @format\n */\n\nimport type {IPerformanceLogger} from './createPerformanceLogger';\n\nimport GlobalPerformanceLogger from './GlobalPerformanceLogger';\nimport * as React from 'react';\nimport {useContext} from 'react';\n\n/**\n * This is a React Context that provides a scoped instance of IPerformanceLogger.\n * We wrap every with a Provider for this context so the logger\n * should be available in every component.\n * See React docs about using Context: https://react.dev/docs/context.html\n */\nconst PerformanceLoggerContext: React.Context =\n React.createContext(GlobalPerformanceLogger);\nif (__DEV__) {\n PerformanceLoggerContext.displayName = 'PerformanceLoggerContext';\n}\n\nexport function usePerformanceLogger(): IPerformanceLogger {\n return useContext(PerformanceLoggerContext);\n}\n\nexport default PerformanceLoggerContext;\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 * @flow\n */\n\nimport type {RootTag} from './RootTag';\n\nimport View from '../Components/View/View';\nimport RCTDeviceEventEmitter from '../EventEmitter/RCTDeviceEventEmitter';\nimport StyleSheet from '../StyleSheet/StyleSheet';\nimport {type EventSubscription} from '../vendor/emitter/EventEmitter';\nimport {RootTagContext, createRootTag} from './RootTag';\nimport * as React from 'react';\n\nconst reactDevToolsHook = window.__REACT_DEVTOOLS_GLOBAL_HOOK__;\n\ntype Props = $ReadOnly<{|\n children?: React.Node,\n fabric?: boolean,\n useConcurrentRoot?: boolean,\n rootTag: number | RootTag,\n initialProps?: {...},\n showArchitectureIndicator?: boolean,\n WrapperComponent?: ?React.ComponentType,\n internal_excludeLogBox?: ?boolean,\n internal_excludeInspector?: ?boolean,\n|}>;\n\ntype State = {|\n inspector: ?React.Node,\n devtoolsOverlay: ?React.Node,\n traceUpdateOverlay: ?React.Node,\n mainKey: number,\n|};\n\nclass AppContainer extends React.Component {\n state: State = {\n inspector: null,\n devtoolsOverlay: null,\n traceUpdateOverlay: null,\n mainKey: 1,\n };\n _mainRef: ?React.ElementRef;\n _subscription: ?EventSubscription = null;\n _reactDevToolsAgentListener: ?() => void = null;\n\n static getDerivedStateFromError: any = undefined;\n\n mountReactDevToolsOverlays(): void {\n const DevtoolsOverlay = require('../Inspector/DevtoolsOverlay').default;\n const devtoolsOverlay = ;\n\n const TraceUpdateOverlay =\n require('../Components/TraceUpdateOverlay/TraceUpdateOverlay').default;\n const traceUpdateOverlay = ;\n\n this.setState({devtoolsOverlay, traceUpdateOverlay});\n }\n\n componentDidMount(): void {\n if (__DEV__) {\n if (!this.props.internal_excludeInspector) {\n this._subscription = RCTDeviceEventEmitter.addListener(\n 'toggleElementInspector',\n () => {\n const Inspector = require('../Inspector/Inspector');\n const inspector = this.state.inspector ? null : (\n {\n this.setState(\n s => ({mainKey: s.mainKey + 1}),\n () => updateInspectedView(this._mainRef),\n );\n }}\n />\n );\n this.setState({inspector});\n },\n );\n\n if (reactDevToolsHook != null) {\n if (reactDevToolsHook.reactDevtoolsAgent) {\n // In case if this is not the first AppContainer rendered and React DevTools are already attached\n this.mountReactDevToolsOverlays();\n return;\n }\n\n this._reactDevToolsAgentListener = () =>\n this.mountReactDevToolsOverlays();\n\n reactDevToolsHook.on(\n 'react-devtools',\n this._reactDevToolsAgentListener,\n );\n }\n }\n }\n }\n\n componentWillUnmount(): void {\n if (this._subscription != null) {\n this._subscription.remove();\n }\n\n if (reactDevToolsHook != null && this._reactDevToolsAgentListener != null) {\n reactDevToolsHook.off('react-devtools', this._reactDevToolsAgentListener);\n }\n }\n\n render(): React.Node {\n let logBox = null;\n if (__DEV__) {\n if (!this.props.internal_excludeLogBox) {\n const LogBoxNotificationContainer =\n require('../LogBox/LogBoxNotificationContainer').default;\n logBox = ;\n }\n }\n\n let innerView: React.Node = (\n {\n this._mainRef = ref;\n }}>\n {this.props.children}\n \n );\n\n const Wrapper = this.props.WrapperComponent;\n if (Wrapper != null) {\n innerView = (\n \n {innerView}\n \n );\n }\n\n return (\n \n \n {innerView}\n {this.state.traceUpdateOverlay}\n {this.state.devtoolsOverlay}\n {this.state.inspector}\n {logBox}\n \n \n );\n }\n}\n\nconst styles = StyleSheet.create({\n appContainer: {\n flex: 1,\n },\n});\n\nmodule.exports = AppContainer;\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 * @flow strict-local\n */\n\nimport type {ViewProps} from './ViewPropTypes';\n\nimport ReactNativeFeatureFlags from '../../ReactNative/ReactNativeFeatureFlags';\nimport flattenStyle from '../../StyleSheet/flattenStyle';\nimport TextAncestor from '../../Text/TextAncestor';\nimport ViewNativeComponent from './ViewNativeComponent';\nimport * as React from 'react';\n\nexport type Props = ViewProps;\n\n/**\n * The most fundamental component for building a UI, View is a container that\n * supports layout with flexbox, style, some touch handling, and accessibility\n * controls.\n *\n * @see https://reactnative.dev/docs/view\n */\nconst View: React.AbstractComponent<\n ViewProps,\n React.ElementRef,\n> = React.forwardRef(\n (\n {\n accessibilityElementsHidden,\n accessibilityLabel,\n accessibilityLabelledBy,\n accessibilityLiveRegion,\n accessibilityState,\n accessibilityValue,\n 'aria-busy': ariaBusy,\n 'aria-checked': ariaChecked,\n 'aria-disabled': ariaDisabled,\n 'aria-expanded': ariaExpanded,\n 'aria-hidden': ariaHidden,\n 'aria-label': ariaLabel,\n 'aria-labelledby': ariaLabelledBy,\n 'aria-live': ariaLive,\n 'aria-selected': ariaSelected,\n 'aria-valuemax': ariaValueMax,\n 'aria-valuemin': ariaValueMin,\n 'aria-valuenow': ariaValueNow,\n 'aria-valuetext': ariaValueText,\n focusable,\n id,\n importantForAccessibility,\n nativeID,\n pointerEvents,\n tabIndex,\n ...otherProps\n }: ViewProps,\n forwardedRef,\n ) => {\n const hasTextAncestor = React.useContext(TextAncestor);\n const _accessibilityLabelledBy =\n ariaLabelledBy?.split(/\\s*,\\s*/g) ?? accessibilityLabelledBy;\n\n let _accessibilityState;\n if (\n accessibilityState != null ||\n ariaBusy != null ||\n ariaChecked != null ||\n ariaDisabled != null ||\n ariaExpanded != null ||\n ariaSelected != null\n ) {\n _accessibilityState = {\n busy: ariaBusy ?? accessibilityState?.busy,\n checked: ariaChecked ?? accessibilityState?.checked,\n disabled: ariaDisabled ?? accessibilityState?.disabled,\n expanded: ariaExpanded ?? accessibilityState?.expanded,\n selected: ariaSelected ?? accessibilityState?.selected,\n };\n }\n let _accessibilityValue;\n if (\n accessibilityValue != null ||\n ariaValueMax != null ||\n ariaValueMin != null ||\n ariaValueNow != null ||\n ariaValueText != null\n ) {\n _accessibilityValue = {\n max: ariaValueMax ?? accessibilityValue?.max,\n min: ariaValueMin ?? accessibilityValue?.min,\n now: ariaValueNow ?? accessibilityValue?.now,\n text: ariaValueText ?? accessibilityValue?.text,\n };\n }\n\n // $FlowFixMe[underconstrained-implicit-instantiation]\n let style = flattenStyle(otherProps.style);\n\n // $FlowFixMe[sketchy-null-mixed]\n const newPointerEvents = style?.pointerEvents || pointerEvents;\n const collapsableOverride =\n ReactNativeFeatureFlags.shouldForceUnflattenForElevation()\n ? {\n collapsable:\n style != null && style.elevation != null && style.elevation !== 0\n ? false\n : otherProps.collapsable,\n }\n : {};\n\n const actualView = (\n \n );\n\n if (hasTextAncestor) {\n return (\n \n {actualView}\n \n );\n }\n\n return actualView;\n },\n);\n\nView.displayName = 'View';\n\nmodule.exports = View;\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 * @flow strict-local\n * @format\n */\n\n'use strict';\n\nimport type {DangerouslyImpreciseStyleProp} from './StyleSheet';\nimport type {____FlattenStyleProp_Internal} from './StyleSheetTypes';\n\n// $FlowFixMe[unsupported-variance-annotation]\nfunction flattenStyle<+TStyleProp: DangerouslyImpreciseStyleProp>(\n style: ?TStyleProp,\n // $FlowFixMe[underconstrained-implicit-instantiation]\n): ?____FlattenStyleProp_Internal {\n if (style === null || typeof style !== 'object') {\n return undefined;\n }\n\n if (!Array.isArray(style)) {\n return style;\n }\n\n const result: {[string]: $FlowFixMe} = {};\n for (let i = 0, styleLength = style.length; i < styleLength; ++i) {\n // $FlowFixMe[underconstrained-implicit-instantiation]\n const computedStyle = flattenStyle(style[i]);\n if (computedStyle) {\n // $FlowFixMe[invalid-in-rhs]\n for (const key in computedStyle) {\n // $FlowFixMe[incompatible-use]\n result[key] = computedStyle[key];\n }\n }\n }\n // $FlowFixMe[incompatible-return]\n return result;\n}\n\nmodule.exports = flattenStyle;\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 * @flow strict\n * @format\n */\n\n'use strict';\n\nconst React = require('react');\n\n/**\n * Whether the current element is the descendant of a element.\n */\nconst TextAncestorContext = (React.createContext(\n false,\n): React$Context<$FlowFixMe>);\nif (__DEV__) {\n TextAncestorContext.displayName = 'TextAncestorContext';\n}\nmodule.exports = TextAncestorContext;\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 * @flow strict-local\n * @format\n */\n\nimport type {\n HostComponent,\n PartialViewConfig,\n} from '../../Renderer/shims/ReactNativeTypes';\n\nimport * as NativeComponentRegistry from '../../NativeComponent/NativeComponentRegistry';\nimport codegenNativeCommands from '../../Utilities/codegenNativeCommands';\nimport Platform from '../../Utilities/Platform';\nimport {type ViewProps as Props} from './ViewPropTypes';\nimport * as React from 'react';\n\nexport const __INTERNAL_VIEW_CONFIG: PartialViewConfig =\n Platform.OS === 'android'\n ? {\n uiViewClassName: 'RCTView',\n validAttributes: {\n // ReactClippingViewManager @ReactProps\n removeClippedSubviews: true,\n\n // ReactViewManager @ReactProps\n accessible: true,\n hasTVPreferredFocus: true,\n nextFocusDown: true,\n nextFocusForward: true,\n nextFocusLeft: true,\n nextFocusRight: true,\n nextFocusUp: true,\n\n borderRadius: true,\n borderTopLeftRadius: true,\n borderTopRightRadius: true,\n borderBottomRightRadius: true,\n borderBottomLeftRadius: true,\n borderTopStartRadius: true,\n borderTopEndRadius: true,\n borderBottomStartRadius: true,\n borderBottomEndRadius: true,\n borderEndEndRadius: true,\n borderEndStartRadius: true,\n borderStartEndRadius: true,\n borderStartStartRadius: true,\n borderStyle: true,\n hitSlop: true,\n pointerEvents: true,\n nativeBackgroundAndroid: true,\n nativeForegroundAndroid: true,\n needsOffscreenAlphaCompositing: true,\n\n borderWidth: true,\n borderLeftWidth: true,\n borderRightWidth: true,\n borderTopWidth: true,\n borderBottomWidth: true,\n borderStartWidth: true,\n borderEndWidth: true,\n\n borderColor: {\n process: require('../../StyleSheet/processColor').default,\n },\n borderLeftColor: {\n process: require('../../StyleSheet/processColor').default,\n },\n borderRightColor: {\n process: require('../../StyleSheet/processColor').default,\n },\n borderTopColor: {\n process: require('../../StyleSheet/processColor').default,\n },\n borderBottomColor: {\n process: require('../../StyleSheet/processColor').default,\n },\n borderStartColor: {\n process: require('../../StyleSheet/processColor').default,\n },\n borderEndColor: {\n process: require('../../StyleSheet/processColor').default,\n },\n borderBlockColor: {\n process: require('../../StyleSheet/processColor').default,\n },\n borderBlockEndColor: {\n process: require('../../StyleSheet/processColor').default,\n },\n borderBlockStartColor: {\n process: require('../../StyleSheet/processColor').default,\n },\n\n focusable: true,\n overflow: true,\n backfaceVisibility: true,\n experimental_layoutConformance: true,\n },\n }\n : {\n uiViewClassName: 'RCTView',\n };\n\nconst ViewNativeComponent: HostComponent =\n NativeComponentRegistry.get('RCTView', () => __INTERNAL_VIEW_CONFIG);\n\ninterface NativeCommands {\n +hotspotUpdate: (\n viewRef: React.ElementRef>,\n x: number,\n y: number,\n ) => void;\n +setPressed: (\n viewRef: React.ElementRef>,\n pressed: boolean,\n ) => void;\n}\n\nexport const Commands: NativeCommands = codegenNativeCommands({\n supportedCommands: ['hotspotUpdate', 'setPressed'],\n});\n\nexport default ViewNativeComponent;\n\nexport type ViewNativeComponentType = HostComponent;\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 * @flow strict-local\n * @format\n */\n\nimport type {\n HostComponent,\n PartialViewConfig,\n} from '../Renderer/shims/ReactNativeTypes';\n\nimport getNativeComponentAttributes from '../ReactNative/getNativeComponentAttributes';\nimport UIManager from '../ReactNative/UIManager';\nimport ReactNativeViewConfigRegistry from '../Renderer/shims/ReactNativeViewConfigRegistry';\nimport verifyComponentAttributeEquivalence from '../Utilities/verifyComponentAttributeEquivalence';\nimport * as StaticViewConfigValidator from './StaticViewConfigValidator';\nimport {createViewConfig} from './ViewConfig';\nimport invariant from 'invariant';\nimport * as React from 'react';\n\nlet getRuntimeConfig;\n\n/**\n * Configures a function that is called to determine whether a given component\n * should be registered using reflection of the native component at runtime.\n *\n * The provider should return null if the native component is unavailable in\n * the current environment.\n */\nexport function setRuntimeConfigProvider(\n runtimeConfigProvider: (name: string) => ?{\n native: boolean,\n strict: boolean,\n verify: boolean,\n },\n): void {\n if (getRuntimeConfig === undefined) {\n getRuntimeConfig = runtimeConfigProvider;\n }\n}\n\n/**\n * Gets a `NativeComponent` that can be rendered by React Native.\n *\n * The supplied `viewConfigProvider` may or may not be invoked and utilized,\n * depending on how `setRuntimeConfigProvider` is configured.\n */\nexport function get(\n name: string,\n viewConfigProvider: () => PartialViewConfig,\n): HostComponent {\n ReactNativeViewConfigRegistry.register(name, () => {\n const {native, strict, verify} = getRuntimeConfig?.(name) ?? {\n native: !global.RN$Bridgeless,\n strict: false,\n verify: false,\n };\n\n let viewConfig;\n if (native) {\n viewConfig = getNativeComponentAttributes(name);\n } else {\n viewConfig = createViewConfig(viewConfigProvider());\n if (viewConfig == null) {\n viewConfig = getNativeComponentAttributes(name);\n }\n }\n\n if (verify) {\n const nativeViewConfig = native\n ? viewConfig\n : getNativeComponentAttributes(name);\n const staticViewConfig = native\n ? createViewConfig(viewConfigProvider())\n : viewConfig;\n\n if (strict) {\n const validationOutput = StaticViewConfigValidator.validate(\n name,\n nativeViewConfig,\n staticViewConfig,\n );\n\n if (validationOutput.type === 'invalid') {\n console.error(\n StaticViewConfigValidator.stringifyValidationResult(\n name,\n validationOutput,\n ),\n );\n }\n } else {\n verifyComponentAttributeEquivalence(nativeViewConfig, staticViewConfig);\n }\n }\n\n return viewConfig;\n });\n\n // $FlowFixMe[incompatible-return] `NativeComponent` is actually string!\n return name;\n}\n\n/**\n * Same as `NativeComponentRegistry.get(...)`, except this will check either\n * the `setRuntimeConfigProvider` configuration or use native reflection (slow)\n * to determine whether this native component is available.\n *\n * If the native component is not available, a stub component is returned. Note\n * that the return value of this is not `HostComponent` because the returned\n * component instance is not guaranteed to have native methods.\n */\nexport function getWithFallback_DEPRECATED(\n name: string,\n viewConfigProvider: () => PartialViewConfig,\n): React.AbstractComponent {\n if (getRuntimeConfig == null) {\n // `getRuntimeConfig == null` when static view configs are disabled\n // If `setRuntimeConfigProvider` is not configured, use native reflection.\n if (hasNativeViewConfig(name)) {\n return get(name, viewConfigProvider);\n }\n } else {\n // If there is no runtime config, then the native component is unavailable.\n if (getRuntimeConfig(name) != null) {\n return get(name, viewConfigProvider);\n }\n }\n\n const FallbackNativeComponent = function (props: Config): React.Node {\n return null;\n };\n FallbackNativeComponent.displayName = `Fallback(${name})`;\n return FallbackNativeComponent;\n}\n\nfunction hasNativeViewConfig(name: string): boolean {\n invariant(getRuntimeConfig == null, 'Unexpected invocation!');\n return UIManager.getViewManagerConfig(name) != null;\n}\n\n/**\n * Unstable API. Do not use!\n *\n * This method returns if there is a StaticViewConfig registered for the\n * component name received as a parameter.\n */\nexport function unstable_hasStaticViewConfig(name: string): boolean {\n const {native} = getRuntimeConfig?.(name) ?? {\n native: true,\n };\n return !native;\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 * @flow\n * @format\n */\n\n'use strict';\n\nconst ReactNativeStyleAttributes = require('../Components/View/ReactNativeStyleAttributes');\nconst resolveAssetSource = require('../Image/resolveAssetSource');\nconst processColor = require('../StyleSheet/processColor').default;\nconst processColorArray = require('../StyleSheet/processColorArray');\nconst insetsDiffer = require('../Utilities/differ/insetsDiffer');\nconst matricesDiffer = require('../Utilities/differ/matricesDiffer');\nconst pointsDiffer = require('../Utilities/differ/pointsDiffer');\nconst sizesDiffer = require('../Utilities/differ/sizesDiffer');\nconst UIManager = require('./UIManager');\nconst invariant = require('invariant');\n\nfunction getNativeComponentAttributes(uiViewClassName: string): any {\n const viewConfig = UIManager.getViewManagerConfig(uiViewClassName);\n\n invariant(\n viewConfig != null && viewConfig.NativeProps != null,\n 'requireNativeComponent: \"%s\" was not found in the UIManager.',\n uiViewClassName,\n );\n\n // TODO: This seems like a whole lot of runtime initialization for every\n // native component that can be either avoided or simplified.\n let {baseModuleName, bubblingEventTypes, directEventTypes} = viewConfig;\n let nativeProps = viewConfig.NativeProps;\n\n bubblingEventTypes = bubblingEventTypes ?? {};\n directEventTypes = directEventTypes ?? {};\n\n while (baseModuleName) {\n const baseModule = UIManager.getViewManagerConfig(baseModuleName);\n if (!baseModule) {\n baseModuleName = null;\n } else {\n bubblingEventTypes = {\n ...baseModule.bubblingEventTypes,\n ...bubblingEventTypes,\n };\n directEventTypes = {\n ...baseModule.directEventTypes,\n ...directEventTypes,\n };\n nativeProps = {\n ...baseModule.NativeProps,\n ...nativeProps,\n };\n baseModuleName = baseModule.baseModuleName;\n }\n }\n\n const validAttributes: {[string]: mixed} = {};\n\n for (const key in nativeProps) {\n const typeName = nativeProps[key];\n const diff = getDifferForType(typeName);\n const process = getProcessorForType(typeName);\n\n // If diff or process == null, omit the corresponding property from the Attribute\n // Why:\n // 1. Consistency with AttributeType flow type\n // 2. Consistency with Static View Configs, which omit the null properties\n validAttributes[key] =\n diff == null\n ? process == null\n ? true\n : {process}\n : process == null\n ? {diff}\n : {diff, process};\n }\n\n // Unfortunately, the current setup declares style properties as top-level\n // props. This makes it so we allow style properties in the `style` prop.\n // TODO: Move style properties into a `style` prop and disallow them as\n // top-level props on the native side.\n validAttributes.style = ReactNativeStyleAttributes;\n\n Object.assign(viewConfig, {\n uiViewClassName,\n validAttributes,\n bubblingEventTypes,\n directEventTypes,\n });\n\n attachDefaultEventTypes(viewConfig);\n\n return viewConfig;\n}\n\nfunction attachDefaultEventTypes(viewConfig: any) {\n // This is supported on UIManager platforms (ex: Android),\n // as lazy view managers are not implemented for all platforms.\n // See [UIManager] for details on constants and implementations.\n const constants = UIManager.getConstants();\n if (constants.ViewManagerNames || constants.LazyViewManagersEnabled) {\n // Lazy view managers enabled.\n viewConfig = merge(viewConfig, UIManager.getDefaultEventTypes());\n } else {\n viewConfig.bubblingEventTypes = merge(\n viewConfig.bubblingEventTypes,\n constants.genericBubblingEventTypes,\n );\n viewConfig.directEventTypes = merge(\n viewConfig.directEventTypes,\n constants.genericDirectEventTypes,\n );\n }\n}\n\n// TODO: Figure out how to avoid all this runtime initialization cost.\nfunction merge(destination: ?Object, source: ?Object): ?Object {\n if (!source) {\n return destination;\n }\n if (!destination) {\n return source;\n }\n\n for (const key in source) {\n if (!source.hasOwnProperty(key)) {\n continue;\n }\n\n let sourceValue = source[key];\n if (destination.hasOwnProperty(key)) {\n const destinationValue = destination[key];\n if (\n typeof sourceValue === 'object' &&\n typeof destinationValue === 'object'\n ) {\n sourceValue = merge(destinationValue, sourceValue);\n }\n }\n destination[key] = sourceValue;\n }\n return destination;\n}\n\nfunction getDifferForType(\n typeName: string,\n): ?(prevProp: any, nextProp: any) => boolean {\n switch (typeName) {\n // iOS Types\n case 'CATransform3D':\n return matricesDiffer;\n case 'CGPoint':\n return pointsDiffer;\n case 'CGSize':\n return sizesDiffer;\n case 'UIEdgeInsets':\n return insetsDiffer;\n // Android Types\n case 'Point':\n return pointsDiffer;\n case 'EdgeInsets':\n return insetsDiffer;\n }\n return null;\n}\n\nfunction getProcessorForType(typeName: string): ?(nextProp: any) => any {\n switch (typeName) {\n // iOS Types\n case 'CGColor':\n case 'UIColor':\n return processColor;\n case 'CGColorArray':\n case 'UIColorArray':\n return processColorArray;\n case 'CGImage':\n case 'UIImage':\n case 'RCTImageSource':\n return resolveAssetSource;\n // Android Types\n case 'Color':\n return processColor;\n case 'ColorArray':\n return processColorArray;\n case 'ImageSource':\n return resolveAssetSource;\n }\n return null;\n}\n\nmodule.exports = getNativeComponentAttributes;\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 * @flow\n * @format\n */\n\nimport type {RootTag} from '../Types/RootTagTypes';\nimport type {Spec} from './NativeUIManager';\n\nimport {getFabricUIManager} from './FabricUIManager';\nimport nullthrows from 'nullthrows';\n\nexport interface UIManagerJSInterface extends Spec {\n +getViewManagerConfig: (viewManagerName: string) => Object;\n +hasViewManagerConfig: (viewManagerName: string) => boolean;\n +createView: (\n reactTag: ?number,\n viewName: string,\n rootTag: RootTag,\n props: Object,\n ) => void;\n +updateView: (reactTag: number, viewName: string, props: Object) => void;\n +manageChildren: (\n containerTag: ?number,\n moveFromIndices: Array,\n moveToIndices: Array,\n addChildReactTags: Array,\n addAtIndices: Array,\n removeAtIndices: Array,\n ) => void;\n}\n\nfunction isFabricReactTag(reactTag: number): boolean {\n // React reserves even numbers for Fabric.\n return reactTag % 2 === 0;\n}\n\nconst UIManagerImpl: UIManagerJSInterface =\n global.RN$Bridgeless === true\n ? require('./BridgelessUIManager')\n : require('./PaperUIManager');\n\n// $FlowFixMe[cannot-spread-interface]\nconst UIManager = {\n ...UIManagerImpl,\n measure(\n reactTag: number,\n callback: (\n left: number,\n top: number,\n width: number,\n height: number,\n pageX: number,\n pageY: number,\n ) => void,\n ): void {\n if (isFabricReactTag(reactTag)) {\n const FabricUIManager = nullthrows(getFabricUIManager());\n const shadowNode =\n FabricUIManager.findShadowNodeByTag_DEPRECATED(reactTag);\n if (shadowNode) {\n FabricUIManager.measure(shadowNode, callback);\n } else {\n console.warn(`measure cannot find view with tag #${reactTag}`);\n // $FlowFixMe[incompatible-call]\n callback();\n }\n } else {\n // Paper\n UIManagerImpl.measure(reactTag, callback);\n }\n },\n\n measureInWindow(\n reactTag: number,\n callback: (\n left: number,\n top: number,\n width: number,\n height: number,\n ) => void,\n ): void {\n if (isFabricReactTag(reactTag)) {\n const FabricUIManager = nullthrows(getFabricUIManager());\n const shadowNode =\n FabricUIManager.findShadowNodeByTag_DEPRECATED(reactTag);\n if (shadowNode) {\n FabricUIManager.measureInWindow(shadowNode, callback);\n } else {\n console.warn(`measure cannot find view with tag #${reactTag}`);\n // $FlowFixMe[incompatible-call]\n callback();\n }\n } else {\n // Paper\n UIManagerImpl.measureInWindow(reactTag, callback);\n }\n },\n\n measureLayout(\n reactTag: number,\n ancestorReactTag: number,\n errorCallback: (error: Object) => void,\n callback: (\n left: number,\n top: number,\n width: number,\n height: number,\n ) => void,\n ): void {\n if (isFabricReactTag(reactTag)) {\n const FabricUIManager = nullthrows(getFabricUIManager());\n const shadowNode =\n FabricUIManager.findShadowNodeByTag_DEPRECATED(reactTag);\n const ancestorShadowNode =\n FabricUIManager.findShadowNodeByTag_DEPRECATED(ancestorReactTag);\n\n if (!shadowNode || !ancestorShadowNode) {\n return;\n }\n\n FabricUIManager.measureLayout(\n shadowNode,\n ancestorShadowNode,\n errorCallback,\n callback,\n );\n } else {\n // Paper\n UIManagerImpl.measureLayout(\n reactTag,\n ancestorReactTag,\n errorCallback,\n callback,\n );\n }\n },\n\n measureLayoutRelativeToParent(\n reactTag: number,\n errorCallback: (error: Object) => void,\n callback: (\n left: number,\n top: number,\n width: number,\n height: number,\n ) => void,\n ): void {\n if (isFabricReactTag(reactTag)) {\n console.warn(\n 'RCTUIManager.measureLayoutRelativeToParent method is deprecated and it will not be implemented in newer versions of RN (Fabric) - T47686450',\n );\n const FabricUIManager = nullthrows(getFabricUIManager());\n const shadowNode =\n FabricUIManager.findShadowNodeByTag_DEPRECATED(reactTag);\n if (shadowNode) {\n FabricUIManager.measure(\n shadowNode,\n (left, top, width, height, pageX, pageY) => {\n callback(left, top, width, height);\n },\n );\n }\n } else {\n // Paper\n UIManagerImpl.measureLayoutRelativeToParent(\n reactTag,\n errorCallback,\n callback,\n );\n }\n },\n\n dispatchViewManagerCommand(\n reactTag: number,\n commandName: number | string,\n commandArgs: any[],\n ) {\n // Sometimes, libraries directly pass in the output of `findNodeHandle` to\n // this function without checking if it's null. This guards against that\n // case. We throw early here in Javascript so we can get a JS stacktrace\n // instead of a harder-to-debug native Java or Objective-C stacktrace.\n if (typeof reactTag !== 'number') {\n throw new Error('dispatchViewManagerCommand: found null reactTag');\n }\n\n if (isFabricReactTag(reactTag)) {\n const FabricUIManager = nullthrows(getFabricUIManager());\n const shadowNode =\n FabricUIManager.findShadowNodeByTag_DEPRECATED(reactTag);\n if (shadowNode) {\n // Transform the accidental CommandID into a CommandName which is the stringified number.\n // The interop layer knows how to convert this number into the right method name.\n // Stringify a string is a no-op, so it's safe.\n commandName = `${commandName}`;\n FabricUIManager.dispatchCommand(shadowNode, commandName, commandArgs);\n }\n } else {\n UIManagerImpl.dispatchViewManagerCommand(\n reactTag,\n // We have some legacy components that are actually already using strings. ¯\\_(ツ)_/¯\n // $FlowFixMe[incompatible-call]\n commandName,\n commandArgs,\n );\n }\n },\n};\n\nmodule.exports = UIManager;\n","'use strict';\n\nfunction nullthrows(x, message) {\n if (x != null) {\n return x;\n }\n var error = new Error(message !== undefined ? message : 'Got unexpected ' + x);\n error.framesToPop = 1; // Skip nullthrows's own stack frame.\n throw error;\n}\n\nmodule.exports = nullthrows;\nmodule.exports.default = nullthrows;\n\nObject.defineProperty(module.exports, '__esModule', {value: true});\n","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @flow\n * @format\n */\n\n'use strict';\n\nimport type {RootTag} from '../Types/RootTagTypes';\n\nimport {unstable_hasComponent} from '../NativeComponent/NativeComponentRegistryUnstable';\n\nlet cachedConstants = null;\n\nconst errorMessageForMethod = (methodName: string): string =>\n \"[ReactNative Architecture][JS] '\" +\n methodName +\n \"' is not available in the new React Native architecture.\";\n\nfunction nativeViewConfigsInBridgelessModeEnabled(): boolean {\n return global.RN$LegacyInterop_UIManager_getConstants !== undefined;\n}\n\nfunction getCachedConstants(): Object {\n if (!cachedConstants) {\n cachedConstants = global.RN$LegacyInterop_UIManager_getConstants();\n }\n return cachedConstants;\n}\n\nconst UIManagerJS: {[string]: $FlowFixMe} = {\n getViewManagerConfig: (viewManagerName: string): mixed => {\n if (nativeViewConfigsInBridgelessModeEnabled()) {\n return getCachedConstants()[viewManagerName];\n } else {\n console.error(\n errorMessageForMethod('getViewManagerConfig') +\n 'Use hasViewManagerConfig instead. viewManagerName: ' +\n viewManagerName,\n );\n return null;\n }\n },\n hasViewManagerConfig: (viewManagerName: string): boolean => {\n return unstable_hasComponent(viewManagerName);\n },\n getConstants: (): Object => {\n if (nativeViewConfigsInBridgelessModeEnabled()) {\n return getCachedConstants();\n } else {\n console.error(errorMessageForMethod('getConstants'));\n return null;\n }\n },\n getConstantsForViewManager: (viewManagerName: string): Object => {\n console.error(errorMessageForMethod('getConstantsForViewManager'));\n return {};\n },\n getDefaultEventTypes: (): Array => {\n console.error(errorMessageForMethod('getDefaultEventTypes'));\n return [];\n },\n lazilyLoadView: (name: string): Object => {\n console.error(errorMessageForMethod('lazilyLoadView'));\n return {};\n },\n createView: (\n reactTag: ?number,\n viewName: string,\n rootTag: RootTag,\n props: Object,\n ): void => console.error(errorMessageForMethod('createView')),\n updateView: (reactTag: number, viewName: string, props: Object): void =>\n console.error(errorMessageForMethod('updateView')),\n focus: (reactTag: ?number): void =>\n console.error(errorMessageForMethod('focus')),\n blur: (reactTag: ?number): void =>\n console.error(errorMessageForMethod('blur')),\n findSubviewIn: (\n reactTag: ?number,\n point: Array,\n callback: (\n nativeViewTag: number,\n left: number,\n top: number,\n width: number,\n height: number,\n ) => void,\n ): void => console.error(errorMessageForMethod('findSubviewIn')),\n dispatchViewManagerCommand: (\n reactTag: ?number,\n commandID: number,\n commandArgs: ?Array,\n ): void => console.error(errorMessageForMethod('dispatchViewManagerCommand')),\n measure: (\n reactTag: ?number,\n callback: (\n left: number,\n top: number,\n width: number,\n height: number,\n pageX: number,\n pageY: number,\n ) => void,\n ): void => console.error(errorMessageForMethod('measure')),\n measureInWindow: (\n reactTag: ?number,\n callback: (x: number, y: number, width: number, height: number) => void,\n ): void => console.error(errorMessageForMethod('measureInWindow')),\n viewIsDescendantOf: (\n reactTag: ?number,\n ancestorReactTag: ?number,\n callback: (result: Array) => void,\n ): void => console.error(errorMessageForMethod('viewIsDescendantOf')),\n measureLayout: (\n reactTag: ?number,\n ancestorReactTag: ?number,\n errorCallback: (error: Object) => void,\n callback: (\n left: number,\n top: number,\n width: number,\n height: number,\n ) => void,\n ): void => console.error(errorMessageForMethod('measureLayout')),\n measureLayoutRelativeToParent: (\n reactTag: ?number,\n errorCallback: (error: Object) => void,\n callback: (\n left: number,\n top: number,\n width: number,\n height: number,\n ) => void,\n ): void =>\n console.error(errorMessageForMethod('measureLayoutRelativeToParent')),\n setJSResponder: (reactTag: ?number, blockNativeResponder: boolean): void =>\n console.error(errorMessageForMethod('setJSResponder')),\n clearJSResponder: (): void => {}, // Don't log error here because we're aware it gets called\n configureNextLayoutAnimation: (\n config: Object,\n callback: () => void,\n errorCallback: (error: Object) => void,\n ): void =>\n console.error(errorMessageForMethod('configureNextLayoutAnimation')),\n removeSubviewsFromContainerWithID: (containerID: number): void =>\n console.error(errorMessageForMethod('removeSubviewsFromContainerWithID')),\n replaceExistingNonRootView: (reactTag: ?number, newReactTag: ?number): void =>\n console.error(errorMessageForMethod('replaceExistingNonRootView')),\n setChildren: (containerTag: ?number, reactTags: Array): void =>\n console.error(errorMessageForMethod('setChildren')),\n manageChildren: (\n containerTag: ?number,\n moveFromIndices: Array,\n moveToIndices: Array,\n addChildReactTags: Array,\n addAtIndices: Array,\n removeAtIndices: Array,\n ): void => console.error(errorMessageForMethod('manageChildren')),\n\n // Android only\n setLayoutAnimationEnabledExperimental: (enabled: boolean): void => {\n console.error(\n errorMessageForMethod('setLayoutAnimationEnabledExperimental'),\n );\n },\n // Please use AccessibilityInfo.sendAccessibilityEvent instead.\n // See SetAccessibilityFocusExample in AccessibilityExample.js for a migration example.\n sendAccessibilityEvent: (reactTag: ?number, eventType: number): void =>\n console.error(errorMessageForMethod('sendAccessibilityEvent')),\n showPopupMenu: (\n reactTag: ?number,\n items: Array,\n error: (error: Object) => void,\n success: (event: string, selected?: number) => void,\n ): void => console.error(errorMessageForMethod('showPopupMenu')),\n dismissPopupMenu: (): void =>\n console.error(errorMessageForMethod('dismissPopupMenu')),\n};\n\nif (nativeViewConfigsInBridgelessModeEnabled()) {\n Object.keys(getCachedConstants()).forEach(viewConfigName => {\n UIManagerJS[viewConfigName] = getCachedConstants()[viewConfigName];\n });\n}\n\nmodule.exports = UIManagerJS;\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 * @flow strict\n * @format\n */\n\nlet componentNameToExists: Map = new Map();\n\n/**\n * Unstable API. Do not use!\n *\n * This method returns if the component with name received as a parameter\n * is registered in the native platform.\n */\nexport function unstable_hasComponent(name: string): boolean {\n let hasNativeComponent = componentNameToExists.get(name);\n if (hasNativeComponent == null) {\n if (global.__nativeComponentRegistry__hasComponent) {\n hasNativeComponent = global.__nativeComponentRegistry__hasComponent(name);\n componentNameToExists.set(name, hasNativeComponent);\n } else {\n throw `unstable_hasComponent('${name}'): Global function is not registered`;\n }\n }\n return hasNativeComponent;\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 * @flow\n * @format\n */\n\nimport type {RootTag} from '../Types/RootTagTypes';\n\nimport NativeUIManager from './NativeUIManager';\n\nconst NativeModules = require('../BatchedBridge/NativeModules');\nconst defineLazyObjectProperty = require('../Utilities/defineLazyObjectProperty');\nconst Platform = require('../Utilities/Platform');\nconst UIManagerProperties = require('./UIManagerProperties');\n\nconst viewManagerConfigs: {[string]: any | null} = {};\n\nconst triedLoadingConfig = new Set();\n\nlet NativeUIManagerConstants = {};\nlet isNativeUIManagerConstantsSet = false;\nfunction getConstants(): Object {\n if (!isNativeUIManagerConstantsSet) {\n NativeUIManagerConstants = NativeUIManager.getConstants();\n isNativeUIManagerConstantsSet = true;\n }\n return NativeUIManagerConstants;\n}\n\nfunction getViewManagerConfig(viewManagerName: string): any {\n if (\n viewManagerConfigs[viewManagerName] === undefined &&\n global.nativeCallSyncHook && // If we're in the Chrome Debugger, let's not even try calling the sync method\n NativeUIManager.getConstantsForViewManager\n ) {\n try {\n viewManagerConfigs[viewManagerName] =\n NativeUIManager.getConstantsForViewManager(viewManagerName);\n } catch (e) {\n console.error(\n \"NativeUIManager.getConstantsForViewManager('\" +\n viewManagerName +\n \"') threw an exception.\",\n e,\n );\n viewManagerConfigs[viewManagerName] = null;\n }\n }\n\n const config = viewManagerConfigs[viewManagerName];\n if (config) {\n return config;\n }\n\n // If we're in the Chrome Debugger, let's not even try calling the sync\n // method.\n if (!global.nativeCallSyncHook) {\n return config;\n }\n\n if (\n NativeUIManager.lazilyLoadView &&\n !triedLoadingConfig.has(viewManagerName)\n ) {\n const result = NativeUIManager.lazilyLoadView(viewManagerName);\n triedLoadingConfig.add(viewManagerName);\n if (result != null && result.viewConfig != null) {\n getConstants()[viewManagerName] = result.viewConfig;\n lazifyViewManagerConfig(viewManagerName);\n }\n }\n\n return viewManagerConfigs[viewManagerName];\n}\n\n/* $FlowFixMe[cannot-spread-interface] (>=0.123.0 site=react_native_fb) This\n * comment suppresses an error found when Flow v0.123.0 was deployed. To see\n * the error, delete this comment and run Flow. */\nconst UIManagerJS = {\n ...NativeUIManager,\n createView(\n reactTag: ?number,\n viewName: string,\n rootTag: RootTag,\n props: Object,\n ): void {\n if (Platform.OS === 'ios' && viewManagerConfigs[viewName] === undefined) {\n // This is necessary to force the initialization of native viewManager\n // classes in iOS when using static ViewConfigs\n getViewManagerConfig(viewName);\n }\n\n NativeUIManager.createView(reactTag, viewName, rootTag, props);\n },\n getConstants(): Object {\n return getConstants();\n },\n getViewManagerConfig(viewManagerName: string): any {\n return getViewManagerConfig(viewManagerName);\n },\n hasViewManagerConfig(viewManagerName: string): boolean {\n return getViewManagerConfig(viewManagerName) != null;\n },\n};\n\n// TODO (T45220498): Remove this.\n// 3rd party libs may be calling `NativeModules.UIManager.getViewManagerConfig()`\n// instead of `UIManager.getViewManagerConfig()` off UIManager.js.\n// This is a workaround for now.\n// $FlowFixMe[prop-missing]\nNativeUIManager.getViewManagerConfig = UIManagerJS.getViewManagerConfig;\n\nfunction lazifyViewManagerConfig(viewName: string) {\n const viewConfig = getConstants()[viewName];\n viewManagerConfigs[viewName] = viewConfig;\n if (viewConfig.Manager) {\n defineLazyObjectProperty(viewConfig, 'Constants', {\n get: () => {\n const viewManager = NativeModules[viewConfig.Manager];\n const constants: {[string]: mixed} = {};\n viewManager &&\n Object.keys(viewManager).forEach(key => {\n const value = viewManager[key];\n if (typeof value !== 'function') {\n constants[key] = value;\n }\n });\n return constants;\n },\n });\n defineLazyObjectProperty(viewConfig, 'Commands', {\n get: () => {\n const viewManager = NativeModules[viewConfig.Manager];\n const commands: {[string]: number} = {};\n let index = 0;\n viewManager &&\n Object.keys(viewManager).forEach(key => {\n const value = viewManager[key];\n if (typeof value === 'function') {\n commands[key] = index++;\n }\n });\n return commands;\n },\n });\n }\n}\n\n/**\n * Copies the ViewManager constants and commands into UIManager. This is\n * only needed for iOS, which puts the constants in the ViewManager\n * namespace instead of UIManager, unlike Android.\n */\nif (Platform.OS === 'ios') {\n Object.keys(getConstants()).forEach(viewName => {\n lazifyViewManagerConfig(viewName);\n });\n} else if (getConstants().ViewManagerNames) {\n NativeUIManager.getConstants().ViewManagerNames.forEach(viewManagerName => {\n defineLazyObjectProperty(NativeUIManager, viewManagerName, {\n get: () => NativeUIManager.getConstantsForViewManager(viewManagerName),\n });\n });\n}\n\nif (!global.nativeCallSyncHook) {\n Object.keys(getConstants()).forEach(viewManagerName => {\n if (!UIManagerProperties.includes(viewManagerName)) {\n if (!viewManagerConfigs[viewManagerName]) {\n viewManagerConfigs[viewManagerName] = getConstants()[viewManagerName];\n }\n defineLazyObjectProperty(NativeUIManager, viewManagerName, {\n get: () => {\n console.warn(\n `Accessing view manager configs directly off UIManager via UIManager['${viewManagerName}'] ` +\n `is no longer supported. Use UIManager.getViewManagerConfig('${viewManagerName}') instead.`,\n );\n\n return UIManagerJS.getViewManagerConfig(viewManagerName);\n },\n });\n }\n });\n}\n\nmodule.exports = UIManagerJS;\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 * @flow\n * @format\n */\n\nimport type {RootTag} from '../TurboModule/RCTExport';\nimport type {TurboModule} from '../TurboModule/RCTExport';\n\nimport * as TurboModuleRegistry from '../TurboModule/TurboModuleRegistry';\n\nexport interface Spec extends TurboModule {\n +getConstants: () => Object;\n +getConstantsForViewManager: (viewManagerName: string) => Object;\n +getDefaultEventTypes: () => Array;\n +lazilyLoadView: (name: string) => Object; // revisit return\n +createView: (\n reactTag: ?number,\n viewName: string,\n rootTag: RootTag,\n props: Object,\n ) => void;\n +updateView: (reactTag: number, viewName: string, props: Object) => void;\n +focus: (reactTag: ?number) => void;\n +blur: (reactTag: ?number) => void;\n +findSubviewIn: (\n reactTag: ?number,\n point: Array,\n callback: (\n nativeViewTag: number,\n left: number,\n top: number,\n width: number,\n height: number,\n ) => void,\n ) => void;\n +dispatchViewManagerCommand: (\n reactTag: ?number,\n commandID: number,\n commandArgs: ?Array,\n ) => void;\n +measure: (\n reactTag: number,\n callback: (\n left: number,\n top: number,\n width: number,\n height: number,\n pageX: number,\n pageY: number,\n ) => void,\n ) => void;\n +measureInWindow: (\n reactTag: number,\n callback: (x: number, y: number, width: number, height: number) => void,\n ) => void;\n +viewIsDescendantOf: (\n reactTag: ?number,\n ancestorReactTag: ?number,\n callback: (result: Array) => void,\n ) => void;\n +measureLayout: (\n reactTag: number,\n ancestorReactTag: number,\n errorCallback: (error: Object) => void,\n callback: (\n left: number,\n top: number,\n width: number,\n height: number,\n ) => void,\n ) => void;\n +measureLayoutRelativeToParent: (\n reactTag: number,\n errorCallback: (error: Object) => void,\n callback: (\n left: number,\n top: number,\n width: number,\n height: number,\n ) => void,\n ) => void;\n +setJSResponder: (reactTag: ?number, blockNativeResponder: boolean) => void;\n +clearJSResponder: () => void;\n +configureNextLayoutAnimation: (\n config: Object,\n callback: () => void, // check what is returned here\n errorCallback: (error: Object) => void,\n ) => void;\n +removeSubviewsFromContainerWithID: (containerID: number) => void;\n +replaceExistingNonRootView: (\n reactTag: ?number,\n newReactTag: ?number,\n ) => void;\n +setChildren: (containerTag: ?number, reactTags: Array) => void;\n +manageChildren: (\n containerTag: ?number,\n moveFromIndices: Array,\n moveToIndices: Array,\n addChildReactTags: Array,\n addAtIndices: Array,\n removeAtIndices: Array,\n ) => void;\n\n // Android only\n +setLayoutAnimationEnabledExperimental: (enabled: boolean) => void;\n +sendAccessibilityEvent: (reactTag: ?number, eventType: number) => void;\n +showPopupMenu: (\n reactTag: ?number,\n items: Array,\n error: (error: Object) => void,\n success: (event: string, selected?: number) => void,\n ) => void;\n +dismissPopupMenu: () => void;\n}\n\nexport default (TurboModuleRegistry.getEnforcing('UIManager'): Spec);\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 * @flow strict\n * @format\n */\n\n'use strict';\n\n/**\n * The list of non-ViewManager related UIManager properties.\n *\n * In an effort to improve startup performance by lazily loading view managers,\n * the interface to access view managers will change from\n * UIManager['viewManagerName'] to UIManager.getViewManagerConfig('viewManagerName').\n * By using a function call instead of a property access, the UIManager will\n * be able to initialize and load the required view manager from native\n * synchronously. All of React Native's core components have been updated to\n * use getViewManagerConfig(). For the next few releases, any usage of\n * UIManager['viewManagerName'] will result in a warning. Because React Native\n * does not support Proxy objects, a view manager access is implied if any of\n * UIManager's properties that are not one of the properties below is being\n * accessed. Once UIManager property accesses for view managers has been fully\n * deprecated, this file will also be removed.\n */\nmodule.exports = [\n 'clearJSResponder',\n 'configureNextLayoutAnimation',\n 'createView',\n 'dismissPopupMenu',\n 'dispatchViewManagerCommand',\n 'findSubviewIn',\n 'getConstantsForViewManager',\n 'getDefaultEventTypes',\n 'manageChildren',\n 'measure',\n 'measureInWindow',\n 'measureLayout',\n 'measureLayoutRelativeToParent',\n 'removeRootView',\n 'removeSubviewsFromContainerWithID',\n 'replaceExistingNonRootView',\n 'sendAccessibilityEvent',\n 'setChildren',\n 'setJSResponder',\n 'setLayoutAnimationEnabledExperimental',\n 'showPopupMenu',\n 'updateView',\n 'viewIsDescendantOf',\n 'PopupMenu',\n 'LazyViewManagersEnabled',\n 'ViewManagerNames',\n 'StyleConstants',\n 'AccessibilityEventTypes',\n 'UIView',\n 'getViewManagerConfig',\n 'hasViewManagerConfig',\n 'blur',\n 'focus',\n 'genericBubblingEventTypes',\n 'genericDirectEventTypes',\n 'lazilyLoadView',\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 * @flow strict\n * @format\n */\n\n'use strict';\n\nimport type {\n InternalInstanceHandle,\n LayoutAnimationConfig,\n MeasureInWindowOnSuccessCallback,\n MeasureLayoutOnSuccessCallback,\n MeasureOnSuccessCallback,\n Node,\n} from '../Renderer/shims/ReactNativeTypes';\nimport type {RootTag} from '../Types/RootTagTypes';\n\nimport defineLazyObjectProperty from '../Utilities/defineLazyObjectProperty';\n\nexport type NodeSet = Array;\nexport type NodeProps = {...};\nexport interface Spec {\n +createNode: (\n reactTag: number,\n viewName: string,\n rootTag: RootTag,\n props: NodeProps,\n instanceHandle: InternalInstanceHandle,\n ) => Node;\n +cloneNode: (node: Node) => Node;\n +cloneNodeWithNewChildren: (node: Node) => Node;\n +cloneNodeWithNewProps: (node: Node, newProps: NodeProps) => Node;\n +cloneNodeWithNewChildrenAndProps: (node: Node, newProps: NodeProps) => Node;\n +createChildSet: (rootTag: RootTag) => NodeSet;\n +appendChild: (parentNode: Node, child: Node) => Node;\n +appendChildToSet: (childSet: NodeSet, child: Node) => void;\n +completeRoot: (rootTag: RootTag, childSet: NodeSet) => void;\n +measure: (node: Node, callback: MeasureOnSuccessCallback) => void;\n +measureInWindow: (\n node: Node,\n callback: MeasureInWindowOnSuccessCallback,\n ) => void;\n +measureLayout: (\n node: Node,\n relativeNode: Node,\n onFail: () => void,\n onSuccess: MeasureLayoutOnSuccessCallback,\n ) => void;\n +configureNextLayoutAnimation: (\n config: LayoutAnimationConfig,\n callback: () => void, // check what is returned here\n errorCallback: () => void,\n ) => void;\n +sendAccessibilityEvent: (node: Node, eventType: string) => void;\n +findShadowNodeByTag_DEPRECATED: (reactTag: number) => ?Node;\n +setNativeProps: (node: Node, newProps: NodeProps) => void;\n +dispatchCommand: (\n node: Node,\n commandName: string,\n args: Array,\n ) => void;\n\n /**\n * Support methods for the DOM-compatible APIs.\n */\n +getParentNode: (node: Node) => ?InternalInstanceHandle;\n +getChildNodes: (node: Node) => $ReadOnlyArray;\n +isConnected: (node: Node) => boolean;\n +compareDocumentPosition: (node: Node, otherNode: Node) => number;\n +getTextContent: (node: Node) => string;\n +getBoundingClientRect: (\n node: Node,\n includeTransform: boolean,\n ) => ?[\n /* x: */ number,\n /* y: */ number,\n /* width: */ number,\n /* height: */ number,\n ];\n +getOffset: (\n node: Node,\n ) => ?[\n /* offsetParent: */ InternalInstanceHandle,\n /* offsetTop: */ number,\n /* offsetLeft: */ number,\n ];\n +getScrollPosition: (\n node: Node,\n ) => ?[/* scrollLeft: */ number, /* scrollTop: */ number];\n +getScrollSize: (\n node: Node,\n ) => ?[/* scrollWidth: */ number, /* scrollHeight: */ number];\n +getInnerSize: (node: Node) => ?[/* width: */ number, /* height: */ number];\n +getBorderSize: (\n node: Node,\n ) => ?[\n /* topWidth: */ number,\n /* rightWidth: */ number,\n /* bottomWidth: */ number,\n /* leftWidth: */ number,\n ];\n +getTagName: (node: Node) => string;\n\n /**\n * Support methods for the Pointer Capture APIs.\n */\n +hasPointerCapture: (node: Node, pointerId: number) => boolean;\n +setPointerCapture: (node: Node, pointerId: number) => void;\n +releasePointerCapture: (node: Node, pointerId: number) => void;\n}\n\nlet nativeFabricUIManagerProxy: ?Spec;\n\n// This is a list of all the methods in global.nativeFabricUIManager that we'll\n// cache in JavaScript, as the current implementation of the binding\n// creates a new host function every time methods are accessed.\nconst CACHED_PROPERTIES = [\n 'createNode',\n 'cloneNode',\n 'cloneNodeWithNewChildren',\n 'cloneNodeWithNewProps',\n 'cloneNodeWithNewChildrenAndProps',\n 'createChildSet',\n 'appendChild',\n 'appendChildToSet',\n 'completeRoot',\n 'measure',\n 'measureInWindow',\n 'measureLayout',\n 'configureNextLayoutAnimation',\n 'sendAccessibilityEvent',\n 'findShadowNodeByTag_DEPRECATED',\n 'setNativeProps',\n 'dispatchCommand',\n 'getParentNode',\n 'getChildNodes',\n 'isConnected',\n 'compareDocumentPosition',\n 'getTextContent',\n 'getBoundingClientRect',\n 'getOffset',\n 'getScrollPosition',\n 'getScrollSize',\n 'getInnerSize',\n 'getBorderSize',\n 'getTagName',\n 'hasPointerCapture',\n 'setPointerCapture',\n 'releasePointerCapture',\n];\n\n// This is exposed as a getter because apps using the legacy renderer AND\n// Fabric can define the binding lazily. If we evaluated the global and cached\n// it in the module we might be caching an `undefined` value before it is set.\nexport function getFabricUIManager(): ?Spec {\n if (\n nativeFabricUIManagerProxy == null &&\n global.nativeFabricUIManager != null\n ) {\n nativeFabricUIManagerProxy = createProxyWithCachedProperties(\n global.nativeFabricUIManager,\n CACHED_PROPERTIES,\n );\n }\n return nativeFabricUIManagerProxy;\n}\n\n/**\n *\n * Returns an object that caches the specified properties the first time they\n * are accessed, and falls back to the original object for other properties.\n */\nfunction createProxyWithCachedProperties(\n implementation: Spec,\n propertiesToCache: $ReadOnlyArray,\n): Spec {\n const proxy = Object.create(implementation);\n for (const propertyName of propertiesToCache) {\n defineLazyObjectProperty(proxy, propertyName, {\n // $FlowExpectedError[prop-missing]\n get: () => implementation[propertyName],\n });\n }\n return proxy;\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 strict-local\n * @flow\n */\n\nimport type {AnyAttributeType} from '../../Renderer/shims/ReactNativeTypes';\n\nimport processAspectRatio from '../../StyleSheet/processAspectRatio';\nimport processColor from '../../StyleSheet/processColor';\nimport processFontVariant from '../../StyleSheet/processFontVariant';\nimport processTransform from '../../StyleSheet/processTransform';\nimport processTransformOrigin from '../../StyleSheet/processTransformOrigin';\nimport sizesDiffer from '../../Utilities/differ/sizesDiffer';\n\nconst colorAttributes = {process: processColor};\n\nconst ReactNativeStyleAttributes: {[string]: AnyAttributeType, ...} = {\n /**\n * Layout\n */\n alignContent: true,\n alignItems: true,\n alignSelf: true,\n aspectRatio: {process: processAspectRatio},\n borderBottomWidth: true,\n borderEndWidth: true,\n borderLeftWidth: true,\n borderRightWidth: true,\n borderStartWidth: true,\n borderTopWidth: true,\n columnGap: true,\n borderWidth: true,\n bottom: true,\n direction: true,\n display: true,\n end: true,\n flex: true,\n flexBasis: true,\n flexDirection: true,\n flexGrow: true,\n flexShrink: true,\n flexWrap: true,\n gap: true,\n height: true,\n inset: true,\n insetBlock: true,\n insetBlockEnd: true,\n insetBlockStart: true,\n insetInline: true,\n insetInlineEnd: true,\n insetInlineStart: true,\n justifyContent: true,\n left: true,\n margin: true,\n marginBlock: true,\n marginBlockEnd: true,\n marginBlockStart: true,\n marginBottom: true,\n marginEnd: true,\n marginHorizontal: true,\n marginInline: true,\n marginInlineEnd: true,\n marginInlineStart: true,\n marginLeft: true,\n marginRight: true,\n marginStart: true,\n marginTop: true,\n marginVertical: true,\n maxHeight: true,\n maxWidth: true,\n minHeight: true,\n minWidth: true,\n overflow: true,\n padding: true,\n paddingBlock: true,\n paddingBlockEnd: true,\n paddingBlockStart: true,\n paddingBottom: true,\n paddingEnd: true,\n paddingHorizontal: true,\n paddingInline: true,\n paddingInlineEnd: true,\n paddingInlineStart: true,\n paddingLeft: true,\n paddingRight: true,\n paddingStart: true,\n paddingTop: true,\n paddingVertical: true,\n position: true,\n right: true,\n rowGap: true,\n start: true,\n top: true,\n width: true,\n zIndex: true,\n\n /**\n * Shadow\n */\n elevation: true,\n shadowColor: colorAttributes,\n shadowOffset: {diff: sizesDiffer},\n shadowOpacity: true,\n shadowRadius: true,\n\n /**\n * Transform\n */\n transform: {process: processTransform},\n transformOrigin: {process: processTransformOrigin},\n\n /**\n * View\n */\n backfaceVisibility: true,\n backgroundColor: colorAttributes,\n borderBlockColor: colorAttributes,\n borderBlockEndColor: colorAttributes,\n borderBlockStartColor: colorAttributes,\n borderBottomColor: colorAttributes,\n borderBottomEndRadius: true,\n borderBottomLeftRadius: true,\n borderBottomRightRadius: true,\n borderBottomStartRadius: true,\n borderColor: colorAttributes,\n borderCurve: true,\n borderEndColor: colorAttributes,\n borderEndEndRadius: true,\n borderEndStartRadius: true,\n borderLeftColor: colorAttributes,\n borderRadius: true,\n borderRightColor: colorAttributes,\n borderStartColor: colorAttributes,\n borderStartEndRadius: true,\n borderStartStartRadius: true,\n borderStyle: true,\n borderTopColor: colorAttributes,\n borderTopEndRadius: true,\n borderTopLeftRadius: true,\n borderTopRightRadius: true,\n borderTopStartRadius: true,\n opacity: true,\n pointerEvents: true,\n\n /**\n * Text\n */\n color: colorAttributes,\n fontFamily: true,\n fontSize: true,\n fontStyle: true,\n fontVariant: {process: processFontVariant},\n fontWeight: true,\n includeFontPadding: true,\n letterSpacing: true,\n lineHeight: true,\n textAlign: true,\n textAlignVertical: true,\n textDecorationColor: colorAttributes,\n textDecorationLine: true,\n textDecorationStyle: true,\n textShadowColor: colorAttributes,\n textShadowOffset: true,\n textShadowRadius: true,\n textTransform: true,\n userSelect: true,\n verticalAlign: true,\n writingDirection: true,\n\n /**\n * Image\n */\n overlayColor: colorAttributes,\n resizeMode: true,\n tintColor: colorAttributes,\n objectFit: true,\n};\n\nmodule.exports = ReactNativeStyleAttributes;\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 * @flow\n */\n\n'use strict';\n\nconst invariant = require('invariant');\n\nfunction processAspectRatio(aspectRatio?: number | string): ?number {\n if (typeof aspectRatio === 'number') {\n return aspectRatio;\n }\n if (typeof aspectRatio !== 'string') {\n if (__DEV__) {\n invariant(\n !aspectRatio,\n 'aspectRatio must either be a number, a ratio string or `auto`. You passed: %s',\n aspectRatio,\n );\n }\n return;\n }\n\n const matches = aspectRatio.split('/').map(s => s.trim());\n\n if (matches.includes('auto')) {\n if (__DEV__) {\n invariant(\n matches.length,\n 'aspectRatio does not support `auto `. You passed: %s',\n aspectRatio,\n );\n }\n return;\n }\n\n const hasNonNumericValues = matches.some(n => Number.isNaN(Number(n)));\n if (__DEV__) {\n invariant(\n !hasNonNumericValues && (matches.length === 1 || matches.length === 2),\n 'aspectRatio must either be a number, a ratio string or `auto`. You passed: %s',\n aspectRatio,\n );\n }\n\n if (hasNonNumericValues) {\n return;\n }\n\n if (matches.length === 2) {\n return Number(matches[0]) / Number(matches[1]);\n }\n\n return Number(matches[0]);\n}\n\nmodule.exports = processAspectRatio;\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 * @flow strict-local\n */\n\n'use strict';\n\nimport type {ColorValue, NativeColorValue} from './StyleSheet';\n\nconst Platform = require('../Utilities/Platform');\nconst normalizeColor = require('./normalizeColor');\n\nexport type ProcessedColorValue = number | NativeColorValue;\n\n/* eslint no-bitwise: 0 */\nfunction processColor(color?: ?(number | ColorValue)): ?ProcessedColorValue {\n if (color === undefined || color === null) {\n return color;\n }\n\n let normalizedColor = normalizeColor(color);\n if (normalizedColor === null || normalizedColor === undefined) {\n return undefined;\n }\n\n if (typeof normalizedColor === 'object') {\n const processColorObject =\n require('./PlatformColorValueTypes').processColorObject;\n\n const processedColorObj = processColorObject(normalizedColor);\n\n if (processedColorObj != null) {\n return processedColorObj;\n }\n }\n\n if (typeof normalizedColor !== 'number') {\n return null;\n }\n\n // Converts 0xrrggbbaa into 0xaarrggbb\n normalizedColor = ((normalizedColor << 24) | (normalizedColor >>> 8)) >>> 0;\n\n if (Platform.OS === 'android') {\n // Android use 32 bit *signed* integer to represent the color\n // We utilize the fact that bitwise operations in JS also operates on\n // signed 32 bit integers, so that we can use those to convert from\n // *unsigned* to *signed* 32bit int that way.\n normalizedColor = normalizedColor | 0x0;\n }\n return normalizedColor;\n}\n\nexport default processColor;\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 * @flow\n */\n\n/* eslint no-bitwise: 0 */\n\nimport type {ProcessedColorValue} from './processColor';\nimport type {ColorValue} from './StyleSheet';\n\nimport _normalizeColor from '@react-native/normalize-colors';\n\nfunction normalizeColor(\n color: ?(ColorValue | ProcessedColorValue),\n): ?ProcessedColorValue {\n if (typeof color === 'object' && color != null) {\n const {normalizeColorObject} = require('./PlatformColorValueTypes');\n const normalizedColor = normalizeColorObject(color);\n if (normalizedColor != null) {\n return normalizedColor;\n }\n }\n\n if (typeof color === 'string' || typeof color === 'number') {\n return _normalizeColor(color);\n }\n}\n\nmodule.exports = normalizeColor;\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","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This 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 * @flow strict-local\n */\n\nimport type {ProcessedColorValue} from './processColor';\nimport type {ColorValue, NativeColorValue} from './StyleSheet';\n\n/** The actual type of the opaque NativeColorValue on iOS platform */\ntype LocalNativeColorValue = {\n semantic?: Array,\n dynamic?: {\n light: ?(ColorValue | ProcessedColorValue),\n dark: ?(ColorValue | ProcessedColorValue),\n highContrastLight?: ?(ColorValue | ProcessedColorValue),\n highContrastDark?: ?(ColorValue | ProcessedColorValue),\n },\n};\n\nexport const PlatformColor = (...names: Array): ColorValue => {\n // $FlowExpectedError[incompatible-return] LocalNativeColorValue is the iOS LocalNativeColorValue type\n return ({semantic: names}: LocalNativeColorValue);\n};\n\nexport type DynamicColorIOSTuplePrivate = {\n light: ColorValue,\n dark: ColorValue,\n highContrastLight?: ColorValue,\n highContrastDark?: ColorValue,\n};\n\nexport const DynamicColorIOSPrivate = (\n tuple: DynamicColorIOSTuplePrivate,\n): ColorValue => {\n return ({\n dynamic: {\n light: tuple.light,\n dark: tuple.dark,\n highContrastLight: tuple.highContrastLight,\n highContrastDark: tuple.highContrastDark,\n },\n /* $FlowExpectedError[incompatible-return]\n * LocalNativeColorValue is the actual type of the opaque NativeColorValue on iOS platform */\n }: LocalNativeColorValue);\n};\n\nconst _normalizeColorObject = (\n color: LocalNativeColorValue,\n): ?LocalNativeColorValue => {\n if ('semantic' in color) {\n // an ios semantic color\n return color;\n } else if ('dynamic' in color && color.dynamic !== undefined) {\n const normalizeColor = require('./normalizeColor');\n\n // a dynamic, appearance aware color\n const dynamic = color.dynamic;\n const dynamicColor: LocalNativeColorValue = {\n dynamic: {\n // $FlowFixMe[incompatible-use]\n light: normalizeColor(dynamic.light),\n // $FlowFixMe[incompatible-use]\n dark: normalizeColor(dynamic.dark),\n // $FlowFixMe[incompatible-use]\n highContrastLight: normalizeColor(dynamic.highContrastLight),\n // $FlowFixMe[incompatible-use]\n highContrastDark: normalizeColor(dynamic.highContrastDark),\n },\n };\n return dynamicColor;\n }\n return null;\n};\n\nexport const normalizeColorObject: (\n color: NativeColorValue,\n /* $FlowExpectedError[incompatible-type]\n * LocalNativeColorValue is the actual type of the opaque NativeColorValue on iOS platform */\n) => ?ProcessedColorValue = _normalizeColorObject;\n\nconst _processColorObject = (\n color: LocalNativeColorValue,\n): ?LocalNativeColorValue => {\n if ('dynamic' in color && color.dynamic != null) {\n const processColor = require('./processColor').default;\n const dynamic = color.dynamic;\n const dynamicColor: LocalNativeColorValue = {\n dynamic: {\n // $FlowFixMe[incompatible-use]\n light: processColor(dynamic.light),\n // $FlowFixMe[incompatible-use]\n dark: processColor(dynamic.dark),\n // $FlowFixMe[incompatible-use]\n highContrastLight: processColor(dynamic.highContrastLight),\n // $FlowFixMe[incompatible-use]\n highContrastDark: processColor(dynamic.highContrastDark),\n },\n };\n return dynamicColor;\n }\n return color;\n};\n\nexport const processColorObject: (\n color: NativeColorValue,\n /* $FlowExpectedError[incompatible-type]\n * LocalNativeColorValue is the actual type of the opaque NativeColorValue on iOS platform */\n) => ?NativeColorValue = _processColorObject;\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 * @flow\n */\n\n'use strict';\n\nimport type {____FontVariantArray_Internal} from './StyleSheetTypes';\n\nfunction processFontVariant(\n fontVariant: ____FontVariantArray_Internal | string,\n): ?____FontVariantArray_Internal {\n if (Array.isArray(fontVariant)) {\n return fontVariant;\n }\n\n // $FlowFixMe[incompatible-type]\n const match: ?____FontVariantArray_Internal = fontVariant\n .split(' ')\n .filter(Boolean);\n\n return match;\n}\n\nmodule.exports = processFontVariant;\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 * @flow\n */\n\n'use strict';\n\nconst stringifySafe = require('../Utilities/stringifySafe').default;\nconst invariant = require('invariant');\n\n/**\n * Generate a transform matrix based on the provided transforms, and use that\n * within the style object instead.\n *\n * This allows us to provide an API that is similar to CSS, where transforms may\n * be applied in an arbitrary order, and yet have a universal, singular\n * interface to native code.\n */\nfunction processTransform(\n transform: Array | string,\n): Array | Array {\n if (typeof transform === 'string') {\n const regex = new RegExp(/(\\w+)\\(([^)]+)\\)/g);\n let transformArray: Array = [];\n let matches;\n\n while ((matches = regex.exec(transform))) {\n const {key, value} = _getKeyAndValueFromCSSTransform(\n matches[1],\n matches[2],\n );\n\n if (value !== undefined) {\n transformArray.push({[key]: value});\n }\n }\n transform = transformArray;\n }\n\n if (__DEV__) {\n _validateTransforms(transform);\n }\n\n return transform;\n}\n\nconst _getKeyAndValueFromCSSTransform: (\n key:\n | string\n | $TEMPORARY$string<'matrix'>\n | $TEMPORARY$string<'perspective'>\n | $TEMPORARY$string<'rotate'>\n | $TEMPORARY$string<'rotateX'>\n | $TEMPORARY$string<'rotateY'>\n | $TEMPORARY$string<'rotateZ'>\n | $TEMPORARY$string<'scale'>\n | $TEMPORARY$string<'scaleX'>\n | $TEMPORARY$string<'scaleY'>\n | $TEMPORARY$string<'skewX'>\n | $TEMPORARY$string<'skewY'>\n | $TEMPORARY$string<'translate'>\n | $TEMPORARY$string<'translate3d'>\n | $TEMPORARY$string<'translateX'>\n | $TEMPORARY$string<'translateY'>,\n args: string,\n) => {key: string, value?: number[] | number | string} = (key, args) => {\n const argsWithUnitsRegex = new RegExp(/([+-]?\\d+(\\.\\d+)?)([a-zA-Z]+)?/g);\n\n switch (key) {\n case 'matrix':\n return {key, value: args.match(/[+-]?\\d+(\\.\\d+)?/g)?.map(Number)};\n case 'translate':\n case 'translate3d':\n const parsedArgs = [];\n let missingUnitOfMeasurement = false;\n\n let matches;\n while ((matches = argsWithUnitsRegex.exec(args))) {\n const value = Number(matches[1]);\n const unitOfMeasurement = matches[3];\n\n if (value !== 0 && !unitOfMeasurement) {\n missingUnitOfMeasurement = true;\n }\n\n parsedArgs.push(value);\n }\n\n if (__DEV__) {\n invariant(\n !missingUnitOfMeasurement,\n `Transform with key ${key} must have units unless the provided value is 0, found %s`,\n `${key}(${args})`,\n );\n\n if (key === 'translate') {\n invariant(\n parsedArgs?.length === 1 || parsedArgs?.length === 2,\n 'Transform with key translate must be an string with 1 or 2 parameters, found %s: %s',\n parsedArgs?.length,\n `${key}(${args})`,\n );\n } else {\n invariant(\n parsedArgs?.length === 3,\n 'Transform with key translate3d must be an string with 3 parameters, found %s: %s',\n parsedArgs?.length,\n `${key}(${args})`,\n );\n }\n }\n\n if (parsedArgs?.length === 1) {\n parsedArgs.push(0);\n }\n\n return {key: 'translate', value: parsedArgs};\n case 'translateX':\n case 'translateY':\n case 'perspective':\n const argMatches = argsWithUnitsRegex.exec(args);\n\n if (!argMatches?.length) {\n return {key, value: undefined};\n }\n\n const value = Number(argMatches[1]);\n const unitOfMeasurement = argMatches[3];\n\n if (__DEV__) {\n invariant(\n value === 0 || unitOfMeasurement,\n `Transform with key ${key} must have units unless the provided value is 0, found %s`,\n `${key}(${args})`,\n );\n }\n\n return {key, value};\n\n default:\n return {key, value: !isNaN(args) ? Number(args) : args};\n }\n};\n\nfunction _validateTransforms(transform: Array): void {\n transform.forEach(transformation => {\n const keys = Object.keys(transformation);\n invariant(\n keys.length === 1,\n 'You must specify exactly one property per transform object. Passed properties: %s',\n stringifySafe(transformation),\n );\n const key = keys[0];\n const value = transformation[key];\n _validateTransform(key, value, transformation);\n });\n}\n\nfunction _validateTransform(\n key:\n | string\n | $TEMPORARY$string<'matrix'>\n | $TEMPORARY$string<'perspective'>\n | $TEMPORARY$string<'rotate'>\n | $TEMPORARY$string<'rotateX'>\n | $TEMPORARY$string<'rotateY'>\n | $TEMPORARY$string<'rotateZ'>\n | $TEMPORARY$string<'scale'>\n | $TEMPORARY$string<'scaleX'>\n | $TEMPORARY$string<'scaleY'>\n | $TEMPORARY$string<'skewX'>\n | $TEMPORARY$string<'skewY'>\n | $TEMPORARY$string<'translate'>\n | $TEMPORARY$string<'translateX'>\n | $TEMPORARY$string<'translateY'>,\n value: any | number | string,\n transformation: any,\n) {\n invariant(\n !value.getValue,\n 'You passed an Animated.Value to a normal component. ' +\n 'You need to wrap that component in an Animated. For example, ' +\n 'replace by .',\n );\n\n const multivalueTransforms = ['matrix', 'translate'];\n if (multivalueTransforms.indexOf(key) !== -1) {\n invariant(\n Array.isArray(value),\n 'Transform with key of %s must have an array as the value: %s',\n key,\n stringifySafe(transformation),\n );\n }\n switch (key) {\n case 'matrix':\n invariant(\n value.length === 9 || value.length === 16,\n 'Matrix transform must have a length of 9 (2d) or 16 (3d). ' +\n 'Provided matrix has a length of %s: %s',\n /* $FlowFixMe[prop-missing] (>=0.84.0 site=react_native_fb) This\n * comment suppresses an error found when Flow v0.84 was deployed. To\n * see the error, delete this comment and run Flow. */\n value.length,\n stringifySafe(transformation),\n );\n break;\n case 'translate':\n invariant(\n value.length === 2 || value.length === 3,\n 'Transform with key translate must be an array of length 2 or 3, found %s: %s',\n /* $FlowFixMe[prop-missing] (>=0.84.0 site=react_native_fb) This\n * comment suppresses an error found when Flow v0.84 was deployed. To\n * see the error, delete this comment and run Flow. */\n value.length,\n stringifySafe(transformation),\n );\n break;\n case 'rotateX':\n case 'rotateY':\n case 'rotateZ':\n case 'rotate':\n case 'skewX':\n case 'skewY':\n invariant(\n typeof value === 'string',\n 'Transform with key of \"%s\" must be a string: %s',\n key,\n stringifySafe(transformation),\n );\n invariant(\n value.indexOf('deg') > -1 || value.indexOf('rad') > -1,\n 'Rotate transform must be expressed in degrees (deg) or radians ' +\n '(rad): %s',\n stringifySafe(transformation),\n );\n break;\n case 'perspective':\n invariant(\n typeof value === 'number',\n 'Transform with key of \"%s\" must be a number: %s',\n key,\n stringifySafe(transformation),\n );\n invariant(\n value !== 0,\n 'Transform with key of \"%s\" cannot be zero: %s',\n key,\n stringifySafe(transformation),\n );\n break;\n case 'translateX':\n case 'translateY':\n case 'scale':\n case 'scaleX':\n case 'scaleY':\n invariant(\n typeof value === 'number',\n 'Transform with key of \"%s\" must be a number: %s',\n key,\n stringifySafe(transformation),\n );\n break;\n default:\n invariant(\n false,\n 'Invalid transform %s: %s',\n key,\n stringifySafe(transformation),\n );\n }\n}\n\nmodule.exports = processTransform;\n","var toPropertyKey = require(\"./toPropertyKey.js\");\nfunction _defineProperty(obj, key, value) {\n key = toPropertyKey(key);\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n return obj;\n}\nmodule.exports = _defineProperty, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This 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 * @flow\n */\n\nimport invariant from 'invariant';\n\nconst INDEX_X = 0;\nconst INDEX_Y = 1;\nconst INDEX_Z = 2;\n\n/* eslint-disable no-labels */\nexport default function processTransformOrigin(\n transformOrigin: Array | string,\n): Array {\n if (typeof transformOrigin === 'string') {\n const transformOriginString = transformOrigin;\n const regex = /(top|bottom|left|right|center|\\d+(?:%|px)|0)/gi;\n const transformOriginArray: Array = ['50%', '50%', 0];\n\n let index = INDEX_X;\n let matches;\n outer: while ((matches = regex.exec(transformOriginString))) {\n let nextIndex = index + 1;\n\n const value = matches[0];\n const valueLower = value.toLowerCase();\n\n switch (valueLower) {\n case 'left':\n case 'right': {\n invariant(\n index === INDEX_X,\n 'Transform-origin %s can only be used for x-position',\n value,\n );\n transformOriginArray[INDEX_X] = valueLower === 'left' ? 0 : '100%';\n break;\n }\n case 'top':\n case 'bottom': {\n invariant(\n index !== INDEX_Z,\n 'Transform-origin %s can only be used for y-position',\n value,\n );\n transformOriginArray[INDEX_Y] = valueLower === 'top' ? 0 : '100%';\n\n // Handle [[ center | left | right ] && [ center | top | bottom ]] ?\n if (index === INDEX_X) {\n const horizontal = regex.exec(transformOriginString);\n if (horizontal == null) {\n break outer;\n }\n\n switch (horizontal[0].toLowerCase()) {\n case 'left':\n transformOriginArray[INDEX_X] = 0;\n break;\n case 'right':\n transformOriginArray[INDEX_X] = '100%';\n break;\n case 'center':\n transformOriginArray[INDEX_X] = '50%';\n break;\n default:\n invariant(\n false,\n 'Could not parse transform-origin: %s',\n transformOriginString,\n );\n }\n nextIndex = INDEX_Z;\n }\n\n break;\n }\n case 'center': {\n invariant(\n index !== INDEX_Z,\n 'Transform-origin value %s cannot be used for z-position',\n value,\n );\n transformOriginArray[index] = '50%';\n break;\n }\n default: {\n if (value.endsWith('%')) {\n transformOriginArray[index] = value;\n } else {\n transformOriginArray[index] = parseFloat(value); // Remove `px`\n }\n break;\n }\n }\n\n index = nextIndex;\n }\n\n transformOrigin = transformOriginArray;\n }\n\n if (__DEV__) {\n _validateTransformOrigin(transformOrigin);\n }\n\n return transformOrigin;\n}\n\nfunction _validateTransformOrigin(transformOrigin: Array) {\n invariant(\n transformOrigin.length === 3,\n 'Transform origin must have exactly 3 values.',\n );\n const [x, y, z] = transformOrigin;\n invariant(\n typeof x === 'number' || (typeof x === 'string' && x.endsWith('%')),\n 'Transform origin x-position must be a number. Passed value: %s.',\n x,\n );\n invariant(\n typeof y === 'number' || (typeof y === 'string' && y.endsWith('%')),\n 'Transform origin y-position must be a number. Passed value: %s.',\n y,\n );\n invariant(\n typeof z === 'number',\n 'Transform origin z-position must be a number. Passed value: %s.',\n z,\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 * @flow strict\n * @format\n */\n\n'use strict';\n\nconst dummySize = {width: undefined, height: undefined};\ntype Size = {width: ?number, height: ?number};\n\nconst sizesDiffer = function (one: Size, two: Size): boolean {\n const defaultedOne = one || dummySize;\n const defaultedTwo = two || dummySize;\n return (\n defaultedOne !== defaultedTwo &&\n (defaultedOne.width !== defaultedTwo.width ||\n defaultedOne.height !== defaultedTwo.height)\n );\n};\n\nmodule.exports = sizesDiffer;\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 * @flow strict\n */\n\n'use strict';\n\n/**\n * Unrolls an array comparison specially for matrices. Prioritizes\n * checking of indices that are most likely to change so that the comparison\n * bails as early as possible.\n *\n * @param {MatrixMath.Matrix} one First matrix.\n * @param {MatrixMath.Matrix} two Second matrix.\n * @return {boolean} Whether or not the two matrices differ.\n */\nconst matricesDiffer = function (\n one: ?Array,\n two: ?Array,\n): boolean {\n if (one === two) {\n return false;\n }\n return (\n !one ||\n !two ||\n one[12] !== two[12] ||\n one[13] !== two[13] ||\n one[14] !== two[14] ||\n one[5] !== two[5] ||\n one[10] !== two[10] ||\n one[0] !== two[0] ||\n one[1] !== two[1] ||\n one[2] !== two[2] ||\n one[3] !== two[3] ||\n one[4] !== two[4] ||\n one[6] !== two[6] ||\n one[7] !== two[7] ||\n one[8] !== two[8] ||\n one[9] !== two[9] ||\n one[11] !== two[11] ||\n one[15] !== two[15]\n );\n};\n\nmodule.exports = matricesDiffer;\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 * @flow\n */\n\n'use strict';\n\ntype Point = {\n x: ?number,\n y: ?number,\n ...\n};\n\nconst dummyPoint = {x: undefined, y: undefined};\n\nconst pointsDiffer = function (one: ?Point, two: ?Point): boolean {\n one = one || dummyPoint;\n two = two || dummyPoint;\n return one !== two && (one.x !== two.x || one.y !== two.y);\n};\n\nmodule.exports = pointsDiffer;\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 * @flow\n */\n\n'use strict';\n\ntype Inset = {\n top: ?number,\n left: ?number,\n right: ?number,\n bottom: ?number,\n ...\n};\n\nconst dummyInsets = {\n top: undefined,\n left: undefined,\n right: undefined,\n bottom: undefined,\n};\n\nconst insetsDiffer = function (one: Inset, two: Inset): boolean {\n one = one || dummyInsets;\n two = two || dummyInsets;\n return (\n one !== two &&\n (one.top !== two.top ||\n one.left !== two.left ||\n one.right !== two.right ||\n one.bottom !== two.bottom)\n );\n};\n\nmodule.exports = insetsDiffer;\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 * @flow strict-local\n */\n\n'use strict';\n\nimport type {ColorValue} from './StyleSheet';\n\nimport processColor, {type ProcessedColorValue} from './processColor';\n\nconst TRANSPARENT = 0; // rgba(0, 0, 0, 0)\n\nfunction processColorArray(\n colors: ?$ReadOnlyArray,\n): ?$ReadOnlyArray {\n return colors == null ? null : colors.map(processColorElement);\n}\n\nfunction processColorElement(color: ColorValue): ProcessedColorValue {\n const value = processColor(color);\n // For invalid colors, fallback to transparent.\n if (value == null) {\n console.error('Invalid value in color array:', color);\n return TRANSPARENT;\n }\n return value;\n}\n\nmodule.exports = processColorArray;\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 * @flow\n */\n\n// Resolves an asset into a `source` for `Image`.\n\n'use strict';\n\nimport type {ResolvedAssetSource} from './AssetSourceResolver';\n\nconst AssetSourceResolver = require('./AssetSourceResolver');\nconst {pickScale} = require('./AssetUtils');\nconst AssetRegistry = require('@react-native/assets-registry/registry');\n\nlet _customSourceTransformer, _serverURL, _scriptURL;\n\nlet _sourceCodeScriptURL: ?string;\nfunction getSourceCodeScriptURL(): ?string {\n if (_sourceCodeScriptURL) {\n return _sourceCodeScriptURL;\n }\n\n let sourceCode =\n global.nativeExtensions && global.nativeExtensions.SourceCode;\n if (!sourceCode) {\n sourceCode = require('../NativeModules/specs/NativeSourceCode').default;\n }\n _sourceCodeScriptURL = sourceCode.getConstants().scriptURL;\n return _sourceCodeScriptURL;\n}\n\nfunction getDevServerURL(): ?string {\n if (_serverURL === undefined) {\n const sourceCodeScriptURL = getSourceCodeScriptURL();\n const match =\n sourceCodeScriptURL && sourceCodeScriptURL.match(/^https?:\\/\\/.*?\\//);\n if (match) {\n // jsBundle was loaded from network\n _serverURL = match[0];\n } else {\n // jsBundle was loaded from file\n _serverURL = null;\n }\n }\n return _serverURL;\n}\n\nfunction _coerceLocalScriptURL(scriptURL: ?string): ?string {\n if (scriptURL) {\n if (scriptURL.startsWith('assets://')) {\n // android: running from within assets, no offline path to use\n return null;\n }\n scriptURL = scriptURL.substring(0, scriptURL.lastIndexOf('/') + 1);\n if (!scriptURL.includes('://')) {\n // Add file protocol in case we have an absolute file path and not a URL.\n // This shouldn't really be necessary. scriptURL should be a URL.\n scriptURL = 'file://' + scriptURL;\n }\n }\n return scriptURL;\n}\n\nfunction getScriptURL(): ?string {\n if (_scriptURL === undefined) {\n _scriptURL = _coerceLocalScriptURL(getSourceCodeScriptURL());\n }\n return _scriptURL;\n}\n\nfunction setCustomSourceTransformer(\n transformer: (resolver: AssetSourceResolver) => ResolvedAssetSource,\n): void {\n _customSourceTransformer = transformer;\n}\n\n/**\n * `source` is either a number (opaque type returned by require('./foo.png'))\n * or an `ImageSource` like { uri: '' }\n */\nfunction resolveAssetSource(source: any): ?ResolvedAssetSource {\n if (typeof source === 'object') {\n return source;\n }\n\n const asset = AssetRegistry.getAssetByID(source);\n if (!asset) {\n return null;\n }\n\n const resolver = new AssetSourceResolver(\n getDevServerURL(),\n getScriptURL(),\n asset,\n );\n if (_customSourceTransformer) {\n return _customSourceTransformer(resolver);\n }\n return resolver.defaultAsset();\n}\n\nresolveAssetSource.pickScale = pickScale;\nresolveAssetSource.setCustomSourceTransformer = setCustomSourceTransformer;\nmodule.exports = resolveAssetSource;\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 * @flow strict\n * @format\n */\n\nimport type {TurboModule} from '../../TurboModule/RCTExport';\n\nimport * as TurboModuleRegistry from '../../TurboModule/TurboModuleRegistry';\n\nexport type SourceCodeConstants = {|\n scriptURL: string,\n|};\n\nexport interface Spec extends TurboModule {\n +getConstants: () => SourceCodeConstants;\n}\n\nconst NativeModule = TurboModuleRegistry.getEnforcing('SourceCode');\nlet constants = null;\n\nconst NativeSourceCode = {\n getConstants(): SourceCodeConstants {\n if (constants == null) {\n constants = NativeModule.getConstants();\n }\n\n return constants;\n },\n};\n\nexport default NativeSourceCode;\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 * @flow strict\n * @format\n */\n\n'use strict';\n\nexport type PackagerAsset = {\n +__packager_asset: boolean,\n +fileSystemLocation: string,\n +httpServerLocation: string,\n +width: ?number,\n +height: ?number,\n +scales: Array,\n +hash: string,\n +name: string,\n +type: string,\n ...\n};\n\nconst assets: Array = [];\n\nfunction registerAsset(asset: PackagerAsset): number {\n // `push` returns new array length, so the first asset will\n // get id 1 (not 0) to make the value truthy\n return assets.push(asset);\n}\n\nfunction getAssetByID(assetId: number): PackagerAsset {\n return assets[assetId - 1];\n}\n\nmodule.exports = {registerAsset, getAssetByID};\n","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @flow\n * @format\n */\n\n'use strict';\n\nexport type ResolvedAssetSource = {|\n +__packager_asset: boolean,\n +width: ?number,\n +height: ?number,\n +uri: string,\n +scale: number,\n|};\n\nimport type {PackagerAsset} from '@react-native/assets-registry/registry';\n\nconst PixelRatio = require('../Utilities/PixelRatio').default;\nconst Platform = require('../Utilities/Platform');\nconst {pickScale} = require('./AssetUtils');\nconst {\n getAndroidResourceFolderName,\n getAndroidResourceIdentifier,\n getBasePath,\n} = require('@react-native/assets-registry/path-support');\nconst invariant = require('invariant');\n\n/**\n * Returns a path like 'assets/AwesomeModule/icon@2x.png'\n */\nfunction getScaledAssetPath(asset: PackagerAsset): string {\n const scale = pickScale(asset.scales, PixelRatio.get());\n const scaleSuffix = scale === 1 ? '' : '@' + scale + 'x';\n const assetDir = getBasePath(asset);\n return assetDir + '/' + asset.name + scaleSuffix + '.' + asset.type;\n}\n\n/**\n * Returns a path like 'drawable-mdpi/icon.png'\n */\nfunction getAssetPathInDrawableFolder(asset: PackagerAsset): string {\n const scale = pickScale(asset.scales, PixelRatio.get());\n const drawableFolder = getAndroidResourceFolderName(asset, scale);\n const fileName = getAndroidResourceIdentifier(asset);\n return drawableFolder + '/' + fileName + '.' + asset.type;\n}\n\nclass AssetSourceResolver {\n serverUrl: ?string;\n // where the jsbundle is being run from\n jsbundleUrl: ?string;\n // the asset to resolve\n asset: PackagerAsset;\n\n constructor(serverUrl: ?string, jsbundleUrl: ?string, asset: PackagerAsset) {\n this.serverUrl = serverUrl;\n this.jsbundleUrl = jsbundleUrl;\n this.asset = asset;\n }\n\n isLoadedFromServer(): boolean {\n return !!this.serverUrl;\n }\n\n isLoadedFromFileSystem(): boolean {\n return !!(this.jsbundleUrl && this.jsbundleUrl.startsWith('file://'));\n }\n\n defaultAsset(): ResolvedAssetSource {\n if (this.isLoadedFromServer()) {\n return this.assetServerURL();\n }\n\n if (Platform.OS === 'android') {\n return this.isLoadedFromFileSystem()\n ? this.drawableFolderInBundle()\n : this.resourceIdentifierWithoutScale();\n } else {\n return this.scaledAssetURLNearBundle();\n }\n }\n\n /**\n * Returns an absolute URL which can be used to fetch the asset\n * from the devserver\n */\n assetServerURL(): ResolvedAssetSource {\n invariant(!!this.serverUrl, 'need server to load from');\n return this.fromSource(\n this.serverUrl +\n getScaledAssetPath(this.asset) +\n '?platform=' +\n Platform.OS +\n '&hash=' +\n this.asset.hash,\n );\n }\n\n /**\n * Resolves to just the scaled asset filename\n * E.g. 'assets/AwesomeModule/icon@2x.png'\n */\n scaledAssetPath(): ResolvedAssetSource {\n return this.fromSource(getScaledAssetPath(this.asset));\n }\n\n /**\n * Resolves to where the bundle is running from, with a scaled asset filename\n * E.g. 'file:///sdcard/bundle/assets/AwesomeModule/icon@2x.png'\n */\n scaledAssetURLNearBundle(): ResolvedAssetSource {\n const path = this.jsbundleUrl || 'file://';\n return this.fromSource(\n // Assets can have relative paths outside of the project root.\n // When bundling them we replace `../` with `_` to make sure they\n // don't end up outside of the expected assets directory.\n path + getScaledAssetPath(this.asset).replace(/\\.\\.\\//g, '_'),\n );\n }\n\n /**\n * The default location of assets bundled with the app, located by\n * resource identifier\n * The Android resource system picks the correct scale.\n * E.g. 'assets_awesomemodule_icon'\n */\n resourceIdentifierWithoutScale(): ResolvedAssetSource {\n invariant(\n Platform.OS === 'android',\n 'resource identifiers work on Android',\n );\n return this.fromSource(getAndroidResourceIdentifier(this.asset));\n }\n\n /**\n * If the jsbundle is running from a sideload location, this resolves assets\n * relative to its location\n * E.g. 'file:///sdcard/AwesomeModule/drawable-mdpi/icon.png'\n */\n drawableFolderInBundle(): ResolvedAssetSource {\n const path = this.jsbundleUrl || 'file://';\n return this.fromSource(path + getAssetPathInDrawableFolder(this.asset));\n }\n\n fromSource(source: string): ResolvedAssetSource {\n return {\n __packager_asset: true,\n width: this.asset.width,\n height: this.asset.height,\n uri: source,\n scale: pickScale(this.asset.scales, PixelRatio.get()),\n };\n }\n\n static pickScale: (scales: Array, deviceScale?: number) => number =\n pickScale;\n}\n\nmodule.exports = AssetSourceResolver;\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 * @flow\n * @format\n */\n\nimport PixelRatio from '../Utilities/PixelRatio';\n\nlet cacheBreaker;\nlet warnIfCacheBreakerUnset = true;\n\nexport function pickScale(scales: Array, deviceScale?: number): number {\n if (deviceScale == null) {\n deviceScale = PixelRatio.get();\n }\n // Packager guarantees that `scales` array is sorted\n for (let i = 0; i < scales.length; i++) {\n if (scales[i] >= deviceScale) {\n return scales[i];\n }\n }\n\n // If nothing matches, device scale is larger than any available\n // scales, so we return the biggest one. Unless the array is empty,\n // in which case we default to 1\n return scales[scales.length - 1] || 1;\n}\n\nexport function setUrlCacheBreaker(appendage: string) {\n cacheBreaker = appendage;\n}\n\nexport function getUrlCacheBreaker(): string {\n if (cacheBreaker == null) {\n if (__DEV__ && warnIfCacheBreakerUnset) {\n warnIfCacheBreakerUnset = false;\n console.warn(\n 'AssetUtils.getUrlCacheBreaker: Cache breaker value is unset',\n );\n }\n return '';\n }\n return cacheBreaker;\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 * @flow strict-local\n */\n\n'use strict';\n\nconst Dimensions = require('./Dimensions').default;\n\n/**\n * PixelRatio class gives access to the device pixel density.\n *\n * ## Fetching a correctly sized image\n *\n * You should get a higher resolution image if you are on a high pixel density\n * device. A good rule of thumb is to multiply the size of the image you display\n * by the pixel ratio.\n *\n * ```\n * var image = getImage({\n * width: PixelRatio.getPixelSizeForLayoutSize(200),\n * height: PixelRatio.getPixelSizeForLayoutSize(100),\n * });\n * \n * ```\n *\n * ## Pixel grid snapping\n *\n * In iOS, you can specify positions and dimensions for elements with arbitrary\n * precision, for example 29.674825. But, ultimately the physical display only\n * have a fixed number of pixels, for example 640×960 for iPhone 4 or 750×1334\n * for iPhone 6. iOS tries to be as faithful as possible to the user value by\n * spreading one original pixel into multiple ones to trick the eye. The\n * downside of this technique is that it makes the resulting element look\n * blurry.\n *\n * In practice, we found out that developers do not want this feature and they\n * have to work around it by doing manual rounding in order to avoid having\n * blurry elements. In React Native, we are rounding all the pixels\n * automatically.\n *\n * We have to be careful when to do this rounding. You never want to work with\n * rounded and unrounded values at the same time as you're going to accumulate\n * rounding errors. Having even one rounding error is deadly because a one\n * pixel border may vanish or be twice as big.\n *\n * In React Native, everything in JavaScript and within the layout engine works\n * with arbitrary precision numbers. It's only when we set the position and\n * dimensions of the native element on the main thread that we round. Also,\n * rounding is done relative to the root rather than the parent, again to avoid\n * accumulating rounding errors.\n *\n */\nclass PixelRatio {\n /**\n * Returns the device pixel density. Some examples:\n *\n * - PixelRatio.get() === 1\n * - mdpi Android devices (160 dpi)\n * - PixelRatio.get() === 1.5\n * - hdpi Android devices (240 dpi)\n * - PixelRatio.get() === 2\n * - iPhone 4, 4S\n * - iPhone 5, 5c, 5s\n * - iPhone 6\n * - iPhone 7\n * - iPhone 8\n * - iPhone SE\n * - xhdpi Android devices (320 dpi)\n * - PixelRatio.get() === 3\n * - iPhone 6 Plus\n * - iPhone 7 Plus\n * - iPhone 8 Plus\n * - iPhone X\n * - xxhdpi Android devices (480 dpi)\n * - PixelRatio.get() === 3.5\n * - Nexus 6\n */\n static get(): number {\n return Dimensions.get('window').scale;\n }\n\n /**\n * Returns the scaling factor for font sizes. This is the ratio that is used to calculate the\n * absolute font size, so any elements that heavily depend on that should use this to do\n * calculations.\n *\n * If a font scale is not set, this returns the device pixel ratio.\n *\n * This reflects the user preference set in:\n * - Settings > Display > Font size on Android,\n * - Settings > Display & Brightness > Text Size on iOS.\n */\n static getFontScale(): number {\n return Dimensions.get('window').fontScale || PixelRatio.get();\n }\n\n /**\n * Converts a layout size (dp) to pixel size (px).\n *\n * Guaranteed to return an integer number.\n */\n static getPixelSizeForLayoutSize(layoutSize: number): number {\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: number): number {\n const ratio = PixelRatio.get();\n return Math.round(layoutSize * ratio) / ratio;\n }\n\n // No-op for iOS, but used on the web. Should not be documented.\n static startDetecting() {}\n}\n\nexport default PixelRatio;\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 * @flow\n */\n\nimport RCTDeviceEventEmitter from '../EventEmitter/RCTDeviceEventEmitter';\nimport EventEmitter, {\n type EventSubscription,\n} from '../vendor/emitter/EventEmitter';\nimport NativeDeviceInfo, {\n type DimensionsPayload,\n type DisplayMetrics,\n type DisplayMetricsAndroid,\n} from './NativeDeviceInfo';\nimport invariant from 'invariant';\n\nconst eventEmitter = new EventEmitter<{\n change: [DimensionsPayload],\n}>();\nlet dimensionsInitialized = false;\nlet dimensions: DimensionsPayload;\n\nclass Dimensions {\n /**\n * NOTE: `useWindowDimensions` is the preferred API for React components.\n *\n * Initial dimensions are set before `runApplication` is called so they should\n * be available before any other require's are run, but may be updated later.\n *\n * Note: Although dimensions are available immediately, they may change (e.g\n * due to device rotation) so any rendering logic or styles that depend on\n * these constants should try to call this function on every render, rather\n * than caching the value (for example, using inline styles rather than\n * setting a value in a `StyleSheet`).\n *\n * Example: `const {height, width} = Dimensions.get('window');`\n *\n * @param {string} dim Name of dimension as defined when calling `set`.\n * @returns {DisplayMetrics? | DisplayMetricsAndroid?} Value for the dimension.\n */\n static get(dim: string): DisplayMetrics | DisplayMetricsAndroid {\n invariant(dimensions[dim], 'No dimension set for key ' + dim);\n return dimensions[dim];\n }\n\n /**\n * This should only be called from native code by sending the\n * didUpdateDimensions event.\n *\n * @param {DimensionsPayload} dims Simple string-keyed object of dimensions to set\n */\n static set(dims: $ReadOnly): void {\n // We calculate the window dimensions in JS so that we don't encounter loss of\n // precision in transferring the dimensions (which could be non-integers) over\n // the bridge.\n let {screen, window} = dims;\n const {windowPhysicalPixels} = dims;\n if (windowPhysicalPixels) {\n window = {\n width: windowPhysicalPixels.width / windowPhysicalPixels.scale,\n height: windowPhysicalPixels.height / windowPhysicalPixels.scale,\n scale: windowPhysicalPixels.scale,\n fontScale: windowPhysicalPixels.fontScale,\n };\n }\n const {screenPhysicalPixels} = dims;\n if (screenPhysicalPixels) {\n screen = {\n width: screenPhysicalPixels.width / screenPhysicalPixels.scale,\n height: screenPhysicalPixels.height / screenPhysicalPixels.scale,\n scale: screenPhysicalPixels.scale,\n fontScale: screenPhysicalPixels.fontScale,\n };\n } else if (screen == null) {\n screen = window;\n }\n\n dimensions = {window, screen};\n if (dimensionsInitialized) {\n // Don't fire 'change' the first time the dimensions are set.\n eventEmitter.emit('change', dimensions);\n } else {\n dimensionsInitialized = true;\n }\n }\n\n /**\n * Add an event handler. Supported events:\n *\n * - `change`: Fires when a property within the `Dimensions` object changes. The argument\n * to the event handler is an object with `window` and `screen` properties whose values\n * are the same as the return values of `Dimensions.get('window')` and\n * `Dimensions.get('screen')`, respectively.\n */\n static addEventListener(\n type: 'change',\n handler: Function,\n ): EventSubscription {\n invariant(\n type === 'change',\n 'Trying to subscribe to unknown event: \"%s\"',\n type,\n );\n return eventEmitter.addListener(type, handler);\n }\n}\n\nlet initialDims: ?$ReadOnly =\n global.nativeExtensions &&\n global.nativeExtensions.DeviceInfo &&\n global.nativeExtensions.DeviceInfo.Dimensions;\nif (!initialDims) {\n // Subscribe before calling getConstants to make sure we don't miss any updates in between.\n RCTDeviceEventEmitter.addListener(\n 'didUpdateDimensions',\n (update: DimensionsPayload) => {\n Dimensions.set(update);\n },\n );\n initialDims = NativeDeviceInfo.getConstants().Dimensions;\n}\n\nDimensions.set(initialDims);\n\nexport default Dimensions;\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 * @flow strict\n * @format\n */\n\nimport type {TurboModule} from '../TurboModule/RCTExport';\n\nimport * as TurboModuleRegistry from '../TurboModule/TurboModuleRegistry';\n\nexport type DisplayMetricsAndroid = {|\n width: number,\n height: number,\n scale: number,\n fontScale: number,\n densityDpi: number,\n|};\n\nexport type DisplayMetrics = {|\n width: number,\n height: number,\n scale: number,\n fontScale: number,\n|};\n\nexport type DimensionsPayload = {|\n window?: DisplayMetrics,\n screen?: DisplayMetrics,\n windowPhysicalPixels?: DisplayMetricsAndroid,\n screenPhysicalPixels?: DisplayMetricsAndroid,\n|};\n\nexport type DeviceInfoConstants = {|\n +Dimensions: DimensionsPayload,\n +isIPhoneX_deprecated?: boolean,\n|};\n\nexport interface Spec extends TurboModule {\n +getConstants: () => DeviceInfoConstants;\n}\n\nconst NativeModule: Spec = TurboModuleRegistry.getEnforcing('DeviceInfo');\nlet constants: ?DeviceInfoConstants = null;\n\nconst NativeDeviceInfo = {\n getConstants(): DeviceInfoConstants {\n if (constants == null) {\n constants = NativeModule.getConstants();\n }\n return constants;\n },\n};\n\nexport default NativeDeviceInfo;\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 * @flow strict\n */\n\n'use strict';\n\nimport type {PackagerAsset} from './registry.js';\n\nconst androidScaleSuffix = {\n '0.75': 'ldpi',\n '1': 'mdpi',\n '1.5': 'hdpi',\n '2': 'xhdpi',\n '3': 'xxhdpi',\n '4': 'xxxhdpi',\n};\n\nconst ANDROID_BASE_DENSITY = 160;\n\n/**\n * FIXME: using number to represent discrete scale numbers is fragile in essence because of\n * floating point numbers imprecision.\n */\nfunction getAndroidAssetSuffix(scale: number): string {\n if (scale.toString() in androidScaleSuffix) {\n return androidScaleSuffix[scale.toString()];\n }\n // NOTE: Android Gradle Plugin does not fully support the nnndpi format.\n // See https://issuetracker.google.com/issues/72884435\n if (Number.isFinite(scale) && scale > 0) {\n return Math.round(scale * ANDROID_BASE_DENSITY) + 'dpi';\n }\n throw new Error('no such scale ' + scale.toString());\n}\n\n// See https://developer.android.com/guide/topics/resources/drawable-resource.html\nconst drawableFileTypes = new Set([\n 'gif',\n 'jpeg',\n 'jpg',\n 'ktx',\n 'png',\n 'svg',\n 'webp',\n 'xml',\n]);\n\nfunction getAndroidResourceFolderName(\n asset: PackagerAsset,\n scale: number,\n): string | $TEMPORARY$string<'raw'> {\n if (!drawableFileTypes.has(asset.type)) {\n return 'raw';\n }\n const suffix = getAndroidAssetSuffix(scale);\n if (!suffix) {\n throw new Error(\n \"Don't know which android drawable suffix to use for scale: \" +\n scale +\n '\\nAsset: ' +\n JSON.stringify(asset, null, '\\t') +\n '\\nPossible scales are:' +\n JSON.stringify(androidScaleSuffix, null, '\\t'),\n );\n }\n return 'drawable-' + suffix;\n}\n\nfunction getAndroidResourceIdentifier(asset: PackagerAsset): string {\n return (getBasePath(asset) + '/' + asset.name)\n .toLowerCase()\n .replace(/\\//g, '_') // Encode folder structure in file name\n .replace(/([^a-z0-9_])/g, '') // Remove illegal chars\n .replace(/^assets_/, ''); // Remove \"assets_\" prefix\n}\n\nfunction getBasePath(asset: PackagerAsset): string {\n const basePath = asset.httpServerLocation;\n return basePath.startsWith('/') ? basePath.slice(1) : basePath;\n}\n\nmodule.exports = {\n getAndroidResourceFolderName,\n getAndroidResourceIdentifier,\n getBasePath,\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 * @noformat\n * @flow strict-local\n * @nolint\n * @generated SignedSource<<1b39316520f5af25f0a141d7d78b0809>>\n */\n\n'use strict';\n\nimport {type ViewConfig} from './ReactNativeTypes';\nimport invariant from 'invariant';\n\n// Event configs\nconst customBubblingEventTypes: {\n [eventName: string]: $ReadOnly<{\n phasedRegistrationNames: $ReadOnly<{\n captured: string,\n bubbled: string,\n skipBubbling?: ?boolean,\n }>,\n }>,\n ...\n} = {};\nconst customDirectEventTypes: {\n [eventName: string]: $ReadOnly<{\n registrationName: string,\n }>,\n ...\n} = {};\n\nexports.customBubblingEventTypes = customBubblingEventTypes;\nexports.customDirectEventTypes = customDirectEventTypes;\n\nconst viewConfigCallbacks = new Map ViewConfig>();\nconst viewConfigs = new Map();\n\nfunction processEventTypes(viewConfig: ViewConfig): void {\n const {bubblingEventTypes, directEventTypes} = viewConfig;\n\n if (__DEV__) {\n if (bubblingEventTypes != null && directEventTypes != null) {\n for (const topLevelType in directEventTypes) {\n invariant(\n bubblingEventTypes[topLevelType] == null,\n 'Event cannot be both direct and bubbling: %s',\n topLevelType,\n );\n }\n }\n }\n\n if (bubblingEventTypes != null) {\n for (const topLevelType in bubblingEventTypes) {\n if (customBubblingEventTypes[topLevelType] == null) {\n customBubblingEventTypes[topLevelType] =\n bubblingEventTypes[topLevelType];\n }\n }\n }\n\n if (directEventTypes != null) {\n for (const topLevelType in directEventTypes) {\n if (customDirectEventTypes[topLevelType] == null) {\n customDirectEventTypes[topLevelType] = directEventTypes[topLevelType];\n }\n }\n }\n}\n\n/**\n * Registers a native view/component by name.\n * A callback is provided to load the view config from UIManager.\n * The callback is deferred until the view is actually rendered.\n */\nexports.register = function (name: string, callback: () => ViewConfig): string {\n invariant(\n !viewConfigCallbacks.has(name),\n 'Tried to register two views with the same name %s',\n name,\n );\n invariant(\n typeof callback === 'function',\n 'View config getter callback for component `%s` must be a function (received `%s`)',\n name,\n callback === null ? 'null' : typeof callback,\n );\n viewConfigCallbacks.set(name, callback);\n return name;\n};\n\n/**\n * Retrieves a config for the specified view.\n * If this is the first time the view has been used,\n * This configuration will be lazy-loaded from UIManager.\n */\nexports.get = function (name: string): ViewConfig {\n let viewConfig;\n if (!viewConfigs.has(name)) {\n const callback = viewConfigCallbacks.get(name);\n if (typeof callback !== 'function') {\n invariant(\n false,\n 'View config getter callback for component `%s` must be a function (received `%s`).%s',\n name,\n callback === null ? 'null' : typeof callback,\n // $FlowFixMe[recursive-definition]\n typeof name[0] === 'string' && /[a-z]/.test(name[0])\n ? ' Make sure to start component names with a capital letter.'\n : '',\n );\n }\n viewConfig = callback();\n processEventTypes(viewConfig);\n viewConfigs.set(name, viewConfig);\n\n // Clear the callback after the config is set so that\n // we don't mask any errors during registration.\n viewConfigCallbacks.set(name, null);\n } else {\n viewConfig = viewConfigs.get(name);\n }\n invariant(viewConfig, 'View config not found for name %s', name);\n return viewConfig;\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 * @flow\n */\n\nimport PlatformBaseViewConfig from '../NativeComponent/PlatformBaseViewConfig';\nimport {type ViewConfig} from '../Renderer/shims/ReactNativeTypes';\n\nconst IGNORED_KEYS = ['transform', 'hitSlop'];\n\n/**\n * The purpose of this function is to validate that the view config that\n * native exposes for a given view manager is the same as the view config\n * that is specified for that view manager in JS.\n *\n * In order to improve perf, we want to avoid calling into native to get\n * the view config when each view manager is used. To do this, we are moving\n * the configs to JS. In the future we will use these JS based view configs\n * to codegen the view manager on native to ensure they stay in sync without\n * this runtime check.\n *\n * If this function fails, that likely means a change was made to the native\n * view manager without updating the JS config as well. Ideally you can make\n * that direct change to the JS config. If you don't know what the differences\n * are, the best approach I've found is to create a view that prints\n * the return value of getNativeComponentAttributes, and then copying that\n * text and pasting it back into JS:\n * {JSON.stringify(getNativeComponentAttributes('RCTView'))}\n *\n * This is meant to be a stopgap until the time comes when we only have a\n * single source of truth. I wonder if this message will still be here two\n * years from now...\n */\nexport default function verifyComponentAttributeEquivalence(\n nativeViewConfig: ViewConfig,\n staticViewConfig: ViewConfig,\n) {\n for (const prop of [\n 'validAttributes',\n 'bubblingEventTypes',\n 'directEventTypes',\n ]) {\n const diff = Object.keys(\n lefthandObjectDiff(nativeViewConfig[prop], staticViewConfig[prop]),\n );\n\n if (diff.length > 0) {\n const name =\n staticViewConfig.uiViewClassName ?? nativeViewConfig.uiViewClassName;\n console.error(\n `'${name}' has a view config that does not match native. ` +\n `'${prop}' is missing: ${diff.join(', ')}`,\n );\n }\n }\n}\n\n// Return the different key-value pairs of the right object, by iterating through the keys in the left object\n// Note it won't return a difference where a key is missing in the left but exists the right.\nfunction lefthandObjectDiff(leftObj: Object, rightObj: Object): Object {\n const differentKeys: {[string]: any | {...}} = {};\n\n function compare(leftItem: any, rightItem: any, key: string) {\n if (typeof leftItem !== typeof rightItem && leftItem != null) {\n differentKeys[key] = rightItem;\n return;\n }\n\n if (typeof leftItem === 'object') {\n const objDiff = lefthandObjectDiff(leftItem, rightItem);\n if (Object.keys(objDiff).length > 1) {\n differentKeys[key] = objDiff;\n }\n return;\n }\n\n if (leftItem !== rightItem) {\n differentKeys[key] = rightItem;\n return;\n }\n }\n\n for (const key in leftObj) {\n if (IGNORED_KEYS.includes(key)) {\n continue;\n }\n\n if (!rightObj) {\n differentKeys[key] = {};\n } else if (leftObj.hasOwnProperty(key)) {\n compare(leftObj[key], rightObj[key], key);\n }\n }\n\n return differentKeys;\n}\n\nexport function getConfigWithoutViewProps(\n viewConfig: ViewConfig,\n propName: string,\n): {...} {\n if (!viewConfig[propName]) {\n return {};\n }\n\n return Object.keys(viewConfig[propName])\n .filter(prop => !PlatformBaseViewConfig[propName][prop])\n .reduce<{[string]: any}>((obj, prop) => {\n obj[prop] = viewConfig[propName][prop];\n return obj;\n }, {});\n}\n\nexport function stringifyViewConfig(viewConfig: any): string {\n return JSON.stringify(\n viewConfig,\n (key, val) => {\n if (typeof val === 'function') {\n return `ƒ ${val.name}`;\n }\n return val;\n },\n 2,\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 * @flow strict-local\n */\n\nimport type {PartialViewConfig} from '../Renderer/shims/ReactNativeTypes';\n\nimport BaseViewConfig from './BaseViewConfig';\n\nexport type PartialViewConfigWithoutName = $Rest<\n PartialViewConfig,\n {uiViewClassName: string},\n>;\n\nconst PlatformBaseViewConfig: PartialViewConfigWithoutName = BaseViewConfig;\n\n// In Wilde/FB4A, use RNHostComponentListRoute in Bridge mode to verify\n// whether the JS props defined here match the native props defined\n// in RCTViewManagers in iOS, and ViewManagers in Android.\nexport default PlatformBaseViewConfig;\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 * @flow strict-local\n */\n\nimport type {PartialViewConfigWithoutName} from './PlatformBaseViewConfig';\n\nimport ReactNativeStyleAttributes from '../Components/View/ReactNativeStyleAttributes';\nimport {\n ConditionallyIgnoredEventHandlers,\n DynamicallyInjectedByGestureHandler,\n} from './ViewConfigIgnore';\n\nconst bubblingEventTypes = {\n // Generic Events\n topPress: {\n phasedRegistrationNames: {\n bubbled: 'onPress',\n captured: 'onPressCapture',\n },\n },\n topChange: {\n phasedRegistrationNames: {\n bubbled: 'onChange',\n captured: 'onChangeCapture',\n },\n },\n topFocus: {\n phasedRegistrationNames: {\n bubbled: 'onFocus',\n captured: 'onFocusCapture',\n },\n },\n topBlur: {\n phasedRegistrationNames: {\n bubbled: 'onBlur',\n captured: 'onBlurCapture',\n },\n },\n topSubmitEditing: {\n phasedRegistrationNames: {\n bubbled: 'onSubmitEditing',\n captured: 'onSubmitEditingCapture',\n },\n },\n topEndEditing: {\n phasedRegistrationNames: {\n bubbled: 'onEndEditing',\n captured: 'onEndEditingCapture',\n },\n },\n topKeyPress: {\n phasedRegistrationNames: {\n bubbled: 'onKeyPress',\n captured: 'onKeyPressCapture',\n },\n },\n\n // Touch Events\n topTouchStart: {\n phasedRegistrationNames: {\n bubbled: 'onTouchStart',\n captured: 'onTouchStartCapture',\n },\n },\n topTouchMove: {\n phasedRegistrationNames: {\n bubbled: 'onTouchMove',\n captured: 'onTouchMoveCapture',\n },\n },\n topTouchCancel: {\n phasedRegistrationNames: {\n bubbled: 'onTouchCancel',\n captured: 'onTouchCancelCapture',\n },\n },\n topTouchEnd: {\n phasedRegistrationNames: {\n bubbled: 'onTouchEnd',\n captured: 'onTouchEndCapture',\n },\n },\n\n // Experimental/Work in Progress Pointer Events (not yet ready for use)\n topClick: {\n phasedRegistrationNames: {\n captured: 'onClickCapture',\n bubbled: 'onClick',\n },\n },\n topPointerCancel: {\n phasedRegistrationNames: {\n captured: 'onPointerCancelCapture',\n bubbled: 'onPointerCancel',\n },\n },\n topPointerDown: {\n phasedRegistrationNames: {\n captured: 'onPointerDownCapture',\n bubbled: 'onPointerDown',\n },\n },\n topPointerMove: {\n phasedRegistrationNames: {\n captured: 'onPointerMoveCapture',\n bubbled: 'onPointerMove',\n },\n },\n topPointerUp: {\n phasedRegistrationNames: {\n captured: 'onPointerUpCapture',\n bubbled: 'onPointerUp',\n },\n },\n topPointerEnter: {\n phasedRegistrationNames: {\n captured: 'onPointerEnterCapture',\n bubbled: 'onPointerEnter',\n skipBubbling: true,\n },\n },\n topPointerLeave: {\n phasedRegistrationNames: {\n captured: 'onPointerLeaveCapture',\n bubbled: 'onPointerLeave',\n skipBubbling: true,\n },\n },\n topPointerOver: {\n phasedRegistrationNames: {\n captured: 'onPointerOverCapture',\n bubbled: 'onPointerOver',\n },\n },\n topPointerOut: {\n phasedRegistrationNames: {\n captured: 'onPointerOutCapture',\n bubbled: 'onPointerOut',\n },\n },\n topGotPointerCapture: {\n phasedRegistrationNames: {\n captured: 'onGotPointerCaptureCapture',\n bubbled: 'onGotPointerCapture',\n },\n },\n topLostPointerCapture: {\n phasedRegistrationNames: {\n captured: 'onLostPointerCaptureCapture',\n bubbled: 'onLostPointerCapture',\n },\n },\n};\n\nconst directEventTypes = {\n topAccessibilityAction: {\n registrationName: 'onAccessibilityAction',\n },\n topAccessibilityTap: {\n registrationName: 'onAccessibilityTap',\n },\n topMagicTap: {\n registrationName: 'onMagicTap',\n },\n topAccessibilityEscape: {\n registrationName: 'onAccessibilityEscape',\n },\n topLayout: {\n registrationName: 'onLayout',\n },\n onGestureHandlerEvent: DynamicallyInjectedByGestureHandler({\n registrationName: 'onGestureHandlerEvent',\n }),\n onGestureHandlerStateChange: DynamicallyInjectedByGestureHandler({\n registrationName: 'onGestureHandlerStateChange',\n }),\n};\n\nconst validAttributesForNonEventProps = {\n // View Props\n accessible: true,\n accessibilityActions: true,\n accessibilityLabel: true,\n accessibilityHint: true,\n accessibilityLanguage: true,\n accessibilityValue: true,\n accessibilityViewIsModal: true,\n accessibilityElementsHidden: true,\n accessibilityIgnoresInvertColors: true,\n testID: true,\n backgroundColor: {process: require('../StyleSheet/processColor').default},\n backfaceVisibility: true,\n opacity: true,\n shadowColor: {process: require('../StyleSheet/processColor').default},\n shadowOffset: {diff: require('../Utilities/differ/sizesDiffer')},\n shadowOpacity: true,\n shadowRadius: true,\n needsOffscreenAlphaCompositing: true,\n overflow: true,\n shouldRasterizeIOS: true,\n transform: {diff: require('../Utilities/differ/matricesDiffer')},\n transformOrigin: true,\n accessibilityRole: true,\n accessibilityState: true,\n nativeID: true,\n pointerEvents: true,\n removeClippedSubviews: true,\n role: true,\n borderRadius: true,\n borderColor: {process: require('../StyleSheet/processColor').default},\n borderCurve: true,\n borderWidth: true,\n borderStyle: true,\n hitSlop: {diff: require('../Utilities/differ/insetsDiffer')},\n collapsable: true,\n\n borderTopWidth: true,\n borderTopColor: {process: require('../StyleSheet/processColor').default},\n borderRightWidth: true,\n borderRightColor: {process: require('../StyleSheet/processColor').default},\n borderBottomWidth: true,\n borderBottomColor: {process: require('../StyleSheet/processColor').default},\n borderLeftWidth: true,\n borderLeftColor: {process: require('../StyleSheet/processColor').default},\n borderStartWidth: true,\n borderStartColor: {process: require('../StyleSheet/processColor').default},\n borderEndWidth: true,\n borderEndColor: {process: require('../StyleSheet/processColor').default},\n\n borderTopLeftRadius: true,\n borderTopRightRadius: true,\n borderTopStartRadius: true,\n borderTopEndRadius: true,\n borderBottomLeftRadius: true,\n borderBottomRightRadius: true,\n borderBottomStartRadius: true,\n borderBottomEndRadius: true,\n borderEndEndRadius: true,\n borderEndStartRadius: true,\n borderStartEndRadius: true,\n borderStartStartRadius: true,\n display: true,\n zIndex: true,\n\n // ShadowView properties\n top: true,\n right: true,\n start: true,\n end: true,\n bottom: true,\n left: true,\n\n inset: true,\n insetBlock: true,\n insetBlockEnd: true,\n insetBlockStart: true,\n insetInline: true,\n insetInlineEnd: true,\n insetInlineStart: true,\n\n width: true,\n height: true,\n\n minWidth: true,\n maxWidth: true,\n minHeight: true,\n maxHeight: true,\n\n // Also declared as ViewProps\n // borderTopWidth: true,\n // borderRightWidth: true,\n // borderBottomWidth: true,\n // borderLeftWidth: true,\n // borderStartWidth: true,\n // borderEndWidth: true,\n // borderWidth: true,\n\n margin: true,\n marginBlock: true,\n marginBlockEnd: true,\n marginBlockStart: true,\n marginBottom: true,\n marginEnd: true,\n marginHorizontal: true,\n marginInline: true,\n marginInlineEnd: true,\n marginInlineStart: true,\n marginLeft: true,\n marginRight: true,\n marginStart: true,\n marginTop: true,\n marginVertical: true,\n\n padding: true,\n paddingBlock: true,\n paddingBlockEnd: true,\n paddingBlockStart: true,\n paddingBottom: true,\n paddingEnd: true,\n paddingHorizontal: true,\n paddingInline: true,\n paddingInlineEnd: true,\n paddingInlineStart: true,\n paddingLeft: true,\n paddingRight: true,\n paddingStart: true,\n paddingTop: true,\n paddingVertical: true,\n\n flex: true,\n flexGrow: true,\n rowGap: true,\n columnGap: true,\n gap: true,\n flexShrink: true,\n flexBasis: true,\n flexDirection: true,\n flexWrap: true,\n justifyContent: true,\n alignItems: true,\n alignSelf: true,\n alignContent: true,\n position: true,\n aspectRatio: true,\n\n // Also declared as ViewProps\n // overflow: true,\n // display: true,\n\n direction: true,\n\n style: ReactNativeStyleAttributes,\n\n experimental_layoutConformance: true,\n};\n\n// Props for bubbling and direct events\nconst validAttributesForEventProps = ConditionallyIgnoredEventHandlers({\n onLayout: true,\n onMagicTap: true,\n\n // Accessibility\n onAccessibilityAction: true,\n onAccessibilityEscape: true,\n onAccessibilityTap: true,\n\n // PanResponder handlers\n onMoveShouldSetResponder: true,\n onMoveShouldSetResponderCapture: true,\n onStartShouldSetResponder: true,\n onStartShouldSetResponderCapture: true,\n onResponderGrant: true,\n onResponderReject: true,\n onResponderStart: true,\n onResponderEnd: true,\n onResponderRelease: true,\n onResponderMove: true,\n onResponderTerminate: true,\n onResponderTerminationRequest: true,\n onShouldBlockNativeResponder: true,\n\n // Touch events\n onTouchStart: true,\n onTouchMove: true,\n onTouchEnd: true,\n onTouchCancel: true,\n\n // Pointer events\n onClick: true,\n onPointerUp: true,\n onPointerDown: true,\n onPointerCancel: true,\n onPointerEnter: true,\n onPointerMove: true,\n onPointerLeave: true,\n onPointerOver: true,\n onPointerOut: true,\n onGotPointerCapture: true,\n onLostPointerCapture: true,\n});\n\n/**\n * On iOS, view managers define all of a component's props.\n * All view managers extend RCTViewManager, and RCTViewManager declares these props.\n */\nconst PlatformBaseViewConfigIos: PartialViewConfigWithoutName = {\n bubblingEventTypes,\n directEventTypes,\n validAttributes: {\n ...validAttributesForNonEventProps,\n ...validAttributesForEventProps,\n },\n};\n\nexport default PlatformBaseViewConfigIos;\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 * @flow strict\n * @format\n */\n\nimport Platform from '../Utilities/Platform';\n\nconst ignoredViewConfigProps = new WeakSet<{...}>();\n\n/**\n * Decorates ViewConfig values that are dynamically injected by the library,\n * react-native-gesture-handler. (T45765076)\n */\nexport function DynamicallyInjectedByGestureHandler(object: T): T {\n ignoredViewConfigProps.add(object);\n return object;\n}\n\n/**\n * On iOS, ViewManager event declarations generate {eventName}: true entries\n * in ViewConfig valueAttributes. These entries aren't generated for Android.\n * This annotation allows Static ViewConfigs to insert these entries into\n * iOS but not Android.\n *\n * In the future, we want to remove this platform-inconsistency. We want\n * to set RN$ViewConfigEventValidAttributesDisabled = true server-side,\n * so that iOS does not generate validAttributes from event props in iOS RCTViewManager,\n * since Android does not generate validAttributes from events props in Android ViewManager.\n *\n * TODO(T110872225): Remove this logic, after achieving platform-consistency\n */\nexport function ConditionallyIgnoredEventHandlers(\n value: T,\n): T | void {\n if (Platform.OS === 'ios') {\n return value;\n }\n return undefined;\n}\n\nexport function isIgnored(value: mixed): boolean {\n if (typeof value === 'object' && value != null) {\n return ignoredViewConfigProps.has(value);\n }\n return false;\n}\n","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @flow strict\n * @format\n */\n\nimport {type ViewConfig} from '../Renderer/shims/ReactNativeTypes';\nimport {isIgnored} from './ViewConfigIgnore';\n\nexport type Difference =\n | {\n type: 'missing',\n path: Array,\n nativeValue: mixed,\n }\n | {\n type: 'unequal',\n path: Array,\n nativeValue: mixed,\n staticValue: mixed,\n }\n | {\n type: 'unexpected',\n path: Array,\n staticValue: mixed,\n };\n\nexport type ValidationResult = ValidResult | InvalidResult;\ntype ValidResult = {\n type: 'valid',\n};\ntype InvalidResult = {\n type: 'invalid',\n differences: Array,\n};\n\n/**\n * During the migration from native view configs to static view configs, this is\n * used to validate that the two are equivalent.\n */\nexport function validate(\n name: string,\n nativeViewConfig: ViewConfig,\n staticViewConfig: ViewConfig,\n): ValidationResult {\n const differences: Array = [];\n accumulateDifferences(\n differences,\n [],\n {\n bubblingEventTypes: nativeViewConfig.bubblingEventTypes,\n directEventTypes: nativeViewConfig.directEventTypes,\n uiViewClassName: nativeViewConfig.uiViewClassName,\n validAttributes: nativeViewConfig.validAttributes,\n },\n {\n bubblingEventTypes: staticViewConfig.bubblingEventTypes,\n directEventTypes: staticViewConfig.directEventTypes,\n uiViewClassName: staticViewConfig.uiViewClassName,\n validAttributes: staticViewConfig.validAttributes,\n },\n );\n\n if (differences.length === 0) {\n return {type: 'valid'};\n }\n\n return {\n type: 'invalid',\n differences,\n };\n}\n\nexport function stringifyValidationResult(\n name: string,\n validationResult: InvalidResult,\n): string {\n const {differences} = validationResult;\n return [\n `StaticViewConfigValidator: Invalid static view config for '${name}'.`,\n '',\n ...differences.map(difference => {\n const {type, path} = difference;\n switch (type) {\n case 'missing':\n return `- '${path.join('.')}' is missing.`;\n case 'unequal':\n return `- '${path.join('.')}' is the wrong value.`;\n case 'unexpected':\n return `- '${path.join('.')}' is present but not expected to be.`;\n }\n }),\n '',\n ].join('\\n');\n}\n\nfunction accumulateDifferences(\n differences: Array,\n path: Array,\n nativeObject: {...},\n staticObject: {...},\n): void {\n for (const nativeKey in nativeObject) {\n const nativeValue = nativeObject[nativeKey];\n\n if (!staticObject.hasOwnProperty(nativeKey)) {\n differences.push({\n path: [...path, nativeKey],\n type: 'missing',\n nativeValue,\n });\n continue;\n }\n\n const staticValue = staticObject[nativeKey];\n\n const nativeValueIfObject = ifObject(nativeValue);\n if (nativeValueIfObject != null) {\n const staticValueIfObject = ifObject(staticValue);\n if (staticValueIfObject != null) {\n path.push(nativeKey);\n accumulateDifferences(\n differences,\n path,\n nativeValueIfObject,\n staticValueIfObject,\n );\n path.pop();\n continue;\n }\n }\n\n if (nativeValue !== staticValue) {\n differences.push({\n path: [...path, nativeKey],\n type: 'unequal',\n nativeValue,\n staticValue,\n });\n }\n }\n\n for (const staticKey in staticObject) {\n if (\n !nativeObject.hasOwnProperty(staticKey) &&\n !isIgnored(staticObject[staticKey])\n ) {\n differences.push({\n path: [...path, staticKey],\n type: 'unexpected',\n staticValue: staticObject[staticKey],\n });\n }\n }\n}\n\nfunction ifObject(value: mixed): ?{...} {\n return typeof value === 'object' && !Array.isArray(value) ? value : null;\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 * @flow strict-local\n * @format\n */\n\nimport type {\n PartialViewConfig,\n ViewConfig,\n} from '../Renderer/shims/ReactNativeTypes';\n\nimport PlatformBaseViewConfig from './PlatformBaseViewConfig';\n\n/**\n * Creates a complete `ViewConfig` from a `PartialViewConfig`.\n */\nexport function createViewConfig(\n partialViewConfig: PartialViewConfig,\n): ViewConfig {\n return {\n uiViewClassName: partialViewConfig.uiViewClassName,\n Commands: {},\n bubblingEventTypes: composeIndexers(\n PlatformBaseViewConfig.bubblingEventTypes,\n partialViewConfig.bubblingEventTypes,\n ),\n directEventTypes: composeIndexers(\n PlatformBaseViewConfig.directEventTypes,\n partialViewConfig.directEventTypes,\n ),\n // $FlowFixMe[incompatible-return]\n validAttributes: composeIndexers(\n // $FlowFixMe[incompatible-call] `style` property confuses Flow.\n PlatformBaseViewConfig.validAttributes,\n // $FlowFixMe[incompatible-call] `style` property confuses Flow.\n partialViewConfig.validAttributes,\n ),\n };\n}\n\nfunction composeIndexers(\n maybeA: ?{+[string]: T},\n maybeB: ?{+[string]: T},\n): {+[string]: T} {\n return maybeA == null || maybeB == null\n ? maybeA ?? maybeB ?? {}\n : {...maybeA, ...maybeB};\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 * @flow\n */\n\nconst {dispatchCommand} = require('../ReactNative/RendererProxy');\n\ntype Options = $ReadOnly<{|\n supportedCommands: $ReadOnlyArray,\n|}>;\n\nfunction codegenNativeCommands(options: Options<$Keys>): T {\n const commandObj: {[$Keys]: (...$ReadOnlyArray) => void} = {};\n\n options.supportedCommands.forEach(command => {\n // $FlowFixMe[missing-local-annot]\n commandObj[command] = (ref, ...args) => {\n // $FlowFixMe[incompatible-call]\n dispatchCommand(ref, command, args);\n };\n });\n\n return ((commandObj: any): T);\n}\n\nexport default codegenNativeCommands;\n","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('./cjs/react-jsx-runtime.production.min.js');\n} else {\n module.exports = require('./cjs/react-jsx-runtime.development.js');\n}\n","/**\n * @license React\n * react-jsx-runtime.development.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\nif (process.env.NODE_ENV !== \"production\") {\n (function() {\n'use strict';\n\nvar React = require('react');\n\n// ATTENTION\n// When adding new symbols to this file,\n// Please consider also adding to 'react-devtools-shared/src/backend/ReactSymbols'\n// The Symbol used to tag the ReactElement-like types.\nvar REACT_ELEMENT_TYPE = Symbol.for('react.element');\nvar REACT_PORTAL_TYPE = Symbol.for('react.portal');\nvar REACT_FRAGMENT_TYPE = Symbol.for('react.fragment');\nvar REACT_STRICT_MODE_TYPE = Symbol.for('react.strict_mode');\nvar REACT_PROFILER_TYPE = Symbol.for('react.profiler');\nvar REACT_PROVIDER_TYPE = Symbol.for('react.provider');\nvar REACT_CONTEXT_TYPE = Symbol.for('react.context');\nvar REACT_FORWARD_REF_TYPE = Symbol.for('react.forward_ref');\nvar REACT_SUSPENSE_TYPE = Symbol.for('react.suspense');\nvar REACT_SUSPENSE_LIST_TYPE = Symbol.for('react.suspense_list');\nvar REACT_MEMO_TYPE = Symbol.for('react.memo');\nvar REACT_LAZY_TYPE = Symbol.for('react.lazy');\nvar REACT_OFFSCREEN_TYPE = Symbol.for('react.offscreen');\nvar MAYBE_ITERATOR_SYMBOL = Symbol.iterator;\nvar FAUX_ITERATOR_SYMBOL = '@@iterator';\nfunction getIteratorFn(maybeIterable) {\n if (maybeIterable === null || typeof maybeIterable !== 'object') {\n return null;\n }\n\n var maybeIterator = MAYBE_ITERATOR_SYMBOL && maybeIterable[MAYBE_ITERATOR_SYMBOL] || maybeIterable[FAUX_ITERATOR_SYMBOL];\n\n if (typeof maybeIterator === 'function') {\n return maybeIterator;\n }\n\n return null;\n}\n\nvar ReactSharedInternals = React.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED;\n\nfunction error(format) {\n {\n {\n for (var _len2 = arguments.length, args = new Array(_len2 > 1 ? _len2 - 1 : 0), _key2 = 1; _key2 < _len2; _key2++) {\n args[_key2 - 1] = arguments[_key2];\n }\n\n printWarning('error', format, args);\n }\n }\n}\n\nfunction printWarning(level, format, args) {\n // When changing this logic, you might want to also\n // update consoleWithStackDev.www.js as well.\n {\n var ReactDebugCurrentFrame = ReactSharedInternals.ReactDebugCurrentFrame;\n var stack = ReactDebugCurrentFrame.getStackAddendum();\n\n if (stack !== '') {\n format += '%s';\n args = args.concat([stack]);\n } // eslint-disable-next-line react-internal/safe-string-coercion\n\n\n var argsWithFormat = args.map(function (item) {\n return String(item);\n }); // Careful: RN currently depends on this prefix\n\n argsWithFormat.unshift('Warning: ' + format); // We intentionally don't use spread (or .apply) directly because it\n // breaks IE9: https://github.com/facebook/react/issues/13610\n // eslint-disable-next-line react-internal/no-production-logging\n\n Function.prototype.apply.call(console[level], console, argsWithFormat);\n }\n}\n\n// -----------------------------------------------------------------------------\n\nvar enableScopeAPI = false; // Experimental Create Event Handle API.\nvar enableCacheElement = false;\nvar enableTransitionTracing = false; // No known bugs, but needs performance testing\n\nvar enableLegacyHidden = false; // Enables unstable_avoidThisFallback feature in Fiber\n// stuff. Intended to enable React core members to more easily debug scheduling\n// issues in DEV builds.\n\nvar enableDebugTracing = false; // Track which Fiber(s) schedule render work.\n\nvar REACT_MODULE_REFERENCE;\n\n{\n REACT_MODULE_REFERENCE = Symbol.for('react.module.reference');\n}\n\nfunction isValidElementType(type) {\n if (typeof type === 'string' || typeof type === 'function') {\n return true;\n } // Note: typeof might be other than 'symbol' or 'number' (e.g. if it's a polyfill).\n\n\n if (type === REACT_FRAGMENT_TYPE || type === REACT_PROFILER_TYPE || enableDebugTracing || type === REACT_STRICT_MODE_TYPE || type === REACT_SUSPENSE_TYPE || type === REACT_SUSPENSE_LIST_TYPE || enableLegacyHidden || type === REACT_OFFSCREEN_TYPE || enableScopeAPI || enableCacheElement || enableTransitionTracing ) {\n return true;\n }\n\n if (typeof type === 'object' && type !== null) {\n if (type.$$typeof === REACT_LAZY_TYPE || type.$$typeof === REACT_MEMO_TYPE || type.$$typeof === REACT_PROVIDER_TYPE || type.$$typeof === REACT_CONTEXT_TYPE || type.$$typeof === REACT_FORWARD_REF_TYPE || // This needs to include all possible module reference object\n // types supported by any Flight configuration anywhere since\n // we don't know which Flight build this will end up being used\n // with.\n type.$$typeof === REACT_MODULE_REFERENCE || type.getModuleId !== undefined) {\n return true;\n }\n }\n\n return false;\n}\n\nfunction getWrappedName(outerType, innerType, wrapperName) {\n var displayName = outerType.displayName;\n\n if (displayName) {\n return displayName;\n }\n\n var functionName = innerType.displayName || innerType.name || '';\n return functionName !== '' ? wrapperName + \"(\" + functionName + \")\" : wrapperName;\n} // Keep in sync with react-reconciler/getComponentNameFromFiber\n\n\nfunction getContextName(type) {\n return type.displayName || 'Context';\n} // Note that the reconciler package should generally prefer to use getComponentNameFromFiber() instead.\n\n\nfunction getComponentNameFromType(type) {\n if (type == null) {\n // Host root, text node or just invalid type.\n return null;\n }\n\n {\n if (typeof type.tag === 'number') {\n error('Received an unexpected object in getComponentNameFromType(). ' + 'This is likely a bug in React. Please file an issue.');\n }\n }\n\n if (typeof type === 'function') {\n return type.displayName || type.name || null;\n }\n\n if (typeof type === 'string') {\n return type;\n }\n\n switch (type) {\n case REACT_FRAGMENT_TYPE:\n return 'Fragment';\n\n case REACT_PORTAL_TYPE:\n return 'Portal';\n\n case REACT_PROFILER_TYPE:\n return 'Profiler';\n\n case REACT_STRICT_MODE_TYPE:\n return 'StrictMode';\n\n case REACT_SUSPENSE_TYPE:\n return 'Suspense';\n\n case REACT_SUSPENSE_LIST_TYPE:\n return 'SuspenseList';\n\n }\n\n if (typeof type === 'object') {\n switch (type.$$typeof) {\n case REACT_CONTEXT_TYPE:\n var context = type;\n return getContextName(context) + '.Consumer';\n\n case REACT_PROVIDER_TYPE:\n var provider = type;\n return getContextName(provider._context) + '.Provider';\n\n case REACT_FORWARD_REF_TYPE:\n return getWrappedName(type, type.render, 'ForwardRef');\n\n case REACT_MEMO_TYPE:\n var outerName = type.displayName || null;\n\n if (outerName !== null) {\n return outerName;\n }\n\n return getComponentNameFromType(type.type) || 'Memo';\n\n case REACT_LAZY_TYPE:\n {\n var lazyComponent = type;\n var payload = lazyComponent._payload;\n var init = lazyComponent._init;\n\n try {\n return getComponentNameFromType(init(payload));\n } catch (x) {\n return null;\n }\n }\n\n // eslint-disable-next-line no-fallthrough\n }\n }\n\n return null;\n}\n\nvar assign = Object.assign;\n\n// Helpers to patch console.logs to avoid logging during side-effect free\n// replaying on render function. This currently only patches the object\n// lazily which won't cover if the log function was extracted eagerly.\n// We could also eagerly patch the method.\nvar disabledDepth = 0;\nvar prevLog;\nvar prevInfo;\nvar prevWarn;\nvar prevError;\nvar prevGroup;\nvar prevGroupCollapsed;\nvar prevGroupEnd;\n\nfunction disabledLog() {}\n\ndisabledLog.__reactDisabledLog = true;\nfunction disableLogs() {\n {\n if (disabledDepth === 0) {\n /* eslint-disable react-internal/no-production-logging */\n prevLog = console.log;\n prevInfo = console.info;\n prevWarn = console.warn;\n prevError = console.error;\n prevGroup = console.group;\n prevGroupCollapsed = console.groupCollapsed;\n prevGroupEnd = console.groupEnd; // https://github.com/facebook/react/issues/19099\n\n var props = {\n configurable: true,\n enumerable: true,\n value: disabledLog,\n writable: true\n }; // $FlowFixMe Flow thinks console is immutable.\n\n Object.defineProperties(console, {\n info: props,\n log: props,\n warn: props,\n error: props,\n group: props,\n groupCollapsed: props,\n groupEnd: props\n });\n /* eslint-enable react-internal/no-production-logging */\n }\n\n disabledDepth++;\n }\n}\nfunction reenableLogs() {\n {\n disabledDepth--;\n\n if (disabledDepth === 0) {\n /* eslint-disable react-internal/no-production-logging */\n var props = {\n configurable: true,\n enumerable: true,\n writable: true\n }; // $FlowFixMe Flow thinks console is immutable.\n\n Object.defineProperties(console, {\n log: assign({}, props, {\n value: prevLog\n }),\n info: assign({}, props, {\n value: prevInfo\n }),\n warn: assign({}, props, {\n value: prevWarn\n }),\n error: assign({}, props, {\n value: prevError\n }),\n group: assign({}, props, {\n value: prevGroup\n }),\n groupCollapsed: assign({}, props, {\n value: prevGroupCollapsed\n }),\n groupEnd: assign({}, props, {\n value: prevGroupEnd\n })\n });\n /* eslint-enable react-internal/no-production-logging */\n }\n\n if (disabledDepth < 0) {\n error('disabledDepth fell below zero. ' + 'This is a bug in React. Please file an issue.');\n }\n }\n}\n\nvar ReactCurrentDispatcher = ReactSharedInternals.ReactCurrentDispatcher;\nvar prefix;\nfunction describeBuiltInComponentFrame(name, source, ownerFn) {\n {\n if (prefix === undefined) {\n // Extract the VM specific prefix used by each line.\n try {\n throw Error();\n } catch (x) {\n var match = x.stack.trim().match(/\\n( *(at )?)/);\n prefix = match && match[1] || '';\n }\n } // We use the prefix to ensure our stacks line up with native stack frames.\n\n\n return '\\n' + prefix + name;\n }\n}\nvar reentry = false;\nvar componentFrameCache;\n\n{\n var PossiblyWeakMap = typeof WeakMap === 'function' ? WeakMap : Map;\n componentFrameCache = new PossiblyWeakMap();\n}\n\nfunction describeNativeComponentFrame(fn, construct) {\n // If something asked for a stack inside a fake render, it should get ignored.\n if ( !fn || reentry) {\n return '';\n }\n\n {\n var frame = componentFrameCache.get(fn);\n\n if (frame !== undefined) {\n return frame;\n }\n }\n\n var control;\n reentry = true;\n var previousPrepareStackTrace = Error.prepareStackTrace; // $FlowFixMe It does accept undefined.\n\n Error.prepareStackTrace = undefined;\n var previousDispatcher;\n\n {\n previousDispatcher = ReactCurrentDispatcher.current; // Set the dispatcher in DEV because this might be call in the render function\n // for warnings.\n\n ReactCurrentDispatcher.current = null;\n disableLogs();\n }\n\n try {\n // This should throw.\n if (construct) {\n // Something should be setting the props in the constructor.\n var Fake = function () {\n throw Error();\n }; // $FlowFixMe\n\n\n Object.defineProperty(Fake.prototype, 'props', {\n set: function () {\n // We use a throwing setter instead of frozen or non-writable props\n // because that won't throw in a non-strict mode function.\n throw Error();\n }\n });\n\n if (typeof Reflect === 'object' && Reflect.construct) {\n // We construct a different control for this case to include any extra\n // frames added by the construct call.\n try {\n Reflect.construct(Fake, []);\n } catch (x) {\n control = x;\n }\n\n Reflect.construct(fn, [], Fake);\n } else {\n try {\n Fake.call();\n } catch (x) {\n control = x;\n }\n\n fn.call(Fake.prototype);\n }\n } else {\n try {\n throw Error();\n } catch (x) {\n control = x;\n }\n\n fn();\n }\n } catch (sample) {\n // This is inlined manually because closure doesn't do it for us.\n if (sample && control && typeof sample.stack === 'string') {\n // This extracts the first frame from the sample that isn't also in the control.\n // Skipping one frame that we assume is the frame that calls the two.\n var sampleLines = sample.stack.split('\\n');\n var controlLines = control.stack.split('\\n');\n var s = sampleLines.length - 1;\n var c = controlLines.length - 1;\n\n while (s >= 1 && c >= 0 && sampleLines[s] !== controlLines[c]) {\n // We expect at least one stack frame to be shared.\n // Typically this will be the root most one. However, stack frames may be\n // cut off due to maximum stack limits. In this case, one maybe cut off\n // earlier than the other. We assume that the sample is longer or the same\n // and there for cut off earlier. So we should find the root most frame in\n // the sample somewhere in the control.\n c--;\n }\n\n for (; s >= 1 && c >= 0; s--, c--) {\n // Next we find the first one that isn't the same which should be the\n // frame that called our sample function and the control.\n if (sampleLines[s] !== controlLines[c]) {\n // In V8, the first line is describing the message but other VMs don't.\n // If we're about to return the first line, and the control is also on the same\n // line, that's a pretty good indicator that our sample threw at same line as\n // the control. I.e. before we entered the sample frame. So we ignore this result.\n // This can happen if you passed a class to function component, or non-function.\n if (s !== 1 || c !== 1) {\n do {\n s--;\n c--; // We may still have similar intermediate frames from the construct call.\n // The next one that isn't the same should be our match though.\n\n if (c < 0 || sampleLines[s] !== controlLines[c]) {\n // V8 adds a \"new\" prefix for native classes. Let's remove it to make it prettier.\n var _frame = '\\n' + sampleLines[s].replace(' at new ', ' at '); // If our component frame is labeled \"\"\n // but we have a user-provided \"displayName\"\n // splice it in to make the stack more readable.\n\n\n if (fn.displayName && _frame.includes('')) {\n _frame = _frame.replace('', fn.displayName);\n }\n\n {\n if (typeof fn === 'function') {\n componentFrameCache.set(fn, _frame);\n }\n } // Return the line we found.\n\n\n return _frame;\n }\n } while (s >= 1 && c >= 0);\n }\n\n break;\n }\n }\n }\n } finally {\n reentry = false;\n\n {\n ReactCurrentDispatcher.current = previousDispatcher;\n reenableLogs();\n }\n\n Error.prepareStackTrace = previousPrepareStackTrace;\n } // Fallback to just using the name if we couldn't make it throw.\n\n\n var name = fn ? fn.displayName || fn.name : '';\n var syntheticFrame = name ? describeBuiltInComponentFrame(name) : '';\n\n {\n if (typeof fn === 'function') {\n componentFrameCache.set(fn, syntheticFrame);\n }\n }\n\n return syntheticFrame;\n}\nfunction describeFunctionComponentFrame(fn, source, ownerFn) {\n {\n return describeNativeComponentFrame(fn, false);\n }\n}\n\nfunction shouldConstruct(Component) {\n var prototype = Component.prototype;\n return !!(prototype && prototype.isReactComponent);\n}\n\nfunction describeUnknownElementTypeFrameInDEV(type, source, ownerFn) {\n\n if (type == null) {\n return '';\n }\n\n if (typeof type === 'function') {\n {\n return describeNativeComponentFrame(type, shouldConstruct(type));\n }\n }\n\n if (typeof type === 'string') {\n return describeBuiltInComponentFrame(type);\n }\n\n switch (type) {\n case REACT_SUSPENSE_TYPE:\n return describeBuiltInComponentFrame('Suspense');\n\n case REACT_SUSPENSE_LIST_TYPE:\n return describeBuiltInComponentFrame('SuspenseList');\n }\n\n if (typeof type === 'object') {\n switch (type.$$typeof) {\n case REACT_FORWARD_REF_TYPE:\n return describeFunctionComponentFrame(type.render);\n\n case REACT_MEMO_TYPE:\n // Memo may contain any component type so we recursively resolve it.\n return describeUnknownElementTypeFrameInDEV(type.type, source, ownerFn);\n\n case REACT_LAZY_TYPE:\n {\n var lazyComponent = type;\n var payload = lazyComponent._payload;\n var init = lazyComponent._init;\n\n try {\n // Lazy may contain any component type so we recursively resolve it.\n return describeUnknownElementTypeFrameInDEV(init(payload), source, ownerFn);\n } catch (x) {}\n }\n }\n }\n\n return '';\n}\n\nvar hasOwnProperty = Object.prototype.hasOwnProperty;\n\nvar loggedTypeFailures = {};\nvar ReactDebugCurrentFrame = ReactSharedInternals.ReactDebugCurrentFrame;\n\nfunction setCurrentlyValidatingElement(element) {\n {\n if (element) {\n var owner = element._owner;\n var stack = describeUnknownElementTypeFrameInDEV(element.type, element._source, owner ? owner.type : null);\n ReactDebugCurrentFrame.setExtraStackFrame(stack);\n } else {\n ReactDebugCurrentFrame.setExtraStackFrame(null);\n }\n }\n}\n\nfunction checkPropTypes(typeSpecs, values, location, componentName, element) {\n {\n // $FlowFixMe This is okay but Flow doesn't know it.\n var has = Function.call.bind(hasOwnProperty);\n\n for (var typeSpecName in typeSpecs) {\n if (has(typeSpecs, typeSpecName)) {\n var error$1 = void 0; // Prop type validation may throw. In case they do, we don't want to\n // fail the render phase where it didn't fail before. So we log it.\n // After these have been cleaned up, we'll let them throw.\n\n try {\n // This is intentionally an invariant that gets caught. It's the same\n // behavior as without this statement except with a better message.\n if (typeof typeSpecs[typeSpecName] !== 'function') {\n // eslint-disable-next-line react-internal/prod-error-codes\n var err = Error((componentName || 'React class') + ': ' + location + ' type `' + typeSpecName + '` is invalid; ' + 'it must be a function, usually from the `prop-types` package, but received `' + typeof typeSpecs[typeSpecName] + '`.' + 'This often happens because of typos such as `PropTypes.function` instead of `PropTypes.func`.');\n err.name = 'Invariant Violation';\n throw err;\n }\n\n error$1 = typeSpecs[typeSpecName](values, typeSpecName, componentName, location, null, 'SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED');\n } catch (ex) {\n error$1 = ex;\n }\n\n if (error$1 && !(error$1 instanceof Error)) {\n setCurrentlyValidatingElement(element);\n\n error('%s: type specification of %s' + ' `%s` is invalid; the type checker ' + 'function must return `null` or an `Error` but returned a %s. ' + 'You may have forgotten to pass an argument to the type checker ' + 'creator (arrayOf, instanceOf, objectOf, oneOf, oneOfType, and ' + 'shape all require an argument).', componentName || 'React class', location, typeSpecName, typeof error$1);\n\n setCurrentlyValidatingElement(null);\n }\n\n if (error$1 instanceof Error && !(error$1.message in loggedTypeFailures)) {\n // Only monitor this failure once because there tends to be a lot of the\n // same error.\n loggedTypeFailures[error$1.message] = true;\n setCurrentlyValidatingElement(element);\n\n error('Failed %s type: %s', location, error$1.message);\n\n setCurrentlyValidatingElement(null);\n }\n }\n }\n }\n}\n\nvar isArrayImpl = Array.isArray; // eslint-disable-next-line no-redeclare\n\nfunction isArray(a) {\n return isArrayImpl(a);\n}\n\n/*\n * The `'' + value` pattern (used in in perf-sensitive code) throws for Symbol\n * and Temporal.* types. See https://github.com/facebook/react/pull/22064.\n *\n * The functions in this module will throw an easier-to-understand,\n * easier-to-debug exception with a clear errors message message explaining the\n * problem. (Instead of a confusing exception thrown inside the implementation\n * of the `value` object).\n */\n// $FlowFixMe only called in DEV, so void return is not possible.\nfunction typeName(value) {\n {\n // toStringTag is needed for namespaced types like Temporal.Instant\n var hasToStringTag = typeof Symbol === 'function' && Symbol.toStringTag;\n var type = hasToStringTag && value[Symbol.toStringTag] || value.constructor.name || 'Object';\n return type;\n }\n} // $FlowFixMe only called in DEV, so void return is not possible.\n\n\nfunction willCoercionThrow(value) {\n {\n try {\n testStringCoercion(value);\n return false;\n } catch (e) {\n return true;\n }\n }\n}\n\nfunction testStringCoercion(value) {\n // If you ended up here by following an exception call stack, here's what's\n // happened: you supplied an object or symbol value to React (as a prop, key,\n // DOM attribute, CSS property, string ref, etc.) and when React tried to\n // coerce it to a string using `'' + value`, an exception was thrown.\n //\n // The most common types that will cause this exception are `Symbol` instances\n // and Temporal objects like `Temporal.Instant`. But any object that has a\n // `valueOf` or `[Symbol.toPrimitive]` method that throws will also cause this\n // exception. (Library authors do this to prevent users from using built-in\n // numeric operators like `+` or comparison operators like `>=` because custom\n // methods are needed to perform accurate arithmetic or comparison.)\n //\n // To fix the problem, coerce this object or symbol value to a string before\n // passing it to React. The most reliable way is usually `String(value)`.\n //\n // To find which value is throwing, check the browser or debugger console.\n // Before this exception was thrown, there should be `console.error` output\n // that shows the type (Symbol, Temporal.PlainDate, etc.) that caused the\n // problem and how that type was used: key, atrribute, input value prop, etc.\n // In most cases, this console output also shows the component and its\n // ancestor components where the exception happened.\n //\n // eslint-disable-next-line react-internal/safe-string-coercion\n return '' + value;\n}\nfunction checkKeyStringCoercion(value) {\n {\n if (willCoercionThrow(value)) {\n error('The provided key is an unsupported type %s.' + ' This value must be coerced to a string before before using it here.', typeName(value));\n\n return testStringCoercion(value); // throw (to help callers find troubleshooting comments)\n }\n }\n}\n\nvar ReactCurrentOwner = ReactSharedInternals.ReactCurrentOwner;\nvar RESERVED_PROPS = {\n key: true,\n ref: true,\n __self: true,\n __source: true\n};\nvar specialPropKeyWarningShown;\nvar specialPropRefWarningShown;\nvar didWarnAboutStringRefs;\n\n{\n didWarnAboutStringRefs = {};\n}\n\nfunction hasValidRef(config) {\n {\n if (hasOwnProperty.call(config, 'ref')) {\n var getter = Object.getOwnPropertyDescriptor(config, 'ref').get;\n\n if (getter && getter.isReactWarning) {\n return false;\n }\n }\n }\n\n return config.ref !== undefined;\n}\n\nfunction hasValidKey(config) {\n {\n if (hasOwnProperty.call(config, 'key')) {\n var getter = Object.getOwnPropertyDescriptor(config, 'key').get;\n\n if (getter && getter.isReactWarning) {\n return false;\n }\n }\n }\n\n return config.key !== undefined;\n}\n\nfunction warnIfStringRefCannotBeAutoConverted(config, self) {\n {\n if (typeof config.ref === 'string' && ReactCurrentOwner.current && self && ReactCurrentOwner.current.stateNode !== self) {\n var componentName = getComponentNameFromType(ReactCurrentOwner.current.type);\n\n if (!didWarnAboutStringRefs[componentName]) {\n error('Component \"%s\" contains the string ref \"%s\". ' + 'Support for string refs will be removed in a future major release. ' + 'This case cannot be automatically converted to an arrow function. ' + 'We ask you to manually fix this case by using useRef() or createRef() instead. ' + 'Learn more about using refs safely here: ' + 'https://reactjs.org/link/strict-mode-string-ref', getComponentNameFromType(ReactCurrentOwner.current.type), config.ref);\n\n didWarnAboutStringRefs[componentName] = true;\n }\n }\n }\n}\n\nfunction defineKeyPropWarningGetter(props, displayName) {\n {\n var warnAboutAccessingKey = function () {\n if (!specialPropKeyWarningShown) {\n specialPropKeyWarningShown = true;\n\n error('%s: `key` is not a prop. Trying to access it will result ' + 'in `undefined` being returned. If you need to access the same ' + 'value within the child component, you should pass it as a different ' + 'prop. (https://reactjs.org/link/special-props)', displayName);\n }\n };\n\n warnAboutAccessingKey.isReactWarning = true;\n Object.defineProperty(props, 'key', {\n get: warnAboutAccessingKey,\n configurable: true\n });\n }\n}\n\nfunction defineRefPropWarningGetter(props, displayName) {\n {\n var warnAboutAccessingRef = function () {\n if (!specialPropRefWarningShown) {\n specialPropRefWarningShown = true;\n\n error('%s: `ref` is not a prop. Trying to access it will result ' + 'in `undefined` being returned. If you need to access the same ' + 'value within the child component, you should pass it as a different ' + 'prop. (https://reactjs.org/link/special-props)', displayName);\n }\n };\n\n warnAboutAccessingRef.isReactWarning = true;\n Object.defineProperty(props, 'ref', {\n get: warnAboutAccessingRef,\n configurable: true\n });\n }\n}\n/**\n * Factory method to create a new React element. This no longer adheres to\n * the class pattern, so do not use new to call it. Also, instanceof check\n * will not work. Instead test $$typeof field against Symbol.for('react.element') to check\n * if something is a React Element.\n *\n * @param {*} type\n * @param {*} props\n * @param {*} key\n * @param {string|object} ref\n * @param {*} owner\n * @param {*} self A *temporary* helper to detect places where `this` is\n * different from the `owner` when React.createElement is called, so that we\n * can warn. We want to get rid of owner and replace string `ref`s with arrow\n * functions, and as long as `this` and owner are the same, there will be no\n * change in behavior.\n * @param {*} source An annotation object (added by a transpiler or otherwise)\n * indicating filename, line number, and/or other information.\n * @internal\n */\n\n\nvar ReactElement = function (type, key, ref, self, source, owner, props) {\n var element = {\n // This tag allows us to uniquely identify this as a React Element\n $$typeof: REACT_ELEMENT_TYPE,\n // Built-in properties that belong on the element\n type: type,\n key: key,\n ref: ref,\n props: props,\n // Record the component responsible for creating this element.\n _owner: owner\n };\n\n {\n // The validation flag is currently mutative. We put it on\n // an external backing store so that we can freeze the whole object.\n // This can be replaced with a WeakMap once they are implemented in\n // commonly used development environments.\n element._store = {}; // To make comparing ReactElements easier for testing purposes, we make\n // the validation flag non-enumerable (where possible, which should\n // include every environment we run tests in), so the test framework\n // ignores it.\n\n Object.defineProperty(element._store, 'validated', {\n configurable: false,\n enumerable: false,\n writable: true,\n value: false\n }); // self and source are DEV only properties.\n\n Object.defineProperty(element, '_self', {\n configurable: false,\n enumerable: false,\n writable: false,\n value: self\n }); // Two elements created in two different places should be considered\n // equal for testing purposes and therefore we hide it from enumeration.\n\n Object.defineProperty(element, '_source', {\n configurable: false,\n enumerable: false,\n writable: false,\n value: source\n });\n\n if (Object.freeze) {\n Object.freeze(element.props);\n Object.freeze(element);\n }\n }\n\n return element;\n};\n/**\n * https://github.com/reactjs/rfcs/pull/107\n * @param {*} type\n * @param {object} props\n * @param {string} key\n */\n\nfunction jsxDEV(type, config, maybeKey, source, self) {\n {\n var propName; // Reserved names are extracted\n\n var props = {};\n var key = null;\n var ref = null; // Currently, key can be spread in as a prop. This causes a potential\n // issue if key is also explicitly declared (ie.
\n // or
). We want to deprecate key spread,\n // but as an intermediary step, we will use jsxDEV for everything except\n //
, because we aren't currently able to tell if\n // key is explicitly declared to be undefined or not.\n\n if (maybeKey !== undefined) {\n {\n checkKeyStringCoercion(maybeKey);\n }\n\n key = '' + maybeKey;\n }\n\n if (hasValidKey(config)) {\n {\n checkKeyStringCoercion(config.key);\n }\n\n key = '' + config.key;\n }\n\n if (hasValidRef(config)) {\n ref = config.ref;\n warnIfStringRefCannotBeAutoConverted(config, self);\n } // Remaining properties are added to a new props object\n\n\n for (propName in config) {\n if (hasOwnProperty.call(config, propName) && !RESERVED_PROPS.hasOwnProperty(propName)) {\n props[propName] = config[propName];\n }\n } // Resolve default props\n\n\n if (type && type.defaultProps) {\n var defaultProps = type.defaultProps;\n\n for (propName in defaultProps) {\n if (props[propName] === undefined) {\n props[propName] = defaultProps[propName];\n }\n }\n }\n\n if (key || ref) {\n var displayName = typeof type === 'function' ? type.displayName || type.name || 'Unknown' : type;\n\n if (key) {\n defineKeyPropWarningGetter(props, displayName);\n }\n\n if (ref) {\n defineRefPropWarningGetter(props, displayName);\n }\n }\n\n return ReactElement(type, key, ref, self, source, ReactCurrentOwner.current, props);\n }\n}\n\nvar ReactCurrentOwner$1 = ReactSharedInternals.ReactCurrentOwner;\nvar ReactDebugCurrentFrame$1 = ReactSharedInternals.ReactDebugCurrentFrame;\n\nfunction setCurrentlyValidatingElement$1(element) {\n {\n if (element) {\n var owner = element._owner;\n var stack = describeUnknownElementTypeFrameInDEV(element.type, element._source, owner ? owner.type : null);\n ReactDebugCurrentFrame$1.setExtraStackFrame(stack);\n } else {\n ReactDebugCurrentFrame$1.setExtraStackFrame(null);\n }\n }\n}\n\nvar propTypesMisspellWarningShown;\n\n{\n propTypesMisspellWarningShown = false;\n}\n/**\n * Verifies the object is a ReactElement.\n * See https://reactjs.org/docs/react-api.html#isvalidelement\n * @param {?object} object\n * @return {boolean} True if `object` is a ReactElement.\n * @final\n */\n\n\nfunction isValidElement(object) {\n {\n return typeof object === 'object' && object !== null && object.$$typeof === REACT_ELEMENT_TYPE;\n }\n}\n\nfunction getDeclarationErrorAddendum() {\n {\n if (ReactCurrentOwner$1.current) {\n var name = getComponentNameFromType(ReactCurrentOwner$1.current.type);\n\n if (name) {\n return '\\n\\nCheck the render method of `' + name + '`.';\n }\n }\n\n return '';\n }\n}\n\nfunction getSourceInfoErrorAddendum(source) {\n {\n if (source !== undefined) {\n var fileName = source.fileName.replace(/^.*[\\\\\\/]/, '');\n var lineNumber = source.lineNumber;\n return '\\n\\nCheck your code at ' + fileName + ':' + lineNumber + '.';\n }\n\n return '';\n }\n}\n/**\n * Warn if there's no key explicitly set on dynamic arrays of children or\n * object keys are not valid. This allows us to keep track of children between\n * updates.\n */\n\n\nvar ownerHasKeyUseWarning = {};\n\nfunction getCurrentComponentErrorInfo(parentType) {\n {\n var info = getDeclarationErrorAddendum();\n\n if (!info) {\n var parentName = typeof parentType === 'string' ? parentType : parentType.displayName || parentType.name;\n\n if (parentName) {\n info = \"\\n\\nCheck the top-level render call using <\" + parentName + \">.\";\n }\n }\n\n return info;\n }\n}\n/**\n * Warn if the element doesn't have an explicit key assigned to it.\n * This element is in an array. The array could grow and shrink or be\n * reordered. All children that haven't already been validated are required to\n * have a \"key\" property assigned to it. Error statuses are cached so a warning\n * will only be shown once.\n *\n * @internal\n * @param {ReactElement} element Element that requires a key.\n * @param {*} parentType element's parent's type.\n */\n\n\nfunction validateExplicitKey(element, parentType) {\n {\n if (!element._store || element._store.validated || element.key != null) {\n return;\n }\n\n element._store.validated = true;\n var currentComponentErrorInfo = getCurrentComponentErrorInfo(parentType);\n\n if (ownerHasKeyUseWarning[currentComponentErrorInfo]) {\n return;\n }\n\n ownerHasKeyUseWarning[currentComponentErrorInfo] = true; // Usually the current owner is the offender, but if it accepts children as a\n // property, it may be the creator of the child that's responsible for\n // assigning it a key.\n\n var childOwner = '';\n\n if (element && element._owner && element._owner !== ReactCurrentOwner$1.current) {\n // Give the component that originally created this child.\n childOwner = \" It was passed a child from \" + getComponentNameFromType(element._owner.type) + \".\";\n }\n\n setCurrentlyValidatingElement$1(element);\n\n error('Each child in a list should have a unique \"key\" prop.' + '%s%s See https://reactjs.org/link/warning-keys for more information.', currentComponentErrorInfo, childOwner);\n\n setCurrentlyValidatingElement$1(null);\n }\n}\n/**\n * Ensure that every element either is passed in a static location, in an\n * array with an explicit keys property defined, or in an object literal\n * with valid key property.\n *\n * @internal\n * @param {ReactNode} node Statically passed child of any type.\n * @param {*} parentType node's parent's type.\n */\n\n\nfunction validateChildKeys(node, parentType) {\n {\n if (typeof node !== 'object') {\n return;\n }\n\n if (isArray(node)) {\n for (var i = 0; i < node.length; i++) {\n var child = node[i];\n\n if (isValidElement(child)) {\n validateExplicitKey(child, parentType);\n }\n }\n } else if (isValidElement(node)) {\n // This element was passed in a valid location.\n if (node._store) {\n node._store.validated = true;\n }\n } else if (node) {\n var iteratorFn = getIteratorFn(node);\n\n if (typeof iteratorFn === 'function') {\n // Entry iterators used to provide implicit keys,\n // but now we print a separate warning for them later.\n if (iteratorFn !== node.entries) {\n var iterator = iteratorFn.call(node);\n var step;\n\n while (!(step = iterator.next()).done) {\n if (isValidElement(step.value)) {\n validateExplicitKey(step.value, parentType);\n }\n }\n }\n }\n }\n }\n}\n/**\n * Given an element, validate that its props follow the propTypes definition,\n * provided by the type.\n *\n * @param {ReactElement} element\n */\n\n\nfunction validatePropTypes(element) {\n {\n var type = element.type;\n\n if (type === null || type === undefined || typeof type === 'string') {\n return;\n }\n\n var propTypes;\n\n if (typeof type === 'function') {\n propTypes = type.propTypes;\n } else if (typeof type === 'object' && (type.$$typeof === REACT_FORWARD_REF_TYPE || // Note: Memo only checks outer props here.\n // Inner props are checked in the reconciler.\n type.$$typeof === REACT_MEMO_TYPE)) {\n propTypes = type.propTypes;\n } else {\n return;\n }\n\n if (propTypes) {\n // Intentionally inside to avoid triggering lazy initializers:\n var name = getComponentNameFromType(type);\n checkPropTypes(propTypes, element.props, 'prop', name, element);\n } else if (type.PropTypes !== undefined && !propTypesMisspellWarningShown) {\n propTypesMisspellWarningShown = true; // Intentionally inside to avoid triggering lazy initializers:\n\n var _name = getComponentNameFromType(type);\n\n error('Component %s declared `PropTypes` instead of `propTypes`. Did you misspell the property assignment?', _name || 'Unknown');\n }\n\n if (typeof type.getDefaultProps === 'function' && !type.getDefaultProps.isReactClassApproved) {\n error('getDefaultProps is only used on classic React.createClass ' + 'definitions. Use a static property named `defaultProps` instead.');\n }\n }\n}\n/**\n * Given a fragment, validate that it can only be provided with fragment props\n * @param {ReactElement} fragment\n */\n\n\nfunction validateFragmentProps(fragment) {\n {\n var keys = Object.keys(fragment.props);\n\n for (var i = 0; i < keys.length; i++) {\n var key = keys[i];\n\n if (key !== 'children' && key !== 'key') {\n setCurrentlyValidatingElement$1(fragment);\n\n error('Invalid prop `%s` supplied to `React.Fragment`. ' + 'React.Fragment can only have `key` and `children` props.', key);\n\n setCurrentlyValidatingElement$1(null);\n break;\n }\n }\n\n if (fragment.ref !== null) {\n setCurrentlyValidatingElement$1(fragment);\n\n error('Invalid attribute `ref` supplied to `React.Fragment`.');\n\n setCurrentlyValidatingElement$1(null);\n }\n }\n}\n\nvar didWarnAboutKeySpread = {};\nfunction jsxWithValidation(type, props, key, isStaticChildren, source, self) {\n {\n var validType = isValidElementType(type); // We warn in this case but don't throw. We expect the element creation to\n // succeed and there will likely be errors in render.\n\n if (!validType) {\n var info = '';\n\n if (type === undefined || typeof type === 'object' && type !== null && Object.keys(type).length === 0) {\n info += ' You likely forgot to export your component from the file ' + \"it's defined in, or you might have mixed up default and named imports.\";\n }\n\n var sourceInfo = getSourceInfoErrorAddendum(source);\n\n if (sourceInfo) {\n info += sourceInfo;\n } else {\n info += getDeclarationErrorAddendum();\n }\n\n var typeString;\n\n if (type === null) {\n typeString = 'null';\n } else if (isArray(type)) {\n typeString = 'array';\n } else if (type !== undefined && type.$$typeof === REACT_ELEMENT_TYPE) {\n typeString = \"<\" + (getComponentNameFromType(type.type) || 'Unknown') + \" />\";\n info = ' Did you accidentally export a JSX literal instead of a component?';\n } else {\n typeString = typeof type;\n }\n\n error('React.jsx: type is invalid -- expected a string (for ' + 'built-in components) or a class/function (for composite ' + 'components) but got: %s.%s', typeString, info);\n }\n\n var element = jsxDEV(type, props, key, source, self); // The result can be nullish if a mock or a custom function is used.\n // TODO: Drop this when these are no longer allowed as the type argument.\n\n if (element == null) {\n return element;\n } // Skip key warning if the type isn't valid since our key validation logic\n // doesn't expect a non-string/function type and can throw confusing errors.\n // We don't want exception behavior to differ between dev and prod.\n // (Rendering will throw with a helpful message and as soon as the type is\n // fixed, the key warnings will appear.)\n\n\n if (validType) {\n var children = props.children;\n\n if (children !== undefined) {\n if (isStaticChildren) {\n if (isArray(children)) {\n for (var i = 0; i < children.length; i++) {\n validateChildKeys(children[i], type);\n }\n\n if (Object.freeze) {\n Object.freeze(children);\n }\n } else {\n error('React.jsx: Static children should always be an array. ' + 'You are likely explicitly calling React.jsxs or React.jsxDEV. ' + 'Use the Babel transform instead.');\n }\n } else {\n validateChildKeys(children, type);\n }\n }\n }\n\n {\n if (hasOwnProperty.call(props, 'key')) {\n var componentName = getComponentNameFromType(type);\n var keys = Object.keys(props).filter(function (k) {\n return k !== 'key';\n });\n var beforeExample = keys.length > 0 ? '{key: someKey, ' + keys.join(': ..., ') + ': ...}' : '{key: someKey}';\n\n if (!didWarnAboutKeySpread[componentName + beforeExample]) {\n var afterExample = keys.length > 0 ? '{' + keys.join(': ..., ') + ': ...}' : '{}';\n\n error('A props object containing a \"key\" prop is being spread into JSX:\\n' + ' let props = %s;\\n' + ' <%s {...props} />\\n' + 'React keys must be passed directly to JSX without using spread:\\n' + ' let props = %s;\\n' + ' <%s key={someKey} {...props} />', beforeExample, componentName, afterExample, componentName);\n\n didWarnAboutKeySpread[componentName + beforeExample] = true;\n }\n }\n }\n\n if (type === REACT_FRAGMENT_TYPE) {\n validateFragmentProps(element);\n } else {\n validatePropTypes(element);\n }\n\n return element;\n }\n} // These two functions exist to still get child warnings in dev\n// even with the prod transform. This means that jsxDEV is purely\n// opt-in behavior for better messages but that we won't stop\n// giving you warnings if you use production apis.\n\nfunction jsxWithValidationStatic(type, props, key) {\n {\n return jsxWithValidation(type, props, key, true);\n }\n}\nfunction jsxWithValidationDynamic(type, props, key) {\n {\n return jsxWithValidation(type, props, key, false);\n }\n}\n\nvar jsx = jsxWithValidationDynamic ; // we may want to special case jsxs internally to take advantage of static children.\n// for now we can ship identical prod functions\n\nvar jsxs = jsxWithValidationStatic ;\n\nexports.Fragment = REACT_FRAGMENT_TYPE;\nexports.jsx = jsx;\nexports.jsxs = jsxs;\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 * @flow\n * @format\n */\n\n'use strict';\n\nimport type {\n ____ColorValue_Internal,\n ____DangerouslyImpreciseStyle_Internal,\n ____DangerouslyImpreciseStyleProp_Internal,\n ____ImageStyle_Internal,\n ____ImageStyleProp_Internal,\n ____Styles_Internal,\n ____TextStyle_Internal,\n ____TextStyleProp_Internal,\n ____ViewStyle_Internal,\n ____ViewStyleProp_Internal,\n} from './StyleSheetTypes';\n\nconst ReactNativeStyleAttributes = require('../Components/View/ReactNativeStyleAttributes');\nconst PixelRatio = require('../Utilities/PixelRatio').default;\nconst flatten = require('./flattenStyle');\n\nexport type {NativeColorValue} from './StyleSheetTypes';\n\n/**\n * This type should be used as the type for anything that is a color. It is\n * most useful when using DynamicColorIOS which can be a string or a dynamic\n * color object.\n *\n * type props = {backgroundColor: ColorValue};\n */\nexport type ColorValue = ____ColorValue_Internal;\n\n/**\n * This type should be used as the type for a prop that is passed through\n * to a 's `style` prop. This ensures call sites of the component\n * can't pass styles that View doesn't support such as `fontSize`.`\n *\n * type Props = {style: ViewStyleProp}\n * const MyComponent = (props: Props) => \n */\nexport type ViewStyleProp = ____ViewStyleProp_Internal;\n\n/**\n * This type should be used as the type for a prop that is passed through\n * to a 's `style` prop. This ensures call sites of the component\n * can't pass styles that Text doesn't support such as `resizeMode`.`\n *\n * type Props = {style: TextStyleProp}\n * const MyComponent = (props: Props) => \n */\nexport type TextStyleProp = ____TextStyleProp_Internal;\n\n/**\n * This type should be used as the type for a prop that is passed through\n * to an 's `style` prop. This ensures call sites of the component\n * can't pass styles that Image doesn't support such as `fontSize`.`\n *\n * type Props = {style: ImageStyleProp}\n * const MyComponent = (props: Props) => \n */\nexport type ImageStyleProp = ____ImageStyleProp_Internal;\n\n/**\n * WARNING: You probably shouldn't be using this type. This type\n * is similar to the ones above except it allows styles that are accepted\n * by all of View, Text, or Image. It is therefore very unsafe to pass this\n * through to an underlying component. Using this is almost always a mistake\n * and using one of the other more restrictive types is likely the right choice.\n */\nexport type DangerouslyImpreciseStyleProp =\n ____DangerouslyImpreciseStyleProp_Internal;\n\n/**\n * Utility type for getting the values for specific style keys.\n *\n * The following is bad because position is more restrictive than 'string':\n * ```\n * type Props = {position: string};\n * ```\n *\n * You should use the following instead:\n *\n * ```\n * type Props = {position: TypeForStyleKey<'position'>};\n * ```\n *\n * This will correctly give you the type 'absolute' | 'relative'\n */\nexport type TypeForStyleKey<\n +key: $Keys<____DangerouslyImpreciseStyle_Internal>,\n> = $ElementType<____DangerouslyImpreciseStyle_Internal, key>;\n\n/**\n * This type is an object of the different possible style\n * properties that can be specified for View.\n *\n * Note that this isn't a safe way to type a style prop for a component as\n * results from StyleSheet.create return an internal identifier, not\n * an object of styles.\n *\n * If you want to type the style prop of a function,\n * consider using ViewStyleProp.\n *\n * A reasonable usage of this type is for helper functions that return an\n * object of styles to pass to a View that can't be precomputed with\n * StyleSheet.create.\n */\nexport type ViewStyle = ____ViewStyle_Internal;\n\n/**\n * This type is an object of the different possible style\n * properties that can be specified for Text.\n *\n * Note that this isn't a safe way to type a style prop for a component as\n * results from StyleSheet.create return an internal identifier, not\n * an object of styles.\n *\n * If you want to type the style prop of a function,\n * consider using TextStyleProp.\n *\n * A reasonable usage of this type is for helper functions that return an\n * object of styles to pass to a Text that can't be precomputed with\n * StyleSheet.create.\n */\nexport type TextStyle = ____TextStyle_Internal;\n\n/**\n * This type is an object of the different possible style\n * properties that can be specified for Image.\n *\n * Note that this isn't a safe way to type a style prop for a component as\n * results from StyleSheet.create return an internal identifier, not\n * an object of styles.\n *\n * If you want to type the style prop of a function,\n * consider using ImageStyleProp.\n *\n * A reasonable usage of this type is for helper functions that return an\n * object of styles to pass to an Image that can't be precomputed with\n * StyleSheet.create.\n */\nexport type ImageStyle = ____ImageStyle_Internal;\n\n/**\n * WARNING: You probably shouldn't be using this type. This type is an object\n * with all possible style keys and their values. Note that this isn't\n * a safe way to type a style prop for a component as results from\n * StyleSheet.create return an internal identifier, not an object of styles.\n *\n * If you want to type the style prop of a function, consider using\n * ViewStyleProp, TextStyleProp, or ImageStyleProp.\n *\n * This should only be used by very core utilities that operate on an object\n * containing any possible style value.\n */\nexport type DangerouslyImpreciseStyle = ____DangerouslyImpreciseStyle_Internal;\n\nlet hairlineWidth: number = PixelRatio.roundToNearestPixel(0.4);\nif (hairlineWidth === 0) {\n hairlineWidth = 1 / PixelRatio.get();\n}\n\nconst absoluteFill = {\n position: 'absolute',\n left: 0,\n right: 0,\n top: 0,\n bottom: 0,\n};\nif (__DEV__) {\n Object.freeze(absoluteFill);\n}\n\n/**\n * A StyleSheet is an abstraction similar to CSS StyleSheets\n *\n * Create a new StyleSheet:\n *\n * ```\n * const styles = StyleSheet.create({\n * container: {\n * borderRadius: 4,\n * borderWidth: 0.5,\n * borderColor: '#d6d7da',\n * },\n * title: {\n * fontSize: 19,\n * fontWeight: 'bold',\n * },\n * activeTitle: {\n * color: 'red',\n * },\n * });\n * ```\n *\n * Use a StyleSheet:\n *\n * ```\n * \n * \n * \n * ```\n *\n * Code quality:\n *\n * - By moving styles away from the render function, you're making the code\n * easier to understand.\n * - Naming the styles is a good way to add meaning to the low level components\n * in the render function.\n *\n * Performance:\n *\n * - Making a stylesheet from a style object makes it possible to refer to it\n * by ID instead of creating a new style object every time.\n * - It also allows to send the style only once through the bridge. All\n * subsequent uses are going to refer an id (not implemented yet).\n */\nmodule.exports = {\n /**\n * This is defined as the width of a thin line on the platform. It can be\n * used as the thickness of a border or division between two elements.\n * Example:\n * ```\n * {\n * borderBottomColor: '#bbb',\n * borderBottomWidth: StyleSheet.hairlineWidth\n * }\n * ```\n *\n * This constant will always be a round number of pixels (so a line defined\n * by it look crisp) and will try to match the standard width of a thin line\n * on the underlying platform. However, you should not rely on it being a\n * constant size, because on different platforms and screen densities its\n * value may be calculated differently.\n *\n * A line with hairline width may not be visible if your simulator is downscaled.\n */\n hairlineWidth,\n\n /**\n * A very common pattern is to create overlays with position absolute and zero positioning,\n * so `absoluteFill` can be used for convenience and to reduce duplication of these repeated\n * styles.\n */\n absoluteFill: (absoluteFill: any), // TODO: This should be updated after we fix downstream Flow sites.\n\n /**\n * Sometimes you may want `absoluteFill` but with a couple tweaks - `absoluteFillObject` can be\n * used to create a customized entry in a `StyleSheet`, e.g.:\n *\n * const styles = StyleSheet.create({\n * wrapper: {\n * ...StyleSheet.absoluteFillObject,\n * top: 10,\n * backgroundColor: 'transparent',\n * },\n * });\n */\n absoluteFillObject: absoluteFill,\n\n /**\n * Combines two styles such that `style2` will override any styles in `style1`.\n * If either style is falsy, the other one is returned without allocating an\n * array, saving allocations and maintaining reference equality for\n * PureComponent checks.\n */\n compose(\n style1: ?T,\n style2: ?T,\n ): ?T | $ReadOnlyArray {\n if (style1 != null && style2 != null) {\n return ([style1, style2]: $ReadOnlyArray);\n } else {\n return style1 != null ? style1 : style2;\n }\n },\n\n /**\n * Flattens an array of style objects, into one aggregated style object.\n * Alternatively, this method can be used to lookup IDs, returned by\n * StyleSheet.register.\n *\n * > **NOTE**: Exercise caution as abusing this can tax you in terms of\n * > optimizations.\n * >\n * > IDs enable optimizations through the bridge and memory in general. Referring\n * > to style objects directly will deprive you of these optimizations.\n *\n * Example:\n * ```\n * const styles = StyleSheet.create({\n * listItem: {\n * flex: 1,\n * fontSize: 16,\n * color: 'white'\n * },\n * selectedListItem: {\n * color: 'green'\n * }\n * });\n *\n * StyleSheet.flatten([styles.listItem, styles.selectedListItem])\n * // returns { flex: 1, fontSize: 16, color: 'green' }\n * ```\n * Alternative use:\n * ```\n * StyleSheet.flatten(styles.listItem);\n * // return { flex: 1, fontSize: 16, color: 'white' }\n * // Simply styles.listItem would return its ID (number)\n * ```\n * This method internally uses `StyleSheetRegistry.getStyleByID(style)`\n * to resolve style objects represented by IDs. Thus, an array of style\n * objects (instances of StyleSheet.create), are individually resolved to,\n * their respective objects, merged as one and then returned. This also explains\n * the alternative use.\n */\n flatten,\n\n /**\n * WARNING: EXPERIMENTAL. Breaking changes will probably happen a lot and will\n * not be reliably announced. The whole thing might be deleted, who knows? Use\n * at your own risk.\n *\n * Sets a function to use to pre-process a style property value. This is used\n * internally to process color and transform values. You should not use this\n * unless you really know what you are doing and have exhausted other options.\n */\n setStyleAttributePreprocessor(\n property: string,\n process: (nextProp: mixed) => mixed,\n ) {\n let value;\n\n if (ReactNativeStyleAttributes[property] === true) {\n value = {process};\n } else if (typeof ReactNativeStyleAttributes[property] === 'object') {\n value = {...ReactNativeStyleAttributes[property], process};\n } else {\n console.error(`${property} is not a valid style attribute`);\n return;\n }\n\n if (\n __DEV__ &&\n typeof value.process === 'function' &&\n typeof ReactNativeStyleAttributes[property]?.process === 'function' &&\n value.process !== ReactNativeStyleAttributes[property]?.process\n ) {\n console.warn(`Overwriting ${property} style attribute preprocessor`);\n }\n\n ReactNativeStyleAttributes[property] = value;\n },\n\n /**\n * Creates a StyleSheet style reference from the given object.\n */\n // $FlowFixMe[unsupported-variance-annotation]\n create<+S: ____Styles_Internal>(obj: S): $ReadOnly {\n // TODO: This should return S as the return type. But first,\n // we need to codemod all the callsites that are typing this\n // return value as a number (even though it was opaque).\n if (__DEV__) {\n for (const key in obj) {\n if (obj[key]) {\n Object.freeze(obj[key]);\n }\n }\n }\n return obj;\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 * @flow\n */\n\nimport type {PointerEvent} from '../Types/CoreEventTypes';\nimport type {PressEvent} from '../Types/CoreEventTypes';\nimport type {HostRef} from './getInspectorDataForViewAtPoint';\n\nimport View from '../Components/View/View';\nimport ReactNativeFeatureFlags from '../ReactNative/ReactNativeFeatureFlags';\nimport StyleSheet from '../StyleSheet/StyleSheet';\nimport Dimensions from '../Utilities/Dimensions';\nimport ElementBox from './ElementBox';\nimport * as React from 'react';\n\nconst {findNodeHandle} = require('../ReactNative/RendererProxy');\nconst getInspectorDataForViewAtPoint = require('./getInspectorDataForViewAtPoint');\n\nconst {useEffect, useState, useCallback, useRef} = React;\n\nconst hook = window.__REACT_DEVTOOLS_GLOBAL_HOOK__;\n\nexport default function DevtoolsOverlay({\n inspectedView,\n}: {\n inspectedView: ?HostRef,\n}): React.Node {\n const [inspected, setInspected] = useState(null);\n const [isInspecting, setIsInspecting] = useState(false);\n const devToolsAgentRef = useRef(null);\n\n useEffect(() => {\n let devToolsAgent = null;\n let hideTimeoutId = null;\n\n function onAgentHideNativeHighlight() {\n // we wait to actually hide in order to avoid flicker\n clearTimeout(hideTimeoutId);\n hideTimeoutId = setTimeout(() => {\n setInspected(null);\n }, 100);\n }\n\n function onAgentShowNativeHighlight(node: any) {\n clearTimeout(hideTimeoutId);\n\n // `canonical.publicInstance` => Fabric\n // `canonical` => Legacy Fabric\n // `node` => Legacy renderer\n const component =\n (node.canonical && node.canonical.publicInstance) ??\n // TODO: remove this check when syncing the new version of the renderer from React to React Native.\n node.canonical ??\n node;\n if (!component || !component.measure) {\n return;\n }\n\n component.measure((x, y, width, height, left, top) => {\n setInspected({\n frame: {left, top, width, height},\n });\n });\n }\n\n function cleanup() {\n const currentAgent = devToolsAgent;\n if (currentAgent != null) {\n currentAgent.removeListener(\n 'hideNativeHighlight',\n onAgentHideNativeHighlight,\n );\n currentAgent.removeListener(\n 'showNativeHighlight',\n onAgentShowNativeHighlight,\n );\n currentAgent.removeListener('shutdown', cleanup);\n currentAgent.removeListener(\n 'startInspectingNative',\n onStartInspectingNative,\n );\n currentAgent.removeListener(\n 'stopInspectingNative',\n onStopInspectingNative,\n );\n devToolsAgent = null;\n }\n devToolsAgentRef.current = null;\n }\n\n function onStartInspectingNative() {\n setIsInspecting(true);\n }\n\n function onStopInspectingNative() {\n setIsInspecting(false);\n }\n\n function _attachToDevtools(agent: Object) {\n devToolsAgent = agent;\n devToolsAgentRef.current = agent;\n agent.addListener('hideNativeHighlight', onAgentHideNativeHighlight);\n agent.addListener('showNativeHighlight', onAgentShowNativeHighlight);\n agent.addListener('shutdown', cleanup);\n agent.addListener('startInspectingNative', onStartInspectingNative);\n agent.addListener('stopInspectingNative', onStopInspectingNative);\n }\n\n hook.on('react-devtools', _attachToDevtools);\n if (hook.reactDevtoolsAgent) {\n _attachToDevtools(hook.reactDevtoolsAgent);\n }\n return () => {\n hook.off('react-devtools', _attachToDevtools);\n cleanup();\n };\n }, []);\n\n const findViewForLocation = useCallback(\n (x: number, y: number) => {\n const agent = devToolsAgentRef.current;\n if (agent == null) {\n return;\n }\n getInspectorDataForViewAtPoint(inspectedView, x, y, viewData => {\n const {touchedViewTag, closestInstance, frame} = viewData;\n if (closestInstance != null || touchedViewTag != null) {\n // We call `selectNode` for both non-fabric(viewTag) and fabric(instance),\n // this makes sure it works for both architectures.\n agent.selectNode(findNodeHandle(touchedViewTag));\n if (closestInstance != null) {\n agent.selectNode(closestInstance);\n }\n setInspected({\n frame,\n });\n return true;\n }\n return false;\n });\n },\n [inspectedView],\n );\n\n const stopInspecting = useCallback(() => {\n const agent = devToolsAgentRef.current;\n if (agent == null) {\n return;\n }\n agent.stopInspectingNative(true);\n setIsInspecting(false);\n setInspected(null);\n }, []);\n\n const onPointerMove = useCallback(\n (e: PointerEvent) => {\n findViewForLocation(e.nativeEvent.x, e.nativeEvent.y);\n },\n [findViewForLocation],\n );\n\n const onResponderMove = useCallback(\n (e: PressEvent) => {\n findViewForLocation(\n e.nativeEvent.touches[0].locationX,\n e.nativeEvent.touches[0].locationY,\n );\n },\n [findViewForLocation],\n );\n\n const shouldSetResponder = useCallback(\n (e: PressEvent): boolean => {\n onResponderMove(e);\n return true;\n },\n [onResponderMove],\n );\n\n let highlight = inspected ? : null;\n if (isInspecting) {\n const events =\n // Pointer events only work on fabric\n ReactNativeFeatureFlags.shouldEmitW3CPointerEvents()\n ? {\n onPointerMove,\n onPointerDown: onPointerMove,\n onPointerUp: stopInspecting,\n }\n : {\n onStartShouldSetResponder: shouldSetResponder,\n onResponderMove: onResponderMove,\n onResponderRelease: stopInspecting,\n };\n return (\n \n {highlight}\n \n );\n }\n return highlight;\n}\n\nconst styles = StyleSheet.create({\n inspector: {\n backgroundColor: 'transparent',\n position: 'absolute',\n left: 0,\n top: 0,\n right: 0,\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 * @flow strict-local\n */\n\n'use strict';\n\nconst View = require('../Components/View/View');\nconst flattenStyle = require('../StyleSheet/flattenStyle');\nconst StyleSheet = require('../StyleSheet/StyleSheet');\nconst Dimensions = require('../Utilities/Dimensions').default;\nconst BorderBox = require('./BorderBox');\nconst resolveBoxStyle = require('./resolveBoxStyle');\nconst React = require('react');\n\nclass ElementBox extends React.Component<$FlowFixMeProps> {\n render(): React.Node {\n // $FlowFixMe[underconstrained-implicit-instantiation]\n const style = flattenStyle(this.props.style) || {};\n let margin = resolveBoxStyle('margin', style);\n let padding = resolveBoxStyle('padding', style);\n\n const frameStyle = {...this.props.frame};\n const contentStyle: {width: number, height: number} = {\n width: this.props.frame.width,\n height: this.props.frame.height,\n };\n\n if (margin != null) {\n margin = resolveRelativeSizes(margin);\n\n frameStyle.top -= margin.top;\n frameStyle.left -= margin.left;\n frameStyle.height += margin.top + margin.bottom;\n frameStyle.width += margin.left + margin.right;\n\n if (margin.top < 0) {\n contentStyle.height += margin.top;\n }\n if (margin.bottom < 0) {\n contentStyle.height += margin.bottom;\n }\n if (margin.left < 0) {\n contentStyle.width += margin.left;\n }\n if (margin.right < 0) {\n contentStyle.width += margin.right;\n }\n }\n\n if (padding != null) {\n padding = resolveRelativeSizes(padding);\n\n contentStyle.width -= padding.left + padding.right;\n contentStyle.height -= padding.top + padding.bottom;\n }\n\n return (\n \n \n \n \n \n \n \n );\n }\n}\n\nconst styles = StyleSheet.create({\n frame: {\n position: 'absolute',\n },\n content: {\n backgroundColor: 'rgba(200, 230, 255, 0.8)', // blue\n },\n padding: {\n borderColor: 'rgba(77, 255, 0, 0.3)', // green\n },\n margin: {\n borderColor: 'rgba(255, 132, 0, 0.3)', // orange\n },\n});\n\ntype Style = {\n top: number,\n right: number,\n bottom: number,\n left: number,\n ...\n};\n\n/**\n * Resolves relative sizes (percentages and auto) in a style object.\n *\n * @param style the style to resolve\n * @return a modified copy\n */\nfunction resolveRelativeSizes(style: $ReadOnly