 @@ -13,6 +13,7 @@
  import type {StackFrame} from '../NativeExceptionsManager';
  import type {HermesParsedStack} from './parseHermesStack';
-
+ 
 +const stacktraceParser = require('stacktrace-parser');
  const parseHermesStack = require('./parseHermesStack');
-
+ 
  function convertHermesStack(stack: HermesParsedStack): Array<StackFrame> {
 @@ -43,7 +44,6 @@ function parseErrorStack(errorStack?: string): Array<StackFrame> {
      return [];
    }
-
+ 
 -  const stacktraceParser = require('stacktrace-parser');
    const parsedStack = Array.isArray(errorStack)
      ? errorStack

     const NSUInteger RCTMaxTouches = 11; // This is the maximum supported by iDevices
     NSInteger touchID = ([_reactTouches.lastObject[@"identifier"] integerValue] + 1) % RCTMaxTouches;
diff --git a/node_modules/react-native/scripts/find-node.sh b/node_modules/react-native/scripts/find-node.sh
index c498ba6..d5793ed 100755
--- a/node_modules/react-native/scripts/find-node.sh
+++ b/node_modules/react-native/scripts/find-node.sh
@@ -37,3 +37,12 @@ if [[ ! -x node && -d ${HOME}/.anyenv/bin ]]; then
     eval "$(anyenv init -)"
   fi
 fi

@@ -112,6 +113,16 @@ RCT_NOT_IMPLEMENTED(-(instancetype)initWithTarget : (id)target action : (SEL)act
       continue;
     }
 
+    UIView *touchRootView = touch.view;
+    while (touchRootView && ![touchRootView isKindOfClass:RCTRootContentView.class]) {
+      touchRootView = touchRootView.superview;
