diff --git a/__mocks__/realm.js b/__mocks__/realm.js
deleted file mode 100644
index 8845406ec..000000000
--- a/__mocks__/realm.js
+++ /dev/null
@@ -1,26 +0,0 @@
-export default class Realm {
- schema = [];
-
- data = [];
-
- constructor(params) {
- require('lodash').each(params.schema, (schema) => {
- this.data[schema.name] = [];
- this.data[schema.name].filtered = () => this.data[schema.name];
- });
- this.schema = params.schema;
- }
-
- objects(schemaName) {
- return this.data[schemaName];
- }
-
- write = (fn) => {
- fn();
- }
-
- create(schemaName, data) {
- this.data[schemaName].push(data);
- return data;
- }
-}
diff --git a/android/app/build.gradle b/android/app/build.gradle
index 8bfba8c2d..5e10fd002 100644
--- a/android/app/build.gradle
+++ b/android/app/build.gradle
@@ -1,4 +1,5 @@
apply plugin: "com.android.application"
+apply plugin: 'kotlin-android'
apply plugin: "io.fabric"
apply plugin: "com.google.firebase.firebase-perf"
apply plugin: 'com.bugsnag.android.gradle'
@@ -204,6 +205,7 @@ android {
dependencies {
addUnimodulesDependencies()
+ implementation project(':watermelondb')
implementation project(':reactnativenotifications')
implementation project(":reactnativekeyboardinput")
implementation fileTree(dir: "libs", include: ["*.jar"])
diff --git a/android/app/src/main/java/chat/rocket/reactnative/MainApplication.java b/android/app/src/main/java/chat/rocket/reactnative/MainApplication.java
index 5640f910b..da2d6a82b 100644
--- a/android/app/src/main/java/chat/rocket/reactnative/MainApplication.java
+++ b/android/app/src/main/java/chat/rocket/reactnative/MainApplication.java
@@ -31,6 +31,8 @@ import io.invertase.firebase.fabric.crashlytics.RNFirebaseCrashlyticsPackage;
import io.invertase.firebase.analytics.RNFirebaseAnalyticsPackage;
import io.invertase.firebase.perf.RNFirebasePerformancePackage;
+import com.nozbe.watermelondb.WatermelonDBPackage;
+
import java.util.Arrays;
import java.util.List;
@@ -53,6 +55,7 @@ public class MainApplication extends Application implements ReactApplication, IN
packages.add(new RNFirebasePerformancePackage());
packages.add(new KeyboardInputPackage(MainApplication.this));
packages.add(new RNNotificationsPackage(MainApplication.this));
+ packages.add(new WatermelonDBPackage());
packages.add(new ModuleRegistryAdapter(mModuleRegistryProvider));
return packages;
}
diff --git a/android/build.gradle b/android/build.gradle
index ff5b93f90..3293dc13c 100644
--- a/android/build.gradle
+++ b/android/build.gradle
@@ -6,10 +6,7 @@ buildscript {
compileSdkVersion = 28
targetSdkVersion = 28
glideVersion = "4.9.0"
- // googlePlayServicesVersion = "17.0.0"
- // supportLibVersion = "1.0.2"
- // mediaCompatVersion = '1.0.1'
- // supportV4Version = '1.0.0'
+ kotlin_version = "1.3.50"
}
repositories {
mavenLocal()
@@ -24,6 +21,7 @@ buildscript {
classpath 'com.google.gms:google-services:4.2.0'
classpath 'io.fabric.tools:gradle:1.28.1'
classpath 'com.google.firebase:perf-plugin:1.2.1'
+ classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
classpath 'com.bugsnag:bugsnag-android-gradle-plugin:4.+'
// NOTE: Do not place your application dependencies here; they belong
diff --git a/android/settings.gradle b/android/settings.gradle
index 060de5091..db6d01bab 100644
--- a/android/settings.gradle
+++ b/android/settings.gradle
@@ -2,6 +2,8 @@ apply from: '../node_modules/react-native-unimodules/gradle.groovy'
includeUnimodulesProjects()
rootProject.name = 'RocketChatRN'
+include ':watermelondb'
+project(':watermelondb').projectDir = new File(rootProject.projectDir, '../node_modules/@nozbe/watermelondb/native/android')
include ':reactnativenotifications'
project(':reactnativenotifications').projectDir = new File(rootProject.projectDir, '../node_modules/react-native-notifications/android/app')
include ':reactnativekeyboardinput'
diff --git a/app/actions/actionsTypes.js b/app/actions/actionsTypes.js
index bfbdb0883..543070623 100644
--- a/app/actions/actionsTypes.js
+++ b/app/actions/actionsTypes.js
@@ -32,31 +32,7 @@ export const ROOMS = createRequestTypes('ROOMS', [
]);
export const ROOM = createRequestTypes('ROOM', ['LEAVE', 'ERASE', 'USER_TYPING']);
export const APP = createRequestTypes('APP', ['START', 'READY', 'INIT']);
-export const MESSAGES = createRequestTypes('MESSAGES', [
- ...defaultTypes,
- 'ACTIONS_SHOW',
- 'ACTIONS_HIDE',
- 'ERROR_ACTIONS_SHOW',
- 'ERROR_ACTIONS_HIDE',
- 'DELETE_REQUEST',
- 'DELETE_SUCCESS',
- 'DELETE_FAILURE',
- 'EDIT_INIT',
- 'EDIT_CANCEL',
- 'EDIT_REQUEST',
- 'EDIT_SUCCESS',
- 'EDIT_FAILURE',
- 'TOGGLE_STAR_REQUEST',
- 'TOGGLE_STAR_SUCCESS',
- 'TOGGLE_STAR_FAILURE',
- 'TOGGLE_PIN_REQUEST',
- 'TOGGLE_PIN_SUCCESS',
- 'TOGGLE_PIN_FAILURE',
- 'REPLY_INIT',
- 'REPLY_CANCEL',
- 'TOGGLE_REACTION_PICKER',
- 'REPLY_BROADCAST'
-]);
+export const MESSAGES = createRequestTypes('MESSAGES', ['REPLY_BROADCAST']);
export const CREATE_CHANNEL = createRequestTypes('CREATE_CHANNEL', [...defaultTypes]);
export const SELECTED_USERS = createRequestTypes('SELECTED_USERS', ['ADD_USER', 'REMOVE_USER', 'RESET', 'SET_LOADING']);
export const SERVER = createRequestTypes('SERVER', [
@@ -75,3 +51,6 @@ export const SORT_PREFERENCES = createRequestTypes('SORT_PREFERENCES', ['SET_ALL
export const NOTIFICATION = createRequestTypes('NOTIFICATION', ['RECEIVED', 'REMOVE']);
export const TOGGLE_MARKDOWN = 'TOGGLE_MARKDOWN';
export const TOGGLE_CRASH_REPORT = 'TOGGLE_CRASH_REPORT';
+export const SET_CUSTOM_EMOJIS = 'SET_CUSTOM_EMOJIS';
+export const SET_ACTIVE_USERS = 'SET_ACTIVE_USERS';
+export const USERS_TYPING = createRequestTypes('USERS_TYPING', ['ADD', 'REMOVE', 'CLEAR']);
diff --git a/app/actions/activeUsers.js b/app/actions/activeUsers.js
new file mode 100644
index 000000000..fc359602c
--- /dev/null
+++ b/app/actions/activeUsers.js
@@ -0,0 +1,8 @@
+import { SET_ACTIVE_USERS } from './actionsTypes';
+
+export function setActiveUsers(activeUsers) {
+ return {
+ type: SET_ACTIVE_USERS,
+ activeUsers
+ };
+}
diff --git a/app/actions/customEmojis.js b/app/actions/customEmojis.js
new file mode 100644
index 000000000..740a936ac
--- /dev/null
+++ b/app/actions/customEmojis.js
@@ -0,0 +1,8 @@
+import * as types from './actionsTypes';
+
+export function setCustomEmojis(emojis) {
+ return {
+ type: types.SET_CUSTOM_EMOJIS,
+ emojis
+ };
+}
diff --git a/app/actions/messages.js b/app/actions/messages.js
index f8784cde7..9f40809c7 100644
--- a/app/actions/messages.js
+++ b/app/actions/messages.js
@@ -1,143 +1,5 @@
import * as types from './actionsTypes';
-export function actionsShow(actionMessage) {
- return {
- type: types.MESSAGES.ACTIONS_SHOW,
- actionMessage
- };
-}
-
-export function actionsHide() {
- return {
- type: types.MESSAGES.ACTIONS_HIDE
- };
-}
-
-export function errorActionsShow(actionMessage) {
- return {
- type: types.MESSAGES.ERROR_ACTIONS_SHOW,
- actionMessage
- };
-}
-
-export function errorActionsHide() {
- return {
- type: types.MESSAGES.ERROR_ACTIONS_HIDE
- };
-}
-
-export function deleteRequest(message) {
- return {
- type: types.MESSAGES.DELETE_REQUEST,
- message
- };
-}
-
-export function deleteSuccess() {
- return {
- type: types.MESSAGES.DELETE_SUCCESS
- };
-}
-
-export function deleteFailure() {
- return {
- type: types.MESSAGES.DELETE_FAILURE
- };
-}
-
-
-export function editInit(message) {
- return {
- type: types.MESSAGES.EDIT_INIT,
- message
- };
-}
-
-export function editCancel() {
- return {
- type: types.MESSAGES.EDIT_CANCEL
- };
-}
-
-export function editRequest(message) {
- return {
- type: types.MESSAGES.EDIT_REQUEST,
- message
- };
-}
-
-export function editSuccess() {
- return {
- type: types.MESSAGES.EDIT_SUCCESS
- };
-}
-
-export function editFailure() {
- return {
- type: types.MESSAGES.EDIT_FAILURE
- };
-}
-
-export function toggleStarRequest(message) {
- return {
- type: types.MESSAGES.TOGGLE_STAR_REQUEST,
- message
- };
-}
-
-export function toggleStarSuccess() {
- return {
- type: types.MESSAGES.TOGGLE_STAR_SUCCESS
- };
-}
-
-export function toggleStarFailure() {
- return {
- type: types.MESSAGES.TOGGLE_STAR_FAILURE
- };
-}
-
-export function togglePinRequest(message) {
- return {
- type: types.MESSAGES.TOGGLE_PIN_REQUEST,
- message
- };
-}
-
-export function togglePinSuccess() {
- return {
- type: types.MESSAGES.TOGGLE_PIN_SUCCESS
- };
-}
-
-export function togglePinFailure(err) {
- return {
- type: types.MESSAGES.TOGGLE_PIN_FAILURE,
- err
- };
-}
-
-export function replyInit(message, mention) {
- return {
- type: types.MESSAGES.REPLY_INIT,
- message,
- mention
- };
-}
-
-export function replyCancel() {
- return {
- type: types.MESSAGES.REPLY_CANCEL
- };
-}
-
-export function toggleReactionPicker(message) {
- return {
- type: types.MESSAGES.TOGGLE_REACTION_PICKER,
- message
- };
-}
-
export function replyBroadcast(message) {
return {
type: types.MESSAGES.REPLY_BROADCAST,
diff --git a/app/actions/usersTyping.js b/app/actions/usersTyping.js
new file mode 100644
index 000000000..fb8f5980b
--- /dev/null
+++ b/app/actions/usersTyping.js
@@ -0,0 +1,21 @@
+import { USERS_TYPING } from './actionsTypes';
+
+export function addUserTyping(username) {
+ return {
+ type: USERS_TYPING.ADD,
+ username
+ };
+}
+
+export function removeUserTyping(username) {
+ return {
+ type: USERS_TYPING.REMOVE,
+ username
+ };
+}
+
+export function clearUserTyping() {
+ return {
+ type: USERS_TYPING.CLEAR
+ };
+}
diff --git a/app/containers/EmojiPicker/index.js b/app/containers/EmojiPicker/index.js
index cfe572559..251e6b212 100644
--- a/app/containers/EmojiPicker/index.js
+++ b/app/containers/EmojiPicker/index.js
@@ -2,26 +2,30 @@ import React, { Component } from 'react';
import PropTypes from 'prop-types';
import { ScrollView } from 'react-native';
import ScrollableTabView from 'react-native-scrollable-tab-view';
-import map from 'lodash/map';
import { emojify } from 'react-emojione';
import equal from 'deep-equal';
+import { connect } from 'react-redux';
+import orderBy from 'lodash/orderBy';
+import { sanitizedRaw } from '@nozbe/watermelondb/RawRecord';
import TabBar from './TabBar';
import EmojiCategory from './EmojiCategory';
import styles from './styles';
import categories from './categories';
-import database, { safeAddListener } from '../../lib/realm';
+import database from '../../lib/database';
import { emojisByCategory } from '../../emojis';
import protectedFunction from '../../lib/methods/helpers/protectedFunction';
+import log from '../../utils/log';
const scrollProps = {
keyboardShouldPersistTaps: 'always',
keyboardDismissMode: 'none'
};
-export default class EmojiPicker extends Component {
+class EmojiPicker extends Component {
static propTypes = {
baseUrl: PropTypes.string.isRequired,
+ customEmojis: PropTypes.object,
onEmojiSelected: PropTypes.func,
tabEmojiStyle: PropTypes.object,
emojisPerRow: PropTypes.number,
@@ -30,27 +34,27 @@ export default class EmojiPicker extends Component {
constructor(props) {
super(props);
- this.frequentlyUsed = database.objects('frequentlyUsedEmoji').sorted('count', true);
- this.customEmojis = database.objects('customEmojis');
+ const customEmojis = Object.keys(props.customEmojis)
+ .filter(item => item === props.customEmojis[item].name)
+ .map(item => ({
+ content: props.customEmojis[item].name,
+ extension: props.customEmojis[item].extension,
+ isCustom: true
+ }));
this.state = {
frequentlyUsed: [],
- customEmojis: [],
+ customEmojis,
show: false
};
- this.updateFrequentlyUsed = this.updateFrequentlyUsed.bind(this);
- this.updateCustomEmojis = this.updateCustomEmojis.bind(this);
}
- componentDidMount() {
- this.updateFrequentlyUsed();
- this.updateCustomEmojis();
- requestAnimationFrame(() => this.setState({ show: true }));
- safeAddListener(this.frequentlyUsed, this.updateFrequentlyUsed);
- safeAddListener(this.customEmojis, this.updateCustomEmojis);
+ async componentDidMount() {
+ await this.updateFrequentlyUsed();
+ this.setState({ show: true });
}
shouldComponentUpdate(nextProps, nextState) {
- const { frequentlyUsed, customEmojis, show } = this.state;
+ const { frequentlyUsed, show } = this.state;
const { width } = this.props;
if (nextState.show !== show) {
return true;
@@ -61,64 +65,70 @@ export default class EmojiPicker extends Component {
if (!equal(nextState.frequentlyUsed, frequentlyUsed)) {
return true;
}
- if (!equal(nextState.customEmojis, customEmojis)) {
- return true;
- }
return false;
}
- componentWillUnmount() {
- this.frequentlyUsed.removeAllListeners();
- this.customEmojis.removeAllListeners();
- }
-
- onEmojiSelected(emoji) {
- const { onEmojiSelected } = this.props;
- if (emoji.isCustom) {
- const count = this._getFrequentlyUsedCount(emoji.content);
- this._addFrequentlyUsed({
- content: emoji.content, extension: emoji.extension, count, isCustom: true
- });
- onEmojiSelected(`:${ emoji.content }:`);
- } else {
- const content = emoji;
- const count = this._getFrequentlyUsedCount(content);
- this._addFrequentlyUsed({ content, count, isCustom: false });
- const shortname = `:${ emoji }:`;
- onEmojiSelected(emojify(shortname, { output: 'unicode' }), shortname);
+ onEmojiSelected = (emoji) => {
+ try {
+ const { onEmojiSelected } = this.props;
+ if (emoji.isCustom) {
+ this._addFrequentlyUsed({
+ content: emoji.content, extension: emoji.extension, isCustom: true
+ });
+ onEmojiSelected(`:${ emoji.content }:`);
+ } else {
+ const content = emoji;
+ this._addFrequentlyUsed({ content, isCustom: false });
+ const shortname = `:${ emoji }:`;
+ onEmojiSelected(emojify(shortname, { output: 'unicode' }), shortname);
+ }
+ } catch (e) {
+ log(e);
}
}
// eslint-disable-next-line react/sort-comp
- _addFrequentlyUsed = protectedFunction((emoji) => {
- database.write(() => {
- database.create('frequentlyUsedEmoji', emoji, true);
+ _addFrequentlyUsed = protectedFunction(async(emoji) => {
+ const db = database.active;
+ const freqEmojiCollection = db.collections.get('frequently_used_emojis');
+ await db.action(async() => {
+ try {
+ const freqEmojiRecord = await freqEmojiCollection.find(emoji.content);
+ await freqEmojiRecord.update((f) => {
+ f.count += 1;
+ });
+ } catch (error) {
+ try {
+ await freqEmojiCollection.create((f) => {
+ f._raw = sanitizedRaw({ id: emoji.content }, freqEmojiCollection.schema);
+ Object.assign(f, emoji);
+ f.count = 1;
+ });
+ } catch (e) {
+ // Do nothing
+ }
+ }
});
})
- _getFrequentlyUsedCount = (content) => {
- const emojiRow = this.frequentlyUsed.filtered('content == $0', content);
- return emojiRow.length ? emojiRow[0].count + 1 : 1;
- }
-
- updateFrequentlyUsed() {
- const frequentlyUsed = map(this.frequentlyUsed.slice(), (item) => {
+ updateFrequentlyUsed = async() => {
+ const db = database.active;
+ const frequentlyUsedRecords = await db.collections.get('frequently_used_emojis').query().fetch();
+ let frequentlyUsed = orderBy(frequentlyUsedRecords, ['count'], ['desc']);
+ frequentlyUsed = frequentlyUsed.map((item) => {
if (item.isCustom) {
- return item;
+ return { content: item.content, extension: item.extension, isCustom: item.isCustom };
}
return emojify(`${ item.content }`, { output: 'unicode' });
});
this.setState({ frequentlyUsed });
}
- updateCustomEmojis() {
- const customEmojis = map(this.customEmojis.slice(), item => ({ content: item.name, extension: item.extension, isCustom: true }));
- this.setState({ customEmojis });
- }
-
renderCategory(category, i) {
const { frequentlyUsed, customEmojis } = this.state;
- const { emojisPerRow, width, baseUrl } = this.props;
+ const {
+ emojisPerRow, width, baseUrl
+ } = this.props;
let emojis = [];
if (i === 0) {
@@ -171,3 +181,9 @@ export default class EmojiPicker extends Component {
);
}
}
+
+const mapStateToProps = state => ({
+ customEmojis: state.customEmojis
+});
+
+export default connect(mapStateToProps)(EmojiPicker);
diff --git a/app/containers/MessageActions.js b/app/containers/MessageActions.js
index 161dbaf4f..0710fa1d6 100644
--- a/app/containers/MessageActions.js
+++ b/app/containers/MessageActions.js
@@ -6,17 +6,8 @@ import ActionSheet from 'react-native-action-sheet';
import moment from 'moment';
import * as Haptics from 'expo-haptics';
-import {
- actionsHide as actionsHideAction,
- deleteRequest as deleteRequestAction,
- editInit as editInitAction,
- replyInit as replyInitAction,
- togglePinRequest as togglePinRequestAction,
- toggleReactionPicker as toggleReactionPickerAction,
- toggleStarRequest as toggleStarRequestAction
-} from '../actions/messages';
import RocketChat from '../lib/rocketchat';
-import database from '../lib/realm';
+import database from '../lib/database';
import I18n from '../i18n';
import log from '../utils/log';
import Navigation from '../lib/Navigation';
@@ -28,14 +19,12 @@ class MessageActions extends React.Component {
static propTypes = {
actionsHide: PropTypes.func.isRequired,
room: PropTypes.object.isRequired,
- actionMessage: PropTypes.object,
+ message: PropTypes.object,
user: PropTypes.object,
- deleteRequest: PropTypes.func.isRequired,
editInit: PropTypes.func.isRequired,
- toggleStarRequest: PropTypes.func.isRequired,
- togglePinRequest: PropTypes.func.isRequired,
- toggleReactionPicker: PropTypes.func.isRequired,
+ reactionInit: PropTypes.func.isRequired,
replyInit: PropTypes.func.isRequired,
+ isReadOnly: PropTypes.bool,
Message_AllowDeleting: PropTypes.bool,
Message_AllowDeleting_BlockDeleteInMinutes: PropTypes.number,
Message_AllowEditing: PropTypes.bool,
@@ -48,22 +37,27 @@ class MessageActions extends React.Component {
constructor(props) {
super(props);
this.handleActionPress = this.handleActionPress.bind(this);
- this.setPermissions();
+ }
- const { Message_AllowStarring, Message_AllowPinning, Message_Read_Receipt_Store_Users } = this.props;
+ async componentDidMount() {
+ await this.setPermissions();
+
+ const {
+ Message_AllowStarring, Message_AllowPinning, Message_Read_Receipt_Store_Users, user, room, message, isReadOnly
+ } = this.props;
// Cancel
this.options = [I18n.t('Cancel')];
this.CANCEL_INDEX = 0;
// Reply
- if (!this.isRoomReadOnly()) {
+ if (!isReadOnly) {
this.options.push(I18n.t('Reply'));
this.REPLY_INDEX = this.options.length - 1;
}
// Edit
- if (this.allowEdit(props)) {
+ if (this.allowEdit(this.props)) {
this.options.push(I18n.t('Edit'));
this.EDIT_INDEX = this.options.length - 1;
}
@@ -81,25 +75,25 @@ class MessageActions extends React.Component {
this.SHARE_INDEX = this.options.length - 1;
// Quote
- if (!this.isRoomReadOnly()) {
+ if (!isReadOnly) {
this.options.push(I18n.t('Quote'));
this.QUOTE_INDEX = this.options.length - 1;
}
// Star
if (Message_AllowStarring) {
- this.options.push(I18n.t(props.actionMessage.starred ? 'Unstar' : 'Star'));
+ this.options.push(I18n.t(message.starred ? 'Unstar' : 'Star'));
this.STAR_INDEX = this.options.length - 1;
}
// Pin
if (Message_AllowPinning) {
- this.options.push(I18n.t(props.actionMessage.pinned ? 'Unpin' : 'Pin'));
+ this.options.push(I18n.t(message.pinned ? 'Unpin' : 'Pin'));
this.PIN_INDEX = this.options.length - 1;
}
// Reaction
- if (!this.isRoomReadOnly() || this.canReactWhenReadOnly()) {
+ if (!isReadOnly || this.canReactWhenReadOnly()) {
this.options.push(I18n.t('Add_Reaction'));
this.REACTION_INDEX = this.options.length - 1;
}
@@ -111,8 +105,8 @@ class MessageActions extends React.Component {
}
// Toggle Auto-translate
- if (props.room.autoTranslate && props.actionMessage.u && props.actionMessage.u._id !== props.user.id) {
- this.options.push(I18n.t(props.actionMessage.autoTranslate ? 'View_Original' : 'Translate'));
+ if (room.autoTranslate && message.u && message.u._id !== user.id) {
+ this.options.push(I18n.t(message.autoTranslate ? 'View_Original' : 'Translate'));
this.TOGGLE_TRANSLATION_INDEX = this.options.length - 1;
}
@@ -121,7 +115,7 @@ class MessageActions extends React.Component {
this.REPORT_INDEX = this.options.length - 1;
// Delete
- if (this.allowDelete(props)) {
+ if (this.allowDelete(this.props)) {
this.options.push(I18n.t('Delete'));
this.DELETE_INDEX = this.options.length - 1;
}
@@ -131,13 +125,18 @@ class MessageActions extends React.Component {
});
}
- setPermissions() {
- const { room } = this.props;
- const permissions = ['edit-message', 'delete-message', 'force-delete-message'];
- const result = RocketChat.hasPermission(permissions, room.rid);
- this.hasEditPermission = result[permissions[0]];
- this.hasDeletePermission = result[permissions[1]];
- this.hasForceDeletePermission = result[permissions[2]];
+ async setPermissions() {
+ try {
+ const { room } = this.props;
+ const permissions = ['edit-message', 'delete-message', 'force-delete-message'];
+ const result = await RocketChat.hasPermission(permissions, room.rid);
+ this.hasEditPermission = result[permissions[0]];
+ this.hasDeletePermission = result[permissions[1]];
+ this.hasForceDeletePermission = result[permissions[2]];
+ } catch (e) {
+ log(e);
+ }
+ Promise.resolve();
}
showActionSheet = () => {
@@ -159,12 +158,7 @@ class MessageActions extends React.Component {
}
}
- isOwn = props => props.actionMessage.u && props.actionMessage.u._id === props.user.id;
-
- isRoomReadOnly = () => {
- const { room } = this.props;
- return room.ro;
- }
+ isOwn = props => props.message.u && props.message.u._id === props.user.id;
canReactWhenReadOnly = () => {
const { room } = this.props;
@@ -172,7 +166,7 @@ class MessageActions extends React.Component {
}
allowEdit = (props) => {
- if (this.isRoomReadOnly()) {
+ if (props.isReadOnly) {
return false;
}
const editOwn = this.isOwn(props);
@@ -184,8 +178,8 @@ class MessageActions extends React.Component {
const blockEditInMinutes = Message_AllowEditing_BlockEditInMinutes;
if (blockEditInMinutes) {
let msgTs;
- if (props.actionMessage.ts != null) {
- msgTs = moment(props.actionMessage.ts);
+ if (props.message.ts != null) {
+ msgTs = moment(props.message.ts);
}
let currentTsDiff;
if (msgTs != null) {
@@ -197,12 +191,12 @@ class MessageActions extends React.Component {
}
allowDelete = (props) => {
- if (this.isRoomReadOnly()) {
+ if (props.isReadOnly) {
return false;
}
// Prevent from deleting thread start message when positioned inside the thread
- if (props.tmid && props.tmid === props.actionMessage._id) {
+ if (props.tmid && props.tmid === props.message.id) {
return false;
}
const deleteOwn = this.isOwn(props);
@@ -216,8 +210,8 @@ class MessageActions extends React.Component {
const blockDeleteInMinutes = Message_AllowDeleting_BlockDeleteInMinutes;
if (blockDeleteInMinutes != null && blockDeleteInMinutes !== 0) {
let msgTs;
- if (props.actionMessage.ts != null) {
- msgTs = moment(props.actionMessage.ts);
+ if (props.message.ts != null) {
+ msgTs = moment(props.message.ts);
}
let currentTsDiff;
if (msgTs != null) {
@@ -229,7 +223,7 @@ class MessageActions extends React.Component {
}
handleDelete = () => {
- const { deleteRequest, actionMessage } = this.props;
+ const { message } = this.props;
Alert.alert(
I18n.t('Are_you_sure_question_mark'),
I18n.t('You_will_not_be_able_to_recover_this_message'),
@@ -241,7 +235,13 @@ class MessageActions extends React.Component {
{
text: I18n.t('Yes_action_it', { action: 'delete' }),
style: 'destructive',
- onPress: () => deleteRequest(actionMessage)
+ onPress: async() => {
+ try {
+ await RocketChat.deleteMessage(message.id, message.rid);
+ } catch (e) {
+ log(e);
+ }
+ }
}
],
{ cancelable: false }
@@ -249,66 +249,73 @@ class MessageActions extends React.Component {
}
handleEdit = () => {
- const { actionMessage, editInit } = this.props;
- const { _id, msg, rid } = actionMessage;
- editInit({ _id, msg, rid });
+ const { message, editInit } = this.props;
+ editInit(message);
}
handleCopy = async() => {
- const { actionMessage } = this.props;
- await Clipboard.setString(actionMessage.msg);
+ const { message } = this.props;
+ await Clipboard.setString(message.msg);
EventEmitter.emit(LISTENER, { message: I18n.t('Copied_to_clipboard') });
}
handleShare = async() => {
- const { actionMessage } = this.props;
- const permalink = await this.getPermalink(actionMessage);
+ const { message } = this.props;
+ const permalink = await this.getPermalink(message);
Share.share({
message: permalink
});
};
- handleStar = () => {
- const { actionMessage, toggleStarRequest } = this.props;
- toggleStarRequest(actionMessage);
+ handleStar = async() => {
+ const { message } = this.props;
+ try {
+ await RocketChat.toggleStarMessage(message.id, message.starred);
+ } catch (e) {
+ log(e);
+ }
}
handlePermalink = async() => {
- const { actionMessage } = this.props;
- const permalink = await this.getPermalink(actionMessage);
+ const { message } = this.props;
+ const permalink = await this.getPermalink(message);
Clipboard.setString(permalink);
EventEmitter.emit(LISTENER, { message: I18n.t('Permalink_copied_to_clipboard') });
}
- handlePin = () => {
- const { actionMessage, togglePinRequest } = this.props;
- togglePinRequest(actionMessage);
+ handlePin = async() => {
+ const { message } = this.props;
+ try {
+ await RocketChat.togglePinMessage(message.id, message.pinned);
+ } catch (e) {
+ log(e);
+ }
}
handleReply = () => {
- const { actionMessage, replyInit } = this.props;
- replyInit(actionMessage, true);
+ const { message, replyInit } = this.props;
+ replyInit(message, true);
}
handleQuote = () => {
- const { actionMessage, replyInit } = this.props;
- replyInit(actionMessage, false);
+ const { message, replyInit } = this.props;
+ replyInit(message, false);
}
handleReaction = () => {
- const { actionMessage, toggleReactionPicker } = this.props;
- toggleReactionPicker(actionMessage);
+ const { message, reactionInit } = this.props;
+ reactionInit(message);
}
handleReadReceipt = () => {
- const { actionMessage } = this.props;
- Navigation.navigate('ReadReceiptsView', { messageId: actionMessage._id });
+ const { message } = this.props;
+ Navigation.navigate('ReadReceiptsView', { messageId: message.id });
}
handleReport = async() => {
- const { actionMessage } = this.props;
+ const { message } = this.props;
try {
- await RocketChat.reportMessage(actionMessage._id);
+ await RocketChat.reportMessage(message.id);
Alert.alert(I18n.t('Message_Reported'));
} catch (e) {
log(e);
@@ -316,16 +323,24 @@ class MessageActions extends React.Component {
}
handleToggleTranslation = async() => {
- const { actionMessage, room } = this.props;
+ const { message, room } = this.props;
try {
- const message = database.objectForPrimaryKey('messages', actionMessage._id);
- database.write(() => {
- message.autoTranslate = !message.autoTranslate;
- message._updatedAt = new Date();
+ const db = database.active;
+ await db.action(async() => {
+ await message.update((m) => {
+ m.autoTranslate = !m.autoTranslate;
+ m._updatedAt = new Date();
+ });
});
const translatedMessage = getMessageTranslation(message, room.autoTranslateLanguage);
if (!translatedMessage) {
- await RocketChat.translateMessage(actionMessage, room.autoTranslateLanguage);
+ const m = {
+ _id: message.id,
+ rid: message.subscription.id,
+ u: message.u,
+ msg: message.msg
+ };
+ await RocketChat.translateMessage(m, room.autoTranslateLanguage);
}
} catch (e) {
log(e);
@@ -390,7 +405,6 @@ class MessageActions extends React.Component {
}
const mapStateToProps = state => ({
- actionMessage: state.messages.actionMessage,
Message_AllowDeleting: state.settings.Message_AllowDeleting,
Message_AllowDeleting_BlockDeleteInMinutes: state.settings.Message_AllowDeleting_BlockDeleteInMinutes,
Message_AllowEditing: state.settings.Message_AllowEditing,
@@ -400,14 +414,4 @@ const mapStateToProps = state => ({
Message_Read_Receipt_Store_Users: state.settings.Message_Read_Receipt_Store_Users
});
-const mapDispatchToProps = dispatch => ({
- actionsHide: () => dispatch(actionsHideAction()),
- deleteRequest: message => dispatch(deleteRequestAction(message)),
- editInit: message => dispatch(editInitAction(message)),
- toggleStarRequest: message => dispatch(toggleStarRequestAction(message)),
- togglePinRequest: message => dispatch(togglePinRequestAction(message)),
- toggleReactionPicker: message => dispatch(toggleReactionPickerAction(message)),
- replyInit: (message, mention) => dispatch(replyInitAction(message, mention))
-});
-
-export default connect(mapStateToProps, mapDispatchToProps)(MessageActions);
+export default connect(mapStateToProps)(MessageActions);
diff --git a/app/containers/MessageBox/ReplyPreview.js b/app/containers/MessageBox/ReplyPreview.js
index 15c070938..193d48331 100644
--- a/app/containers/MessageBox/ReplyPreview.js
+++ b/app/containers/MessageBox/ReplyPreview.js
@@ -5,7 +5,6 @@ import moment from 'moment';
import { connect } from 'react-redux';
import Markdown from '../markdown';
-import { getCustomEmoji } from '../message/utils';
import { CustomIcon } from '../../lib/Icons';
import sharedStyles from '../../views/Styles';
import {
@@ -55,7 +54,8 @@ class ReplyPreview extends Component {
Message_TimeFormat: PropTypes.string.isRequired,
close: PropTypes.func.isRequired,
baseUrl: PropTypes.string.isRequired,
- username: PropTypes.string.isRequired
+ username: PropTypes.string.isRequired,
+ getCustomEmoji: PropTypes.func
}
shouldComponentUpdate() {
@@ -69,7 +69,7 @@ class ReplyPreview extends Component {
render() {
const {
- message, Message_TimeFormat, baseUrl, username, useMarkdown
+ message, Message_TimeFormat, baseUrl, username, useMarkdown, getCustomEmoji
} = this.props;
const time = moment(message.ts).format(Message_TimeFormat);
return (
diff --git a/app/containers/MessageBox/index.js b/app/containers/MessageBox/index.js
index 58637c090..2b61d0f35 100644
--- a/app/containers/MessageBox/index.js
+++ b/app/containers/MessageBox/index.js
@@ -10,16 +10,12 @@ import ImagePicker from 'react-native-image-crop-picker';
import equal from 'deep-equal';
import DocumentPicker from 'react-native-document-picker';
import ActionSheet from 'react-native-action-sheet';
+import { Q } from '@nozbe/watermelondb';
import { userTyping as userTypingAction } from '../../actions/room';
-import {
- editRequest as editRequestAction,
- editCancel as editCancelAction,
- replyCancel as replyCancelAction
-} from '../../actions/messages';
import RocketChat from '../../lib/rocketchat';
import styles from './styles';
-import database from '../../lib/realm';
+import database from '../../lib/database';
import Avatar from '../Avatar';
import CustomEmoji from '../EmojiPicker/CustomEmoji';
import { emojis } from '../../emojis';
@@ -40,10 +36,6 @@ const MENTIONS_TRACKING_TYPE_EMOJIS = ':';
const MENTIONS_TRACKING_TYPE_COMMANDS = '/';
const MENTIONS_COUNT_TO_DISPLAY = 4;
-const onlyUnique = function onlyUnique(value, index, self) {
- return self.indexOf(({ _id }) => value._id === _id) === index;
-};
-
const imagePickerConfig = {
cropping: true,
compressImageQuality: 0.8,
@@ -69,7 +61,6 @@ class MessageBox extends Component {
rid: PropTypes.string.isRequired,
baseUrl: PropTypes.string.isRequired,
message: PropTypes.object,
- replyMessage: PropTypes.object,
replying: PropTypes.bool,
editing: PropTypes.bool,
threadsEnabled: PropTypes.bool,
@@ -81,11 +72,13 @@ class MessageBox extends Component {
}),
roomType: PropTypes.string,
tmid: PropTypes.string,
+ replyWithMention: PropTypes.bool,
+ getCustomEmoji: PropTypes.func,
editCancel: PropTypes.func.isRequired,
editRequest: PropTypes.func.isRequired,
onSubmit: PropTypes.func.isRequired,
typing: PropTypes.func,
- closeReply: PropTypes.func
+ replyCancel: PropTypes.func
}
constructor(props) {
@@ -102,11 +95,6 @@ class MessageBox extends Component {
commandPreview: []
};
this.showCommandPreview = false;
- this.commands = [];
- this.users = [];
- this.rooms = [];
- this.emojis = [];
- this.customEmojis = [];
this.onEmojiSelected = this.onEmojiSelected.bind(this);
this.text = '';
this.fileOptions = [
@@ -135,20 +123,34 @@ class MessageBox extends Component {
};
}
- componentDidMount() {
+ async componentDidMount() {
+ const db = database.active;
const { rid, tmid } = this.props;
let msg;
- if (tmid) {
- const thread = database.objectForPrimaryKey('threads', tmid);
- if (thread) {
- msg = thread.draftMessage;
- }
- } else {
- const [room] = database.objects('subscriptions').filtered('rid = $0', rid);
- if (room) {
- msg = room.draftMessage;
+ try {
+ const threadsCollection = db.collections.get('threads');
+ const subsCollection = db.collections.get('subscriptions');
+ if (tmid) {
+ try {
+ const thread = await threadsCollection.find(tmid);
+ if (thread) {
+ msg = thread.draftMessage;
+ }
+ } catch (error) {
+ console.log('Messagebox.didMount: Thread not found');
+ }
+ } else {
+ try {
+ const room = await subsCollection.find(rid);
+ msg = room.draftMessage;
+ } catch (error) {
+ console.log('Messagebox.didMount: Room not found');
+ }
}
+ } catch (e) {
+ log(e);
}
+
if (msg) {
this.setInput(msg);
this.setShowSend(true);
@@ -160,17 +162,16 @@ class MessageBox extends Component {
}
componentWillReceiveProps(nextProps) {
- const { message, replyMessage, isFocused } = this.props;
+ const { isFocused, editing, replying } = this.props;
if (!isFocused) {
return;
}
- if (!equal(message, nextProps.message) && nextProps.message.msg) {
+ if (editing !== nextProps.editing && nextProps.editing) {
this.setInput(nextProps.message.msg);
if (this.text) {
this.setShowSend(true);
}
- this.focus();
- } else if (!equal(replyMessage, nextProps.replyMessage)) {
+ } else if (replying !== nextProps.replying && nextProps.replying) {
this.focus();
} else if (!nextProps.message) {
this.clearInput();
@@ -181,6 +182,7 @@ class MessageBox extends Component {
const {
showEmojiKeyboard, showSend, recording, mentions, file, commandPreview
} = this.state;
+
const {
roomType, replying, editing, isFocused
} = this.props;
@@ -217,7 +219,12 @@ class MessageBox extends Component {
return false;
}
- onChangeText = debounce((text) => {
+ componentWillUnmount() {
+ console.countReset(`${ this.constructor.name }.render calls`);
+ }
+
+ onChangeText = debounce(async(text) => {
+ const db = database.active;
const isTextEmpty = text.length === 0;
this.setShowSend(!isTextEmpty);
this.handleTyping(!isTextEmpty);
@@ -226,9 +233,14 @@ class MessageBox extends Component {
const slashCommand = text.match(/^\/([a-z0-9._-]+) (.+)/im);
if (slashCommand) {
const [, name, params] = slashCommand;
- const command = database.objects('slashCommand').filtered('command == $0', name);
- if (command && command[0] && command[0].providesPreview) {
- return this.setCommandPreview(name, params);
+ const commandsCollection = db.collections.get('slash_commands');
+ try {
+ const command = await commandsCollection.find(name);
+ if (command.providesPreview) {
+ return this.setCommandPreview(name, params);
+ }
+ } catch (e) {
+ console.log('Slash command not found');
}
}
@@ -324,114 +336,49 @@ class MessageBox extends Component {
}
getFixedMentions = (keyword) => {
+ let result = [];
if ('all'.indexOf(keyword) !== -1) {
- this.users = [{ _id: -1, username: 'all' }, ...this.users];
+ result = [{ _id: -1, username: 'all' }];
}
if ('here'.indexOf(keyword) !== -1) {
- this.users = [{ _id: -2, username: 'here' }, ...this.users];
+ result = [{ _id: -2, username: 'here' }, ...result];
}
+ return result;
}
- getUsers = async(keyword) => {
- this.users = database.objects('users');
+ getUsers = debounce(async(keyword) => {
+ let res = await RocketChat.search({ text: keyword, filterRooms: false, filterUsers: true });
+ res = [...this.getFixedMentions(keyword), ...res];
+ this.setState({ mentions: res });
+ }, 300)
+
+ getRooms = debounce(async(keyword = '') => {
+ const res = await RocketChat.search({ text: keyword, filterRooms: true, filterUsers: false });
+ this.setState({ mentions: res });
+ }, 300)
+
+ getEmojis = debounce(async(keyword) => {
+ const db = database.active;
if (keyword) {
- this.users = this.users.filtered('username CONTAINS[c] $0', keyword);
+ const customEmojisCollection = db.collections.get('custom_emojis');
+ let customEmojis = await customEmojisCollection.query(
+ Q.where('name', Q.like(`${ Q.sanitizeLikeString(keyword) }%`))
+ ).fetch();
+ customEmojis = customEmojis.slice(0, MENTIONS_COUNT_TO_DISPLAY);
+ const filteredEmojis = emojis.filter(emoji => emoji.indexOf(keyword) !== -1).slice(0, MENTIONS_COUNT_TO_DISPLAY);
+ const mergedEmojis = [...customEmojis, ...filteredEmojis].slice(0, MENTIONS_COUNT_TO_DISPLAY);
+ this.setState({ mentions: mergedEmojis || [] });
}
- this.getFixedMentions(keyword);
- this.setState({ mentions: this.users.slice() });
+ }, 300)
- const usernames = [];
-
- if (keyword && this.users.length > 7) {
- return;
- }
-
- this.users.forEach(user => usernames.push(user.username));
-
- if (this.oldPromise) {
- this.oldPromise();
- }
- try {
- const results = await Promise.race([
- RocketChat.spotlight(keyword, usernames, { users: true }),
- new Promise((resolve, reject) => (this.oldPromise = reject))
- ]);
- if (results.users && results.users.length) {
- database.write(() => {
- results.users.forEach((user) => {
- try {
- database.create('users', user, true);
- } catch (e) {
- log(e);
- }
- });
- });
- }
- } catch (e) {
- console.warn('spotlight canceled');
- } finally {
- delete this.oldPromise;
- this.users = database.objects('users').filtered('username CONTAINS[c] $0', keyword).slice(0, MENTIONS_COUNT_TO_DISPLAY);
- this.getFixedMentions(keyword);
- this.setState({ mentions: this.users });
- }
- }
-
- getRooms = async(keyword = '') => {
- this.roomsCache = this.roomsCache || [];
- this.rooms = database.objects('subscriptions')
- .filtered('t != $0', 'd');
- if (keyword) {
- this.rooms = this.rooms.filtered('name CONTAINS[c] $0', keyword);
- }
-
- const rooms = [];
- this.rooms.forEach(room => rooms.push(room));
-
- this.roomsCache.forEach((room) => {
- if (room.name && room.name.toUpperCase().indexOf(keyword.toUpperCase()) !== -1) {
- rooms.push(room);
- }
- });
-
- if (rooms.length > 3) {
- this.setState({ mentions: rooms });
- return;
- }
-
- if (this.oldPromise) {
- this.oldPromise();
- }
-
- try {
- const results = await Promise.race([
- RocketChat.spotlight(keyword, [...rooms, ...this.roomsCache].map(r => r.name), { rooms: true }),
- new Promise((resolve, reject) => (this.oldPromise = reject))
- ]);
- if (results.rooms && results.rooms.length) {
- this.roomsCache = [...this.roomsCache, ...results.rooms].filter(onlyUnique);
- }
- this.setState({ mentions: [...rooms.slice(), ...results.rooms] });
- } catch (e) {
- console.warn('spotlight canceled');
- } finally {
- delete this.oldPromise;
- }
- }
-
- getEmojis = (keyword) => {
- if (keyword) {
- this.customEmojis = database.objects('customEmojis').filtered('name CONTAINS[c] $0', keyword).slice(0, MENTIONS_COUNT_TO_DISPLAY);
- this.emojis = emojis.filter(emoji => emoji.indexOf(keyword) !== -1).slice(0, MENTIONS_COUNT_TO_DISPLAY);
- const mergedEmojis = [...this.customEmojis, ...this.emojis].slice(0, MENTIONS_COUNT_TO_DISPLAY);
- this.setState({ mentions: mergedEmojis });
- }
- }
-
- getSlashCommands = (keyword) => {
- this.commands = database.objects('slashCommand').filtered('command CONTAINS[c] $0', keyword);
- this.setState({ mentions: this.commands });
- }
+ getSlashCommands = debounce(async(keyword) => {
+ const db = database.active;
+ const commandsCollection = db.collections.get('slash_commands');
+ const commands = await commandsCollection.query(
+ Q.where('id', Q.like(`${ Q.sanitizeLikeString(keyword) }%`))
+ ).fetch();
+ this.setState({ mentions: commands || [] });
+ }, 300)
focus = () => {
if (this.component && this.component.focus) {
@@ -629,7 +576,7 @@ class MessageBox extends Component {
submit = async() => {
const {
- message: editingMessage, editRequest, onSubmit, rid: roomId
+ onSubmit, rid: roomId
} = this.props;
const message = this.text;
@@ -646,10 +593,13 @@ class MessageBox extends Component {
} = this.props;
// Slash command
-
if (message[0] === MENTIONS_TRACKING_TYPE_COMMANDS) {
+ const db = database.active;
+ const commandsCollection = db.collections.get('slash_commands');
const command = message.replace(/ .*/, '').slice(1);
- const slashCommand = database.objects('slashCommand').filtered('command CONTAINS[c] $0', command);
+ const slashCommand = await commandsCollection.query(
+ Q.where('id', Q.like(`${ Q.sanitizeLikeString(command) }%`))
+ ).fetch();
if (slashCommand.length > 0) {
try {
const messageWithoutCommand = message.substr(message.indexOf(' ') + 1);
@@ -663,32 +613,35 @@ class MessageBox extends Component {
}
// Edit
if (editing) {
- const { _id, rid } = editingMessage;
- editRequest({ _id, msg: message, rid });
+ const { message: editingMessage, editRequest } = this.props;
+ const { id, subscription: { id: rid } } = editingMessage;
+ editRequest({ id, msg: message, rid });
// Reply
} else if (replying) {
- const { replyMessage, closeReply, threadsEnabled } = this.props;
+ const {
+ message: replyingMessage, replyCancel, threadsEnabled, replyWithMention
+ } = this.props;
// Thread
- if (threadsEnabled && replyMessage.mention) {
- onSubmit(message, replyMessage._id);
+ if (threadsEnabled && replyWithMention) {
+ onSubmit(message, replyingMessage.id);
// Legacy reply or quote (quote is a reply without mention)
} else {
const { user, roomType } = this.props;
- const permalink = await this.getPermalink(replyMessage);
+ const permalink = await this.getPermalink(replyingMessage);
let msg = `[ ](${ permalink }) `;
// if original message wasn't sent by current user and neither from a direct room
- if (user.username !== replyMessage.u.username && roomType !== 'd' && replyMessage.mention) {
- msg += `@${ replyMessage.u.username } `;
+ if (user.username !== replyingMessage.u.username && roomType !== 'd' && replyWithMention) {
+ msg += `@${ replyingMessage.u.username } `;
}
msg = `${ msg } ${ message }`;
onSubmit(msg);
}
- closeReply();
+ replyCancel();
// Normal message
} else {
@@ -726,11 +679,6 @@ class MessageBox extends Component {
trackingType: '',
commandPreview: []
});
- this.users = [];
- this.rooms = [];
- this.customEmojis = [];
- this.emojis = [];
- this.commands = [];
}
renderFixedMentionItem = item => (
@@ -797,33 +745,33 @@ class MessageBox extends Component {
switch (trackingType) {
case MENTIONS_TRACKING_TYPE_EMOJIS:
return (
-
+ <>
{this.renderMentionEmoji(item)}
:{ item.name || item }:
-
+ >
);
case MENTIONS_TRACKING_TYPE_COMMANDS:
return (
-
+ <>
/
{ item.command}
-
+ >
);
default:
return (
-
+ <>
{ item.username || item.name || item }
-
+ >
);
}
})()
@@ -880,12 +828,12 @@ class MessageBox extends Component {
renderReplyPreview = () => {
const {
- replyMessage, replying, closeReply, user
+ message, replying, replyCancel, user, getCustomEmoji
} = this.props;
if (!replying) {
return null;
}
- return ;
+ return ;
};
renderContent = () => {
@@ -896,7 +844,7 @@ class MessageBox extends Component {
return ();
}
return (
-
+ <>
{this.renderCommandPreview()}
{this.renderMentions()}
@@ -935,14 +883,15 @@ class MessageBox extends Component {
/>
-
+ >
);
}
render() {
+ console.count(`${ this.constructor.name }.render calls`);
const { showEmojiKeyboard, file } = this.state;
return (
-
+ <>
this.setState({ file: {} })}
submit={this.sendMediaMessage}
/>
-
+ >
);
}
}
const mapStateToProps = state => ({
- message: state.messages.message,
- replyMessage: state.messages.replyMessage,
- replying: state.messages.replying,
- editing: state.messages.editing,
baseUrl: state.settings.Site_Url || state.server ? state.server.server : '',
threadsEnabled: state.settings.Threads_enabled,
user: {
@@ -980,10 +925,7 @@ const mapStateToProps = state => ({
});
const dispatchToProps = ({
- editCancel: () => editCancelAction(),
- editRequest: message => editRequestAction(message),
- typing: (rid, status) => userTypingAction(rid, status),
- closeReply: () => replyCancelAction()
+ typing: (rid, status) => userTypingAction(rid, status)
});
export default connect(mapStateToProps, dispatchToProps, null, { forwardRef: true })(MessageBox);
diff --git a/app/containers/MessageErrorActions.js b/app/containers/MessageErrorActions.js
index 60218da5d..d42cd0330 100644
--- a/app/containers/MessageErrorActions.js
+++ b/app/containers/MessageErrorActions.js
@@ -1,33 +1,18 @@
import React from 'react';
import PropTypes from 'prop-types';
-import { connect } from 'react-redux';
import ActionSheet from 'react-native-action-sheet';
-import { errorActionsHide as errorActionsHideAction } from '../actions/messages';
import RocketChat from '../lib/rocketchat';
-import database from '../lib/realm';
+import database from '../lib/database';
import protectedFunction from '../lib/methods/helpers/protectedFunction';
import I18n from '../i18n';
class MessageErrorActions extends React.Component {
static propTypes = {
- errorActionsHide: PropTypes.func.isRequired,
- actionMessage: PropTypes.object
+ actionsHide: PropTypes.func.isRequired,
+ message: PropTypes.object
};
- handleResend = protectedFunction(() => {
- const { actionMessage } = this.props;
- RocketChat.resendMessage(actionMessage._id);
- });
-
- handleDelete = protectedFunction(() => {
- const { actionMessage } = this.props;
- database.write(() => {
- const msg = database.objects('messages').filtered('_id = $0', actionMessage._id);
- database.delete(msg);
- });
- })
-
// eslint-disable-next-line react/sort-comp
constructor(props) {
super(props);
@@ -41,6 +26,19 @@ class MessageErrorActions extends React.Component {
});
}
+ handleResend = protectedFunction(async() => {
+ const { message } = this.props;
+ await RocketChat.resendMessage(message);
+ });
+
+ handleDelete = protectedFunction(async() => {
+ const { message } = this.props;
+ const db = database.active;
+ await db.action(async() => {
+ await message.destroyPermanently();
+ });
+ })
+
showActionSheet = () => {
ActionSheet.showActionSheetWithOptions({
options: this.options,
@@ -53,7 +51,7 @@ class MessageErrorActions extends React.Component {
}
handleActionPress = (actionIndex) => {
- const { errorActionsHide } = this.props;
+ const { actionsHide } = this.props;
switch (actionIndex) {
case this.RESEND_INDEX:
this.handleResend();
@@ -64,7 +62,7 @@ class MessageErrorActions extends React.Component {
default:
break;
}
- errorActionsHide();
+ actionsHide();
}
render() {
@@ -74,12 +72,4 @@ class MessageErrorActions extends React.Component {
}
}
-const mapStateToProps = state => ({
- actionMessage: state.messages.actionMessage
-});
-
-const mapDispatchToProps = dispatch => ({
- errorActionsHide: () => dispatch(errorActionsHideAction())
-});
-
-export default connect(mapStateToProps, mapDispatchToProps)(MessageErrorActions);
+export default MessageErrorActions;
diff --git a/app/containers/ReactionsModal.js b/app/containers/ReactionsModal.js
index 6bc0e751f..17b59f5b0 100644
--- a/app/containers/ReactionsModal.js
+++ b/app/containers/ReactionsModal.js
@@ -7,7 +7,6 @@ import Modal from 'react-native-modal';
import Touchable from 'react-native-platform-touchable';
import Emoji from './message/Emoji';
-import { getCustomEmoji } from './message/utils';
import I18n from '../i18n';
import { CustomIcon } from '../lib/Icons';
import sharedStyles from '../views/Styles';
@@ -62,7 +61,9 @@ const styles = StyleSheet.create({
const standardEmojiStyle = { fontSize: 20 };
const customEmojiStyle = { width: 20, height: 20 };
-const Item = React.memo(({ item, user, baseUrl }) => {
+const Item = React.memo(({
+ item, user, baseUrl, getCustomEmoji
+}) => {
const count = item.usernames.length;
let usernames = item.usernames.slice(0, 3)
.map(username => (username === user.username ? I18n.t('you') : username)).join(', ');
@@ -146,7 +147,8 @@ ModalContent.displayName = 'ReactionsModalContent';
Item.propTypes = {
item: PropTypes.object,
user: PropTypes.object,
- baseUrl: PropTypes.string
+ baseUrl: PropTypes.string,
+ getCustomEmoji: PropTypes.func
};
Item.displayName = 'ReactionsModalItem';
diff --git a/app/containers/Status/index.js b/app/containers/Status/index.js
index 5e8762f88..b794180d1 100644
--- a/app/containers/Status/index.js
+++ b/app/containers/Status/index.js
@@ -3,56 +3,26 @@ import PropTypes from 'prop-types';
import { connect } from 'react-redux';
import Status from './Status';
-import database, { safeAddListener } from '../../lib/realm';
class StatusContainer extends React.PureComponent {
static propTypes = {
- id: PropTypes.string,
style: PropTypes.any,
size: PropTypes.number,
- offline: PropTypes.bool
+ status: PropTypes.string
};
static defaultProps = {
size: 16
}
- constructor(props) {
- super(props);
- this.user = database.memoryDatabase.objects('activeUsers').filtered('id == $0', props.id);
- this.state = {
- user: this.user[0] || {}
- };
- safeAddListener(this.user, this.updateState);
- }
-
- componentWillUnmount() {
- this.user.removeAllListeners();
- }
-
- get status() {
- const { user } = this.state;
- const { offline } = this.props;
- if (offline || !user) {
- return 'offline';
- }
- return user.status || 'offline';
- }
-
- updateState = () => {
- if (this.user.length) {
- this.setState({ user: this.user[0] });
- }
- }
-
render() {
- const { style, size } = this.props;
- return ;
+ const { style, size, status } = this.props;
+ return ;
}
}
-const mapStateToProps = state => ({
- offline: !state.meteor.connected
+const mapStateToProps = (state, ownProps) => ({
+ status: state.meteor.connected ? state.activeUsers[ownProps.id] : 'offline'
});
export default connect(mapStateToProps)(StatusContainer);
diff --git a/app/containers/message/Content.js b/app/containers/message/Content.js
index 541433956..7272c11c6 100644
--- a/app/containers/message/Content.js
+++ b/app/containers/message/Content.js
@@ -24,10 +24,10 @@ const Content = React.memo((props) => {
getCustomEmoji={props.getCustomEmoji}
username={props.user.username}
isEdited={props.isEdited}
- numberOfLines={props.tmid ? 1 : 0}
+ numberOfLines={(props.tmid && !props.isThreadRoom) ? 1 : 0}
channels={props.channels}
mentions={props.mentions}
- useMarkdown={props.useMarkdown && !props.tmid}
+ useMarkdown={props.useMarkdown && (!props.tmid || props.isThreadRoom)}
navToRoomInfo={props.navToRoomInfo}
tmid={props.tmid}
/>
@@ -45,6 +45,7 @@ Content.propTypes = {
isTemp: PropTypes.bool,
isInfo: PropTypes.bool,
tmid: PropTypes.string,
+ isThreadRoom: PropTypes.bool,
msg: PropTypes.string,
isEdited: PropTypes.bool,
useMarkdown: PropTypes.bool,
diff --git a/app/containers/message/MessageAvatar.js b/app/containers/message/MessageAvatar.js
index f5d6b1d85..1c15ae757 100644
--- a/app/containers/message/MessageAvatar.js
+++ b/app/containers/message/MessageAvatar.js
@@ -32,7 +32,7 @@ const MessageAvatar = React.memo(({
);
}
return null;
-}, (prevProps, nextProps) => prevProps.isHeader === nextProps.isHeader);
+});
MessageAvatar.propTypes = {
isHeader: PropTypes.bool,
diff --git a/app/containers/message/Reactions.js b/app/containers/message/Reactions.js
index e1aee59f3..e20dd0298 100644
--- a/app/containers/message/Reactions.js
+++ b/app/containers/message/Reactions.js
@@ -8,9 +8,9 @@ import styles from './styles';
import Emoji from './Emoji';
import { BUTTON_HIT_SLOP } from './utils';
-const AddReaction = React.memo(({ toggleReactionPicker }) => (
+const AddReaction = React.memo(({ reactionInit }) => (
{
if (!reactions || reactions.length === 0) {
return null;
@@ -70,11 +70,10 @@ const Reactions = React.memo(({
getCustomEmoji={getCustomEmoji}
/>
))}
-
+
);
});
-// FIXME: can't compare because it's a Realm object (it may be fixed by JSON.parse(JSON.stringify(reactions)))
Reaction.propTypes = {
reaction: PropTypes.object,
@@ -91,14 +90,14 @@ Reactions.propTypes = {
user: PropTypes.object,
baseUrl: PropTypes.string,
onReactionPress: PropTypes.func,
- toggleReactionPicker: PropTypes.func,
+ reactionInit: PropTypes.func,
onReactionLongPress: PropTypes.func,
getCustomEmoji: PropTypes.func
};
Reactions.displayName = 'MessageReactions';
AddReaction.propTypes = {
- toggleReactionPicker: PropTypes.func
+ reactionInit: PropTypes.func
};
AddReaction.displayName = 'MessageAddReaction';
diff --git a/app/containers/message/RepliedThread.js b/app/containers/message/RepliedThread.js
index 6d46692d3..80dcd1cda 100644
--- a/app/containers/message/RepliedThread.js
+++ b/app/containers/message/RepliedThread.js
@@ -9,14 +9,14 @@ import DisclosureIndicator from '../DisclosureIndicator';
import styles from './styles';
const RepliedThread = React.memo(({
- tmid, tmsg, isHeader, isTemp, fetchThreadName
+ tmid, tmsg, isHeader, isTemp, fetchThreadName, id
}) => {
if (!tmid || !isHeader || isTemp) {
return null;
}
if (!tmsg) {
- fetchThreadName(tmid);
+ fetchThreadName(tmid, id);
return null;
}
@@ -49,6 +49,7 @@ const RepliedThread = React.memo(({
RepliedThread.propTypes = {
tmid: PropTypes.string,
tmsg: PropTypes.string,
+ id: PropTypes.string,
isHeader: PropTypes.bool,
isTemp: PropTypes.bool,
fetchThreadName: PropTypes.func
diff --git a/app/containers/message/Thread.js b/app/containers/message/Thread.js
index 5dfeea495..c8d36b40d 100644
--- a/app/containers/message/Thread.js
+++ b/app/containers/message/Thread.js
@@ -8,9 +8,9 @@ import { CustomIcon } from '../../lib/Icons';
import { THREAD } from './constants';
const Thread = React.memo(({
- msg, tcount, tlm, customThreadTimeFormat
+ msg, tcount, tlm, customThreadTimeFormat, isThreadRoom
}) => {
- if (!tlm) {
+ if (!tlm || isThreadRoom) {
return null;
}
@@ -39,7 +39,8 @@ Thread.propTypes = {
msg: PropTypes.string,
tcount: PropTypes.string,
tlm: PropTypes.string,
- customThreadTimeFormat: PropTypes.string
+ customThreadTimeFormat: PropTypes.string,
+ isThreadRoom: PropTypes.bool
};
Thread.displayName = 'MessageThread';
diff --git a/app/containers/message/index.js b/app/containers/message/index.js
index 605859a96..2b408eac9 100644
--- a/app/containers/message/index.js
+++ b/app/containers/message/index.js
@@ -4,7 +4,7 @@ import { KeyboardUtils } from 'react-native-keyboard-input';
import Message from './Message';
import debounce from '../../utils/debounce';
-import { SYSTEM_MESSAGES, getCustomEmoji, getMessageTranslation } from './utils';
+import { SYSTEM_MESSAGES, getMessageTranslation } from './utils';
import messagesStatus from '../../constants/messagesStatus';
export default class MessageContainer extends React.Component {
@@ -21,22 +21,23 @@ export default class MessageContainer extends React.Component {
archived: PropTypes.bool,
broadcast: PropTypes.bool,
previousItem: PropTypes.object,
- _updatedAt: PropTypes.instanceOf(Date),
baseUrl: PropTypes.string,
Message_GroupingPeriod: PropTypes.number,
isReadReceiptEnabled: PropTypes.bool,
+ isThreadRoom: PropTypes.bool,
useRealName: PropTypes.bool,
useMarkdown: PropTypes.bool,
autoTranslateRoom: PropTypes.bool,
autoTranslateLanguage: PropTypes.string,
status: PropTypes.number,
+ getCustomEmoji: PropTypes.func,
onLongPress: PropTypes.func,
onReactionPress: PropTypes.func,
onDiscussionPress: PropTypes.func,
onThreadPress: PropTypes.func,
errorActionsShow: PropTypes.func,
replyBroadcast: PropTypes.func,
- toggleReactionPicker: PropTypes.func,
+ reactionInit: PropTypes.func,
fetchThreadName: PropTypes.func,
onOpenFileModal: PropTypes.func,
onReactionLongPress: PropTypes.func,
@@ -45,55 +46,53 @@ export default class MessageContainer extends React.Component {
static defaultProps = {
onLongPress: () => {},
- _updatedAt: new Date(),
archived: false,
broadcast: false
}
- shouldComponentUpdate(nextProps) {
- const {
- status, item, _updatedAt, autoTranslateRoom
- } = this.props;
+ componentDidMount() {
+ const { item } = this.props;
+ if (item && item.observe) {
+ const observable = item.observe();
+ this.subscription = observable.subscribe(() => {
+ this.forceUpdate();
+ });
+ }
+ }
- if (status !== nextProps.status) {
- return true;
- }
- if (autoTranslateRoom !== nextProps.autoTranslateRoom) {
- return true;
- }
- if (item.tmsg !== nextProps.item.tmsg) {
- return true;
- }
- if (item.unread !== nextProps.item.unread) {
- return true;
- }
+ shouldComponentUpdate() {
+ return false;
+ }
- return _updatedAt.toISOString() !== nextProps._updatedAt.toISOString();
+ componentWillUnmount() {
+ if (this.subscription && this.subscription.unsubscribe) {
+ this.subscription.unsubscribe();
+ }
}
onPress = debounce(() => {
- const { item } = this.props;
+ const { item, isThreadRoom } = this.props;
KeyboardUtils.dismiss();
- if ((item.tlm || item.tmid)) {
+ if (((item.tlm || item.tmid) && !isThreadRoom)) {
this.onThreadPress();
}
}, 300, true);
onLongPress = () => {
- const { archived, onLongPress } = this.props;
+ const { archived, onLongPress, item } = this.props;
if (this.isInfo || this.hasError || archived) {
return;
}
if (onLongPress) {
- onLongPress(this.parseMessage());
+ onLongPress(item);
}
}
onErrorPress = () => {
- const { errorActionsShow } = this.props;
+ const { errorActionsShow, item } = this.props;
if (errorActionsShow) {
- errorActionsShow(this.parseMessage());
+ errorActionsShow(item);
}
}
@@ -132,23 +131,30 @@ export default class MessageContainer extends React.Component {
if (this.hasError || (previousItem && previousItem.status === messagesStatus.ERROR)) {
return true;
}
- if (previousItem && (
- (previousItem.ts.toDateString() === item.ts.toDateString())
- && (previousItem.u.username === item.u.username)
- && !(previousItem.groupable === false || item.groupable === false || broadcast === true)
- && (item.ts - previousItem.ts < Message_GroupingPeriod * 1000)
- && (previousItem.tmid === item.tmid)
- )) {
- return false;
+ try {
+ if (previousItem && (
+ (previousItem.ts.toDateString() === item.ts.toDateString())
+ && (previousItem.u.username === item.u.username)
+ && !(previousItem.groupable === false || item.groupable === false || broadcast === true)
+ && (item.ts - previousItem.ts < Message_GroupingPeriod * 1000)
+ && (previousItem.tmid === item.tmid)
+ )) {
+ return false;
+ }
+ return true;
+ } catch (error) {
+ return true;
}
- return true;
}
get isThreadReply() {
const {
- item, previousItem
+ item, previousItem, isThreadRoom
} = this.props;
- if (previousItem && item.tmid && (previousItem.tmid !== item.tmid) && (previousItem._id !== item.tmid)) {
+ if (isThreadRoom) {
+ return false;
+ }
+ if (previousItem && item.tmid && (previousItem.tmid !== item.tmid) && (previousItem.id !== item.tmid)) {
return true;
}
return false;
@@ -156,9 +162,12 @@ export default class MessageContainer extends React.Component {
get isThreadSequential() {
const {
- item, previousItem
+ item, previousItem, isThreadRoom
} = this.props;
- if (previousItem && item.tmid && ((previousItem.tmid === item.tmid) || (previousItem._id === item.tmid))) {
+ if (isThreadRoom) {
+ return false;
+ }
+ if (previousItem && item.tmid && ((previousItem.tmid === item.tmid) || (previousItem.id === item.tmid))) {
return true;
}
return false;
@@ -179,31 +188,26 @@ export default class MessageContainer extends React.Component {
return item.status === messagesStatus.ERROR;
}
- parseMessage = () => {
- const { item } = this.props;
- return JSON.parse(JSON.stringify(item));
- }
-
- toggleReactionPicker = () => {
- const { toggleReactionPicker } = this.props;
- if (toggleReactionPicker) {
- toggleReactionPicker(this.parseMessage());
+ reactionInit = () => {
+ const { reactionInit, item } = this.props;
+ if (reactionInit) {
+ reactionInit(item);
}
}
replyBroadcast = () => {
- const { replyBroadcast } = this.props;
+ const { replyBroadcast, item } = this.props;
if (replyBroadcast) {
- replyBroadcast(this.parseMessage());
+ replyBroadcast(item);
}
}
render() {
const {
- item, user, style, archived, baseUrl, useRealName, broadcast, fetchThreadName, customThreadTimeFormat, onOpenFileModal, timeFormat, useMarkdown, isReadReceiptEnabled, autoTranslateRoom, autoTranslateLanguage, navToRoomInfo
+ item, user, style, archived, baseUrl, useRealName, broadcast, fetchThreadName, customThreadTimeFormat, onOpenFileModal, timeFormat, useMarkdown, isReadReceiptEnabled, autoTranslateRoom, autoTranslateLanguage, navToRoomInfo, getCustomEmoji, isThreadRoom
} = this.props;
const {
- _id, msg, ts, attachments, urls, reactions, t, avatar, u, alias, editedBy, role, drid, dcount, dlm, tmid, tcount, tlm, tmsg, mentions, channels, unread, autoTranslate: autoTranslateMessage
+ id, msg, ts, attachments, urls, reactions, t, avatar, u, alias, editedBy, role, drid, dcount, dlm, tmid, tcount, tlm, tmsg, mentions, channels, unread, autoTranslate: autoTranslateMessage
} = item;
let message = msg;
@@ -215,7 +219,7 @@ export default class MessageContainer extends React.Component {
return (
{
@@ -96,25 +95,6 @@ export const getInfoMessage = ({
return '';
};
-export const getCustomEmoji = (content) => {
- // search by name
- const data = database.objects('customEmojis').filtered('name == $0', content);
- if (data.length) {
- return data[0];
- }
-
- // searches by alias
- // RealmJS doesn't support IN operator: https://github.com/realm/realm-js/issues/450
- const emojis = database.objects('customEmojis');
- const findByAlias = emojis.find((emoji) => {
- if (emoji.aliases.length && emoji.aliases.findIndex(alias => alias === content) !== -1) {
- return true;
- }
- return false;
- });
- return findByAlias;
-};
-
export const getMessageTranslation = (message, autoTranslateLanguage) => {
if (!autoTranslateLanguage) {
return null;
diff --git a/app/lib/database/index.js b/app/lib/database/index.js
new file mode 100644
index 000000000..ccaa995c9
--- /dev/null
+++ b/app/lib/database/index.js
@@ -0,0 +1,82 @@
+import { Database } from '@nozbe/watermelondb';
+import SQLiteAdapter from '@nozbe/watermelondb/adapters/sqlite';
+import RNFetchBlob from 'rn-fetch-blob';
+
+import Subscription from './model/Subscription';
+import Room from './model/Room';
+import Message from './model/Message';
+import Thread from './model/Thread';
+import ThreadMessage from './model/ThreadMessage';
+import CustomEmoji from './model/CustomEmoji';
+import FrequentlyUsedEmoji from './model/FrequentlyUsedEmoji';
+import Upload from './model/Upload';
+import Setting from './model/Setting';
+import Role from './model/Role';
+import Permission from './model/Permission';
+import SlashCommand from './model/SlashCommand';
+import User from './model/User';
+import Server from './model/Server';
+
+import serversSchema from './schema/servers';
+import appSchema from './schema/app';
+
+import { isIOS } from '../../utils/deviceInfo';
+
+const appGroupPath = isIOS ? `${ RNFetchBlob.fs.syncPathAppGroup('group.ios.chat.rocket') }/` : '';
+
+if (__DEV__ && isIOS) {
+ console.log(appGroupPath);
+}
+
+class DB {
+ databases = {
+ serversDB: new Database({
+ adapter: new SQLiteAdapter({
+ dbName: `${ appGroupPath }default.db`,
+ schema: serversSchema
+ }),
+ modelClasses: [Server, User],
+ actionsEnabled: true
+ })
+ }
+
+ get active() {
+ return this.databases.activeDB;
+ }
+
+ get servers() {
+ return this.databases.serversDB;
+ }
+
+ setActiveDB(database = '') {
+ const path = database.replace(/(^\w+:|^)\/\//, '');
+ const dbName = `${ appGroupPath }${ path }.db`;
+
+ const adapter = new SQLiteAdapter({
+ dbName,
+ schema: appSchema
+ });
+
+ this.databases.activeDB = new Database({
+ adapter,
+ modelClasses: [
+ Subscription,
+ Room,
+ Message,
+ Thread,
+ ThreadMessage,
+ CustomEmoji,
+ FrequentlyUsedEmoji,
+ Upload,
+ Setting,
+ Role,
+ Permission,
+ SlashCommand
+ ],
+ actionsEnabled: true
+ });
+ }
+}
+
+const db = new DB();
+export default db;
diff --git a/app/lib/database/model/CustomEmoji.js b/app/lib/database/model/CustomEmoji.js
new file mode 100644
index 000000000..fdf5d2063
--- /dev/null
+++ b/app/lib/database/model/CustomEmoji.js
@@ -0,0 +1,16 @@
+import { Model } from '@nozbe/watermelondb';
+import { field, date, json } from '@nozbe/watermelondb/decorators';
+
+import { sanitizer } from '../utils';
+
+export default class CustomEmoji extends Model {
+ static table = 'custom_emojis';
+
+ @field('name') name;
+
+ @json('aliases', sanitizer) aliases;
+
+ @field('extension') extension;
+
+ @date('_updated_at') _updatedAt;
+}
diff --git a/app/lib/database/model/FrequentlyUsedEmoji.js b/app/lib/database/model/FrequentlyUsedEmoji.js
new file mode 100644
index 000000000..9629d3a99
--- /dev/null
+++ b/app/lib/database/model/FrequentlyUsedEmoji.js
@@ -0,0 +1,14 @@
+import { Model } from '@nozbe/watermelondb';
+import { field } from '@nozbe/watermelondb/decorators';
+
+export default class FrequentlyUsedEmoji extends Model {
+ static table = 'frequently_used_emojis';
+
+ @field('content') content;
+
+ @field('extension') extension;
+
+ @field('is_custom') isCustom;
+
+ @field('count') count;
+}
diff --git a/app/lib/database/model/Message.js b/app/lib/database/model/Message.js
new file mode 100644
index 000000000..863b57862
--- /dev/null
+++ b/app/lib/database/model/Message.js
@@ -0,0 +1,76 @@
+import { Model } from '@nozbe/watermelondb';
+import {
+ field, relation, date, json
+} from '@nozbe/watermelondb/decorators';
+
+import { sanitizer } from '../utils';
+
+export default class Message extends Model {
+ static table = 'messages';
+
+ static associations = {
+ subscriptions: { type: 'belongs_to', key: 'rid' }
+ }
+
+ @field('msg') msg;
+
+ @field('t') t;
+
+ @date('ts') ts;
+
+ @json('u', sanitizer) u;
+
+ @relation('subscriptions', 'rid') subscription;
+
+ @field('alias') alias;
+
+ @json('parse_urls', sanitizer) parseUrls;
+
+ @field('groupable') groupable;
+
+ @field('avatar') avatar;
+
+ @json('attachments', sanitizer) attachments;
+
+ @json('urls', sanitizer) urls;
+
+ @date('_updated_at') _updatedAt;
+
+ @field('status') status;
+
+ @field('pinned') pinned;
+
+ @field('starred') starred;
+
+ @json('edited_by', sanitizer) editedBy;
+
+ @json('reactions', sanitizer) reactions;
+
+ @field('role') role;
+
+ @field('drid') drid;
+
+ @field('dcount') dcount;
+
+ @date('dlm') dlm;
+
+ @field('tmid') tmid;
+
+ @field('tcount') tcount;
+
+ @date('tlm') tlm;
+
+ @json('replies', sanitizer) replies;
+
+ @json('mentions', sanitizer) mentions;
+
+ @json('channels', sanitizer) channels;
+
+ @field('unread') unread;
+
+ @field('auto_translate') autoTranslate;
+
+ @json('translations', sanitizer) translations;
+
+ @field('tmsg') tmsg;
+}
diff --git a/app/lib/database/model/Permission.js b/app/lib/database/model/Permission.js
new file mode 100644
index 000000000..8771de4dc
--- /dev/null
+++ b/app/lib/database/model/Permission.js
@@ -0,0 +1,12 @@
+import { Model } from '@nozbe/watermelondb';
+import { json, date } from '@nozbe/watermelondb/decorators';
+
+import { sanitizer } from '../utils';
+
+export default class Permission extends Model {
+ static table = 'permissions';
+
+ @json('roles', sanitizer) roles;
+
+ @date('_updated_at') _updatedAt;
+}
diff --git a/app/lib/database/model/Role.js b/app/lib/database/model/Role.js
new file mode 100644
index 000000000..ad9256d58
--- /dev/null
+++ b/app/lib/database/model/Role.js
@@ -0,0 +1,8 @@
+import { Model } from '@nozbe/watermelondb';
+import { field } from '@nozbe/watermelondb/decorators';
+
+export default class Role extends Model {
+ static table = 'roles';
+
+ @field('description') description;
+}
diff --git a/app/lib/database/model/Room.js b/app/lib/database/model/Room.js
new file mode 100644
index 000000000..4a1097a0e
--- /dev/null
+++ b/app/lib/database/model/Room.js
@@ -0,0 +1,16 @@
+import { Model } from '@nozbe/watermelondb';
+import { field, json } from '@nozbe/watermelondb/decorators';
+
+import { sanitizer } from '../utils';
+
+export default class Room extends Model {
+ static table = 'rooms';
+
+ @json('custom_fields', sanitizer) customFields;
+
+ @field('broadcast') broadcast;
+
+ @field('encrypted') encrypted;
+
+ @field('ro') ro;
+}
diff --git a/app/lib/database/model/Server.js b/app/lib/database/model/Server.js
new file mode 100644
index 000000000..e4dad5ed2
--- /dev/null
+++ b/app/lib/database/model/Server.js
@@ -0,0 +1,20 @@
+import { Model } from '@nozbe/watermelondb';
+import { field, date } from '@nozbe/watermelondb/decorators';
+
+export default class Server extends Model {
+ static table = 'servers';
+
+ @field('name') name;
+
+ @field('icon_url') iconURL;
+
+ @field('use_real_name') useRealName;
+
+ @field('file_upload_media_type_white_list') FileUpload_MediaTypeWhiteList;
+
+ @field('file_upload_max_file_size') FileUpload_MaxFileSize;
+
+ @date('rooms_updated_at') roomsUpdatedAt;
+
+ @field('version') version;
+}
diff --git a/app/lib/database/model/Setting.js b/app/lib/database/model/Setting.js
new file mode 100644
index 000000000..dce080366
--- /dev/null
+++ b/app/lib/database/model/Setting.js
@@ -0,0 +1,14 @@
+import { Model } from '@nozbe/watermelondb';
+import { field, date } from '@nozbe/watermelondb/decorators';
+
+export default class Setting extends Model {
+ static table = 'settings';
+
+ @field('value_as_string') valueAsString;
+
+ @field('value_as_boolean') valueAsBoolean;
+
+ @field('value_as_number') valueAsNumber;
+
+ @date('_updated_at') _updatedAt;
+}
diff --git a/app/lib/database/model/SlashCommand.js b/app/lib/database/model/SlashCommand.js
new file mode 100644
index 000000000..5cc6ba35b
--- /dev/null
+++ b/app/lib/database/model/SlashCommand.js
@@ -0,0 +1,14 @@
+import { Model } from '@nozbe/watermelondb';
+import { field } from '@nozbe/watermelondb/decorators';
+
+export default class SlashCommand extends Model {
+ static table = 'slash_commands';
+
+ @field('params') params;
+
+ @field('description') description;
+
+ @field('client_only') clientOnly;
+
+ @field('provides_preview') providesPreview;
+}
diff --git a/app/lib/database/model/Subscription.js b/app/lib/database/model/Subscription.js
new file mode 100644
index 000000000..19a310a14
--- /dev/null
+++ b/app/lib/database/model/Subscription.js
@@ -0,0 +1,88 @@
+import { Model } from '@nozbe/watermelondb';
+import {
+ field, date, json, children
+} from '@nozbe/watermelondb/decorators';
+import { sanitizer } from '../utils';
+
+export default class Subscription extends Model {
+ static table = 'subscriptions';
+
+ static associations = {
+ messages: { type: 'has_many', foreignKey: 'rid' },
+ threads: { type: 'has_many', foreignKey: 'rid' },
+ thread_messages: { type: 'has_many', foreignKey: 'subscription_id' },
+ uploads: { type: 'has_many', foreignKey: 'rid' }
+ }
+
+ @field('_id') _id;
+
+ @field('f') f;
+
+ @field('t') t;
+
+ @date('ts') ts;
+
+ @date('ls') ls;
+
+ @field('name') name;
+
+ @field('fname') fname;
+
+ @field('rid') rid;
+
+ @field('open') open;
+
+ @field('alert') alert;
+
+ @json('roles', sanitizer) roles;
+
+ @field('unread') unread;
+
+ @field('user_mentions') userMentions;
+
+ @date('room_updated_at') roomUpdatedAt;
+
+ @field('ro') ro;
+
+ @date('last_open') lastOpen;
+
+ @field('description') description;
+
+ @field('announcement') announcement;
+
+ @field('topic') topic;
+
+ @field('blocked') blocked;
+
+ @field('blocker') blocker;
+
+ @field('react_when_read_only') reactWhenReadOnly;
+
+ @field('archived') archived;
+
+ @field('join_code_required') joinCodeRequired;
+
+ @field('notifications') notifications;
+
+ @json('muted', sanitizer) muted;
+
+ @field('broadcast') broadcast;
+
+ @field('prid') prid;
+
+ @field('draft_message') draftMessage;
+
+ @date('last_thread_sync') lastThreadSync;
+
+ @field('auto_translate') autoTranslate;
+
+ @field('auto_translate_language') autoTranslateLanguage;
+
+ @json('last_message', sanitizer) lastMessage;
+
+ @children('messages') messages;
+
+ @children('threads') threads;
+
+ @children('thread_messages') threadMessages;
+}
diff --git a/app/lib/database/model/Thread.js b/app/lib/database/model/Thread.js
new file mode 100644
index 000000000..e84dd5b7c
--- /dev/null
+++ b/app/lib/database/model/Thread.js
@@ -0,0 +1,74 @@
+import { Model } from '@nozbe/watermelondb';
+import {
+ field, relation, date, json
+} from '@nozbe/watermelondb/decorators';
+
+import { sanitizer } from '../utils';
+
+export default class Thread extends Model {
+ static table = 'threads';
+
+ static associations = {
+ subscriptions: { type: 'belongs_to', key: 'rid' }
+ }
+
+ @field('msg') msg;
+
+ @field('t') t;
+
+ @date('ts') ts;
+
+ @json('u', sanitizer) u;
+
+ @relation('subscriptions', 'rid') subscription;
+
+ @field('alias') alias;
+
+ @json('parse_urls', sanitizer) parseUrls;
+
+ @field('groupable') groupable;
+
+ @field('avatar') avatar;
+
+ @json('attachments', sanitizer) attachments;
+
+ @json('urls', sanitizer) urls;
+
+ @date('_updated_at') _updatedAt;
+
+ @field('status') status;
+
+ @field('pinned') pinned;
+
+ @field('starred') starred;
+
+ @json('edited_by', sanitizer) editedBy;
+
+ @json('reactions', sanitizer) reactions;
+
+ @field('role') role;
+
+ @field('drid') drid;
+
+ @field('dcount') dcount;
+
+ @date('dlm') dlm;
+
+ @field('tmid') tmid;
+
+ @field('tcount') tcount;
+
+ @date('tlm') tlm;
+
+ @json('replies', sanitizer) replies;
+
+ @json('mentions', sanitizer) mentions;
+
+ @json('channels', sanitizer) channels;
+
+ @field('unread') unread;
+
+ @field('auto_translate') autoTranslate;
+
+ @json('translations', sanitizer) translations;
+}
diff --git a/app/lib/database/model/ThreadMessage.js b/app/lib/database/model/ThreadMessage.js
new file mode 100644
index 000000000..f071a9c62
--- /dev/null
+++ b/app/lib/database/model/ThreadMessage.js
@@ -0,0 +1,76 @@
+import { Model } from '@nozbe/watermelondb';
+import {
+ field, relation, date, json
+} from '@nozbe/watermelondb/decorators';
+
+import { sanitizer } from '../utils';
+
+export default class ThreadMessage extends Model {
+ static table = 'thread_messages';
+
+ static associations = {
+ subscriptions: { type: 'belongs_to', key: 'subscription_id' }
+ }
+
+ @field('msg') msg;
+
+ @field('t') t;
+
+ @date('ts') ts;
+
+ @json('u', sanitizer) u;
+
+ @relation('subscriptions', 'subscription_id') subscription;
+
+ @field('rid') rid;
+
+ @field('alias') alias;
+
+ @json('parse_urls', sanitizer) parseUrls;
+
+ @field('groupable') groupable;
+
+ @field('avatar') avatar;
+
+ @json('attachments', sanitizer) attachments;
+
+ @json('urls', sanitizer) urls;
+
+ @date('_updated_at') _updatedAt;
+
+ @field('status') status;
+
+ @field('pinned') pinned;
+
+ @field('starred') starred;
+
+ @json('edited_by', sanitizer) editedBy;
+
+ @json('reactions', sanitizer) reactions;
+
+ @field('role') role;
+
+ @field('drid') drid;
+
+ @field('dcount') dcount;
+
+ @date('dlm') dlm;
+
+ @field('tcount') tcount;
+
+ @date('tlm') tlm;
+
+ @json('replies', sanitizer) replies;
+
+ @json('mentions', sanitizer) mentions;
+
+ @json('channels', sanitizer) channels;
+
+ @field('unread') unread;
+
+ @field('auto_translate') autoTranslate;
+
+ @json('translations', sanitizer) translations;
+
+ @field('draft_message') draftMessage;
+}
diff --git a/app/lib/database/model/Upload.js b/app/lib/database/model/Upload.js
new file mode 100644
index 000000000..3a6074099
--- /dev/null
+++ b/app/lib/database/model/Upload.js
@@ -0,0 +1,28 @@
+import { Model } from '@nozbe/watermelondb';
+import { field, relation } from '@nozbe/watermelondb/decorators';
+
+export default class Upload extends Model {
+ static table = 'uploads';
+
+ static associations = {
+ subscriptions: { type: 'belongs_to', key: 'rid' }
+ }
+
+ @field('path') path;
+
+ @relation('subscriptions', 'rid') subscription;
+
+ @field('name') name;
+
+ @field('description') description;
+
+ @field('size') size;
+
+ @field('type') type;
+
+ @field('store') store;
+
+ @field('progress') progress;
+
+ @field('error') error;
+}
diff --git a/app/lib/database/model/User.js b/app/lib/database/model/User.js
new file mode 100644
index 000000000..eea82afd7
--- /dev/null
+++ b/app/lib/database/model/User.js
@@ -0,0 +1,20 @@
+import { Model } from '@nozbe/watermelondb';
+import { field, json } from '@nozbe/watermelondb/decorators';
+
+import { sanitizer } from '../utils';
+
+export default class User extends Model {
+ static table = 'users';
+
+ @field('token') token;
+
+ @field('username') username;
+
+ @field('name') name;
+
+ @field('language') language;
+
+ @field('status') status;
+
+ @json('roles', sanitizer) roles;
+}
diff --git a/app/lib/database/schema/app.js b/app/lib/database/schema/app.js
new file mode 100644
index 000000000..f2efdc411
--- /dev/null
+++ b/app/lib/database/schema/app.js
@@ -0,0 +1,222 @@
+import { appSchema, tableSchema } from '@nozbe/watermelondb';
+
+export default appSchema({
+ version: 1,
+ tables: [
+ tableSchema({
+ name: 'subscriptions',
+ columns: [
+ { name: '_id', type: 'string' },
+ { name: 'f', type: 'boolean' },
+ { name: 't', type: 'string', isIndexed: true },
+ { name: 'ts', type: 'number' },
+ { name: 'ls', type: 'number' },
+ { name: 'name', type: 'string', isIndexed: true },
+ { name: 'fname', type: 'string' },
+ { name: 'rid', type: 'string', isIndexed: true },
+ { name: 'open', type: 'boolean' },
+ { name: 'alert', type: 'boolean' },
+ { name: 'roles', type: 'string', isOptional: true },
+ { name: 'unread', type: 'number' },
+ { name: 'user_mentions', type: 'number' },
+ { name: 'room_updated_at', type: 'number' },
+ { name: 'ro', type: 'boolean' },
+ { name: 'last_open', type: 'number', isOptional: true },
+ { name: 'last_message', type: 'string', isOptional: true },
+ { name: 'description', type: 'string', isOptional: true },
+ { name: 'announcement', type: 'string', isOptional: true },
+ { name: 'topic', type: 'string', isOptional: true },
+ { name: 'blocked', type: 'boolean', isOptional: true },
+ { name: 'blocker', type: 'boolean', isOptional: true },
+ { name: 'react_when_read_only', type: 'boolean', isOptional: true },
+ { name: 'archived', type: 'boolean' },
+ { name: 'join_code_required', type: 'boolean', isOptional: true },
+ { name: 'muted', type: 'string', isOptional: true },
+ { name: 'broadcast', type: 'boolean', isOptional: true },
+ { name: 'prid', type: 'string', isOptional: true },
+ { name: 'draft_message', type: 'string', isOptional: true },
+ { name: 'last_thread_sync', type: 'number', isOptional: true },
+ { name: 'auto_translate', type: 'boolean', isOptional: true },
+ { name: 'auto_translate_language', type: 'string' }
+ ]
+ }),
+ tableSchema({
+ name: 'rooms',
+ columns: [
+ { name: 'custom_fields', type: 'string' },
+ { name: 'broadcast', type: 'boolean' },
+ { name: 'encrypted', type: 'boolean' },
+ { name: 'ro', type: 'boolean' }
+ ]
+ }),
+ tableSchema({
+ name: 'messages',
+ columns: [
+ { name: 'msg', type: 'string', isOptional: true },
+ { name: 't', type: 'string', isOptional: true },
+ { name: 'rid', type: 'string', isIndexed: true },
+ { name: 'ts', type: 'number' },
+ { name: 'u', type: 'string' },
+ { name: 'alias', type: 'string' },
+ { name: 'parse_urls', type: 'string' },
+ { name: 'groupable', type: 'boolean', isOptional: true },
+ { name: 'avatar', type: 'string', isOptional: true },
+ { name: 'attachments', type: 'string', isOptional: true },
+ { name: 'urls', type: 'string', isOptional: true },
+ { name: '_updated_at', type: 'number' },
+ { name: 'status', type: 'number', isOptional: true },
+ { name: 'pinned', type: 'boolean', isOptional: true },
+ { name: 'starred', type: 'boolean', isOptional: true },
+ { name: 'edited_by', type: 'string', isOptional: true },
+ { name: 'reactions', type: 'string', isOptional: true },
+ { name: 'role', type: 'string', isOptional: true },
+ { name: 'drid', type: 'string', isOptional: true },
+ { name: 'dcount', type: 'number', isOptional: true },
+ { name: 'dlm', type: 'number', isOptional: true },
+ { name: 'tmid', type: 'string', isOptional: true },
+ { name: 'tcount', type: 'number', isOptional: true },
+ { name: 'tlm', type: 'number', isOptional: true },
+ { name: 'replies', type: 'string', isOptional: true },
+ { name: 'mentions', type: 'string', isOptional: true },
+ { name: 'channels', type: 'string', isOptional: true },
+ { name: 'unread', type: 'boolean', isOptional: true },
+ { name: 'auto_translate', type: 'boolean', isOptional: true },
+ { name: 'translations', type: 'string', isOptional: true },
+ { name: 'tmsg', type: 'string', isOptional: true }
+ ]
+ }),
+ tableSchema({
+ name: 'threads',
+ columns: [
+ { name: 'msg', type: 'string', isOptional: true },
+ { name: 't', type: 'string', isOptional: true },
+ { name: 'rid', type: 'string', isIndexed: true },
+ { name: '_updated_at', type: 'number' },
+ { name: 'ts', type: 'number' },
+ { name: 'u', type: 'string' },
+ { name: 'alias', type: 'string', isOptional: true },
+ { name: 'parse_urls', type: 'string', isOptional: true },
+ { name: 'groupable', type: 'boolean', isOptional: true },
+ { name: 'avatar', type: 'string', isOptional: true },
+ { name: 'attachments', type: 'string', isOptional: true },
+ { name: 'urls', type: 'string', isOptional: true },
+ { name: 'status', type: 'number', isOptional: true },
+ { name: 'pinned', type: 'boolean', isOptional: true },
+ { name: 'starred', type: 'boolean', isOptional: true },
+ { name: 'edited_by', type: 'string', isOptional: true },
+ { name: 'reactions', type: 'string', isOptional: true },
+ { name: 'role', type: 'string', isOptional: true },
+ { name: 'drid', type: 'string', isOptional: true },
+ { name: 'dcount', type: 'number', isOptional: true },
+ { name: 'dlm', type: 'number', isOptional: true },
+ { name: 'tmid', type: 'string', isOptional: true },
+ { name: 'tcount', type: 'number', isOptional: true },
+ { name: 'tlm', type: 'number', isOptional: true },
+ { name: 'replies', type: 'string', isOptional: true },
+ { name: 'mentions', type: 'string', isOptional: true },
+ { name: 'channels', type: 'string', isOptional: true },
+ { name: 'unread', type: 'boolean', isOptional: true },
+ { name: 'auto_translate', type: 'boolean', isOptional: true },
+ { name: 'translations', type: 'string', isOptional: true }
+ ]
+ }),
+ tableSchema({
+ name: 'thread_messages',
+ columns: [
+ { name: 'msg', type: 'string', isOptional: true },
+ { name: 't', type: 'string', isOptional: true },
+ { name: 'rid', type: 'string', isIndexed: true },
+ { name: 'subscription_id', type: 'string', isIndexed: true },
+ { name: '_updated_at', type: 'number' },
+ { name: 'ts', type: 'number' },
+ { name: 'u', type: 'string' },
+ { name: 'alias', type: 'string', isOptional: true },
+ { name: 'parse_urls', type: 'string', isOptional: true },
+ { name: 'groupable', type: 'boolean', isOptional: true },
+ { name: 'avatar', type: 'string', isOptional: true },
+ { name: 'attachments', type: 'string', isOptional: true },
+ { name: 'urls', type: 'string', isOptional: true },
+ { name: 'status', type: 'number', isOptional: true },
+ { name: 'pinned', type: 'boolean', isOptional: true },
+ { name: 'starred', type: 'boolean', isOptional: true },
+ { name: 'edited_by', type: 'string', isOptional: true },
+ { name: 'reactions', type: 'string', isOptional: true },
+ { name: 'role', type: 'string', isOptional: true },
+ { name: 'drid', type: 'string', isOptional: true },
+ { name: 'dcount', type: 'number', isOptional: true },
+ { name: 'dlm', type: 'number', isOptional: true },
+ { name: 'tcount', type: 'number', isOptional: true },
+ { name: 'tlm', type: 'number', isOptional: true },
+ { name: 'replies', type: 'string', isOptional: true },
+ { name: 'mentions', type: 'string', isOptional: true },
+ { name: 'channels', type: 'string', isOptional: true },
+ { name: 'unread', type: 'boolean', isOptional: true },
+ { name: 'auto_translate', type: 'boolean', isOptional: true },
+ { name: 'translations', type: 'string', isOptional: true }
+ ]
+ }),
+ tableSchema({
+ name: 'custom_emojis',
+ columns: [
+ { name: 'name', type: 'string', isOptional: true },
+ { name: 'aliases', type: 'string', isOptional: true },
+ { name: 'extension', type: 'string' },
+ { name: '_updated_at', type: 'number' }
+ ]
+ }),
+ tableSchema({
+ name: 'frequently_used_emojis',
+ columns: [
+ { name: 'content', type: 'string', isOptional: true },
+ { name: 'extension', type: 'string', isOptional: true },
+ { name: 'is_custom', type: 'boolean' },
+ { name: 'count', type: 'number' }
+ ]
+ }),
+ tableSchema({
+ name: 'uploads',
+ columns: [
+ { name: 'path', type: 'string', isOptional: true },
+ { name: 'rid', type: 'string', isIndexed: true },
+ { name: 'name', type: 'string', isOptional: true },
+ { name: 'description', type: 'string', isOptional: true },
+ { name: 'size', type: 'number' },
+ { name: 'type', type: 'string', isOptional: true },
+ { name: 'store', type: 'string', isOptional: true },
+ { name: 'progress', type: 'number' },
+ { name: 'error', type: 'boolean' }
+ ]
+ }),
+ tableSchema({
+ name: 'settings',
+ columns: [
+ { name: 'value_as_string', type: 'string', isOptional: true },
+ { name: 'value_as_boolean', type: 'boolean', isOptional: true },
+ { name: 'value_as_number', type: 'number', isOptional: true },
+ { name: '_updated_at', type: 'number', isOptional: true }
+ ]
+ }),
+ tableSchema({
+ name: 'roles',
+ columns: [
+ { name: 'description', type: 'string', isOptional: true }
+ ]
+ }),
+ tableSchema({
+ name: 'permissions',
+ columns: [
+ { name: 'roles', type: 'string' },
+ { name: '_updated_at', type: 'number', isOptional: true }
+ ]
+ }),
+ tableSchema({
+ name: 'slash_commands',
+ columns: [
+ { name: 'params', type: 'string', isOptional: true },
+ { name: 'description', type: 'string', isOptional: true },
+ { name: 'client_only', type: 'boolean', isOptional: true },
+ { name: 'provides_preview', type: 'boolean', isOptional: true }
+ ]
+ })
+ ]
+});
diff --git a/app/lib/database/schema/servers.js b/app/lib/database/schema/servers.js
new file mode 100644
index 000000000..33af6c1d2
--- /dev/null
+++ b/app/lib/database/schema/servers.js
@@ -0,0 +1,30 @@
+import { appSchema, tableSchema } from '@nozbe/watermelondb';
+
+export default appSchema({
+ version: 2,
+ tables: [
+ tableSchema({
+ name: 'users',
+ columns: [
+ { name: 'token', type: 'string', isOptional: true },
+ { name: 'username', type: 'string', isOptional: true },
+ { name: 'name', type: 'string', isOptional: true },
+ { name: 'language', type: 'string', isOptional: true },
+ { name: 'status', type: 'string', isOptional: true },
+ { name: 'roles', type: 'string', isOptional: true }
+ ]
+ }),
+ tableSchema({
+ name: 'servers',
+ columns: [
+ { name: 'name', type: 'string', isOptional: true },
+ { name: 'icon_url', type: 'string', isOptional: true },
+ { name: 'use_real_name', type: 'boolean', isOptional: true },
+ { name: 'file_upload_media_type_white_list', type: 'string', isOptional: true },
+ { name: 'file_upload_max_file_size', type: 'number', isOptional: true },
+ { name: 'rooms_updated_at', type: 'number', isOptional: true },
+ { name: 'version', type: 'string', isOptional: true }
+ ]
+ })
+ ]
+});
diff --git a/app/lib/database/utils.js b/app/lib/database/utils.js
new file mode 100644
index 000000000..8e5800304
--- /dev/null
+++ b/app/lib/database/utils.js
@@ -0,0 +1 @@
+export const sanitizer = r => r;
diff --git a/app/lib/methods/canOpenRoom.js b/app/lib/methods/canOpenRoom.js
index 4ddf38d8f..7509d6ed6 100644
--- a/app/lib/methods/canOpenRoom.js
+++ b/app/lib/methods/canOpenRoom.js
@@ -1,4 +1,4 @@
-import database from '../realm';
+import database from '../database';
const restTypes = {
channel: 'channels', direct: 'im', group: 'groups'
@@ -18,18 +18,26 @@ async function open({ type, rid }) {
}
export default async function canOpenRoom({ rid, path }) {
- const [type] = path.split('/');
- if (type === 'channel') {
- return true;
- }
-
- const room = database.objects('subscriptions').filtered('rid == $0', rid);
- if (room.length) {
- return true;
- }
-
try {
- return await open.call(this, { type, rid });
+ const db = database.active;
+ const subsCollection = db.collections.get('subscriptions');
+ const [type] = path.split('/');
+ if (type === 'channel') {
+ return true;
+ }
+
+ try {
+ await subsCollection.find(rid);
+ return true;
+ } catch (error) {
+ // Do nothing
+ }
+
+ try {
+ return await open.call(this, { type, rid });
+ } catch (e) {
+ return false;
+ }
} catch (e) {
return false;
}
diff --git a/app/lib/methods/getCustomEmojis.js b/app/lib/methods/getCustomEmojis.js
index a3ea779af..d7dd56580 100644
--- a/app/lib/methods/getCustomEmojis.js
+++ b/app/lib/methods/getCustomEmojis.js
@@ -1,45 +1,110 @@
import { InteractionManager } from 'react-native';
import semver from 'semver';
+import orderBy from 'lodash/orderBy';
+import { sanitizedRaw } from '@nozbe/watermelondb/RawRecord';
import reduxStore from '../createStore';
-import database from '../realm';
+import database from '../database';
import log from '../../utils/log';
+import { setCustomEmojis as setCustomEmojisAction } from '../../actions/customEmojis';
-const getUpdatedSince = () => {
- const emoji = database.objects('customEmojis').sorted('_updatedAt', true)[0];
- return emoji && emoji._updatedAt.toISOString();
+const getUpdatedSince = (allEmojis) => {
+ if (!allEmojis.length) {
+ return null;
+ }
+ const ordered = orderBy(allEmojis.filter(item => item._updatedAt !== null), ['_updatedAt'], ['desc']);
+ return ordered && ordered[0]._updatedAt.toISOString();
};
-const create = (customEmojis) => {
- if (customEmojis && customEmojis.length) {
- customEmojis.forEach((emoji) => {
- try {
- database.create('customEmojis', emoji, true);
- } catch (e) {
- // log('getEmojis create', e);
- }
+const updateEmojis = async({ update = [], remove = [], allRecords }) => {
+ if (!((update && update.length) || (remove && remove.length))) {
+ return;
+ }
+ const db = database.active;
+ const emojisCollection = db.collections.get('custom_emojis');
+ let emojisToCreate = [];
+ let emojisToUpdate = [];
+ let emojisToDelete = [];
+
+ // Create or update
+ if (update && update.length) {
+ emojisToCreate = update.filter(i1 => !allRecords.find(i2 => i1._id === i2.id));
+ emojisToUpdate = allRecords.filter(i1 => update.find(i2 => i1.id === i2._id));
+ emojisToCreate = emojisToCreate.map(emoji => emojisCollection.prepareCreate((e) => {
+ e._raw = sanitizedRaw({ id: emoji._id }, emojisCollection.schema);
+ Object.assign(e, emoji);
+ }));
+ emojisToUpdate = emojisToUpdate.map((emoji) => {
+ const newEmoji = update.find(e => e._id === emoji.id);
+ return emoji.prepareUpdate((e) => {
+ Object.assign(e, newEmoji);
+ });
});
}
+
+ if (remove && remove.length) {
+ emojisToDelete = allRecords.filter(i1 => remove.find(i2 => i1.id === i2._id));
+ emojisToDelete = emojisToDelete.map(emoji => emoji.prepareDestroyPermanently());
+ }
+
+ try {
+ await db.action(async() => {
+ await db.batch(
+ ...emojisToCreate,
+ ...emojisToUpdate,
+ ...emojisToDelete
+ );
+ });
+ return true;
+ } catch (e) {
+ log(e);
+ }
};
+export async function setCustomEmojis() {
+ const db = database.active;
+ const emojisCollection = db.collections.get('custom_emojis');
+ const allEmojis = await emojisCollection.query().fetch();
+ const parsed = allEmojis.reduce((ret, item) => {
+ ret[item.name] = {
+ name: item.name,
+ extension: item.extension
+ };
+ item.aliases.forEach((alias) => {
+ ret[alias] = {
+ name: item.name,
+ extension: item.extension
+ };
+ });
+ return ret;
+ }, {});
+ reduxStore.dispatch(setCustomEmojisAction(parsed));
+}
-export default function() {
+export function getCustomEmojis() {
return new Promise(async(resolve) => {
try {
const serverVersion = reduxStore.getState().server.version;
- const updatedSince = getUpdatedSince();
+ const db = database.active;
+ const emojisCollection = db.collections.get('custom_emojis');
+ const allRecords = await emojisCollection.query().fetch();
+ const updatedSince = await getUpdatedSince(allRecords);
// if server version is lower than 0.75.0, fetches from old api
if (semver.lt(serverVersion, '0.75.0')) {
// RC 0.61.0
const result = await this.sdk.get('emoji-custom');
- InteractionManager.runAfterInteractions(() => {
+ InteractionManager.runAfterInteractions(async() => {
let { emojis } = result;
emojis = emojis.filter(emoji => !updatedSince || emoji._updatedAt > updatedSince);
- database.write(() => {
- create(emojis);
- });
+ const changedEmojis = await updateEmojis({ update: emojis, allRecords });
+
+ // `setCustomEmojis` is fired on selectServer
+ // We run it again only if emojis were changed
+ if (changedEmojis) {
+ setCustomEmojis();
+ }
return resolve();
});
} else {
@@ -55,26 +120,17 @@ export default function() {
return resolve();
}
- InteractionManager.runAfterInteractions(
- () => database.write(() => {
- const { emojis } = result;
- create(emojis.update);
+ InteractionManager.runAfterInteractions(async() => {
+ const { emojis } = result;
+ const { update, remove } = emojis;
+ const changedEmojis = await updateEmojis({ update, remove, allRecords });
- if (emojis.delete && emojis.delete.length) {
- emojis.delete.forEach((emoji) => {
- try {
- const emojiRecord = database.objectForPrimaryKey('customEmojis', emoji._id);
- if (emojiRecord) {
- database.delete(emojiRecord);
- }
- } catch (e) {
- log(e);
- }
- });
- }
- return resolve();
- })
- );
+ // `setCustomEmojis` is fired on selectServer
+ // We run it again only if emojis were changed
+ if (changedEmojis) {
+ setCustomEmojis();
+ }
+ });
}
} catch (e) {
log(e);
diff --git a/app/lib/methods/getPermissions.js b/app/lib/methods/getPermissions.js
index 5e578062f..b6a2dcd02 100644
--- a/app/lib/methods/getPermissions.js
+++ b/app/lib/methods/getPermissions.js
@@ -1,31 +1,82 @@
import { InteractionManager } from 'react-native';
import semver from 'semver';
+import { sanitizedRaw } from '@nozbe/watermelondb/RawRecord';
+import { orderBy } from 'lodash';
-import database from '../realm';
+import database from '../database';
import log from '../../utils/log';
import reduxStore from '../createStore';
+import protectedFunction from './helpers/protectedFunction';
-const getUpdatedSince = () => {
- const permissions = database.objects('permissions').sorted('_updatedAt', true)[0];
- return permissions && permissions._updatedAt.toISOString();
+const getUpdatedSince = (allRecords) => {
+ try {
+ if (!allRecords.length) {
+ return null;
+ }
+ const ordered = orderBy(allRecords.filter(item => item._updatedAt !== null), ['_updatedAt'], ['desc']);
+ return ordered && ordered[0]._updatedAt.toISOString();
+ } catch (e) {
+ log(e);
+ }
+ return null;
};
-const create = (permissions) => {
- if (permissions && permissions.length) {
- permissions.forEach((permission) => {
- try {
- database.create('permissions', permission, true);
- } catch (e) {
- log(e);
- }
+const updatePermissions = async({ update = [], remove = [], allRecords }) => {
+ if (!((update && update.length) || (remove && remove.length))) {
+ return;
+ }
+ const db = database.active;
+ const permissionsCollection = db.collections.get('permissions');
+
+ // filter permissions
+ let permissionsToCreate = [];
+ let permissionsToUpdate = [];
+ let permissionsToDelete = [];
+
+ // Create or update
+ if (update && update.length) {
+ permissionsToCreate = update.filter(i1 => !allRecords.find(i2 => i1._id === i2.id));
+ permissionsToUpdate = allRecords.filter(i1 => update.find(i2 => i1.id === i2._id));
+ permissionsToCreate = permissionsToCreate.map(permission => permissionsCollection.prepareCreate(protectedFunction((p) => {
+ p._raw = sanitizedRaw({ id: permission._id }, permissionsCollection.schema);
+ Object.assign(p, permission);
+ })));
+ permissionsToUpdate = permissionsToUpdate.map((permission) => {
+ const newPermission = update.find(p => p._id === permission.id);
+ return permission.prepareUpdate(protectedFunction((p) => {
+ Object.assign(p, newPermission);
+ }));
});
}
+
+ // Delete
+ if (remove && remove.length) {
+ permissionsToDelete = allRecords.filter(i1 => remove.find(i2 => i1.id === i2._id));
+ permissionsToDelete = permissionsToDelete.map(permission => permission.prepareDestroyPermanently());
+ }
+
+ const batch = [
+ ...permissionsToCreate,
+ ...permissionsToUpdate,
+ ...permissionsToDelete
+ ];
+
+ try {
+ await db.action(async() => {
+ await db.batch(...batch);
+ });
+ } catch (e) {
+ log(e);
+ }
};
export default function() {
return new Promise(async(resolve) => {
try {
const serverVersion = reduxStore.getState().server.version;
+ const db = database.active;
+ const permissionsCollection = db.collections.get('permissions');
+ const allRecords = await permissionsCollection.query().fetch();
// if server version is lower than 0.73.0, fetches from old api
if (semver.lt(serverVersion, '0.73.0')) {
@@ -34,15 +85,13 @@ export default function() {
if (!result.success) {
return resolve();
}
- InteractionManager.runAfterInteractions(() => {
- database.write(() => {
- create(result.permissions);
- });
+ InteractionManager.runAfterInteractions(async() => {
+ await updatePermissions({ update: result.permissions, allRecords });
return resolve();
});
} else {
const params = {};
- const updatedSince = getUpdatedSince();
+ const updatedSince = await getUpdatedSince(allRecords);
if (updatedSince) {
params.updatedSince = updatedSince;
}
@@ -53,25 +102,10 @@ export default function() {
return resolve();
}
- InteractionManager.runAfterInteractions(
- () => database.write(() => {
- create(result.update);
-
- if (result.delete && result.delete.length) {
- result.delete.forEach((p) => {
- try {
- const permission = database.objectForPrimaryKey('permissions', p._id);
- if (permission) {
- database.delete(permission);
- }
- } catch (e) {
- log(e);
- }
- });
- }
- return resolve();
- })
- );
+ InteractionManager.runAfterInteractions(async() => {
+ await updatePermissions({ update: result.update, remove: result.delete, allRecords });
+ return resolve();
+ });
}
} catch (e) {
log(e);
diff --git a/app/lib/methods/getRoles.js b/app/lib/methods/getRoles.js
index 10c6389d0..3856d64f4 100644
--- a/app/lib/methods/getRoles.js
+++ b/app/lib/methods/getRoles.js
@@ -1,9 +1,12 @@
import { InteractionManager } from 'react-native';
+import { sanitizedRaw } from '@nozbe/watermelondb/RawRecord';
-import database from '../realm';
+import database from '../database';
import log from '../../utils/log';
+import protectedFunction from './helpers/protectedFunction';
export default function() {
+ const db = database.active;
return new Promise(async(resolve) => {
try {
// RC 0.70.0
@@ -16,14 +19,41 @@ export default function() {
const { roles } = result;
if (roles && roles.length) {
- InteractionManager.runAfterInteractions(() => {
- database.write(() => roles.forEach((role) => {
+ InteractionManager.runAfterInteractions(async() => {
+ await db.action(async() => {
+ const rolesCollections = db.collections.get('roles');
+ const allRolesRecords = await rolesCollections.query().fetch();
+
+ // filter roles
+ let rolesToCreate = roles.filter(i1 => !allRolesRecords.find(i2 => i1._id === i2.id));
+ let rolesToUpdate = allRolesRecords.filter(i1 => roles.find(i2 => i1.id === i2._id));
+
+ // Create
+ rolesToCreate = rolesToCreate.map(role => rolesCollections.prepareCreate(protectedFunction((r) => {
+ r._raw = sanitizedRaw({ id: role._id }, rolesCollections.schema);
+ Object.assign(r, role);
+ })));
+
+ // Update
+ rolesToUpdate = rolesToUpdate.map((role) => {
+ const newRole = roles.find(r => r._id === role.id);
+ return role.prepareUpdate(protectedFunction((r) => {
+ Object.assign(r, newRole);
+ }));
+ });
+
+ const allRecords = [
+ ...rolesToCreate,
+ ...rolesToUpdate
+ ];
+
try {
- database.create('roles', role, true);
+ await db.batch(...allRecords);
} catch (e) {
log(e);
}
- }));
+ return allRecords.length;
+ });
return resolve();
});
}
diff --git a/app/lib/methods/getSettings.js b/app/lib/methods/getSettings.js
index 883e39619..5cd8a04d0 100644
--- a/app/lib/methods/getSettings.js
+++ b/app/lib/methods/getSettings.js
@@ -1,23 +1,58 @@
import { InteractionManager } from 'react-native';
+import { sanitizedRaw } from '@nozbe/watermelondb/RawRecord';
+import { Q } from '@nozbe/watermelondb';
import reduxStore from '../createStore';
-import database from '../realm';
import * as actions from '../../actions';
-import log from '../../utils/log';
import settings from '../../constants/settings';
+import log from '../../utils/log';
+import database from '../database';
+import protectedFunction from './helpers/protectedFunction';
-function updateServer(param) {
- database.databases.serversDB.write(() => {
+const serverInfoKeys = ['Site_Name', 'UI_Use_Real_Name', 'FileUpload_MediaTypeWhiteList', 'FileUpload_MaxFileSize'];
+
+const serverInfoUpdate = async(serverInfo, iconSetting) => {
+ const serversDB = database.servers;
+ const serverId = reduxStore.getState().server.server;
+
+ let info = serverInfo.reduce((allSettings, setting) => {
+ if (setting._id === 'Site_Name') {
+ return { ...allSettings, name: setting.valueAsString };
+ }
+ if (setting._id === 'UI_Use_Real_Name') {
+ return { ...allSettings, useRealName: setting.valueAsBoolean };
+ }
+ if (setting._id === 'FileUpload_MediaTypeWhiteList') {
+ return { ...allSettings, FileUpload_MediaTypeWhiteList: setting.valueAsString };
+ }
+ if (setting._id === 'FileUpload_MaxFileSize') {
+ return { ...allSettings, FileUpload_MaxFileSize: setting.valueAsNumber };
+ }
+ return allSettings;
+ }, {});
+
+ if (iconSetting) {
+ const iconURL = `${ serverId }/${ iconSetting.value.url || iconSetting.value.defaultUrl }`;
+ info = { ...info, iconURL };
+ }
+
+ await serversDB.action(async() => {
try {
- database.databases.serversDB.create('servers', { id: reduxStore.getState().server.server, ...param }, true);
+ const serversCollection = serversDB.collections.get('servers');
+ const server = await serversCollection.find(serverId);
+
+ await server.update((record) => {
+ Object.assign(record, info);
+ });
} catch (e) {
log(e);
}
});
-}
+};
export default async function() {
try {
+ const db = database.active;
const settingsParams = JSON.stringify(Object.keys(settings));
// RC 0.60.0
const result = await fetch(`${ this.sdk.client.host }/api/v1/settings.public?query={"_id":{"$in":${ settingsParams }}}`).then(response => response.json());
@@ -27,39 +62,52 @@ export default async function() {
}
const data = result.settings || [];
const filteredSettings = this._prepareSettings(data.filter(item => item._id !== 'Assets_favicon_512'));
+ const filteredSettingsIds = filteredSettings.map(s => s._id);
- InteractionManager.runAfterInteractions(
- () => database.write(
- () => filteredSettings.forEach((setting) => {
- try {
- database.create('settings', { ...setting, _updatedAt: new Date() }, true);
- } catch (e) {
- log(e);
- }
-
- if (setting._id === 'Site_Name') {
- updateServer.call(this, { name: setting.valueAsString });
- }
- if (setting._id === 'UI_Use_Real_Name') {
- updateServer.call(this, { useRealName: setting.valueAsBoolean });
- }
- if (setting._id === 'FileUpload_MediaTypeWhiteList') {
- updateServer.call(this, { FileUpload_MediaTypeWhiteList: setting.valueAsString });
- }
- if (setting._id === 'FileUpload_MaxFileSize') {
- updateServer.call(this, { FileUpload_MaxFileSize: setting.valueAsNumber });
- }
- })
- )
- );
reduxStore.dispatch(actions.addSettings(this.parseSettings(filteredSettings)));
+ InteractionManager.runAfterInteractions(async() => {
+ // filter server info
+ const serverInfo = filteredSettings.filter(i1 => serverInfoKeys.includes(i1._id));
+ const iconSetting = data.find(item => item._id === 'Assets_favicon_512');
+ await serverInfoUpdate(serverInfo, iconSetting);
- const iconSetting = data.find(item => item._id === 'Assets_favicon_512');
- if (iconSetting) {
- const baseUrl = reduxStore.getState().server.server;
- const iconURL = `${ baseUrl }/${ iconSetting.value.url || iconSetting.value.defaultUrl }`;
- updateServer.call(this, { iconURL });
- }
+ await db.action(async() => {
+ const settingsCollection = db.collections.get('settings');
+ const allSettingsRecords = await settingsCollection
+ .query(Q.where('id', Q.oneOf(filteredSettingsIds)))
+ .fetch();
+
+ // filter settings
+ let settingsToCreate = filteredSettings.filter(i1 => !allSettingsRecords.find(i2 => i1._id === i2.id));
+ let settingsToUpdate = allSettingsRecords.filter(i1 => filteredSettings.find(i2 => i1.id === i2._id));
+
+ // Create
+ settingsToCreate = settingsToCreate.map(setting => settingsCollection.prepareCreate(protectedFunction((s) => {
+ s._raw = sanitizedRaw({ id: setting._id }, settingsCollection.schema);
+ Object.assign(s, setting);
+ })));
+
+ // Update
+ settingsToUpdate = settingsToUpdate.map((setting) => {
+ const newSetting = filteredSettings.find(s => s._id === setting.id);
+ return setting.prepareUpdate(protectedFunction((s) => {
+ Object.assign(s, newSetting);
+ }));
+ });
+
+ const allRecords = [
+ ...settingsToCreate,
+ ...settingsToUpdate
+ ];
+
+ try {
+ await db.batch(...allRecords);
+ } catch (e) {
+ log(e);
+ }
+ return allRecords.length;
+ });
+ });
} catch (e) {
log(e);
}
diff --git a/app/lib/methods/getSlashCommands.js b/app/lib/methods/getSlashCommands.js
index b1806c7eb..682fdb2ee 100644
--- a/app/lib/methods/getSlashCommands.js
+++ b/app/lib/methods/getSlashCommands.js
@@ -1,9 +1,12 @@
import { InteractionManager } from 'react-native';
+import { sanitizedRaw } from '@nozbe/watermelondb/RawRecord';
-import database from '../realm';
+import database from '../database';
import log from '../../utils/log';
+import protectedFunction from './helpers/protectedFunction';
export default function() {
+ const db = database.active;
return new Promise(async(resolve) => {
try {
// RC 0.60.2
@@ -17,15 +20,41 @@ export default function() {
const { commands } = result;
if (commands && commands.length) {
- InteractionManager.runAfterInteractions(() => {
- database.write(() => commands.forEach((command) => {
+ InteractionManager.runAfterInteractions(async() => {
+ await db.action(async() => {
+ const slashCommandsCollection = db.collections.get('slash_commands');
+ const allSlashCommandsRecords = await slashCommandsCollection.query().fetch();
+
+ // filter slash commands
+ let slashCommandsToCreate = commands.filter(i1 => !allSlashCommandsRecords.find(i2 => i1.command === i2.id));
+ let slashCommandsToUpdate = allSlashCommandsRecords.filter(i1 => commands.find(i2 => i1.id === i2.command));
+
+ // Create
+ slashCommandsToCreate = slashCommandsToCreate.map(command => slashCommandsCollection.prepareCreate(protectedFunction((s) => {
+ s._raw = sanitizedRaw({ id: command.command }, slashCommandsCollection.schema);
+ Object.assign(s, command);
+ })));
+
+ // Update
+ slashCommandsToUpdate = slashCommandsToUpdate.map((command) => {
+ const newCommand = commands.find(s => s.command === command.id);
+ return command.prepareUpdate(protectedFunction((s) => {
+ Object.assign(s, newCommand);
+ }));
+ });
+
+ const allRecords = [
+ ...slashCommandsToCreate,
+ ...slashCommandsToUpdate
+ ];
+
try {
- database.create('slashCommand', command, true);
+ await db.batch(...allRecords);
} catch (e) {
log(e);
}
- }));
- return resolve();
+ return allRecords.length;
+ });
});
}
} catch (e) {
diff --git a/app/lib/methods/helpers/mergeSubscriptionsRooms.js b/app/lib/methods/helpers/mergeSubscriptionsRooms.js
index 63da2c2c3..e76442f83 100644
--- a/app/lib/methods/helpers/mergeSubscriptionsRooms.js
+++ b/app/lib/methods/helpers/mergeSubscriptionsRooms.js
@@ -11,18 +11,17 @@ export const merge = (subscription, room) => {
return;
}
if (room) {
- if (room.rid) {
- subscription.rid = room.rid;
+ if (room._updatedAt) {
+ subscription.roomUpdatedAt = room._updatedAt;
+ subscription.lastMessage = normalizeMessage(room.lastMessage);
+ subscription.description = room.description;
+ subscription.topic = room.topic;
+ subscription.announcement = room.announcement;
+ subscription.reactWhenReadOnly = room.reactWhenReadOnly;
+ subscription.archived = room.archived || false;
+ subscription.joinCodeRequired = room.joinCodeRequired;
}
- subscription.roomUpdatedAt = room._updatedAt;
- subscription.lastMessage = normalizeMessage(room.lastMessage);
subscription.ro = room.ro;
- subscription.description = room.description;
- subscription.topic = room.topic;
- subscription.announcement = room.announcement;
- subscription.reactWhenReadOnly = room.reactWhenReadOnly;
- subscription.archived = room.archived;
- subscription.joinCodeRequired = room.joinCodeRequired;
subscription.broadcast = room.broadcast;
if (!subscription.roles || !subscription.roles.length) {
subscription.roles = [];
diff --git a/app/lib/methods/helpers/protectedFunction.js b/app/lib/methods/helpers/protectedFunction.js
index 38d36d9f9..ce2076b3e 100644
--- a/app/lib/methods/helpers/protectedFunction.js
+++ b/app/lib/methods/helpers/protectedFunction.js
@@ -2,12 +2,6 @@ export default fn => (...params) => {
try {
fn(...params);
} catch (e) {
- let error = e;
- if (typeof error !== 'object') {
- error = { error };
- }
- if (__DEV__) {
- alert(error);
- }
+ console.log(e);
}
};
diff --git a/app/lib/methods/loadMessagesForRoom.js b/app/lib/methods/loadMessagesForRoom.js
index 13474eba8..c337bcc0f 100644
--- a/app/lib/methods/loadMessagesForRoom.js
+++ b/app/lib/methods/loadMessagesForRoom.js
@@ -1,24 +1,9 @@
import { InteractionManager } from 'react-native';
-import buildMessage from './helpers/buildMessage';
-import database from '../realm';
import log from '../../utils/log';
+import updateMessages from './updateMessages';
async function load({ rid: roomId, latest, t }) {
- if (t === 'l') {
- try {
- // RC 0.51.0
- const data = await this.sdk.methodCall('loadHistory', roomId, null, 50, latest);
- if (!data || data.status === 'error') {
- return [];
- }
- return data.messages;
- } catch (e) {
- log(e);
- return [];
- }
- }
-
let params = { roomId, count: 50 };
if (latest) {
params = { ...params, latest: new Date(latest).toISOString() };
@@ -31,30 +16,14 @@ async function load({ rid: roomId, latest, t }) {
return data.messages;
}
-export default function loadMessagesForRoom(...args) {
+export default function loadMessagesForRoom(args) {
return new Promise(async(resolve, reject) => {
try {
- const data = await load.call(this, ...args);
+ const data = await load.call(this, args);
if (data && data.length) {
- InteractionManager.runAfterInteractions(() => {
- database.write(() => data.forEach((message) => {
- message = buildMessage(message);
- try {
- database.create('messages', message, true);
- // if it's a thread "header"
- if (message.tlm) {
- database.create('threads', message, true);
- }
- // if it belongs to a thread
- if (message.tmid) {
- message.rid = message.tmid;
- database.create('threadMessages', message, true);
- }
- } catch (e) {
- log(e);
- }
- }));
+ InteractionManager.runAfterInteractions(async() => {
+ await updateMessages({ rid: args.rid, update: data });
return resolve(data);
});
} else {
diff --git a/app/lib/methods/loadMissedMessages.js b/app/lib/methods/loadMissedMessages.js
index addfb32f1..3437044f8 100644
--- a/app/lib/methods/loadMissedMessages.js
+++ b/app/lib/methods/loadMissedMessages.js
@@ -1,14 +1,19 @@
import { InteractionManager } from 'react-native';
-import buildMessage from './helpers/buildMessage';
-import database from '../realm';
+import database from '../database';
import log from '../../utils/log';
+import updateMessages from './updateMessages';
-const getLastUpdate = (rid) => {
- const sub = database
- .objects('subscriptions')
- .filtered('rid == $0', rid)[0];
- return sub && new Date(sub.lastOpen).toISOString();
+const getLastUpdate = async(rid) => {
+ try {
+ const db = database.active;
+ const subsCollection = db.collections.get('subscriptions');
+ const sub = await subsCollection.find(rid);
+ return sub.lastOpen.toISOString();
+ } catch (e) {
+ // Do nothing
+ }
+ return null;
};
async function load({ rid: roomId, lastOpen }) {
@@ -16,59 +21,23 @@ async function load({ rid: roomId, lastOpen }) {
if (lastOpen) {
lastUpdate = new Date(lastOpen).toISOString();
} else {
- lastUpdate = getLastUpdate(roomId);
+ lastUpdate = await getLastUpdate(roomId);
}
// RC 0.60.0
const { result } = await this.sdk.get('chat.syncMessages', { roomId, lastUpdate });
return result;
}
-export default function loadMissedMessages(...args) {
+export default function loadMissedMessages(args) {
return new Promise(async(resolve, reject) => {
try {
- const data = (await load.call(this, ...args));
+ const data = (await load.call(this, { rid: args.rid, lastOpen: args.lastOpen }));
if (data) {
- if (data.updated && data.updated.length) {
- const { updated } = data;
- InteractionManager.runAfterInteractions(() => {
- database.write(() => updated.forEach((message) => {
- try {
- message = buildMessage(message);
- database.create('messages', message, true);
- // if it's a thread "header"
- if (message.tlm) {
- database.create('threads', message, true);
- }
- if (message.tmid) {
- message.rid = message.tmid;
- database.create('threadMessages', message, true);
- }
- } catch (e) {
- log(e);
- }
- }));
- });
- }
- if (data.deleted && data.deleted.length) {
- const { deleted } = data;
- InteractionManager.runAfterInteractions(() => {
- try {
- database.write(() => {
- deleted.forEach((m) => {
- const message = database.objects('messages').filtered('_id = $0', m._id);
- database.delete(message);
- const thread = database.objects('threads').filtered('_id = $0', m._id);
- database.delete(thread);
- const threadMessage = database.objects('threadMessages').filtered('_id = $0', m._id);
- database.delete(threadMessage);
- });
- });
- } catch (e) {
- log(e);
- }
- });
- }
+ const { updated, deleted } = data;
+ InteractionManager.runAfterInteractions(async() => {
+ await updateMessages({ rid: args.rid, update: updated, remove: deleted });
+ });
}
resolve();
} catch (e) {
diff --git a/app/lib/methods/loadThreadMessages.js b/app/lib/methods/loadThreadMessages.js
index f351e45ba..91369fa8b 100644
--- a/app/lib/methods/loadThreadMessages.js
+++ b/app/lib/methods/loadThreadMessages.js
@@ -1,9 +1,11 @@
import { InteractionManager } from 'react-native';
-import EJSON from 'ejson';
+import { Q } from '@nozbe/watermelondb';
+import { sanitizedRaw } from '@nozbe/watermelondb/RawRecord';
import buildMessage from './helpers/buildMessage';
-import database from '../realm';
+import database from '../database';
import log from '../../utils/log';
+import protectedFunction from './helpers/protectedFunction';
async function load({ tmid, offset }) {
try {
@@ -21,29 +23,53 @@ async function load({ tmid, offset }) {
}
}
-export default function loadThreadMessages({ tmid, offset = 0 }) {
+export default function loadThreadMessages({ tmid, rid, offset = 0 }) {
return new Promise(async(resolve, reject) => {
try {
- const data = await load.call(this, { tmid, offset });
+ let data = await load.call(this, { tmid, offset });
if (data && data.length) {
- InteractionManager.runAfterInteractions(() => {
- database.write(() => data.forEach((m) => {
- try {
- const message = buildMessage(EJSON.fromJSONValue(m));
- message.rid = tmid;
- database.create('threadMessages', message, true);
- } catch (e) {
- log(e);
- }
- }));
+ InteractionManager.runAfterInteractions(async() => {
+ try {
+ data = data.map(m => buildMessage(m));
+ const db = database.active;
+ const threadMessagesCollection = db.collections.get('thread_messages');
+ const allThreadMessagesRecords = await threadMessagesCollection.query(Q.where('rid', tmid)).fetch();
+ let threadMessagesToCreate = data.filter(i1 => !allThreadMessagesRecords.find(i2 => i1._id === i2.id));
+ let threadMessagesToUpdate = allThreadMessagesRecords.filter(i1 => data.find(i2 => i1.id === i2._id));
+
+ threadMessagesToCreate = threadMessagesToCreate.map(threadMessage => threadMessagesCollection.prepareCreate(protectedFunction((tm) => {
+ tm._raw = sanitizedRaw({ id: threadMessage._id }, threadMessagesCollection.schema);
+ Object.assign(tm, threadMessage);
+ tm.subscription.id = rid;
+ tm.rid = threadMessage.tmid;
+ delete threadMessage.tmid;
+ })));
+
+ threadMessagesToUpdate = threadMessagesToUpdate.map((threadMessage) => {
+ const newThreadMessage = data.find(t => t._id === threadMessage.id);
+ return threadMessage.prepareUpdate(protectedFunction((tm) => {
+ Object.assign(tm, newThreadMessage);
+ tm.rid = threadMessage.tmid;
+ delete threadMessage.tmid;
+ }));
+ });
+
+ await db.action(async() => {
+ await db.batch(
+ ...threadMessagesToCreate,
+ ...threadMessagesToUpdate
+ );
+ });
+ } catch (e) {
+ log(e);
+ }
return resolve(data);
});
} else {
return resolve([]);
}
} catch (e) {
- log(e);
reject(e);
}
});
diff --git a/app/lib/methods/readMessages.js b/app/lib/methods/readMessages.js
index cfad83da4..9e61cfc44 100644
--- a/app/lib/methods/readMessages.js
+++ b/app/lib/methods/readMessages.js
@@ -1,20 +1,26 @@
-import database from '../realm';
+import database from '../database';
import log from '../../utils/log';
-export default async function readMessages(rid) {
- const ls = new Date();
+export default async function readMessages(rid, lastOpen) {
try {
// RC 0.61.0
const data = await this.sdk.post('subscriptions.read', { rid });
- const [subscription] = database.objects('subscriptions').filtered('rid = $0', rid);
- database.write(() => {
- subscription.open = true;
- subscription.alert = false;
- subscription.unread = 0;
- subscription.userMentions = 0;
- subscription.groupMentions = 0;
- subscription.ls = ls;
- subscription.lastOpen = ls;
+ const db = database.active;
+ await db.action(async() => {
+ try {
+ const subscription = await db.collections.get('subscriptions').find(rid);
+ await subscription.update((s) => {
+ s.open = true;
+ s.alert = false;
+ s.unread = 0;
+ s.userMentions = 0;
+ s.groupMentions = 0;
+ s.ls = lastOpen;
+ s.lastOpen = lastOpen;
+ });
+ } catch (e) {
+ // Do nothing
+ }
});
return data;
} catch (e) {
diff --git a/app/lib/methods/sendFileMessage.js b/app/lib/methods/sendFileMessage.js
index 19daec821..3ad0dd82e 100644
--- a/app/lib/methods/sendFileMessage.js
+++ b/app/lib/methods/sendFileMessage.js
@@ -1,4 +1,6 @@
-import database from '../realm';
+import { sanitizedRaw } from '@nozbe/watermelondb/RawRecord';
+
+import database from '../database';
import log from '../../utils/log';
const uploadQueue = {};
@@ -7,26 +9,28 @@ export function isUploadActive(path) {
return !!uploadQueue[path];
}
-export function cancelUpload(path) {
- if (uploadQueue[path]) {
- uploadQueue[path].abort();
- database.write(() => {
- const upload = database.objects('uploads').filtered('path = $0', path);
- try {
- database.delete(upload);
- } catch (e) {
- log(e);
- }
- });
- delete uploadQueue[path];
+export async function cancelUpload(item) {
+ if (uploadQueue[item.path]) {
+ uploadQueue[item.path].abort();
+ try {
+ const db = database.active;
+ await db.database.action(async() => {
+ await item.destroyPermanently();
+ });
+ } catch (e) {
+ log(e);
+ }
+ delete uploadQueue[item.path];
}
}
export function sendFileMessage(rid, fileInfo, tmid, server, user) {
- return new Promise((resolve, reject) => {
+ return new Promise(async(resolve, reject) => {
try {
- const { serversDB } = database.databases;
- const { FileUpload_MaxFileSize, id: Site_Url } = serversDB.objectForPrimaryKey('servers', server);
+ const serversDB = database.servers;
+ const serversCollection = serversDB.collections.get('servers');
+ const serverInfo = await serversCollection.find(server);
+ const { FileUpload_MaxFileSize, id: Site_Url } = serverInfo;
const { id, token } = user;
// -1 maxFileSize means there is no limit
@@ -41,13 +45,24 @@ export function sendFileMessage(rid, fileInfo, tmid, server, user) {
fileInfo.rid = rid;
- database.write(() => {
+ const db = database.active;
+ const uploadsCollection = db.collections.get('uploads');
+ let uploadRecord;
+ try {
+ uploadRecord = await uploadsCollection.find(fileInfo.path);
+ } catch (error) {
try {
- database.create('uploads', fileInfo, true);
+ await db.action(async() => {
+ uploadRecord = await uploadsCollection.create((u) => {
+ u._raw = sanitizedRaw({ id: fileInfo.path }, uploadsCollection.schema);
+ Object.assign(u, fileInfo);
+ u.subscription.id = rid;
+ });
+ });
} catch (e) {
return log(e);
}
- });
+ }
uploadQueue[fileInfo.path] = xhr;
xhr.open('POST', uploadUrl);
@@ -69,56 +84,55 @@ export function sendFileMessage(rid, fileInfo, tmid, server, user) {
xhr.setRequestHeader('X-Auth-Token', token);
xhr.setRequestHeader('X-User-Id', id);
- xhr.upload.onprogress = ({ total, loaded }) => {
- database.write(() => {
- fileInfo.progress = Math.floor((loaded / total) * 100);
- try {
- database.create('uploads', fileInfo, true);
- } catch (e) {
- return log(e);
- }
- });
- };
-
- xhr.onload = () => {
- if (xhr.status >= 200 && xhr.status < 400) { // If response is all good...
- database.write(() => {
- const upload = database.objects('uploads').filtered('path = $0', fileInfo.path);
- try {
- database.delete(upload);
- const response = JSON.parse(xhr.response);
- resolve(response);
- } catch (e) {
- reject(e);
- log(e);
- }
- });
- } else {
- database.write(() => {
- fileInfo.error = true;
- try {
- database.create('uploads', fileInfo, true);
- const response = JSON.parse(xhr.response);
- reject(response);
- } catch (e) {
- reject(e);
- log(e);
- }
+ xhr.upload.onprogress = async({ total, loaded }) => {
+ try {
+ await db.action(async() => {
+ await uploadRecord.update((u) => {
+ u.progress = Math.floor((loaded / total) * 100);
+ });
});
+ } catch (e) {
+ log(e);
}
};
- xhr.onerror = (error) => {
- database.write(() => {
- fileInfo.error = true;
+ xhr.onload = async() => {
+ if (xhr.status >= 200 && xhr.status < 400) { // If response is all good...
try {
- database.create('uploads', fileInfo, true);
- reject(error);
+ await db.action(async() => {
+ await uploadRecord.destroyPermanently();
+ });
+ const response = JSON.parse(xhr.response);
+ resolve(response);
} catch (e) {
- reject(e);
log(e);
}
- });
+ } else {
+ try {
+ await db.action(async() => {
+ await uploadRecord.update((u) => {
+ u.error = true;
+ });
+ });
+ } catch (e) {
+ log(e);
+ }
+ const response = JSON.parse(xhr.response);
+ reject(response);
+ }
+ };
+
+ xhr.onerror = async(error) => {
+ try {
+ await db.action(async() => {
+ await uploadRecord.update((u) => {
+ u.error = true;
+ });
+ });
+ } catch (e) {
+ log(e);
+ }
+ reject(error);
};
xhr.send(formData);
diff --git a/app/lib/methods/sendMessage.js b/app/lib/methods/sendMessage.js
index 58ee1ea35..5b7f051ca 100644
--- a/app/lib/methods/sendMessage.js
+++ b/app/lib/methods/sendMessage.js
@@ -1,38 +1,41 @@
+import { sanitizedRaw } from '@nozbe/watermelondb/RawRecord';
+
import messagesStatus from '../../constants/messagesStatus';
-import buildMessage from './helpers/buildMessage';
-import database from '../realm';
+import database from '../database';
import log from '../../utils/log';
import random from '../../utils/random';
-export const getMessage = (rid, msg = '', tmid, user) => {
+export const getMessage = async(rid, msg = '', tmid, user) => {
const _id = random(17);
const { id, username } = user;
- const message = {
- _id,
- rid,
- msg,
- tmid,
- ts: new Date(),
- _updatedAt: new Date(),
- status: messagesStatus.TEMP,
- u: {
- _id: id || '1',
- username
- }
- };
try {
- database.write(() => {
- database.create('messages', message, true);
+ const db = database.active;
+ const msgCollection = db.collections.get('messages');
+ let message;
+ await db.action(async() => {
+ message = await msgCollection.create((m) => {
+ m._raw = sanitizedRaw({ id: _id }, msgCollection.schema);
+ m.subscription.id = rid;
+ m.msg = msg;
+ m.tmid = tmid;
+ m.ts = new Date();
+ m._updatedAt = new Date();
+ m.status = messagesStatus.TEMP;
+ m.u = {
+ _id: id || '1',
+ username
+ };
+ });
});
+ return message;
} catch (error) {
console.warn('getMessage', error);
}
- return message;
};
export async function sendMessageCall(message) {
const {
- _id, rid, msg, tmid
+ id: _id, subscription: { id: rid }, msg, tmid
} = message;
// RC 0.60.0
const data = await this.sdk.post('chat.sendMessage', {
@@ -45,24 +48,36 @@ export async function sendMessageCall(message) {
export default async function(rid, msg, tmid, user) {
try {
- const message = getMessage(rid, msg, tmid, user);
- const [room] = database.objects('subscriptions').filtered('rid == $0', rid);
-
- if (room) {
- database.write(() => {
- room.draftMessage = null;
- });
+ const db = database.active;
+ const subsCollections = db.collections.get('subscriptions');
+ const message = await getMessage(rid, msg, tmid, user);
+ if (!message) {
+ return;
}
try {
- const ret = await sendMessageCall.call(this, message);
- database.write(() => {
- database.create('messages', buildMessage({ ...message, ...ret }), true);
+ const room = await subsCollections.find(rid);
+ await db.action(async() => {
+ await room.update((r) => {
+ r.draftMessage = null;
+ });
});
} catch (e) {
- database.write(() => {
- message.status = messagesStatus.ERROR;
- database.create('messages', message, true);
+ // Do nothing
+ }
+
+ try {
+ await sendMessageCall.call(this, message);
+ await db.action(async() => {
+ await message.update((m) => {
+ m.status = messagesStatus.SENT;
+ });
+ });
+ } catch (e) {
+ await db.action(async() => {
+ await message.update((m) => {
+ m.status = messagesStatus.ERROR;
+ });
});
}
} catch (e) {
diff --git a/app/lib/methods/subscriptions/room.js b/app/lib/methods/subscriptions/room.js
index 2a74abf35..99e55b323 100644
--- a/app/lib/methods/subscriptions/room.js
+++ b/app/lib/methods/subscriptions/room.js
@@ -1,15 +1,19 @@
import EJSON from 'ejson';
+import { sanitizedRaw } from '@nozbe/watermelondb/RawRecord';
+import { InteractionManager } from 'react-native';
import log from '../../../utils/log';
import protectedFunction from '../helpers/protectedFunction';
import buildMessage from '../helpers/buildMessage';
-import database from '../../realm';
-import debounce from '../../../utils/debounce';
+import database from '../../database';
+import reduxStore from '../../createStore';
+import { addUserTyping, removeUserTyping, clearUserTyping } from '../../../actions/usersTyping';
const unsubscribe = subscriptions => subscriptions.forEach(sub => sub.unsubscribe().catch(() => console.log('unsubscribeRoom')));
const removeListener = listener => listener.stop();
export default function subscribeRoom({ rid }) {
+ console.log(`[RCRN] Subscribed to room ${ rid }`);
let promises;
let connectedListener;
let disconnectedListener;
@@ -18,52 +22,7 @@ export default function subscribeRoom({ rid }) {
const typingTimeouts = {};
const handleConnection = () => {
- this.loadMissedMessages({ rid });
- };
-
- const getUserTyping = username => (
- database
- .memoryDatabase.objects('usersTyping')
- .filtered('rid = $0 AND username = $1', rid, username)
- );
-
- const removeUserTyping = (username) => {
- const userTyping = getUserTyping(username);
- try {
- database.memoryDatabase.write(() => {
- database.memoryDatabase.delete(userTyping);
- });
-
- if (typingTimeouts[username]) {
- clearTimeout(typingTimeouts[username]);
- typingTimeouts[username] = null;
- }
- } catch (e) {
- log(e);
- }
- };
-
- const addUserTyping = (username) => {
- const userTyping = getUserTyping(username);
- // prevent duplicated
- if (userTyping.length === 0) {
- try {
- database.memoryDatabase.write(() => {
- database.memoryDatabase.create('usersTyping', { rid, username });
- });
-
- if (typingTimeouts[username]) {
- clearTimeout(typingTimeouts[username]);
- typingTimeouts[username] = null;
- }
-
- typingTimeouts[username] = setTimeout(() => {
- removeUserTyping(username);
- }, 10000);
- } catch (e) {
- log(e);
- }
- }
+ this.loadMissedMessages({ rid }).catch(e => console.log(e));
};
const handleNotifyRoomReceived = protectedFunction((ddpMessage) => {
@@ -74,59 +33,147 @@ export default function subscribeRoom({ rid }) {
if (ev === 'typing') {
const [username, typing] = ddpMessage.fields.args;
if (typing) {
- addUserTyping(username);
+ reduxStore.dispatch(addUserTyping(username));
} else {
- removeUserTyping(username);
+ reduxStore.dispatch(removeUserTyping(username));
}
} else if (ev === 'deleteMessage') {
- database.write(() => {
+ InteractionManager.runAfterInteractions(async() => {
if (ddpMessage && ddpMessage.fields && ddpMessage.fields.args.length > 0) {
- const { _id } = ddpMessage.fields.args[0];
- const message = database.objects('messages').filtered('_id = $0', _id);
- database.delete(message);
- const thread = database.objects('threads').filtered('_id = $0', _id);
- database.delete(thread);
- const threadMessage = database.objects('threadMessages').filtered('_id = $0', _id);
- database.delete(threadMessage);
- const cleanTmids = database.objects('messages').filtered('tmid = $0', _id).snapshot();
- if (cleanTmids && cleanTmids.length) {
- cleanTmids.forEach((m) => {
- m.tmid = null;
+ try {
+ const { _id } = ddpMessage.fields.args[0];
+ const db = database.active;
+ const msgCollection = db.collections.get('messages');
+ const threadsCollection = db.collections.get('threads');
+ const threadMessagesCollection = db.collections.get('thread_messages');
+ let deleteMessage;
+ let deleteThread;
+ let deleteThreadMessage;
+
+ // Delete message
+ try {
+ const m = await msgCollection.find(_id);
+ deleteMessage = m.prepareDestroyPermanently();
+ } catch (e) {
+ // Do nothing
+ }
+
+ // Delete thread
+ try {
+ const m = await threadsCollection.find(_id);
+ deleteThread = m.prepareDestroyPermanently();
+ } catch (e) {
+ // Do nothing
+ }
+
+ // Delete thread message
+ try {
+ const m = await threadMessagesCollection.find(_id);
+ deleteThreadMessage = m.prepareDestroyPermanently();
+ } catch (e) {
+ // Do nothing
+ }
+ await db.action(async() => {
+ await db.batch(
+ deleteMessage, deleteThread, deleteThreadMessage
+ );
});
+ } catch (e) {
+ log(e);
}
}
});
}
});
- const read = debounce(() => {
- const [room] = database.objects('subscriptions').filtered('rid = $0', rid);
- if (room && room._id) {
- this.readMessages(rid);
- }
- }, 300);
-
const handleMessageReceived = protectedFunction((ddpMessage) => {
const message = buildMessage(EJSON.fromJSONValue(ddpMessage.fields.args[0]));
if (rid !== message.rid) {
return;
}
- requestAnimationFrame(() => {
- try {
- database.write(() => {
- database.create('messages', message, true);
- // if it's a thread "header"
- if (message.tlm) {
- database.create('threads', message, true);
- } else if (message.tmid) {
- message.rid = message.tmid;
- database.create('threadMessages', message, true);
- }
- });
+ InteractionManager.runAfterInteractions(async() => {
+ const db = database.active;
+ const batch = [];
+ const subCollection = db.collections.get('subscriptions');
+ const msgCollection = db.collections.get('messages');
+ const threadsCollection = db.collections.get('threads');
+ const threadMessagesCollection = db.collections.get('thread_messages');
- read();
+ // Create or update message
+ try {
+ const messageRecord = await msgCollection.find(message._id);
+ batch.push(
+ messageRecord.prepareUpdate((m) => {
+ Object.assign(m, message);
+ })
+ );
+ } catch (error) {
+ batch.push(
+ msgCollection.prepareCreate(protectedFunction((m) => {
+ m._raw = sanitizedRaw({ id: message._id }, msgCollection.schema);
+ m.subscription.id = rid;
+ Object.assign(m, message);
+ }))
+ );
+ }
+
+ // Create or update thread
+ if (message.tlm) {
+ try {
+ const threadRecord = await threadsCollection.find(message._id);
+ batch.push(
+ threadRecord.prepareUpdate((t) => {
+ Object.assign(t, message);
+ })
+ );
+ } catch (error) {
+ batch.push(
+ threadsCollection.prepareCreate(protectedFunction((t) => {
+ t._raw = sanitizedRaw({ id: message._id }, threadsCollection.schema);
+ t.subscription.id = rid;
+ Object.assign(t, message);
+ }))
+ );
+ }
+ }
+
+ // Create or update thread message
+ if (message.tmid) {
+ try {
+ const threadMessageRecord = await threadMessagesCollection.find(message._id);
+ batch.push(
+ threadMessageRecord.prepareUpdate((tm) => {
+ Object.assign(tm, message);
+ tm.rid = message.tmid;
+ delete tm.tmid;
+ })
+ );
+ } catch (error) {
+ batch.push(
+ threadMessagesCollection.prepareCreate(protectedFunction((tm) => {
+ tm._raw = sanitizedRaw({ id: message._id }, threadMessagesCollection.schema);
+ Object.assign(tm, message);
+ tm.subscription.id = rid;
+ tm.rid = message.tmid;
+ delete tm.tmid;
+ }))
+ );
+ }
+ }
+
+ try {
+ await subCollection.find(rid);
+ this.readMessages(rid);
} catch (e) {
- console.warn('handleMessageReceived', e);
+ console.log('Subscription not found. We probably subscribed to a not joined channel. No need to mark as read.');
+ }
+
+ try {
+ await db.action(async() => {
+ await db.batch(...batch);
+ });
+ } catch (e) {
+ log(e);
}
});
});
@@ -158,10 +205,7 @@ export default function subscribeRoom({ rid }) {
typingTimeouts[key] = null;
}
});
- database.memoryDatabase.write(() => {
- const usersTyping = database.memoryDatabase.objects('usersTyping').filtered('rid == $0', rid);
- database.memoryDatabase.delete(usersTyping);
- });
+ reduxStore.dispatch(clearUserTyping());
};
connectedListener = this.sdk.onStreamData('connected', handleConnection);
diff --git a/app/lib/methods/subscriptions/rooms.js b/app/lib/methods/subscriptions/rooms.js
index 17cddf000..9fdaa2439 100644
--- a/app/lib/methods/subscriptions/rooms.js
+++ b/app/lib/methods/subscriptions/rooms.js
@@ -1,4 +1,6 @@
-import database from '../../realm';
+import { sanitizedRaw } from '@nozbe/watermelondb/RawRecord';
+
+import database from '../../database';
import { merge } from '../helpers/mergeSubscriptionsRooms';
import protectedFunction from '../helpers/protectedFunction';
import messagesStatus from '../../../constants/messagesStatus';
@@ -15,12 +17,112 @@ let disconnectedListener;
let streamListener;
let subServer;
+// TODO: batch execution
+const createOrUpdateSubscription = async(subscription, room) => {
+ try {
+ const db = database.active;
+ const subCollection = db.collections.get('subscriptions');
+ const roomsCollection = db.collections.get('rooms');
+
+ if (!subscription) {
+ try {
+ const s = await subCollection.find(room._id);
+ // We have to create a plain obj so we can manipulate it on `merge`
+ // Can we do it in a better way?
+ subscription = {
+ _id: s._id,
+ f: s.f,
+ t: s.t,
+ ts: s.ts,
+ ls: s.ls,
+ name: s.name,
+ fname: s.fname,
+ rid: s.rid,
+ open: s.open,
+ alert: s.alert,
+ unread: s.unread,
+ userMentions: s.userMentions,
+ roomUpdatedAt: s.roomUpdatedAt,
+ ro: s.ro,
+ lastOpen: s.lastOpen,
+ description: s.description,
+ announcement: s.announcement,
+ topic: s.topic,
+ blocked: s.blocked,
+ blocker: s.blocker,
+ reactWhenReadOnly: s.reactWhenReadOnly,
+ archived: s.archived,
+ joinCodeRequired: s.joinCodeRequired,
+ muted: s.muted,
+ broadcast: s.broadcast,
+ prid: s.prid,
+ draftMessage: s.draftMessage,
+ lastThreadSync: s.lastThreadSync,
+ autoTranslate: s.autoTranslate,
+ autoTranslateLanguage: s.autoTranslateLanguage,
+ lastMessage: s.lastMessage
+ };
+ } catch (error) {
+ try {
+ await db.action(async() => {
+ await roomsCollection.create((r) => {
+ r._raw = sanitizedRaw({ id: room._id }, roomsCollection.schema);
+ Object.assign(r, room);
+ });
+ });
+ } catch (e) {
+ // Do nothing
+ }
+ return;
+ }
+ }
+
+ if (!room && subscription) {
+ try {
+ const r = await roomsCollection.find(subscription.rid);
+ // We have to create a plain obj so we can manipulate it on `merge`
+ // Can we do it in a better way?
+ room = {
+ customFields: r.customFields,
+ broadcast: r.broadcast,
+ encrypted: r.encrypted,
+ ro: r.ro
+ };
+ } catch (error) {
+ // Do nothing
+ }
+ }
+
+ const tmp = merge(subscription, room);
+ await db.action(async() => {
+ try {
+ const sub = await subCollection.find(tmp.rid);
+ await sub.update((s) => {
+ Object.assign(s, tmp);
+ });
+ } catch (error) {
+ await subCollection.create((s) => {
+ s._raw = sanitizedRaw({ id: tmp.rid }, subCollection.schema);
+ Object.assign(s, tmp);
+ if (s.roomUpdatedAt) {
+ s.roomUpdatedAt = new Date();
+ }
+ });
+ }
+ });
+ } catch (e) {
+ log(e);
+ }
+};
+
export default function subscribeRooms() {
const handleConnection = () => {
store.dispatch(roomsRequest());
};
- const handleStreamMessageReceived = protectedFunction((ddpMessage) => {
+ const handleStreamMessageReceived = protectedFunction(async(ddpMessage) => {
+ const db = database.active;
+
// check if the server from variable is the same as the js sdk client
if (this.sdk && this.sdk.client && this.sdk.client.host !== subServer) {
return;
@@ -32,52 +134,33 @@ export default function subscribeRooms() {
const [, ev] = ddpMessage.fields.eventName.split('/');
if (/subscriptions/.test(ev)) {
if (type === 'removed') {
- let messages = [];
- const [subscription] = database.objects('subscriptions').filtered('_id == $0', data._id);
-
- if (subscription) {
- messages = database.objects('messages').filtered('rid == $0', subscription.rid);
- }
try {
- database.write(() => {
- database.delete(messages);
- database.delete(subscription);
+ const subCollection = db.collections.get('subscriptions');
+ const sub = await subCollection.find(data.rid);
+ const messages = await sub.messages.fetch();
+ const threads = await sub.threads.fetch();
+ const threadMessages = await sub.threadMessages.fetch();
+ const messagesToDelete = messages.map(m => m.prepareDestroyPermanently());
+ const threadsToDelete = threads.map(m => m.prepareDestroyPermanently());
+ const threadMessagesToDelete = threadMessages.map(m => m.prepareDestroyPermanently());
+ await db.action(async() => {
+ await db.batch(
+ sub.prepareDestroyPermanently(),
+ ...messagesToDelete,
+ ...threadsToDelete,
+ ...threadMessagesToDelete,
+ );
});
} catch (e) {
log(e);
}
} else {
- const rooms = database.objects('rooms').filtered('_id == $0', data.rid);
- const tpm = merge(data, rooms[0]);
- try {
- database.write(() => {
- database.create('subscriptions', tpm, true);
- database.delete(rooms);
- });
- } catch (e) {
- log(e);
- }
+ await createOrUpdateSubscription(data);
}
}
if (/rooms/.test(ev)) {
- if (type === 'updated') {
- const [sub] = database.objects('subscriptions').filtered('rid == $0', data._id);
- try {
- database.write(() => {
- const tmp = merge(sub, data);
- database.create('subscriptions', tmp, true);
- });
- } catch (e) {
- log(e);
- }
- } else if (type === 'inserted') {
- try {
- database.write(() => {
- database.create('rooms', data, true);
- });
- } catch (e) {
- log(e);
- }
+ if (type === 'updated' || type === 'inserted') {
+ await createOrUpdateSubscription(null, data);
}
}
if (/message/.test(ev)) {
@@ -95,15 +178,18 @@ export default function subscribeRooms() {
username: 'rocket.cat'
}
};
- requestAnimationFrame(() => {
- try {
- database.write(() => {
- database.create('messages', message, true);
- });
- } catch (e) {
- log(e);
- }
- });
+ try {
+ const msgCollection = db.collections.get('messages');
+ await db.action(async() => {
+ await msgCollection.create(protectedFunction((m) => {
+ m._raw = sanitizedRaw({ id: message._id }, msgCollection.schema);
+ m.subscription.id = args.rid;
+ Object.assign(m, message);
+ }));
+ });
+ } catch (e) {
+ log(e);
+ }
}
if (/notification/.test(ev)) {
const [notification] = ddpMessage.fields.args;
diff --git a/app/lib/methods/updateMessages.js b/app/lib/methods/updateMessages.js
new file mode 100644
index 000000000..c19bbf746
--- /dev/null
+++ b/app/lib/methods/updateMessages.js
@@ -0,0 +1,131 @@
+import { sanitizedRaw } from '@nozbe/watermelondb/RawRecord';
+import { Q } from '@nozbe/watermelondb';
+
+import buildMessage from './helpers/buildMessage';
+import log from '../../utils/log';
+import database from '../database';
+import protectedFunction from './helpers/protectedFunction';
+
+export default function updateMessages({ rid, update, remove }) {
+ try {
+ if (!((update && update.length) || (remove && remove.length))) {
+ return;
+ }
+ const db = database.active;
+ return db.action(async() => {
+ const subCollection = db.collections.get('subscriptions');
+ let sub;
+ try {
+ sub = await subCollection.find(rid);
+ } catch (error) {
+ sub = { id: rid };
+ console.log('updateMessages: subscription not found');
+ }
+
+ const messagesIds = update.map(m => m._id);
+ const msgCollection = db.collections.get('messages');
+ const threadCollection = db.collections.get('threads');
+ const threadMessagesCollection = db.collections.get('thread_messages');
+ const allMessagesRecords = await msgCollection
+ .query(Q.where('rid', rid), Q.where('id', Q.oneOf(messagesIds)))
+ .fetch();
+ const allThreadsRecords = await threadCollection
+ .query(Q.where('rid', rid), Q.where('id', Q.oneOf(messagesIds)))
+ .fetch();
+ const allThreadMessagesRecords = await threadMessagesCollection
+ .query(Q.where('subscription_id', rid), Q.where('id', Q.oneOf(messagesIds)))
+ .fetch();
+
+ update = update.map(m => buildMessage(m));
+
+ // filter messages
+ let msgsToCreate = update.filter(i1 => !allMessagesRecords.find(i2 => i1._id === i2.id));
+ let msgsToUpdate = allMessagesRecords.filter(i1 => update.find(i2 => i1.id === i2._id));
+
+ // filter threads
+ const allThreads = update.filter(m => m.tlm);
+ let threadsToCreate = allThreads.filter(i1 => !allThreadsRecords.find(i2 => i1._id === i2.id));
+ let threadsToUpdate = allThreadsRecords.filter(i1 => allThreads.find(i2 => i1.id === i2._id));
+
+ // filter thread messages
+ const allThreadMessages = update.filter(m => m.tmid);
+ let threadMessagesToCreate = allThreadMessages.filter(i1 => !allThreadMessagesRecords.find(i2 => i1._id === i2.id));
+ let threadMessagesToUpdate = allThreadMessagesRecords.filter(i1 => allThreadMessages.find(i2 => i1.id === i2._id));
+
+ // Create
+ msgsToCreate = msgsToCreate.map(message => msgCollection.prepareCreate(protectedFunction((m) => {
+ m._raw = sanitizedRaw({ id: message._id }, msgCollection.schema);
+ m.subscription.id = sub.id;
+ Object.assign(m, message);
+ })));
+ threadsToCreate = threadsToCreate.map(thread => threadCollection.prepareCreate(protectedFunction((t) => {
+ t._raw = sanitizedRaw({ id: thread._id }, threadCollection.schema);
+ t.subscription.id = sub.id;
+ Object.assign(t, thread);
+ })));
+ threadMessagesToCreate = threadMessagesToCreate.map(threadMessage => threadMessagesCollection.prepareCreate(protectedFunction((tm) => {
+ tm._raw = sanitizedRaw({ id: threadMessage._id }, threadMessagesCollection.schema);
+ Object.assign(tm, threadMessage);
+ tm.subscription.id = sub.id;
+ tm.rid = threadMessage.tmid;
+ delete threadMessage.tmid;
+ })));
+
+ // Update
+ msgsToUpdate = msgsToUpdate.map((message) => {
+ const newMessage = update.find(m => m._id === message.id);
+ return message.prepareUpdate(protectedFunction((m) => {
+ Object.assign(m, newMessage);
+ }));
+ });
+ threadsToUpdate = threadsToUpdate.map((thread) => {
+ const newThread = allThreads.find(t => t._id === thread.id);
+ return thread.prepareUpdate(protectedFunction((t) => {
+ Object.assign(t, newThread);
+ }));
+ });
+ threadMessagesToUpdate = threadMessagesToUpdate.map((threadMessage) => {
+ const newThreadMessage = allThreadMessages.find(t => t._id === threadMessage.id);
+ return threadMessage.prepareUpdate(protectedFunction((tm) => {
+ Object.assign(tm, newThreadMessage);
+ tm.rid = threadMessage.tmid;
+ delete threadMessage.tmid;
+ }));
+ });
+
+ // Delete
+ let msgsToDelete = [];
+ let threadsToDelete = [];
+ let threadMessagesToDelete = [];
+ if (remove && remove.length) {
+ msgsToDelete = allMessagesRecords.filter(i1 => remove.find(i2 => i1.id === i2._id));
+ msgsToDelete = msgsToDelete.map(m => m.prepareDestroyPermanently());
+ threadsToDelete = allThreadsRecords.filter(i1 => remove.find(i2 => i1.id === i2._id));
+ threadsToDelete = threadsToDelete.map(t => t.prepareDestroyPermanently());
+ threadMessagesToDelete = allThreadMessagesRecords.filter(i1 => remove.find(i2 => i1.id === i2._id));
+ threadMessagesToDelete = threadMessagesToDelete.map(tm => tm.prepareDestroyPermanently());
+ }
+
+ const allRecords = [
+ ...msgsToCreate,
+ ...msgsToUpdate,
+ ...msgsToDelete,
+ ...threadsToCreate,
+ ...threadsToUpdate,
+ ...threadsToDelete,
+ ...threadMessagesToCreate,
+ ...threadMessagesToUpdate,
+ ...threadMessagesToDelete
+ ];
+
+ try {
+ await db.batch(...allRecords);
+ } catch (e) {
+ log(e);
+ }
+ return allRecords.length;
+ });
+ } catch (e) {
+ log(e);
+ }
+}
diff --git a/app/lib/realm.js b/app/lib/realm.js
deleted file mode 100644
index 4d71b2ebc..000000000
--- a/app/lib/realm.js
+++ /dev/null
@@ -1,526 +0,0 @@
-import Realm from 'realm';
-import RNRealmPath from 'react-native-realm-path';
-
-// import { AsyncStorage } from 'react-native';
-// Realm.clearTestState();
-// AsyncStorage.clear();
-
-const userSchema = {
- name: 'user',
- primaryKey: 'id',
- properties: {
- id: 'string',
- token: { type: 'string', optional: true },
- username: { type: 'string', optional: true },
- name: { type: 'string', optional: true },
- language: { type: 'string', optional: true },
- status: { type: 'string', optional: true },
- roles: { type: 'string[]', optional: true }
- }
-};
-
-const serversSchema = {
- name: 'servers',
- primaryKey: 'id',
- properties: {
- id: 'string',
- name: { type: 'string', optional: true },
- iconURL: { type: 'string', optional: true },
- useRealName: { type: 'bool', optional: true },
- FileUpload_MediaTypeWhiteList: { type: 'string', optional: true },
- FileUpload_MaxFileSize: { type: 'int', optional: true },
- roomsUpdatedAt: { type: 'date', optional: true },
- version: 'string?'
- }
-};
-
-const settingsSchema = {
- name: 'settings',
- primaryKey: '_id',
- properties: {
- _id: 'string',
- valueAsString: { type: 'string', optional: true },
- valueAsBoolean: { type: 'bool', optional: true },
- valueAsNumber: { type: 'int', optional: true },
- _updatedAt: { type: 'date', optional: true }
- }
-};
-
-const permissionsSchema = {
- name: 'permissions',
- primaryKey: '_id',
- properties: {
- _id: 'string',
- roles: 'string[]',
- _updatedAt: { type: 'date', optional: true }
- }
-};
-
-const roomsSchema = {
- name: 'rooms',
- primaryKey: '_id',
- properties: {
- _id: 'string',
- name: 'string?',
- broadcast: { type: 'bool', optional: true }
- }
-};
-
-const subscriptionSchema = {
- name: 'subscriptions',
- primaryKey: '_id',
- properties: {
- _id: 'string',
- f: { type: 'bool', optional: true },
- t: 'string',
- ts: { type: 'date', optional: true },
- ls: { type: 'date', optional: true },
- name: { type: 'string', indexed: true },
- fname: { type: 'string', optional: true },
- rid: { type: 'string', indexed: true },
- open: { type: 'bool', optional: true },
- alert: { type: 'bool', optional: true },
- roles: 'string[]',
- unread: { type: 'int', optional: true },
- userMentions: { type: 'int', optional: true },
- roomUpdatedAt: { type: 'date', optional: true },
- ro: { type: 'bool', optional: true },
- lastOpen: { type: 'date', optional: true },
- lastMessage: { type: 'messages', optional: true },
- description: { type: 'string', optional: true },
- announcement: { type: 'string', optional: true },
- topic: { type: 'string', optional: true },
- blocked: { type: 'bool', optional: true },
- blocker: { type: 'bool', optional: true },
- reactWhenReadOnly: { type: 'bool', optional: true },
- archived: { type: 'bool', optional: true },
- joinCodeRequired: { type: 'bool', optional: true },
- muted: 'string[]',
- broadcast: { type: 'bool', optional: true },
- prid: { type: 'string', optional: true },
- draftMessage: { type: 'string', optional: true },
- lastThreadSync: 'date?',
- autoTranslate: 'bool?',
- autoTranslateLanguage: 'string?',
- // Notifications
- emailNotifications: { type: 'string', default: 'default' },
- disableNotifications: { type: 'bool', default: false },
- muteGroupMentions: { type: 'bool', default: false },
- hideUnreadStatus: { type: 'bool', default: false },
- audioNotifications: { type: 'string', default: 'default' },
- desktopNotifications: { type: 'string', default: 'default' },
- audioNotificationValue: { type: 'string', default: '0 Default' },
- desktopNotificationDuration: { type: 'int', default: 0 },
- mobilePushNotifications: { type: 'string', default: 'default' }
- }
-};
-
-const usersSchema = {
- name: 'users',
- primaryKey: '_id',
- properties: {
- _id: 'string',
- username: 'string',
- name: { type: 'string', optional: true }
- }
-};
-
-const attachmentFields = {
- name: 'attachmentFields',
- properties: {
- title: { type: 'string', optional: true },
- value: { type: 'string', optional: true },
- short: { type: 'bool', optional: true }
- }
-};
-
-const attachment = {
- name: 'attachment',
- properties: {
- description: { type: 'string', optional: true },
- image_size: { type: 'int', optional: true },
- image_type: { type: 'string', optional: true },
- image_url: { type: 'string', optional: true },
- audio_size: { type: 'int', optional: true },
- audio_type: { type: 'string', optional: true },
- audio_url: { type: 'string', optional: true },
- video_size: { type: 'int', optional: true },
- video_type: { type: 'string', optional: true },
- video_url: { type: 'string', optional: true },
- title: { type: 'string', optional: true },
- title_link: { type: 'string', optional: true },
- // title_link_download: { type: 'bool', optional: true },
- type: { type: 'string', optional: true },
- author_icon: { type: 'string', optional: true },
- author_name: { type: 'string', optional: true },
- author_link: { type: 'string', optional: true },
- text: { type: 'string', optional: true },
- color: { type: 'string', optional: true },
- ts: { type: 'date', optional: true },
- attachments: { type: 'list', objectType: 'attachment' },
- fields: {
- type: 'list', objectType: 'attachmentFields', default: []
- }
- }
-};
-
-const url = {
- name: 'url',
- primaryKey: 'url',
- properties: {
- // _id: { type: 'int', optional: true },
- url: { type: 'string', optional: true },
- title: { type: 'string', optional: true },
- description: { type: 'string', optional: true },
- image: { type: 'string', optional: true }
- }
-};
-
-const messagesReactionsSchema = {
- name: 'messagesReactions',
- primaryKey: '_id',
- properties: {
- _id: 'string',
- emoji: 'string',
- usernames: 'string[]'
- }
-};
-
-const messagesTranslationsSchema = {
- name: 'messagesTranslations',
- primaryKey: '_id',
- properties: {
- _id: 'string',
- language: 'string',
- value: 'string'
- }
-};
-
-const messagesEditedBySchema = {
- name: 'messagesEditedBy',
- primaryKey: '_id',
- properties: {
- _id: { type: 'string', optional: true },
- username: { type: 'string', optional: true }
- }
-};
-
-const messagesSchema = {
- name: 'messages',
- primaryKey: '_id',
- properties: {
- _id: 'string',
- msg: { type: 'string', optional: true },
- t: { type: 'string', optional: true },
- rid: { type: 'string', indexed: true },
- ts: 'date',
- u: 'users',
- alias: { type: 'string', optional: true },
- parseUrls: { type: 'bool', optional: true },
- groupable: { type: 'bool', optional: true },
- avatar: { type: 'string', optional: true },
- attachments: { type: 'list', objectType: 'attachment' },
- urls: { type: 'list', objectType: 'url', default: [] },
- _updatedAt: { type: 'date', optional: true },
- status: { type: 'int', optional: true },
- pinned: { type: 'bool', optional: true },
- starred: { type: 'bool', optional: true },
- editedBy: 'messagesEditedBy',
- reactions: { type: 'list', objectType: 'messagesReactions' },
- role: { type: 'string', optional: true },
- drid: { type: 'string', optional: true },
- dcount: { type: 'int', optional: true },
- dlm: { type: 'date', optional: true },
- tmid: { type: 'string', optional: true },
- tcount: { type: 'int', optional: true },
- tlm: { type: 'date', optional: true },
- replies: 'string[]',
- mentions: { type: 'list', objectType: 'users' },
- channels: { type: 'list', objectType: 'rooms' },
- unread: { type: 'bool', optional: true },
- autoTranslate: { type: 'bool', default: false },
- translations: { type: 'list', objectType: 'messagesTranslations' }
- }
-};
-
-const threadsSchema = {
- name: 'threads',
- primaryKey: '_id',
- properties: {
- _id: 'string',
- msg: { type: 'string', optional: true },
- t: { type: 'string', optional: true },
- rid: { type: 'string', indexed: true },
- ts: 'date',
- u: 'users',
- alias: { type: 'string', optional: true },
- parseUrls: { type: 'bool', optional: true },
- groupable: { type: 'bool', optional: true },
- avatar: { type: 'string', optional: true },
- attachments: { type: 'list', objectType: 'attachment' },
- urls: { type: 'list', objectType: 'url', default: [] },
- _updatedAt: { type: 'date', optional: true },
- status: { type: 'int', optional: true },
- pinned: { type: 'bool', optional: true },
- starred: { type: 'bool', optional: true },
- editedBy: 'messagesEditedBy',
- reactions: { type: 'list', objectType: 'messagesReactions' },
- role: { type: 'string', optional: true },
- drid: { type: 'string', optional: true },
- dcount: { type: 'int', optional: true },
- dlm: { type: 'date', optional: true },
- tmid: { type: 'string', optional: true },
- tcount: { type: 'int', optional: true },
- tlm: { type: 'date', optional: true },
- replies: 'string[]',
- mentions: { type: 'list', objectType: 'users' },
- channels: { type: 'list', objectType: 'rooms' },
- unread: { type: 'bool', optional: true },
- autoTranslate: { type: 'bool', default: false },
- translations: { type: 'list', objectType: 'messagesTranslations' },
- draftMessage: 'string?'
- }
-};
-
-const threadMessagesSchema = {
- name: 'threadMessages',
- primaryKey: '_id',
- properties: {
- _id: 'string',
- msg: { type: 'string', optional: true },
- t: { type: 'string', optional: true },
- rid: { type: 'string', indexed: true },
- ts: 'date',
- u: 'users',
- alias: { type: 'string', optional: true },
- parseUrls: { type: 'bool', optional: true },
- groupable: { type: 'bool', optional: true },
- avatar: { type: 'string', optional: true },
- attachments: { type: 'list', objectType: 'attachment' },
- urls: { type: 'list', objectType: 'url', default: [] },
- _updatedAt: { type: 'date', optional: true },
- status: { type: 'int', optional: true },
- pinned: { type: 'bool', optional: true },
- starred: { type: 'bool', optional: true },
- editedBy: 'messagesEditedBy',
- reactions: { type: 'list', objectType: 'messagesReactions' },
- role: { type: 'string', optional: true },
- replies: 'string[]',
- mentions: { type: 'list', objectType: 'users' },
- channels: { type: 'list', objectType: 'rooms' },
- unread: { type: 'bool', optional: true },
- autoTranslate: { type: 'bool', default: false },
- translations: { type: 'list', objectType: 'messagesTranslations' }
- }
-};
-
-const frequentlyUsedEmojiSchema = {
- name: 'frequentlyUsedEmoji',
- primaryKey: 'content',
- properties: {
- content: { type: 'string', optional: true },
- extension: { type: 'string', optional: true },
- isCustom: 'bool',
- count: 'int'
- }
-};
-
-const slashCommandSchema = {
- name: 'slashCommand',
- primaryKey: 'command',
- properties: {
- command: 'string',
- params: { type: 'string', optional: true },
- description: { type: 'string', optional: true },
- clientOnly: { type: 'bool', optional: true },
- providesPreview: { type: 'bool', optional: true }
- }
-};
-
-const customEmojisSchema = {
- name: 'customEmojis',
- primaryKey: '_id',
- properties: {
- _id: 'string',
- name: 'string',
- aliases: 'string[]',
- extension: 'string',
- _updatedAt: { type: 'date', optional: true }
- }
-};
-
-const rolesSchema = {
- name: 'roles',
- primaryKey: '_id',
- properties: {
- _id: 'string',
- description: { type: 'string', optional: true }
- }
-};
-
-const uploadsSchema = {
- name: 'uploads',
- primaryKey: 'path',
- properties: {
- path: 'string',
- rid: 'string',
- name: { type: 'string', optional: true },
- description: { type: 'string', optional: true },
- size: { type: 'int', optional: true },
- type: { type: 'string', optional: true },
- store: { type: 'string', optional: true },
- progress: { type: 'int', default: 1 },
- error: { type: 'bool', default: false }
- }
-};
-
-const usersTypingSchema = {
- name: 'usersTyping',
- properties: {
- rid: { type: 'string', indexed: true },
- username: { type: 'string', optional: true }
- }
-};
-
-const activeUsersSchema = {
- name: 'activeUsers',
- primaryKey: 'id',
- properties: {
- id: 'string',
- name: 'string?',
- username: 'string?',
- status: 'string?',
- utcOffset: 'double?'
- }
-};
-
-const schema = [
- settingsSchema,
- subscriptionSchema,
- messagesSchema,
- threadsSchema,
- threadMessagesSchema,
- usersSchema,
- roomsSchema,
- attachment,
- attachmentFields,
- messagesEditedBySchema,
- permissionsSchema,
- url,
- frequentlyUsedEmojiSchema,
- customEmojisSchema,
- messagesReactionsSchema,
- rolesSchema,
- uploadsSchema,
- slashCommandSchema,
- messagesTranslationsSchema
-];
-
-const inMemorySchema = [usersTypingSchema, activeUsersSchema];
-
-class DB {
- databases = {
- serversDB: new Realm({
- path: `${ RNRealmPath.realmPath }default.realm`,
- schema: [
- userSchema,
- serversSchema
- ],
- schemaVersion: 10,
- migration: (oldRealm, newRealm) => {
- if (oldRealm.schemaVersion >= 1 && newRealm.schemaVersion <= 9) {
- const newServers = newRealm.objects('servers');
-
- // eslint-disable-next-line no-plusplus
- for (let i = 0; i < newServers.length; i++) {
- newServers[i].roomsUpdatedAt = null;
- }
- }
- }
- }),
- inMemoryDB: new Realm({
- path: `${ RNRealmPath.realmPath }memory.realm`,
- schema: inMemorySchema,
- schemaVersion: 2,
- inMemory: true
- })
- }
-
- deleteAll(...args) {
- return this.database.write(() => this.database.deleteAll(...args));
- }
-
- delete(...args) {
- return this.database.delete(...args);
- }
-
- write(...args) {
- return this.database.write(...args);
- }
-
- create(...args) {
- return this.database.create(...args);
- }
-
- objects(...args) {
- return this.database.objects(...args);
- }
-
- objectForPrimaryKey(...args) {
- return this.database.objectForPrimaryKey(...args);
- }
-
- get database() {
- return this.databases.activeDB;
- }
-
- get memoryDatabase() {
- return this.databases.inMemoryDB;
- }
-
- setActiveDB(database = '') {
- const path = database.replace(/(^\w+:|^)\/\//, '');
- return this.databases.activeDB = new Realm({
- path: `${ RNRealmPath.realmPath }${ path }.realm`,
- schema,
- schemaVersion: 14,
- migration: (oldRealm, newRealm) => {
- if (oldRealm.schemaVersion >= 3 && newRealm.schemaVersion <= 13) {
- const newSubs = newRealm.objects('subscriptions');
- newRealm.delete(newSubs);
- const newMessages = newRealm.objects('messages');
- newRealm.delete(newMessages);
- const newThreads = newRealm.objects('threads');
- newRealm.delete(newThreads);
- const newThreadMessages = newRealm.objects('threadMessages');
- newRealm.delete(newThreadMessages);
- }
- if (newRealm.schemaVersion === 9) {
- const newEmojis = newRealm.objects('customEmojis');
- newRealm.delete(newEmojis);
- const newSettings = newRealm.objects('settings');
- newRealm.delete(newSettings);
- }
- }
- });
- }
-}
-const db = new DB();
-export default db;
-
-// Realm workaround for "Cannot create asynchronous query while in a write transaction"
-// inpired from https://github.com/realm/realm-js/issues/1188#issuecomment-359223918
-export function safeAddListener(results, callback, database = db) {
- if (!results || !results.addListener) {
- console.log('⚠️ safeAddListener called for non addListener-compliant object');
- return;
- }
-
- if (database.isInTransaction) {
- setTimeout(() => {
- safeAddListener(results, callback);
- }, 50);
- } else {
- results.addListener(callback);
- }
-}
diff --git a/app/lib/rocketchat.js b/app/lib/rocketchat.js
index 05a1f6c6d..469b716b1 100644
--- a/app/lib/rocketchat.js
+++ b/app/lib/rocketchat.js
@@ -2,12 +2,13 @@ import { AsyncStorage, InteractionManager } from 'react-native';
import semver from 'semver';
import { Rocketchat as RocketchatClient } from '@rocket.chat/sdk';
import RNUserDefaults from 'rn-user-defaults';
+import { Q } from '@nozbe/watermelondb';
import * as FileSystem from 'expo-file-system';
import reduxStore from './createStore';
import defaultSettings from '../constants/settings';
import messagesStatus from '../constants/messagesStatus';
-import database from './realm';
+import database from './database';
import log from '../utils/log';
import { isIOS, getBundleId } from '../utils/deviceInfo';
import { extractHostname } from '../utils/server';
@@ -29,7 +30,7 @@ import getSettings from './methods/getSettings';
import getRooms from './methods/getRooms';
import getPermissions from './methods/getPermissions';
-import getCustomEmojis from './methods/getCustomEmojis';
+import { getCustomEmojis, setCustomEmojis } from './methods/getCustomEmojis';
import getSlashCommands from './methods/getSlashCommands';
import getRoles from './methods/getRoles';
import canOpenRoom from './methods/canOpenRoom';
@@ -43,6 +44,7 @@ import { sendFileMessage, cancelUpload, isUploadActive } from './methods/sendFil
import { getDeviceToken } from '../notifications/push';
import { SERVERS, SERVER_URL } from '../constants/userDefaults';
+import { setActiveUsers } from '../actions/activeUsers';
const TOKEN_KEY = 'reactnativemeteor_usertoken';
const SORT_PREFS_KEY = 'RC_SORT_PREFS_KEY';
@@ -59,7 +61,11 @@ const RocketChat = {
if (this.roomsSub) {
this.roomsSub.stop();
}
- this.roomsSub = await subscribeRooms.call(this);
+ try {
+ this.roomsSub = await subscribeRooms.call(this);
+ } catch (e) {
+ log(e);
+ }
},
subscribeRoom,
canOpenRoom,
@@ -100,67 +106,36 @@ const RocketChat = {
message: 'The_URL_is_invalid'
};
},
- _setUser(ddpMessage) {
- this.activeUsers = this.activeUsers || {};
- const { user } = reduxStore.getState().login;
-
- if (ddpMessage.fields && user && user.id === ddpMessage.id) {
- reduxStore.dispatch(setUser(ddpMessage.fields));
- }
-
- if (ddpMessage.cleared && user && user.id === ddpMessage.id) {
- reduxStore.dispatch(setUser({ status: 'offline' }));
- }
-
- if (!this._setUserTimer) {
- this._setUserTimer = setTimeout(() => {
- const batchUsers = this.activeUsers;
- InteractionManager.runAfterInteractions(() => {
- database.memoryDatabase.write(() => {
- Object.keys(batchUsers).forEach((key) => {
- if (batchUsers[key] && batchUsers[key].id) {
- try {
- const data = batchUsers[key];
- if (data.removed) {
- const userRecord = database.memoryDatabase.objectForPrimaryKey('activeUsers', data.id);
- if (userRecord) {
- userRecord.status = 'offline';
- }
- } else {
- database.memoryDatabase.create('activeUsers', data, true);
- }
- } catch (error) {
- console.log(error);
- }
- }
- });
- });
- });
- this._setUserTimer = null;
- return this.activeUsers = {};
- }, 10000);
- }
-
- if (!ddpMessage.fields) {
- this.activeUsers[ddpMessage.id] = {
- id: ddpMessage.id,
- removed: true
- };
- } else {
- this.activeUsers[ddpMessage.id] = {
- id: ddpMessage.id, ...this.activeUsers[ddpMessage.id], ...ddpMessage.fields
- };
- }
+ stopListener(listener) {
+ return listener && listener.stop();
},
connect({ server, user }) {
return new Promise((resolve) => {
- database.setActiveDB(server);
+ if (!this.sdk || this.sdk.client.host !== server) {
+ database.setActiveDB(server);
+ }
reduxStore.dispatch(connectRequest());
if (this.connectTimeout) {
clearTimeout(this.connectTimeout);
}
+ if (this.connectedListener) {
+ this.connectedListener.then(this.stopListener);
+ }
+
+ if (this.closeListener) {
+ this.closeListener.then(this.stopListener);
+ }
+
+ if (this.usersListener) {
+ this.usersListener.then(this.stopListener);
+ }
+
+ if (this.notifyLoggedListener) {
+ this.notifyLoggedListener.then(this.stopListener);
+ }
+
if (this.roomsSub) {
this.roomsSub.stop();
}
@@ -191,35 +166,37 @@ const RocketChat = {
}, 10000);
});
- this.sdk.onStreamData('connected', () => {
+ this.connectedListener = this.sdk.onStreamData('connected', () => {
reduxStore.dispatch(connectSuccess());
- // const { isAuthenticated } = reduxStore.getState().login;
- // if (isAuthenticated) {
- // this.getUserPresence();
- // }
});
- this.sdk.onStreamData('close', () => {
+ this.closeListener = this.sdk.onStreamData('close', () => {
reduxStore.dispatch(disconnect());
});
- this.sdk.onStreamData('users', protectedFunction(ddpMessage => RocketChat._setUser(ddpMessage)));
+ this.usersListener = this.sdk.onStreamData('users', protectedFunction(ddpMessage => RocketChat._setUser(ddpMessage)));
- this.sdk.onStreamData('stream-notify-logged', protectedFunction((ddpMessage) => {
+ this.notifyLoggedListener = this.sdk.onStreamData('stream-notify-logged', protectedFunction((ddpMessage) => {
const { eventName } = ddpMessage.fields;
if (eventName === 'user-status') {
+ this.activeUsers = this.activeUsers || {};
+ if (!this._setUserTimer) {
+ this._setUserTimer = setTimeout(() => {
+ const activeUsersBatch = this.activeUsers;
+ InteractionManager.runAfterInteractions(() => {
+ reduxStore.dispatch(setActiveUsers(activeUsersBatch));
+ });
+ this._setUserTimer = null;
+ return this.activeUsers = {};
+ }, 10000);
+ }
const userStatus = ddpMessage.fields.args[0];
- const [id, username, status] = userStatus;
- if (username) {
- database.memoryDatabase.write(() => {
- try {
- database.memoryDatabase.create('activeUsers', {
- id, username, status: STATUSES[status]
- }, true);
- } catch (error) {
- console.log(error);
- }
- });
+ const [id,, status] = userStatus;
+ this.activeUsers[id] = STATUSES[status];
+
+ const { user: loggedUser } = reduxStore.getState().login;
+ if (loggedUser && loggedUser.id === id) {
+ reduxStore.dispatch(setUser({ status: STATUSES[status] }));
}
}
}));
@@ -242,19 +219,31 @@ const RocketChat = {
this.sdk = new RocketchatClient({ host: server, protocol: 'ddp', useSsl });
// set Server
- const { serversDB } = database.databases;
+ const serversDB = database.servers;
reduxStore.dispatch(shareSelectServer(server));
// set User info
- const userId = await RNUserDefaults.get(`${ RocketChat.TOKEN_KEY }-${ server }`);
- const user = userId && serversDB.objectForPrimaryKey('user', userId);
- reduxStore.dispatch(shareSetUser({
- id: user.id,
- token: user.token,
- username: user.username
- }));
-
- await RocketChat.login({ resume: user.token });
+ try {
+ const userId = await RNUserDefaults.get(`${ RocketChat.TOKEN_KEY }-${ server }`);
+ const userCollections = serversDB.collections.get('users');
+ let user = null;
+ if (userId) {
+ user = await userCollections.find(userId);
+ user = {
+ id: user.id,
+ token: user.token,
+ username: user.username
+ };
+ }
+ reduxStore.dispatch(shareSetUser({
+ id: user.id,
+ token: user.token,
+ username: user.username
+ }));
+ await RocketChat.login({ resume: user.token });
+ } catch (e) {
+ log(e);
+ }
},
register(credentials) {
@@ -376,23 +365,26 @@ const RocketChat = {
console.log('logout_rn_user_defaults', error);
}
- const { serversDB } = database.databases;
-
const userId = await RNUserDefaults.get(`${ TOKEN_KEY }-${ server }`);
- serversDB.write(() => {
- const user = serversDB.objectForPrimaryKey('user', userId);
- serversDB.delete(user);
- });
+ try {
+ const serversDB = database.servers;
+ await serversDB.action(async() => {
+ const usersCollection = serversDB.collections.get('users');
+ const user = await usersCollection.find(userId);
+ await user.destroyPermanently();
+ });
+ } catch (error) {
+ // Do nothing
+ }
- Promise.all([
- RNUserDefaults.clear('currentServer'),
- RNUserDefaults.clear(TOKEN_KEY),
- RNUserDefaults.clear(`${ TOKEN_KEY }-${ server }`)
- ]).catch(error => console.log(error));
+ await RNUserDefaults.clear('currentServer');
+ await RNUserDefaults.clear(TOKEN_KEY);
+ await RNUserDefaults.clear(`${ TOKEN_KEY }-${ server }`);
try {
- database.deleteAll();
+ const db = database.active;
+ await db.action(() => db.unsafeResetDatabase());
} catch (error) {
console.log(error);
}
@@ -432,19 +424,21 @@ const RocketChat = {
sendMessage,
getRooms,
readMessages,
- async resendMessage(messageId) {
- const message = await database.objects('messages').filtered('_id = $0', messageId)[0];
+ async resendMessage(message) {
+ const db = database.active;
try {
- database.write(() => {
- message.status = messagesStatus.TEMP;
- database.create('messages', message, true);
+ await db.action(async() => {
+ await message.update((m) => {
+ m.status = messagesStatus.TEMP;
+ });
});
- await sendMessageCall.call(this, JSON.parse(JSON.stringify(message)));
+ await sendMessageCall.call(this, message);
} catch (error) {
try {
- database.write(() => {
- message.status = messagesStatus.ERROR;
- database.create('messages', message, true);
+ await db.action(async() => {
+ await message.update((m) => {
+ m.status = messagesStatus.ERROR;
+ });
});
} catch (e) {
log(e);
@@ -464,12 +458,15 @@ const RocketChat = {
return [];
}
- let data = database.objects('subscriptions').filtered('name CONTAINS[c] $0', searchText);
+ const db = database.active;
+ let data = await db.collections.get('subscriptions').query(
+ Q.where('name', Q.like(`%${ Q.sanitizeLikeString(searchText) }%`))
+ ).fetch();
if (filterUsers && !filterRooms) {
- data = data.filtered('t = $0', 'd');
+ data = data.filter(item => item.t === 'd');
} else if (!filterUsers && filterRooms) {
- data = data.filtered('t != $0', 'd');
+ data = data.filter(item => item.t !== 'd');
}
data = data.slice(0, 7);
@@ -525,6 +522,7 @@ const RocketChat = {
getSettings,
getPermissions,
getCustomEmojis,
+ setCustomEmojis,
getSlashCommands,
getRoles,
parseSettings: settings => settings.reduce((ret, item) => {
@@ -537,46 +535,47 @@ const RocketChat = {
return setting;
});
},
- deleteMessage(message) {
- const { _id, rid } = message;
+ deleteMessage(messageId, rid) {
// RC 0.48.0
- return this.sdk.post('chat.delete', { roomId: rid, msgId: _id });
+ return this.sdk.post('chat.delete', { msgId: messageId, roomId: rid });
},
editMessage(message) {
- const { _id, msg, rid } = message;
+ const { id, msg, rid } = message;
// RC 0.49.0
- return this.sdk.post('chat.update', { roomId: rid, msgId: _id, text: msg });
+ return this.sdk.post('chat.update', { roomId: rid, msgId: id, text: msg });
},
- toggleStarMessage(message) {
- if (message.starred) {
+ toggleStarMessage(messageId, starred) {
+ if (starred) {
// RC 0.59.0
- return this.sdk.post('chat.unStarMessage', { messageId: message._id });
+ return this.sdk.post('chat.unStarMessage', { messageId });
}
// RC 0.59.0
- return this.sdk.post('chat.starMessage', { messageId: message._id });
+ return this.sdk.post('chat.starMessage', { messageId });
},
- togglePinMessage(message) {
- if (message.pinned) {
+ togglePinMessage(messageId, pinned) {
+ if (pinned) {
// RC 0.59.0
- return this.sdk.post('chat.unPinMessage', { messageId: message._id });
+ return this.sdk.post('chat.unPinMessage', { messageId });
}
// RC 0.59.0
- return this.sdk.post('chat.pinMessage', { messageId: message._id });
+ return this.sdk.post('chat.pinMessage', { messageId });
},
reportMessage(messageId) {
return this.sdk.post('chat.reportMessage', { messageId, description: 'Message reported by user' });
},
- getRoom(rid) {
- const [result] = database.objects('subscriptions').filtered('rid = $0', rid);
- if (!result) {
+ async getRoom(rid) {
+ try {
+ const db = database.active;
+ const room = await db.collections.get('subscriptions').find(rid);
+ return Promise.resolve(room);
+ } catch (error) {
return Promise.reject(new Error('Room not found'));
}
- return Promise.resolve(result);
},
async getPermalinkMessage(message) {
let room;
try {
- room = await RocketChat.getRoom(message.rid);
+ room = await RocketChat.getRoom(message.subscription.id);
} catch (e) {
log(e);
return null;
@@ -587,7 +586,7 @@ const RocketChat = {
c: 'channel',
d: 'direct'
}[room.t];
- return `${ server }/${ roomType }/${ room.name }?msg=${ message._id }`;
+ return `${ server }/${ roomType }/${ room.name }?msg=${ message.id }`;
},
getPermalinkChannel(channel) {
const { server } = reduxStore.getState().server;
@@ -725,40 +724,44 @@ const RocketChat = {
// RC 0.57.0
return this.sdk.methodCall('getSingleMessage', msgId);
},
- hasPermission(permissions, rid) {
+ async hasPermission(permissions, rid) {
+ const db = database.active;
+ const subsCollection = db.collections.get('subscriptions');
+ const permissionsCollection = db.collections.get('permissions');
let roomRoles = [];
try {
- // get the room from realm
- const [room] = database.objects('subscriptions').filtered('rid = $0', rid);
- if (!room) {
- return permissions.reduce((result, permission) => {
- result[permission] = false;
- return result;
- }, {});
- }
+ // get the room from database
+ const room = await subsCollection.find(rid);
// get room roles
roomRoles = room.roles;
} catch (error) {
- console.log('hasPermission -> error', error);
+ console.log('hasPermission -> Room not found');
+ return permissions.reduce((result, permission) => {
+ result[permission] = false;
+ return result;
+ }, {});
}
- // get permissions from realm
- const permissionsFiltered = database.objects('permissions')
- .filter(permission => permissions.includes(permission._id));
- // get user roles on the server from redux
- const userRoles = (reduxStore.getState().login.user && reduxStore.getState().login.user.roles) || [];
- // merge both roles
- const mergedRoles = [...new Set([...roomRoles, ...userRoles])];
+ // get permissions from database
+ try {
+ const permissionsFiltered = await permissionsCollection.query(Q.where('id', Q.oneOf(permissions))).fetch();
+ // get user roles on the server from redux
+ const userRoles = (reduxStore.getState().login.user && reduxStore.getState().login.user.roles) || [];
+ // merge both roles
+ const mergedRoles = [...new Set([...roomRoles, ...userRoles])];
- // return permissions in object format
- // e.g. { 'edit-room': true, 'set-readonly': false }
- return permissions.reduce((result, permission) => {
- result[permission] = false;
- const permissionFound = permissionsFiltered.find(p => p._id === permission);
- if (permissionFound) {
- result[permission] = returnAnArray(permissionFound.roles).some(r => mergedRoles.includes(r));
- }
- return result;
- }, {});
+ // return permissions in object format
+ // e.g. { 'edit-room': true, 'set-readonly': false }
+ return permissions.reduce((result, permission) => {
+ result[permission] = false;
+ const permissionFound = permissionsFiltered.find(p => p.id === permission);
+ if (permissionFound) {
+ result[permission] = returnAnArray(permissionFound.roles).some(r => mergedRoles.includes(r));
+ }
+ return result;
+ }, {});
+ } catch (e) {
+ log(e);
+ }
},
getAvatarSuggestion() {
// RC 0.51.0
@@ -927,6 +930,35 @@ const RocketChat = {
command, params, roomId, previewItem
});
},
+ _setUser(ddpMessage) {
+ this.activeUsers = this.activeUsers || {};
+ const { user } = reduxStore.getState().login;
+
+ if (ddpMessage.fields && user && user.id === ddpMessage.id) {
+ reduxStore.dispatch(setUser(ddpMessage.fields));
+ }
+
+ if (ddpMessage.cleared && user && user.id === ddpMessage.id) {
+ reduxStore.dispatch(setUser({ status: 'offline' }));
+ }
+
+ if (!this._setUserTimer) {
+ this._setUserTimer = setTimeout(() => {
+ const activeUsersBatch = this.activeUsers;
+ InteractionManager.runAfterInteractions(() => {
+ reduxStore.dispatch(setActiveUsers(activeUsersBatch));
+ });
+ this._setUserTimer = null;
+ return this.activeUsers = {};
+ }, 10000);
+ }
+
+ if (!ddpMessage.fields) {
+ this.activeUsers[ddpMessage.id] = 'offline';
+ } else if (ddpMessage.fields.status) {
+ this.activeUsers[ddpMessage.id] = ddpMessage.fields.status;
+ }
+ },
getUserPresence() {
return new Promise(async(resolve) => {
const serverVersion = reduxStore.getState().server.version;
@@ -950,16 +982,12 @@ const RocketChat = {
// RC 1.1.0
const result = await this.sdk.get('users.presence', params);
if (result.success) {
- // this.lastUserPresenceFetch = new Date();
- database.memoryDatabase.write(() => {
- result.users.forEach((item) => {
- try {
- item.id = item._id;
- database.memoryDatabase.create('activeUsers', item, true);
- } catch (error) {
- console.log(error);
- }
- });
+ const activeUsers = result.users.reduce((ret, item) => {
+ ret[item._id] = item.status;
+ return ret;
+ }, {});
+ InteractionManager.runAfterInteractions(() => {
+ reduxStore.dispatch(setActiveUsers(activeUsers));
});
this.sdk.subscribe('stream-notify-logged', 'user-status');
return resolve();
@@ -975,13 +1003,15 @@ const RocketChat = {
query, count, offset, sort
});
},
- canAutoTranslate() {
+ async canAutoTranslate() {
+ const db = database.active;
try {
const AutoTranslate_Enabled = reduxStore.getState().settings && reduxStore.getState().settings.AutoTranslate_Enabled;
if (!AutoTranslate_Enabled) {
return false;
}
- const autoTranslatePermission = database.objectForPrimaryKey('permissions', 'auto-translate');
+ const permissionsCollection = db.collections.get('permissions');
+ const autoTranslatePermission = await permissionsCollection.find('auto-translate');
const userRoles = (reduxStore.getState().login.user && reduxStore.getState().login.user.roles) || [];
return autoTranslatePermission.roles.some(role => userRoles.includes(role));
} catch (e) {
diff --git a/app/presentation/RoomItem/LastMessage.js b/app/presentation/RoomItem/LastMessage.js
index 0c4d8be67..7bd2e41f8 100644
--- a/app/presentation/RoomItem/LastMessage.js
+++ b/app/presentation/RoomItem/LastMessage.js
@@ -20,7 +20,7 @@ const formatMsg = ({
let prefix = '';
const isLastMessageSentByMe = lastMessage.u.username === username;
- if (!lastMessage.msg && Object.keys(lastMessage.attachments).length) {
+ if (!lastMessage.msg && lastMessage.attachments && Object.keys(lastMessage.attachments).length) {
const user = isLastMessageSentByMe ? I18n.t('You') : lastMessage.u.username;
return I18n.t('User_sent_an_attachment', { user });
}
diff --git a/app/presentation/RoomItem/TypeIcon.js b/app/presentation/RoomItem/TypeIcon.js
index 8a8c3ef53..4be82c934 100644
--- a/app/presentation/RoomItem/TypeIcon.js
+++ b/app/presentation/RoomItem/TypeIcon.js
@@ -1,20 +1,20 @@
import React from 'react';
import PropTypes from 'prop-types';
-import Status from '../../containers/Status';
+import Status from '../../containers/Status/Status';
import RoomTypeIcon from '../../containers/RoomTypeIcon';
import styles from './styles';
-const TypeIcon = React.memo(({ type, id, prid }) => {
+const TypeIcon = React.memo(({ type, prid, status }) => {
if (type === 'd') {
- return ;
+ return ;
}
return ;
});
TypeIcon.propTypes = {
type: PropTypes.string,
- id: PropTypes.string,
+ status: PropTypes.string,
prid: PropTypes.string
};
diff --git a/app/presentation/RoomItem/index.js b/app/presentation/RoomItem/index.js
index 6ec00cc25..938517dc2 100644
--- a/app/presentation/RoomItem/index.js
+++ b/app/presentation/RoomItem/index.js
@@ -1,12 +1,20 @@
import React from 'react';
import PropTypes from 'prop-types';
import { View, Text, Animated } from 'react-native';
-import { RectButton, PanGestureHandler, State } from 'react-native-gesture-handler';
+import {
+ RectButton,
+ PanGestureHandler,
+ State
+} from 'react-native-gesture-handler';
+import { connect } from 'react-redux';
import Avatar from '../../containers/Avatar';
import I18n from '../../i18n';
import styles, {
- ROW_HEIGHT, ACTION_WIDTH, SMALL_SWIPE, LONG_SWIPE
+ ROW_HEIGHT,
+ ACTION_WIDTH,
+ SMALL_SWIPE,
+ LONG_SWIPE
} from './styles';
import UnreadBadge from './UnreadBadge';
import TypeIcon from './TypeIcon';
@@ -16,9 +24,20 @@ import { LeftActions, RightActions } from './Actions';
export { ROW_HEIGHT };
-const attrs = ['name', 'unread', 'userMentions', 'showLastMessage', 'alert', 'type', 'width', 'isRead', 'favorite'];
+const attrs = [
+ 'name',
+ 'unread',
+ 'userMentions',
+ 'showLastMessage',
+ 'alert',
+ 'type',
+ 'width',
+ 'isRead',
+ 'favorite',
+ 'status'
+];
-export default class RoomItem extends React.Component {
+class RoomItem extends React.Component {
static propTypes = {
type: PropTypes.string.isRequired,
name: PropTypes.string.isRequired,
@@ -41,17 +60,16 @@ export default class RoomItem extends React.Component {
favorite: PropTypes.bool,
isRead: PropTypes.bool,
rid: PropTypes.string,
+ status: PropTypes.string,
toggleFav: PropTypes.func,
toggleRead: PropTypes.func,
hideChannel: PropTypes.func
- }
+ };
static defaultProps = {
avatarSize: 48
- }
+ };
- // Making jest happy: https://github.com/facebook/react-native/issues/22175
- // eslint-disable-next-line no-useless-constructor
constructor(props) {
super(props);
this.dragX = new Animated.Value(0);
@@ -70,13 +88,7 @@ export default class RoomItem extends React.Component {
}
shouldComponentUpdate(nextProps) {
- const { lastMessage, _updatedAt } = this.props;
- const oldlastMessage = lastMessage;
- const newLastmessage = nextProps.lastMessage;
-
- if (oldlastMessage && newLastmessage && oldlastMessage.ts !== newLastmessage.ts) {
- return true;
- }
+ const { _updatedAt } = this.props;
if (_updatedAt && nextProps._updatedAt && nextProps._updatedAt.toISOString() !== _updatedAt.toISOString()) {
return true;
}
@@ -165,31 +177,31 @@ export default class RoomItem extends React.Component {
toggleFav(rid, favorite);
}
this.close();
- }
+ };
toggleRead = () => {
const { toggleRead, rid, isRead } = this.props;
if (toggleRead) {
toggleRead(rid, isRead);
}
- }
+ };
hideChannel = () => {
const { hideChannel, rid, type } = this.props;
if (hideChannel) {
hideChannel(rid, type);
}
- }
+ };
onToggleReadPress = () => {
this.toggleRead();
this.close();
- }
+ };
onHidePress = () => {
this.hideChannel();
this.close();
- }
+ };
onPress = () => {
const { rowState } = this.state;
@@ -201,11 +213,11 @@ export default class RoomItem extends React.Component {
if (onPress) {
onPress();
}
- }
+ };
render() {
const {
- unread, userMentions, name, _updatedAt, alert, testID, type, avatarSize, baseUrl, userId, username, token, id, prid, showLastMessage, lastMessage, isRead, width, favorite
+ unread, userMentions, name, _updatedAt, alert, testID, type, avatarSize, baseUrl, userId, username, token, id, prid, showLastMessage, lastMessage, isRead, width, favorite, status
} = this.props;
const date = formatDate(_updatedAt);
@@ -246,11 +258,9 @@ export default class RoomItem extends React.Component {
onHidePress={this.onHidePress}
/>
-
+
-
- { name }
- {_updatedAt ? { capitalize(date) } : null}
+
+
+ {name}
+
+ {_updatedAt ? (
+
+ {capitalize(date)}
+
+ ) : null}
-
-
+
+
@@ -283,3 +336,9 @@ export default class RoomItem extends React.Component {
);
}
}
+
+const mapStateToProps = (state, ownProps) => ({
+ status: state.meteor.connected && ownProps.type === 'd' ? state.activeUsers[ownProps.id] : 'offline'
+});
+
+export default connect(mapStateToProps)(RoomItem);
diff --git a/app/reducers/activeUsers.js b/app/reducers/activeUsers.js
new file mode 100644
index 000000000..8f6c5b38a
--- /dev/null
+++ b/app/reducers/activeUsers.js
@@ -0,0 +1,15 @@
+import { SET_ACTIVE_USERS } from '../actions/actionsTypes';
+
+const initialState = {};
+
+export default function activeUsers(state = initialState, action) {
+ switch (action.type) {
+ case SET_ACTIVE_USERS:
+ return {
+ ...state,
+ ...action.activeUsers
+ };
+ default:
+ return state;
+ }
+}
diff --git a/app/reducers/createChannel.js b/app/reducers/createChannel.js
index bbae1ac00..7d94513a4 100644
--- a/app/reducers/createChannel.js
+++ b/app/reducers/createChannel.js
@@ -7,7 +7,7 @@ const initialState = {
error: {}
};
-export default function messages(state = initialState, action) {
+export default function(state = initialState, action) {
switch (action.type) {
case CREATE_CHANNEL.REQUEST:
return {
diff --git a/app/reducers/customEmojis.js b/app/reducers/customEmojis.js
new file mode 100644
index 000000000..fbdaeab80
--- /dev/null
+++ b/app/reducers/customEmojis.js
@@ -0,0 +1,14 @@
+import { SET_CUSTOM_EMOJIS } from '../actions/actionsTypes';
+
+const initialState = {
+ customEmojis: {}
+};
+
+export default function customEmojis(state = initialState, action) {
+ switch (action.type) {
+ case SET_CUSTOM_EMOJIS:
+ return action.emojis;
+ default:
+ return state;
+ }
+}
diff --git a/app/reducers/index.js b/app/reducers/index.js
index d0b2ec6e2..6a010df3f 100644
--- a/app/reducers/index.js
+++ b/app/reducers/index.js
@@ -2,7 +2,6 @@ import { combineReducers } from 'redux';
import settings from './reducers';
import login from './login';
import meteor from './connect';
-import messages from './messages';
import rooms from './rooms';
import server from './server';
import selectedUsers from './selectedUsers';
@@ -13,12 +12,14 @@ import notification from './notification';
import markdown from './markdown';
import share from './share';
import crashReport from './crashReport';
+import customEmojis from './customEmojis';
+import activeUsers from './activeUsers';
+import usersTyping from './usersTyping';
export default combineReducers({
settings,
login,
meteor,
- messages,
server,
selectedUsers,
createChannel,
@@ -28,5 +29,8 @@ export default combineReducers({
notification,
markdown,
share,
- crashReport
+ crashReport,
+ customEmojis,
+ activeUsers,
+ usersTyping
});
diff --git a/app/reducers/messages.js b/app/reducers/messages.js
deleted file mode 100644
index ea9163474..000000000
--- a/app/reducers/messages.js
+++ /dev/null
@@ -1,96 +0,0 @@
-import * as types from '../actions/actionsTypes';
-
-const initialState = {
- message: {},
- actionMessage: {},
- replyMessage: {},
- replying: false,
- editing: false,
- showActions: false,
- showErrorActions: false,
- showReactionPicker: false
-};
-
-export default function messages(state = initialState, action) {
- switch (action.type) {
- case types.MESSAGES.ACTIONS_SHOW:
- return {
- ...state,
- showActions: true,
- actionMessage: action.actionMessage
- };
- case types.MESSAGES.ACTIONS_HIDE:
- return {
- ...state,
- showActions: false
- };
- case types.MESSAGES.ERROR_ACTIONS_SHOW:
- return {
- ...state,
- showErrorActions: true,
- actionMessage: action.actionMessage
- };
- case types.MESSAGES.ERROR_ACTIONS_HIDE:
- return {
- ...state,
- showErrorActions: false
- };
- case types.MESSAGES.EDIT_INIT:
- return {
- ...state,
- message: action.message,
- editing: true
- };
- case types.MESSAGES.EDIT_CANCEL:
- return {
- ...state,
- message: {},
- editing: false
- };
- case types.MESSAGES.EDIT_SUCCESS:
- return {
- ...state,
- message: {},
- editing: false
- };
- case types.MESSAGES.EDIT_FAILURE:
- return {
- ...state,
- message: {},
- editing: false
- };
- case types.MESSAGES.REPLY_INIT:
- return {
- ...state,
- replyMessage: {
- ...action.message,
- mention: action.mention
- },
- replying: true
- };
- case types.MESSAGES.REPLY_CANCEL:
- return {
- ...state,
- replyMessage: {},
- replying: false
- };
- case types.MESSAGES.SET_INPUT:
- return {
- ...state,
- message: action.message
- };
- case types.MESSAGES.CLEAR_INPUT:
- return {
- ...state,
- message: {}
- };
- case types.MESSAGES.TOGGLE_REACTION_PICKER:
- return {
- ...state,
- showReactionPicker: !state.showReactionPicker,
- actionMessage: action.message
- };
- default:
- return state;
- }
-}
diff --git a/app/reducers/selectedUsers.js b/app/reducers/selectedUsers.js
index 5f455aea4..0d8fa4cf7 100644
--- a/app/reducers/selectedUsers.js
+++ b/app/reducers/selectedUsers.js
@@ -5,7 +5,7 @@ const initialState = {
loading: false
};
-export default function messages(state = initialState, action) {
+export default function(state = initialState, action) {
switch (action.type) {
case SELECTED_USERS.ADD_USER:
return {
diff --git a/app/reducers/usersTyping.js b/app/reducers/usersTyping.js
new file mode 100644
index 000000000..acecab632
--- /dev/null
+++ b/app/reducers/usersTyping.js
@@ -0,0 +1,19 @@
+import { USERS_TYPING } from '../actions/actionsTypes';
+
+const initialState = [];
+
+export default function usersTyping(state = initialState, action) {
+ switch (action.type) {
+ case USERS_TYPING.ADD:
+ if (state.findIndex(item => item === action.username) === -1) {
+ return [...state, action.username];
+ }
+ return state;
+ case USERS_TYPING.REMOVE:
+ return state.filter(item => item !== action.username);
+ case USERS_TYPING.CLEAR:
+ return initialState;
+ default:
+ return state;
+ }
+}
diff --git a/app/sagas/deepLinking.js b/app/sagas/deepLinking.js
index 8db286754..2706be47d 100644
--- a/app/sagas/deepLinking.js
+++ b/app/sagas/deepLinking.js
@@ -6,7 +6,7 @@ import RNUserDefaults from 'rn-user-defaults';
import Navigation from '../lib/Navigation';
import * as types from '../actions/actionsTypes';
import { selectServerRequest } from '../actions/server';
-import database from '../lib/realm';
+import database from '../lib/database';
import RocketChat from '../lib/rocketchat';
import EventEmitter from '../utils/events';
import { appStart } from '../actions';
@@ -66,21 +66,27 @@ const handleOpen = function* handleOpen({ params }) {
}
} else {
// search if deep link's server already exists
- const servers = yield database.databases.serversDB.objects('servers').filtered('id = $0', host); // TODO: need better test
- if (servers.length && user) {
- yield put(selectServerRequest(host));
- yield take(types.SERVER.SELECT_SUCCESS);
- yield navigate({ params });
- } else {
- // if deep link is from a different server
- const result = yield RocketChat.getServerInfo(server);
- if (!result.success) {
+ const serversDB = database.servers;
+ const serversCollection = serversDB.collections.get('servers');
+ try {
+ const servers = yield serversCollection.find(host);
+ if (servers && user) {
+ yield put(selectServerRequest(host));
+ yield take(types.SERVER.SELECT_SUCCESS);
+ yield navigate({ params });
return;
}
- Navigation.navigate('OnboardingView', { previousServer: server });
- yield delay(1000);
- EventEmitter.emit('NewServer', { server: host });
+ } catch (e) {
+ // do nothing?
}
+ // if deep link is from a different server
+ const result = yield RocketChat.getServerInfo(server);
+ if (!result.success) {
+ return;
+ }
+ Navigation.navigate('OnboardingView', { previousServer: server });
+ yield delay(1000);
+ EventEmitter.emit('NewServer', { server: host });
}
};
diff --git a/app/sagas/init.js b/app/sagas/init.js
index e6fb3bee5..681e0b25c 100644
--- a/app/sagas/init.js
+++ b/app/sagas/init.js
@@ -2,6 +2,7 @@ import { AsyncStorage } from 'react-native';
import { put, takeLatest, all } from 'redux-saga/effects';
import SplashScreen from 'react-native-splash-screen';
import RNUserDefaults from 'rn-user-defaults';
+import { sanitizedRaw } from '@nozbe/watermelondb/RawRecord';
import * as actions from '../actions';
import { selectServerRequest } from '../actions/server';
@@ -12,11 +13,12 @@ import { APP } from '../actions/actionsTypes';
import RocketChat from '../lib/rocketchat';
import log from '../utils/log';
import Navigation from '../lib/Navigation';
-import database from '../lib/realm';
import {
SERVERS, SERVER_ICON, SERVER_NAME, SERVER_URL, TOKEN, USER_ID
} from '../constants/userDefaults';
import { isIOS } from '../utils/deviceInfo';
+import database from '../lib/database';
+import protectedFunction from '../lib/methods/helpers/protectedFunction';
const restore = function* restore() {
try {
@@ -31,33 +33,46 @@ const restore = function* restore() {
server: RNUserDefaults.get('currentServer')
});
- // get native credentials
- if (isIOS && !hasMigration) {
- const { serversDB } = database.databases;
- const servers = yield RNUserDefaults.objectForKey(SERVERS);
- if (servers) {
- serversDB.write(() => {
- servers.forEach(async(serverItem) => {
- const serverInfo = {
- id: serverItem[SERVER_URL],
- name: serverItem[SERVER_NAME],
- iconURL: serverItem[SERVER_ICON]
- };
- try {
- serversDB.create('servers', serverInfo, true);
- await RNUserDefaults.set(`${ RocketChat.TOKEN_KEY }-${ serverInfo.id }`, serverItem[USER_ID]);
- } catch (e) {
- log(e);
- }
- });
- });
- yield AsyncStorage.setItem('hasMigration', '1');
- }
+ let servers = yield RNUserDefaults.objectForKey(SERVERS);
+ // if not have current
+ if (servers && servers.length !== 0 && (!token || !server)) {
+ server = servers[0][SERVER_URL];
+ token = servers[0][TOKEN];
+ }
- // if not have current
- if (servers && servers.length !== 0 && (!token || !server)) {
- server = servers[0][SERVER_URL];
- token = servers[0][TOKEN];
+ // get native credentials
+ if (servers && !hasMigration) {
+ // parse servers
+ servers = yield Promise.all(servers.map(async(s) => {
+ await RNUserDefaults.set(`${ RocketChat.TOKEN_KEY }-${ s[SERVER_URL] }`, s[USER_ID]);
+ return ({ id: s[SERVER_URL], name: s[SERVER_NAME], iconURL: s[SERVER_ICON] });
+ }));
+ try {
+ const serversDB = database.servers;
+ yield serversDB.action(async() => {
+ const serversCollection = serversDB.collections.get('servers');
+ const allServerRecords = await serversCollection.query().fetch();
+
+ // filter servers
+ let serversToCreate = servers.filter(i1 => !allServerRecords.find(i2 => i1.id === i2.id));
+
+ // Create
+ serversToCreate = serversToCreate.map(record => serversCollection.prepareCreate(protectedFunction((s) => {
+ s._raw = sanitizedRaw({ id: record.id }, serversCollection.schema);
+ Object.assign(s, record);
+ })));
+
+ const allRecords = serversToCreate;
+
+ try {
+ await serversDB.batch(...allRecords);
+ } catch (e) {
+ log(e);
+ }
+ return allRecords.length;
+ });
+ } catch (e) {
+ log(e);
}
}
@@ -77,13 +92,16 @@ const restore = function* restore() {
]);
yield put(actions.appStart('outside'));
} else if (server) {
- const serverObj = database.databases.serversDB.objectForPrimaryKey('servers', server);
+ const serversDB = database.servers;
+ const serverCollections = serversDB.collections.get('servers');
+ const serverObj = yield serverCollections.find(server);
yield put(selectServerRequest(server, serverObj && serverObj.version));
}
yield put(actions.appReady({}));
} catch (e) {
log(e);
+ yield put(actions.appStart('outside'));
}
};
diff --git a/app/sagas/login.js b/app/sagas/login.js
index de26612b1..b7e3fd177 100644
--- a/app/sagas/login.js
+++ b/app/sagas/login.js
@@ -2,6 +2,7 @@ import {
put, call, takeLatest, select, take, fork, cancel
} from 'redux-saga/effects';
import RNUserDefaults from 'rn-user-defaults';
+import { sanitizedRaw } from '@nozbe/watermelondb/RawRecord';
import moment from 'moment';
import 'moment/min/locales';
@@ -14,7 +15,7 @@ import { toMomentLocale } from '../utils/moment';
import RocketChat from '../lib/rocketchat';
import log from '../utils/log';
import I18n from '../i18n';
-import database from '../lib/realm';
+import database from '../lib/database';
import EventEmitter from '../utils/events';
const getServer = state => state.server.server;
@@ -77,12 +78,28 @@ const handleLoginSuccess = function* handleLoginSuccess({ user }) {
I18n.locale = user.language;
moment.locale(toMomentLocale(user.language));
- const { serversDB } = database.databases;
- serversDB.write(() => {
+ const serversDB = database.servers;
+ const usersCollection = serversDB.collections.get('users');
+ const u = {
+ token: user.token,
+ username: user.username,
+ name: user.name,
+ language: user.language,
+ status: user.status,
+ roles: user.roles
+ };
+ yield serversDB.action(async() => {
try {
- serversDB.create('user', user, true);
+ const userRecord = await usersCollection.find(user.id);
+ await userRecord.update((record) => {
+ record._raw = sanitizedRaw({ id: user.id, ...record._raw }, usersCollection.schema);
+ Object.assign(record, u);
+ });
} catch (e) {
- log(e);
+ await usersCollection.create((record) => {
+ record._raw = sanitizedRaw({ id: user.id }, usersCollection.schema);
+ Object.assign(record, u);
+ });
}
});
@@ -108,14 +125,18 @@ const handleLogout = function* handleLogout() {
if (server) {
try {
yield call(logoutCall, { server });
- const { serversDB } = database.databases;
+ const serversDB = database.servers;
// all servers
- const servers = yield serversDB.objects('servers');
+ const serversCollection = serversDB.collections.get('servers');
+
// filter logging out server and delete it
- const serverRecord = servers.filtered('id = $0', server);
- serversDB.write(() => {
- serversDB.delete(serverRecord);
+ yield serversDB.action(async() => {
+ const serverRecord = await serversCollection.find(server);
+ await serverRecord.destroyPermanently();
});
+
+ const servers = yield serversCollection.query().fetch();
+
// see if there's other logged in servers and selects first one
if (servers.length > 0) {
const newServer = servers[0].id;
diff --git a/app/sagas/messages.js b/app/sagas/messages.js
index 74f64298a..24c1a7046 100644
--- a/app/sagas/messages.js
+++ b/app/sagas/messages.js
@@ -1,92 +1,37 @@
-import {
- takeLatest, put, call, delay
-} from 'redux-saga/effects';
+import { takeLatest } from 'redux-saga/effects';
+import { Q } from '@nozbe/watermelondb';
import Navigation from '../lib/Navigation';
import { MESSAGES } from '../actions/actionsTypes';
-import {
- deleteSuccess,
- deleteFailure,
- editSuccess,
- editFailure,
- toggleStarSuccess,
- toggleStarFailure,
- togglePinSuccess,
- togglePinFailure,
- replyInit
-} from '../actions/messages';
import RocketChat from '../lib/rocketchat';
-import database from '../lib/realm';
+import database from '../lib/database';
import log from '../utils/log';
-const deleteMessage = message => RocketChat.deleteMessage(message);
-const editMessage = message => RocketChat.editMessage(message);
-const toggleStarMessage = message => RocketChat.toggleStarMessage(message);
-const togglePinMessage = message => RocketChat.togglePinMessage(message);
-
-const handleDeleteRequest = function* handleDeleteRequest({ message }) {
- try {
- yield call(deleteMessage, message);
- yield put(deleteSuccess());
- } catch (error) {
- yield put(deleteFailure());
- }
-};
-
-const handleEditRequest = function* handleEditRequest({ message }) {
- try {
- yield call(editMessage, message);
- yield put(editSuccess());
- } catch (error) {
- yield put(editFailure());
- }
-};
-
-const handleToggleStarRequest = function* handleToggleStarRequest({ message }) {
- try {
- yield call(toggleStarMessage, message);
- yield put(toggleStarSuccess());
- } catch (error) {
- yield put(toggleStarFailure());
- }
-};
-
-const handleTogglePinRequest = function* handleTogglePinRequest({ message }) {
- try {
- yield call(togglePinMessage, message);
- yield put(togglePinSuccess());
- } catch (error) {
- yield put(togglePinFailure(error));
- }
-};
-
-const goRoom = function goRoom({ rid, name }) {
+const goRoom = function goRoom({ rid, name, message }) {
Navigation.navigate('RoomsListView');
- Navigation.navigate('RoomView', { rid, name, t: 'd' });
+ Navigation.navigate('RoomView', {
+ rid, name, t: 'd', message
+ });
};
const handleReplyBroadcast = function* handleReplyBroadcast({ message }) {
try {
+ const db = database.active;
const { username } = message.u;
- const subscriptions = database.objects('subscriptions').filtered('name = $0', username);
+ const subsCollection = db.collections.get('subscriptions');
+ const subscriptions = yield subsCollection.query(Q.where('name', username)).fetch();
if (subscriptions.length) {
- yield goRoom({ rid: subscriptions[0].rid, name: username });
+ yield goRoom({ rid: subscriptions[0].rid, name: username, message });
} else {
const room = yield RocketChat.createDirectMessage(username);
- yield goRoom({ rid: room.rid, name: username });
+ yield goRoom({ rid: room.rid, name: username, message });
}
- yield delay(500);
- yield put(replyInit(message, false));
} catch (e) {
log(e);
}
};
const root = function* root() {
- yield takeLatest(MESSAGES.DELETE_REQUEST, handleDeleteRequest);
- yield takeLatest(MESSAGES.EDIT_REQUEST, handleEditRequest);
- yield takeLatest(MESSAGES.TOGGLE_STAR_REQUEST, handleToggleStarRequest);
- yield takeLatest(MESSAGES.TOGGLE_PIN_REQUEST, handleTogglePinRequest);
yield takeLatest(MESSAGES.REPLY_BROADCAST, handleReplyBroadcast);
};
export default root;
diff --git a/app/sagas/room.js b/app/sagas/room.js
index e75af129a..1ad7c235c 100644
--- a/app/sagas/room.js
+++ b/app/sagas/room.js
@@ -1,6 +1,6 @@
import { Alert } from 'react-native';
import {
- call, takeLatest, take, select, delay
+ takeLatest, take, select, delay
} from 'redux-saga/effects';
import Navigation from '../lib/Navigation';
@@ -19,7 +19,7 @@ const watchUserTyping = function* watchUserTyping({ rid, status }) {
yield RocketChat.emitTyping(rid, status);
if (status) {
- yield call(delay, 5000);
+ yield delay(5000);
yield RocketChat.emitTyping(rid, false);
}
} catch (e) {
diff --git a/app/sagas/rooms.js b/app/sagas/rooms.js
index 19f2e2e6f..ef1d42dcf 100644
--- a/app/sagas/rooms.js
+++ b/app/sagas/rooms.js
@@ -2,36 +2,67 @@ import {
put, select, race, take, fork, cancel, delay
} from 'redux-saga/effects';
import { BACKGROUND, INACTIVE } from 'redux-enhancer-react-native-appstate';
+import { Q } from '@nozbe/watermelondb';
+import { sanitizedRaw } from '@nozbe/watermelondb/RawRecord';
import * as types from '../actions/actionsTypes';
import { roomsSuccess, roomsFailure } from '../actions/rooms';
-import database from '../lib/realm';
+import database from '../lib/database';
import log from '../utils/log';
import mergeSubscriptionsRooms from '../lib/methods/helpers/mergeSubscriptionsRooms';
import RocketChat from '../lib/rocketchat';
const handleRoomsRequest = function* handleRoomsRequest() {
try {
+ const serversDB = database.servers;
yield RocketChat.subscribeRooms();
const newRoomsUpdatedAt = new Date();
const server = yield select(state => state.server.server);
- const [serverRecord] = database.databases.serversDB.objects('servers').filtered('id = $0', server);
+ const serversCollection = serversDB.collections.get('servers');
+ const serverRecord = yield serversCollection.find(server);
const { roomsUpdatedAt } = serverRecord;
const [subscriptionsResult, roomsResult] = yield RocketChat.getRooms(roomsUpdatedAt);
const { subscriptions } = mergeSubscriptionsRooms(subscriptionsResult, roomsResult);
- database.write(() => {
- subscriptions.forEach((subscription) => {
- try {
- database.create('subscriptions', subscription, true);
- } catch (e) {
- log(e);
- }
- });
- });
- database.databases.serversDB.write(() => {
+ const db = database.active;
+ yield db.action(async() => {
+ const subCollection = db.collections.get('subscriptions');
+ if (!subscriptions.length) {
+ return;
+ }
+
+ const subsIds = subscriptions.map(sub => sub.rid);
+ const existingSubs = await subCollection.query(Q.where('id', Q.oneOf(subsIds))).fetch();
+ const subsToUpdate = existingSubs.filter(i1 => subscriptions.find(i2 => i1._id === i2._id));
+ const subsToCreate = subscriptions.filter(i1 => !existingSubs.find(i2 => i1._id === i2._id));
+ // TODO: subsToDelete?
+
+ const allRecords = [
+ ...subsToCreate.map(subscription => subCollection.prepareCreate((s) => {
+ s._raw = sanitizedRaw({ id: subscription.rid }, subCollection.schema);
+ return Object.assign(s, subscription);
+ })),
+ ...subsToUpdate.map((subscription) => {
+ const newSub = subscriptions.find(s => s._id === subscription._id);
+ return subscription.prepareUpdate(() => {
+ Object.assign(subscription, newSub);
+ });
+ })
+ ];
+
try {
- database.databases.serversDB.create('servers', { id: server, roomsUpdatedAt: newRoomsUpdatedAt }, true);
+ await db.batch(...allRecords);
+ } catch (e) {
+ log(e);
+ }
+ return allRecords.length;
+ });
+
+ yield serversDB.action(async() => {
+ try {
+ await serverRecord.update((record) => {
+ record.roomsUpdatedAt = newRoomsUpdatedAt;
+ });
} catch (e) {
log(e);
}
diff --git a/app/sagas/selectServer.js b/app/sagas/selectServer.js
index e42719c5a..5823c0feb 100644
--- a/app/sagas/selectServer.js
+++ b/app/sagas/selectServer.js
@@ -3,6 +3,7 @@ import {
} from 'redux-saga/effects';
import { Alert } from 'react-native';
import RNUserDefaults from 'rn-user-defaults';
+import { sanitizedRaw } from '@nozbe/watermelondb/RawRecord';
import Navigation from '../lib/Navigation';
import { SERVER } from '../actions/actionsTypes';
@@ -12,7 +13,7 @@ import {
} from '../actions/server';
import { setUser } from '../actions/login';
import RocketChat from '../lib/rocketchat';
-import database from '../lib/realm';
+import database from '../lib/database';
import log from '../utils/log';
import { extractHostname } from '../utils/server';
import I18n from '../i18n';
@@ -29,8 +30,20 @@ const getServerInfo = function* getServerInfo({ server, raiseError = true }) {
return;
}
- database.databases.serversDB.write(() => {
- database.databases.serversDB.create('servers', { id: server, version: serverInfo.version }, true);
+ const serversDB = database.servers;
+ const serversCollection = serversDB.collections.get('servers');
+ yield serversDB.action(async() => {
+ try {
+ const serverRecord = await serversCollection.find(server);
+ await serverRecord.update((record) => {
+ record.version = serverInfo.version;
+ });
+ } catch (e) {
+ await serversCollection.create((record) => {
+ record._raw = sanitizedRaw({ id: server }, serversCollection.schema);
+ record.version = serverInfo.version;
+ });
+ }
});
return serverInfo;
@@ -41,11 +54,27 @@ const getServerInfo = function* getServerInfo({ server, raiseError = true }) {
const handleSelectServer = function* handleSelectServer({ server, version, fetchVersion }) {
try {
- const { serversDB } = database.databases;
-
+ const serversDB = database.servers;
yield RNUserDefaults.set('currentServer', server);
const userId = yield RNUserDefaults.get(`${ RocketChat.TOKEN_KEY }-${ server }`);
- const user = userId && serversDB.objectForPrimaryKey('user', userId);
+ const userCollections = serversDB.collections.get('users');
+ let user = null;
+ if (userId) {
+ try {
+ user = yield userCollections.find(userId);
+ user = {
+ token: user.token,
+ username: user.username,
+ name: user.name,
+ language: user.language,
+ status: user.status,
+ roles: user.roles
+ };
+ user = { ...user, roles: JSON.parse(user.roles) };
+ } catch (e) {
+ // do nothing?
+ }
+ }
const servers = yield RNUserDefaults.objectForKey(SERVERS);
const userCredentials = servers && servers.find(srv => srv[SERVER_URL] === server);
@@ -62,9 +91,20 @@ const handleSelectServer = function* handleSelectServer({ server, version, fetch
yield put(actions.appStart('outside'));
}
- const settings = database.objects('settings');
+ const db = database.active;
+ const serversCollection = db.collections.get('settings');
+ const settingsRecords = yield serversCollection.query().fetch();
+ const settings = Object.values(settingsRecords).map(item => ({
+ _id: item.id,
+ valueAsString: item.valueAsString,
+ valueAsBoolean: item.valueAsBoolean,
+ valueAsNumber: item.valueAsNumber,
+ _updatedAt: item._updatedAt
+ }));
yield put(actions.setAllSettings(RocketChat.parseSettings(settings.slice(0, settings.length))));
+ yield RocketChat.setCustomEmojis();
+
let serverInfo;
if (fetchVersion) {
serverInfo = yield getServerInfo({ server, raiseError: false });
diff --git a/app/utils/log.js b/app/utils/log.js
index fb964e140..357b4dc41 100644
--- a/app/utils/log.js
+++ b/app/utils/log.js
@@ -9,7 +9,7 @@ export const loggerConfig = bugsnag.config;
export const { leaveBreadcrumb } = bugsnag;
export default (e) => {
- if (e instanceof Error) {
+ if (e instanceof Error && !__DEV__) {
bugsnag.notify(e);
} else {
console.log(e);
diff --git a/app/views/AutoTranslateView/index.js b/app/views/AutoTranslateView/index.js
index 57a7188b8..0bb520a6b 100644
--- a/app/views/AutoTranslateView/index.js
+++ b/app/views/AutoTranslateView/index.js
@@ -17,7 +17,6 @@ import {
SWITCH_TRACK_COLOR, COLOR_BACKGROUND_CONTAINER, COLOR_WHITE, COLOR_SEPARATOR
} from '../../constants/colors';
import scrollPersistTaps from '../../utils/scrollPersistTaps';
-import database from '../../lib/realm';
const styles = StyleSheet.create({
contentContainerStyle: {
@@ -49,11 +48,19 @@ export default class AutoTranslateView extends React.Component {
constructor(props) {
super(props);
this.rid = props.navigation.getParam('rid');
- this.rooms = database.objects('subscriptions').filtered('rid = $0', this.rid);
+ const room = props.navigation.getParam('room');
+
+ if (room && room.observe) {
+ this.roomObservable = room.observe();
+ this.subscription = this.roomObservable
+ .subscribe((changes) => {
+ this.room = changes;
+ });
+ }
this.state = {
languages: [],
- selectedLanguage: this.rooms[0].autoTranslateLanguage,
- enableAutoTranslate: this.rooms[0].autoTranslate
+ selectedLanguage: room.autoTranslateLanguage,
+ enableAutoTranslate: room.autoTranslate
};
}
@@ -66,6 +73,12 @@ export default class AutoTranslateView extends React.Component {
}
}
+ componentWillUnmount() {
+ if (this.subscription && this.subscription.unsubscribe) {
+ this.subscription.unsubscribe();
+ }
+ }
+
toggleAutoTranslate = async() => {
const { enableAutoTranslate } = this.state;
try {
@@ -152,5 +165,3 @@ export default class AutoTranslateView extends React.Component {
);
}
}
-
-console.disableYellowBox = true;
diff --git a/app/views/MessagesView/index.js b/app/views/MessagesView/index.js
index cf5383f1a..bea5d01bd 100644
--- a/app/views/MessagesView/index.js
+++ b/app/views/MessagesView/index.js
@@ -26,7 +26,8 @@ class MessagesView extends React.Component {
static propTypes = {
user: PropTypes.object,
baseUrl: PropTypes.string,
- navigation: PropTypes.object
+ navigation: PropTypes.object,
+ customEmojis: PropTypes.object
}
constructor(props) {
@@ -80,7 +81,8 @@ class MessagesView extends React.Component {
isEdited: !!item.editedAt,
isHeader: true,
attachments: item.attachments || [],
- onOpenFileModal: this.onOpenFileModal
+ onOpenFileModal: this.onOpenFileModal,
+ getCustomEmoji: this.getCustomEmoji
});
return ({
@@ -145,7 +147,7 @@ class MessagesView extends React.Component {
/>
),
actionTitle: I18n.t('Unstar'),
- handleActionPress: message => RocketChat.toggleStarMessage(message)
+ handleActionPress: message => RocketChat.toggleStarMessage(message._id, message.starred)
},
// Pinned Messages Screen
Pinned: {
@@ -161,7 +163,7 @@ class MessagesView extends React.Component {
/>
),
actionTitle: I18n.t('Unpin'),
- handleActionPress: message => RocketChat.togglePinMessage(message)
+ handleActionPress: message => RocketChat.togglePinMessage(message._id, message.pinned)
}
}[name]);
}
@@ -191,6 +193,15 @@ class MessagesView extends React.Component {
}
}
+ getCustomEmoji = (name) => {
+ const { customEmojis } = this.props;
+ const emoji = customEmojis[name];
+ if (emoji) {
+ return emoji;
+ }
+ return null;
+ }
+
onOpenFileModal = (attachment) => {
this.setState({ selectedAttachment: attachment, photoModalVisible: true });
}
@@ -285,7 +296,8 @@ const mapStateToProps = state => ({
id: state.login.user && state.login.user.id,
username: state.login.user && state.login.user.username,
token: state.login.user && state.login.user.token
- }
+ },
+ customEmojis: state.customEmojis
});
export default connect(mapStateToProps)(MessagesView);
diff --git a/app/views/NewMessageView.js b/app/views/NewMessageView.js
index 3b7d87fcd..9f4bb8025 100644
--- a/app/views/NewMessageView.js
+++ b/app/views/NewMessageView.js
@@ -6,13 +6,15 @@ import {
import { connect } from 'react-redux';
import { SafeAreaView } from 'react-navigation';
import equal from 'deep-equal';
+import { orderBy } from 'lodash';
+import { Q } from '@nozbe/watermelondb';
-import database, { safeAddListener } from '../lib/realm';
+import database from '../lib/database';
import RocketChat from '../lib/rocketchat';
import UserItem from '../presentation/UserItem';
-import debounce from '../utils/debounce';
import sharedStyles from './Styles';
import I18n from '../i18n';
+import log from '../utils/log';
import Touch from '../utils/touch';
import { isIOS } from '../utils/deviceInfo';
import SearchBox from '../containers/SearchBox';
@@ -67,24 +69,46 @@ class NewMessageView extends React.Component {
constructor(props) {
super(props);
- this.data = database.objects('subscriptions').filtered('t = $0', 'd').sorted('roomUpdatedAt', true);
+ this.init();
this.state = {
- search: []
+ search: [],
+ chats: []
};
- safeAddListener(this.data, this.updateState);
}
shouldComponentUpdate(nextProps, nextState) {
- const { search } = this.state;
+ const { search, chats } = this.state;
if (!equal(nextState.search, search)) {
return true;
}
+ if (!equal(nextState.chats, chats)) {
+ return true;
+ }
return false;
}
componentWillUnmount() {
- this.updateState.stop();
- this.data.removeAllListeners();
+ if (this.querySubscription && this.querySubscription.unsubscribe) {
+ this.querySubscription.unsubscribe();
+ }
+ }
+
+ // eslint-disable-next-line react/sort-comp
+ init = async() => {
+ try {
+ const db = database.active;
+ const observable = await db.collections
+ .get('subscriptions')
+ .query(Q.where('t', 'd'))
+ .observeWithColumns(['room_updated_at']);
+
+ this.querySubscription = observable.subscribe((data) => {
+ const chats = orderBy(data, ['roomUpdatedAt'], ['desc']);
+ this.setState({ chats });
+ });
+ } catch (e) {
+ log(e);
+ }
}
onSearchChangeText(text) {
@@ -102,11 +126,6 @@ class NewMessageView extends React.Component {
return navigation.pop();
}
- // eslint-disable-next-line react/sort-comp
- updateState = debounce(() => {
- this.forceUpdate();
- }, 1000);
-
search = async(text) => {
const result = await RocketChat.search({ text, filterRooms: false });
this.setState({
@@ -134,7 +153,7 @@ class NewMessageView extends React.Component {
renderSeparator = () => ;
renderItem = ({ item, index }) => {
- const { search } = this.state;
+ const { search, chats } = this.state;
const { baseUrl, user } = this.props;
let style = {};
@@ -144,7 +163,7 @@ class NewMessageView extends React.Component {
if (search.length > 0 && index === search.length - 1) {
style = { ...style, ...sharedStyles.separatorBottom };
}
- if (search.length === 0 && index === this.data.length - 1) {
+ if (search.length === 0 && index === chats.length - 1) {
style = { ...style, ...sharedStyles.separatorBottom };
}
return (
@@ -161,10 +180,10 @@ class NewMessageView extends React.Component {
}
renderList = () => {
- const { search } = this.state;
+ const { search, chats } = this.state;
return (
0 ? search : this.data}
+ data={search.length > 0 ? search : chats}
extraData={this.state}
keyExtractor={item => item._id}
ListHeaderComponent={this.renderHeader}
diff --git a/app/views/NotificationPreferencesView/index.js b/app/views/NotificationPreferencesView/index.js
index bb77addd9..d5e3f6058 100644
--- a/app/views/NotificationPreferencesView/index.js
+++ b/app/views/NotificationPreferencesView/index.js
@@ -14,7 +14,6 @@ import I18n from '../../i18n';
import scrollPersistTaps from '../../utils/scrollPersistTaps';
import styles from './styles';
import sharedStyles from '../Styles';
-import database from '../../lib/realm';
import RocketChat from '../../lib/rocketchat';
import log from '../../utils/log';
@@ -112,13 +111,37 @@ export default class NotificationPreferencesView extends React.Component {
constructor(props) {
super(props);
+ this.mounted = false;
this.rid = props.navigation.getParam('rid');
- this.rooms = database.objects('subscriptions').filtered('rid = $0', this.rid);
+ const room = props.navigation.getParam('room');
+
+ if (room && room.observe) {
+ this.roomObservable = room.observe();
+ this.subscription = this.roomObservable
+ .subscribe((changes) => {
+ if (this.mounted) {
+ this.setState({ room: changes });
+ } else {
+ this.state.room = changes;
+ }
+ });
+ }
+
this.state = {
- room: JSON.parse(JSON.stringify(this.rooms[0] || {}))
+ room: room || {}
};
}
+ componentDidMount() {
+ this.mounted = true;
+ }
+
+ componentWillUnmount() {
+ if (this.subscription && this.subscription.unsubscribe) {
+ this.subscription.unsubscribe();
+ }
+ }
+
onValueChangeSwitch = async(key, value) => {
const { room: newRoom } = this.state;
newRoom[key] = value;
diff --git a/app/views/RoomActionsView/index.js b/app/views/RoomActionsView/index.js
index fb7c03192..b039fe17d 100644
--- a/app/views/RoomActionsView/index.js
+++ b/app/views/RoomActionsView/index.js
@@ -5,7 +5,6 @@ import {
} from 'react-native';
import { connect } from 'react-redux';
import { SafeAreaView } from 'react-navigation';
-import equal from 'deep-equal';
import { leaveRoom as leaveRoomAction } from '../../actions/room';
import styles from './styles';
@@ -13,7 +12,6 @@ import sharedStyles from '../Styles';
import Avatar from '../../containers/Avatar';
import Status from '../../containers/Status';
import Touch from '../../utils/touch';
-import database, { safeAddListener } from '../../lib/realm';
import RocketChat from '../../lib/rocketchat';
import log from '../../utils/log';
import RoomTypeIcon from '../../containers/RoomTypeIcon';
@@ -43,22 +41,38 @@ class RoomActionsView extends React.Component {
constructor(props) {
super(props);
+ this.mounted = false;
+ const room = props.navigation.getParam('room');
+
+ if (room && room.observe) {
+ this.roomObservable = room.observe();
+ this.subscription = this.roomObservable
+ .subscribe((changes) => {
+ if (this.mounted) {
+ this.setState({ room: changes });
+ } else {
+ this.state.room = changes;
+ }
+ });
+ }
+
this.rid = props.navigation.getParam('rid');
this.t = props.navigation.getParam('t');
- this.rooms = database.objects('subscriptions').filtered('rid = $0', this.rid);
this.state = {
- room: this.rooms[0] || { rid: this.rid, t: this.t },
+ room: room || { rid: this.rid, t: this.t },
membersCount: 0,
member: {},
- joined: this.rooms.length > 0,
+ joined: !!room,
canViewMembers: false,
- canAutoTranslate: false
+ canAutoTranslate: false,
+ canAddUser: false
};
}
async componentDidMount() {
+ this.mounted = true;
const { room } = this.state;
- if (!room._id) {
+ if (!room.id) {
try {
const result = await RocketChat.getChannelInfo(room.rid);
if (result.success) {
@@ -69,7 +83,7 @@ class RoomActionsView extends React.Component {
}
}
- if (room && room.t !== 'd' && this.canViewMembers) {
+ if (room && room.t !== 'd' && this.canViewMembers()) {
try {
const counters = await RocketChat.getRoomCounters(room.rid, room.t);
if (counters.success) {
@@ -82,36 +96,16 @@ class RoomActionsView extends React.Component {
this.updateRoomMember();
}
- const canAutoTranslate = RocketChat.canAutoTranslate();
+ const canAutoTranslate = await RocketChat.canAutoTranslate();
this.setState({ canAutoTranslate });
- safeAddListener(this.rooms, this.updateRoom);
- }
-
- shouldComponentUpdate(nextProps, nextState) {
- const {
- room, membersCount, member, joined, canViewMembers
- } = this.state;
- if (nextState.membersCount !== membersCount) {
- return true;
- }
- if (nextState.joined !== joined) {
- return true;
- }
- if (nextState.canViewMembers !== canViewMembers) {
- return true;
- }
- if (!equal(nextState.room, room)) {
- return true;
- }
- if (!equal(nextState.member, member)) {
- return true;
- }
- return false;
+ this.canAddUser();
}
componentWillUnmount() {
- this.rooms.removeAllListeners();
+ if (this.subscription && this.subscription.unsubscribe) {
+ this.subscription.unsubscribe();
+ }
}
onPressTouchable = (item) => {
@@ -125,32 +119,37 @@ class RoomActionsView extends React.Component {
}
// TODO: move to componentDidMount
- get canAddUser() {
+ // eslint-disable-next-line react/sort-comp
+ canAddUser = async() => {
const { room, joined } = this.state;
const { rid, t } = room;
+ let canAdd = false;
const userInRoom = joined;
- const permissions = RocketChat.hasPermission(['add-user-to-joined-room', 'add-user-to-any-c-room', 'add-user-to-any-p-room'], rid);
+ const permissions = await RocketChat.hasPermission(['add-user-to-joined-room', 'add-user-to-any-c-room', 'add-user-to-any-p-room'], rid);
- if (userInRoom && permissions['add-user-to-joined-room']) {
- return true;
+ if (permissions) {
+ if (userInRoom && permissions['add-user-to-joined-room']) {
+ canAdd = true;
+ }
+ if (t === 'c' && permissions['add-user-to-any-c-room']) {
+ canAdd = true;
+ }
+ if (t === 'p' && permissions['add-user-to-any-p-room']) {
+ canAdd = true;
+ }
}
- if (t === 'c' && permissions['add-user-to-any-c-room']) {
- return true;
- }
- if (t === 'p' && permissions['add-user-to-any-p-room']) {
- return true;
- }
- return false;
+ this.setState({ canAddUser: canAdd });
}
// TODO: move to componentDidMount
- get canViewMembers() {
+ // eslint-disable-next-line react/sort-comp
+ canViewMembers = async() => {
const { room } = this.state;
const { rid, t, broadcast } = room;
if (broadcast) {
const viewBroadcastMemberListPermission = 'view-broadcast-member-list';
- const permissions = RocketChat.hasPermission([viewBroadcastMemberListPermission], rid);
+ const permissions = await RocketChat.hasPermission([viewBroadcastMemberListPermission], rid);
if (!permissions[viewBroadcastMemberListPermission]) {
return false;
}
@@ -165,7 +164,7 @@ class RoomActionsView extends React.Component {
get sections() {
const {
- room, membersCount, canViewMembers, joined, canAutoTranslate
+ room, membersCount, canViewMembers, canAddUser, joined, canAutoTranslate
} = this.state;
const {
rid, t, blocker
@@ -175,7 +174,7 @@ class RoomActionsView extends React.Component {
icon: 'bell',
name: I18n.t('Notifications'),
route: 'NotificationPrefView',
- params: { rid },
+ params: { rid, room },
testID: 'room-actions-notifications'
};
@@ -185,7 +184,7 @@ class RoomActionsView extends React.Component {
name: I18n.t('Room_Info'),
route: 'RoomInfoView',
// forward room only if room isn't joined
- params: { rid, t },
+ params: { rid, t, room },
testID: 'room-actions-info'
}],
renderItem: this.renderRoomInfo
@@ -257,7 +256,7 @@ class RoomActionsView extends React.Component {
icon: 'language',
name: I18n.t('Auto_Translate'),
route: 'AutoTranslateView',
- params: { rid },
+ params: { rid, room },
testID: 'room-actions-auto-translate'
});
}
@@ -285,12 +284,12 @@ class RoomActionsView extends React.Component {
name: I18n.t('Members'),
description: membersCount > 0 ? `${ membersCount } ${ I18n.t('members') }` : null,
route: 'RoomMembersView',
- params: { rid },
+ params: { rid, room },
testID: 'room-actions-members'
});
}
- if (this.canAddUser) {
+ if (canAddUser) {
actions.push({
icon: 'user-plus',
name: I18n.t('Add_user'),
@@ -324,12 +323,6 @@ class RoomActionsView extends React.Component {
return sections;
}
- updateRoom = () => {
- if (this.rooms.length > 0) {
- this.setState({ room: JSON.parse(JSON.stringify(this.rooms[0])) });
- }
- }
-
updateRoomMember = async() => {
const { room } = this.state;
const { rid } = room;
diff --git a/app/views/RoomInfoEditView/index.js b/app/views/RoomInfoEditView/index.js
index 400875d17..8bb3da77b 100644
--- a/app/views/RoomInfoEditView/index.js
+++ b/app/views/RoomInfoEditView/index.js
@@ -7,6 +7,7 @@ import { connect } from 'react-redux';
import { SafeAreaView } from 'react-navigation';
import equal from 'deep-equal';
+import database from '../../lib/database';
import { eraseRoom as eraseRoomAction } from '../../actions/room';
import KeyboardView from '../../presentation/KeyboardView';
import sharedStyles from '../Styles';
@@ -15,7 +16,6 @@ import scrollPersistTaps from '../../utils/scrollPersistTaps';
import { showErrorAlert } from '../../utils/info';
import { LISTENER } from '../../containers/Toast';
import EventEmitter from '../../utils/events';
-import database, { safeAddListener } from '../../lib/realm';
import RocketChat from '../../lib/rocketchat';
import RCTextInput from '../../containers/TextInput';
import Loading from '../../containers/Loading';
@@ -52,11 +52,9 @@ class RoomInfoEditView extends React.Component {
constructor(props) {
super(props);
- const rid = props.navigation.getParam('rid');
- this.rooms = database.objects('subscriptions').filtered('rid = $0', rid);
- this.permissions = {};
this.state = {
- room: JSON.parse(JSON.stringify(this.rooms[0] || {})),
+ room: {},
+ permissions: {},
name: '',
description: '',
topic: '',
@@ -66,27 +64,16 @@ class RoomInfoEditView extends React.Component {
saving: false,
t: false,
ro: false,
- reactWhenReadOnly: false
+ reactWhenReadOnly: false,
+ archived: false
};
- }
-
-
- componentDidMount() {
- this.updateRoom();
- this.init();
- safeAddListener(this.rooms, this.updateRoom);
- const { room } = this.state;
- this.permissions = RocketChat.hasPermission(PERMISSIONS_ARRAY, room.rid);
+ this.loadRoom();
}
shouldComponentUpdate(nextProps, nextState) {
- const { room } = this.state;
if (!equal(nextState, this.state)) {
return true;
}
- if (!equal(nextState.room, room)) {
- return true;
- }
if (!equal(nextProps, this.props)) {
return true;
}
@@ -94,21 +81,43 @@ class RoomInfoEditView extends React.Component {
}
componentWillUnmount() {
- this.rooms.removeAllListeners();
+ if (this.querySubscription && this.querySubscription.unsubscribe) {
+ this.querySubscription.unsubscribe();
+ }
}
- updateRoom = () => {
- this.setState({ room: JSON.parse(JSON.stringify(this.rooms[0] || {})) });
+ // eslint-disable-next-line react/sort-comp
+ loadRoom = async() => {
+ const { navigation } = this.props;
+ const rid = navigation.getParam('rid', null);
+ if (!rid) {
+ return;
+ }
+ try {
+ const db = database.active;
+ const sub = await db.collections.get('subscriptions').find(rid);
+ const observable = sub.observe();
+
+ this.querySubscription = observable.subscribe((data) => {
+ this.room = data;
+ this.init(this.room);
+ });
+
+ const permissions = await RocketChat.hasPermission(PERMISSIONS_ARRAY, rid);
+ this.setState({ permissions });
+ } catch (e) {
+ log(e);
+ }
}
- init = () => {
- const { room } = this.state;
+ init = (room) => {
const {
name, description, topic, announcement, t, ro, reactWhenReadOnly, joinCodeRequired
} = room;
// fake password just to user knows about it
this.randomValue = random(15);
this.setState({
+ room,
name,
description,
topic,
@@ -116,7 +125,8 @@ class RoomInfoEditView extends React.Component {
t: t === 'p',
ro,
reactWhenReadOnly,
- joinCode: joinCodeRequired ? this.randomValue : ''
+ joinCode: joinCodeRequired ? this.randomValue : '',
+ archived: room.archived
});
}
@@ -128,7 +138,7 @@ class RoomInfoEditView extends React.Component {
reset = () => {
this.clearErrors();
- this.init();
+ this.init(this.room);
}
formIsChanged = () => {
@@ -271,19 +281,20 @@ class RoomInfoEditView extends React.Component {
}
hasDeletePermission = () => {
- const { room } = this.state;
+ const { room, permissions } = this.state;
return (
- room.t === 'p' ? this.permissions[PERMISSION_DELETE_P] : this.permissions[PERMISSION_DELETE_C]
+ room.t === 'p' ? permissions[PERMISSION_DELETE_P] : permissions[PERMISSION_DELETE_C]
);
}
- hasArchivePermission = () => (
- this.permissions[PERMISSION_ARCHIVE] || this.permissions[PERMISSION_UNARCHIVE]
- );
+ hasArchivePermission = () => {
+ const { permissions } = this.state;
+ return (permissions[PERMISSION_ARCHIVE] || permissions[PERMISSION_UNARCHIVE]);
+ };
render() {
const {
- name, nameError, description, topic, announcement, t, ro, reactWhenReadOnly, room, joinCode, saving
+ name, nameError, description, topic, announcement, t, ro, reactWhenReadOnly, room, joinCode, saving, permissions, archived
} = this.state;
return (
this.setState({ ro: value })}
- disabled={!this.permissions[PERMISSION_SET_READONLY] || room.broadcast}
+ disabled={!permissions[PERMISSION_SET_READONLY] || room.broadcast}
testID='room-info-edit-view-ro'
/>
{ro && !room.broadcast
@@ -367,7 +378,7 @@ class RoomInfoEditView extends React.Component {
rightLabelPrimary={I18n.t('Allow_Reactions')}
rightLabelSecondary={I18n.t('Reactions_are_enabled')}
onValueChange={value => this.setState({ reactWhenReadOnly: value })}
- disabled={!this.permissions[PERMISSION_SET_REACT_WHEN_READONLY]}
+ disabled={!permissions[PERMISSION_SET_REACT_WHEN_READONLY]}
testID='room-info-edit-view-react-when-ro'
/>
)
@@ -408,7 +419,7 @@ class RoomInfoEditView extends React.Component {
testID='room-info-edit-view-archive'
>
- { room.archived ? I18n.t('UNARCHIVE') : I18n.t('ARCHIVE') }
+ { archived ? I18n.t('UNARCHIVE') : I18n.t('ARCHIVE') }
diff --git a/app/views/RoomInfoView/index.js b/app/views/RoomInfoView/index.js
index 70aba1071..458ddcc2b 100644
--- a/app/views/RoomInfoView/index.js
+++ b/app/views/RoomInfoView/index.js
@@ -9,7 +9,7 @@ import Status from '../../containers/Status';
import Avatar from '../../containers/Avatar';
import styles from './styles';
import sharedStyles from '../Styles';
-import database, { safeAddListener } from '../../lib/realm';
+import database from '../../lib/database';
import RocketChat from '../../lib/rocketchat';
import RoomTypeIcon from '../../containers/RoomTypeIcon';
import I18n from '../../i18n';
@@ -58,15 +58,13 @@ class RoomInfoView extends React.Component {
constructor(props) {
super(props);
+ const room = props.navigation.getParam('room');
this.rid = props.navigation.getParam('rid');
this.t = props.navigation.getParam('t');
- this.roles = database.objects('roles');
- this.sub = {
- unsubscribe: () => {}
- };
this.state = {
- room: {},
- roomUser: {}
+ room: room || {},
+ roomUser: {},
+ parsedRoles: []
};
}
@@ -77,19 +75,29 @@ class RoomInfoView extends React.Component {
try {
const result = await RocketChat.getUserInfo(roomUserId);
if (result.success) {
- this.setState({ roomUser: result.user });
+ const { roles } = result.user;
+ let parsedRoles = [];
+ if (roles && roles.length) {
+ parsedRoles = await Promise.all(roles.map(async(role) => {
+ const description = await this.getRoleDescription(role);
+ return description;
+ }));
+ }
+ this.setState({ roomUser: result.user, parsedRoles });
}
} catch (e) {
log(e);
}
return;
}
- this.rooms = database.objects('subscriptions').filtered('rid = $0', this.rid);
- safeAddListener(this.rooms, this.updateRoom);
- let room = {};
- if (this.rooms.length > 0) {
- this.setState({ room: this.rooms[0] });
- [room] = this.rooms;
+ const { navigation } = this.props;
+ let room = navigation.getParam('room');
+ if (room && room.observe) {
+ this.roomObservable = room.observe();
+ this.subscription = this.roomObservable
+ .subscribe((changes) => {
+ this.setState({ room: changes });
+ });
} else {
try {
const result = await RocketChat.getRoomInfo(this.rid);
@@ -102,29 +110,34 @@ class RoomInfoView extends React.Component {
log(e);
}
}
- const permissions = RocketChat.hasPermission([PERMISSION_EDIT_ROOM], room.rid);
+ const permissions = await RocketChat.hasPermission([PERMISSION_EDIT_ROOM], room.rid);
if (permissions[PERMISSION_EDIT_ROOM] && !room.prid) {
- const { navigation } = this.props;
navigation.setParams({ showEdit: true });
}
}
- getRoleDescription = (id) => {
- const role = database.objectForPrimaryKey('roles', id);
- if (role) {
- return role.description;
+ componentWillUnmount() {
+ if (this.subscription && this.subscription.unsubscribe) {
+ this.subscription.unsubscribe();
+ }
+ }
+
+ getRoleDescription = async(id) => {
+ const db = database.active;
+ try {
+ const rolesCollection = db.collections.get('roles');
+ const role = await rolesCollection.find(id);
+ if (role) {
+ return role.description;
+ }
+ return null;
+ } catch (e) {
+ return null;
}
- return null;
}
isDirect = () => this.t === 'd'
- updateRoom = () => {
- if (this.rooms.length > 0) {
- this.setState({ room: JSON.parse(JSON.stringify(this.rooms[0])) });
- }
- }
-
renderItem = (key, room) => (
{I18n.t(camelize(key))}
@@ -136,12 +149,11 @@ class RoomInfoView extends React.Component {
);
- renderRole = (role) => {
- const description = this.getRoleDescription(role);
+ renderRole = (description) => {
if (description) {
return (
-
- { this.getRoleDescription(role) }
+
+ { description }
);
}
@@ -149,13 +161,13 @@ class RoomInfoView extends React.Component {
}
renderRoles = () => {
- const { roomUser } = this.state;
- if (roomUser && roomUser.roles && roomUser.roles.length) {
+ const { parsedRoles } = this.state;
+ if (parsedRoles && parsedRoles.length) {
return (
{I18n.t('Roles')}
- {roomUser.roles.map(role => this.renderRole(role))}
+ {parsedRoles.map(role => this.renderRole(role))}
);
diff --git a/app/views/RoomMembersView/index.js b/app/views/RoomMembersView/index.js
index 72501c754..786059b8a 100644
--- a/app/views/RoomMembersView/index.js
+++ b/app/views/RoomMembersView/index.js
@@ -4,14 +4,14 @@ import { FlatList, View, ActivityIndicator } from 'react-native';
import ActionSheet from 'react-native-action-sheet';
import { connect } from 'react-redux';
import { SafeAreaView } from 'react-navigation';
-import equal from 'deep-equal';
import * as Haptics from 'expo-haptics';
+import { Q } from '@nozbe/watermelondb';
import styles from './styles';
import UserItem from '../../presentation/UserItem';
import scrollPersistTaps from '../../utils/scrollPersistTaps';
import RocketChat from '../../lib/rocketchat';
-import database, { safeAddListener } from '../../lib/realm';
+import database from '../../lib/database';
import { LISTENER } from '../../containers/Toast';
import EventEmitter from '../../utils/events';
import log from '../../utils/log';
@@ -52,13 +52,25 @@ class RoomMembersView extends React.Component {
constructor(props) {
super(props);
-
+ this.mounted = false;
this.CANCEL_INDEX = 0;
this.MUTE_INDEX = 1;
this.actionSheetOptions = [''];
const { rid } = props.navigation.state.params;
- this.rooms = database.objects('subscriptions').filtered('rid = $0', rid);
- this.permissions = RocketChat.hasPermission(['mute-user'], rid);
+
+ const room = props.navigation.getParam('room');
+ if (room && room.observe) {
+ this.roomObservable = room.observe();
+ this.subscription = this.roomObservable
+ .subscribe((changes) => {
+ if (this.mounted) {
+ this.setState({ room: changes });
+ } else {
+ this.state.room = changes;
+ }
+ });
+ }
+
this.state = {
isLoading: false,
allUsers: false,
@@ -67,53 +79,25 @@ class RoomMembersView extends React.Component {
members: [],
membersFiltered: [],
userLongPressed: {},
- room: this.rooms[0] || {},
- options: [],
+ room: room || {},
end: false
};
}
- componentDidMount() {
+ async componentDidMount() {
+ this.mounted = true;
this.fetchMembers();
- safeAddListener(this.rooms, this.updateRoom);
const { navigation } = this.props;
+ const { rid } = navigation.state.params;
navigation.setParams({ toggleStatus: this.toggleStatus });
- }
-
- shouldComponentUpdate(nextProps, nextState) {
- const {
- allUsers, filtering, members, membersFiltered, userLongPressed, room, options, isLoading
- } = this.state;
- if (nextState.allUsers !== allUsers) {
- return true;
- }
- if (nextState.filtering !== filtering) {
- return true;
- }
- if (!equal(nextState.members, members)) {
- return true;
- }
- if (!equal(nextState.options, options)) {
- return true;
- }
- if (!equal(nextState.membersFiltered, membersFiltered)) {
- return true;
- }
- if (!equal(nextState.userLongPressed, userLongPressed)) {
- return true;
- }
- if (!equal(nextState.room.muted, room.muted)) {
- return true;
- }
- if (isLoading !== nextState.isLoading) {
- return true;
- }
- return false;
+ this.permissions = await RocketChat.hasPermission(['mute-user'], rid);
}
componentWillUnmount() {
- this.rooms.removeAllListeners();
+ if (this.subscription && this.subscription.unsubscribe) {
+ this.subscription.unsubscribe();
+ }
}
onSearchChangeText = protectedFunction((text) => {
@@ -128,9 +112,12 @@ class RoomMembersView extends React.Component {
onPressUser = async(item) => {
try {
- const subscriptions = database.objects('subscriptions').filtered('name = $0', item.username);
- if (subscriptions.length) {
- this.goRoom({ rid: subscriptions[0].rid, name: item.username });
+ const db = database.active;
+ const subsCollection = db.collections.get('subscriptions');
+ const query = await subsCollection.query(Q.where('name', item.username)).fetch();
+ if (query) {
+ const [room] = query;
+ this.goRoom({ rid: room.rid, name: item.username, room });
} else {
const result = await RocketChat.createDirectMessage(item.username);
if (result.success) {
@@ -150,7 +137,7 @@ class RoomMembersView extends React.Component {
const { muted } = room;
this.actionSheetOptions = [I18n.t('Cancel')];
- const userIsMuted = !!muted.find(m => m === user.username);
+ const userIsMuted = !!(muted || []).find(m => m === user.username);
user.muted = userIsMuted;
if (userIsMuted) {
this.actionSheetOptions.push(I18n.t('Unmute'));
@@ -209,17 +196,12 @@ class RoomMembersView extends React.Component {
}
}
- updateRoom = () => {
- if (this.rooms.length > 0) {
- const [room] = this.rooms;
- this.setState({ room });
- }
- }
-
- goRoom = async({ rid, name }) => {
+ goRoom = async({ rid, name, room }) => {
const { navigation } = this.props;
await navigation.popToTop();
- navigation.navigate('RoomView', { rid, name, t: 'd' });
+ navigation.navigate('RoomView', {
+ rid, name, t: 'd', room
+ });
}
handleMute = async() => {
diff --git a/app/views/RoomView/EmptyRoom.js b/app/views/RoomView/EmptyRoom.js
index 9f65079db..7251e29d7 100644
--- a/app/views/RoomView/EmptyRoom.js
+++ b/app/views/RoomView/EmptyRoom.js
@@ -10,14 +10,15 @@ const styles = StyleSheet.create({
}
});
-const EmptyRoom = React.memo(({ length }) => {
- if (length === 0) {
+const EmptyRoom = React.memo(({ length, mounted }) => {
+ if (length === 0 && mounted) {
return ;
}
return null;
});
EmptyRoom.propTypes = {
- length: PropTypes.number.isRequired
+ length: PropTypes.number.isRequired,
+ mounted: PropTypes.bool
};
export default EmptyRoom;
diff --git a/app/views/RoomView/Header/Header.js b/app/views/RoomView/Header/Header.js
index 574d9a281..0b7b14163 100644
--- a/app/views/RoomView/Header/Header.js
+++ b/app/views/RoomView/Header/Header.js
@@ -47,19 +47,18 @@ const styles = StyleSheet.create({
});
const Typing = React.memo(({ usersTyping }) => {
- const users = usersTyping.map(item => item.username);
let usersText;
- if (!users.length) {
+ if (!usersTyping.length) {
return null;
- } else if (users.length === 2) {
- usersText = users.join(` ${ I18n.t('and') } `);
+ } else if (usersTyping.length === 2) {
+ usersText = usersTyping.join(` ${ I18n.t('and') } `);
} else {
- usersText = users.join(', ');
+ usersText = usersTyping.join(', ');
}
return (
{usersText}
- { users.length > 1 ? I18n.t('are_typing') : I18n.t('is_typing') }...
+ { usersTyping.length > 1 ? I18n.t('are_typing') : I18n.t('is_typing') }...
);
});
diff --git a/app/views/RoomView/Header/RightButtons.js b/app/views/RoomView/Header/RightButtons.js
index b7638761b..aca52a726 100644
--- a/app/views/RoomView/Header/RightButtons.js
+++ b/app/views/RoomView/Header/RightButtons.js
@@ -4,7 +4,7 @@ import PropTypes from 'prop-types';
import { connect } from 'react-redux';
import { CustomHeaderButtons, Item } from '../../../containers/HeaderButton';
-import database, { safeAddListener } from '../../../lib/realm';
+import database from '../../../lib/database';
const styles = StyleSheet.create({
more: {
@@ -27,29 +27,33 @@ class RightButtonsContainer extends React.PureComponent {
t: PropTypes.string,
tmid: PropTypes.string,
navigation: PropTypes.object,
- toggleFollowThread: PropTypes.func
+ toggleFollowThread: PropTypes.func,
+ room: PropTypes.object
};
constructor(props) {
super(props);
- if (props.tmid) {
- // FIXME: it may be empty if the thread header isn't fetched yet
- this.thread = database.objectForPrimaryKey('messages', props.tmid);
- }
this.state = {
isFollowingThread: true
};
}
- componentDidMount() {
- if (this.thread) {
- safeAddListener(this.thread, this.updateThread);
+ async componentDidMount() {
+ const { tmid, userId } = this.props;
+ if (tmid) {
+ const db = database.active;
+ const threadObservable = await db.collections.get('messages').findAndObserve(tmid);
+ this.threadSubscription = threadObservable.subscribe((thread) => {
+ this.setState({
+ isFollowingThread: thread.replies && !!thread.replies.find(t => t === userId)
+ });
+ });
}
}
componentWillUnmount() {
- if (this.thread && this.thread.removeAllListeners) {
- this.thread.removeAllListeners();
+ if (this.threadSubscription && this.threadSubscription.unsubscribe) {
+ this.threadSubscription.unsubscribe();
}
}
@@ -66,8 +70,10 @@ class RightButtonsContainer extends React.PureComponent {
}
goRoomActionsView = () => {
- const { rid, t, navigation } = this.props;
- navigation.navigate('RoomActionsView', { rid, t });
+ const {
+ rid, t, navigation, room
+ } = this.props;
+ navigation.navigate('RoomActionsView', { rid, t, room });
}
toggleFollowThread = () => {
diff --git a/app/views/RoomView/Header/index.js b/app/views/RoomView/Header/index.js
index 7cf999b1f..311eafb84 100644
--- a/app/views/RoomView/Header/index.js
+++ b/app/views/RoomView/Header/index.js
@@ -4,7 +4,6 @@ import { connect } from 'react-redux';
import { responsive } from 'react-native-responsive-ui';
import equal from 'deep-equal';
-import database, { safeAddListener } from '../../../lib/realm';
import Header from './Header';
import RightButtons from './RightButtons';
@@ -14,32 +13,15 @@ class RoomHeaderView extends Component {
type: PropTypes.string,
prid: PropTypes.string,
tmid: PropTypes.string,
- rid: PropTypes.string,
+ usersTyping: PropTypes.string,
window: PropTypes.object,
status: PropTypes.string,
connecting: PropTypes.bool,
- widthOffset: PropTypes.number,
- isLoggedUser: PropTypes.bool,
- userId: PropTypes.string
+ widthOffset: PropTypes.number
};
- constructor(props) {
- super(props);
- this.usersTyping = database.memoryDatabase.objects('usersTyping').filtered('rid = $0', props.rid);
- this.user = [];
- if (props.type === 'd' && !props.isLoggedUser) {
- this.user = database.memoryDatabase.objects('activeUsers').filtered('id == $0', props.userId);
- safeAddListener(this.user, this.updateUser);
- }
- this.state = {
- usersTyping: this.usersTyping.slice() || [],
- user: this.user[0] || {}
- };
- this.usersTyping.addListener(this.updateState);
- }
-
- shouldComponentUpdate(nextProps, nextState) {
- const { usersTyping, user } = this.state;
+ shouldComponentUpdate(nextProps) {
+ const { usersTyping } = this.props;
const {
type, title, status, window, connecting
} = this.props;
@@ -61,46 +43,16 @@ class RoomHeaderView extends Component {
if (nextProps.window.height !== window.height) {
return true;
}
- if (!equal(nextState.usersTyping, usersTyping)) {
- return true;
- }
- if (!equal(nextState.user, user)) {
+ if (!equal(nextProps.usersTyping, usersTyping)) {
return true;
}
return false;
}
- componentWillUnmount() {
- this.usersTyping.removeAllListeners();
- if (this.user && this.user.removeAllListeners) {
- this.user.removeAllListeners();
- }
- }
-
- updateState = () => {
- this.setState({ usersTyping: this.usersTyping.slice() });
- }
-
- updateUser = () => {
- if (this.user.length) {
- this.setState({ user: this.user[0] });
- }
- }
-
render() {
- const { usersTyping, user } = this.state;
const {
- window, title, type, prid, tmid, widthOffset, isLoggedUser, status: userStatus, connecting
+ window, title, type, prid, tmid, widthOffset, status = 'offline', connecting, usersTyping
} = this.props;
- let status = 'offline';
-
- if (type === 'd') {
- if (isLoggedUser) {
- status = userStatus;
- } else {
- status = user.status || 'offline';
- }
- }
return (
{
let status;
- let userId;
- let isLoggedUser = false;
const { rid, type } = ownProps;
if (type === 'd') {
if (state.login.user && state.login.user.id) {
const { id: loggedUserId } = state.login.user;
- userId = rid.replace(loggedUserId, '').trim();
- isLoggedUser = userId === loggedUserId;
- if (isLoggedUser) {
- status = state.login.user.status; // eslint-disable-line
- }
+ const userId = rid.replace(loggedUserId, '').trim();
+ status = state.activeUsers[userId];
}
}
return {
connecting: state.meteor.connecting,
- userId,
- isLoggedUser,
+ usersTyping: state.usersTyping,
status
};
};
diff --git a/app/views/RoomView/List.js b/app/views/RoomView/List.js
index e75f3a5b4..3ed35e2a0 100644
--- a/app/views/RoomView/List.js
+++ b/app/views/RoomView/List.js
@@ -1,88 +1,134 @@
import React from 'react';
-import { ActivityIndicator, FlatList, InteractionManager } from 'react-native';
+import {
+ ActivityIndicator, FlatList, InteractionManager, LayoutAnimation
+} from 'react-native';
import PropTypes from 'prop-types';
import debounce from 'lodash/debounce';
+import orderBy from 'lodash/orderBy';
+import { Q } from '@nozbe/watermelondb';
+import isEqual from 'lodash/isEqual';
import styles from './styles';
-import database, { safeAddListener } from '../../lib/realm';
+import database from '../../lib/database';
import scrollPersistTaps from '../../utils/scrollPersistTaps';
import RocketChat from '../../lib/rocketchat';
import log from '../../utils/log';
import EmptyRoom from './EmptyRoom';
+import { isIOS } from '../../utils/deviceInfo';
-export class List extends React.PureComponent {
+export class List extends React.Component {
static propTypes = {
onEndReached: PropTypes.func,
renderFooter: PropTypes.func,
renderRow: PropTypes.func,
rid: PropTypes.string,
t: PropTypes.string,
- tmid: PropTypes.string
+ tmid: PropTypes.string,
+ animated: PropTypes.bool
};
constructor(props) {
super(props);
console.time(`${ this.constructor.name } init`);
console.time(`${ this.constructor.name } mount`);
- if (props.tmid) {
- this.data = database
- .objects('threadMessages')
- .filtered('rid = $0', props.tmid)
- .sorted('ts', true);
- this.threads = database.objects('threads').filtered('_id = $0', props.tmid);
- } else {
- this.data = database
- .objects('messages')
- .filtered('rid = $0', props.rid)
- .sorted('ts', true);
- this.threads = database.objects('threads').filtered('rid = $0', props.rid);
- }
+ this.mounted = false;
this.state = {
loading: true,
end: false,
- messages: this.data.slice(),
- threads: this.threads.slice()
+ messages: []
};
-
- safeAddListener(this.data, this.updateState);
+ this.init();
console.timeEnd(`${ this.constructor.name } init`);
}
componentDidMount() {
+ this.mounted = true;
console.timeEnd(`${ this.constructor.name } mount`);
}
- componentWillUnmount() {
- this.data.removeAllListeners();
- this.threads.removeAllListeners();
- if (this.updateState && this.updateState.stop) {
- this.updateState.stop();
+ // eslint-disable-next-line react/sort-comp
+ async init() {
+ const { rid, tmid } = this.props;
+ const db = database.active;
+
+ if (tmid) {
+ try {
+ this.thread = await db.collections
+ .get('threads')
+ .find(tmid);
+ } catch (e) {
+ console.log(e);
+ }
+ this.messagesObservable = db.collections
+ .get('thread_messages')
+ .query(
+ Q.where('rid', tmid)
+ )
+ .observeWithColumns(['_updated_at']);
+ } else {
+ this.messagesObservable = db.collections
+ .get('messages')
+ .query(
+ Q.where('rid', rid)
+ )
+ .observeWithColumns(['_updated_at']);
}
- if (this.interactionManagerState && this.interactionManagerState.cancel) {
- this.interactionManagerState.cancel();
+
+ this.messagesSubscription = this.messagesObservable
+ .subscribe((data) => {
+ this.interaction = InteractionManager.runAfterInteractions(() => {
+ if (tmid) {
+ data = [this.thread, ...data];
+ }
+ const messages = orderBy(data, ['ts'], ['desc']);
+ if (this.mounted) {
+ LayoutAnimation.easeInEaseOut();
+ this.setState({ messages });
+ } else {
+ this.state.messages = messages;
+ }
+ });
+ });
+ }
+
+ // this.state.loading works for this.onEndReached and RoomView.init
+ static getDerivedStateFromProps(props, state) {
+ if (props.loading !== state.loading) {
+ return {
+ loading: props.loading
+ };
+ }
+ return null;
+ }
+
+ shouldComponentUpdate(nextProps, nextState) {
+ const { messages, loading, end } = this.state;
+ if (loading !== nextState.loading) {
+ return true;
+ }
+ if (end !== nextState.end) {
+ return true;
+ }
+ if (!isEqual(messages, nextState.messages)) {
+ return true;
+ }
+ return false;
+ }
+
+ componentWillUnmount() {
+ if (this.messagesSubscription && this.messagesSubscription.unsubscribe) {
+ this.messagesSubscription.unsubscribe();
+ }
+ if (this.interaction && this.interaction.cancel) {
+ this.interaction.cancel();
+ }
+ if (this.onEndReached && this.onEndReached.stop) {
+ this.onEndReached.stop();
}
console.countReset(`${ this.constructor.name }.render calls`);
}
- // eslint-disable-next-line react/sort-comp
- updateState = debounce(() => {
- this.interactionManagerState = InteractionManager.runAfterInteractions(() => {
- const { tmid } = this.props;
- let messages = this.data;
- if (tmid && this.threads[0]) {
- const thread = { ...this.threads[0] };
- thread.tlm = null;
- messages = [...messages, thread];
- }
- this.setState({
- messages: messages.slice(),
- threads: this.threads.slice(),
- loading: false
- });
- });
- }, 300, { leading: true });
-
onEndReached = debounce(async() => {
const {
loading, end, messages
@@ -97,7 +143,7 @@ export class List extends React.PureComponent {
let result;
if (tmid) {
// `offset` is `messages.length - 1` because we append thread start to `messages` obj
- result = await RocketChat.loadThreadMessages({ tmid, offset: messages.length - 1 });
+ result = await RocketChat.loadThreadMessages({ tmid, rid, offset: messages.length - 1 });
} else {
result = await RocketChat.loadMessagesForRoom({ rid, t, latest: messages[messages.length - 1].ts });
}
@@ -118,15 +164,8 @@ export class List extends React.PureComponent {
}
renderItem = ({ item, index }) => {
- const { messages, threads } = this.state;
+ const { messages } = this.state;
const { renderRow } = this.props;
- if (item.tmid) {
- const thread = threads.find(t => t._id === item.tmid);
- if (thread) {
- const tmsg = thread.msg || (thread.attachments && thread.attachments.length && thread.attachments[0].title);
- item = { ...item, tmsg };
- }
- }
return renderRow(item, messages[index + 1]);
}
@@ -134,19 +173,19 @@ export class List extends React.PureComponent {
console.count(`${ this.constructor.name }.render calls`);
const { messages } = this.state;
return (
-
-
+ <>
+
this.list = ref}
- keyExtractor={item => item._id}
+ keyExtractor={item => item.id}
data={messages}
extraData={this.state}
renderItem={this.renderItem}
contentContainerStyle={styles.contentContainer}
style={styles.list}
inverted
- removeClippedSubviews
+ removeClippedSubviews={isIOS}
initialNumToRender={7}
onEndReached={this.onEndReached}
onEndReachedThreshold={5}
@@ -155,7 +194,7 @@ export class List extends React.PureComponent {
ListFooterComponent={this.renderFooter}
{...scrollPersistTaps}
/>
-
+ >
);
}
}
diff --git a/app/views/RoomView/ReactionPicker.js b/app/views/RoomView/ReactionPicker.js
index 8c72cfd4d..ca138cc43 100644
--- a/app/views/RoomView/ReactionPicker.js
+++ b/app/views/RoomView/ReactionPicker.js
@@ -6,7 +6,6 @@ import Modal from 'react-native-modal';
import { responsive } from 'react-native-responsive-ui';
import EmojiPicker from '../../containers/EmojiPicker';
-import { toggleReactionPicker as toggleReactionPickerAction } from '../../actions/messages';
import styles from './styles';
import { isAndroid } from '../../utils/deviceInfo';
@@ -17,36 +16,37 @@ class ReactionPicker extends React.Component {
static propTypes = {
baseUrl: PropTypes.string.isRequired,
window: PropTypes.any,
- showReactionPicker: PropTypes.bool,
- toggleReactionPicker: PropTypes.func,
+ message: PropTypes.object,
+ show: PropTypes.bool,
+ reactionClose: PropTypes.func,
onEmojiSelected: PropTypes.func
};
shouldComponentUpdate(nextProps) {
- const { showReactionPicker, window } = this.props;
- return nextProps.showReactionPicker !== showReactionPicker || window.width !== nextProps.window.width;
+ const { show, window } = this.props;
+ return nextProps.show !== show || window.width !== nextProps.window.width;
}
onEmojiSelected(emoji, shortname) {
// standard emojis: `emoji` is unicode and `shortname` is :joy:
// custom emojis: only `emoji` is returned with shortname type (:joy:)
// to set reactions, we need shortname type
- const { onEmojiSelected } = this.props;
- onEmojiSelected(shortname || emoji);
+ const { onEmojiSelected, message } = this.props;
+ onEmojiSelected(shortname || emoji, message.id);
}
render() {
const {
- window: { width, height }, showReactionPicker, baseUrl, toggleReactionPicker
+ window: { width, height }, show, baseUrl, reactionClose
} = this.props;
- return (showReactionPicker
+ return (show
? (
toggleReactionPicker()}
- onBackButtonPress={() => toggleReactionPicker()}
+ onBackdropPress={reactionClose}
+ onBackButtonPress={reactionClose}
animationIn='fadeIn'
animationOut='fadeOut'
>
@@ -69,12 +69,7 @@ class ReactionPicker extends React.Component {
}
const mapStateToProps = state => ({
- showReactionPicker: state.messages.showReactionPicker,
baseUrl: state.settings.Site_Url || state.server ? state.server.server : ''
});
-const mapDispatchToProps = dispatch => ({
- toggleReactionPicker: message => dispatch(toggleReactionPickerAction(message))
-});
-
-export default responsive(connect(mapStateToProps, mapDispatchToProps)(ReactionPicker));
+export default responsive(connect(mapStateToProps)(ReactionPicker));
diff --git a/app/views/RoomView/UploadProgress.js b/app/views/RoomView/UploadProgress.js
index 3c6354111..4ef471dec 100644
--- a/app/views/RoomView/UploadProgress.js
+++ b/app/views/RoomView/UploadProgress.js
@@ -4,9 +4,9 @@ import {
} from 'react-native';
import PropTypes from 'prop-types';
import { responsive } from 'react-native-responsive-ui';
-import equal from 'deep-equal';
+import { Q } from '@nozbe/watermelondb';
-import database, { safeAddListener } from '../../lib/realm';
+import database from '../../lib/database';
import RocketChat from '../../lib/rocketchat';
import log from '../../utils/log';
import I18n from '../../i18n';
@@ -74,47 +74,72 @@ class UploadProgress extends Component {
constructor(props) {
super(props);
+ this.mounted = false;
+ this.ranInitialUploadCheck = false;
+ this.init();
this.state = {
uploads: []
};
- const { rid } = this.props;
- this.uploads = database.objects('uploads').filtered('rid = $0', rid);
- safeAddListener(this.uploads, this.updateUploads);
}
componentDidMount() {
- this.uploads.forEach((u) => {
+ this.mounted = true;
+ }
+
+ componentWillUnmount() {
+ if (this.uploadsSubscription && this.uploadsSubscription.unsubscribe) {
+ this.uploadsSubscription.unsubscribe();
+ }
+ }
+
+ init = () => {
+ const { rid } = this.props;
+
+ const db = database.active;
+ this.uploadsObservable = db.collections
+ .get('uploads')
+ .query(
+ Q.where('rid', rid)
+ )
+ .observeWithColumns(['progress', 'error']);
+
+ this.uploadsSubscription = this.uploadsObservable
+ .subscribe((uploads) => {
+ if (this.mounted) {
+ this.setState({ uploads });
+ } else {
+ this.state.uploads = uploads;
+ }
+ if (!this.ranInitialUploadCheck) {
+ this.uploadCheck();
+ }
+ });
+ }
+
+ uploadCheck = () => {
+ this.ranInitialUploadCheck = true;
+ const { uploads } = this.state;
+ uploads.forEach(async(u) => {
if (!RocketChat.isUploadActive(u.path)) {
- database.write(() => {
- const [upload] = database.objects('uploads').filtered('path = $0', u.path);
- if (upload) {
- upload.error = true;
- }
- });
+ try {
+ await database.database.action(async() => {
+ await u.update(() => {
+ u.error = true;
+ });
+ });
+ } catch (e) {
+ log(e);
+ }
}
});
}
- shouldComponentUpdate(nextProps, nextState) {
- const { uploads } = this.state;
- const { window } = this.props;
- if (nextProps.window.width !== window.width) {
- return true;
- }
- if (!equal(nextState.uploads, uploads)) {
- return true;
- }
- return false;
- }
-
- componentWillUnmount() {
- this.uploads.removeAllListeners();
- }
-
- deleteUpload = (item) => {
- const uploadItem = this.uploads.filtered('path = $0', item.path);
+ deleteUpload = async(item) => {
try {
- database.write(() => database.delete(uploadItem[0]));
+ const db = database.active;
+ await db.action(async() => {
+ await item.destroyPermanently();
+ });
} catch (e) {
log(e);
}
@@ -122,7 +147,7 @@ class UploadProgress extends Component {
cancelUpload = async(item) => {
try {
- await RocketChat.cancelUpload(item.path);
+ await RocketChat.cancelUpload(item);
} catch (e) {
log(e);
}
@@ -132,8 +157,11 @@ class UploadProgress extends Component {
const { rid, baseUrl: server, user } = this.props;
try {
- database.write(() => {
- item.error = false;
+ const db = database.active;
+ await db.action(async() => {
+ await item.update(() => {
+ item.error = false;
+ });
});
await RocketChat.sendFileMessage(rid, item, undefined, server, user);
} catch (e) {
@@ -141,11 +169,6 @@ class UploadProgress extends Component {
}
}
- updateUploads = () => {
- const uploads = this.uploads.map(item => JSON.parse(JSON.stringify(item)));
- this.setState({ uploads });
- }
-
renderItemContent = (item) => {
const { window } = this.props;
@@ -177,6 +200,7 @@ class UploadProgress extends Component {
);
}
+ // TODO: transform into stateless and update based on its own observable changes
renderItem = (item, index) => (
{this.renderItemContent(item)}
diff --git a/app/views/RoomView/index.js b/app/views/RoomView/index.js
index 9667476b5..96cd9c882 100644
--- a/app/views/RoomView/index.js
+++ b/app/views/RoomView/index.js
@@ -1,26 +1,22 @@
import React from 'react';
import PropTypes from 'prop-types';
import {
- Text, View, LayoutAnimation, InteractionManager
+ Text, View, InteractionManager, LayoutAnimation
} from 'react-native';
import { connect } from 'react-redux';
import { RectButton } from 'react-native-gesture-handler';
import { SafeAreaView, HeaderBackButton } from 'react-navigation';
-import equal from 'deep-equal';
+import { sanitizedRaw } from '@nozbe/watermelondb/RawRecord';
import moment from 'moment';
-import EJSON from 'ejson';
import * as Haptics from 'expo-haptics';
+import { Q } from '@nozbe/watermelondb';
+import isEqual from 'lodash/isEqual';
import {
- toggleReactionPicker as toggleReactionPickerAction,
- actionsShow as actionsShowAction,
- errorActionsShow as errorActionsShowAction,
- editCancel as editCancelAction,
- replyCancel as replyCancelAction,
replyBroadcast as replyBroadcastAction
} from '../../actions/messages';
import { List } from './List';
-import database, { safeAddListener } from '../../lib/realm';
+import database from '../../lib/database';
import RocketChat from '../../lib/rocketchat';
import Message from '../../containers/message';
import MessageActions from '../../containers/MessageActions';
@@ -30,7 +26,6 @@ import ReactionPicker from './ReactionPicker';
import UploadProgress from './UploadProgress';
import styles from './styles';
import log from '../../utils/log';
-import { isIOS } from '../../utils/deviceInfo';
import EventEmitter from '../../utils/events';
import I18n from '../../i18n';
import RoomHeaderView, { RightButtons } from './Header';
@@ -38,11 +33,26 @@ import StatusBar from '../../containers/StatusBar';
import Separator from './Separator';
import { COLOR_WHITE, HEADER_BACK } from '../../constants/colors';
import debounce from '../../utils/debounce';
-import buildMessage from '../../lib/methods/helpers/buildMessage';
import FileModal from '../../containers/FileModal';
import ReactionsModal from '../../containers/ReactionsModal';
import { LISTENER } from '../../containers/Toast';
import { isReadOnly, isBlocked } from '../../utils/room';
+import { isIOS } from '../../utils/deviceInfo';
+
+const stateAttrsUpdate = [
+ 'joined',
+ 'lastOpen',
+ 'photoModalVisible',
+ 'reactionsModalVisible',
+ 'canAutoTranslate',
+ 'showActions',
+ 'showErrorActions',
+ 'loading',
+ 'editing',
+ 'replying',
+ 'reacting'
+];
+const roomAttrsUpdate = ['f', 'ro', 'blocked', 'blocker', 'archived', 'muted'];
class RoomView extends React.Component {
static navigationOptions = ({ navigation }) => {
@@ -51,6 +61,7 @@ class RoomView extends React.Component {
const title = navigation.getParam('name');
const t = navigation.getParam('t');
const tmid = navigation.getParam('tmid');
+ const room = navigation.getParam('room');
const toggleFollowThread = navigation.getParam('toggleFollowThread', () => {});
const unreadsCount = navigation.getParam('unreadsCount', null);
return {
@@ -68,6 +79,7 @@ class RoomView extends React.Component {
0,
- room: this.rooms[0] || { rid: this.rid, t: this.t },
+ joined: true,
+ room: room || { rid: this.rid, t: this.t },
+ roomUpdate: {},
lastOpen: null,
photoModalVisible: false,
reactionsModalVisible: false,
selectedAttachment: {},
- selectedMessage: {},
- canAutoTranslate
+ selectedMessage: selectedMessage || {},
+ canAutoTranslate: false,
+ loading: true,
+ showActions: false,
+ showErrorActions: false,
+ editing: false,
+ replying: !!selectedMessage,
+ replyWithMention: false,
+ reacting: false
};
+
+ if (room && room.observe) {
+ this.observeRoom(room);
+ } else {
+ this.findAndObserveRoom(this.rid);
+ }
+
this.beginAnimating = false;
- this.beginAnimatingTimeout = setTimeout(() => this.beginAnimating = true, 300);
+ this.didFocusListener = props.navigation.addListener('didFocus', () => this.beginAnimating = true);
this.messagebox = React.createRef();
this.willBlurListener = props.navigation.addListener('willBlur', () => this.mounted = false);
this.mounted = false;
@@ -141,111 +158,85 @@ class RoomView extends React.Component {
}
componentDidMount() {
+ this.mounted = true;
this.didMountInteraction = InteractionManager.runAfterInteractions(() => {
const { room } = this.state;
const { navigation, isAuthenticated } = this.props;
-
- if (room._id && !this.tmid) {
+ if (room.id && !this.tmid) {
navigation.setParams({ name: this.getRoomTitle(room), t: room.t });
}
if (this.tmid) {
navigation.setParams({ toggleFollowThread: this.toggleFollowThread });
}
-
if (isAuthenticated) {
this.init();
} else {
EventEmitter.addEventListener('connected', this.handleConnected);
}
- safeAddListener(this.rooms, this.updateRoom);
- safeAddListener(this.chats, this.updateUnreadCount);
- this.mounted = true;
+ this.updateUnreadCount();
});
+
console.timeEnd(`${ this.constructor.name } mount`);
}
shouldComponentUpdate(nextProps, nextState) {
- const {
- room, joined, lastOpen, photoModalVisible, reactionsModalVisible, canAutoTranslate
- } = this.state;
- const { showActions, showErrorActions, appState } = this.props;
-
- if (lastOpen !== nextState.lastOpen) {
- return true;
- } else if (photoModalVisible !== nextState.photoModalVisible) {
- return true;
- } else if (reactionsModalVisible !== nextState.reactionsModalVisible) {
- return true;
- } else if (room.ro !== nextState.room.ro) {
- return true;
- } else if (room.f !== nextState.room.f) {
- return true;
- } else if (room.blocked !== nextState.room.blocked) {
- return true;
- } else if (room.blocker !== nextState.room.blocker) {
- return true;
- } else if (room.archived !== nextState.room.archived) {
- return true;
- } else if (joined !== nextState.joined) {
- return true;
- } else if (canAutoTranslate !== nextState.canAutoTranslate) {
- return true;
- } else if (showActions !== nextProps.showActions) {
- return true;
- } else if (showErrorActions !== nextProps.showErrorActions) {
- return true;
- } else if (appState !== nextProps.appState) {
- return true;
- } else if (!equal(room.muted, nextState.room.muted)) {
+ const { state } = this;
+ const { roomUpdate } = state;
+ const { appState } = this.props;
+ if (appState !== nextProps.appState) {
return true;
}
- return false;
+ const stateUpdated = stateAttrsUpdate.some(key => nextState[key] !== state[key]);
+ if (stateUpdated) {
+ return true;
+ }
+ return roomAttrsUpdate.some(key => !isEqual(nextState.roomUpdate[key], roomUpdate[key]));
}
componentDidUpdate(prevProps) {
- const { room } = this.state;
const { appState } = this.props;
if (appState === 'foreground' && appState !== prevProps.appState) {
this.onForegroundInteraction = InteractionManager.runAfterInteractions(() => {
- RocketChat.loadMissedMessages(room).catch(e => console.log(e));
- RocketChat.readMessages(room.rid).catch(e => console.log(e));
+ this.init();
});
}
}
- componentWillUnmount() {
+ async componentWillUnmount() {
+ const { editing, room } = this.state;
+ const db = database.active;
this.mounted = false;
- const { editing, replying } = this.props;
if (!editing && this.messagebox && this.messagebox.current) {
const { text } = this.messagebox.current;
let obj;
if (this.tmid) {
- obj = database.objectForPrimaryKey('threads', this.tmid);
+ try {
+ const threadsCollection = db.collections.get('threads');
+ obj = await threadsCollection.find(this.tmid);
+ } catch (e) {
+ // Do nothing
+ }
} else {
- [obj] = this.rooms;
+ obj = room;
}
if (obj) {
- database.write(() => {
- obj.draftMessage = text;
- });
+ try {
+ await db.action(async() => {
+ await obj.update((r) => {
+ r.draftMessage = text;
+ });
+ });
+ } catch (error) {
+ // Do nothing
+ }
}
}
- this.rooms.removeAllListeners();
- this.chats.removeAllListeners();
if (this.sub && this.sub.stop) {
this.sub.stop();
}
- if (this.beginAnimatingTimeout) {
- clearTimeout(this.beginAnimatingTimeout);
- }
- if (editing) {
- const { editCancel } = this.props;
- editCancel();
- }
- if (replying) {
- const { replyCancel } = this.props;
- replyCancel();
+ if (this.didFocusListener && this.didFocusListener.remove) {
+ this.didFocusListener.remove();
}
if (this.didMountInteraction && this.didMountInteraction.cancel) {
this.didMountInteraction.cancel();
@@ -253,15 +244,18 @@ class RoomView extends React.Component {
if (this.onForegroundInteraction && this.onForegroundInteraction.cancel) {
this.onForegroundInteraction.cancel();
}
- if (this.updateStateInteraction && this.updateStateInteraction.cancel) {
- this.updateStateInteraction.cancel();
- }
if (this.initInteraction && this.initInteraction.cancel) {
this.initInteraction.cancel();
}
if (this.willBlurListener && this.willBlurListener.remove) {
this.willBlurListener.remove();
}
+ if (this.subSubscription && this.subSubscription.unsubscribe) {
+ this.subSubscription.unsubscribe();
+ }
+ if (this.queryUnreads && this.queryUnreads.unsubscribe) {
+ this.queryUnreads.unsubscribe();
+ }
EventEmitter.removeListener('connected', this.handleConnected);
console.countReset(`${ this.constructor.name }.render calls`);
}
@@ -269,38 +263,135 @@ class RoomView extends React.Component {
// eslint-disable-next-line react/sort-comp
init = () => {
try {
+ this.setState({ loading: true });
this.initInteraction = InteractionManager.runAfterInteractions(async() => {
- const { room } = this.state;
+ const { room, joined } = this.state;
if (this.tmid) {
await this.getThreadMessages();
} else {
+ const newLastOpen = new Date();
await this.getMessages(room);
// if room is joined
- if (room._id) {
+ if (joined) {
if (room.alert || room.unread || room.userMentions) {
this.setLastOpen(room.ls);
} else {
this.setLastOpen(null);
}
- RocketChat.readMessages(room.rid).catch(e => console.log(e));
+ RocketChat.readMessages(room.rid, newLastOpen).catch(e => console.log(e));
this.sub = await RocketChat.subscribeRoom(room);
}
}
// We run `canAutoTranslate` again in order to refetch auto translate permission
// in case of a missing connection or poor connection on room open
- const canAutoTranslate = RocketChat.canAutoTranslate();
- this.setState({ canAutoTranslate });
+ const canAutoTranslate = await RocketChat.canAutoTranslate();
+ this.setState({ canAutoTranslate, loading: false });
});
+ } catch (e) {
+ this.setState({ loading: false });
+ log(e);
+ }
+ }
+
+ findAndObserveRoom = async(rid) => {
+ try {
+ const db = database.active;
+ const { navigation } = this.props;
+ const subCollection = await db.collections.get('subscriptions');
+ const room = await subCollection.find(rid);
+ this.setState({ room });
+ navigation.setParams({ room });
+ this.observeRoom(room);
+ } catch (error) {
+ if (this.t !== 'd') {
+ console.log('Room not found');
+ this.internalSetState({ joined: false });
+ } else {
+ // We navigate to RoomView before the DM is inserted to the local db
+ // So we retry just to make sure we have the right content
+ this.retryFindCount = this.retryFindCount + 1 || 1;
+ if (this.retryFindCount <= 3) {
+ this.retryFindTimeout = setTimeout(() => {
+ this.findAndObserveRoom(rid);
+ this.init();
+ }, 300);
+ }
+ }
+ }
+ }
+
+ observeRoom = (room) => {
+ const observable = room.observe();
+ this.subSubscription = observable
+ .subscribe((changes) => {
+ const roomUpdate = roomAttrsUpdate.reduce((ret, attr) => {
+ ret[attr] = changes[attr];
+ return ret;
+ }, {});
+ if (this.mounted) {
+ this.internalSetState({ room: changes, roomUpdate });
+ } else {
+ this.state.room = changes;
+ this.state.roomUpdate = roomUpdate;
+ }
+ });
+ }
+
+ errorActionsShow = (message) => {
+ this.setState({ selectedMessage: message, showErrorActions: true });
+ }
+
+ onActionsHide = () => {
+ const { editing, replying, reacting } = this.state;
+ if (editing || replying || reacting) {
+ return;
+ }
+ this.setState({ selectedMessage: {}, showActions: false });
+ }
+
+ onErrorActionsHide = () => {
+ this.setState({ selectedMessage: {}, showErrorActions: false });
+ }
+
+ onEditInit = (message) => {
+ this.setState({ selectedMessage: message, editing: true, showActions: false });
+ }
+
+ onEditCancel = () => {
+ this.setState({ selectedMessage: {}, editing: false });
+ }
+
+ onEditRequest = async(message) => {
+ this.setState({ selectedMessage: {}, editing: false });
+ try {
+ await RocketChat.editMessage(message);
} catch (e) {
log(e);
}
}
+ onReplyInit = (message, mention) => {
+ this.setState({
+ selectedMessage: message, replying: true, showActions: false, replyWithMention: mention
+ });
+ }
+
+ onReplyCancel = () => {
+ this.setState({ selectedMessage: {}, replying: false });
+ }
+
+ onReactionInit = (message) => {
+ this.setState({ selectedMessage: message, reacting: true, showActions: false });
+ }
+
+ onReactionClose = () => {
+ this.setState({ selectedMessage: {}, reacting: false });
+ }
+
onMessageLongPress = (message) => {
- const { actionsShow } = this.props;
- actionsShow({ ...message, rid: this.rid });
+ this.setState({ selectedMessage: message, showActions: true });
}
onOpenFileModal = (attachment) => {
@@ -311,14 +402,10 @@ class RoomView extends React.Component {
this.setState({ selectedAttachment: {}, photoModalVisible: false });
}
- onReactionPress = (shortname, messageId) => {
- const { actionMessage, toggleReactionPicker } = this.props;
+ onReactionPress = async(shortname, messageId) => {
try {
- if (!messageId) {
- RocketChat.setReaction(shortname, actionMessage._id);
- return toggleReactionPicker();
- }
- RocketChat.setReaction(shortname, messageId);
+ await RocketChat.setReaction(shortname, messageId);
+ this.onReactionClose();
} catch (e) {
log(e);
}
@@ -341,45 +428,49 @@ class RoomView extends React.Component {
}, 1000, true)
// eslint-disable-next-line react/sort-comp
- updateUnreadCount = debounce(() => {
- const { navigation } = this.props;
- const unreadsCount = this.chats.filtered('archived != true && open == true && unread > 0').reduce((a, b) => a + (b.unread || 0), 0);
- if (unreadsCount !== navigation.getParam('unreadsCount')) {
- navigation.setParams({
- unreadsCount
- });
- }
- }, 300, false)
+ updateUnreadCount = async() => {
+ const db = database.active;
+ const observable = await db.collections
+ .get('subscriptions')
+ .query(
+ Q.where('archived', false),
+ Q.where('open', true),
+ Q.where('rid', Q.notEq(this.rid))
+ )
+ .observeWithColumns(['unread']);
- onThreadPress = debounce((item) => {
+ this.queryUnreads = observable.subscribe((data) => {
+ const { navigation } = this.props;
+ const unreadsCount = data.filter(s => s.unread > 0).reduce((a, b) => a + (b.unread || 0), 0);
+ if (unreadsCount !== navigation.getParam('unreadsCount')) {
+ navigation.setParams({
+ unreadsCount
+ });
+ }
+ });
+ };
+
+ onThreadPress = debounce(async(item) => {
const { navigation } = this.props;
if (item.tmid) {
+ if (!item.tmsg) {
+ await this.fetchThreadName(item.tmid, item.id);
+ }
navigation.push('RoomView', {
- rid: item.rid, tmid: item.tmid, name: item.tmsg, t: 'thread'
+ rid: item.subscription.id, tmid: item.tmid, name: item.tmsg, t: 'thread'
});
} else if (item.tlm) {
- const title = item.msg || (item.attachments && item.attachments.length && item.attachments[0].title);
navigation.push('RoomView', {
- rid: item.rid, tmid: item._id, name: title, t: 'thread'
+ rid: item.subscription.id, tmid: item.id, name: item.msg, t: 'thread'
});
}
}, 1000, true)
- toggleReactionPicker = (message) => {
- const { toggleReactionPicker } = this.props;
- toggleReactionPicker(message);
- }
-
replyBroadcast = (message) => {
const { replyBroadcast } = this.props;
replyBroadcast(message);
}
- errorActionsShow = (message) => {
- const { errorActionsShow } = this.props;
- errorActionsShow(message);
- }
-
handleConnected = () => {
this.init();
EventEmitter.removeListener('connected', this.handleConnected);
@@ -395,15 +486,6 @@ class RoomView extends React.Component {
this.setState(...args);
}
- updateRoom = () => {
- this.updateStateInteraction = InteractionManager.runAfterInteractions(() => {
- if (this.rooms[0]) {
- const room = JSON.parse(JSON.stringify(this.rooms[0] || {}));
- this.internalSetState({ room });
- }
- });
- }
-
sendMessage = (message, tmid) => {
const { user } = this.props;
LayoutAnimation.easeInEaseOut();
@@ -433,12 +515,21 @@ class RoomView extends React.Component {
getThreadMessages = () => {
try {
- return RocketChat.loadThreadMessages({ tmid: this.tmid });
+ return RocketChat.loadThreadMessages({ tmid: this.tmid, rid: this.rid });
} catch (e) {
log(e);
}
}
+ getCustomEmoji = (name) => {
+ const { customEmojis } = this.props;
+ const emoji = customEmojis[name];
+ if (emoji) {
+ return emoji;
+ }
+ return null;
+ }
+
setLastOpen = lastOpen => this.setState({ lastOpen });
joinRoom = async() => {
@@ -450,16 +541,43 @@ class RoomView extends React.Component {
} catch (e) {
log(e);
}
- };
+ }
// eslint-disable-next-line react/sort-comp
- fetchThreadName = async(tmid) => {
+ fetchThreadName = async(tmid, messageId) => {
try {
- // TODO: we should build a tmid queue here in order to search for a single tmid only once
- const thread = await RocketChat.getSingleMessage(tmid);
- database.write(() => {
- database.create('threads', buildMessage(EJSON.fromJSONValue(thread)), true);
- });
+ const { room } = this.state;
+ const db = database.active;
+ const threadCollection = db.collections.get('threads');
+ const messageCollection = db.collections.get('messages');
+ const messageRecord = await messageCollection.find(messageId);
+ let threadRecord;
+ try {
+ threadRecord = await threadCollection.find(tmid);
+ } catch (error) {
+ console.log('Thread not found. We have to search for it.');
+ }
+ if (threadRecord) {
+ await db.action(async() => {
+ await messageRecord.update((m) => {
+ m.tmsg = threadRecord.msg || (threadRecord.attachments && threadRecord.attachments.length && threadRecord.attachments[0].title);
+ });
+ });
+ } else {
+ const thread = await RocketChat.getSingleMessage(tmid);
+ await db.action(async() => {
+ await db.batch(
+ threadCollection.prepareCreate((t) => {
+ t._raw = sanitizedRaw({ id: thread._id }, threadCollection.schema);
+ t.subscription.set(room);
+ Object.assign(t, thread);
+ }),
+ messageRecord.prepareUpdate((m) => {
+ m.tmsg = thread.msg || (thread.attachments && thread.attachments.length && thread.attachments[0].title);
+ })
+ );
+ });
+ }
} catch (e) {
log(e);
}
@@ -482,6 +600,12 @@ class RoomView extends React.Component {
navigation.navigate('RoomInfoView', navParam);
}
+ get isReadOnly() {
+ const { room } = this.state;
+ const { user } = this.props;
+ return isReadOnly(room, user);
+ }
+
renderItem = (item, previousItem) => {
const { room, lastOpen, canAutoTranslate } = this.state;
const {
@@ -504,13 +628,12 @@ class RoomView extends React.Component {
const message = (
);
@@ -550,8 +674,10 @@ class RoomView extends React.Component {
}
renderFooter = () => {
- const { joined, room } = this.state;
- const { navigation, user } = this.props;
+ const {
+ joined, room, selectedMessage, editing, replying, replyWithMention
+ } = this.state;
+ const { navigation } = this.props;
if (!joined && !this.tmid) {
return (
@@ -568,7 +694,7 @@ class RoomView extends React.Component {
);
}
- if (isReadOnly(room, user)) {
+ if (this.isReadOnly) {
return (
{I18n.t('This_room_is_read_only')}
@@ -590,33 +716,60 @@ class RoomView extends React.Component {
tmid={this.tmid}
roomType={room.t}
isFocused={navigation.isFocused()}
+ message={selectedMessage}
+ editing={editing}
+ editRequest={this.onEditRequest}
+ editCancel={this.onEditCancel}
+ replying={replying}
+ replyWithMention={replyWithMention}
+ replyCancel={this.onReplyCancel}
+ getCustomEmoji={this.getCustomEmoji}
/>
);
};
renderActions = () => {
- const { room } = this.state;
const {
- user, showActions, showErrorActions, navigation
+ room, selectedMessage, showActions, showErrorActions, joined
+ } = this.state;
+ const {
+ user, navigation
} = this.props;
if (!navigation.isFocused()) {
return null;
}
return (
-
- {room._id && showActions
- ?
+ <>
+ {joined && showActions
+ ? (
+
+ )
: null
}
- {showErrorActions ? : null}
-
+ {showErrorActions ? (
+
+ ) : null}
+ >
);
}
render() {
console.count(`${ this.constructor.name }.render calls`);
const {
- room, photoModalVisible, reactionsModalVisible, selectedAttachment, selectedMessage
+ room, photoModalVisible, reactionsModalVisible, selectedAttachment, selectedMessage, loading, reacting
} = this.state;
const { user, baseUrl } = this.props;
const { rid, t } = room;
@@ -624,10 +777,23 @@ class RoomView extends React.Component {
return (
-
+
{this.renderFooter()}
{this.renderActions()}
-
+
);
@@ -654,27 +821,18 @@ const mapStateToProps = state => ({
username: state.login.user && state.login.user.username,
token: state.login.user && state.login.user.token
},
- actionMessage: state.messages.actionMessage,
- editing: state.messages.editing,
- replying: state.messages.replying,
- showActions: state.messages.showActions,
- showErrorActions: state.messages.showErrorActions,
appState: state.app.ready && state.app.foreground ? 'foreground' : 'background',
useRealName: state.settings.UI_Use_Real_Name,
isAuthenticated: state.login.isAuthenticated,
Message_GroupingPeriod: state.settings.Message_GroupingPeriod,
Message_TimeFormat: state.settings.Message_TimeFormat,
useMarkdown: state.markdown.useMarkdown,
+ customEmojis: state.customEmojis,
baseUrl: state.settings.baseUrl || state.server ? state.server.server : '',
Message_Read_Receipt_Enabled: state.settings.Message_Read_Receipt_Enabled
});
const mapDispatchToProps = dispatch => ({
- editCancel: () => dispatch(editCancelAction()),
- replyCancel: () => dispatch(replyCancelAction()),
- toggleReactionPicker: message => dispatch(toggleReactionPickerAction(message)),
- errorActionsShow: actionMessage => dispatch(errorActionsShowAction(actionMessage)),
- actionsShow: actionMessage => dispatch(actionsShowAction(actionMessage)),
replyBroadcast: message => dispatch(replyBroadcastAction(message))
});
diff --git a/app/views/RoomsListView/ServerDropdown.js b/app/views/RoomsListView/ServerDropdown.js
index 86e88d631..b7daac0a8 100644
--- a/app/views/RoomsListView/ServerDropdown.js
+++ b/app/views/RoomsListView/ServerDropdown.js
@@ -12,12 +12,12 @@ import { toggleServerDropdown as toggleServerDropdownAction } from '../../action
import { selectServerRequest as selectServerRequestAction } from '../../actions/server';
import { appStart as appStartAction } from '../../actions';
import styles from './styles';
-import database, { safeAddListener } from '../../lib/realm';
import Touch from '../../utils/touch';
import RocketChat from '../../lib/rocketchat';
import I18n from '../../i18n';
import EventEmitter from '../../utils/events';
import Check from '../../containers/Check';
+import database from '../../lib/database';
const ROW_HEIGHT = 68;
const ANIMATION_DURATION = 200;
@@ -34,15 +34,21 @@ class ServerDropdown extends Component {
constructor(props) {
super(props);
- this.servers = database.databases.serversDB.objects('servers');
- this.state = {
- servers: this.servers
- };
+ this.state = { servers: [] };
this.animatedValue = new Animated.Value(0);
- safeAddListener(this.servers, this.updateState);
}
- componentDidMount() {
+ async componentDidMount() {
+ const serversDB = database.servers;
+ const observable = await serversDB.collections
+ .get('servers')
+ .query()
+ .observeWithColumns(['name']);
+
+ this.subscription = observable.subscribe((data) => {
+ this.setState({ servers: data });
+ });
+
Animated.timing(
this.animatedValue,
{
@@ -81,11 +87,9 @@ class ServerDropdown extends Component {
clearTimeout(this.newServerTimeout);
this.newServerTimeout = false;
}
- }
-
- updateState = () => {
- const { servers } = this;
- this.setState({ servers });
+ if (this.subscription && this.subscription.unsubscribe) {
+ this.subscription.unsubscribe();
+ }
}
close = () => {
diff --git a/app/views/RoomsListView/index.js b/app/views/RoomsListView/index.js
index a32ed0338..1cda64fe6 100644
--- a/app/views/RoomsListView/index.js
+++ b/app/views/RoomsListView/index.js
@@ -1,14 +1,23 @@
import React from 'react';
import PropTypes from 'prop-types';
import {
- View, FlatList, BackHandler, ActivityIndicator, Text, ScrollView, Keyboard, LayoutAnimation, InteractionManager, Dimensions
+ View,
+ FlatList,
+ BackHandler,
+ ActivityIndicator,
+ Text,
+ ScrollView,
+ Keyboard,
+ LayoutAnimation,
+ Dimensions
} from 'react-native';
import { connect } from 'react-redux';
-import { isEqual } from 'lodash';
+import { isEqual, orderBy } from 'lodash';
import { SafeAreaView } from 'react-navigation';
import Orientation from 'react-native-orientation-locker';
+import { Q } from '@nozbe/watermelondb';
-import database, { safeAddListener } from '../../lib/realm';
+import database from '../../lib/database';
import RocketChat from '../../lib/rocketchat';
import RoomItem, { ROW_HEIGHT } from '../../presentation/RoomItem';
import styles from './styles';
@@ -26,47 +35,87 @@ import { appStart as appStartAction } from '../../actions';
import debounce from '../../utils/debounce';
import { isIOS, isAndroid } from '../../utils/deviceInfo';
import RoomsListHeaderView from './Header';
-import { DrawerButton, CustomHeaderButtons, Item } from '../../containers/HeaderButton';
+import {
+ DrawerButton,
+ CustomHeaderButtons,
+ Item
+} from '../../containers/HeaderButton';
import StatusBar from '../../containers/StatusBar';
import ListHeader from './ListHeader';
import { selectServerRequest as selectServerRequestAction } from '../../actions/server';
const SCROLL_OFFSET = 56;
-const shouldUpdateProps = ['searchText', 'loadingServer', 'showServerDropdown', 'showSortDropdown', 'sortBy', 'groupByType', 'showFavorites', 'showUnread', 'useRealName', 'StoreLastMessage', 'appState'];
-const getItemLayout = (data, index) => ({ length: ROW_HEIGHT, offset: ROW_HEIGHT * index, index });
+const shouldUpdateProps = [
+ 'searchText',
+ 'loadingServer',
+ 'showServerDropdown',
+ 'showSortDropdown',
+ 'sortBy',
+ 'groupByType',
+ 'showFavorites',
+ 'showUnread',
+ 'useRealName',
+ 'StoreLastMessage',
+ 'appState',
+ 'isAuthenticated'
+];
+const getItemLayout = (data, index) => ({
+ length: ROW_HEIGHT,
+ offset: ROW_HEIGHT * index,
+ index
+});
const keyExtractor = item => item.rid;
class RoomsListView extends React.Component {
static navigationOptions = ({ navigation }) => {
const searching = navigation.getParam('searching');
- const cancelSearchingAndroid = navigation.getParam('cancelSearchingAndroid');
+ const cancelSearchingAndroid = navigation.getParam(
+ 'cancelSearchingAndroid'
+ );
const onPressItem = navigation.getParam('onPressItem', () => {});
- const initSearchingAndroid = navigation.getParam('initSearchingAndroid', () => {});
+ const initSearchingAndroid = navigation.getParam(
+ 'initSearchingAndroid',
+ () => {}
+ );
return {
- headerLeft: (
- searching
- ? (
-
-
-
- )
- :
+ headerLeft: searching ? (
+
+
+
+ ) : (
+
),
headerTitle: ,
- headerRight: (
- searching
- ? null
- : (
-
- {isAndroid ? : null}
- - navigation.navigate('NewMessageView', { onPressItem })} testID='rooms-list-view-create-channel' />
-
- )
+ headerRight: searching ? null : (
+
+ {isAndroid ? (
+
+ ) : null}
+ - navigation.navigate('NewMessageView', {
+ onPressItem
+ })}
+ testID='rooms-list-view-create-channel'
+ />
+
)
};
- }
+ };
static propTypes = {
navigation: PropTypes.object,
@@ -92,7 +141,7 @@ class RoomsListView extends React.Component {
appStart: PropTypes.func,
roomsRequest: PropTypes.func,
isAuthenticated: PropTypes.bool
- }
+ };
constructor(props) {
super(props);
@@ -100,11 +149,11 @@ class RoomsListView extends React.Component {
console.time(`${ this.constructor.name } mount`);
const { width } = Dimensions.get('window');
- this.data = [];
this.state = {
searching: false,
search: [],
loading: true,
+ allChats: [],
chats: [],
unread: [],
favorites: [],
@@ -112,12 +161,20 @@ class RoomsListView extends React.Component {
channels: [],
privateGroup: [],
direct: [],
- livechat: [],
width
};
Orientation.unlockAllOrientations();
- this.didFocusListener = props.navigation.addListener('didFocus', () => BackHandler.addEventListener('hardwareBackPress', this.handleBackPress));
- this.willBlurListener = props.navigation.addListener('willBlur', () => BackHandler.addEventListener('hardwareBackPress', this.handleBackPress));
+ this.didFocusListener = props.navigation.addListener('didFocus', () => {
+ BackHandler.addEventListener(
+ 'hardwareBackPress',
+ this.handleBackPress
+ );
+ this.forceUpdate();
+ });
+ this.willBlurListener = props.navigation.addListener('willBlur', () => BackHandler.addEventListener(
+ 'hardwareBackPress',
+ this.handleBackPress
+ ));
}
componentDidMount() {
@@ -153,51 +210,70 @@ class RoomsListView extends React.Component {
return true;
}
- const { loading, searching, width } = this.state;
+ if (!nextProps.navigation.isFocused()) {
+ return false;
+ }
+
+ const {
+ loading,
+ searching,
+ width,
+ allChats,
+ search
+ } = this.state;
if (nextState.loading !== loading) {
return true;
}
if (nextState.searching !== searching) {
return true;
}
-
if (nextState.width !== width) {
return true;
}
-
- const { search } = this.state;
if (!isEqual(nextState.search, search)) {
return true;
}
+ if (!isEqual(nextState.allChats, allChats)) {
+ return true;
+ }
return false;
}
componentDidUpdate(prevProps) {
const {
- sortBy, groupByType, showFavorites, showUnread, appState, roomsRequest, isAuthenticated
+ sortBy,
+ groupByType,
+ showFavorites,
+ showUnread,
+ appState,
+ roomsRequest,
+ isAuthenticated
} = this.props;
- if (!(
- (prevProps.sortBy === sortBy)
- && (prevProps.groupByType === groupByType)
- && (prevProps.showFavorites === showFavorites)
- && (prevProps.showUnread === showUnread)
- )) {
+ if (
+ !(
+ prevProps.sortBy === sortBy
+ && prevProps.groupByType === groupByType
+ && prevProps.showFavorites === showFavorites
+ && prevProps.showUnread === showUnread
+ )
+ ) {
this.getSubscriptions();
- } else if (appState === 'foreground' && appState !== prevProps.appState && isAuthenticated) {
+ } else if (
+ appState === 'foreground'
+ && appState !== prevProps.appState
+ && isAuthenticated
+ ) {
roomsRequest();
}
}
componentWillUnmount() {
- if (this.data && this.data.removeAllListeners) {
- this.data.removeAllListeners();
- }
if (this.getSubscriptions && this.getSubscriptions.stop) {
this.getSubscriptions.stop();
}
- if (this.updateStateInteraction && this.updateStateInteraction.cancel) {
- this.updateStateInteraction.cancel();
+ if (this.querySubscription && this.querySubscription.unsubscribe) {
+ this.querySubscription.unsubscribe();
}
if (this.didFocusListener && this.didFocusListener.remove) {
this.didFocusListener.remove();
@@ -209,7 +285,7 @@ class RoomsListView extends React.Component {
console.countReset(`${ this.constructor.name }.render calls`);
}
- onDimensionsChange = ({ window: { width } }) => this.setState({ width })
+ onDimensionsChange = ({ window: { width } }) => this.setState({ width });
// eslint-disable-next-line react/sort-comp
internalSetState = (...args) => {
@@ -218,77 +294,104 @@ class RoomsListView extends React.Component {
LayoutAnimation.easeInEaseOut();
}
this.setState(...args);
- }
+ };
- getSubscriptions = debounce(() => {
- if (this.data && this.data.removeAllListeners) {
- this.data.removeAllListeners();
+ getSubscriptions = debounce(async() => {
+ if (this.querySubscription && this.querySubscription.unsubscribe) {
+ this.querySubscription.unsubscribe();
}
const {
- server, sortBy, showUnread, showFavorites, groupByType
+ sortBy,
+ showUnread,
+ showFavorites,
+ groupByType
} = this.props;
- if (server && this.hasActiveDB()) {
- this.data = database.objects('subscriptions').filtered('archived != true && open == true && t != $0', 'l');
+ const db = database.active;
+ const observable = await db.collections
+ .get('subscriptions')
+ .query(
+ Q.where('archived', false),
+ Q.where('open', true),
+ Q.where('t', Q.notEq('l'))
+ )
+ .observeWithColumns(['room_updated_at', 'unread', 'alert', 'user_mentions', 'f', 't']);
+
+ this.querySubscription = observable.subscribe((data) => {
+ let chats = [];
+ let unread = [];
+ let favorites = [];
+ let discussions = [];
+ let channels = [];
+ let privateGroup = [];
+ let direct = [];
if (sortBy === 'alphabetical') {
- this.data = this.data.sorted('name', false);
+ chats = orderBy(data, ['name'], ['asc']);
} else {
- this.data = this.data.sorted('roomUpdatedAt', true);
+ chats = orderBy(data, ['roomUpdatedAt'], ['desc']);
}
+ // it's better to map and test all subs altogether then testing them individually
+ const allChats = data.map(item => ({
+ alert: item.alert,
+ unread: item.unread,
+ userMentions: item.userMentions,
+ isRead: this.getIsRead(item),
+ favorite: item.f,
+ lastMessage: item.lastMessage,
+ name: this.getRoomTitle(item),
+ _updatedAt: item.roomUpdatedAt,
+ key: item._id,
+ rid: item.rid,
+ type: item.t,
+ prid: item.prid
+ }));
+
// unread
if (showUnread) {
- this.unread = this.data.filtered('(unread > 0 || alert == true)');
+ unread = chats.filter(s => s.unread > 0 || s.alert);
} else {
- this.unread = [];
+ unread = [];
}
+
// favorites
if (showFavorites) {
- this.favorites = this.data.filtered('f == true');
+ favorites = chats.filter(s => s.f);
} else {
- this.favorites = [];
+ favorites = [];
}
+
// type
if (groupByType) {
- this.discussions = this.data.filtered('prid != null');
- this.channels = this.data.filtered('t == $0 AND prid == null', 'c');
- this.privateGroup = this.data.filtered('t == $0 AND prid == null', 'p');
- this.direct = this.data.filtered('t == $0 AND prid == null', 'd');
- this.livechat = this.data.filtered('t == $0 AND prid == null', 'l');
+ discussions = chats.filter(s => s.prid);
+ channels = chats.filter(s => s.t === 'c' && !s.prid);
+ privateGroup = chats.filter(s => s.t === 'p' && !s.prid);
+ direct = chats.filter(s => s.t === 'd' && !s.prid);
} else if (showUnread) {
- this.chats = this.data.filtered('(unread == 0 && alert == false)');
- } else {
- this.chats = this.data;
+ chats = chats.filter(s => !s.unread && !s.alert);
}
- safeAddListener(this.data, this.updateState);
- }
- }, 300);
- // eslint-disable-next-line react/sort-comp
- updateState = debounce(() => {
- this.updateStateInteraction = InteractionManager.runAfterInteractions(() => {
this.internalSetState({
- chats: this.chats ? this.chats.slice() : [],
- unread: this.unread ? this.unread.slice() : [],
- favorites: this.favorites ? this.favorites.slice() : [],
- discussions: this.discussions ? this.discussions.slice() : [],
- channels: this.channels ? this.channels.slice() : [],
- privateGroup: this.privateGroup ? this.privateGroup.slice() : [],
- direct: this.direct ? this.direct.slice() : [],
- livechat: this.livechat ? this.livechat.slice() : [],
+ allChats,
+ chats,
+ unread,
+ favorites,
+ discussions,
+ channels,
+ privateGroup,
+ direct,
loading: false
});
- this.forceUpdate();
});
- }, 300);
+ }, 300, true);
initSearchingAndroid = () => {
const { openSearchHeader, navigation } = this.props;
this.setState({ searching: true });
navigation.setParams({ searching: true });
openSearchHeader();
- }
+ };
cancelSearchingAndroid = () => {
if (isAndroid) {
@@ -299,10 +402,7 @@ class RoomsListView extends React.Component {
this.internalSetState({ search: [] });
Keyboard.dismiss();
}
- }
-
- // this is necessary during development (enables Cmd + r)
- hasActiveDB = () => database && database.databases && database.databases.activeDB;
+ };
handleBackPress = () => {
const { searching } = this.state;
@@ -313,29 +413,32 @@ class RoomsListView extends React.Component {
}
appStart('background');
return false;
- }
+ };
- _isUnread = item => item.unread > 0 || item.alert
-
- search = async(text) => {
+ // eslint-disable-next-line react/sort-comp
+ search = debounce(async(text) => {
const result = await RocketChat.search({ text });
this.internalSetState({
search: result
});
- }
+ }, 300);
getRoomTitle = (item) => {
const { useRealName } = this.props;
return ((item.prid || useRealName) && item.fname) || item.name;
- }
+ };
goRoom = (item) => {
this.cancelSearchingAndroid();
const { navigation } = this.props;
navigation.navigate('RoomView', {
- rid: item.rid, name: this.getRoomTitle(item), t: item.t, prid: item.prid
+ rid: item.rid,
+ name: this.getRoomTitle(item),
+ t: item.t,
+ prid: item.prid,
+ room: item
});
- }
+ };
_onPressItem = async(item = {}) => {
if (!item.search) {
@@ -347,7 +450,11 @@ class RoomsListView extends React.Component {
const { username } = item;
const result = await RocketChat.createDirectMessage(username);
if (result.success) {
- return this.goRoom({ rid: result.room._id, name: username, t: 'd' });
+ return this.goRoom({
+ rid: result.room._id,
+ name: username,
+ t: 'd'
+ });
}
} catch (e) {
log(e);
@@ -355,7 +462,7 @@ class RoomsListView extends React.Component {
} else {
return this.goRoom(item);
}
- }
+ };
toggleSort = () => {
const { toggleSortDropdown } = this.props;
@@ -369,60 +476,78 @@ class RoomsListView extends React.Component {
setTimeout(() => {
toggleSortDropdown();
}, 100);
- }
+ };
toggleFav = async(rid, favorite) => {
try {
+ const db = database.active;
const result = await RocketChat.toggleFavorite(rid, !favorite);
if (result.success) {
- database.write(() => {
- const sub = database.objects('subscriptions').filtered('rid == $0', rid)[0];
- if (sub) {
- sub.f = !favorite;
+ const subCollection = db.collections.get('subscriptions');
+ await db.action(async() => {
+ try {
+ const subRecord = await subCollection.find(rid);
+ await subRecord.update((sub) => {
+ sub.f = !favorite;
+ });
+ } catch (e) {
+ log(e);
}
});
}
} catch (e) {
log(e);
}
- }
+ };
toggleRead = async(rid, isRead) => {
try {
+ const db = database.active;
const result = await RocketChat.toggleRead(isRead, rid);
if (result.success) {
- database.write(() => {
- const sub = database.objects('subscriptions').filtered('rid == $0', rid)[0];
- if (sub) {
- sub.alert = isRead;
+ const subCollection = db.collections.get('subscriptions');
+ await db.action(async() => {
+ try {
+ const subRecord = await subCollection.find(rid);
+ await subRecord.update((sub) => {
+ sub.alert = isRead;
+ });
+ } catch (e) {
+ log(e);
}
});
}
} catch (e) {
log(e);
}
- }
+ };
hideChannel = async(rid, type) => {
try {
+ const db = database.active;
const result = await RocketChat.hideRoom(rid, type);
if (result.success) {
- database.write(() => {
- const sub = database.objects('subscriptions').filtered('rid == $0', rid)[0];
- database.delete(sub);
+ const subCollection = db.collections.get('subscriptions');
+ await db.action(async() => {
+ try {
+ const subRecord = await subCollection.find(rid);
+ await subRecord.destroyPermanently();
+ } catch (e) {
+ log(e);
+ }
});
}
} catch (e) {
log(e);
}
- }
+ };
goDirectory = () => {
const { navigation } = this.props;
navigation.navigate('DirectoryView');
- }
+ };
- getScrollRef = ref => this.scroll = ref
+ getScrollRef = ref => (this.scroll = ref);
renderListHeader = () => {
const { search } = this.state;
@@ -436,59 +561,60 @@ class RoomsListView extends React.Component {
goDirectory={this.goDirectory}
/>
);
- }
+ };
getIsRead = (item) => {
- let isUnread = (item.archived !== true && item.open === true); // item is not archived and not opened
+ let isUnread = item.archived !== true && item.open === true; // item is not archived and not opened
isUnread = isUnread && (item.unread > 0 || item.alert === true); // either its unread count > 0 or its alert
return !isUnread;
- }
+ };
renderItem = ({ item }) => {
const { width } = this.state;
const {
- userId, username, token, baseUrl, StoreLastMessage
+ userId,
+ username,
+ token,
+ baseUrl,
+ StoreLastMessage
} = this.props;
const id = item.rid.replace(userId, '').trim();
- if (item.search || (item.isValid && item.isValid())) {
- return (
- this._onPressItem(item)}
- testID={`rooms-list-view-item-${ item.name }`}
- width={width}
- toggleFav={this.toggleFav}
- toggleRead={this.toggleRead}
- hideChannel={this.hideChannel}
- />
- );
- }
- return null;
- }
+ return (
+ this._onPressItem(item)}
+ testID={`rooms-list-view-item-${ item.name }`}
+ width={width}
+ toggleFav={this.toggleFav}
+ toggleRead={this.toggleRead}
+ hideChannel={this.hideChannel}
+ />
+ );
+ };
renderSectionHeader = header => (
{I18n.t(header)}
- )
+ );
renderSection = (data, header) => {
const { showUnread, showFavorites, groupByType } = this.props;
@@ -497,7 +623,15 @@ class RoomsListView extends React.Component {
return null;
} else if (header === 'Favorites' && !showFavorites) {
return null;
- } else if (['Discussions', 'Channels', 'Direct_Messages', 'Private_Groups', 'Livechat'].includes(header) && !groupByType) {
+ } else if (
+ [
+ 'Discussions',
+ 'Channels',
+ 'Direct_Messages',
+ 'Private_Groups'
+ ].includes(header)
+ && !groupByType
+ ) {
return null;
} else if (header === 'Chats' && groupByType) {
return null;
@@ -506,13 +640,14 @@ class RoomsListView extends React.Component {
return (
this.renderSectionHeader(header)}
getItemLayout={getItemLayout}
enableEmptySections
- removeClippedSubviews
+ removeClippedSubviews={isIOS}
keyboardShouldPersistTaps='always'
initialNumToRender={12}
windowSize={7}
@@ -520,11 +655,18 @@ class RoomsListView extends React.Component {
);
}
return null;
- }
+ };
renderList = () => {
const {
- search, chats, unread, favorites, discussions, channels, direct, privateGroup, livechat
+ search,
+ chats,
+ unread,
+ favorites,
+ discussions,
+ channels,
+ direct,
+ privateGroup
} = this.state;
if (search.length > 0) {
@@ -537,7 +679,7 @@ class RoomsListView extends React.Component {
renderItem={this.renderItem}
getItemLayout={getItemLayout}
enableEmptySections
- removeClippedSubviews
+ removeClippedSubviews={isIOS}
keyboardShouldPersistTaps='always'
initialNumToRender={12}
windowSize={7}
@@ -553,11 +695,10 @@ class RoomsListView extends React.Component {
{this.renderSection(channels, 'Channels')}
{this.renderSection(direct, 'Direct_Messages')}
{this.renderSection(privateGroup, 'Private_Groups')}
- {this.renderSection(livechat, 'Livechat')}
{this.renderSection(chats, 'Chats')}
);
- }
+ };
renderScroll = () => {
const { loading } = this.state;
@@ -573,13 +714,14 @@ class RoomsListView extends React.Component {
);
- }
+ };
render = () => {
console.count(`${ this.constructor.name }.render calls`);
const {
- sortBy, groupByType, showFavorites, showUnread, showServerDropdown, showSortDropdown
+ sortBy,
+ groupByType,
+ showFavorites,
+ showUnread,
+ showServerDropdown,
+ showSortDropdown
} = this.props;
return (
-
+
{this.renderScroll()}
- {showSortDropdown
- ? (
-
- )
- : null
- }
+ {showSortDropdown ? (
+
+ ) : null}
{showServerDropdown ? : null}
);
- }
+ };
}
const mapStateToProps = state => ({
diff --git a/app/views/SearchMessagesView/index.js b/app/views/SearchMessagesView/index.js
index 2ac7a50b6..5d7f33d0f 100644
--- a/app/views/SearchMessagesView/index.js
+++ b/app/views/SearchMessagesView/index.js
@@ -25,7 +25,8 @@ class SearchMessagesView extends React.Component {
static propTypes = {
navigation: PropTypes.object,
user: PropTypes.object,
- baseUrl: PropTypes.string
+ baseUrl: PropTypes.string,
+ customEmojis: PropTypes.object
}
constructor(props) {
@@ -74,6 +75,15 @@ class SearchMessagesView extends React.Component {
}
}, 1000)
+ getCustomEmoji = (name) => {
+ const { customEmojis } = this.props;
+ const emoji = customEmojis[name];
+ if (emoji) {
+ return emoji;
+ }
+ return null;
+ }
+
renderEmpty = () => (
{I18n.t('No_results_found')}
@@ -94,6 +104,7 @@ class SearchMessagesView extends React.Component {
isEdited={!!item.editedAt}
isHeader
onOpenFileModal={() => {}}
+ getCustomEmoji={this.getCustomEmoji}
/>
);
}
@@ -145,7 +156,8 @@ const mapStateToProps = state => ({
id: state.login.user && state.login.user.id,
username: state.login.user && state.login.user.username,
token: state.login.user && state.login.user.token
- }
+ },
+ customEmojis: state.customEmojis
});
export default connect(mapStateToProps)(SearchMessagesView);
diff --git a/app/views/SelectServerView.js b/app/views/SelectServerView.js
index 34596e310..29d59b1b6 100644
--- a/app/views/SelectServerView.js
+++ b/app/views/SelectServerView.js
@@ -7,7 +7,6 @@ import { connect } from 'react-redux';
import { SafeAreaView } from 'react-navigation';
import I18n from '../i18n';
-import database from '../lib/realm';
import StatusBar from '../containers/StatusBar';
import { COLOR_BACKGROUND_CONTAINER } from '../constants/colors';
import Navigation from '../lib/ShareNavigation';
@@ -39,13 +38,14 @@ class SelectServerView extends React.Component {
})
static propTypes = {
- server: PropTypes.string
+ server: PropTypes.string,
+ navigation: PropTypes.object
}
constructor(props) {
super(props);
- const { serversDB } = database.databases;
- const servers = serversDB.objects('servers');
+ const { navigation } = this.props;
+ const servers = navigation.getParam('servers', []);
const filteredServers = servers.filter(server => server.roomsUpdatedAt);
this.state = {
servers: filteredServers
diff --git a/app/views/SelectedUsersView.js b/app/views/SelectedUsersView.js
index a282eb2bd..3b39c13d5 100644
--- a/app/views/SelectedUsersView.js
+++ b/app/views/SelectedUsersView.js
@@ -6,11 +6,13 @@ import {
import { connect } from 'react-redux';
import { SafeAreaView } from 'react-navigation';
import equal from 'deep-equal';
+import { orderBy } from 'lodash';
+import { Q } from '@nozbe/watermelondb';
import {
addUser as addUserAction, removeUser as removeUserAction, reset as resetAction, setLoading as setLoadingAction
} from '../actions/selectedUsers';
-import database, { safeAddListener } from '../lib/realm';
+import database from '../lib/database';
import RocketChat from '../lib/rocketchat';
import UserItem from '../presentation/UserItem';
import Loading from '../containers/Loading';
@@ -68,11 +70,11 @@ class SelectedUsersView extends React.Component {
constructor(props) {
super(props);
- this.data = database.objects('subscriptions').filtered('t = $0', 'd').sorted('roomUpdatedAt', true);
+ this.init();
this.state = {
- search: []
+ search: [],
+ chats: []
};
- safeAddListener(this.data, this.updateState);
}
componentDidMount() {
@@ -81,7 +83,7 @@ class SelectedUsersView extends React.Component {
}
shouldComponentUpdate(nextProps, nextState) {
- const { search } = this.state;
+ const { search, chats } = this.state;
const { users, loading } = this.props;
if (nextProps.loading !== loading) {
return true;
@@ -92,14 +94,36 @@ class SelectedUsersView extends React.Component {
if (!equal(nextState.search, search)) {
return true;
}
+ if (!equal(nextState.chats, chats)) {
+ return true;
+ }
return false;
}
componentWillUnmount() {
const { reset } = this.props;
- this.updateState.stop();
- this.data.removeAllListeners();
reset();
+ if (this.querySubscription && this.querySubscription.unsubscribe) {
+ this.querySubscription.unsubscribe();
+ }
+ }
+
+ // eslint-disable-next-line react/sort-comp
+ init = async() => {
+ try {
+ const db = database.active;
+ const observable = await db.collections
+ .get('subscriptions')
+ .query(Q.where('t', 'd'))
+ .observeWithColumns(['room_updated_at']);
+
+ this.querySubscription = observable.subscribe((data) => {
+ const chats = orderBy(data, ['roomUpdatedAt'], ['desc']);
+ this.setState({ chats });
+ });
+ } catch (e) {
+ log(e);
+ }
}
onSearchChangeText(text) {
@@ -208,7 +232,7 @@ class SelectedUsersView extends React.Component {
renderSeparator = () =>
renderItem = ({ item, index }) => {
- const { search } = this.state;
+ const { search, chats } = this.state;
const { baseUrl, user } = this.props;
const name = item.search ? item.name : item.fname;
@@ -220,7 +244,7 @@ class SelectedUsersView extends React.Component {
if (search.length > 0 && index === search.length - 1) {
style = { ...style, ...sharedStyles.separatorBottom };
}
- if (search.length === 0 && index === this.data.length - 1) {
+ if (search.length === 0 && index === chats.length - 1) {
style = { ...style, ...sharedStyles.separatorBottom };
}
return (
@@ -238,10 +262,10 @@ class SelectedUsersView extends React.Component {
}
renderList = () => {
- const { search } = this.state;
+ const { search, chats } = this.state;
return (
0 ? search : this.data}
+ data={search.length > 0 ? search : chats}
extraData={this.props}
keyExtractor={item => item._id}
renderItem={this.renderItem}
diff --git a/app/views/ShareListView/index.js b/app/views/ShareListView/index.js
index c5fdb84ba..b6ce99b3f 100644
--- a/app/views/ShareListView/index.js
+++ b/app/views/ShareListView/index.js
@@ -8,10 +8,11 @@ import ShareExtension from 'rn-extensions-share';
import { connect } from 'react-redux';
import RNFetchBlob from 'rn-fetch-blob';
import * as mime from 'react-native-mime-types';
-import { isEqual } from 'lodash';
+import { isEqual, orderBy } from 'lodash';
+import { Q } from '@nozbe/watermelondb';
import Navigation from '../../lib/ShareNavigation';
-import database from '../../lib/realm';
+import database from '../../lib/database';
import { isIOS, isAndroid } from '../../utils/deviceInfo';
import I18n from '../../i18n';
import { CustomIcon } from '../../lib/Icons';
@@ -179,15 +180,24 @@ class ShareListView extends React.Component {
this.setState(...args);
}
- getSubscriptions = (server, fileInfo) => {
+ getSubscriptions = async(server, fileInfo) => {
const { fileInfo: fileData } = this.state;
- const { serversDB } = database.databases;
+ const db = database.active;
+ const serversDB = database.servers;
if (server) {
- this.data = database.objects('subscriptions').filtered('archived != true && open == true').sorted('roomUpdatedAt', true);
- this.servers = serversDB.objects('servers');
+ this.data = await db.collections
+ .get('subscriptions')
+ .query(
+ Q.where('archived', false),
+ Q.where('open', true)
+ ).fetch();
+ this.data = orderBy(this.data, ['roomUpdatedAt'], ['desc']);
+
+ const serversCollection = serversDB.collections.get('servers');
+ this.servers = await serversCollection.query().fetch();
this.chats = this.data.slice(0, LIMIT);
- const serverInfo = serversDB.objectForPrimaryKey('servers', server);
+ const serverInfo = await serversCollection.find(server);
this.internalSetState({
chats: this.chats ? this.chats.slice() : [],
@@ -222,7 +232,7 @@ class ShareListView extends React.Component {
}
search = (text) => {
- const result = database.objects('subscriptions').filtered('name CONTAINS[c] $0', text);
+ const result = this.data.filter(item => item.name.includes(text)) || [];
this.internalSetState({
searchResults: result.slice(0, LIMIT),
searchText: text
@@ -304,7 +314,7 @@ class ShareListView extends React.Component {
Navigation.navigate('SelectServerView')}
+ onPress={() => Navigation.navigate('SelectServerView', { servers: this.servers })}
item={currentServer}
/>
diff --git a/app/views/ShareView/index.js b/app/views/ShareView/index.js
index b5f0a73a1..ee0857599 100644
--- a/app/views/ShareView/index.js
+++ b/app/views/ShareView/index.js
@@ -15,7 +15,6 @@ import { CustomIcon } from '../../lib/Icons';
import log from '../../utils/log';
import styles from './styles';
import Loading from './Loading';
-import database from '../../lib/realm';
import { CustomHeaderButtons, Item } from '../../containers/HeaderButton';
import { isReadOnly, isBlocked } from '../../utils/room';
@@ -59,8 +58,7 @@ class ShareView extends React.Component {
const value = navigation.getParam('value', '');
const isMedia = navigation.getParam('isMedia', false);
const fileInfo = navigation.getParam('fileInfo', {});
-
- this.rooms = database.objects('subscriptions').filtered('rid = $0', rid);
+ const room = navigation.getParam('room', { rid });
this.state = {
rid,
@@ -68,8 +66,8 @@ class ShareView extends React.Component {
isMedia,
name,
fileInfo,
+ room,
loading: false,
- room: this.rooms[0] || { rid },
file: {
name: fileInfo ? fileInfo.name : '',
description: ''
diff --git a/app/views/SidebarView/index.js b/app/views/SidebarView/index.js
index 0e944e114..099702f2a 100644
--- a/app/views/SidebarView/index.js
+++ b/app/views/SidebarView/index.js
@@ -6,10 +6,10 @@ import {
import { connect } from 'react-redux';
import equal from 'deep-equal';
import { RectButton } from 'react-native-gesture-handler';
+import { Q } from '@nozbe/watermelondb';
import { logout as logoutAction } from '../../actions/login';
import Avatar from '../../containers/Avatar';
-import StatusContainer from '../../containers/Status';
import Status from '../../containers/Status/Status';
import RocketChat from '../../lib/rocketchat';
import log from '../../utils/log';
@@ -19,7 +19,7 @@ import { CustomIcon } from '../../lib/Icons';
import styles from './styles';
import SidebarItem from './SidebarItem';
import { COLOR_TEXT } from '../../constants/colors';
-import database from '../../lib/realm';
+import database from '../../lib/database';
const keyExtractor = item => item.id;
@@ -46,12 +46,14 @@ class Sidebar extends Component {
super(props);
this.state = {
showStatus: false,
+ isAdmin: false,
status: []
};
}
componentDidMount() {
this.setStatus();
+ this.setIsAdmin();
}
componentWillReceiveProps(nextProps) {
@@ -116,14 +118,22 @@ class Sidebar extends Component {
});
}
- toggleStatus = () => {
- LayoutAnimation.easeInEaseOut();
- this.setState(prevState => ({ showStatus: !prevState.showStatus }));
- }
-
- sidebarNavigate = (route) => {
- const { navigation } = this.props;
- navigation.navigate(route);
+ async setIsAdmin() {
+ const db = database.active;
+ const { user } = this.props;
+ const { roles } = user;
+ try {
+ if (roles) {
+ const permissionsCollection = db.collections.get('permissions');
+ const permissionsFiltered = await permissionsCollection.query(Q.where('id', Q.oneOf(permissions))).fetch();
+ const isAdmin = permissionsFiltered.reduce((result, permission) => (
+ result || permission.roles.some(r => roles.indexOf(r) !== -1)),
+ false);
+ this.setState({ isAdmin });
+ }
+ } catch (e) {
+ log(e);
+ }
}
logout = () => {
@@ -131,17 +141,14 @@ class Sidebar extends Component {
logout();
}
- canSeeAdminPanel() {
- const { user } = this.props;
- const { roles } = user;
- if (roles) {
- const permissionsFiltered = database.objects('permissions')
- .filter(permission => permissions.includes(permission._id));
- return permissionsFiltered.reduce((result, permission) => (
- result || permission.roles.some(r => roles.indexOf(r) !== -1)),
- false);
- }
- return false;
+ sidebarNavigate = (route) => {
+ const { navigation } = this.props;
+ navigation.navigate(route);
+ }
+
+ toggleStatus = () => {
+ LayoutAnimation.easeInEaseOut();
+ this.setState(prevState => ({ showStatus: !prevState.showStatus }));
}
renderStatusItem = ({ item }) => {
@@ -166,6 +173,7 @@ class Sidebar extends Component {
}
renderNavigation = () => {
+ const { isAdmin } = this.state;
const { activeItemKey } = this.props;
return (
@@ -190,7 +198,7 @@ class Sidebar extends Component {
testID='sidebar-settings'
current={activeItemKey === 'SettingsStack'}
/>
- {this.canSeeAdminPanel() ? (
+ {isAdmin ? (
}
@@ -251,7 +259,7 @@ class Sidebar extends Component {
/>
-
+
{user.username}
{Site_Name}
diff --git a/app/views/ThreadMessagesView/index.js b/app/views/ThreadMessagesView/index.js
index 5bc3841d8..508bf630f 100644
--- a/app/views/ThreadMessagesView/index.js
+++ b/app/views/ThreadMessagesView/index.js
@@ -6,17 +6,21 @@ import {
import { connect } from 'react-redux';
import { SafeAreaView } from 'react-navigation';
import moment from 'moment';
+import orderBy from 'lodash/orderBy';
+import { Q } from '@nozbe/watermelondb';
+import { sanitizedRaw } from '@nozbe/watermelondb/RawRecord';
import styles from './styles';
import Message from '../../containers/message';
import RCActivityIndicator from '../../containers/ActivityIndicator';
import I18n from '../../i18n';
import RocketChat from '../../lib/rocketchat';
-import database, { safeAddListener } from '../../lib/realm';
+import database from '../../lib/database';
import StatusBar from '../../containers/StatusBar';
import buildMessage from '../../lib/methods/helpers/buildMessage';
import log from '../../utils/log';
import debounce from '../../utils/debounce';
+import protectedFunction from '../../lib/methods/helpers/protectedFunction';
const Separator = React.memo(() => );
const API_FETCH_COUNT = 50;
@@ -30,33 +34,31 @@ class ThreadMessagesView extends React.Component {
user: PropTypes.object,
navigation: PropTypes.object,
baseUrl: PropTypes.string,
- useRealName: PropTypes.bool
+ useRealName: PropTypes.bool,
+ customEmojis: PropTypes.object
}
constructor(props) {
super(props);
+ this.mounted = false;
this.rid = props.navigation.getParam('rid');
this.t = props.navigation.getParam('t');
- this.rooms = database.objects('subscriptions').filtered('rid = $0', this.rid);
- this.messages = database.objects('threads').filtered('rid = $0', this.rid).sorted('ts', true);
- safeAddListener(this.messages, this.updateMessages);
+ this.subscribeData();
this.state = {
loading: false,
end: false,
- messages: this.messages
+ messages: []
};
- this.mounted = false;
}
componentDidMount() {
+ this.mounted = true;
this.mountInteraction = InteractionManager.runAfterInteractions(() => {
this.init();
- this.mounted = true;
});
}
componentWillUnmount() {
- this.messages.removeAllListeners();
if (this.mountInteraction && this.mountInteraction.cancel) {
this.mountInteraction.cancel();
}
@@ -66,36 +68,113 @@ class ThreadMessagesView extends React.Component {
if (this.syncInteraction && this.syncInteraction.cancel) {
this.syncInteraction.cancel();
}
+ if (this.subSubscription && this.subSubscription.unsubscribe) {
+ this.subSubscription.unsubscribe();
+ }
+ if (this.messagesSubscription && this.messagesSubscription.unsubscribe) {
+ this.messagesSubscription.unsubscribe();
+ }
}
// eslint-disable-next-line react/sort-comp
- updateMessages = debounce(() => {
- this.setState({ messages: this.messages });
- }, 300)
+ subscribeData = () => {
+ try {
+ const db = database.active;
+ this.subObservable = db.collections
+ .get('subscriptions')
+ .findAndObserve(this.rid);
+ this.subSubscription = this.subObservable
+ .subscribe((data) => {
+ this.subscription = data;
+ });
+ this.messagesObservable = db.collections
+ .get('threads')
+ .query(
+ Q.where('rid', this.rid),
+ Q.where('t', Q.notEq('rm'))
+ )
+ .observeWithColumns(['updated_at']);
+ this.messagesSubscription = this.messagesObservable
+ .subscribe((data) => {
+ const messages = orderBy(data, ['ts'], ['desc']);
+ if (this.mounted) {
+ this.setState({ messages });
+ } else {
+ this.state.messages = messages;
+ }
+ });
+ } catch (e) {
+ log(e);
+ }
+ }
// eslint-disable-next-line react/sort-comp
init = () => {
- const [room] = this.rooms;
-
- // if there's not room at this point, it's better to show nothing
- if (!room) {
+ if (!this.subscription) {
return;
}
-
- const lastThreadSync = new Date();
- if (room.lastThreadSync) {
- this.sync(room.lastThreadSync);
- } else {
- this.load();
+ try {
+ const lastThreadSync = new Date();
+ if (this.subscription.lastThreadSync) {
+ this.sync(this.subscription.lastThreadSync);
+ } else {
+ this.load(lastThreadSync);
+ }
+ } catch (e) {
+ log(e);
+ }
+ }
+
+ updateThreads = async({ update, remove, lastThreadSync }) => {
+ try {
+ const db = database.active;
+ const threadsCollection = db.collections.get('threads');
+ const allThreadsRecords = await this.subscription.threads.fetch();
+ let threadsToCreate = [];
+ let threadsToUpdate = [];
+ let threadsToDelete = [];
+
+ if (update && update.length) {
+ update = update.map(m => buildMessage(m));
+ // filter threads
+ threadsToCreate = update.filter(i1 => !allThreadsRecords.find(i2 => i1._id === i2.id));
+ threadsToUpdate = allThreadsRecords.filter(i1 => update.find(i2 => i1.id === i2._id));
+ threadsToCreate = threadsToCreate.map(thread => threadsCollection.prepareCreate(protectedFunction((t) => {
+ t._raw = sanitizedRaw({ id: thread._id }, threadsCollection.schema);
+ t.subscription.set(this.subscription);
+ Object.assign(t, thread);
+ })));
+ threadsToUpdate = threadsToUpdate.map((thread) => {
+ const newThread = update.find(t => t._id === thread.id);
+ return thread.prepareUpdate(protectedFunction((t) => {
+ Object.assign(t, newThread);
+ }));
+ });
+ }
+
+ if (remove && remove.length) {
+ threadsToDelete = allThreadsRecords.filter(i1 => remove.find(i2 => i1.id === i2._id));
+ threadsToDelete = threadsToDelete.map(t => t.prepareDestroyPermanently());
+ }
+
+ await db.action(async() => {
+ await db.batch(
+ ...threadsToCreate,
+ ...threadsToUpdate,
+ ...threadsToDelete,
+ this.subscription.prepareUpdate((s) => {
+ s.lastThreadSync = lastThreadSync;
+ })
+ );
+ });
+ } catch (e) {
+ log(e);
}
- database.write(() => {
- room.lastThreadSync = lastThreadSync;
- });
}
// eslint-disable-next-line react/sort-comp
- load = debounce(async() => {
- const { loading, end } = this.state;
+ load = debounce(async(lastThreadSync) => {
+ const { loading, end, messages } = this.state;
if (end || loading || !this.mounted) {
return;
}
@@ -104,17 +183,11 @@ class ThreadMessagesView extends React.Component {
try {
const result = await RocketChat.getThreadsList({
- rid: this.rid, count: API_FETCH_COUNT, offset: this.messages.length
+ rid: this.rid, count: API_FETCH_COUNT, offset: messages.length
});
if (result.success) {
this.loadInteraction = InteractionManager.runAfterInteractions(() => {
- database.write(() => result.threads.forEach((message) => {
- try {
- database.create('threads', buildMessage(message), true);
- } catch (e) {
- log(e);
- }
- }));
+ this.updateThreads({ update: result.threads, lastThreadSync });
this.setState({
loading: false,
@@ -139,36 +212,12 @@ class ThreadMessagesView extends React.Component {
if (result.success && result.threads) {
this.syncInteraction = InteractionManager.runAfterInteractions(() => {
const { update, remove } = result.threads;
- database.write(() => {
- if (update && update.length) {
- update.forEach((message) => {
- try {
- database.create('threads', buildMessage(message), true);
- } catch (e) {
- log(e);
- }
- });
- }
-
- if (remove && remove.length) {
- remove.forEach((message) => {
- const oldMessage = database.objectForPrimaryKey('threads', message._id);
- if (oldMessage) {
- try {
- database.delete(oldMessage);
- } catch (e) {
- log(e);
- }
- }
- });
- }
- });
-
- this.setState({
- loading: false
- });
+ this.updateThreads({ update, remove, lastThreadSync: updatedSince });
});
}
+ this.setState({
+ loading: false
+ });
} catch (e) {
log(e);
this.setState({ loading: false });
@@ -184,18 +233,20 @@ class ThreadMessagesView extends React.Component {
}) : null
)
+ getCustomEmoji = (name) => {
+ const { customEmojis } = this.props;
+ const emoji = customEmojis[name];
+ if (emoji) {
+ return emoji;
+ }
+ return null;
+ }
+
onThreadPress = debounce((item) => {
const { navigation } = this.props;
- if (item.tmid) {
- navigation.push('RoomView', {
- rid: item.rid, tmid: item.tmid, name: item.tmsg, t: 'thread'
- });
- } else if (item.tlm) {
- const title = item.msg || (item.attachments && item.attachments.length && item.attachments[0].title);
- navigation.push('RoomView', {
- rid: item.rid, tmid: item._id, name: title, t: 'thread'
- });
- }
+ navigation.push('RoomView', {
+ rid: item.subscription.id, tmid: item.id, name: item.msg, t: 'thread'
+ });
}, 1000, true)
renderSeparator = () =>
@@ -210,32 +261,29 @@ class ThreadMessagesView extends React.Component {
const {
user, navigation, baseUrl, useRealName
} = this.props;
- if (item.isValid && item.isValid()) {
- return (
-
- );
- }
- return null;
+ return (
+
+ );
}
render() {
const { loading, messages } = this.state;
- if (!loading && this.messages.length === 0) {
+ if (!loading && messages.length === 0) {
return this.renderEmpty();
}
@@ -248,7 +296,7 @@ class ThreadMessagesView extends React.Component {
renderItem={this.renderItem}
style={styles.list}
contentContainerStyle={styles.contentContainer}
- keyExtractor={item => item._id}
+ keyExtractor={item => item.id}
onEndReached={this.load}
onEndReachedThreshold={0.5}
maxToRenderPerBatch={5}
@@ -268,7 +316,8 @@ const mapStateToProps = state => ({
username: state.login.user && state.login.user.username,
token: state.login.user && state.login.user.token
},
- useRealName: state.settings.UI_Use_Real_Name
+ useRealName: state.settings.UI_Use_Real_Name,
+ customEmojis: state.customEmojis
});
export default connect(mapStateToProps)(ThreadMessagesView);
diff --git a/babel.config.js b/babel.config.js
index 215ba473e..f40cb434c 100644
--- a/babel.config.js
+++ b/babel.config.js
@@ -1,5 +1,8 @@
module.exports = {
presets: ['module:metro-react-native-babel-preset'],
+ plugins: [
+ ['@babel/plugin-proposal-decorators', { legacy: true }]
+ ],
env: {
production: {
plugins: ['transform-remove-console']
diff --git a/e2e/11-changeserver.spec.js b/e2e/11-changeserver.spec.js
index 3dfaf0e54..84f7a3202 100644
--- a/e2e/11-changeserver.spec.js
+++ b/e2e/11-changeserver.spec.js
@@ -4,6 +4,22 @@ const {
const { takeScreenshot } = require('./helpers/screenshot');
const data = require('./data');
+// try open 3 times because it not open if is
+// connecting || updating
+async function openServerDropdown() {
+ let i = 0;
+ await element(by.id('rooms-list-header-server-dropdown-button')).tap();
+ while(i < 3) {
+ try {
+ await expect(element(by.id('rooms-list-header-server-dropdown'))).toExist();
+ break;
+ } catch (e) {
+ i += 1;
+ }
+ }
+};
+
+
describe('Change server', () => {
before(async() => {
await device.reloadReactNative();
@@ -12,7 +28,7 @@ describe('Change server', () => {
it('should add server and create new user', async() => {
// Navigate to add server
- await element(by.id('rooms-list-header-server-dropdown-button')).tap();
+ await openServerDropdown();
await waitFor(element(by.id('rooms-list-header-server-dropdown'))).toBeVisible().withTimeout(2000);
await element(by.id('rooms-list-header-server-add')).tap();
await waitFor(element(by.id('onboarding-view'))).toBeVisible().withTimeout(60000);
@@ -51,7 +67,7 @@ describe('Change server', () => {
});
it('should change server', async() => {
- await element(by.id('rooms-list-header-server-dropdown-button')).tap();
+ await openServerDropdown();
await waitFor(element(by.id('rooms-list-header-server-dropdown'))).toBeVisible().withTimeout(2000);
await element(by.id(`rooms-list-header-server-${ data.server }`)).tap();
await waitFor(element(by.id('rooms-list-view'))).toBeVisible().withTimeout(10000);
diff --git a/ios/Podfile.lock b/ios/Podfile.lock
index 80fb9bf4f..c413bbe39 100644
--- a/ios/Podfile.lock
+++ b/ios/Podfile.lock
@@ -167,8 +167,6 @@ PODS:
- React
- react-native-orientation-locker (1.1.6):
- React
- - react-native-realm-path (1.2.11):
- - React
- react-native-splash-screen (3.2.0):
- React
- react-native-video (5.0.0):
@@ -287,7 +285,6 @@ DEPENDENCIES:
- react-native-keyboard-tracking-view (from `../node_modules/react-native-keyboard-tracking-view`)
- react-native-notifications (from `../node_modules/react-native-notifications`)
- react-native-orientation-locker (from `../node_modules/react-native-orientation-locker`)
- - react-native-realm-path (from `../node_modules/react-native-realm-path`)
- react-native-splash-screen (from `../node_modules/react-native-splash-screen`)
- react-native-video (from `../node_modules/react-native-video`)
- react-native-webview (from `../node_modules/react-native-webview`)
@@ -401,8 +398,6 @@ EXTERNAL SOURCES:
:path: "../node_modules/react-native-notifications"
react-native-orientation-locker:
:path: "../node_modules/react-native-orientation-locker"
- react-native-realm-path:
- :path: "../node_modules/react-native-realm-path"
react-native-splash-screen:
:path: "../node_modules/react-native-splash-screen"
react-native-video:
@@ -529,7 +524,6 @@ SPEC CHECKSUMS:
react-native-keyboard-tracking-view: 1ebd24a2b6ca2314549aa51775995678094bffa1
react-native-notifications: 163ddedac6fcc8d850ea15b06abdadcacdff00f1
react-native-orientation-locker: 23918c400376a7043e752c639c122fcf6bce8f1c
- react-native-realm-path: 868473ea0bc4629850f1ec51a70d81055c06d091
react-native-splash-screen: 200d11d188e2e78cea3ad319964f6142b6384865
react-native-video: 6555881252c8ca039760e1cd6df28ac28ffb2baf
react-native-webview: 9f588ea09ede9bd1f5443f4aa4ddfadeb51fcd28
@@ -574,4 +568,4 @@ SPEC CHECKSUMS:
PODFILE CHECKSUM: 44d04dbfbc6cf6468fe34667ef014d00328c95ff
-COCOAPODS: 1.6.1
+COCOAPODS: 1.6.2
diff --git a/ios/Pods/Headers/Private/react-native-realm-path/RNRealmPath.h b/ios/Pods/Headers/Private/react-native-realm-path/RNRealmPath.h
deleted file mode 120000
index 48799a658..000000000
--- a/ios/Pods/Headers/Private/react-native-realm-path/RNRealmPath.h
+++ /dev/null
@@ -1 +0,0 @@
-../../../../../node_modules/react-native-realm-path/ios/RNRealmPath.h
\ No newline at end of file
diff --git a/ios/Pods/Headers/Public/react-native-realm-path/RNRealmPath.h b/ios/Pods/Headers/Public/react-native-realm-path/RNRealmPath.h
deleted file mode 120000
index 48799a658..000000000
--- a/ios/Pods/Headers/Public/react-native-realm-path/RNRealmPath.h
+++ /dev/null
@@ -1 +0,0 @@
-../../../../../node_modules/react-native-realm-path/ios/RNRealmPath.h
\ No newline at end of file
diff --git a/ios/Pods/Manifest.lock b/ios/Pods/Manifest.lock
index 80fb9bf4f..c413bbe39 100644
--- a/ios/Pods/Manifest.lock
+++ b/ios/Pods/Manifest.lock
@@ -167,8 +167,6 @@ PODS:
- React
- react-native-orientation-locker (1.1.6):
- React
- - react-native-realm-path (1.2.11):
- - React
- react-native-splash-screen (3.2.0):
- React
- react-native-video (5.0.0):
@@ -287,7 +285,6 @@ DEPENDENCIES:
- react-native-keyboard-tracking-view (from `../node_modules/react-native-keyboard-tracking-view`)
- react-native-notifications (from `../node_modules/react-native-notifications`)
- react-native-orientation-locker (from `../node_modules/react-native-orientation-locker`)
- - react-native-realm-path (from `../node_modules/react-native-realm-path`)
- react-native-splash-screen (from `../node_modules/react-native-splash-screen`)
- react-native-video (from `../node_modules/react-native-video`)
- react-native-webview (from `../node_modules/react-native-webview`)
@@ -401,8 +398,6 @@ EXTERNAL SOURCES:
:path: "../node_modules/react-native-notifications"
react-native-orientation-locker:
:path: "../node_modules/react-native-orientation-locker"
- react-native-realm-path:
- :path: "../node_modules/react-native-realm-path"
react-native-splash-screen:
:path: "../node_modules/react-native-splash-screen"
react-native-video:
@@ -529,7 +524,6 @@ SPEC CHECKSUMS:
react-native-keyboard-tracking-view: 1ebd24a2b6ca2314549aa51775995678094bffa1
react-native-notifications: 163ddedac6fcc8d850ea15b06abdadcacdff00f1
react-native-orientation-locker: 23918c400376a7043e752c639c122fcf6bce8f1c
- react-native-realm-path: 868473ea0bc4629850f1ec51a70d81055c06d091
react-native-splash-screen: 200d11d188e2e78cea3ad319964f6142b6384865
react-native-video: 6555881252c8ca039760e1cd6df28ac28ffb2baf
react-native-webview: 9f588ea09ede9bd1f5443f4aa4ddfadeb51fcd28
@@ -574,4 +568,4 @@ SPEC CHECKSUMS:
PODFILE CHECKSUM: 44d04dbfbc6cf6468fe34667ef014d00328c95ff
-COCOAPODS: 1.6.1
+COCOAPODS: 1.6.2
diff --git a/ios/Pods/Pods.xcodeproj/project.pbxproj b/ios/Pods/Pods.xcodeproj/project.pbxproj
index 17d54a452..f8745e749 100644
--- a/ios/Pods/Pods.xcodeproj/project.pbxproj
+++ b/ios/Pods/Pods.xcodeproj/project.pbxproj
@@ -21,15 +21,6 @@
);
name = FirebaseAnalytics;
};
- 2DDA31FEDED4744BE297E2881BB1F4C3 /* UMFaceDetectorInterface */ = {
- isa = PBXAggregateTarget;
- buildConfigurationList = CDF1CB2E670AD5B6FAAE9E9EFEFC1248 /* Build configuration list for PBXAggregateTarget "UMFaceDetectorInterface" */;
- buildPhases = (
- );
- dependencies = (
- );
- name = UMFaceDetectorInterface;
- };
2E01DDE6A1A8D7EE37042C7EA69F25FE /* React */ = {
isa = PBXAggregateTarget;
buildConfigurationList = 8D2EFE0FE8311293CF2DE010A71CAA8F /* Build configuration list for PBXAggregateTarget "React" */;
@@ -51,6 +42,15 @@
);
name = React;
};
+ 3B69A9EA6B436271134E84A5F9D5E424 /* UMBarCodeScannerInterface */ = {
+ isa = PBXAggregateTarget;
+ buildConfigurationList = 856A1DDE6B31DFB3C303AAF0B70FFC11 /* Build configuration list for PBXAggregateTarget "UMBarCodeScannerInterface" */;
+ buildPhases = (
+ );
+ dependencies = (
+ );
+ name = UMBarCodeScannerInterface;
+ };
458293E00EF1C1F42778F9425AD34AA4 /* UMConstantsInterface */ = {
isa = PBXAggregateTarget;
buildConfigurationList = 0D1C58C4F3C697682657D483AF1081D3 /* Build configuration list for PBXAggregateTarget "UMConstantsInterface" */;
@@ -71,15 +71,6 @@
);
name = GoogleAppMeasurement;
};
- 5B813AF083727DBD10D94AC3FCC9665E /* UMImageLoaderInterface */ = {
- isa = PBXAggregateTarget;
- buildConfigurationList = BDDB983BF5860214246801036DFF1733 /* Build configuration list for PBXAggregateTarget "UMImageLoaderInterface" */;
- buildPhases = (
- );
- dependencies = (
- );
- name = UMImageLoaderInterface;
- };
5C53A3A5621162049D9B4399173FAD68 /* UMPermissionsInterface */ = {
isa = PBXAggregateTarget;
buildConfigurationList = B381CD3971A7692A9DA4E5C5156E7297 /* Build configuration list for PBXAggregateTarget "UMPermissionsInterface" */;
@@ -89,23 +80,14 @@
);
name = UMPermissionsInterface;
};
- 5E59B39706A8E0F5D5C67FE2F337EE5F /* UMCameraInterface */ = {
+ 6334D75DB21EBF62A13013BA23D8F754 /* UMSensorsInterface */ = {
isa = PBXAggregateTarget;
- buildConfigurationList = 00D7011E94C53269BC61CEC0046D6A3A /* Build configuration list for PBXAggregateTarget "UMCameraInterface" */;
+ buildConfigurationList = 12273C8ADA6DA114F5C1CDE5A7742A34 /* Build configuration list for PBXAggregateTarget "UMSensorsInterface" */;
buildPhases = (
);
dependencies = (
);
- name = UMCameraInterface;
- };
- 64BB73387B4A0B997647464A7310466C /* UMFontInterface */ = {
- isa = PBXAggregateTarget;
- buildConfigurationList = 251B367484BAF874670D6BBB394CCA59 /* Build configuration list for PBXAggregateTarget "UMFontInterface" */;
- buildPhases = (
- );
- dependencies = (
- );
- name = UMFontInterface;
+ name = UMSensorsInterface;
};
66641B93FAF80FF325B2D7B4AD85056F /* boost-for-react-native */ = {
isa = PBXAggregateTarget;
@@ -136,15 +118,6 @@
);
name = Firebase;
};
- A9AF554C1800106CB1D2B325BCA89ED1 /* UMBarCodeScannerInterface */ = {
- isa = PBXAggregateTarget;
- buildConfigurationList = A004FF9A28989D4BBFA261F8CFC71F30 /* Build configuration list for PBXAggregateTarget "UMBarCodeScannerInterface" */;
- buildPhases = (
- );
- dependencies = (
- );
- name = UMBarCodeScannerInterface;
- };
ABA9A411BB5A359862E5F1AA6238278E /* Crashlytics */ = {
isa = PBXAggregateTarget;
buildConfigurationList = A084C0089544D8EEE7DA4C6D8EEEF9ED /* Build configuration list for PBXAggregateTarget "Crashlytics" */;
@@ -155,6 +128,15 @@
);
name = Crashlytics;
};
+ C410C8606887D8FF122B33CE15128A32 /* UMFaceDetectorInterface */ = {
+ isa = PBXAggregateTarget;
+ buildConfigurationList = 22041EDAE9711FF3C9FBABAB25C95D2D /* Build configuration list for PBXAggregateTarget "UMFaceDetectorInterface" */;
+ buildPhases = (
+ );
+ dependencies = (
+ );
+ name = UMFaceDetectorInterface;
+ };
D35E9EC86D36A4C8BC1704199FDB3552 /* Fabric */ = {
isa = PBXAggregateTarget;
buildConfigurationList = 13B185864087F75D556AC109B2D70BF7 /* Build configuration list for PBXAggregateTarget "Fabric" */;
@@ -164,1558 +146,1566 @@
);
name = Fabric;
};
- D6CC6A3A2F6667F0425D36DE14076E0E /* UMSensorsInterface */ = {
+ E04524804318D15217CEF52E30E1708E /* UMFontInterface */ = {
isa = PBXAggregateTarget;
- buildConfigurationList = 7EA279BBC6CD9E9735BC9A16EB0E7B85 /* Build configuration list for PBXAggregateTarget "UMSensorsInterface" */;
+ buildConfigurationList = 71D68E7B761A15AC5A5E220CC4684FF1 /* Build configuration list for PBXAggregateTarget "UMFontInterface" */;
buildPhases = (
);
dependencies = (
);
- name = UMSensorsInterface;
+ name = UMFontInterface;
};
- ED1B613713B07D993972524DC3EAC01A /* UMTaskManagerInterface */ = {
+ EDA7C16766C1EEC9F573A53FB699FB11 /* UMTaskManagerInterface */ = {
isa = PBXAggregateTarget;
- buildConfigurationList = CE1762B5413C49F200489B5FB59DF0E3 /* Build configuration list for PBXAggregateTarget "UMTaskManagerInterface" */;
+ buildConfigurationList = 3B6602728029FF775A2E04149CC0F6C2 /* Build configuration list for PBXAggregateTarget "UMTaskManagerInterface" */;
buildPhases = (
);
dependencies = (
);
name = UMTaskManagerInterface;
};
+ F363FA3E9696D7E05EE33F0FD872B0DB /* UMCameraInterface */ = {
+ isa = PBXAggregateTarget;
+ buildConfigurationList = 744D376625EFF3C3AE0E2E8FEB85A877 /* Build configuration list for PBXAggregateTarget "UMCameraInterface" */;
+ buildPhases = (
+ );
+ dependencies = (
+ );
+ name = UMCameraInterface;
+ };
+ F9997DB745F640B023798F155CEA2203 /* UMImageLoaderInterface */ = {
+ isa = PBXAggregateTarget;
+ buildConfigurationList = AB0B8E68C2029BC4CB4B15DF45A3F884 /* Build configuration list for PBXAggregateTarget "UMImageLoaderInterface" */;
+ buildPhases = (
+ );
+ dependencies = (
+ );
+ name = UMImageLoaderInterface;
+ };
/* End PBXAggregateTarget section */
/* Begin PBXBuildFile section */
004F5679B9467C475CCD10531838FAA0 /* FIRInstanceIDStore.h in Headers */ = {isa = PBXBuildFile; fileRef = 3C13898734A47229E6F6F466BDE343AD /* FIRInstanceIDStore.h */; settings = {ATTRIBUTES = (Project, ); }; };
- 00664055E778A675A220C8D08F1E31A9 /* RCTSurfaceHostingProxyRootView.mm in Sources */ = {isa = PBXBuildFile; fileRef = 8A55DC04D0AC4BBE556B892B675550FB /* RCTSurfaceHostingProxyRootView.mm */; settings = {COMPILER_FLAGS = "-DFOLLY_NO_CONFIG -DFOLLY_MOBILE=1 -DFOLLY_USE_LIBCPP=1 -Wno-comma -Wno-shorten-64-to-32 -Wno-documentation"; }; };
- 0076087A5D0A9126C568927085A061ED /* RCTBackedTextInputDelegate.h in Headers */ = {isa = PBXBuildFile; fileRef = 0464E5BC5B9DB1BFE4E6FDAAAA50D669 /* RCTBackedTextInputDelegate.h */; settings = {ATTRIBUTES = (Project, ); }; };
- 007C1605B563E2866A8DF49E9E62A4F1 /* RCTSourceCode.m in Sources */ = {isa = PBXBuildFile; fileRef = 120488CFE6CA354BA83547067DD827C6 /* RCTSourceCode.m */; settings = {COMPILER_FLAGS = "-DFOLLY_NO_CONFIG -DFOLLY_MOBILE=1 -DFOLLY_USE_LIBCPP=1 -Wno-comma -Wno-shorten-64-to-32 -Wno-documentation"; }; };
- 00900A3563D5A41FA78B8EBABB0A26A6 /* RCTTextRenderer.m in Sources */ = {isa = PBXBuildFile; fileRef = B35DACCFB4EB37A453A2232E1B7A9BF9 /* RCTTextRenderer.m */; };
- 00B3C290D54C5589EE73663C035CF6A4 /* RCTImageLoader.h in Headers */ = {isa = PBXBuildFile; fileRef = 6F64F7AF3C9CE0F2C21369C6DFFE8CA9 /* RCTImageLoader.h */; settings = {ATTRIBUTES = (Project, ); }; };
- 00D75AF8FBB1A9C336D3F1043CB3F959 /* RCTSurfaceStage.h in Headers */ = {isa = PBXBuildFile; fileRef = 4853BA35CACEB3C134E4FDE9BE6E4BC3 /* RCTSurfaceStage.h */; settings = {ATTRIBUTES = (Project, ); }; };
+ 00664055E778A675A220C8D08F1E31A9 /* RCTSurfaceHostingProxyRootView.mm in Sources */ = {isa = PBXBuildFile; fileRef = AB44CDE7F2E7FA1FA5EBF7F1BBD162D3 /* RCTSurfaceHostingProxyRootView.mm */; settings = {COMPILER_FLAGS = "-DFOLLY_NO_CONFIG -DFOLLY_MOBILE=1 -DFOLLY_USE_LIBCPP=1 -Wno-comma -Wno-shorten-64-to-32 -Wno-documentation"; }; };
+ 0076087A5D0A9126C568927085A061ED /* RCTBackedTextInputDelegate.h in Headers */ = {isa = PBXBuildFile; fileRef = 3882DD499911B65A89B7F29ECAE2A451 /* RCTBackedTextInputDelegate.h */; settings = {ATTRIBUTES = (Project, ); }; };
+ 007C1605B563E2866A8DF49E9E62A4F1 /* RCTSourceCode.m in Sources */ = {isa = PBXBuildFile; fileRef = C3A766D33FE50703EDD1840F32BD55C8 /* RCTSourceCode.m */; settings = {COMPILER_FLAGS = "-DFOLLY_NO_CONFIG -DFOLLY_MOBILE=1 -DFOLLY_USE_LIBCPP=1 -Wno-comma -Wno-shorten-64-to-32 -Wno-documentation"; }; };
+ 00900A3563D5A41FA78B8EBABB0A26A6 /* RCTTextRenderer.m in Sources */ = {isa = PBXBuildFile; fileRef = 405DD781A9EEE4174E83F9DBC9E965D1 /* RCTTextRenderer.m */; };
+ 00B3C290D54C5589EE73663C035CF6A4 /* RCTImageLoader.h in Headers */ = {isa = PBXBuildFile; fileRef = 4035F798CE6E199DDCE582565750FE41 /* RCTImageLoader.h */; settings = {ATTRIBUTES = (Project, ); }; };
+ 00D6012196FFF0B2E3F84D3B99874104 /* RCTVideo.m in Sources */ = {isa = PBXBuildFile; fileRef = A2EE1C609A09D643F8923469D39C44B9 /* RCTVideo.m */; };
+ 00D75AF8FBB1A9C336D3F1043CB3F959 /* RCTSurfaceStage.h in Headers */ = {isa = PBXBuildFile; fileRef = F3EBE3A3E4569394452494482888B53F /* RCTSurfaceStage.h */; settings = {ATTRIBUTES = (Project, ); }; };
00FAD6C011B67C0B8057A2D664227716 /* rescaler.c in Sources */ = {isa = PBXBuildFile; fileRef = D2C00A723DDB533A46756978C839414F /* rescaler.c */; settings = {COMPILER_FLAGS = "-D_THREAD_SAFE -fno-objc-arc"; }; };
- 0121F190D0D909AFB9E2E0931CB62BF5 /* SDWebImageTransition.h in Headers */ = {isa = PBXBuildFile; fileRef = 8CA2F8A58E56FD16B199EBF237E60427 /* SDWebImageTransition.h */; settings = {ATTRIBUTES = (Project, ); }; };
- 01368A7C0F64AB46F26BE789ACF54371 /* BSG_RFC3339DateTool.h in Headers */ = {isa = PBXBuildFile; fileRef = FD26F39D3E7F94049DA457B643471C73 /* BSG_RFC3339DateTool.h */; settings = {ATTRIBUTES = (Project, ); }; };
- 01DAAE65ED5BEBE1A0947A4399BA8C2D /* RCTDatePickerManager.h in Headers */ = {isa = PBXBuildFile; fileRef = 55BC85CC08A912BED48AF9880BDBE684 /* RCTDatePickerManager.h */; settings = {ATTRIBUTES = (Project, ); }; };
- 021104542A2A5534A044E7F8EDDCC1AC /* UMEventEmitterService.h in Headers */ = {isa = PBXBuildFile; fileRef = B4B9CC95A8C7B5D6F22C457A6CB72C0A /* UMEventEmitterService.h */; settings = {ATTRIBUTES = (Project, ); }; };
+ 01368A7C0F64AB46F26BE789ACF54371 /* BSG_RFC3339DateTool.h in Headers */ = {isa = PBXBuildFile; fileRef = 057CCE91FA925F5DC262423F64110BB3 /* BSG_RFC3339DateTool.h */; settings = {ATTRIBUTES = (Project, ); }; };
+ 01DAAE65ED5BEBE1A0947A4399BA8C2D /* RCTDatePickerManager.h in Headers */ = {isa = PBXBuildFile; fileRef = 8D801EBC3866C603551B5036275EB992 /* RCTDatePickerManager.h */; settings = {ATTRIBUTES = (Project, ); }; };
+ 021104542A2A5534A044E7F8EDDCC1AC /* UMEventEmitterService.h in Headers */ = {isa = PBXBuildFile; fileRef = 35C99687EBFDB3ECC824C24342B13520 /* UMEventEmitterService.h */; settings = {ATTRIBUTES = (Project, ); }; };
025C5E676828C11A8A6C602CEFCEF805 /* cost_sse2.c in Sources */ = {isa = PBXBuildFile; fileRef = 42D99890DE4E50157554A36BE513F209 /* cost_sse2.c */; settings = {COMPILER_FLAGS = "-D_THREAD_SAFE -fno-objc-arc"; }; };
- 029C321F1429838EF29F0D4789B56B13 /* RCTComponentData.m in Sources */ = {isa = PBXBuildFile; fileRef = 46B52814CDBB4E7F2C76EFAC276737AB /* RCTComponentData.m */; settings = {COMPILER_FLAGS = "-DFOLLY_NO_CONFIG -DFOLLY_MOBILE=1 -DFOLLY_USE_LIBCPP=1 -Wno-comma -Wno-shorten-64-to-32 -Wno-documentation"; }; };
- 029D21FF882024FEF7B15CC0D30DE968 /* RCTExceptionsManager.m in Sources */ = {isa = PBXBuildFile; fileRef = 4E47C222B5D1528DF90040A1584F9155 /* RCTExceptionsManager.m */; settings = {COMPILER_FLAGS = "-DFOLLY_NO_CONFIG -DFOLLY_MOBILE=1 -DFOLLY_USE_LIBCPP=1 -Wno-comma -Wno-shorten-64-to-32 -Wno-documentation"; }; };
- 02A16C926C5F709792EFDCE704713888 /* RCTImageCache.m in Sources */ = {isa = PBXBuildFile; fileRef = 4AF8ED2839C33D693DC993BC499F7227 /* RCTImageCache.m */; };
+ 029C321F1429838EF29F0D4789B56B13 /* RCTComponentData.m in Sources */ = {isa = PBXBuildFile; fileRef = 01D96701D2CDF7D3696C994FA973FC1D /* RCTComponentData.m */; settings = {COMPILER_FLAGS = "-DFOLLY_NO_CONFIG -DFOLLY_MOBILE=1 -DFOLLY_USE_LIBCPP=1 -Wno-comma -Wno-shorten-64-to-32 -Wno-documentation"; }; };
+ 029D21FF882024FEF7B15CC0D30DE968 /* RCTExceptionsManager.m in Sources */ = {isa = PBXBuildFile; fileRef = 096CCA033BF05DB3310F294E9F3682F0 /* RCTExceptionsManager.m */; settings = {COMPILER_FLAGS = "-DFOLLY_NO_CONFIG -DFOLLY_MOBILE=1 -DFOLLY_USE_LIBCPP=1 -Wno-comma -Wno-shorten-64-to-32 -Wno-documentation"; }; };
+ 02A16C926C5F709792EFDCE704713888 /* RCTImageCache.m in Sources */ = {isa = PBXBuildFile; fileRef = 636E39C7DBBF6116EC6461E3869F2A5A /* RCTImageCache.m */; };
02CC3115AB4B885AB679CB89CAA22686 /* alpha_dec.c in Sources */ = {isa = PBXBuildFile; fileRef = D94428A50A19211CAD2AE58AF08B3F08 /* alpha_dec.c */; settings = {COMPILER_FLAGS = "-D_THREAD_SAFE -fno-objc-arc"; }; };
0317CDBD45DD1F08482E2C1D2C55D2D5 /* upsampling_mips_dsp_r2.c in Sources */ = {isa = PBXBuildFile; fileRef = 53A6E4908FB17BD3CBD355CB5CC59010 /* upsampling_mips_dsp_r2.c */; settings = {COMPILER_FLAGS = "-D_THREAD_SAFE -fno-objc-arc"; }; };
03311832FDD91A029F016815F69BA8EF /* FIRInstanceIDCheckinPreferences+Internal.h in Headers */ = {isa = PBXBuildFile; fileRef = 0A3EC18BDD1D47457ADB26F2BB322211 /* FIRInstanceIDCheckinPreferences+Internal.h */; settings = {ATTRIBUTES = (Project, ); }; };
03625EE23D0D87639BBC3435094567CD /* FIRInstanceIDStringEncoding.h in Headers */ = {isa = PBXBuildFile; fileRef = 0FD94AA2BB35EB3D20F5535BA7FA60B9 /* FIRInstanceIDStringEncoding.h */; settings = {ATTRIBUTES = (Project, ); }; };
- 03966A10C42CB4209F101877BD2C8AA7 /* RNCommandsHandler.m in Sources */ = {isa = PBXBuildFile; fileRef = 163EAA53C52FDF6E026ED94347BCC876 /* RNCommandsHandler.m */; };
- 039EFED9678556D7BA711704F32B8F32 /* RNTapHandler.h in Headers */ = {isa = PBXBuildFile; fileRef = F56345415EAA87909D36D65EEA68F863 /* RNTapHandler.h */; settings = {ATTRIBUTES = (Project, ); }; };
- 03AC072102F8284DBB239103C77E9025 /* SDWebImagePrefetcher.h in Headers */ = {isa = PBXBuildFile; fileRef = 6AAE35F4BCC73F18E6E3D5E48BE35417 /* SDWebImagePrefetcher.h */; settings = {ATTRIBUTES = (Project, ); }; };
03B1BCBB960C0747FF8037C28EF82574 /* decode.h in Headers */ = {isa = PBXBuildFile; fileRef = 5C16EE0B0291346B1C2031D60B1E0EDB /* decode.h */; settings = {ATTRIBUTES = (Project, ); }; };
- 03D57FE8E53738C2DECBBED788EAEFAD /* SDAsyncBlockOperation.m in Sources */ = {isa = PBXBuildFile; fileRef = 9B4427C9D0FED734954FFFFAF5D84568 /* SDAsyncBlockOperation.m */; };
- 03D961CDABD9CE7AED36DB679390D0DF /* RCTViewManager.h in Headers */ = {isa = PBXBuildFile; fileRef = D899E196314E9889699B55D5BF9BC192 /* RCTViewManager.h */; settings = {ATTRIBUTES = (Project, ); }; };
- 040E8091B0CA92FB14FE9287967F6947 /* UIApplication+RSKImageCropper.h in Headers */ = {isa = PBXBuildFile; fileRef = 053D5F7EFA0CF8AD22EB12CF9DFC2D1B /* UIApplication+RSKImageCropper.h */; settings = {ATTRIBUTES = (Project, ); }; };
- 041448B169958668031636A8A8EAED40 /* SDAnimatedImageRep.m in Sources */ = {isa = PBXBuildFile; fileRef = A4DB9B61BB444EC3FDABA5E04EA4B2F5 /* SDAnimatedImageRep.m */; };
+ 03D961CDABD9CE7AED36DB679390D0DF /* RCTViewManager.h in Headers */ = {isa = PBXBuildFile; fileRef = 5C16A53739D56448ED5FDFB1AA382358 /* RCTViewManager.h */; settings = {ATTRIBUTES = (Project, ); }; };
+ 041221CE582AB6872CC12AB4BF953166 /* SDWebImageCompat.m in Sources */ = {isa = PBXBuildFile; fileRef = 65C7AC0E687A4458907CEE9CB43FC2B2 /* SDWebImageCompat.m */; };
0415955DF1142B1087CD77F9631924BE /* vp8_dec.c in Sources */ = {isa = PBXBuildFile; fileRef = 86F8703C9AEF98BC4A906D6840BC3367 /* vp8_dec.c */; settings = {COMPILER_FLAGS = "-D_THREAD_SAFE -fno-objc-arc"; }; };
- 046AC6EE7F95C7DC731C8B095D73CCE8 /* RSKInternalUtility.m in Sources */ = {isa = PBXBuildFile; fileRef = D45BF9100908AE41F56695A49C6148C6 /* RSKInternalUtility.m */; };
- 04F8F73AF0122317FA4598734000ABC3 /* RCTRefreshControlManager.h in Headers */ = {isa = PBXBuildFile; fileRef = F1344F9C40A7643EB2C4BC7186403F56 /* RCTRefreshControlManager.h */; settings = {ATTRIBUTES = (Project, ); }; };
- 05351A5B8B896B245A1726ECA65BC607 /* BugsnagMetaData.h in Headers */ = {isa = PBXBuildFile; fileRef = 49291B7A37E63421C9DB9E14C518D919 /* BugsnagMetaData.h */; settings = {ATTRIBUTES = (Project, ); }; };
- 0559665081D32809E6BCFEDFF6DD56E6 /* QBAssetCell.m in Sources */ = {isa = PBXBuildFile; fileRef = 2659D2392EE12A28990CEC1FF919FEC1 /* QBAssetCell.m */; };
+ 04E7C3A123CF7B7A1B07E43EACAE4E4F /* RNSplashScreen.m in Sources */ = {isa = PBXBuildFile; fileRef = 697E41DFD6433B997F14571857D780FD /* RNSplashScreen.m */; };
+ 04F8F73AF0122317FA4598734000ABC3 /* RCTRefreshControlManager.h in Headers */ = {isa = PBXBuildFile; fileRef = 9121BA1A2C86D39CB10D7F63DFEC29AD /* RCTRefreshControlManager.h */; settings = {ATTRIBUTES = (Project, ); }; };
+ 05351A5B8B896B245A1726ECA65BC607 /* BugsnagMetaData.h in Headers */ = {isa = PBXBuildFile; fileRef = D6B7AFA20DBF0BE5AB861366FC2A4ED0 /* BugsnagMetaData.h */; settings = {ATTRIBUTES = (Project, ); }; };
+ 059616AD8F987718CB8062456AA7F3E6 /* RNFetchBlobRequest.h in Headers */ = {isa = PBXBuildFile; fileRef = 06CF1C3DAD271F6E959834CFDA6CAAE5 /* RNFetchBlobRequest.h */; settings = {ATTRIBUTES = (Project, ); }; };
05F0BE6D01F6317AB56399068AA03408 /* GULNetworkURLSession.m in Sources */ = {isa = PBXBuildFile; fileRef = 2A26029E7B9792F94B7A87A7199A515C /* GULNetworkURLSession.m */; };
- 0655C67AAC0270A48450D685996E5738 /* RNFirebasePerformance.m in Sources */ = {isa = PBXBuildFile; fileRef = AB4CF4346DCDC4A241B97A52C790F58D /* RNFirebasePerformance.m */; };
- 066EF45D802AAC2C110DC22452A23229 /* RCTBaseTextInputView.h in Headers */ = {isa = PBXBuildFile; fileRef = 299D3D4116614E848FD0BB83DA2AA992 /* RCTBaseTextInputView.h */; settings = {ATTRIBUTES = (Project, ); }; };
- 06705DFEA732ABFFDD780F44040BC61E /* RNFetchBlobConst.h in Headers */ = {isa = PBXBuildFile; fileRef = 8578EE6DC724591FB2FC24BE03CD6D14 /* RNFetchBlobConst.h */; settings = {ATTRIBUTES = (Project, ); }; };
- 06735033B34AEF1BA6AEF53D1E112FA9 /* SDWebImageTransition.m in Sources */ = {isa = PBXBuildFile; fileRef = EF29495075911B7A60A09DE458A8CA4F /* SDWebImageTransition.m */; };
- 067896AB1DB5B475FA52835500A8A287 /* RCTLayout.m in Sources */ = {isa = PBXBuildFile; fileRef = 22D9056CA998FB02EDDE47AE9BA304A7 /* RCTLayout.m */; settings = {COMPILER_FLAGS = "-DFOLLY_NO_CONFIG -DFOLLY_MOBILE=1 -DFOLLY_USE_LIBCPP=1 -Wno-comma -Wno-shorten-64-to-32 -Wno-documentation"; }; };
- 069177CF722127667C4EF0F2C374D94A /* RCTTouchHandler.m in Sources */ = {isa = PBXBuildFile; fileRef = 354235FB3CDEEF063D26F02C4228DA33 /* RCTTouchHandler.m */; settings = {COMPILER_FLAGS = "-DFOLLY_NO_CONFIG -DFOLLY_MOBILE=1 -DFOLLY_USE_LIBCPP=1 -Wno-comma -Wno-shorten-64-to-32 -Wno-documentation"; }; };
- 06D478B831B9114B91D9D50C45252B19 /* RNRotationHandler.m in Sources */ = {isa = PBXBuildFile; fileRef = 42384B1530242F53DE3FA13E33042ADE /* RNRotationHandler.m */; };
- 06FD1DC2BDFAC62387ACA3E2C65D8C26 /* QBImagePickerController-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = B36157532C4339F5003B9E44EA90FEAF /* QBImagePickerController-dummy.m */; };
- 079899D5F89F5E17D0C8018DA4F1D343 /* BugsnagSessionTracker.m in Sources */ = {isa = PBXBuildFile; fileRef = 7878C4AD5ECB41ECA4C402A035C23128 /* BugsnagSessionTracker.m */; };
- 07D7C7F1356815A0BA77E1832F8FC7C0 /* RNPinchHandler.h in Headers */ = {isa = PBXBuildFile; fileRef = B59093C7329433D1DA1EAF397CB79329 /* RNPinchHandler.h */; settings = {ATTRIBUTES = (Project, ); }; };
- 0811C6C76A44F896696F32B8347DD05C /* DispatchMessageQueueThread.h in Headers */ = {isa = PBXBuildFile; fileRef = 330FAA4CA65F440E5478DC09BE4F0D31 /* DispatchMessageQueueThread.h */; settings = {ATTRIBUTES = (Project, ); }; };
- 083370B054B0B72BAF5B8AE50713BC32 /* RCTVersion.m in Sources */ = {isa = PBXBuildFile; fileRef = 120FDF2AF81F8A4351770176FDD5A27E /* RCTVersion.m */; settings = {COMPILER_FLAGS = "-DFOLLY_NO_CONFIG -DFOLLY_MOBILE=1 -DFOLLY_USE_LIBCPP=1 -Wno-comma -Wno-shorten-64-to-32 -Wno-documentation"; }; };
+ 0642D84A67617D938A0A58155367BD30 /* SDAnimatedImageView+WebCache.m in Sources */ = {isa = PBXBuildFile; fileRef = 9B535E6EEAB5A738D9886E57482F849F /* SDAnimatedImageView+WebCache.m */; };
+ 064932633B6E2527C84A87044C9AE3A5 /* RNFirebase.h in Headers */ = {isa = PBXBuildFile; fileRef = D4FAE8F86C26D12B4FF6D9DABDA6F009 /* RNFirebase.h */; settings = {ATTRIBUTES = (Project, ); }; };
+ 066EF45D802AAC2C110DC22452A23229 /* RCTBaseTextInputView.h in Headers */ = {isa = PBXBuildFile; fileRef = 619174F8C24BD7718903D028B50FCF38 /* RCTBaseTextInputView.h */; settings = {ATTRIBUTES = (Project, ); }; };
+ 067896AB1DB5B475FA52835500A8A287 /* RCTLayout.m in Sources */ = {isa = PBXBuildFile; fileRef = ED8841B7F8C3C74C2222E6E7B24A1B33 /* RCTLayout.m */; settings = {COMPILER_FLAGS = "-DFOLLY_NO_CONFIG -DFOLLY_MOBILE=1 -DFOLLY_USE_LIBCPP=1 -Wno-comma -Wno-shorten-64-to-32 -Wno-documentation"; }; };
+ 069177CF722127667C4EF0F2C374D94A /* RCTTouchHandler.m in Sources */ = {isa = PBXBuildFile; fileRef = E409C4255F662B32D65F773E63D4FF59 /* RCTTouchHandler.m */; settings = {COMPILER_FLAGS = "-DFOLLY_NO_CONFIG -DFOLLY_MOBILE=1 -DFOLLY_USE_LIBCPP=1 -Wno-comma -Wno-shorten-64-to-32 -Wno-documentation"; }; };
+ 06ADFA96872CB11DA250B2967983DEBE /* NSImage+Compatibility.m in Sources */ = {isa = PBXBuildFile; fileRef = CC25C098200B215F002DBFAF31C95974 /* NSImage+Compatibility.m */; };
+ 06EE80EF6A315E5CF61D31CB1B3A5383 /* RNPushKit.h in Headers */ = {isa = PBXBuildFile; fileRef = 3C4FE190B076E9359AAA02CE22682FAD /* RNPushKit.h */; settings = {ATTRIBUTES = (Project, ); }; };
+ 06F42CF742D734DAB24302A379521E55 /* UMNativeModulesProxy.h in Headers */ = {isa = PBXBuildFile; fileRef = F184B02522E9D2CD905E74CFB3C84170 /* UMNativeModulesProxy.h */; settings = {ATTRIBUTES = (Project, ); }; };
+ 073DFD9E336DB9B790434B48F6C48525 /* RNCWKWebViewManager.m in Sources */ = {isa = PBXBuildFile; fileRef = 4026BECB547123989E754C877824ED80 /* RNCWKWebViewManager.m */; };
+ 078E761A19CAE3117370C4BA6494929D /* QBImagePicker.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 815AB2726183E96338A3CB0E0FB94F67 /* QBImagePicker.storyboard */; };
+ 079899D5F89F5E17D0C8018DA4F1D343 /* BugsnagSessionTracker.m in Sources */ = {isa = PBXBuildFile; fileRef = D608823C227963A18417D6B9E6FC6BAF /* BugsnagSessionTracker.m */; };
+ 0799A2FEF2EE0CC7D3A90376DF0F6D67 /* SDWeakProxy.h in Headers */ = {isa = PBXBuildFile; fileRef = 12F9D5ADBA42BFAEFC1CF9EB1CE0A335 /* SDWeakProxy.h */; settings = {ATTRIBUTES = (Project, ); }; };
+ 07FBADF386A8F4570CB2D3A6182AE87B /* UIImage+GIF.m in Sources */ = {isa = PBXBuildFile; fileRef = C5B6130EFD4A44884D1AB5C6FA196757 /* UIImage+GIF.m */; };
+ 0811C6C76A44F896696F32B8347DD05C /* DispatchMessageQueueThread.h in Headers */ = {isa = PBXBuildFile; fileRef = 861FD53864A28A968F192F3DED079839 /* DispatchMessageQueueThread.h */; settings = {ATTRIBUTES = (Project, ); }; };
+ 083370B054B0B72BAF5B8AE50713BC32 /* RCTVersion.m in Sources */ = {isa = PBXBuildFile; fileRef = E839FDDD3E30311B173B8566773D4B11 /* RCTVersion.m */; settings = {COMPILER_FLAGS = "-DFOLLY_NO_CONFIG -DFOLLY_MOBILE=1 -DFOLLY_USE_LIBCPP=1 -Wno-comma -Wno-shorten-64-to-32 -Wno-documentation"; }; };
08602634F40722C30A90B6F3572B639A /* alpha_enc.c in Sources */ = {isa = PBXBuildFile; fileRef = 51B3484E9A13910E2BE6F88836177866 /* alpha_enc.c */; settings = {COMPILER_FLAGS = "-D_THREAD_SAFE -fno-objc-arc"; }; };
- 0872D088E6148BEB466E631E9B3087C0 /* SDAnimatedImageView+WebCache.m in Sources */ = {isa = PBXBuildFile; fileRef = 9B535E6EEAB5A738D9886E57482F849F /* SDAnimatedImageView+WebCache.m */; };
088BF218B07C48D03EF2675C5D535264 /* FIRInstanceIDCheckinPreferences.m in Sources */ = {isa = PBXBuildFile; fileRef = 26285524367E43F85AA86CA5D261B98B /* FIRInstanceIDCheckinPreferences.m */; };
- 08D3AA9C6A06748B16B1941F8AC9ECBE /* RCTSafeAreaViewLocalData.m in Sources */ = {isa = PBXBuildFile; fileRef = 40FEA1B08B5DE77EB006F2F31F868D9C /* RCTSafeAreaViewLocalData.m */; settings = {COMPILER_FLAGS = "-DFOLLY_NO_CONFIG -DFOLLY_MOBILE=1 -DFOLLY_USE_LIBCPP=1 -Wno-comma -Wno-shorten-64-to-32 -Wno-documentation"; }; };
- 092EFF5054C9A6770A3C0932AD4570BA /* BSG_KSSystemCapabilities.h in Headers */ = {isa = PBXBuildFile; fileRef = 7F43F2188E35E3312FADCC60008FD32A /* BSG_KSSystemCapabilities.h */; settings = {ATTRIBUTES = (Project, ); }; };
- 09A65E7374939090CDC9373BEABBABD0 /* UIResponder+FirstResponder.h in Headers */ = {isa = PBXBuildFile; fileRef = C75F5DE8F05BD594B63EE45E9A79119B /* UIResponder+FirstResponder.h */; settings = {ATTRIBUTES = (Project, ); }; };
+ 08AB45CC41AD80BD20E7970223B9D37A /* QBVideoIconView.h in Headers */ = {isa = PBXBuildFile; fileRef = AB7BDB4BE95825E690479D7450968ED6 /* QBVideoIconView.h */; settings = {ATTRIBUTES = (Project, ); }; };
+ 08D3AA9C6A06748B16B1941F8AC9ECBE /* RCTSafeAreaViewLocalData.m in Sources */ = {isa = PBXBuildFile; fileRef = 3176281F5954C88F04E78ACC7533E73A /* RCTSafeAreaViewLocalData.m */; settings = {COMPILER_FLAGS = "-DFOLLY_NO_CONFIG -DFOLLY_MOBILE=1 -DFOLLY_USE_LIBCPP=1 -Wno-comma -Wno-shorten-64-to-32 -Wno-documentation"; }; };
+ 091846C9A1B38CA5036B95379937F2E4 /* UIImage+ForceDecode.m in Sources */ = {isa = PBXBuildFile; fileRef = BE4CBA3B16A3556A65EC5F0CD9C291DF /* UIImage+ForceDecode.m */; };
+ 092EFF5054C9A6770A3C0932AD4570BA /* BSG_KSSystemCapabilities.h in Headers */ = {isa = PBXBuildFile; fileRef = 4BAE6451A52DA6DA0E5B956A6EF61DE2 /* BSG_KSSystemCapabilities.h */; settings = {ATTRIBUTES = (Project, ); }; };
+ 09B850C17A82AD88DB79D8B2CA47E8D2 /* UMReactLogHandler.h in Headers */ = {isa = PBXBuildFile; fileRef = 05083A90161E576EB4E3162EA08766DB /* UMReactLogHandler.h */; settings = {ATTRIBUTES = (Project, ); }; };
09BA2B85B4D3A18F7D1E57BB80828BD9 /* GULNetworkConstants.m in Sources */ = {isa = PBXBuildFile; fileRef = A124415EEAFFD11305E9444D3D27901A /* GULNetworkConstants.m */; };
- 09BEC969ADC23BF715D350A17239E6C3 /* RCTFileReaderModule.h in Headers */ = {isa = PBXBuildFile; fileRef = EF556CB85960B3B298079604546DAF2A /* RCTFileReaderModule.h */; settings = {ATTRIBUTES = (Project, ); }; };
- 0A0244F2163A06486D13DABB23A2E2C5 /* UMModuleRegistryAdapter.m in Sources */ = {isa = PBXBuildFile; fileRef = 9CA9505738B895513813C7DE1D94A51D /* UMModuleRegistryAdapter.m */; };
+ 09BEC969ADC23BF715D350A17239E6C3 /* RCTFileReaderModule.h in Headers */ = {isa = PBXBuildFile; fileRef = F756CABAE1E800F197D5AD3AB0DB51F3 /* RCTFileReaderModule.h */; settings = {ATTRIBUTES = (Project, ); }; };
0A21F9EAD7C7BBFCA0EC138FA971EFAB /* FIRComponentContainerInternal.h in Headers */ = {isa = PBXBuildFile; fileRef = 689916F92A79A2906661A96389345605 /* FIRComponentContainerInternal.h */; settings = {ATTRIBUTES = (Project, ); }; };
- 0A2DFF26F8C1ED8DFEB68307E34B38F7 /* RAMBundleRegistry.h in Headers */ = {isa = PBXBuildFile; fileRef = FB269D01BA5D9EB7147BD53185C7A0C0 /* RAMBundleRegistry.h */; settings = {ATTRIBUTES = (Project, ); }; };
+ 0A2DFF26F8C1ED8DFEB68307E34B38F7 /* RAMBundleRegistry.h in Headers */ = {isa = PBXBuildFile; fileRef = 82098525302D96A7293AECC771C71156 /* RAMBundleRegistry.h */; settings = {ATTRIBUTES = (Project, ); }; };
0A60FAE5E612F6DFC5ED51806B14EE7A /* FIRComponent.h in Headers */ = {isa = PBXBuildFile; fileRef = 1425A717264D4C3EEF185548FEAFDF8D /* FIRComponent.h */; settings = {ATTRIBUTES = (Project, ); }; };
- 0A629F36BF9E586869F486637161BCE7 /* RNCWKWebViewManager.m in Sources */ = {isa = PBXBuildFile; fileRef = 8DDFC72724AE7C34E0CCF624F0073E90 /* RNCWKWebViewManager.m */; };
- 0A76649C0F84B3057F6855C62EA84A9C /* UMReactLogHandler.m in Sources */ = {isa = PBXBuildFile; fileRef = 515E3F805C595ECB45D52F3962684374 /* UMReactLogHandler.m */; };
- 0A9EF37FAA8871089BFCA87CF9330A9E /* YGValue.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FD59F55C366A9EEB5B2585EFDABF6624 /* YGValue.cpp */; settings = {COMPILER_FLAGS = "-fno-omit-frame-pointer -fexceptions -Wall -Werror -std=c++1y -fPIC -fno-objc-arc"; }; };
- 0AEFF092A4A5AFFDCB406657BDBE18B8 /* UIApplication+RSKImageCropper.m in Sources */ = {isa = PBXBuildFile; fileRef = 0E5858952BC255E4AF38438449DD6844 /* UIApplication+RSKImageCropper.m */; };
- 0AF6BA576D35D654821BFCF4FF45BA6E /* RCTTextView.m in Sources */ = {isa = PBXBuildFile; fileRef = 657387AE1563CCA53656B3B4449FA6A5 /* RCTTextView.m */; };
- 0B2D30F38EB2951F5650351BB4C018E6 /* EXRemoteNotificationRequester.m in Sources */ = {isa = PBXBuildFile; fileRef = 610361A5359920F2BBB1C5043C022B2C /* EXRemoteNotificationRequester.m */; };
- 0B77F3D1F6A848DDB9BBC5A9CDA31400 /* RNFirebaseAdMobRewardedVideo.h in Headers */ = {isa = PBXBuildFile; fileRef = 4D6AD91E59B6B6655E885D3B0E291353 /* RNFirebaseAdMobRewardedVideo.h */; settings = {ATTRIBUTES = (Project, ); }; };
- 0B9D1CE5188E7A7FB602B85B7A071C29 /* BugsnagErrorReportApiClient.h in Headers */ = {isa = PBXBuildFile; fileRef = BFD9E5D452B544D2566499966F622B11 /* BugsnagErrorReportApiClient.h */; settings = {ATTRIBUTES = (Project, ); }; };
- 0BF30DE07ABB3C4E08F723DD89C5BDAD /* SDImageWebPCoder.h in Headers */ = {isa = PBXBuildFile; fileRef = 81D747E2F3E6EBEAAA0E0A5F0B1389BE /* SDImageWebPCoder.h */; settings = {ATTRIBUTES = (Project, ); }; };
- 0BFD785C45A1DEBB3800DC8743FA2605 /* RCTBaseTextViewManager.m in Sources */ = {isa = PBXBuildFile; fileRef = 7D48428248650DC5C0D1F94C34C22E5E /* RCTBaseTextViewManager.m */; };
- 0C0E5D5C54B1E25D3F403E49FAA8D89E /* NSTextStorage+FontScaling.m in Sources */ = {isa = PBXBuildFile; fileRef = 70FB96A785742CA0F9AD30C59DE74DAA /* NSTextStorage+FontScaling.m */; };
- 0C2100DD0457156462484EB53C3CA06E /* RCTView.m in Sources */ = {isa = PBXBuildFile; fileRef = 28D6256556E3200570F22AC51026DDBA /* RCTView.m */; settings = {COMPILER_FLAGS = "-DFOLLY_NO_CONFIG -DFOLLY_MOBILE=1 -DFOLLY_USE_LIBCPP=1 -Wno-comma -Wno-shorten-64-to-32 -Wno-documentation"; }; };
- 0C2A5DC47FE2D6837EA44C99ABFD5834 /* EXFileSystem.h in Headers */ = {isa = PBXBuildFile; fileRef = 22F7B3127CDBB2568BD4E1EA7AD5AE3D /* EXFileSystem.h */; settings = {ATTRIBUTES = (Project, ); }; };
- 0C2B9BDBC9E4B725C6988338F9ED750B /* SDWebImageCacheSerializer.m in Sources */ = {isa = PBXBuildFile; fileRef = D20E1682D7D3604A18EE3223D623EF65 /* SDWebImageCacheSerializer.m */; };
- 0C631B56D84BB38DC0844EBACC4893C5 /* EXLocationRequester.m in Sources */ = {isa = PBXBuildFile; fileRef = 9FAA956493738164301267D015CC8A62 /* EXLocationRequester.m */; };
- 0CAE8289FF666A68EC348F641F4BBE0C /* DeviceUID.m in Sources */ = {isa = PBXBuildFile; fileRef = 8BFCBAD0BA5F23A8E929682694C55261 /* DeviceUID.m */; };
- 0CC901A8E6EC0EF9688152C36D37A479 /* RSKTouchView.m in Sources */ = {isa = PBXBuildFile; fileRef = 0A4FE3FA0CEDA12B91E1EE8CCFB152E2 /* RSKTouchView.m */; };
- 0CEC0252D57A471D6DBD55723F13DDF7 /* RCTAccessibilityManager.h in Headers */ = {isa = PBXBuildFile; fileRef = 756CA3D46491D4105C680C6622F2B1C1 /* RCTAccessibilityManager.h */; settings = {ATTRIBUTES = (Project, ); }; };
- 0CFFC0796941C41583D75A40559E9515 /* JSExecutor.h in Headers */ = {isa = PBXBuildFile; fileRef = 5FC06650748B2C34E96B69058DB35515 /* JSExecutor.h */; settings = {ATTRIBUTES = (Project, ); }; };
- 0D08AB6B2C2CE84F51F8570C652DDF4F /* BugsnagFileStore.h in Headers */ = {isa = PBXBuildFile; fileRef = F9554C2230154764DD1303B4687364F5 /* BugsnagFileStore.h */; settings = {ATTRIBUTES = (Project, ); }; };
- 0D0D9409C3CA3B822AA299E192165E67 /* UMReactLogHandler.h in Headers */ = {isa = PBXBuildFile; fileRef = 22423C77110A2F8E4D36145FE49C0AA9 /* UMReactLogHandler.h */; settings = {ATTRIBUTES = (Project, ); }; };
- 0D4868D27051D49ACAC248A086FA8F96 /* RCTFrameUpdate.m in Sources */ = {isa = PBXBuildFile; fileRef = 0A0BF704FC489A289125787F4ACACC1D /* RCTFrameUpdate.m */; settings = {COMPILER_FLAGS = "-DFOLLY_NO_CONFIG -DFOLLY_MOBILE=1 -DFOLLY_USE_LIBCPP=1 -Wno-comma -Wno-shorten-64-to-32 -Wno-documentation"; }; };
- 0DA07071C90E4BEEFCCAEE3E59C3959B /* RNGestureHandlerEvents.m in Sources */ = {isa = PBXBuildFile; fileRef = 6930227BBE463D074B88B174F62EDCA1 /* RNGestureHandlerEvents.m */; };
- 0DB650B4B76B8548C132F3ABBC694218 /* RNLocalize-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 751CE033D756E291141627B4A8F6700B /* RNLocalize-dummy.m */; };
- 0E1C8A31104AAD51C27C458E68FB0635 /* RCTBorderStyle.h in Headers */ = {isa = PBXBuildFile; fileRef = D5852A82E59B559383558F2162B5C295 /* RCTBorderStyle.h */; settings = {ATTRIBUTES = (Project, ); }; };
- 0E2260186E11688FECD8A2154B2DEC1E /* RCTRedBoxExtraDataViewController.h in Headers */ = {isa = PBXBuildFile; fileRef = 828831F8E55F8B651498A0586B8987FD /* RCTRedBoxExtraDataViewController.h */; settings = {ATTRIBUTES = (Project, ); }; };
- 0E260B5285967E813B58160EAA61A049 /* RNFetchBlobNetwork.m in Sources */ = {isa = PBXBuildFile; fileRef = B53C7753F5565A5EB1A4532218827BA7 /* RNFetchBlobNetwork.m */; };
- 0E3D7A64B7B7C9A1C134B565EE87E9B3 /* BSG_KSMach_Arm64.c in Sources */ = {isa = PBXBuildFile; fileRef = B903C414071F8DD48206A6F800FAE726 /* BSG_KSMach_Arm64.c */; };
- 0E5C63315C8DB2D26508CCB1C3189919 /* MethodCall.h in Headers */ = {isa = PBXBuildFile; fileRef = 0D92C85B60EBDAF4172D0CF46B4B7037 /* MethodCall.h */; settings = {ATTRIBUTES = (Project, ); }; };
- 0E92D01563F3914A9DDE0BDE43330B27 /* UIView+FindUIViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 3267F4E57B993CAC83624CBE53088317 /* UIView+FindUIViewController.m */; };
- 0EACC2CF5CE0ED255A0C962F9F606FCA /* RCTTextView.h in Headers */ = {isa = PBXBuildFile; fileRef = 596BD3AE4023D7EE345CE8B30D9D41BF /* RCTTextView.h */; settings = {ATTRIBUTES = (Project, ); }; };
- 0EC8D05FD490A423EE825FC4B7C08A7D /* UIView+WebCache.m in Sources */ = {isa = PBXBuildFile; fileRef = B2D1FB8BFA588B7D0ED981EC21AA2E9B /* UIView+WebCache.m */; };
- 0EED17E9F555C124DC268AFE2BD5DCD8 /* UMViewManagerAdapter.h in Headers */ = {isa = PBXBuildFile; fileRef = 198A394E87A4EA11B5B2B6B32C5CC7C6 /* UMViewManagerAdapter.h */; settings = {ATTRIBUTES = (Project, ); }; };
- 0EF5D7D8F02B9B80DCE5E8E6D636DF4F /* RNDeviceInfo.h in Headers */ = {isa = PBXBuildFile; fileRef = 3DD6AD3D5A2C9B810886267A55A7959D /* RNDeviceInfo.h */; settings = {ATTRIBUTES = (Project, ); }; };
+ 0A9004FA0A482FFC05B76043C930B1C3 /* RCTVideoPlayerViewControllerDelegate.h in Headers */ = {isa = PBXBuildFile; fileRef = DC626E51A65E10340478EF0EA4AA7F52 /* RCTVideoPlayerViewControllerDelegate.h */; settings = {ATTRIBUTES = (Project, ); }; };
+ 0A9EF37FAA8871089BFCA87CF9330A9E /* YGValue.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 72578FC840C8D5A9E4028EB414FA4D54 /* YGValue.cpp */; settings = {COMPILER_FLAGS = "-fno-omit-frame-pointer -fexceptions -Wall -Werror -std=c++1y -fPIC -fno-objc-arc"; }; };
+ 0AF6BA576D35D654821BFCF4FF45BA6E /* RCTTextView.m in Sources */ = {isa = PBXBuildFile; fileRef = F83682CF589D6590292167674D6969F7 /* RCTTextView.m */; };
+ 0AFB86CB9BEFB541CFF2F828D90A03C7 /* SDWebImageDownloaderRequestModifier.h in Headers */ = {isa = PBXBuildFile; fileRef = D6931EA66871913CF4BC95BB2284A2CF /* SDWebImageDownloaderRequestModifier.h */; settings = {ATTRIBUTES = (Project, ); }; };
+ 0B2D30F38EB2951F5650351BB4C018E6 /* EXRemoteNotificationRequester.m in Sources */ = {isa = PBXBuildFile; fileRef = 8D58738E34EC9648130DB41E460C2E46 /* EXRemoteNotificationRequester.m */; };
+ 0B4B6B25DB0EADC4918A3ACD611B69B1 /* RNCWKProcessPoolManager.h in Headers */ = {isa = PBXBuildFile; fileRef = 18C5F3AC5D18B0A2B5A2FECF79116324 /* RNCWKProcessPoolManager.h */; settings = {ATTRIBUTES = (Project, ); }; };
+ 0B9D1CE5188E7A7FB602B85B7A071C29 /* BugsnagErrorReportApiClient.h in Headers */ = {isa = PBXBuildFile; fileRef = B96C2563C0678BE21B93E5CE4EBACA42 /* BugsnagErrorReportApiClient.h */; settings = {ATTRIBUTES = (Project, ); }; };
+ 0BFD785C45A1DEBB3800DC8743FA2605 /* RCTBaseTextViewManager.m in Sources */ = {isa = PBXBuildFile; fileRef = 5FA1FA65C2CE4C6CF94919C6E65DB039 /* RCTBaseTextViewManager.m */; };
+ 0C0E5D5C54B1E25D3F403E49FAA8D89E /* NSTextStorage+FontScaling.m in Sources */ = {isa = PBXBuildFile; fileRef = DE5751DEFFFA47E1E18B08C15DF51D54 /* NSTextStorage+FontScaling.m */; };
+ 0C2100DD0457156462484EB53C3CA06E /* RCTView.m in Sources */ = {isa = PBXBuildFile; fileRef = A34BBDE9E51D8057E8704E12653A00C2 /* RCTView.m */; settings = {COMPILER_FLAGS = "-DFOLLY_NO_CONFIG -DFOLLY_MOBILE=1 -DFOLLY_USE_LIBCPP=1 -Wno-comma -Wno-shorten-64-to-32 -Wno-documentation"; }; };
+ 0C255310743C15968D8E749A71FC9354 /* SDImageCachesManagerOperation.m in Sources */ = {isa = PBXBuildFile; fileRef = 305849AAFA55DA8BC829CA73F6A41D7F /* SDImageCachesManagerOperation.m */; };
+ 0C2A5DC47FE2D6837EA44C99ABFD5834 /* EXFileSystem.h in Headers */ = {isa = PBXBuildFile; fileRef = 51DA96A1B424B797C252ED0E1C130EA5 /* EXFileSystem.h */; settings = {ATTRIBUTES = (Project, ); }; };
+ 0C574A9817DDD3A5DED65A31D11A2098 /* rn-extensions-share-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 9CB0BF04AB28B3FC037D7BA6A8B14B2A /* rn-extensions-share-dummy.m */; };
+ 0C631B56D84BB38DC0844EBACC4893C5 /* EXLocationRequester.m in Sources */ = {isa = PBXBuildFile; fileRef = 16518CBBBC5D7AB3CB3C61AF2E51F741 /* EXLocationRequester.m */; };
+ 0CEC0252D57A471D6DBD55723F13DDF7 /* RCTAccessibilityManager.h in Headers */ = {isa = PBXBuildFile; fileRef = B74D19651AA973160FBEEF2AF1181C02 /* RCTAccessibilityManager.h */; settings = {ATTRIBUTES = (Project, ); }; };
+ 0CFFC0796941C41583D75A40559E9515 /* JSExecutor.h in Headers */ = {isa = PBXBuildFile; fileRef = 73C690FE20A6B6A197AC3D105E7912AF /* JSExecutor.h */; settings = {ATTRIBUTES = (Project, ); }; };
+ 0D08AB6B2C2CE84F51F8570C652DDF4F /* BugsnagFileStore.h in Headers */ = {isa = PBXBuildFile; fileRef = 90A032F85B26E973C9811B24C585083E /* BugsnagFileStore.h */; settings = {ATTRIBUTES = (Project, ); }; };
+ 0D4868D27051D49ACAC248A086FA8F96 /* RCTFrameUpdate.m in Sources */ = {isa = PBXBuildFile; fileRef = 97780AA7DCF45DDD987AD7B238E1A35D /* RCTFrameUpdate.m */; settings = {COMPILER_FLAGS = "-DFOLLY_NO_CONFIG -DFOLLY_MOBILE=1 -DFOLLY_USE_LIBCPP=1 -Wno-comma -Wno-shorten-64-to-32 -Wno-documentation"; }; };
+ 0D8893F250F3AFD387E23967F13E4FE0 /* RNFirebaseLinks.h in Headers */ = {isa = PBXBuildFile; fileRef = 8D509108D4F4B446CC04E46F7E7A7377 /* RNFirebaseLinks.h */; settings = {ATTRIBUTES = (Project, ); }; };
+ 0E12EC4F36FCF7E2806CCF17C5467AB4 /* RNGestureHandlerButton.h in Headers */ = {isa = PBXBuildFile; fileRef = 28755DAEE4A4DB23908131C79E5927FA /* RNGestureHandlerButton.h */; settings = {ATTRIBUTES = (Project, ); }; };
+ 0E1A05C555CB29F8C272E09442AF9AAA /* UMNativeModulesProxy.m in Sources */ = {isa = PBXBuildFile; fileRef = 4B10338CF58745DBC7DAB8A64A1E8972 /* UMNativeModulesProxy.m */; };
+ 0E1C8A31104AAD51C27C458E68FB0635 /* RCTBorderStyle.h in Headers */ = {isa = PBXBuildFile; fileRef = 223201753D07078D69BDD99259EDB751 /* RCTBorderStyle.h */; settings = {ATTRIBUTES = (Project, ); }; };
+ 0E2260186E11688FECD8A2154B2DEC1E /* RCTRedBoxExtraDataViewController.h in Headers */ = {isa = PBXBuildFile; fileRef = 3495FF28195CB365EC8FC5BB4D84D998 /* RCTRedBoxExtraDataViewController.h */; settings = {ATTRIBUTES = (Project, ); }; };
+ 0E2299B8243739D5779FC4C21170A16B /* SDWebImageTransition.m in Sources */ = {isa = PBXBuildFile; fileRef = EF29495075911B7A60A09DE458A8CA4F /* SDWebImageTransition.m */; };
+ 0E3D7A64B7B7C9A1C134B565EE87E9B3 /* BSG_KSMach_Arm64.c in Sources */ = {isa = PBXBuildFile; fileRef = 9C2EB9B7524D91A7C56DAF4D8387F55F /* BSG_KSMach_Arm64.c */; };
+ 0E5C63315C8DB2D26508CCB1C3189919 /* MethodCall.h in Headers */ = {isa = PBXBuildFile; fileRef = 489C3F92A9301BBC98080223732F32CF /* MethodCall.h */; settings = {ATTRIBUTES = (Project, ); }; };
+ 0EACC2CF5CE0ED255A0C962F9F606FCA /* RCTTextView.h in Headers */ = {isa = PBXBuildFile; fileRef = 2BCF5536EE0EA0CCC9DB639DFF3EBF17 /* RCTTextView.h */; settings = {ATTRIBUTES = (Project, ); }; };
+ 0F08E186D61DE6D60EC383C88C9E09ED /* NSBezierPath+RoundedCorners.m in Sources */ = {isa = PBXBuildFile; fileRef = 9477D277A1E8B1EBF5BE7D658D5FF847 /* NSBezierPath+RoundedCorners.m */; };
0F7D0326C38FA3CF8745C0A798D6ACE1 /* picture_rescale_enc.c in Sources */ = {isa = PBXBuildFile; fileRef = 158DE2C71D5D043F7ABAECEB839FEBD9 /* picture_rescale_enc.c */; settings = {COMPILER_FLAGS = "-D_THREAD_SAFE -fno-objc-arc"; }; };
- 0FAC5ABB17618768EF6975F20E4397B2 /* Bugsnag.h in Headers */ = {isa = PBXBuildFile; fileRef = E1D245107F5327258911BBC7699D7AD0 /* Bugsnag.h */; settings = {ATTRIBUTES = (Project, ); }; };
- 104EBDC4B5349394F50AF8EC515F098D /* RNFirebaseAdMobRewardedVideo.m in Sources */ = {isa = PBXBuildFile; fileRef = E045BDB8C8F44DA704F57B0F790118A9 /* RNFirebaseAdMobRewardedVideo.m */; };
- 1063F86D92F052500A83A7597B1C26B9 /* jsilib.h in Headers */ = {isa = PBXBuildFile; fileRef = 3C317EB64E7C5EA71BFBA60B2D869E9F /* jsilib.h */; settings = {ATTRIBUTES = (Project, ); }; };
+ 0FAC5ABB17618768EF6975F20E4397B2 /* Bugsnag.h in Headers */ = {isa = PBXBuildFile; fileRef = 0D9427F40B73CDDE91DE21C8299B3958 /* Bugsnag.h */; settings = {ATTRIBUTES = (Project, ); }; };
+ 1063F86D92F052500A83A7597B1C26B9 /* jsilib.h in Headers */ = {isa = PBXBuildFile; fileRef = 4B08040001CC4E18563D761FD0B50B82 /* jsilib.h */; settings = {ATTRIBUTES = (Project, ); }; };
107BF51166C8E00581BB9828B788ADD7 /* FIRInstanceIDLogger.h in Headers */ = {isa = PBXBuildFile; fileRef = C8AEBB5943630A6F4BC8F7D6D8A74542 /* FIRInstanceIDLogger.h */; settings = {ATTRIBUTES = (Project, ); }; };
107CD51CD5FD22E8DE8F0F74C86B5A74 /* FIRInstanceIDStringEncoding.m in Sources */ = {isa = PBXBuildFile; fileRef = E1A62375ACC390D49FDD649653304B10 /* FIRInstanceIDStringEncoding.m */; };
- 1091E02C8A5E15318707CAAA55C072D5 /* RSKImageCropper-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = FCCE821A143279FA2BD2B79E6C06D801 /* RSKImageCropper-dummy.m */; };
- 10F8BFD41B75FDC410DC65D23B8BABC0 /* RCTSettingsManager.m in Sources */ = {isa = PBXBuildFile; fileRef = C5CF587C4B38D6172F2C19FDD8B85984 /* RCTSettingsManager.m */; };
- 11C05EF9AEECE42B25C07B154C22978A /* QBSlomoIconView.h in Headers */ = {isa = PBXBuildFile; fileRef = DD50922D1CD9C642CF0458174E9D3F50 /* QBSlomoIconView.h */; settings = {ATTRIBUTES = (Project, ); }; };
- 11D4DDA0D4189220C754E7EF1043FEFA /* RCTSurfacePresenterStub.h in Headers */ = {isa = PBXBuildFile; fileRef = FEAC01A9BC4E3786C27A2C2E0652C217 /* RCTSurfacePresenterStub.h */; settings = {ATTRIBUTES = (Project, ); }; };
+ 10863410193E944FD37B83D5662157BD /* SDImageAPNGCoder.m in Sources */ = {isa = PBXBuildFile; fileRef = DA09483D2E099B878AF3746E56EE4D24 /* SDImageAPNGCoder.m */; };
+ 10F8BFD41B75FDC410DC65D23B8BABC0 /* RCTSettingsManager.m in Sources */ = {isa = PBXBuildFile; fileRef = 64601BD671DAAD144FF496757474AE38 /* RCTSettingsManager.m */; };
+ 11A0D2A62DCAAE94401A08E12E17AD4A /* SDAsyncBlockOperation.m in Sources */ = {isa = PBXBuildFile; fileRef = 9B4427C9D0FED734954FFFFAF5D84568 /* SDAsyncBlockOperation.m */; };
+ 11D4DDA0D4189220C754E7EF1043FEFA /* RCTSurfacePresenterStub.h in Headers */ = {isa = PBXBuildFile; fileRef = 0F2F7ED68AC558D60AFBA68AFB6964E6 /* RCTSurfacePresenterStub.h */; settings = {ATTRIBUTES = (Project, ); }; };
1222E7AB723CB2D3E5811C261AF342E4 /* alpha_processing_sse2.c in Sources */ = {isa = PBXBuildFile; fileRef = FC67C73FFC29016D8DF90369745BEEE5 /* alpha_processing_sse2.c */; settings = {COMPILER_FLAGS = "-D_THREAD_SAFE -fno-objc-arc"; }; };
- 1283DAA1D9FC84DF5395D2C8E052B779 /* EXWebBrowser.m in Sources */ = {isa = PBXBuildFile; fileRef = F066EA04DAB4DEBC73CD19B9E52E9BDC /* EXWebBrowser.m */; };
- 12BBAC3EF466C1D4C587B43EA5958E02 /* RCTBackedTextInputDelegateAdapter.m in Sources */ = {isa = PBXBuildFile; fileRef = A91F1883FCC68FDFCD5AA8384C2A7030 /* RCTBackedTextInputDelegateAdapter.m */; };
- 13311C6D84581E707C481BFEDD87D2D0 /* JSIndexedRAMBundle.h in Headers */ = {isa = PBXBuildFile; fileRef = ADDED3D0CE48ABF0478B6792A3A6F443 /* JSIndexedRAMBundle.h */; settings = {ATTRIBUTES = (Project, ); }; };
- 13319DCA6CB4E02F8556497FEC7C4FE8 /* RNNotificationCenterListener.h in Headers */ = {isa = PBXBuildFile; fileRef = 7493B1E82FDB95CBA19C543D0B728F17 /* RNNotificationCenterListener.h */; settings = {ATTRIBUTES = (Project, ); }; };
- 1342F3149F16AAE25D0EF7A6399047EC /* RCTUIManagerObserverCoordinator.h in Headers */ = {isa = PBXBuildFile; fileRef = 5A3357660AC5A31D2EB5CE6001DD85DE /* RCTUIManagerObserverCoordinator.h */; settings = {ATTRIBUTES = (Project, ); }; };
- 137FC28ABA990F5B5299FF24AD410E1D /* RNFirebaseAdMobInterstitial.h in Headers */ = {isa = PBXBuildFile; fileRef = A895FD9867A14C3AEBCABF7388ABBCF7 /* RNFirebaseAdMobInterstitial.h */; settings = {ATTRIBUTES = (Project, ); }; };
- 13AACDCF8B27709515D70A089EEB6B5C /* RCTModalManager.h in Headers */ = {isa = PBXBuildFile; fileRef = 0593A6E22225FA6429A9EBB11D64D3BD /* RCTModalManager.h */; settings = {ATTRIBUTES = (Project, ); }; };
- 13B005EAC1C6E03A1D5589D6F0A6F29E /* RCTKeyCommands.m in Sources */ = {isa = PBXBuildFile; fileRef = C546D0E94F005789695E530196783041 /* RCTKeyCommands.m */; settings = {COMPILER_FLAGS = "-DFOLLY_NO_CONFIG -DFOLLY_MOBILE=1 -DFOLLY_USE_LIBCPP=1 -Wno-comma -Wno-shorten-64-to-32 -Wno-documentation"; }; };
- 13CD02A9CB57BDF6A595ABEEC37AA628 /* UIView+FindUIViewController.h in Headers */ = {isa = PBXBuildFile; fileRef = 50AF30B573C2AD80BB02FAE5C82996F5 /* UIView+FindUIViewController.h */; settings = {ATTRIBUTES = (Project, ); }; };
- 1401A6BD8A173FE79B87098DE6E22441 /* RCTDiffClampAnimatedNode.h in Headers */ = {isa = PBXBuildFile; fileRef = 9A7CFAE122FCD496FEFB43214E8E511D /* RCTDiffClampAnimatedNode.h */; settings = {ATTRIBUTES = (Project, ); }; };
- 14268F6E9285107C775A69B9E525E7D7 /* RNFirebaseStorage.m in Sources */ = {isa = PBXBuildFile; fileRef = C330D6E935178DA8F8DF6B3AA8063A19 /* RNFirebaseStorage.m */; };
+ 1283DAA1D9FC84DF5395D2C8E052B779 /* EXWebBrowser.m in Sources */ = {isa = PBXBuildFile; fileRef = 03F91E131AA92114693FFDDEB545728A /* EXWebBrowser.m */; };
+ 12BBAC3EF466C1D4C587B43EA5958E02 /* RCTBackedTextInputDelegateAdapter.m in Sources */ = {isa = PBXBuildFile; fileRef = F8B062C6808A12AFE38550C2936C2073 /* RCTBackedTextInputDelegateAdapter.m */; };
+ 13311C6D84581E707C481BFEDD87D2D0 /* JSIndexedRAMBundle.h in Headers */ = {isa = PBXBuildFile; fileRef = 441596D754422C1330756FD193E039AC /* JSIndexedRAMBundle.h */; settings = {ATTRIBUTES = (Project, ); }; };
+ 1342F3149F16AAE25D0EF7A6399047EC /* RCTUIManagerObserverCoordinator.h in Headers */ = {isa = PBXBuildFile; fileRef = B7E88BE04BF21310D8F21CA9DA3C91DC /* RCTUIManagerObserverCoordinator.h */; settings = {ATTRIBUTES = (Project, ); }; };
+ 13AACDCF8B27709515D70A089EEB6B5C /* RCTModalManager.h in Headers */ = {isa = PBXBuildFile; fileRef = 1A9E1DF71342B3CE4724CCF99D95E05F /* RCTModalManager.h */; settings = {ATTRIBUTES = (Project, ); }; };
+ 13B005EAC1C6E03A1D5589D6F0A6F29E /* RCTKeyCommands.m in Sources */ = {isa = PBXBuildFile; fileRef = 8E3F3DB29A20EF9B80D7AD40A70746FE /* RCTKeyCommands.m */; settings = {COMPILER_FLAGS = "-DFOLLY_NO_CONFIG -DFOLLY_MOBILE=1 -DFOLLY_USE_LIBCPP=1 -Wno-comma -Wno-shorten-64-to-32 -Wno-documentation"; }; };
+ 1401A6BD8A173FE79B87098DE6E22441 /* RCTDiffClampAnimatedNode.h in Headers */ = {isa = PBXBuildFile; fileRef = 3A1A1DBA122182F0898B0A20D4EF78C2 /* RCTDiffClampAnimatedNode.h */; settings = {ATTRIBUTES = (Project, ); }; };
142DDBA72CDBBC8F357722E76EB54EDA /* yuv_mips_dsp_r2.c in Sources */ = {isa = PBXBuildFile; fileRef = ACB902C29704B00FF0C33BC5B03E81EF /* yuv_mips_dsp_r2.c */; settings = {COMPILER_FLAGS = "-D_THREAD_SAFE -fno-objc-arc"; }; };
1465908F9FE8116876FDEAD1374F9AC3 /* FIRLoggerLevel.h in Headers */ = {isa = PBXBuildFile; fileRef = FB92AFCCF2953E89BA5FC59411229226 /* FIRLoggerLevel.h */; settings = {ATTRIBUTES = (Project, ); }; };
- 1498F3CA173A688554A26613C4802134 /* RCTRootShadowView.h in Headers */ = {isa = PBXBuildFile; fileRef = 5622DF71A91A9F25637FEC25D1403F66 /* RCTRootShadowView.h */; settings = {ATTRIBUTES = (Project, ); }; };
- 14AEBAE985FF2F6A042CA0C2F83CE680 /* RNFirebaseFirestoreCollectionReference.m in Sources */ = {isa = PBXBuildFile; fileRef = 16CC0DFA44FC967ECFB9582399FB2345 /* RNFirebaseFirestoreCollectionReference.m */; };
- 14C1AAD09E1ACD4EDBB678EEBE020DCD /* UMViewManagerAdapterClassesRegistry.m in Sources */ = {isa = PBXBuildFile; fileRef = 763923020FF8984DAB02C097939EC62A /* UMViewManagerAdapterClassesRegistry.m */; };
+ 148750FB8946B3BC7C857940C85F0561 /* RNFetchBlobNetwork.m in Sources */ = {isa = PBXBuildFile; fileRef = EE0C641EBBB2F6EDD6C4289C1EF4D3F0 /* RNFetchBlobNetwork.m */; };
+ 1498F3CA173A688554A26613C4802134 /* RCTRootShadowView.h in Headers */ = {isa = PBXBuildFile; fileRef = 485CCE0E188080098E0E95B2E15C7BFB /* RCTRootShadowView.h */; settings = {ATTRIBUTES = (Project, ); }; };
14C992D410FCB6E0B19C4DFE74646164 /* rescaler_sse2.c in Sources */ = {isa = PBXBuildFile; fileRef = F1FFD62DF0EA55D8398BCB855E8D43E8 /* rescaler_sse2.c */; settings = {COMPILER_FLAGS = "-D_THREAD_SAFE -fno-objc-arc"; }; };
- 14E1DF19BAF1C47CB23B631804423D3C /* RSKImageCropper.h in Headers */ = {isa = PBXBuildFile; fileRef = 93A386A89A87920EBAADD258D8BE0EB5 /* RSKImageCropper.h */; settings = {ATTRIBUTES = (Project, ); }; };
- 14FCEE2CEB088210F983D904DF91583A /* React-jsiexecutor-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 72C7B62343C636DE1011801B08A5A431 /* React-jsiexecutor-dummy.m */; };
- 1502FE7B1BF62724DB7B835F1A2FE8DA /* AudioRecorderManager.h in Headers */ = {isa = PBXBuildFile; fileRef = 0F6A0413293BD8E8C842FA139EBFFA9B /* AudioRecorderManager.h */; settings = {ATTRIBUTES = (Project, ); }; };
- 15064F8A70DB97B4A6C745ED69742E50 /* RCTBlobCollector.mm in Sources */ = {isa = PBXBuildFile; fileRef = 01A7880C36DB0DA3C3DA76C932D85D93 /* RCTBlobCollector.mm */; };
- 152D87F32D6A969486FA9E8DEE1C31FA /* RNFirebaseAnalytics.m in Sources */ = {isa = PBXBuildFile; fileRef = 6AEFFE0251150E6292B78BFC7286D5AD /* RNFirebaseAnalytics.m */; };
- 154CD4DE7861F8F74796EAB61E1AF5F8 /* RCTSwitch.m in Sources */ = {isa = PBXBuildFile; fileRef = EF6DD890863D9DF0731946DA852C1EEE /* RCTSwitch.m */; settings = {COMPILER_FLAGS = "-DFOLLY_NO_CONFIG -DFOLLY_MOBILE=1 -DFOLLY_USE_LIBCPP=1 -Wno-comma -Wno-shorten-64-to-32 -Wno-documentation"; }; };
- 1569E25FB696124F5E12503738827D9C /* RNFirebaseAdMobNativeExpressManager.m in Sources */ = {isa = PBXBuildFile; fileRef = 64998116D3CFD55C02CE4E9729A65405 /* RNFirebaseAdMobNativeExpressManager.m */; };
- 156F546EFA72E3A2AD3D7E0A0E535AD2 /* SDWebImageOperation.h in Headers */ = {isa = PBXBuildFile; fileRef = A441671AA765024E6A318D2CB8EA21CD /* SDWebImageOperation.h */; settings = {ATTRIBUTES = (Project, ); }; };
- 1581F2AD9B7E5DC3512338EC016924E0 /* RCTVideo.m in Sources */ = {isa = PBXBuildFile; fileRef = 3E87AACF9F951F361D1AA2495BE11F00 /* RCTVideo.m */; };
- 1585415F6A0BD9884EE24B05C033CF9B /* QBAlbumCell.h in Headers */ = {isa = PBXBuildFile; fileRef = C2213E8D556EC7FC06C271F1AABEE4C4 /* QBAlbumCell.h */; settings = {ATTRIBUTES = (Project, ); }; };
- 15B0308C49C8CD167BF6B20306478BE9 /* ObservingInputAccessoryView.m in Sources */ = {isa = PBXBuildFile; fileRef = 9D5B390DF91CBC13EBF2F3D5BB794444 /* ObservingInputAccessoryView.m */; };
+ 14CD9304685263981D8B45493AD9D6DA /* UIImage+Metadata.m in Sources */ = {isa = PBXBuildFile; fileRef = C53C0E106DE016BB87A556423A23321F /* UIImage+Metadata.m */; };
+ 14FCEE2CEB088210F983D904DF91583A /* React-jsiexecutor-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 27EC05DB437625897A8DBE033CC3E20B /* React-jsiexecutor-dummy.m */; };
+ 15064F8A70DB97B4A6C745ED69742E50 /* RCTBlobCollector.mm in Sources */ = {isa = PBXBuildFile; fileRef = 56442FB6BA39329A4E77260A185521A1 /* RCTBlobCollector.mm */; };
+ 1506E79FA1F69AC2822ED58F2B378AC2 /* SDAsyncBlockOperation.h in Headers */ = {isa = PBXBuildFile; fileRef = C79412F9C09A063FBCE7401FBF50B3B1 /* SDAsyncBlockOperation.h */; settings = {ATTRIBUTES = (Project, ); }; };
+ 154CD4DE7861F8F74796EAB61E1AF5F8 /* RCTSwitch.m in Sources */ = {isa = PBXBuildFile; fileRef = D8484E78453A935392F5B58E6C2A6F4A /* RCTSwitch.m */; settings = {COMPILER_FLAGS = "-DFOLLY_NO_CONFIG -DFOLLY_MOBILE=1 -DFOLLY_USE_LIBCPP=1 -Wno-comma -Wno-shorten-64-to-32 -Wno-documentation"; }; };
+ 158B42183B831501560A77773BBB5BF9 /* FFFastImageViewManager.h in Headers */ = {isa = PBXBuildFile; fileRef = 9002E74D1B5EFA46717126DE8DC4712F /* FFFastImageViewManager.h */; settings = {ATTRIBUTES = (Project, ); }; };
1606C1BAAC2E20C7E7E6A3CCAF15711F /* dec_mips32.c in Sources */ = {isa = PBXBuildFile; fileRef = C961BB97F8D2D4F432101CE347845B96 /* dec_mips32.c */; settings = {COMPILER_FLAGS = "-D_THREAD_SAFE -fno-objc-arc"; }; };
- 160DC0211CEA9993C391E12F18AD4597 /* NSButton+WebCache.h in Headers */ = {isa = PBXBuildFile; fileRef = 0AC14772DD93D15E4C9D3AF8E7D8C01E /* NSButton+WebCache.h */; settings = {ATTRIBUTES = (Project, ); }; };
16109C4F21BC327DD163912E14951DB3 /* FIRConfigurationInternal.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B5E9605C2C6D06667A6465F967F06C7 /* FIRConfigurationInternal.h */; settings = {ATTRIBUTES = (Project, ); }; };
161DA7FD58D2B4BD6788ED1A1EC4D4D9 /* GoogleUtilities-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = A8616CC199E7BCB45E85463A83A9B944 /* GoogleUtilities-dummy.m */; };
- 1632EE1A29BDB0C9E92FB87088F38CE2 /* RNFirebaseEvents.h in Headers */ = {isa = PBXBuildFile; fileRef = 9A936475DCF3F9169D071628FB655982 /* RNFirebaseEvents.h */; settings = {ATTRIBUTES = (Project, ); }; };
- 16899D5B9029FB6D5A400783A624C1C8 /* EXWebBrowser.h in Headers */ = {isa = PBXBuildFile; fileRef = 3A98639133D28D0145430847746F30C4 /* EXWebBrowser.h */; settings = {ATTRIBUTES = (Project, ); }; };
- 168A10A30DCCEE4A89414CE21DFF5830 /* QBCheckmarkView.h in Headers */ = {isa = PBXBuildFile; fileRef = A545F93166CB948985A1AC418628DF4B /* QBCheckmarkView.h */; settings = {ATTRIBUTES = (Project, ); }; };
- 17969CC1C7C1EA6AE98EE3D13B8E2D69 /* RCTDataRequestHandler.h in Headers */ = {isa = PBXBuildFile; fileRef = 56F630511EC0EE69B51AE50B53489017 /* RCTDataRequestHandler.h */; settings = {ATTRIBUTES = (Project, ); }; };
- 17A36219C987CD12C5A1C50EA590D11A /* EXReactNativeUserNotificationCenterProxy.h in Headers */ = {isa = PBXBuildFile; fileRef = 53273216A8D9C85B362C014D11CBAB4E /* EXReactNativeUserNotificationCenterProxy.h */; settings = {ATTRIBUTES = (Project, ); }; };
- 17AB3A41A3DAFB6EE14EB49FC316F997 /* BSG_KSCrash.h in Headers */ = {isa = PBXBuildFile; fileRef = 3702E56617178D4CBFCDD37876DF348B /* BSG_KSCrash.h */; settings = {ATTRIBUTES = (Project, ); }; };
- 17B03B21474472F7EB23CCA083EB6CE0 /* EXCameraRollRequester.m in Sources */ = {isa = PBXBuildFile; fileRef = 077972DEBA46D220E5F8AC0939015D13 /* EXCameraRollRequester.m */; };
- 17B2CB9FED2D75372541364F6AA87558 /* SDAnimatedImageView+WebCache.h in Headers */ = {isa = PBXBuildFile; fileRef = C0BE24B17E7BAED38D39126B63220F6F /* SDAnimatedImageView+WebCache.h */; settings = {ATTRIBUTES = (Project, ); }; };
+ 16899D5B9029FB6D5A400783A624C1C8 /* EXWebBrowser.h in Headers */ = {isa = PBXBuildFile; fileRef = 766A2AD341C0CC185C3B9951ED2C90CB /* EXWebBrowser.h */; settings = {ATTRIBUTES = (Project, ); }; };
+ 17969CC1C7C1EA6AE98EE3D13B8E2D69 /* RCTDataRequestHandler.h in Headers */ = {isa = PBXBuildFile; fileRef = 1E283EC9DB016908DC12A747B59E4A4B /* RCTDataRequestHandler.h */; settings = {ATTRIBUTES = (Project, ); }; };
+ 17A36219C987CD12C5A1C50EA590D11A /* EXReactNativeUserNotificationCenterProxy.h in Headers */ = {isa = PBXBuildFile; fileRef = 52F05606AE08A3447265857006D54FF4 /* EXReactNativeUserNotificationCenterProxy.h */; settings = {ATTRIBUTES = (Project, ); }; };
+ 17AB3A41A3DAFB6EE14EB49FC316F997 /* BSG_KSCrash.h in Headers */ = {isa = PBXBuildFile; fileRef = C6584F14812DB025A2ED93474978B996 /* BSG_KSCrash.h */; settings = {ATTRIBUTES = (Project, ); }; };
+ 17B03B21474472F7EB23CCA083EB6CE0 /* EXCameraRollRequester.m in Sources */ = {isa = PBXBuildFile; fileRef = 0E95F3660373B5DB6722E021DB92AE88 /* EXCameraRollRequester.m */; };
17C8EE850EE3AEA00E515ACE095FBC8E /* raw_logging.h in Headers */ = {isa = PBXBuildFile; fileRef = CCB1BE1DA98E3CBD6ED56FD6C5EF7B0A /* raw_logging.h */; settings = {ATTRIBUTES = (Project, ); }; };
- 1818CB61F7CBA5FEFA50850E8D607CD4 /* React-RCTVibration-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 4BBDA58AB8FB2342090CC6E4A93D41CA /* React-RCTVibration-dummy.m */; };
- 18508BF0F3BB7FB5771E7208D859296F /* EXHapticsModule.h in Headers */ = {isa = PBXBuildFile; fileRef = E11A3B139FF3524407F97647ADE96677 /* EXHapticsModule.h */; settings = {ATTRIBUTES = (Project, ); }; };
+ 1818CB61F7CBA5FEFA50850E8D607CD4 /* React-RCTVibration-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 1C6394CB9472B44B4EFFEF50F307AB6E /* React-RCTVibration-dummy.m */; };
+ 18508BF0F3BB7FB5771E7208D859296F /* EXHapticsModule.h in Headers */ = {isa = PBXBuildFile; fileRef = E19B318B27F44B05F25083EA464C1F1B /* EXHapticsModule.h */; settings = {ATTRIBUTES = (Project, ); }; };
1875FC9F710D7CE0D6B9C3BB919D18B1 /* alpha_processing_sse41.c in Sources */ = {isa = PBXBuildFile; fileRef = F8A64FBE1388BC2299245CBA9EA4DD4C /* alpha_processing_sse41.c */; settings = {COMPILER_FLAGS = "-D_THREAD_SAFE -fno-objc-arc"; }; };
18825CEE99EC851BF8DBEBACC61D6D51 /* MallocImpl.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4BEC9C2B3F2DB659A15C87010CEEC274 /* MallocImpl.cpp */; settings = {COMPILER_FLAGS = "-DFOLLY_NO_CONFIG -DFOLLY_MOBILE=1 -DFOLLY_USE_LIBCPP=1 -DFOLLY_HAVE_PTHREAD=1 -Wno-comma -Wno-shorten-64-to-32 -Wno-documentation"; }; };
- 18EA582429824349B2A698D290FFE86E /* UMKernelService.h in Headers */ = {isa = PBXBuildFile; fileRef = C514472385A6A80E57EBB51DEFD205F2 /* UMKernelService.h */; settings = {ATTRIBUTES = (Project, ); }; };
+ 18EA582429824349B2A698D290FFE86E /* UMKernelService.h in Headers */ = {isa = PBXBuildFile; fileRef = B8E7F2F7327F38EED84FEA267CB3BA67 /* UMKernelService.h */; settings = {ATTRIBUTES = (Project, ); }; };
190F8B4C8A04E11A00BDCA1057FB1EDB /* FIRInstanceID.h in Headers */ = {isa = PBXBuildFile; fileRef = 7AB22B05BF13A5278CD163EF1E98E52B /* FIRInstanceID.h */; settings = {ATTRIBUTES = (Project, ); }; };
- 1928A4D79DB924CAD4668E01B99116DE /* RNFetchBlobRequest.h in Headers */ = {isa = PBXBuildFile; fileRef = FDF23DAE5FA57319FAAB11FF10FC7F60 /* RNFetchBlobRequest.h */; settings = {ATTRIBUTES = (Project, ); }; };
- 195506397FAA1E491996E5C685E4D415 /* BSG_KSCrashSentry.h in Headers */ = {isa = PBXBuildFile; fileRef = 7192A140D2E2731FB2ABB8F9B9FB9BB7 /* BSG_KSCrashSentry.h */; settings = {ATTRIBUTES = (Project, ); }; };
- 19754A89B664E2C8DA2E67F66448B94E /* RNFetchBlob.h in Headers */ = {isa = PBXBuildFile; fileRef = 0B46C770F47AAA4190FC607E3763136A /* RNFetchBlob.h */; settings = {ATTRIBUTES = (Project, ); }; };
+ 195506397FAA1E491996E5C685E4D415 /* BSG_KSCrashSentry.h in Headers */ = {isa = PBXBuildFile; fileRef = E41C69A77FFDD1AD370E1EE83E1CD82D /* BSG_KSCrashSentry.h */; settings = {ATTRIBUTES = (Project, ); }; };
198FCB093A9B9BF1DA57A126F2787358 /* FIRInstanceIDTokenOperation.m in Sources */ = {isa = PBXBuildFile; fileRef = F2689746283D82855E3024DAD3170C08 /* FIRInstanceIDTokenOperation.m */; };
- 19D63C1A328B6D2DB20B6DEB47ED2BE5 /* RCTProfileTrampoline-arm64.S in Sources */ = {isa = PBXBuildFile; fileRef = 023611A7F02A69AB41D2215053517B8C /* RCTProfileTrampoline-arm64.S */; };
- 19ED5D77ABD347ECEE2093E06ABD0B59 /* Compression.m in Sources */ = {isa = PBXBuildFile; fileRef = 7C26D66CDE6BB6303A5B89458E551ED4 /* Compression.m */; };
+ 19D63C1A328B6D2DB20B6DEB47ED2BE5 /* RCTProfileTrampoline-arm64.S in Sources */ = {isa = PBXBuildFile; fileRef = 387DF9748985937A2425A8FC26D52BF9 /* RCTProfileTrampoline-arm64.S */; };
1A0104B522DEFB57D4AA61C477C69E86 /* FIRInstanceIDAuthKeyChain.m in Sources */ = {isa = PBXBuildFile; fileRef = B80E90A3A4A486D2B8EE908B929EEE3D /* FIRInstanceIDAuthKeyChain.m */; };
- 1A0CA71109F41F826701E1810B641816 /* RCTPerformanceLogger.h in Headers */ = {isa = PBXBuildFile; fileRef = 94F3E6D2A1F8F6094C7C85364240DCD3 /* RCTPerformanceLogger.h */; settings = {ATTRIBUTES = (Project, ); }; };
- 1A2414F70E5D239DCC852086848C0EF9 /* RNFirebaseFirestoreDocumentReference.m in Sources */ = {isa = PBXBuildFile; fileRef = 4B5836095FDE9CDD96C47E70EDF9B6EA /* RNFirebaseFirestoreDocumentReference.m */; };
- 1A6D58CC89737632FA3D7497CD1D3A7E /* RCTAssert.h in Headers */ = {isa = PBXBuildFile; fileRef = 941FAA27A58F5B26449E1E1B9F6E76B9 /* RCTAssert.h */; settings = {ATTRIBUTES = (Project, ); }; };
- 1B8CE8C8481CBE8E4522E654E8B15FEF /* JSBundleType.h in Headers */ = {isa = PBXBuildFile; fileRef = A95034F51746590E284E4339AFCB6D9B /* JSBundleType.h */; settings = {ATTRIBUTES = (Project, ); }; };
- 1B9720B06787628140BC16E080CA9151 /* SDWebImageError.m in Sources */ = {isa = PBXBuildFile; fileRef = 6C1D3E0B0699AC2F1DC5E3EDF95B116B /* SDWebImageError.m */; };
- 1C1CB445FF4AB903370BFB36D5279158 /* BSG_KSCrashSentry_NSException.m in Sources */ = {isa = PBXBuildFile; fileRef = 0980E0EB44658497FCE83CC6C633FC4E /* BSG_KSCrashSentry_NSException.m */; };
+ 1A0CA71109F41F826701E1810B641816 /* RCTPerformanceLogger.h in Headers */ = {isa = PBXBuildFile; fileRef = 6D4FD4A302DCE1F490FC3B82F9BDC073 /* RCTPerformanceLogger.h */; settings = {ATTRIBUTES = (Project, ); }; };
+ 1A6767B936ABA0AE180EF64B92984E12 /* RNFirebaseCrashlytics.m in Sources */ = {isa = PBXBuildFile; fileRef = 5DAD8695BB67E531191B66F0908CCE21 /* RNFirebaseCrashlytics.m */; };
+ 1A6D58CC89737632FA3D7497CD1D3A7E /* RCTAssert.h in Headers */ = {isa = PBXBuildFile; fileRef = 9ACD5F3FF559F1F468862C5FA531751F /* RCTAssert.h */; settings = {ATTRIBUTES = (Project, ); }; };
+ 1ABEC3CFFC2C58E239F6BA14296203DD /* SDImageAssetManager.h in Headers */ = {isa = PBXBuildFile; fileRef = 7E1DFDA929CBAACCB277C4F095C57D4C /* SDImageAssetManager.h */; settings = {ATTRIBUTES = (Project, ); }; };
+ 1AC24C807BB7EAFC22DC9DBFD8B9F58F /* RNFirebaseAdMobRewardedVideo.h in Headers */ = {isa = PBXBuildFile; fileRef = 5717B3E3447D6DE343B44B3764AF92A2 /* RNFirebaseAdMobRewardedVideo.h */; settings = {ATTRIBUTES = (Project, ); }; };
+ 1AD28B3971E7FFDC9C79766A50E7A25F /* SDWebImageOperation.h in Headers */ = {isa = PBXBuildFile; fileRef = A441671AA765024E6A318D2CB8EA21CD /* SDWebImageOperation.h */; settings = {ATTRIBUTES = (Project, ); }; };
+ 1B83BAF00446E9A36D3D0A4BFD6E701D /* RNFirebaseAdMobBannerManager.m in Sources */ = {isa = PBXBuildFile; fileRef = 2D63680D0431D0CC8702215DD499100B /* RNFirebaseAdMobBannerManager.m */; };
+ 1B8CE8C8481CBE8E4522E654E8B15FEF /* JSBundleType.h in Headers */ = {isa = PBXBuildFile; fileRef = 7EE042729004CB255DECEFDEDD598FD5 /* JSBundleType.h */; settings = {ATTRIBUTES = (Project, ); }; };
+ 1C1CB445FF4AB903370BFB36D5279158 /* BSG_KSCrashSentry_NSException.m in Sources */ = {isa = PBXBuildFile; fileRef = 3FBCCAB15789EB6BEF91ED3E80D756A8 /* BSG_KSCrashSentry_NSException.m */; };
+ 1C3B8D6798B6DCF4275A075401FD40A8 /* RNLongPressHandler.h in Headers */ = {isa = PBXBuildFile; fileRef = 0D5187D202E518ECC9B811B70A08B6AB /* RNLongPressHandler.h */; settings = {ATTRIBUTES = (Project, ); }; };
1C3E64C2E6C9F9EBA881C50A79A4BE36 /* GULAppEnvironmentUtil.h in Headers */ = {isa = PBXBuildFile; fileRef = 3BA45B371AA770D43C98128947B24212 /* GULAppEnvironmentUtil.h */; settings = {ATTRIBUTES = (Project, ); }; };
- 1C9450ADCE5F32C7CB0A25ECF2CDB414 /* RCTImageBlurUtils.m in Sources */ = {isa = PBXBuildFile; fileRef = 231154D02DECBD3EA252A798F0BF48A5 /* RCTImageBlurUtils.m */; };
- 1CA314ABFFE7C81A0E1F03B8097446CC /* BSG_KSSystemInfo.m in Sources */ = {isa = PBXBuildFile; fileRef = D68657B56EC7CDA8B3160C4A12F13042 /* BSG_KSSystemInfo.m */; };
+ 1C9450ADCE5F32C7CB0A25ECF2CDB414 /* RCTImageBlurUtils.m in Sources */ = {isa = PBXBuildFile; fileRef = C2523B3407E81FA95647D8EC8C977118 /* RCTImageBlurUtils.m */; };
+ 1CA314ABFFE7C81A0E1F03B8097446CC /* BSG_KSSystemInfo.m in Sources */ = {isa = PBXBuildFile; fileRef = FA565596176DD6E3DAC784D7926AFCDE /* BSG_KSSystemInfo.m */; };
1CB2EC2353CF09350338D1C77F3A2703 /* double-conversion.cc in Sources */ = {isa = PBXBuildFile; fileRef = FBD3EFBCA71BAE57E72EB9CA50FF629C /* double-conversion.cc */; settings = {COMPILER_FLAGS = "-Wno-unreachable-code"; }; };
1CBD943A26A60CC472C6AFEC0098FF91 /* upsampling.c in Sources */ = {isa = PBXBuildFile; fileRef = 23AE028361A5002BC40AEE2BD7062D28 /* upsampling.c */; settings = {COMPILER_FLAGS = "-D_THREAD_SAFE -fno-objc-arc"; }; };
- 1CC36BFD3AD07841E0CA79CD22B712CC /* RCTConvert+Text.h in Headers */ = {isa = PBXBuildFile; fileRef = 8242F0F033E9A985F4D600C0C2CCB225 /* RCTConvert+Text.h */; settings = {ATTRIBUTES = (Project, ); }; };
+ 1CBFAEC0EF1E849A1FB4F0C9414B0DFA /* SDImageCache.h in Headers */ = {isa = PBXBuildFile; fileRef = 95E85D1A56579BA7BAD8118CB90F2D9D /* SDImageCache.h */; settings = {ATTRIBUTES = (Project, ); }; };
+ 1CC36BFD3AD07841E0CA79CD22B712CC /* RCTConvert+Text.h in Headers */ = {isa = PBXBuildFile; fileRef = 7A35A7D836EF36B603643C40F50D4796 /* RCTConvert+Text.h */; settings = {ATTRIBUTES = (Project, ); }; };
1CEC9722F8DE930445379902380BBD11 /* demangle.cc in Sources */ = {isa = PBXBuildFile; fileRef = 5623283A57140BEDEF6310769F9C2E9E /* demangle.cc */; settings = {COMPILER_FLAGS = "-Wno-shorten-64-to-32"; }; };
- 1D05C8453EB2B936720262319C77095D /* BugsnagSessionFileStore.m in Sources */ = {isa = PBXBuildFile; fileRef = 97D227D33AEA36221BD06914063897F8 /* BugsnagSessionFileStore.m */; };
- 1D2698A4D2FBE3E9F36522616AAE586F /* RNPanHandler.m in Sources */ = {isa = PBXBuildFile; fileRef = C96156081425A9CB242830047A9B3367 /* RNPanHandler.m */; };
+ 1D05C8453EB2B936720262319C77095D /* BugsnagSessionFileStore.m in Sources */ = {isa = PBXBuildFile; fileRef = 44E7C4CDDD067B1E49A86DB501BC9574 /* BugsnagSessionFileStore.m */; };
1D3A9292C404B93E41EA657319C5A616 /* encode.h in Headers */ = {isa = PBXBuildFile; fileRef = 52CD4698E213A92E481B014F65706899 /* encode.h */; settings = {ATTRIBUTES = (Project, ); }; };
- 1D3EF4131B6F3AAAE880AAC312403333 /* RCTComponent.h in Headers */ = {isa = PBXBuildFile; fileRef = 27138926C56FD9534C7F2BD3185FEF6E /* RCTComponent.h */; settings = {ATTRIBUTES = (Project, ); }; };
- 1D43DDF44588F9ED127EE9ECCC858D22 /* UIView+WebCache.h in Headers */ = {isa = PBXBuildFile; fileRef = 523F0A4F1E3051AA1E22A50B39B3C035 /* UIView+WebCache.h */; settings = {ATTRIBUTES = (Project, ); }; };
- 1D598E7917CB546727C1A6D69A3779B5 /* UIImage+ForceDecode.h in Headers */ = {isa = PBXBuildFile; fileRef = 88E37F7699F8BAA34B951D58C22BA04C /* UIImage+ForceDecode.h */; settings = {ATTRIBUTES = (Project, ); }; };
- 1D5C101F5B5A65F0C0C2B1FA642B767E /* BugsnagReactNative.h in Headers */ = {isa = PBXBuildFile; fileRef = 29CE6A1174092CCE9F9F4F45D7EB643A /* BugsnagReactNative.h */; settings = {ATTRIBUTES = (Project, ); }; };
- 1D8FA87D7CE7FF126C85634408D65387 /* Utils.h in Headers */ = {isa = PBXBuildFile; fileRef = 3BE4417D8102DAA1CF8F042B9533CA06 /* Utils.h */; settings = {ATTRIBUTES = (Project, ); }; };
+ 1D3EF4131B6F3AAAE880AAC312403333 /* RCTComponent.h in Headers */ = {isa = PBXBuildFile; fileRef = 130DBF2E1A4299CBCFDD360D58940D72 /* RCTComponent.h */; settings = {ATTRIBUTES = (Project, ); }; };
+ 1D5C101F5B5A65F0C0C2B1FA642B767E /* BugsnagReactNative.h in Headers */ = {isa = PBXBuildFile; fileRef = 2C294C94720FDB28AE2100A06AE4B2E8 /* BugsnagReactNative.h */; settings = {ATTRIBUTES = (Project, ); }; };
+ 1D8FA87D7CE7FF126C85634408D65387 /* Utils.h in Headers */ = {isa = PBXBuildFile; fileRef = B595510A31CD62D91FEF6726062A9564 /* Utils.h */; settings = {ATTRIBUTES = (Project, ); }; };
1D949C6601A62EC6CAD60C9E7B50C0CC /* lossless.h in Headers */ = {isa = PBXBuildFile; fileRef = F90E4AA0081FA5A7AE3EB98DBC83135A /* lossless.h */; settings = {ATTRIBUTES = (Project, ); }; };
- 1DB8B2D7E908D0E0828B85945A383B76 /* RCTManagedPointer.h in Headers */ = {isa = PBXBuildFile; fileRef = BDF440FB94BF5B8254953FCA7A06A6C7 /* RCTManagedPointer.h */; settings = {ATTRIBUTES = (Project, ); }; };
- 1DC93118828603EA8B461EC2A9E34D7F /* RCTUIManagerUtils.m in Sources */ = {isa = PBXBuildFile; fileRef = 89B1DD92924E93A25B59A88B46F96BD6 /* RCTUIManagerUtils.m */; settings = {COMPILER_FLAGS = "-DFOLLY_NO_CONFIG -DFOLLY_MOBILE=1 -DFOLLY_USE_LIBCPP=1 -Wno-comma -Wno-shorten-64-to-32 -Wno-documentation"; }; };
+ 1DB8B2D7E908D0E0828B85945A383B76 /* RCTManagedPointer.h in Headers */ = {isa = PBXBuildFile; fileRef = 97DB951BA71C2FCB975BB5410A561EE2 /* RCTManagedPointer.h */; settings = {ATTRIBUTES = (Project, ); }; };
+ 1DC93118828603EA8B461EC2A9E34D7F /* RCTUIManagerUtils.m in Sources */ = {isa = PBXBuildFile; fileRef = F6FA8C87563B97D52B3BDDE6359EE373 /* RCTUIManagerUtils.m */; settings = {COMPILER_FLAGS = "-DFOLLY_NO_CONFIG -DFOLLY_MOBILE=1 -DFOLLY_USE_LIBCPP=1 -Wno-comma -Wno-shorten-64-to-32 -Wno-documentation"; }; };
1DF89E7727E0526C9F6958A6297BE82F /* FIRInstanceIDAuthService.h in Headers */ = {isa = PBXBuildFile; fileRef = E8BABE4F04151A7C5DC6B014E839D205 /* FIRInstanceIDAuthService.h */; settings = {ATTRIBUTES = (Project, ); }; };
- 1E33F5DBE2A1EC00BB20D16ECF677E76 /* UMViewManager.m in Sources */ = {isa = PBXBuildFile; fileRef = 30DFB33C508C5A593FDDE8FA254CCBB6 /* UMViewManager.m */; };
- 1E39B0FE90E2D15BD1C7200862383035 /* RCTImageStoreManager.m in Sources */ = {isa = PBXBuildFile; fileRef = 9010AE00B78787B6C01F72A8FADDDCF3 /* RCTImageStoreManager.m */; };
+ 1E322C16C1DFA74A091291F13603F079 /* UIImageView+WebCache.h in Headers */ = {isa = PBXBuildFile; fileRef = 74224D38F9256376A885B98001D4ED12 /* UIImageView+WebCache.h */; settings = {ATTRIBUTES = (Project, ); }; };
+ 1E33F5DBE2A1EC00BB20D16ECF677E76 /* UMViewManager.m in Sources */ = {isa = PBXBuildFile; fileRef = 72570BF8CC0440793B2214E50DE808E0 /* UMViewManager.m */; };
+ 1E39B0FE90E2D15BD1C7200862383035 /* RCTImageStoreManager.m in Sources */ = {isa = PBXBuildFile; fileRef = AD8337D4645D8E43CAAAED8876264794 /* RCTImageStoreManager.m */; };
1E456BCB8628607BE1E2DCDBC170FAE4 /* enc_msa.c in Sources */ = {isa = PBXBuildFile; fileRef = 0512E5707A74145C8D4C2E6D0A0837A0 /* enc_msa.c */; settings = {COMPILER_FLAGS = "-D_THREAD_SAFE -fno-objc-arc"; }; };
- 1E841C79FAEC28B0A912BD071CE02D69 /* RCTPackagerConnection.mm in Sources */ = {isa = PBXBuildFile; fileRef = 642951EB0F4AD1A9652A2F09D63E1F7A /* RCTPackagerConnection.mm */; };
- 1E9AAFA6D0EA56C5612E127111241ABC /* RCTCxxBridgeDelegate.h in Headers */ = {isa = PBXBuildFile; fileRef = 6F8CAFA84E36014B85386E74C9396C8D /* RCTCxxBridgeDelegate.h */; settings = {ATTRIBUTES = (Project, ); }; };
- 1F081C8C8A10B84F55B8A2B6F51350D3 /* IOS7Polyfill.h in Headers */ = {isa = PBXBuildFile; fileRef = C2B271F84FC7B6EA60272B90E4308029 /* IOS7Polyfill.h */; settings = {ATTRIBUTES = (Project, ); }; };
- 1F1A621FA6B13352C55D397B1BF3E1E6 /* UMBridgeModule.h in Headers */ = {isa = PBXBuildFile; fileRef = 665C58BECDEB7E85E559283068AD278C /* UMBridgeModule.h */; settings = {ATTRIBUTES = (Project, ); }; };
- 1F433492BD742344BAB20B11CABADAC9 /* React-RCTAnimation-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 85B57D3F295EA9BD4C8D943866379A14 /* React-RCTAnimation-dummy.m */; };
- 1F7D45563AC337CF84791FE70DFCCFCA /* BugsnagConfiguration.m in Sources */ = {isa = PBXBuildFile; fileRef = E0EBA420DC7C216E6BDD805ECE769C19 /* BugsnagConfiguration.m */; };
- 1F93B9D5FFF2B89EED6DC77A368547C8 /* UMJavaScriptContextProvider.h in Headers */ = {isa = PBXBuildFile; fileRef = 3161376885F9A753F0A25F0741678733 /* UMJavaScriptContextProvider.h */; settings = {ATTRIBUTES = (Project, ); }; };
- 1FE1EB3EE2608C9AEA971D9895DDA31B /* en.lproj in Resources */ = {isa = PBXBuildFile; fileRef = 6FD1AEC22B760780BC5622E43C1E0E0D /* en.lproj */; };
+ 1E841C79FAEC28B0A912BD071CE02D69 /* RCTPackagerConnection.mm in Sources */ = {isa = PBXBuildFile; fileRef = AA87AD6C8BA4A04CADC6AE2752CF977B /* RCTPackagerConnection.mm */; };
+ 1E9AAFA6D0EA56C5612E127111241ABC /* RCTCxxBridgeDelegate.h in Headers */ = {isa = PBXBuildFile; fileRef = 9025594BB2F65E1FCA1266A57EA6C170 /* RCTCxxBridgeDelegate.h */; settings = {ATTRIBUTES = (Project, ); }; };
+ 1EDFACE71199EEFFFF82F3C43D566A9A /* react-native-keyboard-tracking-view-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 7747A006E6EB5F87CB494D66AAA0ECEC /* react-native-keyboard-tracking-view-dummy.m */; };
+ 1F433492BD742344BAB20B11CABADAC9 /* React-RCTAnimation-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 518A3D4E214FDEE719518C7CAAC790DA /* React-RCTAnimation-dummy.m */; };
+ 1F7D45563AC337CF84791FE70DFCCFCA /* BugsnagConfiguration.m in Sources */ = {isa = PBXBuildFile; fileRef = 62BC3988B600C3FA32F6F7A21DC79BD9 /* BugsnagConfiguration.m */; };
+ 1F93B9D5FFF2B89EED6DC77A368547C8 /* UMJavaScriptContextProvider.h in Headers */ = {isa = PBXBuildFile; fileRef = BBC0066846E54D8BCC86A0E7786C7F25 /* UMJavaScriptContextProvider.h */; settings = {ATTRIBUTES = (Project, ); }; };
+ 1FBC0A8CDC844D6F304BAED941CB2DF0 /* UIButton+WebCache.m in Sources */ = {isa = PBXBuildFile; fileRef = AE1CA52D749B78621D708B5150D908DD /* UIButton+WebCache.m */; };
+ 1FDDAE9DAAA5694BBA3DF27165708A3D /* RNFirebaseAdMob.m in Sources */ = {isa = PBXBuildFile; fileRef = A7FAE12C568E083AF2CD5CEEB3A46AC8 /* RNFirebaseAdMob.m */; };
1FF2C3BBF640A90238FDCE88B9F4BDA1 /* picture_tools_enc.c in Sources */ = {isa = PBXBuildFile; fileRef = 35AF00A4BD9BD2CC7E174AF3A92FC8A6 /* picture_tools_enc.c */; settings = {COMPILER_FLAGS = "-D_THREAD_SAFE -fno-objc-arc"; }; };
200022E023C1CB715FE8A63069F76D71 /* mux.h in Headers */ = {isa = PBXBuildFile; fileRef = 68739F1912FB98E5E8F8E719380F556D /* mux.h */; settings = {ATTRIBUTES = (Project, ); }; };
- 20151875DA84E676FF35DCED3A7A3195 /* BSG_KSLogger.m in Sources */ = {isa = PBXBuildFile; fileRef = D4264E7A977BF228B9C54ECB725CC0B1 /* BSG_KSLogger.m */; };
- 20336A04ED1B98DA45740F4813143264 /* React-Core-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = B168581AC46B989DB2313D2958809B20 /* React-Core-dummy.m */; };
+ 20151875DA84E676FF35DCED3A7A3195 /* BSG_KSLogger.m in Sources */ = {isa = PBXBuildFile; fileRef = F42553B493CC70FDCB0936D3F45FE07B /* BSG_KSLogger.m */; };
+ 20336A04ED1B98DA45740F4813143264 /* React-Core-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 10A40FA3E0B7EE6712058A91D4CBD338 /* React-Core-dummy.m */; };
2057D78059437EADF8E509FB3A4E3463 /* FIRLogger.m in Sources */ = {isa = PBXBuildFile; fileRef = BCD18858AC78D288137B2826ED22E4E4 /* FIRLogger.m */; };
- 207ABEA4D53E76091114D931EE87CFF6 /* RNGestureHandler.m in Sources */ = {isa = PBXBuildFile; fileRef = 38FEDB3DFCA8073F1F2C4A810BE8894F /* RNGestureHandler.m */; };
- 20BB52A2F1EB699503EFA842EA5089B7 /* BSG_KSArchSpecific.h in Headers */ = {isa = PBXBuildFile; fileRef = 8FCD093D0891A58AACDE0A49F4078B6C /* BSG_KSArchSpecific.h */; settings = {ATTRIBUTES = (Project, ); }; };
+ 20BB52A2F1EB699503EFA842EA5089B7 /* BSG_KSArchSpecific.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B558B41C4A34028F0B114C2E02EAC64 /* BSG_KSArchSpecific.h */; settings = {ATTRIBUTES = (Project, ); }; };
20D2D943E25749537AFD4D44A90B515F /* filter_enc.c in Sources */ = {isa = PBXBuildFile; fileRef = DE269A17B06E69BAAA7A933A32F88041 /* filter_enc.c */; settings = {COMPILER_FLAGS = "-D_THREAD_SAFE -fno-objc-arc"; }; };
- 20D803741AABCBEEED52F0ECA8D3AC17 /* RCTNativeAnimatedModule.m in Sources */ = {isa = PBXBuildFile; fileRef = D5435DFAF832E1559FFC468F56412272 /* RCTNativeAnimatedModule.m */; };
- 20E36B4DA164ECFAC065F51A9BA0A1C2 /* RCTSurfaceDelegate.h in Headers */ = {isa = PBXBuildFile; fileRef = C0583B665FC55EEDB59D7F971489861B /* RCTSurfaceDelegate.h */; settings = {ATTRIBUTES = (Project, ); }; };
+ 20D803741AABCBEEED52F0ECA8D3AC17 /* RCTNativeAnimatedModule.m in Sources */ = {isa = PBXBuildFile; fileRef = EDB84244F87F7426831A1C0EEC6F7ED8 /* RCTNativeAnimatedModule.m */; };
+ 20E36B4DA164ECFAC065F51A9BA0A1C2 /* RCTSurfaceDelegate.h in Headers */ = {isa = PBXBuildFile; fileRef = 99695F2864E3BEB01CA2B7E0D5110195 /* RCTSurfaceDelegate.h */; settings = {ATTRIBUTES = (Project, ); }; };
20F3EC5F96CECCC418924F80B181053B /* nanopb-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 7D49F235A52C22D3E6A86A3DBEE26396 /* nanopb-dummy.m */; };
- 21087890DA32CA933AB0E4623DF499C1 /* RNFirebaseRemoteConfig.h in Headers */ = {isa = PBXBuildFile; fileRef = 1A0D92E74A4EE9B3A57D74236C6455E1 /* RNFirebaseRemoteConfig.h */; settings = {ATTRIBUTES = (Project, ); }; };
- 210B19D7099CDC82AD26478D23379440 /* RNCWKWebView.h in Headers */ = {isa = PBXBuildFile; fileRef = B5A237EABED6598608D416CEA4351D0E /* RNCWKWebView.h */; settings = {ATTRIBUTES = (Project, ); }; };
- 21304D693EC0944B1ED072777746E78D /* UMViewManagerAdapterClassesRegistry.h in Headers */ = {isa = PBXBuildFile; fileRef = 460AAAE62160C1812FF0B6BBEDBE6C1F /* UMViewManagerAdapterClassesRegistry.h */; settings = {ATTRIBUTES = (Project, ); }; };
- 219872C757F207F7B935358706E19215 /* UMModuleRegistryDelegate.h in Headers */ = {isa = PBXBuildFile; fileRef = E7F03DD9D6BDA52BA28519311FF05F0A /* UMModuleRegistryDelegate.h */; settings = {ATTRIBUTES = (Project, ); }; };
- 21A7B03038615161C7777396EA546882 /* UMUtilities.h in Headers */ = {isa = PBXBuildFile; fileRef = D8AD686202C8C8528C1181525B8320AC /* UMUtilities.h */; settings = {ATTRIBUTES = (Project, ); }; };
+ 219872C757F207F7B935358706E19215 /* UMModuleRegistryDelegate.h in Headers */ = {isa = PBXBuildFile; fileRef = 289ECD3EF5BDC0B41471786DE3CBC0A9 /* UMModuleRegistryDelegate.h */; settings = {ATTRIBUTES = (Project, ); }; };
+ 21A7B03038615161C7777396EA546882 /* UMUtilities.h in Headers */ = {isa = PBXBuildFile; fileRef = AA227BE3B5F32A5781AE28DAC1E19C30 /* UMUtilities.h */; settings = {ATTRIBUTES = (Project, ); }; };
21ABF1293012F0600F05DF3D7ABE5928 /* dec_msa.c in Sources */ = {isa = PBXBuildFile; fileRef = E22FBB374A26EE39D53EFFB5D054E89C /* dec_msa.c */; settings = {COMPILER_FLAGS = "-D_THREAD_SAFE -fno-objc-arc"; }; };
- 21B1823B4F7EEFEFF94E2D5D2E4F88B1 /* RCTMultiplicationAnimatedNode.m in Sources */ = {isa = PBXBuildFile; fileRef = CEC46F1DA4F19AF44B1257BA84A9B3D1 /* RCTMultiplicationAnimatedNode.m */; };
- 21E12D7B2E08737E43E6BAFC298AA961 /* RNDeviceInfo-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 3A9DAD0E21CB378F1118F0C6F2BC68A1 /* RNDeviceInfo-dummy.m */; };
- 21EC7D3AD60270794C1F393D994EEC4F /* BSG_KSCrashState.h in Headers */ = {isa = PBXBuildFile; fileRef = E21613D169CDD38FDE2F2D912B756F22 /* BSG_KSCrashState.h */; settings = {ATTRIBUTES = (Project, ); }; };
- 21FDDADE62BD32C35FF04CEF6B925B01 /* RNPanHandler.h in Headers */ = {isa = PBXBuildFile; fileRef = 7F99CD3835F2CDED28BC8B4070DB9A1D /* RNPanHandler.h */; settings = {ATTRIBUTES = (Project, ); }; };
- 222BC3359BDB41AFD82AF7A94F7130A4 /* NSDataBigString.mm in Sources */ = {isa = PBXBuildFile; fileRef = 0407737E35A8740BA30337057F3CB893 /* NSDataBigString.mm */; settings = {COMPILER_FLAGS = "-DFOLLY_NO_CONFIG -DFOLLY_MOBILE=1 -DFOLLY_USE_LIBCPP=1 -Wno-comma -Wno-shorten-64-to-32 -Wno-documentation"; }; };
+ 21B1823B4F7EEFEFF94E2D5D2E4F88B1 /* RCTMultiplicationAnimatedNode.m in Sources */ = {isa = PBXBuildFile; fileRef = 85B49AA8846547A00B1B65C2D1342083 /* RCTMultiplicationAnimatedNode.m */; };
+ 21EC7D3AD60270794C1F393D994EEC4F /* BSG_KSCrashState.h in Headers */ = {isa = PBXBuildFile; fileRef = 93015CA7D798B28532F5AB65CC754A4A /* BSG_KSCrashState.h */; settings = {ATTRIBUTES = (Project, ); }; };
+ 222BC3359BDB41AFD82AF7A94F7130A4 /* NSDataBigString.mm in Sources */ = {isa = PBXBuildFile; fileRef = 8CD51B847E9B8520BA51D83BAEAD6E52 /* NSDataBigString.mm */; settings = {COMPILER_FLAGS = "-DFOLLY_NO_CONFIG -DFOLLY_MOBILE=1 -DFOLLY_USE_LIBCPP=1 -Wno-comma -Wno-shorten-64-to-32 -Wno-documentation"; }; };
227E798F6EB67F02AE3FB6227E466D98 /* FIRInstanceIDCombinedHandler.h in Headers */ = {isa = PBXBuildFile; fileRef = 7F50886998DA0B8D653152EAE4C4D535 /* FIRInstanceIDCombinedHandler.h */; settings = {ATTRIBUTES = (Project, ); }; };
- 22898BD6C6A490182C188A14C72195AA /* BSG_KSCrashDoctor.m in Sources */ = {isa = PBXBuildFile; fileRef = E25DE89EC3798D70E3F20D1C790C4123 /* BSG_KSCrashDoctor.m */; };
- 228FA2CC8D3E1CAA67EF260E8554406E /* RCTJavaScriptExecutor.h in Headers */ = {isa = PBXBuildFile; fileRef = B12642361B934B1E5980297FE253C2F0 /* RCTJavaScriptExecutor.h */; settings = {ATTRIBUTES = (Project, ); }; };
- 22FAA1B26678CE5F1136E9A5A176E08E /* RCTTiming.h in Headers */ = {isa = PBXBuildFile; fileRef = AAC975FF5177D9B98BB1CA4ECAAA897B /* RCTTiming.h */; settings = {ATTRIBUTES = (Project, ); }; };
- 2314230B31E3CFA4AC9E5BF99695798F /* RNNotificationsStore.m in Sources */ = {isa = PBXBuildFile; fileRef = C8A7B13D013F2CAFDE1276B052739548 /* RNNotificationsStore.m */; };
- 235DEDC64BFFBBEC3DE12FDC75C14CD2 /* RCTAlertManager.h in Headers */ = {isa = PBXBuildFile; fileRef = C3FFA3B20336AA5952F1C495A78FD594 /* RCTAlertManager.h */; settings = {ATTRIBUTES = (Project, ); }; };
- 239CE1CB1FBF750321A9B2EB464F82BA /* RNFirebaseFirestoreDocumentReference.h in Headers */ = {isa = PBXBuildFile; fileRef = DDF81306C2E982F432D37F233A36A641 /* RNFirebaseFirestoreDocumentReference.h */; settings = {ATTRIBUTES = (Project, ); }; };
+ 22898BD6C6A490182C188A14C72195AA /* BSG_KSCrashDoctor.m in Sources */ = {isa = PBXBuildFile; fileRef = 2B7B14044930BBB895FCFA3CC7DCBAD8 /* BSG_KSCrashDoctor.m */; };
+ 228FA2CC8D3E1CAA67EF260E8554406E /* RCTJavaScriptExecutor.h in Headers */ = {isa = PBXBuildFile; fileRef = 82E192F629F9E7034C0949AC0A99E253 /* RCTJavaScriptExecutor.h */; settings = {ATTRIBUTES = (Project, ); }; };
+ 22B16F97A03BF31490343820AC77D372 /* RNFirebaseFirestoreDocumentReference.h in Headers */ = {isa = PBXBuildFile; fileRef = F9274AE86B9451B2C3F096DA4625A5B7 /* RNFirebaseFirestoreDocumentReference.h */; settings = {ATTRIBUTES = (Project, ); }; };
+ 22FAA1B26678CE5F1136E9A5A176E08E /* RCTTiming.h in Headers */ = {isa = PBXBuildFile; fileRef = FA0D6CE5AD1A07C4B236E50467B6D90F /* RCTTiming.h */; settings = {ATTRIBUTES = (Project, ); }; };
+ 235DEDC64BFFBBEC3DE12FDC75C14CD2 /* RCTAlertManager.h in Headers */ = {isa = PBXBuildFile; fileRef = 559BCBA126E7BA103068C20107919560 /* RCTAlertManager.h */; settings = {ATTRIBUTES = (Project, ); }; };
+ 2378FA226B8AE38FD78C14C420BEAB4F /* RNFirebaseRemoteConfig.m in Sources */ = {isa = PBXBuildFile; fileRef = B919BB9B83C584F368C9ED5E99788E38 /* RNFirebaseRemoteConfig.m */; };
23BD7EAF0F4EBEA12B17AE7D21D916DA /* anim_decode.c in Sources */ = {isa = PBXBuildFile; fileRef = 43BF84C34EEA1931D5562D9A8962E830 /* anim_decode.c */; settings = {COMPILER_FLAGS = "-D_THREAD_SAFE -fno-objc-arc"; }; };
- 23FDB87305632B0F94A11ADB3FA69778 /* QBAlbumCell.m in Sources */ = {isa = PBXBuildFile; fileRef = D80AD35E7CB05C134F5FDC4CADB18A21 /* QBAlbumCell.m */; };
- 24612254DD2532FED43B3EAE4B0F44AE /* LNAnimator.h in Headers */ = {isa = PBXBuildFile; fileRef = C90ACED87432559A7E45D7BAEA691FB1 /* LNAnimator.h */; settings = {ATTRIBUTES = (Project, ); }; };
- 24725EF526B66947DFCFB06F8B0442D9 /* EXPermissions.m in Sources */ = {isa = PBXBuildFile; fileRef = FEE7C33C7C503B36BCF76461491961DB /* EXPermissions.m */; };
- 247A9E9CF0E893DE72FAE7DFB705E4A9 /* BSG_KSBacktrace.c in Sources */ = {isa = PBXBuildFile; fileRef = 71708360111D5E4EC0AF4431550101F3 /* BSG_KSBacktrace.c */; };
+ 240CA95748AD3A5095B92CB14B813665 /* RNPanHandler.m in Sources */ = {isa = PBXBuildFile; fileRef = BDF1553E52DF2A8B8941C3000FFCB4FD /* RNPanHandler.m */; };
+ 240D33AB8D66E24BC780EAA790D0A405 /* react-native-keyboard-input-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 624E8A2306A0FDA0A14688F780884E71 /* react-native-keyboard-input-dummy.m */; };
+ 24725EF526B66947DFCFB06F8B0442D9 /* EXPermissions.m in Sources */ = {isa = PBXBuildFile; fileRef = E0D1C9D2F17800D682057DE924C0CB00 /* EXPermissions.m */; };
+ 247A9E9CF0E893DE72FAE7DFB705E4A9 /* BSG_KSBacktrace.c in Sources */ = {isa = PBXBuildFile; fileRef = 95D98868E3BAADA6275C843025E05F4F /* BSG_KSBacktrace.c */; };
248D62ADA195749B658B6D3F50035811 /* GULReachabilityChecker.h in Headers */ = {isa = PBXBuildFile; fileRef = EBCE4A6F288CFF18B400E12C8046E6ED /* GULReachabilityChecker.h */; settings = {ATTRIBUTES = (Project, ); }; };
- 24BEB560496E83ABB594F3692A139BCB /* RCTModalHostViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 7E7C2D2D624F4D778C2F7C4D9407C860 /* RCTModalHostViewController.m */; settings = {COMPILER_FLAGS = "-DFOLLY_NO_CONFIG -DFOLLY_MOBILE=1 -DFOLLY_USE_LIBCPP=1 -Wno-comma -Wno-shorten-64-to-32 -Wno-documentation"; }; };
+ 24BEB560496E83ABB594F3692A139BCB /* RCTModalHostViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = C6B351310384285799279634BD7777C1 /* RCTModalHostViewController.m */; settings = {COMPILER_FLAGS = "-DFOLLY_NO_CONFIG -DFOLLY_MOBILE=1 -DFOLLY_USE_LIBCPP=1 -Wno-comma -Wno-shorten-64-to-32 -Wno-documentation"; }; };
24C8082B1509E898F7CA4FE236F63A0F /* FIRBundleUtil.h in Headers */ = {isa = PBXBuildFile; fileRef = AD5AA2684FAD20F7751DB700D4BB2A7D /* FIRBundleUtil.h */; settings = {ATTRIBUTES = (Project, ); }; };
- 24CFE3F163F2285C7CE86B37C72E419C /* RCTCxxBridge.mm in Sources */ = {isa = PBXBuildFile; fileRef = 16A416D56AE1712A02B6D0A99682B0C7 /* RCTCxxBridge.mm */; settings = {COMPILER_FLAGS = "-DFOLLY_NO_CONFIG -DFOLLY_MOBILE=1 -DFOLLY_USE_LIBCPP=1 -Wno-comma -Wno-shorten-64-to-32 -Wno-documentation"; }; };
- 25174F9577BED818DEA7540C3B43BC0F /* RCTPackagerClient.h in Headers */ = {isa = PBXBuildFile; fileRef = 9009582533ED656DB0C5BE3110876C44 /* RCTPackagerClient.h */; settings = {ATTRIBUTES = (Project, ); }; };
+ 24CFE3F163F2285C7CE86B37C72E419C /* RCTCxxBridge.mm in Sources */ = {isa = PBXBuildFile; fileRef = 8E6A5EA6CB66FBA5010CB45ECFEA260F /* RCTCxxBridge.mm */; settings = {COMPILER_FLAGS = "-DFOLLY_NO_CONFIG -DFOLLY_MOBILE=1 -DFOLLY_USE_LIBCPP=1 -Wno-comma -Wno-shorten-64-to-32 -Wno-documentation"; }; };
+ 25174F9577BED818DEA7540C3B43BC0F /* RCTPackagerClient.h in Headers */ = {isa = PBXBuildFile; fileRef = 7D754EC90E9816902D43305FD3202F0B /* RCTPackagerClient.h */; settings = {ATTRIBUTES = (Project, ); }; };
+ 25276AE840404B6A21D8A190F740D2F8 /* RNLongPressHandler.m in Sources */ = {isa = PBXBuildFile; fileRef = 3AD79A996DC7BB94FFAB2FA0D128425C /* RNLongPressHandler.m */; };
2570B87EB569CB890AD62362F7B9455A /* FIRAnalyticsConfiguration.h in Headers */ = {isa = PBXBuildFile; fileRef = DE648351B5AD45310F041A26DE44A27E /* FIRAnalyticsConfiguration.h */; settings = {ATTRIBUTES = (Project, ); }; };
- 259805457533172392A5D7EAF6541D6B /* BSG_KSBacktrace.h in Headers */ = {isa = PBXBuildFile; fileRef = B620CE5AC0DD492E80F14AB5BFFEDF49 /* BSG_KSBacktrace.h */; settings = {ATTRIBUTES = (Project, ); }; };
- 25B6AA1A5C7DE1B7518DEBB5D07D49F5 /* RCTModuloAnimatedNode.h in Headers */ = {isa = PBXBuildFile; fileRef = 909DC132C61F548AA57DF21E1920AC04 /* RCTModuloAnimatedNode.h */; settings = {ATTRIBUTES = (Project, ); }; };
- 25F75C76E15DE19C430390CA1500E969 /* QBImagePickerController.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B971150FC24EBFD854AC1064FB9E130 /* QBImagePickerController.h */; settings = {ATTRIBUTES = (Project, ); }; };
- 25FB74A12B3BFC3CA5576E2ABD257560 /* SDWebImageDownloaderOperation.m in Sources */ = {isa = PBXBuildFile; fileRef = 7132F70EC627B372196080017B2E19F0 /* SDWebImageDownloaderOperation.m */; };
- 263CC56ECD5948F66B7BA1AEFDB8F8DE /* RCTResizeMode.h in Headers */ = {isa = PBXBuildFile; fileRef = 30375D5147884DCD54E1C1CAEB4E0C77 /* RCTResizeMode.h */; settings = {ATTRIBUTES = (Project, ); }; };
- 26AA5B066B730D0F6F733A9E922F00F9 /* RCTImageSource.h in Headers */ = {isa = PBXBuildFile; fileRef = 55CE786DE8B5445E69B31E9456CC220C /* RCTImageSource.h */; settings = {ATTRIBUTES = (Project, ); }; };
- 26B4845BD2D231CE0B368EF69EACFB77 /* RCTSurfaceRootShadowViewDelegate.h in Headers */ = {isa = PBXBuildFile; fileRef = 5F864F552A39D233D0914748DD27FA09 /* RCTSurfaceRootShadowViewDelegate.h */; settings = {ATTRIBUTES = (Project, ); }; };
- 26C48A0C89AC8D0339A6F864755EF149 /* RNNotificationUtils.m in Sources */ = {isa = PBXBuildFile; fileRef = A402B3793F9B66E0E133FD60BA17E44F /* RNNotificationUtils.m */; };
- 270957F405168211B69298CB2048DF0D /* BSG_KSCrashReportStore.h in Headers */ = {isa = PBXBuildFile; fileRef = AF1C1910B1BC378E6B6D47B6E65D5084 /* BSG_KSCrashReportStore.h */; settings = {ATTRIBUTES = (Project, ); }; };
- 27801164D3384C3AC9FA89797B4BC4C5 /* SDImageTransformer.h in Headers */ = {isa = PBXBuildFile; fileRef = 837C0E45522E651C57181A0A10F57290 /* SDImageTransformer.h */; settings = {ATTRIBUTES = (Project, ); }; };
- 27AD52F67B0DCE2212BF541A9603B232 /* BSGOutOfMemoryWatchdog.h in Headers */ = {isa = PBXBuildFile; fileRef = 491170D2F9BC0A7C634F17CBD5949AA9 /* BSGOutOfMemoryWatchdog.h */; settings = {ATTRIBUTES = (Project, ); }; };
- 27C6A9607C7B95306DDD95F8E59D6CB3 /* RCTFollyConvert.h in Headers */ = {isa = PBXBuildFile; fileRef = BC2473CD6ED37C8CDD2F3D2E49AA6943 /* RCTFollyConvert.h */; settings = {ATTRIBUTES = (Project, ); }; };
+ 259805457533172392A5D7EAF6541D6B /* BSG_KSBacktrace.h in Headers */ = {isa = PBXBuildFile; fileRef = 46E5DC47A6BEB6A248691EF958BB460D /* BSG_KSBacktrace.h */; settings = {ATTRIBUTES = (Project, ); }; };
+ 25B6AA1A5C7DE1B7518DEBB5D07D49F5 /* RCTModuloAnimatedNode.h in Headers */ = {isa = PBXBuildFile; fileRef = BBA43AF8C8101A437C46A0134308DC42 /* RCTModuloAnimatedNode.h */; settings = {ATTRIBUTES = (Project, ); }; };
+ 25C64173AAB4A0E7E99B1018DDEAEF92 /* UIResponder+FirstResponder.m in Sources */ = {isa = PBXBuildFile; fileRef = C37ED70B82AF9FAFA0D9F70CA98B4A24 /* UIResponder+FirstResponder.m */; };
+ 263CC56ECD5948F66B7BA1AEFDB8F8DE /* RCTResizeMode.h in Headers */ = {isa = PBXBuildFile; fileRef = 8C5EC6704CDE8186B05FFA0D084DF331 /* RCTResizeMode.h */; settings = {ATTRIBUTES = (Project, ); }; };
+ 26AA5B066B730D0F6F733A9E922F00F9 /* RCTImageSource.h in Headers */ = {isa = PBXBuildFile; fileRef = 610CD3B251ADFCD43D492EDD0A51C0BE /* RCTImageSource.h */; settings = {ATTRIBUTES = (Project, ); }; };
+ 26B4845BD2D231CE0B368EF69EACFB77 /* RCTSurfaceRootShadowViewDelegate.h in Headers */ = {isa = PBXBuildFile; fileRef = FA9CD2C2F516A7843432D8A63E0A27CE /* RCTSurfaceRootShadowViewDelegate.h */; settings = {ATTRIBUTES = (Project, ); }; };
+ 270957F405168211B69298CB2048DF0D /* BSG_KSCrashReportStore.h in Headers */ = {isa = PBXBuildFile; fileRef = B531B3FFB1A3AA1AD0C5BDA9D58F9C60 /* BSG_KSCrashReportStore.h */; settings = {ATTRIBUTES = (Project, ); }; };
+ 27767774871C4002E91C458952FAF2C1 /* NSValue+Interpolation.h in Headers */ = {isa = PBXBuildFile; fileRef = 05809B72105DB62C94F828B3C42E14B2 /* NSValue+Interpolation.h */; settings = {ATTRIBUTES = (Project, ); }; };
+ 27AD52F67B0DCE2212BF541A9603B232 /* BSGOutOfMemoryWatchdog.h in Headers */ = {isa = PBXBuildFile; fileRef = F68B9B6B4C9CFDC008019D79D1CA562B /* BSGOutOfMemoryWatchdog.h */; settings = {ATTRIBUTES = (Project, ); }; };
+ 27C6A9607C7B95306DDD95F8E59D6CB3 /* RCTFollyConvert.h in Headers */ = {isa = PBXBuildFile; fileRef = 225F6667F0684851542416EFEEBE7472 /* RCTFollyConvert.h */; settings = {ATTRIBUTES = (Project, ); }; };
27CF157255C447A5063775B5BE8A7CCF /* vp8_dec.h in Headers */ = {isa = PBXBuildFile; fileRef = 534A34629E4435800A496E2336176553 /* vp8_dec.h */; settings = {ATTRIBUTES = (Project, ); }; };
- 28460F084E3F76CAE4A73405858D93D2 /* UMViewManager.h in Headers */ = {isa = PBXBuildFile; fileRef = 119F27FC1F230ED18E36471C4FB41B5A /* UMViewManager.h */; settings = {ATTRIBUTES = (Project, ); }; };
- 285BD1C7E946BC279830003ADF1261BC /* Orientation.h in Headers */ = {isa = PBXBuildFile; fileRef = 40456257C0A7B76DE037A7D03BA99AAD /* Orientation.h */; settings = {ATTRIBUTES = (Project, ); }; };
- 287AF10671D2CB0A97D051B3DF0EA3BA /* SharedProxyCxxModule.h in Headers */ = {isa = PBXBuildFile; fileRef = B0BA26C671E79F4C2ACD3620FB899CED /* SharedProxyCxxModule.h */; settings = {ATTRIBUTES = (Project, ); }; };
- 28894DD65A1ACF39176DF0720AEAC829 /* RCTPointerEvents.h in Headers */ = {isa = PBXBuildFile; fileRef = A5752BCCC125130726433ED478E69973 /* RCTPointerEvents.h */; settings = {ATTRIBUTES = (Project, ); }; };
- 28CC9D12382FF2F86C71C861D4B967D3 /* RCTDiffClampAnimatedNode.m in Sources */ = {isa = PBXBuildFile; fileRef = C7621184B310B70621C8E080C04DB6E8 /* RCTDiffClampAnimatedNode.m */; };
- 28E800F897C3FC5D0D8BCB0A35CF5986 /* UMModuleRegistryProvider.h in Headers */ = {isa = PBXBuildFile; fileRef = 1DAD1AF4430E7FE198DFE79A224F1C7F /* UMModuleRegistryProvider.h */; settings = {ATTRIBUTES = (Project, ); }; };
- 2A4FD22248D4B1C68D48C3CC742B7702 /* BSGSerialization.h in Headers */ = {isa = PBXBuildFile; fileRef = 40EABA5794449FEEC7A8ADFB09F022B8 /* BSGSerialization.h */; settings = {ATTRIBUTES = (Project, ); }; };
+ 28460F084E3F76CAE4A73405858D93D2 /* UMViewManager.h in Headers */ = {isa = PBXBuildFile; fileRef = 4C5ABAF73422CD9556FAEB9BA9A9FDA3 /* UMViewManager.h */; settings = {ATTRIBUTES = (Project, ); }; };
+ 287AF10671D2CB0A97D051B3DF0EA3BA /* SharedProxyCxxModule.h in Headers */ = {isa = PBXBuildFile; fileRef = D3A3B10CC2E9CC39448E1AA124E44C15 /* SharedProxyCxxModule.h */; settings = {ATTRIBUTES = (Project, ); }; };
+ 28894DD65A1ACF39176DF0720AEAC829 /* RCTPointerEvents.h in Headers */ = {isa = PBXBuildFile; fileRef = 5462717E3C4D7F3CF667231D619B8298 /* RCTPointerEvents.h */; settings = {ATTRIBUTES = (Project, ); }; };
+ 28CC9D12382FF2F86C71C861D4B967D3 /* RCTDiffClampAnimatedNode.m in Sources */ = {isa = PBXBuildFile; fileRef = 8335B9FB2E3EDB9344977216AE969732 /* RCTDiffClampAnimatedNode.m */; };
+ 28E800F897C3FC5D0D8BCB0A35CF5986 /* UMModuleRegistryProvider.h in Headers */ = {isa = PBXBuildFile; fileRef = 7B726C5FC40C6D602C16D0E5ECE8BE97 /* UMModuleRegistryProvider.h */; settings = {ATTRIBUTES = (Project, ); }; };
+ 29009F4846F6DC740E1990511A97357C /* QBCheckmarkView.h in Headers */ = {isa = PBXBuildFile; fileRef = A545F93166CB948985A1AC418628DF4B /* QBCheckmarkView.h */; settings = {ATTRIBUTES = (Project, ); }; };
+ 293C00F521A664B261DD2A82A0991A6D /* RNGestureHandlerEvents.m in Sources */ = {isa = PBXBuildFile; fileRef = EBB0B25F92816F7F0EE48983F0BBE300 /* RNGestureHandlerEvents.m */; };
+ 29FC734D55ADF05F609522F2B29CB57E /* FFFastImageView.h in Headers */ = {isa = PBXBuildFile; fileRef = 79F067C7012DBAB30A45B13340FB6A4F /* FFFastImageView.h */; settings = {ATTRIBUTES = (Project, ); }; };
+ 2A4FD22248D4B1C68D48C3CC742B7702 /* BSGSerialization.h in Headers */ = {isa = PBXBuildFile; fileRef = A7B362DC091A49BA98A8DFEF642E5F9F /* BSGSerialization.h */; settings = {ATTRIBUTES = (Project, ); }; };
2A6007CC43D8EEA9B2BC68DD9C588117 /* frame_enc.c in Sources */ = {isa = PBXBuildFile; fileRef = 9A06FB7A68FDC591A5963F94AE07796D /* frame_enc.c */; settings = {COMPILER_FLAGS = "-D_THREAD_SAFE -fno-objc-arc"; }; };
- 2ABD5D9936F366E87BB7EA022DE746CF /* EXPermissions-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 90F530516A5855FCFE96A30440F7AEB3 /* EXPermissions-dummy.m */; };
+ 2A6B38A164673E0581A6B684C13C856F /* RSKImageScrollView.h in Headers */ = {isa = PBXBuildFile; fileRef = 5E90D60AD004DEF77D4982EB6147B952 /* RSKImageScrollView.h */; settings = {ATTRIBUTES = (Project, ); }; };
+ 2A95BEC374338108D944D91A3A5A3310 /* SDWebImageTransition.h in Headers */ = {isa = PBXBuildFile; fileRef = 8CA2F8A58E56FD16B199EBF237E60427 /* SDWebImageTransition.h */; settings = {ATTRIBUTES = (Project, ); }; };
+ 2ABD5D9936F366E87BB7EA022DE746CF /* EXPermissions-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 931801FB96F5B0BE054FDD981A306FF2 /* EXPermissions-dummy.m */; };
2ADF07B96AFD642FDDA0273C3FC90A9A /* FIRInstanceIDURLQueryItem.m in Sources */ = {isa = PBXBuildFile; fileRef = 8C612113672046C618FFAC8DBDD0EFB6 /* FIRInstanceIDURLQueryItem.m */; };
- 2B192134CD9A6767D59CE9C6B579DC97 /* SDImageGIFCoderInternal.h in Headers */ = {isa = PBXBuildFile; fileRef = 53BB6273431F000D9A5DCD5765BD5C9C /* SDImageGIFCoderInternal.h */; settings = {ATTRIBUTES = (Project, ); }; };
- 2B1CF5C9FC41B15728ECBB431031ACDF /* Color+Interpolation.m in Sources */ = {isa = PBXBuildFile; fileRef = BA872FEFFEB055E65F2050E00EFE1B2C /* Color+Interpolation.m */; };
- 2B29AB6096D2325C885CD80370523BDB /* RCTNetInfo.h in Headers */ = {isa = PBXBuildFile; fileRef = 34B4293D727459F02C56EF67353D3B77 /* RCTNetInfo.h */; settings = {ATTRIBUTES = (Project, ); }; };
- 2B66E5D0E898A855836039BAC3F562B4 /* UIColor+HexString.h in Headers */ = {isa = PBXBuildFile; fileRef = CBD4E654C7EADCABFB701CC3B24F88F3 /* UIColor+HexString.h */; settings = {ATTRIBUTES = (Project, ); }; };
+ 2B29AB6096D2325C885CD80370523BDB /* RCTNetInfo.h in Headers */ = {isa = PBXBuildFile; fileRef = 4EDF17FE7B3B410298204F4527CD8E18 /* RCTNetInfo.h */; settings = {ATTRIBUTES = (Project, ); }; };
+ 2B4523AD2E76DA25D3CCAACE404B7A93 /* SDImageFrame.h in Headers */ = {isa = PBXBuildFile; fileRef = A30EF09DCFFABE8A97D28E9623597E52 /* SDImageFrame.h */; settings = {ATTRIBUTES = (Project, ); }; };
+ 2B8627FD5A9E44288E273B1DDE73CCFC /* SDImageLoadersManager.h in Headers */ = {isa = PBXBuildFile; fileRef = 4FB245E32C3A6682B5F1F217E8689ECE /* SDImageLoadersManager.h */; settings = {ATTRIBUTES = (Project, ); }; };
2BDAE2BAA48D3C6E8C983C126D1FF6D3 /* FIRInstanceIDCheckinPreferences_Private.h in Headers */ = {isa = PBXBuildFile; fileRef = 18B255B4A4B5BFB6A321700726D35D6D /* FIRInstanceIDCheckinPreferences_Private.h */; settings = {ATTRIBUTES = (Project, ); }; };
- 2BE321A08DCB8BBD46BADC0025EE22AA /* BSG_KSCrashSentry_Signal.c in Sources */ = {isa = PBXBuildFile; fileRef = 0A760EC6505D6DA17180816BFA7F4189 /* BSG_KSCrashSentry_Signal.c */; };
+ 2BE321A08DCB8BBD46BADC0025EE22AA /* BSG_KSCrashSentry_Signal.c in Sources */ = {isa = PBXBuildFile; fileRef = 16D2F7B000EED47714448306AB9F2AA0 /* BSG_KSCrashSentry_Signal.c */; };
2C2AC1E8B0605625D9F2D5B5D3480055 /* dec_sse41.c in Sources */ = {isa = PBXBuildFile; fileRef = D9359382B6211ECE18E6B83F6C1F2412 /* dec_sse41.c */; settings = {COMPILER_FLAGS = "-D_THREAD_SAFE -fno-objc-arc"; }; };
- 2C4587AD15A7973ECE6637EDA1DFBF08 /* EXFilePermissionModule.h in Headers */ = {isa = PBXBuildFile; fileRef = 1CB9AAAB0483824ABFAF22B1F2487825 /* EXFilePermissionModule.h */; settings = {ATTRIBUTES = (Project, ); }; };
+ 2C4587AD15A7973ECE6637EDA1DFBF08 /* EXFilePermissionModule.h in Headers */ = {isa = PBXBuildFile; fileRef = 7653C4A1641AE61EF1ED06938DF89DD1 /* EXFilePermissionModule.h */; settings = {ATTRIBUTES = (Project, ); }; };
2CBE448FB6CEF4C98AF0A90B1DAA3E22 /* lossless_neon.c in Sources */ = {isa = PBXBuildFile; fileRef = 6BC4C2BD2F25A9FEFC6C18473A327CBC /* lossless_neon.c */; settings = {COMPILER_FLAGS = "-D_THREAD_SAFE -fno-objc-arc"; }; };
- 2CE0C7567AF4A09430A5DDDF611EF558 /* RCTRefreshControl.m in Sources */ = {isa = PBXBuildFile; fileRef = EA2252976FBA192C6C94901093504ACA /* RCTRefreshControl.m */; settings = {COMPILER_FLAGS = "-DFOLLY_NO_CONFIG -DFOLLY_MOBILE=1 -DFOLLY_USE_LIBCPP=1 -Wno-comma -Wno-shorten-64-to-32 -Wno-documentation"; }; };
- 2CF3B1CA636A10BC382B517D2E20EDCE /* RCTMultilineTextInputView.m in Sources */ = {isa = PBXBuildFile; fileRef = 4683FA2FCC711833E542C8D1FCBD3C64 /* RCTMultilineTextInputView.m */; };
- 2D1C97C265A8D2F0FA40AA51501076BE /* SDInternalMacros.h in Headers */ = {isa = PBXBuildFile; fileRef = 42249D00257DA8CA6B52A8A000A5F100 /* SDInternalMacros.h */; settings = {ATTRIBUTES = (Project, ); }; };
- 2D1D7C9433D6D2A3D6E2CE3409BFC2F8 /* RCTUIManager.m in Sources */ = {isa = PBXBuildFile; fileRef = 273CED3BA127983033118866D78B65E7 /* RCTUIManager.m */; settings = {COMPILER_FLAGS = "-DFOLLY_NO_CONFIG -DFOLLY_MOBILE=1 -DFOLLY_USE_LIBCPP=1 -Wno-comma -Wno-shorten-64-to-32 -Wno-documentation"; }; };
- 2D335C77E861724C6239BEA0F3C1046D /* jsi-inl.h in Headers */ = {isa = PBXBuildFile; fileRef = 7558ADBF6A84890C9412141B1FA5DB8E /* jsi-inl.h */; settings = {ATTRIBUTES = (Project, ); }; };
- 2D61A2747A7ED3643B239BF6F190E30A /* EXLocationRequester.h in Headers */ = {isa = PBXBuildFile; fileRef = 9DEC6193AA822A8732DDB4126515A8E8 /* EXLocationRequester.h */; settings = {ATTRIBUTES = (Project, ); }; };
- 2D889A37C6B0DCFAC73E5AC673F56C1C /* EXCameraRollRequester.h in Headers */ = {isa = PBXBuildFile; fileRef = 959F1EB3BCC038474B64C63E394726FB /* EXCameraRollRequester.h */; settings = {ATTRIBUTES = (Project, ); }; };
+ 2CE0C7567AF4A09430A5DDDF611EF558 /* RCTRefreshControl.m in Sources */ = {isa = PBXBuildFile; fileRef = D8F8D8C3802E379A447EB77A108367D8 /* RCTRefreshControl.m */; settings = {COMPILER_FLAGS = "-DFOLLY_NO_CONFIG -DFOLLY_MOBILE=1 -DFOLLY_USE_LIBCPP=1 -Wno-comma -Wno-shorten-64-to-32 -Wno-documentation"; }; };
+ 2CF3B1CA636A10BC382B517D2E20EDCE /* RCTMultilineTextInputView.m in Sources */ = {isa = PBXBuildFile; fileRef = BB47A6396FB1169A367CE021EED83A5D /* RCTMultilineTextInputView.m */; };
+ 2D1D7C9433D6D2A3D6E2CE3409BFC2F8 /* RCTUIManager.m in Sources */ = {isa = PBXBuildFile; fileRef = C04FC3CB243F9451AFCF7EB5CDD3B300 /* RCTUIManager.m */; settings = {COMPILER_FLAGS = "-DFOLLY_NO_CONFIG -DFOLLY_MOBILE=1 -DFOLLY_USE_LIBCPP=1 -Wno-comma -Wno-shorten-64-to-32 -Wno-documentation"; }; };
+ 2D335C77E861724C6239BEA0F3C1046D /* jsi-inl.h in Headers */ = {isa = PBXBuildFile; fileRef = CFE014B9F8CBCA999346FB3AA0558AAA /* jsi-inl.h */; settings = {ATTRIBUTES = (Project, ); }; };
+ 2D61A2747A7ED3643B239BF6F190E30A /* EXLocationRequester.h in Headers */ = {isa = PBXBuildFile; fileRef = 349BA5499591DB1EB5096A95AD0D3544 /* EXLocationRequester.h */; settings = {ATTRIBUTES = (Project, ); }; };
+ 2D889A37C6B0DCFAC73E5AC673F56C1C /* EXCameraRollRequester.h in Headers */ = {isa = PBXBuildFile; fileRef = 91025832204349358308261FFCA0FBBE /* EXCameraRollRequester.h */; settings = {ATTRIBUTES = (Project, ); }; };
2DB4F42CEBDC24A79C3C19B323720090 /* lossless_enc_neon.c in Sources */ = {isa = PBXBuildFile; fileRef = E94A59AEEB0067F806D867FB2A0CE45B /* lossless_enc_neon.c */; settings = {COMPILER_FLAGS = "-D_THREAD_SAFE -fno-objc-arc"; }; };
- 2E4931E8207986206E7AB09BFBB585EB /* EXPermissions.h in Headers */ = {isa = PBXBuildFile; fileRef = BF3D9F84195481A2BDDCEACE11C3485E /* EXPermissions.h */; settings = {ATTRIBUTES = (Project, ); }; };
+ 2E4931E8207986206E7AB09BFBB585EB /* EXPermissions.h in Headers */ = {isa = PBXBuildFile; fileRef = 0B6BA6452ACEBB8EB0DE041BD9504846 /* EXPermissions.h */; settings = {ATTRIBUTES = (Project, ); }; };
2E4BF72932067C69FF51DB6AC0790798 /* GULUserDefaults.m in Sources */ = {isa = PBXBuildFile; fileRef = E8AB8D639D48165FC92D874B9DB02C62 /* GULUserDefaults.m */; };
- 2ECC8421ACC3C27F7A9F42A1910933CF /* YGMacros.h in Headers */ = {isa = PBXBuildFile; fileRef = E78406774D6A774117C25CBAC4B40530 /* YGMacros.h */; settings = {ATTRIBUTES = (Project, ); }; };
+ 2E5D73334FB87B87195671903FEB4EAC /* RNCommandsHandler.m in Sources */ = {isa = PBXBuildFile; fileRef = 3FB9945877A307454ADAE20F007A65C1 /* RNCommandsHandler.m */; };
+ 2E95441E24A0F8C21212A47FDCF55157 /* react-native-video-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = BFC0970164CF688C7C415BBE9753826B /* react-native-video-dummy.m */; };
+ 2ECC8421ACC3C27F7A9F42A1910933CF /* YGMacros.h in Headers */ = {isa = PBXBuildFile; fileRef = F79010D1D59C9610F1480015B17AB2E4 /* YGMacros.h */; settings = {ATTRIBUTES = (Project, ); }; };
2EEF2428BF4748087D8E774D39E0A4F4 /* backward_references_enc.c in Sources */ = {isa = PBXBuildFile; fileRef = 8876E2BA7D7BC07F24428721FF2F0F0D /* backward_references_enc.c */; settings = {COMPILER_FLAGS = "-D_THREAD_SAFE -fno-objc-arc"; }; };
- 2EF643CECE71681010BE8BBAF3FECC37 /* RCTUITextField.h in Headers */ = {isa = PBXBuildFile; fileRef = AC756B8621477FD47BFCCA92DC9311A1 /* RCTUITextField.h */; settings = {ATTRIBUTES = (Project, ); }; };
- 2F18BE81ED2899EDD12C6603BC4FEF60 /* RCTLayoutAnimation.m in Sources */ = {isa = PBXBuildFile; fileRef = BC448189D44814438217A929C4C568D1 /* RCTLayoutAnimation.m */; settings = {COMPILER_FLAGS = "-DFOLLY_NO_CONFIG -DFOLLY_MOBILE=1 -DFOLLY_USE_LIBCPP=1 -Wno-comma -Wno-shorten-64-to-32 -Wno-documentation"; }; };
- 2F541564CCC914AF1D7C313BBD96C099 /* SDImageCodersManager.h in Headers */ = {isa = PBXBuildFile; fileRef = FFCC04A29879FDF39F85F328E14C63B6 /* SDImageCodersManager.h */; settings = {ATTRIBUTES = (Project, ); }; };
- 2F91DC33CF9480684FEAEA2C4AB6639C /* RNFetchBlobReqBuilder.m in Sources */ = {isa = PBXBuildFile; fileRef = 6D8FEEB87530710D345ECFF0344FE255 /* RNFetchBlobReqBuilder.m */; };
- 2F9311753D091AF6372FEB755FF50837 /* RNFirebaseDatabase.h in Headers */ = {isa = PBXBuildFile; fileRef = 14472D37F6EEB6FFA0C42EB43CC0BE9F /* RNFirebaseDatabase.h */; settings = {ATTRIBUTES = (Project, ); }; };
- 2F9D2C82C8E2441CEEC88EA5653EEA7B /* RCTInspector.h in Headers */ = {isa = PBXBuildFile; fileRef = 7B838E9CDDCA5BC5172AE96A4C73A48E /* RCTInspector.h */; settings = {ATTRIBUTES = (Project, ); }; };
- 2FD5885F5E5ADAE48491E2F383ACF960 /* UIImage+WebP.m in Sources */ = {isa = PBXBuildFile; fileRef = 0856CE09C9AE05CF216187E8CE5D695F /* UIImage+WebP.m */; };
- 300C71ABFD378A1342C940BAD49E48BA /* BSG_KSSignalInfo.h in Headers */ = {isa = PBXBuildFile; fileRef = 25C9EC79272B1054B61E8DE16848B263 /* BSG_KSSignalInfo.h */; settings = {ATTRIBUTES = (Project, ); }; };
- 303269C53A1C8139F44DFEC530A3F935 /* SDImageCodersManager.m in Sources */ = {isa = PBXBuildFile; fileRef = 910D54F4122391D52F34EA8AD3DDCDFC /* SDImageCodersManager.m */; };
+ 2EF643CECE71681010BE8BBAF3FECC37 /* RCTUITextField.h in Headers */ = {isa = PBXBuildFile; fileRef = DCD4F55DACF1650EBC7C20EF882715D2 /* RCTUITextField.h */; settings = {ATTRIBUTES = (Project, ); }; };
+ 2F18BE81ED2899EDD12C6603BC4FEF60 /* RCTLayoutAnimation.m in Sources */ = {isa = PBXBuildFile; fileRef = AEB27604EAEF4DA0F2F39C0C8FDE769E /* RCTLayoutAnimation.m */; settings = {COMPILER_FLAGS = "-DFOLLY_NO_CONFIG -DFOLLY_MOBILE=1 -DFOLLY_USE_LIBCPP=1 -Wno-comma -Wno-shorten-64-to-32 -Wno-documentation"; }; };
+ 2F89717EED546D00513A07F5A29B3779 /* SDImageTransformer.m in Sources */ = {isa = PBXBuildFile; fileRef = 1417C5888D798CBBC4D425A19B222CA4 /* SDImageTransformer.m */; };
+ 2F9D2C82C8E2441CEEC88EA5653EEA7B /* RCTInspector.h in Headers */ = {isa = PBXBuildFile; fileRef = 48E3EC552A8F85293068FB75C091ECBF /* RCTInspector.h */; settings = {ATTRIBUTES = (Project, ); }; };
+ 300C71ABFD378A1342C940BAD49E48BA /* BSG_KSSignalInfo.h in Headers */ = {isa = PBXBuildFile; fileRef = B324B309DA880EFF3AD843AA7284B636 /* BSG_KSSignalInfo.h */; settings = {ATTRIBUTES = (Project, ); }; };
+ 301B0DE3966BD9C68C83F40EE036D231 /* SDImageCoderHelper.h in Headers */ = {isa = PBXBuildFile; fileRef = 9079D12428803561357FB10C61368B1D /* SDImageCoderHelper.h */; settings = {ATTRIBUTES = (Project, ); }; };
30787BC4F5F2D1BF6C15CF616FD2EFF1 /* huffman_utils.c in Sources */ = {isa = PBXBuildFile; fileRef = EAA43BEF56DD7BC710B980846A10906B /* huffman_utils.c */; settings = {COMPILER_FLAGS = "-D_THREAD_SAFE -fno-objc-arc"; }; };
3080E60B332305C34D91BD2BE7AFDC65 /* GULNSData+zlib.h in Headers */ = {isa = PBXBuildFile; fileRef = 5A4775901279C59CFEF130A53A02BB60 /* GULNSData+zlib.h */; settings = {ATTRIBUTES = (Project, ); }; };
- 3087957F46A42FE16055ACB06740A94B /* RCTUIManager.h in Headers */ = {isa = PBXBuildFile; fileRef = B5404E58EDFE064C165B60A4EF78E9A4 /* RCTUIManager.h */; settings = {ATTRIBUTES = (Project, ); }; };
+ 3087957F46A42FE16055ACB06740A94B /* RCTUIManager.h in Headers */ = {isa = PBXBuildFile; fileRef = 012FB77C009F4830A65A0F5154959B37 /* RCTUIManager.h */; settings = {ATTRIBUTES = (Project, ); }; };
30B7FADFDC6C72E866EDF0B76639D177 /* dec_neon.c in Sources */ = {isa = PBXBuildFile; fileRef = 2C11F031A1C1F0DC3ED37A85694F4CF3 /* dec_neon.c */; settings = {COMPILER_FLAGS = "-D_THREAD_SAFE -fno-objc-arc"; }; };
- 30C44A3EC525F17B193F938EAB44F38B /* BSGConnectivity.h in Headers */ = {isa = PBXBuildFile; fileRef = CF41F70DD614134A73CDFC1441EEE0B8 /* BSGConnectivity.h */; settings = {ATTRIBUTES = (Project, ); }; };
- 30CB558FAB3B289FF07A0720BC03EC8A /* SDImageLoader.m in Sources */ = {isa = PBXBuildFile; fileRef = FC8B40BC2C1C968C0458B1C094B1E998 /* SDImageLoader.m */; };
- 30D3954934B6ED0CFBF53BA2944C5988 /* NSImage+Compatibility.m in Sources */ = {isa = PBXBuildFile; fileRef = CC25C098200B215F002DBFAF31C95974 /* NSImage+Compatibility.m */; };
- 31274EDDBCD11A92A9DDF9C3CAFD44FE /* EXVideoPlayerViewControllerDelegate.h in Headers */ = {isa = PBXBuildFile; fileRef = 8F1774E81A6EA7085D4A8E04FB4A1693 /* EXVideoPlayerViewControllerDelegate.h */; settings = {ATTRIBUTES = (Project, ); }; };
+ 30C44A3EC525F17B193F938EAB44F38B /* BSGConnectivity.h in Headers */ = {isa = PBXBuildFile; fileRef = BE8322750186FBA62679AF1F66D54AC7 /* BSGConnectivity.h */; settings = {ATTRIBUTES = (Project, ); }; };
+ 31274EDDBCD11A92A9DDF9C3CAFD44FE /* EXVideoPlayerViewControllerDelegate.h in Headers */ = {isa = PBXBuildFile; fileRef = F099E2D7BB119CF454555AF964A10CB9 /* EXVideoPlayerViewControllerDelegate.h */; settings = {ATTRIBUTES = (Project, ); }; };
+ 317B94C846125FA83D56779DF1F8F7A8 /* RNFirebaseMessaging.m in Sources */ = {isa = PBXBuildFile; fileRef = E597D2E8C8111833353A20242FB9D6A8 /* RNFirebaseMessaging.m */; };
31A575CE50A281D0F123B2947B4399BD /* enc_neon.c in Sources */ = {isa = PBXBuildFile; fileRef = 550BEF435827F7432BE55250EA542ED6 /* enc_neon.c */; settings = {COMPILER_FLAGS = "-D_THREAD_SAFE -fno-objc-arc"; }; };
- 31AF7D875A09DA32C3DBE7FEB60B2BBE /* RCTPropsAnimatedNode.h in Headers */ = {isa = PBXBuildFile; fileRef = 519270249A4010EBD91026269BC4FE0A /* RCTPropsAnimatedNode.h */; settings = {ATTRIBUTES = (Project, ); }; };
- 31D85A912A3BEF04A237BCACA0FB4B66 /* RCTImageView.h in Headers */ = {isa = PBXBuildFile; fileRef = 6A014D6294C5B7FCCE44AAA912FFFAEB /* RCTImageView.h */; settings = {ATTRIBUTES = (Project, ); }; };
- 31E54BBF047C0CCC1785723BEE6BE355 /* RCTScrollViewManager.m in Sources */ = {isa = PBXBuildFile; fileRef = 10CAFE8BED4E5FC21B6D963D96544129 /* RCTScrollViewManager.m */; settings = {COMPILER_FLAGS = "-DFOLLY_NO_CONFIG -DFOLLY_MOBILE=1 -DFOLLY_USE_LIBCPP=1 -Wno-comma -Wno-shorten-64-to-32 -Wno-documentation"; }; };
- 320D67911EE88AD5B553C499F4303030 /* RCTSafeAreaShadowView.m in Sources */ = {isa = PBXBuildFile; fileRef = CD89919DBDAF06B6DF4CCE9BC1320D8C /* RCTSafeAreaShadowView.m */; settings = {COMPILER_FLAGS = "-DFOLLY_NO_CONFIG -DFOLLY_MOBILE=1 -DFOLLY_USE_LIBCPP=1 -Wno-comma -Wno-shorten-64-to-32 -Wno-documentation"; }; };
- 32814C301A296EE1C08054FD397E5250 /* react-native-notifications-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = F721722C82A72E694C472436A1F7A8E4 /* react-native-notifications-dummy.m */; };
- 3282ED13E6B21A42A57D2E6A179FCB6F /* RNImageCropPicker-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = DE719A50B3C598EEB9004B4F859E18E1 /* RNImageCropPicker-dummy.m */; };
- 32C4C455405B9CD9EF755DEBE89A2CA5 /* BugsnagHandledState.h in Headers */ = {isa = PBXBuildFile; fileRef = 50CB6883912A2479499453119F01A3F6 /* BugsnagHandledState.h */; settings = {ATTRIBUTES = (Project, ); }; };
- 32E684924D741517DCF60217D3427297 /* BSG_KSMach_x86_64.c in Sources */ = {isa = PBXBuildFile; fileRef = 8B9A8DECB193AD23E03BA818C838089F /* BSG_KSMach_x86_64.c */; };
+ 31AF7D875A09DA32C3DBE7FEB60B2BBE /* RCTPropsAnimatedNode.h in Headers */ = {isa = PBXBuildFile; fileRef = BFEFF5BEA9680BAB44E7209430353A17 /* RCTPropsAnimatedNode.h */; settings = {ATTRIBUTES = (Project, ); }; };
+ 31D85A912A3BEF04A237BCACA0FB4B66 /* RCTImageView.h in Headers */ = {isa = PBXBuildFile; fileRef = 89D14A04F1A0F495669967FD1996ADC8 /* RCTImageView.h */; settings = {ATTRIBUTES = (Project, ); }; };
+ 31E54BBF047C0CCC1785723BEE6BE355 /* RCTScrollViewManager.m in Sources */ = {isa = PBXBuildFile; fileRef = 319B268E1262076B584EDC07E97AAFCA /* RCTScrollViewManager.m */; settings = {COMPILER_FLAGS = "-DFOLLY_NO_CONFIG -DFOLLY_MOBILE=1 -DFOLLY_USE_LIBCPP=1 -Wno-comma -Wno-shorten-64-to-32 -Wno-documentation"; }; };
+ 31F412AD59A377D94E8408159E58A7BB /* UIButton+WebCache.h in Headers */ = {isa = PBXBuildFile; fileRef = 21A526257E8262278ACDD62D55CAA864 /* UIButton+WebCache.h */; settings = {ATTRIBUTES = (Project, ); }; };
+ 320D67911EE88AD5B553C499F4303030 /* RCTSafeAreaShadowView.m in Sources */ = {isa = PBXBuildFile; fileRef = BD17840C53AFF81F8E2278AFED2A18B9 /* RCTSafeAreaShadowView.m */; settings = {COMPILER_FLAGS = "-DFOLLY_NO_CONFIG -DFOLLY_MOBILE=1 -DFOLLY_USE_LIBCPP=1 -Wno-comma -Wno-shorten-64-to-32 -Wno-documentation"; }; };
+ 32C4C455405B9CD9EF755DEBE89A2CA5 /* BugsnagHandledState.h in Headers */ = {isa = PBXBuildFile; fileRef = 7334F497F4DAE42E52B14A42F49FDC8B /* BugsnagHandledState.h */; settings = {ATTRIBUTES = (Project, ); }; };
+ 32E684924D741517DCF60217D3427297 /* BSG_KSMach_x86_64.c in Sources */ = {isa = PBXBuildFile; fileRef = E8D6576548944B2498572FCDBC145E8E /* BSG_KSMach_x86_64.c */; };
33062309584EE5CDBC69FC6DE862E033 /* color_cache_utils.h in Headers */ = {isa = PBXBuildFile; fileRef = 1A8B00BC3CAA5C9966000786F73CB461 /* color_cache_utils.h */; settings = {ATTRIBUTES = (Project, ); }; };
- 330A1B0D5843F9EF53903DD77EEFCB30 /* RCTActionSheetManager.m in Sources */ = {isa = PBXBuildFile; fileRef = 6E845564A884D3812B31B29EAB67A116 /* RCTActionSheetManager.m */; };
- 330B6B072E57ED740584170F1D33629C /* EXFileSystemLocalFileHandler.m in Sources */ = {isa = PBXBuildFile; fileRef = C306A400D035600F7DD75F51986906F6 /* EXFileSystemLocalFileHandler.m */; };
- 3312FC76680E5E874BC26AC999922601 /* SDWebImageCacheSerializer.h in Headers */ = {isa = PBXBuildFile; fileRef = 22D1E7CDFE89EB70B4D727EE42AF3420 /* SDWebImageCacheSerializer.h */; settings = {ATTRIBUTES = (Project, ); }; };
- 331A960C7F8E6E38A96D45485759A253 /* RCTAsyncLocalStorage.m in Sources */ = {isa = PBXBuildFile; fileRef = 5E3C755CD131867003C98A47487CB493 /* RCTAsyncLocalStorage.m */; settings = {COMPILER_FLAGS = "-DFOLLY_NO_CONFIG -DFOLLY_MOBILE=1 -DFOLLY_USE_LIBCPP=1 -Wno-comma -Wno-shorten-64-to-32 -Wno-documentation"; }; };
- 33397870CAB91081A53C471DAC6C0E92 /* RCTBaseTextViewManager.h in Headers */ = {isa = PBXBuildFile; fileRef = 5F7B2219F2F22E6694E525B1BFC68077 /* RCTBaseTextViewManager.h */; settings = {ATTRIBUTES = (Project, ); }; };
+ 330A1B0D5843F9EF53903DD77EEFCB30 /* RCTActionSheetManager.m in Sources */ = {isa = PBXBuildFile; fileRef = D8701AE0AAE360AE7519835D4353E663 /* RCTActionSheetManager.m */; };
+ 330B6B072E57ED740584170F1D33629C /* EXFileSystemLocalFileHandler.m in Sources */ = {isa = PBXBuildFile; fileRef = 0F0ADB698A8738D5F398FE557B7CC815 /* EXFileSystemLocalFileHandler.m */; };
+ 331A960C7F8E6E38A96D45485759A253 /* RCTAsyncLocalStorage.m in Sources */ = {isa = PBXBuildFile; fileRef = F7BA71AFBCDC955F27739C30BEFCDE59 /* RCTAsyncLocalStorage.m */; settings = {COMPILER_FLAGS = "-DFOLLY_NO_CONFIG -DFOLLY_MOBILE=1 -DFOLLY_USE_LIBCPP=1 -Wno-comma -Wno-shorten-64-to-32 -Wno-documentation"; }; };
+ 33397870CAB91081A53C471DAC6C0E92 /* RCTBaseTextViewManager.h in Headers */ = {isa = PBXBuildFile; fileRef = 61D2613559F13A61BC4BC04D7571E034 /* RCTBaseTextViewManager.h */; settings = {ATTRIBUTES = (Project, ); }; };
333E72A60BAFC9EB250C17222C7023B5 /* neon.h in Headers */ = {isa = PBXBuildFile; fileRef = 68664529C27BF53D318377C903B25283 /* neon.h */; settings = {ATTRIBUTES = (Project, ); }; };
+ 3349FF2B3360450C1C296A8B3C4E4FAC /* SDWebImagePrefetcher.h in Headers */ = {isa = PBXBuildFile; fileRef = 6AAE35F4BCC73F18E6E3D5E48BE35417 /* SDWebImagePrefetcher.h */; settings = {ATTRIBUTES = (Project, ); }; };
335029A6D67395F3DF335ED8328DCDF9 /* upsampling_sse2.c in Sources */ = {isa = PBXBuildFile; fileRef = 444EB668B5DF0250FA512DCB50A00131 /* upsampling_sse2.c */; settings = {COMPILER_FLAGS = "-D_THREAD_SAFE -fno-objc-arc"; }; };
- 33B397A491573D7FFC9D852E1BCE6AD7 /* RCTPackagerClient.m in Sources */ = {isa = PBXBuildFile; fileRef = 14BBB66EF6791A14EBE982D32572E8C9 /* RCTPackagerClient.m */; };
- 33C91DE5F2A63897008170423C191BD4 /* CxxNativeModule.h in Headers */ = {isa = PBXBuildFile; fileRef = 7F66035D08D6B36BE9122143C46EAA42 /* CxxNativeModule.h */; settings = {ATTRIBUTES = (Project, ); }; };
- 33CB5D3DD385D4617604E912AC04C551 /* RCTNetInfo.m in Sources */ = {isa = PBXBuildFile; fileRef = D86108FB5E39917CEA79A826E4C27E7D /* RCTNetInfo.m */; };
- 33FB4C793549063B310D0086DFA7B2EE /* RCTRefreshControl.h in Headers */ = {isa = PBXBuildFile; fileRef = 6B4A5A929D11AD78D72CE5268AAB3C39 /* RCTRefreshControl.h */; settings = {ATTRIBUTES = (Project, ); }; };
- 3419B64ABA7A4082657860A10B815136 /* RNDeviceInfo.m in Sources */ = {isa = PBXBuildFile; fileRef = 5F0C48D51940D70B8C691EEA0E3800CC /* RNDeviceInfo.m */; };
- 344BE6F09C7CEAA2BCF5D319EAD98149 /* RCTNetworking.h in Headers */ = {isa = PBXBuildFile; fileRef = 3C99ADB4194F22D8C6FAE6EC1375A0A8 /* RCTNetworking.h */; settings = {ATTRIBUTES = (Project, ); }; };
- 349A61D90231B268304925F51675C39B /* RCTJavaScriptLoader.h in Headers */ = {isa = PBXBuildFile; fileRef = 1952062E49FDBE3C67E231FB1253C753 /* RCTJavaScriptLoader.h */; settings = {ATTRIBUTES = (Project, ); }; };
+ 33B397A491573D7FFC9D852E1BCE6AD7 /* RCTPackagerClient.m in Sources */ = {isa = PBXBuildFile; fileRef = 3863E7FC0F882FC7FA322048952E45E8 /* RCTPackagerClient.m */; };
+ 33C91DE5F2A63897008170423C191BD4 /* CxxNativeModule.h in Headers */ = {isa = PBXBuildFile; fileRef = C3DD3AC27A60813637036063D4CAE6EF /* CxxNativeModule.h */; settings = {ATTRIBUTES = (Project, ); }; };
+ 33CB5D3DD385D4617604E912AC04C551 /* RCTNetInfo.m in Sources */ = {isa = PBXBuildFile; fileRef = 227E95D089FDF9C4E206FF36B4E4C597 /* RCTNetInfo.m */; };
+ 33FB4C793549063B310D0086DFA7B2EE /* RCTRefreshControl.h in Headers */ = {isa = PBXBuildFile; fileRef = FA996BDF647A705ED6C2B621ADE9FAD3 /* RCTRefreshControl.h */; settings = {ATTRIBUTES = (Project, ); }; };
+ 344BE6F09C7CEAA2BCF5D319EAD98149 /* RCTNetworking.h in Headers */ = {isa = PBXBuildFile; fileRef = E3EA4958158E80EF83EBD232FB9D518F /* RCTNetworking.h */; settings = {ATTRIBUTES = (Project, ); }; };
+ 349A61D90231B268304925F51675C39B /* RCTJavaScriptLoader.h in Headers */ = {isa = PBXBuildFile; fileRef = 7E42FC9015DFA990456F7245ECFC4502 /* RCTJavaScriptLoader.h */; settings = {ATTRIBUTES = (Project, ); }; };
349B8E6465493658CF6AF3C28F8E69F1 /* quant_levels_dec_utils.h in Headers */ = {isa = PBXBuildFile; fileRef = 63062BBEC1A164A5789AED85BA5D9DB0 /* quant_levels_dec_utils.h */; settings = {ATTRIBUTES = (Project, ); }; };
349F18F82E11FC2D70535A54F02716E3 /* FirebaseCore.h in Headers */ = {isa = PBXBuildFile; fileRef = 77FE1DEC047DEE1CD398D9FA50CCDE11 /* FirebaseCore.h */; settings = {ATTRIBUTES = (Project, ); }; };
- 34E1BD0290A0D3B1AA052F0814268BCC /* RCTScrollContentView.m in Sources */ = {isa = PBXBuildFile; fileRef = 40F63E6649A986816552D010F4AE7BA6 /* RCTScrollContentView.m */; settings = {COMPILER_FLAGS = "-DFOLLY_NO_CONFIG -DFOLLY_MOBILE=1 -DFOLLY_USE_LIBCPP=1 -Wno-comma -Wno-shorten-64-to-32 -Wno-documentation"; }; };
+ 34E1BD0290A0D3B1AA052F0814268BCC /* RCTScrollContentView.m in Sources */ = {isa = PBXBuildFile; fileRef = 6447DEDEC6444963F5043B2CBB605787 /* RCTScrollContentView.m */; settings = {COMPILER_FLAGS = "-DFOLLY_NO_CONFIG -DFOLLY_MOBILE=1 -DFOLLY_USE_LIBCPP=1 -Wno-comma -Wno-shorten-64-to-32 -Wno-documentation"; }; };
+ 34E56E49ED0E3967BE75246A7D35598B /* SDImageCachesManager.m in Sources */ = {isa = PBXBuildFile; fileRef = 5827E32B04D27831875D8760DF6E6137 /* SDImageCachesManager.m */; };
34EC45D7E05C7E544ADCE54C82C7F815 /* dsp.h in Headers */ = {isa = PBXBuildFile; fileRef = 06B2ACEC62C125FF131EDF144E1371E3 /* dsp.h */; settings = {ATTRIBUTES = (Project, ); }; };
- 352DDE54B549113E3DB59E73F7B139E4 /* RCTJSStackFrame.m in Sources */ = {isa = PBXBuildFile; fileRef = D72398C3EEC220E9836BFEF357B4CCD5 /* RCTJSStackFrame.m */; settings = {COMPILER_FLAGS = "-DFOLLY_NO_CONFIG -DFOLLY_MOBILE=1 -DFOLLY_USE_LIBCPP=1 -Wno-comma -Wno-shorten-64-to-32 -Wno-documentation"; }; };
- 3550EB71EB3F679494CD0E504854D13A /* React-RCTWebSocket-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 1D03BE28B00D86DE560EB13F6DC2AD9B /* React-RCTWebSocket-dummy.m */; };
- 3627F0B962569050D4618EBBD3E4E137 /* RNFirebaseDatabaseReference.h in Headers */ = {isa = PBXBuildFile; fileRef = 78C56F10AC927F26BA61D1813679E4EB /* RNFirebaseDatabaseReference.h */; settings = {ATTRIBUTES = (Project, ); }; };
- 363AC210286DA4FD112684C7D9010CB2 /* UIImageView+HighlightedWebCache.m in Sources */ = {isa = PBXBuildFile; fileRef = 4074B41303A10BB9FC9F9655B60EFBCC /* UIImageView+HighlightedWebCache.m */; };
+ 350C952D385788F69FC5482EA9142342 /* SDAnimatedImageView.h in Headers */ = {isa = PBXBuildFile; fileRef = 8A927DE95BDAF588283170046E90FCF9 /* SDAnimatedImageView.h */; settings = {ATTRIBUTES = (Project, ); }; };
+ 352DDE54B549113E3DB59E73F7B139E4 /* RCTJSStackFrame.m in Sources */ = {isa = PBXBuildFile; fileRef = CA50B6D76F7D9DC9A4CF1CB0C3F68E99 /* RCTJSStackFrame.m */; settings = {COMPILER_FLAGS = "-DFOLLY_NO_CONFIG -DFOLLY_MOBILE=1 -DFOLLY_USE_LIBCPP=1 -Wno-comma -Wno-shorten-64-to-32 -Wno-documentation"; }; };
+ 3550EB71EB3F679494CD0E504854D13A /* React-RCTWebSocket-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = C241107E1620B204D3BB1D1BE2141E70 /* React-RCTWebSocket-dummy.m */; };
36580214A5CB5C99B6041876EFC1433D /* FIRComponentType.h in Headers */ = {isa = PBXBuildFile; fileRef = E58D8E24189E3B4EC1091237AB612995 /* FIRComponentType.h */; settings = {ATTRIBUTES = (Project, ); }; };
- 36B1133DA7D823138FE3B8E7EC7248D3 /* RCTScrollView.m in Sources */ = {isa = PBXBuildFile; fileRef = 585F38C32DFFCC4381EB1C9EB1FCFD48 /* RCTScrollView.m */; settings = {COMPILER_FLAGS = "-DFOLLY_NO_CONFIG -DFOLLY_MOBILE=1 -DFOLLY_USE_LIBCPP=1 -Wno-comma -Wno-shorten-64-to-32 -Wno-documentation"; }; };
- 36BFE1658AC12B4AECA3993E6F98922F /* RCTImageUtils.h in Headers */ = {isa = PBXBuildFile; fileRef = 18107F290A201A3B7087DCCBE46EBF8B /* RCTImageUtils.h */; settings = {ATTRIBUTES = (Project, ); }; };
- 36D6C69C0E2415D65232D1F12B1D7A80 /* BSGConnectivity.m in Sources */ = {isa = PBXBuildFile; fileRef = D7616B441FCE1B732E5E720F751DE53B /* BSGConnectivity.m */; };
- 36D8EF3F1473F2A24E08FCF18B34CD29 /* SDImageWebPCoder.m in Sources */ = {isa = PBXBuildFile; fileRef = 98892850FE07F4B17DD4C7091A5EA303 /* SDImageWebPCoder.m */; };
- 37157E60D362F0EC9479992B39461AD6 /* QBAlbumsViewController.h in Headers */ = {isa = PBXBuildFile; fileRef = F0C080CF5772FBAE4A3FC2FCAA0380A1 /* QBAlbumsViewController.h */; settings = {ATTRIBUTES = (Project, ); }; };
- 373979C153E712DAEBBE4BD9F6D4057F /* RCTBaseTextInputViewManager.m in Sources */ = {isa = PBXBuildFile; fileRef = FB5EA538146BA2C030DDC9628363D474 /* RCTBaseTextInputViewManager.m */; };
- 3742F43A00A82CB89CD23CF5EA2463D8 /* RNRootViewGestureRecognizer.h in Headers */ = {isa = PBXBuildFile; fileRef = D43505A1A6766B88ACB4F0B5799E32D8 /* RNRootViewGestureRecognizer.h */; settings = {ATTRIBUTES = (Project, ); }; };
- 37573B0D7EDEAAEB9C5D219321141CDD /* SDWebImageDownloaderOperation.h in Headers */ = {isa = PBXBuildFile; fileRef = 2874E9D7F91378B53209C8A8A27A66AB /* SDWebImageDownloaderOperation.h */; settings = {ATTRIBUTES = (Project, ); }; };
- 376A81AEF8AEDB4D58D24E7271FED921 /* RCTStyleAnimatedNode.h in Headers */ = {isa = PBXBuildFile; fileRef = F4444562419103EAF9244916547BB720 /* RCTStyleAnimatedNode.h */; settings = {ATTRIBUTES = (Project, ); }; };
- 37DA7B7BC1D010A67584BF3285BEA2E6 /* RCTShadowView.m in Sources */ = {isa = PBXBuildFile; fileRef = B8576C8BA71BA4770024BEA486538362 /* RCTShadowView.m */; settings = {COMPILER_FLAGS = "-DFOLLY_NO_CONFIG -DFOLLY_MOBILE=1 -DFOLLY_USE_LIBCPP=1 -Wno-comma -Wno-shorten-64-to-32 -Wno-documentation"; }; };
+ 368C240FD626E1A28347B99742555B69 /* SDWebImageDownloaderRequestModifier.m in Sources */ = {isa = PBXBuildFile; fileRef = B29A55B574E24358B76B8CFC22CC657D /* SDWebImageDownloaderRequestModifier.m */; };
+ 36B1133DA7D823138FE3B8E7EC7248D3 /* RCTScrollView.m in Sources */ = {isa = PBXBuildFile; fileRef = 76A172BC7BF2A1AC714BF8ABAAB32DCB /* RCTScrollView.m */; settings = {COMPILER_FLAGS = "-DFOLLY_NO_CONFIG -DFOLLY_MOBILE=1 -DFOLLY_USE_LIBCPP=1 -Wno-comma -Wno-shorten-64-to-32 -Wno-documentation"; }; };
+ 36BFE1658AC12B4AECA3993E6F98922F /* RCTImageUtils.h in Headers */ = {isa = PBXBuildFile; fileRef = 63A09516D70AF28DD7AEF1FBA8887E81 /* RCTImageUtils.h */; settings = {ATTRIBUTES = (Project, ); }; };
+ 36D6C69C0E2415D65232D1F12B1D7A80 /* BSGConnectivity.m in Sources */ = {isa = PBXBuildFile; fileRef = 25CF729BAA5F53DED1D32073236DB560 /* BSGConnectivity.m */; };
+ 373979C153E712DAEBBE4BD9F6D4057F /* RCTBaseTextInputViewManager.m in Sources */ = {isa = PBXBuildFile; fileRef = 4B07D3187B1884B5024C4AB96C3412D0 /* RCTBaseTextInputViewManager.m */; };
+ 376A81AEF8AEDB4D58D24E7271FED921 /* RCTStyleAnimatedNode.h in Headers */ = {isa = PBXBuildFile; fileRef = D51A350E61DE185BAE7F14921DA5F91C /* RCTStyleAnimatedNode.h */; settings = {ATTRIBUTES = (Project, ); }; };
+ 37A951B4607D1F419A0D25BEDAB18895 /* SDWebImageIndicator.m in Sources */ = {isa = PBXBuildFile; fileRef = 494819580627A0A9FF42D7A115CA8D18 /* SDWebImageIndicator.m */; };
+ 37CC877F221077C1E28D8DAD55356239 /* UIImageView+HighlightedWebCache.h in Headers */ = {isa = PBXBuildFile; fileRef = F5C7AB7D661D53929F47A78DA6730CC5 /* UIImageView+HighlightedWebCache.h */; settings = {ATTRIBUTES = (Project, ); }; };
+ 37DA7B7BC1D010A67584BF3285BEA2E6 /* RCTShadowView.m in Sources */ = {isa = PBXBuildFile; fileRef = DFD9B82214500486FF08E61EB4890D03 /* RCTShadowView.m */; settings = {COMPILER_FLAGS = "-DFOLLY_NO_CONFIG -DFOLLY_MOBILE=1 -DFOLLY_USE_LIBCPP=1 -Wno-comma -Wno-shorten-64-to-32 -Wno-documentation"; }; };
37DD54840768E12258A9E9EABCB6ABE2 /* FIRInstanceIDTokenInfo.h in Headers */ = {isa = PBXBuildFile; fileRef = 656618CCBF9B1ADAB445ECA9A44F72C6 /* FIRInstanceIDTokenInfo.h */; settings = {ATTRIBUTES = (Project, ); }; };
37E615775064B24363B55F3B52BD83BF /* GULNetworkURLSession.h in Headers */ = {isa = PBXBuildFile; fileRef = CCBB66D121B2B6EBFD72D57CA04420A1 /* GULNetworkURLSession.h */; settings = {ATTRIBUTES = (Project, ); }; };
- 381E62687AB55DF94F2073E8C5A85A50 /* RCTEventAnimation.m in Sources */ = {isa = PBXBuildFile; fileRef = C2E46BEE5652F93AA62BABF70BCA10D3 /* RCTEventAnimation.m */; };
- 38249DCB0B6ED78C5A06B8562A87AB6B /* BugsnagSessionFileStore.h in Headers */ = {isa = PBXBuildFile; fileRef = 62F933DAAF5339201D4FAE8EE40C739D /* BugsnagSessionFileStore.h */; settings = {ATTRIBUTES = (Project, ); }; };
- 3856FA6524A7E27D3DED0D3F3A599204 /* BugsnagNotifier.h in Headers */ = {isa = PBXBuildFile; fileRef = 19E00F5D27C6FB1F1B863202B71030E1 /* BugsnagNotifier.h */; settings = {ATTRIBUTES = (Project, ); }; };
- 38758797EF0FA9A464EEBB902C49D14B /* RCTInputAccessoryView.m in Sources */ = {isa = PBXBuildFile; fileRef = F2F35EABE044BF491F4B7A78B5A16232 /* RCTInputAccessoryView.m */; };
- 38870B7127EFDBF38D5355CB795B48E2 /* UMReactNativeAdapter-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 2AB132DB56020E51DA31FC6640422A7B /* UMReactNativeAdapter-dummy.m */; };
- 388FD9D24B82284DBC13AC8D7BAB229B /* NSDataBigString.h in Headers */ = {isa = PBXBuildFile; fileRef = FC0043EDCE0D7328C66542A61CCD9006 /* NSDataBigString.h */; settings = {ATTRIBUTES = (Project, ); }; };
- 3894CC71C39B579410248EC823353937 /* RSKInternalUtility.h in Headers */ = {isa = PBXBuildFile; fileRef = BD9484689A4AEEEEDEC74961155206C5 /* RSKInternalUtility.h */; settings = {ATTRIBUTES = (Project, ); }; };
+ 381E62687AB55DF94F2073E8C5A85A50 /* RCTEventAnimation.m in Sources */ = {isa = PBXBuildFile; fileRef = D9B725DFF85603D1C5EE672BB34D4483 /* RCTEventAnimation.m */; };
+ 38249DCB0B6ED78C5A06B8562A87AB6B /* BugsnagSessionFileStore.h in Headers */ = {isa = PBXBuildFile; fileRef = A6D7031E899AE621E29DBA485716FFBE /* BugsnagSessionFileStore.h */; settings = {ATTRIBUTES = (Project, ); }; };
+ 3856FA6524A7E27D3DED0D3F3A599204 /* BugsnagNotifier.h in Headers */ = {isa = PBXBuildFile; fileRef = 589504FBF2A445ACDE2EC05C724DC7AC /* BugsnagNotifier.h */; settings = {ATTRIBUTES = (Project, ); }; };
+ 385DF1B45E114C827E4EE2282D0FAD92 /* LNInterpolable.m in Sources */ = {isa = PBXBuildFile; fileRef = 4C8380E7EB9F872576B3F709EACB7222 /* LNInterpolable.m */; };
+ 38758797EF0FA9A464EEBB902C49D14B /* RCTInputAccessoryView.m in Sources */ = {isa = PBXBuildFile; fileRef = DE56A35C938878AD7F2FBBF2B9069F85 /* RCTInputAccessoryView.m */; };
+ 388FD9D24B82284DBC13AC8D7BAB229B /* NSDataBigString.h in Headers */ = {isa = PBXBuildFile; fileRef = F60C9A8C39894F67671F2E1C4B9C6EB3 /* NSDataBigString.h */; settings = {ATTRIBUTES = (Project, ); }; };
38AD4512BAEA16C8B031C7DCF55F2A8E /* histogram_enc.h in Headers */ = {isa = PBXBuildFile; fileRef = C5C2981E4EB986A0B8C8F50577AC1BA8 /* histogram_enc.h */; settings = {ATTRIBUTES = (Project, ); }; };
- 38AFA02E5E290F31187DF2074FE08998 /* RCTBaseTextInputView.m in Sources */ = {isa = PBXBuildFile; fileRef = 5B30351D217ABBBAB136922BC1C392B9 /* RCTBaseTextInputView.m */; };
+ 38AFA02E5E290F31187DF2074FE08998 /* RCTBaseTextInputView.m in Sources */ = {isa = PBXBuildFile; fileRef = C50F96C19293236E0AA07E0F0F7FD79C /* RCTBaseTextInputView.m */; };
38BBA21348DCF9947155442372A8E735 /* analysis_enc.c in Sources */ = {isa = PBXBuildFile; fileRef = 9D348E8F6CBB1F7AFCF23C191BA471EB /* analysis_enc.c */; settings = {COMPILER_FLAGS = "-D_THREAD_SAFE -fno-objc-arc"; }; };
- 394C71A7827601E72BE2EA262D0CE3E0 /* RCTDeviceInfo.m in Sources */ = {isa = PBXBuildFile; fileRef = 805FC3EBA7F177552B46671D8FFE82CC /* RCTDeviceInfo.m */; settings = {COMPILER_FLAGS = "-DFOLLY_NO_CONFIG -DFOLLY_MOBILE=1 -DFOLLY_USE_LIBCPP=1 -Wno-comma -Wno-shorten-64-to-32 -Wno-documentation"; }; };
- 3963D28AE4FB8DBC48097812CB07DB77 /* React-cxxreact-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 7A9BC47289EFEEAF4F0D2F2054C9179B /* React-cxxreact-dummy.m */; };
- 399126FFCE6CAA8AC2C8B8CF1515C486 /* RCTFPSGraph.h in Headers */ = {isa = PBXBuildFile; fileRef = 79396F11CAA3E35EAE9F244BD901AB58 /* RCTFPSGraph.h */; settings = {ATTRIBUTES = (Project, ); }; };
- 399B34A4E84287D8EDE0A757AD85788B /* RNGestureHandlerState.h in Headers */ = {isa = PBXBuildFile; fileRef = 405C193669826FE16A64DEEFB5CC3059 /* RNGestureHandlerState.h */; settings = {ATTRIBUTES = (Project, ); }; };
- 39A375FC54945049F47BCD80E1A2B8A8 /* RCTRefreshControlManager.m in Sources */ = {isa = PBXBuildFile; fileRef = 3CB19BB1A033FA70711A0FDDE08D347C /* RCTRefreshControlManager.m */; settings = {COMPILER_FLAGS = "-DFOLLY_NO_CONFIG -DFOLLY_MOBILE=1 -DFOLLY_USE_LIBCPP=1 -Wno-comma -Wno-shorten-64-to-32 -Wno-documentation"; }; };
- 39CDD25711ED805841AF7DFABD0D6494 /* RCTAnimatedNode.h in Headers */ = {isa = PBXBuildFile; fileRef = 70192FE6D8C42BC46CB5B45017EE22DF /* RCTAnimatedNode.h */; settings = {ATTRIBUTES = (Project, ); }; };
- 39EB016FBD05C2F3DC8059DE46EE5495 /* RCTUITextView.h in Headers */ = {isa = PBXBuildFile; fileRef = F2DD77BCDFCC622C16F6D7E58AF510A0 /* RCTUITextView.h */; settings = {ATTRIBUTES = (Project, ); }; };
- 3A21165B1E056256730D973D4DF83578 /* SDAsyncBlockOperation.h in Headers */ = {isa = PBXBuildFile; fileRef = C79412F9C09A063FBCE7401FBF50B3B1 /* SDAsyncBlockOperation.h */; settings = {ATTRIBUTES = (Project, ); }; };
- 3A3C4F0470F2484EA902884B9945A283 /* SDWebImageIndicator.m in Sources */ = {isa = PBXBuildFile; fileRef = 494819580627A0A9FF42D7A115CA8D18 /* SDWebImageIndicator.m */; };
- 3A41FA077417FD269CE763B748DE3D7C /* RCTAnimatedNode.m in Sources */ = {isa = PBXBuildFile; fileRef = 0A7B51351CE759813A758CBFE5FF7069 /* RCTAnimatedNode.m */; };
- 3A47C8ED5D91A66F656F1B5A8286EBD7 /* RCTProfileTrampoline-i386.S in Sources */ = {isa = PBXBuildFile; fileRef = 2E7E0FB9637F0C5C2888A7E1501F5EF3 /* RCTProfileTrampoline-i386.S */; };
+ 38BF8FA86C8EF2EF8D266CE45C3771CD /* RNFlingHandler.h in Headers */ = {isa = PBXBuildFile; fileRef = 6A145EE6166572D000B73418B63D8CC2 /* RNFlingHandler.h */; settings = {ATTRIBUTES = (Project, ); }; };
+ 394C71A7827601E72BE2EA262D0CE3E0 /* RCTDeviceInfo.m in Sources */ = {isa = PBXBuildFile; fileRef = 707001FE82F27F9D5E583DF965D3B48D /* RCTDeviceInfo.m */; settings = {COMPILER_FLAGS = "-DFOLLY_NO_CONFIG -DFOLLY_MOBILE=1 -DFOLLY_USE_LIBCPP=1 -Wno-comma -Wno-shorten-64-to-32 -Wno-documentation"; }; };
+ 3963D28AE4FB8DBC48097812CB07DB77 /* React-cxxreact-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = F0D5EF0845A3BD0930072E723274BB20 /* React-cxxreact-dummy.m */; };
+ 399126FFCE6CAA8AC2C8B8CF1515C486 /* RCTFPSGraph.h in Headers */ = {isa = PBXBuildFile; fileRef = 9F133C488828CF36D8F30C8395A87919 /* RCTFPSGraph.h */; settings = {ATTRIBUTES = (Project, ); }; };
+ 39976B857F28F71894AF3D1027DFC5D5 /* RNUserDefaults.h in Headers */ = {isa = PBXBuildFile; fileRef = DAD05A504F117E067F8F221DEAA178F7 /* RNUserDefaults.h */; settings = {ATTRIBUTES = (Project, ); }; };
+ 39A375FC54945049F47BCD80E1A2B8A8 /* RCTRefreshControlManager.m in Sources */ = {isa = PBXBuildFile; fileRef = 57CD8A375D8D1C7C62BA56E54C204F0D /* RCTRefreshControlManager.m */; settings = {COMPILER_FLAGS = "-DFOLLY_NO_CONFIG -DFOLLY_MOBILE=1 -DFOLLY_USE_LIBCPP=1 -Wno-comma -Wno-shorten-64-to-32 -Wno-documentation"; }; };
+ 39CDD25711ED805841AF7DFABD0D6494 /* RCTAnimatedNode.h in Headers */ = {isa = PBXBuildFile; fileRef = AAE84263A81835EDB489F1AAA826F19B /* RCTAnimatedNode.h */; settings = {ATTRIBUTES = (Project, ); }; };
+ 39E746D5C317D9A8E85A899DDB7DD940 /* RNNotificationEventHandler.m in Sources */ = {isa = PBXBuildFile; fileRef = 7C6E4E0F613277840B3A837BB8EF0EF6 /* RNNotificationEventHandler.m */; };
+ 39EB016FBD05C2F3DC8059DE46EE5495 /* RCTUITextView.h in Headers */ = {isa = PBXBuildFile; fileRef = 0F4895C76F0EB2F0DF30DFBDA5DD3B4A /* RCTUITextView.h */; settings = {ATTRIBUTES = (Project, ); }; };
+ 3A41FA077417FD269CE763B748DE3D7C /* RCTAnimatedNode.m in Sources */ = {isa = PBXBuildFile; fileRef = 5F64DBC99F9E7929B1BECD41274C1FBE /* RCTAnimatedNode.m */; };
+ 3A47C8ED5D91A66F656F1B5A8286EBD7 /* RCTProfileTrampoline-i386.S in Sources */ = {isa = PBXBuildFile; fileRef = D18F7852C4F560C90596C9CC565004D8 /* RCTProfileTrampoline-i386.S */; };
3AAB01A9C3C8E9947BAB1F89DEAD4154 /* GULNetwork.h in Headers */ = {isa = PBXBuildFile; fileRef = FC9CE8293D9290796C1AE82B202FBF88 /* GULNetwork.h */; settings = {ATTRIBUTES = (Project, ); }; };
- 3AB35D847E9381604009312FF5C0F777 /* RCTCustomKeyboardViewController.h in Headers */ = {isa = PBXBuildFile; fileRef = 3F03A1B4AA8CE35F7FB702AE18C8E02B /* RCTCustomKeyboardViewController.h */; settings = {ATTRIBUTES = (Project, ); }; };
- 3AD7926D28B7C19EF524282A423D86B9 /* RNFetchBlob.m in Sources */ = {isa = PBXBuildFile; fileRef = DD2C414A25F72769FCB46390FDD297A4 /* RNFetchBlob.m */; };
- 3AFA3EEC609C527008CB6DB0E935B349 /* SDWebImageWebPCoder.h in Headers */ = {isa = PBXBuildFile; fileRef = DF2646454FBB8090126BDEDA921AEEC5 /* SDWebImageWebPCoder.h */; settings = {ATTRIBUTES = (Project, ); }; };
- 3B0A7E19FFF3D40824834302B186379E /* RCTVersion.h in Headers */ = {isa = PBXBuildFile; fileRef = A1498EA75CC6FA31BD259FB7F9E9CDAE /* RCTVersion.h */; settings = {ATTRIBUTES = (Project, ); }; };
+ 3AF67F23912DDE027E162322E6D5EEDE /* RNTapHandler.m in Sources */ = {isa = PBXBuildFile; fileRef = 22A05129F0878801920BF738609DC367 /* RNTapHandler.m */; };
+ 3B0A7E19FFF3D40824834302B186379E /* RCTVersion.h in Headers */ = {isa = PBXBuildFile; fileRef = EE60DE68B25DA416CA52D389452CC088 /* RCTVersion.h */; settings = {ATTRIBUTES = (Project, ); }; };
+ 3B112B7961DF84472640CEDABA5AB2D4 /* de.lproj in Resources */ = {isa = PBXBuildFile; fileRef = 75EAF73A7824AE68F4EB59EEE5EAE53A /* de.lproj */; };
+ 3B6919C80D8D87CA4DBECBC48DEDC9AB /* SDWebImageIndicator.h in Headers */ = {isa = PBXBuildFile; fileRef = 3D3943E3326FE9FC1E8D9269144480FB /* SDWebImageIndicator.h */; settings = {ATTRIBUTES = (Project, ); }; };
3BB343D149E94DCA9736241B605534AA /* GULAppEnvironmentUtil.m in Sources */ = {isa = PBXBuildFile; fileRef = B0032B09BA795D9A9342B053902821D9 /* GULAppEnvironmentUtil.m */; };
- 3BB7613A3A3B5DEB2C5EB61243ABAF8F /* BSG_KSMach_x86_32.c in Sources */ = {isa = PBXBuildFile; fileRef = 002E506CB0391BC1CE481928B2699F12 /* BSG_KSMach_x86_32.c */; };
- 3BC80D939B539712B764FB4D57B26994 /* LNAnimator.m in Sources */ = {isa = PBXBuildFile; fileRef = C9709581F7CE08B5DCEBE1393DE55DFA /* LNAnimator.m */; };
- 3C25BAC21CE20563D59E43D39AF16F4D /* RNFetchBlobProgress.h in Headers */ = {isa = PBXBuildFile; fileRef = 6B2E4EC8E77D19EDDF631D58D7A10F38 /* RNFetchBlobProgress.h */; settings = {ATTRIBUTES = (Project, ); }; };
- 3C4BBEAE55A37D985320BF5A8F7E3FDC /* RCTDataRequestHandler.m in Sources */ = {isa = PBXBuildFile; fileRef = 6D4D6010DE0624CFC631D9ADB2994760 /* RCTDataRequestHandler.m */; };
+ 3BB7613A3A3B5DEB2C5EB61243ABAF8F /* BSG_KSMach_x86_32.c in Sources */ = {isa = PBXBuildFile; fileRef = 8427DB63ABD9404459032AAE8DEA0063 /* BSG_KSMach_x86_32.c */; };
+ 3C48F1E0E0C985A4E58642F51D4FC644 /* RCTConvert+UIBackgroundFetchResult.m in Sources */ = {isa = PBXBuildFile; fileRef = 0700642B1DA4A15CF7D83E2215260C36 /* RCTConvert+UIBackgroundFetchResult.m */; };
+ 3C4BBEAE55A37D985320BF5A8F7E3FDC /* RCTDataRequestHandler.m in Sources */ = {isa = PBXBuildFile; fileRef = C484257FA62D54A1B01EBE06C0424B09 /* RCTDataRequestHandler.m */; };
3C59E4210B09E27F847CC83CD91DB322 /* symbolize.cc in Sources */ = {isa = PBXBuildFile; fileRef = C9685634765B7821B1E0E56263FE70A7 /* symbolize.cc */; settings = {COMPILER_FLAGS = "-Wno-shorten-64-to-32"; }; };
- 3D3370F621F6DFA0176AD602AD92F94A /* RCTAppState.m in Sources */ = {isa = PBXBuildFile; fileRef = A91224F0E14AD3B0F75E35AF7D392B5B /* RCTAppState.m */; settings = {COMPILER_FLAGS = "-DFOLLY_NO_CONFIG -DFOLLY_MOBILE=1 -DFOLLY_USE_LIBCPP=1 -Wno-comma -Wno-shorten-64-to-32 -Wno-documentation"; }; };
- 3D3E47E5F83FB0562F67CCE9A4AAA4F1 /* EXSystemBrightnessRequester.m in Sources */ = {isa = PBXBuildFile; fileRef = 446DF4EEEF3E5E661A9C6CE65D988E3D /* EXSystemBrightnessRequester.m */; };
- 3D6CCFBC4231CB9294BD647F0B89BB72 /* RNDocumentPicker.m in Sources */ = {isa = PBXBuildFile; fileRef = 3EF3CCDF1288391D4BAFC2FF62C2E553 /* RNDocumentPicker.m */; };
- 3D6E61128957573C9E005911F6FDAAE2 /* RCTDevMenu.h in Headers */ = {isa = PBXBuildFile; fileRef = AAC11E205957A9180E4EF48068978594 /* RCTDevMenu.h */; settings = {ATTRIBUTES = (Project, ); }; };
- 3D7CCE87B62EA07185E96263FB9BF4C4 /* SDAnimatedImageView.m in Sources */ = {isa = PBXBuildFile; fileRef = 489BA8CD89137FB7934A8921F72EB459 /* SDAnimatedImageView.m */; };
- 3DCAA747CB308B1F219ADDBDEED5AF6B /* ja.lproj in Resources */ = {isa = PBXBuildFile; fileRef = 121B837DA2AB6469E94FA460AC72DAAC /* ja.lproj */; };
- 3E08292D62CE7EA5C38906B28EAF1E0B /* RCTRedBox.m in Sources */ = {isa = PBXBuildFile; fileRef = 8459BD0AAE6C9EA73BA3BCFCD3FE468B /* RCTRedBox.m */; settings = {COMPILER_FLAGS = "-DFOLLY_NO_CONFIG -DFOLLY_MOBILE=1 -DFOLLY_USE_LIBCPP=1 -Wno-comma -Wno-shorten-64-to-32 -Wno-documentation"; }; };
- 3E294BA392F7D5E339E1EAD303A1B19F /* RNFirebaseFirestore.m in Sources */ = {isa = PBXBuildFile; fileRef = C14ED93366F44FB3E16E67EFF8456ADC /* RNFirebaseFirestore.m */; };
- 3E8921C77301ADD2511AB01138254DDD /* NSBezierPath+RoundedCorners.h in Headers */ = {isa = PBXBuildFile; fileRef = C549EBD27E189FA791778BC04067EC7B /* NSBezierPath+RoundedCorners.h */; settings = {ATTRIBUTES = (Project, ); }; };
- 3E9719AB081FB55507307E9807DC82FA /* RCTSurfaceSizeMeasureMode.mm in Sources */ = {isa = PBXBuildFile; fileRef = 8FA9D98FF51D8FF6B9FF5F9C35C525D7 /* RCTSurfaceSizeMeasureMode.mm */; settings = {COMPILER_FLAGS = "-DFOLLY_NO_CONFIG -DFOLLY_MOBILE=1 -DFOLLY_USE_LIBCPP=1 -Wno-comma -Wno-shorten-64-to-32 -Wno-documentation"; }; };
- 3F45052C992BE4F15342074DFCBA8F47 /* RCTSafeAreaView.h in Headers */ = {isa = PBXBuildFile; fileRef = D5DBE2CF1F2D916236EC526295F12BC7 /* RCTSafeAreaView.h */; settings = {ATTRIBUTES = (Project, ); }; };
- 3F54AD6BFDAFD0D5DFF7F503D7DA838C /* RCTVideoManager.h in Headers */ = {isa = PBXBuildFile; fileRef = 2E768346060B11576B757F17C1F323BA /* RCTVideoManager.h */; settings = {ATTRIBUTES = (Project, ); }; };
- 3F5E15218AF798D177E4FD2650FA4044 /* JSIndexedRAMBundle.cpp in Sources */ = {isa = PBXBuildFile; fileRef = C381FC26D3B3D78A23D04649966D5EDB /* JSIndexedRAMBundle.cpp */; settings = {COMPILER_FLAGS = "-DFOLLY_NO_CONFIG -DFOLLY_MOBILE=1 -DFOLLY_USE_LIBCPP=1 -Wno-comma -Wno-shorten-64-to-32 -Wno-documentation"; }; };
- 3F8BC43549AC66769A4E9F56A3D0E3DB /* RCTBlobManager.h in Headers */ = {isa = PBXBuildFile; fileRef = 59A88EB2E31201B83941DC9329AD4C3E /* RCTBlobManager.h */; settings = {ATTRIBUTES = (Project, ); }; };
+ 3D1AEF75F8B096727AE2866E29F1C760 /* SDImageCoder.h in Headers */ = {isa = PBXBuildFile; fileRef = 897DEDC6281BB1F35E1172DEC9BA23F9 /* SDImageCoder.h */; settings = {ATTRIBUTES = (Project, ); }; };
+ 3D3370F621F6DFA0176AD602AD92F94A /* RCTAppState.m in Sources */ = {isa = PBXBuildFile; fileRef = E9D7DD5CA72B42EB3DDB25048FB234E0 /* RCTAppState.m */; settings = {COMPILER_FLAGS = "-DFOLLY_NO_CONFIG -DFOLLY_MOBILE=1 -DFOLLY_USE_LIBCPP=1 -Wno-comma -Wno-shorten-64-to-32 -Wno-documentation"; }; };
+ 3D3E47E5F83FB0562F67CCE9A4AAA4F1 /* EXSystemBrightnessRequester.m in Sources */ = {isa = PBXBuildFile; fileRef = B6DDF977907DF85DD41E36D55D2DC422 /* EXSystemBrightnessRequester.m */; };
+ 3D6E61128957573C9E005911F6FDAAE2 /* RCTDevMenu.h in Headers */ = {isa = PBXBuildFile; fileRef = 89A2DF8510E3459E054038F2369AB8B2 /* RCTDevMenu.h */; settings = {ATTRIBUTES = (Project, ); }; };
+ 3D992AD82D70347AE78E24556FF42644 /* RNScreens-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = BBB05A7744DD07B7E3FC74779D58B12A /* RNScreens-dummy.m */; };
+ 3E08292D62CE7EA5C38906B28EAF1E0B /* RCTRedBox.m in Sources */ = {isa = PBXBuildFile; fileRef = F352D675FE8E3BD389DEEA90011C4077 /* RCTRedBox.m */; settings = {COMPILER_FLAGS = "-DFOLLY_NO_CONFIG -DFOLLY_MOBILE=1 -DFOLLY_USE_LIBCPP=1 -Wno-comma -Wno-shorten-64-to-32 -Wno-documentation"; }; };
+ 3E9719AB081FB55507307E9807DC82FA /* RCTSurfaceSizeMeasureMode.mm in Sources */ = {isa = PBXBuildFile; fileRef = 3C7DFDA5E9054B75A97C7336060A058C /* RCTSurfaceSizeMeasureMode.mm */; settings = {COMPILER_FLAGS = "-DFOLLY_NO_CONFIG -DFOLLY_MOBILE=1 -DFOLLY_USE_LIBCPP=1 -Wno-comma -Wno-shorten-64-to-32 -Wno-documentation"; }; };
+ 3EAF7EE54A30BCE3946A9427C9F22B9E /* SDAnimatedImage.m in Sources */ = {isa = PBXBuildFile; fileRef = 009C0959C2126F9B3C0AE53F3AF96C49 /* SDAnimatedImage.m */; };
+ 3EC65600C6566E863EC8C60A779FBAB7 /* Compression.m in Sources */ = {isa = PBXBuildFile; fileRef = CD83A75DAE178083BF78B827259508E9 /* Compression.m */; };
+ 3F45052C992BE4F15342074DFCBA8F47 /* RCTSafeAreaView.h in Headers */ = {isa = PBXBuildFile; fileRef = 0FD6B3AAE53E7D7C50E5EE4F8DB6D5D2 /* RCTSafeAreaView.h */; settings = {ATTRIBUTES = (Project, ); }; };
+ 3F5E15218AF798D177E4FD2650FA4044 /* JSIndexedRAMBundle.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 9F0281D742FA4A1140DB8FDDF9844B10 /* JSIndexedRAMBundle.cpp */; settings = {COMPILER_FLAGS = "-DFOLLY_NO_CONFIG -DFOLLY_MOBILE=1 -DFOLLY_USE_LIBCPP=1 -Wno-comma -Wno-shorten-64-to-32 -Wno-documentation"; }; };
+ 3F8BC43549AC66769A4E9F56A3D0E3DB /* RCTBlobManager.h in Headers */ = {isa = PBXBuildFile; fileRef = B1795DB44A1B1CCD3FEAC7E896EAF933 /* RCTBlobManager.h */; settings = {ATTRIBUTES = (Project, ); }; };
3FD619CD7E4DA2CB1F156E46E5096A79 /* filters_utils.h in Headers */ = {isa = PBXBuildFile; fileRef = 5647841A7C5A01D12C01B9E40BDBA2FD /* filters_utils.h */; settings = {ATTRIBUTES = (Project, ); }; };
- 3FF96408AA4DF43F931573CF88901993 /* RNTapHandler.m in Sources */ = {isa = PBXBuildFile; fileRef = FBE2A08990EA554D846C8E5C318D0152 /* RNTapHandler.m */; };
- 3FFFC6E8E0EA3753ADCC980B209485CE /* React-RCTLinking-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = BAEDD4B8EDDA19197593F329F41410D6 /* React-RCTLinking-dummy.m */; };
- 408BCE27E4BFF88DD82DA84346349957 /* RCTKeyboardObserver.m in Sources */ = {isa = PBXBuildFile; fileRef = B8C8034F43824336129D8EADC64D2164 /* RCTKeyboardObserver.m */; settings = {COMPILER_FLAGS = "-DFOLLY_NO_CONFIG -DFOLLY_MOBILE=1 -DFOLLY_USE_LIBCPP=1 -Wno-comma -Wno-shorten-64-to-32 -Wno-documentation"; }; };
- 40AE675CE30893125F5446DE5BBBFDB6 /* BugsnagKSCrashSysInfoParser.h in Headers */ = {isa = PBXBuildFile; fileRef = 0B7DF94E338C982067268619C63F803B /* BugsnagKSCrashSysInfoParser.h */; settings = {ATTRIBUTES = (Project, ); }; };
- 40D38375171CF3AA6FE2ED50E29B056C /* SDImageGIFCoder.m in Sources */ = {isa = PBXBuildFile; fileRef = 824EE839D2B98492FAEBBFBA0AD6A98C /* SDImageGIFCoder.m */; };
- 40E02135B467F425AA7FC5D7C7DA09FD /* EXContactsRequester.h in Headers */ = {isa = PBXBuildFile; fileRef = E9C82288D6A4D316C53D0868AAF01329 /* EXContactsRequester.h */; settings = {ATTRIBUTES = (Project, ); }; };
- 4143D6E51C98469B56C0869D3C162ECD /* RCTDatePicker.m in Sources */ = {isa = PBXBuildFile; fileRef = C8C1C5EDD4C60693DE6947972F96F680 /* RCTDatePicker.m */; settings = {COMPILER_FLAGS = "-DFOLLY_NO_CONFIG -DFOLLY_MOBILE=1 -DFOLLY_USE_LIBCPP=1 -Wno-comma -Wno-shorten-64-to-32 -Wno-documentation"; }; };
+ 3FFE24C9213296F55008C3278AFCC9D9 /* RNDeviceInfo.h in Headers */ = {isa = PBXBuildFile; fileRef = 6A20907F42AB61D2327B6138C7329CD3 /* RNDeviceInfo.h */; settings = {ATTRIBUTES = (Project, ); }; };
+ 3FFFC6E8E0EA3753ADCC980B209485CE /* React-RCTLinking-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = E74D1758C397FE664ED862CDF395DD77 /* React-RCTLinking-dummy.m */; };
+ 408BCE27E4BFF88DD82DA84346349957 /* RCTKeyboardObserver.m in Sources */ = {isa = PBXBuildFile; fileRef = 5111CCF291CB07F02FE2B4FE51BDA8D8 /* RCTKeyboardObserver.m */; settings = {COMPILER_FLAGS = "-DFOLLY_NO_CONFIG -DFOLLY_MOBILE=1 -DFOLLY_USE_LIBCPP=1 -Wno-comma -Wno-shorten-64-to-32 -Wno-documentation"; }; };
+ 40AE675CE30893125F5446DE5BBBFDB6 /* BugsnagKSCrashSysInfoParser.h in Headers */ = {isa = PBXBuildFile; fileRef = 54362C40444EF078AF859C33BD8ABC9C /* BugsnagKSCrashSysInfoParser.h */; settings = {ATTRIBUTES = (Project, ); }; };
+ 40E02135B467F425AA7FC5D7C7DA09FD /* EXContactsRequester.h in Headers */ = {isa = PBXBuildFile; fileRef = EAFB707AB946A67A2D1269FBCB018260 /* EXContactsRequester.h */; settings = {ATTRIBUTES = (Project, ); }; };
+ 41009A4DB9861296AC550AE2C73A0726 /* RNCWKProcessPoolManager.m in Sources */ = {isa = PBXBuildFile; fileRef = B8CFACB1D6F46CC43F2FEB70122D7EEA /* RNCWKProcessPoolManager.m */; };
+ 4116BAA809E913831F23671C068EE570 /* RNCWKWebView.m in Sources */ = {isa = PBXBuildFile; fileRef = EB9BE7B51D31C68E079F5AD87FD6B5C4 /* RNCWKWebView.m */; };
+ 4143D6E51C98469B56C0869D3C162ECD /* RCTDatePicker.m in Sources */ = {isa = PBXBuildFile; fileRef = 16C9FF1CB17D380B4DAD4B8C5496881F /* RCTDatePicker.m */; settings = {COMPILER_FLAGS = "-DFOLLY_NO_CONFIG -DFOLLY_MOBILE=1 -DFOLLY_USE_LIBCPP=1 -Wno-comma -Wno-shorten-64-to-32 -Wno-documentation"; }; };
417DACDC0A7BC5F9A55B32734AF496F3 /* animi.h in Headers */ = {isa = PBXBuildFile; fileRef = D747317B65397EF1C710A86254BF07B4 /* animi.h */; settings = {ATTRIBUTES = (Project, ); }; };
417E75BC5FE99415F33B4422E53E4127 /* FIRInstanceIDAPNSInfo.m in Sources */ = {isa = PBXBuildFile; fileRef = 15F7A763771471383D4666FBB10B57E8 /* FIRInstanceIDAPNSInfo.m */; };
417F9C8A3AA8AAC9D60B25C6FB3EA614 /* fast-dtoa.h in Headers */ = {isa = PBXBuildFile; fileRef = E74B943F621D5FBAD1218AFD5E894604 /* fast-dtoa.h */; settings = {ATTRIBUTES = (Project, ); }; };
- 419DEE7CB0ADCB4F29391B55C4B2DF0C /* RCTTextAttributes.m in Sources */ = {isa = PBXBuildFile; fileRef = E34FD31A4D26749F5C33C861EBF05209 /* RCTTextAttributes.m */; };
+ 419DEE7CB0ADCB4F29391B55C4B2DF0C /* RCTTextAttributes.m in Sources */ = {isa = PBXBuildFile; fileRef = 63895CDE3EAF4F65ABFED2DF0BFA9FD3 /* RCTTextAttributes.m */; };
41A95E3F7E2E29D18CB242B635EC5CC0 /* GULOriginalIMPConvenienceMacros.h in Headers */ = {isa = PBXBuildFile; fileRef = 19529A703895D6ABD53C7639AA0A2D44 /* GULOriginalIMPConvenienceMacros.h */; settings = {ATTRIBUTES = (Project, ); }; };
41B89098A007746270DD180D70EC71F5 /* anim_encode.c in Sources */ = {isa = PBXBuildFile; fileRef = D37035A626F48FDE57928AE6C53769C6 /* anim_encode.c */; settings = {COMPILER_FLAGS = "-D_THREAD_SAFE -fno-objc-arc"; }; };
- 41D1E0B51D0E945795DEA849E1194D29 /* UMExportedModule.h in Headers */ = {isa = PBXBuildFile; fileRef = E7CDB2682A2DF8F70C0E2D95F5F8A7EB /* UMExportedModule.h */; settings = {ATTRIBUTES = (Project, ); }; };
+ 41C31D91BCA1D7289620F94A875E1DF7 /* SDImageCachesManagerOperation.h in Headers */ = {isa = PBXBuildFile; fileRef = 89B4FD8CA9054A81A0FA45E459742F09 /* SDImageCachesManagerOperation.h */; settings = {ATTRIBUTES = (Project, ); }; };
+ 41D1E0B51D0E945795DEA849E1194D29 /* UMExportedModule.h in Headers */ = {isa = PBXBuildFile; fileRef = 810D5462C63EB4727FFB204D6B6F8B09 /* UMExportedModule.h */; settings = {ATTRIBUTES = (Project, ); }; };
41D8858FE972092F3CD14BCA87010126 /* F14Table.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2F86F25484653370A0D569FEBD1153AF /* F14Table.cpp */; settings = {COMPILER_FLAGS = "-DFOLLY_NO_CONFIG -DFOLLY_MOBILE=1 -DFOLLY_USE_LIBCPP=1 -DFOLLY_HAVE_PTHREAD=1 -Wno-comma -Wno-shorten-64-to-32 -Wno-documentation"; }; };
- 423390F2BDBAFE1F7C2C79241A0B2342 /* RCTMaskedView.h in Headers */ = {isa = PBXBuildFile; fileRef = 421C1049196A16444102DC3D8A3EB293 /* RCTMaskedView.h */; settings = {ATTRIBUTES = (Project, ); }; };
- 426112F7D340323309E90FDCEDB6698E /* BugsnagSessionTrackingApiClient.m in Sources */ = {isa = PBXBuildFile; fileRef = 0E7D4CC1E56D24AF9CE8901FE24CBC73 /* BugsnagSessionTrackingApiClient.m */; };
- 4265713191E38612B42A9C705804D562 /* ImageCropPicker.m in Sources */ = {isa = PBXBuildFile; fileRef = 8B05AED601D36D1FE07DEAC184FB853D /* ImageCropPicker.m */; };
+ 423390F2BDBAFE1F7C2C79241A0B2342 /* RCTMaskedView.h in Headers */ = {isa = PBXBuildFile; fileRef = F05927509B5DE64E2557BBB2796CDF94 /* RCTMaskedView.h */; settings = {ATTRIBUTES = (Project, ); }; };
+ 426112F7D340323309E90FDCEDB6698E /* BugsnagSessionTrackingApiClient.m in Sources */ = {isa = PBXBuildFile; fileRef = A4480C00AB73EF5440C3A3BBAFDAC2B5 /* BugsnagSessionTrackingApiClient.m */; };
428DA569F1EB3E48A5F26F0FF30A9061 /* rescaler_neon.c in Sources */ = {isa = PBXBuildFile; fileRef = 0562DC21AFB7EE2C588D43C22F7BB4BE /* rescaler_neon.c */; settings = {COMPILER_FLAGS = "-D_THREAD_SAFE -fno-objc-arc"; }; };
- 4290A34DD40CD9278C0EE14612AA6B29 /* RNCUIWebViewManager.m in Sources */ = {isa = PBXBuildFile; fileRef = C401B03ED4DFE8FFB9B289C7259B9AC1 /* RNCUIWebViewManager.m */; };
- 42B1629465FFF1454DD2B91C88754DBF /* SDWebImageCacheKeyFilter.h in Headers */ = {isa = PBXBuildFile; fileRef = 449726C9768F455E6476B45D54DF3AB0 /* SDWebImageCacheKeyFilter.h */; settings = {ATTRIBUTES = (Project, ); }; };
- 42BAB1D435CA9D2AAA21480F1F541429 /* RCTAnimationType.h in Headers */ = {isa = PBXBuildFile; fileRef = A4004FDDCCC9DE4B690E638D99DEC3E6 /* RCTAnimationType.h */; settings = {ATTRIBUTES = (Project, ); }; };
- 42EFF96D875A2A3CA443A6CB8021A9A3 /* YGStyle.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 173F5AFE9EB678107606586369607618 /* YGStyle.cpp */; settings = {COMPILER_FLAGS = "-fno-omit-frame-pointer -fexceptions -Wall -Werror -std=c++1y -fPIC -fno-objc-arc"; }; };
- 42F70B2C1B020FEC94FE27D2B7642E1C /* RCTSafeAreaViewLocalData.h in Headers */ = {isa = PBXBuildFile; fileRef = 11E9FAC0A0A931D160724D4E2A47A9D8 /* RCTSafeAreaViewLocalData.h */; settings = {ATTRIBUTES = (Project, ); }; };
- 42FAC9965CACAE83D5AC73CB9A8FB532 /* RNFirebaseMessaging.m in Sources */ = {isa = PBXBuildFile; fileRef = E3374A30DBB955191F5F80EB85BBC8D4 /* RNFirebaseMessaging.m */; };
- 42FD23CD9F6B69BA3BFAE7588C644BE2 /* RNFirebase.m in Sources */ = {isa = PBXBuildFile; fileRef = 86026E58DB5319BA0B6419908827705D /* RNFirebase.m */; };
- 433901478838FFC2D8D000028D857B2F /* RCTI18nUtil.m in Sources */ = {isa = PBXBuildFile; fileRef = C9AC489CAD43A14098EBF7F12807606B /* RCTI18nUtil.m */; settings = {COMPILER_FLAGS = "-DFOLLY_NO_CONFIG -DFOLLY_MOBILE=1 -DFOLLY_USE_LIBCPP=1 -Wno-comma -Wno-shorten-64-to-32 -Wno-documentation"; }; };
- 4345B53D40AA4B3759F64AA51999C47E /* UMReactFontManager.m in Sources */ = {isa = PBXBuildFile; fileRef = 03B4D10E35398BA07BDA79D4B8FF3912 /* UMReactFontManager.m */; };
- 43B3DE547565167526B675B482CFEACA /* JSCExecutorFactory.h in Headers */ = {isa = PBXBuildFile; fileRef = 697D6C8F840620E83C8777B0E1CCDA5B /* JSCExecutorFactory.h */; settings = {ATTRIBUTES = (Project, ); }; };
+ 42BAB1D435CA9D2AAA21480F1F541429 /* RCTAnimationType.h in Headers */ = {isa = PBXBuildFile; fileRef = 30ED06FB303006808DCE61692493E601 /* RCTAnimationType.h */; settings = {ATTRIBUTES = (Project, ); }; };
+ 42EFF96D875A2A3CA443A6CB8021A9A3 /* YGStyle.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 01D616258D310A39873F42EF82CEF8E2 /* YGStyle.cpp */; settings = {COMPILER_FLAGS = "-fno-omit-frame-pointer -fexceptions -Wall -Werror -std=c++1y -fPIC -fno-objc-arc"; }; };
+ 42F70B2C1B020FEC94FE27D2B7642E1C /* RCTSafeAreaViewLocalData.h in Headers */ = {isa = PBXBuildFile; fileRef = 4DFB75FDE623EDC4B2979C827B132A69 /* RCTSafeAreaViewLocalData.h */; settings = {ATTRIBUTES = (Project, ); }; };
+ 433901478838FFC2D8D000028D857B2F /* RCTI18nUtil.m in Sources */ = {isa = PBXBuildFile; fileRef = 1EE0D71610F38AF41C40F8FE8D673E43 /* RCTI18nUtil.m */; settings = {COMPILER_FLAGS = "-DFOLLY_NO_CONFIG -DFOLLY_MOBILE=1 -DFOLLY_USE_LIBCPP=1 -Wno-comma -Wno-shorten-64-to-32 -Wno-documentation"; }; };
+ 43B3DE547565167526B675B482CFEACA /* JSCExecutorFactory.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B8BFBD04D2A047272697F0540C192A9 /* JSCExecutorFactory.h */; settings = {ATTRIBUTES = (Project, ); }; };
+ 43C52ED5D9809B750635A8077E5486F4 /* RNCUIWebView.m in Sources */ = {isa = PBXBuildFile; fileRef = 2259FBF3EA3796E442AAE6DC7BBF5596 /* RNCUIWebView.m */; };
43CBD73B6409385B3BA97C371970F1D2 /* FIRInstanceID+Private.m in Sources */ = {isa = PBXBuildFile; fileRef = 80FFA483C0CB4DE8DEF2F093A39847B9 /* FIRInstanceID+Private.m */; };
- 43DE8C497516319FB8A65F50BB8C9B90 /* RCTPlatform.h in Headers */ = {isa = PBXBuildFile; fileRef = 27EFC41ED4E72083E23C7E18C5573170 /* RCTPlatform.h */; settings = {ATTRIBUTES = (Project, ); }; };
+ 43DE8C497516319FB8A65F50BB8C9B90 /* RCTPlatform.h in Headers */ = {isa = PBXBuildFile; fileRef = 9572A9B8E9944C370FDCD10F6D088BE0 /* RCTPlatform.h */; settings = {ATTRIBUTES = (Project, ); }; };
43E11DA6D060BEADEAD736180B594C36 /* FIRInstanceIDKeychain.m in Sources */ = {isa = PBXBuildFile; fileRef = C7D1841E42A9EA072383D82BE69D4E0B /* FIRInstanceIDKeychain.m */; };
- 43F8A223F24038D1D65DF995089EE6D7 /* react-native-document-picker-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = E317D54B38DCC30D3B0CA3098E1A3454 /* react-native-document-picker-dummy.m */; };
- 441CC59E05CD1798A940EABEC9260FCC /* EXConstants-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 6A33610A3004B4212AAE1B85FBD44857 /* EXConstants-dummy.m */; };
+ 441CC59E05CD1798A940EABEC9260FCC /* EXConstants-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 7A29386919AD1B6652A9D8F8C4B6DC91 /* EXConstants-dummy.m */; };
+ 448529B88A66DED92735563849869F3F /* SDWebImagePrefetcher.m in Sources */ = {isa = PBXBuildFile; fileRef = E2541FB02FE40FF14C262B8CF5A76AFC /* SDWebImagePrefetcher.m */; };
44A56E8FBEA913137B22E0F48F692DCD /* vp8li_dec.h in Headers */ = {isa = PBXBuildFile; fileRef = F265EB84BEFA0C02FDB805FF9074BCF8 /* vp8li_dec.h */; settings = {ATTRIBUTES = (Project, ); }; };
- 44D813E466A048BB303D9FB8061F038E /* KeyboardTrackingViewManager.m in Sources */ = {isa = PBXBuildFile; fileRef = D81C9B74E4D00CDA1F85592F6E2BA9E1 /* KeyboardTrackingViewManager.m */; };
- 44EDDB8B1F6C6CCC5D77D66D74470F46 /* QBImagePickerController.m in Sources */ = {isa = PBXBuildFile; fileRef = 13D99DBC80BEF10AA0B3239F52637EE0 /* QBImagePickerController.m */; };
44FB6A1BFCDEF27B9B786C9A7181719C /* Demangle.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A23489B385A1E1A55AE59AE5371D957E /* Demangle.cpp */; settings = {COMPILER_FLAGS = "-DFOLLY_NO_CONFIG -DFOLLY_MOBILE=1 -DFOLLY_USE_LIBCPP=1 -DFOLLY_HAVE_PTHREAD=1 -Wno-comma -Wno-shorten-64-to-32 -Wno-documentation"; }; };
- 45396AFAD834088E1996AB31384FAE90 /* RCTSurface.h in Headers */ = {isa = PBXBuildFile; fileRef = 7039A5BFEFAEF39DCE93CACD5ECE2076 /* RCTSurface.h */; settings = {ATTRIBUTES = (Project, ); }; };
- 4552454BF02E1FD834C531E0BF4EEA9F /* YGNodePrint.h in Headers */ = {isa = PBXBuildFile; fileRef = A432A5B6E1F35FEEA9C0C3379F4BCE08 /* YGNodePrint.h */; settings = {ATTRIBUTES = (Project, ); }; };
- 4581C096EEE71878594E52949FF373A7 /* BSG_KSJSONCodecObjC.m in Sources */ = {isa = PBXBuildFile; fileRef = F068E83EF7C5DB1335BED727537F085D /* BSG_KSJSONCodecObjC.m */; };
- 458F8EB1590AF3D2BC761E2A73302CC4 /* RCTScrollContentShadowView.h in Headers */ = {isa = PBXBuildFile; fileRef = 55FC7DE1D92086DBAA8D244629DA0299 /* RCTScrollContentShadowView.h */; settings = {ATTRIBUTES = (Project, ); }; };
+ 45307D513C4894EB9789196D086D53E6 /* ImageCropPicker.m in Sources */ = {isa = PBXBuildFile; fileRef = DFAE968EDAA5236D6930C122A7CB8064 /* ImageCropPicker.m */; };
+ 45396AFAD834088E1996AB31384FAE90 /* RCTSurface.h in Headers */ = {isa = PBXBuildFile; fileRef = ADDA5E865777BC663AD511A6547DC56D /* RCTSurface.h */; settings = {ATTRIBUTES = (Project, ); }; };
+ 4552454BF02E1FD834C531E0BF4EEA9F /* YGNodePrint.h in Headers */ = {isa = PBXBuildFile; fileRef = 16C8E8AFC1D6B78D29CFE8A067D4A24E /* YGNodePrint.h */; settings = {ATTRIBUTES = (Project, ); }; };
+ 4566E2AE1D049DEB02F46A757B9D801C /* RCTCustomInputController.m in Sources */ = {isa = PBXBuildFile; fileRef = 01661966F13874DA470B02804CFC0306 /* RCTCustomInputController.m */; };
+ 4581C096EEE71878594E52949FF373A7 /* BSG_KSJSONCodecObjC.m in Sources */ = {isa = PBXBuildFile; fileRef = 9E114932D6C762618B2AC1F2E2F4FDDB /* BSG_KSJSONCodecObjC.m */; };
+ 458F8EB1590AF3D2BC761E2A73302CC4 /* RCTScrollContentShadowView.h in Headers */ = {isa = PBXBuildFile; fileRef = 6A0967AA2C111474531829CC1629E844 /* RCTScrollContentShadowView.h */; settings = {ATTRIBUTES = (Project, ); }; };
45A40F884619367E2D134F45E8496BEF /* bit_reader_utils.c in Sources */ = {isa = PBXBuildFile; fileRef = 5D82B45395887652BEB5BD663843B08F /* bit_reader_utils.c */; settings = {COMPILER_FLAGS = "-D_THREAD_SAFE -fno-objc-arc"; }; };
- 45FADA4EB5D6E6A2B5A3B8D358E27D2D /* EXVideoPlayerViewController.h in Headers */ = {isa = PBXBuildFile; fileRef = CDA45C8182BA37176A35F23B538D63AA /* EXVideoPlayerViewController.h */; settings = {ATTRIBUTES = (Project, ); }; };
- 4660EDBC98B11FA6B9513DC5DBABF057 /* SDImageCacheDefine.m in Sources */ = {isa = PBXBuildFile; fileRef = 8D9A7E958757D6AC4BF086FF9199B675 /* SDImageCacheDefine.m */; };
+ 45FADA4EB5D6E6A2B5A3B8D358E27D2D /* EXVideoPlayerViewController.h in Headers */ = {isa = PBXBuildFile; fileRef = A01B9D45AB28D2D8B1166C358B2E1B00 /* EXVideoPlayerViewController.h */; settings = {ATTRIBUTES = (Project, ); }; };
+ 460E37598AA0D14AE158159CE82DD304 /* SDAnimatedImage.h in Headers */ = {isa = PBXBuildFile; fileRef = 8492A50A463D0FF1A9999FEED07C0510 /* SDAnimatedImage.h */; settings = {ATTRIBUTES = (Project, ); }; };
4692A03F476391868C6362ED0C497F02 /* FIRInstanceIDTokenStore.h in Headers */ = {isa = PBXBuildFile; fileRef = 8A0974B26B6AB6E0A12A66BB5517340D /* FIRInstanceIDTokenStore.h */; settings = {ATTRIBUTES = (Project, ); }; };
46D4DB4D7655C9D518527A43C8BCAB15 /* dynamic.cpp in Sources */ = {isa = PBXBuildFile; fileRef = D5B1E7E82354E75041F85D10EDFF4CEC /* dynamic.cpp */; settings = {COMPILER_FLAGS = "-DFOLLY_NO_CONFIG -DFOLLY_MOBILE=1 -DFOLLY_USE_LIBCPP=1 -DFOLLY_HAVE_PTHREAD=1 -Wno-comma -Wno-shorten-64-to-32 -Wno-documentation"; }; };
- 4747F8766746305A6925482005F441C1 /* EXCameraPermissionRequester.m in Sources */ = {isa = PBXBuildFile; fileRef = A54E3F13AA43C3C549B535C69291C5DE /* EXCameraPermissionRequester.m */; };
- 47663F0A217827163C37D8BB639CB22F /* RCTSurfaceSizeMeasureMode.h in Headers */ = {isa = PBXBuildFile; fileRef = DDD0E1C8475352AA165F89C6952BFAE1 /* RCTSurfaceSizeMeasureMode.h */; settings = {ATTRIBUTES = (Project, ); }; };
- 47AEE83DB849E3C2B4A8B16F935B2492 /* BugsnagReactNative.m in Sources */ = {isa = PBXBuildFile; fileRef = E437FA4E82C850AD60D62EAF3B43A8EC /* BugsnagReactNative.m */; };
+ 46D82C040B9A4F58BC70C2D8186336E6 /* SDWebImageDownloaderConfig.h in Headers */ = {isa = PBXBuildFile; fileRef = C934A9A198127726AD7F6FCA16647488 /* SDWebImageDownloaderConfig.h */; settings = {ATTRIBUTES = (Project, ); }; };
+ 47043E4D216E078B9D00FC284AB30F0D /* ja.lproj in Resources */ = {isa = PBXBuildFile; fileRef = 121B837DA2AB6469E94FA460AC72DAAC /* ja.lproj */; };
+ 4747F8766746305A6925482005F441C1 /* EXCameraPermissionRequester.m in Sources */ = {isa = PBXBuildFile; fileRef = 9EF3864279305B7211F1838144A057B8 /* EXCameraPermissionRequester.m */; };
+ 47663F0A217827163C37D8BB639CB22F /* RCTSurfaceSizeMeasureMode.h in Headers */ = {isa = PBXBuildFile; fileRef = 02BE54D27F70A0662AE8D7562DFE1999 /* RCTSurfaceSizeMeasureMode.h */; settings = {ATTRIBUTES = (Project, ); }; };
+ 47AEE83DB849E3C2B4A8B16F935B2492 /* BugsnagReactNative.m in Sources */ = {isa = PBXBuildFile; fileRef = A1C3E74314A59BCBC422A740EFCE3C0F /* BugsnagReactNative.m */; };
47D26569084E23199966F0D962D65D0B /* yuv_sse2.c in Sources */ = {isa = PBXBuildFile; fileRef = 127435DBC940400B5D902F84731A68A7 /* yuv_sse2.c */; settings = {COMPILER_FLAGS = "-D_THREAD_SAFE -fno-objc-arc"; }; };
- 47D7A5B4CCADF15126DF45579BA78A1C /* SDImageFrame.m in Sources */ = {isa = PBXBuildFile; fileRef = 8D02F0B2B40523B6248E68DD0F836D3C /* SDImageFrame.m */; };
- 486AAF14CA2ACE5C82626AEA2A81A682 /* SDWebImageDownloaderRequestModifier.m in Sources */ = {isa = PBXBuildFile; fileRef = B29A55B574E24358B76B8CFC22CC657D /* SDWebImageDownloaderRequestModifier.m */; };
- 487559677C7E26B29CCB56933C0827F9 /* RCTScrollContentView.h in Headers */ = {isa = PBXBuildFile; fileRef = 73244C3BCE313EC9ACA426261BDBB4BC /* RCTScrollContentView.h */; settings = {ATTRIBUTES = (Project, ); }; };
- 488123B6785D8E54DBF3FE3B87BE30EE /* JSDeltaBundleClient.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1D893ABB936D71A2F63C49A2A1ED779D /* JSDeltaBundleClient.cpp */; settings = {COMPILER_FLAGS = "-DFOLLY_NO_CONFIG -DFOLLY_MOBILE=1 -DFOLLY_USE_LIBCPP=1 -Wno-comma -Wno-shorten-64-to-32 -Wno-documentation"; }; };
- 48854AEE4AB92CB30FED6C801E3056CE /* RCTConvert+CoreLocation.m in Sources */ = {isa = PBXBuildFile; fileRef = FECA04CE0D26960B45442326236267D9 /* RCTConvert+CoreLocation.m */; settings = {COMPILER_FLAGS = "-DFOLLY_NO_CONFIG -DFOLLY_MOBILE=1 -DFOLLY_USE_LIBCPP=1 -Wno-comma -Wno-shorten-64-to-32 -Wno-documentation"; }; };
- 48BE6199AAE229B7BF47A93029821B96 /* YGEnums.h in Headers */ = {isa = PBXBuildFile; fileRef = 0D61D303162B484D30E1D87FF148655D /* YGEnums.h */; settings = {ATTRIBUTES = (Project, ); }; };
- 48EE6191381757AFD19271D6D89B3C86 /* RCTTouchEvent.h in Headers */ = {isa = PBXBuildFile; fileRef = F702F8A16823F2F44BDEDC2F7C553850 /* RCTTouchEvent.h */; settings = {ATTRIBUTES = (Project, ); }; };
- 48FD91451DA44310A44523825F96B1C4 /* RCTPropsAnimatedNode.m in Sources */ = {isa = PBXBuildFile; fileRef = 34D466D6D3AA9CB5142A5D61B7C40E03 /* RCTPropsAnimatedNode.m */; };
- 49DDCB4C3E3998962C6F2DA29BDE329F /* NSTextStorage+FontScaling.h in Headers */ = {isa = PBXBuildFile; fileRef = 3648BD8956DFF106C21415B00D9E9FD8 /* NSTextStorage+FontScaling.h */; settings = {ATTRIBUTES = (Project, ); }; };
- 49FFF0BAD28D80741F6F4DFC75B4728D /* RCTAlertManager.m in Sources */ = {isa = PBXBuildFile; fileRef = D681FC5562B1501F72141A3FFFCC32D4 /* RCTAlertManager.m */; settings = {COMPILER_FLAGS = "-DFOLLY_NO_CONFIG -DFOLLY_MOBILE=1 -DFOLLY_USE_LIBCPP=1 -Wno-comma -Wno-shorten-64-to-32 -Wno-documentation"; }; };
- 4A03BCD6682670A22BA5AA536B090508 /* RCTImageShadowView.h in Headers */ = {isa = PBXBuildFile; fileRef = 67B82092C1E40A0C6F1096F8D4AB8E60 /* RCTImageShadowView.h */; settings = {ATTRIBUTES = (Project, ); }; };
- 4A179F67B2211D5A0C4CEFF2808687AA /* InspectorInterfaces.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 186CA9D032F457A7D766C49DADCF533E /* InspectorInterfaces.cpp */; };
- 4A635A71C4C46F0F2C9028A9BCB3361D /* RCTSpringAnimation.m in Sources */ = {isa = PBXBuildFile; fileRef = 579EB4B79EA01047C8BA3600992FDB67 /* RCTSpringAnimation.m */; };
- 4A81C4BF8151A7DAF53FE7125511D294 /* RCTInputAccessoryShadowView.m in Sources */ = {isa = PBXBuildFile; fileRef = 0FF4ED78F838186D1D8D0C0DD7F7BA5C /* RCTInputAccessoryShadowView.m */; };
- 4A845C978530581848EB18A514EA2A3B /* SDWebImageDefine.h in Headers */ = {isa = PBXBuildFile; fileRef = 0F4B93578AA069779B05F89B28658330 /* SDWebImageDefine.h */; settings = {ATTRIBUTES = (Project, ); }; };
- 4AD9B21E810E822A35BBA7981054DAD1 /* RCTBackedTextInputDelegateAdapter.h in Headers */ = {isa = PBXBuildFile; fileRef = 034178FF57AD118733844581FB75A2CB /* RCTBackedTextInputDelegateAdapter.h */; settings = {ATTRIBUTES = (Project, ); }; };
+ 485C9F3AD88877C5CD087FD513828EF8 /* QBAssetCell.m in Sources */ = {isa = PBXBuildFile; fileRef = 2659D2392EE12A28990CEC1FF919FEC1 /* QBAssetCell.m */; };
+ 487559677C7E26B29CCB56933C0827F9 /* RCTScrollContentView.h in Headers */ = {isa = PBXBuildFile; fileRef = 5D29DFFF1E250DBC669B44E3533F0EC8 /* RCTScrollContentView.h */; settings = {ATTRIBUTES = (Project, ); }; };
+ 488123B6785D8E54DBF3FE3B87BE30EE /* JSDeltaBundleClient.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 25D31073D5AD18C5ECF9CCFB5C15DF67 /* JSDeltaBundleClient.cpp */; settings = {COMPILER_FLAGS = "-DFOLLY_NO_CONFIG -DFOLLY_MOBILE=1 -DFOLLY_USE_LIBCPP=1 -Wno-comma -Wno-shorten-64-to-32 -Wno-documentation"; }; };
+ 48854AEE4AB92CB30FED6C801E3056CE /* RCTConvert+CoreLocation.m in Sources */ = {isa = PBXBuildFile; fileRef = 1168D83AED03C26F69466043EC6F1925 /* RCTConvert+CoreLocation.m */; settings = {COMPILER_FLAGS = "-DFOLLY_NO_CONFIG -DFOLLY_MOBILE=1 -DFOLLY_USE_LIBCPP=1 -Wno-comma -Wno-shorten-64-to-32 -Wno-documentation"; }; };
+ 48AD8C6A612832DBB152FFC09848F745 /* UMModuleRegistryAdapter.m in Sources */ = {isa = PBXBuildFile; fileRef = D929298B10FF099260CBF1E7C0D34699 /* UMModuleRegistryAdapter.m */; };
+ 48BE6199AAE229B7BF47A93029821B96 /* YGEnums.h in Headers */ = {isa = PBXBuildFile; fileRef = E6BFA03519BAFA0F0769C3FFBB1E72F2 /* YGEnums.h */; settings = {ATTRIBUTES = (Project, ); }; };
+ 48EE6191381757AFD19271D6D89B3C86 /* RCTTouchEvent.h in Headers */ = {isa = PBXBuildFile; fileRef = 4B89C325197E213087FDC0BAA9D4EC41 /* RCTTouchEvent.h */; settings = {ATTRIBUTES = (Project, ); }; };
+ 48F083DC54F85765694A5E0B53DE7A23 /* UMModuleRegistryAdapter.h in Headers */ = {isa = PBXBuildFile; fileRef = 315576638118A6508E9348F0B831D6BD /* UMModuleRegistryAdapter.h */; settings = {ATTRIBUTES = (Project, ); }; };
+ 48FD91451DA44310A44523825F96B1C4 /* RCTPropsAnimatedNode.m in Sources */ = {isa = PBXBuildFile; fileRef = 8F589DCFB5BBD63C71991478EA159FAA /* RCTPropsAnimatedNode.m */; };
+ 4938989068F55A805D188E4CE1F808BC /* UIImage+Metadata.h in Headers */ = {isa = PBXBuildFile; fileRef = 9DB8190846E8E246C6CC351EFDA74893 /* UIImage+Metadata.h */; settings = {ATTRIBUTES = (Project, ); }; };
+ 49DDCB4C3E3998962C6F2DA29BDE329F /* NSTextStorage+FontScaling.h in Headers */ = {isa = PBXBuildFile; fileRef = 049AF58234FB0E38DE1469CBC2D9E233 /* NSTextStorage+FontScaling.h */; settings = {ATTRIBUTES = (Project, ); }; };
+ 49FFF0BAD28D80741F6F4DFC75B4728D /* RCTAlertManager.m in Sources */ = {isa = PBXBuildFile; fileRef = 6CF95DF1801EE37788D4C416483F9EC3 /* RCTAlertManager.m */; settings = {COMPILER_FLAGS = "-DFOLLY_NO_CONFIG -DFOLLY_MOBILE=1 -DFOLLY_USE_LIBCPP=1 -Wno-comma -Wno-shorten-64-to-32 -Wno-documentation"; }; };
+ 4A03BCD6682670A22BA5AA536B090508 /* RCTImageShadowView.h in Headers */ = {isa = PBXBuildFile; fileRef = 8F0DBC01067215A4E2CFF63120130FDF /* RCTImageShadowView.h */; settings = {ATTRIBUTES = (Project, ); }; };
+ 4A179F67B2211D5A0C4CEFF2808687AA /* InspectorInterfaces.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 43CE6FE881FB870D2E73185963CE9AAA /* InspectorInterfaces.cpp */; };
+ 4A191EE8E63BB793A736ACFD4C598019 /* RNCommandsHandler.h in Headers */ = {isa = PBXBuildFile; fileRef = 42B105173D64FD76AA97A1A11A3C37FD /* RNCommandsHandler.h */; settings = {ATTRIBUTES = (Project, ); }; };
+ 4A635A71C4C46F0F2C9028A9BCB3361D /* RCTSpringAnimation.m in Sources */ = {isa = PBXBuildFile; fileRef = 75CD1CAA6F9A1EFB382422A33330BF12 /* RCTSpringAnimation.m */; };
+ 4A81C4BF8151A7DAF53FE7125511D294 /* RCTInputAccessoryShadowView.m in Sources */ = {isa = PBXBuildFile; fileRef = A203C7690F6B1A8BB7FC23D1B2FA41C0 /* RCTInputAccessoryShadowView.m */; };
+ 4AA0C384DDE993D7ED4758DFDE13703E /* RNNotificationUtils.m in Sources */ = {isa = PBXBuildFile; fileRef = A66CC7C6EB5A83574BCC882659DD3C68 /* RNNotificationUtils.m */; };
+ 4AD9B21E810E822A35BBA7981054DAD1 /* RCTBackedTextInputDelegateAdapter.h in Headers */ = {isa = PBXBuildFile; fileRef = 7FE98FBDCC40D4B375ED231C6D842FF0 /* RCTBackedTextInputDelegateAdapter.h */; settings = {ATTRIBUTES = (Project, ); }; };
4AEAF2548FD03171132E796282A5A71A /* FIRBundleUtil.m in Sources */ = {isa = PBXBuildFile; fileRef = C28EF151ADE44B36CB01A2BEC03F522A /* FIRBundleUtil.m */; };
- 4AEFB91384203AE6A0DBAF5C2664A2D5 /* RCTActionSheetManager.h in Headers */ = {isa = PBXBuildFile; fileRef = 7C8D4A7A522C75D528B534E141599744 /* RCTActionSheetManager.h */; settings = {ATTRIBUTES = (Project, ); }; };
- 4AF04CD7C7A366230D118DE7AF1793AB /* BSG_KSCrashReport.h in Headers */ = {isa = PBXBuildFile; fileRef = 34098BAB18E0D5FF7AB48C0E4307611C /* BSG_KSCrashReport.h */; settings = {ATTRIBUTES = (Project, ); }; };
- 4AF467FDFC548BF4A7DD1F24A11F2079 /* RSKImageCropViewController.h in Headers */ = {isa = PBXBuildFile; fileRef = 6D64EF5101331F914CBA4CF73233F909 /* RSKImageCropViewController.h */; settings = {ATTRIBUTES = (Project, ); }; };
+ 4AEFB91384203AE6A0DBAF5C2664A2D5 /* RCTActionSheetManager.h in Headers */ = {isa = PBXBuildFile; fileRef = D7F215917091CEF6A68933FC36DC28D7 /* RCTActionSheetManager.h */; settings = {ATTRIBUTES = (Project, ); }; };
+ 4AF04CD7C7A366230D118DE7AF1793AB /* BSG_KSCrashReport.h in Headers */ = {isa = PBXBuildFile; fileRef = 7EBE6EFC6FECE73E368DF4871D898C3F /* BSG_KSCrashReport.h */; settings = {ATTRIBUTES = (Project, ); }; };
4AF533E5A6AFF13467F5968EC8A6EEFE /* random_utils.c in Sources */ = {isa = PBXBuildFile; fileRef = 0B75298DD5C8A4211253F38FB8FA4852 /* random_utils.c */; settings = {COMPILER_FLAGS = "-D_THREAD_SAFE -fno-objc-arc"; }; };
- 4AFD27C4EC65B4527F2AFF3C05621E70 /* RCTSegmentedControl.m in Sources */ = {isa = PBXBuildFile; fileRef = 9F7D5BF075C966A5CB5D92DBD4656B7A /* RCTSegmentedControl.m */; settings = {COMPILER_FLAGS = "-DFOLLY_NO_CONFIG -DFOLLY_MOBILE=1 -DFOLLY_USE_LIBCPP=1 -Wno-comma -Wno-shorten-64-to-32 -Wno-documentation"; }; };
+ 4AFD27C4EC65B4527F2AFF3C05621E70 /* RCTSegmentedControl.m in Sources */ = {isa = PBXBuildFile; fileRef = D357429067B0E14843BE4A24627FC30E /* RCTSegmentedControl.m */; settings = {COMPILER_FLAGS = "-DFOLLY_NO_CONFIG -DFOLLY_MOBILE=1 -DFOLLY_USE_LIBCPP=1 -Wno-comma -Wno-shorten-64-to-32 -Wno-documentation"; }; };
4B163EB758F5F9C2FC21DC257B9F02E6 /* quant_levels_utils.h in Headers */ = {isa = PBXBuildFile; fileRef = 0580E5E4C436222FD025EC39AA8EFD3D /* quant_levels_utils.h */; settings = {ATTRIBUTES = (Project, ); }; };
- 4B35CB70798FDE7E4218999504975CBB /* React-RCTBlob-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = FBBFB1E9DF8EF3D9BCABC14C5C393253 /* React-RCTBlob-dummy.m */; };
- 4B460590C328B6B30A6B86BA914401A8 /* RCTWrapperViewController.h in Headers */ = {isa = PBXBuildFile; fileRef = E8E23FC99563F8F4ED31E79F74808D6D /* RCTWrapperViewController.h */; settings = {ATTRIBUTES = (Project, ); }; };
- 4B9CEBB534AF8FCE46F101F523358815 /* BSG_KSObjC.c in Sources */ = {isa = PBXBuildFile; fileRef = 0A30E0A4D3AF51DF89CC31A94159E65F /* BSG_KSObjC.c */; };
- 4BA9046C44DAF98A93FD0D4BE6199C06 /* RCTJSStackFrame.h in Headers */ = {isa = PBXBuildFile; fileRef = AE5E706A93CD9C8D9EC77ED062AEAF7E /* RCTJSStackFrame.h */; settings = {ATTRIBUTES = (Project, ); }; };
- 4BAF9CF76BAA7AAD48BE5269EA0D40DA /* RCTConvert+FFFastImage.m in Sources */ = {isa = PBXBuildFile; fileRef = 66B361B37C11A9427609CD2F3EF72111 /* RCTConvert+FFFastImage.m */; };
- 4BB92A55CF3DEB86B5EFF576D1999D54 /* RCTBundleURLProvider.m in Sources */ = {isa = PBXBuildFile; fileRef = 1E79614A28741F1EFA29F7BD84D26D4F /* RCTBundleURLProvider.m */; settings = {COMPILER_FLAGS = "-DFOLLY_NO_CONFIG -DFOLLY_MOBILE=1 -DFOLLY_USE_LIBCPP=1 -Wno-comma -Wno-shorten-64-to-32 -Wno-documentation"; }; };
- 4BD47EA3C20186ADA3A4856A0F694F3B /* RNLocalize.m in Sources */ = {isa = PBXBuildFile; fileRef = 4BCD5057F8E7A412CA3DDE3191DE8ABA /* RNLocalize.m */; };
- 4BD516B2859265FFBC0C1E57A9BFA51B /* RNRootViewGestureRecognizer.m in Sources */ = {isa = PBXBuildFile; fileRef = 702C07A5A6845A5A1B22D31B6F2892F0 /* RNRootViewGestureRecognizer.m */; };
- 4C2D9B6E7C57A6937CEC0DC334D9320F /* RCTBlobManager.mm in Sources */ = {isa = PBXBuildFile; fileRef = 3EA95B257B6F8B2F53A8DCF3A33898AC /* RCTBlobManager.mm */; };
- 4C31CCF73B1ED47DD5B015764C9934A3 /* react-native-keyboard-input-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 2FAB9A1C3AA5CF6D3D2B13419C32A582 /* react-native-keyboard-input-dummy.m */; };
- 4C451FA8DB397547DB04630479B4D605 /* YGNodePrint.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BA55D701BA77C181909B9C93F7782A81 /* YGNodePrint.cpp */; settings = {COMPILER_FLAGS = "-fno-omit-frame-pointer -fexceptions -Wall -Werror -std=c++1y -fPIC -fno-objc-arc"; }; };
- 4C88312754491019E137EA0FA45E3A0F /* RCTTextShadowView.h in Headers */ = {isa = PBXBuildFile; fileRef = 224C3CFA2CD98F94DFE87028042B3831 /* RCTTextShadowView.h */; settings = {ATTRIBUTES = (Project, ); }; };
- 4CAEB9BCA2013D736E9B57F5AE42EC69 /* BSG_KSSystemInfo.h in Headers */ = {isa = PBXBuildFile; fileRef = 95EEF6D8FC2089A3B555765361F4AB87 /* BSG_KSSystemInfo.h */; settings = {ATTRIBUTES = (Project, ); }; };
- 4CB426042446682BEA36B7E322DE3D59 /* RCTSafeAreaShadowView.h in Headers */ = {isa = PBXBuildFile; fileRef = AD43644E73BF7CDB17E27C900E79270F /* RCTSafeAreaShadowView.h */; settings = {ATTRIBUTES = (Project, ); }; };
- 4CB7CA5340C7D1276FC38A086FDD377A /* Yoga-internal.h in Headers */ = {isa = PBXBuildFile; fileRef = DC04F5E0AA237BE80FFBB9A36133D656 /* Yoga-internal.h */; settings = {ATTRIBUTES = (Project, ); }; };
- 4CC0ECB3188CBB5C158B86786EC7204F /* RCTComponentData.h in Headers */ = {isa = PBXBuildFile; fileRef = E4592A7E27647CE2AA25F57FFF9ECCD4 /* RCTComponentData.h */; settings = {ATTRIBUTES = (Project, ); }; };
+ 4B35CB70798FDE7E4218999504975CBB /* React-RCTBlob-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = A3638A310077C962AF2E5A04C7155B1A /* React-RCTBlob-dummy.m */; };
+ 4B460590C328B6B30A6B86BA914401A8 /* RCTWrapperViewController.h in Headers */ = {isa = PBXBuildFile; fileRef = 1D691B11B620E2CF79A2B0A9A61A29BE /* RCTWrapperViewController.h */; settings = {ATTRIBUTES = (Project, ); }; };
+ 4B561EE5680D1FF67BF77090CA74D7B3 /* RNFirebaseAdMobInterstitial.m in Sources */ = {isa = PBXBuildFile; fileRef = 2F06D89C7F9FBCBB897430B3AC1DDCD5 /* RNFirebaseAdMobInterstitial.m */; };
+ 4B9CEBB534AF8FCE46F101F523358815 /* BSG_KSObjC.c in Sources */ = {isa = PBXBuildFile; fileRef = 47BA3795198EFC617D63E68704BCD589 /* BSG_KSObjC.c */; };
+ 4B9FD986AB96003A9945844EB3F3D926 /* UMReactLogHandler.m in Sources */ = {isa = PBXBuildFile; fileRef = 9EF69C0C941DAFB869BCA895612B3DE2 /* UMReactLogHandler.m */; };
+ 4BA9046C44DAF98A93FD0D4BE6199C06 /* RCTJSStackFrame.h in Headers */ = {isa = PBXBuildFile; fileRef = 334C9D2332F3FC4EE381937E6EB39124 /* RCTJSStackFrame.h */; settings = {ATTRIBUTES = (Project, ); }; };
+ 4BB92A55CF3DEB86B5EFF576D1999D54 /* RCTBundleURLProvider.m in Sources */ = {isa = PBXBuildFile; fileRef = 45D47468ACA2A88021D2E56B1EC4E998 /* RCTBundleURLProvider.m */; settings = {COMPILER_FLAGS = "-DFOLLY_NO_CONFIG -DFOLLY_MOBILE=1 -DFOLLY_USE_LIBCPP=1 -Wno-comma -Wno-shorten-64-to-32 -Wno-documentation"; }; };
+ 4BFAB677B9ACCC2587BDB74A61918717 /* RNNativeViewHandler.h in Headers */ = {isa = PBXBuildFile; fileRef = 8031F5728BB35640E1CDE1E031BD1B50 /* RNNativeViewHandler.h */; settings = {ATTRIBUTES = (Project, ); }; };
+ 4C060A40F951CF294EA92B0B3D08E0CB /* NSButton+WebCache.m in Sources */ = {isa = PBXBuildFile; fileRef = 81493DC56FA384DF42BD56FF1A3821AB /* NSButton+WebCache.m */; };
+ 4C0EF410B1DF33A1FA7A9B3DEB143D60 /* UIApplication+RSKImageCropper.h in Headers */ = {isa = PBXBuildFile; fileRef = 053D5F7EFA0CF8AD22EB12CF9DFC2D1B /* UIApplication+RSKImageCropper.h */; settings = {ATTRIBUTES = (Project, ); }; };
+ 4C2D9B6E7C57A6937CEC0DC334D9320F /* RCTBlobManager.mm in Sources */ = {isa = PBXBuildFile; fileRef = 76994A626805B94E7894646B36D817F5 /* RCTBlobManager.mm */; };
+ 4C451FA8DB397547DB04630479B4D605 /* YGNodePrint.cpp in Sources */ = {isa = PBXBuildFile; fileRef = DF8A72EF354F852CC500E8278FA81E9C /* YGNodePrint.cpp */; settings = {COMPILER_FLAGS = "-fno-omit-frame-pointer -fexceptions -Wall -Werror -std=c++1y -fPIC -fno-objc-arc"; }; };
+ 4C88312754491019E137EA0FA45E3A0F /* RCTTextShadowView.h in Headers */ = {isa = PBXBuildFile; fileRef = A76F87B7E73EEF2DAA18F8B03CDD3548 /* RCTTextShadowView.h */; settings = {ATTRIBUTES = (Project, ); }; };
+ 4CAEB9BCA2013D736E9B57F5AE42EC69 /* BSG_KSSystemInfo.h in Headers */ = {isa = PBXBuildFile; fileRef = 93AF20F7CEFCDE30FFBF4BB87356CCB9 /* BSG_KSSystemInfo.h */; settings = {ATTRIBUTES = (Project, ); }; };
+ 4CB426042446682BEA36B7E322DE3D59 /* RCTSafeAreaShadowView.h in Headers */ = {isa = PBXBuildFile; fileRef = CBF4313FFE45147BEF9895F685A7ABD2 /* RCTSafeAreaShadowView.h */; settings = {ATTRIBUTES = (Project, ); }; };
+ 4CB7CA5340C7D1276FC38A086FDD377A /* Yoga-internal.h in Headers */ = {isa = PBXBuildFile; fileRef = C466F62DC1751110ED91929A4E358921 /* Yoga-internal.h */; settings = {ATTRIBUTES = (Project, ); }; };
+ 4CC0ECB3188CBB5C158B86786EC7204F /* RCTComponentData.h in Headers */ = {isa = PBXBuildFile; fileRef = AD367543E7304D764F2E00666A7FD746 /* RCTComponentData.h */; settings = {ATTRIBUTES = (Project, ); }; };
4CD69ED3DFC0C9AE77A59B70AF7FE036 /* pb_encode.c in Sources */ = {isa = PBXBuildFile; fileRef = E9B9E8230771754E26C121056661009C /* pb_encode.c */; settings = {COMPILER_FLAGS = "-fno-objc-arc -fno-objc-arc"; }; };
4CE4CA9C98A9A166CDB53B285910E4EC /* cached-powers.h in Headers */ = {isa = PBXBuildFile; fileRef = C2A4754FD1DABB6CF7B4299C70262786 /* cached-powers.h */; settings = {ATTRIBUTES = (Project, ); }; };
4CF92FEC7E0E43011AEB755E85944BB3 /* buffer_dec.c in Sources */ = {isa = PBXBuildFile; fileRef = 06A9CD53A96164AE6AB948668C78CBB9 /* buffer_dec.c */; settings = {COMPILER_FLAGS = "-D_THREAD_SAFE -fno-objc-arc"; }; };
4DF83A76C578938051AFFAC51A0E1471 /* pb_common.c in Sources */ = {isa = PBXBuildFile; fileRef = 5CD04E49AB5364DFD2C5C99CC343E78C /* pb_common.c */; settings = {COMPILER_FLAGS = "-fno-objc-arc -fno-objc-arc -fno-objc-arc"; }; };
- 4E08A0E3AB947F6D5216D6498443A772 /* NativeExpressComponent.h in Headers */ = {isa = PBXBuildFile; fileRef = 2BDF425122DF67CF4067819AADF60003 /* NativeExpressComponent.h */; settings = {ATTRIBUTES = (Project, ); }; };
- 4E13EC5CD0F3010E777D440256FC5B8D /* React-RCTSettings-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 20C0FD4E86118330664E3D33BBE692B3 /* React-RCTSettings-dummy.m */; };
- 4E31BC6EBDBB96A39C9C5C5F3FA8DB3D /* SDWebImageDownloaderRequestModifier.h in Headers */ = {isa = PBXBuildFile; fileRef = D6931EA66871913CF4BC95BB2284A2CF /* SDWebImageDownloaderRequestModifier.h */; settings = {ATTRIBUTES = (Project, ); }; };
- 4E4F9FC2B603C0849A83534455041C46 /* JSIDynamic.h in Headers */ = {isa = PBXBuildFile; fileRef = 090BF40DB8D1DD0EDCE7FECD8835C739 /* JSIDynamic.h */; settings = {ATTRIBUTES = (Project, ); }; };
- 4E79F0FE6DBB619C0C186C9A8ADCD41D /* RCTConvert+Text.m in Sources */ = {isa = PBXBuildFile; fileRef = 761781EDB02A6B31C406CE6511D51C58 /* RCTConvert+Text.m */; };
- 4E9DEEF8BF095A6578B97D59BBECE8C8 /* RNSScreenContainer.m in Sources */ = {isa = PBXBuildFile; fileRef = 20971971642D9D7B3999BC439BB98FE0 /* RNSScreenContainer.m */; };
- 4EB2647C1F0784677AFFAE3DDF9DB8DB /* BSG_KSMachApple.h in Headers */ = {isa = PBXBuildFile; fileRef = A04553CFAD4EA0C07A5CD6476640C1BB /* BSG_KSMachApple.h */; settings = {ATTRIBUTES = (Project, ); }; };
- 4ED4C9501B7CCB866DCC6FAA7A7C6764 /* RCTActivityIndicatorViewManager.h in Headers */ = {isa = PBXBuildFile; fileRef = 938CE97638E1F0EC48BF18E6401519CC /* RCTActivityIndicatorViewManager.h */; settings = {ATTRIBUTES = (Project, ); }; };
+ 4E13EC5CD0F3010E777D440256FC5B8D /* React-RCTSettings-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 5E4B89F2C1EBDF5553E50F76A5146362 /* React-RCTSettings-dummy.m */; };
+ 4E4F9FC2B603C0849A83534455041C46 /* JSIDynamic.h in Headers */ = {isa = PBXBuildFile; fileRef = 0586050107338E30AB90986AC6AC967B /* JSIDynamic.h */; settings = {ATTRIBUTES = (Project, ); }; };
+ 4E5719A60A667B9093A66E8180F6F97E /* RNGestureHandlerRegistry.m in Sources */ = {isa = PBXBuildFile; fileRef = A7B288CA2586DD2754D5C3466AE276C0 /* RNGestureHandlerRegistry.m */; };
+ 4E6EA7B171CD38CE940B2D698B876C8F /* DeviceUID.m in Sources */ = {isa = PBXBuildFile; fileRef = B8E3D68C3244F62C054A8D5275020C4D /* DeviceUID.m */; };
+ 4E79F0FE6DBB619C0C186C9A8ADCD41D /* RCTConvert+Text.m in Sources */ = {isa = PBXBuildFile; fileRef = A51E937B86BB8A0F635245FF42365FBE /* RCTConvert+Text.m */; };
+ 4E7CD8CDFCEF908C765B4ACA7FDA0976 /* UIColor+HexString.m in Sources */ = {isa = PBXBuildFile; fileRef = 1790AD0B2963EB8D13EA46C917A4E131 /* UIColor+HexString.m */; };
+ 4EB2647C1F0784677AFFAE3DDF9DB8DB /* BSG_KSMachApple.h in Headers */ = {isa = PBXBuildFile; fileRef = DF9777A8A1164C911BE605C3AB0D7234 /* BSG_KSMachApple.h */; settings = {ATTRIBUTES = (Project, ); }; };
+ 4ED4C9501B7CCB866DCC6FAA7A7C6764 /* RCTActivityIndicatorViewManager.h in Headers */ = {isa = PBXBuildFile; fileRef = 23DA1C0238DFBCA6A7B51A12FA47E221 /* RCTActivityIndicatorViewManager.h */; settings = {ATTRIBUTES = (Project, ); }; };
4F1B88A1C4970DF955ECD048D7CEA807 /* frame_dec.c in Sources */ = {isa = PBXBuildFile; fileRef = E6CA8467C6F292DC9C4B325FB910DF52 /* frame_dec.c */; settings = {COMPILER_FLAGS = "-D_THREAD_SAFE -fno-objc-arc"; }; };
- 4F4BC7F90AC0704955EE23E1E1C056B0 /* RCTConvert.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B65A4650127FFFA4206864FBEC46967 /* RCTConvert.h */; settings = {ATTRIBUTES = (Project, ); }; };
- 4F59A408A38A3E64DCCF9718D2E62832 /* UIView+React.h in Headers */ = {isa = PBXBuildFile; fileRef = EC759EC0DC11F504A412CB5D3576D115 /* UIView+React.h */; settings = {ATTRIBUTES = (Project, ); }; };
- 4F69D95D4B0383F3474DC0E42AC39DF9 /* RCTSinglelineTextInputViewManager.m in Sources */ = {isa = PBXBuildFile; fileRef = AA7EE20BBDB20B30BF27D84C340CFB0C /* RCTSinglelineTextInputViewManager.m */; };
- 4F7F9B7799D436C8EA246CE7C6824847 /* RNGestureHandlerManager.m in Sources */ = {isa = PBXBuildFile; fileRef = 6C2CC0E2B0F63EF52C312C2894BAB701 /* RNGestureHandlerManager.m */; };
- 4F9642C10F03BA006A8426180192E2DB /* RCTConvert+Transform.h in Headers */ = {isa = PBXBuildFile; fileRef = 71E988130C29D3F539FBC2A5F8261A0A /* RCTConvert+Transform.h */; settings = {ATTRIBUTES = (Project, ); }; };
- 4FD0A824799BDA362E34E908F8388E54 /* RSKImageScrollView.h in Headers */ = {isa = PBXBuildFile; fileRef = 5E90D60AD004DEF77D4982EB6147B952 /* RSKImageScrollView.h */; settings = {ATTRIBUTES = (Project, ); }; };
- 4FDED82C197F799296A76563482672F0 /* RCTBlobCollector.h in Headers */ = {isa = PBXBuildFile; fileRef = 0FF4BAD8E58733CB989E164AB47DF05B /* RCTBlobCollector.h */; settings = {ATTRIBUTES = (Project, ); }; };
+ 4F30F25E060CF3F8B63014D21CC29F39 /* RNFirebaseRemoteConfig.h in Headers */ = {isa = PBXBuildFile; fileRef = 33B72B4A005FDD627239E5C6001C2401 /* RNFirebaseRemoteConfig.h */; settings = {ATTRIBUTES = (Project, ); }; };
+ 4F4BC7F90AC0704955EE23E1E1C056B0 /* RCTConvert.h in Headers */ = {isa = PBXBuildFile; fileRef = 77C1B00F1356422030B58ECD8F24EC96 /* RCTConvert.h */; settings = {ATTRIBUTES = (Project, ); }; };
+ 4F59A408A38A3E64DCCF9718D2E62832 /* UIView+React.h in Headers */ = {isa = PBXBuildFile; fileRef = 8C94625A7BBD487E28D608D34DBD80CC /* UIView+React.h */; settings = {ATTRIBUTES = (Project, ); }; };
+ 4F67C74C69194DF0D248D4FAB4F3B9CA /* UIImage+Transform.m in Sources */ = {isa = PBXBuildFile; fileRef = A2752C0DDD04CC4BB05AF85E8E809B8A /* UIImage+Transform.m */; };
+ 4F69D95D4B0383F3474DC0E42AC39DF9 /* RCTSinglelineTextInputViewManager.m in Sources */ = {isa = PBXBuildFile; fileRef = 8B5D6477BA7042E1F5D73CD0C5005BDF /* RCTSinglelineTextInputViewManager.m */; };
+ 4F9642C10F03BA006A8426180192E2DB /* RCTConvert+Transform.h in Headers */ = {isa = PBXBuildFile; fileRef = CFAD6BBAFB97D1F48537F021F7512324 /* RCTConvert+Transform.h */; settings = {ATTRIBUTES = (Project, ); }; };
+ 4F965719DA877B98FE24D76CF4EFF95C /* RCTCustomKeyboardViewController.h in Headers */ = {isa = PBXBuildFile; fileRef = 544362C8BEF517578061C4D6B8C1A4DD /* RCTCustomKeyboardViewController.h */; settings = {ATTRIBUTES = (Project, ); }; };
+ 4FA1B9CBD01317DA76BE4A960906EA5F /* RNSScreenContainer.h in Headers */ = {isa = PBXBuildFile; fileRef = B5F8B44738636ADD3762CF23648890B7 /* RNSScreenContainer.h */; settings = {ATTRIBUTES = (Project, ); }; };
+ 4FC08F5C24031A9F707AF59860B9A40A /* RNFirebaseUtil.h in Headers */ = {isa = PBXBuildFile; fileRef = 83E6B4904A92DF336C6E7C58527E2AB6 /* RNFirebaseUtil.h */; settings = {ATTRIBUTES = (Project, ); }; };
+ 4FDED82C197F799296A76563482672F0 /* RCTBlobCollector.h in Headers */ = {isa = PBXBuildFile; fileRef = 179165B1B136988D6E84CD127B0782A6 /* RCTBlobCollector.h */; settings = {ATTRIBUTES = (Project, ); }; };
500804B8D0C300FD006549C8D5A8564D /* GULLoggerLevel.h in Headers */ = {isa = PBXBuildFile; fileRef = E33A25F59DF2C2AB1DC5332A73F0B99D /* GULLoggerLevel.h */; settings = {ATTRIBUTES = (Project, ); }; };
- 500C7A40E8D2210325C598108B541CAA /* YGValue.h in Headers */ = {isa = PBXBuildFile; fileRef = 90F0D55B3DD2D5A52C5F9AC11601E17D /* YGValue.h */; settings = {ATTRIBUTES = (Project, ); }; };
- 5016B5A3E54813E264E66106E7028405 /* RCTImageBlurUtils.h in Headers */ = {isa = PBXBuildFile; fileRef = 91C3B16D96EC6068905246128F30F394 /* RCTImageBlurUtils.h */; settings = {ATTRIBUTES = (Project, ); }; };
+ 500C7A40E8D2210325C598108B541CAA /* YGValue.h in Headers */ = {isa = PBXBuildFile; fileRef = DCF50E50ED8878EE74B69A8AA8D96E0A /* YGValue.h */; settings = {ATTRIBUTES = (Project, ); }; };
+ 5016B5A3E54813E264E66106E7028405 /* RCTImageBlurUtils.h in Headers */ = {isa = PBXBuildFile; fileRef = 6D59EE4C5A96DE654D620618E2B9A524 /* RCTImageBlurUtils.h */; settings = {ATTRIBUTES = (Project, ); }; };
+ 50240482967DEF8262722BA25846820E /* QBVideoIconView.m in Sources */ = {isa = PBXBuildFile; fileRef = C384E7024BF71299AF3C7E34762A397D /* QBVideoIconView.m */; };
50509695351A25E3573F2FD7AC34F31A /* FIRInstanceIDTokenManager.h in Headers */ = {isa = PBXBuildFile; fileRef = 357DEF9BBF43A78EDA32F3285EA04088 /* FIRInstanceIDTokenManager.h */; settings = {ATTRIBUTES = (Project, ); }; };
50712D08A2E12FE123AB8A8B6BAB74E4 /* GULAppDelegateSwizzler.h in Headers */ = {isa = PBXBuildFile; fileRef = 33E2EF038AE38029CE0B796EE48F2110 /* GULAppDelegateSwizzler.h */; settings = {ATTRIBUTES = (Project, ); }; };
- 50747AE223523E4B74103CEE02C246A6 /* BSG_KSCrashSentry_Signal.h in Headers */ = {isa = PBXBuildFile; fileRef = 7FC1356BC63286EC953C63D08AAA4FF2 /* BSG_KSCrashSentry_Signal.h */; settings = {ATTRIBUTES = (Project, ); }; };
+ 50747AE223523E4B74103CEE02C246A6 /* BSG_KSCrashSentry_Signal.h in Headers */ = {isa = PBXBuildFile; fileRef = DFFC9588F9FD8A6CFDA11A0A6726FC42 /* BSG_KSCrashSentry_Signal.h */; settings = {ATTRIBUTES = (Project, ); }; };
50A8500333976280906EE774EB7F7DC2 /* webpi_dec.h in Headers */ = {isa = PBXBuildFile; fileRef = 526808FCB647A1310B018F7D644F1B1B /* webpi_dec.h */; settings = {ATTRIBUTES = (Project, ); }; };
+ 50B2E8F7675FC24AD161446DED2B820F /* SDWebImageDownloader.m in Sources */ = {isa = PBXBuildFile; fileRef = F34C5DA93FFCFBD53ED5BA4E500C577B /* SDWebImageDownloader.m */; };
50D552ED4A967F6755D64C875BC3CBB9 /* common_dec.h in Headers */ = {isa = PBXBuildFile; fileRef = 17A076F2EA576869041C316952288D78 /* common_dec.h */; settings = {ATTRIBUTES = (Project, ); }; };
50DA1E0908FA789DAFF1E7AD685BDCD9 /* FIRComponentContainer.h in Headers */ = {isa = PBXBuildFile; fileRef = D590E40941F1333F0D46B505D9D3381F /* FIRComponentContainer.h */; settings = {ATTRIBUTES = (Project, ); }; };
513E985ABDDDF0D1E6521BE3FA2C248D /* filters.c in Sources */ = {isa = PBXBuildFile; fileRef = AB877D31EAC68FD16AADF8D4B983CCAD /* filters.c */; settings = {COMPILER_FLAGS = "-D_THREAD_SAFE -fno-objc-arc"; }; };
- 5173DEBA77CC026CE761ADB7052C0096 /* UMLogHandler.h in Headers */ = {isa = PBXBuildFile; fileRef = CD6CB3AAFD1B32DC55737898A6C9330A /* UMLogHandler.h */; settings = {ATTRIBUTES = (Project, ); }; };
- 51ABBA7C37F210A1360B97D08541F2AE /* RCTObjcExecutor.h in Headers */ = {isa = PBXBuildFile; fileRef = 952DC267B091C8A8E3C53DB6DBA143E3 /* RCTObjcExecutor.h */; settings = {ATTRIBUTES = (Project, ); }; };
- 51C1CBFFB28782302745E6A188E7C684 /* RNGestureHandlerButton.m in Sources */ = {isa = PBXBuildFile; fileRef = 5191E92204125B3409A8C67E2110D46F /* RNGestureHandlerButton.m */; };
- 51C79C88820B5197AB3CDB9376396195 /* EXCalendarRequester.m in Sources */ = {isa = PBXBuildFile; fileRef = 71B73175EC4ACAEE526CAE2FE3500D81 /* EXCalendarRequester.m */; };
- 521A0FA28A5E133428CB29D800016663 /* RCTAsyncLocalStorage.h in Headers */ = {isa = PBXBuildFile; fileRef = AE0113192FEA4C0CB37D4FE12D0A5DE8 /* RCTAsyncLocalStorage.h */; settings = {ATTRIBUTES = (Project, ); }; };
- 52291B2006A6108E01660708BBC9101B /* RNFirebaseAdMobNativeExpressManager.h in Headers */ = {isa = PBXBuildFile; fileRef = AC817A95C7F555695727315BA82196DF /* RNFirebaseAdMobNativeExpressManager.h */; settings = {ATTRIBUTES = (Project, ); }; };
- 5251E839853EA8851DEF6A51A9D3DEA9 /* BSG_KSString.c in Sources */ = {isa = PBXBuildFile; fileRef = 59D8A9865907E0EF01C468402BC209E7 /* BSG_KSString.c */; };
- 5253B09625ED13E7953D0313F7744BC6 /* RCTSurfaceHostingView.mm in Sources */ = {isa = PBXBuildFile; fileRef = 26E26F75BEF7026874C40C7A5CE2AA3F /* RCTSurfaceHostingView.mm */; settings = {COMPILER_FLAGS = "-DFOLLY_NO_CONFIG -DFOLLY_MOBILE=1 -DFOLLY_USE_LIBCPP=1 -Wno-comma -Wno-shorten-64-to-32 -Wno-documentation"; }; };
- 5287020DA6C0392459F32CCFEF19F8B8 /* RCTLayout.h in Headers */ = {isa = PBXBuildFile; fileRef = 533CC5E4DAF47B5D552223A12E5F4E68 /* RCTLayout.h */; settings = {ATTRIBUTES = (Project, ); }; };
- 52A223EA52A760F3B67620F5F32B5DA7 /* RCTRawTextViewManager.h in Headers */ = {isa = PBXBuildFile; fileRef = B6EAA14D29711C0356C011EA70C6D740 /* RCTRawTextViewManager.h */; settings = {ATTRIBUTES = (Project, ); }; };
- 52AF937C0A9D2203015BB07FFC4DF8FB /* UMReactFontManager.h in Headers */ = {isa = PBXBuildFile; fileRef = 3F7DF27DDC992952D73EEB692744528B /* UMReactFontManager.h */; settings = {ATTRIBUTES = (Project, ); }; };
- 52B4040AD6BB5666F928CED95C3E7331 /* RNFirebasePerformance.h in Headers */ = {isa = PBXBuildFile; fileRef = D7FC9DEDDEB41EEADBB0951B0AC17E07 /* RNFirebasePerformance.h */; settings = {ATTRIBUTES = (Project, ); }; };
- 52DD1D1C18AD1306859A2E8B220EAF0A /* RCTValueAnimatedNode.m in Sources */ = {isa = PBXBuildFile; fileRef = CC8FDF7FC1124589C1D408CD932F5B9F /* RCTValueAnimatedNode.m */; };
- 52E2FBE5FE8BD8C78FEC894A4CA8E10A /* RCTRootView.h in Headers */ = {isa = PBXBuildFile; fileRef = 04226826B4A07B6880AA6BA62C5D5391 /* RCTRootView.h */; settings = {ATTRIBUTES = (Project, ); }; };
- 52F5D9DA69014AE8622BBD7CE1959129 /* UIImageView+WebCache.h in Headers */ = {isa = PBXBuildFile; fileRef = 74224D38F9256376A885B98001D4ED12 /* UIImageView+WebCache.h */; settings = {ATTRIBUTES = (Project, ); }; };
- 533244F5D764CAC87E1EE11E70D75E27 /* RCTTextDecorationLineType.h in Headers */ = {isa = PBXBuildFile; fileRef = 0A462E49A34EED30E6BFCB5282F1B9ED /* RCTTextDecorationLineType.h */; settings = {ATTRIBUTES = (Project, ); }; };
- 5351E09175642E351430005A52D532D8 /* MethodCall.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 6B47025A08499A2A426135A07AC76A91 /* MethodCall.cpp */; settings = {COMPILER_FLAGS = "-DFOLLY_NO_CONFIG -DFOLLY_MOBILE=1 -DFOLLY_USE_LIBCPP=1 -Wno-comma -Wno-shorten-64-to-32 -Wno-documentation"; }; };
- 5405424AACA46A4BD2DEFA3249D84ADB /* NSError+BSG_SimpleConstructor.m in Sources */ = {isa = PBXBuildFile; fileRef = 258F002224AA4C065A58C502F9DE8149 /* NSError+BSG_SimpleConstructor.m */; };
- 542ECA65448C8242F423C521A3E9E996 /* SDMemoryCache.h in Headers */ = {isa = PBXBuildFile; fileRef = F04D6C471FB8F5B1783CA3688A4407B9 /* SDMemoryCache.h */; settings = {ATTRIBUTES = (Project, ); }; };
- 544AD0B489D998A8E9D6DAB2FF5AB4F4 /* RNFirebaseFunctions.h in Headers */ = {isa = PBXBuildFile; fileRef = DC81720571414065D4E942A59E663D6D /* RNFirebaseFunctions.h */; settings = {ATTRIBUTES = (Project, ); }; };
- 54EF709C3A5FECC59A2006C227691D18 /* SDImageAssetManager.m in Sources */ = {isa = PBXBuildFile; fileRef = D10C2E2698F24359135FF0807450D0B8 /* SDImageAssetManager.m */; };
- 555EBA395DECE5259F5B98B67C37A9E3 /* RCTAssert.m in Sources */ = {isa = PBXBuildFile; fileRef = 588C2768F934ECD1B23C26A589840AB6 /* RCTAssert.m */; settings = {COMPILER_FLAGS = "-DFOLLY_NO_CONFIG -DFOLLY_MOBILE=1 -DFOLLY_USE_LIBCPP=1 -Wno-comma -Wno-shorten-64-to-32 -Wno-documentation"; }; };
- 5567333487C2DE23250FD19CFC0E6C6D /* SDImageCoder.h in Headers */ = {isa = PBXBuildFile; fileRef = 897DEDC6281BB1F35E1172DEC9BA23F9 /* SDImageCoder.h */; settings = {ATTRIBUTES = (Project, ); }; };
- 557B4C39B543B7F7861F85882312781C /* RCTNativeAnimatedModule.h in Headers */ = {isa = PBXBuildFile; fileRef = 7FBC66B1FB8151499FE0AC181AA8051B /* RCTNativeAnimatedModule.h */; settings = {ATTRIBUTES = (Project, ); }; };
- 55D1C645446DEEEDC52B158C1AF223CF /* log.cpp in Sources */ = {isa = PBXBuildFile; fileRef = C830AB6A8369285B7B89179CBB812D97 /* log.cpp */; settings = {COMPILER_FLAGS = "-fno-omit-frame-pointer -fexceptions -Wall -Werror -std=c++1y -fPIC -fno-objc-arc"; }; };
- 55EA754B0FC062C11493E397E70F217A /* decorator.h in Headers */ = {isa = PBXBuildFile; fileRef = 87146024B3671FFF9EDF1EF08AE58888 /* decorator.h */; settings = {ATTRIBUTES = (Project, ); }; };
- 5685F22BE36C28B1B4A6D339C9327281 /* RCTMacros.h in Headers */ = {isa = PBXBuildFile; fileRef = 87370B92920B0E2782C935B52D725E3F /* RCTMacros.h */; settings = {ATTRIBUTES = (Project, ); }; };
- 56B774EC22E8C5A5A1679509FC3BEB5A /* RCTRootViewDelegate.h in Headers */ = {isa = PBXBuildFile; fileRef = CAC0F5401CD44134DF127FBF55E99588 /* RCTRootViewDelegate.h */; settings = {ATTRIBUTES = (Project, ); }; };
- 56BAED58D5F29251D6CCC0568BED7A44 /* RCTBaseTextInputViewManager.h in Headers */ = {isa = PBXBuildFile; fileRef = 6D844407D3C65CABF1135E077F35ADD7 /* RCTBaseTextInputViewManager.h */; settings = {ATTRIBUTES = (Project, ); }; };
- 56C991C93F7E3E1294328F67692371EB /* RCTBridgeModule.h in Headers */ = {isa = PBXBuildFile; fileRef = D9E59F9A8784C5CB470F1335A8F685E4 /* RCTBridgeModule.h */; settings = {ATTRIBUTES = (Project, ); }; };
- 5744F077EE6E9275E2B9FBAB0D2952FB /* RCTMaskedViewManager.m in Sources */ = {isa = PBXBuildFile; fileRef = 9F43E571D7BD6524BFC068BE45489321 /* RCTMaskedViewManager.m */; settings = {COMPILER_FLAGS = "-DFOLLY_NO_CONFIG -DFOLLY_MOBILE=1 -DFOLLY_USE_LIBCPP=1 -Wno-comma -Wno-shorten-64-to-32 -Wno-documentation"; }; };
- 57CC1447DDC7583F15F59F461A8C3EE6 /* RNFastImage-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 8714F20E111835566A677936895C552D /* RNFastImage-dummy.m */; };
- 57E413DA37BC4184A9D4789E4AB9F6CD /* RNFirebaseCrashlytics.m in Sources */ = {isa = PBXBuildFile; fileRef = 78B3FB0D8ACE26866A0B72CB56F81D90 /* RNFirebaseCrashlytics.m */; };
- 580A43103D879C13C7002A1D0A6E3936 /* RCTResizeMode.m in Sources */ = {isa = PBXBuildFile; fileRef = 5E979A217FEEFD64BF03E5B0F772F2DD /* RCTResizeMode.m */; };
- 58445CDF8FEE632713D2379E90D38B45 /* RCTShadowView+Layout.m in Sources */ = {isa = PBXBuildFile; fileRef = E384E92F6570469E33464CD283CA928E /* RCTShadowView+Layout.m */; settings = {COMPILER_FLAGS = "-DFOLLY_NO_CONFIG -DFOLLY_MOBILE=1 -DFOLLY_USE_LIBCPP=1 -Wno-comma -Wno-shorten-64-to-32 -Wno-documentation"; }; };
- 5862DC68F98A9EC8AEF474067D6C39B8 /* RCTRawTextShadowView.m in Sources */ = {isa = PBXBuildFile; fileRef = 4D0A36FB29DB44687FDFDF5393A0C7FF /* RCTRawTextShadowView.m */; };
- 588FA1CDE93966C7F37AC739AE93E8A1 /* SDWebImageDownloaderConfig.h in Headers */ = {isa = PBXBuildFile; fileRef = C934A9A198127726AD7F6FCA16647488 /* SDWebImageDownloaderConfig.h */; settings = {ATTRIBUTES = (Project, ); }; };
- 58A8AC50A90715CCC2C8ECB1FC1DDAC3 /* RCTUIManagerObserverCoordinator.mm in Sources */ = {isa = PBXBuildFile; fileRef = 0A7438B21633DD8F148ADF11835A628E /* RCTUIManagerObserverCoordinator.mm */; settings = {COMPILER_FLAGS = "-DFOLLY_NO_CONFIG -DFOLLY_MOBILE=1 -DFOLLY_USE_LIBCPP=1 -Wno-comma -Wno-shorten-64-to-32 -Wno-documentation"; }; };
+ 5173DEBA77CC026CE761ADB7052C0096 /* UMLogHandler.h in Headers */ = {isa = PBXBuildFile; fileRef = AD8C7A7F5B80939CEBADC491B15CE731 /* UMLogHandler.h */; settings = {ATTRIBUTES = (Project, ); }; };
+ 51ABBA7C37F210A1360B97D08541F2AE /* RCTObjcExecutor.h in Headers */ = {isa = PBXBuildFile; fileRef = 76D4370F6AEE08236D9309AEA8D57442 /* RCTObjcExecutor.h */; settings = {ATTRIBUTES = (Project, ); }; };
+ 51C79C88820B5197AB3CDB9376396195 /* EXCalendarRequester.m in Sources */ = {isa = PBXBuildFile; fileRef = 8EFBF8AB97A52C048143A70E6A5709D4 /* EXCalendarRequester.m */; };
+ 51D68B7AADC19B42065983BEBDD3F652 /* SDWebImageCompat.h in Headers */ = {isa = PBXBuildFile; fileRef = 02A5BFA8A2E2A877ACAF148B33831970 /* SDWebImageCompat.h */; settings = {ATTRIBUTES = (Project, ); }; };
+ 51F5839766AA9CC0138D26FBDE7F682C /* SDImageAPNGCoder.h in Headers */ = {isa = PBXBuildFile; fileRef = 8C3E3AC75267352F336884AA81DEB77A /* SDImageAPNGCoder.h */; settings = {ATTRIBUTES = (Project, ); }; };
+ 51F85D60F93FAE078416374BB988BF14 /* UIView+WebCache.m in Sources */ = {isa = PBXBuildFile; fileRef = B2D1FB8BFA588B7D0ED981EC21AA2E9B /* UIView+WebCache.m */; };
+ 521A0FA28A5E133428CB29D800016663 /* RCTAsyncLocalStorage.h in Headers */ = {isa = PBXBuildFile; fileRef = 7CCBCBCB7652BE561DF10CB3EF7EF445 /* RCTAsyncLocalStorage.h */; settings = {ATTRIBUTES = (Project, ); }; };
+ 5251E839853EA8851DEF6A51A9D3DEA9 /* BSG_KSString.c in Sources */ = {isa = PBXBuildFile; fileRef = AD76F4C6CD814D381D2A645E004ADC43 /* BSG_KSString.c */; };
+ 5253B09625ED13E7953D0313F7744BC6 /* RCTSurfaceHostingView.mm in Sources */ = {isa = PBXBuildFile; fileRef = A94A90CFB2E135C45CF203AE5CC80ED0 /* RCTSurfaceHostingView.mm */; settings = {COMPILER_FLAGS = "-DFOLLY_NO_CONFIG -DFOLLY_MOBILE=1 -DFOLLY_USE_LIBCPP=1 -Wno-comma -Wno-shorten-64-to-32 -Wno-documentation"; }; };
+ 5287020DA6C0392459F32CCFEF19F8B8 /* RCTLayout.h in Headers */ = {isa = PBXBuildFile; fileRef = 67BE3C5073FC5B80C6ECB25906DAEF2B /* RCTLayout.h */; settings = {ATTRIBUTES = (Project, ); }; };
+ 52A223EA52A760F3B67620F5F32B5DA7 /* RCTRawTextViewManager.h in Headers */ = {isa = PBXBuildFile; fileRef = BC5746FB73A7A563BC84A2BDB8AC0972 /* RCTRawTextViewManager.h */; settings = {ATTRIBUTES = (Project, ); }; };
+ 52AA289C584AA6A65D54B3411CF9F876 /* UIImage+MemoryCacheCost.h in Headers */ = {isa = PBXBuildFile; fileRef = 2A7D6E5E94895A671353FF93B75AC295 /* UIImage+MemoryCacheCost.h */; settings = {ATTRIBUTES = (Project, ); }; };
+ 52DD1D1C18AD1306859A2E8B220EAF0A /* RCTValueAnimatedNode.m in Sources */ = {isa = PBXBuildFile; fileRef = 41F8DAA5500C46D4875408CD0071773B /* RCTValueAnimatedNode.m */; };
+ 52E2FBE5FE8BD8C78FEC894A4CA8E10A /* RCTRootView.h in Headers */ = {isa = PBXBuildFile; fileRef = 2D799B2752B31BE1FF69BB97556946B3 /* RCTRootView.h */; settings = {ATTRIBUTES = (Project, ); }; };
+ 533244F5D764CAC87E1EE11E70D75E27 /* RCTTextDecorationLineType.h in Headers */ = {isa = PBXBuildFile; fileRef = 88227C120400A917E2F4CCDCEEA29505 /* RCTTextDecorationLineType.h */; settings = {ATTRIBUTES = (Project, ); }; };
+ 5351E09175642E351430005A52D532D8 /* MethodCall.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F937D14A8B50007D91CB1417438BAD33 /* MethodCall.cpp */; settings = {COMPILER_FLAGS = "-DFOLLY_NO_CONFIG -DFOLLY_MOBILE=1 -DFOLLY_USE_LIBCPP=1 -Wno-comma -Wno-shorten-64-to-32 -Wno-documentation"; }; };
+ 53A400504BADBF1DF9673EED31C0EB1E /* RNNotifications.h in Headers */ = {isa = PBXBuildFile; fileRef = 88F6EE5069205209B0BC90A1D5C6FBC1 /* RNNotifications.h */; settings = {ATTRIBUTES = (Project, ); }; };
+ 53A6E09616DB2395FE8AF94098138384 /* RNFirebaseAuth.h in Headers */ = {isa = PBXBuildFile; fileRef = 68355E6B97DB3648A020509E74C55E55 /* RNFirebaseAuth.h */; settings = {ATTRIBUTES = (Project, ); }; };
+ 53A72BAB758E6BB86BA86DCEB8EB8E8C /* SDWebImageDownloader.h in Headers */ = {isa = PBXBuildFile; fileRef = 043E74812E7C829DDB701DEBDA93199F /* SDWebImageDownloader.h */; settings = {ATTRIBUTES = (Project, ); }; };
+ 5405424AACA46A4BD2DEFA3249D84ADB /* NSError+BSG_SimpleConstructor.m in Sources */ = {isa = PBXBuildFile; fileRef = FE59A266A6D79796E40876BFBD97F478 /* NSError+BSG_SimpleConstructor.m */; };
+ 543987565ED98E4A6BEF0DF80977D6FA /* RNSplashScreen.h in Headers */ = {isa = PBXBuildFile; fileRef = 72793BA8C130EF67ACD796F458928111 /* RNSplashScreen.h */; settings = {ATTRIBUTES = (Project, ); }; };
+ 555EBA395DECE5259F5B98B67C37A9E3 /* RCTAssert.m in Sources */ = {isa = PBXBuildFile; fileRef = A92097CF56600A8822B08328B9A39ED7 /* RCTAssert.m */; settings = {COMPILER_FLAGS = "-DFOLLY_NO_CONFIG -DFOLLY_MOBILE=1 -DFOLLY_USE_LIBCPP=1 -Wno-comma -Wno-shorten-64-to-32 -Wno-documentation"; }; };
+ 557B4C39B543B7F7861F85882312781C /* RCTNativeAnimatedModule.h in Headers */ = {isa = PBXBuildFile; fileRef = 951E48583D2E629C8A0496D6F68BF9A0 /* RCTNativeAnimatedModule.h */; settings = {ATTRIBUTES = (Project, ); }; };
+ 55D1C645446DEEEDC52B158C1AF223CF /* log.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A9A953828C0602E4AFC372ADE745C7A7 /* log.cpp */; settings = {COMPILER_FLAGS = "-fno-omit-frame-pointer -fexceptions -Wall -Werror -std=c++1y -fPIC -fno-objc-arc"; }; };
+ 55EA754B0FC062C11493E397E70F217A /* decorator.h in Headers */ = {isa = PBXBuildFile; fileRef = C677C3C579FB20FBB61589FDAF4F07C6 /* decorator.h */; settings = {ATTRIBUTES = (Project, ); }; };
+ 55F366CE4618BDB400C6688BFADB9D18 /* RNNotificationUtils.h in Headers */ = {isa = PBXBuildFile; fileRef = F9827E9EECB78EF1B00B82097236CA05 /* RNNotificationUtils.h */; settings = {ATTRIBUTES = (Project, ); }; };
+ 567171DCAC22BEB7BC1CE8F449359BD4 /* Color+Interpolation.m in Sources */ = {isa = PBXBuildFile; fileRef = 266B246511B5156CA75DC4DFBFF89208 /* Color+Interpolation.m */; };
+ 5685F22BE36C28B1B4A6D339C9327281 /* RCTMacros.h in Headers */ = {isa = PBXBuildFile; fileRef = 363AFAB2B3F9D7280DE18816AF7C0168 /* RCTMacros.h */; settings = {ATTRIBUTES = (Project, ); }; };
+ 56AD8A3DECD6E6C0920C74264884DFE0 /* UIView+WebCacheOperation.h in Headers */ = {isa = PBXBuildFile; fileRef = B5E39DE2C8FF2CB9EF002F8A7DA293D9 /* UIView+WebCacheOperation.h */; settings = {ATTRIBUTES = (Project, ); }; };
+ 56B774EC22E8C5A5A1679509FC3BEB5A /* RCTRootViewDelegate.h in Headers */ = {isa = PBXBuildFile; fileRef = F4E5ACD7252FC82D7BE20471CB07903C /* RCTRootViewDelegate.h */; settings = {ATTRIBUTES = (Project, ); }; };
+ 56BAED58D5F29251D6CCC0568BED7A44 /* RCTBaseTextInputViewManager.h in Headers */ = {isa = PBXBuildFile; fileRef = EC8557EA35BA364729FBC2318929E161 /* RCTBaseTextInputViewManager.h */; settings = {ATTRIBUTES = (Project, ); }; };
+ 56C4C91ED3E14E45B644666069F7AF9D /* RNCWKWebView.h in Headers */ = {isa = PBXBuildFile; fileRef = 2A90D9F1A1B36109BAC0D7E2EBF9E9D4 /* RNCWKWebView.h */; settings = {ATTRIBUTES = (Project, ); }; };
+ 56C991C93F7E3E1294328F67692371EB /* RCTBridgeModule.h in Headers */ = {isa = PBXBuildFile; fileRef = 7F3318E571521CF389F3491B39CE5C5A /* RCTBridgeModule.h */; settings = {ATTRIBUTES = (Project, ); }; };
+ 56FF223A51DE1A461597FC567FEDE01E /* SDWebImageCacheSerializer.m in Sources */ = {isa = PBXBuildFile; fileRef = D20E1682D7D3604A18EE3223D623EF65 /* SDWebImageCacheSerializer.m */; };
+ 5718A8846379980F976B7A0F91FB13E2 /* RNFirebaseInstanceId.h in Headers */ = {isa = PBXBuildFile; fileRef = FE2520CF9F92127418BCE1D8CA2C9045 /* RNFirebaseInstanceId.h */; settings = {ATTRIBUTES = (Project, ); }; };
+ 5744F077EE6E9275E2B9FBAB0D2952FB /* RCTMaskedViewManager.m in Sources */ = {isa = PBXBuildFile; fileRef = 36F222776684CE390C909730515F6159 /* RCTMaskedViewManager.m */; settings = {COMPILER_FLAGS = "-DFOLLY_NO_CONFIG -DFOLLY_MOBILE=1 -DFOLLY_USE_LIBCPP=1 -Wno-comma -Wno-shorten-64-to-32 -Wno-documentation"; }; };
+ 5747F4B22DA44DF99EA180D1B006AB54 /* UIImage+GIF.h in Headers */ = {isa = PBXBuildFile; fileRef = 3183AFDDBFAB519351065E5018CF6355 /* UIImage+GIF.h */; settings = {ATTRIBUTES = (Project, ); }; };
+ 580A43103D879C13C7002A1D0A6E3936 /* RCTResizeMode.m in Sources */ = {isa = PBXBuildFile; fileRef = BE6B60BC4994178068D4DA2D66F97886 /* RCTResizeMode.m */; };
+ 58445CDF8FEE632713D2379E90D38B45 /* RCTShadowView+Layout.m in Sources */ = {isa = PBXBuildFile; fileRef = 10E545A4E70C83A023D5C83F06DCE1B8 /* RCTShadowView+Layout.m */; settings = {COMPILER_FLAGS = "-DFOLLY_NO_CONFIG -DFOLLY_MOBILE=1 -DFOLLY_USE_LIBCPP=1 -Wno-comma -Wno-shorten-64-to-32 -Wno-documentation"; }; };
+ 5862DC68F98A9EC8AEF474067D6C39B8 /* RCTRawTextShadowView.m in Sources */ = {isa = PBXBuildFile; fileRef = 10E609A77F227B62FFDFA57C6705210B /* RCTRawTextShadowView.m */; };
+ 58A8AC50A90715CCC2C8ECB1FC1DDAC3 /* RCTUIManagerObserverCoordinator.mm in Sources */ = {isa = PBXBuildFile; fileRef = 20F6E3EDC564A3282E0ACF06BC1625D4 /* RCTUIManagerObserverCoordinator.mm */; settings = {COMPILER_FLAGS = "-DFOLLY_NO_CONFIG -DFOLLY_MOBILE=1 -DFOLLY_USE_LIBCPP=1 -Wno-comma -Wno-shorten-64-to-32 -Wno-documentation"; }; };
5911F2C36EE1970C228AE32A316816B6 /* tree_dec.c in Sources */ = {isa = PBXBuildFile; fileRef = 3172F5C2A96EBF73AFE4872372F30EAA /* tree_dec.c */; settings = {COMPILER_FLAGS = "-D_THREAD_SAFE -fno-objc-arc"; }; };
- 594AD0105643ED8B19B30C55585044D0 /* RCTPicker.h in Headers */ = {isa = PBXBuildFile; fileRef = C401E130FDC8ADA546B1914E25C0F03C /* RCTPicker.h */; settings = {ATTRIBUTES = (Project, ); }; };
- 59775D0037099876C7BEDAA541591344 /* BSG_KSCrashState.m in Sources */ = {isa = PBXBuildFile; fileRef = DBC19E78054B12CB83C94F776FB5BA25 /* BSG_KSCrashState.m */; };
- 599BBC44E1F4B7E454CC3AB18F87213B /* RCTComponentEvent.h in Headers */ = {isa = PBXBuildFile; fileRef = 41A088984F98AC5D882EB6C10EE81414 /* RCTComponentEvent.h */; settings = {ATTRIBUTES = (Project, ); }; };
+ 5925FE20F748644DAC09123921D5BA80 /* UIImage+MultiFormat.h in Headers */ = {isa = PBXBuildFile; fileRef = 06AF16299BAF97AD3AE122293C12F2D1 /* UIImage+MultiFormat.h */; settings = {ATTRIBUTES = (Project, ); }; };
+ 5931A3A5349FC56B5616493558C4D41C /* RNGestureHandler.m in Sources */ = {isa = PBXBuildFile; fileRef = 9D36393A81A4C0A5B3EA6CF5049319A1 /* RNGestureHandler.m */; };
+ 594AD0105643ED8B19B30C55585044D0 /* RCTPicker.h in Headers */ = {isa = PBXBuildFile; fileRef = E6DCC3A03A5A1DB25E099E92B745B3A7 /* RCTPicker.h */; settings = {ATTRIBUTES = (Project, ); }; };
+ 59775D0037099876C7BEDAA541591344 /* BSG_KSCrashState.m in Sources */ = {isa = PBXBuildFile; fileRef = 2187BD59F51E38B530CA202577FC677D /* BSG_KSCrashState.m */; };
+ 599BBC44E1F4B7E454CC3AB18F87213B /* RCTComponentEvent.h in Headers */ = {isa = PBXBuildFile; fileRef = 43116DB6260640E40241BDF05B4F9BE9 /* RCTComponentEvent.h */; settings = {ATTRIBUTES = (Project, ); }; };
599C79E2AC486198363DF63026441579 /* FIRInstanceIDVersionUtilities.m in Sources */ = {isa = PBXBuildFile; fileRef = 0BD111835A9C97793AF12738AF33E20E /* FIRInstanceIDVersionUtilities.m */; };
- 59A9EDFC96B6C690929665134E494965 /* RCTEventDispatcher.h in Headers */ = {isa = PBXBuildFile; fileRef = 03FF7F4AE8B12AC0C0C3EE8E0B6D1B77 /* RCTEventDispatcher.h */; settings = {ATTRIBUTES = (Project, ); }; };
- 59B0CB7356169DA6D20BBD050C9BE8BD /* JSCRuntime.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 5B6AE949A3CE3A082CFC9439FE6210DE /* JSCRuntime.cpp */; settings = {COMPILER_FLAGS = "-DFOLLY_NO_CONFIG -DFOLLY_MOBILE=1 -DFOLLY_USE_LIBCPP=1 -Wno-comma -Wno-shorten-64-to-32 -Wno-documentation"; }; };
- 59D86DF9B75C365BEE6B352CA65C2339 /* CxxModule.h in Headers */ = {isa = PBXBuildFile; fileRef = 238BC421239D2FB8EF154B6FFE5B7590 /* CxxModule.h */; settings = {ATTRIBUTES = (Project, ); }; };
- 59DA3B89CACB6F86BF41F3F690B9ACA7 /* RNFirebaseCrashlytics.h in Headers */ = {isa = PBXBuildFile; fileRef = 7E1168DD7871FA0A55107F45B1C12227 /* RNFirebaseCrashlytics.h */; settings = {ATTRIBUTES = (Project, ); }; };
- 59E948A7E04CF9218EB761D194D20FA4 /* RCTTextTransform.h in Headers */ = {isa = PBXBuildFile; fileRef = EF1724412F7DE5FF24C2018A491E0166 /* RCTTextTransform.h */; settings = {ATTRIBUTES = (Project, ); }; };
- 5A0925F77BA35B7AEB954F30362D38AB /* RCTJavaScriptLoader.mm in Sources */ = {isa = PBXBuildFile; fileRef = D2CD2D99D6CF7D23F13547ABCBF743C9 /* RCTJavaScriptLoader.mm */; settings = {COMPILER_FLAGS = "-DFOLLY_NO_CONFIG -DFOLLY_MOBILE=1 -DFOLLY_USE_LIBCPP=1 -Wno-comma -Wno-shorten-64-to-32 -Wno-documentation"; }; };
- 5A2A5DE71D7863F59846F8B41E1DE931 /* RCTCxxUtils.h in Headers */ = {isa = PBXBuildFile; fileRef = 5D25A032CDF12E7DE125148E77AE3A21 /* RCTCxxUtils.h */; settings = {ATTRIBUTES = (Project, ); }; };
+ 59A9EDFC96B6C690929665134E494965 /* RCTEventDispatcher.h in Headers */ = {isa = PBXBuildFile; fileRef = F57EC705A31F6424D2F3E63486704856 /* RCTEventDispatcher.h */; settings = {ATTRIBUTES = (Project, ); }; };
+ 59B0CB7356169DA6D20BBD050C9BE8BD /* JSCRuntime.cpp in Sources */ = {isa = PBXBuildFile; fileRef = CEBA1CEC715B06AA0F1624B599542C8C /* JSCRuntime.cpp */; settings = {COMPILER_FLAGS = "-DFOLLY_NO_CONFIG -DFOLLY_MOBILE=1 -DFOLLY_USE_LIBCPP=1 -Wno-comma -Wno-shorten-64-to-32 -Wno-documentation"; }; };
+ 59D86DF9B75C365BEE6B352CA65C2339 /* CxxModule.h in Headers */ = {isa = PBXBuildFile; fileRef = D99E3E218641D3BF037FA9E84F879C9D /* CxxModule.h */; settings = {ATTRIBUTES = (Project, ); }; };
+ 59E948A7E04CF9218EB761D194D20FA4 /* RCTTextTransform.h in Headers */ = {isa = PBXBuildFile; fileRef = 68A51CCF6DE8C69B10B02EE5861DC7A0 /* RCTTextTransform.h */; settings = {ATTRIBUTES = (Project, ); }; };
+ 5A0925F77BA35B7AEB954F30362D38AB /* RCTJavaScriptLoader.mm in Sources */ = {isa = PBXBuildFile; fileRef = BD9EFEB9C754A33C8238E9EBF2D85331 /* RCTJavaScriptLoader.mm */; settings = {COMPILER_FLAGS = "-DFOLLY_NO_CONFIG -DFOLLY_MOBILE=1 -DFOLLY_USE_LIBCPP=1 -Wno-comma -Wno-shorten-64-to-32 -Wno-documentation"; }; };
+ 5A2A5DE71D7863F59846F8B41E1DE931 /* RCTCxxUtils.h in Headers */ = {isa = PBXBuildFile; fileRef = 742795A76CDD66B6A581AF54819BA23D /* RCTCxxUtils.h */; settings = {ATTRIBUTES = (Project, ); }; };
5A2FEA1B25DA5D3DB81EA2927DA1CB09 /* config_enc.c in Sources */ = {isa = PBXBuildFile; fileRef = FEDC765722FD96F62E404FCA439C214C /* config_enc.c */; settings = {COMPILER_FLAGS = "-D_THREAD_SAFE -fno-objc-arc"; }; };
- 5A75D23BCD436DE88F31A570A97F4CAB /* BugsnagBreadcrumb.h in Headers */ = {isa = PBXBuildFile; fileRef = 3ADBCE42526A12F9E69FD4A0546773CB /* BugsnagBreadcrumb.h */; settings = {ATTRIBUTES = (Project, ); }; };
- 5A83023D1299434D1918237AAEDE947B /* BSG_KSCrashReportFields.h in Headers */ = {isa = PBXBuildFile; fileRef = 0A2DF0F096E1683BBEB4CA95DE928829 /* BSG_KSCrashReportFields.h */; settings = {ATTRIBUTES = (Project, ); }; };
- 5A9E10390AD669D0C65783A7D2F9260D /* RCTSourceCode.h in Headers */ = {isa = PBXBuildFile; fileRef = 865499CC2A59FE5373FCBF0A42F80B4F /* RCTSourceCode.h */; settings = {ATTRIBUTES = (Project, ); }; };
- 5AAF223E5396DD2EC831E39E4767FB3C /* Private.h in Headers */ = {isa = PBXBuildFile; fileRef = DDA49AF11CA569FDF2D2E0214A44574D /* Private.h */; settings = {ATTRIBUTES = (Project, ); }; };
- 5AD2D50EA0EA95CD2488782E90B478B6 /* EXAppLoaderInterface.h in Headers */ = {isa = PBXBuildFile; fileRef = 9BBAEAAA2C76B1EC3CC24513363366FF /* EXAppLoaderInterface.h */; settings = {ATTRIBUTES = (Project, ); }; };
+ 5A75D23BCD436DE88F31A570A97F4CAB /* BugsnagBreadcrumb.h in Headers */ = {isa = PBXBuildFile; fileRef = DF20D287425CF2BD913CA7A07E34EA63 /* BugsnagBreadcrumb.h */; settings = {ATTRIBUTES = (Project, ); }; };
+ 5A83023D1299434D1918237AAEDE947B /* BSG_KSCrashReportFields.h in Headers */ = {isa = PBXBuildFile; fileRef = 61A3AB932BEB1EE0EDACBDD48575C92C /* BSG_KSCrashReportFields.h */; settings = {ATTRIBUTES = (Project, ); }; };
+ 5A90457E4C33A1E3A454A565AF9EC98B /* SDAnimatedImageView+WebCache.h in Headers */ = {isa = PBXBuildFile; fileRef = C0BE24B17E7BAED38D39126B63220F6F /* SDAnimatedImageView+WebCache.h */; settings = {ATTRIBUTES = (Project, ); }; };
+ 5A9E10390AD669D0C65783A7D2F9260D /* RCTSourceCode.h in Headers */ = {isa = PBXBuildFile; fileRef = E81CCF008E8B7E4C93EA7C517B75387E /* RCTSourceCode.h */; settings = {ATTRIBUTES = (Project, ); }; };
+ 5AAA72190F54072867D395D072A72DA1 /* RNPinchHandler.m in Sources */ = {isa = PBXBuildFile; fileRef = 5F29D18AA1C8A7CA7F53B9DD91ECFA02 /* RNPinchHandler.m */; };
+ 5AAF223E5396DD2EC831E39E4767FB3C /* Private.h in Headers */ = {isa = PBXBuildFile; fileRef = AAF2FA0CCCFA96258CA963BBF9ED8F96 /* Private.h */; settings = {ATTRIBUTES = (Project, ); }; };
+ 5ABC17DF5EB0EBA4811E0330CA2E96C2 /* RNNotificationsStore.h in Headers */ = {isa = PBXBuildFile; fileRef = 09DDF83FF99389DBE1AF6EE0D5DA3E7F /* RNNotificationsStore.h */; settings = {ATTRIBUTES = (Project, ); }; };
+ 5AD2D50EA0EA95CD2488782E90B478B6 /* EXAppLoaderInterface.h in Headers */ = {isa = PBXBuildFile; fileRef = 2834D1B3422A2BAA349F9B27496EBA9D /* EXAppLoaderInterface.h */; settings = {ATTRIBUTES = (Project, ); }; };
5AEE52A5A72E036A8C066F41EF446DDB /* dec_sse2.c in Sources */ = {isa = PBXBuildFile; fileRef = 40E3AD96CC1962F5CA482BD83ED9708C /* dec_sse2.c */; settings = {COMPILER_FLAGS = "-D_THREAD_SAFE -fno-objc-arc"; }; };
- 5AEF5383C1B91A338DB666B3416E55DD /* NativeToJsBridge.h in Headers */ = {isa = PBXBuildFile; fileRef = 8D0090FB2FE5E76CFE465C2AD17C3C5A /* NativeToJsBridge.h */; settings = {ATTRIBUTES = (Project, ); }; };
- 5AF9BCE6D7AA3A8EF8D160FAB240B9E7 /* RCTWebSocketModule.m in Sources */ = {isa = PBXBuildFile; fileRef = 07A526EFBA6F68A70638C31C16838110 /* RCTWebSocketModule.m */; };
- 5B0F16C2D311D201AC027D98D3A1A1E1 /* RNNotificationsStore.h in Headers */ = {isa = PBXBuildFile; fileRef = CABB46CE7C10C429D727AFE8929A3753 /* RNNotificationsStore.h */; settings = {ATTRIBUTES = (Project, ); }; };
- 5B7A4A0436E34DE81AC6798C87E7A318 /* RCTScrollContentViewManager.m in Sources */ = {isa = PBXBuildFile; fileRef = A07165EC068908914A3E289C32FEBE65 /* RCTScrollContentViewManager.m */; settings = {COMPILER_FLAGS = "-DFOLLY_NO_CONFIG -DFOLLY_MOBILE=1 -DFOLLY_USE_LIBCPP=1 -Wno-comma -Wno-shorten-64-to-32 -Wno-documentation"; }; };
- 5B8703F07656894ABC543D7333E74532 /* RCTSettingsManager.h in Headers */ = {isa = PBXBuildFile; fileRef = 49384B35D037BFBFC67C48C13D9F9B53 /* RCTSettingsManager.h */; settings = {ATTRIBUTES = (Project, ); }; };
- 5B8A0EBAF1B94B7FE5E55162A2707325 /* BugsnagSink.m in Sources */ = {isa = PBXBuildFile; fileRef = B91568DAC847193D27FB0097D3AD493B /* BugsnagSink.m */; };
+ 5AEF5383C1B91A338DB666B3416E55DD /* NativeToJsBridge.h in Headers */ = {isa = PBXBuildFile; fileRef = 40B5353510F71F7397B4DD66CAF56CE6 /* NativeToJsBridge.h */; settings = {ATTRIBUTES = (Project, ); }; };
+ 5AF9BCE6D7AA3A8EF8D160FAB240B9E7 /* RCTWebSocketModule.m in Sources */ = {isa = PBXBuildFile; fileRef = 6FBFF355A9F9B2D13387AF0618209D8F /* RCTWebSocketModule.m */; };
+ 5B0CC734918361BEC2D0117B41C9A17D /* SDWebImageError.h in Headers */ = {isa = PBXBuildFile; fileRef = A232F52ACA6D05CFC9E73388AF31C9DD /* SDWebImageError.h */; settings = {ATTRIBUTES = (Project, ); }; };
+ 5B7A4A0436E34DE81AC6798C87E7A318 /* RCTScrollContentViewManager.m in Sources */ = {isa = PBXBuildFile; fileRef = A229B2F3AF05779B19F912B9522FC4E0 /* RCTScrollContentViewManager.m */; settings = {COMPILER_FLAGS = "-DFOLLY_NO_CONFIG -DFOLLY_MOBILE=1 -DFOLLY_USE_LIBCPP=1 -Wno-comma -Wno-shorten-64-to-32 -Wno-documentation"; }; };
+ 5B8703F07656894ABC543D7333E74532 /* RCTSettingsManager.h in Headers */ = {isa = PBXBuildFile; fileRef = 9687E0603571C6836C36090A836DEFC8 /* RCTSettingsManager.h */; settings = {ATTRIBUTES = (Project, ); }; };
+ 5B8A0EBAF1B94B7FE5E55162A2707325 /* BugsnagSink.m in Sources */ = {isa = PBXBuildFile; fileRef = 9E34F87ACC5733F18119BAA496B95282 /* BugsnagSink.m */; };
+ 5BA631B961847DBCD63B18E8D292087E /* AudioRecorderManager.m in Sources */ = {isa = PBXBuildFile; fileRef = 67091E6665BFC05325822AB051C933A1 /* AudioRecorderManager.m */; };
+ 5BD3B57F2963966F03D9161B0F36CC19 /* UIImage+Resize.h in Headers */ = {isa = PBXBuildFile; fileRef = FD4C029AA8F9AED68AB0773AFF4BE959 /* UIImage+Resize.h */; settings = {ATTRIBUTES = (Project, ); }; };
5BE4BBD3BC4F14A968DFE3C2DF2167B7 /* FIRAppInternal.h in Headers */ = {isa = PBXBuildFile; fileRef = 6A6D049406AA265EC77A00D1D55E72BA /* FIRAppInternal.h */; settings = {ATTRIBUTES = (Project, ); }; };
- 5BF763F8EF91BF90AEC8E80EDA35C4F8 /* EXAppLoaderProvider-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 48ED37DCA809F87308104D334B1CC334 /* EXAppLoaderProvider-dummy.m */; };
- 5C00DA6DAB9A66D08E668B513F6DA8E6 /* RNFirebaseFunctions.m in Sources */ = {isa = PBXBuildFile; fileRef = 2D7BD610AAD14188B5FC2066B423D4C3 /* RNFirebaseFunctions.m */; };
- 5C136874DB76462E7E5F59D6C0098556 /* RCTNativeModule.mm in Sources */ = {isa = PBXBuildFile; fileRef = 984CDCCE9E040E24223611E93E477CD5 /* RCTNativeModule.mm */; settings = {COMPILER_FLAGS = "-DFOLLY_NO_CONFIG -DFOLLY_MOBILE=1 -DFOLLY_USE_LIBCPP=1 -Wno-comma -Wno-shorten-64-to-32 -Wno-documentation"; }; };
- 5C34D55FFB997C59B88B37568AC53547 /* RCTFPSGraph.m in Sources */ = {isa = PBXBuildFile; fileRef = 79BC54B360388D1A6AC80528B9849369 /* RCTFPSGraph.m */; settings = {COMPILER_FLAGS = "-DFOLLY_NO_CONFIG -DFOLLY_MOBILE=1 -DFOLLY_USE_LIBCPP=1 -Wno-comma -Wno-shorten-64-to-32 -Wno-documentation"; }; };
- 5C43615077C3034B35087E5889847ABB /* RNCWKWebViewManager.h in Headers */ = {isa = PBXBuildFile; fileRef = CA9C58F482C15DD423B44D4251EDD864 /* RNCWKWebViewManager.h */; settings = {ATTRIBUTES = (Project, ); }; };
+ 5BF763F8EF91BF90AEC8E80EDA35C4F8 /* EXAppLoaderProvider-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = D155FF04778A32D4FACAD174AFE88225 /* EXAppLoaderProvider-dummy.m */; };
+ 5C136874DB76462E7E5F59D6C0098556 /* RCTNativeModule.mm in Sources */ = {isa = PBXBuildFile; fileRef = 9DD37B7D7728AF0FDFC73F538F880518 /* RCTNativeModule.mm */; settings = {COMPILER_FLAGS = "-DFOLLY_NO_CONFIG -DFOLLY_MOBILE=1 -DFOLLY_USE_LIBCPP=1 -Wno-comma -Wno-shorten-64-to-32 -Wno-documentation"; }; };
+ 5C32108E5E50E3996EA2043CF53C0775 /* RCTVideoPlayerViewController.h in Headers */ = {isa = PBXBuildFile; fileRef = 558C53BE11C9A38742627BC622EA6084 /* RCTVideoPlayerViewController.h */; settings = {ATTRIBUTES = (Project, ); }; };
+ 5C34D55FFB997C59B88B37568AC53547 /* RCTFPSGraph.m in Sources */ = {isa = PBXBuildFile; fileRef = F45904C4E1A79D5C835CD57F336A7DB3 /* RCTFPSGraph.m */; settings = {COMPILER_FLAGS = "-DFOLLY_NO_CONFIG -DFOLLY_MOBILE=1 -DFOLLY_USE_LIBCPP=1 -Wno-comma -Wno-shorten-64-to-32 -Wno-documentation"; }; };
+ 5C3EFBC2AC931CBEA1F61CE752945D4F /* RNFirebaseEvents.h in Headers */ = {isa = PBXBuildFile; fileRef = 48E59AE8481CB977415EF07579EE4518 /* RNFirebaseEvents.h */; settings = {ATTRIBUTES = (Project, ); }; };
+ 5C51AA89BA35D4CC75E0CB823A7BAD6A /* BannerComponent.m in Sources */ = {isa = PBXBuildFile; fileRef = C724794E54EB63C58FCAD7C8F9C96F18 /* BannerComponent.m */; };
+ 5C9B07400838A86D657A6F6997A560B8 /* react-native-webview-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = BFC82CF4332BB34126F92C8893FEE847 /* react-native-webview-dummy.m */; };
+ 5CBFE48533118EC269C60CA7E83590F5 /* RNRotationHandler.m in Sources */ = {isa = PBXBuildFile; fileRef = 26CC2AA242A3DA2AAB24EFCC456EACD1 /* RNRotationHandler.m */; };
5CD2A015A7A05B92BF2F5E7D71D12B1D /* bit_reader_inl_utils.h in Headers */ = {isa = PBXBuildFile; fileRef = 31B588B91FCA99EFD147FCF38FF8F934 /* bit_reader_inl_utils.h */; settings = {ATTRIBUTES = (Project, ); }; };
- 5CF1F6F56CD851803E82D5E124B5FE46 /* RCTShadowView+Layout.h in Headers */ = {isa = PBXBuildFile; fileRef = BCCB8DB4ADD0CDAFB8CBCBA2E699EEA4 /* RCTShadowView+Layout.h */; settings = {ATTRIBUTES = (Project, ); }; };
- 5CFE3449CFA55A9656CED0FB16605F78 /* rn-extensions-share-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 7125BD7B3DD174FD207D82CDC32C210F /* rn-extensions-share-dummy.m */; };
- 5D39A40F6C8948C0955D63271D11EB9B /* RCTFont.h in Headers */ = {isa = PBXBuildFile; fileRef = 319F58AE38A830BEE115062CF50079C6 /* RCTFont.h */; settings = {ATTRIBUTES = (Project, ); }; };
- 5D5AC98F858504014764C1F6F89B7C49 /* UMAppLifecycleService.h in Headers */ = {isa = PBXBuildFile; fileRef = BE112BA5E9F80EF144D31C6B84351BF7 /* UMAppLifecycleService.h */; settings = {ATTRIBUTES = (Project, ); }; };
- 5D5E8A2586504018F0521D13A5301F33 /* RCTDivisionAnimatedNode.h in Headers */ = {isa = PBXBuildFile; fileRef = 48A1A9C2C0A9BCC24C739A4249BAE5E4 /* RCTDivisionAnimatedNode.h */; settings = {ATTRIBUTES = (Project, ); }; };
- 5D7BA29018680739DE57105640A48D7A /* EXVideoPlayerViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 1153F6D56A0192451259BDD4CC513399 /* EXVideoPlayerViewController.m */; };
- 5DED89238DBC1E4D00ADE51D7E2E3A23 /* RCTParserUtils.m in Sources */ = {isa = PBXBuildFile; fileRef = 4350EA55BED19C0DB45EE2434F5F1D9B /* RCTParserUtils.m */; settings = {COMPILER_FLAGS = "-DFOLLY_NO_CONFIG -DFOLLY_MOBILE=1 -DFOLLY_USE_LIBCPP=1 -Wno-comma -Wno-shorten-64-to-32 -Wno-documentation"; }; };
- 5DED9B552C328628CAAC49893D57499A /* react-native-realm-path-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 8DCE858C063266175E63B83CAE0937B3 /* react-native-realm-path-dummy.m */; };
+ 5CF1F6F56CD851803E82D5E124B5FE46 /* RCTShadowView+Layout.h in Headers */ = {isa = PBXBuildFile; fileRef = A9C3F294B6304F4E1DCB1ED891B65B4C /* RCTShadowView+Layout.h */; settings = {ATTRIBUTES = (Project, ); }; };
+ 5D39A40F6C8948C0955D63271D11EB9B /* RCTFont.h in Headers */ = {isa = PBXBuildFile; fileRef = FEDFDEEF66DE4369E55D8A3AB35F4519 /* RCTFont.h */; settings = {ATTRIBUTES = (Project, ); }; };
+ 5D5AC98F858504014764C1F6F89B7C49 /* UMAppLifecycleService.h in Headers */ = {isa = PBXBuildFile; fileRef = 4F569623A1A06B1A1B515EDF8276AF9F /* UMAppLifecycleService.h */; settings = {ATTRIBUTES = (Project, ); }; };
+ 5D5E8A2586504018F0521D13A5301F33 /* RCTDivisionAnimatedNode.h in Headers */ = {isa = PBXBuildFile; fileRef = C89651C0414B0B9C93D17D7E13856B8E /* RCTDivisionAnimatedNode.h */; settings = {ATTRIBUTES = (Project, ); }; };
+ 5D7BA29018680739DE57105640A48D7A /* EXVideoPlayerViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = B58D1FB3AC97F79F880BF9EEC8161926 /* EXVideoPlayerViewController.m */; };
+ 5DCF6BAEC9B1B32188DA137E81C612F9 /* SDWebImage.h in Headers */ = {isa = PBXBuildFile; fileRef = 9C965760E58B11B2A08D130765B63410 /* SDWebImage.h */; settings = {ATTRIBUTES = (Project, ); }; };
+ 5DED89238DBC1E4D00ADE51D7E2E3A23 /* RCTParserUtils.m in Sources */ = {isa = PBXBuildFile; fileRef = C5A2D81CABD2AD1B7127EFAF371D193A /* RCTParserUtils.m */; settings = {COMPILER_FLAGS = "-DFOLLY_NO_CONFIG -DFOLLY_MOBILE=1 -DFOLLY_USE_LIBCPP=1 -Wno-comma -Wno-shorten-64-to-32 -Wno-documentation"; }; };
5E0C04DA2367DFAB13CE9337ECF3D4B1 /* ScopeGuard.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 87F34B541C17B00787E2E5912192FEFD /* ScopeGuard.cpp */; settings = {COMPILER_FLAGS = "-DFOLLY_NO_CONFIG -DFOLLY_MOBILE=1 -DFOLLY_USE_LIBCPP=1 -DFOLLY_HAVE_PTHREAD=1 -Wno-comma -Wno-shorten-64-to-32 -Wno-documentation"; }; };
+ 5E4D1631B0E83D3E6620C6F7AD9E4D55 /* SDImageIOCoder.h in Headers */ = {isa = PBXBuildFile; fileRef = 01F03CBA6207DF026B6B5E5BC4D51937 /* SDImageIOCoder.h */; settings = {ATTRIBUTES = (Project, ); }; };
5E638B27DC537F86FE14FD7E312A350E /* FIRVersion.m in Sources */ = {isa = PBXBuildFile; fileRef = 5CB41E1576D4AEF36B226DCFF55D111A /* FIRVersion.m */; };
- 5EE89830E31C59D2FF44224F98A1A301 /* RNScreens-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 1532F98FDB6B854BC0B7E567BD052C6F /* RNScreens-dummy.m */; };
- 5F29AE904A4B2EDE045461B609407DCB /* SDImageCachesManager.m in Sources */ = {isa = PBXBuildFile; fileRef = 5827E32B04D27831875D8760DF6E6137 /* SDImageCachesManager.m */; };
- 5F326640A40E351B65C24B5E01F7CB2B /* BSG_KSString.h in Headers */ = {isa = PBXBuildFile; fileRef = BC8C257E9615AAB1B9173864DB07FD73 /* BSG_KSString.h */; settings = {ATTRIBUTES = (Project, ); }; };
- 5F3A217DAE9293A28ADB887C82320FDE /* RNNotifications.m in Sources */ = {isa = PBXBuildFile; fileRef = E9C1BF9E2AAED1D406CA48EB4C95AAEF /* RNNotifications.m */; };
- 5F48106EBA8BBF138FE9827D13133CA2 /* RCTShadowView+Internal.m in Sources */ = {isa = PBXBuildFile; fileRef = D7BD6795BF4E3739D88EEC51B205834D /* RCTShadowView+Internal.m */; settings = {COMPILER_FLAGS = "-DFOLLY_NO_CONFIG -DFOLLY_MOBILE=1 -DFOLLY_USE_LIBCPP=1 -Wno-comma -Wno-shorten-64-to-32 -Wno-documentation"; }; };
- 5F6542FBAFB21F4D275E628C2AEFC27D /* RCTImageSource.m in Sources */ = {isa = PBXBuildFile; fileRef = CF0B8C593CCD9D5A608C3E7ED8B52C33 /* RCTImageSource.m */; settings = {COMPILER_FLAGS = "-DFOLLY_NO_CONFIG -DFOLLY_MOBILE=1 -DFOLLY_USE_LIBCPP=1 -Wno-comma -Wno-shorten-64-to-32 -Wno-documentation"; }; };
- 5FD18123EACA708A239CD0B9D3B2A4D8 /* SDInternalMacros.m in Sources */ = {isa = PBXBuildFile; fileRef = 41D5DF19A7FA6D7B4FDCA08E1924A454 /* SDInternalMacros.m */; };
- 5FDE56E642A7C95346846297B5793D31 /* YGNode.h in Headers */ = {isa = PBXBuildFile; fileRef = 3550B3B2B1B06EA4DD4E152DD47FFDFC /* YGNode.h */; settings = {ATTRIBUTES = (Project, ); }; };
+ 5EC01A448ECAE72974DEA0A5A6E92133 /* RNGestureHandlerEvents.h in Headers */ = {isa = PBXBuildFile; fileRef = 46C24C262EF4E6CD7056C82A9748D12B /* RNGestureHandlerEvents.h */; settings = {ATTRIBUTES = (Project, ); }; };
+ 5F326640A40E351B65C24B5E01F7CB2B /* BSG_KSString.h in Headers */ = {isa = PBXBuildFile; fileRef = 30D8E96BDA307E0CFFA7EB0F65F8DFC5 /* BSG_KSString.h */; settings = {ATTRIBUTES = (Project, ); }; };
+ 5F48106EBA8BBF138FE9827D13133CA2 /* RCTShadowView+Internal.m in Sources */ = {isa = PBXBuildFile; fileRef = FD32033563555E97A17D40CFCC194B38 /* RCTShadowView+Internal.m */; settings = {COMPILER_FLAGS = "-DFOLLY_NO_CONFIG -DFOLLY_MOBILE=1 -DFOLLY_USE_LIBCPP=1 -Wno-comma -Wno-shorten-64-to-32 -Wno-documentation"; }; };
+ 5F6542FBAFB21F4D275E628C2AEFC27D /* RCTImageSource.m in Sources */ = {isa = PBXBuildFile; fileRef = AC3A70D17187D67006941FC10D34BDB3 /* RCTImageSource.m */; settings = {COMPILER_FLAGS = "-DFOLLY_NO_CONFIG -DFOLLY_MOBILE=1 -DFOLLY_USE_LIBCPP=1 -Wno-comma -Wno-shorten-64-to-32 -Wno-documentation"; }; };
+ 5FD51511C8FA5DBF02C30F5E09A39A2B /* SDImageCodersManager.m in Sources */ = {isa = PBXBuildFile; fileRef = 910D54F4122391D52F34EA8AD3DDCDFC /* SDImageCodersManager.m */; };
+ 5FDE56E642A7C95346846297B5793D31 /* YGNode.h in Headers */ = {isa = PBXBuildFile; fileRef = 8AEC15455DC3800C955DC4134881CADA /* YGNode.h */; settings = {ATTRIBUTES = (Project, ); }; };
5FEB9434BEDCBDD45AFD92F3C0F82C7A /* GULLogger.h in Headers */ = {isa = PBXBuildFile; fileRef = D5D065B68F1F98A50A22F365A31B6799 /* GULLogger.h */; settings = {ATTRIBUTES = (Project, ); }; };
+ 5FFB5E58C3B0FBE91242B4C546FCED4E /* RNGestureHandlerState.h in Headers */ = {isa = PBXBuildFile; fileRef = 22888D26130DED8468526027586A74DC /* RNGestureHandlerState.h */; settings = {ATTRIBUTES = (Project, ); }; };
6017B2E333E17232E88A3D32BB8909D4 /* fixed-dtoa.h in Headers */ = {isa = PBXBuildFile; fileRef = 0E880EDDC0AC02E4087C0A1E4481702D /* fixed-dtoa.h */; settings = {ATTRIBUTES = (Project, ); }; };
- 6053257C10BEFBE5129FE6E6B03CF24D /* react-native-webview-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 121E1E6643CF4D7D3EADD5FA5B7FD724 /* react-native-webview-dummy.m */; };
6067BC213ACE4C1CE241E87E5FD7FA42 /* bignum-dtoa.cc in Sources */ = {isa = PBXBuildFile; fileRef = 4992BD8323095EF809A67F49E094EE79 /* bignum-dtoa.cc */; settings = {COMPILER_FLAGS = "-Wno-unreachable-code"; }; };
608B30A9766B7C7AD75855008A72B76C /* endian_inl_utils.h in Headers */ = {isa = PBXBuildFile; fileRef = 767A67A96F8309E88AB7E8F87065F2E9 /* endian_inl_utils.h */; settings = {ATTRIBUTES = (Project, ); }; };
- 610B9333188F910DCFF52ECD65CEA8F6 /* QBVideoIconView.m in Sources */ = {isa = PBXBuildFile; fileRef = C384E7024BF71299AF3C7E34762A397D /* QBVideoIconView.m */; };
- 615DA240871804E7548C46745A131A87 /* RCTSurfacePresenterStub.m in Sources */ = {isa = PBXBuildFile; fileRef = BB37D20A948D379B31E46FAED50313D7 /* RCTSurfacePresenterStub.m */; settings = {COMPILER_FLAGS = "-DFOLLY_NO_CONFIG -DFOLLY_MOBILE=1 -DFOLLY_USE_LIBCPP=1 -Wno-comma -Wno-shorten-64-to-32 -Wno-documentation"; }; };
- 61A73FDED2151ABF97DFC5C0CB0CF6F5 /* RNAudio-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 3B5DFC238A2F2767458A2DE5772F6201 /* RNAudio-dummy.m */; };
- 61DB7E4B43D99AF83CCE4CB55F924040 /* RCTViewManager.m in Sources */ = {isa = PBXBuildFile; fileRef = 31E5C7603A4847BCA06949AC3EBECEEB /* RCTViewManager.m */; settings = {COMPILER_FLAGS = "-DFOLLY_NO_CONFIG -DFOLLY_MOBILE=1 -DFOLLY_USE_LIBCPP=1 -Wno-comma -Wno-shorten-64-to-32 -Wno-documentation"; }; };
- 625DB03828157C51B4CE65A3F80DD6EB /* AudioRecorderManager.m in Sources */ = {isa = PBXBuildFile; fileRef = 6A2E4B95383C9602AA7C1D86FF277D2B /* AudioRecorderManager.m */; };
+ 609FCA2C6FE85DE6B98E98F44B52012F /* RNFirebaseFirestoreDocumentReference.m in Sources */ = {isa = PBXBuildFile; fileRef = E12B5143C2C6825757842652606B411E /* RNFirebaseFirestoreDocumentReference.m */; };
+ 615DA240871804E7548C46745A131A87 /* RCTSurfacePresenterStub.m in Sources */ = {isa = PBXBuildFile; fileRef = FE999C4F80417E14D9F3DD04367D3489 /* RCTSurfacePresenterStub.m */; settings = {COMPILER_FLAGS = "-DFOLLY_NO_CONFIG -DFOLLY_MOBILE=1 -DFOLLY_USE_LIBCPP=1 -Wno-comma -Wno-shorten-64-to-32 -Wno-documentation"; }; };
+ 619E6BEE3EA4295D499A04175CDEE672 /* RSKImageCropViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = BDE67AF037E52B5477619E84E56342EA /* RSKImageCropViewController.m */; };
+ 61BBB76FB3FFC56BC69F750D0AC674CB /* RCTConvert+FFFastImage.m in Sources */ = {isa = PBXBuildFile; fileRef = E8A7AB661D185F3242CD3719F328298B /* RCTConvert+FFFastImage.m */; };
+ 61DB7E4B43D99AF83CCE4CB55F924040 /* RCTViewManager.m in Sources */ = {isa = PBXBuildFile; fileRef = 52AC0D06E5E706BEB387C586679C3D10 /* RCTViewManager.m */; settings = {COMPILER_FLAGS = "-DFOLLY_NO_CONFIG -DFOLLY_MOBILE=1 -DFOLLY_USE_LIBCPP=1 -Wno-comma -Wno-shorten-64-to-32 -Wno-documentation"; }; };
+ 61FF330F3F96E83A55F9A76FAF0BB1E8 /* SDWebImageDefine.h in Headers */ = {isa = PBXBuildFile; fileRef = 0F4B93578AA069779B05F89B28658330 /* SDWebImageDefine.h */; settings = {ATTRIBUTES = (Project, ); }; };
6293B34D59BC5B39CBB09D323E9D3FDC /* backward_references_cost_enc.c in Sources */ = {isa = PBXBuildFile; fileRef = DF0A01898202807CF15439FEDDCB129A /* backward_references_cost_enc.c */; settings = {COMPILER_FLAGS = "-D_THREAD_SAFE -fno-objc-arc"; }; };
62CB8189A8DFDB52140C78C76EA04823 /* idec_dec.c in Sources */ = {isa = PBXBuildFile; fileRef = ECA6A09127BCBC48D516CF4375E2E4F7 /* idec_dec.c */; settings = {COMPILER_FLAGS = "-D_THREAD_SAFE -fno-objc-arc"; }; };
62D28905E5357811247084EA63BBF4DA /* GULNetwork.m in Sources */ = {isa = PBXBuildFile; fileRef = 82060BDCE8421854F078CE9D45EC4742 /* GULNetwork.m */; };
- 62E99DCB1F88E5FEE23D4703F713AB81 /* UIImage+GIF.m in Sources */ = {isa = PBXBuildFile; fileRef = C5B6130EFD4A44884D1AB5C6FA196757 /* UIImage+GIF.m */; };
62EF05AD5396C78743EC5BDD2643D95C /* vp8i_dec.h in Headers */ = {isa = PBXBuildFile; fileRef = F856E6B9471AE6BFD6A64E001062D954 /* vp8i_dec.h */; settings = {ATTRIBUTES = (Project, ); }; };
- 62F7497503DD744BD09D398CABBFF63C /* RCTDecayAnimation.h in Headers */ = {isa = PBXBuildFile; fileRef = A4F2A3499D5E74A1F0C3D70DB2C0E45B /* RCTDecayAnimation.h */; settings = {ATTRIBUTES = (Project, ); }; };
- 632BDFEF644DCD03DB8E0E6A30C632F7 /* RCTCxxUtils.mm in Sources */ = {isa = PBXBuildFile; fileRef = 66CF2FC4B5AFFEFABD5D61B3E57BF3C0 /* RCTCxxUtils.mm */; settings = {COMPILER_FLAGS = "-DFOLLY_NO_CONFIG -DFOLLY_MOBILE=1 -DFOLLY_USE_LIBCPP=1 -Wno-comma -Wno-shorten-64-to-32 -Wno-documentation"; }; };
+ 62F7497503DD744BD09D398CABBFF63C /* RCTDecayAnimation.h in Headers */ = {isa = PBXBuildFile; fileRef = 9F5776B003E14AB8D37641D23ED7F3C7 /* RCTDecayAnimation.h */; settings = {ATTRIBUTES = (Project, ); }; };
+ 631187572BCD27B07A8B2B730926B364 /* RNFirebaseDatabase.h in Headers */ = {isa = PBXBuildFile; fileRef = F36F80EB9477A047C72A1FD8C59602B2 /* RNFirebaseDatabase.h */; settings = {ATTRIBUTES = (Project, ); }; };
+ 632BDFEF644DCD03DB8E0E6A30C632F7 /* RCTCxxUtils.mm in Sources */ = {isa = PBXBuildFile; fileRef = 437CABCB23AECEF1C9DFB9F5E90F6F83 /* RCTCxxUtils.mm */; settings = {COMPILER_FLAGS = "-DFOLLY_NO_CONFIG -DFOLLY_MOBILE=1 -DFOLLY_USE_LIBCPP=1 -Wno-comma -Wno-shorten-64-to-32 -Wno-documentation"; }; };
6331FEF4B4A05FD73FF29783084B34F6 /* GULNetworkLoggerProtocol.h in Headers */ = {isa = PBXBuildFile; fileRef = E115EC00B9257CE69BBB82756D72800F /* GULNetworkLoggerProtocol.h */; settings = {ATTRIBUTES = (Project, ); }; };
- 636AD3E42ABC1403BBB9385ACAFAE863 /* RCTNativeAnimatedNodesManager.m in Sources */ = {isa = PBXBuildFile; fileRef = 8D6A6725EE93E7A35A0BE42EA2A28680 /* RCTNativeAnimatedNodesManager.m */; };
- 636F73AAACF53224B05A5D099E5A123D /* FFFastImageViewManager.h in Headers */ = {isa = PBXBuildFile; fileRef = 5B52629EBCAFBC5DFC004B5AE13FA0F8 /* FFFastImageViewManager.h */; settings = {ATTRIBUTES = (Project, ); }; };
- 63BB559BC6DDA8726779E5435731BBF1 /* EXConstants.h in Headers */ = {isa = PBXBuildFile; fileRef = 0B77D5EA14559425A7A4D310EB5BA270 /* EXConstants.h */; settings = {ATTRIBUTES = (Project, ); }; };
+ 636AD3E42ABC1403BBB9385ACAFAE863 /* RCTNativeAnimatedNodesManager.m in Sources */ = {isa = PBXBuildFile; fileRef = 4CBB02680248A4A66BB85CB1EB12E43A /* RCTNativeAnimatedNodesManager.m */; };
+ 639F3DCCC6D9F8720620593F5AAA7F90 /* RNNativeViewHandler.m in Sources */ = {isa = PBXBuildFile; fileRef = 8FD385716F1099E25B1EDAF8B01AD86C /* RNNativeViewHandler.m */; };
+ 63BB559BC6DDA8726779E5435731BBF1 /* EXConstants.h in Headers */ = {isa = PBXBuildFile; fileRef = E6341208BC1414BA8EAA456F8363E484 /* EXConstants.h */; settings = {ATTRIBUTES = (Project, ); }; };
63CF3331255C82F8397096D34A4CF8DF /* fast-dtoa.cc in Sources */ = {isa = PBXBuildFile; fileRef = 1F6513956E00361F7F355433FF04F7AD /* fast-dtoa.cc */; settings = {COMPILER_FLAGS = "-Wno-unreachable-code"; }; };
63DF1931079EE301A7422BEAA101EC70 /* cost_neon.c in Sources */ = {isa = PBXBuildFile; fileRef = 254EE1BF0AD0E82092E3B1D7FDD5D924 /* cost_neon.c */; settings = {COMPILER_FLAGS = "-D_THREAD_SAFE -fno-objc-arc"; }; };
+ 6406D15C1EB7FF6CE7EAC097DFE92CE9 /* RSKInternalUtility.h in Headers */ = {isa = PBXBuildFile; fileRef = BD9484689A4AEEEEDEC74961155206C5 /* RSKInternalUtility.h */; settings = {ATTRIBUTES = (Project, ); }; };
6424CE1B21FB118EAC797A1EFB5CAB77 /* quant.h in Headers */ = {isa = PBXBuildFile; fileRef = D4543BA46F861ABB3063C4230F23FEB1 /* quant.h */; settings = {ATTRIBUTES = (Project, ); }; };
- 642BEC88005881738AF47BA57D769D20 /* SDDiskCache.m in Sources */ = {isa = PBXBuildFile; fileRef = 68DB6250F59C582FA5CD2872AEF2AF59 /* SDDiskCache.m */; };
- 643BA3DF68BCF83898880BAECFDC7F7B /* RCTCxxModule.h in Headers */ = {isa = PBXBuildFile; fileRef = C5757A0F0642CF3B16C7822D600119C0 /* RCTCxxModule.h */; settings = {ATTRIBUTES = (Project, ); }; };
+ 643BA3DF68BCF83898880BAECFDC7F7B /* RCTCxxModule.h in Headers */ = {isa = PBXBuildFile; fileRef = 652D7368DAE6C27B77FF58D637FF1F0B /* RCTCxxModule.h */; settings = {ATTRIBUTES = (Project, ); }; };
6446867E20E972E64B5659B208B143C7 /* dec.c in Sources */ = {isa = PBXBuildFile; fileRef = 0617EFF69DC9E4B501C365D7AA0D4429 /* dec.c */; settings = {COMPILER_FLAGS = "-D_THREAD_SAFE -fno-objc-arc"; }; };
- 6485C3D719855BD9EBCD296DB305841E /* RCTProfile.m in Sources */ = {isa = PBXBuildFile; fileRef = 7AF486A0773A50ED7640CCA901CE56B3 /* RCTProfile.m */; settings = {COMPILER_FLAGS = "-DFOLLY_NO_CONFIG -DFOLLY_MOBILE=1 -DFOLLY_USE_LIBCPP=1 -Wno-comma -Wno-shorten-64-to-32 -Wno-documentation"; }; };
- 6496FAB4D500E38F7201238B1E659379 /* UIImage+Transform.m in Sources */ = {isa = PBXBuildFile; fileRef = A2752C0DDD04CC4BB05AF85E8E809B8A /* UIImage+Transform.m */; };
+ 6485C3D719855BD9EBCD296DB305841E /* RCTProfile.m in Sources */ = {isa = PBXBuildFile; fileRef = A5E75ADF712476812738AC2DCAEA7A66 /* RCTProfile.m */; settings = {COMPILER_FLAGS = "-DFOLLY_NO_CONFIG -DFOLLY_MOBILE=1 -DFOLLY_USE_LIBCPP=1 -Wno-comma -Wno-shorten-64-to-32 -Wno-documentation"; }; };
64A68133486FD6417146155B801438E9 /* enc_sse41.c in Sources */ = {isa = PBXBuildFile; fileRef = E14CA2267972F50842A113F031E0D054 /* enc_sse41.c */; settings = {COMPILER_FLAGS = "-D_THREAD_SAFE -fno-objc-arc"; }; };
- 64A6A8A57572DD34C738AF5B476113D3 /* BSG_KSCrashReport.c in Sources */ = {isa = PBXBuildFile; fileRef = FE105C5848F499561C7E32921F426424 /* BSG_KSCrashReport.c */; };
- 650B73AF993372C3EF3FD84AC4886F5F /* RCTURLRequestHandler.h in Headers */ = {isa = PBXBuildFile; fileRef = 7D1EE72C08148EEB63B11BA6E99799EF /* RCTURLRequestHandler.h */; settings = {ATTRIBUTES = (Project, ); }; };
- 653B502DD732F216FDDFBF7C313073A8 /* SDImageGIFCoder.h in Headers */ = {isa = PBXBuildFile; fileRef = 20212A645208FC76C39FF3F729A5058F /* SDImageGIFCoder.h */; settings = {ATTRIBUTES = (Project, ); }; };
- 653C30521C21C1700A04E1BF053C4A1A /* SDWebImageCompat.m in Sources */ = {isa = PBXBuildFile; fileRef = 65C7AC0E687A4458907CEE9CB43FC2B2 /* SDWebImageCompat.m */; };
- 6576865F9751A7DD26C24CC651859AC1 /* RCTSafeAreaViewManager.h in Headers */ = {isa = PBXBuildFile; fileRef = D7CAFFA10701EF80510A338A0ACEB632 /* RCTSafeAreaViewManager.h */; settings = {ATTRIBUTES = (Project, ); }; };
- 65CBD56A3245700F476C2AF111B21C4D /* RCTView.h in Headers */ = {isa = PBXBuildFile; fileRef = 7B582B50EAA7AA6F16D36116651C1292 /* RCTView.h */; settings = {ATTRIBUTES = (Project, ); }; };
- 65D9F74674CD1CDF569A77E74C5F26E7 /* BSG_KSCrashSentry_MachException.h in Headers */ = {isa = PBXBuildFile; fileRef = B1B335DA632CA9FBC89D95B2EF27C510 /* BSG_KSCrashSentry_MachException.h */; settings = {ATTRIBUTES = (Project, ); }; };
+ 64A6A8A57572DD34C738AF5B476113D3 /* BSG_KSCrashReport.c in Sources */ = {isa = PBXBuildFile; fileRef = D3F7E4C8FDDB3D1E7A62F8E77D3D81C4 /* BSG_KSCrashReport.c */; };
+ 650B73AF993372C3EF3FD84AC4886F5F /* RCTURLRequestHandler.h in Headers */ = {isa = PBXBuildFile; fileRef = 7030FBCD8F39D71F414FB0B2ED39F3AB /* RCTURLRequestHandler.h */; settings = {ATTRIBUTES = (Project, ); }; };
+ 6576865F9751A7DD26C24CC651859AC1 /* RCTSafeAreaViewManager.h in Headers */ = {isa = PBXBuildFile; fileRef = 401AF9DAFFF91F6ED10B594769F77955 /* RCTSafeAreaViewManager.h */; settings = {ATTRIBUTES = (Project, ); }; };
+ 65CBD56A3245700F476C2AF111B21C4D /* RCTView.h in Headers */ = {isa = PBXBuildFile; fileRef = 169BE0DE08C9D424F631CF5B0F1F4599 /* RCTView.h */; settings = {ATTRIBUTES = (Project, ); }; };
+ 65D9F74674CD1CDF569A77E74C5F26E7 /* BSG_KSCrashSentry_MachException.h in Headers */ = {isa = PBXBuildFile; fileRef = DEA16EBF7F7B5DEB1D5F9C51E14D952C /* BSG_KSCrashSentry_MachException.h */; settings = {ATTRIBUTES = (Project, ); }; };
65DA5CA0B43BE1A8253C7A67256FC3C5 /* lossless_enc.c in Sources */ = {isa = PBXBuildFile; fileRef = 71DAFB86B5ADFFB234E8DB93AFD86C41 /* lossless_enc.c */; settings = {COMPILER_FLAGS = "-D_THREAD_SAFE -fno-objc-arc"; }; };
- 65F229D488336A7011978AC0403FF917 /* JSModulesUnbundle.h in Headers */ = {isa = PBXBuildFile; fileRef = EC5649A5F079AAE8DF8A1822E3D8106C /* JSModulesUnbundle.h */; settings = {ATTRIBUTES = (Project, ); }; };
- 65FACF736CEB2C1BB3F8032FB195D1A9 /* BSG_KSCrashCallCompletion.m in Sources */ = {isa = PBXBuildFile; fileRef = A14B2B5AC82C3AF02BED46A1A7D6B37C /* BSG_KSCrashCallCompletion.m */; };
+ 65F229D488336A7011978AC0403FF917 /* JSModulesUnbundle.h in Headers */ = {isa = PBXBuildFile; fileRef = 52BBEA0FC176D2EF0A6F866E2FD24F64 /* JSModulesUnbundle.h */; settings = {ATTRIBUTES = (Project, ); }; };
+ 65FACF736CEB2C1BB3F8032FB195D1A9 /* BSG_KSCrashCallCompletion.m in Sources */ = {isa = PBXBuildFile; fileRef = 1A29C3ED9D9F390B11BD1141B417C81F /* BSG_KSCrashCallCompletion.m */; };
6614083802E731AE356FA666BE7013FB /* FIRInstanceIDCombinedHandler.m in Sources */ = {isa = PBXBuildFile; fileRef = 947FD5A230AC7E8E9E5C970B77515EC7 /* FIRInstanceIDCombinedHandler.m */; };
- 6622457A596754428A823EA7EADECDE9 /* RCTBridgeDelegate.h in Headers */ = {isa = PBXBuildFile; fileRef = F8B6A0B684B3707B089B90E85579B19E /* RCTBridgeDelegate.h */; settings = {ATTRIBUTES = (Project, ); }; };
+ 6622457A596754428A823EA7EADECDE9 /* RCTBridgeDelegate.h in Headers */ = {isa = PBXBuildFile; fileRef = 0776F80D3013FB99447BA5E87875D205 /* RCTBridgeDelegate.h */; settings = {ATTRIBUTES = (Project, ); }; };
6631634615CFFCE095FB5E21045BAE71 /* pb_decode.h in Headers */ = {isa = PBXBuildFile; fileRef = 8D4D1E46B7BFAEECDF54C8283569A701 /* pb_decode.h */; settings = {ATTRIBUTES = (Project, ); }; };
66527E65A382A6BB2FCAA7EA4E058755 /* FIRIMessageCode.h in Headers */ = {isa = PBXBuildFile; fileRef = 2912A6C10328B22EF1366F6FA113070E /* FIRIMessageCode.h */; settings = {ATTRIBUTES = (Project, ); }; };
- 66636231DA050692C3D96586EBB31B15 /* RCTFileReaderModule.m in Sources */ = {isa = PBXBuildFile; fileRef = 516FAC2A88D829F1A11112CC4D5EC160 /* RCTFileReaderModule.m */; };
- 676A157F217073B938F9ECB4318BB659 /* UIImage+MultiFormat.m in Sources */ = {isa = PBXBuildFile; fileRef = C7A211D880609219AD1E52CDEA38A7B5 /* UIImage+MultiFormat.m */; };
- 676B0CFC7C6EEF6BA6BFEBC4FE1C3341 /* RCTProgressViewManager.m in Sources */ = {isa = PBXBuildFile; fileRef = B04EA64E028024D11056F920CE89AB6B /* RCTProgressViewManager.m */; settings = {COMPILER_FLAGS = "-DFOLLY_NO_CONFIG -DFOLLY_MOBILE=1 -DFOLLY_USE_LIBCPP=1 -Wno-comma -Wno-shorten-64-to-32 -Wno-documentation"; }; };
+ 66636231DA050692C3D96586EBB31B15 /* RCTFileReaderModule.m in Sources */ = {isa = PBXBuildFile; fileRef = 5026051630D34648FC3216EE779E7C22 /* RCTFileReaderModule.m */; };
+ 670F9E6C32D57249C04BC6F6F89F7F6C /* RNRootViewGestureRecognizer.h in Headers */ = {isa = PBXBuildFile; fileRef = 523BA9A62CA4C42C492AC7CBECC7A54F /* RNRootViewGestureRecognizer.h */; settings = {ATTRIBUTES = (Project, ); }; };
+ 67683016FEB53AB52ADBCE765D0A5105 /* RNSScreenContainer.m in Sources */ = {isa = PBXBuildFile; fileRef = 12C28A6A684A7ADA14C7E489DE47A436 /* RNSScreenContainer.m */; };
+ 676B0CFC7C6EEF6BA6BFEBC4FE1C3341 /* RCTProgressViewManager.m in Sources */ = {isa = PBXBuildFile; fileRef = 095473B9971910CFCBA51012A4D036C4 /* RCTProgressViewManager.m */; settings = {COMPILER_FLAGS = "-DFOLLY_NO_CONFIG -DFOLLY_MOBILE=1 -DFOLLY_USE_LIBCPP=1 -Wno-comma -Wno-shorten-64-to-32 -Wno-documentation"; }; };
+ 67DECE4D851DC64A84F0A6AB68009C3E /* UMReactFontManager.m in Sources */ = {isa = PBXBuildFile; fileRef = CF3FA4A15D3036731F6376E6CF203C6B /* UMReactFontManager.m */; };
67EC503D6E3E390A859DB9AC74C64686 /* FIRInstanceIDConstants.m in Sources */ = {isa = PBXBuildFile; fileRef = 42AD1A62B2DB78307541F25B89537947 /* FIRInstanceIDConstants.m */; };
- 67ED22D95C9FD71789906A1758236882 /* BSG_KSDynamicLinker.c in Sources */ = {isa = PBXBuildFile; fileRef = 7F0968700D452A7EBB23288582AD4900 /* BSG_KSDynamicLinker.c */; };
- 67EEF19BF3AAA9BC01A797F0823204ED /* SDImageIOCoder.h in Headers */ = {isa = PBXBuildFile; fileRef = 01F03CBA6207DF026B6B5E5BC4D51937 /* SDImageIOCoder.h */; settings = {ATTRIBUTES = (Project, ); }; };
- 67EEFE45270BA2AACB0BD7F36BDA59D6 /* RCTReloadCommand.h in Headers */ = {isa = PBXBuildFile; fileRef = B959E144167D2AD7B241FF524D35519B /* RCTReloadCommand.h */; settings = {ATTRIBUTES = (Project, ); }; };
- 67F70682DB9104E138DAC771FE79610D /* CGGeometry+RSKImageCropper.h in Headers */ = {isa = PBXBuildFile; fileRef = 45C008E4BE5488278FE31813E3855959 /* CGGeometry+RSKImageCropper.h */; settings = {ATTRIBUTES = (Project, ); }; };
+ 67ED22D95C9FD71789906A1758236882 /* BSG_KSDynamicLinker.c in Sources */ = {isa = PBXBuildFile; fileRef = 47A890747EFF40C463428231DD96DB4D /* BSG_KSDynamicLinker.c */; };
+ 67EEFE45270BA2AACB0BD7F36BDA59D6 /* RCTReloadCommand.h in Headers */ = {isa = PBXBuildFile; fileRef = 708E90F2F4724B1C5C712DC77160621C /* RCTReloadCommand.h */; settings = {ATTRIBUTES = (Project, ); }; };
+ 68112EB851AA021B6B560364BD55DD0F /* RNPanHandler.h in Headers */ = {isa = PBXBuildFile; fileRef = 5D6CED667E16A87B197541773CF41D9F /* RNPanHandler.h */; settings = {ATTRIBUTES = (Project, ); }; };
68190710D393915B1F9073BDEC0A96FF /* pb_encode.h in Headers */ = {isa = PBXBuildFile; fileRef = B885435506486A728A6F4CF74AC1AC63 /* pb_encode.h */; settings = {ATTRIBUTES = (Project, ); }; };
- 683086ED7161030A5DCE33C05295F6AC /* RNCUIWebViewManager.h in Headers */ = {isa = PBXBuildFile; fileRef = 0022FD89BB7864548C76C36476B35E27 /* RNCUIWebViewManager.h */; settings = {ATTRIBUTES = (Project, ); }; };
- 6852C1FCD4B281C9225CC0BC1B231A2B /* FFFastImageView.m in Sources */ = {isa = PBXBuildFile; fileRef = 15059676525287416D7B91C6DB0DA8C9 /* FFFastImageView.m */; };
- 685BA1E144D695D6998FA502F7CB3D21 /* RNNotificationUtils.h in Headers */ = {isa = PBXBuildFile; fileRef = 0DB9997E5CF5578BE878C8C9A484C286 /* RNNotificationUtils.h */; settings = {ATTRIBUTES = (Project, ); }; };
- 687799A37E45837BEF374E65D8B61FDE /* RCTCxxConvert.h in Headers */ = {isa = PBXBuildFile; fileRef = 9BD1B36C4EBFEEBC26F0825C6EBC0C7B /* RCTCxxConvert.h */; settings = {ATTRIBUTES = (Project, ); }; };
- 68783E67DD83AFB8310A3CE71AD5E313 /* RCTSurfaceRootView.h in Headers */ = {isa = PBXBuildFile; fileRef = 78DBCB19EB8D7DD044AF3B0906ADE2E8 /* RCTSurfaceRootView.h */; settings = {ATTRIBUTES = (Project, ); }; };
- 68AD8308D7D6E2C08A50C3BF1E0FD10F /* RCTCxxMethod.h in Headers */ = {isa = PBXBuildFile; fileRef = 4CA2332F891BB5B1F33F3409AE18A4C2 /* RCTCxxMethod.h */; settings = {ATTRIBUTES = (Project, ); }; };
- 68C287FECA03B2DD27950AB838AB4FD8 /* BSG_KSJSONCodec.h in Headers */ = {isa = PBXBuildFile; fileRef = A61296D9E57362DDE6208AD52EE461FE /* BSG_KSJSONCodec.h */; settings = {ATTRIBUTES = (Project, ); }; };
- 68C6678CBDF5D435B8A2EC7AAC70EAB4 /* BugsnagNotifier.m in Sources */ = {isa = PBXBuildFile; fileRef = 8DD581FB45CC2426538DC755D37D7289 /* BugsnagNotifier.m */; };
- 6911418079370F89A57E161AEF1725EB /* BugsnagUser.h in Headers */ = {isa = PBXBuildFile; fileRef = 861F24E4E05D413D59F4D2E2ED6AA406 /* BugsnagUser.h */; settings = {ATTRIBUTES = (Project, ); }; };
- 6931BD733D84F811C835E0CEBE6DEE86 /* SDWebImagePrefetcher.m in Sources */ = {isa = PBXBuildFile; fileRef = E2541FB02FE40FF14C262B8CF5A76AFC /* SDWebImagePrefetcher.m */; };
+ 684EE7D30E9F5B6CD4D084B399FE9749 /* SDImageWebPCoder.h in Headers */ = {isa = PBXBuildFile; fileRef = 81D747E2F3E6EBEAAA0E0A5F0B1389BE /* SDImageWebPCoder.h */; settings = {ATTRIBUTES = (Project, ); }; };
+ 687799A37E45837BEF374E65D8B61FDE /* RCTCxxConvert.h in Headers */ = {isa = PBXBuildFile; fileRef = 4E77B46D7DF1834079EA8F1289DA11AA /* RCTCxxConvert.h */; settings = {ATTRIBUTES = (Project, ); }; };
+ 68783E67DD83AFB8310A3CE71AD5E313 /* RCTSurfaceRootView.h in Headers */ = {isa = PBXBuildFile; fileRef = 2A030D198A83850CA32F082AC438D239 /* RCTSurfaceRootView.h */; settings = {ATTRIBUTES = (Project, ); }; };
+ 68A304547C85EA029A909415CB1CB2A6 /* RCTVideoPlayerViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 31B14B9A8CE4AC71FCAE7741A1B006BC /* RCTVideoPlayerViewController.m */; };
+ 68AD8308D7D6E2C08A50C3BF1E0FD10F /* RCTCxxMethod.h in Headers */ = {isa = PBXBuildFile; fileRef = 5141F1063A39280F0B5D5F5A45500410 /* RCTCxxMethod.h */; settings = {ATTRIBUTES = (Project, ); }; };
+ 68C287FECA03B2DD27950AB838AB4FD8 /* BSG_KSJSONCodec.h in Headers */ = {isa = PBXBuildFile; fileRef = 8EA7DD9EC3A60C9FF70AD89A200AF009 /* BSG_KSJSONCodec.h */; settings = {ATTRIBUTES = (Project, ); }; };
+ 68C6678CBDF5D435B8A2EC7AAC70EAB4 /* BugsnagNotifier.m in Sources */ = {isa = PBXBuildFile; fileRef = CD32AAC6895C0008517A8C32BFD3AAE3 /* BugsnagNotifier.m */; };
+ 68DA2D2DE9ECD5523E230C6704C86714 /* SDImageGIFCoder.m in Sources */ = {isa = PBXBuildFile; fileRef = 824EE839D2B98492FAEBBFBA0AD6A98C /* SDImageGIFCoder.m */; };
+ 6911418079370F89A57E161AEF1725EB /* BugsnagUser.h in Headers */ = {isa = PBXBuildFile; fileRef = 8C65DDE6B1D91D5A2567695A13BC74E1 /* BugsnagUser.h */; settings = {ATTRIBUTES = (Project, ); }; };
+ 692CDD864F3BC0D2B5FDF8FC3C99194F /* RNFirebaseFirestoreCollectionReference.h in Headers */ = {isa = PBXBuildFile; fileRef = 8CAC96E279AEEE1CE0741959B34E951E /* RNFirebaseFirestoreCollectionReference.h */; settings = {ATTRIBUTES = (Project, ); }; };
69370EAFFC2716D6767AFF2A51A884BE /* FIRLibrary.h in Headers */ = {isa = PBXBuildFile; fileRef = 74DD844B9B87D799C1AE3FD4C59F6A4E /* FIRLibrary.h */; settings = {ATTRIBUTES = (Project, ); }; };
- 693B55937B59392D929473D8062C8985 /* RNSplashScreen.m in Sources */ = {isa = PBXBuildFile; fileRef = 2960AF25EB7EC61550C3296AB1644E49 /* RNSplashScreen.m */; };
- 69487564B0834006F03B06DF0C720214 /* RCTParserUtils.h in Headers */ = {isa = PBXBuildFile; fileRef = 273486DD1559698BF359A4D8DFF25D63 /* RCTParserUtils.h */; settings = {ATTRIBUTES = (Project, ); }; };
+ 69487564B0834006F03B06DF0C720214 /* RCTParserUtils.h in Headers */ = {isa = PBXBuildFile; fileRef = 086095FEB108D360EED5DE6BD3269DCE /* RCTParserUtils.h */; settings = {ATTRIBUTES = (Project, ); }; };
6948C8D514B377447A15A08AD73DA213 /* yuv_neon.c in Sources */ = {isa = PBXBuildFile; fileRef = 594282087989AF36C10364EE452A9C01 /* yuv_neon.c */; settings = {COMPILER_FLAGS = "-D_THREAD_SAFE -fno-objc-arc"; }; };
- 695584A1ADD597D495916BDD2FDC3650 /* RCTAnimationUtils.h in Headers */ = {isa = PBXBuildFile; fileRef = E4672B68089DDB6744450CE4B6FA88AC /* RCTAnimationUtils.h */; settings = {ATTRIBUTES = (Project, ); }; };
- 696DE9FAA9FD7EDE0790CA8B1C56A77B /* RCTRawTextShadowView.h in Headers */ = {isa = PBXBuildFile; fileRef = B7BB80F4C134C9A18F62C9E4003451A6 /* RCTRawTextShadowView.h */; settings = {ATTRIBUTES = (Project, ); }; };
+ 695584A1ADD597D495916BDD2FDC3650 /* RCTAnimationUtils.h in Headers */ = {isa = PBXBuildFile; fileRef = 4F28CC964830BEDF04AFC2674A1541EB /* RCTAnimationUtils.h */; settings = {ATTRIBUTES = (Project, ); }; };
+ 696DE9FAA9FD7EDE0790CA8B1C56A77B /* RCTRawTextShadowView.h in Headers */ = {isa = PBXBuildFile; fileRef = 552DF227846E9524413D1B5DD127DB16 /* RCTRawTextShadowView.h */; settings = {ATTRIBUTES = (Project, ); }; };
69925D0DD4DD4DA4E2DB75E545FA2ECE /* GULNetworkConstants.h in Headers */ = {isa = PBXBuildFile; fileRef = 7907711E9EC8BC00FC538071C7B27F2C /* GULNetworkConstants.h */; settings = {ATTRIBUTES = (Project, ); }; };
699A3647F99D6D97EAE31610A587772D /* ssim_sse2.c in Sources */ = {isa = PBXBuildFile; fileRef = 0510373B94598A9767C0963E9A6BC64E /* ssim_sse2.c */; settings = {COMPILER_FLAGS = "-D_THREAD_SAFE -fno-objc-arc"; }; };
- 69BE20698C4903CB95731223388B9871 /* RCTMaskedViewManager.h in Headers */ = {isa = PBXBuildFile; fileRef = 045465C4C84505010AE52D59D22E92C9 /* RCTMaskedViewManager.h */; settings = {ATTRIBUTES = (Project, ); }; };
+ 69BE20698C4903CB95731223388B9871 /* RCTMaskedViewManager.h in Headers */ = {isa = PBXBuildFile; fileRef = F4741CBAA1232FA2110EAB2208C270EA /* RCTMaskedViewManager.h */; settings = {ATTRIBUTES = (Project, ); }; };
69D0CEF50A2D9B50B92B2C4772683296 /* muxinternal.c in Sources */ = {isa = PBXBuildFile; fileRef = 6F6C6DB052C41744E9FEF38DE60428AB /* muxinternal.c */; settings = {COMPILER_FLAGS = "-D_THREAD_SAFE -fno-objc-arc"; }; };
- 6A1A684D778469E37F5842E613000AC5 /* RCTCustomKeyboardViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = E687F511007597290A1E67C6F74DB3D9 /* RCTCustomKeyboardViewController.m */; };
- 6A26EEE5E7BB3D46E96938B61D55D36D /* UIColor+HexString.m in Sources */ = {isa = PBXBuildFile; fileRef = 1790AD0B2963EB8D13EA46C917A4E131 /* UIColor+HexString.m */; };
- 6A3C7FD4A0143BBA4B4BAC7B9E15288B /* RCTValueAnimatedNode.h in Headers */ = {isa = PBXBuildFile; fileRef = A22F31C86734FC212761D7EDAD6C4CD1 /* RCTValueAnimatedNode.h */; settings = {ATTRIBUTES = (Project, ); }; };
- 6A75227A9638E3AD9CF6D469129D03A0 /* BugsnagMetaData.m in Sources */ = {isa = PBXBuildFile; fileRef = D9370F793114A591B298E4EC69B63A5E /* BugsnagMetaData.m */; };
+ 69D18EE29992004E3BB49F63C006682A /* SDWebImageDownloaderOperation.m in Sources */ = {isa = PBXBuildFile; fileRef = 7132F70EC627B372196080017B2E19F0 /* SDWebImageDownloaderOperation.m */; };
+ 6A3C7FD4A0143BBA4B4BAC7B9E15288B /* RCTValueAnimatedNode.h in Headers */ = {isa = PBXBuildFile; fileRef = 8C3CF8EB5AE576384F0867E50B3D357D /* RCTValueAnimatedNode.h */; settings = {ATTRIBUTES = (Project, ); }; };
+ 6A75227A9638E3AD9CF6D469129D03A0 /* BugsnagMetaData.m in Sources */ = {isa = PBXBuildFile; fileRef = 88C6677A7F054E873DA4AFB3A6C6B5C1 /* BugsnagMetaData.m */; };
6AA5596E1B32B6664794B84C8D53BB3C /* GULMutableDictionary.m in Sources */ = {isa = PBXBuildFile; fileRef = E5D4F81BF340315EA867D6D188608826 /* GULMutableDictionary.m */; };
+ 6AB7190C9A24989103A57D948F7B3E2C /* RNFirebaseInstanceId.m in Sources */ = {isa = PBXBuildFile; fileRef = 92F0E34EFE64A70CDAE49DABC22E65DF /* RNFirebaseInstanceId.m */; };
6AF54979B8410B311076E6D99ACE9227 /* FIRInstanceIDTokenOperation.h in Headers */ = {isa = PBXBuildFile; fileRef = A1CA03A38C1012C7FA5B58E0D6DA05AF /* FIRInstanceIDTokenOperation.h */; settings = {ATTRIBUTES = (Project, ); }; };
+ 6B031BFCF23F5FFDE5F4FFC4918E97C3 /* RSKImageCropViewController.h in Headers */ = {isa = PBXBuildFile; fileRef = 6D64EF5101331F914CBA4CF73233F909 /* RSKImageCropViewController.h */; settings = {ATTRIBUTES = (Project, ); }; };
6B03F7DAACE961063D099292F66AAE31 /* pb.h in Headers */ = {isa = PBXBuildFile; fileRef = 5D43582592C7FAE9E68F3FBEAA0764DB /* pb.h */; settings = {ATTRIBUTES = (Project, ); }; };
- 6B24587056B43B44A33D33481C1F0B7C /* EXCalendarRequester.h in Headers */ = {isa = PBXBuildFile; fileRef = F97BCFDB4D1965C40895F69406C4058C /* EXCalendarRequester.h */; settings = {ATTRIBUTES = (Project, ); }; };
- 6B461FE91158C1ACFF628B9CA3F2AF54 /* RCTDatePickerManager.m in Sources */ = {isa = PBXBuildFile; fileRef = 7D30BF191B30E63EF701971CA51BFA68 /* RCTDatePickerManager.m */; settings = {COMPILER_FLAGS = "-DFOLLY_NO_CONFIG -DFOLLY_MOBILE=1 -DFOLLY_USE_LIBCPP=1 -Wno-comma -Wno-shorten-64-to-32 -Wno-documentation"; }; };
- 6B522302A9BF66638B95BB21EF10F035 /* BugsnagSink.h in Headers */ = {isa = PBXBuildFile; fileRef = 4529721F7F3914D91C7DF703244D1A81 /* BugsnagSink.h */; settings = {ATTRIBUTES = (Project, ); }; };
- 6B88118D132A3E0B6E70D76285C24A56 /* UIView+React.m in Sources */ = {isa = PBXBuildFile; fileRef = CFDE1376E6828E22D561840CB3350D48 /* UIView+React.m */; settings = {COMPILER_FLAGS = "-DFOLLY_NO_CONFIG -DFOLLY_MOBILE=1 -DFOLLY_USE_LIBCPP=1 -Wno-comma -Wno-shorten-64-to-32 -Wno-documentation"; }; };
- 6B9E1F2B26781ADACF3555FE2033DED5 /* SDImageLoadersManager.h in Headers */ = {isa = PBXBuildFile; fileRef = 4FB245E32C3A6682B5F1F217E8689ECE /* SDImageLoadersManager.h */; settings = {ATTRIBUTES = (Project, ); }; };
- 6BB06CB7446BCBD59FD95F327DF028BF /* EXConstantsService.m in Sources */ = {isa = PBXBuildFile; fileRef = 99F0814456B08C848FD3C937B3A13212 /* EXConstantsService.m */; };
+ 6B24587056B43B44A33D33481C1F0B7C /* EXCalendarRequester.h in Headers */ = {isa = PBXBuildFile; fileRef = FEE8D2134A9AB7F98861DB5367C7D04A /* EXCalendarRequester.h */; settings = {ATTRIBUTES = (Project, ); }; };
+ 6B461FE91158C1ACFF628B9CA3F2AF54 /* RCTDatePickerManager.m in Sources */ = {isa = PBXBuildFile; fileRef = 6F0FBDAFB71605F22BD3DC3CC4AC8843 /* RCTDatePickerManager.m */; settings = {COMPILER_FLAGS = "-DFOLLY_NO_CONFIG -DFOLLY_MOBILE=1 -DFOLLY_USE_LIBCPP=1 -Wno-comma -Wno-shorten-64-to-32 -Wno-documentation"; }; };
+ 6B522302A9BF66638B95BB21EF10F035 /* BugsnagSink.h in Headers */ = {isa = PBXBuildFile; fileRef = E34DD571F3FA872DA13B8B1A8D42B50B /* BugsnagSink.h */; settings = {ATTRIBUTES = (Project, ); }; };
+ 6B88118D132A3E0B6E70D76285C24A56 /* UIView+React.m in Sources */ = {isa = PBXBuildFile; fileRef = CAF25DAD31AF7C43871EDA47B756718F /* UIView+React.m */; settings = {COMPILER_FLAGS = "-DFOLLY_NO_CONFIG -DFOLLY_MOBILE=1 -DFOLLY_USE_LIBCPP=1 -Wno-comma -Wno-shorten-64-to-32 -Wno-documentation"; }; };
+ 6BB06CB7446BCBD59FD95F327DF028BF /* EXConstantsService.m in Sources */ = {isa = PBXBuildFile; fileRef = 444723BD42AC72A9643D75D4B433E6EC /* EXConstantsService.m */; };
+ 6C098A467B679C237BADBDDC809B7A7C /* SDImageLoader.m in Sources */ = {isa = PBXBuildFile; fileRef = FC8B40BC2C1C968C0458B1C094B1E998 /* SDImageLoader.m */; };
6C22640B5700F54A8782D9863B890045 /* fixed-dtoa.cc in Sources */ = {isa = PBXBuildFile; fileRef = DFB1E70FE8A4ACB058E5A848B6DF1DED /* fixed-dtoa.cc */; settings = {COMPILER_FLAGS = "-Wno-unreachable-code"; }; };
6C313331E905110E725915EB39D5616D /* predictor_enc.c in Sources */ = {isa = PBXBuildFile; fileRef = 6FE80C9C061E41F73026A137910092C9 /* predictor_enc.c */; settings = {COMPILER_FLAGS = "-D_THREAD_SAFE -fno-objc-arc"; }; };
- 6C331FD9A6D39A5BB8B514A77B8F14EB /* RSKImageScrollView.m in Sources */ = {isa = PBXBuildFile; fileRef = C731293D6C62BFF71015F20F1D0B3D6E /* RSKImageScrollView.m */; };
- 6C50E9571D234D7FB4B03B8FDDBCDAD2 /* RCTTrackingAnimatedNode.m in Sources */ = {isa = PBXBuildFile; fileRef = F44B82AC12652665A45A809FB8C06743 /* RCTTrackingAnimatedNode.m */; };
- 6C8A4C64FA432565E4D72C641396D7C0 /* EXAV.h in Headers */ = {isa = PBXBuildFile; fileRef = DEFA6E75C2E598A8438BCEA6D6CADE3E /* EXAV.h */; settings = {ATTRIBUTES = (Project, ); }; };
- 6CCC62649B7DC5822A5F0AA16495829A /* RCTInterpolationAnimatedNode.h in Headers */ = {isa = PBXBuildFile; fileRef = 52861F1C3B569B177E40FF97391DBAC3 /* RCTInterpolationAnimatedNode.h */; settings = {ATTRIBUTES = (Project, ); }; };
- 6CE2C772F0BE6DBCBCC185C467AC4D9A /* UIImage+Metadata.h in Headers */ = {isa = PBXBuildFile; fileRef = 9DB8190846E8E246C6CC351EFDA74893 /* UIImage+Metadata.h */; settings = {ATTRIBUTES = (Project, ); }; };
+ 6C50E9571D234D7FB4B03B8FDDBCDAD2 /* RCTTrackingAnimatedNode.m in Sources */ = {isa = PBXBuildFile; fileRef = FB79BF7563439FCB5D77BE1F8E848674 /* RCTTrackingAnimatedNode.m */; };
+ 6C8A4C64FA432565E4D72C641396D7C0 /* EXAV.h in Headers */ = {isa = PBXBuildFile; fileRef = EA4C55ACADC34854109D7A8B9868B2DD /* EXAV.h */; settings = {ATTRIBUTES = (Project, ); }; };
+ 6CCC62649B7DC5822A5F0AA16495829A /* RCTInterpolationAnimatedNode.h in Headers */ = {isa = PBXBuildFile; fileRef = 48B05EB643E82025C869218122AFBBA2 /* RCTInterpolationAnimatedNode.h */; settings = {ATTRIBUTES = (Project, ); }; };
6CF8E2969BC0CAAA1DE5BD0A721F14BF /* FIRAppAssociationRegistration.h in Headers */ = {isa = PBXBuildFile; fileRef = 93680475AD4797494EE536ACB0648D9C /* FIRAppAssociationRegistration.h */; settings = {ATTRIBUTES = (Project, ); }; };
- 6D4D4B67344E041AE683B3C9B3C6F1F4 /* RNNotificationCenter.m in Sources */ = {isa = PBXBuildFile; fileRef = 25626B733FBC5428F888A6DB139F0B6F /* RNNotificationCenter.m */; };
- 6D57C7D8A352BD81ED9E06AE9FB3954E /* RNLocalize.h in Headers */ = {isa = PBXBuildFile; fileRef = 653B39B6BD1D92667AAB74724CFD5A92 /* RNLocalize.h */; settings = {ATTRIBUTES = (Project, ); }; };
+ 6CF90CD0939A0811FB13B0F966D0FC28 /* ReactNativeShareExtension.h in Headers */ = {isa = PBXBuildFile; fileRef = 97C4705B347DE2BB15EC1123E6DE2445 /* ReactNativeShareExtension.h */; settings = {ATTRIBUTES = (Project, ); }; };
+ 6CFB211E3805AB92342D726710088B91 /* LNAnimator.m in Sources */ = {isa = PBXBuildFile; fileRef = FC2E9CCAD5A01C660271E564A7B6A057 /* LNAnimator.m */; };
+ 6D5AD3F624315C6E04F08A386EAAFE77 /* DeviceUID.h in Headers */ = {isa = PBXBuildFile; fileRef = 0641686D71D2067D107571FD733BB6B0 /* DeviceUID.h */; settings = {ATTRIBUTES = (Project, ); }; };
+ 6D5F4164F0E3BCF6C9E2AF17F82CD73B /* RNNotificationCenterListener.h in Headers */ = {isa = PBXBuildFile; fileRef = 1AFA9026FC3001F8C5E2519E9DEA378F /* RNNotificationCenterListener.h */; settings = {ATTRIBUTES = (Project, ); }; };
6D71A6D5CBB1BDEE1413910216E73651 /* bit_writer_utils.h in Headers */ = {isa = PBXBuildFile; fileRef = 21D0E54F90D942CFFB20072076E8211B /* bit_writer_utils.h */; settings = {ATTRIBUTES = (Project, ); }; };
- 6DA4A6EE6D924E01F192AE89E79431D5 /* RCTScrollContentShadowView.m in Sources */ = {isa = PBXBuildFile; fileRef = 36175B5C86CB7605CEDD1C6CD267CE2E /* RCTScrollContentShadowView.m */; settings = {COMPILER_FLAGS = "-DFOLLY_NO_CONFIG -DFOLLY_MOBILE=1 -DFOLLY_USE_LIBCPP=1 -Wno-comma -Wno-shorten-64-to-32 -Wno-documentation"; }; };
- 6DB26ECBF06ECC0DF5A39C598A4C4CB3 /* SDImageCachesManagerOperation.h in Headers */ = {isa = PBXBuildFile; fileRef = 89B4FD8CA9054A81A0FA45E459742F09 /* SDImageCachesManagerOperation.h */; settings = {ATTRIBUTES = (Project, ); }; };
- 6E3400348EC1A3F1C9A6F2D25AD41F5C /* JSIExecutor.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B64F3B5FC15950DBD9C5CB605A8FA833 /* JSIExecutor.cpp */; settings = {COMPILER_FLAGS = "-DFOLLY_NO_CONFIG -DFOLLY_MOBILE=1 -DFOLLY_USE_LIBCPP=1 -Wno-comma -Wno-shorten-64-to-32 -Wno-documentation"; }; };
- 6E355BA53F5FAFB7CB0F701DB1EC511E /* BSG_KSCrashReportFilterCompletion.h in Headers */ = {isa = PBXBuildFile; fileRef = 1EC4A272B6E127A9C33B0FE1DA1362CA /* BSG_KSCrashReportFilterCompletion.h */; settings = {ATTRIBUTES = (Project, ); }; };
- 6E413F2123B8D893194F79F5874ED17E /* RNForceTouchHandler.m in Sources */ = {isa = PBXBuildFile; fileRef = CD3B180613A2EA8F21243C53BB611D40 /* RNForceTouchHandler.m */; };
- 6E6137B520085047EC61DF8F98A79055 /* UIImage+Transform.h in Headers */ = {isa = PBXBuildFile; fileRef = 0D29723E132E50EDDE27A39DA7304A41 /* UIImage+Transform.h */; settings = {ATTRIBUTES = (Project, ); }; };
+ 6DA4A6EE6D924E01F192AE89E79431D5 /* RCTScrollContentShadowView.m in Sources */ = {isa = PBXBuildFile; fileRef = 6D3DF6BF4D44FFF5237164CB4C2D9D51 /* RCTScrollContentShadowView.m */; settings = {COMPILER_FLAGS = "-DFOLLY_NO_CONFIG -DFOLLY_MOBILE=1 -DFOLLY_USE_LIBCPP=1 -Wno-comma -Wno-shorten-64-to-32 -Wno-documentation"; }; };
+ 6E0F33718566B67D30A6C9E9363F801B /* QBAssetCell.h in Headers */ = {isa = PBXBuildFile; fileRef = D789BEB1135AC3B0BE77669B26C9A31F /* QBAssetCell.h */; settings = {ATTRIBUTES = (Project, ); }; };
+ 6E3400348EC1A3F1C9A6F2D25AD41F5C /* JSIExecutor.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 38DD6F197EE6D0E98EB6E2CD1EE2A95A /* JSIExecutor.cpp */; settings = {COMPILER_FLAGS = "-DFOLLY_NO_CONFIG -DFOLLY_MOBILE=1 -DFOLLY_USE_LIBCPP=1 -Wno-comma -Wno-shorten-64-to-32 -Wno-documentation"; }; };
+ 6E355BA53F5FAFB7CB0F701DB1EC511E /* BSG_KSCrashReportFilterCompletion.h in Headers */ = {isa = PBXBuildFile; fileRef = 9AB937414925E2706109A56FA11FE4A4 /* BSG_KSCrashReportFilterCompletion.h */; settings = {ATTRIBUTES = (Project, ); }; };
+ 6E529C30A1ED9021DA661CCBEDA93C06 /* Compression.h in Headers */ = {isa = PBXBuildFile; fileRef = 0393F01D63216EDA817EB799C5633398 /* Compression.h */; settings = {ATTRIBUTES = (Project, ); }; };
+ 6E52E64A166A967856B2B2D559E1CD1E /* KeyboardTrackingViewManager.h in Headers */ = {isa = PBXBuildFile; fileRef = 6FA2A1BE2C4225B1E0B19F4A6B2B11E2 /* KeyboardTrackingViewManager.h */; settings = {ATTRIBUTES = (Project, ); }; };
+ 6E98ACED51F3D9C0556FCB70664651D1 /* QBCheckmarkView.m in Sources */ = {isa = PBXBuildFile; fileRef = A836867763AB278FFD3A87A5F598E5BA /* QBCheckmarkView.m */; };
6E9BFAD5B692CACAAC407E94819C5C8E /* cost_enc.c in Sources */ = {isa = PBXBuildFile; fileRef = 9A0DC047FF573AC4EA8264968E5B9CC1 /* cost_enc.c */; settings = {COMPILER_FLAGS = "-D_THREAD_SAFE -fno-objc-arc"; }; };
- 6EC5D25DFA871AA936F9E35AD916B2F9 /* RCTClipboard.h in Headers */ = {isa = PBXBuildFile; fileRef = 249F1BEB891A44B8060F0B8BF61FC4A3 /* RCTClipboard.h */; settings = {ATTRIBUTES = (Project, ); }; };
- 6EE1CA2114AC1ACA31077B7F7577CDF4 /* RCTScrollContentViewManager.h in Headers */ = {isa = PBXBuildFile; fileRef = D930BC5FF9A392CA56D60A919D089089 /* RCTScrollContentViewManager.h */; settings = {ATTRIBUTES = (Project, ); }; };
+ 6EA6E1EE6E9F1946DC020A567FB0F711 /* RNFirebaseAnalytics.m in Sources */ = {isa = PBXBuildFile; fileRef = C7902EEFB3FBAB2520536581BD984785 /* RNFirebaseAnalytics.m */; };
+ 6EB39762ACF16D34301CD31B2C2B2945 /* RNFirebaseAdMobNativeExpressManager.m in Sources */ = {isa = PBXBuildFile; fileRef = 067B06A85B9D53A80DD0E9253B98249E /* RNFirebaseAdMobNativeExpressManager.m */; };
+ 6EC5D25DFA871AA936F9E35AD916B2F9 /* RCTClipboard.h in Headers */ = {isa = PBXBuildFile; fileRef = 786CC77F75AE0B60266BC2437E4EDE55 /* RCTClipboard.h */; settings = {ATTRIBUTES = (Project, ); }; };
+ 6EE1CA2114AC1ACA31077B7F7577CDF4 /* RCTScrollContentViewManager.h in Headers */ = {isa = PBXBuildFile; fileRef = B445103ADDB46688A5B7756739A48858 /* RCTScrollContentViewManager.h */; settings = {ATTRIBUTES = (Project, ); }; };
+ 6F153C772FA4E895D127C9EEFD73412C /* SDWebImageDownloaderOperation.h in Headers */ = {isa = PBXBuildFile; fileRef = 2874E9D7F91378B53209C8A8A27A66AB /* SDWebImageDownloaderOperation.h */; settings = {ATTRIBUTES = (Project, ); }; };
6F4258691BBFBCBACDBEB1CE07169A3E /* huffman_encode_utils.h in Headers */ = {isa = PBXBuildFile; fileRef = 2C29351F69633F0477675945DDB8437E /* huffman_encode_utils.h */; settings = {ATTRIBUTES = (Project, ); }; };
6F4E8B663EB256B775EA2F06FC361A76 /* rescaler_mips_dsp_r2.c in Sources */ = {isa = PBXBuildFile; fileRef = 313762AF266C7009558E8B0605421342 /* rescaler_mips_dsp_r2.c */; settings = {COMPILER_FLAGS = "-D_THREAD_SAFE -fno-objc-arc"; }; };
- 6F6E6AC06C123F646F01323135ABE5F9 /* jsi.h in Headers */ = {isa = PBXBuildFile; fileRef = FC02F9587E448CB99D5FFBB87C167E98 /* jsi.h */; settings = {ATTRIBUTES = (Project, ); }; };
- 6F8543B4FBC3C7A596C612E4443CB053 /* ReactNativeShareExtension.h in Headers */ = {isa = PBXBuildFile; fileRef = 1970243471FEC2FF55FBCA805E63C603 /* ReactNativeShareExtension.h */; settings = {ATTRIBUTES = (Project, ); }; };
- 6FB19AACFA1EE79DFF0B308E0F08C184 /* jsilib-windows.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 6451EC2F804173E1AA600400D0069F26 /* jsilib-windows.cpp */; settings = {COMPILER_FLAGS = "-DFOLLY_NO_CONFIG -DFOLLY_MOBILE=1 -DFOLLY_USE_LIBCPP=1 -Wno-comma -Wno-shorten-64-to-32 -Wno-documentation"; }; };
- 6FB372AC7B05A3A0F88156E5CE788B4D /* RCTKeyboardObserver.h in Headers */ = {isa = PBXBuildFile; fileRef = 10C5743D19534B63A7CBBB66D5A6F69D /* RCTKeyboardObserver.h */; settings = {ATTRIBUTES = (Project, ); }; };
- 70555A52A6A1142B777E3912D064B014 /* UIImage+RSKImageCropper.m in Sources */ = {isa = PBXBuildFile; fileRef = 910FBA084A244FC40F5649FB7BD19F56 /* UIImage+RSKImageCropper.m */; };
- 70C118C7502A16753C746515F819E801 /* React-jsinspector-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 99143B01CB4D8AF0A059379275EFE729 /* React-jsinspector-dummy.m */; };
+ 6F6E6AC06C123F646F01323135ABE5F9 /* jsi.h in Headers */ = {isa = PBXBuildFile; fileRef = 25EA2ECF7D516CADBF0A0D1A7D60FBDE /* jsi.h */; settings = {ATTRIBUTES = (Project, ); }; };
+ 6FB19AACFA1EE79DFF0B308E0F08C184 /* jsilib-windows.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 14E71F432CE4C06A1CB44174CDA57BF6 /* jsilib-windows.cpp */; settings = {COMPILER_FLAGS = "-DFOLLY_NO_CONFIG -DFOLLY_MOBILE=1 -DFOLLY_USE_LIBCPP=1 -Wno-comma -Wno-shorten-64-to-32 -Wno-documentation"; }; };
+ 6FB372AC7B05A3A0F88156E5CE788B4D /* RCTKeyboardObserver.h in Headers */ = {isa = PBXBuildFile; fileRef = 4457530BA40FABA8504D13C3C899FE3D /* RCTKeyboardObserver.h */; settings = {ATTRIBUTES = (Project, ); }; };
+ 70C118C7502A16753C746515F819E801 /* React-jsinspector-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = F24EAB6B82890574C23A43714F31A6EF /* React-jsinspector-dummy.m */; };
70FAC5BC128DFF5CD80CBAB721D7365C /* picture_csp_enc.c in Sources */ = {isa = PBXBuildFile; fileRef = 5B4395501655576E6E062C4C7F859940 /* picture_csp_enc.c */; settings = {COMPILER_FLAGS = "-D_THREAD_SAFE -fno-objc-arc"; }; };
- 7135FF812734363F0095440165E23E34 /* RCTModuleMethod.mm in Sources */ = {isa = PBXBuildFile; fileRef = E4EE4B9EDD9F80E5DA26B3351F529EFE /* RCTModuleMethod.mm */; settings = {COMPILER_FLAGS = "-DFOLLY_NO_CONFIG -DFOLLY_MOBILE=1 -DFOLLY_USE_LIBCPP=1 -Wno-comma -Wno-shorten-64-to-32 -Wno-documentation"; }; };
- 717BB18A43554B45B82D4E9A4C671EA6 /* UMModuleRegistry.m in Sources */ = {isa = PBXBuildFile; fileRef = A0321ED865802CFC4068FB06CABF7E43 /* UMModuleRegistry.m */; };
- 7198426DDE942B2D10C396770FFCA301 /* RCTConvert+CoreLocation.h in Headers */ = {isa = PBXBuildFile; fileRef = 5B08C63111B85C6D2D50C45DDAB489A9 /* RCTConvert+CoreLocation.h */; settings = {ATTRIBUTES = (Project, ); }; };
- 71C5C748E36B8C8141DDC62E5F90D03D /* Utils.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 5BC813B24E46BFD9B55756D3D4516D71 /* Utils.cpp */; settings = {COMPILER_FLAGS = "-fno-omit-frame-pointer -fexceptions -Wall -Werror -std=c++1y -fPIC -fno-objc-arc"; }; };
- 71D617A37DC48923D61D8823FAA006B6 /* QBVideoIndicatorView.h in Headers */ = {isa = PBXBuildFile; fileRef = 669D29B808A079357850471FA5DA96BD /* QBVideoIndicatorView.h */; settings = {ATTRIBUTES = (Project, ); }; };
- 721318A637DEA099AB4C0E182A28E42E /* RNSScreenContainer.h in Headers */ = {isa = PBXBuildFile; fileRef = 4FBA3D999D6F4C3A0BE6D88AB398CACF /* RNSScreenContainer.h */; settings = {ATTRIBUTES = (Project, ); }; };
+ 7135FF812734363F0095440165E23E34 /* RCTModuleMethod.mm in Sources */ = {isa = PBXBuildFile; fileRef = 0A1036366CB06517BD42AC22F2C67D5A /* RCTModuleMethod.mm */; settings = {COMPILER_FLAGS = "-DFOLLY_NO_CONFIG -DFOLLY_MOBILE=1 -DFOLLY_USE_LIBCPP=1 -Wno-comma -Wno-shorten-64-to-32 -Wno-documentation"; }; };
+ 7138860B481BD73119B807A8B2B27276 /* RNBridgeModule.m in Sources */ = {isa = PBXBuildFile; fileRef = 1DC0FAEBBBB8D5D55A96E6BB828B23B3 /* RNBridgeModule.m */; };
+ 717BB18A43554B45B82D4E9A4C671EA6 /* UMModuleRegistry.m in Sources */ = {isa = PBXBuildFile; fileRef = 6F8E20A4D899F0F7BC5FF46AB84BA566 /* UMModuleRegistry.m */; };
+ 7198426DDE942B2D10C396770FFCA301 /* RCTConvert+CoreLocation.h in Headers */ = {isa = PBXBuildFile; fileRef = E08B9299C8455DFD5E3EC3EB097E3542 /* RCTConvert+CoreLocation.h */; settings = {ATTRIBUTES = (Project, ); }; };
+ 71C5C748E36B8C8141DDC62E5F90D03D /* Utils.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 55FACE4DD8CEAAEC94E8FDF10B18CF73 /* Utils.cpp */; settings = {COMPILER_FLAGS = "-fno-omit-frame-pointer -fexceptions -Wall -Werror -std=c++1y -fPIC -fno-objc-arc"; }; };
7219BDA57912F639EDE3430A5F74DA01 /* quant_dec.c in Sources */ = {isa = PBXBuildFile; fileRef = 6D95B7BDAE5829AF31B506C54D91DD35 /* quant_dec.c */; settings = {COMPILER_FLAGS = "-D_THREAD_SAFE -fno-objc-arc"; }; };
72238A727023831852BF9A8C9B83C49E /* raw_logging.cc in Sources */ = {isa = PBXBuildFile; fileRef = 0F1F974B1874639C7483968B8110E00F /* raw_logging.cc */; settings = {COMPILER_FLAGS = "-Wno-shorten-64-to-32"; }; };
723874281B7102822C9263F25B4E9AD1 /* common_sse41.h in Headers */ = {isa = PBXBuildFile; fileRef = 747139FD8673B332F8CB4A2E0FE80426 /* common_sse41.h */; settings = {ATTRIBUTES = (Project, ); }; };
723B1DEC2C8098017A02DF898B87E8D0 /* GULLogger.m in Sources */ = {isa = PBXBuildFile; fileRef = 75B6263E8AF1D03986E8C1A3B7DA7D13 /* GULLogger.m */; };
- 7245B47946D76EC1F5D9DA78B538A843 /* UMReactNativeEventEmitter.m in Sources */ = {isa = PBXBuildFile; fileRef = 5C6B96EE18A9F15F81D4BC53356714AA /* UMReactNativeEventEmitter.m */; };
- 72502876A87B929311D1E46059F1E24C /* UIView+Private.h in Headers */ = {isa = PBXBuildFile; fileRef = D985E295D0911AB788789666733918B6 /* UIView+Private.h */; settings = {ATTRIBUTES = (Project, ); }; };
- 727D465086233ACD0DCA870466FD03C3 /* RCTVideoPlayerViewControllerDelegate.h in Headers */ = {isa = PBXBuildFile; fileRef = 359FAD87D59797BB841DF6D8D5A57E90 /* RCTVideoPlayerViewControllerDelegate.h */; settings = {ATTRIBUTES = (Project, ); }; };
- 72938CE2CF79C1AB1EFD9CB2D676968B /* MessageQueueThread.h in Headers */ = {isa = PBXBuildFile; fileRef = C16BBD3F9DB32C348B759A0836912335 /* MessageQueueThread.h */; settings = {ATTRIBUTES = (Project, ); }; };
- 729691698828402E3BDB07E6A54DA2AB /* RCTImageLoader.m in Sources */ = {isa = PBXBuildFile; fileRef = 7176BBB5336874DC3B05308E15681233 /* RCTImageLoader.m */; };
+ 72502876A87B929311D1E46059F1E24C /* UIView+Private.h in Headers */ = {isa = PBXBuildFile; fileRef = 621B521A021D4327D99BED508DF19F61 /* UIView+Private.h */; settings = {ATTRIBUTES = (Project, ); }; };
+ 72938CE2CF79C1AB1EFD9CB2D676968B /* MessageQueueThread.h in Headers */ = {isa = PBXBuildFile; fileRef = CE5233DDD16D284C0B49131CE227B4C8 /* MessageQueueThread.h */; settings = {ATTRIBUTES = (Project, ); }; };
+ 729691698828402E3BDB07E6A54DA2AB /* RCTImageLoader.m in Sources */ = {isa = PBXBuildFile; fileRef = 63EE11317E3B6D7DDA8328371D2BCE99 /* RCTImageLoader.m */; };
72BDF84A85955FC2E2BE3DBE9395CEC2 /* FIRInstanceIDCheckinService.m in Sources */ = {isa = PBXBuildFile; fileRef = A9757035002942D5475EB93B21A2877D /* FIRInstanceIDCheckinService.m */; };
- 7311D079135AA19490999D5A86F8D229 /* SDWebImage.h in Headers */ = {isa = PBXBuildFile; fileRef = 9C965760E58B11B2A08D130765B63410 /* SDWebImage.h */; settings = {ATTRIBUTES = (Project, ); }; };
- 731DF97D01938F702612F7E9203EC934 /* RNGestureHandlerDirection.h in Headers */ = {isa = PBXBuildFile; fileRef = 259E483981BB171FE3A086ACA5AA8C2A /* RNGestureHandlerDirection.h */; settings = {ATTRIBUTES = (Project, ); }; };
- 73208D16F0790500B6F3D72FF43DE0A3 /* RCTModalHostViewManager.h in Headers */ = {isa = PBXBuildFile; fileRef = D4459141073E524720835987B5ECDC1E /* RCTModalHostViewManager.h */; settings = {ATTRIBUTES = (Project, ); }; };
- 732765FD6238F14055836D9D269C44CA /* RNFetchBlobProgress.m in Sources */ = {isa = PBXBuildFile; fileRef = 41224D4DAFC913FDBAC653983954AB3C /* RNFetchBlobProgress.m */; };
- 7334E61640B8A3A3059B0220EE6220B4 /* RCTBaseTextInputShadowView.h in Headers */ = {isa = PBXBuildFile; fileRef = 9E6A9266F3DA1D07BCC5D8DB3266CE3E /* RCTBaseTextInputShadowView.h */; settings = {ATTRIBUTES = (Project, ); }; };
+ 73208D16F0790500B6F3D72FF43DE0A3 /* RCTModalHostViewManager.h in Headers */ = {isa = PBXBuildFile; fileRef = 289DFAC08040AB27F024DBC5ED3AE711 /* RCTModalHostViewManager.h */; settings = {ATTRIBUTES = (Project, ); }; };
+ 7334E61640B8A3A3059B0220EE6220B4 /* RCTBaseTextInputShadowView.h in Headers */ = {isa = PBXBuildFile; fileRef = C99FD8679A929D8A84E1CA60A99F30AE /* RCTBaseTextInputShadowView.h */; settings = {ATTRIBUTES = (Project, ); }; };
7351B6E93BF34663CA0551A948647BC6 /* json.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F038F6D1370F1EF0BC1212E367062BC3 /* json.cpp */; settings = {COMPILER_FLAGS = "-DFOLLY_NO_CONFIG -DFOLLY_MOBILE=1 -DFOLLY_USE_LIBCPP=1 -DFOLLY_HAVE_PTHREAD=1 -Wno-comma -Wno-shorten-64-to-32 -Wno-documentation"; }; };
- 73A95768CF71E0108D67BD7CECDC0FD0 /* RCTProgressViewManager.h in Headers */ = {isa = PBXBuildFile; fileRef = 435C852CA560EE0323E185617E04E2D8 /* RCTProgressViewManager.h */; settings = {ATTRIBUTES = (Project, ); }; };
- 73BD47676F71D5174D4D90ABE9ACD4F2 /* es.lproj in Resources */ = {isa = PBXBuildFile; fileRef = 1B083D62BEA49EF2CBD59BF9400BB3F4 /* es.lproj */; };
- 73C40A83129D4A39779C47D6F3831BFC /* BSG_KSObjCApple.h in Headers */ = {isa = PBXBuildFile; fileRef = 0745E5AA2E7EC75B5A3A51381A2932F8 /* BSG_KSObjCApple.h */; settings = {ATTRIBUTES = (Project, ); }; };
+ 73987DC9CAA594A204569B76B08287E1 /* UIApplication+RSKImageCropper.m in Sources */ = {isa = PBXBuildFile; fileRef = 0E5858952BC255E4AF38438449DD6844 /* UIApplication+RSKImageCropper.m */; };
+ 73A95768CF71E0108D67BD7CECDC0FD0 /* RCTProgressViewManager.h in Headers */ = {isa = PBXBuildFile; fileRef = 88BAE0204484EA61A3A2C20695E8056C /* RCTProgressViewManager.h */; settings = {ATTRIBUTES = (Project, ); }; };
+ 73C40A83129D4A39779C47D6F3831BFC /* BSG_KSObjCApple.h in Headers */ = {isa = PBXBuildFile; fileRef = 578BBEB9B771A9CBD1F16615D0B77E1A /* BSG_KSObjCApple.h */; settings = {ATTRIBUTES = (Project, ); }; };
73C4A99D26F6F9F116FECDE424AF7A45 /* GULReachabilityChecker+Internal.h in Headers */ = {isa = PBXBuildFile; fileRef = 182B86A858BBE37B1383AF9AEABD1C13 /* GULReachabilityChecker+Internal.h */; settings = {ATTRIBUTES = (Project, ); }; };
+ 73CA1FD561FCDCB1D431DCEC72F74DDB /* SDWebImageManager.m in Sources */ = {isa = PBXBuildFile; fileRef = 2B03BB324D33EF57D866EA1AAB20657B /* SDWebImageManager.m */; };
73E56E4F2078B208F760010D1C081DD5 /* picture_enc.c in Sources */ = {isa = PBXBuildFile; fileRef = 81EEBEC674F9C01123236D15412C1CF1 /* picture_enc.c */; settings = {COMPILER_FLAGS = "-D_THREAD_SAFE -fno-objc-arc"; }; };
- 74030D20785DEB1F46D01A1F25DD68E8 /* RCTTextSelection.h in Headers */ = {isa = PBXBuildFile; fileRef = 620BA9AF6242D70802559C17B042E0B4 /* RCTTextSelection.h */; settings = {ATTRIBUTES = (Project, ); }; };
- 741A12B997EF965E34AEAFBA94A51CDE /* CxxNativeModule.cpp in Sources */ = {isa = PBXBuildFile; fileRef = C96722CDB7EF1D0CDC140F9393C917CF /* CxxNativeModule.cpp */; settings = {COMPILER_FLAGS = "-DFOLLY_NO_CONFIG -DFOLLY_MOBILE=1 -DFOLLY_USE_LIBCPP=1 -Wno-comma -Wno-shorten-64-to-32 -Wno-documentation"; }; };
- 7444A40B1B537F90C7C63E07F94D1518 /* BSG_KSLogger.h in Headers */ = {isa = PBXBuildFile; fileRef = 03E6CAE5A150AD10346BEA5951AEC1F0 /* BSG_KSLogger.h */; settings = {ATTRIBUTES = (Project, ); }; };
- 74D5A67AF1B5CD8D5F70D4B21B377940 /* BugsnagCollections.m in Sources */ = {isa = PBXBuildFile; fileRef = ED523EC94DD5D90F576025EF788720AC /* BugsnagCollections.m */; };
- 7542E5B23FD2A94033E91741A29FC85C /* RCTSlider.m in Sources */ = {isa = PBXBuildFile; fileRef = 6EC47910624E692A03ABEA265903FDF6 /* RCTSlider.m */; settings = {COMPILER_FLAGS = "-DFOLLY_NO_CONFIG -DFOLLY_MOBILE=1 -DFOLLY_USE_LIBCPP=1 -Wno-comma -Wno-shorten-64-to-32 -Wno-documentation"; }; };
- 7563D4DBE0016DD8A873BB45F22E702D /* EXFileSystemLocalFileHandler.h in Headers */ = {isa = PBXBuildFile; fileRef = C5A2289769E2FEC6A805BB915518C482 /* EXFileSystemLocalFileHandler.h */; settings = {ATTRIBUTES = (Project, ); }; };
+ 74030D20785DEB1F46D01A1F25DD68E8 /* RCTTextSelection.h in Headers */ = {isa = PBXBuildFile; fileRef = EA8945A2E0C143910C17C206C1AF8655 /* RCTTextSelection.h */; settings = {ATTRIBUTES = (Project, ); }; };
+ 741A12B997EF965E34AEAFBA94A51CDE /* CxxNativeModule.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8697E54AE1BE02EBA9F07FEAFC7BD4C2 /* CxxNativeModule.cpp */; settings = {COMPILER_FLAGS = "-DFOLLY_NO_CONFIG -DFOLLY_MOBILE=1 -DFOLLY_USE_LIBCPP=1 -Wno-comma -Wno-shorten-64-to-32 -Wno-documentation"; }; };
+ 7444A40B1B537F90C7C63E07F94D1518 /* BSG_KSLogger.h in Headers */ = {isa = PBXBuildFile; fileRef = C8A3D0734F36A720737730B5EB140F29 /* BSG_KSLogger.h */; settings = {ATTRIBUTES = (Project, ); }; };
+ 745FD58612019EED84CABF733F65774E /* SDWebImageDefine.m in Sources */ = {isa = PBXBuildFile; fileRef = 0060114C8EB1CBBCEAA531878A0AB9B3 /* SDWebImageDefine.m */; };
+ 746E0F570155284BD70BACE494E70C2F /* SDImageCachesManager.h in Headers */ = {isa = PBXBuildFile; fileRef = 300F3B83CD71E1D42225DCE2D4D8DF21 /* SDImageCachesManager.h */; settings = {ATTRIBUTES = (Project, ); }; };
+ 74A5201C5D4F4F8A1EA4767DC9E9CD20 /* RNFirebaseAdMob.h in Headers */ = {isa = PBXBuildFile; fileRef = D65E3A8F16A3A9AE15F0A71577AC03F4 /* RNFirebaseAdMob.h */; settings = {ATTRIBUTES = (Project, ); }; };
+ 74CF5F013A0F235A0F9D0D487CE6B83D /* ReactNativeShareExtension.m in Sources */ = {isa = PBXBuildFile; fileRef = B8D90AD503D393662A2C32ADD22928A2 /* ReactNativeShareExtension.m */; };
+ 74D5A67AF1B5CD8D5F70D4B21B377940 /* BugsnagCollections.m in Sources */ = {isa = PBXBuildFile; fileRef = AB44ADD279643B434CC98C95C51436D2 /* BugsnagCollections.m */; };
+ 7500F2F16CDBB55A8520870B77F1D16D /* RNFetchBlobReqBuilder.h in Headers */ = {isa = PBXBuildFile; fileRef = 1B62469D55D5F9DE7215BF05D775B64C /* RNFetchBlobReqBuilder.h */; settings = {ATTRIBUTES = (Project, ); }; };
+ 75094AF2589EF345352F296C6F1D6535 /* RNFirebaseNotifications.h in Headers */ = {isa = PBXBuildFile; fileRef = 0B7645CD8B831D178E2AA224AAA2414E /* RNFirebaseNotifications.h */; settings = {ATTRIBUTES = (Project, ); }; };
+ 7532B6FECD7175F3571189E3DD88AE85 /* SDAnimatedImageRep.m in Sources */ = {isa = PBXBuildFile; fileRef = A4DB9B61BB444EC3FDABA5E04EA4B2F5 /* SDAnimatedImageRep.m */; };
+ 7542E5B23FD2A94033E91741A29FC85C /* RCTSlider.m in Sources */ = {isa = PBXBuildFile; fileRef = 4BBF5252867C8BA9F0257FA78A784553 /* RCTSlider.m */; settings = {COMPILER_FLAGS = "-DFOLLY_NO_CONFIG -DFOLLY_MOBILE=1 -DFOLLY_USE_LIBCPP=1 -Wno-comma -Wno-shorten-64-to-32 -Wno-documentation"; }; };
+ 7563D4DBE0016DD8A873BB45F22E702D /* EXFileSystemLocalFileHandler.h in Headers */ = {isa = PBXBuildFile; fileRef = 5A14D14584925A5A1423C52D0DDCCC93 /* EXFileSystemLocalFileHandler.h */; settings = {ATTRIBUTES = (Project, ); }; };
+ 75DB622538728DF38B1295989C28AF43 /* RNFastImage-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 1AC36D274DCDF18C703F1EF74470430E /* RNFastImage-dummy.m */; };
+ 75E61EC14328A109F7B0BE1EDFBA3E05 /* RNFirebaseDatabaseReference.m in Sources */ = {isa = PBXBuildFile; fileRef = 6B05CFB36D8BF54B9250F8D9304D4168 /* RNFirebaseDatabaseReference.m */; };
+ 75E7924CCFC7EC8AFD2F756B4F7C542B /* LNInterpolation.h in Headers */ = {isa = PBXBuildFile; fileRef = EB72E5B4CFA64EAB4737F185019BC6F5 /* LNInterpolation.h */; settings = {ATTRIBUTES = (Project, ); }; };
+ 7621FAA09F8A411DD0BD8653032CD98A /* SDAnimatedImageView.m in Sources */ = {isa = PBXBuildFile; fileRef = 489BA8CD89137FB7934A8921F72EB459 /* SDAnimatedImageView.m */; };
76478F8839B3E900D460C0DE15D21F53 /* FIRErrors.m in Sources */ = {isa = PBXBuildFile; fileRef = 05224206D907042AA3943F245EEF79BF /* FIRErrors.m */; };
- 7667D9D46AAD4399B58814F913A8686E /* RCTLinkingManager.h in Headers */ = {isa = PBXBuildFile; fileRef = 3135C611B9A3BEF547B9C08371DF9E70 /* RCTLinkingManager.h */; settings = {ATTRIBUTES = (Project, ); }; };
+ 7667D9D46AAD4399B58814F913A8686E /* RCTLinkingManager.h in Headers */ = {isa = PBXBuildFile; fileRef = 6A1B12DB7D74700D1ACDE73BD8A59904 /* RCTLinkingManager.h */; settings = {ATTRIBUTES = (Project, ); }; };
7671DE80D363A885CCD01409AE9AB7E8 /* log_severity.h in Headers */ = {isa = PBXBuildFile; fileRef = 48CE1DD39717082CA7661BD21D61405A /* log_severity.h */; settings = {ATTRIBUTES = (Project, ); }; };
+ 768B227B15B4CBA8B2D9CA2A948A01CC /* UIImage+MemoryCacheCost.m in Sources */ = {isa = PBXBuildFile; fileRef = 3D0253761F033DD720523C560BD82BC8 /* UIImage+MemoryCacheCost.m */; };
770F6A0BBA21C9FD5198F2B515D23673 /* types.h in Headers */ = {isa = PBXBuildFile; fileRef = 60A8CF261336A16C149A7CC385C0718A /* types.h */; settings = {ATTRIBUTES = (Project, ); }; };
- 772955A41B2F6116E8030A9AA06BC1B0 /* RCTRootContentView.m in Sources */ = {isa = PBXBuildFile; fileRef = E43D81C7B8F55C3FAFB04F74018A9704 /* RCTRootContentView.m */; settings = {COMPILER_FLAGS = "-DFOLLY_NO_CONFIG -DFOLLY_MOBILE=1 -DFOLLY_USE_LIBCPP=1 -Wno-comma -Wno-shorten-64-to-32 -Wno-documentation"; }; };
- 773FEBE5BE25C0B804379C17F12165B7 /* BSG_KSMach_Arm.c in Sources */ = {isa = PBXBuildFile; fileRef = 586441A9E70A5C2120067BEAE0D7831A /* BSG_KSMach_Arm.c */; };
- 775940B5516DAD7DAFA6D2478D52B0BC /* JSCExecutorFactory.mm in Sources */ = {isa = PBXBuildFile; fileRef = 96E843FA66F5C2A698F658298B6A1472 /* JSCExecutorFactory.mm */; settings = {COMPILER_FLAGS = "-DFOLLY_NO_CONFIG -DFOLLY_MOBILE=1 -DFOLLY_USE_LIBCPP=1 -Wno-comma -Wno-shorten-64-to-32 -Wno-documentation"; }; };
- 779CB7E554FCFBE815744E331B2CCF28 /* UMReactNativeAdapter.h in Headers */ = {isa = PBXBuildFile; fileRef = 8829653E7CF3D10D28228946F6F5C38D /* UMReactNativeAdapter.h */; settings = {ATTRIBUTES = (Project, ); }; };
- 77EFDD3B36BBA99ED933D18D0CCBA46B /* RNGestureHandlerManager.h in Headers */ = {isa = PBXBuildFile; fileRef = 3703D440615753112E484BBFBDE76DF6 /* RNGestureHandlerManager.h */; settings = {ATTRIBUTES = (Project, ); }; };
- 782253825BAD5111AE8072EE435B11A4 /* SDWebImageError.h in Headers */ = {isa = PBXBuildFile; fileRef = A232F52ACA6D05CFC9E73388AF31C9DD /* SDWebImageError.h */; settings = {ATTRIBUTES = (Project, ); }; };
+ 772955A41B2F6116E8030A9AA06BC1B0 /* RCTRootContentView.m in Sources */ = {isa = PBXBuildFile; fileRef = AE7BCDA00657D294DDA9E31AA30E75E8 /* RCTRootContentView.m */; settings = {COMPILER_FLAGS = "-DFOLLY_NO_CONFIG -DFOLLY_MOBILE=1 -DFOLLY_USE_LIBCPP=1 -Wno-comma -Wno-shorten-64-to-32 -Wno-documentation"; }; };
+ 773FEBE5BE25C0B804379C17F12165B7 /* BSG_KSMach_Arm.c in Sources */ = {isa = PBXBuildFile; fileRef = D96EC568E0EADB45CB1D766D96F51DB3 /* BSG_KSMach_Arm.c */; };
+ 775940B5516DAD7DAFA6D2478D52B0BC /* JSCExecutorFactory.mm in Sources */ = {isa = PBXBuildFile; fileRef = 750DFF208D431F1A8BC6404B1039721F /* JSCExecutorFactory.mm */; settings = {COMPILER_FLAGS = "-DFOLLY_NO_CONFIG -DFOLLY_MOBILE=1 -DFOLLY_USE_LIBCPP=1 -Wno-comma -Wno-shorten-64-to-32 -Wno-documentation"; }; };
+ 77653EDCC9BBEE36EA30073FEDD6D6C6 /* RNFirebaseFirestore.m in Sources */ = {isa = PBXBuildFile; fileRef = 1C91DFDB74102CFA4602B8497502C34A /* RNFirebaseFirestore.m */; };
785991A68E98C37DE3C394FCDC94C615 /* filters_neon.c in Sources */ = {isa = PBXBuildFile; fileRef = 0F7C61521E4CC5845149596CB891EE2E /* filters_neon.c */; settings = {COMPILER_FLAGS = "-D_THREAD_SAFE -fno-objc-arc"; }; };
- 7890D46619079C3F266132CD03DBE391 /* RCTHTTPRequestHandler.h in Headers */ = {isa = PBXBuildFile; fileRef = 1D30D1A8A47F4C4523ED1ED3D8FD02BA /* RCTHTTPRequestHandler.h */; settings = {ATTRIBUTES = (Project, ); }; };
- 78BF1F947D28284C6C5B06636B83AEF7 /* EXAudioRecordingPermissionRequester.m in Sources */ = {isa = PBXBuildFile; fileRef = DBE3358F5592503B68787F0276C080CC /* EXAudioRecordingPermissionRequester.m */; };
- 78BF3A578E328460488E62B073D4C8EC /* UIImage+Metadata.m in Sources */ = {isa = PBXBuildFile; fileRef = C53C0E106DE016BB87A556423A23321F /* UIImage+Metadata.m */; };
- 78C7BE01307B56D8E27C8D4B623C74F0 /* UMUtilitiesInterface.h in Headers */ = {isa = PBXBuildFile; fileRef = E2DC651B173973521829BAB0013451AC /* UMUtilitiesInterface.h */; settings = {ATTRIBUTES = (Project, ); }; };
- 79167F099C2A1D71F2B0D3C17AD50AE8 /* yoga-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 6934442033324D9EA4D721F5DF6046C3 /* yoga-dummy.m */; };
- 7930482CB31A634CDDD3934D1E464719 /* RNPushKitEventHandler.m in Sources */ = {isa = PBXBuildFile; fileRef = B0602128B8C1BE375326F4BE6CF54AEE /* RNPushKitEventHandler.m */; };
+ 7890D46619079C3F266132CD03DBE391 /* RCTHTTPRequestHandler.h in Headers */ = {isa = PBXBuildFile; fileRef = B4244C0A2106FD9FA070BBC199A90E41 /* RCTHTTPRequestHandler.h */; settings = {ATTRIBUTES = (Project, ); }; };
+ 78AB5676F42429625693F9D6208142FB /* SDImageCodersManager.h in Headers */ = {isa = PBXBuildFile; fileRef = FFCC04A29879FDF39F85F328E14C63B6 /* SDImageCodersManager.h */; settings = {ATTRIBUTES = (Project, ); }; };
+ 78BF1F947D28284C6C5B06636B83AEF7 /* EXAudioRecordingPermissionRequester.m in Sources */ = {isa = PBXBuildFile; fileRef = 4412D0B6E1B94186BED1AC771A620AB8 /* EXAudioRecordingPermissionRequester.m */; };
+ 78C7BE01307B56D8E27C8D4B623C74F0 /* UMUtilitiesInterface.h in Headers */ = {isa = PBXBuildFile; fileRef = C1B9117BC45DD5144D2863F2DB8A607C /* UMUtilitiesInterface.h */; settings = {ATTRIBUTES = (Project, ); }; };
+ 79167F099C2A1D71F2B0D3C17AD50AE8 /* yoga-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 01A3F33BA38C10EDD17D9A16AC7E5CF2 /* yoga-dummy.m */; };
7956F82E4FF2E7C95F619C7D46C46EC6 /* demux.h in Headers */ = {isa = PBXBuildFile; fileRef = CBFB63F39D940238AE9A922396346EFC /* demux.h */; settings = {ATTRIBUTES = (Project, ); }; };
- 796B1AA1943E6BAB2C5F9D4D48259531 /* RNFlingHandler.h in Headers */ = {isa = PBXBuildFile; fileRef = D72D2D4FAAE01BA1B548CC6A24A8E81C /* RNFlingHandler.h */; settings = {ATTRIBUTES = (Project, ); }; };
- 797DD49F88C7649EE8E4BDB9DE7FC7CB /* RCTModuloAnimatedNode.m in Sources */ = {isa = PBXBuildFile; fileRef = F180C236A07A1F731BD2128054E3E0FA /* RCTModuloAnimatedNode.m */; };
- 79B39BD67AD74D3E4AF04EFAAF79813B /* UIImage+MemoryCacheCost.h in Headers */ = {isa = PBXBuildFile; fileRef = 2A7D6E5E94895A671353FF93B75AC295 /* UIImage+MemoryCacheCost.h */; settings = {ATTRIBUTES = (Project, ); }; };
- 79D18054C0EC9D070D0A26A355D2BB8C /* RNPushKitEventListener.m in Sources */ = {isa = PBXBuildFile; fileRef = 4072DFED8F64CEE90D948FFC82A317DA /* RNPushKitEventListener.m */; };
+ 79654E27B4A9C36151C32B5078479114 /* RNFirebaseLinks.m in Sources */ = {isa = PBXBuildFile; fileRef = 050AB614C45E489CF96503ACCD020131 /* RNFirebaseLinks.m */; };
+ 797DD49F88C7649EE8E4BDB9DE7FC7CB /* RCTModuloAnimatedNode.m in Sources */ = {isa = PBXBuildFile; fileRef = DDF8B3978AC890633CA4555F958A7428 /* RCTModuloAnimatedNode.m */; };
+ 797F868279B8249FF87A43205087E0A5 /* RNFirebaseFirestoreCollectionReference.m in Sources */ = {isa = PBXBuildFile; fileRef = 789245D3EADC6C07F62E1A83307B62E7 /* RNFirebaseFirestoreCollectionReference.m */; };
79D771190DC28CC5FA02B46AAA902880 /* token_enc.c in Sources */ = {isa = PBXBuildFile; fileRef = 98EF97BC87DDB768A2B2E218227F3CD2 /* token_enc.c */; settings = {COMPILER_FLAGS = "-D_THREAD_SAFE -fno-objc-arc"; }; };
- 7A57489F327B66C8D9C79C011BB79FF4 /* SDImageCacheConfig.m in Sources */ = {isa = PBXBuildFile; fileRef = DA4574672FDC6E3A63A27CCB09CB0E1B /* SDImageCacheConfig.m */; };
- 7A5C069A0580C46EE9C1081148405848 /* RCTPickerManager.h in Headers */ = {isa = PBXBuildFile; fileRef = 32C0BBF9265FFDC35566922E7782E6CD /* RCTPickerManager.h */; settings = {ATTRIBUTES = (Project, ); }; };
- 7A811D78E1C0BDF618A788391D1EDB9C /* BSG_KSCrashSentry_Private.h in Headers */ = {isa = PBXBuildFile; fileRef = 7573F912AD777AA0B49B092CCFFC48E1 /* BSG_KSCrashSentry_Private.h */; settings = {ATTRIBUTES = (Project, ); }; };
+ 7A5C069A0580C46EE9C1081148405848 /* RCTPickerManager.h in Headers */ = {isa = PBXBuildFile; fileRef = 39989FC8618B8EEB0133188A11E3F197 /* RCTPickerManager.h */; settings = {ATTRIBUTES = (Project, ); }; };
+ 7A811D78E1C0BDF618A788391D1EDB9C /* BSG_KSCrashSentry_Private.h in Headers */ = {isa = PBXBuildFile; fileRef = 2F780E65D8DF5EEFDFC44A44686696D4 /* BSG_KSCrashSentry_Private.h */; settings = {ATTRIBUTES = (Project, ); }; };
7A907775D8693790C443C198381D1025 /* webp_enc.c in Sources */ = {isa = PBXBuildFile; fileRef = 538942E0D59384F03321537A1C9E4A7D /* webp_enc.c */; settings = {COMPILER_FLAGS = "-D_THREAD_SAFE -fno-objc-arc"; }; };
7AB6C0CDBB0A88F3D70B0004C7A8521C /* GULUserDefaults.h in Headers */ = {isa = PBXBuildFile; fileRef = E34EC7FD11A1C6F8483335152E8B6AC6 /* GULUserDefaults.h */; settings = {ATTRIBUTES = (Project, ); }; };
- 7ACC8B008450D3FAF80ACBFB09C6AA76 /* RNFirebaseNotifications.h in Headers */ = {isa = PBXBuildFile; fileRef = 8CA55A329EC6DA33A262F1238F9FCB42 /* RNFirebaseNotifications.h */; settings = {ATTRIBUTES = (Project, ); }; };
- 7ACCEC44EDD874EC9F3230D190888ED1 /* SDImageAssetManager.h in Headers */ = {isa = PBXBuildFile; fileRef = 7E1DFDA929CBAACCB277C4F095C57D4C /* SDImageAssetManager.h */; settings = {ATTRIBUTES = (Project, ); }; };
- 7B1FA1E48BC3FE6A150D6BF90F1845CD /* RNSScreen.h in Headers */ = {isa = PBXBuildFile; fileRef = DB4CE6D7CC9C8DE6F307172B898A5C3E /* RNSScreen.h */; settings = {ATTRIBUTES = (Project, ); }; };
- 7B39A1F0B1DD3212F3AFD336EF5B33D7 /* RCTModuleData.h in Headers */ = {isa = PBXBuildFile; fileRef = 5EDBD92790C0169615DF35DF2364360E /* RCTModuleData.h */; settings = {ATTRIBUTES = (Project, ); }; };
- 7B55C57DA5E1D5ACA52260D3029AD5E7 /* RCTFileRequestHandler.m in Sources */ = {isa = PBXBuildFile; fileRef = D1A58F64798DA95308F9209AFEF55DDE /* RCTFileRequestHandler.m */; };
- 7B78E4E0F992E63CC7807781C3FE6957 /* RCTCxxModule.mm in Sources */ = {isa = PBXBuildFile; fileRef = DC8A65AAEAE04112EBC5CCD6B4BA740A /* RCTCxxModule.mm */; settings = {COMPILER_FLAGS = "-DFOLLY_NO_CONFIG -DFOLLY_MOBILE=1 -DFOLLY_USE_LIBCPP=1 -Wno-comma -Wno-shorten-64-to-32 -Wno-documentation"; }; };
- 7C087CF86045F5BEBFF948F58CD334F8 /* RCTSurfaceRootView.mm in Sources */ = {isa = PBXBuildFile; fileRef = DA4235F33D14FCFB54EA9BFB6464BE7D /* RCTSurfaceRootView.mm */; settings = {COMPILER_FLAGS = "-DFOLLY_NO_CONFIG -DFOLLY_MOBILE=1 -DFOLLY_USE_LIBCPP=1 -Wno-comma -Wno-shorten-64-to-32 -Wno-documentation"; }; };
- 7C0A72C50DDCD23F71299525758DC225 /* BSG_KSSysCtl.h in Headers */ = {isa = PBXBuildFile; fileRef = 6221DDB552217BCBA1383FB14A44FCD4 /* BSG_KSSysCtl.h */; settings = {ATTRIBUTES = (Project, ); }; };
- 7C1AF0605F8C7D2F3B5A3BC697AA3FEE /* Color+Interpolation.h in Headers */ = {isa = PBXBuildFile; fileRef = 8AF5699CFFE87DCC6172892307A58172 /* Color+Interpolation.h */; settings = {ATTRIBUTES = (Project, ); }; };
- 7CA2CECCDFC2D310FDE491C0CA02F95A /* RCTBaseTextShadowView.m in Sources */ = {isa = PBXBuildFile; fileRef = 330649C24F0CC1F361791A77399E0862 /* RCTBaseTextShadowView.m */; };
- 7CC70440A76A2C6E9F08A1C75BCE5503 /* BSG_KSCrashSentry_NSException.h in Headers */ = {isa = PBXBuildFile; fileRef = 94D14E7D7E2455F3128A9E897E493B59 /* BSG_KSCrashSentry_NSException.h */; settings = {ATTRIBUTES = (Project, ); }; };
- 7CC8556D44DC05010EB50BF43883B967 /* BSG_KSFileUtils.h in Headers */ = {isa = PBXBuildFile; fileRef = B2311DD578D3584FCBAE02ADF84D67EB /* BSG_KSFileUtils.h */; settings = {ATTRIBUTES = (Project, ); }; };
- 7D05664BDF11D5B4BA5D73A724171C39 /* UIView+WebCacheOperation.m in Sources */ = {isa = PBXBuildFile; fileRef = 1F80ED467317C10C1BFC22D3EBB6BB5F /* UIView+WebCacheOperation.m */; };
+ 7ACB8005A2638468AB9A60485BE1BF50 /* UMReactNativeAdapter.h in Headers */ = {isa = PBXBuildFile; fileRef = B03CF160D1F102FFD40CE003D8FF4140 /* UMReactNativeAdapter.h */; settings = {ATTRIBUTES = (Project, ); }; };
+ 7B11305D7DCCDFECF7CF338AD6467C0D /* zh-Hans.lproj in Resources */ = {isa = PBXBuildFile; fileRef = CDEA6856DB3DE1C3C8824C456DEF7069 /* zh-Hans.lproj */; };
+ 7B326478B53F778396DE9EEA8E197EB9 /* ImageCropPicker.h in Headers */ = {isa = PBXBuildFile; fileRef = F68347D7298AC0E6A743B0C8CD8AC7D3 /* ImageCropPicker.h */; settings = {ATTRIBUTES = (Project, ); }; };
+ 7B39A1F0B1DD3212F3AFD336EF5B33D7 /* RCTModuleData.h in Headers */ = {isa = PBXBuildFile; fileRef = 031E088DAEF5184446AC232C6EE0C0EE /* RCTModuleData.h */; settings = {ATTRIBUTES = (Project, ); }; };
+ 7B55C57DA5E1D5ACA52260D3029AD5E7 /* RCTFileRequestHandler.m in Sources */ = {isa = PBXBuildFile; fileRef = AAA958103A64276FF9B75604A692F4C9 /* RCTFileRequestHandler.m */; };
+ 7B78E4E0F992E63CC7807781C3FE6957 /* RCTCxxModule.mm in Sources */ = {isa = PBXBuildFile; fileRef = 05D6D9F271D340BA1327AC5B87ACB5A8 /* RCTCxxModule.mm */; settings = {COMPILER_FLAGS = "-DFOLLY_NO_CONFIG -DFOLLY_MOBILE=1 -DFOLLY_USE_LIBCPP=1 -Wno-comma -Wno-shorten-64-to-32 -Wno-documentation"; }; };
+ 7BCBA2E9B765D45B5FE6E327426433F6 /* SDWeakProxy.m in Sources */ = {isa = PBXBuildFile; fileRef = F4CF89EABDD95C31E45028012D461DCF /* SDWeakProxy.m */; };
+ 7C087CF86045F5BEBFF948F58CD334F8 /* RCTSurfaceRootView.mm in Sources */ = {isa = PBXBuildFile; fileRef = D457BFCBE1D128DCEE210F96DB7E9CC9 /* RCTSurfaceRootView.mm */; settings = {COMPILER_FLAGS = "-DFOLLY_NO_CONFIG -DFOLLY_MOBILE=1 -DFOLLY_USE_LIBCPP=1 -Wno-comma -Wno-shorten-64-to-32 -Wno-documentation"; }; };
+ 7C0A72C50DDCD23F71299525758DC225 /* BSG_KSSysCtl.h in Headers */ = {isa = PBXBuildFile; fileRef = 38FA69F708427A76BF156598ACE83F4B /* BSG_KSSysCtl.h */; settings = {ATTRIBUTES = (Project, ); }; };
+ 7C2C17283689420C0D773D4492613A90 /* QBAlbumsViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 2D62CD795C614D94A632A3FA22CE5F85 /* QBAlbumsViewController.m */; };
+ 7C3564A519FE855B2B2D06E8F2711B2B /* RNFirebaseFunctions.m in Sources */ = {isa = PBXBuildFile; fileRef = A6DE5DD91C2134F67FB1DB6358F81F88 /* RNFirebaseFunctions.m */; };
+ 7CA2CECCDFC2D310FDE491C0CA02F95A /* RCTBaseTextShadowView.m in Sources */ = {isa = PBXBuildFile; fileRef = 9B8E7E1B18923EA5CFDBB31EFDCE9C7F /* RCTBaseTextShadowView.m */; };
+ 7CC70440A76A2C6E9F08A1C75BCE5503 /* BSG_KSCrashSentry_NSException.h in Headers */ = {isa = PBXBuildFile; fileRef = 74D2FE08C6114E7D2A5CA684CEDDF153 /* BSG_KSCrashSentry_NSException.h */; settings = {ATTRIBUTES = (Project, ); }; };
+ 7CC8556D44DC05010EB50BF43883B967 /* BSG_KSFileUtils.h in Headers */ = {isa = PBXBuildFile; fileRef = 688372DED8D376E4CB68161BAC0CAF25 /* BSG_KSFileUtils.h */; settings = {ATTRIBUTES = (Project, ); }; };
7D0FEEC462C260D07B9020311037887A /* FIRInstanceIDKeyPairStore.m in Sources */ = {isa = PBXBuildFile; fileRef = 1EDE4DAE619AE63D483E14360CA2A69B /* FIRInstanceIDKeyPairStore.m */; };
- 7D1B742560429127CDC1D54D78636A42 /* SDMemoryCache.m in Sources */ = {isa = PBXBuildFile; fileRef = F7423E26A13D34C7C1DE1BEE042E42A5 /* SDMemoryCache.m */; };
- 7D819301BFE77D37A00BAAE737F55116 /* BSG_KSCrashContext.h in Headers */ = {isa = PBXBuildFile; fileRef = 40E33CDFB7A7309B9036F83E6AAAE327 /* BSG_KSCrashContext.h */; settings = {ATTRIBUTES = (Project, ); }; };
+ 7D819301BFE77D37A00BAAE737F55116 /* BSG_KSCrashContext.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B097D99AF8F2C24C65C16F9C4FDB462 /* BSG_KSCrashContext.h */; settings = {ATTRIBUTES = (Project, ); }; };
+ 7DE7612B47D64A7FDA28C9D17FED5651 /* SDDiskCache.m in Sources */ = {isa = PBXBuildFile; fileRef = 68DB6250F59C582FA5CD2872AEF2AF59 /* SDDiskCache.m */; };
7E43F556B25139FBC002ABFF1FD8D6F1 /* GULAppDelegateSwizzler_Private.h in Headers */ = {isa = PBXBuildFile; fileRef = F28455D5050BCC2398E18F5989F6B2E2 /* GULAppDelegateSwizzler_Private.h */; settings = {ATTRIBUTES = (Project, ); }; };
- 7E62A3856B0A4DB77779FBE708CA307D /* SDWebImageDownloader.h in Headers */ = {isa = PBXBuildFile; fileRef = 043E74812E7C829DDB701DEBDA93199F /* SDWebImageDownloader.h */; settings = {ATTRIBUTES = (Project, ); }; };
- 7E7124056E5C06DD2D8BEC1926598CD8 /* BSG_KSCrashDoctor.h in Headers */ = {isa = PBXBuildFile; fileRef = B56A3B60767A3B9FFDA39771B5CC8BE1 /* BSG_KSCrashDoctor.h */; settings = {ATTRIBUTES = (Project, ); }; };
- 7EACF7BC61F13C010958A2491EF76703 /* Yoga.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B47AB56A81521984BB1D319598DA430B /* Yoga.cpp */; settings = {COMPILER_FLAGS = "-fno-omit-frame-pointer -fexceptions -Wall -Werror -std=c++1y -fPIC -fno-objc-arc"; }; };
- 7EEE82C3E792F485258905284EAEE530 /* RNEventEmitter.h in Headers */ = {isa = PBXBuildFile; fileRef = FDE2571727CAF1A1BF2F88AABACA5454 /* RNEventEmitter.h */; settings = {ATTRIBUTES = (Project, ); }; };
+ 7E7124056E5C06DD2D8BEC1926598CD8 /* BSG_KSCrashDoctor.h in Headers */ = {isa = PBXBuildFile; fileRef = A0EF1126983048F7CAE210771D7BABF1 /* BSG_KSCrashDoctor.h */; settings = {ATTRIBUTES = (Project, ); }; };
+ 7EACF7BC61F13C010958A2491EF76703 /* Yoga.cpp in Sources */ = {isa = PBXBuildFile; fileRef = C3F86A9C10E448FB068498FCBD6B0CD4 /* Yoga.cpp */; settings = {COMPILER_FLAGS = "-fno-omit-frame-pointer -fexceptions -Wall -Werror -std=c++1y -fPIC -fno-objc-arc"; }; };
+ 7EEFCBBF2DB90B71991F82328BE9E7B2 /* SDImageLoader.h in Headers */ = {isa = PBXBuildFile; fileRef = A32953F955579E837338E27C7051A31E /* SDImageLoader.h */; settings = {ATTRIBUTES = (Project, ); }; };
7EF283AB71EC430A672EF05EDFAC61A9 /* FIRInstanceIDTokenManager.m in Sources */ = {isa = PBXBuildFile; fileRef = 76EBD3E58E67450AEF5938700FEDA707 /* FIRInstanceIDTokenManager.m */; };
- 7F206DB26917E7E5E006EA1BD038ABCE /* YGConfig.h in Headers */ = {isa = PBXBuildFile; fileRef = DDF18CFE8D2382577CD893D8892CDA19 /* YGConfig.h */; settings = {ATTRIBUTES = (Project, ); }; };
+ 7EF3ACAD393F4582A25F71F62A6D462F /* RNFlingHandler.m in Sources */ = {isa = PBXBuildFile; fileRef = 3845E5C0BF5BD36F3B7ADF0213844963 /* RNFlingHandler.m */; };
+ 7F206DB26917E7E5E006EA1BD038ABCE /* YGConfig.h in Headers */ = {isa = PBXBuildFile; fileRef = 2253D8FA18573BBEB977D32FC26B0F14 /* YGConfig.h */; settings = {ATTRIBUTES = (Project, ); }; };
+ 7F4C4CCC87FCAE74FB6037463D6CAE67 /* UIImage+WebP.h in Headers */ = {isa = PBXBuildFile; fileRef = CF9E0A97389D71AE8FB5DFE8ABB0DD4D /* UIImage+WebP.h */; settings = {ATTRIBUTES = (Project, ); }; };
+ 7F8D46D5F48667C5B1B21C37B9B90C8F /* RNDeviceInfo.m in Sources */ = {isa = PBXBuildFile; fileRef = 2B55E2BF7B54B614BE153B15B6DBED4E /* RNDeviceInfo.m */; };
+ 7F92C8CE8F507D6DB8C8998C7FF4B7EC /* Color+Interpolation.h in Headers */ = {isa = PBXBuildFile; fileRef = AE64779289FB3D4E5A46C7FE09078DCA /* Color+Interpolation.h */; settings = {ATTRIBUTES = (Project, ); }; };
7FFE3E50F543939A64CFB94D5314A518 /* yuv.c in Sources */ = {isa = PBXBuildFile; fileRef = B8DC368F9B3F33F407E49CED1939C58C /* yuv.c */; settings = {COMPILER_FLAGS = "-D_THREAD_SAFE -fno-objc-arc"; }; };
- 803053E81096BDE4B074A94A935F84BA /* UMDefines.h in Headers */ = {isa = PBXBuildFile; fileRef = F8A1B01EE6E9A626FB90C4F1A899F38B /* UMDefines.h */; settings = {ATTRIBUTES = (Project, ); }; };
- 8040DFE2AC8D8E8664740A41681AC867 /* de.lproj in Resources */ = {isa = PBXBuildFile; fileRef = 75EAF73A7824AE68F4EB59EEE5EAE53A /* de.lproj */; };
- 807E1BE23B21D313B1555E4BEB1A0305 /* RCTVideoPlayerViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = DD4D4E38C884B1ED017A08103DE4CB3B /* RCTVideoPlayerViewController.m */; };
+ 803053E81096BDE4B074A94A935F84BA /* UMDefines.h in Headers */ = {isa = PBXBuildFile; fileRef = 402120390F0054A039B54BA9DC56BD6C /* UMDefines.h */; settings = {ATTRIBUTES = (Project, ); }; };
80AC5B0498F2D2CCEE4DEA1CA335C6A2 /* enc_mips_dsp_r2.c in Sources */ = {isa = PBXBuildFile; fileRef = 31C510E501306C00017CCCB0D9A44A33 /* enc_mips_dsp_r2.c */; settings = {COMPILER_FLAGS = "-D_THREAD_SAFE -fno-objc-arc"; }; };
- 80BAA833F96B96AEC71EE8EF80B1F5DF /* RCTStatusBarManager.m in Sources */ = {isa = PBXBuildFile; fileRef = E4965880AC04C03E1331F7FC2B943F6F /* RCTStatusBarManager.m */; settings = {COMPILER_FLAGS = "-DFOLLY_NO_CONFIG -DFOLLY_MOBILE=1 -DFOLLY_USE_LIBCPP=1 -Wno-comma -Wno-shorten-64-to-32 -Wno-documentation"; }; };
- 80BCFD074F1DAEC16798D2E50395C344 /* RCTCustomInputController.m in Sources */ = {isa = PBXBuildFile; fileRef = 3C5AD0FF6E2F276CB4DEEB47D6183971 /* RCTCustomInputController.m */; };
- 81202CBD37FF84A6CB464545F320FACD /* threadsafe.h in Headers */ = {isa = PBXBuildFile; fileRef = B26605EF450DBBD1FFE40F2C3905EFCD /* threadsafe.h */; settings = {ATTRIBUTES = (Project, ); }; };
- 8122A09CD44C9DCDC8C89E77814D2C3E /* RCTImageEditingManager.m in Sources */ = {isa = PBXBuildFile; fileRef = CD91500401461BF3E34347CE2C50605B /* RCTImageEditingManager.m */; };
- 8141874457BA207565B0B6978197CF4E /* RNFetchBlobRequest.m in Sources */ = {isa = PBXBuildFile; fileRef = 242DE83308C78FE96C21C79388BF7830 /* RNFetchBlobRequest.m */; };
- 8164357B06AC2FA78F15FFB206A11B30 /* RCTScrollView.h in Headers */ = {isa = PBXBuildFile; fileRef = 43F631768913D06472CCFB6173F97995 /* RCTScrollView.h */; settings = {ATTRIBUTES = (Project, ); }; };
+ 80BAA833F96B96AEC71EE8EF80B1F5DF /* RCTStatusBarManager.m in Sources */ = {isa = PBXBuildFile; fileRef = 7C0B5A62B1865EC173695C6863B2A81B /* RCTStatusBarManager.m */; settings = {COMPILER_FLAGS = "-DFOLLY_NO_CONFIG -DFOLLY_MOBILE=1 -DFOLLY_USE_LIBCPP=1 -Wno-comma -Wno-shorten-64-to-32 -Wno-documentation"; }; };
+ 80C006EED43A991A91BB59EACD4D73D9 /* SDWebImageDownloaderConfig.m in Sources */ = {isa = PBXBuildFile; fileRef = F66F1A21E0C1303CEE6894BCDF672D47 /* SDWebImageDownloaderConfig.m */; };
+ 80FAF34D406C8980BC7651ADA108B1FC /* RNFirebaseStorage.m in Sources */ = {isa = PBXBuildFile; fileRef = 63EDD9B68B3DF23D26E0D34346198BEA /* RNFirebaseStorage.m */; };
+ 81202CBD37FF84A6CB464545F320FACD /* threadsafe.h in Headers */ = {isa = PBXBuildFile; fileRef = B594F8DB06EEFE7C39A1E0E203780815 /* threadsafe.h */; settings = {ATTRIBUTES = (Project, ); }; };
+ 8122A09CD44C9DCDC8C89E77814D2C3E /* RCTImageEditingManager.m in Sources */ = {isa = PBXBuildFile; fileRef = B6DCCE61D09AFA5BA002CFAD6AEDB4EF /* RCTImageEditingManager.m */; };
+ 8164357B06AC2FA78F15FFB206A11B30 /* RCTScrollView.h in Headers */ = {isa = PBXBuildFile; fileRef = 2D52E8843FB2B9E6359353AFDFBACA2E /* RCTScrollView.h */; settings = {ATTRIBUTES = (Project, ); }; };
+ 817679BD0F5E0BE5945BFDF04DDF215A /* IOS7Polyfill.h in Headers */ = {isa = PBXBuildFile; fileRef = AF7EB036ED970891747A262DD5586E2A /* IOS7Polyfill.h */; settings = {ATTRIBUTES = (Project, ); }; };
8182F2E263B427AA12C4AF390B885D17 /* alphai_dec.h in Headers */ = {isa = PBXBuildFile; fileRef = 04A76256D4AB25432364E582CC1F189A /* alphai_dec.h */; settings = {ATTRIBUTES = (Project, ); }; };
- 818CCDC0E7924CCB7314CE7507CD3901 /* SDWebImageManager.h in Headers */ = {isa = PBXBuildFile; fileRef = 16D95C9072E07D2BD62148F0AEBE4D3B /* SDWebImageManager.h */; settings = {ATTRIBUTES = (Project, ); }; };
- 819147C1905135463D2ED48C1BFD4C59 /* RCTURLRequestDelegate.h in Headers */ = {isa = PBXBuildFile; fileRef = 0BA70ED8BA0D690557221F83E107DA7D /* RCTURLRequestDelegate.h */; settings = {ATTRIBUTES = (Project, ); }; };
+ 819147C1905135463D2ED48C1BFD4C59 /* RCTURLRequestDelegate.h in Headers */ = {isa = PBXBuildFile; fileRef = B4BD2CEEF7F4F28592E2C15728D6D5F3 /* RCTURLRequestDelegate.h */; settings = {ATTRIBUTES = (Project, ); }; };
8195217FB3F97232368D8FEE80ACF13D /* GULReachabilityMessageCode.h in Headers */ = {isa = PBXBuildFile; fileRef = DD41E4F5B237E9425CDDDC0A4589ED27 /* GULReachabilityMessageCode.h */; settings = {ATTRIBUTES = (Project, ); }; };
- 81CCE4C52065036421BF08A1E4611A29 /* RCTLayoutAnimationGroup.h in Headers */ = {isa = PBXBuildFile; fileRef = 39534DB58A20D55A0E4624571C25CD0D /* RCTLayoutAnimationGroup.h */; settings = {ATTRIBUTES = (Project, ); }; };
- 81D4EAAAE01E962D3FE5650723B48052 /* RCTInputAccessoryViewManager.m in Sources */ = {isa = PBXBuildFile; fileRef = F3C7F1540F92C6E9999D2261DAF4658B /* RCTInputAccessoryViewManager.m */; };
- 81FB4E6FF7BD9963E94813C246824C44 /* RCTLocalAssetImageLoader.h in Headers */ = {isa = PBXBuildFile; fileRef = 9D32743E92A9E64B40BD266972AE969A /* RCTLocalAssetImageLoader.h */; settings = {ATTRIBUTES = (Project, ); }; };
- 826BAF1E3BCDEA784E74EDB50FD3D9DD /* RCTSwitchManager.m in Sources */ = {isa = PBXBuildFile; fileRef = 61807AD3E9B6EFB216DD12D7670A9BBD /* RCTSwitchManager.m */; settings = {COMPILER_FLAGS = "-DFOLLY_NO_CONFIG -DFOLLY_MOBILE=1 -DFOLLY_USE_LIBCPP=1 -Wno-comma -Wno-shorten-64-to-32 -Wno-documentation"; }; };
- 82AA981DFB8F5D069FBC097972128FBF /* NSValue+Interpolation.h in Headers */ = {isa = PBXBuildFile; fileRef = F3CE169AB6BFE8C9298FF480C9157D2A /* NSValue+Interpolation.h */; settings = {ATTRIBUTES = (Project, ); }; };
+ 81CCE4C52065036421BF08A1E4611A29 /* RCTLayoutAnimationGroup.h in Headers */ = {isa = PBXBuildFile; fileRef = 4899ED5138E92F712577A31416AE7B77 /* RCTLayoutAnimationGroup.h */; settings = {ATTRIBUTES = (Project, ); }; };
+ 81D4EAAAE01E962D3FE5650723B48052 /* RCTInputAccessoryViewManager.m in Sources */ = {isa = PBXBuildFile; fileRef = 24C959864323A9D488E0C2E4CA07E88E /* RCTInputAccessoryViewManager.m */; };
+ 81FB4E6FF7BD9963E94813C246824C44 /* RCTLocalAssetImageLoader.h in Headers */ = {isa = PBXBuildFile; fileRef = 981B9FD54806F6EB25A60D89A671B4A7 /* RCTLocalAssetImageLoader.h */; settings = {ATTRIBUTES = (Project, ); }; };
+ 826BAF1E3BCDEA784E74EDB50FD3D9DD /* RCTSwitchManager.m in Sources */ = {isa = PBXBuildFile; fileRef = DBFC9B7323DDD5F6B809356259FEF0D0 /* RCTSwitchManager.m */; settings = {COMPILER_FLAGS = "-DFOLLY_NO_CONFIG -DFOLLY_MOBILE=1 -DFOLLY_USE_LIBCPP=1 -Wno-comma -Wno-shorten-64-to-32 -Wno-documentation"; }; };
+ 82DB5DA4E40FD9606E1DDCA545F57A6A /* SDDiskCache.h in Headers */ = {isa = PBXBuildFile; fileRef = 385A35727E97F74DC58355BE28C9C372 /* SDDiskCache.h */; settings = {ATTRIBUTES = (Project, ); }; };
82F9B54A62E5D0DFDF2791B03C17993E /* bit_writer_utils.c in Sources */ = {isa = PBXBuildFile; fileRef = 2648866C0CDA4C5ABDAC1E7A68286134 /* bit_writer_utils.c */; settings = {COMPILER_FLAGS = "-D_THREAD_SAFE -fno-objc-arc"; }; };
- 835E28E6AC8654393480EBE31B99BBFB /* BugsnagApiClient.h in Headers */ = {isa = PBXBuildFile; fileRef = 19D1C204FEF267CEEA41BAFFD0A5A470 /* BugsnagApiClient.h */; settings = {ATTRIBUTES = (Project, ); }; };
- 83761E62E577F2305290E3E62A0B92A5 /* BSG_KSCrashSentry_CPPException.h in Headers */ = {isa = PBXBuildFile; fileRef = 5898A106AFD80CEDAFF7FD0CC8C579EB /* BSG_KSCrashSentry_CPPException.h */; settings = {ATTRIBUTES = (Project, ); }; };
- 837E3BCABB1242E4EA4BD4AD76E38E75 /* RCTReconnectingWebSocket.h in Headers */ = {isa = PBXBuildFile; fileRef = 485D4C8A3B871218AFBB6E6BE198838B /* RCTReconnectingWebSocket.h */; settings = {ATTRIBUTES = (Project, ); }; };
+ 835584A6BBE7A06358AE30184A1E5C61 /* UMViewManagerAdapter.m in Sources */ = {isa = PBXBuildFile; fileRef = F830E60C01B40A794A75591670C34327 /* UMViewManagerAdapter.m */; };
+ 835E28E6AC8654393480EBE31B99BBFB /* BugsnagApiClient.h in Headers */ = {isa = PBXBuildFile; fileRef = 38AFBD83969D4ACB79C96796F864A58E /* BugsnagApiClient.h */; settings = {ATTRIBUTES = (Project, ); }; };
+ 83761E62E577F2305290E3E62A0B92A5 /* BSG_KSCrashSentry_CPPException.h in Headers */ = {isa = PBXBuildFile; fileRef = CEAE5742735ACD5EA1AFAF87E07CAAEE /* BSG_KSCrashSentry_CPPException.h */; settings = {ATTRIBUTES = (Project, ); }; };
+ 83793E67D757487629E21D43EB54A598 /* RNEventEmitter.m in Sources */ = {isa = PBXBuildFile; fileRef = BCD9E2DCD95F1131FA45DA068D5D7F93 /* RNEventEmitter.m */; };
+ 837E3BCABB1242E4EA4BD4AD76E38E75 /* RCTReconnectingWebSocket.h in Headers */ = {isa = PBXBuildFile; fileRef = 6644CCDD548545A4579A6A91E7F29A21 /* RCTReconnectingWebSocket.h */; settings = {ATTRIBUTES = (Project, ); }; };
838FC3FEE030FC85C632A5D99A7F80C5 /* vlog_is_on.h in Headers */ = {isa = PBXBuildFile; fileRef = 2B44EB014015C40006305E19CC3C5ED5 /* vlog_is_on.h */; settings = {ATTRIBUTES = (Project, ); }; };
- 8392D2B78CCAFDFF0BF01136BE4D4601 /* BSG_KSCrashReportVersion.h in Headers */ = {isa = PBXBuildFile; fileRef = 8E6226BF13E6EAF808EF17BC47A86327 /* BSG_KSCrashReportVersion.h */; settings = {ATTRIBUTES = (Project, ); }; };
- 83B5AFCCA6960CC9F75C9E6C8D0C74DB /* RCTMessageThread.h in Headers */ = {isa = PBXBuildFile; fileRef = 87297CB9D107E93461825B393151D6AA /* RCTMessageThread.h */; settings = {ATTRIBUTES = (Project, ); }; };
+ 8392D2B78CCAFDFF0BF01136BE4D4601 /* BSG_KSCrashReportVersion.h in Headers */ = {isa = PBXBuildFile; fileRef = 9A0817587F310F6F492F0676614AA1D6 /* BSG_KSCrashReportVersion.h */; settings = {ATTRIBUTES = (Project, ); }; };
+ 83B5AFCCA6960CC9F75C9E6C8D0C74DB /* RCTMessageThread.h in Headers */ = {isa = PBXBuildFile; fileRef = 1F6130145C3D79A573DD571B515192C6 /* RCTMessageThread.h */; settings = {ATTRIBUTES = (Project, ); }; };
83CBD6741F2817605776207A9D4EE8A6 /* lossless_enc_sse41.c in Sources */ = {isa = PBXBuildFile; fileRef = 18F9FE5D71F2470D8708371BC5F7CA97 /* lossless_enc_sse41.c */; settings = {COMPILER_FLAGS = "-D_THREAD_SAFE -fno-objc-arc"; }; };
+ 83D6C32AF8E9A48FB2EE9EECD87ACA0A /* RCTConvert+UIBackgroundFetchResult.h in Headers */ = {isa = PBXBuildFile; fileRef = 9972B512A8691F22023DD2CA7052024F /* RCTConvert+UIBackgroundFetchResult.h */; settings = {ATTRIBUTES = (Project, ); }; };
841BD4293BD63E749D78D404D4E2718B /* FIRInstanceIDTokenFetchOperation.m in Sources */ = {isa = PBXBuildFile; fileRef = 70EB10F7EB6FAFDD793C9E8C9D31F496 /* FIRInstanceIDTokenFetchOperation.m */; };
845A994AD06C3A97A7E1B733653C29E4 /* vp8l_enc.c in Sources */ = {isa = PBXBuildFile; fileRef = 46018D5F6434EFDDFA2D57B41E005D73 /* vp8l_enc.c */; settings = {COMPILER_FLAGS = "-D_THREAD_SAFE -fno-objc-arc"; }; };
+ 845E5BFCB3BDB4CF8656C238AC613099 /* RNGestureHandlerModule.m in Sources */ = {isa = PBXBuildFile; fileRef = C84329A4EEE145A05120D84B92BE06D1 /* RNGestureHandlerModule.m */; };
848E360DEDAB6A5661F407BDF4257129 /* FIRInstanceIDBackupExcludedPlist.h in Headers */ = {isa = PBXBuildFile; fileRef = E890974E5F9F8AC28A07BD99E6E3820B /* FIRInstanceIDBackupExcludedPlist.h */; settings = {ATTRIBUTES = (Project, ); }; };
- 84BFF6D3B2A17A30E8D2148C9764DE22 /* SDImageAPNGCoderInternal.h in Headers */ = {isa = PBXBuildFile; fileRef = FC87B49608E3699EDBC315EE282383A4 /* SDImageAPNGCoderInternal.h */; settings = {ATTRIBUTES = (Project, ); }; };
- 84E1CD68F5C3E3FBD41466E70DE32401 /* RCTTransformAnimatedNode.h in Headers */ = {isa = PBXBuildFile; fileRef = 97F090BCB8052859057FC94D67A6AA84 /* RCTTransformAnimatedNode.h */; settings = {ATTRIBUTES = (Project, ); }; };
- 84F58D4DD1D89BCF28E04BE7E7776AEE /* SDImageGraphics.m in Sources */ = {isa = PBXBuildFile; fileRef = D084A61355C41A8C278772736F8085FE /* SDImageGraphics.m */; };
- 8504F378171B3322A15B2FB8DCB20F6C /* RNBridgeModule.h in Headers */ = {isa = PBXBuildFile; fileRef = 9220D1DAAC6CC6A75B9B392417FF9651 /* RNBridgeModule.h */; settings = {ATTRIBUTES = (Project, ); }; };
- 85220765B974165E68E5DC0B09636E3A /* RNVectorIcons-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 049AF69E9E8B62A6A1109E451B817A5B /* RNVectorIcons-dummy.m */; };
- 85233251D8E6162F3BC0BBE816ACA76D /* EXCameraPermissionRequester.h in Headers */ = {isa = PBXBuildFile; fileRef = 3F6F82E91A301DC618C63C93A54919B2 /* EXCameraPermissionRequester.h */; settings = {ATTRIBUTES = (Project, ); }; };
- 853957680321D770A7167EA24130B476 /* RCTLog.mm in Sources */ = {isa = PBXBuildFile; fileRef = 5F62B20892EE9B76EE1E5D4CDFD9A50A /* RCTLog.mm */; settings = {COMPILER_FLAGS = "-DFOLLY_NO_CONFIG -DFOLLY_MOBILE=1 -DFOLLY_USE_LIBCPP=1 -Wno-comma -Wno-shorten-64-to-32 -Wno-documentation"; }; };
- 855D29711820A8ECBEE0799859EE4981 /* RNFirebaseAdMobInterstitial.m in Sources */ = {isa = PBXBuildFile; fileRef = B49D80180CD6A296A028FCD34F4D456C /* RNFirebaseAdMobInterstitial.m */; };
- 857C450571C28E2C63C29DF17692E758 /* Instance.h in Headers */ = {isa = PBXBuildFile; fileRef = 0058CE4F379579E66CFAD9373A917F1E /* Instance.h */; settings = {ATTRIBUTES = (Project, ); }; };
- 859B985A52815D5B3710FCC5292CE486 /* BugsnagSessionTracker.h in Headers */ = {isa = PBXBuildFile; fileRef = 1E1EDA28F3B5BE1A3121EF355D699262 /* BugsnagSessionTracker.h */; settings = {ATTRIBUTES = (Project, ); }; };
- 85AAA8DE4EAC1A88EFB67BA1614DAC12 /* RCTBaseTextShadowView.h in Headers */ = {isa = PBXBuildFile; fileRef = F0D56DBBDE790FA37E053D296264D846 /* RCTBaseTextShadowView.h */; settings = {ATTRIBUTES = (Project, ); }; };
- 85BE35AEE7C2AC53C1FE4A588D471E15 /* RNFetchBlobFS.h in Headers */ = {isa = PBXBuildFile; fileRef = ED7852E0ABF6CEE66755C3B770CD7445 /* RNFetchBlobFS.h */; settings = {ATTRIBUTES = (Project, ); }; };
+ 84E1CD68F5C3E3FBD41466E70DE32401 /* RCTTransformAnimatedNode.h in Headers */ = {isa = PBXBuildFile; fileRef = A9225D7F111BAB3D8B6E9D339AB7BD19 /* RCTTransformAnimatedNode.h */; settings = {ATTRIBUTES = (Project, ); }; };
+ 85233251D8E6162F3BC0BBE816ACA76D /* EXCameraPermissionRequester.h in Headers */ = {isa = PBXBuildFile; fileRef = AFD3478BDC9EB9D31D8B3B4849095C1E /* EXCameraPermissionRequester.h */; settings = {ATTRIBUTES = (Project, ); }; };
+ 853957680321D770A7167EA24130B476 /* RCTLog.mm in Sources */ = {isa = PBXBuildFile; fileRef = 7526727E37F82EF467D94C1A4D6004E7 /* RCTLog.mm */; settings = {COMPILER_FLAGS = "-DFOLLY_NO_CONFIG -DFOLLY_MOBILE=1 -DFOLLY_USE_LIBCPP=1 -Wno-comma -Wno-shorten-64-to-32 -Wno-documentation"; }; };
+ 854A31D847143DFE3DD1A033FA23B9CE /* SDImageCoder.m in Sources */ = {isa = PBXBuildFile; fileRef = 35C3649F20C54E169E70AC51597FF19C /* SDImageCoder.m */; };
+ 857C450571C28E2C63C29DF17692E758 /* Instance.h in Headers */ = {isa = PBXBuildFile; fileRef = AD01520D0413E795CF7A3AD00C05FE43 /* Instance.h */; settings = {ATTRIBUTES = (Project, ); }; };
+ 857D6820102A823A926238F4E58F7145 /* SDImageLoadersManager.m in Sources */ = {isa = PBXBuildFile; fileRef = EE06ECA289582B4F447C247455A80667 /* SDImageLoadersManager.m */; };
+ 859B985A52815D5B3710FCC5292CE486 /* BugsnagSessionTracker.h in Headers */ = {isa = PBXBuildFile; fileRef = 313F279EF2F6100614BBD3300E69571C /* BugsnagSessionTracker.h */; settings = {ATTRIBUTES = (Project, ); }; };
+ 85AAA8DE4EAC1A88EFB67BA1614DAC12 /* RCTBaseTextShadowView.h in Headers */ = {isa = PBXBuildFile; fileRef = 1DBC6A8AB4FC6F03AD8A2D2D0A933C3E /* RCTBaseTextShadowView.h */; settings = {ATTRIBUTES = (Project, ); }; };
85C2EC99B56CFD98C2CCC5F32FA58F0A /* FIRInstanceIDKeyPair.m in Sources */ = {isa = PBXBuildFile; fileRef = 6482CC18F554B79FC6B2E2DFB5E802A2 /* FIRInstanceIDKeyPair.m */; };
+ 86131520C0D130B599E2CE94C6A9E8BB /* RNFetchBlob.m in Sources */ = {isa = PBXBuildFile; fileRef = BC99BC7871D50C3DD7CA50286AE1E0E4 /* RNFetchBlob.m */; };
8649A76A297D2E21447A67155DF34A79 /* rescaler_utils.c in Sources */ = {isa = PBXBuildFile; fileRef = 54691E9872FE05CE71B6F84E82D93EB0 /* rescaler_utils.c */; settings = {COMPILER_FLAGS = "-D_THREAD_SAFE -fno-objc-arc"; }; };
- 8681612093E1F23B3AC2EDA3FAB849E8 /* JSIDynamic.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 382F271E2E538A2DB974391781EA47BD /* JSIDynamic.cpp */; settings = {COMPILER_FLAGS = "-DFOLLY_NO_CONFIG -DFOLLY_MOBILE=1 -DFOLLY_USE_LIBCPP=1 -Wno-comma -Wno-shorten-64-to-32 -Wno-documentation"; }; };
- 8687985D8E9D2B23DBBB25E7020406FD /* RCTKeyCommands.h in Headers */ = {isa = PBXBuildFile; fileRef = F9EB39BD0F1F26046DF653BA9BD09548 /* RCTKeyCommands.h */; settings = {ATTRIBUTES = (Project, ); }; };
- 8689BC88B341E6BEDF98B48BBF98704E /* RCTWebSocketExecutor.h in Headers */ = {isa = PBXBuildFile; fileRef = C7ED270014476CED1E4C49AE3797BDFC /* RCTWebSocketExecutor.h */; settings = {ATTRIBUTES = (Project, ); }; };
- 8693629097C6317357D73FBBC11B68DB /* EXUserNotificationRequester.h in Headers */ = {isa = PBXBuildFile; fileRef = 7F6DB364ACB1D3C68DFC1137E1D231B4 /* EXUserNotificationRequester.h */; settings = {ATTRIBUTES = (Project, ); }; };
- 86AD40358DDB91830D0A460517F0C1CC /* RCTDivisionAnimatedNode.m in Sources */ = {isa = PBXBuildFile; fileRef = EFF9D47C46FB7EA2C031329BD442E64D /* RCTDivisionAnimatedNode.m */; };
- 86DADE1E13ECBAC39F142EF835FD47C9 /* RNFirebase-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 4AE8AF4CBE3B6807CCF54FED9642104C /* RNFirebase-dummy.m */; };
+ 8681612093E1F23B3AC2EDA3FAB849E8 /* JSIDynamic.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 6536B35E7702CB12B5391BBC4AE13129 /* JSIDynamic.cpp */; settings = {COMPILER_FLAGS = "-DFOLLY_NO_CONFIG -DFOLLY_MOBILE=1 -DFOLLY_USE_LIBCPP=1 -Wno-comma -Wno-shorten-64-to-32 -Wno-documentation"; }; };
+ 8687985D8E9D2B23DBBB25E7020406FD /* RCTKeyCommands.h in Headers */ = {isa = PBXBuildFile; fileRef = E0D2AA3E3D55AEAEAA6CAEB968C2FD57 /* RCTKeyCommands.h */; settings = {ATTRIBUTES = (Project, ); }; };
+ 8689BC88B341E6BEDF98B48BBF98704E /* RCTWebSocketExecutor.h in Headers */ = {isa = PBXBuildFile; fileRef = DC4ACE10252DA0BC05C6BC81324CC2D0 /* RCTWebSocketExecutor.h */; settings = {ATTRIBUTES = (Project, ); }; };
+ 8693629097C6317357D73FBBC11B68DB /* EXUserNotificationRequester.h in Headers */ = {isa = PBXBuildFile; fileRef = 2A75D08FC66E45174ADA2233E9A46326 /* EXUserNotificationRequester.h */; settings = {ATTRIBUTES = (Project, ); }; };
+ 86ABDEBB3CC79B6D00735E0124419255 /* SDWebImageWebPCoder-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 08E2D213323FFCFD15C0B0E8F2361194 /* SDWebImageWebPCoder-dummy.m */; };
+ 86AD40358DDB91830D0A460517F0C1CC /* RCTDivisionAnimatedNode.m in Sources */ = {isa = PBXBuildFile; fileRef = C564FE0EE99347D44D3C1335D519CB1D /* RCTDivisionAnimatedNode.m */; };
86DAEF8820731D1C15928424330BA767 /* upsampling_sse41.c in Sources */ = {isa = PBXBuildFile; fileRef = B720F7FD06FA4A29CD918CFA41A1EFE2 /* upsampling_sse41.c */; settings = {COMPILER_FLAGS = "-D_THREAD_SAFE -fno-objc-arc"; }; };
- 86F8434EB8DE15DF6DEC783682DC831E /* ModuleRegistry.h in Headers */ = {isa = PBXBuildFile; fileRef = 7FD385BA0C0F03BBC21942FB738FFE62 /* ModuleRegistry.h */; settings = {ATTRIBUTES = (Project, ); }; };
- 87730102CEFA42EE60076433DDCF6F7E /* RCTTextAttributes.h in Headers */ = {isa = PBXBuildFile; fileRef = 230D4946B62B479E3AAE7E7D979DCF3E /* RCTTextAttributes.h */; settings = {ATTRIBUTES = (Project, ); }; };
- 879AF62492BB818164FB39048C9533EB /* ModuleRegistry.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 60230EBA4D46C1BF5896FDCF8AB76588 /* ModuleRegistry.cpp */; settings = {COMPILER_FLAGS = "-DFOLLY_NO_CONFIG -DFOLLY_MOBILE=1 -DFOLLY_USE_LIBCPP=1 -Wno-comma -Wno-shorten-64-to-32 -Wno-documentation"; }; };
+ 86F8434EB8DE15DF6DEC783682DC831E /* ModuleRegistry.h in Headers */ = {isa = PBXBuildFile; fileRef = 391C669422ACDB5BF1BD5FF64CD8FF78 /* ModuleRegistry.h */; settings = {ATTRIBUTES = (Project, ); }; };
+ 8703F902E77010AEAF2C18BAA3432618 /* RNFirebaseCrashlytics.h in Headers */ = {isa = PBXBuildFile; fileRef = C03AFCF6D0AC61F62FEF76CA69BFE32B /* RNFirebaseCrashlytics.h */; settings = {ATTRIBUTES = (Project, ); }; };
+ 87730102CEFA42EE60076433DDCF6F7E /* RCTTextAttributes.h in Headers */ = {isa = PBXBuildFile; fileRef = 715689384853C2B82BE4E0CA21575EDF /* RCTTextAttributes.h */; settings = {ATTRIBUTES = (Project, ); }; };
+ 877CA43B94BDC3B3A31F790F29FC8E20 /* RNFetchBlobFS.m in Sources */ = {isa = PBXBuildFile; fileRef = 771F2226296DB536A0CBDBE0B10EC670 /* RNFetchBlobFS.m */; };
+ 879AF62492BB818164FB39048C9533EB /* ModuleRegistry.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2B26DB8D9516CFDC03E7B03DAADF5F20 /* ModuleRegistry.cpp */; settings = {COMPILER_FLAGS = "-DFOLLY_NO_CONFIG -DFOLLY_MOBILE=1 -DFOLLY_USE_LIBCPP=1 -Wno-comma -Wno-shorten-64-to-32 -Wno-documentation"; }; };
87A37B963F458EC671B112D8B216C59E /* picture_psnr_enc.c in Sources */ = {isa = PBXBuildFile; fileRef = 2A2183E0058E38C8CF11FB7FAFA6FED2 /* picture_psnr_enc.c */; settings = {COMPILER_FLAGS = "-D_THREAD_SAFE -fno-objc-arc"; }; };
87C77CE28E3EF45AEFE750BB7575FFFC /* muxedit.c in Sources */ = {isa = PBXBuildFile; fileRef = 6E294961BBA6FE83A76DE4AC948D3C06 /* muxedit.c */; settings = {COMPILER_FLAGS = "-D_THREAD_SAFE -fno-objc-arc"; }; };
- 880294F32C8E4BD2D54480AC8E2886E8 /* BannerComponent.m in Sources */ = {isa = PBXBuildFile; fileRef = E9421D4473582BBC55F1EFB78B6AD5AA /* BannerComponent.m */; };
- 88214E5E2A114ADD3EE51DEAD80359E6 /* BugsnagCollections.h in Headers */ = {isa = PBXBuildFile; fileRef = 43F9F7BCC153199DABC4F30C70C8E80F /* BugsnagCollections.h */; settings = {ATTRIBUTES = (Project, ); }; };
- 883BB57DBB0254F26EDFEA8C524A1366 /* RNCommandsHandler.h in Headers */ = {isa = PBXBuildFile; fileRef = 22C9669E3D42F9354A63CC2B1DBBA93B /* RNCommandsHandler.h */; settings = {ATTRIBUTES = (Project, ); }; };
- 887EE966E17714674966C683E3CFF0EC /* RNRotationHandler.h in Headers */ = {isa = PBXBuildFile; fileRef = 35FDDFBDB91599A53E5FCF9CF81553C5 /* RNRotationHandler.h */; settings = {ATTRIBUTES = (Project, ); }; };
- 888B2DEA05FE3BB6E9D08DD1F177DEE1 /* UIButton+WebCache.h in Headers */ = {isa = PBXBuildFile; fileRef = 21A526257E8262278ACDD62D55CAA864 /* UIButton+WebCache.h */; settings = {ATTRIBUTES = (Project, ); }; };
- 88902F9738770E60153CDC8566F6D068 /* EXAudioSessionManager.h in Headers */ = {isa = PBXBuildFile; fileRef = 4BDB7DC975AD32566BD072ACA14621B5 /* EXAudioSessionManager.h */; settings = {ATTRIBUTES = (Project, ); }; };
+ 88214E5E2A114ADD3EE51DEAD80359E6 /* BugsnagCollections.h in Headers */ = {isa = PBXBuildFile; fileRef = 9BC16D6220B1A894DFA813857D2B1A50 /* BugsnagCollections.h */; settings = {ATTRIBUTES = (Project, ); }; };
+ 8834A680C11C1E788170A7F6EA8C3A91 /* UIImageView+HighlightedWebCache.m in Sources */ = {isa = PBXBuildFile; fileRef = 4074B41303A10BB9FC9F9655B60EFBCC /* UIImageView+HighlightedWebCache.m */; };
+ 883DF58893F917E69FDA2224D738E4E1 /* UMReactNativeAdapter.m in Sources */ = {isa = PBXBuildFile; fileRef = 6B2615C7492D2CE070EFC612A567442E /* UMReactNativeAdapter.m */; };
+ 88902F9738770E60153CDC8566F6D068 /* EXAudioSessionManager.h in Headers */ = {isa = PBXBuildFile; fileRef = 3D12552FDEA078082C17BA790AF3C6B6 /* EXAudioSessionManager.h */; settings = {ATTRIBUTES = (Project, ); }; };
88B58642B5770D7313961DB5AAC02C58 /* GULReachabilityChecker.m in Sources */ = {isa = PBXBuildFile; fileRef = C9A96F9C687794B676D8EB9EC1991628 /* GULReachabilityChecker.m */; };
- 88FA13F1D8FA8BA39D35E071FC0A86AA /* UMCore-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 189A1D0128E5C94ADB2B52826E6E1FB5 /* UMCore-dummy.m */; };
+ 88FA13F1D8FA8BA39D35E071FC0A86AA /* UMCore-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = D5A14326F94EBD4C019867860BC8BA14 /* UMCore-dummy.m */; };
+ 892EC96BF7693273B59A86185A62DFBA /* RNImageCropPicker-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = E05A4311D47514EDEE28A6D14410F61A /* RNImageCropPicker-dummy.m */; };
8930132E132D64934AF6AB53407AF4C0 /* bignum.h in Headers */ = {isa = PBXBuildFile; fileRef = 27D37BA8B70B59F43608B73D6A8BC1E0 /* bignum.h */; settings = {ATTRIBUTES = (Project, ); }; };
- 8932AFF9753A9486F655B3C3CE837E80 /* RNRealmPath.h in Headers */ = {isa = PBXBuildFile; fileRef = A82C5987CD02E1C9F5DFB64A59195BB6 /* RNRealmPath.h */; settings = {ATTRIBUTES = (Project, ); }; };
- 899404573E0B34BE7B2E385A855D0BB2 /* SDWebImageManager.m in Sources */ = {isa = PBXBuildFile; fileRef = 2B03BB324D33EF57D866EA1AAB20657B /* SDWebImageManager.m */; };
+ 89AA01B23B6705CF63BAD7BAD97CE0CD /* RNSScreen.h in Headers */ = {isa = PBXBuildFile; fileRef = 10D2A9B6383D0B7A9F26A12C942FC59A /* RNSScreen.h */; settings = {ATTRIBUTES = (Project, ); }; };
89CDAEA204DA1341B986C199502BC4F0 /* FIRInstanceID.m in Sources */ = {isa = PBXBuildFile; fileRef = 13F7EC84F20110F57F50A08F7D5E20A1 /* FIRInstanceID.m */; };
- 89D3C452A34A703CA62770C2A9ACBD0C /* BSG_KSObjC.h in Headers */ = {isa = PBXBuildFile; fileRef = 54BE6C57A098E2C2157D3CFFDF9A9891 /* BSG_KSObjC.h */; settings = {ATTRIBUTES = (Project, ); }; };
- 8A4888A0CB97AEE826B8958BCFB0B51D /* RCTMultipartStreamReader.m in Sources */ = {isa = PBXBuildFile; fileRef = 44FCA4CC48CE8580FDD19232CE7E2F00 /* RCTMultipartStreamReader.m */; settings = {COMPILER_FLAGS = "-DFOLLY_NO_CONFIG -DFOLLY_MOBILE=1 -DFOLLY_USE_LIBCPP=1 -Wno-comma -Wno-shorten-64-to-32 -Wno-documentation"; }; };
- 8A61AFE92802920E26A098E863CFADCD /* RNVectorIconsManager.h in Headers */ = {isa = PBXBuildFile; fileRef = AED49528CDDB239923E9F2B1EEC430F4 /* RNVectorIconsManager.h */; settings = {ATTRIBUTES = (Project, ); }; };
+ 89D3C452A34A703CA62770C2A9ACBD0C /* BSG_KSObjC.h in Headers */ = {isa = PBXBuildFile; fileRef = C7451FA1E7DD533F3DB2735C377A45F6 /* BSG_KSObjC.h */; settings = {ATTRIBUTES = (Project, ); }; };
+ 8A4568B2D443E0259687E55E3A9FDD9B /* UIColor+HexString.h in Headers */ = {isa = PBXBuildFile; fileRef = CBD4E654C7EADCABFB701CC3B24F88F3 /* UIColor+HexString.h */; settings = {ATTRIBUTES = (Project, ); }; };
+ 8A4888A0CB97AEE826B8958BCFB0B51D /* RCTMultipartStreamReader.m in Sources */ = {isa = PBXBuildFile; fileRef = BA060F2054CE9509CD4C737E4337812D /* RCTMultipartStreamReader.m */; settings = {COMPILER_FLAGS = "-DFOLLY_NO_CONFIG -DFOLLY_MOBILE=1 -DFOLLY_USE_LIBCPP=1 -Wno-comma -Wno-shorten-64-to-32 -Wno-documentation"; }; };
8A885CA9B621D1B647CE2A6E5365DE12 /* FIRInstanceIDTokenFetchOperation.h in Headers */ = {isa = PBXBuildFile; fileRef = C980EA33A607A2694099B5B05F6BC835 /* FIRInstanceIDTokenFetchOperation.h */; settings = {ATTRIBUTES = (Project, ); }; };
- 8AB5D5C5ECF56C51BB92DD58A3AAEA17 /* SDImageAPNGCoder.h in Headers */ = {isa = PBXBuildFile; fileRef = 8C3E3AC75267352F336884AA81DEB77A /* SDImageAPNGCoder.h */; settings = {ATTRIBUTES = (Project, ); }; };
- 8ABE5B56B57136651D53E04A00B0B1C0 /* react-native-orientation-locker-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 7BDC57C146139677B99F53946A0802BA /* react-native-orientation-locker-dummy.m */; };
- 8AC0C228313F9C48BB92AFBA4818358A /* YGMarker.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 9D0600EFEEB96365A68580E2DDC58D29 /* YGMarker.cpp */; settings = {COMPILER_FLAGS = "-fno-omit-frame-pointer -fexceptions -Wall -Werror -std=c++1y -fPIC -fno-objc-arc"; }; };
- 8ACC67DAF8A7F796E25D42AE36EE0E1C /* RCTMultilineTextInputViewManager.h in Headers */ = {isa = PBXBuildFile; fileRef = 87A45D543755AD23724A97D0862A614A /* RCTMultilineTextInputViewManager.h */; settings = {ATTRIBUTES = (Project, ); }; };
- 8AE762639607455141BEC0F53D14826B /* RNPinchHandler.m in Sources */ = {isa = PBXBuildFile; fileRef = 8481B04754BD4F66AEBEF2CCDD2483A2 /* RNPinchHandler.m */; };
- 8B7D15FA54C76DCC79A437F9EB686BE5 /* UIView+WebCacheOperation.h in Headers */ = {isa = PBXBuildFile; fileRef = B5E39DE2C8FF2CB9EF002F8A7DA293D9 /* UIView+WebCacheOperation.h */; settings = {ATTRIBUTES = (Project, ); }; };
- 8B95A720890DCDF42E0B3FD992876F6E /* RCTDefines.h in Headers */ = {isa = PBXBuildFile; fileRef = 5770668FEB415C9AE07A0E44F91D5885 /* RCTDefines.h */; settings = {ATTRIBUTES = (Project, ); }; };
- 8BB8CC38315B8EDB966BEC7A44B5BC51 /* RNCWKProcessPoolManager.h in Headers */ = {isa = PBXBuildFile; fileRef = 93B25F18BBBEB34C1500CF37F0005B13 /* RNCWKProcessPoolManager.h */; settings = {ATTRIBUTES = (Project, ); }; };
- 8C26C66BE52E4E52ADE666FB7506D039 /* BSG_KSMach.c in Sources */ = {isa = PBXBuildFile; fileRef = 85049A3A36C60699C91186B70FA9C736 /* BSG_KSMach.c */; };
- 8C7A15FBAE7271D2AB49E08463F5BC95 /* EXContactsRequester.m in Sources */ = {isa = PBXBuildFile; fileRef = 9C6F2B1E94CBDF0364F989D4D90A2DCC /* EXContactsRequester.m */; };
- 8CC1F2A6C209E99881D48797A1ADF0A7 /* RCTDevLoadingView.h in Headers */ = {isa = PBXBuildFile; fileRef = 3494BDAB84F67FAEE546A4019927272B /* RCTDevLoadingView.h */; settings = {ATTRIBUTES = (Project, ); }; };
- 8CD8228C936FD255CD294290118A29B6 /* EXAVPlayerData.h in Headers */ = {isa = PBXBuildFile; fileRef = 9CC92C16CFCF6C1343A28AD767F83C29 /* EXAVPlayerData.h */; settings = {ATTRIBUTES = (Project, ); }; };
- 8CED141149EFFBAD701E9AAF21C0D03C /* UMUtilities.m in Sources */ = {isa = PBXBuildFile; fileRef = BAA401FA6176693F8020103688B60643 /* UMUtilities.m */; };
- 8D14EE934C47DC8FB40C9352BAEC9C58 /* react-native-splash-screen-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = F2FC057E52EE3BEE208AAD1C34C7EFD0 /* react-native-splash-screen-dummy.m */; };
+ 8AC0C228313F9C48BB92AFBA4818358A /* YGMarker.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 6F1C9561CCC40804918AF934B13E8794 /* YGMarker.cpp */; settings = {COMPILER_FLAGS = "-fno-omit-frame-pointer -fexceptions -Wall -Werror -std=c++1y -fPIC -fno-objc-arc"; }; };
+ 8ACC67DAF8A7F796E25D42AE36EE0E1C /* RCTMultilineTextInputViewManager.h in Headers */ = {isa = PBXBuildFile; fileRef = C3581F42022D719AE625E635EF9C3FD8 /* RCTMultilineTextInputViewManager.h */; settings = {ATTRIBUTES = (Project, ); }; };
+ 8B86A60690253F93B09DAFC28CC86D91 /* SDWebImageManager.h in Headers */ = {isa = PBXBuildFile; fileRef = 16D95C9072E07D2BD62148F0AEBE4D3B /* SDWebImageManager.h */; settings = {ATTRIBUTES = (Project, ); }; };
+ 8B95A720890DCDF42E0B3FD992876F6E /* RCTDefines.h in Headers */ = {isa = PBXBuildFile; fileRef = 055C3873FAE61AB5E28A37EE7F9E2A4D /* RCTDefines.h */; settings = {ATTRIBUTES = (Project, ); }; };
+ 8BF081C8F875D3B37A688E708598C43A /* SDImageGraphics.m in Sources */ = {isa = PBXBuildFile; fileRef = D084A61355C41A8C278772736F8085FE /* SDImageGraphics.m */; };
+ 8BFAEC1822C0175E1A5EAF53F2298E47 /* RNFirebasePerformance.h in Headers */ = {isa = PBXBuildFile; fileRef = F1FC23310DB694110FDD24149EADEEE8 /* RNFirebasePerformance.h */; settings = {ATTRIBUTES = (Project, ); }; };
+ 8C26C66BE52E4E52ADE666FB7506D039 /* BSG_KSMach.c in Sources */ = {isa = PBXBuildFile; fileRef = 9C9F3D0EBAC5E4C70F0B10D2FCAF7417 /* BSG_KSMach.c */; };
+ 8C70EB157F19949E10CE56DD76B45C38 /* SDWebImage-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 4E21FBA326656BCDA854C65100791457 /* SDWebImage-dummy.m */; };
+ 8C7A15FBAE7271D2AB49E08463F5BC95 /* EXContactsRequester.m in Sources */ = {isa = PBXBuildFile; fileRef = E687E17816C1BB1E5F1FB229A447CCE0 /* EXContactsRequester.m */; };
+ 8CC1F2A6C209E99881D48797A1ADF0A7 /* RCTDevLoadingView.h in Headers */ = {isa = PBXBuildFile; fileRef = ABCDF452AF5833C24BFD34CC60B948D7 /* RCTDevLoadingView.h */; settings = {ATTRIBUTES = (Project, ); }; };
+ 8CD8228C936FD255CD294290118A29B6 /* EXAVPlayerData.h in Headers */ = {isa = PBXBuildFile; fileRef = C3D20A736AA2084001694C9A1B172FF3 /* EXAVPlayerData.h */; settings = {ATTRIBUTES = (Project, ); }; };
+ 8CED141149EFFBAD701E9AAF21C0D03C /* UMUtilities.m in Sources */ = {isa = PBXBuildFile; fileRef = CE4B49F930257207BBE9A10E3DF7DE75 /* UMUtilities.m */; };
+ 8D573C598A1BC05BA7689B1B4ACF286E /* RSKTouchView.m in Sources */ = {isa = PBXBuildFile; fileRef = 0A4FE3FA0CEDA12B91E1EE8CCFB152E2 /* RSKTouchView.m */; };
8D8C90B91DB286AC93C129B102A9BFDA /* FIRInstanceIDCheckinService.h in Headers */ = {isa = PBXBuildFile; fileRef = 30E5AB6EC5B25B9A1474BDCC987B23DD /* FIRInstanceIDCheckinService.h */; settings = {ATTRIBUTES = (Project, ); }; };
- 8DB4206FC56F6BF42AD8423BFDD8D138 /* QBImagePicker.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 815AB2726183E96338A3CB0E0FB94F67 /* QBImagePicker.storyboard */; };
+ 8D9FF8C976084137F2169AE5BC47CE01 /* LNAnimator.h in Headers */ = {isa = PBXBuildFile; fileRef = 6E2C08F171DAA291C22B59F9CCBED577 /* LNAnimator.h */; settings = {ATTRIBUTES = (Project, ); }; };
8DEC685179505671312E48AF66B4D998 /* FIRApp.h in Headers */ = {isa = PBXBuildFile; fileRef = D3DBAA8A6215C5BE09B4CCF5B9841221 /* FIRApp.h */; settings = {ATTRIBUTES = (Project, ); }; };
- 8E12F102AB2E9838DDE6962237785645 /* BSG_KSBacktrace_Private.h in Headers */ = {isa = PBXBuildFile; fileRef = F818207BB523FEEA2A77BC004E69E43F /* BSG_KSBacktrace_Private.h */; settings = {ATTRIBUTES = (Project, ); }; };
- 8E412E8EFFF7AF9D9DE06F5741936067 /* ReactMarker.h in Headers */ = {isa = PBXBuildFile; fileRef = 4BE5672B5E4F67323626C8597EB0962B /* ReactMarker.h */; settings = {ATTRIBUTES = (Project, ); }; };
- 8E601D963A773ED166E65B5F262D6D18 /* RCTVirtualTextViewManager.h in Headers */ = {isa = PBXBuildFile; fileRef = 507E98EF1CEB0E4F0E02C565CC0460C4 /* RCTVirtualTextViewManager.h */; settings = {ATTRIBUTES = (Project, ); }; };
- 8E6594F3A9C4478E040280389A52F08A /* RNNotificationParser.m in Sources */ = {isa = PBXBuildFile; fileRef = 284CA36E55AFBF569F9D5812D36CDA10 /* RNNotificationParser.m */; };
- 8E7FC25F2EB763A3D697F23B705067AE /* RCTBackedTextInputViewProtocol.h in Headers */ = {isa = PBXBuildFile; fileRef = 04B9A5202BF99AD07946D15455B942CE /* RCTBackedTextInputViewProtocol.h */; settings = {ATTRIBUTES = (Project, ); }; };
- 8EBF89FABA10F6027E1F12CB7421F3B6 /* UMReactNativeEventEmitter.h in Headers */ = {isa = PBXBuildFile; fileRef = 4A20AF82371E17329295CB0CDF03CF6F /* UMReactNativeEventEmitter.h */; settings = {ATTRIBUTES = (Project, ); }; };
+ 8E12F102AB2E9838DDE6962237785645 /* BSG_KSBacktrace_Private.h in Headers */ = {isa = PBXBuildFile; fileRef = EC76BB002194D2B0FEA471E0DD0214B1 /* BSG_KSBacktrace_Private.h */; settings = {ATTRIBUTES = (Project, ); }; };
+ 8E412E8EFFF7AF9D9DE06F5741936067 /* ReactMarker.h in Headers */ = {isa = PBXBuildFile; fileRef = 6736B60E76F90D25B1E60F05434D74C3 /* ReactMarker.h */; settings = {ATTRIBUTES = (Project, ); }; };
+ 8E601D963A773ED166E65B5F262D6D18 /* RCTVirtualTextViewManager.h in Headers */ = {isa = PBXBuildFile; fileRef = 24D381ADAD38B8780E439FAFE5A05ACA /* RCTVirtualTextViewManager.h */; settings = {ATTRIBUTES = (Project, ); }; };
+ 8E7FC25F2EB763A3D697F23B705067AE /* RCTBackedTextInputViewProtocol.h in Headers */ = {isa = PBXBuildFile; fileRef = FD10DD6765C25453FFA9F338501A7E5F /* RCTBackedTextInputViewProtocol.h */; settings = {ATTRIBUTES = (Project, ); }; };
8EE80AB91ADA3A9A2C6253A49BE3664D /* filters_mips_dsp_r2.c in Sources */ = {isa = PBXBuildFile; fileRef = 79EBB70B371D1389E15B334770D085DD /* filters_mips_dsp_r2.c */; settings = {COMPILER_FLAGS = "-D_THREAD_SAFE -fno-objc-arc"; }; };
- 8F224476D1EBF85E0ED56DEABDB859CA /* UMModuleRegistryProvider.m in Sources */ = {isa = PBXBuildFile; fileRef = CE92D162776E68FCA54437FFC9D5AD90 /* UMModuleRegistryProvider.m */; };
+ 8F224476D1EBF85E0ED56DEABDB859CA /* UMModuleRegistryProvider.m in Sources */ = {isa = PBXBuildFile; fileRef = AF724E2EF4E5CA5B00FEC678579788F4 /* UMModuleRegistryProvider.m */; };
8F2FFF7829D53299777DCF5ADBD4E4F4 /* syntax_enc.c in Sources */ = {isa = PBXBuildFile; fileRef = A9BAA7550473354D15436B8D043C639A /* syntax_enc.c */; settings = {COMPILER_FLAGS = "-D_THREAD_SAFE -fno-objc-arc"; }; };
- 8F383C34DD630F237139AB8A5E33269D /* NSData+ImageContentType.h in Headers */ = {isa = PBXBuildFile; fileRef = D31CA7143A73D81AC402696A5725265F /* NSData+ImageContentType.h */; settings = {ATTRIBUTES = (Project, ); }; };
8F3B79F769C77B1242AD6920F841972E /* vp8l_dec.c in Sources */ = {isa = PBXBuildFile; fileRef = 430201343C35B7DA8D6D5C3172DF75B0 /* vp8l_dec.c */; settings = {COMPILER_FLAGS = "-D_THREAD_SAFE -fno-objc-arc"; }; };
8F3E78E2DB7AEB8C9FB6BFCDDE9C7089 /* bit_reader_utils.h in Headers */ = {isa = PBXBuildFile; fileRef = 473A5AAB43EF53BC21D685B3C3648058 /* bit_reader_utils.h */; settings = {ATTRIBUTES = (Project, ); }; };
- 8F45A230EBDFEA691CF2C377386745E3 /* RCTVideoPlayerViewController.h in Headers */ = {isa = PBXBuildFile; fileRef = 0B38159B0F782F444A69445BE357D6C6 /* RCTVideoPlayerViewController.h */; settings = {ATTRIBUTES = (Project, ); }; };
- 8F467DF6B02968F89BEF4985911982D2 /* UMModuleRegistry.h in Headers */ = {isa = PBXBuildFile; fileRef = 8EEA33563AD7DA0FEB308E27A5A2D0D1 /* UMModuleRegistry.h */; settings = {ATTRIBUTES = (Project, ); }; };
- 8F8BC3E509C75D7F5792EC6A9930BABD /* RCTManagedPointer.mm in Sources */ = {isa = PBXBuildFile; fileRef = C9E5D22A5937FA0BA34153F1D45C55D0 /* RCTManagedPointer.mm */; settings = {COMPILER_FLAGS = "-DFOLLY_NO_CONFIG -DFOLLY_MOBILE=1 -DFOLLY_USE_LIBCPP=1 -Wno-comma -Wno-shorten-64-to-32 -Wno-documentation"; }; };
+ 8F467DF6B02968F89BEF4985911982D2 /* UMModuleRegistry.h in Headers */ = {isa = PBXBuildFile; fileRef = 9DF2CFA13DD019FCEEC390E75CF086DC /* UMModuleRegistry.h */; settings = {ATTRIBUTES = (Project, ); }; };
+ 8F8BC3E509C75D7F5792EC6A9930BABD /* RCTManagedPointer.mm in Sources */ = {isa = PBXBuildFile; fileRef = E0349DE968D0C07ECBE515FC1DA0EAD7 /* RCTManagedPointer.mm */; settings = {COMPILER_FLAGS = "-DFOLLY_NO_CONFIG -DFOLLY_MOBILE=1 -DFOLLY_USE_LIBCPP=1 -Wno-comma -Wno-shorten-64-to-32 -Wno-documentation"; }; };
8F954BFA8C27E1B462B557A6C591B8EB /* FIRInstanceIDKeyPair.h in Headers */ = {isa = PBXBuildFile; fileRef = 817B8259B6457C7BFC3E8729B7FD18BC /* FIRInstanceIDKeyPair.h */; settings = {ATTRIBUTES = (Project, ); }; };
8F95C811580055653F64AA077EBECEB0 /* vp8i_enc.h in Headers */ = {isa = PBXBuildFile; fileRef = 06426D26C3258972F2C37E221B45318C /* vp8i_enc.h */; settings = {ATTRIBUTES = (Project, ); }; };
- 8F9D7F75EA619460EF3687A1923BEAB0 /* RNFirebaseAuth.h in Headers */ = {isa = PBXBuildFile; fileRef = AD05A01EC204BE5BDA222B1FFA48B200 /* RNFirebaseAuth.h */; settings = {ATTRIBUTES = (Project, ); }; };
8FB1149024E24A8A1FC0FCDA3795C940 /* pb_common.h in Headers */ = {isa = PBXBuildFile; fileRef = 6ECD790AD45BF12247973C7967F809F6 /* pb_common.h */; settings = {ATTRIBUTES = (Project, ); }; };
- 8FB712D6707F35580CAE41CCC8D9968A /* RCTMultilineTextInputView.h in Headers */ = {isa = PBXBuildFile; fileRef = DDC9EED81C6F741C5EB92EB4D58C48DD /* RCTMultilineTextInputView.h */; settings = {ATTRIBUTES = (Project, ); }; };
- 8FF5B8FEE9262F76B3A4AB3355C82879 /* RCTVirtualTextShadowView.m in Sources */ = {isa = PBXBuildFile; fileRef = 63FA4E2CC6844658C9DDAFD68CF63ED7 /* RCTVirtualTextShadowView.m */; };
+ 8FB712D6707F35580CAE41CCC8D9968A /* RCTMultilineTextInputView.h in Headers */ = {isa = PBXBuildFile; fileRef = A4564B8C840D8588787DC06344AAEF0B /* RCTMultilineTextInputView.h */; settings = {ATTRIBUTES = (Project, ); }; };
+ 8FF5B8FEE9262F76B3A4AB3355C82879 /* RCTVirtualTextShadowView.m in Sources */ = {isa = PBXBuildFile; fileRef = 714A6BF92ADF937DB7D05ADC92A336BE /* RCTVirtualTextShadowView.m */; };
9058DE52F6CC41428189AEF7EF397B2C /* random_utils.h in Headers */ = {isa = PBXBuildFile; fileRef = 3F62D03AE48EEDC8771172430CD56AEE /* random_utils.h */; settings = {ATTRIBUTES = (Project, ); }; };
90891F4884E27C8201EE582CB7949F16 /* lossless_msa.c in Sources */ = {isa = PBXBuildFile; fileRef = A85259B533809285A90F0F4D1AAA38AD /* lossless_msa.c */; settings = {COMPILER_FLAGS = "-D_THREAD_SAFE -fno-objc-arc"; }; };
- 9105865272CC5E802F9D4D8F5E328D3A /* UMNativeModulesProxy.h in Headers */ = {isa = PBXBuildFile; fileRef = B0E5008E0F6BFA14BED9451E4CA469D3 /* UMNativeModulesProxy.h */; settings = {ATTRIBUTES = (Project, ); }; };
- 910EFDE49B3AD263164EE425DE9ADF6D /* RCTUtils.m in Sources */ = {isa = PBXBuildFile; fileRef = C34CCBCAE549FDB523406B50158CFEB7 /* RCTUtils.m */; settings = {COMPILER_FLAGS = "-DFOLLY_NO_CONFIG -DFOLLY_MOBILE=1 -DFOLLY_USE_LIBCPP=1 -Wno-comma -Wno-shorten-64-to-32 -Wno-documentation"; }; };
- 91446633BDBBF72BFFE0F45182D49D33 /* EXFileSystemAssetLibraryHandler.m in Sources */ = {isa = PBXBuildFile; fileRef = E891302FC837A7070CCA885AE67727AA /* EXFileSystemAssetLibraryHandler.m */; };
- 915AAE403697C6A5FB1B00D882F07A1B /* UIImage+ForceDecode.m in Sources */ = {isa = PBXBuildFile; fileRef = BE4CBA3B16A3556A65EC5F0CD9C291DF /* UIImage+ForceDecode.m */; };
- 91710BBF0AE58981E3F8AF6CBA45824C /* log.h in Headers */ = {isa = PBXBuildFile; fileRef = B850F67595FA3158F1950B4A322ED159 /* log.h */; settings = {ATTRIBUTES = (Project, ); }; };
- 91F648ECD4FD3E8CD5CEAB8D2A09B33A /* RNUserDefaults.h in Headers */ = {isa = PBXBuildFile; fileRef = 67AE79D283579F221C8E48CCB2C57A4D /* RNUserDefaults.h */; settings = {ATTRIBUTES = (Project, ); }; };
+ 90BD392BCBB2D8B45AE0129A0CAC0C02 /* UIView+WebCache.h in Headers */ = {isa = PBXBuildFile; fileRef = 523F0A4F1E3051AA1E22A50B39B3C035 /* UIView+WebCache.h */; settings = {ATTRIBUTES = (Project, ); }; };
+ 90C279308CFC7EA139B454FE8AAA4C93 /* RSKImageCropper.h in Headers */ = {isa = PBXBuildFile; fileRef = 93A386A89A87920EBAADD258D8BE0EB5 /* RSKImageCropper.h */; settings = {ATTRIBUTES = (Project, ); }; };
+ 910EA964B9B18F72C762D8C5FB36AB97 /* Orientation.h in Headers */ = {isa = PBXBuildFile; fileRef = ECD10E5AB4E2469B37E840C8DF2AC949 /* Orientation.h */; settings = {ATTRIBUTES = (Project, ); }; };
+ 910EFDE49B3AD263164EE425DE9ADF6D /* RCTUtils.m in Sources */ = {isa = PBXBuildFile; fileRef = 46C669596ADD59B21089291C6B5A3A08 /* RCTUtils.m */; settings = {COMPILER_FLAGS = "-DFOLLY_NO_CONFIG -DFOLLY_MOBILE=1 -DFOLLY_USE_LIBCPP=1 -Wno-comma -Wno-shorten-64-to-32 -Wno-documentation"; }; };
+ 91446633BDBBF72BFFE0F45182D49D33 /* EXFileSystemAssetLibraryHandler.m in Sources */ = {isa = PBXBuildFile; fileRef = 3D5922F083E3A0C376502C64C46C262A /* EXFileSystemAssetLibraryHandler.m */; };
+ 91710BBF0AE58981E3F8AF6CBA45824C /* log.h in Headers */ = {isa = PBXBuildFile; fileRef = 7994C96EFB405774E4F6E7F6119BCAFE /* log.h */; settings = {ATTRIBUTES = (Project, ); }; };
91F98C0368F0FCC6306D4CA7B4CE4131 /* rescaler_mips32.c in Sources */ = {isa = PBXBuildFile; fileRef = E335DC4C867B49C265B7875DD67A6D40 /* rescaler_mips32.c */; settings = {COMPILER_FLAGS = "-D_THREAD_SAFE -fno-objc-arc"; }; };
- 92240F46854CA8BBDC36758464E9CB46 /* JSExecutor.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 3BE0D187F74793F58A561E64DE6E1BF1 /* JSExecutor.cpp */; settings = {COMPILER_FLAGS = "-DFOLLY_NO_CONFIG -DFOLLY_MOBILE=1 -DFOLLY_USE_LIBCPP=1 -Wno-comma -Wno-shorten-64-to-32 -Wno-documentation"; }; };
- 923FC3119F297FD79D5F0804F71F08EE /* zh-Hans.lproj in Resources */ = {isa = PBXBuildFile; fileRef = CDEA6856DB3DE1C3C8824C456DEF7069 /* zh-Hans.lproj */; };
- 92A61FB468E2ACB27427BA9E482CD7C5 /* RNFirebaseAdMobBannerManager.m in Sources */ = {isa = PBXBuildFile; fileRef = 3EA3908430CE995F244FA70404D2F736 /* RNFirebaseAdMobBannerManager.m */; };
- 92C47060A7FA2A54595556C87BBC5E08 /* BugsnagFileStore.m in Sources */ = {isa = PBXBuildFile; fileRef = 7F3DB5C03A2525C72EBD748B40DA67A0 /* BugsnagFileStore.m */; };
- 92DEBEA9A386D7889CB3E74FC7704DA3 /* BSG_KSCrashSentry_User.h in Headers */ = {isa = PBXBuildFile; fileRef = E7896C22EA84EB0FD3A0EC997485AFA8 /* BSG_KSCrashSentry_User.h */; settings = {ATTRIBUTES = (Project, ); }; };
- 92E9DE603A0672C83FE1002E39239D25 /* RCTEventDispatcher.m in Sources */ = {isa = PBXBuildFile; fileRef = 0790BC1DC20250D59E035E911F2D89F7 /* RCTEventDispatcher.m */; settings = {COMPILER_FLAGS = "-DFOLLY_NO_CONFIG -DFOLLY_MOBILE=1 -DFOLLY_USE_LIBCPP=1 -Wno-comma -Wno-shorten-64-to-32 -Wno-documentation"; }; };
- 92F3DB9D5A0513868F3EF6B2D8A51C60 /* Instance.cpp in Sources */ = {isa = PBXBuildFile; fileRef = E30DA7079195B5299DD05241C982EB4F /* Instance.cpp */; settings = {COMPILER_FLAGS = "-DFOLLY_NO_CONFIG -DFOLLY_MOBILE=1 -DFOLLY_USE_LIBCPP=1 -Wno-comma -Wno-shorten-64-to-32 -Wno-documentation"; }; };
- 930358F2C522A162E3A667DB2122A975 /* RCTNetworking.mm in Sources */ = {isa = PBXBuildFile; fileRef = 3B3EEFB4249739EB3CC865F86611D153 /* RCTNetworking.mm */; };
- 931E7FA914F5F66943926B207161638A /* RCTRootView.m in Sources */ = {isa = PBXBuildFile; fileRef = 0E7377F08C65EE14D02DC84FC5BEC170 /* RCTRootView.m */; settings = {COMPILER_FLAGS = "-DFOLLY_NO_CONFIG -DFOLLY_MOBILE=1 -DFOLLY_USE_LIBCPP=1 -Wno-comma -Wno-shorten-64-to-32 -Wno-documentation"; }; };
+ 92240F46854CA8BBDC36758464E9CB46 /* JSExecutor.cpp in Sources */ = {isa = PBXBuildFile; fileRef = E0FE1D17E3543CA2D9751E03479FD414 /* JSExecutor.cpp */; settings = {COMPILER_FLAGS = "-DFOLLY_NO_CONFIG -DFOLLY_MOBILE=1 -DFOLLY_USE_LIBCPP=1 -Wno-comma -Wno-shorten-64-to-32 -Wno-documentation"; }; };
+ 92C47060A7FA2A54595556C87BBC5E08 /* BugsnagFileStore.m in Sources */ = {isa = PBXBuildFile; fileRef = 8F44DEB5D5C8D5871F744FA491B3AF5B /* BugsnagFileStore.m */; };
+ 92DEBEA9A386D7889CB3E74FC7704DA3 /* BSG_KSCrashSentry_User.h in Headers */ = {isa = PBXBuildFile; fileRef = D239F5CC0CB1B9C97A0AF5581F83B77C /* BSG_KSCrashSentry_User.h */; settings = {ATTRIBUTES = (Project, ); }; };
+ 92E573456E3695D3CA8BE75D5258A09A /* QBSlomoIconView.m in Sources */ = {isa = PBXBuildFile; fileRef = 3D9F9489DD97C0F4F3D28D56A71E3072 /* QBSlomoIconView.m */; };
+ 92E9DE603A0672C83FE1002E39239D25 /* RCTEventDispatcher.m in Sources */ = {isa = PBXBuildFile; fileRef = 19CA66F6A308D38B76052BB57DA9F762 /* RCTEventDispatcher.m */; settings = {COMPILER_FLAGS = "-DFOLLY_NO_CONFIG -DFOLLY_MOBILE=1 -DFOLLY_USE_LIBCPP=1 -Wno-comma -Wno-shorten-64-to-32 -Wno-documentation"; }; };
+ 92F3DB9D5A0513868F3EF6B2D8A51C60 /* Instance.cpp in Sources */ = {isa = PBXBuildFile; fileRef = EDDC5FE24DC160099E4449C97872CBAE /* Instance.cpp */; settings = {COMPILER_FLAGS = "-DFOLLY_NO_CONFIG -DFOLLY_MOBILE=1 -DFOLLY_USE_LIBCPP=1 -Wno-comma -Wno-shorten-64-to-32 -Wno-documentation"; }; };
+ 930358F2C522A162E3A667DB2122A975 /* RCTNetworking.mm in Sources */ = {isa = PBXBuildFile; fileRef = C5FA1A2793592570978B1CDA0C3D56C5 /* RCTNetworking.mm */; };
+ 931C297893672C4DF50699EABF784C14 /* RNFetchBlobConst.h in Headers */ = {isa = PBXBuildFile; fileRef = 1C503A21FBF9C867CF6DE88D88725C5B /* RNFetchBlobConst.h */; settings = {ATTRIBUTES = (Project, ); }; };
+ 931E7FA914F5F66943926B207161638A /* RCTRootView.m in Sources */ = {isa = PBXBuildFile; fileRef = B261FC7A13A68060D721C23AA63440E8 /* RCTRootView.m */; settings = {COMPILER_FLAGS = "-DFOLLY_NO_CONFIG -DFOLLY_MOBILE=1 -DFOLLY_USE_LIBCPP=1 -Wno-comma -Wno-shorten-64-to-32 -Wno-documentation"; }; };
932C306F1F748B77A388E1D22BFB051A /* glog-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 20AC51173E390CE7A08E6CF65F2C5A82 /* glog-dummy.m */; };
- 932CB8D198B4C5ABB48766BEBBA245D8 /* SDImageTransformer.m in Sources */ = {isa = PBXBuildFile; fileRef = 1417C5888D798CBBC4D425A19B222CA4 /* SDImageTransformer.m */; };
- 9352EFBDEB1ACF7ACEEC5D46FFBC0E12 /* RCTSinglelineTextInputViewManager.h in Headers */ = {isa = PBXBuildFile; fileRef = 9751EE4173EA280B326A8265700B8745 /* RCTSinglelineTextInputViewManager.h */; settings = {ATTRIBUTES = (Project, ); }; };
- 935C6E92C61F132FE501C8D0C14F6048 /* RCTMultipartStreamReader.h in Headers */ = {isa = PBXBuildFile; fileRef = 63467EB3B712B548B9957E2EE38FE647 /* RCTMultipartStreamReader.h */; settings = {ATTRIBUTES = (Project, ); }; };
- 93CE32A20E5A7C1A793E1FB529882268 /* BSG_KSCrashReportFilter.h in Headers */ = {isa = PBXBuildFile; fileRef = FC0CB6AB23610E8EA08587A7767E65DC /* BSG_KSCrashReportFilter.h */; settings = {ATTRIBUTES = (Project, ); }; };
+ 9348079349EDF2F704A77A756624FF2C /* CGGeometry+RSKImageCropper.m in Sources */ = {isa = PBXBuildFile; fileRef = EC2E327CA5A7A4243177B4005AA24254 /* CGGeometry+RSKImageCropper.m */; };
+ 9352EFBDEB1ACF7ACEEC5D46FFBC0E12 /* RCTSinglelineTextInputViewManager.h in Headers */ = {isa = PBXBuildFile; fileRef = 29F7435BA7EECFECBEA864874D3199A1 /* RCTSinglelineTextInputViewManager.h */; settings = {ATTRIBUTES = (Project, ); }; };
+ 935C6E92C61F132FE501C8D0C14F6048 /* RCTMultipartStreamReader.h in Headers */ = {isa = PBXBuildFile; fileRef = F15BDE2F9180E1CAA9250EEF34BCD81C /* RCTMultipartStreamReader.h */; settings = {ATTRIBUTES = (Project, ); }; };
+ 93CE32A20E5A7C1A793E1FB529882268 /* BSG_KSCrashReportFilter.h in Headers */ = {isa = PBXBuildFile; fileRef = C1E8B3F4894A2B624F7CA4D668720ED7 /* BSG_KSCrashReportFilter.h */; settings = {ATTRIBUTES = (Project, ); }; };
93E3441ABB65B7C821BCDA662B2768FB /* FIRInstanceIDKeyPairUtilities.h in Headers */ = {isa = PBXBuildFile; fileRef = 61BA5E92B5979C9480CF54A4EAC8126E /* FIRInstanceIDKeyPairUtilities.h */; settings = {ATTRIBUTES = (Project, ); }; };
94013824F6693C27E33A308D811AA546 /* signalhandler.cc in Sources */ = {isa = PBXBuildFile; fileRef = ADFB2CC475A870DF3F4FCA129117BCD7 /* signalhandler.cc */; settings = {COMPILER_FLAGS = "-Wno-shorten-64-to-32"; }; };
- 940D209CB7447306AA1F20669ADC2DE5 /* QBAssetsViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 2804CD3504FBA76DDA3A5744B54E69D6 /* QBAssetsViewController.m */; };
- 944891792DBCC4BE2E3D810C9195CFEA /* RCTInputAccessoryView.h in Headers */ = {isa = PBXBuildFile; fileRef = 53F65123EAB2B81FC1C43635DC6CFFA7 /* RCTInputAccessoryView.h */; settings = {ATTRIBUTES = (Project, ); }; };
- 944C86F14C0127649AE14497D7D8BA0A /* RecoverableError.h in Headers */ = {isa = PBXBuildFile; fileRef = 104EAFF41818538322166BB34E553E4A /* RecoverableError.h */; settings = {ATTRIBUTES = (Project, ); }; };
+ 944891792DBCC4BE2E3D810C9195CFEA /* RCTInputAccessoryView.h in Headers */ = {isa = PBXBuildFile; fileRef = 8C90DA6A4318C27FF9022A8F37949135 /* RCTInputAccessoryView.h */; settings = {ATTRIBUTES = (Project, ); }; };
+ 944C86F14C0127649AE14497D7D8BA0A /* RecoverableError.h in Headers */ = {isa = PBXBuildFile; fileRef = 22E31D9039568C6BC6B32EAD4F70D5FE /* RecoverableError.h */; settings = {ATTRIBUTES = (Project, ); }; };
944FF9384860EA20586A25FE9FF6C62E /* FIRInstanceIDCheckinStore.m in Sources */ = {isa = PBXBuildFile; fileRef = 12B6FE955DAFF4C7DBAEF58F2ADF4CE9 /* FIRInstanceIDCheckinStore.m */; };
- 94DA02513E48438D21025E080C455114 /* QBCheckmarkView.m in Sources */ = {isa = PBXBuildFile; fileRef = A836867763AB278FFD3A87A5F598E5BA /* QBCheckmarkView.m */; };
- 94E3B679EBDB5243BD97BAFF5B8AAFF9 /* RNUserDefaults.m in Sources */ = {isa = PBXBuildFile; fileRef = 350104DA1D89268F25DAF161EA04FFC6 /* RNUserDefaults.m */; };
- 9537CD2DE36DA49AEAE3F980C7CE0B43 /* UMNativeModulesProxy.m in Sources */ = {isa = PBXBuildFile; fileRef = 9081B1E0F46164D5D6FDE2E587EAA1D1 /* UMNativeModulesProxy.m */; };
+ 94D54EB2649C30A91DD569251054929B /* UIImage+RSKImageCropper.m in Sources */ = {isa = PBXBuildFile; fileRef = 910FBA084A244FC40F5649FB7BD19F56 /* UIImage+RSKImageCropper.m */; };
+ 94FC106D55632E06CDAF4C8D4B096B71 /* RNSScreen.m in Sources */ = {isa = PBXBuildFile; fileRef = 2A5245B39CA243E7E30E30A15FA4907A /* RNSScreen.m */; };
95559824769C8A828EE38FBB74F3F973 /* cpu.c in Sources */ = {isa = PBXBuildFile; fileRef = AEA8BCEF7235F0F7977C6B6B0E70BD8E /* cpu.c */; settings = {COMPILER_FLAGS = "-D_THREAD_SAFE -fno-objc-arc"; }; };
- 956091C2AAFD47981795A5ECF7BA84AD /* RCTCustomInputController.h in Headers */ = {isa = PBXBuildFile; fileRef = F644D2E5EB5D16C5D452DEF6C0A38AD4 /* RCTCustomInputController.h */; settings = {ATTRIBUTES = (Project, ); }; };
- 95C3ACF1BA12197113C6B37D102B10ED /* SDImageCoder.m in Sources */ = {isa = PBXBuildFile; fileRef = 35C3649F20C54E169E70AC51597FF19C /* SDImageCoder.m */; };
- 95C9252833B97289DC30F0CDD4F06553 /* RCTEventEmitter.h in Headers */ = {isa = PBXBuildFile; fileRef = 40984F6B6E35224D037826B291774F91 /* RCTEventEmitter.h */; settings = {ATTRIBUTES = (Project, ); }; };
- 96041ADD26C1FA99E1DDCE9581962ACC /* RNFirebaseInstanceId.m in Sources */ = {isa = PBXBuildFile; fileRef = F058FE199823D4DF4E10C0E2ED6D09A1 /* RNFirebaseInstanceId.m */; };
+ 95C9252833B97289DC30F0CDD4F06553 /* RCTEventEmitter.h in Headers */ = {isa = PBXBuildFile; fileRef = 62F54DF0D56CF024A5A13A1C7A8DE898 /* RCTEventEmitter.h */; settings = {ATTRIBUTES = (Project, ); }; };
964ABA3C96E97D837CF19EF6ADAC7E3F /* enc.c in Sources */ = {isa = PBXBuildFile; fileRef = 78F47334D062E11AF3D0C160D141C002 /* enc.c */; settings = {COMPILER_FLAGS = "-D_THREAD_SAFE -fno-objc-arc"; }; };
- 96524DB391FA3D7058641F02E5B32F58 /* UMLogManager.h in Headers */ = {isa = PBXBuildFile; fileRef = BE7B7825DACA45B3C2DBDF404F9724A3 /* UMLogManager.h */; settings = {ATTRIBUTES = (Project, ); }; };
- 969C4AEBC9895551DDD903380BC42E7E /* RCTActivityIndicatorView.m in Sources */ = {isa = PBXBuildFile; fileRef = 7C988DD45E47BCBB6FDCEF3DED123671 /* RCTActivityIndicatorView.m */; settings = {COMPILER_FLAGS = "-DFOLLY_NO_CONFIG -DFOLLY_MOBILE=1 -DFOLLY_USE_LIBCPP=1 -Wno-comma -Wno-shorten-64-to-32 -Wno-documentation"; }; };
- 96B4F4E21FCFAA146F6F5F35DC41CA71 /* JsArgumentHelpers-inl.h in Headers */ = {isa = PBXBuildFile; fileRef = AB770ADBDFFFD86649D54C5257CDDE1F /* JsArgumentHelpers-inl.h */; settings = {ATTRIBUTES = (Project, ); }; };
- 96D1F45BCCAE2836A1FFFECE8571FF27 /* BugsnagHandledState.m in Sources */ = {isa = PBXBuildFile; fileRef = 9B163828507D2642E09DB68A7F172BE2 /* BugsnagHandledState.m */; };
+ 96524DB391FA3D7058641F02E5B32F58 /* UMLogManager.h in Headers */ = {isa = PBXBuildFile; fileRef = 4002BDF1239CF2A4B6691EFE0C362A5F /* UMLogManager.h */; settings = {ATTRIBUTES = (Project, ); }; };
+ 969C4AEBC9895551DDD903380BC42E7E /* RCTActivityIndicatorView.m in Sources */ = {isa = PBXBuildFile; fileRef = FDBB948CEF522A002ECB43AAE48ACA4C /* RCTActivityIndicatorView.m */; settings = {COMPILER_FLAGS = "-DFOLLY_NO_CONFIG -DFOLLY_MOBILE=1 -DFOLLY_USE_LIBCPP=1 -Wno-comma -Wno-shorten-64-to-32 -Wno-documentation"; }; };
+ 96B4F4E21FCFAA146F6F5F35DC41CA71 /* JsArgumentHelpers-inl.h in Headers */ = {isa = PBXBuildFile; fileRef = D1F96DE167487ED7E443D30315C93EAE /* JsArgumentHelpers-inl.h */; settings = {ATTRIBUTES = (Project, ); }; };
+ 96D1F45BCCAE2836A1FFFECE8571FF27 /* BugsnagHandledState.m in Sources */ = {isa = PBXBuildFile; fileRef = 4A482850ABBF3989675D0CEF0C27BBE7 /* BugsnagHandledState.m */; };
96D3ACDC9FE404F697EF785FAD078FD3 /* diy-fp.h in Headers */ = {isa = PBXBuildFile; fileRef = 5CB53691B08EF681E0EE92D7AFC6F11C /* diy-fp.h */; settings = {ATTRIBUTES = (Project, ); }; };
- 970ADFB7A189CDA94F179F27A40DEBF1 /* UIImage+Resize.h in Headers */ = {isa = PBXBuildFile; fileRef = 1426135B9CC6DDA413F66670CBAF9F06 /* UIImage+Resize.h */; settings = {ATTRIBUTES = (Project, ); }; };
- 970EADF73ACDC5F70DB9291E80C04C16 /* RCTTouchEvent.m in Sources */ = {isa = PBXBuildFile; fileRef = 14C17205A531278F95CA85FF0C72937B /* RCTTouchEvent.m */; settings = {COMPILER_FLAGS = "-DFOLLY_NO_CONFIG -DFOLLY_MOBILE=1 -DFOLLY_USE_LIBCPP=1 -Wno-comma -Wno-shorten-64-to-32 -Wno-documentation"; }; };
- 979FE135AD6F5501E856E33EC5CA8E15 /* EXAppLoaderProvider.h in Headers */ = {isa = PBXBuildFile; fileRef = E441581912A6C7EEBB72C8CEEEB273D8 /* EXAppLoaderProvider.h */; settings = {ATTRIBUTES = (Project, ); }; };
+ 970EADF73ACDC5F70DB9291E80C04C16 /* RCTTouchEvent.m in Sources */ = {isa = PBXBuildFile; fileRef = 29DAD97412E6DE5E766FA1738B630BF9 /* RCTTouchEvent.m */; settings = {COMPILER_FLAGS = "-DFOLLY_NO_CONFIG -DFOLLY_MOBILE=1 -DFOLLY_USE_LIBCPP=1 -Wno-comma -Wno-shorten-64-to-32 -Wno-documentation"; }; };
+ 979FE135AD6F5501E856E33EC5CA8E15 /* EXAppLoaderProvider.h in Headers */ = {isa = PBXBuildFile; fileRef = 112168C474C30D484932940D40B62C17 /* EXAppLoaderProvider.h */; settings = {ATTRIBUTES = (Project, ); }; };
+ 97BB5B2C6DBD71BEDB231F10F1D8D8A8 /* RNPinchHandler.h in Headers */ = {isa = PBXBuildFile; fileRef = 688910844C47C621BFDA3110DC2BE286 /* RNPinchHandler.h */; settings = {ATTRIBUTES = (Project, ); }; };
97D064D865A60353B7C736205A370BBD /* FIRInstanceIDBackupExcludedPlist.m in Sources */ = {isa = PBXBuildFile; fileRef = 92B5C6CBDAE983F03BBAB41A1FFE8524 /* FIRInstanceIDBackupExcludedPlist.m */; };
- 97F94166AF8379F5614DE1FBA08B7FF7 /* RCTSurfaceStage.m in Sources */ = {isa = PBXBuildFile; fileRef = 3FF444F056829A829387A2FF2981CB6A /* RCTSurfaceStage.m */; settings = {COMPILER_FLAGS = "-DFOLLY_NO_CONFIG -DFOLLY_MOBILE=1 -DFOLLY_USE_LIBCPP=1 -Wno-comma -Wno-shorten-64-to-32 -Wno-documentation"; }; };
- 9844AA9F4622AD1B8272E11944DC971C /* RCTPicker.m in Sources */ = {isa = PBXBuildFile; fileRef = 8A22CAF74E3A88832018EB8646F82553 /* RCTPicker.m */; settings = {COMPILER_FLAGS = "-DFOLLY_NO_CONFIG -DFOLLY_MOBILE=1 -DFOLLY_USE_LIBCPP=1 -Wno-comma -Wno-shorten-64-to-32 -Wno-documentation"; }; };
- 9881AD8E99F516C2926C290955EEDD8C /* RCTFrameAnimation.m in Sources */ = {isa = PBXBuildFile; fileRef = 2E997B96AB9BCD40FA991A57F7EAA049 /* RCTFrameAnimation.m */; };
- 988928DCE5AF8E7734707FF801C99588 /* RCTConvert+RNNotifications.m in Sources */ = {isa = PBXBuildFile; fileRef = 4AA929081FA3AD9B03146CD0F1CB089E /* RCTConvert+RNNotifications.m */; };
- 98F4A2C2A6E61E22704B6D9777C5B849 /* YGMarker.h in Headers */ = {isa = PBXBuildFile; fileRef = 9105FAADD1BA5FC9D302BEEC8A7DD667 /* YGMarker.h */; settings = {ATTRIBUTES = (Project, ); }; };
- 9920920B04C78F88FBEF8CF5C840B73F /* instrumentation.h in Headers */ = {isa = PBXBuildFile; fileRef = E3A8E5824EAE6424672210571F09859E /* instrumentation.h */; settings = {ATTRIBUTES = (Project, ); }; };
+ 97F94166AF8379F5614DE1FBA08B7FF7 /* RCTSurfaceStage.m in Sources */ = {isa = PBXBuildFile; fileRef = E2711436180C9428460A5EC1AFAEF472 /* RCTSurfaceStage.m */; settings = {COMPILER_FLAGS = "-DFOLLY_NO_CONFIG -DFOLLY_MOBILE=1 -DFOLLY_USE_LIBCPP=1 -Wno-comma -Wno-shorten-64-to-32 -Wno-documentation"; }; };
+ 9802D79111D9DB64F651EF63B7BFE999 /* RNNotificationCenter.m in Sources */ = {isa = PBXBuildFile; fileRef = 86F24906F05435F7FFE6EA6031CA34AC /* RNNotificationCenter.m */; };
+ 9844AA9F4622AD1B8272E11944DC971C /* RCTPicker.m in Sources */ = {isa = PBXBuildFile; fileRef = 13909DE71A149593BB118FB327DCA871 /* RCTPicker.m */; settings = {COMPILER_FLAGS = "-DFOLLY_NO_CONFIG -DFOLLY_MOBILE=1 -DFOLLY_USE_LIBCPP=1 -Wno-comma -Wno-shorten-64-to-32 -Wno-documentation"; }; };
+ 986806465F6B9FD50B8B9B15FDDB8D88 /* SDAnimatedImageRep.h in Headers */ = {isa = PBXBuildFile; fileRef = FE4225F76BF1EC46ED91DD90A933ABD9 /* SDAnimatedImageRep.h */; settings = {ATTRIBUTES = (Project, ); }; };
+ 986CCD6A125AD0F7CAF5762ACA273DDD /* Pods-ShareRocketChatRN-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = D36A7DBB1CAA328D188048E619B5A1EE /* Pods-ShareRocketChatRN-dummy.m */; };
+ 9881AD8E99F516C2926C290955EEDD8C /* RCTFrameAnimation.m in Sources */ = {isa = PBXBuildFile; fileRef = 553FA7CFEA0A88C00BA87B6A94BD6632 /* RCTFrameAnimation.m */; };
+ 98F4A2C2A6E61E22704B6D9777C5B849 /* YGMarker.h in Headers */ = {isa = PBXBuildFile; fileRef = 959DA73888F4DE7F4C458DCBF6BBF98A /* YGMarker.h */; settings = {ATTRIBUTES = (Project, ); }; };
+ 9920920B04C78F88FBEF8CF5C840B73F /* instrumentation.h in Headers */ = {isa = PBXBuildFile; fileRef = 9FCAAAD6DB5AB1CCBA90AA7BC78A79F0 /* instrumentation.h */; settings = {ATTRIBUTES = (Project, ); }; };
993B1B14E6A0E34BC5DAD43E7AE297F0 /* FIRInstanceIDURLQueryItem.h in Headers */ = {isa = PBXBuildFile; fileRef = D0C7593D777328ED75F27D07AC2DBBB0 /* FIRInstanceIDURLQueryItem.h */; settings = {ATTRIBUTES = (Project, ); }; };
- 99533C81B0CAF1517C33715F79CB6E08 /* RCTMultipartDataTask.h in Headers */ = {isa = PBXBuildFile; fileRef = 28D2BA1AD3600B5D96EE55E230B80FB9 /* RCTMultipartDataTask.h */; settings = {ATTRIBUTES = (Project, ); }; };
- 99A2553CBD7ACFF85EAF3EC84BEA3AE3 /* SDImageLoadersManager.m in Sources */ = {isa = PBXBuildFile; fileRef = EE06ECA289582B4F447C247455A80667 /* SDImageLoadersManager.m */; };
- 99EF34DCFD1F55615D1DB3AF574906FC /* RCTUIManagerUtils.h in Headers */ = {isa = PBXBuildFile; fileRef = AAF8D84D08A467F517E4959BFF23CF72 /* RCTUIManagerUtils.h */; settings = {ATTRIBUTES = (Project, ); }; };
- 99F15750155CC354480E47A9E586BBAF /* RCTBridge.h in Headers */ = {isa = PBXBuildFile; fileRef = 241D09207BBBA579DCE1EE310C9769C9 /* RCTBridge.h */; settings = {ATTRIBUTES = (Project, ); }; };
- 9A0D199629E9C47DFD9AEE9DC508C6AA /* RCTConvert.m in Sources */ = {isa = PBXBuildFile; fileRef = 3D05806DAE34225F0D38B78B59090CBA /* RCTConvert.m */; settings = {COMPILER_FLAGS = "-DFOLLY_NO_CONFIG -DFOLLY_MOBILE=1 -DFOLLY_USE_LIBCPP=1 -Wno-comma -Wno-shorten-64-to-32 -Wno-documentation"; }; };
+ 9950759650514F356B0C16141C599929 /* FFFastImageSource.h in Headers */ = {isa = PBXBuildFile; fileRef = 8D60B65519568944D7BCEF88ED70E5FD /* FFFastImageSource.h */; settings = {ATTRIBUTES = (Project, ); }; };
+ 99533C81B0CAF1517C33715F79CB6E08 /* RCTMultipartDataTask.h in Headers */ = {isa = PBXBuildFile; fileRef = 5944900E5E1BC2178896A7241A8D5240 /* RCTMultipartDataTask.h */; settings = {ATTRIBUTES = (Project, ); }; };
+ 9995FFCE8D6084CD36BF0C189AC9A196 /* RNFirebasePerformance.m in Sources */ = {isa = PBXBuildFile; fileRef = CBDCA52F683ABED9B28AFC1323EF88A1 /* RNFirebasePerformance.m */; };
+ 99EF34DCFD1F55615D1DB3AF574906FC /* RCTUIManagerUtils.h in Headers */ = {isa = PBXBuildFile; fileRef = 4A47C2847813E090878507CC2FECC5BE /* RCTUIManagerUtils.h */; settings = {ATTRIBUTES = (Project, ); }; };
+ 99F15750155CC354480E47A9E586BBAF /* RCTBridge.h in Headers */ = {isa = PBXBuildFile; fileRef = F2E3C66EFB020238092B9E2CBE704769 /* RCTBridge.h */; settings = {ATTRIBUTES = (Project, ); }; };
+ 9A0D199629E9C47DFD9AEE9DC508C6AA /* RCTConvert.m in Sources */ = {isa = PBXBuildFile; fileRef = 2D0596C8F3B33720C9B3C071A8BD2C2B /* RCTConvert.m */; settings = {COMPILER_FLAGS = "-DFOLLY_NO_CONFIG -DFOLLY_MOBILE=1 -DFOLLY_USE_LIBCPP=1 -Wno-comma -Wno-shorten-64-to-32 -Wno-documentation"; }; };
9A1C90B1E05093DDF8B89EF59A6727AE /* GULSwizzler.m in Sources */ = {isa = PBXBuildFile; fileRef = 3E5BE7BD23E7FDD82F0B6718B516BEEA /* GULSwizzler.m */; };
- 9A8FADDBC4E2F29B11D599570AC54654 /* SDWeakProxy.m in Sources */ = {isa = PBXBuildFile; fileRef = F4CF89EABDD95C31E45028012D461DCF /* SDWeakProxy.m */; };
- 9B53DEA50407C3470D09615A52CDD41B /* RCTSurfaceHostingView.h in Headers */ = {isa = PBXBuildFile; fileRef = 5FB9165D712C3C5C69061CD9B1E96773 /* RCTSurfaceHostingView.h */; settings = {ATTRIBUTES = (Project, ); }; };
- 9B6A2D5C1DAA4671600F0F3EDB17A3D4 /* React-fishhook-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 90659EA3177D50DB389F3786D0D4CD97 /* React-fishhook-dummy.m */; };
- 9BBB35BCF881AE736B0F0627BDE78D17 /* RCTDisplayLink.h in Headers */ = {isa = PBXBuildFile; fileRef = AA639DCB326847A13425CEC21AEFBE9C /* RCTDisplayLink.h */; settings = {ATTRIBUTES = (Project, ); }; };
- 9C2121F5D96BDE54DA8B179237762DE2 /* EXHapticsModule.m in Sources */ = {isa = PBXBuildFile; fileRef = 03032499ED2EB20BF307D05FC28938BA /* EXHapticsModule.m */; };
+ 9A9274E94E233E01D6D0982A16A78EEF /* RNNotificationCenter.h in Headers */ = {isa = PBXBuildFile; fileRef = B03C1E12E09C3FA46B4960A46D6CD064 /* RNNotificationCenter.h */; settings = {ATTRIBUTES = (Project, ); }; };
+ 9B33313CD37427A91AA7F9EEFD5DC6D5 /* SDWebImageCacheKeyFilter.h in Headers */ = {isa = PBXBuildFile; fileRef = 449726C9768F455E6476B45D54DF3AB0 /* SDWebImageCacheKeyFilter.h */; settings = {ATTRIBUTES = (Project, ); }; };
+ 9B53DEA50407C3470D09615A52CDD41B /* RCTSurfaceHostingView.h in Headers */ = {isa = PBXBuildFile; fileRef = DC05EBDA13A98687D1C666A53ADA678D /* RCTSurfaceHostingView.h */; settings = {ATTRIBUTES = (Project, ); }; };
+ 9B63F40BC204D313F638FB79A7A3D01E /* RCTCustomInputController.h in Headers */ = {isa = PBXBuildFile; fileRef = F739BAD3B167FC1D05DCFB555AE83874 /* RCTCustomInputController.h */; settings = {ATTRIBUTES = (Project, ); }; };
+ 9B6A2D5C1DAA4671600F0F3EDB17A3D4 /* React-fishhook-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = CED30A44C6680FB1BC5EDB5F11C60B70 /* React-fishhook-dummy.m */; };
+ 9BBB35BCF881AE736B0F0627BDE78D17 /* RCTDisplayLink.h in Headers */ = {isa = PBXBuildFile; fileRef = 18A9058EF9F51B06C1D6921AF6DCA4E8 /* RCTDisplayLink.h */; settings = {ATTRIBUTES = (Project, ); }; };
+ 9C2121F5D96BDE54DA8B179237762DE2 /* EXHapticsModule.m in Sources */ = {isa = PBXBuildFile; fileRef = 95DA0FA7DBEE5B03EECC03137BC2E9B4 /* EXHapticsModule.m */; };
+ 9C2B58EE108869C580FE7DF896A13E91 /* SDmetamacros.h in Headers */ = {isa = PBXBuildFile; fileRef = A1484245ED4EBCA68A354F9EE4C4D233 /* SDmetamacros.h */; settings = {ATTRIBUTES = (Project, ); }; };
+ 9CBD679084BFD7EECE5B650BB9C8988C /* RNTapHandler.h in Headers */ = {isa = PBXBuildFile; fileRef = 904BA2B836E25D0BF69E81AC5C2ACD53 /* RNTapHandler.h */; settings = {ATTRIBUTES = (Project, ); }; };
9CD9716DD336B98D69841069C775A17B /* thread_utils.h in Headers */ = {isa = PBXBuildFile; fileRef = 672097C17BAC1DE2A3A0878AC3E68ABB /* thread_utils.h */; settings = {ATTRIBUTES = (Project, ); }; };
- 9CDB518B110EB3992DD086CA69DAA8DC /* RCTSurfaceRootShadowView.h in Headers */ = {isa = PBXBuildFile; fileRef = C01BD10AF228C757F5337F2101BB8F3D /* RCTSurfaceRootShadowView.h */; settings = {ATTRIBUTES = (Project, ); }; };
- 9CEB9D3F95CCAEA773F0ADE937FC4D7D /* RCTSliderManager.h in Headers */ = {isa = PBXBuildFile; fileRef = 233519F0D94615751F6D4DD9E3A49BE4 /* RCTSliderManager.h */; settings = {ATTRIBUTES = (Project, ); }; };
- 9D22F2BBC6D0334F6C41B9273A4016F6 /* RNFirebaseStorage.h in Headers */ = {isa = PBXBuildFile; fileRef = EA433219C76E0BFFA9EC6D9A4D4F8ADB /* RNFirebaseStorage.h */; settings = {ATTRIBUTES = (Project, ); }; };
+ 9CDB518B110EB3992DD086CA69DAA8DC /* RCTSurfaceRootShadowView.h in Headers */ = {isa = PBXBuildFile; fileRef = E1AD7961F40C4077A090F76DF154C9AE /* RCTSurfaceRootShadowView.h */; settings = {ATTRIBUTES = (Project, ); }; };
+ 9CEB9D3F95CCAEA773F0ADE937FC4D7D /* RCTSliderManager.h in Headers */ = {isa = PBXBuildFile; fileRef = 4E577C9CA677CF46954DCEDC95491552 /* RCTSliderManager.h */; settings = {ATTRIBUTES = (Project, ); }; };
+ 9D37016F895502E847673F8471A15F90 /* UMReactNativeEventEmitter.m in Sources */ = {isa = PBXBuildFile; fileRef = B26D5713ADD572A53A26DA41D71DC298 /* UMReactNativeEventEmitter.m */; };
9D37DEF72A22FD1A72198F1C269F29E9 /* lossless_common.h in Headers */ = {isa = PBXBuildFile; fileRef = 5D583CC08B9C0688CFCBF30BFFFE7341 /* lossless_common.h */; settings = {ATTRIBUTES = (Project, ); }; };
- 9D588324AE6C2EEC0E98F4FD2DD09394 /* RCTSegmentedControlManager.h in Headers */ = {isa = PBXBuildFile; fileRef = 1C7E7CEB6D5F29DB73EB8D99A3E8AA0C /* RCTSegmentedControlManager.h */; settings = {ATTRIBUTES = (Project, ); }; };
- 9D66A7E30CCEAE1C6711CBBC43FEFFE1 /* SDAnimatedImageView.h in Headers */ = {isa = PBXBuildFile; fileRef = 8A927DE95BDAF588283170046E90FCF9 /* SDAnimatedImageView.h */; settings = {ATTRIBUTES = (Project, ); }; };
- 9D7E9E149E6CD7AB799AACA410765D95 /* SDWebImageWebPCoder-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 08E2D213323FFCFD15C0B0E8F2361194 /* SDWebImageWebPCoder-dummy.m */; };
- 9DA7EE268BCE3FF43F201EF8D4B6955F /* BugsnagReactNative-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = E685E33CF3A4B2BE749A7DEE79312A1C /* BugsnagReactNative-dummy.m */; };
+ 9D588324AE6C2EEC0E98F4FD2DD09394 /* RCTSegmentedControlManager.h in Headers */ = {isa = PBXBuildFile; fileRef = 37018004C0D04BEBE6EB754B4AB0ED39 /* RCTSegmentedControlManager.h */; settings = {ATTRIBUTES = (Project, ); }; };
+ 9DA7EE268BCE3FF43F201EF8D4B6955F /* BugsnagReactNative-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 5D6216C6D08B7FB7B60774D4ADE817D6 /* BugsnagReactNative-dummy.m */; };
9E1B95C86133B7162A822F044D8A3C76 /* FIRInstanceIDKeyPairUtilities.m in Sources */ = {isa = PBXBuildFile; fileRef = 7939212BF7E5AA1B3604D604F224DE98 /* FIRInstanceIDKeyPairUtilities.m */; };
+ 9E2E67934C6295239EA8DFA00ED28B78 /* RNLocalize.m in Sources */ = {isa = PBXBuildFile; fileRef = 26D088B63DD74A291A2A7197ABE97CB9 /* RNLocalize.m */; };
9E31E2EBECBBEE07EFC16DF386D6AE4E /* GULNSData+zlib.m in Sources */ = {isa = PBXBuildFile; fileRef = 5AEEECA37E78F37CB9488C1F90BF14B1 /* GULNSData+zlib.m */; };
- 9E354D1AE5ADF76B2FF7F9F5E971F00A /* RNFirebaseAuth.m in Sources */ = {isa = PBXBuildFile; fileRef = 291FC4E335FB6211C47E4A3CD4A77639 /* RNFirebaseAuth.m */; };
- 9EBFCFAFFF2F9C17104263C27FBC905B /* RCTScrollableProtocol.h in Headers */ = {isa = PBXBuildFile; fileRef = 79CE668E9A980D858D78CA036E40FB15 /* RCTScrollableProtocol.h */; settings = {ATTRIBUTES = (Project, ); }; };
- 9ECD6C711D59556E4651CD72D0E7F958 /* CompactValue.h in Headers */ = {isa = PBXBuildFile; fileRef = 6E11A8F135D289CA683609857EBD9FB0 /* CompactValue.h */; settings = {ATTRIBUTES = (Project, ); }; };
+ 9EBFCFAFFF2F9C17104263C27FBC905B /* RCTScrollableProtocol.h in Headers */ = {isa = PBXBuildFile; fileRef = 07B61F87DAC5ABD73E7D8352E30635F0 /* RCTScrollableProtocol.h */; settings = {ATTRIBUTES = (Project, ); }; };
+ 9ECD6C711D59556E4651CD72D0E7F958 /* CompactValue.h in Headers */ = {isa = PBXBuildFile; fileRef = E23DBD53762DC1F84EC5BFC29BF3B9FE /* CompactValue.h */; settings = {ATTRIBUTES = (Project, ); }; };
9EEFFE4F5B6FA066318BDF0BCD0B12BC /* FIRInstanceIDTokenDeleteOperation.m in Sources */ = {isa = PBXBuildFile; fileRef = 0A53702271FB1509D4840C1B4AB3A5FC /* FIRInstanceIDTokenDeleteOperation.m */; };
- 9F59B5E787DCCE4694FA7FDD16599DA8 /* BSG_KSCrashType.c in Sources */ = {isa = PBXBuildFile; fileRef = 72E32823F276609F966BF690D7D8C99A /* BSG_KSCrashType.c */; };
- 9F756C648B09914F3F69D1AE4A452308 /* SDAnimatedImageRep.h in Headers */ = {isa = PBXBuildFile; fileRef = FE4225F76BF1EC46ED91DD90A933ABD9 /* SDAnimatedImageRep.h */; settings = {ATTRIBUTES = (Project, ); }; };
- 9F822E5B617B7D4D5E63CFC1F8D161EA /* RCTEventAnimation.h in Headers */ = {isa = PBXBuildFile; fileRef = B9A861085B17C31FD22307A7E0CA3979 /* RCTEventAnimation.h */; settings = {ATTRIBUTES = (Project, ); }; };
+ 9F50F5D0E512F888E28411A4CA948307 /* QBAlbumsViewController.h in Headers */ = {isa = PBXBuildFile; fileRef = F0C080CF5772FBAE4A3FC2FCAA0380A1 /* QBAlbumsViewController.h */; settings = {ATTRIBUTES = (Project, ); }; };
+ 9F5202F94720CB6F9A3FD6D867471901 /* UIImage+Resize.m in Sources */ = {isa = PBXBuildFile; fileRef = 1D1F320F5BDC3403696ADC20835C3107 /* UIImage+Resize.m */; };
+ 9F59B5E787DCCE4694FA7FDD16599DA8 /* BSG_KSCrashType.c in Sources */ = {isa = PBXBuildFile; fileRef = B0668359BEE1667300F3B0C6AB13132D /* BSG_KSCrashType.c */; };
+ 9F7EF952929788F475CDD08B31304925 /* UMViewManagerAdapter.h in Headers */ = {isa = PBXBuildFile; fileRef = 67F9DF5E0BD7596201DC55355D04432B /* UMViewManagerAdapter.h */; settings = {ATTRIBUTES = (Project, ); }; };
+ 9F822E5B617B7D4D5E63CFC1F8D161EA /* RCTEventAnimation.h in Headers */ = {isa = PBXBuildFile; fileRef = C17DFF78C1A5BB793A8B17014A514B17 /* RCTEventAnimation.h */; settings = {ATTRIBUTES = (Project, ); }; };
9FB5323418E1EAEB28FCF70C427CD296 /* backward_references_enc.h in Headers */ = {isa = PBXBuildFile; fileRef = 05FBD434ABEFE89829C4939FDE8E3764 /* backward_references_enc.h */; settings = {ATTRIBUTES = (Project, ); }; };
- 9FC4A67BD1C2A742D212183F6445F452 /* SDImageFrame.h in Headers */ = {isa = PBXBuildFile; fileRef = A30EF09DCFFABE8A97D28E9623597E52 /* SDImageFrame.h */; settings = {ATTRIBUTES = (Project, ); }; };
- 9FF3302DF3E3B17187EEFDE74CCA5B2B /* RCTVirtualTextViewManager.m in Sources */ = {isa = PBXBuildFile; fileRef = F00F39470FE6F3D3BAD5FC8456F12DD1 /* RCTVirtualTextViewManager.m */; };
- 9FFD8F1095860972C91388E79894DB12 /* UMLogManager.m in Sources */ = {isa = PBXBuildFile; fileRef = 6CCE957AB54247C5554D8A192F3C6C8A /* UMLogManager.m */; };
- A0173D98B8A8F0588FBA0F3D4AB14BA9 /* RNNotificationEventHandler.h in Headers */ = {isa = PBXBuildFile; fileRef = 9D960E991350D8D93734B687C8E2A5D8 /* RNNotificationEventHandler.h */; settings = {ATTRIBUTES = (Project, ); }; };
- A08257A0FD3C18702AE936F3B20F0AC1 /* Pods-ShareRocketChatRN-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = D36A7DBB1CAA328D188048E619B5A1EE /* Pods-ShareRocketChatRN-dummy.m */; };
- A085956FC686A30C782D615AF2525980 /* UIImageView+HighlightedWebCache.h in Headers */ = {isa = PBXBuildFile; fileRef = F5C7AB7D661D53929F47A78DA6730CC5 /* UIImageView+HighlightedWebCache.h */; settings = {ATTRIBUTES = (Project, ); }; };
+ 9FE42ABDBE1A68994D0B777D53D6B56A /* RNFirebase-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 3153ABDFC418EEC0F8F5F515CF93D4DF /* RNFirebase-dummy.m */; };
+ 9FF3302DF3E3B17187EEFDE74CCA5B2B /* RCTVirtualTextViewManager.m in Sources */ = {isa = PBXBuildFile; fileRef = EE031EB74AFB45A8A30CFB19194C9718 /* RCTVirtualTextViewManager.m */; };
+ 9FFD8F1095860972C91388E79894DB12 /* UMLogManager.m in Sources */ = {isa = PBXBuildFile; fileRef = 7A8EF47A6E993021AF7335306CA5FA76 /* UMLogManager.m */; };
+ A09FE3858E92D484AAD20F42ACF3D191 /* RNFetchBlobConst.m in Sources */ = {isa = PBXBuildFile; fileRef = B4FEAD9F5065F456AD07C544AB94E7B2 /* RNFetchBlobConst.m */; };
A0ADECAF3438ED32F69B08DDF30BF4D3 /* DoubleConversion-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 48EA30DBA33C3A87137605AACF07B10C /* DoubleConversion-dummy.m */; };
- A0B88D46A78F2FF5E0096456B6408FFF /* UMAppDelegateWrapper.m in Sources */ = {isa = PBXBuildFile; fileRef = 32387016D6D1663926B37BB810FF638A /* UMAppDelegateWrapper.m */; };
- A12221A786EC52B92E305AD83DF99C38 /* RCTFrameAnimation.h in Headers */ = {isa = PBXBuildFile; fileRef = 1826B55B8F5A7D8DDE398E464A9C116D /* RCTFrameAnimation.h */; settings = {ATTRIBUTES = (Project, ); }; };
- A13BA126D2F6E3138DE4CEE3991989B0 /* RNGestureHandlerButton.h in Headers */ = {isa = PBXBuildFile; fileRef = 0278DA66BE1CC92294D67838B32FFD5D /* RNGestureHandlerButton.h */; settings = {ATTRIBUTES = (Project, ); }; };
+ A0B88D46A78F2FF5E0096456B6408FFF /* UMAppDelegateWrapper.m in Sources */ = {isa = PBXBuildFile; fileRef = 9A08B6A0863012053132D800FCB1F3B5 /* UMAppDelegateWrapper.m */; };
+ A0E926E256DDF8C343AEFD0C378118C9 /* RNLocalize-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = BB8A8B4763B03969D3B0BBFE43696086 /* RNLocalize-dummy.m */; };
+ A12221A786EC52B92E305AD83DF99C38 /* RCTFrameAnimation.h in Headers */ = {isa = PBXBuildFile; fileRef = A079F90A2568282310D57724C24EB7F7 /* RCTFrameAnimation.h */; settings = {ATTRIBUTES = (Project, ); }; };
+ A13CAB57553B289944729962743E8D82 /* SDImageWebPCoder.m in Sources */ = {isa = PBXBuildFile; fileRef = 98892850FE07F4B17DD4C7091A5EA303 /* SDImageWebPCoder.m */; };
A14D03FFE5AB2DDE88377934063BF951 /* FirebaseCore-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = FAFC535A7C25A955433F870D3ED8A609 /* FirebaseCore-dummy.m */; };
- A152CA0D303408C43AF5A2F39EF621C4 /* SDmetamacros.h in Headers */ = {isa = PBXBuildFile; fileRef = A1484245ED4EBCA68A354F9EE4C4D233 /* SDmetamacros.h */; settings = {ATTRIBUTES = (Project, ); }; };
A157CA36BC537CC9E89D6DA27974AD72 /* bignum.cc in Sources */ = {isa = PBXBuildFile; fileRef = 1C9A0432D106C1F8928C98672593232F /* bignum.cc */; settings = {COMPILER_FLAGS = "-Wno-unreachable-code"; }; };
- A1696635EF3DA07F34A54C555D7C41D0 /* RCTTrackingAnimatedNode.h in Headers */ = {isa = PBXBuildFile; fileRef = CD2C674492CDC8CE7F2FA69F69A35460 /* RCTTrackingAnimatedNode.h */; settings = {ATTRIBUTES = (Project, ); }; };
- A16CAC2A9726468FF58265ECC9DE7C95 /* RCTClipboard.m in Sources */ = {isa = PBXBuildFile; fileRef = 556A855FEF31586BDF591DFB2D22D647 /* RCTClipboard.m */; settings = {COMPILER_FLAGS = "-DFOLLY_NO_CONFIG -DFOLLY_MOBILE=1 -DFOLLY_USE_LIBCPP=1 -Wno-comma -Wno-shorten-64-to-32 -Wno-documentation"; }; };
+ A1696635EF3DA07F34A54C555D7C41D0 /* RCTTrackingAnimatedNode.h in Headers */ = {isa = PBXBuildFile; fileRef = 9237E682117FE57402C39484E7FD78B7 /* RCTTrackingAnimatedNode.h */; settings = {ATTRIBUTES = (Project, ); }; };
+ A16B96838D76229F61097C45EDD27D5B /* RNFetchBlob.h in Headers */ = {isa = PBXBuildFile; fileRef = 922CB3A92ED012B28CB59D97CD3ECCDA /* RNFetchBlob.h */; settings = {ATTRIBUTES = (Project, ); }; };
+ A16CAC2A9726468FF58265ECC9DE7C95 /* RCTClipboard.m in Sources */ = {isa = PBXBuildFile; fileRef = 93BDB41462FED0D917A127B58B04C899 /* RCTClipboard.m */; settings = {COMPILER_FLAGS = "-DFOLLY_NO_CONFIG -DFOLLY_MOBILE=1 -DFOLLY_USE_LIBCPP=1 -Wno-comma -Wno-shorten-64-to-32 -Wno-documentation"; }; };
+ A177A3EEAEED1F8BDB71E2E7DEFC3AB0 /* RNFetchBlobReqBuilder.m in Sources */ = {isa = PBXBuildFile; fileRef = 6B22DCA13E35B0A799EF94185F755A0F /* RNFetchBlobReqBuilder.m */; };
A196C02C3B3FA339D33D46ED6BA072E8 /* FIRInstanceIDUtilities.m in Sources */ = {isa = PBXBuildFile; fileRef = 01454D02726937A5EBFC01CA9238BBFB /* FIRInstanceIDUtilities.m */; };
- A1B06EA50F276D2CD90D664F7088C959 /* BugsnagConfiguration.h in Headers */ = {isa = PBXBuildFile; fileRef = 0BAC91D4A467464D9F9499CA58261D00 /* BugsnagConfiguration.h */; settings = {ATTRIBUTES = (Project, ); }; };
- A1BE5E3327B89575FBE78D78DEF482AE /* RCTSurfaceView.mm in Sources */ = {isa = PBXBuildFile; fileRef = B7C3253806C98AE20AEE83AE81F5A271 /* RCTSurfaceView.mm */; settings = {COMPILER_FLAGS = "-DFOLLY_NO_CONFIG -DFOLLY_MOBILE=1 -DFOLLY_USE_LIBCPP=1 -Wno-comma -Wno-shorten-64-to-32 -Wno-documentation"; }; };
- A1DD6248165A14E9BE84518A3DBDF6E9 /* BSGSerialization.m in Sources */ = {isa = PBXBuildFile; fileRef = CA44B575F2EE10B730821440A77DBC71 /* BSGSerialization.m */; };
+ A1B06EA50F276D2CD90D664F7088C959 /* BugsnagConfiguration.h in Headers */ = {isa = PBXBuildFile; fileRef = 3C88B4C3337463956A0703D3A50CCCB1 /* BugsnagConfiguration.h */; settings = {ATTRIBUTES = (Project, ); }; };
+ A1BE5E3327B89575FBE78D78DEF482AE /* RCTSurfaceView.mm in Sources */ = {isa = PBXBuildFile; fileRef = 269A89E6BBC828A8E623F55F9ADA0E33 /* RCTSurfaceView.mm */; settings = {COMPILER_FLAGS = "-DFOLLY_NO_CONFIG -DFOLLY_MOBILE=1 -DFOLLY_USE_LIBCPP=1 -Wno-comma -Wno-shorten-64-to-32 -Wno-documentation"; }; };
+ A1DD6248165A14E9BE84518A3DBDF6E9 /* BSGSerialization.m in Sources */ = {isa = PBXBuildFile; fileRef = FDA9563515CA952B4C6598A3F6884AA3 /* BSGSerialization.m */; };
A261D1444B1E8A76FF80961913092EAC /* rescaler_utils.h in Headers */ = {isa = PBXBuildFile; fileRef = 1C947908F023D1379E7B0B35D2F0A0BA /* rescaler_utils.h */; settings = {ATTRIBUTES = (Project, ); }; };
- A2A70CD096FE24B7E48EA8C86BC112BD /* EXAudioRecordingPermissionRequester.h in Headers */ = {isa = PBXBuildFile; fileRef = 16B5EA58DA018C78FD027B57B68BBD6A /* EXAudioRecordingPermissionRequester.h */; settings = {ATTRIBUTES = (Project, ); }; };
- A2A7778216687F1A0A0C6B02E5E3577D /* RNFirebaseAdMobBannerManager.h in Headers */ = {isa = PBXBuildFile; fileRef = 764B3E10E0B2280761A0865DF7D456CE /* RNFirebaseAdMobBannerManager.h */; settings = {ATTRIBUTES = (Project, ); }; };
+ A2A70CD096FE24B7E48EA8C86BC112BD /* EXAudioRecordingPermissionRequester.h in Headers */ = {isa = PBXBuildFile; fileRef = C5E86521B6ADA880C46F42DA60963DEE /* EXAudioRecordingPermissionRequester.h */; settings = {ATTRIBUTES = (Project, ); }; };
A2B1FFACE7567768C3FC2CEB3CD9499D /* FIRInstanceIDKeychain.h in Headers */ = {isa = PBXBuildFile; fileRef = 025F4627265EC18A48EA0E9618F86102 /* FIRInstanceIDKeychain.h */; settings = {ATTRIBUTES = (Project, ); }; };
- A2BB5FDD99C8D8A31F91D6698801CC6F /* EXAVObject.h in Headers */ = {isa = PBXBuildFile; fileRef = B7A18D73033E01CECE3AB03279BD7C3D /* EXAVObject.h */; settings = {ATTRIBUTES = (Project, ); }; };
+ A2BB5FDD99C8D8A31F91D6698801CC6F /* EXAVObject.h in Headers */ = {isa = PBXBuildFile; fileRef = 939FB2B332B51BC00725C7C090BD314F /* EXAVObject.h */; settings = {ATTRIBUTES = (Project, ); }; };
A2BCACD8EA23E21607E2B81D655C81FE /* upsampling_neon.c in Sources */ = {isa = PBXBuildFile; fileRef = C47608DCC0C80820CFE8A9B2DA2ED22C /* upsampling_neon.c */; settings = {COMPILER_FLAGS = "-D_THREAD_SAFE -fno-objc-arc"; }; };
- A338CC251632E5913CD3EEECF70D4804 /* YGFloatOptional.h in Headers */ = {isa = PBXBuildFile; fileRef = FE7ACA95E1C29665FC13D95C9A81BE08 /* YGFloatOptional.h */; settings = {ATTRIBUTES = (Project, ); }; };
- A33AE98CA25CE0BD73B4120DA9629C47 /* QBAssetsViewController.h in Headers */ = {isa = PBXBuildFile; fileRef = A78F59E96157CD7C59B8EDADE9AFC75F /* QBAssetsViewController.h */; settings = {ATTRIBUTES = (Project, ); }; };
+ A3271CFB85B3FE973B38EB21371DB521 /* RNFetchBlobProgress.m in Sources */ = {isa = PBXBuildFile; fileRef = 872AF4B40789059C4F4116D85CCE2E38 /* RNFetchBlobProgress.m */; };
+ A338CC251632E5913CD3EEECF70D4804 /* YGFloatOptional.h in Headers */ = {isa = PBXBuildFile; fileRef = 33F7E8ACA859C87D5AE3308881241257 /* YGFloatOptional.h */; settings = {ATTRIBUTES = (Project, ); }; };
A3899A422351CF681012352754EFDED9 /* lossless_sse2.c in Sources */ = {isa = PBXBuildFile; fileRef = 295607AE20D286F5BB9736C877ABC1C0 /* lossless_sse2.c */; settings = {COMPILER_FLAGS = "-D_THREAD_SAFE -fno-objc-arc"; }; };
- A39E755B2D859C965D11B4745BA5D98D /* RCTInspectorDevServerHelper.mm in Sources */ = {isa = PBXBuildFile; fileRef = 7B5A80DD3F335A39C8205CA109FA895F /* RCTInspectorDevServerHelper.mm */; };
- A3B33574C82F38A9087B056DF9CED726 /* EXRemindersRequester.h in Headers */ = {isa = PBXBuildFile; fileRef = C5C7B68547284BC1E355190A5D5331AF /* EXRemindersRequester.h */; settings = {ATTRIBUTES = (Project, ); }; };
- A4276C593AB619723020F2F603ED99AD /* RCTConvert+Transform.m in Sources */ = {isa = PBXBuildFile; fileRef = B48D968498C90C33B497B4FB0C720801 /* RCTConvert+Transform.m */; settings = {COMPILER_FLAGS = "-DFOLLY_NO_CONFIG -DFOLLY_MOBILE=1 -DFOLLY_USE_LIBCPP=1 -Wno-comma -Wno-shorten-64-to-32 -Wno-documentation"; }; };
- A4302A7E1F8981E1F5130DC7377F9144 /* FFFastImageView.h in Headers */ = {isa = PBXBuildFile; fileRef = 4D9C166BEE209046E50A487D5A73D6FE /* FFFastImageView.h */; settings = {ATTRIBUTES = (Project, ); }; };
- A44662B04DE669EE2C1D14966A7E8BE9 /* RCTConvert+UIBackgroundFetchResult.m in Sources */ = {isa = PBXBuildFile; fileRef = C6674F8A03AB0BD3BC9D83592B6223C7 /* RCTConvert+UIBackgroundFetchResult.m */; };
- A4725B429E07D3765A6CF7FA9E07864E /* Orientation.m in Sources */ = {isa = PBXBuildFile; fileRef = 6394F4E2DC3E4942AEF7812E424B8A8C /* Orientation.m */; };
+ A39E755B2D859C965D11B4745BA5D98D /* RCTInspectorDevServerHelper.mm in Sources */ = {isa = PBXBuildFile; fileRef = DF99CB3F992099DDB1B6830002B15BB0 /* RCTInspectorDevServerHelper.mm */; };
+ A3B33574C82F38A9087B056DF9CED726 /* EXRemindersRequester.h in Headers */ = {isa = PBXBuildFile; fileRef = 452A6CC263F1F0F0051EEFEA92E452F2 /* EXRemindersRequester.h */; settings = {ATTRIBUTES = (Project, ); }; };
+ A4182E2DD863756BA5DBA2B7C14A5BE8 /* react-native-notifications-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = F5B00AD174EA491593A2C54B9522E9AB /* react-native-notifications-dummy.m */; };
+ A4276C593AB619723020F2F603ED99AD /* RCTConvert+Transform.m in Sources */ = {isa = PBXBuildFile; fileRef = 0598A98F71D59A0F0A71DE4565DAE754 /* RCTConvert+Transform.m */; settings = {COMPILER_FLAGS = "-DFOLLY_NO_CONFIG -DFOLLY_MOBILE=1 -DFOLLY_USE_LIBCPP=1 -Wno-comma -Wno-shorten-64-to-32 -Wno-documentation"; }; };
+ A44021E59C9C280142ED1CB631831397 /* RNVectorIconsManager.h in Headers */ = {isa = PBXBuildFile; fileRef = 274AE81F91365AE6D06334B8DAF3AE40 /* RNVectorIconsManager.h */; settings = {ATTRIBUTES = (Project, ); }; };
A478B88053C971FA3749431C59577E83 /* upsampling_msa.c in Sources */ = {isa = PBXBuildFile; fileRef = 8F2EBE2F5FCA510FE40355D5B597F267 /* upsampling_msa.c */; settings = {COMPILER_FLAGS = "-D_THREAD_SAFE -fno-objc-arc"; }; };
A497FB482F032365646003FF4688764B /* Conv.cpp in Sources */ = {isa = PBXBuildFile; fileRef = C28E7B4594C0C8ACAEE9C2A7E6072039 /* Conv.cpp */; settings = {COMPILER_FLAGS = "-DFOLLY_NO_CONFIG -DFOLLY_MOBILE=1 -DFOLLY_USE_LIBCPP=1 -DFOLLY_HAVE_PTHREAD=1 -Wno-comma -Wno-shorten-64-to-32 -Wno-documentation"; }; };
- A4DCE185030300E41A470AE199ABCB22 /* JSBigString.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 24F847FA257F34C8F8483DE48C9E6F65 /* JSBigString.cpp */; settings = {COMPILER_FLAGS = "-DFOLLY_NO_CONFIG -DFOLLY_MOBILE=1 -DFOLLY_USE_LIBCPP=1 -Wno-comma -Wno-shorten-64-to-32 -Wno-documentation"; }; };
- A50B2215B6499053C59FD985DE475793 /* SDImageLoader.h in Headers */ = {isa = PBXBuildFile; fileRef = A32953F955579E837338E27C7051A31E /* SDImageLoader.h */; settings = {ATTRIBUTES = (Project, ); }; };
- A510B7C62D2C659235C54F3FD6579B5D /* LNInterpolation.h in Headers */ = {isa = PBXBuildFile; fileRef = 9E40363E8C939404427360C76256656E /* LNInterpolation.h */; settings = {ATTRIBUTES = (Project, ); }; };
- A527D5F7CFAD9C8847E267A7AE89B273 /* RNFirebaseAdMob.h in Headers */ = {isa = PBXBuildFile; fileRef = 6212A6420C4610E146F0B61BCDEBE366 /* RNFirebaseAdMob.h */; settings = {ATTRIBUTES = (Project, ); }; };
- A55C24FA208312D46CF87FD5853FB9AA /* BSG_KSCrashSentry_User.c in Sources */ = {isa = PBXBuildFile; fileRef = C9771775E2CA5B641F6A32E394491ABD /* BSG_KSCrashSentry_User.c */; };
- A5744F62C3F9E3344A56FF0B2EA07E79 /* SDAnimatedImage.h in Headers */ = {isa = PBXBuildFile; fileRef = 8492A50A463D0FF1A9999FEED07C0510 /* SDAnimatedImage.h */; settings = {ATTRIBUTES = (Project, ); }; };
- A58F08F163593B4D07A2AE698F990BC9 /* BSG_KSCrashC.c in Sources */ = {isa = PBXBuildFile; fileRef = 3B5E9302E6FB7D0AED93050CDCD27CB2 /* BSG_KSCrashC.c */; };
- A6284294E40579F2DA118DF27AFD97F3 /* BSG_KSJSONCodecObjC.h in Headers */ = {isa = PBXBuildFile; fileRef = D73AA52962559E4E07B3B452D3337ABD /* BSG_KSJSONCodecObjC.h */; settings = {ATTRIBUTES = (Project, ); }; };
- A63002202167319878EE8A8DF68E0A18 /* RAMBundleRegistry.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 46524080C037671B24C26629D4029B5A /* RAMBundleRegistry.cpp */; settings = {COMPILER_FLAGS = "-DFOLLY_NO_CONFIG -DFOLLY_MOBILE=1 -DFOLLY_USE_LIBCPP=1 -Wno-comma -Wno-shorten-64-to-32 -Wno-documentation"; }; };
- A6485E16CD304950F41C08C84960F353 /* UMEventEmitter.h in Headers */ = {isa = PBXBuildFile; fileRef = 502E8305E07D1C1F93B133B10E2CD056 /* UMEventEmitter.h */; settings = {ATTRIBUTES = (Project, ); }; };
- A667E5B0906DA50179DC41DC3F4093E4 /* SDWebImageCompat.h in Headers */ = {isa = PBXBuildFile; fileRef = 02A5BFA8A2E2A877ACAF148B33831970 /* SDWebImageCompat.h */; settings = {ATTRIBUTES = (Project, ); }; };
- A6F29F923CD8B7663A3B1446BB8F4192 /* UMSingletonModule.h in Headers */ = {isa = PBXBuildFile; fileRef = 2A81F688EDC4F08A361FFB2A00DE4F75 /* UMSingletonModule.h */; settings = {ATTRIBUTES = (Project, ); }; };
- A743802847ECE6866FDA4F4B02D2E293 /* SDImageCache.h in Headers */ = {isa = PBXBuildFile; fileRef = 95E85D1A56579BA7BAD8118CB90F2D9D /* SDImageCache.h */; settings = {ATTRIBUTES = (Project, ); }; };
- A799D2769C65005F19BEA2BB6DB53B70 /* UMAppDelegateWrapper.h in Headers */ = {isa = PBXBuildFile; fileRef = 91B80435032C48F049599A7B2F4E93E4 /* UMAppDelegateWrapper.h */; settings = {ATTRIBUTES = (Project, ); }; };
- A7A5A3AD2B9F33B91FB0D922FF880A3A /* RCTSafeAreaView.m in Sources */ = {isa = PBXBuildFile; fileRef = CAD8F7A1FCCAD02788D818E661158B03 /* RCTSafeAreaView.m */; settings = {COMPILER_FLAGS = "-DFOLLY_NO_CONFIG -DFOLLY_MOBILE=1 -DFOLLY_USE_LIBCPP=1 -Wno-comma -Wno-shorten-64-to-32 -Wno-documentation"; }; };
+ A4CF5CC621A144BB54558B862DD6D974 /* RNFirebaseFirestore.h in Headers */ = {isa = PBXBuildFile; fileRef = 0D221D912F522A6CC12CE232BED67FFA /* RNFirebaseFirestore.h */; settings = {ATTRIBUTES = (Project, ); }; };
+ A4DCE185030300E41A470AE199ABCB22 /* JSBigString.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 833E3F5907E24B1017DE23BEB8637FFF /* JSBigString.cpp */; settings = {COMPILER_FLAGS = "-DFOLLY_NO_CONFIG -DFOLLY_MOBILE=1 -DFOLLY_USE_LIBCPP=1 -Wno-comma -Wno-shorten-64-to-32 -Wno-documentation"; }; };
+ A4F9534103F0D5314E25EA8E15AB7275 /* RNFetchBlobRequest.m in Sources */ = {isa = PBXBuildFile; fileRef = AB0B595CD1B373E8D3F28A31B8E38DAB /* RNFetchBlobRequest.m */; };
+ A55076558EA8EAF324B286D001037877 /* QBAlbumCell.m in Sources */ = {isa = PBXBuildFile; fileRef = D80AD35E7CB05C134F5FDC4CADB18A21 /* QBAlbumCell.m */; };
+ A55C24FA208312D46CF87FD5853FB9AA /* BSG_KSCrashSentry_User.c in Sources */ = {isa = PBXBuildFile; fileRef = 323C2DAFA165190356498B7F393D1C68 /* BSG_KSCrashSentry_User.c */; };
+ A58F08F163593B4D07A2AE698F990BC9 /* BSG_KSCrashC.c in Sources */ = {isa = PBXBuildFile; fileRef = 0A834CACDE2924D9E3A76B50C7C2E977 /* BSG_KSCrashC.c */; };
+ A5B9124FDF09C3FB57E71EB4DC46A3DD /* RNCWKWebViewManager.h in Headers */ = {isa = PBXBuildFile; fileRef = 23BC845AF52DC4617255A331E1F52B83 /* RNCWKWebViewManager.h */; settings = {ATTRIBUTES = (Project, ); }; };
+ A60CB93D4614D9B6C2827EDF1C4B79C3 /* Pods-RocketChatRN-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 133D81C69EE4A8C014E0D2D3D6ADBDC6 /* Pods-RocketChatRN-dummy.m */; };
+ A6284294E40579F2DA118DF27AFD97F3 /* BSG_KSJSONCodecObjC.h in Headers */ = {isa = PBXBuildFile; fileRef = 3C2F95BEC61EE47A5FBCD2B8BC49213D /* BSG_KSJSONCodecObjC.h */; settings = {ATTRIBUTES = (Project, ); }; };
+ A63002202167319878EE8A8DF68E0A18 /* RAMBundleRegistry.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 476E794248BA58E691E4F2BE07C41FDA /* RAMBundleRegistry.cpp */; settings = {COMPILER_FLAGS = "-DFOLLY_NO_CONFIG -DFOLLY_MOBILE=1 -DFOLLY_USE_LIBCPP=1 -Wno-comma -Wno-shorten-64-to-32 -Wno-documentation"; }; };
+ A6485E16CD304950F41C08C84960F353 /* UMEventEmitter.h in Headers */ = {isa = PBXBuildFile; fileRef = F916EB02531B293EFD045C8506CEEF79 /* UMEventEmitter.h */; settings = {ATTRIBUTES = (Project, ); }; };
+ A6DF8B885C0F78815046BD1F0B1BEA52 /* RCTVideoManager.m in Sources */ = {isa = PBXBuildFile; fileRef = E163E9202E84BBF606E8F3E35A854039 /* RCTVideoManager.m */; };
+ A6F29F923CD8B7663A3B1446BB8F4192 /* UMSingletonModule.h in Headers */ = {isa = PBXBuildFile; fileRef = A7F8B58DF4C881ED76976D4094B65ABD /* UMSingletonModule.h */; settings = {ATTRIBUTES = (Project, ); }; };
+ A799D2769C65005F19BEA2BB6DB53B70 /* UMAppDelegateWrapper.h in Headers */ = {isa = PBXBuildFile; fileRef = 5C517820F51C827290E80FDF09465E74 /* UMAppDelegateWrapper.h */; settings = {ATTRIBUTES = (Project, ); }; };
+ A7A5A3AD2B9F33B91FB0D922FF880A3A /* RCTSafeAreaView.m in Sources */ = {isa = PBXBuildFile; fileRef = ADA32046F2291C5F9E61BFDC33B955CA /* RCTSafeAreaView.m */; settings = {COMPILER_FLAGS = "-DFOLLY_NO_CONFIG -DFOLLY_MOBILE=1 -DFOLLY_USE_LIBCPP=1 -Wno-comma -Wno-shorten-64-to-32 -Wno-documentation"; }; };
+ A7CAAE02B267BFBA1C0E7F014422362D /* RNFirebaseNotifications.m in Sources */ = {isa = PBXBuildFile; fileRef = 47D44304E9F1E341184C9FC1193BEE80 /* RNFirebaseNotifications.m */; };
A7D325ABA622F9D7D56799439D272EA2 /* utilities.cc in Sources */ = {isa = PBXBuildFile; fileRef = 62272C24B5240F69AA9C5C598FB9E34B /* utilities.cc */; settings = {COMPILER_FLAGS = "-Wno-shorten-64-to-32"; }; };
- A7F2529C99D72FA5FF302BD36EDCD793 /* RCTModuleMethod.h in Headers */ = {isa = PBXBuildFile; fileRef = AA444F16DB2D1DA6AD4C8EFC27ADD55F /* RCTModuleMethod.h */; settings = {ATTRIBUTES = (Project, ); }; };
- A81736D1CFA58EC5284C407AEB0D306B /* RCTFileRequestHandler.h in Headers */ = {isa = PBXBuildFile; fileRef = 21321B735672662389BEB088619DDCF3 /* RCTFileRequestHandler.h */; settings = {ATTRIBUTES = (Project, ); }; };
- A853BD9AB4FDCAC1DEDE2ED839D264B5 /* RNFirebaseFirestoreCollectionReference.h in Headers */ = {isa = PBXBuildFile; fileRef = 03F7A4E282FAD268C44C0DB4565ECC9E /* RNFirebaseFirestoreCollectionReference.h */; settings = {ATTRIBUTES = (Project, ); }; };
- A8561ACC0F8EE4AD506C0806EDD28E5E /* JSINativeModules.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 997B8E19103A712BC4A193BBD5383A4C /* JSINativeModules.cpp */; settings = {COMPILER_FLAGS = "-DFOLLY_NO_CONFIG -DFOLLY_MOBILE=1 -DFOLLY_USE_LIBCPP=1 -Wno-comma -Wno-shorten-64-to-32 -Wno-documentation"; }; };
- A8A4C58599FC553160B594E4A6BBD860 /* RCTDecayAnimation.m in Sources */ = {isa = PBXBuildFile; fileRef = 5AA89CC43F5F052F239EC285F5CBBE11 /* RCTDecayAnimation.m */; };
- A8B6D15DA68092B480483FE020894204 /* EXFileSystemAssetLibraryHandler.h in Headers */ = {isa = PBXBuildFile; fileRef = EEEF61A9C19DFA5A66CD016235190BC4 /* EXFileSystemAssetLibraryHandler.h */; settings = {ATTRIBUTES = (Project, ); }; };
- A8F813367283E61EF989A9161DC3F79B /* BSG_KSCrash.m in Sources */ = {isa = PBXBuildFile; fileRef = BAFC101794CED3103DE988687E06EBC8 /* BSG_KSCrash.m */; };
+ A7DCE9BD313B580FC36C4B5835469E19 /* QBImagePickerController-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = B36157532C4339F5003B9E44EA90FEAF /* QBImagePickerController-dummy.m */; };
+ A7F2529C99D72FA5FF302BD36EDCD793 /* RCTModuleMethod.h in Headers */ = {isa = PBXBuildFile; fileRef = 60D3FCD7C8D4E995F50E5531B773BC85 /* RCTModuleMethod.h */; settings = {ATTRIBUTES = (Project, ); }; };
+ A81736D1CFA58EC5284C407AEB0D306B /* RCTFileRequestHandler.h in Headers */ = {isa = PBXBuildFile; fileRef = 682DD1A38B1B8E7EB73D071CA7E3FBA5 /* RCTFileRequestHandler.h */; settings = {ATTRIBUTES = (Project, ); }; };
+ A8561ACC0F8EE4AD506C0806EDD28E5E /* JSINativeModules.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 7F16D4777A9E1B5B2F177960667D8F95 /* JSINativeModules.cpp */; settings = {COMPILER_FLAGS = "-DFOLLY_NO_CONFIG -DFOLLY_MOBILE=1 -DFOLLY_USE_LIBCPP=1 -Wno-comma -Wno-shorten-64-to-32 -Wno-documentation"; }; };
+ A8A4C58599FC553160B594E4A6BBD860 /* RCTDecayAnimation.m in Sources */ = {isa = PBXBuildFile; fileRef = 4603014ACD08C1CB91C52D909B13A6E8 /* RCTDecayAnimation.m */; };
+ A8B6D15DA68092B480483FE020894204 /* EXFileSystemAssetLibraryHandler.h in Headers */ = {isa = PBXBuildFile; fileRef = A2853E4ADD8A56D3FC8B32B3D5AC4578 /* EXFileSystemAssetLibraryHandler.h */; settings = {ATTRIBUTES = (Project, ); }; };
+ A8F813367283E61EF989A9161DC3F79B /* BSG_KSCrash.m in Sources */ = {isa = PBXBuildFile; fileRef = 2279B72C0A35CE2496061773313C481F /* BSG_KSCrash.m */; };
+ A91BB4D7E280C9912620F0D4C44919D0 /* RSKInternalUtility.m in Sources */ = {isa = PBXBuildFile; fileRef = D45BF9100908AE41F56695A49C6148C6 /* RSKInternalUtility.m */; };
A9259A030B103BC6C003F7809B560F9D /* FIRInstanceIDUtilities.h in Headers */ = {isa = PBXBuildFile; fileRef = 78C09F53F3F82D9D3A1A2079D65BAD94 /* FIRInstanceIDUtilities.h */; settings = {ATTRIBUTES = (Project, ); }; };
A92C327E57D9A9746F7176FAE308E23D /* ieee.h in Headers */ = {isa = PBXBuildFile; fileRef = 6D8B132E736E6DABCD3B948E8FFC503F /* ieee.h */; settings = {ATTRIBUTES = (Project, ); }; };
- A9AB1C78783CDE72EB60A35699B8BFB1 /* rn-fetch-blob-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = FDFA65F9F0DFE903A53E64AF1A276803 /* rn-fetch-blob-dummy.m */; };
- AA0C7390010136B9FEB8AD0112D8C60E /* JSINativeModules.h in Headers */ = {isa = PBXBuildFile; fileRef = 6A3C159F91A71376EDFCB26B139C340F /* JSINativeModules.h */; settings = {ATTRIBUTES = (Project, ); }; };
- AA4C5A3011B0BB1752076C77D6E01F9E /* RCTAppState.h in Headers */ = {isa = PBXBuildFile; fileRef = 4E0CFFED90BE84E64F121D5D55A5959D /* RCTAppState.h */; settings = {ATTRIBUTES = (Project, ); }; };
- AA56B9847FFBCD69B0FC76752E40D650 /* SDImageCachesManager.h in Headers */ = {isa = PBXBuildFile; fileRef = 300F3B83CD71E1D42225DCE2D4D8DF21 /* SDImageCachesManager.h */; settings = {ATTRIBUTES = (Project, ); }; };
+ AA0C7390010136B9FEB8AD0112D8C60E /* JSINativeModules.h in Headers */ = {isa = PBXBuildFile; fileRef = A9F70FD71DE334D223363D56760E4CBB /* JSINativeModules.h */; settings = {ATTRIBUTES = (Project, ); }; };
+ AA17C1501A8CC495182DA8097781EA5B /* RSKImageScrollView.m in Sources */ = {isa = PBXBuildFile; fileRef = C731293D6C62BFF71015F20F1D0B3D6E /* RSKImageScrollView.m */; };
+ AA4C5A3011B0BB1752076C77D6E01F9E /* RCTAppState.h in Headers */ = {isa = PBXBuildFile; fileRef = 73ABF49A40A9A32A36728608BE895094 /* RCTAppState.h */; settings = {ATTRIBUTES = (Project, ); }; };
AA6FD30C2E41C5828D10AC115BF0D278 /* alpha_processing.c in Sources */ = {isa = PBXBuildFile; fileRef = A31DB8D7F8575A7D3FB5410003970469 /* alpha_processing.c */; settings = {COMPILER_FLAGS = "-D_THREAD_SAFE -fno-objc-arc"; }; };
- AA709B34578B90879185BB18A4C95FE9 /* RNFirebaseInstanceId.h in Headers */ = {isa = PBXBuildFile; fileRef = 4DF69E0EA59CDCC35859D10CA84868F2 /* RNFirebaseInstanceId.h */; settings = {ATTRIBUTES = (Project, ); }; };
- AAB993E6AEA83B562CC225ECA181A36C /* RCTInputAccessoryViewContent.h in Headers */ = {isa = PBXBuildFile; fileRef = C4C4535D4B1890CCB238DF906CFE8E5B /* RCTInputAccessoryViewContent.h */; settings = {ATTRIBUTES = (Project, ); }; };
- AB135DF9642F966197BCCC01EDAB267E /* JSDeltaBundleClient.h in Headers */ = {isa = PBXBuildFile; fileRef = 7560B5AFB4DFD4A50A59B5F3A1C8A67A /* JSDeltaBundleClient.h */; settings = {ATTRIBUTES = (Project, ); }; };
+ AAA6FC823DC10E942EDCE4EED39AA499 /* QBVideoIndicatorView.h in Headers */ = {isa = PBXBuildFile; fileRef = 669D29B808A079357850471FA5DA96BD /* QBVideoIndicatorView.h */; settings = {ATTRIBUTES = (Project, ); }; };
+ AAB993E6AEA83B562CC225ECA181A36C /* RCTInputAccessoryViewContent.h in Headers */ = {isa = PBXBuildFile; fileRef = 1A9E27B03792689D5815E2590B1B3A39 /* RCTInputAccessoryViewContent.h */; settings = {ATTRIBUTES = (Project, ); }; };
+ AB135DF9642F966197BCCC01EDAB267E /* JSDeltaBundleClient.h in Headers */ = {isa = PBXBuildFile; fileRef = CFF3C81EBD0551AC27199AC143F20D2A /* JSDeltaBundleClient.h */; settings = {ATTRIBUTES = (Project, ); }; };
AB6ADF77F4AC26289A5F744E220D52ED /* GULMutableDictionary.h in Headers */ = {isa = PBXBuildFile; fileRef = 0150AA8CAF72E28360A04F27E2139232 /* GULMutableDictionary.h */; settings = {ATTRIBUTES = (Project, ); }; };
- AB8A597ADC6D071AA792DAB12EA0AE04 /* RCTComponentEvent.m in Sources */ = {isa = PBXBuildFile; fileRef = 169E43DC94B9A5511B793358211C2DA0 /* RCTComponentEvent.m */; settings = {COMPILER_FLAGS = "-DFOLLY_NO_CONFIG -DFOLLY_MOBILE=1 -DFOLLY_USE_LIBCPP=1 -Wno-comma -Wno-shorten-64-to-32 -Wno-documentation"; }; };
+ AB8A597ADC6D071AA792DAB12EA0AE04 /* RCTComponentEvent.m in Sources */ = {isa = PBXBuildFile; fileRef = AF85E96E443966C3DB667B924AB26549 /* RCTComponentEvent.m */; settings = {COMPILER_FLAGS = "-DFOLLY_NO_CONFIG -DFOLLY_MOBILE=1 -DFOLLY_USE_LIBCPP=1 -Wno-comma -Wno-shorten-64-to-32 -Wno-documentation"; }; };
ABBA4D1A08A1D18ECF18CFCEC1D683DE /* FIRApp.m in Sources */ = {isa = PBXBuildFile; fileRef = 92E08E4B2A2FDF1A5F6E156D3E8AA66C /* FIRApp.m */; };
ABD5CE7D3CED819A1F0A08FFACA97498 /* stl_logging.h in Headers */ = {isa = PBXBuildFile; fileRef = 941C83CB1B1C7E2565C41FE38587D3A8 /* stl_logging.h */; settings = {ATTRIBUTES = (Project, ); }; };
+ ABE014387D291F60B65C961D7E5C8CF8 /* RCTCustomKeyboardViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 955C8D42530EE32A38C61587709F7CF8 /* RCTCustomKeyboardViewController.m */; };
AC1EE7F7D26E58F4302881384B23B726 /* GULNetworkMessageCode.h in Headers */ = {isa = PBXBuildFile; fileRef = 4EC14D1A14C431F11C9FA55E47179290 /* GULNetworkMessageCode.h */; settings = {ATTRIBUTES = (Project, ); }; };
- AC51A7A586D7AE498DD369A62DFF765C /* RNCUIWebView.h in Headers */ = {isa = PBXBuildFile; fileRef = 5299A7215FF1B89394734D89A18A9AFA /* RNCUIWebView.h */; settings = {ATTRIBUTES = (Project, ); }; };
+ AC2F8A15C45A46657B91252F79D7EF35 /* ObservingInputAccessoryView.m in Sources */ = {isa = PBXBuildFile; fileRef = 380AF49F91616B844D1D6B0F6FC3BD69 /* ObservingInputAccessoryView.m */; };
+ AC357F45809D5640E227966405B889A7 /* UIImageView+WebCache.m in Sources */ = {isa = PBXBuildFile; fileRef = AD92D36B85DA95740ECB849D14C5F035 /* UIImageView+WebCache.m */; };
AC6AC70E3EC8B0747B28E02CB723332F /* tree_enc.c in Sources */ = {isa = PBXBuildFile; fileRef = 7149428CF1B6CFC8E2C31DCCEDA015DE /* tree_enc.c */; settings = {COMPILER_FLAGS = "-D_THREAD_SAFE -fno-objc-arc"; }; };
- ACCFA8651243A8B66223A58FB5C4D7B1 /* EXVideoManager.m in Sources */ = {isa = PBXBuildFile; fileRef = B64DCB056BA3F7EA1587D7665740CD27 /* EXVideoManager.m */; };
- AD1E6535165A206A97029A465F50878B /* RCTReloadCommand.m in Sources */ = {isa = PBXBuildFile; fileRef = 910F0AB6383C8B71E13FE3B7BE678A59 /* RCTReloadCommand.m */; settings = {COMPILER_FLAGS = "-DFOLLY_NO_CONFIG -DFOLLY_MOBILE=1 -DFOLLY_USE_LIBCPP=1 -Wno-comma -Wno-shorten-64-to-32 -Wno-documentation"; }; };
- AD22177AEB8CE682EA816F583D76E851 /* RNFirebaseDatabase.m in Sources */ = {isa = PBXBuildFile; fileRef = 5FEE56F788D37FF2C73EB51BCA7B8474 /* RNFirebaseDatabase.m */; };
+ ACCFA8651243A8B66223A58FB5C4D7B1 /* EXVideoManager.m in Sources */ = {isa = PBXBuildFile; fileRef = 20A1B83C6840088447AD2FE050243E79 /* EXVideoManager.m */; };
+ AD06AEEF03D0D12A26711BFDBE71BC4B /* RNDeviceInfo-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 0074389B58401CED5730B5700D1B8F06 /* RNDeviceInfo-dummy.m */; };
+ AD1E6535165A206A97029A465F50878B /* RCTReloadCommand.m in Sources */ = {isa = PBXBuildFile; fileRef = BF036858D7F3CE66A672E5C710245902 /* RCTReloadCommand.m */; settings = {COMPILER_FLAGS = "-DFOLLY_NO_CONFIG -DFOLLY_MOBILE=1 -DFOLLY_USE_LIBCPP=1 -Wno-comma -Wno-shorten-64-to-32 -Wno-documentation"; }; };
+ AD23865F2C0DA271512D8E544C38D59F /* BannerComponent.h in Headers */ = {isa = PBXBuildFile; fileRef = 2B45B24716B53339CEDB792EEEC0DABB /* BannerComponent.h */; settings = {ATTRIBUTES = (Project, ); }; };
AD2F4B3932C637813DB1472E148C3061 /* FIRLogger.h in Headers */ = {isa = PBXBuildFile; fileRef = C774AF3B5AE0B9A2D9EA7723091655A5 /* FIRLogger.h */; settings = {ATTRIBUTES = (Project, ); }; };
- AD4999CD8127CB9D0287C2336DF8E303 /* RCTImageCache.h in Headers */ = {isa = PBXBuildFile; fileRef = 065597CDB50590E70A12C5272863954D /* RCTImageCache.h */; settings = {ATTRIBUTES = (Project, ); }; };
- AD76ECB8513316F803A704931511AE4D /* RCTAnimationDriver.h in Headers */ = {isa = PBXBuildFile; fileRef = F929974BC16DCFE91AA0F73BE45F6FDD /* RCTAnimationDriver.h */; settings = {ATTRIBUTES = (Project, ); }; };
- ADEE826EA4D572CEFA9780F59E4EC793 /* RCTTextSelection.m in Sources */ = {isa = PBXBuildFile; fileRef = 42E8D5B90F84CC4A7EB716A4CD876925 /* RCTTextSelection.m */; };
- AE04CC3E39F5BEC589C59F601589F495 /* RCTInspectorPackagerConnection.m in Sources */ = {isa = PBXBuildFile; fileRef = EC680F9C1E3C82F96E67DFAAFB5E6BAB /* RCTInspectorPackagerConnection.m */; };
- AE37DC16CD561884D973C22FCC1A61C6 /* RCTI18nManager.m in Sources */ = {isa = PBXBuildFile; fileRef = 3CBE07CFB871A4B803D73798F661B25B /* RCTI18nManager.m */; settings = {COMPILER_FLAGS = "-DFOLLY_NO_CONFIG -DFOLLY_MOBILE=1 -DFOLLY_USE_LIBCPP=1 -Wno-comma -Wno-shorten-64-to-32 -Wno-documentation"; }; };
- AE50881383D99425658602348D1744B0 /* EXHaptics-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = E3659760F289AE725BCF58C947C2E645 /* EXHaptics-dummy.m */; };
- AEA0571AD000EA6F97808A38CED466A8 /* EXRemindersRequester.m in Sources */ = {isa = PBXBuildFile; fileRef = 4A441C9ACDA64415183BEDD8558D8E3A /* EXRemindersRequester.m */; };
- AEA3F0AF6468371CF304C5B8D1134378 /* RCTConvert+FFFastImage.h in Headers */ = {isa = PBXBuildFile; fileRef = 1E9888909BAA172B4C5061ACF0420CB2 /* RCTConvert+FFFastImage.h */; settings = {ATTRIBUTES = (Project, ); }; };
- AEB32A495ED637563A5136F3CF675326 /* RCTUtils.h in Headers */ = {isa = PBXBuildFile; fileRef = 5C84DB06B403745A5AFE7FC344905056 /* RCTUtils.h */; settings = {ATTRIBUTES = (Project, ); }; };
+ AD4999CD8127CB9D0287C2336DF8E303 /* RCTImageCache.h in Headers */ = {isa = PBXBuildFile; fileRef = 6A6B2D86B4F6FCC3209518361605EA5C /* RCTImageCache.h */; settings = {ATTRIBUTES = (Project, ); }; };
+ AD76ECB8513316F803A704931511AE4D /* RCTAnimationDriver.h in Headers */ = {isa = PBXBuildFile; fileRef = 37C4D9C456545F27C29CD3961ADEBB21 /* RCTAnimationDriver.h */; settings = {ATTRIBUTES = (Project, ); }; };
+ ADAA5BE955FB1867166E47F2C8F0ED5E /* RNFirebaseDatabaseReference.h in Headers */ = {isa = PBXBuildFile; fileRef = A701315107AEF018A169609F675E0E2F /* RNFirebaseDatabaseReference.h */; settings = {ATTRIBUTES = (Project, ); }; };
+ ADEE826EA4D572CEFA9780F59E4EC793 /* RCTTextSelection.m in Sources */ = {isa = PBXBuildFile; fileRef = 8077404B900D9257FAD40F188799F27D /* RCTTextSelection.m */; };
+ AE04CC3E39F5BEC589C59F601589F495 /* RCTInspectorPackagerConnection.m in Sources */ = {isa = PBXBuildFile; fileRef = F5FE893EC010E40D1120D34CCB644080 /* RCTInspectorPackagerConnection.m */; };
+ AE37DC16CD561884D973C22FCC1A61C6 /* RCTI18nManager.m in Sources */ = {isa = PBXBuildFile; fileRef = 88D431E9B8E7D93A627FAC0F8A947929 /* RCTI18nManager.m */; settings = {COMPILER_FLAGS = "-DFOLLY_NO_CONFIG -DFOLLY_MOBILE=1 -DFOLLY_USE_LIBCPP=1 -Wno-comma -Wno-shorten-64-to-32 -Wno-documentation"; }; };
+ AE50881383D99425658602348D1744B0 /* EXHaptics-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 3BBB1D421B721B29E8FDAF905D6F4E0F /* EXHaptics-dummy.m */; };
+ AEA0571AD000EA6F97808A38CED466A8 /* EXRemindersRequester.m in Sources */ = {isa = PBXBuildFile; fileRef = B4CC6B022952FF19EF7C445E45D1F3AE /* EXRemindersRequester.m */; };
+ AEB32A495ED637563A5136F3CF675326 /* RCTUtils.h in Headers */ = {isa = PBXBuildFile; fileRef = E2E9CAF6F0E710D9D941C37A8F98F15E /* RCTUtils.h */; settings = {ATTRIBUTES = (Project, ); }; };
+ AEB7BECF45D6BA9BEEB91E353D014A61 /* es.lproj in Resources */ = {isa = PBXBuildFile; fileRef = 1B083D62BEA49EF2CBD59BF9400BB3F4 /* es.lproj */; };
AEFDDCD92E687A0A93BAAA2AB9DAEFFF /* cost_mips32.c in Sources */ = {isa = PBXBuildFile; fileRef = 56DB28B663C47B5F75E9ECB906DDBAAD /* cost_mips32.c */; settings = {COMPILER_FLAGS = "-D_THREAD_SAFE -fno-objc-arc"; }; };
- AF4A8945B643727EA8D5F09E99BE1602 /* RCTInputAccessoryViewManager.h in Headers */ = {isa = PBXBuildFile; fileRef = 691B476C41127C3E7C0F76AB2BCD6FB8 /* RCTInputAccessoryViewManager.h */; settings = {ATTRIBUTES = (Project, ); }; };
- AF608402B14A4BF3871296F26C3B3840 /* RCTBundleURLProvider.h in Headers */ = {isa = PBXBuildFile; fileRef = D626EEE92B1B5454C8CB6337FDE18B7C /* RCTBundleURLProvider.h */; settings = {ATTRIBUTES = (Project, ); }; };
- AFA90032C01A00833AD9C347F0925904 /* SDImageCacheConfig.h in Headers */ = {isa = PBXBuildFile; fileRef = B73F92C774CA25A04461F93736FB0699 /* SDImageCacheConfig.h */; settings = {ATTRIBUTES = (Project, ); }; };
- AFF8732D57BD57960916A6F6DE3C42C7 /* RNPushKitEventListener.h in Headers */ = {isa = PBXBuildFile; fileRef = C57915C32ECA98651230EF2F55E81BC1 /* RNPushKitEventListener.h */; settings = {ATTRIBUTES = (Project, ); }; };
+ AF01AC6D5FE9E1DDE1735B04274067A8 /* RNCUIWebViewManager.m in Sources */ = {isa = PBXBuildFile; fileRef = 26A5AF3C6BD66CFF8609D1CEAE6CA782 /* RNCUIWebViewManager.m */; };
+ AF4826BBE3F7265B0E92ADB1A8D3E941 /* RNVectorIconsManager.m in Sources */ = {isa = PBXBuildFile; fileRef = C6642C284CECA811F6BA6DC950353F41 /* RNVectorIconsManager.m */; };
+ AF4A8945B643727EA8D5F09E99BE1602 /* RCTInputAccessoryViewManager.h in Headers */ = {isa = PBXBuildFile; fileRef = 02A62F6471984E51A1F287759ADC7B8B /* RCTInputAccessoryViewManager.h */; settings = {ATTRIBUTES = (Project, ); }; };
+ AF608402B14A4BF3871296F26C3B3840 /* RCTBundleURLProvider.h in Headers */ = {isa = PBXBuildFile; fileRef = 4A4753CAD84AC6BB2843118C80622CAD /* RCTBundleURLProvider.h */; settings = {ATTRIBUTES = (Project, ); }; };
+ AFCBA844A243B7C07B65BA754A57A784 /* RNPushKitEventListener.m in Sources */ = {isa = PBXBuildFile; fileRef = E5A919318D33BC91F6CB706DFB34DDAB /* RNPushKitEventListener.m */; };
B078F7C21362CC2EC03671646B46739F /* FIRDependency.m in Sources */ = {isa = PBXBuildFile; fileRef = CEF3DB52713CAB7571DFF217B45DE978 /* FIRDependency.m */; };
- B09C45B80F81A2051E12E624384791A9 /* RCTRootShadowView.m in Sources */ = {isa = PBXBuildFile; fileRef = 34C5C6137B1C04C625E2112B94FFBD8F /* RCTRootShadowView.m */; settings = {COMPILER_FLAGS = "-DFOLLY_NO_CONFIG -DFOLLY_MOBILE=1 -DFOLLY_USE_LIBCPP=1 -Wno-comma -Wno-shorten-64-to-32 -Wno-documentation"; }; };
+ B09C45B80F81A2051E12E624384791A9 /* RCTRootShadowView.m in Sources */ = {isa = PBXBuildFile; fileRef = E522CD46845903A58A6204EBED84AC96 /* RCTRootShadowView.m */; settings = {COMPILER_FLAGS = "-DFOLLY_NO_CONFIG -DFOLLY_MOBILE=1 -DFOLLY_USE_LIBCPP=1 -Wno-comma -Wno-shorten-64-to-32 -Wno-documentation"; }; };
B0B0B766093210EB3266CFB15B7F110A /* mux_types.h in Headers */ = {isa = PBXBuildFile; fileRef = A27065A60D9BFCB39A4B68135E82A475 /* mux_types.h */; settings = {ATTRIBUTES = (Project, ); }; };
- B0B561D41AFD29C064A0B1AE9387BB3E /* SDWebImageIndicator.h in Headers */ = {isa = PBXBuildFile; fileRef = 3D3943E3326FE9FC1E8D9269144480FB /* SDWebImageIndicator.h */; settings = {ATTRIBUTES = (Project, ); }; };
B0E28F82AC12DAADBCC201F6E686F0D8 /* FIRInstanceIDAuthService.m in Sources */ = {isa = PBXBuildFile; fileRef = ADD36445CB6401EEB09C1C2BE7BB006E /* FIRInstanceIDAuthService.m */; };
- B11A89E20EC341CA886D0B8886605CE3 /* RCTSpringAnimation.h in Headers */ = {isa = PBXBuildFile; fileRef = 618B04F01EC85FA9C58DE68AEBD6B0CB /* RCTSpringAnimation.h */; settings = {ATTRIBUTES = (Project, ); }; };
- B193322F6FEA0F3B97F688498E129218 /* RCTPerfMonitor.m in Sources */ = {isa = PBXBuildFile; fileRef = B11E41EEDCFE5674F3EA0AE43D8F5628 /* RCTPerfMonitor.m */; settings = {COMPILER_FLAGS = "-DFOLLY_NO_CONFIG -DFOLLY_MOBILE=1 -DFOLLY_USE_LIBCPP=1 -Wno-comma -Wno-shorten-64-to-32 -Wno-documentation"; }; };
- B1AE4C90842987C303D9483711A39B61 /* RCTDevSettings.h in Headers */ = {isa = PBXBuildFile; fileRef = BE65011DE9FCD221090CEDB49B25D25F /* RCTDevSettings.h */; settings = {ATTRIBUTES = (Project, ); }; };
- B1B3589562BF502B1EAA519FBE5BEFFF /* RCTImageView.m in Sources */ = {isa = PBXBuildFile; fileRef = 7397FBC54A6C49EF52B9817B8999424A /* RCTImageView.m */; };
+ B11A89E20EC341CA886D0B8886605CE3 /* RCTSpringAnimation.h in Headers */ = {isa = PBXBuildFile; fileRef = 6002548F0D6352AD9F93A57DD7ECAA91 /* RCTSpringAnimation.h */; settings = {ATTRIBUTES = (Project, ); }; };
+ B193322F6FEA0F3B97F688498E129218 /* RCTPerfMonitor.m in Sources */ = {isa = PBXBuildFile; fileRef = 52D44710867C0BCB97FFC9BB6E41FEDF /* RCTPerfMonitor.m */; settings = {COMPILER_FLAGS = "-DFOLLY_NO_CONFIG -DFOLLY_MOBILE=1 -DFOLLY_USE_LIBCPP=1 -Wno-comma -Wno-shorten-64-to-32 -Wno-documentation"; }; };
+ B1960D196E6CA6C04008C658D9BA6E43 /* en.lproj in Resources */ = {isa = PBXBuildFile; fileRef = 6FD1AEC22B760780BC5622E43C1E0E0D /* en.lproj */; };
+ B1AE4C90842987C303D9483711A39B61 /* RCTDevSettings.h in Headers */ = {isa = PBXBuildFile; fileRef = 1F55554EB9DF5F2855EFDB0271A94653 /* RCTDevSettings.h */; settings = {ATTRIBUTES = (Project, ); }; };
+ B1B3589562BF502B1EAA519FBE5BEFFF /* RCTImageView.m in Sources */ = {isa = PBXBuildFile; fileRef = 937079F3743CF5777E6AA949EAB24FF5 /* RCTImageView.m */; };
+ B1C601F14D02EABD34CDF56042C77010 /* UIView+WebCacheOperation.m in Sources */ = {isa = PBXBuildFile; fileRef = 1F80ED467317C10C1BFC22D3EBB6BB5F /* UIView+WebCacheOperation.m */; };
+ B1DE860143516E2B19BB4C825182FEF6 /* UIImage+WebP.m in Sources */ = {isa = PBXBuildFile; fileRef = 0856CE09C9AE05CF216187E8CE5D695F /* UIImage+WebP.m */; };
B1F0D8BF7A1CE374F9985295E86695C3 /* lossless_enc_mips32.c in Sources */ = {isa = PBXBuildFile; fileRef = 57074C30E9329F39E336988E1F5E0F9F /* lossless_enc_mips32.c */; settings = {COMPILER_FLAGS = "-D_THREAD_SAFE -fno-objc-arc"; }; };
- B224294B74504C684A1E3F27DE4E9B72 /* BSG_KSSystemInfoC.h in Headers */ = {isa = PBXBuildFile; fileRef = 5025E46B5DB5FB52C64082CAD13B1194 /* BSG_KSSystemInfoC.h */; settings = {ATTRIBUTES = (Project, ); }; };
- B2482E24D6DFC0DE9AEF0BE3189EDB67 /* RCTGIFImageDecoder.m in Sources */ = {isa = PBXBuildFile; fileRef = D48814E80F466F6C9B357204E5B204DB /* RCTGIFImageDecoder.m */; };
- B254BFD2B94B21F9C2DA7CF91A8217C1 /* UIImage+RSKImageCropper.h in Headers */ = {isa = PBXBuildFile; fileRef = 9F05B714BFA3F951AA518528961CE6F8 /* UIImage+RSKImageCropper.h */; settings = {ATTRIBUTES = (Project, ); }; };
+ B224294B74504C684A1E3F27DE4E9B72 /* BSG_KSSystemInfoC.h in Headers */ = {isa = PBXBuildFile; fileRef = 6D1090B5290D18AABCA80BA6461BD739 /* BSG_KSSystemInfoC.h */; settings = {ATTRIBUTES = (Project, ); }; };
+ B2482E24D6DFC0DE9AEF0BE3189EDB67 /* RCTGIFImageDecoder.m in Sources */ = {isa = PBXBuildFile; fileRef = A808D1B9267511815C333B7BA5DA536C /* RCTGIFImageDecoder.m */; };
+ B264FAD8D35AA07A38D312770198B5F9 /* RNGestureHandlerModule.h in Headers */ = {isa = PBXBuildFile; fileRef = 02AFF5C565E58B3DF692352EFF584BFE /* RNGestureHandlerModule.h */; settings = {ATTRIBUTES = (Project, ); }; };
B2CA11C70BAE56E96D0654BA8607AC75 /* utils.c in Sources */ = {isa = PBXBuildFile; fileRef = 3F25D5F0ACF40D2B5EC9E1B933E55188 /* utils.c */; settings = {COMPILER_FLAGS = "-D_THREAD_SAFE -fno-objc-arc"; }; };
- B2D60DBB8B45E148B6A5D473D65E7550 /* UMModuleRegistryAdapter.h in Headers */ = {isa = PBXBuildFile; fileRef = 1B8FC3F4F7FD7FF4C93F671C8F2369E4 /* UMModuleRegistryAdapter.h */; settings = {ATTRIBUTES = (Project, ); }; };
B2D6499450888707D3DFC50BD9E94F80 /* FIRInstanceIDConstants.h in Headers */ = {isa = PBXBuildFile; fileRef = A5F369F80FE8256181D503ED70999264 /* FIRInstanceIDConstants.h */; settings = {ATTRIBUTES = (Project, ); }; };
- B2DEE0596D8CB905DBE4B7C568609597 /* RNFirebaseLinks.h in Headers */ = {isa = PBXBuildFile; fileRef = E5D263F04FF94DC244A5B579A71406EC /* RNFirebaseLinks.h */; settings = {ATTRIBUTES = (Project, ); }; };
B2E03206695085DC3C168497F94704F0 /* libwebp-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 364D8F7B0345F670AEF62989440B4C5D /* libwebp-dummy.m */; };
+ B30D13C3BBF9D4CCC4A4C70137559286 /* SDImageIOCoder.m in Sources */ = {isa = PBXBuildFile; fileRef = 4638F9C2952ED417146E2D08B9F9A66B /* SDImageIOCoder.m */; };
B3115B87C80669BE7BCEE8EA9E0B631C /* alpha_processing_neon.c in Sources */ = {isa = PBXBuildFile; fileRef = D80E09B00BC78CE69690B42B0538250D /* alpha_processing_neon.c */; settings = {COMPILER_FLAGS = "-D_THREAD_SAFE -fno-objc-arc"; }; };
- B36F0C10FCF0FF9A3B8DCBED999BC250 /* NSError+BSG_SimpleConstructor.h in Headers */ = {isa = PBXBuildFile; fileRef = BDD7659A4481E6D3C937E65B96E68530 /* NSError+BSG_SimpleConstructor.h */; settings = {ATTRIBUTES = (Project, ); }; };
- B371298011A009520B0C65A82A9B9D12 /* RCTExceptionsManager.h in Headers */ = {isa = PBXBuildFile; fileRef = 0A7CCA87CF07F6A68F630F0657EEAC17 /* RCTExceptionsManager.h */; settings = {ATTRIBUTES = (Project, ); }; };
+ B35D403429448E8A8EBDBF09F8A22293 /* RNForceTouchHandler.m in Sources */ = {isa = PBXBuildFile; fileRef = 681D1654DD3AEA97BBA66AA2AE19B6AE /* RNForceTouchHandler.m */; };
+ B36F0C10FCF0FF9A3B8DCBED999BC250 /* NSError+BSG_SimpleConstructor.h in Headers */ = {isa = PBXBuildFile; fileRef = BC4C12CBBB02DCD41666827A196B0E23 /* NSError+BSG_SimpleConstructor.h */; settings = {ATTRIBUTES = (Project, ); }; };
+ B371298011A009520B0C65A82A9B9D12 /* RCTExceptionsManager.h in Headers */ = {isa = PBXBuildFile; fileRef = 3FF95EA0D498B96BCF8DF761641D69F6 /* RCTExceptionsManager.h */; settings = {ATTRIBUTES = (Project, ); }; };
B38A6F0A02BF1929884827243D4A23E6 /* strtod.h in Headers */ = {isa = PBXBuildFile; fileRef = ED3A529BE56491A3C4A40A7143854717 /* strtod.h */; settings = {ATTRIBUTES = (Project, ); }; };
B38F70804F3D61BBBA93329CA7ED0FC8 /* pb_decode.c in Sources */ = {isa = PBXBuildFile; fileRef = 79C3510CFD04C18B22821F2A5965A191 /* pb_decode.c */; settings = {COMPILER_FLAGS = "-fno-objc-arc -fno-objc-arc"; }; };
- B3C649C749858A23B094434D8823CCA0 /* react-native-video-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 871DB639E0B4CD25745315DA2CECCB8E /* react-native-video-dummy.m */; };
- B401D9618DC45FC769E1E806066FEF36 /* RCTImageViewManager.m in Sources */ = {isa = PBXBuildFile; fileRef = AC122118B020E9A5FBEF0154346A86B2 /* RCTImageViewManager.m */; };
- B4300BF68D8E5E64E24CF0A04E77F888 /* BugsnagCrashReport.m in Sources */ = {isa = PBXBuildFile; fileRef = 20151D10FF2D8938636BC1C030777FE5 /* BugsnagCrashReport.m */; };
- B46E2314758DE45E70330A24AE130A7F /* RCTErrorInfo.h in Headers */ = {isa = PBXBuildFile; fileRef = 97ECF09F542E7CA8A0DF7F96CFEEED82 /* RCTErrorInfo.h */; settings = {ATTRIBUTES = (Project, ); }; };
- B47044FD716D89EAFC32E576CE468CA0 /* UIResponder+FirstResponder.m in Sources */ = {isa = PBXBuildFile; fileRef = C64B9D67BBE79A4849D46C82E3C3572F /* UIResponder+FirstResponder.m */; };
- B47E5FE0E9A742F9A8ADC2365D971604 /* event.cpp in Sources */ = {isa = PBXBuildFile; fileRef = CC4CFC99B8FDE2E94B3472373D90578D /* event.cpp */; settings = {COMPILER_FLAGS = "-fno-omit-frame-pointer -fexceptions -Wall -Werror -std=c++1y -fPIC -fno-objc-arc"; }; };
- B480BFFEC12A900116E4600D0AF1F5E3 /* BugsnagUser.m in Sources */ = {isa = PBXBuildFile; fileRef = C946E388DAC81A83B69F158055CE1241 /* BugsnagUser.m */; };
+ B39352BD8CB0BF8F4F937843334BB300 /* RNPushKitEventHandler.m in Sources */ = {isa = PBXBuildFile; fileRef = 29261F6C0D4B126BC73A2E27E811AA7A /* RNPushKitEventHandler.m */; };
+ B3D6A0E1D5A48A1B8A1B7B40EC947DEB /* QBSlomoIconView.h in Headers */ = {isa = PBXBuildFile; fileRef = DD50922D1CD9C642CF0458174E9D3F50 /* QBSlomoIconView.h */; settings = {ATTRIBUTES = (Project, ); }; };
+ B401D9618DC45FC769E1E806066FEF36 /* RCTImageViewManager.m in Sources */ = {isa = PBXBuildFile; fileRef = 4EBED3EBBF42DAA274CD73CD83FAA801 /* RCTImageViewManager.m */; };
+ B4300BF68D8E5E64E24CF0A04E77F888 /* BugsnagCrashReport.m in Sources */ = {isa = PBXBuildFile; fileRef = DCA22FE9B2A835A36635AA4AC39BD0CA /* BugsnagCrashReport.m */; };
+ B46E2314758DE45E70330A24AE130A7F /* RCTErrorInfo.h in Headers */ = {isa = PBXBuildFile; fileRef = 3C592F24D9844731E4CC65E1B8712BC2 /* RCTErrorInfo.h */; settings = {ATTRIBUTES = (Project, ); }; };
+ B47E5FE0E9A742F9A8ADC2365D971604 /* event.cpp in Sources */ = {isa = PBXBuildFile; fileRef = DFAC9BF0907079F1C63C17699D819FF5 /* event.cpp */; settings = {COMPILER_FLAGS = "-fno-omit-frame-pointer -fexceptions -Wall -Werror -std=c++1y -fPIC -fno-objc-arc"; }; };
+ B480BFFEC12A900116E4600D0AF1F5E3 /* BugsnagUser.m in Sources */ = {isa = PBXBuildFile; fileRef = F1CC89A16257FA4F1FB9CCE5AAD81252 /* BugsnagUser.m */; };
B4915265CA25AFBEF72EEDAC5372E840 /* io_dec.c in Sources */ = {isa = PBXBuildFile; fileRef = 4C3594BCF2E739806B65560A21970438 /* io_dec.c */; settings = {COMPILER_FLAGS = "-D_THREAD_SAFE -fno-objc-arc"; }; };
B52794F72404F5BA7A79A2DBBF596CB3 /* json_pointer.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 793BCBE8646481D3328716EF3FC6C6D2 /* json_pointer.cpp */; settings = {COMPILER_FLAGS = "-DFOLLY_NO_CONFIG -DFOLLY_MOBILE=1 -DFOLLY_USE_LIBCPP=1 -DFOLLY_HAVE_PTHREAD=1 -Wno-comma -Wno-shorten-64-to-32 -Wno-documentation"; }; };
B542243C6D641A7F17F389530CCA9DBE /* yuv_sse41.c in Sources */ = {isa = PBXBuildFile; fileRef = 4CE59CF7D9AB5CCBE1E03F714C1A3222 /* yuv_sse41.c */; settings = {COMPILER_FLAGS = "-D_THREAD_SAFE -fno-objc-arc"; }; };
- B563034A8AF19671F3D01CF9D4A0B826 /* DeviceUID.h in Headers */ = {isa = PBXBuildFile; fileRef = 7DB733FB837DC24E525ED0299F032C86 /* DeviceUID.h */; settings = {ATTRIBUTES = (Project, ); }; };
- B566CAC327330D11373E46E765A674BC /* React-DevSupport-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 60A1CD09E9C5044B4792AACE3E1858DE /* React-DevSupport-dummy.m */; };
- B56D35B12676FBDA7C3D1957DE1C1BF5 /* UIButton+WebCache.m in Sources */ = {isa = PBXBuildFile; fileRef = AE1CA52D749B78621D708B5150D908DD /* UIButton+WebCache.m */; };
- B58807C392160EE39BC7AA15605D3A44 /* BugsnagSession.m in Sources */ = {isa = PBXBuildFile; fileRef = 0D247592D526EC9F818D2D2DFC3B5F57 /* BugsnagSession.m */; };
+ B566CAC327330D11373E46E765A674BC /* React-DevSupport-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 7DCFC3AC12AC1C607FF59071567F97EF /* React-DevSupport-dummy.m */; };
+ B58807C392160EE39BC7AA15605D3A44 /* BugsnagSession.m in Sources */ = {isa = PBXBuildFile; fileRef = 89746F47951597081EEE50041E0A4DBF /* BugsnagSession.m */; };
+ B591566B4CBF0CABF53F3E0D9D89B8FC /* SDMemoryCache.h in Headers */ = {isa = PBXBuildFile; fileRef = F04D6C471FB8F5B1783CA3688A4407B9 /* SDMemoryCache.h */; settings = {ATTRIBUTES = (Project, ); }; };
B5C09C4B2158523B885D444D0AEAEC3A /* GULSwizzler.h in Headers */ = {isa = PBXBuildFile; fileRef = 8131376D01D37DCE394253C32AFE9C42 /* GULSwizzler.h */; settings = {ATTRIBUTES = (Project, ); }; };
- B69320F26DAE38180F06F52C73A88257 /* RCTSlider.h in Headers */ = {isa = PBXBuildFile; fileRef = 6347871F57DA55A317C98571E099D746 /* RCTSlider.h */; settings = {ATTRIBUTES = (Project, ); }; };
- B6C1AB873B99084A03552F6A74065E5E /* UIImage+WebP.h in Headers */ = {isa = PBXBuildFile; fileRef = CF9E0A97389D71AE8FB5DFE8ABB0DD4D /* UIImage+WebP.h */; settings = {ATTRIBUTES = (Project, ); }; };
+ B646D3FAF3895171C7128A44390934FF /* NSData+ImageContentType.h in Headers */ = {isa = PBXBuildFile; fileRef = D31CA7143A73D81AC402696A5725265F /* NSData+ImageContentType.h */; settings = {ATTRIBUTES = (Project, ); }; };
+ B68968F874D4C993DAB246791DBB4E79 /* SDImageGraphics.h in Headers */ = {isa = PBXBuildFile; fileRef = E5D0EA01501DF2002E2BC00E518D57FC /* SDImageGraphics.h */; settings = {ATTRIBUTES = (Project, ); }; };
+ B69320F26DAE38180F06F52C73A88257 /* RCTSlider.h in Headers */ = {isa = PBXBuildFile; fileRef = 4E188867975CFEC9DC22E11F656AD9CC /* RCTSlider.h */; settings = {ATTRIBUTES = (Project, ); }; };
+ B6CAE780FFB24C1AD0EEFB5829255EC5 /* RNFirebaseAdMobNativeExpressManager.h in Headers */ = {isa = PBXBuildFile; fileRef = 05D0F9CB5405B5FD3D54E89D5B6FEBA6 /* RNFirebaseAdMobNativeExpressManager.h */; settings = {ATTRIBUTES = (Project, ); }; };
+ B6CDE43120BE992F92C66B2DD6C001AE /* RNGestureHandler-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 70B9276EAD9115A73376D79A4D83BAEA /* RNGestureHandler-dummy.m */; };
B724AB793386F487E48DAC082B773D56 /* muxi.h in Headers */ = {isa = PBXBuildFile; fileRef = FA772E4DB9DB3675E623E1610BE49161 /* muxi.h */; settings = {ATTRIBUTES = (Project, ); }; };
B7253BE61EBDD783BEDD27B260F45F72 /* Assume.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 18F9712006D1278B1E6A0BB0C8FFE987 /* Assume.cpp */; settings = {COMPILER_FLAGS = "-DFOLLY_NO_CONFIG -DFOLLY_MOBILE=1 -DFOLLY_USE_LIBCPP=1 -DFOLLY_HAVE_PTHREAD=1 -Wno-comma -Wno-shorten-64-to-32 -Wno-documentation"; }; };
- B74676D11257AA8C2D5BDF97B7D095DE /* SDDiskCache.h in Headers */ = {isa = PBXBuildFile; fileRef = 385A35727E97F74DC58355BE28C9C372 /* SDDiskCache.h */; settings = {ATTRIBUTES = (Project, ); }; };
- B7788163569552B4F936D1303A402BA4 /* ObservingInputAccessoryView.h in Headers */ = {isa = PBXBuildFile; fileRef = 3A631C637CC3B7E8684A06494D3B84DA /* ObservingInputAccessoryView.h */; settings = {ATTRIBUTES = (Project, ); }; };
+ B785655E67E0AA1BB7A2B35FCFCF5C16 /* react-native-orientation-locker-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = DD52DF36CBF561B55AE83B0ACE7FD4ED /* react-native-orientation-locker-dummy.m */; };
B7A4D50989E610028B3EE3816B474C3F /* msa_macro.h in Headers */ = {isa = PBXBuildFile; fileRef = E326F4992EFA5D00F746490983DE4F6E /* msa_macro.h */; settings = {ATTRIBUTES = (Project, ); }; };
- B7BE7365C12CE18D05FCF973032A5288 /* UMExportedModule.m in Sources */ = {isa = PBXBuildFile; fileRef = B36CF5085AFD87D6F8C431630F73A2E5 /* UMExportedModule.m */; };
- B7E191713420F3EB03D1836E0997B08A /* UMSingletonModule.m in Sources */ = {isa = PBXBuildFile; fileRef = C2FABF348021F117BDCFE8A89887864D /* UMSingletonModule.m */; };
- B7F6262132F92069594E81678787430E /* RCTVideoManager.m in Sources */ = {isa = PBXBuildFile; fileRef = 4A0CB8AA3BAFB245F5630180D28CA103 /* RCTVideoManager.m */; };
- B8000681BC49F4DBBC88E648626B3852 /* RSKImageCropViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = BDE67AF037E52B5477619E84E56342EA /* RSKImageCropViewController.m */; };
- B82CC79DF0FABE11C81693B3E52A9F5B /* RNFirebaseUtil.h in Headers */ = {isa = PBXBuildFile; fileRef = AD36B4153154663124040E84B52CD581 /* RNFirebaseUtil.h */; settings = {ATTRIBUTES = (Project, ); }; };
- B877D8EAFAA81B89E513FB5A0E30B97E /* BugsnagSessionTrackingPayload.h in Headers */ = {isa = PBXBuildFile; fileRef = 23C62294E9526B157C5B9F1168602C93 /* BugsnagSessionTrackingPayload.h */; settings = {ATTRIBUTES = (Project, ); }; };
- B918A84237A48ECC29872ACDE4AA289E /* RCTUITextView.m in Sources */ = {isa = PBXBuildFile; fileRef = 0D01D52530A4068CB3315A2CF3C72C2B /* RCTUITextView.m */; };
+ B7BE7365C12CE18D05FCF973032A5288 /* UMExportedModule.m in Sources */ = {isa = PBXBuildFile; fileRef = 9C91A5F373B75CC47832B6E9C6E82C51 /* UMExportedModule.m */; };
+ B7E191713420F3EB03D1836E0997B08A /* UMSingletonModule.m in Sources */ = {isa = PBXBuildFile; fileRef = B713D3CE45028FD339A57ABF283375C7 /* UMSingletonModule.m */; };
+ B86455874E3C34E06CA77B27C948F8F7 /* RNVectorIcons-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = C8BE73350D55D38A87722944A5499D34 /* RNVectorIcons-dummy.m */; };
+ B877D8EAFAA81B89E513FB5A0E30B97E /* BugsnagSessionTrackingPayload.h in Headers */ = {isa = PBXBuildFile; fileRef = 282AEC37056128C099C11683B879B2D5 /* BugsnagSessionTrackingPayload.h */; settings = {ATTRIBUTES = (Project, ); }; };
+ B898939420F1ECD1CB5BE2A3048BC119 /* RNNotificationParser.m in Sources */ = {isa = PBXBuildFile; fileRef = B34EB07C435A93674CBEE4443A7F7D8A /* RNNotificationParser.m */; };
+ B918A84237A48ECC29872ACDE4AA289E /* RCTUITextView.m in Sources */ = {isa = PBXBuildFile; fileRef = E9CD6EE75D0078957521857FA6ABBE5D /* RCTUITextView.m */; };
B91C99470A466DCB57F620ADB4FE86EB /* SpookyHashV2.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 467E582DE0BDA1F42D073D4B849F1616 /* SpookyHashV2.cpp */; settings = {COMPILER_FLAGS = "-DFOLLY_NO_CONFIG -DFOLLY_MOBILE=1 -DFOLLY_USE_LIBCPP=1 -DFOLLY_HAVE_PTHREAD=1 -Wno-comma -Wno-shorten-64-to-32 -Wno-documentation"; }; };
- B93AAD1E5615B6FDB27C817EFB9D2E44 /* UIImage+MultiFormat.h in Headers */ = {isa = PBXBuildFile; fileRef = 06AF16299BAF97AD3AE122293C12F2D1 /* UIImage+MultiFormat.h */; settings = {ATTRIBUTES = (Project, ); }; };
B950C322F3047EBBF4113A72B21A774F /* alpha_processing_mips_dsp_r2.c in Sources */ = {isa = PBXBuildFile; fileRef = 15D0933AEF222B9CEC60F893235E2362 /* alpha_processing_mips_dsp_r2.c */; settings = {COMPILER_FLAGS = "-D_THREAD_SAFE -fno-objc-arc"; }; };
- B9B5AB81E39FC0F2F687981B6DD3F070 /* RCTProfile.h in Headers */ = {isa = PBXBuildFile; fileRef = 7596F3E062A6D976D20C0F237BCDE7C0 /* RCTProfile.h */; settings = {ATTRIBUTES = (Project, ); }; };
- BA2BC83095E22C1245FE705A08439438 /* EXVideoManager.h in Headers */ = {isa = PBXBuildFile; fileRef = 9A9DD30890427441056CCB077BF0AD99 /* EXVideoManager.h */; settings = {ATTRIBUTES = (Project, ); }; };
- BA696F507475EC93BECC0CA877B3E360 /* RNFirebaseAdMob.m in Sources */ = {isa = PBXBuildFile; fileRef = 7144EBF361CAC4436120A2341AA45289 /* RNFirebaseAdMob.m */; };
- BAAEB56CF1A1C6D7A438B3FF975AB675 /* BSG_KSCrashSentry.c in Sources */ = {isa = PBXBuildFile; fileRef = 89D5D9DB885ED751E083FE797ADA38AE /* BSG_KSCrashSentry.c */; };
- BB062966A127C9DD75DF635C052591A8 /* RCTModalHostViewManager.m in Sources */ = {isa = PBXBuildFile; fileRef = CC1D90D3988EC4FAF35B670303A72818 /* RCTModalHostViewManager.m */; settings = {COMPILER_FLAGS = "-DFOLLY_NO_CONFIG -DFOLLY_MOBILE=1 -DFOLLY_USE_LIBCPP=1 -Wno-comma -Wno-shorten-64-to-32 -Wno-documentation"; }; };
- BB28AFFCFA7899E6A337BD47DC492452 /* RNLongPressHandler.h in Headers */ = {isa = PBXBuildFile; fileRef = 2E5E8562DAE59DD630BDFAAE8ED9636F /* RNLongPressHandler.h */; settings = {ATTRIBUTES = (Project, ); }; };
+ B9B5AB81E39FC0F2F687981B6DD3F070 /* RCTProfile.h in Headers */ = {isa = PBXBuildFile; fileRef = B2B2651006CB86CE68A25985B4FE5C2B /* RCTProfile.h */; settings = {ATTRIBUTES = (Project, ); }; };
+ B9C625F8A0383BDCA921B9C44A1ACAC0 /* rn-fetch-blob-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = EFF192001D8C018ED3F2109758F6BE11 /* rn-fetch-blob-dummy.m */; };
+ BA2BC83095E22C1245FE705A08439438 /* EXVideoManager.h in Headers */ = {isa = PBXBuildFile; fileRef = C5DC15AB56DC5ACC2D62D68A784446A1 /* EXVideoManager.h */; settings = {ATTRIBUTES = (Project, ); }; };
+ BAAEB56CF1A1C6D7A438B3FF975AB675 /* BSG_KSCrashSentry.c in Sources */ = {isa = PBXBuildFile; fileRef = 796B314F0840574558B122F665133601 /* BSG_KSCrashSentry.c */; };
+ BAE4F45C1C54F9F986561ADA0C33F49D /* RCTConvert+RNNotifications.h in Headers */ = {isa = PBXBuildFile; fileRef = D5EBA2D1AD61A24EB708CD284950C676 /* RCTConvert+RNNotifications.h */; settings = {ATTRIBUTES = (Project, ); }; };
+ BB062966A127C9DD75DF635C052591A8 /* RCTModalHostViewManager.m in Sources */ = {isa = PBXBuildFile; fileRef = 16750F0FB38675B534444D29EA6A8346 /* RCTModalHostViewManager.m */; settings = {COMPILER_FLAGS = "-DFOLLY_NO_CONFIG -DFOLLY_MOBILE=1 -DFOLLY_USE_LIBCPP=1 -Wno-comma -Wno-shorten-64-to-32 -Wno-documentation"; }; };
BB28C8FC324F6E7DC7CBC08C55561AB2 /* lossless_mips_dsp_r2.c in Sources */ = {isa = PBXBuildFile; fileRef = F1CFB7771686446AF6598BF5E6902B4E /* lossless_mips_dsp_r2.c */; settings = {COMPILER_FLAGS = "-D_THREAD_SAFE -fno-objc-arc"; }; };
- BB5891B04B5B631C79C66A88F0B55ED6 /* RCTNetworkTask.h in Headers */ = {isa = PBXBuildFile; fileRef = A00BE0761EC5B575A0546EBBDCD620C4 /* RCTNetworkTask.h */; settings = {ATTRIBUTES = (Project, ); }; };
+ BB5891B04B5B631C79C66A88F0B55ED6 /* RCTNetworkTask.h in Headers */ = {isa = PBXBuildFile; fileRef = A03649F3FD9F5502336CFBDA54661D7D /* RCTNetworkTask.h */; settings = {ATTRIBUTES = (Project, ); }; };
BB7D75B8EF99A177AEF43F4ABDB6BF6F /* Demangle.cpp in Sources */ = {isa = PBXBuildFile; fileRef = DED98470F61175C5870503D815D5A471 /* Demangle.cpp */; settings = {COMPILER_FLAGS = "-DFOLLY_NO_CONFIG -DFOLLY_MOBILE=1 -DFOLLY_USE_LIBCPP=1 -DFOLLY_HAVE_PTHREAD=1 -Wno-comma -Wno-shorten-64-to-32 -Wno-documentation"; }; };
- BB81A07B98BF6277902DD8CB879EDC8A /* UIImageView+WebCache.m in Sources */ = {isa = PBXBuildFile; fileRef = AD92D36B85DA95740ECB849D14C5F035 /* UIImageView+WebCache.m */; };
BB85D8BC19BD7BB07CD824693B033C0F /* bignum-dtoa.h in Headers */ = {isa = PBXBuildFile; fileRef = 6A729C6D908D4E59C9C24C1B5229528B /* bignum-dtoa.h */; settings = {ATTRIBUTES = (Project, ); }; };
+ BBACE416BC0E48A9E6E5CC1F95B5183B /* NativeExpressComponent.h in Headers */ = {isa = PBXBuildFile; fileRef = EB2708D5F3689AA03B54F6AD16355CA0 /* NativeExpressComponent.h */; settings = {ATTRIBUTES = (Project, ); }; };
BBE39282FC1B75D6C1F0D8D0EDFA356E /* FIRInstanceIDDefines.h in Headers */ = {isa = PBXBuildFile; fileRef = 17CDC82FD36A871A550360A11F612D5F /* FIRInstanceIDDefines.h */; settings = {ATTRIBUTES = (Project, ); }; };
BBED2A2A2908B62E367698D390BF0C6A /* FIROptionsInternal.h in Headers */ = {isa = PBXBuildFile; fileRef = 94BFD350710AEB484A48DCA2A14332F7 /* FIROptionsInternal.h */; settings = {ATTRIBUTES = (Project, ); }; };
- BBFC28AAAD52954DEE98F34FCC26B722 /* SDWebImageCacheKeyFilter.m in Sources */ = {isa = PBXBuildFile; fileRef = 0452016DEF4B30771753CA8A5253C5EE /* SDWebImageCacheKeyFilter.m */; };
- BBFED6676BFC66E9C3A3763709B9D3D7 /* UIImage+GIF.h in Headers */ = {isa = PBXBuildFile; fileRef = 3183AFDDBFAB519351065E5018CF6355 /* UIImage+GIF.h */; settings = {ATTRIBUTES = (Project, ); }; };
- BC3AEC8DE083424803C1D951FF0E8DBC /* NativeToJsBridge.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 589CF88D4B86DC0BA5BAF244032DCA9D /* NativeToJsBridge.cpp */; settings = {COMPILER_FLAGS = "-DFOLLY_NO_CONFIG -DFOLLY_MOBILE=1 -DFOLLY_USE_LIBCPP=1 -Wno-comma -Wno-shorten-64-to-32 -Wno-documentation"; }; };
- BC7823D69B7FA18696F5C13C6A9149A6 /* EXWebBrowser-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 3CA8798ABAE3A4F886E8704B4F5406BC /* EXWebBrowser-dummy.m */; };
- BD3F3B1C20BF3A8ACB61B26B553879EF /* RCTSubtractionAnimatedNode.h in Headers */ = {isa = PBXBuildFile; fileRef = 0D854251945D6E31F88F4E401AC0FCDC /* RCTSubtractionAnimatedNode.h */; settings = {ATTRIBUTES = (Project, ); }; };
+ BBF8FBF86209A5D4E5B684427E31D16E /* Orientation.m in Sources */ = {isa = PBXBuildFile; fileRef = D4ECAE32B81632578789F448C6A9EF66 /* Orientation.m */; };
+ BC3AEC8DE083424803C1D951FF0E8DBC /* NativeToJsBridge.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 77553ECC6EBF0BC9740E50000446132D /* NativeToJsBridge.cpp */; settings = {COMPILER_FLAGS = "-DFOLLY_NO_CONFIG -DFOLLY_MOBILE=1 -DFOLLY_USE_LIBCPP=1 -Wno-comma -Wno-shorten-64-to-32 -Wno-documentation"; }; };
+ BC7823D69B7FA18696F5C13C6A9149A6 /* EXWebBrowser-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 930299B385316DF096FAC1F48ED87126 /* EXWebBrowser-dummy.m */; };
+ BD24CF492FEF5BAA96B2940C68420C38 /* QBImagePickerController.m in Sources */ = {isa = PBXBuildFile; fileRef = 13D99DBC80BEF10AA0B3239F52637EE0 /* QBImagePickerController.m */; };
+ BD3F3B1C20BF3A8ACB61B26B553879EF /* RCTSubtractionAnimatedNode.h in Headers */ = {isa = PBXBuildFile; fileRef = 1BD3A2ECCE79EF2B8F13D4BEC9FB40B6 /* RCTSubtractionAnimatedNode.h */; settings = {ATTRIBUTES = (Project, ); }; };
BDA73F2EE1C869F55AA9D921203DC75B /* strtod.cc in Sources */ = {isa = PBXBuildFile; fileRef = CE2EC688D6B967C24667EBFA5E768079 /* strtod.cc */; settings = {COMPILER_FLAGS = "-Wno-unreachable-code"; }; };
- BE0913DC51C23EAB2DC7964C76029B63 /* EXAV-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 2F3FC3654E62766B4EBE123204D061E9 /* EXAV-dummy.m */; };
- BE2FCCC2D453C80CB0DC122D4C0E7195 /* RCTRawTextViewManager.m in Sources */ = {isa = PBXBuildFile; fileRef = DC94722332948E8134C758DA0E8F4831 /* RCTRawTextViewManager.m */; };
- BE428E23E0F6706F0E001135CDE49878 /* RNEventEmitter.m in Sources */ = {isa = PBXBuildFile; fileRef = D15722D2A3214CCFEDB1AB670C12EED2 /* RNEventEmitter.m */; };
- BE8625C250D21898082AA57A2C6E5F22 /* RCTVibration.h in Headers */ = {isa = PBXBuildFile; fileRef = 94D255FE9F9317E446A061D9CC1120E5 /* RCTVibration.h */; settings = {ATTRIBUTES = (Project, ); }; };
- BEAAD2FF8C5C76F65BC62A458856F9DD /* BSG_KSJSONCodec.c in Sources */ = {isa = PBXBuildFile; fileRef = EFE6680E9D5A02AF8D942F5258729DBC /* BSG_KSJSONCodec.c */; };
- BECF40CA7C9F6790B2EE861314E40228 /* RCTCxxMethod.mm in Sources */ = {isa = PBXBuildFile; fileRef = B75A815546E76EF79FC6295585562A56 /* RCTCxxMethod.mm */; settings = {COMPILER_FLAGS = "-DFOLLY_NO_CONFIG -DFOLLY_MOBILE=1 -DFOLLY_USE_LIBCPP=1 -Wno-comma -Wno-shorten-64-to-32 -Wno-documentation"; }; };
- BEDFA6E628B01CC40B9E0034FEA9B7EE /* SDImageCoderHelper.h in Headers */ = {isa = PBXBuildFile; fileRef = 9079D12428803561357FB10C61368B1D /* SDImageCoderHelper.h */; settings = {ATTRIBUTES = (Project, ); }; };
- BEE7F85D5757308988E5C06D2186D0A0 /* RNNativeViewHandler.h in Headers */ = {isa = PBXBuildFile; fileRef = DADB3AF090D1A5AF3A4FCAEC1BF10E0D /* RNNativeViewHandler.h */; settings = {ATTRIBUTES = (Project, ); }; };
- BEE9ED1D48EBC0E255302B6EFF42FFF0 /* RCTAdditionAnimatedNode.h in Headers */ = {isa = PBXBuildFile; fileRef = BB297149EDEA946FA03E2D2C5CEC09B0 /* RCTAdditionAnimatedNode.h */; settings = {ATTRIBUTES = (Project, ); }; };
- BEF199E20839C279618C13DEE4304BE1 /* RCTErrorCustomizer.h in Headers */ = {isa = PBXBuildFile; fileRef = 6F82FA48CC18C1C36D54D3B09ACAAE14 /* RCTErrorCustomizer.h */; settings = {ATTRIBUTES = (Project, ); }; };
+ BE0913DC51C23EAB2DC7964C76029B63 /* EXAV-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = A2D0299B9AE90E02425CE8A960A4EDFD /* EXAV-dummy.m */; };
+ BE2FCCC2D453C80CB0DC122D4C0E7195 /* RCTRawTextViewManager.m in Sources */ = {isa = PBXBuildFile; fileRef = 886959528EECB637CBB279C82B6752E4 /* RCTRawTextViewManager.m */; };
+ BE8625C250D21898082AA57A2C6E5F22 /* RCTVibration.h in Headers */ = {isa = PBXBuildFile; fileRef = 3618BEFA6C775E9038E07AF66AD1F452 /* RCTVibration.h */; settings = {ATTRIBUTES = (Project, ); }; };
+ BEAAD2FF8C5C76F65BC62A458856F9DD /* BSG_KSJSONCodec.c in Sources */ = {isa = PBXBuildFile; fileRef = 8F6C5B8AB09A56A1EB1D69DF4890C16F /* BSG_KSJSONCodec.c */; };
+ BECF40CA7C9F6790B2EE861314E40228 /* RCTCxxMethod.mm in Sources */ = {isa = PBXBuildFile; fileRef = E91BAE75F1E80077A26D6FD3D347B124 /* RCTCxxMethod.mm */; settings = {COMPILER_FLAGS = "-DFOLLY_NO_CONFIG -DFOLLY_MOBILE=1 -DFOLLY_USE_LIBCPP=1 -Wno-comma -Wno-shorten-64-to-32 -Wno-documentation"; }; };
+ BEE9ED1D48EBC0E255302B6EFF42FFF0 /* RCTAdditionAnimatedNode.h in Headers */ = {isa = PBXBuildFile; fileRef = FBF311D1E776DB95F9EC6C9DCD761917 /* RCTAdditionAnimatedNode.h */; settings = {ATTRIBUTES = (Project, ); }; };
+ BEF199E20839C279618C13DEE4304BE1 /* RCTErrorCustomizer.h in Headers */ = {isa = PBXBuildFile; fileRef = E48B59B7CBAA771D418027C64EE933F5 /* RCTErrorCustomizer.h */; settings = {ATTRIBUTES = (Project, ); }; };
BFA4A4BB1C3EAD3C592403CE215F3BD7 /* color_cache_utils.c in Sources */ = {isa = PBXBuildFile; fileRef = DE37D44DC5D03548C916EB2CF3270136 /* color_cache_utils.c */; settings = {COMPILER_FLAGS = "-D_THREAD_SAFE -fno-objc-arc"; }; };
- BFB4FD53DF54012395161053B4B1FC5A /* RCTMultipartDataTask.m in Sources */ = {isa = PBXBuildFile; fileRef = 91D2101458116777087D33BBC9A0B762 /* RCTMultipartDataTask.m */; settings = {COMPILER_FLAGS = "-DFOLLY_NO_CONFIG -DFOLLY_MOBILE=1 -DFOLLY_USE_LIBCPP=1 -Wno-comma -Wno-shorten-64-to-32 -Wno-documentation"; }; };
- BFED0E108BCCB32ADC7B04527528CB87 /* EXConstants.m in Sources */ = {isa = PBXBuildFile; fileRef = E861B31D87AB6B0B7BA28D6C9E688651 /* EXConstants.m */; };
- BFED819D999B16DB5341A18F9405A90F /* RNNativeViewHandler.m in Sources */ = {isa = PBXBuildFile; fileRef = 71A93DDF2DF3558C4B6EA65B472C169D /* RNNativeViewHandler.m */; };
- C0AA9A5B0CE05F2FE3E7E4517CBA5E77 /* React-RCTImage-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 94EDA854E35E5A25A0178D21BDCF5C1F /* React-RCTImage-dummy.m */; };
+ BFB4FD53DF54012395161053B4B1FC5A /* RCTMultipartDataTask.m in Sources */ = {isa = PBXBuildFile; fileRef = 898D7AC064C4F65193C873F3D09F499A /* RCTMultipartDataTask.m */; settings = {COMPILER_FLAGS = "-DFOLLY_NO_CONFIG -DFOLLY_MOBILE=1 -DFOLLY_USE_LIBCPP=1 -Wno-comma -Wno-shorten-64-to-32 -Wno-documentation"; }; };
+ BFED0E108BCCB32ADC7B04527528CB87 /* EXConstants.m in Sources */ = {isa = PBXBuildFile; fileRef = A04D8D10CB9648D040D458E560E64806 /* EXConstants.m */; };
+ C0516DB82BF288D99724DEE0570A5631 /* SDInternalMacros.h in Headers */ = {isa = PBXBuildFile; fileRef = 42249D00257DA8CA6B52A8A000A5F100 /* SDInternalMacros.h */; settings = {ATTRIBUTES = (Project, ); }; };
+ C0AA9A5B0CE05F2FE3E7E4517CBA5E77 /* React-RCTImage-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 6D60850FCC779063B604E14190A3752A /* React-RCTImage-dummy.m */; };
+ C0DEF96B55CB9E3B3531672E355DA95D /* SDWebImageError.m in Sources */ = {isa = PBXBuildFile; fileRef = 6C1D3E0B0699AC2F1DC5E3EDF95B116B /* SDWebImageError.m */; };
C0E2071C1ECA238C47C90E7041CEB933 /* filters_utils.c in Sources */ = {isa = PBXBuildFile; fileRef = 58FE105D63D9342E4EEF7D4D64A2B6E2 /* filters_utils.c */; settings = {COMPILER_FLAGS = "-D_THREAD_SAFE -fno-objc-arc"; }; };
- C0EA239D4CEEC6D1EF2E1F74E1AE94FF /* RNBridgeModule.m in Sources */ = {isa = PBXBuildFile; fileRef = 62122ED52138D98F2ABF36458F26F983 /* RNBridgeModule.m */; };
- C1104E424A629E3F0F0C1FB13F04A480 /* React-jsi-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 2BC1D8A86D200129598F3E96B4063578 /* React-jsi-dummy.m */; };
- C144B4A14A76D023E63BA4FD5E6CB782 /* QBAlbumsViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 2D62CD795C614D94A632A3FA22CE5F85 /* QBAlbumsViewController.m */; };
- C15B9DD3BE0761383EC45711F1CC5412 /* CGGeometry+RSKImageCropper.m in Sources */ = {isa = PBXBuildFile; fileRef = EC2E327CA5A7A4243177B4005AA24254 /* CGGeometry+RSKImageCropper.m */; };
- C16235A0EEB806964287D284F7F2A003 /* UMModuleRegistryConsumer.h in Headers */ = {isa = PBXBuildFile; fileRef = 43CF5986437956285C42AEFD4E0300D0 /* UMModuleRegistryConsumer.h */; settings = {ATTRIBUTES = (Project, ); }; };
- C198AB42A29594802AA8D6276A808FD3 /* EXFilePermissionModule.m in Sources */ = {isa = PBXBuildFile; fileRef = 274BCF6DBD6B2744B18EAAC50C794876 /* EXFilePermissionModule.m */; };
- C201A2FF9038BBD2A726A44BDDB71285 /* RNForceTouchHandler.h in Headers */ = {isa = PBXBuildFile; fileRef = F192BC054B04F497979153C950E105B0 /* RNForceTouchHandler.h */; settings = {ATTRIBUTES = (Project, ); }; };
- C25483D1C3A940B0E9C1CDB093202569 /* fishhook.h in Headers */ = {isa = PBXBuildFile; fileRef = B6C4705E480A55A219C8043E463E6628 /* fishhook.h */; settings = {ATTRIBUTES = (Project, ); }; };
+ C1104E424A629E3F0F0C1FB13F04A480 /* React-jsi-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 45E5944D663A9B6255497EF1DE9681A2 /* React-jsi-dummy.m */; };
+ C13D33BEB315BEA82FFEA03B31A2288F /* RNFirebase.m in Sources */ = {isa = PBXBuildFile; fileRef = 46927329D5EC7995F2B6C5652B95EF84 /* RNFirebase.m */; };
+ C16235A0EEB806964287D284F7F2A003 /* UMModuleRegistryConsumer.h in Headers */ = {isa = PBXBuildFile; fileRef = 81F4515211F4B53A7FED2206945E8AFA /* UMModuleRegistryConsumer.h */; settings = {ATTRIBUTES = (Project, ); }; };
+ C1898DD3D0841E832117EA389D0FA98D /* QBAssetsViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 2804CD3504FBA76DDA3A5744B54E69D6 /* QBAssetsViewController.m */; };
+ C198AB42A29594802AA8D6276A808FD3 /* EXFilePermissionModule.m in Sources */ = {isa = PBXBuildFile; fileRef = 749D0FCCF05A3A4A2DF622F56B1A1561 /* EXFilePermissionModule.m */; };
+ C25483D1C3A940B0E9C1CDB093202569 /* fishhook.h in Headers */ = {isa = PBXBuildFile; fileRef = D365A1B3BD99FBD1257FD622DF9CA9F7 /* fishhook.h */; settings = {ATTRIBUTES = (Project, ); }; };
+ C2B380FBFA55BED426C33084E67F9BAF /* RNGestureHandlerManager.m in Sources */ = {isa = PBXBuildFile; fileRef = E0E67C6F74C70E7114863937B3FA2C5C /* RNGestureHandlerManager.m */; };
C2DE26D47E707CAA4589E78A87278B68 /* FIRInstanceIDTokenInfo.m in Sources */ = {isa = PBXBuildFile; fileRef = 0CDBE1A6EFE535E5424964F77E3BAC51 /* FIRInstanceIDTokenInfo.m */; };
- C2E7059C4244AD7C0F38A78CC7E0EB9D /* UMViewManagerAdapter.m in Sources */ = {isa = PBXBuildFile; fileRef = C63453F4292E13417C5D45005C753A80 /* UMViewManagerAdapter.m */; };
- C2F54D87A5A3A9A7CEE981B9CC5474AD /* RCTActivityIndicatorViewManager.m in Sources */ = {isa = PBXBuildFile; fileRef = 0C96A1C189C7E4B0CC62DDBB2C9A665A /* RCTActivityIndicatorViewManager.m */; settings = {COMPILER_FLAGS = "-DFOLLY_NO_CONFIG -DFOLLY_MOBILE=1 -DFOLLY_USE_LIBCPP=1 -Wno-comma -Wno-shorten-64-to-32 -Wno-documentation"; }; };
- C32A65D1545234799900ABE3343B18AF /* RNFirebaseMessaging.h in Headers */ = {isa = PBXBuildFile; fileRef = 2B03987EF13AA2A41DCF049097211DC0 /* RNFirebaseMessaging.h */; settings = {ATTRIBUTES = (Project, ); }; };
- C387AF6A6FCD4C3D2605DA9FB258ABA1 /* JsArgumentHelpers.h in Headers */ = {isa = PBXBuildFile; fileRef = 06A1CD052F5E2B699F2F1D04C1B0A8BB /* JsArgumentHelpers.h */; settings = {ATTRIBUTES = (Project, ); }; };
+ C2F54D87A5A3A9A7CEE981B9CC5474AD /* RCTActivityIndicatorViewManager.m in Sources */ = {isa = PBXBuildFile; fileRef = 41F39AE2DF135DCF25ADD523EBA32131 /* RCTActivityIndicatorViewManager.m */; settings = {COMPILER_FLAGS = "-DFOLLY_NO_CONFIG -DFOLLY_MOBILE=1 -DFOLLY_USE_LIBCPP=1 -Wno-comma -Wno-shorten-64-to-32 -Wno-documentation"; }; };
+ C387AF6A6FCD4C3D2605DA9FB258ABA1 /* JsArgumentHelpers.h in Headers */ = {isa = PBXBuildFile; fileRef = 02EB9D5D668A8D2B372A5EFB8F9DD93F /* JsArgumentHelpers.h */; settings = {ATTRIBUTES = (Project, ); }; };
C3AEEA83F261D9DFCD9F17A8D7B37534 /* String.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 47B03B6E3A221F90BEE3EE6BB7A36DAC /* String.cpp */; settings = {COMPILER_FLAGS = "-DFOLLY_NO_CONFIG -DFOLLY_MOBILE=1 -DFOLLY_USE_LIBCPP=1 -DFOLLY_HAVE_PTHREAD=1 -Wno-comma -Wno-shorten-64-to-32 -Wno-documentation"; }; };
- C3C324EF64C1415E4755F047119C137A /* RNGestureHandlerModule.m in Sources */ = {isa = PBXBuildFile; fileRef = DC8FA1E62A02D5D137E3B5E37903E3D5 /* RNGestureHandlerModule.m */; };
C40EB7CFC8729D308A3FC952DBEFDAC4 /* FIRConfiguration.m in Sources */ = {isa = PBXBuildFile; fileRef = 664F7CEF791DA66E39B8D29EC128A6E0 /* FIRConfiguration.m */; };
- C4430A583BCDEDCCD1E05039B673ADC3 /* RNGestureHandlerRegistry.h in Headers */ = {isa = PBXBuildFile; fileRef = 45B6271421A06666543D831F80DC75F7 /* RNGestureHandlerRegistry.h */; settings = {ATTRIBUTES = (Project, ); }; };
+ C417294DAD20BF143B5119D52FE2D852 /* UIView+FindUIViewController.h in Headers */ = {isa = PBXBuildFile; fileRef = 85D79E037E75BAFB3CB08C9ADF5BF2C1 /* UIView+FindUIViewController.h */; settings = {ATTRIBUTES = (Project, ); }; };
+ C44373986E26BF85A79D2A25E64636DD /* SDWebImageCacheKeyFilter.m in Sources */ = {isa = PBXBuildFile; fileRef = 0452016DEF4B30771753CA8A5253C5EE /* SDWebImageCacheKeyFilter.m */; };
C45B9CE58C772716966E57A69062A1DF /* filters_sse2.c in Sources */ = {isa = PBXBuildFile; fileRef = 4ECFF27824FCCBDDB1DAF6494A8E3018 /* filters_sse2.c */; settings = {COMPILER_FLAGS = "-D_THREAD_SAFE -fno-objc-arc"; }; };
+ C46EC4E2317F33FF845938CF6302B6E6 /* RNPushKitEventHandler.h in Headers */ = {isa = PBXBuildFile; fileRef = 244EF26DCD04B7AD4DB6DDDDDA3E02FD /* RNPushKitEventHandler.h */; settings = {ATTRIBUTES = (Project, ); }; };
C49EDC286FDF8D55B5A4387356698054 /* ColdClass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 28B4FCE7B0E15169C083DE952CF510D6 /* ColdClass.cpp */; settings = {COMPILER_FLAGS = "-DFOLLY_NO_CONFIG -DFOLLY_MOBILE=1 -DFOLLY_USE_LIBCPP=1 -DFOLLY_HAVE_PTHREAD=1 -Wno-comma -Wno-shorten-64-to-32 -Wno-documentation"; }; };
C4B8591049FA21E7FF731DF7A1B0EE1B /* logging.cc in Sources */ = {isa = PBXBuildFile; fileRef = 28443A9CC08DE4E270EEFAE12B2E18ED /* logging.cc */; settings = {COMPILER_FLAGS = "-Wno-shorten-64-to-32"; }; };
C4BFF5390AA1FF9DB4B0D8707540AA47 /* vp8li_enc.h in Headers */ = {isa = PBXBuildFile; fileRef = AC22DCC8D36D840EBF98EED570D3510D /* vp8li_enc.h */; settings = {ATTRIBUTES = (Project, ); }; };
- C4C28EF8A33B5D66709A94473097642C /* RCTAdditionAnimatedNode.m in Sources */ = {isa = PBXBuildFile; fileRef = F7DE061A6867C6978E41D9B2393C4AB5 /* RCTAdditionAnimatedNode.m */; };
- C4E63F587C9DCD364D4BBEE020900FD1 /* RNNotificationCenter.h in Headers */ = {isa = PBXBuildFile; fileRef = E7EF4A60EF4CA33BB42EED43DEF55DAB /* RNNotificationCenter.h */; settings = {ATTRIBUTES = (Project, ); }; };
+ C4C28EF8A33B5D66709A94473097642C /* RCTAdditionAnimatedNode.m in Sources */ = {isa = PBXBuildFile; fileRef = C428FB1BD5921528AEEE94E23C3D4337 /* RCTAdditionAnimatedNode.m */; };
+ C4E612FF173DE5C42AB20272BE8FAF00 /* AudioRecorderManager.h in Headers */ = {isa = PBXBuildFile; fileRef = B5DA8B257D764C6C872A3FF1AF20DBA8 /* AudioRecorderManager.h */; settings = {ATTRIBUTES = (Project, ); }; };
C500FB8AA7AB3E5D115E9589A148D829 /* lossless_enc_msa.c in Sources */ = {isa = PBXBuildFile; fileRef = D601E392E0EA29A666B158643E050F66 /* lossless_enc_msa.c */; settings = {COMPILER_FLAGS = "-D_THREAD_SAFE -fno-objc-arc"; }; };
- C531D45E39818272A2D49F679325175D /* RCTTextViewManager.h in Headers */ = {isa = PBXBuildFile; fileRef = 99381E0017D34E7AB16BD11B0D317FA9 /* RCTTextViewManager.h */; settings = {ATTRIBUTES = (Project, ); }; };
- C5761F1CAC95C5F279FAE684352BF629 /* RCTInputAccessoryShadowView.h in Headers */ = {isa = PBXBuildFile; fileRef = 56FD34F12E3C6AA5A7BFF3CC8D69C969 /* RCTInputAccessoryShadowView.h */; settings = {ATTRIBUTES = (Project, ); }; };
- C5A2A648ADC6D35FCE0453661914BF4F /* NativeExpressComponent.m in Sources */ = {isa = PBXBuildFile; fileRef = E97C92641B355EC42586C4A7728525B9 /* NativeExpressComponent.m */; };
- C5BD59862012D0F7EA3C83842C04D2D3 /* RCTInspectorDevServerHelper.h in Headers */ = {isa = PBXBuildFile; fileRef = 1F097909946F60227E3EBAE6F1D78669 /* RCTInspectorDevServerHelper.h */; settings = {ATTRIBUTES = (Project, ); }; };
- C5C586F7AFDF8D0C6C1B59BE0F91D786 /* RNCWKWebView.m in Sources */ = {isa = PBXBuildFile; fileRef = FAAA667C4F4212CD1EAC386843489736 /* RNCWKWebView.m */; };
- C5D588375455A3BE30A56C9667546AA8 /* RNVectorIconsManager.m in Sources */ = {isa = PBXBuildFile; fileRef = BAAE76E6B9F2B62B45EA595247DB2AD6 /* RNVectorIconsManager.m */; };
- C5DBD01B0CF5355F7439033B2B330A28 /* RCTWrapperViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 1EF83312FC6559F661E8864DE26743A4 /* RCTWrapperViewController.m */; settings = {COMPILER_FLAGS = "-DFOLLY_NO_CONFIG -DFOLLY_MOBILE=1 -DFOLLY_USE_LIBCPP=1 -Wno-comma -Wno-shorten-64-to-32 -Wno-documentation"; }; };
- C5F93920EB787C5970B127F0B3641D6E /* RCTAutoInsetsProtocol.h in Headers */ = {isa = PBXBuildFile; fileRef = 241D5812F0218E61E4A083C6CC815B21 /* RCTAutoInsetsProtocol.h */; settings = {ATTRIBUTES = (Project, ); }; };
+ C531D45E39818272A2D49F679325175D /* RCTTextViewManager.h in Headers */ = {isa = PBXBuildFile; fileRef = 24C0C32B133EF0038404B6A9009CB598 /* RCTTextViewManager.h */; settings = {ATTRIBUTES = (Project, ); }; };
+ C5761F1CAC95C5F279FAE684352BF629 /* RCTInputAccessoryShadowView.h in Headers */ = {isa = PBXBuildFile; fileRef = B199B135748321BCAA6A432420483B95 /* RCTInputAccessoryShadowView.h */; settings = {ATTRIBUTES = (Project, ); }; };
+ C5BD59862012D0F7EA3C83842C04D2D3 /* RCTInspectorDevServerHelper.h in Headers */ = {isa = PBXBuildFile; fileRef = 5FE59310AFCAEF3DF136B4FE2BB9613C /* RCTInspectorDevServerHelper.h */; settings = {ATTRIBUTES = (Project, ); }; };
+ C5DBD01B0CF5355F7439033B2B330A28 /* RCTWrapperViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = D6B265FFC41E020F474FF4D22AE2C100 /* RCTWrapperViewController.m */; settings = {COMPILER_FLAGS = "-DFOLLY_NO_CONFIG -DFOLLY_MOBILE=1 -DFOLLY_USE_LIBCPP=1 -Wno-comma -Wno-shorten-64-to-32 -Wno-documentation"; }; };
+ C5F93920EB787C5970B127F0B3641D6E /* RCTAutoInsetsProtocol.h in Headers */ = {isa = PBXBuildFile; fileRef = 6C7A36D68534DE7E3A9C827EF82F60E4 /* RCTAutoInsetsProtocol.h */; settings = {ATTRIBUTES = (Project, ); }; };
C66F02A9A969980F69AFC5623853E78C /* demux.c in Sources */ = {isa = PBXBuildFile; fileRef = 566AB7F69C06353CA00BFBAED95AC568 /* demux.c */; settings = {COMPILER_FLAGS = "-D_THREAD_SAFE -fno-objc-arc"; }; };
+ C688C450F76A82961C99A4ADD9997CE5 /* SDImageCacheConfig.h in Headers */ = {isa = PBXBuildFile; fileRef = B73F92C774CA25A04461F93736FB0699 /* SDImageCacheConfig.h */; settings = {ATTRIBUTES = (Project, ); }; };
C6B820384E4D780B742E4436010840A6 /* lossless_enc_mips_dsp_r2.c in Sources */ = {isa = PBXBuildFile; fileRef = C38F219CC71F16F3E389432D3883C13E /* lossless_enc_mips_dsp_r2.c */; settings = {COMPILER_FLAGS = "-D_THREAD_SAFE -fno-objc-arc"; }; };
+ C6C17C9CC8D4B744DBFB9AB7F22EB711 /* SDImageAssetManager.m in Sources */ = {isa = PBXBuildFile; fileRef = D10C2E2698F24359135FF0807450D0B8 /* SDImageAssetManager.m */; };
C6C8F1AE93A24FCB0D5BDF66854A9BDF /* logging.h in Headers */ = {isa = PBXBuildFile; fileRef = 38ABBEFD1D80A8165D18732F4ABE7285 /* logging.h */; settings = {ATTRIBUTES = (Project, ); }; };
- C6E09EFDDA09357E7061921AD9B2603B /* RCTTiming.m in Sources */ = {isa = PBXBuildFile; fileRef = 57E627DB789B82FB4976609C5A986ED1 /* RCTTiming.m */; settings = {COMPILER_FLAGS = "-DFOLLY_NO_CONFIG -DFOLLY_MOBILE=1 -DFOLLY_USE_LIBCPP=1 -Wno-comma -Wno-shorten-64-to-32 -Wno-documentation"; }; };
+ C6DFDD6186ABA98E15CC08C437395B8C /* RNDocumentPicker.m in Sources */ = {isa = PBXBuildFile; fileRef = 6A77D2C626B6F0C06434C7E72DC0438D /* RNDocumentPicker.m */; };
+ C6E09EFDDA09357E7061921AD9B2603B /* RCTTiming.m in Sources */ = {isa = PBXBuildFile; fileRef = 43A349FDAF25674428AAA964CF970348 /* RCTTiming.m */; settings = {COMPILER_FLAGS = "-DFOLLY_NO_CONFIG -DFOLLY_MOBILE=1 -DFOLLY_USE_LIBCPP=1 -Wno-comma -Wno-shorten-64-to-32 -Wno-documentation"; }; };
C6F32154918997BC7F56754265E1C434 /* Unicode.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F4769E682BBAD42859082B1AECB1F484 /* Unicode.cpp */; settings = {COMPILER_FLAGS = "-DFOLLY_NO_CONFIG -DFOLLY_MOBILE=1 -DFOLLY_USE_LIBCPP=1 -DFOLLY_HAVE_PTHREAD=1 -Wno-comma -Wno-shorten-64-to-32 -Wno-documentation"; }; };
- C74C9D861A6CD067815C3EB190669A6B /* EXAV.m in Sources */ = {isa = PBXBuildFile; fileRef = 3C671C116E9D9E6B65EB6ACDA364F88B /* EXAV.m */; };
- C794D0851E8B0D983AE793DF56C6AF67 /* BSG_KSCrashSentry_MachException.c in Sources */ = {isa = PBXBuildFile; fileRef = D2F1E996C139E9D21E8CD0D1BE9EAB73 /* BSG_KSCrashSentry_MachException.c */; };
+ C74C9D861A6CD067815C3EB190669A6B /* EXAV.m in Sources */ = {isa = PBXBuildFile; fileRef = E7A68D5FA7F5EC84179394D0BB5A7A2C /* EXAV.m */; };
+ C794D0851E8B0D983AE793DF56C6AF67 /* BSG_KSCrashSentry_MachException.c in Sources */ = {isa = PBXBuildFile; fileRef = 643ACC65D186CFF42BAF6BDB19F8FD04 /* BSG_KSCrashSentry_MachException.c */; };
C7A0E3BD3FA45D4B0F481C077E231DBC /* FIRConfiguration.h in Headers */ = {isa = PBXBuildFile; fileRef = 0FCBA7337BE187DED3B02D3C789BB5F0 /* FIRConfiguration.h */; settings = {ATTRIBUTES = (Project, ); }; };
- C7A37DF658A8C7A3B3F5F30FAAB53484 /* BSG_KSSysCtl.c in Sources */ = {isa = PBXBuildFile; fileRef = C6C481BE16DF5F34CA16702B9FFAF951 /* BSG_KSSysCtl.c */; };
- C7F22AC94EBA4B3CC96FF9B0801C1A19 /* RCTInterpolationAnimatedNode.m in Sources */ = {isa = PBXBuildFile; fileRef = CA76F1EA4F56FC599AC32AABF7B5133C /* RCTInterpolationAnimatedNode.m */; };
- C845D45DF7C9C18E9F8AFD70CB2A3B2F /* UMUIManager.h in Headers */ = {isa = PBXBuildFile; fileRef = EF499694B95145019F9E5B56590B18C3 /* UMUIManager.h */; settings = {ATTRIBUTES = (Project, ); }; };
- C8BC76DDC8042224F82FC3ECDD676BDF /* BugsnagCrashSentry.h in Headers */ = {isa = PBXBuildFile; fileRef = 5C568384584A58C7A2B09A3615408DF7 /* BugsnagCrashSentry.h */; settings = {ATTRIBUTES = (Project, ); }; };
- C92AC2AF7DFD077CED40A20F40EFA3E1 /* BSG_KSCrashC.h in Headers */ = {isa = PBXBuildFile; fileRef = 4806D92BE0136284529AE77B322B42F2 /* BSG_KSCrashC.h */; settings = {ATTRIBUTES = (Project, ); }; };
- C92B29CA1CD74ADE57EC5A8E790CE76A /* RCTNativeModule.h in Headers */ = {isa = PBXBuildFile; fileRef = 55F490B20D4CD95FA73447B1BE46449E /* RCTNativeModule.h */; settings = {ATTRIBUTES = (Project, ); }; };
- C945F0F6A6B531EE2235309FFFB3377C /* RCTUITextField.m in Sources */ = {isa = PBXBuildFile; fileRef = 1C6B0D6FCB1E90EA38CFD7DB7D14F742 /* RCTUITextField.m */; };
- C967FD26FE20D22557BF95585DF28333 /* BSG_KSMach.h in Headers */ = {isa = PBXBuildFile; fileRef = 779142D8913E61F620A79519EF799C81 /* BSG_KSMach.h */; settings = {ATTRIBUTES = (Project, ); }; };
- C98F15D75442B5DED73526D45C2D86B7 /* RNFlingHandler.m in Sources */ = {isa = PBXBuildFile; fileRef = 6C378647819EC71AE4AF3FB48AF6F2C4 /* RNFlingHandler.m */; };
+ C7A37DF658A8C7A3B3F5F30FAAB53484 /* BSG_KSSysCtl.c in Sources */ = {isa = PBXBuildFile; fileRef = BC5E3CC5A50CC00F44D8F7184CF7CFC8 /* BSG_KSSysCtl.c */; };
+ C7F22AC94EBA4B3CC96FF9B0801C1A19 /* RCTInterpolationAnimatedNode.m in Sources */ = {isa = PBXBuildFile; fileRef = 5AE4E4157527C1E5C553A3EE7A85A35C /* RCTInterpolationAnimatedNode.m */; };
+ C845D45DF7C9C18E9F8AFD70CB2A3B2F /* UMUIManager.h in Headers */ = {isa = PBXBuildFile; fileRef = EDA3BC31C2158F267930FC821E9092A3 /* UMUIManager.h */; settings = {ATTRIBUTES = (Project, ); }; };
+ C8A844EB928FED6E248B2ED623682602 /* RNFirebaseUtil.m in Sources */ = {isa = PBXBuildFile; fileRef = 7677F98EDC268D0FE2880A23AD62CB25 /* RNFirebaseUtil.m */; };
+ C8BC76DDC8042224F82FC3ECDD676BDF /* BugsnagCrashSentry.h in Headers */ = {isa = PBXBuildFile; fileRef = 520E4CD12BB94B30A3D924D009C19911 /* BugsnagCrashSentry.h */; settings = {ATTRIBUTES = (Project, ); }; };
+ C92AC2AF7DFD077CED40A20F40EFA3E1 /* BSG_KSCrashC.h in Headers */ = {isa = PBXBuildFile; fileRef = C00AC3F76A195AAEB4F5EEB837DDA79E /* BSG_KSCrashC.h */; settings = {ATTRIBUTES = (Project, ); }; };
+ C92B29CA1CD74ADE57EC5A8E790CE76A /* RCTNativeModule.h in Headers */ = {isa = PBXBuildFile; fileRef = EBEC9C2D84C80B8E7645F824E726FE6F /* RCTNativeModule.h */; settings = {ATTRIBUTES = (Project, ); }; };
+ C945F0F6A6B531EE2235309FFFB3377C /* RCTUITextField.m in Sources */ = {isa = PBXBuildFile; fileRef = D7B4BF4F21985DB09E3A0EDF49E6A23B /* RCTUITextField.m */; };
+ C967FD26FE20D22557BF95585DF28333 /* BSG_KSMach.h in Headers */ = {isa = PBXBuildFile; fileRef = FC458DDBE18DD95C3D34FAA723DAAFCE /* BSG_KSMach.h */; settings = {ATTRIBUTES = (Project, ); }; };
+ C9D98B55131CF168FFA253B4443A5DA5 /* NSButton+WebCache.h in Headers */ = {isa = PBXBuildFile; fileRef = 0AC14772DD93D15E4C9D3AF8E7D8C01E /* NSButton+WebCache.h */; settings = {ATTRIBUTES = (Project, ); }; };
C9F6FA78C31CA00B5CB0BBB00645A435 /* filters_msa.c in Sources */ = {isa = PBXBuildFile; fileRef = B2321F84EA7243B12F50C56BA825D063 /* filters_msa.c */; settings = {COMPILER_FLAGS = "-D_THREAD_SAFE -fno-objc-arc"; }; };
- CA6ECB5300BDB84EC0C055E24305E627 /* RCTBorderDrawing.h in Headers */ = {isa = PBXBuildFile; fileRef = 441C514813E2133AC73178BCAF8FC60D /* RCTBorderDrawing.h */; settings = {ATTRIBUTES = (Project, ); }; };
- CA7255BD9B46F458E9404C01ED609A94 /* RNUserDefaults-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 19E401F98044983E7B584CD6CDF35F7F /* RNUserDefaults-dummy.m */; };
+ CA5E768F9B600A5AE4D2478E9F43C676 /* RNFetchBlobFS.h in Headers */ = {isa = PBXBuildFile; fileRef = 7F53B6F7A28E01A5A3A2846838B19FD9 /* RNFetchBlobFS.h */; settings = {ATTRIBUTES = (Project, ); }; };
+ CA6ECB5300BDB84EC0C055E24305E627 /* RCTBorderDrawing.h in Headers */ = {isa = PBXBuildFile; fileRef = 5A202E8894AABF81E207CCD191561C62 /* RCTBorderDrawing.h */; settings = {ATTRIBUTES = (Project, ); }; };
CA9EF0BEB6DED07C10AC4FCB9AB9A6E4 /* Folly-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 0732BB40F45A0106BBCFE5D2395034B6 /* Folly-dummy.m */; };
- CAF582C035A94200BF17F5D7D428C2E3 /* SDWebImage-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 4E21FBA326656BCDA854C65100791457 /* SDWebImage-dummy.m */; };
- CAF60A98E065190EB41484BB2C832E34 /* RCTStatusBarManager.h in Headers */ = {isa = PBXBuildFile; fileRef = 812C9E2D8E929DDCA1C75562FA2D5A67 /* RCTStatusBarManager.h */; settings = {ATTRIBUTES = (Project, ); }; };
- CB481A88320B30E7C8C0B9711044CEF9 /* SDImageGraphics.h in Headers */ = {isa = PBXBuildFile; fileRef = E5D0EA01501DF2002E2BC00E518D57FC /* SDImageGraphics.h */; settings = {ATTRIBUTES = (Project, ); }; };
- CB4FFDA238CD43B889309B0DAFE7FB86 /* RCTNullability.h in Headers */ = {isa = PBXBuildFile; fileRef = 022C82D92204ACE3C421413C77E5911F /* RCTNullability.h */; settings = {ATTRIBUTES = (Project, ); }; };
- CB96C6E21E6E8E442F36E982EC973F81 /* YGEnums.cpp in Sources */ = {isa = PBXBuildFile; fileRef = D0F152C0A2BA50A74468D2BC538CED39 /* YGEnums.cpp */; settings = {COMPILER_FLAGS = "-fno-omit-frame-pointer -fexceptions -Wall -Werror -std=c++1y -fPIC -fno-objc-arc"; }; };
+ CAE70AFE214A36D7BA86E664F2860FA9 /* RNUserDefaults.m in Sources */ = {isa = PBXBuildFile; fileRef = 31D08B48728FFECC4CC163A9D1B037D6 /* RNUserDefaults.m */; };
+ CAF1051B981145E083D8F2173CE6E113 /* CGGeometry+RSKImageCropper.h in Headers */ = {isa = PBXBuildFile; fileRef = 45C008E4BE5488278FE31813E3855959 /* CGGeometry+RSKImageCropper.h */; settings = {ATTRIBUTES = (Project, ); }; };
+ CAF60A98E065190EB41484BB2C832E34 /* RCTStatusBarManager.h in Headers */ = {isa = PBXBuildFile; fileRef = E240C22187388EBD61051EC05858A098 /* RCTStatusBarManager.h */; settings = {ATTRIBUTES = (Project, ); }; };
+ CB4FFDA238CD43B889309B0DAFE7FB86 /* RCTNullability.h in Headers */ = {isa = PBXBuildFile; fileRef = B20DE5628BC2FC1F2DBF5B6427AB6983 /* RCTNullability.h */; settings = {ATTRIBUTES = (Project, ); }; };
+ CB5379884BE8A30BEA844A4FF8C2D2E9 /* SDImageFrame.m in Sources */ = {isa = PBXBuildFile; fileRef = 8D02F0B2B40523B6248E68DD0F836D3C /* SDImageFrame.m */; };
+ CB96C6E21E6E8E442F36E982EC973F81 /* YGEnums.cpp in Sources */ = {isa = PBXBuildFile; fileRef = D8F29E458EA1FD733948F5C61913260F /* YGEnums.cpp */; settings = {COMPILER_FLAGS = "-fno-omit-frame-pointer -fexceptions -Wall -Werror -std=c++1y -fPIC -fno-objc-arc"; }; };
CB9B4086D0929208AA2BEC070F8FB687 /* cost_enc.h in Headers */ = {isa = PBXBuildFile; fileRef = 99E238B15987BCCC8E3D7BEC04120E71 /* cost_enc.h */; settings = {ATTRIBUTES = (Project, ); }; };
- CBB2DE25841E36F0C9FA55881DE5D2C5 /* RCTAnimationUtils.m in Sources */ = {isa = PBXBuildFile; fileRef = B5407CBD848F00EB348D4A647A373D28 /* RCTAnimationUtils.m */; };
- CBC0F3A4FEDA924715C5AC64456282A7 /* RCTBridge.m in Sources */ = {isa = PBXBuildFile; fileRef = 70085D347C22F9B206872E7B7C954F0A /* RCTBridge.m */; settings = {COMPILER_FLAGS = "-DFOLLY_NO_CONFIG -DFOLLY_MOBILE=1 -DFOLLY_USE_LIBCPP=1 -Wno-comma -Wno-shorten-64-to-32 -Wno-documentation"; }; };
- CC0890E3426E70C3BCDC0204E7B13DE6 /* RCTBaseTextInputShadowView.m in Sources */ = {isa = PBXBuildFile; fileRef = 6F052D0D8D6590C7AF40664195AC710B /* RCTBaseTextInputShadowView.m */; };
+ CBB2DE25841E36F0C9FA55881DE5D2C5 /* RCTAnimationUtils.m in Sources */ = {isa = PBXBuildFile; fileRef = 9694104F41E5B44106F37FABB317CB37 /* RCTAnimationUtils.m */; };
+ CBC0F3A4FEDA924715C5AC64456282A7 /* RCTBridge.m in Sources */ = {isa = PBXBuildFile; fileRef = 09A44295EFC00C4276D059BBAD4CBCAD /* RCTBridge.m */; settings = {COMPILER_FLAGS = "-DFOLLY_NO_CONFIG -DFOLLY_MOBILE=1 -DFOLLY_USE_LIBCPP=1 -Wno-comma -Wno-shorten-64-to-32 -Wno-documentation"; }; };
+ CC0890E3426E70C3BCDC0204E7B13DE6 /* RCTBaseTextInputShadowView.m in Sources */ = {isa = PBXBuildFile; fileRef = F24A2019705DC89BDB06BC0B771BEA4E /* RCTBaseTextInputShadowView.m */; };
CC136DC5A3C7ED75BD7DFEB71259EFB4 /* utils.h in Headers */ = {isa = PBXBuildFile; fileRef = F3C27E25275D80E37DC73E298759FAC0 /* utils.h */; settings = {ATTRIBUTES = (Project, ); }; };
- CC2951479ECB3E208779F6F65C3044B4 /* EXAVPlayerData.m in Sources */ = {isa = PBXBuildFile; fileRef = EB1A85B6F2710A1BC90D123057C01F18 /* EXAVPlayerData.m */; };
- CC8184958DF62DEDB82A18CCCFE32557 /* RCTTextRenderer.h in Headers */ = {isa = PBXBuildFile; fileRef = FA9B148EA20E349BD7AD37E138749626 /* RCTTextRenderer.h */; settings = {ATTRIBUTES = (Project, ); }; };
- CCD1766F313CBCF2B7A1E1FAE5ABB6F2 /* RNCUIWebView.m in Sources */ = {isa = PBXBuildFile; fileRef = 75AFEFA1193E0A7202401B0F06D101A9 /* RNCUIWebView.m */; };
- CD21D2EBE2E434B77017135039BD3AD9 /* RCTFrameUpdate.h in Headers */ = {isa = PBXBuildFile; fileRef = D0E599F7922E863622CFF17B5F8FFF8E /* RCTFrameUpdate.h */; settings = {ATTRIBUTES = (Project, ); }; };
- CD36A5AAB550D3BC1D6A3D332173F9D3 /* RCTLinkingManager.m in Sources */ = {isa = PBXBuildFile; fileRef = FE6F5F5BA31571B88946B164CB8022CB /* RCTLinkingManager.m */; };
- CD6152400D958AD525D4A40BE6762532 /* BugsnagKeys.h in Headers */ = {isa = PBXBuildFile; fileRef = 7662A060BC6E62F965F435DC604844C0 /* BugsnagKeys.h */; settings = {ATTRIBUTES = (Project, ); }; };
+ CC2951479ECB3E208779F6F65C3044B4 /* EXAVPlayerData.m in Sources */ = {isa = PBXBuildFile; fileRef = 2AD4CAC17613CBEDE06EB33B10C7E3F0 /* EXAVPlayerData.m */; };
+ CC8184958DF62DEDB82A18CCCFE32557 /* RCTTextRenderer.h in Headers */ = {isa = PBXBuildFile; fileRef = 3CB552BBB5AFF578D90A2D61A525D6F4 /* RCTTextRenderer.h */; settings = {ATTRIBUTES = (Project, ); }; };
+ CD21D2EBE2E434B77017135039BD3AD9 /* RCTFrameUpdate.h in Headers */ = {isa = PBXBuildFile; fileRef = 7EB6B5A87A498E609552DA8D1ABDB0FE /* RCTFrameUpdate.h */; settings = {ATTRIBUTES = (Project, ); }; };
+ CD36A5AAB550D3BC1D6A3D332173F9D3 /* RCTLinkingManager.m in Sources */ = {isa = PBXBuildFile; fileRef = 6D5E1821DAD745C222E1E3B6B620EC54 /* RCTLinkingManager.m */; };
+ CD6152400D958AD525D4A40BE6762532 /* BugsnagKeys.h in Headers */ = {isa = PBXBuildFile; fileRef = 60AADDB022A807C1AE821D4AB37A87A5 /* BugsnagKeys.h */; settings = {ATTRIBUTES = (Project, ); }; };
CD615CD72DECC08D3F0223C7E23B3093 /* FIRComponentContainer.m in Sources */ = {isa = PBXBuildFile; fileRef = B103158B95A75AD67496FE7DA0BB9C89 /* FIRComponentContainer.m */; };
- CD782E45A58121221D732355CE625258 /* event.h in Headers */ = {isa = PBXBuildFile; fileRef = 7E12C6F8122B4A4B83EF420DA0D4E835 /* event.h */; settings = {ATTRIBUTES = (Project, ); }; };
+ CD6867D42390738A006B2A251E9D3DB3 /* SDImageCoderHelper.m in Sources */ = {isa = PBXBuildFile; fileRef = 4F33079FC5A0030BC12CB9FE4EC945F5 /* SDImageCoderHelper.m */; };
+ CD753C0012BE9107249D122DBCEE57E4 /* RSKImageCropper-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = FCCE821A143279FA2BD2B79E6C06D801 /* RSKImageCropper-dummy.m */; };
+ CD782E45A58121221D732355CE625258 /* event.h in Headers */ = {isa = PBXBuildFile; fileRef = 447082B73897CDADEB9EFA48158BFEAE /* event.h */; settings = {ATTRIBUTES = (Project, ); }; };
CD79008D1F8A28F701291D1C15A00AAD /* FIRInstanceIDStore.m in Sources */ = {isa = PBXBuildFile; fileRef = 5C4CC5C2B22ED14AD4DCD7309F0DFB04 /* FIRInstanceIDStore.m */; };
- CDB2B855213AB0F6C52C8F01082A253B /* RCTShadowView.h in Headers */ = {isa = PBXBuildFile; fileRef = AE9426334F1163F4534839541860AE35 /* RCTShadowView.h */; settings = {ATTRIBUTES = (Project, ); }; };
+ CDA76E495135AC70BE20ABEEB8B9CF31 /* SDMemoryCache.m in Sources */ = {isa = PBXBuildFile; fileRef = F7423E26A13D34C7C1DE1BEE042E42A5 /* SDMemoryCache.m */; };
+ CDB2B855213AB0F6C52C8F01082A253B /* RCTShadowView.h in Headers */ = {isa = PBXBuildFile; fileRef = 532FC48348E00E4595A4FE8D654CE488 /* RCTShadowView.h */; settings = {ATTRIBUTES = (Project, ); }; };
+ CE1817384B388083A7047FBEE6EDA65D /* RNNotificationEventHandler.h in Headers */ = {isa = PBXBuildFile; fileRef = 9B39A1CDC2C9A6815D4872AD63DD2B58 /* RNNotificationEventHandler.h */; settings = {ATTRIBUTES = (Project, ); }; };
CE1AC1D3FB716EE5B282B086AA1EDE20 /* quant_levels_dec_utils.c in Sources */ = {isa = PBXBuildFile; fileRef = ED1DFE32B70414877291DC0B9C00935F /* quant_levels_dec_utils.c */; settings = {COMPILER_FLAGS = "-D_THREAD_SAFE -fno-objc-arc"; }; };
- CE399A301E038CE8427A92FD187093C7 /* EXReactNativeUserNotificationCenterProxy.m in Sources */ = {isa = PBXBuildFile; fileRef = A275F604252C93C3CCE1ABA0566DB914 /* EXReactNativeUserNotificationCenterProxy.m */; };
- CE50E88470B6B1058EC2693F3B084CAC /* RCTTouchHandler.h in Headers */ = {isa = PBXBuildFile; fileRef = 36128569950CFF373CDF1944D0E7F8E0 /* RCTTouchHandler.h */; settings = {ATTRIBUTES = (Project, ); }; };
+ CE399A301E038CE8427A92FD187093C7 /* EXReactNativeUserNotificationCenterProxy.m in Sources */ = {isa = PBXBuildFile; fileRef = A673C8D78F2333D556302ED98D2CBED1 /* EXReactNativeUserNotificationCenterProxy.m */; };
+ CE50E88470B6B1058EC2693F3B084CAC /* RCTTouchHandler.h in Headers */ = {isa = PBXBuildFile; fileRef = 86D0D8583D8699C94659307FE0F61AA8 /* RCTTouchHandler.h */; settings = {ATTRIBUTES = (Project, ); }; };
CE72EF385B8B27FF89B34D0E2D52513D /* cost_mips_dsp_r2.c in Sources */ = {isa = PBXBuildFile; fileRef = 0CB89A12A4F0DFD400B1305B99074141 /* cost_mips_dsp_r2.c */; settings = {COMPILER_FLAGS = "-D_THREAD_SAFE -fno-objc-arc"; }; };
- CE73FF87B3497B9C2E47CA1E1DFFD327 /* RCTTransformAnimatedNode.m in Sources */ = {isa = PBXBuildFile; fileRef = FA0894C55DD35A47675BB5938CD0DE7B /* RCTTransformAnimatedNode.m */; };
- CE913D748362900B35DE607B98050512 /* RCTSinglelineTextInputView.h in Headers */ = {isa = PBXBuildFile; fileRef = B916A97432A0853666097209C79A8ED1 /* RCTSinglelineTextInputView.h */; settings = {ATTRIBUTES = (Project, ); }; };
- CE914509B01236ABB20E6682E2829DB7 /* EXAppLoaderProvider.m in Sources */ = {isa = PBXBuildFile; fileRef = CC3F5F80F61168B6F4691D5FD4C2A456 /* EXAppLoaderProvider.m */; };
- CEBDEBC4B912927C4A9DA06EC8B512A3 /* RCTSurfaceView.h in Headers */ = {isa = PBXBuildFile; fileRef = 8E45BBB2ECB73A97B5F6DDFD106CB1DA /* RCTSurfaceView.h */; settings = {ATTRIBUTES = (Project, ); }; };
- CEC6CEBF2E3712D24A316565E38E8CE7 /* SDImageCacheDefine.h in Headers */ = {isa = PBXBuildFile; fileRef = 9D9C521105A559BABCEDD5E16902A159 /* SDImageCacheDefine.h */; settings = {ATTRIBUTES = (Project, ); }; };
- CF0286A6E0CC7679CF99B308E04E4ADE /* BugsnagSessionTrackingApiClient.h in Headers */ = {isa = PBXBuildFile; fileRef = 77045743CCB5635360E783F8797A1A9A /* BugsnagSessionTrackingApiClient.h */; settings = {ATTRIBUTES = (Project, ); }; };
- CF0E67DAC4A754BBF45976C68070CCDA /* BugsnagSession.h in Headers */ = {isa = PBXBuildFile; fileRef = 1D0F6E99ACB122FCF658D5E8DDE3C80B /* BugsnagSession.h */; settings = {ATTRIBUTES = (Project, ); }; };
- CF1AB10E419D45F4EF401BC0323BFDE6 /* React-RCTNetwork-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 1B19D4BC0D8C996C74A3E15B955DF777 /* React-RCTNetwork-dummy.m */; };
- CF22169FE8CBE7EE1A2359B9590EEF1C /* SDImageCoderHelper.m in Sources */ = {isa = PBXBuildFile; fileRef = 4F33079FC5A0030BC12CB9FE4EC945F5 /* SDImageCoderHelper.m */; };
- CF334FE99DDE0D3CE826DB3567B6370D /* RNPushKit.h in Headers */ = {isa = PBXBuildFile; fileRef = 042188B2C8084F2FDB081C7D32CA9F4E /* RNPushKit.h */; settings = {ATTRIBUTES = (Project, ); }; };
+ CE73FF87B3497B9C2E47CA1E1DFFD327 /* RCTTransformAnimatedNode.m in Sources */ = {isa = PBXBuildFile; fileRef = C5A617A5FBE96FF15BF9C89FE95FC04B /* RCTTransformAnimatedNode.m */; };
+ CE913D748362900B35DE607B98050512 /* RCTSinglelineTextInputView.h in Headers */ = {isa = PBXBuildFile; fileRef = 0B77610CA48ACFE259BBB22A1BC8C9D0 /* RCTSinglelineTextInputView.h */; settings = {ATTRIBUTES = (Project, ); }; };
+ CE914509B01236ABB20E6682E2829DB7 /* EXAppLoaderProvider.m in Sources */ = {isa = PBXBuildFile; fileRef = 336E253D8A72562490DCE98CF3786E1F /* EXAppLoaderProvider.m */; };
+ CEBDEBC4B912927C4A9DA06EC8B512A3 /* RCTSurfaceView.h in Headers */ = {isa = PBXBuildFile; fileRef = 9D3DEF2A7BB2549802F3A6D6125A8DB1 /* RCTSurfaceView.h */; settings = {ATTRIBUTES = (Project, ); }; };
+ CEE3AEFCDDA67E1BAE7A94806BD62096 /* RNGestureHandlerDirection.h in Headers */ = {isa = PBXBuildFile; fileRef = 12D55F3902ACF517971541292DAEE91B /* RNGestureHandlerDirection.h */; settings = {ATTRIBUTES = (Project, ); }; };
+ CEFE6879B2EE4FFE0419E0D86E94E5D2 /* UIImage+ForceDecode.h in Headers */ = {isa = PBXBuildFile; fileRef = 88E37F7699F8BAA34B951D58C22BA04C /* UIImage+ForceDecode.h */; settings = {ATTRIBUTES = (Project, ); }; };
+ CF0286A6E0CC7679CF99B308E04E4ADE /* BugsnagSessionTrackingApiClient.h in Headers */ = {isa = PBXBuildFile; fileRef = 3D194C46240E13A3FF8F23AD8D92F8FD /* BugsnagSessionTrackingApiClient.h */; settings = {ATTRIBUTES = (Project, ); }; };
+ CF0E67DAC4A754BBF45976C68070CCDA /* BugsnagSession.h in Headers */ = {isa = PBXBuildFile; fileRef = C568CB3075E5DA211F0C1FE68FC5BBD7 /* BugsnagSession.h */; settings = {ATTRIBUTES = (Project, ); }; };
+ CF1AB10E419D45F4EF401BC0323BFDE6 /* React-RCTNetwork-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 09FF101CA342F5A9A706397F552FE54E /* React-RCTNetwork-dummy.m */; };
+ CF6BA7CD9CBD5B30319EDE4577BC6B98 /* RNCUIWebView.h in Headers */ = {isa = PBXBuildFile; fileRef = 72C9B62CF7A2BF1E4C7D22996C1F0240 /* RNCUIWebView.h */; settings = {ATTRIBUTES = (Project, ); }; };
CF87AB953CDE4EE55C8901F12A14A823 /* double-conversion.h in Headers */ = {isa = PBXBuildFile; fileRef = AC85215185BAE9AE5436774E910AD494 /* double-conversion.h */; settings = {ATTRIBUTES = (Project, ); }; };
- CF93E498CC6BAC3062EC7B41276187CA /* BSG_KSSignalInfo.c in Sources */ = {isa = PBXBuildFile; fileRef = 2B768E6D12D4385AA66A1CF54F947A60 /* BSG_KSSignalInfo.c */; };
+ CF93E498CC6BAC3062EC7B41276187CA /* BSG_KSSignalInfo.c in Sources */ = {isa = PBXBuildFile; fileRef = 62E9BACC87E664E17CC5F181B8648040 /* BSG_KSSignalInfo.c */; };
CFAB74EAFB7B0A0A423B9306F3ACFFA4 /* quant_enc.c in Sources */ = {isa = PBXBuildFile; fileRef = 9689A6D0ED094D51953359A159833AD4 /* quant_enc.c */; settings = {COMPILER_FLAGS = "-D_THREAD_SAFE -fno-objc-arc"; }; };
- CFB9311E84CC6A096CC29003EAE22AD1 /* RCTSurfaceHostingProxyRootView.h in Headers */ = {isa = PBXBuildFile; fileRef = C920AC36262ACDF6EC53097590929193 /* RCTSurfaceHostingProxyRootView.h */; settings = {ATTRIBUTES = (Project, ); }; };
- CFD7C0396C371E73CEE9F3B17475E682 /* QBVideoIconView.h in Headers */ = {isa = PBXBuildFile; fileRef = AB7BDB4BE95825E690479D7450968ED6 /* QBVideoIconView.h */; settings = {ATTRIBUTES = (Project, ); }; };
- CFD910201AB5869DA5E6398459A8A9BF /* RCTConvert+UIBackgroundFetchResult.h in Headers */ = {isa = PBXBuildFile; fileRef = B62B9496C725C8FAED7AACC9DD5E301B /* RCTConvert+UIBackgroundFetchResult.h */; settings = {ATTRIBUTES = (Project, ); }; };
- D00EB4E43AB41B1F14A070EC3B1C7879 /* RNGestureHandlerEvents.h in Headers */ = {isa = PBXBuildFile; fileRef = 17903CD8C23FBF64C5A0CDAE3F0F1CD0 /* RNGestureHandlerEvents.h */; settings = {ATTRIBUTES = (Project, ); }; };
- D091314C895803A20A011435E81E47E0 /* RCTInvalidating.h in Headers */ = {isa = PBXBuildFile; fileRef = B33E223570C250BE1F61F4D0EAC19ABE /* RCTInvalidating.h */; settings = {ATTRIBUTES = (Project, ); }; };
- D0F559FE8358B471A3EC70D8D1DCC9E5 /* RSKTouchView.h in Headers */ = {isa = PBXBuildFile; fileRef = 693F122720C0DBF8806984988B7818A0 /* RSKTouchView.h */; settings = {ATTRIBUTES = (Project, ); }; };
- D1153FB0A64CC31DEF915AF660B3024E /* RNNotificationParser.h in Headers */ = {isa = PBXBuildFile; fileRef = BD0E3ECB2523BF0D4F5F649EB037F7CD /* RNNotificationParser.h */; settings = {ATTRIBUTES = (Project, ); }; };
- D11E5A5496FE74D9594569330FA8230F /* RNSplashScreen.h in Headers */ = {isa = PBXBuildFile; fileRef = 8D61349E4F9B569B47BB6CEC98A6ABD9 /* RNSplashScreen.h */; settings = {ATTRIBUTES = (Project, ); }; };
+ CFB9311E84CC6A096CC29003EAE22AD1 /* RCTSurfaceHostingProxyRootView.h in Headers */ = {isa = PBXBuildFile; fileRef = 9AA9599A2DB491B0681E3E4DC89A787D /* RCTSurfaceHostingProxyRootView.h */; settings = {ATTRIBUTES = (Project, ); }; };
+ CFEACD126DBE2920027B1B469581D26A /* RNFirebaseAdMobRewardedVideo.m in Sources */ = {isa = PBXBuildFile; fileRef = 3FAD9B679122AD74044756B3A5065EC3 /* RNFirebaseAdMobRewardedVideo.m */; };
+ D0637F90581C29754D5F24CC13891550 /* SDImageCache.m in Sources */ = {isa = PBXBuildFile; fileRef = 8BC685BFA32CFDC9B7B5C527F455B262 /* SDImageCache.m */; };
+ D091314C895803A20A011435E81E47E0 /* RCTInvalidating.h in Headers */ = {isa = PBXBuildFile; fileRef = 4520A236E907CFC6DA14890C893D2C35 /* RCTInvalidating.h */; settings = {ATTRIBUTES = (Project, ); }; };
D12F6FDBE47E1E7BFC5B3DACC4027A58 /* ssim.c in Sources */ = {isa = PBXBuildFile; fileRef = 601077786F2BF31AB6F54D1309CC77E5 /* ssim.c */; settings = {COMPILER_FLAGS = "-D_THREAD_SAFE -fno-objc-arc"; }; };
- D142019EED067C76999F908BCD6AF75D /* RCTShadowView+Internal.h in Headers */ = {isa = PBXBuildFile; fileRef = 82075416367B3437DA28362A373EEB6C /* RCTShadowView+Internal.h */; settings = {ATTRIBUTES = (Project, ); }; };
- D1669BDF66375C044C01BB2479A31DA7 /* instrumentation.h in Headers */ = {isa = PBXBuildFile; fileRef = C59D2E928B6A04B055563281CB438BA9 /* instrumentation.h */; settings = {ATTRIBUTES = (Project, ); }; };
+ D142019EED067C76999F908BCD6AF75D /* RCTShadowView+Internal.h in Headers */ = {isa = PBXBuildFile; fileRef = 95101F448203C18F966CBA1A30F4EC57 /* RCTShadowView+Internal.h */; settings = {ATTRIBUTES = (Project, ); }; };
+ D1669BDF66375C044C01BB2479A31DA7 /* instrumentation.h in Headers */ = {isa = PBXBuildFile; fileRef = FFC446EE6F7601E650FA6C8530ECF68A /* instrumentation.h */; settings = {ATTRIBUTES = (Project, ); }; };
+ D17339C2D924DB605CDE2718C0A5FABF /* SDImageCacheDefine.m in Sources */ = {isa = PBXBuildFile; fileRef = 8D9A7E958757D6AC4BF086FF9199B675 /* SDImageCacheDefine.m */; };
D1F4F693CF545CCC290595DF6EE686D6 /* yuv.h in Headers */ = {isa = PBXBuildFile; fileRef = 3894C6E1AF8B8B6D103055B580C48DC6 /* yuv.h */; settings = {ATTRIBUTES = (Project, ); }; };
- D213E26583E236A858E085926F5BADF0 /* BSG_KSCrashReportStore.m in Sources */ = {isa = PBXBuildFile; fileRef = DC158FB3872701125416D539311185F8 /* BSG_KSCrashReportStore.m */; };
- D2622E9D7C8325B33D78A31FFB31C956 /* NSButton+WebCache.m in Sources */ = {isa = PBXBuildFile; fileRef = 81493DC56FA384DF42BD56FF1A3821AB /* NSButton+WebCache.m */; };
- D2662D3994A1DB7901CC5D50764CFE56 /* RCTLayoutAnimationGroup.m in Sources */ = {isa = PBXBuildFile; fileRef = 7FB1B9E190AA0C935AB498883CFD71B3 /* RCTLayoutAnimationGroup.m */; settings = {COMPILER_FLAGS = "-DFOLLY_NO_CONFIG -DFOLLY_MOBILE=1 -DFOLLY_USE_LIBCPP=1 -Wno-comma -Wno-shorten-64-to-32 -Wno-documentation"; }; };
- D2C583A0912E811ED541410D5386FB90 /* RCTInspectorPackagerConnection.h in Headers */ = {isa = PBXBuildFile; fileRef = E1D2C64269963AB9EB3A96934C1E465D /* RCTInspectorPackagerConnection.h */; settings = {ATTRIBUTES = (Project, ); }; };
- D333036EDB42342D3012D0E4CD9E954E /* RCTImageEditingManager.h in Headers */ = {isa = PBXBuildFile; fileRef = F8D6C8D3759C981B1F39D924E34E0130 /* RCTImageEditingManager.h */; settings = {ATTRIBUTES = (Project, ); }; };
+ D213E26583E236A858E085926F5BADF0 /* BSG_KSCrashReportStore.m in Sources */ = {isa = PBXBuildFile; fileRef = 84900009D0488ACEB31CA421AA4C25D9 /* BSG_KSCrashReportStore.m */; };
+ D2662D3994A1DB7901CC5D50764CFE56 /* RCTLayoutAnimationGroup.m in Sources */ = {isa = PBXBuildFile; fileRef = 4FDE717A673BB6721F55C83860D0F5DC /* RCTLayoutAnimationGroup.m */; settings = {COMPILER_FLAGS = "-DFOLLY_NO_CONFIG -DFOLLY_MOBILE=1 -DFOLLY_USE_LIBCPP=1 -Wno-comma -Wno-shorten-64-to-32 -Wno-documentation"; }; };
+ D2A6D3E8112952CFB9E92785A6C4E085 /* RNNotificationsStore.m in Sources */ = {isa = PBXBuildFile; fileRef = F5353A5A5FCB9788B34005DEE4D1653E /* RNNotificationsStore.m */; };
+ D2C583A0912E811ED541410D5386FB90 /* RCTInspectorPackagerConnection.h in Headers */ = {isa = PBXBuildFile; fileRef = D06FB7E3EFAE2BD32C0B2A9A4321465F /* RCTInspectorPackagerConnection.h */; settings = {ATTRIBUTES = (Project, ); }; };
+ D333036EDB42342D3012D0E4CD9E954E /* RCTImageEditingManager.h in Headers */ = {isa = PBXBuildFile; fileRef = E0F2BDEC6B0787F9F05B590A050679D2 /* RCTImageEditingManager.h */; settings = {ATTRIBUTES = (Project, ); }; };
D33501836C3F05FF67D8F8EE3734CA2B /* FIRErrors.h in Headers */ = {isa = PBXBuildFile; fileRef = C99033B726C7AFA0F3B62B3E2E0A94A8 /* FIRErrors.h */; settings = {ATTRIBUTES = (Project, ); }; };
- D3579929A1DC19324E0B37A54A563502 /* RCTSwitch.h in Headers */ = {isa = PBXBuildFile; fileRef = C1F11226FF08E925F731CD161E086A47 /* RCTSwitch.h */; settings = {ATTRIBUTES = (Project, ); }; };
- D37058EFE2613BF155B1E4737E49E875 /* RCTTextViewManager.m in Sources */ = {isa = PBXBuildFile; fileRef = 8680576750A5124FBB6EFF5E9DF91374 /* RCTTextViewManager.m */; };
- D377893FCD50E87963F93882136A76BF /* RCTImageUtils.m in Sources */ = {isa = PBXBuildFile; fileRef = CE0469E2EDA2959BE733692850A0D814 /* RCTImageUtils.m */; };
- D38B2DC5440401002EE9D9D14BE76961 /* SDWebImageDownloaderConfig.m in Sources */ = {isa = PBXBuildFile; fileRef = F66F1A21E0C1303CEE6894BCDF672D47 /* SDWebImageDownloaderConfig.m */; };
- D3948C9824C87B3FC54E55917159F736 /* RNFirebaseAnalytics.h in Headers */ = {isa = PBXBuildFile; fileRef = C0FD59534EAD6599C11D2AE9BC996388 /* RNFirebaseAnalytics.h */; settings = {ATTRIBUTES = (Project, ); }; };
- D402FAE9D4741E171469AC861F1AA7B1 /* RNSScreen.m in Sources */ = {isa = PBXBuildFile; fileRef = 3EADF7AE61FA56C5844EF018067BEA89 /* RNSScreen.m */; };
+ D3579929A1DC19324E0B37A54A563502 /* RCTSwitch.h in Headers */ = {isa = PBXBuildFile; fileRef = 3C2B322BE4A2561EB067682227481687 /* RCTSwitch.h */; settings = {ATTRIBUTES = (Project, ); }; };
+ D37058EFE2613BF155B1E4737E49E875 /* RCTTextViewManager.m in Sources */ = {isa = PBXBuildFile; fileRef = 723B21C36A41DD36726CB2844869D63E /* RCTTextViewManager.m */; };
+ D377893FCD50E87963F93882136A76BF /* RCTImageUtils.m in Sources */ = {isa = PBXBuildFile; fileRef = B5750426D7DE85EC4F0B21DB756A5847 /* RCTImageUtils.m */; };
+ D4202C5B3B70E4B20E86559FEC7A3224 /* UMViewManagerAdapterClassesRegistry.m in Sources */ = {isa = PBXBuildFile; fileRef = 50454B3604D47272D9A1670A4AD0E590 /* UMViewManagerAdapterClassesRegistry.m */; };
D48077AD3B49A588423560183A9FEBAF /* thread_utils.c in Sources */ = {isa = PBXBuildFile; fileRef = 1A82200EB5B4540DABF0C2866F2AEDC5 /* thread_utils.c */; settings = {COMPILER_FLAGS = "-D_THREAD_SAFE -fno-objc-arc"; }; };
- D4839583775F8ED2A5C2D94E0BAF558C /* FFFastImageSource.m in Sources */ = {isa = PBXBuildFile; fileRef = B18F39E88D92F4411B6B412891AB1284 /* FFFastImageSource.m */; };
D4D31AC4B663B98BC3BDA691706B54F7 /* vlog_is_on.cc in Sources */ = {isa = PBXBuildFile; fileRef = 1B29988F9F31773EB2B38DD75367F065 /* vlog_is_on.cc */; settings = {COMPILER_FLAGS = "-Wno-shorten-64-to-32"; }; };
- D4ECBFB97245592DB4156EB77244A90F /* EXUserNotificationRequester.m in Sources */ = {isa = PBXBuildFile; fileRef = A5516A35856B963B332DB98D45996051 /* EXUserNotificationRequester.m */; };
+ D4ECBFB97245592DB4156EB77244A90F /* EXUserNotificationRequester.m in Sources */ = {isa = PBXBuildFile; fileRef = 5F6C024E466470A0CD94E984F9BDFAEB /* EXUserNotificationRequester.m */; };
+ D52C23B825C04EBA8B9B1084A2EB4C3E /* RNFetchBlobNetwork.h in Headers */ = {isa = PBXBuildFile; fileRef = 80147B1A0D072BF196238F363FB9EE62 /* RNFetchBlobNetwork.h */; settings = {ATTRIBUTES = (Project, ); }; };
D53F382A3D3DA2FD3C31DE200394F712 /* enc_mips32.c in Sources */ = {isa = PBXBuildFile; fileRef = 2F1A343174FDE675BC1076AB561DDAAD /* enc_mips32.c */; settings = {COMPILER_FLAGS = "-D_THREAD_SAFE -fno-objc-arc"; }; };
- D5564204A7F5D87194DB1669E7DB1AFA /* BugsnagBreadcrumb.m in Sources */ = {isa = PBXBuildFile; fileRef = 4B90DBA345BAEF5CE2936AACC3E6CA20 /* BugsnagBreadcrumb.m */; };
- D5670A330AF71551379D03377DAAC054 /* React-RCTText-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = C8EFBBDC219C74E818266072FF0565F3 /* React-RCTText-dummy.m */; };
- D5738A71F184742779E1DCA4C168C0D0 /* BugsnagCrashReport.h in Headers */ = {isa = PBXBuildFile; fileRef = 0B975AC92D7AD19C613DE678FF394CDF /* BugsnagCrashReport.h */; settings = {ATTRIBUTES = (Project, ); }; };
- D5A4FA1FE58ECAB012620E7CC65F703F /* RCTPerformanceLogger.m in Sources */ = {isa = PBXBuildFile; fileRef = C9B98A4415F2475417458C176B1534DF /* RCTPerformanceLogger.m */; settings = {COMPILER_FLAGS = "-DFOLLY_NO_CONFIG -DFOLLY_MOBILE=1 -DFOLLY_USE_LIBCPP=1 -Wno-comma -Wno-shorten-64-to-32 -Wno-documentation"; }; };
- D5ACAF2DF95B23BCB8D6B553FD0883E9 /* RNFetchBlobNetwork.h in Headers */ = {isa = PBXBuildFile; fileRef = F576475D34DB2D8207F8DE9232A5DEED /* RNFetchBlobNetwork.h */; settings = {ATTRIBUTES = (Project, ); }; };
- D5E16F542497D1F75C936896FD3B9312 /* RNGestureHandler-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 92AF9FD2F2EE93BE8425AA3530FFCB52 /* RNGestureHandler-dummy.m */; };
- D5FEC5DAAE7EF6DBBF207F13EAA354DF /* RNGestureHandlerRegistry.m in Sources */ = {isa = PBXBuildFile; fileRef = 5D6D894C6F7623348E3E9102C482A509 /* RNGestureHandlerRegistry.m */; };
+ D5564204A7F5D87194DB1669E7DB1AFA /* BugsnagBreadcrumb.m in Sources */ = {isa = PBXBuildFile; fileRef = 00500EE5F9A13316AFB8E9F93E9D70A5 /* BugsnagBreadcrumb.m */; };
+ D5670A330AF71551379D03377DAAC054 /* React-RCTText-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 8CC73BA7FE0AF3874EC59E7B904C80A5 /* React-RCTText-dummy.m */; };
+ D5738A71F184742779E1DCA4C168C0D0 /* BugsnagCrashReport.h in Headers */ = {isa = PBXBuildFile; fileRef = 8AB7873A468948D17B37BF15B7FC7467 /* BugsnagCrashReport.h */; settings = {ATTRIBUTES = (Project, ); }; };
+ D5A4FA1FE58ECAB012620E7CC65F703F /* RCTPerformanceLogger.m in Sources */ = {isa = PBXBuildFile; fileRef = 63338362FE12E11B740652E50F73AF9D /* RCTPerformanceLogger.m */; settings = {COMPILER_FLAGS = "-DFOLLY_NO_CONFIG -DFOLLY_MOBILE=1 -DFOLLY_USE_LIBCPP=1 -Wno-comma -Wno-shorten-64-to-32 -Wno-documentation"; }; };
+ D5C8D5B50FA21D466BFE6D76DFDDB338 /* UIImage+Transform.h in Headers */ = {isa = PBXBuildFile; fileRef = 0D29723E132E50EDDE27A39DA7304A41 /* UIImage+Transform.h */; settings = {ATTRIBUTES = (Project, ); }; };
D602CA83D7A250B11256793383883037 /* dec_mips_dsp_r2.c in Sources */ = {isa = PBXBuildFile; fileRef = C12443FF09300FE27D9B06FC2A10ED2B /* dec_mips_dsp_r2.c */; settings = {COMPILER_FLAGS = "-D_THREAD_SAFE -fno-objc-arc"; }; };
D63E0FDC977B7D37E5E7B0FCCCDAA112 /* FIRInstanceIDTokenDeleteOperation.h in Headers */ = {isa = PBXBuildFile; fileRef = D4688B89A7A011134A32470A589D412D /* FIRInstanceIDTokenDeleteOperation.h */; settings = {ATTRIBUTES = (Project, ); }; };
- D64AE3A3D2BEE37C045196284822E79C /* RCTSliderManager.m in Sources */ = {isa = PBXBuildFile; fileRef = 07452FD528D4093F702F3B77ECE06998 /* RCTSliderManager.m */; settings = {COMPILER_FLAGS = "-DFOLLY_NO_CONFIG -DFOLLY_MOBILE=1 -DFOLLY_USE_LIBCPP=1 -Wno-comma -Wno-shorten-64-to-32 -Wno-documentation"; }; };
- D6788C441231FDFF2338389F0FB36638 /* SDWebImageDownloader.m in Sources */ = {isa = PBXBuildFile; fileRef = F34C5DA93FFCFBD53ED5BA4E500C577B /* SDWebImageDownloader.m */; };
- D6932A9841270C9656235F236EFF4D9C /* NativeModule.h in Headers */ = {isa = PBXBuildFile; fileRef = BCDEEB9E83B0DE6C061FDAC7B6542E6C /* NativeModule.h */; settings = {ATTRIBUTES = (Project, ); }; };
- D6FF296F5A8C120721093331543D3AE4 /* SDImageCache.m in Sources */ = {isa = PBXBuildFile; fileRef = 8BC685BFA32CFDC9B7B5C527F455B262 /* SDImageCache.m */; };
- D71B1565BA5D8F4829F30D0077517342 /* SystraceSection.h in Headers */ = {isa = PBXBuildFile; fileRef = 3D41FFD4F67E54A68BDE1BA09827D7E3 /* SystraceSection.h */; settings = {ATTRIBUTES = (Project, ); }; };
- D7496FD30465B541281E8451384C6448 /* FFFastImageViewManager.m in Sources */ = {isa = PBXBuildFile; fileRef = B33731549330414099A3D3FCF3F4C603 /* FFFastImageViewManager.m */; };
- D793AF688B4C42037ED49E4027D4E8C5 /* ImageCropPicker.h in Headers */ = {isa = PBXBuildFile; fileRef = 238C20DA5128139F0147AD3437B2BD89 /* ImageCropPicker.h */; settings = {ATTRIBUTES = (Project, ); }; };
+ D64AE3A3D2BEE37C045196284822E79C /* RCTSliderManager.m in Sources */ = {isa = PBXBuildFile; fileRef = 8D12798C458DDB6E373CD51E26FEAF71 /* RCTSliderManager.m */; settings = {COMPILER_FLAGS = "-DFOLLY_NO_CONFIG -DFOLLY_MOBILE=1 -DFOLLY_USE_LIBCPP=1 -Wno-comma -Wno-shorten-64-to-32 -Wno-documentation"; }; };
+ D6932A9841270C9656235F236EFF4D9C /* NativeModule.h in Headers */ = {isa = PBXBuildFile; fileRef = D753C728C90343136561F285DFBAB396 /* NativeModule.h */; settings = {ATTRIBUTES = (Project, ); }; };
+ D71B1565BA5D8F4829F30D0077517342 /* SystraceSection.h in Headers */ = {isa = PBXBuildFile; fileRef = 95E276C2337EFDAEC8C9291B9AB24DF2 /* SystraceSection.h */; settings = {ATTRIBUTES = (Project, ); }; };
D7A3D6DECC6A88ACCF265FBFAAAE55B2 /* FIRInstanceID_Private.h in Headers */ = {isa = PBXBuildFile; fileRef = 953075636776C2C5E99F01497D7C3672 /* FIRInstanceID_Private.h */; settings = {ATTRIBUTES = (Project, ); }; };
- D80FF08EC7D0A48803E8FA298091A6CF /* RCTSurfaceView+Internal.h in Headers */ = {isa = PBXBuildFile; fileRef = 8D9E4F46DFB8C611914E2C08D555E90B /* RCTSurfaceView+Internal.h */; settings = {ATTRIBUTES = (Project, ); }; };
+ D7B3D5860635D549C7947FB2BF488D18 /* RNGestureHandlerButton.m in Sources */ = {isa = PBXBuildFile; fileRef = CE93A16A13B66250599961C2961A9D59 /* RNGestureHandlerButton.m */; };
+ D80FF08EC7D0A48803E8FA298091A6CF /* RCTSurfaceView+Internal.h in Headers */ = {isa = PBXBuildFile; fileRef = 2D43683C155A810BC1F766652D8262AD /* RCTSurfaceView+Internal.h */; settings = {ATTRIBUTES = (Project, ); }; };
+ D8395442D2AEA3DB9C7D90E3CE8FECAC /* SDImageGIFCoder.h in Headers */ = {isa = PBXBuildFile; fileRef = 20212A645208FC76C39FF3F729A5058F /* SDImageGIFCoder.h */; settings = {ATTRIBUTES = (Project, ); }; };
+ D84C520C0A6E61EDD6DB537EBDB76988 /* SDWebImageWebPCoder.h in Headers */ = {isa = PBXBuildFile; fileRef = DF2646454FBB8090126BDEDA921AEEC5 /* SDWebImageWebPCoder.h */; settings = {ATTRIBUTES = (Project, ); }; };
D8A219829C97AE6AF93A048E09F5680D /* FIRComponent.m in Sources */ = {isa = PBXBuildFile; fileRef = 0516C996FB30E84E3BEBFDC7CA85A368 /* FIRComponent.m */; };
- D97479C45985FC9B912EC73F767B1D4D /* KeyboardTrackingViewManager.h in Headers */ = {isa = PBXBuildFile; fileRef = A83DAFC4193EE5E589F8650B93CF685E /* KeyboardTrackingViewManager.h */; settings = {ATTRIBUTES = (Project, ); }; };
- D9D22F6479348C729D55A0564D2484C3 /* RCTModalManager.m in Sources */ = {isa = PBXBuildFile; fileRef = 8A022219D3A9D055F639BE7D06F8348D /* RCTModalManager.m */; settings = {COMPILER_FLAGS = "-DFOLLY_NO_CONFIG -DFOLLY_MOBILE=1 -DFOLLY_USE_LIBCPP=1 -Wno-comma -Wno-shorten-64-to-32 -Wno-documentation"; }; };
+ D8FF26FAC450C15BD55EB53263E65C6F /* UMViewManagerAdapterClassesRegistry.h in Headers */ = {isa = PBXBuildFile; fileRef = 939237C8A8EBF4EF78689E3A134812B1 /* UMViewManagerAdapterClassesRegistry.h */; settings = {ATTRIBUTES = (Project, ); }; };
+ D929EB0CAAFDD0EB92A3C064A499A900 /* RNNotificationParser.h in Headers */ = {isa = PBXBuildFile; fileRef = AA2C12D832D0E7323747E74C9130DEBC /* RNNotificationParser.h */; settings = {ATTRIBUTES = (Project, ); }; };
+ D9C9D411C79A22DBCFBFC15A1E8B702C /* react-native-splash-screen-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = CDD71BB2B9C8193A18521F9FB48721D5 /* react-native-splash-screen-dummy.m */; };
+ D9D22F6479348C729D55A0564D2484C3 /* RCTModalManager.m in Sources */ = {isa = PBXBuildFile; fileRef = FD59315B101C8575295A130FBE8A35F6 /* RCTModalManager.m */; settings = {COMPILER_FLAGS = "-DFOLLY_NO_CONFIG -DFOLLY_MOBILE=1 -DFOLLY_USE_LIBCPP=1 -Wno-comma -Wno-shorten-64-to-32 -Wno-documentation"; }; };
DA063F91D1BDF16C988D6BDF20E44F1B /* FIRDependency.h in Headers */ = {isa = PBXBuildFile; fileRef = 6013F9366E4A5DF788DC2EF8FE75AD79 /* FIRDependency.h */; settings = {ATTRIBUTES = (Project, ); }; };
- DA2D8228D464018326798244485E4C89 /* RCTDevLoadingView.m in Sources */ = {isa = PBXBuildFile; fileRef = 61E84167FE3D14F3B4A2F844D15A4101 /* RCTDevLoadingView.m */; };
+ DA2D8228D464018326798244485E4C89 /* RCTDevLoadingView.m in Sources */ = {isa = PBXBuildFile; fileRef = 68A09101957973F60D522CB2ECFA95DE /* RCTDevLoadingView.m */; };
+ DA9C522EF0046E75EC992727C681B3EE /* UIImage+RSKImageCropper.h in Headers */ = {isa = PBXBuildFile; fileRef = 9F05B714BFA3F951AA518528961CE6F8 /* UIImage+RSKImageCropper.h */; settings = {ATTRIBUTES = (Project, ); }; };
DAB02821C84F2BA4426C6DD3AB7D22EF /* FIRInstanceIDVersionUtilities.h in Headers */ = {isa = PBXBuildFile; fileRef = 7504E2C9F5E287F7374E49A9E8A23F90 /* FIRInstanceIDVersionUtilities.h */; settings = {ATTRIBUTES = (Project, ); }; };
- DAB9CFEB6D5A25D239801565F53AA55E /* RCTSubtractionAnimatedNode.m in Sources */ = {isa = PBXBuildFile; fileRef = DDB3D1B5060F894913A5083AB8ADF690 /* RCTSubtractionAnimatedNode.m */; };
- DAF509D5B20564B82D0E84E690F90CFD /* RCTProfileTrampoline-x86_64.S in Sources */ = {isa = PBXBuildFile; fileRef = D72DCCF499B9CBB72A2D0253A60023F9 /* RCTProfileTrampoline-x86_64.S */; };
- DBA674449470ED2F334F61914E16C3EF /* BugsnagCrashSentry.m in Sources */ = {isa = PBXBuildFile; fileRef = 6994FDA23DB656526544B39877E83631 /* BugsnagCrashSentry.m */; };
+ DAB9CFEB6D5A25D239801565F53AA55E /* RCTSubtractionAnimatedNode.m in Sources */ = {isa = PBXBuildFile; fileRef = 67CA2919E9A8743F4103C0F145CDD9AE /* RCTSubtractionAnimatedNode.m */; };
+ DAF509D5B20564B82D0E84E690F90CFD /* RCTProfileTrampoline-x86_64.S in Sources */ = {isa = PBXBuildFile; fileRef = FC785F45E0E1D94ECBCA6D0E45CAEB8D /* RCTProfileTrampoline-x86_64.S */; };
+ DB00F8C59B145A43147840BF41BC04F7 /* SDImageGIFCoderInternal.h in Headers */ = {isa = PBXBuildFile; fileRef = 53BB6273431F000D9A5DCD5765BD5C9C /* SDImageGIFCoderInternal.h */; settings = {ATTRIBUTES = (Project, ); }; };
+ DB7AA2F3606E2BE14C9784E79BF75D36 /* react-native-document-picker-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 11A46F3A5438367232572C3302A04A4E /* react-native-document-picker-dummy.m */; };
+ DBA674449470ED2F334F61914E16C3EF /* BugsnagCrashSentry.m in Sources */ = {isa = PBXBuildFile; fileRef = 6C560D43E7AA91BB3FA45CFA5C2B21F2 /* BugsnagCrashSentry.m */; };
DBF38D604FD733C907593847B6F20F6D /* FIRVersion.h in Headers */ = {isa = PBXBuildFile; fileRef = 9EE0D518705C99582C428F2F66616279 /* FIRVersion.h */; settings = {ATTRIBUTES = (Project, ); }; };
- DC05F9870FB4B3F9DD8F5C77941AC3AD /* UMReactNativeAdapter.m in Sources */ = {isa = PBXBuildFile; fileRef = 843EBE473FDBDA2B2800550AE19266F3 /* UMReactNativeAdapter.m */; };
DC1370F458358C5BE438A6A0ED227DA6 /* FIRInstanceIDTokenStore.m in Sources */ = {isa = PBXBuildFile; fileRef = 02E718FD11A9B5E18F855621A90A14AF /* FIRInstanceIDTokenStore.m */; };
DC158CB98CECA6B43EC601E2B84B64FE /* Format.cpp in Sources */ = {isa = PBXBuildFile; fileRef = C45DC130F55AFF90BA01A38CE48A7904 /* Format.cpp */; settings = {COMPILER_FLAGS = "-DFOLLY_NO_CONFIG -DFOLLY_MOBILE=1 -DFOLLY_USE_LIBCPP=1 -DFOLLY_HAVE_PTHREAD=1 -Wno-comma -Wno-shorten-64-to-32 -Wno-documentation"; }; };
- DC6029B859BB2E77C73DF8E237BD6A6F /* RCTPlatform.m in Sources */ = {isa = PBXBuildFile; fileRef = 038947B7304EF9D6A7EB9CAF09ECA4F7 /* RCTPlatform.m */; settings = {COMPILER_FLAGS = "-DFOLLY_NO_CONFIG -DFOLLY_MOBILE=1 -DFOLLY_USE_LIBCPP=1 -Wno-comma -Wno-shorten-64-to-32 -Wno-documentation"; }; };
- DC84A2921F7DC8FBB14A2C2C3446BA2E /* RNGestureHandlerModule.h in Headers */ = {isa = PBXBuildFile; fileRef = 68094BA49EB0053E0FDC8183AB72F4FA /* RNGestureHandlerModule.h */; settings = {ATTRIBUTES = (Project, ); }; };
- DC8DA9704B3E15993595F2C104025154 /* RCTRedBoxExtraDataViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = C5798AF7F611555B135EFE34ABC721F3 /* RCTRedBoxExtraDataViewController.m */; settings = {COMPILER_FLAGS = "-DFOLLY_NO_CONFIG -DFOLLY_MOBILE=1 -DFOLLY_USE_LIBCPP=1 -Wno-comma -Wno-shorten-64-to-32 -Wno-documentation"; }; };
+ DC3CADEA367A935F644713FC6B0C4A35 /* FFFastImageView.m in Sources */ = {isa = PBXBuildFile; fileRef = 311E80E31B1E8CDA07DDE97272DD5B29 /* FFFastImageView.m */; };
+ DC6029B859BB2E77C73DF8E237BD6A6F /* RCTPlatform.m in Sources */ = {isa = PBXBuildFile; fileRef = 0AB98A6CF77C153927CD6AFDBD0DE080 /* RCTPlatform.m */; settings = {COMPILER_FLAGS = "-DFOLLY_NO_CONFIG -DFOLLY_MOBILE=1 -DFOLLY_USE_LIBCPP=1 -Wno-comma -Wno-shorten-64-to-32 -Wno-documentation"; }; };
+ DC8DA9704B3E15993595F2C104025154 /* RCTRedBoxExtraDataViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 8CAF1D83FF631AE9C8A854485E8E122C /* RCTRedBoxExtraDataViewController.m */; settings = {COMPILER_FLAGS = "-DFOLLY_NO_CONFIG -DFOLLY_MOBILE=1 -DFOLLY_USE_LIBCPP=1 -Wno-comma -Wno-shorten-64-to-32 -Wno-documentation"; }; };
DCAC9CE673B917B1F1772C266A09DC72 /* lossless_enc_sse2.c in Sources */ = {isa = PBXBuildFile; fileRef = 89C4F74DC89D02889DFA1C266035DB59 /* lossless_enc_sse2.c */; settings = {COMPILER_FLAGS = "-D_THREAD_SAFE -fno-objc-arc"; }; };
- DCBBA7A21FD68545BAB40E6CAFA24542 /* RCTSurfaceRootShadowView.m in Sources */ = {isa = PBXBuildFile; fileRef = 7ACA9D52C8E369660A5660307F0129B9 /* RCTSurfaceRootShadowView.m */; settings = {COMPILER_FLAGS = "-DFOLLY_NO_CONFIG -DFOLLY_MOBILE=1 -DFOLLY_USE_LIBCPP=1 -Wno-comma -Wno-shorten-64-to-32 -Wno-documentation"; }; };
- DCF2A2D0FC39CA49F08C99EEA80B27DC /* RNFirebaseFirestore.h in Headers */ = {isa = PBXBuildFile; fileRef = 21E299ED7B2D43715292E61E6FEF5B0F /* RNFirebaseFirestore.h */; settings = {ATTRIBUTES = (Project, ); }; };
- DD0CE7EDB02D63FF7EA45D9858521B89 /* NSData+ImageContentType.m in Sources */ = {isa = PBXBuildFile; fileRef = C0FDC4098090BCA89BB128C11684FB85 /* NSData+ImageContentType.m */; };
- DD32A16A69E393E6F384E47AB142A39B /* YGNode.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1EC1F043A31DFA467467BBF39B275611 /* YGNode.cpp */; settings = {COMPILER_FLAGS = "-fno-omit-frame-pointer -fexceptions -Wall -Werror -std=c++1y -fPIC -fno-objc-arc"; }; };
- DD4FB013CE47CA4562E2E13F438D54D7 /* UIImage+MemoryCacheCost.m in Sources */ = {isa = PBXBuildFile; fileRef = 3D0253761F033DD720523C560BD82BC8 /* UIImage+MemoryCacheCost.m */; };
- DD844DD75DEC95DD936560B2FC2B6EC2 /* RNFirebaseDatabaseReference.m in Sources */ = {isa = PBXBuildFile; fileRef = DC5040CD15B137CBD3B1B8F8CA09C00C /* RNFirebaseDatabaseReference.m */; };
- DD959306B677A94A871AFCE043A308AE /* RCTModalHostView.h in Headers */ = {isa = PBXBuildFile; fileRef = 301731D44259D99C2A480118A8792718 /* RCTModalHostView.h */; settings = {ATTRIBUTES = (Project, ); }; };
- DDC64069B8EFB8ED3FC946F0AB5D8F2F /* RCTSinglelineTextInputView.m in Sources */ = {isa = PBXBuildFile; fileRef = 9012A05EE1D8DAD23CF7FCC66129246F /* RCTSinglelineTextInputView.m */; };
- DDD51174CA7788DF1B4001E3612C967A /* RCTSurface.mm in Sources */ = {isa = PBXBuildFile; fileRef = D6C86CB9DDD957B72CEE3DD9A70D293A /* RCTSurface.mm */; settings = {COMPILER_FLAGS = "-DFOLLY_NO_CONFIG -DFOLLY_MOBILE=1 -DFOLLY_USE_LIBCPP=1 -Wno-comma -Wno-shorten-64-to-32 -Wno-documentation"; }; };
- DDD97604318B6F39BB95B10456E9DF6D /* NSBezierPath+RoundedCorners.m in Sources */ = {isa = PBXBuildFile; fileRef = 9477D277A1E8B1EBF5BE7D658D5FF847 /* NSBezierPath+RoundedCorners.m */; };
+ DCBBA7A21FD68545BAB40E6CAFA24542 /* RCTSurfaceRootShadowView.m in Sources */ = {isa = PBXBuildFile; fileRef = CA3A46A1D91F26EAA2DAE02833494A9E /* RCTSurfaceRootShadowView.m */; settings = {COMPILER_FLAGS = "-DFOLLY_NO_CONFIG -DFOLLY_MOBILE=1 -DFOLLY_USE_LIBCPP=1 -Wno-comma -Wno-shorten-64-to-32 -Wno-documentation"; }; };
+ DCCF82FD856EA36F743418F69477EE4F /* LNInterpolable.h in Headers */ = {isa = PBXBuildFile; fileRef = 7CF27F33039380655F1C225C0FC34867 /* LNInterpolable.h */; settings = {ATTRIBUTES = (Project, ); }; };
+ DD2B857BB9E5BBE5786E7AA380CFB161 /* RNFirebaseFunctions.h in Headers */ = {isa = PBXBuildFile; fileRef = 747CFCDD00C77BC62B73D0C94DA1BA5D /* RNFirebaseFunctions.h */; settings = {ATTRIBUTES = (Project, ); }; };
+ DD32A16A69E393E6F384E47AB142A39B /* YGNode.cpp in Sources */ = {isa = PBXBuildFile; fileRef = E2DA809BB622B3F2FA458ECB86AD96A5 /* YGNode.cpp */; settings = {COMPILER_FLAGS = "-fno-omit-frame-pointer -fexceptions -Wall -Werror -std=c++1y -fPIC -fno-objc-arc"; }; };
+ DD6613EF32C7E37CCB3AFD393DA107C8 /* RNLocalize.h in Headers */ = {isa = PBXBuildFile; fileRef = 4B4E6AF4ECBDB0C1D669622920D39A07 /* RNLocalize.h */; settings = {ATTRIBUTES = (Project, ); }; };
+ DD959306B677A94A871AFCE043A308AE /* RCTModalHostView.h in Headers */ = {isa = PBXBuildFile; fileRef = F1EE780FF4FB4BD869F4B5D0F4E0E4C6 /* RCTModalHostView.h */; settings = {ATTRIBUTES = (Project, ); }; };
+ DDC64069B8EFB8ED3FC946F0AB5D8F2F /* RCTSinglelineTextInputView.m in Sources */ = {isa = PBXBuildFile; fileRef = E3418B572AEF67C1C89B6AFA9B3C80A0 /* RCTSinglelineTextInputView.m */; };
+ DDD51174CA7788DF1B4001E3612C967A /* RCTSurface.mm in Sources */ = {isa = PBXBuildFile; fileRef = 260DEA46B3858283967EE8805655BB26 /* RCTSurface.mm */; settings = {COMPILER_FLAGS = "-DFOLLY_NO_CONFIG -DFOLLY_MOBILE=1 -DFOLLY_USE_LIBCPP=1 -Wno-comma -Wno-shorten-64-to-32 -Wno-documentation"; }; };
DDEFD576BF8D5977530AFF787117B3E4 /* rescaler_msa.c in Sources */ = {isa = PBXBuildFile; fileRef = 97149FD2DD27B5512C6363C80D3633EF /* rescaler_msa.c */; settings = {COMPILER_FLAGS = "-D_THREAD_SAFE -fno-objc-arc"; }; };
- DE1169E8C42F1735AA9DC88BC32098D1 /* SDImageCachesManagerOperation.m in Sources */ = {isa = PBXBuildFile; fileRef = 305849AAFA55DA8BC829CA73F6A41D7F /* SDImageCachesManagerOperation.m */; };
- DE18DC12317A634A52985DEFDA7576D5 /* RCTNetworkTask.m in Sources */ = {isa = PBXBuildFile; fileRef = 0C376D81EDD6874E787501D66637D4CC /* RCTNetworkTask.m */; };
- DE6406EA03AC88187348881599BA0059 /* BugsnagSessionTrackingPayload.m in Sources */ = {isa = PBXBuildFile; fileRef = F8160FEE9DB6A27FBEDB340EA88C78AD /* BugsnagSessionTrackingPayload.m */; };
- DE920797F7030FCFF8BD9FEC49A06C71 /* RCTUIUtils.m in Sources */ = {isa = PBXBuildFile; fileRef = 78EF8E3DB65A4CFD715281ABFF21B8E9 /* RCTUIUtils.m */; settings = {COMPILER_FLAGS = "-DFOLLY_NO_CONFIG -DFOLLY_MOBILE=1 -DFOLLY_USE_LIBCPP=1 -Wno-comma -Wno-shorten-64-to-32 -Wno-documentation"; }; };
- DECCEFB78B107F03C9A9B095BB01A9A8 /* RCTErrorInfo.m in Sources */ = {isa = PBXBuildFile; fileRef = BE8B44886FF4231860224059A4E06EF2 /* RCTErrorInfo.m */; settings = {COMPILER_FLAGS = "-DFOLLY_NO_CONFIG -DFOLLY_MOBILE=1 -DFOLLY_USE_LIBCPP=1 -Wno-comma -Wno-shorten-64-to-32 -Wno-documentation"; }; };
- DEE2D42FCBE5F8220B3191D71D816262 /* RNCWKProcessPoolManager.m in Sources */ = {isa = PBXBuildFile; fileRef = 53540F89F7E20186D38916EF581E823D /* RNCWKProcessPoolManager.m */; };
- DEF9338D15ECD22B0A95DCD2FA679FD3 /* RCTDisplayLink.m in Sources */ = {isa = PBXBuildFile; fileRef = 934459B5526FD82B304882D9C2D62926 /* RCTDisplayLink.m */; settings = {COMPILER_FLAGS = "-DFOLLY_NO_CONFIG -DFOLLY_MOBILE=1 -DFOLLY_USE_LIBCPP=1 -Wno-comma -Wno-shorten-64-to-32 -Wno-documentation"; }; };
- DF08B040CD29499D510F8A633DA4299A /* RCTSegmentedControl.h in Headers */ = {isa = PBXBuildFile; fileRef = 6F03182DB54AB04526ACD61656CB6466 /* RCTSegmentedControl.h */; settings = {ATTRIBUTES = (Project, ); }; };
- DFC9626E44A3BB97940B5EB1ADD22F9E /* InspectorInterfaces.h in Headers */ = {isa = PBXBuildFile; fileRef = 87BC817ACB4EE126E80AEB4DED965264 /* InspectorInterfaces.h */; settings = {ATTRIBUTES = (Project, ); }; };
+ DE038BFB8B78FD42A7B858C293035112 /* RCTConvert+FFFastImage.h in Headers */ = {isa = PBXBuildFile; fileRef = 0975975238A378E52CA88A3E8F3223AB /* RCTConvert+FFFastImage.h */; settings = {ATTRIBUTES = (Project, ); }; };
+ DE18DC12317A634A52985DEFDA7576D5 /* RCTNetworkTask.m in Sources */ = {isa = PBXBuildFile; fileRef = C4DC43F096C1DE9AEB9EE7A06F0BC520 /* RCTNetworkTask.m */; };
+ DE6406EA03AC88187348881599BA0059 /* BugsnagSessionTrackingPayload.m in Sources */ = {isa = PBXBuildFile; fileRef = BF8CCB5D5EC9E22A1CEA0A727B5DD871 /* BugsnagSessionTrackingPayload.m */; };
+ DE920797F7030FCFF8BD9FEC49A06C71 /* RCTUIUtils.m in Sources */ = {isa = PBXBuildFile; fileRef = 5415B6B92738D4783A35FF74B84C0213 /* RCTUIUtils.m */; settings = {COMPILER_FLAGS = "-DFOLLY_NO_CONFIG -DFOLLY_MOBILE=1 -DFOLLY_USE_LIBCPP=1 -Wno-comma -Wno-shorten-64-to-32 -Wno-documentation"; }; };
+ DECCEFB78B107F03C9A9B095BB01A9A8 /* RCTErrorInfo.m in Sources */ = {isa = PBXBuildFile; fileRef = A116E943013EC94742FCD320F9A9D175 /* RCTErrorInfo.m */; settings = {COMPILER_FLAGS = "-DFOLLY_NO_CONFIG -DFOLLY_MOBILE=1 -DFOLLY_USE_LIBCPP=1 -Wno-comma -Wno-shorten-64-to-32 -Wno-documentation"; }; };
+ DEF9338D15ECD22B0A95DCD2FA679FD3 /* RCTDisplayLink.m in Sources */ = {isa = PBXBuildFile; fileRef = B0264A1F3A99284E63A6A86D45CC3014 /* RCTDisplayLink.m */; settings = {COMPILER_FLAGS = "-DFOLLY_NO_CONFIG -DFOLLY_MOBILE=1 -DFOLLY_USE_LIBCPP=1 -Wno-comma -Wno-shorten-64-to-32 -Wno-documentation"; }; };
+ DEFCE1F4EAA84A5D5F5B1DAAC1A1483B /* KeyboardTrackingViewManager.m in Sources */ = {isa = PBXBuildFile; fileRef = D4364C60EEDEBF612823F158E70602F4 /* KeyboardTrackingViewManager.m */; };
+ DF08B040CD29499D510F8A633DA4299A /* RCTSegmentedControl.h in Headers */ = {isa = PBXBuildFile; fileRef = 2AD4CC40E0AD1A3767B56882DDBB8883 /* RCTSegmentedControl.h */; settings = {ATTRIBUTES = (Project, ); }; };
+ DFC9626E44A3BB97940B5EB1ADD22F9E /* InspectorInterfaces.h in Headers */ = {isa = PBXBuildFile; fileRef = 9EB16BC145CA15FEBB171919C6DB9A07 /* InspectorInterfaces.h */; settings = {ATTRIBUTES = (Project, ); }; };
+ DFF757FD62B6D2ED072C9327CF332F8B /* RNNotifications.m in Sources */ = {isa = PBXBuildFile; fileRef = 7296A603079B3ACF65D2622487338640 /* RNNotifications.m */; };
DFF94299EBFD53A2C967D837D2E906E1 /* histogram_enc.c in Sources */ = {isa = PBXBuildFile; fileRef = 2C15F678CB54CA0D4C9CD99FFA56D255 /* histogram_enc.c */; settings = {COMPILER_FLAGS = "-D_THREAD_SAFE -fno-objc-arc"; }; };
+ E003B6188EB54E2ACCE2C81F8EF59AF4 /* SDImageTransformer.h in Headers */ = {isa = PBXBuildFile; fileRef = 837C0E45522E651C57181A0A10F57290 /* SDImageTransformer.h */; settings = {ATTRIBUTES = (Project, ); }; };
E013C99C68F6C512DA43F88FED52DDFD /* webp_dec.c in Sources */ = {isa = PBXBuildFile; fileRef = 0D1F11AC9F696CBE39BB075BA67E7ACA /* webp_dec.c */; settings = {COMPILER_FLAGS = "-D_THREAD_SAFE -fno-objc-arc"; }; };
- E02753DECBC2AA6101B629C610E71881 /* RCTCxxConvert.m in Sources */ = {isa = PBXBuildFile; fileRef = 94947BCA70EE5B829DD2911669210E11 /* RCTCxxConvert.m */; settings = {COMPILER_FLAGS = "-DFOLLY_NO_CONFIG -DFOLLY_MOBILE=1 -DFOLLY_USE_LIBCPP=1 -Wno-comma -Wno-shorten-64-to-32 -Wno-documentation"; }; };
- E02A84DFE301C23D8C24C8E3CB035A75 /* BSG_KSCrashAdvanced.h in Headers */ = {isa = PBXBuildFile; fileRef = F4D90B63E99E472C7A5DB41C72500C65 /* BSG_KSCrashAdvanced.h */; settings = {ATTRIBUTES = (Project, ); }; };
- E071200B8C01287E09BE1E925E592217 /* RNPushKit.m in Sources */ = {isa = PBXBuildFile; fileRef = 7BFBCA17EC5C4063E8ECB936B11DD36E /* RNPushKit.m */; };
+ E02753DECBC2AA6101B629C610E71881 /* RCTCxxConvert.m in Sources */ = {isa = PBXBuildFile; fileRef = 8197CA80E8DCC6923D518F3AD89F5332 /* RCTCxxConvert.m */; settings = {COMPILER_FLAGS = "-DFOLLY_NO_CONFIG -DFOLLY_MOBILE=1 -DFOLLY_USE_LIBCPP=1 -Wno-comma -Wno-shorten-64-to-32 -Wno-documentation"; }; };
+ E02A84DFE301C23D8C24C8E3CB035A75 /* BSG_KSCrashAdvanced.h in Headers */ = {isa = PBXBuildFile; fileRef = 88C6EB4E3BB2FFDA91FE2014EF58475A /* BSG_KSCrashAdvanced.h */; settings = {ATTRIBUTES = (Project, ); }; };
+ E080B51DD048FF836714D9DBE86C7A96 /* RCTConvert+RNNotifications.m in Sources */ = {isa = PBXBuildFile; fileRef = 3285262930FD453F8240336CF3A15B6E /* RCTConvert+RNNotifications.m */; };
E08D5ED498CB4DA17CBB17B92FE36331 /* common_sse2.h in Headers */ = {isa = PBXBuildFile; fileRef = 8CDB8F285D1BB8965E639569DD3B2CB8 /* common_sse2.h */; settings = {ATTRIBUTES = (Project, ); }; };
- E0C8FDD5F991FAE4512A623DBBF0F9E2 /* UMAppLifecycleListener.h in Headers */ = {isa = PBXBuildFile; fileRef = AEABA568E7649451DB7659F14DD6AA79 /* UMAppLifecycleListener.h */; settings = {ATTRIBUTES = (Project, ); }; };
- E0ECED5DC54E5F6AFAFA0D30FE4AC339 /* SDAnimatedImage.m in Sources */ = {isa = PBXBuildFile; fileRef = 009C0959C2126F9B3C0AE53F3AF96C49 /* SDAnimatedImage.m */; };
- E126D849B2811DAB3717ADEC424D7657 /* EXDownloadDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = 7147B677338D0C7F09A12D36AC20CECD /* EXDownloadDelegate.m */; };
- E14135FC1B928B179065F46E98AB35AE /* EXAudioSessionManager.m in Sources */ = {isa = PBXBuildFile; fileRef = 15E006FDCCAB06626CB8639529DE0438 /* EXAudioSessionManager.m */; };
- E16BABB538F6DC441B51A2F52763402A /* YGLayout.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 977BFA2815689BFDE7C5E5AC72EB7FAC /* YGLayout.cpp */; settings = {COMPILER_FLAGS = "-fno-omit-frame-pointer -fexceptions -Wall -Werror -std=c++1y -fPIC -fno-objc-arc"; }; };
- E1E960718AD675A723F57C73BF5E092E /* RNFirebaseUtil.m in Sources */ = {isa = PBXBuildFile; fileRef = 758E353EC67244F61FC85BAD9FC7909D /* RNFirebaseUtil.m */; };
- E2350E979678E34F41717CFBCAC1BD16 /* BugsnagKSCrashSysInfoParser.m in Sources */ = {isa = PBXBuildFile; fileRef = 7257E15E1339E565E7A77268B9C608B7 /* BugsnagKSCrashSysInfoParser.m */; };
+ E0C8FDD5F991FAE4512A623DBBF0F9E2 /* UMAppLifecycleListener.h in Headers */ = {isa = PBXBuildFile; fileRef = 4CA52393C44CF7E8C261D712045BFD7D /* UMAppLifecycleListener.h */; settings = {ATTRIBUTES = (Project, ); }; };
+ E126D849B2811DAB3717ADEC424D7657 /* EXDownloadDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = 2A30B57086182014A91300752D1C9838 /* EXDownloadDelegate.m */; };
+ E14135FC1B928B179065F46E98AB35AE /* EXAudioSessionManager.m in Sources */ = {isa = PBXBuildFile; fileRef = 3DF4A240BE6CF271C0D71FC14FE98C14 /* EXAudioSessionManager.m */; };
+ E14D81F80939C755ABAE6921C0C03776 /* RNBridgeModule.h in Headers */ = {isa = PBXBuildFile; fileRef = 8C063B6C29AD59E961E654F66746F77D /* RNBridgeModule.h */; settings = {ATTRIBUTES = (Project, ); }; };
+ E15761BA890DD72E492EA4FF8D80F1CD /* SDImageCacheConfig.m in Sources */ = {isa = PBXBuildFile; fileRef = DA4574672FDC6E3A63A27CCB09CB0E1B /* SDImageCacheConfig.m */; };
+ E16BABB538F6DC441B51A2F52763402A /* YGLayout.cpp in Sources */ = {isa = PBXBuildFile; fileRef = ADF897385C80A19FEBA3FA7E63E782BD /* YGLayout.cpp */; settings = {COMPILER_FLAGS = "-fno-omit-frame-pointer -fexceptions -Wall -Werror -std=c++1y -fPIC -fno-objc-arc"; }; };
+ E1C7F22B65EB3BC2006B2688880BCECF /* RNGestureHandlerRegistry.h in Headers */ = {isa = PBXBuildFile; fileRef = FB958FDA842589405EAAA07CF4ACD343 /* RNGestureHandlerRegistry.h */; settings = {ATTRIBUTES = (Project, ); }; };
+ E2350E979678E34F41717CFBCAC1BD16 /* BugsnagKSCrashSysInfoParser.m in Sources */ = {isa = PBXBuildFile; fileRef = CAAB05AE7C2CD18C40CD01F7C03D4827 /* BugsnagKSCrashSysInfoParser.m */; };
+ E268C17C966FECB7B89A0999B3120BFC /* SDImageAPNGCoderInternal.h in Headers */ = {isa = PBXBuildFile; fileRef = FC87B49608E3699EDBC315EE282383A4 /* SDImageAPNGCoderInternal.h */; settings = {ATTRIBUTES = (Project, ); }; };
+ E281C5D4C9FC21EDA7D22D54D2EF7E9E /* NSData+ImageContentType.m in Sources */ = {isa = PBXBuildFile; fileRef = C0FDC4098090BCA89BB128C11684FB85 /* NSData+ImageContentType.m */; };
E2B7A1B54C0403C79E71E3DE34AD8B7A /* lossless.c in Sources */ = {isa = PBXBuildFile; fileRef = 99D50527D255979F3C2681F41A8C1674 /* lossless.c */; settings = {COMPILER_FLAGS = "-D_THREAD_SAFE -fno-objc-arc"; }; };
E2ED442976FA7B06AEC255F9F752C627 /* FIRInstanceID+Private.h in Headers */ = {isa = PBXBuildFile; fileRef = CEB20234C01003B8A24F2AE287D2EBBC /* FIRInstanceID+Private.h */; settings = {ATTRIBUTES = (Project, ); }; };
- E2F2DD597216F2F8D31CB41F3621887A /* RCTProfileTrampoline-arm.S in Sources */ = {isa = PBXBuildFile; fileRef = AC0F56559E47CAE7B55F08170A016006 /* RCTProfileTrampoline-arm.S */; };
- E30665E574F2E9D1081E636C81F287C3 /* Bugsnag.m in Sources */ = {isa = PBXBuildFile; fileRef = AA1F6F020E4FB56D3CAE3C734E02AA76 /* Bugsnag.m */; };
- E30FD2AF9922D0B0144F0AC373003FA8 /* jsi.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A6B34DAE2B612DD9A927D9A7B949E781 /* jsi.cpp */; settings = {COMPILER_FLAGS = "-DFOLLY_NO_CONFIG -DFOLLY_MOBILE=1 -DFOLLY_USE_LIBCPP=1 -Wno-comma -Wno-shorten-64-to-32 -Wno-documentation"; }; };
- E37BB1840556B7AB26C9466E935EB947 /* RCTAccessibilityManager.m in Sources */ = {isa = PBXBuildFile; fileRef = 37BB49E721BBD36A9897911E150369D5 /* RCTAccessibilityManager.m */; settings = {COMPILER_FLAGS = "-DFOLLY_NO_CONFIG -DFOLLY_MOBILE=1 -DFOLLY_USE_LIBCPP=1 -Wno-comma -Wno-shorten-64-to-32 -Wno-documentation"; }; };
+ E2F2DD597216F2F8D31CB41F3621887A /* RCTProfileTrampoline-arm.S in Sources */ = {isa = PBXBuildFile; fileRef = 9ACF01005CCD4EFDBCE95092027D6706 /* RCTProfileTrampoline-arm.S */; };
+ E30665E574F2E9D1081E636C81F287C3 /* Bugsnag.m in Sources */ = {isa = PBXBuildFile; fileRef = DF24DBD179B3FB09F3C88E0F99068840 /* Bugsnag.m */; };
+ E30FD2AF9922D0B0144F0AC373003FA8 /* jsi.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2F71619077CBCA1A0F02A5FA2F325256 /* jsi.cpp */; settings = {COMPILER_FLAGS = "-DFOLLY_NO_CONFIG -DFOLLY_MOBILE=1 -DFOLLY_USE_LIBCPP=1 -Wno-comma -Wno-shorten-64-to-32 -Wno-documentation"; }; };
+ E37BB1840556B7AB26C9466E935EB947 /* RCTAccessibilityManager.m in Sources */ = {isa = PBXBuildFile; fileRef = 879BFB4FF2A959D252D6B066511B1EAB /* RCTAccessibilityManager.m */; settings = {COMPILER_FLAGS = "-DFOLLY_NO_CONFIG -DFOLLY_MOBILE=1 -DFOLLY_USE_LIBCPP=1 -Wno-comma -Wno-shorten-64-to-32 -Wno-documentation"; }; };
E3E7193D979125C005FF9F15A1A135EB /* FIRInstanceIDKeyPairStore.h in Headers */ = {isa = PBXBuildFile; fileRef = C6139639583D213E64EF3E474D60E0B4 /* FIRInstanceIDKeyPairStore.h */; settings = {ATTRIBUTES = (Project, ); }; };
- E410D7E9C646B7115F851735D9DB9058 /* RCTWebSocketExecutor.m in Sources */ = {isa = PBXBuildFile; fileRef = 0CDA6E09335EE674DAACB7922BC96C27 /* RCTWebSocketExecutor.m */; };
- E442F7C59CA23744501C2CAA0DF5546C /* RCTDevMenu.m in Sources */ = {isa = PBXBuildFile; fileRef = 43AB9868E74BC0B20B855EE5B36FF576 /* RCTDevMenu.m */; };
- E461EFB4D5C63B31F8700C5137F650CC /* BugsnagLogger.h in Headers */ = {isa = PBXBuildFile; fileRef = FF82D03F4B90C591A406D4F784031245 /* BugsnagLogger.h */; settings = {ATTRIBUTES = (Project, ); }; };
- E46411FEE5DFC4B164A1A35FF2A8ECFD /* EXVideoView.m in Sources */ = {isa = PBXBuildFile; fileRef = 708E1CD88F39085AEC3C01A84A7625A5 /* EXVideoView.m */; };
+ E409A19B9D79A21AB18BEC6121A80AB6 /* RNFirebaseAnalytics.h in Headers */ = {isa = PBXBuildFile; fileRef = 3F4B1D4AD1482B696BF6698B2C798624 /* RNFirebaseAnalytics.h */; settings = {ATTRIBUTES = (Project, ); }; };
+ E410D7E9C646B7115F851735D9DB9058 /* RCTWebSocketExecutor.m in Sources */ = {isa = PBXBuildFile; fileRef = 9CCF4A6A7EF392BF83131B4E9A2DCCD8 /* RCTWebSocketExecutor.m */; };
+ E442F7C59CA23744501C2CAA0DF5546C /* RCTDevMenu.m in Sources */ = {isa = PBXBuildFile; fileRef = 04728A9248C79A860E023B792115D149 /* RCTDevMenu.m */; };
+ E461EFB4D5C63B31F8700C5137F650CC /* BugsnagLogger.h in Headers */ = {isa = PBXBuildFile; fileRef = CFA27444227C2D1C5CE9C8366D6CFF04 /* BugsnagLogger.h */; settings = {ATTRIBUTES = (Project, ); }; };
+ E46411FEE5DFC4B164A1A35FF2A8ECFD /* EXVideoView.m in Sources */ = {isa = PBXBuildFile; fileRef = 856B9F607A92FF668D4D403689E89D53 /* EXVideoView.m */; };
E4988068F00F7F1B67427233470219DC /* quant_levels_utils.c in Sources */ = {isa = PBXBuildFile; fileRef = 3F3E2D19532BEB2AE81573F1C05F7382 /* quant_levels_utils.c */; settings = {COMPILER_FLAGS = "-D_THREAD_SAFE -fno-objc-arc"; }; };
- E4AB22518922D98B2FEFB1CEA32411CA /* BSGOutOfMemoryWatchdog.m in Sources */ = {isa = PBXBuildFile; fileRef = 3BF1183B1089C24D5040708F56D0CF82 /* BSGOutOfMemoryWatchdog.m */; };
+ E4AB22518922D98B2FEFB1CEA32411CA /* BSGOutOfMemoryWatchdog.m in Sources */ = {isa = PBXBuildFile; fileRef = 613B9F59F81231CBD4FCF0F4E630497D /* BSGOutOfMemoryWatchdog.m */; };
+ E5A3710E91E602A7565CE94A23AC1438 /* RNRotationHandler.h in Headers */ = {isa = PBXBuildFile; fileRef = D00C99421D732470BEDC5C6F28400BBF /* RNRotationHandler.h */; settings = {ATTRIBUTES = (Project, ); }; };
E5D8C91086E97408A4280CE36D002303 /* FirebaseInstanceID-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = E943D588D24BA8166AB0F27D361BA65B /* FirebaseInstanceID-dummy.m */; };
- E64F05836795EE4CE0EBA4CA26E93B5F /* RNFetchBlobReqBuilder.h in Headers */ = {isa = PBXBuildFile; fileRef = 5DD7DD3A1015C3D7D52D0B895D3C64FE /* RNFetchBlobReqBuilder.h */; settings = {ATTRIBUTES = (Project, ); }; };
- E68B43E6FD698297F30F114210754081 /* RCTVirtualTextShadowView.h in Headers */ = {isa = PBXBuildFile; fileRef = 3C79BD555113BBFF3445F683B3E274AF /* RCTVirtualTextShadowView.h */; settings = {ATTRIBUTES = (Project, ); }; };
- E69F9066B313E6838DA417AEBF8D1CC4 /* RNNotificationEventHandler.m in Sources */ = {isa = PBXBuildFile; fileRef = 83B9A9E53009BCB9BF7BBA4F343A69A5 /* RNNotificationEventHandler.m */; };
- E6B5795FF7682CBDA63CCD59D0F77A97 /* EXConstantsService.h in Headers */ = {isa = PBXBuildFile; fileRef = C705A4B5660481823B15FF456EA0D4E0 /* EXConstantsService.h */; settings = {ATTRIBUTES = (Project, ); }; };
+ E688DFFA4F1136F81C5A827A53AAB6E7 /* QBAlbumCell.h in Headers */ = {isa = PBXBuildFile; fileRef = C2213E8D556EC7FC06C271F1AABEE4C4 /* QBAlbumCell.h */; settings = {ATTRIBUTES = (Project, ); }; };
+ E68B43E6FD698297F30F114210754081 /* RCTVirtualTextShadowView.h in Headers */ = {isa = PBXBuildFile; fileRef = 31023645B613C5ABE4938EAFD281C64B /* RCTVirtualTextShadowView.h */; settings = {ATTRIBUTES = (Project, ); }; };
+ E6B5795FF7682CBDA63CCD59D0F77A97 /* EXConstantsService.h in Headers */ = {isa = PBXBuildFile; fileRef = 63DC28D9B63C18814B576F7016271D3C /* EXConstantsService.h */; settings = {ATTRIBUTES = (Project, ); }; };
E6E306527999E035678E03FCFB44F5E6 /* FIROptions.m in Sources */ = {isa = PBXBuildFile; fileRef = D92695BB5FA342D3097CEFDBEF6DF44F /* FIROptions.m */; };
- E6F7E570DC27C7D5F1A6D94B5BDD7FE1 /* RCTDatePicker.h in Headers */ = {isa = PBXBuildFile; fileRef = 0998319985B28A5401F4330C67F232C2 /* RCTDatePicker.h */; settings = {ATTRIBUTES = (Project, ); }; };
- E71F59E0DA3F7D14E56DCE0EDA82EC8B /* BSG_KSDynamicLinker.h in Headers */ = {isa = PBXBuildFile; fileRef = 51FCC13A8436C9361C9172971761C0F1 /* BSG_KSDynamicLinker.h */; settings = {ATTRIBUTES = (Project, ); }; };
- E73C92FD08E89CADA76523CD72196F8D /* RNPushKitEventHandler.h in Headers */ = {isa = PBXBuildFile; fileRef = 29D1E9CBA6FE8CA291D5DAD000561C0E /* RNPushKitEventHandler.h */; settings = {ATTRIBUTES = (Project, ); }; };
- E750048AAA181BA7A47A86704DD79197 /* RCTTextShadowView.m in Sources */ = {isa = PBXBuildFile; fileRef = A975C6F758423DCC6B176C380C988EE9 /* RCTTextShadowView.m */; };
- E754433A855300E3471A960649F23ED3 /* JSBigString.h in Headers */ = {isa = PBXBuildFile; fileRef = 69B08C1BE5A410E51AB72085BA181C9F /* JSBigString.h */; settings = {ATTRIBUTES = (Project, ); }; };
- E7AA00AF719F676F6616114D1984DBE7 /* RCTNativeAnimatedNodesManager.h in Headers */ = {isa = PBXBuildFile; fileRef = 5304209E42C87A8A8C80C8495BA6944A /* RCTNativeAnimatedNodesManager.h */; settings = {ATTRIBUTES = (Project, ); }; };
+ E6F7E570DC27C7D5F1A6D94B5BDD7FE1 /* RCTDatePicker.h in Headers */ = {isa = PBXBuildFile; fileRef = 179F51A25A98C7F72D0DC06BF2A30B15 /* RCTDatePicker.h */; settings = {ATTRIBUTES = (Project, ); }; };
+ E71F59E0DA3F7D14E56DCE0EDA82EC8B /* BSG_KSDynamicLinker.h in Headers */ = {isa = PBXBuildFile; fileRef = 396876FDEBD185468EDFE7B924C3800E /* BSG_KSDynamicLinker.h */; settings = {ATTRIBUTES = (Project, ); }; };
+ E750048AAA181BA7A47A86704DD79197 /* RCTTextShadowView.m in Sources */ = {isa = PBXBuildFile; fileRef = 2A6D6EDB72D1093E2ABAD34C6873003F /* RCTTextShadowView.m */; };
+ E754433A855300E3471A960649F23ED3 /* JSBigString.h in Headers */ = {isa = PBXBuildFile; fileRef = D8AA78A05A260595FCDB8F123DD80A36 /* JSBigString.h */; settings = {ATTRIBUTES = (Project, ); }; };
+ E7AA00AF719F676F6616114D1984DBE7 /* RCTNativeAnimatedNodesManager.h in Headers */ = {isa = PBXBuildFile; fileRef = D5B323D756BA9C82B617CD587FAFADAC /* RCTNativeAnimatedNodesManager.h */; settings = {ATTRIBUTES = (Project, ); }; };
E7C34B87DC7FCB383BC57216BEAD94B4 /* mips_macro.h in Headers */ = {isa = PBXBuildFile; fileRef = 8DE6DEFBC0F970FE24F1BC177BC7A3F7 /* mips_macro.h */; settings = {ATTRIBUTES = (Project, ); }; };
- E7D5EBF8E97C6FD542E1B950F1F8BCF1 /* RCTGIFImageDecoder.h in Headers */ = {isa = PBXBuildFile; fileRef = CFEE9B8DD3C1F3C4DFFF6505D5F3C518 /* RCTGIFImageDecoder.h */; settings = {ATTRIBUTES = (Project, ); }; };
- E82B9286BA1E6550F1412B4F9A16F720 /* UIImage+Resize.m in Sources */ = {isa = PBXBuildFile; fileRef = B1566C93EE57622DA51FDAF09D0F1F49 /* UIImage+Resize.m */; };
- E840FA27CBF8216BD28C324F03A53BE0 /* RCTLocalAssetImageLoader.m in Sources */ = {isa = PBXBuildFile; fileRef = 4A32F4D0F83FC123F3760246A8647E5A /* RCTLocalAssetImageLoader.m */; };
+ E7D5EBF8E97C6FD542E1B950F1F8BCF1 /* RCTGIFImageDecoder.h in Headers */ = {isa = PBXBuildFile; fileRef = 0E1299C98B922F8D2850E33B0B033BAB /* RCTGIFImageDecoder.h */; settings = {ATTRIBUTES = (Project, ); }; };
+ E840FA27CBF8216BD28C324F03A53BE0 /* RCTLocalAssetImageLoader.m in Sources */ = {isa = PBXBuildFile; fileRef = 32EB95FC859F2A83F5192859D0A0294B /* RCTLocalAssetImageLoader.m */; };
+ E8606DA295B8CD3E9080879145EE3019 /* QBVideoIndicatorView.m in Sources */ = {isa = PBXBuildFile; fileRef = 48CD2B35BC4BD01DF2BEAFC34A84C2DE /* QBVideoIndicatorView.m */; };
E86169365D2CF36E06692F2CA8B48644 /* FIRInstanceIDCheckinStore.h in Headers */ = {isa = PBXBuildFile; fileRef = 640C9F3E1DCDD8A204E08198B7D918AF /* FIRInstanceIDCheckinStore.h */; settings = {ATTRIBUTES = (Project, ); }; };
- E879251E0F02E70727FBBABED9C4FE01 /* RCTBorderDrawing.m in Sources */ = {isa = PBXBuildFile; fileRef = BCA539FFF3F941FF5B7D9D6A54969089 /* RCTBorderDrawing.m */; settings = {COMPILER_FLAGS = "-DFOLLY_NO_CONFIG -DFOLLY_MOBILE=1 -DFOLLY_USE_LIBCPP=1 -Wno-comma -Wno-shorten-64-to-32 -Wno-documentation"; }; };
- E89850E58EF9AC1E0B8B793A66B4E83D /* React-RCTActionSheet-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 6A92419C943EC13BA2D138304137070B /* React-RCTActionSheet-dummy.m */; };
+ E879251E0F02E70727FBBABED9C4FE01 /* RCTBorderDrawing.m in Sources */ = {isa = PBXBuildFile; fileRef = 88EE11D14EBE13B26AFCBACDBC4297D0 /* RCTBorderDrawing.m */; settings = {COMPILER_FLAGS = "-DFOLLY_NO_CONFIG -DFOLLY_MOBILE=1 -DFOLLY_USE_LIBCPP=1 -Wno-comma -Wno-shorten-64-to-32 -Wno-documentation"; }; };
+ E89850E58EF9AC1E0B8B793A66B4E83D /* React-RCTActionSheet-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = FC3803191C9D8BAB0303CAA2090A051A /* React-RCTActionSheet-dummy.m */; };
+ E89ABA4DA31172E5C712F1119E3B7677 /* RSKImageCropViewController+Protected.h in Headers */ = {isa = PBXBuildFile; fileRef = 6415EC638519FC624A6A88227B41DECF /* RSKImageCropViewController+Protected.h */; settings = {ATTRIBUTES = (Project, ); }; };
E8C0A0E2222FF021FE0174A246F9AD21 /* FIRAppAssociationRegistration.m in Sources */ = {isa = PBXBuildFile; fileRef = 4F4BE2B2E5D6E1D8C9158F3A110B29D7 /* FIRAppAssociationRegistration.m */; };
- E8D743770042CD9C6CF68FE5BD483250 /* ReactMarker.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A100B78122774F16BDABD6DD4EE944F9 /* ReactMarker.cpp */; settings = {COMPILER_FLAGS = "-DFOLLY_NO_CONFIG -DFOLLY_MOBILE=1 -DFOLLY_USE_LIBCPP=1 -Wno-comma -Wno-shorten-64-to-32 -Wno-documentation"; }; };
- E96695BC50234E83F29C6AFBE4C15FC8 /* RCTFollyConvert.mm in Sources */ = {isa = PBXBuildFile; fileRef = B48A0374B4DC5138CD89954DF4515952 /* RCTFollyConvert.mm */; settings = {COMPILER_FLAGS = "-DFOLLY_NO_CONFIG -DFOLLY_MOBILE=1 -DFOLLY_USE_LIBCPP=1 -Wno-comma -Wno-shorten-64-to-32 -Wno-documentation"; }; };
- E96BEBBADD459AB404A2D6A5EEF23905 /* RCTRootViewInternal.h in Headers */ = {isa = PBXBuildFile; fileRef = 719BA831D47D14FF43F36AAB72E7AA28 /* RCTRootViewInternal.h */; settings = {ATTRIBUTES = (Project, ); }; };
- E98320063FA310980862298B0AD508ED /* RCTModalHostView.m in Sources */ = {isa = PBXBuildFile; fileRef = E47B3A619E3246E73F7FC5005E1BAF25 /* RCTModalHostView.m */; settings = {COMPILER_FLAGS = "-DFOLLY_NO_CONFIG -DFOLLY_MOBILE=1 -DFOLLY_USE_LIBCPP=1 -Wno-comma -Wno-shorten-64-to-32 -Wno-documentation"; }; };
- E99556A2EE985E045BD301E4B12C506F /* RCTModuleData.mm in Sources */ = {isa = PBXBuildFile; fileRef = C0FB74D9FEEF8BA602E8CE4E278951F0 /* RCTModuleData.mm */; settings = {COMPILER_FLAGS = "-DFOLLY_NO_CONFIG -DFOLLY_MOBILE=1 -DFOLLY_USE_LIBCPP=1 -Wno-comma -Wno-shorten-64-to-32 -Wno-documentation"; }; };
- E99670DE6BBAD7C09E618409533D1080 /* EXDownloadDelegate.h in Headers */ = {isa = PBXBuildFile; fileRef = 04DCC79609E42FF3547F7DD8B6332862 /* EXDownloadDelegate.h */; settings = {ATTRIBUTES = (Project, ); }; };
- E9B2751085E5285A7484E657234ECE5B /* RCTUIUtils.h in Headers */ = {isa = PBXBuildFile; fileRef = 1633CBBC60724E8930CF9DA0A5F2FDDF /* RCTUIUtils.h */; settings = {ATTRIBUTES = (Project, ); }; };
- E9E1124F01D54146BCDBA6186131A250 /* UMInternalModule.h in Headers */ = {isa = PBXBuildFile; fileRef = 09B90D5F4FD4F51E51C2E03284994DCF /* UMInternalModule.h */; settings = {ATTRIBUTES = (Project, ); }; };
- EA1FCCB4CFACDB1FFA0E8C8F4DAB202C /* RCTMaskedView.m in Sources */ = {isa = PBXBuildFile; fileRef = 75A4F2ECA238E9C7CBD8A429A5E3C215 /* RCTMaskedView.m */; settings = {COMPILER_FLAGS = "-DFOLLY_NO_CONFIG -DFOLLY_MOBILE=1 -DFOLLY_USE_LIBCPP=1 -Wno-comma -Wno-shorten-64-to-32 -Wno-documentation"; }; };
- EA2EBACA7EED4A0E9C827B5E68C8B6DC /* RCTInputAccessoryViewContent.m in Sources */ = {isa = PBXBuildFile; fileRef = F35DA379F944B5C92E1AD3B875E420B2 /* RCTInputAccessoryViewContent.m */; };
- EA3DD67E50D2AB66AFD3577F70148438 /* RCTMessageThread.mm in Sources */ = {isa = PBXBuildFile; fileRef = EF1588AC4EAF6C499DB1678BA5CBA472 /* RCTMessageThread.mm */; settings = {COMPILER_FLAGS = "-DFOLLY_NO_CONFIG -DFOLLY_MOBILE=1 -DFOLLY_USE_LIBCPP=1 -Wno-comma -Wno-shorten-64-to-32 -Wno-documentation"; }; };
+ E8D743770042CD9C6CF68FE5BD483250 /* ReactMarker.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2E36C055478C4690F39003F18876D0FA /* ReactMarker.cpp */; settings = {COMPILER_FLAGS = "-DFOLLY_NO_CONFIG -DFOLLY_MOBILE=1 -DFOLLY_USE_LIBCPP=1 -Wno-comma -Wno-shorten-64-to-32 -Wno-documentation"; }; };
+ E8DA7DF06C06567198FF72D0B315B0B6 /* RNFirebaseAdMobInterstitial.h in Headers */ = {isa = PBXBuildFile; fileRef = 27E403E299FA41A691590CE23B4FFA20 /* RNFirebaseAdMobInterstitial.h */; settings = {ATTRIBUTES = (Project, ); }; };
+ E8E82D1F8ECFE65B27D61922C916770B /* RNFirebaseStorage.h in Headers */ = {isa = PBXBuildFile; fileRef = 33B4ADD9AF9E829858BE5E376C0CB927 /* RNFirebaseStorage.h */; settings = {ATTRIBUTES = (Project, ); }; };
+ E905F5F8EA723070D1AF2B8F6872ED83 /* RNDocumentPicker.h in Headers */ = {isa = PBXBuildFile; fileRef = B8153170BC7CE58EAA5A445E18D16622 /* RNDocumentPicker.h */; settings = {ATTRIBUTES = (Project, ); }; };
+ E9094D378F264079F1D91BE8F522B56B /* FFFastImageViewManager.m in Sources */ = {isa = PBXBuildFile; fileRef = EE701F465622F5738970A698363FA053 /* FFFastImageViewManager.m */; };
+ E96695BC50234E83F29C6AFBE4C15FC8 /* RCTFollyConvert.mm in Sources */ = {isa = PBXBuildFile; fileRef = F90F3A407FD36D480DB87CF7DFA12E7E /* RCTFollyConvert.mm */; settings = {COMPILER_FLAGS = "-DFOLLY_NO_CONFIG -DFOLLY_MOBILE=1 -DFOLLY_USE_LIBCPP=1 -Wno-comma -Wno-shorten-64-to-32 -Wno-documentation"; }; };
+ E96BEBBADD459AB404A2D6A5EEF23905 /* RCTRootViewInternal.h in Headers */ = {isa = PBXBuildFile; fileRef = 08DE838462CCEE52151A6F2A975FEF18 /* RCTRootViewInternal.h */; settings = {ATTRIBUTES = (Project, ); }; };
+ E98320063FA310980862298B0AD508ED /* RCTModalHostView.m in Sources */ = {isa = PBXBuildFile; fileRef = 346AD221A14DAD768F4EB57A0CE553B4 /* RCTModalHostView.m */; settings = {COMPILER_FLAGS = "-DFOLLY_NO_CONFIG -DFOLLY_MOBILE=1 -DFOLLY_USE_LIBCPP=1 -Wno-comma -Wno-shorten-64-to-32 -Wno-documentation"; }; };
+ E99556A2EE985E045BD301E4B12C506F /* RCTModuleData.mm in Sources */ = {isa = PBXBuildFile; fileRef = C83D63B12810CF78A827E708A60C0BFE /* RCTModuleData.mm */; settings = {COMPILER_FLAGS = "-DFOLLY_NO_CONFIG -DFOLLY_MOBILE=1 -DFOLLY_USE_LIBCPP=1 -Wno-comma -Wno-shorten-64-to-32 -Wno-documentation"; }; };
+ E99670DE6BBAD7C09E618409533D1080 /* EXDownloadDelegate.h in Headers */ = {isa = PBXBuildFile; fileRef = D9F59AFDFC435DC25F085FED69633C03 /* EXDownloadDelegate.h */; settings = {ATTRIBUTES = (Project, ); }; };
+ E9B2751085E5285A7484E657234ECE5B /* RCTUIUtils.h in Headers */ = {isa = PBXBuildFile; fileRef = 097CA428773A9286C47DC3A3529834D7 /* RCTUIUtils.h */; settings = {ATTRIBUTES = (Project, ); }; };
+ E9E1124F01D54146BCDBA6186131A250 /* UMInternalModule.h in Headers */ = {isa = PBXBuildFile; fileRef = 1F469AC18E3EFB6894D309B92F0C13EA /* UMInternalModule.h */; settings = {ATTRIBUTES = (Project, ); }; };
+ EA1FCCB4CFACDB1FFA0E8C8F4DAB202C /* RCTMaskedView.m in Sources */ = {isa = PBXBuildFile; fileRef = 47953AEC51E93F7B5CC3F148A53079E1 /* RCTMaskedView.m */; settings = {COMPILER_FLAGS = "-DFOLLY_NO_CONFIG -DFOLLY_MOBILE=1 -DFOLLY_USE_LIBCPP=1 -Wno-comma -Wno-shorten-64-to-32 -Wno-documentation"; }; };
+ EA2EBACA7EED4A0E9C827B5E68C8B6DC /* RCTInputAccessoryViewContent.m in Sources */ = {isa = PBXBuildFile; fileRef = 9DE81B961698153D1F488EC3C61E8462 /* RCTInputAccessoryViewContent.m */; };
+ EA3DD67E50D2AB66AFD3577F70148438 /* RCTMessageThread.mm in Sources */ = {isa = PBXBuildFile; fileRef = 364DA4291C12B9C5FA5A09914882DE1E /* RCTMessageThread.mm */; settings = {COMPILER_FLAGS = "-DFOLLY_NO_CONFIG -DFOLLY_MOBILE=1 -DFOLLY_USE_LIBCPP=1 -Wno-comma -Wno-shorten-64-to-32 -Wno-documentation"; }; };
+ EA405447C434148E7D76CED2558FAE7E /* RNFirebaseAuth.m in Sources */ = {isa = PBXBuildFile; fileRef = E087EB3EA5529E5D03AA765234B1A432 /* RNFirebaseAuth.m */; };
EA4EA907999C368EFFB0D9B659A32B7D /* NSError+FIRInstanceID.h in Headers */ = {isa = PBXBuildFile; fileRef = 9AA932672CB60D77223FA15FF4A94B88 /* NSError+FIRInstanceID.h */; settings = {ATTRIBUTES = (Project, ); }; };
- EA8A2DDEDD3CC7462E779225F04B76AA /* RCTI18nUtil.h in Headers */ = {isa = PBXBuildFile; fileRef = FBC5784C65CCEF99E222F6C980A85DA9 /* RCTI18nUtil.h */; settings = {ATTRIBUTES = (Project, ); }; };
+ EA8A2DDEDD3CC7462E779225F04B76AA /* RCTI18nUtil.h in Headers */ = {isa = PBXBuildFile; fileRef = 9699159240CB0797C7405684C5A03862 /* RCTI18nUtil.h */; settings = {ATTRIBUTES = (Project, ); }; };
+ EA9DBB2DEA77E69C4E1283E456F31470 /* RNGestureHandlerManager.h in Headers */ = {isa = PBXBuildFile; fileRef = 82DE2E775361451792E59C65F12F28E3 /* RNGestureHandlerManager.h */; settings = {ATTRIBUTES = (Project, ); }; };
EAAC31E35767E4527322215E77F500CB /* GULAppDelegateSwizzler.m in Sources */ = {isa = PBXBuildFile; fileRef = 84918B85A0DAE1D7A7BDFB9EE5CA552C /* GULAppDelegateSwizzler.m */; };
- EAE87FAFDD0A3FCB7B19D88842C5163A /* QBSlomoIconView.m in Sources */ = {isa = PBXBuildFile; fileRef = 3D9F9489DD97C0F4F3D28D56A71E3072 /* QBSlomoIconView.m */; };
- EAFDA6060BFF2BDF08E67C76FAE363F7 /* Yoga.h in Headers */ = {isa = PBXBuildFile; fileRef = A3F0B6BD586EC14A9538D13533D017D1 /* Yoga.h */; settings = {ATTRIBUTES = (Project, ); }; };
- EB145EC272E2ABC74685BA280E59ABEC /* RCTInspector.mm in Sources */ = {isa = PBXBuildFile; fileRef = 0796E70E97900B0A6980CA033F23CF25 /* RCTInspector.mm */; };
+ EAFDA6060BFF2BDF08E67C76FAE363F7 /* Yoga.h in Headers */ = {isa = PBXBuildFile; fileRef = 7B5D505A0B82686C2651A4450E05880F /* Yoga.h */; settings = {ATTRIBUTES = (Project, ); }; };
+ EB145EC272E2ABC74685BA280E59ABEC /* RCTInspector.mm in Sources */ = {isa = PBXBuildFile; fileRef = 69D9D74FC949125BF2C2DB9005D7D64C /* RCTInspector.mm */; };
EB5EBE499F86CBEC104916F420C11BD4 /* diy-fp.cc in Sources */ = {isa = PBXBuildFile; fileRef = 6B6DA382837796EE4053281F4618CBAF /* diy-fp.cc */; settings = {COMPILER_FLAGS = "-Wno-unreachable-code"; }; };
- EB5FDE0900500D251E2A58D288202037 /* EXVideoView.h in Headers */ = {isa = PBXBuildFile; fileRef = 025035FE772E5449028E2CBEF1FC6B74 /* EXVideoView.h */; settings = {ATTRIBUTES = (Project, ); }; };
+ EB5FDE0900500D251E2A58D288202037 /* EXVideoView.h in Headers */ = {isa = PBXBuildFile; fileRef = A387853801C3B8BD21B27217DF4D737E /* EXVideoView.h */; settings = {ATTRIBUTES = (Project, ); }; };
EB84C96FCA76318795D1CCA9A7E47337 /* cost.c in Sources */ = {isa = PBXBuildFile; fileRef = C51FB43FF431F8D11EC85C50B3A47981 /* cost.c */; settings = {COMPILER_FLAGS = "-D_THREAD_SAFE -fno-objc-arc"; }; };
- EBB7D00E275E9B10ED1F60E8E267AC76 /* BSG_KSCrashSentry_CPPException.mm in Sources */ = {isa = PBXBuildFile; fileRef = 75DCB76E0A56006430C33FFF5D042438 /* BSG_KSCrashSentry_CPPException.mm */; };
- EBF746926FEB9F3FD25A7FC3F01409D4 /* RCTLayoutAnimation.h in Headers */ = {isa = PBXBuildFile; fileRef = 27C44061A0B57A1C44DACB991569D4C9 /* RCTLayoutAnimation.h */; settings = {ATTRIBUTES = (Project, ); }; };
+ EBB7D00E275E9B10ED1F60E8E267AC76 /* BSG_KSCrashSentry_CPPException.mm in Sources */ = {isa = PBXBuildFile; fileRef = 92D3745F2D588D43A7FD3AEA8501154E /* BSG_KSCrashSentry_CPPException.mm */; };
+ EBF746926FEB9F3FD25A7FC3F01409D4 /* RCTLayoutAnimation.h in Headers */ = {isa = PBXBuildFile; fileRef = 457E298C228B315A9B8BD7949EEB5BAC /* RCTLayoutAnimation.h */; settings = {ATTRIBUTES = (Project, ); }; };
EBFDCBB17699B2B9EF9142B4B582D8BE /* utils.h in Headers */ = {isa = PBXBuildFile; fileRef = FAC0B5B43E4C182939F1CC3FEF655EC6 /* utils.h */; settings = {ATTRIBUTES = (Project, ); }; };
- ECDD2A5B652A7F7F698D6BD12EF7669B /* RNLongPressHandler.m in Sources */ = {isa = PBXBuildFile; fileRef = A767EAEBA4572D0F7D19DB2A54E9157D /* RNLongPressHandler.m */; };
- ECE1477B34D643F7B2DD2AE0B6E66100 /* RCTDevSettings.mm in Sources */ = {isa = PBXBuildFile; fileRef = 858098FC6ACAF41C85DF5CFDED39355F /* RCTDevSettings.mm */; settings = {COMPILER_FLAGS = "-DFOLLY_NO_CONFIG -DFOLLY_MOBILE=1 -DFOLLY_USE_LIBCPP=1 -Wno-comma -Wno-shorten-64-to-32 -Wno-documentation"; }; };
- ECFA6E2FE3B314AF0DD34252287AC5A1 /* RSKImageCropViewController+Protected.h in Headers */ = {isa = PBXBuildFile; fileRef = 6415EC638519FC624A6A88227B41DECF /* RSKImageCropViewController+Protected.h */; settings = {ATTRIBUTES = (Project, ); }; };
- ED6552A79E8B31CB7D4050D4BBB5FD78 /* SDWeakProxy.h in Headers */ = {isa = PBXBuildFile; fileRef = 12F9D5ADBA42BFAEFC1CF9EB1CE0A335 /* SDWeakProxy.h */; settings = {ATTRIBUTES = (Project, ); }; };
- ED8457448E87C986B7B5F51C3DE39EE1 /* RCTHTTPRequestHandler.mm in Sources */ = {isa = PBXBuildFile; fileRef = 839F49F504C6D1241D5C5903C6C51F2C /* RCTHTTPRequestHandler.mm */; };
- EDA1944132E3CCFB6E7664B7C303DC73 /* NSImage+Compatibility.h in Headers */ = {isa = PBXBuildFile; fileRef = C27410B1B3FAAB11B65B2B13128EA168 /* NSImage+Compatibility.h */; settings = {ATTRIBUTES = (Project, ); }; };
- EDF46B245B435882484D77489A7CAE91 /* BSG_KSCrashReportWriter.h in Headers */ = {isa = PBXBuildFile; fileRef = 65E2654FF81BF99000A2C70472CC8E31 /* BSG_KSCrashReportWriter.h */; settings = {ATTRIBUTES = (Project, ); }; };
+ EC826E973CF28211EB03402D718EB616 /* RNRootViewGestureRecognizer.m in Sources */ = {isa = PBXBuildFile; fileRef = FE7E422C753FEE0469718981846E436C /* RNRootViewGestureRecognizer.m */; };
+ ECE1477B34D643F7B2DD2AE0B6E66100 /* RCTDevSettings.mm in Sources */ = {isa = PBXBuildFile; fileRef = 425443B6000BD24038D45348E4912B3F /* RCTDevSettings.mm */; settings = {COMPILER_FLAGS = "-DFOLLY_NO_CONFIG -DFOLLY_MOBILE=1 -DFOLLY_USE_LIBCPP=1 -Wno-comma -Wno-shorten-64-to-32 -Wno-documentation"; }; };
+ ED45F36A6BFCD84D2BB557A6E2814EA8 /* RNPushKitEventListener.h in Headers */ = {isa = PBXBuildFile; fileRef = 9540AEFD628AB49F8DBD6E16BB3733A1 /* RNPushKitEventListener.h */; settings = {ATTRIBUTES = (Project, ); }; };
+ ED8457448E87C986B7B5F51C3DE39EE1 /* RCTHTTPRequestHandler.mm in Sources */ = {isa = PBXBuildFile; fileRef = 2FFB0FCE1203F362487D2E60AB0F89D5 /* RCTHTTPRequestHandler.mm */; };
+ EDBB06CE73EF29831C7B13AFCCE1522F /* QBAssetsViewController.h in Headers */ = {isa = PBXBuildFile; fileRef = A78F59E96157CD7C59B8EDADE9AFC75F /* QBAssetsViewController.h */; settings = {ATTRIBUTES = (Project, ); }; };
+ EDF46B245B435882484D77489A7CAE91 /* BSG_KSCrashReportWriter.h in Headers */ = {isa = PBXBuildFile; fileRef = D8B34C2B68951B29ECF9A0210ACDC8E0 /* BSG_KSCrashReportWriter.h */; settings = {ATTRIBUTES = (Project, ); }; };
EE104EF6EF79C1AF1275B962BD8E1913 /* FirebaseInstanceID.h in Headers */ = {isa = PBXBuildFile; fileRef = F0DC26EA31AAB854D77A016CC2DF231C /* FirebaseInstanceID.h */; settings = {ATTRIBUTES = (Project, ); }; };
- EE3BF311F2D12A6005AFAC0C84DD366B /* RCTI18nManager.h in Headers */ = {isa = PBXBuildFile; fileRef = 2986D141A7ACF73BF7AAFF9871161D4C /* RCTI18nManager.h */; settings = {ATTRIBUTES = (Project, ); }; };
- EE67B234BF3596003CFEB29B85DEA5C6 /* RCTReconnectingWebSocket.m in Sources */ = {isa = PBXBuildFile; fileRef = 5921D9056C090C4E4F9021487BB0505C /* RCTReconnectingWebSocket.m */; };
- EE7A305C4A6291D172BE980B5FD8C889 /* RCTObjcExecutor.mm in Sources */ = {isa = PBXBuildFile; fileRef = 81F0852A74C2F763ED3056AE3C31A1CE /* RCTObjcExecutor.mm */; settings = {COMPILER_FLAGS = "-DFOLLY_NO_CONFIG -DFOLLY_MOBILE=1 -DFOLLY_USE_LIBCPP=1 -Wno-comma -Wno-shorten-64-to-32 -Wno-documentation"; }; };
- EE8CCDFC9BE25C59E5C29E45E4D60FC7 /* RCTDeviceInfo.h in Headers */ = {isa = PBXBuildFile; fileRef = FE97B19E367D20DD4F6D18811E61FC6B /* RCTDeviceInfo.h */; settings = {ATTRIBUTES = (Project, ); }; };
+ EE172A3AD0A48B5D62F25511D89C4D8D /* SDImageCacheDefine.h in Headers */ = {isa = PBXBuildFile; fileRef = 9D9C521105A559BABCEDD5E16902A159 /* SDImageCacheDefine.h */; settings = {ATTRIBUTES = (Project, ); }; };
+ EE3BF311F2D12A6005AFAC0C84DD366B /* RCTI18nManager.h in Headers */ = {isa = PBXBuildFile; fileRef = B3BA1AB422512F31D5D3F342963D8AA7 /* RCTI18nManager.h */; settings = {ATTRIBUTES = (Project, ); }; };
+ EE523683F3251F823BCB86E8F0FA9808 /* UMReactNativeEventEmitter.h in Headers */ = {isa = PBXBuildFile; fileRef = 07995A9A486AABFFB1A925B926B92588 /* UMReactNativeEventEmitter.h */; settings = {ATTRIBUTES = (Project, ); }; };
+ EE67B234BF3596003CFEB29B85DEA5C6 /* RCTReconnectingWebSocket.m in Sources */ = {isa = PBXBuildFile; fileRef = FDFC0E3EA1684FBDF62899CC09E6B235 /* RCTReconnectingWebSocket.m */; };
+ EE71BC9DD13BFB2AE0B24BF6E7F0A064 /* RNCUIWebViewManager.h in Headers */ = {isa = PBXBuildFile; fileRef = AAC133BB06B57F90F667AF0D9662002B /* RNCUIWebViewManager.h */; settings = {ATTRIBUTES = (Project, ); }; };
+ EE7A305C4A6291D172BE980B5FD8C889 /* RCTObjcExecutor.mm in Sources */ = {isa = PBXBuildFile; fileRef = 9D0D010C032F399880E3B9FF09BB390D /* RCTObjcExecutor.mm */; settings = {COMPILER_FLAGS = "-DFOLLY_NO_CONFIG -DFOLLY_MOBILE=1 -DFOLLY_USE_LIBCPP=1 -Wno-comma -Wno-shorten-64-to-32 -Wno-documentation"; }; };
+ EE87A3DB6C74CD1EF40415CD328BA4DC /* RNAudio-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 8A1633F90D65F33760CF83DC8D057D7C /* RNAudio-dummy.m */; };
+ EE8CCDFC9BE25C59E5C29E45E4D60FC7 /* RCTDeviceInfo.h in Headers */ = {isa = PBXBuildFile; fileRef = AE7F65687940CD74687B08E88F9E4050 /* RCTDeviceInfo.h */; settings = {ATTRIBUTES = (Project, ); }; };
EED6B6003D213CAE58C690B80D6A447B /* cached-powers.cc in Sources */ = {isa = PBXBuildFile; fileRef = 10AA951FD7F3547E3E7F4EA247DEE5F3 /* cached-powers.cc */; settings = {COMPILER_FLAGS = "-Wno-unreachable-code"; }; };
- EF057C036B7B732BC9F983413A29C1E0 /* EXFileSystem-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = FCB7DEAB4F9C6F0717BC601CD6ACB105 /* EXFileSystem-dummy.m */; };
+ EF057C036B7B732BC9F983413A29C1E0 /* EXFileSystem-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = CB811165DE312C75E020F01700F92B6A /* EXFileSystem-dummy.m */; };
EF3EF19E2A6870928C6DF8483735009A /* FIRInstanceIDCheckinPreferences.h in Headers */ = {isa = PBXBuildFile; fileRef = 8FAAFC8F6CEDFDC2C3EE9FB8B7ED5DF7 /* FIRInstanceIDCheckinPreferences.h */; settings = {ATTRIBUTES = (Project, ); }; };
- EF4F3706D8CE12B96CA12D3B4ED8314D /* QBVideoIndicatorView.m in Sources */ = {isa = PBXBuildFile; fileRef = 48CD2B35BC4BD01DF2BEAFC34A84C2DE /* QBVideoIndicatorView.m */; };
EF50002916CEC80914347DB9927D8C56 /* FIRErrorCode.h in Headers */ = {isa = PBXBuildFile; fileRef = 71E13006004609295DEC227B8F1EE4C3 /* FIRErrorCode.h */; settings = {ATTRIBUTES = (Project, ); }; };
EF8033FBE008CD4B0826A361DF15F3A2 /* yuv_mips32.c in Sources */ = {isa = PBXBuildFile; fileRef = 237D4F29F78472DBEA70FFC0D0B6CB26 /* yuv_mips32.c */; settings = {COMPILER_FLAGS = "-D_THREAD_SAFE -fno-objc-arc"; }; };
- EF9523172BFB4BDD5562D01FC2015AD6 /* LNInterpolable.m in Sources */ = {isa = PBXBuildFile; fileRef = B4ED8AFEC692CBA0AC7B02C7F698FA34 /* LNInterpolable.m */; };
- EFB5DFFFCB92DA25AC4EF55E9765A854 /* RCTActivityIndicatorView.h in Headers */ = {isa = PBXBuildFile; fileRef = F67D1A59413B08899793F54C63A96165 /* RCTActivityIndicatorView.h */; settings = {ATTRIBUTES = (Project, ); }; };
- EFF53F15862FFD362A910C4E7BA30CB6 /* QBAssetCell.h in Headers */ = {isa = PBXBuildFile; fileRef = D789BEB1135AC3B0BE77669B26C9A31F /* QBAssetCell.h */; settings = {ATTRIBUTES = (Project, ); }; };
- EFFC3BDD07E133EC6A7F2BD4EBA0D449 /* RCTMultilineTextInputViewManager.m in Sources */ = {isa = PBXBuildFile; fileRef = F8047EA8B25A1E9A432CC2FE3B24E8EE /* RCTMultilineTextInputViewManager.m */; };
- F02F34CB42729035485472AE0410B1E1 /* RNFetchBlobConst.m in Sources */ = {isa = PBXBuildFile; fileRef = 2A55C6483662547921D540EA1F10B71C /* RNFetchBlobConst.m */; };
- F041F8DFBA2C0351C4A107901632B20E /* RNFirebaseNotifications.m in Sources */ = {isa = PBXBuildFile; fileRef = A59DBE076A43517A7F4BCCAB673A6550 /* RNFirebaseNotifications.m */; };
+ EF8B146DE9F12ED5C274F3A4BA4565BB /* UIView+FindUIViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 51FF4577F67906E710909E28A54E852D /* UIView+FindUIViewController.m */; };
+ EFB5DFFFCB92DA25AC4EF55E9765A854 /* RCTActivityIndicatorView.h in Headers */ = {isa = PBXBuildFile; fileRef = C823BFA45CE4EBD9928EE44D32C85A7C /* RCTActivityIndicatorView.h */; settings = {ATTRIBUTES = (Project, ); }; };
+ EFC6EA3B8E1A73E6434542C97608482B /* NativeExpressComponent.m in Sources */ = {isa = PBXBuildFile; fileRef = ECD31424DD1A69434113297A99F9662D /* NativeExpressComponent.m */; };
+ EFF68FD96F56809343365E16D6CC9CE4 /* RNNotificationCenterListener.m in Sources */ = {isa = PBXBuildFile; fileRef = 47C44753081255FE20694073B672AC75 /* RNNotificationCenterListener.m */; };
+ EFFC3BDD07E133EC6A7F2BD4EBA0D449 /* RCTMultilineTextInputViewManager.m in Sources */ = {isa = PBXBuildFile; fileRef = 2C68734BD8DF25372FF4AD5B86B656DE /* RCTMultilineTextInputViewManager.m */; };
F06CE2C5BB5EF02B82AAC45839664EF4 /* muxread.c in Sources */ = {isa = PBXBuildFile; fileRef = 0DEFBD536795E197A039DD7957D2CB8C /* muxread.c */; settings = {COMPILER_FLAGS = "-D_THREAD_SAFE -fno-objc-arc"; }; };
- F091BB9661A4345D85F945ED606B30FE /* EXSystemBrightnessRequester.h in Headers */ = {isa = PBXBuildFile; fileRef = FCB19D270A1C7D3C4CD9D256F2339CFB /* EXSystemBrightnessRequester.h */; settings = {ATTRIBUTES = (Project, ); }; };
- F0BCB7129309F88F2E2A35B74AF58CB0 /* RCTSafeAreaViewManager.m in Sources */ = {isa = PBXBuildFile; fileRef = 1DC7555488DB45401FB088CC9FA68683 /* RCTSafeAreaViewManager.m */; settings = {COMPILER_FLAGS = "-DFOLLY_NO_CONFIG -DFOLLY_MOBILE=1 -DFOLLY_USE_LIBCPP=1 -Wno-comma -Wno-shorten-64-to-32 -Wno-documentation"; }; };
- F0E83999128CC0390AF97F8F252953FF /* RCTImageShadowView.m in Sources */ = {isa = PBXBuildFile; fileRef = AFBB592524D13CC593651821C1B9703A /* RCTImageShadowView.m */; };
+ F091BB9661A4345D85F945ED606B30FE /* EXSystemBrightnessRequester.h in Headers */ = {isa = PBXBuildFile; fileRef = 86F126411B4314E37DFE23282E334A84 /* EXSystemBrightnessRequester.h */; settings = {ATTRIBUTES = (Project, ); }; };
+ F0BCB7129309F88F2E2A35B74AF58CB0 /* RCTSafeAreaViewManager.m in Sources */ = {isa = PBXBuildFile; fileRef = AC847D9435FDB40226F9F06C46854442 /* RCTSafeAreaViewManager.m */; settings = {COMPILER_FLAGS = "-DFOLLY_NO_CONFIG -DFOLLY_MOBILE=1 -DFOLLY_USE_LIBCPP=1 -Wno-comma -Wno-shorten-64-to-32 -Wno-documentation"; }; };
+ F0E83999128CC0390AF97F8F252953FF /* RCTImageShadowView.m in Sources */ = {isa = PBXBuildFile; fileRef = 170A58C2DEB8E9B404482AD1392813E4 /* RCTImageShadowView.m */; };
+ F0F8832AF7555398BCD2FB37017BC3E5 /* QBImagePickerController.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B971150FC24EBFD854AC1064FB9E130 /* QBImagePickerController.h */; settings = {ATTRIBUTES = (Project, ); }; };
F11F15E67165DE77897C120245B43443 /* FIRInstanceIDLogger.m in Sources */ = {isa = PBXBuildFile; fileRef = 67576BA243FA4BB19B4835623AC33698 /* FIRInstanceIDLogger.m */; };
- F1223DA29DB0A5D1C1861DAD8D53034F /* RNNotifications.h in Headers */ = {isa = PBXBuildFile; fileRef = 9F07F4E4E9831A0487901BD16EDC8E1B /* RNNotifications.h */; settings = {ATTRIBUTES = (Project, ); }; };
- F14406C79BE2DD3B10F16F32546490BF /* BugsnagErrorReportApiClient.m in Sources */ = {isa = PBXBuildFile; fileRef = 41F3003DE6D1BACA624FE676982E26F3 /* BugsnagErrorReportApiClient.m */; };
- F17272A6888EFBDB88AA415C44607089 /* BannerComponent.h in Headers */ = {isa = PBXBuildFile; fileRef = 7154C06FEA7D2FAADB03EA50EEF1E2E1 /* BannerComponent.h */; settings = {ATTRIBUTES = (Project, ); }; };
- F17E4986B3D111A53BA491D7B8E48A30 /* RNRealmPath.m in Sources */ = {isa = PBXBuildFile; fileRef = 37B27A59843A3E0F0B1E8F28A387D6B2 /* RNRealmPath.m */; };
- F18F8081CAF129BC6911E84FF584AE99 /* ReactNativeShareExtension.m in Sources */ = {isa = PBXBuildFile; fileRef = BA617FF41B863549909794B818A7F3B1 /* ReactNativeShareExtension.m */; };
- F1A5DC4EC0981B1A38FCE99D9493DC0E /* react-native-keyboard-tracking-view-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 6BDC722B8527F5109F52F7AA85834E06 /* react-native-keyboard-tracking-view-dummy.m */; };
- F1EA883FB1EB4A3E878D4CF627C09FA1 /* BSG_KSSingleton.h in Headers */ = {isa = PBXBuildFile; fileRef = 6D3E0E406E03046948B101EE2C35396D /* BSG_KSSingleton.h */; settings = {ATTRIBUTES = (Project, ); }; };
- F1F84C6881EBBA373FFCA637B357830B /* RCTLog.h in Headers */ = {isa = PBXBuildFile; fileRef = 00A042E9F189D84A9DB3C5D99970425E /* RCTLog.h */; settings = {ATTRIBUTES = (Project, ); }; };
+ F135134FBBCA1DA05455CD4685428AE0 /* UIImage+MultiFormat.m in Sources */ = {isa = PBXBuildFile; fileRef = C7A211D880609219AD1E52CDEA38A7B5 /* UIImage+MultiFormat.m */; };
+ F14406C79BE2DD3B10F16F32546490BF /* BugsnagErrorReportApiClient.m in Sources */ = {isa = PBXBuildFile; fileRef = C400853908FE421923D3EF5100903147 /* BugsnagErrorReportApiClient.m */; };
+ F1EA883FB1EB4A3E878D4CF627C09FA1 /* BSG_KSSingleton.h in Headers */ = {isa = PBXBuildFile; fileRef = C183D9B109DDFA336407D4108AF2A047 /* BSG_KSSingleton.h */; settings = {ATTRIBUTES = (Project, ); }; };
+ F1F84C6881EBBA373FFCA637B357830B /* RCTLog.h in Headers */ = {isa = PBXBuildFile; fileRef = 2F9ED45FB874E7DF88E9E243C25F5C30 /* RCTLog.h */; settings = {ATTRIBUTES = (Project, ); }; };
F1FD68E15FE818E00E17128C880C5E09 /* FIRInstanceIDAuthKeyChain.h in Headers */ = {isa = PBXBuildFile; fileRef = EA887C26BFCAC6B2AEC4331F194C624A /* FIRInstanceIDAuthKeyChain.h */; settings = {ATTRIBUTES = (Project, ); }; };
F214324939EEA0343308B64D185B9042 /* FIRInstanceIDCheckinPreferences+Internal.m in Sources */ = {isa = PBXBuildFile; fileRef = DEF7455BCD31EEFC00BA2E4BDCF20320 /* FIRInstanceIDCheckinPreferences+Internal.m */; };
- F231049CF4CD4BAFC3CBC7D76FF1DCC0 /* RCTPickerManager.m in Sources */ = {isa = PBXBuildFile; fileRef = 56025122DD50904953B45FB161876883 /* RCTPickerManager.m */; settings = {COMPILER_FLAGS = "-DFOLLY_NO_CONFIG -DFOLLY_MOBILE=1 -DFOLLY_USE_LIBCPP=1 -Wno-comma -Wno-shorten-64-to-32 -Wno-documentation"; }; };
+ F231049CF4CD4BAFC3CBC7D76FF1DCC0 /* RCTPickerManager.m in Sources */ = {isa = PBXBuildFile; fileRef = 33C4761C979314BCDE0DBB46125C03CE /* RCTPickerManager.m */; settings = {COMPILER_FLAGS = "-DFOLLY_NO_CONFIG -DFOLLY_MOBILE=1 -DFOLLY_USE_LIBCPP=1 -Wno-comma -Wno-shorten-64-to-32 -Wno-documentation"; }; };
+ F24D7B42D201D1C16DEF1E739C12A315 /* NSImage+Compatibility.h in Headers */ = {isa = PBXBuildFile; fileRef = C27410B1B3FAAB11B65B2B13128EA168 /* NSImage+Compatibility.h */; settings = {ATTRIBUTES = (Project, ); }; };
F2C98165A8FA083A0DDF7733AC494C84 /* FIRInstanceIDAPNSInfo.h in Headers */ = {isa = PBXBuildFile; fileRef = 64CD04BBDFD42707A7C5C11B96529054 /* FIRInstanceIDAPNSInfo.h */; settings = {ATTRIBUTES = (Project, ); }; };
- F2D614BADFD2BADF54B8DA5F1BEED159 /* RNFirebase.h in Headers */ = {isa = PBXBuildFile; fileRef = FDBA41EC10A1BBDFE8A85FC3F61E27B2 /* RNFirebase.h */; settings = {ATTRIBUTES = (Project, ); }; };
- F2F6F02B1856ADC0493B59A86843B567 /* EXAppRecordInterface.h in Headers */ = {isa = PBXBuildFile; fileRef = 2A0A28D4546151EBA821027CD1974F2A /* EXAppRecordInterface.h */; settings = {ATTRIBUTES = (Project, ); }; };
- F33023FE89389AB35B5B1B96BE67421E /* jsilib-posix.cpp in Sources */ = {isa = PBXBuildFile; fileRef = D8C72F7B2E970BBFB05C117A9B42E07E /* jsilib-posix.cpp */; settings = {COMPILER_FLAGS = "-DFOLLY_NO_CONFIG -DFOLLY_MOBILE=1 -DFOLLY_USE_LIBCPP=1 -Wno-comma -Wno-shorten-64-to-32 -Wno-documentation"; }; };
- F33EB548230902D3F4FE3F94C3BB1A0C /* RCTBridgeMethod.h in Headers */ = {isa = PBXBuildFile; fileRef = 1EC2372998FE17F07AB6E376CC3EE540 /* RCTBridgeMethod.h */; settings = {ATTRIBUTES = (Project, ); }; };
- F33F6534A6C6684506F8041FD965F6D3 /* RCTSRWebSocket.h in Headers */ = {isa = PBXBuildFile; fileRef = 7F1D0B8DF5222EC0E0CAD3F9EE2D8DA9 /* RCTSRWebSocket.h */; settings = {ATTRIBUTES = (Project, ); }; };
+ F2F6F02B1856ADC0493B59A86843B567 /* EXAppRecordInterface.h in Headers */ = {isa = PBXBuildFile; fileRef = 5F8FCBC361813C33E895A078DEAB80C7 /* EXAppRecordInterface.h */; settings = {ATTRIBUTES = (Project, ); }; };
+ F33023FE89389AB35B5B1B96BE67421E /* jsilib-posix.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1BBC95417977E4FFD1FCE77522A094AB /* jsilib-posix.cpp */; settings = {COMPILER_FLAGS = "-DFOLLY_NO_CONFIG -DFOLLY_MOBILE=1 -DFOLLY_USE_LIBCPP=1 -Wno-comma -Wno-shorten-64-to-32 -Wno-documentation"; }; };
+ F33EB548230902D3F4FE3F94C3BB1A0C /* RCTBridgeMethod.h in Headers */ = {isa = PBXBuildFile; fileRef = 8E5F93F2C3D001787AE5136AC358B322 /* RCTBridgeMethod.h */; settings = {ATTRIBUTES = (Project, ); }; };
+ F33F6534A6C6684506F8041FD965F6D3 /* RCTSRWebSocket.h in Headers */ = {isa = PBXBuildFile; fileRef = 96F3FDCE1BA2A8891EFD70ACBC901137 /* RCTSRWebSocket.h */; settings = {ATTRIBUTES = (Project, ); }; };
F35835EF76DF0D2C2E044A8C0EFC6E6F /* format_constants.h in Headers */ = {isa = PBXBuildFile; fileRef = 8744DCD5489A6A04E05D9A4DCB318449 /* format_constants.h */; settings = {ATTRIBUTES = (Project, ); }; };
F35AE33B0AF486D966DAAE3DF3D3AF16 /* near_lossless_enc.c in Sources */ = {isa = PBXBuildFile; fileRef = 8F6586DD6C58B6E31F75A08CBD67D854 /* near_lossless_enc.c */; settings = {COMPILER_FLAGS = "-D_THREAD_SAFE -fno-objc-arc"; }; };
- F3686FEE5D124CF27B2FF1ACA5473EFC /* BSG_RFC3339DateTool.m in Sources */ = {isa = PBXBuildFile; fileRef = D1515D4E6AA28258C36CD27BD0600B8F /* BSG_RFC3339DateTool.m */; };
- F37259F2DCCBF7CACA0E0D72EF7F6E91 /* RCTRootContentView.h in Headers */ = {isa = PBXBuildFile; fileRef = 7485969DB9697AA3AC4C004579FB6B16 /* RCTRootContentView.h */; settings = {ATTRIBUTES = (Project, ); }; };
- F3EA7A223EC505DC41F61F6F32FA3FC2 /* YGLayout.h in Headers */ = {isa = PBXBuildFile; fileRef = 34170CF0A7275C3B857EDE246944EE4F /* YGLayout.h */; settings = {ATTRIBUTES = (Project, ); }; };
- F3EFA6C09036ADC4A955C33DAF096876 /* RNDocumentPicker.h in Headers */ = {isa = PBXBuildFile; fileRef = 8695E8D9D7CD73B2DC4994742571D4A7 /* RNDocumentPicker.h */; settings = {ATTRIBUTES = (Project, ); }; };
+ F3686FEE5D124CF27B2FF1ACA5473EFC /* BSG_RFC3339DateTool.m in Sources */ = {isa = PBXBuildFile; fileRef = 6EE6998C796C153D3E737ECB5F0CDF99 /* BSG_RFC3339DateTool.m */; };
+ F37259F2DCCBF7CACA0E0D72EF7F6E91 /* RCTRootContentView.h in Headers */ = {isa = PBXBuildFile; fileRef = 6E9A06F49DE6FB6CCF076E91285C4F3B /* RCTRootContentView.h */; settings = {ATTRIBUTES = (Project, ); }; };
+ F3C30072E38EC5A5F93B315EEA53DF8B /* RCTVideoManager.h in Headers */ = {isa = PBXBuildFile; fileRef = EF16806A1DAFD648DE0A02BAD76C2D71 /* RCTVideoManager.h */; settings = {ATTRIBUTES = (Project, ); }; };
+ F3EA7A223EC505DC41F61F6F32FA3FC2 /* YGLayout.h in Headers */ = {isa = PBXBuildFile; fileRef = F7917E68DB25876BBB9663CFC6B51E9F /* YGLayout.h */; settings = {ATTRIBUTES = (Project, ); }; };
F40206DB1B71EDAB31FE7A4A03B7CAEB /* NSError+FIRInstanceID.m in Sources */ = {isa = PBXBuildFile; fileRef = A4210284401999C7C2A953A6E1522B88 /* NSError+FIRInstanceID.m */; };
- F4571F5F2937E0727204208F5599C8A2 /* RNFirebaseLinks.m in Sources */ = {isa = PBXBuildFile; fileRef = 99D86267E92E20F7682CBEC70752BF9A /* RNFirebaseLinks.m */; };
- F47F71697E14AE03E869FA160343419B /* RCTImageStoreManager.h in Headers */ = {isa = PBXBuildFile; fileRef = 3C86862AC4C81CCF2EAA87DB52B121A8 /* RCTImageStoreManager.h */; settings = {ATTRIBUTES = (Project, ); }; };
- F4CA0ABB380DEBCD3978443784CF6FD8 /* YGStyle.h in Headers */ = {isa = PBXBuildFile; fileRef = 2E0CBC99C8D57A81018B76E95208CA73 /* YGStyle.h */; settings = {ATTRIBUTES = (Project, ); }; };
- F4FDEA085593D9D7FFA19F2B573FC23D /* Compression.h in Headers */ = {isa = PBXBuildFile; fileRef = B6C5D256068816D47E48BEE02A6D0828 /* Compression.h */; settings = {ATTRIBUTES = (Project, ); }; };
- F51CEDE7D4F3E3D14FB613FCAE047CC0 /* RNFirebaseRemoteConfig.m in Sources */ = {isa = PBXBuildFile; fileRef = 41F726B4BF21C96F3372070B9A04FD5A /* RNFirebaseRemoteConfig.m */; };
- F554A37E188E8D13370DE7E1529C2AE9 /* RCTFont.mm in Sources */ = {isa = PBXBuildFile; fileRef = 6556D37C1A6EAA9A24F308227565CCC5 /* RCTFont.mm */; settings = {COMPILER_FLAGS = "-DFOLLY_NO_CONFIG -DFOLLY_MOBILE=1 -DFOLLY_USE_LIBCPP=1 -Wno-comma -Wno-shorten-64-to-32 -Wno-documentation"; }; };
- F555A055464F51B97AE6AB79C06405CD /* RCTBridge+Private.h in Headers */ = {isa = PBXBuildFile; fileRef = E9CB200BD9CCE21C0F08B998F8F9C736 /* RCTBridge+Private.h */; settings = {ATTRIBUTES = (Project, ); }; };
- F59A2E6A169C9E3A1F2C8AA38F99EA41 /* RCTConvert+RNNotifications.h in Headers */ = {isa = PBXBuildFile; fileRef = 43A7F47FC5597452C06B32E3D5DF7076 /* RCTConvert+RNNotifications.h */; settings = {ATTRIBUTES = (Project, ); }; };
- F5E177A8B363745D752EAF0CB6AABB38 /* SDImageIOCoder.m in Sources */ = {isa = PBXBuildFile; fileRef = 4638F9C2952ED417146E2D08B9F9A66B /* SDImageIOCoder.m */; };
- F60570A6B4E816FB550F7C0CB1EA3702 /* LNInterpolable.h in Headers */ = {isa = PBXBuildFile; fileRef = 9934938BF43738B30EF03FC41389D1FC /* LNInterpolable.h */; settings = {ATTRIBUTES = (Project, ); }; };
- F65C98E710AF4B777EEC3AB6D2318024 /* RCTModalHostViewController.h in Headers */ = {isa = PBXBuildFile; fileRef = 4B0428DEA3E0B3FD4804E36F98456BAF /* RCTModalHostViewController.h */; settings = {ATTRIBUTES = (Project, ); }; };
+ F43BBCE7D82CFDD774FF0CC705BCDCD9 /* UIResponder+FirstResponder.h in Headers */ = {isa = PBXBuildFile; fileRef = CC4ECC7556E9BB9D3B9FCF30F4B59750 /* UIResponder+FirstResponder.h */; settings = {ATTRIBUTES = (Project, ); }; };
+ F45F4719A795ACD4F23BF180239EF8F5 /* RNGestureHandler.h in Headers */ = {isa = PBXBuildFile; fileRef = 047D61DA792737FB89CBE7D4C8C0DAA5 /* RNGestureHandler.h */; settings = {ATTRIBUTES = (Project, ); }; };
+ F47F71697E14AE03E869FA160343419B /* RCTImageStoreManager.h in Headers */ = {isa = PBXBuildFile; fileRef = C6088EF1ED70823FC2AD12EE0041CA98 /* RCTImageStoreManager.h */; settings = {ATTRIBUTES = (Project, ); }; };
+ F4CA0ABB380DEBCD3978443784CF6FD8 /* YGStyle.h in Headers */ = {isa = PBXBuildFile; fileRef = E2BE4B94448B4AF3761B8D71148A97D7 /* YGStyle.h */; settings = {ATTRIBUTES = (Project, ); }; };
+ F554A37E188E8D13370DE7E1529C2AE9 /* RCTFont.mm in Sources */ = {isa = PBXBuildFile; fileRef = 8CF85B6F1BD1C9FC51A3F6A69E3E310D /* RCTFont.mm */; settings = {COMPILER_FLAGS = "-DFOLLY_NO_CONFIG -DFOLLY_MOBILE=1 -DFOLLY_USE_LIBCPP=1 -Wno-comma -Wno-shorten-64-to-32 -Wno-documentation"; }; };
+ F555A055464F51B97AE6AB79C06405CD /* RCTBridge+Private.h in Headers */ = {isa = PBXBuildFile; fileRef = B63B4F00FECB8C695B0EC342DA7F7C47 /* RCTBridge+Private.h */; settings = {ATTRIBUTES = (Project, ); }; };
+ F65C98E710AF4B777EEC3AB6D2318024 /* RCTModalHostViewController.h in Headers */ = {isa = PBXBuildFile; fileRef = 66B6468187237F107D577CA0151DDF8F /* RCTModalHostViewController.h */; settings = {ATTRIBUTES = (Project, ); }; };
F754EE115D83928D0C65BC06781D363D /* FIRInstanceIDTokenOperation+Private.h in Headers */ = {isa = PBXBuildFile; fileRef = 9C662BE1E5136DEDA982C87A14E80EBE /* FIRInstanceIDTokenOperation+Private.h */; settings = {ATTRIBUTES = (Project, ); }; };
- F75A233D7D1082E856303D5F2A1ABB4B /* BSG_KSCrashType.h in Headers */ = {isa = PBXBuildFile; fileRef = 7F5DCFC15BBA9B5728ECDD41EF3E46DD /* BSG_KSCrashType.h */; settings = {ATTRIBUTES = (Project, ); }; };
- F75AE0BCFD43BD407CB0573C1EDCAEBD /* SDImageAPNGCoder.m in Sources */ = {isa = PBXBuildFile; fileRef = DA09483D2E099B878AF3746E56EE4D24 /* SDImageAPNGCoder.m */; };
+ F75A233D7D1082E856303D5F2A1ABB4B /* BSG_KSCrashType.h in Headers */ = {isa = PBXBuildFile; fileRef = B6FEEB9B2E8A6635B68ED1D4141A405C /* BSG_KSCrashType.h */; settings = {ATTRIBUTES = (Project, ); }; };
+ F766FAF71C4D128EEA296E8E2B02B143 /* ObservingInputAccessoryView.h in Headers */ = {isa = PBXBuildFile; fileRef = 483A95D0635232EB4AC936AE08085471 /* ObservingInputAccessoryView.h */; settings = {ATTRIBUTES = (Project, ); }; };
F7B5C713C93A66F3BB23D0F48557C857 /* FIROptions.h in Headers */ = {isa = PBXBuildFile; fileRef = 3452466CC74C5FB4D8975B3FCC6E7B7C /* FIROptions.h */; settings = {ATTRIBUTES = (Project, ); }; };
- F7CF542D31F922726FEBFA1EA310BCBF /* RNFetchBlobFS.m in Sources */ = {isa = PBXBuildFile; fileRef = 4E199CA799F90B28D25DACDB39F56DBE /* RNFetchBlobFS.m */; };
- F81E2DFA7E076498AEFA487459C13FCF /* EXRemoteNotificationRequester.h in Headers */ = {isa = PBXBuildFile; fileRef = 999F5F8B222EFF85C10860E58D0BAF55 /* EXRemoteNotificationRequester.h */; settings = {ATTRIBUTES = (Project, ); }; };
+ F7F22AF293858E548FBAFD4F143C241D /* RNFirebaseAdMobBannerManager.h in Headers */ = {isa = PBXBuildFile; fileRef = 394BDB815DE48D2A33F464CFC477735A /* RNFirebaseAdMobBannerManager.h */; settings = {ATTRIBUTES = (Project, ); }; };
+ F81E2DFA7E076498AEFA487459C13FCF /* EXRemoteNotificationRequester.h in Headers */ = {isa = PBXBuildFile; fileRef = F1777411839475667AEDFCBB53C89119 /* EXRemoteNotificationRequester.h */; settings = {ATTRIBUTES = (Project, ); }; };
F820FC5D04E496FF37B057F3DFCF5012 /* iterator_enc.c in Sources */ = {isa = PBXBuildFile; fileRef = 70722C0B27E835BA1DD1AD8537B1FDF6 /* iterator_enc.c */; settings = {COMPILER_FLAGS = "-D_THREAD_SAFE -fno-objc-arc"; }; };
- F82705559F28795159F0222BCEFD488D /* RNGestureHandler.h in Headers */ = {isa = PBXBuildFile; fileRef = 070E37E4131991101081E2814D7F5B2D /* RNGestureHandler.h */; settings = {ATTRIBUTES = (Project, ); }; };
- F8430DF732D57F49D0B53B1AC14B9DD0 /* RCTEventEmitter.m in Sources */ = {isa = PBXBuildFile; fileRef = DA178373A57BE663276E21729B5830EC /* RCTEventEmitter.m */; settings = {COMPILER_FLAGS = "-DFOLLY_NO_CONFIG -DFOLLY_MOBILE=1 -DFOLLY_USE_LIBCPP=1 -Wno-comma -Wno-shorten-64-to-32 -Wno-documentation"; }; };
+ F8430DF732D57F49D0B53B1AC14B9DD0 /* RCTEventEmitter.m in Sources */ = {isa = PBXBuildFile; fileRef = AB885901FC14D68D250D44E66DB34B99 /* RCTEventEmitter.m */; settings = {COMPILER_FLAGS = "-DFOLLY_NO_CONFIG -DFOLLY_MOBILE=1 -DFOLLY_USE_LIBCPP=1 -Wno-comma -Wno-shorten-64-to-32 -Wno-documentation"; }; };
F864CE3C245F1BDF3E4A177FD9F45C2C /* huffman_encode_utils.c in Sources */ = {isa = PBXBuildFile; fileRef = 1B7EC0AA32B06D1369FA20D2167228CB /* huffman_encode_utils.c */; settings = {COMPILER_FLAGS = "-D_THREAD_SAFE -fno-objc-arc"; }; };
- F86A780677757EB4117D8A2746894D4D /* RCTSRWebSocket.m in Sources */ = {isa = PBXBuildFile; fileRef = 0D88516B5871C0B87E2AECA171C61798 /* RCTSRWebSocket.m */; };
- F86E75E1CD747F7804F390F2EE53A11B /* YGConfig.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 0B5D43ABC0997C94B50E7B816F573FBC /* YGConfig.cpp */; settings = {COMPILER_FLAGS = "-fno-omit-frame-pointer -fexceptions -Wall -Werror -std=c++1y -fPIC -fno-objc-arc"; }; };
- F87458D0DCB5F2CB576E30F689072AC6 /* RCTImageViewManager.h in Headers */ = {isa = PBXBuildFile; fileRef = F58C0C87CCA78B5784137FD80DD145A3 /* RCTImageViewManager.h */; settings = {ATTRIBUTES = (Project, ); }; };
+ F86A780677757EB4117D8A2746894D4D /* RCTSRWebSocket.m in Sources */ = {isa = PBXBuildFile; fileRef = D6B0BB8F5AF2DA37FF708002C3C5175F /* RCTSRWebSocket.m */; };
+ F86E75E1CD747F7804F390F2EE53A11B /* YGConfig.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4AE138455136B3567C19F8E82A9BE0C4 /* YGConfig.cpp */; settings = {COMPILER_FLAGS = "-fno-omit-frame-pointer -fexceptions -Wall -Werror -std=c++1y -fPIC -fno-objc-arc"; }; };
+ F87458D0DCB5F2CB576E30F689072AC6 /* RCTImageViewManager.h in Headers */ = {isa = PBXBuildFile; fileRef = 956FC0BC312E7C275B08396D4A55ECE5 /* RCTImageViewManager.h */; settings = {ATTRIBUTES = (Project, ); }; };
+ F879DE7CE144A60E38C3631111231D99 /* SDInternalMacros.m in Sources */ = {isa = PBXBuildFile; fileRef = 41D5DF19A7FA6D7B4FDCA08E1924A454 /* SDInternalMacros.m */; };
F8AE6C3A4F28C464C3E322BC0978D266 /* dec_clip_tables.c in Sources */ = {isa = PBXBuildFile; fileRef = 36460BB6827B23BC9A690E46DC6011FF /* dec_clip_tables.c */; settings = {COMPILER_FLAGS = "-D_THREAD_SAFE -fno-objc-arc"; }; };
- F9EAB175A1D36153ADF087EC859A8DF5 /* RNNotificationCenterListener.m in Sources */ = {isa = PBXBuildFile; fileRef = 0BA56B205FAF04D1E74B750F49131653 /* RNNotificationCenterListener.m */; };
+ F8C0B64A7F578F0C0C56D04A855F287F /* FFFastImageSource.m in Sources */ = {isa = PBXBuildFile; fileRef = 968FE2250FAA1E74FF579F635A26BAE4 /* FFFastImageSource.m */; };
+ F9271DD20E1E8A028891F4622069A309 /* SDWebImageCacheSerializer.h in Headers */ = {isa = PBXBuildFile; fileRef = 22D1E7CDFE89EB70B4D727EE42AF3420 /* SDWebImageCacheSerializer.h */; settings = {ATTRIBUTES = (Project, ); }; };
+ F94DCFF5D107E4BF5BF2627C7A16C826 /* UMBridgeModule.h in Headers */ = {isa = PBXBuildFile; fileRef = BAA8AB2CE5EEB0C2789B5B101F598CD7 /* UMBridgeModule.h */; settings = {ATTRIBUTES = (Project, ); }; };
+ F960DA2FC5DE928C3C92C463B7636466 /* RNForceTouchHandler.h in Headers */ = {isa = PBXBuildFile; fileRef = 78FA4941BF38941D94D24C0BD22A24BE /* RNForceTouchHandler.h */; settings = {ATTRIBUTES = (Project, ); }; };
+ F9AFF66D1440BB8A20C8D42FAE2230F2 /* RNFetchBlobProgress.h in Headers */ = {isa = PBXBuildFile; fileRef = 357BECC8F89E03CB72087C1C96E13908 /* RNFetchBlobProgress.h */; settings = {ATTRIBUTES = (Project, ); }; };
F9F2828D09A41F9367A8E4D678439DFD /* FIRComponentType.m in Sources */ = {isa = PBXBuildFile; fileRef = 5BE85978726919166E96BEB7EE944049 /* FIRComponentType.m */; };
- FA3FD6AED43EEC567C54715091DA4E77 /* Pods-RocketChatRN-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 133D81C69EE4A8C014E0D2D3D6ADBDC6 /* Pods-RocketChatRN-dummy.m */; };
- FAA9E137F7C9FE2326439CE649869BBA /* FFFastImageSource.h in Headers */ = {isa = PBXBuildFile; fileRef = EF09FAA333493F59B3128D2C819A8589 /* FFFastImageSource.h */; settings = {ATTRIBUTES = (Project, ); }; };
- FAAA4A4381321DF8667536FFAD08EB9F /* BugsnagApiClient.m in Sources */ = {isa = PBXBuildFile; fileRef = 0EDF44CC898E9FA61016A7E197FEBB6C /* BugsnagApiClient.m */; };
+ F9F7725382D99974842776CFDE463C8E /* RNPushKit.m in Sources */ = {isa = PBXBuildFile; fileRef = 059B8069D5EF0EEB1DA0134ADFAA5D6A /* RNPushKit.m */; };
+ FA23EE40458179E283324F6AA88410D2 /* RNUserDefaults-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 04A0ED76AB258E468F3C61E4848D7B0D /* RNUserDefaults-dummy.m */; };
+ FAA8D36F2ACB1831665AE68A44727C38 /* RNEventEmitter.h in Headers */ = {isa = PBXBuildFile; fileRef = 82BA5F249F07D3A01F2F7436DB410D7C /* RNEventEmitter.h */; settings = {ATTRIBUTES = (Project, ); }; };
+ FAAA4A4381321DF8667536FFAD08EB9F /* BugsnagApiClient.m in Sources */ = {isa = PBXBuildFile; fileRef = 0C97E39111DC2F599559CF5FA4C0EE55 /* BugsnagApiClient.m */; };
FAFCFEADC58CB5BC49874CFEB7AB6508 /* FIRAnalyticsConfiguration.m in Sources */ = {isa = PBXBuildFile; fileRef = 9E7B0295D82864FFB32CB21701474509 /* FIRAnalyticsConfiguration.m */; };
- FB3FB42A2CA35056D9FF624144315CAB /* RCTMultiplicationAnimatedNode.h in Headers */ = {isa = PBXBuildFile; fileRef = FB23A0EB9268676C39E5DDE021CCEC8C /* RCTMultiplicationAnimatedNode.h */; settings = {ATTRIBUTES = (Project, ); }; };
- FBD33F6997B00474AC76B779C27DB709 /* RCTPackagerConnection.h in Headers */ = {isa = PBXBuildFile; fileRef = C64D6F6DF9C0D37234587F69A5C6D594 /* RCTPackagerConnection.h */; settings = {ATTRIBUTES = (Project, ); }; };
- FBD6BEC2A103546647AA9823214F58CF /* BSG_KSFileUtils.c in Sources */ = {isa = PBXBuildFile; fileRef = D634B25640975AFD0C9E9C6E1313E7B5 /* BSG_KSFileUtils.c */; };
- FC1CCDCE86CAA748AAAA2AA50980B92E /* fishhook.c in Sources */ = {isa = PBXBuildFile; fileRef = 11D3AE45AF74D92516B9FF30C83F03D6 /* fishhook.c */; };
- FC21BD7486444743C90C7FF5B61FE53C /* JSBundleType.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 5E90E5A8C1A73B4D5DAFE4F34D3D665B /* JSBundleType.cpp */; settings = {COMPILER_FLAGS = "-DFOLLY_NO_CONFIG -DFOLLY_MOBILE=1 -DFOLLY_USE_LIBCPP=1 -Wno-comma -Wno-shorten-64-to-32 -Wno-documentation"; }; };
- FC3E09363311A309A4D9F90B1B582610 /* RCTVideo.h in Headers */ = {isa = PBXBuildFile; fileRef = F5B528BA57DC2BA65B00E78FAF4AEDDD /* RCTVideo.h */; settings = {ATTRIBUTES = (Project, ); }; };
- FCC887881586BEC4B9D0A24B7E3A2BB6 /* EXFileSystem.m in Sources */ = {isa = PBXBuildFile; fileRef = 1F7F2CC30C733827C9F8527F4767FDB2 /* EXFileSystem.m */; };
+ FB3FB42A2CA35056D9FF624144315CAB /* RCTMultiplicationAnimatedNode.h in Headers */ = {isa = PBXBuildFile; fileRef = E0991722297F991AB656155766B18B9A /* RCTMultiplicationAnimatedNode.h */; settings = {ATTRIBUTES = (Project, ); }; };
+ FBD33F6997B00474AC76B779C27DB709 /* RCTPackagerConnection.h in Headers */ = {isa = PBXBuildFile; fileRef = 6131EBAD18A3034FB488C049B02CCB42 /* RCTPackagerConnection.h */; settings = {ATTRIBUTES = (Project, ); }; };
+ FBD6BEC2A103546647AA9823214F58CF /* BSG_KSFileUtils.c in Sources */ = {isa = PBXBuildFile; fileRef = BFBDF4746727942C435CED28174AFBC0 /* BSG_KSFileUtils.c */; };
+ FBF0F364660E52964801FA40029CD433 /* UMReactNativeAdapter-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 69A02707645EBD54371C68F5B19FB247 /* UMReactNativeAdapter-dummy.m */; };
+ FC041B9F351DCFB8D5A680FEEA36632C /* NSBezierPath+RoundedCorners.h in Headers */ = {isa = PBXBuildFile; fileRef = C549EBD27E189FA791778BC04067EC7B /* NSBezierPath+RoundedCorners.h */; settings = {ATTRIBUTES = (Project, ); }; };
+ FC1CCDCE86CAA748AAAA2AA50980B92E /* fishhook.c in Sources */ = {isa = PBXBuildFile; fileRef = 07654457DCE770D477BA8F153B3E64ED /* fishhook.c */; };
+ FC21BD7486444743C90C7FF5B61FE53C /* JSBundleType.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4DF561852A25F357F0C8C36C7907E2AF /* JSBundleType.cpp */; settings = {COMPILER_FLAGS = "-DFOLLY_NO_CONFIG -DFOLLY_MOBILE=1 -DFOLLY_USE_LIBCPP=1 -Wno-comma -Wno-shorten-64-to-32 -Wno-documentation"; }; };
+ FC6A01C8E0E273836C6636DDF0EC22F4 /* UMReactFontManager.h in Headers */ = {isa = PBXBuildFile; fileRef = F8A66DB82308507BBF760E6FE02359B8 /* UMReactFontManager.h */; settings = {ATTRIBUTES = (Project, ); }; };
+ FCC887881586BEC4B9D0A24B7E3A2BB6 /* EXFileSystem.m in Sources */ = {isa = PBXBuildFile; fileRef = 75B33E0D8A7E3EBED535BD9FE419AE9D /* EXFileSystem.m */; };
+ FCF1D84C5E0317E737CF3195A15C2A1D /* RSKTouchView.h in Headers */ = {isa = PBXBuildFile; fileRef = 693F122720C0DBF8806984988B7818A0 /* RSKTouchView.h */; settings = {ATTRIBUTES = (Project, ); }; };
FCF21519D6B7BE358AF1AAACC5267EA6 /* enc_sse2.c in Sources */ = {isa = PBXBuildFile; fileRef = 3FDF15F80C21555D81330357F959DF99 /* enc_sse2.c */; settings = {COMPILER_FLAGS = "-D_THREAD_SAFE -fno-objc-arc"; }; };
- FD5C2B08E8DB989FC030F3E4190E14D5 /* JSCRuntime.h in Headers */ = {isa = PBXBuildFile; fileRef = 677DD483829749EE973FADC44B371004 /* JSCRuntime.h */; settings = {ATTRIBUTES = (Project, ); }; };
- FD6E8017D52CB54BA1578D1CC0612004 /* RCTStyleAnimatedNode.m in Sources */ = {isa = PBXBuildFile; fileRef = E6B414EB7CE8D0AEFAE9073F4DC3662C /* RCTStyleAnimatedNode.m */; };
- FD9AA47DB216C372525255D4E02E0778 /* RCTVibration.m in Sources */ = {isa = PBXBuildFile; fileRef = DF5952D818A0D813C69A6BBEAE18DF86 /* RCTVibration.m */; };
- FDA04E58A8E16BA8ADFC3296E77C5C09 /* SDWebImageDefine.m in Sources */ = {isa = PBXBuildFile; fileRef = 0060114C8EB1CBBCEAA531878A0AB9B3 /* SDWebImageDefine.m */; };
+ FD5C2B08E8DB989FC030F3E4190E14D5 /* JSCRuntime.h in Headers */ = {isa = PBXBuildFile; fileRef = 2E838CA986362EC64449438ED75ECA8A /* JSCRuntime.h */; settings = {ATTRIBUTES = (Project, ); }; };
+ FD6E8017D52CB54BA1578D1CC0612004 /* RCTStyleAnimatedNode.m in Sources */ = {isa = PBXBuildFile; fileRef = 3FE668674AB61B3733F073D4340D5B4C /* RCTStyleAnimatedNode.m */; };
+ FD9AA47DB216C372525255D4E02E0778 /* RCTVibration.m in Sources */ = {isa = PBXBuildFile; fileRef = 8CF6355465C12D84D31551923BA7A23A /* RCTVibration.m */; };
FDB26EBD819C5A2BB1F50EC60362ABB8 /* GULApplication.h in Headers */ = {isa = PBXBuildFile; fileRef = 6368AE99168C21F787D01D4BA98CBF5A /* GULApplication.h */; settings = {ATTRIBUTES = (Project, ); }; };
- FE460D353DA267534647F89E0ABB0C78 /* JSIExecutor.h in Headers */ = {isa = PBXBuildFile; fileRef = 2B690662CD90B5FF27DB69F23196F2A3 /* JSIExecutor.h */; settings = {ATTRIBUTES = (Project, ); }; };
- FE5DEFC1E602E46484762618A5261981 /* RCTRedBox.h in Headers */ = {isa = PBXBuildFile; fileRef = ADD7E0F4F478500E9082AD560880E46C /* RCTRedBox.h */; settings = {ATTRIBUTES = (Project, ); }; };
+ FE40BC20AA5C584FB4E2447840141C08 /* RNFirebaseDatabase.m in Sources */ = {isa = PBXBuildFile; fileRef = 11D946C274CFB436D2B6BC5F22F9F3D7 /* RNFirebaseDatabase.m */; };
+ FE460D353DA267534647F89E0ABB0C78 /* JSIExecutor.h in Headers */ = {isa = PBXBuildFile; fileRef = 6DDF14631A281182E6B402AA058CE7D4 /* JSIExecutor.h */; settings = {ATTRIBUTES = (Project, ); }; };
+ FE5DEFC1E602E46484762618A5261981 /* RCTRedBox.h in Headers */ = {isa = PBXBuildFile; fileRef = 7C7167D7FE06129203134C9DED73034A /* RCTRedBox.h */; settings = {ATTRIBUTES = (Project, ); }; };
FE77EED2AF2BDF9D1E4C513A2E0DCBEF /* GULLoggerCodes.h in Headers */ = {isa = PBXBuildFile; fileRef = 56BD8DC99EFD020787B5AAD11C09F6BF /* GULLoggerCodes.h */; settings = {ATTRIBUTES = (Project, ); }; };
- FE813EF7D4772E9B339E148E059EF9C5 /* RCTSegmentedControlManager.m in Sources */ = {isa = PBXBuildFile; fileRef = 99221B4E0387EE7DC3EFD718C03612C6 /* RCTSegmentedControlManager.m */; settings = {COMPILER_FLAGS = "-DFOLLY_NO_CONFIG -DFOLLY_MOBILE=1 -DFOLLY_USE_LIBCPP=1 -Wno-comma -Wno-shorten-64-to-32 -Wno-documentation"; }; };
- FE89D1DFB3E15D735B50C7FA147905BF /* RCTSwitchManager.h in Headers */ = {isa = PBXBuildFile; fileRef = D86D092967064E905B2E2D7C95C724E7 /* RCTSwitchManager.h */; settings = {ATTRIBUTES = (Project, ); }; };
+ FE813EF7D4772E9B339E148E059EF9C5 /* RCTSegmentedControlManager.m in Sources */ = {isa = PBXBuildFile; fileRef = 3FE3FF7CAFDC6A2503CBF00B8ACBE5E1 /* RCTSegmentedControlManager.m */; settings = {COMPILER_FLAGS = "-DFOLLY_NO_CONFIG -DFOLLY_MOBILE=1 -DFOLLY_USE_LIBCPP=1 -Wno-comma -Wno-shorten-64-to-32 -Wno-documentation"; }; };
+ FE89D1DFB3E15D735B50C7FA147905BF /* RCTSwitchManager.h in Headers */ = {isa = PBXBuildFile; fileRef = 8F280435193E524A4AC31868C5F731CD /* RCTSwitchManager.h */; settings = {ATTRIBUTES = (Project, ); }; };
FEF302FD5C2E107B2D45A7A753291A49 /* huffman_utils.h in Headers */ = {isa = PBXBuildFile; fileRef = 888366C0500620E36712F9EC62E7A768 /* huffman_utils.h */; settings = {ATTRIBUTES = (Project, ); }; };
- FF317F39F62DC42CF68D9F743EB5A84D /* BSG_KSCrashCallCompletion.h in Headers */ = {isa = PBXBuildFile; fileRef = B8C554282DDBF2D46CE5E9ACC84285B6 /* BSG_KSCrashCallCompletion.h */; settings = {ATTRIBUTES = (Project, ); }; };
- FF516D841FE25F9DB911BDB742B70F3D /* RCTWebSocketModule.h in Headers */ = {isa = PBXBuildFile; fileRef = 4005B58D1A726C28AA30CADAA0446B65 /* RCTWebSocketModule.h */; settings = {ATTRIBUTES = (Project, ); }; };
- FFE6AE2C6A428219B9ECA8037DF7862E /* RCTScrollViewManager.h in Headers */ = {isa = PBXBuildFile; fileRef = BC7CF085F59D6E3CCD0C78F0DF74304B /* RCTScrollViewManager.h */; settings = {ATTRIBUTES = (Project, ); }; };
+ FF317F39F62DC42CF68D9F743EB5A84D /* BSG_KSCrashCallCompletion.h in Headers */ = {isa = PBXBuildFile; fileRef = 29486B80688ED2D5F11AE8440D9EA857 /* BSG_KSCrashCallCompletion.h */; settings = {ATTRIBUTES = (Project, ); }; };
+ FF50AB1F7B4B125A2B395CE9ED9DCBD3 /* RCTVideo.h in Headers */ = {isa = PBXBuildFile; fileRef = 06E670E90D802FAE5DE45DEC84EC921E /* RCTVideo.h */; settings = {ATTRIBUTES = (Project, ); }; };
+ FF516D841FE25F9DB911BDB742B70F3D /* RCTWebSocketModule.h in Headers */ = {isa = PBXBuildFile; fileRef = CE8DA75FC5B0A2CB88295132B00A3D9B /* RCTWebSocketModule.h */; settings = {ATTRIBUTES = (Project, ); }; };
+ FF942D37BA3932CE952A91003EF0CC66 /* RNFirebaseMessaging.h in Headers */ = {isa = PBXBuildFile; fileRef = F8CE7424B67B58CC4E4B74F748305D0B /* RNFirebaseMessaging.h */; settings = {ATTRIBUTES = (Project, ); }; };
+ FFE6AE2C6A428219B9ECA8037DF7862E /* RCTScrollViewManager.h in Headers */ = {isa = PBXBuildFile; fileRef = DFE56FE2C51084098BA7E545D95CDF29 /* RCTScrollViewManager.h */; settings = {ATTRIBUTES = (Project, ); }; };
/* End PBXBuildFile section */
/* Begin PBXContainerItemProxy section */
- 0060FCB2C678D9E20E3D33052973415D /* PBXContainerItemProxy */ = {
- isa = PBXContainerItemProxy;
- containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */;
- proxyType = 1;
- remoteGlobalIDString = 964A9CEE1C3E3B9859862E1731729015;
- remoteInfo = "react-native-notifications";
- };
013C8C712E31279FB89EBADB1C1A4BC4 /* PBXContainerItemProxy */ = {
isa = PBXContainerItemProxy;
containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */;
@@ -1723,40 +1713,47 @@
remoteGlobalIDString = 7825F222F53EF434DE74A6C6FAF290E9;
remoteInfo = UMFileSystemInterface;
};
- 036D823050C8E73881DDED2DF24047C9 /* PBXContainerItemProxy */ = {
+ 017CEB40E5BA72C68C9CA6F3AEE7E7F3 /* PBXContainerItemProxy */ = {
isa = PBXContainerItemProxy;
containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */;
proxyType = 1;
- remoteGlobalIDString = 017AB91E1D5AB2B6096ADC666B072208;
- remoteInfo = "React-RCTImage";
+ remoteGlobalIDString = 2E01DDE6A1A8D7EE37042C7EA69F25FE;
+ remoteInfo = React;
};
- 03B1CE798B95A264C71C7D5993F54BAD /* PBXContainerItemProxy */ = {
+ 019817970AF96ACD22BE3CD7841F0077 /* PBXContainerItemProxy */ = {
isa = PBXContainerItemProxy;
containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */;
proxyType = 1;
- remoteGlobalIDString = 01CBDBB3785FE2E9ED7E2986BE2102A6;
- remoteInfo = UMCore;
+ remoteGlobalIDString = 2E01DDE6A1A8D7EE37042C7EA69F25FE;
+ remoteInfo = React;
};
- 055298B2207683B721E9B7AD8B5505F6 /* PBXContainerItemProxy */ = {
+ 02BFA78A9357FBB99752A3E74779A26C /* PBXContainerItemProxy */ = {
isa = PBXContainerItemProxy;
containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */;
proxyType = 1;
- remoteGlobalIDString = 01B53B6A43CBD6D4022A361BBFCCE665;
- remoteInfo = FirebaseCore;
+ remoteGlobalIDString = 3C6A9BF574C3488966C92C6A9B93CA8C;
+ remoteInfo = FirebaseInstanceID;
};
- 0682A4A34CD0CD553595C73E34A4D3A9 /* PBXContainerItemProxy */ = {
+ 04A42EC458FD5B731E2FD7687FBDE859 /* PBXContainerItemProxy */ = {
isa = PBXContainerItemProxy;
containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */;
proxyType = 1;
- remoteGlobalIDString = EF5CFA65E99611E2C244EBE3CB52012D;
- remoteInfo = RNFirebase;
+ remoteGlobalIDString = 1B38259BB8CAB10A9D9047D2BAE45AB5;
+ remoteInfo = "react-native-orientation-locker";
};
- 06A4DFC85C68B234721FC182A9706DD4 /* PBXContainerItemProxy */ = {
+ 05DE2C424F7C8CBDA1E6E4FA8E427F9C /* PBXContainerItemProxy */ = {
isa = PBXContainerItemProxy;
containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */;
proxyType = 1;
- remoteGlobalIDString = D9D4825FF3196580FBFC163F94F09DE6;
- remoteInfo = "React-jsi";
+ remoteGlobalIDString = BD7B2D8FF0ABCB89D01F6E21D5364678;
+ remoteInfo = "React-RCTVibration";
+ };
+ 071A85BE307F7B7ED69E50E99B896703 /* PBXContainerItemProxy */ = {
+ isa = PBXContainerItemProxy;
+ containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */;
+ proxyType = 1;
+ remoteGlobalIDString = FD0F4E74C14C4B5B552686BD9576466F;
+ remoteInfo = EXFileSystem;
};
0736F43E628DF211771775F69A163785 /* PBXContainerItemProxy */ = {
isa = PBXContainerItemProxy;
@@ -1772,6 +1769,13 @@
remoteGlobalIDString = E13B95041FFD639523C6719AAEF55D71;
remoteInfo = DoubleConversion;
};
+ 07DE0921F15E9D3A10DAD63EBADFB0FF /* PBXContainerItemProxy */ = {
+ isa = PBXContainerItemProxy;
+ containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */;
+ proxyType = 1;
+ remoteGlobalIDString = E49E330A27425F89DE89516B2F50AAE9;
+ remoteInfo = "React-RCTText";
+ };
09C15A614E3100AD5CAA64B248FEA2B2 /* PBXContainerItemProxy */ = {
isa = PBXContainerItemProxy;
containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */;
@@ -1779,13 +1783,6 @@
remoteGlobalIDString = 74FC3222E79B7B2A842D5F13AE03831A;
remoteInfo = "React-Core";
};
- 0A3C4A04C02EAF16B524C19C3C59BF7B /* PBXContainerItemProxy */ = {
- isa = PBXContainerItemProxy;
- containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */;
- proxyType = 1;
- remoteGlobalIDString = E13B95041FFD639523C6719AAEF55D71;
- remoteInfo = DoubleConversion;
- };
0AA48B35BA7148412EA836482D3727DB /* PBXContainerItemProxy */ = {
isa = PBXContainerItemProxy;
containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */;
@@ -1793,20 +1790,20 @@
remoteGlobalIDString = 78321EAB31E9FCC75DFA950389835085;
remoteInfo = Folly;
};
- 0D35A59FA66559BFE4CF3D1589E61203 /* PBXContainerItemProxy */ = {
- isa = PBXContainerItemProxy;
- containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */;
- proxyType = 1;
- remoteGlobalIDString = AFDCAD5C30B5E83B09DBE7544DFD28AA;
- remoteInfo = "react-native-webview";
- };
- 0D8BAAF133945FE55F0BEFB7D9923463 /* PBXContainerItemProxy */ = {
+ 0BAC819D88702785F326896071041FF5 /* PBXContainerItemProxy */ = {
isa = PBXContainerItemProxy;
containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */;
proxyType = 1;
remoteGlobalIDString = 2E01DDE6A1A8D7EE37042C7EA69F25FE;
remoteInfo = React;
};
+ 0DEF41D46D1C0246BBEE79CC0F9D1759 /* PBXContainerItemProxy */ = {
+ isa = PBXContainerItemProxy;
+ containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */;
+ proxyType = 1;
+ remoteGlobalIDString = D35E9EC86D36A4C8BC1704199FDB3552;
+ remoteInfo = Fabric;
+ };
0ECB4C54EED84F5258E41AFD4657F11F /* PBXContainerItemProxy */ = {
isa = PBXContainerItemProxy;
containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */;
@@ -1821,12 +1818,26 @@
remoteGlobalIDString = C2F81329D3C42F2D872A4B80180545BC;
remoteInfo = "React-RCTLinking";
};
- 106C6E8C0052C63571649B1DD9A9616A /* PBXContainerItemProxy */ = {
+ 0F5B9081D066A06690EEA8E260C45AF8 /* PBXContainerItemProxy */ = {
isa = PBXContainerItemProxy;
containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */;
proxyType = 1;
- remoteGlobalIDString = 3C6A9BF574C3488966C92C6A9B93CA8C;
- remoteInfo = FirebaseInstanceID;
+ remoteGlobalIDString = BEAD226E955572BBC9153137CDF916BE;
+ remoteInfo = RNUserDefaults;
+ };
+ 102ED2758D5E833030F4777E5AAE57E0 /* PBXContainerItemProxy */ = {
+ isa = PBXContainerItemProxy;
+ containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */;
+ proxyType = 1;
+ remoteGlobalIDString = C2F81329D3C42F2D872A4B80180545BC;
+ remoteInfo = "React-RCTLinking";
+ };
+ 108DABB416C775C111CEA8A6E16BDDA4 /* PBXContainerItemProxy */ = {
+ isa = PBXContainerItemProxy;
+ containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */;
+ proxyType = 1;
+ remoteGlobalIDString = 0930E5899BD6BF767017AF77F370F37E;
+ remoteInfo = "react-native-webview";
};
113CDDB809E5888DDC4ACE47ACB7FEB3 /* PBXContainerItemProxy */ = {
isa = PBXContainerItemProxy;
@@ -1835,20 +1846,6 @@
remoteGlobalIDString = 01CBDBB3785FE2E9ED7E2986BE2102A6;
remoteInfo = UMCore;
};
- 1438DDFE7237206EE597E47A918152CD /* PBXContainerItemProxy */ = {
- isa = PBXContainerItemProxy;
- containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */;
- proxyType = 1;
- remoteGlobalIDString = 64E78828D8355514B3B6BE78FAE7806E;
- remoteInfo = "React-RCTSettings";
- };
- 14816389F9F12D27C220E323BDFEC91E /* PBXContainerItemProxy */ = {
- isa = PBXContainerItemProxy;
- containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */;
- proxyType = 1;
- remoteGlobalIDString = E452F4CD4F8AB641BD2444C7AC91FA2B;
- remoteInfo = BugsnagReactNative;
- };
163CBAEB4B1179F7E94CBFA9D9821391 /* PBXContainerItemProxy */ = {
isa = PBXContainerItemProxy;
containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */;
@@ -1856,19 +1853,19 @@
remoteGlobalIDString = 017AB91E1D5AB2B6096ADC666B072208;
remoteInfo = "React-RCTImage";
};
- 16A85FB382E9183D7CAAA7B01C1059EB /* PBXContainerItemProxy */ = {
+ 1664878D8AF94234807BABF083BC532B /* PBXContainerItemProxy */ = {
isa = PBXContainerItemProxy;
containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */;
proxyType = 1;
- remoteGlobalIDString = 66641B93FAF80FF325B2D7B4AD85056F;
- remoteInfo = "boost-for-react-native";
+ remoteGlobalIDString = 0DE11E64110FE5A69413A78AEDC5B41B;
+ remoteInfo = "rn-fetch-blob";
};
- 16B7F806998051E1443D34299CC6FABC /* PBXContainerItemProxy */ = {
+ 16C3C43CD6488249B85050BFDB6BB918 /* PBXContainerItemProxy */ = {
isa = PBXContainerItemProxy;
containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */;
proxyType = 1;
- remoteGlobalIDString = 2E01DDE6A1A8D7EE37042C7EA69F25FE;
- remoteInfo = React;
+ remoteGlobalIDString = 5D8792E5DBB99598753C4E34D3308FC1;
+ remoteInfo = "react-native-document-picker";
};
17299B3B10FACA862736181ECC44D9A8 /* PBXContainerItemProxy */ = {
isa = PBXContainerItemProxy;
@@ -1877,40 +1874,12 @@
remoteGlobalIDString = 5C53A3A5621162049D9B4399173FAD68;
remoteInfo = UMPermissionsInterface;
};
- 175A1B3A35695A21797E19407B324DEB /* PBXContainerItemProxy */ = {
+ 17C00B94B7CF9EE84185DBB2DFD19E61 /* PBXContainerItemProxy */ = {
isa = PBXContainerItemProxy;
containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */;
proxyType = 1;
- remoteGlobalIDString = C2F81329D3C42F2D872A4B80180545BC;
- remoteInfo = "React-RCTLinking";
- };
- 1913CF68A2344AEDD7A181BF5AA0055D /* PBXContainerItemProxy */ = {
- isa = PBXContainerItemProxy;
- containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */;
- proxyType = 1;
- remoteGlobalIDString = EAFAF2A9CFE5807D87ACC914F678EAA8;
- remoteInfo = yoga;
- };
- 19BBF59E3187438EA6A052A973DE887C /* PBXContainerItemProxy */ = {
- isa = PBXContainerItemProxy;
- containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */;
- proxyType = 1;
- remoteGlobalIDString = 7135140B597489F3FE9D0A6D1FADD9C7;
- remoteInfo = "React-RCTActionSheet";
- };
- 1A0A33602F6E5DCFE94CA6F7A513C3BF /* PBXContainerItemProxy */ = {
- isa = PBXContainerItemProxy;
- containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */;
- proxyType = 1;
- remoteGlobalIDString = 2E01DDE6A1A8D7EE37042C7EA69F25FE;
- remoteInfo = React;
- };
- 1B165073CAE71046AFE654982E1B5E83 /* PBXContainerItemProxy */ = {
- isa = PBXContainerItemProxy;
- containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */;
- proxyType = 1;
- remoteGlobalIDString = 1B84AFCD5F3FA2F6CFE3FDD3FF5343A2;
- remoteInfo = "React-RCTWebSocket";
+ remoteGlobalIDString = E452F4CD4F8AB641BD2444C7AC91FA2B;
+ remoteInfo = BugsnagReactNative;
};
1BA9FE8D4FA41AD95626F63DB8C9FBEA /* PBXContainerItemProxy */ = {
isa = PBXContainerItemProxy;
@@ -1919,33 +1888,33 @@
remoteGlobalIDString = 9F219ED43F3AEA000562B9BCFD624DDD;
remoteInfo = "React-cxxreact";
};
- 1C2EE61FA04B60230F1D7CB3B9D123EC /* PBXContainerItemProxy */ = {
+ 1C62E722115ACFCD09E8EFAE31C2FD55 /* PBXContainerItemProxy */ = {
isa = PBXContainerItemProxy;
containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */;
proxyType = 1;
- remoteGlobalIDString = 115FC7605B6A0F6044A879F6EEB7DD99;
- remoteInfo = "React-jsinspector";
+ remoteGlobalIDString = B7CEA57206C6730FE77CFD9EBFE816B3;
+ remoteInfo = RNImageCropPicker;
};
- 1C3F3A058493210A292159C295AACE04 /* PBXContainerItemProxy */ = {
+ 1D8499E1734CF88027E0CE3825CE9CDB /* PBXContainerItemProxy */ = {
isa = PBXContainerItemProxy;
containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */;
proxyType = 1;
- remoteGlobalIDString = 74FC3222E79B7B2A842D5F13AE03831A;
- remoteInfo = "React-Core";
+ remoteGlobalIDString = 0DE11E64110FE5A69413A78AEDC5B41B;
+ remoteInfo = "rn-fetch-blob";
};
- 1DF48D295AE5F175A538B0F57BA45ED1 /* PBXContainerItemProxy */ = {
+ 20053DF6685730EAB959209936A520E4 /* PBXContainerItemProxy */ = {
isa = PBXContainerItemProxy;
containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */;
proxyType = 1;
- remoteGlobalIDString = 7CAB4058EBC116AE1A60D0CB0B1BFCC1;
- remoteInfo = glog;
+ remoteGlobalIDString = 6BB4F4FC137681B2F6B81E224273B211;
+ remoteInfo = RNAudio;
};
- 207BF59C0FEED3353B135C192423EBA9 /* PBXContainerItemProxy */ = {
+ 2087F46FA8F64E84C7CB77C4F756C02B /* PBXContainerItemProxy */ = {
isa = PBXContainerItemProxy;
containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */;
proxyType = 1;
- remoteGlobalIDString = 067640E87A8B312779CCEB689BDB2178;
- remoteInfo = RNLocalize;
+ remoteGlobalIDString = 7923160275E961C83193F40DBB856AF9;
+ remoteInfo = RSKImageCropper;
};
244748360793885B28A0FB80940BDD29 /* PBXContainerItemProxy */ = {
isa = PBXContainerItemProxy;
@@ -1954,13 +1923,6 @@
remoteGlobalIDString = 74FC3222E79B7B2A842D5F13AE03831A;
remoteInfo = "React-Core";
};
- 245F0021AF1E9139D6B998DD2A8BFA0F /* PBXContainerItemProxy */ = {
- isa = PBXContainerItemProxy;
- containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */;
- proxyType = 1;
- remoteGlobalIDString = 78321EAB31E9FCC75DFA950389835085;
- remoteInfo = Folly;
- };
248015A2F1D88F57B6E26BA56A382F2C /* PBXContainerItemProxy */ = {
isa = PBXContainerItemProxy;
containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */;
@@ -1968,26 +1930,12 @@
remoteGlobalIDString = 74FC3222E79B7B2A842D5F13AE03831A;
remoteInfo = "React-Core";
};
- 249721F543094EBD394D0D75E81C26A5 /* PBXContainerItemProxy */ = {
+ 264C54828D27A99F8D652A3F88466646 /* PBXContainerItemProxy */ = {
isa = PBXContainerItemProxy;
containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */;
proxyType = 1;
- remoteGlobalIDString = 3C6A9BF574C3488966C92C6A9B93CA8C;
- remoteInfo = FirebaseInstanceID;
- };
- 2721712120DF60B727DF3B0F2576E099 /* PBXContainerItemProxy */ = {
- isa = PBXContainerItemProxy;
- containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */;
- proxyType = 1;
- remoteGlobalIDString = 2E01DDE6A1A8D7EE37042C7EA69F25FE;
- remoteInfo = React;
- };
- 274811B8A73F9AA8ADA88523E423392E /* PBXContainerItemProxy */ = {
- isa = PBXContainerItemProxy;
- containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */;
- proxyType = 1;
- remoteGlobalIDString = 601F6D2129BF890188435A73F98883E4;
- remoteInfo = RNUserDefaults;
+ remoteGlobalIDString = 458293E00EF1C1F42778F9425AD34AA4;
+ remoteInfo = UMConstantsInterface;
};
276C777EA898F585200AD00C0292034C /* PBXContainerItemProxy */ = {
isa = PBXContainerItemProxy;
@@ -1996,12 +1944,12 @@
remoteGlobalIDString = 1B84AFCD5F3FA2F6CFE3FDD3FF5343A2;
remoteInfo = "React-RCTWebSocket";
};
- 287D0DC6495AECAE59CC0A18C2CCED31 /* PBXContainerItemProxy */ = {
+ 284D838FECAAACA8543ADCE22EF36C8A /* PBXContainerItemProxy */ = {
isa = PBXContainerItemProxy;
containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */;
proxyType = 1;
- remoteGlobalIDString = 2E01DDE6A1A8D7EE37042C7EA69F25FE;
- remoteInfo = React;
+ remoteGlobalIDString = 017AB91E1D5AB2B6096ADC666B072208;
+ remoteInfo = "React-RCTImage";
};
2881DC1DD25AF0C459E6A3AFFD167CCB /* PBXContainerItemProxy */ = {
isa = PBXContainerItemProxy;
@@ -2017,12 +1965,12 @@
remoteGlobalIDString = 74FC3222E79B7B2A842D5F13AE03831A;
remoteInfo = "React-Core";
};
- 2A9843158F177526825827B0E6E259A5 /* PBXContainerItemProxy */ = {
+ 2B4F337747D2048A1B303456A947C870 /* PBXContainerItemProxy */ = {
isa = PBXContainerItemProxy;
containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */;
proxyType = 1;
- remoteGlobalIDString = 37C5124E3DFD71073F85950A7A4F9566;
- remoteInfo = SDWebImage;
+ remoteGlobalIDString = 01B53B6A43CBD6D4022A361BBFCCE665;
+ remoteInfo = FirebaseCore;
};
2BFE957CE5414199E3FB5D1FBC9C7998 /* PBXContainerItemProxy */ = {
isa = PBXContainerItemProxy;
@@ -2031,110 +1979,96 @@
remoteGlobalIDString = 6AD0E65D44A38151509F46E868517C37;
remoteInfo = "React-DevSupport";
};
- 2DC09BCD9B86CBAE802C39F867926B8A /* PBXContainerItemProxy */ = {
+ 32270D0F2DF81EF27EB2035494AF3B98 /* PBXContainerItemProxy */ = {
isa = PBXContainerItemProxy;
containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */;
proxyType = 1;
- remoteGlobalIDString = 9F219ED43F3AEA000562B9BCFD624DDD;
- remoteInfo = "React-cxxreact";
+ remoteGlobalIDString = 0755785AD9A254220ED3D990F7939FB4;
+ remoteInfo = RNFirebase;
};
- 2E5C1647719B4272BCFE03232DB139F9 /* PBXContainerItemProxy */ = {
+ 3235C1692ACC5939F82A879397D5EE24 /* PBXContainerItemProxy */ = {
isa = PBXContainerItemProxy;
containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */;
proxyType = 1;
- remoteGlobalIDString = 64BB73387B4A0B997647464A7310466C;
- remoteInfo = UMFontInterface;
+ remoteGlobalIDString = A781E865D049A4F0DC455551DD865390;
+ remoteInfo = "rn-extensions-share";
};
- 2EADB667DBE7F19AEA4DF81F78FFF7D9 /* PBXContainerItemProxy */ = {
+ 341844D67C7F548FCB83907DCA992987 /* PBXContainerItemProxy */ = {
isa = PBXContainerItemProxy;
containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */;
proxyType = 1;
- remoteGlobalIDString = 2E01DDE6A1A8D7EE37042C7EA69F25FE;
- remoteInfo = React;
+ remoteGlobalIDString = E13B95041FFD639523C6719AAEF55D71;
+ remoteInfo = DoubleConversion;
};
- 306519771B773D373D6867A8682A4307 /* PBXContainerItemProxy */ = {
- isa = PBXContainerItemProxy;
- containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */;
- proxyType = 1;
- remoteGlobalIDString = 831E8B32D5F328FE47E852621FE4E169;
- remoteInfo = SDWebImageWebPCoder;
- };
- 30BE45B5494C5D080CB1C022D2BB2179 /* PBXContainerItemProxy */ = {
- isa = PBXContainerItemProxy;
- containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */;
- proxyType = 1;
- remoteGlobalIDString = 831E8B32D5F328FE47E852621FE4E169;
- remoteInfo = SDWebImageWebPCoder;
- };
- 325BBAD0E612D653C122FC206E89396D /* PBXContainerItemProxy */ = {
- isa = PBXContainerItemProxy;
- containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */;
- proxyType = 1;
- remoteGlobalIDString = 7F28D4475D7DAD9903F7E6044DD921C1;
- remoteInfo = "React-RCTAnimation";
- };
- 33F76337BF16EF42B02A0F6BC935CD32 /* PBXContainerItemProxy */ = {
+ 34FA14E5553F622D5FF874874646C3FB /* PBXContainerItemProxy */ = {
isa = PBXContainerItemProxy;
containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */;
proxyType = 1;
remoteGlobalIDString = E49E330A27425F89DE89516B2F50AAE9;
remoteInfo = "React-RCTText";
};
- 35A19452050836BA5CE59BC20C82FEB2 /* PBXContainerItemProxy */ = {
+ 351044EC7F6857050134FE7EA98E5D79 /* PBXContainerItemProxy */ = {
isa = PBXContainerItemProxy;
containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */;
proxyType = 1;
- remoteGlobalIDString = 9EC22C1FB0EA4FCCD9910CCD5AE16054;
- remoteInfo = "react-native-orientation-locker";
+ remoteGlobalIDString = 2E2ABA11C27993D4CDD5DA270C4B75F1;
+ remoteInfo = "React-RCTBlob";
};
- 36902A5F332BB1546EA7E1266E38E57E /* PBXContainerItemProxy */ = {
+ 361D373BADB05FF478232028016F139A /* PBXContainerItemProxy */ = {
isa = PBXContainerItemProxy;
containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */;
proxyType = 1;
- remoteGlobalIDString = 799B29F9D6DCE28B98CC259440382F20;
- remoteInfo = Firebase;
+ remoteGlobalIDString = 6BB4F4FC137681B2F6B81E224273B211;
+ remoteInfo = RNAudio;
};
- 36CD91B3C5FC85C702DFDDF5467ED1E0 /* PBXContainerItemProxy */ = {
+ 36A3B366002794E0DE9195E38483DF61 /* PBXContainerItemProxy */ = {
isa = PBXContainerItemProxy;
containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */;
proxyType = 1;
- remoteGlobalIDString = C07DB8374AB03A1DFF5956DA871886FF;
- remoteInfo = "rn-fetch-blob";
+ remoteGlobalIDString = 74FC3222E79B7B2A842D5F13AE03831A;
+ remoteInfo = "React-Core";
};
- 37050E54E5BBD44B399C94A4775FA2A6 /* PBXContainerItemProxy */ = {
+ 370F6D838B0ECD97288D1C8C5268FFA1 /* PBXContainerItemProxy */ = {
isa = PBXContainerItemProxy;
containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */;
proxyType = 1;
- remoteGlobalIDString = 799B29F9D6DCE28B98CC259440382F20;
- remoteInfo = Firebase;
+ remoteGlobalIDString = 613EFCB1D5DFE45214999A38250ADD71;
+ remoteInfo = SDWebImage;
};
- 375DCFDC13CF70784099665B606009F1 /* PBXContainerItemProxy */ = {
+ 3799A0D4E31620D902FDA7382DDC8117 /* PBXContainerItemProxy */ = {
isa = PBXContainerItemProxy;
containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */;
proxyType = 1;
- remoteGlobalIDString = 7135140B597489F3FE9D0A6D1FADD9C7;
- remoteInfo = "React-RCTActionSheet";
+ remoteGlobalIDString = B81CA3A3A63C0085E4085060FE4DD9FF;
+ remoteInfo = "React-jsiexecutor";
};
- 388B6E5564198216E5503DF1E7E975B8 /* PBXContainerItemProxy */ = {
+ 392A6C9D5A9E3617F926FA886F410EDB /* PBXContainerItemProxy */ = {
isa = PBXContainerItemProxy;
containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */;
proxyType = 1;
- remoteGlobalIDString = 9F219ED43F3AEA000562B9BCFD624DDD;
- remoteInfo = "React-cxxreact";
+ remoteGlobalIDString = 2E01DDE6A1A8D7EE37042C7EA69F25FE;
+ remoteInfo = React;
};
- 397E0E74FEE61E2F459AF0D124CC4904 /* PBXContainerItemProxy */ = {
+ 39C167619D0ED1AB22222264BBB4B1AD /* PBXContainerItemProxy */ = {
isa = PBXContainerItemProxy;
containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */;
proxyType = 1;
- remoteGlobalIDString = 146246509977A24E2E9823A1241BBC47;
- remoteInfo = RSKImageCropper;
+ remoteGlobalIDString = BD7B2D8FF0ABCB89D01F6E21D5364678;
+ remoteInfo = "React-RCTVibration";
};
- 3ABB298AA7FE6ED4EF83C083F620D38D /* PBXContainerItemProxy */ = {
+ 39C29CDB9674184334B4C2297D47427E /* PBXContainerItemProxy */ = {
isa = PBXContainerItemProxy;
containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */;
proxyType = 1;
- remoteGlobalIDString = 601F6D2129BF890188435A73F98883E4;
- remoteInfo = RNUserDefaults;
+ remoteGlobalIDString = 427A5566E42596B2649019D00AA80F10;
+ remoteInfo = libwebp;
+ };
+ 3AE79F9849BE3827B5646EDF24049B18 /* PBXContainerItemProxy */ = {
+ isa = PBXContainerItemProxy;
+ containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */;
+ proxyType = 1;
+ remoteGlobalIDString = 2E01DDE6A1A8D7EE37042C7EA69F25FE;
+ remoteInfo = React;
};
3AFCC674053FAF5DC8E87833CC15D1F1 /* PBXContainerItemProxy */ = {
isa = PBXContainerItemProxy;
@@ -2143,13 +2077,6 @@
remoteGlobalIDString = E49E330A27425F89DE89516B2F50AAE9;
remoteInfo = "React-RCTText";
};
- 3B917539D1D350AEC1BB8C540724EC46 /* PBXContainerItemProxy */ = {
- isa = PBXContainerItemProxy;
- containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */;
- proxyType = 1;
- remoteGlobalIDString = 2E01DDE6A1A8D7EE37042C7EA69F25FE;
- remoteInfo = React;
- };
3C63709D9A9E8BFEDDDB0EC6915A77BE /* PBXContainerItemProxy */ = {
isa = PBXContainerItemProxy;
containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */;
@@ -2157,13 +2084,6 @@
remoteGlobalIDString = 60F43D68BD7290E1B24C3BE7B3382AD3;
remoteInfo = "React-RCTNetwork";
};
- 3C77704F98AA4C97E4FE96AD73A5D92A /* PBXContainerItemProxy */ = {
- isa = PBXContainerItemProxy;
- containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */;
- proxyType = 1;
- remoteGlobalIDString = 2E01DDE6A1A8D7EE37042C7EA69F25FE;
- remoteInfo = React;
- };
3CE12525FC73E81B8DC468274B077D13 /* PBXContainerItemProxy */ = {
isa = PBXContainerItemProxy;
containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */;
@@ -2178,33 +2098,12 @@
remoteGlobalIDString = 01CBDBB3785FE2E9ED7E2986BE2102A6;
remoteInfo = UMCore;
};
- 3F8F2F921AEF347B77A4E3EC918B72F3 /* PBXContainerItemProxy */ = {
+ 3FFA069ED34F97524321708BDCAB5320 /* PBXContainerItemProxy */ = {
isa = PBXContainerItemProxy;
containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */;
proxyType = 1;
- remoteGlobalIDString = ABA9A411BB5A359862E5F1AA6238278E;
- remoteInfo = Crashlytics;
- };
- 4092E05A40138EED72546EAAC9910A4E /* PBXContainerItemProxy */ = {
- isa = PBXContainerItemProxy;
- containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */;
- proxyType = 1;
- remoteGlobalIDString = 458293E00EF1C1F42778F9425AD34AA4;
- remoteInfo = UMConstantsInterface;
- };
- 41642428F1357B9D5EF612F77C40298F /* PBXContainerItemProxy */ = {
- isa = PBXContainerItemProxy;
- containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */;
- proxyType = 1;
- remoteGlobalIDString = 528A31AF90F0F11C093A9A2B38E14706;
- remoteInfo = "rn-extensions-share";
- };
- 41A1201635E624B6826878968F2B87E4 /* PBXContainerItemProxy */ = {
- isa = PBXContainerItemProxy;
- containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */;
- proxyType = 1;
- remoteGlobalIDString = DB23D114FAED7CF95680BAB457CA48BF;
- remoteInfo = RNGestureHandler;
+ remoteGlobalIDString = 017AB91E1D5AB2B6096ADC666B072208;
+ remoteInfo = "React-RCTImage";
};
41C76CAFA02708C48FAD7EEDAF99436C /* PBXContainerItemProxy */ = {
isa = PBXContainerItemProxy;
@@ -2213,33 +2112,33 @@
remoteGlobalIDString = BD7B2D8FF0ABCB89D01F6E21D5364678;
remoteInfo = "React-RCTVibration";
};
- 4230074793E43ED7D466D270FCA706EB /* PBXContainerItemProxy */ = {
+ 429A6CED2C5AE3324AA229F9AE32009B /* PBXContainerItemProxy */ = {
+ isa = PBXContainerItemProxy;
+ containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */;
+ proxyType = 1;
+ remoteGlobalIDString = F9997DB745F640B023798F155CEA2203;
+ remoteInfo = UMImageLoaderInterface;
+ };
+ 439A797E1964AA1F2342AAE2D9FE7815 /* PBXContainerItemProxy */ = {
+ isa = PBXContainerItemProxy;
+ containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */;
+ proxyType = 1;
+ remoteGlobalIDString = D9D4825FF3196580FBFC163F94F09DE6;
+ remoteInfo = "React-jsi";
+ };
+ 43B90A66BCECE4B3E36592A6F5DC5CFA /* PBXContainerItemProxy */ = {
isa = PBXContainerItemProxy;
containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */;
proxyType = 1;
remoteGlobalIDString = 57B9E0A892EAB5C13D4AE7D4B1DE0C16;
remoteInfo = GoogleAppMeasurement;
};
- 4246557F2380F5BBFD0BDB4DE082AB7F /* PBXContainerItemProxy */ = {
+ 441A5F0EDD324976FC18AD23A22F4226 /* PBXContainerItemProxy */ = {
isa = PBXContainerItemProxy;
containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */;
proxyType = 1;
- remoteGlobalIDString = E07EA1A35FBB3A986F484EB01CDD5527;
- remoteInfo = EXPermissions;
- };
- 443046EAD43D1B0E04BAAB9DC03934BE /* PBXContainerItemProxy */ = {
- isa = PBXContainerItemProxy;
- containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */;
- proxyType = 1;
- remoteGlobalIDString = 2E01DDE6A1A8D7EE37042C7EA69F25FE;
- remoteInfo = React;
- };
- 4468E198C3FB4DB0EDB46C3E83F38323 /* PBXContainerItemProxy */ = {
- isa = PBXContainerItemProxy;
- containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */;
- proxyType = 1;
- remoteGlobalIDString = A60315EEBAC9A7CD28069EB3A92D5953;
- remoteInfo = QBImagePickerController;
+ remoteGlobalIDString = DEF3673F5188A40BCBF98692EBA890E1;
+ remoteInfo = RNScreens;
};
455009ED9ED8F59E3D7880EA52A66B11 /* PBXContainerItemProxy */ = {
isa = PBXContainerItemProxy;
@@ -2248,13 +2147,6 @@
remoteGlobalIDString = 01B53B6A43CBD6D4022A361BBFCCE665;
remoteInfo = FirebaseCore;
};
- 45EB49BAB8FF5162E683F5BC30C9693C /* PBXContainerItemProxy */ = {
- isa = PBXContainerItemProxy;
- containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */;
- proxyType = 1;
- remoteGlobalIDString = EAFAF2A9CFE5807D87ACC914F678EAA8;
- remoteInfo = yoga;
- };
46123FA0B5C451A00D38BB12B40AD23A /* PBXContainerItemProxy */ = {
isa = PBXContainerItemProxy;
containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */;
@@ -2262,6 +2154,13 @@
remoteGlobalIDString = D9A2B7F6350AE8AB9AAFF5A9395AD63C;
remoteInfo = GoogleUtilities;
};
+ 4687ECFFC8A830EB43941FCB05C9B453 /* PBXContainerItemProxy */ = {
+ isa = PBXContainerItemProxy;
+ containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */;
+ proxyType = 1;
+ remoteGlobalIDString = 8E7ED3AB412B0C152A072F0A5785D329;
+ remoteInfo = RNGestureHandler;
+ };
46CF43607B2B2030CD8D4E07178F38B7 /* PBXContainerItemProxy */ = {
isa = PBXContainerItemProxy;
containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */;
@@ -2269,19 +2168,19 @@
remoteGlobalIDString = 1B84AFCD5F3FA2F6CFE3FDD3FF5343A2;
remoteInfo = "React-RCTWebSocket";
};
- 4813FCD2D302B576ACE1E70DFE73AE1E /* PBXContainerItemProxy */ = {
+ 486E361280314F0D585C65044BCBCF50 /* PBXContainerItemProxy */ = {
isa = PBXContainerItemProxy;
containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */;
proxyType = 1;
- remoteGlobalIDString = DB23D114FAED7CF95680BAB457CA48BF;
- remoteInfo = RNGestureHandler;
+ remoteGlobalIDString = 2E01DDE6A1A8D7EE37042C7EA69F25FE;
+ remoteInfo = React;
};
- 4B3440640C8E0382CC58B45B5BDD0D43 /* PBXContainerItemProxy */ = {
+ 4AE415F657B3A67B5A7174BAE4316389 /* PBXContainerItemProxy */ = {
isa = PBXContainerItemProxy;
containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */;
proxyType = 1;
- remoteGlobalIDString = 017AB91E1D5AB2B6096ADC666B072208;
- remoteInfo = "React-RCTImage";
+ remoteGlobalIDString = 5CF161F70C36097903C85E8C6885A5EB;
+ remoteInfo = "react-native-splash-screen";
};
4BBDCF74AAA6DEC7420E0CB6C398D3AF /* PBXContainerItemProxy */ = {
isa = PBXContainerItemProxy;
@@ -2297,61 +2196,26 @@
remoteGlobalIDString = 60F43D68BD7290E1B24C3BE7B3382AD3;
remoteInfo = "React-RCTNetwork";
};
- 4C5E7AA8F4FE52ECA7EC3CCD8E961FF1 /* PBXContainerItemProxy */ = {
+ 4D7386573B1F172361E36152DAA7D430 /* PBXContainerItemProxy */ = {
isa = PBXContainerItemProxy;
containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */;
proxyType = 1;
- remoteGlobalIDString = D9A2B7F6350AE8AB9AAFF5A9395AD63C;
- remoteInfo = GoogleUtilities;
+ remoteGlobalIDString = E93C48A48FB03EA19C4F756B97B5F1D3;
+ remoteInfo = nanopb;
};
- 4D2245CFC3E1FC33639DFAC5DEB1CF81 /* PBXContainerItemProxy */ = {
+ 4F7BDBE176CD0F5EE871D05C3B983FFC /* PBXContainerItemProxy */ = {
isa = PBXContainerItemProxy;
containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */;
proxyType = 1;
- remoteGlobalIDString = 427A5566E42596B2649019D00AA80F10;
- remoteInfo = libwebp;
+ remoteGlobalIDString = 7B7C354BACA274F7083329F37B6CE818;
+ remoteInfo = "react-native-video";
};
- 4D93C29011C569343CC8A2C0488399BE /* PBXContainerItemProxy */ = {
+ 4FC22AFDB6527B014E700B1831717430 /* PBXContainerItemProxy */ = {
isa = PBXContainerItemProxy;
containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */;
proxyType = 1;
- remoteGlobalIDString = 427A5566E42596B2649019D00AA80F10;
- remoteInfo = libwebp;
- };
- 4FACE6C6DEFF5E4C3D697256B10CF54A /* PBXContainerItemProxy */ = {
- isa = PBXContainerItemProxy;
- containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */;
- proxyType = 1;
- remoteGlobalIDString = 78321EAB31E9FCC75DFA950389835085;
- remoteInfo = Folly;
- };
- 4FCDE29B7A14B5422560D6880F77E59B /* PBXContainerItemProxy */ = {
- isa = PBXContainerItemProxy;
- containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */;
- proxyType = 1;
- remoteGlobalIDString = 74FC3222E79B7B2A842D5F13AE03831A;
- remoteInfo = "React-Core";
- };
- 509AABA01A74FD1CCFD50E3DD8236097 /* PBXContainerItemProxy */ = {
- isa = PBXContainerItemProxy;
- containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */;
- proxyType = 1;
- remoteGlobalIDString = D9D4825FF3196580FBFC163F94F09DE6;
- remoteInfo = "React-jsi";
- };
- 5102F6FCB3B0571BCA61E53F12CD6DFC /* PBXContainerItemProxy */ = {
- isa = PBXContainerItemProxy;
- containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */;
- proxyType = 1;
- remoteGlobalIDString = 831E8B32D5F328FE47E852621FE4E169;
- remoteInfo = SDWebImageWebPCoder;
- };
- 511AF81AC61946E60DC3D9D6FC755A4C /* PBXContainerItemProxy */ = {
- isa = PBXContainerItemProxy;
- containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */;
- proxyType = 1;
- remoteGlobalIDString = 74FC3222E79B7B2A842D5F13AE03831A;
- remoteInfo = "React-Core";
+ remoteGlobalIDString = 613EFCB1D5DFE45214999A38250ADD71;
+ remoteInfo = SDWebImage;
};
51584F4D577865939C7235FA395A5A8A /* PBXContainerItemProxy */ = {
isa = PBXContainerItemProxy;
@@ -2360,6 +2224,27 @@
remoteGlobalIDString = C5D62E7954593855294FBE5848A78863;
remoteInfo = "React-fishhook";
};
+ 531EF562B32D85F5DE78FB0140ED5C1F /* PBXContainerItemProxy */ = {
+ isa = PBXContainerItemProxy;
+ containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */;
+ proxyType = 1;
+ remoteGlobalIDString = 0080E4C361F4E1882AB11FFB6EA44C16;
+ remoteInfo = "react-native-keyboard-input";
+ };
+ 53627C4D2CE3D0F7D385A3FD4A6A7EAE /* PBXContainerItemProxy */ = {
+ isa = PBXContainerItemProxy;
+ containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */;
+ proxyType = 1;
+ remoteGlobalIDString = 6AD0E65D44A38151509F46E868517C37;
+ remoteInfo = "React-DevSupport";
+ };
+ 53D1C82F52C483F4AA9E49C43B42C841 /* PBXContainerItemProxy */ = {
+ isa = PBXContainerItemProxy;
+ containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */;
+ proxyType = 1;
+ remoteGlobalIDString = 7923160275E961C83193F40DBB856AF9;
+ remoteInfo = RSKImageCropper;
+ };
53E2A1BD19729C2293AB46582C686251 /* PBXContainerItemProxy */ = {
isa = PBXContainerItemProxy;
containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */;
@@ -2367,6 +2252,20 @@
remoteGlobalIDString = D9A2B7F6350AE8AB9AAFF5A9395AD63C;
remoteInfo = GoogleUtilities;
};
+ 542EDEC6A4D35DFBF876E7FF718D0273 /* PBXContainerItemProxy */ = {
+ isa = PBXContainerItemProxy;
+ containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */;
+ proxyType = 1;
+ remoteGlobalIDString = ABA9A411BB5A359862E5F1AA6238278E;
+ remoteInfo = Crashlytics;
+ };
+ 547F13ED059D97A3287BEA4FC31E17D1 /* PBXContainerItemProxy */ = {
+ isa = PBXContainerItemProxy;
+ containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */;
+ proxyType = 1;
+ remoteGlobalIDString = E13B95041FFD639523C6719AAEF55D71;
+ remoteInfo = DoubleConversion;
+ };
54A7BA384E80D5DB0269C827877FE175 /* PBXContainerItemProxy */ = {
isa = PBXContainerItemProxy;
containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */;
@@ -2374,26 +2273,33 @@
remoteGlobalIDString = D9A2B7F6350AE8AB9AAFF5A9395AD63C;
remoteInfo = GoogleUtilities;
};
- 54B0EA2866CA3866909F03F122B9AC46 /* PBXContainerItemProxy */ = {
+ 56FC0380E0FCA680B298D4D71E4FCC3C /* PBXContainerItemProxy */ = {
isa = PBXContainerItemProxy;
containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */;
proxyType = 1;
- remoteGlobalIDString = 37C5124E3DFD71073F85950A7A4F9566;
- remoteInfo = SDWebImage;
+ remoteGlobalIDString = 66641B93FAF80FF325B2D7B4AD85056F;
+ remoteInfo = "boost-for-react-native";
};
- 56F9FD98E639B6CB1CE7EAFB935D6837 /* PBXContainerItemProxy */ = {
+ 573BE411A86C13AFB34266EB7B9FB7C2 /* PBXContainerItemProxy */ = {
isa = PBXContainerItemProxy;
containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */;
proxyType = 1;
- remoteGlobalIDString = BD7B2D8FF0ABCB89D01F6E21D5364678;
- remoteInfo = "React-RCTVibration";
+ remoteGlobalIDString = D320738415C0077E96B65B1E6E6FD03E;
+ remoteInfo = RNLocalize;
};
- 57B3842247C9F3B86FB1DDBB5EB2F7CA /* PBXContainerItemProxy */ = {
+ 5755E5FB55ACF9DD048AD309FF909AD4 /* PBXContainerItemProxy */ = {
isa = PBXContainerItemProxy;
containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */;
proxyType = 1;
- remoteGlobalIDString = 7646A5321643F26BD222B26F0769B918;
- remoteInfo = RNAudio;
+ remoteGlobalIDString = 60F43D68BD7290E1B24C3BE7B3382AD3;
+ remoteInfo = "React-RCTNetwork";
+ };
+ 57DCDEFECA7892DCB79E3465C3FA33CA /* PBXContainerItemProxy */ = {
+ isa = PBXContainerItemProxy;
+ containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */;
+ proxyType = 1;
+ remoteGlobalIDString = ABA9A411BB5A359862E5F1AA6238278E;
+ remoteInfo = Crashlytics;
};
586C9042939572C3633A6BECFDC2FFDF /* PBXContainerItemProxy */ = {
isa = PBXContainerItemProxy;
@@ -2409,12 +2315,12 @@
remoteGlobalIDString = 7CAB4058EBC116AE1A60D0CB0B1BFCC1;
remoteInfo = glog;
};
- 5B9EC76399875160CFFE3397752D41D2 /* PBXContainerItemProxy */ = {
+ 5AD56A9A49C38228A9C483E5194F4104 /* PBXContainerItemProxy */ = {
isa = PBXContainerItemProxy;
containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */;
proxyType = 1;
- remoteGlobalIDString = 66641B93FAF80FF325B2D7B4AD85056F;
- remoteInfo = "boost-for-react-native";
+ remoteGlobalIDString = 78321EAB31E9FCC75DFA950389835085;
+ remoteInfo = Folly;
};
5BE488B88EB1D7B8BFE4A63D278D4B18 /* PBXContainerItemProxy */ = {
isa = PBXContainerItemProxy;
@@ -2430,12 +2336,12 @@
remoteGlobalIDString = 74FC3222E79B7B2A842D5F13AE03831A;
remoteInfo = "React-Core";
};
- 5DC32EDB9A09A0401A9134BDE691084F /* PBXContainerItemProxy */ = {
+ 5E97D038C9C7025227E177438A9D3F3A /* PBXContainerItemProxy */ = {
isa = PBXContainerItemProxy;
containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */;
proxyType = 1;
- remoteGlobalIDString = BCA838BEC3E25239D8A8D100FE0BB284;
- remoteInfo = "react-native-keyboard-input";
+ remoteGlobalIDString = 232D00D8ED7797390FB38004DE01723B;
+ remoteInfo = FirebaseAnalytics;
};
5FDD7E408B08AF566972547CAF4A8B67 /* PBXContainerItemProxy */ = {
isa = PBXContainerItemProxy;
@@ -2444,47 +2350,61 @@
remoteGlobalIDString = 01CBDBB3785FE2E9ED7E2986BE2102A6;
remoteInfo = UMCore;
};
- 623D96D51285B7FD4E9E5FF860F772AF /* PBXContainerItemProxy */ = {
+ 5FF82421ED59A83FBBC0A52BF820CE51 /* PBXContainerItemProxy */ = {
isa = PBXContainerItemProxy;
containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */;
proxyType = 1;
- remoteGlobalIDString = 60F43D68BD7290E1B24C3BE7B3382AD3;
- remoteInfo = "React-RCTNetwork";
+ remoteGlobalIDString = 1B38259BB8CAB10A9D9047D2BAE45AB5;
+ remoteInfo = "react-native-orientation-locker";
};
- 62A205530A07426E67FCC39A2856EE0C /* PBXContainerItemProxy */ = {
+ 60E2353D1967CF459B35B6DF4EFCEC8B /* PBXContainerItemProxy */ = {
isa = PBXContainerItemProxy;
containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */;
proxyType = 1;
- remoteGlobalIDString = 3302B0A7E3614E0291C8E8C082A82C7B;
- remoteInfo = "QBImagePickerController-QBImagePicker";
+ remoteGlobalIDString = A1BBD797A6F106A19800BC2BBF58841B;
+ remoteInfo = QBImagePickerController;
};
- 694DFAEDBA1F9B2516786300C12E9938 /* PBXContainerItemProxy */ = {
+ 62C15E3C57C3E00D74BBB1DEBA80C72B /* PBXContainerItemProxy */ = {
isa = PBXContainerItemProxy;
containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */;
proxyType = 1;
- remoteGlobalIDString = C2F81329D3C42F2D872A4B80180545BC;
- remoteInfo = "React-RCTLinking";
+ remoteGlobalIDString = E04524804318D15217CEF52E30E1708E;
+ remoteInfo = UMFontInterface;
};
- 6AA081B23866E775C7D7BB0D2E7FF314 /* PBXContainerItemProxy */ = {
+ 64D932061D3244CF0BD21AB46363ADEE /* PBXContainerItemProxy */ = {
isa = PBXContainerItemProxy;
containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */;
proxyType = 1;
- remoteGlobalIDString = 2E01DDE6A1A8D7EE37042C7EA69F25FE;
- remoteInfo = React;
+ remoteGlobalIDString = 5D8792E5DBB99598753C4E34D3308FC1;
+ remoteInfo = "react-native-document-picker";
};
- 6B0FB0A6C52D8E3B611C85DF223098FA /* PBXContainerItemProxy */ = {
+ 671301C8C33124BF2EDF5704F04441BA /* PBXContainerItemProxy */ = {
isa = PBXContainerItemProxy;
containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */;
proxyType = 1;
- remoteGlobalIDString = 115FC7605B6A0F6044A879F6EEB7DD99;
- remoteInfo = "React-jsinspector";
+ remoteGlobalIDString = 7CAB4058EBC116AE1A60D0CB0B1BFCC1;
+ remoteInfo = glog;
};
- 6B2B765AE7F1B9BA18F86B456E14C2ED /* PBXContainerItemProxy */ = {
+ 67921696F78DFBA8D9F58F7EBAA493C2 /* PBXContainerItemProxy */ = {
isa = PBXContainerItemProxy;
containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */;
proxyType = 1;
- remoteGlobalIDString = E452F4CD4F8AB641BD2444C7AC91FA2B;
- remoteInfo = BugsnagReactNative;
+ remoteGlobalIDString = 7923160275E961C83193F40DBB856AF9;
+ remoteInfo = RSKImageCropper;
+ };
+ 67E8DBF432ACDB29682AAC4CFF9CE599 /* PBXContainerItemProxy */ = {
+ isa = PBXContainerItemProxy;
+ containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */;
+ proxyType = 1;
+ remoteGlobalIDString = 1B84AFCD5F3FA2F6CFE3FDD3FF5343A2;
+ remoteInfo = "React-RCTWebSocket";
+ };
+ 6927232E1B92AE674C0FB2C43E3496C9 /* PBXContainerItemProxy */ = {
+ isa = PBXContainerItemProxy;
+ containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */;
+ proxyType = 1;
+ remoteGlobalIDString = D54096736AB8009BAAE062D216BF2B55;
+ remoteInfo = RNDeviceInfo;
};
6BD0984377EB6F1CDAF209D0EEAE7356 /* PBXContainerItemProxy */ = {
isa = PBXContainerItemProxy;
@@ -2493,54 +2413,61 @@
remoteGlobalIDString = 66641B93FAF80FF325B2D7B4AD85056F;
remoteInfo = "boost-for-react-native";
};
- 6D307960891396C3AED7B88E38E01246 /* PBXContainerItemProxy */ = {
+ 6C9DE10781112A365D7FB5CD12429D95 /* PBXContainerItemProxy */ = {
isa = PBXContainerItemProxy;
containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */;
proxyType = 1;
- remoteGlobalIDString = 74FC3222E79B7B2A842D5F13AE03831A;
- remoteInfo = "React-Core";
+ remoteGlobalIDString = A359F10B1C725F8B4B7FC47F16EF1C7D;
+ remoteInfo = RNFastImage;
};
- 7051196DBE56BC4EB44E675F8FC51C58 /* PBXContainerItemProxy */ = {
+ 6CBCE42B4D760A8A062AFBD3D0BA8714 /* PBXContainerItemProxy */ = {
isa = PBXContainerItemProxy;
containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */;
proxyType = 1;
- remoteGlobalIDString = 2E01DDE6A1A8D7EE37042C7EA69F25FE;
- remoteInfo = React;
+ remoteGlobalIDString = 7825F222F53EF434DE74A6C6FAF290E9;
+ remoteInfo = UMFileSystemInterface;
};
- 70EBAB3A357C12BEF59B4C8F2C507AA1 /* PBXContainerItemProxy */ = {
+ 6E19851928AF1DCB8518C07FDF842BCF /* PBXContainerItemProxy */ = {
isa = PBXContainerItemProxy;
containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */;
proxyType = 1;
- remoteGlobalIDString = 2E01DDE6A1A8D7EE37042C7EA69F25FE;
- remoteInfo = React;
+ remoteGlobalIDString = D9A2B7F6350AE8AB9AAFF5A9395AD63C;
+ remoteInfo = GoogleUtilities;
};
- 70F4CBE1A62FBE75CDB77E5A25BF1277 /* PBXContainerItemProxy */ = {
+ 70DBB4B85300CC27E7035DAC369AC151 /* PBXContainerItemProxy */ = {
+ isa = PBXContainerItemProxy;
+ containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */;
+ proxyType = 1;
+ remoteGlobalIDString = 56909E3CC40E72D94C9B1DAC65101260;
+ remoteInfo = UMReactNativeAdapter;
+ };
+ 72B0DBA753A2333A8F93BA33775F36A5 /* PBXContainerItemProxy */ = {
+ isa = PBXContainerItemProxy;
+ containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */;
+ proxyType = 1;
+ remoteGlobalIDString = A1BBD797A6F106A19800BC2BBF58841B;
+ remoteInfo = QBImagePickerController;
+ };
+ 73CBDB04CBDF1D9596E7763F6E16799C /* PBXContainerItemProxy */ = {
isa = PBXContainerItemProxy;
containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */;
proxyType = 1;
remoteGlobalIDString = 799B29F9D6DCE28B98CC259440382F20;
remoteInfo = Firebase;
};
- 712486A5CB1B1AA440BB33E0E9CDACDD /* PBXContainerItemProxy */ = {
+ 73E287559D1BFAEDFBAF4E1760507283 /* PBXContainerItemProxy */ = {
isa = PBXContainerItemProxy;
containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */;
proxyType = 1;
- remoteGlobalIDString = C5D62E7954593855294FBE5848A78863;
- remoteInfo = "React-fishhook";
+ remoteGlobalIDString = 0755785AD9A254220ED3D990F7939FB4;
+ remoteInfo = RNFirebase;
};
- 7139920F9A1CD488DA29D18CADD2A485 /* PBXContainerItemProxy */ = {
+ 73FC828461C2A316BCE9378B9A1ECB05 /* PBXContainerItemProxy */ = {
isa = PBXContainerItemProxy;
containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */;
proxyType = 1;
- remoteGlobalIDString = D35E9EC86D36A4C8BC1704199FDB3552;
- remoteInfo = Fabric;
- };
- 730D27A23403CAD0A46A0DB351F9D57D /* PBXContainerItemProxy */ = {
- isa = PBXContainerItemProxy;
- containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */;
- proxyType = 1;
- remoteGlobalIDString = 1B84AFCD5F3FA2F6CFE3FDD3FF5343A2;
- remoteInfo = "React-RCTWebSocket";
+ remoteGlobalIDString = 2E01DDE6A1A8D7EE37042C7EA69F25FE;
+ remoteInfo = React;
};
75A8D1D5089B0ACAF241DACEA0305423 /* PBXContainerItemProxy */ = {
isa = PBXContainerItemProxy;
@@ -2549,19 +2476,26 @@
remoteGlobalIDString = E13B95041FFD639523C6719AAEF55D71;
remoteInfo = DoubleConversion;
};
- 75F3226A5B84C2157B4A0DDFAC9C44AF /* PBXContainerItemProxy */ = {
+ 76D62A0D9932B4054DCBBC4DB7460473 /* PBXContainerItemProxy */ = {
isa = PBXContainerItemProxy;
containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */;
proxyType = 1;
- remoteGlobalIDString = E93C48A48FB03EA19C4F756B97B5F1D3;
- remoteInfo = nanopb;
+ remoteGlobalIDString = 2E01DDE6A1A8D7EE37042C7EA69F25FE;
+ remoteInfo = React;
};
- 76A219BE5FDAA4337E4BFC4FB515A4B6 /* PBXContainerItemProxy */ = {
+ 77023F1F2219399EDB8D1E2CFE0640BE /* PBXContainerItemProxy */ = {
isa = PBXContainerItemProxy;
containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */;
proxyType = 1;
- remoteGlobalIDString = 20175A1D062B21541D32883E9926C44F;
- remoteInfo = RNScreens;
+ remoteGlobalIDString = D35E9EC86D36A4C8BC1704199FDB3552;
+ remoteInfo = Fabric;
+ };
+ 7745C17EEE5229ACA87BE42A698732EA /* PBXContainerItemProxy */ = {
+ isa = PBXContainerItemProxy;
+ containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */;
+ proxyType = 1;
+ remoteGlobalIDString = 1B84AFCD5F3FA2F6CFE3FDD3FF5343A2;
+ remoteInfo = "React-RCTWebSocket";
};
7886C00AD2D894DE9202D2ADC41E8DF5 /* PBXContainerItemProxy */ = {
isa = PBXContainerItemProxy;
@@ -2570,33 +2504,33 @@
remoteGlobalIDString = 7CAB4058EBC116AE1A60D0CB0B1BFCC1;
remoteInfo = glog;
};
- 79579C4AAFC3077EDD92A6719CA26AFC /* PBXContainerItemProxy */ = {
+ 78A9D322C8DAF21A4DEF229E755B66FB /* PBXContainerItemProxy */ = {
isa = PBXContainerItemProxy;
containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */;
proxyType = 1;
- remoteGlobalIDString = A60315EEBAC9A7CD28069EB3A92D5953;
- remoteInfo = QBImagePickerController;
+ remoteGlobalIDString = 2E2ABA11C27993D4CDD5DA270C4B75F1;
+ remoteInfo = "React-RCTBlob";
};
- 79ACB70D0F3AD03D2571F8C75095A18E /* PBXContainerItemProxy */ = {
+ 790373F45E2001B8EF59945664DBEE15 /* PBXContainerItemProxy */ = {
isa = PBXContainerItemProxy;
containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */;
proxyType = 1;
- remoteGlobalIDString = FD0F4E74C14C4B5B552686BD9576466F;
- remoteInfo = EXFileSystem;
+ remoteGlobalIDString = BEAD226E955572BBC9153137CDF916BE;
+ remoteInfo = RNUserDefaults;
};
- 79D85FE44271C70DD13C7093F24C321B /* PBXContainerItemProxy */ = {
+ 790490555C56EDF8B608F874DFAD24A6 /* PBXContainerItemProxy */ = {
isa = PBXContainerItemProxy;
containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */;
proxyType = 1;
- remoteGlobalIDString = E13B95041FFD639523C6719AAEF55D71;
- remoteInfo = DoubleConversion;
+ remoteGlobalIDString = 427A5566E42596B2649019D00AA80F10;
+ remoteInfo = libwebp;
};
- 7A99C98C56D2F7BBC090054FA1291EEC /* PBXContainerItemProxy */ = {
+ 7A2897514709B69726CD0FF52B1BEF9A /* PBXContainerItemProxy */ = {
isa = PBXContainerItemProxy;
containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */;
proxyType = 1;
- remoteGlobalIDString = 4984F082733CC98C6C34712CC2BE0D72;
- remoteInfo = "react-native-realm-path";
+ remoteGlobalIDString = D35E9EC86D36A4C8BC1704199FDB3552;
+ remoteInfo = Fabric;
};
7AEA5761B26CAEF1A0C0E82599059DA8 /* PBXContainerItemProxy */ = {
isa = PBXContainerItemProxy;
@@ -2605,12 +2539,19 @@
remoteGlobalIDString = 232D00D8ED7797390FB38004DE01723B;
remoteInfo = FirebaseAnalytics;
};
- 7EEA8B4D67447F6D286969B6EF5395BE /* PBXContainerItemProxy */ = {
+ 7BEA5F568EAC63850253A919E38F9328 /* PBXContainerItemProxy */ = {
isa = PBXContainerItemProxy;
containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */;
proxyType = 1;
- remoteGlobalIDString = D35E9EC86D36A4C8BC1704199FDB3552;
- remoteInfo = Fabric;
+ remoteGlobalIDString = 74FC3222E79B7B2A842D5F13AE03831A;
+ remoteInfo = "React-Core";
+ };
+ 802BE69478619DA82E03935C33864893 /* PBXContainerItemProxy */ = {
+ isa = PBXContainerItemProxy;
+ containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */;
+ proxyType = 1;
+ remoteGlobalIDString = 74FC3222E79B7B2A842D5F13AE03831A;
+ remoteInfo = "React-Core";
};
8075D3C81C368FF63B92A7E7DC84BF6B /* PBXContainerItemProxy */ = {
isa = PBXContainerItemProxy;
@@ -2626,104 +2567,69 @@
remoteGlobalIDString = 9F219ED43F3AEA000562B9BCFD624DDD;
remoteInfo = "React-cxxreact";
};
- 833BD6F20D936FA4C6EE7968E748ACCE /* PBXContainerItemProxy */ = {
+ 80BBC04103BB19D2D1F7BF3528F427CF /* PBXContainerItemProxy */ = {
isa = PBXContainerItemProxy;
containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */;
proxyType = 1;
- remoteGlobalIDString = 4ECE1108F140208A729A83BC94FAA150;
- remoteInfo = EXAppLoaderProvider;
+ remoteGlobalIDString = B81CA3A3A63C0085E4085060FE4DD9FF;
+ remoteInfo = "React-jsiexecutor";
};
- 8360BCF9B96606F1894C259B72EA01CD /* PBXContainerItemProxy */ = {
+ 81A6AB2B0FEBBE6860ED52E5D4BFC76E /* PBXContainerItemProxy */ = {
isa = PBXContainerItemProxy;
containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */;
proxyType = 1;
- remoteGlobalIDString = 19FD173987D0B5073B152866E8F09349;
- remoteInfo = RNImageCropPicker;
+ remoteGlobalIDString = 232D00D8ED7797390FB38004DE01723B;
+ remoteInfo = FirebaseAnalytics;
};
- 874F30176967CD7F70F073BEF77BBC7E /* PBXContainerItemProxy */ = {
+ 833410950B0CD48AE38C52CDCBBA6B0E /* PBXContainerItemProxy */ = {
+ isa = PBXContainerItemProxy;
+ containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */;
+ proxyType = 1;
+ remoteGlobalIDString = 3F584E3C8A43B8A3400F7095E5E6B8A6;
+ remoteInfo = SDWebImageWebPCoder;
+ };
+ 85558221F15571F2501FD2BA6D2ADE9B /* PBXContainerItemProxy */ = {
+ isa = PBXContainerItemProxy;
+ containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */;
+ proxyType = 1;
+ remoteGlobalIDString = DF5FD085A45CD363E5FAAB4F642C7C40;
+ remoteInfo = "react-native-notifications";
+ };
+ 85739693390BB10384B529BF0B08D3A2 /* PBXContainerItemProxy */ = {
isa = PBXContainerItemProxy;
containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */;
proxyType = 1;
remoteGlobalIDString = 2E01DDE6A1A8D7EE37042C7EA69F25FE;
remoteInfo = React;
};
- 885141E6A6BAEB8138C924B8298F599E /* PBXContainerItemProxy */ = {
+ 8FE05F8654E579348D297022F52F8E45 /* PBXContainerItemProxy */ = {
isa = PBXContainerItemProxy;
containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */;
proxyType = 1;
- remoteGlobalIDString = 7CAB4058EBC116AE1A60D0CB0B1BFCC1;
- remoteInfo = glog;
+ remoteGlobalIDString = DF5FD085A45CD363E5FAAB4F642C7C40;
+ remoteInfo = "react-native-notifications";
};
- 897138486C6734B560979865C394A528 /* PBXContainerItemProxy */ = {
+ 8FE45E0BBF93040FB03F38B9FF93A67E /* PBXContainerItemProxy */ = {
isa = PBXContainerItemProxy;
containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */;
proxyType = 1;
- remoteGlobalIDString = 1DF9E24F5C777158895E58253CC4F6C5;
- remoteInfo = "react-native-keyboard-tracking-view";
+ remoteGlobalIDString = 5C53A3A5621162049D9B4399173FAD68;
+ remoteInfo = UMPermissionsInterface;
};
- 8C9FF52DF8FE13CAA84D1CCA00A85D4A /* PBXContainerItemProxy */ = {
+ 9315C3C8F792C01DD38DEB6ABEC01786 /* PBXContainerItemProxy */ = {
isa = PBXContainerItemProxy;
containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */;
proxyType = 1;
- remoteGlobalIDString = 146246509977A24E2E9823A1241BBC47;
- remoteInfo = RSKImageCropper;
+ remoteGlobalIDString = 60F43D68BD7290E1B24C3BE7B3382AD3;
+ remoteInfo = "React-RCTNetwork";
};
- 8D9B069C0AEFC86B0AB2343E5B591424 /* PBXContainerItemProxy */ = {
- isa = PBXContainerItemProxy;
- containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */;
- proxyType = 1;
- remoteGlobalIDString = 4984F082733CC98C6C34712CC2BE0D72;
- remoteInfo = "react-native-realm-path";
- };
- 8F47E66B52E82E3B49693846F4DD005E /* PBXContainerItemProxy */ = {
- isa = PBXContainerItemProxy;
- containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */;
- proxyType = 1;
- remoteGlobalIDString = 37C5124E3DFD71073F85950A7A4F9566;
- remoteInfo = SDWebImage;
- };
- 8F64DCA0E89BFA06306C11587170EB5B /* PBXContainerItemProxy */ = {
- isa = PBXContainerItemProxy;
- containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */;
- proxyType = 1;
- remoteGlobalIDString = 20175A1D062B21541D32883E9926C44F;
- remoteInfo = RNScreens;
- };
- 90BFBB0B8C91DB198AB7267B71AB4FD4 /* PBXContainerItemProxy */ = {
- isa = PBXContainerItemProxy;
- containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */;
- proxyType = 1;
- remoteGlobalIDString = 57B9E0A892EAB5C13D4AE7D4B1DE0C16;
- remoteInfo = GoogleAppMeasurement;
- };
- 90D1156508147BF11238A1AD8CCB2074 /* PBXContainerItemProxy */ = {
- isa = PBXContainerItemProxy;
- containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */;
- proxyType = 1;
- remoteGlobalIDString = 5B1BA8B3E53682DD179F7BFF8F2C8B75;
- remoteInfo = EXHaptics;
- };
- 9167E145671BAD148D62600744552B31 /* PBXContainerItemProxy */ = {
- isa = PBXContainerItemProxy;
- containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */;
- proxyType = 1;
- remoteGlobalIDString = 5B813AF083727DBD10D94AC3FCC9665E;
- remoteInfo = UMImageLoaderInterface;
- };
- 91985AC7074C3FFFF7F828DE3F7F7440 /* PBXContainerItemProxy */ = {
+ 95BE09A8DBC94D53A1A9B1557D4DFAC1 /* PBXContainerItemProxy */ = {
isa = PBXContainerItemProxy;
containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */;
proxyType = 1;
remoteGlobalIDString = 2E01DDE6A1A8D7EE37042C7EA69F25FE;
remoteInfo = React;
};
- 94A1D62405EF7A59A98AF33084F7E6C7 /* PBXContainerItemProxy */ = {
- isa = PBXContainerItemProxy;
- containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */;
- proxyType = 1;
- remoteGlobalIDString = ABA9A411BB5A359862E5F1AA6238278E;
- remoteInfo = Crashlytics;
- };
96823A763E56B0CD36C81E000393C274 /* PBXContainerItemProxy */ = {
isa = PBXContainerItemProxy;
containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */;
@@ -2731,6 +2637,13 @@
remoteGlobalIDString = 2E01DDE6A1A8D7EE37042C7EA69F25FE;
remoteInfo = React;
};
+ 968BF5A8C31BAB9182BAEA394F74723D /* PBXContainerItemProxy */ = {
+ isa = PBXContainerItemProxy;
+ containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */;
+ proxyType = 1;
+ remoteGlobalIDString = 2E01DDE6A1A8D7EE37042C7EA69F25FE;
+ remoteInfo = React;
+ };
96B240CD15FF840DD247422149331369 /* PBXContainerItemProxy */ = {
isa = PBXContainerItemProxy;
containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */;
@@ -2738,12 +2651,33 @@
remoteGlobalIDString = 74FC3222E79B7B2A842D5F13AE03831A;
remoteInfo = "React-Core";
};
- 99708FB38C9F775BAEB780995DD3E566 /* PBXContainerItemProxy */ = {
+ 978B081E3E655223F6B56D6E289E800B /* PBXContainerItemProxy */ = {
isa = PBXContainerItemProxy;
containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */;
proxyType = 1;
- remoteGlobalIDString = 19FD173987D0B5073B152866E8F09349;
- remoteInfo = RNImageCropPicker;
+ remoteGlobalIDString = EDA7C16766C1EEC9F573A53FB699FB11;
+ remoteInfo = UMTaskManagerInterface;
+ };
+ 999A85E0D755285E4A919DEFBCDBCA25 /* PBXContainerItemProxy */ = {
+ isa = PBXContainerItemProxy;
+ containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */;
+ proxyType = 1;
+ remoteGlobalIDString = EAFAF2A9CFE5807D87ACC914F678EAA8;
+ remoteInfo = yoga;
+ };
+ 99F10331250915E057BDC98FD0530A00 /* PBXContainerItemProxy */ = {
+ isa = PBXContainerItemProxy;
+ containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */;
+ proxyType = 1;
+ remoteGlobalIDString = A486E5AB43C3327005F1C0B986A448C0;
+ remoteInfo = EXConstants;
+ };
+ 9A221E04CB39C8732D2A49651C685FA4 /* PBXContainerItemProxy */ = {
+ isa = PBXContainerItemProxy;
+ containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */;
+ proxyType = 1;
+ remoteGlobalIDString = C5D62E7954593855294FBE5848A78863;
+ remoteInfo = "React-fishhook";
};
9A2D94180C1D8549B209C4F116F4FC88 /* PBXContainerItemProxy */ = {
isa = PBXContainerItemProxy;
@@ -2752,6 +2686,27 @@
remoteGlobalIDString = 01CBDBB3785FE2E9ED7E2986BE2102A6;
remoteInfo = UMCore;
};
+ 9AA9D0E15E721C6E7542D5EC44D0F40D /* PBXContainerItemProxy */ = {
+ isa = PBXContainerItemProxy;
+ containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */;
+ proxyType = 1;
+ remoteGlobalIDString = BC6622E758259DB565377BACA284A914;
+ remoteInfo = "react-native-keyboard-tracking-view";
+ };
+ 9B823E6B9557A43EBBD4C0E6ABC831CD /* PBXContainerItemProxy */ = {
+ isa = PBXContainerItemProxy;
+ containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */;
+ proxyType = 1;
+ remoteGlobalIDString = A359F10B1C725F8B4B7FC47F16EF1C7D;
+ remoteInfo = RNFastImage;
+ };
+ 9CEDFF71DBAF43084C92EED30086C41F /* PBXContainerItemProxy */ = {
+ isa = PBXContainerItemProxy;
+ containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */;
+ proxyType = 1;
+ remoteGlobalIDString = 613EFCB1D5DFE45214999A38250ADD71;
+ remoteInfo = SDWebImage;
+ };
9D531360B48D75C5E5066088B1C111F9 /* PBXContainerItemProxy */ = {
isa = PBXContainerItemProxy;
containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */;
@@ -2759,68 +2714,26 @@
remoteGlobalIDString = 66641B93FAF80FF325B2D7B4AD85056F;
remoteInfo = "boost-for-react-native";
};
- 9D981C75E47854BBAE426EFCA8E2EA5F /* PBXContainerItemProxy */ = {
+ 9E33D20C3564A541DB74B73DD23ACD65 /* PBXContainerItemProxy */ = {
isa = PBXContainerItemProxy;
containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */;
proxyType = 1;
- remoteGlobalIDString = A954214FEA55463925B6F6E3A27B6016;
- remoteInfo = EXAV;
+ remoteGlobalIDString = 01CBDBB3785FE2E9ED7E2986BE2102A6;
+ remoteInfo = UMCore;
};
- 9DA235C679E7F0E22247CD9C4C165881 /* PBXContainerItemProxy */ = {
+ A0889ADCD7917D685D3B08BCD3206346 /* PBXContainerItemProxy */ = {
isa = PBXContainerItemProxy;
containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */;
proxyType = 1;
remoteGlobalIDString = D9A2B7F6350AE8AB9AAFF5A9395AD63C;
remoteInfo = GoogleUtilities;
};
- 9DD6E88AD00AE3AE687734BB5CD90BBD /* PBXContainerItemProxy */ = {
+ A10B7537C438C0FFC86B907DFCECC8C1 /* PBXContainerItemProxy */ = {
isa = PBXContainerItemProxy;
containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */;
proxyType = 1;
- remoteGlobalIDString = 964A9CEE1C3E3B9859862E1731729015;
- remoteInfo = "react-native-notifications";
- };
- 9EB2DADBEC3EDDA12E4E36D958045701 /* PBXContainerItemProxy */ = {
- isa = PBXContainerItemProxy;
- containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */;
- proxyType = 1;
- remoteGlobalIDString = 5E59B39706A8E0F5D5C67FE2F337EE5F;
- remoteInfo = UMCameraInterface;
- };
- A01DC9C167FA0EAA7EEE46BCAC31AB4E /* PBXContainerItemProxy */ = {
- isa = PBXContainerItemProxy;
- containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */;
- proxyType = 1;
- remoteGlobalIDString = 2E2ABA11C27993D4CDD5DA270C4B75F1;
- remoteInfo = "React-RCTBlob";
- };
- A098C062241148E16F7CEDE102F41796 /* PBXContainerItemProxy */ = {
- isa = PBXContainerItemProxy;
- containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */;
- proxyType = 1;
- remoteGlobalIDString = 522B2D5D66C4C762F2B6B0321C398692;
- remoteInfo = RNVectorIcons;
- };
- A0C5A1D389ED43797ACE05AAD3053E1E /* PBXContainerItemProxy */ = {
- isa = PBXContainerItemProxy;
- containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */;
- proxyType = 1;
- remoteGlobalIDString = 2EC08CCE1938DFF417CCD9F6D912DFAB;
- remoteInfo = RNDeviceInfo;
- };
- A0D9172DB73BF6DDAE27D39B24B0F990 /* PBXContainerItemProxy */ = {
- isa = PBXContainerItemProxy;
- containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */;
- proxyType = 1;
- remoteGlobalIDString = 01B53B6A43CBD6D4022A361BBFCCE665;
- remoteInfo = FirebaseCore;
- };
- A0F08CD6EA7C75BA0F9B67411DA1F072 /* PBXContainerItemProxy */ = {
- isa = PBXContainerItemProxy;
- containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */;
- proxyType = 1;
- remoteGlobalIDString = 87E839EBF09814A85E7D1A77C727134A;
- remoteInfo = UMReactNativeAdapter;
+ remoteGlobalIDString = 7CAB4058EBC116AE1A60D0CB0B1BFCC1;
+ remoteInfo = glog;
};
A10B927F49CDB8E49094BFD1CA897343 /* PBXContainerItemProxy */ = {
isa = PBXContainerItemProxy;
@@ -2829,19 +2742,26 @@
remoteGlobalIDString = 115FC7605B6A0F6044A879F6EEB7DD99;
remoteInfo = "React-jsinspector";
};
- A332D2C7968E7DCB4190A73651B9D8D6 /* PBXContainerItemProxy */ = {
+ A175FE1149DC0044D9B6DC2D87393109 /* PBXContainerItemProxy */ = {
isa = PBXContainerItemProxy;
containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */;
proxyType = 1;
remoteGlobalIDString = 2E01DDE6A1A8D7EE37042C7EA69F25FE;
remoteInfo = React;
};
- A3830180F30727320EA49E552AEF61AE /* PBXContainerItemProxy */ = {
+ A26354E16B4D133A12E2B2FB3A17B495 /* PBXContainerItemProxy */ = {
isa = PBXContainerItemProxy;
containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */;
proxyType = 1;
- remoteGlobalIDString = 7825F222F53EF434DE74A6C6FAF290E9;
- remoteInfo = UMFileSystemInterface;
+ remoteGlobalIDString = D320738415C0077E96B65B1E6E6FD03E;
+ remoteInfo = RNLocalize;
+ };
+ A2A50B6C5EDCE7B6A19BB69658DD3025 /* PBXContainerItemProxy */ = {
+ isa = PBXContainerItemProxy;
+ containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */;
+ proxyType = 1;
+ remoteGlobalIDString = 6334D75DB21EBF62A13013BA23D8F754;
+ remoteInfo = UMSensorsInterface;
};
A3F86DBAC5E1C8F0724C396F51BBECE7 /* PBXContainerItemProxy */ = {
isa = PBXContainerItemProxy;
@@ -2850,19 +2770,12 @@
remoteGlobalIDString = 74FC3222E79B7B2A842D5F13AE03831A;
remoteInfo = "React-Core";
};
- A4A2783FFA4B8EB621385B3C10D076A7 /* PBXContainerItemProxy */ = {
+ A7BE917B36585CB5E9C9857F11F736BC /* PBXContainerItemProxy */ = {
isa = PBXContainerItemProxy;
containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */;
proxyType = 1;
- remoteGlobalIDString = AFDCAD5C30B5E83B09DBE7544DFD28AA;
- remoteInfo = "react-native-webview";
- };
- A6357DDCAB7954C00C5552AA21C5E629 /* PBXContainerItemProxy */ = {
- isa = PBXContainerItemProxy;
- containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */;
- proxyType = 1;
- remoteGlobalIDString = 2E01DDE6A1A8D7EE37042C7EA69F25FE;
- remoteInfo = React;
+ remoteGlobalIDString = 613EFCB1D5DFE45214999A38250ADD71;
+ remoteInfo = SDWebImage;
};
A7F75E1A626E50C12AD9C92133348106 /* PBXContainerItemProxy */ = {
isa = PBXContainerItemProxy;
@@ -2871,19 +2784,12 @@
remoteGlobalIDString = 74FC3222E79B7B2A842D5F13AE03831A;
remoteInfo = "React-Core";
};
- A8CBEAE0C51A77BAEB10F46CDAAB688B /* PBXContainerItemProxy */ = {
+ A8470EE85FBB58E98DB898FB2F81176C /* PBXContainerItemProxy */ = {
isa = PBXContainerItemProxy;
containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */;
proxyType = 1;
- remoteGlobalIDString = 2E01DDE6A1A8D7EE37042C7EA69F25FE;
- remoteInfo = React;
- };
- A8E51FAAB0F6D93470B0CD089D37353C /* PBXContainerItemProxy */ = {
- isa = PBXContainerItemProxy;
- containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */;
- proxyType = 1;
- remoteGlobalIDString = 2EC08CCE1938DFF417CCD9F6D912DFAB;
- remoteInfo = RNDeviceInfo;
+ remoteGlobalIDString = 7F28D4475D7DAD9903F7E6044DD921C1;
+ remoteInfo = "React-RCTAnimation";
};
A94EF2BE3BB5C93DEBBBD89AA7A50736 /* PBXContainerItemProxy */ = {
isa = PBXContainerItemProxy;
@@ -2906,75 +2812,47 @@
remoteGlobalIDString = 78321EAB31E9FCC75DFA950389835085;
remoteInfo = Folly;
};
- AB87E28B569C916D2BE6C6012AA91B76 /* PBXContainerItemProxy */ = {
+ ACDD8C9BEA0A27EC06E1093CB2F5BCD7 /* PBXContainerItemProxy */ = {
isa = PBXContainerItemProxy;
containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */;
proxyType = 1;
- remoteGlobalIDString = ABA9A411BB5A359862E5F1AA6238278E;
- remoteInfo = Crashlytics;
+ remoteGlobalIDString = E452F4CD4F8AB641BD2444C7AC91FA2B;
+ remoteInfo = BugsnagReactNative;
};
- AC28096FDCFE015D5F019783CFCF7688 /* PBXContainerItemProxy */ = {
+ AD8F3EE58794D1A8BB3174474EB3E32C /* PBXContainerItemProxy */ = {
isa = PBXContainerItemProxy;
containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */;
proxyType = 1;
- remoteGlobalIDString = D35E9EC86D36A4C8BC1704199FDB3552;
- remoteInfo = Fabric;
+ remoteGlobalIDString = 64E78828D8355514B3B6BE78FAE7806E;
+ remoteInfo = "React-RCTSettings";
};
- AC957E68D2173E4DD5B3D8E3E2077516 /* PBXContainerItemProxy */ = {
+ AFEBCA766A55C6732586D56C74CB6D5E /* PBXContainerItemProxy */ = {
isa = PBXContainerItemProxy;
containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */;
proxyType = 1;
- remoteGlobalIDString = 7646A5321643F26BD222B26F0769B918;
- remoteInfo = RNAudio;
+ remoteGlobalIDString = DEF3673F5188A40BCBF98692EBA890E1;
+ remoteInfo = RNScreens;
};
- AE16A44D89456451A88A26498EE354BD /* PBXContainerItemProxy */ = {
+ B166C9441C9281D7CC1C1116EF375395 /* PBXContainerItemProxy */ = {
isa = PBXContainerItemProxy;
containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */;
proxyType = 1;
- remoteGlobalIDString = EF5CFA65E99611E2C244EBE3CB52012D;
- remoteInfo = RNFirebase;
- };
- AF8BDC34451CB90AB0BEB9FD9A21347C /* PBXContainerItemProxy */ = {
- isa = PBXContainerItemProxy;
- containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */;
- proxyType = 1;
- remoteGlobalIDString = 2E2ABA11C27993D4CDD5DA270C4B75F1;
- remoteInfo = "React-RCTBlob";
- };
- AFFFF259C8B4B0999C0E9771007F82CF /* PBXContainerItemProxy */ = {
- isa = PBXContainerItemProxy;
- containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */;
- proxyType = 1;
- remoteGlobalIDString = 376273267BAD2BBB17B80B77A927FF01;
- remoteInfo = "react-native-document-picker";
- };
- B0FEC0D08550C8004A2CA2014D7A10F8 /* PBXContainerItemProxy */ = {
- isa = PBXContainerItemProxy;
- containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */;
- proxyType = 1;
- remoteGlobalIDString = 6AD0E65D44A38151509F46E868517C37;
- remoteInfo = "React-DevSupport";
- };
- B1BF5095F2D741D540CB221E87DF81A9 /* PBXContainerItemProxy */ = {
- isa = PBXContainerItemProxy;
- containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */;
- proxyType = 1;
- remoteGlobalIDString = 2E01DDE6A1A8D7EE37042C7EA69F25FE;
- remoteInfo = React;
- };
- B27FD611E60AC0B372EA6EA24FAC0572 /* PBXContainerItemProxy */ = {
- isa = PBXContainerItemProxy;
- containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */;
- proxyType = 1;
- remoteGlobalIDString = 1DF9E24F5C777158895E58253CC4F6C5;
+ remoteGlobalIDString = BC6622E758259DB565377BACA284A914;
remoteInfo = "react-native-keyboard-tracking-view";
};
- B44CAAF9EE8D1BF672C751A523F926A9 /* PBXContainerItemProxy */ = {
+ B2E5908DD90F789FF30A200442899D00 /* PBXContainerItemProxy */ = {
isa = PBXContainerItemProxy;
containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */;
proxyType = 1;
- remoteGlobalIDString = E93C48A48FB03EA19C4F756B97B5F1D3;
- remoteInfo = nanopb;
+ remoteGlobalIDString = A954214FEA55463925B6F6E3A27B6016;
+ remoteInfo = EXAV;
+ };
+ B44BF0B367702564E5FABD71EADD31A7 /* PBXContainerItemProxy */ = {
+ isa = PBXContainerItemProxy;
+ containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */;
+ proxyType = 1;
+ remoteGlobalIDString = 01CBDBB3785FE2E9ED7E2986BE2102A6;
+ remoteInfo = UMCore;
};
B4BACC19FD91FE9C750E2B7E26434F49 /* PBXContainerItemProxy */ = {
isa = PBXContainerItemProxy;
@@ -2983,26 +2861,19 @@
remoteGlobalIDString = 7CAB4058EBC116AE1A60D0CB0B1BFCC1;
remoteInfo = glog;
};
- B511561F28FC1FBC6E955849A1CD61AD /* PBXContainerItemProxy */ = {
+ B5A5C88476ECBABF71049B79DCD57B41 /* PBXContainerItemProxy */ = {
isa = PBXContainerItemProxy;
containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */;
proxyType = 1;
- remoteGlobalIDString = 01CBDBB3785FE2E9ED7E2986BE2102A6;
- remoteInfo = UMCore;
+ remoteGlobalIDString = 0080E4C361F4E1882AB11FFB6EA44C16;
+ remoteInfo = "react-native-keyboard-input";
};
- B5AF9DCB6A8284548671A96504770A7D /* PBXContainerItemProxy */ = {
+ B718C3310457692A7E517EC4BF12605D /* PBXContainerItemProxy */ = {
isa = PBXContainerItemProxy;
containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */;
proxyType = 1;
- remoteGlobalIDString = 247A6F47045F07DD9B7C5582D198D56B;
- remoteInfo = "react-native-splash-screen";
- };
- B6D9CC96E1673E2E5D5F5BFE96B1CCDB /* PBXContainerItemProxy */ = {
- isa = PBXContainerItemProxy;
- containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */;
- proxyType = 1;
- remoteGlobalIDString = 6AD0E65D44A38151509F46E868517C37;
- remoteInfo = "React-DevSupport";
+ remoteGlobalIDString = 57B9E0A892EAB5C13D4AE7D4B1DE0C16;
+ remoteInfo = GoogleAppMeasurement;
};
B7382E19C02620616F4EFB89AA978346 /* PBXContainerItemProxy */ = {
isa = PBXContainerItemProxy;
@@ -3011,6 +2882,13 @@
remoteGlobalIDString = 78321EAB31E9FCC75DFA950389835085;
remoteInfo = Folly;
};
+ B7E87D8E7292E45F9B24A58073A1367D /* PBXContainerItemProxy */ = {
+ isa = PBXContainerItemProxy;
+ containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */;
+ proxyType = 1;
+ remoteGlobalIDString = B11E238094137347E8790BFEB1BEF01F;
+ remoteInfo = EXWebBrowser;
+ };
B89102853C0AA8B4E4660B0A341C408A /* PBXContainerItemProxy */ = {
isa = PBXContainerItemProxy;
containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */;
@@ -3018,19 +2896,26 @@
remoteGlobalIDString = 64E78828D8355514B3B6BE78FAE7806E;
remoteInfo = "React-RCTSettings";
};
- B8B4CA409D0AD030DB44396FA1DABC56 /* PBXContainerItemProxy */ = {
+ B936AD3F788CA4EF4BD57467A53DB3A9 /* PBXContainerItemProxy */ = {
isa = PBXContainerItemProxy;
containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */;
proxyType = 1;
- remoteGlobalIDString = 2E01DDE6A1A8D7EE37042C7EA69F25FE;
- remoteInfo = React;
+ remoteGlobalIDString = EAFAF2A9CFE5807D87ACC914F678EAA8;
+ remoteInfo = yoga;
};
- B9A1344C4A74E1833CB673E42D3BF52C /* PBXContainerItemProxy */ = {
+ B97B39528F1A629598C730BC37FB6115 /* PBXContainerItemProxy */ = {
isa = PBXContainerItemProxy;
containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */;
proxyType = 1;
- remoteGlobalIDString = BCA838BEC3E25239D8A8D100FE0BB284;
- remoteInfo = "react-native-keyboard-input";
+ remoteGlobalIDString = C5D62E7954593855294FBE5848A78863;
+ remoteInfo = "React-fishhook";
+ };
+ B9F4CF9B565E07310B331DC1ABFC09B9 /* PBXContainerItemProxy */ = {
+ isa = PBXContainerItemProxy;
+ containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */;
+ proxyType = 1;
+ remoteGlobalIDString = ABA9A411BB5A359862E5F1AA6238278E;
+ remoteInfo = Crashlytics;
};
BA460C34E38D173750A1C69BCE0F2866 /* PBXContainerItemProxy */ = {
isa = PBXContainerItemProxy;
@@ -3039,20 +2924,6 @@
remoteGlobalIDString = 60F43D68BD7290E1B24C3BE7B3382AD3;
remoteInfo = "React-RCTNetwork";
};
- BB90CCB320AC5BD182C11985878861E5 /* PBXContainerItemProxy */ = {
- isa = PBXContainerItemProxy;
- containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */;
- proxyType = 1;
- remoteGlobalIDString = 2E01DDE6A1A8D7EE37042C7EA69F25FE;
- remoteInfo = React;
- };
- BBB9E6CA64D5CC5BF3279551397ED705 /* PBXContainerItemProxy */ = {
- isa = PBXContainerItemProxy;
- containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */;
- proxyType = 1;
- remoteGlobalIDString = 2DDA31FEDED4744BE297E2881BB1F4C3;
- remoteInfo = UMFaceDetectorInterface;
- };
BBDC7C661CA5567D3925BC0747CAAEC5 /* PBXContainerItemProxy */ = {
isa = PBXContainerItemProxy;
containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */;
@@ -3060,26 +2931,33 @@
remoteGlobalIDString = 57B9E0A892EAB5C13D4AE7D4B1DE0C16;
remoteInfo = GoogleAppMeasurement;
};
- BEB9B12C701B28356E8BD683286DAF69 /* PBXContainerItemProxy */ = {
+ BCAAD69BFD1EDC8BAAAD83509A487990 /* PBXContainerItemProxy */ = {
isa = PBXContainerItemProxy;
containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */;
proxyType = 1;
- remoteGlobalIDString = 247A6F47045F07DD9B7C5582D198D56B;
- remoteInfo = "react-native-splash-screen";
+ remoteGlobalIDString = D9D4825FF3196580FBFC163F94F09DE6;
+ remoteInfo = "React-jsi";
};
- BEF10834B298A789401F358C1D93E6BB /* PBXContainerItemProxy */ = {
+ BCB603ABE679384CA4E09F321FBBD08C /* PBXContainerItemProxy */ = {
isa = PBXContainerItemProxy;
containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */;
proxyType = 1;
- remoteGlobalIDString = D6CC6A3A2F6667F0425D36DE14076E0E;
- remoteInfo = UMSensorsInterface;
+ remoteGlobalIDString = 74FC3222E79B7B2A842D5F13AE03831A;
+ remoteInfo = "React-Core";
};
- BF7FE943D19996CD8DAB90CF08910960 /* PBXContainerItemProxy */ = {
+ BCB6B91B61E170CC092BF050D0DB985C /* PBXContainerItemProxy */ = {
isa = PBXContainerItemProxy;
containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */;
proxyType = 1;
- remoteGlobalIDString = E49E330A27425F89DE89516B2F50AAE9;
- remoteInfo = "React-RCTText";
+ remoteGlobalIDString = 427A5566E42596B2649019D00AA80F10;
+ remoteInfo = libwebp;
+ };
+ C00DA3FF23927DA398D84B27975B1D9C /* PBXContainerItemProxy */ = {
+ isa = PBXContainerItemProxy;
+ containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */;
+ proxyType = 1;
+ remoteGlobalIDString = 9F219ED43F3AEA000562B9BCFD624DDD;
+ remoteInfo = "React-cxxreact";
};
C013798CC86616601286D9425D1E96EA /* PBXContainerItemProxy */ = {
isa = PBXContainerItemProxy;
@@ -3088,47 +2966,47 @@
remoteGlobalIDString = B81CA3A3A63C0085E4085060FE4DD9FF;
remoteInfo = "React-jsiexecutor";
};
- C15240A7D2FD3BF19AA3D5DD8AD767F6 /* PBXContainerItemProxy */ = {
+ C08EAD0D346CC4DEE363009AF690E87D /* PBXContainerItemProxy */ = {
isa = PBXContainerItemProxy;
containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */;
proxyType = 1;
- remoteGlobalIDString = 232D00D8ED7797390FB38004DE01723B;
- remoteInfo = FirebaseAnalytics;
+ remoteGlobalIDString = 115FC7605B6A0F6044A879F6EEB7DD99;
+ remoteInfo = "React-jsinspector";
};
- C29F45EF21AA82F392A87776C3FAEA11 /* PBXContainerItemProxy */ = {
+ C0F216230A371CE5A19762D2296C3076 /* PBXContainerItemProxy */ = {
isa = PBXContainerItemProxy;
containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */;
proxyType = 1;
- remoteGlobalIDString = E0F2E9913CC97E528E2F52C5847DD461;
- remoteInfo = RNFastImage;
+ remoteGlobalIDString = E07EA1A35FBB3A986F484EB01CDD5527;
+ remoteInfo = EXPermissions;
};
- C3AC8B41AF724517A5AAE727A3DF0FDF /* PBXContainerItemProxy */ = {
+ C158ABA37A7853A8F8351574ADBE3BC2 /* PBXContainerItemProxy */ = {
isa = PBXContainerItemProxy;
containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */;
proxyType = 1;
- remoteGlobalIDString = 146246509977A24E2E9823A1241BBC47;
- remoteInfo = RSKImageCropper;
+ remoteGlobalIDString = 8E7ED3AB412B0C152A072F0A5785D329;
+ remoteInfo = RNGestureHandler;
};
- C3F5944A4BA404BE5D415E89AC9B1CF1 /* PBXContainerItemProxy */ = {
+ C1AE0FF87058F5FCB1910C002BD4EE92 /* PBXContainerItemProxy */ = {
isa = PBXContainerItemProxy;
containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */;
proxyType = 1;
- remoteGlobalIDString = BD7B2D8FF0ABCB89D01F6E21D5364678;
- remoteInfo = "React-RCTVibration";
+ remoteGlobalIDString = 01B53B6A43CBD6D4022A361BBFCCE665;
+ remoteInfo = FirebaseCore;
};
- C525BBEF6BBA6BADB648424C38DF8631 /* PBXContainerItemProxy */ = {
+ C2718F1CDFF1950B6E5B1D00A203E97D /* PBXContainerItemProxy */ = {
isa = PBXContainerItemProxy;
containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */;
proxyType = 1;
- remoteGlobalIDString = 067640E87A8B312779CCEB689BDB2178;
- remoteInfo = RNLocalize;
+ remoteGlobalIDString = 799B29F9D6DCE28B98CC259440382F20;
+ remoteInfo = Firebase;
};
- C53BA6F170605D972871E0BE07AA759C /* PBXContainerItemProxy */ = {
+ C5BF3FBA8F82C97317B8926A7D120921 /* PBXContainerItemProxy */ = {
isa = PBXContainerItemProxy;
containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */;
proxyType = 1;
- remoteGlobalIDString = EC1A26DE95FA2429A2D3329E03072951;
- remoteInfo = "react-native-video";
+ remoteGlobalIDString = 4ECE1108F140208A729A83BC94FAA150;
+ remoteInfo = EXAppLoaderProvider;
};
C6318E60C9E68C5F678F7ADDF357AED8 /* PBXContainerItemProxy */ = {
isa = PBXContainerItemProxy;
@@ -3137,6 +3015,13 @@
remoteGlobalIDString = E93C48A48FB03EA19C4F756B97B5F1D3;
remoteInfo = nanopb;
};
+ C68DB28ADE5C9E0143FB3AA1768693EB /* PBXContainerItemProxy */ = {
+ isa = PBXContainerItemProxy;
+ containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */;
+ proxyType = 1;
+ remoteGlobalIDString = 7B7C354BACA274F7083329F37B6CE818;
+ remoteInfo = "react-native-video";
+ };
C6C35C61164D4136265E61ECEB28D38A /* PBXContainerItemProxy */ = {
isa = PBXContainerItemProxy;
containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */;
@@ -3144,13 +3029,6 @@
remoteGlobalIDString = 3C6A9BF574C3488966C92C6A9B93CA8C;
remoteInfo = FirebaseInstanceID;
};
- C73659C84FD34A0526B505E87FC86CA5 /* PBXContainerItemProxy */ = {
- isa = PBXContainerItemProxy;
- containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */;
- proxyType = 1;
- remoteGlobalIDString = 5C53A3A5621162049D9B4399173FAD68;
- remoteInfo = UMPermissionsInterface;
- };
CC20A804D1649625892DB6375F56B2FA /* PBXContainerItemProxy */ = {
isa = PBXContainerItemProxy;
containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */;
@@ -3158,6 +3036,20 @@
remoteGlobalIDString = E13B95041FFD639523C6719AAEF55D71;
remoteInfo = DoubleConversion;
};
+ CCFF5BB3B4D787537C845FBD7FDF3E6B /* PBXContainerItemProxy */ = {
+ isa = PBXContainerItemProxy;
+ containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */;
+ proxyType = 1;
+ remoteGlobalIDString = 78321EAB31E9FCC75DFA950389835085;
+ remoteInfo = Folly;
+ };
+ CD2551A0A8F2D12361F6C8F1CBD06D36 /* PBXContainerItemProxy */ = {
+ isa = PBXContainerItemProxy;
+ containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */;
+ proxyType = 1;
+ remoteGlobalIDString = 115FC7605B6A0F6044A879F6EEB7DD99;
+ remoteInfo = "React-jsinspector";
+ };
CDB6513D531E47875F2D8DC49A5C00C3 /* PBXContainerItemProxy */ = {
isa = PBXContainerItemProxy;
containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */;
@@ -3165,54 +3057,54 @@
remoteGlobalIDString = 1B84AFCD5F3FA2F6CFE3FDD3FF5343A2;
remoteInfo = "React-RCTWebSocket";
};
- CEA5B0F38ECECD40845191E272E385EB /* PBXContainerItemProxy */ = {
- isa = PBXContainerItemProxy;
- containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */;
- proxyType = 1;
- remoteGlobalIDString = A9AF554C1800106CB1D2B325BCA89ED1;
- remoteInfo = UMBarCodeScannerInterface;
- };
- CEB84F6C54C132C548BF3EDA71D80890 /* PBXContainerItemProxy */ = {
- isa = PBXContainerItemProxy;
- containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */;
- proxyType = 1;
- remoteGlobalIDString = 232D00D8ED7797390FB38004DE01723B;
- remoteInfo = FirebaseAnalytics;
- };
- CF93A57725424D28172C3E1F23BC2607 /* PBXContainerItemProxy */ = {
- isa = PBXContainerItemProxy;
- containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */;
- proxyType = 1;
- remoteGlobalIDString = 64BB73387B4A0B997647464A7310466C;
- remoteInfo = UMFontInterface;
- };
- D080A0807C5C91862270FC1F38583384 /* PBXContainerItemProxy */ = {
- isa = PBXContainerItemProxy;
- containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */;
- proxyType = 1;
- remoteGlobalIDString = B81CA3A3A63C0085E4085060FE4DD9FF;
- remoteInfo = "React-jsiexecutor";
- };
- D0D63A0342EE980C84374943368D5058 /* PBXContainerItemProxy */ = {
+ CDCDB9CC8E5C1871A0CFF1C33FC7F023 /* PBXContainerItemProxy */ = {
isa = PBXContainerItemProxy;
containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */;
proxyType = 1;
remoteGlobalIDString = 2E01DDE6A1A8D7EE37042C7EA69F25FE;
remoteInfo = React;
};
- D2DC8E26B30973761EE96E535D1051E9 /* PBXContainerItemProxy */ = {
+ CDCED0DFE031FE431CB614BAB9111B77 /* PBXContainerItemProxy */ = {
isa = PBXContainerItemProxy;
containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */;
proxyType = 1;
- remoteGlobalIDString = 9EC22C1FB0EA4FCCD9910CCD5AE16054;
- remoteInfo = "react-native-orientation-locker";
+ remoteGlobalIDString = 66641B93FAF80FF325B2D7B4AD85056F;
+ remoteInfo = "boost-for-react-native";
};
- D39BA1C85ACC58D97B1769436705BB6D /* PBXContainerItemProxy */ = {
+ CEC7BE5672EA72751B6FCC54E4795747 /* PBXContainerItemProxy */ = {
isa = PBXContainerItemProxy;
containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */;
proxyType = 1;
- remoteGlobalIDString = 376273267BAD2BBB17B80B77A927FF01;
- remoteInfo = "react-native-document-picker";
+ remoteGlobalIDString = 7135140B597489F3FE9D0A6D1FADD9C7;
+ remoteInfo = "React-RCTActionSheet";
+ };
+ D0734FB0A9F700A9C5B3CF7F86CDCC05 /* PBXContainerItemProxy */ = {
+ isa = PBXContainerItemProxy;
+ containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */;
+ proxyType = 1;
+ remoteGlobalIDString = A1BBD797A6F106A19800BC2BBF58841B;
+ remoteInfo = QBImagePickerController;
+ };
+ D23D6CCDADA866DE7724476C4978906B /* PBXContainerItemProxy */ = {
+ isa = PBXContainerItemProxy;
+ containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */;
+ proxyType = 1;
+ remoteGlobalIDString = 3B69A9EA6B436271134E84A5F9D5E424;
+ remoteInfo = UMBarCodeScannerInterface;
+ };
+ D29507EE47085C01B6A285837DFBD832 /* PBXContainerItemProxy */ = {
+ isa = PBXContainerItemProxy;
+ containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */;
+ proxyType = 1;
+ remoteGlobalIDString = 2E01DDE6A1A8D7EE37042C7EA69F25FE;
+ remoteInfo = React;
+ };
+ D35F01C071AEC97C7FD7339864431D3C /* PBXContainerItemProxy */ = {
+ isa = PBXContainerItemProxy;
+ containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */;
+ proxyType = 1;
+ remoteGlobalIDString = A781E865D049A4F0DC455551DD865390;
+ remoteInfo = "rn-extensions-share";
};
D465047540D12FD9D95291AE82A76DB9 /* PBXContainerItemProxy */ = {
isa = PBXContainerItemProxy;
@@ -3221,12 +3113,33 @@
remoteGlobalIDString = D35E9EC86D36A4C8BC1704199FDB3552;
remoteInfo = Fabric;
};
- D7FF1BFE94E266714DA14A84F5BF3E35 /* PBXContainerItemProxy */ = {
+ D58260B6719FF5DD05DB9D8F153A0777 /* PBXContainerItemProxy */ = {
isa = PBXContainerItemProxy;
containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */;
proxyType = 1;
- remoteGlobalIDString = A60315EEBAC9A7CD28069EB3A92D5953;
- remoteInfo = QBImagePickerController;
+ remoteGlobalIDString = 799B29F9D6DCE28B98CC259440382F20;
+ remoteInfo = Firebase;
+ };
+ D674215B3106F4E5E9D38FB17946F2C1 /* PBXContainerItemProxy */ = {
+ isa = PBXContainerItemProxy;
+ containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */;
+ proxyType = 1;
+ remoteGlobalIDString = CC30C36E03077EEB94ADE9D0B1D2C97D;
+ remoteInfo = "QBImagePickerController-QBImagePicker";
+ };
+ D6BC9F02761E86596A6848BE7C69D77A /* PBXContainerItemProxy */ = {
+ isa = PBXContainerItemProxy;
+ containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */;
+ proxyType = 1;
+ remoteGlobalIDString = 2E01DDE6A1A8D7EE37042C7EA69F25FE;
+ remoteInfo = React;
+ };
+ D7881D91ABB284988691C591CF3BDD09 /* PBXContainerItemProxy */ = {
+ isa = PBXContainerItemProxy;
+ containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */;
+ proxyType = 1;
+ remoteGlobalIDString = 017AB91E1D5AB2B6096ADC666B072208;
+ remoteInfo = "React-RCTImage";
};
D8A489DA96811A733E40A4B4C97CDC9D /* PBXContainerItemProxy */ = {
isa = PBXContainerItemProxy;
@@ -3235,12 +3148,12 @@
remoteGlobalIDString = 74FC3222E79B7B2A842D5F13AE03831A;
remoteInfo = "React-Core";
};
- D967C224DBE33BC0340AC154CD57D8F4 /* PBXContainerItemProxy */ = {
+ D904BC18D0B7BD999B31751EA7C3BD70 /* PBXContainerItemProxy */ = {
isa = PBXContainerItemProxy;
containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */;
proxyType = 1;
- remoteGlobalIDString = 60F43D68BD7290E1B24C3BE7B3382AD3;
- remoteInfo = "React-RCTNetwork";
+ remoteGlobalIDString = 3C6A9BF574C3488966C92C6A9B93CA8C;
+ remoteInfo = FirebaseInstanceID;
};
D9B0BDCA002FEBFE383DFE024728D2F6 /* PBXContainerItemProxy */ = {
isa = PBXContainerItemProxy;
@@ -3256,33 +3169,40 @@
remoteGlobalIDString = 7F28D4475D7DAD9903F7E6044DD921C1;
remoteInfo = "React-RCTAnimation";
};
- DC873D8D05ACE8000EAB099283F3944F /* PBXContainerItemProxy */ = {
+ DDD0CBF7F73BF8936B2B613012B30E30 /* PBXContainerItemProxy */ = {
isa = PBXContainerItemProxy;
containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */;
proxyType = 1;
- remoteGlobalIDString = 017AB91E1D5AB2B6096ADC666B072208;
- remoteInfo = "React-RCTImage";
+ remoteGlobalIDString = 7135140B597489F3FE9D0A6D1FADD9C7;
+ remoteInfo = "React-RCTActionSheet";
};
- DDAF7D39009B3FB703DFD4C6278D35B6 /* PBXContainerItemProxy */ = {
+ DE70AD6E7D117ED37EA49803D82036C0 /* PBXContainerItemProxy */ = {
isa = PBXContainerItemProxy;
containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */;
proxyType = 1;
- remoteGlobalIDString = EC1A26DE95FA2429A2D3329E03072951;
- remoteInfo = "react-native-video";
+ remoteGlobalIDString = 5B1BA8B3E53682DD179F7BFF8F2C8B75;
+ remoteInfo = EXHaptics;
};
- DE3DDC1F566F0AAA1D274ED8C051AA88 /* PBXContainerItemProxy */ = {
+ DE873E5D7B927B128F2BEFF5935B51D5 /* PBXContainerItemProxy */ = {
isa = PBXContainerItemProxy;
containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */;
proxyType = 1;
- remoteGlobalIDString = 7F28D4475D7DAD9903F7E6044DD921C1;
- remoteInfo = "React-RCTAnimation";
+ remoteGlobalIDString = B7CEA57206C6730FE77CFD9EBFE816B3;
+ remoteInfo = RNImageCropPicker;
};
- DEB09275ADFD8226F4AEC89E91C378C8 /* PBXContainerItemProxy */ = {
+ DEDFD32978CD7634CEE302568BE74891 /* PBXContainerItemProxy */ = {
isa = PBXContainerItemProxy;
containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */;
proxyType = 1;
- remoteGlobalIDString = ED1B613713B07D993972524DC3EAC01A;
- remoteInfo = UMTaskManagerInterface;
+ remoteGlobalIDString = 0930E5899BD6BF767017AF77F370F37E;
+ remoteInfo = "react-native-webview";
+ };
+ DF075C13AE49FFF510099A83D25AEB95 /* PBXContainerItemProxy */ = {
+ isa = PBXContainerItemProxy;
+ containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */;
+ proxyType = 1;
+ remoteGlobalIDString = 2E01DDE6A1A8D7EE37042C7EA69F25FE;
+ remoteInfo = React;
};
DF12C5D7BB68C2724D2F39A531F2A52A /* PBXContainerItemProxy */ = {
isa = PBXContainerItemProxy;
@@ -3291,61 +3211,82 @@
remoteGlobalIDString = E93C48A48FB03EA19C4F756B97B5F1D3;
remoteInfo = nanopb;
};
- E00A64B90854D4BAEEBC17FD27CBC772 /* PBXContainerItemProxy */ = {
+ DFCF323C9FE43C67EEE4FED4F12FC3CA /* PBXContainerItemProxy */ = {
isa = PBXContainerItemProxy;
containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */;
proxyType = 1;
- remoteGlobalIDString = B11E238094137347E8790BFEB1BEF01F;
- remoteInfo = EXWebBrowser;
- };
- E38A766D4F82FEDC34C2132A012E8AEF /* PBXContainerItemProxy */ = {
- isa = PBXContainerItemProxy;
- containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */;
- proxyType = 1;
- remoteGlobalIDString = A486E5AB43C3327005F1C0B986A448C0;
- remoteInfo = EXConstants;
- };
- E3F542B112B5639DC459166C25566496 /* PBXContainerItemProxy */ = {
- isa = PBXContainerItemProxy;
- containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */;
- proxyType = 1;
- remoteGlobalIDString = 528A31AF90F0F11C093A9A2B38E14706;
- remoteInfo = "rn-extensions-share";
- };
- E64E2E59EC3B14B793529D5B3E7215FF /* PBXContainerItemProxy */ = {
- isa = PBXContainerItemProxy;
- containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */;
- proxyType = 1;
- remoteGlobalIDString = C5D62E7954593855294FBE5848A78863;
- remoteInfo = "React-fishhook";
- };
- E967ED577F1EEF64E68557E2B4EAB9ED /* PBXContainerItemProxy */ = {
- isa = PBXContainerItemProxy;
- containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */;
- proxyType = 1;
- remoteGlobalIDString = 427A5566E42596B2649019D00AA80F10;
- remoteInfo = libwebp;
- };
- E97D13ED059E59C23E3810CE17BDB2A5 /* PBXContainerItemProxy */ = {
- isa = PBXContainerItemProxy;
- containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */;
- proxyType = 1;
- remoteGlobalIDString = 522B2D5D66C4C762F2B6B0321C398692;
+ remoteGlobalIDString = 70DAB38F984DC253A2F5F5624250A0FD;
remoteInfo = RNVectorIcons;
};
- EB265C0E68DCA4EC0DE42676D72657B2 /* PBXContainerItemProxy */ = {
+ E0076F749A5CF58ED6C01D936093711C /* PBXContainerItemProxy */ = {
isa = PBXContainerItemProxy;
containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */;
proxyType = 1;
- remoteGlobalIDString = 37C5124E3DFD71073F85950A7A4F9566;
- remoteInfo = SDWebImage;
+ remoteGlobalIDString = 7F28D4475D7DAD9903F7E6044DD921C1;
+ remoteInfo = "React-RCTAnimation";
};
- ED3575982B3997128ACC53AF74B68387 /* PBXContainerItemProxy */ = {
+ E23A36894894B194DEE520C3B95FFD30 /* PBXContainerItemProxy */ = {
isa = PBXContainerItemProxy;
containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */;
proxyType = 1;
- remoteGlobalIDString = E0F2E9913CC97E528E2F52C5847DD461;
- remoteInfo = RNFastImage;
+ remoteGlobalIDString = 3F584E3C8A43B8A3400F7095E5E6B8A6;
+ remoteInfo = SDWebImageWebPCoder;
+ };
+ E4B5DCF884CE9F74D49A02691A6B5652 /* PBXContainerItemProxy */ = {
+ isa = PBXContainerItemProxy;
+ containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */;
+ proxyType = 1;
+ remoteGlobalIDString = E93C48A48FB03EA19C4F756B97B5F1D3;
+ remoteInfo = nanopb;
+ };
+ E52F968D99B0106DC18EB5FD8DC3875F /* PBXContainerItemProxy */ = {
+ isa = PBXContainerItemProxy;
+ containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */;
+ proxyType = 1;
+ remoteGlobalIDString = C410C8606887D8FF122B33CE15128A32;
+ remoteInfo = UMFaceDetectorInterface;
+ };
+ E5FD441AC6E4789929FD8F76535243DF /* PBXContainerItemProxy */ = {
+ isa = PBXContainerItemProxy;
+ containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */;
+ proxyType = 1;
+ remoteGlobalIDString = 70DAB38F984DC253A2F5F5624250A0FD;
+ remoteInfo = RNVectorIcons;
+ };
+ E7AC871EF776D99EFE8AC163F4865A26 /* PBXContainerItemProxy */ = {
+ isa = PBXContainerItemProxy;
+ containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */;
+ proxyType = 1;
+ remoteGlobalIDString = C2F81329D3C42F2D872A4B80180545BC;
+ remoteInfo = "React-RCTLinking";
+ };
+ E96D18013AA5AD175B825025F0AC84AD /* PBXContainerItemProxy */ = {
+ isa = PBXContainerItemProxy;
+ containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */;
+ proxyType = 1;
+ remoteGlobalIDString = 6AD0E65D44A38151509F46E868517C37;
+ remoteInfo = "React-DevSupport";
+ };
+ E9A9930952A4C100F0C95DCE822FCF69 /* PBXContainerItemProxy */ = {
+ isa = PBXContainerItemProxy;
+ containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */;
+ proxyType = 1;
+ remoteGlobalIDString = 2E01DDE6A1A8D7EE37042C7EA69F25FE;
+ remoteInfo = React;
+ };
+ EA6E43F90871D8C41930554FA1316F86 /* PBXContainerItemProxy */ = {
+ isa = PBXContainerItemProxy;
+ containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */;
+ proxyType = 1;
+ remoteGlobalIDString = 2E01DDE6A1A8D7EE37042C7EA69F25FE;
+ remoteInfo = React;
+ };
+ EABF33DBB72AFEFA1438F9DA0D7CC50B /* PBXContainerItemProxy */ = {
+ isa = PBXContainerItemProxy;
+ containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */;
+ proxyType = 1;
+ remoteGlobalIDString = 2E01DDE6A1A8D7EE37042C7EA69F25FE;
+ remoteInfo = React;
};
EEC2A18D5D098BDAB781F34428BB77D1 /* PBXContainerItemProxy */ = {
isa = PBXContainerItemProxy;
@@ -3354,19 +3295,12 @@
remoteGlobalIDString = 74FC3222E79B7B2A842D5F13AE03831A;
remoteInfo = "React-Core";
};
- EF09C9127B8CA976001D59E5F7ACFCCA /* PBXContainerItemProxy */ = {
+ EEF46299EA4F9EECA9736C45EF7DE755 /* PBXContainerItemProxy */ = {
isa = PBXContainerItemProxy;
containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */;
proxyType = 1;
- remoteGlobalIDString = C07DB8374AB03A1DFF5956DA871886FF;
- remoteInfo = "rn-fetch-blob";
- };
- F2D3C37029318A8B024C99FEF1CB8606 /* PBXContainerItemProxy */ = {
- isa = PBXContainerItemProxy;
- containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */;
- proxyType = 1;
- remoteGlobalIDString = B81CA3A3A63C0085E4085060FE4DD9FF;
- remoteInfo = "React-jsiexecutor";
+ remoteGlobalIDString = 2E01DDE6A1A8D7EE37042C7EA69F25FE;
+ remoteInfo = React;
};
F2FF55E89F9BA0040B50E35573928069 /* PBXContainerItemProxy */ = {
isa = PBXContainerItemProxy;
@@ -3375,6 +3309,41 @@
remoteGlobalIDString = E13B95041FFD639523C6719AAEF55D71;
remoteInfo = DoubleConversion;
};
+ F558B0373C2352275DD4BEA3BB34AD2B /* PBXContainerItemProxy */ = {
+ isa = PBXContainerItemProxy;
+ containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */;
+ proxyType = 1;
+ remoteGlobalIDString = D54096736AB8009BAAE062D216BF2B55;
+ remoteInfo = RNDeviceInfo;
+ };
+ F5F2EE4EFF5276AE928DEE732B7F90DB /* PBXContainerItemProxy */ = {
+ isa = PBXContainerItemProxy;
+ containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */;
+ proxyType = 1;
+ remoteGlobalIDString = 5CF161F70C36097903C85E8C6885A5EB;
+ remoteInfo = "react-native-splash-screen";
+ };
+ F6210FF52EB117D21F8C7B14168390B4 /* PBXContainerItemProxy */ = {
+ isa = PBXContainerItemProxy;
+ containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */;
+ proxyType = 1;
+ remoteGlobalIDString = 2E01DDE6A1A8D7EE37042C7EA69F25FE;
+ remoteInfo = React;
+ };
+ F642800FF6326DC46DB20C2C77FC8277 /* PBXContainerItemProxy */ = {
+ isa = PBXContainerItemProxy;
+ containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */;
+ proxyType = 1;
+ remoteGlobalIDString = 3F584E3C8A43B8A3400F7095E5E6B8A6;
+ remoteInfo = SDWebImageWebPCoder;
+ };
+ F66C95207915478158B68D424BC305F6 /* PBXContainerItemProxy */ = {
+ isa = PBXContainerItemProxy;
+ containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */;
+ proxyType = 1;
+ remoteGlobalIDString = F363FA3E9696D7E05EE33F0FD872B0DB;
+ remoteInfo = UMCameraInterface;
+ };
F6A14184DE3C02C257A7298719E4FD9B /* PBXContainerItemProxy */ = {
isa = PBXContainerItemProxy;
containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */;
@@ -3382,6 +3351,13 @@
remoteGlobalIDString = 01B53B6A43CBD6D4022A361BBFCCE665;
remoteInfo = FirebaseCore;
};
+ F809AAC847F324FFE91A833225CBC0AA /* PBXContainerItemProxy */ = {
+ isa = PBXContainerItemProxy;
+ containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */;
+ proxyType = 1;
+ remoteGlobalIDString = 9F219ED43F3AEA000562B9BCFD624DDD;
+ remoteInfo = "React-cxxreact";
+ };
F84AAAA2C19F25EDD3EC2AACB0E9E389 /* PBXContainerItemProxy */ = {
isa = PBXContainerItemProxy;
containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */;
@@ -3396,13 +3372,6 @@
remoteGlobalIDString = 66641B93FAF80FF325B2D7B4AD85056F;
remoteInfo = "boost-for-react-native";
};
- FA6F52E0056BA7502854722F60BC3A49 /* PBXContainerItemProxy */ = {
- isa = PBXContainerItemProxy;
- containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */;
- proxyType = 1;
- remoteGlobalIDString = 64E78828D8355514B3B6BE78FAE7806E;
- remoteInfo = "React-RCTSettings";
- };
FC81A17B5C5AD48E1DC428B4EE37ABEC /* PBXContainerItemProxy */ = {
isa = PBXContainerItemProxy;
containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */;
@@ -3410,12 +3379,12 @@
remoteGlobalIDString = 2E2ABA11C27993D4CDD5DA270C4B75F1;
remoteInfo = "React-RCTBlob";
};
- FD89A43027DB93DAF4AC62848F0BA62E /* PBXContainerItemProxy */ = {
+ FE81419A564046D4DDA6E6D93D9ACB0D /* PBXContainerItemProxy */ = {
isa = PBXContainerItemProxy;
containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */;
proxyType = 1;
- remoteGlobalIDString = 2E01DDE6A1A8D7EE37042C7EA69F25FE;
- remoteInfo = React;
+ remoteGlobalIDString = 64E78828D8355514B3B6BE78FAE7806E;
+ remoteInfo = "React-RCTSettings";
};
FE8C7693079779C66A2B166BAD56A51E /* PBXContainerItemProxy */ = {
isa = PBXContainerItemProxy;
@@ -3424,1922 +3393,1921 @@
remoteGlobalIDString = 01CBDBB3785FE2E9ED7E2986BE2102A6;
remoteInfo = UMCore;
};
+ FFC087DCB4888EF1759CE61D916653DF /* PBXContainerItemProxy */ = {
+ isa = PBXContainerItemProxy;
+ containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */;
+ proxyType = 1;
+ remoteGlobalIDString = E04524804318D15217CEF52E30E1708E;
+ remoteInfo = UMFontInterface;
+ };
/* End PBXContainerItemProxy section */
/* Begin PBXFileReference section */
- 0022FD89BB7864548C76C36476B35E27 /* RNCUIWebViewManager.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = RNCUIWebViewManager.h; path = ios/RNCUIWebViewManager.h; sourceTree = ""; };
- 002E506CB0391BC1CE481928B2699F12 /* BSG_KSMach_x86_32.c */ = {isa = PBXFileReference; includeInIndex = 1; path = BSG_KSMach_x86_32.c; sourceTree = ""; };
- 0058CE4F379579E66CFAD9373A917F1E /* Instance.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = Instance.h; sourceTree = ""; };
+ 00500EE5F9A13316AFB8E9F93E9D70A5 /* BugsnagBreadcrumb.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = BugsnagBreadcrumb.m; sourceTree = ""; };
0060114C8EB1CBBCEAA531878A0AB9B3 /* SDWebImageDefine.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDWebImageDefine.m; path = SDWebImage/SDWebImageDefine.m; sourceTree = ""; };
+ 0074389B58401CED5730B5700D1B8F06 /* RNDeviceInfo-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "RNDeviceInfo-dummy.m"; sourceTree = ""; };
009C0959C2126F9B3C0AE53F3AF96C49 /* SDAnimatedImage.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDAnimatedImage.m; path = SDWebImage/SDAnimatedImage.m; sourceTree = ""; };
- 00A042E9F189D84A9DB3C5D99970425E /* RCTLog.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = RCTLog.h; sourceTree = ""; };
+ 012FB77C009F4830A65A0F5154959B37 /* RCTUIManager.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = RCTUIManager.h; sourceTree = ""; };
01454D02726937A5EBFC01CA9238BBFB /* FIRInstanceIDUtilities.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = FIRInstanceIDUtilities.m; path = Firebase/InstanceID/FIRInstanceIDUtilities.m; sourceTree = ""; };
0150AA8CAF72E28360A04F27E2139232 /* GULMutableDictionary.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = GULMutableDictionary.h; path = GoogleUtilities/Network/Private/GULMutableDictionary.h; sourceTree = ""; };
- 01A7880C36DB0DA3C3DA76C932D85D93 /* RCTBlobCollector.mm */ = {isa = PBXFileReference; includeInIndex = 1; path = RCTBlobCollector.mm; sourceTree = ""; };
+ 01661966F13874DA470B02804CFC0306 /* RCTCustomInputController.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = RCTCustomInputController.m; sourceTree = ""; };
+ 01A3F33BA38C10EDD17D9A16AC7E5CF2 /* yoga-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "yoga-dummy.m"; sourceTree = ""; };
+ 01D616258D310A39873F42EF82CEF8E2 /* YGStyle.cpp */ = {isa = PBXFileReference; includeInIndex = 1; name = YGStyle.cpp; path = yoga/YGStyle.cpp; sourceTree = ""; };
+ 01D96701D2CDF7D3696C994FA973FC1D /* RCTComponentData.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = RCTComponentData.m; sourceTree = ""; };
01F03CBA6207DF026B6B5E5BC4D51937 /* SDImageIOCoder.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDImageIOCoder.h; path = SDWebImage/SDImageIOCoder.h; sourceTree = ""; };
- 022C82D92204ACE3C421413C77E5911F /* RCTNullability.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = RCTNullability.h; sourceTree = ""; };
- 023611A7F02A69AB41D2215053517B8C /* RCTProfileTrampoline-arm64.S */ = {isa = PBXFileReference; includeInIndex = 1; path = "RCTProfileTrampoline-arm64.S"; sourceTree = ""; };
- 023FD423DB9CE6921ECB1282C5F5E737 /* UMCore-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "UMCore-prefix.pch"; sourceTree = ""; };
- 025035FE772E5449028E2CBEF1FC6B74 /* EXVideoView.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = EXVideoView.h; sourceTree = ""; };
025F4627265EC18A48EA0E9618F86102 /* FIRInstanceIDKeychain.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = FIRInstanceIDKeychain.h; path = Firebase/InstanceID/FIRInstanceIDKeychain.h; sourceTree = ""; };
- 0278DA66BE1CC92294D67838B32FFD5D /* RNGestureHandlerButton.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = RNGestureHandlerButton.h; path = ios/RNGestureHandlerButton.h; sourceTree = ""; };
02A5BFA8A2E2A877ACAF148B33831970 /* SDWebImageCompat.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDWebImageCompat.h; path = SDWebImage/SDWebImageCompat.h; sourceTree = ""; };
+ 02A62F6471984E51A1F287759ADC7B8B /* RCTInputAccessoryViewManager.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = RCTInputAccessoryViewManager.h; sourceTree = ""; };
+ 02AFF5C565E58B3DF692352EFF584BFE /* RNGestureHandlerModule.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = RNGestureHandlerModule.h; path = ios/RNGestureHandlerModule.h; sourceTree = ""; };
+ 02BE54D27F70A0662AE8D7562DFE1999 /* RCTSurfaceSizeMeasureMode.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = RCTSurfaceSizeMeasureMode.h; sourceTree = ""; };
02C2613F2CD674822E590CE3CB95E425 /* RSKImageCropperStrings.bundle */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = "wrapper.plug-in"; name = RSKImageCropperStrings.bundle; path = RSKImageCropper/RSKImageCropperStrings.bundle; sourceTree = ""; };
02E718FD11A9B5E18F855621A90A14AF /* FIRInstanceIDTokenStore.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = FIRInstanceIDTokenStore.m; path = Firebase/InstanceID/FIRInstanceIDTokenStore.m; sourceTree = ""; };
- 03032499ED2EB20BF307D05FC28938BA /* EXHapticsModule.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = EXHapticsModule.m; path = EXHaptics/EXHapticsModule.m; sourceTree = ""; };
- 034178FF57AD118733844581FB75A2CB /* RCTBackedTextInputDelegateAdapter.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = RCTBackedTextInputDelegateAdapter.h; sourceTree = ""; };
- 038947B7304EF9D6A7EB9CAF09ECA4F7 /* RCTPlatform.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = RCTPlatform.m; sourceTree = ""; };
- 03AAC81E309354362253A07DDC399476 /* libUMCore.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; name = libUMCore.a; path = libUMCore.a; sourceTree = BUILT_PRODUCTS_DIR; };
- 03B4D10E35398BA07BDA79D4B8FF3912 /* UMReactFontManager.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = UMReactFontManager.m; sourceTree = ""; };
- 03E6CAE5A150AD10346BEA5951AEC1F0 /* BSG_KSLogger.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = BSG_KSLogger.h; sourceTree = ""; };
- 03F7A4E282FAD268C44C0DB4565ECC9E /* RNFirebaseFirestoreCollectionReference.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = RNFirebaseFirestoreCollectionReference.h; sourceTree = ""; };
- 03FF47E582F30E4C65CDD30DA0207ECA /* React-RCTVibration.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "React-RCTVibration.xcconfig"; sourceTree = ""; };
- 03FF7F4AE8B12AC0C0C3EE8E0B6D1B77 /* RCTEventDispatcher.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = RCTEventDispatcher.h; sourceTree = ""; };
- 0407737E35A8740BA30337057F3CB893 /* NSDataBigString.mm */ = {isa = PBXFileReference; includeInIndex = 1; path = NSDataBigString.mm; sourceTree = ""; };
- 042188B2C8084F2FDB081C7D32CA9F4E /* RNPushKit.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = RNPushKit.h; path = RNNotifications/RNPushKit.h; sourceTree = ""; };
- 04226826B4A07B6880AA6BA62C5D5391 /* RCTRootView.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = RCTRootView.h; sourceTree = ""; };
+ 02EB9D5D668A8D2B372A5EFB8F9DD93F /* JsArgumentHelpers.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = JsArgumentHelpers.h; sourceTree = ""; };
+ 031E088DAEF5184446AC232C6EE0C0EE /* RCTModuleData.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = RCTModuleData.h; sourceTree = ""; };
+ 033D09EAD4BBA3E2FC82C71A34CDC799 /* UMCameraInterface.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = UMCameraInterface.xcconfig; sourceTree = ""; };
+ 0393F01D63216EDA817EB799C5633398 /* Compression.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = Compression.h; path = ios/src/Compression.h; sourceTree = ""; };
+ 03F91E131AA92114693FFDDEB545728A /* EXWebBrowser.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = EXWebBrowser.m; path = EXWebBrowser/EXWebBrowser.m; sourceTree = ""; };
+ 042D539645D984A1A33E0328F088FA8B /* RNLocalize.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = RNLocalize.xcconfig; sourceTree = ""; };
043E74812E7C829DDB701DEBDA93199F /* SDWebImageDownloader.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDWebImageDownloader.h; path = SDWebImage/SDWebImageDownloader.h; sourceTree = ""; };
0452016DEF4B30771753CA8A5253C5EE /* SDWebImageCacheKeyFilter.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDWebImageCacheKeyFilter.m; path = SDWebImage/SDWebImageCacheKeyFilter.m; sourceTree = ""; };
- 045465C4C84505010AE52D59D22E92C9 /* RCTMaskedViewManager.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = RCTMaskedViewManager.h; sourceTree = ""; };
- 0464E5BC5B9DB1BFE4E6FDAAAA50D669 /* RCTBackedTextInputDelegate.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = RCTBackedTextInputDelegate.h; sourceTree = ""; };
- 049AF69E9E8B62A6A1109E451B817A5B /* RNVectorIcons-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "RNVectorIcons-dummy.m"; sourceTree = ""; };
+ 04728A9248C79A860E023B792115D149 /* RCTDevMenu.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = RCTDevMenu.m; sourceTree = ""; };
+ 047D61DA792737FB89CBE7D4C8C0DAA5 /* RNGestureHandler.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = RNGestureHandler.h; path = ios/RNGestureHandler.h; sourceTree = ""; };
+ 049AF58234FB0E38DE1469CBC2D9E233 /* NSTextStorage+FontScaling.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "NSTextStorage+FontScaling.h"; sourceTree = ""; };
+ 04A0ED76AB258E468F3C61E4848D7B0D /* RNUserDefaults-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "RNUserDefaults-dummy.m"; sourceTree = ""; };
04A76256D4AB25432364E582CC1F189A /* alphai_dec.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = alphai_dec.h; path = src/dec/alphai_dec.h; sourceTree = ""; };
- 04B9A5202BF99AD07946D15455B942CE /* RCTBackedTextInputViewProtocol.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = RCTBackedTextInputViewProtocol.h; sourceTree = ""; };
- 04DCC79609E42FF3547F7DD8B6332862 /* EXDownloadDelegate.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = EXDownloadDelegate.h; path = EXFileSystem/EXDownloadDelegate.h; sourceTree = ""; };
+ 05083A90161E576EB4E3162EA08766DB /* UMReactLogHandler.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = UMReactLogHandler.h; sourceTree = ""; };
+ 050AB614C45E489CF96503ACCD020131 /* RNFirebaseLinks.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = RNFirebaseLinks.m; sourceTree = ""; };
0510373B94598A9767C0963E9A6BC64E /* ssim_sse2.c */ = {isa = PBXFileReference; includeInIndex = 1; name = ssim_sse2.c; path = src/dsp/ssim_sse2.c; sourceTree = ""; };
0512E5707A74145C8D4C2E6D0A0837A0 /* enc_msa.c */ = {isa = PBXFileReference; includeInIndex = 1; name = enc_msa.c; path = src/dsp/enc_msa.c; sourceTree = ""; };
0516C996FB30E84E3BEBFDC7CA85A368 /* FIRComponent.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = FIRComponent.m; path = Firebase/Core/FIRComponent.m; sourceTree = ""; };
05224206D907042AA3943F245EEF79BF /* FIRErrors.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = FIRErrors.m; path = Firebase/Core/FIRErrors.m; sourceTree = ""; };
053D5F7EFA0CF8AD22EB12CF9DFC2D1B /* UIApplication+RSKImageCropper.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "UIApplication+RSKImageCropper.h"; path = "RSKImageCropper/UIApplication+RSKImageCropper.h"; sourceTree = ""; };
+ 055C3873FAE61AB5E28A37EE7F9E2A4D /* RCTDefines.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = RCTDefines.h; sourceTree = ""; };
0562DC21AFB7EE2C588D43C22F7BB4BE /* rescaler_neon.c */ = {isa = PBXFileReference; includeInIndex = 1; name = rescaler_neon.c; path = src/dsp/rescaler_neon.c; sourceTree = ""; };
+ 057CCE91FA925F5DC262423F64110BB3 /* BSG_RFC3339DateTool.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = BSG_RFC3339DateTool.h; sourceTree = ""; };
+ 05809B72105DB62C94F828B3C42E14B2 /* NSValue+Interpolation.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "NSValue+Interpolation.h"; sourceTree = ""; };
0580E5E4C436222FD025EC39AA8EFD3D /* quant_levels_utils.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = quant_levels_utils.h; path = src/utils/quant_levels_utils.h; sourceTree = ""; };
- 0593A6E22225FA6429A9EBB11D64D3BD /* RCTModalManager.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = RCTModalManager.h; sourceTree = ""; };
+ 0582C537C3A9645FE422BD4905840619 /* EXPermissions-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "EXPermissions-prefix.pch"; sourceTree = ""; };
+ 0586050107338E30AB90986AC6AC967B /* JSIDynamic.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = JSIDynamic.h; sourceTree = ""; };
+ 0598A98F71D59A0F0A71DE4565DAE754 /* RCTConvert+Transform.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "RCTConvert+Transform.m"; sourceTree = ""; };
+ 059B8069D5EF0EEB1DA0134ADFAA5D6A /* RNPushKit.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = RNPushKit.m; path = RNNotifications/RNPushKit.m; sourceTree = ""; };
+ 05AC39C5E04626D439DA4C1915BF1E25 /* react-native-video-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "react-native-video-prefix.pch"; sourceTree = ""; };
+ 05D0F9CB5405B5FD3D54E89D5B6FEBA6 /* RNFirebaseAdMobNativeExpressManager.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = RNFirebaseAdMobNativeExpressManager.h; sourceTree = ""; };
+ 05D5CF1C685953D46D985996AF32E123 /* RNAudio-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "RNAudio-prefix.pch"; sourceTree = ""; };
+ 05D6D9F271D340BA1327AC5B87ACB5A8 /* RCTCxxModule.mm */ = {isa = PBXFileReference; includeInIndex = 1; path = RCTCxxModule.mm; sourceTree = ""; };
05FBD434ABEFE89829C4939FDE8E3764 /* backward_references_enc.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = backward_references_enc.h; path = src/enc/backward_references_enc.h; sourceTree = ""; };
0617EFF69DC9E4B501C365D7AA0D4429 /* dec.c */ = {isa = PBXFileReference; includeInIndex = 1; name = dec.c; path = src/dsp/dec.c; sourceTree = ""; };
+ 0641686D71D2067D107571FD733BB6B0 /* DeviceUID.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = DeviceUID.h; path = ios/RNDeviceInfo/DeviceUID.h; sourceTree = ""; };
06426D26C3258972F2C37E221B45318C /* vp8i_enc.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = vp8i_enc.h; path = src/enc/vp8i_enc.h; sourceTree = ""; };
- 065597CDB50590E70A12C5272863954D /* RCTImageCache.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = RCTImageCache.h; sourceTree = ""; };
- 06A1CD052F5E2B699F2F1D04C1B0A8BB /* JsArgumentHelpers.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = JsArgumentHelpers.h; sourceTree = ""; };
+ 066120885AB4F47F98EF22798BA07DF1 /* LICENSE */ = {isa = PBXFileReference; includeInIndex = 1; path = LICENSE; sourceTree = ""; };
+ 067B06A85B9D53A80DD0E9253B98249E /* RNFirebaseAdMobNativeExpressManager.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = RNFirebaseAdMobNativeExpressManager.m; sourceTree = ""; };
06A9CD53A96164AE6AB948668C78CBB9 /* buffer_dec.c */ = {isa = PBXFileReference; includeInIndex = 1; name = buffer_dec.c; path = src/dec/buffer_dec.c; sourceTree = ""; };
06AF16299BAF97AD3AE122293C12F2D1 /* UIImage+MultiFormat.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "UIImage+MultiFormat.h"; path = "SDWebImage/UIImage+MultiFormat.h"; sourceTree = ""; };
06B2ACEC62C125FF131EDF144E1371E3 /* dsp.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = dsp.h; path = src/dsp/dsp.h; sourceTree = ""; };
- 06D6E41F12645DB14EDE4603D26582C6 /* UMFileSystemInterface.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = UMFileSystemInterface.xcconfig; sourceTree = ""; };
- 070E37E4131991101081E2814D7F5B2D /* RNGestureHandler.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = RNGestureHandler.h; path = ios/RNGestureHandler.h; sourceTree = ""; };
+ 06CF1C3DAD271F6E959834CFDA6CAAE5 /* RNFetchBlobRequest.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = RNFetchBlobRequest.h; path = ios/RNFetchBlobRequest.h; sourceTree = ""; };
+ 06E670E90D802FAE5DE45DEC84EC921E /* RCTVideo.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = RCTVideo.h; path = ios/Video/RCTVideo.h; sourceTree = ""; };
+ 0700642B1DA4A15CF7D83E2215260C36 /* RCTConvert+UIBackgroundFetchResult.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "RCTConvert+UIBackgroundFetchResult.m"; sourceTree = ""; };
0732BB40F45A0106BBCFE5D2395034B6 /* Folly-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "Folly-dummy.m"; sourceTree = ""; };
- 074199B5DD60B47D68D533C4502ACBC7 /* react-native-splash-screen.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "react-native-splash-screen.xcconfig"; sourceTree = ""; };
- 07452FD528D4093F702F3B77ECE06998 /* RCTSliderManager.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = RCTSliderManager.m; sourceTree = ""; };
- 0745E5AA2E7EC75B5A3A51381A2932F8 /* BSG_KSObjCApple.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = BSG_KSObjCApple.h; sourceTree = ""; };
- 077972DEBA46D220E5F8AC0939015D13 /* EXCameraRollRequester.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = EXCameraRollRequester.m; path = EXPermissions/EXCameraRollRequester.m; sourceTree = ""; };
- 0790BC1DC20250D59E035E911F2D89F7 /* RCTEventDispatcher.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = RCTEventDispatcher.m; sourceTree = ""; };
- 0796E70E97900B0A6980CA033F23CF25 /* RCTInspector.mm */ = {isa = PBXFileReference; includeInIndex = 1; path = RCTInspector.mm; sourceTree = ""; };
- 07A526EFBA6F68A70638C31C16838110 /* RCTWebSocketModule.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = RCTWebSocketModule.m; sourceTree = ""; };
- 08039FEDFB11C95AE1B0D2E220AC0D09 /* UMFaceDetectorInterface.podspec */ = {isa = PBXFileReference; explicitFileType = text.script.ruby; includeInIndex = 1; indentWidth = 2; lastKnownFileType = text; path = UMFaceDetectorInterface.podspec; sourceTree = ""; tabWidth = 2; xcLanguageSpecificationIdentifier = xcode.lang.ruby; };
+ 07654457DCE770D477BA8F153B3E64ED /* fishhook.c */ = {isa = PBXFileReference; includeInIndex = 1; path = fishhook.c; sourceTree = ""; };
+ 0776F80D3013FB99447BA5E87875D205 /* RCTBridgeDelegate.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = RCTBridgeDelegate.h; sourceTree = ""; };
+ 07995A9A486AABFFB1A925B926B92588 /* UMReactNativeEventEmitter.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = UMReactNativeEventEmitter.h; sourceTree = ""; };
+ 07B61F87DAC5ABD73E7D8352E30635F0 /* RCTScrollableProtocol.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = RCTScrollableProtocol.h; sourceTree = ""; };
0856CE09C9AE05CF216187E8CE5D695F /* UIImage+WebP.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "UIImage+WebP.m"; path = "SDWebImageWebPCoder/Classes/UIImage+WebP.m"; sourceTree = ""; };
+ 086095FEB108D360EED5DE6BD3269DCE /* RCTParserUtils.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = RCTParserUtils.h; sourceTree = ""; };
08A9E55F567F18E55C5975B764D40FD3 /* SDWebImage.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = SDWebImage.xcconfig; sourceTree = ""; };
+ 08DE838462CCEE52151A6F2A975FEF18 /* RCTRootViewInternal.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = RCTRootViewInternal.h; sourceTree = ""; };
08E2D213323FFCFD15C0B0E8F2361194 /* SDWebImageWebPCoder-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "SDWebImageWebPCoder-dummy.m"; sourceTree = ""; };
- 090BF40DB8D1DD0EDCE7FECD8835C739 /* JSIDynamic.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = JSIDynamic.h; sourceTree = ""; };
- 0980E0EB44658497FCE83CC6C633FC4E /* BSG_KSCrashSentry_NSException.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = BSG_KSCrashSentry_NSException.m; sourceTree = ""; };
- 0998319985B28A5401F4330C67F232C2 /* RCTDatePicker.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = RCTDatePicker.h; sourceTree = ""; };
- 09B90D5F4FD4F51E51C2E03284994DCF /* UMInternalModule.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = UMInternalModule.h; sourceTree = ""; };
- 0A0722B86918E2EB1AD56085E7EFD3DA /* EXAV.podspec */ = {isa = PBXFileReference; explicitFileType = text.script.ruby; includeInIndex = 1; indentWidth = 2; lastKnownFileType = text; path = EXAV.podspec; sourceTree = ""; tabWidth = 2; xcLanguageSpecificationIdentifier = xcode.lang.ruby; };
- 0A0BF704FC489A289125787F4ACACC1D /* RCTFrameUpdate.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = RCTFrameUpdate.m; sourceTree = ""; };
- 0A2DF0F096E1683BBEB4CA95DE928829 /* BSG_KSCrashReportFields.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = BSG_KSCrashReportFields.h; sourceTree = ""; };
- 0A30E0A4D3AF51DF89CC31A94159E65F /* BSG_KSObjC.c */ = {isa = PBXFileReference; includeInIndex = 1; path = BSG_KSObjC.c; sourceTree = ""; };
+ 08EBDDFBF6D8AC3B97843C8C74F11867 /* UMMagnetometerUncalibratedInterface.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = UMMagnetometerUncalibratedInterface.h; path = UMSensorsInterface/UMMagnetometerUncalibratedInterface.h; sourceTree = ""; };
+ 095473B9971910CFCBA51012A4D036C4 /* RCTProgressViewManager.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = RCTProgressViewManager.m; sourceTree = ""; };
+ 096CCA033BF05DB3310F294E9F3682F0 /* RCTExceptionsManager.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = RCTExceptionsManager.m; sourceTree = ""; };
+ 0975975238A378E52CA88A3E8F3223AB /* RCTConvert+FFFastImage.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "RCTConvert+FFFastImage.h"; path = "ios/FastImage/RCTConvert+FFFastImage.h"; sourceTree = ""; };
+ 097CA428773A9286C47DC3A3529834D7 /* RCTUIUtils.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = RCTUIUtils.h; sourceTree = ""; };
+ 09A44295EFC00C4276D059BBAD4CBCAD /* RCTBridge.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = RCTBridge.m; sourceTree = ""; };
+ 09DDF83FF99389DBE1AF6EE0D5DA3E7F /* RNNotificationsStore.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = RNNotificationsStore.h; path = RNNotifications/RNNotificationsStore.h; sourceTree = ""; };
+ 09FF101CA342F5A9A706397F552FE54E /* React-RCTNetwork-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "React-RCTNetwork-dummy.m"; sourceTree = ""; };
+ 0A1036366CB06517BD42AC22F2C67D5A /* RCTModuleMethod.mm */ = {isa = PBXFileReference; includeInIndex = 1; path = RCTModuleMethod.mm; sourceTree = ""; };
0A3EC18BDD1D47457ADB26F2BB322211 /* FIRInstanceIDCheckinPreferences+Internal.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "FIRInstanceIDCheckinPreferences+Internal.h"; path = "Firebase/InstanceID/FIRInstanceIDCheckinPreferences+Internal.h"; sourceTree = ""; };
0A4522FB1F8D0C3F91298FE0A9881463 /* Crashlytics.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = Crashlytics.h; path = iOS/Crashlytics.framework/Headers/Crashlytics.h; sourceTree = ""; };
- 0A462E49A34EED30E6BFCB5282F1B9ED /* RCTTextDecorationLineType.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = RCTTextDecorationLineType.h; sourceTree = ""; };
+ 0A4742374F26DE0B132D1727254672A1 /* react-native-video.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "react-native-video.xcconfig"; sourceTree = ""; };
0A4FE3FA0CEDA12B91E1EE8CCFB152E2 /* RSKTouchView.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = RSKTouchView.m; path = RSKImageCropper/RSKTouchView.m; sourceTree = ""; };
0A53702271FB1509D4840C1B4AB3A5FC /* FIRInstanceIDTokenDeleteOperation.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = FIRInstanceIDTokenDeleteOperation.m; path = Firebase/InstanceID/FIRInstanceIDTokenDeleteOperation.m; sourceTree = ""; };
- 0A7438B21633DD8F148ADF11835A628E /* RCTUIManagerObserverCoordinator.mm */ = {isa = PBXFileReference; includeInIndex = 1; path = RCTUIManagerObserverCoordinator.mm; sourceTree = ""; };
- 0A760EC6505D6DA17180816BFA7F4189 /* BSG_KSCrashSentry_Signal.c */ = {isa = PBXFileReference; includeInIndex = 1; path = BSG_KSCrashSentry_Signal.c; sourceTree = ""; };
- 0A7B51351CE759813A758CBFE5FF7069 /* RCTAnimatedNode.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = RCTAnimatedNode.m; sourceTree = ""; };
- 0A7CCA87CF07F6A68F630F0657EEAC17 /* RCTExceptionsManager.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = RCTExceptionsManager.h; sourceTree = ""; };
- 0A832437A05777E5007D95E516A7C71E /* libReact-DevSupport.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; name = "libReact-DevSupport.a"; path = "libReact-DevSupport.a"; sourceTree = BUILT_PRODUCTS_DIR; };
+ 0A834CACDE2924D9E3A76B50C7C2E977 /* BSG_KSCrashC.c */ = {isa = PBXFileReference; includeInIndex = 1; path = BSG_KSCrashC.c; sourceTree = ""; };
+ 0A87348064667D36D3D821A821BEB237 /* README.md */ = {isa = PBXFileReference; includeInIndex = 1; path = README.md; sourceTree = ""; };
+ 0AB98A6CF77C153927CD6AFDBD0DE080 /* RCTPlatform.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = RCTPlatform.m; sourceTree = ""; };
0AC14772DD93D15E4C9D3AF8E7D8C01E /* NSButton+WebCache.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "NSButton+WebCache.h"; path = "SDWebImage/NSButton+WebCache.h"; sourceTree = ""; };
- 0B38159B0F782F444A69445BE357D6C6 /* RCTVideoPlayerViewController.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = RCTVideoPlayerViewController.h; path = ios/Video/RCTVideoPlayerViewController.h; sourceTree = ""; };
- 0B46C770F47AAA4190FC607E3763136A /* RNFetchBlob.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = RNFetchBlob.h; sourceTree = ""; };
- 0B5D43ABC0997C94B50E7B816F573FBC /* YGConfig.cpp */ = {isa = PBXFileReference; includeInIndex = 1; name = YGConfig.cpp; path = yoga/YGConfig.cpp; sourceTree = ""; };
+ 0B06B5828E644BDE6C4E2F2B362E24C5 /* EXHaptics.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = EXHaptics.xcconfig; sourceTree = ""; };
+ 0B2602E17DF55181EE987AF4452F8B43 /* React-jsiexecutor.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "React-jsiexecutor.xcconfig"; sourceTree = ""; };
+ 0B48F586A47B54565B584F59961DBDAD /* README.md */ = {isa = PBXFileReference; includeInIndex = 1; path = README.md; sourceTree = ""; };
+ 0B6BA6452ACEBB8EB0DE041BD9504846 /* EXPermissions.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = EXPermissions.h; path = EXPermissions/EXPermissions.h; sourceTree = ""; };
0B75298DD5C8A4211253F38FB8FA4852 /* random_utils.c */ = {isa = PBXFileReference; includeInIndex = 1; name = random_utils.c; path = src/utils/random_utils.c; sourceTree = ""; };
- 0B77D5EA14559425A7A4D310EB5BA270 /* EXConstants.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = EXConstants.h; path = EXConstants/EXConstants.h; sourceTree = ""; };
- 0B7DF94E338C982067268619C63F803B /* BugsnagKSCrashSysInfoParser.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = BugsnagKSCrashSysInfoParser.h; sourceTree = ""; };
- 0B975AC92D7AD19C613DE678FF394CDF /* BugsnagCrashReport.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = BugsnagCrashReport.h; sourceTree = ""; };
- 0BA56B205FAF04D1E74B750F49131653 /* RNNotificationCenterListener.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = RNNotificationCenterListener.m; path = RNNotifications/RNNotificationCenterListener.m; sourceTree = ""; };
- 0BA70ED8BA0D690557221F83E107DA7D /* RCTURLRequestDelegate.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = RCTURLRequestDelegate.h; sourceTree = ""; };
- 0BAC91D4A467464D9F9499CA58261D00 /* BugsnagConfiguration.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = BugsnagConfiguration.h; sourceTree = ""; };
- 0BBF1BC931BDCD62E84BFA2427107752 /* EXPermissions.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = EXPermissions.xcconfig; sourceTree = ""; };
+ 0B7645CD8B831D178E2AA224AAA2414E /* RNFirebaseNotifications.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = RNFirebaseNotifications.h; sourceTree = ""; };
+ 0B77610CA48ACFE259BBB22A1BC8C9D0 /* RCTSinglelineTextInputView.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = RCTSinglelineTextInputView.h; sourceTree = ""; };
0BD111835A9C97793AF12738AF33E20E /* FIRInstanceIDVersionUtilities.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = FIRInstanceIDVersionUtilities.m; path = Firebase/InstanceID/FIRInstanceIDVersionUtilities.m; sourceTree = ""; };
- 0C376D81EDD6874E787501D66637D4CC /* RCTNetworkTask.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = RCTNetworkTask.m; sourceTree = ""; };
0C6E12F7CB5E948250E6B38531AA6080 /* libwebp.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = libwebp.xcconfig; sourceTree = ""; };
- 0C738DCDB20EC5602FBC2E12145BC973 /* RNDeviceInfo.podspec */ = {isa = PBXFileReference; explicitFileType = text.script.ruby; includeInIndex = 1; indentWidth = 2; lastKnownFileType = text; path = RNDeviceInfo.podspec; sourceTree = ""; tabWidth = 2; xcLanguageSpecificationIdentifier = xcode.lang.ruby; };
- 0C96A1C189C7E4B0CC62DDBB2C9A665A /* RCTActivityIndicatorViewManager.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = RCTActivityIndicatorViewManager.m; sourceTree = ""; };
+ 0C97E39111DC2F599559CF5FA4C0EE55 /* BugsnagApiClient.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = BugsnagApiClient.m; sourceTree = ""; };
0CB89A12A4F0DFD400B1305B99074141 /* cost_mips_dsp_r2.c */ = {isa = PBXFileReference; includeInIndex = 1; name = cost_mips_dsp_r2.c; path = src/dsp/cost_mips_dsp_r2.c; sourceTree = ""; };
- 0CD8F06063C75340CAD402FF78DAD7F4 /* README.md */ = {isa = PBXFileReference; includeInIndex = 1; path = README.md; sourceTree = ""; };
- 0CDA6E09335EE674DAACB7922BC96C27 /* RCTWebSocketExecutor.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = RCTWebSocketExecutor.m; sourceTree = ""; };
0CDBE1A6EFE535E5424964F77E3BAC51 /* FIRInstanceIDTokenInfo.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = FIRInstanceIDTokenInfo.m; path = Firebase/InstanceID/FIRInstanceIDTokenInfo.m; sourceTree = ""; };
- 0D01D52530A4068CB3315A2CF3C72C2B /* RCTUITextView.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = RCTUITextView.m; sourceTree = ""; };
- 0D06266962CC036A3D03AB9DE0DA525D /* LICENSE */ = {isa = PBXFileReference; includeInIndex = 1; path = LICENSE; sourceTree = ""; };
0D1F11AC9F696CBE39BB075BA67E7ACA /* webp_dec.c */ = {isa = PBXFileReference; includeInIndex = 1; name = webp_dec.c; path = src/dec/webp_dec.c; sourceTree = ""; };
- 0D247592D526EC9F818D2D2DFC3B5F57 /* BugsnagSession.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = BugsnagSession.m; sourceTree = ""; };
+ 0D221D912F522A6CC12CE232BED67FFA /* RNFirebaseFirestore.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = RNFirebaseFirestore.h; sourceTree = ""; };
0D29723E132E50EDDE27A39DA7304A41 /* UIImage+Transform.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "UIImage+Transform.h"; path = "SDWebImage/UIImage+Transform.h"; sourceTree = ""; };
- 0D4A43EB3A03002921EC0DDABB341AAB /* Ionicons.ttf */ = {isa = PBXFileReference; includeInIndex = 1; name = Ionicons.ttf; path = Fonts/Ionicons.ttf; sourceTree = ""; };
- 0D61D303162B484D30E1D87FF148655D /* YGEnums.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = YGEnums.h; path = yoga/YGEnums.h; sourceTree = ""; };
- 0D854251945D6E31F88F4E401AC0FCDC /* RCTSubtractionAnimatedNode.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = RCTSubtractionAnimatedNode.h; sourceTree = ""; };
- 0D88516B5871C0B87E2AECA171C61798 /* RCTSRWebSocket.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = RCTSRWebSocket.m; sourceTree = ""; };
- 0D92C85B60EBDAF4172D0CF46B4B7037 /* MethodCall.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = MethodCall.h; sourceTree = ""; };
- 0DB9997E5CF5578BE878C8C9A484C286 /* RNNotificationUtils.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = RNNotificationUtils.h; path = RNNotifications/RNNotificationUtils.h; sourceTree = ""; };
+ 0D5187D202E518ECC9B811B70A08B6AB /* RNLongPressHandler.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = RNLongPressHandler.h; sourceTree = ""; };
+ 0D9427F40B73CDDE91DE21C8299B3958 /* Bugsnag.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = Bugsnag.h; sourceTree = ""; };
0DEFBD536795E197A039DD7957D2CB8C /* muxread.c */ = {isa = PBXFileReference; includeInIndex = 1; name = muxread.c; path = src/mux/muxread.c; sourceTree = ""; };
- 0E15945C5A83A053C79402A4FA82CC29 /* libPods-RocketChatRN.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; name = "libPods-RocketChatRN.a"; path = "libPods-RocketChatRN.a"; sourceTree = BUILT_PRODUCTS_DIR; };
- 0E4965EB1170C16B028C42811413E2B3 /* SimpleLineIcons.ttf */ = {isa = PBXFileReference; includeInIndex = 1; name = SimpleLineIcons.ttf; path = Fonts/SimpleLineIcons.ttf; sourceTree = ""; };
+ 0E1299C98B922F8D2850E33B0B033BAB /* RCTGIFImageDecoder.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = RCTGIFImageDecoder.h; sourceTree = ""; };
+ 0E3285C579D87A2CF7AA6E55019A7C02 /* UMTaskManagerInterface.podspec */ = {isa = PBXFileReference; explicitFileType = text.script.ruby; includeInIndex = 1; indentWidth = 2; lastKnownFileType = text; path = UMTaskManagerInterface.podspec; sourceTree = ""; tabWidth = 2; xcLanguageSpecificationIdentifier = xcode.lang.ruby; };
+ 0E57413D4D7A3CD3968FAC6840880FAE /* Entypo.ttf */ = {isa = PBXFileReference; includeInIndex = 1; name = Entypo.ttf; path = Fonts/Entypo.ttf; sourceTree = ""; };
0E5858952BC255E4AF38438449DD6844 /* UIApplication+RSKImageCropper.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "UIApplication+RSKImageCropper.m"; path = "RSKImageCropper/UIApplication+RSKImageCropper.m"; sourceTree = ""; };
- 0E7377F08C65EE14D02DC84FC5BEC170 /* RCTRootView.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = RCTRootView.m; sourceTree = ""; };
- 0E7D4CC1E56D24AF9CE8901FE24CBC73 /* BugsnagSessionTrackingApiClient.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = BugsnagSessionTrackingApiClient.m; sourceTree = ""; };
0E880EDDC0AC02E4087C0A1E4481702D /* fixed-dtoa.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "fixed-dtoa.h"; path = "double-conversion/fixed-dtoa.h"; sourceTree = ""; };
- 0EDF44CC898E9FA61016A7E197FEBB6C /* BugsnagApiClient.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = BugsnagApiClient.m; sourceTree = ""; };
- 0F087B7A945B404DC558C4D0AF7CE10F /* EXPermissions.podspec */ = {isa = PBXFileReference; explicitFileType = text.script.ruby; includeInIndex = 1; indentWidth = 2; lastKnownFileType = text; path = EXPermissions.podspec; sourceTree = ""; tabWidth = 2; xcLanguageSpecificationIdentifier = xcode.lang.ruby; };
+ 0E95F3660373B5DB6722E021DB92AE88 /* EXCameraRollRequester.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = EXCameraRollRequester.m; path = EXPermissions/EXCameraRollRequester.m; sourceTree = ""; };
+ 0F0ADB698A8738D5F398FE557B7CC815 /* EXFileSystemLocalFileHandler.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = EXFileSystemLocalFileHandler.m; path = EXFileSystem/EXFileSystemLocalFileHandler.m; sourceTree = ""; };
0F1F974B1874639C7483968B8110E00F /* raw_logging.cc */ = {isa = PBXFileReference; includeInIndex = 1; name = raw_logging.cc; path = src/raw_logging.cc; sourceTree = ""; };
+ 0F2F7ED68AC558D60AFBA68AFB6964E6 /* RCTSurfacePresenterStub.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = RCTSurfacePresenterStub.h; sourceTree = ""; };
+ 0F4895C76F0EB2F0DF30DFBDA5DD3B4A /* RCTUITextView.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = RCTUITextView.h; sourceTree = ""; };
0F4B93578AA069779B05F89B28658330 /* SDWebImageDefine.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDWebImageDefine.h; path = SDWebImage/SDWebImageDefine.h; sourceTree = ""; };
- 0F4DC731313625551CE90E5651B540F4 /* EXAppLoaderProvider.podspec */ = {isa = PBXFileReference; explicitFileType = text.script.ruby; includeInIndex = 1; indentWidth = 2; lastKnownFileType = text; path = EXAppLoaderProvider.podspec; sourceTree = ""; tabWidth = 2; xcLanguageSpecificationIdentifier = xcode.lang.ruby; };
- 0F6A0413293BD8E8C842FA139EBFFA9B /* AudioRecorderManager.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = AudioRecorderManager.h; path = ios/AudioRecorderManager.h; sourceTree = ""; };
0F7C61521E4CC5845149596CB891EE2E /* filters_neon.c */ = {isa = PBXFileReference; includeInIndex = 1; name = filters_neon.c; path = src/dsp/filters_neon.c; sourceTree = ""; };
0FCBA7337BE187DED3B02D3C789BB5F0 /* FIRConfiguration.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = FIRConfiguration.h; path = Firebase/Core/Public/FIRConfiguration.h; sourceTree = ""; };
+ 0FD6B3AAE53E7D7C50E5EE4F8DB6D5D2 /* RCTSafeAreaView.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = RCTSafeAreaView.h; sourceTree = ""; };
0FD94AA2BB35EB3D20F5535BA7FA60B9 /* FIRInstanceIDStringEncoding.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = FIRInstanceIDStringEncoding.h; path = Firebase/InstanceID/FIRInstanceIDStringEncoding.h; sourceTree = ""; };
- 0FF4BAD8E58733CB989E164AB47DF05B /* RCTBlobCollector.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = RCTBlobCollector.h; sourceTree = ""; };
- 0FF4ED78F838186D1D8D0C0DD7F7BA5C /* RCTInputAccessoryShadowView.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = RCTInputAccessoryShadowView.m; sourceTree = ""; };
- 100566FA3AC54BE16764623D40E66B9F /* libRNUserDefaults.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; name = libRNUserDefaults.a; path = libRNUserDefaults.a; sourceTree = BUILT_PRODUCTS_DIR; };
- 10193557A513A272CACB11137050EC4A /* libReact-RCTBlob.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; name = "libReact-RCTBlob.a"; path = "libReact-RCTBlob.a"; sourceTree = BUILT_PRODUCTS_DIR; };
102DEE46CCA70F58A11FF260439D2AE8 /* DoubleConversion-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "DoubleConversion-prefix.pch"; sourceTree = ""; };
- 104EAFF41818538322166BB34E553E4A /* RecoverableError.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = RecoverableError.h; sourceTree = ""; };
- 108B0818DA7127A51CC75E76466FAC33 /* libRNVectorIcons.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; name = libRNVectorIcons.a; path = libRNVectorIcons.a; sourceTree = BUILT_PRODUCTS_DIR; };
+ 10A40FA3E0B7EE6712058A91D4CBD338 /* React-Core-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "React-Core-dummy.m"; sourceTree = ""; };
10AA951FD7F3547E3E7F4EA247DEE5F3 /* cached-powers.cc */ = {isa = PBXFileReference; includeInIndex = 1; name = "cached-powers.cc"; path = "double-conversion/cached-powers.cc"; sourceTree = ""; };
- 10C5743D19534B63A7CBBB66D5A6F69D /* RCTKeyboardObserver.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = RCTKeyboardObserver.h; sourceTree = ""; };
- 10CAFE8BED4E5FC21B6D963D96544129 /* RCTScrollViewManager.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = RCTScrollViewManager.m; sourceTree = ""; };
- 1153F6D56A0192451259BDD4CC513399 /* EXVideoPlayerViewController.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = EXVideoPlayerViewController.m; sourceTree = ""; };
- 115EB12D47765414E66CED74AE9A3B7E /* UMBarCodeScannerInterface.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = UMBarCodeScannerInterface.xcconfig; sourceTree = ""; };
- 119F27FC1F230ED18E36471C4FB41B5A /* UMViewManager.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = UMViewManager.h; path = UMCore/UMViewManager.h; sourceTree = ""; };
- 11D3AE45AF74D92516B9FF30C83F03D6 /* fishhook.c */ = {isa = PBXFileReference; includeInIndex = 1; path = fishhook.c; sourceTree = ""; };
- 11E9FAC0A0A931D160724D4E2A47A9D8 /* RCTSafeAreaViewLocalData.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = RCTSafeAreaViewLocalData.h; sourceTree = ""; };
- 120488CFE6CA354BA83547067DD827C6 /* RCTSourceCode.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = RCTSourceCode.m; sourceTree = ""; };
- 120FDF2AF81F8A4351770176FDD5A27E /* RCTVersion.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = RCTVersion.m; sourceTree = ""; };
+ 10D2A9B6383D0B7A9F26A12C942FC59A /* RNSScreen.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = RNSScreen.h; path = ios/RNSScreen.h; sourceTree = ""; };
+ 10E545A4E70C83A023D5C83F06DCE1B8 /* RCTShadowView+Layout.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "RCTShadowView+Layout.m"; sourceTree = ""; };
+ 10E609A77F227B62FFDFA57C6705210B /* RCTRawTextShadowView.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = RCTRawTextShadowView.m; sourceTree = ""; };
+ 112168C474C30D484932940D40B62C17 /* EXAppLoaderProvider.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = EXAppLoaderProvider.h; path = EXAppLoaderProvider/EXAppLoaderProvider.h; sourceTree = ""; };
+ 1168D83AED03C26F69466043EC6F1925 /* RCTConvert+CoreLocation.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "RCTConvert+CoreLocation.m"; sourceTree = ""; };
+ 11A46F3A5438367232572C3302A04A4E /* react-native-document-picker-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "react-native-document-picker-dummy.m"; sourceTree = ""; };
+ 11D946C274CFB436D2B6BC5F22F9F3D7 /* RNFirebaseDatabase.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = RNFirebaseDatabase.m; sourceTree = ""; };
121B837DA2AB6469E94FA460AC72DAAC /* ja.lproj */ = {isa = PBXFileReference; includeInIndex = 1; name = ja.lproj; path = QBImagePicker/ja.lproj; sourceTree = ""; };
- 121E1E6643CF4D7D3EADD5FA5B7FD724 /* react-native-webview-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "react-native-webview-dummy.m"; sourceTree = ""; };
- 1261984CFE9839F7E464A29300A2A7A0 /* EvilIcons.ttf */ = {isa = PBXFileReference; includeInIndex = 1; name = EvilIcons.ttf; path = Fonts/EvilIcons.ttf; sourceTree = ""; };
127435DBC940400B5D902F84731A68A7 /* yuv_sse2.c */ = {isa = PBXFileReference; includeInIndex = 1; name = yuv_sse2.c; path = src/dsp/yuv_sse2.c; sourceTree = ""; };
12B6FE955DAFF4C7DBAEF58F2ADF4CE9 /* FIRInstanceIDCheckinStore.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = FIRInstanceIDCheckinStore.m; path = Firebase/InstanceID/FIRInstanceIDCheckinStore.m; sourceTree = ""; };
+ 12C28A6A684A7ADA14C7E489DE47A436 /* RNSScreenContainer.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = RNSScreenContainer.m; path = ios/RNSScreenContainer.m; sourceTree = ""; };
+ 12D55F3902ACF517971541292DAEE91B /* RNGestureHandlerDirection.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = RNGestureHandlerDirection.h; path = ios/RNGestureHandlerDirection.h; sourceTree = ""; };
12F9D5ADBA42BFAEFC1CF9EB1CE0A335 /* SDWeakProxy.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDWeakProxy.h; path = SDWebImage/Private/SDWeakProxy.h; sourceTree = ""; };
+ 130DBF2E1A4299CBCFDD360D58940D72 /* RCTComponent.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = RCTComponent.h; sourceTree = ""; };
133D81C69EE4A8C014E0D2D3D6ADBDC6 /* Pods-RocketChatRN-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "Pods-RocketChatRN-dummy.m"; sourceTree = "